summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/Changelog.txt1278
-rw-r--r--npc/airports/airships.txt439
-rw-r--r--npc/airports/einbroch.txt97
-rw-r--r--npc/airports/lighthalzen.txt96
-rw-r--r--npc/airports/yuno.txt96
-rw-r--r--npc/cities/alberta.txt861
-rw-r--r--npc/cities/aldebaran.txt1545
-rw-r--r--npc/cities/amatsu.txt1475
-rw-r--r--npc/cities/ayothaya.txt1781
-rw-r--r--npc/cities/comodo.txt1391
-rw-r--r--npc/cities/einbech.txt1491
-rw-r--r--npc/cities/einbroch.txt1513
-rw-r--r--npc/cities/geffen.txt678
-rw-r--r--npc/cities/gonryun.txt319
-rw-r--r--npc/cities/hugel.txt39
-rw-r--r--npc/cities/izlude.txt613
-rw-r--r--npc/cities/jawaii.txt771
-rw-r--r--npc/cities/louyang.txt1728
-rw-r--r--npc/cities/lutie.txt962
-rw-r--r--npc/cities/morocc.txt468
-rw-r--r--npc/cities/niflheim.txt559
-rw-r--r--npc/cities/payon.txt1017
-rw-r--r--npc/cities/prontera.txt715
-rw-r--r--npc/cities/umbala.txt1677
-rw-r--r--npc/cities/valkyrie.txt527
-rw-r--r--npc/cities/yuno.txt607
-rw-r--r--npc/custom/2-2shop.txt1
-rw-r--r--npc/custom/Auctioneer.txt563
-rw-r--r--npc/custom/Lance/FR_HallOfFame.c297
-rw-r--r--npc/custom/Lance/FR_MailSystem.c118
-rw-r--r--npc/custom/Lance/FR_WeatherController.c403
-rw-r--r--npc/custom/MVP_arena/amvp_func.txt101
-rw-r--r--npc/custom/MVP_arena/arena_mvp.txt791
-rw-r--r--npc/custom/WoE_Setter.txt187
-rw-r--r--npc/custom/adoption.txt502
-rw-r--r--npc/custom/airplane.txt436
-rw-r--r--npc/custom/banks/bank.txt126
-rw-r--r--npc/custom/banks/kafra_bank.txt116
-rw-r--r--npc/custom/blackjack.txt349
-rw-r--r--npc/custom/breeder.txt87
-rw-r--r--npc/custom/card_remover.txt175
-rw-r--r--npc/custom/devnpc.txt508
-rw-r--r--npc/custom/dye.txt176
-rw-r--r--npc/custom/eliza.txt702
-rw-r--r--npc/custom/gefenia.txt34
-rw-r--r--npc/custom/healers/heal.txt52
-rw-r--r--npc/custom/healers/heal_payment.txt105
-rw-r--r--npc/custom/jobs/jobmaster.txt499
-rw-r--r--npc/custom/jobs/old/jobchange.txt734
-rw-r--r--npc/custom/jobs/reset.txt40
-rw-r--r--npc/custom/lottery.txt457
-rw-r--r--npc/custom/morroc_raceway.txt245
-rw-r--r--npc/custom/mvm.txt895
-rw-r--r--npc/custom/penal_servitude.txt182
-rw-r--r--npc/custom/platinum_skills.txt112
-rw-r--r--npc/custom/poetry/ayothaya.txt724
-rw-r--r--npc/custom/quests/bandit_beard.txt234
-rw-r--r--npc/custom/quests/berzebub.txt74
-rw-r--r--npc/custom/quests/dead_branch.txt105
-rw-r--r--npc/custom/quests/elvenear.txt67
-rw-r--r--npc/custom/quests/event_6_new_hats.txt372
-rw-r--r--npc/custom/quests/fashion.txt67
-rw-r--r--npc/custom/quests/ironcane.txt49
-rw-r--r--npc/custom/quests/kaho_balmung.txt76
-rw-r--r--npc/custom/quests/kahohorn.txt84
-rw-r--r--npc/custom/quests/magicalhatquest.txt57
-rw-r--r--npc/custom/quests/sunglasses.txt144
-rw-r--r--npc/custom/quests/tha_statues.txt260
-rw-r--r--npc/custom/quests/thq/THQS_ChatingNPC.txt103
-rw-r--r--npc/custom/quests/thq/THQS_GuildNPC.txt95
-rw-r--r--npc/custom/quests/thq/THQS_QuestNPC.txt560
-rw-r--r--npc/custom/quests/thq/THQS_Quests.txt1050
-rw-r--r--npc/custom/quests/thq/THQS_TTShop.txt523
-rw-r--r--npc/custom/quests/valhallen.txt198
-rw-r--r--npc/custom/rpsroulette.txt286
-rw-r--r--npc/custom/shifty_assassin.txt208
-rw-r--r--npc/custom/sign_your_items.txt215
-rw-r--r--npc/custom/stock_market.txt793
-rw-r--r--npc/custom/tougijou.txt343
-rw-r--r--npc/custom/warper/warper.txt137
-rw-r--r--npc/eamobs/citycleaners.txt34
-rw-r--r--npc/eamobs/dungeons/abyss.txt41
-rw-r--r--npc/eamobs/dungeons/amatdun.txt39
-rw-r--r--npc/eamobs/dungeons/anthell.txt119
-rw-r--r--npc/eamobs/dungeons/ayodun.txt24
-rw-r--r--npc/eamobs/dungeons/beachdun.txt37
-rw-r--r--npc/eamobs/dungeons/byalan.txt110
-rw-r--r--npc/eamobs/dungeons/clocktower.txt156
-rw-r--r--npc/eamobs/dungeons/coalmine.txt37
-rw-r--r--npc/eamobs/dungeons/eindun.txt32
-rw-r--r--npc/eamobs/dungeons/gefenia.txt133
-rw-r--r--npc/eamobs/dungeons/geftower.txt88
-rw-r--r--npc/eamobs/dungeons/glastheim.txt271
-rw-r--r--npc/eamobs/dungeons/gondun.txt40
-rw-r--r--npc/eamobs/dungeons/guilddun.txt47
-rw-r--r--npc/eamobs/dungeons/jupedun.txt44
-rw-r--r--npc/eamobs/dungeons/kiel.txt33
-rw-r--r--npc/eamobs/dungeons/lhzdun.txt83
-rw-r--r--npc/eamobs/dungeons/louydun.txt37
-rw-r--r--npc/eamobs/dungeons/magmadun.txt30
-rw-r--r--npc/eamobs/dungeons/moc_pyramid.txt62
-rw-r--r--npc/eamobs/dungeons/moc_sphinx.txt60
-rw-r--r--npc/eamobs/dungeons/orcdun.txt39
-rw-r--r--npc/eamobs/dungeons/payoncave.txt157
-rw-r--r--npc/eamobs/dungeons/pront_maze.txt92
-rw-r--r--npc/eamobs/dungeons/pront_sewers.txt48
-rw-r--r--npc/eamobs/dungeons/sunkenship.txt152
-rw-r--r--npc/eamobs/dungeons/thanatos.txt137
-rw-r--r--npc/eamobs/dungeons/toyfactory.txt33
-rw-r--r--npc/eamobs/dungeons/turtleisland.txt67
-rw-r--r--npc/eamobs/dungeons/umbaladun.txt47
-rw-r--r--npc/eamobs/dungeons/yggdrasil.txt32
-rw-r--r--npc/eamobs/fields/amatsu.txt39
-rw-r--r--npc/eamobs/fields/ayothaya.txt25
-rw-r--r--npc/eamobs/fields/comodo.txt169
-rw-r--r--npc/eamobs/fields/einbroch.txt148
-rw-r--r--npc/eamobs/fields/geffen.txt210
-rw-r--r--npc/eamobs/fields/gonryun.txt21
-rw-r--r--npc/eamobs/fields/hugel.txt108
-rw-r--r--npc/eamobs/fields/jawaii.txt23
-rw-r--r--npc/eamobs/fields/lighthalzen.txt55
-rw-r--r--npc/eamobs/fields/louyang.txt21
-rw-r--r--npc/eamobs/fields/lutie.txt19
-rw-r--r--npc/eamobs/fields/mjolnir.txt239
-rw-r--r--npc/eamobs/fields/morocc.txt278
-rw-r--r--npc/eamobs/fields/niflheim.txt48
-rw-r--r--npc/eamobs/fields/odin.txt54
-rw-r--r--npc/eamobs/fields/payon.txt141
-rw-r--r--npc/eamobs/fields/prontera.txt126
-rw-r--r--npc/eamobs/fields/umbala.txt88
-rw-r--r--npc/eamobs/fields/yuno.txt180
-rw-r--r--npc/eamobs/pvp.txt31
-rw-r--r--npc/events/alchemist.txt166
-rw-r--r--npc/events/custom/2006_dogs_year.txt95
-rw-r--r--npc/events/custom/draculax.txt130
-rw-r--r--npc/events/custom/event_gefenia.txt57
-rw-r--r--npc/events/custom/uneasy_cemetery.txt133
-rw-r--r--npc/events/custom/xmas_rings_event.txt193
-rw-r--r--npc/events/dumplingfestival.txt115
-rw-r--r--npc/events/easter.txt203
-rw-r--r--npc/events/twintowers.txt93
-rw-r--r--npc/events/valentinesday.txt140
-rw-r--r--npc/events/whiteday.txt128
-rw-r--r--npc/events/xmas.txt368
-rw-r--r--npc/events/zondaman.txt50
-rw-r--r--npc/guides/guides_alb.txt155
-rw-r--r--npc/guides/guides_alde.txt58
-rw-r--r--npc/guides/guides_com.txt108
-rw-r--r--npc/guides/guides_einbe.txt164
-rw-r--r--npc/guides/guides_einbr.txt221
-rw-r--r--npc/guides/guides_gef.txt129
-rw-r--r--npc/guides/guides_izl.txt156
-rw-r--r--npc/guides/guides_mor.txt116
-rw-r--r--npc/guides/guides_nif.txt83
-rw-r--r--npc/guides/guides_pay.txt300
-rw-r--r--npc/guides/guides_pron.txt272
-rw-r--r--npc/guides/guides_umb.txt98
-rw-r--r--npc/guides/guides_yun.txt216
-rw-r--r--npc/guild/aldeg/aldeg_dunsw.txt51
-rw-r--r--npc/guild/aldeg/aldeg_ev_agit.txt146
-rw-r--r--npc/guild/aldeg/aldeg_flags.txt243
-rw-r--r--npc/guild/aldeg/aldeg_guardians.txt111
-rw-r--r--npc/guild/aldeg/aldeg_kafras.txt61
-rw-r--r--npc/guild/aldeg/aldeg_managers.txt110
-rw-r--r--npc/guild/aldeg/aldeg_treas.txt131
-rw-r--r--npc/guild/ev_agit_event.txt137
-rw-r--r--npc/guild/gefg/gefg_dunsw.txt49
-rw-r--r--npc/guild/gefg/gefg_ev_agit.txt146
-rw-r--r--npc/guild/gefg/gefg_flags.txt192
-rw-r--r--npc/guild/gefg/gefg_guardians.txt108
-rw-r--r--npc/guild/gefg/gefg_kafras.txt66
-rw-r--r--npc/guild/gefg/gefg_managers.txt104
-rw-r--r--npc/guild/gefg/gefg_treas.txt138
-rw-r--r--npc/guild/gldfunc_dunsw.txt47
-rw-r--r--npc/guild/gldfunc_ev_agit.txt159
-rw-r--r--npc/guild/gldfunc_flag.txt61
-rw-r--r--npc/guild/gldfunc_kafra.txt38
-rw-r--r--npc/guild/gldfunc_manager.txt421
-rw-r--r--npc/guild/gldfunc_treasure.txt112
-rw-r--r--npc/guild/nguild/nguild_dunsw.txt38
-rw-r--r--npc/guild/nguild/nguild_ev_agit.txt119
-rw-r--r--npc/guild/nguild/nguild_flags.txt146
-rw-r--r--npc/guild/nguild/nguild_guardians.txt89
-rw-r--r--npc/guild/nguild/nguild_kafras.txt53
-rw-r--r--npc/guild/nguild/nguild_managers.txt85
-rw-r--r--npc/guild/nguild/nguild_treas.txt108
-rw-r--r--npc/guild/nguild/nguild_warper.txt62
-rw-r--r--npc/guild/payg/payg_dunsw.txt49
-rw-r--r--npc/guild/payg/payg_ev_agit.txt146
-rw-r--r--npc/guild/payg/payg_flags.txt186
-rw-r--r--npc/guild/payg/payg_guardians.txt108
-rw-r--r--npc/guild/payg/payg_kafras.txt65
-rw-r--r--npc/guild/payg/payg_managers.txt104
-rw-r--r--npc/guild/payg/payg_treas.txt130
-rw-r--r--npc/guild/prtg/prtg_dunsw.txt49
-rw-r--r--npc/guild/prtg/prtg_ev_agit.txt146
-rw-r--r--npc/guild/prtg/prtg_flags.txt207
-rw-r--r--npc/guild/prtg/prtg_guardians.txt108
-rw-r--r--npc/guild/prtg/prtg_kafras.txt66
-rw-r--r--npc/guild/prtg/prtg_managers.txt104
-rw-r--r--npc/guild/prtg/prtg_treas.txt134
-rw-r--r--npc/jobs/1-1/acolyte.txt322
-rw-r--r--npc/jobs/1-1/archer.txt162
-rw-r--r--npc/jobs/1-1/mage.txt469
-rw-r--r--npc/jobs/1-1/merchant.txt940
-rw-r--r--npc/jobs/1-1/swordman.txt779
-rw-r--r--npc/jobs/1-1/thief.txt424
-rw-r--r--npc/jobs/1-1e/taekwon.txt71
-rw-r--r--npc/jobs/2-1/assassin.txt1870
-rw-r--r--npc/jobs/2-1/blacksmith.txt1482
-rw-r--r--npc/jobs/2-1/hunter.txt1199
-rw-r--r--npc/jobs/2-1/knight.txt1828
-rw-r--r--npc/jobs/2-1/priest.txt1330
-rw-r--r--npc/jobs/2-1/wizard.txt1415
-rw-r--r--npc/jobs/2-1a/AssassinCross.txt19
-rw-r--r--npc/jobs/2-1a/HighPriest.txt19
-rw-r--r--npc/jobs/2-1a/HighWizard.txt19
-rw-r--r--npc/jobs/2-1a/LordKnight.txt19
-rw-r--r--npc/jobs/2-1a/Sniper.txt19
-rw-r--r--npc/jobs/2-1a/WhiteSmith.txt19
-rw-r--r--npc/jobs/2-1e/StarGladiator.txt56
-rw-r--r--npc/jobs/2-2/alchemist.txt1080
-rw-r--r--npc/jobs/2-2/bard.txt476
-rw-r--r--npc/jobs/2-2/crusader.txt1184
-rw-r--r--npc/jobs/2-2/dancer.txt1040
-rw-r--r--npc/jobs/2-2/monk.txt1916
-rw-r--r--npc/jobs/2-2/rogue.txt758
-rw-r--r--npc/jobs/2-2/sage.txt2180
-rw-r--r--npc/jobs/2-2a/Champion.txt19
-rw-r--r--npc/jobs/2-2a/Clown.txt19
-rw-r--r--npc/jobs/2-2a/Creator.txt19
-rw-r--r--npc/jobs/2-2a/Gypsy.txt19
-rw-r--r--npc/jobs/2-2a/Paladin.txt19
-rw-r--r--npc/jobs/2-2a/Professor.txt19
-rw-r--r--npc/jobs/2-2a/Stalker.txt19
-rw-r--r--npc/jobs/2-2e/SoulLinker.txt56
-rw-r--r--npc/jobs/Jfunc/Jfunc1-1.txt248
-rw-r--r--npc/jobs/Jfunc/Jfunc2-1.txt385
-rw-r--r--npc/jobs/Jfunc/Jfunc2-2.txt236
-rw-r--r--npc/jobs/novice/NEWnovice.txt1621
-rw-r--r--npc/jobs/novice/OLDnovice.txt2339
-rw-r--r--npc/jobs/novice/novice.txt3503
-rw-r--r--npc/jobs/novice/supernovice.txt279
-rw-r--r--npc/kafras/functions_kafras.txt393
-rw-r--r--npc/kafras/kafras_alb.txt67
-rw-r--r--npc/kafras/kafras_alde.txt52
-rw-r--r--npc/kafras/kafras_com.txt61
-rw-r--r--npc/kafras/kafras_dungeons.txt132
-rw-r--r--npc/kafras/kafras_gef.txt101
-rw-r--r--npc/kafras/kafras_izl.txt40
-rw-r--r--npc/kafras/kafras_mor.txt100
-rw-r--r--npc/kafras/kafras_new.txt142
-rw-r--r--npc/kafras/kafras_pay.txt71
-rw-r--r--npc/kafras/kafras_pron.txt103
-rw-r--r--npc/kafras/kafras_yun.txt71
-rw-r--r--npc/merchants/alchemist.txt129
-rw-r--r--npc/merchants/clothes_dyer.txt379
-rw-r--r--npc/merchants/dye_maker.txt277
-rw-r--r--npc/merchants/grandpa_pharmacist.txt162
-rw-r--r--npc/merchants/hair_dyer.txt158
-rw-r--r--npc/merchants/hair_style.txt2015
-rw-r--r--npc/merchants/icecream.txt61
-rw-r--r--npc/merchants/inn.txt172
-rw-r--r--npc/merchants/milk_trader.txt61
-rw-r--r--npc/merchants/quivers.txt147
-rw-r--r--npc/merchants/refine.txt925
-rw-r--r--npc/merchants/renters.txt182
-rw-r--r--npc/merchants/scrolls_arrows.txt38
-rw-r--r--npc/merchants/shops.txt309
-rw-r--r--npc/omobs/citycleaners.txt34
-rw-r--r--npc/omobs/dungeons/abyss.txt41
-rw-r--r--npc/omobs/dungeons/amatdun.txt39
-rw-r--r--npc/omobs/dungeons/anthell.txt119
-rw-r--r--npc/omobs/dungeons/ayodun.txt24
-rw-r--r--npc/omobs/dungeons/beachdun.txt37
-rw-r--r--npc/omobs/dungeons/byalan.txt110
-rw-r--r--npc/omobs/dungeons/clocktower.txt148
-rw-r--r--npc/omobs/dungeons/coalmine.txt33
-rw-r--r--npc/omobs/dungeons/eindun.txt32
-rw-r--r--npc/omobs/dungeons/gefenia.txt133
-rw-r--r--npc/omobs/dungeons/geftower.txt81
-rw-r--r--npc/omobs/dungeons/glastheim.txt212
-rw-r--r--npc/omobs/dungeons/gondun.txt40
-rw-r--r--npc/omobs/dungeons/guilddun.txt47
-rw-r--r--npc/omobs/dungeons/jupedun.txt44
-rw-r--r--npc/omobs/dungeons/kiel.txt33
-rw-r--r--npc/omobs/dungeons/lhzdun.txt83
-rw-r--r--npc/omobs/dungeons/louydun.txt37
-rw-r--r--npc/omobs/dungeons/magmadun.txt30
-rw-r--r--npc/omobs/dungeons/moc_pyramid.txt57
-rw-r--r--npc/omobs/dungeons/moc_sphinx.txt49
-rw-r--r--npc/omobs/dungeons/orcdun.txt39
-rw-r--r--npc/omobs/dungeons/payoncave.txt157
-rw-r--r--npc/omobs/dungeons/pront_maze.txt92
-rw-r--r--npc/omobs/dungeons/pront_sewers.txt48
-rw-r--r--npc/omobs/dungeons/sunkenship.txt152
-rw-r--r--npc/omobs/dungeons/thanatos.txt137
-rw-r--r--npc/omobs/dungeons/toyfactory.txt33
-rw-r--r--npc/omobs/dungeons/turtleisland.txt67
-rw-r--r--npc/omobs/dungeons/umbaladun.txt60
-rw-r--r--npc/omobs/dungeons/yggdrasil.txt32
-rw-r--r--npc/omobs/fields/amatsu.txt39
-rw-r--r--npc/omobs/fields/ayothaya.txt25
-rw-r--r--npc/omobs/fields/comodo.txt169
-rw-r--r--npc/omobs/fields/einbroch.txt148
-rw-r--r--npc/omobs/fields/geffen.txt211
-rw-r--r--npc/omobs/fields/gonryun.txt21
-rw-r--r--npc/omobs/fields/hugel.txt108
-rw-r--r--npc/omobs/fields/jawaii.txt23
-rw-r--r--npc/omobs/fields/lighthalzen.txt55
-rw-r--r--npc/omobs/fields/louyang.txt31
-rw-r--r--npc/omobs/fields/lutie.txt19
-rw-r--r--npc/omobs/fields/mjolnir.txt239
-rw-r--r--npc/omobs/fields/morocc.txt278
-rw-r--r--npc/omobs/fields/niflheim.txt48
-rw-r--r--npc/omobs/fields/odin.txt54
-rw-r--r--npc/omobs/fields/payon.txt141
-rw-r--r--npc/omobs/fields/prontera.txt126
-rw-r--r--npc/omobs/fields/umbala.txt88
-rw-r--r--npc/omobs/fields/yuno.txt180
-rw-r--r--npc/omobs/pvp.txt31
-rw-r--r--npc/other/Global_Functions.txt381
-rw-r--r--npc/other/arena.txt568
-rw-r--r--npc/other/books.txt2292
-rw-r--r--npc/other/bulletin_boards.txt615
-rw-r--r--npc/other/marriage.txt847
-rw-r--r--npc/other/momotaro.txt447
-rw-r--r--npc/other/monster_museum.txt588
-rw-r--r--npc/other/msg_boards.txt140
-rw-r--r--npc/other/old/guide.txt1153
-rw-r--r--npc/other/old/kafra.txt1866
-rw-r--r--npc/other/old/pvp.txt1455
-rw-r--r--npc/other/old/wedding.txt715
-rw-r--r--npc/other/old/weddingtxt.txt277
-rw-r--r--npc/other/pvp.txt414
-rw-r--r--npc/quests/Lvl4_weapon_quest.txt3614
-rw-r--r--npc/quests/The_Sign_Quest(unfinished).txt2053
-rw-r--r--npc/quests/bongunsword.txt153
-rw-r--r--npc/quests/bunnyband.txt97
-rw-r--r--npc/quests/cooking_quest.txt600
-rw-r--r--npc/quests/counteragent_mixture.txt267
-rw-r--r--npc/quests/doomed_swords.txt682
-rw-r--r--npc/quests/juice_maker.txt306
-rw-r--r--npc/quests/monstertamers.txt439
-rw-r--r--npc/quests/mrsmile.txt92
-rw-r--r--npc/quests/newgears/arjen.txt149
-rw-r--r--npc/quests/newgears/back_ribbon.txt62
-rw-r--r--npc/quests/newgears/bear_hat.txt69
-rw-r--r--npc/quests/newgears/burning_blood_bandana.txt66
-rw-r--r--npc/quests/newgears/cat_hairband.txt74
-rw-r--r--npc/quests/newgears/fox_mask.txt56
-rw-r--r--npc/quests/newgears/hat_seller.txt144
-rw-r--r--npc/quests/newgears/indian_headband.txt58
-rw-r--r--npc/quests/newgears/mask_of_alarm.txt55
-rw-r--r--npc/quests/newgears/mushroom_hairband.txt59
-rw-r--r--npc/quests/newgears/neris.txt128
-rw-r--r--npc/quests/newgears/new_hats_0625.txt314
-rw-r--r--npc/quests/newgears/old_blacksmith.txt99
-rw-r--r--npc/quests/newgears/orc_hero_helm.txt123
-rw-r--r--npc/quests/newgears/posture_fix_hat.txt69
-rw-r--r--npc/quests/newgears/sea_otter_hat.txt56
-rw-r--r--npc/quests/newgears/traveler.txt132
-rw-r--r--npc/quests/newgears/tulip_hairpin.txt65
-rw-r--r--npc/quests/obb_quest.txt197
-rw-r--r--npc/quests/quests_alberta.txt673
-rw-r--r--npc/quests/quests_aldebaran.txt92
-rw-r--r--npc/quests/quests_ayothaya.txt320
-rw-r--r--npc/quests/quests_comodo.txt277
-rw-r--r--npc/quests/quests_geffen.txt183
-rw-r--r--npc/quests/quests_lighthalzen.txt214
-rw-r--r--npc/quests/quests_lutie.txt178
-rw-r--r--npc/quests/quests_morocc.txt123
-rw-r--r--npc/quests/quests_payon.txt292
-rw-r--r--npc/quests/quests_prontera.txt97
-rw-r--r--npc/quests/quests_umbala.txt354
-rw-r--r--npc/quests/quests_yuno.txt128
-rw-r--r--npc/quests/skills/2nd_class_skills.txt897
-rw-r--r--npc/quests/skills/acolyte_skills.txt127
-rw-r--r--npc/quests/skills/archer_skills.txt211
-rw-r--r--npc/quests/skills/mage_skills.txt116
-rw-r--r--npc/quests/skills/merchant_skills.txt304
-rw-r--r--npc/quests/skills/novice_skills.txt262
-rw-r--r--npc/quests/skills/swordman_skills.txt373
-rw-r--r--npc/quests/skills/thief_skills.txt386
-rw-r--r--npc/sample/PCLoginEvent.txt53
-rw-r--r--npc/sample/bank_test.txt58
-rw-r--r--npc/sample/basejob_baseclass_upper.txt7
-rw-r--r--npc/sample/delitem2.txt29
-rw-r--r--npc/sample/getequipcardid.txt34
-rw-r--r--npc/sample/getiteminfo.txt16
-rw-r--r--npc/sample/gstorage_test.txt33
-rw-r--r--npc/sample/npc_card_remover.txt197
-rw-r--r--npc/sample/npc_equip_sample.txt17
-rw-r--r--npc/sample/npc_extend_shop.txt60
-rw-r--r--npc/sample/npc_sample.txt457
-rw-r--r--npc/sample/npc_shop_test.txt31
-rw-r--r--npc/sample/npc_test_arena.txt104
-rw-r--r--npc/sample/npc_test_array.txt35
-rw-r--r--npc/sample/npc_test_chat.txt28
-rw-r--r--npc/sample/npc_test_ev.txt146
-rw-r--r--npc/sample/npc_test_func.txt27
-rw-r--r--npc/sample/npc_test_npctimer.txt33
-rw-r--r--npc/sample/npc_test_npctimer2.txt16
-rw-r--r--npc/sample/npc_test_skill.txt19
-rw-r--r--npc/sample/npc_test_str.txt17
-rw-r--r--npc/sample/npc_testchkoption.txt15
-rw-r--r--npc/sample/npc_time_sample.txt19
-rw-r--r--npc/scripts_athena.conf160
-rw-r--r--npc/scripts_custom.conf126
-rw-r--r--npc/scripts_eamonsters.conf70
-rw-r--r--npc/scripts_guild.conf67
-rw-r--r--npc/scripts_jobs.conf80
-rw-r--r--npc/scripts_main.conf49
-rw-r--r--npc/scripts_mapflags.conf39
-rw-r--r--npc/scripts_monsters.conf70
-rw-r--r--npc/scripts_warps.conf89
-rw-r--r--npc/warps/cities/alberta.txt58
-rw-r--r--npc/warps/cities/aldebaran.txt53
-rw-r--r--npc/warps/cities/amatsu.txt53
-rw-r--r--npc/warps/cities/ayothaya.txt93
-rw-r--r--npc/warps/cities/comodo.txt50
-rw-r--r--npc/warps/cities/einbech.txt47
-rw-r--r--npc/warps/cities/einbroch.txt103
-rw-r--r--npc/warps/cities/geffen.txt50
-rw-r--r--npc/warps/cities/gonryun.txt34
-rw-r--r--npc/warps/cities/hugel.txt99
-rw-r--r--npc/warps/cities/izlude.txt36
-rw-r--r--npc/warps/cities/lighthalzen.txt115
-rw-r--r--npc/warps/cities/louyang.txt51
-rw-r--r--npc/warps/cities/lutie.txt41
-rw-r--r--npc/warps/cities/morroc.txt107
-rw-r--r--npc/warps/cities/niflheim.txt47
-rw-r--r--npc/warps/cities/payon.txt138
-rw-r--r--npc/warps/cities/prontera.txt105
-rw-r--r--npc/warps/cities/umbala.txt44
-rw-r--r--npc/warps/cities/yggdrasil.txt23
-rw-r--r--npc/warps/cities/yuno.txt196
-rw-r--r--npc/warps/disabled_warps.txt45
-rw-r--r--npc/warps/dungeons/abyss.txt20
-rw-r--r--npc/warps/dungeons/alberta_duns.txt58
-rw-r--r--npc/warps/dungeons/alde_ct.txt226
-rw-r--r--npc/warps/dungeons/amatsu_dun.txt21
-rw-r--r--npc/warps/dungeons/ant_hell.txt27
-rw-r--r--npc/warps/dungeons/ayo_dun.txt21
-rw-r--r--npc/warps/dungeons/coal_mine.txt22
-rw-r--r--npc/warps/dungeons/com_dun.txt19
-rw-r--r--npc/warps/dungeons/ein_dun.txt19
-rw-r--r--npc/warps/dungeons/geffen_dun.txt46
-rw-r--r--npc/warps/dungeons/gon_dun.txt40
-rw-r--r--npc/warps/dungeons/izlude_dun.txt30
-rw-r--r--npc/warps/dungeons/juperos.txt138
-rw-r--r--npc/warps/dungeons/lhalzen_dun.txt75
-rw-r--r--npc/warps/dungeons/louyang_dun.txt20
-rw-r--r--npc/warps/dungeons/lutie_dun.txt18
-rw-r--r--npc/warps/dungeons/morroc_duns.txt63
-rw-r--r--npc/warps/dungeons/odin.txt68
-rw-r--r--npc/warps/dungeons/orc_dun.txt26
-rw-r--r--npc/warps/dungeons/payon_dun.txt38
-rw-r--r--npc/warps/dungeons/prt_dun.txt242
-rw-r--r--npc/warps/dungeons/thanatos.txt108
-rw-r--r--npc/warps/dungeons/umbala_dun.txt33
-rw-r--r--npc/warps/dungeons/yuno_dun.txt18
-rw-r--r--npc/warps/fields/abyss_warper.txt75
-rw-r--r--npc/warps/fields/amatsu_fild.txt22
-rw-r--r--npc/warps/fields/com_fild.txt53
-rw-r--r--npc/warps/fields/ein_fild.txt53
-rw-r--r--npc/warps/fields/gefenia.txt30
-rw-r--r--npc/warps/fields/geffen_fild.txt72
-rw-r--r--npc/warps/fields/glastheim.txt84
-rw-r--r--npc/warps/fields/hugel_fild.txt45
-rw-r--r--npc/warps/fields/jawaii.txt26
-rw-r--r--npc/warps/fields/lhalzen_fild.txt20
-rw-r--r--npc/warps/fields/lutie_fild.txt17
-rw-r--r--npc/warps/fields/morroc_fild.txt103
-rw-r--r--npc/warps/fields/mtmjolnir.txt61
-rw-r--r--npc/warps/fields/payon_fild.txt48
-rw-r--r--npc/warps/fields/prontera_fild.txt101
-rw-r--r--npc/warps/fields/umbala_fild.txt35
-rw-r--r--npc/warps/fields/yuno_fild.txt89
-rw-r--r--npc/warps/guild/guildcastles.txt488
-rw-r--r--npc/warps/other/airplane.txt74
-rw-r--r--npc/warps/other/jobquests.txt145
-rw-r--r--npc/warps/other/other.txt35
-rw-r--r--npc/warps/pvp/pvp.txt257
484 files changed, 127142 insertions, 0 deletions
diff --git a/npc/Changelog.txt b/npc/Changelog.txt
new file mode 100644
index 000000000..a1db087c2
--- /dev/null
+++ b/npc/Changelog.txt
@@ -0,0 +1,1278 @@
+Person Working On
+======
+Lupus
+ * Looking for exploits, optimization, bugs hunt
+ * Adding new cards, checking/adding mobs/items
+ * EXP quests for Blacksmith, Merchant, Alchemist
+ * Vassakh Ghoul global quest (custom) ^_-
+Mass Zero
+ * Fixing grammatical errors.
+ * Fixing small bugs.
+ * Adding small stuff.
+ * Redoing lots of the custom scripts.
+Massdriller
+ * Correcting & Bugfixing scripts
+ * New Novice Grounds from MRO - 65% -(Not sure it should be stopped as DracoRPG
+ did it, but intending to add it as an alternative novice quest)
+ * Gonryunn Quests - 0% - Botting on official Servers
+ * Artifacts of God (MRO GOD ITEM QUESTS) - 1% - resources only from MRO Official
+ guide book so, probably unofficial
+MasterOfMuppets
+ * Working on The Sign Quest atm.
+ * Updating Items / Scripts
+Nexon
+ * Adding in the new Abyss/Thanatos/Lighthalzen NPC's and optimizing them.
+
+== Changelog ==
+
+Date Added
+======
+
+01/28
+ * Fixed Warp to Abbys Lake. [Poki#3]
+ * Removed dup warps around Einbroch. [Poki#3]
+ * Fixed ein_fild04 -> ein_fild05 warp. THanks to Playtester [Poki#3]
+ * Re-wrote the Dye NCP (original, not the custom one) [Poki#3]
+ - I hope there aren't any bugs in it. The Jobs are sorted based on the file names
+ that the client reads.
+ * Fixed the Warper [Poki#3]
+ * Fixed Hugel warps (htere weren't any TABs) [Lupus]
+ * Added Event: Eastern New Year 2006 The Year Of The Fire Dog (28-29 January 2006) [Lupus]
+
+01/27
+ * Added birkiczd's Odin temple warps. Move the Saylor from hugel.txt there. [Poki#3]
+ * Rewrote Comodo Guides to use functions. Thanks to Daegaladh for pointing it out [Poki#3]
+ * Fixed Einbroch a bit... I think the Factory Quest should be moved from [Poki#3]
+ Einbroch.txt to quests_einbroch.txt...
+ * Added monster spawns for Kiel dungeon, they're commented out for now though. [MasterOfMuppets]
+ * Added a new global function "F_ItemName" to print expanded item name [Lupus]
+ such as '+9 VVS Wind Knife'
+ - You can use "F_RandMes" to pick a random number form list:
+ set @RandomItemIDfromList, callfunc("F_RandMes",4,1129,1222,1163,1357);
+01/26
+ * Uploaded Er_Maqui's fixes to Hugel Warps. [Poki#3]
+ * Updated the airship to take the route Hugel->Einbroch->Lighthalzen->Yuno [MasterOfMuppets]
+ I also fixed the colors in the broadcasts a bit.
+ * Fixed Bio Lab Spawns a bit and made them more moby. [Poki#3]
+ * 1.2 fixed hugel10 warp [Lupus]
+ * A small fix to the louyang shouting quest [MasterOfMuppets]
+ * Some Hugel warps fixes by Dr.Evil [Poki#3]
+ * Fixed cord of the Sailor in Hugel, thanks to Er_Maqui for pointing it out. [Poki#3]
+ * Applyed Blackthunder's fixes to rpsroulette.txt [Poki#3]
+ * Rewrote the Warpa. Still have to do the Level select thingy. [Poki#3]
+ * Fixed Juno > Yuno in Airship. [Poki#3]
+ * Fixed Shwaltzvalt > Schwarzwald in Kafras. [Poki#3]
+ * Changed sprite of the Einbech Kafra. [Poki#3]
+ * Disabled the "Entrance" to lhz_dun01. This should be only an Exit. This warp doesn't exist on kRO. [Poki#3]
+ * Added Lighthalzen Refiners (Custom names again ^^;) Official location and sprite. [Poki#3]
+ * Fixed some shops based on kRO shots. Lighthalzen NPC's, Prontera Food Seller, Payon shops. [Poki#3]
+ * Added some Hugel NPC's. Cords and Sprites are 100% Correct, but the names are not. [Poki#3]
+ Plus no one knows what the NPCs are talking right now :/
+ * Added Hugel Shops. [Poki#3]
+ * Removed the Custom Warper to Odin. Hugel has a more official one. [Poki#3]
+
+01/24
+ * Fixed Yuno Field 10. Mob amount sugested by Playtester, made by Poki#3 [Komurka]
+ - Moved some NPCs to Einbroch and Hugel - more info can be found here http://eathena.ws/board/index.php?showtopic=67631,
+ made by Poki#3
+
+01/23
+ * Minor Valkirie fixes, thanks to Xeronage [Lupus]
+ - Updated Novices Guild Castles Warper NPC
+01/21
+ * Added missing close to Einbroch script [Komurka]
+ * More of episode X.4 replacement, done by Poki#3 [Komurka]
+ * Added a missing warp from Jawaii Tawern to Jawaii thanks to Misao [Komurka]
+
+01/20
+ * Dr Evil's Yuno -> Yuno Field 05 warps update [Lupus]
+ * Fixed minor typo in alde guide. [Kayla]
+01/18
+ * Episode X.4 replacement, done by Poki#3 [Vicious]
+ * Part 1 of Hugel monster replacement, done by Poki#3 [Vicious]
+ * Added a temp warper to Odin's Temple by birkiczd [Lupus]
+ - fixed Payon <- Payon Field 08 warp coords
+01/16
+ * Corrected warp 'lhz013a' in Lighthalzen. Added a missing check and fixed a LOT of Engrish in the Monk Job Quest. [Zephiris]
+ * Corrected the warp to board the airship in Einbroch, and the warp inside the northwest building in Lighthalzen. [Zephiris]
+ * Updated Ayothaya Quest close to the official. Thanks to birkiczd
+ - Also optimized it again, remove unused global variable [Lupus]
+01/12
+ * Small fix in SL and SG quest [Komurka]
+01/11
+ * Fixed typos of Crusader JQ, added TK/SG/SL to custom/jobmaster thanks to Haplo [Lupus]
+ * Updated Valhalla a bit. Soon adding more elegant way of saving Quest Skills (including the new quest skills) [Lupus]
+01/09
+ * Fixed scripts that were reported in the forum. [Vicious]
+01/08
+ * Changed the name of Chung E to Green Maiden in the spawn files [MasterOfMuppets]
+ * Changed some Zherlthsh to Zealotus as it is in iRO [MasterOfMuppets]
+ * Added exp bonus to the factory quest in Einbroch, thanks to a [MasterOfMuppets]
+ Korean fansite
+01/07
+ * Updated warps, work done by SSUNNY@YOUNG in Korean eA site [Vicious]
+ * Disabled X-Mas Ring quest [Vicious]
+01/05
+ * Disabled X-Mas event [Vicious]
+ * Corrected the coordinates for the NPC "Neris" in yuno_in03 [Zephiris]
+ * Multiple tiny fixes that were going ignored on the forums... [Skotlex]
+01/02
+ * Removed a duplicate warp in warp/cities/payon.txt [MasterOfMuppets]
+12/31
+ * Added wand of hypnotist to the Lighthalzen weapon shop [MasterOfMuppets]
+12/30
+ * Fixed missing //, found by map_index. [Vicious]
+ * Added a missing label (M_0) that was causing people to freeze when viewing the city list from "Miss Yoon" [Zephiris]
+12/28
+ * Karachun Event: Readded Mdef +1 and Luk +1 to Santa's Hat [Lupus]
+ * Fixed juicer exploit due to typo (ipnut) o.O [Lance]
+12/27
+ * Added Soul Linker / Star Gladiator temp job quests. Accordingly updated Taekwon Job NPC [Lupus]
+12/26
+ * Removed duplicate job_hunter.gat mapflags, by Harbin [LuzZza]
+ * Changed remaining Dokkaebi Items into Dokebi, by Harbin, reported by Haplo [LuzZza]
+ * Changed Dokkaebi to Dokebi, by Harbin [Vicious]
+ * Updated Culvert Recruiter to allow novices to go to Culvert
+ & Al De turbo track warps by Harbin [Vicious]
+ * Added missing cutin's in Priest Quest [Komurka]
+12/23
+ * Small fix (Falcon Taming -> Falcon Mastery) [Komurka]
+ * Desert Wolf Babe -> Baby Desert Wolf (iRO), thx to Poki#3 [Komurka]
+12/22
+ * Added a Bartender NPC in morroc, thanks to Persian69 [Vicious]
+
+ * Fixed X-Hairpin ingredients, thx2 Komurka [Lupus]
+12/21
+ * Fixed Hugel warps, thanks to... ppl.. ^^; [Vicious]
+ * Fixed Ayothaya warps, thanks to Sir_Loon [Lupus]
+12/19
+ * Added Sara-chan's corrections to Hugel warps. [Valaris]
+ * Added Garden City Hugel city and field maps and warps (thanks to Sara-chan ^_^) [Valaris]
+ * Added a custom event/quest 'Karachun' (for magic Christmas rings) [Lupus]
+12/17
+ * Fixed more Monsters Museum typos, thx 2Haplo. Also fixed some monsters names [Lupus]
+12/16
+ * Updated Chef Hat quest items Feather 300->330. Thanks to Ishizu-chan [Lupus]
+ * Reversed custom Wizard Hat quest due to Treasure Box drop changes [Lupus]
+ * Updated exploitable custom quest for Berzebub Card [Lupus]
+12/15
+ * Added kobold leader to geffen feild 12 in eamobs and omobs. [Kayla]
+12/14
+ * Updated wedding costs to offical values (600k for groom, 500k for bride). Deleted
+ npc/other/wedding.txt (very old). Enabled marriage.txt by default. [Kayla]
+12/13
+ * Fixed a Lighthalzen warp warping you to a non-walkable tile [MasterOfMuppets]
+12/12
+ * Added 4 functions to spiff up your dialogues: F_Hi, F_Bye, F_RandMes, F_SexMes [Lupus]
+ - Moved jobName to Global_Functions.txt
+ * Fixed Monk quest [Lupus]
+ * Fixed Bard Quest, added check for exploits, added a new flower 'Izidor' [Lupus]
+ thanx to VicHoX for pointing out the bug. Now RTFM ^_-
+12/11
+ * Fixed some typos, thanks to Haplo [Lupus]
+ * Also fixed 'Lutie quest reset' bug [Lupus]
+ * Fixed Bard & Lutie quests passable during the X-Mas Event. thanks Zephiris for pointing it out [Lupus]
+ * Revised again all the quests, found and fixed 2 bugs, also optimized conditions [Lupus]
+12/10
+ * Added the Lighthalzen Kafras, thanks to Vicious_Pucca for information. [MasterOfMuppets]
+ * Added the Homunculus shop in Aldebaran, it's commented for now until [MasterOfMuppets]
+ we get homunculuses working.
+ * Fixed, optimized 2nd Class Skills Quests, [Lupus]
+ - removed Elemental Potion Guide from Alchemist NPC, due to new Reddozen's quest
+12/09
+ * Cleaned up custom folder, lots of duplicate NPCs. [Kayla]
+12/08
+ * Updated 2nd class quest skills NPCs, made by Reddozen and battousai90. [Vicious]
+ * Organized Jobs folder a bit for Expended Classes. [Vicious]
+ * Fixed dialouge in blood_bandana quest. Thanks Razor87 for the report. [Kayla]
+12/07
+ * Added the New Novice Training grounds, beware of potentional bugs and [MasterOfMuppets]
+ faulty dialogues. I kept the old script as OLDnovice.txt just incase. Thanks to Dr.Evil
+ for doing most of the work.
+ * A small fix to the Louyang script. [MasterOfMuppets]
+12/05
+ * Fixed a typo in Aldebarran Guard "Hace a name". eAOS Bug Report [Kayla]
+ * Fixed another small screw-up in the color codes of the Glastheim Bulletin Board,
+ eaos Bug Report[Kayla]
+ * Fixed a typo in NPC:Raust, eAOS bug report. [Kayla]
+ * Fixed a typo in NPC:Gushenmu, eAOS bug report. [Kayla]
+ * Added a nice custom Perchik's quest ** SIGN YOUR ITEMS ** [Lupus]
+ Now your players can sign their rare headgears or weapons with their own name
+12/04
+ * Fixed Sage Job Quest bug, thanks to Lorky [Lupus]
+12/02
+ * Removed two duplicates of each gonryun dungeon level in nomemo.txt [MasterOfMuppets]
+ * Fixed a small screw-up in the color codes of the Glastheim Bulletin Board, [MasterOfMuppets]
+ thanks to Playtester.
+ * Added some Christmas Orcs to event/xmas.txt, thanks to Playtester [MasterOfMuppets]
+ - Christmas Goblins were added to yuno_fild09 as well.
+ - Enabled the christmas event by default as it has started in kRO sakray
+12/01
+ * The bio lab dungeon bosses will now only spawn one at a time, [MasterOfMuppets]
+ they are randomly selected.
+ * Removed some duplicate warps in Einbech [MasterOfMuppets]
+ * Fixed tab on pvp_noguild, thanks to NeoSaro [Vicious]
+ * Added the noteleport and nomemo mapflags to the lzh_in-maps [MasterOfMuppets]
+ * Implemented k3dt's guild flag exploit fix [Vicious]
+11/30
+ * Updated Hugel field spawns, thanks to battousai [MasterOfMuppets]
+ * Made all (Desert Wolf Puppy / Desert Wolf Puppy) -> Desert Wolf Babe [Lupus]
+ the same thing is for Savage Babe. Also fixed eggs names
+ * Fixed typo in nopenalty. Umatsu? XD [Vicious]
+ * Fixed a minor screw-up in airships.txt [MasterOfMuppets]
+ * A small fix to the Divorce NPC in other/wedding.txt, it should [MasterOfMuppets]
+ now allow people who didn't marry with the other/wedding.txt to divorce as well
+ * Commented the warp from gef_dun02 to gef_dun03, gef_dun03 [MasterOfMuppets]
+ is an event map >.<
+ * Commented "Traveler" out as it is not needed/official [Vicious]
+11/29
+ * Fixed a Payon dungeon warp that was warping to a non-existant tile [MasterOfMuppets]
+ * Updated the color codes of louyang.txt a little
+ and fixed the shouting quest to broadcast green text. [MasterOfMuppets]
+ * Fixed quest_lutie, thanks to Manipulator [Vicious]
+ * Updated cooking NPC, thanks to battousai90 [Vicious]
+11/28
+ * Updated the spawnpoint in Niflheim with Bungy jump [Vicious]
+ * More fixes... some things can be fixed by the core. Has to make something [Lupus]
+ * Massive anti-exploit fix of quests. 2B Continued [Lupus]
+ * Updated Umbala. Fixed Umb.Lang.Quest items names. [Lupus]
+ Now you can go to Niflheim trough Jumping Bungy Area.
+11/27
+ * Added some more npcs to Einbroch and removed some warps [MasterOfMuppets]
+11/26
+ * Added eamobs containing fix for exploitable spawns. Switch is in scripts_main.
+ The eaMobs is suggested for smaller servers but mobs is official. [Kayla]
+ * Re-Enabled city cleaners (why was this turned off?) [Kayla]
+ * Updated mobs to prevent exploitable spawning (AMs, Seals). Thanks Redflame. [Kayla]
+ * Updated detective hat to ask for the correct items [Kayla]
+ * Fixed 2 bugs in New Hats_6. It deleted 100 Amultets instead of 10 and only 1 Steel instead of 25 [Lupus]
+ thanks 2Yun for Amulets bug.. so I found the similiar one with steel 8) We have to recheck all scripts 8)))
+ * Fixed some mapname typos in mob spawn scripts (mostly Prontera and Geffen fields) [Lupus]
+ * Spiffed up 6_new_hats custom quest NPCs coords [Lupus]
+ * Added new cities into warper & warper2 [Lupus]
+ * Removed some buggy custom quests. Those items has appeared in recent official quests [Lupus]
+ e.g. Excalibur, some hats, etc
+11/25
+ * Added a temp shop in Yuno to sell blank scrolls, thanks to reddozen [MasterOfMuppets]
+ * Added the Einbech Kafra [MasterOfMuppets]
+ * Added Thanatos entrance warp. Thanks to Justin84 [Lupus]
+11/23
+ * Fixed santa goblin spawn locations in event/xmas.txt [Kayla]
+ * Temp fix for Kafra functions. New eA script engine has new CLOSE2 command [Lupus]
+ so some old scripts were... 'stuckable' 8)
+ * Updated Thanatos & Turbo Trach warps, thanks to Justin84 [Lupus]
+11/22
+ * Kafra fixed: Now Baby Merchant can pass Merch Job Quest w/o probs [Lupus]
+11/20
+ * Fixed a major problem in event/xmas.txt [MasterOfMuppets]
+ * Readded Lord of Death to Niflheim [MasterOfMuppets]
+ * Fixed a typo in cities/ayothaya.txt, nothing big [MasterOfMuppets]
+ * Changed the Einbroch area spawns a bit using iRO info from emperium.org [MasterOfMuppets]
+11/18
+ * Added the last of the bulletin boards [MasterOfMuppets]
+ * Alberta, fixed bugs [Lupus]
+ * Typos and minor fixes of Assassin JQ and Clothes_dyer. thanks to momotaro_master & WhiteLight for info [Lupus]
+ * Added missing dialogues into Cooking Quest. Fixed a bug when you stuck if u haven't bought [Lupus]
+ cooking sets before getting the quest, some optimizations, etc. Now fully workign 8)
+11/17
+ * Fixed custom MVP arena warper. R4000! [Kayla]
+ * Added more Food Sellers (for Cooking Quest). Some of them have temp sprites and coords [Lupus]
+11/16
+ * Fixed the payon guide to give the right description at label L_Dungeon [MasterOfMuppets]
+ thanks to muad_dib
+ * A minor fix to a screwup in the lvl 4 weapon quest, thanks to vicious_pucca [MasterOfMuppets]
+ * Fixed the lvl 4 S grade weapon quest only giving 8 kinds of weapons instead [MasterOfMuppets]
+ of 16, thanks to Gepard for pointing it out.
+ * Minor fix of SN Kafra rent service. It firstly checks for Push Cart skill and
+ then gets money [Lupus]
+ * Fixed more bugs (wrong ID, wrong labels, missing text) in Cooking quest. [Lupus]
+ Now you can pass loaned books to other people but have to return them to
+ the Chef, before loaning another one. Added Leather Pouch into item_trade.txt
+ it's a quest item, you can't sell/pass it to the others. It should be done
+ with similiar quest items, too.
+11/15
+ * Updated Cooking Quest, according to Reddozen's changes [Lupus]
+ * Added missing cities into noBranch / noIcewall mapflags files [Lupus]
+ * Prontera Maze mob spawn typo fixed, thanks to noobs [Lupus]
+ * Cooking quest: Fixed wrong label [Lupus]
+11/14
+ * Added 1 Kafra to Payon, fixed Save menu & coords. Thanks to Justin84 [Lupus]
+ * Fixed Mixture Quest [Lupus]
+ * Fixed the Universal Renter not correctly checking for Riding chars. Now
+ also rents Carts to S. Novices [Skotlex]
+ * Fixed some cooking quest bugs [Lupus]
+ * Updated Lighthalzen Dungeon warps. thanks to Justin84 [Lupus]
+11/10
+ * Updated swordsman_skills.txt to allow any swordsman subclass to be able to get the [MasterOfMuppets]
+ skills as well, thanks to vicious_pucca.
+ * Fixed npc sprites for the cooking quest npcs, thanks to Silent for the sprite IDs [MasterOfMuppets]
+ * Added Cooking Quest. Thanks to Reddozen [Lupus]
+ * Added reddozen's fix of Alchemist.txt (Materials / Manuals) [Lupus]
+ * Fixed Juperos Elevator, coords of Twin Tower NPC, Mr.Smile. Thanks to Justin84 [Lupus]
+ * Added more quests for 2nd Class Quest Skills [Lupus]
+11/09
+ * Added an incomplete sign quest for backup/storing purposes, use it at your own risk! [MasterOfMuppets]
+ * Remove a few message boards from msgboard.txt to not conflict with some [MasterOfMuppets]
+ sign quest npcs.
+ * Added two warps in prontera for preparing the sign quest [MasterOfMuppets]
+ * Added temp skill quests for all complete 2nd Class Quest Skills [Lupus]
+11/08
+ * A lot of typos fixed in the lvl 4 weapon quest, thanks to Silent. [MasterOfMuppets]
+11/07
+ * Added the lvl 4 weapon quest, thanks a lot to Vicious_pucca for converting it from [MasterOfMuppets]
+ aegis format to eA format. a lot of thanks to reddozen as well for fixing bugs.
+ - Also two quest related NPCs was added to Geffen and Morroc
+ * Fixed a misleading typo in quest/monstertamers.txt, thanks to vicious_pucca [MasterOfMuppets]
+ for pointing it out.
+ * Updated the spawns of Santa Porings and Antonios in event/xmas.txt [MasterOfMuppets]
+11/06
+ * Big update to town guards. Changed according to how it is on iRO [MasterOfMuppets]
+ thanks to Muad_Dib. The following towns had their guards updated:
+ - Alberta
+ - Aldebaran
+ - Comodo
+ - Izlude
+ - Payon
+ - Prontera
+ * Added Yuno and Lighthalzen Airports. Thanks to Justin84 [Lupus]
+11/05
+ * Fixed a small bug in the jawaii warper, thanks to reddozen and Silent [MasterOfMuppets]
+ * Fixed a small typo in Alberta's weapon shop, thanks to reddozen for the fix [MasterOfMuppets]
+ * Added warps to the Izlude Airship, thanks to Justin84 [Lupus]
+ * Fixed both warper&warper2 Izlede location was ovelapped with BB, thanks to Justin84
+ - fixed wrong header of moc_fild19 BB, thanks to Justin84
+11/04
+ * Updated Geffenia's monster spawns [MasterOfMuppets]
+ * Fixed flags in geffen town (whoops I worked too fast :-x) [Kayla]
+ * Removed Surrender Abbility in guild manager (was 100% custom) [Kayla]
+11/02
+ * Removed flags around fountain in the top of Prontera guild map [Kayla]
+ * Added a missing warp in Jawaii, thanks to Zoc [MasterOfMuppets]
+10/31
+ * Finished the Einbech town script, thanks to muad_dib [MasterOfMuppets]
+ * Added the official Jawaii script, information from iRO [MasterOfMuppets]
+ - Beware of potentional bugs
+ - Added the divorcer as well
+ * Updated Jawaii's warps [MasterOfMuppets]
+ * Added Venom Knives into da shops [Lupus]
+10/30
+ * Added Wild roses to spawn in a few more towns [MasterOfMuppets]
+ * Added monsters spawns to Jawaii [MasterOfMuppets]
+10/29
+ * A small fix to the obb quest, thanks to marquis007 [MasterOfMuppets]
+ * Fixed the flag guild script. Now one can only flag in using the flags outside the castle. [Kayla]
+10/28
+ * Fixed Sage Job Quest [Lupus]
+ - Its questions should be revised, especially about other NPC names
+ * Added new Prontera Kafra's coords into mini-map location info [Lupus]
+ * Updated North Prontera Kafra, thanks to Vicious_Pucca [Lupus]
+ * Fixed Prontera Kafras not teleporting to Alberta [Lupus]
+ * Added a missing Guide to Einbrochm thx2 Justin84
+ * Updated all guides, fixed common guide names for correct duplicate() [Lupus]
+10/26
+ * Added some more Einbech npcs, thanks to Muad_Dib of Prometheus [MasterOfMuppets]
+ * Added noteleport to Gefenia maps [MasterOfMuppets]
+ * Added more Juperos Warps and Scripts by Justin84 [Lupus]
+ * Re-enabled main Lighthalzen Entrance warp [Lupus]
+10/25
+ * Updated Lutie Quests. Sloppy copy and paste job. Vending Machine man now knows his own items. [Kayla]
+ * Updated Indian Hairband Quest. It asked for hairband, should have been Indian Filet (5010) [Kayla]
+10/24
+ *Added real spawns for Thanatos and Abyss. [Nexon]
+10/23
+ * Updated WoE (Guilds War) scripts to work correctly with /breakguild [Lupus]
+ They should abandon occupied castles of the broken guild
+10/22
+ * Added Abyss warps and a few NPC's. [Nexon]
+ * Added lighthalzen security guard/ security event quest. [Nexon]
+10/19
+ * Thanks to Justin84:
+ - Updated Thanatos Tower warps, added NOTELEPORT to some thanatos tower levels
+ - Fixed custom WoE Setter (break; -> end;)
+ * Updated some Airport warps as provided by Justin84 [Skotlex]
+ * Updated and fixed Sage Job Quest [Lupus]
+ * Fine-tuned the warp in Thanatos lv11 (tha_t11.gat,92,32 ->
+ tha_t11.gat,93,36) as pointed out by erKURITA. [Skotlex]
+10/17
+ * Increased mob count in Lighthalzen Lv3 as requested by Vicious. [Skotlex]
+ * Added the noteleport mapflag to Amatsu Dungeon lvl 1, thanks to frugal [MasterOfMuppets]
+ *Fixed a lot of scripts that may have been exploitable, fixed typos, and optimized a bunch of other scripts. Thanks to Silent. [Nexon]
+10/16
+ * Fixed Einbroch Airport, Lighhalzen Dungeon warp. Thanks to Justin84 [Lupus]
+ * Fixed Thanatos Tower Statues quest bug, thanx 2 Dr.Evil for info [Lupus]
+ * Enabled lighthalzen guards quest, updated lighthalzen warps, thx2Justin84 [Lupus]
+10/15
+ * Added in lighthalzen guards quest. Not implemented until the entire quest has been finished. [Nexon]
+10/14
+ * Increased mob count in lhz dun 03 as pointed out by Viccious Pucca. [Skotlex]
+ * Changed some item names to the iRO ones in a quest dialog, thanks to Komurka. [MasterOfMuppets]
+10/13
+ * Updated Thanatos Tower warps, added custom Thanatos Tower Statues quest by Bibilol & Moryagorn [Lupus]
+ * Moved a few misplaced npcs from Einbech to Einbroch [MasterOfMuppets]
+ * Added Bacsojin and Chung E to Louyang dungeon, thanks to Tron and Dr. Evil [MasterOfMuppets]
+10/12
+ * Added Muad-dib's Einbroch Airport, converted by Dr.Evil [Lupus]
+ * Added secret Lighthalzen dungeon entrance point. Provided by Justin84 [Lupus]
+ - It's commented out yet. Could someone investigate it?
+10/11
+ * Fixed Zealotus Mask NPC (->Piece of Black Quartz) thanx to vicious_pucca for info [Lupus]
+ * Added some Einbech NPCs [reddozen]
+ * Added some Einbroch NPCs [MasterOfMuppets]
+ - fixed alchemist.txt (Bowl issue)
+ * Added 2 Kafras to Einbroch (thanx to MasterOfMuppets 4info), fixed NPC coords of Guide [Lupus]
+ * Fixed Lighthalzen Dungeon Entrance conditions check, thanx to Daegaladh [Lupus]
+10/10
+ * Updated Geffenia spawns, thanks to Master of Muppets [Skotlex]
+ * Yet again fixed some missing tabs in Enbech, Enbech/Einbroch Guides [Luups]
+ * Fixed missing tabs in Enbech Town. [Mass Zero]
+ * Added Einbech Guides, thanks to Muad_Dib and MasterOfMuppets. [Mass Zero]
+ * Added Einbroch Guides, thanks to Reddozen and MasterOfMuppets. [Mass Zero]
+ * Added Einbech warps, thanks to Muad_Dib. [Mass Zero]
+ * Added Einbech Town, thanks to Muad_Dib and MasterOfMuppets. [Mass Zero]
+ * Changed 'ends' into 'breaks' in the Wandering Poet NPC, thanks to IVBela. [Mass Zero]
+10/08
+ * Fixed Ayothaya town script, thanks to Poki#3 [Lupus]
+ * Total warps update of Hidden Temple (Forest Labyrinth), thanks to jA and Dr.Evil for info [Lupus]
+ * Updated Payon and Morroc (Jellopy->Scell) shops, thanks to Muad-Dib and andz [Lupus]
+ * Added Lighthalzen,Einbroch,Einbech shops. Updated Prontera,Morroc,Payon shops [Lupus]
+ - Thanks to Muad-dib, Nexon, andz, MasterOfMuppets
+ * Due to added Magic Scrolls drops... finally removed the temp shop [Lupus]
+10/07
+ * Added more shops. Thanks to Vicious_Pucca. [Nexon]
+ * Added more Einbroch shop NPC's. Thanks to MasterOfMuppets and Vicious_Pucca. [Nexon]
+ * Fixed Niffelheim warps. Thanks to MasterOfMuppets. [Nexon]
+ * Added Lighthalzen shops. Thanks to Maud_Dib. [Nexon]
+ * Returned back Mr.Smile quest (it's still up in kRO) [Lupus]
+ * Updated official Bard Job Quest: Flowers Part now is quite easy to pass trough [Lupus]
+ (thanks to Vicious Pucca for info)
+ * Thanks to MasterOfMuppats for some Kafra changes: [Lupus]
+ - Updated teleport destinations of Aldebaran,Comodo, Izlude and Morroc Kafras
+ * More Bulletin Boards [MasterOfMuppets]
+ * Added Einbech and Einbroch Item NPC's. [Nexon]
+ * Updated all scripts to work with the script engine update (changed break
+ to end, changed some If to if) [Skotlex]
+ * Added official (iRO) Old Blue Box quest to Comodo. Thanks to Celestia (it's another girl, not Celest) for help. [Lupus]
+10/06
+ * Thanks to Justin84: [Lupus]
+ - Fixed ingridients typo in Acolyte Skill Quest
+ - Fixed Arena MVP (custom script), Lighthalzen warps coords
+10/04
+ * Fixed explot in bunnyband quest on giving and taking items away being seperated. [Nexon]
+ * Fixed a missing close; in the bulletin boards. [Nexon]
+10/03
+ * Fixed 2 wrong Achemist test answers, thanx to zlider for info [Lupus]
+ * Updated some of the Lighthalzen mobs as pointed out by Master of Muppets.
+ [Skotlex]
+ * Added 5092 Coif into Prontera Church Shop. Thanx 2 andz [Lupus]
+ * Fixed Thanatos and Abyss Dungeon Spawns. Thanks to Azazel. [Nexon]
+ * Fixed 700+ spelling mistakes. I have alot of time on my hands for some reason... [Nexon]
+10/02
+ * Added Gotanblue#2 to Turtle Island (to be able to return back) [Lupus]
+ - Optimized Alberta, fixed typos
+ * Aldebaran, fixed missing label. Optimized [Lupus]
+ * Fixed some Headgears coords, sprites, names, ingridients. [Lupus]
+ Thanks to Vicious_Pucca for info
+10/01
+ * Fixed spwan mobs names Kobold N -> Kobold, Goblin - >Goblin [Lupus]
+ * Added missing close; in blacksmith JQm thanx2palasx [Lupus]
+ * Updated Crusader job quest a bit, thanks to vicious_pucca for reminding us this quest
+ is only a temp one... [DracoRPG]
+09/29
+ * Added missing Niflheim warps to the INN and house needed to complete the
+ Piano Key Quest. [Skotlex]
+ * Added temp warps of Thanatos Tower by Moryagorn [Lupus]
+09/28
+ * Fixed Super Novice quest. Now BABY can be a SUPER BABY. Finally 8) [Lupus]
+ * Updated some warps (Payon / Guilds) thanks to Yor
+ * Fixed Blacksmith Job Quest items typos, thanks to Yor
+09/26
+ * Added official Ayothaya Town script by MasterOfMuppets [Lupus]
+ - Fixed Ayothaya warp scripts
+ - Updated BBS
+09/23
+ * Al De Baran: Finally added the Kafras Special Reserve 2 Lotto with official prizes [Lupus]
+ (80% official, 4-5 entries are made up) also changed typo Orange Potions -> Red Potions
+09/21
+ * Commented out Mr.Smile Quest (now Tengu drops that mask) [Lupus]
+ * Fixed Bunny Band NPC location, removed NPC dupes [Lupus]
+09/20
+ * Removed Choco from Ayo_fild1, Fixed Petits IDs at Hugel field [Lupus]
+ thanks to MasterOfMuppets, Vicious_Puca, akusarujin
+09/19
+ * Minor fix of Louyang by MasterOfMuppets [Lupus]
+ * Added official Ayothaya shops by MasterOfMuppets
+ * Added 1 Choco to Ayothaya field, thx to vicious_pucca
+ * Official Ayothaya sailor warper by MasterOfMuppets
+ * New number of Treasure Boxes per castle: 20 -> 25 at 100 Economic pts [Lupus]
+ So you get your first chest only when your Economic Pts >= 4
+09/18
+ * Fixed Guilds Kafras charging player for their Kafra Storage usage [Lupus]
+09/17
+ * Changed Yuno guide soldiers to use Schwartzhald Republic ones [DracoRPG]
+ * Removed useless 1.3MB 'old' folder in guild scripts [DracoRPG]
+ * Fixed Amatsu Kafra Storage Issue, thanks to zlider for pointing out [Lupus]
+ * Updated teleport service prices in the Prontera & Alberta. Thanks to MasterOfMuppets for info [Lupus]
+ - Also Merchant Job Quest Kafra's warp price has been updated.
+09/16
+ * Updated some monsters stats (Lighthalzen, Einbroch) thanx to MasterOfMuppets [Lupus]
+ - Also updated bulletin_boards.txt
+ * Added temp mobs spawn of Thanatos Tower/Abyss Lake dungeons thanx to Azazel
+ - Based on limited info. All the new mobs come with poring stats ^_-
+09/15
+ * Added new maps, temp warps for Abyss Lake Dungeon (thanks to Muad-Dib) [Lupus]
+ - I recommend closing that dungeon and new monsters yet,
+ they have temp stats and could cause some exploits in the future
+09/14
+ * Updated Yuno fields mobs spawn, thanks to MasterOfMuppets [Lupus]
+ - Updated Lighthalzen and Einbroch fields, too
+ * Made some parts of Bards Quest more official ^_-. WIP: Adding Bard's NPC pics (like Kafras) [Lupus]
+09/13
+ * Added correct Ayothaya, Louyang & amatsu Kafras. Thanks to Muad-Dib for info [Lupus]
+ * Fixed 'Gaurdian' typo, Added real coords and sprite to amatsu Kafra [Lupus]
+ * Added new scripts. Thanks Muad-Dib for his scripts, Dr.Evil for their conversion : [Lupus]
+ - White Day, Temp Geffenia Event, Valentines day, Zondaman Warper
+ - Quivers Maker NPC
+09/12
+ * Minor fix of Bard quest, added GM Reset menu to Adoption. Fixed Guides [Lupus]
+ * Added Juperos warps (thanks to Muad-Dib, Dr.Evil) [Lupus]
+ * Lutie town bugfix (fixed some items exploit, found due to Bard Quest optimization 8) [Lupus]
+ * Added an official Bards Job Quest. [Lupus]
+ - Basical conversion from Muad-Dib's Prometeus format by Dr.Evil
+ - Implementation of 4 official Bards weapon prizes by Dr.Evil
+ - Final optimization and bug fix by Lupus
+ NOTE: Don't forget to update your old Lutie.txt and Global_Functions.txt
+ * Added temp Amatsu Kafra (wrong sprite, wrong coords yet) [Lupus]
+09/11
+ * Added temp Ayothaya Kafra (wrong sprite, wrong coords yet) [Lupus]
+ - Made all dungeons Kafras not saving your coords again (re-checked sources)
+ * Added official Bulletin Boards script by MasterOfMuppets
+ * Resticted entrance of 3F Lighthalzen dungeonby Azazel [Lupus]
+ * Added Belts to Prontera/Aldebaran shops, thanks to reddozen [Lupus]
+ * Optimized Louyang city NPCs. Made Louyang quests vars unique [Lupus]
+09/10
+ * Fixed some Kafras not allowing you to save your Position [Lupus]
+ * Updated missing Louyang warps. [Lupus]
+ - Replaced custom Louyang with official one. Thanks to MasterOfMuppets
+ - Added Louyang official Kafra (only Storage, Save) [Lupus]
+ * Added official Hair Styler [Lupus]
+ - Thanks to Muad Dib for the script. Thanks to Dr.Evil for a nice conversion.
+ TODO: optimize Louyang and Hair Styler scripts 8)) [Lupus]
+ * Removed Ice-Cream dealer from Morocc (according to patch) [Lupus]
+09/07
+ * Fixed Super Novice job quest. Now a Baby can become a Super Baby. [Lupus]
+09/06
+ * Removed massdriller's "illuminaRO" part from the Merchant jobquest script. What was that good for? [Mass Zero]
+09/04
+ * Optimized Prontera city script. Now Novices > 20 BaseJob Level can go in the Culvert [Lupus]
+ * Fixed minor coords issues of 19/20 warps of Monks Job Quest, Lutie Tool Shop, warps in PVP area, 1 Izlude warp. Thanks to Yor
+ * Minor fix of Bear Hat Quest: changed ingredients (Zipper>Bear Skin) [Lupus]
+ * Minor fix of Acolyte Job Quest message. Thanx to andz for pointing it out [Lupus]
+ * Optimized ADOPTION.TXT again. Tested it with 3 clients. Fully working! [Lupus]
+ * Moved Fashion Quest into the proper folder: custom/quests . Also optimized the script [Lupus]
+ * Wizards Job Quest: Replcaced 2 Hodes with 2 Horongs (according to the official stuff) [Lupus]
+ * Removed duplicate Lighthalzen dungeons/fields warps, thanks to our super moderator, T3H
+ Manipulator! [DracoRPG]
+ * Updated mob spawns with Dr. Evil ones, they should all be correct and up-to-date,
+ including Lighthalzen and Juperos dungeons. If something goes wrong, then let's revert,
+ but I think there won't be any problem (Frugal advised me to use them, and Frugal is a
+ good spawn expert IMHO :p) [DracoRPG]
+08/31
+ * Some fixes to the refine npc. [Skotlex]
+ * Fixed Lighthalzen field <-> Lightalzen city warps, thanks to Poki#3 [DracoRPG]
+ * Moved Tao Gunka to Comodo West Cave (made Megalithes as his slaves),
+ Placed Lady Tany in the 2F of Ayothaya Dungeon [Lupus]
+08/29
+ * Added Dead Branch (and Bloody Branch) quest by GM-Yevon [Lupus]
+ * Fixed Adoption.txt [Lupus]
+08/28
+ * Added a Taekwon NPC (to get Taekwon Job). It's temp tough [Lupus]
+08/27
+ * Splitted anti-taekwon protection from double-adopt protection in adoption.txt, should
+ allow to see more easily what is the problem [DracoRPG]
+ * Updated Is_Taekwon_Class with Job_Star_Gladiator2 [DracoRPG]
+08/26
+ * Reupdated the refine npc to not use recursive functions. [Skotlex]
+ * Fixed Wool Hat quest items. Thanx to the__android [Lupus]
+08/25
+ * Updated Louyang spawns according to ep 8.5 by MasterOfMuppets [Lupus]
+ * Updated Lighthalzen Field 03 spawns by MasterOfMuppets [Lupus]
+ * Fixed THQ Shop menu prices, thx to NeatElves [Lupus]
+ * Added Hugel Mob Spawns by MasterOfMuppets [Lupus]
+08/24
+ * Updated refine.txt from Freya [Lupus]
+08/23
+ * Added new Hugel Field Warps by Sara [Lupus]
+ * Updated mobs spawn of magmadun.txt by MasterOfMuppets
+ Also updated KAHO's stats according to new kRO site info
+08/21
+ * Orc Hero Helm fixed items exploit [Lupus]
+08/19
+ * Fully updated Glastheim to real ep8.5 aegis spawns [MasterOfMuppets]
+ * Updated refine npc to stop it from making the server crash (features = 1,
+ refining past safe level) [Skotlex]
+ * Updated Glastheim spawns
+ * Added new items, fixed items, added new official drops [Lupus]
+ * Added a temp shop of official sellable items 8) [Lupus]
+08/18
+ * Added anti-Taekwon Class protection into Valhalla, into Adoption NPC [Lupus]
+ * Added Zealotus Mask Quest with official items (now tested) [Lupus]
+ * Fixed hat_seller.txt items. thx 2dshome [Lupus]
+08/15
+ * Updated Ayathoya spawns as per the info given by Ishizu. [Skotlex]
+ * Fixed one more Novice Skill exploit, otpimized variables usege a bit. [Lupus]
+ thanks to Mellowz, for pointing it out
+08/09
+ * Fixed position of Lothar (from IRC), and MrSmile Girl pos at Prontera, txh to dshome [Lupus]
+ * Added some Acky's custom scrips (Lottery, MVM, Stock Market, Shifty Assassin, Morroc Raceway, Russian Roulette)
+ * Added custom quest on a Bandit Beard (by Mega Man Expert) [Lupus]
+ * Fixed logging bugs in THQ shop [Lupus]
+08/02
+ * Added anti-novice protection to Ayothay OBB quest [Lupus]
+ * Changed order of adding up Economy thanks to kyoki [Fredzilla]
+07/30
+ * Few NPC fixes reported on in "SVN Script Fixes" [Fredzilla]
+07/25
+ * Totally Updated Louyang shops. Added Driller monster spawn into UmbalaDun2. thanks to MasterOfMuppets [Lupus]
+07/23
+ * Fixed value overflow (RSX MVP respawn delay) thanks to Valaris
+07/16
+ * Fixed a map name typo in the Prontera fields mobs spawn file. (thanx 2Gwendalin) [Lupus]
+ * Added NOLOOT, NOEXP mapflags files (thanks to Lorky,OSKOM) [Lupus]
+ * Updated Louyang monsters spawn (thanks to MasterOfMuppets) [Lupus]
+07/12
+ * Fixed the th**f typo everywhere. [Skotlex]
+ (too many changes to bother bumping the script versions)
+07/11
+ * Changed guild castle flags names according to iRO naming [DracoRPG]
+ * Fixed small item check error in refine.txt thanks to -Vitamin- [massdriller]
+ * Removed some warps dupes in WARPS. Rearranded Einbroch and Airplane&Airport warps [Lupus]
+07/10
+ * Added Custom Auctioneer script by request of Lupus [Fredzilla]
+ (Also added my WoE Setter because of all the people who cant set WoE themself)
+07/09
+ * Added Novice Castles Usher NPC. [Lupus]
+ Now you have access to 4 N Guild castles. They don't have
+ dungeons. And 2nd Classes can't seize these Castles.
+ These new castles need a new strategy. It would bring some
+ fun and live to your game.
+ NOTE: If your Guild Master is 2nd class, then he could
+ rule the Castles and gather Treasure Boxes after WoE
+ * Fixed typo on JFunc2-1.txt script [Skotlex]
+ * Now adoption.txt NPC can teach parents/babies their missing family skills [Lupus]
+ * Added Novice Guilds warps. Fixed some mapflags. NG WOE NPC is coming soon. [Lupus]
+07/08
+ * Fixed new_hats_0625.txt, thanx to vicious_pucca [Lupus]
+07/07
+ * Hunter Job Quest: Infinite Arrows exploit fix [Lupus]
+ * Fixed a small burried treasure map error thanks to kyoki. [massdriller]
+07/04
+ * Added Lorky's NEW HEADGEARS quests (according to the patch 2005/6/14) [Lupus]
+ Please, feel free to fix, imporve, etc. (all the URLs are in the script)
+07/03
+ * Added few missing mobs to Jawaii, updated Peco/Falcon Renter [Lupus]
+ * Added new hairstyles to the stylist NPC. [Mass Zero]
+ * Fixed Job Quests exploits (Advanced Classes were able to pass their 2nd job quests again) [Lupus]
+ High Novices were able to pass Super Novice Job Quest as well. They weren't able to GET those
+ professions, tough. But there were some items exploits.
+ Now Advanced classes get reborn guides from all main Job Quest NPCs (1st, 2nd Classes)
+07/02
+ * Replaced gmcommand with atcommand in NEWnovice NPC set.
+ * Removed the Flower Band selling in Amatsu, shouldn't be sold in shops. [Mass Zero]
+06/30
+ * Fixed 2 garbled Amatsu NPC names (thx 2MasterOfMuppets), slight optimization [Lupus]
+ * Added Bluto's unofficial Airship NPC [massdriller]
+ * Added Incomplete New Novice training grounds [massdriller]
+06/29
+ * Fixed massive EXP/Loot exploits of all Job Quests (especially in the Rogue JQ) [Lupus]
+ * Inserted a missing ".gat" in alberta city NPC header
+ * Moved banks scripts into /banks/ [massdriller]
+ * Corrected small typo in config for marraige script [massdriller]
+ * Added Jawaii npcs thanks to DNett123 [massdriller]
+ * Updated Sara-Chan's Lighthalzen Warps [massdriller]
+ * Added Warning to config files [massdriller]
+ * Reinstated in warper npc. It was missing o.O [massdriller]
+06/28
+ * Fixed bug in Refine script that allows to bypass item & zeny restrictions thanks to sir_loon [massdriller]
+ * Updated Lunatik's Jobchanger [massdriller]
+ * Moved healers into /healers folder [massdriller]
+ * Added Skotlex's marraige script [massdriller]
+06/24
+ * Changed Guild Castle Manager to make Emsolute/Permanent Development affect only economy
+ investment [DracoRPG]
+06/22
+ * Added baby support to Dancer quest [Fredzilla]
+06/21
+ * Fixed a wrong required item in Sea Otter Hat quest, thanks to frugal [DracoRPG]
+06/18
+ * Updated Lightharzen warps to Sara-chan's v1.2 [Lupus]
+06/16
+ * Added Sara-chan's Lightharzen warps [celest]
+06/13
+ * Fixed Heart of Ymir location/sprite, thanks to Poki#3 [DracoRPG]
+06/10
+ * Fixed small error in Dye_maker, was trying to del an non-existant item, instead on mixture
+ Thank you Terminal Vertex
+06/05
+ * Fixed another error [Lunatikbunnie]
+06/03
+ * Fixed an error in the jobmaster script [DracoRPG]
+06/02
+ * Corrected error in Jfunc under priests [massdriller]
+06/01
+ * Added Field update - Einbroch and Lhztargen thanks to sara [massdriller]
+ * Added New optimised jobchanger [Lunatikbunnie]
+05/31
+ * Added my own dev npc too [massdriller]
+ * Fixed incorrect checkers for Jfunc2-1 [massdriller]
+ * Fixed a typo in Jfunc1-1 [massdriller]
+ * Added my own devnpc =P [Kevin]
+ * Optimised darkchild's MVP arena [massdriller]
+05/30
+ * Scripts reorganizing [DracoRPG]
+ * Changed swordsman -> swordman in the files names [DracoRPG]
+ * Optimised Job Quests by placing checkers into JFunc1-1 [massdriller]
+ - Acolyte, Archer, Mage, Merchant, Thief, Swordsman
+ * Optimised Job Quests by placing checkers into JFunc2-1 [massdriller]
+ - Assassin, Blacksmith, Hunter, Knight, Priest, Wizard
+ * Optimised Job Quests by placing checkers into JFunc2-2 [massdriller]
+ - Monk, Sage, Rogue
+ - The rest can't be optimised as it is too integrated.
+05/29
+ * Fixed a typo in an NPC [Codemaster]
+ * Fixed many grammatical errors (mostly in Merchant job quest) thanks to the__android [DracoRPG]
+05/28
+ * Reorganized scripts (npc/) folder. [Ancyker]
+05/25
+ * Changed Ayothaya to Ayotaya. (In the scripts, iRO calls it Ayotaya.) [Mass Zero]
+ * Removed lots of unneccesary spaces from the Ayotaya poetry script. [Mass Zero]
+ * Fixed various gramatical errors in the Uneasy Cemetary, Valkyrie cite, Lou Yang
+ city, Ayotaya city Buny Band quest and Bard jobchanger scripts. [Mass Zero]
+ * Added Rebirth/Advanced class support to the Universal Renter. [Mass Zero]
+05/23
+ * Fixed various gramatical errors in the Dumpling Festival, Twin Towers,
+ Valentine's Day and X-mas scripts. [Mass Zero]
+ * Removed useless quotation marks (") in the Acolyte jobquest. [Mass Zero]
+05/22
+ * Fixed a typo in guild castles' manager, thanks to the__android [DracoRPG]
+05/17
+ * Fixed Crusader Quest.(Thanks to Komurka) [massdriller]
+05/16
+ * Small fix in the Dancer Job NPC and added checks for skill using,
+ Improved Concentration and Arrow Shower [Fredzilla]
+ * Cleanup in NPCs that are enabled by default : removed most of custom ones
+ (including dev NPCs, WoE warper, Ayothaya poetry...) [DracoRPG]
+ * Added an Orc Hero Helm quest, custom but as accurate as possible [DracoRPG]
+05/15
+ * Added Dancer Job quest NPC [Fredzilla]
+ * Fixed some Ayothaya warps, thanks to Fress_Boy [DracoRPG]
+05/14
+ * Fixed some more typos in city scripts [massdriller]
+05/09
+ * Added new Sara-chan's maps / warps for Einbroch and Lhztargen [Lupus]
+ * Fixed some typos [massdriller] (Thanks to neko for point those out)
+ * Fixed Ayothaya warps.[massdriller] [Thanks to akusarujin]
+05/07
+ * Modified and added more npc location for healers [massdriller]
+ * Added city cleaners as these were reported systems that exist
+ in IRO & KRO [massdriller]
+05/05/05
+ * Balanced THQ Shop prices, fixed one missed label [Lupus]
+05/04
+ * Removed Horse Crest from the temp shop [Lupus]
+ * Borrowed Easter Event fix from Freya [Lupus]
+ * Fixed some script typos, thanks to zBuffer and Er Pirata
+04/29
+ * Alarm Mask Quest corrected txt 2 Shadow
+ * Added Penal Servitude script. Some quest for prisoners [Lupus]
+ This script works with kafra_bank.txt script
+ * Fixed a typo in the warpra, thanks to ShAPoNe
+04/27
+ * Added Einbroch and Ayothaya, cites and dungeons, to the Warpra [Fredzilla]
+ * Added the Engagement Quest into Ayothaya [Fredzilla]
+ * In accordance with this quest I have also added some needed warps
+04/26
+ * Some fixes of THG Quest [Lupus]
+ * Corrected view for Whitesmith NPC, thanks to Disiesel
+04/25
+ * Fixed typos in novice and thief job quests, thanks to zlider
+04/23
+ * Fixed 2 scripts which used old job_baby constant [Lupus]
+ * Removed old duplicate job change in Alchemist job quest, thanks to NeoSaro [DracoRPG]
+ * Added Hatii Baby spawn [Lupus]
+04/21
+ * Fixed THQ penalty again, added anti-cheat stuff [Lupus]
+ * changed item_avail.txt to support THQ [Lupus]
+ * Added Baby Class Support to Vallhallana. [Lupus]
+ * Added a missing check. Now Baby Classes can get 1st job [Lupus]
+ * Fixed few things in THQ Quest NPCs [Lupus]
+04/20
+ * Converted Treasure Hunters Guild (40 New Quests + Guild Shop) [Fredzilla]
+ * Added time penalty to THQ. To prevent exploits. [Lupus]
+ * Fixed Super Novice Job Quest (thanks to guy from eA forums .... <-- his name will be here)
+ * Removed one warp from Swordsman Assiciation (due to overlapping Job Quest Warp) [Lupus]
+ * Adding more NPC's to Louyang [celest]
+ * Updated Louyang city script, thanks to Dino9021
+ * Fixed Crusader Job quest (again). And several typos [Lupus]
+ * Fixed a typo in the custom jobchanger, thanks to manutdcom
+04/19
+ * Added custom jobchanger fix by Zoc
+ * Added custom Adoption script by Fredzilla [Lupus]
+ * Removed annoying Kafra Storage issue [Lupus]
+ * Fixed some Job Quests bugs (wrong constants, wrong variable names, etc) [Lupus]
+ * Redo tons of NPC - added Baby Class support to all renters, job questsm etc [Lupus]
+ * Added skillpoint check to Rogue job quest, thanks to Dino9021
+04/17
+ * Changed the assassin job quest npc to do an area announce instead of global,
+ thanks to NeoSaro
+ * Fixed a typo in Aldebaran script, thanks to NeoSaro
+04/16
+ * Added more correct Einbroch/Einbech monster spawn [Lupus]
+ * Fixed 1 warp map name - ein005a thx 2Exyle [Lupus]
+04/14
+ * Fixed typos in Louyang's mob spawns, thanks to Gwendalin
+ * Added nomemo mapflag to valkyrie, thanks to Dino9021
+ * Fixed typos in Alchemist JQ, Fixed bugs and typos in Assassin JQ [Lupus]
+04/09
+ * Added Einbroch monsters spawn, fixed one mapflag for Einnech mines [Lupus]
+ * valkyrie.txt Fixed: now alternative classes can use their 1-1 job NPC to become Advanced 1st Class [Lupus]
+04/08
+ * Fixed some Rogue Job Quest bugs [Lupus]
+04/06
+ * removed previous "fix". Please, never submit "fixes" w/o checking. [Lupus]
+ that guy didn't know about a special SN Kafra from supernovice.txt file.
+ * fixed payon's gemstones exchanger [Lupus]
+ * Set PCLoginEvent.txt to disabled by default [celest]
+04/04
+ * Changed "set @TEMP,rand(0);" to set "@TEMP,0;" in the Payon Fortune Teller script [DracoRPG]
+ We'll have to get all the fortunes, but they are more than 200...
+ * Finished Payon's Gemstone Exchanger, thanks to Dino9021 [DracoRPG]
+ * Added Deviling in the "Poring Island" map pay_fild04, 2 hours respawn [Lupus]
+04/03
+ * Finished Valkyrie. Now it correctly works. Valhallana reborns players to High Novices. [Lupus]
+ (added missed kRO condition: to reborn, player shouldn't have money nor items(equipment) )
+ Then Valhallana warps just reborn players to the home city of their main job.
+ On Job Level 10 of High Novice they can get 1st Advanced Job from correct 1-1 job quests NPC.
+ They'll get there all learnt skill quests.
+ On reaching 45 Job Level they may visit Valkyrie and get 2-2-1 / 2-1-1 class (3rd Job)
+ from a correct NPC.
+ * Fixed SKILL POINTS exploit in Assassin Job Quest [Lupus]
+03/31
+ * Payon : new NPCs scripted as far as I could and old ones updated (all from iRO) [DracoRPG]
+ * Corrected a G_GRYPHON spawn in umbala field to GRYPHON, thanks to CrasherZero
+03/29
+ * Corrected Amatsu warp points, thanks to Dino9021
+03/28
+ * Corrected Yuno warp points, thanks to Dino9021
+ * Added Yuno warps to the Aldebaran kafra NPC, thanks to Dino9021
+
+03/27
+ * Fixed Ant Hell warps, thanks to Dino9021
+ * Corrected positions for Thief and Archer quest skills NPCs, thanks to Dino9021
+
+03/24
+ * Added support for Emsolute Develop in the guild manager script [celest]
+ * Fixed the custom jobchanger allowing Super Novices to change to high novice,
+ thanks to CavaCava
+03/23
+ * WOE 1.3 Now you can't install Guardians during WOE [Lupus]
+ * Set only Storage/Cancel to Kafra in Niflheim. [Lupus]
+03/22
+ * Moved position for Marx Hansen to payon_in03, thanks to Dino9021 [celest]
+03/18
+ * Reduced label name length in heal_payment.txt [celest]
+ * Added Sara-chan's Einbroch/Einbech city warps [celest]
+
+03/17
+ * Fixed more typos in /cities/payon.txt, thanks to TheUltimateEnd [celest]
+
+03/16
+ * Fixed some typos in /cites/payon.txt, thanks to Hibiki [celest]
+
+03/15
+ * Fixed some typos in shops.txt, thanks to Dino9021 [celest]
+ * Fixed some bugs in the 32 new hats script, the custom jobchanger and platinum
+ skills script, thanks to midas [celest]
+
+03/11
+ * Reverted the Moving HP skill quest change, thanks to DracoRPG [celest]
+
+03/07
+ * Fixed a typo in high mage job changing, thanks to hongmei [celest]
+
+03/03
+ * Fixed Moving HP skill quest
+
+02/28
+ * warps/louyang.txt: Added 2 escapes from 2 mountains 018,019 [Lupus]
+ Some players used to stuck there after warps
+
+02/27
+ * Fixed some bugs in Monk Job Quest. Now it's fully passable. [Lupus]
+ Going to brush it up a bit later. First have to re-check Crusader+Assassin+Rogue quests ^_-
+02/26
+ * Now players can reach Guilds Dungeons only trough their own captured castles. [Lupus]
+ Before they coulkd enter the dungeons vie unoccupied castles. Thanks 2Ishizu-chan for fix
+02/16
+ * Fixed 1 payon castle guardian spawn coords
+ * Fixed Wootan and Beetle King names in the spawn files [Lupus]
+ * Fixed a typo in quests/all_quest.txt, thanks to hongmei [celest]
+ * Fixed treasure chests spawn in the castles. (had to simplify some code and unroll some loops) [Lupus]
+
+02/13
+ * Added midas's fixes for bugs in the novice training ground and the custom
+ jobchanger script [celest]
+
+10/02
+ * Fixed Wizard job quest (made only one agressive mob in the last room) [Lupus]
+
+01/10
+ * Fixed some typos and exploits in the Blacksmith and Hunter job quest,
+ thanks to Riotblade and nonox
+01/09/05
+ * Modified guild war scripts to fix a bug for duplicate guild storages. [Codemaster & Ajarn]
+8/1
+ * Added the new Yuno field warps by Sara-chan [celest]
+
+2/1
+ * Added missing Spore Doll to the Kaho Horns NPC (God... this was reported
+ months ago)
+ * The 'Lothar' NPC was asking for the wrong items, corrected thanks to Death's Mage
+01/01/05
+ * Fixed some respawn delays of MVP/Miniboss monsters. Redo Umbala/Niflheim fields, added missing mobs, corrected
+ monsters quantity. In Niflheim fixed wrong Lord of Death monster ID. [Lupus]
+12/30
+ * Fixed typo in priest.txt. [Mass Zero]
+ * Fixed some missing stuff, made monk.txt loading [Lupus]
+12/29
+ * Added Dino9021's monk job quest script - still need checking before adding to
+ scripts list [celest]
+ * Added gvg mapflags to the guild dungeons, and removed 4 items from
+ item_avail.txt, thanks Poki [celest]
+ * Translated npc/sample/npc_extend_shop.txt [MC Cameri]
+ * Translated npc/sample/bank_test.txt [MC Cameri]
+ * Fixed respawn delay of Toad and Golden Thief Bug (it was the actual_delay/2). Mob placement files should be revised again [Lupus]
+
+12/27
+ * kafra_bank.txt added an extra exploit protection [Lupus]
+ * kafra_bank.txt was missing an npc label [celest]
+ * Reverted gldfunc_dunsw.txt back. Some people report RC5 bugs, which have been fixed some months ago.
+ Next time always CHECK and READ the code, before implementing some stupid "fixes" from the forums 8) Peace [Lupus]
+ PS I'm reverting more guild files soon, to make them show the flags.
+
+12/24
+ * Fixed Whitesmith.txt, was on top of another npc [Ajarn]
+
+12/23
+ * Added logs into kafra_bank.txt (it keeps logs of all bank operations! Very handy to find abusers/cheaters) [Lupus]
+
+12/22
+ * Added Arrow Quivers to the scrolls_arrows.txt and removed some rare arrows from the shop [Lupus]
+ * Corrected a typo in other/pvp.txt [Ajarn]
+
+12/21
+ * Corrected position of start { in a crap load of scripts. [Ajarn]
+ - jA decided that it had to be on the definition line
+ - So, if it wasn't, the next script wouldn't load
+ * Corrected script errors in devnpc.txt [celest]
+
+12/20
+ * Addded npcs_athena.conf, OA style [MC Cameri]
+ * made samesex marriages give out the correct rings [MouseJstr]
+ * Changed $progress -> $@progress in wedding.txt (shadowlady put in comments but didn't add to code) [Aria]
+ * xmas.txt: Added Xmas Jakk, fixed 2 possible items exploits, fixed reward Box ID [Lupus]
+12/18
+ * My NPC is back in action [Aria]
+ * Added 2 temp kRO shops which sell Arrows, Magic Scrolls. Prices,coords, sprites are unsure, but exploitless [Lupus]
+
+12/12
+ * Added Town Inn's counting in my npc/other/mc_cameri/warper.txt [MC Cameri]
+
+12/11
+ * Fixed memory consumption in npc/other/mc_cameri/warper.txt [MC Cameri]
+
+12/10
+ * Added npc/other/mc_cameri/warper.txt, a warp npc just like warper2.txt that shows how many people are on each map. [MC Cameri]
+ * Newgearquests (14 files of 16) fixed possible exploits, added a missing close;
+ According to kro, changed ingredients of Indead Hairband quest [Lupus]
+12/08
+ * Changed ingredients of Ears of Demon Quest: Deviruchi Hat -> Evil Wing [Lupus]
+ * Added translated shop names for the Extended Shop, I'unno who made it. o.O; [Mass Zero]
+ * Changed Lord of Death spawn intervals to 90 minutes based on jRO [celest]
+ * Added nomemo flags for Niflheim and some maps [celest]
+ * Corrected Niflheim shops and Morroc jewel merchant - should sell Ruby
+ instead of Pearl [celest]
+
+12/07
+ * Added npc/other/mc_cameri/heal.txt, a heal npc that is as simple as one click healing [MC Cameri]
+ * Fixed Al De Baran to Mjolnir warp in Al De Baran [MC Cameri]
+ * Fixed all Newgear quests: arjen.txt,back_ribbon.txt,bear_hat.txt,burning_blood_bandana.txt,cat_hairband.txt
+ fox_mask.txt,hat_seller.txt,indian_headband.txt,mask_of_alarm.txt,mushroom_hairband.txt,neris.txt
+ old_blacksmith.txt,posture_fix_hat.txt,sea_otter_hat.txt,traveler.txt,tulip_hairpin.txt [Lupus]
+ * Fixed missing labels, missing delitem, wrong zeny amount, wrong items id, spelling [Lupus]
+ * Added Fox Mask quest. [Mass Zero]
+
+12/06 * Added seperate quests for the new headgears, missing Fox Mask and Orc Hero Helm. (I'll so 'em ASAP.) [Mass Zero]
+
+11/30 * Added Lutie shops
+ * Corrected some typos, thanks to leinsirk10
+
+11/28 * Added missing Niflheim monsters [shadow]
+
+11/27 * Added some Lou Yang NPC's [Mass Zero]
+ * Get Freya fixes of crusader.txt (announce->areaannounce), Mr.Smile(removed vulgar words) [Lupus]
+
+11/23 * - Fixed repairman prices (5k)(someone need to check if it requires a steel) [shadow]
+
+11/22 * - Now wedding merchant sells tuxedos for 43k, implemented a easier way to change prices of weddings.
+ - Fixed wrong label calling on jobchange.txt.
+ - Fixed a timer on momotaro.txt and translated tougijou.txt. Thanks to Shinomori .[shadow]
+11/20
+ * Reduced walking speed for davidsiaw's Dev NPC. [MC Cameri]
+ * Fixed some typos in MC Cameri's Dev NPC, walking speed, etc. [MC Cameri]
+ * Fixed spawns on umbala fields, Fixed spawn point of Amon Ra in morroc pyramids B2 [shadow]
+11/21
+ * niflheim.txt: some typos in some variables fixed (thx 2 Dr.Evil) [Lupus]
+
+11/19
+ * cmd_fild02.gat: fixed respawn delay of one Seal [Lupus]
+ * ev_agit_event.txt: Implemented Shadowlady's idea of allowing different woe start/stop times
+ for different days of the week.[kobra_k88]
+11/18
+ * Fixed typo in payon.txt [celest]
+ * - Fixed infinite zeny exploit in novice_skills.txt(other quest skills npcs need revision!!!)
+ - Fixed typos on izlude.txt, wrong label in umbala.txt [shadow]
+ * Added custom WOE warper (now you can get to Novice Castles from Prontera) [Lupus]
+ * Prontera.txt (Sewers) anti-novice exploit fix. should be added to any quests/banks where u once get free items/zeny [Lupus]
+11/17
+ * Added poetry npc to ayothaya [MouseJstr]
+ * Fixed valkyrie.txt (wrong condition check, temp var->perm vars) but it still has no exit for common players [Lupus]
+ * - Fixed guardians hp not updating when investment in defense is made.
+ - Moved treasure spawn times to ev_agit_event.txt.
+ - Changes to headers and comments in various scripts.[kobra_k88]
+11/16
+ * - grandpa_pharmacist.txt: Added subfunction for potion making as well as zeny/input
+ exploit safeguards. Used Lupus's "loopless" technique.
+ - juice_maker.txt: Added subfunction for juice making. Also changed amount of
+ fruit needed to 1.
+ - milk_trader.txt: Used Lupus's "loopless" technique. Added input exploit safegaurd.
+ - clothes_dyer.txt: Disabled dye for male Assassins.
+ - xmas.txt: Corrected some typos. [kobra_k88]
+ * - Removed Empty Bottle from amatsu shops to prevent exploits.
+ - Fixed Npc Position on Lutie( warper.txt and warper2.txt). [shadow]
+
+11/15
+ * - Fixed xmas.txt X-mas event, now you get a gift box when you first talk to Santa.
+ - Same script again...Fixed the spawns, its 1 antonio per map, and it was using only santa poring IDs. [shadow]
+
+11/14
+ - Fixed niflheim kafra. [shadow]
+ - Added the total new set of Advance Jobchangers after kRO description and screenshots. [Nana]
+
+11/13
+ * - Translated and Fixed momotaro.txt event [shadow]
+ * - Deleted folder other/old which was empty [MC Cameri]
+ * - Fixed MC Cameri's Bank NPC for the new payon [MC Cameri]
+ * - Fixed warps to Amatsu Dungeon (now u can get there via a special quest only) thanks to shadowlady [Lupus]
+ - Fixed logical bug in Sleipnir Alchem. sub-quest [Lupus]
+11/11
+ * - Fixed Jobchanger.txt and supernovice.txt [shadowlady]
+11/10
+ * - Fixed a bug on counteragent_mixture and quest_yuno(need to revise alchemist quest) [shadow]
+
+11/08
+ * - Temporary corrected an expliot in refine.txt. Need to check sources to fully fix bug [Shinigami]
+ * - Fixed 2 bugs on jobchanger.txt , not being able to change to Creator and Clown,
+ - Fixed a bug on mage.txt, not deleting the quest items.
+ - Fixes on bongunsword.txt and fashion.txt , wrong spaces and quest items.
+ - Added new Ayothana Mob listing, correct IDs, but need correct amount and respawn time. [shadow]
+11/07
+ * - Fixed platinum_skill.txt, now advanced classes get quest skills.
+ - Fixed a bug on novice.txt . [shadow]
+ * - lutie.txt: Edited text, updated/corrected triggers for the Jack Frost quest.
+ - comodo.txt, morocc.txt, doomed_swords.txt: Implemented all of the triggers for
+ the Doomed Swords quest based on mRO's version. Now the quest is much longer.
+ - pvp.txt: Added PvP Narrator function. Using args for Fight Square Helpers.
+ - Corrected some typos in item_db. Items 1143 and 1719 need to be re-checked.[kobra_k88]
+11/05
+ * Fixed and redo optional Umbalian quests:
+ - Wise Man Fabius' Umbalian Language Quest (you can learn Umbalian language in
+ alternative way)
+ - On speaking with Umbalian Chief about meaning of masks you activate Turban Thief Quest
+ (For Sphinx Mask)
+ * Fixed several bugs in Niflheim Piano Keys Quest (wrong variable name, missing CLOSE buttons)
+ Zeny/Item Exploit in Niflhein Sairin NPC quest (should add similiar checks in every
+ easy quests with expensive prizes to avoid exploits) [Lupus]
+11/05
+ * Added easter and xmas event npcs. Added custom blackjack npc.[kobra_k88]
+11/02
+ * Added unofficial nguild castles. Updated stats for Stone Shooter, Wooden Golem, Hyegun,
+ Civil Servant, Dancing Dragon, Baby Garm, and Increase Soil mobs in mob db. Drops are still
+ missing for some of them.[kobra_k88]
+11/01
+ * Set Comodo Kafra to warp to Umbala (11/2/04 patch) [Aria]
+10/31
+ * Fixed Dev NPCs giving off errors... [Aria]
+ * Fixed prob. with duplicating mobs in wizard.txt. Corrected some item names in sage.txt.
+ Corrected mode values for hornet, wolf, baby desert wolf, and peco peco in mob db.[kobra_k88]
+10/30
+ * Commented out unfinished Dev NPCs and added npc line to map_athena.conf [Aria]
+10/29
+ * Added missing Lmenu label to novice.txt.[kobra_k88]
+10/27
+ * Re-organized mob scripts.[kobra_k88]
+ * Updated mob placements with info from emperium.org.[Lupus]
+ * Fixed Aldebaran (gatekeeper conditions bugs and wrong Key ID). Fixed some typos in other cities [Lupus]
+ * assassin.txt, rogue.txt: added clothes dye reset before job change since thiefs with custom dyes
+ were getting errors upon job change. Updated towns.txt and nopenatly.txt mapflags.[kobra_k88]
+10/26
+ * Added more quotes -_- [Aria]
+ * Fixed Mouse's devnpc only saying his quotes once per server reset [Aria]
+ * Fixed Umbalian Quest, fixed Amatsu, fixed Niflheim NPCs, Warper2 NPC, fixed 1 warp [Lupus]
+
+10/25
+ * updated Mousejstr in devnpc [ MouseJstr]
+10/23
+ * Finished Aria and MC Cameri "Dev edition" NPCs. [Aria]
+ * gldfunc_ev_agit.txt: added F_AgitEnd func.
+ prtg_guardians.txt: fixed typos where I used OnInit instead of OnAgitInit.
+ Minor cosmetic changes to various guild script files. [kobra_k88]
+
+10/21
+ * Replaced some checkcart and checkoption(x) with checkcart(0) in the guild folder [Aria]
+ * Waiting for various devs to tell me their coords, map, biography, quotes,
+ moving coords, etc. In the meantime, I replaced them with (x,y),(lols),
+ (sprite),(somewhere), and if they didn't give me any info, I didn't
+ add them yet =P. [Aria]
+ * Added Davidsiaw, Shinigami, Lord, Codemaster, MouseJstr, MC Cameri, and Darkchild
+ to "Dev edition" NPCs [Aria]
+ * Revised "Dev edition" NPC layout a bit, should go smoother now. Should be final
+ layout unless something goes wrong =O. [Aria]
+ * Changed "Dev edition" NPC layout so that they move by themselves by timers. [Aria]
+ * Changed "Dev edition" NPCs to walk during quotes, and added biography. [Aria]
+ * Fixed quest/all_quest.txt not showing the correct description of the binoculars. [Aria]
+ * Fixed quest/all_quest.txt not going to stop pass and not displaying requirements. [Aria]
+ * Fixed clothes_dyer.txt: Disabled Assassing/Rogues Dye. Also fixed wrong labels [Lupus]
+ * Fixed hair_dyer.txt: fixed missing menu label [Lupus]
+ * new_hats.txt 1.4 fixed amount of Fish Tail (300 -> 30), Zeny bugs in Ear of Angel,
+ Ear of Demon,Big Golden Bell, Mistress Crown,
+ Crown of The Ancient Queen, Indian Headband, Orc Hero Helm [Lupus]
+ * Fixed name of a flower in Prontera quest (Dreamy->Illusion) according to our DB [Lupus]
+ * Fixed item names in the temp Crusader Job Quest according to our DB [Lupus]
+
+10/20
+ * Finished basic layout, finished Aria starting to create Shinigami [Aria]
+ * Started to create "Dev edition" npcs [Aria]
+ * Fixed Castle aldg504-1 warp [Lupus]
+ * Fixed Payon's Skirt of virgin quest [Lupus]
+ * Fixed Doomed swords quest [Lupus]
+ * Optimized mapflags (removed useless nobranc flag, where gvg flag is set)
+
+10/16
+ * Fixed my stupid mistake with the guild switches.
+ Moved shops from umbala.txt to shops.txt. Commented out the other ones.
+ Updated mapflags and re-organized them again. Files in "mapflag\type" folder are the
+ same as ones in "mapflag" folder, just organized differently. ONLY use 1 set.[kobra_k88]
+ * Corrected Morroc warp npc overlaying Kafra npc. [Aria]
+ * Corrected kafra typo. [Shinigami]
+ * Corrected zeny amount subtracted for iron hammer in refine.txt[kobra_k88]
+10/15
+ * Added kafra_bank NPC - a new bank with daily interst of 0.1#%. [Lupus]
+10/14
+ * Kafras: Fixed some minor typos. Corrected savepoints for geffen, orc dun, comodo kafras.
+ Added another argument to F_KafEnd. Added correct payon warp point.[kobra_k88]
+ * Forgot some qutoes in class check function calls in Blacksmith, Assassin, Wizard, Hunter
+ quests, added them.[kobra_k88]
+ * Added optimized version of WoE scripts. Moved old version to "old" folder.
+10/07
+ * Fixed Doctor Band items [Lupus]
+10/06
+ * Removed a left over if statement that caused the Blacksmith script to hang durring
+ job change.[kobra_k88]
+10/04
+ * Implemented class check functions in all skills quests except novice. [kobra_k88]
+ * Implemented class check functions in hunter, blacksmith, wizard, and
+ assassin quests. Fixed some bugs in assassin quest. Also implemented
+ new Ontouch label function and close2 command in assassin.txt.(see file for details). [kobra_k88]
+ * Removed single job check functions from Global_Functions.txt and completed
+ the rest of the multiple job check funtions. Also added advanced and high
+ job classes to the checks.[kobra_k88]
+ * Fixed some typos in inn.txt. Switched from @variables to arguments. [kobra_k88]
+
+10/03
+ * Minor changes in Counteragent/Mixture Morgenstein Quest, a fix of Uneasy Cemetary [Lupus]
+
+10/02
+ * Added Crusader Quest [Lupus]
+
+09/26
+ * Cleared Up Npc Folder For Release [Darkchild]
+
+09/24
+ * Added Sage Job Quest [Darkchild]
+ * Updated a few Payon files [Darkchild]
+ - Removed Double Warp
+ - Placed BunnyBand Quest Npc Better
+ - Updated Pvp People's Locations
+ - Updated Warper/Warper2 Loc and Warp
+ - Same for Wapra 2
+ - Removed Msg Boards In Payon
+ - Updated Heal and Heal Payment Loc
+ - Commented Out a Falcon Renter which shouldnt be there
+ - Updated Guide's Viewpoints
+ - Bugs Were All Reported On The Forums
+ * Update Heal and Heal Payment Npcs To All Be Healrings [Darkchild]
+
+09/23
+ * Added a loopless option "Gimme as many as possible" into Juice Maker quest [Lupus]
+
+09/19
+ * Added missing warp mjol17 [Lupus]
+
+09/17
+ * Added Correct Niflheim Dialogs
+
+09/16
+ * Added nude; to palace guard in payon, will disarm player [Darkchild]
+
+09/14
+ * Added New Dye Npc, Has 'browse' option [Darkchild]
+ * Fixed skillpoints check in Hunter Job Quest [Lupus]
+
+09/13
+ * Added better save point inside city for payon [Darkchild]
+ * Fixed lil bug in Drunk npc in payon [Darkchild]
+
+09/12
+ * Deleted Old Non-Quest Alchemist Job Change [Darkchild]
+ * Added Alchemist Job Quest [Darkchild]
+ * Added Alchemist Shop [Darkchild]
+ * Changed Bain Bro's To Work With Alchemist Quest [Darkchild]
+ * Changed CounterAgent and Mixture Quest To Work With Alchemist Quest [Darkchild]
+ * Added Inn Npcs [Darkchild]
+
+09/10
+ * Added cities/payon.txt. All Npcs at correct location, only 5 npcs arent translated. [Darkchild]
+ * Submitted Alchemyst Job Quest and Sage Job Quest (to help DC in his work). These quests are ports. [Lupus]
+
+09/07
+ * Better New Payon, All Except cities, will do 2morrow :P [Darkchild]
+ * Added Rogue job quest. [kobra_k88]
+ * Added missing cutin commands to town guides. [kobra_k88]
+ * Removed the delitem 2312(padded armor) in swordman_skills.txt as the
+ armor is not supposed to be removed. The npc is only supposed to check
+ for it and not delete it. This is how it is on official servers. [kobra_k88]
+ * Removed duplicate waprs from izlude.txt, comodo.txt, morroc.txt, and jobquest.txt.
+ Added complete rogue warps. Removed traingnd.txt file as those warps are
+ already in jobquest.txt. Added correct tabs to first 2 warps in louyang.txt. [kobra_k88]
+ * Fixed various typos in kafra files. Now using arrays for the teleport service.
+ Also added guild options. [kobra_k88]
+
+09/06
+ * Forgot the dun/field warps for payon, added now! [Darkchild]
+ * Fixed: add a forgotten "delitem 2312,1;" in quest/skills/swordmand_skils.txt [Yor]
+
+09/05
+ * Fixed 2 Bugs In Super Novice Script [Darkchild]
+ * Added Super Novice Official Quest [Darkchild]
+
+ - Started Changelog: Same As Normal Changelog, but now for scripts, here we can put every lil thing we change :)
diff --git a/npc/airports/airships.txt b/npc/airports/airships.txt
new file mode 100644
index 000000000..cc4dbf43e
--- /dev/null
+++ b/npc/airports/airships.txt
@@ -0,0 +1,439 @@
+//===== eAthena Script =======================================
+//= The Airship System Script
+//===== By: ==================================================
+//= MasterOfMuppets
+//===== Current Version: =====================================
+//= 0.1
+//===== Compatible With: =====================================
+//= eAthena SVN 3422+(Requires jA Script System)
+//===== Description: =========================================
+//= The Airship System used in the official servers, however this
+//= one is still about 25% custom and is missing some npcs.
+//===== Additional Comments: =================================
+//= 0.1 Added first version, it might be a little buggy [MasterOfMuppets]
+//= 0.1a Fixed the Airport Staff#Iz which was [MasterOfMuppets]
+//= warping you to the same location as Airport Staff#Ein
+//============================================================
+
+//============================================================
+//= The Airship System (Yuno -> Hugel -> Einbroch -> Lighthalzen -> repeat)
+//============================================================
+
+airplane.gat,243,74,4 script #AirshipWarp-1 45,2,2{
+OnTouch:
+ if($airplanelocation == 1)warp "einbroch.gat",90,275;
+ if($airplanelocation == 2)warp "yuno.gat",85,265;
+ if($airplanelocation == 3)warp "lighthalzen.gat",302,75;
+ if($airplanelocation == 4)warp "hugel.gat",182,150;
+ end;
+
+OnHide:
+ misceffect 16;
+ end;
+OnUnhide:
+ misceffect 215;
+ end;
+}
+
+airplane.gat,243,29,4 script #AirshipWarp-2 45,2,2{
+OnTouch:
+ if($airplanelocation == 1)warp "einbroch.gat",90,275;
+ if($airplanelocation == 2)warp "yuno.gat",85,265;
+ if($airplanelocation == 3)warp "lighthalzen.gat",302,75;
+ if($airplanelocation == 4)warp "hugel.gat",182,150;
+ end;
+
+OnHide:
+ misceffect 16;
+ end;
+OnUnhide:
+ misceffect 215;
+ end;
+}
+
+airplane.gat,1,1,0 script EinYuno_Airship -1,{
+OnInit:
+while(1)
+{
+ initnpctimer;
+ setnpctimer 0;
+ set $airplanelocation,0;
+ donpcevent "#AirshipWarp-1::OnHide";
+ donpcevent "#AirshipWarp-2::OnHide";
+ disablenpc "#AirshipWarp-1";
+ disablenpc "#AirshipWarp-2";
+ mapannounce "airplane.gat","The Airship is leaving the ground. Our next destination is Hugel.",1,0xBA55D3;
+ end;
+OnTimer15000:
+ mapannounce "airplane.gat","We are heading to Hugel.",1,0xBA55D3;
+ end;
+OnTimer30000:
+ mapannounce "airplane.gat","We will arrive in Hugel shortly.",1,0xBA55D3;
+ end;
+OnTimer45000:
+ set $airplanelocation,4;
+ enablenpc "#AirshipWarp-1";
+ enablenpc "#AirshipWarp-2";
+ donpcevent "#AirshipWarp-1::OnUnhide";
+ donpcevent "#AirshipWarp-2::OnUnhide";
+ mapannounce "airplane.gat","Welcome to Hugel. Have a safe trip.",1,0xBA55D3;
+ end;
+OnTimer55000:
+ mapannounce "airplane.gat","Currently we are in Hugel. The Airship will leave shortly.",1,0xBA55D3;
+ end;
+OnTimer65000:
+ set $airplanelocation,0;
+ donpcevent "#AirshipWarp-1::OnHide";
+ donpcevent "#AirshipWarp-2::OnHide";
+ disablenpc "#AirshipWarp-1";
+ disablenpc "#AirshipWarp-2";
+ mapannounce "airplane.gat","The Airship is leaving the ground. Our next destination is Einbroch.",1,0x00FF00;
+ end;
+OnTimer80000:
+ mapannounce "airplane.gat","We are heading to Einbroch.",1,0x00FF00;
+ end;
+OnTimer95000:
+ mapannounce "airplane.gat","We will arrive in Einbroch shortly.",1,0x00FF00;
+ end;
+OnTimer110000:
+ set $airplanelocation,1;
+ enablenpc "#AirshipWarp-1";
+ enablenpc "#AirshipWarp-2";
+ donpcevent "#AirshipWarp-1::OnUnhide";
+ donpcevent "#AirshipWarp-2::OnUnhide";
+ mapannounce "airplane.gat","Welcome to Einbroch. Have a safe trip.",1,0x00FF00;
+ end;
+OnTimer120000:
+ mapannounce "airplane.gat","Currently we are in Einbroch. The Airship will take off shortly.",1,0x00FF00;
+ end;
+OnTimer130000:
+ set $airplanelocation,0;
+ donpcevent "#AirshipWarp-1::OnHide";
+ donpcevent "#AirshipWarp-2::OnHide";
+ disablenpc "#AirshipWarp-1";
+ disablenpc "#AirshipWarp-2";
+ mapannounce "airplane.gat","The Airship is leaving the ground. Our next destination is Lighthalzen.",1,0xFF6347;
+ end;
+OnTimer145000:
+ mapannounce "airplane.gat","We are heading to Lighthalzen.",1,0xFF6347;
+ end;
+OnTimer160000:
+ mapannounce "airplane.gat","We will arrive in Lighthalzen shortly.",1,0xFF6347;
+ end;
+OnTimer175000:
+ set $airplanelocation,3;
+ enablenpc "#AirshipWarp-1";
+ enablenpc "#AirshipWarp-2";
+ donpcevent "#AirshipWarp-1::OnUnhide";
+ donpcevent "#AirshipWarp-2::OnUnhide";
+ mapannounce "airplane.gat","Welcome to Lighthalzen. Have a safe trip.",1,0xFF6347;
+ end;
+OnTimer185000:
+ mapannounce "airplane.gat","Currently we are in Lighthalzen. The Airship will leave shortly.",1,0xFF6347;
+ end;
+OnTimer195000:
+ set $airplanelocation,0;
+ donpcevent "#AirshipWarp-1::OnHide";
+ donpcevent "#AirshipWarp-2::OnHide";
+ disablenpc "#AirshipWarp-1";
+ disablenpc "#AirshipWarp-2";
+ mapannounce "airplane.gat","The Airship is now taking off. Our next destination is Yuno.",1,0x70DBDB;
+ end;
+OnTimer210000:
+ mapannounce "airplane.gat","We are heading to Yuno.",1,0x70DBDB;
+ end;
+OnTimer225000:
+ mapannounce "airplane.gat","We will arrive in Yuno shortly.",1,0x70DBDB;
+ end;
+OnTimer240000:
+ set $airplanelocation,2;
+ enablenpc "#AirshipWarp-1";
+ enablenpc "#AirshipWarp-2";
+ donpcevent "#AirshipWarp-1::OnUnhide";
+ donpcevent "#AirshipWarp-2::OnUnhide";
+ mapannounce "airplane.gat","Welcome to Yuno. Have a safe trip.",1,0x70DBDB;
+ end;
+OnTimer250000:
+ mapannounce "airplane.gat","Currently we are in Yuno. The Airship will leave shortly.",1,0x70DBDB;
+ end;
+OnTimer260000:
+ stoptimer;
+}
+}
+
+//C4644E
+
+//============================================================
+//= Some normal NPCS (airplane.gat)
+//============================================================
+
+airplane.gat,240,64,5 script Exit 857,{
+
+end;
+
+}
+
+airplane.gat,247,64,5 duplicate(Exit) Exit 857
+
+airplane.gat,240,39,1 duplicate(Exit) Exit 857
+
+airplane.gat,247,39,1 duplicate(Exit) Exit 857
+
+airplane.gat,100,69,2 script Airship Crew 852,{
+
+ mes "[Airship Crew]";
+ mes "If we've landed at";
+ mes "your destination and";
+ mes "you'd like to leave the";
+ mes "Airship, please use the";
+ mes "stairs up ahead. Thank";
+ mes "you for you patronage.";
+ close;
+
+}
+
+//============================================================
+//= The Airship System (Yuno -> Izlude -> Repeat)
+//============================================================
+
+airplane_01.gat,243,74,4 script #AirshipWarp-3 45,2,2{
+OnTouch:
+ if($airplanelocation2 == 1)warp "izlude.gat",202,56;
+ if($airplanelocation2 == 2)warp "yuno.gat",20,265;
+ end;
+
+OnHide:
+ misceffect 16;
+ end;
+OnUnhide:
+ misceffect 215;
+ end;
+}
+
+airplane_01.gat,243,29,4 script #AirshipWarp-4 45,2,2{
+OnTouch:
+ if($airplanelocation2 == 1)warp "izlude.gat",202,56;
+ if($airplanelocation2 == 2)warp "yuno.gat",20,265;
+
+OnHide:
+ misceffect 16;
+ end;
+OnUnhide:
+ misceffect 215;
+ end;
+}
+
+airplane_01.gat,1,1,0 script YunoIzl_Airship -1,{
+OnInit:
+while(1)
+{
+ initnpctimer;
+ setnpctimer 0;
+ set $airplanelocation2,0;
+ donpcevent "#AirshipWarp-3::OnHide";
+ donpcevent "#AirshipWarp-4::OnHide";
+ disablenpc "#AirshipWarp-3";
+ disablenpc "#AirshipWarp-4";
+ mapannounce "airplane_01.gat","The Airship is leaving the ground. Our next destination is Izlude.",1,0x00FF00;
+ end;
+OnTimer15000:
+ mapannounce "airplane_01.gat","We are heading to Izlude.",1,0x00FF00;
+ end;
+OnTimer30000:
+ mapannounce "airplane_01.gat","We will arrive in Izlude shortly.",1,0x00FF00;
+ end;
+OnTimer45000:
+ set $airplanelocation2,1;
+ enablenpc "#AirshipWarp-3";
+ enablenpc "#AirshipWarp-4";
+ donpcevent "#AirshipWarp-3::OnUnhide";
+ donpcevent "#AirshipWarp-4::OnUnhide";
+ mapannounce "airplane_01.gat","Welcome to Izlude. Have a safe trip.",1,0x00FF00;
+ end;
+OnTimer55000:
+ mapannounce "airplane_01.gat","Currently we are in Izlude. The Airship will leave shortly.",1,0x00FF00;
+ end;
+OnTimer65000:
+ set $airplanelocation2,0;
+ donpcevent "#AirshipWarp-3::OnHide";
+ donpcevent "#AirshipWarp-4::OnHide";
+ disablenpc "#AirshipWarp-3";
+ disablenpc "#AirshipWarp-4";
+ mapannounce "airplane_01.gat","The Airship is leaving the ground. Our next destination is Yuno.",1,0x70DBDB;
+ end;
+OnTimer80000:
+ mapannounce "airplane_01.gat","We are heading to Yuno.",1,0x70DBDB;
+ end;
+OnTimer95000:
+ mapannounce "airplane_01.gat","We will arrive in Yuno shortly.",1,0x70DBDB;
+ end;
+OnTimer110000:
+ set $airplanelocation2,2;
+ enablenpc "#AirshipWarp-3";
+ enablenpc "#AirshipWarp-4";
+ donpcevent "#AirshipWarp-3::OnUnhide";
+ donpcevent "#AirshipWarp-4::OnUnhide";
+ mapannounce "airplane_01.gat","Welcome to Yuno. Have a safe trip.",1,0x70DBDB;
+ end;
+OnTimer120000:
+ mapannounce "airplane_01.gat","Currently we are in Yuno. The Airship will take off shortly.",1,0x70DBDB;
+ end;
+OnTimer130000:
+ stoptimer;
+}
+}
+
+//============================================================
+//= Some normal NPCS (airplane_01.gat)
+//============================================================
+
+airplane_01.gat,240,64,5 duplicate(Exit) Exit 857
+
+airplane_01.gat,247,64,5 duplicate(Exit) Exit 857
+
+airplane_01.gat,240,39,1 duplicate(Exit) Exit 857
+
+airplane_01.gat,247,39,1 duplicate(Exit) Exit 857
+
+airplane_01.gat,100,69,2 duplicate(Airship Crew) Airship Crew 852
+
+//============================================================
+//= The Izlude Airship Staff
+//============================================================
+
+izlude.gat,201,54,3 script Airship Staff#izl 91,{
+
+ mes "[Airship Staff]";
+ mes "Welcome to the Izlude Airship.";
+ mes "How may I help you?";
+ next;
+ menu "Board the Airship",-,"Cancel",L_Cancel;
+
+ mes "[Airship Staff]";
+ mes "The Airship boarding fee";
+ mes "is 1,200 zeny, but if you've";
+ mes "got a Free Ticket for Airship,";
+ mes "the fee will be waived. Will";
+ mes "you board the Airship?";
+ next;
+ menu "Yes",-,"No",L_Cancel;
+
+ if(countitem(7311) > 0) goto L_GotTicket;
+ if(Zeny < 1200) goto L_NoZeny;
+ set Zeny, Zeny - 1200;
+ warp "airplane_01.gat",224,64;
+ close;
+
+ L_GotTicket:
+ delitem 7311,1;
+ warp "airplane_01.gat",224,64;
+ close;
+
+ L_NoZeny:
+ mes "[Airship Staff]";
+ mes "You don't have enough zeny.";
+ close;
+
+ L_Cancel:
+ mes "[Airship Staff]";
+ mes "Thank you and";
+ mes "have a nice day.";
+ close;
+}
+
+//============================================================
+//= The Hugel Airship Staff
+//============================================================
+
+hugel.gat,182,150,3 script Airship Staff#hu 91,{
+
+ mes "[Airship Staff]";
+ mes "Welcome to the Schwartzwald Republic's Airship.";
+ mes "How may I help you?";
+ next;
+ menu "Board the Airship",-,"Cancel",L_Cancel;
+
+ mes "[Airship Staff]";
+ mes "The Airship boarding fee";
+ mes "is 1,200 zeny, but if you've";
+ mes "got a Free Ticket for Airship,";
+ mes "the fee will be waived. Will";
+ mes "you board the Airship?";
+ next;
+ menu "Yes",-,"No",L_Cancel;
+
+ if(countitem(7311) > 0) goto L_GotTicket;
+ if(Zeny < 1200) goto L_NoZeny;
+ set Zeny, Zeny - 1200;
+ warp "airplane.gat",224,64;
+ close;
+
+ L_GotTicket:
+ delitem 7311,1;
+ warp "airplane.gat",224,64;
+ close;
+
+ L_NoZeny:
+ mes "[Airship Staff]";
+ mes "You don't have enough zeny.";
+ close;
+
+ L_Cancel:
+ mes "[Airship Staff]";
+ mes "Thank you and";
+ mes "have a nice day.";
+ close;
+}
+
+//============================================================
+//= Yuno Airport NPCs
+//============================================================
+
+y_airport.gat,144,63,4 script Airport Staff#Ein 91,{
+
+ mes "[Airship Staff]";
+ mes "Good day!";
+ mes "Would you like to go";
+ mes "to ^FF0000Einbroch^000000,^FF0000Hugel^000000 or";
+ mes "^FF0000Lighthalzen^000000?";
+ next;
+ menu "Yes.",s_Warp,"No.",-;
+
+ mes "[Airship Staff]";
+ mes "Thank you and";
+ mes "have a nice day.";
+ close;
+
+s_Warp:
+ mes "[Airship Staff]";
+ mes "Thank you and";
+ mes "have a nice day.";
+ close2;
+ warp "yuno.gat",57,240;
+ end;
+
+}
+
+y_airport.gat,141,63,4 script Airport Staff#Izl 91,{
+
+ mes "[Airship Staff]";
+ mes "Good day!";
+ mes "Would you like to go";
+ mes "to ^FF0000Izlude^000000?";
+ next;
+ menu "Yes.",s_Warp,"No.",-;
+
+ mes "[Airship Staff]";
+ mes "Thank you and";
+ mes "have a nice day.";
+ close;
+
+s_Warp:
+ mes "[Airship Staff]";
+ mes "Thank you and";
+ mes "have a nice day.";
+ close2;
+ warp "yuno.gat",50,240;
+ end;
+
+}
diff --git a/npc/airports/einbroch.txt b/npc/airports/einbroch.txt
new file mode 100644
index 000000000..05f81644b
--- /dev/null
+++ b/npc/airports/einbroch.txt
@@ -0,0 +1,97 @@
+//===== eAthena Script =======================================
+//= Einbroch Airport Staff
+//===== By: ==================================================
+//= L0ne_W0lf, Muad_Dib
+//===== Current Version: =====================================
+//= 1.1a
+//===== Compatible With: =====================================
+//= eAthena Revision 3000+
+//===== Description: =========================================
+//= Einbroch Airport Staff
+//===== Additional Comments: =================================
+//= Converted by Dr.Evil, 1.0b more typos and credits [Lupus]
+//= 1.1 Fixed wrong check, added extra condition [Justin84]
+//============================================================
+
+
+airport.gat,126,43,4 script Airport Staff#1::AirportE 90,{
+ mes "[Airport Staff]";
+ mes "Welcome to the Airport.";
+ mes "How may I help you?";
+ next;
+ menu "Board the Airship",-,"Cancel",L_Cancel;
+
+ mes "[Airport Staff]";
+ mes "The Airship boarding fee";
+ mes "is 1,200 zeny, but if you've";
+ mes "got a Free Ticket for Airship,";
+ mes "the fee will be waived. Will";
+ mes "you board the Airship?";
+ next;
+ menu "Yes",-,"No",L_Cancel;
+
+ if(countitem(7311) > 0) goto L_GotTicket;
+ if(Zeny < 1200) goto L_NoZeny;
+ set Zeny, Zeny - 1200;
+ warp "airport.gat",148,51;
+ close;
+
+ L_GotTicket:
+ delitem 7311,1;
+ warp "airport.gat",148,51;
+ close;
+
+ L_NoZeny:
+ mes "[Airport Staff]";
+ mes "You don't have enough zeny.";
+ close;
+
+ L_Cancel:
+ mes "[Airport Staff]";
+ mes "Thank you and";
+ mes "have a nice day.";
+ close;
+}
+
+airport.gat,143,43,4 duplicate(AirportE) Airport Staff#2 90,{
+// script Airport_Staff_In;
+}
+airport.gat,156,43,4 duplicate(AirportE) Airport Staff#3 90,{
+// script Airport_Staff_In;
+}
+
+airport.gat,126,51,4 script Airport Staff#4::AirportE2 90,{
+ mes "[Airport Staff]";
+ mes "Welcome~";
+ mes "Please head this";
+ mes "way to board the Airship.";
+ next;
+ menu "Exit to Main Terminal",-,"Cancel",L_Cancel;
+
+ mes "[Airport Staff]";
+ mes "If you leave the";
+ mes "main terminal, you'll";
+ mes "have to pay the admission";
+ mes "fee again in order to board";
+ mes "the Airship. Are you sure";
+ mes "that you want to exit?";
+ next;
+ menu "Yes",-,"No",L_Cancel;
+
+ warp "airport.gat",142,40;
+ close;
+
+ L_Cancel:
+ mes "[Airport Staff]";
+ mes "Alright, thank you";
+ mes "for your patronage";
+ mes "and I hope you have";
+ mes "a pleasant flight~";
+ close;
+}
+
+airport.gat,143,51,4 duplicate(AirportE2) Airport Staff#5 90,{
+}
+
+airport.gat,156,51,4 duplicate(AirportE2) Airport Staff#6 90,{
+}
diff --git a/npc/airports/lighthalzen.txt b/npc/airports/lighthalzen.txt
new file mode 100644
index 000000000..8286778b9
--- /dev/null
+++ b/npc/airports/lighthalzen.txt
@@ -0,0 +1,96 @@
+//===== eAthena Script =======================================
+//= Lighthalzen Airport Staff
+//===== By: ==================================================
+//= L0ne_W0lf, Muad_Dib
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena Revision 3000+
+//===== Description: =========================================
+//= Lighthalzen Airport Staff
+//===== Additional Comments: =================================
+//= 1.0 Cloned from einbroch.txt [Justin84]
+//============================================================
+
+
+lhz_airport.gat,126,43,4 script Airport Staff#1::AirportL 90,{
+ mes "[Airport Staff]";
+ mes "Welcome to the Airport.";
+ mes "How may I help you?";
+ next;
+ menu "Board the Airship",-,"Cancel",L_Cancel;
+
+ mes "[Airport Staff]";
+ mes "The Airship boarding fee";
+ mes "is 1,200 zeny, but if you've";
+ mes "got a Free Ticket for Airship,";
+ mes "the fee will be waived. Will";
+ mes "you board the Airship?";
+ next;
+ menu "Yes",-,"No",L_Cancel;
+
+ if(countitem(7311) > 0) goto GotTicket;
+ if(zeny < 1200) goto L_NoZeny;
+ set Zeny,zeny-1200;
+ warp "lhz_airport.gat",148,51;
+ close;
+
+ GotTicket:
+ delitem 7311,1;
+ warp "lhz_airport.gat",148,51;
+ close;
+
+ L_NoZeny:
+ mes "[Airport Staff]";
+ mes "You don't have enough zeny.";
+ close;
+
+ L_Cancel:
+ mes "[Airport Staff]";
+ mes "Thank you and";
+ mes "have a nice day.";
+ close;
+}
+
+lhz_airport.gat,143,43,4 duplicate(AirportL) Airport Staff#2 90,{
+// script Airport_Staff_In;
+}
+lhz_airport.gat,156,43,4 duplicate(AirportL) Airport Staff#3 90,{
+// script Airport_Staff_In;
+}
+
+lhz_airport.gat,126,51,4 script Airport Staff#4::AirportL2 90,{
+ mes "[Airport Staff]";
+ mes "Welcome~";
+ mes "Please head this";
+ mes "way to board the Airship.";
+ next;
+ menu "Exit to Main Terminal",-,"Cancel",L_Cancel;
+
+ mes "[Airport Staff]";
+ mes "If you leave the";
+ mes "main terminal, you'll";
+ mes "have to pay the admission";
+ mes "fee again in order to board";
+ mes "the Airship. Are you sure";
+ mes "that you want to exit?";
+ next;
+ menu "Yes",-,"No",L_Cancel;
+
+ warp "lhz_airport.gat",142,40;
+ close;
+
+ L_Cancel:
+ mes "[Airport Staff]";
+ mes "Alright, thank you";
+ mes "for your patronage";
+ mes "and I hope you have";
+ mes "a pleasant flight~";
+ close;
+}
+
+lhz_airport.gat,143,51,4 duplicate(AirportL2) Airport Staff#5 90,{
+}
+
+lhz_airport.gat,156,51,4 duplicate(AirportL2) Airport Staff#6 90,{
+}
diff --git a/npc/airports/yuno.txt b/npc/airports/yuno.txt
new file mode 100644
index 000000000..1924b4ea0
--- /dev/null
+++ b/npc/airports/yuno.txt
@@ -0,0 +1,96 @@
+//===== eAthena Script =======================================
+//= Yuno Airport Staff
+//===== By: ==================================================
+//= L0ne_W0lf, Muad_Dib
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena Revision 3000+
+//===== Description: =========================================
+//= Yuno Airport Staff
+//===== Additional Comments: =================================
+//= 1.0 Cloned from Einbroch [Justin84]
+//============================================================
+
+
+y_airport.gat,126,43,4 script Airport Staff#1::AirportY 90,{
+ mes "[Airport Staff]";
+ mes "Welcome to the Airport.";
+ mes "How may I help you?";
+ next;
+ menu "Board the Airship",-,"Cancel",L_Cancel;
+
+ mes "[Airport Staff]";
+ mes "The Airship boarding fee";
+ mes "is 1,200 zeny, but if you've";
+ mes "got a Free Ticket for Airship,";
+ mes "the fee will be waived. Will";
+ mes "you board the Airship?";
+ next;
+ menu "Yes",-,"No",L_Cancel;
+
+ if(countitem(7311) > 0) goto GotTicket;
+ if(zeny < 1200) goto L_NoZeny;
+ set Zeny,zeny-1200;
+ warp "y_airport.gat",148,51;
+ close;
+
+ GotTicket:
+ delitem 7311,1;
+ warp "y_airport.gat",148,51;
+ close;
+
+ L_NoZeny:
+ mes "[Airport Staff]";
+ mes "You don't have enough zeny.";
+ close;
+
+ L_Cancel:
+ mes "[Airport Staff]";
+ mes "Thank you and";
+ mes "have a nice day.";
+ close;
+}
+
+y_airport.gat,143,43,4 duplicate(AirportY) Airport Staff#2 90,{
+// script Airport_Staff_In;
+}
+y_airport.gat,156,43,4 duplicate(AirportY) Airport Staff#3 90,{
+// script Airport_Staff_In;
+}
+
+y_airport.gat,126,51,4 script Airport Staff#4::AirportY2 90,{
+ mes "[Airport Staff]";
+ mes "Welcome~";
+ mes "Please head this";
+ mes "way to board the Airship.";
+ next;
+ menu "Exit to Main Terminal",-,"Cancel",L_Cancel;
+
+ mes "[Airport Staff]";
+ mes "If you leave the";
+ mes "main terminal, you'll";
+ mes "have to pay the admission";
+ mes "fee again in order to board";
+ mes "the Airship. Are you sure";
+ mes "that you want to exit?";
+ next;
+ menu "Yes",-,"No",L_Cancel;
+
+ warp "y_airport.gat",142,40;
+ close;
+
+ L_Cancel:
+ mes "[Airport Staff]";
+ mes "Alright, thank you";
+ mes "for your patronage";
+ mes "and I hope you have";
+ mes "a pleasant flight~";
+ close;
+}
+
+y_airport.gat,143,51,4 duplicate(AirportY2) Airport Staff#5 90,{
+}
+
+y_airport.gat,156,51,4 duplicate(AirportY2) Airport Staff#6 90,{
+}
diff --git a/npc/cities/alberta.txt b/npc/cities/alberta.txt
new file mode 100644
index 000000000..1c677247d
--- /dev/null
+++ b/npc/cities/alberta.txt
@@ -0,0 +1,861 @@
+//===== eAthena Script =======================================
+//= Alberta Town
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.7
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Fully working
+//= 1.1 Negative input bug fixed [Lupus]
+//= 1.2 Fixed typos in script [massdriller]
+//= 1.3 Ran through spellcheck system [massdriller]
+//= 1.4 Someone forget a .gat in an NPC header [Fredzilla]
+//= 1.5 Fixed typo in script. [massdriller]
+//= 1.6 Fixed some typos, optimized, added Gotanblue#2 to be able to return back to Alberta [Lupus]
+//= 1.7 Fixed Phelix bugs [Lupus]
+//============================================================
+
+
+
+// Young Man -----------------------------------------------------------
+alberta_in.gat,20,183,6 script Young Man 49,{
+ mes "[Merchant]";
+ mes "People say that ^0000ffGungnir^000000, the legendary spear, never misses its' target. If that's true, then it's simply amazing.";
+ close;
+}
+
+// Merchant -------------------------------------------------
+alberta.gat,97,51,7 script Merchant 84,{
+ mes "[Merchant]";
+ mes "When you travel to many places like I do, you often here a lot of rumors. There is one rumor I heard that is really interesting.";
+ next;
+ mes "[Merchant]";
+ mes "Apparently there are cards which seal the power of certain monsters within them.";
+ mes "If someone is able to obtain one of those cards, he/she will obtain the power of the monster...";
+ next;
+ mes "[Merchant]";
+ mes "Bah! I don't believe it though.";
+ close;
+}
+
+// Merchant ---------------------------------------------------------
+alberta.gat,53,39,8 script Merchant 74,{
+ mes "[Merchant]";
+ mes "Oh, you look like a stranger. Welcome to Alberta.";
+ emotion 0;
+ next;
+ mes "[Merchant]";
+ mes "I was just brainstorming on some ideas I have for my business.";
+ next;
+ mes "[Merchant]";
+ mes "You see, I heard that there is a store in Geffen that sells unique armor that is resistant to magic attacks.";
+ mes "If I could somehow get them in bulk for a low price and sell them to the people in other towns......";
+ next;
+ mes "[Merchant]";
+ mes "Cha-Ching! (you see dollar signs in her eyes)";
+ emotion 8;
+ close;
+}
+
+// Merchant -------------------------------------------------
+alberta.gat,58,80,8 script Merchant 99,{
+ mes "[Merchant]";
+ if(rand(2)) goto R_1;
+ mes "We merchants can open a roadside stand and do business. With the ^0000ffDiscount skill^000000 we can buy goods from stores for low prices.";
+ next;
+ mes "[Merchant]";
+ mes "We can also rent carts which allow us to load up with goods and make our business portable.";
+ mes "This way, business is more convenient and safe.";
+ close;
+ R_1:
+ mes "We merchants can negotiate with store NPCs to get more money for items we sell to them by using the skill ^ff0000Overcharge^000000.";
+ next;
+ mes "[Merchant]";
+ mes "The most we can overcharge NPCs is by 24%, but it takes some hard work and training to get the skill!!";
+ close;
+}
+
+// Phina -------------------------------------------------------
+alberta.gat,62,156,2 script Phina 102,{
+ set @TEMP,rand(3);
+ mes "[Phina]";
+ if(@TEMP == 1) goto R_1;
+ if(@TEMP == 0) goto R_0;
+ mes "This one time, I was walking in the forest and I saw a long, slender piece of green grass sticking out on the ground.";
+ next;
+ mes "[Phina]";
+ mes "It was so cute that I wanted to touch it. And when I did, you know what happened? The grass actually slapped my hand.";
+ next;
+ mes "[Phina]";
+ mes "I was startled and so I backed off a bit. I then realized that it was not grass but a very small creature.";
+ emotion 0;
+ next;
+ mes "[Phina]";
+ mes "Even calm monsters can be very dangerous when they feel threatened. So don't startle them by mistake.";
+ close;
+ R_1:
+ mes "You know those dumb-looking bears that live in the forest connecting Alberta and Payon?";
+ mes "You know... the ones that play around with the flies that make that buzzing noise.";
+ next;
+ mes "[Phina]";
+ mes "Well one time I threw a twig at one just for fun. All of the sudden, IT RUSHED TOWARDS ME!";
+ next;
+ mes "[Phina]";
+ mes "I was SOOOO scared!! I quickly jumped to the side to avoid it. Then BAMB!!! It hit a huge tree and crushed it into pieces.";
+ emotion 16;
+ next;
+ mes "[Phina]";
+ mes "I sure learned my lesson that day. NEVER taught any creature cause if they get angry, you'll be in a world of hurt.";
+ close;
+ R_0:
+ mes "Did you know? Wolves are much more cooperative than they might seem. If one of them is attacked, then others will come to help him.";
+ next;
+ mes "[Phina]";
+ mes "So be careful if you ever decide to fight one.";
+ close;
+}
+
+// Grandma -----------------------------------------------------
+alberta.gat,93,174,2 script Grandma 103,{
+ mes "[Grandma]";
+ mes "Some time ago a derelict ship drifted into the Alberta harbor. Some of the town's young people went into the ship to find survivors.";
+ next;
+ mes "[Grandma]";
+ mes "But after a few moments they all ran out terrified. They said that they saw CORPSES walking around the ship!.";
+ next;
+ mes "[Grandma]";
+ mes "The ship was also over run by never before seen sea monsters which made it impossible for the towns people to get around.";
+ next;
+ mes "[Grandma]";
+ mes "We've never been able to doing anything about that ominous-looking ship so we just left it there, hoping that it would sink or drift away.";
+ next;
+ mes "[Grandma]";
+ mes "Then out of nowhere the Cool Event Corp. people came by and paid the city a huge amount zeny to buy the ship.";
+ next;
+ mes "[Grandma]";
+ mes "They then created an event called the ^0000ddSunken Ship^000000.";
+ next;
+ mes "[Grandma]";
+ mes "They invited young warriors from all over to enter the ghost ship and test their skills fighting the monsters in it.";
+ next;
+ mes "[Grandma]";
+ mes "Now the ghost ship, that was once a problem for Alberta, has become quite a popular attraction.";
+ next;
+ mes "[Grandma]";
+ mes "I have to say though, that I don't think it's worth risking your life for......";
+ close;
+}
+
+// Drunken old man ----------------------------------------------------------------
+alberta.gat,131,139,4 script Drunken old man 709,{
+ mes "[Drunken old man]";
+ mes "(~hiccup~)... Huh?... Wh-what are you staring at? Get lost!!";
+ next;
+ menu "Stay",-,"Leave him alone",M_1;
+
+ mes "[Drunken old man]";
+ mes "Hahahaha (~hiccup~)... So you got some nerve...";
+ next;
+ mes "[Drunken old man]";
+ mes "Heh... I may look worthless now, but back in the day I was a handsome sailor on board the `Going Mary'.";
+ next;
+ menu "Is that a ship?",-,"Really? No kidding!",sM_1;
+
+ mes "[Drunken old man]";
+ mes "What? Ya never heard of it? Stupid! Everybody knows the notorious pirate ship `Going Mary'! (~hiccup~)";
+ emotion 1;
+ next;
+ sM_1:
+ mes "[Drunken old man]";
+ mes "Ah~ the good old days... only... if only we hadn't run into that STORM... (~hiccup~)";
+ next;
+ mes "[Drunken old man]";
+ mes "AH~ Captain. I miss our captain more than anything.... no foe could ever survive captain's sword.";
+ mes "CAPTAIN~~~!!! (~HICCUP~) He'd swing his sword like THIS!... then... THEN...!!!";
+ next;
+ mes "[Drunken old man]";
+ mes "The enemy and anything around him was surrounded by flames! Now that I think of it, the sword must've had some sort of mysterious power.";
+ next;
+ mes "[Drunken old man]";
+ mes "(~sigh!~) (~sob, sob~)... God I miss everyone... Now I'm depressed. Just go away and leave me be.....";
+ emotion 28;
+ close;
+ M_1:
+ mes "[Drunken old man]";
+ mes "That's right! Go AWAY~";
+ emotion 32;
+ close;
+}
+
+// Soda Man ----------------------------------------------------
+alberta.gat,90,71,3 script Soda Man 89,{
+ mes "[Soda Man]";
+ mes "Ummm.... delicious....";
+ emotion 33;
+ next;
+ mes "[Soda Man]";
+ mes "Wait! Don't bother me right now. Hmm? What am I doing you ask? Well isn't it obvious what I'm doing?";
+ mes "Look at this! I've mixed sugar and soda together in this container. Watch what happens when I heat it up.";
+ next;
+ mes "[Soda Man]";
+ mes "The two ingredients will melt soon and intermix. When the color of the mixture turns brown, we have to stop heating it.";
+ mes "At that point it will have a marshmallow consistency.";
+ next;
+ mes "[Soda Man]";
+ mes "You see what I am talking about now? Do you think it's valuable?........ What?..... No?.....";
+ mes "Hmm... then what about the story of the old man who almost conquered ^5555FFTurtle Island^000000?";
+ next;
+ mes "[Soda Man]";
+ mes "Go to the inn and you'll find an old drunkard there. When you speak to him at first, it may seem like he's talking nonsense.";
+ mes "But be patient and if you listen to his words carefully you may be able to pick up some useful information.";
+ next;
+ mes "[Soda Man]";
+ mes "Oh, and there is a letter on the table inside of that old man's room. It's a scary story about Turtle Island.";
+ close;
+}
+
+
+//<=================================================== Marina (Docks/Port) ===================================================>\\
+// Sailor Fisk ----------------------------------------------------------------
+alberta.gat,189,151,5 script Sailor Fisk 100,{
+ mes "[Sailor Fisk]";
+ mes "Ahoy matey, where'd ya wanna go?";
+ next;
+ menu "Izlude Marina -> 500 Zeny.",-,"Quit",M_End;
+
+ if(Zeny < 500) goto L_NoZeny;
+ set Zeny, Zeny - 500;
+ warp "izlude.gat",176,182;
+ close;
+
+ L_NoZeny:
+ mes "[Sailor Fisk]";
+ mes "I'm sorry but i told you i would need 500 Zeny, and it looks like you don't have it.";
+ close;
+ M_End:
+ close;
+}
+
+// Phelix ------------------------------------------------------------------
+alberta.gat,190,173,4 script Phelix 85,{
+
+ mes "[Phelix]";
+ mes "What the hell are you doing here?";
+ next;
+ mes "[Phelix]";
+ mes "There is nothing you can get for free on this ship, if you want to get rewarded, do some work!!";
+ next;
+ mes "[Phelix]";
+ mes "Hmm, however I'd be willing to trade you some items for your jellopies.";
+ mes " - For ^0000ff10 Jellopies^000000 I'd be willing to give you ^ff00001 potion^000000.";
+ mes " - For ^0000ff3 Jellopies^000000 I'll give you ^ff00001 sweet potato^000000.";
+ next;
+ mes "[Phelix]";
+ mes "How does that sound?";
+ next;
+ menu "Sounds good",-,"Nah",M_End;
+
+ M_Yes:
+ mes "[Phelix]";
+ mes "What do you want to exchange your jellopies for?";
+ next;
+ menu "Red Potion please.",-,"Sweet Potato please.",M_1,"Cancel",M_End;
+
+ set @item, 501;
+ goto L_Get;
+
+ M_1:
+ set @item, 516;
+
+ L_Get:
+ mes "[Phelix]";
+ mes "Please enter an amount. Enter 0 to cancel.";
+ next;
+ set @input,0;
+ input @input;
+ if(@input < 1 || @input > 1000) goto M_Yes;
+ if(checkweight(@item,@input)==0) goto L_OverW;
+
+ if(@item == 501) set @amount, @input*10;
+ if(@item == 516) set @amount, @input*3;
+ if(countitem(909) < @amount) goto L_NotEnough;
+
+ getitem @item,@input;
+ delitem 909, @amount;
+ close;
+
+ L_NotEnough:
+ mes "[Phelix]";
+ mes "I'm sorry but you do not have enough jellopy.";
+ next;
+ goto M_Yes;
+
+ L_OverW:
+ mes "[Phelix]";
+ mes "I'm sorry but you can't carry so many things.";
+ next;
+ goto M_Yes;
+
+ M_End:
+ close;
+}
+
+
+//<=================================================== Sunken Ship ======================================================>\\
+// Paul ----------------------------------------------------------------
+alberta.gat,195,151,3 script Paul 86,{
+ mes "[Paul]";
+ mes "Good day. Would you like be part of the Sunken Ship event, provided by Cool Event Corp.?";
+ next;
+ mes "[Paul]";
+ mes "Oh! I better warn you, this event is only suitable for HIGH LEVEL warriors.";
+ emotion 0;
+ next;
+ mes "[Paul]";
+ mes "So what do you say? It only cost 200 zeny to participate and you'll get a ton of experience, guaranteed.";
+ next;
+ menu "Enter",-,"Quit",M_End;
+
+ if(Zeny < 200) goto L_NoZeny;
+ set Zeny, Zeny - 200;
+ warp "alb2trea.gat",62,69;
+ close;
+ M_End:
+ mes "[Paul]";
+ mes "Come back anytime.";
+ close;
+
+ L_NoZeny:
+ mes "[Paul]";
+ mes "I'm sorry but i told you I would need 200 Zeny, and it looks like you don't have it.";
+ mes "Please come back later when you have enough.";
+ close;
+}
+
+// Sailor --------------------------------------------------
+alb2trea.gat,39,50,5 script Sailor 100,{
+ mes "[Sailor]";
+ mes "Do you wanna return?";
+ next;
+ menu "Return to Alberta",-,"Quit",MEnd;
+
+ warp "alberta.gat",192,169;
+MEnd:
+ close;
+}
+
+//<====================================================== Turtle Island ========================================================>\\
+// Gotanblue --------------------------------------------------------------------------
+alberta.gat,247,123,5 script Gotanblue 709,{
+ if(TURTLE == 1) goto L_Turtle;
+ mes "[Gotanblue]";
+ mes "Ha ha! The sea seems endless!! We cannot begin to grasp it's size merely by gazing at it from land....";
+ next;
+ mes "[Gotanblue]";
+ mes "Do you know what I mean?.....";
+ close;
+
+L_Turtle:
+ mes "[Gotanblue]";
+ mes "Oh! Your eyes.... they tell me everything!! You must have been sent from that drunken old man!";
+M_Menu:
+ next;
+ menu "-Tell me about Turtle Island.",-, "-How Can I get there?",M_2, "-End Conversation",M_End;
+
+ mes "[Gotanblue]";
+ mes "So you wanna know about Turtle Island?... You think it's a great place?... Do you like it that much?...";
+ next;
+ mes "[Gotanblue]";
+ mes "Well let me tell you something....";
+ next;
+ mes "[Gotanblue]";
+ mes "TURTLE ISLAND TOOK THE LIVES OF MY CLOSEST FRIENDS!!";
+ emotion 0;
+ next;
+ mes "[Gotanblue]";
+ mes "Can you POSSIBLY understand??.........";
+ next;
+ mes "[Gotanblue]";
+ mes "It all happened a few decades ago....";
+ next;
+ mes "[Gotanblue]";
+ mes "^5555FFJornadan Niliria^000000 and our comrades set off on a journey to find out if the legends about the island were true.";
+ next;
+ mes "[Gotanblue]";
+ mes "It was summer when I was approached to become a member of Jornadan's team.";
+ mes "I was only 20 then, and it was a huge honor for me to be a part of such a well respected group of men.";
+ next;
+ mes "[Gotanblue]";
+ mes "Jornadan Niliria was a great treasure hunter, I was the best seaman of the bunch, and the others were all the very best at what they did.";
+ next;
+ mes "[Gotanblue]";
+ mes "We decided to start our great adventure here, in Alberta. This was because of a clue we found that put the location of Turtle Island near Alberta.";
+ next;
+ mes "[Gotanblue]";
+ mes "We were all very exited and full of hope! We left everything behind and set sail to seek Turtle Island!";
+ mes "We sailed all day and all night. We eventually ran adrift, and could do nothing but sit and wait as the days passed.....";
+ next;
+ mes "[Gotanblue]";
+ mes "Then one day... without warning... we were surrounded by a tremendously thick blanket of fog!!";
+ mes "It was impossible to see anything past the length of your own arm!";
+ next;
+ mes "[Gotanblue]";
+ mes "We could not tell which way was East and which way was West. But it didn't matter... for we were all exhausted at that point.";
+ next;
+ mes "[Gotanblue]";
+ mes "Then what we feared most happened. A huge rock formation pierced through the fog right in front of us!";
+ mes "There was no way to avoid it and we crashed violently into it, severely damaging our ship!!";
+ emotion 0;
+ next;
+ mes "[Gotanblue]";
+ mes "Amazingly the ship held together and we were able to continue on.";
+ next;
+ mes "[Gotanblue]";
+ mes "Then like a beam of energy descending down from the heavens, the first ray of sunlight we had seen in weeks pierced through the fog onto our battered ship.";
+ next;
+ mes "[Gotanblue]";
+ mes "And like magic the fog lifted to reveal what we had been searching so long and hard for.... that legendary place.... TURTLE ISLAND!!!!";
+ next;
+ mes "[Gotanblue]";
+ mes "We set up camp immediately and rested our weary bodies. A few days later we began to extensively search the island.";
+ mes "What we found was shocking! Apparently someone had found the island before us. He left a very well kept journal of his expedition.";
+ next;
+ mes "[Gotanblue]";
+ mes "According to his journal, the man had come by himself to find the island. Unfortunately we could not find him anywhere.";
+ next;
+ mes "[Gotanblue]";
+ mes "Even though someone had beaten us to Turtle Island, we still felt that it was an accomplishment to have made it to the island.";
+ mes "We continued to explore the island and find out as much about it as we could.";
+ next;
+ mes "[Gotanblue]";
+ mes "A particular artifact caught our interest. It was mentioned in that man's journal....";
+ mes "Oh, now I remember his name... ^5555FF'Won'^000000... apparently a great sword master....";
+ next;
+ mes "[Gotanblue]";
+ mes "Anyway, he wrote about a '^FF5555Jewel Fragment'^000000 of some kind. He described it as, 'the most beautiful thing in the world'.";
+ next;
+ mes "[Gotanblue]";
+ mes "We became intent on finding that jewel no matter what. Day after day we searched for it. Months passed.";
+ mes "But even with Won's journal records, we were not able to find the jewel fragment. We had no choice but to give up.";
+ next;
+ mes "[Gotanblue]";
+ mes "So we packed up our belongings and headed home. Again we passed through the horrible dense fog.";
+ mes "After a month of sailing our journey was near its end... or so we thought.";
+ next;
+ mes "[Gotanblue]";
+ mes "We spotted land and I breathed a sigh of relief... unfortunately that feeling of relief turned into bewilderment as I realized that..... that....";
+ next;
+ mes "[Gotanblue]";
+ mes "IT WAS TURTLE ISLAND!!! We had landed on the other side of the island! We had no idea how it happened but we immediately cast off once again.";
+ emotion 0;
+ next;
+ mes "[Gotanblue]";
+ mes "And as if some foul curse and been placed on our group, we again found ourselves on the shores of Turtle Island.";
+ mes "Time after time we attempted to flee the island only to find ourselves back on it. A whole year passed and still, we were trapped!";
+ next;
+ mes "[Gotanblue]";
+ mes "It was beyond reason.... We had tried every possible path.... Our spirits were broken, our hopes were crushed....";
+ mes "And one by one, my comrades fell, no longer having the strength to find a way home....";
+ next;
+ mes "[Gotanblue]";
+ mes "CURSED ISLAND!!!!!";
+ emotion 23;
+ next;
+ mes "[Gotanblue]";
+ mes "As you can see only I and Jornadan were able to make it out alive. By pure luck we made back to Alberta....";
+ next;
+ mes "[Gotanblue]";
+ mes "(~sob~sob~sob)... I apologize. I'm am still very emotional about it after all these years... well that is all I have to say about Turtle Island.";
+ emotion 28;
+ goto M_Menu;
+ M_2:
+ mes "[Gotanblue]";
+ mes "What's this? After my terrifying story about Turtle Island you still want to got there? You're not at all scared??";
+ emotion 1;
+ next;
+ mes "[Gotanblue]";
+ mes "So be it... but you will need me as your guide and that will cost 10,000 zeny!";
+ next;
+ menu "Turtle Island -> 10000 zeny",-, "Cancel",sM_End;
+
+ if(Zeny < 10000) goto sL_Zeny;
+ mes "[Gotanblue]";
+ mes "Alright!! You've made your choice! With my experience we will get to Turtle Island without any problems.";
+ mes "I admire your fighting spirit. Carry it with you always!";
+ next;
+ mes "^5555FF(You and Gotanblue climb on board his little steamboat)^000000";
+ next;
+ mes "[Gotanblue]";
+ mes "We are now heading towards Turtle Island. Let us go without fear!!";
+ next;
+ mes "^5555FF(~choo~choooo~)^000000";
+ next;
+ set Zeny, Zeny - 10000;
+ warp "tur_dun01.gat",154,39;
+ close;
+ sL_Zeny:
+ mes "[Gotanblue]";
+ mes "What's this? I said 10000 zeny. I will not guide you for less. Good day!";
+ emotion 1;
+ close;
+ sM_End:
+ mes "[Gotanblue]";
+ mes "A very good choice!! Turtle Island is a DREADFULL and EVIL place!";
+ mes "When I take people there, I feel as if I'm leading them to their DEATHS!";
+ close;
+ M_End:
+ mes "[Gotanblue]";
+ mes "To this day, Turtle Island is shrouded in mystery. It is extremely hard to find, and almost impossible to escape from.";
+ mes "If you do not want to suffer great despair, then leave the truth behind Turtle Island as it is.... unknown....";
+ close;
+}
+
+//Go back to Alberta
+tur_dun01.gat,166,29,1 script Gotanblue#2 709,{
+ mes "[Gotanblue]";
+ mes "Going back to Alberta?";
+ next;
+ menu "Yep.",-, "Cancel",M_End;
+
+ mes "^5555FF(You and Gotanblue climb on board his little steamboat)^000000";
+ next;
+ warp "alberta.gat",244,123;
+ close;
+
+M_End:
+ mes "[Gotanblue]";
+ mes "A very good choice!!";
+ close;
+}
+
+// Turtle Grandpa -------------------------------------------------------------------
+alberta_in.gat,23,104,2 script Turtle Grandpa 120,{
+ mes "[Turtle Grandpa]";
+ mes "~Buuurrrpp!!!~ Oops...";
+ emotion 4;
+ next;
+ mes "[Turtle Grandpa]";
+ mes "It's beyond me why people seem to think that Alberta is the center of world trade.";
+ mes "I mean, this place doesn't even have a decent bar for crying out loud!!";
+ emotion 6;
+ next;
+ mes "[Turtle Grandpa]";
+ mes "Why is it that I have to resort to drinking in a place like this??";
+ emotion 1;
+ next;
+ menu "-Tell me about Turtle Island.",-, "-How can I get there?",M_1, "-End conversation.",M_End;
+
+ mes "[Turtle Grandpa]";
+ mes "There is an enormous stash of treasure hidden on Turtle Island.";
+ mes "There is also a special potion that can increase a person's lifespan on that island......";
+ next;
+ mes "[Turtle Grandpa]";
+ mes "There are so many myths and legends about the island, that no one even knows for sure if Turtle Island exist.";
+ next;
+ mes "[Turtle Grandpa]";
+ mes "I for one believe it does.... it HAS TOO!!......";
+ emotion 0;
+ next;
+ mes "[Turtle Grandpa]";
+ mes "If you are any sort of seaman, if you have a spirit for adventure, and if you have the heart to become a great treasure hunter....";
+ mes "Then you may be worthy of the information I have to offer...";
+ next;
+ menu "-(~eyes twinkle~)",-, "-Heck Ya! Gimme that information.",sM_1;
+
+ mes "[Turtle Grandpa]";
+ mes "His name was ^5555FFJornadan Niliria^000000. Jornadan and his ten comrades set off on a journey to find the legendary Turtle Island.";
+ next;
+ mes "[Turtle Grandpa]";
+ mes "At first they had no idea where the island was. They were ambitious and worked extremely hard to gather clues on the whereabouts of the island.";
+ next;
+ mes "[Turtle Grandpa]";
+ mes "These men were very strong, especially Jornadan. He was so strong in fact, that his simple kicks were as powerful as a level 10 bash!!!";
+ next;
+ mes "[Turtle Grandpa]";
+ mes "He could catch an arrow in one hand while healing a comrade with the other, all during the middle of a battle!";
+ next;
+ mes "[Turtle Grandpa]";
+ mes "Heh heh. Well, it's just a rumor so take it for what it's worth. As I was saying....";
+ next;
+ mes "[Turtle Grandpa]";
+ mes "After searching tirelessly Jornadan and his crew eventually found the famed, Turtle Island.";
+ next;
+ mes "[Turtle Grandpa]";
+ mes "But for reasons unknown, the crew became stranded on the island forever!!";
+ mes "Although I do not know why or how it happened, there IS one person that does.";
+ next;
+ mes "[Turtle Grandpa]";
+ mes "Go the docks on the east end of town. Look for a scholar named.... ^FF3333Jornadan^000000... ^FF3333Niliria^000000...";
+ mes "Speak to him. He should be able to tell you more..... ";
+ next;
+ mes "[Turtle Grandpa]";
+ mes "Oh! One more thing... look for his '^5555FFjournal^000000'. He usually has it close by. It's definitely an interesting read.";
+ set TURTLE, 1;
+ set JORNADAN, 1;
+ close;
+ sM_1:
+ mes "[Turtle Grandpa]";
+ mes "No way! I have no interest in speaking with someone with greed in his/her heart!";
+ emotion 0;
+ next;
+ mes "[Turtle Grandpa]";
+ mes "Get OUT of my sight!!! GO HOME!";
+ emotion 6;
+ next;
+ mes "[Turtle Grandpa]";
+ mes "What's this?? You're still here?..... GO! GO AWAY!!............";
+ emotion 27;
+ close;
+ M_1:
+ mes "[Turtle Grandpa]";
+ mes "It's is extremely hard to find, and even more difficult to reach. The likelihood of returning home is slim at best....";
+ next;
+ mes "[Turtle Grandpa]";
+ mes "Actually..... IT'S IMPOSSIBLE!!!!";
+ emotion 0;
+ next;
+ mes "[Turtle Grandpa]";
+ mes "Yet you still want to go there??";
+ emotion 1;
+ next;
+ mes "[Turtle Grandpa]";
+ mes "I want to warn you about the dangers of going there.... but.... I feel so dizzy..... wooah..... it must be the Vodka....";
+ next;
+ mes "[Turtle Grandpa]";
+ mes "Any who, if you go the docks you'll find a fat, old, sailor. His name is ^5555FFGotanblue^000000.";
+ mes "Tell him I sent you and maybe he'll tell you how to get to Turtle Island. Well good luck.";
+ close;
+ M_End:
+ mes "[Turtle Grandpa]";
+ mes "whooops......";
+ next;
+ mes "!!KA-PLOP!!(collapses on the floor)";
+ next;
+ mes "[Turtle Grandpa]";
+ mes "he he he.... look at me.... I'm a fish... I'm drunk like a fish..... enough for today..... ~ZZZZZzzzz~";
+ close;
+}
+
+// Letter of an explorer (on Turtle Grandpa's desk)------------------------------------------------------------------
+alberta_in.gat,17,101,1 script Letter of an explorer 111,{
+ mes "~ The letter reads... ~";
+ mes "- O/X/XOVX -";
+ mes "If you find this letter, it means that our expedition to Turtle Island has failed. Please inform the others...";
+ next;
+ mes "~ continued...~";
+ mes "As of now, only half the number of our crew members are left. Our food supply will only last for ten more days. It is a grave situation we are facing....";
+ next;
+ mes "~ continued...~";
+ mes "- V/O/XOVX -";
+ mes "It seems my letters did not make it to the outside world, and have instead come back to me.... This damn island is CURSED!! Oh God.....";
+ next;
+ mes "~ continued...~";
+ mes "GOD FORSAKEN ISLAND!! There is nothing left to eat..... help... me... please.... HELP ME!!";
+ next;
+ mes "~ continued...~";
+ mes "- V/X/XOVX -";
+ mes "^5555FF- This section is severely crumpled and tattered. -^000000";
+ mes "^5555FF- You are unable to read it. -^000000";
+ close;
+}
+
+// Jornadan Niliria ------------------------------------------------------------------------
+alberta.gat,248,90,1 script Jornadan Niliria 121,{
+ mes "[Jornadan Niliria]";
+ mes "Sometimes I think that the world around me is ever changing.";
+ mes "When I view the land it seems different, when I look up at the sky it too seems different....";
+ next;
+ mes "[Jornadan Niliria]";
+ mes "The way that Alberta and Turtle Island are different. Hah hah hah....";
+ next;
+ menu "-About Turtle Island.",-, "-Um, did you get confused with Al De Baran?",M_1, "-End Conversation.",M_End;
+
+ mes "[Jornadan Niliria]";
+ mes "Ah yes..... Turtle Island.... Do you know why it's named, 'Turtle' Island? Would you like to know? Haha......";
+ next;
+ mes "[Jornadan Niliria]";
+ mes "The reason behind the name is actually very easy to figure out and you might even feel a little foolish about not getting it in the first place.";
+ next;
+ mes "[Jornadan Niliria]";
+ mes "It's called 'Turtle' Island, because of the fact that it is shaped like an actual turtle. Haha. That's all there is to it.";
+ next;
+ mes "[Jornadan Niliria]";
+ mes "There is an unusually dense area of fog that surrounds the island.";
+ mes "At first we tried to figure what causes it but with no luck. We figured that it was just one of nature's natural phenomenons.";
+ next;
+ mes "[Jornadan Niliria]";
+ mes "Then we found a cave along the coastline of the island. Inside we were amazed to see a HUGE waterfall.";
+ mes "It turns out that this waterfall is what creates that extremely thick area of fog around that island.";
+ next;
+ mes "[Jornadan Niliria]";
+ mes "The reason is so simple and yet there are people who still try to find a deeper meaning behind it....";
+ next;
+ mes "[Jornadan Niliria]";
+ mes "I believe that people continue to probe into the matter because they do not want to feel that their efforts have been in vain.";
+ mes "Maybe they are afraid of the truth..... I for one was once afraid.... afraid of Turtle Island....";
+ next;
+ mes "[Jornadan Niliria]";
+ mes "But now that I truly understand all of the myths about Turtle Island, I feel at ease and at peace with the island.";
+ mes "There is still one lingering question about the island for me though..... it is the existence of the unknown ^FF5555'Jewel Fragment'^000000.";
+ next;
+ mes "[Jornadan Niliria]";
+ mes "I am still not certain about what it really is. In the mean time I will continue to pursue the matter until I discover the truth! Hahaha!!";
+ close;
+ M_1:
+ mes "[Jornadan Niliria]";
+ mes "Whoops ! Oh that's right !! Confused !.... Yipe !..... WOOOOO !!!"; //have NO idea what this means.....
+ close;
+ M_End:
+ mes "[Jornadan Niliria]";
+ mes "When you're searching for the truth, make sure to keep trying. Someday you will find the answers you seek...";
+ next;
+ mes "[Jornadan Niliria]";
+ mes "Hmmm.... by the way.... I feel hungry. Why doesn't Alberta have a store or restaurant for some good Dim Sum??";
+ close;
+}
+
+// Jornadan's Voyage Log -------------------------------------------------
+alberta.gat,247,93,1 script A Voyage Log 111,{
+ if(JORNADAN == 1) goto L_Treasure;
+ mes "[A Voyage Log]";
+ mes "= 03:20 am =";
+ mes "The moon was dark and I couldn't even see 100m in front of me. I had a bad feeling about the situation..... I was not the only one...";
+ next;
+ mes "[A Voyage Log]";
+ mes "I could tell by the looks on my comrade's faces, that they too were worried. No could sleep that night. I hope we will see the sunrise soon....";
+ next;
+ mes "[A Voyage Log]";
+ mes "= 04:10 =";
+ mes "5 minutes ago one of our comrades, Cooker, died. While he walking on deck, the flagpole suddenly broke and fell on his head....";
+ next;
+ mes "[A Voyage Log]";
+ mes "He died at approximately 04:07. The flagpole had been damaged when our ship hit a reef.";
+ mes "The ship sustained serious damage along the left side of the deck. I called on the chief to repair it.";
+ next;
+ mes "[A Voyage Log]";
+ mes "= 04:45 =";
+ mes "While two of our workers were fixing the bottom of the deck, monsters attacked them without warning.";
+ mes "Apparently they had gotten in through some openings in the deck.";
+ next;
+ mes "[A Voyage Log]";
+ mes "Two more men had been lost. Fortunately the ship has yet to sink and seems to be holding up. Still, we must find land soon.";
+ next;
+ mes "[A Voyage Log]";
+ mes "During the collision with the reef we lost about 30% of our supplies. In particular we lost food... a great deal of food....";
+ next;
+ mes "[A Voyage Log]";
+ mes "= 05:23 =";
+ mes "We've been noticing an increase in the amount of reefs and they are getting larger as well.";
+ mes "I wonder when we will find land.... I wonder if we can....";
+ next;
+ mes "[A Voyage Log]";
+ mes "- Written by -";
+ mes "- captain Jornadan Niliria -";
+ next;
+ mes "^5555FF- Closed the voyage log -^000000";
+ close;
+
+L_Treasure:
+ mes "^5555FF- The paper is torn -";
+ mes "- Seaweed and mold have -";
+ mes "- mixed with the paper -";
+ mes "- It looks to be in very poor";
+ mes "condition. -^000000";
+ next;
+ mes "^5555FF- Between some pages -";
+ mes "- Is a Banana leaf -";
+ mes "- this is written. -^000000";
+ next;
+ mes "[A Voyage Log]";
+ mes "= O/X date =";
+ mes "Just after we arrived to Turtle Island, we searched for some food to eat. I am so skinny now...";
+ next;
+ mes "[A Voyage Log]";
+ mes "When I looked at myself in the mirror, it was horrible. I was disturbed by what I saw...";
+ next;
+ mes "[A Voyage Log]";
+ mes "= X/X date =";
+ mes "We found some kind of fruit! It has a yellow color and a long shape. It looks just like a banana!";
+ next;
+ mes "[A Voyage Log]";
+ mes "= XO/X date =";
+ mes "Although very similar, the fruit we found was not a banana. We believe it is a relative of the banana.";
+ mes "It smells and tastes exactly like a banana.";
+ next;
+ mes "[A Voyage Log]";
+ mes "We were starving so we just referred to the fruit as bananas and gathered it for food.";
+ mes "Although there were a limited amount of trees, there was enough for our survival.";
+ next;
+ mes "[A Voyage Log]";
+ mes "It has become the answer to our lack of food and has become precious to us.";
+ mes "~ WE LOVE YOU BANANA!! ~";
+ next;
+ mes "[A Voyage Log]";
+ mes "= O/O date =";
+ mes "In the middle of the night, one of our comrades reported that he felt sick from something he ate.";
+ next;
+ mes "[A Voyage Log]";
+ mes "= OO/O date =";
+ mes "Another comrade fell ill. He had the strongest digestive system among us.";
+ mes "He went by the name, 'Berot Berot', and he played a vital role in our group.";
+ next;
+ mes "[A Voyage Log]";
+ mes "The fact that he got sick from something he ate, made it very clear that there was something poisoning us.";
+ next;
+ mes "[A Voyage Log]";
+ mes "= XO/O date =";
+ mes "A third person became sick today while we were out exploring. The first person to become ill has passed away.... We are all very worried.";
+ next;
+ mes "[A Voyage Log]";
+ mes "We tried very hard to find the cause of the illness. Then by observing the animals one day, we found it.";
+ mes "It was the very thing we thought to be our salvation and yet not one animal on the island would even touch it.....";
+ next;
+ mes "[A Voyage Log]";
+ mes "What was killing us was..... our beloved BANANA!!";
+ next;
+ mes "[A Voyage Log]";
+ mes "We decided to get rid of all of the bananas. But for some reason they didn't seem to be decomposing.";
+ mes "Even when the skin was peeled off, the fruits remained the same.";
+ next;
+ mes "[A Voyage Log]";
+ mes "I think that the poison or some other agent within the fruit is allowing it to survive.";
+ mes "We may be able to use it for medicinal purposes later, but for now it is of no use to us.";
+ mes "Until we get back to Alberta, we have to decided to bury what is left of the fruit.";
+ next;
+ mes "[A Voyage Log]";
+ mes "This is the location where it's buried in case we forget:";
+ mes "^FF8888- tur_dun01 -";
+ mes "- X: 160, Y: 81 -^000000";
+ next;
+ mes "^5555FF- There is a thin Key -";
+ mes "- with a skull mark on it -";
+ mes "- You've gained -";
+ mes "- a 'Skull Key' -^000000";
+ set SKULLKEY, 1;
+ set JORNADAN, 0;
+ close;
+}
+
+// Burried treasure --------------------------------------------------------------------
+tur_dun01.gat,160,80,1 script Skull Stone 111,{
+ if(SKULLKEY == 1) goto L_OpenBox;
+ mes "^5555FF(It's a frightening stone tomb with horrible skull on it.)^000000";
+ close;
+
+L_OpenBox:
+ mes "^5555FF(Under the stone is a tiny key hole with a skull mark. You used the 'Skull Key' to open the box.)^000000";
+ next;
+ mes "^5555FF(~click!~click!~)^000000";
+ next;
+ mes "^5555FF(Suddenly the top of the stone opens with many things coming out!)^000000";
+ set SKULLKEY, 0;
+ next;
+ mes "^5555FF(You got 5 Bananas, and 5 Banana Juices.)^000000";
+ getitem 634, 5;
+ getitem 532, 5;
+ close;
+} \ No newline at end of file
diff --git a/npc/cities/aldebaran.txt b/npc/cities/aldebaran.txt
new file mode 100644
index 000000000..fa9992612
--- /dev/null
+++ b/npc/cities/aldebaran.txt
@@ -0,0 +1,1545 @@
+//===== eAthena Script =======================================
+//= Al De Baran Town
+//===== By: ==================================================
+//= eAthena dev team
+//===== Current Version: =====================================
+//= 1.7
+//===== Compatible With: =====================================
+//= eAthena 1.0
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= v1.1 Added RS125 NPC. Added another Kafra Reserve points agent.
+//= The 2nd reserve points agent is not complete yet.
+//= 1.2 Lottery input number fix [Lupus], 1.2a - label typo fixed
+//= 1.3 Gatekeeper's bug fixed (wrong check and wrong item ID
+//= for underground), fixed some typos [Lupus]
+//= 1.4 Fixed Typos & Spellcheck [massdriller]
+//= 1.5 Finally added the Special Reserve 2 Lotto 8))
+//= with official prizes (80% official, 4-5 entries are made up)
+//= also changed typo Orange Potions -> Red Potions [Lupus]
+//= 1.6 Fixed bug (missing label), optimized all menus [Lupus]
+//= 1.7 Fixed exploits [Lupus]
+//============================================================
+
+
+// Panama --------------------------------------------------------------
+aldebaran.gat,46,129,4 script Panama 97,{
+ mes "[Panama]";
+ mes "Al De Baran has been widely known throughout Rune-Midgard Kingdom as the City of canals.";
+ next;
+ menu "About the canals",-,"End conversation",M_End;
+
+ mes "[Panama]";
+ mes "A canal is an artificial river used for travel, shipping, or irrigation. Generally they are used for transportation.";
+ next;
+ mes "[Panama]";
+ mes "Most canals are constructed through reclamation work in which waterways are left over after a area of water as been filled in with dirt.";
+ close;
+ M_End:
+ mes "[Panama]";
+ mes "This is a mountain town so the water is supposed to be pure ...";
+ next;
+ mes "[Panama]";
+ mes "Help yourself to some...";
+ close;
+}
+
+// Miller ------------------------------------------------------------------------
+aldebaran.gat,49,93,4 script Miller 83,{
+ mes "[Miller]";
+ mes "Did you know that LEVEL 4 weapons exist?";
+ next;
+ mes "[Miller]";
+ mes "Hmmm... of course they are rarely seen, but I hear that Boss monsters drop them occasionally.";
+ close;
+}
+
+// Senorita Sylvia -----------------------------------------------------------
+aldebaran.gat,60,70,4 script Senorita Sylvia 69,{
+ mes "[Senorita Sylvia]";
+ mes "I came all the way out here from Prontera because I heard that the Kafra Main Office is somewhere in the city of Al De Baran";
+ next;
+ mes "[Senorita Sylvia]";
+ mes "B-B-But... *sob*... It's been 5 hours since I started looking for it.....";
+ emotion 28;
+ next;
+ mes "[Senorita Sylvia]";
+ mes "Where the hell is it~~~?!";
+ emotion 6;
+ next;
+ mes "[Senorita Sylvia]";
+ mes "I may look smart, but I am TERRIBLE with directions.....";
+ next;
+ mes "[Senorita Sylvia]";
+ mes "Ah~ by the way, would you like to know a bit of very useful information?";
+ next;
+ menu "Please continue.",-,"Not really.",M_End;
+
+ mes "[Senorita Sylvia]";
+ mes "If you pick up equipment that was dropped by a monster, you will not be able to equip it right away.";
+ next;
+ mes "[Senorita Sylvia]";
+ mes "Before you can use it you have to identify the equipment with a ^0000FFMagnifier^000000.";
+ mes "Once you've done so you'll be able to equip it without problems.";
+ close;
+ M_End:
+ mes "[Senorita Sylvia]";
+ mes "Whatever.....";
+ emotion 32;
+ close;
+}
+
+// Quatro ----------------------------------------------------------------
+aldebaran.gat,64,104,4 script Quatro 55,{
+ mes "[Quatro]";
+ mes "It has been rumored that famous blacksmith came to this town from Geffen...";
+M_Menu:
+ next;
+ menu "Famous Blacksmith?",-,"About weapon upgrading",M_1,"End conversation",M_End;
+
+ mes "[Quatro]";
+ mes "People say his wife is ill. She constantly needs medicinal herbs that grow near town.";
+ mes "Also he has a devoted son, who helps him out with his work.";
+ next;
+ mes "[Quatro]";
+ mes "I hope his son will be a good blacksmith in the future.";
+ goto M_Menu;
+
+ M_1:
+ mes "[Quatro]";
+ mes "If you upgrade a weapon its attack strength will increase.";
+ next;
+ mes "[Quatro]";
+ mes "For a ^0000fflevel 1^000000 weapon attack STR will go up by ^ff00002^000000 for every upgrade level.";
+ mes "For a ^0000fflevel 2^000000 weapon attack STR will go up by ^ff00003^000000.";
+ mes "For a ^0000fflevel 3 and level 4^000000 weapon attack STR will go up by ^ff00005^000000!";
+ goto M_Menu;
+
+ M_End:
+ close;
+}
+
+// Isenberg ---------------------------------------------------------------------
+aldebaran.gat,67,154,4 script Isenberg 98,{
+ mes "[Isenberg]";
+ mes "Mount Mjolnir and the Payon Forest are both notorious for high amounts of rainfall.";
+M_Menu:
+ next;
+ menu "Mt. Mjolnir",-,"Payon Forest",M_1,"End conversation",M_End;
+
+ mes "[Isenberg]";
+ mes "Mt. Mjolnir !";
+ next;
+ mes "[Isenberg]";
+ mes "It's the mountain range which you must pass through to get here from either Prontera or Geffen.";
+ next;
+ mes "[Isenberg]";
+ mes "It is a difficult path however due to the steep and rugged terrain.";
+ mes "Not to mention the strong and hostile monsters which roam the mountain side.";
+ next;
+ mes "[Isenberg]";
+ mes "You did a good job to get here.";
+ emotion 21;
+ goto M_Menu;
+ M_1:
+ mes "[Isenberg]";
+ mes "You must travel through the Payon Forest if you wish to visit Alberta or Payon.";
+ next;
+ mes "[Isenberg]";
+ mes "The Payon Forest is large and it's pathways are very intricate. It is easy to get lost and confused in it.";
+ next;
+ mes "[Isenberg]";
+ mes "Unless you have good concentration and a strong will, you will find yourself giving up trying to pass through it.";
+ next;
+ mes "[Isenberg]";
+ mes "The forest was named after Payon, the village of independence instead of Alberta, the harbor town.";
+ next;
+ mes "[Isenberg]";
+ mes "Payon was built deep within the rugged forest with the intention of providing protection from outside influence.";
+ next;
+ mes "[Isenberg]";
+ mes "I guess that's why people called that forest the Payon Forest rather than the Alberta Forest.";
+ goto M_Menu;
+ M_End:
+ mes "[Isenberg]";
+ mes "Although Mnt. Mjolnir hinders travelers, it also creates a mysterious and unique atmosphere in our town.";
+ close;
+}
+
+// Joanne ------------------------------------------------------------------------------
+aldebaran.gat,81,61,4 script Joanne 101,{
+ mes "[Joanne]";
+ mes "I like to go gathering sea shells. It is really fun";
+ next;
+ menu "Shell Gathering",-,"End Conversation",M_End;
+
+ mes "[Joanne]";
+ mes "When you see bubbles popping up from the sand or a muddy puddle, try digging in that area.";
+ mes "Usually shell fish conceal themselves under the ground.";
+ next;
+ mes "[Joanne]";
+ mes "By the way, there is a dangerous shell fish called Ambernite.";
+ mes "It can usually be found on the beaches near Comodo.";
+ next;
+ mes "[Joanne]";
+ mes "What a scary shell fish ..";
+ close;
+ M_End:
+ mes "[Joanne]";
+ mes "I'm going to taste Cave Shell Fish one of these days!!";
+ mes "I know it is a little bit dangerous... but it's worth the risk, right?";
+ close;
+}
+
+// Bebe -------------------------------------------------------------------
+aldebaran.gat,86,228,4 script Bebe 703,{
+ mes "[Bebe]";
+ mes "A while back I went out for a walk towards Mt.Mjolnir, carrying a 'Savage Babe' with me.";
+M_Menu:
+ next;
+ menu "Savage Babe??",-,"Mt.Mjolnir??",M_1,"End Conversation",M_End;
+
+ mes "[Bebe]";
+ mes "A Savage Babe is a kind of baby wild boar that has a pink color. It's very cute and pretty.";
+ next;
+ mes "[Bebe]";
+ mes "Anyways, I was walking up this narrow path when... out of nowhere, this GIANT, UGLY, PLANT attacked me and my Savage Babe!";
+ emotion 0;
+ next;
+ mes "[Bebe]";
+ mes "I was so frightened that I ran as far away from it as I could. When I stopped running I noticed that it hadn't followed me.";
+ next;
+ mes "[Bebe]";
+ mes "So I threw rocks at it out of anger. It didn't do much good though. I don't think it even felt anything.";
+ next;
+ mes "[Bebe]";
+ mes "I then noticed something else. The plant had a human looking face!! EEEWWW!!!";
+ emotion 19;
+ next;
+ mes "[Bebe]";
+ mes "If you every see one, don't even think about going near it. It may just bite you to death!";
+ goto M_Menu;
+
+ M_1:
+ mes "[Bebe]";
+ mes "Even though people are fascinated by the scenic beauty of Mt.Mjolnir, this mountain is filled with weird monsters.";
+ next;
+ mes "[Bebe]";
+ mes "Monsters like Man Eating Flowers, giant Moths, Bigfoot, giant Centipedes, and so much more. So be careful if you ever go up there.";
+ next;
+ mes "[Bebe]";
+ mes "Most of the monsters won't attack you if you don't attack them first though.";
+ goto M_Menu;
+
+ M_End:
+ mes "[Bebe]";
+ mes "Ah?! Where is my Savage Babe..? Savage Babe, where are you!";
+ emotion 20;
+ close;
+}
+
+// Epthiel -----------------------------------------------------------------
+aldebaran.gat,90,170,4 script Epthiel 47,{
+ mes "[Epthiel]";
+ mes "Some weapons and armor have slots in them. This allows you to insert monster cards into them.";
+M_Menu:
+ next;
+ menu "About the number of slots..",-,"Relation between Cards and Slots",M_1,"End Conversation",M_End;
+
+ mes "[Epthiel]";
+ mes "Items dropped by monsters often times have more slots than ordinary weapons or armor sold at an NPC shop.";
+ next;
+ mes "[Epthiel]";
+ mes "The greater number of slots a piece of equipment has the greater its value is.";
+ goto M_Menu;
+ M_1:
+ mes "[Epthiel]";
+ mes "When a card is inserted into a slot on a piece of equipment, the owner will gain certain skills or stat bonuses from that card.";
+ next;
+ mes "[Epthiel]";
+ mes "If the weapon or armor with the card is unequipped, then the effect of the card will wear off.";
+ next;
+ mes "[Epthiel]";
+ mes "A very important thing to know about inserting a card into a slot, is that once inserted the card cannot be removed.";
+ next;
+ mes "[Epthiel]";
+ mes "So make sure you're absolutely sure about putting a card into a slot. You don't want to waste one.";
+ goto M_Menu;
+ M_End:
+ mes "[Epthiel]";
+ mes "Do you have a card?";
+ close;
+}
+
+// Daniel --------------------------------------------------------------------------
+aldebaran.gat,93,80,4 script Daniel 48,{
+ mes "[Daniel]";
+ mes "With waterways everywhere, the city of Al De Baran is a wonderful place to live.";
+ next;
+ mes "[Daniel]";
+ mes "B-U-T!.....";
+ emotion 0;
+ next;
+ mes "[Daniel]";
+ mes "Last night on the way to see my girl friend, I fell into one of those waterways and sprang my ankle.";
+ mes "I couldn't enjoy my date with my girl friend which sucked big time!";
+ emotion 7;
+ next;
+ menu "Gosh, that's too bad.",-,".....",M_1;
+
+ mes "[Daniel]";
+ mes "*~Sigh~* Yeah it really is. You see my girl friend is the Armor Merchants youngest daughter.";
+ mes "She told me once that the armor that's dropped by monsters is often times much better than the kind sold in shops.";
+ next;
+ mes "[Daniel]";
+ mes "She said something about the armor having 'more slots'.... whatever that means.";
+ close;
+ M_1:
+ mes "[Daniel]";
+ mes "Huh? *~Sob sob~* You think I'm a stupid idiot, right? ";
+ emotion 28;
+ close;
+}
+
+// Munster -----------------------------------------------------------------
+aldebaran.gat,113,70,2 script Munster 48,{
+ mes "[Munster]";
+ mes "My family used to live in Geffen, the homeland of blacksmith. We moved to Al De Baran last winter.";
+ next;
+ mes "[Munster]";
+ mes "Back in Geffen my father was a famous blacksmith. Sometimes I helped my father with his work";
+ mes "I learned a lot about the success rate of upgrading weapons of different levels.";
+ next;
+ mes "[Munster]";
+ mes "A ^0000fflevel 1^000000 weapon could be safely upgraded ^ff00007^000000 times,";
+ mes "A ^0000fflevel 2^000000 weapon ^ff00006^000000 times,";
+ mes "and ^0000fflevel 3 and 4^000000 weapons ^ff00005^000000 times each.";
+ next;
+ mes "[Munster]";
+ mes "With level 4 weapons however, there is still a risk of failure during the first upgrade.";
+ next;
+ mes "[Munster]";
+ mes "As far as ^0000ffarmor^000000 goes, they can generally be upgraded about ^ff00005^000000 times.";
+ next;
+ mes "[Munster]";
+ mes "Maybe it's because we just moved here, but for some reason people don't seem to know that my fathers workshop is now located in Al De Baran,";
+ next;
+ mes "[Munster]";
+ mes "Any who, I hope people will come to re-acquaint themselves with my fathers superior craftsmanship.";
+ close;
+}
+
+// Phracon Guy --------------------------------------------------------------
+aldebaran.gat,117,181,4 script Pharacon Guy 48,{
+ mes "[Phracon Guy]";
+ mes "Lv 1 weapons require a metal called 'Pharacon' to be upgraded.";
+ next;
+ menu "About Pharacon",-,"Advice about Phracon",M_1,"End Conversation",M_End;
+
+ mes "[Pharacon Guy]";
+ mes "It's a very common metal found throughout Rune-Midgard and is used almost exclusively for weapon upgrading.";
+ next;
+ mes "[Pharacon Guy]";
+ mes "Although it's not as strong as other metals, it remains popular among most people because of its abundance.";
+ next;
+ mes "[Pharacon Guy]";
+ mes "You can obtain Pharacon from monsters or you can purchase it from Forging Workshops located in towns.";
+ next;
+ mes "[Pharacon Guy]";
+ mes "If you don't need Pharacon for upgrading purposes then you can sell it for 100 zeny a piece to NPC's!";
+ close;
+ M_1:
+ mes "[Pharacon Guy]";
+ mes "I hear that a lot of monsters carry Pharacon. Why don't you go hunt them?";
+ mes "You should be able to find a lot of Pharacon without much trouble.";
+ next;
+ mes "[Pharacon Guy]";
+ mes "A couple of days ago, I went hunting with the Pub Master and got a Pharacon dropped from Bebe Savage.";
+ close;
+ M_End:
+ mes "[Pharacon Guy]";
+ mes "Good luck on finding some Pharacon -";
+ close;
+}
+
+// Alchemy Guy Chemirre -----------------------------------------------------------
+aldebaran.gat,121,231,4 script Alchemy Guy Chemirre 740,{
+ mes "[Alchemy Guy Chemirre]";
+ mes "The Alchemist is one of the 2nd Job Classes and involves the creation of rare and valuable items from abundant materials.";
+M_Menu:
+ next;
+ menu "About Alchemy of Payon",-,"The concept behind Alchemy",M_1,". . . . .",M_2,"End Conversation",M_End;
+
+ mes "[Alchemy Guy Chemirre]";
+ mes "Payon Alchemy dates as far back as the Alchemy of Al De Baran and originates from Taoism.";
+ next;
+ mes "[Alchemy Guy Chemirre]";
+ mes "Just like the Alchemists of Al De Baran, the Alchemists of Payon were able to create gold out of various materials.";
+ next;
+ mes "[Alchemy Guy Chemirre]";
+ mes "However due Payon's environment and a lack of adequate reasources, Payon alchemy never excelled the way it did in Al De Baran.";
+ next;
+ mes "[Alchemy Guy Chemirre]";
+ mes "Therefore the Alchemist Guild in Al De Baran became the only Alchemy Research Organization in Rune-Midgard.";
+ goto M_Menu;
+
+ M_1:
+ mes "[Alchemy Guy Chemirre]";
+ mes "Alchemy involves chemical research, and the practice of creating useful items out of materials that are usually non valuable.";
+ goto M_Menu;
+ M_2:
+ mes "[Alchemy Guy Chemirre]";
+ mes "Let me tell you something that might be interesting to you. It's about monster cards and slots..";
+ next;
+ mes "[Alchemy Guy Chemirre]";
+ mes "If you already posses a monster card then you've probably already heard this but.....";
+ next;
+ mes "[Alchemy Guy Chemirre]";
+ mes "Each card has a specific type of equipment it can be placed on.";
+ mes "For instance, let's say you have a poring card.....";
+ next;
+ mes "[Alchemy Guy Chemirre]";
+ mes "If you check the card's description, you will find that the Poring card increases its wearer's LUK by 1, and that it can be only inserted on 'Armor'.";
+ next;
+ mes "[Alchemy Guy Chemirre]";
+ mes "Something to take note of is the fact that armor purchased at an NPC shop may not have slots on them.";
+ mes "Armor dropped by monsters however, will usually have a high number of slots on them. They aren't dropped too often though.";
+ next;
+ mes "[Alchemy Guy Chemirre]";
+ mes "In order to use a card you must first unequipped the piece of equipment you want to insert the card into.";
+ mes "Next find your card in your inventory window and double click it.";
+ next;
+ mes "[Alchemy Guy Chemirre]";
+ mes "A window will pop up showing you what equipment the card can be inserted in. Choose the one you want, and your done.";
+ close;
+ M_End:
+ mes "[Alchemy Guy Chemirre]";
+ mes "Long live the Al De Baran Alchemy Guild!!";
+ close;
+
+}
+
+// Anastasia --------------------------------------------------------------
+aldebaran.gat,146,124,4 script Anastasia 101,{
+ mes "[Anastasia]";
+ mes "Somewhere in Rune-Edgardo's there exists the ^3355FF' Assassin Guild '^000000.";
+ next;
+ mes "[Anastasia]";
+ mes "It's a place that trains people in the art of assassinating someone without leaving behind the slightest trace.";
+ next;
+ mes "[Nastasia]";
+ mes "But... is that.... legal.....??";
+ emotion 1;
+ next;
+ mes "[Nastasia]";
+ mes "And do they collect tuition....??";
+ next;
+ menu "Continue conversation.",-,"End Conversation.",M_End;
+
+ mes "[Nastasia]";
+ mes "Most flying monsters are very fast and have a high amount of agility.";
+ mes "Therefore, it's very difficult to hit them successfully.";
+ next;
+ mes "[Nastasia]";
+ mes "In order to fight against those kinds of monsters, you'll need a good amount of DEX.";
+ close;
+ M_End:
+ mes "[Nastasia]";
+ mes "Like the old saying goes, 'nothing in life is free'.";
+ close;
+}
+
+// Stromme ---------------------------------------------------------
+aldebaran.gat,159,242,4 script Stromme 119,{
+ mes "[Stromme]";
+ mes "When you spend some time in Mt. Mjolnir, you'll start to notice something.";
+ next;
+ mes "[Stromme]";
+ mes "The insects in Mt. Mjolnir are classified into different groups by their habits!";
+ next;
+ menu "About insects",-,"End conversation",M_End;
+
+ mes "[Stromme]";
+ mes "Honey Bees, Butterflies and Moths help transfer pollen between flowers by flying over and around them.";
+ next;
+ mes "[Stromme]";
+ mes "However that doesn't mean that you can take them lightly.";
+ mes "They have evolved into creatures that can defend themselves when attacked.";
+ next;
+ mes "[Stromme]";
+ mes "There are some insects which are aggressive, such as Praying Mantises, Spiders, and Centipedes etc.";
+ mes "These monsters are strong so you should be careful about approaching them.";
+ next;
+ mes "[Stromme]";
+ mes "Also watch out for a monster that looks like a leech!! One blow from it can prove to be fatal.";
+ next;
+ mes "[Stromme]";
+ mes "Luckily that leech thing has poor eye sight and won't notice you if you are far enough away from it.";
+ close;
+ M_End:
+ mes "[Stromme]";
+ mes "Don't even dare attack a ladybug haphazardly! Be respectful of mighty nature in Mt. Mjolnir.";
+ close;
+}
+
+// Joo Jahk ------------------------------------------------------
+aldebaran.gat,180,46,4 script Joo Jahk 88,{
+ mes "[Joo Jahk]";
+ mes "I am a tourist from Payon, the city within the forest. I noticed that it's very cool here... probably due to the waterways.";
+ next;
+ mes "[Joo Jahk]";
+ mes "But.... Do you think I could drink the water in these waterways?";
+ emotion 20;
+ next;
+ mes "[Joo Jahk]";
+ mes "Actually I already did, but I am still concerned.....";
+ emotion 4;
+ next;
+ menu "Continue.",-,"End conversation.",M_End;
+
+ mes "[Joo Jahk]";
+ mes "I been traveling around Rune-Midgard.";
+ next;
+ mes "[Joo Jahk]";
+ mes "On the way here, I heard about ^3355FFSpiritual Property Monsters^000000 from a really high level Magician";
+ mes "Apparently physical attacks and non-elemental magic attacks can't damage them.";
+ next;
+ mes "[Joo Jahk]";
+ mes "I hope this advice can come in handy for you.";
+ close;
+ M_End:
+ mes "[Joo Jahk]";
+ mes "The water here taste really fresh. It's probably well preserved. I don't think I'll have anything to worry about.";
+ close;
+}
+
+// Gavin -------------------------------------------------------------------
+aldebaran.gat,212,122,4 script Gavin 97,{
+ mes "Welcome! We, the towns people of Al De Baran, ALL welcome you . . . . .";
+ next;
+ mes "[Gavin]";
+ mes "Hmm... did I over-exaggerate? 'Towns people'...";
+ mes "Well... it is just myself, but hey! Still, I welcome you!";
+ next;
+ menu "Continue conversation.",-,"End conversation.",M_End;
+
+ mes "[Gavin]";
+ mes "Ah~ now I remember! I saw a very interesting monster just a few days ago.";
+ mes "I saw a Poring with the wings of an angel, somewhere in the Mjolnir Mountains surrounding Al De Baran.";
+ next;
+ mes "[Gavin]";
+ mes "I swear it!";
+ emotion 0;
+ next;
+ mes "[Gavin]";
+ mes "It was jumping around with the other ordinary Porings. Angeling... is that what it was...?";
+ close;
+ M_End:
+ mes "[Gavin]";
+ mes "I welcome you to Al De Baran, a wonderful city of Canals surrounded by the Mjolnir Mountains.";
+ close;
+}
+
+
+// Giddy Fellow ------------------------------------------------------------------
+aldeba_in.gat,152,47,4 script Giddy Fellow 97,{
+ mes "[Giddy Fellow]";
+ mes "E..E..E..Emergenc----y!!! I CAN'T find my pet chicken anywhere!!";
+ emotion 23;
+ next;
+ menu "What's its name?",-,". . . . .",M_1;
+
+ mes "[Giddy Fellow]";
+ mes "It's 'The Great Picky ' ... SOB SOB SOB... gosh... what am I gonna do?!~ Please find my cutey for meee~~~";
+ emotion 28;
+ next;
+ menu "Dude! It's such a common name...",-,". . . . .",M_1;
+
+ mes "[Giddy Fellow]";
+ mes "Wha-What are you talking about!! My 'The Great Picky' is the one and only cutest chicken in this whole wide WORLD for Christ's sake~!";
+ emotion 1;
+ close;
+ M_1:
+ mes "[Giddy Fellow]";
+ mes "Don't you laugh at me~! I don't have any siblings so my cute chicken is like a younger brother to me! SOB SOB SOB SOB";
+ emotion 28;
+ close;
+}
+
+// Master ----------------------------------------------------------
+aldeba_in.gat,156,179,4 script Master 61,{
+ mes "[Master]";
+ if(sex==0) mes "Oh hello. Don't mind me, I'm just a perverted old man.... la di da.......";
+ if(sex==0) close;
+ mes "Did you know that the Kafra Main Office is located here, in Aldebaran?";
+ next;
+ mes "[Master]";
+ mes "The young Kafra Ladies visit me from time to time. They are really delightful and fun to be around.";
+ next;
+ mes "[Master]";
+ mes "Alright! Time for a survey... this is to determine which Kafra you like best.";
+ next;
+ mes "[Master]";
+ mes "Choose the Kafra Lady that you think is HOT!!!";
+ next;
+ menu "Oh~it turns me on!!!!",-,"No way..I am not a pervert.",M_1;
+
+ mes "[Master]";
+ mes "Alright, here you go, your Favorite Ladies!!! Take a carefull look!";
+ next;
+ mes "[Master]";
+ mes " - Kafra Number (1) ^3355FF'Pavianne'^000000 !!";
+ mes "The Original Kafra, the classic blue haired beauty!...";
+ mes " - Kafra Number (2) ^9A01BA'Blossom'^000000 !!";
+ mes "Her graceful ponytail takes men's breaths away! She's a favorite among young Boys!!";
+ mes " - Kafra Number (3) ^0000FF'Jasmine'^000000 !!";
+ mes "Long, straight, silky hair is what gives her her charm. She is the Silk from the East ~! From payon,....";
+ next;
+ mes "[Master]";
+ mes " - Kafra Number (4) ^FF8040'Roxie'^000000 !!";
+ mes "She has a cute tomboy look with short hair....";
+ mes " - Kafra Number (5) ^7A0DF2'Leilah'^000000 !!";
+ mes "She is intelligent and sophisticated. A pair of refined glasses fits her well....";
+ mes " - Kafra Number (6) ^EEC111'Curly Sue'^000000 !!";
+ mes "Pretty and cute. Although she looks young and immature, she's a very hard worker....";
+ next;
+ mes "[Master]";
+ mes "So who do you think?";
+ next;
+ menu "(1) Pavianne",-,"(2) Blossom",M_01,"(3) Jasmine",M_02,"(4) Roxie",M_03,"(5) Leilah",M_04,"(6) Curly Sue.",M_05;
+
+ mes "[Master]";
+ mes "Oh~ So your reserved in nature, and therefore you are into a more traditional type of girl...";
+ next;
+ mes "[Master]";
+ mes "Well, I have to tell you.....";
+ next;
+ mes "[Master]";
+ mes "The world is all about change so face the facts and learn to accept new things!";
+ close;
+ M_01:
+ mes "[Master]";
+ mes "Wake up~! Do you really think you'd have a shot with a girl like that?? Be realistic! She's out of your league....";
+ emotion 0;
+ close;
+ M_02:
+ mes "[Master]";
+ mes "Gentle, sexy, sweet, and beautiful.... a girl like Jasmine would have you wrapped around her finger in no time....";
+ close;
+ M_03:
+ mes "[Master]";
+ mes "You're over-zealous! If you were to get with a girl who's as exuberant as her...";
+ next;
+ mes "[Master]";
+ mes "You'd cause a LOT of trouble for the neighbors, if ya know what I mean.... Hahahaha!!";
+ emotion 18;
+ close;
+ M_04:
+ mes "[Master]";
+ mes "Into the cold, analytical type huh?... If you like being bossed around, then I guess Leilah's the girl for you....";
+ close;
+ M_05:
+ mes "[Master]";
+ mes "Wha-what!";
+ emotion 0;
+ next;
+ mes "[Master]";
+ mes "A thirst for young girls~~! It's a c-c-crime!!!!";
+ emotion 19;
+ close;
+ M_1:
+ mes "[Master]";
+ mes "Ah~~~!! I stayed up all night last night trying to make this wonderful survey~!!";
+ mes "And you just dissed me~ like thaaat~ I hate you.";
+ close;
+}
+
+// RS125 ------------------------------------------------------------------------
+aldeba_in.gat,234,241,4 script RS125 48,{
+ mes "[RS125]";
+ mes "Even if my first name is not human, and my manner of speech is not very eloquent, please don't be afraid of me.";
+ mes "I'm actually a warm hearted person.";
+ next;
+ mes "[RS125]";
+ mes "There is an artificial heart that beats loudly in my body.";
+ mes "Although people hate me because of it, I will still continue to function for the love of my home, Al De Baran.";
+ next;
+ menu "Oh you poor boy! Tell me more...",-, "The best of luck to ya!!",M_End;
+
+
+ mes "[RS125]";
+ mes ".... It was 3 years ago..... My big bro 996, was a highly regarded sprinter in Al De Baran.";
+ mes "People referred to him as 'Al De Baran's Peco Peco'. He was the fastest runner in the world......";
+ next;
+ mes "[RS125]";
+ mes "Every 4 years a special track meet called the 'Al De Baran Turbo Tracks', takes place here.";
+ mes "Many admirers from around the world came to see my brother. They gathered around him every chance they got.";
+ next;
+ mes "[RS125]";
+ mes "I was his manager at the time and even I became stressed out by the crowds of people.";
+ mes "I can only imagine how he felt about being so famous.";
+ next;
+ mes "[RS125]";
+ mes "Sadly there is no such thing as eternal fame and glory in this world. There was a girl from Payon who came take part in the event.";
+ mes "That year she was able to finally defeat my poor brother.";
+ next;
+ mes "[RS125]";
+ mes "After that humiliating defeat, he decided to train even harder and pushed himself to his limits.";
+ mes "But he pushed to hard and began to have serious heart problems. To this day he cannot move around without someone else's help.";
+ next;
+ mes "[RS125]";
+ mes "Now I am the future of Al De Baran athletics! I am a ray of hope for my brother!";
+ mes "Remember me, for I shall beat her, 'Havana', the breeze of Payon!";
+ close;
+ M_End:
+ mes "[RS125]";
+ mes "I've dreamed of making an around-the-world trip. It would be wonderful to truly experience the sea of Alberta!!";
+ mes "After the track championship next year, my brother and I are going to travel the whole world together.";
+ close;
+}
+
+// Nice Looking Guy ----------------------------------------------------------
+aldeba_in.gat,219,61,4 script Nice Looking Guy 109,{
+ mes "[Nice Looking Guy]";
+ mes "Forget about the doofus living next door.";
+ next;
+ mes "[Nice Looking Guy]";
+ mes "To tell you the truth, 2 years earlier, he fell down from a tree in the Drill Field and since then his mind has been out of control.";
+ mes "I heard he was trying to pick some fruits from that tree.";
+ next;
+ mes "[Nice Looking Guy]";
+ mes "Anyways, he's constantly bugging me and I think I'm gonna be crazy because of him... Oh my goodness!";
+ close;
+}
+
+// Evil Looking Guy --------------------------------------------------------------
+aldeba_in.gat,223,121,2 script Evil looking Guy 63,{
+ mes "[Evil Looking Guy]";
+ mes "Hey dude! Don't you think it's rude for a stranger to enter someone else's house?";
+ emotion 1;
+ next;
+ mes "[Evil Looking Guy]";
+ mes "Now I'm upset! What reason do you have to come in here and bother me??";
+ emotion 32;
+ next;
+ mes "[Evil Looking Guy]";
+ mes "Ah alright, alright. No more fooling around... you're here because I'm an NPC and you think I'm supposed to help you right?";
+ next;
+ menu "You got it.",-, "Nah... just messing around....",M_1;
+
+ mes "[Evil Looking Guy]";
+ mes "You! I'm not sure if you know this, but in this world there exists something called a Mercenary System.";
+ next;
+ mes "[Evil Looking Guy]";
+ mes "What is this you ask? It's simple. You hire a Mercenary to fight battles for you. The more a Mercenary cost the better a fighter he/she is.";
+ next;
+ mes "[Evil Looking Guy]";
+ mes "So how do you go about getting one?? It's easy, listen closely.....";
+ next;
+ mes "[Evil Looking Guy]";
+ mes "First, check his/her nose. Yes, I said NOSE! A high quality Mercenary has a moist nose which is a sign of good health.";
+ mes "If it's possible, try touching the Mercenary's' nose. If it's dry, then there is no doubt that that Mercenary has caught a cold.";
+ next;
+ mes "[Evil Looking Guy]";
+ mes "A good Mercenary should have slender ankles. Umm... in addition, he/she should have a snowy and skinny neck!";
+ mes "And if the Mercenary's' hair is long and curly, that's icing on the cake!!";
+ next;
+ mes "[Evil Looking Guy]";
+ mes "Finally, a Mercenary is obligated to provide 100% customer assistance and support!!!";
+ next;
+ mes "[Evil Looking Guy]";
+ mes "Oh and don't forget to change a Mercenary's' wet tissues as well!!";
+ close;
+ M_1:
+ mes "[Evil Looking Guy]";
+ mes "Whattt!!! Get the heck out of my house!! If you're a cop, show me a search warrant.";
+ mes "If you're a member of my family then pull down your pants so I can look at our family mark!";
+ emotion 0;
+ close;
+}
+
+
+//<=================================================== Kafra Corp. Headquarters ==========================================================>\\
+// Kafra Jasmine -------------------------
+aldeba_in.gat,24,245,4 script Kafra Jasmine 115,{
+ cutin "kafra_03",2;
+ mes "[Kafra Jasmine]";
+ mes "Hi~ I am Kafra type Jasmine. Thank you for coming all the way to the Kafra Main Office here in Al De Baran!";
+ next;
+ mes "[Kafra Jasmine]";
+ mes "Our Kafra Service is always working with our customers!";
+ mes "Our Kafra Service has a history and legacy that is 5 thousand, 8 hundred years old...";
+ mes "Blah-blah-blah.....";
+ next;
+ menu "FIVE THOUSNAD YEARS?!",-, "Ahh~ Shut Up!",M_1, "You got a boyfriend?",M_2;
+
+ mes "[Kafra Jasmine]";
+ mes "HEY! Just SHUT-UP and LISTEN! It took me a whole week to memorize this!";
+ mes "I've got a poor memory unlike the other Kafra agents!";
+ emotion 6;
+ next;
+ mes "[Kafra Jasmine]";
+ mes "..... Eh!... heh... heh... um...";
+ emotion 19;
+ next;
+ mes "[Kafra Jasmine]";
+ mes "I'm verrrryyy sorry about that... I didn't mean to startle you... you see....";
+ next;
+ mes "[Kafra Jasmine]";
+ mes "That... that... that was just an act.... YEAH! An act I put on for the customers. Heh.. heh....";
+ emotion 4;
+ cutin "kafra_03",255;
+ close;
+ M_1:
+ mes "[Kafra Jasmine]";
+ mes ". . . . .";
+ emotion 6;
+ next;
+ mes "[Kafra Jasmine]";
+ mes "Just so you know, I was a member of Kafra Garrison before I joined the Kafra Service Team.";
+ mes "My specialty was 'Bash'!! Now I'm trying to be more feminine and live a quieter life";
+ next;
+ mes "[Kafra Jasmine]";
+ mes "So please, DON'T TEMPT ME...!!";
+ emotion 32;
+ cutin "kafra_03",255;
+ close;
+ M_2:
+ mes "[Kafra Jasmine]";
+ mes "I'm flattered but, Kafra Services has a ridiculous rule that no employee can have a boyfriend....";
+ next;
+ mes "[Kafra Jasmine]";
+ mes "Just kidding~~ Tehehe";
+ emotion 18;
+ cutin "kafra_03",255;
+ close;
+}
+
+// Special Reserve ----------------------------------------------
+aldeba_in.gat,79,161,6 script Kafra 115,{
+ cutin "kafra_03",2;
+ mes "[Kafra]";
+ mes "Welcome, ^6666FF" + strcharinfo(0) + "^000000. This is where you can trade in your special reserve points for useful items and cool prizes.";
+ next;
+ mes "[Kafra]";
+ mes "Each Kafra will allow to trade in reserve points of varying amounts. I can trade in reserve points starting from ^2222FF100 pts up to 3000 pts^000000.";
+ next;
+ mes "[Kafra]";
+ mes "The amount of special reserve points that you have is: ^FF0000"+RESRVPTS+"^000000 pts. Please make a choice based on your point total.";
+M_Menu:
+ next;
+ menu "100- Sweet Potato 7 ea",M_1a, "200- Sweet Potato 15 ea",M_1b, "300- Sweet Potato 25 ea",M_1c, "400- Sweet Potato 35 ea",M_1d,
+ "500- Sweet Potato 50 ea",M_1e, "600- Sweet Potato 60 ea",M_1f, "700- Sweet Potato 75 ea",M_1g, "800- Sweet Potato 85 ea",M_1h,
+ "900- Sweet Potato 100 ea",M_1i, "1000- 1st Lottery Chance!",M_1j, "Next items",M_2, "Cancel",M_End;
+
+ M_1a:
+ if(RESRVPTS < 100) goto sL_LowPts1;
+ mes "[Kafra]";
+ mes "Here you are.";
+ getitem 516, 7;
+ set RESRVPTS, RESRVPTS - 100;
+ close;
+ M_1b:
+ if(RESRVPTS < 200) goto sL_LowPts1;
+ mes "[Kafra]";
+ mes "Here you are.";
+ getitem 516, 15;
+ set RESRVPTS, RESRVPTS - 200;
+ close;
+ M_1c:
+ if(RESRVPTS < 300) goto sL_LowPts1;
+ mes "[Kafra]";
+ mes "Here you are.";
+ getitem 516, 25;
+ set RESRVPTS, RESRVPTS - 300;
+ close;
+ M_1d:
+ if(RESRVPTS < 400) goto sL_LowPts1;
+ mes "[Kafra]";
+ mes "Here you are.";
+ getitem 516, 35;
+ set RESRVPTS, RESRVPTS - 400;
+ close;
+ M_1e:
+ if(RESRVPTS < 500) goto sL_LowPts1;
+ mes "[Kafra]";
+ mes "Here you are.";
+ getitem 516, 50;
+ set RESRVPTS, RESRVPTS - 500;
+ close;
+ M_1f:
+ if(RESRVPTS < 600) goto sL_LowPts1;
+ mes "[Kafra]";
+ mes "Here you are.";
+ getitem 516, 60;
+ set RESRVPTS, RESRVPTS - 600;
+ close;
+ M_1g:
+ if(RESRVPTS < 700) goto sL_LowPts1;
+ mes "[Kafra]";
+ mes "Here you are.";
+ getitem 516, 75;
+ set RESRVPTS, RESRVPTS - 700;
+ close;
+ M_1h:
+ if(RESRVPTS < 800) goto sL_LowPts1;
+ mes "[Kafra]";
+ mes "Here you are.";
+ getitem 516, 85;
+ set RESRVPTS, RESRVPTS - 800;
+ close;
+ M_1i:
+ if(RESRVPTS < 900) goto sL_LowPts1;
+ mes "[Kafra]";
+ mes "Here you are.";
+ getitem 516, 100;
+ set RESRVPTS, RESRVPTS - 900;
+ close;
+ M_1j:
+ if(RESRVPTS < 1000) goto sL_LowPts1;
+ set RESRVPTS, RESRVPTS - 1000;
+ mes "[Kafra]";
+ mes "^0000FF1st Lottery Opportunity!!^000000";
+ set @Lotto, 1;
+ next;
+ callfunc "F_Lottery";
+ goto M_End;
+
+ sL_LowPts1:
+ mes "[Kafra]";
+ mes "I'm sorry but you do not have enough reserve points for that selection.";
+ goto M_Menu;
+
+ M_2:
+ menu "1100- Red Potion 7 ea",M_2a, "1300- Red Potion 15 ea",M_2b, "1500- Red Potion 25 ea",M_2c,
+ "1700- Red Potion 35 ea",M_2d, "1900- Red Potion 50 ea",M_2e, "2100- Red Potion 60 ea",M_2f,
+ "2300- Red Potion 75 ea",M_2g, "2500- Red Potion 85 ea",M_2h, "2800- Red Potion 100 ea",M_2i,
+ "3000- 2nd Lotery Chance!",M_2j, "Previous List",M_Menu, "Cancel",M_End;
+
+ M_2a:
+ if(RESRVPTS < 1100) goto sL_LowPts2;
+ mes "[Kafra]";
+ mes "Here you are.";
+ getitem 501, 7;
+ set RESRVPTS, RESRVPTS - 1100;
+ close;
+ M_2b:
+ if(RESRVPTS < 1300) goto sL_LowPts2;
+ mes "[Kafra]";
+ mes "Here you are.";
+ getitem 501, 15;
+ set RESRVPTS, RESRVPTS - 1300;
+ close;
+ M_2c:
+ if(RESRVPTS < 1500) goto sL_LowPts2;
+ mes "[Kafra]";
+ mes "Here you are.";
+ getitem 501, 25;
+ set RESRVPTS, RESRVPTS - 1500;
+ close;
+ M_2d:
+ if(RESRVPTS < 1700) goto sL_LowPts2;
+ mes "[Kafra]";
+ mes "Here you are.";
+ getitem 501, 35;
+ set RESRVPTS, RESRVPTS - 1700;
+ close;
+ M_2e:
+ if(RESRVPTS < 1900) goto sL_LowPts2;
+ mes "[Kafra]";
+ mes "Here you are.";
+ getitem 501, 50;
+ set RESRVPTS, RESRVPTS - 1900;
+ close;
+ M_2f:
+ if(RESRVPTS < 2100) goto sL_LowPts2;
+ mes "[Kafra]";
+ mes "Here you are.";
+ getitem 501, 60;
+ set RESRVPTS, RESRVPTS - 2100;
+ close;
+ M_2g:
+ if(RESRVPTS < 2300) goto sL_LowPts2;
+ mes "[Kafra]";
+ mes "Here you are.";
+ getitem 501, 75;
+ set RESRVPTS, RESRVPTS - 2300;
+ close;
+ M_2h:
+ if(RESRVPTS < 2500) goto sL_LowPts2;
+ mes "[Kafra]";
+ mes "Here you are.";
+ getitem 501, 85;
+ set RESRVPTS, RESRVPTS - 2500;
+ close;
+ M_2i:
+ if(RESRVPTS < 2800) goto sL_LowPts2;
+ mes "[Kafra]";
+ mes "Here you are.";
+ getitem 501, 100;
+ set RESRVPTS, RESRVPTS - 2800;
+ close;
+ M_2j:
+ if(RESRVPTS < 3000) goto sL_LowPts2;
+ set RESRVPTS, RESRVPTS - 3000;
+ mes "[Kafra]";
+ mes "^0000FF2nd Lottery Opportunity!!^000000";
+ set @Lotto, 2;
+ next;
+ callfunc "F_Lottery";
+ goto M_End;
+
+ sL_LowPts2:
+ mes "[Kafra]";
+ mes "I'm sorry but you do not have enough reserve points for that selection.";
+ next;
+ goto M_2;
+
+ M_End:
+ mes "[Kafra]";
+ mes "Please come back anytime when you have more reserve points.";
+ cutin "kafra_03",255;
+ close;
+}
+
+// Special Reserve 2 ----------------------------------------------
+aldeba_in.gat,88,161,3 script Kafra 115,{
+ cutin "kafra_03",2;
+ mes "[Kafra]";
+ mes "Welcome ^5577FF"+strcharinfo(0)+"^000000. We are currently having a special event for our customers.";
+ mes "You can get free gifts by using your ^FF5533special reserve points^000000 in the ^3355FFSpecial Kafra Gift Event^000000!!";
+ next;
+ mes "[Kafra]";
+ mes "Would you like to use your points?";
+ next;
+ menu "Yes I would.",-, "Maybe next time.",M_End;
+
+ mes "[Kafra]";
+ mes "You have the following amount of special reserve points: ^5544FF"+RESRVPTS+"^000000.";
+ mes "Make a choice and test your luck!";
+ next;
+ menu "5000pts = 1st Lottery Chance!",sM_1st, "7000pts = 2nd Lottery Chance!",sM_2nd, "10000pts = 3rd Lottery Chance!",sM_3rd, "Cancel",M_End;
+
+ sM_1st:
+ if(RESRVPTS < 5000) goto sL_NotEnuf;
+ set RESRVPTS, RESRVPTS - 5000;
+ set @Lotto, 3;
+ callfunc "F_Lottery";
+ goto M_End;
+ sM_2nd:
+ if(RESRVPTS < 7000) goto sL_NotEnuf;
+ set RESRVPTS, RESRVPTS - 7000;
+ set @Lotto, 4;
+ callfunc "F_Lottery";
+ goto M_End;
+ sM_3rd:
+ if(RESRVPTS < 10000) goto sL_NotEnuf;
+ set RESRVPTS, RESRVPTS - 10000;
+ set @Lotto, 5;
+ callfunc "F_Lottery";
+ goto M_End;
+
+ sL_NotEnuf:
+ mes "[Kafra]";
+ mes "I'm sorry dear but you do not have enough points for this selection.";
+ cutin "kafra_03",255;
+ close;
+ M_End:
+ mes "[Kafra]";
+ mes "No problem. Collect more and more special reserve points by using the Kafra Services found throughout Rune Midgard.";
+ mes "Thank you for using Kafra Corp. services.";
+ cutin "kafra_03",255;
+ close;
+}
+
+// Function F_Lottery ------------------------------------------------------------------------------------------
+function script F_Lottery {
+ mes "[Kafra]";
+ mes "You have the unique opportunity to win a prize sent down from the heavens themselves!!";
+ next;
+ mes "[Kafra]";
+ mes "Don't miss this one and only chance! Now dear, are you ready?";
+ next;
+ mes "[Kafra]";
+ mes "How many times do you want the Lottery Machine to spin? You can choose up to 5 times.";
+ next;
+ input @input;
+ if(@input < 1 || @input > 5) set @input, rand(1,5); //Lupus's fix
+ callsub sF_Spin;
+ mes "[Kafra]";
+ mes "Ok~ Let me check the results~ guess what it is?";
+ next;
+ mes "[Kafra]";
+ mes "^FF0000Lets see.... This is...!!^000000";
+ next;
+ if(@temp < 1) goto sL_Prize1;
+ if(@temp < 2) goto sL_Prize2;
+ if(@temp < 3) goto sL_Prize3;
+ if(@temp <= 4) goto sL_Prize4;
+ goto sL_Prize5;
+
+ sL_Prize1:
+ mes "[Kafra]";
+ mes "WOW!!!!..... You win!!! 1st Prize~! Congratulations~~ You got the 1st prize~~";
+ if(@Lotto == 1) getitem 2328,1;//Items: Wooden_Mail,
+ if(@Lotto == 2) getitem 2307,1;//Items: Mantle,
+ if(@Lotto == 3) getitem 657,10;//Items: Berserk_Potion,
+ if(@Lotto == 4) getitem 607,2;//Items: Yggdrasilberry,
+ if(@Lotto == 4) getitem 608,1;//Items: Yggdrasil_Seed,
+ if(@Lotto == 5) getitem 607,3;//Items: Yggdrasilberry,
+ return;
+ sL_Prize2:
+ mes "[Kafra]";
+ mes "Oh! WOW! You've won the 2nd prize! Congratulations!!";
+ if(@Lotto == 1) getitem 2403,1;//Items: Shoes,
+ if(@Lotto == 2) getitem 2226,1;//Items: Cap,
+ if(@Lotto == 3) getitem 2201,1;//Items: Sunglasses,
+ if(@Lotto == 4) getitem 526,3;//Items: Royal_Jelly,
+ if(@Lotto == 5) getitem 608,1;//Items: Yggdrasil_Seed,
+ if(@Lotto == 5) getitem 526,10;//Items: Royal_Jelly,
+ return;
+ sL_Prize3:
+ mes "[Kafra]";
+ mes "Congratulations! You've won the 3rd prize.";
+ if(@Lotto == 1) getitem 602,4;//Items: Butterfly_Wing,
+ if(@Lotto == 2) getitem 505,3;//Items: Blue_Potion,
+ if(@Lotto == 3) getitem 2203,1;//Items: Glasses,
+ if(@Lotto == 4) getitem 504,15;//Items: White_Potion,
+ if(@Lotto == 5) getitem 504,30;//Items: White_Potion,
+ return;
+ sL_Prize4:
+ mes "[Kafra]";
+ mes "You've won the 4th prize.";
+ if(@Lotto == 1) getitem 516,100;//Items: Sweet_Potato,
+ if(@Lotto == 2) getitem 501,150;//Items: Red_Potion,
+ if(@Lotto == 3) getitem 502,150;//Items: Orange_Potion,
+ if(@Lotto == 4) getitem 505,5;//Items: Blue_Potion,
+ if(@Lotto == 5) getitem 505,10;//Items: Blue_Potion,
+ return;
+ sL_Prize5:
+ mes "[Kafra]";
+ mes "You've won the 5th prize.";
+ if(@Lotto == 1) getitem 516,50;//Items: Sweet_Potato,
+ if(@Lotto == 2) getitem 501,100;//Items: Red_Potion,
+ if(@Lotto == 3) getitem 501,200;//Items: Red_Potion,
+ if(@Lotto == 4) getitem 501,250;//Items: Red_Potion,
+ if(@Lotto == 5) getitem 501,300;//Items: Red_Potion,
+ return;
+
+sF_Spin:
+ mes "[Lottery Machine]";
+ mes "Number of spins remaining: "+@input;
+ next;
+ mes "[Lottery Machine]";
+ mes "(rumble~rumble~rumble~)...";
+ next;
+ set @temp, rand(10);
+ set @input, @input -1;
+ if(@input <= 0) return;
+ goto sF_Spin;
+}
+
+
+// Kafra Pavianne -----------------------------
+aldeba_in.gat,81,166,4 script Kafra Pavianee 117,{
+ cutin "kafra_01",2;
+ mes "[Kafra Pavianne]";
+ mes "Welcome! I'm Kafra service's first Kafra type 'Pavianne'";
+ next;
+ mes "[Kafra Pavianne]";
+ mes "Our Kafra Service is always trying to achieve 100% customer satisfaction based on the 3 principles of Trust, Devotion, and Honesty.";
+ next;
+ mes "[Kafra Pavianne]";
+ mes "With complete service training and supervision, we are able to fully meet the needs of our customers.";
+ next;
+ menu "Buy a Kafra Pass",-,"What is a Kafra Pass",M_1,"Good Bye",M_3,"I have a question...",M_4;
+
+ if(Zeny < 2000) goto sL_Zeny;
+ mes "[Kafra Pavianne]";
+ mes "Thank you for using our Kafra Service! Have a Nice Day!";
+ getitem 1084,1;
+ set Zeny, Zeny-2000;
+ emotion 15;
+ cutin "kafra_01",255;
+ close;
+
+ sL_Zeny:
+ mes "[Kafra Pavianne]";
+ mes "I'm sorry but you don't have enough zeny.";
+ close;
+
+ M_1:
+ mes "[Kafra Pavianne]";
+ mes "It's the best gift you can get yourself and it can only be found at the Kafra Main Office!";
+ next;
+ mes "[Kafra Pavianne]";
+ mes "With a Kafra Pass, you could experience the convenience of Kafra Service world-wide! Hassle free! The price is 2000 zeny~~";
+ next;
+ mes "[Kafra Pavianne]";
+ mes "Visit any Kafra Service in Rune-Midgard, and you could enjoy Kafra Service any time any where for once.";
+ mes "Ending a conversation with Kafra Service Agent will expire the pass.";
+ cutin "kafra_01",255;
+ close;
+ M_3:
+ mes "[Kafra Pavianne]";
+ mes "Thank you for using Kafra Services! I'm Kafra Pavianne, and it was a pleasure to assist you.";
+ emotion 15;
+ cutin "kafra_01",255;
+ close;
+
+ M_4:
+ mes "[Kafra Pavianne]";
+ mes "Why? Is there something disturbing you?";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "No, but why is the sun not shining?";
+ next;
+ mes "[Kafra Pavianne]";
+ mes "You will only know, when enjoyment cease the guide to illumination.";
+ cutin "kafra_01",255;
+ close;
+
+}
+
+// Kafra Blossom -----------------------------------
+aldeba_in.gat,83,244,4 script Kafra Blossom 116,{
+ cutin "kafra_02",2;
+ mes "[Kafra Blossom]";
+ mes "..... Pavianne is soooo old school! She's too stubborn is what it is...";
+ emotion 32;
+ next;
+ mes "[Kafra Blossom]";
+ mes "We should be trying to make our customers' experience more unique, with new and creative ideas...";
+ next;
+ mes "[Kafra Blossom]";
+ mes "Anyways... WEELLLLCOOMMME!!!~~ I am Kafra type ^3333ffBlossom^000000.";
+ mes "Please don't forget to continue using our Kafra Services, and ask for me, ^3333ffBlossom^000000!";
+ next;
+ menu "I'm an admirer of you~!",-,"Ehhaha",M_1;
+
+ mes "[Kafra Blossom]";
+ mes "Really! Thank you sooo much!! Here is... my... autograph...";
+ emotion 15;
+ next;
+ mes "[Kafra Blossom]";
+ mes "Don't bother to look in your Item Inventory for it. It won't be there... tehehe... for my autograph will remain within your heart.";
+ emotion 33;
+ cutin "kafra_02",255;
+ close;
+ M_1:
+ mes "[Kafra Blossom]";
+ mes "Huh? . . . . . That's all? Phew~ such a dull customer...";
+ emotion 1;
+ cutin "kafra_02",255;
+ close;
+}
+
+// Kafra Curly Sue ---------------------------------
+aldeba_in.gat,91,244,4 script Kafra Curly Sue 112,{
+ cutin "kafra_06",2;
+ mes "[Kafra Curly Sue]";
+ mes "Hello, hello! I'm the youngest of all Kafra personnel, the Kafra cutey....";
+ next;
+ mes "[Kafra Curly Sue]";
+ mes "I am Kafra Type 'Curly Sue'!!";
+ next;
+ mes "[Kafra Curly Sue]";
+ mes "I'm rather new so haven't been on the job all that long, but I am always doing my best!!";
+ next;
+ menu "Uh... where is your mommy?",-,"End conversation",M_End;
+
+ mes "[Kafra Curly Sue]";
+ mes ".... Sob~sob~... WHAT?? I'm NOT some KID!!";
+ emotion 28;
+ next;
+ cutin "kafra_06",255;
+ close;
+ M_End:
+ mes "[Kafra Curly Sue]";
+ mes "Here at Kafra Corp., we're all doing our B-E-S-T to provide our customers with the B-E-S-T service.";
+ mes "We really appreciate your doing business with us.";
+ next;
+ cutin "kafra_06",255;
+ close;
+}
+
+// Kafra Roxie --------------------------------------
+aldeba_in.gat,148,244,4 script Kafra Roxie 114,{
+ cutin "kafra_04",2;
+ mes "[Kafra Roxie]";
+ mes "Welcome! I'm Kafra type 'Roxie'. Let me let you in on a special secret about the Kafras!";
+ next;
+ mes "[Kafra Roxie]";
+ mes "You know... Our Kafra Service wasn't originally called Kafra.... Well what do you think it was?~";
+ next;
+ mes "[Kafra Roxie]";
+ mes "TaDa~ Surprisingly it was.... Ka....";
+ next;
+ mes "[Kafra Roxie]";
+ mes "(Ring Ring Ring) Oh... my phone... Sorry please wait...";
+ next;
+ mes "[Kafra Roxie]";
+ mes "Hi, Kafra Type Roxie here.... Huh! Director, sir!... Yes!... Yes!... I understand! ..... Sure!... Ah... Huh?!";
+ next;
+ mes "[Kafra Roxie]";
+ mes "No-no sir!.... Yes I understand!!";
+ next;
+ mes "[Kafra Roxie]";
+ mes "(*Click*) ..... Heh heh....";
+ next;
+ mes "[Kafra Roxie]";
+ mes "Uh... please ignore what I was talking about earlier. Hahaha.....heh...";
+ emotion 4;
+ cutin "kafra_04",255;
+ close;
+}
+
+
+//<====================================================== Clock Tower ==============================================================>\\
+// Clock Keeper ---------------------------------------------------------------
+aldebaran.gat,143,136,4 script Clock Keeper 89,{
+ mes "[Clock Keeper]";
+ mes "Let me introduce myself, I am 'Monster A' of the Al De Baran Clock Tower, and the Committee of 'Heaven on Earth'.";
+ next;
+ mes "[Clock Keeper]";
+ mes "It looks like you have an interest in this tower?";
+ next;
+ menu "About the Clock Tower.",-,"About the Committee of 'Heaven on Earth'.",M_1,"Quit.",M_End;
+
+ mes "[Clock Keeper]";
+ mes "Each floor of this tower is connected through a device called a 'Warp'.";
+ mes "Most of these warps are standard warps but some of them are 'Random Warps'.";
+ next;
+ mes "[Clock Keeper]";
+ mes "You should be careful with 'Random Warps' because they will transport you to a random location.";
+ next;
+ mes "[Clock Keeper]";
+ mes "I know you wouldn't want to get separated from you friends while you're battling monsters.";
+ next;
+ mes "[Clock Keeper]";
+ mes "Random warps are shown as green dots on the Mini-Map so keep your eyes on the Mini-Map to avoid them.";
+ next;
+ mes "[Clock Keeper]";
+ mes "Have a good time with the clocks. Hehehehe.";
+ close;
+ M_1:
+ mes "[Clock Keeper]";
+ mes "Have you ever heard of the Committee of 'Heaven on Earth'?!";
+ next;
+ menu "Yup, I have",-,"What are they?",sM_1;
+
+ mes "[Clock Keeper]";
+ mes "Muhahahaha! Good, good! I'm so glad that our reputation has spread throughout Rune-Midgard.";
+ mes "What a great day to meet an adventurer like you! I would like to present this to you.....";
+ next;
+ mes "[Clock Keeper]";
+ mes "Hmmm... Where did I leave it...";
+ next;
+ mes "[Clock Keeper]";
+ mes "Oops... it seems that I left the present in the control room on the 4th floor of the tower.";
+ mes "I promise I will give it to you next time. See you later.";
+ close;
+ sM_1:
+ mes "[Clock Keeper]";
+ mes "What? I can't believe that there are still people who do not know about us!";
+ next;
+ mes "[Clock Keeper]";
+ mes "Our goal is to build a Heaven on Earth. Specifically here in AL De Baran. For starters, we built this clock tower.";
+ next;
+ mes "[Clock Keeper]";
+ mes "We even created the idea for Glast Helm a while back.";
+ mes "Look around and you will see many of our great achievements.";
+ close;
+ M_End:
+ close;
+}
+
+// Gatekeeper Riku -------------------------------------------------------------------
+c_tower3.gat,10,249,4 script Gatekeeper 84,{
+ mes "[Gatekeeper Riku]";
+ mes "Welcome to ";
+ mes "Kinase - Blue Gallino";
+ mes "the one of Local Speciality in Aldebaran.";
+ mes "However,from the 4th Floor of this Clock Tower,";
+ mes "You may not enter.";
+ mes "Please go back to where you're from.";
+ next;
+ menu "About Clock Tower",-,"About the 4th Floor",M_1,"Move to the 4th Floor",M_2,"End mesue",M_End;
+
+ mes "[Gatekeeper Riku]";
+ mes "Homeland of Alchemy, Aldebaran!";
+ mes "Long Time ago, there were";
+ mes "3 Legendary Alchemists...They are";
+ mes "Bruke Seimer,";
+ mes "Philip Warisez,";
+ mes "And..";
+ next;
+ mes "[Gatekeeper Riku]";
+ mes "Romero Specialre!";
+ mes "This venerable architecture is their masterpiece.";
+ mes "I assume you would feel something unusual";
+ mes "While on the way to this floor,";
+ mes "Every feature of This Clock tower ";
+ next;
+ mes "[Gatekeeper Riku]";
+ mes "Consists of Mysterious Ancient Magics.";
+ mes "If you just wander around here without any intention";
+ next;
+ mes "[Gatekeeper Riku]";
+ mes "By any means,";
+ mes "You will meet with a mishap";
+ mes "by Gatekeeper Creatures.";
+ mes "Please be careful ..";
+ close;
+ M_1:
+ mes "[Gatekeeper Riku]";
+ mes "Ancient Alchemists";
+ mes "Sealed the Gate of 4th Floor using an Alchemistic Device ";
+ mes "To keep something";
+ mes "From Evil Creatures and Human Enemies.";
+ mes "To go through this door";
+ next;
+ mes "[Gatekeeper Riku]";
+ mes "It needs a Key.";
+ mes "That Key has rumored to be possessed by Gatekeeper Creatures";
+ mes "Prowling around here.";
+ next;
+ mes "[Gatekeeper Riku]";
+ mes "The Key is the Intensiveness of Ancient Alchemy,";
+ mes "By hearsay When used once,";
+ mes "It will be released from being spelled";
+ mes "And be disappeared.";
+ next;
+ mes "[Gatekeeper Riku]";
+ mes "If that key comes into your possession, please show it to me.";
+ mes "The one who possesses the Key of Clock Tower";
+ mes "Will have access to go through this Gate with his own will!";
+ next;
+ mes "[Gatekeeper Riku]";
+ mes "I will give you a chance.";
+ mes ". . . . .";
+ close;
+ M_2:
+ mes "[Gatekeeper Riku]";
+ if(countitem(7026) < 1) goto L_Check_Key;
+ delitem 7026,1;
+ mes "Hmm! I already felt that you are not an Ordinary person,";
+ mes "Now it seems to be successful in Speculation.";
+ mes "Please, You may enter.";
+ mes "May God bless you ..";
+ next;
+ warp "c_tower4.gat",185,44;
+ close;
+
+ L_Check_Key:
+ mes ". . . . . .";
+ mes "Unfortunately you don't have a privilege";
+ mes "To enter this Gate ..";
+ mes "You won't be able to go through";
+ mes "As long as Ancient Alchemists";
+ mes " Don't approve you.";
+ close;
+ M_End:
+ mes "[Gatekeeper Riku]";
+ mes "This Clock Tower";
+ mes "Is the place where the 3 Ancient Legendary Alchemists";
+ mes "Have left their Spirits and Skills.";
+ mes "Please Do not Scribble or Damage on the Interior.";
+ close;
+}
+
+//<======================================== Al De Baran Dungeon ==========================================>\\
+alde_dun03.gat,264,16,4 script Gatekeeper 101,{
+ mes "[Gatekeeper Boy]";
+ mes "Welcome to";
+ mes "Kinase - Blue Gallino";
+ mes "The one of Local Speciality in Aldebaran.";
+ mes "You can't go through from B4th Floor,";
+ mes "Please go back.";
+ next;
+ menu "About Clock Tower",-,"About B4th Floor",M_1,"Move to the B4th Floor",M_2,"End mesue",M_End;
+
+ mes "[Gatekeeper Boy]";
+ mes "Homeland of Alchemy, Aldebaran!";
+ mes "Long Time ago, there were";
+ mes "3 Legendary Alchemists... They are";
+ mes "Bruke Seimer";
+ mes "Philip Warisez";
+ mes "And ..";
+ next;
+ mes "[Gatekeeper Boy]";
+ mes "Romero Specialre!";
+ mes "This venerable architecture is";
+ mes "their masterpiece.";
+ mes "I assume you would feel something unusual";
+ mes "While on the way to this floor,";
+ mes "Every feature of This Clock tower";
+ next;
+ mes "[Gatekeeper Boy]";
+ mes "Consists of Mysterious Ancient Magics.";
+ mes "If you just wander around here,";
+ mes " without any intention";
+ next;
+ mes "[Gatekeeper Boy]";
+ mes "By any means,";
+ mes "You will meet with a mishap";
+ mes "by Gatekeeper Creatures.";
+ mes "Please be careful ..";
+ close;
+ M_1:
+ mes "[Gatekeeper Boy]";
+ mes "Ancient Alchemists";
+ mes "Sealed the Gate of 4th Floor using an Alchemistic Device ";
+ mes "To keep something";
+ mes "From Evil Creatures and Human Enemies.";
+ mes "To go through this door";
+ next;
+ mes "[Gatekeeper Boy]";
+ mes "It needs a Key.";
+ mes "That Key has rumored to be possessed by Gatekeeper Creatures";
+ mes "Prowling around here.";
+ next;
+ mes "[Gatekeeper Boy]";
+ mes "The Key is the Intensiveness of Ancient Alchemy,";
+ mes "By hearsay When used once,";
+ mes "It will be released from being spelled";
+ mes "And be disappeared.";
+ next;
+ mes "[Gatekeeper Boy]";
+ mes "If that key comes into your possession, please show it to me.";
+ mes "The one who possesses the Key of Underground";
+ mes "Will have access to go through this Gate with his own will!";
+ next;
+ mes "[Gatekeeper Boy]";
+ mes "I will give you a chance.";
+ mes ". . . . .";
+ close;
+ M_2:
+ mes "[Gatekeeper Boy]";
+ if(countitem(7027) < 1) goto L_Check_Key;
+ delitem 7027,1;
+ mes "Hmm! I already felt that you are not an Ordinary person,";
+ mes "Now it seems to be successful in Speculation.";
+ mes "Please,You may enter.";
+ mes "May God bless you ..";
+ next;
+ warp "alde_dun04.gat",79,267;
+ close;
+
+ L_Check_Key:
+ mes ". . . . . .";
+ mes "Unfortunately you don't have a privilege";
+ mes "To enter this Gate ..";
+ mes "You won't be able to go through";
+ mes "As long as Ancient Alchemists";
+ mes " Don't grant you.";
+ close;
+ M_End:
+ mes "[Gatekeeper Boy]";
+ mes "This Clock Tower";
+ mes "Is the place where the 3 Ancient Legendary Alchemists";
+ mes "Has left their Spirits and Skills.";
+ mes "Please Do not Scribble or Damage on the Interior.";
+ close;
+}
diff --git a/npc/cities/amatsu.txt b/npc/cities/amatsu.txt
new file mode 100644
index 000000000..bc3f8db1b
--- /dev/null
+++ b/npc/cities/amatsu.txt
@@ -0,0 +1,1475 @@
+//===== eAthena Script =======================================
+//= Amatsu Script
+//===== By: ==================================================
+//= Some people & eAthena Dev Team
+//===== Current Version: =====================================
+//= 1.05
+//===== Compatible With: =====================================
+//= Any eAthena Version; Niflheim Required
+//===== Description: =========================================
+// Amatsu Town NPCs : Revision 2 (Fox quest fix)
+// Translated by Makenshi and dj
+// Revisions and edits by Valaris and Darkchild
+// 1.01 event_sushi -> ama_sushi fixed
+// and other fixes, thanks to Shinomori
+// 1.02 Fixed & Spell Checked [massdriller]
+// 1.03 Fixed 2 NPC names, slight optimization [Lupus]
+// 1.04 Fixed a few typo's [Nexon]
+// 1.05 Changed all breaks to ends. [Skotlex]
+//=====================================================================
+alberta.gat,245,93,4 script Captain 709,{
+ mes "[Carter Moores]";
+ mes "Did you know that on the other side of the ocean";
+ mes "there lives a mysterious culture, ";
+ mes "with stories totally unheard of in this country.";
+ mes "Have you heard of it before?";
+ next;
+ menu "I want to know more about Amatsu",L1,"Go to Amatsu",L2,"End Dialogue",-;
+ mes "[Carter Moores]";
+ mes "If you are a true adventurer,";
+ mes "you should try to leave this continent.";
+ mes "Nothing is more exciting than learning about new cultures...";
+ mes "However, do whatever you want.";
+ close;
+ L1:
+ mes "[Carter Moores]";
+ mes "The legend says, a sailor got lost on the sea,";
+ mes "in midst of drifting in the sea,";
+ mes "he discovered it...";
+ mes "In the mighty storm and the mist, ";
+ mes "the ship is undoubtedly lost.";
+ next;
+ mes "[Carter Moores]";
+ mes "After the ship sunk";
+ mes "he reached a village.";
+ mes "It is now called Amatsu,";
+ mes "The sailor was later rescued by the locals.";
+ mes "As he worked hard over there,";
+ mes "I heard that he later finished a map.";
+ next;
+ mes "[Carter Moores]";
+ mes "He died soon after his return,";
+ mes "but the map was indeed passed onto Tristian the Third.";
+ mes "Later, the king ordered";
+ mes "that whoever is able to open a route,";
+ mes "that leads to Amatsu, will get a reward from the king.";
+ mes "He gave everyone a copy of the map";
+ next;
+ mes "[Carter Moores]";
+ mes "What the people want is not the reward,";
+ mes "but to get the trading opportunity with other countries.";
+ mes "The benefits from this is almost unimaginable.";
+ mes "Therefore, many adventurers and bold captains";
+ mes "took the map,";
+ mes "And headed for the ocean...";
+ next;
+ mes "[Carter Moores]";
+ mes "But all of them have failed!";
+ mes "To face the gigantic current and the unpredictable weather,";
+ mes "one needed to be familiar with sailing and the ocean.";
+ mes "However, all of them were blinded by the reward and desire for the trade rights,";
+ mes "and failed to make the necessary preparations";
+ next;
+ mes "[Carter Moores]";
+ mes "At this time, someone found it,";
+ mes "the entire route to Amatsu...";
+ mes "And that guy is me, Mr. Carter Moores,";
+ mes "the first person to start trading with Amatsu!";
+ mes "Hahaha! That's pretty much it";
+ next;
+ mes "[Carter Moores]";
+ mes "I made quite a bit of zeny from the trade,";
+ mes "and am now trying to start a tourism industry.";
+ mes "Do a little investment.";
+ mes "If you want to go to Amatsu,";
+ mes "then just tell me...!";
+ close;
+ L2:
+ mes "[Carter Moores]";
+ mes "Yea, Amatsu is a great place!";
+ mes "Because to cross that treacherous ocean";
+ mes "is not a very easy thing to do.";
+ mes "I hope you find the travelling fee acceptable.";
+ next;
+ mes "[Carter Moores]";
+ mes "The round trip costs 10,000 Zeny.";
+ mes "Our commercial vessels are very sturdy.";
+ mes "The passenger rooms are specially designed as well.";
+ next;
+ mes "[Carter Moores]";
+ mes "So, have you decided to leave?";
+ mes "Do you have enough zeny for travelling?";
+ next;
+ menu "Yes",Lgo,"No",-;
+ mes "[Carter Moores]";
+ mes "Not drawn to this new continent?";
+ mes "People never like";
+ mes "to head for the far coast on the other side.";
+ close;
+ Lgo:
+ if (Zeny < 10000) goto Lzeny;
+ set Zeny, Zeny-10000;
+ mes "[Carter Moores]";
+ mes "All aboard!";
+ next;
+ warp "amatsu",197,83;
+ end;
+ Lzeny:
+ mes "[Carter Moores]";
+ mes "Did you forget what I said?";
+ mes "10,000 zeny. If you can't come up with enough zeny,";
+ mes "hunt around the Sunken Ship,";
+ mes "and hope for some luck hunting treasure...";
+ mes "and get enough zeny";
+ close;
+}
+//=====================================================================
+amatsu.gat,194,79,4 script Captain 709,{
+ mes "[Carter Moores]";
+ mes "Ready to leave?";
+ mes "Probably had lots of fun in the Amatsu Tour!";
+ mes "Are you really ready to leave?";
+ menu "Time to go home!",L1,"I will stay a bit longer",-;
+ mes "[Carter Moores]";
+ mes "Alright! Roger that.";
+ mes "The vessel for return will always be ready.";
+ mes "Have a good trip.";
+ close;
+ L1:
+ mes "[Carter Moores]";
+ mes "Set sail.";
+ mes "Don't know if you are bringing back any";
+ mes "souvenirs.";
+ next;
+ warp "alberta",243,91;
+ end;
+}
+//=====================================================================
+// Amatsu Citizen
+//=====================================================================
+amatsu.gat,179,107,4 script John 86,{
+ mes "[John]";
+ mes "Hey.";
+ mes "You seem like me,";
+ mes "not a native of Amatsu";
+ next;
+ mes "[John]";
+ mes "I have been here";
+ mes "doing business for almost 5 years";
+ next;
+ mes "Even during the first time ";
+ mes "the kingdom of Rune-Midgard";
+ mes "traded with Amatsu.";
+ mes "I thought of the 'Lucky Bum'!";
+ next;
+ mes "[John]";
+ mes "I want to start something";
+ mes "unique that the others won't do.";
+ next;
+ mes "[John]";
+ mes "So I decided";
+ mes "to come to Amatsu";
+ mes "and learn how to make the food here,";
+ mes "then return home";
+ mes "so everyone can enjoy the exotic food.";
+ next;
+ mes "[John]";
+ mes "But in the end";
+ mes "I became attached to this place.";
+ mes "Even after 5 years";
+ mes "I am still here";
+ next;
+ mes "[John]";
+ mes "Anyhow, from then on I just stayed here.";
+ mes "Just chat and gossip with the villagers,";
+ mes "and relax";
+ next;
+ mes "[John]";
+ mes "Some time ago a famous sushi chef";
+ mes "lived across the street, and ever since";
+ mes "I have only seen flies around my place.";
+ next;
+ mes "[John]";
+ mes "In this life, my happiness in life";
+ mes "has been found here already.";
+ mes "Now it seems like it is about to end as well.";
+ close;
+}
+//=====================================================================
+amatsu.gat,185,116,4 script Drunken Man 765,{
+ mes "[Ralph]";
+ mes "Cough. I'm old and useless.";
+ mes "Only brute strength. Cough.";
+ mes "This time I really cough won't go back home. Cough.";
+ next;
+ menu "Please stop drinking and go home.",L1,"Let's get wasted!",L2;
+L2:
+ mes "[Ralph]";
+ mes "Hahaha! A good young man.";
+ mes "Cough, but but, cough";
+ mes "I can't give you my drink, cough.";
+ next;
+ mes "[Ralph]";
+ mes "If you want to buy me a drink, I'll think about it.";
+ mes "Haha! Cough.";
+ close;
+L1:
+ mes "[Ralph]";
+ mes "What?!";
+ mes "You want me to be like my wife, to be beaten by iron fists?";
+ mes "Cough. You won't know it until you see it";
+ mes "When she was young,";
+ mes "she wrestled and caught tigers.";
+ next;
+ mes "[Ralph]";
+ mes "I was in Co..Comudo whatever town it was.";
+ mes "I just lost a little, and he";
+ mes "beat me up like that. Cough.";
+ next;
+ mes "[Ralph]";
+ mes "Lacking life.";
+ mes "What the hell are zeny??";
+ mes "Cough.. Cough..";
+ mes "...........................";
+ mes "........Cough..............";
+ close;
+}
+//=====================================================================
+amatsu.gat,217,179,0 script Old Women 760,{
+ mes "[Hashey]";
+ mes "My husband is so into gambling, it worries me to death.";
+ mes "Went to that town that's really far away, lost a lot of zeny again.";
+ mes "Come back..";
+ next;
+ mes "[Hahsey]";
+ mes "Because I was angry, I got irrational again.";
+ mes "Don't know if he's drinking at home again.";
+ mes "What a miser.. sobs.";
+ close;
+}
+//=====================================================================
+ama_in01.gat,162,17,0 script Iron Chef 765,{
+ if (ama_sushi == 1) goto LStart2;
+ mes "[ShabuShabu]";
+ mes "*Sighs* This is getting worse..";
+ mes "Everyday more customers come,";
+ mes "but I can never get";
+ mes "enough material, even today.";
+ mes "A lot of customers surely will be hungry?";
+ next;
+ mes "[ShabuShabu]";
+ mes "*Sigh*, a customer. Welcome.";
+ mes "As always, my homemade sashimi";
+ mes "focuses on the freshness. What do you need?";
+ next;
+ menu "I want to buy shrimp sushi",L1,"I want to buy sashimi",L2,"Need some help!",L3,"Keep up the good work",-;
+ mes "[ShabuShabu]";
+ mes "Alright then, my sashimi";
+ mes "are famous throughout the world! Their taste relies on its freshness, and no one else can make them.";
+ mes "If you have a chance, come try a little sashimi!";
+ close;
+ L1:
+ mes "[ShabuShabu]";
+ mes "Alright! How much do you want?";
+ mes "Unit price 700 zeny, but if you only want a taste,";
+ mes "I'll give you a discount of 74 zeny,";
+ mes "If you like the taste come back and find me later.";
+ next;
+ menu "I want the 700 zeny piece!",L1_1,"I want the 74 zeny sample!",L1_2,"I'll come eat next time",-;
+ mes "[ShabuShabu]";
+ mes "Alright then, my shrimp sushi";
+ mes "are famous throughout the world! Their taste relies on its freshness, and no one else can make them.";
+ mes "If you have a chance, come try a little sashimi!";
+ close;
+ L1_1:
+ if (Zeny < 700) goto Lzeny;
+ set Zeny,Zeny-700;
+ getitem 551,10;
+ mes "[If you have a chance, come try a little sashimi!]";
+ mes "Thank you very much";
+ close;
+ L1_2:
+ if (Zeny < 74) goto Lzeny;
+ set Zeny,Zeny-74;
+ getitem 551,1;
+ mes "[If you have a chance, come try a little sashimi!]";
+ mes "Thank you very much";
+ close;
+ L2:
+ mes "[ShabuShabu]";
+ mes "Alright! How much do you want?";
+ mes "Unit price 350 zeny, but if you only want a taste,";
+ mes "I'll just give you a discount of 37 zeny.";
+ mes "If you like the taste come back and find me later";
+ next;
+ menu "I want the 350 zeny piece!",L2_1,"I want the 37 zeny sample",L2_2,"I'll come eat next time",-;
+ mes "[ShabuShabu]";
+ mes "Alright then, my sashimi";
+ mes "are famous throughout the world! Their taste relies on its freshness, and no one else can make them.";
+ mes "[If you have a chance, come try a little sashimi!]";
+ close;
+ L2_1:
+ if (Zeny < 350) goto Lzeny;
+ set Zeny,Zeny-350;
+ getitem 544,10;
+ mes "[ShabuShabu]";
+ mes "Thank you very much";
+ close;
+ L2_2:
+ if (Zeny < 37) goto Lzeny;
+ set Zeny,Zeny-37;
+ getitem 544,1;
+ mes "[ShabuShabu]";
+ mes "Thank you very much";
+ close;
+ Lzeny:
+ mes "[ShabuShabu]";
+ mes "You don't have enough zeny with you";
+ close;
+L3:
+ mes "[ShabuShabu]";
+ mes "Oh, any help is welcomed!!";
+ mes "I was just worrying about not having enough material everyday.";
+ mes "Do you want to hear my request?";
+ mes "Of course I will pay you to help me.";
+ next;
+
+ set ama_sushi,1;
+ mes "[ShabuShabu]";
+ mes "Crab Shell.";
+ mes "They are all out. I need them right now.";
+ mes "So please find ^0000FF10Crab shells^000000.";
+ mes "I can never find it when I need it.";
+ mes "I'll be counting on you.";
+ next;
+ mes "[ShabuShabu]";
+ mes "Then, please hurry! I'll be here";
+ mes "waiting for you, please don't forget my request!";
+ close;
+LStart2:
+ if (countitem(964)>=10) goto Lok;
+ mes "[ShabuShabu]";
+ mes "Man, don't have my materials ready?";
+ mes "Oh no, you didn't forget it did you?";
+ next;
+ mes "[ShabuShabu]";
+ mes "^0000FF10Crab shells^000000";
+ mes "Don't forget again.";
+ mes "You must help me find them!";
+ close;
+Lok:
+ delitem 964,10;
+ getitem 551,20;
+ mes "[ShabuShabu]";
+ mes "Hmm! Thank you so much";
+ next;
+ mes "[ShabuShabu]";
+ mes "Here is my thanks, take it!";
+ set ama_sushi,0;
+ close;
+
+}
+//=====================================================================
+amatsu.gat,189,166,4 script Kouji 764,{
+ mes "[Kuruchi]";
+ mes "Lalala Lalala Lalalalalala..";
+ mes "Lalala Lalala Lalalalalala..";
+ next;
+ if (event_amatsu == 2) goto L1;
+ if ((event_amatsu == 3) || (event_amatsu == 4)) goto L2;
+ if (event_amatsu == 5) goto L3;
+ if (event_amatsu == 6) goto L4;
+L0:
+ mes "[Kuruchi]";
+ mes "Hanging Under the Blue Sky's Blue Roof";
+ mes "Shining on Blue Wall's Reflection on the Blue Lake";
+ mes "Blue Hearting Containing a Blue Desire";
+ mes "Blue, Blue Every thing's Blue";
+ next;
+ goto LEnd;
+L1:
+ mes "[Kuruchi]";
+ mes "Monk, Monk, the fox is following me";
+ mes "Because I have its favourite food";
+ mes "Ramen noodle, my favourite too";
+ mes "I can eat it three times a day";
+ set event_amatsu,3;
+ goto LEnd;
+L2:
+ mes "[Kuruchi]";
+ mes "Monk, Monk, The Fox Is Following Me";
+ mes "Shout At Him To Scare It Off!";
+ mes "Voice Too Small So It Didn't Run Off";
+ mes "Followed All The Way To North Side's Shrine!";
+ set event_amatsu,4;
+ goto LEnd;
+L3:
+ mes "[Kuruchi]";
+ mes "Monk, Monk, The Fox Is Following Me";
+ mes "Ramen noodles My Favorite";
+ mes "But Now I am No Longer Afraid?";
+ mes "I Shouted Loudly To Scare It Off!";
+ goto LEnd;
+L4:
+ mes "[Kuruchi]";
+ mes "The Town's Dock Has An Abandoned Boat!";
+ mes "Everyone Forget That In The Ship";
+ mes "Is Full Of Treasure And Gold";
+ mes "A Boat That Is Feared By Everyone";
+ goto LEnd;
+
+LEnd:
+ next;
+ mes "[Kuruchi]";
+ mes "Lalala Lalala Lalalalalala..";
+ mes "Lalala Lalala Lalalalalala..";
+ close;
+}
+
+//=====================================================================
+amatsu.gat,205,163,4 script Mimi 759,{
+ mes "[Mimi]";
+ mes "Phew..";
+ mes "Did you see the Ms. Amatsu besides the dock?";
+ mes "Very pretty, no?";
+ next;
+ mes "[Mimi]";
+ mes "When I grow up I also want to enter the competition.";
+ next;
+ mes "[Mimi]";
+ mes "Although I look like this, I am still the most beautiful woman in town..";
+ mes "Women always need to watch their appearance, whoohoohoohooo.";
+ close;
+}
+//=====================================================================
+amatsu.gat,230,160,4 script Lady 757,{
+ mes "[Yorukoc]";
+ mes "Although I come to the well for water everyday,";
+ mes "if it's misty or rainy,";
+ mes "I will not come out here.";
+ next;
+ mes "[Yoruko]";
+ mes "Seems like deep within the well,";
+ mes "someone is trying to";
+ mes "climb up on the wall of the well.";
+ mes "It gives me goosebumps.";
+ close;
+}
+//=====================================================================
+amatsu.gat,171,174,4 script Guard Soldier 767,{
+ if ((event_amatsu == 0) || (event_amatsu == 1)) goto L0;
+ if (event_amatsu == 6) goto L1;
+ if (event_amatsu == 7) goto L2;
+ mes "[Guard Soldier]";
+ mes "This area is where";
+ mes "the Master's mother";
+ mes "Is here for her treatment.";
+ next;
+ mes "[Guard Soldier]";
+ mes "Although it's not much to talk about...";
+ mes "She has been sick here for several months";
+ mes "and started to live here";
+ close;
+L0:
+ mes "[Guard Soldier]";
+ mes "This is where the Master's mother stays at.";
+ mes "Please keep quiet, we are also";
+ mes "very worried watching this everyday";
+ next;
+ mes "[Guard Soldier]";
+ mes "Why does this happen";
+ mes "to our benign and wise Master...";
+ mes "I don't understand, *sobs*...";
+ close;
+L1:
+ mes "[Guard Soldier]";
+ mes "What? Seems like something";
+ mes "flew by... Didn't you see? Oh...";
+ mes "And I heard a loud noise... Scared the shit out of me";
+ close;
+L2:
+ mes "[Guard Soldier]";
+ mes "Our master should be alright now.";
+ mes "We are also greatly relieved.";
+ mes "You have no idea how worried we were... Phew.";
+ close;
+}
+//=====================================================================
+amatsu.gat,164,174,4 script Guard Soldier 767,{
+ if (event_amatsu == 0) goto LOnce;
+ if ((event_amatsu >= 2) && (event_amatsu <= 5)) goto L2;
+ if (event_amatsu == 6) goto L3;
+ if (event_amatsu == 7) goto L4;
+ mes "[Guard Soldier]";
+ mes "Hopefully she will return healthy soon...";
+ mes "The Master has spent a lot of time";
+ mes "taking care and worrying about her.";
+ close;
+LOnce:
+ mes "[Guard Soldier]";
+ mes "Do not enter here.";
+ mes "This is where the master's mother is";
+ mes "recuperating.";
+ next;
+ mes "[Guard Soldier]";
+ mes "Although it's not much to talk about.";
+ mes "But she has been sick here for several months";
+ mes "and started to live here.";
+ set event_amatsu,1;
+ close;
+L2:
+ mes "[Guard Soldier]";
+ mes "If you are invited by the Master...";
+ mes "Please do come in.";
+ mes "Up till today, many doctors came to diagnose but";
+ mes "all their efforts seem futile.";
+ close;
+L3:
+ mes "[Guard Soldier]";
+ mes" Hey!";
+ mes" What's that sound!?";
+ mes" Where did it come from!?";
+ close;
+L4:
+ mes "[Guard Soldier]";
+ mes "The master's mother still";
+ mes "hasn't fully recovered.. ";
+ mes "Although, it seems to have turned for the better.";
+ mes "But then again..";
+ close;
+}
+//=====================================================================
+amatsu.gat,119,164,4 script Guard Soldier 767,{
+ mes "[Guard Soldier]";
+ mes "Are you from Rune-Midgard?";
+ mes "Welcome to the town of Amatsu.";
+ mes "After entering the city,";
+ mes "please pay a visit to the Master of Amatsu";
+ mes "before leaving!";
+ next;
+ mes "[Guard Soldier]";
+ mes "He is a really great guy.";
+ mes "He did a lot of investments for the town";
+ mes "from all over the other continents.";
+ mes "He handles all sorts of things.";
+ close;
+}
+//=====================================================================
+amatsu.gat,112,164,4 script Guard Soldier 767,{
+ mes "[Guard Soldier]";
+ mes "This is the best castle in Amatsu,";
+ mes "called the East Lake Castle.";
+ mes "Normally people are not permitted";
+ mes "to come in and out.";
+ next;
+ mes "[Guard Soldier]";
+ mes "From your clothes, it looks like you are from another continent.";
+ mes "In the past, the Master specifically";
+ mes "permitted the travelers to come in and out.";
+ mes "Now you may go in.";
+ close;
+}
+
+//=====================================================================
+ama_in01.gat,22,111,0 script Old Lady 761,{
+ if (event_amatsu == 5) goto LStart2;
+ if (event_amatsu == 6) goto LStart3;
+ if (event_amatsu == 7) goto LStart4;
+ mes "[...]";
+ mes "^FF6060Clang Clannng! Clang Clannng! Stupid humans again!";
+ mes "Clang Clannng, Clang Clannng. Who is it? Is it human!?";
+ mes "What do you need here! Hurry up";
+ mes "Get out... Clang Clannng! Clang Clannng!^000000";
+ next;
+ mes "[...]";
+ mes "^FF6060I have decided to live here till";
+ mes "the Ishida Family line ends!";
+ mes "Stop bothering me and get out! Clang Clannng!^000000";
+ next;
+ warp "amatsu",167,197;
+ end;
+LStart2:
+ mes "[...]";
+ mes "^FF0066Clang Clannng! Clang Clannng! Here comes another one!";
+ mes "Stupid Humans! What do you want now";
+ mes "Throw me out of here!?^000000";
+ next;
+ mes "[...]";
+ mes "^FF0066Seems like you learned something somewhere,";
+ mes "That's about all you can do";
+ mes "You can't do anything to me!! Clang Clannng!^000000";
+ next;
+ menu "HAAAA!!",-;
+ set @which,rand(2);
+ if (@which == 1) goto Lfail;
+ mes "[...]";
+ mes "^FF0066Clang Clannng! Clang Clannng! Clang Clannng! This Bastard!";
+ mes "He threw me out like this!";
+ mes "Sick! Not fair!!^000000";
+ next;
+ mes "[...]";
+ mes "^FF0066That god-damned Ishida that rendered me to this.";
+ mes "I'll curse them forever! FOREVER!";
+ mes "Human, you better be careful too!^000000";
+ next;
+ monster "ama_in01.gat",22,112,"Fox",1180,1;
+ killmonsterall "ama_in01.gat";
+ getitem 1022,1;
+ mes "[...]";
+ mes "^FF0066Everything that Paul Shinaku did";
+ mes "will sooner or later";
+ mes "Bring about my downfall...^000000";
+ mes "^CC3300Clangggggggggggg!!^000000";
+ set event_amatsu,6;
+ close;
+Lfail:
+ mes "[...]";
+ mes "^FF0066Clang Clannng! Haha! Clang Clannng! Hahahaha!";
+ mes "How dare you, wanting to throw me out!";
+ mes "Get out of here!! Clang Clannng!^000000";
+ next;
+ warp "amatsu",167,197;
+ end;
+LStart3:
+ mes "[Ishida Sauk]";
+ mes "...*Sigh* Where from young man...?";
+ mes "Did you get rid of the fox?";
+ mes "Somehow I feel so tired, *sigh*...";
+ next;
+ mes "[Ishida Sauk]";
+ mes "Thank you. Coming from another place";
+ mes "and still has to endure through this.";
+ mes "Very sorry... Sorry...";
+ next;
+ mes "[Ishida Sauk]";
+ mes "I need to find my son.";
+ mes "Tell him that I got rid of the fox...";
+ mes "Thank you.";
+ next;
+ mes "[Ishida Sauk]";
+ mes "Now I am getting very tired.";
+ mes "I need to rest now, young man.....";
+ mes "Go find my son...";
+ close;
+LStart4:
+ mes "[Ishida Sauk]";
+ mes "Oh, You are the you man who";
+ mes "got rid of the fox... welcome.";
+ mes "Sit here a while if you can...";
+ next;
+ mes "[Ishida Sauk]";
+ mes "To be possessed by that fox...";
+ mes "It is all my own fault...";
+ mes "I didn't teach my child properly... *sigh*";
+ mes "He was a good kid when he was small.";
+ mes "It's all because I wasn't strict enough...";
+ next;
+ mes "[Ishida Sauk]";
+ mes "Originally this town was small.";
+ mes "Without a castle of this size either.";
+ mes "But, my son got some zeny somehow";
+ mes "and just start bringing them to me.";
+ mes "Don't know what he did to get this zeny.";
+ mes "And has to hide the truth from even me...";
+ next;
+ mes "[Ishida Sauk]";
+ mes "Then starting building on the castle and town,";
+ mes "and treated the townspeople fairly and nicely...";
+ mes "If that was all, then there will be no problem.";
+ mes "The problem came after he did some strange things...";
+ next;
+ mes "[Ishida Sauk]";
+ mes "Yea, he angered the gods";
+ mes "learning some weird spells somewhere.";
+ mes "And started doing experimenting,";
+ mes "Capturing the monsters,";
+ mes "Doing bad things...";
+ next;
+ mes "[Ishida Sauk]";
+ mes "And now, the monsters";
+ mes "started to live in Amatsu...";
+ mes "The gods became so angry even ";
+ mes "the monks from the shrine";
+ mes "don't know what to do.....";
+ next;
+ mes "[Ishida Sauk]";
+ mes "They punished me as well...";
+ mes "and sent a fox here, ";
+ mes "hoping to give a warning,";
+ mes "but my son didn't stop.";
+ next;
+ mes "[Ishida Sauk]";
+ mes "If possible please stop my son.";
+ mes "I am old and almost dead.";
+ mes "I don't know what to do either...";
+ mes "Please guard this peaceful town.";
+ mes "I don't know what my son is smoking";
+ mes "doing that kind of stuff...";
+ close;
+}
+
+//=====================================================================
+ama_in02.gat,207,40,6 script Guard Soldier 767,{
+ mes "[Guard Soldier]";
+ mes "Welcome,";
+ mes "The Master specifically allowed";
+ mes "the guests from the continent to enter and leave.";
+ next;
+ mes "[Guard Soldier]";
+ mes "When you are have visited everywhere, please rest here";
+ mes "before leaving.";
+ close;
+}
+//=====================================================================
+ama_in02.gat,207,49,6 script Guard Soldier 767,{
+ mes "[Guard Soldier]";
+ mes "The master is really a great guy.";
+ mes "Who would have thought that anyone could";
+ mes "turn this small town into what it is today?";
+ next;
+ mes "[Guard Soldier]";
+ mes "He even accepted worthless trash like me.";
+ mes "I am really grateful.";
+ mes "But I don't know what has happened recently.";
+ mes "His expressions";
+ mes "look different from before.";
+ close;
+}
+//=====================================================================
+ama_in02.gat,187,57,2 script Soldier 767,{
+ mes "[Ichiro]";
+ mes "Welcome, our master";
+ mes "has already prepared a place";
+ mes "for the guests to retire in.";
+ next;
+ mes "[Ichiro]";
+ mes "If you have any needs,";
+ mes "please contact us, and ";
+ mes "just thank our master later.";
+ mes "All of these preparations";
+ mes "were ordered by the Master.";
+ close;
+}
+//=====================================================================
+ama_in02.gat,170,62,4 script Soldier 767,{
+ mes "[Kyro]";
+ mes "My name is Kyro. In this town";
+ mes "I handle all the administrative work.";
+ mes "What type of service do you need?";
+ next;
+ menu "Please give me a pass",-,"I want to live here",L2,"Nothing",L3;
+
+ if (event_amatsu == 7) goto L1_1;
+ mes "[Kyro]";
+ mes "The master said that the guests from the continent";
+ mes "can move about freely,";
+ mes "Without any";
+ mes "permits or passes.";
+ close;
+L1_1:
+ if (countitem(7160) == 0) goto L1_2;
+ mes "[Kyro]";
+ mes "I have already given you a pass.";
+ close;
+L1_2:
+ mes "[Kyro]";
+ mes "Did you lose the pass?";
+ mes "If you want another pass";
+ mes "you need to pay 10,000 zeny for registration fees.";
+ next;
+ menu "Get the pass",L1_2_1,"Maybe next time",-;
+ mes "No problem!";
+ mes "If you need anything please come talk to me again!";
+ close;
+L1_2_1:
+ if (Zeny < 10000) goto LError;
+ set Zeny,Zeny-10000;
+ getitem 7160,1;
+ mes "[Kyro]";
+ mes "Come, this is it.";
+ mes "Please be careful and don't lose it again.";
+ close;
+LError:
+ mes "[Kyro]";
+ mes "You don't have enough zeny!";
+ close;
+L2:
+ mes "[Kyro]";
+ mes "This will be difficult, you can";
+ mes "freely move around, but the master";
+ mes "hasn't considered anything about immigration.";
+ mes "But, you can stay as long as you want";
+ close;
+L3:
+ mes "[Kyro]";
+ mes "Then that's it for now...";
+ mes "If there's anything else just tell me.";
+ close;
+
+}
+//=====================================================================
+ama_in02.gat,37,157,4 script Soldier 767,{
+ mes "[Sbarro]";
+ mes "This is our soldier's";
+ mes "training ground.";
+ mes "Feel free to take a look around...";
+ next;
+ mes "[Sbarro]";
+ mes "But recently there's a strange atmosphere.";
+ mes "The solders aren't as lively as before.";
+ mes "How to describe it? Also seem depressed.";
+ mes "And some soldiers have gone missing...";
+ mes "Maybe they moved to other continents.";
+ next;
+ mes "[Sbarro]";
+ mes "And I also frequently see strange people.";
+ mes "I've heard that the customers upstairs are";
+ mes "from far away, but because of their";
+ mes "auspicious behaviors. I already command the soldiers";
+ mes "to monitor their movements...";
+ next;
+ mes "[Sbarro]";
+ mes "Of course, the master must have his own thoughts";
+ mes "and base his decisions on those.";
+ mes "Haha, it seems like I'm speaking too much.";
+ mes "See you later...";
+ close;
+}
+//=====================================================================
+ama_in02.gat,32,51,6 script Shiro 767,{
+ mes "[Shiro]";
+ mes "Cough cough, cough cough, what... leave me alone";
+ mes "Go visit another place...";
+ mes "Cough cough, cough cough... ouch, my throat";
+ next;
+ mes "[Shiro]";
+ mes "That fraud doctor's medicine";
+ mes "did not work at all!";
+ mes "Shouldn't trust those people from the continent...";
+ mes "Cough cough, cough cough...";
+ next;
+ mes "[Shiro]";
+ mes "What the hell?!? My body is getting weaker and weaker...";
+ mes "No energy at all... Is";
+ mes "a flu really this bad?";
+ mes "Cough cough... cough cough...";
+ close;
+}
+//=====================================================================
+ama_in02.gat,40,167,3 script Soldier 767,{
+ mes "[Kuro]";
+ mes "Shh... customer, please be quiet.";
+ mes "I will tell you a story";
+ next;
+ mes "[Kuro]";
+ mes "In Amatsu there is this rumor.";
+ mes "The truth is the current master";
+ mes "is not the real master of the town... shh, quiet!";
+ mes "Don't panic, please continue to listen.";
+ next;
+ mes "[Kuro]";
+ mes "Behind this benign Master,";
+ mes "there is a real master,";
+ mes "scheming all kinds of plots,";
+ mes "using the current master as a puppet,";
+ mes "hidden in some corner";
+ mes "controlling everything that happens in the town.";
+ next;
+ mes "[KurO]";
+ mes "Doubt me?,";
+ mes "It's real! I saw it,";
+ mes "the other master's face";
+ mes "watching the town across";
+ mes "the river with an evil smile!!";
+ mes "But what I have said today";
+ mes "is a secret, ok?";
+ close;
+}
+//=====================================================================
+ama_in02.gat,32,167,5 script Kukuro 767,{
+ mes "[Kukuro]";
+ mes "That guy is always rambling";
+ mes "some gibberish, saying that our master";
+ mes "might be a farce.";
+ mes "Not funny at all";
+ next;
+ mes "[Kukuro]";
+ mes "Although, it is true";
+ mes "that some strange";
+ mes "events happened recently,";
+ mes "right now the interior of";
+ mes "the castle is still off limits...";
+ next;
+ mes "[Kukuro]";
+ mes "Occasionally you can also hear";
+ mes "a really scary sound. I don't know";
+ mes "what's wrong with his mother,";
+ mes "and many doctors have already visited.";
+ mes "Doesn't seem to be much hope...";
+ close;
+}
+//=====================================================================
+ama_in02.gat,42,34,2 script Soldier 767,{
+ mes "[Hakiro]";
+ mes "Rest for a while before leaving,";
+ mes "master has already prepared";
+ mes "a few empty room for the visitors.";
+ next;
+ mes "[Hakiro]";
+ mes "If there are any questions,";
+ mes "come to me at any time.";
+ mes "And, please do not disturb";
+ mes "the other visitors...";
+ next;
+ mes "[Hakiro]";
+ mes "Then, good day to you";
+ close;
+}
+
+//=====================================================================
+ama_in02.gat,203,156,4 script Soldier 767,{
+ mes "[Hakiro]";
+ mes "Master is in there.";
+ mes "If you want to go greet him,";
+ mes "silently walk in and talk to him";
+ next;
+ mes "[Hakiro]";
+ mes "Master is not in a good mood right now.";
+ mes "Don't do or say anything insulting.";
+ mes "Normally, he will happily see visitors.";
+ mes "Don't know what happened today.....";
+ close;
+}
+
+//=====================================================================
+ama_in02.gat,195,156,4 script Soldier 767,{
+ mes "[Kuro]";
+ mes "Damn, maybe the master";
+ mes "is having a hard time right now.";
+ mes "Usually he's a very nice guy...";
+ next;
+ mes "[Kuro]";
+ mes "There are strange rumors going around,";
+ mes "but I still trust my master,";
+ mes "because he was the one who";
+ mes "transformed our town. So I became";
+ mes "a soldier to serve him";
+ close;
+}
+
+//=====================================================================
+ama_in02.gat,115,177,7 script Juro 767,{
+ mes "[Juro]";
+ mes "What are you here for?";
+ mes "There is nothing much over here.";
+ next;
+ menu "Oh, really",-,"Please open the door for me",L2;
+
+ mes "[Juro]";
+ mes "The town has much more stuff.";
+ mes "Have a wonderful time...";
+ close;
+L2:
+ if (event_amatsu != 7) goto Lnoflag;
+ if (countitem(7160) < 1) goto Llost;
+ mes "[Juro]";
+ mes "You already got the pass...";
+ mes "Do you want to go in directly? Or";
+ mes "Do you want me to explain first...?";
+ next;
+ menu "Direct access",-,"Listen to explanation",L2_2;
+
+ mes "[Juro]";
+ mes "Then, I will open the door for you.";
+ mes "Please take care...";
+ next;
+ warp "ama_dun01.gat",229,10;
+ end;
+L2_2:
+ mes "[Juro]";
+ mes "The inner space seems to be ";
+ mes "protected by special spells.";
+ mes "Those who wander in carelessly,";
+ mes "become lost and will be assaulted";
+ mes "mysteriously and die.";
+ next;
+ mes "[Juro]";
+ mes "What I can tell you";
+ mes "isn't all that much.";
+ mes "I have not been inside.";
+ mes "It's a mysterious place, its only proof is";
+ mes "of existence is from the";
+ mes "survivors that ventured inside";
+ next;
+ mes "[Juro]";
+ mes "First of all.....";
+ mes "'Don't believe in what you see.'";
+ next;
+ mes "[Juro]";
+ mes "Second of all.....";
+ mes "About the spells, they have their own rules.";
+ mes "Everything has its own purpose,";
+ mes "including the spells.";
+ mes "Will you find some";
+ mes "answers?";
+ next;
+ mes "[Juro]";
+ mes "Then, I'll open the door for you.";
+ mes "Please be careful...";
+ next;
+ warp "ama_dun01.gat",229,10;
+ end;
+Llost:
+ mes "[Juro]";
+ mes "You don't have the pass";
+ mes "so I cannot open the gate for you.";
+ mes "Please understand.";
+ close;
+Lnoflag:
+ mes "[Juro]";
+ mes "What door are you talking about?";
+ mes "In a place like this there won't";
+ mes "be any doors as far as I know.";
+ mes "You might have been mistaken.";
+ next;
+ mes "[Juro]";
+ mes "There are more to see in town.";
+ mes "I hope you have a good time...";
+ close;
+}
+ama_dun01.gat,229,7,0 script Soldier 767,{
+ mes "[Juro]";
+ mes "Ready to leave?";
+ next;
+ menu "Leave",-,"Wait a little more",L1;
+ mes "[Juro]";
+ mes "Gogo!!";
+ next;
+ warp "ama_in02.gat",119,181;
+ end;
+L1:
+ mes "[Juro]";
+ mes "Take care of yourself!";
+ close;
+}
+
+//=====================================================================
+ama_in02.gat,200,176,4 script Castle Owner 768,{
+ if (event_amatsu == 1) goto LStart2;
+ if ((event_amatsu >= 2) && (event_amatsu <=5)) goto LStart3;
+ if (event_amatsu == 6) goto LStart4;
+ if (event_amatsu == 7) goto LStart5;
+ mes "[Ishida Yoshinake]";
+ mes "What! An outsider?";
+ mes "What do you need me for?? If it's nothing important";
+ mes "Talk to you later...!";
+ next;
+ mes "[Ishida Yoshinake]";
+ mes "Please leave! No matter who you are!!";
+ mes "Right now I am in a VERY bad mood!";
+ close;
+LStart2:
+ mes "[Ishida Yoshinaku]";
+ mes "What! A visitor...? Oh, sorry";
+ mes "But today I am not in the mood";
+ mes "of seeing a visitor!";
+ next;
+ menu "I heard your mother is sick...",L1,"What a beautiful castle",L2,"Who are you?",L3;
+L1:
+ mes "[Ishida Yoshinaku]";
+ mes "Oh... You are an expert pathologist?";
+ mes "Oh yea, if you are a foreign expert";
+ mes "I should be able to trust you...";
+ mes "I guess...";
+ next;
+ mes "[Ishida Yoshinaku]";
+ mes "Welcome, as you know";
+ mes "I am the owner of the East Lake Castle";
+ mes "My name is Ishida Yoshinaku,";
+ mes "Nice to meet you.";
+ next;
+ mes "[Ishida Yoshinaku]";
+ mes "To put it simple: my mother";
+ mes "is not very healthy,";
+ mes "of course you are here because of it";
+ mes "Can you cure my ailing mother??";
+ next;
+ mes "[Ishida Yoshinaku]";
+ mes "So many famous and talented";
+ mes "Doctors has visited her already,";
+ mes "But not only did they not cure her!!";
+ mes "They worsened her condition!!";
+ mes "so I kept feeling disappointed";
+ next;
+ mes "[Ishida Yoshinaku]";
+ mes "You, being a foreign expert,";
+ mes "may cure my mother's sickness!";
+ mes "if you do, I will give you lots of zeny and rewards...";
+ next;
+ mes "[Ishida Yoshinaku]";
+ mes "Please help her,";
+ mes "my mother lives in the mansion outside of the castle,";
+ mes "After you cure her";
+ mes "Come see me again";
+ set event_amatsu,2;
+ close;
+L2:
+ mes "[Ishida Yoshinaku]";
+ mes "Yes! Beautiful indeed! So what";
+ mes "Do you want to do! Leave when you get";
+ mes "bored of it! Man!";
+ next;
+ mes "[Ishida Yoshinaku]";
+ mes "At a pressing time like this... *Sobs*...";
+ mes "Leave when you become satisfied or bored!";
+ close;
+L3:
+ mes "[Ishida Yoshinaku]";
+ mes "...Talking about me? You don't know? Eh?";
+ mes "I am this castle's master!";
+ mes "Go ask around the soldiers outside";
+ mes "If you are not sure!";
+ next;
+ mes "[if you are not sure]";
+ mes "At a pressing time like this... *Sobs*...";
+ mes "Leave when you become satisfied or bored!";
+ close;
+LStart3:
+ mes "[Ishida Yushinaku]";
+ mes "How is my mother?";
+ mes "If you know the name of the sickness....";
+ mes "Please tell me immediately...";
+ mes "Argh... So worried!";
+ mes "I can't sleep at night any longer!";
+ next;
+ mes "[Ishida Yushinaku]";
+ mes "You are from the other continents,";
+ mes "so you must know....";
+ mes "now you are the only one I can trust";
+ close;
+LStart4:
+ mes "[Ishida Yushinaku]";
+ mes "WoW, you are great, I heard";
+ mes "My mother is getting better already,";
+ mes "Anyway, what sickness was it?";
+ next;
+ mes "[Ishida Yushinaku]";
+ mes "Fox? The fox is the reason? ho...";
+ mes "So it's not a sickness after all...!!";
+ mes "Why didn't I think of it earlier!!!";
+ next;
+ mes "[Ishida Yushinaku]";
+ mes "Damn fox, after it ran away,";
+ mes "it tried to revenge like this...";
+ mes "But now there is no other";
+ mes "Way... hahaha! Hahahaha!";
+ next;
+ mes "[Ishida Yushinaku]";
+ mes "Um, hmm, umm...";
+ next;
+ mes "[Ishida Yushinaku]";
+ mes "Anyway, Thanks for your help!";
+ mes "I think my mother will return to normal now...";
+ mes "I want to show you my gratitude...";
+ mes "What to do...";
+ next;
+ mes "[Ishida Yushinaku]";
+ mes "Alright, I will give you this pass.";
+ mes "As long as you have this pass,";
+ mes "you can get into ANYWHERE";
+ mes "In this town";
+ next;
+ set event_amatsu,7;
+ getitem 7160,1;
+ mes "[Ishida Yushinaku]";
+ mes "Although it's not such a great gift, but";
+ mes "I believe you will have use for it someday...";
+ mes "talk to 'Juro' For the details";
+ close;
+LStart5:
+ mes "[Ishida Yushinaku]";
+ mes "Hey... I hope you have a";
+ mes "good time in Amatsu.....";
+ mes "We always welcome the foreigners!";
+ close;
+}
+
+ama_in01.gat,180,173,2 script Fox Mask 762,{
+ if (event_amatsu == 4) goto LStart2;
+ if (event_amatsu == 5) goto LStart3;
+ mes "[Takikuwi]";
+ mes "Hiya, outsider, this";
+ mes "Shrine is left by a monk a long time ago.";
+ mes "Sometimes I come here to play";
+ mes "along with my friend Tokari";
+ next;
+ mes "[Takikuwi]";
+ mes "If you are here to hide from the monsters,";
+ mes "please do come in, no monsters";
+ mes "can ever come in here!";
+ mes "You can always take a short rest in here!";
+ close;
+LStart2:
+ mes "[Takikuwi]";
+ mes "Hiya, outsider, here to find me?";
+ mes "Because of the fox bothering you?";
+ mes "From your expression You seem to";
+ mes "have had quite a bit of trouble";
+ next;
+ mes "[Takikuwi]";
+ mes "Although usually the head monk";
+ mes "should come to help himself, this shrine";
+ mes "Has been deserted for a long time";
+ next;
+ mes "[Takikuwi]";
+ mes "It is very hard to get rid of a fox in a person's body";
+ mes "If there's alcohol and ramen noodle,";
+ mes "It might be a little easier,";
+ mes "But they are hard to find!";
+ next;
+ mes "[Takikuwi]";
+ mes "Good thing I know quite a bit";
+ mes "about the fox, I'll tell you";
+ mes "some words of advice, although foxes";
+ mes "are very tricky, and although they like to";
+ mes "make fun of humans... but it is seldom";
+ mes "for a fox to display hatred!";
+ next;
+ mes "[Takikuwi]";
+ mes "In another word, if there is hatred";
+ mes "human also did something wrong!!";
+ mes "Which will hurt self,";
+ mes "And sometimes unlucky things happen";
+ mes "and to friend and family as well!";
+ next;
+ mes "[Takikuwi]";
+ mes "Anyway, I've heard that when";
+ mes "there's a strong animal then a fox will chased,";
+ mes "away from the human.";
+ mes "So try hard, and try summoning the animal spirit!";
+ next;
+ menu "Haaaa!!",-;
+ mes "[Takikuwi]";
+ mes "Very good, just repeating it will";
+ mes "show the fox a strong spirit,";
+ mes "and show results, but the best thing is";
+ mes "to find out why the fox will enter the";
+ mes "person's body, but if you do this";
+ mes "it should help, more or less";
+ set event_amatsu,5;
+ close;
+LStart3:
+ mes "[Takikuwi]";
+ mes "Don't forget, when you try summoning";
+ mes "you must think about!";
+ mes "A monster that is stronger than a fox";
+ mes "or it would just be a futile effort!";
+ mes "Remember....... Stronger than a fox....";
+ close;
+}
+
+ama_in01.gat,169,173,0 script Miko 769,{
+ mes "[Tokari]";
+ mes "I'm not a real shrine maiden.";
+ mes "my friend, Takikuwi told me to try on";
+ mes "this cloth... and he brought me";
+ mes "to this shrine";
+ next;
+ mes "[Tokari]";
+ mes "Although he asks for weird shit sometimes";
+ mes "he is still a funny friend!";
+ mes "Sometimes I don't know what he's thinking";
+ mes "but He is still a good friend";
+ next;
+ mes "[Tokari]";
+ mes "If you have any questions";
+ mes "go ask Takihuwi first";
+ mes "even stuff that now one knows";
+ mes "no matter how weird or strange";
+ mes "He knows... He always does!";
+ close;
+}
+
+amatsu.gat,269,221,1 script Proposing Girl 758,{
+ mes "[Hutari Sioko]";
+ mes "Nice to meet you";
+ mes "my name is Hutari Sioko,";
+ mes "my hobby is listening to music,";
+ mes "and I usually listen to classical music";
+ next;
+ mes "[Hutari Sioko]";
+ mes "There is a legend";
+ mes "about the large hill in our town";
+ mes "do you know anything about it?";
+ next;
+ mes "[Hutari Sioko]";
+ mes "According to the legend, if you propose";
+ mes "to your lover under that tree";
+ mes "the couple will live happily ever forever";
+ next;
+ mes "[Hutari Sioko]";
+ mes "But the proposal cannot be done on any time";
+ mes "it has to be on the Saturday Night.";
+ mes "or else it won't hold true";
+ next;
+ mes "[Hutari Sioko]";
+ mes "Furthermore, the proposal has to be answered";
+ mes "prior to Sunday night after";
+ next;
+ emotion 3;
+ mes "[Hutari Sioko]";
+ mes "If you have a secret admirer...";
+ mes "why not meet under that tree";
+ mes "and propose?";
+ mes "I bet something good will happen";
+ close;
+}
+
+amatsu.gat,287,266,3 script Jyaburo 766,{
+ mes "[Jyaburo]";
+ mes "This is a special place";
+ mes "for my wife and me";
+ next;
+ mes "[Jyaburo]";
+ mes "..When I was here proposing";
+ mes "to her here under the tree..";
+ mes "I didn't know that she";
+ mes "liked me as well";
+ next;
+ mes "[Jyaburo]";
+ mes "After that, we talked a lot here under this tree,";
+ mes "this is the ideal location";
+ mes "because of its tranquility and harmony,";
+ mes "an everlasting moment of happiness";
+ next;
+ mes "[Jyaburo]";
+ mes "Even now, when I close my eye, I can clearly remember";
+ mes "the sweet memories of the past";
+ mes "as if it happened yesterday...";
+ next;
+ mes "[Jyaburo]";
+ mes "Even though she passed away some times ago";
+ mes " I always come here alone now,";
+ mes "Every time I come here it is as if my wife is just besides me,";
+ mes "And my depressed and broken heart is gone";
+ next;
+ mes "[Jyaburo]";
+ mes "After hearing my rambling,";
+ mes "Can you think of anyone?";
+ mes "If you can, stop the hesitation and the delay,";
+ mes "And love her with all your heart";
+ next;
+ mes "[Jyakuro]";
+ mes "What does it mean to be human?";
+ mes "Smile, and live your life to the fullest";
+ mes "Even though life might be sure,";
+ mes "Forget the worries and pains";
+ mes "Always try to live a happy life";
+ close;
+}
+
+amatsu.gat,274,178,0 script Vet 735,{
+ mes "[Sakura Seiichi]";
+ mes "Oww... I'm not a suspicious guy,";
+ mes "please don't be surprised, I am just";
+ mes "A regular vet,";
+ mes "making a living but";
+ mes "curing sick animals";
+ next;
+ mes "[Sakura Seiichi]";
+ mes "But... Did you know?";
+ mes "about the sakura tree on the hill";
+ mes "and its story... Maybe this is the";
+ mes "first time you've heard?!";
+ next;
+ mes "[Sakura Seiichi]";
+ mes "The reason that tree can maintain";
+ mes "its everlasting youth and beauty";
+ mes "lies within its secret...";
+ mes "that is... Because below the tree";
+ mes "dead people are buried...";
+ next;
+ menu "Can buried people feel the pain?",-,"Speaking of bullshit...",L2;
+
+ mes "[Sakura Seiichi]";
+ mes "... Maybe...";
+ mes "Anyway, do you believe me or not";
+ mes "want to make a bet...?";
+ next;
+ emotion 9;
+ mes "[Sakura Seiichi]";
+ mes "What if I...";
+ mes "............";
+ mes "............";
+ next;
+ mes "^6633FFHer laugh gradually fades^000000";
+ mes "^6633FFAway in the wind,^000000";
+ mes "^6633FFUntil nothing can be heard any more,^000000";
+ mes "^6633FFCannot even remember what^000000";
+ mes "^6633FFHe was about to say...^000000";
+ close;
+L2:
+ mes "[Sakura Seiichi]";
+ mes "So entranced, I suppose you are all right...";
+ mes "be careful, one day that kind of things";
+ mes "Will happen to you as well..";
+ next;
+ Emotion 9;
+ mes "[Sakura Seiichi]";
+ mes "Hahaha... Hahahaha.....";
+ mes "...............";
+ mes "...........";
+ next;
+ mes "^6633FFHer laugh gradually fades^000000";
+ mes "^6633FFAway in the wind,^000000";
+ mes "^6633FFUntil nothing can be heard any more,^000000";
+ mes "^6633FFI don't understand why she told^000000";
+ mes "^6633FFMe that...^000000";
+ close;
+}
+
+amatsu.gat,283,203,1 script PokePoke 738,{
+ Emotion 19;
+ mes "[Pokepoke]";
+ mes "The tree on this hill";
+ mes "has existed for a long time, a deep-rooted";
+ mes "and ever-blooming Sakura Tree King";
+ next;
+ Emotion 19;
+ mes "[Pokepoke]";
+ mes "And I am very thankful of this tree,";
+ mes "whenever I feel any sorrow or sadness";
+ mes "I always go sit under that tree";
+ next;
+ Emotion 19;
+ mes "[Pokepoke]";
+ mes "That way no matter what happened";
+ mes "I can forget it all....";
+ mes "this tree will sooth us";
+ mes "and make us forget sad things";
+ mes "a magic tree";
+ next;
+ Emotion 19;
+ mes "[Pokepoke]";
+ mes "If you feel any sadness or sorrow";
+ mes "you can try to sit under this tree";
+ mes "a really magical and thankful tree...";
+ close;
+}
+
+amatsu.gat,261,197,4 script Legendary Sakura Tree 111,{
+ mes "^0000FFJust as she said";
+ mes "this tree is famous because";
+ mes "many couples confessed their love here";
+ mes "Sometimes you can still see a few people";
+ mes "Drawing a heart with the lover's";
+ mes "Name within it.^000000";
+ next;
+ mes "^0000FFThey are not only here for lover's confessions,";
+ mes "sometimes they will meet here too";
+ mes "talk about some important matters,";
+ mes "in such a beautiful place";
+ mes "no matter what they are discussing";
+ mes "they always reach an agreement^000000";
+ close;
+}
diff --git a/npc/cities/ayothaya.txt b/npc/cities/ayothaya.txt
new file mode 100644
index 000000000..2c5e3d67c
--- /dev/null
+++ b/npc/cities/ayothaya.txt
@@ -0,0 +1,1781 @@
+//===== eAthena Script =======================================
+//= Ayotaya Town
+//===== By: ==================================================
+//= MasterOfMuppets
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any eAthena +
+//===== Description: =========================================
+//= Ayothaya Town Scripts
+//===== Additional Comments: =================================
+//= 0.1 Added a Sailor NPC to get back to Alberta [ZoDIaC]
+//= 0.2 fixed coords, dialogues
+//= 0.3 Fixed Warp name, ayotaya.gat doesnt exist, even though iRO
+//= decided to call it Ayotaya, it really is Ayothaya, like
+//= that Yuno/Juno thing
+//= 0.4 Added the official warp npc for Ayothaya. [MasterOfMuppets]
+//= 1.0 Added most of the official npcs. The following quests were added: [MasterOfMuppets]
+//= Tom Yum Goong quest, Holy Threads quest and Holier threads quest.
+//= 1.0a some checks, optimization [Lupus]
+//= 1.1 Missing delitem fixed by Poki#3 [Lupus]
+//= 1.1a Fixed a typo and clarified a comment at the bottom of the script [MasterOfMuppets]
+//= 1.2 Fixed exploits [Lupus]
+//============================================================
+
+ayothaya.gat,152,68,1 script Aibakthing 843,{
+ mes "[Aibakthing]";
+ mes "Hoo! Hah! Hmm! Hah!";
+ mes "So, how did you like Ayothaya? Did you get a chance to try Tom Yum Goong? When you're ready, I shall take you back home.";
+ next;
+ menu "Go back to Alberta.",-,"Cancel.",s_Cancel;
+
+ mes "[Aibakthing]";
+ mes "You will be welcome to come back whenever you please. I hope that we weill see each other again sometime soon. Thank you~";
+ close2;
+ warp "alberta.gat",235,45;
+ end;
+s_Cancel:
+ mes "[Aibakthing]";
+ mes "Ah yes. I unsderstand that it is difficult to take leave of such a beautiful place. Do not worry and take your time.";
+ close;
+}
+
+alberta.gat,247,42,3 script Aibakthing 843,{
+ mes "[Aibakthing]";
+ mes "Hoo! Hah! Hoo! Hah!";
+ mes "Let me take you away to a distant spiritual place, a land of exotic mystery, my hometown Ayothaya.";
+ next;
+ menu "About Ayothaya",-,"Go to Ayothaya",s_Go,"Cancel.",s_Cancel;
+
+ mes "[Aibakthing]";
+ mes "We Ayothayans are a pious people who value peace and sincerity. We endeavor to lead simple, yet noble, lives in harmony with nature.";
+ next;
+ mes "[Aibakthing]";
+ mes "Our traditional cuisine is world famous. It's no surprise when we serve dishes like Tom Yum Goong, made of Shrimp, Lemonade and Chillis, which has a tantalizing aroma and flavor beyond imagining.";
+ next;
+ mes "[Aibakthing]";
+ mes "For those who crave adventure, there is an age old story about the Sa-mhing Tiger, an evil creature that haunts our temple ruins.";
+ next;
+ mes "[Aibakthing]";
+ mes "Hoo! Hahh! Hoo! Hahh!";
+ mes "No man alive can resist the call of this beautiful land. Rune-Midgardians are always welcome!";
+ close;
+s_Cancel:
+ mes "[Aibakthing]";
+ mes "Have you ever dreamed of a beautiful place filled with spiritual serenity? You must have been dreaming of Ayothaya, my friend.";
+ close;
+s_Go:
+ mes "[Aibakthing]";
+ mes "Ah, you must pay 10,000 Zeny";
+ mes "if you wish to visit Ayothaya.";
+ mes "If you're read, we can leave right now~";
+ next;
+ menu "I'm ready, let's go!",-,"No.",s_Cancel;
+
+ if(Zeny < 10000) goto s_NoZeny;
+ mes "[Aibakthing]";
+ mes "Hoo! Hah! Hoo! Hah!";
+ mes "Let us be off! Back to my beautiful Ayothaya!";
+ close2;
+ set Zeny, Zeny - 10000;
+ warp "ayothaya.gat",150,65;
+ end;
+s_NoZeny:
+ mes "[Aibakthing]";
+ mes "I am sorry, but you do not have the 10,000 Zeny to travel to Ayothaya. Such a price is nothing compared to the experience that await you!";
+ close;
+}
+
+ayothaya.gat,203,169,3 script Noi 839,{
+ mes "[Noi]";
+ mes "Welcome to Ayothaya.";
+ mes "Out beautiful village is built above the water, surrounded by a dense forest.";
+ next;
+ mes "[Noi]";
+ mes "There are many tourist attractions in this village, that you won't be able to find anywhere else. Out fish markets and the unique architecture of our buildings is enough reason to visit Ayothaya.";
+ next;
+ mes "[Noi]";
+ mes "Please feel free";
+ mes "to take a look around.";
+ next;
+ menu "Building Locations.",s_Loc,"Remove marks from mini-map.",s_Remo,"Cancel.",-;
+
+ mes "[Noi]";
+ mes "Please enjoy";
+ mes "your travels.";
+ close;
+s_Loc:
+ mes "[Noi]";
+ mes "Where would";
+ mes "you like to visit?";
+ next;
+ menu "Weapon Shop",s_Weap,"Tool Shop",s_Tool,"Tavern",s_Tavern,"Shrine",s_Shrine,"Fishing Spot",s_Fish,"Cancel",-;
+
+ mes "[Noi]";
+ mes "If you wish to remove location marks on your mini-map, please select the 'Remove marks from mini-map' command from the menu.";
+ close;
+
+s_Weap:
+ mes "[Noi]";
+ mes "At our Weapon Shop,";
+ mes "you will find great weapons favored by brave Ayothayan seafarers.";
+ next;
+ mes "[Noi]";
+ mes "Our weapon shop is located at ^00FF00+^000000.";
+ viewpoint 1,166,90,1,0x00FF00;
+ close;
+
+s_Tool:
+ mes "[Noi]";
+ mes "We Ayothayans always make sure we have everything we need before we go traveling. It never hurts to be prepared, does it?";
+ next;
+ mes "[Noi]";
+ mes "Our Tool Shop";
+ mes "is located at ^0000FF+^000000.";
+ viewpoint 1,128,86,2,0x0000FF;
+ close;
+
+s_Tavern:
+ mes "[Noi]";
+ mes "One of the basics of adventuring is gathering information, or at least that's what they say. You can meet people from all sorts of places in the Tavern. I'm sure you can earn something useful there.";
+ next;
+ mes "[Noi]";
+ mes "Of course, you must";
+ mes "drop by our Tavern.";
+ mes "It is located at ^FFFF00+^000000.";
+ viewpoint 1,229,70,3,0xFFFF00;
+ close;
+
+s_Shrine:
+ mes "[Noi]";
+ mes "If you wish to pray to God, or achieve a state of peace in your mind, why don't you visit our Shrine? Even if it's just for sight-seeing, everyone is welcome there.";
+ next;
+ mes "[Noi]";
+ mes "Our shrine";
+ mes "is located at^880088+^000000.";
+ viewpoint 1,207,284,4,0x880088;
+ close;
+s_Fish:
+ mes "[Noi]";
+ mes "Since Ayothaya was built above the surface of the water and so close to a beach, it's been a favorite spot for fishermen. Why don't you catch some for dinner at the Fishing Spot?";
+ next;
+ mes "[Noi]";
+ mes "Our famous";
+ mes "Fishing Spot";
+ mes "is located at ^AFAFAF+^000000.";
+ viewpoint 1,251,97,5,0xAFAFAF;
+ close;
+s_Remo:
+ viewpoint 2,166,90,1,0x00FF00;
+ viewpoint 2,128,86,2,0x0000FF;
+ viewpoint 2,229,70,3,0xFFFF00;
+ viewpoint 2,207,284,4,0x880088;
+ viewpoint 2,251,97,5,0xAFAFAF;
+ mes "[Noi]";
+ mes "Alright...";
+ mes "I've removed all the location marks from your mini-map.";
+ mes "Thank you.";
+ close;
+}
+
+ayothaya.gat,153,86,4 script Thongpool 843,{
+ if(ayoshrimps == 1)goto s_Shrimp2;
+ if(tomyumgoong == 2)goto s_Shrimp;
+ mes "[Thongpool]";
+ mes "Welcome, welcome!";
+ mes "I've got the best Shrimp caught in the cleanest waters in the world~!";
+ close;
+s_Shrimp:
+ mes "[Thongpool]";
+ mes "Come adventurers,";
+ mes "take a look! I have";
+ mes "plenty of Shrimp!";
+ next;
+ mes "[Thongpool]";
+ mes "You're looking for Shrimp,";
+ mes "aren't you? How many Shrimps";
+ mes "do you need? Twenty Forty?";
+ next;
+ menu "I need Shrimp for Tom Yum Goong.",s_Tom,"Err, they look expensive.",-;
+
+ mes "[Thongpool]";
+ mes "What...?";
+ mes "Do you think";
+ mes "it's expensive?";
+ mes "But the fantastic taste";
+ mes "of Tom Yum Goong";
+ mes "is priceless!";
+ close;
+s_Tom:
+ mes "[Thongpool]";
+ mes "Ah! I guess Ms. Mali the Spicy recommended me to you. I guess that also means you want to buy them in bulk?";
+ next;
+ mes "[Thongpool]";
+ mes "After all,";
+ mes "you'll need a larger";
+ mes "amount of Shrimp to";
+ mes "cook Tom Yum Goong.";
+ next;
+ mes "[Thongpool]";
+ mes "Oh yes, you will need 20 Shrimps for Ms. Mali's Tom Yum Goong.";
+ mes "I even give you a discount:";
+ mes "11,000 zeny for 20 shrimps.";
+ mes "What do you say?";
+ next;
+ menu "I'll take them.",s_Take,"I could get 100 Jellopies for that much!",-;
+
+ mes "[Thongpool]";
+ mes "Well well well...";
+ mes "You might your hungry stomach with that many Jellopies but they wouldn't taste as good as my Shrimp!";
+ close;
+
+s_Take:
+ if(Zeny < 11000) goto s_NoZeny;
+ set Zeny, Zeny - 11000;
+ getitem 567,20;
+ emotion 21;
+ mes "[Thongpool]";
+ mes "Good, now you have the freshest Shrimp in this village!";
+ mes "It's time for you to go back and ask Ms. Mali to cook them for you.";
+ if(ayoshrimps < 1)set ayoshrimps,1;
+ close;
+
+s_NoZeny:
+ mes "[Thongpool]";
+ mes "Awww...";
+ mes "You don't have";
+ mes "enough money.";
+ close;
+
+s_Shrimp2:
+ mes "[Thongpool]";
+ mes "Mmm...?";
+ mes "Did you need more Shrimps?";
+ mes "Would you like to buy more?";
+ next;
+ menu "Yes!",s_Take,"No, thanks.",-;
+
+ mes "[Thongpool]";
+ mes "I see...";
+ mes "If you need some shrimps, just tell me!";
+ close;
+}
+
+ayothaya.gat,143,102,5 script Old Man 842,{
+ mes "[Villager]";
+ mes "Ummm.";
+ mes "Hmmmmm...";
+ mes "Ummmmm...?";
+ next;
+ mes "[Villager]";
+ mes "You must be an outsider.";
+ mes "Yes. Yes, indeed.";
+ next;
+ mes "[Villager]";
+ mes "Did you just ask where am I going? Why, to the Fishing Spot just ahead. That's what we old men do: fish.";
+ next;
+ mes "[Villager]";
+ mes "Hmmm...";
+ mes "Would you like to hear something interesting? I've heard that someone found a ring inside a fish he caught in the Fishing Spot.";
+ next;
+ mes "[Villager]";
+ mes "Supposedly there are lots of stories about people finding valuable inside of the fish they've been catching there.";
+ next;
+ mes "[Villager]";
+ mes "If you're lucky enough, you might even become a millionaire.";
+ mes "Heh heh heh~";
+ next;
+ mes "[Villager]";
+ mes "...!?";
+ mes "Ah, I came into the fish market!";
+ mes "^6A6A6A*Sigh*^000000 It seems I went the wrong way. The Fishing Spot is on the opposite side of this village.";
+ next;
+ mes "[Villager]";
+ mes "Since I'm here, it wouldn't be a bad idea to look around. All of the seafood in this market in this market is fresh and tasty. You'll regret if you don't try some of this seafood at least once.";
+ close;
+}
+
+ayothaya.gat,83,132,7 script Dusit 843,{
+ if(ayodunquest == 1 || ayodunquest == 2 || ayodunquest == 3)goto s_Dun;
+ mes "[Dusit]";
+ mes "Oh...!";
+ mes "You must be a traveller.";
+ mes "I have a tale you may wish to hear if you're interested in listening.";
+ next;
+ menu "What is it?",s_What,"I know what the story is.",-;
+
+ mes "[Dusit]";
+ mes "You do now?";
+ mes "Then be careful!";
+ mes "It'll eat you alive!";
+ close;
+s_What:
+ mes "[Dusit]";
+ mes "Ayothaya has a long history. Perhaps it looks calm and peaceful now, but in the past our village was terrorized bu a terrible creature.";
+ next;
+ mes "[Dusit]";
+ mes "This beast is known to us as the ^6B1312Sa-mhing Tiger^000000, which used to dwell deep in the ancient ruins.";
+ next;
+ mes "[Dusit]";
+ mes "The Sa-mhing Tiger is addicted to the taste of human flesh. It has been known to transform into the shape of a person it has eaten in order to lure out his family and friends.";
+ next;
+ mes "[Dusit]";
+ mes "The local people are still afraid that the creature might transform into someone they know, and sneak into their homes to eat them.";
+ next;
+ mes "[Dusit]";
+ mes "However there is one way you can identify the Sa-mhing Tiger from a human being. Since it's a tiger, it cannot do some of the things humans are taught to do, such as light a match.";
+ next;
+ mes "[Dusit]";
+ mes "So, if by chance you see a friend acting strangely all of a sudden, ask him to strike a match. Make sure he is not the Sa-mhing Tiger.";
+ next;
+ mes "[Dusit]";
+ mes "However...";
+ mes "I'm not sure if this actually works or not. I guess the best thing to do is just run for your life if you even suspect someone of being the Sa-mhing Tiger.";
+ next;
+ mes "[Dusit]";
+ mes "Do you blieve";
+ mes "in the existance";
+ mes "of man-eating tigers?";
+ next;
+ menu "Well, not really.",-,"Yes, I do and I think they're scary!",s_Yes;
+
+ mes "[Dusit]";
+ mes "Umm...";
+ mes "Oh well. My late grandfather told me about the Sa-mhing Tiger when I was a little kid. Of course, I haven't seen it.";
+ next;
+ mes "[Dusit]";
+ mes "The closest thing I've seen to the Sa-mhing Tiger was a golden cat with a bell. Somehow, I don't think it ate men.";
+ close;
+s_Yes:
+ mes "[Dusit]";
+ mes "Run for your life if you ever encounter the Sa-mhing Tiger! It'll eat you alive!";
+ next;
+ mes "[Dusit]";
+ mes "If you're interested in finding more about the story, I can introduce you to someone who knows that creature more than anyone else.";
+ next;
+ mes "[Dusit]";
+ mes "Why don't you talk to Boonthom? He's a pretty strange person, but there's something about him...";
+ next;
+ mes "[Dusit]";
+ mes "...";
+ mes "......";
+ next;
+ mes "[Dusit]";
+ mes "Ah well, you'll see what I'm talking about. I hope he'll help you learn more about that evil creature.";
+ set ayodunquest,1;
+ close;
+s_Dun:
+ mes "[Dusit]";
+ mes "How are you?";
+ mes "If you're interested in the Sa-mhing Tiger, please to talk to Boonthom.";
+ next;
+ mes "[Dusit]";
+ mes "But beware!";
+ mes "The Sa-mhing Tiger might be closer to you than you expect!";
+ close;
+}
+
+ayo_in01.gat,181,193,4 script Shaman 840,{
+ if(ayodot == 8)goto s_Check2;
+ if(ayodot == 7 && countitem(7285) > 0)goto s_ICheck;
+ if(ayodot == 6 && countitem(7285) > 0)goto s_Holier;
+ if(ayodunquest == 3)goto s_Lose;
+ if(ayodunquest == 2)goto s_Items;
+ if(ayodunquest == 1)goto s_Quest;
+ mes "[Boonthom]";
+ mes "I'm sorry I can't talk to you.";
+ mes "I'm very busy right now.";
+ close;
+s_Quest:
+ mes "[Boonthom]";
+ mes "You...!";
+ mes "Isn't it...!";
+ mes "Ooooooohhhhhhh!";
+ next;
+ mes "[Boonthom]";
+ mes "Oh...?";
+ next;
+ mes "[Boonthom]";
+ mes "...";
+ next;
+ mes "[Boonthom]";
+ mes "...";
+ mes "......";
+ next;
+ mes "[Boonthom]";
+ mes "...";
+ mes "......";
+ mes ".........";
+ next;
+ mes "[Boonthom]";
+ mes "Never mind.";
+ mes "Hah! I've lost my train of thought.";
+ next;
+ mes "[Boonthom]";
+ mes "So have you come to me to seek help? I can see the fear in your eyes. Let me gaze into your soul, and see what your fear is for myself. Hmmm...";
+ next;
+ mes "[Boonthom]";
+ mes "...";
+ next;
+ mes "[Boonthom]";
+ mes "...";
+ mes "......";
+ next;
+ mes "[Boonthom]";
+ mes "...";
+ mes "......";
+ mes ".........";
+ next;
+ mes "[Boonthom]";
+ mes "What...!";
+ mes "I see that you dread the Sa-mhing Tiger! I haven't heard any news of that monster for a long time...";
+ next;
+ mes "[Boonthom]";
+ mes "A long time ago, the Sa-mhing Tiger really did roam the village and ate innocent people.";
+ next;
+ mes "[Boonthom]";
+ mes "However, its terror was brought to an end when it was finally captured. I was one of those involved in capturing the Sa-mhing Tiger.";
+ next;
+ mes "[Boonthom]";
+ mes "I insisted on killing it, but the other people were too afraid to do so. Instead, the Sa-mhing Tiger was locked in a cave inside of the ancient ruins.";
+ next;
+ mes "[Boonthom]";
+ mes "I believe that was at least 10 years ago. Perhaps it's already dead by now. However, no one knows how powerful the tiger truly is. It may still be alive.";
+ next;
+ mes "[Boonthom]";
+ mes "I don't think we need to worry about it though. It is locked up and there it shall remain.";
+ next;
+ menu "I want to explore the ancient ruins.",s_Explore,"Locked up! Good! I'm not afraid!",-;
+
+ mes "[Boonthom]";
+ mes "Hmmm...";
+ mes "Not afraid";
+ mes "of it, are you?";
+ next;
+ mes "[Boonthom]";
+ mes "..........";
+ mes "..........";
+ close;
+s_Explore:
+ mes "[Boonthom]";
+ mes "You...";
+ mes "You are strange.";
+ mes "You want to explore the ancient ruins. Do all the adventurers disregard their safety like that?";
+ next;
+ mes "[Boonthom]";
+ mes "It's your choice. But remember, it is very dangerous to go through the path to the center of the building.";
+ mes "Usually, I forbid it.";
+ next;
+ mes "[Boonthom]";
+ mes "But if you want to go in, I can give you some useful tips.";
+ mes "Would you like to listen?";
+ next;
+ menu "If it's that dangerous I'd rather not try",-,"Sure!",s_Sure;
+
+ mes "[Boonthom]";
+ mes "You made a good decision.";
+ mes "You'd better be careful if you want to stay alive.";
+ close;
+s_Sure:
+ mes "[Boonthom]";
+ mes "Umm, okay.";
+ mes "Since you're";
+ mes "that interested...";
+ next;
+ mes "[Boonthom]";
+ mes "If you wish to enter the ancient building, you must have protection against evil spirits and malice.";
+ next;
+ mes "[Boonthom]";
+ mes "There are many ghosts and demons within the cave, and they will attack people who do not possess holy power... Like you.";
+ next;
+ mes "[Boonthom]";
+ mes "I can make you an object";
+ mes "containing this holy power if you wish. In order to make it, I will need some materials.";
+ next;
+ mes "[Boonthom]";
+ mes "^4466771 Needle Packet^000000,";
+ mes "^4466771 Spool^000000,";
+ mes "^4466771 Solid Husk^000000 and";
+ mes "^4466771 Holy Water^000000...";
+ mes "That's all I need.";
+ next;
+ mes "[Boonthom]";
+ mes "Please come back";
+ mes "when you prepare all the materials.";
+ set ayodunquest,2;
+ close;
+
+s_Items:
+ if(countitem(7213) < 1 || countitem(7217) < 1 || countitem(7190) < 1 || countitem(523) < 1)goto s_NoItems; //Pin Cusion, Spool, Hard Back Shell, Holy Water
+ delitem 7213,1; //Pin Cusion
+ delitem 7217,1; //Spool
+ delitem 7190,1; //Hard Back Shell
+ delitem 523,1; //Holy Water
+ mes "[Boonthom]";
+ mes "Excellent!";
+ mes "Now you have brought everything I need. Let me make the thing for you as promised...";
+ next;
+ mes "[Boonthom]";
+ mes "Ooooohmmmmm...";
+ next;
+ mes "[Boonthom]";
+ mes "Hmmmmmm...";
+ mes "Hmmmmmmmmm.";
+ next;
+ mes "[Boonthom]";
+ mes "Pffff pffff...";
+ next;
+ set ayodunquest,3;
+ getitem 7285,1; //Holy Threads
+ mes "[Boonthom]";
+ mes "Here you go.";
+ mes "Please take these holy threads.";
+ mes "With this, you will be able to enter the ruins with less worry.";
+ next;
+ mes "[Boonthom]";
+ mes "Even if you lose this, don't worry.";
+ mes "Just bring me the materials, and I will make you another one.";
+ next;
+ mes "[Boonthom]";
+ mes "The ancient building consists of 2 levels. Before you enter the 2nd underground level, please return to me so that I can tell you how to enter that place.";
+ close;
+
+s_NoItems:
+ mes "[Boonthom]";
+ mes "Did you forget what materials you need to create my object of holy power? Please listen carefully this time.";
+ next;
+ mes "[Boonthom]";
+ mes "^4466771 Needle Packet^000000,";
+ mes "^4466771 Spool^000000,";
+ mes "^4466771 Solid Husk^000000 and";
+ mes "^4466771 Holy Water^000000.";
+ next;
+ mes "[Boonthom]";
+ mes "See you later.";
+ close;
+
+s_Lose:
+ if(countitem(7285) > 0)goto s_NoItems2;
+ if(countitem(7213) < 1 || countitem(7217) < 1 || countitem(7190) < 1 || countitem(523) < 1)goto s_NoItems2; //Pin Cusion, Spool, Hard Back Shell, Holy Water
+ //Custom Dialogues
+ mes "[Boonthom]";
+ mes "Oh, you have all the items I require to make holy threads.";
+ next;
+ mes "[Boonthom]";
+ mes "Would you like to make one?";
+ next;
+ menu "Yes please.",s_Yes,"No I'm fine.",-;
+
+ mes "[Boonthom]";
+ mes "See you later then.";
+ close;
+s_Yes:
+ if(countitem(7213) < 1 || countitem(7217) < 1 || countitem(7190) < 1 || countitem(523) < 1)goto s_NoItems2; //Pin Cusion, Spool, Hard Back Shell, Holy Water
+ delitem 7213,1; //Pin Cusion
+ delitem 7217,1; //Spool
+ delitem 7190,1; //Hard Back Shell
+ delitem 523,1; //Holy Water
+ getitem 7285,1; //Holy Threads
+ mes "[Boonthom]";
+ mes "All right, here are your holy threads.";
+ mes "If you lose them, I'm still here to make some more.";
+ next;
+ mes "[Boonthom]";
+ mes "Good luck venturing down the dungeon.";
+ close;
+
+s_NoItems2:
+ mes "[Boonthom]";
+ mes "If you lose the holy threads, don't worry. I can make some more for you. Just gather the following items.";
+ next;
+ mes "[Boonthom]";
+ mes "^4466771 Needle Packet^000000,";
+ mes "^4466771 Spool^000000,";
+ mes "^4466771 Solid Husk^000000 and";
+ mes "^4466771 Holy Water^000000.";
+ next;
+ mes "[Boonthom]";
+ mes "See you later.";
+ close;
+s_Holier:
+ mes "[" + strcharinfo(0) + "]";
+ mes "I copied down this";
+ mes "message while exploring";
+ mes "the dungeon. Would you";
+ mes "take a look at this?";
+ next;
+ mes "[Stone Slate]";
+ mes "Do not enter the";
+ mes "2nd underground level";
+ mes "...is danger... You will";
+ mes "...encounter... tiger...";
+ next;
+ mes "[Stone Slate]";
+ mes "You must kill... In order to do...";
+ mes "Must... How to go... the 2nd";
+ mes "underground level...";
+ mes "You need more... Holy power... in";
+ mes "order to... Otherwise, it's";
+ mes "impossible...";
+ next;
+ mes "[Boonthom]";
+ mes "That was written by one of my";
+ mes "comrades who entered the ruins,";
+ mes "as he regretted letting the tiger";
+ mes "live, let it return";
+ next;
+ mes "[Boonthom]";
+ mes "If you were able to find this note,";
+ mes "you must have strong determination";
+ mes "to venture through the ruins.";
+ next;
+ mes "[Boonthom]";
+ mes "As you can guess from the";
+ mes "note, the 2nd underground level is";
+ mes "very very dangerous. You will need";
+ mes "holy threads that contains even more";
+ mes "holy protection.";
+ next;
+ mes "[Boonthom]";
+ mes "Now, go and gather some materials";
+ mes "so that I can create more powerful";
+ mes "holy threads for you.";
+ next;
+ mes "[Boonthom]";
+ mes "^4466772 Holy Water^000000,";
+ mes "^4466771 Yggdrasil Leaf^000000,";
+ mes "^4466772 Needle Packet^000000 and";
+ mes "^4466772 Spool^000000.";
+ next;
+ mes "[Boonthom]";
+ mes "Return to me";
+ mes "once you have";
+ mes "gathered everything.";
+ set ayodot,7;
+ close;
+s_ICheck:
+ if(countitem(523) < 2 || countitem(610) < 1 || countitem(7213) < 2 || countitem(7217) < 2)goto s_NEnoughItems;
+ if(ayodot == 8)goto s_Process;
+ mes "[Boonthom]";
+ mes "Hmmm~";
+ mes "You've brought";
+ mes "everything. Quite";
+ mes "the enthusiastic one,";
+ mes "aren't you?";
+ next;
+ mes "[Boonthom]";
+ mes "Ooooohmmmmm...";
+ next;
+ mes "[Boonthom]";
+ mes "Hmmmmmm...";
+ mes "Hmmmmmmmmm.";
+ next;
+ mes "[Boonthom]";
+ mes "Pffff pffff...";
+ next;
+s_Process:
+ if(countitem(523) < 2 || countitem(610) < 1 || countitem(7213) < 2 || countitem(7217) < 2)goto s_NEnoughItems;
+ delitem 523,2;
+ delitem 610,1;
+ delitem 7213,2;
+ delitem 7217,2;
+ getitem 7287,1;
+ if(ayodot != 8)set ayodot,8;
+ mes "[Boonthom]";
+ mes "Here you go.";
+ mes "Please take these holy threads.";
+ mes "With this, you will be able to";
+ mes "enter the ruins with less worry.";
+ next;
+ mes "[Boonthom]";
+ mes "Even if you lost this, don't worry.";
+ mes "Just bring me the materials, and";
+ mes "I will make you another one.";
+ close;
+s_NEnoughItems:
+ mes "[Boonthom]";
+ mes "Hmmm...?";
+ mes "Didn't I tell you";
+ mes "what I need to make";
+ mes "a more powerful";
+ mes "holy thread?";
+ next;
+ mes "[Boonthom]";
+ mes "^4466772 Holy Water^000000,";
+ mes "^4466771 Yggdrasil Leaf^000000,";
+ mes "^4466772 Needle Packet^000000 and";
+ mes "^4466772 Spool^000000.";
+ next;
+ mes "[Boonthom]";
+ mes "Return to me";
+ mes "with those items";
+ mes "And I will craft";
+ mes "more powerful holy";
+ mes "threads for you.";
+ close;
+s_Check2:
+ if(countitem(7285) < 1)goto s_Lose;
+ if(countitem(7287) < 1)goto s_LoseThreads;
+ mes "[Boonthom]";
+ mes "Those threads";
+ mes "will protect you";
+ mes "from the spiritual";
+ mes "dangers, but it's up";
+ mes "to you to defend yourself";
+ mes "from monster attacks, okay?";
+ close;
+s_LoseThreads:
+//Custom Dialogues
+ mes "[Boonthom]";
+ mes "I can feel the absence of holy power.";
+ mes "You lost the holier threads didn't you?";
+ next;
+ mes "[Boonthom]";
+ mes "But that's alright, I can make a new one";
+ mes "So... Do you want one?";
+ next;
+ menu "Yeah!",s_ICheck,"Nah",-;
+
+ mes "[Boonthom]";
+ mes "Come back anytime!";
+ close;
+}
+
+ayo_fild01.gat,129,197,7 script Puraim 842,{
+ if(countitem(7285) > 0)goto s_Dungeon; //Holy Threads
+ mes "[Puraim]";
+ mes "If I were you, I wouldn't even dare to approach";
+ mes "The ruins down over there.";
+ next;
+ mes "[Puraim]";
+ mes "Anyone who doesn't have the protection of a holy spirit will be easy game for the evil creatures living there. You'd be killed in no time at all!";
+ next;
+ mes "[Puraim]";
+ mes "Go back, adventurer.";
+ mes "If you wish to explore this area, you'd better show me some holy spirit.";
+ close;
+s_Dungeon:
+ mes "[Puraim]";
+ mes "Huh...?";
+ mes "I feel it!";
+ mes "I can feel the power of holiness!";
+ mes "It's coming from you!";
+ next;
+ mes "[Puraim]";
+ mes "I guess you can go ahead into the ruins. So that's what you want? To explore this aera?";
+ next;
+ mes "[Puraim]";
+ mes "I would suggest against coming inside. Even the local people fear this area.";
+ next;
+ mes "[Puraim]";
+ mes "If the Sa-mhing Tiger wasn't around, there would still be all the evil spirits in this place. Even with the holy threads, this place is still dangerous.";
+ next;
+ mes "[Puraim]";
+ mes "So what do you want to do? Do you still want to explore the area, adventurer?";
+ next;
+ menu "Yes",s_Yes,"No! I'm too afraid of the ruins now.",-;
+
+ mes "[Puraim]";
+ mes "Good decision!";
+ mes "As I expected, you're smart enough not to stupidly jeopardize your life.";
+ close;
+s_Yes:
+ mes "[Puraim]";
+ mes "Hmmm...";
+ mes "It seems you adventurers are tempted by the thrill of danger, or you've all got some death wish.";
+ next;
+ mes "[Puraim]";
+ mes "Oh well, that's none of my business. After all, you already have a holy spirit. Still, be careful. You might not want to go to the 2nd underground level of the ruins.";
+ next;
+ mes "[Puraim]";
+ mes "As you Rune-Midgardians say, 'curiousity killed the cat.' Anyway, go for it!";
+ next;
+ mes "[Puraim]";
+ mes "^3C2EE6He shoved you off the hill and you plummet like a rock.";
+ close2;
+ set @hpcheck,readparam(6)/10;
+ if(readparam(5) < @hpcheck)goto s_SetHp;
+ percentheal -10,0;
+s_Warp:
+ warp "ayo_fild02.gat",30,135;
+ end;
+s_SetHp:
+ set @hpcheck2,readparam(5)-1;
+ heal -@hpcheck2,0;
+ goto s_Warp;
+}
+
+ayo_fild02.gat,25,155,7 script Aik 843,{
+ mes "[Aik]";
+ mes "So, How was your expedition? I hope that the evil spirits will not follow you outside the ruins, and haunt your dreams.";
+ next;
+ mes "[Aik]";
+ mes "When you go back,";
+ mes "remember to ward off";
+ mes "the evil from your mind.";
+ mes "Otherwise you will encounter";
+ mes "trouble later...";
+ next;
+ mes "[Aik]";
+ mes "So, would you";
+ mes "like to go back?";
+ next;
+ menu "Yes.",s_Yes,"No, I need to look around more...",-;
+
+ mes "[Aik]";
+ mes "I see.";
+ mes "Take care.";
+ close;
+s_Yes:
+ mes "[Aik]";
+ mes "Alright then...";
+ mes "Here we go...";
+ next;
+ mes "^3C2EE6He suddenly grabbed you and hurled you up into the air!";
+ close2;
+ warp "ayo_fild01.gat",115,200;
+ end;
+}
+
+ayothaya.gat,193,171,3 script Old Man 842,{
+ mes "[Tham]";
+ mes "Ah~";
+ mes "I've got this craving for Ms. Mali the Spicy's food, especially her 'Tom Yum Goong.'";
+ next;
+ mes "[Tham]";
+ mes "I think it's the most delicious dish in the entire world!";
+ close;
+}
+
+ayothaya.gat,171,152,5 script Girl 838,{
+ mes "[Lalitha]";
+ mes "When you go East from this village, you will arrive at the ruins of an old shrine. It is now a nest full of fearsome monsters.";
+ next;
+ mes "[Lalitha]";
+ mes "If you plan to venture through these ruins, you better prepare as much as you can!";
+ next;
+ mes "[Lalitha]";
+ mes "Ah...";
+ mes "I wonder where my Black Knight is~";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Don't you mean...";
+ mes "Knight in shining armor riding a white horse?";
+ next;
+ mes "[Lalitha]";
+ mes "Hmm...?";
+ mes "Oh, well...";
+ mes "I'll take them both!";
+ mes "Hee hee~!";
+ close;
+}
+
+ayothaya.gat,196,265,3 script Einon 842,{
+ if(tomyumgoong == 5)goto s_Done;
+ if(tomyumgoong == 1 || tomyumgoong == 2 || tomyumgoong == 3 || tomyumgoong == 4)goto s_Resta;
+ mes "[Einon]";
+ mes "Do you know what the";
+ mes "most popular cuisine";
+ mes "of this village is?";
+ next;
+ mes "[Einon]";
+ mes "Ayothaya is world famous for its regional cuisine, but out of all Ayothayan dishes, '^3C2EE6Tom Yum Goong^000000' is the best.";
+ next;
+ mes "[Einon]";
+ mes "Tom Yum Goong is a type of soup that is very spicy. Try it once, and you will be amazed by its profound taste. Try it twice, and you will be enraptured by its tantalizing aroma.";
+ next;
+ mes "[Einon]";
+ mes "It's really one of the most delicious foods in the world!";
+ mes "Everyone in the world would would want to try this at least once in his lifetime. So, would you like to try some?";
+ next;
+ menu "Sure thing.",s_Sure,"No, thanks. I hate spicy food.",-;
+
+ mes "[Einon]";
+ mes "Oh I see...";
+ mes "However, when you";
+ mes "change your mind,";
+ mes "please come back.";
+ close;
+
+s_Sure:
+ mes "[Einon]";
+ mes "Okay...!";
+ mes "Now who would be best for preparing Tom Yum Goong for you?";
+ mes "Hmmmmm...";
+ next;
+ mes "[Einon]";
+ mes "Everyone in the village knows how to make it, but I recommend that you go visit ^0000FF Mali the Spicy^000000.";
+ next;
+ mes "[Einon]";
+ mes "She is the best cook when it comes to Tom Yum Goong!";
+ mes "Why don't you ask her to cook you some?";
+ set tomyumgoong,1;
+ close;
+s_Resta:
+ mes "[Einon]";
+ mes "Ah, you wanna know where ^0000FFMali the Spicy^000000 is?";
+ mes "Well, there's not too many places a cook would stay other than in a restaurant, right? Hahaha~";
+ close;
+s_Done:
+ mes "[Einon]";
+ mes "Golden Ayothaya...";
+ mes "Although I've grown";
+ mes "up in this village,";
+ mes "I still think my village";
+ mes "is magnificient and beautiful.";
+ next;
+ mes "[Einon]";
+ mes "What do you think?";
+ mes "Wouldn't you agree with me?";
+ close;
+}
+
+ayo_in01.gat,145,163,4 script Cook 839,{
+ if(tomyumgoong == 5)goto s_Busy;
+ if(ayopause == 1)goto s_Pause;
+ if(ayopause == 2)goto s_Pause2;
+ if(tomyumgoong == 4)goto s_Chilee;
+ if(tomyumgoong == 3)goto s_Lemons;
+ if(tomyumgoong == 2)goto s_Shrimp;
+ mes "[Mali the Spicy]";
+ mes "Hello, there!";
+ mes "I am called Mali the Spicy.";
+ mes "All of my dishes always amaze my customers with their tempting scents and deep flavors.";
+ next;
+ mes "[Mali the Spicy]";
+ mes "I am especially proud of my ^3C2EE6Tom Yum Goong^000000, which is the best in the village. I suppose it's my fate to cook the greatest Tom Yum Goong ever.";
+ if(tomyumgoong == 1)goto s_Quest;
+ close;
+s_Quest:
+ next;
+ mes "[Mali the Spicy]";
+ mes "Oh I see...";
+ mes "You want me to cook Tom Yum Goong for you, don't you?";
+ next;
+ mes "[Mali the Spicy]";
+ mes "Honestly, I've been really buse ever since I opened this restaurant. If you really wish to taste my Tom Yum Goong, would you do something for me?";
+ next;
+ menu "Sure!",s_Sure,"Eh... I dunno.",-;
+
+ mes "[Mali the Spicy]";
+ mes "I understand this might be difficult to do, but it's worth a try if you really want to taste the best Tom Yum Goong.";
+ close;
+
+s_Sure:
+ mes "[Mali the Spicy]";
+ mes "First, would you go get the ingredients to make Tom Yum Goong for me? I'll need some ^FF0000Shrimps^000000, ^FF0000Chilees^000000 and ^FF0000Lemons^000000.";
+ next;
+ mes "[Mali the Spicy]";
+ mes "Remember, Shrimp is the main ingredient of this dish. So, the fresher the Shrimp, the tastier your food will be.";
+ next;
+ menu "Where can I find them?",-;
+ mes "[Mali the Spicy]";
+ mes "I expected you to ask me that.";
+ mes "For shrimps, look around the beach. You should see a lot of them there.";
+ next;
+ mes "[Mali the Spicy]";
+ mes "However, you might have a hard time finding them since you haven't done that before. So just buy some Shrimp from the guy who sells the freshest Shrimp around.";
+ next;
+ mes "[Mali the Spicy]";
+ mes "Hmmm...";
+ mes "If you mention";
+ mes "my name, that guy";
+ mes "might give you a discount";
+ next;
+ mes "[Mali the Spicy]";
+ mes "His name is ^0000FFThongpool^000000.";
+ mes "He will be somewhere around the village selling Shrimps. Go and ask him to give you 20 Shrimps to cook Tom Yum Goong.";
+ set tomyumgoong,2;
+ close;
+s_Shrimp:
+ if(countitem(567) > 19)goto s_EnoughShrimp;
+ mes "[Mali the Spicy]";
+ mes "Did you visit ^0000FFThongpool^000000?";
+ mes "He will be somewhere around the village selling Shrimps. Go and ask him to give you 20 Shrimps to cook Tom Yum Goong.";
+ close;
+
+s_EnoughShrimp:
+ delitem 567,20;
+ mes "[Mali the Spicy]";
+ mes "Ah you came back!";
+ mes "Now, let me see what";
+ mes "you've brought. Hmmm...";
+ mes "These are...";
+ next;
+ set ayopause,1;
+ set ayoshrimps,0;
+ emotion 21;
+ mes "[Mali the Spicy]";
+ mes "The freshest Shrimp that";
+ mes "I've been looking for!";
+ mes "With these big and fresh Shrimps,";
+ mes "I can cook the best Tom Yum Goong";
+ mes "for you! Thank you so much!";
+ next;
+ mes "[Mali the Spicy]";
+ mes "It will be a perfect food with the natural sweetness of the Shrimp, the sourness of Lemons and a little bit of fish sauce!";
+ next;
+s_Pause:
+ mes "[Mali the Spicy]";
+ mes "Oh... Right";
+ mes "But we only have Shrimp.";
+ mes "Now, I want you to bring me some ^FF0000Lemons^000000.";
+ next;
+ menu "Where can I find Lemons?",s_WLemon,"I hate sour food. I'd better quit!",-;
+
+ mes "[Mali the Spicy]";
+ mes "It's your call.";
+ mes "But remember...";
+ mes "The shimps might go bad while you're taking a rest.";
+ close;
+
+s_WLemon:
+ mes "[Mali the Spicy]";
+ mes "A few days ago, I saw a good";
+ mes "Lemon tree while taking a walk.";
+ mes "But this tree belongs to an";
+ mes "ordinary man who's not a Fruit Merchant.";
+ next;
+ mes "[Mali the Spicy]";
+ mes "I'm not sure wheter or not he'd sell Lemons to you, but you can try, I guess.";
+ set ayopause,0;
+ set tomyumgoong,3;
+ close;
+s_Lemons:
+ if(countitem(568) > 9)goto s_EnoughLemon;
+ mes "[Mali the Spicy]";
+ mes "Alright...";
+ mes "I'm counting on you";
+ mes "to get the best Lemons";
+ mes "from the man who owns that tree.";
+ next;
+ mes "[Mali the Spicy]";
+ mes "Somehow, you've got";
+ mes "to get those high quality";
+ mes "Lemons so that I can make some Tom Yum Goong!";
+ close;
+s_EnoughLemon:
+ delitem 568,10;
+ emotion 0;
+ mes "[Mali the Spicy]";
+ mes "Welcome back!";
+ mes "Wow, you came back";
+ mes "really fast! Okay, let me";
+ mes "see the Lemons";
+ mes "you brought?";
+ next;
+ set ayopause,2;
+ mes "[Mali the Spicy]";
+ mes "Wow, great!";
+ mes "These are really fresh Lemons!";
+ mes "How could you bring all of these by";
+ mes "yourself? Thanks for your trouble~";
+ next;
+s_Pause2:
+ mes "[Mali the Spicy]";
+ mes "Now, you should go buy";
+ mes "some ^FF0000Chilees^000000 and some";
+ mes "other materials in the market.";
+ next;
+ mes "[Mali the Spicy]";
+ mes "When you talk";
+ mes "to the Merchants";
+ mes "in the Market, they";
+ mes "will know what you want.";
+ next;
+ menu "Okay, I'll be right back.",s_Okay,"Ah, I'm tired now. Let me take a rest first...",-;
+
+ mes "[Mali the Spicy]";
+ mes "It's your call.";
+ mes "But remember...";
+ mes "The Shrimps might go bad";
+ mes "while you're taking a rest.";
+ close;
+s_Okay:
+ mes "[Mali the Spicy]";
+ mes "See you in a bit~";
+ set ayopause,0;
+ set tomyumgoong,4;
+ close;
+s_Chilee:
+ if(countitem(7286) > 29)goto s_EnoughChilee;
+ mes "[Mali the Spicy]";
+ mes "Did you get the Chilees?";
+ mes "You should talk to the Merchants in the Market, they'll know what you want.";
+ close;
+s_EnoughChilee:
+ delitem 7286,30;
+ mes "[Mali the Spicy]";
+ mes "Now...";
+ mes "Everything is all set!";
+ mes "Before we start, let me";
+ mes "check the materials.";
+ next;
+ mes "[Mali the Spicy]";
+ mes "^FF0000Shrimp^000000, ^FF0000Chilees^000000, ^FF0000Lemons^000000...";
+ mes "Fish sauce and other little";
+ mes "things...";
+ next;
+ mes "[Mali the Spicy]";
+ mes "Perfect!";
+ mes "Shall we begin?";
+ next;
+ misceffect 125;
+ mes "^D0122C*Tuk*";
+ mes "^6F1E6A*Tup*";
+ mes "^357030*Puk*";
+ next;
+ misceffect 124;
+ mes "^D10C3A*Chop chop*";
+ mes "^DCB060*Tup tup tup*";
+ mes "^8CA7BA*Pu pu*";
+ next;
+ misceffect 23;
+ misceffect 135;
+ mes "^86733BTup tup ^396254chook";
+ mes "^486354chop chop";
+ mes "^BA0010Tup tup tup ^28842FPu pu";
+ next;
+ emotion 23;
+ misceffect 99;
+ misceffect 90;
+ mes "Wah^050158ah^241999ahhh^0F48CBhaaaahhh^000000!";
+ next;
+ mes "[Mali the Spicy]";
+ mes "...";
+ mes "......";
+ mes ".........";
+ next;
+ set tomyumgoong,5;
+ set ayoshrimps,0;
+ getitem 566,10;
+ emotion 21;
+ mes "[Mali the Spicy]";
+ mes "Here's your";
+ mes "Tom Yum Goong!";
+ mes "Ah~ This taste,";
+ mes "this scent... Yeah.";
+ mes "I know I did a good job.";
+ next;
+ mes "[Mali the Spicy]";
+ mes "Do you know what is the secret of Tom Yum Goong? It isn't simply just food. This has the power to heal you, and help you get into better shape.";
+ next;
+ mes "[Mali the Spicy]";
+ mes "Because...";
+ mes "It countains the";
+ mes "power of God.";
+ next;
+ mes "[Mali the Spicy]";
+ mes "Okay...!";
+ mes "I'm giving you";
+ mes "10 Tom Yum Goong";
+ mes "free of charge~";
+ next;
+ mes "[Mali the Spicy]";
+ mes "Thank you for all the trouble";
+ mes "you have been through to get these";
+ mes "ingredients. It would make me happy";
+ mes "if you shared Tom Yum Goong with";
+ mes "your friends.";
+ next;
+ mes "[Mali the Spicy]";
+ mes "Share the flavor of Ayothaya, and";
+ mes "let them know how beautiful our";
+ mes "land is. It was good to see you,";
+ mes "take care now~";
+ close;
+s_Busy:
+ emotion 16;
+ mes "[Mali the Spicy]";
+ mes "Ah...!";
+ mes "So busy, so busy!";
+ mes "My customers never get tired of";
+ mes "the taste of my Tom Yum Goong!";
+ mes "Heh heh heh~!";
+ close;
+}
+
+ayothaya.gat,213,95,7 script Merchant 841,{
+ if(tomyumgoong == 4)goto s_Chili;
+s_JumpBack:
+ mes "[Merchant Thongdum]";
+ mes "Hello there!";
+ mes "Ever try a Chili before?";
+ next;
+ mes "[Merchant Thongdum]";
+ mes "Despite its tiny appearance, it has a very strong flavor. It's also hot and spicy, so you should be careful when you eat one.";
+ next;
+ mes "[Merchant Thongdum]";
+ mes "The people of Ayothaya enjoy sensational food with distinct, spicy flavors. In Ayothayan cuisine, we use things like Chilis, Garlics, Ginger and Cilantro.";
+ next;
+ mes "[Merchant Thongdum]";
+ mes "I'm selling Chilis,";
+ mes "so if you need any,";
+ mes "please come to me~";
+ close;
+s_Chili:
+ if(countitem(7286) > 29)goto s_JumpBack;
+ mes "[Merchant Thongdum]";
+ mes "Hello, there~";
+ mes "Are you looking for";
+ mes "ingredients to make";
+ mes "Tom Yum Goong?";
+ next;
+ mes "[Merchant Thongdum]";
+ mes "Let's see...";
+ mes "I'm selling chilis,";
+ mes "fish sauce, and some";
+ mes "spices and flavorings";
+ mes "you'll need. I'll sell";
+ mes "it all to you for 2,000 zeny.";
+ next;
+ menu "Thanks, I'll take it",s_Take,"It's a rip-off, man!",-;
+
+ mes "[Merchant Thongdum]";
+ mes "Don't say that.";
+ mes "My prices are always";
+ mes "reasonable. I want you to know";
+ mes "that I'm a respectable Merchant.";
+ close;
+
+s_Take:
+ if(Zeny < 2000) goto s_NoZeny;
+ set Zeny, Zeny - 2000;
+ getitem 7286,30;
+ mes "[Merchant Thongdum]";
+ mes "Thank you.";
+ mes "I hhope you will enjoy";
+ mes "your Tom Yum Goong~";
+ close;
+
+s_NoZeny:
+//custom dialogues
+ emotion 16;
+ mes "[Merchant Thongdum]";
+ mes "Aw, you don't have enough zeny.";
+ mes "Please come back when you do!";
+ close;
+}
+
+ayothaya.gat,121,240,7 script Mr. Jun 842,1,1,{
+ mes "[Mr. Jun]";
+ mes "...";
+ close;
+OnTouch:
+ if(ayolemon == 2)end;
+ if(ayolemon == 1)goto s_Again;
+ if(tomyumgoong == 3)goto s_Lemon;
+ end;
+s_Lemon:
+ emotion 20;
+ mes "[Mr. Jun]";
+ mes "Hello, there?";
+ mes "Did you need";
+ mes "some help...?";
+ next;
+ menu "I need some Lemons.",s_Quest,"No, thanks.",-;
+
+ mes "[Mr. Jun]";
+ mes "Feel free to";
+ mes "ask me for help";
+ mes "any time, okay?";
+ close;
+
+s_Quest:
+ mes "[Mr. Jun]";
+ mes "Umm...";
+ mes "Lemons?";
+ mes "As you see, I have plenty";
+ mes "of Lemons on my tree";
+ mes "Do you really need some?";
+ next;
+ menu "Yes, I will pay you.",s_Pay,"No, thanks.",-;
+
+ mes "[Mr. Jun]";
+ mes "Hmm...";
+ mes "Now what can";
+ mes "I possibly do";
+ mes "with all these";
+ mes "Lemons?";
+ close;
+
+s_Pay:
+ mes "[Mr. Jun]";
+ mes "I started growing this Lemon tree as a hobby, but I didn't expect to have such a good havest of sweet, succulent Lemons.";
+ next;
+ mes "[Mr. Jun]";
+ mes "Did you just say you were going to pay me for the Lemons? Oh, you've got me wrong. I don't intend to sell these.";
+ next;
+ mes "[Mr. Jun]";
+ mes "But...";
+ mes "I'm more than willing";
+ mes "to share some of them with";
+ mes "you, but only if you can...";
+ next;
+ mes "[Mr. Jun]";
+ mes "Play a small game with me!";
+ mes "How about that? I've been so bored";
+ mes "to death. Even an old man like me";
+ mes "needs to enjoy himself!";
+ next;
+ mes "[Mr. Jun]";
+ mes "Hahahaha~!";
+ mes "What do you say?";
+ mes "Would you like to try?";
+ next;
+ menu "Sure, why not!",s_Game,"No, thanks.",-;
+
+ mes "[Mr. Jun]";
+ mes "Afraid are we?";
+ mes "There's no fooling you:";
+ mes "I'm one of the best at games!";
+ close;
+
+s_Again:
+//custom dialogues
+ mes "[Mr. Jun]";
+ mes "Oh, you're back!";
+ mes "Would you like to try again?";
+ next;
+ menu "Yeah, I'm going to beat you.",s_Game4,"Nah, I just passed by.",-;
+
+ mes "[Mr. Jun]";
+ mes "Ha ha ha!";
+ mes "Come back when you think you can beat me.";
+ close;
+s_Game:
+ mes "[Mr. Jun]";
+ mes "Good!";
+ mes "The game I want us to play is an easy children's game.";
+ next;
+ mes "[Mr. Jun]";
+ mes "^6B1312Rock,";
+ mes "^6B1312Paper, Scissors!";
+ mes "Perhaps you've heard";
+ mes "of it in your land.";
+ next;
+ mes "[Mr. Jun]";
+ mes "Nuh-uh, don't look at me like that.";
+ mes "I'm an old man, and I want to play this game re-live my youth a little bit. You'll understand when you're my age.";
+ next;
+ mes "[Mr. Jun]";
+ mes "Alright, if you win";
+ mes "^3C2EE63^000000 out of ^3C2EE65^000000 matches,";
+ mes "The lemons are yours.";
+ mes "Are you ready?";
+ next;
+s_Game4:
+ mes "[Mr. Jun]";
+ mes "Okay...";
+ mes "As you kids say,";
+ mes "^6B1312Let's get eXtreme!";
+s_Game3:
+ next;
+ mes "[Mr. Jun]";
+ mes "Rock!";
+ mes "Paper!";
+ mes "Scissors!";
+s_Game2:
+ next;
+ menu "Rock",s_Rock,"Paper",s_Paper,"Scissors",s_Scissors;
+
+s_Rock:
+ set @npcvar,rand(1,3);
+ set @playervar,1;
+ next;
+ goto s_Play;
+s_Paper:
+ set @npcvar,rand(1,3);
+ set @playervar,2;
+ next;
+ goto s_Play;
+s_Scissors:
+ set @npcvar,rand(1,3);
+ set @playervar,3;
+ next;
+ goto s_Play;
+s_Play:
+ if(@playervar == 1 && @npcvar == 1)goto s_RockRock;
+ if(@playervar == 1 && @npcvar == 2)goto s_RockPaper;
+ if(@playervar == 1 && @npcvar == 3)goto s_RockScissors;
+ if(@playervar == 2 && @npcvar == 1)goto s_PaperRock;
+ if(@playervar == 2 && @npcvar == 2)goto s_PaperPaper;
+ if(@playervar == 2 && @npcvar == 3)goto s_PaperScissors;
+ if(@playervar == 3 && @npcvar == 1)goto s_ScissorsRock;
+ if(@playervar == 3 && @npcvar == 2)goto s_ScissorsPaper;
+ if(@playervar == 3 && @npcvar == 3)goto s_ScissorsScissors;
+s_RockRock:
+ emotion 11;
+ emotion 11,1;
+ goto s_Draw;
+s_RockPaper:
+ emotion 12;
+ emotion 11,1;
+ goto s_Lose;
+s_RockScissors:
+ emotion 10;
+ emotion 11,1;
+ goto s_Win;
+s_PaperRock:
+ emotion 11;
+ emotion 12,1;
+ goto s_Win;
+s_PaperPaper:
+ emotion 12;
+ emotion 12,1;
+ goto s_Draw;
+s_PaperScissors:
+ emotion 10;
+ emotion 12,1;
+ goto s_Lose;
+s_ScissorsRock:
+ emotion 11;
+ emotion 10,1;
+ goto s_Lose;
+s_ScissorsPaper:
+ emotion 12;
+ emotion 10,1;
+ goto s_Win;
+s_ScissorsScissors:
+ emotion 10;
+ emotion 10,1;
+ goto s_Draw;
+s_Draw:
+ mes "[Mr. Jun]";
+ mes "Hmpf.";
+ mes "It's a draw";
+ mes "One more time!";
+ mes "Rock! Paper!";
+ mes "Scissors!";
+ goto s_Game2;
+s_Lose:
+ mes "[Mr. Jun]";
+ mes "Yes...!";
+ mes "Oh my god, yes!";
+ set @npcpoint,@npcpoint+1;
+ if(@npcpoint == 3)goto s_Lose2;
+ goto s_Game3;
+s_Win:
+ set @playerpoint,@playerpoint+1;
+ mes "[Mr. Jun]";
+ if(@playerpoint == 1)mes "Noooo...! This cannot be!";
+ if(@playerpoint == 2)mes "What...? I don't believe it! Bah.. !";
+ if(@playerpoint == 3)mes "No...! Sacrilege!";
+ if(@playerpoint == 3)goto s_Win2;
+ goto s_Game3;
+s_Lose2:
+ if(ayolemon != 1)set ayolemon,1;
+//Custom Dialogues
+ next;
+ mes "[Mr. Jun]";
+ mes "I won!";
+ mes "Seems like I can keep up with the kids. Ha ha ha!";
+ next;
+ mes "[Mr. Jun]";
+ mes "If you still want the lemons I'm up for another game. So please don't hesitate to come back.";
+ set @playerpoint,0;
+ set @npcpoint,0;
+ close;
+s_Win2:
+ next;
+ mes "[Mr. Jun]";
+ mes "You... won.";
+ mes "I'm so exhausted.";
+ mes "I guess I can't compete with you youngsters anymore. Ha ha ha!";
+ next;
+ mes "[Mr. Jun]";
+ mes "As promised,";
+ mes "I shall share some";
+ mes "of my Lemons with you.";
+ mes "Grab as many as you want!";
+ next;
+ set ayolemon,2;
+ getitem 568,10;
+ mes "^3C2EE6You have plucked";
+ mes "^3C2EE610 Lemons from the tree.";
+ next;
+ emotion 9;
+ mes "[Mr. Jun]";
+ mes "Hmm...";
+ mes "Looks like you need a lot of them.";
+ mes "Oh well, that's fine with me. I had";
+ mes "a good time with you.";
+ next;
+ mes "[Mr. Jun]";
+ mes "Don't forget this though:";
+ mes "Don't be selfish, and always share";
+ mes "what you have with others. That's";
+ mes "one of the most important values";
+ mes "for human beings.";
+ close;
+}
+
+ayothaya.gat,197,188,5 script Young Man 841,{
+ mes "[Kwan]";
+ mes "Phew, isn't it";
+ mes "soooo hot today?";
+ next;
+ mes "[Kwan]";
+ mes "You must be";
+ mes "from Rune-Midgard, huh?";
+ mes "I've seen a lot of tourists";
+ mes "coming from there recently.";
+ next;
+ mes "[Kwan]";
+ mes "You'de better be really careful if";
+ mes "you travel outside of the village.";
+ mes "Whatever you do, don't go into the ruins of and old shrine in the forest.";
+ next;
+ mes "[Kwan]";
+ mes "That place is far too dangerous to visit. Still, I head that if you had some kind of amulet, you could go there with a little less worry...";
+ next;
+ mes "[Kwan]";
+ mes "Well, anyway, it's still a really good idea to stay away from that place. I hope you enjoy visiting Ayothaya, and that keep safe~";
+ close;
+}
+
+ayothaya.gat,241,264,5 script Young Man 843,{
+
+ mes "[Eik]";
+ mes "Hey...";
+ mes "You look pretty strong";
+ mes "You wanna challenge";
+ mes "me to a match?";
+ next;
+ menu "Sure!",s_Sure,"Nah~",-;
+
+ mes "[Eik]";
+ mes "Real power is developed after having thousands of matches with other people. So, don't be afraid of fighting, okay?";
+ close;
+
+s_Sure:
+ mes "[Eik]";
+ mes "Ow ow ow!";
+ mes "I was just";
+ mes "kidding, man!";
+ next;
+ mes "[Eik]";
+ mes "I'm not so rude as to pick fights";
+ mes "with strangers for no reason!";
+ close;
+}
+
+ayothaya.gat,213,142,5 script Young Man 843,{
+ mes "[Detzi]";
+ mes "In Ayothaya, we have our own traditional martial arts. We, the young men of the village, practice our traditional martial arts in order to become strong.";
+ next;
+ mes "[Detzi]";
+ mes "Why don't you learn our martial arts? I guarantee that it will help you greatly in you travels.";
+ close;
+}
+
+//This might not get fixed, feel free to submit a fix in the forum to apply though.
+ayothaya.gat,253,99,3 script Fisherman 843,{
+ mes "[Dannai]";
+ mes "This place is known to be teeming with fish. The fish here tend to eat anything they find, so it's easy to catch them.";
+ next;
+ mes "[Dannai]";
+ mes "We are providing a fishing rod rental service. Every time you fish, you'll need ^4466771 Monster's Food^000000 to use as bait, and pay a rod rental fee of ^44667750 Zeny^000000.";
+ next;
+ mes "[Dannai]";
+ mes "Would you";
+ mes "like to try?";
+ next;
+ menu "Yes.",s_Yes,"No, thanks.",-;
+
+ mes "[Dannai]";
+ mes "No problem,";
+ mes "come back anytime you want. Fishing relaxes the mind and makes you feel at peace...";
+s_Yes:
+ mes "Sorry this script isn't finished.";
+ close;
+}
+
+ayo_dun01.gat,260,42,4 script LocationActivator 139,4,0,{
+ if(ayodot > 5)end;
+ if(countitem(7285) > 0)goto s_Dots;
+ end;
+s_Dots:
+ mes "- Holy threads in your pocket";
+ mes "suddenly started glowing. You felt";
+ mes "something is near you.-";
+ if(ayodot == 0)goto s_0;
+ if(ayodot == 1)goto s_1;
+ if(ayodot == 2)goto s_2;
+ if(ayodot == 3)goto s_3;
+ if(ayodot == 4)goto s_4;
+ if(ayodot == 5)goto s_5;
+ end;
+
+s_0:
+ viewpoint 1,198,164,1,0xFF0000;
+ viewpoint 1,87,16,2,0xFF0000;
+ viewpoint 1,268,215,3,0xFF0000;
+ viewpoint 1,147,274,4,0xFF0000;
+ viewpoint 1,99,118,5,0xFF0000;
+ viewpoint 1,16,188,6,0xFF0000;
+ stopnpctimer;
+ close;
+s_1:
+ viewpoint 1,87,16,2,0xFF0000;
+ viewpoint 1,268,215,3,0xFF0000;
+ viewpoint 1,147,274,4,0xFF0000;
+ viewpoint 1,99,118,5,0xFF0000;
+ viewpoint 1,16,188,6,0xFF0000;
+ close;
+s_2:
+ viewpoint 1,268,215,3,0xFF0000;
+ viewpoint 1,147,274,4,0xFF0000;
+ viewpoint 1,99,118,5,0xFF0000;
+ viewpoint 1,16,188,6,0xFF0000;
+ close;
+s_3:
+ viewpoint 1,147,274,4,0xFF0000;
+ viewpoint 1,99,118,5,0xFF0000;
+ viewpoint 1,16,188,6,0xFF0000;
+ close;
+s_4:
+ viewpoint 1,99,118,5,0xFF0000;
+ viewpoint 1,16,188,6,0xFF0000;
+ close;
+s_5:
+ viewpoint 1,16,188,6,0xFF0000;
+ close;
+}
+
+ayo_dun01.gat,198,164,4 script #invayo1 111,{
+
+ if(countitem(7285) < 1)end;
+ if(ayodot == 0)goto s_First;
+
+ mes "^3C2EE6You find a piece of a stone slate with letters etched on it. It seems to be the 1st part of the slate.";
+ close;
+
+s_First:
+
+ mes "^3C2EE6You find a piece of a stone slate with letters etched on it. It seems to be the 1st part of the slate.";
+ next;
+ mes "^3C2EE6It reads '^0000FFDo not enter the 2nd underground level.^3C2EE6' You are unable to read the rest of the message.";
+ set ayodot,1;
+ close;
+
+}
+
+ayo_dun01.gat,87,16,4 script #invayo2 111,{
+
+ if(countitem(7285) < 1)end;
+ if(ayodot == 1)goto s_First;
+
+ mes "^3C2EE6You find a piece of a stone slate with letters etched on it. It seems to be the 2nd part of the slate.";
+ close;
+
+s_First:
+
+ mes "^3C2EE6You find a piece of a stone slate with letters etched on it. It seems to be the 2nd part of the slate.";
+ next;
+ mes "^3C2EE6It reads '^0000FF...is danger... You wil....^3C2EE6' You are unable to read the rest of the message.";
+ set ayodot,2;
+ close;
+
+}
+
+ayo_dun01.gat,268,215,4 script #invayo3 111,{
+
+ if(countitem(7285) < 1)end;
+ if(ayodot == 2)goto s_First;
+
+ mes "^3C2EE6You find a piece of a stone slate with letters etched on it. It seems to be the 3rd part of the slate.";
+ close;
+
+s_First:
+
+ mes "^3C2EE6You find a piece of a stone slate with letters etched on it. It seems to be the 3rd part of the slate.";
+ next;
+ mes "^3C2EE6It reads '^0000FF...encounter...tiger....^3C2EE6' You are unable to read the rest of the message.";
+ set ayodot,3;
+ close;
+
+}
+
+ayo_dun01.gat,147,274,4 script #invayo4 111,{
+
+ if(countitem(7285) < 1)end;
+ if(ayodot == 3)goto s_First;
+
+ mes "^3C2EE6You find a piece of a stone slate with letters etched on it. It seems to be the 4th part of the slate.";
+ close;
+
+s_First:
+
+ mes "^3C2EE6You find a piece of a stone slate with letters etched on it. It seems to be the 4th part of the slate.";
+ next;
+ mes "^3C2EE6It reads '^0000FFYou must kill... In order to do... MUST ... How to go... the 2nd underground level...^3C2EE6' You are unable to read the rest of the message.";
+ set ayodot,4;
+ close;
+
+}
+
+ayo_dun01.gat,99,118,4 script #invayo5 111,{
+ if(countitem(7285) < 1)end;
+ if(ayodot == 4)goto s_First;
+ mes "^3C2EE6You find a piece of a stone slate with letters etched on it. It seems to be the 5th part of the slate.";
+ close;
+s_First:
+ mes "^3C2EE6You find a piece of a stone slate with letters etched on it. It seems to be the 5th part of the slate.";
+ next;
+ mes "^3C2EE6It reads '^0000FFYou need more... Holy power... in order to...^3C2EE6' You are unable to read the rest of the message.";
+ set ayodot,5;
+ close;
+
+}
+
+ayo_dun01.gat,16,188,4 script #invayo6 111,{
+ if(countitem(7285) < 1)end;
+ if(ayodot == 5)goto s_First;
+ mes "^3C2EE6You find a piece of a stone slate with letters etched on it. It seems to be the last part of the slate.";
+ close;
+s_First:
+ mes "^3C2EE6You find a piece of a stone slate with letters etched on it. It seems to be the last part of the slate.";
+ next;
+ mes "^3C2EE6It reads '^0000FFOtherwise, it's impossible...^3C2EE6' You are unable to read the rest of the message.";
+ set ayodot,6;
+ close;
+}
+
+ayo_dun01.gat,24,283,4 script #ayowarp 111,{
+ if(countitem(7287) < 1)goto s_NoEntry;
+ mes "^3C2EE6The holy threads emanate a powerful sense of safety and security. With the protection of holiness, you begin your descent into the 2nd level..";
+ close2;
+ set @ayodunwarp,rand(1,2);
+ if(@ayodunwarp == 2)goto s_2;
+ warp "ayo_dun02.gat",275,26;
+ end;
+s_2:
+ warp "ayo_dun02.gat",24,26;
+ end;
+s_NoEntry:
+ mes "^3C2EE6You find what seems to be the entrance to the 2nd level. However, you are filled with an overwhelming sense of dread. Somehow, you can't bring yourself to go down...";
+ close;
+}
+
+ayo_dun01.gat,23,283,4 duplicate(#ayowarp) #ayodupe1 111
+ayo_dun01.gat,25,283,4 duplicate(#ayowarp) #ayodupe2 111
+ayo_dun01.gat,26,283,4 duplicate(#ayowarp) #ayodupe3 111
+
+ayo_dun01.gat,25,271,4 script #ayokillscript 139,1,1,{
+ percentheal -100,0;
+ end;
+}
+
+ayo_dun01.gat,25,274,4 duplicate(#ayokillscript) #ayodupe4 139,1,1
+ayo_dun01.gat,28,274,4 duplicate(#ayokillscript) #ayodupe5 139,1,1
+ayo_dun01.gat,28,271,4 duplicate(#ayokillscript) #ayodupe6 139,1,1
+ayo_dun01.gat,25,28,4 duplicate(#ayokillscript) #ayodupe7 139,1,1
+ayo_dun01.gat,25,25,4 duplicate(#ayokillscript) #ayodupe8 139,1,1
+ayo_dun01.gat,28,25,4 duplicate(#ayokillscript) #ayodupe9 139,1,1
+ayo_dun01.gat,28,28,4 duplicate(#ayokillscript) #ayodupe10 139,1,1
+ayo_dun01.gat,271,274,4 duplicate(#ayokillscript) #ayodupe11 139,1,1
+ayo_dun01.gat,271,271,4 duplicate(#ayokillscript) #ayodupe12 139,1,1
+ayo_dun01.gat,274,271,4 duplicate(#ayokillscript) #ayodupe13 139,1,1
+ayo_dun01.gat,274,274,4 duplicate(#ayokillscript) #ayodupe14 139,1,1
diff --git a/npc/cities/comodo.txt b/npc/cities/comodo.txt
new file mode 100644
index 000000000..2145b2888
--- /dev/null
+++ b/npc/cities/comodo.txt
@@ -0,0 +1,1391 @@
+//===== eAthena Script =======================================
+//= Comodo Town
+//===== By: ==================================================
+//= eAthena dev team
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena 1.0
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Not complete.
+//= 1.1 Rolled back from the wrong Kashy's fix
+//= Implemented the 'Cheese'/Stone of Awakening quest. Re-organized stuff. [kobra_k88]
+//= 1.2b Added Baby Class support [Lupus]
+//= 1.3 Spell Checked and Fixed [massdriller]
+//= 1.4 Fixed typo’s [Nexon]
+//============================================================
+
+
+
+//============================================================================//
+// BBQ Camp Grounds
+//============================================================================//
+
+//====================================================
+comodo.gat,216,310,4 script BBQ Papa 85,{
+OnStart:
+ mes "[BBQ Son]";
+ mes "Daddy! Daddy!... Is it true that an ^FF4444Evil Witch^000000 once lived in our village?? Does she still live here???";
+ next;
+ mes "[BBQ Mama]";
+ mes "Son, where did you hear about that?";
+ next;
+ mes "[BBQ Papa]";
+ mes "Ha ha... are you scared of the Evil Witch? It's just an old story......";
+ next;
+ mes "[BBQ Son]";
+ mes "No daddy! If the Witch really lived on our island, her home must be around here still.... She had to have a place to sleep in... Right??";
+ next;
+ mes "[BBQ Mama]";
+ mes "Ho ho ho... now if all of this were true don't you think the ^5555FFChief^000000 would know about it?";
+ mes "Anyway, we better start eating before the meat gets overcooked.";
+ next;
+ mes "[BBQ Son]";
+ mes "Okay.... (~crunch~chew~) Yum Yum!!. I'm... I'm...... (~chomp~chomp~).... going to find out the truth!! (~crunch~chomp~) Mmmmm......";
+ close;
+}
+
+//=======================================================
+comodo.gat,215,307,4 script BBQ Mama 66,{
+ doevent "BBQ Papa::OnStart";
+ end;
+}
+
+//=======================================================
+comodo.gat,213,310,4 script BBQ Son 706,{
+ doevent "BBQ Papa::OnStart";
+ end;
+}
+
+//=======================================================
+comodo.gat,221,310,4 script Rinta 89,{
+ mes "[Rinta]";
+ mes "I was 'accidentally' eavesdropping on those people having the BBQ over there.";
+ mes "It seems that they are long time friends of Comodo's ^5555FFChief^000000.";
+ next;
+ mes "[Rinta]";
+ mes "If this is true, then this means that they can have as much meat and seasoning as they want......";
+ emotion 5;
+ close;
+}
+
+//=======================================================
+comodo.gat,218,309,4 script Razy 69,{
+ mes "[Razy]";
+ mes "I really dislike people who constantly reminisce about the past. Like that group of people over there. They're really starting to bug me.";
+ next;
+ mes "[Razy]";
+ mes "However, the lady in that group looks really beautiful.... her skin is so light and her complexion is wonderful.";
+ mes "If only she didn't have that scar on her face.... she would be perfect...........";
+ close;
+}
+
+
+
+//============================================================================//
+// Casino
+//============================================================================//
+
+//=============================================================
+cmd_in02.gat,172,105,4 script G . J 86,{
+ mes "[G . J]";
+ mes "The more I think about it, the more I realize that it is easier and quicker to get rich by working a steady job and saving my money";
+ mes "than it is to gamble it away on false hopes of hitting the jackpot. ";
+ next;
+ mes "[G . J]";
+ mes "It just seems like a smarter choice. I can still earn a good living even after paying my bills and taxes.";
+ mes "I feel that it is much more respectable to earn your living through hard work than it is to try to make a living on easy money.";
+ next;
+ mes "[G . J]";
+ mes "Wouldn't you agree? Think about it in this way: You and your friend have been gambling and your friend hits the jackpot.";
+ mes "You would want your friend to buy you dinner or even lend you some of the prize money right?";
+ next;
+ mes "[G . J]";
+ mes "After all it's not like your friend EARNED the money.... he/she just got lucky that’s all.";
+ mes "Your friend shouldn't mind sharing money that really isn't his/hers.";
+ next;
+ mes "[G . J]";
+ mes "On the other hand, if that same friend had a steady job and worked hard for every penny he/she earned......";
+ mes "would you be comfortable asking your friend for some of that hard earned money?";
+ next;
+ mes "[G . J]";
+ mes "You wouldn't dare would you! That money was well earned and represents your friends hard work.";
+ mes "You have respect for you friend because of that, and value his/her money more than some prize money.";
+ close;
+}
+
+//=============================================================
+cmd_in02.gat,178,92,4 script Shalone 101,{
+ mes "[Shalone]";
+ mes "Ok, ok............ A-4!! Looks like you've lost again sir.... Hoo hoo, if you'd like a little advice, you shouldn't play when your luck's this bad.";
+ next;
+ mes "[Shalone]";
+ mes "( This costumer just can't seem to win! I feel so sorry for him... ~sigh~)";
+ close;
+}
+
+//=============================================================
+cmd_in02.gat,178,86,4 script Stonae 98,{
+ mes "[Stonae]";
+ mes "WHAT!! Dang it!! AGAIN!! Arghhhhhhh!!!............";
+ emotion 23;
+ next;
+ mes "[Stonae]";
+ mes "Sheesh! I can't quit after losing this badly! I won't quit until I win!";
+ emotion 7;
+ next;
+ mes "[Stonae]";
+ mes "Let's go!!";
+ emotion 27;
+ close;
+}
+
+//=============================================================
+cmd_in02.gat,174,126,4 script Loyar 83,{
+ set @TEMP,0;
+ mes "[Loyar]";
+ mes "The Comodo Casino has a very pleasing decor... It's quite clean and simple!";
+ mes "The atmosphere is perfect and makes you really want to play more!";
+ emotion 33;
+ next;
+ mes "[Loyar]";
+ mes "Atmosphere is everything when it comes to gaming.";
+ next;
+ mes "[Loyar]";
+ mes "No matter how much fun a game is, no one would be willing to play for a long time if the environment was dirty.";
+ mes "A shabby interior and bad odors can wreck a good casino!";
+ next;
+ mes "[Loyar]";
+ mes "The Comodo Casino is the best... NOTHING can beat it! The interior design might even change the mood of a sensitive player.";
+ mes "Isn't it great?!";
+ close;
+}
+
+//=============================================================
+cmd_in02.gat,73,81,4 script Martine 48,{
+ set @temp, 2;
+ mes "[Martine]";
+ mes "Gambling? Oh no, it's NOT gambling! Don't say that the Comodo 'CASINO' houses gambling.....";
+ emotion 0;
+ next;
+ mes "[Martine]";
+ mes "We provide some of the greatest 'GAMES' in the world. It's much more of a sophisticated form of 'GAMING' than it is 'GAMBLING'.....";
+ mes "You know what I mean?? (~wink~)";
+ next;
+ mes "[Martine]";
+ mes "What?......... Don't look at me like that!...";
+ emotion 0;
+ next;
+ mes "[Martine]";
+ mes "..... Ok, FINE! I see how it is. I don't care what you think. I've lost all my zeny playing in this casino and I have NO regrets whatsoever!";
+ emotion 7;
+ next;
+ mes "[Martine]";
+ mes "Today's competition is over! I'll have to go to the ^5555FFComodo Dungeon^000000 and kill some monsters to earn back the zeny I lost.";
+ mes "But no worries here cause after I've made some zeny, I'll be right back were I left off!!";
+ next;
+ mes "[Martine]";
+ mes "WOO HOO!! I'm going to have a blast!! HAHAHA!";
+ emotion 29;
+ close;
+}
+
+//=============================================================
+cmd_in02.gat,64,43,4 script Roberto 709,{
+ mes "[Roberto]";
+ mes "Muhahaha... What a stupid man! Now that's easy money! (~counts his money~)";
+ emotion 29;
+ next;
+ mes "[Roberto]";
+ mes "Hey you! What are you looking at!? Get out of here!! What... you've never seen someone count money before??";
+ emotion 1;
+ close;
+}
+
+//=============================================================
+cmd_in02.gat,89,72,4 script Deniroz 89,{
+ mes "[Deniroz]";
+ mes "If the bead falls in this time, I'll hit the JACKPOT!! All I have to do is put this small bead into that little hole.";
+ emotion 0;
+ next;
+ mes "[Deniroz]";
+ mes "Most people give up after a few tries, but not me..... *whispers*(the can of beer in my hand is actually a powerful magnet)...";
+ next;
+ mes "[Deniroz]";
+ mes "Keee hee hee hee!! I'm going to get rich with my secret plan!!";
+ emotion 29;
+ close;
+}
+
+//=============================================================
+cmd_in02.gat,57,62,4 script Casino Manager Moo 109,{
+ mes "[Casino Manager Moo]";
+ mes "I am the manager of Comodo Casino. My name is ^3355FF'Moo'^000000.";
+ next;
+ mes "[Casino Manager Moo]";
+ mes "Here at the Comodo Casino, we strive to serve our customers and accommodate their needs as best we can.";
+ mes "Please let us know if you need anything.";
+ next;
+ mes "[Casino Manager Moo]";
+ mes "This area is for the VIP guest at our Casino. Our VIP program facilitates a more sophisticated level of gaming.";
+ mes "If you're interested in a more easy going gaming environment, I recommend choosing a more general gaming area.";
+ next;
+ mes "[Casino Manager Moo]";
+ mes "We are continually expanding and trying to develop a more enjoyable environment for our guests here so check back with us often.";
+ close;
+}
+
+//====================================================
+cmd_in02.gat,48,55,4 script Scoursege 51,{
+ mes "[Scoursege]";
+ mes "Darn it, where is that guy who borrowed my zeny? He better not be hiding from me, he told me he would double my money!";
+ emotion 19;
+ next;
+ mes "[Scoursege]";
+ mes "He was positive that he could double my money and make a little for himself! Where is he!...";
+ next;
+ mes "[Scoursege]";
+ mes "Have I been scammed!?? On no! What should I do?? My zeny..... (~sob~sob~)";
+ emotion 28;
+ close;
+}
+
+
+
+//============================================================================//
+// Chief Quest (Doomed Swords Part 1)
+//============================================================================//
+//=======================================================
+comodo.gat,206,310,4 script Rochito 48,{
+ if(dmdswrd_Q == 1) goto L_1;
+ if(dmdswrd_Q == 2) goto L_2;
+ if(dmdswrd_Q == 3) goto sL_2;
+ if(dmdswrd_Q == 4) goto L_3;
+ if(dmdswrd_Q == 5 || dmdswrd_Q == 6) goto sL_3;
+L_0:
+ mes "[Rochito]";
+ mes "Meat, meat, meat... I LOVE MEAT!! Eat, eat, eat... ALL I eat is MEAT!! I'm sooo obsessed with meat..... I'm... I.. I... I'm a MEAT MAN!!";
+ emotion 3;
+ next;
+ mes "[Rochito]";
+ mes "Comodo is meat heaven!! That's why BBQ camping in Comodo is sooooo AWESOME!!!";
+ next;
+ menu "Tell me more about BBQ Camping.",M_0, "End Conversation.",M_End;
+
+ M_0:
+ mes "[Rochito]";
+ mes "The Komodoru, a native animal of Comodo, is famous because of it's delicious meat. Every part of the animal is tasty.";
+ mes "However the tastiest part of the Komodoru, is the area around the spine. It's number one!";
+ emotion 21;
+ next;
+ mes "[Rochito]";
+ mes "Look at all of this meat in front of me! I don't know what to do with all of this meat! What should I do?? Oh no!...";
+ emotion 19;
+ next;
+ mes "[Rochito]";
+ mes "Oh, I almost forgot!! You must try this Komodoru spine meat with Comodo's authentic BBQ seasoning.";
+ mes "^5555FFKoserahserah^000000 is the name of the seasoning, and you should at least try it once before you leave.";
+ next;
+ mes "[Rochito]";
+ mes "There is a rumor going around this camp ground that Koserahserah is soooo good that it might be addictive.";
+ mes "It's possible that it may even cause a slight euphoria in those who try it.";
+ next;
+ mes "[Rochito]";
+ mes "I'm not sure if that's true, but I do not that the seasoning is not allowed to be exported outside of Comodo.";
+ mes "Luckily I'm a resident here so I can have as much as I want.";
+ next;
+ mes "[Rochito]";
+ mes "Still, the authorities are worried about how Koserahserah should be regulated.";
+ mes "The ^5555FFChief of Comodo^000000 is currently working on a some guidelines for it.";
+ if(dmdswrd_Q == 0) set dmdswrd_Q, 1;
+ close;
+ M_End:
+ close;
+
+L_1:
+ mes "[Rochito]";
+ mes "This Komodoru spine meat is delicious when seasoned with ^5555FFKoserahseah^000000, a local flavoring that is the pride of Comodo!!";
+ mes "Would you like to try some?";
+ next;
+ mes "[Rochito]";
+ mes "Oh, are you looking for the ^5555FFChief's^000000 house? Just go west of this camp ground to the village. You'll find his house there.";
+ close;
+
+L_2:
+ mes "[Rochito]";
+ mes "We have a lot of time left on our vacation and I think we should spend the rest of it here, enjoying the Komodoru meat.";
+ next;
+ mes "[Rochito]";
+ mes "In fact, we should just keep on having BBQ parties!";
+ next;
+ mes "^5533FF~ gave Rochito the Koserahserah ~^000000";
+ next;
+ mes "[Rochito]";
+ mes "Oh my!! This is the special Comodo seasoning.... Koserahserah!! How did you manage to get this precious delicacy?";
+ emotion 0;
+ next;
+ mes "[Rochito]";
+ mes "Oh... I see, I see. So it was given to you by my long time friend. Well, thank you so much.... thank you...";
+ emotion 15;
+ next;
+ mes "[Rochito]";
+ mes "Hey everybody! Tausupa has sent us some Koserahserah seasoning!!";
+ next;
+ mes "[Emralhandas]";
+ mes "Our old friend?";
+ next;
+ mes "[Rochito]";
+ mes "I don't know if we should take such a great gift....";
+ next;
+ mes "[Rockha]";
+ mes ".........................";
+ next;
+ mes "[Rochito]";
+ mes "We should give him something in return as a thank you. But what can we give him?...";
+ mes "should we give him that wonderful ^5555FFWine^000000 we've been saving? It has a very nice aroma....";
+ next;
+ mes "[Rochito]";
+ mes "May I ask a favor of you? If it is not too much trouble, would you take this to our dear friend.....";
+ mes "I would deliver this in person but I'm a little busy with the BBQ and all.....";
+ next;
+ mes "[Rochito]";
+ mes "Please. We would be very grateful if you could give this to him.";
+ next;
+ mes "^5555FF~ received 'Mureuchieligu Wine' ~^000000";
+ set dmdswrd_Q, 3;
+ close;
+
+ sL_2:
+ mes "[Rochito]";
+ mes "Please do us a favor and deliver the wine to the chief. We would be very happy if you did.";
+ close;
+
+L_3:
+ mes "[Rochito]";
+ mes "You've returned..... Oh! Thank you for the delivering the wine for us.";
+ emotion 15;
+ set dmdswrd_Q, 5;
+ next;
+
+ sL_3:
+ mes "[Rochito]";
+ mes "We are very proud of our courageous friend. It is because of him that we can live peacefully and travel safely.";
+ next;
+ mes "[Rochito]";
+ mes "Oh, I just remembered something....";
+ mes "We've been talking about Comodo's famous meat all this time, and I didn't even mention Comodo's world famous ^5555FFCheese^000000!";
+ next;
+ mes "[Rochito]";
+ mes "I believe there is a cheese expert named ^5533FFTORUNA^000000 somewhere on this island.";
+ mes "If your interested in the cheese you should go ask him about it.";
+ if(dmdswrd_Q == 5) set dmdswrd_Q, 6;
+ close;
+
+
+}
+
+//=======================================================
+comodo.gat,204,310,4 script Rockha 98,{
+ if(dmdswrd_Q == 3) goto L_1;
+ if(dmdswrd_Q == 4 || dmdswrd_Q==5) goto L_2;
+L_0:
+ mes "[Rockha]";
+ mes ". . . . . . . . . .";
+ mes "My friends and I always wanted to have our BBQ eat out.....";
+ mes ". . . . . . . . . .";
+ next;
+ menu "About the ^3355FFChief^000000.",M_0, "End Conversation.",M_End;
+
+ M_0:
+ mes "[Rockha]";
+ mes "Yeah... I recently discovered that a friend I thought I lost during the ^FF4444'War with the Witch'^000000, is still alive.";
+ mes "Now he's the ^5555FFChief of Comodo^000000....";
+ next;
+ mes "[Rockha]";
+ mes "At the end of the war the witch was defeated and sealed in the ground beneath this village.";
+ next;
+ mes "[Rockha]";
+ mes "It is rumored that the seasonings we get from our local plants somehow receive their unique qualities from the Witch's magical influence.";
+ next;
+ mes "[Rockha]";
+ mes "Although my friend and I now live in different worlds, his new life hasn't changed him.";
+ mes "Thankfully we can still be friends after all that's happened.";
+ close;
+
+L_1:
+ mes "[Rockha]";
+ mes "Oh, and by the way.... Could you give him this message as well?";
+ mes "Tell him, 'For as long as you have remembered us, we will not forget you. Friends forever.'.....";
+ close;
+
+L_2:
+ mes "[Rockha]";
+ mes "Ha ha ha..... aaaahhh.... THIS is FRIENDSHIP!!";
+ emotion 18;
+ next;
+ mes "[Rockha]";
+ mes "Let us take a moment to make a toast to our good friend. Let us eat and drink until we can eat no more!!";
+ next;
+ mes "[Rockha]";
+ mes "~!!Yippeeeeee!!~!!Wooohooooo!!~";
+ close;
+ mes "[Rockha]";
+ mes "Thank you for your assistance. You have shown us that you are truly a good person. We now consider you as a friend.";
+ next;
+ mes "[Rockha]";
+ mes "If you ever need any help, just come and look for me, ^3355FF'Rockha'^000000. We are forever in your debt.";
+ close;
+}
+
+//=======================================================
+comodo.gat,209,314,4 script Rotute 82,{
+ if(dmdswrd_Q==2 || dmdswrd_Q==3) goto L_1;
+ if(dmdswrd_Q == 4 || dmdswrd_Q==5) goto L_2;
+
+L_0:
+ mes "[Rotute]";
+ mes "The quest for the ^5555FFSwords of Power^000000 has not yet been completed!";
+ next;
+ mes "[Rotute]";
+ mes "Although four of the swords have been recovered by our team, there are rumors of a more powerful sword near ^5555FFGlastheim^000000.";
+ mes "This has brought us yet another challenge.....";
+ next;
+ mes "[Rotute]";
+ mes "We must find this new sword!! A new expedition has been planned to find this sword but I feel very anxious.";
+ mes "If we succeed this will affect the whole world!! For my deceased father.....";
+ next;
+ mes "[Rotute]";
+ mes "...... We MUST SUCCEED!!!!";
+ emotion 27;
+ close;
+
+L_1:
+ mes "[Rotute]";
+ mes "Wow!! This is Comodo's famous seasoning!! The Captain's friend is truly a good person. To be this generous is unbelievable!";
+ emotion 0;
+ next;
+ mes "[Rotute]";
+ mes "I can only hope that I find a friend that is as loyal as he on this quest.....";
+ close;
+
+L_2:
+ mes "[Rotute]";
+ mes "It's strange.... this is only my first visit to Comodo and yet.... for some reason, it seems so familiar... like it's my home town.";
+ next;
+ mes "[Rotute]";
+ mes "When this journey is over, I hope to visit this wonderful place again..... It feels like something is waiting for me here.";
+ next;
+ mes "[Rotute]";
+ mes "Oh, and thanks so much for helping our captain.";
+ emotion 15;
+ close;
+}
+
+//=======================================================
+comodo.gat,209,305,4 script Emralhandas 70,{
+ mes "[Emralhandas]";
+ mes "Rockha, empty your glass so I can pour you a drink.";
+ next;
+ mes "[Emralhandas]";
+ mes "Many years ago, during the War with the Witch, we dreamed of the day when we could live in peace.";
+ mes "Today that dream has come true and it's all because of you my friends!!";
+ emotion 21;
+ next;
+ menu "Ask about her friends....",M_0, "End Conversation",M_End;
+
+ M_0:
+ mes "[Emralhandas]";
+ mes "Many years ago, heroes from every region of Rune Midgard were selected to embark upon a very unique and important quest.";
+ next;
+ mes "[Emralhandas]";
+ mes "The goal was to find the ^5555FF4 rare 'Swords of Power'^000000!";
+ mes "These 4 swords were said to be the most powerful weapons to have ever been made.";
+ next;
+ mes "[Emralhandas]";
+ mes "After 10 hard years of searching, all 4 swords were found and brought together.";
+ mes "Out of all of those who searched the swords, the four bravest were chosen to protect them.";
+ next;
+ mes "[Emralhandas]";
+ mes "I, Emralhandas, was one of the four that were chosen.";
+ next;
+ mes "[Emralhandas]";
+ mes "Of course there were many hardships that we had to endure before, and even after these swords were found........";
+ next;
+ mes "[Emralhandas]";
+ mes "Our team of adventures consisted of myself, our ship's captain 'Rockha', our comrade 'Rochito', and the Chief of this town, 'Tausupa'.";
+ next;
+ mes "[Emralhandas]";
+ mes "We had found the last sword and headed back to the island. Up to this point we had not even thought about the weapon's owner.";
+ mes "As we left we began to have a bad feeling about what was going to happen next.";
+ next;
+ mes "[Emralhandas]";
+ mes "When we returned to the island, we were confronted by ^790079'Mariposum'^000000, a powerful Witch who practiced the dark art of EVIL magic!!";
+ next;
+ mes "[Emralhandas]";
+ mes "Her goal was to take over the world and plunge into a dark chaos!! We had to defend not only ourselves, but the future of humanity!!";
+ mes "So it was here that me made our stand against this terrible evil!";
+ emotion 0;
+ next;
+ mes "[Emralhandas]";
+ mes "A tremendous battle took place and many of our comrades fell that day... but their efforts were not in vain.";
+ next;
+ mes "[Emralhandas]";
+ mes "With bloodshed and fierce determination we were able to defeat the witch and imprison her beneath the earth.";
+ next;
+ mes "[Emralhandas]";
+ mes "Of all of those who risked their lives that day, one stood out amongst the rest and became the deciding factor in the witch's defeat.....";
+ next;
+ mes "[Emralhandas]";
+ mes "It was ^5555FFTausupa^000000.";
+ next;
+ mes "[Emralhandas]";
+ mes "Of course we are great full to all the brave warriors who fought and lost their lives that day.";
+ mes "Especially to 'Rotute's' father who cannot be with us today, may he rest in peace.";
+ next;
+ mes "[Emralhandas]";
+ mes "Rotute does not know about this yet, but hopefully he will find out about his father's heroism before this quest is complete......";
+ close;
+ M_End:
+ mes "[Emralhandas]";
+ mes "Our quest has not yet been completed. Rockha, we must eat all of the meat in Rune Midgard until there is none left!!";
+ mes "We must eat and eat, for the pride of our Meat Club!!! (~hiccup~)";
+ close;
+}
+
+
+// Chief's House =========================================================//
+cmd_in02.gat,32,140,4 script Chief Tausupa 49,{
+ if(dmdswrd_Q == 1) goto L_1;
+ if(dmdswrd_Q == 2) goto sL_1;
+ if(dmdswrd_Q == 3) goto L_2;
+ if(dmdswrd_Q == 4) goto sL_2;
+
+L_0:
+ mes "[Chief Tausupa]";
+ mes "Hello, I am the Chief of Comodo. You may call me Tausupa. Comodo is a place of pleasure, enjoyment, love, and beauty.";
+ mes "Welcome, and have a pleasant and relaxing stay here.";
+ next;
+ menu "Ask about the ^5555FFCasino^000000.",M_0, "Ask about the ^790079Evil Witch^000000.",M_1, "End Conversation.",M_End;
+
+ M_0:
+ mes "[Chief Tausupa]";
+ mes "The Casino is one of the many notable sites in Comodo. It would seem that you have some interest in it.";
+ mes "The Casino uses it's own currency, a coin called the ^5555FF'Eulwo'^000000.";
+ next;
+ mes "[Chief Tausupa]";
+ mes "There are a variety of games for you to enjoy there.";
+ mes "The earnings you win can be used to purchase different items available only in the Casino.";
+ next;
+ mes "[Chief Tausupa]";
+ mes "These earnings, which are in the form of Eulwo, cannot be exchanged for Zeny though.";
+ close;
+ M_1:
+ mes "[Chief Tausupa]";
+ mes ". . . . . . . . . .";
+ mes "You must be from out of town. I'm not sure where you heard about it, but that story is old and most people have forgotten about it.";
+ mes "It's really not worth mentioning. . . . . . . . . . . .";
+ close;
+ M_End:
+ mes "[Chief Tausupa]";
+ mes "If you haven't noticed, Comodo is located inside of a huge, natural, cave. No matter what time of day it is, you'll never see the sunlight.";
+ next;
+ mes "[Chief Tausupa]";
+ mes "It is this unique 24 hour nightlife that attracts so many tourist to our town. Anyways, please enjoy your stay here.";
+ close;
+
+L_1:
+ mes "[Tausupa]";
+ mes "..... Is that so? My long time friends have come back to Comodo and are at the Camp Grounds enjoying the BBQ huh?.......";
+ next;
+ mes "[Tausupa]";
+ mes "It would seem that they are planning another expedition........";
+ next;
+ mes "[Tausupa]";
+ mes "I have not seen my friends in a long time and the sound of going on another adventure with them is very exciting.... however......";
+ next;
+ mes "[Tausupa]";
+ mes "~sigh~ Unfortunately I will not be able to go with them. I fear that if I leave, the evil witch will revive and wreak havoc on this world once again.";
+ next;
+ mes "[Tausupa]";
+ mes "..... I have a favor I must ask of you.......";
+ next;
+ mes "[Tausupa]";
+ mes "Can you take this special seasoning to my friends?";
+ next;
+ mes "^5555FF~ recieved Koserahserah ~^000000";
+ set dmdswrd_Q, 2;
+ next;
+
+ sL_1:
+ mes "[Chief Tausupa]";
+ mes "Please take this seasoning to my friends at the BBQ camp grounds and give it to ^5555FFRochito^000000. Thank you.";
+ close;
+
+L_2:
+ mes "[Chief Tausupa]";
+ mes "Were my friends happy? After you left, I had some time to think..... I should have delivered the seasoning personally......";
+ mes "I should have gone to see them......";
+ next;
+ mes "[Chief Tausupa]";
+ mes "But I am much too busy as the Chief of Comodo........ Maybe I should quit...........";
+ mes "I really want to go on another quest with my good friends.... How did I end up like this?";
+ next;
+ mes "^5555FF~ you give him Mureuchieligu Wine and convey the message ~^000000";
+ next;
+ mes "[Chief Tausupa]";
+ mes "..................";
+ next;
+ mes "[Chief Tausupa]";
+ mes "That was a message from my friends? I think I understand now.... My friends are TRUE friends. They have been thinking of me all this time........";
+ next;
+ mes "[Chief Tausupa]";
+ mes "I have made up my mind!";
+ emotion 5;
+ next;
+ mes "[Chief Tausupa]";
+ mes "Mureuchieligu Wine is made as soon as the grapes are picked. It is then bottled in the very same place and is left there to age.";
+ mes "The wine spends the rest of its days aging in the same spot.";
+ next;
+ mes "[Chief Tausupa]";
+ mes "Much like the wine, I have been aging away in the same place here in Comodo, and I must continue to stay here for it is my duty.";
+ next;
+ mes "[Chief Tausupa]";
+ mes "I am thankful for my friends' advice. The gift they gave me had a great deal of meaning.";
+ mes "Please tell my friends this, 'I will not avoid my destiny. On the contrary, I will fulfill it to the best of my ability'.";
+ set dmdswrd_Q, 4;
+ next;
+
+ sL_2:
+ mes "[Chief Tausupa]";
+ mes "I would like to thank you for helping my friends and I. I am truly great full.";
+ close;
+}
+
+
+
+//============================================================================//
+// Cheese Quest (Doomed Swords Part 2)
+//============================================================================//
+
+//=======================================================
+comodo.gat,88,97,4 script Cheese Expert TORUNA 109,{
+ if(dmdswrd_Q == 7) goto sL_2;
+ mes "[TORUNA]";
+ mes "I hear that the cheese here is delicious. Every time I come here to visit, I ask for some of that popular cheese.";
+ mes "But they always seem to be out! If I could just get a taste of that cheese...........";
+M_Menu:
+ next;
+ menu "Ask about the cave.",M_0, "Comodo is a town inside a cave?",M_1, "End Conversation.",M_End;
+
+ M_0:
+ mes "[TORUNA]";
+ mes "It is a natural formation of limestone which was shaped by the erosive powers of fresh water with sea water.";
+ next;
+ mes "[TORUNA]";
+ mes "The air and topsoil in the cave are rich in carbon-dioxide gas.";
+ mes "This was caused by C02 gas leaking into the cave through cracks in the limestone over a period of many years.";
+ next;
+ mes "[TORUNA]";
+ mes "Water from rainfall and ocean currents slowly eroded the limestone to carve out the cave.";
+ next;
+ mes "[TORUNA]";
+ mes "Essentially a cave is formed when water finds cracks in some type of rock formation and erodes the rock to a point where a cave is formed.";
+ mes "Of course this takes hundreds of years and a lot of water.";
+ goto M_Menu;
+ M_1:
+ mes "[TORUNA]";
+ mes "Yep. What you see here is really the inside of a gigantic cave.";
+ mes "Most people don't realize this at first, and that's thanks to all of the towns people's hard work and dedication.";
+ next;
+ mes "[TORUNA]";
+ mes "The people who settled here were very industrious and worked diligently to turn this cave into a place that they could call home.";
+ next;
+ mes "[TORUNA]";
+ mes "They slowly chipped away at the limestone surfaces, to shape the interior of the cave into something much more eye pleasing.";
+ mes "It was from these humble beginnings that the Comodo you see today, was founded.";
+ next;
+ if(dmdswrd_Q == 6) goto sL_1;
+
+ mes "[TORUNA]";
+ mes "Unfortunately that is only half the story.";
+ next;
+ mes "[TORUNA]";
+ mes "The early settlers faced an even greater challenge when the ^790079Evil Witch, Meropusum^000000, arrived.";
+ mes "She was determined to rule the world, and used the newly founded town of Comodo as her staging ground.";
+ next;
+ mes "[TORUNA]";
+ mes "Led by a group of strong heroes, the town fought back against the witch and sealed her away. Many lives were lost in this war however.";
+ next;
+ mes "[TORUNA]";
+ mes "The strongest of the heroes was chosen as the town's new leader, and under his leadership the town prospered.";
+ next;
+ mes "[TORUNA]";
+ mes "Be aware though, that Meropusom is still alive. Although she has been sealed away, her evil powers can still be felt.";
+ mes "Her minions still lurks in the shadows awaiting their master's return.";
+ next;
+ mes "[TORUNA]";
+ mes "So be cautious when venturing into the unknown parts of Comodo. Anyway, so long and take care.";
+ goto M_Menu;
+
+ sL_1:
+ mes "[TORUNA]";
+ mes "Not only has this cave become a home for the people of Comodo, but it's unique environment has also helped in creating....";
+ next;
+ mes "[TORUNA]";
+ mes "The world famous..... Comodo ^5533FFCheese^000000!!!";
+ emotion 5;
+ next;
+ mes "[TORUNA]";
+ mes "This special Cheese is simply DELICIOUS! You will understand how good the Cheese is once you try it.";
+ emotion 14;
+ set dmdswrd_Q, 7;
+ next;
+ sL_2:
+ mes "[TORUNA]";
+ mes "You should go speak with the people at the ^009500Outdoor Bar^000000 near the camp grounds.";
+ mes "I heard them talking about the ^5533FFCheese^000000, it is so popular.";
+ close;
+ M_End:
+ mes "[TORUNA]";
+ mes "The taste of Comodo Cheese is simply out of this world!! Just one taste and I guarantee that you won't be able to stop!";
+ mes "It's so good you may even go GRAZY without it!";
+ emotion 3;
+ next;
+ mes "[TORUNA]";
+ mes "Oh if I could just have one piece.... I'd be so happy I'd dance all night on that ^5555FFHula Dancing Stage^000000!!";
+ close;
+}
+
+//=======================================================
+comodo.gat,164,291,2 script Rakusa 73,{
+ if(dmdswrd_Q == 7) goto L_1;
+ if(dmdswrd_Q == 8) goto L_2;
+
+ mes "[Rakusa]";
+ mes "Comodo is often referred to as the town of 'recreation and relaxation'.......";
+ next;
+ mes "[Rakusa]";
+ mes "This can be misleading however, for Comodo is not only the home of fun tourist attractions, but two very ^FF4444dangerous dungeons^000000 as well.";
+ next;
+ mes "[Rakusa]";
+ mes "This area has unusually strong monsters. If you plan on entering the dungeons, be very well prepared and expect trouble.";
+ mes "These dungeons are definitely not for the faint of heart!";
+ close;
+L_1:
+ mes "[Rakusa]";
+ mes "That man sitting over there simply won't stop talking about that Comodo ^3355FF'Cheese'^000000.........";
+ next;
+ mes "[Rakusa]";
+ mes "I just can't stop wondering about what kind of Cheese it is. I sure hope I will have the opportunity to try it someday.";
+ set dmdswrd_Q, 8;
+ next;
+L_2:
+ mes "[Rakusa]";
+ mes "It looks like ^5533FFKichiri^000000 isn't as interested in the Cheese as that other man is though...... actually he looks rather annoyed.........";
+ next;
+ mes "[Rakusa]";
+ mes "Someone should check on Kichiri and make sure everything is all right......";
+ close;
+}
+
+//=======================================================
+comodo.gat,169,284,4 script Kichiri 99,{
+ mes "[Kichiri]";
+ if(dmdswrd_Q == 8) goto L_1;
+ if(dmdswrd_Q == 9) goto L_2;
+
+ mes "In the heart of Comodo lies a performance stage. It's where a number of crazed residents put on shows for the tourists that come to visit.";
+ mes "The shows are so popular that some tourist even come back to Comodo to see them again.";
+ next;
+ mes "[Kichiri]";
+ mes "Many of the residents just dance and dance without much skill.";
+ mes "But for the few who show some talent, there is the possibility of being recruited by the local ^5555FFDancers Guild^000000.";
+ close;
+L_1:
+ mes "The guy sitting near me just won't stop talking about Comodo ^5533FFCheese^000000...... It's going to drive me insane!";
+ emotion 32;
+ next;
+ mes "[Kichiri]";
+ mes "Yeah, right over there, the guy named ^3355FFMagatu^000000. Can you do something about it?";
+ set dmdswrd_Q, 9;
+ close;
+L_2:
+ mes "I just want to have a quit time and have a few drinks, is this too much to ask for?";
+ mes "Stupid drunk ^3355FF' Magatu '^000000..... always talking about ^5533FFCheese^000000......";
+ emotion 7;
+ close;
+}
+
+//=======================================================
+comodo.gat,163,280,4 script Magatu 55,{
+ mes "[Magatu]";
+ if(dmdswrd_Q == 9) goto L_1;
+ if(dmdswrd_Q == 10) goto L_2;
+
+ mes "Yes! That's it!! The irresistible smell of that amazing ^5533FFCheese^000000!! It's so delicious!.... Oh, I can't wait any longer......";
+ emotion 3;
+ next;
+ mes "[Magatu]";
+ mes "No matter what anyone else says..... Comodo Cheese is truly the BEST!!! Kekekeke!!";
+ emotion 21;
+ next;
+ mes "[Magatu]";
+ mes "Cheese! CHEESE!! WONDERFULL Comodo CHEESE!!!.... so.... tas... ty.... (~drooools~)";
+ emotion 3;
+ close;
+L_1:
+ mes "What? You want to know some information regarding Comodo's special ^5533FFCheese^000000?";
+ mes "I guess I could give you some inside information............";
+ emotion 1;
+ next;
+ mes "[Magatu]";
+ mes "Okay, go to the ^009500Casino^000000 and look for a guy named ^5533FFManzi^000000. He should be somewhere on the first floor.";
+ mes "He's got a huge scar on his face so he should be easy to spot.";
+ next;
+ mes "[Magatu]";
+ mes "When you see him give him this Bottle Cap. Don't do anything else, just give him the bottle cap and he will give you some info on the Cheese....";
+ next;
+ mes "^3355FF- Received a Bottle Cap -^000000";
+ set dmdswrd_Q, 10;
+ close;
+L_2:
+ mes "Oh yeah, I got to tell you my friend's name.....";
+ next;
+ mes "[Magatu]";
+ mes "O? I already told you? Bah, I am so drunk....... ^5533FFManzi^000000... He’s in the ^009500Casino^000000, got it?";
+ emotion 20;
+ close;
+}
+
+//======================================================
+cmd_in02.gat,189,99,4 script Manzi 85,{
+ if(dmdswrd_Q == 10) goto L_1;
+ if(dmdswrd_Q == 11) goto L_2;
+ if(BaseJob == Job_Novice) goto L_Nov;
+
+ mes "[Manzi]";
+ mes "There have been some people who've bet too much and have lost their pecopeco and many other precious items.";
+ mes "So be careful when you make your bets..... you might just loose the shirt off your back.......";
+ close;
+
+ L_Nov:
+ mes "[Manzi]";
+ mes "Stop bothering me you little kid. This place is for adults only, get out of here.";
+ close;
+L_1:
+ mes "[Manzi]";
+ mes "Yes?..........";
+ next;
+ mes "^3355FF- You give him the Bottle Cap-^000000";
+ next;
+ mes "[Manzi]";
+ mes "..........................";
+ next;
+ mes "[Mazi]";
+ mes "Whoa! This is from my friend Magatu, you must be someone of great importance to him.";
+ mes "Otherwise, he wouldn't have given you the Bottle Cap.";
+ emotion 5;
+ next;
+ mes "[Manzi]";
+ mes "I made a promise to Magatu that I'd help anybody who had one of his bottle caps find out more about the ^5533FFCheese^000000.........";
+ next;
+ mes "[Manzi]";
+ mes "Only a selected few get the rare opportunity to taste the legendary Comodo Cheese you know.";
+ next;
+ mes "[Manzi]";
+ mes "Well, I guess you could find out more about Comodo Cheese from a lady near the ^3355FF 'Hulla Stage' ^000000 located near the center of town.";
+ next;
+ mes "^3355FF- Received Shiny Coin -^000000";
+ next;
+ mes "[Manzi]";
+ mes "Just tell her that Manzi from the casino sent you and show her that coin. She'll tell you all you need to know about the Cheese.";
+ next;
+ mes "[Manzi]";
+ mes "By the way......... no else is listening this right?....... *whispers: that lady is actually in charge of the Comodo Cheese distribution*...........";
+ set dmdswrd_Q, 11;
+ close;
+L_2:
+ mes "[Manzi]";
+ mes "The cheese lady should be near the ^5533FFHulla Stage^000000. Just remember to show her the coin when you ask her about the cheese.";
+ close;
+}
+
+//=======================================================
+comodo.gat,187,153,4 script Hullaris 701,{
+ mes "[Hullaris]";
+ if(dmdswrd_Q == 11) goto L_1;
+ if(dmdswrd_Q == 12) goto L_2;
+ if(dmdswrd_Q == 13) goto L_3;
+ if(dmdswrd_Q == 14) goto L_4;
+
+ mes "Hula Dance? Who says it's merely a hula dance?? It is much more than just some dance.";
+ mes "To refer to Comodo's unique form of dancing as simply a hula dance, is just insulting!";
+ emotion 6;
+ next;
+ mes "[Hullaris]";
+ mes "The Comodo Hula Dance was developed long ago. Legend has it that the dance was used to control the minds and bodies of others!";
+ mes "Hula 'dance'?.... More like Hula 'communication'......";
+ next;
+ mes "[Hullaris]";
+ mes "This form of 'communication' was capable of not only changing a persons mood, but of controlling a persons mind as well!";
+ next;
+ mes "[Hullaris]";
+ mes "Hehehehehe...... If anyone can dance better than me.... LET EM COME OUT!! It is more than just dancing..........";
+ mes "It is a form of 'COMMUNICATION'!!!";
+ emotion 29;
+ close;
+
+L_1:
+ mes "Ah, such a great day...........";
+ next;
+ menu "Show her the Shiny Coin",-,"Don't show her the coin, but continue talking",M_End;
+
+ mes "^3355FF- Shows lady the Shiny Coin -^000000";
+ next;
+ mes "[Hullaris]";
+ mes "Hmm, that coin.... How did you know to come and look for me? Ah, I got it. Manzi must have told you about me.";
+ emotion 20;
+ next;
+ mes "[Hullaris]";
+ mes "I presume you are also interested in the famous Comodo ^5533FFCheese^000000.";
+ mes "Well you've come to the right place because you're talking to a real expert.";
+ next;
+ mes "[Hullaris]";
+ mes "And let me tell you something about how rare Comodo Cheese is.......";
+ mes "Some people will NEVER get to taste it in their entire lifetime.....";
+ next;
+ mes "[Hullaris]";
+ mes "Before I go any further, I will need to clear up some of the misconceptions you may have about Comodo Cheese.";
+ next;
+ mes "[Hullaris]";
+ mes "In reality, Comodo Cheese is NOT actually a cheese. It is actually a very powerful enchanted magical stone, know as.........";
+ mes "The ^3355FFStone of Awakening^000000.";
+ next;
+ mes "[Hullaris]";
+ mes "Because of the similarities in shape, form, and color, between the two, people have mistaken the stone to be cheese.";
+ next;
+ mes "[Hullaris]";
+ mes "Legend has it that the user of the Stone of Awakening, could gain great knowledge and power much faster than normal people.";
+ next;
+ mes "[Hullaris]";
+ mes "Many Wizards and Mages in the past have grown very powerful in very short time after consuming the Stone of Awakening.";
+ next;
+ mes "[Hullaris]";
+ mes "Therefore, even though my close friend told you to come to me, I cannot just give you this rare item.";
+ next;
+ mes "[Hullaris]";
+ mes "I am very sorry about this, but you will need to prove to me somehow that you are worthy of this stone.";
+ next;
+ mes "[Hullaris]";
+ goto L_2;
+
+ M_End:
+ mes "[Hullaris]";
+ mes "Hey! Don't look at me like that, get out of here!";
+ emotion 0;
+ close;
+
+L_2:
+ mes "Some sort of ^5533FFProof of Worthiness^000000 could be obtained through the wizard ^5533FF'Nigirboran'^000000.";
+ mes "He is usually inside of the ^009500East Comodo Dungeon^000000.";
+ next;
+ mes "[Hullaris]";
+ mes "Just tell Nigirboran everything I have told you and he will judge whether or not you are worthy of the Stone of Awakening.";
+ mes "Best of luck to you.";
+ set dmdswrd_Q, 12;
+ close;
+L_3:
+ mes "Your back........ do you have the ^5533FFProof of Worthiness^000000?";
+ mes "I cannot give you the Stone of Awakening if you have not passed the test.";
+ close;
+L_4:
+ mes "How did the test go?";
+ next;
+ mes "^3355FF~ Shows Hullaris ~^000000";
+ mes "^3355FF~ Proof of Worthiness ~^000000";
+ next;
+ mes "[Hullaris]";
+ mes "Ah, you did it! I knew you would pass the test. No I mean it.";
+ mes "There was something about you that gave me confidence in your abilities.";
+ next;
+ mes "[Hullaris]";
+ mes "Anyway, here is the Stone of Awakening as promised.........";
+ next;
+ mes "^3355FF~ you received the Stone of Awakening ~^000000";
+ mes "^3355FF~ you quickly eat it. . . . . ~^000000";
+ next;
+ mes "^3355FF~ Munch . .Munch . . ~^000000";
+ next;
+ mes "^3355FF~ Tastes like some sort of mushroom... ~^000000";
+ mes "^3355FF~ it is somewhat sour... ~^000000";
+ next;
+ mes "^3355FF~ somehow you feel more confident... ~^000000";
+ mes "^3355FF~ and more courageous now! ~^000000";
+ next;
+ mes "[Hullaris]";
+ mes "What do you think? The taste and smell are indescribable huh? From the way you look I can tell that it was worth the effort to find.";
+ next;
+ mes "[Hullaris]";
+ mes "You are now one of the few who have been privileged enough to taste Comodo's special 'Cheese', heh heh heh.....";
+ mes "Well have fun here in Comodo.";
+ set dmdswrd_Q,15;
+ close;
+}
+
+//=========================================================
+beach_dun3.gat,30,220,4 script Wizard Nigirboran 704,{
+ mes "[Nigirboran]";
+ if(dmdswrd_Q == 12) goto L_1;
+ if(dmdswrd_Q == 13) goto L_2;
+ if(dmdswrd_Q == 14) goto L_3;
+ if(dmdswrd_Q == 15) goto L_4;
+
+ mes ". . . . . . . . . . . . . . .";
+ next;
+ mes "[Nigirboran]";
+ mes "I am Nigirboran, a Wizard in training...";
+ next;
+ mes "[Nigirboran]";
+ mes "If you don't have anything to say, please do not bother me, I am very busy.";
+ close;
+
+L_1:
+ mes ". . . . . Hmm. . . . . .";
+ next;
+ mes "[Nigirboran]";
+ mes "Hullaris told you to come didn't she? Let me introduce myself. I am Nigirboran, a Wizard in training.";
+ next;
+ mes "[Nigirboran]";
+ mes "It is true that Comodo ^5533FFCheese^000000 is actually the ^5533FF'Stone of Awakening' or the 'Stone of Wisdom'^000000.";
+ mes "It's unfortunate that so many people think of this great stone as nothing more than a tasty snack.";
+ next;
+ mes "[Nigirboran]";
+ mes "A long time ago, real Comodo cheese was actually made from Payon's poisonous mushrooms, Aldebaran's singing plants, and Morroc's cactus juice.";
+ next;
+ mes "[Nigirboran]";
+ mes "The cheese was aged for a minimum of 3 years before it could be eaten. If anyone ate the cheese before it had a chance to properly age....";
+ next;
+ mes "[Nigirboran]";
+ mes "The posion and magic from the cheese would melt their insides instantly............";
+ next;
+ mes "[Nigirboran]";
+ mes "That's why Hullaris sent you here. She wants to see if you can withstand those strong poisons.";
+ next;
+ mes "[Nigirboran]";
+ mes "Are you willing to risk your life just to prove yourself to Hullaris?";
+ next;
+ menu "Sure, why not.",-, "...... Uh... no....",M_End;
+
+ set dmdswrd_Q, 13;
+ mes "[Nigirboran]";
+ goto L_2;
+
+ M_End:
+ mes "[Nigirboran]";
+ mes "Very well then.";
+ close;
+L_2:
+ mes "Very good, then let us begin the test.";
+ percentheal 100, 100;
+ next;
+ mes "[Nigirboran]";
+ mes "You will be given some real Comodo cheese to eat. If you are strong enough you will have no problems with the cheese.";
+ next;
+ mes "[Nigirboran]";
+ mes "If you start to feel noxious and start having hallucinations, that means you have succumb to the poison and are not worthy of the Stone of Awakening.";
+ next;
+ mes "[Nigirboran]";
+ mes "Ready?";
+ next;
+ mes "^3355FF~ you are given a piece of funky cheese ~";
+ mes ". . . . . . . . . . . . .^000000";
+ next;
+ mes "^3355FF~ you are given a piece of funky cheese ~";
+ mes ". . . . . . . . . . . . .";
+ mes "~ you swallow it ~";
+ mes ". . . . . . . . . . . . .^000000";
+ next;
+ mes "^3355FF~ you are given a piece of funky cheese ~";
+ mes ". . . . . . . . . . . . .";
+ mes "~ you swallow it ~";
+ mes ". . . . . . . . . . . . .";
+ mes "~ it tastes nasty!!! ~^000000";
+ next;
+ mes "^3355FF~ your body is overcome with a wave of heat ~";
+ mes "~ you feel the poison racing through your body ~^000000";
+ sc_start SC_Poison,900000,1;
+ next;
+ mes "^5533FF. . . . . . . . . . . . . . .^000000";
+ next;
+ sc_end SC_Poison;
+ if(BaseLevel < 25) goto L_LowLvl;
+ set @TEMP, rand(3);
+ if(@TEMP == 2) goto R_2;
+ if(@TEMP == 1) goto R_1;
+
+ R_0:
+ mes "^3355FF~ your body seems fine but.....but...but.... ~^000000";
+ next;
+ mes "^3355FF~ your body seems fine but.....but...but.... ~";
+ mes "~ You see pink elephants everywhere!! ~^000000";
+ next;
+ mes "[Nigirboran]";
+ mes "Tsk tsk. Although your body didn't seem to have any ill effects from the poison.... your mind was not as fortunate.";
+ next;
+ mes "[Nigirboran]";
+ mes "Hahaha... pink elephants.... reminds me of a bad acid trip I once had... er..... forget what I just said.";
+ emotion 18;
+ next;
+ mes "[Nigirboran]";
+ mes "If you cannot handle a little piece of cheese, there is absolutely no way you will be able to handle the Stone of Awakening.";
+ next;
+ mes "[Nigirboran]";
+ mes "If you feel up to it, you may try again later. The fact that you're still alive is a good sign.";
+ close;
+ R_1:
+ mes "^3355FF~ now you feel extremely cold and dizzy.... ~";
+ mes "~ your body feels weak and you are getting drowsy.... ~^000000";
+ sc_start SC_Sleep,900000,1;
+ next;
+ mes "[Nigirboran]";
+ mes "Hmm.... well the good news is you didn't have any hallucinations. Your body however, reacted poorly and you fell asleep.";
+ sc_end SC_Sleep;
+ next;
+ mes "[Nigirboran]";
+ mes "If you cannot handle a little piece of cheese, there is absolutely no way you will be able to handle the Stone of Awakening.";
+ next;
+ mes "[Nigirboran]";
+ mes "If you feel up to it, you may try again later. The fact that you're still alive is a good sign.";
+ close;
+ R_2:
+ mes "^3355FF~ you now feel a very strange, soothing sensation........ ~";
+ mes "~ your body feels at ease and your mind is clear... ~^000000";
+ next;
+ mes "[Nigirboran]";
+ mes "Hmm?.... Wow! Now that's rare!! You don't seem to have any ill effects from the posion.";
+ mes "You must be in top shape both mentally and physically.";
+ emotion 5;
+ next;
+ mes "[Nigirboran]";
+ mes "You have proved that you are worthy of the ^5533FFStone of Awakening^000000. Take this.......";
+ next;
+ mes "~ received ^5533FF'Proof of Worthiness'^000000 ~";
+ next;
+ mes "[Nigirboran]";
+ mes "Just show this to Hullaris and she will give you the Stone of Awakening.";
+ set dmdswrd_Q, 14;
+ next;
+ mes "[Nigirboran]";
+ mes "Oh, by the way, why did you choose to look for the Stone in the first place?";
+ next;
+ mes "[Nigirboran]";
+ mes "I surely hope its not because of the temptations of the three Doomed Swords...";
+ mes "....Huh? You don't know what the three Doomed Swords are?";
+ next;
+ mes "[Nigirboran]";
+ mes "Legend has it that the one who wields the three Doomed Swords";
+ mes "^3355FF- Executioner -^000000";
+ mes "^3355FF- Mysteltain-^000000";
+ mes "^3355FF- Grimtooth -^000000";
+ mes "could conquer the whole world with ease.";
+ next;
+ mes "[Nigirboran]";
+ mes "To summon these three Doomed Swords, the user is also required to possess";
+ mes "both the ^3355FF` Tablet of Power '^000000 and";
+ mes "^3355FF` Book of the Tiresome Sheep'^000000.";
+ close;
+
+ L_LowLvl:
+ mes "^3355FF~ it is unbearable and causes you to faint ~^000000";
+ next;
+ warp "beach_dun3.gat",32,214;
+ doevent "Wizard Nigirboran::OnFainted";
+ end;
+
+ OnFainted:
+ mes "[Nigirboran]";
+ mes "~ Sigh ~ You are simply not strong enough to withstand the poison.";
+ mes "Maybe if you had a ^5533FFBase level of at least 25^000000, you could withstand the poison....";
+ close;
+L_3:
+ mes "Go see Hullaris for the Stone of Awakening. Good luck to you.";
+ close;
+L_4:
+ mes "Look for ^3355FFMoet Leng Good^000000 somewhere";
+ mes "inside ^3355FFAldebaran^000000";
+ mes "regarding information about the 'Tablet of Power'";
+ close;
+}
+
+
+
+//============================================================================//
+// Comodo Pharos Lighthouse (Beacon Island)
+//============================================================================//
+
+//==================================================
+cmd_fild07.gat,192,58,4 script Light House Guard 100,{
+ mes "[Rahasu]";
+ mes "Good morning, I am Rahasu, your guide to the";
+ mes "^3355FF`lighthouses'^000000";
+ mes "Do you wish to learn more about these lighthouses?";
+ next;
+ menu "Learn more about these Lighthouses..",M0,"Cancel",MEnd;
+
+ M0:
+ mes "[Rahasu]";
+ mes "As you probably have noticed, there are two huge lighthouses located in this area.";
+ mes "Both of these lighthouses were used to signal nearby fortresses of incoming invasions many years ago.";
+ next;
+ mes "[Rahasu]";
+ mes "Too bad tourists can not enter these lighthouses yet, because they are still under heavy restrictions.";
+ mes "There are many, many beautiful paintings inside.";
+ close;
+ MEnd:
+ mes "[Rahasu]";
+ mes "That's too bad, hope you could find some time to learn more about these ancient structures.";
+ close;
+}
+
+//=========================================================
+cmd_fild07.gat,52,280,4 script Light House Guard 100,{
+ mes "[Hallosu]";
+ mes "That's correct, this is one of the two lighthouses in this area.";
+ mes "However, I can not let anyone go in yet because the lighthouse's interior is still under reconstruction.";
+ next;
+ mes "[Hallosu]";
+ mes "We hope to have a grand opening soon, thank you for your time!";
+ mes "^3355FF(The guard is very nervous)^000000";
+ close;
+}
+
+//=========================================================
+cmd_fild07.gat,299,83,4 script Sailor 100,{
+ mes "[Zain]";
+ mes "Hello my friend, where do you wish to go?";
+ next;
+ menu "Alberta = 600 Zeny",M0,"Izlude = 800 Zeny",M1,"Cancel",MEnd;
+
+ M0:
+ if(Zeny < 600) goto NoZeny;
+ set Zeny, Zeny - 600;
+ warp "alberta.gat",192,169;
+ close;
+ M1:
+ if(Zeny < 800) goto NoZeny;
+ set Zeny, Zeny - 800;
+ warp "izlude.gat",176,182;
+ close;
+
+ NoZeny:
+ mes "[Zain]";
+ mes "Umm, you do not have enough zeny.";
+ close;
+ MEnd:
+ mes "[Zain]";
+ mes "Thank you, come again";
+ close;
+}
+
+//=========================================================
+cmd_fild07.gat,94,134,4, script Sailor 100,{
+ mes "[Sarumane]";
+ mes "Hello my friend, where do you wish to go?";
+ next;
+ menu "Alberta = 600 Zeny",M0,"Izlude = 800 Zeny",M1,"Cancel",MEnd;
+
+ M0:
+ if(Zeny < 600) goto NoZeny;
+ set Zeny, Zeny - 600;
+ warp "alberta.gat",192,169;
+ close;
+ M1:
+ if(Zeny < 800) goto NoZeny;
+ set Zeny, Zeny - 800;
+ warp "izlude.gat",176,182;
+ close;
+
+ NoZeny:
+ mes "[Sarumane]";
+ mes "Umm, you do not have enough zeny.";
+ close;
+ MEnd:
+ mes "[Sarumane]";
+ mes "Thank you, come again.";
+ close;
+}
+
+
+//============================================================================//
+// Kokomo Beach
+//============================================================================//
+
+//=============================================================
+cmd_fild04.gat,188,74,4 script Zyosegirl 93,{
+ mes "[Zyosegirl]";
+ mes "Hello, I am Zyosegirl, I gather seashells in the sea all day and sell them to make a living.";
+ next;
+ mes "[Zyosegirl]";
+ mes "Even though it seems to be a simple lifestyle, I absolutely love it here.";
+ close;
+}
+
+//=========================================================
+cmd_fild04.gat,248,86,4 script Ziyaol 709,{
+ mes "[Ziyaol]";
+ mes "I don't care what you think of me, I am a fisherman, and it is a very tough profession.";
+ next;
+ mes "[Ziyaol]";
+ mes "I am just taking a short break right now, then I will resume fishing again in a few minutes...";
+ close;
+}
+
+//=========================================================
+cmd_fild04.gat,267,137,4 script Kid 703,{
+ mes "[Daeguro]";
+ mes "The sand here are so gentle and the smell of the ocean is great.";
+ mes "I hope one day I could get on one of those boats and head to Alberta.";
+ close;
+}
+
+
+//============================================================================//
+// Others
+//============================================================================//
+
+//============================================================
+moc_fild12.gat,35,303,4 script Saint Darmain Gatekeeper 59,{
+ mes "[Serutero]";
+ mes "Good day, my name is Sertutero and I am the Gatekeeper for the road to Saint Darmain.";
+ mes "Do wish to proceed to Saint Darmain?";
+ next;
+ menu "Proceed to Saint Darmain",M0,"Learn more about Saint Darmain",M1,"Cancel",MEnd;
+
+ M0:
+ mes "[Serutero]";
+ mes "Good luck out there, things could get rough, so be extra careful.";
+ mes ". . . . .";
+ warp "cmd_fild08.gat",331,319;
+ close;
+ M1:
+ mes "[Serutero]";
+ mes "Long time ago, due to many waves of invasion by monsters in Saint Darmain, many defensive structures were constructed to keep the peace.";
+ mes "And slowly, Saint Darmain became a natural fortress.";
+ mes "During an invasion, the southern edge of Saint Darmain's lighthouse also sends warning signals to surrounding cities.";
+ next;
+ mes "[Serutero]";
+ mes "Because of the vastness of all the defensive structures, Saint Darmain is also commonly known as";
+ mes "^3355FF` Fortress Saint Darmain '^000000.";
+ next;
+ mes "[Serutero]";
+ mes "If you are looking for the lighthouse, proceed in the direction of south-west.";
+ close;
+ MEnd:
+ mes "[Serutero]";
+ mes "If you ever become exhausted on your journey, you should stop by the nearby island of";
+ mes "^3355FF`Comodo'^000000 City.";
+ mes "The tropical weather over there is a brand new experience for most people.";
+ close;
+}
diff --git a/npc/cities/einbech.txt b/npc/cities/einbech.txt
new file mode 100644
index 000000000..1307e45fa
--- /dev/null
+++ b/npc/cities/einbech.txt
@@ -0,0 +1,1491 @@
+//===== eAthena Script =======================================
+//= Einbech Town
+//===== By: ==================================================
+//= Muad_dib
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena Revision 3000+
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= 0.1 Started writing Einbech npc's. [Muad_Dib]
+//= 0.1a Conversion to eA format [MasterOfMuppets]
+//= 0.1b Added missing tabs. [Mass Zero] 0.1c more missing tabs [Lupus]
+//= 0.2 Added reddozen's NPCs, fixedmissing '";' [Lupus]
+//= 0.2a Removed a few npcs never intended to be there [MasterOfMuppets]
+//= 0.3 Added some more npcs, thanks to Muad_Dib [MasterOfMuppets]
+//= 1.0 Added the last of the town npcs, [MasterOfMuppets]
+//= all credits to muad_dib for scripting them.
+//============================================================
+
+
+einbech.gat,180,136,5 script Notice Board 858,{
+ mes "[Tool Shop Entrance]";
+ close;
+}
+
+einbech.gat,46,107,6 script Shena 846,{
+ mes "[Shena]";
+ mes "I think it's weird!";
+ mes "How do you youngsters";
+ mes "not learn all of this?";
+ next;
+ mes "[Luda]";
+ mes "Well, I'm sure the";
+ mes "generation gap has";
+ mes "something to do with it,";
+ mes "but I'm surprised that elder";
+ mes "people would know so much~";
+ next;
+ menu "What are you guys talking about?",L_WHAT,"Pass on by",-;
+
+ mes "[Shena]";
+ mes "Luda...";
+ mes "You don't live";
+ mes "to be as old as";
+ mes "I am and not learn";
+ mes "a little something";
+ mes "about this world of ours~";
+ close;
+L_WHAT:
+ mes "[Shena]";
+ mes "Oh? Well, well";
+ mes "Aren't you the most";
+ mes "adorable little girl?";
+ mes "Hello, dearie~";
+ next;
+ menu "Excuse me, but I'm actually a guy.",-;
+
+ mes "[Shena]";
+ mes "Oh, oh are you now?";
+ mes "Perhaps my eyes are";
+ mes "getting bad in my old";
+ mes "age. Getting harder to";
+ mes "tell the difference nowadays...";
+ next;
+ mes "[Shena]";
+ mes "Anyway, me and Luda";
+ mes "were just having a little";
+ mes "chat about all the monsters";
+ mes "near Einbroch. Appearantly,";
+ mes "you youngsters don't know as";
+ mes "much about them as you should.";
+ next;
+ mes "[Shena]";
+ mes "If adventuring is your";
+ mes "business, you should";
+ mes "know what you're up against.";
+ mes "Did you have any questions";
+ mes "about the monsters arround";
+ mes "here, young lady?";
+ next;
+ menu "I told you, I'm a dude...!",-;
+ mes "[Shena]";
+ mes "Hmm. 'Dude.' I think";
+ mes "I've heard that before.";
+ mes "Ho ho~ You'll have to";
+ mes "forgive this old biddy";
+ mes "I don't quite have a grasp";
+ mes "on all the words you kids use.";
+ next;
+ mes "[Shena]";
+ mes "So dearie,";
+ mes "wich monster";
+ mes "would you like";
+ mes "to hear about?";
+L_MENU:
+ next;
+ menu "Metaling",L_METALING,"Mineral",L_MINERAL,"Pitman",L_PITMAN,"Waste Stove",L_WASTE,"Quit",-;
+
+ mes "[Shena]";
+ mes "Alright then.";
+ mes "Have a good";
+ mes "day, young lady.";
+ next;
+ mes "[Luda]";
+ mes "I'm sorry about my";
+ mes "mother! She can be";
+ mes "overly friendly, I suppose.";
+ mes "But if you're bored, please";
+ mes "feel free to visit. Be safe";
+ mes "on your travels, adventurer~";
+ close;
+L_METALING:
+ mes "[Shena]";
+ mes "Well, the Metalings";
+ mes "were created during";
+ mes "the time when the gods";
+ mes "ruled over this world.";
+ next;
+ mes "[Shena]";
+ mes "I'm not sure if you knew";
+ mes "this or not, but according";
+ mes "to the myth, Porings and Drops";
+ mes "were created from Odin's";
+ mes "saliva. You migh not want";
+ mes "to know about Poporing...";
+ next;
+ mes "[Shena]";
+ mes "metalings, on the";
+ mes "other hand were made";
+ mes "from the blood of living";
+ mes "machines that I belive";
+ mes "were called 'Gigantes.'";
+ next;
+ mes "[Shena]";
+ mes "Metaling is still like";
+ mes "those other hopping";
+ mes "blobbs of gelatine in that";
+ mes "they'll swallow whatever";
+ mes "might be lying on the ground.";
+ next;
+ mes "[Shena]";
+ mes "If you defeat a Metaling,";
+ mes "it could drop Large Jellopy,";
+ mes "Iron Ore or even Iron. That";
+ mes "might be good to know, right?";
+ next;
+ mes "[Shena]";
+ mes "Is there";
+ mes "anything else";
+ mes "you'd like to";
+ mes "ask, dearie?";
+ goto L_MENU;
+L_MINERAL:
+ mes "[Shena]";
+ mes "Did you know that";
+ mes "stalactites and cave";
+ mes "crystals grow for thousands";
+ mes "and thousand of years?";
+ next;
+ mes "[Shena]";
+ mes "Now, if something's been";
+ mes "growing for thousands of";
+ mes "years, it would make sense";
+ mes "if it actually was alive. Now,";
+ mes "Mineral monsters are actually";
+ mes "living stalactites";
+ next;
+ mes "[Shena]";
+ mes "It's rumored that they";
+ mes "are grown in a dark cave";
+ mes "in wich something inside";
+ mes "has some sort of malicious";
+ mes "influence over them.";
+ next;
+ mes "[Shena]";
+ mes "Minerals can defend themselves,";
+ mes "but they might drop Crystal Fragment,";
+ mes "Topaz or Emveretarcon if you defeat";
+ mes "one. There's also a chance";
+ mes "that they may drop a rare jewel,";
+ mes "but I'm not quite sure.";
+ next;
+ mes "[Shena]";
+ mes "Are there any";
+ mes "other mosnters";
+ mes "arround here that";
+ mes "you'd want to learn";
+ mes "more about?";
+ goto L_MENU;
+L_PITMAN:
+ mes "[Shena]";
+ mes "Pitmen are the ghosts";
+ mes "of dead miners that haunt";
+ mes "old and rusted mine cars.";
+ mes "For some reason, they can't";
+ mes "leave this world so they just";
+ mes "wander arround the mines.";
+ next;
+ mes "[Shena]";
+ mes "If you can defeat";
+ mes "them, they'll drop";
+ mes "Old Pick, Lantern, Iron,";
+ mes "Steel, Coal, Flashlight";
+ mes "and Rusty Iron Plate.";
+ next;
+ mes "[Shena]";
+ mes "Did you want";
+ mes "to asl me about";
+ mes "any other of the";
+ mes "local monsters?";
+ goto L_MENU;
+L_WASTE:
+ mes "[Shena]";
+ mes "It's just an evil,";
+ mes "man-eating stove.";
+ next;
+ menu "...That's it?",L_THAT,"H-horrifying!",-;
+
+ mes "[Shena]";
+ mes "Yes. God's creation,";
+ mes "that creature is cruel";
+ mes "and merciless, perhaps";
+ mes "a symbol of pure evil";
+ mes "if I ever saw one.";
+ next;
+ mes "[Shena]";
+ mes "Unlike newe appliances,";
+ mes "Waste Stoves were hand made by";
+ mes "master craftsmen that, I guess,";
+ mes "developed their own souls. They";
+ mes "used to be benovalant machines,";
+ mes "contend to provide loving warmth.";
+ next;
+ mes "[Shena]";
+ mes "For years they would serve";
+ mes "their owners with loyalty. But";
+ mes "as technology advanced and";
+ mes "they became obsolete, they were";
+ mes "discarded like pieces of trash.";
+ mes "This twisted their harts to ^FF0000evil^000000.";
+ next;
+ mes "[Shena]";
+ mes "Waste Stoves will usually";
+ mes "drop Battered Pot, Burnt Tree,";
+ mes "Iron, Iron Ore and Rusty Iron Plate.";
+ mes "But once in a while they might drop";
+ mes "interesting items like Rusty Iron";
+ mes "or even Dead Branch.";
+ next;
+ mes "[Shena]";
+ mes "So, is there";
+ mes "anything else";
+ mes "you'd like me to";
+ mes "share with you?";
+ goto L_MENU;
+L_THAT:
+ mes "[Shena]";
+ mes "Now, you know the importance";
+ mes "of recycling and preserving our";
+ mes "natural resources, right? Now,";
+ mes "it would do my heart good if you";
+ mes "were to recycle the scrap iron";
+ mes "from those Waste Stove monsters.";
+ next;
+ mes "[Shena]";
+ mes "Waste Stoves will usually";
+ mes "drop Battered Pot, Burnt Tree,";
+ mes "Iron, Iron Ore and Rusty Iron Plate.";
+ mes "But once in a while they might drop";
+ mes "interesting items like Rusty Iron";
+ mes "or even Dead Branch.";
+ next;
+ mes "[Shena]";
+ mes "So, is there";
+ mes "anything else";
+ mes "you'd like me to";
+ mes "share with you?";
+ goto L_MENU;
+}
+
+einbech.gat,48,107,4 duplicate(Shena) Luda 850
+
+einbech.gat,93,139,6 script Raust 847,{
+ mes "[Raust]";
+ mes "I don't get it!";
+ mes "Einbroch gets bigger";
+ mes "and fancier and our";
+ mes "town gets dirtier and";
+ mes "nastier. What the hell?!";
+ next;
+ mes "[Raust]";
+ mes "Not only do the people";
+ mes "look more ragged, we're";
+ mes "more tired and older looking";
+ mes "as well! It's dirty, it's crowded,";
+ mes "everything in this city is a total";
+ mes "mess! What, you want a list?!";
+ next;
+ mes "[Raust]";
+ mes "The food, literally, is";
+ mes "garbage! The jobs here have";
+ mes "to be a violation of human rights.";
+ mes "There's barely any women here and";
+ mes "the ones we do have all stink";
+ mes "anyway! Are you convinced yet?!";
+ next;
+ mes "[Raust]";
+ mes "Why is everything";
+ mes "that's good over";
+ mes "in Einbroch?! I hate this!";
+ mes "*Grumble*";
+ close;
+}
+
+einbech.gat,97,167,6 script Cavitar 847,{
+ mes "[Cavitar]";
+ mes "Recently, we had some";
+ mes "tunnel cave-ins that resulted";
+ mes "in miner casualties. We're having";
+ mes "a harder time working in the";
+ mes "mines now that we're even";
+ mes "lower on manpower.";
+ next;
+ mes "[Cavitar]";
+ mes "What's really suspicious";
+ mes "is that it seems something";
+ mes "has been making the tunnels";
+ mes "collapse on purpose. Some of";
+ mes "us believe it's because we've";
+ mes "angered the master of the cave.";
+ next;
+ mes "[Cavitar]";
+ mes "The tunnel accident";
+ mes "is still fresh in my mind.";
+ mes "It still seems that there are";
+ mes "more ^FF0000Cave Master^000000 sightings";
+ mes "when the tunnels started";
+ mes "to inexplicably collapse.";
+ next;
+ mes "[Cavitar]";
+ mes "I was off duty whent";
+ mes "the accident happened.";
+ mes "Still, I hear the only survivor";
+ mes "went crazy and disappeared";
+ mes "spmewhere. The poor bastard...";
+ close;
+}
+
+einbech.gat,105,218,6 script Gushenmu 848,{
+ mes "[Gushenmu]";
+ mes "I've lived here a long time";
+ mes "and, believe it or not, things";
+ mes "weren't as though in the past";
+ mes "as they are right now.";
+ next;
+ mes "[Gushenmu]";
+ mes "For lots of different reasons,";
+ mes "the work is more dangerous";
+ mes "and we're running real low on";
+ mes "manpower. And the factories in";
+ mes "Einbroch make so much smog,";
+ mes "we can't even see sunlight here.";
+ next;
+ mes "[Gushenmu]";
+ mes "The sad reality of mining";
+ mes "life right now is that we";
+ mes "wake up, go to work, and at";
+ mes "the end of the day some of us";
+ mes "are injured while a few others";
+ mes "never come to work the next day.";
+ next;
+ mes "[Gushenmu]";
+ mes "And as Einbech and Einbroch";
+ mes "have grown, I hear more and";
+ mes "more rumors that unfammiliar";
+ mes "monsters are beginning to";
+ mes "swarm outside of town.";
+ mes "This is really Einbech's worst time...";
+ close;
+}
+
+einbech.gat,57,210,4 script Young Man 854,{
+ mes "[Young Man]";
+ mes "Behind the pub,";
+ mes "you'll see this old man";
+ mes "who's always mumbling";
+ mes "something to himself.";
+ next;
+ mes "[Young Man]";
+ mes "Sometimes he seems really";
+ mes "angry, but other times he looks";
+ mes "awfully depressed. He must have";
+ mes "lived through some really horrible";
+ mes "experiences. I can't help but feel";
+ mes "really sorry for the old guy.";
+ next;
+ mes "[Young Man]";
+ mes "He says and does";
+ mes "a lot of strange things.";
+ mes "It's sad to see someone";
+ mes "that old act that way, but";
+ mes "it makes me wonder what";
+ mes "could have happened to him.";
+ close;
+}
+
+einbech.gat,39,215,6 script Train Station Staff 852,{
+ mes "[Staff]";
+ mes "Welcome to";
+ mes "the Train Station.";
+ mes "The fare to take the";
+ mes "train to Einbroch is";
+ mes "200 zeny. Would";
+ mes "you like to ride?";
+ next;
+ menu "Yes.",L_YES,"No.",-;
+
+ mes "[Staff]";
+ mes "Please enjoy";
+ mes "your stay here";
+ mes "in Einbech.";
+ close;
+L_YES:
+ if(Zeny < 200)goto L_ZENY;
+ mes "[Staff]";
+ mes "Thank you and";
+ mes "we hope you enjoy";
+ mes "the ride. All aboard!";
+ next;
+ set Zeny,Zeny - 200;
+ warp "einbroch.gat",226,276;
+ end;
+L_ZENY:
+ mes "[Staff]";
+ mes "I'm sorry,";
+ mes "but you don't";
+ mes "have enough zeny";
+ mes "to pay the train fare.";
+ close;
+}
+
+einbech.gat,157,215,4 script Train Station Manager 852,{
+ mes "[Train Station Manager]";
+ mes "This train station";
+ mes "is strictly for trains";
+ mes "running from Einbech";
+ mes "to Einbroch. Please speak";
+ mes "to the staff in the 11 o' clock";
+ mes "direction if you'd like to board.";
+ close;
+}
+
+einbech.gat,129,234,6 script Hander 848,{
+ mes "[Hander]";
+ mes "Those Einbroch bastards!";
+ mes "Living off the resources we";
+ mes "dig up while we keep working";
+ mes "for them like suckers! Damn!";
+ next;
+ mes "[Hander]";
+ mes "Everyday, we risk our";
+ mes "freakin' lives just so we";
+ mes "can make a living! Why don't";
+ mes "the elders do something about";
+ mes "this, like raise our ore prices?";
+ next;
+ mes "[Hander]";
+ mes "The work schedule's";
+ mes "unreasonable, Cavitar's";
+ mes "wife was attacked by a mine";
+ mes "creature, the hospital's too";
+ mes "far away and we don't have";
+ mes "any food to eat! Why...?!";
+ close;
+}
+
+einbech.gat,128,238,6 script Mogan 848,{
+ mes "[Mogan]";
+ mes "Recently, there were a few";
+ mes "cave-ins where many miners";
+ mes "were injured. It was discussed";
+ mes "in the Town Council and in my";
+ mes "opinion, I think the miners dug";
+ mes "too deep and disturbed... ^FF0000it^000000.";
+ next;
+ mes "[Mogan]";
+ mes "Yes, they awoke Ungoliant,";
+ mes "the master of the caves that";
+ mes "has existed since ancient time.";
+ mes "I don't know how many more will";
+ mes "be victimised by Ungolian in the";
+ mes "future. There's no telling...";
+ next;
+ mes "[Mogan]";
+ mes "Adventurer, be careful";
+ mes "if you travel inside the";
+ mes "mines, lest your footsteps";
+ mes "distrub Ungoliant's slumber.";
+ close;
+}
+
+einbech.gat,130,253,2 script Ekuri 848,{
+ mes "[Ekuri]";
+ mes "Yo-heave-ho!";
+ mes "Yo-heave-ho~!";
+ next;
+ mes "[Ekuri]";
+ mes "What am I doing here?";
+ mes "heck, I'm scared to death";
+ mes "of entering the mine! But";
+ mes "I can make a living here at";
+ mes "the entrance by gathering";
+ mes "scrap metal! Smart, huh?";
+ next;
+ mes "[Ekuri]";
+ mes "Sometimes, I get lucky";
+ mes "and score an entire ore!";
+ mes "Sure, I'm a coward, but";
+ mes "at least I'm alive. Well,";
+ mes "for the time being.";
+ next;
+ mes "[Ekuri]";
+ mes "Now you know what";
+ mes "I'm doing here. So why";
+ mes "don't you leave me to";
+ mes "my work? Heave-ho!";
+ mes "Ores, come to me!";
+ close;
+}
+
+einbech.gat,148,242,5 script Jung 855,{
+ mes "[Jung]";
+ mes "I'm one of the few";
+ mes "people who's lived";
+ mes "in both Einbech and";
+ mes "Einbroch for a long time,";
+ mes "So I gyess I'm one of the";
+ mes "best guides of this area.";
+ next;
+ mes "[Jung]";
+ mes "Say, if you're thinking of";
+ mes "entering the Mine Dungeon,";
+ mes "I can tell you all I know about";
+ mes "the monsters in that place so";
+ mes "that you'll be better prepared.";
+ next;
+ menu "Sure, why not?",L_TELL,"No, thanks.",-;
+ mes "[Jung]";
+ mes "I understand if you're";
+ mes "kind of in a hurry. Still,";
+ mes "if you're pretty new around";
+ mes "here, you should learn as";
+ mes "much as you can before";
+ mes "entering any dungeons.";
+ next;
+ mes "[Jung]";
+ mes "Alright then,";
+ mes "be safe on your";
+ mes "adventures, alright?";
+ close;
+L_TELL:
+ mes "[Jung]";
+ mes "Let's see. Ah, the monsters that";
+ mes "are unique to the Mine Dungeon";
+ mes "are Noxious, Venomous, Porcellio";
+ mes "and Obsidian. Wich one do you";
+ mes "want to know more about?";
+ next;
+ menu "Noxious and Venomous",-,"Porcellio",L_PORCELLIO,"Obsidian",L_OBSIDIAN;
+ mes "[Jung]";
+ mes "You know, no one seems";
+ mes "to know where Noxious and";
+ mes "Venomous have come form.";
+ mes "It's like they appeared out of";
+ mes "nowhere when Einbroch";
+ mes "started to industrialise.";
+ next;
+ mes "[Jung]";
+ mes "Now that I think about it,";
+ mes "I don't think they're naturally";
+ mes "created monsters. They have";
+ mes "this fixed look of despair and";
+ mes "suffering and tend to act like they";
+ mes "want their enemies to kill them.";
+ next;
+ mes "[Jung]";
+ mes "Still, you'd better be careful!";
+ mes "Careful! Nocious and Venomous";
+ mes "are stealthy monsters that can";
+ mes "glide quietly through the air";
+ mes "and attack you before";
+ mes "you even notice...";
+ next;
+ mes "[Jung]";
+ mes "You should know that";
+ mes "Noxious is Ghost property";
+ mes "and Venomous is Poison.";
+ mes "Both are medium sized,";
+ mes "formless monsters.";
+ next;
+ mes "[Jung]";
+ mes "Both of them drop Apple,";
+ mes "Dust Pollutant, Toxic Gas,";
+ mes "Poisonous Powder, Bacillus,";
+ mes "Mold Powder and Anodyne.";
+ next;
+ mes "[Jung]";
+ mes "That's all for now.";
+ mes "Feel free to ask me";
+ mes "if you have any questions";
+ mes "about monsters in the Mine";
+ mes "Dungeon. Be safe, adventurer.";
+ close;
+L_PORCELLIO:
+ mes "[Jung]";
+ mes "Porcellio is an insect that";
+ mes "lives in caves and drinks water";
+ mes "dripped from stalactites. It's";
+ mes "different from Ungoliant since";
+ mes "it likes to be near different";
+ mes "kinds of minerals and ores.";
+ next;
+ mes "[Jung]";
+ mes "Porcellio drops Jubilee,";
+ mes "Insect Leg, Single Cell,";
+ mes "Moss of Morning Dew, Neon";
+ mes "Liquid and a few other things";
+ mes "I can't quite remember.";
+ next;
+ mes "[Jung]";
+ mes "Lastly, Porcellio is an";
+ mes "Earth property monster.";
+ mes "That's all I know about it.";
+ mes "But if you want to know more";
+ mes "about some monster in the";
+ mes "Mine Dungeon, feel free to ask.";
+ close;
+L_OBSIDIAN:
+ mes "[Jung]";
+ mes "Do you know about the";
+ mes "belief that underground";
+ mes "minerlas that contain huge";
+ mes "amounts of energy actually";
+ mes "have souls? Obsidian is";
+ mes "one of these living rocks.";
+ next;
+ mes "[Jung]";
+ mes "Supposedly, just a piece of an";
+ mes "Obsidian in a Jung Processor has";
+ mes "enough energy to light up the night";
+ mes "sky. Unfortunately, it's impossible";
+ mes "to capture one alive and hunting";
+ mes "them isn't so easy.";
+ next;
+ mes "[Jung]";
+ mes "Obsidian is a small,";
+ mes "shapeless monster that";
+ mes "drops Clear Jewel, Piece of";
+ mes "Black Crystal, Coal, Elunium,";
+ mes "Iron and Steel.";
+ next;
+ mes "[Jung]";
+ mes "That's all for Obsidian.";
+ mes "If you have any questions";
+ mes "about other monsters living";
+ mes "in the Mine Dungeon, feel";
+ mes "free to ask me.";
+ close;
+}
+
+einbech.gat,148,246,5 script Franz 851,{
+ mes "[Franz]";
+ mes "So bored...";
+ mes "Starving for...";
+ mes "Conversation.";
+ mes "S-somebody...";
+ next;
+ mes "[Franz]";
+ mes "Hey, a traveller!";
+ mes "Are you planning to explore";
+ mes "the Mine Dungeon or the fields";
+ mes "around here? Let's chat for a bit";
+ mes "and maybe you'll learn something.";
+ next;
+ menu "Okay, fine.",L_OKAY,"No, thanks.",-;
+ mes "[Franz]";
+ mes "Oh, okay.";
+ mes "You're busy and have";
+ mes "things to do, I understand.";
+ mes "You probably have to head";
+ mes "off somewhere right away.";
+ mes "Right. Got it.";
+ next;
+ mes "[Franz]";
+ mes "I...";
+ mes "I've got stuff";
+ mes "I should be working";
+ mes "on. Yes. So very busy.";
+ close;
+L_OKAY:
+ mes "[Franz]";
+ mes "Ooh, have you heard";
+ mes "about the creature in the";
+ mes "Mine Dungeon or what's";
+ mes "happened in town recently?";
+ mes "Wich would you like to";
+ mes "know more about?";
+ next;
+ menu "Creature of Mine Dungeon",L_CREATURE,"Town Incident",-;
+ mes "[Franz]";
+ mes "In Einbroch, there was";
+ mes "a short lived teddy bear";
+ mes "fad. However, a series of";
+ mes "mysterious accidents and";
+ mes "murders where entire families";
+ mes "were killed also occured.";
+ next;
+ mes "[Franz]";
+ mes "It turns out that every family";
+ mes "that had been murdered had";
+ mes "bought one of these teddy bears.";
+ mes "There were even rumors tat these";
+ mes "teddy bears were comming to life.";
+ next;
+ mes "[Franz]";
+ mes "After an investigation, the";
+ mes "authorities learned that all the";
+ mes "merchants who sold these bears";
+ mes "had purchased them from the";
+ mes "smae wholesaler, an outsider";
+ mes "noone knew anything about.";
+ next;
+ mes "[Franz]";
+ mes "Since the teddy bears were";
+ mes "clearly not made to be mere,";
+ mes "harmless toys, troops were";
+ mes "sent to secure all the teddy";
+ mes "bears and dispose of them";
+ mes "outside of town.";
+ next;
+ mes "[Franz]";
+ mes "But as soon as the teddy";
+ mes "bears were set outside of";
+ mes "town, they sprang to life and";
+ mes "started rioting! This is clear";
+ mes "proof that these bears are";
+ mes "controlled by some evil force.";
+ next;
+ mes "[Franz]";
+ mes "Now those aggressive teddy";
+ mes "bears are scattered all over";
+ mes "the place and the government";
+ mes "has classified them as monsters.";
+ mes "Kill with exstreme prejudice!";
+ next;
+ mes "[Franz]";
+ mes "According to adventurers";
+ mes "who have caught these bears,";
+ mes "they're small, neutral monsters";
+ mes "wich drop Honey, Screw, Well-baked";
+ mes "Cookie and Oridecon Hammer.";
+ next;
+ mes "[Franz]";
+ mes "That's all I know";
+ mes "about it. watch out";
+ mes "for those bears if you";
+ mes "go exploring, okay? They";
+ mes "may be cute, but they're";
+ mes "known to be extremely vicious!";
+ close;
+L_CREATURE:
+ mes "[Franz]";
+ mes "The creature I'm talking about is";
+ mes "Ungoliant, wich also called the";
+ mes "Master of the Caves around here.";
+ mes "It's said to live deep in the caves";
+ mes "where it giards peculiar ores and";
+ mes "minerals with strange powers.";
+ next;
+ mes "[Franz]";
+ mes "At first I thought it was";
+ mes "just an old fairy tale, but it";
+ mes "actually started appearing";
+ mes "again about ten years ago";
+ mes "when the tunnel cave-ins";
+ mes "started to happen.";
+ next;
+ mes "[Franz]";
+ mes "As sightings of Ungoliant";
+ mes "increased, more and more";
+ mes "tunnel cave-ins occured.";
+ mes "I guess the miners have";
+ mes "inadvertently intruded";
+ mes "into it's territory.";
+ next;
+ mes "[Franz]";
+ mes "According to legend,";
+ mes "ancient giants snuck into";
+ mes "a mine to steal coal from";
+ mes "humans. But they made too";
+ mes "much noise while they were";
+ mes "digging and awoke Ungoliant.";
+ next;
+ mes "[Franz]";
+ mes "When the miners went to work";
+ mes "the next morning, they found the";
+ mes "bloodied bodies of those giants.";
+ mes "After that, people have feared";
+ mes "the threat that Ungoliant poses";
+ mes "to anyone entering the mines.";
+ next;
+ mes "[Franz]";
+ mes "Now, and adventurer that";
+ mes "managed to kill an Ungoliant";
+ mes "has told me that it drops Ant's";
+ mes "Jaw, Colorful Shell, Very Hard";
+ mes "Shell, Long Leg, Neon Liquid";
+ mes "and Zircon.";
+ close;
+}
+
+einbech.gat,151,168,4 script Tollaf 854,{
+ mes "[Tollaf]";
+ mes "Ah...!";
+ mes "This is killing me!";
+ mes "I don't have the money";
+ mes "to move, but I don't wanna";
+ mes "live in this town anymore!";
+ next;
+ mes "[Tollaf]";
+ mes "People everywhere else";
+ mes "live so much better than we";
+ mes "do, especially those snobs in";
+ mes "Einbroch! Einbech must be the";
+ mes "worst town of Schwartzwald Republic.";
+ mes "No, it's the worst in the world!";
+ close;
+}
+
+einbech.gat,149,154,4 script Mjunia 850,{
+ mes "[Mjunia]";
+ mes "It's hard being a woman";
+ mes "in this town, By being born";
+ mes "here, it's like fate just decided";
+ mes "to be especially cruel to me.";
+ next;
+ mes "[Mjunia]";
+ mes "My skin and hands are";
+ mes "rough from all the work";
+ mes "I have to do. But worst of";
+ mes "all... I... I... I've developed";
+ mes "bigger muscles than most";
+ mes "guys! Waaaaaah~!";
+ next;
+ mes "[Mjunia]";
+ mes "I wish I could find";
+ mes "a nice guy from Einbroch";
+ mes "and get married so I can";
+ mes "get away from this town.";
+ mes "But it doesn't look like";
+ mes "that wil happen...";
+ next;
+ mes "[Mjunia]";
+ mes "And I'd never marry";
+ mes "anyone from Einbech!";
+ mes "I'd rather die cold and";
+ mes "alone than cold and married";
+ mes "to some Einbech hooligan.";
+ next;
+ mes "[Mjunia]";
+ mes "Look at these";
+ mes "muscles. What do";
+ mes "you think? Am I pretty?";
+ mes "*Sniff* I gave up trying";
+ mes "to be feminine years ago.";
+ mes "I have to work so hard...";
+ close;
+}
+
+einbech.gat,176,125,4 script Ellhenje 850,{
+ mes "[Ellhenje]";
+ mes "Things might be";
+ mes "bad in this town";
+ mes "with the pollution";
+ mes "and the bullying";
+ mes "from Einbroch...";
+ next;
+ mes "[Ellhenje]";
+ mes "But somehow, people";
+ mes "are able to get by. That's";
+ mes "because there's a guy";
+ mes "that everyone here likes...";
+ next;
+ mes "[Ellhenje]";
+ mes "I'm talking about Clitzer!";
+ mes "He's almost too honest and";
+ mes "almost too diligent. But most";
+ mes "of all, he's the nicest guy~";
+ next;
+ mes "[Ellhenje]";
+ mes "Clitzer was born in one of";
+ mes "Einbech's poorest families,";
+ mes "but he's usually happy and always";
+ mes "thinks about others. I guess that's";
+ mes "why people like to think of him";
+ mes "as representing all of Einbech.";
+ next;
+ mes "[Ellhenje]";
+ mes "Recently, something's";
+ mes "been bothering him. I'm";
+ mes "not sure, but I think only";
+ mes "woman troubles could make";
+ mes "a guy feel so glum. I hope he";
+ mes "feels better soon...";
+ close;
+}
+
+einbech.gat,172,113,4 script Nemuk 855,{
+ mes "[Nemuk]";
+ mes "You seem to be an";
+ mes "outsider, so let me";
+ mes "ask you something.";
+ mes "What do you think";
+ mes "of Einbech?";
+ next;
+ menu "It's fine.",L_FINE,"It looks tough to live here.",-;
+ mes "[Nemuk]";
+ mes "I thought so.";
+ mes "Well, I appologize if";
+ mes "I put you on the spot.";
+ next;
+ mes "[Nemuk]";
+ mes "Everyone here has been";
+ mes "having a tough time just";
+ mes "living day to day for as long";
+ mes "as I can remember. It's like";
+ mes "things never seem to get any";
+ mes "better, no matter what we do.";
+ next;
+ mes "[Nemuk]";
+ mes "I really want to leave,";
+ mes "but it's just an empty";
+ mes "wish. My body is trapped";
+ mes "here while my heart longs";
+ mes "for a much better life. *Sigh*";
+ mes "Is it hopeless? What can I do?";
+ close;
+L_FINE:
+ mes "[Nemuk]";
+ mes "Huh...?";
+ mes "I'm not sure what";
+ mes "you've seen, but I'm";
+ mes "surprised to hear you";
+ mes "say something like that.";
+ next;
+ mes "[Nemuk]";
+ mes "It's been ten years since";
+ mes "I've started to think about";
+ mes "moving out. However, I'm still";
+ mes "debating it. Now, if I were rich,";
+ mes "I'd leave in no time, but it's hard";
+ mes "getting the money to move out.";
+ next;
+ mes "[Nemuk]";
+ mes "*Sigh...*";
+ mes "Maybe if I had been";
+ mes "and adventurer when I was";
+ mes "younger, I wouldn't have";
+ mes "these problems today...";
+ close;
+}
+
+einbech.gat,165,105,7 script Buender Hikeman 847,{
+ if(einbech_buender == 2)goto L_BEST;
+ if(einbech_buender == 1)goto L_BASTARD;
+ mes "[Buender Hikeman]";
+ mes "...";
+ mes "......";
+ next;
+ mes "[Buender Hikeman]";
+ mes "...";
+ mes "......";
+ mes "......You...";
+ next;
+ mes "[Buender Hikeman]";
+ mes "...";
+ mes "......";
+ mes "......You...";
+ mes "......Stop it...";
+ next;
+ mes "[Buender Hikeman]";
+ mes "...";
+ mes "......";
+ mes "......You...";
+ mes "......Stop it...";
+ mes "...You ^FF0000bastard^000000!";
+ next;
+ mes "[Buender Hikeman]";
+ mes "RaaaaAAAARGHHH!!";
+ next;
+ mes "[Buender Hikeman]";
+ mes "^0000FFThe old man seems^000000";
+ mes "^0000FFslightly irked at seeing^000000";
+ mes "^0000FFyou. Unfortunately, his^000000";
+ mes "^0000FFscreaming and rambling^000000";
+ mes "^0000FFis totally incoherent.^000000";
+ next;
+ mes "[Buender Hikeman]";
+ mes "It ^FF0000is^000000 you!";
+ mes "You're responsible!";
+ mes "You've taken everything";
+ mes "away from me!!";
+ next;
+ menu "What are you talking about?",L_WHAT,"Ignore Him.",-;
+ mes "[Buender Hikeman]";
+ mes "W...wait!";
+ mes "I said wait!";
+ mes "*Cough!*";
+ close;
+L_WHAT:
+ mes "[Buender Hikeman]";
+ mes "How dare you...";
+ mes "How dare you treat";
+ mes "after destroying all the";
+ mes "happiness in my life!";
+ next;
+ mes "[Buender Hikeman]";
+ mes "Damn you...";
+ mes "How can you have";
+ mes "the audacity to pretend";
+ mes "as if nothing happened?!";
+ mes "*C-cough Cough...*";
+ next;
+ mes "[Buender Hikeman]";
+ mes "Are you so evil to";
+ mes "just shallowly forget";
+ mes "what you've done to our";
+ mes "lives? Did you already";
+ mes "forget what you did";
+ mes "here in Einbech?!";
+ next;
+ mes "[Buender Hikeman]";
+ mes "It was such a long";
+ mes "time ago, but I'll never";
+ mes "forget. This town was";
+ mes "small, but full of folk";
+ mes "with warm hearts...";
+ next;
+ mes "[Buender Hikeman]";
+ mes "Me, Khartophe, Anuto,";
+ mes "Maskharundt... All of";
+ mes "us were friends hired";
+ mes "by that businessman";
+ mes "to dig up ores in the mine.";
+ next;
+ mes "[Buender Hikeman]";
+ mes "And then there";
+ mes "was you! All of us";
+ mes "put together made the";
+ mes "greatest mining team!";
+ mes "That was, until, we";
+ mes "discovered ^FF0000it^000000.";
+ next;
+ mes "[Buender Hikeman]";
+ mes "Yes...";
+ mes "The mysterious ore";
+ mes "that dazzled with a";
+ mes "magnificent light.";
+ next;
+ mes "[Buender Hikeman]";
+ mes "But we should have known";
+ mes "that the ^0000FFUngoliant^000000 would";
+ mes "be arround that ore. We";
+ mes "should have realized";
+ mes "the danger...";
+ next;
+ mes "[Buender Hikeman]";
+ mes "We reported our findings";
+ mes "to our employer, and then";
+ mes "the ore just disappeared. He";
+ mes "must have sent it somewhere,";
+ mes "it was none of our business.";
+ next;
+ mes "[Buender Hikeman]";
+ mes "Then life was back";
+ mes "to normal for a while.";
+ mes "But one day you yelled";
+ mes "to us that you had found";
+ mes "another special, mysterious";
+ mes "ore in the mines.";
+ next;
+ mes "[Buender Hikeman]";
+ mes "But when we came";
+ mes "over to check the hole";
+ mes "you dug up, you know";
+ mes "what we found...?!";
+ next;
+ menu "Ungoliant?",L_UNGOLIANT,"A mysterious ore, right?",L_ORE,"Nothing...?",-;
+ mes "[Buender Hikeman]";
+ mes "Yes...";
+ mes "Nothing.";
+ goto L_CONTINUE;
+L_UNGOLIANT:
+ mes "[Buender Hikeman]";
+ mes "Don't you remember";
+ mes "what happened? What";
+ mes "you did to us at that time?!";
+ next;
+L_CONTINUE:
+ mes "[Buender Hikeman]";
+ mes "There was nothing";
+ mes "inside the hole!";
+ next;
+ mes "[Buender Hikeman]";
+ mes "Then you pointed to";
+ mes "the wall behind us and";
+ mes "screamed that Ungoliant";
+ mes "was coming! In our panic";
+ mes "we started to dig our way out!";
+ next;
+ mes "[Buender Hikeman]";
+ mes "I remember that the expression on";
+ mes "your face seemed so strange. I had";
+ mes "thought you looked sad, but now I'm";
+ mes "sure you were consumed by greed! We";
+ mes "trusted you and you betrayed us!";
+ next;
+ mes "[Buender Hikeman]";
+ mes "When we finally smashed";
+ mes "down that last wall, everything";
+ mes "started to fall around us. We";
+ mes "were the only two to survive";
+ mes "that tunnel collapse.";
+ next;
+ mes "[Buender Hikeman]";
+ mes "Then I learned...";
+ mes "You planned it all along.";
+ set einbech_buender,1;
+ close;
+L_ORE:
+ mes "[Buender Hikeman]";
+ mes "Don't you remember";
+ mes "what happened? What";
+ mes "you did to us at that time?!";
+ goto L_CONTINUE;
+L_BASTARD:
+ mes "[Buender Hikeman]";
+ mes "Bastard!";
+ mes "I'm sick of";
+ mes "your lies!";
+ next;
+ menu "I'm not who you think!",L_IM,"How did you survive the accident?",-;
+L_HOW:
+ mes "[Buender Hikeman]";
+ mes "When I came to,";
+ mes "I was lying on my";
+ mes "stomach in the ruins";
+ mes "of that dark tunnel.";
+ next;
+ mes "[Buender Hikeman]";
+ mes "And I found...";
+ mes "You know what I found.";
+ next;
+ mes "[Buender Hikeman]";
+ mes "*Cough Cough*";
+ mes "The corpses of my friends!";
+ mes "Kartophe, Anuto, Maskharundt";
+ mes "Great men and my best friends.";
+ mes "But where were you?!";
+ next;
+ mes "[Buender Hikeman]";
+ mes "Your body was nowhere";
+ mes "to be found. I searched";
+ mes "the tunnel and finnaly";
+ mes "climbed outside where";
+ mes "I was found unconscious.";
+ next;
+ mes "[Buender Hikeman]";
+ mes "I was so stupid.";
+ mes "It was because of";
+ mes "that ore! You killed our";
+ mes "friend and destroyed";
+ mes "my life for that thing!";
+ next;
+ mes "[Buender Hikeman]";
+ mes "And now...";
+ mes "You come out of";
+ mes "hiding and show up.";
+ mes "What do you want of";
+ mes "me? What more can";
+ mes "you possibly take away?!";
+ next;
+ menu "I'm not who you think I am!",L_THINK,"I'd like to apologize.",-;
+ mes "[Buender Hikeman]";
+ mes "Ha ha...";
+ mes "Apologize?";
+ mes "The harm is";
+ mes "already done...";
+ goto L_CONTINUE2;
+L_THINK:
+ mes "[Buender Hikeman]";
+ mes "Quit lying!";
+ mes "You've stirred up";
+ mes "my hatred by showing";
+ mes "up again! I've never";
+ mes "forgotten that day!";
+ next;
+L_CONTINUE2:
+ mes "[Buender Hikeman]";
+ mes "It's too late";
+ mes "for you now. For";
+ mes "the sake of my friends,";
+ mes "I'll have my vengeance!";
+ next;
+ mes "[Buender Hikeman]";
+ mes "Prepare to die!";
+ mes "^0000FFShinokas^000000!!!!";
+ next;
+ mes "[Buender Hikeman]";
+ mes "...!";
+ mes "*Cough! Cough!*";
+ mes "Noooo! N-not now...";
+ mes "*Cough! Cough!*";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "...";
+ mes "I better";
+ mes "get away";
+ mes "from him!";
+ next;
+ mes "^0000FFYou ran away from Hikeman^000000";
+ mes "^0000FFas he collapsed on the ground^000000";
+ mes "^0000FFIt wouldn't be a good idea to^000000";
+ mes "^0000FFprovoke the old man anymore,^000000";
+ mes "^0000FFintentionally or not.^000000";
+ set einbech_buender,2;
+ close;
+L_BEST:
+ mes "^0000FFIt'd be best^000000";
+ mes "^0000FFto avoid aggravating^000000";
+ mes "^0000FFthe old man for now.^000000";
+ close;
+L_IM:
+ mes "[Buender Hikeman]";
+ mes "Ha...!";
+ mes "Do you think";
+ mes "I'd so easily";
+ mes "forget the face";
+ mes "of the person who";
+ mes "shattered my life?!";
+ goto L_HOW;
+}
+
+ein_in01.gat,281,85,2 script Drunken Man 849,{
+ mes "[Drunken Man]";
+ mes "...*Hiccup*...";
+ mes "*Hiccup*...";
+ mes "*Yawn*.....";
+ mes ".................";
+ mes "..*Hiccup*.....";
+ mes "*Hiccup*..";
+ close;
+}
+
+ein_in01.gat,277,95,8 script Ryan Danger 855,{
+ mes "[R.D. kim]";
+ mes "Oooh...";
+ next;
+ mes "[R.D. kim]";
+ mes "Oooh...";
+ mes "Momma.";
+ next;
+ mes "[R.D. kim]";
+ mes "Oooh...";
+ mes "Momma.";
+ mes "You are so...";
+ next;
+ mes "[R.D. kim]";
+ mes "Oooh...";
+ mes "Momma.";
+ mes "You are so...";
+ mes "^FF0000Hot^000000!";
+ next;
+ mes "[R.D. kim]";
+ mes "Why don't you take off";
+ mes "those heavy, uncomfortable";
+ mes "clothes? I'll buy you whatever";
+ mes "you want, it's on me! C'mon~";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "N-no...!";
+ mes "I-I-I-I...";
+ mes "(this is the";
+ mes "shadiest guy";
+ mes "I've ever seen!)";
+ next;
+ mes "[R.D. kim]";
+ mes "Hm? No...?";
+ mes "Absolutely no?";
+ mes "Are you sure?";
+ mes "Alright, alright.";
+ mes "I'm sorry, I apologize.";
+ mes "I was totally out of line.";
+ next;
+ mes "[R.D. kim]";
+ mes "...";
+ mes "Or am I?";
+ mes "Bwahahahaha!";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "(Th-this guy";
+ mes "must be drunk, out";
+ mes "of his freakin' mind)";
+ close;
+}
+
+ein_in01.gat,279,92,2 script Tavern Lady 854,{
+ mes "[Tavern Lady]";
+ mes "most Einbech men are";
+ mes "crude and primitive male";
+ mes "chauvinists! They disgust me!";
+ next;
+ mes "[Tavern Lady]";
+ mes "I mean, there's nothing";
+ mes "good about them! They're";
+ mes "wild, violent, simple minded";
+ mes "and ignorant. They settle all";
+ mes "their arguments with brawn";
+ mes "and they're so... close minded!";
+ next;
+ mes "[Tavern Lady]";
+ mes "How can they not know";
+ mes "that women want gentle,";
+ mes "sensitive men with whom";
+ mes "they can share their feelings";
+ mes "and drink chamille tea over";
+ mes "freshly knit doillies?";
+ close;
+}
+
+einbech.gat,197,139,4 script Young Man 855,{
+ mes "[Heinz]";
+ mes "Wow...";
+ mes "And adventurer from";
+ mes "Rune-Midgard, eh?";
+ mes "What brings you here?";
+ next;
+ mes "[Heinz]";
+ mes "Einbech doesn't offer much";
+ mes "in terms of sight-seeing, but";
+ mes "have you come to see the mine?";
+ mes "Right now, it's swarming with";
+ mes "monsters and we can't dig any";
+ mes "ores because it's so dangerous.";
+ next;
+ mes "[Heinz]";
+ mes "Now, if some adventurers were";
+ mes "generous enough to hunt down";
+ mes "those evil creatures, we'd be able";
+ mes "to mine again and they could earn";
+ mes "some extra zeny. It's like killing";
+ mes "two birds with one stone. Hahaha!";
+ next;
+ mes "[Heinz]";
+ mes "Oh wait... I'm sorry.";
+ mes "I don't know what's wrong";
+ mes "with me, asking complete";
+ mes "strangers to do favors for";
+ mes "me. It's completely rude!";
+ mes "I mean, who would do that?";
+ next;
+ mes "[Heinz]";
+ mes "But... I'm beyond caring";
+ mes "about my pride. For the sake";
+ mes "of all that is good and holy, I'm";
+ mes "begging you, please kill thise foul";
+ mes "and evil creatures. Please!!";
+ close;
+}
+
+ein_in01.gat,191,102,4 script Kaijeta 846,{
+ mes "[Kaijeta]";
+ mes "Welcome to my humble";
+ mes "abode, adventurer. I'm";
+ mes "sorry if I'm a poor host.";
+ next;
+ mes "[Kaijeta]";
+ mes "As you can see, we have";
+ mes "to share this house with";
+ mes "other families so we don't";
+ mes "have much open space or";
+ mes "privacy. I'm afraid we can't";
+ mes "even affor basic comfort.";
+ next;
+ mes "[Kaijeta]";
+ mes "For now, this is the best";
+ mes "we can do. We don't have";
+ mes "the zeny to buy a house or";
+ mes "land, so we have no choice";
+ mes "but to endure through this...";
+ close;
+}
+
+ein_in01.gat,200,101,4 script Clitzer 854,{
+ mes "[Clitzer]";
+ mes "Is there something";
+ mes "that you really want";
+ mes "in life, but it's just";
+ mes "beyond your grasp?";
+ next;
+ mes "[Clitzer]";
+ mes "I wish I was more";
+ mes "like you adventurers.";
+ mes "People like you never";
+ mes "seem to give up, no matter";
+ mes "what the obstacles may be.";
+ mes "But I'm so helpless...";
+ next;
+ mes "[Clitzer]";
+ mes "I can't even see";
+ mes "the one person that";
+ mes "I love. We're just so";
+ mes "different that it's not";
+ mes "even possible anymore...";
+ close;
+}
+
+
+ein_in01.gat,192,90,2 script Supineque 849,{
+ mes "[Supineque]";
+ mes "Ugh...";
+ mes "I'm starving!";
+ next;
+ mes "[Supineque]";
+ mes "I haven't had food for so";
+ mes "long that my stomach is";
+ mes "beginning to digest itself!";
+ mes "This is horrible...";
+ next;
+ mes "[Supineque]";
+ mes "I mean, I have";
+ mes "food that I can";
+ mes "eat today. But if";
+ mes "I finish it, what am";
+ mes "I gonna eat tomorrow?";
+ close;
+}
+
+ein_in01.gat,208,86,3 script Decii 855,{
+ mes "[Decii]";
+ mes "This is so";
+ mes "frustating!";
+ mes "I'm surrounded";
+ mes "by all these ^FF0000people^000000!";
+ next;
+ mes "[Decii]";
+ mes "There's absolutely";
+ mes "no privacy in a town";
+ mes "this crowded! I guess";
+ mes "I should try to move";
+ mes "out as soon as I can.";
+ close;
+}
+
+einbech.gat,216,118,4 script Catzllanpu 854,{
+ mes "[Catzllanpu]";
+ mes "*Sigh...* ";
+ mes "Simple pleasures.";
+ mes "They're what makes";
+ mes "life worth living,";
+ mes "you know?";
+ next;
+ mes "[Catzllanpu]";
+ mes "It's enough for me just to";
+ mes "live a normal and happy life,";
+ mes "but everyone around me wants";
+ mes "to work harder and harder. If";
+ mes "you never take a rest, you're";
+ mes "killing yourself pretty slowly.";
+ next;
+ mes "[Catzllanpu]";
+ mes "I guess you can tell that";
+ mes "I don't have the worries";
+ mes "other people have about";
+ mes "money. It's great, but it's";
+ mes "not worth sacrificing the";
+ mes "quality of your life, right?";
+ close;
+}
diff --git a/npc/cities/einbroch.txt b/npc/cities/einbroch.txt
new file mode 100644
index 000000000..81ee497db
--- /dev/null
+++ b/npc/cities/einbroch.txt
@@ -0,0 +1,1513 @@
+//===== eAthena Script =======================================
+//= Einbroch Town
+//===== By: ==================================================
+//= Nexon
+//===== Current Version: =====================================
+//= 0.4c
+//===== Compatible With: =====================================
+//= eAthena Revision 3000+
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= 0.2 Added some NPCs [MasterOfMuppets]
+//= 0.3 Added a few npcs by reddozen [MasterOfMuppets]
+//= 0.4 Added a crappy quest, have fun guys... [MasterOfMuppets]
+//= 0.4a Added exp bonus for the factory quest, borrowed from a Korean fansite.
+//= 0.4b Added missing close [Komurka]
+//============================================================
+
+
+//== some boards, signs ======================
+einbroch.gat,220,208,5 script Notice Board 858,{
+ mes "[Weapon Shop Entrance]";
+ close;
+}
+
+einbroch.gat,183,174,5 script Bulletin Board 858,{
+ mes "East - Weapon Shop, Hotel";
+ mes "South - Factory";
+ mes "Southwest - Airship Repair Shop,";
+ mes "Laboratory";
+ mes "Northwest - Airport";
+ close;
+}
+
+einbroch.gat,244,255,5 script Bulletin Board 858,{
+ mes " ";
+ mes " Train Station";
+ close;
+}
+
+einbroch.gat,68,206,5 script Bulletin Board 858,{
+ mes " ";
+ mes " Airship Airport";
+ close;
+}
+
+einbroch.gat,162,256,5 script Bulletin Board 858,{
+ mes "East - Train Station";
+ mes "Southeast - Hotel";
+ mes "South - Weapon Shop, Factory";
+ mes "Southwest - Airport, Airship Repair";
+ mes "Shop, Laboratory";
+ close;
+}
+
+einbroch.gat,235,141,5 script Bulletin Board 858,{
+ mes "Southwest- Airship Repair Shop,";
+ mes "Laboratory";
+ mes "Northwest- Airport";
+ mes "Northwest- Weapon Shop, Hotel, Train";
+ mes "Station";
+ close;
+}
+
+//===== Town NPC ===========================================
+function script Ein_Tower {
+ mes "["+ @Tower_Name$ +"]";
+ mes "Good day~";
+ mes "I'm " + @Tower_Name$ +", your";
+ mes "guide to exploring";
+ mes "the Einbroch Tower.";
+ next;
+ mes "["+ @Tower_Name$ +"]";
+ mes "Einbroch Tower offers";
+ mes "the best view of our city";
+ mes "and it's a great place to";
+ mes "meet with friends or take";
+ mes "a date. The Einbroch Tower";
+ mes "admission fee is 10 zeny.";
+ next;
+ mes "["+ @Tower_Name$ +"]";
+ mes "Right now, we're offering";
+ mes "a special promotion called";
+ mes "the Apple Combo Set for only";
+ mes "20 zeny. This set includes";
+ mes "Einbroch Tower admission";
+ mes "and an Apple to snack on.";
+ next;
+ menu "Tower Admission Only",s_Tower,"Apple Combo Set",s_Apple,"Cancel",-;
+
+ mes "["+ @Tower_Name$ +"]";
+ mes "I see.";
+ mes "Feel free to";
+ mes "come back any";
+ mes "time. Thank you.";
+ close2;
+ return;
+
+s_Tower:
+ if(Zeny < 10)goto s_NEnough;
+ set Zeny,Zeny - 10;
+s_Tower2:
+ mes "["+ @Tower_Name$ +"]";
+ mes "Thank you for";
+ mes "using our services.";
+ mes "Let me guide you to";
+ mes "the tower right away.";
+ close2;
+ warp "einbroch.gat",174,204;
+ return;
+
+s_Apple:
+ if(Zeny < 20)goto s_NEnough;
+ mes "["+ @Tower_Name$ +"]";
+ mes "Before I guide you to";
+ mes "the tower, let me check";
+ mes "your status to insure";
+ mes "your safety before I give";
+ mes "you the Apple Combo Set.";
+ next;
+ set Zeny,Zeny - 20;
+ getitem 512,1;
+ goto s_Tower2;
+
+s_NEnough:
+ mes "["+ @Tower_Name$ +"]";
+ mes "I'm sorry but you don't";
+ mes "have enough zeny for the";
+ mes "requested service.";
+ close2;
+ return;
+}
+
+einbroch.gat,176,172,5 script Khemko 855,{
+ set @Tower_Name$,"Khemko";
+ callfunc "Ein_Tower";
+ end;
+}
+
+einbroch.gat,218,198,5 script Mark 855,{
+ set @Tower_Name$,"Mark";
+ callfunc "Ein_Tower";
+ end;
+}
+
+einbroch.gat,174,228,5 script Oberu 855,{
+ set @Tower_Name$,"Oberu";
+ callfunc "Ein_Tower";
+ end;
+}
+
+einbroch.gat,175,196,5 script Morei 854,{
+ mes "[Morei]";
+ mes "Greetings,";
+ mes "I am Morei,";
+ mes "Assistant Guide";
+ mes "of Einbroch Tower.";
+ next;
+ mes "[Morei]";
+ mes "If you wish to return";
+ mes "to the ground floor,";
+ mes "please let me know.";
+ mes "Would you like to go";
+ mes "back to ground level?";
+ next;
+ menu "Yes.",s_Goback,"No.",-;
+
+ mes "[Morei]";
+ mes "I see.";
+ mes "I hope you";
+ mes "enjoy your time";
+ mes "in Einbroch Tower.";
+ close;
+s_Goback:
+ mes "[Morei]";
+ mes "I see.";
+ mes "Let me lead you";
+ mes "to the ground floor.";
+ mes "Thank you for using";
+ mes "our services.";
+ close2;
+ set @towerwarp,rand(1,3);
+ if(@towerwarp == 0)warp "einbroch.gat",218,196;
+ if(@towerwarp == 1)warp "einbroch.gat",178,172;
+ if(@towerwarp == 3)warp "einbroch.gat",172,228;
+ end;
+}
+
+einbroch.gat,208,208,3 script Kesunboss 850,{
+ mes "[Kesunboss]";
+ mes "Lady Calla is the";
+ mes "epitome of elegance,";
+ mes "a veritable goddess";
+ mes "of Einbroch";
+ next;
+ mes "[Kesunboss]";
+ mes "Her gentle voice,";
+ mes "that angelic smile, her";
+ mes "kindness and warmth";
+ mes "towards other people";
+ mes "and above all...";
+ next;
+ mes "[Kesunboss]";
+ mes "Calla's family";
+ mes "is wealthy beyond";
+ mes "imagination! She's";
+ mes "perfect! I don't know who";
+ mes "she'll marry, but he'd be";
+ mes "a lucky gentleman, I'm sure.";
+ next;
+ mes "[Kesunboss]";
+ mes "Lady Calla lives in a magnificent";
+ mes "mansion that makes other houses";
+ mes "look like schacks in comparison.";
+ mes "Head north and then west from";
+ mes "here if you wish to marvel in its";
+ mes "beauty and elegance.";
+ close;
+}
+
+einbroch.gat,232,255,5 script Khowropher 847,{
+ mes "[Khowropher]";
+ mes "^6A6A6A*Cough cough*^000000";
+ mes "Jiminy! The air here";
+ mes "is so thick and grimy!";
+ mes "And it's worse for us old";
+ mes "people with breathing";
+ mes "problems! ^111111*Haaack*^000000";
+ next;
+ mes "[Khowropher]";
+ mes "I don't care if they keep";
+ mes "building more and more";
+ mes "factories and homes in this";
+ mes "town. Still, I'd like to spend";
+ mes "the rest of my life somewhere";
+ mes "quiet and with clean air...";
+ next;
+ mes "[Khowropher]";
+ mes "Then again, Einbroch is my";
+ mes "hometown and I can't just up";
+ mes "and leave. I suppose it's my";
+ mes "fate to suffer from this fould air";
+ mes "until the day I die.^6A6A6A*Sigh...*";
+ close;
+}
+
+einbroch.gat,259,327,5 script Leslie 846,{
+ mes "[Leslie]";
+ mes "^6A6A6A*Cough cough*^000000";
+ mes "Laaaand sakes!";
+ next;
+ mes "[Leslie]";
+ mes "An old woman like me";
+ mes "can't breathe this air! How";
+ mes "do people even live in all this";
+ mes "smog? Sure, the air in Einbech";
+ mes "isn't pristine, but the air here in";
+ mes "Einbroch is much worse! ^111111*Cough~!*^000000";
+ next;
+ mes "[Leslie]";
+ mes "I hate coming here";
+ mes "sometimes! The air is";
+ mes "totally polluted and this";
+ mes "city is full of stuck up";
+ mes "pricks! But they sell stuff";
+ mes "here I can't buy back home...";
+ close;
+}
+
+einbroch.gat,232,272,3 script Train Station Staff::EinbrochTrain 852,{
+ mes "[Staff]";
+ mes "Welcome to";
+ mes "the Train Station.";
+ mes "Trains to Einbech";
+ mes "are always running";
+ mes "so if you miss one,";
+ mes "it's no problem.";
+ next;
+ mes "[Staff]";
+ mes "The fare to board the";
+ mes "train that runs the Einbroch";
+ mes "to Einbech line is 200 zeny.";
+ mes "Would you like to buy a ticket?";
+ next;
+ menu "Yes.",s_Yes,"No.",-,"About the Enviroment...",s_Enviroment;
+
+ mes "[Staff]";
+ mes "Very well, then.";
+ mes "Please enjoy your";
+ mes "stay in Einbroch.";
+ close;
+s_Yes:
+ if(Zeny < 200)goto s_NEnough;
+ mes "[Staff]";
+ mes "Thank you";
+ mes "very much.";
+ mes "Have a safe trip.";
+ mes "^111111*Ahem*^000000 All aboard!";
+ close2;
+ set Zeny,Zeny - 200;
+ warp "einbech.gat",43,215;
+ end;
+s_NEnough:
+ mes "[Staff]";
+ mes "I'm sorry but you";
+ mes "do not have enough";
+ mes "money to pay the fee.";
+ close;
+s_Enviroment:
+ mes "[Staff]";
+ mes "Einbroch is infamous for";
+ mes "its air pollution, no doubt";
+ mes "caused by the industrial";
+ mes "facilities located here.";
+ mes "it's really horrible...";
+ next;
+ mes "[Staff]";
+ mes "Sometimes the air pollution";
+ mes "gets so bad that it becomes";
+ mes "hard to breathe. If you hear";
+ mes "the Einbroch Smog Alert, you";
+ mes "should find shelter immediately!";
+ close;
+}
+
+einbroch.gat,252,301,3 duplicate(EinbrochTrain) Train Station Staff 852
+
+einbroch.gat,228,121,5 script Little Toby 855,{
+ mes "[Little Toby]";
+ mes "Excuse me...";
+ mes "But I'm lost!";
+ mes "I can't find my";
+ mes "mom or dad!";
+ next;
+ mes "[Little Toby]";
+ mes "A-am I at the airport?!";
+ mes "My parents are suposed";
+ mes "to come get me, but I still";
+ mes "haven't found them! We just";
+ mes "moved here, so i dont know";
+ mes "where anything is!";
+ next;
+ mes "[Little Toby]";
+ mes "W-wait!";
+ mes "Where are you";
+ mes "going?! Dont leave";
+ mes "me, I'm all alone...!";
+ close;
+}
+
+einbroch.gat,229,149,3 script Sleik 854,{
+ mes "[Sleik]";
+ mes "Surprisingly, we have";
+ mes "a Train Station that everyone";
+ mes "has been calling a victory for";
+ mes "science. I mean, shouldn't we";
+ mes "be more amazed by the airship";
+ next;
+ mes "[Sleik]";
+ mes "Now, if you want to know";
+ mes "where the train actually goes";
+ mes "I wouldn't be able to tell you.";
+ mes "After all, I never rode it. But";
+ mes "still, I guess having our own";
+ mes "Train Station is a good thing";
+ close;
+}
+
+einbroch.gat,236,191,3 script Tan 855,{
+ mes "[Tan]";
+ mes "All the factories";
+ mes "here in Einbroch are";
+ mes "causing a serious air";
+ mes "pollution problem.";
+ next;
+ mes "[Tan]";
+ mes "I'm an Airship engineer and";
+ mes "everyday, all day long, I deal";
+ mes "with oil stains and all sorts";
+ mes "of pollutants. i'm supprised";
+ mes "I havn't gotten sick yet...";
+ next;
+ mes "[Tan]";
+ mes "Still, I try to be careful";
+ mes "when I can. Whenever I go";
+ mes "out into the city's red fog,";
+ mes "I always wear my Flu Mask.";
+ mes "If you'll be here a while,";
+ mes "you should carry one with you.";
+ close;
+}
+
+einbroch.gat,132,84,3 script Liotzburg 853,{
+
+if(EinFactory > 13)goto s_Budget2;
+if(EinFactory == 13)goto s_Budget;
+ mes "[Liotzburg]";
+ mes "I'm the plant";
+ mes "superintendant of this";
+ mes "factory. Most of my employees";
+ mes "are diligent workers. I can't say";
+ mes "that of everyone, but overall we're";
+ mes "doing an excellent job. Ha ha ha~!";
+ next;
+ mes "[Liotzburg]";
+ mes "So long as this factory";
+ mes "is well maintained, we won't";
+ mes "have to worry about this city's";
+ mes "safety. The field overseer,";
+ mes "Zelmeto, is also very reliable.";
+ next;
+ mes "[Liotzburg]";
+ mes "I can trust Zelmeto";
+ mes "to look after things,";
+ mes "so there's no need for";
+ mes "me to go inside the factory.";
+ mes "Delegating work is great!";
+ next;
+ mes "[Liotzburg]";
+ mes "Our factory will";
+ mes "continue to develop";
+ mes "and everyone will be";
+ mes "proud of the progress";
+ mes "we're making. Yes, I can";
+ mes "assure you of that!";
+ close;
+s_Budget:
+ mes "[Liotzburg]";
+ mes "Why waste money?";
+ mes "We haven't had any";
+ mes "problems so far! Look,";
+ mes "everything's fine! Why";
+ mes "are you exaggerating";
+ mes "such small details?";
+ next;
+ mes "[Liotzburg]";
+ mes "The field overseer,";
+ mes "Zelmeto, just came by to";
+ mes "ask for a budget increase.";
+ mes "Well, I think he's lying!";
+ mes "Everything's perfect!";
+ if(EinFactory == 13)set EinFactory,14;
+ close;
+s_Budget2:
+ mes "[Liotzburg]";
+ mes "What...?";
+ mes "Factory Repair";
+ mes "budget? No way!";
+ next;
+ goto s_Budget;
+
+}
+
+ein_in01.gat,31,217,3 script Cendadt 851,{
+
+ mes "[Cendadt]";
+ mes "This factory has a lot";
+ mes "of things that need fixing,";
+ mes "pronto! I'm amazed that";
+ mes "the place is still operating!";
+ next;
+ mes "[Cendadt]";
+ mes "Lucky for us, I head that";
+ mes "some altruistic adventurers";
+ mes "have been donating materials";
+ mes "to help keep this factory from";
+ mes "falling apart... Or worse.";
+ mes "But that's just a rumor.";
+ next;
+ mes "[Cendadt]";
+ mes "^6A6A6A*Sigh*^000000";
+ mes "Even if it is true,";
+ mes "there's nothing no one";
+ mes "here can do. Nobody has";
+ mes "the courage to challenge";
+ mes "the system, you know?";
+ next;
+ mes "[Cendadt]";
+ mes "I...";
+ mes "I better get";
+ mes "back to work";
+ mes "before I get";
+ mes "in trouble...";
+ close;
+}
+
+ein_in01.gat,36,204,3 script Rombell 851,{
+
+ mes "[Rombell]";
+ mes "It's great that the";
+ mes "factory is making good";
+ mes "business and drawing";
+ mes "in a lot of profit, but I still";
+ mes "have one major convern.";
+ next;
+ mes "[Rombell]";
+ mes "The ammount of pollution";
+ mes "that this place is causing";
+ mes "is horrific! We've got these";
+ mes "machines blowing out toxic";
+ mes "gas all day long! The air";
+ mes "can't be safe for very long...";
+ next;
+ mes "[Rombell]";
+ mes "I mean, the air we're";
+ mes "breathing right now is";
+ mes "pretty foul and things";
+ mes "are only going to get";
+ mes "worse. How can we";
+ mes "solve this problem?";
+ close;
+}
+
+ein_in01.gat,49,202,3 script Dorf 851,{
+
+ mes "[Dorf]";
+ mes "machines are sooo";
+ mes "convenient. Just look";
+ mes "at this contraption easily";
+ mes "do tasks that'd be tough";
+ mes "for me to finish alone";
+ next;
+ mes "[Dorf]";
+ mes "Now this is what";
+ mes "I call technology!";
+ mes "Sure, it takes effort and";
+ mes "money to make one of";
+ mes "these, but what do I care?";
+ next;
+ mes "[Dorf]";
+ mes "I've got no problems,";
+ mes "so long as this freaking";
+ mes "thing keeps working the";
+ mes "way I want it to!";
+ close;
+}
+
+ein_in01.gat,48,220,3 script Lowe 851,{
+
+ mes "[Lowe]";
+ mes "...";
+ next;
+ mes "[Lowe]";
+ mes "...";
+ mes "......";
+ next;
+ mes "[Lowe]";
+ mes "...";
+ mes "......";
+ mes ".........";
+ next;
+ mes "[Lowe]";
+ mes "Hey. Why are you";
+ mes "looking at me like";
+ mes "that? There's no idle";
+ mes "chatting allowed at work.";
+ mes "If Canphotii catches";
+ mes "you, you'll be punished";
+ next;
+ mes "[Lowe]";
+ mes "Oh wait...";
+ mes "You don't work here.";
+ mes "I appologize, that kind";
+ mes "of reaction's an old";
+ mes "habit for me, adventurer.";
+ close;
+}
+
+ein_in01.gat,43,253,4 script Canphotii 852,{
+
+ mes "[Canphotii]";
+ mes "Hustle, hustle!";
+ mes "Pick up the pace!";
+ mes "Anyone working too";
+ mes "slowly will be punished!";
+ next;
+ mes "[Canphotii]";
+ mes "Can't you understand";
+ mes "that?! Now go to your";
+ mes "station and get back to";
+ mes "work! Wait, are you even";
+ mes "an employee? If not, then";
+ mes "stop wandering around!";
+ next;
+ mes "[Canphotii]";
+ mes "You're not supposed";
+ mes "to be able to get in here!";
+ mes "I can't believe they let you";
+ mes "in! This requires extreme";
+ mes "disciplinary action!";
+ close;
+}
+
+ein_in01.gat,68,209,4 script Khashurantze 852,{
+
+ mes "[Khashurantze]";
+ mes "I'm sorry, but you need";
+ mes "special authority in order";
+ mes "to enter this place. I'll have";
+ mes "to ask you to leave right now.";
+ if(EinFactory > 0)goto L_work;
+ close2;
+ warp "einbroch.gat",179,63;
+ end;
+
+L_work:
+ next;
+ mes "[Khashurantze]";
+ mes "Oh? Mr. Zelmeto asked you to help out?";
+ mes "In that case excuse me.";
+ close;
+}
+
+ein_in01.gat,113,211,3 script Treinz 851,{
+
+ mes "[Treinz]";
+ mes "If you just pay me money,";
+ mes "I'll be your slave! There's";
+ mes "nothing I won't do! Anything";
+ mes "is fair game. Hell, I'll get buck";
+ mes "naked if you pay me enough.";
+ next;
+ mes "[Treinz]";
+ mes "If you pay me what I'm";
+ mes "worth, I'll work hard at";
+ mes "any task you set me to.";
+ mes "Sure, mining's rough, but";
+ mes "as long as the zeny's coming";
+ mes "in, I'm happy. Heh heh heh~";
+ close;
+}
+
+ein_in01.gat,84,218,3 script Tsuen 851,{
+
+ mes "[Tsuen]";
+ mes "There was a time";
+ mes "when I dreamed of";
+ mes "being an adventurer,";
+ mes "just like you. But that";
+ mes "was a long time ago...";
+ next;
+ mes "[Tsuen]";
+ mes "Now, I'm nothing but";
+ mes "a factory manager. Still,";
+ mes "even if my job's not that";
+ mes "great, I'm pretty satisifed.";
+ mes "I'm sure people enjoy the";
+ mes "products I oversee and all...";
+ next;
+ mes "[Tsuen]";
+ mes "Maybe my life was meant";
+ mes "to be this way, even if it's";
+ mes "not how I planned it. But the";
+ mes "time will come when I up and";
+ mes "leave and travel the world";
+ mes "once I get my chance!";
+ next;
+ mes "[Tsuen]";
+ mes "I hope the day will";
+ mes "come when I can meet";
+ mes "you out in that big wide";
+ mes "world and greet you as";
+ mes "a fellow adventurer.";
+ close;
+}
+
+ein_in01.gat,85,261,3 script Zherin 851,{
+
+ mes "[Zherin]";
+ mes "I'm in charge of this";
+ mes "blast furnace which";
+ mes "contains all of this";
+ mes "boiling magma.";
+ next;
+ mes "[Zherin]";
+ mes "Even though it doesn't";
+ mes "require actual labor, this";
+ mes "job is pretty tiring. I've got";
+ mes "to pay careful attention all";
+ mes "the time. It's pretty stressful.";
+ next;
+ mes "[Zherin]";
+ mes "Still, I'm proud of my job";
+ mes "since I have the responsibility";
+ mes "of ensuring employee safety.";
+ mes "Anyway, don't get too close";
+ mes "to the furnace. It won't do if";
+ mes "you get burned on accident!";
+ close;
+}
+
+ein_in01.gat,64,271,3 script Vonstein 851,{
+
+ mes "[Vonstein]";
+ mes "Staring at this";
+ mes "bubbling hot liquid";
+ mes "metal gives me a good";
+ mes "feeling inside. It's like";
+ mes "that stuff can melt anything!";
+ next;
+ mes "[Vonstein]";
+ mes "Imagine covering an";
+ mes "entire street of people";
+ mes "with that stuff! Bwahah--";
+ mes "Oh, I'm sorry if I'm talking";
+ mes "crazy talk! I'm just kidding~";
+ close;
+}
+
+ein_in01.gat,33,275,9 script Pevtatin 848,{
+
+ mes "[Pevtatin]";
+ mes "Good god!";
+ mes "I'm so stressed!";
+ mes "It's been nonstop";
+ mes "since I moved here!";
+ next;
+ mes "[Pevtatin]";
+ mes "The work is tough and";
+ mes "already the boss hates";
+ mes "me! I didn't move here";
+ mes "for this! Still, the pay is";
+ mes "decent so I guess I should";
+ mes "endure just a little longer.";
+ next;
+ mes "[Pevtatin]";
+ mes "Here goes...!";
+ mes "Yo-heave-ho!";
+ mes "Yo-heave-ho~!";
+ close;
+}
+
+ein_in01.gat,87,237,3 script Dinje 850,{
+
+ mes "[Dinje]";
+ mes "Do you know why a woman";
+ mes "like me has to work in this";
+ mes "factory? I'll tell you why...";
+ next;
+ mes "[Dinje]";
+ mes "My lazy husband, Gesin,";
+ mes "is just lying there on the";
+ mes "ground! So I have to work";
+ mes "in order to support us!";
+ next;
+ mes "[Dinje]";
+ mes "We can't rest for even";
+ mes "a second if we want to save";
+ mes "enough money to become";
+ mes "wealthy and powerful some";
+ mes "day. Don't you understand?";
+ next;
+ mes "[Dinje]";
+ mes "Well, my husband obviously";
+ mes "doesn't! How can he not know";
+ mes "how the real world works?!";
+ mes "Hey, kick his ass for me if";
+ mes "he doesn't wake up soon!";
+ close;
+}
+
+ein_in01.gat,103,238,9 script Gesin 849,{
+
+ mes "[Gesin]";
+ mes "Arrgh!";
+ mes "This is killing me!";
+ mes "Why should I be rich?!";
+ mes "What's wrong with living";
+ mes "within our means?";
+ next;
+ mes "[Gesin]";
+ mes "I've got no problem";
+ mes "with my current way";
+ mes "of life, but the old ball";
+ mes "and chain disagrees.";
+ mes "Why is she so obsessed";
+ mes "with riches and power?";
+ next;
+ mes "[Gesin]";
+ mes "Well, in any case, I'd";
+ mes "like to help her, but I can't";
+ mes "get up! I'm exhausted and";
+ mes "my body is just overtaxed.";
+ mes "I have no strength at all.";
+ next;
+ mes "[Gesin]";
+ mes "This is horrible~";
+ mes "I should be resting";
+ mes "instead of worrying";
+ mes "about making money...";
+ close;
+}
+
+ein_in01.gat,67,243,3 script Zelmeto 851,{
+
+ if(EinFactory > 0)goto s_Switches;
+ mes "[Zelmeto]";
+ mes "Ah, you must be a visitor.";
+ mes "I'm Zelmeto Abellov, the";
+ mes "field overseer. Have you";
+ mes "been in this facility before?";
+ next;
+ mes "[Zelmeto]";
+ mes "This factory plays an";
+ mes "important role in our city";
+ mes "and generates a lot of income.";
+ mes "However, our employess suffer";
+ mes "from a poor work environment.";
+ next;
+ mes "[Zelmeto]";
+ mes "Our superintendant makes a lot";
+ mes "of money and seems content with";
+ mes "the current situation. However, the";
+ mes "rest of the workforce doesn't enjoy";
+ mes "all of the benefits he receives.";
+ mes "[Zelmeto]";
+ mes "Many people have already";
+ mes "quit and there are only a few";
+ mes "people who continue to work";
+ mes "here. So now we're understaffed";
+ mes "and I'm in quite a bind...";
+ next;
+ mes "[Zelmeto]";
+ mes "There are some urgent";
+ mes "tasks I need done, but";
+ mes "there's no way for me";
+ mes "to recruit new workers.";
+ mes "Ah, I'm sorry, I've spoken too";
+ mes "freely about my own problems...";
+ next;
+ menu "You're understaffed?",s_Underst,"No, it's okay.",-;
+
+ mes "[Zelmeto]";
+ mes "Thank you for";
+ mes "your kindness.";
+ mes "And please don't";
+ mes "let anyone know about";
+ mes "anything I just told you.";
+ close;
+
+s_Underst:
+ mes "[Zelmeto]";
+ mes "Yes, we are!";
+ mes "I don't have enough";
+ mes "people to inspect the";
+ mes "factory machines and";
+ mes "determine what kinds";
+ mes "of problems we have.";
+ next;
+ mes "[Zelmeto]";
+ mes "It's a time consuming";
+ mes "task I'd rather do on my";
+ mes "own. However, between that";
+ mes "and managing the workforce,";
+ mes "I don't have enough time...";
+ next;
+ menu "I can help you.",s_Help,"Keep up the good job.",-;
+
+ mes "[Zelmeto]";
+ mes "Well, it's a living.";
+ mes "^6A6A6A*Sigh*^000000 I can put up with";
+ mes "this, but I hope the higher";
+ mes "ups will consider improving";
+ mes "the work environment here...";
+ close;
+
+s_Help:
+ mes "[Zelmeto]";
+ mes "You can help me?";
+ mes "I know something like";
+ mes "this is too much to ask,";
+ mes "but I'll accept any help";
+ mes "anyone offers me. I'm";
+ mes "that desperate.";
+ next;
+ mes "[Zelmeto]";
+ mes "Alright, I'll have you";
+ mes "inspect the machines";
+ mes "in the factory one by one.";
+ mes "It's imperative that we know";
+ mes "what needs to be repaired";
+ mes "and what's working fine";
+ next;
+ mes "[Zelmeto]";
+ mes "First, find the ^FF00002nd control";
+ mes "panel^000000 and determine its";
+ mes "status. I'm fairly certain that";
+ mes "it broke a long time ago, but";
+ mes "it wouldn't hur to make sure.";
+ mes "You should find it easily.";
+ next;
+ mes "[Zelmeto]";
+ mes "When you finish your";
+ mes "inspection, report back";
+ mes "to me so I can tell you";
+ mes "which machine to check";
+ mes "next. Thanks again for";
+ mes "offering to help";
+ set EinFactory,1;
+ close;
+s_Switches:
+ switch(EinFactory)
+{
+ case 1:
+ mes "[Zelmeto]";
+ mes "If you would,";
+ mes "please inspect the";
+ mes "2nd control panel that";
+ mes "seems to have been";
+ mes "broken for a while...";
+ close;
+ break;
+
+ case 2:
+ mes "[Zelmeto]";
+ mes "Huh, I see.";
+ mes "We must do something";
+ mes "about that as soon as";
+ mes "we can. Now, let me tell";
+ mes "you what to check next.";
+ next;
+ mes "[Zelmeto]";
+ mes "There are 3 automatic";
+ mes "pressure governors which";
+ mes "hammer the bent iron plates";
+ mes "from above to flatten them. It";
+ mes "seems that one of them may";
+ mes "have some kind of problem.";
+ next;
+ mes "[Zelmeto]";
+ mes "Please inspect the ^FF0000automatic";
+ mes "pressure governors^000000. Even if the";
+ mes "problem seems small, please";
+ mes "report it to me. I know it might";
+ mes "seem fine now, but I want to";
+ mes "prevent an accident if I can.";
+ next;
+ mes "[Zelmeto]";
+ mes "Thank you";
+ mes "in advance,";
+ mes "adventurer.";
+ set EinFactory,3;
+ close;
+ break;
+
+ case 3:
+ mes "[Zelmeto]";
+ mes "You need to inspect";
+ mes "an automatic pressure";
+ mes "governor. It looks fine,";
+ mes "but sometimes it makes";
+ mes "strange noises.";
+ next;
+ mes "[Zelmeto]";
+ mes "It probably will";
+ mes "be a good idea to";
+ mes "check that machine";
+ mes "more carefully this";
+ mes "time, just in case.";
+ next;
+ mes "[Zelmeto]";
+ mes "Thank you";
+ mes "for helping us,";
+ mes "adventurer.";
+ close;
+ break;
+
+ case 4:
+ mes "[Zelmeto]";
+ mes "What...?";
+ mes "This is worse";
+ mes "than I expected. But";
+ mes "it's good that we know";
+ mes "about these problems";
+ mes "as soon as possible.";
+ next;
+ mes "[Zelmeto]";
+ mes "Don't you worry,";
+ mes "we'll take care of";
+ mes "this. In the meantime,";
+ mes "I'd like you to inspect";
+ mes "the next machine for me.";
+ next;
+ mes "[Zelmeto]";
+ mes "I want you to check";
+ mes "a ^FF0000control panel^000000. It's the";
+ mes "same kind as the one";
+ mes "you just inspected, but";
+ mes "bigger in size.";
+ next;
+ mes "[Zelmeto]";
+ mes "It's located in the";
+ mes "middle of the factory,";
+ mes "so you should be able";
+ mes "to find it. It may be in bad";
+ mes "condition, even though it's";
+ mes "operating fine for now...";
+ next;
+ mes "[Zelmeto]";
+ mes "We need to ensure that";
+ mes "it's stable, reliable and";
+ mes "doesn't pose a threat to";
+ mes "our workforce. Thanks";
+ mes "again, adventurer.";
+ set EinFactory,5;
+ close;
+ break;
+
+ case 5:
+ mes "[Zelmeto]";
+ mes "I'd like you to inspect";
+ mes "the control panel. It's";
+ mes "fairly large and can be";
+ mes "found in the middle of the";
+ mes "factory. You shouldn't have";
+ mes "too much trouble finding it.";
+ close;
+ break;
+
+ case 6:
+ mes "[Zelmeto]";
+ mes "I see...";
+ mes "It's most likely that";
+ mes "there was a short";
+ mes "circuit and most";
+ mes "of the internal devices";
+ mes "were burnt out...";
+ next;
+ mes "[Zelmeto]";
+ mes "Thanks for checking";
+ mes "that out for me. Now,";
+ mes "the next machine I need";
+ mes "you to inspect is different";
+ mes "than the others I've had";
+ mes "you examine.";
+ next;
+ mes "[Zelmeto]";
+ mes "It's a mechanical";
+ mes "hand that transports";
+ mes "small objects. We didn't";
+ mes "really give it a name, but";
+ mes "you should be able to find it.";
+ next;
+ mes "[Zelmeto]";
+ mes "Recently, it seems";
+ mes "that there have been";
+ mes "problems in operating";
+ mes "that machine. If something's";
+ mes "broken, we need to know";
+ mes "and fix it right away.";
+ next;
+ mes "[Zelmeto]";
+ mes "Thanks again";
+ mes "in advance.";
+ set EinFactory,7;
+ close;
+ break;
+
+ case 7:
+ mes "[Zelmeto]";
+ mes "The machine which";
+ mes "I want you to inspect";
+ mes "this time is a small";
+ mes "sized conveyor.";
+ next;
+ mes "[Zelmeto]";
+ mes "Be sure that you";
+ mes "inspect the small";
+ mes "one, since we also";
+ mes "have a large conveyor";
+ mes "in the factory as well";
+ close;
+ break;
+
+ case 8:
+ mes "[Zelmeto]";
+ mes "Huh?";
+ mes "I'm suprised to hear";
+ mes "that. ^6A6A6A*Sigh*^000000 There's just";
+ mes "too many things that need";
+ mes "fixing. This is terrible...";
+ next;
+ mes "[Zelmeto]";
+ mes "Well, let me worry";
+ mes "about that for now. Please";
+ mes "focus on continuing to inspect";
+ mes "some of the other machines.";
+ next;
+ mes "[Zelmeto]";
+ mes "Now, there's a pipe inside";
+ mes "this factory that I want you";
+ mes "to look at. Many of our pipes";
+ mes "aren't in the best condition,";
+ mes "but this particular one might";
+ mes "be severely damaged.";
+ next;
+ mes "[Zelmeto]";
+ mes "Now, the pipe I want";
+ mes "you to inspect is located";
+ mes "near those large caultrons";
+ mes "of molten metal. You should";
+ mes "be able to find it pretty easily";
+ next;
+ mes "[Zelmeto]";
+ mes "Thanks again";
+ mes "for your help,";
+ mes "adventurer.";
+ set EinFactory,9;
+ close;
+ break;
+
+ case 9:
+ mes "[Zelmeto]";
+ mes "The pipe I want";
+ mes "you to inspect is located";
+ mes "near those large caultrons";
+ mes "of molten metal. You should";
+ mes "be able to find it pretty easily";
+ next;
+ mes "[Zelmeto]";
+ mes "Thanks again";
+ mes "for your help,";
+ mes "adventurer.";
+ close;
+ break;
+
+ case 10:
+ mes "[Zelmeto]";
+ mes "This is";
+ mes "worse than";
+ mes "I imagined...";
+ next;
+ mes "[Zelmeto]";
+ mes "We've got to start";
+ mes "repairs as soon as we";
+ mes "can! Hopefully, we can";
+ mes "resolve this before";
+ mes "any serious problems happen...";
+ next;
+ mes "[Zelmeto]";
+ mes "Alright, the last";
+ mes "thing that you need to";
+ mes "inspect is a ^FF0000large conveyor^000000.";
+ mes "It's similiar to the one you";
+ mes "inspected before, but it's";
+ mes "bigger and more powerful.";
+ next;
+ mes "[Zelmeto]";
+ mes "We have only one of these";
+ mes "machines and it's usually";
+ mes "moved around a lot since";
+ mes "a lot of people in the factory";
+ mes "use it. I really don't know";
+ mes "where it could be now.";
+ next;
+ mes "[Zelmeto]";
+ mes "Still I'm sure that";
+ mes "it's inside the building,";
+ mes "so you should be able to";
+ mes "find it. I hope you can inspect";
+ mes "that conveyor for me soon.";
+ set EinFactory,11;
+ close;
+ break;
+
+ case 11:
+ mes "[Zelmeto]";
+ mes "The machine which";
+ mes "you are supposed to";
+ mes "inspect right now";
+ mes "is a large convyore.";
+ next;
+ mes "[Zelmeto]";
+ mes "Remember that we";
+ mes "also have a small sized";
+ mes "conveyor, so make sure";
+ mes "that you examine the";
+ mes "larger one, alright?";
+ close;
+ break;
+
+ case 12:
+ mes "[Zelmeto]";
+ mes "Well, I figured that both";
+ mes "conveyors would have";
+ mes "similiar problems. We";
+ mes "can fix them at the";
+ mes "same time, but it'll";
+ mes "be a hassle";
+ next;
+ mes "[Zelmeto]";
+ mes "Thank you so much for";
+ mes "your help. Without you,";
+ mes "I'm pretty sure we wouldn't";
+ mes "know about these problems";
+ mes "until it was too late.";
+ next;
+ mes "[Zelmeto]";
+ mes "Now, I've got to make sure";
+ mes "we have enough materials";
+ mes "to make the repairs so that";
+ mes "the machines will be safely";
+ mes "functioning again.";
+ next;
+ mes "[Zelmeto]";
+ mes "First, I better";
+ mes "hurry and request";
+ mes "an increase for the";
+ mes "Factory Repair budget";
+ mes "from our superintendant.";
+ set EinFactory,13;
+ close;
+ break;
+
+ case 13:
+ mes "[Zelmeto]";
+ mes "I've got to report this";
+ mes "to our superintendant";
+ mes "as soon as possible.";
+ next;
+ mes "[Zelmeto]";
+ mes "With any luck, he'll approve";
+ mes "a budget increase so that we";
+ mes "can get all of the materials";
+ mes "needed for the repairs.";
+ close;
+ break;
+
+ case 14:
+ mes "[Zelmeto]";
+ mes "...";
+ mes "......";
+ next;
+ mes "[Zelmeto]";
+ mes "^6A6A6A*Sigh*^000000";
+ mes "My proposal was rejected";
+ mes "by our superintendant. But";
+ mes "maintainance and repairs";
+ mes "are crucial for peak operating";
+ mes "efficiency and worker safety!";
+ next;
+ mes "[Zelmeto]";
+ mes "I'm frustrated and worried.";
+ mes "Maybe nothing will happen";
+ mes "for now, but we've got to";
+ mes "safeguard our future by";
+ mes "regularly maintaining";
+ mes "all of these machines";
+ next;
+ mes "[Zelmeto]";
+ mes "Even possible threats";
+ mes "to the safety of our workers";
+ mes "can't be ignored. Isn't there";
+ mes "something I can do? ^6A6A6A*Sigh*^000000";
+ next;
+ mes "[Zelmeto]";
+ mes "If we can";
+ mes "just get";
+ mes "20 ^FF0000Flexible Tube^000000,";
+ mes "10 ^FF0000Rusty Screw^000000 and";
+ mes "10 ^FF0000Used Iron Plate^000000,";
+ mes "we could make those repairs.";
+ next;
+ mes "[Zelmeto]";
+ mes "But without funds, there's";
+ mes "no way we can purchase";
+ mes "those items. If something";
+ mes "happens, who's going to";
+ mes "be responsible?";
+ set EinFactory,15;
+ close;
+ break;
+
+ case 15:
+ if(countitem(7325) > 19 && countitem(7317) > 9 && countitem(7319) > 9)goto s_Again;
+ mes "[Zelmeto]";
+ mes "We need";
+ mes "at least";
+ mes "20 ^FF0000Flexible Tube^000000,";
+ mes "10 ^FF0000Rusty Screw^000000 and";
+ mes "10 ^FF0000Used Iron Plate^000000,";
+ mes "to repair this factory.";
+ next;
+ mes "[Zelmeto]";
+ mes "^6A6A6A*Sigh*^000000";
+ mes "But there's no way";
+ mes "we can get all of those";
+ mes "things. Our budget isn't";
+ mes "big enough to cover it.";
+ close;
+ s_Again:
+ mes "[Zelmeto]";
+ mes "Ah, it's you again.";
+ mes "It's shameful letting";
+ mes "other people know about";
+ mes "our miserable situation...";
+ next;
+ mes "[Zelmeto]";
+ mes "There's nothing";
+ mes "worth seeing here,";
+ mes "so there really isn't";
+ mes "a point in you coming to";
+ mes "visit this place anymore.";
+ next;
+ menu "Give him the materials.",s_Give,"Huh.",-;
+
+ mes "[Zelmeto]";
+ mes "^6A6A6A*Sigh*^000000";
+ mes "I'm really worried";
+ mes "about this factory's";
+ mes "future. What is our";
+ mes "superintendant thinking...?";
+ close;
+
+ s_Give:
+ mes "[Zelmeto]";
+ mes "...Hm?";
+ mes "Aren't these the";
+ mes "materials we need";
+ mes "to make repairs in";
+ mes "the factory? How did";
+ mes "you find all of these?";
+ next;
+ if(countitem(7325) < 20 || countitem(7317) < 10 || countitem(7319) < 10)close;
+ delitem 7325,20;
+ delitem 7317,10;
+ delitem 7319,10;
+ set EinFactory,16;
+ if (BaseLevel < 80) set BaseExp,BaseExp+35000;
+ if ((BaseLevel >= 80) && (BaseLevel < 90)) set BaseExp,BaseExp+88000;
+ if (BaseLevel >= 90) set BaseExp,BaseExp+367000;
+ mes "[Zelmeto]";
+ mes "I don't know how";
+ mes "I can possible pay you";
+ mes "back for this great favor.";
+ mes "I appreciate that you've";
+ mes "stepped forward to help us.";
+ next;
+ mes "[Zelmeto]";
+ mes "Oh...!";
+ mes "In my years of managing,";
+ mes "I've learned the ultimate";
+ mes "motivation techniques. Let";
+ mes "me enhance your motivation";
+ mes "to show you my gratitude.";
+ next;
+ mes "[Zelmeto]";
+ mes "Now...";
+ mes "Just open your mind";
+ mes "and listen to my words";
+ mes "of encouragement";
+ mes "and inspiration...";
+ next;
+ mes "[Zelmeto]";
+ mes "^3131FFWhen the going";
+ mes "gets rough, you've";
+ mes "gotta get rougher!";
+ mes "You gotta climb that";
+ mes "mountain 'cause no one's";
+ mes "gonna climb it for you!";
+ next;
+ mes "[Zelmeto]";
+ mes "^3131FFDon't give it up!";
+ mes "Go for broke!";
+ mes "Losers are quitters";
+ mes "and quitters are losers!";
+ next;
+ mes "[Zelmeto]";
+ mes "^6A6A6A*Whew*";
+ mes "^000000I haven't given that much";
+ mes "inspiration in a while, but";
+ mes "your help was well worth it.";
+ mes "I'm going to start the repairs, but";
+ mes "once again I'd like to thank you.";
+ close;
+ break;
+
+ case 16:
+ mes "[Zelmeto]";
+ mes "We'll be putting good";
+ mes "use to the materials you";
+ mes "gave me. With your help,";
+ mes "our factory will operate";
+ mes "safely. At least, for just";
+ mes "a little while longer.";
+ close;
+}
+
+}
+
+ein_in01.gat,50,232,4 script 2nd Control Panel 111,{
+
+if(EinFactory == 1)
+{
+ mes "^3131FFIt's the 2nd control panel";
+ mes "Zelmeto asked you to inspect.";
+ mes "it looks totally broken: screws";
+ mes "are missing, and the iron cover";
+ mes "has been bent open, revealing";
+ mes "a tangled mess of wires inside.";
+ set EinFactory,2;
+ close;
+}
+end;
+}
+
+
+ein_in01.gat,108,217,4 script 3rd Pressure Governor 111,{
+
+if(EinFactory == 3)
+{
+ mes "^3131FFAt first glance, this";
+ mes "pressure governor looks";
+ mes "perfectly fine. But after you";
+ mes "check it more carefully, you";
+ mes "find that it's making strange";
+ mes "grinding noises and a few of";
+ mes "the surface screws are loose.";
+ set EinFactory,4;
+ close;
+}
+end;
+}
+
+ein_in01.gat,61,259,4 script Main Control Panel 111,{
+
+if(EinFactory == 5)
+{
+ mes "^3131FFThe main control panel";
+ mes "doesn't look like it has";
+ mes "any problems. But after";
+ mes "tapping on its surface,";
+ mes "you hear a disheartening";
+ mes "hollow sound. It looks like";
+ mes "it's missing some parts...";
+ set EinFactory,6;
+ close;
+}
+end;
+}
+ein_in01.gat,47,197,4 script Conveyor 111,{
+
+if(EinFactory == 7)
+{
+ mes "^3131FFThe conveyor's movements";
+ mes "look jittery and clumsy. The";
+ mes "mechanical arm also doesn't";
+ mes "look powerful enough to bear";
+ mes "the loads that it's carrying. The";
+ mes "screws in the conveyor look";
+ mes "loose and rusted over.";
+ set EinFactory,8;
+ close;
+}
+end;
+}
+
+ein_in01.gat,100,267,4 script Pipe 111,{
+
+if(EinFactory == 9)
+{
+ mes "^3131FFThe inspection of this";
+ mes "pipe didn't take very long.";
+ mes "It's bloated and worn out";
+ mes "from long durations of";
+ mes "being overloaded with";
+ mes "pressure. It's a wonder";
+ mes "it hasn't exploded yet.";
+ set EinFactory,10;
+ close;
+}
+end;
+}
+
+ein_in01.gat,95,238,4 script Conveyor 111,{
+
+if(EinFactory == 11)
+{
+ mes "^3131FFThis conveyor seems";
+ mes "to have similiar problems";
+ mes "as its smaller version. Its";
+ mes "movements are awkward,";
+ mes "erratic and weak, and almost";
+ mes "all of its screws are rusted.";
+ set EinFactory,12;
+ close;
+}
+end;
+}
+
+einbroch.gat,188,72,3 script Keneshiotz 855,{
+
+ mes "[Keneshiotz]";
+ mes "This city is full of sky";
+ mes "high smokestacks and";
+ mes "the droning hum of machines.";
+ next;
+ mes "[Keneshiotz]";
+ mes "Sure, the air is polluted,";
+ mes "but I think it's a fair price";
+ mes "to pay for wealth and a";
+ mes "modern life of comfort.";
+ mes "Screw the environment!";
+ next;
+ mes "[Keneshiotz]";
+ mes "I'd much rather live like";
+ mes "this than end up like those";
+ mes "backwards vagrants in that";
+ mes "filthy Einbech. Don't they";
+ mes "know that money makes";
+ mes "the world go 'round?";
+ close;
+} \ No newline at end of file
diff --git a/npc/cities/geffen.txt b/npc/cities/geffen.txt
new file mode 100644
index 000000000..49d89bb26
--- /dev/null
+++ b/npc/cities/geffen.txt
@@ -0,0 +1,678 @@
+//===== eAthena Script =======================================
+//= Geffen Town
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Fully working
+//= 1.1 - Spell Checked [massdriller]
+//= 1.2 Fixed more typo’s [Nexon]
+//= 1.3 added a Level 4 weapon quest related NPC [MasterOfMuppets]
+//============================================================
+
+
+// Lady -------------------------------------------------------
+geffen.gat,59,143,8 script Lady 91,{
+ mes "[Lady]";
+ mes "Oh, you must be a Stranger here.";
+ next;
+ mes "[Lady]";
+ mes "Welcome to Geffen, the City of Magic. You Must be very tired? Why don't you eat Some ^ffaa00Honey^000000? It will relieve of your fatigue";
+ next;
+ mes "[Lady]";
+ mes "Honey is very sweet and highly nutritious. It will allow you to ^0000ffregain^000000 some of your ^0000ffHP as well as SP^000000.";
+ mes "It's gathered by Hornets for the queen bee ^ff0000Mistress^000000. mistress is a very rare and powerfully monster.";
+ next;
+ mes "[Lady]";
+ mes "BELIEVE me, you DON'T want to try and take honey away from HER....";
+ next;
+ mes "[Lady]";
+ mes "There are other monsters that drop honey but they are fairly strong. Honey is pretty hard to come by which makes it very pricey to buy.";
+ next;
+ mes "[Lady]";
+ mes "Believe it or not Honey is actually NOT the most valuable bee product there is.......";
+ mes "Apparently ^ffaa00`Royal Jelly'^000000, which is made by ^ff0000Mistress^000000 herself, is even rarer and more sought after.";
+ next;
+ mes "[Lady]";
+ mes "Ah~ Thinking of Royal Jelly makes my mouth Water~";
+ close;
+}
+
+
+// Womankind ------------------------------------------------------------
+geffen.gat,111,48,2 script Kind Woman 101,{
+ mes "[Kind Woman]";
+ mes "Good Day, adventurer.";
+ next;
+ mes "[Kind Woman]";
+ mes "Have you ever seen the ^ff0000Orcs^000000, the Demi-Human Tribe?";
+ next;
+ mes "[Kind Woman]";
+ mes "South of here, deep in the forest, lies the home land of the Orcs. I here they have a unique culture and language that is much different from our own.";
+ next;
+ mes "[Kind Woman]";
+ mes "I wonder.....? Do they dream of love and romance just as we do? Hmm..... I wonder........";
+ close;
+}
+
+
+// Researcher ------------------------------------------------------------------------
+geffen.gat,156,190,8 script Researcher 57,{
+ mes "[Researcher]";
+ mes "Hmm... Interesting. Hmm... It is Very interesting....";
+ next;
+ mes "[Researcher]";
+ mes "Oh, you've come at just the right time. Let me tell you about something I just discovered.";
+ next;
+ mes "[Researcher]";
+ mes "You see, I found this Mysterious Scroll when I was researching Magic. In the scroll there is a description of a tree named ^008800Yggdrasill^000000.";
+ mes "It says that the leaves, seeds, and fruits of this tree are somehow connected to the creation and preservation of life in this world.";
+ next;
+ mes "[Researcher]";
+ mes "I've never actually come across the leaves, seeds, or fruits of the Yggdrasill, let alone the tree itself..... but.....";
+ next;
+ mes "[Researcher]";
+ mes "The idea of a tree of life is quite amazing! Don't you think so?";
+ close;
+}
+
+// Young Man --------------------------------------------------------------------------
+geffen.gat,147,26,0 script "Young man" 97,{
+ mes "[Young Man]";
+ mes "I heard that somewhere in this world, there is a rare staff which transforms its owner's psychic power into physical powers, and endows with destructive force also...";
+ mes "With this, everybody could be as strong as Hercules, despite their lack of muscles. Haw haw...I will take it.";
+ next;
+ mes "[Young Man]";
+ mes "Good heavens! You, since when were you behind me?";
+ mes "Did you happen to hear what I said? Ha ma...Muhaha. I didn't say anything. If you heard anything from me, just forget~Forget about it~";
+ mes "Yay~ veggie is cheap today~come on!!";
+ close;
+}
+
+// Young Man -----------------------------------------------------------------------
+geffen_in.gat,34,170,0 script "Young man" 47,{
+ mes "[Young Man]";
+ mes "Hello? Isn't it wonderful, today? I am a promising young Mage. Ahem.";
+ mes "Nowadays, my mental anguish about magic things keeps me awake every night..sigh...Especially, about the weak point of magic, you know.";
+ next;
+ mes "[Young Man]";
+ mes "Darn! It was really annoying when I encountered that long-ranged enemy last time. It disrupted magic casting.";
+ mes "After all I realized I need a weapon to counter Such a long-ranged attack from an enemy....But geez.. It is not easy to make such a weapon I wish.";
+ next;
+ mes "There should be another way.....Should be.....";
+ mes "Any ideas for me?";
+ close;
+}
+
+
+//<============================================ Inn =====================================================>\\
+// Waitress ---------------------------------------------------------------------------
+geffen_in.gat,70,67,5 script Waitress 80,{
+ mes "[Waitress]";
+ mes "Ugh!! SO annoying! Why would you drink here when you could drink at the pub!? This is an Inn, not a pub!!";
+ mes "That man!... every time he drinks... he gets like that! Ugh!!";
+ emotion 6;
+ next;
+ mes "[Waitress]";
+ mes "(~yells to the man~)'Hey mister! I TOLD you... THIS.. IS.. AN INN, NOT A BAR!!'";
+ emotion 32;
+ next;
+ mes "[Waitress]";
+ mes "(~sighs~) That old man in the front corner there gives me a headache.";
+ mes "My younger sister, who works at the pub, told me that there is someone just like him at the Pub.";
+ next;
+ mes "[Waitress]";
+ mes "To think that there are 2 of them in one city... It's JUST ABSURD!!";
+ emotion 32;
+ next;
+ mes "[Waitress]";
+ mes "(~mumbles~)... I wish they would both just leave this town and be forgotten forever... that would be nice....";
+M_Menu:
+ next;
+ menu "May I have a drink?",M_0, "Has there been anything interesting lately?",M_1, "End Conversation",M_End;
+
+ M_0:
+ mes "[Waitress]";
+ mes "Oh my, I'm sorry but that DRUNKARD swallowed up every last drop of liquor we have.";
+ mes "Everyday it's the same thing... as soon as the Inn opens he comes in and gulps down drink after drink.";
+ next;
+ mes "[Waitress]";
+ mes "It's amazing he hasn't died yet. Maybe if you came by some other time we'll be restocked... oh who am I kidding....";
+ goto M_Menu;
+ M_1:
+ mes "[Waitress]";
+ mes "Well... of all of the people who have stopped by lately, there are a group of merchants that have caught my attention.";
+ mes "I could tell right away that they were from out of town. My younger sister tells me they are from Schubaltzwald...";
+ next;
+ mes "[Waitress]";
+ mes "It really doesn't matter who they are or where they're from, after all business is business. They could be from Schuschu Chocolate Land for all I care....";
+ next;
+ mes "[Waitress]";
+ mes "I just wish the amount of local customers would start increasing again, since they are the bulk of my customers.";
+ goto M_Menu;
+ M_End:
+ mes "[Waitress]";
+ mes "Have a nice day!";
+ close;
+}
+
+// Merchant Daven -------------------------------------------------------------------
+geffen_in.gat,79,75,2 script Merchant Daven 61,{
+ mes "[Merchant Daven]";
+ mes "Back in the day when I first came to Geffen, the town was a very boring place to live in.";
+ next;
+ mes "[Merchant Daven]";
+ mes "But now there are noble Mages and a flourishing community of Blacksmiths, that make Geffen.......";
+ next;
+ mes "[Merchant Daven]";
+ mes ".... still.... a very BORING place to be.... Bleh! I'm really bored here!!!";
+M_Menu:
+ next;
+ menu "-Mages?",M_0, "-Blacksmiths?",M_1, "-Who are you?",M_2, "-End Conversation.",M_End;
+
+ M_0:
+ mes "[Merchant Daven]";
+ mes "Mages and Wizards love to carry books around with them wherever they go. That's just how they are.";
+ next;
+ mes "[Merchant Daven]";
+ mes "Mages like to gather at the ^5555FFMagic Academy^000000 where they study the basics of magic use.";
+ next;
+ mes "[Merchant Daven]";
+ mes "After much study and with enough experience, Mages can become Wizards. Wizards can use much more powerful magical spells.";
+ mes "You can find them at the top floor of the ^5555FFGeffen Tower^000000.";
+ goto M_Menu;
+ M_1:
+ mes "[Merchant Daven]";
+ mes "Blacksmiths are difficult people. They are also a dirty bunch, whose faces are often covered with black soot.";
+ mes "No matter where they are or what they do, they always smell of iron and soot.";
+ next;
+ mes "[Merchant Daven]";
+ mes "However, that is something that can't be helped. Blacksmiths are always hard at work, refining ores, and tempering equipment.";
+ mes "It's just not possible to be a Blacksmith and not be dirty and smelly. Unfortunately it's part of the job.";
+ next;
+ mes "[Merchant Daven]";
+ mes "Weapons forged by Blacksmiths can be much more unique then those sold in Armories.";
+ mes "The actual ores and stones used by the Blacksmiths are of a much higher quality and are often scarce.";
+ mes "This can give their weapons special qualities that are very beneficial to a character.";
+ goto M_Menu;
+ M_2:
+ mes "[Merchant Daven]";
+ mes "Me?.... Oh I'm the world's PRETTIEST street merchant!!..... the he he...";
+ emotion 30;
+ next;
+ menu "..... I'm going to puke....",sM_0, ".... SLAPP him upside his head!!!",sM_1;
+
+ sM_0:
+ mes "[Merchant Daven]";
+ mes "Hehehe.... it was a joke.... a joke ok..... hehehe....";
+ emotion 18;
+ goto M_Menu;
+ sM_1:
+ mes "~^FF8000!!!^FF0000THWAAACCCKKK^FF8000!!!^000000~";
+ next;
+ mes "[Merchant Daven]";
+ mes "OW!! Ok! Ok! I was just kidding.... sheesh....";
+ emotion 16;
+ goto M_Menu;
+ M_End:
+ close;
+}
+
+// Drunkard -------------------------------------------------------------------
+geffen_in.gat,59,62,2 script Drunkard 120,{
+ mes "[Drunkard]";
+ mes "Hmm... You're Joshua's friend too??";
+ next;
+ menu "-Nope.",M_0, "-Who's that??",M_1, "-I have no friends.(~sob~)",M_2;
+
+ M_0:
+ mes "[Drunkard]";
+ mes "Hmf. Yeah... that dork has no reason to have any friends. Forget I even asked.";
+ close;
+ M_1:
+ mes "[Drunkard]";
+ mes "Uh... well if you go down this hall to the room on the left... you'll find this dork.";
+ mes "All day long, he just stays in that dark room tempering steel.... who the hell knows what he's making....";
+ next;
+ mes "[Drunkard]";
+ mes "If you're interested you should go talk to him. From the looks of it, you two would probably get along really well... HAHAHA!";
+ emotion 18;
+ close;
+ M_2:
+ mes "[Drunkard]";
+ mes "Oh... I see, I see. My apologies. You seem to be sensitive about this. To think that you have no friends....";
+ mes "Ya know, you remind me of my younger self! Heck... you might end up just like me... heh heh.";
+ next;
+ mes "[Drunkard]";
+ mes "(~sob~sob~).... oh what happened to my life!!!....(~baaaahhhh~)";
+ emotion 28;
+ next;
+ mes "[Waitress]";
+ mes "ARGH!! STOP being so noisy!";
+ close;
+}
+
+// Schubaltzwald Merchant ----------------------------------------------------------------------
+geffen_in.gat,113,73,4 script Schubaltzwald Merchant 709,{
+ mes "[Schubaltzwald Merchant]";
+ mes "How are you, Rune-Midgard young'un? I am Schubaltzwald's one and only Hans Hadenhiem.";
+ next;
+ mes "[Schubaltzwald Merchant]";
+ mes "My business associates and I plan to do business, both here in Geffen, and at home in Schubaltzwald.";
+ next;
+ mes "[Schubaltzwald Merchant]";
+ mes "Although Rune-Midgard doesn't seem to have any exciting places to go sight-seeing, it does have a lot of interesting merchandise.";
+ mes "Because of their uniqueness, these items have become quite valuable in my city.";
+ next;
+ mes "[Schubaltzwald Merchant]";
+ mes "Something may be plentiful here, but scarce somewhere else, an item may be popular there but not here....";
+ mes "That is what makes being a merchant so interesting, the variety of items to buy and sell between different places.";
+ next;
+ mes "[Schubaltzwald Merchant]";
+ mes "Of course it would be ideal if a merchant could have a widespread distribution of the same items in different cities.";
+ next;
+ mes "[Schubaltzwald Merchant]";
+ mes "If you're not satisfied with the merchandise, just wait, and some other day what you're looking for may be in stock.";
+ mes "It's a merchant's duty to make the customer happy with the quality of the items being sold!";
+ close;
+}
+
+
+//<============================================== Pub ==================================================>\\
+// Waitress -----------------------------------------------------------------
+geffen_in.gat,28,134,4 script Waitress 69,{
+ mes "[Waitress]";
+ mes "Meh! ALWAYS drinking and ALWAYS fighting..... HEY Mister! This is a place of BUSINESS!!";
+ emotion 6;
+ next;
+ mes "[Waitress]";
+ mes "That man gives me a headache. My sister at the Inn says that there is another IDIOT just LIKE HIM there!";
+ mes "I CAN'T BELIEEEEVE that there is more that one IDIOT like him in this world..... I wish they would just... just... DISAPPEAR!!";
+ next;
+ mes "[Waitress]";
+ mes "(~sighs~)";
+ emotion 32;
+M_Menu:
+ next;
+ menu "Could I get drink?",M_0, "Anything interesting going on lately?",M_1, "End Conversation",M_End;
+
+ M_0:
+ mes "[Waitress]";
+ mes "Jeez, I'm real sorry but we ran out of liquor. THAT DRUNKARD chugged down every last drop we had....";
+ mes "As soon as we open he's in here downing drink after drink! I'm surprised he's still alive.";
+ next;
+ mes "[Waitress]";
+ mes "Maybe if you stopped by later.... but then again, the way HE'S been drinking.... you might have better luck else where....";
+ goto M_Menu;
+ M_1:
+ mes "[Waitress]";
+ mes "Hmm... there really hasn't been anything new going on lately.... there haven't been any rumors from the customers either....";
+ mes "Come to think of it.... you yourself are a person of few words....";
+ next;
+ mes "[Waitress]";
+ mes "I'm sure there's a reason why there has been such a lull as of late....";
+ mes "It's just we working girls tend to get REALLLYYY BORED.... so if anything exciting happens let me know okay?";
+ goto M_Menu;
+ M_End:
+ mes "[Waitress]";
+ mes "You have a nice day now!";
+ close;
+}
+
+// Drunkard ----------------------------------------------------------------------------
+geffen_in.gat,21,125,5 script Drunkard 52,{
+ mes "[Drunkard]";
+ mes "You want to be an idiotic magician? Is that why you came here??";
+ emotion 1;
+ close;
+}
+
+// Lvl 4 weapon quest related NPC ------------------------------------------------------
+
+geffen.gat,203,146,5 script Citizen 97, {
+ mes "[Citizen]";
+ mes "There was a skillful weaponsmith";
+ mes "in Al De Baran who had 4 sons.";
+ mes "Unfortunately he lost all of his sons";
+ mes "while developing a powerful weapon.";
+ mes "The father survived alone from the tragedy.";
+ next;
+ mes "[Citizen]";
+ mes "How sad it will be for the father...";
+ mes "Because of the incident, the weaponsmith";
+ mes "retired from his work and hid himself somewhere.";
+ mes "After that, no one could ever see";
+ mes "the powerful weapon that he and his sons were developing.";
+ next;
+ mes "[Citizen]";
+ mes "I don't think that 4 sons of him";
+ mes "went to the heaven with the anxiety.";
+ close;
+}
+
+// Friend of Youth ---------------------------------------------------------------------
+geffen_in.gat,37,124,5 script Friend of Youth 704,{
+ set @temp,0;
+ mes "[Friend of Youth]";
+ mes "Welcome young one! Are you worrying about something? Tell me all your troubles and I will tell you your fortune with my silver ball of mystery!";
+M_Menu:
+ next;
+ set @temp, rand(5);
+ menu "-Life!",M_0, "-Love!",M_1, "-Fortune!",M_2, "-Grades!",M_3, "-Future!",M_4, "-Fashion!",M_5, "-End.",M_End;
+
+ M_0:
+ if(@temp ==1) goto R0_1;
+ if(@temp ==2) goto R0_2;
+ if(@temp ==3) goto R0_3;
+ if(@temp ==4) goto R0_4;
+
+ R0_0:
+ mes "[Friend of Youth]";
+ mes "It seems that you've had to deal with many problems recently... but don't despair.";
+ mes "Although you may have to endure some hardships now, the road ahead of you is clear.";
+ next;
+ mes "[Friend of Youth]";
+ mes "Being tossed out in the desert, naked, and chased by a Peco Peco really isn't that bad.";
+ mes "If you maintain your composure and persevere, you will be able to enjoy the sweet taste of accomplishment.";
+ next;
+ mes "[Friend of Youth]";
+ mes "So keep your head up and endure for a bit longer!";
+ next;
+ goto R0_End;
+ R0_1:
+ mes "[Friend of Youth]";
+ mes "It looks as though you have chosen an obscure path for yourself. You may feel as though you may have made a mistake.";
+ mes "This uncertainty about your choices affects you even now. Try to take a break and relax.";
+ next;
+ mes "[Friend of Youth]";
+ mes "Re-organize yourself to better handle the situation that surrounds you.";
+ mes "Rearrange your items and equipment to give yourself a 'fresh' start.";
+ next;
+ goto R0_End;
+ R0_2:
+ mes "[Friend of Youth]";
+ mes "The evil forces that envy your fortune and good health are always watching you.";
+ mes "They are jealous of what you have and are eagerly waiting for you to make mistakes.";
+ next;
+ mes "[Friend of Youth]";
+ mes "Therefore you must be more careful with your actions. Proceed with caution, especially in dangerous situations.";
+ mes "Remain calm however, and continue to prepare for the days to come.";
+ next;
+ goto R0_End;
+ R0_3:
+ mes "[Friend of Youth]";
+ mes "Some recent turmoil between you and someone you know still looms over your head.";
+ mes "There is no way to avoid the problems... you must face them head on.";
+ next;
+ mes "[Friend of Youth]";
+ mes "Try to resolve the issues in a calm, peaceful, and friendly manner. Think about the relationship you have with this person.";
+ next;
+ goto R0_End;
+ R0_4:
+ mes "[Friend of Youth]";
+ mes "Lately you have been living in the darkness of the monsters.";
+ mes "The power of the dark is too strong and you must pull away from it.";
+ next;
+ mes "[Friend of Youth]";
+ mes "In order to do that you must be physically strong and mentally able. Give it all you have and make good use of your training!";
+ next;
+
+ R0_End:
+ mes "[Friend of Youth]";
+ mes "Now, have the questions about your life been answered? Feel free to ask me again. I am always on your side friend!";
+ emotion 21;
+ goto M_Menu;
+
+ M_1:
+ if(@temp ==1) goto R1_1;
+ if(@temp ==2) goto R1_2;
+ if(@temp ==3) goto R1_3;
+
+ R1_0:
+ mes "[Friend of Youth]";
+ mes "Tsk tsk.... Are you looking for another love?";
+ emotion 1;
+ next;
+ mes "[Friend of Youth]";
+ mes "So you're not satisfied with the relationship your in now.... you want one that is new, better, more exciting.......";
+ next;
+ mes "[Friend of Youth]";
+ mes "Don't be a fool!! Treasure the love you have now! You never no where a wandering heart will lead you....";
+ emotion 0;
+ next;
+ goto R1_End;
+ R1_1:
+ mes "[Friend of Youth]";
+ mes "Everybody says that love is wonderful. THAT IS, until things go WRONG, then it's not so easy to say that love is wonderful.";
+ next;
+ mes "[Friend of Youth]";
+ mes "Maybe your not quite ready for love right now. Build up some more confidence in yourself then go after that special someone with all your heart.";
+ next;
+ mes "[Friend of Youth]";
+ mes "With that confidence and a little bit of luck, you're sure to find love. Always!!";
+ emotion 21;
+ next;
+ goto R1_End;
+ R1_2:
+ mes "[Friend of Youth]";
+ mes "Oh ho! To be in love is a wonderful existence!";
+ mes "Love can be as exciting as running through a forest filled with porings while wildly swinging your sword around!!";
+ next;
+ mes "[Friend of Youth]";
+ mes "So BRANDISH your sword in the name of LOVE!!";
+ emotion 21;
+ next;
+ goto R1_End;
+ R1_3:
+ mes "[Friend of Youth]";
+ mes "Well now... You're so happy, you don't know what to do!! No matter how hard you try, you can't hide the fact that you're in love!";
+ next;
+ mes "[Friend of Youth]";
+ mes "Heh, I guess there's nothing for me to tell you.";
+ next;
+ mes "[Friend of Youth]";
+ mes "Now if I could only find someone to love.......";
+ emotion 20;
+ next;
+ goto R1_End;
+ R1_End:
+ mes "[Friend of Youth]";
+ mes "Even in this bleak world, love is all around you! Love can be fun so treasure the heart and come back for another reading!";
+ emotion 22;
+ goto M_Menu;
+
+ M_2:
+ if(@temp ==1) goto R2_1;
+ if(@temp ==2) goto R2_2;
+ if(@temp ==3) goto R2_3;
+ if(@temp ==4) goto R2_4;
+
+ R2_0:
+ mes "[Friend of Youth]";
+ mes "For a young one such as yourself, money should not be the most important thing in your life.";
+ mes "Don't worry about money too much, just live your life to the fullest! Only then can something wonderful can happen to you.";
+ goto M_Menu;
+ R2_1:
+ mes "[Friend of Youth]";
+ mes "Let me tell you something, DON'T become obsessed with materialistic things!";
+ next;
+ mes "[Friend of Youth]";
+ mes "Although you need money to get by in this world, if acquiring wealth is your sole purpose in life....";
+ mes "you will ultimately find yourself disappointed and empty.";
+ goto M_Menu;
+ R2_2:
+ mes "[Friend of Youth]";
+ mes "Are you envious of someone's else's items?? DON'T BE!!";
+ mes "You are better then that! Seek that which makes you a better person";
+ goto M_Menu;
+ R2_3:
+ mes "[Friend of Youth]";
+ mes "Saving money is important. Don't get into the habit of buying cheap things you can afford right away.";
+ mes "It's better to wait until you have enough for something that is of high quality. That way you spend less money overall.";
+ goto M_Menu;
+ R2_4:
+ mes "[Friend of Youth]";
+ mes "It's a very interesting thing. To be honest, money just might be the REAL MONSTER in this world....";
+ next;
+ mes "[Friend of Youth]";
+ mes "One man's trash is another man's treasure! Go out and gather everything you can find! Don't be embarrassed about it!";
+ goto M_Menu;
+ M_3:
+ if(@temp ==1) goto R3_1;
+ if(@temp ==2) goto R3_End;
+
+ R3_0:
+ mes "[Friend of Youth]";
+ mes "It's good to be worried about your grades. You will have a bright future if you study hard and get good grades.";
+ mes "It can be difficult to do, but that is how life is. The difficult things in life are the ones worth doing.";
+ next;
+ goto R3_End;
+ R3_1:
+ mes "[Friend of Youth]";
+ mes "Worrying about your grades can be a hassle. And sometimes it's hard to be confident that you will get good grades.";
+ mes "But stay positive and keep your head up! With hard work and perseverance you'll surely achieve your goals.";
+ next;
+ goto R3_End;
+ R3_End:
+ mes "[Friend of Youth]";
+ mes "Concentrating on studies is difficult. Come back any time to ask questions regarding your studies! I'll be waiting.";
+ goto M_Menu;
+
+ M_4:
+ if(@temp ==1) goto R4_1;
+ if(@temp ==2) goto R4_2;
+ if(@temp ==3) goto R4_3;
+
+ R4_0:
+ mes "[Friend of Youth]";
+ mes "A person who worries about the future is one who is ill prepared for it.";
+ mes "And yet a person who prepares for the future is also one who worries about it.";
+ next;
+ goto R4_End;
+ R4_1:
+ mes "[Friend of Youth]";
+ mes "Hmm... Don't you think you're worrying too much about the future?? Try focusing more on the present.";
+ mes "Obsessing over the future will eventually cause problems for you in the hear and now.";
+ next;
+ goto R4_End;
+ R4_2:
+ mes "[Friend of Youth]";
+ mes "If all you do is play and you don't plan ahead for your future, you may have to re-think your approach to life.";
+ next;
+ mes "[Friend of Youth]";
+ mes "There is an old story about the Thief Bug who was happy and full during the winter months,....";
+ mes "while the Rocker was starving and cold...The Thief Bug planned ahead and gathered enough food for winter,.....";
+ mes "where as the Rocker had spent all his time playing and did not have enough food for the winter.";
+ next;
+ mes "[Friend of Youth]";
+ mes "The person who treasures his/her life prepares for the future. So treasure your life and plan for the future!!";
+ next;
+ goto R4_End;
+ R4_3:
+ mes "[Friend of Youth]";
+ mes "You have the ability to leap towards the future! But the past has a hold of your ankle and wont let go.";
+ next;
+ mes "[Friend of Youth]";
+ mes "Break free and move towards the future and be prepared to face what lies ahead!";
+ emotion 21;
+ next;
+ goto R4_End;
+ R4_End:
+ mes "[Friend of Youth]";
+ mes "There are many reasons to look forward to the future. So until you find one for yourself, keep searching for it.";
+ mes "And feel free to come back for another reading any time okay?";
+ goto M_Menu;
+ M_5:
+ if(@temp ==1 && countitem(2280)>=1) goto R5_1;
+ if(@temp ==2) goto R5_2;
+ if(@temp ==3) goto R5_3;
+ if(@temp ==4) goto R5_4;
+
+ R5_0:
+ mes "[Friend of Youth]";
+ mes "Equipping basic items that provide you with exactly what you need is important.";
+ mes "But isn't there a way to make equipment more stylish?";
+ next;
+ goto R5_End;
+ R5_1:
+ mes "[Friend of Youth]";
+ mes "Wah! A Sakkat hat with that type of outfit is a bad idea!!";
+ emotion 23;
+ next;
+ mes "[Friend of Youth]";
+ mes "Wow, now that I think about it, it's unbearable!!";
+ next;
+ goto R5_End;
+
+ R5_2:
+ mes "[Friend of Youth]";
+ mes "A Mr. Smile mask and an Orc Helmet look cute when used together. But a Mr. Smile cap by itself is just plain scary!";
+ next;
+ mes "[Friend of Youth]";
+ mes "Why is that??";
+ emotion 1;
+ next;
+ goto R5_End;
+ R5_3:
+ mes "[Friend of Youth]";
+ mes "An Adventurer's Suit is so cool! Especially when a guy wears it. It just seems to add to his charm!";
+ next;
+ mes "[Friend of Youth]";
+ mes "But wear a pair of Red Sandals with it.... and that becomes just TOOOO much to bear!!";
+ emotion 19;
+ next;
+ goto R5_End;
+ R5_4:
+ mes "[Friend of Youth]";
+ mes "It's nice to wear expensive headgear. It's nice to wear fancy clothing too!";
+ mes "But remember to make everything match or you'll look like a fool!";
+ mes "You can't just wear everything that you think is fancy.";
+ next;
+ mes "[Friend of Youth]";
+ mes "Make sure the things you wear go with each other and compliment one another.";
+ next;
+ goto R5_End;
+ R5_End:
+ mes "[Friend of Youth]";
+ mes "Hmm... this has nothing to do with fortune telling... but still... I like talking about fashion.";
+ goto M_Menu;
+
+ M_End:
+ close;
+}
+
+
+//<============================================ Mage Guild ===============================================>\\
+// Dark Wizard -------------------------------------------------------------------------
+geffen_in.gat,164,109,2 script Dark Wizard 64,{
+
+ if(BaseJob == 2 || BaseJob == 9) goto L_Magic;
+
+ mes "[Dark Wizard]";
+ mes "Hmf. I only speak to those with magic abilities....";
+ close;
+
+L_Magic:
+ mes "[Dark Wizard]";
+ mes "Oh... I can feel the mighty spirits stirring around me.";
+ next;
+ mes "[Dark Wizard]";
+ mes "You there, I sense that you too use magic.";
+ next;
+ mes "[Dark Wizard]";
+ mes "Magic... a great power which is dictated by cause and effect. If it is used for good then in turn positive reactions will occur.";
+ mes "However, if it is used for evil, then negative reactions will occur instead. When using magic you truly reap what you sew.";
+ next;
+ mes "[Dark Wizard]";
+ mes "Have you ever heard of ^0000ddGemstones^000000? Some magic spells are so powerful that they require the use of a Gemstone.";
+ mes "These stones amplify a magic users power and allow them to cast high level spells. They can be bought at the magic store in town.";
+ next;
+ mes "[Dark Wizard]";
+ mes "Always remember that magic should only be used for the benefit of people, not to do them harm.";
+ close;
+}
diff --git a/npc/cities/gonryun.txt b/npc/cities/gonryun.txt
new file mode 100644
index 000000000..69f041b8f
--- /dev/null
+++ b/npc/cities/gonryun.txt
@@ -0,0 +1,319 @@
+//===== eAthena Script =======================================
+//= Gonryun Town
+//===== By: ==================================================
+//= edited by x[tsk] 4/30/04
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0
+//===== Description: =========================================
+//
+//===== Additional Comments: =================================
+// May be missing npc's and dialogue.
+//= 1.1 Fixed Typo’s [Nexon]
+//============================================================
+
+
+
+//Event–¢’²¸I
+
+alberta.gat,245,69,4 script Gonryun Public Relations Official 776,{
+ mes "[Waba]";
+ mes "Hello there! I have traveled far from the Kingdom of Gonryun, my hometown.";
+ mes "I invite all to visit and celebrate the diversity of Gonryun! We welcome all sorts of visitors.";
+ M_Menu:
+ next;
+ menu "Gonryun? What is that?",M_1, "Travel to Gonryun.",M_2, "Nevermind.",M_End;
+
+ M_1:
+ mes "[Waba]";
+ mes "The Kingdom of Gonryun is a sight to behold! It floats high above the sky, beyond the pillar of light!";
+ next;
+ mes "[Waba]";
+ mes "You can certainly appreciate the sights of the floating mainland! If you go, be sure to try.";
+ mes "The steamed dumplings and peaches, they're a Gonryun specialty not to be missed!";
+ goto M_Menu;
+ M_2:
+ mes "[Waba]";
+ mes "The traveling expenses are ^0000ff10,000 zeny^000000. The fee is a bit pricy but this is because of the dangerous nature of the trip.";
+ mes "The return trip is free, however. Are you prepared to go?";
+ next;
+ menu "Let's Go!",-, "Actually... I changed my mind, sorry.",M_End;
+
+ if (Zeny < 10000) goto L_NoZeny;
+ set Zeny,Zeny-10000;
+ warp "gon_fild01.gat",258,82;
+ end;
+ L_NoZeny:
+ mes "[Waba]";
+ mes "I am sorry if it seems like a lot, but the ^0000ff10,000 zeny^000000 we request is necessary in order to make the trip.";
+ close;
+ M_End:
+ mes "[Waba]";
+ mes "Please see me again if you want to visit! I am pleased just to meet an honored guest from the Continent.";
+ close;
+
+}
+
+//===============================================================================
+
+gon_fild01.gat,255,79,6 script Gonryun Public Relations Official 776,{
+ mes "[Waba]";
+ mes "We are ready to head back as soon as the conditions are favorable.";
+ next;
+ menu "ALBERTA.",-,"I'll stay a bit longer.",M_End;
+
+ warp "alberta.gat",243,68;
+ end;
+ M_End:
+ mes "[Waba]";
+ mes "Oh there's no rush! Enjoy yourself and take in all the sights!";
+ close;
+}
+
+//===============================================================================
+
+gon_fild01.gat,187,239,4 script Gonryun Public Relations Official 776,{
+ mes "[Choseryu]";
+ mes "The sacred pillar of light connects this island to Gonryun Kingdom. There's no time to idly chit chat now, be on your way.";
+ mes "I hope you will have many fond memories of Gonryun before you leave.";
+ close;
+}
+
+//===============================================================================
+
+gonryun.gat,153,64,0 script Gonryun Public Relations Official 776,{
+ mes "[Choseryu]";
+ mes "If you're ready to set sail I can send you back to the harbor.";
+ next;
+ menu "Send me to the harbor.",-,"I'd like to stay a bit longer.",M_End;
+
+ mes "[Choseryu]";
+ mes "Please come back to visit soon!";
+ next;
+ warp "gon_fild01.gat",258,82;
+ close;
+ M_End:
+ mes "[Choseryu]";
+ mes "Be sure to see all that Gonryun has to offer!";
+ close;
+}
+
+//===============================================================================
+//In h
+//===============================================================================
+
+gon_in.gat,153,35,4 script Hotel Manager 702,{
+ mes "[Mayouban]";
+ mes "Welcome! Your face is new around here. We've had many strangers from the outside coming into the village recently.";
+ mes "We've been quite short-handed here at the hotel.";
+ next;
+ mes "[Mayouban]";
+ mes "It always seems to be 'get me this' or 'get me that' with the customers! Never a tip or a compliment. I suppose I should really welcome all the extra business.";
+ next;
+ menu "I'd like something to drink.",-,"I'll be on my way.",M_End;
+
+ mes "[Mayouban]";
+ mes "Here you go. There have been so many rowdy customers lately sometimes I'd just like to sit down and have a drink myself.";
+ close;
+ M_End:
+ mes "[Mayouban]";
+ mes "May you have a safe journey! Come back any time.";
+ close;
+}
+
+//===============================================================================
+
+gon_in.gat,173,27,2 script Kuhau 774,{
+ mes "[Kuhau]";
+ mes "This hotel sells the best drinks! Not only is it potent, but it tastes great, too! Of course that's only for the adults.";
+ next;
+ mes "[Kuhau]";
+ mes "But what about the children? We have a secret recipe for brewing great tea! Not only is it excellent, it's also good for them.";
+ close;
+}
+
+//===============================================================================
+
+gon_in.gat,165,16,4 script Drunkard 748,{
+ mes "[Sorubun]";
+ mes "Oh my head! I had too much to drink yesterday and passed out right here on the table.";
+ mes "The manager told me that I shouldn't drink anymore and I should have listened.";
+ emotion 19;
+ next;
+ mes "[Sorubun]";
+ mes "Wow, the drinks here are strong! Much stronger than anything we have back home.";
+ close;
+}
+
+//===============================================================================
+
+gonryun.gat,139,142,6 script Girl 772,{
+ mes "[Sanfayon]";
+ mes "................";
+ mes "It's been great having new visitors come to the village, but........ ever since I was robbed by that Thief.......";
+ next;
+ mes "[Sanfayon]";
+ mes "I have been so afraid of the foreigners.....";
+ emotion 16;
+ close;
+}
+
+//===============================================================================
+
+gonryun.gat,113,135,6 script Guardsman 780,{
+ mes "[Guardsman]";
+ mes "Welcome to Gonryun. This is the home of our governor, Sayoumun.";
+ next;
+ mes "[Guardsman]";
+ mes "We're sure your intentions are benign, but any wrong moves and we'll be forced to take action.";
+ next;
+ mes "[Guardsman]";
+ mes "Such a thing rarely happens, but when it does.... we are always ready to deal with any problems!";
+ close;
+}
+
+//===============================================================================
+
+gonryun.gat,113,127,6 script Guardsman 780,{
+ mes "[Guardsman]";
+ mes "Welcome to Gonryun. This is the home of our elder, Sayoumun. He rules all of Gonryun.";
+ next;
+ mes "[Guardsman]";
+ mes "We're sure your intentions are benign, but any wrong moves and we'll be forced to take action.";
+ next;
+ mes "[Guardsman]";
+ mes "Such a thing rarely happens, but when it does. We are always ready to deal with any problems!";
+ close;
+}
+
+//===============================================================================
+//‘º’·‘î
+//===============================================================================
+
+gon_in.gat,18,27,4 script Elder's Wife 771,{
+ mes "[Sangufayon]";
+ mes "Oh my! You look like an important visitor from the outside. Aren't you?";
+ next;
+ menu "Yes, I am.",-,"Where is the village Elder?",M_End;
+
+ mes "[Sangufayon]";
+ mes "We do not get many visitors from the outside to see my husband so it's so easy to spot them. Hohohohoho!";
+ close;
+ M_End:
+ //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ mes "[Sangufayon]";
+ mes "The master of the house, hohohohoho? Why... he is upstairs on the second floor if you need to talk to him, hohohoho.";
+ close;
+}
+
+//===============================================================================
+
+gon_in.gat,17,93,4 script Village Elder 775,{
+ mes "[Sayoumun]";
+ emotion 45;
+ mes "Zzzzzzzzzzz.......";
+ next;
+ mes "[Sayoumun]";
+ mes "Huh, a visitor?! Oh, hello! I was just, uhm, meditating. I am Sayoumun, mayor of Gonryun village. I welcome you to Gonryun.";
+ next;
+ mes "[Sayoumun]";
+ mes "There used to not be many visitors to this land, until the University of Foreign Studies in Alberta began offering trips to our small island.";
+ next;
+ mes "[Sayoumun]";
+ mes "I personally don't like all these outsiders coming all of the sudden. Alot of them are reckless, but I suppose it's good for business.";
+ next;
+ mes "[Sayoumun]";
+ mes "These reports of a thief in my town continually worry me, however I just know he's an outsider!";
+ close;
+}
+
+//===============================================================================
+
+gonryun.gat,119,111,4 script Chen Wan Sok 89,{
+ mes "[Chen Wan Sok]";
+ mes "The village Elder here is truly a sociable fellow. Just because he is friendly does not mean he is lax on the rules! He can get riled up sometimes.";
+ next;
+ mes "[Chen Wan Sok]";
+ mes "When the Elder's blessing, you can get away with a lot of things in this town. Sometimes there are those that cause mischief, but they are always dealt with.";
+ close;
+}
+
+//===============================================================================
+
+gonryun.gat,100,241,5 script Unsociable Man 733,{
+ emotion 9;
+ mes "[Saunso]";
+ mes "I am too busy to talk, come back later!";
+ close;
+}
+
+//===============================================================================
+
+gonryun.gat,268,88,4 script Ryan Chun Ho 776,{
+ mes "[Ryan Chun Ho]";
+ mes "We are an independent race, submitting to no aggressor! This is the blessed area which we will never give up.";
+ next;
+ mes "[Ryan Chun Ho]";
+ mes "We believe in victory, it is our glory.";
+ close;
+}
+
+//===============================================================================
+
+gonryun.gat,181,161,4 script Chon Munjin 773,{
+ mes "[Chon Munjin]";
+ mes "The men of Gonryun must be powerful and bold! But being such a man, one just can not get married. Don't you think?";
+ next;
+ mes "[Chon Munjin]";
+ mes "There's so many more men than women now it makes it even harder to find a woman. I wonder if my son will find himself a good woman?";
+ close;
+}
+
+//===============================================================================
+
+gonryun.gat,237,225,4 script Hanyon Kyou 776,{
+ mes "[Hanyon Kyou]";
+ mes "How could I have done something like this?";
+ mes "..............";
+ next;
+ mes "[Hanyon Kyou]";
+ mes "I've dropped my lucky knife! Now it's probably gone forever.";
+ close;
+}
+
+//===============================================================================
+
+gonryun.gat,51,101,4 script Gaiysonchoru 778,{
+ mes "[Gaiysonchoru]";
+ emotion 4;
+ mes "..............";
+ next;
+ mes "[Gaiysonchoru]";
+ mes "Well......... I'm worried.";
+ next;
+ mes "[Gaiysonchoru]";
+ mes "So very worried.";
+ close;
+}
+
+//===============================================================================
+
+gonryun.gat,166,196,4 script Soldier 780,{
+ mes "[Wagou]";
+ mes "Do you know what this is?";
+ next;
+ menu "Yes.",-, "No.",M_End;
+
+ mes "[Wagou]";
+ mes "I just have to make sure all citizens are warned of the dangers inside before going any further.";
+ close;
+
+ M_End:
+ mes "[Wagou]";
+ mes "Long ago, this was the great hall, but once the great beast had arrived it quickly turned to ruin and became overrun with monsters.";
+ next;
+ mes "[Wagou]";
+ mes "I just have to make sure all citizens are warned of the dangers inside before going any further.";
+ close;
+}
diff --git a/npc/cities/hugel.txt b/npc/cities/hugel.txt
new file mode 100644
index 000000000..9960847e7
--- /dev/null
+++ b/npc/cities/hugel.txt
@@ -0,0 +1,39 @@
+//===== eAthena Script =======================================
+//= Hugel City
+//===== By: ==================================================
+//= vicious_pucca, Poki#3
+//===== Current Version: =====================================
+//= 0.1
+//===== Compatible With: =====================================
+//= eAthena 1.0
+//===== Description: =========================================
+//= NPC's for the City of Hugel.
+//===== Additional Comments: =================================
+//= Cords and Sprites are 100% Correct, but the names are not.
+//= Plus no one knows what the NPCs are talking right now :/ [Poki#3]
+//============================================================
+
+//Should be moved later on to Bulletin Boards.txt
+hugel.gat,91,152,4 script Bulletin Board 837,{end;}
+
+hugel.gat,102,161,3 script Young Sailor 100,{end;}
+hugel.gat,90,151,3 script Yoko 893,{end;}
+hu_in01.gat,111,386,4 script Jino 86,{end;}
+hugel.gat,100,102,3 script Grandpa Hohi 866,{end;}
+hugel.gat,85,93,3 script Grandpa Hiho 866,{end;}
+hu_in01.gat,23,311,4 script Johsh 868,{end;}
+hugel.gat,107,67,3 script Kiddy the Kid 706,{end;}
+hu_in01.gat,246,107,2 script Receptionist 53,{end;}
+hu_in01.gat,256,40,2 script Garud 897,{end;}
+hugel.gat,98,57,3 script Old Lady 863,{end;}
+hugel.gat,71,82,3 script Hon Kiki 900,{end;}
+hugel.gat,56,103,2 script Sarko 709,{end;}
+hugel.gat,68,99,2 script Billy the Bull 889,{end;}
+hu_in01.gat,26,77,4 script Bokie 50,{end;}
+hu_in01.gat,18,94,2 script Katsuki 95,{end;}
+hu_in01.gat,16,20,4 script Jamie 70,{end;}
+hu_in01.gat,14,11,4 script Jana 49,{end;}
+hu_in01.gat,19,161,2 script Matilda 803,{end;}
+hu_in01.gat,18,167,4 script Gin 86,{end;}
+hugel.gat,169,112,5 script Sani 892,{end;}
+hu_in01.gat,381,304,5 script Soldier 105,{end;}
diff --git a/npc/cities/izlude.txt b/npc/cities/izlude.txt
new file mode 100644
index 000000000..82b39196c
--- /dev/null
+++ b/npc/cities/izlude.txt
@@ -0,0 +1,613 @@
+//===== eAthena Script =======================================
+//= Izlude Town
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Fully working
+//= 1.1 fixed 2 zeny bugs/checks [Lupus]
+//= 1.2 Fixed a lot of typo’s [Nexon]
+//= 1.3 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon]
+//= 1.4 Added a Jawaii related npc [MasterOfMuppets]
+//= 1.4a Fixed a small bug to the Jawaii warper, thanks to reddozen and Silent [MasterOfMuppets]
+//============================================================
+
+
+
+// Welcome Sign ----------------------------------------------------------
+izlude.gat,125,116,1 script Welcome Sign 111,{
+ mes "~sign reads...~";
+ mes "Salutations and welcome to Izlude! Izlude is the satellite of Prontera and is home to Swordsmen and the Cool Event Corp.'s Monster Arena!";
+ close;
+}
+
+// Sign: Marina -----------------------------------------------------------------
+izlude.gat,179,183,1 script Izlude Marina 111,{
+ mes "~sign reads...~";
+ mes "Take a boat ride to the city of Alberta or to the island of Byalan.";
+ close;
+}
+
+// Sign: Swordsman Assoc. ----------------------------------------------------
+izlude.gat,54,139,1 script Swordsman Association 111,{
+ mes "~sign reads...~";
+ mes "The Izlude Swordsman Association is proud to provide Rune-Midgard with the bravest and strongest warriors.";
+ close;
+}
+
+//Bonne-----------------------------------------------------------------------------------
+izlude.gat,55,74,2 script Bonne 90,{
+ mes "[Bonne]";
+ mes "Izlude welcomes you.";
+ next;
+ mes "[Bonne]";
+ mes "Izlude is the satellite city of Prontera, capital of the kingdom of Rune-Midgard.";
+ next;
+ mes "[Bonne]";
+ mes "Izlude is veeeerrrrry important not only because the Swordsman Association resides here, but also because we guard and secure the coast line.";
+ next;
+ mes "[Bonne]";
+ mes "As for this bridge, though it might look weak and feeble, it is actually state of the art, built with the most sophisticated technology the earth's ever seen.";
+ next;
+ mes "[Bonne]";
+ mes "No matter how strong storms may be, or how many people may stand on it, this bridge will NEEEEVER collapse. You could test it, if you'd like.";
+ next;
+ mes "[Bonne]";
+ mes "Please enjoy your visit here at Izlude.";
+ close;
+}
+
+
+//Cuskoal-------------------------------------------------------------------------------------
+izlude.gat,119,121,1 script Cuskoal 124,{
+ set @TEMP, rand(2);
+ mes "[Cuskoal]";
+ if(@TEMP != 0) goto L_R0;
+ mes "The Arena is THE place for capable young people from every part of the Rune-Midgard Kingdom to test their skills.";
+ mes "You could battle with monsters of different levels. How many stages you can survive through will determine your ability level";
+ next;
+ mes "[Cuskoal]";
+ mes "So What'd you say?";
+ close;
+
+ L_R0:
+ mes "The pubs in Prontera are always full of people, from local and out-of-towners. They are very boisterous.";
+ next;
+ mes "[Cuskoal]";
+ mes "They're always a good place for information and rumors because people are constantly coming in and out with them.";
+ next;
+ mes "[Cuskoal]";
+ mes "If you listen to the people carefully, you just might get lucky and get very useful information for yourself.";
+ close;
+}
+
+//Charfri-------------------------------------------------------------------------------------
+izlude.gat,135,78,2 script Charfri 91,{
+ set @TEMP,rand(2);
+ mes "[Charfri]";
+ if(@TEMP != 0) goto L_R0;
+ mes "Some people insult our city by referring to it as just being the satellite city of Prontera.... but Izlude is actually an excellent city.";
+ mes "It's home to the Izlude Swordsman Association and is situated next to the sea and the beautiful island of Byalan.";
+ next;
+ mes "[Charfri]";
+ mes "You'll have to board on a ship at the port to get to Byalan Island. There is a dangerous dungeon on the island, so don't go there if you plan on wandering around aimlessly.";
+ close;
+
+ L_R0:
+ mes "Though it is very beautiful, the Byalan Island has a mysterious dungeon extending deep under the sea.";
+ next;
+ mes "[Charfri]";
+ mes "People who've been there have said that some parts of the dungeon are actually underwater.";
+ next;
+ mes "[Charfri]";
+ mes "Those who saw the underwater view said it was just so fantastic that they've kept dreaming of it ever since.";
+ mes "Unfortunately the monsters there are too strong for ordinary people to visit there.";
+ next;
+ mes "[Charfri]";
+ mes "I wish I could get a glimpse of the underwater view everyone talks about.... alas I can only dream.";
+ close;
+}
+
+//Dega-------------------------------------------------------------------------------------
+izlude.gat,150,118,3 script Dega 84,{
+ set @TEMP,rand(3);
+ mes "[Dega]";
+ if(@TEMP != 0) goto L_R0;
+ mes "Mt. Mjornir located north of Prontera is extremely tough to travel through. Not only is the trek up the mountain difficult, but extremely aggressive insects live there too.";
+ next;
+ mes "[Dega]";
+ mes "I mean, some of them just start attacking you for no reason whatsoever.";
+ next;
+ mes "[Dega]";
+ mes "If you ever want to go through Mt. Mjornir, make sure you prepare yourself and build up your confidence. Otherwise, go around it.";
+ close;
+
+ L_R0:
+ if(@TEMP != 1) goto L_R1;
+ mes "Some monsters in Rune-Midgard can detect the use of a spell by a character before it is used.";
+ next;
+ mes "[Dega]";
+ mes "Golems that live in the desert are one of those monsters. If you underestimate their sluggish movement and try to cast a spell on them...,";
+ next;
+ mes "[Dega]";
+ mes "(snaps fingers) just like that they'll disappear from your sight.";
+ close;
+ L_R1:
+ mes "There is a very delightful place where you can find every type of Poring.";
+ mes "It is somewhere near the bridge, connecting the forest and the desert on the way to the city called Payon to the Southeast from here.";
+ next;
+ mes "[Dega]";
+ mes "There are not only pink Porings but also orange Drops, which can be found at the desert, and green PoPoring.";
+ next;
+ mes "[Dega]";
+ mes "But be careful, before you know it, you might be face to face with a Ghostring that floats around in the air like a ghost.";
+ mes "Although most porings tend to be very cute and gentle, Ghostring is an EXCEPTION. It is very, very dangerous.";
+ next;
+ mes "[Dega]";
+ mes "If you are lucky enough, you might even bump into and Angelring. It's a Poring with wings like an angel.";
+ next;
+ menu "Ghostring?",-,"Angelring?",M1,"End Conversation.",MEnd;
+
+ mes "[Dega]";
+ mes "Ghostring is a grayish Poring that floats around in the air like a ghost. Since it's ghostlike, physical attack can't do any damage to it.";
+ next;
+ mes "[Dega]";
+ mes "Those who rely on physical attacks, like Swordsmen and Archers, will most likely have to run for their lives if they bump into a Ghostring.";
+ next;
+ mes "[Dega]";
+ mes "Of course there is hope for people in those job classes. If equipped with weapons with elemental properties, a Ghostring CAN be defeated.";
+ next;
+ close;
+ M1:
+ mes "[Dega]";
+ mes "Unlike Ghostrings, Angelrings can be hit by physical attacks but are in turn immune to Magic attacks.";
+ mes "So Mages and Acolytes will have difficulty against Angelrings.";
+ next;
+ close;
+ MEnd:
+ mes "[Dega]";
+ mes "Good Luck~";
+ close;
+}
+
+//Kylick-------------------------------------------------------------------------------------
+izlude.gat,150,143,4 script Kylick 97,{
+ mes "[Kylick]";
+ mes "Don't you think Binoculars are really COOL?! YOU can see SUPER FAR AWAY...";
+ emotion 5;
+ next;
+ mes "[Kylick]";
+ mes "... Ahem~! We, here at Izlude, are responsible for maintaining peace, not only on land, but also at sea.";
+ next;
+ mes "[Kylick]";
+ mes "That's why we have that huge Periscope to constantly watch over the sea and help prevent any serious problems beforehand.";
+ next;
+ mes "[Kylick]";
+ mes "After all, being well prepared is always better than being unprepared.";
+ emotion 33;
+ close;
+}
+
+// Soldier ------------------------------------------------------------------------------
+izlude.gat,124,178,4 script Soldier 105,{
+ mes "[Soldier]";
+ mes "HeHeHeHe... HaHaHaHa";
+ mes "Huh? Why am I so happy?";
+ mes "you want to know?";
+ emotion 18;
+ next;
+ menu "Sure, why?",-, "Not really, I don't care.",M_1;
+
+ mes "[Soldier]";
+ mes "Ah~~ There is not much for us to do these days. Merchants buy items which monsters drop.... you knew that, right?";
+ next;
+ menu "Of course",sM_0, "Eh? Really?",sM_1;
+
+ sM_0:
+ mes "[Soldier]";
+ mes "HaHa In fact, that was actually our job.";
+ mes "But there were more and more hunters who come in order to get paid. So it was just too much to handle.";
+ next;
+ mes "[Soldier]";
+ mes "We had to work over time every day. Ah~~~ that was a nightmare!!!...~~~";
+ emotion 16;
+ next;
+ mes "[Soldier]";
+ mes "Anyways, the government made a smart move and created the Registration System.";
+ mes "The Office of Prize Compensation only pays those who have been registered.";
+ next;
+ mes "[Soldier]";
+ mes "The requirements for registration are for a merchant to secure sufficient funds and to stay at one place all the time.";
+ mes "The Office gives away the registration to any merchant who fullfills those requirements.";
+ next;
+ mes "[Soldier]";
+ mes "So there aren't too many people that come to us any more. I mean we are still busy, but that's nothing compared to how it was before~~";
+ next;
+ mes "[Soldier]";
+ mes "People who have suffered are able to appreciate even the slightest in comforts.";
+ next;
+ mes "[Soldier]";
+ mes "HaHaHaHaHa!";
+ emotion 18;
+ close;
+ sM_1:
+ mes "[Soldier]";
+ mes "What?! What do you mean you didn't know?!";
+ emotion 1;
+ next;
+ mes "[Soldier]";
+ mes "Hm... well... you know you could get items by killing monsters right?";
+ mes "You could make some money out of it by selling those items to a merchant.";
+ next;
+ goto sM_0;
+ M_1:
+ mes "[Soldier]";
+ mes "OK Good bye~~";
+ close;
+}
+
+//Red-------------------------------------------------------------------------------------
+izlude.gat,58,126,1 script Red 98,{
+ mes "[Red]";
+ mes "The only skill that a Swordsman needs is 'Bash'! 'Bash'! 'Bash'! ONLY 'Bash'!";
+ mes "There's no need to waste any time and effort on other minor skills ~~ unless you're some kind of wuss!";
+ emotion 29;
+ next;
+ mes "[Cebalis]";
+ mes "What are you talking about?";
+ emotion 1;
+ next;
+ mes "[Cebalis]";
+ mes "The mark of a true Swordsman is the ability to bravely stand alone against a mob of enemies and SQUASH them ALL!";
+ next;
+ mes "[Cebalis]";
+ mes "AND the only skill that can do that is 'Magnum Break'!!";
+ next;
+ mes "[Cebalis]";
+ mes "It's a little bit risky to use because the explosive impact it creates may hit un-intended targets... which will then come after you... ";
+ mes "but its a risk a Swordsman SHOULD BE willing to take!!";
+ next;
+ mes "[Red]";
+ mes "That's exactly why you're a dumb, idiot! The mark of a true Swordsman?! I still remember the last time you used 'Magnum Break'....";
+ emotion 32;
+ next;
+ mes "[Red]";
+ mes "You were just busy running away from all of those Porings that got hit by that stupid skill! You weakling!";
+ mes "'Bash' hits ONE target with DEADLY PRECISION!! No need to fear accicental mobs.";
+ next;
+ mes "[Cebalis]";
+ mes "Ahem..... Why do you always have to bring up insignificant incidents that have long since passed?";
+ mes "I'm TELLING YOU, 'Magnum Break' is THE skill for a SWORDSMAN~!!";
+ next;
+ mes "[Cebalis]";
+ mes "'Bash' is just a stepping stone to getting 'Magnum Break'. After all you need 5 levels of 'Bash before you can get level 1 'Magnum Break'.";
+ next;
+ mes "[Red]";
+ mes "Ooohhh maaaann.....";
+ emotion 9;
+ next;
+ mes "[Red]";
+ mes "Hey! You there! which do you think is better? 'Bash', a powerful and precise blow used on a single enemy. ";
+ mes "or 'Magnum Break', a fiery strike that does splash damage to many enemies??";
+ next;
+ menu "Bash",-,"Magnum Break",L1;
+
+ mes "[Red]";
+ if( baseClass == Job_Swordman ) goto L00;
+ mes "Hahahaha!! See!? Someone who pursues a different job agrees with me~! You really are a great person!";
+ mes "Hahaha!! Undoubtedly only 'Bash' is suitable for a Swordsman. Please tell that to this BONEHEAD over here!! Hahaha.";
+ emotion 21;
+ close;
+
+ L00:
+ mes "Hahahaha!!! I knew you'd choose 'Bash'!! Without a doubt only 'Bash' suits a Swordsman. Please tell that to the BONEHEAD over there!! Hahaha.";
+ emotion 21;
+ next;
+ mes "[Red]";
+ mes "Hm, Let me give you a bit of advice. After you achieve level 5 'Bash', the amount of SP the skill consumes doubles, so keep an eye on your SP gauge.";
+ close;
+ L1:
+ mes "[Cebalis]";
+ if( baseClass == Job_Swordman ) goto L01;
+ mes "Right! 'Magnum Break' is THE BEST!!! You know what you're talking about, huh? I don't know why this bonehead is so stubborn.";
+ close;
+
+ L01:
+ mes "Darn Right!! 'Magnum Break' IS the BETTER skill!! You know what your talking about freind. HaHaHa.";
+ next;
+ mes "[Cebalis]";
+ mes "You want some useful information? Okay, let me tell ya! 'Magnum Break' has the elemental Property of 'Fire'.";
+ mes "It won't be too effective against monsters with the 'Water' property, but it works great against 'Undead' and 'Earth' property monsters.!";
+ next;
+ mes "[Cebalis]";
+ mes "And most importantly, check your surroundings before you use it. If you don't you may end up taking on more monsters than you can handle.";
+ close;
+}
+
+//Cebalis-------------------------------------------------------------------------------------
+izlude.gat,56,126,7 script Cebalis 85,{
+ mes "[Cebalis]";
+ mes "The mark of a true Swordsman is the ability to bravely stand alone against a mob of enemies and SQUASH them ALL!!";
+ emotion 29;
+ next;
+ mes "[Cebalis]";
+ mes "AND the only skill that can do that is 'Magnum Break'!!";
+ next;
+ mes "[Cebalis]";
+ mes "It's a little bit risky to use because the explosive impact it creates may hit un-intended targets...which will then come after you...";
+ mes "but its a risk a Swordsman SHOULD BE willing to take!";
+ next;
+ mes "[Red]";
+ mes "What are you talking about?";
+ next;
+ mes "[Red]";
+ mes "The only skill that a Swordsman needs is 'Bash'! 'Bash'! 'Bash'! ONLY 'Bash'!";
+ mes "There's no need to waste any time and effort on other minor skills ~~ unless you're some kind of wuss!";
+ next;
+ mes "[Red]";
+ mes "That's exactly why you're a dumb, idiot! The mark of a true Swordsman?! I still remember the last time you used 'Magnum Break'....";
+ next;
+ mes "[Red]";
+ mes "You were just busy running away from all of the Porings that got hit by that stupid skill! You weakling!";
+ mes "'Bash' hits ONE target with DEADLY PRECISION!! No need to fear accidental mobs.";
+ next;
+ mes "[Cebalis]";
+ mes "Ahem... Why do you always have to bring up insignificant incidents that have long since passed?";
+ mes "I'm TELLING YOU, 'Magnum Break' is the skill for a SWORDSMAN~!!";
+ emotion 4;
+ next;
+ mes "[Cebalis]";
+ mes "'Bash' is just a stepping stone to getting 'Magnum Break'. After all you need 5 levels of 'Bash before you can get level 1 'Magnum Break'.";
+ next;
+ mes "[Red]";
+ mes "Ooohhh maaaann.....";
+ next;
+ mes "[Red]";
+ mes "Hey! You there! what do you think is better? 'Bash', a powerful and precise blow used on a single enemy,.......";
+ mes "or 'Magnum Break', a fiery strike that does splash damage to many enemies??";
+ next;
+ menu "Bash",-,"Magnum Break",L1;
+
+ mes "[Red]";
+ if( baseClass == Job_Swordman ) goto L00;
+ mes "Hahahaha!! See!? Someone who pursues a different job agrees with me~! You really are a great person!";
+ mes "Hahaha!! Undoubtedly only 'Bash' is suitable for a Swordsman. Please tell that to this BONEHEAD over here!! Hahaha.";
+ close;
+
+ L00:
+ mes "Hahahaha!!! I knew you'd choose 'Bash'!! Without a doubt only 'Bash' suits a Swordsman. Please tell that to the BONEHEAD over there!! Hahaha.";
+ next;
+ mes "[Red]";
+ mes "Hm, Let me give you a bit of advice. After you achieve level 5 'Bash', the amount of SP the skill consumes doubles, so keep an eye on your SP gauge.";
+ close;
+ L1:
+ mes "[Cebalis]";
+ if( baseClass == Job_Swordman ) goto L01;
+ mes "Right! 'Magnum Break' is THE BEST!!! You know what you're talking about, huh? I don't know why this bonehead is so stubborn.";
+ emotion 21;
+ close;
+
+ L01:
+ mes "Darn Right!! 'Magnum Break' IS the BETTER skill!! You know what your talking about friend. HaHaHa.";
+ emotion 21;
+ next;
+ mes "[Cebalis]";
+ mes "You want some useful information? Okay, let me tell ya! 'Magnum Break' has the elemental Property of 'Fire'.";
+ mes "It won't be too effective against monsters with the 'Water' property, but it works great against 'Undead' and 'Earth' property monsters.!";
+ next;
+ mes "[Cebalis]";
+ mes "And most importantly, check your surroundings before you use it. If you don't you may end up taking on more monsters than you can handle.";
+ close;
+}
+
+//Aaron-------------------------------------------------------------------------------------
+izlude_in.gat,125,164,5 script Aaron 65,{
+ mes "[Aaron]";
+ mes "Hm? A Swordsman?..........";
+ emotion 1;
+ next;
+ mes "[Aaron]";
+ mes "Do you think strong VIT and a highly trained and unique breathing method enabling quick HP recovery, are the greatest advantages of a Swordsman?";
+ next;
+ mes "[Aaron]";
+ mes "If you train hard enough, you can even notice your HP recovering. The amount that recovers depends on your VIT level.";
+ next;
+ mes "[Aaron]";
+ mes "So if you invest in your VIT more, then the recovery amount will increase accordingly.";
+ next;
+ mes "[Aaron]";
+ mes "But of course it'd be good to have a high Attack, wouldn't it? You can either acquire a good weapon or increase your STR level to enhance your Attack.";
+ next;
+ mes "[Aaron]";
+ mes "You will also need strength to handle weapons more easily as well as to increase the amount of weight you can carry.";
+ next;
+ mes "[Aaron]";
+ mes "Another important thing is how accurate you can hit your opponents. DEX is the key here. Dexterity also decreases the gap between the MIN and MAX damage you can deal.";
+ next;
+ mes "[Aaron]";
+ mes "Hm... Are you bored? Want me to go on?";
+ emotion 20;
+ next;
+ menu "Tell me more please.",-,"End conversation",LEnd;
+
+ mes "[Aaron]";
+ mes "Hm... in that case, I'll explain about the other attributes to you briefly. In order to attack and evade quickly, you've got to have a good amount of AGI.";
+ next;
+ mes "[Aaron]";
+ mes "A high AGI level will ensure that you can avoid attacks making you almost unhittable.";
+ next;
+ mes "[Aaron]";
+ mes "In case you want to land more critical hits, it's a good idea to invest in LUK. INT increases max SP, which is needed to use various skills.";
+ next;
+ mes "[Aaron]";
+ mes "Well it's up to you on what you type of attributes you focus on.";
+ next;
+ LEnd:
+ mes "[Aaron]";
+ mes "OK, train hard~~";
+ emotion 21;
+ close;
+}
+
+//Edgar-------------------------------------------------------------------------------------
+izlude.gat,182,186,6 script Edgar 709,{
+
+ mes "[Edgar]";
+ mes "Izlude is connected with Alberta by the harbor at the west. There is soo much traffic between the 2 cities that I sometimes feel like an Albertian. Hahahah";
+M_Menu:
+ next;
+ menu "Tell me more",-,"Can you tell me the way to Alberta?",M_1,"End Conversation",M_End;
+
+ mes "[Edgar]";
+ mes "I have a friend named Phelix in Alberta. He is a little stingy but he's a generally nice guy and likes helping others.";
+ mes "He has a big heart and can help you get some useful items in exchange for monster drops.";
+ next;
+ mes "[Edgar]";
+ mes "Lately those in Alberta have been saying that he is helping out people in exchange for Jellopies or something like that.";
+ mes "You might be able to save some zeny if you talk to him.";
+ goto M_Menu;
+
+ M_1:
+ mes "[Edgar]";
+ mes "Well you can always walk there. It's south of here and past the city of Payon. However the walk is rather long so I suggest you take a ship over there.";
+ next;
+ menu "Ok gotcha.",-,"Sick of walking and no money now.",sM_1;
+
+ mes "[Edgar]";
+ mes "Alright, Take Care~";
+ goto M_Menu;
+
+ sM_1:
+ mes "[Edgar]";
+ mes "Hmm..., you hate to walk and are low on money, but you want to go there...(sigh)...Oh boy...";
+ emotion 4;
+ next;
+ mes "[Edgar]";
+ mes "Well I am the captain of a small ship so I could bring you there at the low price of 250 Zeny.";
+ next;
+ menu "Alright~!",-,"Bah, what a rip off!!!",sm_1b;
+
+ if(Zeny < 250) goto sl_NoZeny;
+ set iz_move_alberta,1;
+ set Zeny, Zeny - 250;
+ warp "alberta.gat",195,164;
+
+ sl_NoZeny:
+ mes "[Edgar]";
+ mes "Oh boy you don't have enough money! Go get more.";
+ close;
+
+ sm_1b:
+ mes "[Edgar]";
+ mes "What!!... ahg... bah... guh... I'm NOT ripping you off!!!...";
+ emotion 23;
+ close;
+
+ M_End:
+ mes "[Edgar]";
+ mes "Well I've got other business to attend too.";
+ close;
+
+}
+
+//Sailor-------------------------------------------------------------------------------------
+izlude.gat,201,181,2 script Sailor 100,{
+ mes "[Sailor]";
+ mes "Hey Everybody, Attention! Come and Ride the Wind on a Fantastic Ship!!! Come on! Hurry up!";
+ next;
+ menu "Byalan Island -> 150 Zeny.",-,"Alberta Marina -> 500 Zeny.",L1,"Cancel",LEnd;
+
+ if(Zeny < 150) goto sl_NoZeny;
+ set Zeny, Zeny - 150;
+ warp "izlu2dun.gat",107,50;
+ close;
+ L1:
+ if(Zeny < 500) goto sl_NoZeny;
+ set Zeny, Zeny - 500;
+ warp "alberta.gat",188,169;
+ LEnd:
+ close;
+ sl_NoZeny:
+ mes "[Sailor]";
+ mes "You don't have enough money!";
+ close;
+}
+
+//Sailor-------------------------------------------------------------------------------------
+izlu2dun.gat,108,27,4 script Sailor 100,{
+ mes "[Sailor]";
+ mes "Wanna return?";
+ next;
+ menu "Yeah, I am Tired to Death.",-,"Nope I love this place.",L1;
+
+ warp "izlude.gat",176,182;
+ L1:
+ close;
+}
+
+izlude.gat,171,185,3 script Honeymoon Helper#Izlude I 71,{
+
+ mes "[Marry Happy]";
+ mes "Newly weds and already weds...";
+ mes "You can go to the imaginary recreational area anytime.";
+ mes "Welcome to Jawaii!";
+ next;
+ menu "'Jawaii'?",-,"Let's go to 'Jawaii'~",s_Go,"Cancel",s_Cancel;
+
+ mes "[Marry Happy]";
+ mes "A distant island from the continent of Rune Midgard... ";
+ mes "there is a peaceful and charming recreational area,";
+ mes "that can't be easily reached by people.";
+ mes "Since it is a famous spot for honeymoon,";
+ mes "only married couples are allowed to go there.";
+ next;
+ mes "[Marry Happy]";
+ mes "Since it's a special journey,";
+ mes "the payment will be a bit expensive than normal. It will cost you 100,000z !!";
+ mes "And that's what lets you enjoy";
+ mes "a peaceful and fascinating";
+ mes "honey moon trip...?";
+ close;
+
+s_Go:
+ if(getpartnerid() == 0)
+{
+ mes "[Marry Happy]";
+ mes "UhOh, I'm sorry.";
+ mes "You can't go there if you're not married...";
+ mes "Why don't you go to the Prontera Inn,";
+ mes "and cheer yourself up?";
+ close;
+}
+ else if(Zeny < 100000)
+{
+
+
+ mes "[Marry Happy]";
+ mes "I've explained about the trip to 'Jawaii'.";
+ mes "You'll need 100,000 z.";
+ mes "If you do not have enough zeny,";
+ mes "why don't you seek help from your partner...?";
+ close;
+}
+ set Zeny,Zeny - 100000;
+ mes "[Marry Happy]";
+ mes "Enjoy your trip...!!";
+ mes "Let's go to 'Jawaii'...!!";
+ close2;
+ warp "jawaii.gat",241,115;
+ end;
+
+s_Cancel:
+ mes "[Marry Happy]";
+ mes "There's nothing that is as exciting as";
+ mes "travelling together, especially when";
+ mes "you're travelling with your loved ones.";
+ mes "You must be very happy, isn't it?";
+ close;
+} \ No newline at end of file
diff --git a/npc/cities/jawaii.txt b/npc/cities/jawaii.txt
new file mode 100644
index 000000000..dd4dfe463
--- /dev/null
+++ b/npc/cities/jawaii.txt
@@ -0,0 +1,771 @@
+//===== eAthena script =======================================
+//= Jawaii (The Lovers Paradise) Town script
+//===== By: ==================================================
+//= jAthena (1.0)
+//= DNett123 (1.1 - 1.5)
+//===== Current Version: =====================================
+//= 2.0
+//===== Compatible With: =====================================
+//= Latest eAthena SVN
+//===== Description: =========================================
+//= Jawaii Town Npcs
+//===== Additional Comments: =================================
+//= 1.0 - Done By jAthena
+//= 1.1 - Rough Translation [DNett123]
+//= 1.2 - Started Grammer Corrections [DNett123]
+//= 1.3 - Some Edits Thanks To Vidar & Fusion [DNett123]
+//= 1.4 - Edited Dancer, Thanks ceskil [DNett123]
+//= 1.5 - Fixed Script, and spelling errors, some thanks to Sparkles [DNett123]
+//= 1.6 - Final corrections (not complete), thanks to the public, and DNett123!
+//= 1.6c - added missing monsters. Still 1 type is missing [Lupus]
+//= 1.7 – Fixed a lot of typo’s [Nexon]
+//= 1.8 - Removed monster spawns, added aegis ep 8.5 spawns to npc/mobs/fields/jawaii.txt [MasterOfMuppets]
+//= 2.0 - Updated the npcs according to iRO [MasterOfMuppets]
+//============================================================
+
+//===== Shop: ================================================
+jawaii.gat,186,174,2 shop Jawaii Dealer 85,536:150
+
+//===== Jawaii Scripts ===================================
+jawaii.gat,141,200,3 script Attendant#Sweetness Suite 798,{
+
+ mes "[Alowawu]";
+ mes "Welcome.";
+ mes "This is the Sweetness suite.";
+ mes "I have cleaned and tidy up the place.";
+ mes "So please feel free to use it.";
+ next;
+ mes "[Alowawu]";
+ mes "The rental is 1000 zeny per person.";
+ mes "If you give it to me,";
+ mes "I'll transfer you inside.";
+ mes "There's no other way to get inside directly.";
+ next;
+ mes "[Alowawu]";
+ mes "I'll help you with the baggages,";
+ mes "or else, my boss will";
+ mes "beat me up with Triple Blows.";
+ mes "That really hurts.";
+ next;
+ menu "Use it",-,"Cancel",s_Cancel;
+ if(Zeny > 999)
+{
+ mes "[Alowawu]";
+ mes "Thank you.";
+ mes "I'll open a portal for you right now.";
+ mes "Have a nice stay";
+ close2;
+ set Zeny,Zeny - 1000;
+ warp "jawaii_in.gat",116,64;
+ end;
+}
+ else
+{
+ mes "[Alowawu]";;
+ mes "Ah. Dear customer,";
+ mes "you don't have enough zeny to pay for the room.";
+ mes "I can't let you in. Or else,";
+ mes "my boss with get angry and hit me with Triple Blows.";
+ close;
+}
+s_Cancel:
+ mes "[Alowawu]";
+ mes "Haha, this room is better than others.";
+ mes "Believe, it's nice and clean.";
+ mes "If you have any change of mind,";
+ mes "just come and find me.";
+ close;
+}
+
+jawaii.gat,108,199,5 script Attendant#Classic_Suite 74,{
+
+ mes "[Poyi Oland]";
+ mes "Welcome.";
+ mes "This is the Classic suite with two rooms.";
+ mes "It's totally perfect for both of you!";
+ mes "Although the appearances of the houses look alike,";
+ mes "the interior is totally different!";
+ next;
+ mes "[Poyi Oland]";
+ mes "The rental is 1000 zeny per person.";
+ mes "and we're on a post paid basis!";
+ mes "Since you're here on a trip,";
+ mes "I suggest that you choose a better room!";
+ next;
+ mes "[Poyi Oland]";
+ mes "If you ever need anything, just call us.";
+ mes "We'll be at your service immediately.";
+ next;
+ menu "Use",-,"Cancel",s_Cancel;
+
+ if (Zeny > 999)
+{
+ mes "[Poyi Oland]";
+ mes "Thank you for using.";
+ mes "Please enjoy your stay.";
+ close2;
+ set Zeny,Zeny - 1000;
+ warp "jawaii_in.gat",132,107;
+ end;
+}
+ else
+{
+ mes "[Poyi Oland]";
+ mes "I'm sorry!";
+ mes "You do not have enough zeny.";
+ mes "Please confirm your zeny and come again!";
+ close;
+}
+s_Cancel:
+ mes "[Poyi Oland]";
+ mes "So, please come again after you've confirmed it.";
+ mes "Presence of any guest is always welcomed.";
+ close;
+}
+
+jawaii.gat,107,189,5 script Attendant#Honeymoon Suite 93,{
+
+ mes "[Saroki Lania]";
+ mes "...This is the Honeymoon suite and the cost is 1000 zeny.";
+ next;
+ mes "[Saroki Lania]";
+ mes "...Do you want to go in?";
+ next;
+ mes "[Poyi Oland]";
+ mes "If you ever need anything, just call us.";
+ mes "We'll be at your service immediately.";
+ next;
+ menu "Yes",-,"Cancel",s_Cancel;
+
+ if(Zeny > 999)
+{
+ mes "[Saroki Lania]";
+ mes "...Please come in.";
+ close2;
+ set Zeny,Zeny - 1000;
+ warp "jawaii_in.gat",86,117;
+ end;
+}
+ else
+{
+ mes "[Saroki Lania]";
+ mes "...Not enough zeny?";
+ close;
+}
+s_Cancel:
+ mes "[Saroki Lania]";
+ mes "...Ok then.";
+ close;
+}
+jawaii.gat,112,173,7 script Attendant#Villa Suite 93,{
+
+ mes "[Lakers Lania]";
+ mes "Saroki, this is rude.";
+ mes "Can't you treat the customer nicely?";
+ mes "This will make them feel uneasy. Oh, customer!";
+ mes "Welcome. Are you here on a trip?";
+ next;
+ mes "[Lakers Lania]";
+ mes "This is the Villa suite.";
+ mes "It is as comfortable as your home.";
+ mes "The rental is only 1000 zeny.";
+ next;
+ mes "[Lakers Lania]";
+ mes "If you want to use it, I can serve you right now.";
+ mes "What do you think?";
+ next;
+ menu "Use it",-,"Cancel",s_Cancel;
+ if(Zeny > 999)
+{
+ mes "[Lakers Lania]";
+ mes "Thanks and rest well.";
+ mes "I hope you'll enjoy your trip.";
+ close2;
+ set Zeny,Zeny - 1000;
+ warp "jawaii_in.gat",87,75;
+ end;
+}
+ else
+{
+ mes "[Lakers Lania]";
+ mes "Oh, you don't have enough zeny for the stay...?";
+ mes "Maybe you can ask from your partner.";
+ mes "Huhuhuhu-";
+ close;
+}
+s_Cancel:
+ mes "[Lakers Lania]";
+ mes "Hmm, maybe you can try the honeymoon suite beside us.";
+ mes "Although Saroki is not sociable,";
+ mes "the room is a true masterpiece!";
+ close;
+}
+
+jawaii.gat,122,263,5 script Sailor#Alberta 100,{
+
+ mes "[Sailor]";
+ mes "This ship will bring you back to Alberta.";
+ mes "do you enjoy your stay at Jawaii?";
+ mes "Please make sure that,";
+ mes "you haven't left out anything.";
+ next;
+ mes "[Sailor]";
+ mes "Well then, are you ready to return to Alberta?";
+ next;
+ menu "Yes, I am",-,"Cancel",s_Cancel;
+
+ mes "[Sailor]";
+ mes "Anchors away! Next stop! Alberta!!";
+ close2;
+ warp "alberta.gat",192,157;
+ end;
+
+s_Cancel:
+ mes "[Sailor]";
+ mes "Well then, spend a little more time before you leave!";
+ mes "It's not like you can come here everyday!";
+ close;
+}
+
+jawaii.gat,239,112,7 script Sailor#Jawaii2 100,{
+
+ mes "[Sailor]";
+ mes "This ship will bring you back to Izlude Island.";
+ mes "do you enjoy your stay at Jawaii?";
+ mes "Please make sure that,";
+ mes "you haven't left out anything.";
+ next;
+ mes "[Sailor]";
+ mes "Well then, are you ready to return to Izlude Island?";
+ next;
+ menu "Yes, I am",-,"Cancel",s_Cancel;
+
+ mes "[Sailor]";
+ mes "Anchors away! Next stop! Izlude Island!!";
+ close2;
+ warp "izlude",176,182;
+ end;
+
+s_Cancel:
+ mes "[Sailor]";
+ mes "Well then, spend a little more time before you leave!";
+ mes "It's not like you can come here everyday!";
+ close;
+}
+
+jawaii.gat,220,235,3 script Jawaii Citizen#Love Bo 724,{
+
+ mes "[JawaJawa]";
+ mes "Do you know where is the most beautiful place in Jawaii?";
+ mes "It's the 'Island of Love',";
+ mes "located at the north of Jawaii.";
+ mes "Since the water is shallow,";
+ mes "you'll be able to reach there if you're careful.";
+ next;
+ mes "[JawaJawa]";
+ mes "It's also a suitable place for a couple to relax and spend some quality time.";
+ mes "If you sit there alone,";
+ mes "you'll look like a castaway,";
+ mes "stranded on a deserted island!";
+ next;
+ mes "[JawaJawa]";
+ mes "Well, of course you can play Castaway";
+ mes "with the letter in empty bottle!";
+ mes "But don't that look pathetic?";
+ close;
+}
+
+jawaii.gat,239,146,3 script Jawaii Citizen#Explain1 100,{
+
+ mes "[WaiiWaii]";
+ mes "Welcome to Jawaii!";
+ mes "What would a marriage be without a honeymoon?";
+ mes "At this place,";
+ mes "you can ignore the threat from those pathetic dateless losers.";
+ next;
+ mes "[WaiiWaii]";
+ mes "You might encounter some monsters here.";
+ mes "But as long as you leave them alone, it will be fine!";
+ mes "They have inhabited this place for a long time,";
+ mes "so you can just take them a part of the view.";
+ close;
+}
+
+jawaii.gat,168,247,5 script Jawaii Citizen#Explain2 724,{
+
+ mes "[WajaWaja]";
+ mes "The hostels are located at the west.";
+ mes "Every room has a different environment.";
+ mes "So choose the one suitable for you.";
+ mes "It would be better if you ask the staff there.";
+ next;
+ mes "[WajaWaja]";
+ mes "Please use the ship at the northwest";
+ mes "and southeast if you want to go back.";
+ mes "There're boats scheduled to";
+ mes "Alberta and Izlude Island.";
+ close;
+}
+
+jawaii.gat,165,121,1 script Jawaii Citizen#Explain3 724,{
+
+ mes "[IwaIwa]";
+ mes "Jawaii~ Isn't this island of happiness great?";
+ mes "You can just lay down";
+ mes "and do nothing for the whole day.";
+ mes "That what Jawaii is meant for.";
+ next;
+ mes "[IwaIwa]";
+ mes "This is the stage,";
+ mes "wher they hold a performance sometimes.";
+ mes "Do you want to go up there and sing us a song?";
+ mes "Jawaii~ Island of Happiness.";
+ close;
+}
+
+jawaii_in.gat,43,115,0 script Customer#jaw_1 97,{
+
+ mes "[Boogie]";
+ mes "uhOh....Oh my! How do I come to a place like this?";
+ mes "Everyone here is filled with happiness!";
+ next;
+ mes "[Boogie]";
+ mes "But for a dateless person like me, it just makes me look more like a loser!!";
+ mes "You, you must have felt the same too, right?";
+ next;
+ mes "[Boogie]";
+ mes "Urgh....";
+ mes "Boss, give me another shot!";
+ close;
+}
+
+jawaii_in.gat,41,106,3 script Customer#Kyle Jeet 98,{
+
+ mes "[Kyle Jeet]";
+ mes "Eat and eat...!!";
+ mes "Drink! Drink...!!";
+ next;
+ mes "[Kyle Jeet]";
+ mes "We are released...!";
+ mes "from being a couple in hell...!";
+ mes "to a healthy and precious single in heaven...!";
+ close;
+}
+
+jawaii_in.gat,15,104,0 script Field Attendant#jawaii 80,{
+
+ mes "[Attendant]";
+ mes "....Well, I don't know what's your purpose of coming here.";
+ //Emotion?
+ next;
+ mes "[Attendant]";
+ mes "If you try to disturb those people in happiness,";
+ mes "Get a drink from the bar tender and go away after you finish it!";
+ next;
+ menu "I am the great single!!",-,"...I just came to congratulate...",s_Cong;
+
+ mes "[Attendant]";
+ mes "How selfish of you...";
+ mes "You should congratulate those happy couples!";
+ mes "Whether you are single of married, don't cause any troube!!";
+ next;
+ mes "[Attendant]";
+ mes "Or else, get married and come here for honeymoon. I'll be glad to serve you.";
+ close;
+s_Cong:
+ mes "[Attendant]";
+ mes "....? What? You're here to celebrate?";
+ mes "Oh my god! I'm so sorry! How rude of me!";
+ mes "Please rest well then~";
+ close;
+}
+
+jawaii_in.gat,28,124,0 script Bartender#jaw 46,{
+
+ set @drinkcount,0;
+ mes "[Bartender]";
+ mes "Welcome, dear customer.";
+ mes "So, what's your order?";
+ next;
+ Loopback:
+ menu "Today's special",-,"Nimi",s_Nimi,"Refreshing",s_Refreshing,"Misa",s_Misa,"Magnificent Blue",s_Magn;
+
+ if(@drinkcount >= 4)
+{
+ mes "[Bartender]";
+ mes "You have taken a lot of drinks. Do you still want to continue?";
+ next;
+ input @jawaiitstring$;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Boss, because of ";
+ mes @jawaiitstring$;
+ mes "I'm not feeling well...";
+ next;
+ mes "[Bartender]";
+ mes "....Here, this is my recommendation, ^0000FF`Special J&J screw file driver ver.¨¤«×¾¹'^000000 ";
+ mes "It's on the house.";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Thank you, boss...";
+ percentheal -100,0;
+ close;
+}
+ else
+{
+ set @randomdrink,rand(1,4);
+ if(@randomdrink == 1)
+{
+ mes "[Bartender]";
+ mes "Well...How about this..?";
+ set Zeny,Zeny - 100;
+ next;
+ mes "[Bartender]";
+ mes "I recommend this ^0000FF`Hot Kiss Assault'^000000¡A";
+ mes "a mixture of sweet scent with the unique scarlet color that bring great passions.";
+ next;
+ mes "You receive a sugar coated overturned triangular glass. -";
+ mes "It is releasing a great amount of sweet scent.-";
+ mes "Although the scent is attractive, it seems dangerous. -";
+ next;
+ mes "[Bartender]";
+ mes "The first encounter is the most important stage.";
+ mes "The feeling of sugar jumping in your mouth is totally awesome.";
+ next;
+ mes "Adjust the direction you sip the drink and taste it slowly.";
+ percentheal -20,0;
+ specialeffect2 38;
+ set @drinkcount,@drinkcount + 1;
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Boss...Give me another shot...";
+ next;
+}
+ else if(@randomdrink == 2)
+{
+ mes "[Bartender]";
+ mes "How about this one?";
+ next;
+ mes "[Bartender]";
+ mes "I recommend this ^0000FF`Black Siberian Double Shot'^000000 ";
+ mes "A drink that let you feel the power of Russia and the greatness of land.";
+ next;
+ mes "- You look at the mixture of ice cube and black liquid.-";
+ mes "- Although the scent is sweet-";
+ mes "- You find a slight scent of male after shave.-";
+ next;
+ mes "[Bartender]";
+ mes "It's suitable to taste it bits by bits due to its strong taste.";
+ mes "It is a special mixture loved by the Siberians.";
+ next;
+ mes "- You feel the scent and drink it bits by bits. -";
+ percentheal -20,0;
+ specialeffect2 63; //Fire Ivy?
+ set @drinkcount,@drinkcount + 1;
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Boss...Give me another shot...";
+ next;
+}
+ else if(@randomdrink == 3)
+{
+ mes "[Bartender]";
+ mes "Let me recommend...";
+ next;
+ mes "[Bartender]";
+ mes "I recommend this ^0000FF`White Hot Magarita'^000000 ";
+ mes "The sour scent of lemon is really special, especially when you feel the soul of a Mexican within!";
+ next;
+ mes "- You receive an overturned triangular glass coated with lemon juice.-";
+ mes "- It is releasing a sweet and sour scent.-";
+ mes "- As attractive as it looks, you cannot ignore the danger behind it.";
+ next;
+ mes "[Bartender]";
+ mes "The sweet and refreshing taste make it popular among the girls,";
+ mes "especially when it contains the sensation of a Mexican.";
+ next;
+ mes "- You can imagine yourself wearing a Mexican Sombrero-";
+ mes "- and drinking this cocktail! -";
+ percentheal -20,0;
+ specialeffect2 17;
+ set @drinkcount,@drinkcount + 1;
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Boss...Give me another shot...";
+ next;
+}
+ else if(randomdrink == 4)
+{
+ mes "[Bartender]";
+ mes "Hmm... How about this?";
+ next;
+ mes "[Bartender]";
+ mes "I recommend this ^0000FF`Barcardi 151 Barcelona Crusade'^000000";
+ mes "It's a pirate cocktail with a lot of memories";
+ next;
+ mes "-You look at the yellow liquid in the small glass. -";
+ mes "-Although it looks like you can finish it in 1 sip, -";
+ mes "-it looks like a really dangerous drink. -";
+ next;
+ mes "[Bartender]";
+ mes "This flaming baby will burn you up.";
+ mes "Finish it in one sip to feel the burning sensation.";
+ next;
+ mes "- You finish it in one sip. -";
+ percentheal -20,0;
+ specialeffect2 171;
+ set @drinkcount,@drinkcount + 1;
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Boss...Give me another shot...";
+ next;
+}
+}
+
+s_Nimi:
+ if(@drinkcount >= 5)
+{
+ mes "[Bartender]";
+ mes "...I'll buy you a drink.";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "...Thanks ...Boss...";
+ percentheal -100,0;
+ close;
+}
+ else
+{
+ mes "[Bartender]";
+ mes "Here, try this.";
+ set Zeny,Zeny - 100;
+ next;
+ mes "[Bartender]";
+ mes "If you want to show your interest to a girld, choose this!";
+ mes "With the special and strong scent,";
+ mes "it makes you look like a special person too.";
+ next;
+ mes "- You receive a simple looking glass containing white liquid-";
+ mes "- Although there's a slight scent of sweetness, it tastes sour -";
+ mes "- And it makes you want to shout out loud. - ";
+ next;
+ mes "[Bartender]";
+ mes "A lot of people say taht mixed taste of sweet and bitter is like the taste of life.";
+ mes "So it's best for you to taste it with the tip of your tounge.";
+ next;
+ mes "- Drink it from the tip of your tounge -";
+ next;
+ mes "-And it makes me feel.... Bang !!' -";
+ percentheal -10,0;
+ specialeffect2 18;
+ set @drinkcount,@drinkcount + 1;
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Boss...Give me another shot...";
+ next;
+}
+s_Refreshing:
+ if (@drinkcount >= 5)
+{
+ mes "[Bartender]";
+ mes "...I'll buy you a drink.";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "...Thanks ...Boss...";
+ percentheal -100,0;
+ close;
+}
+ else
+{
+ mes "[Bartender]";
+ mes "Here, try this!";
+ set Zeny,Zeny - 100;
+ next;
+ mes "[Bartender]";
+ mes "This one tastes like an old friend.";
+ mes "The more you drink, the better you'll feel.";
+ mes "You can drink it whenever, wherever and with whoever you want.";
+ next;
+ mes "- The tasty looking blue liquid is served to you. -";
+ mes "- Contained in a fancy looking glass, -";
+ mes "- it gives excitement to your nostril with the sour yet sweet scent. -";
+ next;
+ mes "[Bartender]";
+ mes "Don't just take one shot of this.";
+ mes "It will get better the more you drink it!";
+ next;
+ mes "- Your mouth is filled with the sour yet sweet scent after you finish the drink in 3 sips-";
+ mes "- It's really a special blend... -";
+ percentheal -10,0;
+ specialeffect2 84; //Magnificat?
+ set @drinkcount,@drinkcount + 1;
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Boss...Give me another shot...";
+ next;
+}
+s_Misa:
+ if (@drinkcount >= 5)
+{
+ mes "[Bartender]";
+ mes "...I'll buy you a drink.";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "...Thanks ...Boss...";
+ percentheal -100,0;
+ close;
+}
+ else
+{
+ mes "[Bartender]";
+ mes "Here, try this!";
+ set Zeny,Zeny - 100;
+ next;
+ mes "[Bartender]";
+ mes "This one tastes like an old friend.";
+ mes "The more you drink, the better you'll feel.";
+ mes "You can drink it whenever, wherever and with whoever you want.";
+ next;
+ mes "- The tasty looking blue liquid is served to you. -";
+ mes "- Contained in a fancy looking glass, -";
+ mes "- it gives excitement to your nostril with the sour yet sweet scent. -";
+ next;
+ mes "[Bartender]";
+ mes "Don't just take one shot of this.";
+ mes "It will get better the more you drink it!";
+ next;
+ mes "- Your mouth is filled with the sour yet sweet scent after you finish the drink in 3 sips-";
+ mes "- It's really a special blend... -";
+ percentheal -10,0;
+ specialeffect2 97;
+ set @drinkcount,@drinkcount + 1;
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Boss...Give me another shot...";
+ next;
+}
+
+s_Magn:
+ if (@drinkcount >= 5)
+{
+ mes "[Bartender]";
+ mes "...I'll buy you a drink.";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "...Thanks ...Boss...";
+ percentheal -100,0;
+ close;
+}
+ else
+{
+ mes "[Bartender]";
+ mes "Here, try this.";
+ set Zeny,Zeny - 100;
+ next;
+ mes "[Bartender]";
+ mes "This is recommended for those who miss the glorious memories of the pass...";
+ mes "For those who starts a war to preserve the peace...";
+ mes "And of course... For those who fake the truth of history.";
+ next;
+ mes "- You receive a brown liquid in a shaking bottle. -";
+ mes "- You feel the heavy and thick scent like the machines oil. -";
+ mes "- Scent of fireworks? No, it's a little different than that... -";
+ next;
+ mes "[Bartender]";
+ mes "It might look a lot but you better finish it in 1 sip.";
+ mes "You'll lose its taste if you drink it too slow.";
+ next;
+ mes "- Grabbing the Shake bottle, you immediately finish it.-";
+ next;
+ mes "- And it feels like you're hit by a canon.-";
+ percentheal -10,0;
+ specialeffect2 132;
+ set @drinkcount,@drinkcount + 1;
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Boss...Give me another shot...";
+ next;
+}
+goto Loopback;
+}
+
+jawaii_in.gat,25,94,5 script Attendant#jaw1 724,{
+
+ mes "[Attendant Teleteer]";
+ mes "Welcome to the Inn of Jawaii~";
+ mes "I hope you'll enjoy your stay here...";
+ mes "But don't get drunk and cause any trouble!";
+ close;
+}
+
+jawaii_in.gat,25,96,5 script Attendant#jaw2 724,{
+
+ mes "[Attendant PoYi]";
+ mes "Welcome to the Inn of Jawaii~";
+ mes "I hope you'll enjoy yourself~";
+ mes "But, don't get jealous and criticize people who are blessed with happiness!";
+ close;
+}
+
+jawaii_in.gat,25,98,5 script Attendant#jaw3 724,{
+
+ mes "[Attendant Poppy]";
+ mes "Welcome to the Inn of Jawaii~";
+ next;
+ mes "[Attendant Poppy]";
+ mes "May I ask....are you from a foreign land?";
+ mes "You're still single, right?";
+ mes "I am a good cook too, will you consider me?";
+ mes "How about that? Huh?";
+ close;
+}
+
+jawaii_in.gat,25,100,5 script Attendant#jaw4 724,{
+
+ mes "[Attendant Ether]";
+ mes "Welcome to the Inn of Jawaii~";
+ mes "Criticizing, no! Discouraging, no!";
+ mes "Get drunk, no! Congratulate, YES!";
+ close;
+}
+
+jawaii_in.gat,30,94,4 script Attendant#jaw5 724,{
+
+ mes "[Attendant Donna]";
+ mes "Welcome to the Inn of Jawaii~";
+ mes "......Oh no.....";
+ mes "...Welcome! But please don't get drunk and cause trouble again! ";
+ close;
+}
+
+jawaii_in.gat,30,96,4 script Attendant#jaw6 724,{
+
+ mes "[Attendant Ken]";
+ mes "Welcome to the Inn of Jawaii~";
+ mes "It's ok for you to relax, but...";
+ mes "Please control yourself...";
+ close;
+}
+
+jawaii_in.gat,30,98,4 script Attendant#jaw7 724,{
+
+ mes "[Attendant Emater]";
+ mes "Welcome to the Inn of Jawaii~";
+ next;
+ mes "[Attendant Emater]";
+ mes "...You're like a wandering soul.";
+ mes "This place is not suitable for you!";
+ mes "Well, as long as you like it,";
+ mes "have fun but please don't cause any trouble~";
+ close;
+}
+
+jawaii_in.gat,30,100,4 script Attendant#jaw8 724,{
+
+ mes "[Attendant GoYa]";
+ mes "Welcome to the Inn of Jawaii~";
+ next;
+ mes "[Attendant GoYa]";
+ mes "Just like a story with a chapter missing,";
+ mes "you look disgusting.";
+ mes "Find yourself a partner so that you can enjoy your adventure~";
+ close;
+}
diff --git a/npc/cities/louyang.txt b/npc/cities/louyang.txt
new file mode 100644
index 000000000..1662ee5d2
--- /dev/null
+++ b/npc/cities/louyang.txt
@@ -0,0 +1,1728 @@
+//===== eAthena Script =======================================
+//= Louyang City NPC's
+//===== By: ==================================================
+//= Vidar (1.0)
+//= Mass Zero (1.1)
+//= Dino9021, roughly translated by Celest (1.2)
+//= Mass Zero (1.3)
+//= MasterOfMuppets (2.0)
+//===== Current Version: =====================================
+//= 2.2
+//===== Compatible With: =====================================
+//= Any eAthena Version
+//===== Description: =========================================
+//= Official NPC's for Louyang city.
+//===== Additional Comments: =================================
+//= Originally made for Vidar
+//= 1.2 - Added official warp NPC's
+//= 1.3 - Fixed gramatical errors. (Like wtf's with the weird
+// texts celest? xD)
+//= 2.0 - Completely rewrote the current scripts based on iRO.
+// Added the 'Shouting Quest' and the 'Medicine Quest'
+//= 2.1 Optimized, made quest vars unique [Lupus]
+//= 2.1a minor fix, 2.1b Fixed Typo’s [Nexon]
+//= 2.2 Fixed exploits [Lupus]
+//= 2.2a Updated the color codes a little and fixed the shouting quest
+//= to broadcast green text.
+//= 2.2b A small fix to the shout quest npc in louyang field not warping you
+//= back up to the tower if you died or teleported out of there. [MasterOfMuppets]
+//= 2.3 A small fix, the code is so messy I can't believe I scripted it >.< [MasterOfMuppets]
+//============================================================
+
+alberta.gat,245,45,4 script Girl 815,{
+ mes "[Girl]";
+ mes "La la la la~";
+ mes "I feel so good today~";
+ mes "I'm in the mood to go";
+ mes "on a picnic somewhere~";
+ mes "La la la la~";
+ next;
+ menu "About Louyang.",-,"Go to Louyang.",M_GOTO,"Cancel.",M_CANCEL;
+
+ mes "[Girl]";
+ mes "Oh, are you";
+ mes "Interested in Louyang?";
+ mes "It's a nice place to";
+ mes "visit for travelers.";
+ next;
+ mes "[Girl]";
+ mes "Louyang has a long history";
+ mes "with stories of ancient magic and warriors. It's also rumored that many evil beasts roam the Louyang area";
+ next;
+ mes "[Girl]";
+ mes "You can find cure-all medicines, mysterious occurrences, and martial artists all in one place!";
+ next;
+ mes "[Girl]";
+ mes "I used to train in the martial arts every morning back when I was in Louyang. I might not look like it, but I'm pretty strong!";
+ next;
+ mes "[Girl]";
+ mes "If you want to visit";
+ mes "Louyang, feel free to";
+ mes "tell me. Just give me";
+ mes "some Zeny and we'll go~";
+ close;
+
+M_GOTO:
+ mes "[Girl]";
+ mes "I'll guide you to";
+ mes "Louyang right away.";
+ mes "For my service, I am";
+ mes "accepting 10,000 zeny";
+ next;
+ mes "[Girl]";
+ mes "So, are you ready?";
+ next;
+ menu "Sure",-,"Cancel",M_CANCEL2;
+
+ if(Zeny < 10000) goto L_NOZENY;
+ mes "[Girl]";
+ mes "Okay~";
+ mes "Ready!";
+ mes "Have fun!";
+ close2;
+ set Zeny,Zeny-10000;
+ warp "lou_fild01.gat",190,101;
+ end;
+
+L_NOZENY:
+ mes "[Girl]";
+ mes "...";
+ mes "You don't seem";
+ mes "to have 10,100 zeny...";
+ mes "Go get some money first!";
+ close;
+
+M_CANCEL:
+ mes "[Girl]";
+ mes "Oh...";
+ mes "Have a good day!";
+ close;
+
+M_CANCEL2:
+ mes "[Girl]";
+ mes "Oh...";
+ mes "It's so disappointing to hear you say that.";
+ mes "Well, have a good day!";
+ close;
+}
+
+lou_fild01.gat,190,100,1 script Girl 815,{
+ mes "[Girl]";
+ mes "You'd like to go back to Alberta?";
+ next;
+ menu "Go back to Alberta.",-,"Cancel.",M_CANCEL;
+
+ mes "[Girl]";
+ mes "I hope to";
+ mes "see you again!";
+ mes "Bye bye!";
+ close2;
+ warp "alberta.gat",235,45;
+ end;
+
+M_CANCEL:
+ mes "[Girl]";
+ mes "If you like this area, why don't you stay and enjoy the food and the sights!";
+ next;
+ mes "[Girl]";
+ mes "And by sights...";
+ mes "I mean girls!";
+ mes "Tee hee~";
+ close;
+}
+
+louyang.gat,224,104,4 script Representative 818,{
+ mes "[Representative]";
+ mes "Welcome to Louyang,";
+ mes "an ancient land with";
+ mes "a history full of tales";
+ mes "of bravery.";
+ next;
+ mes "[Representative]";
+ mes "We now provide an ocean lane to accommodate foreign travelers and intercultural exchange from which all can benefit.";
+ next;
+ mes "[Representative]";
+ mes "Louyang is famous for it's elaborate history, as well as specialties that are unique to this nation. Please take your time and enjoy your stay.";
+ next;
+ menu "Ask Building Locations.",-,"Remove all marks from mini-map.",M_REMOVE,"Cancel",M_CANCEL;
+
+ mes "[Representative]";
+ mes "Where would you like to go?";
+ menu "Dragon castle",-,"Doctor's Office",M_DOC,"The City Hall",M_CHALL,"The Weapon Shop",M_WEP,"The Tool Shop",M_TOOL,"The Tavern",M_TAVERN;
+
+ mes "[Representative]";
+ mes "The Dragon Castle is located at ^FFCCFF+^000000.";
+ mes "It is where all the nobles reside,";
+ mes "including our lord.";
+ next;
+ viewpoint 1,218,252,1,0xFFCCFF;
+ mes "[Representative]";
+ mes "Since you're an outsider, I guess it would be appropriate for you to visit our lord first.";
+ close;
+
+M_DOC:
+ mes "[Representative]";
+ mes "We have a very skillful doctor";
+ mes "You can find her office at ^FFFF00+^000000.";
+ next;
+ viewpoint 1,263,93,2,0xFFFF00;
+ mes "[Representative]";
+ mes "It is said that there";
+ mes "is no disease she cannot cure.";
+ mes "Well, I can't guarantee if that's true or not.";
+ close;
+
+M_CHALL:
+ mes "[Representative]";
+ mes "We have a City Hall where the federal government operates.";
+ mes "It is located at ^AFAFAF+^000000.";
+ next;
+ viewpoint 1,310,79,3,0xAFAFAF;
+ mes "[Representative]";
+ mes "If you have any problems, you should talk with the employees in City Hall.";
+ close;
+
+M_WEP:
+ mes "[Representative]";
+ mes "The Weapon Shop is located at ^00FF00+^000000.";
+ next;
+ viewpoint 1,145,175,4,0x00FF00;
+ mes "[Representative]";
+ mes "You will see marvelous weapons forged by the well-experienced blacksmiths of Louyang.";
+ close;
+
+M_TOOL:
+ mes "[Representative]";
+ mes "The Tool Shop is located at ^0000FF+^000000.";
+ next;
+ viewpoint 1,136,97,5,0x0000FF;
+ mes "[Representative]";
+ mes "Knowing your enemy is half the battle!";
+ mes "It's also safer to prepare yourself than the be sorry later. Why don't you go check their supplies?";
+ close;
+
+M_TAVERN:
+ mes "[Representative]";
+ mes "When you get tired during your trip, I suggest that you visit the Tavern. It's located at ^00FF00+^000000.";
+ next;
+ viewpoint 1,279,168,6,0x00FF00;
+ close;
+
+M_REMOVE:
+ viewpoint 2,218,252,1,0xFFCCFF;
+ viewpoint 2,263,93,2,0xFFFF00;
+ viewpoint 2,310,79,3,0xAFAFAF;
+ viewpoint 2,145,175,4,0x00FF00;
+ viewpoint 2,136,97,5,0x0000FF;
+ viewpoint 2,279,168,6,0x00FF00;
+ mes "[Representative]";
+ mes "Done! All the marks on your mini-map are erased. Feel free to ask me about building location whenever you need to.";
+ close;
+
+M_CANCEL:
+ mes "[Representative]";
+ mes "I understand that you want to explore Louyang and see the sights for youself. Alright then,";
+ mes "Take care!";
+ close;
+}
+
+louyang.gat,213,214,4 script Soldier 825,{
+ mes "[Soldier]";
+ mes "Welcome to louyang, a city with a long and colorful history.";
+ next;
+ mes "[Soldier]";
+ mes "Recently we've developed an ocean lane to accommodate positive exchange with foreign nations.";
+ next;
+ mes "[Soldier]";
+ mes "Louyang is well-known for various specialties in addition to its right. Here you can find many things unique to our land.";
+ next;
+ mes "[Soldier]";
+ mes "Please take your time and we invite you to enjoy your trip here in Louyang.";
+ next;
+ menu "Ask Building Locations.",-,"Remove all marks from mini-map.",M_REMOVE,"Cancel",M_CANCEL;
+
+ mes "[Soldier]";
+ mes "Where would you like to go?";
+ menu "Dragon castle",-,"Doctor's Office",M_DOC,"The City Hall",M_CHALL,"The Weapon Shop",M_WEP,"The Tool Shop",M_TOOL,"The Tavern",M_TAVERN;
+
+ mes "[Soldier]";
+ mes "The Dragon Castle is located at ^FFCCFF+^000000.";
+ mes "It is where all the nobles reside,";
+ mes "including our lord.";
+ next;
+ viewpoint 1,218,252,1,0xFFCCFF;
+ mes "[Soldier]";
+ mes "Since you're an outsider, I guess it would be appropriate for you to visit our lord first.";
+ close;
+
+M_DOC:
+ mes "[Soldier]";
+ mes "We have a very skillful doctor";
+ mes "You can find her office at ^FFFF00+^000000.";
+ next;
+ viewpoint 1,263,93,2,0xFFFF00;
+ mes "[Soldier]";
+ mes "It is said that there";
+ mes "is no disease she cannot cure.";
+ mes "Well, I can't guarantee if that's true or not.";
+ close;
+
+M_CHALL:
+ mes "[Soldier]";
+ mes "We have a City Hall where the federal government operates.";
+ mes "It is located at ^AFAFAF+^000000.";
+ next;
+ viewpoint 1,310,79,3,0xAFAFAF;
+ mes "[Soldier]";
+ mes "If you have any problems, you should talk with the employees in City Hall.";
+ close;
+
+M_WEP:
+ mes "[Soldier]";
+ mes "The Weapon Shop is located at ^00FF00+^000000.";
+ next;
+ viewpoint 1,145,175,4,0x00FF00;
+ mes "[Soldier]";
+ mes "You will see marvelous weapons forged by the well-experienced blacksmiths of Louyang.";
+ close;
+
+M_TOOL:
+ mes "[Soldier]";
+ mes "The Tool Shop is located at ^0000FF+^000000.";
+ next;
+ viewpoint 1,136,97,5,0x0000FF;
+ mes "[Soldier]";
+ mes "Knowing your enemy is half the battle!";
+ mes "It's also safer to prepare yourself than the be sorry later. Why don't you go check their supplies?";
+ close;
+
+M_TAVERN:
+ mes "[Soldier]";
+ mes "When you get tired during your trip, I suggest that you visit the Tavern. It's located at ^00FF00+^000000.";
+ next;
+ viewpoint 1,279,168,6,0x00FF00;
+ close;
+
+M_REMOVE:
+ viewpoint 2,218,252,1,0xFFCCFF;
+ viewpoint 2,263,93,2,0xFFFF00;
+ viewpoint 2,310,79,3,0xAFAFAF;
+ viewpoint 2,145,175,4,0x00FF00;
+ viewpoint 2,136,97,5,0x0000FF;
+ viewpoint 2,279,168,6,0x00FF00;
+ mes "[Soldier]";
+ mes "Done! All the marks on your mini-map are erased. Feel free to ask me about building location whenever you need to.";
+ close;
+
+M_CANCEL:
+ mes "[Soldier]";
+ mes "I guess it's fun sometimes to go exploring on your own. Take care.";
+ close;
+}
+
+lou_fild01.gat,195,177,4 script Jiu Lian Bu 819,{
+ if(QL_SOUP2) goto L_DONE;
+ if(QL_SOUPQUEST)goto L_WHERE;
+ if(QL_GOTFAKESOUP) goto L_FAKE;
+ if(QL_GOTDRAGONSOUP) goto L_SOUP;
+ if(QL_ACCEPTSOUP) goto L_GORESTA;
+ mes "[Jiu Lian Bu]";
+ mes "Hey~";
+ mes "What's up?";
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "I don't like hanging around too many people, so I came here. Listening to this strean really puts my mind to ease.";
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "No offense, but I'm upset";
+ mes "at the sheer number of tourists coming over to Louyang";
+ mes "Sure, I can understand that our town is attractive and has beautiful sights.";
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "But I just can't stand crowds of people. People gather like sheep to any place they hear is popular, and that really bugs me!";
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "Speaking of which, there's even";
+ mes "a place in Louyang that's just like";
+ mes "that. Man, I hate that restaurant!";
+ next;
+ menu "What restaurant?",-,"Ignore him.",M_IGNORE;
+
+ mes "[Jiu Lian Bu]";
+ mes "In the east side of Louyang, there's a restaurant built on a pond. It's been around for a long time, selling food for ridiculous prices!";
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "Oh sure, the food and flavors";
+ mes "there have a long history, but I";
+ mes "don't think that justifies how they";
+ mes "charge their patrons!";
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "As a young man";
+ mes "who loves his town,";
+ mes "I can't let them manipulate my";
+ mes "people like that!";
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "But everyone here already knows who I am, so I can't do anything! I've already had one too many, shall we say, 'incidents' with the people living here already.";
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "I've been caught for tagging walls, shoplifting, camming, stealing a few girlfriends... So yeah, I'm not exactly known as a sterling citizen.";
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "Say, wait a minute. The local";
+ mes "people around here aren't too";
+ mes "familiar with you. Hmmm...";
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "Would you sneak into that restaurant and steal the ^3131FFDragon Soup Broth^000000 for me?";
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "The Dragon Soup Broth is the";
+ mes "backbone for the restaurant";
+ mes "owner's secret recipe.";
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "But they've been cheating their";
+ mes "customers by watering that broth";
+ mes "down and selling it for a";
+ mes "ridiculous price! Serves them right";
+ mes "if their secrets were stolen!";
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "If you can steal some of the broth,";
+ mes "I'll pay you back. Whaddaya say?";
+ next;
+ menu "I'll do it!",-,"No, stealing is wrong.",M_NO;
+
+ mes "[Jiu Lian Bu]";
+ mes "Great!";
+ mes "I knew you'd";
+ mes "see things my way!";
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "Okay, the restaurant is at the East side of Louyang. But you got to be careful. The workers there watch over that broth like freakin' hawks!";
+ set QL_ACCEPTSOUP,1;
+ close;
+
+M_NO:
+ mes "[Jiu Lian Bu]";
+ mes "Stealing?";
+ mes "You may have";
+ mes "a point there.";
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "But then, that restaurant has been doing that to their customers for years! So, technically. we'd just be stealing back.";
+ close;
+
+M_IGNORE:
+ mes "[Jiu Lian Bu]";
+ mes "That join isn't even that great. I mean, it's so obvious that they rip off their customers! Dragon Soup?! More like... Dragon Crap Soup!";
+ close;
+
+L_GORESTA:
+ mes "[Jiu Lian Bu]";
+ mes "Huh...?";
+ mes "Whoa, I thought you were on you way to the restaurant. You better get a move on.";
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "Alright then, pal. Make sure the";
+ mes "guys who work there don't catch you. Good luck~";
+ close;
+
+L_FAKE:
+ mes "[Jiu Lian Bu]";
+ mes "Wow! You made it!";
+ mes "Let me see...";
+ next;
+ mes "^445BA7Jiu Lian Bu takes a hearty sip of the broth you've managed to steal for him.";
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "Ohhhh man....";
+ mes "This is so not Dragon Soup Broth. Sorry, but would you go and try to get it again?";
+ close;
+ set QL_GOTFAKESOUP,0;
+
+L_SOUP:
+ mes "[Jiu Lian Bu]";
+ mes "Wow! You made it!";
+ mes "Let me see...";
+ next;
+ mes "^445BA7Jiu Lian Bu takes a hearty sip of the broth you've managed to steal for him.";
+ next;
+ mes "Ooooh. Ooh yeah.";
+ mes "This is the stuff.";
+ mes "Muhahahahahaha~!";
+ mes "This'll put the chef";
+ mes "in agony for a while!";
+ next;
+ set QL_GOTDRAGONSOUP,0;
+ set QL_ACCEPTSOUP,0;
+ set QL_SOUPQUEST,1;
+ mes "[Jiu Lian Bu]";
+ mes "Good job, chum! Heh heh heh, because you risked your neck for me, I'm gonna show you an awesome place! Just follow me~";
+ close2;
+ warp "lou_fild01.gat",180,171;
+ end;
+
+L_DONE:
+ mes "[Jiu Lian Bu]";
+ mes "Hey~";
+ mes "So how ya been, ya smooth criminal?";
+ mes "You want to visit that place again?";
+ next;
+ menu "Sure, let's go~",-,"Nah, maybe next time.",M_NAH;
+
+ mes "[Jiu Lian Bu]";
+ mes "Alright~";
+ mes "Let's get";
+ mes "a groove on.";
+ close2;
+ warp "lou_fild01.gat",180,171;
+ end;
+
+M_NAH:
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "Not in the mood, eh?";
+ mes "No prob. But feel free";
+ mes "to come see me whenever";
+ mes "you want.";
+ close;
+L_WHERE:
+ mes "[Jiu Lian Bu]";
+ mes "Hey where did you go?";
+ mes "Come up again and I'll";
+ mes "give you your reward.";
+ close2;
+ warp "lou_fild01.gat",180,171;
+ end;
+}
+
+lou_fild01.gat,175,174,4 script Jiu Lian Bu 819,{
+ if(QL_SOUPQUEST < 1) goto L_DOQUEST;
+ if(QL_SOUP2 < 1) goto L_1STTIME;
+ mes "[Jiu Lian Bu]";
+ mes "So...";
+ mes "Whaddya want to do?";
+ emotion 18;
+ next;
+ menu "Shout.",-,"Leave.",M_LEAVE;
+
+ mes "[Jiu Lian Bu]";
+ mes "Ready~!";
+ mes "Say it out loud!";
+ next;
+ input @loushout$;
+ mapannounce "lou_fild01.gat","'" + strcharinfo(0) + "' shouts: " + @loushout$ ,1,0x9CFF00;
+ mes "[" + strcharinfo(0) + "]";
+ mes @loushout$;
+ close;
+
+M_LEAVE:
+ mes "[Jiu Lian Bu]";
+ mes "Ahhh...";
+ mes "Alright, let's";
+ mes "get a groove on.";
+ close2;
+ warp "lou_fild01.gat",197,174;
+ end;
+
+L_DOQUEST:
+ mes "[Jiu Lian Bu]";
+ mes "Who are you?";
+ mes "Get off my turf!";
+ close2;
+ warp "lou_fild01.gat",197,174;
+ end;
+
+L_1STTIME:
+ mes "[Jiu Lian Bu]";
+ mes "So...";
+ mes "Whaddya think?";
+ mes "Prettiest place in Louyang, isn't it?";
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "Whenever I'm depressed or need to relax, I just sit here and enjoy the breeze. It helps me forget all my worries.";
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "Heh heh, the best part is, this place is far away from my older siste. Man, that woman can nag, nag, nag, all day long.";
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "Why don't you sit down and close your eyes, and feel that soothing wind. It's pretty refreshing";
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "Also...";
+ mes "I'm a little";
+ mes "embarrassed to";
+ mes "say this but...";
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "I'm the kind of guy who speaks his mind. If there's something you just wanna say, but can't, it's kind of like poison in your mind.";
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "You know what I'm talking about, right? If you bottle something up inside of you, it just causes you anxiety you don't need.";
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "So..";
+ mes "This is what you do.";
+ mes "Clench your first, take";
+ mes "a deep breath.";
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "And just yell";
+ mes "Whatever you want!";
+ mes "If you don't know";
+ mes "the words, just";
+ mes "screaming will do.";
+ mes "Let everything out!";
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "Ready~!";
+ mes "Say it out loud!";
+ next;
+ input @loushout$;
+ mapannounce "lou_fild01.gat","'" + strcharinfo(0) + "' shouts: " + @loushout$ ,1,0x9CFF00;
+ mes "[" + strcharinfo(0) + "]";
+ mes @loushout$;
+ set QL_SOUP2,1;
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "So, how do you feel?";
+ mes "Don't you feel better now? Hahaha~";
+ next;
+ mes "[Jiu Lian Bu]";
+ mes "So from now on, whenever you";
+ mes "want to relieve yourself of stress,";
+ mes "come see me and we'll come back to";
+ mes "this place. Call it my way of";
+ mes "saying thanks.";
+ close;
+}
+
+lou_in02.gat,61,175,2 script Employee 818,2,2{
+ mes "[Ya Hua]";
+ mes "^6A6A6A*Yawn...*";
+ close;
+
+OnTouch:
+ if(QL_GOTDRAGONSOUP == 1 || QL_GOTFAKESOUP == 1) goto S_CAUGHT;
+ end;
+
+S_CAUGHT:
+ mes "[Ya Hua]";
+ mes "^6A6A6A*Yawn...*";
+ mes "^000000Eyelids...";
+ mes "Getting...";
+ mes "Heavier...";
+ next;
+ mes "[Ya Hua]";
+ mes "Wait a sec...";
+ mes "Are you a thief?!";
+ mes "Get out of here!!";
+ if(QL_GOTFAKESOUP == 1) set QL_GOTFAKESOUP,0;
+ if(QL_GOTDRAGONSOUP == 1) set QL_GOTDRAGONSOUP,0;
+ next;
+ mes "^3131FFYou have failed";
+ mes "^3131FFto steal the pot.";
+ close;
+}
+
+lou_in02.gat,54,174,6 script Employee 822,{
+ mes "[Chang Pai]";
+ mes "^6A6A6A*Yawn...*";
+ close;
+}
+
+lou_in02.gat,50,185,4 script Pot 111,{
+ if(QL_SOUPQUEST == 1) goto L_EMPTY;
+ if(QL_ACCEPTSOUP < 1) goto L_NORMAL;
+ mes "^3131FFBeneath the shadows, you find a large pot filled with dark, red liquid. What do you want to do?";
+ next;
+ menu "Take the pot.",-,"Look for another pot.",M_LOOK;
+
+ if (QL_GOTDRAGONSOUP == 1) set QL_GOTDRAGONSOUP,0;
+ mes "^3131FFYou take a careful look around. It wouldn't be wise to steal this now if anyone is watching.";
+ next;
+ mes "^3131FFSince the restaurant is closed, the whole place is completely quiet. The employees are all asleep.";
+ next;
+ mes "^3131FFYou carefully lift the pot, and although it's heavy, you think you can carry it.";
+ next;
+ mes "^3131FFAll you have";
+ mes "^3131FFto do now is get";
+ mes "^3131FFaway from this restaurant";
+ mes "^3131FFwithout getting caught...";
+ set QL_GOTFAKESOUP,1;
+ close;
+
+M_LOOK:
+ mes "^3131FFYou decide to";
+ mes "look for another pot.";
+ close;
+
+L_NORMAL:
+ mes "[Chef]";
+ mes "Ah...";
+ mes "Please, do not";
+ mes "touch the pots!";
+ close;
+
+L_EMPTY:
+ mes "^3131FFYou found a pot, however it's empty.";
+ close;
+}
+
+lou_in02.gat,49,185,4 script Pot 111,{
+ if(QL_SOUPQUEST == 1) goto L_EMPTY;
+ if(QL_ACCEPTSOUP < 1) goto L_NORMAL;
+ mes "^3131FFBeneath the shadows, you find a large pot filled with dark, red liquid. What do you want to do?";
+ next;
+ menu "Take the pot.",-,"Look for another pot.",M_LOOK;
+
+ if (QL_GOTFAKESOUP == 1) set QL_GOTFAKESOUP,0;
+ mes "^3131FFYou take a careful look around. It wouldn't be wise to steal this now if anyone is watching.";
+ next;
+ mes "^3131FFSince the restaurant is closed, the whole place is completely quiet. The employees are all asleep.";
+ next;
+ mes "^3131FFYou carefully lift the pot, and although it's heavy, you think you can carry it.";
+ next;
+ mes "^3131FFAll you have";
+ mes "^3131FFto do now is get";
+ mes "^3131FFaway from this restaurant";
+ mes "^3131FFwithout getting caught...";
+ set QL_GOTDRAGONSOUP,1;
+ close;
+
+M_LOOK:
+ mes "^3131FFYou decide to";
+ mes "look for another pot.";
+ close;
+
+L_NORMAL:
+ mes "[Chef]";
+ mes "Ah...";
+ mes "Please, do not";
+ mes "touch the pots!";
+ close;
+
+L_EMPTY:
+ mes "^3131FFYou found an empty pot.";
+ close;
+}
+
+louyang.gat,261,123,4 script Chi Wu Ping 824,{
+ mes "[Chi Wu Ping]";
+ mes "I don't feel good...";
+ mes "So... Totally out of it...";
+ next;
+ mes "[Chi Wu Ping]";
+ mes "Oh, my aching body!";
+ mes "All my muscles are sore...";
+ mes "There's only one thing that could";
+ mes "cure all of this agonizing...";
+ mes "pain...";
+ next;
+ mes "[Chi Wu Ping]";
+ mes "Hey kid~!";
+ mes "You don't look like a local!";
+ mes "Why don't you follow the road ahead";
+ mes "and check out the big restaurant?";
+ next;
+ mes "[Chi Wu Ping]";
+ mes "The soup that they sell there is probably the healthiest food you can ever find.";
+ next;
+ mes "[Chi Wu Ping]";
+ mes "I guess you could eat";
+ mes "some of that soup";
+ mes "for your health.";
+ close;
+}
+
+lou_in02.gat,62,183,4 script Chef 820,{
+ if(QL_SOUPQUEST == 1) goto L_FINISHED;
+ mes "[Wang Shi Long]";
+ mes "Hello, are you";
+ mes "one of our customers?";
+ mes "I am Wang Shi Long";
+ mes "the chef of this restaurant.";
+ next;
+ mes "[Wang Shi Long]";
+ mes "My family has server food";
+ mes "to Lord Bai Long for a long time.";
+ mes "This restaurant has been handed";
+ mes "down the family line, and I am the successor~";
+ next;
+ mes "[Wang Shi Long]";
+ mes "Our specialty, Dragon Soup,";
+ mes "won especially high praise from";
+ mes "Lord Bai Long, who is known for";
+ mes "his extremely discerning sense of taste.";
+ next;
+ mes "[Wang Shi Long]";
+ mes "I'm also proud to say that we cook";
+ mes "with only the freshest and highest";
+ mes "quality ingredients.";
+ next;
+ mes "[Wang Shi Long]";
+ mes "We've always been popular in";
+ mes "Louyang for hundreds and hundreds";
+ mes "of years because of our high";
+ mes "quality gourmet cuisine.";
+ next;
+ mes "[Wang Shi Long]";
+ mes "In this dry and hot weather,";
+ mes "Dragon Soup is the best food for";
+ mes "any appetite. I suggest that you";
+ mes "try a bowl. You'll be quite";
+ mes "pleased!";
+ close;
+
+L_FINISHED:
+ mes "[Wang Shi Long]";
+ mes "^6A6A6A*Moans and Cries*^000000";
+ mes "I guess this is it...!";
+ mes "The end of my family's glory.";
+ mes "Someone stole the base broth";
+ mes "of my Dragon Soup!";
+ next;
+ mes "[Wang Shi Long]";
+ mes "What should I do, now?";
+ mes "Without Dragon Soup, my family's";
+ mes "restaurant will now just be like";
+ mes "all the others...";
+ close;
+}
+
+lou_in02.gat,42,186,4 script Liu Jia Lim 816,{
+ if(QL_SOUPQUEST == 1) goto L_FINISHED;
+ mes "[Liu Jia Lim]";
+ mes "Do you know what's the best dish at this restaurant? It's Dragon Soup! They've been selling it here for as long as this restaurant has been around";
+ next;
+ mes "[Liu Jia Lim]";
+ mes "It's delicate taste comes from a broth extracted from pure meat that doesn't contain any fat. So it's also a very popular diet food for the ladies.";
+ next;
+ mes "It's tasty and really good for your health. Why don't you order a bowl? I've never known anyone to taste Dragon Soup and not love it!";
+ close;
+
+L_FINISHED:
+ mes "[Liu Jia Lim]";
+ mes "Do you know what was this restaurant's best dish throughout all of its history? Dragon Soup!";
+ next;
+ mes "[Liu Jia Lim]";
+ mes "It's delicate taste comes from a broth extracted from pure meat that doesn't contain any fat. So it's also a very popular diet food for the ladies.";
+ next;
+ mes "[Liu Jia Lim]";
+ mes "I'm not sure what happened, but people say this restaurant no longer sells Dragon Soup.";
+ mes "Was it because of the price...?";
+ close;
+}
+
+lou_in02.gat,43,169,8 script Jiang Rong 827,{
+ mes "[Jiang Rong]";
+ mes "Dragon Soup is known for its spicy";
+ mes "yea sweet and refreshing taste.";
+ next;
+ mes "[Jiang Rong]";
+ mes "It's made with all sorts of";
+ mes "medicinal herbs, so it's good";
+ mes "for your health as well";
+ next;
+ mes "[Jiang Rong]";
+ mes "Dragon Soup draws out the";
+ mes "unnecessary heat created inside";
+ mes "the body and circulates the blood.";
+ mes "So it helps optimize the body'";
+ mes "functions and promotes longevity.";
+ next;
+ mes "[Jiang Rong]";
+ mes "I've eaten Dragon Soup regularly";
+ mes "ever since I was young. Look at me,";
+ mes "don't you think I look so healthy";
+ mes "considering my age?";
+ close;
+}
+
+lou_in02.gat,76,181,2 script Employee 822,{
+ mes "[Huang Jia Xian]";
+ mes "Ehhhh...";
+ mes "Forgive me...";
+ mes "....................";
+ mes "...Zzzzz...Zzzz...";
+ close;
+}
+
+lou_in02.gat,80,173,2 script Li Min 746,{
+ if(QL_SOUPQUEST == 1) goto L_FINISHED;
+ mes "[Li Min]";
+ mes "Well, I don't really";
+ mes "live here in Louyang.";
+ mes "Still, I come here often";
+ mes "enough to visit.";
+ next;
+ mes "[Li Min]";
+ mes "I just returned";
+ mes "because I've got";
+ mes "a huge craving for the";
+ mes "food I tasted here";
+ mes "a while ago.";
+ next;
+ mes "[Li Min]";
+ mes "For some reason, I can't forget it.";
+ mes "I can't get it out of my mind!";
+ next;
+ mes "[Li Min]";
+ mes "The taste, the texture.";
+ mes "The sweetness, melting down into my";
+ mes "mouth, and it's tempting scent";
+ mes "lingering on my lips...";
+ next;
+ mes "[Li Min]";
+ mes "Ummmmm...";
+ mes "Royal Jelly!";
+ mes "It makes my";
+ mes "mouth water~";
+ close;
+
+L_FINISHED:
+ mes "[Li Min]";
+ mes "^6A6A6A*Sigh*^000000 I am so disappointed. I came";
+ mes "all the way down here to taste the";
+ mes "food! I can't believe they don't";
+ mes "sell it anymore!";
+ next;
+ mes "[Li Min]";
+ mes "The worst part is that I'm already";
+ mes "addicted to the taste! ^6A6A6A*Sob...*^000000";
+ close;
+}
+
+lou_in02.gat,58,183,4 script Chef Assistant 823,{
+ mes "[Jin Wei Ling]";
+ mes "I used to be";
+ mes "an enthusiastic";
+ mes "martial artist.";
+ next;
+ mes "[Jin Wei Ling]";
+ mes "Although I became an";
+ mes "assistant chef for a living, I";
+ mes "always think of myself as a martial";
+ mes "artist first.";
+ next;
+ mes "[Jin Wei Ling]";
+ mes "So, I decided to reflect the spirit";
+ mes "of the martial arts into my";
+ mes "cooking. We are often very busy";
+ mes "when there are many customers.";
+ next;
+ mes "[Jin Wei Ling]";
+ mes "When we're busy I can use my";
+ mes "martial arts to cook cuisine much";
+ mes "more quickly! Hahaha~ Martial arts";
+ mes "can be very practical!";
+ next;
+ mes "[Jin Wei Ling]";
+ mes "Waaa-!!!!";
+ misceffect 55;
+ next;
+ mes "[Jin Wei Ling]";
+ mes "Waaa Taah-!!!!!";
+ misceffect 11;
+ next;
+ mes "[Jin Wei Ling]";
+ mes "Waaa...";
+ mes "Waa Taaah-!!!!!";
+ misceffect 121;
+ next;
+ mes "[Jin Wei Ling]";
+ mes "^3131FF*Chop chop chop chop chop*^000000";
+ donpcevent "Lounpc::OnEffect";
+ next;
+ mes "[Jin Wei Ling]";
+ emotion 21;
+ mes "Hahahaha! Look at these perfect";
+ mes "vegetable slices! Muhahahaha!!";
+ mes "I will continue to hone my martial";
+ mes "arts through cooking!";
+ close;
+}
+
+lou_in02.gat,58,181,2 script Lounpc 139,{
+OnEffect:
+ misceffect 122;
+ end;
+}
+
+louyang.gat,174,150,4 script Liu Chi Ling 815,{
+ if(QL_SOUPQUEST == 1) goto L_RUMOR;
+ mes "[Jiu Chi Ling]";
+ mes "I'm worried about my brother.";
+ mes "He's young, rebellious and doesn't";
+ mes "listen to anybody...";
+ next;
+ mes "[Jiu Chi Ling]";
+ mes "He just left the";
+ mes "house while he was";
+ mes "complaining about";
+ mes "that restaurant...";
+ next;
+ mes "[Jiu Chi Ling]";
+ mes "^6A6A6A*Sigh~~*^000000";
+ mes "I'm not going to let him get";
+ mes "away this time!";
+ close;
+
+L_RUMOR:
+ mes "[Jiu Chi Ling]";
+ mes "There's a strange rumor going";
+ mes "around that the restaurant is no";
+ mes "longer selling Dragon Soup...";
+ next;
+ mes "[Jiu Chi Ling]";
+ mes "Do you think";
+ mes "my brother did";
+ mes "something bad again!?";
+ mes "I hope not! If he did...";
+ mes "What am I supposed to do?!";
+ close;
+}
+
+lou_in02.gat,210,47,8 script City Hall Officer 825,{
+ if(QL_GOTCOMPROP == 1)goto L_BEENTOHIM;
+ if(QL_LOUBRIBE == 1)goto L_OFFICER;
+ if(QL_BEENTOSTORAGE == 1)goto L_QUEST;
+ mes "[Jin Chiyuan]";
+ mes "^6A6A6A*Yawn~*^000000";
+ mes "Gosh, this hot weather is such a pain. Oh? You look like a tourist. Are you enjoying your stay?";
+ next;
+ mes "[Jin Chiyuan]";
+ mes "Although we've been having bad weather recently, there are many good places to visit in Louyang. I hope you have a good time.";
+ close;
+
+L_QUEST:
+ mes "[Jin Chiyuan]";
+ mes "Hm? A Rune-Midgardian? Now, how may I help you?";
+ next;
+ menu "I need a document.",-,"I just dropped by",M_DROP;
+
+ mes "[Jin Chiyuan]";
+ mes "Ah, you do?";
+ mes "Unfortunately, there are many people waiting in line to procure goverment forms, so it will take a while to handle your request.";
+ next;
+ mes "[Jin Chiyuan]";
+ mes "^6A6A6A*whispers*";
+ mes "^2A2A2AWell, there is a way that you can, shall we say, expedite our processing of your request...^000000";
+ next;
+ menu "Huh? Come again?",-,"A little zeny to cut the red tape, eh?",M_BRIBE;
+
+ mes "[Jin Chiyuan]";
+ mes "^6A6A6A*Ahem!*^000000 Nothing.";
+ mes "Nothing of importance. Now, I'm very busy, so if you would go fill the application over there...";
+ close;
+
+M_BRIBE:
+ input @loubribe;
+ if(@loubribe < 10000)goto L_POOR;
+ if(zeny < @loubribe)goto L_NOTENOUGH;
+ set Zeny, Zeny - @loubribe;
+ set QL_LOUBRIBE,1;
+ mes "[Jin Chiyuan]";
+ mes "What...?!";
+ mes "That's not what I meant, but if you insist on donating to our government...";
+ next;
+ mes "[Jin Chiyuan]";
+ mes "^6A6A6A*Whispers*";
+ mes "^2A2A2AWhen you go upstairs, another officer will give you the document you want.^6A6A6A *Ahem* ^000000Louyang thanks you!";
+ close;
+
+L_POOR:
+ mes "[Jin Chiyuan]";
+ mes "Good lord,";
+ mes "What are you thinking? What am I, a beggar?! That's a poor excuse for a bribe!";
+ next;
+ emotion 32;
+ mes "[Jin Chiyuan]";
+ mes "I mean...";
+ mes "How dare you bribe an officer of the law! I hope other outsiders are not like you! Please leave immediately.";
+ close;
+
+M_DROP:
+ mes "[Jin Chiyuan]";
+ mes "Oh well...";
+ mes "Let me tell you that this is not a good time for tourists. I hope you don't wander into places you're not supposed to be.";
+ next;
+ mes "[Jin Chiyuan]";
+ mes "Quite frankly,";
+ mes "it's a dangerous climate for curiosity right now. Please, be careful.";
+ close;
+
+L_NOTENOUGH:
+ mes "[Jin Chiyuan]";
+ mes "You don't even have that much money.";
+ close;
+
+L_OFFICER:
+ mes "[Jin Chiyuan]";
+ mes "Haven't you met the officer I told you about? I've contacted him about the matter, so you may meet him upstairs.";
+ next;
+ mes "[Jin Chiyuan]";
+ mes "Hahahaha...";
+ mes "Take care,";
+ mes "Rune-Midgardian.";
+ close;
+
+L_BEENTOHIM:
+ emotion 18;
+ mes "[Jin Chiyuan]";
+ mes "Ah~";
+ mes "You met him,";
+ mes "didn't you?";
+ mes "Hahaha...";
+ mes "Enjoy your stay";
+ mes "in Louyang!";
+ close;
+}
+
+lou_in02.gat,156,38,8 script Studying Officer 822,{
+ if(QL_GOTCOMPROP == 1)goto L_RANT2;
+ if(QL_LOUBRIBE == 1)goto L_BRIBED;
+ if(QL_BEENTOSTORAGE == 1)goto L_RANT;
+ mes "[Huang Zhishu]";
+ mes ".....";
+ mes "^6A6A6A*Mumble mumble*^000000";
+ next;
+ mes "^3131FFHe appears to be rummaging around for some documents and takes no notice of you.";
+ next;
+ menu "Excuse me.",-,"Pass him.",M_PASS;
+
+ mes "[Huang Zhishu]";
+ mes "Hmmm...?";
+ mes "Well...";
+ mes "...";
+ mes "I see...";
+ mes "^6A6A6A*Mumble mumble...*^000000";
+ close;
+
+M_PASS:
+ mes "[Huang Zhishu]";
+ mes ".....";
+ mes "^6A6A6A*Mumble mumble*^000000";
+ close;
+
+L_RANT:
+ mes "[Huang Zhishu]";
+ mes "Books contain the spirit and ideas of their authors. Any work of are can be considered a window into the soul of its creator.";
+ next;
+ mes "[Huang Zhishu]";
+ mes "^6A6A6A*Mumble mumble...*^000000";
+ mes "Hmm... I see...";
+ mes "Ah, I see....";
+ mes "^6A6A6A*Mumble mumble...*^000000";
+ close;
+
+L_BRIBED:
+ mes "^3131FF*Rummage rummage...*^000000";
+ next;
+ menu "Sorry about that.",-,"I came to pick up my documents.",L_DOCU;
+
+ mes "[Huang Zhishu]";
+ mes "Apology accepted.";
+ mes "Hmmm....";
+ mes "Oh I see, I see...";
+ next;
+ emotion 0;
+ mes "^3131FF*Rummage rummage...*";
+ mes "^3131FF..........";
+ close;
+
+L_DOCU:
+ mes "[Huang Zhishu]";
+ mes "Huh?";
+ mes "Ah...";
+ mes "You're the one I'm waiting for. So what kind of document did you need?";
+ input @loudocument$;
+ next;
+ mes "[Huang Zhishu]";
+ mes "Let's see now.";
+ mes "You want..";
+ mes "a " + @loudocument$ + "?";
+ next;
+ if(@loudocument$ != "Communication Proposal")goto L_WHAT;
+ mes "[Huang Zhishu]";
+ mes "Now where did I put that? You want a Communication Proposal, huh? I think I'll need some time to find it. Ah, right. I think I know where I put that.";
+ next;
+ mes "...";
+ next;
+ mes "...";
+ mes "......";
+ next;
+ mes "...";
+ mes "......";
+ mes ".........";
+ next;
+ mes "...";
+ mes "......";
+ mes ".........";
+ mes "............";
+ next;
+ mes "...";
+ mes "......";
+ mes ".........";
+ mes "............";
+ mes "...............";
+ next;
+ mes "[Huang Zhishu]";
+ mes "Here it is. Someone asked me for the same document a few days ago so I was able to find it again pretty easily. I hope it's useful to you.";
+ set QL_GOTCOMPROP,1;
+ set QL_LOUBRIBE,0;
+ set QL_BEENTOSTORAGE,0;
+ close;
+
+L_WHAT:
+ mes "[Huang Zhishu]";
+ mes "Huh?";
+ mes "Wha...";
+ next;
+ mes "[Huang Zhishu]";
+ mes "I'm sorry but I don't think we have that one. You might want to check the name of the document once more, and then come back to me.";
+ close;
+
+L_RANT2:
+ emotion 33;
+ mes "[Huang Zhishu]";
+ mes "Hmmm...?";
+ mes "Do you think I need to go outside more often? Well, I guess for some reason, I don't feel well. I guess I really should get some fresh air.";
+ mes "^6A6A6A*Yawn...*^000000";
+ next;
+ mes "[Huang Zhishu]";
+ mes "But you should get out more often yourself! It's not a good idea to always stay home. If you don't get some exercise when you're young, it could affect your health later.";
+ close;
+}
+
+lou_in02.gat,248,166,2 script Tool Shop Master 824,{
+ if(QL_GOTHERB == 1)goto L_HERB;
+ if(QL_TOOLMASTER == 1)goto L_STORAGE;
+ if(QL_DOCQUEST == 1)goto L_QUEST;
+L_HERB:
+ mes "[Wang Chuiyi]";
+ mes "My business hasn't been doing well recently. And what is wrong with this weather? I don't know what's going on with the world...";
+ close;
+
+L_QUEST:
+ mes "[Wang Chuiyi]";
+ mes "Darn it!";
+ mes "I hate this";
+ mes "weather...!";
+ next;
+ emotion 1;
+ mes "[Wang Chuiyi]";
+ mes "Um? Can I help";
+ mes "you with anything?";
+ next;
+ menu "I'm here to get something for the doctor...",-,"I agree, the weather really is bad.",M_WEATHER;
+
+ mes "[Wang Chuiyi]";
+ mes "Huh?";
+ mes "An errand for the doctor? She must have run out of medicine again. Go ahead and check the storage.";
+ next;
+ mes "[Wang Chuiyi]";
+ mes "You can find the storage on the opposite side of this building. There, you'll see a guy named Jiang Xiayou. Go ahead and ask him for the stuff you need.";
+ set QL_TOOLMASTER,1;
+ close;
+
+M_WEATHER:
+ mes "[Wang Chuiyi]";
+ mes "Tell me about it. This weather keeps stressing me out. Damn, I don't think I'll live very long if I keep getting aggravated like this by the weather...";
+ close;
+
+L_STORAGE:
+ mes "[Wang Chuiyi]";
+ mes "You can find the storage on the opposite side of this building. There, you'll see a guy named Jiang Xiayou. Go ahead and ask him for the stuff you need.";
+ close;
+}
+
+lou_in02.gat,201,166,5 script Storage Keeper 819,{
+ if(QL_GOTCOMPROP == 1)goto L_FINALLY;
+ if(QL_BEENTOSTORAGE == 1)goto L_LAZY;
+ if(QL_TOOLMASTER == 1)goto L_QUEST;
+ mes "[Jiang Xiayou]";
+ mes "^6A6A6A*Yawn...*^000000";
+ mes "This is boring...";
+ mes "So boring, it's ridiculous. I don't want to waste any more time here, I've got important things to do...";
+ close;
+
+L_QUEST:
+ mes "[Jiang Xiayou]";
+ mes "Huh?";
+ mes "What, what are you doing here? If you don't need anything, you better get a move on.";
+ next;
+ menu "Sorry about that.",-,"It's hot isn't it?",M_HOT,"I'm on an errand for the doctor.",M_ERRAND;
+
+ mes "[Jiang Xiayou]";
+ mes "That's right!";
+ mes "You don't mess with a person in this hot weather! Now, go away. Can't you see I'm busy!";
+ close;
+
+M_HOT:
+ mes "[Jiang Xiayou]";
+ mes "You don't have to ask me that. I can feel if for myself! Now, I got a bunch of things to take care of, so quit bugging me. Damn, it's hot!";
+ close;
+
+M_ERRAND:
+ mes "[Jiang Xiayou]";
+ emotion 0;
+ mes "Oh yeah?";
+ mes "Well, why didn't you say so? Let's see.";
+ mes "Hmmm...";
+ next;
+ mes "[Jiang Xiayou]";
+ mes "Actually, could you help me out first? Don't worry, it's not so hard but it's pretty important for me. Once you help me out, I'll get what you need.";
+ next;
+ menu "Um, what is it?",-,"Sorry, I'm busy.",L_BUSY;
+
+ mes "[Jiang Xiayou]";
+ mes "Cool, thanks. I have to go get some official documents from City Hall, but I can't leave this storage area since no one can take over my shift.";
+ next;
+ mes "[Jiang Xiayou]";
+ mes "So I want you to go get the documents from City Hall for me. I don't think it'll take much of your time.";
+ next;
+ mes "[Jiang Xiayou]";
+ mes "Just go east from here and look for the building that looks sort of like it was made in gauge form. That's City Hall.";
+ next;
+ mes "[Jiang Xiayou]";
+ mes "I don't get why the government spent so much money making that building, but anyway, I hope you can do that for me.";
+ next;
+ mes "[Jiang Xiayou]";
+ mes "Oh, I almost forgot.";
+ mes "You have to ask for a specific type of document, so let me tell you right now.";
+ next;
+ mes "[Jiang Xiayou]";
+ mes "This is important,";
+ mes "so don't forget this.";
+ mes "When the guy asks what you need, you tell him: '^FF0000Communication Proposal^000000' Just like that?";
+ next;
+ mes "[Jiang Xiayou]";
+ mes "If you don't specify the documents you need, they won't give you anything. So be careful and don't forget!";
+ set QL_BEENTOSTORAGE,1;
+ close;
+
+L_BUSY:
+ mes "[Jiang Xiayou]";
+ mes "Bah~!";
+ mes "Forget it, then!";
+ next;
+ mes "[Jiang Xiayou]";
+ mes "The medicines you're looking for might be around here. so look around. If it weren't for the doctor, I wouldn't even let you hang around, you know that?";
+ close;
+
+L_LAZY:
+ mes "[Jiang Xiayou]";
+ mes "Huh?";
+ mes "Haven't you gone to City Hall yet?";
+ mes "What a lazy ass";
+ next;
+ mes "[Jiang Xiayou]";
+ mes "Shouldn't you hurry to get that medicine to the doc? We're talking a man's life at stake, that mean anything to you?";
+ next;
+ mes "[Jiang Xiayou]";
+ mes "I guess you're";
+ mes "the forgetful type...";
+ mes "When the guy asks what you need, you tell him:";
+ mes "'^FF0000Communication Proposal^000000'.";
+ next;
+ mes "[Jiang Xiayou]";
+ mes "Just like that.";
+ mes "Now, go to it, tiger.";
+ close;
+
+L_FINALLY:
+ mes "[Jiang Xiayou]";
+ mes "You finally brought it! Haha, I just got everything you need, too. Let me see...";
+ mes "Yup this is it!";
+ mes "Good, good...";
+ next;
+ mes "^3131FF*Rummage rummage...*";
+ mes "^3131FF......";
+ next;
+ menu "Excuse me.",-;
+ mes "[Jiang Xiayou]";
+ mes "Huh?";
+ mes "Ah....";
+ mes "Haha...";
+ mes "Sorry about";
+ mes "that. Hahaha~";
+ next;
+ getitem 7252,1; //Herbal Medicine
+ mes "[Jiang Xiayou]";
+ mes "Ah! Here you go. Even if it was kind of annoying to do, I guess we gotta help each other, right? Alright then, I'll see ya around.";
+ set QL_GOTHERB,1;
+ set QL_BEENTOSTORAGE,0;
+ set QL_GOTCOMPROP,0;
+ set QL_TOOLMASTER,0;
+ close;
+}
+
+louyang.gat,274,136,4 script Powerful-looking guy 819,{
+ mes "[Akiira]";
+ mes "I am practicing my 'Claw of";
+ mes "Dragon.' I not only need to use the";
+ mes "power of my fists, I must also";
+ mes "condition myself spiritually.";
+ next;
+ mes "[Akiira]";
+ mes "Every martial art requires";
+ mes "spiritual training since the";
+ mes "mind controls the body.";
+ mes "If you've trained yourself";
+ mes "spiritually, you can easily";
+ mes "use any part of the body!";
+ next;
+ mes "[Akiira]";
+ mes "If you are considering";
+ mes "studying the martial arts, you";
+ mes "should first attain knowledge";
+ mes "before jumping into the";
+ mes "physical training.";
+ next;
+ mes "[Akiira]";
+ mes "Learn about the martial arts";
+ mes "and meditate on life's truths.";
+ mes "First, you must find peace of mind";
+ mes "before you can hope to master the";
+ mes "mind and body.";
+ close;
+}
+
+louyang.gat,276,136,4 script Fist Master 819,{
+ mes "[Zhiang Xiau Ji]";
+ mes "Finally...";
+ mes "I have mastered";
+ mes "the 'Claw of Draon!'";
+ next;
+ mes "[Zhiang Xiau Ji]";
+ mes "Although there are eight basic";
+ mes "steps, I had to learn the history";
+ mes "of this art, and meditate, focusing";
+ mes "on my spiritual improvement,";
+ mes "for three years";
+ next;
+ mes "[Zhiang Xiau Ji]";
+ mes "After that, my master finally";
+ mes "started to give me the physical";
+ mes "training so I could use the eight";
+ mes "steps of the Claw of Dragon. I've";
+ mes "devoted myself to this art for thirty years.";
+ next;
+ mes "[Zhiang Xiau Ji]";
+ mes "I'm very proud that I've";
+ mes "mastered this art ten years earlier";
+ mes "than I expected. Now I need to";
+ mes "study this form and improve it by";
+ mes "correcting its weak points and";
+ mes "enhancing its strengths.";
+ next;
+ mes "[Zhiang Xiau Ji]";
+ mes "I guess that would take me about";
+ mes "ten years. But I'm not disheartened";
+ mes "by that at all.";
+ next;
+ mes "[Zhiang Xiau Ji]";
+ mes "When you're learning a martial art,";
+ mes "you can't rush yourself and learn";
+ mes "everything in a short period of";
+ mes "time. It's impossible! Plus, that";
+ mes "isn't the essence of ?";
+ close;
+}
+
+louyang.gat,272,133,0 script Trainee::trainees 819,{
+ set $talk,rand(12);
+ if($talk == 1) goto L_QUOT1;
+ if($talk == 2) goto L_QUOT2;
+ if($talk == 3) goto L_QUOT3;
+ if($talk == 4) goto L_QUOT4;
+ if($talk == 5) goto L_QUOT5;
+ if($talk == 6) goto L_QUOT6;
+ if($talk == 7) goto L_QUOT7;
+ if($talk == 8) goto L_QUOT8;
+ if($talk == 9) goto L_QUOT9;
+ if($talk == 10) goto L_QUOT10;
+ if($talk == 11) goto L_QUOT11;
+L_QUOT0:
+ mes "[Trainee]";
+ mes "Aha~!";
+ mes "Hai~!!";
+ mes "Huh...";
+ close;
+L_QUOT1:
+ mes "[Trainee]";
+ mes "Woh~!";
+ mes "Hai~!!";
+ mes "Huh huh...";
+ close;
+L_QUOT2:
+ mes "[Trainee]";
+ mes "Kyaa~";
+ mes "Yah~~!!";
+ mes ".......";
+ close;
+L_QUOT3:
+ mes "[Trainee]";
+ mes "Hu~!";
+ mes "Hu hu~~!!";
+ mes "Hu...";
+ close;
+L_QUOT4:
+ mes "[Trainee]";
+ mes "Wah?!";
+ mes "Ahchiu~~!!";
+ mes "Wah...";
+ close;
+L_QUOT5:
+ mes "[Trainee]";
+ mes "Yaah~";
+ mes "...!";
+ mes "........!!";
+ close;
+L_QUOT6:
+ mes "[Trainee]";
+ mes "Chongchiu!!";
+ mes "Hu~~!!";
+ mes "Hwooh~~";
+ close;
+L_QUOT7:
+ mes "[Trainee]";
+ mes "Zhua loh~!";
+ mes ".....";
+ mes "Hu";
+ close;
+L_QUOT8:
+ mes "[Trainee]";
+ mes "One hit~!";
+ mes "Hai~!!";
+ mes "Yah~!!";
+ close;
+L_QUOT9:
+ mes "[Trainee]";
+ mes "Ai yah..";
+ mes "Yaahah~~";
+ mes "(rolls around)......";
+ close;
+L_QUOT10:
+ mes "[Trainee]";
+ mes "Niu ah...";
+ mes "One~~!!";
+ mes "Two~~!!!";
+ close;
+L_QUOT11:
+ mes "[Trainee]";
+ mes "Yeeah~!";
+ mes "Ah I’m so tired~~!!";
+ mes "(faints).....";
+ close;
+}
+
+louyang.gat,272,131,0 duplicate(trainees) Trainee#2 819
+louyang.gat,272,129,0 duplicate(trainees) Trainee#3 819
+louyang.gat,274,133,0 duplicate(trainees) Trainee#4 819
+louyang.gat,274,131,0 duplicate(trainees) Trainee#5 819
+louyang.gat,274,129,0 duplicate(trainees) Trainee#6 819
+louyang.gat,276,133,0 duplicate(trainees) Trainee#7 819
+louyang.gat,276,131,0 duplicate(trainees) Trainee#8 819
+louyang.gat,276,129,0 duplicate(trainees) Trainee#9 819
+louyang.gat,278,133,0 duplicate(trainees) Trainee#10 819
+louyang.gat,278,131,0 duplicate(trainees) Trainee#11 819
+louyang.gat,278,129,0 duplicate(trainees) Trainee#12 819
+
+lou_in02.gat,265,69,4 script Doctor 814,{
+ if(QL_DOCQUEST == 1) goto L_MED;
+ if(QL_DOCQUEST == 2) goto L_RANT;
+ if(QL_DOCQUEST == 3) goto L_CHECKITM;
+ if(QL_DOC1STTIME == 1) goto L_QUEST;
+ mes "[Hua Tuo]";
+ mes "There are many pressure points on the human body. Ever since ancient times, it has been believed that each pressure point was limited to its role and functions.";
+ next;
+ mes "[Hua Tuo]";
+ mes "However, as I studied and experimented with every pressure point, I came to the conclusion that the use of pressure points, depending on the circumstances, can produce different results.";
+ next;
+ mes "[Hua Tuo]";
+ mes "Few pressure points tend to show the same symptoms, regardless of the problem. Most of the time, the effects of pressure points will differ depending on the body's health or time of day.";
+ next;
+ mes "[Hua Tuo]";
+ mes "For instance, the pressure point located on the upper side of the navel is the most vulnerable point.";
+ next;
+ mes "[Hua Tuo]";
+ mes "If pressed the wrong way, it can cause death. But between 5:15 am and 7:15 am, it's just a weak point.";
+ set QL_DOC1STTIME,1;
+ close;
+
+L_QUEST:
+ mes "[Hua Tuo]";
+ mes "Hmmm...";
+ mes "I'm in trouble";
+ next;
+ emotion 19;
+ mes "[Hua Tuo]";
+ mes "I cannot do anything without my medicine. But one of my patients needs immediate treatment and I can't leave the office...";
+ next;
+ menu "I can help you",-,"What a shame!",M_SHAME;
+
+ mes "[Hua Tuo]";
+ mes "Huh...?";
+ mes "Are...";
+ mes "Are you serious?";
+ next;
+ mes "[Hua Tuo]";
+ mes "This won't take much effort, but it may be too much to ask of you, especially since we have just met.";
+ next;
+ menu "If you feel burdened...",-,"I don't mind, I'd be glad to help.",M_HELP2;
+
+ mes "[Hua Tuo]";
+ mes "Thank you so";
+ mes "much for saying that.";
+ mes "I feel very uncomfortable asking a favor of someone I have only just met.";
+ next;
+ emotion 15;
+ mes "[Hua Tuo]";
+ mes "However, I will ask you if we meet another time. Now, if you'll excuse me...";
+ close;
+
+M_HELP2:
+ mes "[Hua Tuo]";
+ mes "Hmm, I see.";
+ mes "Well then, let me";
+ mes "ask a favor of you.";
+ next;
+ mes "[Hua Tuo]";
+ mes "As you heard earlier, I need a special medicine to treat this patient. However, I'm running out of the medicine I need.";
+ next;
+ mes "[Hua Tuo]";
+ mes "I will need you to get it for me since I cannot leave the patients that are waiting for me right now.";
+ next;
+ mes "[Hua Tuo]";
+ mes "^6A6A6A*Sigh*^000000";
+ mes "Misfortunes always seem to occur one after another, don't they? My staff is currently too busy doing other errands.";
+ next;
+ mes "[Hua Tuo]";
+ mes "Please visit the";
+ mes "Tool Shop in town and bring me the medicine that I need. Master will understand if you tell him you've been sent by me.";
+ next;
+ mes "[Hua Tuo]";
+ mes "I am sorry for causing you so much trouble, but if you'll excuse me, I have other patients waiting. Please hurry back with the medicine!";
+ set QL_DOCQUEST,1;
+ close;
+
+M_SHAME:
+ mes "[Hua Tuo]";
+ mes "^6A6A6A*Sigh*^000000 For some reason, I never seem to have enough in stock. Is there no one I can ask to help me?";
+ close;
+
+L_MED:
+ if(countitem(7252) == 0)goto L_NOMED;
+ delitem 7252,1; //Herbal Medicine
+ mes "[Hua Tuo]";
+ mes "Ah, finally...";
+ mes "You've brought what I need. Thank you so much, it's such a relief to have this medicine on hand again.";
+ next;
+ mes "[Hua Tuo]";
+ mes "I apologize in advance, but may I ask you for another favor? I am asking for your help once, since I know I can depend on you. Of course, I will compensate you for your trouble.";
+ next;
+ menu "I'm sorry...",L_DONE,"No problem.",-;
+
+ mes "[Hua Tuo]";
+ mes "Thank you, thank you so much!";
+ mes "I've just run out of other medicines that my patients will be needing. I don't need too much, but you would be doing me a great favor.";
+ next;
+ mes "[Hua Tuo]";
+ mes "The medicines I need are ^0000FF2 Claw of Panther^000000 which supports the bones, ^0000FF10 Very Hard Peach^000000 which strengthens the muscle, ^0000FF5 Poisonous Toad Skin which replenishes the skin...";
+ next;
+ mes "[Hua Tuo]";
+ mes "^0000FF20 Brown Root^000000 which regulates the heart, ^0000FF10 Sprout^000000 which eases the abdomen and ^0000FF5 Honey Jar^000000 which provides nutrition.";
+ next;
+ mes "[Hua Tuo]";
+ mes "I hope you've memorized it all.";
+ mes "Once again, that's...";
+ set QL_DOCQUEST,3;
+ next;
+L_INGREDIENT:
+ mes "[Hua Tuo]";
+ mes "^3131FF2 Claw of Panther^000000,";
+ mes "^3131FF10 Very Hard Peach^000000,";
+ mes "^3131FF5 Poisonous Toad Skin^000000,";
+ mes "^3131FF20 Brown Root^000000,";
+ mes "^3131FF10 Sprout^000000 and";
+ mes "^3131FF5 Honey Jar^000000.";
+ close;
+
+L_DONE:
+ mes "[Hua Tuo]";
+ mes "Alright...";
+ mes "I understand.";
+ mes "But thank you for helping me out. please take this...";
+ next;
+ mes "[Hua Tuo]";
+ mes "It's not much, but this medicine is an old family secret. I hope that it will be of use to you in dangerous situations.";
+ getitem 679,2; //Pilule
+ next;
+ mes "[Hua Tuo]";
+ mes "Well then, I will see you around. Once again, I'd like to thank you for your help.";
+ set QL_GOTHERB,0;
+ set QL_DOC1STTIME,0;
+ set QL_DOCQUEST,2;
+ close;
+
+L_NOMED:
+ mes "[Hua Tuo]";
+ mes "You haven't gotten the medicine yet...? I hope you can get it as soon as possible...";
+ close;
+
+L_RANT:
+ mes "[Hua Tuo]";
+ mes "Being strong as a person is not defined as mere physical strength.";
+ next;
+ mes "[Hua Tuo]";
+ mes "Factors such as intelligence, experience and knowledge are also considered when judging one's strength.";
+ next;
+ mes "[Hua Tuo]";
+ mes "Let's say you're very strong and given the most powerful weapon.";
+ next;
+ mes "[Hua Tuo]";
+ mes "If you don't know how to use the weapon's power, you will not be strong... You will be weak.";
+ next;
+ mes "[Hua Tuo]";
+ mes "When the tools or weapons overwhelm your capabilities, the worst situations result.";
+ close;
+
+L_CHECKITM:
+ if(countitem(7172) < 2)goto L_NOTENOUGH; //Claw of Panther
+ if(countitem(7164) < 10)goto L_NOTENOUGH; //Very Hard Peach
+ if(countitem(7155) < 5)goto L_NOTENOUGH; //Poisonous Toad Skin
+ if(countitem(7188) < 20)goto L_NOTENOUGH; //Brown Root
+ if(countitem(7193) < 10)goto L_NOTENOUGH; //Sprout
+ if(countitem(7121) < 5)goto L_NOTENOUGH; //Honey Jar
+ delitem 7172,2; //Claw of Panther
+ delitem 7164,10; //Very Hard Peach
+ delitem 7155,5; //Poisonous Toad Skin
+ delitem 7188,20; //Brown Root
+ delitem 7193,10; //Sprout
+ delitem 7121,5; //Honey Jar
+ //These following dialogs are made up, I didn't finish the quest =/
+ mes "[Hua Tuo]";
+ mes "Thank you so much, now I can treat my patients.";
+ next;
+ mes "[Hua Tuo]";
+ mes "Ah...";
+ mes "Of course!";
+ mes "Here's your reward. Use this medicine when you feel weary.";
+ getitem 679,5; //Pilule
+ set QL_GOTHERB,0;
+ set QL_DOC1STTIME,0;
+ set QL_DOCQUEST,2;
+ close;
+
+L_NOTENOUGH:
+ mes "[Hua Tuo]";
+ mes "Hmm....";
+ mes "Unfortunately, you haven't collected everything that I need yet. Once again, please gather...";
+ next;
+ goto L_INGREDIENT;
+}
diff --git a/npc/cities/lutie.txt b/npc/cities/lutie.txt
new file mode 100644
index 000000000..ae05eacce
--- /dev/null
+++ b/npc/cities/lutie.txt
@@ -0,0 +1,962 @@
+//===== eAthena Script =======================================
+//= Lutie Town
+//===== By: ==================================================
+//=
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena 1.0
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= 1.1 Edited some text and updated/enabled some triggers
+//= for the quest.[kobra_k88]
+//= 1.2 Fixed exploit. Checked for Bard Job Quest compatibility [Lupus]
+//= 1.3 Fixed typo’s [Nexon] 1.4 Fixed exploit [Lupus]
+//= 1.5 Fixed a bug that could reset Lutie quest state [Lupus]
+//============================================================
+
+
+//=====================================================
+// Getting To Lutie
+//=====================================================
+aldebaran.gat,168,168,4 script Mr. Claus 718,{
+ mes "[Mr. Claus]";
+ mes "Merry Christmas!!";
+ mes "I wish you all happiness!";
+ next;
+ menu "Where are you from?",L0, "Take me to ^5533FF'Lutie'^000000",L1, "Cancel",LEnd;
+
+ L0:
+ mes "[Mr. Claus]";
+ mes "I come from ^3355FF'Lutie'^000000,the Fantastic Christmas Town!!";
+ mes "There it is Christmas all year round, with delicious cakes,";
+ mes "and toys as far as the eye can see.";
+ next;
+ mes "[Mr. Claus]";
+ mes "Happiness and joy fills the city! It is a magical place to be!";
+ mes "Doesn't this place sound fantastic?";
+ next;
+ mes "[Mr. Claus]";
+ mes "Then what are you waiting for?! Just say the word and I'll take";
+ mes "you to Lutie right away! You might even meet the big boss Santa";
+ mes "Claus.";
+ close;
+ L1:
+ mes "[Mr. Claus]";
+ mes "So you're ready to go to the greatest place in the world?";
+ next;
+ mes "[Mr. Claus]";
+ mes "Ok then, off you go to enjoy the fun and excitement that Lutie";
+ mes "Has to offer!";
+ close2;
+ warp "xmas_fild01.gat",78,68;
+ end;
+ LEnd:
+ mes "[Mr. Claus]";
+ mes "Well... if you want to visit Lutie, just let me know anytime.";
+ mes "Merry Christmas!! Merry Christmas!!";
+ close;
+}
+
+
+//=====================================================================
+// NPCs inside
+//=====================================================================
+
+// Mima
+//============================================================
+xmas_in.gat,27,103,4 script Mima 701,{
+ if(xmas_npc==5) goto Xmas5;
+ if(xmas_npc==6) goto Xmas6;
+ if(xmas_npc==7) goto Xmas7;
+ if(xmas_npc==8) goto Xmas8;
+ mes "[Mima]";
+ mes "Merry Christmas!";
+ mes "I can feel the spirit of Christmas surrounding me whenever I look,";
+ mes "at the young strangers out there... I wish you a merry Christmas!";
+ next;
+ mes "[Mima]";
+ mes "There is an abandoned ^5533FFToy Factory^000000 here in town. It";
+ mes "looks quite interesting, however....";
+ next;
+ mes "[Mima]";
+ mes "Recently I've noticed that many monsters have taken residence";
+ mes "inside of the factory. Some of them look like the monsters found";
+ mes "outside of town... I mean they look completely identical!!";
+ next;
+ mes "[Mima]";
+ mes "Even though they look similar, they actually are not the same. For";
+ mes "some reason these monsters have different characteristics from the";
+ mes "ones found outside. Some of them are very unique and it seems that";
+ mes "their offspring are adapting to the environment here.";
+ next;
+ mes "[Mima]";
+ mes "... Oh I almost forgot, I have to go make some";
+ mes "kimchi(spicy pickled cabbage)... mmm.. Chocolate kimchi is my";
+ mes "favorite!";
+ next;
+ mes "[Mima]";
+ mes "Between each slice of kimchi, I spread on a special chocolate which";
+ mes "melts rather easily. The rest is a family secret.... hehe.";
+ close;
+
+Xmas5:
+ mes "[Mima]";
+ mes "Hmmm? Hairy Uncle Ken told you about me, didn't he? Well well, I";
+ mes "know what he's thinking... Hoo hoo! He intends to make me feel";
+ mes "happy and expects me to give him some free jars of kimchi!";
+ mes "Hoo hoo, oh well.";
+ next;
+ mes "[Mima]";
+ mes "He knows too much about me... I can't stop him from getting some";
+ mes "of my kimchi. Yes yes. Even I know my kimchi is the best in town!";
+ mes "Whoo? The story of ^3355FF'Jack Frost'^000000? Oh... Yes yes, I see.";
+ next;
+ mes "[Mima]";
+ mes "But I can't just tell you his story.... As you know the most";
+ mes "powerful human beings are aunties! And I'm one of them! They never";
+ mes "allow others to take advantage of them. As they say, 'There is no";
+ mes "such thing as a free lunch'. So I have a favour to ask of you.";
+ mes "Jack Frost has been keeping something for me.....";
+ next;
+ mes "[Mima]";
+ mes "Would you please bring it back to me? ^3355FF'The roughest salt in";
+ mes "the world'^000000. It is an essential ingredient for pickling";
+ mes "cabbages. Just tell him I sent you and he will understand.";
+ next;
+ mes "[Mima]";
+ mes "He will give you my salt. Now dear, hurry up. Return Quickly.";
+ set xmas_npc,6;
+ close;
+Xmas6:
+ mes "[Mima]";
+ mes "Hohohoho -";
+ mes "Let's see... Huh? Didn't you yet bring it?";
+ mes "Oh my goodness, my cabbages will get sour soon!";
+ mes "( ? )";
+ mes "Hurry up, Chop Chop -!!";
+ next;
+ mes "[Mima]";
+ mes "*sigh* You are really a scatterbrained person, my dear...";
+ mes "I said BRING ME ^3355FF' THE ROUGHEST SALT IN THE WORLD '^000000";
+ mes "!!!!!!!! Leave now and hurry up!";
+ close;
+Xmas7:
+ mes "[Mima]";
+ mes "Hohohohoh hohohohoho !";
+ mes "Let's see Let's see...... Thank you my dear, Thank you!";
+ next;
+ mes "-Handed ^3355FF' The roughest salt in the world'^000000 to her-";
+ set xmas_npc,8;
+ next;
+ mes "[Mima]";
+ mes "Now I am able to pickle my cabbages properly. Thank you my dear,";
+ mes "Thank you . . . . . Hooo? Ahhh yes, sorry, I almost forgot I";
+ mes "promised you... Yes I remember you asked me about Jack Frost's";
+ mes "gift bag, didn't you?";
+ next;
+ mes "[Mima]";
+ mes "If you already met Uncle Hairy Uncle Ken you must know by now,";
+ mes "Jack Frost has been made out of some mysterious snow covering up";
+ mes "a thick-grass filed of magical force,";
+ next;
+ mes "[Mima]";
+ mes "I can't tell you what the reason was, but I figured out Jack Frost";
+ mes "came to possess the gift bag within, due to the strange reaction";
+ mes "between alchemy items used by Great alchemist and its original";
+ mes "structure material, the mysterious snow.";
+ next;
+ mes "[Mima]";
+ mes "Aside from it, the gift bag creates present as many as Jack Frost";
+ mes "wants. It seems like something magical grants Jack Frost with";
+ mes "the same ability of Santa Claus. If this power fell into bad man's";
+ mes "hands, we would probably be in trouble, but everybody knows that";
+ mes "Jack Frost is very nice and innocent creature... We've never";
+ mes "worried about his unique ability...";
+ next;
+Xmas8:
+ mes "[Mima]";
+ mes "Hohohoho . . Ah and, lately I've heard some surprising news from";
+ mes "^3355FF'Howie'^000000 the clown. It is an interesting story... If you're";
+ mes "interested, why don't you go meet him?";
+ close;
+}
+
+// Santa Claus
+//===================================================================
+xmas_in.gat,100,96,4 script Father Christmas::Santa1 718,{
+ if(@talkedsanta == 1) goto L_Xmas1;
+ mes "[Santa Claus]";
+ mes "Ho Ho Ho~";
+ mes "Meeerry Christmas !!";
+ next;
+ mes "[Santa Claus]";
+ mes "Ho Ho Ho~";
+ mes "I am a Santa Claus, and I bring gifts to every boy and girl on";
+ mes "Christmas!";
+ next;
+ mes "[Santa Claus]";
+ mes "Ho Ho Ho~";
+ mes "If for some reason you wish to leave the wonderful town of Lutie,";
+ mes "just head south of town. You'll find a warp that will lead you";
+ mes "back to Al De Baran.";
+ next;
+ mes "[Santa Claus]";
+ mes "Ho Ho Ho~ Merry Christmas !!";
+ mes "Merry Christmas!!";
+ if(xmas_npc==0) set @talkedsanta, 1;
+ close;
+
+L_Xmas1:
+ mes "[Santa]";
+ mes "I'm Santa Claus.";
+ mes "I have a present for you, let me look in my bag.";
+ next;
+ mes "[Santa]";
+ mes "Yep, I've got a present with your name on it.";
+ mes "Here you are!";
+ next;
+ set @temp, rand(1,4);
+ if (@temp == 2) goto L_2;
+ if (@temp == 3) goto L_3;
+ if (@temp == 4) goto L_4;
+
+ getitem 529,5;
+ goto L_End;
+L_1:
+ getitem 530,3;
+ goto L_End;
+L_2:
+ getitem 528,1;
+ if(xmas_npc==0) set xmas_npc, 1;
+ set @talkedsanta, 0;
+ mes "[Santa]";
+ mes "Hmm, you must not have been a very good";
+ mes "person this year. Do better!";
+ close;
+L_3:
+ getitem 539,2;
+ goto L_End;
+L_4:
+ getitem 539,1;
+L_End:
+ if(xmas_npc==0) set xmas_npc, 1;
+ set @talkedsanta, 0;
+ mes "[Santa]";
+ mes "Hope you like your present!";
+ mes "My elves made it especially for you.";
+ close;
+}
+
+// Debra
+//==================================================================
+xmas_in.gat,165,173,4 script Debra 711,{
+ if(xmas_npc==1 || xmas_npc==2) goto Xmas1;
+ mes "[Debra]";
+ mes "Merry Christmas!";
+ mes "Welcome to Lutie!";
+ next;
+ mes "[Debra]";
+ mes "Have you ever talked to the snowman in front of this town?";
+ mes "Snowman in solitude, made of White Snow....";
+ next;
+ mes "[Debra]";
+ mes "However he got a warm heart. Sometimes I talk to ' Jack Frost '";
+ mes "the snowman. Without reason.. even though he is a snowman,";
+ mes "He can understand and stand to listen to us";
+ next;
+ mes "[Debra]";
+ mes ". . . . .";
+ mes "When I talk to Jack Frost, I get to wonder about many things of";
+ mes "him and feel something mysterious, I assume you will be the same";
+ mes "as me, if you try to talk to him.";
+ next;
+ mes "[Debra]";
+ mes "like how he has been created, who granted him to posses the heart";
+ mes "of human and can talk,";
+ next;
+ mes "[Debra]";
+ mes "Where he was from, That place has a lot of snow all the time or";
+ mes "not... how he came to arrive this town without legs...";
+ next;
+ mes "[Debra]";
+ mes "Lately in this town,";
+ mes "it seems the number of curious people coming to him gets increased.";
+ mes "If you still couldn't solve his secret after talking with him";
+ next;
+ mes "[Debra]";
+ mes "I suggest you to talk to other towners...";
+ if(xmas_npc==0) goto Xmas0;
+ close;
+
+ Xmas0:
+ mes "Ah!... I almost forgot you to tell... Santa Claus lives here in";
+ mes "this town....";
+ next;
+ mes "[Debra]";
+ mes "Didn't you see him yet? Why don't you go meet him then? Take";
+ mes "care now! Merry Christmas!!";
+ close;
+
+ Xmas1:
+ mes "[Debra]";
+ mes "Merry Christmas!";
+ mes "Welcome to Lutie!";
+ next;
+ mes "[Debra]";
+ mes "You got a present from Santa Claus?! You must be really exited!";
+ mes "Ha ha! Have you ever heard that we have a person equally as";
+ mes "famous as Santa Claus here?";
+ next;
+ mes "[Debra]";
+ mes "That person is ^3355FF'Jack Frost'^000000 the mysterious snowman,";
+ mes "who can communicate with humans.";
+ next;
+ mes "[Debra]";
+ mes "Yet you didn't meet Jack Frost yet? I think you should try to";
+ mes "talk to him at least once... Well then, Merry Christmas!!";
+ set xmas_npc,2;
+ close;
+}
+
+
+//=======================================================================
+// NPC's Outside
+//=======================================================================
+
+// Peterson
+//=========================================================
+xmas.gat,117,304,4 script Peterson 713,{
+ if((xmas_npc==3) || (xmas_npc==4)) goto Xmas34;
+ mes "[Peterson]";
+ mes "Merry Christmas!";
+ next;
+ mes "[Peterson]";
+ mes "Here in Lutie, it's always Christmas 24 hours a day and 365";
+ mes "days a year, Christmas is celebrated non stop here! This beautiful";
+ mes "city fills your heart with the joyous spirit of Christmas...";
+ next;
+ mes "[Peterson]";
+ mes "Walk around town and you will see... this city has some of the";
+ mes "best facilities and attractions of any other place.";
+ next;
+ mes "[Peterson]";
+ mes "Lutie is a great place for those who don't want to worry about";
+ mes "anything. So may happiness be with you... Merry Christmas!!";
+ close;
+
+Xmas34:
+ mes "[Peterson]";
+ mes "Did ^3355FF'Jack Frost'^000000 tell you about me? Oh I see... he is a";
+ mes "snowman who has no legs. It's a shame he can't come here to see";
+ mes "me... I appreciate you to coming here for him. I will visit him";
+ mes "someday.";
+ next;
+ mes "[Peterson]";
+ mes "There is a man who knows about Jack Frost's secret.....";
+ mes "That man is ^3355FF'Hairy Uncle Ken'^000000... Yes, he definitely knows...";
+ next;
+ mes "[Peterson]";
+ mes "One day when an apprentice of the great alchemist visited Lutie,";
+ mes "I listened to the conversation between Hairy Uncle Ken and";
+ mes "Jack Frost.";
+ next;
+ mes "[Peterson]";
+ mes "Once upon a time, a great alchemist came to Jack Frost's home";
+ mes "land and found him dying and melting away into water. He revived";
+ mes "him with several ores of magic and some other things.....";
+ next;
+ mes "[Peterson]";
+ mes "Well, as far as the details of the story, I recommend you listen";
+ mes "to what ^3355FF'Hairy Uncle Ken'^000000 has to say.";
+ set xmas_npc,4;
+ close;
+}
+
+// Hairy Uncle Ken
+//==========================================================
+xmas.gat,176,236,4 script Hairy Uncle Ken 712,{
+ if(xmas_npc==4) goto Xmas4;
+ if(xmas_npc==5) goto Xmas5;
+ mes "[Hairy Uncle Ken]";
+ mes "Meeeerrrrrrryyyy Christmas !";
+ mes "Welcome to the Christmas Town!!";
+ mes "Your face is glowing... The weather here is really ... Cold!";
+ mes "And it's so cold that it makes you look like........";
+ next;
+ mes "[Hairy Uncle Ken]";
+ mes "A ^3355FF' Red Little Apple '^000000,";
+ mes "HarHarHarHar!";
+ mes "Try not to catch a cold. The flu in Lutie is very strong.......";
+ next;
+ mes "[Hairy Uncle Ken]";
+ mes "... Speaking of the cold, that reminds me...";
+ next;
+ mes "[Hairy Uncle Ken]";
+ mes "My kid recently caught a serious cold.... It happened at midnight";
+ mes "and all the pharmacies were closed. I was desperate so I went to";
+ mes "the abandoned ^5533FFToy Factory^000000 .......";
+ next;
+ mes "[Hairy Uncle Ken]";
+ mes "Little monster were running around all over... even ^5533FFIce Porings^000000!";
+ mes "People here often call them Ice Ball Porings... anyways I grabbed";
+ mes "one of them and ran back to the house. I put it on top of my";
+ mes "childs head...";
+ next;
+ mes "[Hairy Uncle Ken]";
+ mes "And what do you know... his fever cooled down right away! Heh! This";
+ mes "is such a convenient village to live in. I've talked too much....";
+ mes "Good luck to you!";
+ close;
+
+Xmas4:
+ if(countitem(1024)>0 && countitem(938)>0) goto XmasL0;
+ mes "[Hairy Uncle Ken]";
+ mes "Oh yeah ? Peterson told you to come speak to me, did he?";
+ mes "Haw Haw Haw ! ! Yeah, yeah, I know him a little bit . .";
+ mes "To be honest, you can say I'm his weak point!";
+ mes "Cause I know the secret of ^3355FF'Jack Frost's birth'^000000!!";
+ next;
+ mes "[Hairy Uncle Ken]";
+ mes "Are you curious about it? *Chuckles* Yeah, I can tell by your face.";
+ mes "However! Don't think that I'd tell you this secret for nothing...";
+ mes "Come to think of it... I am feeling really thirsty now....";
+ mes "Bring me ^3355FF'1 Squid Ink'^000000 and ^3355FF'1 Sticky Muscus'^000000!!!";
+ next;
+ mes "[Hairy Uncle Ken]";
+ mes "Wahhahaha! Don't look at me like that! My tastes are none of your";
+ mes "business!!! Start finding a way to get me what I want, otherwise";
+ mes "...... you won't get what YOU want.... *Chuckles*";
+ close;
+
+ XmasL0:
+ delitem 1024,1;
+ delitem 938,1;
+ mes "[Hairy Uncle Ken]";
+ mes "Oh ?! *Chuckles* !! You seem to be a reliable person..";
+ mes "Good! Ok, first I need something to drink....";
+ next;
+ mes "^3355FF- Handed him Squid Ink and -^000000";
+ mes "^3355FF- Sticky Muscus. -^000000";
+ next;
+ mes "[Hairy Uncle Ken]";
+ mes "Burrrrpppp - Ok now ! Well now, it's the time for my story...";
+ mes "Keep in mind this is the story from what I know......";
+ mes "I am not sure how much you heard about this though . .";
+ next;
+ mes "[Hairy Uncle Ken]";
+ mes "A long, long, time ago, there was a great Alchemist living in";
+ mes "the far north. His name was ^3355FF' Philip Varsez '^000000 !!";
+ next;
+ mes "[Hairy Uncle Ken]";
+ mes "He was eager to keep beyond the bounds of new alchemy,";
+ mes "and new alchemy needed rare materials to be accomplished as";
+ mes "he wanted. So he decided to go travel all over the world to";
+ mes "look for items possessing Strong Magic Force within.";
+ mes "Eventually he arrived at a village of freezing weather,";
+ mes "somewhere up north...";
+ next;
+ mes "[Hairy Uncle Ken]";
+ mes "As immediately came inside the village he encountered a grim";
+ mes "scene..... Everything was destroyed.... there was nothing left.";
+ mes "People groaned and moaned in pain, and were dying...";
+ mes "It was the worst scene he'd ever witnessed.";
+ next;
+ mes "[Hairy Uncle Ken]";
+ mes "Suddenly some strange force caught his attention.... That";
+ mes "strange thing was a snowman that was melting down into water";
+ mes "....^3355FF' Jack Frost '^000000! Even more astonishing was";
+ mes "the fact that it held 2 crying babies in its arms. So the";
+ mes "great alchemist could assumed the snowman sacrificed itself to";
+ mes "protect them from great danger.";
+ next;
+ mes "[Hairy Uncle Ken]";
+ mes "It touched the Alchemist to see that, and he decided to save";
+ mes "the life of snowman with his great power of alchemy. He";
+ mes "transported the snowman to Lutie, this Christmas Town, the";
+ mes "safest place in this world.";
+ next;
+ mes "[Hairy Uncle Ken]";
+ mes "Some time later, rumors began to circulate that not only was";
+ mes "Jack Frost saved by the mercy of the Alchemist, but also";
+ mes "because of the snow that Jack Frost was made out of.";
+ next;
+ mes "[Hairy Uncle Ken]";
+ mes "The truth is, Jack Frost was made out of snow covering up the";
+ mes "mysterious field where Magical flowers and plants grew all";
+ mes "over.";
+ next;
+ mes "[Hairy Uncle Ken]";
+ mes "Muhahaha -";
+ mes "Alrighty then... this is the whole story as far as I know.";
+ mes "How about you now? Did my story satisfy you? Haw Haw Haw!!";
+ next;
+ mes "[Hairy Uncle Ken]";
+ mes "Oh well... Now I regret to say, I have no idea about the";
+ mes "special ability that Jack Frost has that creates unlimited";
+ mes "Christmas presents...";
+ next;
+ Xmas5:
+ mes "[Hairy Uncle Ken]";
+ mes " ^3355FF' Mima '^000000 the excellent kimchi maker";
+ mes "knows about it through and through... If you're interested";
+ mes "you'd better to go visit her. Alrighty, Merry Christmas !!";
+ set xmas_npc,5;
+ close;
+}
+
+// Jack Frost
+//====================================================================
+xmas.gat,134,112,4 script Jack Frost 710,{
+ mes "[Jack Frost]";
+ if(xmas_npc==2) goto Xmas2;
+ if(xmas_npc==3) goto Xmas3;
+ if(xmas_npc==4) goto Xmas4;
+ if(xmas_npc==5) goto Xmas5;
+ if(xmas_npc==6) goto Xmas6;
+ if(xmas_npc==7) goto Xmas7;
+ if(xmas_npc==8) goto Xmas8;
+ if(xmas_npc==9) goto Xmas9;
+ if(xmas_npc==10) goto Xmas10;
+ if(xmas_npc==11) goto Xmas11;
+ mes "*sob*sob*........ I'm so lonely..... I can't go anywhere! I";
+ mes "am stuck here day and night... frozen to this cold earth....";
+ emotion 28;
+ next;
+ menu "^0000FFJack Frost?^000000",L0, "A secret Toy Factory?",L1, "...............",LEnd;
+
+ L0:
+ mes "[Jack Frost]";
+ mes "I was created by a human..... A giant snow doll is what some call me.....";
+ mes "I remember being born somewhere very cold......";
+ next;
+ mes "[Jack Frost]";
+ mes "Just like Lutie, this is a chilly little town.... I used to be happy up north but.......";
+ next;
+ mes "[Jack Frost]";
+ mes "On day a horrible old lady came to my village...... Her name was.... ^790079'Mariposum'^000000......";
+ mes "I heard she came from some place extremely hot..... Some weird village in some kind of cave.";
+ next;
+ mes "[Jack Frost]";
+ mes "On the fourth night after she arrived here, she went to central square.......";
+ mes "Without warning she started casting horrible spells....... Suddenly a huge storm emerged.....";
+ next;
+ mes "[Jack Frost]";
+ mes "Almost immediately the powerful storm knocked my friend and I unconscious........";
+ next;
+ mes "[Jack Frost]";
+ mes "I don't know how long I was out, but when I woke up I found myself right here in Lutie..........";
+ next;
+ mes "[Jack Frost]";
+ mes "But my friends were not...... I have lost all of my friends.......... I feel so lonely.......";
+ emotion 28;
+ close;
+ L1:
+ mes "[Jack Frost]";
+ mes "Somewhere in Lutie there is a place that looks just like a ^5533FFToy";
+ mes "Factory^000000....... It's well decorated and looks like a lot of";
+ mes "fun but.......";
+ next;
+ mes "[Jack Frost]";
+ mes "I heard that it is overrun with possessed toy soldiers and gift";
+ mes "boxes........";
+ next;
+ mes "[Jack Frost]";
+ mes "Part of me is intrigued by this place and I would like to see it";
+ mes "just once..... But part of me is also a little frighten of the";
+ mes "possessed toys.....";
+ close;
+ LEnd:
+ mes "[Jack Frost]";
+ mes "So long! Come visit me any time. Merry Christmas!";
+ close;
+
+Xmas2:
+ mes "Did you hear something from 'Debra'? Heh heh... the people of";
+ mes "Lutie call me a mysterious Snowman... honestly I am nothing but";
+ mes "a simple snowman... heh heh.";
+ next;
+ mes "[Jack Frost]";
+ mes "Besides I don't even know who I really am. Maybe I know as much";
+ mes "about myself as do the people here.";
+ next;
+ mes "[Jack Frost]";
+ mes "Mr.^3355FF'Peterson'^000000 gave me his name card and told me to visit";
+ mes "him whenever I wanted to.... but as you can see.....";
+ next;
+ mes "[Jack Frost]";
+ mes "I don't have any legs so I can't go anywhere..... ";
+ emotion 28;
+ next;
+ mes "[Jack Frost]";
+ mes "How did I get here...? Why can I communicate with humans...?";
+ mes "How can I......??";
+ next;
+ mes "^3355FF- Jack Frost falls deep into his thoughts -^000000";
+ mes "^3355FF- He is looking at 'Peterson's' name card -^000000";
+ set xmas_npc,3;
+ close;
+Xmas3:
+ mes ". . . . . . . . . . . . . . .";
+ next;
+ mes "^3355FF- Jack Frost falls deep into his thoughts -^000000";
+ mes "^3355FF- He is looking at 'Peterson's' name card -^000000";
+ close;
+Xmas4:
+ mes "Did you meet 'Peterson'? He is a honest and diligent guy . .";
+ mes "And I know . . He fell in love with 'Debra'....";
+ mes "hehehehehe...";
+ next;
+ mes "[Jack Frost]";
+ mes "I think 'Debra' needs to be more generous. She is very kind to";
+ mes "everyone, except Peterson. But I know... Debra likes Peterson";
+ mes "as much as he does here...";
+ close;
+Xmas5:
+ mes "You spoke with ^3355FF'Hairy Uncle Ken '^000000?";
+ mes "Hairy Uncle Ken has loud voice, and doesn't take showers.....";
+ mes "he smells kinda bad.... but he is a very funny and diligent guy.";
+ mes "Everybody likes him.";
+ next;
+ mes "[Jack Frost]";
+ mes "He enjoys drinking some strange kind of drink......";
+ mes "They say it is a miracle that he doesn't have a stomachache.";
+ mes "Heh~ . .I love this guy too . .";
+ close;
+Xmas6:
+ mes "Hmmm you did you meet ^3355FF'Mima'^000000, the kimchi expert?";
+ mes "Yeah yeah. I've been keeping this for here. Here you go, It is";
+ mes "the salt she wants.";
+ next;
+ set xmas_npc,7;
+ mes "^3355FF' Got the roughest salt in the world'^000000.";
+ next;
+ mes "[Jack Frost]";
+ mes "I like her cooking because it is so delicious.";
+ mes "Sometimes she offers me cups of ice flakes with grape syrup...";
+ next;
+ mes "[Jack Frost]";
+Xmas7:
+ mes "^3355FF' The roughest salt in the world '^000000";
+ mes "hopefully you will deliver it safely to her . .";
+ close;
+Xmas8:
+ mes "Boring Clown 'Howie'... At first glance, he looks a dumb,";
+ mes "talent less clown..... But he has a pure heart and is always";
+ mes "taking care of the 2 orphans...";
+ close;
+Xmas9:
+ mes "'Charlie ' the boy of optimism.";
+ mes "He will become a big shot in future . .";
+ mes "Just like me ! -";
+ mes "Hahahaha . . . . .";
+ close;
+Xmas10:
+ mes ". . . . . Thank you for listening to me so far.";
+ mes "I very much appreciate you trying to understand me,";
+ mes "even though you are a stranger here.";
+ next;
+ mes "[Jack Frost]";
+ mes "I think you know more about me than anyone else in this town.";
+ mes "Hahahaha.... I want to give you a small present in return.";
+ next;
+ mes "[Jack Frost]";
+ mes "Tah dah!! Pick up anything you want in here - !!";
+ next;
+ mes "^3355FF- Stir the gift bag -^000000";
+ next;
+
+ //it's a part of Bard Job Quest also
+ set xmas_npc,11;
+
+ set @temp, rand(1,8);
+ if(@temp == 2) goto L_Prize2;
+ if(@temp == 3) goto L_Prize3;
+ if(@temp == 4) goto L_Prize4;
+ if(@temp == 5) goto L_Prize5;
+ if(@temp == 6) goto L_Prize6;
+ if(@temp == 7) goto L_Prize7;
+ if(@temp == 8) goto L_Prize8;
+
+ L_Prize1:
+ getitem 529,5;
+ mes "[Jack Frost]";
+ mes "Wow -Congratulations!!";
+ mes "^3355FF- 5 Candy -^000000!";
+ mes "Dear my friend,";
+ mes "Please visit me from time to time, and take a chitchat with me.";
+ mes "See you soon -";
+ mes "Merry Christmas!!";
+ close;
+ L_Prize2:
+ getitem 529,10;
+ mes "[Jack Frost]";
+ mes "Wow -Congratulations!!";
+ mes "^3355FF- 10 Candy -^000000!";
+ mes "Dear my friend,";
+ mes "Please visit me from time to time, and take a chitchat with me.";
+ mes "See you soon -";
+ mes "Merry Christmas!!";
+ close;
+ L_Prize3:
+ getitem 530,5;
+ mes "[Jack Frost]";
+ mes "Wow -Congratulations!!";
+ mes "^3355FF- 5 Candy Cane-^000000!";
+ mes "Dear my friend,";
+ mes "Please visit me from time to time, and take a chitchat with me.";
+ mes "See you soon -";
+ mes "Merry Christmas!!";
+ close;
+ L_Prize4:
+ getitem 530,10;
+ mes "[Jack Frost]";
+ mes "Wow -Congratulations!!";
+ mes "^3355FF- 10 Candy Cane-^000000!";
+ mes "Dear my friend,";
+ mes "Please visit me from time to time, and take a chitchat with me.";
+ mes "See you soon -";
+ mes "Merry Christmas!!";
+ close;
+ L_Prize5:
+ getitem 539,1;
+ mes "[Jack Frost]";
+ mes "Wow -Congratulations!!";
+ mes "^3355FF- 1 Piece_of_Cake-^000000!";
+ mes "Dear my friend,";
+ mes "Please visit me from time to time, and take a chitchat with me.";
+ mes "See you soon -";
+ mes "Merry Christmas!!";
+ close;
+ L_Prize6:
+ getitem 539,2;
+ mes "[Jack Frost]";
+ mes "Wow -Congratulations!!";
+ mes "^3355FF- 2 Piece_of_Cake-^000000!";
+ mes "Dear my friend,";
+ mes "Please visit me from time to time, and take a chitchat with me.";
+ mes "See you soon -";
+ mes "Merry Christmas!!";
+ close;
+ L_Prize7:
+ getitem 538,5;
+ mes "[Jack Frost]";
+ mes "Wow -Congratulations!!";
+ mes "^3355FF- 5 Cookie-^000000!";
+ mes "Dear my friend,";
+ mes "Please visit me from time to time, and take a chitchat with me.";
+ mes "See you soon -";
+ mes "Merry Christmas!!";
+ close;
+ L_Prize8:
+ getitem 538,10;
+ mes "[Jack Frost]";
+ mes "Wow -Congratulations!!";
+ mes "^3355FF- 10 Cookie-^000000!";
+ mes "Dear my friend,";
+ mes "Please visit me from time to time, and take a chitchat with me.";
+ mes "See you soon -";
+ mes "Merry Christmas!!";
+ close;
+Xmas11:
+ mes "Welcome dear my friend -";
+ mes "You are always welcomed in this Christmas Town.";
+ mes "Especially by me, Jack Frost !";
+ mes "Merry Christmas !!";
+ close;
+}
+
+// Howie the Clown
+//=====================================================================
+xmas.gat,146,136,4 script Howie the Clown 715,{
+ mes "[Howie]";
+ mes "Meeee~RrrrrYYYY Christmas~!";
+ mes "La La La! La La La La!~";
+ mes "Dum di Dum di Dum";
+ next;
+ menu "Hey, Clown, what are you doing?",L0, "About the Snowman",L1, "Quit conversation",LEnd;
+
+ L0:
+ mes "[Howie]";
+ mes "La La La~ Dum di Dum di Dum........ Huh?.....";
+ next;
+ mes "[Howie]";
+ mes "Oh, I'm working on a show to entertain two lovely kids....";
+ mes "^5533FFCharlie and Marsha^000000.... and it's not easy!";
+ next;
+ mes "[Howie]";
+ mes "Beleive it or not you have to be smart, talented, and of course";
+ mes "funny to be a clown. It's getting tougher and tougher to make kids";
+ mes "laugh nowadays.... they just get bored so easily.... *sigh*";
+ next;
+ mes "[Howie]";
+ mes "So I have to push myself to be more creative.... to act funnier and";
+ mes "talk funnier...... to make them laugh out loud!!";
+ next;
+ mes "[Howie]";
+ mes "HaHaHaHa! HeHeHeHeHe! HoHoHoHoHo! Merry Christmas!!";
+ close;
+ L1:
+ if(xmas_npc==8 || xmas_npc==9) goto Xmas8;
+ mes "[Howie]";
+ mes "You mean ^5533FF' Jack Frost '^000000? Of course I know him. Everyone";
+ mes "knows Jack Frost the Snowman. Sometimes I go and chat with him.";
+ next;
+ mes "[Howie]";
+ mes "I even do performances for him. But I'm not quite sure if he likes";
+ mes "them.... cause whenever I finish my act.... He doesn't seem to have";
+ mes "any kind of reaction to it.....";
+ next;
+ mes "[Howie]";
+ mes "How could he not like an amazing show like mine??";
+ emotion 20;
+ next;
+ mes "[Howie]";
+ mes "There's something strange about Jack Frost.... anyways...";
+ mes "La La La~ Dum di Dum di Dum";
+ mes "Merry Christmas- !!";
+ close;
+
+ Xmas8:
+ mes "[Howie]";
+ mes "Dum di Dum di Dum... Ah ha ! I assume you're here because of";
+ mes "Jack Frost? Well, after all it is nothing peculiar....";
+ next;
+ mes "[Howie]";
+ mes "It's about two naughty kids, ^3355FF'Charlie'^000000 and ^3355FF'Marsha'^000000,";
+ mes "they are regular viewers of my show. Did you heard about the";
+ mes "incindent happened in the northland from Hairy Uncle Ken by any";
+ mes "chance?";
+ next;
+ mes "[Howie]";
+ mes ". . . . . Then hopefully you will remember the 2 babies, whom";
+ mes "Jack Frost carried in his arms...while his body melted away...";
+ next;
+ mes "[Howie]";
+ mes "You guessed it... the 2 babies were Charlie and Marsha. They";
+ mes "don't seem to know about this. Jack Frost told me their story...";
+ mes "He used his body to block the big giant fire ball rushing towards";
+ mes "the 2 babies....";
+ next;
+ mes "[Howie]";
+ mes "Jack Frost made the ultimate sacrifice for Charlie and Marsha....";
+ mes "I can see you are quite interested in the story of Jack Frost,";
+ mes "why don't you go meet those 2 children for more information?";
+ next;
+ mes "[Howie]";
+ mes "They might tell you some story we've never got the chance to hear.";
+ mes "Ok then, good luck! Bye bye!";
+ set xmas_npc,9;
+ close;
+ LEnd:
+ mes "[Howie]";
+ mes "La La La... Dum di Dum di Dum";
+ mes "Merry Christmas! Have a great day!";
+ close;
+}
+
+// Charlie
+//================================================================
+xmas.gat,206,168,4 script Charlie 706,{
+ if(xmas_npc==9) goto Xmas9;
+ mes "[Charlie]";
+ mes "Merry, Merry Christmas! Did you talk to that clown, ^5533FFHowie^000000 yet? Man that";
+ mes "clown is REALLY boring......";
+ next;
+ mes "[Charlie]";
+ mes "After watching his show, me and Marsha felt like we had wasted our time.....";
+ next;
+ mes "[Marsha]";
+ mes "How can you say that? You know he always tries his best to make us happy.....";
+ next;
+ mes "[Charlie]";
+ mes "Meh.... whatever.... I still think he's boring....... I'd rather talk";
+ mes "to ^3355FF' Jack Frost '^000000. He's a LOT more fun.";
+ next;
+ mes "[Charlie]";
+ mes "Have you met the Snowman, Jack Frost, yet...... if not go find him.";
+ mes "He's a really funny guy.";
+ next;
+ mes "[Charlie]";
+ mes "Anyways, Merry Christmas! Enjoy your stay in Lutie!";
+ close;
+
+Xmas9:
+ mes "[Charlie]";
+ mes "Errr ? Jack Frost? Hmmm - Let me see....A nice snowman...";
+ mes "You want to know about Jack Frost.... Is this what you want? Ummm";
+ mes "let me see again... Argh - I am not that smart . . . . .";
+ mes "Better ask of Marsha though !";
+ close;
+}
+
+// Marsha
+//================================================================
+xmas.gat,208,168,4 script Marsha 703,{
+ if(xmas_npc==10) goto Xmas10;
+ if(xmas_npc==9) goto Xmas9a;
+
+ mes "[Marsha]";
+ mes "Merry Christmas to you!";
+ next;
+ mes "[Marsha]";
+ mes "I don't know if this is true... but I heard that the Snowman has";
+ mes "something special that is un imaginable..... a special power of sorts..";
+ next;
+ mes "[Marsha]";
+ mes "Oh by the way..... Have you met ^5533FFSanta Claus^000000 yet? He";
+ mes "carries TONS and tons of gifts is his BIG bag! I heard that the Snowman";
+ mes "also does that.... Isn't that AMAZING!?? So exciting!!";
+ emotion 5;
+ next;
+ mes "[Marsha]";
+ mes "I mean he has a big bag full of gifts too.... those how have been";
+ mes "friendly to the Snowman have gotten cool gifts from him!";
+ next;
+ mes "[Marsha]";
+ mes "..... Well at least that's what people say... but still.... isn't it";
+ mes "AMAZING!!";
+ emotion 20;
+ close;
+
+Xmas9a:
+ mes "[Marsha]";
+ mes "You mean Jack Frost? Of course I know.. He is nice and funny guy.";
+ mes "As Charlie always insists, he is better than Howie.....";
+ mes "(But please don't tell it to Howie~)";
+ next;
+ mes "[Marsha]";
+ mes "Charlie and I are Orphans. We don't remember our parents at all.";
+ mes "We've been brought up by the kind people of Lutie, including";
+ mes "Hairy Uncle Ken and Auntie Mima.";
+ next;
+ mes "[Marsha]";
+ mes "They are all nice and generous, and we appreciate all of them for";
+ mes "taking care of us. By the way I heard Jack Frost doesn't have a";
+ mes "mom or dad either... and I also heard that neither we nor Jack";
+ mes "Frost were born in this Christmas Town.";
+ next;
+ mes "[Marsha]";
+ mes "There is a rumor that myself, Charlie, and Jack Frost came here";
+ mes "from somewhere else. I am not actually sure about that but,";
+ mes "at least I know that all of us have the same types of burns on";
+ mes "our bodies. Charlie and I have it on our backs.";
+ next;
+ mes "[Marsha]";
+ mes "Jack Frost has a dark smudge on his tummy.... It makes me feel as";
+ mes "if we are somehow connected to each other...";
+ next;
+Xmas10:
+ mes "[Marsha]";
+ mes "Oh? Now I see.... You've come to know a lot about Jack Frost....";
+ mes "Maybe even more than any one person in this town. Please try to";
+ mes "talk to Mr. Jack Frost. He will probably be delighted that you";
+ mes "are so interested in him. Maybe you will even be able to get a";
+ mes "present from him.";
+ next;
+ mes "[Marsha]";
+ mes "I wish you the best of luck. Merry Christmas!!";
+ set xmas_npc,10;
+ close;
+}
diff --git a/npc/cities/morocc.txt b/npc/cities/morocc.txt
new file mode 100644
index 000000000..22424b5cb
--- /dev/null
+++ b/npc/cities/morocc.txt
@@ -0,0 +1,468 @@
+//===== eAthena Script =======================================
+//= Morroc Town
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.6
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Fully working
+//= Fixed Lapidary sprite, Implemented ANTHELL trigger
+//= (in both NPC/Warps) [Lupus]. Removed it from NPC and put in Warp
+//= 1.3 Removed some NPC due to Assassin Job Quest [kobra_k88]
+//= 1.3b mobs name corrected [Lupus], 1.3c - Adv classes support
+//= 1.4 Fixed typo’s [Nexon]
+//= 1.5 Added a lvl 4 weapon quest related NPC [MasterOfMuppets]
+//= 1.6 Added Bartender NPC, made by Persian69 [Vicious_Pucca]
+//============================================================
+
+
+//==================================================== Town of Morroc ====================================================\\
+
+// Old Scholar ===============================
+morocc_in.gat,112,122,2 script Old Scholar 61,{
+ mes "[Old Scholar]";
+ mes "I've devoted my Life to researching the Pyramids. Although I not found anything significant yet, I am confident that I will find the Tomb of Ancient King, Osiris!";
+ next;
+ mes "[Old Scholar]";
+ mes "It is within the largest of the Morroc Pyramids, that the Greatest King in History sleeps the eternal sleep. That is... if my memory serves me correctly......";
+ close;
+}
+
+// Drunk Man =================================
+morocc.gat,44,180,8 script Drunk Man 89,{
+ mes "[Drunk Man]";
+ mes "Heh Heh... (Hiccup)! Oh, Are you new here? Nice to meet ya, Buddy! So how was your trip?";
+ mes "This was predestined that you and I meet here, I tell you what (Hiccup). Let me tell you something I just heard from the pub....";
+ next;
+ mes "[Drunk Man]";
+ mes "It's rumored that there is a special Dagger that can bring great fortune to its owner.";
+ mes "There is a well-know Thief in Rune-Midgard that possesses this Dagger, and has never been caught";
+ next;
+ mes "[Drunk Man]";
+ mes "What I would give to get my hands something like that(Hiccup). But only in my dreams....";
+ next;
+ mes "[Drunk Man]";
+ mes "How about you? Why don't you Look for it? It shouldn't be a problem for someone as brave as yourself?";
+ mes "Kekeke keke(Hiccup)! Buy me a drink later if you ever find that dagger. Promise me, alright?(Hiccup!)";
+ emotion 20;
+ close;
+}
+
+// Towner =================================
+morocc.gat,68,260,8 script Towner 99,{
+ mes "[Towner]";
+ mes "Those giant, Triangular Buildings North West of town are called Pyramids... They have been there for thousands and thousands of years.";
+ next;
+ mes "[Towner]";
+ mes "Nobody knows when and why they were built or who built them. All we know for sure is that there are tons of Horrendous Monsters inside of them.";
+ next;
+ mes "[Towner]";
+ mes "I think you'd better stay away from them. The monsters in the Pyramid LOVE to feed on strangers. Kekekekek...";
+ close;
+}
+
+// Ant Man Akira =============================
+morocc.gat,76,75,4 script Ant Man Akira 47,{
+ mes "[Ant Man Akira]";
+ mes "About 1 map north and 3 maps east of Morroc, there lies the entrance to a cave known as ^ff0000ANTHELL^000000 ...";
+M_Menu:
+ next;
+ menu "'Anthell ?'",M_Anthell,"Ants?",M_Ants,"End conversation",M_End;
+
+ M_Anthell:
+ mes "[Ant Man Akira]";
+ mes "Anthell gets it's name from the fact that the cave is home to the largest colony of giant ants in Rune-Midgard.";
+ mes "There are literally thousands of ants performing work for the colony while their queens lay hundreds and hundreds of eggs.";
+ next;
+ mes "[Ant Man Akira]";
+ mes "Many people go there to train because of the numerous amounts of ant eggs. But be careful...";
+ next;
+ mes "[Ant Man Akira]";
+ mes "Attack an ant by mistake, and you'll find yourself surrounded by a swarm of them before you can even use a fly wing!";
+ emotion 0;
+ goto M_Menu;
+ M_Ants:
+ mes "[Ant Man Akira]";
+ mes "There are 3 different kinds of Ant, each with a unique color and name. Each one has a different role in the colony.";
+ mes "Andres are white, Pieres are green, and Deniros are red colored. Their differences are not merely cosmetic however.";
+ next;
+ mes "[Ant Man Akira]";
+ mes "Andres are the weakest of the ants while Deniros are the most fierce some of the ants. Pieres lay somewhere in the middle.";
+ next;
+ mes "[Ant Man Akira]";
+ mes "Be careful when your around them. If you hit 1 Andre the other Andres in the area with swarm and attack you.";
+ mes "The same goes for Deniros and Pieres. You should also know that ants are looters so watch out for your items.";
+ goto M_Menu;
+ M_End:
+ mes "[Ant Man Akira]";
+ mes "Before you go, let me tell you about Giearths. They are not ants but they live in Anthell. Don't underestimate them because of their small size.";
+ mes "They are extremely tough and should only be handled by high level wariors.";
+ next;
+ mes "[Ant Man Akira]";
+ mes "Well see ya around.";
+ close;
+}
+
+// Poring Lady Syvia ==================================
+morocc.gat,79,111,2 script Poring Lady Syvia 700,{
+ mes "[Poring Lady Syvia]";
+ mes "All over Rune-Midgard you can see lots of cute monsters such as Spores, the mushroom type creature....";
+ next;
+ mes "[Poring Lady Syvia]";
+ mes "Or Pickys, desert chicks that wear egg shells on their heads and jump around in the Morroc Desert..!";
+ mes "However you can't deny that the ^FF8888Poring^000000 is the cutest and most popular creature in all of Rune-Midgard.";
+ next;
+ mes "[Poring Lady Syvia]";
+ mes "Although everybody knows about the common pink Poring, there are 2 Rare porings that live near Prontera and are getting a lot of attention.";
+ next;
+ mes "[Poring Lady Syvia]";
+ mes "They are the ^ffaa00Angeling^000000 and the ^5555ffGhostring^000000";
+M_Menu:
+ next;
+ menu "Angeling?",M_Angel,"Ghostring?",M_Ghost,"Quit Conversation",M_Quit;
+
+ M_Angel:
+ mes "[Poring Lady Syvia]";
+ mes "The Angeling is a poring with angel wings. It is rarely seen but it is quite a sight. Don't not be fooled by it's angelic look however.";
+ mes "It is a high level monster armed with the Holy property. It is immune to almost all magic attacks except those of the neutral & shadow property.";
+ next;
+ mes "[Poring Lady Syvia]";
+ mes "Physical attacks are definitely the way to go against these monsters.";
+ next;
+ mes "[Poring Lady Syvia]";
+ mes "Don't I know a lot about porings? Quite frankly I'm in love with them.... =P";
+ goto M_Menu;
+
+ M_Ghost:
+ mes "[Poring Lady Syvia]";
+ mes "The Ghostring is an evil ghost poring. It is rarely seen and luckly so.";
+ next;
+ mes "[Poring Lady Syvia]";
+ mes "It is a high-level monster armed with the ghost property. This makes it immune to physical attacks. So Archers, Swordsman, and Thieves beware!";
+ mes "Only weapons with elemental properties will work on Ghostrings. Of course magic attacks work very well on them also.";
+ next;
+ mes "[Poring Lady Syvia]";
+ mes "Don't I know a lot about porings? Quite frankly I'm in love with them.... =P";
+ goto M_Menu;
+
+ M_Quit:
+ mes "[Poring Lady Syvia]";
+ mes "OMG!";
+ emotion 23;
+ next;
+ mes "[Poring Lady Syvia]";
+ mes "You dare dismiss a poring expert such as myself? I am proud of my knowledge about all things poring!!";
+ next;
+ mes "[Poring Lady Syvia]";
+ mes "Hmf!";
+ emotion 32;
+ close;
+}
+
+// Slayer Kid ====================================
+morocc.gat,123,58,4 script Slayer Kid 118,{
+ mes "[Slayer Kid]";
+ mes ".... An expert in hand to hand combat who polishes off enemies quickly and quietly....";
+ next;
+ mes "[Slayer Kid]";
+ mes "That is the ^ff00ffAssassin^000000!!";
+M_Menu:
+ next;
+ menu "Hmm??",M_0,"Where can I find the Assassin Clan?",M_1,"End conversation",M_End;
+
+ M_0:
+ mes "[Slayer Kid]";
+ mes "Assassins are a secretive group of elite killers. People say Assassins are highly trained in 'eliminating' their targets without leaving a trace.";
+ next;
+ mes "[Slayer Kid]";
+ mes "It's been 3 months since I left home to search for the Assassin clan.... Just where are they??!!!";
+ goto M_Menu;
+ M_1:
+ mes "[Slayer Kid]";
+ mes "People say that if you go 2 maps on the east of Morroc, then 2 maps south, you'll be able to find the Assassin Clan.";
+ next;
+ mes "[Slayer Kid]";
+ mes "If you are granted an Assassin Cross, the emblem of the clan master, you will be allowed to become an Assassin.";
+ mes "The Assassin Cross is a high honor and is given to the best Assassin among Assassins!";
+ next;
+ mes "[Slayer Kid]";
+ mes "To tell you the truth however... I don't think they the clan really exists...";
+ next;
+ mes "[Slayer Kid]";
+ mes "I've been searching for them for over 3 months now and nothing. It seems almost impossible for me to become an Assassin now......";
+ goto M_Menu;
+ M_End:
+ close;
+
+}
+
+// Lapidary =======================================
+morocc.gat,150,50,8 script Lapidary 99,{
+ mes "[Lapidary]";
+ mes "The Queen of Jewelry is the Diamond. No one can deny its beautiful appearance. That's why it cost so much to buy...";
+ next;
+ mes "[Lapidary]";
+ mes "Many factors increase its value, with the most important factor being size.";
+ next;
+ mes "[Lapidary]";
+ mes "A high quality Diamond should be perfect and not chipped or cracked in any way.";
+ close;
+}
+
+// Uncle Dimitrii ==========================================
+morocc.gat,180,155,4 script Uncle Dimitri 49,{
+ mes "[Uncle Dimitrii]";
+ mes "The avarage temperature in the Morroc Desert is many times higher than anywhere else in the Rune-Midgard Kingdom.";
+ next;
+ mes "[Uncle Dimitrii]";
+ mes "Be careful of where you choose to sit down and rest. Choose the wrong spot and your butt may catch on fire!!";
+M_Menu:
+ next;
+ menu "About the Desert sand",M_1,"About the remedy for Fatigue",M_2,"End conversation",M_End;
+
+ M_1:
+ mes "[Uncle Dimitri]";
+ mes ". . . . . Well";
+ next;
+ mes "[Uncle Dimitri]";
+ mes "It's SUPPOSED to be HOT!!! But it actually isn't really that hot.....";
+ next;
+ mes "[Uncle Dimitri]";
+ mes "For some odd reason the sand in the Morroc desert doesn't conduct as much heat as the sand in other deserts.";
+ mes "Instead of being scorching hot, the sand just feels warm.... so it's ok for you to sit down for a good rest";
+ next;
+ mes "[Uncle Dimitri]";
+ mes "So everybody can recover their HP and SP without fear of catching on fire.";
+ goto M_Menu;
+ M_2:
+ mes "[Uncle Dimitri]";
+ mes "Aaaaahhh!!!!";
+ next;
+ mes "[Uncle Dimitri]";
+ mes "Nothing beats desert fatigue like a couple of potions! The ^ff0000Red^000000 ones are especially popular because of their low cost and light weight.";
+ next;
+ mes "[Uncle Dimitri]";
+ mes "They only recover a small amount of hp, but combined with a dip in a desert oasis, a couple ^ff0000Reds^000000 are all you need.";
+ goto M_Menu;
+ M_End:
+ mes "[Uncle Dimitri]";
+ mes "Did you know that you can get ^0000bb'Milk'^000000 from a 'PecoPeco's Egg'? I wonder how that works......?";
+ close;
+}
+
+// Trader Joe =====================================
+morocc.gat,208,85,7 script Trader Joe 83,{
+ mes "[Trader Joe]";
+ mes "I earn a living as a Trader so I'm constantly traveling between Morroc and Prontera.";
+ mes "I can't even count how many times I've been across the Hot, Dry desert.";
+ next;
+ mes "[Trader Joe]";
+ mes "One day, while I was out in the Desert, I unexpectedly ran out of water and became extremely thirsty.";
+ mes "I was desperate so I decided to try to get some water out of a cactus when.......";
+ next;
+ mes "[Trader Joe]";
+ mes "ALL OF THE SUDDEN!!! The cactus let out this LOUD SCREAM and started to SHOOT its NEEDLES at me!!";
+ emotion 23;
+ next;
+ mes "[Trader Joe]";
+ mes "It was THE WORST experience of my ENTIRE LIFE.";
+ next;
+ mes "[Trader Joe]";
+ mes "I figured out later that it wasn't a normal cactus that attacked me but it was ^00cc00Muka^000000, the cactus monster.";
+ next;
+ mes "[Trader Joe]";
+ mes "So be careful the next time you're out in the desert. You don't want to make the same mistake I made. (~Sigh~)";
+ close;
+}
+
+// Fly Man Armani ===============================
+morocc.gat,234,273,3 script Fly Man Armani 54,{
+ mes "[Fly Man Armani]";
+ mes "I SAW IT!! I SAW IT!!!";
+ emotion 5;
+ next;
+ mes "[Fly Man Armani]";
+ mes "I saw the rare ^ff0000Dragon Fly^000000 just North of here! It was incredible!!";
+ next;
+ menu "What... Dragon Fly?!",M_0,"So what?",M_1;
+
+ M_0:
+ mes "[Fly Man Armani]";
+ mes "It is the boss of desert flies and its much stronger than any other ordinary fly.";
+ mes "It's a rare sight to behold, and for anybody strong enough and lucky enough to defeat it.... ";
+ next;
+ mes "[Fly Man Armani]";
+ mes "The Dragon Fly may even drop an UTLRA RARE item called a ^0000ddClip^000000!";
+ mes "Clips are items that you can attach to weapons, armor, and almost every kind of accessory.";
+ next;
+ mes "[Fly Man Armani]";
+ mes "Clips are ^ffaa00slotted^000000 and therefore you can insert cards into them. That's what makes them so valuable.";
+ mes "It seems like everyone is yearning for a clip these days.";
+ next;
+ mes "[Fly Man Armani]";
+ mes "Say.... why don't YOU challenge the Dragon Fly?";
+ emotion 20;
+ close;
+ M_1:
+ mes "[Fly Man Armani]";
+ mes "SO WHAT!!??";
+ emotion 23;
+ next;
+ mes "[Fly Man Armani]";
+ mes "Do you dare underestimate the Dragon Fly?? Bleh! It may be a fly, but I guarantee you THIS FLY is more than you can handle!";
+ emotion 32;
+ next;
+ mes "[Fly Man Armani]";
+ mes "No matter. If you ARE fortunate enough to run into it, you'll quickly see what I mean. After all, it IS the FLY of ALL FLIES!!!!";
+ next;
+ mes "[Fly Man Armani]";
+ mes "^ff0000Dragon Fly^000000. Remember this name well!!";
+ close;
+}
+
+// Uncle Phlanette ================================
+morocc.gat,277,213,4 script Uncle Phlanette 48,{
+ mes "[Uncle Phlanette]";
+ mes "Morroc is a highly dry region surrounded by desert. There isn't a place as hot or dry as Morroc anywhere in Rune-Midgard.";
+M_Menu:
+ next;
+ menu "Desert Story",M_0,"Quit Coversation",M_End;
+
+ M_0:
+ mes "[Uncle Phlanette]";
+ mes "Let me tell you a little about the desert.....";
+ next;
+ mes "[Uncle Phlanette]";
+ mes "You see the desert is a place that is bare of vegetation due to low rainfall and a high evaporation rate.";
+ mes "Even so there are plants that seem to thrive in the desert. And where there are plants, there are animals.";
+ next;
+ mes "[Uncle Phlanette]";
+ mes "So even with the high temperatures, and limited water, living creatures still find a way to survive in the desert.";
+ next;
+ mes "[Uncle Phlanette]";
+ mes "Unfortunately, for unknown reasons, some of the plants and animals in the desert have turned into dangerous monsters.";
+ mes "The ^00cc00'Mukas'^000000 are one of those monsters. They were originally cactus plants.";
+ goto M_Menu;
+ M_End:
+ mes "[Uncle Phlanette]";
+ mes "Sand HERE! Sand THERE! Sand EVERYWHERE!!!!";
+ emotion 0;
+ next;
+ mes "[Uncle Phlanette]";
+ mes "(~Sigh~) I'm SICK and TIRED of this sand and desert...";
+ next;
+ mes "[Uncle Phlantette]";
+ mes "Morroc......!! I HATE YOU!!!!!!";
+ emotion 32;
+ close;
+}
+
+//Bartender
+morocc_in.gat,166,76,3 script Bartender 46,{
+ mes "[Bartender]";
+ mes "What are you going to order?";
+ next;
+ menu "Tropical Sograt",L1,"Vemillion the Beach",L2,"Nothing.",-;
+
+ mes "[Bartender]";
+ mes "Hmm...";
+ close;
+
+L1:
+ if (zeny < 1000 ) goto Nomoney;
+ getitem 12112,1;
+ set zeny,zeny-1000;
+ mes "[Bartender]";
+ mes "Here you go.";
+ mes "Fruits are major ingredients,";
+ mes "but don't drink too much.";
+ close;
+
+L2:
+ if (zeny < 1000 ) goto Nomoney;
+ getitem 12113,1;
+ set zeny,zeny-1000;
+ mes "[Bartender]";
+ mes "Here you go.";
+ mes "but don't drink too much.";
+ close;
+
+Nomoney:
+ mes "[Bartender]";
+ mes "Are you asking me to give it for free?";
+ mes "You are one crazy person.";
+ mes "Don't even think about drinking if you don't have 1,000 zeny.";
+ close;
+}
+
+// Lvl 4 weapon quest related NPC ================================
+
+morocc.gat,289,230,3 script Citizen 92, {
+ mes "[Citizen]";
+ mes "Meeting a dead man is basically";
+ mes "impossible.";
+ mes "Even if you met one,";
+ mes "he would not have the full memory of his life.";
+ next;
+ mes "[Citizen]";
+ mes "But if you brought a thing that he";
+ mes "used to keep in his life,";
+ mes "it would be possible to retrieve his memory of the life.";
+ mes "Of course, we can confirm this theory only";
+ mes "when we meet a dead man.";
+ close;
+}
+
+//<================================================== Assassin Guild ====================================================>\\
+
+// Hashisid ====================================
+moc_fild16.gat,199,212,4 script Hashisid 48,{
+ mes "[Hashisid]";
+ mes "For Assassins, it is important not to look a target in the eye. If a target is smart, he/she may be able to tell what you're up too.";
+ next;
+ menu "About Assassins",M_0,"Quit Conversation",M_End;
+
+ M_0:
+ mes "[Hashisid]";
+ mes "Let me tell you a little bit about Assassins";
+ next;
+ mes "[Hashisid]";
+ mes "Assassin's are hired to infiltrate, gather intelligence, and even commit murder without being seen or heard.";
+ mes "Stealth and speed are vital to Assassins. Assassins live in the shadows and never get praise or congratulations.";
+ next;
+ mes "[Hashisid]";
+ mes "It's their job to go unnoticed. Though an Assassin may seem like a cruel and heartless individual....";
+ mes "An Assassin will never do any harm to an innocent being. The main purpose of the Assassin to seek out and destroy evil forces!";
+ close;
+ M_End:
+ close;
+}
+
+//==================================================
+// Assassin Guild Guards
+//===================================================
+
+moc_fild16.gat,195,281,4 script Assassin Guardian#1::SinGuard 707,{
+ mes "[Assassin Guardian]";
+ if(BaseJob == Job_Assassin) mes "Welcome.";
+ if(BaseJob == Job_Assassin) close;
+
+ set @temp, rand(1,4);
+ if(@temp == 1) mes "........";
+ if(@temp == 2) mes "Hmmm..........";
+ if(@temp == 3) mes "Hmmm... you shouldn't be here.....";
+ if(@temp == 4) mes "You're trespassing on forbidden grounds.......";
+ close;
+}
+
+moc_fild16.gat,204,281,4 duplicate(SinGuard) Assassin Guardian#2 707
+moc_fild16.gat,207,281,4 duplicate(SinGuard) Assassin Guardian#3 707
+moc_fild16.gat,216,281,4 duplicate(SinGuard) Assassin Guardian#4 707
+moc_fild16.gat,200,231,4 duplicate(SinGuard) Assassin Guardian#5 707
+moc_fild16.gat,211,231,4 duplicate(SinGuard) Assassin Guardian#6 707
+moc_fild16.gat,200,257,4 duplicate(SinGuard) Assassin Guardian#7 707
+moc_fild16.gat,211,257,4 duplicate(SinGuard) Assassin Guardian#8 707
diff --git a/npc/cities/niflheim.txt b/npc/cities/niflheim.txt
new file mode 100644
index 000000000..83fce64f0
--- /dev/null
+++ b/npc/cities/niflheim.txt
@@ -0,0 +1,559 @@
+//===== eAthena Script =======================================
+//= Niflheim Script
+//===== By: ==================================================
+//= Fyrien, Dizzy, PKGINGO
+//= Official NPCs translated and re-edited by Celest
+//===== Current Version: =====================================
+//= 1.08
+//===== Compatible With: =====================================
+//= Any eAthena Version; Niflheim Required
+//===== Description: =========================================
+//= Official NPC's for Niflheim
+//= 1.01 Splitted file(guides, shops). Fixed rand() bugs,
+//= missing labels bugs, optimization [Lupus]
+//= 1.03 fixed end; -> close;
+//= 1.04-1.05 fixed several bugs with missing CLOSE button, wrong var name
+//= in Piano Keys quest
+//= fixed zeny/item, exploit in Sairin, some optimizations [Lupus]
+//= 1.06 some typos in some variables fixed (thx 2 Dr.Evil) [Lupus]
+//= 1.07 Fixed typos [Nexon]
+//= 1.08 Commented "Traveler" out as it is not official & we have correct Bungee quest in.
+//= Also removed TODO, as they are already done. [Vicious_Pucca]
+//============================================================
+
+//prontera.gat,164,161,4 script Traveler::NifTrav 68,{
+// mes "[Traveler]";
+// mes "I've come across some strange things in my time. Things you'd have to see to believe. Have you heard of Niffleheim, the City of the Dead?";
+// next;
+// menu "Show me, please...",M_show, "Sounds scary...Never mind...",-;
+//
+// mes "[Traveler]";
+// mes "A wise choice by any means...";
+// close;
+//M_show:
+// warp "niflheim.gat",202,171;
+// close;
+//}
+//- script EDNifTrav -1,{
+//OnInit:
+//OnMinute00:
+// disablenpc "NifTrav";
+// end;
+//OnMinute56:
+// enablenpc "NifTrav";
+// end;
+//}
+
+niflheim.gat,52,174,3 script Kirz 796,{
+ mes "[Kirz]";
+ mes "Humans are not allowed here!";
+ mes "Living things-! are not";
+ mes "allowed to pass!";
+ close;
+}
+
+niflheim.gat,213,221,0 script Spirit::spirits 802,{
+ mes "[Spirit]";
+ mes "Welcome to my world...";
+ mes "This land we call....";
+ mes "Niflheim....";
+ percentheal -85,-85;
+ close;
+}
+
+niflheim.gat,39,146,0 duplicate(spirits) Spirit#2 802
+niflheim.gat,95,61,0 duplicate(spirits) Spirit#3 802
+niflheim.gat,313,187,0 duplicate(spirits) Spirit#4 802
+niflheim.gat,212,264,0 duplicate(spirits) Spirit#5 802
+niflheim.gat,247,72,0 duplicate(spirits) Spirit#6 802
+niflheim.gat,130,176,0 duplicate(spirits) Spirit#7 802
+niflheim.gat,173,110,0 duplicate(spirits) Spirit#8 802
+niflheim.gat,182,167,0 duplicate(spirits) Spirit#9 802
+
+niflheim.gat,184,199,5 script Little Girl 793,{
+ mes "[Sairin]";
+ if(niflheimlost2 == 1) goto L_thanks;
+ if(niflheimlost == 1) goto L_foundhim;
+ if(lostgirl == 1) goto L_sure2;
+ mes "Sir, will you please help me?";
+ if(BaseJob==Job_Novice) mes "Oh... you are lost, too..."; //Exploit fix
+ if(BaseJob==Job_Novice) close;
+ next;
+ menu "Yes",-, "No",M_no;
+
+ mes "[Sairin]";
+ mes "My friend and I went for a hike and ended up wandering into a strange field.";
+ next;
+ mes "[Sairin]";
+ mes "Suddenly, I found a doll. I picked it up, and it turned into a ghost!";
+ next;
+ mes "[Sairin]";
+ mes "I screamed and ran as fast as I could. When I stopped running, I ended up in this strange town..";
+ next;
+ mes "[Sairin]";
+ mes "No one here will help me, and there are ghosts everywhere! Could you help me find my friend?";
+ next;
+ menu "Sure",-, "No",M_no;
+L_sure2:
+ set lostgirl,1;
+ mes "Please find him and tell him where I am! I saw him last in Niflheim Field, the first one...";
+ close;
+
+L_foundhim:
+ mes "You found him?";
+ mes "Oh thank you!";
+ mes "Please, take this as a token of my appreciation.";
+ getitem 642,1;//Items: Book of Devil,
+ set niflheimlost2,1;
+ close;
+L_thanks:
+ mes "Thanks again!";
+M_no:
+ close;
+}
+
+nif_fild01.gat,213,268,5 script Little Boy 797,{
+ mes "[Marius]";
+ if(niflheimlost == 1) goto L_alreadydone;
+ if(lostgirl == 1) goto L_sure2;
+ mes "Sairin...where are you?";
+ close;
+L_alreadydone:
+ mes "Thank you for helping us!";
+ close;
+L_sure2:
+ mes "Who are you?";
+ mes "...";
+ mes "You found Sairin?";
+ mes "She ran to Niflheim?";
+ next;
+ set niflheimlost,1;
+ mes "[Marius]";
+ mes "Could you tell her that I am on my way?";
+ mes "I am a little slow, and its very important that she knows.";
+ menu "Yes",L_alreadydone, "No",-;
+
+ close;
+}
+
+niflheim.gat,195,211,5 script Gigantia 796,{
+ mes "[Gigantia]";
+ mes "The Lord of Death always sees everything...";
+ close;
+}
+
+niflheim.gat,153,215,3 script Feline 794,{
+ mes "[Feline]";
+ mes "Why are you in this dangerous village?";
+ mes "Better go back fast...";
+ close;
+}
+
+nif_in.gat,16,27,1 script Dead Cock 800,{
+ mes "[Dead Cock]";
+ mes "I was eaten by humans when alive,";
+ mes "now it's my turn to eat you! Gugugugu~";
+ mes "Aaah, I can't believe there's such a world after death, gugugu";
+ percentheal -5,0;
+ close;
+}
+
+nif_in.gat,16,30,4 script Vampire Bat 799,{
+ mes "[Vampire Bat]";
+ mes "Alive or dead, human blood";
+ mes "is always the tastiest!";
+ mes "What? You want your blood";
+ mes "to be sucked by me? Nice nice-!";
+ percentheal -5,0;
+ close;
+}
+
+nif_in.gat,156,93,5 script Child 793,{
+ mes "[Anne]";
+ mes "Where, is this place? I just woke up";
+ mes "and found myself here... mommy...";
+ mes "have you seen my mommy, hmm? ... sob...";
+ mes "I want to go home...";
+ next;
+ menu "About the witch...",L_Wizzard,"About the curse...",L_Curse,"Stop conversation",L_end;
+
+L_Wizzard:
+ mes "[Anne]";
+ mes "A witch? I don't know any witches...";
+ mes "although I read about them in storybooks,";
+ mes "but I don't know if they're real or not,";
+ mes "must be really scary if she is real...";
+ next;
+ mes "[Anne]";
+ mes "But why is it so cold?";
+ if (sex == 1) mes "Aren't you cold, brother? Wierd... Hu~";
+ if (sex == 0) mes "Aren't you cold, sister? Wierd... Hu~";
+ mes "I miss my warm home,";
+ mes "Can you help me please? Hmmm? Hmmm?";
+ close;
+
+L_Curse:
+ mes "[Anne]";
+ mes "Curse... My grandma told me";
+ mes "she has a way to avoid any curse";
+ mes "unlifteable by holy blessings...";
+ next;
+ mes "[Anne]";
+ mes "Klaatu...";
+ mes "Verata.....";
+ mes "And... something... something... what was it?";
+ mes "I can't remember the last one.";
+ next;
+ mes "[Anne]";
+ mes "She said if you can pronounce these magic words";
+ mes "to escape a cursed fate.";
+ mes "Now I can't remember what she said was important...";
+ mes "looks like I forgot them too.";
+ close;
+
+L_end:
+ mes "[Anne]";
+ mes "So cold... so cold... I wish I could";
+ mes "go home... if you can please take me with you...";
+ mes "it's too scary here...";
+ mes "please.... help me....";
+ close;
+}
+
+niflheim.gat,350,258,5 script Cursed Soul 802,{
+ killmonster "niflheim.gat","mymob";
+ mes "[Aesop Bruce]";
+ mes "I feel a strong curse on youaaaahhhhh";
+ mes "I shall deny your existanceahhhhhhh";
+ mes "Turn back or you will dieeeaaaahhhh";
+ mes "Don't touch my boookkssaaaahhhh";
+ next;
+ menu "Pick up 1st book",L_book1,"Pick up 2nd book",L_book2,"Pick up 3rd book",L_book3,"Leave silently",L_back;
+
+L_book1:
+ mes "[Aesop]";
+ mes "Don't you touch my bookssssahhh!!";
+ mes "Ahahaha, I curse you for being bitten, torn and clawed at!!";
+ mes "Forever binded to this curse!!";
+ monster "niflheim.gat",350,258,"Rideword",1478,1,"mymob";
+ close;
+
+L_book2:
+ mes "[Aesop Bruce]";
+ mes "I said don't touch my booksssahhh...";
+ mes "Get lost....";
+ mes "Don't disrupt my restingggaaahh!!";
+ warp "niflheim.gat",34,162;
+ close;
+
+L_book3:
+ set nif_t,0;
+ set @nif_random1,rand(1,10);
+ mes "[Aesop Bruce]";
+ mes "Ahahaha.... I see you are brave!!";
+ mes "Start reading your prayersahahahah!!";
+ next;
+L_MENU1:
+ menu "Clover.",L_MENU1_1,"Klaatu.",L_MENU1_2,"Kleitos.",L_MENU1_3;
+
+ L_MENU1_1:
+ goto L_MENU2;
+
+ L_MENU1_2:
+ set nif_t,nif_t + 10;
+ goto L_MENU2;
+
+ L_MENU1_3:
+ goto L_MENU2;
+
+L_MENU2:
+ menu "Verit.",L_MENU2_1,"Veritas.",L_MENU2_2,"Verata.",L_MENU2_3;
+
+ L_MENU2_1:
+ goto L_MENU3;
+
+ L_MENU2_2:
+ goto L_MENU3;
+
+ L_MENU2_3:
+ set nif_t,nif_t + 10;
+ goto L_MENU3;
+
+L_MENU3:
+ menu "Necktie.",L_MENU3_1,"Necklace.",L_MENU3_2,"Nero.",L_MENU3_3,"^FFFFFFNictu.^000000",L_MENU3_4;
+
+ L_MENU3_1:
+ goto L_score;
+
+ L_MENU3_2:
+ goto L_score;
+
+ L_MENU3_3:
+ goto L_score;
+
+ L_MENU3_4:
+ set nif_t,nif_t + 10;
+ goto L_score;
+
+
+L_score:
+ if (nif_t == 30) goto L_sucess1;
+ mes "[Aesop Bruce]";
+ mes "Hahahaha!! Your prayers were wrong!!";
+ mes "Time to face deathohohohoho,";
+ mes "May you be cured forevahahahaha!!";
+ monster "niflheim.gat",349,256,"Orc Skeleton",1462,1,"mymob";
+ monster "niflheim.gat",347,258,"Orc Skeleton",1462,1,"mymob";
+ monster "niflheim.gat",347,254,"Orc Skeleton",1462,1,"mymob";
+ monster "niflheim.gat",350,252,"Orc Skeleton",1462,1,"mymob";
+ monster "niflheim.gat",344,255,"Orc Skeleton",1462,1,"mymob";
+ monster "niflheim.gat",348,252,"Orc Skeleton",1462,1,"mymob";
+ monster "niflheim.gat",347,259,"Orc Skeleton",1462,1,"mymob";
+ close;
+
+L_sucess1:
+ if (@nif_random1 == 10) goto L_sucess2;
+ mes "[Aesop Bruce]";
+ mes "Your prayers were correctaaahhhh...";
+ mes "but your curse still remainsaaahhhh!!";
+ mes "Haahahahaha.....!!!";
+ close;
+
+L_sucess2:
+ mes "[Aesop Bruce]";
+ mes "Hahahaha!! Your curse has been lifted!!";
+ mes "Gahahahaha.....!!!";
+ close;
+
+L_back:
+ mes "[Aesop Bruce]";
+ mes "Ahahahaha! Not bad thinking at alllhhhaahaaa...";
+ mes "I shall pray that you live to returnahhhh....";
+ close;
+}
+
+niflheim.gat,224,243,3 script Alager 795,{
+ mes "[Alager]";
+ mes "Muahaha, I love to eat meat...";
+ mes "You look... delicious!";
+ next;
+ mes "[Alager]";
+ mes "I'm going to eat you...";
+ next;
+ mes "-Chomp bite slurp-";
+ if (nif_quest1 == 1 || nif_q_done == 1) goto L_end;
+ percentheal -60,0;
+ next;
+ mes "[Alager]";
+ mes "Ahhh, it's been some time since I had such delicious meat!";
+ // 50% made up, not the slightest idea how to translate these ^^;
+ mes "as an ex-barbeque chef, my favourite meat";
+ mes "would be like preparing beef fillet,";
+ mes "crossed and grilled to perfection";
+ mes "that would be really delicious... ";
+ next;
+ mes "[Alager]";
+ mes "Ah, let me thank you with this,";
+ mes "I found it on the ground, hoho~";
+ getitem 7184,1;//Items: Piano Key,
+ set nif_quest1, 1;
+ close;
+L_end:
+ percentheal -30,0;
+ close;
+}
+
+nif_in.gat,105,81,3 script Grey 794,{
+ mes "[Grey]";
+ mes "Ah, there was this poem...";
+ mes "in which author and time of writing was unknown,";
+ mes "and has been circulating since long ago...";
+ next;
+ mes "[Grey]";
+ mes "^FF0000When the sun sets in the western hills,^000000";
+ mes "^FF0000Where points the velvet gloom of dawn,^000000";
+ mes "^FF0000The beautiful melody surrounding thy soul,^000000";
+ mes "^FF0000Is the key from Lord Death's wrath.^000000";
+ next;
+ if (nif_quest2 == 1 || nif_q_done == 1) goto L_end;
+ set @nif_random,rand(1,4);
+ mes "[Grey]";
+ mes "Heh, let me give you a little exam!";
+ mes "Repeat line no. " + @nif_random + " of the poem";
+ mes "that you have just heard to me!";
+ next;
+ input @inputstr1$;
+ if (@nif_random == 2) goto L_RAN_2;
+ if (@nif_random == 3) goto L_RAN_3;
+ if (@nif_random == 4) goto L_RAN_4;
+ //if (@nif_random == 1) goto L_RAN_1;
+ L_RAN_1:
+ set @str1$,"When the sun sets in the western hills,";
+ goto L_RAN_B;
+
+ L_RAN_2:
+ set @str1$,"Where points the velvet gloom of dawn,";
+ goto L_RAN_B;
+
+ L_RAN_3:
+ set @str1$,"The beautiful melody surrounding thy soul,";
+ goto L_RAN_B;
+
+ L_RAN_4:
+ set @str1$,"Is the key from Lord Death's wrath.";
+ goto L_RAN_B;
+
+ L_RAN_B:
+ if (@inputstr1$ == @str1$) goto L_RAN_SC;
+ mes "[Grey]";
+ mes "Aih... If you had paid more attention,";
+ mes "you would have known the correct answer!";
+ mes "Come back for the challenge again,";
+ mes "when you have thought over it!";
+ close;
+
+ L_RAN_SC:
+ mes "[Grey]";
+ mes "Hoho... I see you have paid attention!";
+ mes "I am Grey, a wandering poet of yore,";
+ mes "you are the best audience I have had so far,";
+ mes "here, take this as a reward.";
+ getitem 7184,1;//Items: Piano Key,
+ set nif_quest2, 1;
+ next;
+ mes "[Grey]";
+ mes "I hope you will treat other poets";
+ mes "as well as you treated me, farewell.";
+ close;
+
+L_end:
+ mes "[Grey]";
+ mes "I wonder what does it mean...";
+ mes "If you read it carefully,";
+ mes "it seems to have a deep meaning,";
+ mes "as if there is a mysterious secret";
+ mes "hidden within these words...";
+ close;
+}
+
+nif_in.gat,31,20,3 script Kurtz 794,{
+ mes "[Kurtz]";
+ mes "Business nowadays is really bad...";
+ mes "Back when I used to be alive,";
+ mes "my business was this bad too~!";
+ if (nif_quest3 == 1 || nif_q_done == 1) close;
+ next;
+ mes "[Kurtz]";
+ mes "Hey! You there! Dump this for me";
+ mes "on the way out will you!";
+ getitem 7184,1;//Items: Piano Key,
+ set nif_quest3, 1;
+ next;
+ mes "[Kurtz]";
+ mes "Why is business so bad lately...";
+ mes "(mumble mumble)";
+ close;
+}
+
+niflheim.gat,169,71,5 script #1 111,2,2{
+ if (nif_q_done == 1) end;
+ if (nif_quest4 == 1) end;
+
+ mes "- In the nearby tombs -";
+ mes "- you see something -";
+ mes "- half buried in the ground -";
+ mes "- What is it? -";
+ mes "- Looks like it broke off something -";
+ next;
+ mes "- Pick it up? -";
+ menu "Yes",-,"No",L_end;
+ getitem 7184,1;//Items: Piano Key,
+ set nif_quest4, 1;
+L_end:
+ close;
+}
+
+niflheim.gat,208,103,5 script #2 111,2,2{
+ if (nif_q_done == 1) end;
+ if (nif_quest5 == 1) goto L_key2;
+ if (nif_quest5 >= 2) end;
+
+ mes "- In the nearby tombs -";
+ mes "- you see something -";
+ mes "- half buried in the ground -";
+ mes "- What is it? -";
+ mes "- Looks like it broke off something -";
+ next;
+ mes "- Pick it up? -";
+ menu "Yes",-,"No",L_end;
+ getitem 7184,1;//Items: Piano Key,
+ set nif_quest5, 1;
+ close;
+L_key2:
+ mes "- In the hole you have dug -";
+ mes "- there is something else -";
+ mes "- buried deep in the ground -";
+ mes "- Looks like its another fragment -";
+ next;
+ mes "- Pick it up? -";
+ menu "Yes",-,"No",L_end;
+ getitem 7184,1;//Items: Piano Key,
+ set nif_quest5, 2;
+L_end:
+ close;
+}
+
+nif_in.gat,115,181,5 script #4 111,3,3{
+ mes "- You see a huge old piano -";
+ if (nif_q_done==0) mes "- with a few keys missing -";
+ if (nif_q_done==1) mes "- with one key missing -";
+ if (nif_q_done==0 && countitem(7184) > 5) goto L_event;//Items: Piano Key,
+ close;
+
+L_event:
+ delitem 7184,6;//Items: Piano Key,
+ set nif_q_done, 1;
+ //clear auxiliary vars now
+ set nif_quest1, 0;
+ set nif_quest2, 0;
+ set nif_quest3, 0;
+ set nif_quest4, 0;
+ set nif_quest5, 0;
+ set nif_random,0; //clear garbage from the previous version of the script
+ set nif_random1,0; //clear garbage
+ mes "- You slide the 6 piano keys one -";
+ mes "- by one into the missing slots -";
+ mes "- on the piano, but you realize -";
+ mes "- the left-most side seems to be -";
+ mes "- missing one more key. -";
+ close;
+}
+
+nif_in.gat,118,151,5 script #5 111,3,3{
+ if (nif_q_done != 1) end;
+
+ mes "- The very moment the long shadow -";
+ mes "- of your body falls on the piano -";
+ next;
+ mes "- You suddenly seem to feel lighter -";
+ mes "- and your vision starts to blur... -";
+ next;
+ warp "nif_in.gat",179,163;
+ close;
+}
+
+nif_in.gat,188,168,3 script Witch 792,{
+ mes "[Kilgana]";
+ mes "Hmm?... Aren't you a living human?";
+ mes "Must have took you some effort";
+ mes "to get to this place...";
+ mes "Whatever reason though, this is not a place";
+ mes "the living shall belong...";
+ next;
+ mes "[Kilgana]";
+ mes "I shall use my powers to send you back";
+ mes "but you should not return in the future.";
+ close2;
+ warp "umbala.gat",138,208;
+ end;
+}
diff --git a/npc/cities/payon.txt b/npc/cities/payon.txt
new file mode 100644
index 000000000..bc353ea70
--- /dev/null
+++ b/npc/cities/payon.txt
@@ -0,0 +1,1017 @@
+//===== eAthena Script =======================================
+//= Payon City
+//===== By: ==================================================
+//= Muad Dib (1.0) Darkchild (1.1) Muad Dib (1.2)
+//= Darkchild (1.3) DracoRPG (1.5)
+//===== Current Version: =====================================
+//= 1.7
+//===== Compatible With: =====================================
+//= Any eAthena Mod
+//===== Description: =========================================
+//= (New) Payon City Npcs
+//===== Additional Comments: =================================
+//= Most Credits To Muad Dib, Some Stuff By Me
+//= 1.4 - Corrected a few typos
+//= 1.5 - Rescripted old NPCs + scripted new ones (from iRO Sak) [DracoRPG]
+//= 1.5b - Used Dino9021's script for the Gemstone exchanger [DracoRPG]
+//= 1.5b1 fixed Gemstone Exchanger NPC [Lupus]
+//= 1.5b2 added adv.classes/baby classes support [Lupus]
+//= 1.6 Fixed typo’s [Nexon]
+//= 1.7 Fixed bugs and exploits V__V [Lupus]
+//============================================================
+
+payon.gat,190,115,0 script Lady 90,{
+ mes "[Lady]";
+ mes "Did you know that in the past Payon was not as prosperous as it is now? Back then we had difficulty making a living for ourselves.";
+ emotion 0;
+ next;
+ mes "[Lady]";
+ mes "The towns people were so poor that they could not even afford to properly bury their deceased family members.";
+ mes "Because of this many people chose to simply place the dead corpses in the Cave near the village.";
+ next;
+ mes "[Lady]";
+ mes "Not only was this a terrible way to treat those that passed away but it would later prove to have grave consequences for this town.";
+ next;
+ mes "[Lady]";
+ mes "You see, because they were not given a proper burial, the dead were not able to leave this world and pass on to the other world.";
+ mes "Instead they became mindless zombies, wretched souls that were forced to walk the earth for all eternity.";
+ next;
+ mes "[Lady]";
+ mes "Their rotten bodies filled with pain and suffering, yearned for the taste of human flesh. Any living person who came near the cave would fall victim to these zombies.";
+ mes "In order to protect the village the Elder Chief founded the Archer Village to train young warriors who could fight the zombies.";
+ next;
+ mes "[Lady]";
+ mes "To this day the battle between the living and the undead still goes on.";
+ mes "It is a very tragic situation, for those zombies were at one time beloved members of the Payon community.";
+ close;
+}
+payon_in01.gat,177,91,5 script Young Man 88,{
+ mes "[Young Man]";
+ mes "I can see you are a stranger from the appearance of your traveling outfit. You must be a well-experienced fighter otherwise you couldn't successfully arrive at this steep place with all tough those creatures outside.";
+ mes "However you miss something important for fights. You can't defeat those monsters only with might.";
+ next;
+ mes "[Young Man]";
+ mes "Sometimes you will encounter some creatures with a hard-shell body which can't be damaged by physical attacks. Only psychic power like magic can defeat them at ease.";
+ mes "If you study magic’s, works will be easier... If you don't, you'd better accompany with somebody using magic.";
+ close;
+}
+
+payon.gat,104,62,5 script Young Man 88,{
+ mes "[Young Man]";
+ mes "I still remember the story my grandfather told me long ago about the Amulet that possessed an Evil Power within it.";
+ next;
+ mes "[Young Man]";
+ mes "According to the story the Amulet could raise the dead from their Graves!!";
+ mes "I am not sure if the story is true or not, but I wonder what would happen if I summoned my grandfather from his grave with it??...";
+ next;
+ mes "[Spooky Voice]";
+ mes "~~~~My child... do not even think of such a thing!!!~~~~~";
+ next;
+ mes "[Young Man]";
+ mes "Eeeeeeeeekkkkk?! Grampa? I-I-Is-Is t-t-th-that you?? ...";
+ emotion 16;
+ next;
+ mes "(you notice that his pants have become wet... eeeewwwwwwwwww!!!....)";
+ close;
+}
+
+payon_in01.gat,180,7,0 script Waitress 90,{
+ mes "[Waitress]";
+ mes "People in this place seem to be busy all the time, they come and go to be Archers or to buy arrows, I have to stick with this small shop.";
+ mes "I feel so melancholy and bored.";
+ emotion 28;
+ next;
+ mes "[Waitress]";
+ mes "I am sick and tired of noodle soup. I have to take too many showers to get rid of the smell.";
+ mes "But it isn't easy to deodorize. sigh...";
+ next;
+ mes "[Waitress]";
+ mes "Where can I find the right person who is a really hot, sexy hunk, and who can take me out of this small place?";
+ if(Sex == 0) goto LStartF;
+ mes "[Waitress]";
+ mes "Hello, mister?";
+ goto L_Start;
+LStartF:
+ mes "[Waitress]";
+ mes "Hello, lady?";
+L_Start:
+ next;
+ mes "[Waitress]";
+ mes "Grandma the fortuneteller told me that I would meet great luck in the near future!";
+ mes "But look at me, what's wrong with me!! I am leaving a manageable life everyday!!";
+ mes "Oh.. boy. What a dumb wishy-washy person I am.";
+ emotion 6;
+ next;
+ mes "[Waitress]";
+ mes "I am so sorry, I should haven't said this to you. Now I am acting like i'm stupid.";
+ mes "I am sorry dear, please forgive my misbehavior.";
+ emotion 4;
+ next;
+ mes "[Waitress]";
+ mes "So, how may I help you? ";
+ menu "Have you ever heard of Zombies?",L_Menu1,"I want to have my fortune told.",L_Menu2,"I need some booze.",L_Menu3,"I'm good",L_Menu4;
+L_Menu1:
+ mes "[Waitress]";
+ mes "Zombies are the walking dead. You can easily spot them in this village, Payon.";
+ mes "It's rumored that they fear holiness. That's why Archers prefer to use arrows made out of holy metal, silver against Zombies.";
+ next;
+ mes "[Waitress]";
+ mes "Legend says the chief of this town used silver arrows against walking zombies that used to be his brethren, to enlighten their souls to rest in peace.";
+ mes "We believe only this way, zombies can be leaded to the peaceful world beyond the realm.";
+ next;
+ mes "[Waitress]";
+ mes "You might not agree on our tradition which respects the diseased.";
+ next;
+ mes "[Waitress]";
+ mes "Somehow I would like to appreciate the chief to enlighten my grandfather's poor soul.";
+ close;
+L_Menu2:
+ mes "[Waitress]";
+ mes "Oh! I must say she is really an extraordinary person. Well, it could be your luck, she doesn't hang around here much as she used to do.";
+ emotion 5;
+ next;
+ mes "[Waitress]";
+ mes "On the first place, she stayed here to mind her business, but ever since the chief recognized her talent, she's stayed in the central palace.";
+ mes "You'd better go to there if you want to see her.";
+ close;
+L_Menu3:
+ mes "[Waitress]";
+ mes "I am so sorry they're all sold out and we can't afford to prepare alcohol anymore due to hostile creatures out there.";
+ mes "My master built a very strict rule of his own, that is we only provide the best drinks to customers.";
+ next;
+ mes "[Waitress]";
+ mes "So please come later again.";
+ next;
+ mes "[Waitress]";
+ mes "Sorry for your inconvenience.";
+ emotion 17;
+ close;
+L_Menu4:
+ mes "[Waitress]";
+ mes "Have a nice day, dear.";
+ mes "Sob...I wish I could be in bed of roses.";
+ emotion 28;
+ close;
+}
+
+payon.gat,193,116,1 script Woman 66,{
+ mes "[Woman]";
+ mes "Welcome to Payon. You must have had a hard time getting through the thick forest? I hope you didn't run into too much trouble?";
+ next;
+ mes "[Woman]";
+ mes "I'm glad to see a new face around here. You see the number of tourists has decreased drastically due to the enormous amount of monsters outside.";
+ next;
+ mes "[Woman]";
+ mes "Payon has become a very quite town because of this. There's isn't much for the towns people to do nowadays. As for myself I'm just chit-chatting with my friends.";
+ next;
+ mes "[Woman]";
+ mes "To be honest, things are getting tough because of those creatures... (sighs)...";
+ next;
+ mes "[Woman]";
+ if(Sex == 0) goto LStartF;
+ mes "Hmm... you look as strong as a Rocker! How many monsters have you killed?";
+ mes "Let me tell you about a place where you can go train and become even stronger.";
+ emotion 20;
+ goto L_Start;
+LStartF:
+ mes "Miss, how many monsters have you killed?";
+ mes "I know a very good place for you to go train and get good monster drops.";
+ emotion 20;
+L_Start:
+ next;
+ mes "[Woman]";
+ mes "I know of a cave near Archer Village. Just take the exit north of town and follow the path to your left.";
+ mes "The cave is full of monsters and their spawn rate is very high. Does it sound interesting to you?";
+ next;
+ menu "It sounds dangerous.",L_Menu1,"I think I need to fully prepare for that place.",L_Menu2,"Lady, you wear nice clothing~",L_Menu3;
+L_Menu1:
+ mes "[Woman]";
+ mes "Oh don't be such a coward! It's just a simple cave filled with normal monsters. Archer Village is near by so you shouldn't be worried~ hohoho~";
+ next;
+ mes "[Woman]";
+ mes "Of course... there are the zombies... and Munaks... and Bonguns... which can be VERY DEADLY.....";
+ emotion 20;
+ close;
+L_Menu2:
+ mes "[Woman]";
+ mes "No need to worry about preparing yourself. There is an excellent tool dealer in front of town where you can purchase the items you need.";
+ next;
+ mes "[Woman]";
+ mes "I know because he's my husband... oops... I mean an acquaintance of mine... heh heh..";
+ emotion 4;
+ close;
+L_Menu3:
+ mes "[Woman]";
+ mes "Oh hohohoho! SO you noticed! This is what's in-style in Prontera these days! The women in this town don't know anything about fashion!";
+ emotion 5;
+ next;
+ mes "[Woman]";
+ mes "My husband buys me these clothes with the money he makes selling overpriced items to foolish young people... oh ho oh hoho...";
+ emotion 18;
+ close;
+}
+
+payon.gat,190,119,5 script Woman 66,{
+ mes "[Jim's Mother]";
+ mes "Oh boy there she goes again. She is a confirmed gossip. Please don't mistake her for being a typical Payon citizen.";
+ emotion 9;
+ next;
+ mes "[Jim's Mother]";
+ mes "Believe me, she's an exception. Not all of us here in Payon have big mouths. She gets too exited with fortune telling.";
+ next;
+ mes "[Jim's Mother]";
+ mes "Anyway, you look like a new face. Are you new in town?";
+ next;
+ mes "[Jim's Mother]";
+ if(Sex == 0) goto LStartF;
+ mes "... Oh, you have broad shoulders ... tehehe! Will you go out with me? I'd like to make you a nice dinner...(bats eyelashes)";
+ emotion 30;
+ goto L_Menu;
+LStartF:
+ mes "Don't you think your dress is too lousy?";
+ mes "I don't like young ladies pounce up.";
+L_Menu:
+ next;
+ menu "Fortune Telling?",L_Menu1,"...Good Bye.",L_Menu2;
+L_Menu1:
+ mes "[Jim's Mother]";
+ mes "Oh yes, there is an extraordinary fortune teller here in town. You can find her in the central palace.";
+ mes "The more money you pay her the more accurate your fortune will be told.";
+ next;
+ mes "[Jim's Mother]";
+ mes "I saw her recently and she told me that I would meet a handsome young man this month............";
+ if(Sex == 0) goto L_2;
+ mes ".......... tehehe. (winks at you)";
+L_2:
+ emotion 3;
+ close;
+L_Menu2:
+ mes "[Jim's Mother]";
+ mes "What? You have to go? Awwww...Why don't you stay and chit chat with me for a while...hmm? ...";
+ close;
+}
+
+payon.gat,210,110,4 script Drunk 120,{
+ if(BaseJob != 3) goto L_Menu1_F1;
+ mes "[Drunk]";
+ mes "Hey hey! I am wondering how stupid archers who don't know how to aim targets could drink alcohol. Hahaha~!";
+ mes "Do you want to buy me a drink?";
+ emotion 18;
+L_Menu1_F1:
+ mes "[Drunk]";
+ mes "Yoyo! Archer brother! Salute to your fingers stretching bowstring!";
+ emotion 2;
+ next;
+ mes "[Drunk]";
+ mes "Do you want to buy me a drink?";
+ next;
+ menu "Promise me you won't drink more than one jug.",L_Menu1,"No thanks,buddy.",L_Menu2,"Oh my god~ hell no~!",L_Menu3;
+L_Menu1:
+ if(BaseJob == 3) goto L1L;
+ mes "Thanksh!... shhtrangersszz are alwayssszz a generoushhh bunch!... archer guysh are penny pinchershh nowadayssszz!..(hicup!)";
+ goto L1L;
+L1L:
+ if(BaseJob != 3) goto L2L;
+ mes "Thanksh brothaaa!... archerrrzzz are alwayssszz a generoushhh bunch!...(hicup!)";
+ goto L2L;
+L2L:
+ emotion 15;
+ if(Zeny < 200) goto L_SUB_1;
+ set Zeny,Zeny-200;
+ mes "[Drunk]";
+ mes "Thanks brother! Strangers are always generous without exception! Archer guys are pinch-pennies nowadays!";
+ mes "Muhahahaha! I wasn't like that when I was young.";
+ mes "Back then I was young, I used to fool around with girls! One of the grannies in this village and I was really hot back then!";
+ mes "She still acts like a young lady in taste for cosmetics and stuff!";
+ next;
+ mes "[Drunk]";
+ mes "Gulp~Gulp~Man! This is great! Thank you may man! Thank you! Muhahahahaha!";
+ emotion 21;
+ close;
+L_SUB_1:
+ mes "[Drunk]";
+ mes "Cheapass, don't even have enough money. Move on young one, your waisting my time!";
+ close;
+L_Menu2:
+ mes "[Drunk]";
+ mes "Blah. Young people don't know how to respect elderly people!";
+ mes "Fine! I won't beg you anymore! I won't...";
+ emotion 32;
+ close;
+L_Menu3:
+ mes "[Drunk]";
+ mes "Umm, oookay. Fine by me...";
+ emotion 21;
+ close;
+}
+
+payon_in01.gat,47,59,5 script Archer Zakk 88,{
+ mes "[Archer Zakk]";
+ mes "I am so worried about one of my pals. He speaks about much crap.";
+ mes "Well he is an expert of archery, but I hate his big mouth...";
+ mes "Our chief is also fed up with him.";
+ emotion 7;
+ next;
+ menu "Archer?",L_Menu1,"Chief?",L_Menu2,"Big Mouth?",L_Menu3;
+L_Menu1:
+ mes "[Archer Zakk]";
+ mes "Ah yeah yeah. My friend is the number one archer in Payon, in the same costume as me too.";
+ mes "He teaches newbie archers around the archer village.";
+ mes "Well...you'd better talk to him at lease once.";
+ close;
+L_Menu2:
+ mes "[Archer Zakk]";
+ mes "Chief lives in the central palace. He is the spiritual guide of Payon.";
+ mes "He used to dictate to the whole Payon forest carrying Gakkung. I remember the battle scene he showed when I was a little kid. Hmm~";
+ mes "Even though he is old and weak now...his eyes...he still has keen-sighted eyes of his young days, he can hit targets without missing.";
+ next;
+ mes "[Archer Zakk]";
+ mes "I admire him from the bottom of my heart.";
+ close;
+L_Menu3:
+ mes "[Archer Zakk]";
+ mes "You know a big mouth is the person who is much talkative and who doesn't stop talking.";
+ mes "He never stops talking as I said, one day he started to talk while we did laundry at the riverbank, he stopped talking when we realized our shirts tunrned out to get tattered.";
+ mes "He became a kind of legend, people used to call him as Bowing Mouth or Chatterbox instead of his real name.";
+ mes "I've never seen a person talk as much as him.";
+ next;
+ mes "[Archer Zakk]";
+ mes "I've been many places, but I didn't see any guy who likes talking or being talkative.";
+ mes "Maybe other people agree on my opinion. Oh yes, I think you are with me.";
+ mes "As I see your face, you've got friends of few words so far! Hmm Hmm!!";
+ mes "Taciturnity is bliss, you know.";
+ next;
+ mes "[Archer Zakk]";
+ mes "Ah, My friend Wolt? He doesn't have his place so he always stay at inn.";
+ mes "I guess you can meet him by now. Why don't you go see him?";
+ close;
+}
+
+payon_in01.gat,66,64,5 script Archer Wolt 88,{
+ mes "[Archer Wolt]";
+ mes "Archers should practice as much as they can. Otherwise they won't be an expert.";
+ mes "Are you new here? Howdy!";
+ next;
+ mes "[Archer Wolt]";
+ mes "I am Wolt the Archer. Just call me Wolt.";
+ mes "I know this is an expected question, do you tend to idle away your time?";
+ next;
+ menu "Hell no.",L_Menu1,"Yeah I guess.",L_Menu2;
+L_Menu1:
+ mes "[Archer Wolt]";
+ mes "Hmm... You don't? You are born to be an archer then.";
+ next;
+ mes "[Archer Wolt]";
+ mes "We Archers are constantly practicing and rarely have time to just sit around. So we hate people who are not diligent.";
+ next;
+ mes "[Archer Wolt]";
+ mes "Are you curious about HOW we practice?";
+ emotion 1;
+ next;
+ mes "[Archer Wolt]";
+ mes "From sunrise to sunset the Archers of Payon search the surrounding forest for monsters.";
+ next;
+ mes "[Archer Wolt]";
+ mes "With a bow in our hands and arrows on our back we fight dangerous monsters in order to train ourselves as well as to help keep Payon safe";
+ next;
+ mes "[Archer Wolt]";
+ mes "For us fighting monsters is a way of life...(blah blah blah)...I once saw the sun set on a river...(blah blah blah blah)...sometimes I feel pretty...(blah blah)...";
+ next;
+ menu "You must need a good bow.",L_sub1,"Oh well, isn't it a practice?",-;
+ close;
+L_sub1:
+ mes "[Archer Wolt]";
+ mes "....Well YES!! A well crafted Bow is essential to the success of an archer!";
+ emotion 5;
+ next;
+ mes "[Archer Wolt]";
+ mes "Bows constructed in Payon are the greatest bows you can find in Rune-Midgard! They are light yet, strong and very durable.";
+ emotion 21;
+ next;
+ mes "[Archer Wolt]";
+ mes "This is because they are made out of high quality wood found only in the Payon Forest!";
+ mes "My bow was made from a Walnut tree and will last for generations to come.";
+ next;
+ mes "[Archer Wolt]";
+ mes "Unfortunately many of the wonderful trees in Payon forest have been affected by the evil force that has spread throughout Rune-Midgard and have turned into horrible creatures.";
+ next;
+ mes "[Archer Wolt]";
+ mes "It's a pitty to see such beautiful trees become tools of evil...";
+ next;
+ mes "[Archer Wolt]";
+ mes "Strange as it may sound, even as monsters the trees still provide high quality wood that can be used for bows.";
+ mes "Maybe the trees seek to help us fight the evils in the land?...";
+ next;
+ menu "I didn't realize the forest was so dangerous",L_case,"(This guy talks way to much)",L_End;
+L_case:
+ mes "[Archer Wolt]";
+ mes "But you know monsters don't appear only in the forest. Don't you realize why the archer village was established in this place?";
+ mes "Heading west, you can see a cave. Inside the cave, enormous monsters keep spawning without limit.";
+ mes "We are here, to protect our territory against them in obedience to our chief's order.";
+ next;
+ menu "Cave?!",L_para1,"Chief?",L_para2,"Oh man I hate this stupid town~",L_para3;
+L_para1:
+ mes "[Archer Wolt]";
+ mes "Head north of town, you can see the cave I told you about.";
+ mes "Inside there, you will encounter lots of ugly monsters such as bastard looking like a bat or the walking dead.";
+ mes "If we let them out of the place, they would invade our town. We frequently clean up the cave.";
+ next;
+ mes "[Archer Wolt]";
+ mes "However they are endlessly respawned. It seems we're wasting our time and labor without nothing...";
+ mes "Enough already, let's cut off this crap. Even I can't talk more than this.";
+ mes "I have lots of things to do!";
+ close;
+L_para2:
+ mes "[Archer Wolt]";
+ mes "The Elder Chief is such a great person... although he always scolds me because he says I talk too much.";
+ next;
+ mes "[Archer Wolt]";
+ mes "I don't think I talk all that much...I mean..(blah blah blah)...so I said to the guy...(blah blah blah blah blah).....";
+ next;
+ mes "[Archer Wolt]";
+ mes "... uh... anyways... back to the Chief...";
+ emotion 4;
+ next;
+ mes "[Archer Wolt]";
+ mes "In the past he bravely protected Payon with his Gakung Bow. Now he is elderly, though he still worries about the safety of the town.";
+ mes "He resides in the Palace and has his own personal gaurd. Only high level warriors are allowed to speak with him.";
+ close;
+L_para3:
+ mes "[Archer Wolt]";
+ mes "Well that’s not very nice!";
+ mes "If you don't like our humble town then you should leave, bastard!";
+ close;
+L_Menu2:
+ mes "[Archer Wolt]";
+ mes "Hmm...sometimes you need rest.";
+ mes "Do you want to listen to my story? I set fire on my house during my last holiday~ hahaha~ I fell a sleep while I heated the bath. Hahaha!";
+ next;
+ menu "Is it ok to take a rest?",L_temp1,"But how about my training?",L_temp2,"...Blah see ya.",L_temp3;
+L_temp1:
+ mes "[Archer Wolt]";
+ mes "Umm...it won't be ok if you don't practice and just goof around. Probably our chief will get mad at you...Well you could be the drunk in the pub in the future... Hahaha. Muhahaha.";
+ next;
+ menu "Chief?",L_sub_para1,"Drunk?",L_sub_para2,"I know you're already out of your mind!",L_sub_para3;
+L_sub_para1:
+ mes "[Archer Wolt]";
+ mes "Chief? Ah he is such a great guy. Well, he always scolds me because I talk too much talking.";
+ mes "He always tries to keep us in safety. Lately it seems he doesn't come out of his palace.";
+ mes "He is inside a room guarded by a warrior.";
+ next;
+ mes "[Archer Wolt]";
+ mes "Heheheh~ I will be in trouble if he gets to know I tell you this to a stranger~ hehehe~";
+ mes "Well somehow I already burst it out, no use to regret!";
+ mes "Ummm however I think I'd better seal my lips by now. Ok bye, see you later dude!";
+ close;
+L_sub_para2:
+ mes "[Archer Wolt]";
+ mes "Ah that guy in the pub. When I get spare money I buy him a drink sometimes, I am so worried about his drinking disorder.";
+ mes "He is one of my villagers, I don't want to see him dead.";
+ mes "Hmm...he reminds me of a jug full of beer...";
+ mes "I got to go to the pub! Ok then, See you later!";
+ close;
+L_sub_para3:
+ mes "[Archer Wolt]";
+ mes "Yeah dumbo.";
+ close;
+L_temp2:
+ mes "[Archer Wolt]";
+ mes "Hmm...You don't? You are born to be an archer then.";
+ mes "We, archers should not idle away without practice.";
+ mes "So we hate people who are not diligent.";
+ next;
+ mes "[Archer Wolt]";
+ mes "It is so amazing that lazy guy like me could be an archer.";
+ mes "Life is worth to live.";
+ mes "So live your life with passion!";
+ close;
+L_End:
+ mes "[Archer Wolt]";
+ mes "...... (blah blah blah)......";
+ close;
+L_temp3:
+ close;
+}
+
+pay_arche.gat,77,131,2 script Archer Joe 88,{
+ mes "[Archer Joe]";
+ mes "Payon! What a wonderful place! Superb Bows! Excellent Archers!";
+ emotion 21;
+ next;
+ mes "[Archer Joe]";
+ mes "Hay you! Have you heard of our fame?";
+ next;
+ menu "Oh yeah!",L_Menu1,"Err Sorry?!",L_Menu2,"......",L_Menu3;
+L_Menu1:
+ mes "[Archer Joe]";
+ mes "Oh! You my man buddy! Archers of Payon! You know who we are!";
+ emotion 33;
+ next;
+ mes "[Archer Joe]";
+ mes "Arrows of Payon Archers never miss the targets! Even it can aim at the heart of the enemy from a long distance!";
+ next;
+ menu "You like this place, huh?",L_Msub1,"Haha...",L_Msub2;
+L_Msub1:
+ mes "[Archer Joe]";
+ mes "Yes! I love this place! So now I am researching Payon!";
+ mes "If you have any questions, please ask me!";
+ emotion 33;
+ next;
+ menu "People are wearing unique costumes in here.",L_Mpara1,"Can you tell me what the building is in the middle of town?",L_Mpara2,"Who is the guy drinking...Over there?",L_Mpara3,"Talk to you later.",L_Mpara4;
+L_Mpara1:
+ mes "[Archer Joe]";
+ mes "Yes, I agree.";
+ mes "You must know this place has been isolated from the outside because of the thick forest, and people living here got to form a very unique culture, which is quite different from the one of this continent.";
+ mes "This costume is the one of their traditional clothing! Why don't you try? It is very comfortable!";
+ close;
+L_Mpara2:
+ mes "[Archer Joe]";
+ mes "Strangers are not allowed to enter the central palace. I've never been there.";
+ mes "People say, royal families and their friends from outside are gathered in the place.";
+ mes "In fact I would like to go in there. It attracts my attention.";
+ close;
+L_Mpara3:
+ mes "[Archer Joe]";
+ mes "Oh! He is a notorious guy in this town! Don't treat him to drinks! You will regret that!";
+ emotion 0;
+ close;
+L_Mpara4:
+ mes "[Archer Joe]";
+ mes "Ok! Catch you later! See ya!";
+ close;
+L_Msub2:
+ close;
+L_Menu2:
+ mes "[Archer Joe]";
+ mes "Oh boy, what a shame! How on earth can't you know there is something about archers of Payon!";
+ emotion 23;
+ next;
+ mes "[Archer Joe]";
+ mes "Please come back later when you become more skillful! Let's talk about what makes archers of Payon so attractive later!";
+ close;
+L_Menu3:
+ mes "[Archer Joe]";
+ mes "What makes you zip your mouth? Are you shy?";
+ mes "Ummm... you don't have to be shy before me..";
+ emotion 20;
+ close;
+}
+
+payon.gat,132,235,2 script Monster Scholar 98,{
+ mes "[Monster Scholar Vuicokk]";
+ mes "Nice to meet you. I am Vuicokk the scholar in the monster research organization of Rune Midgard.";
+ mes "Do you have any questions about monsters of Rune Midgard?";
+ next;
+ menu "Late News.",L_Menu1,"Undead Monster.",L_Menu2,"Monster Research Organization.",L_Menu3,"Good day",L_End;
+L_Menu1:
+ mes "[Monster Scholar Vuicokk]";
+ mes "Payon is located deep inside the forest, you can easily get attacked by monster troops.";
+ mes "Besides a dangerous cave is near the town.";
+ next;
+ mes "[Monster Scholar Vuicokk]";
+ mes "Especially in the cave, monsters of undead attribute are spotted here and there, monster academic world is paying attention on the cave.";
+ mes "My mission in here is analyzing their characters.";
+ close;
+L_Menu2:
+ mes "[Monster Scholar Vuicokk]";
+ mes "The remarkable thing about the Undead monsters of Payon is that many of them used to be citizens of Payon.";
+ next;
+ mes "[Monster Scholar Vuicokk]";
+ mes "Now they are but lost, tortured, souls seeking release from their painful existence....";
+ next;
+ mes "[Monster Scholar Vuicokk]";
+ mes "Undead monsters are of a totally different classification then the other monsters because of the fact that they used to be humans.";
+ next;
+ mes "[Monster Scholar Vuicokk]";
+ mes "It is for this reason that the King of Rune Midgard has a great deal of interest in our research on Undead monsters. ";
+ next;
+ mes "[Monster Scholar Vuicokk]";
+ mes "To know that they used to be citizens of his kingdom is very troubling to him.....";
+ next;
+ mes "[Monster Scholar Vuicokk]";
+ mes "His Majesty Tristram the 3rd has mandated that we do all we can to find a way to remove the undead from this world.";
+ next;
+ mes "[Monster Scholar Vuicokk]";
+ mes "In order to do that we must put an end to the source of the problem. I have tremendous faith that we can succeed in doing so.";
+ close;
+L_Menu3:
+ mes "The Monster Research Organization was formed to find ways to counteract the sudden and rapid growth of monsters in Rune Midgard.";
+ next;
+ mes "[Monster Scholar Vuicokk]";
+ mes "Talented scientist from all over the land have been called forth to participate in this research.";
+ next;
+ mes "[Monster Scholar Vuicokk]";
+ mes "Of course this work is not as easy as one might expect. We are constantly risking our lives when we go out into the field.";
+ next;
+ mes "[Monster Scholar Vuicokk]";
+ mes "There have already been countless injuries and fatalities suffered by the research team.";
+ next;
+ mes "[Monster Scholar Vuicokk]";
+ mes "However NOTHING can stop us! We will continue to persevere for the benefit of the people of RUNE MIDGARD!!!";
+ emotion 0;
+ next;
+ mes "[Monster Scholar Vuicokk]";
+ mes "... Eh em... please excuse my emotional outburst... I am very passionate about this work.....";
+ mes "Anyway if you happen to meet other scholars like myself, please treat them kindly.";
+L_End:
+ mes "[Monster Scholar Vuicokk]";
+ mes "Have a nice day.";
+ close;
+}
+
+payon.gat,158,246,4 script Guardsman 708,{}
+payon.gat,158,245,4 script PayonGuard1TriggerArea 139,3,2,{
+ mes "[Guardsman]";
+ mes "This is the Central Palace of Payon. This place is open to the public, but in accordance with our laws, you must behave in an orderly fashion while inside.";
+ next;
+ mes "[Guardsman]";
+ mes "In the interest of protecting the peace, we will disarm your equipment once you enter.";
+ mes "Your cooperation is";
+ mes "much appreciated.";
+ close;
+}
+
+payon_in03.gat,96,116,4 script Chief Guardsman 708,{}
+payon_in03.gat,96,117,4 script PayonGuard2TriggerArea 139,3,2,{
+ mes "[Chief Guardsman]";
+ mes "What brings";
+ mes "you here?";
+ next;
+ mes "[Chief Guardsman]";
+ mes "I can see you are none of the Payon locals. I would just like to remind you to conduct yourself in an orderly manner. Remember, you are a guest here.";
+ next;
+ nude;
+ mes "[Chief Guardsman]";
+ mes "In the interest of protecting the public peace, I will disarm your equipment. Thank you for your cooperation.";
+ close;
+}
+
+payon_in03.gat,102,185,4 script Guard 708,{
+ mes "[Guard]";
+ mes "Hey...!";
+ mes "You're not";
+ mes "allowed here!";
+ mes "Go back outside!";
+ close;
+}
+
+payon_in03.gat,99,190,4 script Chief 120,{}
+payon_in03.gat,99,189,4 script PayonChiefAreaTrigger 139,2,1,{
+ if(BaseLevel > 30) goto T_LEVEL; //couldn't test, so left it, but a little bit changed
+ mes "[Guard]";
+ mes "Hey...";
+ mes "Hey...!";
+ mes "Show your respect";
+ mes "to our chief!";
+ close;
+T_LEVEL:
+ mes "[Chief]";
+ next;
+ menu "Please tell me about Payon.",L_Menu1,"Where the guards come from?",L_Menu2,"Please tell me about the cave.",L_Menu3,"I am wondering what archer does.",L_Menu4,"I am wondering what hunter does.",L_Menu5;
+L_Menu1:
+ mes "[Chief]";
+ mes "Payon is the city of highlanders, who'be been self-supporting and self-sufficient.";
+ mes "Although our ancestors couldn't take civilized cultural benefits as much as farmers or citizens did, they knew how to make their living without help.";
+ mes "Young acting power motivated them to survive from the elemental forces. We, payon people including females have learned how to go hunt and how to protect ourselves from danger.";
+ next;
+ mes "[Chief]";
+ mes "I heard of weak young people who fear fields or dungeons filled with monsters. But to us, battle against monsters is a part of our lives.";
+ mes "That's why his majesty Tristram 3rd expects us to teach young people how to efficiently fight against evil creatures.";
+ close;
+L_Menu2:
+ mes "[Chief]";
+ mes "Prontera has sent civil servants to Payon as I was young.";
+ mes "Royal troops, Kafra ladies, officers...at first we used to argue due to different customs.";
+ mes "However I cannot deny they've helped to activate foreign trade with other countries briskly.";
+ next;
+ mes "[Chief]";
+ mes "Now young people outside Payon constitute themselves Payon villagers...I could hardly imagine this scene when I was young. Hh huh...";
+ mes "I am very pleased to see them. Even though they came from other places they love Payon.";
+ close;
+L_Menu3:
+ mes "[Chief]";
+ mes "The cave up North is the place I used to go to sometimes.";
+ mes "It was harder then now, evil creatures that I'd never seen kept respawning inside without limit.";
+ mes "Present monsters are...different from the monsters we used to fight with.";
+ next;
+ mes "[Chief]";
+ mes "Have you ever happened to see? A lasting grudge coming out of the cave...it was caused from the dead who never came back after going inside the cave to protect this village.";
+ next;
+ mes "[Chief]";
+ mes "Those walking dead make another victim...ah...I am too old to endure such a severe pain...I am too old...";
+ next;
+ mes "[Chief]";
+ mes "I can do anything to stop the dead.....I can do anything....";
+ close;
+L_Menu4:
+ mes "[Chief]";
+ mes "We gather enough wood from the huge forest surrounding Payon.";
+ mes "It is a natural benefit that we own excellent archers. You might think Forest welcomes archers to practice bowing, but it takes the side opposite yours.";
+ next;
+ mes "[Chief]";
+ mes "The forest aids you in hiding yourself, blocking the way of enemies who must approach to attack.";
+ mes "Archers are dexterous to attack dull enemies from a long distance.";
+ next;
+ mes "[Chief]";
+ mes "Besides...there is an expected merit being inside the forest. When I was young I was out of arrows while fighting against monsters in the woods, but arrows dropped by monsters saved my life from them. Muhahahaha!";
+ close;
+L_Menu5:
+ mes "[Chief]";
+ mes "As foreign cultures were introduced in Payon, the battle style of ours has been changed.";
+ mes "Especially explosive compound and technology have remarkably affected on people's life style. It seems people were not satisfied only with bows and arrows to fight.";
+ next;
+ mes "[Chief]";
+ mes "Trapping skills which enable to hunt monsters easier were invented, so the previous Chief granted them a name of hunter.";
+ mes "Even though it was all the go on the first place, trapping is a really dangerous skill, we hardly approve the youth to be hunters.";
+ next;
+ mes "[Chief]";
+ mes "People who have enough responsibility on themselves can challenge on the class.";
+ close;
+ next;
+}
+
+payon.gat,160,185,0 script Billboard 111,{
+ mes "^993333- The Billboard Reads -^000000";
+ mes "Welcome, and enjoy your stay in";
+ mes "the beautiful town of Payon.";
+ close;
+}
+
+payon.gat,173,238,5 script Jade 754,{
+mes "[Jade]";
+mes "Bring me two";
+mes "Gemstones of the";
+mes "same color, and I will";
+mes "change them to Gemstones";
+mes "of a different color.";
+next;
+
+menu "Blue Gemstones into Red ones!",L_BlueToRed,"Red Gemstones into Yellow ones!",L_RedToYellow,"Yellow Gemstones into Blue ones!",L_YellowToBlue,"Cancel",L_Cancel;
+
+L_BlueToRed:
+ set @SourceGemstones$,"Blue";
+ set @SourceGemstonesID,717;
+ set @TargetGemstones$,"Red";
+ set @TargetGemstonesID,716;
+ goto L_BeginExchange;
+
+L_RedToYellow:
+ set @SourceGemstones$,"Red";
+ set @SourceGemstonesID,716;
+ set @TargetGemstones$,"Yellow";
+ set @TargetGemstonesID,715;
+ goto L_BeginExchange;
+
+L_YellowToBlue:
+ set @SourceGemstones$,"Yellow";
+ set @SourceGemstonesID,715;
+ set @TargetGemstones$,"Blue";
+ set @TargetGemstonesID,717;
+ goto L_BeginExchange;
+
+L_BeginExchange:
+ if(countitem(@SourceGemstonesID) >= 2) goto L_ExchangeOK;
+ mes "[Jade]";
+ mes "Hah...!";
+ mes "You're kidding me, right?";
+ mes "I can't give you "+@TargetGemstones$+" Gemstones";
+ mes "if you don't give me at least";
+ mes "2 "+@SourceGemstones$+" Gemstones!";
+ close;
+
+L_ExchangeOK:
+ set @ExchangeCount,countitem(@SourceGemstonesID)/2;
+ mes "[Jade]";
+ mes "This may Exchange "+@ExchangeCount+" "+@TargetGemstones$+" Gemstones";
+ mes "How many do you want?";
+ next;
+ menu "Exchange all",L_ExchangeAll,"I want to set a number",L_PointCount,"Cancel",L_Cancel;
+
+L_ExchangeAll:
+ if(countitem(@SourceGemstonesID) < @ExchangeCount*2) goto L_ExchangeNo;
+ delitem @SourceGemstonesID,@ExchangeCount*2;
+ getitem @TargetGemstonesID,@ExchangeCount;
+ goto L_ExchangeDone;
+
+L_PointCount:
+ mes "[Jade]";
+ mes "How many do you want?";
+ mes "Limit is '100'";
+ next;
+L_InputPointCount:
+ input @number;
+ if(@number < 0) goto L_ExchangeNo;
+ if(@number > 100) goto L_ExchangeAbove;
+ if(@number > @ExchangeCount) goto L_ExchangeNotEnough;
+ if(countitem(@SourceGemstonesID) < @number*2) goto L_ExchangeNo;
+ delitem @SourceGemstonesID,@number*2;
+ getitem @TargetGemstonesID,@number;
+ goto L_ExchangeDone;
+
+L_ExchangeNo:
+ mes "[Jade]";
+ mes "Hmmm... Very funny...";
+ close;
+
+L_ExchangeAbove:
+ mes "[Jade]";
+ mes "Hmmm... Please don't set a number above '100'";
+ next;
+ goto L_InputPointCount;
+
+L_ExchangeNotEnough:
+ mes "[Jade]";
+ mes "Hmmm... The "+@SourceGemstones$+" Gemstones you have";
+ mes "is not enough for "+@number+" "+@TargetGemstones$+" Gemstones.";
+ mes "Please set a new number";
+ next;
+ goto L_InputPointCount;
+
+L_ExchangeDone:
+ mes "[Jade]";
+ mes "Here, This is the "+@TargetGemstones$+" Gemstones you need...";
+ mes "Come back to me when you need more";
+ mes "...mmm? Is there something on my face?";
+ close;
+
+L_Cancel:
+ mes "[Jade]";
+ mes "OK, Very well... Come back if you need anything.";
+ mes "I'll Exchange it for you anytime.";
+ close;
+}
+
+//Need to find out ALL fortunes he can tell for each answer...
+payon_in03.gat,117,128,4 script Fortune Teller 704,{
+ mes "[Lhimetorra]";
+ mes "You're an adventurer of this";
+ mes "world... " + strcharinfo(0) + ", right? So, what can an old person like me do for you?";
+ next;
+ menu "I would like a tarot card reading.",-,"What's a tarot card reading?",L_Info;
+ mes "[Lhimetorra]";
+ mes "Is that so...?";
+ mes "Well, if you want a monster card reading, you must first show me your faith. Otherwise, the spirits will grow angry and place a curse on you.";
+ next;
+ mes "[Lhimetorra]";
+ mes "So, would you like a monster card reading?";
+ next;
+ menu "Yes.",-,"I would like to think over it once more.",L_No;
+ mes "[Lhimetorra]";
+ mes "Then...";
+ mes "Please pay your fee with all of your sincerity.";
+ next;
+ input @fee;
+ if((@fee < 0) || (@fee > Zeny)) goto L_FeeNotOK;
+ if(@fee > 0) goto L_FeeOK;
+ mes "[Lhimetorra]";
+ mes "Ah...?!";
+ mes "You have angered the monster spirits!";
+ close;
+ L_FeeNotOK:
+ mes "[Lhimetorra]";
+ mes "There's no need to overdo it! Just give with all your heart... *Tsk";
+ mes "tsk*";
+ close;
+ L_FeeOK:
+ set Zeny,Zeny-@fee;
+ mes "[Lhimetorra]";
+ mes "I accept your heart and your";
+ mes "devotion with my gratitude.";
+ mes "Thoughts are more important than the amount when paying a fortune teller.";
+ next;
+ mes "[Lhimetorra]";
+ mes "Then, I will begin to tell the";
+ mes "fortune of your wish. Concentrate";
+ mes "on yourself...";
+ next;
+ mes "[Lhimetorra]";
+ mes "...";
+ mes "Clear your mind...";
+ next;
+ mes "[Lhimetorra]";
+ mes "...";
+ mes "Once you have emptied your mind, think of the thing you most wish to know.";
+ next;
+ mes "[Lhimetorra]";
+ menu "(I would like to know my love fortune.)",L_AskLove,"(How rich will I be?)",L_AskMoney,"(I need advice about my future.)",L_AskFuture,"(Can I get a warning of any dangers awaiting?)",L_AskDangers;
+ L_AskLove:
+ mes "[Lhimetorra]";
+ mes "I see it... I see a sign of";
+ mes "love...";
+ next;
+ set @TEMP,rand(5);
+ mes "[Lhimetorra]";
+ if(@TEMP == 0) mes "Can't you hear the cry of the card? It is suffering. Love is like that.";
+ if(@TEMP == 1) mes "His navel is very pretty. You have to meet someone with that type of navel to be happy.";
+ if(@TEMP == 2) mes "Hmm. How about giving a cute puppy as a gift? One with a round nose.";
+ if(@TEMP == 2) mes "Then they will surely be happy.";
+ if(@TEMP == 3) mes "No matter how fearful the bull may be, if it has a nose ring, it has already been tamed by humans. No matter how astonishing that person may be, taming is your responsibility.";
+ if(@TEMP == 4) mes "Who is he so fiercely gazing at with those grand muscles? He is looking at someone else for sure.";
+ if(@TEMP == 5) mes "They may seem dreary and ominous, but their attire is spotless. They show devotion to the other.";
+ if(@TEMP == 5) mes "Even though you are not satisfied with your love right now, take a look at they attire.";
+ next;
+ mes "[Lhimetorra]";
+ if(@TEMP == 0) mes "So don't be upset about it!";
+ if(@TEMP == 1) mes "Ok? Keep that in mind~";
+ if(@TEMP == 2) mes "But can't help if they don't";
+ if(@TEMP == 2) mes "like puppies.";
+ if(@TEMP == 3) mes "Approach them with more sincerity and consideration.";
+ if(@TEMP == 4) mes "Don't get sidetracked and look elsewhere! You will be cursed!";
+ if(@TEMP == 5) mes "If it is carefully worn, their";
+ if(@TEMP == 5) mes "heart for you can be seen in it as well..";
+ next;
+ mes "[Lhimetorra]";
+ mes "You seek advice about love.";
+ mes "Even if you may not pleased with it, consider it calmly and make an effort to find true happiness.";
+ next;
+ mes "[Lhimetorra]";
+ mes "Then...";
+ close;
+ L_AskMoney:
+ mes "[Lhimetorra]";
+ mes "Ooh... something about your future is starting to show...";
+ next;
+ set @TEMP,rand(2);
+ mes "[Lhimetorra]";
+ if(@TEMP == 0) mes "Do you know what a joker's specialty is? It is tricking others and making money. Be wary of the joker.";
+ if(@TEMP == 1) mes "The Skeleton says that you can make money by going north. Go north.";
+ if(@TEMP == 2) mes "A knight values honor more than fortune. They consider discussing wealth itself dirty not worthy. How would you be able to as such a knight a fortune about wealth?";
+ next;
+ mes "[Lhimetorra]";
+ if(@TEMP == 0) mes "Jokers do not exist in one form. They will aim for your money in several different ways.";
+ if(@TEMP == 1) mes "There must be great fortune in that direction.";
+ if(@TEMP == 2) mes "The knight says that a new road of life will open once you look away from fortune.";
+ next;
+ mes "[Lhimetorra]";
+ mes "Most people are curious about money.";
+ mes "It is a very humanly and common curiosity. Cards are very stingy about fortunes regarding wealth.";
+ next;
+ mes "[Lhimetorra]";
+ mes "Therefore, getting a fortune like this is considered being lucky. Use this fortune to prosper.";
+ close;
+ L_AskFuture:
+ mes "[Lhimetorra]";
+ mes "Future... the card that sees the future is beginning to speak...... Prepare yourself...";
+ next;
+ set @TEMP,0;
+ mes "[Lhimetorra]";
+ if(@TEMP == 0) mes "Jack says you may be frustrated in the future.";
+ if(@TEMP == 0) mes "He says to overcome the frustration, it is necessary to think of happy thoughts.";
+ next;
+ mes "[Lhimetorra]";
+ if(@TEMP == 0) mes "Meaning your future will become a battle between happiness and frustration...";
+ next;
+ mes "[Lhimetorra]";
+ mes "Speaking of the future is as dangerous act.";
+ mes "Humans may face disaster if speaking of the future carelessly. That's why we ask cards about the future.";
+ next;
+ mes "[Lhimetorra]";
+ mes "Your fortune is a rather good one. There are some in this world who get more horrible fortunes.";
+ mes "Use this fortune as a support in your life. Ok?";
+ close;
+ L_AskDangers:
+ mes "[Lhimetorra]";
+ mes "Someone that knows of the dangers you do not, will warn you in the";
+ mes "form of cards... so listen";
+ mes "carefully-!";
+ next;
+ set @TEMP,0;
+ mes "[Lhimetorra]";
+ if(@TEMP == 0) mes "The pirate is warning you of your beauty. Don't show off your beauty too much. Pirates are very jealous of appearance, as well.";
+ next;
+ mes "[Lhimetorra]";
+ if(@TEMP == 0) mes "A warning is always a useful fortune. You can never lose anything.";
+ next;
+ mes "[Lhimetorra]";
+ mes "I hope you will able to avoid misfortune with this warning.";
+ mes "Then...";
+ close;
+ L_No:
+ mes "[Lhimetorra]";
+ mes "Ok then. Young adventurer, may luck be with you.";
+ close;
+ L_Info:
+ mes "[Lhimetorra]";
+ mes "Monster card reading uses the cards of familiar monsters around us to get advice about our future, love and many other things.";
+ mes "A fortuneteller like me takes a question from a person and asks the card. The card answers and I tell the person.";
+ next;
+ mes "[Lhimetorra]";
+ mes "You should get no more than one card reading a day, and don't get one often since the cards can get angry or confused.";
+ mes "Also, it can have a bad influence on your life, too!";
+ next;
+ mes "[Lhimetorra]";
+ mes "And... one more thing.";
+ mes "A card reading is only a";
+ mes "reading... No matter how";
+ mes "extraordinary the result may be,";
+ mes "don't get too caught up with it.";
+ mes "Bear that in mind.";
+ close;
+}
+
+payon_in03.gat,131,7,4 script Hunter 59,{
+ mes "[Hunter]";
+ mes "...Can I help you?";
+ mes "I'm here for official business and am busy at the moment. If you'll excuse me...";
+ close;
+}
diff --git a/npc/cities/prontera.txt b/npc/cities/prontera.txt
new file mode 100644
index 000000000..0e961cef5
--- /dev/null
+++ b/npc/cities/prontera.txt
@@ -0,0 +1,715 @@
+//===== eAthena Script =======================================
+//= Prontera Town
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.5
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Fully working
+//= +AntiNovice exploit fix [Lupus] 1.2 added baby novice check
+//= Spellchecked [massdriller]
+//= 1.4 Optimized. Novices > 20 BaseJob can go to Culvert, too [Lupus]
+//= 1.5 Added a Jawaii related npc [MasterOfMuppets]
+//============================================================
+
+
+
+// Tono ---------------------------------------------------------------
+prontera.gat,54,240,5 script Tono 97,{
+ mes "[Tono]";
+ mes "Did you know the larva of a Creamy is a Fabre.";
+ mes "The pupa stage of a Fabre is simply called Pupa.";
+ mes "As you can imagine, there is another metamorphic monster out in the desert.";
+ next;
+ mes "[Tono]";
+ mes "That's it! It the Peco Peco.";
+ mes "The infant of the Peco Peco is called the Picky";
+ mes "Unlike the colourfull Peco Peco, the Picky is a very cute pink.";
+ close;
+}
+
+// Dairene ----------------------------------------------------------------
+prontera.gat,78,150,3 script Dairenne 90,{
+ mes "[Town girl Dairenne]";
+ mes "(Cough Cough)... Nowadays the streets are too crowded. (Cough Cough)...";
+ mes "Oh..So Dusty...So dirty here... Now I think the Capital City isn't all that good.";
+ next;
+ mes "[Town girl Dairenne]";
+ mes "Hmm... Anyway what is the matter?";
+ next;
+ menu "Talk",-,"Cancel",L_END;
+
+ mes "[Town girl Dairenne]";
+ if(Sex == 1) mes "I'm not sure if your into Girllie Dress Stuff..Hohoho..but...";
+ mes "These days, the most interesting topic around here is beautiful dresses Dyed in various Colours.";
+ next;
+ mes "[Town girl Dairenne]";
+ mes "To enhance your Clothing with those Dazzling Colours, you must use ^0000ffDyestuffs^000000 made in ^0000ffMorroc^000000 city... I hear they will cost you alot of money.";
+ next;
+ mes "[Town girl Dairenne]";
+ mes "Ah... I wish I could wear a Dress like that just once in my life...";
+ close;
+
+ L_END:
+ mes "[Town girl Dairenne]";
+ mes "(Cough)....See you around.";
+ close;
+}
+
+// Merideth --------------------------------------------------------------
+prontera.gat,106,117,6 script Merideth 91,{
+ mes "[Merideth]";
+ mes "The weather was nice on my day off, so my family and I decided to have a picnic.";
+ mes "We chose to go to a somewhat secluded area and were amazed at what we saw.";
+ next;
+ mes "[Merideth]";
+ mes "A HUGE swarm of hornets!! I never saw anything like it! But what was even more surprising was the Queen Bee.";
+ mes "The fact that she could control all of them with such ease....";
+ emotion 23;
+ next;
+ mes "[Merideth]";
+ mes "If only a girl like myself had that much power over guys.... NOW THAT, would be really cool!!";
+ emotion 29;
+ close;
+}
+
+// YuNa ---------------------------------------------------------------------
+prontera.gat,146,204,2 script YuNa 700,{
+ mes "[YuNa]";
+ mes "Odin is the god of wisdom and war. He courageously removed one of his eyes in order to acquire ultimate wisdom. ";
+ next;
+ mes "[YuNa]";
+ mes "The statue in the middle of the water fountain over there is sculpted after the god himself.";
+ mes "I don't know who the sculptor was, which is a pity because.... because.";
+ next;
+ mes "[YuNa]";
+ mes "HE DID IT ALL WRONG!!";
+ emotion 7;
+ next;
+ mes "[YuNa]";
+ mes "The statue is just totally different from the Odin we all know! He insisted that it was his artistic view or something....";
+ next;
+ mes "[YuNa]";
+ mes "Look~ He doesn't have a broad brimmed hat.... he's not even riding Sleipnir.... this is just totally unacceptable~!";
+ emotion 32;
+ close;
+}
+
+// YuPi -----------------------------------------------------------------------
+prontera.gat,160,133,2 script YuPi 102,{
+ mes "[YuPi]";
+ mes "Among monsters of the same species, there are some that are MORE FEROCIOUS than others";
+ mes "If you even TOUCH them by mistake, you'd better prepare yourself for what's gonna happen next.";
+ next;
+ mes "[YuPi]";
+ mes "You can tell the difference between the more AGGRESSIVE ones and the more PASSSIVE ones by their body color.";
+ mes "The more AGGRESSIVE the monster is, the more bright, and flashy it's color is.";
+ close;
+}
+
+// Shuger -------------------------------------------------------------
+prontera.gat,102,287,5 script Shuger 98,{
+ mes "[Shuger]";
+ mes "In the fields outside of town, there are pink monsters called '^FF8888Porings^000000'.";
+ mes "Though they are cute and do not harm people, they are notorious looters. They will absorb any item that they find on the ground.";
+ next;
+ mes "[Shuger]";
+ mes "There are also green coloured ones, called ^008800Poporings^000000'. They are like the pink Porings but are much stronger.";
+ mes "It would be a HUGE MISTAKE for a newbie to attack a Poporing, thinking that it was as weak as a Poring!";
+ close;
+}
+
+// ------------------------------------------------------------------------------------------- Culvert -------------------------------------------------------------------------------\\
+// Culvert Guardian ----------------------------------------------------
+prt_fild05.gat,270,212,5 script Culvert Guardian 105,{
+ if(sewer_prt == 1) goto L_WARP;
+ mes "[Culvert Guardian]";
+ mes "Sorry, but only volunteers for the Culvert Campaign can go inside.";
+ mes "Speak with the ^000077Recruiter^000000 about volunteering. He's located in the ^ff0000Prontera Chivalry^000000.";
+ close;
+
+ L_WARP:
+ mes "[Culvert Guardian]";
+ mes "Here you are. The entrance of the Culvert. Are you sure you want to Go inside?";
+ next;
+ menu "Sure.",-,"Quit.",M_END;
+
+ warp "prt_sewb1.gat",131,247;
+ M_END:
+ close;
+}
+
+// Recruiter -----------------------------------------------------------
+prt_in.gat,88,105,2 script Recruiter 105,{
+ if(sewer_prt == 1) goto L_WARP;
+ mes "[Recruiter]";
+ mes "Let me inform about the official Notice from the Capital Defence Headquarter of Rune-Midgard Kingdom";
+ next;
+ mes "[Recruiter]";
+ mes "We decided to recruit volunteers to deal with the 'issues' that have been plauging our cities' sewers.";
+ next;
+ menu "Volunteer.",M_VOL,"Issues...?",-,"Quit",L_END;
+
+ mes "[Recruiter]";
+ mes "Didn't you hear yet? The Culvert is infested with noxious insects. We found bugs, maggots, and other creatures there.";
+ mes "They've become a huge problem... You've Never heard of this?";
+ emotion 1;
+ next;
+ mes "[Recruiter]";
+ mes "Because of the severity of these 'issues',it is forbidden for the people to use the water supply for the time being.";
+ next;
+ mes "[Recruiter]";
+ mes "Needless to say, the people have been greatly inconvenienced by this. If this were to linger on it would cause great ill will among the people of the Prontera.";
+ next;
+ mes "[Recruiter]";
+ mes "The situation is becoming critical! There is restlessness among the people!!";
+ next;
+ mes "[Recruiter]";
+ mes "Mighty Warrior!! The People NEED YOU!! Let's EXPEL these VILE creatures from our land!!!";
+ emotion 27;
+ next;
+ mes "[Recruiter]";
+ mes "WILL YOU volunteer????";
+ next;
+ menu "Volunteer.",M_VOL,"Quit.",-;
+
+ mes "[Recruiter]";
+ mes "..............";
+ emotion 4;
+ close;
+ M_VOL:
+ mes "[Recruiter]";
+ mes "Very good!!! Your Registration is confirmed. We will try to maintain peace and order in Rune-Midgard Kingdom.";
+ mes "I appreciate your support of the Capital Defence Headquarter. Here are some subsidies....";
+ next;
+ mes "[Recruiter]";
+ mes "3 Red Potions, 1 Milk, and 1 Orange Potion for an emergency.";
+ set sewer_prt,1;
+ getitem 501,3;
+ getitem 519,1;
+ getitem 502,1;
+ next;
+
+ L_WARP:
+ mes "[Recruiter]";
+ mes "Are you ready? I will warp you to the Culvert.";
+ next;
+ warp "prt_fild05.gat",274,208;
+ L_END:
+ close;
+
+}
+
+
+//------------------------------------------------------------------------------------- Prontera Church -------------------------------------------------------------------------------\\
+// Henson ---------------------------------------------------------------
+prt_church.gat,103,71,2 script Benson 120,{
+ mes "[Henson]";
+ mes "Our duty is not only to help others, but to also purify poor souls that have been turned into the Undead.";
+ mes "In order to successfully accomplish our duty, we have to learn special skills and practice them very diligently.";
+ next;
+ mes "[Henson]";
+ mes "Well, what was it you wanted to ask me about?";
+L_MENU:
+ next;
+ menu "About Divine Protection",-, "About Demon Bane",L1, "About Decrease AGI",L2, "About Signum Crisis",L3, "About Pneuma",L4,
+ "About Ruwach",L5, "About Teleport",L6, "End conversation.",L_END;
+
+ mes "[Henson]";
+ mes "If you want to improve your Defence against the Undead, it is a good idea to learn the skill called 'Divine Protection'.";
+ mes "It is the most basic skill you'll need, and it doesn't even have a time limit or anything, anyways....";
+ next;
+ mes "[Henson]";
+ mes "If you raise it to level 3, then a skill called 'Deamon Bane' will be available for you. 'Demon Bane' increases your attack against the Undead.";
+ mes "With 'Divine Protection' as a foundation, several high class skills such as 'Angelus' and 'Blessing' will be available to you.";
+ goto L_MENU;
+ L1:
+ mes "[Henson]";
+ mes "'Demon Bane' improves your attack against the Undead. You need 3 levels of 'Divine Protection' before you can learn Demon Bane.";
+ mes "As which 'Divine Protection', 'Demon Bane' is a passive skill and requires no sp and has no time limit.";
+ next;
+ mes "[Henson]";
+ mes "Also, you have to acquire 3 levels of 'Demon Bane' to use a skill called, 'Signum Crisis', which lowers the Defence of Undead and Dark property monsters.";
+ next;
+ goto L_MENU;
+
+ L2:
+ mes "[Henson]";
+ mes "When you use this skill, the movement speed, attack rate, and evasion rate of a targeted monster will be reduced.";
+ mes "You will need to get 1 level of 'Increase AGI' first, before you can learn 'Decrease AGI.";
+ next;
+ goto L_MENU;
+
+ L3:
+ mes "[Henson]";
+ mes "You can lower the defence of Undead and Dark property monsters with this skill, and the range of attack is very wide.";
+ mes "The success rate, however, is pretty low since it is a very difficult skill to master.";
+ next;
+ mes "[Henson]";
+ mes "Do not be disappointed even if you don't successfully use this skill all the time. You need level 3 'Demon Bane' to acquire this skill.";
+ next;
+ goto L_MENU;
+
+ L4:
+ mes "[Henson]";
+ mes "Once you master 'Warp Portal', you can learn this skill.";
+ next;
+ mes "[Henson]";
+ mes "It generates a barrier that defends you perfectly from long-range attacks, such as archer attacks.";
+ next;
+ goto L_MENU;
+
+ L5:
+ mes "[Henson]";
+ mes "Ruwach allows you to see hidden monsters or players. You also need this skill to learn 'Teleport.";
+ next;
+ goto L_MENU;
+
+ L6:
+ mes "[Henson]";
+ mes "At level 1, it allows you teleport to a random spot on the map you are in. At level2 it allows you to teleport to your last save point.";
+ mes "You must learn Ruwach first in order to learn teleport.";
+ next;
+ goto L_MENU;
+
+ L_END:
+ mes "[Henson]";
+ mes "If you're still not certain about all of this, you are always welcome to speak with me later!";
+ close;
+}
+
+// Garnet --------------------------------------------------------------
+prt_church.gat,103,76,2 script Garnet 67,{
+ mes "[Garnet]";
+ mes "Oh~ you want to find pleasure in helping other people, but you don't know how to do so?";
+ mes "Fortunately we have the abilities to help and support other people.";
+ next;
+ mes "[Garnet]";
+ mes "We can heal people who are in poor health or awaken the potential hidden deep within others.";
+ next;
+ mes "[Garnet]";
+ mes "Feel free to ask me anything. Although the priest scolds me for my lack of skill, I can assure you I have a VERY STRONG grasp of the theories.";
+ next;
+L_MENU:
+ menu "About Heal",-,"About Cure",L1,"About Increase AGI",L2,"About Angelus",L3,"Abour Blessing",L4,"About Warp Portal",L5,"End conversation",L_END;
+
+ mes "[Garnet]";
+ mes "You can recover either your own, or someone else's HP with 'Heal'.";
+ next;
+ mes "[Garnet]";
+ mes "If you learned 'Heal' while you were an Acolyte, then as priest you can create an HP recovering area with the skill 'Sanctuary'.";
+ next;
+ mes "[Garnet]";
+ mes "Here is a little secret... if you use 'Heal' on Undead monsters, it will actually inflict damage, not help them.";
+ mes "Ah~ Don't forget to hold the 'Shift' key when you use it though... Ahem~ shhhhh~~!";
+ next;
+ goto L_MENU;
+
+ L1:
+ mes "[Garnet]";
+ mes "'Cure' can alleviate any abnormal status effects you may have. You have to have level 2 'Heal' in order to learn Cure though.";
+ next;
+ goto L_MENU;
+
+ L2:
+ mes "[Garnet]";
+ mes "'Increase AGI' increases your movement speed, attack rate, and evade rate. You can learn it after you've learned 3 levels of 'Heal'.";
+ next;
+ goto L_MENU;
+
+ L3:
+ mes "[Garnet]";
+ mes "You can use 'Angelus' in order to increase the Defence of either yourself or your party members.";
+ mes "Now remember, you can only use it on members IN YOUR party.";
+ next;
+ mes "[Garnet]";
+ mes "Level 3 'Divine Protection' is needed to learn this skill.";
+ next;
+ mes "[Garnet]";
+ mes "If you practice 'Angelus' you'll be able to use 'Kyrie Eleison' as a Priest, which allows you to evade attacks for a short period of time.";
+ next;
+ goto L_MENU;
+
+ L4:
+ mes "[Garnet]";
+ mes "'Blessing' temporarily increases STR, DEX and INT. I am sure this skill will be of great advantage for your friends.";
+ next;
+ mes "[Garnet]";
+ mes "'Blessing', like 'Angelus', also requires you know 'Divine Protection'. But you'll need to have 5 levels of 'Divine Protection' to learn it.";
+ next;
+ goto L_MENU;
+
+ L5:
+ mes "[Garnet]";
+ mes "In order to open a 'Warp Portal' you first need to know how to 'Teleport', and in order to 'Teleport, you need 'Ruwach'.";
+ next;
+ mes "[Garnet]";
+ mes "You can remember up to 4 warp points depending on the levels of 'Warp Portal' you've learned.";
+ mes "But at least one place must be saved with a Kafra employee.";
+ next;
+ mes "[Garnet]";
+ mes "It's a bit of a hassle, but you have to physically be at the place you want to warp to, and save the position first.";
+ mes "This can be very dangerous in some areas so be quick~. Go in, save, and 'Teleport' out!";
+ next;
+ mes "[Garnet]";
+ mes "Also, 'Warp Portal' consumes a huge amount of energy, so you MUST use a 'Blue Gemstone' as a catalyst.";
+ next;
+ mes "[Garnet]";
+ mes "One more thing, you cannot Warp to the inside of dungeons so don't even waste your time trying to.";
+ next;
+ goto L_MENU;
+
+ L_END:
+ mes "[Garnet]";
+ mes "Hehehe, hope I wasn't showing off too much. Well, be Happy in whatever you do~~!";
+ close;
+}
+
+// ----------------------------------------------------------------------------------------------- PUB -----------------------------------------------------------------------------------------------------\\
+// Sir Michael (West End Pub)
+prt_in.gat,26,30,1 script Sir Michael 54,{
+ mes "[Sir Michael]";
+ mes "I dunno if you'll ever believe me, but I saw the WEIRDEST thing down in the ^5555FFCulvert Sewers^000000.";
+ mes "I've been training in the 3rd level of the sewers for a long time now, so there's nothing about that area that I don't know.";
+ next;
+ mes "[Sir Michael]";
+ mes "The 4th level is a different story however, and I must have ventured there when it happened.......";
+ next;
+ mes "[Sir Michael]";
+ mes "I saw a GIAGANTIC, SHIMMERING, ^FF5555GOLDEN THIEF BUG^000000.";
+ emotion 0;
+ next;
+ mes "[Sir Michael]";
+ mes "I all my years I've never seen a thief bug as LARGE or as SHINY!!! What an amazing sight!";
+ close;
+}
+
+//Shevild ----------------------------------------------------
+prt_in.gat,173,24,2 script Shevild 85,{
+ mes "[Shevild]";
+ mes "Hey~Hey~ Come on over and have a drink, man. I'll tell you some exciting stories.";
+ mes "Do not judge me by the way I look... I've been everywhere you can imagine around Prontera.";
+ mes "I've been to places packed with monsters, but they also have the greatest view.";
+ next;
+ menu "Where can I find those places?",-,"Never mind",L_END;
+
+ mes "[Shevild]";
+ mes "In spite of how I look, I'm a all around-player~~!!!";
+ mes "I go hunting, I carry weapons and stuff... and I deliver this and that...";
+ mes "Some people ask, 'isn't that a job for an errand boy?....'";
+ next;
+ mes "[Shevild]";
+ mes "But personally I am very proud of myself and of what I'm doing. You should know how harsh the world can be, right?";
+ mes "But for me, nothing stands in the way of me accomplishing a job ~Ahem!";
+ next;
+ mes "[Shevild]";
+ mes "Anyways, thanks to my career, I've been able to visit many interesting places where nobody has ever visited before...";
+ mes "Oh~ that's the true charm of my job...";
+ next;
+ mes "[Shevild]";
+ mes "Hm... Now... I'm suddenly reminded of a mysterious dungeon and a dangerous forest....";
+ emotion 20;
+ next;
+ L_MENU:
+ menu "The mysterious Dungeon?",-,"The dangerous forest?",M_L01,"End conversation",M_END0;
+
+ mes "[Shevild]";
+ mes "Hm... yeah... yeah... a while ago I followed some hunters to a very mysterious dungeon to the north of Prontera.";
+ next;
+ mes "[Shevild]";
+ mes "Rumour says that the monsters are very tough there, but because of the high risk that you take, you get rewarded with valuable monster drops.";
+ mes "So I followed some highly skilled hunters there, but as soon as we stepped into the dungeon, we became confused by the maze of tunnels...";
+ next;
+ mes "[Shevild]";
+ mes "No matter which direction you moved it seemed like you were ending up where you started.";
+ mes "So we just got out empty-handed. I really want to explore that dungeon again sometime.";
+ next;
+ menu "How can I get there?",-,"End conversation",M_END0;
+
+ mes "[Shevild]";
+ mes "Huh? What? haven't you even wandered around just outside of Prontera yet, man?";
+ mes "Alright, alright. I'll tell you. If you go north from the castle of Prontera, the dungeon is at the edge of the north-west side of the forest.";
+ emotion 1;
+ next;
+ goto L_MENU;
+
+ M_L01:
+ mes "[Shevild]";
+ mes "There is a splendid ruin to the north-east of Prontera. I went there a while ago to deliver something to a priest there.";
+ mes "Before you get to the ruins, there is a forest full of monkeys called ^FF4444Yoyos^000000.";
+ next;
+ mes "You have to be very cautious. As once as you drop something on the ground, a Yoyo jumps out of nowhere and snatches it.";
+ next;
+ menu "How can I get there?",-,"End conversation",M_END0;
+
+ mes "[Shevild]";
+ mes "The directions might sound a little confusing, but it really isn't, actually. Go out to the north and keep going to the east. Then you will find it.";
+ next;
+ goto L_MENU;
+
+ M_END0:
+ mes "[Shevild]";
+ mes "Okay... Anyways watch out while you're travelling out here ~ pal!!";
+ close;
+ L_END:
+ mes "[Shevild]";
+ mes "Sure... if you wanna hear more, come back here any time. No problem~~";
+ close;
+}
+
+// Bartender ---------------------------------------------------------
+prt_in.gat,181,21,2 script Bartender 61,{
+ mes "[Bartender]";
+ mes "Phew~ more and more people a crawling in these days.";
+ mes "I am getting more and more tired everyday, though business has never been better...";
+ mes "To tell you the truth, it's getting hard to get the right ingredients for my special dishes.";
+ next;
+ mes "[Bartender]";
+ mes "As you probably know, recently there have many more monsters appearing outside of town. I don't dare step outside of this town any more.";
+ mes "Think about it. How can I possibly make my Ultra Nice Super Special dishes with just regular ingredients?";
+ next;
+ mes "[Bartender]";
+ mes "I don't just use any ingredients from the market you know. I use ingredients that come directly from monsters slain by Super heavy level hunters I personally hired.";
+ mes "And they are EXTREMELY FRESH, I might add.";
+ mes "But it's getting very hard to get enough of what I need even from them";
+ next;
+ mes "[Bartender]";
+ mes "If things don't change... my special menu of 'Sour Crunches' and 'Tasty Yum-Yum' will disappear from people's memories, sob... sob...";
+ emotion 28;
+ next;
+L_MENU:
+ menu "'Sour Crunches'?",-,"'Tasty Yum-Yum?'",L1,"Better let him be....",L_END;
+
+ mes "[Bartender]";
+ mes "Special Ant is the essential ingredient in making Sour Crunches. It can be found in Ant Hell on the way to the desert city of Morocc.";
+ mes "The problem is that the number of ants grows exponentially and they also get very hostile. Most hunters don't even think about going near there.";
+ next;
+ mes "[Bartender]";
+ mes "I can already see the ill fate that awaits my beloved pub... (Sighs~~)";
+ next;
+ goto L_MENU;
+ L1:
+ mes "[Bartender]";
+ mes "It is a very tasty dish prepared with the legs of grasshopper creatures, called Rockers, that can be caught in the area past the forest to the west. ITS tHE BEST dish we have!";
+ mes "Those grasshoppers have became very hostile and, moreover, an enormous number of bees have appeared out of nowhere in that area. It's almost impossible to get them.";
+ next;
+ mes "[Bartender]";
+ mes "I can already see the ill fate that awaits my beloved pub... (Sighs~~)";
+ next;
+ goto L_MENU;
+ L_END:
+ mes "[Bartender]";
+ mes "(Sighs..) Anyways, be careful and take care of yourself~.";
+ close;
+}
+
+// Marvin -----------------------------------------------------------
+prt_in.gat,177,18,2 script Marvin 80,{
+ mes "[Marvin]";
+ mes "....Usually skills are mastered at level 10. So some people get nervous about selecting which one they should learn.";
+ next;
+ mes "[Marvin]";
+ mes "'Hm... if I learn this, I won't be able to learn that...' or 'Uh-Huh? With that skill, will I have enough points to master this skill?' Like this...";
+ mes "BUT every rule has an EXCEPTION~~.";
+ mes "Not all skills require 10 skill points to be mastered. Ta-da~~... Ahem...";
+ next;
+ mes "[Marvin]";
+ mes "you can master some skills when at level 5. Even better, some skills only require 1 or 2 levels.";
+ mes "How pitiful would it be if you didn't learn a tremendously useful skill only because you were afraid of using up your skill points.";
+ next;
+ mes "[Marvin]";
+ mes "But don't just willy nilly and use up all your skill points on every skill either. Collect some information about skills and plan ahead.";
+ mes "That way, you can use your valuable skill points very wisely without wasting any.";
+ close;
+}
+
+// Tensue -----------------------------------------------------
+prt_in.gat,177,20,2 script TenSue 97,{
+ mes "[TenSue]";
+ set @TEMP,rand(3);
+ if(@TEMP == 1) goto L_TMP1;
+ if(@TEMP == 0) goto L_TMP0;
+
+ mes "What? You're sick and tired of killing monsters in fields and dungeons?";
+ mes "Hahaha, it seems like you are very confident in your training. If you think so...";
+ mes "Why don't you visit Izlude, the satellite of Prontera.";
+ emotion 1;
+ next;
+ mes "[TenSue]";
+ mes "Cool Event Corp. has opened up the arena called Time Limit Fight and Battle Ordeal, to full fill the young people's thirst for more excitement...";
+ mes "Well... Of course you will have to pay a small fee to participate...";
+ next;
+ mes "[TenSue]";
+ mes "Are you gonna give it a shot?";
+ close;
+ L_TMP1:
+ mes "One time I walked all the way to a place called 'Al de Barman. It was a very dangerous trip with all those monsters...";
+ mes "Some of monsters just kept following and attacking me although I did nothing to harm them.";
+ next;
+ mes "[TenSue]";
+ mes "Well.. Nonetheless, the scenic views on the way were so magnificent that I truly believe it was worth trying...";
+ mes "A canal surrounding 'Al de Baran' makes the city more distinguishably beautiful.";
+ next;
+ mes "[TenSue]";
+ mes "Also the Kafra Main Office is located there so you can expect great services. Haha. Don't forget to visit there once.";
+ close;
+ L_TMP0:
+ mes "Prontera is presently under the reign of Tristran the 3rd. Everything we have now is only available thanks to his Majesty.";
+ next;
+ mes "[TenSue]";
+ mes "But you know those outsiders at the corner of Prontera? Why do we have to accept them all the time...I really think that is NOT necessary at all.";
+ mes "His Majesty ...well...is waaaaaaay to generous..";
+ close;
+}
+
+
+//----------------------------------------------- Library -----------------------------------------------------\\
+
+// Library Girl Ellen ----------------------------------------------------
+prt_in.gat,175,50,2 script Librarian Ellen 71,{
+ if(@libtmp)goto L_1;
+ mes "[Librarian Ellen]";
+ mes "Welcome. You can find books about monsters, organized by their properties here. There are also books about Merchant and Blacksmith skills.";
+ next;
+ mes "[Librarian Ellen]";
+ mes "Ah~! The library next door also has many interesting reading materials so please visit there too.";
+ set @libtmp,1;
+ close;
+L_1:
+ mes "[Librarian Ellen]";
+ mes "What you think is what you get. From the seas to the air of the great";
+ mes "One who hears the bell of chime, he trades what life is left of time";
+ next;
+ mes "[Librarian Ellen]";
+ mes "You need the egg of blobs to seek the truth, the truth you seek is near it comes.";
+ mes "What you want is not far, but to get this far you have seek in par.";
+ set @libtmp,0;
+ close;
+
+}
+
+// Gurator Guiss -------------------------------------------------------
+prt_in.gat,178,92,2 script Curator Guiss 57,{
+ mes "[Curator Guiss]";
+ mes "Our library keeps records of monsters in various dungeons scattered around Rune-Midgard.";
+ mes "They are categorized according to each dungeon where the specific monster resides. Needless to say, every record is very easily accessible.";
+ next;
+ mes "[Curator Guiss]";
+ mes "There are also must-read books for adventures on the top shelves. Please take your time and read those.";
+ next;
+ mes "[Curator Guiss]";
+ mes "The library next door has organized records of monsters according to their properties.";
+ mes "If you are interested, you should stop by there, too.";
+ close;
+}
+
+// Drunken man in the inn -----------------------------------------------
+prt_in.gat,173,13,4 script Customer#Hans Solo 86,{
+
+ set @number_drink,0;
+ set @number_place,0;
+ mes "[Hans Solo]";
+ mes "UhOh... I'm drunk. hiccups!";
+ mes "Hey, you. You look lonely!";
+ next;
+ mes "[Hans Solo]";
+ mes "You must be angry seeing others busy getting marry too? You're upset, aren't you?";
+ next;
+ mes "[Hans Solo]";
+ mes "You must be upset with the couples who ignore everyone and drown themselves in happiness,";
+ mes "aren't you?";
+ next;
+ mes "[Hans Solo]";
+ mes "I wonder since when everybody starts praising only themselves?";
+ mes "It used to be peaceful before that...";
+ next;
+ mes "[Hans Solo]";
+ mes "Anyway, it's ok even if you're not married, friend!!";
+ mes "Come, I'll buy you a drink.";
+ next;
+ mes "- How do I become his friend all of a sudden?! -";
+ mes "- Anyway, a free drink won't do any harm.... -";
+ next;
+ mes "- Gulu Gulu GuLu -";
+ percentheal -10,0;
+ next;
+ mes "[Hans Solo]";
+ mes "It's good, isn't it? I know a great place to hang out.";
+ mes "Do you want to tag along?";
+ next;
+ Loopback:
+ menu "...Give me another drink",-,"........What place is that?",s_What;
+
+ mes "[Hans Solo]";
+ mes "Well then, another drink it is.";
+ mes "Hey,BaZooKa...let's have a drink!";
+ next;
+ mes "[Hans Solo]";
+ mes "Cheers to the dateless adventurers!";
+ next;
+ mes "- Gulu Gulu GuLu -";
+ percentheal -10,0;
+ next;
+ set @number_drink,@number_drink + 1;
+ if (@number_drink == 5)goto s_Five;
+ goto s_While;
+s_What:
+ mes "[Hans Solo]";
+ mes "Eat and drink as much as you like!";
+ mes "Still don't have enough!";
+ mes "Come, have more!";
+ next;
+ mes "[Hans Solo]";
+ mes "Cheers for the dateless adventurers!";
+ next;
+ mes "- Gulu Gulu GuLu -";
+ percentheal -10,0;
+ next;
+ set @number_place,@number_place + 1;
+ goto s_While;
+
+s_Five:
+ mes "[Hans Solo]";
+ mes "UhOh... Are you alright?";
+ mes "Come, sing you name here.";
+ mes "I'll take you to a wonderful place!";
+ next;
+ menu "Sign it",-,"Don't sign it",s_Dont;
+
+ mes "[Hans Solo]";
+ mes "Good! Let me send you to that place now...Hehe..";
+ percentheal 100,0;
+ close2;
+ warp "jawaii_in.gat",44,124;
+ end;
+
+s_Dont:
+ mes "[Hans Solo]";
+ mes "....Hey!";
+ close;
+s_While:
+ if (@number_drink >= 4 && @number_place >= 1 || @number_place >= 4)
+{
+ mes "[Hans Solo]";
+ mes "Hiccups... So you finally decide to go there?";
+ mes "Come... Sign your name here,";
+ mes "I'll take you to a great place!";
+ next;
+ menu "Sign it",-,"Don't sign it",s_Dont2;
+ mes "[Hans Solo]";
+ mes "Good! I'll send you there now...Hehe..";
+ mes "Grumble about your pityful life while you can...Hehe...";
+ percentheal 100,0;
+ warp "jawaii_in.gat",44,124;
+ close;
+s_Dont2:
+ mes "[Hans Solo]";
+ mes "....Hey!";
+ close;
+}
+goto Loopback;
+} \ No newline at end of file
diff --git a/npc/cities/umbala.txt b/npc/cities/umbala.txt
new file mode 100644
index 000000000..4fae2ff56
--- /dev/null
+++ b/npc/cities/umbala.txt
@@ -0,0 +1,1677 @@
+//===== eAthena script =======================================
+//= Umbala Town script
+//===== By: ==================================================
+//= jAthena (1.0) Fusion Dev Team (1.1) Muad Dib (1.2) Darkchild (1.3)
+//===== Current Version: =====================================
+//= 1.7
+//===== Compatible With: =====================================
+//= Any eAthena Version; RO Episode XX
+//===== Description: =========================================
+//= Umbala Town Npcs
+//==================================================
+//Phase1.Learning the Language
+//1 (Elder)First discussion
+//2 (Elder)Asking about learning the language
+//3 (Elder)Final step (understanding NPC speech)
+//------------------------------------------
+//Phase2.Create Essence/Dismantle Stone
+//4 (Shaman)Get permission to speak with her from the chief
+//5 (Elder)Ask about conditions needed to be fulfilled to get permission
+//6 (Elder)Get permission
+//7 (Shaman)Use the shaman to create essences and dismantle elemental stones.
+//===== Additional Comments: =================================
+//= 1.0 - Done By jAthena (dunno Who)
+//= 1.1 - Translated by Fusion Dev Team
+//= 1.2 - Fixed Something by Muad Dib
+//= 1.3 - Fixed up For eA by Darkchild
+//= 1.4 - Fixed some wrong item names [Lupus]
+//= 1.5 – Spell Checked [massdriller]
+//= 1.6 - Fixed item names, added a chance to get to Niflheim via Jumping Bungy Area [Lupus]
+//= 1.7 Fixed bugs and exploits [Lupus]
+//============================================================
+
+
+//========================================================
+// == NPCs on the road to Umbala ==
+//========================================================
+//Note that On_Emotion is NOT an npc command but just an trigger for DoNpcEvent!!
+comodo.gat,170,137,7 script Reid 84,{
+ close;
+On_Emotion20:
+ emotion 20;
+ end;
+On_Emotion29:
+ emotion 29;
+ end;
+}
+
+//========================================================
+comodo.gat,171,137,1 script Heath 92,{
+ mes "[Reid]";
+ mes "There's a huuuuuuuge treasure hidden";
+ mes "somewhere around here!";
+ next;
+ mes "[Heath]";
+ mes "If only we could get our hands on it,";
+ mes "the people who call us the 'Dunce Duo'";
+ mes "will certainly have to eat their words!!";
+ next;
+ mes "[Reid]";
+ mes "We'll keep looking as long as it takes!";
+ next;
+ donpcevent "Reid::On_Emotion29";
+ emotion 29;
+ mes "[Heath]";
+ mes "Hey, Reid, come on!";
+ next;
+ mes "[Reid]";
+ mes "............";
+ next;
+ donpcevent "Reid::On_Emotion29";
+ emotion 20;
+ mes "[Reid]";
+ mes "Okay, okay...I'm coming.";
+ next;
+ menu "Hey, wait! Treasure?",Lwhat_1;
+
+ Lwhat_1:
+ mes "[Reid]";
+ mes "You mean you've never heard of it?!";
+ next;
+ emotion 29;
+ mes "[Heath]";
+ mes "Oh, you want to hear the story of the";
+ mes "treasure, huh? Well, how important";
+ mes "is it to you, really?";
+ next;
+ mes "[Reid and Heath]";
+ donpcevent "Reid::On_Emotion29";
+ emotion 29;
+ mes "Important enough for you to";
+ mes "cough up 1000 zeny?!";
+ next;
+ menu "Alright. I'll be a sucker today",Lzeny_1,"Dream on, Dunce Duo!",Lzeny_2;
+
+ Lzeny_1:
+ if(Zeny < 1000) goto Lzeny_no;
+ set Zeny,Zeny-1000;
+ mes "[Heath]";
+ mes "Alright, my 'friend'. listen up.";
+ next;
+ mes "[Reid]";
+ mes "A famous adventurer named Niles";
+ mes "returned to this village from his";
+ mes "adventures abroad.";
+ mes "He was dragging...";
+ next;
+ mes "[Heath]";
+ mes "...(Whisperwhisperwhisper)";
+ mes "a really big box along behind him!!";
+ next;
+ mes "[Reid]";
+ mes "He returned during the dead of night,";
+ mes "hoping no one would see his cargo.";
+ next;
+ mes "[Heath]";
+ mes "There has to be something";
+ mes "valuable in that box!";
+ mes "There's no other explanation!";
+ next;
+ mes "[Reid]";
+ mes "I'm on a search for that box!";
+ mes "I'm going to find it!";
+ next;
+ emotion 20;
+ mes "[Heath]";
+ mes "There's just one problem.";
+ mes "We don't have the slightest";
+ mes "idea where Niles put the treasure.";
+ next;
+ mes "[Reid]";
+ mes "Niles is making us look foolish!";
+ next;
+ menu "Where is Niles now?",Lwhere_1;
+
+ Lwhere_1:
+ mes "[Reid]";
+ mes "He's on the north side of the village.";
+ next;
+ mes "[Heath]";
+ mes "I hope this information was worth";
+ mes "it.";
+ next;
+ mes "[Reid and Heath]";
+ mes "It was certainly worth it to us!";
+ mes "Heh heh heh!";
+ close;
+
+ Lzeny_no:
+ mes "[Reid]";
+ mes "Hey! Come back when you're not dirt";
+ mes "poor! Gotta spend money to make money, right?";
+ close;
+
+ Lzeny_2:
+ donpcevent "Reid::On_Emotion20";
+ emotion 20;
+ mes "[Heath]";
+ mes "Whaaaaat?! I swear that our marks";
+ mes "aren't as gullible as they used to be.";
+ mes "How are we supposed to make an honest zeny?!";
+ close;
+}
+
+//========================================================
+cmd_in01.gat,175,120,3 script Iria 69,{
+ mes "[Iria]";
+ mes "That guy over at the far table";
+ mes "in the corner is the adventurer";
+ mes "Niles. He seems to have a wealth";
+ mes "of stories about his many adventures.";
+ next;
+ mes "[Iria]";
+ mes "He's always so boisterous, saying things";
+ mes "like 'Will your journey lead you to fame,";
+ mes "or to certain death?!'";
+ next;
+ mes "[Iria]";
+ mes "Nevertheless, anyone who talks to Niles";
+ mes "for any length of time seems to be invariably";
+ mes "inspired by his passion.";
+ close;
+}
+
+//========================================================
+cmd_in01.gat,164,115,1 script Niles 731,{
+ mes "[Niles]";
+ mes "Oh?";
+ mes "Another fool come to ask about";
+ mes "that idiotic rumour circulating";
+ mes "around town?";
+ next;
+ mes "[Niles]";
+ mes "The story about me finding a great";
+ mes "treasure is a big misunderstanding.";
+ mes "In reality, it's just my collection";
+ mes "of modest finds.";
+ next;
+ mes "[Niles]";
+ mes "That said, I think I have a lead";
+ mes "on a potentially lucrative ";
+ mes "item just waiting to be found.";
+ next;
+ mes "[Niles]";
+ mes "Don't you think that cave";
+ mes "near Comodo village is interesting?";
+ next;
+ mes "[Niles]";
+ mes "I think a large jewel may be";
+ mes "hidden within its confines.";
+ next;
+ mes "[Niles]";
+ mes "Until recently, we didn't know how to";
+ mes "reach the cave.";
+ next;
+ mes "[Niles]";
+ mes ".............";
+ next;
+ mes "[Niles]";
+ mes ".......Hm?";
+ next;
+ mes "[Niles]";
+ mes "Is your mind set on going there?!";
+ mes "Can you imagine what you'll find?!";
+ next;
+ mes "[Niles]";
+ mes "Doesn't just talking about it make";
+ mes "you want to go on an adventure?!!!";
+ next;
+ mes "[Niles]";
+ mes "Just break down any barrier in your";
+ mes "path and trust your primal instincts";
+ mes "to guide you to your goal!";
+ next;
+ mes "[Niles]";
+ mes "Go! Quickly!";
+ next;
+ mes "[Niles]";
+ mes "Will you find the path to fame on";
+ mes "your journey, or the path to certain";
+ mes "death?! Hahahaha!!!!";
+ close;
+}
+
+
+//==================================================================
+// Umbala NPCs and Quests
+//==================================================================
+
+//==================================================================
+//Trade money for meat
+umbala.gat,70,106,3 script Utan Child#1 781,{
+if(event_umbala < 3) goto LumWord;
+ mes "[???]";
+ mes "Hello! I'm a member of";
+ mes "the Utan tribe.";
+ next;
+ mes "[???]";
+ mes "My name is Hatan! Nice to";
+ mes "meet you.";
+ emotion 18;
+ next;
+ mes "[Hatan]";
+ mes "...I can't play now, because";
+ mes "a recent thunderstorm caused";
+ mes "the roof of our house to become";
+ mes "cracked...";
+ emotion 28;
+ next;
+ mes "[Hatan]";
+ mes "...!";
+ next;
+ mes "[Hatan]";
+ mes "Hey! You guys seem pretty well";
+ mes "off. Do you think you could";
+ mes "give us a little zeny";
+ mes "so we can fix the crack?";
+ mes "Please!";
+ emotion 28;
+ next;
+ menu "Nod",-,"Shake Head",Lend2;
+
+ if(Zeny < 1000) goto LError2;
+ mes "[Hatan]";
+ mes "Yay!!";
+ mes "You're the best!!";
+ set Zeny,Zeny-1000;
+ getitem 517,1;//Items: Meat,
+ emotion 19;
+ next;
+ mes "[Hatan]";
+ mes "Please take this as a token of my gratitude.";
+ emotion 18;
+ close;
+
+ LError2:
+ mes "[Hatan]";
+ mes "Well, maybe I underestimated your";
+ mes "wealth, but you shouldn't lie...";
+ emotion 32;
+ close;
+ Lend2:
+ mes "[Hatan]";
+ mes "...Awwwww.";
+ emotion 28;
+ close;
+
+LumWord:
+ mes "[???]";
+ mes "Umba!";
+ mes "Umbaluwababawamuba.";
+ next;
+ mes "[???]";
+ mes "Umba! Umbaumba!";
+ mes "Umbabama Hatan baba.";
+ emotion 18;
+ next;
+ mes "[Hatan]";
+ mes "...Umba, Umbaumbaumba.";
+ mes "Umbaumbaumbababa.";
+ mes "Umbabawaumbaumbaba.";
+ mes "Umbaumba.";
+ mes "...Umbaumbamabababumba.";
+ emotion 28;
+ next;
+ mes "[Hatan]";
+ mes "...!";
+ next;
+ mes "[Hatan]";
+ mes "Umba!";
+ mes "Umbaumbaumbababa.";
+ mes "Umbababaumbawabaumba!";
+ mes "Umbaumbaumbababa.";
+ mes "wamfuba! Umba!";
+ emotion 28;
+ next;
+ menu "Nod",-,"Shake Head",Lend;
+
+ if(Zeny < 1000) goto LError;
+ mes "[Hatan]";
+ mes "Umbaumba!!";
+ mes "Um!-babaumba-baumba-.";
+ mes "Umba-umba-Umbabawamamaba!";
+ set Zeny,Zeny-1000;
+ getitem 517,1;//Items: Meat,
+ emotion 19;
+ next;
+ mes "[Hatan]";
+ mes "Umbaumba....";
+ emotion 18;
+ close;
+
+ LError:
+ mes "[Hatan]";
+ mes "Umba-Umbana!";
+ emotion 32;
+ close;
+ Lend:
+ mes "[Hatan]";
+ mes "....Umba....";
+ emotion 28;
+ close;
+}
+
+//==================================================================
+//Trade Meat for Clover, ???, and Soft Fur
+umbala.gat,59,243,5 script Utan Child#4 787,{
+if(event_umbala < 3) goto LumWord;
+ mes "[Kotan]";
+ mes ".....";
+ mes ".....";
+ mes "...I want meat.";
+ mes "...Gimme meat!";
+ next;
+ menu "Sure",-,"No way!",L2;
+ if(countitem(517) < 1) goto LError;//Items: Meat,
+ delitem 517,1;//Items: Meat,
+ mes "[Kotan]";
+ mes "Hey, thanks!";
+ mes "Take these!";
+ emotion 10;
+ getitem 909,2;//Items: Jellopy,
+ getitem 914,2;//Items: Fluff,
+ getitem 705,2;//Items: Clover,
+ close;
+ L2:
+ mes "[Kotan]";
+ mes "......";
+ mes "...I'm hungry!";
+ mes "...Gimme meat!";
+ emotion 28;
+ close;
+LError:
+ mes "[Kotan]";
+ mes "Hey! You said you have";
+ mes "meat! So you were lying?";
+ mes "I hate you!";
+ emotion 6;
+ close;
+LumWord:
+ mes "[???]";
+ mes "....";
+ mes "....";
+ mes "...Umbaba!";
+ mes "...Famba!";
+ emotion 11;
+ next;
+ menu "Umba",-,"Umbabu",Lu2;
+ if(countitem(517) < 1) goto LuError;//Items: Meat,
+ delitem 517,1;//Items: Meat,
+ mes "[???]";
+ mes "Umbaumbaumbababa.";
+ mes "Umbababauma.";
+ emotion 10;
+ getitem 909,2;//Items: Jellopy,
+ getitem 914,2;//Items: Fluff,
+ getitem 705,2;//Items: Clover,
+ close;
+ Lu2:
+ mes "[???]";
+ mes "....";
+ mes "......Unguba!";
+ mes "....Umbababa.";
+ emotion 28;
+ close;
+LuError:
+ mes "[???]";
+ mes "Umbawamufumabababa!";
+ mes "Umbabababaumbaumbu!";
+ emotion 6;
+ close;
+}
+
+//==============================================================================
+//Skeletal Gate
+//==============================================================================
+umbala.gat,221,193,1 script #Skeletal Gate 111,{
+ if(event_umbala==7) goto LwarpNoText;
+ set @ryumon,0;
+ mes "^3355FFThe gate is shaped like a skeleton";
+ mes "You cannot pass this point as the gate is";
+ mes "locked. You hear sounds coming from the";
+ mes "inside.^000000";
+ next;
+ menu "Examine the skeleton",-,"Nothing",Lend;
+ mes "^3355FFWhen you examine the gate";
+ mes "carefully, you notice that there";
+ mes "is a hole about the size of a gemstone";
+ mes "on the left side of the gate about where";
+ mes "the skeleton's left eye should be. There is";
+ mes "a matching hole on the other side.^000000";
+ next;
+ mes "^3355FFWhat you would like to";
+ mes "to do with the left socket?^000000";
+ next;
+ menu "Nothing",-,"Insert a Blue Gemstone",L1_2,"Insert a Yellow Gemstone",L1_3,"Insert a Red Gemstone",L1_4;
+ mes "^3355FFNothing was inserted into the left socket.^000000";
+ next;
+ goto LRight;
+ L1_2:
+ //Blue
+ if(countitem(717) < 1) goto L1_2_e;//Items: Blue Gemstone,
+ mes "^3355FFYou inserted a Blue Gemstone into the";
+ mes "left socket.^000000";
+ next;
+ delitem 717,1;//Items: Blue Gemstone,
+ getitem 717,1;//Items: Blue Gemstone,
+ set @ryumon,1;
+ mes "^3355FFA rolling sound can be heard, and";
+ mes "the gemstone comes out of the skeleton's mouth.^000000";
+ next;
+ goto LRight;
+ L1_3:
+ //Yellow
+ if(countitem(715) < 1) goto L1_3_e;//Items: Yellow Gemstone,
+ mes "^3355FFYou inserted a Yellow Gemstone into the";
+ mes "left socket.^000000";
+ next;
+ delitem 715,1;//Items: Yellow Gemstone,
+ getitem 715,1;//Items: Yellow Gemstone,
+ set @ryumon,2;
+ mes "^3355FFA rolling sound can be heard, and";
+ mes "the gemstone comes out of the skeleton's mouth.^000000";
+ next;
+ goto LRight;
+ L1_4:
+ //Red
+ if(countitem(716) < 1) goto L1_4_e;//Items: Red Gemstone,
+ mes "^3355FFYou inserted a Red Gemstone into the";
+ mes "left socket.^000000";
+ next;
+ delitem 716,1;//Items: Red Gemstone,
+ getitem 716,1;//Items: Red Gemstone,
+ set @ryumon,3;
+ mes "^3355FFA rolling sound can be heard, and";
+ mes "the gemstone comes out of the skeleton's mouth.^000000";
+ next;
+ goto LRight;
+ L1_2_e:
+ mes "^3355FFYou don't have a Blue Gemstone.";
+ goto L1_e;
+ L1_3_e:
+ mes "^3355FFYou don't have a Yellow Gemstone.";
+ goto L1_e;
+ L1_4_e:
+ mes "^3355FFYou don't have a Red Gemstone.";
+ L1_e:
+ mes "Therefore, nothing was inserted into";
+ mes "the left socket.^000000";
+ next;
+ LRight:
+ mes "^3355FFWhat about the right";
+ mes "socket?^000000";
+ next;
+ menu "Nothing",-,"Insert a Blue Gemstone",L2_2,"Insert a Yellow Gemstone",L2_3,"Insert a Red Gemstone",L2_4;
+ mes "^3355FFNothing was inserted into the right socket.^000000";
+ next;
+ goto Lfin;
+ L2_2:
+ //Blue
+ if(countitem(717) < 1) goto L2_2_e;//Items: Blue Gemstone,
+ mes "^3355FFYou inserted a Blue Gemstone into the";
+ mes "left socket.^000000";
+ next;
+ delitem 717,1;//Items: Blue Gemstone,
+ getitem 717,1;//Items: Blue Gemstone,
+ set @ryumon,@ryumon+10;
+ mes "^3355FFA rolling sound can be heard, and";
+ mes "the gemstone comes out of the skeleton's mouth.^000000";
+ next;
+ goto Lfin;
+ L2_3:
+ //Yellow
+ if(countitem(715) < 1) goto L2_3_e;//Items: Yellow Gemstone,
+ mes "^3355FFYou inserted a Yellow Gemstone into the";
+ mes "left socket.^000000";
+ next;
+ delitem 715,1;//Items: Yellow Gemstone,
+ getitem 715,1;//Items: Yellow Gemstone,
+ set @ryumon,@ryumon+20;
+ mes "^3355FFA rolling sound can be heard, and";
+ mes "the gemstone comes out of the skeleton's mouth.^000000";
+ next;
+ goto Lfin;
+ L2_4:
+ //Red
+ if(countitem(716) < 1) goto L2_4_e;//Items: Red Gemstone,
+ mes "^3355FFYou inserted a Red Gemstone into the";
+ mes "left socket.^000000";
+ next;
+ delitem 716,1;//Items: Red Gemstone,
+ getitem 716,1;//Items: Red Gemstone,
+ set @ryumon,@ryumon+30;
+ mes "^3355FFA rolling sound can be heard, and";
+ mes "the gemstone comes out of the skeleton's mouth.^000000";
+ next;
+ goto Lfin;
+ L2_2_e:
+ mes "^3355FFYou don't have a Blue Gemstone.";
+ goto L2_e;
+ L2_3_e:
+ mes "^3355FFYou don't have a Yellow Gemstone.";
+ goto L2_e;
+ L2_4_e:
+ mes "^3355FFYou don't have a Red Gemstone.";
+ L2_e:
+ mes "Therefore, nothing was inserted into";
+ mes "the right socket.^000000";
+ next;
+ Lfin:
+ mes "^3355FF..........^000000";
+ next;
+ mes "^3355FF...................";
+ mes ".....................^000000";
+ next;
+ mes "^3355FF.......................";
+ mes ".........................";
+ mes ".........................^000000";
+ next;
+ if(event_umbala < 6) goto LSecondCheck;
+ if(@ryumon == 33) goto Lwarp;
+ LSecondCheck:
+ if(event_umbala >= 6) goto LLNewEnd;
+ if(@ryumon == 13) goto Lwarp;
+ LNewEnd:
+ mes "^3355FFNothing happened.";
+ mes "You hear a faint laugh, but";
+ mes "decide that it's all in";
+ mes "your head.^000000";
+ close;
+ Lwarp:
+ mes "^3355FFA rumbling sound can be";
+ mes "heard as the gate opens.";
+ mes "As you step across the threshold.";
+ mes "you feel as if you're walking in";
+ mes "into the arms of death itself.^000000";
+ next;
+ LwarpNoText:
+ warp "um_in.gat",32,71;
+ close;
+Lend:
+ mes "^3355FFAfter hitting the gate a few";
+ mes "times with no result, you decide to give";
+ mes "up.^000000";
+ close;
+}
+
+//==============================================================================
+//Umbala Event
+//==============================================================================
+um_in.gat,39,122,5 script Utan Tribal Elder 784,{
+ if(event_umbala == 1) goto LStart2;
+ if(event_umbala == 2) goto LStart3;
+ if(event_umbala == 3) goto LStart4;
+ if(event_umbala == 4) goto LStart5;
+ if(event_umbala == 5) goto LStart6;
+ if(event_umbala == 6) goto LStart4;
+ if(event_umbala == 7) goto LStart4;
+ mes "[Karukatan]";
+ mes "Aha, You're new to the Utan";
+ mes "family's little village, aren't";
+ mes "you? I would remember such a face";
+ mes "had I met you before.";
+ next;
+ mes "[Karukatan]";
+ mes "We know there is a wide world around";
+ mes "us, but the there is something to";
+ mes "be appreciated in the simple life";
+ mes "we lead here.";
+ next;
+ mes "[Karukatan]";
+ mes "All decisions in the village are made";
+ mes "by me or with my input";
+ next;
+ mes "[Karukatan]";
+ mes "You want to know how I speak your";
+ mes "language when it seems no one else in";
+ mes "the village does? A fair question.";
+ mes "I picked up your tongue from the";
+ mes "adventurers who sometimes pass";
+ mes "through this village.";
+ next;
+ mes "[Karukatan]";
+ mes "Some outsiders have also settled near here";
+ mes "over time. In exchange for information";
+ mes "about their customs and culture, I";
+ mes "teach them the language and customs";
+ mes "of the Utan tribe.";
+ next;
+ mes "[Karukatan]";
+ mes "If you want to learn our language,";
+ mes "you must immerse yourselves in";
+ mes "our customs and cultural traditions.";
+ mes "You should even try and look as much";
+ mes "like us as you can.";
+ next;
+ mes "[Karukatan]";
+ mes "I hope you're worthy of my confidence.";
+ mes "Some members of the tribe have expressed";
+ mes "the sentiment that welcoming outsiders";
+ mes "is dangerous to the village.";
+ next;
+ mes "[Karukatan]";
+ mes "When you want to begin learning the";
+ mes "language, come and visit me. Don't";
+ mes "forget to make yourself appear as";
+ mes "much like us as you can.";
+ set event_umbala,1;
+ close;
+LStart2:
+ mes "[Karukatan]";
+ mes "Ahh, have you looked around the";
+ mes "village a bit? Did other people";
+ mes "from the tribe hide from you when";
+ mes "they saw you? Don't worry. They";
+ mes "were just surprised to see a new face.";
+ next;
+ mes "[Karukatan]";
+ mes "Hmm? You need something from me?";
+ mes "How can I make your stay in the village";
+ mes "more pleasant?";
+ next;
+ menu "I want to learn the tribal language",-,"Umbaumbaba?",L2,"Forget it",L3;
+ if ((getequipisequiped(9)>0) && (getequipisequiped(10)>0)) goto L1_mask;
+ mes "[Karukatan]";
+ mes "Well, in order to understand our";
+ mes "language, you need to assimilate";
+ mes "our cultural values, too. Trying to";
+ mes "understand a language in the context of an";
+ mes "alien culture is foolish, right?";
+ next;
+ mes "[Karukatan]";
+ mes "Besides, if the tribesmen in the";
+ mes "village fear you, how will you";
+ mes "ever get them to speak with you?";
+ mes "You should try making yourself";
+ mes "look like us in order to be more";
+ mes "accepted.";
+ close;
+ L1_mask:
+ mes "[Karukatan]";
+ mes "What a cute mask. The Utan tribe";
+ mes "appreciates its traditional masks";
+ mes "because sometimes by hiding your";
+ mes "face, you can express more genuine";
+ mes "feelings.";
+ //Activate Sphinx Mask Quest (optional)
+ set mask_q,1;
+ next;
+ mes "[Karukatan]";
+ mes "Over time, the mask itself";
+ mes "has come to symbolize trust among";
+ mes "the members of the Utan tribe.";
+ next;
+ mes "[Karukatan]";
+ mes "Now that you're prepared, I will";
+ mes "begin teaching you the Utan";
+ mes "language as promised. First,";
+ mes "you need to make some preparations,";
+ mes "however...";
+ next;
+ mes "[Karukatan]";
+ mes "First, I need some paper. With";
+ mes "paper, I can write down the words";
+ mes "I intend to teach.";
+ next;
+ mes "[Karukatan]";
+ mes "I need ^3377FF10x Oil Paper^000000, and ^3377FF5x Slick Paper^000000.";
+ mes "I also need something to write with.";
+ mes "of course.";
+ mes "For that, ^3377FF1x Squid Ink^000000 and ^3377FF1x Feather of Birds^000000";
+ mes "will do nicely.";
+ next;
+ mes "[Karukatan]";
+ mes "Once you get these, I can start";
+ mes "teaching you the language.";
+ set event_umbala,2;
+ close;
+ L2:
+ mes "[Karukatan]";
+ mes "Haha. Only imitating the sound";
+ mes "of the words is useless. Even";
+ mes "though it sounds random, there is";
+ mes "a specific way of combining the";
+ mes "words.";
+ next;
+ mes "[Karukatan]";
+ mes "Also, our language has depends a";
+ mes "a lot on emotion to convey its";
+ mes "meaning. Outsiders can't pick up";
+ mes "the subtlety right away, even though";
+ mes "we're the same race, ";
+ next;
+ mes "[Karukatan]";
+ mes "It seems you have an interest";
+ mes "in learning the language of the";
+ mes "Utan tribe. If that's the case,";
+ mes "come visit me and I'll teach you.";
+ next;
+ mes "[Karukatan]";
+ mes "Then, you won't sound so silly.";
+ close;
+ L3:
+ mes "[Karukatan]";
+ mes "Ah. If you want to continue your";
+ mes "trip, please keep this village in";
+ mes "your memories.";
+ close;
+LStart3:
+ if ((countitem(7151)>=10) && (countitem(7111)>=5) && (countitem(1024)>=1) && (countitem(916)>=1)) goto Lchkok;//Items: Oiled Paper, String Paper, Squid Ink, Feather of Birds,
+ mes "[Karukatan]";
+ mes "It seems you've not yet prepared the";
+ mes "proper items. Did you forget what";
+ mes "you need to gather before I can";
+ mes "teach you the language? You need to gather";
+ next;
+ mes "[Karukatan]";
+ mes "^3377FF10x Oil Paper^000000,";
+ mes "^3377FF5x Slick Paper^000000,";
+ mes "^3377FF1x Squid Ink^000000, and";
+ mes "^3377FF1x Feather of Bird^000000.";
+ mes "Once you have gathered those, I can teach";
+ mes "you Utan tribal language.";
+ close;
+Lchkok:
+ delitem 7151,10;//Items: Oiled Paper,
+ delitem 7111,5;//Items: String Paper,
+ delitem 1024,1;//Items: Squid Ink,
+ delitem 916,1;//Items: Feather of Birds,
+ mes "[Karukatan]";
+ mes "Good. You've prepared all the";
+ mes "necessary materials. Now, I can";
+ mes "begin to teach you the Utan tribal";
+ mes "language.";
+ next;
+ mes "[Karukatan]";
+ mes "............";
+ next;
+ mes "[Karukatan]";
+ mes "............";
+ mes "............";
+ next;
+ mes "[Karukatan]";
+ mes "............";
+ mes "............";
+ mes "............";
+ next;
+ mes "[Karukatan]";
+ mes "Do you feel more enlightened now?";
+ mes "Try talking to others in the Utan";
+ mes "tribe. They'll warm up to your quickly";
+ mes "now that you speak the language.";
+ set event_umbala,3;
+ next;
+ mes "[Karukatan]";
+ mes "If you need something while you're";
+ mes "here, don't hesitate to visit me.";
+ close;
+LStart4:
+//fin
+ mes "[Karukatan]";
+ mes "Do you need something?";
+ mes "If you need someone to guide you around";
+ mes "the village, you should ask someone else.";
+ mes "I can't leave here right now.";
+ next;
+ mes "[Karukatan]";
+ mes "The best way to get a feel for";
+ mes "the village is to just walk";
+ mes "around and see the sights. By doing";
+ mes "that, you can form a personal";
+ mes "bond with the village.";
+ close;
+LStart5:
+ mes "[Karukatan]";
+ mes "Oh, it seems you're enjoying yourself here.";
+ mes "You need something else?";
+ next;
+ mes "[Karukatan]";
+ mes "It seems you want to ask the";
+ mes "shaman Putsuchiratan something";
+ mes "and you're seeking my permission";
+ mes "to do so.";
+ next;
+ mes "[Karukatan]";
+ mes "Well...There's a mask from";
+ mes "abroad that Putsuchiratan and I";
+ mes "have both always desired. Putsuchiratan";
+ mes "heard about it some time ago.";
+ next;
+ mes "[Karukatan]";
+ mes "If I could have the ^3377FFSmile Mask^000000,";
+ mes "it would be a great honour, but";
+ mes "I promised I would give it to";
+ mes "to Putsuchiratan as a gift if I ever";
+ mes "came across one. If you can find a Smile Mask for me,";
+ mes "I'll give you permission to speak with her.";
+ set event_umbala,5;
+ close;
+LStart6:
+ if(countitem(2278) > 0) goto Lsmileok;//Items: Mr. Smile,
+ mes "[Karukatan]";
+ mes "Did you find the ^3377FFSmile Mask^000000 yet?";
+ mes "In order to let you see the shaman,";
+ mes "you need to collect one.";
+ mes "A gift will put Putsuchiritan in";
+ mes "a good mood, also.";
+ close;
+Lsmileok:
+ delitem 2278,1;//Items: Mr. Smile,
+ mes "[Karukatan]";
+ mes "Ahh! It's a Smile Mask!";
+ mes "I would really like to put this";
+ mes "on just once, but I promised to";
+ mes "give this to Putsuchiritan as";
+ mes "a gift.";
+ set event_umbala,6;
+ next;
+ mes "[Karukatan]";
+ mes "I'll tell Putsuchiritan to allow you";
+ mes "to meet with her. I'm certain that you";
+ mes "will find her talents to be a tremendous";
+ mes "help on your journey.";
+ close;
+}
+
+//=====================================================================
+um_in.gat,44,71,2 script Utan Tribe Shaman 782,{
+ if(event_umbala < 3) goto LumWord;
+ if(event_umbala == 4) goto LStart2;
+ if(event_umbala == 5) goto LStart2;
+ if(event_umbala == 6) goto LStart3;
+ if(event_umbala == 7) goto LStart4;
+ mes "[Putsuchiritan]";
+ mes "I will not see outsiders that are";
+ mes "not from the Utan tribe.";
+ mes "...There are many things about the";
+ mes "nature of our society that you do";
+ mes "not yet understand.";
+ next;
+ mes "[Putsuchiritan]";
+ mes "Others of your type will do anything";
+ mes "to set foot on land which is sacred";
+ mes "to the Utan tribe. We fear that";
+ mes "revealing our secrets will expose";
+ mes "use to danger.";
+ next;
+ mes "[Putsuchiritan]";
+ mes "What's worse, I don't think that";
+ mes "outsiders understand our desire";
+ mes "to preserve our tribal culture.";
+ next;
+ mes "[Putsuchiritan]";
+ mes "As my talents are foremost for";
+ mes "the use of the Utan tribe, you";
+ mes "must get permission from the elder";
+ mes "if you want my assistance.";
+ mes "Also, don't be stirring up trouble";
+ mes "among the tribesmen.";
+ set event_umbala,4;
+ close;
+LStart2:
+ mes "[Putsuchiritan]";
+ mes "Didn't you hear me? You need";
+ mes "to get the elder's permission before";
+ mes "I can help you.";
+ close;
+LStart3:
+ mes "[Putsuchiritan]";
+ mes "You seem to have gotten permission from";
+ mes "the elder. Fine, I'll help you, though";
+ mes "I don't really want to.";
+ next;
+ mes "[Putsuchiritan]";
+ mes "I can call forth hidden talents";
+ mes "buried deep within your psyche";
+ mes "and tap the power hidden in";
+ mes "elemental stones.";
+ next;
+ mes "[Putsuchiritan]";
+ mes "I need to prepare my rituals.";
+ mes "When you're ready to proceed, please";
+ mes "talk to me again.";
+ set event_umbala,7;
+ close;
+LStart4:
+ set @umchange[1],0;
+ set @umchange[2],0;
+ set @umchange[3],0;
+ set @umchange[4],0;
+ mes "[Putsuchiritan]";
+ mes "I don't know whether my talents";
+ mes "will be useful to you, but I'll";
+ mes "help you anyway.";
+ next;
+ mes "[Putsuchiritan]";
+ mes "I can create elemental essence from natural objects,";
+ mes "or, dismantle elemental stones into their component essences.";
+ mes "Which would you like to do?";
+ next;
+ menu "Create Essence",L1,"Dismantle Elemental Stone",L2,"Nothing",-;
+ mes "[Putsuchiritan]";
+ mes "If you don't wish my help at the moment,";
+ mes "that's fine. When you do, please come";
+ mes "by again.";
+ close;
+L1:
+ mes "[Putsuchiritan]";
+ mes "Which elemental essence would you";
+ mes "like to create? I can create earth, water,";
+ mes "fire, and wind essence.";
+ next;
+ menu "Earth",L1_1,"Water",L1_2,"Fire",L1_3,"Wind",L1_4;
+ L1_1:
+ if (countitem(947)<15) goto L1_1e;//Items: Horn,
+ set @umchange[1],947;
+ set @umchange[2],15;
+ set @umchange[3],993;
+ goto L1_ketugou;
+ L1_2:
+ if (countitem(946)<20) goto L1_2e;//Items: Snails Shell,
+ set @umchange[1],946;
+ set @umchange[2],20;
+ set @umchange[3],991;
+ goto L1_ketugou;
+ L1_3:
+ if (countitem(904)<20) goto L1_3e;//Items: Scorpion Tail,
+ set @umchange[1],904;
+ set @umchange[2],20;
+ set @umchange[3],990;
+ goto L1_ketugou;
+ L1_4:
+ if (countitem(1013)<25) goto L1_4e;//Items: Rainbow Shell,
+ set @umchange[1],1013;
+ set @umchange[2],25;
+ set @umchange[3],992;
+ goto L1_ketugou;
+ L1_ketugou:
+ mes "[Putsuchiritan]";
+ mes "Now, I will try to tap the";
+ mes "source of power hidden deep within";
+ mes "you. Choose a number between 1 and 9.";
+ mes "If you don't want to create essence";
+ mes "after all, choose 0.";
+ next;
+ L1_input:
+ input @umchange[4];
+ if (@umchange[4]==0) goto L1_cancel;
+ if (@umchange[4]>9) goto L1_numError;
+ mes "[Putsuchiritan]";
+ if (@umchange[1]==947) mes "The horn begins to vibrate.";
+ if (@umchange[1]==904) mes "The tail begins to vibrate.";
+ if ((@umchange[1]==1013) && (@umchange[1]==946)) mes "The shell begins to vibrate.";
+//End Possible Conversion
+ mes "I will now chant a holy mantra.";
+ mes "Imagine the number in your mind";
+ mes "and imagine power radiating forth from";
+ mes "your body.";
+ next;
+ mes "[Putsuchiritan]";
+ mes "Amba Omba Sanba! Unba Chi!";
+ mes "Wanbatauma Eurukaba! Unba! Ba!";
+ mes "Jyur! Fumuba Rurara! Wamba! Ra!";
+ mes "Damtsuha Ombabaraka! Unba! Shi!";
+ mes "Sukatamba Aburumba! Umba! Shi!";
+ next;
+ if (countitem(@umchange[1])<@umchange[2]) goto L1_cancel;
+ delitem @umchange[1],@umchange[2];
+ getitem @umchange[3],@umchange[4];
+ mes "[Putsuchiritan]";
+ mes "There. Your inner power has converted";
+ mes "these objects from nature into";
+ mes "elemental essence. Put";
+ mes "it to good use.";
+ close;
+L1_cancel:
+ mes "[Putsuchiritan]";
+ mes "If you don't wish my help at the moment,";
+ mes "that's fine. When you do, please come";
+ mes "by again.";
+ close;
+L1_numError:
+ mes "[Putsuchiritan]";
+ mes "You must choose a number between";
+ mes "1 and 9. It is very important that";
+ mes "you choose the number most dear to";
+ mes "your heart.";
+ next;
+ goto L1_input;
+L1_1e:
+ mes "[Putsuchiritan]";
+ mes "Earth...You need that which is";
+ mes "a friend of the earth. Explore";
+ mes "the verdant forest and find";
+ mes "^3377FF15x Horn^000000 for the ritual.";
+ goto L1_empty;
+L1_2e:
+ mes "[Putsuchiritan]";
+ mes "Water...You need that which is";
+ mes "saturated with water. Explore";
+ mes "the area around here and find";
+ mes "^3377FF20x Snails Shell^000000 for the ritual.";
+ goto L1_empty;
+L1_3e:
+ mes "[Putsuchiritan]";
+ mes "Fire...You need that which";
+ mes "can withstand the roiling heat";
+ mes "of perpetual flame. Explore the";
+ mes "desert and find ^3377FF20x Scorpion Tail^000000";
+ mes "for the ritual.";
+ goto L1_empty;
+L1_4e:
+ mes "[Putsuchiritan]";
+ mes "Wind...You need that which";
+ mes "has an easy camaraderie with";
+ mes "the sky itself.";
+ mes "You need ^3377FF25x Rainbow Shell^000000";
+ mes "to complete the ritual.";
+L1_empty:
+ next;
+ mes "[Putsuchiritan]";
+ mes "Once you've prepared these";
+ mes "objects from nature, please return here";
+ mes "so we can complete the ritual.";
+ close;
+//----------------------------------------------------------
+L2:
+ mes "[Putsuchiritan]";
+ mes "What type of stone would you like to";
+ mes "dismantle? Please choose earth, water,";
+ mes "fire, or wind.";
+ next;
+ menu "Earth",L2_1,"Water",L2_2,"Fire",L2_3,"Wind",L2_4;
+ L2_1:
+ if (countitem(997)<1) goto L2_1e;//Items: Great Nature,
+ set @umchange[1],997;
+ set @umchange[2],1;
+ set @umchange[3],993;
+ goto L2_bunkai;
+ L2_2:
+ if (countitem(995)<1) goto L2_2e;//Items: Mystic Frozen,
+ set @umchange[1],995;
+ set @umchange[2],1;
+ set @umchange[3],991;
+ goto L2_bunkai;
+ L2_3:
+ if (countitem(994)<1) goto L2_3e;//Items: Flame Heart,
+ set @umchange[1],994;
+ set @umchange[2],1;
+ set @umchange[3],990;
+ goto L2_bunkai;
+ L2_4:
+ if (countitem(996)<1) goto L2_4e;//Items: Rough Wind,
+ set @umchange[1],996;
+ set @umchange[2],1;
+ set @umchange[3],992;
+ goto L2_bunkai;
+ L2_bunkai:
+ mes "[Putsuchiritan]";
+ if (@umchange[1]==997) mes "I will dismantle your earth crystal";
+ if (@umchange[1]==995) mes "I will dismantle your frozen crystal";
+ if (@umchange[1]==994) mes "I will dismantle your heart of flame";
+ if (@umchange[1]==996) mes "I will dismantle your rough wind stone";
+ mes "into its component essence.";
+ mes "Choose a number between 1 and 9.";
+ mes "If you don't want me to dismantle the";
+ mes "stone, choose 0.";
+ next;
+ L2_input:
+ input @umchange[4];
+ if (@umchange[4]==0) goto L2_cancel;
+ if (@umchange[4]>9) goto L2_numError;
+//Calculating number of essences
+ set @umchange[4],rand(5)+@umchange[4];
+ set @umchange,@umchange + @rand;
+ if (@umchange[4]>10) set @umchange[4],@umchange[4]-10;
+ if (@umchange[4]<5) set @umchange[4],@umchange[4]+5;
+ mes "[Putsuchiritan]";
+ mes "Please place the elemental stone";
+ mes "inside this holy circle. I will chant a";
+ mes "a mantra. I don't know if I can";
+ mes "completely dismantle the stone,";
+ mes "but here goes...";
+ next;
+ mes "[Putsuchiritan]";
+ mes "Unba Unba Karama! Unba! Ta!";
+ mes "Rukara! Ukarere! Un! Unba! Ka!";
+ mes "Anburaka Taburaka Taburakan! Unba Ra!";
+ mes "Onbaruzu Zan Kata! Unba Ka!";
+ mes "Kan Tsun Rakarakan! Unba! Ha!";
+ next;
+ if (countitem(@umchange[1])<@umchange[2]) goto L1_cancel;
+ delitem @umchange[1],@umchange[2];
+ getitem @umchange[3],@umchange[4];
+ mes "[Putsuchiritan]";
+ mes "The elemental stone has been";
+ mes "dismantled into its natural";
+ mes "essence. Please put it to";
+ mes "good use.";
+ close;
+L2_cancel:
+ mes "[Putsuchiritan]";
+ mes "If you don't wish my help at the moment,";
+ mes "that's fine. When you do, please come";
+ mes "by again.";
+ close;
+L2_numError:
+ mes "[Putsuchiritan]";
+ mes "You must choose a number between";
+ mes "1 and 9. It is very important that";
+ mes "you choose the number most dear to";
+ mes "your heart.";
+ next;
+ goto L2_input;
+L2_1e: mes "[Putsuchiritan]";
+ mes "You need to have";
+ mes "^3377FF1x Great Nature^000000";
+ mes "to disassemble into its";
+ mes "component essence.";
+ goto L2_empty;
+L2_2e:
+ mes "[Putsuchiritan]";
+ mes "You need to have";
+ mes "^3377FF1x Mystic Frozen^000000";
+ mes "to disassemble into its";
+ mes "component essence.";
+ goto L2_empty;
+L2_3e:
+ mes "[Putsuchiritan]";
+ mes "You need to have";
+ mes "^3377FF1x Flaming Heart^000000";
+ mes "to disassemble into its";
+ mes "component essence.";
+ goto L2_empty;
+L2_4e:
+ mes "[Putsuchiritan]";
+ mes "You need to have";
+ mes "^3377FF1x Rough Wind^000000";
+ mes "to disassemble into its";
+ mes "component essence.";
+L2_empty:
+ next;
+ mes "[Putsuchiritan]";
+ mes "Once you have the necessary stone,";
+ mes "please come back and visit me";
+ mes "so that the ritual can be completed.";
+ close;
+LumWord:
+ mes "[?????]";
+ mes "Umbaumbaumbaba Utan Umbaba";
+ mes "Umbaumbaumbafumbabauma...";
+ mes "Umbabaumbaumbabaumbabaumba";
+ mes "Umbabaumbabaumbaumbabaumba";
+ mes "Fumbaumba.";
+ next;
+ warp "umbala.gat",217,186;
+ close;
+}
+
+//=====================================================================
+umbala.gat,177,153,3 script Bast 97,{
+ if (event_umbala>=3) emotion 0;
+ mes "[Bast]";
+ mes "Oh! Another outsider. It's";
+ mes "great to encounter another one";
+ mes "in this village! My name is";
+ mes "Bast.";
+ next;
+ mes "[Bast]";
+ mes "Because Umbala village is isolated";
+ mes "within a deep forest, its culture";
+ mes "is unaffected by the steady pull";
+ mes "of progress.";
+ next;
+ mes "[Bast]";
+ mes "Not only that, but the natives' skin colour";
+ mes "and language are also different.";
+ mes "Aren't you confused by their";
+ mes "alien gestures and expressions?";
+ next;
+ mes "[Bast]";
+ mes "Even the things you would expect";
+ mes "to transcend culture have a";
+ mes "different meaning in Umbala.";
+ next;
+ mes "[Bast]";
+ mes "Just because a tribeman's face laughs";
+ mes "doesn't necessarily mean his";
+ mes "heart is laughing. Understand?";
+ next;
+ emotion 28;
+ mes "[Bast]";
+ mes "Because of that, people in the village";
+ mes "who know our language may have trouble!!";
+ close;
+}
+
+//=====================================================================
+umbala.gat,80,146,4 script Yuki 753,{
+ mes "[Yuki]";
+ mes "Umbaubaugau...Oh!";
+ mes "You're from abroad? That's";
+ mes "wonderful! I didn't think that";
+ mes "I would meet someone else from abroad.";
+ mes "Hahaha.";
+ next;
+ mes "[Yuki]";
+ mes "I came here looking for strong";
+ mes "companions, but I was unable";
+ mes "to understand the language.";
+ mes "I had to listen to the language being spoken";
+ mes "for some time before I picked it up.";
+ mes "Hahaha.";
+ next;
+ mes "[Yuki]";
+ mes "The people here seem to want to";
+ mes "preserve their native culture while";
+ mes "eschewing the trappings of modern life.";
+ mes "The tribesmen are really prone to";
+ mes "mischief-making.";
+ next;
+ mes "[Yuki]";
+ mes "The primitive atmosphere here is really";
+ mes "refreshing. Tribal law is very lax and";
+ mes "doesn't intrude upon one's enjoyment of";
+ mes "the village. It's really wonderful.";
+ close;
+}
+
+//=====================================================================
+um_in.gat,101,73,3 script Yunatan 783,{
+ if(event_umbala < 3) goto LumWord;
+ mes "[Yunatan]";
+ mes "I'm standing out here because I";
+ mes "can't stand to lay eyes on";
+ mes "that lecher Wambokoriotan.";
+ mes "I hate his guts!";
+ close;
+LumWord:
+ mes "[Yunatan]";
+ mes "Umbaba! Umbaumbaugaga";
+ mes "Ugugumubaugaumuumu.";
+ mes "Umbabababababababa.";
+ close;
+}
+
+//=====================================================================
+um_in.gat,94,123,5 script Bartsutan 783,{
+ if(event_umbala < 30) goto LumWord;
+ mes "[Bartsutan]";
+ mes "I want to see Wambokoriotan";
+ mes "morph into an insect so I can";
+ mes "have the satisfaction of crushing";
+ mes "his skull! I hate him and his";
+ mes "advances! I wish he would just stay";
+ mes "away from me.";
+ close;
+LumWord:
+ mes "[Bartsutan]";
+ mes "Umbarugumbarumbauma!";
+ mes "Umuguugumubarumba.";
+ mes "Umba...uumu.";
+ close;
+}
+
+//=====================================================================
+umbala.gat,140,157,6 script Utan Tribe Young Adult#1 785,{
+ if(event_umbala < 3) goto LumWord;
+ mes "[Seirutan]";
+ mes "Bungy jumping is extremely dangerous.";
+ mes "As such, completing a successful";
+ mes "jump is a prerequisite for recognition";
+ mes "as an adult in the Utan tribe.";
+ close;
+LumWord:
+ mes "[?????]";
+ mes "Umbaumbafumba.";
+ mes "Uwambaunbaumbabaufumba";
+ mes "Umbababaumbaumba.";
+ close;
+}
+
+//=====================================================================
+umbala.gat,146,157,4 script Utan Young Adult#2 786,{
+ if(event_umbala < 3) goto LumWord;
+ mes "[Arotan]";
+ mes "Making a safe bungy jump is a";
+ mes "really big deal. When someone makes";
+ mes "their first jump safely, many people";
+ mes "gather for a large feast.";
+ close;
+LumWord:
+ mes "[????]";
+ mes "Umbaumbaumbabaumbaba.";
+ mes "Umbaumbabaumbababaumufumuba.";
+ close;
+}
+
+//=====================================================================
+umbala.gat,149,165,4 script Utan Young Adult#3 781,{
+ if(event_umbala < 3) goto LumWord;
+ mes "[Kryubatan]";
+ mes "I'm really afraid of heights,";
+ mes "so I really don't want to jump,";
+ mes "but I must in order to be";
+ mes "recognized as a courageous";
+ mes "member of the Utan tribe.";
+ close;
+LumWord:
+ mes "[??????]";
+ mes "Umbaumbaumbababa.";
+ mes "Umbaumbaumumbabaumfumuba.";
+ mes "Umbaumbaumumubafumba.";
+ close;
+}
+
+//=====================================================================
+umbala.gat,92,159,4 script Hartan 785,{
+ if(event_umbala < 3) goto LumWord;
+ mes "[Hartan]";
+ mes "You want to know why our";
+ mes "skin is jet-black?";
+ mes "......";
+ next;
+ mes "[Hartan]";
+ mes "Well...";
+ mes "Every night before we sleep,";
+ mes "we eat lots of chocolate!";
+ next;
+ mes "[Hartan]";
+ mes "Mmmmmmm...Chocolate...";
+ close;
+LumWord:
+ mes "[????]";
+ mes "Umbaumbaumba";
+ mes "Umbaumbaumba";
+ mes "Umbaumbaumba";
+ next;
+ mes "[????]";
+ mes "Umbaumbabaungaha.";
+ emotion 28;
+ close;
+}
+
+//=====================================================================
+umbala.gat,194,104,4 script Utan Tribe Child#2 787,{
+ if(event_umbala < 3) goto LumWord;
+ mes "[Burkatan]";
+ mes "An outsider?";
+ mes "Are you here to try bungy jumping?";
+ next;
+ menu "You got it",-,"Well....",L2;
+ mes "[Burkatan]";
+ mes "What courage!";
+ mes "The Utan tribe welcomes those";
+ mes "with courageous hearts.";
+ close;
+ L2:
+ mes "[Burkatan]";
+ mes "The adults don't want me to even";
+ mes "get close to the bungy jumping area.";
+ mes "In this tribe, bungy jumping is a rite";
+ mes "of passage. If I can show them that";
+ mes "I'm big enough to brave bungy jumping,";
+ mes "they'll have to recognize me as an adult!";
+ close;
+LumWord:
+ mes "[???]";
+ mes "Umbaumbababaumfumuba.";
+ mes "Umbababaumbabaumbaumba.";
+ next;
+ menu "Um...yes?",-,"Nope...",Lu2;
+ mes "[???]";
+ mes "Umbaumbaumbababa.";
+ mes "Umbaumbaumubaba.";
+ close;
+ Lu2:
+ mes "[???]";
+ mes "Umbaumbaumuam.";
+ mes "Umbaumbaumbaba.";
+ mes "Umbaumfumababaumu.";
+ close;
+}
+
+//=====================================================================
+umbala.gat,193,208,6 script Utan Child#3 789,{
+ if(event_umbala < 3) goto LumWord;
+ mes "[Fuitan]";
+ mes "When I was younger, I went bungy";
+ mes "jumping even though it was extremely";
+ mes "dangerous. I did it, though, and my";
+ mes "chest swelled with a feeling of achievement.";
+ mes "The tradition encourages rash behavior, but";
+ mes "boys will be boys, don't you think?";
+ close;
+LumWord:
+ mes "[????]";
+ mes "Umbaumbababa.";
+ mes "Umbamubafumabaumumbabamua";
+ mes "Umumbababaumbafuma.";
+ close;
+}
+
+//=====================================================================
+umbala.gat,139,205,4 script Utan Tribe Young Adult#5 785,{
+ if(event_umbala < 3) goto LumWord;
+ mes "[Tsunitan]";
+ mes "Awesome! I haven't seen an outsider in some time.";
+ mes "You're just in time to watch as";
+ mes "youth from all over the village bungy";
+ mes "jump to prove their courage!";
+ next;
+ mes "[Tsunitan]";
+ mes "After you jump, you can use the";
+ mes "cord to climb. Also, if you search";
+ mes "underwater, you might be able to find";
+ mes "a submerged cave. Of course, there have";
+ mes "been unlucky souls who have died...";
+ next;
+ mes "[Tsunitan]";
+ mes "You may also feel sick";
+ mes "as the bottom draws near, because";
+ mes "the ominous shapes of aquatic monsters";
+ mes "drift slowly under the surface.";
+ mes "If you linger underwater, you might die...";
+ close;
+LumWord:
+ mes "[????]";
+ mes "Umbaumba!";
+ mes "Umbaumbabababaumumba.";
+ mes "Babaum Utan Umbaumbaba";
+ mes "Umbababafumu.";
+ mes "Umfumubabaumbaumbaumbaba.";
+ next;
+ mes "[????]";
+ mes "Umbafumumababaumba.";
+ mes "Umbabatanumbaumba.";
+ mes "Umumu. Umbaumbaumbaum.";
+ mes "Umbabaumbaumbaumubaamum.";
+ mes "Umbaumbaumbafumu.";
+ close;
+}
+
+//=====================================================================
+um_in.gat,158,71,3 script Utan Tribesman 787,{
+ if(event_umbala < 3) goto LumWord;
+ mes "[Mutakutan]";
+ mes "Umbala has enough interesting trees";
+ mes "that studying them never gets old!";
+ next;
+ mes "[Mutakutan]";
+ mes "My favourite tree near Umbala is huge!";
+ mes "It stretches into the sky as far";
+ mes "as the eye can see!";
+ mes "It's supposed to be the tallest tree in the world!";
+ emotion 33;
+ next;
+ mes "[Mutakutan]";
+ mes "It's so old and large that";
+ mes "the top can't even be seen!";
+ next;
+ mes "[Mutakutan]";
+ mes "Even after climbing the tree";
+ mes "to quite a height, the top was not";
+ mes "in sight. I consider myself";
+ mes "a tree-climbing expert, so this";
+ mes "was quite distressing.";
+ next;
+ mes "[Mutakutan]";
+ mes "That said, the fruit I was able";
+ mes "to pick off of some of the higher";
+ mes "branches is yummy!";
+ emotion 21;
+ next;
+ mes "[Mutakutan]";
+ mes "It has a slightly sour taste. Eating";
+ mes "it makes me feel all tingly inside!!";
+ emotion 21;
+ next;
+ mes "[Mutakutan]";
+ mes "At the same time, a terrible illness";
+ mes "was ravaging Umbala village.";
+ next;
+ mes "[Mutakutan]";
+ mes "The elder's health was declining";
+ mes "and he was in danger of dying, but";
+ mes "when I gave him a piece of that";
+ mes "fruit, his health improved";
+ mes "dramatically in a short time. Surely";
+ mes "this fruit was a gift from the forest!";
+ emotion 28;
+ next;
+ mes "[Mutakutan]";
+ mes "The tree is north of the village. Why";
+ mes "not visit it if you're over that way?";
+ close;
+LumWord:
+ mes "[????]";
+ mes "Umbaumbaumbabaumba!";
+ mes "Umbaumbaumbababaumba";
+ mes "Umbaumbaumba";
+ mes "Umbabaumbaumbaba.";
+ close;
+}
+
+//=====================================================================
+umbala.gat,145,217,3 script Chibibatan 783,{
+ if(event_umbala < 3) goto LumWord;
+ mes "[Chibibatan]";
+ mes "I want to have some fun with";
+ mes "Wambokoriotan, but after seeing";
+ mes "how his wife can be, I don't know if";
+ mes "I want to end up being on her bad side.";
+ close;
+LumWord:
+ mes "[Chibibatan]";
+ mes "Umbaba.";
+ mes "Ugaugumbarumbaruuuu!";
+ mes "Ugugauwubaruguagumbagua.";
+ close;
+}
+
+//=====================================================================
+um_in.gat,139,48,5 script Purenotan 783,{
+ if(event_umbala < 3) goto LumWord;
+ mes "[Purenotan]";
+ mes "See that loser over there?";
+ mes "I'm on to him. He hasn't";
+ mes "exactly made a secret of his desire";
+ mes "to have an affair or three.";
+ mes "He needs to be smacked in the nuts, HARD.";
+ close;
+LumWord:
+ mes "[Purenotan]";
+ mes "Umbaumbaugaga!";
+ mes "Umbaumbabababa!";
+ mes "Umbaumba!";
+ emotion 6;
+ next;
+ mes "[Purenotan]";
+ mes "Umbaumabaumbaumbaba!";
+ mes "Umbababababaugau!";
+ mes "Uguugaumbabaumbagumba!";
+ emotion 24;
+ next;
+ emotion 27;
+ close;
+On_emo:
+emotion 6;
+end;
+}
+
+//=====================================================================
+um_in.gat,144,45,5 script Wambokoriotan 789,{
+ if(event_umbala < 3) goto LumWord;
+ mes "[Wambokoriotan]";
+ mes "Ahhh...My wife is a real";
+ mes "hothead. Ouch...ouch.";
+ next;
+ mes "[Wambokoriotan]";
+ mes "Yunatan, Bartsutan, Chibibatan...";
+ mes "I want Umbala's babes as much";
+ mes "as they want me...Ouch...ouch!";
+ close;
+LumWord:
+ mes "[Wambokoriotan]";
+ mes "Umbaumbaba.....";
+ mes "Umbaugua!";
+ mes "Umbagumumbabagumbagaga!";
+ emotion 18;
+ next;
+ donpcevent "Purenotan::On_emo";
+ close;
+}
+
+//==============================================================================
+//Bungee jumping!
+//==============================================================================
+umbala.gat,140,197,0 script #Shibonochikka 139,0,1,{
+ set @jumprand,rand(0,4);
+ if (@jumprand == 1) goto L1;
+ if (@jumprand == 2) goto L2;
+ if (@jumprand == 3) goto L3;
+ if (@jumprand == 4) goto L4;
+ mapannounce "umbala.gat","Bungy Jumping Area: " + strcharinfo(0) + " : Iyahaaaaahh!",8;
+ end;
+
+L1:
+//Dead
+ mapannounce "umbala.gat","Bungy Jumping Area: " + strcharinfo(0) + " : Ukiyaaaaaaaaaa!",8;
+ percentheal -100,0;
+ end;
+
+L2:
+//HP50% Damage
+ mapannounce "umbala.gat","Bungy Jumping Area: " + strcharinfo(0) + " : Kyaaaaaaaaaaa!",8;
+ percentheal -50,0;
+ end;
+
+L3:
+//HP99% Damage
+ mapannounce "umbala.gat","Bungy Jumping Area: " + strcharinfo(0) + " : Waaaaaaaaaah!",8;
+ percentheal -99,0;
+ end;
+
+L4:
+//HP99% Damage, warp to Niflheim
+ mapannounce "umbala.gat","Bungy Jumping Area: " + strcharinfo(0) + " : No-o!",8;
+ percentheal -99,0;
+ warp "nif_in.gat",69,15;
+ end;
+}
+
+//=====================================================================
+umbala.gat,136,195,0 script #Warp Point 139,1,1,{
+ warp "umbala.gat",145,166;
+ end;
+} \ No newline at end of file
diff --git a/npc/cities/valkyrie.txt b/npc/cities/valkyrie.txt
new file mode 100644
index 000000000..0c67e7654
--- /dev/null
+++ b/npc/cities/valkyrie.txt
@@ -0,0 +1,527 @@
+//===== eAthena Script =======================================
+//= Valkyrie Realm
+//===== By: ==================================================
+//= Nana, fixes by Poki
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 2.0b
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= The Jobquest from kRO on how to advance to a Reborn class.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions,additional checks,quest skills,
+//= now Valhallana can return you back. She also makes reborn
+//= process only when you got no Zeny/items (as in kRO) [Lupus]
+//= 1.2 now alternative classes can use their 1-1 job NPC
+//= to become Advanced 1st Class [Lupus]
+//= 1.4 added Baby Class support [Lupus]
+//= 1.5 Fixed loads of gramatical errors. [Mass Zero]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where
+//= to go. [Lupus]
+//= 1.7 On reborn reset some Job Quest Vars and Reset Girls Counter [Lupus]
+//= 1.8 Added Taekwondo classes check [Lupus]
+//= 1.9 Added support for Job NPC Fase pics, sorrected one dialogue stuff [Lupus]
+//= 2.0 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon]
+//= 2.0b Fixed. TODO: add new Quest Skills [Lupus]
+//============================================================
+
+
+// -== Warp's needed! ==-
+valkyrie.gat,48,73,0 warp valk01 1,1,valkyrie.gat,48,64,0
+valkyrie.gat,48,66,0 warp valk01 1,1,valkyrie.gat,48,75,0
+
+// -== Book of Ymir (Heavens Door) ==-
+yuno_in02.gat,93,207,0 script Book of Ymir 111,{
+ mes "[Book of Ymir]";
+ if(Upper==2 || baseClass == Job_Taekwon) goto L_BABY; //don't allow Taekwondo classes, Baby Classes
+ if(valkyrie_Q == 1) goto L_FADED;
+ if(valkyrie_Q == 2) goto L_START;
+L_BABY:
+ mes ". . . . .";
+ close;
+
+L_FADED:
+ mes "*The book opens as you aproach it.*";
+ next;
+ mes "[Book of Ymir]";
+ mes "Those seeking the final foretress in this world shall venture through hardships let alone to mankind. Venturing through rough times, helped by friends and loved ones, one can finaly after alot of work and commitment see the true view of the world and then... go beyond it.";
+ next;
+ mes "[Book of Ymir]";
+ mes "*After reading the two first pages you turn the other page and watch the words fade away as you try to read them...";
+ close;
+
+L_START:
+ mes "*The book opens as you aproach it.*";
+ next;
+ mes "[Book of Ymir]";
+ mes "Those seeking the final foretress in this world shall venture through hardships let alone to mankind. Venturing through rough times, helped by friends and loved ones, one can finaly after alot of work and commitment see the true view of the world and then... go beyond it.";
+ next;
+ mes "[Book of Ymir]";
+ mes "*After reading the first two pages you flip the last one and continue to read...*";
+ next;
+ mes "[Book of Ymir]";
+ mes "That is when the God's and Goddess's of this world comes forth towards you in all disguise, checking you through. Reading your mind, thoughts and true feeling of the heart.";
+ mes "If the God's, descended from the world along time ago, accept you into the halls of Valkyrie, high up above the clouds in the sacred realm of Valkyrie, into God's light you will be reborn, and sent out to face the world once again.";
+ next;
+ mes "[Book of Ymir]";
+ mes "And only after then, the descended ones will aprove you to the highest obedience... Into the warmth of Valkyrie, you will be welcomed by the Gods themselves.";
+ next;
+ mes "[Book of Ymir]";
+ mes "*As you close the book a strange ray of light surrounds you and you suddenly feel light. Everything around you fades away and all you can see left is white before you pass out.*";
+ warp "valkyrie",48,9;
+ close;
+}
+
+// -== The Librarian that watches the "Book of Ymir" ==-
+yuno_in02.gat,91,176,5 script Librarian 754,{
+ mes "[Librarian]";
+ if(valkyrie_Q>0) goto L_DONE;
+ if(BaseJob >= 7 && Upper==0) goto L_PAY;
+ mes "Have a look around, but don't touch the book. Only a few chosen ones can read its wise words.";
+ close;
+
+L_PAY:
+ mes "You seem like a worthy human.";
+ mes "I, the 78th Librarian of the secret order have sworn to protect this book, it won't thread lightly on you.";
+ mes "In order to let me allow you to view into this wonderous book, you have to do two things for me.";
+ next;
+ mes "[Librarian]";
+ mes "One. You have to pay me 1,285,000 Zeny. Remember that you need the accurate amount. Not over or under 1,285,000z.";
+ mes "Two. You have to venture deep inside of Yuno castle, into the Heart of Ymir.";
+ mes "Remember that you cannot view the book unless you have done this.";
+ mes "Now go, brave one.";
+ menu "Pay now",-,"Close",M_EXIT;
+
+ if(Zeny != 1285000) goto L_WRONGZ;
+ mes "[Librarian]";
+ mes "Go now, into Heart of Ymir";
+ mes "There, you'll find the last piece of information before you can open the book.";
+ set valkyrie_Q,1;
+ set Zeny,0;
+ close;
+
+L_WRONGZ:
+ mes "[Librarian]";
+ mes "You didn't bring me the accurate number of zeny I wanted. Bring me back only 1,285,000 zeny!";
+ mes "Not more, nor less.";
+ close;
+
+L_DONE:
+ mes "Why? You have already paid me.";
+ mes "Now go and look for the Book of Ymir.";
+M_EXIT:
+ close;
+}
+
+// -== The Heart of Ymir ==-
+yuno_in05.gat,50,44,0 script Heart of Ymir 111,{
+ mes "[Heart of Ymir]";
+ if(valkyrie_Q == 1) goto L_LISTEN;
+ if(valkyrie_Q == 2) goto L_DONE;
+ mes ". . .";
+ close;
+
+L_LISTEN:
+ mes "Thus upon hard times and when our self esteem is at its lowest, then is when our faith has to be the strongest.";
+ mes "For aeons the secret guardians of the path to heaven have protected the secret gate from evil spirits entering it.";
+ mes "Thus, the bonds became to weaken over time... That's when the Legion of Sages started recruiting and making young, brave and quick minded mages and sages, teaching them the laws and propositions of our world.";
+ next;
+ mes "[Heart of Ymir]";
+ mes "Aeons passed and the Sages grew stronger in both mind and forces, until they all were feared throughout the monsters' world.";
+ mes "Now, after listening to my words of wisdom, please advance to the Book of Ymir and give yourself into God's light.";
+ mes "If you are pure of heart and have no evil intentions, the gates of dawn will open for you and take you in...";
+ set valkyrie_Q,2;
+ close;
+
+L_DONE:
+ mes "I have nothing more to teach you, nor to tell you.";
+ close;
+}
+
+// -== Researcher of the Book of Ymir ==-
+yuno_in02.gat,90,77,4 script Researcher 744,{
+ mes "[Researcher]";
+ mes "Argh, where is it!?";
+ mes "They said that it would be around here somewhere...";
+ mes "Maybe I have to look deeper into this castle...";
+ emotion 1;
+ close;
+}
+
+// -== Valhallana ==-
+// mes "Please go over there, to the person representing your class.";
+// mes "Good Luck.";
+// mes "You don't belong here yet.";
+//}
+
+// -== Valhallana ==-
+valkyrie.gat,48,86,6 script Valkyrie 811,{
+ mes "[Valhallana]";
+ if(BaseJob == 23) goto L_SN;
+ if(baseClass == Job_Taekwon ) goto L_TAEKWON; //sent back any Taekwondo classes
+ if(Upper == 2 ) goto L_BABY;
+ if(Upper > 0 ) goto L_ALREADY;
+ if(BaseLevel >= 99 && JobLevel >= 50 && BaseJob >= 7) goto L_CHANGE;
+ if(BaseJob < 7) goto L_NOTHING;
+
+ mes "You need 99 Base Level and 50 Job Level.";
+ mes "Also you must get rid of all of your money and items.";
+ next;
+ goto L_NOTHING;
+
+L_BABY:
+ mes "A Baby?! How did you get here?";
+ mes "I'm passing you back to your parents.";
+ emotion 1;
+ next;
+L_Y:
+ warp "yuno_in02.gat",93,204;
+ close;
+
+L_TAEKWON:
+ mes "How did you get here?";
+ emotion 1;
+ next;
+ goto L_Y;
+
+L_SN:
+ mes "Welcome to Valkyrie, "+strcharinfo(0)+".";
+ mes "I see you have followed a hard way of the Super Novice.";
+ next;
+ mes "[Valhallana]";
+ mes "I am sorry, but I can't help you.";
+ emotion 17;
+ next;
+ goto L_NOTHING;
+
+L_ALREADY:
+ mes "I can't help you anymore.";
+ if(Class == 4001) mes "You have been reborn already.";
+ if(Class > 4001 && Class < 4008 ) mes "Go and ask these people in the hall.";
+ next;
+
+L_NOTHING:
+ mes "Do you wish to go back to your world?";
+ next;
+ menu "Yes",L_Y,"No",-;
+
+ mes "[Valhallana]";
+ mes "As you wish...";
+ close;
+
+L_CHANGE:
+ mes "Welcome to Valkyrie, "+strcharinfo(0)+". From this point on, there is no returning back.";
+ next;
+ mes "[Valhallana]";
+ if(Zeny || Weight) goto L_ZENYITEMS;
+ if(checkcart(0)) goto L_CART;
+ if(checkfalcon(0)) goto L_FALCON;
+ if(checkriding(0)) goto L_PECO;
+ if(skillpoint > 0) goto L_SKILLPNTS;
+
+ mes "Let's start your reincarnation ceremony...";
+ next;
+
+ set ADVJOB,Class+4001; //memo the target 3rd Job ID
+
+// callfunc "F_ToHigh",25,"Swordman High",31,"Lord Knight",144,145,146,0;
+// callfunc "F_ToHigh",28,"Acolyte High",32,"High Priest",156,0,0,0;
+// callfunc "F_ToHigh",26,"High Mage",33,"High Wizard",157,0,0,0;
+// callfunc "F_ToHigh",29,"Merchant High",34,"White Smith",153,154,155,0;
+// callfunc "F_ToHigh",27,"High Archer",35,"Sniper",147,148,0,0;
+// callfunc "F_ToHigh",30,"Thief High",36,"Assassin Cross",149,150,151,152;
+// callfunc "F_ToHigh",25,"Swordman High",38,"Paladin",144,145,146,0;
+// callfunc "F_ToHigh",28,"Acolyte High",39,"Champion",156,0,0,0;
+// callfunc "F_ToHigh",26,"High Mage",40,"Professor",157,0,0,0;
+// callfunc "F_ToHigh",30,"Thief High",41,"Stalker",149,150,151,152;
+// callfunc "F_ToHigh",29,"Merchant High",42,"Creator",153,154,155,0;
+// callfunc "F_ToHigh",27,"High Archer",43,"Clown",147,148,0,0;
+// callfunc "F_ToHigh",27,"High Archer",44,"Gypsy",147,148,0,0;
+
+ if( getskilllv(144) || getskilllv(156) || getskilllv(157) || getskilllv(153) || getskilllv(147) || getskilllv(149) ) set QSK1,1;
+ if( getskilllv(145) || getskilllv(154) || getskilllv(148) || getskilllv(150) ) set QSK2,1;
+ if( getskilllv(146) || getskilllv(155) || getskilllv(151) ) set QSK3,1;
+ if( getskilllv(152) ) set QSK4,1;
+ mes "[Valhallana]";
+ mes "Done...";
+ mes "Good luck.";
+ jobchange 24; //Novice High
+ resetlvl(1);
+ callfunc "F_ClearJobVar";
+ set RES_SKILL,0; //we reset Reset Skills NPC counter
+ next;
+ if(ADVJOB == Job_Assassin + 4001 || ADVJOB == Job_Rogue + 4001 ) goto L_Mor;
+ if(ADVJOB == Job_Blacksmith + 4001 || ADVJOB == Job_Alchem + 4001 ) goto L_Alb;
+ if(ADVJOB == Job_Hunter + 4001 || ADVJOB == Job_Bard + 4001 || ADVJOB == Job_Dancer + 4001 ) goto L_Pay;
+ if(ADVJOB == Job_Knight + 4001 || ADVJOB == Job_Crusader + 4001 ) goto L_Izl;
+ if(ADVJOB == Job_Priest + 4001 || ADVJOB == Job_Monk + 4001 ) goto L_Pro;
+ if(ADVJOB == Job_Wizard + 4001 || ADVJOB == Job_Sage + 4001 ) goto L_Gef;
+
+L_Pro:
+ savepoint "prontera.gat",273,354;
+ warp "prontera.gat",273,354;
+ close;
+
+L_Mor:
+ savepoint "morocc.gat",160,94;
+ warp "morocc.gat",160,94;
+ close;
+
+L_Alb:
+ savepoint "alberta.gat",116,57;
+ warp "alberta.gat",116,57;
+ close;
+
+L_Pay:
+ savepoint "payon.gat",155,90;
+ warp "payon.gat",155,90;
+ close;
+
+L_Izl:
+ savepoint "izlude.gat",94,103;
+ warp "izlude.gat",94,103;
+ close;
+
+L_Gef:
+ savepoint "geffen.gat",120,100;
+ warp "geffen.gat",120,100;
+ close;
+
+L_ZENYITEMS:
+ mes "Your money and items do rope you to your routine life.";
+ mes "You should get rid of them.";
+ close;
+
+L_CART:
+ mes "Please, drop your cart and we'll continue.";
+ close;
+
+L_FALCON:
+ mes "Please, free your Falcon and we'll continue.";
+ close;
+
+L_PECO:
+ mes "Please, free your PecoPeco and we'll continue.";
+ close;
+
+L_SKILLPNTS:
+ mes "You will need to use up all of your skill points if you want me to continue.";
+ close;
+}
+
+// function HIGH NOVICE -> HIGH 1
+//getarg(0) - High Job ID
+//getarg(1) - High Job Name
+//getarg(2) - 3rd Job ID
+//getarg(3) - 3rd Job Name
+//getarg(4) - Quest Skill N? You can pass 0, if there's no Quest Skill
+//getarg(5) - Quest Skill N?
+//getarg(6) - Quest Skill N?
+//getarg(7) - Quest Skill N?
+//getarg(8) - current NPC's name
+
+function script F_ToHigh {
+ if(Upper == 2) return; //Baby Class - skip it
+ set @fjob,ADVJOB; //alternative classes should pass, too
+ if(@fjob == Job_Rogue + 4001 ) set @fjob,Job_Assassin+4001;
+ if(@fjob == Job_Alchem + 4001 ) set @fjob,Job_Blacksmith+4001;
+ if(@fjob == Job_Bard + 4001 || @fjob == Job_Dancer + 4001 ) set @fjob,Job_Hunter+4001;
+ if(@fjob == Job_Crusader + 4001 ) set @fjob,Job_Knight+4001;
+ if(@fjob == Job_Monk + 4001 ) set @fjob,Job_Priest+4001;
+ if(@fjob == Job_Sage + 4001 ) set @fjob,Job_Wizard+4001;
+
+ if(Class == 3977+getarg(0) ) goto L_WELCOME; //3rd Job
+ if(Class >= 4008) goto L_ALREADY; //already advanced class
+ if(Class == 4001 && @fjob == 3977+getarg(2) ) goto L_GETHIGH; //High Novice -> High XXXX
+ if(Class == 4001) mes "Hello, Novice High! If you are going to became a "+getarg(1)+", then go visit your very first job teacher.";
+ if(Class == 4001) close;
+ return; //this char doesn't want to get HIGH class
+
+L_GETHIGH:
+ mes "["+getarg(8)+"]";
+ if(JobLevel < 10) goto L_NOTREADY;
+ if(checkcart(0)) goto L_CART;
+ if(checkfalcon(0)) goto L_FALCON;
+ if(checkriding(0)) goto L_PECO;
+ if(skillpoint > 0) goto L_SKILLPNTS;
+
+ mes "Hello there, "+strcharinfo(0)+"!";
+ mes "You've made a brave choice in coming here to be reborn and stepping forth into the advanced ranks.";
+ mes "Now... close your eyes.";
+ next;
+ mes "["+getarg(8)+"]";
+ mes "Open your eyes.";
+ mes "You have become a "+getarg(1)+".";
+ jobchange getarg(0); //High Class
+ next;
+ if(!(QSK1 || QSK2 || QSK3 || QSK4)) goto L_NO_QSKILL;
+ mes "["+getarg(8)+"]";
+ mes "Let me just add in the missing Quest Skills you lost under the Reborn process, "+strcharinfo(0)+".";
+ next;
+//return learnt quest skills
+ if(getarg(4)) skill getarg(4),QSK1,0;
+ set SQK1,0;
+ if(getarg(5)) skill getarg(5),QSK2,0;
+ set SQK2,0;
+ if(getarg(6)) skill getarg(6),QSK3,0;
+ set SQK3,0;
+ if(getarg(7)) skill getarg(7),QSK4,0;
+ set SQK4,0;
+
+L_NO_QSKILL:
+ mes "["+getarg(8)+"]";
+ mes "I wish you good fortune in the near future!";
+ emotion 46;
+ close;
+
+L_NOTREADY:
+ mes "You are not ready to become a "+getarg(1)+".";
+ mes "You have to raise your Job Level to 10.";
+ emotion 0;
+ close;
+
+L_SKILLPNTS:
+ mes "You will need to use up all of your skill points if you want me to continue.";
+ emotion 20;
+ close;
+
+L_CART:
+ mes "Please, drop your cart and we'll continue.";
+ emotion 20;
+ close;
+
+L_FALCON:
+ mes "Please, free your Falcon and we'll continue.";
+ emotion 20;
+ close;
+
+L_PECO:
+ mes "Please, free your Pecopeco and we'll continue.";
+ emotion 20;
+ close;
+
+L_WELCOME:
+ mes "["+getarg(8)+"]";
+ mes "You are welcome, "+strcharinfo(0)+"!";
+ mes "We're always glad to see a "+getarg(1)+" here!";
+ close;
+
+L_ALREADY:
+ mes "["+getarg(8)+"]";
+ mes "It's such a big honor to salute envoys of Valhalla.";
+ mes "Come again.";
+ emotion 2;
+ close;
+}
+
+// function GET 3rd JOB
+//getarg(0) - High Job ID
+//getarg(1) - High Job Name
+//getarg(2) - 3rd Job ID
+//getarg(3) - 3rd Job Name
+function script F_Rebirth {
+ mes "["+getarg(3)+"]";
+ if(Upper == 2) goto L_BABY; //Baby Class - skip it
+ if(Class >= 4008) goto L_ALREADY; //already advanced class
+ if(Class == (3977+getarg(0)) && ADVJOB == (3977+getarg(2))) goto L_GET3RD; //Hight XXXX -> 3rd Job
+ mes "Go talk to either Valhallana or one of my collegues...";
+ emotion 17;
+ close;
+
+L_GET3RD:
+ if(JobLevel < 45) goto L_NOTREADY;
+ if(checkcart(0)) goto L_CART;
+ if(checkfalcon(0)) goto L_FALCON;
+ if(checkriding(0)) goto L_PECO;
+ if(skillpoint > 0) goto L_SKILLPNTS;
+
+ mes "Congratulations!";
+ mes "You have trained well. Now stroll here as a "+getarg(3)+"!";
+ jobchange getarg(2); //Rebirth Class
+ set ADVJOB,0;
+ close;
+
+L_NOTREADY:
+ mes "You have went so far to get here. But I am sorry, you aren't quite ready to become a "+getarg(3)+".";
+ mes "You need at least Job Level 45 or higher.";
+ emotion 0;
+ close;
+
+L_SKILLPNTS:
+ mes "You will need to use up all of your skill points if you want me to continue.";
+ emotion 20;
+ close;
+
+L_CART:
+ mes "Please, drop your cart and we'll continue.";
+ emotion 20;
+ close;
+
+L_FALCON:
+ mes "Please, free your Falcon and we'll continue.";
+ emotion 20;
+ close;
+
+L_PECO:
+ mes "Please, free your Pecopeco and we'll continue.";
+ emotion 20;
+ close;
+
+L_ALREADY:
+ mes "Well, hello there! You have been reborn once, there is no second chance.";
+ emotion 2;
+ close;
+
+L_BABY:
+ mes "What a lively baby!";
+ mes "How did you get here? Go to aunt Valhallana and ask her to take your home.";
+ emotion 41;
+ close;
+}
+
+// function GUIDE player to Valhalla for getting 3rd JOB
+// this function prevents passing 2nd JOB QUESTS by advanced classes also
+//getarg(0) - High Job ID
+//getarg(1) - High Job Name
+//getarg(2) - 3rd Job ID
+//getarg(3) - 3rd Job Name
+//getarg(4) - NPC Name
+function script F_BlockHigh {
+ if(Upper != 1) return; //This func should interact with Advanced classes only
+ mes "["+getarg(4)+"]";
+ if(Class == (3977+getarg(0)) && ADVJOB == (3977+getarg(2))) goto L_RIGHTHIGH;
+ if(Class == (3977+getarg(2))) goto L_RIGHT3RD;
+ if(Class >= 4008) goto L_ALREADY3RD; //already advanced class, but from wrong guild
+//this player is a High Novice
+ if(Class == 4001) mes "Hello, Novice High! If you are going to became a "+getarg(1)+", then go visit your very first job teacher.";
+//this player has 1st advanced job, but from wrong guild
+ if(Class == (3977+getarg(0))) mes "A "+getarg(1)+"?";
+ if(Class != 4001) mes "Rumors say only Valhallana knows your way...";
+ emotion 17;
+ close;
+
+L_RIGHT3RD:
+ mes "Well, hello there! You look... younger.";
+ emotion 20;
+ next;
+ mes "["+getarg(4)+"]";
+ mes "You are always welcome here, "+strcharinfo(0)+"!";
+ mes "Our good old guild is your second home, isn't it?";
+ emotion 21;
+ close;
+
+L_RIGHTHIGH:
+ mes "Hello, "+strcharinfo(0)+"!";
+ mes "If you are going to become a "+getarg(3)+", then you should visit Valhalla again.";
+ if(JobLevel < 45) mes "But you need at least Job Level 45 or higher.";
+ emotion 0;
+ close;
+
+L_ALREADY3RD:
+ mes "A "+getarg(3)+"?";
+ mes "You don't belong to our guild. Begone!";
+ emotion 23;
+ close;
+}
diff --git a/npc/cities/yuno.txt b/npc/cities/yuno.txt
new file mode 100644
index 000000000..679171119
--- /dev/null
+++ b/npc/cities/yuno.txt
@@ -0,0 +1,607 @@
+//===== eAthena Script =======================================
+//= Yuno City
+//===== By: ==================================================
+//= KitsuneStarwind, kobra_k88
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Added additional npcs. Added Metto quest. [kobra_k88]
+//= Moved item quest to quest folder. Re-edited a majority of the npcs. [kobra_k88]
+//= Removed duplicate npcs already found in the sage quest.
+//= Fixed & Spellchecked [massdriller]
+//============================================================
+
+
+
+
+//=================================================================================================//
+// NPCs Found outside
+//=================================================================================================//
+
+//======================================================================================
+yuno.gat,156,87,4 script Citizen of Yuno 47,{
+ mes "[Hans]";
+ mes "If you go north from Al De Baran you will arrive at 'Elmeth Plateau'.";
+ mes "It is a place that was once covered with molten rocks and lava.";
+ next;
+ mes "[Hans]";
+ mes "At the top of a mountain connected to the plateau, you can find a bridge that will lead you here to Yuno.";
+ next;
+ mes "[Hans]";
+ mes "Here in Yuno, you can visit world famous places such as the:";
+ mes "^5533FF'Yuphero Plaza'";
+ mes "'Yuno Conference Hall'";
+ mes "'Schweicherbil Magic Academy'^000000";
+ mes "and the ^5533FF'Museum of Monsters'^000000";
+ next;
+ mes "[Hans]";
+ mes "There is also the ^5533FF'Sage Castle'^000000 which is the greatest attraction in this city.";
+ mes "The castle is where people go to become Sages.";
+ next;
+ mes "[Hans]";
+ mes "If you have any interest in becoming a Sage, why not have a look around the castle?";
+ close;
+}
+
+//=======================================================================================
+yuno.gat,158,205,4 script Artisan 54,{
+ mes "[Artisan]";
+ mes "~(mumbling to himself.......)~";
+ next;
+ mes "[Artisan]";
+ mes "Oh hello there. Let me introduce myself. I am an artisan who is trying to carry on the traditions and duties of the master craftsmen here in Yuno.";
+ M_Menu:
+ next;
+ menu "About powerful equipment.",M_1,"About special items",M_2,"About authentic foods",M_3,"End conversation",M_End;
+
+ M_1:
+ mes "[Artisan]";
+ mes "For Crusaders, I suggest looking into the ^5533FF'Holy Guard' and 'Holy Avenger'^000000.";
+ mes "They are both light weight pieces of equipment and they perform remarkably well.";
+ next;
+ mes "[Artisan]";
+ mes "They also posses the holy property so they are even more powerful against undead and ghost creatures,";
+ next;
+ mes "[Artisan]";
+ mes "I've heard that these pieces of equipment are quite rare, and that only a chosen few are able to obtain them.";
+ goto M_Menu;
+
+ M_2:
+ mes "[Artisan]";
+ mes "One item that I know about is a magic scroll called the ^5533FF'Worn-Out Magic Scroll'^000000.";
+ mes "It is described to have a circle inside of another circle.... and a star...... ";
+ next;
+ mes "[Artisan]";
+ mes "Although the scroll is very old and tattered, it very special to many Sages who use it for their research.";
+ mes "Apparently it can be used with very high level magic spells.";
+ goto M_Menu;
+
+ M_3:
+ mes "[Artisan]";
+ mes "^5533FF'Rice Cake'^000000!! A traditional food that has been a favorite of many people over the years.";
+ mes "It has a way of reminding people of those old traditional markets and fairs.";
+ next;
+ mes "[Artisan]";
+ mes "Ah.... Rice Cake..... I sure wish I could eat some now..............";
+ //possible quest here .. not sure though
+ goto M_Menu;
+
+ M_End:
+ mes "[Artisan]";
+ mes "Although Yuno is known as the city of Sages,..............";
+ mes "I hope you will understand that Yuno is also home to many kind and gentle people who live ordinary lives.";
+ next;
+ mes "[Artisan]";
+ mes "Please enjoy everything this unique city has to offer.";
+ close;
+}
+
+//======================================================================================
+yuno.gat,336,227,4 script Yuno Granny 103,{
+ mes "[Granny]";
+ mes "Here you are......... I am an elderly Sage who can foresee everything before it happens.";
+ next;
+ mes "[Granny]";
+ mes "Have you heard about the boss monster, who's name has been buzzing around Yuno for the longest time?";
+ mes "It's called ^FF3355'Lord of the Dead'^000000. Rumor has it that it comes form the realm of the dead.";
+ next;
+ mes "[Granny]";
+ mes "It brings with it many undead monsters that are intent on leading the living to the cold and icy land of the dead.";
+ next;
+ mes "[Granny]";
+ mes "I know that you have already chosen whether or not you will fight the Lord of the Dead.";
+ mes "The only thing left for you to do is find out why you made that choice......";
+ close;
+}
+
+//========================================================================================
+yuno.gat,329,239,4 script Yuno Fighter 732,{
+ mes "[Sergiof]";
+ mes "My name is Sergiof and I am Granny's protector.";
+ next;
+ mes "[Sergiof]";
+ mes "Let me tell you about the ^5533FF'Grand Peco'^000000, which is a high level Peco Peco.";
+ mes "The Grand Peco is faster than regular Peco Pecos and has aggressive tendencies.";
+ next;
+ mes "[Sergiof]";
+ mes "It attacks its targets using its strong bill. It is always surrounded by a large group of Peco Pecos.";
+ next;
+ mes "[Sergiof]";
+ mes ".... Unfortunately it is time for us to part...... farewell...........";
+ close;
+}
+
+//========================================================================================
+yuno.gat,344,68,4 script Yuno Tyrant 730,{
+ mes "[Ninno]";
+ mes "Have you ever heard of an Egyptian king who was once believed to be the son of a god?";
+ mes "His name was ^5533FF'Pharaoh'^000000";
+ next;
+ mes "[Ninno]";
+ mes "Rumor has it that he was a high sorcerer and that he used his abilities to curse innocent people.";
+ mes "There are people that say he is still around, and continues to place curses on people.";
+ next;
+ mes "[Ninno]";
+ mes "Have you ever seen him before?";
+ close;
+}
+
+//=======================================================================================
+yuno.gat,261,98,4 script Ykla 735,{
+ mes "[Ykla]";
+ mes "^5533FFYuphero^000000......,";
+ mes "That was the name of the ancient city where the most intelligent and talented people used to live.";
+ next;
+ mes "[Ykla]";
+ mes "By finding a way to harness the power from the pieces of Ymir's heart, they became the most advanced city know to man.";
+ next;
+ mes "[Ykla]";
+ mes "However, over time they came to abuse that power and ended up destroying themselves.";
+ next;
+ mes "[Ykla]";
+ mes "If you ever find yourself in the position of acquiring this kind of power, make sure you remain humble to it.";
+ next;
+ mes "[Ykla]";
+ mes "Power without humility is nothing more than a fools path to destruction.";
+ close;
+}
+
+//=========================================================================================
+yuno.gat,306,207,6 script Sage Sykla 735,{
+ mes "[Sykla]";
+ mes "There is talk about a suspicious man living somewhere here in Yuno.";
+ mes "Apparently he is a dangerous person who is immersed in some kind of wicked research.";
+ next;
+ mes "[Sykla]";
+ mes "This so called 'Mad Scientist' spends his time working on complex ideas that cannot be understood by normal people.";
+ next;
+ mes "[Sykla]";
+ mes "Just outside of town you will find a monster called ^FF3355'Blazer'^000000.";
+ mes "This ball of magic flame attacks any living creature it finds with horrible spells such as fire bolt and fire ball.";
+ next;
+ mes "[Sykla]";
+ mes "This hideous creature is feared my most, if not all, of the people here in Yuno.";
+ mes "But what's even more frightening than the monster itself, is the rumor that the mad scientist was the one who created it....";
+ next;
+ mes "[Sykla]";
+ mes "Imagine if this mad man were to create more of these creatures..... possibly create monsters even more powerful than Blazer....";
+ close;
+}
+
+//==========================================================================================
+yuno.gat,162,328,4 script Sage Eskla 735,{
+ mes "[Eskla]";
+ mes "I remember seeing it once........ Yeah... I remember now....... ";
+ mes "There was this piece of paper floating in the air. I asked myself, 'Hmm... who lost a piece of paper out here?'.";
+ next;
+ mes "[Eskla]";
+ mes "Then... without warning.... the piece of paper attacked me!! ME! One of the GREATEST Sages in Yuno!!";
+ emotion 23;
+ next;
+ mes "[Eskla]";
+ mes "I said to the piece of paper, 'How dare you attack me you little piece of paper!!' and struck it with my trusty sword.";
+ mes "But that piece of paper was persistent and annoying at that.";
+ emotion 0;
+ next;
+ mes "[Eskla]";
+ mes "Using its paper thin body it dodged my sword simply by turning itself. The way it was turned I couldn't even tell if it was still there.";
+ mes "Dammit it was thin!!!";
+ next;
+ mes "[Eskla]";
+ mes "I decided to finally put an end to things and used a powerful magic spell to destroy that little piece of paper.";
+ mes "Because I had so much difficulty in defeating it, I decided to ask my colleagues if they knew anything about it.";
+ next;
+ mes "[Eskla]";
+ mes "I found out what I had fought was called ^FF3355'The Paper'^000000.";
+ mes "People say that it used to be part of an old book that contained a great deal of ancient knowledge about Yuno.";
+ next;
+ mes "[Eskla]";
+ mes "Somehow it became a monster....... isn't that weird?";
+ close;
+}
+
+
+
+//======================================================================================
+yuno.gat,166,111,4 script Remorpheous 120,{
+ mes "[Remorpheous]";
+ mes "'Apocalypse'. he, an artificial human being,";
+ mes "was the chief of gatekeepers and in charge of public order of the city";
+ mes "of [Yuno] during the Ancient times civilization...";
+ close;
+ mes "[Remorpheus]";
+ mes "....similar to Robot. After living for a long time,";
+ mes "its A.I. totally screwed up,it couldn't recognize friend or foe anymore,";
+ mes "so without consideration of friends or foe......";
+ close;
+ mes "[Remorpheus]";
+ mes ".... it became a monster that attacks anyone regardless";
+ close;
+}
+
+//=====================================================================================
+yuno.gat,185,173,3 script Impressor 729,{
+ mes "[Impressor]";
+ mes "Scholar's city, 'Yuno' is made of 3 big islands.";
+ next;
+ mes "[Impressor]";
+ mes "those are,";
+ mes "The island of Glory - Solomon";
+ mes "The island of Prosperity - Minetta";
+ mes "The island of Wisdom - Snottra";
+ next;
+ mes "[Impressor]";
+ mes "Each island's location are:";
+ mes "Northwest: Solomon";
+ mes "Northeast: Snottra";
+ mes "South: Minetta";
+ close;
+}
+
+//=====================================================================================
+yuno.gat,80,150,4 script Young Woman 746,{
+ mes "[Young Woman]";
+ mes "Have you ever seen such a beautiful city?";
+ mes "And Yuno at night time is so wonderful with its lights shiny through the clouds";
+ next;
+ mes "[Young Woman]";
+ mes "I'm sorry i got carried away , its my first time being here in the City of Sages";
+ mes "i suggest you go look around and enjoy your self";
+ next;
+ mes "[Young Woman]";
+ mes "I believe i shall wait around here till nightfall just so i can see the lights clearly";
+ mes "maybe i will see you here later";
+ close;
+}
+
+
+//===================================================================================================//
+// Metto Quest
+//===================================================================================================//
+
+//========================================================================
+yuno_in03.gat,25,39,3 script Metto 709,{
+ mes "[Metto]";
+ if(metto_q == 2 || metto_q == 4 || metto_q == 6) goto L_Check;
+ if(metto_q == 1) goto L_Stang;
+ if(metto_q == 3) goto L_Kato;
+ if(metto_q == 5) goto L_Cici;
+ if(metto_q == 7) goto L_Ruined;
+ if(metto_q > 7) goto L_Done;
+ mes "Whether it be today, tomorrow, or the next day, I spend every moment I have on my research.";
+ mes "My whole life has been dedicated to making............";
+ next;
+ mes "[Metto]";
+ mes "NEW YUNO, my own kingdom. In order to do that I must research how this city floats in the air.";
+ mes "If I'm able to do so..... my goals will no longer be a mere dream, but a reality!!";
+ next;
+ mes "[Metto]";
+ mes "That ^5544FFWagan^000000 thinks my research means nothing......";
+ mes "But he doesn't realize that my ideas have been blessed by the Gods themselves!";
+ close;
+
+L_Stang:
+ mes "I'm going to ask my colleague ^5533FFStangckle^000000 to help me. I am sure he will be more than willing to help out an old friend.";
+ next;
+ mes "[Metto]";
+ mes "Hmmm.... If I had that fellow's help, this would be much easier.... Pray! Pray to whatever God you believe in that we will succeed!";
+ set metto_q, 2;
+ close;
+L_Kato:
+ mes "What??!! That fool Stangckle said he doesn't want to help me?? This is not good...... My research will slow down considerably.";
+ mes "......... What will I do now?!?!?";
+ emotion 19;
+ next;
+ mes "[Metto]";
+ mes "Luckily I have a backup plan. I'm certain that my friend and colleague ^5533FFKato^000000 will lend me a hand.";
+ next;
+ mes "[Metto]";
+ mes "If I could only get a chance to study his super robot, the 'Great Z', I could continue my research.......";
+ next;
+ mes "[Metto]";
+ mes "That Stangckle can have it his way for all I care. Even if he doesn't help me, my research will still go on.... it must!";
+ next;
+ mes "[Metto]";
+ mes "Expect great things from me young friend..... MUHAHAHAHAH!!!!";
+ set metto_q, 4;
+ emotion 29;
+ close;
+L_Cici:
+ mes "WHAT!?!? You're telling me that the very thing I need to continue my research with... the Great Z.... has been DESTROYED!?!?";
+ emotion 16;
+ next;
+ mes "[Metto]";
+ mes "NOOOOOOO!!! Why?? How?? Why would he do that? Are the Gods cursing me?!?";
+ emotion 6;
+ next;
+ mes "[Metto]";
+ mes "Wait.... I need to calm down...";
+ mes "If I can just get the help of professor ^5533FFCiCi^000000 with his 'Riding Engine Theory', I may be able to finish my research.......";
+ next;
+ mes "[Metto]";
+ mes "*sigggghhhh* I still have hope...... YES I DO!! HAHAHA!!!";
+ set metto_q, 6;
+ emotion 29;
+ close;
+L_Check:
+ mes "I better get going so I can check this new thing out..... What are you still doing here?";
+ mes "I'll be leaving in a bit. I need to get ready so why don't you go ahead and just take off.......";
+ close;
+L_Ruined:
+ mes "............................";
+ next;
+ mes "[Metto]";
+ mes "How could something like this happen?? All 3 of my colleagues abandoning me all at once?!?!";
+ mes "It's true....... the Gods HAVE forsaken me..... I'm ruined...... RUINED!!!";
+ emotion 28;
+ next;
+ mes "[Metto]";
+ mes "What else can I do now? Has the time really come for me to let go of all of my research?....";
+ mes "Those many, many years of research?........";
+ emotion 28;
+ next;
+ mes "[Metto]";
+ mes "You must be disappointed...... but please, forget about all of this... forget about me........";
+ mes "Who would do this to me? What kind of malicious person would shatter a man's dreams??";
+ next;
+ mes "[Metto]";
+ mes "I suddenly feel tired now....... It's time for me to give up....... It's all over. Please don't be too disappointed.......";
+ set metto_q, 8;
+ close;
+L_Done:
+ mes "Maybe I should look into getting a job change. I hear it's a popular thing to do these days. I wonder what profession I should go into?";
+ mes "All I know for sure is that I don't want to be a scientist anymore.";
+ next;
+ mes "[Metto]";
+ mes "I'm done with research forever.............";
+ close;
+}
+
+//=====================================================================
+yuno_in01.gat,18,95,5 script Stangckle 99,{
+ mes "[Stangckle]";
+ if(metto_q > 2) goto L_Done;
+ if(metto_q == 2) goto L_Start;
+ mes "I am one of the scientists in this city. My name is ^5533FFStangckle^000000.";
+ mes "Remember my name for it may be useful to you in the future. Who knows, I may just invent something incredible.";
+ close;
+L_Start:
+ mes "What can I do for you? My colleague Metto is coming here soon, so I don't have much time.";
+ mes "So what did you say you needed??";
+ next;
+ menu "I need to talk to you about Metto!!",-, "Actually I don't need anything.",M_End;
+
+ mes "[Stangckle]";
+ mes "......................";
+ next;
+ mes "[Stangckle]";
+ mes "..................................";
+ next;
+ mes "[Stangckle]";
+ mes "Is this true?? Metto doesn't think of me as a colleague, and is only USING me?";
+ mes "He sees me as a lowly assistant and is going to STEAL all the CREDIT for our discoveries?!!";
+ emotion 23;
+ next;
+ mes "[Stangckle]";
+ mes "I can't believe I trusted him..... the rumors were true.... he IS a selfish mad man!!!.......";
+ mes "And to think I respected a scumbag like that!!";
+ emotion 32;
+ next;
+ mes "[Stangckle]";
+ mes "I don't think I can even bear to see his disgusting face anymore.....";
+ next;
+ mes "[Stangckle]";
+ mes "I'm glad that an honest and trustworthy person such as yourself had the guts to tell me the ugly truth about Metto.";
+ mes "Thank you for sharing that information with me.";
+ next;
+ mes "[Stangckle]";
+ mes "Now if you'll excuse me, I have some work to do.";
+ set metto_q, 3;
+ close;
+ M_End:
+ mes "[Stangckle]";
+ mes "What are you doing here then? Stop wasting my time.";
+ emotion 4;
+ close;
+L_Done:
+ mes "So Metto was truly a mad scientist after all...... I guess he will be the one who will ultimately pay for that choice.......";
+ close;
+}
+
+//===================================================================
+yuno_in01.gat,19,182,3 script Kato 55,{
+ mes "[Kato]";
+ if(metto_q > 4) goto L_Done;
+ if(metto_q == 4) goto L_Start;
+ mes "I am a scientist that specializes in ^5533FFArtificial Intelligence and Robotics^000000.";
+ mes "Although I'm not working on a specific project at this moment, my latest creation the 'Great Z' is truly a work of sheer genius!";
+ close;
+
+L_Start:
+ mes "As a scientist I research many different things.... of course this research is private. What can I do for you?";
+ next;
+ menu "I have news from Metto!",-, "Just wanted to say hello.",M_End;
+
+ mes "[Kato]";
+ mes "WHAT!!?? Metto said my Great Z is INFERIOR to Stangckles research!!??";
+ mes "He.... he said I should rename it to 'LAME Z'??.......";
+ emotion 23;
+ next;
+ mes "[Kato]";
+ mes "*Sniff* I... I don't believe it.... *sob* how could he say that?..... If... if my invention is no good.....";
+ mes "Then I guess I should destroy it.... my Great Z.... *sigh*";
+ emotion 28;
+ next;
+ mes "[Kato]";
+ mes "How could that Metto be such a heartless bastard?? Thank you for letting me know Metto's TRUE feelings about my work.";
+ set metto_q, 5;
+ close;
+ M_End:
+ mes "[Kato]";
+ mes "........... Okay.... Um.... Hey........";
+ close;
+
+L_Done:
+ mes "I am interested in researching artificial intelligence. You know, like robots.";
+ mes "I know that it is something very difficult to accomplish, but where there's a will, there's a way.";
+ next;
+ mes "[Kato]";
+ mes "If you ever see something amazing that is similar to what I described, you'll know that it's my handwork.";
+ close;
+}
+
+//===================================================================
+yuno_in03.gat,179,43,5 script CiCi 121,{
+ mes "[CiCi]";
+ if(metto_q > 6) goto L_Done;
+ mes "My name is ^5533FFCiCi^000000. I am one of the ^5533FF3 great scientists^000000 that live in this city.";
+ mes "Although there are many great scientists in this town, being one of the top 3 is a true honor don't you think??";
+ if(metto_q == 6) goto L_Start;
+ close;
+
+L_Start:
+ next;
+ mes "[CiCi]";
+ mes "Heh, I guess I was being a little to egoistical there.... anyways what can I do for you?";
+ next;
+ menu "Metto wanted me to tell you this......",-, "Nothing, just saying hey.",M_End;
+
+ mes "[CiCi]";
+ mes "Hmm?? Metto said that he doesn't need my Riding Engine Theory?? Hmphf! How dare he!!!";
+ emotion 32;
+ next;
+ mes "[CiCi]";
+ mes "I have half a mind to teach him a little something about TRUE science and INTELLIGENT research!!";
+ emotion 7;
+ next;
+ mes "[CiCi]";
+ mes "... Whatever.... I don't have the necessary equipment to help him anyways.";
+ mes "I guess, either way, he didn't have a chance.";
+ next;
+ mes "[CiCi]";
+ mes "Let him know that I didn't really want to be a part of what he was doing in the first place.";
+ mes "He isn't even doing the type of research that could be publicized.........";
+ set metto_q, 7;
+ close;
+
+ M_End:
+ mes "[CiCi]";
+ mes "What? That's it? You just wanted to waste some time?...........";
+ emotion 4;
+ close;
+
+L_Done:
+ mes "Hmm... I want to improve the Riding Engine but I lack the necessary parts. What a headache....";
+ mes "Metto never offered me any help at all. This is not going to be easy.......";
+ close;
+}
+
+//===================================================================
+yuno_in01.gat,18,30,3 script Wagan 85,{
+ mes "[Wagan]";
+ if(metto_q > 0) goto L_Check;
+ mes "I'm sure you know that our village has been able to prosper for many years because of the brilliant research done here.";
+ mes "We owe a great deal to those who have dedicated their lives to research and study.";
+ next;
+ mes "[Wagan]";
+ mes "It is because of them that we can enjoy such a wonderful quality of life here.";
+ mes "They have been able to work together and support each other which is great to see.";
+ next;
+ mes "[Wagan]";
+ mes "Unfortunately there are a few 'bad apples' that cause problems within this solid community of researchers.";
+ next;
+ mes "[Wagan]";
+ mes "These people just drive me crazy!";
+ emotion 6;
+ next;
+ mes "[Wagan]";
+ mes "They think only of themselves and their crazy actions make it much more difficult for everyone else.";
+ mes "Out of those few selfish mad men, ^FF3333'Metto'^000000 must be the worst by far.";
+ next;
+ mes "[Wagan]";
+ mes "This disturbed individual does nothing but destroy public facilities, create harmful pollutants, disrupt other peoples lives......";
+ next;
+ mes "[Wagan]";
+ mes "..... the list goes on and on. What's worse..... He tries to justify his dreadful actions by calling it 'research'!!!!";
+ mes "He has definitely lost his sanity and has gone too far!!";
+ emotion 7;
+ next;
+ mes "[Wagan]";
+ mes "If only there was a way to stop this mad man from destroying our community......";
+ mes "I just wish there was someone capable and brave enough to put an end to ^FF3333Metto's^000000 insanity.......";
+ next;
+ menu "Leave it to me.",-, "I wish your city the best of luck...",M_End;
+
+ mes "[Wagan]";
+ mes "Oh?? Are you really going to help us stop Metto? Our city would be very grateful if you could do this.......";
+ mes "But how exactly do you plan on accomplishing this rather difficult task?";
+ emotion 1;
+ next;
+ menu "Yeah it's pretty hard....",M_End, "Well, I guess I need to think of a plan now.....",-;
+
+ mes "[Wagan]";
+ mes "Yes a solid plan will be necessary to put a stop to Metto. You will need to trick him into quitting his evil experiments somehow......";
+ mes "It will have to be something subtle like....... hmm........";
+ next;
+ mes "[Wagan]";
+ mes "... Sabotaging his experiments in a way that makes it look like he was destined to fail.";
+ mes "He is talkative so you may be able to get him to tell you everything you need to know about his work.";
+ next;
+ mes "[Wagan]";
+ mes "To be honest.... I have been thinking about this plan for a while.........";
+ set metto_q, 1;
+ close;
+ M_End:
+ mes "[Wagan]";
+ mes "We will have to hope that fate will be on our side as we wait for things to unfold......";
+ mes "Come to think of it.... Metto is a strong believer in fate..... If we could only use that to your advantage somehow....";
+ close;
+L_Check:
+ if(metto_q == 8) goto L_Thank;
+ if(metto_q == 9) goto L_Done;
+ mes "How goes your work on sabotaging Metto's experiments? Hopefully the plan is going well.";
+ mes "I'm sorry to involve you in our city's problems, but we really do appreciate you efforts.";
+ close;
+L_Thank:
+ mes "Is this true? You were able to shut down Metto's research? Thank you sooo much for your help.";
+ mes "Without Metto causing trouble we have a lot less to worry about.";
+ emotion 5;
+ next;
+ mes "[Wagan]";
+ mes "The people of this city are grateful to you. Here is a little token of our appreciation......";
+ next;
+ mes "[Wagan]";
+ mes "Thank you once again for your assistance! I wish you the best of luck in all of your future endeavors!!!";
+ getitem 715,10;
+ emotion 15;
+ set metto_q, 9;
+ close;
+L_Done:
+ mes "Things have been much more peaceful around here now that Metto has been shut down. Thank you once again for your help.";
+ emotion 15;
+ close;
+} \ No newline at end of file
diff --git a/npc/custom/2-2shop.txt b/npc/custom/2-2shop.txt
new file mode 100644
index 000000000..c8d9edc9b
--- /dev/null
+++ b/npc/custom/2-2shop.txt
@@ -0,0 +1 @@
+prontera.gat,155,211,5 shop 2-2 Class Shop 86,1950:-1,1952:-1,1954:-1,1956:-1,1958:-1,1960:-1,1801:-1,1803:-1,1805:-1,1811:-1,1809:-1,1901:-1,1903:-1,1905:-1,1909:-1,1911:-1,1907:-1,1550:-1,1551:-1,1552:-1,1553:-1,1554:-1,1555:-1,1556:-1,1557:-1,1558:-1,2341:-1,2343:-1 \ No newline at end of file
diff --git a/npc/custom/Auctioneer.txt b/npc/custom/Auctioneer.txt
new file mode 100644
index 000000000..9a36bc268
--- /dev/null
+++ b/npc/custom/Auctioneer.txt
@@ -0,0 +1,563 @@
+//===== eAthena Script ======================================================================
+//= 1. Auctioneer
+//= 2. Auction Helping (Gives info only, but still good to have in)
+//===== Original By =========================================================================
+//= Fredzilla
+//===== Helped By ===========================================================================
+//= Not one quite yet, but you never know ;)
+//===== Current Version: ====================================================================
+//= 1.0 (Beta) < Thats means it is in testing
+//===== Compatible With: ====================================================================
+//= Any eAthena, that also has a script_athena.conf
+//===== Description: ========================================================================
+//= Lets a people place items into an auction, max of 10 items per round
+//= People can bid on them item
+//= Then buy the items, and sellers pickup there money
+//===== Comments and Credits ===========================================================
+//= This script would not have been made possible if it was not for "Maeki Rika"
+//= My praise goes out to her for finding out all the things we can do with the
+//= current system that eAthena uses
+//=
+//= More comments are listed down the page, in a attempt to explain what is going on in each
+//= section of the script
+//=
+//= This script is currently in testing, and any loss of items will, not only need to be
+//= reported inside the thread I made for this script, but be replaced by GM if proof was given :D
+//===========================================================================================
+
+prontera.gat,153,193,5 script Auctioneer 807,{
+ mes "[Auctioneer]";
+ set @num,0;
+// These few line below are to recover item that would be lost due to a new auction starting
+L_RNameLoop:
+ if(strcharinfo(0)==$ANamesB$[@num] && $paidB[@num]==0) goto L_RBackup;
+ set @num,@num+1;
+ if(@num<10) goto L_RNameLoop;
+ if($Auction==1) goto L_Register;
+ if($Auction==2) goto L_Bid;
+ if($Auction==3) goto L_PayPickup;
+
+// After a server restart, and no auction value is set, it will run this
+// People who placed items in there before the restart should still be to retrieve there items
+
+ mes "You are able to sell and buy things inside the auction, unfortunately nothing has been started, you need to wait for the auction to start";
+ mes "No items lost will be given back, please remember you used this at your own risk";
+ next;
+ mes "[Auctioneer]";
+ mes "I am very sorry if you have lost items";
+ close;
+
+// If the Auction has started, it will run this, during this time items can be registerd and registerd items retrieved
+
+L_Register:
+ mes "Welcome to the auction, you may register you items at this time";
+ next;
+ set @num,0;
+L_NameLoop:
+ if(strcharinfo(0)==$ANames$[@num]) goto L_Already;
+ set @num,@num+1;
+ if(@num<10) goto L_NameLoop;
+ if(getarraysize($AItems)==10) goto L_AFull;
+ menu "I want to register an item now",L_IRegister,"I dont want to leave an item",-;
+L_End:
+ mes "[Auctioneer]";
+ mes "Ok, come back whenever";
+ close;
+L_IRegister:
+ mes "[Auctioneer]";
+ mes "Listed below is the first 10 items you have on you now";
+ mes "What do you want to register?";
+ next;
+ set @array,0;
+ set @item,500;
+// set @loopcount,0;
+L_ILoop:
+// set @loopcount,@loopcount+1;
+// debugmes @loopcount;
+ set @item,@item+1;
+ if(@item>=13005) goto L_Menu;
+ if(countitem(@item)>0) set @item2[@array],@item;
+ if(countitem(@item)>0) set @array,@array+1;
+ if(@array==10) goto L_Menu;
+ set @item,@item+1;
+ if(countitem(@item)>0) set @item2[@array],@item;
+ if(countitem(@item)>0) set @array,@array+1;
+ if(@array==10) goto L_Menu;
+ set @item,@item+1;
+ if(countitem(@item)>0) set @item2[@array],@item;
+ if(countitem(@item)>0) set @array,@array+1;
+ if(@array==10) goto L_Menu;
+ set @item,@item+1;
+ if(countitem(@item)>0) set @item2[@array],@item;
+ if(countitem(@item)>0) set @array,@array+1;
+ if(@array==10) goto L_Menu;
+ set @item,@item+1;
+ if(countitem(@item)>0) set @item2[@array],@item;
+ if(countitem(@item)>0) set @array,@array+1;
+ if(@array==10) goto L_Menu;
+ set @item,@item+1;
+ if(countitem(@item)>0) set @item2[@array],@item;
+ if(countitem(@item)>0) set @array,@array+1;
+ if(@array==10) goto L_Menu;
+ set @item,@item+1;
+ if(countitem(@item)>0) set @item2[@array],@item;
+ if(countitem(@item)>0) set @array,@array+1;
+ if(@array==10) goto L_Menu;
+ set @item,@item+1;
+ if(countitem(@item)>0) set @item2[@array],@item;
+ if(countitem(@item)>0) set @array,@array+1;
+ if(@array==10) goto L_Menu;
+ set @item,@item+1;
+ if(countitem(@item)>0) set @item2[@array],@item;
+ if(countitem(@item)>0) set @array,@array+1;
+ if(@array==10) goto L_Menu;
+ set @item,@item+1;
+ if(countitem(@item)>0) set @item2[@array],@item;
+ if(countitem(@item)>0) set @array,@array+1;
+ if(@array==10) goto L_Menu;
+ goto L_ILoop;
+L_Menu:
+ menu getitemname(@item2[0]),-,getitemname(@item2[1]),-,getitemname(@item2[2]),-,getitemname(@item2[3]),-,getitemname(@item2[4]),-,getitemname(@item2[5]),-,getitemname(@item2[6]),-,getitemname(@item2[7]),-,getitemname(@item2[8]),-,getitemname(@item2[9]),-,"Next Page",L_WipeLoop;
+ set @setitem,@item2[@menu-1];
+ set @num,0;
+L_SorryLoop:
+ set @num,@num+1;
+ if(@menu==@num && @setitem == 0) goto L_Sorry;
+ if(@num==10) goto L_FinalReg;
+ goto L_SorryLoop;
+L_FinalReg:
+ mes "[Auctioneer]";
+ mes "Please remember that if this item does contain cards, or is crafted, these distinctions will be lost when it is put into the auction";
+ mes "This also means if you get the item back, that this applies to, you will have lost out";
+ mes " ";
+ mes "So you want to register your "+getitemname(@setitem);
+ next;
+ menu "Yes please",-,"No",L_End;
+ mes "[Auctioneer]";
+ mes "Ok I will register this item now";
+ next;
+ set @amount,1;
+ if(countitem(@setitem)==1) goto L_FinalInput;
+ mes "[Auctioneer]";
+ mes "Wait a minute it seems you have more than one of that item, please enter the ammount you want to put in the aution";
+ next;
+ input @amount;
+ if(countitem(@setitem)<@amount) goto L_NotEnough;
+L_FinalInput:
+ set $AItems[$array],@setitem;
+ set $ANames$[$array],strcharinfo(0);
+ set $AAmount[$array],@amount;
+ set $array,$array+1;
+ delitem @setitem,@amount;
+ mes "[Auctioneer]";
+ mes "You item has been taken into storage, ready for sale, the auction will begin soon, watch for the announcment";
+ close;
+L_AFull:
+ mes "[Auctioneer]";
+ mes "Oh, sorry, it seems my auction is full this time round, please try in the next one";
+ close;
+L_WipeLoop:
+ deletearray @item2[0],10;
+ set @array,0;
+ goto L_ILoop;
+L_Sorry:
+ mes "[Auctioneer]";
+ mes "It seems that is all you have to offer me, come back when you know what you want to sell";
+ close;
+L_Already:
+ mes "[Auctioneer]";
+ mes "It seems you already have have an item registerd here, would you like to retrieve your item?";
+ next;
+ menu "Yes",-,"No",L_End;
+ getitem $AItems[@num],$AAmount[@num];
+L_AItemsLoop:
+ set $AItems[@num],$AItems[@num+1];
+ set $ANames$[@num],$ANames$[@num+1];
+ set $AAmount[@num],$AAmount[@num+1];
+ set @num,@num+1;
+ if(@num<10) goto L_AItemsLoop;
+ set $array,$array-1;
+ set @num,0;
+ mes "[Auctioneer]";
+ mes "Ok, all items present and acounted for, have a nice day";
+ close;
+L_NotEnough:
+ mes "[Auctioneer]";
+ mes "Seems you dont have that much "+getitemname(@setitem)+"'s";
+ close;
+// If the Auction has enterd phase 2, it will run this, during this time items you can bid on registerd
+// No items can be retrieved during this time, they are now stuck
+
+L_Bid:
+ mes "What would you like to bid on?";
+ next;
+ set @num,0;
+L_MenuLoop:
+ set @menu$[@num],$AAmount[@num]+" x "+getitemname($AItems[@num])+" "+$bid[@num]+"z";
+ set @num,@num+1;
+ if($AItems[@num]!=0) goto L_MenuLoop;
+ menu
+ @menu$[0],-,
+ @menu$[1],-,
+ @menu$[2],-,
+ @menu$[3],-,
+ @menu$[4],-,
+ @menu$[5],-,
+ @menu$[6],-,
+ @menu$[7],-,
+ @menu$[8],-,
+ @menu$[9],-;
+ mes "[Auctioneer]";
+ set @num,@menu-1;
+ if(strcharinfo(0)==$ANames$[@num]) goto L_CantBid;
+L_ReBid:
+ mes "You are currently bidding on "+$AAmount[@num]+" x "+getitemname($AItems[@num]);
+ mes "The current bid is at "+$bid[@num]+"z";
+ mes "This was made by "+$bidders$[@num];
+ if($bidders$[@num]==strcharinfo(0)) goto L_AlreadyBid;
+ mes "How much do you want to bid yourself";
+ mes "(Use 0 to cancel at this point)";
+ next;
+ input @bid;
+ if(@bid<=0) goto L_End;
+ if(zeny<@bid) goto L_LowZeny;
+ if(@bid<$bid[@num]) goto L_LowBid;
+ mes "[Auctioneer]";
+ mes "You are about to bid "+@bid+"z for "+$AAmount[@num]+" x "+getitemname($AItems[@num]);
+ mes "Are you sure?";
+ next;
+ menu "Yes",-,"No",L_End;
+ set $bid[@num],@bid;
+ set $bidders$[@num],strcharinfo(0);
+ mes "[Auctioneer]";
+ mes "Your bid has been entered";
+ close;
+L_LowZeny:
+ mes "[Auctioneer]";
+ mes "Sorry you need to show me that amount as proof you could pay, if you do win";
+ mes "Please either get more money, or bid lower";
+ close;
+L_CantBid:
+ mes "Sorry, you cant bid on your own lots";
+ close;
+L_LowBid:
+ mes "[Auctioneer]";
+ mes "Your bid seems lower than the current one, try entering a higher ammount of zeny";
+ next;
+ mes "[Auctioneer]";
+ goto L_ReBid;
+L_AlreadyBid:
+ mes "Hey wait, that is you, you can't bid again";
+ close;
+// If the Auction has entered phase 3, it will run this
+// During this time, items that have been bid on can be bought
+// Items not bid on can be picked back up by the seller
+// And if any of the items have been bought, and are paid for, seller can pick up their money
+
+L_PayPickup:
+ mes "The auction has now ended";
+ mes "What would you like to do?";
+ next;
+ menu "Check for items I have sold",-,"Check for items I have won",L_Won,"Nothing",L_End;
+
+// Check starts here for if you have sold anything during this auction
+
+ set @num,0;
+L_SoldLoop:
+ if($ANames$[@num]==strcharinfo(0)) goto L_Sold;
+ set @num,@num+1;
+ if(@num<10) goto L_SoldLoop;
+ mes "[Auctioneer]";
+ mes "Sorry it seems you have either picked up all you items, money";
+ mes "or you didnt register any items in this auction";
+ close;
+L_Sold:
+ mes "[Auctioneer]";
+ if($paid[@num]==3) goto L_Returned;
+ mes "Ah I see here, you sold your "+$AAmount[@num]+" x "+getitemname($AItems[@num]);
+ mes "Lets see here it sold for";
+ next;
+ if($bid[@num]==0) goto L_GiveBack;
+ if($paid[@num]==2) goto L_AlreadyPaid;
+ mes "[Auctioneer]";
+ mes $bid[@num]+"z and "+$bidders$[@num]+" bought it from you";
+ if($paid[@num]!=1) goto L_NoMoney;
+ mes "They have fully paid for it, so here is your money";
+ next;
+ set zeny,zeny+$bid[@num];
+ set $paid[@num],2;
+ goto L_End;
+L_AlreadyPaid:
+ mes "[Auctioneer]";
+ mes "Hmm, seems you already have you money for this lot, not trying to con me are you?";
+ close;
+L_Returned:
+ mes "[Auctioneer]";
+ mes "Seems we returned you item already";
+ close;
+L_GiveBack:
+ mes "[Auctioneer]";
+ mes "Seems no-one wanted your item(s)";
+ mes "So you can have them back now";
+ getitem $AItems[@num],$AAmount[@num];
+ set $paid[@num],3;
+ close;
+L_NoMoney:
+ mes "Sorry to say this but they havent paid this yet";
+ mes "You can go and talk to them now, or you can wait";
+ mes "If they havent paid by the time the next Auction starts come back to me to retrieve your item(s)";
+ close;
+
+// Check starts here for if you won any items during this auction, futher options follow
+
+L_Won:
+ set @num,0;
+ mes "[Auctioneer]";
+L_WonLoop:
+ if($bidders$[@num]==strcharinfo(0)) goto L_Winner;
+L_CarryOn:
+ set @num,@num+1;
+ if(@num<10) goto L_WonLoop;
+ mes "Sorry you didnt win any of the lots, please try again next time";
+ close;
+L_Winner:
+ if($paid[@num]>0) goto L_CarryOn;
+ mes "Well it does seem you have won an item";
+ mes "You won "+$AAmount[@num]+" x "+getitemname($AItems[@num]);
+ mes "And you bid "+$bid[@num]+"z for this lot";
+ mes "What do you want to do now?";
+ next;
+
+// At this point they can choose from 3 options, to Buy the current lot
+// see the next one they might have won, or give up that lot
+
+ menu "Buy this lot",-,"See Next Lot you won",L_CarryOn,"Relinquish this lot",L_Back;
+ if(zeny<$bid[@num]) goto L_2lowzeny;
+ set zeny,zeny-$bid[@num];
+ getitem $AItems[@num],$AAmount[@num];
+ set $paid[@num],1;
+ mes "[Auctioneer]";
+ mes "Our transaction is completed";
+ mes "See you again soon";
+ close;
+L_2lowzeny:
+ mes "[Auctioneer]";
+ mes "Sorry it seems you dont have enough zeny on you, please acquire more";
+ close;
+L_Back:
+ mes "[Auctioneer]";
+ mes "Are you sure you want to give up this lot?";
+ next;
+ menu "Yes",-,"No",L_End;
+ set $bid[@num],0;
+ set $bidders$[@num],"no-one";
+ mes "[Auctioneer]";
+ mes "It is done, you might want to tell "+$ANames$[@num]+" they can come and pickup his item(s)";
+ close;
+
+// All the times that will start the Auction
+
+OnClock0100:
+OnClock0400:
+OnClock0700:
+OnClock1000:
+OnClock1300:
+OnClock1600:
+OnClock1900:
+OnClock2200:
+// Starting Backup
+ copyarray $AItemsB[0],$AItems[0],10;
+ copyarray $ANamesB$[0],$ANames$[0],10;
+ copyarray $AAmountB[0],$AAmount[0],10;
+ copyarray $paidB[0],$paid[0],10;
+// End backup - Start Wiping
+ deletearray $paid[0],10;
+ deletearray $bid[0],10;
+ deletearray $bidders$[0],10;
+ deletearray $AItems[0],10;
+ deletearray $ANames$[0],10;
+ deletearray $AAmount[0],10;
+ set $array,0;
+// End Wiping - Begin Announce + Phase setting
+ announce "Registration time has begun, see the Auctioneer to register your items",0;
+ cleararray $bidders$[0],"no-one",10;
+ set $Auction,1;
+ end;
+
+// All the times that will start the bidding section
+
+OnClock0200:
+OnClock0500:
+OnClock0800:
+OnClock1100:
+OnClock1400:
+OnClock1700:
+OnClock2000:
+OnClock2300:
+ if($Auction==0) end;
+ announce "Registration time has ended, time for the biding to begin",0;
+ set $Auction,2;
+ initnpctimer;
+ end;
+
+// All the times that will start the last phase, buying and seller, and item retrieval
+
+OnClock0300:
+OnClock0600:
+OnClock0900:
+OnClock1200:
+OnClock1500:
+OnClock1800:
+OnClock2100:
+OnClock0000:
+ if($Auction==0) end;
+ announce "Bidding time has ended, see the Auctioneer to get your items, or money",0;
+ set $Auction,3;
+ end;
+
+// On the start of the server it will reset the Auction state, but not the items it contains
+// so people still have have a chance to retrieve there lost items
+
+OnInit:
+ copyarray $AItemsB[0],$AItems[0],10;
+ copyarray $ANamesB$[0],$ANames$[0],10;
+ copyarray $AAmountB[0],$AAmount[0],10;
+ copyarray $paidB[0],$paid[0],10;
+ deletearray $paid[0],10;
+ deletearray $bid[0],10;
+ deletearray $bidders$[0],10;
+ deletearray $AItems[0],10;
+ deletearray $ANames$[0],10;
+ deletearray $AAmount[0],10;
+ set $array,0;
+ set $Auction,0;
+ end;
+
+// All below is for anouncing the items in this auction, if there are none it will say so
+// and if there are none in there at the start of phase 2 it will reset the auctions state
+// This is to stop the auction ending message, and will only start again when it reachs phase 1 again
+
+OnTimer5000:
+ announce "Today in our auction we have",0;
+ end;
+OnTimer7000:
+ if($AItems[0]==0) setnpctimer 25001;
+ if($AAmount[0]==1) announce "A lovely "+getitemname($AItems[0])+" left by "+$ANames$[0],0;
+ if($AAmount[0]>1) announce $AAmount[0]+" lovely "+getitemname($AItems[0])+" left by "+$ANames$[0],0;
+ end;
+OnTimer9000:
+ if($AItems[1]==0) setnpctimer 25001;
+ if($AAmount[1]==1) announce "A great "+getitemname($AItems[1])+" left by "+$ANames$[1],0;
+ if($AAmount[1]>1) announce $AAmount[1]+" great "+getitemname($AItems[1])+" left by "+$ANames$[1],0;
+ end;
+OnTimer11000:
+ if($AItems[2]==0) setnpctimer 25001;
+ if($AAmount[2]==1) announce "A excellent "+getitemname($AItems[2])+" left by "+$ANames$[2],0;
+ if($AAmount[2]>1) announce $AAmount[2]+" excellent "+getitemname($AItems[2])+" left by "+$ANames$[2],0;
+ end;
+OnTimer13000:
+ if($AItems[3]==0) setnpctimer 25001;
+ if($AAmount[3]==1) announce "A superb "+getitemname($AItems[3])+" left by "+$ANames$[3],0;
+ if($AAmount[3]>1) announce $AAmount[3]+" superb "+getitemname($AItems[3])+" left by "+$ANames$[3],0;
+ end;
+OnTimer15000:
+ if($AItems[4]==0) setnpctimer 25001;
+ if($AAmount[4]==1) announce "A terrific "+getitemname($AItems[4])+" left by "+$ANames$[4],0;
+ if($AAmount[4]>1) announce $AAmount[4]+" terrific "+getitemname($AItems[4])+" left by "+$ANames$[4],0;
+ end;
+OnTimer17000:
+ if($AItems[5]==0) setnpctimer 25001;
+ if($AAmount[5]==1) announce "A wonderful "+getitemname($AItems[5])+" left by "+$ANames$[5],0;
+ if($AAmount[5]>1) announce $AAmount[5]+" wonderful "+getitemname($AItems[5])+" left by "+$ANames$[5],0;
+ end;
+OnTimer19000:
+ if($AItems[6]==0) setnpctimer 25001;
+ if($AAmount[6]==1) announce "A pretty "+getitemname($AItems[6])+" left by "+$ANames$[6],0;
+ if($AAmount[6]>1) announce $AAmount[6]+" pretty "+getitemname($AItems[6])+" left by "+$ANames$[6],0;
+ end;
+OnTimer21000:
+ if($AItems[7]==0) setnpctimer 25001;
+ if($AAmount[7]==1) announce "A sweet "+getitemname($AItems[7])+" left by "+$ANames$[7],0;
+ if($AAmount[7]>1) announce $AAmount[7]+" sweet "+getitemname($AItems[7])+" left by "+$ANames$[7],0;
+ end;
+OnTimer23000:
+ if($AItems[8]==0) setnpctimer 25001;
+ if($AAmount[8]==1) announce "A stunning "+getitemname($AItems[8])+" left by "+$ANames$[8],0;
+ if($AAmount[8]>1) announce $AAmount[8]+" stunning "+getitemname($AItems[8])+" left by "+$ANames$[8],0;
+ end;
+OnTimer25000:
+ if($AItems[9]==0) end;
+ if($AAmount[9]==1) announce "A fine "+getitemname($AItems[9])+" left by "+$ANames$[9],0;
+ if($AAmount[9]>1) announce $AAmount[9]+" fine "+getitemname($AItems[9])+" left by "+$ANames$[9],0;
+OnTimer27000:
+ if($AItems[0]!=0) announce "That is all the items we have this time round, so get bidding",0;
+ if($AItems[0]==0) announce "Seems there are no items this time round",0;
+ if($AItems[0]==0) set $Auction,0;
+ stopnpctimer;
+ setnpctimer 0;
+ end;
+
+// this is only be run if you own any items left over, not paid for, from the last auction, or the server failed, and items are left over
+
+L_RBackup:
+ mes "You seem to have items left over from the last auction, here you go, have it back";
+ next;
+ getitem $AItemsB[@num],$AAmountB[@num];
+L_BItemsLoop:
+ set $AItemsB[@num],$AItemsB[@num+1];
+ set $ANamesB$[@num],$ANamesB$[@num+1];
+ set $AAmountB[@num],$AAmountB[@num+1];
+ set @num,@num+1;
+ if(@num<10) goto L_BItemsLoop;
+ mes "[Auctioneer]";
+ mes "Have a nice day";
+ close;
+}
+
+// Only for display purposes, and telling people info about the auction
+// Can also be used for finding out what phase the auction is in
+
+prontera.gat,158,193,3 script Auction Helper 833,{
+ mes "[Auction Helper]";
+ set @num,0;
+ if($Auction==0 && $AItemsB[@num]!=0) goto L_ItemRecover;
+ if(($Auction==1 || $Auction ==2) && $AItems[@num]!=0) goto L_LLoop;
+ if($Auction==3 && $AItems[@num]!=0) goto L_Win;
+ mes "Ok Currently we have nothing in the auction.";
+ mes "Please return at the correct time.";
+ close;
+L_LLoop:
+ mes "Ok Currently we have :-";
+L_Loop:
+ mes $ANames$[@num]+" with "+$AAmount[@num]+" x "+getitemname($AItems[@num])+"('s)";
+ set @num,@num+1;
+ if($AItems[@num]==0) close;
+ if(@num<10) goto L_Loop;
+ close;
+L_ItemRecover:
+ mes "Seems there was a problem, and the auction ended prematurely.";
+ mes "This means we still have :-";
+L_BLoop:
+ if($paid[@num]==0) mes $ANamesB$[@num]+" with "+$AAmountB[@num]+" x "+getitemname($AItemsB[@num])+"('s)";
+ set @num,@num+1;
+ if($AItems[@num]==0) close;
+ if(@num<10) goto L_BLoop;
+ close;
+L_Win:
+ mes "The Auction is in the last stage, at this point you can :-";
+ mes " * buy your items";
+ mes " * Pick-up you money";
+ mes "(or if you were unlucky)";
+ mes " * Pick-up unsold items";
+ next;
+ mes "[Auction Helper]";
+ mes "Here is a list of Sellers and Winners";
+ set @num,0;
+L_Loop2:
+ mes $ANames$[@num]+" with "+$AAmount[@num]+" "+getitemname($AItems[@num])+"('s), won by "+$bidders$[@num]+" for "+$bid[@num]+"z";
+ set @num,@num+1;
+ if($AItems[@num]==0) close;
+ if(@num<10) goto L_Loop2;
+ close;
+
+}
diff --git a/npc/custom/Lance/FR_HallOfFame.c b/npc/custom/Lance/FR_HallOfFame.c
new file mode 100644
index 000000000..8799ce0a2
--- /dev/null
+++ b/npc/custom/Lance/FR_HallOfFame.c
@@ -0,0 +1,297 @@
+//===== eAthena Script ======================================
+//= Hall of Fame
+//===========================================================
+//===== By ==================================================
+//= [Lance]
+//= Idea from emilylee78
+//===== Version =============================================
+//= 2.3 FINAL
+//===== Compatible With =====================================
+//= eAthena SVN and Freya SVN
+//===== Description =========================================
+//= A Hall of Fame framework. Will update the list on every
+//= login and logout in a safe manner.
+//=
+//= Usage: callfunc "printHallOfFame", $;
+//= $ - Can be either 0 or 1.
+//= 0 - Display the current rankings.
+//= 1 - Display last week's rankings.
+//= Note : Remember to put a close; after calling it.
+//===== Comments ============================================
+//= 1.0 - Initial beta release [Lance]
+//= 1.1 - Fixed typos. Optimized a teeny bit. [Lance]
+//= 1.2 - Bug fixes. [Lance]
+//= 1.3 - Added a more realistic shuffling. [Lance]
+//= 1.4 - Added Weekly Top 10 list. [Lance]
+//= 1.5 - Friggin typos =< + Better shuffling [Lance]
+//= 1.6 - Bugfixes [Lance]
+//= 1.7 - More bugfixes. Type mismatch =P [Lance]
+//= 2.0 - Exclude GMs and add recovery plan.
+//= Suggested by EvilPoringOfDooom. [Lance]
+//= 2.1 - Typo.. again.. T_T [Lance]
+//= 2.2 - Minor updates and added Jury [Lance]
+//= 2.3 - Utilizing eAthena's new scripting engine [Lance]
+//===========================================================
+
+prontera.gat,0,0,0 script PCLoginEvent -1,{
+ callfunc "HallOfFameInit";
+ end;
+
+OnInit:
+ // Total Number of Players in Hall of Fame
+ // =======================================
+ set $HoF_totalCount, 10;
+ // Reshuffle (Will affect perfomance) ====
+ set $HoF_reshuffle, 1;
+ // Minimum GM Lvl to be excluded from HoF=
+ set $HoF_minGMLvl, 99;
+ // Recovery Plan to Remove GMs ============
+ set $@HoF_recovery, 0;
+ // =======================================
+
+ set $HoF_totalCount, $HoF_totalCount - 1;
+ set $@FebruaryD, 28;
+ if((gettime(7) % 4) == 0) {
+ set $@FebruaryD, 29;
+ }
+ setarray $@MonthDayThing[1],31, $@FebruaryD,31,30,31,30,31,31,30,31,30,31;
+ set $@HoF_TimeUpdateD, $HoF_LastUpdateD;
+ set $@HoF_TimeUpdateM, $HoF_LastUpdateM;
+ set $@HoF_TimeUpdateY, $HoF_LastUpdateY;
+ // Time to do some maths
+ set $@TimeNowD, gettime(5);
+ set $@TimeNowM, gettime(6);
+ set $@TimeNowY, gettime(7);
+ // Debug Message --
+ debugmes "[Hall of Fame] Last Update is Year " + $@HoF_TimeUpdateY + " Month " + $@HoF_TimeUpdateM + " Day " + $@HoF_TimeUpdateD;
+ debugmes "[Hall of Fame] Today is Year " + $@TimeNowY + " Month " + $@TimeNowM + " Day " + $@TimeNowD;
+ if(($@TimeNowD - $@HoF_TimeUpdateD) < 0){
+ set $@TimeNowD, $@TimeNowD + $@MonthDayThing[@TimeNowM];
+ set $@TimeNowM, $@TimeNowM - 1;
+ }
+ set $@GapD, $@TimeNowD - $@HoF_TimeUpdateD;
+ if(($@TimeNowM - $@HoF_TimeUpdateM) < 0){
+ set $@TimeNowM, $@TimeNowM + 12;
+ set $@TimeNowY, $@TimeNowY - 1;
+ }
+ set $@GapM, $@TimeNowM - $@HoF_TimeUpdateM;
+ set $@GapY, $@TimeNowY - $@HoF_TimeUpdateY;
+ debugmes "[Hall of Fame] Gap is " + $@GapY + " Years " + $@GapM + " Months " + $@GapD + " Days.";
+ if($@GapY > 0 || $@GapM > 0 || $@GapD >= 7) {
+ callfunc "hallOfFameReset"; // Phew..
+ }
+ end;
+
+OnClock0000:
+ set $HoF_UpdateCount, $HoF_UpdateCount + 1;
+ if($HoF_UpdateCount == 7) {
+ callfunc "hallOfFameReset";
+ }
+ end;
+}
+
+prontera.gat,0,0,0 script PCLogoutEvent -1,{
+ callfunc "HallOfFameInit";
+ end;
+}
+
+function script hallOfFameReset {
+ copyarray $HoF_LadderNameO$[0], $HoF_LadderName$[0], $HoF_totalCount;
+ copyarray $HoF_LadderBLevelO[0], $HoF_LadderBLevel[0], $HoF_totalCount;
+ copyarray $HoF_LadderJLevelO[0], $HoF_LadderJLevel[0], $HoF_totalCount;
+ copyarray $HoF_LadderZenyO[0], $HoF_LadderZeny[0], $HoF_totalCount;
+ set $@number, $HoF_totalCount + 1;
+ deletearray $HoF_LadderName$[0], $@number;
+ deletearray $HoF_LadderBLevel[0], $@number;
+ deletearray $HoF_LadderJLevel[0], $@number;
+ deletearray $HoF_LadderZeny[0], $@number;
+ set $HoF_LastUpdateD, gettime(5);
+ set $HoF_LastUpdateM, gettime(6);
+ set $HoF_LastUpdateY, gettime(7);
+ set $HoF_UpdateCount, 0;
+ debugmes "[Hall of Fame] System Reset Invoked!";
+ return;
+}
+
+function script HallOfFameInit {
+ if(getgmlevel() >= $HoF_minGMLvl && $@HoF_recovery != 1) {
+ set PCLogoutEvent, 0;
+ } else {
+ set PCLogoutEvent, 1;
+ callfunc "updateHallofFame", $HoF_reshuffle;
+ }
+ return;
+}
+
+function script updateHallofFame {
+ set @i, 0;
+ if(getarg(0) == 1){
+ goto L_ShuffleName;
+ }
+ if(BaseLevel >= $HoF_LadderBLevel[$HoF_totalCount]){
+ goto L_checkBase;
+ }
+ goto L_End;
+
+L_ShuffleName:
+ if($HoF_LadderName$[@i] == strcharinfo(0)) {
+ goto L_ShuffleScore;
+ }
+ if(@i == $HoF_totalCount) {
+ goto L_checkEntry;
+ }
+ set @i, @i + 1;
+ goto L_ShuffleName;
+
+L_ShuffleScore:
+ deletearray $HoF_LadderName$[@i],1;
+ deletearray $HoF_LadderZeny[@i],1;
+ deletearray $HoF_LadderJLevel[@i],1;
+ deletearray $HoF_LadderBLevel[@i],1;
+ goto L_ShuffleName;
+
+L_checkEntry:
+ if(getgmlevel() >= $HoF_minGMLvl){
+ end;
+ }
+ set @i, 0;
+ goto L_checkBase;
+
+L_checkBase:
+ if(BaseLevel >= $HoF_LadderBLevel[@i]) {
+ goto L_BaseOK;
+ } else {
+ goto L_Increment;
+ }
+
+L_BaseOK:
+ if(BaseLevel == $HoF_LadderBLevel[@i]){
+ goto L_BaseSameLoop;
+ } else {
+ goto L_NewEntry;
+ }
+
+L_BaseSameLoop:
+ if(JobLevel >= $HoF_LadderJLevel[@i]) {
+ goto L_JobOK;
+ } else if(Zeny >= $HoF_LadderZeny[@i]) {
+ goto L_ZenyOK;
+ }
+ goto L_Increment;
+
+L_JobOK:
+ if(JobLevel == $HoF_LadderJLevel[@i]) {
+ goto L_JobSame;
+ } else {
+ goto L_NewEntry;
+ }
+
+L_ZenyOK:
+ if(Zeny == $HoF_LadderZeny[@i]){
+ goto L_Increment;
+ } else {
+ goto L_NewEntry;
+ }
+
+L_JobSame:
+ if(Zeny >= $HoF_LadderZeny[@i]) {
+ goto L_ZenyOK;
+ } else {
+ goto L_Increment;
+ }
+
+L_NewEntry:
+ callfunc "hallOfFameNewEntry", @i, strcharinfo(0), BaseLevel, JobLevel, Zeny;
+ end;
+
+L_Increment:
+ if(@i == $HoF_totalCount) {
+ goto L_End;
+ } else {
+ set @i, @i + 1;
+ goto L_checkBase;
+ }
+
+L_End:
+ return;
+
+}
+
+
+function script hallOfFameNewEntry {
+ if(getarg(0) == 0 || getarg(1) != $HoF_LadderName$[getarg(0) - 1]) {
+ set @startPos, getarg(0);
+ copyarray @HoF_LadderNameB$[0], $HoF_LadderName$[@startPos], $HoF_totalCount;
+ copyarray @HoF_LadderBLevelB[0], $HoF_LadderBLevel[@startPos], $HoF_totalCount;
+ copyarray @HoF_LadderJLevelB[0], $HoF_LadderJLevel[@startPos], $HoF_totalCount;
+ copyarray @HoF_LadderZenyB[0], $HoF_LadderZeny[@startPos], $HoF_totalCount;
+ set $HoF_LadderName$[@startPos], getarg(1);
+ set $HoF_LadderBLevel[@startPos], getarg(2);
+ set $HoF_LadderJLevel[@startPos], getarg(3);
+ set $HoF_LadderZeny[@startPos], getarg(4);
+ set @startPos, @startPos + 1;
+ set @limitPos, $HoF_totalCount - @startPos;
+ copyarray $HoF_LadderName$[@startPos], @HoF_LadderNameB$[0], @limitPos;
+ copyarray $HoF_LadderBLevel[@startPos], @HoF_LadderBLevelB[0], @limitPos;
+ copyarray $HoF_LadderJLevel[@startPos], @HoF_LadderJLevelB[0], @limitPos;
+ copyarray $HoF_LadderZeny[@startPos], @HoF_LadderZenyB[0], @limitPos;
+ announce "[Hall of Fame] " + getarg(1) + " has made his/herself onto the No. " + @startPos + " ranking in Hall of Fame!", bc_all;
+ }
+ return;
+}
+
+function script printHallOfFame {
+ if(getarg(0) == 1) {
+ mes "[Hall of Fame] - Last Week's Rankings";
+ for(set @loop, 0; @loop < $HoF_totalCount; set @loop, @loop + 1){
+ mes "^ff0000";
+ mes "Position No. " + (@loop + 1) + ":^0000ff";
+ mes "+================================+";
+ mes "^000000Name :" + $HoF_LadderNameO$[@loop];
+ mes "BLvl :" + $HoF_LadderBLevelO[@loop];
+ mes "JLvl :" + $HoF_LadderJLevelO[@loop];
+ mes "Zeny :" + $HoF_LadderZenyO[@loop] + "^0000ff";
+ mes "+================================+^000000";
+ }
+ } else {
+ mes "[Hall of Fame] - Current Rankings";
+ for(set @loop, 0; @loop < $HoF_totalCount; set @loop, @loop + 1){
+ mes "^ff0000";
+ mes "Position No. " + (@loop + 1) + ":^0000ff";
+ mes "+================================+";
+ mes "^000000Name :" + $HoF_LadderName$[@loop];
+ mes "BLvl :" + $HoF_LadderBLevel[@loop];
+ mes "JLvl :" + $HoF_LadderJLevel[@loop];
+ mes "Zeny :" + $HoF_LadderZeny[@loop] + "^0000ff";
+ mes "+================================+^000000";
+ }
+ }
+ return;
+}
+
+prontera.gat,180,200,4 script Jury 109,{
+ mes "[Jury]";
+ mes "Good day. Would you like to view the Hall of Fame?";
+ next;
+ menu "Yes",L_OK,"No",L_QUIT;
+
+L_OK:
+ mes "[Jury]";
+ mes "Would you like to view the current or the past rankings?";
+
+L_MENU:
+ next;
+ menu "Current", L_CUR, "Past", -,"Nevermind",L_QUIT;
+ callfunc "printHallOfFame",1;
+ goto L_MENU;
+
+L_CUR:
+ callfunc "printHallOfFame",0;
+ goto L_MENU;
+
+L_QUIT:
+ mes "[Jury]";
+ mes "Have a nice day then.";
+ close;
+
+} \ No newline at end of file
diff --git a/npc/custom/Lance/FR_MailSystem.c b/npc/custom/Lance/FR_MailSystem.c
new file mode 100644
index 000000000..8111f3dea
--- /dev/null
+++ b/npc/custom/Lance/FR_MailSystem.c
@@ -0,0 +1,118 @@
+//(=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=)
+//( (c)2005 RagMods Modification Team presents )
+//( ______ __ __ )
+//( /\ _ \/\ \__/\ \ v 1.00.00 )
+//( __\ \ \_\ \ \ ,_\ \ \___ __ ___ __ )
+//( /'__`\ \ __ \ \ \/\ \ _ `\ /'__`\/' _ `\ /'__`\ )
+//( /\ __/\ \ \/\ \ \ \_\ \ \ \ \/\ __//\ \/\ \/\ \_\.\_ )
+//( \ \____\\ \_\ \_\ \__\\ \_\ \_\ \____\ \_\ \_\ \__/.\_\ )
+//( \/____/ \/_/\/_/\/__/ \/_/\/_/\/____/\/_/\/_/\/__/\/_/ )
+//( )
+//( -- [s] [c] [r] [i] [p] [t] [s] -- )
+//( _ _ _ _ _ _ _ _ _ _ _ _ _ )
+//( / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ )
+//( ( e | n | g | l | i | s | h ) ( A | t | h | e | n | a ) )
+//( \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ )
+//( )
+//( Advanced Fusion Maps (c) 2003-2005 The Fusion Project )
+//(=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=)
+//===== eAthena Script ======================================
+//= Mail System (using built in mail function)
+//===========================================================
+//===== By ==================================================
+//= [Lance]
+//===== Version =============================================
+//= 1.0
+//===== Compatible With =====================================
+//= Any flavours of Athena SQL
+//===== Description =========================================
+//= Allows players to send and receive mails without GM lvl.
+//===== Comments ============================================
+//= 1.0 - Initial release [Lance]
+//===========================================================
+prontera.gat,143,171,3 script Messenger 738,1,1,{
+ mes "[Messenger Deviruchi]";
+ mes "Hiya! I'm the fastest messenger in Rune Midgard!";
+ next;
+ mes "[Messenger Deviruchi]";
+ mes "I can send your friends messages even if he or she is offline!";
+ next;
+ mes "[Messenger Deviruchi]";
+ mes "Wanna try?";
+ menu "Yes", MENUSYS, "No", -;
+ close;
+
+MENUSYS:
+ next;
+ mes "[Messenger Deviruchi]";
+ mes "What can I do for ya?";
+ emotion e_what;
+ menu "Check Mail",L_CHECK,"Send Mail",L_SEND, "Leave", -;
+ next;
+ mes "[Messenger Deviruchi]";
+ mes "Do come again!";
+ emotion e_no1;
+ close;
+
+L_CHECK:
+ atcommand strcharinfo(0) + ":@listnewmail";
+ menu "Read Mail", L_READ, "Check All Mails",CHKALLMAIL,"Send Mail",L_SEND, "Delete Mail", DELMAIL, "Back", MENUSYS;
+ close;
+
+CHKALLMAIL:
+ atcommand strcharinfo(0) + ":@listmail";
+ menu "Read Mail", L_READ, "Delete Mail", DELMAIL, "Back", MENUSYS;
+ close;
+
+L_READ:
+ next;
+ mes "[Messenger Deviruchi]";
+ mes "Please tell me the message number you want to read.";
+ input @msgnum;
+ next;
+ mes "[Messenger Deviruchi]";
+ mes "Here it is!";
+ emotion e_no1;
+ atcommand strcharinfo(0) + ":@readmail " + @msgnum;
+ menu "Reply Mail", L_SEND, "Back", MENUSYS;
+ close;
+
+L_SEND:
+ next;
+ mes "[Messenger Deviruchi]";
+ mes "Who do you want to send this message to?";
+ input @rcpt$;
+ next;
+ mes "[Messenger Deviruchi]";
+ mes "What message do you want to send to him?";
+ input @body$;
+ next;
+ atcommand strcharinfo(0) + ":@sendmail " + @rcpt$ + " " + @body$;
+ mes "[Messenger Deviruchi]";
+ mes "All done!";
+ emotion e_no1;
+ menu "Send another mail", L_SEND, "Back", MENUSYS;
+ close;
+
+DELMAIL:
+ next;
+ mes "[Messenger Deviruchi]";
+ mes "Which message number do you want me to delete?";
+ input @msgnum;
+ next;
+ mes "[Messenger Deviruchi]";
+ mes "Are you sure you want to delete mail no. " + @msgnum + "?";
+ menu "Yes",-,"No",DELMAIL, "Back", MENUSYS;
+ atcommand strcharinfo(0) + ":@deletemail " + @msgnum;
+ mes "[Messenger Deviruchi]";
+ mes "All done!";
+
+ emotion e_no1;
+ menu "Delete another mail", DELMAIL, "Back", MENUSYS;
+ close;
+
+OnTouch:
+ npctalk "Relax.. I'm no bad guy..";
+ emotion e_heh;
+ end;
+} \ No newline at end of file
diff --git a/npc/custom/Lance/FR_WeatherController.c b/npc/custom/Lance/FR_WeatherController.c
new file mode 100644
index 000000000..dcc3dd31a
--- /dev/null
+++ b/npc/custom/Lance/FR_WeatherController.c
@@ -0,0 +1,403 @@
+- script dayNight -1,{
+ end;
+
+OnInit:
+ if(gettime(3) > 7 && gettime(3) < 19) {
+ goto L_Day;
+ } else {
+ goto L_Night;
+ }
+
+L_Day:
+ day;
+ callfunc "RcloudFlag";
+ end;
+
+L_Night:
+ night;
+ callfunc "cloudFlag";
+ end;
+
+OnClock1900:
+ goto L_Night;
+
+OnClock0700:
+ goto L_Day;
+}
+
+function script cloudFlag {
+setmapflag "alb2trea.gat",mf_clouds;
+setmapflag "alberta.gat",mf_clouds;
+setmapflag "aldebaran.gat",mf_clouds;
+setmapflag "gef_fild00.gat",mf_clouds;
+setmapflag "gef_fild01.gat",mf_clouds;
+setmapflag "gef_fild02.gat",mf_clouds;
+setmapflag "gef_fild03.gat",mf_clouds;
+setmapflag "gef_fild04.gat",mf_clouds;
+setmapflag "gef_fild05.gat",mf_clouds;
+setmapflag "gef_fild06.gat",mf_clouds;
+setmapflag "gef_fild07.gat",mf_clouds;
+setmapflag "gef_fild08.gat",mf_clouds;
+setmapflag "gef_fild09.gat",mf_clouds;
+setmapflag "gef_fild10.gat",mf_clouds;
+setmapflag "gef_fild11.gat",mf_clouds;
+setmapflag "geffen.gat",mf_clouds;
+setmapflag "gl_church.gat",mf_clouds;
+setmapflag "gl_chyard.gat",mf_clouds;
+setmapflag "gl_knt01.gat",mf_clouds;
+setmapflag "gl_knt02.gat",mf_clouds;
+setmapflag "gl_step.gat",mf_clouds;
+setmapflag "glast_01.gat",mf_clouds;
+setmapflag "hunter_1-1.gat",mf_clouds;
+setmapflag "hunter_2-1.gat",mf_clouds;
+setmapflag "hunter_3-1.gat",mf_clouds;
+setmapflag "izlude.gat",mf_clouds;
+setmapflag "job_thief1.gat",mf_clouds;
+setmapflag "knight_1-1.gat",mf_clouds;
+setmapflag "knight_2-1.gat",mf_clouds;
+setmapflag "knight_3-1.gat",mf_clouds;
+setmapflag "mjolnir_01.gat",mf_clouds;
+setmapflag "mjolnir_02.gat",mf_clouds;
+setmapflag "mjolnir_03.gat",mf_clouds;
+setmapflag "mjolnir_04.gat",mf_clouds;
+setmapflag "mjolnir_05.gat",mf_clouds;
+setmapflag "mjolnir_06.gat",mf_clouds;
+setmapflag "mjolnir_07.gat",mf_clouds;
+setmapflag "mjolnir_08.gat",mf_clouds;
+setmapflag "mjolnir_09.gat",mf_clouds;
+setmapflag "mjolnir_10.gat",mf_clouds;
+setmapflag "mjolnir_11.gat",mf_clouds;
+setmapflag "mjolnir_12.gat",mf_clouds;
+setmapflag "moc_fild01.gat",mf_clouds;
+setmapflag "moc_fild02.gat",mf_clouds;
+setmapflag "moc_fild03.gat",mf_clouds;
+setmapflag "moc_fild04.gat",mf_clouds;
+setmapflag "moc_fild05.gat",mf_clouds;
+setmapflag "moc_fild06.gat",mf_clouds;
+setmapflag "moc_fild07.gat",mf_clouds;
+setmapflag "moc_fild08.gat",mf_clouds;
+setmapflag "moc_fild09.gat",mf_clouds;
+setmapflag "moc_fild10.gat",mf_clouds;
+setmapflag "moc_fild11.gat",mf_clouds;
+setmapflag "moc_fild12.gat",mf_clouds;
+setmapflag "moc_fild13.gat",mf_clouds;
+setmapflag "moc_fild14.gat",mf_clouds;
+setmapflag "moc_fild15.gat",mf_clouds;
+setmapflag "moc_fild16.gat",mf_clouds;
+setmapflag "moc_fild17.gat",mf_clouds;
+setmapflag "moc_fild18.gat",mf_clouds;
+setmapflag "moc_fild19.gat",mf_clouds;
+setmapflag "moc_pryd01.gat",mf_clouds;
+setmapflag "moc_pryd02.gat",mf_clouds;
+setmapflag "moc_pryd03.gat",mf_clouds;
+setmapflag "moc_pryd04.gat",mf_clouds;
+setmapflag "moc_pryd05.gat",mf_clouds;
+setmapflag "moc_pryd06.gat",mf_clouds;
+setmapflag "moc_prydb1.gat",mf_clouds;
+setmapflag "moc_ruins.gat",mf_clouds;
+setmapflag "morocc.gat",mf_clouds;
+setmapflag "new_1-1.gat",mf_clouds;
+setmapflag "new_1-2.gat",mf_clouds;
+setmapflag "new_1-3.gat",mf_clouds;
+setmapflag "new_1-4.gat",mf_clouds;
+setmapflag "pay_arche.gat",mf_clouds;
+setmapflag "pay_fild01.gat",mf_clouds;
+setmapflag "pay_fild02.gat",mf_clouds;
+setmapflag "pay_fild03.gat",mf_clouds;
+setmapflag "pay_fild04.gat",mf_clouds;
+setmapflag "pay_fild05.gat",mf_clouds;
+setmapflag "pay_fild06.gat",mf_clouds;
+setmapflag "pay_fild07.gat",mf_clouds;
+setmapflag "pay_fild08.gat",mf_clouds;
+setmapflag "pay_fild09.gat",mf_clouds;
+setmapflag "pay_fild10.gat",mf_clouds;
+setmapflag "pay_fild11.gat",mf_clouds;
+setmapflag "priest_1-1.gat",mf_clouds;
+setmapflag "priest_2-1.gat",mf_clouds;
+setmapflag "priest_3-1.gat",mf_clouds;
+setmapflag "prontera.gat",mf_clouds;
+setmapflag "prt_are01.gat",mf_clouds;
+setmapflag "prt_fild00.gat",mf_clouds;
+setmapflag "prt_fild01.gat",mf_clouds;
+setmapflag "prt_fild02.gat",mf_clouds;
+setmapflag "prt_fild03.gat",mf_clouds;
+setmapflag "prt_fild04.gat",mf_clouds;
+setmapflag "prt_fild05.gat",mf_clouds;
+setmapflag "prt_fild06.gat",mf_clouds;
+setmapflag "prt_fild07.gat",mf_clouds;
+setmapflag "prt_fild08.gat",mf_clouds;
+setmapflag "prt_fild09.gat",mf_clouds;
+setmapflag "prt_fild10.gat",mf_clouds;
+setmapflag "prt_fild11.gat",mf_clouds;
+setmapflag "prt_maze01.gat",mf_clouds;
+setmapflag "prt_maze02.gat",mf_clouds;
+setmapflag "prt_maze03.gat",mf_clouds;
+setmapflag "prt_monk.gat",mf_clouds;
+setmapflag "cmd_fild01.gat",mf_clouds;
+setmapflag "cmd_fild02.gat",mf_clouds;
+setmapflag "cmd_fild03.gat",mf_clouds;
+setmapflag "cmd_fild04.gat",mf_clouds;
+setmapflag "cmd_fild05.gat",mf_clouds;
+setmapflag "cmd_fild06.gat",mf_clouds;
+setmapflag "cmd_fild07.gat",mf_clouds;
+setmapflag "cmd_fild08.gat",mf_clouds;
+setmapflag "cmd_fild09.gat",mf_clouds;
+setmapflag "cmd_in01.gat",mf_clouds;
+setmapflag "cmd_in02.gat",mf_clouds;
+setmapflag "gef_fild12.gat",mf_clouds;
+setmapflag "gef_fild13.gat",mf_clouds;
+setmapflag "gef_fild14.gat",mf_clouds;
+setmapflag "alde_gld.gat",mf_clouds;
+setmapflag "pay_gld.gat",mf_clouds;
+setmapflag "prt_gld.gat",mf_clouds;
+setmapflag "alde_alche.gat",mf_clouds;
+setmapflag "yuno.gat",mf_clouds;
+setmapflag "yuno_fild01.gat",mf_clouds;
+setmapflag "yuno_fild02.gat",mf_clouds;
+setmapflag "yuno_fild03.gat",mf_clouds;
+setmapflag "yuno_fild04.gat",mf_clouds;
+setmapflag "ama_fild01.gat",mf_clouds;
+setmapflag "ama_test.gat",mf_clouds;
+setmapflag "amatsu.gat",mf_clouds;
+setmapflag "gon_fild01.gat",mf_clouds;
+setmapflag "gon_test.gat",mf_clouds;
+setmapflag "gonryun.gat",mf_clouds;
+setmapflag "umbala.gat",mf_clouds;
+setmapflag "um_fild01.gat",mf_clouds;
+setmapflag "um_fild02.gat",mf_clouds;
+setmapflag "um_fild03.gat",mf_clouds;
+setmapflag "um_fild04.gat",mf_clouds;
+setmapflag "niflheim.gat",mf_clouds;
+setmapflag "nif_fild01.gat",mf_clouds;
+setmapflag "nif_fild02.gat",mf_clouds;
+setmapflag "nif_in.gat",mf_clouds;
+setmapflag "yggdrasil01.gat",mf_clouds;
+setmapflag "valkyrie.gat",mf_clouds;
+setmapflag "lou_fild01.gat",mf_clouds;
+setmapflag "louyang.gat",mf_clouds;
+setmapflag "nguild_gef.gat",mf_clouds;
+setmapflag "nguild_prt.gat",mf_clouds;
+setmapflag "nguild_pay.gat",mf_clouds;
+setmapflag "nguild_alde.gat",mf_clouds;
+setmapflag "jawaii.gat",mf_clouds;
+setmapflag "jawaii_in.gat",mf_clouds;
+setmapflag "gefenia01.gat",mf_clouds;
+setmapflag "gefenia02.gat",mf_clouds;
+setmapflag "gefenia03.gat",mf_clouds;
+setmapflag "gefenia04.gat",mf_clouds;
+setmapflag "payon.gat",mf_clouds;
+setmapflag "ayothaya.gat",mf_clouds;
+setmapflag "ayo_in01.gat",mf_clouds;
+setmapflag "ayo_in02.gat",mf_clouds;
+setmapflag "ayo_fild01.gat",mf_clouds;
+setmapflag "ayo_fild02.gat",mf_clouds;
+setmapflag "que_god01.gat",mf_clouds;
+setmapflag "que_god02.gat",mf_clouds;
+setmapflag "yuno_fild05.gat",mf_clouds;
+setmapflag "yuno_fild07.gat",mf_clouds;
+setmapflag "yuno_fild08.gat",mf_clouds;
+setmapflag "yuno_fild09.gat",mf_clouds;
+setmapflag "yuno_fild11.gat",mf_clouds;
+setmapflag "yuno_fild12.gat",mf_clouds;
+setmapflag "alde_tt02.gat",mf_clouds;
+setmapflag "einbech.gat",mf_clouds;
+setmapflag "einbroch.gat",mf_clouds;
+setmapflag "ein_fild06.gat",mf_clouds;
+setmapflag "ein_fild07.gat",mf_clouds;
+setmapflag "ein_fild08.gat",mf_clouds;
+setmapflag "ein_fild09.gat",mf_clouds;
+setmapflag "ein_fild10.gat",mf_clouds;
+setmapflag "que_sign01.gat",mf_clouds;
+setmapflag "ein_fild03.gat",mf_clouds;
+setmapflag "ein_fild04.gat",mf_clouds;
+setmapflag "lhz_fild02.gat",mf_clouds;
+setmapflag "lhz_fild03.gat",mf_clouds;
+return;
+}
+
+function script RcloudFlag {
+removemapflag "alb2trea.gat",mf_clouds;
+removemapflag "alberta.gat",mf_clouds;
+removemapflag "aldebaran.gat",mf_clouds;
+removemapflag "gef_fild00.gat",mf_clouds;
+removemapflag "gef_fild01.gat",mf_clouds;
+removemapflag "gef_fild02.gat",mf_clouds;
+removemapflag "gef_fild03.gat",mf_clouds;
+removemapflag "gef_fild04.gat",mf_clouds;
+removemapflag "gef_fild05.gat",mf_clouds;
+removemapflag "gef_fild06.gat",mf_clouds;
+removemapflag "gef_fild07.gat",mf_clouds;
+removemapflag "gef_fild08.gat",mf_clouds;
+removemapflag "gef_fild09.gat",mf_clouds;
+removemapflag "gef_fild10.gat",mf_clouds;
+removemapflag "gef_fild11.gat",mf_clouds;
+removemapflag "geffen.gat",mf_clouds;
+removemapflag "gl_church.gat",mf_clouds;
+removemapflag "gl_chyard.gat",mf_clouds;
+removemapflag "gl_knt01.gat",mf_clouds;
+removemapflag "gl_knt02.gat",mf_clouds;
+removemapflag "gl_step.gat",mf_clouds;
+removemapflag "glast_01.gat",mf_clouds;
+removemapflag "hunter_1-1.gat",mf_clouds;
+removemapflag "hunter_2-1.gat",mf_clouds;
+removemapflag "hunter_3-1.gat",mf_clouds;
+removemapflag "izlude.gat",mf_clouds;
+removemapflag "mjolnir_01.gat",mf_clouds;
+removemapflag "mjolnir_02.gat",mf_clouds;
+removemapflag "mjolnir_03.gat",mf_clouds;
+removemapflag "mjolnir_04.gat",mf_clouds;
+removemapflag "mjolnir_05.gat",mf_clouds;
+removemapflag "mjolnir_06.gat",mf_clouds;
+removemapflag "mjolnir_07.gat",mf_clouds;
+removemapflag "mjolnir_08.gat",mf_clouds;
+removemapflag "mjolnir_09.gat",mf_clouds;
+removemapflag "mjolnir_10.gat",mf_clouds;
+removemapflag "mjolnir_11.gat",mf_clouds;
+removemapflag "mjolnir_12.gat",mf_clouds;
+removemapflag "moc_fild01.gat",mf_clouds;
+removemapflag "moc_fild02.gat",mf_clouds;
+removemapflag "moc_fild03.gat",mf_clouds;
+removemapflag "moc_fild04.gat",mf_clouds;
+removemapflag "moc_fild05.gat",mf_clouds;
+removemapflag "moc_fild06.gat",mf_clouds;
+removemapflag "moc_fild07.gat",mf_clouds;
+removemapflag "moc_fild08.gat",mf_clouds;
+removemapflag "moc_fild09.gat",mf_clouds;
+removemapflag "moc_fild10.gat",mf_clouds;
+removemapflag "moc_fild11.gat",mf_clouds;
+removemapflag "moc_fild12.gat",mf_clouds;
+removemapflag "moc_fild13.gat",mf_clouds;
+removemapflag "moc_fild14.gat",mf_clouds;
+removemapflag "moc_fild15.gat",mf_clouds;
+removemapflag "moc_fild16.gat",mf_clouds;
+removemapflag "moc_fild17.gat",mf_clouds;
+removemapflag "moc_fild18.gat",mf_clouds;
+removemapflag "moc_fild19.gat",mf_clouds;
+removemapflag "moc_pryd01.gat",mf_clouds;
+removemapflag "moc_pryd02.gat",mf_clouds;
+removemapflag "moc_pryd03.gat",mf_clouds;
+removemapflag "moc_pryd04.gat",mf_clouds;
+removemapflag "moc_pryd05.gat",mf_clouds;
+removemapflag "moc_pryd06.gat",mf_clouds;
+removemapflag "moc_prydb1.gat",mf_clouds;
+removemapflag "moc_ruins.gat",mf_clouds;
+removemapflag "morocc.gat",mf_clouds;
+removemapflag "new_1-1.gat",mf_clouds;
+removemapflag "new_1-2.gat",mf_clouds;
+removemapflag "new_1-3.gat",mf_clouds;
+removemapflag "new_1-4.gat",mf_clouds;
+removemapflag "pay_arche.gat",mf_clouds;
+removemapflag "pay_fild01.gat",mf_clouds;
+removemapflag "pay_fild02.gat",mf_clouds;
+removemapflag "pay_fild03.gat",mf_clouds;
+removemapflag "pay_fild04.gat",mf_clouds;
+removemapflag "pay_fild05.gat",mf_clouds;
+removemapflag "pay_fild06.gat",mf_clouds;
+removemapflag "pay_fild07.gat",mf_clouds;
+removemapflag "pay_fild08.gat",mf_clouds;
+removemapflag "pay_fild09.gat",mf_clouds;
+removemapflag "pay_fild10.gat",mf_clouds;
+removemapflag "pay_fild11.gat",mf_clouds;
+removemapflag "priest_1-1.gat",mf_clouds;
+removemapflag "priest_2-1.gat",mf_clouds;
+removemapflag "priest_3-1.gat",mf_clouds;
+removemapflag "prontera.gat",mf_clouds;
+removemapflag "prt_are01.gat",mf_clouds;
+removemapflag "prt_fild00.gat",mf_clouds;
+removemapflag "prt_fild01.gat",mf_clouds;
+removemapflag "prt_fild02.gat",mf_clouds;
+removemapflag "prt_fild03.gat",mf_clouds;
+removemapflag "prt_fild04.gat",mf_clouds;
+removemapflag "prt_fild05.gat",mf_clouds;
+removemapflag "prt_fild06.gat",mf_clouds;
+removemapflag "prt_fild07.gat",mf_clouds;
+removemapflag "prt_fild08.gat",mf_clouds;
+removemapflag "prt_fild09.gat",mf_clouds;
+removemapflag "prt_fild10.gat",mf_clouds;
+removemapflag "prt_fild11.gat",mf_clouds;
+removemapflag "prt_maze01.gat",mf_clouds;
+removemapflag "prt_maze02.gat",mf_clouds;
+removemapflag "prt_maze03.gat",mf_clouds;
+removemapflag "prt_monk.gat",mf_clouds;
+removemapflag "cmd_fild01.gat",mf_clouds;
+removemapflag "cmd_fild02.gat",mf_clouds;
+removemapflag "cmd_fild03.gat",mf_clouds;
+removemapflag "cmd_fild04.gat",mf_clouds;
+removemapflag "cmd_fild05.gat",mf_clouds;
+removemapflag "cmd_fild06.gat",mf_clouds;
+removemapflag "cmd_fild07.gat",mf_clouds;
+removemapflag "cmd_fild08.gat",mf_clouds;
+removemapflag "cmd_fild09.gat",mf_clouds;
+removemapflag "gef_fild12.gat",mf_clouds;
+removemapflag "gef_fild13.gat",mf_clouds;
+removemapflag "gef_fild14.gat",mf_clouds;
+removemapflag "alde_gld.gat",mf_clouds;
+removemapflag "pay_gld.gat",mf_clouds;
+removemapflag "prt_gld.gat",mf_clouds;
+removemapflag "alde_alche.gat",mf_clouds;
+removemapflag "yuno.gat",mf_clouds;
+removemapflag "yuno_fild01.gat",mf_clouds;
+removemapflag "yuno_fild02.gat",mf_clouds;
+removemapflag "yuno_fild03.gat",mf_clouds;
+removemapflag "yuno_fild04.gat",mf_clouds;
+removemapflag "ama_fild01.gat",mf_clouds;
+removemapflag "ama_test.gat",mf_clouds;
+removemapflag "amatsu.gat",mf_clouds;
+removemapflag "gon_fild01.gat",mf_clouds;
+removemapflag "gon_in.gat",mf_clouds;
+removemapflag "gon_test.gat",mf_clouds;
+removemapflag "gonryun.gat",mf_clouds;
+removemapflag "umbala.gat",mf_clouds;
+removemapflag "um_fild01.gat",mf_clouds;
+removemapflag "um_fild02.gat",mf_clouds;
+removemapflag "um_fild03.gat",mf_clouds;
+removemapflag "um_fild04.gat",mf_clouds;
+removemapflag "niflheim.gat",mf_clouds;
+removemapflag "nif_fild01.gat",mf_clouds;
+removemapflag "nif_fild02.gat",mf_clouds;
+removemapflag "nif_in.gat",mf_clouds;
+removemapflag "yggdrasil01.gat",mf_clouds;
+removemapflag "valkyrie.gat",mf_clouds;
+removemapflag "lou_fild01.gat",mf_clouds;
+removemapflag "louyang.gat",mf_clouds;
+removemapflag "nguild_gef.gat",mf_clouds;
+removemapflag "nguild_prt.gat",mf_clouds;
+removemapflag "nguild_pay.gat",mf_clouds;
+removemapflag "nguild_alde.gat",mf_clouds;
+removemapflag "jawaii.gat",mf_clouds;
+removemapflag "jawaii_in.gat",mf_clouds;
+removemapflag "gefenia01.gat",mf_clouds;
+removemapflag "gefenia02.gat",mf_clouds;
+removemapflag "gefenia03.gat",mf_clouds;
+removemapflag "gefenia04.gat",mf_clouds;
+removemapflag "payon.gat",mf_clouds;
+removemapflag "ayothaya.gat",mf_clouds;
+removemapflag "ayo_in01.gat",mf_clouds;
+removemapflag "ayo_in02.gat",mf_clouds;
+removemapflag "ayo_fild01.gat",mf_clouds;
+removemapflag "ayo_fild02.gat",mf_clouds;
+removemapflag "que_god01.gat",mf_clouds;
+removemapflag "que_god02.gat",mf_clouds;
+removemapflag "yuno_fild05.gat",mf_clouds;
+removemapflag "yuno_fild07.gat",mf_clouds;
+removemapflag "yuno_fild08.gat",mf_clouds;
+removemapflag "yuno_fild09.gat",mf_clouds;
+removemapflag "yuno_fild11.gat",mf_clouds;
+removemapflag "yuno_fild12.gat",mf_clouds;
+removemapflag "alde_tt02.gat",mf_clouds;
+removemapflag "einbech.gat",mf_clouds;
+removemapflag "einbroch.gat",mf_clouds;
+removemapflag "ein_fild06.gat",mf_clouds;
+removemapflag "ein_fild07.gat",mf_clouds;
+removemapflag "ein_fild08.gat",mf_clouds;
+removemapflag "ein_fild09.gat",mf_clouds;
+removemapflag "ein_fild10.gat",mf_clouds;
+removemapflag "que_sign01.gat",mf_clouds;
+removemapflag "ein_fild03.gat",mf_clouds;
+removemapflag "ein_fild04.gat",mf_clouds;
+removemapflag "lhz_fild02.gat",mf_clouds;
+removemapflag "lhz_fild03.gat",mf_clouds;
+return;
+}
+
+
diff --git a/npc/custom/MVP_arena/amvp_func.txt b/npc/custom/MVP_arena/amvp_func.txt
new file mode 100644
index 000000000..c8ee2fc65
--- /dev/null
+++ b/npc/custom/MVP_arena/amvp_func.txt
@@ -0,0 +1,101 @@
+// ---- MVP ARENA!!!!!! By Darkchild with 16 diff MVP's inside
+// -- Optimised The MVP arena!!!! By massdriller
+// - NPC in prontera
+
+// --- Optimising Functions
+
+function script Ramvp_1 {
+
+ mes "[ ^0065DFAlpha MVP^000000 ]";
+ mes "Here you go!";
+ return;
+}
+
+function script Ramvp_2 {
+
+ mes "[ ^0065DFBeta MVP^000000 ]";
+ mes "Here you go!";
+ return;
+}
+
+function script Ramvp_3 {
+
+ mes "[ ^0065DFTheta MVP^000000 ]";
+ mes "Here you go!";
+ return;
+
+}
+
+
+function script Ramvp_4 {
+
+ mes "[ ^0065DFEpsilon MVP^000000 ]";
+ mes "Here you go!";
+ return;
+
+}
+
+function script Ramvp_M {
+
+ mes "How do you need help?.";
+ menu "Harder Monsters",L_Next,"Heal Please",L_Heal,"Leave",L_Leave;
+
+ L_Next:
+ return;
+
+ L_Heal:
+ percentheal 100,100;
+ close;
+
+ L_Leave:
+ warp "prontera.gat",156,179;
+ close;
+
+}
+
+function script Ramvp_M2 {
+
+ mes "How do you need help?.";
+ menu "Heal Please",L_Heal,"Leave",L_Leave;
+
+ L_Heal:
+ percentheal 100,100;
+ close;
+
+ L_Leave:
+ warp "prontera.gat",156,179;
+ close;
+
+}
+
+function script Ramvp_Main {
+
+menu "Intro",L_Intro,"I want to go back",L_Leave,"Heal me please",L_Heal,"Cancel",L_Cancel;
+
+L_Intro:
+mes "[ ^0065DFMVP Arena Guide^000000 ]";
+mes "Welcome and behold this sacred place, Here you will find out if you truly have what it takes to call yourself a warrior, and a Team mate.";
+next;
+mes "Here in [ ^0065DFSvRO^000000 ] we like to be a family, and as a family you learn you must help and assist one-another, so if you want to survive you should learn to Co-operate.";
+next;
+mes "There are Plenty of rooms with MVP's in them so don't all fight over the one room just cause you think it's the only one, just move to the next one.";
+next;
+mes "If you can't get along, and there is too much complaining about people stealing MVP kills and items... then this place will be removed.";
+next;
+mes "Now the npc's are in groups of monsters, there are 4 different mvps per each npc, i wont tell you which it's a surprise hehe.";
+next;
+mes "Good luck, Live long and Prosper!.";
+close;
+
+L_Leave:
+warp "prontera",156,179;
+close;
+
+L_Heal:
+Heal 32500,32500;
+close;
+
+L_Cancel:
+close;
+
+} \ No newline at end of file
diff --git a/npc/custom/MVP_arena/arena_mvp.txt b/npc/custom/MVP_arena/arena_mvp.txt
new file mode 100644
index 000000000..147a22b51
--- /dev/null
+++ b/npc/custom/MVP_arena/arena_mvp.txt
@@ -0,0 +1,791 @@
+// ---- MVP ARENA!!!!!! By Darkchild with 16 diff MVP's inside
+// -- Optimised The MVP arena!!!! By massdriller
+// - NPC in prontera
+
+prontera.gat,154,197,3 script MVP Warper 768,{
+mes "[ ^0065DFMVP Warper^000000 ]";
+mes "Would you like to go to the MVP Arena ?...";
+menu "Yes!",L_MVP,"No thanks.",L_No;
+
+L_MVP:
+warp "quiz_00",50,24;
+close;
+L_No:
+close;
+}
+// --- Inside the Arena
+// --- NPC's That explains thigns
+quiz_00.gat,49,31,4 script MVP Arena Guide 778,{
+ callfunc "Ramvp_Main";
+
+}
+
+// --- The first Alpha-MVP warper
+quiz_00.gat,56,31,4 script Alpha MVP 770,{
+mes "[ ^0065DFAlpha MVP^000000 ]";
+mes "I am the first Keeper, are you ready?.";
+menu "Yes!",L_Yes,"Urrr No.",L_No;
+
+L_Yes:
+mes "[ ^0065DFAlpha MVP^000000 ]";
+mes "Which Arena you want to go to??";
+ menu "Arena 1 [" + getmapusers("pvp_n_1-2.gat") + " / 50]",Larena1,
+ "Arena 2 [" + getmapusers("pvp_n_2-2.gat") + " / 50]",Larena2,
+ "Arena 3 [" + getmapusers("pvp_n_3-2.gat") + " / 15]",Larena3,
+ "Arena 4 [" + getmapusers("pvp_n_4-2.gat") + " / 15]",Larena4,
+ "Arena 5 [" + getmapusers("pvp_n_5-2.gat") + " / 15]",Larena5,
+ "Arena 6 [" + getmapusers("pvp_n_2-2.gat") + " / 15]",Larena6,
+ "Arena 7 [" + getmapusers("pvp_n_3-2.gat") + " / 15]",Larena7,
+ "Arena 8 [" + getmapusers("pvp_n_4-2.gat") + " / 15]",Larena8,
+ "Quit",Lcancel;
+
+L_No:
+close;
+
+Larena1:
+if (getmapusers("pvp_n_1-2.gat") > 49) goto Lsorry;
+callfunc "Ramvp_1";
+warp "pvp_n_1-2",102,102;
+close;
+
+Larena2:
+if (getmapusers("pvp_n_2-2.gat") > 49) goto Lsorry;
+callfunc "Ramvp_1";
+warp "pvp_n_2-2",102,102;
+close;
+
+Larena3:
+if (getmapusers("pvp_n_3-2.gat") > 14) goto Lsorry;
+callfunc "Ramvp_1";
+warp "pvp_n_3-2",102,102;
+close;
+
+Larena4:
+if (getmapusers("pvp_n_4-2.gat") > 14) goto Lsorry;
+callfunc "Ramvp_1";
+warp "pvp_n_4-2",102,102;
+close;
+
+Larena5:
+if (getmapusers("pvp_n_5-2.gat") > 14) goto Lsorry;
+callfunc "Ramvp_1";
+warp "pvp_n_5-2",102,102;
+close;
+
+Larena6:
+if (getmapusers("pvp_n_6-2.gat") > 14) goto Lsorry;
+callfunc "Ramvp_1";
+warp "pvp_n_6-2",102,102;
+close;
+
+Larena7:
+if (getmapusers("pvp_n_7-2.gat") > 14) goto Lsorry;
+callfunc "Ramvp_1";
+warp "pvp_n_7-2",102,102;
+close;
+
+Larena8:
+if (getmapusers("pvp_n_8-2.gat") > 14) goto Lsorry;
+callfunc "Ramvp_1";
+warp "pvp_n_8-2",102,102;
+close;
+
+Lsorry:
+mes "[ ^0065DFAlpha MVP^000000 ]";
+mes "Sorry but this Arena is already full, maybe you can try another one!";
+close;
+}
+
+// --- The first Beta-MVP warper
+quiz_00.gat,58,31,4 script Beta MVP 773,{
+mes "[ ^0065DFAlpha MVP^000000 ]";
+mes "I am the first Keeper, are you ready?.";
+menu "Yes!",L_Yes,"Urrr No.",L_No;
+
+L_Yes:
+mes "[ ^0065DFBeta MVP^000000 ]";
+mes "Which Arena you want to go to??";
+ menu "Arena 1 [" + getmapusers("pvp_n_1-3.gat") + " / 50]",Larena1,
+ "Arena 2 [" + getmapusers("pvp_n_2-3.gat") + " / 15]",Larena2,
+ "Arena 3 [" + getmapusers("pvp_n_3-3.gat") + " / 15]",Larena3,
+ "Arena 4 [" + getmapusers("pvp_n_4-3.gat") + " / 15]",Larena4,
+ "Arena 5 [" + getmapusers("pvp_n_5-3.gat") + " / 15]",Larena5,
+ "Arena 6 [" + getmapusers("pvp_n_2-3.gat") + " / 15]",Larena6,
+ "Arena 7 [" + getmapusers("pvp_n_3-3.gat") + " / 15]",Larena7,
+ "Arena 8 [" + getmapusers("pvp_n_4-3.gat") + " / 15]",Larena8,
+ "Quit",Lcancel;
+
+L_No:
+close;
+
+Lcancel:
+close;
+
+Larena1:
+if (getmapusers("pvp_n_1-3.gat") > 49) goto Lsorry;
+callfunc "Ramvp_2";
+warp "pvp_n_1-3",102,102;
+close;
+
+Larena2:
+if (getmapusers("pvp_n_2-3.gat") > 14) goto Lsorry;
+callfunc "Ramvp_2";
+warp "pvp_n_2-3",102,102;
+close;
+
+Larena3:
+if (getmapusers("pvp_n_3-3.gat") > 14) goto Lsorry;
+callfunc "Ramvp_2";
+warp "pvp_n_3-3",102,102;
+close;
+
+Larena4:
+if (getmapusers("pvp_n_4-3.gat") > 14) goto Lsorry;
+callfunc "Ramvp_2";
+warp "pvp_n_4-3.gat",102,102;
+close;
+
+Larena5:
+if (getmapusers("pvp_n_5-3.gat") > 14) goto Lsorry;
+callfunc "Ramvp_2";
+warp "pvp_n_5-3.gat",102,102;
+close;
+
+Larena6:
+if (getmapusers("pvp_n_6-3.gat") > 14) goto Lsorry;
+callfunc "Ramvp_2";
+warp "pvp_n_6-3.gat",102,102;
+close;
+
+Larena7:
+if (getmapusers("pvp_n_7-3.gat") > 14) goto Lsorry;
+callfunc "Ramvp_2";
+warp "pvp_n_7-3.gat",102,102;
+close;
+
+Larena8:
+if (getmapusers("pvp_n_8-3.gat") > 14) goto Lsorry;
+callfunc "Ramvp_2";
+warp "pvp_n_8-3.gat",102,102;
+close;
+
+Lsorry:
+mes "[ ^0065DFBeta MVP^000000 ]";
+mes "Sorry but this Arena is already full, maybe you can try another one!";
+close;
+}
+
+
+// --- The first Theta-MVP warper
+quiz_00.gat,60,31,4 script Theta MVP 774,{
+mes "[ ^0065DFTheta MVP^000000 ]";
+mes "I am the first Keeper, are you ready?.";
+menu "Yes!",L_Yes,"Urrr No.",L_No;
+
+L_Yes:
+mes "[ ^0065DFTheta MVP^000000 ]";
+mes "Which Arena you want to go to??";
+ menu "Arena 1 [" + getmapusers("pvp_n_1-4.gat") + " / 50]",Larena1,
+ "Arena 2 [" + getmapusers("pvp_n_2-4.gat") + " / 15]",Larena2,
+ "Arena 3 [" + getmapusers("pvp_n_3-4.gat") + " / 15]",Larena3,
+ "Arena 4 [" + getmapusers("pvp_n_4-4.gat") + " / 15]",Larena4,
+ "Arena 5 [" + getmapusers("pvp_n_5-4.gat") + " / 15]",Larena5,
+ "Arena 6 [" + getmapusers("pvp_n_2-4.gat") + " / 15]",Larena6,
+ "Arena 7 [" + getmapusers("pvp_n_3-4.gat") + " / 15]",Larena7,
+ "Arena 8 [" + getmapusers("pvp_n_4-4.gat") + " / 15]",Larena8,
+ "Quit",Lcancel;
+
+L_No:
+close;
+
+Larena1:
+if (getmapusers("pvp_n_1-4.gat") > 49) goto Lsorry;
+callfunc "Ramvp_3";
+warp "pvp_n_1-4.gat",102,102;
+close;
+
+Larena2:
+if (getmapusers("pvp_n_2-4.gat") > 14) goto Lsorry;
+callfunc "Ramvp_3";
+warp "pvp_n_2-4.gat",102,102;
+close;
+
+Larena3:
+if (getmapusers("pvp_n_3-4.gat") > 14) goto Lsorry;
+callfunc "Ramvp_3";
+warp "pvp_n_3-4.gat",102,102;
+close;
+
+Larena4:
+if (getmapusers("pvp_n_4-4.gat") > 14) goto Lsorry;
+mes "[ ^0065DFTheta MVP^000000 ]";
+mes "Here you go!";
+warp "pvp_n_4-4.gat",102,102;
+close;
+
+Larena5:
+if (getmapusers("pvp_n_5-4.gat") > 14) goto Lsorry;
+callfunc "Ramvp_3";
+warp "pvp_n_5-4.gat",102,102;
+close;
+
+Larena6:
+if (getmapusers("pvp_n_6-4.gat") > 14) goto Lsorry;
+callfunc "Ramvp_3";
+warp "pvp_n_6-4.gat",102,102;
+close;
+
+Larena7:
+if (getmapusers("pvp_n_7-4.gat") > 14) goto Lsorry;
+callfunc "Ramvp_3";
+warp "pvp_n_7-4.gat",102,102;
+close;
+
+Larena8:
+if (getmapusers("pvp_n_8-4.gat") > 14) goto Lsorry;
+callfunc "Ramvp_3";
+warp "pvp_n_8-4.gat",102,102;
+close;
+
+Lsorry:
+mes "[ ^0065DFTheta MVP^000000 ]";
+mes "Sorry but this Arena is already full, maybe you can try another one!";
+close;
+}
+
+
+// --- The first Epsilon-MVP warper
+quiz_00.gat,62,31,4 script Epsilon MVP 776,{
+mes "[ ^0065DFEpsilon MVP^000000 ]";
+mes "I am the first Keeper, are you ready?.";
+menu "Yes!",L_Yes,"Urrr No.",L_No;
+
+L_Yes:
+mes "[ ^0065DFEpsilon MVP^000000 ]";
+mes "Which Arena you want to go to??";
+ menu "Arena 1 [" + getmapusers("pvp_n_1-5.gat") + " / 50]",Larena1,
+ "Arena 2 [" + getmapusers("pvp_n_2-5.gat") + " / 15]",Larena2,
+ "Arena 3 [" + getmapusers("pvp_n_3-5.gat") + " / 15]",Larena3,
+ "Arena 4 [" + getmapusers("pvp_n_4-5.gat") + " / 15]",Larena4,
+ "Arena 5 [" + getmapusers("pvp_n_5-5.gat") + " / 15]",Larena5,
+ "Arena 6 [" + getmapusers("pvp_n_2-5.gat") + " / 15]",Larena6,
+ "Arena 7 [" + getmapusers("pvp_n_3-5.gat") + " / 15]",Larena7,
+ "Arena 8 [" + getmapusers("pvp_n_4-5.gat") + " / 15]",Larena8,
+ "Quit",Lcancel;
+
+L_No:
+close;
+
+Larena1:
+if (getmapusers("pvp_n_1-5.gat") > 49) goto Lsorry;
+callfunc "Ramvp_4";
+warp "pvp_n_1-5.gat",102,102;
+close;
+
+Larena2:
+if (getmapusers("pvp_n_2-5.gat") > 14) goto Lsorry;
+callfunc "Ramvp_4";
+warp "pvp_n_2-5.gat",102,102;
+close;
+
+Larena3:
+if (getmapusers("pvp_n_3-5.gat") > 14) goto Lsorry;
+callfunc "Ramvp_4";
+warp "pvp_n_3-5.gat",102,102;
+close;
+
+Larena4:
+if (getmapusers("pvp_n_4-5.gat") > 14) goto Lsorry;
+callfunc "Ramvp_4";
+warp "pvp_n_4-5.gat",102,102;
+close;
+
+Larena5:
+if (getmapusers("pvp_n_5-5.gat") > 14) goto Lsorry;
+callfunc "Ramvp_4";
+warp "pvp_n_5-5.gat",102,102;
+close;
+
+Larena6:
+if (getmapusers("pvp_n_6-5.gat") > 14) goto Lsorry;
+callfunc "Ramvp_4";
+warp "pvp_n_6-5.gat",102,102;
+close;
+
+Larena7:
+if (getmapusers("pvp_n_7-5.gat") > 14) goto Lsorry;
+callfunc "Ramvp_4";
+warp "pvp_n_7-5.gat",102,102;
+close;
+
+Larena8:
+if (getmapusers("pvp_n_8-5.gat") > 14) goto Lsorry;
+callfunc "Ramvp_4";
+warp "pvp_n_8-5.gat",102,102;
+close;
+
+Lsorry:
+mes "[ ^0065DFEpsilon MVP^000000 ]";
+mes "Sorry but this Arena is already full, maybe you can try another one!";
+close;
+}
+
+
+// ---- Inside MVP-Arena NPC's
+// --- Alpha-MVP #1
+pvp_n_1-2.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_2-2",102,102;
+ close;
+
+}
+
+// --- Alpha-MVP #2
+pvp_n_2-2.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_3-2",102,102;
+ close;
+
+}
+// --- Alpha-MVP #3
+pvp_n_3-2.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_4-2.gat",102,102;
+ close;
+
+}
+// --- Alpha-MVP #4
+pvp_n_4-2.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_5-2.gat",102,102;
+ close;
+
+}
+// --- Alpha-MVP #5
+pvp_n_5-2.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_6-2.gat",102,102;
+ close;
+
+}
+// --- Alpha-MVP #6
+pvp_n_6-2.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_7-2.gat",102,102;
+ close;
+
+}
+// --- Alpha-MVP #7
+pvp_n_7-2.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_8-2.gat",102,102;
+ close;
+}
+// --- Alpha-MVP #8
+pvp_n_8-2.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M2";
+}
+// --- Beta-MVP #1
+pvp_n_1-3.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_2-3.gat",102,102;
+ close;
+
+}
+
+// --- Beta-MVP #2
+pvp_n_2-3.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_3-3.gat",102,102;
+ close;
+
+}
+// --- Beta-MVP #3
+pvp_n_3-3.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_4-3.gat",102,102;
+ close;
+
+}
+// --- Beta-MVP #4
+pvp_n_4-3.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_5-3.gat",102,102;
+ close;
+
+}
+// --- Beta-MVP #5
+pvp_n_5-3.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_6-3.gat",102,102;
+ close;
+
+}
+// --- Beta-MVP #6
+pvp_n_6-3.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_7-3.gat",102,102;
+ close;
+
+}
+// --- Beta-MVP #7
+pvp_n_7-3.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_8-3.gat",102,102;
+ close;
+
+}
+// --- Beta-MVP #8
+pvp_n_8-3.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M2";
+}
+// --- Theta-MVP #1
+pvp_n_1-4.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_2-4.gat",102,102;
+ close;
+
+}
+
+// --- Theta-MVP #2
+pvp_n_2-4.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_3-4.gat",102,102;
+ close;
+
+}
+// --- Theta-MVP #3
+pvp_n_3-4.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_4-4.gat",102,102;
+ close;
+
+}
+// --- Theta-MVP #4
+pvp_n_4-4.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_5-4.gat",102,102;
+ close;
+
+}
+// --- Theta-MVP #5
+pvp_n_5-4.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_6-4.gat",102,102;
+ close;
+
+}
+// --- Theta-MVP #6
+pvp_n_6-4.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_7-4.gat",102,102;
+ close;
+
+}
+// --- Theta-MVP #7
+pvp_n_7-4.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_8-4.gat",102,102;
+ close;
+
+}
+// --- Theta-MVP #8
+pvp_n_8-4.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M2";
+}
+// --- Epsilon-MVP #1
+pvp_n_1-5.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_2-5.gat",102,102;
+ close;
+
+}
+
+// --- Epsilon-MVP #2
+pvp_n_2-5.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_3-5.gat",102,102;
+ close;
+
+}
+// --- Epsilon-MVP #3
+pvp_n_3-5.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_4-5.gat",102,102;
+ close;
+
+}
+// --- Epsilon-MVP #4
+pvp_n_4-5.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_5-5.gat",102,102;
+ close;
+
+}
+// --- Epsilon-MVP #5
+pvp_n_5-5.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_6-5.gat",102,102;
+ close;
+
+}
+// --- Epsilon-MVP #6
+pvp_n_6-5.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_7-5.gat",102,102;
+ close;
+
+}
+// --- Epsilon-MVP #7
+pvp_n_7-5.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M";
+
+ L_Next:
+ warp "pvp_n_8-5.gat",102,102;
+ close;
+}
+// --- Epsilon-MVP #8
+pvp_n_8-5.gat,100,100,4 script MVP-Protector 727,{
+ mes "[ ^0065DFMVP-Protector^000000 ]";
+ callfunc "Ramvp_M2";
+}
+
+// ---- Monsters for the MVP-Arena
+// --- Alpha-MVP Maps
+// --- First Alpha-MVP area
+pvp_n_1-2.gat,0,0,0,0 monster Eddga 1115,3,60000,66000
+pvp_n_1-2.gat,0,0,0,0 monster Mistress 1059,1,60000,66000
+// --- Second Alpha-MVP area
+pvp_n_2-2.gat,0,0,0,0 monster Mistress 1059,3,60000,66000
+pvp_n_2-2.gat,0,0,0,0 monster Moonlight 1150,1,60000,66000
+// --- Third Alpha-MVP area
+pvp_n_3-2.gat,0,0,0,0 monster Mistress 1059,1,60000,66000
+pvp_n_3-2.gat,0,0,0,0 monster Moonlight 1150,2,60000,66000
+pvp_n_3-2.gat,0,0,0,0 monster Maya 1147,1,60000,66000
+// --- Fourth Alpha-MVP area
+pvp_n_4-2.gat,0,0,0,0 monster Eddga 1115,1,60000,66000
+pvp_n_4-2.gat,0,0,0,0 monster Mistress 1059,1,60000,66000
+pvp_n_4-2.gat,0,0,0,0 monster Moonlight 1150,1,60000,66000
+pvp_n_4-2.gat,0,0,0,0 monster Maya 1147,1,60000,66000
+// --- Fifth Alpha-MVP area
+pvp_n_5-2.gat,0,0,0,0 monster Eddga 1115,1,60000,66000
+pvp_n_5-2.gat,0,0,0,0 monster Mistress 1059,2,60000,66000
+pvp_n_5-2.gat,0,0,0,0 monster Moonlight 1150,1,60000,66000
+pvp_n_5-2.gat,0,0,0,0 monster Maya 1147,2,60000,66000
+// --- Sixth Alpha-MVP area
+pvp_n_6-2.gat,0,0,0,0 monster Eddga 1115,2,60000,66000
+pvp_n_6-2.gat,0,0,0,0 monster Mistress 1059,3,60000,66000
+pvp_n_6-2.gat,0,0,0,0 monster Moonlight 1150,1,60000,66000
+pvp_n_6-2.gat,0,0,0,0 monster Maya 1147,2,60000,66000
+// --- Seventh Alpha-MVP area
+pvp_n_7-2.gat,0,0,0,0 monster Eddga 1115,3,60000,66000
+pvp_n_7-2.gat,0,0,0,0 monster Mistress 1059,3,60000,66000
+pvp_n_7-2.gat,0,0,0,0 monster Moonlight 1150,2,60000,66000
+pvp_n_7-2.gat,0,0,0,0 monster Maya 1147,2,60000,66000
+// --- Eighth Alpha-MVP area
+pvp_n_8-2.gat,0,0,0,0 monster Eddga 1115,3,60000,66000
+pvp_n_8-2.gat,0,0,0,0 monster Mistress 1059,3,60000,66000
+pvp_n_8-2.gat,0,0,0,0 monster Moonlight 1150,3,60000,66000
+pvp_n_8-2.gat,0,0,0,0 monster Maya 1147,3,60000,66000
+
+// --- Beta-MVP Maps
+// --- First Beta-MVP area
+pvp_n_1-3.gat,0,0,0,0 monster Phreeoni 1159,3,60000,66000
+pvp_n_1-3.gat,0,0,0,0 monster Turtle General 1312,1,60000,66000
+// --- Second Beta-MVP area
+pvp_n_2-3.gat,0,0,0,0 monster Phreeoni 1159,2,60000,66000
+pvp_n_3-3.gat,0,0,0,0 monster Turtle General 1312,1,60000,66000
+pvp_n_2-3.gat,0,0,0,0 monster Orc Hero 1087,1,60000,66000
+// --- Third Beta-MVP area
+pvp_n_3-3.gat,0,0,0,0 monster Phreeoni 1159,1,60000,66000
+pvp_n_3-3.gat,0,0,0,0 monster Turtle General 1312,1,60000,66000
+pvp_n_3-3.gat,0,0,0,0 monster Orc Hero 1087,1,60000,66000
+pvp_n_3-3.gat,0,0,0,0 monster Orc Lord 1190,1,60000,66000
+// --- Fourth Beta-MVP area
+pvp_n_4-3.gat,0,0,0,0 monster Phreeoni 1159,2,60000,66000
+pvp_n_4-3.gat,0,0,0,0 monster Turtle General 1312,1,60000,66000
+pvp_n_4-3.gat,0,0,0,0 monster Orc Hero 1087,1,60000,66000
+pvp_n_4-3.gat,0,0,0,0 monster Orc Lord 1190,1,60000,66000
+// --- Fifth Beta-MVP area
+pvp_n_5-3.gat,0,0,0,0 monster Phreeoni 1159,1,60000,66000
+pvp_n_5-3.gat,0,0,0,0 monster Turtle General 1312,2,60000,66000
+pvp_n_5-3.gat,0,0,0,0 monster Orc Hero 1087,2,60000,66000
+pvp_n_5-3.gat,0,0,0,0 monster Orc Lord 1190,1,60000,66000
+// --- Sixth Beta-MVP area
+pvp_n_6-3.gat,0,0,0,0 monster Phreeoni 1159,2,60000,66000
+pvp_n_6-3.gat,0,0,0,0 monster Turtle General 1312,1,60000,66000
+pvp_n_6-3.gat,0,0,0,0 monster Orc Hero 1087,2,60000,66000
+pvp_n_6-3.gat,0,0,0,0 monster Orc Lord 1190,2,60000,66000
+// --- Seventh Beta-MVP area
+pvp_n_7-3.gat,0,0,0,0 monster Phreeoni 1159,3,60000,66000
+pvp_n_7-3.gat,0,0,0,0 monster Turtle General 1312,1,60000,66000
+pvp_n_7-3.gat,0,0,0,0 monster Orc Hero 1087,2,60000,66000
+pvp_n_7-3.gat,0,0,0,0 monster Orc Lord 1190,3,60000,66000
+// --- Eighth Beta-MVP area
+pvp_n_8-3.gat,0,0,0,0 monster Phreeoni 1159,3,60000,66000
+pvp_n_8-3.gat,0,0,0,0 monster Turtle General 1312,3,60000,66000
+pvp_n_8-3.gat,0,0,0,0 monster Orc Hero 1087,3,60000,66000
+pvp_n_8-3.gat,0,0,0,0 monster Orc Lord 1190,3,60000,66000
+
+// --- Theta-MVP Maps
+// --- First Theta-MVP area
+pvp_n_1-4.gat,0,0,0,0 monster Drake 1112,3,60000,66000
+pvp_n_1-4.gat,0,0,0,0 monster Osiris 1038,1,60000,66000
+// --- Second Theta-MVP area
+pvp_n_2-4.gat,0,0,0,0 monster Drake 1112,2,60000,66000
+pvp_n_2-4.gat,0,0,0,0 monster Osiris 1038,1,60000,66000
+pvp_n_2-4.gat,0,0,0,0 monster Doppelganger 1046,1,60000,66000
+// --- Third Theta-MVP area
+pvp_n_3-4.gat,0,0,0,0 monster Drake 1112,1,60000,66000
+pvp_n_3-4.gat,0,0,0,0 monster Osiris 1038,1,60000,66000
+pvp_n_3-4.gat,0,0,0,0 monster Doppelganger 1046,1,60000,66000
+pvp_n_3-4.gat,0,0,0,0 monster Lord of Death 1373,1,60000,66000
+// --- Fourth Theta-MVP area
+pvp_n_4-4.gat,0,0,0,0 monster Drake 1112,2,60000,66000
+pvp_n_4-4.gat,0,0,0,0 monster Osiris 1038,1,60000,66000
+pvp_n_4-4.gat,0,0,0,0 monster Doppelganger 1046,2,60000,66000
+pvp_n_4-4.gat,0,0,0,0 monster Lord of Death 1373,1,60000,66000
+// --- Fifth Theta-MVP area
+pvp_n_5-4.gat,0,0,0,0 monster Drake 1112,3,60000,66000
+pvp_n_5-4.gat,0,0,0,0 monster Osiris 1038,2,60000,66000
+pvp_n_5-4.gat,0,0,0,0 monster Doppelganger 1046,2,60000,66000
+pvp_n_5-4.gat,0,0,0,0 monster Lord of Death 1373,1,60000,66000
+// --- Sixth Theta-MVP area
+pvp_n_6-4.gat,0,0,0,0 monster Drake 1112,3,60000,66000
+pvp_n_6-4.gat,0,0,0,0 monster Osiris 1038,2,60000,66000
+pvp_n_6-4.gat,0,0,0,0 monster Doppelganger 1046,2,60000,66000
+pvp_n_6-4.gat,0,0,0,0 monster Lord of Death 1373,2,60000,66000
+// --- Seventh Theta-MVP area
+pvp_n_7-4.gat,0,0,0,0 monster Drake 1112,3,60000,66000
+pvp_n_7-4.gat,0,0,0,0 monster Osiris 1038,2,60000,66000
+pvp_n_7-4.gat,0,0,0,0 monster Doppelganger 1046,3,60000,66000
+pvp_n_7-4.gat,0,0,0,0 monster Lord of Death 1373,2,60000,66000
+// --- Eighth Theta-MVP area
+pvp_n_8-4.gat,0,0,0,0 monster Drake 1112,3,60000,66000
+pvp_n_8-4.gat,0,0,0,0 monster Osiris 1038,3,60000,66000
+pvp_n_8-4.gat,0,0,0,0 monster Doppelganger 1046,3,60000,66000
+pvp_n_8-4.gat,0,0,0,0 monster Lord of Death 1373,3,60000,66000
+
+// --- Epsilon-MVP Maps
+// --- First Epsilon-MVP area
+pvp_n_1-5.gat,0,0,0,0 monster Incantation Samurai 1492,3,60000,66000
+pvp_n_1-5.gat,0,0,0,0 monster Pharoh 1157,1,60000,66000
+// --- First Epsilon-MVP area
+pvp_n_2-5.gat,0,0,0,0 monster Incantation Samurai 1492,2,60000,66000
+pvp_n_2-5.gat,0,0,0,0 monster Pharoh 1157,1,60000,66000
+pvp_n_2-5.gat,0,0,0,0 monster Dark Lord 1272,1,60000,66000
+// --- First Epsilon-MVP area
+pvp_n_3-5.gat,0,0,0,0 monster Incantation Samurai 1492,1,60000,66000
+pvp_n_3-5.gat,0,0,0,0 monster Pharoh 1157,1,60000,66000
+pvp_n_3-5.gat,0,0,0,0 monster Dark Lord 1272,1,60000,66000
+pvp_n_3-5.gat,0,0,0,0 monster Baphomet 1039,1,60000,66000
+// --- First Epsilon-MVP area
+pvp_n_4-5.gat,0,0,0,0 monster Incantation Samurai 1492,3,60000,66000
+pvp_n_4-5.gat,0,0,0,0 monster Pharoh 1157,1,60000,66000
+pvp_n_4-5.gat,0,0,0,0 monster Dark Lord 1272,1,60000,66000
+pvp_n_4-5.gat,0,0,0,0 monster Baphomet 1039,1,60000,66000
+// --- First Epsilon-MVP area
+pvp_n_5-5.gat,0,0,0,0 monster Incantation Samurai 1492,2,60000,66000
+pvp_n_5-5.gat,0,0,0,0 monster Pharoh 1157,2,60000,66000
+pvp_n_5-5.gat,0,0,0,0 monster Dark Lord 1272,2,60000,66000
+pvp_n_5-5.gat,0,0,0,0 monster Baphomet 1039,1,60000,66000
+// --- First Epsilon-MVP area
+pvp_n_6-5.gat,0,0,0,0 monster Incantation Samurai 1492,2,60000,66000
+pvp_n_6-5.gat,0,0,0,0 monster Pharoh 1157,2,60000,66000
+pvp_n_6-5.gat,0,0,0,0 monster Dark Lord 1272,2,60000,66000
+pvp_n_6-5.gat,0,0,0,0 monster Baphomet 1039,1,60000,66000
+// --- First Epsilon-MVP area
+pvp_n_7-5.gat,0,0,0,0 monster Incantation Samurai 1492,2,60000,66000
+pvp_n_7-5.gat,0,0,0,0 monster Pharoh 1157,2,60000,66000
+pvp_n_7-5.gat,0,0,0,0 monster Dark Lord 1272,2,60000,66000
+pvp_n_7-5.gat,0,0,0,0 monster Baphomet 1039,2,60000,66000
+// --- First Epsilon-MVP area
+pvp_n_8-5.gat,0,0,0,0 monster Incantation Samurai 1492,3,60000,66000
+pvp_n_8-5.gat,0,0,0,0 monster Pharoh 1157,2,60000,66000
+pvp_n_8-5.gat,0,0,0,0 monster Dark Lord 1272,2,60000,66000
+pvp_n_8-5.gat,0,0,0,0 monster Baphomet 1039,2,60000,66000
diff --git a/npc/custom/WoE_Setter.txt b/npc/custom/WoE_Setter.txt
new file mode 100644
index 000000000..977693c0d
--- /dev/null
+++ b/npc/custom/WoE_Setter.txt
@@ -0,0 +1,187 @@
+//===== eAthena Script =======================================
+//= War of Emperium - Time Setter
+//===== By: ==================================================
+//= Fredzilla
+//===== Current Version: =====================================
+//= 1.5a
+//===== Compatible With: =====================================
+//= eAthena 1.0 Final TXT
+//===== Description: =========================================
+//= Lets a GM set WoE times from inside the game
+//===== Additional Comments: =================================
+//= Loops used = 4 (I like loops ^_^)
+//= Only GM's of lvl 99 can use it
+//= If anyone else tries to use it they will just get a list of WoE times
+//= It give you the option, as a GM, to Add a new time, Reset all times,
+//= or just view the current set times
+//= If a WoE is in Progress no time reset is possible
+//= A maximum of 200 WoE times can be set, if that is even possible ;)
+//= Added in v1.5
+//= Change day setting to a menu call, more GUI this way
+//= You can choose for the WoE to last between days
+//= IE, Sat 23 till Sun 01, is now possible
+//= Not even the normal WoE script can do this (by dafault)
+//= Removed the need for disabling the normal agit_event
+//= 1.5a Applied Playtester's fix. [Vicious]
+//============================================================
+prontera.gat,162,194,5 script WoE Setter 806,{
+ mes "[Woe Setter]";
+ if(getgmlevel(99)<1) goto L_NotGM;
+ mes "Welcome, I can set WoE times for you";
+ mes "Simply follow the intruction given in each section after this, and it should be set and ready to use";
+ next;
+ mes "[Woe Setter]";
+ mes "Now the fun starts";
+ mes "Please select what you want to do";
+ next;
+ menu "Add a WoE time",L_Add,"Reset All WoE times",L_Reset,"View Current WoE times",-;
+ mes "[Woe Setter]";
+ mes "Ok currently you have WoE times set for:-";
+ set @num,0;
+L_LoopList:
+ if($sday[@num] == 0 && $eday[@num] == 0 && $woetime[@num] == 0 && $woetime2[@num] == 0) goto L_LoopListEnd;
+ if($sday[@num]==0) set $@tempday$,"Sunday";
+ if($sday[@num]==1) set $@tempday$,"Monday";
+ if($sday[@num]==2) set $@tempday$,"Tuesday";
+ if($sday[@num]==3) set $@tempday$,"Wednesday";
+ if($sday[@num]==4) set $@tempday$,"Thursday";
+ if($sday[@num]==5) set $@tempday$,"Friday";
+ if($sday[@num]==6) set $@tempday$,"Saturday";
+ if($eday[@num]==0) set $@tempday2$,"Sunday";
+ if($eday[@num]==1) set $@tempday2$,"Monday";
+ if($eday[@num]==2) set $@tempday2$,"Tuesday";
+ if($eday[@num]==3) set $@tempday2$,"Wednesday";
+ if($eday[@num]==4) set $@tempday2$,"Thursday";
+ if($eday[@num]==5) set $@tempday2$,"Friday";
+ if($eday[@num]==6) set $@tempday2$,"Saturday";
+ if($eday[@num]==$sday[@num]) mes $@tempday$+" from "+$woetime[@num]+":00 till "+$woetime2[@num]+":00";
+ if($eday[@num]!=$sday[@num]) mes "From "+$@tempday$+" "+$woetime[@num]+":00 till "+$@tempday2$+" "+$woetime2[@num]+":00";
+ set @num,@num+1;
+ goto L_LoopList;
+L_LoopListEnd:
+ close;
+L_Add:
+ set @num,0;
+L_AddLoop:
+ if($sday[@num] == 0 && $eday[@num] == 0 && $woetime[@num] == 0 && $woetime2[@num] == 0) goto L_AddLoopEnd;
+ set @num,@num+1;
+ goto L_AddLoop;
+L_AddLoopEnd:
+ mes "[Woe Setter]";
+ mes "What day do you want the WoE to start ^FF0000start^000000 in?";
+ next;
+ menu "Sunday",-,"Monday",-,"Tuesday",-,"Wednesday",-,"Thursday",-,"Friday",-,"Saturday",-;
+ if(@menu==1) set $sday[@num],0;
+ if(@menu==2) set $sday[@num],1;
+ if(@menu==3) set $sday[@num],2;
+ if(@menu==4) set $sday[@num],3;
+ if(@menu==5) set $sday[@num],4;
+ if(@menu==6) set $sday[@num],5;
+ if(@menu==7) set $sday[@num],6;
+ mes "[Woe Setter]";
+ mes "Ok, now please enter the hour you wish the WoE to ^FF0000start^000000 at";
+ mes "This is using a 24 hour clock";
+ mes "00 = Midnight";
+ mes "12 = Mid-day";
+ mes "23 = 11pm";
+ next;
+ input @input;
+ if (@input < 0 || @input > 24) goto L_BadNumber;
+ set $woetime[@num],@input;
+ mes "[Woe Setter]";
+ mes "What day do you want the WoE to start ^FF0000finish^000000 in?";
+ next;
+ menu "Same as start",-,"Sunday",-,"Monday",-,"Tuesday",-,"Wednesday",-,"Thursday",-,"Friday",-,"Saturday",-;
+ if(@menu==1) set $eday[@num],$sday[@num];
+ if(@menu==2) set $eday[@num],0;
+ if(@menu==3) set $eday[@num],1;
+ if(@menu==4) set $eday[@num],2;
+ if(@menu==5) set $eday[@num],3;
+ if(@menu==6) set $eday[@num],4;
+ if(@menu==7) set $eday[@num],5;
+ if(@menu==8) set $eday[@num],6;
+ mes "[Woe Setter]";
+ mes "Ok, now please enter the hour you wish the WoE to ^FF0000finish^000000 at";
+ mes "This also uses the 24 hour clock";
+ mes "00 = Midnight";
+ mes "12 = Mid-day";
+ mes "23 = 11pm";
+ next;
+ input @input;
+ if (@input < 0 || @input > 24) goto L_BadNumber;
+ set $woetime2[@num],@input;
+ mes "[Woe Setter]";
+ mes "You WoE time has now been set";
+ mes "To confirm this, ask me to show you the ^FF0000'View Current WoE times'^000000";
+ close;
+L_Reset:
+ mes "[Woe Setter]";
+ mes "You are about to reset all the set WoE times you have created";
+ mes "Are you sure?";
+ next;
+ menu "No, what was I thinking",L_No,"Yes I really want to do it",-;
+ if(agitcheck(0)==1) goto L_WoEOn;
+ deletearray $sday[0],200;
+ deletearray $eday[0],200;
+ deletearray $woetime[0],200;
+ deletearray $woetime2[0],200;
+ mes "[Woe Setter]";
+ mes "They are all gone now, please remember to set new ones";
+ close;
+L_WoEOn:
+ mes "[Woe Setter]";
+ mes "Sorry since there is a WoE in progress you cannot reset the WoE times";
+ close;
+L_No:
+ mes "[Woe Setter]";
+ mes "Oh, good, come back whenever";
+ close;
+L_NotGM:
+ mes "The current WoE times are :-";
+ set @num,0;
+ goto L_LoopList;
+ end;
+L_BadNumber:
+ mes "[Woe Setter]";
+ mes "Sorry that was an invalid number, please try again";
+ close;
+}
+- script Agit_Event2 -1,{
+ end;
+OnInit:
+disablenpc "Agit_Event";
+OnMinute00:
+OnAgitInit:
+
+// starting time check
+ set $@num,0;
+L_StartLoop:
+ if($sday[$@num] == 0 && $eday[$@num] == 0 && $woetime[$@num] == 0 && $woetime2[$@num] == 0) goto L_StartLoopEnd;
+ if(gettime(4)==$sday[$@num] && gettime(3)>=$woetime[$@num] && (gettime(3)<$woetime2[$@num] || $sday[$@num]!=$eday[$@num])) goto L_Start;
+ set $@num,$@num+1;
+ goto L_StartLoop;
+
+// end time checks
+ L_StartLoopEnd:
+ set $@num,0;
+ L_EndLoop:
+ if($eday[$@num] == 0 && $woetime[$@num] == 0 && $woetime2[$@num] == 0) end;
+ if((gettime(4)==$eday[$@num]) && (gettime(3)==$woetime2[$@num])) goto L_End;
+ set $@num,$@num+1;
+ goto L_EndLoop;
+ end;
+
+// Stop WoE
+L_End:
+ if(agitcheck(0)==0) end;
+ Announce "The War Of Emperium is over!",8;
+ AgitEnd;
+ end;
+
+// Start WoE
+L_Start:
+ if(agitcheck(0)==1) end;
+ Announce "The War Of Emperium has begun!",8;
+ AgitStart;
+ end;
+}
diff --git a/npc/custom/adoption.txt b/npc/custom/adoption.txt
new file mode 100644
index 000000000..77bfc4498
--- /dev/null
+++ b/npc/custom/adoption.txt
@@ -0,0 +1,502 @@
+//===== Athena Script =======================================
+//= Simple Adoption Script
+//===== By ================================================
+//= Fredzilla with help from Kamari,Acky
+//===== Version ===========================================
+//= 1.6 Removed call to function Is_Taekwon_Class in favor of baseClass == Job_Taekwon [Silentdragon]
+//= 1.5 Added GM menu to reset current adoption [Lupus]
+//= 1.4 Got rid of useless "event_adoptXXX" variables [Lupus]
+//= 1.3c - Slightly rewrote the anti-taekwon protection to
+//= detect problems more easily [DracoRPG]
+//= 1.3a - Added anti Taekwon Classes protection (they can't
+//= be adopted) [Lupus]
+//= 1.3 - Now it can teach parents/baby their missing skills.
+//= Your old families should talk to these NPCs to get
+//= their family skills [Lupus]
+//= 1.2b - More fixes + Added Acky's teacher to the end
+//= (stoped it from saying a particular word I thought
+//= was inapropriate for a kids game)
+//= 1.1 - Minor correction, replaced missing close; and mes :D
+//= 1.0 - First Release, most likely going to have some bugs
+//= Is using @adopt instead of proper NPC script command
+//===== Compatible With ===================================
+//= eAthena Final (SVN), any version that contained the GM command @adopt
+//= This is any version released after 03/29/05, dont know the number
+//===== Description =======================================
+//= A simple adoption script that lets couples adopt a
+//= lvl 1/1 novice without the help of a GM there
+//===== Comments ==========================================
+//= List or Variables used
+//= $@AdoptionActive = Stops other people trying to use
+//= the adoption NPC's intill the currant one is over.
+//= @AdoptionReady = Marks person that talks to first NPC,
+//= this person will end up being ParentOne.
+//= $@ParentOne$ = Explains itself.
+//= $@ParentTwo$ = "" ""
+//= $@Baby$ = "" ""
+//= $@GenderBaby$ = Set so it can state boy or girl.
+//= $@FinalQuestion = Lets the parents take one last chance
+//= to cancel the adoption before it is perminant.
+//= $@CheckAll = Follow on from the last one, when this = 3,
+//= the adoption will take place and will be perminant.
+//= @regged = Stops the same person being counted twice
+//= before the adoption is completed.
+//= Lupus removed:
+//= *event_adopt = Put on the parents so they cannot adopt again.
+//= *event_adopted = Put on baby so it cant be adopted again.
+//= Use "getchildid()>0" insread of event_adopt
+//= Use "Upper==2" insread of event_adopted
+//=========================================================
+
+prt_church.gat,115,122,0 warp prtch03 1,2,prt_church.gat,164,171
+prt_church.gat,162,171,0 warp prtch01-3 1,2,prt_church.gat,113,122
+
+prt_church.gat,166,176,3 script Adoption Man 61,{
+
+//GM Menu: Start
+//If u're a GM you can always reset current Adoption process
+ if(getgmlevel(99)<90) goto L_SKIP;
+ mes "[GM Menu]";
+ mes "Would you like to reset curent adoption?";
+ next;
+ menu "Yes",-,"No",L_SKIP;
+ callfunc "AdoptReset","GM reset";
+ close;
+L_SKIP:
+//GM Menu: End
+
+ if($@AdoptionActive == 1) goto A_Cannot;
+ mes "[Oliver]";
+ if (Upper==2) goto A_YouBaby;
+ if (getchildid()>0 && getskilllv(410)<=0) goto A_GetSkill;
+ if (getchildid()>0) goto A_Already;
+ mes "Would you like to adopt someone?";
+ next;
+ menu "Yes",A_Yes,"No",-;
+A_No:
+ mes "[Oliver]";
+ mes "I am sorry to hear that, please come back when you believe you are ready.";
+ close;
+A_Cannot:
+ mes "[Oliver]";
+ mes "There is currentally an adoption inprogress, come back when it has finished.";
+ close;
+A_Yes:
+ mes "[Oliver]";
+ mes "Good to hear it!";
+ mes "But do you meet the requirments for adoption?";
+ next;
+ mes "[Oliver]";
+ mes "We cant just give out babies at the drop of a hat.";
+ mes "Before we can let you leave with a baby we have to know you are strong enough to take care of it.";
+ next;
+ mes "[Oliver]";
+ mes "We also need to know you have a partner you are married to.";
+ mes "We wont give a baby to an un-married couple.";
+ next;
+ mes "[Oliver]";
+ mes "Do you think you meet these criteria?";
+ next;
+ menu "Yes, I would love to adopt?",-,"No, I dont think I can",A_No;
+ mes "[Oliver]";
+ mes "Well you seem set on this.";
+ next;
+ deltimer "timeadopt";
+ addtimer 300000,"timeadopt";
+ if ($@AdoptionActive == 1) goto A_Cannot;
+ set $@AdoptionActive,1;
+ set @AdoptionReady,1;
+ mes "[Oliver]";
+ mes "I will refer you to my coleage over there.";
+ close;
+
+A_GetSkill:
+ mes "You have just adopted a baby. I'll teach you a useful skill CALL BABY !";
+ next;
+ emotion 46;
+ skill 410,1,0;
+ mes "[Oliver]";
+ mes "Done! Tell your partner to call me, too.";
+ mes "Our children are our future!";
+ close;
+A_Already:
+ emotion 1;
+ mes "How is your baby today?";
+ close;
+A_YouBaby:
+ emotion 2;
+ mes "Say HI to your parents! Be cool!";
+ if (getskilllv(408)<=0 || getskilllv(409)<=0) mes "By the way, our Teacher's wanting to see you.";
+ close;
+}
+
+prt_church.gat,172,177,3 script Adoption Lady 103,{
+ if (Upper==2) goto A_YouBaby;
+ if (getchildid()>0 && getskilllv(410)<=0) goto A_GetSkill;
+ if (getchildid()>0) goto A_Already;
+ if ($@FinalQuestion==1 && $@ParentOne$==strcharinfo(0)) goto A_ParentOneEnd;
+ if ($@FinalQuestion==1 && $@ParentTwo$==strcharinfo(0)) goto A_ParentTwoEnd;
+ if ($@FinalQuestion==1 && $@Baby$==strcharinfo(0)) goto A_BabyEnd;
+ if (strcharinfo(0)==$@Baby$) goto A_FinalTest;
+ if (strcharinfo(0)==$@ParentTwo$) goto A_SecondReg;
+ if (@AdoptionReady==0 || $@AdoptionActive==0) goto A_SeeFriend;
+ mes "[Inanna]";
+ deltimer "timeadopt";
+ addtimer 300000,"timeadopt";
+ mes "So you think you meet our strict requirments?";
+ mes "Let's see here, are you over level 70?";
+ next;
+ menu "Yes, I am over level 70",A_lvl,"No, sorry to bother you",-;
+ mes "[Inanna]";
+ mes "Oh, I am sorry to hear that, please return when you meet this requirment.";
+ callfunc "AdoptReset","the parent didnt meet level requirments";
+ close;
+A_SeeFriend:
+ mes "[Inanna]";
+ mes "Seems you havent talked to my friend here.";
+ mes "He will refer you to me, when he thinks you are ready.";
+ close;
+A_lvl:
+ if(BaseLevel >= 70) goto A_lvlpassed;
+ mes "[Inanna]";
+ mes "Not only should I fail you on being a low level, but you also lied to me.";
+ next;
+ mes "[Inanna]";
+ mes "I cant give a baby to you";
+ callfunc "AdoptReset","the parent didnt meet level requirments";
+ close;
+A_lvlpassed:
+ mes "[Inanna]";
+ mes "WOW, you have passed the test of strength.";
+ next;
+ mes "[Inanna]";
+ mes "But lets see if you are happily married.";
+ mes "For this I will need to see your wedding ring.";
+ next;
+ mes "[Inanna]";
+ mes "Do you have you wedding ring on you now?";
+ next;
+ menu "Yes, here you go",A_Wedring,"No, Sorry I dont",A_Noring,"I am not married",-;
+ mes "[Inanna]";
+ mes "Well, as my fried said here, we will not give a baby to a family that is not married";
+ callfunc "AdoptReset","the parent isnt married";
+ close;
+A_Noring:
+ mes "[Inanna]";
+ mes "I cant believe you are in a loving marrige when you dont have your ring on you at all times!!!";
+ next;
+ mes "[Inanna]";
+ mes "I dont believe you deserve a baby.";
+ callfunc "AdoptReset","the parent hasnt got a wedding ring as proof of marriage.";
+ close;
+A_Wedring:
+ if ( countitem(2634)>0 || countitem(2635)>0 ) goto A_Wedringpassed;
+ goto A_Noring;
+A_Wedringpassed:
+ mes "[Inanna]";
+ mes "Awwwww, such a lovely ring, you must love your partner.";
+ next;
+ if (getchildid()>0) goto A_AlreadyHaveBaby;
+ mes "[Inanna]";
+ mes "I need to see them, please tell me their name.";
+ next;
+ input $@ParentTwo$;
+ set $@ParentOne$, strcharinfo(0);
+ mes "[Inanna]";
+ mes "Your partner now has 5 min to talk to me before the adoption is canceled.";
+ next;
+ deltimer "timeadopt";
+ addtimer 300000,"timeadopt";
+ areaannounce "prt_church.gat",0,0,350,350,"Can I please see "+$@ParentTwo$+" please",0;
+ mes "[Inanna]";
+ mes "Can you now please wait for me to call you again, thank you.";
+ close;
+A_AlreadyHaveBaby:
+ mes "Now lets look at the inscription on your ring, oh it seems you already have a baby.";
+ next;
+ mes "[Inanna]";
+ mes "I am sorry, you can only ever adopt once.";
+ mes "Please take care of you baby.";
+ callfunc "AdoptReset","the parent has already adopted once before";
+ close;
+A_SecondReg:
+ deltimer "timeadopt";
+ addtimer 300000,"timeadopt";
+ mes "[Inanna]";
+ mes "You must be "+$@ParentTwo$+", I just talked to your partner "+$@ParentOne$+", they mentioned you want to adopt baby.";
+ next;
+ mes "[Inanna]";
+ mes "Do you agree with "+$@ParentOne$+", do you want to adopt?";
+ next;
+ menu "Yes, I agree with them",A_agree,"No, I dont want to adopt",-;
+ mes "[Inanna]";
+ mes "This is bad news, I am very sorry to hear this.";
+ callfunc "AdoptReset","the 2nd parent does not want to adopt";
+ close;
+A_agree:
+ mes "[Inanna]";
+ mes "Now I will put you through the same test as your partner.";
+ next;
+ if(BaseLevel >= 70) goto A_lvltwo;
+ mes "[Inanna]";
+ mes "Sorry you are not over level 70.";
+ callfunc "AdoptReset","the 2nd parent didnt meet the level requirments";
+ close;
+A_lvltwo:
+ if ( countitem(2634)>0 || countitem(2635)>0 ) goto A_Wedringtwo;
+ mes "[Inanna]";
+ mes "Sorry you dont have a wedding ring on you as proof of marriage.";
+ callfunc "AdoptReset","the 2nd parent hasnt got a wedding ring as proof of marriage";
+ close;
+A_Wedringtwo:
+ if (getchildid()>0) goto A_AlreadyHaveBaby;
+ mes "[Inanna]";
+ mes "You have checked out, and have passed all the requirments.";
+ mes "All you need is a novice to adopt.";
+ next;
+ mes "[Inanna]";
+ mes "Do you have a novice to adopt?";
+ next;
+ menu "Yes, right here",A_YesBaby,"No, I'm sorry",-;
+ mes "[Inanna]";
+ mes "I suggest you find one, remember to get your parent to talk to my friend first when you return.";
+ callfunc "AdoptReset","there is no novice present to be adopted";
+ close;
+A_YesBaby:
+ mes "[Inanna]";
+ mes "Can I please know thier name?";
+ next;
+ input $@Baby$;
+ mes "[Inanna]";
+ mes "The novice now has 5min to come and talk to me, or the adopt will be canceled.";
+ next;
+ deltimer "timeadopt";
+ addtimer 300000,"timeadopt";
+ mes "[Inanna]";
+ mes "Thank you, can you please wait with your partner, and wait to be called back.";
+ areaannounce "prt_church.gat",0,0,350,350,"Can I please see "+$@Baby$+", please",0;
+ close;
+A_FinalTest:
+ deltimer "timeadopt";
+ addtimer 300000,"timeadopt";
+ if(Upper==2) goto A_AlreadyAdopted;
+ if(baseClass == Job_Taekwon) goto A_CantBeAdopted;
+ mes "[Inanna]";
+ mes "You must be "+$@Baby$+", its very nice to meet you.";
+ mes "Some very nice people, "+$@ParentOne$+" and "+$@ParentTwo$+", have asked to adopt you.";
+ next;
+ if(sex!=0) set $@GenderBaby$,"boy";
+ if(sex==0) set $@GenderBaby$,"girl";
+
+ mes "[Inanna]";
+ mes "Now can you be a good "+$@GenderBaby$+" and go with these nice people?";
+ next;
+ menu "Yes, me would luv too",A_BabyYes,"NOOOOO!!!",-;
+ mes "[Inanna]";
+ mes "Please calm down.";
+ mes "I will try and find better parents for you next time.";
+ callfunc "AdoptReset","the novice didnt want to be adopted";
+ close;
+A_BabyYes:
+ mes "[Inanna]";
+ mes "Awwww, so cute, good to hear it.";
+ mes "Now lets see here.";
+ next;
+ mes "[Inanna]";
+ mes "I need to do a check on your level to prove you are a novice, stand still.";
+ next;
+ if (BaseLevel == 1 && JobLevel == 1) goto A_Ready;
+ mes "[Inanna]";
+ mes "Sorry but you are higher than level one, and cause of this you are a true novice.";
+ callfunc "AdoptReset","the person that would be adopted, is over level 1";
+ close;
+A_Ready:
+ mes "[Inanna]";
+ mes "You are just as sweet an inocent as the day our lord made you.";
+ next;
+ mes "[Inanna]";
+ mes "I have no objections to you being adopted.";
+ mes "Before you can be adopted I will need to see your parents, and you, one last time.";
+ set $@FinalQuestion,1;
+ areaannounce "prt_church.gat",0,0,350,350,"Can I please see all people involved with this adoption please",0;
+ deltimer "timeadopt";
+ addtimer 300000,"timeadopt";
+ close;
+A_AlreadyAdopted:
+ mes "[Inanna]";
+ mes "Oh you are already adopted, so you cant be adopted again.";
+ callfunc "AdoptReset","the person that would be adopted has already been adopted before";
+ close;
+A_CantBeAdopted:
+ mes "[Inanna]";
+ mes "Sorry, but your job does not allow adoption.";
+ callfunc "AdoptReset","the person that would be adopted has a job that can't be adopted";
+ close;
+A_ParentOneEnd:
+ if (@regged>1) goto AlreadyReged;
+ if ($@ParentOne$==$@ParentTwo$) goto A_SameFail;
+ mes "[Inanna]";
+ mes "Nice to talk to you again "+$@ParentOne$;
+ mes "This is you last chance to back out";
+ next;
+ mes "[Inanna]";
+ mes "You can only ever adopt once, so if you adopt "+$@Baby$+", you can never adopt any one else ever";
+ next;
+ mes "[Inanna]";
+ mes "Are you sure you want to proceed";
+ next;
+ menu "Yes",A_FinalYesP,"No",-;
+ mes "[Inanna]";
+ mes "I cannot believe you would come this far to say no!";
+ mes "Are you sure you want to stop now?";
+ next;
+ menu "Yes, I dont want to adopt",-,"No, I made a mistake",A_ParentOneEnd;
+A_Failend:
+ mes "[Inanna]";
+ mes "Well if you are sure";
+ callfunc "AdoptReset","a parent or the novice pulled out";
+ close;
+A_FinalYesP:
+ mes "[Inanna]";
+ mes "OK everything is ready to start this adoption";
+ mes "I will announce to everyone when it is complete";
+ set @regged,1;
+ set $@checkall,$@checkall+1;
+ if ($@checkall==3) goto THEEND;
+ close;
+A_ParentTwoEnd:
+ if (@regged>1) goto AlreadyReged;
+ mes "[Inanna]";
+ mes "Nice to talk to you again "+$@ParentTwo$;
+ mes "This is you last chance to back out";
+ next;
+ mes "[Inanna]";
+ mes "You can only ever adopt once, so if you adopt "+$@Baby$+", you can never adopt any one else ever";
+ next;
+ mes "[Inanna]";
+ mes "Are you sure you want to proceed";
+ next;
+ menu "Yes",A_FinalYesP,"No",-;
+ mes "[Inanna]";
+ mes "I cannot believe you would come this far to say no!";
+ mes "Are you sure you want to stop now?";
+ next;
+ menu "Yes, I dont want to adopt",A_Failend,"No, I made a mistake",A_ParentTwoEnd;
+A_AlreadyReged:
+ mes "[Inanna]";
+ mes "Please wait for the others to talk to me";
+ close;
+A_BabyEnd:
+ if (@regged>1) goto AlreadyReged;
+ mes "[Inanna]";
+ mes "Nice to talk to you again "+$@Baby$;
+ mes "This is you last chance to back out";
+ next;
+ mes "[Inanna]";
+ mes "You can only ever be adopted once, so if you are adopted by "+$@ParentOne$+" and "+$@ParentTwo$+", you can never be adopted again";
+ next;
+ mes "[Inanna]";
+ mes "Are you sure you want to proceed";
+ next;
+ menu "Yes",A_FinalYesB,"No",-;
+ mes "[Inanna]";
+ mes "I cannot believe you would come this far to say no!";
+ mes "Are you sure you want to stop now?";
+ next;
+ menu "Yes, I dont want to adopt",A_Failend,"No, I made a mistake",A_BabyEnd;
+A_FinalYesB:
+ mes "[Inanna]";
+ mes "OK everything is ready to start this adoption";
+ mes "I will announce to everyone when it is complete";
+ set @regged,1;
+ set $@checkall,$@checkall+1;
+ if ($@checkall==3) goto THEEND;
+ close;
+A_SameFail:
+ mes "[Inanna]";
+ mes "Sorry, it seems you have registerd as both parents, this isnt allowed";
+ callfunc "AdoptReset","both parents are the same person";
+ close;
+
+A_GetSkill:
+ emotion 20;
+ mes "[Inanna]";
+ mes "You can't see your baby often?.. I'll try to teach you one skil... Where's my skills manual?";
+ next;
+ mes "[Oliver]";
+ mes "Hey, Inanna! This is my job. Pass them to me!";
+ close;
+A_Already:
+ mes "[Inanna]";
+ emotion 21;
+ mes "How is your baby now?";
+ close;
+A_YouBaby:
+ mes "[Inanna]";
+ emotion 30;
+ mes "Tell your father he's a good father!";
+ if (getskilllv(408)<=0 || getskilllv(409)<=0) mes "You should talk to our Teacher.";
+ close;
+
+THEEND:
+ logmes "Adoption: "+$@Baby$+" adopted by "+$@ParentOne$+" and "+$@ParentTwo$+".";
+ adopt $@ParentOne$,$@ParentTwo$,$@Baby$;
+ announce $@ParentOne$+" and "+$@ParentTwo$+" has just adopted a new baby "+$@GenderBaby$+", called "+$@Baby$,5;
+ deltimer "timeadopt";
+ set $@AdoptionActive, 0;
+ set $@ParentOne$, null;
+ set $@ParentTwo$, null;
+ set $@Baby$, null;
+ set $@GenderBaby$, null;
+ set $@FinalQuestion, 0;
+ set $@CheckAll, 0;
+ close;
+ end;
+}
+
+prt_church.gat,165,175,0 script timeadopt -1,{
+ callfunc "AdoptReset","too much time has passed between steps";
+ end;
+}
+function script AdoptReset {
+ deltimer "timeadopt";
+ set $@AdoptionActive, 0;
+ set $@ParentOne$, null;
+ set $@ParentTwo$, null;
+ set $@Baby$, null;
+ set $@GenderBaby$, null;
+ set $@FinalQuestion, 0;
+ set $@CheckAll, 0;
+ areaannounce "prt_church.gat",0,0,350,350,"The adoption has been canceled because "+getarg(0),0;
+ return;
+}
+
+prt_church.gat,165,166,6 script Teacher 97,{
+ mes "[Mario]";
+ if (Upper==2 && (getskilllv(408)<=0 || getskilllv(409)<=0)) goto L_Teach;
+ if (Upper==2) mes "Hello, baby! How are you?";
+ if (Upper!=2) mes "How are you?";
+ next;
+ menu "Great!",-,"Fine.",-,"So-so...",-,"Shoot me, please.",-;
+ mes "[Mario]";
+ mes "So nice!";
+ emotion rand(19,21);
+ close;
+
+L_Teach:
+ skill 408,1,0;
+ skill 409,1,0;
+ mes "Ta-da! Now you know 2 quite useful skills!";
+ mes "1. Call your Parents (when you're in a danger).";
+ mes "2. Protect your parents' EXP with yor love!";
+ emotion 41;
+ next;
+ mes "[Mario]";
+ mes "On seeing a baby tell them to visit me.";
+ next;
+
+L_Cancel:
+ mes "[Mario]";
+ mes "Bye bye!";
+ close;
+}
diff --git a/npc/custom/airplane.txt b/npc/custom/airplane.txt
new file mode 100644
index 000000000..854ba98ee
--- /dev/null
+++ b/npc/custom/airplane.txt
@@ -0,0 +1,436 @@
+//===== eAthena Script =======================================
+//= elRO Airship
+//===== By: ==================================================
+//= Edited And removed irrelevent comments by eAthena Dev Team
+//= Draike\Bluto\Hephaestus
+//===== Current Version: =====================================
+//= 2.0 eAthena Release
+//===== Compatible With: =====================================
+//= eAthena SVN 02/05/2005 +
+//===== Description: =========================================
+//= It's the elRO airship. XD
+//===== Additional Comments: =================================
+//= ALWAYS HAVE AT LEAST TWELVE (12) LOCATIONS AS THE MINIMUM. This is unless you modify to OnMinutes and change the schedule around.
+//= If you have "airplane.gat,103,72,0 warp airs02a 1,1,airplane.gat,102,200" as a warp, remove it. Where it's supposed to go, I have no clue.
+//============================================================
+payon.gat,153,43,5 script itinsetter -1,{
+
+//This is just OnInit stuff to set the hourly intinerary.
+OnInit:
+deletearray $locationsname$[0],500;
+deletearray $locationsmap$[0],500;
+deletearray $locationsx[0],500;
+deletearray $locationsy[0],500;
+deletearray $alreadygoneto[0],500;
+setarray $locationsname$[0],"Airport";
+setarray $locationsname$[1],"Prontera";
+setarray $locationsname$[2],"Payon";
+setarray $locationsname$[3],"Aldebaran";
+setarray $locationsname$[4],"Alberta";
+setarray $locationsname$[5],"Geffen";
+setarray $locationsname$[6],"Morocc";
+setarray $locationsname$[7],"Glast Heim";
+setarray $locationsname$[8],"Umbala";
+setarray $locationsname$[9],"Comodo";
+setarray $locationsname$[10],"Amatsu";
+setarray $locationsname$[11],"Niflheim";
+setarray $locationsname$[12],"Lutie";
+setarray $locationsname$[13],"Louyang";
+setarray $locationsname$[14],"Gonryun";
+setarray $locationsname$[15],"Yuno";
+setarray $locationsname$[16],"Ant Hell";
+setarray $locationsname$[17],"Jawaii";
+setarray $locationsname$[18],"Orc Village";
+setarray $locationsname$[19],"Mjolnir Coal Mines";
+setarray $locationsname$[20],"Gefenia Ruins";
+setarray $locationsname$[21],"Ayothaya";
+setarray $locationsname$[22],"Lighthalzen";
+setarray $locationsname$[23],"Juperos";
+setarray $locationsmap$[0],"airport.gat";
+setarray $locationsmap$[1],"prt_fild08.gat";
+setarray $locationsmap$[2],"pay_fild08.gat";
+setarray $locationsmap$[3],"mjolnir_12.gat";
+setarray $locationsmap$[4],"pay_fild03.gat";
+setarray $locationsmap$[5],"gef_fild00.gat";
+setarray $locationsmap$[6],"moc_fild10.gat";
+setarray $locationsmap$[7],"glast_01.gat";
+setarray $locationsmap$[8],"umbala.gat";
+setarray $locationsmap$[9],"comodo.gat";
+setarray $locationsmap$[10],"amatsu.gat";
+setarray $locationsmap$[11],"niflheim.gat";
+setarray $locationsmap$[12],"xmas.gat";
+setarray $locationsmap$[13],"louyang.gat";
+setarray $locationsmap$[14],"gonryun.gat";
+setarray $locationsmap$[15],"yuno.gat";
+setarray $locationsmap$[16],"moc_fild04.gat";
+setarray $locationsmap$[17],"jawaii.gat";
+setarray $locationsmap$[18],"gef_fild10.gat";
+setarray $locationsmap$[19],"mjolnir_02.gat";
+setarray $locationsmap$[20],"gefenia01.gat";
+setarray $locationsmap$[21],"ayothaya.gat";
+setarray $locationsmap$[22],"lighthalzen.gat";
+setarray $locationsmap$[23],"jupe_gate.gat";
+setarray $locationsx[0],148;
+setarray $locationsx[1],206;
+setarray $locationsx[2],159;
+setarray $locationsx[3],62;
+setarray $locationsx[4],194;
+setarray $locationsx[5],50;
+setarray $locationsx[6],163;
+setarray $locationsx[7],196;
+setarray $locationsx[8],187;
+setarray $locationsx[9],203;
+setarray $locationsx[10],115;
+setarray $locationsx[11],132;
+setarray $locationsx[12],232;
+setarray $locationsx[13],36;
+setarray $locationsx[14],82;
+setarray $locationsx[15],58;
+setarray $locationsx[16],209;
+setarray $locationsx[17],248;
+setarray $locationsx[18],158;
+setarray $locationsx[19],76;
+setarray $locationsx[20],98;
+setarray $locationsx[21],183;
+setarray $locationsx[22],99;
+setarray $locationsx[23],46;
+setarray $locationsy[0],45;
+setarray $locationsy[1],280;
+setarray $locationsy[2],92;
+setarray $locationsy[3],381;
+setarray $locationsy[4],182;
+setarray $locationsy[5],365;
+setarray $locationsy[6],172;
+setarray $locationsy[7],327;
+setarray $locationsy[8],98;
+setarray $locationsy[9],76;
+setarray $locationsy[10],79;
+setarray $locationsy[11],241;
+setarray $locationsy[12],308;
+setarray $locationsy[13],279;
+setarray $locationsy[14],96;
+setarray $locationsy[15],194;
+setarray $locationsy[16],326;
+setarray $locationsy[17],175;
+setarray $locationsy[18],95;
+setarray $locationsy[19],363;
+setarray $locationsy[20],21;
+setarray $locationsy[21],104;
+setarray $locationsy[22],240;
+setarray $locationsy[23],19;
+goto resetgoneto;
+end;
+
+setrandomitin:
+set $@settervariable,$@settervariable + 1;
+setarray $locationn[$@settervariable],rand(0,getarraysize($locationsname$) - 1);
+if($alreadygoneto[$locationn[$@settervariable]]==1)set $@settervariable,$@settervariable - 1;
+if($alreadygoneto[$locationn[$@settervariable]]==1)goto setrandomitin;
+setarray $alreadygoneto[$locationn[$@settervariable]], 1;
+if($@settervariable<12)goto setrandomitin;
+end;
+
+resetgoneto:
+deletearray $alreadygoneto[0], 500;
+set $@currenttime, 0;
+goto setrandomitin;
+
+OnMinute00:
+set $@currenttime, 1;
+callfunc "F_Itinreset",12,1,2;
+
+OnMinute03:
+set $destination,250;
+end;
+
+OnMinute05:
+set $@currenttime, 2;
+callfunc "F_Itinreset",1,2,3;
+
+OnMinute08:
+set $destination,250;
+end;
+
+OnMinute10:
+set $@currenttime, 3;
+callfunc "F_Itinreset",2,3,4;
+
+OnMinute13:
+set $destination,250;
+end;
+
+OnMinute15:
+set $@currenttime, 4;
+callfunc "F_Itinreset",3,4,5;
+
+OnMinute18:
+set $destination,250;
+end;
+
+OnMinute20:
+set $@currenttime, 5;
+callfunc "F_Itinreset",4,5,6;
+
+OnMinute23:
+set $destination,250;
+end;
+
+OnMinute25:
+set $@currenttime, 6;
+callfunc "F_Itinreset",5,6,7;
+
+OnMinute28:
+set $destination,250;
+end;
+
+OnMinute30:
+set $@currenttime, 7;
+callfunc "F_Itinreset",6,7,8;
+
+OnMinute33:
+set $destination,250;
+end;
+
+OnMinute35:
+set $@currenttime, 8;
+callfunc "F_Itinreset",7,8,9;
+
+OnMinute38:
+set $destination,250;
+end;
+
+OnMinute40:
+set $@currenttime, 9;
+callfunc "F_Itinreset",8,9,10;
+
+OnMinute43:
+set $destination,250;
+end;
+
+OnMinute45:
+set $@currenttime, 10;
+callfunc "F_Itinreset",9,10,11;
+
+OnMinute48:
+set $destination,250;
+end;
+
+OnMinute50:
+set $@currenttime, 11;
+callfunc "F_Itinreset",10,11,12;
+
+OnMinute53:
+set $destination,250;
+end;
+
+OnMinute55:
+set $@currenttime, 12;
+callfunc "F_Itinreset",11,12,1;
+
+OnMinute58:
+set $destination,250;
+end;
+}
+function script F_Porter {
+ if($destination==getarg(0))goto Board;
+ if($destination!=getarg(0))goto Notime;
+
+Board:
+ mes "^FF0000[Porter]^000000";
+ mes "The plane is currently ported. Would you like to board?";
+ menu "Yes.",L_Yes,"No.",L_Nope,"View Hourly Itinerary.",Itin;
+
+L_Yes:
+ if($destination!=getarg(0))goto Notime;
+ warp "airplane.gat", 105, 72;
+ specialeffect2 501;
+L_Nope:
+ mes "^FF0000[Porter]^000000";
+ mes "Have a good day. Thank you for traveling with Airship.";
+ close;
+
+Notime:
+ mes "^FF0000[Porter]^000000";
+ if(sex==0) mes "Sorry, ma'am, but the plane currently isn't ported. However, you can view the airplane's hourly itinerary.";
+ if(sex==1) mes "Sorry, sir, but the plane currently isn't ported. However, you can view the airplane's hourly itinerary.";
+ menu "Yes, please.",Itin,"No thanks.",L_Nope;
+ close;
+ end;
+
+Itin:
+next;
+mes "^FF0000[Porter]^000000";
+callfunc "F_Itin";
+}
+airport.gat,153,43,5 script Airport Porter 774,{
+callfunc "F_Porter",0;
+}
+prt_fild08.gat,206,279,5 script Porter 774,{
+callfunc "F_Porter",1;
+}
+gef_fild00.gat,50,364,5 script Porter 774,{
+callfunc "F_Porter",5;
+}
+moc_fild10.gat,163,173,5 script Porter 774,{
+callfunc "F_Porter",6;
+}
+mjolnir_12.gat,61,380,5 script Porter 774,{
+callfunc "F_Porter",3;
+}
+pay_fild08.gat,159,91,5 script Porter 774,{
+callfunc "F_Porter",2;
+}
+pay_fild03.gat,194,181,5 script Porter 774,{
+callfunc "F_Porter",4;
+}
+glast_01.gat,196,326,1 script Porter 774,{
+callfunc "F_Porter",7;
+}
+umbala.gat,188,98,3 script Porter 774,{
+callfunc "F_Porter",8;
+}
+comodo.gat,203,75,8 script Porter 774,{
+callfunc "F_Porter",9;
+}
+amatsu.gat,115,78,8 script Porter 774,{
+callfunc "F_Porter",10;
+}
+niflheim.gat,132,242,5 script Porter 774,{
+callfunc "F_Porter",11;
+}
+xmas.gat,232,309,5 script Porter 774,{
+callfunc "F_Porter",12;
+}
+louyang.gat,35,279,8 script Porter 774,{
+callfunc "F_Porter",13;
+}
+gonryun.gat,82,95,7 script Porter 774,{
+callfunc "F_Porter",14;
+}
+yuno.gat,58,195,4 script Porter 774,{
+callfunc "F_Porter",15;
+}
+moc_fild04.gat,210,326,2 script Porter 774,{
+callfunc "F_Porter",16;
+}
+jawaii.gat,247,174,7 script Porter 774,{
+callfunc "F_Porter",17;
+}
+gef_fild10.gat,159,95,2 script Porter 774,{
+callfunc "F_Porter",18;
+}
+mjolnir_02.gat,76,364,5 script Porter 774,{
+callfunc "F_Porter",19;
+}
+gefenia01.gat,97,22,6 script Porter 774,{
+callfunc "F_Porter",20;
+}
+ayothaya.gat,182,105,5 script Porter 774,{
+callfunc "F_Porter",21;
+}
+lighthalzen.gat,99,241,4 script Porter 774,{
+callfunc "F_Porter",22;
+}
+jupe_gate.gat,46,18,7 script Porter 774,{
+callfunc "F_Porter",23;
+}
+airport.gat,141,43,5 script Itinerary Schedule 837,{
+mes "^FF0000[Itinerary]^000000";
+callfunc "F_Itin";
+}
+airplane.gat,102,68,5 script Docker 852,{
+ if($destination == 250) goto Nowhere;
+ mes "^FF0000[Airplane Attendant]^000000";
+ if($destination == 250)goto Notime;
+ set @dockky, $destination;
+ if($destination != 250)mes "We are currently docked at "+$locationsname$[$destination]+". Would you like to exit?";
+ menu "Yes.",Lyes,"No.",Lnope;
+
+Lyes:
+ if($destination == 250)goto Notime;
+ if($destination != @dockky)goto Notime;
+ warp $locationsmap$[$destination], $locationsx[$destination], $locationsy[$destination];
+ specialeffect2 501;
+
+Lnope:
+ next;
+ mes "^FF0000[Airplane Attendant]^000000";
+ mes "Have a good day. Thank you for traveling with us.";
+ close;
+
+Notime:
+ mes "^FF0000[Airplane Attendant]^000000";
+ if(sex==0) mes "Sorry, ma'am, but the plane currently isn't docked. Please wait.";
+ if(sex==1) mes "Sorry, sir, but the plane currently isn't docked. Please wait.";
+ close;
+
+Nowhere:
+ mes "^FF0000[Airplane Attendant]^000000";
+ mes "We're currently in air. Please wait until the pilot has announced that we have safely landed.";
+ close;
+}
+function script F_Itin {
+//This is the itinerary's function. It should work well enough.
+if($@currenttime==0)mes "Try again later. A recent server reboot or rehash has messed the itinerary up for a bit.";
+if($@currenttime==0)close;
+if($@currenttime==0)end;
+set @tempo, 0;
+set @tempo, $@currenttime - 1;
+goto seta;
+close;
+
+seta:
+set @tempo, @tempo + 1;
+set @time, gettime(3);
+set @minutes, 5 * @tempo - 5;
+set @minutess, 5 * @tempo - 2;
+if(@minutes<10)set @minutes$, "0" + @minutes;
+if(@minutes>9)set @minutes$, @minutes;
+if(@minutess<10)set @minutess$, "0" + @minutess;
+if(@minutess>9)set @minutess$, @minutess;
+if(@time<12)set @time$,@time;
+if(@time==12)set @time$,12;
+if(@time>12)set @time$,@time - 12;
+if(@time<12)mes @time$+":"+ @minutes$ + " A.M. - "+@time$+ ":"+ @minutess$ + " A.M. - "+"^FF0000"+$locationsname$[$locationn[@tempo]]+"^000000";
+if(@time==12)mes @time$+":"+ @minutes$ + " P.M. - "+@time$+ ":"+ @minutess$ + " P.M. -"+"^FF0000 "+$locationsname$[$locationn[@tempo]]+"^000000";
+if(@time>12 && time<24)mes @time$ +":"+ @minutes$ + " P.M. - "+@time$ + ":"+ @minutess$ + " P.M. -"+"^FF0000 "+$locationsname$[$locationn[@tempo]]+"^000000";
+if(@time==24)mes @time$+":"+ @minutes$ + " A.M. - "+@time$+ ":"+ @minutess$ + " A.M. -"+"^FF0000 "+$locationsname$[$locationn[@tempo]]+"^000000";
+if(@tempo<12)goto seta;
+set @tempo, 0;
+goto setb;
+
+setb:
+if($@currenttime - 1==@tempo)goto setc;
+set @tempo, @tempo + 1;
+set @time, gettime(3) + 1;
+set @minutes, 5 * @tempo - 5;
+set @minutess, 5 * @tempo - 2;
+if(@minutes<10)set @minutes$, "0" + @minutes;
+if(@minutes>9)set @minutes$, @minutes;
+if(@minutess<10)set @minutess$, "0" + @minutess;
+if(@minutess>9)set @minutess$, @minutess;
+if(@time<12)set @time$,@time;
+if(@time==12)set @time$,12;
+if(@time>12)set @time$,@time - 12;
+if(@time<12)mes @time$+":"+ @minutes$ + " A.M. - "+@time$+ ":"+ @minutess$ + " A.M. - "+"^FF0000"+$locationsname$[$locationn[@tempo]]+"^000000";
+if(@time==12)mes @time$+":"+ @minutes$ + " P.M. - "+@time$+ ":"+ @minutess$ + " P.M. -"+"^FF0000 "+$locationsname$[$locationn[@tempo]]+"^000000";
+if(@time>12 && time<24)mes @time$ +":"+ @minutes$ + " P.M. - "+@time$+ ":"+ @minutess$ + " P.M. -"+"^FF0000 "+$locationsname$[$locationn[@tempo]]+"^000000";
+if(@time==24)mes @time$+":"+ @minutes$ + " A.M. - "+@time$+ ":"+ @minutess$ + " A.M. -"+"^FF0000 "+$locationsname$[$locationn[@tempo]]+"^000000";
+goto setb;
+
+setc:
+close;
+end;
+}
+function script F_Itinreset {
+setarray $alreadygoneto[$locationn[getarg(0)]], 0;
+goto sest;
+
+sest:
+setarray $locationn[getarg(0)],rand(0,getarraysize($locationsname$) - 1);
+if($alreadygoneto[$locationn[getarg(0)]]==1)goto sest;
+setarray $alreadygoneto[$locationn[getarg(0)]], 1;
+set $destination,$locationn[$@currenttime];
+announce "Pilot: The plane has arrived at "+$locationsname$[$locationn[getarg(1)]]+". Departure to "+ $locationsname$[$locationn[getarg(2)]] + " is in 3 minutes.",16;
+end;
+} \ No newline at end of file
diff --git a/npc/custom/banks/bank.txt b/npc/custom/banks/bank.txt
new file mode 100644
index 000000000..67889a139
--- /dev/null
+++ b/npc/custom/banks/bank.txt
@@ -0,0 +1,126 @@
+//===== eAthena Script =======================================
+//= Banker Script
+//===== By: ==================================================
+//= Syrus22 (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any eAthena version with Account variables.
+//===== Description: =========================================
+//= An account wide Banker to store Zeny
+//===== Additional Comments: =================================
+//= Syrus22 - There's an optional transaction fee at the top of
+//= the script. To use it simply change the first set command
+//= to set the cost variable to whatever you want the fee to be.
+//============================================================
+prontera.gat,132,217,5 script Banker 109,{
+set @cost,500;
+mes "[Banker]";
+mes "Welcome to the First Bank of Prontera. How can I help you today?";
+next;
+menu "I'd like to make a deposit.",Ldeposit,"I'd like to make a withdrawl.",Lwithdrawl,"What's my current balance?",Lbalance,"Cancel",Lcancel;
+
+Ldeposit:
+ mes "[Banker]";
+ mes "Very well... How much would you like to deposit? The maximum you can deposit at once is 999,999 Zeny.";
+ next;
+ if (@cost > 0) goto Ldepocost;
+ goto Ldepocont;
+
+ Ldepocost:
+ mes "[Banker]";
+ mes "Oh and don't forget there is a " + @cost + " Zeny charge on all transactions.";
+ next;
+ goto Ldepocont;
+
+Ldepocont:
+ input @deposit;
+ if (@deposit < 1) goto Lrealamount;
+ if (@deposit > Zeny) goto Lneedzeny;
+ if (@deposit > (Zeny - @cost)) goto Lneedzeny2;
+ set Zeny,Zeny - @deposit;
+ set Zeny,Zeny - @cost;
+ set #bankstorage,#bankstorage + @deposit;
+ mes "[Banker]";
+ mes "Thank you very much... Your zeny is in good hands.";
+ close;
+
+Lwithdrawl:
+ mes "[Banker]";
+ mes "Very well... How much would you like to withdraw? The maximum you can withdraw at one time is 999,999 Zeny";
+ next;
+ if (@cost > 0) goto Lwithcost;
+ goto Lwithcont;
+
+ Lwithcost:
+ mes "[Banker]";
+ mes "Oh and don't forget there is a " + @cost + " Zeny charge on all transactions.";
+ next;
+ goto Lwithcont;
+
+Lwithcont:
+ input @withdrawl;
+ if (@withdrawl < 1) goto Lrealamount;
+ if (@withdrawl > #bankstorage) goto Lneedzeny3;
+ if ((@cost > Zeny) && ((Zeny + @withdrawl) > @cost)) goto Lcostask;
+ if (@cost > Zeny) goto Lneedzeny2;
+ goto Lwithcont2;
+
+ Lcostask:
+ mes "[Banker]";
+ mes "You don't have the Zeny for the transaction fee right now. Would you like me to take the fee directly from your withdrawl?";
+ next;
+ menu "Yes please.",Lwithtake,"No thank you.",Lcancel;
+
+ Lwithtake:
+ mes "[Banker]";
+ mes "Ok then.";
+ set @withdrawl,@withdrawl - @cost;
+ set #bankstorage,#bankstorage - @cost;
+ set @cost,0;
+ next;
+ goto Lwithcont2;
+
+Lwithcont2:
+ set Zeny,Zeny - @cost;
+ set Zeny,Zeny + @withdrawl;
+ set #bankstorage,#bankstorage - @withdrawl;
+ mes "[Banker]";
+ mes "There's your Zeny. Have a good day.";
+ close;
+
+Lbalance:
+ mes "[Banker]";
+ mes "Hmmmm lemme check the paper work.";
+ next;
+ mes "*Rustle, Rustle*";
+ next;
+ mes "[Banker]";
+ mes "You currently have " + #bankstorage + " Zeny in your account.";
+ close;
+
+Lrealamount:
+ mes "[Banker]";
+ mes "Don't play jokes with me please. Next time ask for a real amount.";
+ close;
+
+Lneedzeny:
+ mes "[Banker]";
+ mes "You don't have enough Zeny to make that deposit.";
+ close;
+
+Lneedzeny2:
+ mes "[Banker]";
+ mes "You don't have enough Zeny to cover the transaction fee.";
+ close;
+
+Lneedzeny3:
+ mes "[Banker]";
+ mes "You don't have enough Zeny in your account.";
+ close;
+
+Lcancel:
+ mes "[Banker]";
+ mes "Very well... come again soon.";
+ close;
+} \ No newline at end of file
diff --git a/npc/custom/banks/kafra_bank.txt b/npc/custom/banks/kafra_bank.txt
new file mode 100644
index 000000000..941501e88
--- /dev/null
+++ b/npc/custom/banks/kafra_bank.txt
@@ -0,0 +1,116 @@
+//===== eAthena Script =======================================
+//= The 2nd Bank of Prontera ( with daily 0.01% income! )
+//===== By: ==================================================
+//= Lupus (1.0)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 1.x
+//===== Description: =========================================
+//= A bank which has an interest %
+//===== Additional Comments: =================================
+// Look for this formula and setup your Bank daily % interest
+// #kafrabank/1000 = 0.1% of interest per day
+// #kafrabank/100 = 1% of interest per day
+// #kafrabank/10 = 10% of interest per day
+//
+// 1.1 Added log of bank operation -> logmes "some info";
+// 1.2 Set max income to 100,000z. It would help to avoid
+// zeny exploits when you change DATE at your server
+//============================================================
+
+prontera.gat,131,190,1 script Bank Clerk::bankg 833,{
+ mes"[Maniss]";
+ mes strcharinfo(0)+", welcome to the 2nd Bank of Prontera!";
+
+ set @kb_int,(gettime(6)*31)+gettime(5); //today's number
+ set @income,0;
+//calculate %
+ if (#kafrabank<=0 || #kb_int>=@kb_int) goto L_NoIncomeToday;
+ set @income,(#kafrabank/1000)*(@kb_int-#kb_int); //@income == % of the sum
+//max income constant:
+ if (@income>100000) set @income,100000;
+L_NoIncomeToday:
+ set #kb_int,@kb_int; //reset days timer
+
+ if(#kafrabank==0) mes "We could open you an account.";
+ if(@income>0) mes "Today's income: ^135445" + @income + "^000000 zeny.";
+ set #kafrabank,#kafrabank+@income;
+ if(#kafrabank>0) mes "Your account: ^135445" + #kafrabank + "^000000 zeny.";
+ mes "What would you like?";
+ next;
+ if(#kafrabank==0) menu "-Open an account",-,"-Quit",B_EXIT2;
+ if(#kafrabank>0) menu "-Deposit money",-,"-Withdraw money",M_WITHDRAW,"-Quit",B_EXIT2;
+
+ mes"[Maniss]";
+ mes "Please, tell me how much zeny you would like to deposit.";
+ next;
+ input @kafrabank;
+
+ if(@kafrabank<1000) goto L_LESS_1000;
+ if(@kafrabank>10000000) goto L_TOO_BIG_AMOUNT;
+ if(@kafrabank>zeny) goto L_NOT_ENOUGH;
+ set zeny,zeny-@kafrabank;
+ set #kafrabank,#kafrabank+@kafrabank;
+ mes"[Maniss]";
+ mes "You've made a deposit of ^135445" + @kafrabank + "z^000000.";
+//we log these zeny operations into the log db
+ logmes "Bank %: " + @income +"z, Deposit: "+ @kafrabank +"z, Final: "+ #kafrabank +"z";
+ goto B_EXIT;
+
+M_WITHDRAW:
+ if(#kafrabank==0) goto L_ZERO_ACCOUNT;
+ mes"[Maniss]";
+ mes "Your account: ^135445" + #kafrabank + "^000000 zeny.";
+ mes "How much zeny would you like to withdraw?";
+ next;
+ input @kafrabank;
+
+ if(@kafrabank<1) goto B_EXIT2;
+ if(@kafrabank>10000000) goto L_TOO_BIG_AMOUNT;
+ if(@kafrabank>#kafrabank) goto L_NOT_ENOUGH;
+ set #kafrabank,#kafrabank-@kafrabank;
+ set zeny,zeny+@kafrabank;
+ mes"[Maniss]";
+ mes "Here is your ^135445" + @kafrabank + "z^000000, put your sign here...";
+//we log these zeny operations into the log db
+ logmes "Bank %: " + @income +"z, Withdraw: "+ @kafrabank +"z, Final: "+ #kafrabank +"z";
+ goto B_EXIT;
+
+L_NOT_ENOUGH:
+ mes"[Maniss]";
+ mes "You don't have enough zeny for this operation.";
+ next;
+ goto B_EXIT2;
+
+L_ZERO_ACCOUNT:
+ mes"[Maniss]";
+ mes "You don't have any zeny on your account!";
+ next;
+ goto B_EXIT2;
+
+L_TOO_BIG_AMOUNT:
+ mes"[Maniss]";
+ mes "Sorry. The maximum deposit you can make on a time is 10,000,000 zeny.";
+ next;
+ goto B_EXIT2;
+
+L_LESS_1000:
+ mes"[Maniss]";
+ mes "We're sorry, the minimum amount of zeny you can deposit is 1,000 zeny.";
+ next;
+ goto B_EXIT2;
+
+B_EXIT:
+ mes "Very well... Come again soon!";
+ next;
+
+B_EXIT2:
+ mes"[Maniss]";
+ mes "Thank you for using our Bank Service. We hope to see you again soon.";
+ close;
+}
+
+geffen.gat,125,73,3 duplicate(bankg) Bank Clerk#2 833
+izlude.gat,145,107,1 duplicate(bankg) Bank Clerk#3 833
+morocc.gat,147,84,7 duplicate(bankg) Bank Clerk#4 833
diff --git a/npc/custom/blackjack.txt b/npc/custom/blackjack.txt
new file mode 100644
index 000000000..0f8aa4e2a
--- /dev/null
+++ b/npc/custom/blackjack.txt
@@ -0,0 +1,349 @@
+//===== eAthena Script =======================================
+//= Black Jack
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//=
+//===== Description: =========================================
+//= Black Jack card game. Gameplay based off standard casino
+//= black jack rules. Dealer must have at least 17 to stay and will
+//= automatically stay at 17 and up. Player must have at least
+//= 13 to stay. Aces counted as 11 or 1. Option to "Double Down".
+//= Currently does not allow for "insurance", or "splitting"
+//= of pairs.
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+
+cmd_in02.gat,188,89,1 script Black Jack Dealer 57,{
+
+ mes "[Dealer]";
+ mes "Hello there! Would you like to play a game of Black Jack?";
+ M_Menu:
+ next;
+ menu "What are the rules?",M_0, "I want to play.",L_Play, "No thanks.",M_End;
+
+ M_0:
+ mes "[Dealer]";
+ mes "What would you like to know?";
+ sM_Menu0:
+ next;
+ menu "The basics.",sM_0a, "Winning and loosing.",sM_0b, "'Double Down'.",sM_0c,
+ "Ace value.",sM_0d, "Nothing.",M_Menu;
+
+ sM_0a:
+ mes "[Dealer]";
+ mes "Black Jack is a card game in which the goal is to get 21, or as";
+ mes "close to 21 points as possible, without going over 21.";
+ next;
+ mes "[Dealer]";
+ mes "Before the game starts, the player must make a bet. Once the bet";
+ mes "has been made, both the dealer and the player are dealt 2 cards";
+ mes "each. Depending on what cards you have, you can choose to ^5533FF'stay'^000000,";
+ mes "or you can choose to ^5533FF'pull'^000000.";
+ next;
+ mes "[Dealer]";
+ mes "When you choose to 'stay', you are telling the dealer that you don't";
+ mes "need anymore cards. This allows the dealer to pull if he/she";
+ mes "wants to. In order to stay, you must have ^FF3355at least 13 points^000000. The";
+ mes "dealer can only stay when he/she has^FF3355 17 points or more^000000.";
+ next;
+ mes "[Dealer]";
+ mes "When you choose to 'pull', you are telling the dealer that you want";
+ mes "another card. By pulling more cards you can increase your point";
+ mes "total. As long has you have ^FF3355less than 21^000000 points you can pull a";
+ mes "card from the deck.";
+ goto sM_Menu0;
+ sM_0b:
+ mes "[Dealer]";
+ mes "There are 3 ways to win and loose at Black Jack.";
+ next;
+ mes "[Dealer]";
+ mes "1.) At the end of a Black Jack round, if you have more points";
+ mes "than the dealer you will win the round. Conversely if you have";
+ mes "less points than the dealer you will loose.";
+ next;
+ mes "[Dealer]";
+ mes "2.) If you pull a card that makes your point total go over 21 you";
+ mes "will automatically loose the round. This is called a ^5533FF'bust'^000000. If";
+ mes "the dealer busts then you will win the round.";
+ next;
+ mes "[Dealer]";
+ mes "3.) If you have a point total of 21 with the first 2 cards, you";
+ mes "will automatically win the round. This is called a ^5533FF'Black Jack'^000000";
+ mes "and happens when you get an 'Ace' and a '10 valued' card. If the";
+ mes "dealer gets a Black Jack he/she will automatically win the round.";
+ next;
+ mes "[Dealer]";
+ mes "4.) Besides winning and loosing, you can tie with the dealer. If";
+ mes "both you and the dealer have the same point total at the end of a";
+ mes "round, this will result in a tie with no winner and no loss or gain";
+ mes "in money.";
+ next;
+ mes "[Dealer]";
+ mes "This is called a ^5533FF'push'^000000 with the dealer. This also";
+ mes "applies to both you and the dealer having Black Jack at the same";
+ mes "time.";
+ goto sM_Menu0;
+ sM_0c:
+ mes "[Dealer]";
+ mes "The 'Double Down' option allows you to double your current bet,";
+ mes "but with the drawback that you will only be able to pull one";
+ mes "additional card. This option is only available at the beggining of";
+ mes "each round.";
+ next;
+ mes "[Dealer]";
+ mes "An example of when doubling down is usefull, is when";
+ mes "your first 2 cards give you a point total of 11. You have a good";
+ mes "chance of getting 21 or 20 with the next card that you draw. This";
+ mes "would be a good hand to double down on.";
+ goto sM_Menu0;
+ sM_0d:
+ mes "[Dealer]";
+ mes "The 'Ace' card is a unique card in the game of Black Jack because";
+ mes "it can have 2 values. An Ace can be counted as either 11 points,";
+ mes "or just 1 point. For example if you had an Ace and a 4, that would";
+ mes "give you either 15 or 5 points.";
+ next;
+ mes "[Dealer]";
+ mes "If you decided to stay, the Ace would automatically be counted as";
+ mes "11 points to give you 15 points total.";
+ next;
+ mes "[Dealer]";
+ mes "If you had decided to pull and recieved a 9, the ace would";
+ mes "automatically be counted as 1 point to give you a total of 14";
+ mes "points. If the Ace was counted as 11 points, you would have a";
+ mes "point total over 21 and would have lost.";
+ next;
+ mes "[Dealer]";
+ mes "It is because of the flexibilty you have with the 'Ace' that makes";
+ mes "it the most powerfull card in the game.";
+ goto sM_Menu0;
+ M_End:
+ mes "[Dealer]";
+ mes "Feel free to come back anytime";
+ close;
+
+//================
+L_Play:
+ mes "[Dealer]";
+ mes "Please place your bets...";
+ next;
+ menu "2z",M_1a, "10z",M_1b, "20z",M_1c, "100z",M_1d, "Too rich for my blood....",M_End;
+
+ M_1a:
+ if(Zeny < 2) goto sL_NotEnuf;
+ set @bet, 2;
+ goto L_Cont0;
+ M_1b:
+ if(Zeny < 10) goto sL_NotEnuf;
+ set @bet, 10;
+ goto L_Cont0;
+ M_1c:
+ if(Zeny < 20) goto sL_NotEnuf;
+ set @bet, 20;
+ goto L_Cont0;
+ M_1d:
+ if(Zeny < 100) goto sL_NotEnuf;
+ set @bet, 100;
+ goto L_Cont0;
+
+ sL_NotEnuf:
+ mes "[Dealer]";
+ mes "I'm sorry but you don't have enough zeny to make that bet.";
+ close;
+
+ L_Cont0:
+ mes "(the cards are being dealt)";
+ next;
+ deletearray $@card[0],13;
+ set @dealerTurn, 0;
+ set @numP, 0;
+ set @numD, 0;
+ set @pAce, 0;
+ set @dAce, 0;
+ callsub sF_GetCards, @numP, @playCard[@numP], @playCard$[@numP], @pAce;
+ callsub sF_GetCards, @numP, @playCard[@numP], @playCard$[@numP], @pAce;
+ callsub sF_GetCards, @numD, @dealCard[@numD], @dealCard$[@numD], @dAce;
+ callsub sF_GetCards, @numD, @dealCard[@numD], @dealCard$[@numD], @dAce;
+
+//==============
+L_Start:
+ callsub sF_GetTot;
+
+ mes "- Here are the ^FF5533DEALER'S^000000 cards:";
+ if (@numD==2) callsub sF_D2cards;
+ if (@numD==3) callsub sF_D3cards;
+ if (@numD==4) callsub sF_D4cards;
+ if (@numD==5) callsub sF_D5cards;
+ mes " The DEALER has: ^FF5533"+@dealTot+"^000000";
+ mes " ";
+ mes "- Here are ^5533FFYOUR^000000 cards:";
+ if (@numP==2) callsub sF_P2cards;
+ if (@numP==3) callsub sF_P3cards;
+ if (@numP==4) callsub sF_P4cards;
+ if (@numP==5) callsub sF_P5cards;
+ if(@pAce != 1 || @playTot == 21) mes " YOU have: ^5533FF" +@playTot+ "^000000";
+ if(@pAce == 1 && @playTot != 21) mes " You have: ^5533FF" +@playTot+ "^000000, or ^5533FF" +(@playTot-10)+ "^000000";
+ next;
+ if(@playTot==21 && @dealTot==21) goto sL_Push;
+ if(@numP==2 && @playTot == 21) goto sL_Win;
+ if(@numD==2 && @dealTot == 21) goto sL_Lose;
+ if(@playTot > 21) goto sL_Lose;
+ if(@dealTot > 21) goto sL_Win;
+ if(@numP==2 && @dealerTurn==0) menu "Hit me(pull)",M_Hit, "Stay",M_Stay, "Double Down",M_Double;
+ if(@dealerTurn == 0) menu "Hit me(pull)",M_Hit, "Stay",M_Stay;
+
+ M_Stay:
+ mes "[Dealer]";
+ if(@playTot < 13) goto sL_PlayToLow;
+ if(@dealTot > 16) mes "The Dealer stays.";
+ if(@dealTot > 16 || @numD == 5) goto L_Check;
+ mes "The Dealer is going to pull";
+ next;
+ callsub sF_GetCards, @numD, @dealCard[@numD], @dealCard$[@numD], @dAce;
+ set @dealerTurn, 1;
+ goto L_Start;
+
+ sL_PlayToLow:
+ mes "I'm sorry but you do not have a high enough total to stay. You must pull.";
+ next;
+ goto M_Hit;
+
+ M_Hit:
+ if(@numP == 5) goto M_Stay;
+ callsub sF_GetCards, @numP, @playCard[@numP], @playCard$[@numP], @pAce;
+ goto L_Start;
+ M_Double:
+ mes "[Dealer]";
+ mes "Player has chosen to Double Down. You're current bet will be";
+ mes "doubled, and you will only be able to pull 1 extra card.";
+ next;
+ set @dealerTurn, 1;
+ set @bet, @bet*2;
+ callsub sF_GetCards, @numP, @playCard[@numP], @playCard$[@numP], @pAce;
+ goto L_Start;
+
+//=============
+L_Check:
+ next;
+ if(@playTot < @dealTot) goto sL_Lose;
+ if(@playTot == @dealTot) goto sL_Push;
+
+ sL_Win:
+ mes "[Dealer]";
+ mes "Congratulations, you've won!";
+ next;
+ set Zeny, Zeny + @bet;
+ goto L_Play;
+ sL_Lose:
+ mes "[Dealer]";
+ mes "I'm sorry but you've lost.";
+ set Zeny, Zeny - @bet;
+ next;
+ goto L_Play;
+ sL_Push:
+ mes "[Dealer]";
+ mes "Its a push. You tied with the Dealer.";
+ next;
+ goto L_Play;
+
+
+//==================================
+// Sub function for dealing/pulling the cards
+sF_GetCards:
+ set @rnd, rand(1,13);
+ if($@card[@rnd] == 4) goto sF_GetCards;
+ set $@card[@rnd], $@card[@rnd] + 1;
+ set getarg(1), @rnd;
+ if(getarg(1) > 10) set getarg(1), 10;
+ if(getarg(1) == 1 && getarg(3) < 1) set getarg(1), 11;
+ if(getarg(1) == 11) set getarg(3), 1;
+ set getarg(2), " " + getarg(1) + " ";
+ if(@rnd == 10) set getarg(2), getarg(1);
+ if(@rnd == 1) set getarg(2), " A ";
+ if(@rnd == 11) set getarg(2), " J ";
+ if(@rnd == 12) set getarg(2), " Q ";
+ if(@rnd == 13) set getarg(2), " K ";
+ set getarg(0), getarg(0) + 1;
+ return;
+
+//==================================
+// Sub function for getting the total score for each hand
+sF_GetTot:
+ set @i, 0;
+ set @dealTot, 0;
+ set @playTot, 0;
+
+ GetDealTot:
+ set @dealTot, @dealTot + @dealCard[@i];
+ set @i, @i + 1;
+ if(@i < @numD) goto GetDealTot;
+ if(@dAce == 1 && @dealTot > 21) set @dealTot, @dealTot - 10;
+ set @i, 0;
+ GetPlayTot:
+ set @playTot, @playTot + @playCard[@i];
+ set @i, @i + 1;
+ if(@i < @numP) goto GetPlayTot;
+ if(@pAce == 1 && @playTot > 21) set @pAce, 2;
+ if(@pAce > 0 && @playTot > 21) set @playTot, @playTot - 10;
+ return;
+
+//=======================================
+// Sub function for displaying the Cards
+sF_D2cards:
+ mes " .-----. .-----. ";
+ mes " | "+@dealCard$[0]+" | | "+@dealCard$[1]+" | ";
+ mes " '-----' '-----' ";
+ return;
+sF_P2cards:
+ mes " .-----. .-----. ";
+ mes " | "+@playCard$[0]+" | | "+@playCard$[1]+" | ";
+ mes " '-----' '-----' ";
+ return;
+sF_D3cards:
+ mes " .-----. .-----. .-----. ";
+ mes " | "+@dealCard$[0]+" | | "+@dealCard$[1]+" | | "+@dealCard$[2]+" | ";
+ mes " '-----' '-----' '-----' ";
+ return;
+sF_P3cards:
+ mes " .-----. .-----. .-----. ";
+ mes " | "+@playCard$[0]+" | | "+@playCard$[1]+" | | "+@playCard$[2]+" | ";
+ mes " '-----' '-----' '-----' ";
+ return;
+sF_D4cards:
+ mes " .-----. .-----. .-----. ";
+ mes " | "+@dealCard$[0]+" | | "+@dealCard$[1]+" | | "+@dealCard$[2]+" | ";
+ mes " '-----' '-----' '-----' ";
+ mes " .-----. ";
+ mes " | "+@dealCard$[3]+" |";
+ mes " '-----' ";
+ return;
+sF_P4cards:
+ mes " .-----. .-----. .-----. ";
+ mes " | "+@playCard$[0]+" | | "+@playCard$[1]+" | | "+@playCard$[2]+" |";
+ mes " '-----' '-----' '-----' ";
+ mes " .-----. ";
+ mes " | "+@playCard$[3]+" |";
+ mes " '-----' ";
+ return;
+sF_D5cards:
+ mes " .-----. .-----. .-----. ";
+ mes " | "+@dealCard$[0]+" | | "+@dealCard$[1]+" | | "+@dealCard$[2]+" | ";
+ mes " '-----' '-----' '-----' ";
+ mes " .-----. .-----. ";
+ mes " | "+@dealCard$[3]+" | | "+@dealCard$[4]+" | ";
+ mes " '-----' '-----' ";
+ return;
+sF_P5cards:
+ mes " .-----. .-----. .-----. ";
+ mes " | "+@playCard$[0]+" | | "+@playCard$[1]+" | | "+@playCard$[2]+" | ";
+ mes " '-----' '-----' '-----' ";
+ mes " .-----. .-----. ";
+ mes " | "+@playCard$[3]+" | | "+@playCard$[4]+" | ";
+ mes " '-----' '-----' ";
+ return;
+}
diff --git a/npc/custom/breeder.txt b/npc/custom/breeder.txt
new file mode 100644
index 000000000..03ed47d9d
--- /dev/null
+++ b/npc/custom/breeder.txt
@@ -0,0 +1,87 @@
+//===== eAthena Script =======================================
+//= Custom Free Breeder aka Universal Renter (not reccomended)
+//===== By: ==================================================
+//= eAthena Team
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena 1.0 Final +
+//===== Description: =========================================
+//= A Free PecoPeco and Falcon Breeder
+//===== Additional Comments: =================================
+//FIXED checkriding/cart/falcon funcs [Lupus]
+//Added Rebirth/Advanced Class support [Mass Zero]
+//Simplified the checks of job [Silentdragon]
+//============================================================
+
+
+prontera.gat,122,200,1 script Universal Rental Npc 726,{
+ mes "[Universal Rental Npc]";
+ mes "Hi, here you can rent Carts, Falcons or Pecopecos.";
+ next;
+
+L_Menu:
+ menu "Rent a Cart",L_Cart,"Rent a Falcon",L_Falcon,"Rent a Pecopeco",L_Peco,"Quit",L_Quit;
+ close;
+
+L_Cart:
+ if((BaseClass == Job_Merchant || BaseJob == Job_SuperNovice) && checkcart(0) == 0) goto L_Cart_Ok;
+ if(getskilllv(39)<1) goto L_Need_Skill;
+
+ mes "[Universal Rental Npc]";
+ mes "Sorry " + strcharinfo(0) + ", but I only rent carts to people with the Merchant job root, who have enough skills to handle a cart.";
+ close;
+
+L_Cart_Ok:
+ setcart;
+ goto L_Quit2;
+
+L_Need_Skill:
+ mes "[Universal Rental Npc]";
+ mes "Sorry you don't have the required skill to rent a cart.";
+ close;
+
+L_Falcon:
+ if(BaseJob != Job_Archer && BaseClass == Job_Archer && checkfalcon(0) == 0) goto L_Falc;
+ if(getskilllv(127)<1) goto L_Need_Skill2;
+
+ mes "[Universal Rental Npc]";
+ mes "Sorry " + strcharinfo(0) + ", but I only rent falcons to Hunters and Snipers who the ability to handle 'em.";
+ close;
+
+L_Falc:
+ setfalcon;
+ goto L_Quit2;
+
+L_Need_Skill2:
+ mes "[Universal Rental Npc]";
+ mes "Sorry you don't have the required skill to own a Falcon.";
+ close;
+
+L_Peco:
+ if (BaseJob != Job_Swordman && BaseClass == Job_Swordman && checkriding(0) == 0) goto L_Peco_Ok;
+ if(getskilllv(63)<1) goto L_Need_Skill3;
+
+ mes "[Universal Rental Npc]";
+ mes "Sorry " + strcharinfo(0) + ", but I only rent Pecopecos to Knights and Crusaders who have the ability to handle 'em.";
+ close;
+
+L_Peco_Ok:
+ setriding;
+ goto L_Quit2;
+
+L_Need_Skill3:
+ mes "[Universal Rental Npc]";
+ mes "Sorry you don't have the required skill to ride a Peco Peco.";
+ close;
+
+L_Quit:
+ mes "[Universal Rental Npc]";
+ mes strcharinfo(0) + ", please come back when you are ready to rent something.";
+ close;
+
+L_Quit2:
+ mes "[Universal Rental Npc]";
+ mes strcharinfo(0) + ", please come again when you want another...";
+ close;
+}
diff --git a/npc/custom/card_remover.txt b/npc/custom/card_remover.txt
new file mode 100644
index 000000000..8af6ed157
--- /dev/null
+++ b/npc/custom/card_remover.txt
@@ -0,0 +1,175 @@
+// Card removal NPC by TyrNemesis^
+// DANGEROUS! TODO: Think.. think 8) [Lupus]
+
+
+prt_in.gat,28,73,4 script Wise Old Woman 78,{
+
+UPGRADEROOT:
+ mes "[Wise Old Woman]";
+ mes "Good day, young one. I have the power to remove cards that you have compounded onto your equipment. Does this idea please you?";
+ next;
+ menu "Yes, it does.",REMOVEMENU,
+ "What do you charge?",REMOVEPRICE,
+ "No thanks.",CLOSEOUT;
+
+REMOVEPRICE:
+ mes "[Wise Old Woman]";
+ mes "I charge a flat fee of 200000 zeny, plus 25000 zeny for each card I remove from the item. In addition, I need a star crumb and a yellow gemstone to work my magic.";
+ next;
+ menu "Very well. Let's do it.",REMOVEMENU,
+ "No thanks.",CLOSEOUT;
+
+REMOVEMENU:
+ mes "[Wise Old Woman]";
+ mes "Very well. Which item shall I examine for you?";
+ next;
+ menu "I changed my mind.",CLOSEOUT,
+ getequipname(1),SLOT1,
+ getequipname(2),SLOT2,
+ getequipname(3),SLOT3,
+ getequipname(4),SLOT4,
+ getequipname(5),SLOT5,
+ getequipname(6),SLOT6,
+ getequipname(7),SLOT7,
+ getequipname(8),SLOT8,
+ getequipname(9),SLOT9,
+ getequipname(10),SLOT10;
+
+SLOT1:
+ set @part,1;
+ goto CARDNUMCHECK;
+
+SLOT2:
+ set @part,2;
+ goto CARDNUMCHECK;
+
+SLOT3:
+ set @part,3;
+ goto CARDNUMCHECK;
+
+SLOT4:
+ set @part,4;
+ goto CARDNUMCHECK;
+
+SLOT5:
+ set @part,5;
+ goto CARDNUMCHECK;
+
+SLOT6:
+ set @part,6;
+ goto CARDNUMCHECK;
+
+SLOT7:
+ set @part,7;
+ goto CARDNUMCHECK;
+
+SLOT8:
+ set @part,8;
+ goto CARDNUMCHECK;
+
+SLOT9:
+ set @part,9;
+ goto CARDNUMCHECK;
+
+SLOT10:
+ set @part,10;
+ goto CARDNUMCHECK;
+
+CARDNUMCHECK:
+ if(getequipcardcnt(@part) == 0) goto DENYCARDCOUNT;
+ set @cardcount,getequipcardcnt(@part);
+ if(@cardcount > 1) goto CARDNUMMULTIMSG;
+ mes "[Wise Old Woman]";
+ mes "This item has " + @cardcount + " card compounded on it. To perform my magic, I will need 225000 zeny, a ^0000FFStar Crumb^000000, and a ^0000FFYellow Gemstone^000000.";
+ goto CARDNUMPOSTMSG;
+CARDNUMMULTIMSG:
+ mes "[Wise Old Woman]";
+ mes "This item has " + @cardcount + " cards compounded on it. To perform my magic, I will need " + (200000+(@cardcount * 25000)) + " zeny, a ^0000FFStar Crumb^000000, and a ^0000FFYellow Gemstone^000000.";
+CARDNUMPOSTMSG:
+ next;
+ menu "Very well. Do it.",REMOVECARDWARNING,
+ "Never mind.",CLOSEOUT;
+
+REMOVECARDWARNING:
+ mes "[Wise Old Woman]";
+ mes "Before I begin, I must warn you--I may fail. If I do, I may destroy the cards, the item, or both. I do not give refunds. That being said, which is more important to you: The cards, or the item?";
+ next;
+ menu "I changed my mind about this.",CLOSEOUT,
+ "The item.",PRIORITYITEM,
+ "The cards.",PRIORITYCARD;
+
+PRIORITYITEM:
+ set @failtype,1;
+ goto REMOVECARD;
+
+PRIORITYCARD:
+ set @failtype,2;
+ goto REMOVECARD;
+
+REMOVECARD:
+ mes "[Wise Old Woman]";
+ mes "Very well. I shall begin.";
+ if((zeny < (200000+(@cardcount * 25000))) || (countitem(1000) < 1) || (countitem(715) < 1)) goto DENYMATERIAL;
+ set zeny,zeny - (200000+(@cardcount * 25000));
+ delitem 1000,1;
+ delitem 715,1;
+// Replace the constants in the next 3 lines with failure chance values defined in refine_db.txt
+// First value = Total failure chance (item and cards destroyed)
+// Second value = Partial failure chance (one or the other is destroyed, player decides which one is safe)
+// Third value = Harmless failure chance (all that's lost is your investment)
+
+ set @failchance,rand(100);
+// if(@failchance < 2) goto FAILREMOVECARD0;
+// if((@failchance < 8) && (@failtype == 1)) goto FAILREMOVECARD1;
+// if((@failchance < 8) && (@failtype == 2)) goto FAILREMOVECARD2;
+ if(@failchance < 10) goto FAILREMOVECARD3;
+ successremovecards @part;
+ next;
+ mes "[Wise Old Woman]";
+ mes "The process was a success. Here are your cards and your item. Farewell.";
+ close;
+
+FAILREMOVECARD0:
+ failedremovecards @part,0;
+ next;
+ mes "[Wise Old Woman]";
+ mes "The process was a total failure. I am afraid the item and the cards were destroyed.";
+ close;
+
+FAILREMOVECARD1:
+ failedremovecards @part,1;
+ next;
+ mes "[Wise Old Woman]";
+ mes "While I have managed to remove the cards from the item, they were destroyed in the process. The item, however, is okay.";
+ close;
+
+FAILREMOVECARD2:
+ failedremovecards @part,2;
+ next;
+ mes "[Wise Old Woman]";
+ mes "Most unfortunate. I succeeded at removing the cards, but the item itself was destroyed in the process.";
+ close;
+
+FAILREMOVECARD3:
+ failedremovecards @part,3;
+ next;
+ mes "[Wise Old Woman]";
+ mes "I have failed to remove the cards. Luckily, however, both the item and the cards are still okay.";
+ close;
+
+DENYCARDCOUNT:
+ mes "[Wise Old Woman]";
+ mes "Young one... There are no cards compounded on this item. I can do nothing with it, I'm afraid.";
+ close;
+
+DENYMATERIAL:
+ next;
+ mes "[Wise Old Woman]";
+ mes "You do not have all the items I require to work my magic, child. Come again when you do.";
+ close;
+
+CLOSEOUT:
+ mes "[Wise Old Woman]";
+ mes "Very well. Return at once if you seek my services.";
+ close;
+}
diff --git a/npc/custom/devnpc.txt b/npc/custom/devnpc.txt
new file mode 100644
index 000000000..6e17bb170
--- /dev/null
+++ b/npc/custom/devnpc.txt
@@ -0,0 +1,508 @@
+//===== eAthena Script =======================================
+//= Dev edition NPCs!
+//===== By: ==================================================
+//= Most NPCs by Aria
+//= MouseJstr NPC by MouseJstr
+//= Massdriller NPC by massdriller
+//= Evera NPC by Evera
+//= Kevin NPC by Kevin
+//===== Current Version: =====================================
+//= 0.5
+//===== Compatible With: =====================================
+//= eAthena 1.0 Final +
+//===== Description: =========================================
+//= NPCs of the devs!
+//===== Additional Comments: =================================
+//= Some devs don't have their quotes yet >_>
+//= currently we only have Aria, Mouse, and MC_Cameri done.
+//= David is there because he has coords, but he's incomplete;
+//= he has no biography
+//============================================================
+
+// MouseJstr =========================================================>\\
+ayothaya.gat,76,145,5 script MouseJstr 763,{
+ npcspeed 50;
+ mes "[MouseJstr]";
+ mes "Yo homeslices..";
+ mes "I am MouseJstr on AIM and josh in real life..";
+ next;
+ mes "I enjoy maintaining a RO server because of the abuse I get";
+ close;
+ OnTimer15000:
+ npcwalkto 70+rand(17),135+rand(16);
+ setnpctimer 0;
+
+doitagain:
+ set $foo,rand(5);
+ if($foo == 0) goto Lquote0;
+ if($foo == 1) goto Lquote1;
+ if($foo == 2) goto Lquote2;
+ if($foo == 3) goto Lquote3;
+ if($foo == 4) goto Lquote4;
+ goto doitagain;
+
+Lquote0:
+ npctalk "Brb.. my baby is throwing up on my leg.";
+ setnpctimer 0;
+ end;
+Lquote1:
+ npctalk "The only difference between a hurricane and skydiving is which direction the tree's come at you from..";
+ setnpctimer 0;
+ end;
+Lquote2:
+ npctalk "Wanna be a GM? Write me a C routine that reverses a string in place..";
+ setnpctimer 0;
+ end;
+Lquote3:
+ npctalk "Wanna be a GM? Write me a C routine that finds me the highest bit set in a network order 32 bit integer...";
+ setnpctimer 0;
+ end;
+Lquote4:
+ npctalk "I am the dark angel of eAthena.. withen weeks of my arrival, almost everybody was gone or dead.. fear me...";
+ setnpctimer 0;
+ end;
+OnInit:
+ initnpctimer;
+ end;
+}
+
+// MC Cameri =========================================================>\\
+morocc.gat,160,97,4 script MC Cameri 706,{
+ npcspeed 100;
+ mes "[MC Cameri]";
+ mes "I'm the @command guy from oA...";
+ mes "^FF8040Real Name^000000: Can't tell you my name";
+ mes "^FF8040Age^000000: 16 years";
+ mes "^FF8040Where I live^000000: Dominican Republic, in the caribbean";
+ next;
+ mes "[MC Cameri]";
+ mes "^FF8040What I Do^000000: mostly working on @commands for GMs...";
+ mes "^FF8040Why I'm here^000000: Because I like programming...";
+ next;
+ mes "[MC Cameri]";
+ mes "I'm a senior student, programmer, body builder(yes, I lift weights), etc.";
+ close;
+ OnTimer15000:
+ npcwalkto 154+rand(17),87+rand(16);
+ setnpctimer 0;
+
+Lmctalk:
+ set $mctalk,rand(10);
+ if($mctalk == 0) goto Lquote0;
+ if($mctalk == 1) goto Lquote1;
+ if($mctalk == 2) goto Lquote2;
+ if($mctalk == 3) goto Lquote3;
+ if($mctalk == 4) goto Lquote4;
+ if($mctalk == 5) goto Lquote5;
+ if($mctalk == 6) goto Lquote6;
+ if($mctalk == 7) goto Lquote7;
+ if($mctalk == 8) goto Lquote8;
+ if($mctalk == 9) goto Lquote9;
+ if($mctalk == 10) goto Lquote10;
+ goto Lmctalk;
+Lquote0:
+ npctalk "OMGWTFBBQ";
+ setnpctimer 0;
+ end;
+Lquote1:
+ npctalk "I owns you all, under my commands. *lol*";
+ setnpctimer 0;
+ end;
+Lquote2:
+ npctalk "I forgot my script, what do I have to say again? *_*U";
+ setnpctimer 0;
+ end;
+Lquote3:
+ npctalk "¿Donde estoy? *wonders* (<-- Means, where am I?)";
+ setnpctimer 0;
+ end;
+Lquote4:
+ npctalk "Are you guys my friends?";
+ setnpctimer 0;
+ end;
+Lquote5:
+ npctalk "My mom told me not to talk to strangers. *stares*";
+ setnpctimer 0;
+ end;
+Lquote6:
+ npctalk "How can you be SO ugly!?";
+ setnpctimer 0;
+ end;
+Lquote7:
+ npctalk "I need a friend to play with =(. *sobs*";
+ setnpctimer 0;
+ end;
+Lquote8:
+ npctalk "I've been kicking this rock for as long as I can remember.";
+ setnpctimer 0;
+ end;
+Lquote9:
+ npctalk "My computer just broke, and I don't know how to format. *sobs*";
+ setnpctimer 0;
+ end;
+Lquote10:
+ setnpctimer 0;
+ end;
+OnInit:
+ initnpctimer;
+ end;
+}
+
+
+// Davidsiaw =========================================================>\\
+payon.gat,182,104,4 script Davidsiaw 1002,{
+ npcspeed 150;
+ mes "[Davidsiaw]";
+ mes "omghi";
+ close;
+OnTimer15000:
+ npcwalkto 176+rand(17),94+rand(16);
+ setnpctimer 0;
+
+Ldavidtalk:
+ set $davidtalk,rand(10);
+ if($davidtalk == 0) goto Lquote0;
+ if($davidtalk == 1) goto Lquote1;
+ if($davidtalk == 2) goto Lquote2;
+ if($davidtalk == 3) goto Lquote3;
+ if($davidtalk == 4) goto Lquote4;
+ if($davidtalk == 5) goto Lquote5;
+ if($davidtalk == 6) goto Lquote6;
+ goto Ldavidtalk;
+Lquote0:
+ npctalk "OMGWTFBBQ";
+ setnpctimer 0;
+ end;
+Lquote1:
+ npctalk "Wud are you looking at?";
+ setnpctimer 0;
+ end;
+Lquote2:
+ npctalk "baka...";
+ setnpctimer 0;
+ end;
+Lquote3:
+ npctalk "¿Donde estoy? *wonders* (<-- Means, where am I?)";
+ setnpctimer 0;
+ end;
+Lquote4:
+ npctalk "*drops 100 Mjolnirs on the floor*";
+ setnpctimer 0;
+ end;
+Lquote5:
+ npctalk "There ya go ;)";
+ setnpctimer 0;
+ end;
+Lquote6:
+ setnpctimer 0;
+ end;
+OnInit:
+ initnpctimer;
+ end;
+}
+
+//Aria\\
+prontera.gat,156,179,4 script Aria 805,{
+ npcspeed 150;
+ mes "[Aria]";
+ mes "Okay, I'm Evera's brother, Aria";
+ mes "^FF00FFAge^000000: 13 years";
+ mes "^FF00FFWhat I do^000000: Graphics and NPCs";
+ mes "^FF00FFWhy I'm here^000000: Cuz eAthena ROX";
+ close;
+OnTimer15000:
+ npcwalkto 150+rand(17),169+rand(16);
+ setnpctimer 0;
+
+Lariatalk:
+ set $ariatalk,rand(10);
+ if($ariatalk == 0) goto Lquote0;
+ if($ariatalk == 1) goto Lquote1;
+ if($ariatalk == 2) goto Lquote2;
+ if($ariatalk == 3) goto Lquote3;
+ if($ariatalk == 4) goto Lquote4;
+ if($ariatalk == 5) goto Lquote5;
+ if($ariatalk == 6) goto Lquote6;
+ if($ariatalk == 7) goto Lquote7;
+ if($ariatalk == 8) goto Lquote8;
+ if($ariatalk == 9) goto Lquote9;
+ if($ariatalk == 10) goto Lquote10;
+ goto Lariatalk;
+
+Lquote0:
+ npctalk "OMGWTFBBQ";
+ end;
+Lquote1:
+ npctalk "So its u -> 0";
+ npctalk "... That did not look right";
+ end;
+Lquote2:
+ npctalk "????";
+ end;
+
+Lquote3:
+ npctalk "OMGITSJEEBUS!#!@%!";
+ setnpctimer 0;
+ end;
+
+Lquote4:
+ npctalk "Evera died. I guess.";
+ setnpctimer 0;
+ end;
+
+Lquote5:
+ npctalk "I CLICK THE BUTTON AND THEY DON'T DIE!";
+ setnpctimer 0;
+ end;
+
+Lquote6:
+ npctalk "RO? wtf?";
+ npctalk "Oh yeah.";
+ setnpctimer 0;
+ end;
+
+Lquote7:
+ npctalk "omgnoob. DIE!";
+ setnpctimer 0;
+ end;
+
+Lquote8:
+ npctalk "WooT!";
+ setnpctimer 0;
+ end;
+
+Lquote9:
+ npctalk "is that why u bought windows";
+ npctalk "cuz bill has red hair";
+ setnpctimer 0;
+ end;
+
+Lquote10:
+ setnpctimer 0;
+ end;
+
+OnInit:
+ initnpctimer;
+ end;
+}
+
+// Evera =========================================================>\\
+prontera.gat,156,183,5 script Evera 769,{
+ npcspeed 50;
+ mes "[Evera]";
+ mes "Hi";
+ mes "I betcha you thoguht I was dead, right?";
+ next;
+ mes "Well, I'M (not really) BACK!";
+ mes "And I also enjoy long walks on the beach ^.^";
+ close;
+ OnTimer15000:
+ npcwalkto 150+rand(17),173+rand(16);
+ setnpctimer 0;
+
+doitagain:
+ set $lol,rand(5);
+ if($lol == 0) goto Lquote0;
+ if($lol == 1) goto Lquote1;
+ if($lol == 2) goto Lquote2;
+ if($lol == 3) goto Lquote3;
+ if($lol == 4) goto Lquote4;
+ if($lol == 5) goto Lquote5;
+ goto doitagain;
+
+Lquote0:
+ npctalk "Does anyone actually remember who I am?";
+ setnpctimer 0;
+ end;
+Lquote1:
+ npctalk "O_o";
+ setnpctimer 0;
+ end;
+Lquote2:
+ npctalk "Bananaphone!";
+ setnpctimer 0;
+ end;
+Lquote3:
+ npctalk "Go away troll.";
+ setnpctimer 0;
+ end;
+Lquote4:
+ npctalk "Aria can go to hell.";
+ setnpctimer 0;
+ end;
+Lquote5:
+ npctalk "Sup, I'm back.";
+ setnpctimer 0;
+ end;
+Lquote6:
+ npctalk "WTFPWNED";
+ setnpctimer 0;
+ end;
+OnInit:
+ initnpctimer;
+ end;
+}
+
+// Kevin =========================================================>\\
+prontera.gat,178,204,5 script Kevin 774,{
+ npcspeed 50;
+ mes "[Kevin]";
+ mes "SUP?!?!?!?!";
+ mes "YOU JUST GOT PWNED!!!";
+ next;
+ mes "OUCH, ANOTHER PERSON PWNED BY KEVIN!";
+ close;
+ OnTimer15000:
+ npcwalkto 170+rand(17),200+rand(16);
+ setnpctimer 0;
+
+doitagain:
+ set $lol,rand(9);
+ if($lol == 0) goto Lquote0;
+ if($lol == 1) goto Lquote1;
+ if($lol == 2) goto Lquote2;
+ if($lol == 3) goto Lquote3;
+ if($lol == 4) goto Lquote4;
+ if($lol == 5) goto Lquote1;
+ if($lol == 6) goto Lquote2;
+ if($lol == 7) goto Lquote3;
+ if($lol == 8) goto Lquote4;
+ goto doitagain;
+
+Lquote0:
+ npctalk "OMFGLMFAO I HAVE PWNED SO MANY PEOPLE!";
+ setnpctimer 0;
+ end;
+Lquote1:
+ npctalk "GO EA DEVS!";
+ setnpctimer 0;
+ end;
+Lquote2:
+ npctalk "WATCH OUT FOR ME ON THE IRC CHANNEL! HAHAHA!";
+ setnpctimer 0;
+ end;
+Lquote3:
+ npctalk "WANNA SEE MY NEW MIRC SCRIPT?!?";
+ setnpctimer 0;
+ end;
+Lquote4:
+ npctalk "w00t! YOU ARE SUCH A N00B YOU... N00B";
+ setnpctimer 0;
+ end;
+Lquote5:
+ npctalk "d00d! i r l337!";
+ setnpctimer 0;
+ end;
+Lquote6:
+ npctalk "pssst: what do you think of my evil plot to take over the da irc network?";
+ setnpctimer 0;
+ end;
+Lquote7:
+ npctalk "ORANGE COUNTY LIBERATION FRONT!";
+ setnpctimer 0;
+ end;
+Lquote8:
+ npctalk "OMFG YOU ARE SO UGLY!";
+ setnpctimer 0;
+ end;
+OnInit:
+ initnpctimer;
+ end;
+}
+
+
+// massdriller =========================================================>\\
+geffen.gat,122,63,5 script massdriller 823,{
+ npcspeed 50;
+ mes "[massdriller]";
+ mes "Who am i? I am A nobody!";
+ mes "I like pwning people!";
+ next;
+ mes "[massdriller]";
+ mes "Main goal in life is to annoy and pwn Kevin";
+ close;
+ OnTimer15000:
+ npcwalkto 170+rand(17),200+rand(16);
+ setnpctimer 0;
+
+doitagain:
+ set $lol,rand(9);
+ if($lol == 0) goto Lquote0;
+ if($lol == 1) goto Lquote1;
+ if($lol == 2) goto Lquote2;
+ if($lol == 3) goto Lquote3;
+ if($lol == 4) goto Lquote4;
+ if($lol == 5) goto Lquote1;
+ if($lol == 6) goto Lquote2;
+ if($lol == 7) goto Lquote3;
+ if($lol == 8) goto Lquote4;
+ goto doitagain;
+
+Lquote0:
+ npctalk "Hmm....What script needs to be fixed...";
+ setnpctimer 0;
+ end;
+Lquote1:
+ npctalk "OMFG...you suck!";
+ setnpctimer 0;
+ end;
+Lquote2:
+ npctalk "The worst kind of noobs are the heal! zeny! items plz! type.";
+ setnpctimer 0;
+ end;
+Lquote3:
+ npctalk "What happens when you die of boredom?";
+ setnpctimer 0;
+ end;
+Lquote4:
+ npctalk "I'm such a kewl Person...";
+ setnpctimer 0;
+ end;
+Lquote5:
+ npctalk "OMFGWTFBBQ...I'm also known as MadDawg";
+ setnpctimer 0;
+ end;
+Lquote6:
+ npctalk "Gimme your items...I'll eat them and eat you...";
+ setnpctimer 0;
+ end;
+Lquote7:
+ npctalk "Aren't porings cute?";
+ setnpctimer 0;
+ end;
+Lquote8:
+ npctalk "Omfg..you are full of shit....";
+ setnpctimer 0;
+ end;
+OnInit:
+ initnpctimer;
+ end;
+}
+aldebaran.gat,137,118,5 script Fredzilla 4020,0,0,{
+ npcspeed 140;
+OnTouch:
+ mes "[Fredzilla]";
+ mes "I dont really know what I do";
+ mes "Well I have made some scripts, translated some scripts and corrected some scripts.";
+ next;
+ mes "[Fredzilla]";
+ mes "But other than that I do nothing.";
+ close;
+OnTimer25000:
+ npcwalkto 137+rand(5),118+rand(5);
+ setnpctimer 0;
+doitagain:
+ set $fred,rand(6);
+ if($fred == 0) npctalk "I have the most optimized Dev NPC";
+ if($fred == 1) npctalk "Yeah I am a Dev, what do you mean I'm just a member on the forum !!!";
+ if($fred == 2) npctalk "I probably the worst speller on the Dev team.";
+ if($fred == 3) npctalk "You didnt think I was a real player did you?!?";
+ if($fred == 4) npctalk "Golden, Ripe, Boneless Bananas, 39 Cents A Pound.";
+ if($fred == 5) npctalk "All those who believe in telekinesis, raise my hand.";
+ if($fred > 5 || $fred < 0) goto doitagain;
+ setnpctimer 0;
+ end;
+OnInit:
+ initnpctimer;
+ end;
+}
diff --git a/npc/custom/dye.txt b/npc/custom/dye.txt
new file mode 100644
index 000000000..4ebfc41f9
--- /dev/null
+++ b/npc/custom/dye.txt
@@ -0,0 +1,176 @@
+//===== eAthena Script =======================================
+//= Stylist Script
+//===== By: ==================================================
+//= eAthena Dev team
+//= Revised by Nekosume [pyRO v3.0]
+//===== Current Version: =====================================
+//= 4.0
+//===== Compatible With: =====================================
+//= Any eAthena Version
+//===== Description: =========================================
+//= Revised dye NPC
+//===== Additional Comments: =================================
+//= v4.1 - New hairstyles added [Mass Zero]
+//= v4.0 - Refined and Combined [Darkchild]
+//= v3.0 - Added the 'Browse' options
+//= v2.5 - Added more hair colors
+//= v2.0 - Changed palette and hair style select
+//= v1.5 - Revised script / different dialog
+//= v1.0 - Split into two NPCs
+//============================================================
+
+
+//Stylist------------------------------------------------------------------------------------------------------------
+prontera.gat,170,180,1 script Stylist 122,{
+ mes "[^FF8000Stylist^000000]";
+ mes "I'm the greatest stylist in all of Rune-Midgard~~!";
+ mes "I can change your hair style or color!";
+ mes "What do you wish to change?";
+ next;
+ menu "Hair style",Lstyle,"Hair color",Lcolor,"Cloth Color",Lcloth,"Nothing",LCancel;
+
+ Lstyle:
+ mes "[^FF8000Stylist^000000]";
+ mes "Do you want to browse through the choices, or do you know what you want?";
+ next;
+ menu "Browse",Lbrowsesty,"I know what I want",Lwantsty;
+
+ Lwantsty:
+ mes "[^FF8000Stylist^000000]";
+ mes "Great! Now just pick a style and I'll get started!";
+ next;
+ mes "[^FF8000Stylist^000000]";
+ mes "Please pick a style number ^0000FFbetween 0 and 23^000000.";
+ mes "Number 0, by the way, is the default style for your character.";
+ next;
+ input @sty;
+ if (@sty>23) close;
+ if (@sty<0) close;
+ setlook 1,@sty;
+ next;
+ mes "[^FF8000Stylist^000000]";
+ mes "Is this good, or do you want a different style?";
+ next;
+ menu "This is good",-,"Different style, please",Lwantsty;
+ next;
+ mes "[^FF8000Stylist^000000]";
+ mes "You look great~! Come back again, okay?";
+ close;
+
+ Lbrowsesty:
+ set @look, -1;
+ mes "[^FF8000Stylist^000000]";
+ mes "Okay, here we go~! Just stop me when you see something you like, okay?";
+ next;
+
+ Lbrowserep:
+ set @look,@look+1;
+ setlook 1,@look;
+ mes "This is Pallete Number^FF9009 "+@look+" ^000000!";
+ if(@look == 23) menu "Back To The Begin",Lbrowsesty,"I like this one",Lstop;
+ if(@look != 23) menu "Keep going",Lbrowserep,"I like this one",Lstop;
+
+ Lcolor:
+ mes "[^FF8000Stylist^000000]";
+ mes "Do you want to browse through the choices, or do you know what you want?";
+ next;
+ menu "Browse",Lbrowsecolor,"I know what I want",Lwantcolor;
+
+ Lwantcolor:
+ mes "[^FF8000Stylist^000000]";
+ mes "Just pick a color and we can get started.";
+ next;
+ mes "[^FF8000Stylist^000000]";
+ mes "Please pick a style number ^0000FFbetween 0 and 20^000000.";
+ mes "Number 0, by the way, is the default color for your character.";
+ next;
+ mes "[^FF8000Stylist^000000]";
+ mes "0 is default...";
+ mes "1 is blonde...";
+ mes "2 is lavender...";
+ mes "3 is brown...";
+ mes "4 is green...";
+ mes "5 is blue...";
+ mes "6 is white...";
+ mes "7 is black...";
+ mes "8 is red...";
+ mes "and 9-20 are new colors.";
+ input @color;
+ if (@color>20) close;
+ if (@color<0) close;
+ setlook 6,@color;
+ next;
+ mes "[^FF8000Stylist^000000]";
+ mes "Is this good, or do you want a different color?";
+ next;
+ menu "This is good",-,"Different color, please",Lwantcolor;
+ next;
+ mes "[^FF8000Stylist^000000]";
+ mes "You look great~! Come back again, okay?";
+ close;
+
+ Lbrowsecolor:
+ set @look, -1;
+ mes "[^FF8000Stylist^000000]";
+ mes "Okay, here we go~! Just stop me when you see something you like, okay?";
+ next;
+
+ Lbrowsecolorrep:
+ set @look,@look+1;
+ setlook 6,@look;
+ mes "This is Pallete Number^FF9009 "+@look+" ^000000!";
+ if(@look == 20) menu "Back To The Begin",Lbrowsecolor,"I like this one",Lstop;
+ if(@look != 20) menu "Keep going",Lbrowsecolorrep,"I like this one",Lstop;
+
+ Lstop:
+ mes "[^FF8000Stylist^000000]";
+ mes "You look great~! I love it~! ^_^";
+ close;
+
+ LCancel:
+ mes "[^FF8000Stylist^000000]";
+ mes "Well come again.";
+ close;
+
+ Lcloth:
+ mes "[^FF8000Stylist^000000]";
+ mes "Do you want to browse through the choices, or do you know what you want?";
+ next;
+ menu "Browse",Lbrowsecloth,"I know what I want",Lwantcloth;
+
+ Lwantcloth:
+ mes "[^FF8000Stylist^000000]";
+ mes "Great! Now just pick a pallete and I'll get started!";
+ next;
+ mes "[^FF8000Stylist^000000]";
+ mes "Please pick a style number ^0000FFbetween 0 and 77^000000.";
+ mes "Number 0, by the way, is the default style for your character.";
+ next;
+ input @pal;
+ if (@pal>77) close;
+ if (@pal<0) close;
+ setlook 7,@pal;
+ next;
+ mes "[^FF8000Stylist^000000]";
+ mes "Is this good, or do you want a different pallet";
+ next;
+ menu "This is good",-,"Different pallet, please",Lwantcloth;
+ next;
+ mes "[^FF8000Stylist^000000]";
+ mes "You look great~! Come back again, okay?";
+ close;
+
+ Lbrowsecloth:
+ set @look, -1;
+ mes "[^FF8000Stylist^000000]";
+ mes "Okay, here we go~! Just stop me when you see something you like, okay?";
+ next;
+
+ Lbrowseclothrep:
+ set @look,@look+1;
+ setlook 7,@look;
+ mes "This is Pallete Number^FF9009 "+@look+" ^000000!";
+ if(@look == 77) menu "Back To The Begin",Lbrowsecloth,"I like this one",Lstop;
+ if(@look != 77) menu "Keep going",Lbrowseclothrep,"I like this one",Lstop;
+}
+
diff --git a/npc/custom/eliza.txt b/npc/custom/eliza.txt
new file mode 100644
index 000000000..7915492b5
--- /dev/null
+++ b/npc/custom/eliza.txt
@@ -0,0 +1,702 @@
+prontera.gat,152,181,5 script MouseJstr 763,{
+
+// hello
+Lquote0:
+ npctalk "How do you do. Please state your problem.";
+ end;
+// computer
+Lquote1:
+ set $foo,rand(4);
+ if($foo == 0) goto Lquote1a;
+ if($foo == 1) goto Lquote1b;
+ if($foo == 2) goto Lquote1c;
+ if($foo == 3) goto Lquote1d;
+Lquote1a:
+ npctalk "Do computers worry you?";
+ end;
+Lquote1b:
+ npctalk "What do you think about machines?";
+ end;
+Lquote1c:
+ npctalk "Why do you mention computers?";
+ end;
+Lquote1d:
+ npctalk "What do you think machines have to do with your problem?";
+ end;
+// name
+Lquote2:
+ npctalk "I am not interested in names";
+ end;
+// sorry
+Lquote3:
+ set $foo,rand(3);
+ if($foo == 0) goto Lquote3a;
+ if($foo == 1) goto Lquote3b;
+ if($foo == 2) goto Lquote3c;
+
+Lquote3a:
+ npctalk "Please don't apologize";
+ end;
+
+Lquote3b:
+ npctalk "Apologies are not necessary";
+ end;
+
+Lquote3c:
+ npctalk "What feelings do you have when you apologize";
+ end;
+
+// I remember $p2$
+Lquote4:
+ set $foo,rand(6);
+ if($foo == 0) goto Lquote4a;
+ if($foo == 1) goto Lquote4b;
+ if($foo == 2) goto Lquote4c;
+ if($foo == 3) goto Lquote4d;
+ if($foo == 4) goto Lquote4e;
+ if($foo == 5) goto Lquote4f;
+
+Lquote4a:
+ npctalk "Do you often think of "+$p2$+"?";
+ end;
+
+Lquote4b:
+ npctalk "Does thinking of "+$p2$+" bring anything else to mind?";
+ end;
+
+Lquote4c:
+ npctalk "What else do you remember?";
+ end;
+
+Lquote4d:
+ npctalk "Why do you recall "+$p2$+" right now?";
+ end;
+
+Lquote4e:
+ npctalk "What in the present situation reminds you of "+$p2$+"?";
+ end;
+
+Lquote4f:
+ npctalk "What is the connection between me and "+$p2$+"?";
+ end;
+
+// do you remember
+Lquote5:
+ set $foo,rand(4);
+ if($foo == 0) goto Lquote5a;
+ if($foo == 1) goto Lquote5b;
+ if($foo == 2) goto Lquote5c;
+ if($foo == 3) goto Lquote5d;
+Lquote5a:
+ npctalk "Did you think I would forget "+$p2$+" ?";
+ end;
+
+Lquote5b:
+ npctalk "Why do you think I should recall "+$p2$+" now";
+ end;
+
+Lquote5c:
+ npctalk "What about "+$p2$+"";
+ end;
+
+Lquote5d:
+ npctalk "You mentioned "+$p2$+"";
+ end;
+
+// if
+Lquote6:
+ set $foo,rand(4);
+ if($foo == 0) goto Lquote6a;
+ if($foo == 1) goto Lquote6b;
+ if($foo == 2) goto Lquote6c;
+ if($foo == 3) goto Lquote6d;
+Lquote6a:
+ npctalk "Do you really think its likely that "+$p2$+"";
+ end;
+
+Lquote6b:
+ npctalk "Do you wish that "+$p2$+"?";
+ end;
+
+Lquote6c:
+ npctalk "What do you think about "+$p2$+"?";
+ end;
+
+Lquote6d:
+ npctalk "Really-- if "+$p2$+"?";
+ end;
+
+// i dreamt
+Lquote7:
+ set $foo,rand(3);
+ if($foo == 0) goto Lquote7a;
+ if($foo == 1) goto Lquote7b;
+ if($foo == 2) goto Lquote7c;
+Lquote7a:
+ npctalk "Really-- "+$p2$+"";
+ end;
+
+Lquote7b:
+ npctalk "Have you ever fantasized "+$p2$+" while you were awake?";
+ end;
+
+Lquote7c:
+ npctalk "Have you dreamt "+$p2$+" before?";
+ end;
+
+// dream about
+
+Lquote8:
+ npctalk "How do you feel about "+$p2$+" in reality?";
+ end;
+
+// dream
+Lquote9:
+ set $foo,rand(4);
+ if($foo == 0) goto Lquote9a;
+ if($foo == 1) goto Lquote9b;
+ if($foo == 2) goto Lquote9c;
+ if($foo == 3) goto Lquote9d;
+Lquote9a:
+ npctalk "What does this dream suggest to you?";
+ end;
+
+Lquote9b:
+ npctalk "Do you dream often?";
+ end;
+
+Lquote9c:
+ npctalk "What persons appear in your dreams?";
+ end;
+
+Lquote9d:
+ npctalk "Don't you believe that dream has to do with your problem?";
+ end;
+
+// my mother
+Lquote10:
+ set $foo,rand(2);
+ if($foo == 0) goto Lquote10a;
+ if($foo == 1) goto Lquote10b;
+Lquote10a:
+ npctalk "Who else in your family "+$p2$+"";
+ end;
+
+Lquote10b:
+ npctalk "Tell me more about your family";
+ end;
+
+// my father
+Lquote11:
+ set $foo,rand(3);
+ if($foo == 0) goto Lquote11a;
+ if($foo == 1) goto Lquote11b;
+ if($foo == 2) goto Lquote11c;
+Lquote11a:
+ npctalk "Your father";
+ end;
+
+Lquote11b:
+ npctalk "Does he influence you strongly?";
+ end;
+
+Lquote11c:
+ npctalk "What else comes to mind when you think of your father?";
+ end;
+
+// I want
+Lquote12:
+ set $foo,rand(3);
+ if($foo == 0) goto Lquote12a;
+ if($foo == 1) goto Lquote12b;
+ if($foo == 2) goto Lquote12c;
+Lquote12a:
+ npctalk "What would it mean if you got "+$p2$+"";
+ end;
+
+Lquote12b:
+ npctalk "Why do you want "+$p2$+"";
+ end;
+
+Lquote12c:
+ npctalk "Suppose you got "+$p2$+" soon";
+ end;
+
+// I am glad
+Lquote13:
+ set $foo,rand(3);
+ if($foo == 0) goto Lquote13a;
+ if($foo == 1) goto Lquote13b;
+ if($foo == 2) goto Lquote13c;
+Lquote13a:
+ npctalk "How have I helped you to be "+$p2$+"";
+ end;
+
+Lquote13b:
+ npctalk "What makes you happy just now";
+ end;
+
+Lquote13c:
+ npctalk "Can you explain why you are suddenly "+$p2$+"";
+ end;
+
+// I am sad
+Lquote14:
+ set $foo,rand(2);
+ if($foo == 0) goto Lquote14a;
+ if($foo == 1) goto Lquote14b;
+Lquote14a:
+ npctalk "I am sorry to hear you are depressed";
+ end;
+
+Lquote14b:
+ npctalk "I'm sure its not pleasant to be sad";
+ end;
+
+// $p2 are like "+$p3$+"
+Lquote15:
+ npctalk "What resemblance do you see between "+$p2$+" and "+$p3$+"";
+ end;
+
+// "+$p2$+" is like "+$p3$+"
+Lquote16:
+ set $foo,rand(4);
+ if($foo == 0) goto Lquote16a;
+ if($foo == 1) goto Lquote16b;
+ if($foo == 2) goto Lquote16c;
+ if($foo == 3) goto Lquote16d;
+Lquote16a:
+ npctalk "In what way is it that "+$p2$+" is like "+$p3$+"";
+ end;
+
+Lquote16b:
+ npctalk "What resemblance do you see?";
+ end;
+
+Lquote16c:
+ npctalk "Could there really be some connection?";
+ end;
+
+Lquote16d:
+ npctalk "How?";
+ end;
+// alike
+Lquote17:
+ set $foo,rand(2);
+ if($foo == 0) goto Lquote17a;
+ if($foo == 1) goto Lquote17b;
+Lquote17a:
+ npctalk "In what way?";
+ end;
+
+Lquote17b:
+ npctalk "What similarities are there?";
+ end;
+// same
+Lquote18:
+ npctalk "What other connections do you see?";
+ end;
+
+// I was "+$p2$+"
+Lquote19:
+ set $foo,rand(3);
+ if($foo == 0) goto Lquote19a;
+ if($foo == 1) goto Lquote19b;
+ if($foo == 2) goto Lquote19c;
+Lquote19a:
+ npctalk "Were you really?";
+ end;
+
+Lquote19b:
+ npctalk "Perhaps I already knew you were "+$p2$+"";
+ end;
+
+Lquote19c:
+ npctalk "Why do you tell me you were "+$p2$+" now?";
+ end;
+
+// was I
+Lquote20:
+ set $foo,rand(3);
+ if($foo == 0) goto Lquote20a;
+ if($foo == 1) goto Lquote20b;
+ if($foo == 2) goto Lquote20c;
+Lquote20a:
+ npctalk "What if you were "+$p2$+" ?";
+ end;
+
+Lquote20b:
+ npctalk "Do you thin you were "+$p2$+"";
+ end;
+
+Lquote20c:
+ npctalk "What would it mean if you were "+$p2$+"";
+ end;
+
+// I am
+Lquote21:
+ set $foo,rand(2);
+ if($foo == 0) goto Lquote21a;
+ if($foo == 1) goto Lquote21b;
+Lquote21a:
+ npctalk "In what way are you "+$p2$+"";
+ end;
+
+Lquote21b:
+ npctalk "Do you want to be "+$p2$+" ?";
+ end;
+
+// am I
+Lquote22:
+ set $foo,rand(4);
+ if($foo == 0) goto Lquote22a;
+ if($foo == 1) goto Lquote22b;
+ if($foo == 2) goto Lquote22c;
+ if($foo == 3) goto Lquote22d;
+Lquote22a:
+ npctalk "Do you believe you are "+$p2$+"";
+ end;
+
+Lquote22b:
+ npctalk "Would you want to be "+$p2$+"";
+ end;
+
+Lquote22c:
+ npctalk "You wish I would tell you you are "+$p2$+"";
+ end;
+
+Lquote22d:
+ npctalk "What would it mean if you were "+$p2$+"";
+ end;
+
+// am
+Lquote23:
+ set $foo,rand(2);
+ if($foo == 0) goto Lquote23a;
+ if($foo == 1) goto Lquote23b;
+
+Lquote23a:
+ npctalk "Why do you say AM?";
+ end;
+
+Lquote23b:
+ npctalk "I don't understand that";
+ end;
+
+// are you
+Lquote24:
+ set $foo,rand(3);
+ if($foo == 0) goto Lquote24a;
+ if($foo == 1) goto Lquote24b;
+ if($foo == 2) goto Lquote24c;
+Lquote24a:
+ npctalk "Why are you interested in whether I am "+$p2$+" or not?";
+ end;
+
+Lquote24b:
+ npctalk "Would you prefer if I weren't "+$p2$+"";
+ end;
+
+Lquote24c:
+ npctalk "Perhaps I am "+$p2$+" in your fantasies";
+ end;
+
+// you are
+Lquote25:
+ npctalk "What makes you think I am "+$p2$+" ?";
+ end;
+
+// because
+Lquote26:
+ set $foo,rand(3);
+ if($foo == 0) goto Lquote26a;
+ if($foo == 1) goto Lquote26b;
+ if($foo == 2) goto Lquote26c;
+Lquote26a:
+ npctalk "Is that the real reason?";
+ end;
+
+Lquote26b:
+ npctalk "What other reasons might there be?";
+ end;
+
+Lquote26c:
+ npctalk "Does that reason seem to explain anything else?";
+ end;
+
+// were you
+Lquote27:
+ set $foo,rand(3);
+ if($foo == 0) goto Lquote27a;
+ if($foo == 1) goto Lquote27b;
+ if($foo == 2) goto Lquote27c;
+Lquote27a:
+ npctalk "Perhaps I was "+$p2$+"";
+ end;
+
+Lquote27b:
+ npctalk "What do you think?";
+ end;
+
+Lquote27c:
+ npctalk "What if I had been "+$p2$+"";
+ end;
+
+// I can't
+Lquote28:
+ set $foo,rand(2);
+ if($foo == 0) goto Lquote28a;
+ if($foo == 1) goto Lquote28b;
+Lquote28a:
+ npctalk "Maybe you could "+$p2$+" now";
+ end;
+
+Lquote28b:
+ npctalk "What if you could "+$p2$+" ?";
+ end;
+
+// I feel
+Lquote29:
+ npctalk "Do you often feel "+$p2$+" ?";
+ end;
+
+// I felt
+Lquote30:
+ npctalk "What other feelings do you have?";
+ end;
+
+// $p1$ I $p2$ you $p3$
+Lquote31:
+ npctalk "Perhaps in your fantasy we "+$p3$+" each other?";
+ end;
+
+// why don't you
+Lquote32:
+ set $foo,rand(3);
+ if($foo == 0) goto Lquote32a;
+ if($foo == 1) goto Lquote32b;
+ if($foo == 2) goto Lquote32c;
+Lquote32a:
+ npctalk "Should you "+$p2$+" yourself?";
+ end;
+
+Lquote32b:
+ npctalk "Do you believe I don't "+$p2$+"";
+ end;
+
+Lquote32c:
+ npctalk "Perhaps I will "+$p2$+" in good time";
+ end;
+
+// yes
+Lquote33:
+ set $foo,rand(3);
+ if($foo == 0) goto Lquote33a;
+ if($foo == 1) goto Lquote33b;
+ if($foo == 2) goto Lquote33c;
+Lquote33a:
+ npctalk "You seem quite positive";
+ end;
+
+Lquote33b:
+ npctalk "You are sure?";
+ end;
+
+Lquote33c:
+ npctalk "I understand";
+ end;
+
+// no
+Lquote34:
+ set $foo,rand(3);
+ if($foo == 0) goto Lquote34a;
+ if($foo == 1) goto Lquote34b;
+ if($foo == 2) goto Lquote34c;
+Lquote34a:
+ npctalk "Why not?";
+ end;
+
+Lquote34b:
+ npctalk "You are being a bit negative";
+ end;
+
+Lquote34c:
+ npctalk "Are you saying NO just to be negative?";
+ end;
+
+// someone
+Lquote35:
+ npctalk "Can you be more specific?";
+ end;
+
+// everyone
+Lquote36:
+ set $foo,rand(4);
+ if($foo == 0) goto Lquote36a;
+ if($foo == 1) goto Lquote36b;
+ if($foo == 2) goto Lquote36c;
+ if($foo == 3) goto Lquote36d;
+Lquote36a:
+ npctalk "surely not everyone";
+ end;
+
+Lquote36b:
+ npctalk "Can you think of anyone in particular?";
+ end;
+
+Lquote36c:
+ npctalk "Who for example?";
+ end;
+
+Lquote36d:
+ npctalk "You are thinking of a special person?";
+ end;
+
+// always
+Lquote37:
+ set $foo,rand(4);
+ if($foo == 0) goto Lquote37a;
+ if($foo == 1) goto Lquote37b;
+ if($foo == 2) goto Lquote37c;
+ if($foo == 3) goto Lquote37d;
+Lquote37a:
+ npctalk "Can you think of a specific example?";
+ end;
+
+Lquote37b:
+ npctalk "When?";
+ end;
+
+Lquote37c:
+ npctalk "What incident are you thinking of?";
+ end;
+
+Lquote37d:
+ npctalk "Really-- always?";
+ end;
+
+// what
+Lquote38:
+ set $foo,rand(5);
+ if($foo == 0) goto Lquote38a;
+ if($foo == 1) goto Lquote38b;
+ if($foo == 2) goto Lquote38c;
+ if($foo == 3) goto Lquote38d;
+ if($foo == 4) goto Lquote38e;
+Lquote38a:
+ npctalk "Why do you ask?";
+ end;
+
+Lquote38b:
+ npctalk "Does that question interest you?";
+ end;
+
+Lquote38c:
+ npctalk "What is it you really want to know?";
+ end;
+
+Lquote38d:
+ npctalk "What do you think?";
+ end;
+
+Lquote38e:
+ npctalk "What comes to your mind when you ask that?";
+ end;
+
+// perhaps
+Lquote39:
+ npctalk "You do not seem quite certain";
+ end;
+
+// are
+Lquote40:
+ set $foo,rand(2);
+ if($foo == 0) goto Lquote40a;
+ if($foo == 1) goto Lquote40b;
+Lquote40a:
+ npctalk "Did you think they might not be "+$p2$+"";
+ end;
+
+Lquote40b:
+ npctalk "Possibly they are "+$p2$;
+ end;
+
+// default
+Lquote41:
+ set $foo,rand(6);
+ if($foo == 0) goto Lquote41a;
+ if($foo == 1) goto Lquote41b;
+ if($foo == 2) goto Lquote41c;
+ if($foo == 3) goto Lquote41d;
+ if($foo == 4) goto Lquote41e;
+ if($foo == 5) goto Lquote41f;
+Lquote41a:
+ npctalk "Very interesting";
+ end;
+
+Lquote41b:
+ npctalk "I am not sure I understand you fully";
+ end;
+
+Lquote41c:
+ npctalk "What does that suggest to you?";
+ end;
+
+Lquote41d:
+ npctalk "Please continue";
+ end;
+
+Lquote41e:
+ npctalk "Go on";
+ end;
+
+Lquote41f:
+ npctalk "Do you feel strongly about discussing such things?";
+ end;
+OnInit:
+ defpattern 1, "([^:]+):.*\\shello.*", "Lquote0";
+ defpattern 1, "([^:]+):.*\\scomputer.*", "Lquote1";
+ defpattern 1, "([^:]+):.*\\sname.*", "Lquote2";
+ defpattern 1, "([^:]+):.*\\ssorry.*", "Lquote3";
+ defpattern 1, "([^:]+):.*\\si\\s+remember\\s+(.*)", "Lquote4";
+ defpattern 1, "([^:]+):.*\\sdo\\s+you\\s+remember\\s+(.*)", "Lquote5";
+ defpattern 1, "([^:]+):.*\\sif\\s+(.*)", "Lquote6";
+ defpattern 1, "([^:]+):.*\\si\\s+dreamt\\s+(.*)", "Lquote7";
+ defpattern 1, "([^:]+):.*\\sdream\\s+about\\s+(.*)", "Lquote8";
+ defpattern 1, "([^:]+):.*\\sdream\\s+(.*)", "Lquote9";
+ defpattern 1, "([^:]+):.*\\smy\\s+mother\\s+(.*)", "Lquote10";
+ defpattern 1, "([^:]+):.*\\smy\\s+father\\s+(.*)", "Lquote11";
+ defpattern 1, "([^:]+):.*\\si\\s+want\\s+(.*)", "Lquote12";
+ defpattern 1, "([^:]+):.*\\si\\s+am\\s+glad\\s+(.*)", "Lquote13";
+ defpattern 1, "([^:]+):\\s+(.*)\\s+i\\s+am\\s+sad\\s+(.*)", "Lquote14";
+ defpattern 1, "([^:]+):\\s+(.*)\\s+are\\s+like\\s+(.*)", "Lquote15";
+ defpattern 1, "([^:]+):\\s+(.*)\\s+is\\s+like\\s+(.*)", "Lquote16";
+ defpattern 1, "([^:]+):.*\\salike\\s+(.*)", "Lquote17";
+ defpattern 1, "([^:]+):.*\\ssame\\s+(.*)", "Lquote18";
+ defpattern 1, "([^:]+):.*\\si\\s+was\\s+(.*)", "Lquote19";
+ defpattern 1, "([^:]+):.*\\swas\\s+i\\s+(.*)", "Lquote20";
+ defpattern 1, "([^:]+):.*\\si\\s+am\\s+(.*)", "Lquote21";
+ defpattern 1, "([^:]+):.*\\sam\\s+i\\s+(.*)", "Lquote22";
+ defpattern 1, "([^:]+):.*\\sam\\s+(.*)", "Lquote23";
+ defpattern 1, "([^:]+):.*\\sare\\s+you\\s+(.*)", "Lquote24";
+ defpattern 1, "([^:]+):.*\\syou\\s+are\\s+(.*)", "Lquote25";
+ defpattern 1, "([^:]+):.*\\sbecause\\s+(.*)", "Lquote26";
+ defpattern 1, "([^:]+):.*\\swere\\s+you\\s+(.*)", "Lquote27";
+ defpattern 1, "([^:]+):.*\\si\\s+(cant|can't|cannot)\\s+(.*)", "Lquote28";
+ defpattern 1, "([^:]+):.*\\si\\s+feel\\s+(.*)", "Lquote29";
+ defpattern 1, "([^:]+):.*\\si\\s+felt\\s+(.*)", "Lquote30";
+ defpattern 1, "([^:]+):.*\\si\\s+(.*)\\s+you\\s+(.*)", "Lquote31";
+ defpattern 1, "([^:]+):.*\\swhy\\s+(don't|dont)\\s+you\\s+(.*)", "Lquote32";
+ defpattern 1, "([^:]+):.*\\syes\\s+(.*)", "Lquote33";
+ defpattern 1, "([^:]+):.*\\sno\\s+(.*)", "Lquote34";
+ defpattern 1, "([^:]+):.*\\ssomeone\\s+(.*)", "Lquote35";
+ defpattern 1, "([^:]+):.*\\severyone\\s+(.*)", "Lquote36";
+ defpattern 1, "([^:]+):.*\\salways\\s+(.*)", "Lquote37";
+ defpattern 1, "([^:]+):.*\\swhat\\s+(.*)", "Lquote38";
+ defpattern 1, "([^:]+):.*\\sperhaps\\s+(.*)", "Lquote39";
+ defpattern 1, "([^:]+):.*\\sare\\s+(.*)", "Lquote40";
+ defpattern 1, "([^:]+):(.*)", "Lquote41";
+
+ activatepset 1;
+ end;
+}
diff --git a/npc/custom/gefenia.txt b/npc/custom/gefenia.txt
new file mode 100644
index 000000000..af6d07b4a
--- /dev/null
+++ b/npc/custom/gefenia.txt
@@ -0,0 +1,34 @@
+//===== Athena Script ========================================
+//= Gefenia Warper Script
+//===== By: ==================================================
+//= Darkchild (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 6+
+//===== Description: =========================================
+//= Temp Warper to Gefenia
+//===== Additional Comments: =================================
+//= IF you know how you SHOULD get there then please tell me
+//= there's OFFICIAL The Sign quest
+//============================================================
+
+
+prontera.gat,154,198,5 script Geovani 805,{
+ mes "[Geovani]";
+ mes "Hi there my friend,";
+ mes "A while ago a very wise man taught me something.";
+ next;
+ mes "[Geovani]";
+ mes "He taught me how to warp people";
+ mes "And yesterday i finally mastered it!!";
+ next;
+ mes "[Geovani]";
+ mes "Want me to show you?";
+ mes "I can warp you to Gefenia, the old ruins of the rebuild city, Geffen";
+ next;
+ menu "Sure, Warp Me ;)",Mwarpme,"Nah, Don't Try It On me",-;
+ close;
+Mwarpme:
+ warp "gefenia01.gat", 40, 103; close;
+} \ No newline at end of file
diff --git a/npc/custom/healers/heal.txt b/npc/custom/healers/heal.txt
new file mode 100644
index 000000000..d065d30c1
--- /dev/null
+++ b/npc/custom/healers/heal.txt
@@ -0,0 +1,52 @@
+//===== eAthena Script =======================================
+//= Heal Npc
+//===== By: ==================================================
+//= Lotsa People (1.x)
+//===== Current Version: =====================================
+//= 3.0
+//===== Compatible With: =====================================
+//= eAthena 0.1+;
+//===== Description: =========================================
+//= Healer NPC Which Heals For Free
+//===== Additional Comments: =================================
+//= 3.0 By massdriller, Changed and edited the script
+//= added other warp points of maps.
+//= 2.0 By Darkchild, Duplicates And Changed A Bit
+//= you can replace this script file by heal_payment.txt
+//= if you want that players have to pay their healings.
+//============================================================
+
+prontera.gat,150,184,5 script Healer#h1-1::Healer 742,{
+
+ mes "[Healer]";
+ mes "I have amazing healing powers!!";
+ mes "You look like a person who needs them";
+ mes "Want some?";
+ next;
+ menu "Heal",-,"No thanks",CANCEL;
+ percentheal 100,100;
+ mes "[Healer]";
+ mes "Wonderfull, You are now healed!.";
+ mes "Have fun adventuring!!";
+ close;
+ CANCEL:
+ mes "[Healer]";
+ mes "Allright, come back if you need a heal.";
+ close;
+}
+
+morocc.gat,159,96,5 duplicate(Healer) Healer#h1-2 742
+ayothaya.gat,155,111,5 duplicate(Healer) Healer#h1-3 742
+geffen.gat,121,61,5 duplicate(Healer) Healer#h1-4 742
+umbala.gat,94,162,5 duplicate(Healer) Healer#h1-5 742
+payon.gat,180,105,5 duplicate(Healer) Healer#h1-6 742
+alberta.gat,185,144,5 duplicate(Healer) Healer#h1-7 742
+aldebaran.gat,134,123,5 duplicate(Healer) Healer#h1-8 742
+izlude.gat,125,118,5 duplicate(Healer) Healer#h1-9 742
+xmas.gat,149,136,5 duplicate(Healer) Healer#h1-10 742
+comodo.gat,188,162,5 duplicate(Healer) Healer#h1-11 742
+amatsu.gat,200,80,5 duplicate(Healer) Healer#h1-12 742
+gonryun.gat,164,130,5 duplicate(Healer) Healer#h1-13 742
+yuno.gat,152,186,5 duplicate(Healer) Healer#h1-14 742
+niflheim.gat,188,180,5 duplicate(Healer) Healer#h1-15 742
+louyang.gat,225,103,5 duplicate(Healer) Healer#h1-16 742 \ No newline at end of file
diff --git a/npc/custom/healers/heal_payment.txt b/npc/custom/healers/heal_payment.txt
new file mode 100644
index 000000000..325bfd008
--- /dev/null
+++ b/npc/custom/healers/heal_payment.txt
@@ -0,0 +1,105 @@
+//===== eAthena Script =======================================
+//= Healer Script (/w payments)
+//===== By: ==================================================
+//= Yor & abunch of other people
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= NPC heals/regenerates people against zenys
+//===== Additional Comments: =================================
+//= alternative dog with payment.
+//= each HP need 1 zeny
+//= each SP need (baselevel / 5) zenys
+//= calculation is done at start of the script
+//= Added Duplicates And Correct payon Loc [Darkchild]
+//= Some modifications. Added NPC locations. [massdriller]
+//============================================================
+
+prontera.gat,150,184,5 script Healer#h1-1::Healer 742,{
+ set @tempHp, MaxHp-Hp;
+ set @tempSp, ((MaxSp-Sp) * BaseLevel) / 5;
+ if (@tempHp > 0) goto WOUNDED;
+ if (@tempSp > 0) goto ONLY_REGENERATION;
+
+ mes "[Healer]";
+ mes "Oh?";
+ mes "You do not look like a person in pain.";
+ close;
+
+ WOUNDED:
+ if (@tempSp > 0) goto WITH_REGENERATION;
+ mes "[Healer]";
+ mes "Oh dear, you look really hurt,";
+ mes "I can cure you for: "+@tempHp+" z)";
+ mes "Do you want me to cure you?";
+ next;
+ menu "Healings ("+@tempHp+"z)",HEALINGS,"No, thanks",CANCEL;
+
+ WITH_REGENERATION:
+ mes "[Healer]";
+ mes "Do you want only your HP to be healed? ("+@tempHp+" z)";
+ mes "Do you want only your SP to be healed? ("+@tempSp+" z)?";
+ mes "Or Would you like both? ("+(@tempHp+@tempSp)+" z)";
+ next;
+ menu "Only HP ("+@tempHp+"z)",HEALINGS,"Only SP ("+@tempSp+"z)",REGENERATION,"Both HP & SP ("+(@tempHp+@tempSp)+"z)",HEALINGS_AND_REGEN,"Nothing, thanks",CANCEL;
+
+ ONLY_REGENERATION:
+ mes "[Healer]";
+ mes "So, you only want your SP to heal? ("+@tempSp+" z)";
+ mes "I need to make a living...";
+ next;
+ menu "Regeneration ("+@tempSp+"z)",REGENERATION,"No, thanks",CANCEL;
+
+ HEALINGS:
+ if (Zeny < @tempHp) goto NO_ZENYS;
+ set Zeny, Zeny-@tempHp;
+ heal 30000,0;
+ goto FIN;
+
+ REGENERATION:
+ if (Zeny < @tempSp) goto NO_ZENYS;
+ set Zeny, Zeny-@tempSp;
+ heal 0,30000;
+ goto FIN;
+
+ HEALINGS_AND_REGEN:
+ if (Zeny < (@tempHp+@tempSp)) goto NO_ZENYS;
+ set Zeny, Zeny-(@tempHp+@tempSp);
+ heal 30000,30000;
+ goto FIN;
+
+ NO_ZENYS:
+ mes "[Healer]";
+ mes "Oh dear, you don't look like you have enough zeny.";
+ mes "Sorry, i can't help you.";
+ close;
+
+ FIN:
+ mes "[Healer]";
+ mes "You are Completely Healed.";
+ close;
+
+ CANCEL:
+ mes "[Healer]";
+ mes "Allright. Please come again if you need anything.";
+ close;
+}
+
+
+morocc.gat,159,96,5 duplicate(Healer) Healer#h2-2 742
+ayothaya.gat,155,111,5 duplicate(Healer) Healer#h2-3 742
+geffen.gat,121,61,5 duplicate(Healer) Healer#h2-4 742
+umbala.gat,94,162,5 duplicate(Healer) Healer#h2-5 742
+payon.gat,180,105,5 duplicate(Healer) Healer#h2-6 742
+alberta.gat,185,144,5 duplicate(Healer) Healer#h2-7 742
+aldebaran.gat,134,123,5 duplicate(Healer) Healer#h2-8 742
+izlude.gat,125,118,5 duplicate(Healer) Healer#h2-9 742
+xmas.gat,149,136,5 duplicate(Healer) Healer#h2-10 742
+comodo.gat,188,162,5 duplicate(Healer) Healer#h2-11 742
+amatsu.gat,200,80,5 duplicate(Healer) Healer#h2-12 742
+gonryun.gat,164,130,5 duplicate(Healer) Healer#h2-13 742
+yuno.gat,152,186,5 duplicate(Healer) Healer#h2-14 742
+niflheim.gat,188,180,5 duplicate(Healer) Healer#h2-15 742
+louyang.gat,225,103,5 duplicate(Healer) Healer#h2-16 742 \ No newline at end of file
diff --git a/npc/custom/jobs/jobmaster.txt b/npc/custom/jobs/jobmaster.txt
new file mode 100644
index 000000000..8dc3d01fc
--- /dev/null
+++ b/npc/custom/jobs/jobmaster.txt
@@ -0,0 +1,499 @@
+//===== eAthena Script =======================================
+//= eAthena Jobchanger AKA Job Master
+//===== By: ==================================================
+//= eAthena Dev Team [LunatikBunnie] (Editted by Amada`)
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Changes your job without asking too much
+//= For other info, please contact me at Lunatikbunnie@gmail.com
+//= Editted menu to avoid button mashing.
+//= 1.3 Added TK/SL/SG, thanks to Haplo. Fixed minor bugs [Lupus]
+//= script leaves grabage variable: 'lastJob'
+//============================================================
+
+// ------------------------------ Start ------------------------------
+prontera.gat,153,193,6 script Job Master 123,{
+// Variable Setup
+ set @MinimumJB, 40; //Minimum job level for changing between 2nd and advance Class (Default : 40)
+ set @GivePlat, 1; //Give Platinum skills on Jobchange (Default : 1-yes)
+ set @SupNovM, 45; //Base Level to change into Super Novice (Default : 45)
+// Check Jobtype
+ if(Upper == 1 && Class >= Job_Lord_Knight) goto L_cantCh;
+ if(SkillPoint != 0) goto L_skillUsed;
+ if(Class == Job_Novice) goto L_novice;
+ if(JobLevel <10) goto L_notEn;
+ if((Class ==Job_Novice_High) && ((lastJob ==7) || (lastJob ==14))) goto L_cHsword;
+ if((Class ==Job_Novice_High) && ((lastJob ==9) || (lastJob ==16))) goto L_cHmage;
+ if((Class ==Job_Novice_High) && ((lastJob ==11) || (lastJob ==19) || (lastJob ==20))) goto L_cHarcher;
+ if((Class ==Job_Novice_High) && ((lastJob ==8) || (lastJob ==15))) goto L_cHacolyte;
+ if((Class ==Job_Novice_High) && ((lastJob ==10) || (lastJob ==18))) goto L_cHmerchant;
+ if((Class ==Job_Novice_High) && ((lastJob ==12) || (lastJob ==17))) goto L_cHthief;
+ if(JobLevel <@MinimumJB) goto L_notEn;
+ if(Class ==1) goto L_iSword;
+ if(Class ==2) goto L_iMage;
+ if(Class ==3) goto L_iArcher;
+ if(Class ==4) goto L_iAcolyte;
+ if(Class ==5) goto L_iMerchant;
+ if(Class ==6) goto L_iThief;
+ if(Class ==4046) goto L_iTaekwon;
+ if(checkfalcon(0) || checkcart(0) || checkriding(0)) goto L_remove;
+ if(lastJob ==7) goto L_iKnight;
+ if(lastJob ==8) goto L_iPriest;
+ if(lastJob ==9) goto L_iWizard;
+ if(lastJob ==10) goto L_iBlacksmith;
+ if(lastJob ==11) goto L_iHunter;
+ if(lastJob ==12) goto L_iAssassin;
+ if(lastJob ==14) goto L_iCrusader;
+ if(lastJob ==15) goto L_iMonk;
+ if(lastJob ==16) goto L_iSage;
+ if(lastJob ==17) goto L_iRogue;
+ if(lastJob ==18) goto L_iAlchemist;
+ if(lastJob ==19) goto L_iBard;
+ if(lastJob ==20) goto L_iDancer;
+ if((Class >=7) && (Class <=20)) goto L_rebirth;
+ close;
+
+// Novice
+ L_novice:
+ skill 142,1,0;
+ skill 143,1,0;
+ if(JobLevel<10) goto L_notEn;
+ mes "^ff0000[Job Master]^000000";
+ mes "Welcome, please select the job you wish to change into";
+ menu "Swordsman",L_sword,"Mage",L_mage,"Archer",L_archer,"Acolyte",L_acolyte,"Merchant",L_merchant,"Thief",L_thief,"Super Novice",L_superN,"Taekwon",L_taekwon;
+// Change to Swordsman
+ L_sword:
+ mes "Are you SURE?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 1;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+// Change to Mage
+ L_mage:
+ mes "Are you SURE?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 2;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+// Change to Archer
+ L_archer:
+ mes "Are you SURE?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 3;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+// Change to Acolyte
+ L_acolyte:
+ mes "Are you SURE?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 4;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+// Change to Merchant
+ L_merchant:
+ mes "Are you SURE?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 5;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+// Change to Thief
+ L_thief:
+ mes "Are you SURE?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 6;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+// Change to Super Novice
+ L_superN:
+ mes "Are you SURE?";
+ menu "No",L_quit,"Yes",-;
+ if(BaseLevel<@SupNovM) goto L_notSup;
+ jobchange 23;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+// Change to Taekwon
+ L_taekwon:
+ mes "Are you SURE?";
+ menu "No",L_quit,"Yes",-;
+ jobchange Job_Taekwon;
+ callfunc "F_ClearJobVar";
+ close;
+// Change to Knight/Crusader
+ L_iSword:
+ mes "^ff0000[Job Master]^000000";
+ mes "Welcome, please select the job you wish to change into";
+ menu "Knight",L_knight,"Crusader",L_crusader;
+ L_knight:
+ mes "Are you SURE?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 7;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+ L_crusader:
+ mes "Are you SURE?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 14;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+// Change to Wizard/Sage
+ L_iMage:
+ mes "^ff0000[Job Master]^000000";
+ mes "Welcome, please select the job you wish to change into";
+ menu "Wizard",L_wizard,"Sage",L_sage;
+ L_wizard:
+ mes "Are you SURE?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 9;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+ L_sage:
+ mes "Are you SURE?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 16;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+// Change to Hunter/Bard/Dancer
+ L_iArcher:
+ mes "^ff0000[Job Master]^000000";
+ mes "Welcome, please select the job you wish to change into";
+ menu "Hunter",L_hunter,"Bard/Dancer",L_bandd;
+ L_hunter:
+ mes "Are you SURE?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 11;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+ L_bandd:
+ if(sex==0) goto L_dancer;
+ if(sex==1) goto L_bard;
+ L_bard:
+ mes "Are you SURE?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 19;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+ L_dancer:
+ mes "Are you SURE?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 20;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+// Change to Priest/Monk
+ L_iAcolyte:
+ mes "^ff0000[Job Master]^000000";
+ mes "Welcome, please select the job you wish to change into";
+ menu "Priest",L_priest,"Monk",L_monk;
+ L_priest:
+ mes "Are you SURE?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 8;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+ L_monk:
+ mes "Are you SURE?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 15;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+// Change to Blacksmith/Alchemist
+ L_iMerchant:
+ mes "^ff0000[Job Master]^000000";
+ mes "Welcome, please select the job you wish to change into";
+ menu "Blacksmith",L_blacksmith,"Alchemist",L_alchemist;
+ L_blacksmith:
+ mes "Are you SURE?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 10;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+ L_alchemist:
+ mes "Are you SURE?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 18;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+// Change to Assassin/Rogue
+ L_iThief:
+ mes "^ff0000[Job Master]^000000";
+ mes "Welcome, please select the job you wish to change into";
+ menu "Assassin",L_assassin,"Rogue",L_rogue;
+ L_assassin:
+ mes "Are you SURE?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 12;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+ L_rogue:
+ mes "Are you SURE?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 17;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+// Change to Star Gladiator/Soul Linker
+ L_iTaekwon:
+ mes "^ff0000[Job Master]^000000";
+ mes "Welcome, please select the job you wish to change into";
+ menu "Star Gladiator",L_SG,"Soul Linker",L_SL;
+ L_SG:
+ mes "Are you SURE?";
+ menu "No",L_quit,"Yes",-;
+ jobchange Job_Star_Gladiator;
+ callfunc "F_ClearJobVar";
+ close;
+ L_SL:
+ mes "Are you SURE?";
+ menu "No",L_quit,"Yes",-;
+ jobchange Job_Soul_Linker;
+ callfunc "F_ClearJobVar";
+ close;
+// Rebirth
+ L_rebirth:
+ mes "^ff0000[Job Master]^000000";
+ mes "Do you want to reborn?";
+ next;
+ mes "Are you SURE?";
+ menu "No",L_quit,"Yes",-;
+ if ((BaseLevel < 99) || (JobLevel < 50)) goto L_cantCh;
+ set lastJob, readparam(19);
+ jobchange 24;
+ resetlvl(1);
+ skill 142,1,0;
+ skill 143,1,0;
+ mes "^ff0000[Job Master]^000000";
+ mes "You are now reborn.";
+ mes "Please come again soon.";
+ close;
+ L_cHsword:
+ mes "^ff0000[Job Master]^000000";
+ mes "Do you want to change into a High Swordsman?";
+ next;
+ menu "No",L_quit,"Yes",-;
+ jobchange 25;
+ mes "^ff0000[Job Master]^000000";
+ mes "Thank you, please come again soon!";
+ close;
+ L_cHmage:
+ mes "^ff0000[Job Master]^000000";
+ mes "Do you want to change into a High Mage?";
+ next;
+ menu "No",L_quit,"Yes",-;
+ jobchange 26;
+ mes "^ff0000[Job Master]^000000";
+ mes "Thank you, please come again soon!";
+ close;
+ L_cHarcher:
+ mes "^ff0000[Job Master]^000000";
+ mes "Do you want to change into a High Archer?";
+ next;
+ menu "No",L_quit,"Yes",-;
+ jobchange 27;
+ mes "^ff0000[Job Master]^000000";
+ mes "Thank you, please come again soon!";
+ close;
+ L_cHacolyte:
+ mes "^ff0000[Job Master]^000000";
+ mes "Do you want to change into a High Acolyte?";
+ next;
+ menu "No",L_quit,"Yes",-;
+ jobchange 28;
+ mes "^ff0000[Job Master]^000000";
+ mes "Thank you, please come again soon!";
+ close;
+ L_cHmerchant:
+ mes "^ff0000[Job Master]^000000";
+ mes "Do you want to change into a High Merchant?";
+ next;
+ menu "No",L_quit,"Yes",-;
+ jobchange 29;
+ mes "^ff0000[Job Master]^000000";
+ mes "Thank you, please come again soon!";
+ close;
+ L_cHthief:
+ mes "^ff0000[Job Master]^000000";
+ mes "Do you want to change into a High Thief?";
+ next;
+ menu "No",L_quit,"Yes",-;
+ jobchange 30;
+ mes "^ff0000[Job Master]^000000";
+ mes "Thank you, please come again soon!";
+ close;
+// Change to Lord Knight
+ L_iKnight:
+ mes "^ff0000[Job Master]^000000";
+ mes "Do you want to change into a Lord Knight?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 31;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+// Change to Paladin
+ L_iCrusader:
+ mes "^ff0000[Job Master]^000000";
+ mes "Do you want to change into a Paladin?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 38;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+// Change to High Priest
+ L_iPriest:
+ mes "^ff0000[Job Master]^000000";
+ mes "Do you want to change into a High Priest?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 32;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+// Change to Champion
+ L_iMonk:
+ mes "^ff0000[Job Master]^000000";
+ mes "Do you want to change into a Champion?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 39;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+// Change to Whitesmith
+ L_iBlacksmith:
+ mes "^ff0000[Job Master]^000000";
+ mes "Do you want to change into a Whitesmith?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 34;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+// Change to Creator
+ L_iAlchemist:
+ mes "^ff0000[Job Master]^000000";
+ mes "Do you want to change into a Creator?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 42;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+// Change to High Wizard
+ L_iWizard:
+ mes "^ff0000[Job Master]^000000";
+ mes "Do you want to change into a High Wizard?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 33;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+// Change to Professor
+ L_iSage:
+ mes "^ff0000[Job Master]^000000";
+ mes "Do you want to change into a Professor?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 40;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+// Change to Sniper
+ L_iHunter:
+ mes "^ff0000[Job Master]^000000";
+ mes "Do you want to change into a Sniper?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 35;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+// Change to Clown
+ L_iBard:
+ mes "^ff0000[Job Master]^000000";
+ mes "Do you want to change into a Clown?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 43;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+// Change to Gypsy
+ L_iDancer:
+ mes "^ff0000[Job Master]^000000";
+ mes "Do you want to change into a Gypsy?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 44;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+// Change to Assassin Cross
+ L_iAssassin:
+ mes "^ff0000[Job Master]^000000";
+ mes "Do you want to change into an Assassin Cross?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 36;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+// Change to Stalker
+ L_iRogue:
+ mes "^ff0000[Job Master]^000000";
+ mes "Do you want to change into a Stalker?";
+ menu "No",L_quit,"Yes",-;
+ jobchange 41;
+ if(@GivePlat) goto L_GivePlat;
+ close;
+// Giving Platinum Skills
+ L_GivePlat:
+ if (BaseJob==Job_SuperNovice) goto L_sSuperN;
+ if ((Class==Job_Swordman) || (Class==7) || (Class==13) || (Class==14)|| (Class==21) || (Class==4002) || (Class==4008)) goto L_sSword;
+ if ((Class==Job_Mage) || (Class==9) || (Class==16) || (Class==4003) || (Class==4010) || (Class==4017)) goto L_sMage;
+ if ((Class==Job_Archer) || (Class==11) || (Class==19) || (Class==20) || (Class==4004) || (Class==4012) || (Class==4020) || (Class==4021)) goto L_sArcher;
+ if ((Class==Job_Acolyte) || (Class==8) || (Class==15) || (Class==50) || (Class==54) || (Class==61) || (Class==4005) || (Class==4009) || (Class==4016)) goto L_sAcolyte;
+ if ((Class==Job_Merchant) || (Class==10) || (Class==18) || (Class==51) || (Class==56) || (Class==64) || (Class==4006) || (Class==4011) || (Class==4019)) goto L_sMerchant;
+ if ((Class==Job_Thief) || (Class==12) || (Class==17) || (Class==52) || (Class==58) || (Class==63) || (Class==4007) || (Class==4013) || (Class==4018)) goto L_sThief;
+ L_sSuperN:
+ skill 142,1,0;
+ close;
+ L_sSword:
+ skill 142,1,0;
+ skill 144,1,0;
+ skill 145,1,0;
+ skill 146,1,0;
+ L_sMage:
+ skill 142,1,0;
+ skill 157,1,0;
+ close;
+ L_sArcher:
+ skill 142,1,0;
+ skill 147,1,0;
+ skill 148,1,0;
+ close;
+ L_sAcolyte:
+ skill 142,1,0;
+ skill 156,1,0;
+ close;
+ L_sMerchant:
+ skill 142,1,0;
+ skill 153,1,0;
+ skill 154,1,0;
+ skill 155,1,0;
+ close;
+ L_sThief:
+ skill 142,1,0;
+ skill 149,1,0;
+ skill 150,1,0;
+ skill 151,1,0;
+ skill 152,1,0;
+ close;
+ L_quit:
+ close;
+// Errors
+ L_cantCh:
+ mes "^ff0000[Job Master]^000000";
+ mes "I'm sorry, you do not meet the requirements to change";
+ mes "Please come again soon!";
+ close;
+ L_skillUsed:
+ mes "^ff0000[Job Master]^000000";
+ mes "I'm sorry, please use up all your skill points before changing jobs";
+ mes "Please come again soon!";
+ close;
+ L_notEn:
+ mes "^ff0000[Job Master]^000000";
+ mes "I'm sorry, you do not seem to have enough Job Levels";
+ mes "Please come again soon!";
+ close;
+ L_notSup:
+ mes "^ff0000[Job Master]^000000";
+ mes "I'm sorry, you do not seem to have enough Base Levels";
+ mes "Please come again soon!";
+ close;
+ L_remove:
+ mes "^ff0000[Job Master]^000000";
+ mes "Please remove your cart,falcon or peco";
+ mes "Please come again soon!";
+ close;
+}
+// ------------------------------ End -------------------
diff --git a/npc/custom/jobs/old/jobchange.txt b/npc/custom/jobs/old/jobchange.txt
new file mode 100644
index 000000000..d1921a3b8
--- /dev/null
+++ b/npc/custom/jobs/old/jobchange.txt
@@ -0,0 +1,734 @@
+//===== eAthena Script =======================================
+//= Jobchanger Script
+//===== By: ==================================================
+//= eAthena Scripting Team
+//===== Current Version: =====================================
+//= 2.1
+//===== Compatible With: =====================================
+//= Athena Version RC1+
+//===== Description: =========================================
+//= Changes to every class ingame.
+//= Making sure they become the right class.
+//===== Additional Comments: =================================
+//Added missing param into resetlevel [Lupus]
+//Remade Adv. Classes Menu. [shadowlady]
+//Fixed some bugs, by midas
+//Fixed Mounted Class bugs and Baby Class bugs [Zoc]
+//============================================================
+
+prontera.gat,160,186,6 script Job Changer 94,{
+cutin "kafra_01",2;
+mes "[ ^0065DFJobra^000000 ]";
+mes "Sup? I'm the insanely cool and uber cute jobchanger thingy for eAthena! First of all, what class would you like to change into (must meet preliminary requirements for each class..)?";
+next;
+menu "First Class",LFirstClass,"Second Class (2-1)",LSecondClass,"Alternate Second Class (2-2)",LSecondClass2,"Novice High",LNovice2,"Advance First Class",Llevelcheck,"Advance Second Class",Llevelcheck,"Super Novice",LSuperNovice;
+LNovice2:
+ if ((readparam(11) >= 99) && (readparam(55) >= 50) || ((readparam(19) > 20) && (readparam(19) != 23))) goto Lchange;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Ummmm, excuse me... o.O...";
+ mes "Hey! You don't MEET the class requirements...";
+ mes "You're not ready! Get away, punk! *rolls eyes*";
+ mes "Only the bravest and highest level 2nd Classes and Alternate 2nd Classes can change into the Novice High... jeeze.";
+ cutin "kafra_01",255;
+ close;
+
+Lchange:
+ if (((readparam(19) >= 46) && (readparam(19) <= 68)) || ((readparam(19) >= 4023) && (readparam(19) <= 4045))) goto Babynochange;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "We shall start the ceremony....";
+ next;
+ if(oldclass > 0) goto Llevelcheck;
+ set oldclass, readparam(19);
+ jobchange 24;
+ resetlvl(1);
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "You have been reborn...";
+ cutin "kafra_01",255;
+ close;
+
+Babynochange:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Sorry little one, baby classes can't change to Novice High. They would loose their cuteness and their parents won't allow it.";
+ cutin "kafra_01",255;
+ close;
+
+Llevelcheck:
+ if(readparam(55) >= 45 || readparam(19) == 4001 && readparam(55) >= 10) goto Ladvclasses;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "You need a higher level to change...";
+ cutin "kafra_01",255;
+ close;
+
+Ladvclasses:
+ if(SkillPoint != 0) goto Lskillpt;
+//Lord Knight & Paladin
+ if(oldclass == 7 && readparam(19) == 4001 || oldclass == 13 && readparam(19) == 4001 || oldclass == 14 &&
+readparam(19) == 4001 || oldclass == 21 && readparam(19) == 4001) goto Lswordsmanhigh;
+ if(readparam(19) == 4002 && oldclass == 7 || readparam(19) == 4002 && oldclass == 13) goto Llordknight;
+ if(readparam(19) == 4002 && oldclass == 14 || readparam(19) == 4002 && oldclass == 21) goto Lpaladin;
+//Assassin Cross & Stalker
+ if(oldclass == 12 && readparam(19) == 4001 || oldclass == 17 && readparam(19) == 4001) goto Lthiefhigh;
+ if(readparam(19) == 4007 && oldclass == 12) goto Lassassincross;
+ if(readparam(19) == 4007 && oldclass == 17) goto Lstalker;
+//High Priest & Champion
+ if(oldclass == 8 && readparam(19) == 4001 || oldclass == 15 && readparam(19) == 4001) goto Lacolytehigh;
+ if(readparam(19) == 4005 && oldclass == 8) goto Lhighpriest;
+ if(readparam(19) == 4005 && oldclass == 15) goto Lchampion;
+//Sniper & Clown & Gypsy
+ if(oldclass == 11 && readparam(19) == 4001 || oldclass == 19 && readparam(19) == 4001 || oldclass == 20 && readparam(19) == 4001) goto Larcherhigh;
+ if(readparam(19) == 4004 && oldclass == 11) goto Lsniper;
+ if(readparam(19) == 4004 && oldclass == 19) goto Lclown;
+ if(readparam(19) == 4004 && oldclass == 20) goto Lgypsy;
+//Whitesmith & Creator
+ if(oldclass == 10 && readparam(19) == 4001 || oldclass == 18 && readparam(19) == 4001) goto Lmerchanthigh;
+ if(readparam(19) == 4006 && oldclass == 10) goto Lwhitesmith;
+ if(readparam(19) == 4006 && oldclass == 18) goto Lcreator;
+//High Wizard & Professor
+ if(oldclass == 9 && readparam(19) == 4001 || oldclass == 16 && readparam(19) == 4001) goto Lhighmage;
+ if(readparam(19) == 4003 && oldclass == 9) goto Lhighwizard;
+ if(readparam(19) == 4003 && oldclass == 16) goto Lprofessor;
+ if ( oldclass == 0 && readparam(19) >= 4001) goto Nooldclasset;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Please... Remove your cart, leave your falcon and get off your peco before you change.";
+ mes "[" + readparam(19) + "] [" + oldclass + "]";
+ cutin "kafra_01",255;
+ close;
+//Lord Knight & Paladin
+ Nooldclasset:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Say, what were you before you were reborn?";
+ if (readparam(19) == 4001) goto Ishnov;
+ if (readparam(19) == 4002) goto Ishsword;
+ if (readparam(19) == 4003) goto Ishmage;
+ if (readparam(19) == 4004 && Sex == 0) goto Isharcherf;
+ if (readparam(19) == 4004 && Sex == 1) goto Isharcherm;
+ if (readparam(19) == 4005) goto Ishacco;
+ if (readparam(19) == 4006) goto Ishmerch;
+ if (readparam(19) == 4002) goto Ishthief;
+
+ Ishnov:
+ menu "Knight",Wasknight,"Priest",Waspriest,"Wizard",Waswizard,"Blacksmith",Wasblacksmith,"Hunter",Washunter,"Assasin",Wasassa,"Crusader",Wascrusader,"Monk",Wasmonk,"Sage",Wassage,"Rogue",Wasrogue,"Alchemist",Wasalche,"Bard",Wasbard,"Dancer",Wasdancer;
+ Ishsword:
+ menu "Knight",Wasknight,"Crusader",Wascrusader;
+ Ishmage:
+ menu "Wizard",Waswizard,"Sage",Wassage;
+ Isharcherf:
+ menu "Hunter",Washunter,"Dancer",Wasdancer;
+ Isharcherm:
+ menu "Hunter",Washunter,"Bard",Wasbard;
+ Ishacco:
+ menu "Priest",Waspriest,"Monk",Wasmonk;
+ Ishmerch:
+ menu "Blacksmith",Wasblacksmith,"Alchemist",Wasalche;
+ Ishthief:
+ menu "Assasin",Wasassa,"Rogue",Wasrogue;
+// now finally the setting of oldclass
+ Wasknight:
+ set oldclass,7;
+ goto Ladvclasses;
+ Waspriest:
+ set oldclass,8;
+ goto Ladvclasses;
+ Waswizard:
+ set oldclass,9;
+ goto Ladvclasses;
+ Wasblacksmith:
+ set oldclass,10;
+ goto Ladvclasses;
+ Washunter:
+ set oldclass,11;
+ goto Ladvclasses;
+ Wasassa:
+ set oldclass,12;
+ goto Ladvclasses;
+ Wascrusader:
+ set oldclass,14;
+ goto Ladvclasses;
+ Wasmonk:
+ set oldclass,15;
+ goto Ladvclasses;
+ Wassage:
+ set oldclass,16;
+ goto Ladvclasses;
+ Wasrogue:
+ set oldclass,17;
+ goto Ladvclasses;
+ Wasalche:
+ set oldclass,18;
+ goto Ladvclasses;
+ Wasbard:
+ set oldclass,19;
+ goto Ladvclasses;
+ Wasdancer:
+ set oldclass,20;
+ goto Ladvclasses;
+
+//Lord Knight & Paladin
+Lswordsmanhigh:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Wow, fantastic! Doesn't all that hard work feel like its paid off? *kekeke* I see the ^B70004BLOOD of Porings^000000 on your hands! You truly are fit for the ^0005CESwordsman^000000 job! ^_^";
+ cutin "kafra_01",255;
+ jobchange 4002;
+ close;
+
+Llordknight:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "w00t w00t! You are Job Level 40, you've been a Swordie High all your life...";
+ mes "Alrite, you are ready to become the doer of Justice, the embodiment of Heroism, the very soul and life of Valor! ";
+ mes "...";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Yes! You are ready to become... a Lord Knight! ";
+ mes "Go save a Damsel in Distress or something..";
+ cutin "kafra_01",255;
+ jobchange 4008;
+ close;
+
+Lpaladin:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Mmmmm, I always liked Paladins.. their broad shoulders always turned me on....";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Go Forth On Your Mission To Serve God";
+ mes "This Mission is Free of Charge";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "That means your not getting paid dumbass!";
+ emotion 29;
+ cutin "kafra_01",255;
+ jobchange 38;
+ close;
+//Assassin Cross & Stalker
+Lthiefhigh:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Those devious hand of yours really look like they need to grab something (no comment)..... go forth and steal!!";
+ cutin "kafra_01",255;
+ jobchange 4007;
+ close;
+
+Lassassincross:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Poof! Kekeke... ";
+ cutin "kafra_01",255;
+ jobchange 4013;
+ close;
+
+Lstalker:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Hmf.";
+ mes "How goes the stalking lately?";
+ mes "Found Any New Victims?";
+ cutin "kafra_01",255;
+ jobchange 41;
+ close;
+//High Priest & Champion
+Lacolytehigh:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Yay.. go read a Bible.. or whatever.. er..yeah";
+ cutin "kafra_01",255;
+ jobchange 4005;
+ close;
+
+Lhighpriest:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "I bet you are GODDAMNED TIRED of NOT having Sp Recovery, right? Well I am tired of hearing little Jesus-Hugging Acolytes scream this every time they're low on Sp... ";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Yay! You've now reached Priesthood! It's sorta like Manhood.. but not really, see with Manhood, you get this little thingy between your legs.. WHOOPs, I am getting so off topic..";
+ cutin "kafra_01",255;
+ jobchange 4009;
+ close;
+
+Lchampion:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "You are the Champion of the Weak and Poor.";
+ mes "Wow it must suck being you ^_^!!!";
+ cutin "kafra_01",255;
+ jobchange 39;
+ close;
+
+//Sniper & Clown & Gypsy
+Larcherhigh:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "I used to poke things with a stick when I was a child..";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "I guess you're like me! You hurl pointed sticks at things! Kekeke...";
+ cutin "kafra_01",255;
+ jobchange 4004;
+ close;
+
+Lsniper:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Oh goodie, you've met all the requirements... did you have fun hurling pointed sticks at monsters? Well guess what?";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Now you can hurl pointed sticks at monsters AND keep them in one place! w00t, yea! Traps are a great thing...";
+ jobchange 35;// Job: Job_Sniper
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "You know what... since I'm just soooo nice... (as long as you dont piss me off *grumble grumble*)";
+ mes "I'm gonna give you a complimentary falcon! Use it well! Oh.. and you might wanna wear a hat, this falcon sometimes, uh... poops..";
+ cutin "kafra_01",255;
+ setfalcon;
+ jobchange 4012;
+ close;
+Lclown:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "What an amusing fellow.";
+ mes "Yay! Go play some ballads for some Dancers or something, I just can't stand your clothes... ewww.";
+ cutin "kafra_01",255;
+ jobchange 43;
+ next;
+Lgypsy:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Uh-huh, swivel those hips girl! Gypsies are sooo sexy.. too bad I'm stuck in this ugly Kafra dress.. blah, if only I could strip down to a little thong too... *sigh*";
+ cutin "kafra_01",255;
+ jobchange 44;
+ close;
+
+//Whitesmith & Creator
+Lmerchanthigh:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Oh yeah, Mr. Moneybags, SOMEBODY here just loves the sound of coins jinglin'...";
+ mes "Well its not me!.. >_>..... <_<... bah.. ";
+ cutin "kafra_01",255;
+ jobchange 4006;
+ close;
+
+Lwhitesmith:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Oooo~~ Goodie goodie gumdrops! You meet all the requirements! Guess what I'm gonna do ^_^...";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "YUP! You guessed it! I turned you into a Whitesmith! Aren't you PROUD of yourself... Go and make a few weapons! Open up shops across the nation! Yea yea yea! Go go go! w00t! Ho yeah! ";
+ cutin "kafra_01",255;
+ jobchange 4011;
+ close;
+Lcreator:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Create potions for the brave heros of Rune-Midgart";
+ cutin "kafra_01",255;
+ jobchange 42;
+ close;
+//High Wizard & Professor
+Lhighmage:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Nice, now you can finally wield the power of ^2200DFM^7600F9A^AF00FBN^DA00DFA^000000, your spiritual energy!!!";
+ cutin "kafra_01",255;
+ jobchange 4003;
+ close;
+
+Lhighwizard:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Weeee, doesn't it feel great to finally become a High Wizard? It's like a warm bath.... ahhhhhhh......";
+ cutin "kafra_01",255;
+ jobchange 4010;
+ close;
+
+Lprofessor:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Time for you to teach your first quantum physics class";
+ cutin "kafra_01",255;
+ jobchange 40;
+ close;
+
+LFirstClass:
+ if(class != 0) goto Lnovice;
+ if(joblevel<10) goto Ljobten;
+ if(SkillPoint != 0) goto Lskillpt;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "So... getting your first job, eh? Thats cool, we all need to grow up sometime I guess...";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Pick a job, any job! Bwahaha.........";
+ menu "Swordsman",LSword,"Mage",LMage,"Thief",LThief,"Merchant",LMerc,"Acolyte",LAco,"Archer",LArch,"Cancel",LCancel;
+
+Lnovice:
+ cutin "kafra_01",255;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Ummmm, excuse me... o.O...";
+ mes "You don't LOOK like a novice...";
+ mes "Hey! You're no novice! Get away, punk!";
+ mes "*rolls eyes*";
+ mes "Only NOVICES can change into the First Job... jeeze.";
+ cutin "kafra_01",255;
+ close;
+
+Lskillpt:
+ cutin "kafra_01",255;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Please use up all your skill points before changing into the next job! ";
+ cutin "kafra_01",255;
+ close;
+
+Ljobten:
+ cutin "kafra_01",255;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Ugh, you need to have at least a Job Level of 10 before changing into the first class... go kill some porings or something.. >.>'";
+ cutin "kafra_01",255;
+ close;
+
+LSword:
+ cutin "kafra_01",255;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Wow, fantastic! Doesn't all that hard work feel like its paid off? *kekeke* I see the ^B70004BLOOD of Porings^000000 on your hands! You truly are fit for the ^0005CESwordsman^000000 job! ^_^";
+ cutin "kafra_01",255;
+ jobchange 1;// Job: Job_Swordman
+ close;
+
+LMage:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Nice, now you can finally wield the power of ^2200DFM^7600F9A^AF00FBN^DA00DFA^000000, your spiritual energy!!!";
+ cutin "kafra_01",255;
+ jobchange 2;// Job: Job_Mage
+ close;
+
+LThief:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Those devious hand of yours really look like they need to grab something (no comment)..... go forth and steal!!";
+ cutin "kafra_01",255;
+ jobchange 6;// Job: Job_Thief
+ close;
+
+LMerc:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Oh yeah, Mr. Moneybags, SOMEBODY here just loves the sound of coins jinglin'...";
+ mes "Well its not me!.. >_>..... <_<... bah.. ";
+ cutin "kafra_01",255;
+ jobchange 5;// Job: Job_Merchant
+ close;
+
+LAco:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Yay.. go read a Bible.. or whatever.. er..yeah";
+ cutin "kafra_01",255;
+ jobchange 4;// Job: Job_Acolyte
+ close;
+
+LArch:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "I used to poke things with a stick when I was a child..";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "I guess you're like me! You hurl pointed sticks at things! Kekeke...";
+ cutin "kafra_01",255;
+ jobchange 3;// Job: Job_Archer
+ close;
+
+LSecondClass:
+ if(SkillPoint != 0) goto Lskillpt;
+ if(joblevel<40) goto Ljobforty;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Nice... you are ready to change into the Second Job! Things get really fun after this!";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "What would you like to be? (Please be the preliminary job)";
+ menu "Knight",LKnight,"Wizard",LWizard,"Hunter",LHunter,"Blacksmith",LBlacksmith,"Assassin",LAssassin,"Priest",LPriest,"Cancel",LCancel;
+
+ Ljobforty:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "You must be at least Job Level 40 before even thinking about changing into the Second Job.";
+ cutin "kafra_01",255;
+ close;
+
+ LKnight:
+ if(class !=1) goto LNotSword;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "w00t w00t! You are Job Level 40, you've been a Swordie all your life...";
+ mes "Alrite, you are ready to become the doer of Justice, the embodiment of Heroism, the very soul and life of Valor! ";
+ mes "...";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Yes! You are ready to become... a Knight! ";
+ mes "Go save a Damsel in Distress or something..";
+ jobchange 7;// Job: Job_Knight
+ cutin "kafra_01",255;
+ close;
+
+
+ LNotSword:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Well... you see, there's a little, teensy-weensy problem with YOU becoming a Knight.";
+ mes "Please be a Swordman before even thinking about 'magically' turning into a Knight... jeeze. *rolls eyes*";
+ cutin "kafra_01",255;
+ close;
+
+ LHunter:
+ if(class !=3) goto LNotArcher;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Oh goodie, you've met all the requirements... did you have fun hurling pointed sticks at monsters? Well guess what?";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Now you can hurl pointed sticks at monsters AND keep them in one place! w00t, yea! Traps are a great thing...";
+ jobchange 11;// Job: Job_Hunter
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "You know what... since I'm just soooo nice... (as long as you dont piss me off *grumble grumble*)";
+ mes "I'm gonna give you a complimentary falcon! Use it well! Oh.. and you might wanna wear a hat, this falcon sometimes, uh... poops..";
+ cutin "kafra_01",255;
+ setfalcon;
+ close;
+
+ LNotArcher:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Guess what?";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "YOU'RE NOT AN ARCHER >_<....";
+ mes "WTF?! Do you really think you can magically turn into a Hunter!? I DONT THINK SO BIYATCH!!! >8-(...";
+ mes "Go away! *grumble grumble*";
+ cutin "kafra_01",255;
+ close;
+
+ LBlacksmith:
+ mes "[ ^0065DFJobra^000000 ]";
+ if(class !=5) goto LNotMerc;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Oooo~~ Goodie goodie gumdrops! You meet allll the requirements! Guess what I'm gonna do ^_^...";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "YUP! You guessed it! I turned you into a Blacksmith! Aren't you PROUD of yourself... Go and make a few weapons! Open up shops across the nation! Yea yea yea! Go go go! w00t! Ho yeah! ";
+ cutin "kafra_01",255;
+ jobchange 10;// Job: Job_Blacksmith
+ close;
+
+ LNotMerc:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "No, uh-uh, you are no Merchant! Go away! Only MERCHANTS can change into Blacksmiths!!";
+ mes "Its like the cycle of life or something! Stop trying to disrupt the order of the universe >_<!!";
+ cutin "kafra_01",255;
+ close;
+
+ LAssassin:
+ if(class !=6) goto LNotThief;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Did you know I used to be a male Assassin? Well, I had a few things done to my hair, got a face lift, some implants here and there...";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Oh my, too much information, right? Kekeke, okay, go off and become the most sinister of all Jobs in this world... ^6500BFAssassin...";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Poof! Kekeke... ";
+ jobchange 12;// Job: Job_Assassin
+ cutin "kafra_01",255;
+ close;
+
+ LNotThief:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes ".... You're not even a thief.. >_>... go away..";
+ cutin "kafra_01",255;
+ close;
+
+ LPriest:
+ if(class !=4) goto LNotAco;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "I bet you are GODDAMNED TIRED of NOT having Sp Recovery, right? Well I am tired of hearing little Jesus-Hugging Acolytes scream this every time they're low on Sp... ";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Yay! You've now reached Priesthood! It's sorta like Manhood.. but not really, see with Manhood, you get this little thingy between your legs.. WHOOPs, I am getting so off topic..";
+ jobchange 8;// Job: Job_Priest
+ cutin "kafra_01",255;
+ close;
+
+ LNotAco:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Okay I'm getting tired of this.. you are NOT an Acolyte... I bet you haven't even read the Bible ONCE! You're going to HELL!";
+ cutin "kafra_01",255;
+ close;
+
+ LWizard:
+ if(class !=2) goto LNotMage;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Weeee, doesn't it feel great to finally become a Wizard? It's like a warm bath.... ahhhhhhh......";
+ jobchange 9;// Job: Job_Wizard
+ cutin "kafra_01",255;
+ close;
+
+ LNotMage:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "I bet you've never cast a spell in your life.. go away >_>...";
+ cutin "kafra_01",255;
+ close;
+
+LSecondClass2:
+ if(SkillPoint != 0) goto Lskillpt;
+ if(joblevel<40) goto Ljobforty;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Wow, your ready to become second job already?!";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Very well then, what would you like to be?";
+ menu "Crusader",LCrusader,"Sage",LSage,"Bard / Dancer",LBardDancer,"Alchemist",LAlchemist,"Rogue",LRogue,"Monk",LMonk,"Cancel",LCancel;
+
+ LCrusader:
+ if(class !=1) goto LNotSword2;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Mmmmm, I always liked Crusaders.. their Broad Shoulders always turned me on....";
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Oooo~~~ yeah, thats it... yummy...";
+ jobchange 14;// Job: Job_Crusader
+ cutin "kafra_01",255;
+ close;
+
+ LNotSword2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Nuh-uh... you ain't no Swordman! Get out of here! Scat!";
+ mes ".......Everybody can't be a Crusader.";
+ cutin "kafra_01",255;
+ close;
+
+ LBardDancer:
+ if(sex==0) goto LDancer;
+ if(sex==1) goto LBard;
+
+ LBard:
+ if(class !=3) goto LNotArch3;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Yay! Go play some ballads for some Dancers or something, I just can't stand your clothes... ewww.";
+ jobchange 19;// Job: Job_Bard
+ cutin "kafra_01",255;
+ close;
+
+ LNotArch3:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Nope.. you got it wrong bub.. you gotta be an ARCHER before becoming a Bard..";
+ mes "Silly players.. just don't know when to stop...";
+ cutin "kafra_01",255;
+ close;
+
+ LDancer:
+ if(class !=3) goto LNotArch2;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Uh-huh, swivel those hips girl ^_~ Dancers are sooo sexy.. too bad I'm stuck in this ugly Kafra dress.. blah, if only I could strip down to a little thong too... *sigh*";
+ jobchange 20;// Job: Job_Dancer
+ cutin "kafra_01",255;
+ close;
+
+ LNotArch2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Nope.. you got it wrong girl.. you gotta be an ARCHER before becoming a Dancer..";
+ mes "Silly players.. just don't know when to stop...";
+ cutin "kafra_01",255;
+ close;
+
+ LAlchemist:
+ mes "[ ^0065DFJobra^000000 ]";
+ if(class !=5) goto LNotMerc2;
+ mes "Cool! Go make some potions! Open a Pharmacy! yeah yeah yeah! ^_^";
+ jobchange 18;// Job: Job_Alchem
+ cutin "kafra_01",255;
+ close;
+
+
+ LNotMerc2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Ummm... no, you gotta be a Merchant first...";
+ cutin "kafra_01",255;
+ close;
+
+ LRogue:
+ if(class !=6) goto LNotThief2;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Wow! ^_^ You.. are.. SOOOOO COOOL!! KYAAHH XD!! *drools*";
+ jobchange 17;// Job: Job_Rogue
+ cutin "kafra_01",255;
+ close;
+
+ LNotThief2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Look... you gotta be a THIEF before becoming a Rogue..";
+ mes "I know you think they are really cool.. but NO is NO!";
+ cutin "kafra_01",255;
+ close;
+
+ LMonk:
+ if(class !=4) goto LNotAco2;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Nice.... Monks are pretty darn cool!";
+ jobchange 15;// Job: Job_Monk
+ cutin "kafra_01",255;
+ close;
+
+ LNotAco2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Go read a Bible.. you're not an Acolyte.. and guess what?";
+ mes "YOU GOTTA BE A ACO BEFORE BECOMING A MONK!!! >_<";
+ cutin "kafra_01",255;
+ close;
+
+ LSage:
+ if(class !=2) goto LNotMage2;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Ahhhh, soo cool! I'll never get tired of seeing people turn into those new 2-2 sprites.. KYAHH XD!!";
+ mes "Go forth Sage! Show those wizzies what a real mana-wielder can do! Mwahaha...";
+ jobchange 16;// Job: Job_Sage
+ cutin "kafra_01",255;
+ close;
+
+ LNotMage2:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Other jobs except `Mage' are not permitted to be Sages.";
+ cutin "kafra_01",255;
+ close;
+
+LCancel:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Blah.. be that way.. >_>..";
+ cutin "kafra_01",255;
+ close;
+
+LSuperNovice:
+ if(Class == 23) goto L_Twice;
+ if(Class != 0) goto L_Otherjob;
+ if(JobLevel < 10) goto L_LowSkill;
+ if(BaseLevel < 45) goto L_LowLevel;
+ if(SkillPoint != 0) goto L_StillSk;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Hello, Novice!";
+ mes "Are you enjoying yourself as a novice, the preferred class of the common man?";
+ menu "Yes, I love Novices!",L_SNChange,"Ewww, Novices sucks...",LCancel;
+
+L_SNChange:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "We pride ourselves on our slogan 'Common Man, Common Goals, Common Dreams'!";
+ mes "Have fun with all those skills.";
+ cutin "kafra_01",255;
+ jobchange 23;
+ close;
+
+L_LowSkill:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Well...it seems your level is a little too common at the moment.";
+ mes "You need to have a class level of ^0000FFat least 9^000000 in order to become a Super Novice.";
+ cutin "kafra_01",255;
+ close;
+
+L_LowLevel:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Well...it seems your level is a little too common at the moment.";
+ mes "You need to have a primary level of ^0000FFat least 45^000000 in order to become a Super Novice.";
+ cutin "kafra_01",255;
+ close;
+
+L_StillSk:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Well...it seems you still have some skill points.";
+ mes "You need to have ^0000FFNO^000000 skill points left in order to change jobs.";
+ cutin "kafra_01",255;
+ close;
+
+L_Twice:
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "You are already a Super Novice...";
+ cutin "kafra_01",255;
+ close;
+
+L_Otherjob:
+ next;
+ mes "[ ^0065DFJobra^000000 ]";
+ mes "Such people don't have a place in Novice common society. I'm sorry.";
+ cutin "kafra_01",255;
+ close;
+}
diff --git a/npc/custom/jobs/reset.txt b/npc/custom/jobs/reset.txt
new file mode 100644
index 000000000..5caaf6ad2
--- /dev/null
+++ b/npc/custom/jobs/reset.txt
@@ -0,0 +1,40 @@
+//Reset NPC for Athena by Script&DB Team
+prontera.gat,150,193,4 script Reset Girl 124,{
+ mes "[Reset Girl]";
+ mes "I am a Reset Girl.";
+ mes "Reset Stats: 5,000z";
+ mes "Reset Skills: 5,000z";
+ mes "Reset Both: 9,000z";
+ next;
+ mes "Please select the service you want:";
+ menu "^FF3355Reset Skills",L0,"Reset Stats",L1,"Reset Both^000000",L2,"Quit",LEnd;
+
+ L0:
+ mes "[Reset Girl]";
+ if (Zeny < 5000) goto NeedZenys;
+ mes "Alright, here we go now.. Remember, changes won't take effect until you log back on!";
+ set Zeny,zeny-5000;
+ ResetSkill;
+ close;
+ L1:
+ mes "[Reset Girl]";
+ if (Zeny < 5000) goto NeedZenys;
+ mes "Alright, here we go now.. Remember, changes won't take effect until you log back on!";
+ set Zeny,zeny-5000;
+ ResetStatus;
+ close;
+ L2:
+ mes "[Reset Girl]";
+ if (Zeny < 9000) goto NeedZenys;
+ mes "Alright, here we go now.. Remember, changes won't take effect until you log back on!";
+ set Zeny,zeny-9000;
+ ResetSkill;
+ ResetStatus;
+ close;
+
+ NeedZenys:
+ mes "Sorry, you don't have enough Zeny.";
+ close;
+ LEnd:
+ close;
+} \ No newline at end of file
diff --git a/npc/custom/lottery.txt b/npc/custom/lottery.txt
new file mode 100644
index 000000000..218fb4feb
--- /dev/null
+++ b/npc/custom/lottery.txt
@@ -0,0 +1,457 @@
+//===== eAthena Script =======================================
+//= Lottery Script
+//===== By: ==================================================
+//= acky - god@acky.com
+//===== Current Version: =====================================
+//= 1.2.1a
+//===== Compatible With: =====================================
+//= Any eAthena Version
+//===== Description: =========================================
+//= Daily lottery draw.
+//===== Additional Comments: =================================
+//= Numbers drawn daily (Time is configured line 29)
+//= *Added GM-Riggability
+//= *Ability to renew ticket
+//= *Improved interface
+//= *Fixed minor bug where first load didn't work.
+//= 1.2.1a fix due to new script engine
+//============================================================
+
+prontera.gat,1,1,1 script lotterygenerator 111,{
+OnInit:
+set $L_TicketPrice,4750; // TICKET COST
+set $L_Prize_Money,5000000; // JACKPOT AMOUNT
+set $L_Prize_Money_Small,1000000; // SECONDARY PRIZE
+if ($LID == 0) goto L_GenID;
+end;
+
+//Modify for own time
+OnClock2045:
+// CHECKS IF LOTTERY IS RIGGED
+if ($L_Rigged == 1) goto L_Rigged_Draw;
+// GENERATES RANDOM NUMBERS 1-40
+Pick1:
+set $LW1,rand (1,40);
+
+Pick2:
+set $LW2,rand (1,40);
+if ($LW2 == $LW1) goto Pick2;
+
+Pick3:
+set $LW3,rand (1,40);
+if ($LW3 == $LW2) goto Pick3;
+if ($LW3 == $LW1) goto Pick3;
+
+Pick4:
+set $LW4,rand (1,40);
+if ($LW4 == $LW2) goto Pick4;
+if ($LW4 == $LW1) goto Pick4;
+if ($LW4 == $LW3) goto Pick4;
+
+Pick5:
+set $LW5,rand (1,40);
+if ($LW5 == $LW1) goto Pick5;
+if ($LW5 == $LW2) goto Pick5;
+if ($LW5 == $LW3) goto Pick5;
+if ($LW5 == $LW4) goto Pick5;
+
+Pick6:
+set $LW6,rand (1,40);
+if ($LW6 == $LW1) goto Pick6;
+if ($LW6 == $LW2) goto Pick6;
+if ($LW6 == $LW3) goto Pick6;
+if ($LW6 == $LW4) goto Pick6;
+if ($LW6 == $LW5) goto Pick6;
+
+// BROADCASTS DRAW
+L_Broadcast:
+Announce "Lottery: Welcome to tonight's lotto draw!",8;
+Announce "The numbers are as follows: [" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]",8;
+Announce "Congratulations to the winners of tonight!",8;
+
+// GENERATES DRAW ID CODE
+L_GenID:
+set $LID2,$LID;
+// SETS TOMORROW'S ID NUMBER
+set $LID,rand (100000,999999);
+end;
+
+// SETS DRAW TO RIGGED NUMBERS
+L_Rigged_Draw:
+set $LW1,$LR1;
+set $LW2,$LR2;
+set $LW3,$LR3;
+set $LW4,$LR4;
+set $LW5,$LR5;
+set $LW6,$LR6;
+set $L_Rigged,0;
+goto L_Broadcast;
+}
+
+// BEGIN LOTTERY SCRIPT
+- script lottery 76,{
+L_Begin:
+mes "[Lottery]";
+mes "Winning Lotto Numbers ("+$LID2+"):";
+mes "^0000FF[" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]^000000";
+if ($LID > 99999) mes "Your Ticket ("+#LID+"):";
+if ($LID > 99999) mes "^FF0000[" + #LW1 + "] [" + #LW2 + "] [" + #LW3 + "] [" + #LW4 + "] [" + #LW5 + "] [" + #LW6 + "]^000000";
+mes "Next Draw-ID: ^FF0000" + $LID + "^000000.";
+next;
+if (getgmlevel(3) > 90) goto L_GM;
+menu "Claim Prize",L_Claim,"Buy New Ticket",L_Buy,"Cancel",L_Cancel;
+
+// PURCHASE TICKET
+L_Buy:
+if (#LID == $LID && #L1 != 0) goto L_DoubleTicket;
+mes "[Lottery]";
+mes "Tickets cost ^0000FF" + $L_TicketPrice + "z^000000.";
+mes "The Jackpot is ^FF0000" + $L_Prize_Money + "z^000000.";
+next;
+menu "Buy Ticket",-,"Cancel",L_Cancel;
+if (zeny < $L_TicketPrice) goto L_NoZeny;
+set zeny,zeny-$L_TicketPrice;
+mes "[Lottery]";
+mes "Would you like your numbers hand picked or computer generated?";
+next;
+menu "Computer Generated",L_ComputerGen,"Hand Picked",L_HandPick,"Renew Ticket",L_Renew;
+
+// RENEW LAST TICKET
+L_Renew:
+if ($LID < 99999) goto L_Invalid;
+set #LID,$LID;
+goto L_Confirm2;
+
+L_ComputerGen:
+// SELECTS RANDOM NUMBERS
+set @L1,0;
+set @L2,0;
+set @L3,0;
+set @L4,0;
+set @L5,0;
+set @L6,0;
+Pick1:
+set @L1,rand (1,40);
+Pick2:
+set @L2,rand (1,40);
+if (@L2 == @L1) goto Pick2;
+Pick3:
+set @L3,rand (1,40);
+if (@L3 == @L2) goto Pick3;
+if (@L3 == @L1) goto Pick3;
+Pick4:
+set @L4,rand (1,40);
+if (@L4 == @L2) goto Pick4;
+if (@L4 == @L1) goto Pick4;
+if (@L4 == @L3) goto Pick4;
+Pick5:
+set @L5,rand (1,40);
+if (@L5 == @L1) goto Pick5;
+if (@L5 == @L2) goto Pick5;
+if (@L5 == @L3) goto Pick5;
+if (@L5 == @L4) goto Pick5;
+Pick6:
+set @L6,rand (1,40);
+if (@L6 == @L1) goto Pick6;
+if (@L6 == @L2) goto Pick6;
+if (@L6 == @L3) goto Pick6;
+if (@L6 == @L4) goto Pick6;
+if (@L6 == @L5) goto Pick6;
+mes "[Lottery]";
+mes "The computer has selected the following numbers:";
+mes "^0000FF" + @L1 + " " + @L2 + " " + @L3 + " " + @L4 + " " + @L5 + " " + @L6 + "^000000";
+next;
+menu "Confirm",L_Confirm,"Re-Generate",L_ComputerGen;
+
+// HAND PICK LOTTERY NUMBERS
+L_HandPick:
+mes "[Lottery]";
+mes "Please pick your numbers (1-40):";
+set @L1,0;
+set @L2,0;
+set @L3,0;
+set @L4,0;
+set @L5,0;
+set @L6,0;
+Input1:
+input @L1;
+if (@L1 < 1 || @L1 > 40) goto Input1;
+mes @L1;
+Input2:
+input @L2;
+if (@L2 < 1 || @L2 > 40) goto Input2;
+if (@L2 == @L1) goto Input2;
+mes @L2;
+Input3:
+input @L3;
+if (@L3 < 1 || @L3 > 40) goto Input3;
+if (@L3 == @L1) goto Input3;
+if (@L3 == @L2) goto Input3;
+mes @L3;
+Input4:
+input @L4;
+if (@L4 < 1 || @L4 > 40) goto Input4;
+if (@L4 == @L1) goto Input4;
+if (@L4 == @L2) goto Input4;
+if (@L4 == @L3) goto Input4;
+mes @L4;
+Input5:
+input @L5;
+if (@L5 < 1 || @L5 > 40) goto Input5;
+if (@L5 == @L1) goto Input5;
+if (@L5 == @L2) goto Input5;
+if (@L5 == @L3) goto Input5;
+if (@L5 == @L4) goto Input5;
+mes @L5;
+Input6:
+input @L6;
+if (@L6 < 1 || @L6 > 40) goto Input6;
+if (@L6 == @L1) goto Input6;
+if (@L6 == @L2) goto Input6;
+if (@L6 == @L3) goto Input6;
+if (@L6 == @L4) goto Input6;
+if (@L6 == @L5) goto Input6;
+mes @L6;
+next;
+mes "[Lottery]";
+mes "Your numbers are:";
+mes "^0000FF" + @L1 + " " + @L2 + " " + @L3 + " " + @L4 + " " + @L5 + " " + @L6 + "^000000";
+next;
+menu "Confirm",L_Confirm,"Re-Pick",L_HandPick;
+
+L_Confirm:
+set #LW1,@L1;
+set #LW2,@L2;
+set #LW3,@L3;
+set #LW4,@L4;
+set #LW5,@L5;
+set #LW6,@L6;
+set #LID,$LID;
+L_Confirm2:
+mes "[Lottery]";
+mes "The live broadcasted draw is at 9pm.";
+mes "You can claim your ticket between then and the next draw.";
+next;
+mes "[Lottery]";
+mes "Good luck!";
+close;
+
+L_Claim:
+// CHECKS TICKET VALIDILITY
+if (#LID != $LID2) goto L_Invalid;
+// CHECKS HOW MANY NUMBERS MATCHED
+set @LPrize,0;
+if (#LW1 == $LW1) set @LPrize,@LPrize+1;
+if (#LW1 == $LW2) set @LPrize,@LPrize+1;
+if (#LW1 == $LW3) set @LPrize,@LPrize+1;
+if (#LW1 == $LW4) set @LPrize,@LPrize+1;
+if (#LW1 == $LW5) set @LPrize,@LPrize+1;
+if (#LW1 == $LW6) set @LPrize,@LPrize+1;
+if (#LW2 == $LW1) set @LPrize,@LPrize+1;
+if (#LW2 == $LW2) set @LPrize,@LPrize+1;
+if (#LW2 == $LW3) set @LPrize,@LPrize+1;
+if (#LW2 == $LW4) set @LPrize,@LPrize+1;
+if (#LW2 == $LW5) set @LPrize,@LPrize+1;
+if (#LW2 == $LW6) set @LPrize,@LPrize+1;
+if (#LW3 == $LW1) set @LPrize,@LPrize+1;
+if (#LW3 == $LW2) set @LPrize,@LPrize+1;
+if (#LW3 == $LW3) set @LPrize,@LPrize+1;
+if (#LW3 == $LW4) set @LPrize,@LPrize+1;
+if (#LW3 == $LW5) set @LPrize,@LPrize+1;
+if (#LW3 == $LW6) set @LPrize,@LPrize+1;
+if (#LW4 == $LW1) set @LPrize,@LPrize+1;
+if (#LW4 == $LW2) set @LPrize,@LPrize+1;
+if (#LW4 == $LW3) set @LPrize,@LPrize+1;
+if (#LW4 == $LW4) set @LPrize,@LPrize+1;
+if (#LW4 == $LW5) set @LPrize,@LPrize+1;
+if (#LW4 == $LW6) set @LPrize,@LPrize+1;
+if (#LW5 == $LW1) set @LPrize,@LPrize+1;
+if (#LW5 == $LW2) set @LPrize,@LPrize+1;
+if (#LW5 == $LW3) set @LPrize,@LPrize+1;
+if (#LW5 == $LW4) set @LPrize,@LPrize+1;
+if (#LW5 == $LW5) set @LPrize,@LPrize+1;
+if (#LW5 == $LW6) set @LPrize,@LPrize+1;
+if (#LW6 == $LW1) set @LPrize,@LPrize+1;
+if (#LW6 == $LW2) set @LPrize,@LPrize+1;
+if (#LW6 == $LW3) set @LPrize,@LPrize+1;
+if (#LW6 == $LW4) set @LPrize,@LPrize+1;
+if (#LW6 == $LW5) set @LPrize,@LPrize+1;
+if (#LW6 == $LW6) set @LPrize,@LPrize+1;
+
+if (@LPrize == 6) goto LWinBig;
+if (@LPrize > 3 && @LPrize < 6) goto LWinSmall;
+
+// NO WINNER
+mes "[Lottery]";
+mes "Bad luck, it appears you do not hold a winning ticket.";
+next;
+mes "[Lottery]";
+mes "Better luck next time!.";
+close;
+
+// MATCHED ALL SIX
+LWinBig:
+mes "[Lottery]";
+mes "You have matched all six numbers!";
+mes "Jackpot!";
+mes "You've won ^0000FF" + $L_Prize_Money + "z^000000.";
+set zeny,zeny+$L_Prize_Money;
+Announce "Lottery: " + strcharinfo(0) + " has won the JACKPOT of " + $L_Prize_Money + "z!",8;
+set #LID,0;
+close;
+
+// MATCHED AT LEAST 4
+LWinSmall:
+mes "[Lottery]";
+mes "You have matched at least 4 numbers!";
+mes "You've won ^0000FF" + $L_Prize_Money_Small + "z^000000.";
+set zeny,zeny+$L_Prize_Money_Small;
+Announce "Lottery: " + strcharinfo(0) + " has won a prize of " + $L_Prize_Money_Small + "z!",8;
+set #LID,0;
+close;
+
+// NO ZENY
+L_NoZeny:
+mes "[Lottery]";
+mes "You can't afford a lottery ticket.";
+close;
+
+// INVALID TICKET
+L_Invalid:
+mes "[Lottery]";
+mes "I'm sorry but it appears that you have an invalid ticket.";
+close;
+
+// DOUBLE TICKET
+L_DoubleTicket:
+mes "[Lottery]";
+mes "It appears that you already have a ticket for today.";
+mes "You may only purchase one ticket per draw.";
+close;
+
+L_Cancel:
+mes "[Lottery]";
+mes "Come back soon!";
+close;
+
+// GM MENU (Lets you manually do draws)
+L_GM:
+menu "Claim Prize",L_Claim,"Buy New Ticket",L_Buy,"[GM]Do Draw Now",-,"[GM]Rig the Lottery",L_GM_Rig,"Cancel",L_Cancel;
+
+// CHECKS IF LOTTERY IS RIGGED
+if ($L_Rigged == 1) goto L_Rigged_Draw;
+// GENERATES RANDOM NUMBERS 1-40
+GMPick1:
+set $LW1,rand (1,40);
+
+GMPick2:
+set $LW2,rand (1,40);
+if ($LW2 == $LW1) goto GMPick2;
+
+GMPick3:
+set $LW3,rand (1,40);
+if ($LW3 == $LW2) goto GMPick3;
+if ($LW3 == $LW1) goto GMPick3;
+
+GMPick4:
+set $LW4,rand (1,40);
+if ($LW4 == $LW2) goto GMPick4;
+if ($LW4 == $LW1) goto GMPick4;
+if ($LW4 == $LW3) goto GMPick4;
+
+GMPick5:
+set $LW5,rand (1,40);
+if ($LW5 == $LW1) goto GMPick5;
+if ($LW5 == $LW2) goto GMPick5;
+if ($LW5 == $LW3) goto GMPick5;
+if ($LW5 == $LW4) goto GMPick5;
+
+GMPick6:
+set $LW6,rand (1,40);
+if ($LW6 == $LW1) goto GMPick6;
+if ($LW6 == $LW2) goto GMPick6;
+if ($LW6 == $LW3) goto GMPick6;
+if ($LW6 == $LW4) goto GMPick6;
+if ($LW6 == $LW5) goto GMPick6;
+
+// BROADCASTS DRAW
+L_Broadcast:
+Announce "Lottery: Welcome to the special GM's lotto draw!",8;
+Announce "The numbers are as follows: [" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]",8;
+Announce "Congratulations to the winners!",8;
+
+// GENERATES DRAW ID CODE
+L_GenID:
+set $LID2,$LID;
+// SETS TOMORROW'S ID NUMBER
+set $LID,rand (100000,999999);
+close;
+
+// SETS DRAW TO RIGGED NUMBERS
+L_Rigged_Draw:
+set $LW1,$LR1;
+set $LW2,$LR2;
+set $LW3,$LR3;
+set $LW4,$LR4;
+set $LW5,$LR5;
+set $LW6,$LR6;
+set $L_Rigged,0;
+goto L_Broadcast;
+
+// ALLOWS GM TO DO A RIGGED DRAW
+L_GM_Rig:
+mes "[Lottery]";
+mes "Please pick your numbers (1-40):";
+set $LR1,0;
+set $LR2,0;
+set $LR3,0;
+set $LR4,0;
+set $LR5,0;
+set $LR6,0;
+GMInput1:
+Input $LR1;
+if ($LR1 < 1 || $LR1 > 40) goto GMInput1;
+mes $LR1;
+GMInput2:
+Input $LR2;
+if ($LR2 < 1 || $LR2 > 40) goto GMInput2;
+if ($LR2 == $LR1) goto GMInput2;
+mes $LR2;
+GMInput3:
+Input $LR3;
+if ($LR3 < 1 || $LR3 > 40) goto GMInput3;
+if ($LR3 == $LR1) goto GMInput3;
+if ($LR3 == $LR2) goto GMInput3;
+mes $LR3;
+GMInput4:
+Input $LR4;
+if ($LR4 < 1 || $LR4 > 40) goto GMInput4;
+if ($LR4 == $LR1) goto GMInput4;
+if ($LR4 == $LR2) goto GMInput4;
+if ($LR4 == $LR3) goto GMInput4;
+mes $LR4;
+GMInput5:
+Input $LR5;
+if ($LR5 < 1 || $LR5 > 40) goto GMInput5;
+if ($LR5 == $LR1) goto GMInput5;
+if ($LR5 == $LR2) goto GMInput5;
+if ($LR5 == $LR3) goto GMInput5;
+if ($LR5 == $LR4) goto GMInput5;
+mes $LR5;
+GMInput6:
+Input $LR6;
+if ($LR6 < 1 || $LR6 > 40) goto GMInput6;
+if ($LR6 == $LR1) goto GMInput6;
+if ($LR6 == $LR2) goto GMInput6;
+if ($LR6 == $LR3) goto GMInput6;
+if ($LR6 == $LR4) goto GMInput6;
+if ($LR6 == $LR5) goto GMInput6;
+mes $LR6;
+next;
+mes "[Lottery]";
+mes "Lottery rigged for next draw.";
+set $L_Rigged,1;
+close;
+}
+
+prontera.gat,141,182,5 duplicate(lottery) Lottery 76 \ No newline at end of file
diff --git a/npc/custom/morroc_raceway.txt b/npc/custom/morroc_raceway.txt
new file mode 100644
index 000000000..910cdc592
--- /dev/null
+++ b/npc/custom/morroc_raceway.txt
@@ -0,0 +1,245 @@
+//===== eAthena Script =======================================
+//= Morroc Raceway Script
+//===== By: ==================================================
+//= acky (god@acky.com)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any eAthena Version
+//===== Description: =========================================
+//= Lets players race around Morroc (pvp_y_1-5.gat)
+//===== Additional Comments: =================================
+//= If there are more than 3 players, at least 3 people
+//= must finish before a new race can be started.
+//=
+//= If there are less than 3 players, at least 1 person
+//= must finish before a new race can be started.
+//=
+//= Removed permanent global variables
+//============================================================
+
+//Warps you into race way
+morocc.gat,166,105,6 script Race Girl 116,{
+mes "[Race Girl]";
+mes "Would you like to visit ^0000FFMorroc Raceway^000000?";
+next;
+menu "Yes",L_Warp,"No",-;
+mes "[Race Girl]";
+mes "Alright, talk to me again when you want to go.";
+close;
+
+L_Warp:
+warp "pvp_y_1-5.gat",165,256;
+close;
+}
+
+//Warps you out of raceway
+pvp_y_1-5.gat,169,265,5 script Race Girl 116,{
+mes "[Race Girl]";
+mes "Welcome to Morroc Raceway!";
+next;
+menu "Information",-,"Leave",L_Warp,"Cancel",L_Cancel;
+mes "[Race Girl]";
+mes "Someone must click on the Starter NPC to start the race.";
+next;
+mes "[Race Girl]";
+mes "Once the race is started, run around Morroc anti-clockwise.";
+next;
+mes "[Race Girl]";
+mes "You must reach all the checkpoints - No cheating!";
+close;
+
+L_Warp:
+warp "morocc.gat",165,101;
+
+L_Cancel:
+mes "[Race Girl]";
+mes "Come again soon!";
+close;
+}
+
+//Counts down and starts race
+pvp_y_1-5.gat,145,269,5 script Starter 733,{
+if ($@race != 0) goto L_Started;
+if ($@counting != 0) goto L_Started;
+if ($@racecount == 1) goto L_Started;
+L_Menu:
+mes "[Race Starter]";
+mes "Please stay on the Eastern side of me.";
+menu "Start Race",L_Count,"Cancel",-;
+close;
+
+ L_Count:
+ set $@counting,1;
+ mes "Counting down...";
+ addtimer 1000, "Starter::OnCount1000";
+ addtimer 2000, "Starter::OnCount2000";
+ addtimer 3000, "Starter::OnCount3000";
+ addtimer 4000, "Starter::OnCount4000";
+ announce strcharinfo(0) + "Started a countdown",1;
+ announce "Get ready to race!",1;
+ close;
+
+
+ OnCount1000:
+ announce "[3]",1;
+ end;
+
+ OnCount2000:
+ announce "[2]",1;
+ end;
+
+ OnCount3000:
+ announce "[1]",1;
+ end;
+
+ OnCount4000:
+ emotion 27;
+ specialeffect 267;
+ announce "[GO!]",1;
+ set $@race,1;
+ set $@position,0;
+ set $@counting,0;
+ set $@raceid,rand(100000,999999);
+ end;
+
+
+L_Started:
+if ((getmapusers("pvp_y_1-5.gat") < 3) && ($@position > 0)) goto L_Menu;
+if ($@position > 2) goto L_Menu;
+mes "[Starter]";
+mes "Race in progress";
+close;
+
+OnInit:
+set $@race,0;
+set $@position,0;
+set $@racecount,0;
+end;
+}
+
+//Checkpoint 1
+pvp_y_1-5.gat,144,262,5 script Check Point 1 111,0,5,{
+end;
+OnTouch:
+if (@raceid != $@raceid) goto L_Started;
+if (@race == 6) goto L_Finished;
+if ($@race == 1) goto L_Started;
+mes "The race has not started, please move back.";
+close;
+L_Started:
+set @race,1;
+set @raceid,$@raceid;
+end;
+L_Finished:
+mes "You have already completed the race.";
+close;
+}
+
+//Checkpoint 2
+pvp_y_1-5.gat,73,247,5 script Check Point 2 111,6,6,{
+end;
+OnTouch:
+if (@race != 1) goto L_Miss;
+set @race,2;
+announce "[" + strcharinfo(0) +"] has reached Checkpoint [1]",1;
+end;
+L_Miss:
+mes "You have missed a Checkpoint. Please go back.";
+close;
+}
+
+//Checkpoint 3
+pvp_y_1-5.gat,77,44,5 script Check Point 3 111,6,6,{
+end;
+OnTouch:
+if (@race != 2) goto L_Miss;
+set @race,3;
+announce "[" + strcharinfo(0) +"] has reached Checkpoint [2]",1;
+end;
+L_Miss:
+mes "You have missed a Checkpoint. Please go back.";
+close;
+}
+
+//Checkpoint 3
+pvp_y_1-5.gat,249,60,5 script Check Point 4 111,6,6,{
+end;
+OnTouch:
+if (@race != 3) goto L_Miss;
+set @race,4;
+announce "[" + strcharinfo(0) +"] has reached Checkpoint [3]",1;
+end;
+L_Miss:
+mes "You have missed a Checkpoint. Please go back.";
+close;
+}
+
+//Checkpoint 4
+pvp_y_1-5.gat,255,256,5 script Check Point 5 111,6,6,{
+end;
+OnTouch:
+if (@race != 4) goto L_Miss;
+set @race,5;
+announce "[" + strcharinfo(0) +"] has reached Checkpoint [4]",1;
+end;
+L_Miss:
+mes "You have missed a Checkpoint. Please go back.";
+close;
+}
+
+//Finish Line
+pvp_y_1-5.gat,174,244,5 script Finish Line 111,6,6,{
+end;
+OnTouch:
+if (@raceid != $@raceid) goto L_WrongRace;
+if (@race != 5) goto L_Miss;
+set @race,6;
+set $@position,$@position+1;
+announce "[" + strcharinfo(0) +"] has reached The Finish line! [Position: " + $@position + "]",1;
+end;
+L_Miss:
+mes "You have missed a Checkpoint. Please go back.";
+close;
+L_WrongRace:
+mes "You are not in this race.";
+close;
+}
+
+//Check Point Marker Flags
+pvp_y_1-5.gat,144,267,4 script Check Point 1 722,{
+end;
+}
+pvp_y_1-5.gat,144,257,4 script Check Point 1 722,{
+end;
+}
+pvp_y_1-5.gat,70,252,3 script Check Point 2 722,{
+end;
+}
+pvp_y_1-5.gat,77,243,3 script Check Point 2 722,{
+end;
+}
+pvp_y_1-5.gat,81,48,1 script Check Point 3 722,{
+end;
+}
+pvp_y_1-5.gat,72,40,1 script Check Point 3 722,{
+end;
+}
+pvp_y_1-5.gat,244,65,7 script Check Point 4 722,{
+end;
+}
+pvp_y_1-5.gat,252,57,7 script Check Point 4 722,{
+end;
+}
+pvp_y_1-5.gat,259,260,5 script Check Point 5 722,{
+end;
+}
+pvp_y_1-5.gat,251,252,5 script Check Point 5 722,{
+end;
+}
+pvp_y_1-5.gat,174,249,4 script Finish Line 722,{
+end;
+}
+pvp_y_1-5.gat,174,238,4 script Finish Line 722,{
+end;
+} \ No newline at end of file
diff --git a/npc/custom/mvm.txt b/npc/custom/mvm.txt
new file mode 100644
index 000000000..8059fcc30
--- /dev/null
+++ b/npc/custom/mvm.txt
@@ -0,0 +1,895 @@
+//===== eAthena Script =======================================
+//= Monster vs Monster
+//===== By: ==================================================
+//= acky - god@acky.com
+//===== Current Version: =====================================
+//= 1.1.2
+//===== Compatible With: =====================================
+//= eAthena SVN
+//===== Description: =========================================
+//= Players train monsters and battle other players.
+//= Experience can be earned and monsters upgraded.
+//===== Additional Comments: =================================
+//= To add monsters, add lines after the commends labled:
+//= '// #. ---Change to Add Monsters--- //'
+//= There are 6 steps to add a monster at the moment.
+//= Added Duel Room
+//= ---------------------------------------------------------
+//= Script is messy! Be careful!
+//= 1.1.2 Changed all gmcommand to atcommand as Poki#3 suggested. [Vicious]
+//============================================================
+
+// Entrance //
+prontera.gat,158,193,6 script Monster Arena 702,{
+mes "[Monster Arena]";
+mes "Would you like to enter the Monster Arena?";
+mes "Currently ^FF0000" + getmapusers("gon_test.gat") + "^000000 players";
+mes "^FF0000Note:^000000 Pecos, Falcons and Carts will be lost on entry.";
+L_Menu:
+next;
+menu "Enter",-,"Information",L_Info,"Cancel",L_Exit;
+
+set @marena,1;
+savepoint "gon_test.gat",56,99;
+set @battle,0;
+warp "gon_test.gat",57,99;
+close;
+
+L_Exit:
+mes "[Monster Arena]";
+mes "Come back any time.";
+close;
+
+L_Info:
+mes "[Monster Arena]";
+mes "You must purchase a pet from the Monster Tamer to start fighting.";
+next;
+mes "[Monster Arena]";
+mes "Then talk to the Usher and tell him you would like to compete.";
+next;
+mes "[Monster Arena]";
+mes "Talk to the referee to summon your monster.";
+mes "Once your monster has fought, you must talk to the Usher again and choose to spectate.";
+next;
+mes "[Monster Arena]";
+mes "Talk to the Monster Trainer, he will ask you to heal your pet.";
+next;
+mes "[Monster Arena]";
+mes "To do this, click the Nurse repearedly until it says your pet is healed.";
+next;
+mes "[Monster Arena]";
+mes "The more monsters you kill, the more exp you get and the quicker you can upgrade.";
+next;
+mes "[Monster Arena]";
+mes "The stronger your monster is, the longer it will take to summon again.";
+
+goto L_Menu;
+}
+
+// Monster Summon Function //
+function script monstersummon -1,{
+// 1. ---Change to Add Monsters--- //
+if (#monster == 10) summon strcharinfo(0) + "'s Poring",1002, "OnPoringKilled";
+if (#monster == 20) summon strcharinfo(0) + "'s Fabre",1007, "OnFaberKilled";
+if (#monster == 30) summon strcharinfo(0) + "'s Lunatic",1063, "OnLunaticKilled";
+if (#monster == 31) summon strcharinfo(0) + "'s Drops",1113, "OnDropsKilled";
+if (#monster == 32) summon strcharinfo(0) + "'s Picky",1049, "OnPickyKilled";
+if (#monster == 40) summon strcharinfo(0) + "'s ChonChon",1011, "OnChonChonKilled";
+if (#monster == 41) summon strcharinfo(0) + "'s Super Picky",1050, "OnSPickyKilled";
+if (#monster == 42) summon strcharinfo(0) + "'s Willow",1010, "OnWillowKilled";
+if (#monster == 50) summon strcharinfo(0) + "'s Roda Frog",1012, "OnRodaKilled";
+if (#monster == 51) summon strcharinfo(0) + "'s Condor",1009, "OnCondorKilled";
+if (#monster == 60) summon strcharinfo(0) + "'s Thief Bug Larva",1051, "OnThiefKilled";
+if (#monster == 70) summon strcharinfo(0) + "'s Savage Babe",1167, "OnSavageKilled";
+if (#monster == 80) summon strcharinfo(0) + "'s Familiar",1005, "OnFamiliarKilled";
+if (#monster == 81) summon strcharinfo(0) + "'s Hornet",1004, "OnHornetKilled";
+if (#monster == 90) summon strcharinfo(0) + "'s Desert Wolf Puppy",1107, "OnPuppyKilled";
+if (#monster == 91) summon strcharinfo(0) + "'s Spore",1014, "OnSporeKilled";
+if (#monster == 92) summon strcharinfo(0) + "'s Rocker",1052, "OnRockerKilled";
+if (#monster == 100) summon strcharinfo(0) + "'s Skeleton",1076, "OnSkeletonKilled";
+if (#monster == 101) summon strcharinfo(0) + "'s Plankton",1161, "OnPlanktonKilled";
+if (#monster == 102) summon strcharinfo(0) + "'s Antonio",1247, "OnAntonioKilled";
+if (#monster == 103) summon strcharinfo(0) + "'s Thief Bug Female",1017, "OnThiefFemaleKilled";
+close;
+}
+
+// Referee //
+- script monsterreferee 61,{
+if (@fighting == 1) end;
+if (@battle == 1) goto L_Start;
+end;
+
+L_Start:
+mes "[Referee]";
+mes "Your monster is:";
+
+// 2. ---Change to Add Monsters--- //
+if (#monster == 10) mes "Poring";
+if (#monster == 20) mes "Faber";
+if (#monster == 30) mes "Lunatic";
+if (#monster == 31) mes "Drops";
+if (#monster == 32) mes "Picky";
+if (#monster == 40) mes "ChonChon";
+if (#monster == 41) mes "Super Picky";
+if (#monster == 42) mes "Willow";
+if (#monster == 50) mes "Roda Frog";
+if (#monster == 51) mes "Condor";
+if (#monster == 60) mes "Thief Bug Larva";
+if (#monster == 70) mes "Savage Babe";
+if (#monster == 80) mes "Familiar";
+if (#monster == 81) mes "Hornet";
+if (#monster == 90) mes "Desert Wolf Puppy";
+if (#monster == 91) mes "Spore";
+if (#monster == 92) mes "Rocker";
+if (#monster == 100) mes "Skeleton";
+if (#monster == 101) mes "Plankton";
+if (#monster == 102) mes "Antonio";
+if (#monster == 103) mes "Thief Bug Female";
+
+mes "Would you like to fight?";
+next;
+menu "Fight",-,"Cancel",L_Exit;
+
+set @fighting,1;
+set #heal,1;
+set @special,rand (100); // Chance of special summon
+if (@special == 1) goto Special1;
+if (@special == 2) goto Special2;
+if (@special == 3) goto Special3;
+if (@special == 4) goto Special4;
+if (@special == 5) goto Special5;
+
+callfunc "monstersummon";
+close;
+
+// Special Summons //
+Special1:
+summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
+summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
+summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
+summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
+summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
+summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
+summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
+summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
+summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
+summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
+summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
+summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
+summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
+summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
+summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
+summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
+summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
+summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
+summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
+summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
+summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
+summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
+summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
+summon strcharinfo(0) + "'s Assault Team",1002, "OnPoringKilled";
+close;
+
+Special2:
+summon strcharinfo(0) + "'s Mastering",1090, "OnSpecialKilled";
+close;
+
+Special3:
+summon strcharinfo(0) + "'s Eclipse",1093, "OnSpecialKilled";
+close;
+
+Special4:
+summon strcharinfo(0) + "'s Dragon Fly",1091, "OnSpecialKilled";
+close;
+
+Special5:
+summon strcharinfo(0) + "'s Toad",1089, "OnSpecialKilled";
+close;
+
+L_Exit:
+mes "[Referee]";
+mes "Alright";
+close;
+}
+gon_test.gat,56,91,6 duplicate(monsterreferee) Referee 61
+
+
+// Usher //
+gon_test.gat,58,94,6 script Usher 86,{
+set @marena,1;
+mes "[Usher]";
+mes "What would you like to do?";
+next;
+menu "^0000FFSpectate",L_Spec,"^FF0000Compete^000000",-,"Return to Town",L_Exit,"Cancel",L_Cancel;
+
+if (#monster == 0) goto L_NoMon;
+if (#heal == 1) goto L_Heal;
+
+if (#monster < 40) goto L_Low;
+if (#monster > 30 && #monster < 80) goto L_Med;
+if (#monster > 70) goto L_High;
+
+L_Low:
+menu "Level 1-3",L_1to3,"^FF0000All Levels",L_High;
+close;
+
+L_Med:
+menu "Level 4-7",L_4to6,"^FF0000All Levels",L_High;
+close;
+
+L_High:
+savepoint "gon_test.gat",56,99;
+set @battle,1;
+warp "gon_test.gat",72,87;
+atcommand strcharinfo(0) + "@option 64 0 64";
+close;
+
+L_4to6:
+savepoint "gon_test.gat",56,99;
+set @battle,1;
+warp "gon_test.gat",57,86;
+atcommand strcharinfo(0) + "@option 64 0 64";
+close;
+
+L_1to3:
+savepoint "gon_test.gat",56,99;
+set @battle,1;
+warp "gon_test.gat",43,87;
+atcommand strcharinfo(0) + "@option 64 0 64";
+close;
+
+
+L_Exit:
+savepoint "prontera.gat",149,186;
+set @battle,0;
+atcommand strcharinfo(0) + "@option 0 0 0";
+warp "prontera.gat",149,186;
+end;
+close;
+
+L_Spec:
+atcommand strcharinfo(0) + "@option 0 0 0";
+savepoint "gon_test.gat",56,99;
+set @battle,0;
+warp "gon_test.gat",57,99;
+close;
+
+L_NoMon:
+mes "[Usher]";
+mes "You haven't got a monster, you can only spectate.";
+close;
+
+L_Heal:
+mes "[Usher]";
+mes "You have to heal your monster before you can fight again.";
+close;
+
+L_Cancel:
+close;
+}
+
+// Monster Trainer //
+gon_test.gat,52,103,6 script Monster Trainer 87,{
+mes "[Monster Trainer]";
+if (#monster != 0) goto L_Mon;
+
+mes "Welcome to the monster arena, would you like to start training?";
+next;
+menu "Yes",-,"No",L_Exit;
+
+mes "[Monster Trainer]";
+mes "New trainers may only start with Porings.";
+mes "They cost 1000z, Would you like to buy one?";
+next;
+menu "Yes",-,"No",L_Exit;
+
+if (zeny < 1000) goto L_NoZeny;
+set zeny,zeny-1000;
+set #monster,10;
+mes "[Monster Trainer]";
+mes "Congratulations!";
+mes "When your Poring earns enough experience, talk to me to upgrade.";
+close;
+
+L_Mon:
+mes "Welcome back, " + strcharinfo(0) + ".";
+mes "Your monster has " + #monpoints + " exp points.";
+next;
+if (@fighting == 1) goto L_Heal;
+menu "Upgrade Monster",L_Upgrade,"Sell Experience",L_Sell,"^FF0000Abandon Monster^000000",L_Abandon,"Cancel",L_Exit;
+
+L_Abandon:
+mes "[Monster Trainer]";
+mes "Are you sure you want to abandon your monster?";
+next;
+menu "Yes",-,"No",L_Exit;
+set #monster,0;
+set #monpoints,0;
+mes "[Monster Trainer]";
+mes "Monster released into the wild.";
+close;
+
+L_Sell:
+mes "[Monster Trainer]";
+mes "You can sell your monster's experience for 100z each.";
+next;
+menu "Sell",-,"Cancel",L_Exit;
+mes "[Monster Trainer]";
+mes "You have: ^FF0000" + #monpoints + "^000000 experience points";
+mes "How many would you like to sell?";
+next;
+input @sellexp;
+if (@sellexp > #monpoints) goto L_NoExp;
+set #monpoints,#monpoints-@sellexp;
+set @sellearn,100*@sellexp; // Price of exp
+set zeny,zeny+@sellearn;
+mes "[Monster Trainer]";
+mes "You earned ^0000FF" + @sellearn + "^000000z.";
+close;
+
+
+L_NoExp:
+mes "[Monster Trainer]";
+mes "You do not have enough experience.";
+next;
+goto L_Exit;
+
+// Monster Upgrades //
+L_Upgrade:
+mes "[Monster Trainer]";
+// 3. ---Change to Add Monsters - May not be required--- //
+if (#monster > 1 && #monster < 20) mes "You need 10 exp points to upgrade your monster.";
+if (#monster > 19 && #monster < 30) mes "You need 20 exp points to upgrade your monster.";
+if (#monster > 29 && #monster < 40) mes "You need 40 exp points to upgrade your monster.";
+if (#monster > 39 && #monster < 50) mes "You need 80 exp points to upgrade your monster.";
+if (#monster > 49 && #monster < 60) mes "You need 160 exp points to upgrade your monster.";
+if (#monster > 59 && #monster < 70) mes "You need 320 exp points to upgrade your monster.";
+if (#monster > 69 && #monster < 80) mes "You need 640 exp points to upgrade your monster.";
+if (#monster > 79 && #monster < 90) mes "You need 1280 exp points to upgrade your monster.";
+if (#monster > 89 && #monster < 100) mes "You need 2560 exp points to upgrade your monster.";
+next;
+menu "Continue",-,"Cancel",L_Exit;
+mes "[Monster Trainer]";
+
+// 4. ---Change to Add Monsters - May not be required--- //
+if (#monster > 1 && #monster < 20 && #monpoints > 9) goto L_Up1;
+if (#monster > 19 && #monster < 30 && #monpoints > 19) goto L_Up2;
+if (#monster > 29 && #monster < 40 && #monpoints > 39) goto L_Up3;
+if (#monster > 39 && #monster < 50 && #monpoints > 79) goto L_Up4;
+if (#monster > 49 && #monster < 60 && #monpoints > 159) goto L_Up5;
+if (#monster > 59 && #monster < 70 && #monpoints > 319) goto L_Up6;
+if (#monster > 69 && #monster < 80 && #monpoints > 639) goto L_Up7;
+if (#monster > 79 && #monster < 90 && #monpoints > 1279) goto L_Up8;
+if (#monster > 89 && #monster < 100 && #monpoints > 2559) goto L_Up9;
+
+mes "Unable to upgrade.";
+close;
+
+// 5. ---Change to Add Monsters--- //
+ L_Up1:
+ set #monster,20;
+ set #monpoints,#monpoints-10;
+ mes "Upgraded to Fabre!";
+ close;
+
+ L_Up2:
+ mes "Which monster would you like to upgrade to?";
+ next;
+ menu "Lunatic",U_Lunatic,"Drops",U_Drops,"Picky",U_Picky;
+
+ U_Drops:
+ set #monster,31;
+ set #monpoints,#monpoints-20;
+ mes "[Monster Trainer]";
+ mes "Upgraded to Drops!";
+ close;
+
+ U_Picky:
+ set #monster,32;
+ set #monpoints,#monpoints-20;
+ mes "[Monster Trainer]";
+ mes "Upgraded to Picky!";
+ close;
+
+ U_Lunatic:
+ set #monster,30;
+ set #monpoints,#monpoints-20;
+ mes "[Monster Trainer]";
+ mes "Upgraded to Lunatic!";
+ close;
+
+ L_Up3:
+ mes "Which monster would you like to upgrade to?";
+ next;
+ menu "ChonChon",U_ChonChon,"Super Picky",U_SPicky,"Willow",U_Willow;
+
+ U_ChonChon:
+ set #monster,40;
+ set #monpoints,#monpoints-40;
+ mes "[Monster Trainer]";
+ mes "Upgraded to ChonChon!";
+ close;
+
+ U_SPicky:
+ set #monster,41;
+ set #monpoints,#monpoints-40;
+ mes "[Monster Trainer]";
+ mes "Upgraded to Super Picky!";
+ close;
+
+ U_Willow:
+ set #monster,42;
+ set #monpoints,#monpoints-40;
+ mes "[Monster Trainer]";
+ mes "Upgraded to Willow!";
+ close;
+
+ L_Up4:
+ mes "Which monster would you like to upgrade to?";
+ next;
+ menu "Condor",U_Condor,"Roda Frog",U_Roda;
+
+ U_Condor:
+ set #monster,51;
+ set #monpoints,#monpoints-80;
+ mes "[Monster Trainer]";
+ mes "Upgraded to Condor!";
+ close;
+
+ U_Roda:
+ set #monster,50;
+ set #monpoints,#monpoints-80;
+ mes "[Monster Trainer]";
+ mes "Upgraded to Roda Frog!";
+ close;
+
+ L_Up5:
+ set #monster,60;
+ set #monpoints,#monpoints-160;
+ mes "Upgraded to Thief Bug Larva!";
+ close;
+
+ L_Up6:
+ set #monster,70;
+ set #monpoints,#monpoints-320;
+ mes "Upgraded to Savage Babe!";
+ close;
+
+ L_Up7:
+ mes "Which monster would you like to upgrade to?";
+ next;
+ menu "Familiar",U_Familiar,"Hornet",U_Hornet;
+
+ U_Hornet:
+ set #monster,81;
+ set #monpoints,#monpoints-640;
+ mes "[Monster Trainer]";
+ mes "Upgraded to Hornet!";
+ close;
+
+ U_Familiar:
+ set #monster,80;
+ set #monpoints,#monpoints-640;
+ mes "[Monster Trainer]";
+ mes "Upgraded to Familiar!";
+ close;
+
+ L_Up8:
+ mes "[Monster Trainer]";
+ mes "Which monster would you like to upgrade to?";
+ next;
+ menu "Desert Wolf Puppy",U_Puppy,"Spore",U_Spore,"Rocker",U_Rocker;
+
+ U_Spore:
+ set #monster,91;
+ set #monpoints,#monpoints-1280;
+ mes "[Monster Trainer]";
+ mes "Upgraded to Spore!";
+ close;
+
+ U_Rocker:
+ set #monster,92;
+ set #monpoints,#monpoints-1280;
+ mes "[Monster Trainer]";
+ mes "Upgraded to Rocker!";
+ close;
+
+ U_Puppy:
+ set #monster,90;
+ set #monpoints,#monpoints-1280;
+ mes "[Monster Trainer]";
+ mes "Upgraded to Desert Wolf Puppy!";
+ close;
+
+ L_Up9:
+ mes "Which monster would you like to upgrade to?";
+ next;
+ menu "Skeleton",U_Skeleton,"Antonio",U_Antonio,"Plankton",U_Plankton,"Thief Bug Female",U_ThiefFemale;
+
+ U_Plankton:
+ set #monster,101;
+ set #monpoints,#monpoints-2560;
+ mes "[Monster Trainer]";
+ mes "Upgraded to Plankton!";
+ close;
+
+ U_Antonio:
+ set #monster,102;
+ set #monpoints,#monpoints-2560;
+ mes "[Monster Trainer]";
+ mes "Upgraded to Antonio!";
+ close;
+
+ U_ThiefFemale:
+ set #monster,103;
+ set #monpoints,#monpoints-2560;
+ mes "[Monster Trainer]";
+ mes "Upgraded to Thief Bug Female!";
+ close;
+
+ U_Skeleton:
+ set #monster,100;
+ set #monpoints,#monpoints-2560;
+ mes "[Monster Trainer]";
+ mes "Upgraded to Skeleton!";
+ close;
+
+L_NoZeny:
+mes "[Monster Trainer]";
+mes "You don't have enough zeny!";
+close;
+
+L_Exit:
+mes "[Monster Trainer]";
+mes "Goodbye.";
+close;
+
+L_Heal:
+mes "[Monster Trainer]";
+mes "Your monster needs to heal.";
+mes "It will heal faster if you click the nurse faster.";
+set #heal,1;
+close;
+}
+
+// Kill Trigger //
+// 6/Final. ---Change to Add Monsters--- //
+ gon_test.gat,56,91,6 script OnPoringKilled -1,{
+ if (@marena == 0) callfunc "illegalkill";
+ set #monpoints,#monpoints+1;
+ announce "You killed a Poring - Gained 1 exp",19;
+ callfunc "duelkill";
+ }
+
+ gon_test.gat,56,91,6 script OnFaberKilled -1,{
+ if (@marena == 0) callfunc "illegalkill";
+ set #monpoints,#monpoints+2;
+ announce "You killed a Faber - Gained 2 exp",19;
+ callfunc "duelkill";
+ }
+
+ gon_test.gat,56,91,6 script OnLunaticKilled -1,{
+ if (@marena == 0) callfunc "illegalkill";
+ set #monpoints,#monpoints+4;
+ announce "You killed a Lunatic - Gained 4 exp",19;
+ callfunc "duelkill";
+ }
+
+ gon_test.gat,56,91,6 script OnDropsKilled -1,{
+ if (@marena == 0) callfunc "illegalkill";
+ set #monpoints,#monpoints+4;
+ announce "You killed a Drops - Gained 4 exp",19;
+ callfunc "duelkill";
+ }
+
+ gon_test.gat,56,91,6 script OnPickyKilled -1,{
+ if (@marena == 0) callfunc "illegalkill";
+ set #monpoints,#monpoints+4;
+ announce "You killed a Picky - Gained 4 exp",19;
+ callfunc "duelkill";
+ }
+
+ gon_test.gat,56,91,6 script OnChonChonKilled -1,{
+ if (@marena == 0) callfunc "illegalkill";
+ set #monpoints,#monpoints+8;
+ announce "You killed a ChonChon - Gained 8 exp",19;
+ callfunc "duelkill";
+ }
+
+ gon_test.gat,56,91,6 script OnSPickyKilled -1,{
+ if (@marena == 0) callfunc "illegalkill";
+ set #monpoints,#monpoints+8;
+ announce "You killed a Super Picky - Gained 8 exp",19;
+ callfunc "duelkill";
+ }
+
+ gon_test.gat,56,91,6 script OnWillowKilled -1,{
+ if (@marena == 0) callfunc "illegalkill";
+ set #monpoints,#monpoints+8;
+ announce "You killed a Willow - Gained 8 exp",19;
+ callfunc "duelkill";
+ }
+
+ gon_test.gat,56,91,6 script OnRodaKilled -1,{
+ if (@marena == 0) callfunc "illegalkill";
+ set #monpoints,#monpoints+16;
+ announce "You killed a Roda Frog - Gained 16 exp",19;
+ callfunc "duelkill";
+ }
+
+ gon_test.gat,56,91,6 script OnCondorKilled -1,{
+ if (@marena == 0) callfunc "illegalkill";
+ set #monpoints,#monpoints+16;
+ announce "You killed a Condor - Gained 16 exp",19;
+ callfunc "duelkill";
+ }
+
+ gon_test.gat,56,91,6 script OnThiefKilled -1,{
+ if (@marena == 0) callfunc "illegalkill";
+ set #monpoints,#monpoints+32;
+ announce "You killed a Theif Bug Larva - Gained 32 exp",19;
+ callfunc "duelkill";
+ }
+
+ gon_test.gat,56,91,6 script OnSavageKilled -1,{
+ if (@marena == 0) callfunc "illegalkill";
+ set #monpoints,#monpoints+64;
+ announce "You killed a Savage Babe - Gained 64 exp",19;
+ callfunc "duelkill";
+ }
+
+ gon_test.gat,56,91,6 script OnFamiliarKilled -1,{
+ if (@marena == 0) callfunc "illegalkill";
+ set #monpoints,#monpoints+128;
+ announce "You killed a Familiar - Gained 128 exp",19;
+ callfunc "duelkill";
+ }
+
+ gon_test.gat,56,91,6 script OnHornetKilled -1,{
+ if (@marena == 0) callfunc "illegalkill";
+ set #monpoints,#monpoints+128;
+ announce "You killed a Hornet - Gained 128 exp",19;
+ callfunc "duelkill";
+ }
+
+ gon_test.gat,56,91,6 script OnPuppyKilled -1,{
+ if (@marena == 0) callfunc "illegalkill";
+ set #monpoints,#monpoints+256;
+ announce "You killed a Desert Wolf Puppy - Gained 256 exp",19;
+ callfunc "duelkill";
+ }
+
+ gon_test.gat,56,91,6 script OnRockerKilled -1,{
+ if (@marena == 0) callfunc "illegalkill";
+ set #monpoints,#monpoints+256;
+ announce "You killed a Rocker - Gained 256 exp",19;
+ callfunc "duelkill";
+ }
+
+ gon_test.gat,56,91,6 script OnSporeKilled -1,{
+ if (@marena == 0) callfunc "illegalkill";
+ set #monpoints,#monpoints+256;
+ announce "You killed a Spore - Gained 256 exp",19;
+ callfunc "duelkill";
+ }
+
+ gon_test.gat,56,91,6 script OnSkeletonKilled -1,{
+ if (@marena == 0) callfunc "illegalkill";
+ set #monpoints,#monpoints+512;
+ announce "You killed a Skeleton - Gained 512 exp",19;
+ callfunc "duelkill";
+ }
+
+ gon_test.gat,56,91,6 script OnPlanktonKilled -1,{
+ if (@marena == 0) callfunc "illegalkill";
+ set #monpoints,#monpoints+512;
+ announce "You killed a Plankton - Gained 512 exp",19;
+ callfunc "duelkill";
+ }
+
+ gon_test.gat,56,91,6 script OnAntonioKilled -1,{
+ if (@marena == 0) callfunc "illegalkill";
+ set #monpoints,#monpoints+512;
+ announce "You killed an Antonio - Gained 512 exp",19;
+ callfunc "duelkill";
+ }
+
+ gon_test.gat,56,91,6 script OnThiefFemaleKilled -1,{
+ if (@marena == 0) callfunc "illegalkill";
+ set #monpoints,#monpoints+512;
+ announce "You killed a Thief Bug Female - Gained 512 exp",19;
+ callfunc "duelkill";
+ }
+
+ gon_test.gat,56,91,6 script OnSpecialKilled -1,{
+ if (@marena == 0) callfunc "illegalkill";
+ set #monpoints,#monpoints+512;
+ announce "You killed a Special Monster - Gained 1024 exp",19;
+ callfunc "duelkill";
+ }
+
+function script duelkill -1,{
+if (strcharinfo(0) == $@duelist1$ || strcharinfo(0) == $@duelist2$) goto L_Heal;
+end;
+ L_Heal:
+ announce strcharinfo(0) + " won the Duel",1;
+ set @fighting,0;
+ set #heal,0;
+ set @healing,0;
+ end;
+}
+
+function script illegalkill -1,{
+announce "Illegal Kill by " + strcharinfo(0) + " Detected",1;
+percentheal -100,-100;
+end;
+}
+
+// Healer //
+gon_test.gat,55,103,6 script Nurse 90,{
+if (@battle == 1 || #heal == 0) goto L_NoHeal;
+if (#heal == 1 && @healing < 100) goto L_Heal; //Total healing required
+set @fighting,0;
+set #heal,0;
+set @healing,0;
+specialeffect2 364;
+announce "Your monster has healed.",19;
+end;
+
+ L_Heal:
+ set @healrate,140 / #monster; //Rate of heal per click
+ set @healing,@healing + @healrate;
+ end;
+
+ L_NoHeal:
+ announce "Your monster does not need healing yet.",19;
+ end;
+}
+
+// Warps players //
+- script SummonPad 111,2,2,{
+end;
+OnTouch:
+set @marena,1;
+warp "gon_test.gat",57,99;
+}
+gon_test.gat,57,86,5 duplicate(SummonPad) Summon Pad 1 111,2,2
+gon_test.gat,43,87,5 duplicate(SummonPad) Summon Pad 2 111,2,2
+gon_test.gat,72,87,5 duplicate(SummonPad) Summon Pad 3 111,2,2
+
+
+
+// Skill Disabler //
+gon_test.gat,57,99,5 script Skill Disable 111,3,3,{
+atcommand strcharinfo(0) + "@skilloff";
+disablenpc "Skill Disable";
+end;
+}
+
+// Duel Arena //
+gon_test.gat,58,103,5 script Duel Master 92,{
+if ($@duelist1$ == "") set @duel,0;
+if ($@monster1 == "") set @duel,0;
+set @marena,1;
+if (#monster == 0) goto L_NoMon;
+mes "[Duel Master]";
+if ($@duel == 1) goto L_Waiting;
+if ($@duel == 2) goto L_Dueling;
+
+mes "There are currently no players dueling.";
+next;
+menu "Join",-,"Spectate",L_Spec,"Cancel",L_Exit;
+
+// Player 1 Enters Duel Area //
+if (#heal == 1) goto L_NeedHeal;
+if ($@duel == 1) goto L_Duel2;
+set $@duel,1;
+if (#monster > 1 && #monster < 20) set $@monster1,1;
+if (#monster > 19 && #monster < 30) set $@monster1,2;
+if (#monster > 29 && #monster < 40) set $@monster1,3;
+if (#monster > 39 && #monster < 50) set $@monster1,4;
+if (#monster > 49 && #monster < 60) set $@monster1,5;
+if (#monster > 59 && #monster < 70) set $@monster1,6;
+if (#monster > 69 && #monster < 80) set $@monster1,7;
+if (#monster > 79 && #monster < 90) set $@monster1,8;
+if (#monster > 89 && #monster < 100) set $@monster1,9;
+if (#monster > 99 && #monster < 110) set $@monster1,10;
+set $@duelist1$,strcharinfo(0);
+set @battle,1;
+announce strcharinfo(0) + " [Monster Level: " + $@monster1 + "] is waiting for a duel",1;
+atcommand strcharinfo(0) + "@option 64 0 64";
+warp "gon_test.gat",49,5;
+close;
+
+L_Waiting:
+mes "^0000FF " + $@duelist1$ + "^000000 [Monster Level: ^FF0000" + $@monster1 + "^000000]";
+mes "Is waiting for an opponent";
+next;
+menu "Join",-,"Spectate",L_Spec,"Cancel",L_Exit;
+
+// Player 2 Enters Duel Area //
+if (#heal == 1) goto L_NeedHeal;
+L_Duel2:
+if ($@duel == 2) goto L_Spec;
+set $@duel,2;
+if (#monster > 1 && #monster < 20) set $@monster2,1;
+if (#monster > 19 && #monster < 30) set $@monster2,2;
+if (#monster > 29 && #monster < 40) set $@monster2,3;
+if (#monster > 39 && #monster < 50) set $@monster2,4;
+if (#monster > 49 && #monster < 60) set $@monster2,5;
+if (#monster > 59 && #monster < 70) set $@monster2,6;
+if (#monster > 69 && #monster < 80) set $@monster2,7;
+if (#monster > 79 && #monster < 90) set $@monster2,8;
+if (#monster > 89 && #monster < 100) set $@monster2,9;
+if (#monster > 99 && #monster < 110) set $@monster2,10;
+set $@duelist2$,strcharinfo(0);
+set @battle,1;
+announce strcharinfo(0) + " [Monster Level: " + $@monster2 + "] has joined the duel",1;
+atcommand strcharinfo(0) + "@option 64 0 64";
+warp "gon_test.gat",49,5;
+close;
+
+ L_Dueling:
+ mes "^0000FF" + $@duelist1$ + "^000000 [Monster Level: ^0000FF" + $@monster1 + "^000000]";
+ mes " VS.";
+ mes "^FF0000" + $@duelist2$ + "^000000 [Monster Level: ^FF0000" + $@monster2 + "^000000]";
+ next;
+ menu "Spectate",L_Spec,"Cancel",L_Exit;
+
+ L_Spec:
+ set @battle,0;
+ atcommand strcharinfo(0) + "@option 64 0 64";
+ warp "gon_test.gat",49,5;
+ close;
+
+ L_Exit:
+ mes "[Duel Master]";
+ mes "Goodbye.";
+ close;
+
+ L_NoMon:
+ mes "[Duel Master]";
+ mes "You haven't got a monster, you can't participate.";
+ close;
+
+ L_NeedHeal:
+ mes "[Duel Master]";
+ mes "You need to heal before you can join.";
+ close;
+}
+
+// Duel Exit //
+gon_test.gat,42,8,5 script Duel Master 92,{
+mes "[Duel Master]";
+mes "Would you like to return?";
+menu "Yes",L_Leave,"No",-;
+mes "Alright";
+close;
+
+ L_Leave:
+ if ($@duelist1$ == strcharinfo(0)) goto L_Leave1;
+ if ($@duelist2$ == strcharinfo(0)) goto L_Leave2;
+
+ L_Leave3:
+ atcommand strcharinfo(0) + "@option 0 0 0";
+ set @battle,0;
+ warp "gon_test.gat",57,99;
+ close;
+
+ L_Leave1:
+ set $@duelist1$,$@duelist2$;
+ set $@monster1,$@monster2;
+ set $@duel,$@duel-1;
+ announce strcharinfo(0) + " stopped dueling",1;
+ goto L_Leave3;
+
+ L_Leave2:
+ set $@duelist2$,"";
+ set $@monster2,0;
+ set $@duel,$@duel-1;
+ announce strcharinfo(0) + " stopped dueling",1;
+ goto L_Leave3;
+}
+
+gon_test.gat,49,5,5 duplicate(SummonPad) Summon Pad 4 111,2,2
+gon_test.gat,55,8,6 duplicate(monsterreferee) Referee 61 \ No newline at end of file
diff --git a/npc/custom/penal_servitude.txt b/npc/custom/penal_servitude.txt
new file mode 100644
index 000000000..343e9d983
--- /dev/null
+++ b/npc/custom/penal_servitude.txt
@@ -0,0 +1,182 @@
+//===== Athena Script =======================================
+//= Penal Servitude Script
+//===== By ================================================
+//= Lupus
+//===== Version ===========================================
+//= 1.1
+//===== Compatible With ===================================
+//= eAthena Final (SVN)
+//===== Description =======================================
+//= A simple Penal Servitude Script.
+//= It could cheer up your prisoners a bit.
+//===== Comments ==========================================
+// This script uses CHEQUES of the 2nd KAFRA_BANK.TXT
+// var PRISON - it counts number of your imprisonments.
+// 1.1 English translation
+//=========================================================
+
+sec_pri.gat,36,58,1 script Chief Warder 105,{
+ mes "[Saddeus]";
+ emotion 1;
+ if (sex) mes "Mr. Prisoner #"+BaseLevel+JobLevel+",";
+ if (!sex) mes "Ms. Prisoner #"+BaseLevel+JobLevel+",";
+ mes "what's the noise over there?";
+ next;
+ menu "Let me free, I'll pay!",-, "Let me to work off my freedom!",M_Q1, "Nothing",M_NO_THANKS;
+
+M_PAY:
+ mes "[Saddeus]";
+ set @MUSTPAY,(PRISON+1)*1000000;
+ if (@MUSTPAY<1000000) set @MUSTPAY,1000000;
+ if (@MUSTPAY>100000000) set @MUSTPAY,100000000;
+ if (PRISON==1) mes "I can't remember you. Is it your 1st time?";
+ if (PRISON>1) mes "You again? Sombody hasn't grown wiser from the very first visit...";
+ mes "OK, we could release you for ^FF0000"+@MUSTPAY+"z^000000.";
+ next;
+ menu "I pay cash!",M_PAYCASH,"Do you accept cheques?",M_PAYBANK,"I've changed my mind.",-;
+
+ mes "[Saddeus]";
+ mes "You've got some time to think about...";
+ close;
+
+M_PAYCASH:
+ if (@MUSTPAY>Zeny) goto L_NOCASH;
+ set Zeny,Zeny-@MUSTPAY;
+ mes "[Saddeus]";
+ mes "OK, sing here and there.";
+ goto L_RELEASE;
+
+L_NOCASH:
+ mes "[Saddeus]";
+ mes "What's this? It's not enough!";
+ close;
+
+M_PAYBANK:
+ if (@MUSTPAY>#kafrabank) goto L_NOBANK;
+ set #kafrabank,#kafrabank-@MUSTPAY;
+ mes "[Saddeus]";
+ mes "OK, sign your cheque. And put down your name in my book.";
+ goto L_RELEASE;
+
+L_NOBANK:
+ mes "[Saddeus]";
+ if (#kafrabank==0) mes "Your case says nothing about your bank accounts.";
+ if (#kafrabank!=0) mes "Alas, there's your bank account info... ^FF0000"+#kafrabank+"z^000000... in the case. It's not enough.";
+ mes "Stop your silly games now!";
+ close;
+
+L_RELEASE:
+ set PRISON,PRISON+1; //EáûâàEEEðüE...
+ next;
+ mes "[Saddeus]";
+ mes "You are free now!";
+ next;
+ savepoint "izlude.gat",105,112;
+ warp "izlude.gat",105,112;
+ close;
+
+M_Q1:
+//EåñE1
+ mes "[Saddeus]";
+ mes "Our stocks are short of toadstools. Remember your morning's skilly? What about some work at our sponsored mushroom farm?";
+ next;
+ menu "OK, I'll work off!",-, "I love this prison!",M_NO_THANKS;
+
+ mes "[Saddeus]";
+ mes "Talk to our overseer, Oliver.";
+ next;
+
+ nude;
+
+ set @rw,rand(1,4);
+ if (@rw==2) goto L_W2;
+ if (@rw==3) goto L_W3;
+ if (@rw==4) goto L_W4;
+
+L_W1:
+ savepoint "sec_in02.gat",179,76;
+ warp "sec_in02.gat",179,76;
+ close;
+
+L_W2:
+ savepoint "sec_in02.gat",139,32;
+ warp "sec_in02.gat",139,32;
+ close;
+
+L_W3:
+ savepoint "sec_in02.gat",100,28;
+ warp "sec_in02.gat",100,28;
+ close;
+
+L_W4:
+ savepoint "sec_in02.gat",107,75;
+ warp "sec_in02.gat",107,75;
+ close;
+
+M_NO_THANKS:
+ mes "[Saddeus]";
+ if (rand(2)) mes "Is today X-Mas time, huh?";
+ mes "Now shut up and back off!";
+ if (rand(2)) emotion 23;
+ close;
+}
+
+sec_in02.gat,137,57,1 script Overseer 708,{
+ mes "[Oliver]";
+
+ delitem 4002,countitem(4002);//Items: Fabre_Card,
+ delitem 4009,countitem(4009);//Items: Chonchon_Card,
+ delitem 4022,countitem(4022);//Items: Spore_Card,
+ delitem 4048,countitem(4048);//Items: Poison_Spore_Card,
+
+ if (PRISON_Q <= 0 ) goto L_GET_Q;
+
+ mes "I want you to gather ^FF0000"+PRISON_Q+" Orange Net Mushroom^000000.";
+ if ( countitem(1069)<PRISON_Q ) close;//Items: Orange_Net_Mushroom,
+ mes "OK... hand me all the shrooms...";
+ mes "Let me see... "+countitem(1069)+" of almost eadible ones...";//Items: Orange_Net_Mushroom,
+ mes "And "+countitem(1070)+" useless deadly ones.";//Items: Orange_Gooey_Mushroom_,
+ next;
+ mes "[Oliver]";
+ mes "Thank you. You are free!";
+ set PRISON_Q,0;
+ delitem 1069,countitem(1069);//Items: Orange_Net_Mushroom,
+ delitem 1070,countitem(1070);//Items: Orange_Gooey_Mushroom_,
+ next;
+ savepoint "izlude.gat",105,112;
+ warp "izlude.gat",105,112;
+ close;
+
+L_GET_Q:
+ set PRISON,PRISON+1; //EáûâàEEEðüE...
+ if (PRISON > 1) mes "Hmm... You've been here already... Well-well...";
+
+ if ( countitem(1069) || countitem(1070) ) mes "Drop these mushrooms!! They are poisonous!";//Items: Orange_Net_Mushroom, Orange_Gooey_Mushroom_,
+ delitem 1069,countitem(1069);//Items: Orange_Net_Mushroom,
+ delitem 1070,countitem(1070);//Items: Orange_Gooey_Mushroom_,
+
+ set PRISON_Q, PRISON*3 + BaseLevel/3;
+ set PRISON_Q, PRISON_Q * (readparam(bAspd)/55 + 1);
+ set PRISON_Q, PRISON_Q+rand(50,60);
+ mes "OK, you must bring me ^FF0000"+PRISON_Q+"^000000 edible ^FF0000Orange Net Mushroom^000000 toadstoo.. shrooms.";
+ if(readparam(bAspd)>=100) mes "You're a fast fella! You'll have to get more shrooms, then.";
+ if (rand(10)<4) mes "And you may eat the deadly ones for breakfast.";
+ close;
+}
+
+
+sec_in02.gat mapflag nomemo
+sec_in02.gat mapflag nosave SavePoint
+sec_in02.gat mapflag noteleport
+sec_in02.gat mapflag nobranch
+sec_in02.gat mapflag nowarp
+//sec_in02.gat mapflag pvp
+sec_in02.gat mapflag pvp_noparty
+//sec_in02.gat mapflag gvg
+sec_in02.gat mapflag pvp_nightmaredrop random,all,300
+
+sec_in02.gat,138,55,100,100 monster Toadstool 1182,30,10000,10000,1
+sec_in02.gat,138,55,100,100 monster Fabre 1184,10,20000,20000
+sec_in02.gat,138,55,100,100 monster Chonchon 1183,11,20000,20000
+sec_in02.gat,138,55,100,100 monster Spore 1014,12,20000,20000
+sec_in02.gat,138,55,100,100 monster Poison Spore 1077,3,20000,20000
diff --git a/npc/custom/platinum_skills.txt b/npc/custom/platinum_skills.txt
new file mode 100644
index 000000000..3be00a151
--- /dev/null
+++ b/npc/custom/platinum_skills.txt
@@ -0,0 +1,112 @@
+//===== eAthena Script ======================================================================
+//= Platinum Skills NPC
+//===== By: =================================================================================
+//= Keichii and edited by DarkChild
+//===== Current Version: ====================================================================
+//= 2.2
+//===== Compatible With: ====================================================================
+//= Any eAthena Version
+//===== Description: ========================================================================
+//= Single NPC that assigns quests skills for all classes.
+//===== Additional Comments: ================================================================
+//= Added advanced classes by ShadowLady.
+//= Added baby clases by Midas
+//= Simplified Job Checks [Silentdragon]
+//===========================================================================================
+prontera.gat,128,200,6 script Platinum Skill NPC 94,{
+mes "[Platinum Skill NPC]";
+mes "I can give you the special skills available to your job. Would you like these skills now?";
+next;
+menu "Yes",Lgetskills,"No",Lnogetskills;
+
+Lgetskills:
+if (BaseClass==Job_Novice) goto Lskillsnovice;
+if (BaseClass==Job_Swordman) goto Lskillsswordie;
+if (BaseClass==Job_Mage) goto Lskillsmage;
+if (BaseClass==Job_Archer) goto Lskillsarcher;
+if (BaseClass==Job_Acolyte) goto Lskillsaco;
+if (BaseClass==Job_Merchant) goto Lskillsmerchie;
+if (BaseClass==Job_Thief) goto Lskillsthief;
+Lskillsnovice:
+mes "[Platinum Skill NPC]";
+mes "I see that you are a Novice Class. I will now add the special skills available to these jobs.";
+skill 142,1,0;
+if(BaseJob==0) skill 143,1,0;
+mes " ";
+mes "You now have all the special skills available to the these jobs.";
+next;
+goto LskillsEND;
+Lskillsswordie:
+mes "[Platinum Skill NPC]";
+mes "I see that you are a Swordman Class. I will now add the special skills available to these jobs.";
+skill 142,1,0;
+skill 144,1,0;
+skill 145,1,0;
+skill 146,1,0;
+mes " ";
+mes "You now have all the special skills available to the these jobs.";
+next;
+goto LskillsEND;
+Lskillsmage:
+mes "[Platinum Skill NPC]";
+mes "I see that you are a Mage Class. I will now add the special skills available to these jobs.";
+skill 142,1,0;
+skill 157,1,0;
+mes " ";
+mes "You now have all the special skills available to the these jobs.";
+next;
+goto LskillsEND;
+Lskillsarcher:
+mes "[Platinum Skill NPC]";
+mes "I see that you are an Archer Class. I will now add the special skills available to these jobs.";
+skill 142,1,0;
+skill 147,1,0;
+skill 148,1,0;
+mes " ";
+mes "You now have all the special skills available to the these jobs.";
+next;
+goto LskillsEND;
+Lskillsaco:
+mes "[Platinum Skill NPC]";
+mes "I see that you are an Acolyte Class. I will now add the special skills available to these jobs.";
+skill 142,1,0;
+skill 156,1,0;
+mes " ";
+mes "You now have all the special skills available to the these jobs.";
+next;
+goto LskillsEND;
+Lskillsmerchie:
+mes "[Platinum Skill NPC]";
+mes "I see that you are a Merchant Class.I will now add the special skills available to these jobs.";
+skill 142,1,0;
+skill 153,1,0;
+skill 154,1,0;
+skill 155,1,0;
+mes " ";
+mes "You now have all the special skills available to the these jobs.";
+next;
+goto LskillsEND;
+Lskillsthief:
+mes "[Platinum Skill NPC]";
+mes "I see that you are a Thief Class. I will now add the special skills available to these jobs.";
+skill 142,1,0;
+skill 149,1,0;
+skill 150,1,0;
+skill 151,1,0;
+skill 152,1,0;
+mes " ";
+mes "You now have all the special skills available to the these jobs.";
+next;
+goto LskillsEND;
+LskillsEND:
+mes "[Platinum Skill NPC]";
+mes "Have a nice day.";
+close;
+Lnogetskills:
+mes "[Platinum Skill NPC]";
+mes "Aww, how come you dont want my special skills?";
+mes "*sob* FINE!";
+mes "Have a nice day... >.>";
+close;
+}
+
diff --git a/npc/custom/poetry/ayothaya.txt b/npc/custom/poetry/ayothaya.txt
new file mode 100644
index 000000000..e4b842df4
--- /dev/null
+++ b/npc/custom/poetry/ayothaya.txt
@@ -0,0 +1,724 @@
+//===== eAthena Script =======================================
+//= Wandering poet NPC
+//===== By: ==================================================
+//= by MouseJstr
+//===== Current Version: =====================================
+//= 0.2a
+//===== Compatible With: =====================================
+//= eAthena 1.0 Final +
+//===== Description: =========================================
+
+ayothaya.gat,58,134,5 script Louise Gluck 763,{
+ mes "[Louise Gluck]";
+ mes "What is the next line? ";
+ close;
+
+ OnTimer5000:
+ npcwalkto 65,129;
+ npctalk "Twas brillig, and the slithy toves Did gyre and gimble in the wabe:";
+ end;
+
+ OnTimer10000:
+ npcwalkto 71,131;
+ npctalk "All mimsy were the bogoroves, And the mome raths outgrabe.";
+ end;
+
+ OnTimer15000:
+ npcwalkto 75,127;
+ npctalk "Beware the Jabberwock, my son! The jaws that bite, theh claws that catch!";
+ end;
+
+ OnTimer20000:
+ npcwalkto 80,122;
+ npctalk "Beware the Jubjub bird and shun The frumious Bandersnatch!";
+ end;
+
+ OnTimer25000:
+ npcwalkto 82,118;
+ npctalk "He took his vorpal sword in hand: Long time the manxome foe he sought-";
+ end;
+
+ OnTimer30000:
+ npcwalkto 93,115;
+ npctalk "So rested he by the Tumtum tree, And stood a while in thought.";
+ end;
+
+ OnTimer35000:
+ npcwalkto 94,112;
+ npctalk "And, as in uffish thought he stood, The Jabberwock, with eyes of flame,";
+ end;
+
+ OnTimer40000:
+ npcwalkto 88,124;
+ npctalk "Came whiffling through the tulgey wood, And burbled as it came!";
+ end;
+
+ OnTimer45000:
+ npcwalkto 81,129;
+ npctalk "One, two! One, two! And through and through The vorpal blade went snicker-snack!";
+ end;
+
+ OnTimer50000:
+ npcwalkto 76,139;
+ npctalk "He left it dead, and with its head He went galumphing back.";
+ end;
+
+ OnTimer55000:
+ npcwalkto 67,138;
+ npctalk "And hast though slain the Jabberwock? Come to my arms beamish boy!";
+ end;
+
+ OnTimer60000:
+ npcwalkto 59,144;
+ npctalk "O frabjous day! Callooh! Callay! He chortled in his joy.";
+ end;
+
+ OnTimer65000:
+ npcwalkto 55,124;
+ npctalk "Twas brillig, and the slithy toves Did gyre and gimble in the wabe:";
+ end;
+
+ OnTimer70000:
+ npcwalkto 58,134;
+ npctalk "All mimsy were the bogoroves, And the mome raths outgrabe.";
+ setnpctimer 0;
+ end;
+
+ OnInit:
+ npcspeed 150;
+ initnpctimer;
+ end;
+}
+
+
+ayothaya.gat,212,276,0 script Romeo 50,{
+ mes "[Romeo]";
+ mes "What is the next line? ";
+ close;
+ OnTimer0:
+ npctalk "He jests at scars that never felt a wound.";
+ end;
+ OnTimer6000:
+ npctalk "But, soft! what light through yonder window breaks?";
+ end;
+ OnTimer8000:
+ npctalk "It is the east, and Juliet is the sun.";
+ end;
+ OnTimer10000:
+ npctalk "Arise, fair sun, and kill the envious moon,";
+ end;
+ OnTimer12000:
+ npctalk "Who is already sick and pale with grief,";
+ end;
+ OnTimer14000:
+ npctalk "That thou her maid art far more fair than she:";
+ end;
+ OnTimer16000:
+ npctalk "Be not her maid, since she is envious;";
+ end;
+ OnTimer18000:
+ npctalk "Her vestal livery is but sick and green";
+ end;
+ OnTimer20000:
+ npctalk "And none but fools do wear it; cast it off.";
+ end;
+ OnTimer22000:
+ npctalk "It is my lady, O, it is my love!";
+ end;
+ OnTimer24000:
+ npctalk "O, that she knew she were!";
+ end;
+ OnTimer26000:
+ npctalk "She speaks yet she says nothing: what of that?";
+ end;
+ OnTimer28000:
+ npctalk "Her eye discourses; I will answer it.";
+ end;
+ OnTimer30000:
+ npctalk "I am too bold, tis not to me she speaks:";
+ end;
+ OnTimer32000:
+ npctalk "Two of the fairest stars in all the heaven,";
+ end;
+ OnTimer34000:
+ npctalk "Having some business, do entreat her eyes";
+ end;
+ OnTimer36000:
+ npctalk "To twinkle in their spheres till they return.";
+ end;
+ OnTimer38000:
+ npctalk "What if her eyes were there, they in her head?";
+ end;
+ OnTimer40000:
+ npctalk "The brightness of her cheek would shame those stars,";
+ end;
+ OnTimer42000:
+ npctalk "As daylight doth a lamp; her eyes in heaven";
+ end;
+ OnTimer44000:
+ npctalk "Would through the airy region stream so bright";
+ end;
+ OnTimer46000:
+ npctalk "That birds would sing and think it were not night.";
+ end;
+ OnTimer48000:
+ npctalk "See, how she leans her cheek upon her hand!";
+ end;
+ OnTimer50000:
+ npctalk "O, that I were a glove upon that hand,";
+ end;
+ OnTimer52000:
+ npctalk "That I might touch that cheek!";
+ end;
+ OnTimer56000:
+ npctalk "She speaks:";
+ end;
+ OnTimer58000:
+ npctalk "O, speak again, bright angel! for thou art";
+ end;
+ OnTimer60000:
+ npctalk "As glorious to this night, being oer my head";
+ end;
+ OnTimer62000:
+ npctalk "As is a winged messenger of heaven";
+ end;
+ OnTimer64000:
+ npctalk "Unto the white-upturned wondering eyes";
+ end;
+ OnTimer66000:
+ npctalk "Of mortals that fall back to gaze on him";
+ end;
+ OnTimer68000:
+ npctalk "When he bestrides the lazy-pacing clouds";
+ end;
+ OnTimer70000:
+ npctalk "And sails upon the bosom of the air.";
+ end;
+ OnTimer80000:
+ npctalk "Shall I hear more, or shall I speak at this?";
+ end;
+ OnTimer106000:
+ npctalk "I take thee at thy word:";
+ end;
+ OnTimer108000:
+ npctalk "Call me but love, and Ill be new baptized;";
+ end;
+ OnTimer110000:
+ npctalk "Henceforth I never will be Romeo.";
+ end;
+ OnTimer116000:
+ npctalk "By a name";
+ end;
+ OnTimer118000:
+ npctalk "I know not how to tell thee who I am:";
+ end;
+ OnTimer120000:
+ npctalk "My name, dear saint, is hateful to myself,";
+ end;
+ OnTimer122000:
+ npctalk "Because it is an enemy to thee;";
+ end;
+ OnTimer124000:
+ npctalk "Had I it written, I would tear the word.";
+ end;
+ OnTimer132000:
+ npctalk "Neither, fair saint, if either thee dislike.";
+ end;
+ OnTimer142000:
+ npctalk "With loves light wings did I oer-perch these walls;";
+ end;
+ OnTimer144000:
+ npctalk "For stony limits cannot hold love out,";
+ end;
+ OnTimer146000:
+ npctalk "And what love can do that dares love attempt;";
+ end;
+ OnTimer148000:
+ npctalk "Therefore thy kinsmen are no let to me.";
+ end;
+ OnTimer152000:
+ npctalk "Alack, there lies more peril in thine eye";
+ end;
+ OnTimer154000:
+ npctalk "Than twenty of their swords: look thou but sweet,";
+ end;
+ OnTimer156000:
+ npctalk "And I am proof against their enmity.";
+ end;
+ OnTimer160000:
+ npctalk "I have nights cloak to hide me from their sight;";
+ end;
+ OnTimer162000:
+ npctalk "And but thou love me, let them find me here:";
+ end;
+ OnTimer164000:
+ npctalk "My life were better ended by their hate,";
+ end;
+ OnTimer166000:
+ npctalk "Than death prorogued, wanting of thy love.";
+ end;
+ OnTimer170000:
+ npctalk "By love, who first did prompt me to inquire;";
+ end;
+ OnTimer172000:
+ npctalk "He lent me counsel and I lent him eyes.";
+ end;
+ OnTimer174000:
+ npctalk "I am no pilot; yet, wert thou as far";
+ end;
+ OnTimer176000:
+ npctalk "As that vast shore washd with the farthest sea,";
+ end;
+ OnTimer178000:
+ npctalk "I would adventure for such merchandise.";
+ end;
+ OnTimer224000:
+ npctalk "Lady, by yonder blessed moon I swear";
+ end;
+ OnTimer226000:
+ npctalk "That tips with silver all these fruit-tree tops--";
+ end;
+ OnTimer234000:
+ npctalk "What shall I swear by?";
+ end;
+ OnTimer244000:
+ npctalk "If my hearts dear love--";
+ end;
+ OnTimer264000:
+ npctalk "O, wilt thou leave me so unsatisfied?";
+ end;
+ OnTimer268000:
+ npctalk "The exchange of thy loves faithful vow for mine.";
+ end;
+ OnTimer274000:
+ npctalk "Wouldst thou withdraw it? for what purpose, love?";
+ end;
+ OnTimer294000:
+ npctalk "O blessed, blessed night! I am afeard.";
+ end;
+ OnTimer296000:
+ npctalk "Being in night, all this is but a dream,";
+ end;
+ OnTimer298000:
+ npctalk "Too flattering-sweet to be substantial.";
+ end;
+ OnTimer330000:
+ npctalk "So thrive my soul--";
+ end;
+ OnTimer334000:
+ npctalk "A thousand times the worse, to want thy light.";
+ end;
+ OnTimer336000:
+ npctalk "Love goes toward love, as schoolboys from";
+ end;
+ OnTimer338000:
+ npctalk "their books,";
+ end;
+ OnTimer340000:
+ npctalk "But love from love, toward school with heavy looks.";
+ end;
+ OnTimer356000:
+ npctalk "It is my soul that calls upon my name:";
+ end;
+ OnTimer358000:
+ npctalk "How silver-sweet sound lovers tongues by night,";
+ end;
+ OnTimer360000:
+ npctalk "Like softest music to attending ears!";
+ end;
+ OnTimer364000:
+ npctalk "My dear?";
+ end;
+ OnTimer370000:
+ npctalk "At the hour of nine.";
+ end;
+ OnTimer376000:
+ npctalk "Let me stand here till thou remember it.";
+ end;
+ OnTimer382000:
+ npctalk "And Ill still stay, to have thee still forget,";
+ end;
+ OnTimer384000:
+ npctalk "Forgetting any other home but this.";
+ end;
+ OnTimer398000:
+ npctalk "I would I were thy bird.";
+ end;
+ OnTimer410000:
+ npctalk "Sleep dwell upon thine eyes, peace in thy breast!";
+ end;
+ OnTimer412000:
+ npctalk "Would I were sleep and peace, so sweet to rest!";
+ end;
+ OnTimer414000:
+ npctalk "Hence will I to my ghostly fathers cell,";
+ end;
+ OnTimer416000:
+ npctalk "His help to crave, and my dear hap to tell.";
+ end;
+ OnTimer538000:
+ setnpctimer 0;
+ end;
+ OnInit:
+ npcspeed 150;
+ initnpctimer;
+ end;
+}
+
+ayothaya.gat,214,279,3 script Juliet 53,{
+ mes "[Juliet]";
+ mes "What is the next line? ";
+ close;
+ OnTimer54000:
+ npctalk "Ay me!";
+ end;
+ OnTimer72000:
+ npctalk "O Romeo, Romeo! wherefore art thou Romeo?";
+ end;
+ OnTimer74000:
+ npctalk "Deny thy father and refuse thy name;";
+ end;
+ OnTimer76000:
+ npctalk "Or, if thou wilt not, be but sworn my love,";
+ end;
+ OnTimer78000:
+ npctalk "And Ill no longer be a Capulet.";
+ end;
+ OnTimer82000:
+ npctalk "Tis but thy name that is my enemy;";
+ end;
+ OnTimer84000:
+ npctalk "Thou art thyself, though not a Montague.";
+ end;
+ OnTimer86000:
+ npctalk "Whats Montague? it is nor hand, nor foot,";
+ end;
+ OnTimer88000:
+ npctalk "Nor arm, nor face, nor any other part";
+ end;
+ OnTimer90000:
+ npctalk "Belonging to a man. O, be some other name!";
+ end;
+ OnTimer92000:
+ npctalk "Whats in a name? that which we call a rose";
+ end;
+ OnTimer94000:
+ npctalk "By any other name would smell as sweet;";
+ end;
+ OnTimer96000:
+ npctalk "So Romeo would, were he not Romeo calld,";
+ end;
+ OnTimer98000:
+ npctalk "Retain that dear perfection which he owes";
+ end;
+ OnTimer100000:
+ npctalk "Without that title. Romeo, doff thy name,";
+ end;
+ OnTimer102000:
+ npctalk "And for that name which is no part of thee";
+ end;
+ OnTimer104000:
+ npctalk "Take all myself.";
+ end;
+ OnTimer112000:
+ npctalk "What man art thou that thus bescreend in night";
+ end;
+ OnTimer114000:
+ npctalk "So stumblest on my counsel?";
+ end;
+ OnTimer126000:
+ npctalk "My ears have not yet drunk a hundred words";
+ end;
+ OnTimer128000:
+ npctalk "Of that tongues utterance, yet I know the sound:";
+ end;
+ OnTimer130000:
+ npctalk "Art thou not Romeo and a Montague?";
+ end;
+ OnTimer134000:
+ npctalk "How camest thou hither, tell me, and wherefore?";
+ end;
+ OnTimer136000:
+ npctalk "The orchard walls are high and hard to climb,";
+ end;
+ OnTimer138000:
+ npctalk "And the place death, considering who thou art,";
+ end;
+ OnTimer140000:
+ npctalk "If any of my kinsmen find thee here.";
+ end;
+ OnTimer150000:
+ npctalk "If they do see thee, they will murder thee.";
+ end;
+ OnTimer158000:
+ npctalk "I would not for the world they saw thee here.";
+ end;
+ OnTimer168000:
+ npctalk "By whose direction foundst thou out this place?";
+ end;
+ OnTimer180000:
+ npctalk "Thou knowst the mask of night is on my face,";
+ end;
+ OnTimer182000:
+ npctalk "Else would a maiden blush bepaint my cheek";
+ end;
+ OnTimer184000:
+ npctalk "For that which thou hast heard me speak to-night";
+ end;
+ OnTimer186000:
+ npctalk "Fain would I dwell on form, fain, fain deny";
+ end;
+ OnTimer188000:
+ npctalk "What I have spoke: but farewell compliment!";
+ end;
+ OnTimer190000:
+ npctalk "Dost thou love me? I know thou wilt say Ay,";
+ end;
+ OnTimer192000:
+ npctalk "And I will take thy word: yet if thou swearst,";
+ end;
+ OnTimer194000:
+ npctalk "Thou mayst prove false; at lovers perjuries";
+ end;
+ OnTimer196000:
+ npctalk "Then say, Jove laughs. O gentle Romeo,";
+ end;
+ OnTimer198000:
+ npctalk "If thou dost love, pronounce it faithfully:";
+ end;
+ OnTimer200000:
+ npctalk "Or if thou thinkst I am too quickly won,";
+ end;
+ OnTimer202000:
+ npctalk "Ill frown and be perverse an say thee nay,";
+ end;
+ OnTimer204000:
+ npctalk "So thou wilt woo; but else, not for the world.";
+ end;
+ OnTimer206000:
+ npctalk "In truth, fair Montague, I am too fond,";
+ end;
+ OnTimer208000:
+ npctalk "And therefore thou mayst think my havior light:";
+ end;
+ OnTimer210000:
+ npctalk "But trust me, gentleman, Ill prove more true";
+ end;
+ OnTimer212000:
+ npctalk "Than those that have more cunning to be strange.";
+ end;
+ OnTimer214000:
+ npctalk "I should have been more strange, I must confess,";
+ end;
+ OnTimer216000:
+ npctalk "But that thou overheardst, ere I was ware,";
+ end;
+ OnTimer218000:
+ npctalk "My true loves passion: therefore pardon me,";
+ end;
+ OnTimer220000:
+ npctalk "And not impute this yielding to light love,";
+ end;
+ OnTimer222000:
+ npctalk "Which the dark night hath so discovered.";
+ end;
+ OnTimer228000:
+ npctalk "O, swear not by the moon, the inconstant moon,";
+ end;
+ OnTimer230000:
+ npctalk "That monthly changes in her circled orb,";
+ end;
+ OnTimer232000:
+ npctalk "Lest that thy love prove likewise variable.";
+ end;
+ OnTimer236000:
+ npctalk "Do not swear at all;";
+ end;
+ OnTimer238000:
+ npctalk "Or, if thou wilt, swear by thy gracious self,";
+ end;
+ OnTimer240000:
+ npctalk "Which is the god of my idolatry,";
+ end;
+ OnTimer242000:
+ npctalk "And Ill believe thee.";
+ end;
+ OnTimer246000:
+ npctalk "Well, do not swear: although I joy in thee,";
+ end;
+ OnTimer248000:
+ npctalk "I have no joy of this contract to-night:";
+ end;
+ OnTimer250000:
+ npctalk "It is too rash, too unadvised, too sudden;";
+ end;
+ OnTimer252000:
+ npctalk "Too like the lightning, which doth cease to be";
+ end;
+ OnTimer254000:
+ npctalk "Ere one can say It lightens. Sweet, good night!";
+ end;
+ OnTimer256000:
+ npctalk "This bud of love, by summers ripening breath,";
+ end;
+ OnTimer258000:
+ npctalk "May prove a beauteous flower when next we meet.";
+ end;
+ OnTimer260000:
+ npctalk "Good night, good night! as sweet repose and rest";
+ end;
+ OnTimer262000:
+ npctalk "Come to thy heart as that within my breast!";
+ end;
+ OnTimer266000:
+ npctalk "What satisfaction canst thou have to-night?";
+ end;
+ OnTimer270000:
+ npctalk "I gave thee mine before thou didst request it:";
+ end;
+ OnTimer272000:
+ npctalk "And yet I would it were to give again.";
+ end;
+ OnTimer276000:
+ npctalk "But to be frank, and give it thee again.";
+ end;
+ OnTimer278000:
+ npctalk "And yet I wish but for the thing I have:";
+ end;
+ OnTimer280000:
+ npctalk "My bounty is as boundless as the sea,";
+ end;
+ OnTimer282000:
+ npctalk "My love as deep; the more I give to thee,";
+ end;
+ OnTimer284000:
+ npctalk "The more I have, for both are infinite.";
+ end;
+ OnTimer288000:
+ npctalk "I hear some noise within; dear love, adieu!";
+ end;
+ OnTimer290000:
+ npctalk "Anon, good nurse! Sweet Montague, be true.";
+ end;
+ OnTimer292000:
+ npctalk "Stay but a little, I will come again.";
+ end;
+ OnTimer302000:
+ npctalk "Three words, dear Romeo, and good night indeed.";
+ end;
+ OnTimer304000:
+ npctalk "If that thy bent of love be honourable,";
+ end;
+ OnTimer306000:
+ npctalk "Thy purpose marriage, send me word to-morrow,";
+ end;
+ OnTimer308000:
+ npctalk "By one that Ill procure to come to thee,";
+ end;
+ OnTimer310000:
+ npctalk "Where and what time thou wilt perform the rite;";
+ end;
+ OnTimer312000:
+ npctalk "And all my fortunes at thy foot Ill lay";
+ end;
+ OnTimer314000:
+ npctalk "And follow thee my lord throughout the world.";
+ end;
+ OnTimer318000:
+ npctalk "I come, anon.--But if thou meanst not well,";
+ end;
+ OnTimer320000:
+ npctalk "I do beseech thee--";
+ end;
+ OnTimer324000:
+ npctalk "By and by, I come:--";
+ end;
+ OnTimer326000:
+ npctalk "To cease thy suit, and leave me to my grief:";
+ end;
+ OnTimer328000:
+ npctalk "To-morrow will I send.";
+ end;
+ OnTimer332000:
+ npctalk "A thousand times good night!";
+ end;
+ OnTimer344000:
+ npctalk "Hist! Romeo, hist! O, for a falconers voice,";
+ end;
+ OnTimer346000:
+ npctalk "To lure this tassel-gentle back again!";
+ end;
+ OnTimer348000:
+ npctalk "Bondage is hoarse, and may not speak aloud;";
+ end;
+ OnTimer350000:
+ npctalk "Else would I tear the cave where Echo lies,";
+ end;
+ OnTimer352000:
+ npctalk "And make her airy tongue more hoarse than mine,";
+ end;
+ OnTimer354000:
+ npctalk "With repetition of my Romeos name.";
+ end;
+ OnTimer362000:
+ npctalk "Romeo!";
+ end;
+ OnTimer366000:
+ npctalk "At what oclock to-morrow";
+ end;
+ OnTimer368000:
+ npctalk "Shall I send to thee?";
+ end;
+ OnTimer372000:
+ npctalk "I will not fail: tis twenty years till then.";
+ end;
+ OnTimer374000:
+ npctalk "I have forgot why I did call thee back.";
+ end;
+ OnTimer378000:
+ npctalk "I shall forget, to have thee still stand there,";
+ end;
+ OnTimer380000:
+ npctalk "Remembering how I love thy company.";
+ end;
+ OnTimer386000:
+ npctalk "Tis almost morning; I would have thee gone:";
+ end;
+ OnTimer388000:
+ npctalk "And yet no further than a wantons bird;";
+ end;
+ OnTimer390000:
+ npctalk "Who lets it hop a little from her hand,";
+ end;
+ OnTimer392000:
+ npctalk "Like a poor prisoner in his twisted gyves,";
+ end;
+ OnTimer394000:
+ npctalk "And with a silk thread plucks it back again,";
+ end;
+ OnTimer396000:
+ npctalk "So loving-jealous of his liberty.";
+ end;
+ OnTimer400000:
+ npctalk "Sweet, so would I:";
+ end;
+ OnTimer402000:
+ npctalk "Yet I should kill thee with much cherishing.";
+ end;
+ OnTimer404000:
+ npctalk "Good night, good night! parting is such";
+ end;
+ OnTimer406000:
+ npctalk "sweet sorrow,";
+ end;
+ OnTimer408000:
+ npctalk "That I shall say good night till it be morrow.";
+ end;
+ OnTimer538000:
+ setnpctimer 0;
+ end;
+ OnInit:
+ npcspeed 150;
+ initnpctimer;
+ end;
+}
diff --git a/npc/custom/quests/bandit_beard.txt b/npc/custom/quests/bandit_beard.txt
new file mode 100644
index 000000000..8efb0243a
--- /dev/null
+++ b/npc/custom/quests/bandit_beard.txt
@@ -0,0 +1,234 @@
+//===== eAthena Script =======================================
+//= Bandit Beard Quest
+//===== By: ==================================================
+//= Mega Man Expert & Lupus
+//===== Current Version: =====================================
+//= 1.1b
+//===== Compatible With: =====================================
+//= eAthena 0.5.2 +
+//===== Description: =========================================
+//= A harmless quest for a simply item w/o any bonuses "Bandit Beard"
+//===== Additional Comments: =================================
+//= Fully working.
+//= 1.0 First release
+//= 1.1 Fixed some exploits, bugs and typos. Optimized 8) [Lupus]
+//= 1.1b fixed some typos
+//============================================================
+
+umbala.gat,126,129,4 script Bearded Man 120,{
+ if(BEARD_QUEST == 4 ) goto L_MAKE;
+ if(BEARD_QUEST >= 5 ) goto L_DONE;
+ if(BEARD_QUEST >= 1 ) goto L_THREAD;
+
+ mes "[Bearded Man]";
+ mes "Beards! Get your wonderful beards!";
+ mes "Would you like a beard?";
+ next;
+ menu "Yes, I'd like some facial hair!",-,"No thanks, thats gross!",M_NO;
+
+ mes "[Bearded Man]";
+ mes "HoHo~ So you want some whiskers.";
+ emotion 18;
+ mes "Well I would give you my beards but there not cheap.";
+ mes "Matter of fact I have only one left...";
+ mes "but I'm not selling it.";
+ mes "But don't get mad! I can make you one.";
+ next;
+ set BEARD_QUEST,1;
+L_THREAD:
+ mes "[Bearded Man]";
+ mes "I would need some ^8080FFThread^000000 for the Beard.";
+ mes "Talk to my friend in Izlude for some ^8080FFThread^000000.";
+ next;
+
+ mes "[Bearded Man]";
+ mes "Also I would need you to get me some things for the beard.";
+ mes "They are:";
+L_LIST:
+ mes "^8080FFElastic Band^000000";
+ mes "^8080FF5 Animal Skins^000000";
+ mes "^8080FFBlack Dye Stuff^000000";
+ mes "^8080FFGranpa Beard^000000";
+ mes "^8080FF100 sticky Mucus^000000";
+ mes "^8080FFCounteragent^000000";
+ mes " and one ^8080FF2 Carat Diamond^000000";
+ close;
+
+M_NO:
+ mes "[Bearded Man]";
+ mes "Fine, be that way!";
+ emotion 7;
+ close;
+
+L_DONE:
+ mes "[Bearded Man]";
+ mes "Sorry, I can only make one per person.";
+ mes "We dont want too many beards now. Right?";
+ emotion 29;
+ close;
+
+L_MAKE:
+ mes "[Bearded Man]";
+ mes "Let's make you your beard!";
+ next;
+ if(countitem(7200) < 1 || countitem(919) < 1 || countitem(983) < 1 || countitem(2241) < 1 ||
+ countitem(938) < 100 || countitem(973) < 1 || countitem(731) < 1) goto L_NOITEMS;
+ delitem 7200, 1;
+ delitem 919, 1;
+ delitem 983, 1;
+ delitem 2241, 1;
+ delitem 938, 100;
+ delitem 973, 1;
+ delitem 731, 1;
+ mes "^8080FF~You see him cutting and sewing the beard together~^000000";
+ next;
+ mes "^8080FF~He hands you the finished beard~^000000";
+ next;
+ getitem 2237, 1;
+ set BEARD_QUEST, 5;
+ mes "[Bearded Man]";
+ mes "Have a nice day!";
+ emotion 29;
+ close;
+
+L_NOITEMS:
+ mes "[Bearded Man]";
+ mes "What the hell! I can't make a beard without the items!";
+ mes "Here is the list again:";
+ emotion 23;
+ goto L_LIST;
+}
+
+//Master Tailor----------
+izlude_in.gat,123,175,4 script Master Tailor 50,{
+ mes "[Master Tailor]";
+ mes "Good evening! I am the Master Tailor!";
+ if(BEARD_QUEST != 1 ) close;
+
+ next;
+ mes "[Master Tailor]";
+ mes "What? A Bearded Man sent you...";
+ mes "Well I'm sorry to say that I am out of ^8080FFThread^000000.";
+ mes "But I have the address to where I get the shipments.";
+ mes "It is in Al de Baran Karfa Inc. warehouse area.";
+ mes "The address is: Al de Baran 59, 221";
+ mes "See you later.";
+ set BEARD_QUEST, 2;
+ close;
+}
+// Karfa Thread Clerk---
+aldeba_in.gat,70,179,5 script Karfa Clerk 113,{
+ mes "[Karfa Clerk]";
+ if(BEARD_QUEST == 3 ) goto L_REPEAT;
+ if(BEARD_QUEST > 3 ) goto L_DONE;
+
+ mes "What can I do for you?";
+ next;
+ if(BEARD_QUEST == 2 ) goto L_DELIVERY;
+
+ menu "What's in the boxes?",-,"Nothing.",M_NOPE;
+
+ mes "[Karfa Clerk]";
+ mes "They're empty.";
+M_NOPE:
+ close;
+
+L_DELIVERY:
+
+ mes "[Karfa Clerk]";
+ mes "Sorry but we have not received any ^8080FFThread^000000.";
+ mes "Our shipments have been put off until its safe.";
+ mes "You see we get our ^8080FFThread^000000 from Alberta and a monsters keeps attacking our merchants.";
+ next;
+ mes "[Karfa Clerk]";
+ mes "Now this monsters has not been doing this before.";
+ mes "It may have to do with the warmer months.";
+ mes "Please help us out!";
+ set BEARD_QUEST,3;
+ next;
+ mes "[Karfa Clerk]";
+L_REPEAT:
+ mes "Oh by the way, that Thread Merchant is somewhere around Alberta 60 and 100...";
+L_DONE:
+ mes "Thank You!";
+ close;
+}
+
+//Thread Merchant ------
+alberta.gat,65,123,6 script Man 85,{
+ if(BEARD_QUEST == 3 && $@beardMobD) goto L_KILLED;
+ if(BEARD_QUEST > 3) goto L_DONE;
+
+ mes "[Thread Merchant]";
+ mes "ARGGG!! I can never get my stuff to Al de Baran!";
+ mes "I keep getting mobbed by some bugs.";
+ mes "They steal all my supplies and ^8080FFThread^000000.";
+ next;
+ mes "[Thread Merchant]";
+
+ if(BEARD_QUEST != 3) mes "What am I to do?";
+ if(BEARD_QUEST != 3) close;
+
+ if($@beardmob > 0) mes "Kill! Kill them already!!!";
+ if($@beardmob > 0) close;
+ mes "Are you here to help me?";
+ emotion 1;
+ next;
+ menu "Yes",-,"No",M_NO;
+
+ mes "[Thread Merchant]";
+ mes "Oh thank the Gods!";
+ mes "If you can only just kill the bugs I would be able to make my delivery.";
+ next;
+ mes "[Thread Merchant]";
+ mes "Oh NO! Here they come!!";
+ emotion 19;
+ donpcevent "BRDQ_MOBS";
+ close;
+
+L_KILLED:
+ set $@beardMobD,0;
+ mes "[Thread Merchant]";
+ mes "Thank you for killing the Thief Bugs.";
+ mes "As a token of my gratitude here is a box full of ^8080FFThread^000000.";
+ set BEARD_QUEST,4;
+ close;
+
+L_DONE:
+ mes "[Thread Merchant]";
+ mes "Thank you again!";
+ emotion 15;
+ close;
+
+M_NO:
+ mes "[Thread Merchant]";
+ mes "What to do...";
+ close;
+}
+
+//mobsummons -------
+alberta.gat,1,1,1 script BRDQ_MOBS -1,{
+ set $@beardMob,10;
+ set $@beardMobD,0;
+ monster "alberta.gat",65,120,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie";
+ monster "alberta.gat",66,120,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie";
+ monster "alberta.gat",67,120,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie";
+ monster "alberta.gat",68,120,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie";
+ monster "alberta.gat",66,121,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie";
+ monster "alberta.gat",67,121,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie";
+ monster "alberta.gat",68,121,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie";
+ monster "alberta.gat",66,122,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie";
+ monster "alberta.gat",67,122,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie";
+ monster "alberta.gat",68,122,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie";
+ end;
+OnDie:
+ set $@beardmob, $@beardmob - 1;
+ if($@beardmob > 0) end;
+ set $@beardMobD,1;
+ end;
+On1201:
+On0001:
+ set $@beardMob,0;
+ set $@beardMobD,0;
+ end;
+} \ No newline at end of file
diff --git a/npc/custom/quests/berzebub.txt b/npc/custom/quests/berzebub.txt
new file mode 100644
index 000000000..9b26f7ad0
--- /dev/null
+++ b/npc/custom/quests/berzebub.txt
@@ -0,0 +1,74 @@
+//===== eAthena Script =======================================
+//= Berzebub Card Quest Script
+//===== By: ==================================================
+//= jabs
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any eAthena Version; RO Episode XX
+//===== Description: =========================================
+//= Quest to get the Berzebub Card
+//===== Additional Comments: =================================
+//= 1.1 Fixed ingredients. Was too exploitable [Lupus]
+//============================================================
+prontera.gat,165,178,8 script Old Woman 103,{
+ mes "[Old Woman]";
+ if(BerzQuest == 1) goto L_Already;
+ mes "Greeting lad. I found a really nifty item while I was picking mushrooms near Glast Heim.";
+ next;
+ menu "Keep talking",-, "Leave", M_Leave;
+
+ mes "[Old Woman]";
+ mes "I have never seen an item like this before. I am told it can be placed inside am accessory that has a slot avaiable in it.";
+ next;
+ mes "[Old Woman]";
+ mes "If you're interested in this item, tell me and I'll tell you what you need for me to make you one of your own. I can only give one of these to each player, so once you finish this quest once, you may not do it again.";
+ next;
+ menu "Tell me more about it",-, "Nah, I don't care about it", M_Leave;
+
+ mes "[Old Woman]";
+ mes "I believe the item is called a ^FF0000Berzebub Card^000000. It can make any spell caster cast spells really fast!";
+ next;
+ mes "[Old Woman]";
+ mes "I need all of the following items:";
+ mes "^0080FF25^000000 Emperiums";
+ mes "^0080FF100^000000 Witched Starsands";
+ mes "^0080FF200^000000 Needles of Alarm";
+ mes "^0080FF10^000000 Worn Out Scrolls";
+ mes "^0080FF2^000000 Biblies";
+ mes "^0080FF1^000000 Wand of the Occult";
+ mes "^0080FF20^000000 Opals";
+ next;
+ menu "I have all that!",-, "I'll get those ASAP", M_Leave;
+
+ mes "[Old Woman]";
+ mes "Anyone can say they have the items, but do they really have them? Let's take a look here...";
+ next;
+ mes "[Old Woman]";
+ if(countitem(714) < 25 || countitem(1061) < 100 || countitem(1095) < 200 || countitem(618) < 10 || countitem(1551) < 2 || countitem(1614) < 1 || countitem(727) < 20) goto L_noItems;
+ delitem 714, 25;
+ delitem 1061, 100;
+ delitem 1095, 200;
+ delitem 618, 10;
+ delitem 1551, 2;
+ delitem 1614, 1;
+ delitem 727, 20;
+ getitem 4145, 1;
+ set BerzQuest, 1;
+ mes "Well congratulations! You have all the items. Here is your ^FF0000Berzebub Card^000000, just as I promised.";
+ emotion e_grat;
+ close;
+
+ M_Leave:
+ mes "[Old Woman]";
+ mes "Such a great item I have right here...";
+ close;
+
+ L_noItems:
+ mes "I knew you were lying! Get out of here and get those items you sorry excuse for a rock star.";
+ close;
+
+ L_Already:
+ mes "Hey I remember you! I already told you that you may only complete this quest once.";
+ close;
+}
diff --git a/npc/custom/quests/dead_branch.txt b/npc/custom/quests/dead_branch.txt
new file mode 100644
index 000000000..73e226fe7
--- /dev/null
+++ b/npc/custom/quests/dead_branch.txt
@@ -0,0 +1,105 @@
+//===== eAthena Script =======================================
+//= Dead Branch (+Bloody Branch) Quest
+//===== By: ==================================================
+//= GM-Yevon
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 0.5.2 +
+//===== Description: =========================================
+// Simple item trade-in quest, a person can get a Dead Branch
+// by simply providing the items: Log x3 (7201), Wooden Heart x1 (7189),
+// Trunk x5 (1019), and Wooden Gnarl x1 (7222).
+//===== Additional Comments: =================================
+//= Fully working.
+//= 1.1 Optimized, added Bloody Branch with 0.01% chance [Lupus]
+//============================================================
+
+niflheim.gat,204,179,3 script Mister Mobry 121,{
+
+ mes "[Mister Mobry]";
+ mes "Trees possess spirits you know...";
+ next;
+
+ mes "[Mister Mobry]";
+ mes "In fact I know a secret about these spirits that can in some way... perhaps aid you...";
+ next;
+
+ mes "[Mister Mobry]";
+ mes "I can create a spirited branch... That is, if you can provide me with the correct materials...";
+ next;
+ goto L_MENU;
+
+L_MENU:
+ menu "What Do I Need?",-,"Where Can I find this Crap?",M_FIND,"Make me a Dead Branch!",M_CREATE,"Forget it...",M_END;
+
+ mes "[Mister Mobry]";
+ mes "Mwehehe... I see you want to control tree spirits am I right? Ok... I need:";
+ mes "^1354453 Logs^000000";
+ mes "^1354451 Wooden Heart^000000";
+ mes "^1354455 Trunk^000000";
+ mes "^1354451 Wooden Gnarl^000000";
+ next;
+ goto L_MENU;
+
+M_FIND:
+ mes "[Mister Mobry]";
+ mes "You can find the following items from certain monsters heheh...";
+ mes "^135445Logs can be found off of Tree Golems.^000000";
+ mes "^135445Wooden Hearts the essence of Tree Golems.^000000";
+ mes "^135445Trunks? Seriously, think wood...^000000";
+ mes "^135445Wooden Gnarl... Gibbet...^000000";
+ next;
+ goto L_MENU;
+
+L_NOLOG:
+ mes "[Mister Mobry]";
+ mes "^135445Logs^000000 are the body... I need more of them.";
+ mes "Get me three logs and I'll make you the spirit...";
+ close;
+
+L_NOHEART:
+ mes "[Mister Mobry]";
+ mes "The ^135445Wooden Heart^000000 is the essence of the spirit.";
+ mes "Get me one wooden heart and I'll make you the spirit...";
+ close;
+
+L_NOTRUNK:
+ mes "[Mister Mobry]";
+ mes "What? You couldn't even find ^1354455 Trunks^000000?";
+ mes "Kill Elder Willows or something... Geez... no trunks heh... pathetic.";
+ close;
+
+L_NOGNARL:
+ mes "[Mister Mobry]";
+ mes "How can I make one without a ^135445Wooden Gnarl^000000?";
+ mes "I said Gibbet... they are all around this place...";
+ close;
+
+M_CREATE:
+ mes "[Mister Mobry]";
+ mes "Well...let us see what you brought me...";
+ next;
+ if(countitem(7201)<3) goto L_NOLOG;
+ if(countitem(7189)<1) goto L_NOHEART;
+ if(countitem(1019)<5) goto L_NOTRUNK;
+ if(countitem(7222)<1) goto L_NOGNARL;
+ delitem 7201,3;
+ delitem 7189,1;
+ delitem 1019,5;
+ delitem 7222,1;
+ mes "[Mister Mobry]";
+ mes "Heh... Hope you have fun with the tree spirits... Careful now...";
+ mes "Heh... careful now? What do I care if you di..... Never mind.";
+ if(rand(1000)==0) goto L_GIVE2;
+ getitem 604,1; //Dead Branch
+ close;
+L_GIVE2:
+ getitem 12103,1; //Bloody Branch
+ close;
+
+M_END:
+ mes "[Mister Mobry]";
+ mes "No spirit for you... then go!";
+ close;
+}
diff --git a/npc/custom/quests/elvenear.txt b/npc/custom/quests/elvenear.txt
new file mode 100644
index 000000000..475f7c87f
--- /dev/null
+++ b/npc/custom/quests/elvenear.txt
@@ -0,0 +1,67 @@
+//===== eAthena Script =======================================
+//= Daily Job Quest For Elven Ears
+//===== By: ==================================================
+//= Someone
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 1.0
+//===== Description: =========================================
+//= Elven Ears (require 75+ Base Level)
+//===== Additional Comments: =================================
+//= Optimized [Lupus], 1.1 misc fix
+//= 1.2 Fixed exploit [Lupus]
+//============================================================
+
+geffen.gat,127,49,5 script Elven Ears Quest 84,{
+ mes "[Elven Ears Quest]";
+ mes "Hi, today's quest is....";
+ mes "Ah, the ^61B031Elven Ears ^000000Quest!";
+ next;
+ menu "Requirements",L_Bl, "Make Item",-, "Cancel",L_Cancel;
+
+ mes "[Elven Ears quest]";
+ mes "Good good, let me just check";
+ if(countitem(2213)<1 || countitem(1040)<20 || countitem(919)<20) goto L_NoMake;
+ delitem 2213,1;
+ delitem 1040,20;
+ delitem 919,20;
+ next;
+ mes "[Elven Ears quest]";
+ mes "Give me a second.....";
+ next;
+ getitem 2286,1;
+ mes "[Elven Ears Quest]";
+ mes "Ok done!";
+ close;
+
+L_NoMake:
+ mes "[Elven Ears Quest]";
+ mes "You don't have the requirements.";
+ mes "Please come back another time...";
+ close;
+
+L_Bl:
+ mes "Ok all you have to do is collect:";
+ mes "^362ED61 Kitty Band^000000";
+ mes "^362ED620 Elder Pixie Mustaches^000000";
+ mes "and ^362ED620 Animal Skin^000000";
+ next;
+
+ menu "Accept",-, "Leave",L_Leave;
+
+ mes "When you are done, bring the items to me. Ok good luck finding those items.";
+ close;
+
+L_Leave:
+ mes "[Elven Ears quest]";
+ mes "Maybe another time?";
+ close;
+
+L_Cancel:
+ mes "[Elven Ears quest]";
+ mes "Aw, what a shame";
+ mes "Giving up already?";
+ mes "Oh well maybe you will participate in tommorow's quest.";
+ close;
+}
diff --git a/npc/custom/quests/event_6_new_hats.txt b/npc/custom/quests/event_6_new_hats.txt
new file mode 100644
index 000000000..4c00ede00
--- /dev/null
+++ b/npc/custom/quests/event_6_new_hats.txt
@@ -0,0 +1,372 @@
+//===== eAthena Script =======================================
+//= Custom Quest For New Headgears
+//===== By: ==================================================
+//= RedxSwordxHero, Lupus
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena 1.0
+//===== Description: =========================================
+//= 4 brothers give you quests to get 6 new hats (missing
+//= from official quests)
+//= Use this custom quest instead of event_32_new_hats.txt
+//= -Bongun Hat
+//= -Poring Hat, Sphinx Hat
+//= -Kafra Band, Panda Hat
+//= -Crescent Hairpin
+//===== Additional Comments: =================================
+//= Event New Hats by RedxSwordxHero
+//= Ported and improved with timers [Lupus]
+//= Thanks to x[tsk],fixed all item requirments to iRO specs exept
+//= for hats which cannot be made on the real server. [Lupus]
+//= 1.2 removed already existing official hat quests [Lupus]
+//= 1.3 Spiffed up the NPC coords and their appearance [Lupus]
+//= 1.4 Fixed exploits [Lupus]
+//============================================================
+
+
+prt_in.gat,130,66,5 script Zac 704,{
+ mes "[Zac]";
+ mes "I am the oldest and strongest of the 4 brothers that makes all the newer hats. You will need to bring me the correct items for each hat, so I can make them.";
+ next;
+ mes "[Zac]";
+ mes "I provide 8 hats and my brothers provides the other 24.";
+ next;
+ menu "Join",L1,"Information",L2,"Cancel",L3;
+L1:
+ mes "[Zac]";
+ mes "What hat do you want me to make?";
+ next;
+ menu "Bongun Hat",L1_4;
+L1_4:
+ mes "[Zac]";
+ mes "Let me check the items you have brought here.";
+ next;
+ if(countitem(609) < 10) goto L_ITEM_1c;//Items: Amulet,
+ if(countitem(978) < 1) goto L_ITEM_2c;//Items: Cobaltblue Dyestuff,
+ if(countitem(2264) < 1) goto L_ITEM_3c;//Items: Munak Hat,
+ delitem 609,10;//Items: Amulet,
+ delitem 978,1;//Items: Cobaltblue Dyestuff,
+ delitem 2264,1; //Items: Munak Hat,
+ mes "[Zac]";
+ mes "Wow!! Well done! Finally you have gathered all items needed! We will make the Bongun Hat for you right away. Please Wait a Moment.";
+ next;
+ mes "[Zac]";
+ mes "Tah Dah! ^FF0000Bongun Hat^000000...! Please Take it!";
+ getitem 5046,1;//Items: Bongun Hat,
+ next;
+ mes "[Zac]";
+ mes "I liked that, I look forward to making more. Thank you.";
+ close;
+L_ITEM_1c:
+ mes "[Zac]";
+ mes "Oh, dear. You need 10 Amulets...";
+ close;
+L_ITEM_2c:
+ mes "[Zac]";
+ mes "Oh, dear. You need 1 Cobaltblue Dyestuff...";
+ close;
+L_ITEM_3c:
+ mes "[Zac]";
+ mes "Oh, dear. You need 1 Munak Hat...";
+ close;
+L2:
+ mes "[Zac]";
+ mes "Which hat materials do you wish to know?";
+ next;
+ menu "Bongun Hat",L2_4;
+L2_4:
+ mes "[Zac]";
+ mes "You need 10 Amulets, 1 Cobaltblue Dyestuff and 1 Munak Hat for Bongun Hat.";
+ close;
+L3:
+ mes "[Zac]";
+ mes "Stop by some other time with the right materials, so I can make the hats for you.";
+ close;
+}
+
+prt_in.gat,162,131,5 script Blac 732,{
+ mes "[Blac]";
+ mes "I am the youngest and sexiest of the 4 brothers that makes all the newer hats. You will need to bring me the correct items for each hat, so I can make them.";
+ next;
+ mes "[Blac]";
+ mes "I provide 8 hats and my brothers provides the other 24.";
+ next;
+ menu "Join",L1,"Information",L2,"Cancel",L3;
+L1:
+ mes "[Blac]";
+ mes "What hat do you want me to make?";
+ next;
+ menu "Crescent Hairpin",L1_9;
+L1_9:
+ mes "[Blac]";
+ mes "Let me check the items you have brought here.";
+ next;
+ if(countitem(5041) < 1) goto L_ITEM_1;//Items: Heart Hairpin,
+ if(countitem(999) < 10) goto L_ITEM_2;//Items: Steel,
+ delitem 5041,1;//Items: Heart Hairpin,
+ delitem 999,10; //Items: Steel,
+ mes "[Blac]";
+ mes "Wow!! Well done! Finally you have gathered all items needed! We will make the Crescent Hairpin for you right away. Please Wait a Moment.";
+ next;
+ mes "[Blac]";
+ mes "Tah Dah! ^FF0000Crescent Hairpin^000000...! Please Take it!";
+ getitem 5048,1;//Items: Cresent Hairpin,
+ next;
+ mes "[Blac]";
+ mes "I liked that, I look forward to making more. Thank you.";
+ close;
+L_ITEM_1:
+ mes "[Blac]";
+ mes "Oh, dear. You need 1 Heart Hairpin...";
+ close;
+L_ITEM_2:
+ mes "[Blac]";
+ mes "Oh, dear. You need 10 Steels...";
+ close;
+L2:
+ mes "[Blac]";
+ mes "Which hat materials do you wish to know?";
+ next;
+ menu "Crescent Hairpin",L2_9;
+L2_9:
+ mes "[Blac]";
+ mes "You need 1 Heart Hairpin and 10 Steels for Crescent Hairpin.";
+ close;
+L3:
+ mes "[Blac]";
+ mes "Stop by some other time with the right materials, so I can make the hats for you.";
+ close;
+}
+
+prt_in.gat,53,56,5 script Jac 107,{
+ mes "[Jac]";
+ mes "I am the 2nd oldest and calmest of the 4 brothers that makes all the newer hats. You will need to bring me the correct items for each hat, so I can make them.";
+ next;
+ mes "[Jac]";
+ mes "I provide 8 hats and my brothers provides the other 24.";
+ next;
+ menu "Join",L1,"Information",L2,"Cancel",L3;
+L1:
+ mes "[Jac]";
+ mes "What hat do you want me to make?";
+ next;
+ menu "Kafra Band",L1_19,"Panda Hat",L1_24;
+L1_19:
+ mes "[Jac]";
+ mes "Let me check the items you have brought here.";
+ next;
+ if(countitem(10007) < 1) goto L_ITEM_1b;//Items: Silk Ribbon,
+ if(countitem(10008) < 1) goto L_ITEM_2b;//Items: Punisher,
+ delitem 10007,1;//Items: Silk Ribbon,
+ delitem 10009,1; //Items: Wild Flower,
+ mes "[Jac]";
+ mes "Wow!! Well done! Finally you have gathered all items needed! We will make the Kafra Band for you right away. Please Wait a Moment.";
+ next;
+ mes "[Jac]";
+ mes "Tah Dah! ^FF0000Kafra Band^000000...! Please Take it!";
+ getitem 5020,1;//Items: Kafra's Band,
+ next;
+ mes "[Jac]";
+ mes "I liked that, I look forward to making more. Thank you.";
+ close;
+L_ITEM_1b:
+ mes "[Jac]";
+ mes "Oh, dear. You need 1 Silk Ribbon...";
+ close;
+L_ITEM_2b:
+ mes "[Jac]";
+ mes "Oh, dear. You need 1 Wild Flower...";
+ close;
+L1_24:
+ mes "[Jac]";
+ mes "Let me check the items you have brought here.";
+ next;
+ if(countitem(999) < 10) goto L_ITEM_1g;//Items: Steel,
+ if(countitem(948) < 200) goto L_ITEM_2g;//Items: Bears Footskin,
+ delitem 999,10;//Items: Steel,
+ delitem 948,200; //Items: Bears Footskin,
+ mes "[Jac]";
+ mes "Wow!! Well done! Finally you have gathered all items needed! We will make the Panda Hat for you right away. Please Wait a Moment.";
+ next;
+ mes "[Jac]";
+ mes "Tah Dah! ^FF0000Panda Hat^000000...! Please Take it!";
+ getitem 5030,1;//Items: Panda Hat,
+ next;
+ mes "[Jac]";
+ mes "I liked that, I look forward to making more. Thank you.";
+ close;
+L_ITEM_1g:
+ mes "[Jac]";
+ mes "Oh, dear. You need 10 Steels...";
+ close;
+L_ITEM_2g:
+ mes "[Jac]";
+ mes "Oh, dear. You need 200 Bear Footskins...";
+ close;
+L2:
+ mes "[Jac]";
+ mes "Which hat materials do you wish to know?";
+ next;
+ menu "Kafra Band",L2_19,"Panda Hat",L2_24;
+L2_19:
+ mes "[Jac]";
+ mes "You need 1 Silk Ribbon and 1 Wild Flower for Kafra Band.";
+ close;
+L2_24:
+ mes "[Jac]";
+ mes "You need 10 Steels and 200 Bear Footskins for Panda Hat.";
+ close;
+L3:
+ mes "[Jac]";
+ mes "Stop by some other time with the right materials, so I can make the hats for you.";
+ close;
+}
+
+prt_in.gat,45,113,5 script Pac 705,{
+ mes "[Pac]";
+ mes "I am 3rd oldest and wisest of the 4 brothers that makes all the newer hats. You will need to bring me the correct items for each hat so I can make them.";
+ next;
+ mes "[Pac]";
+ mes "I provide 8 hats and my brothers provides the other 24.";
+ next;
+ menu "Join",L1,"Information",L2,"Cancel",L3;
+L1:
+ mes "[Pac]";
+ mes "What hat do you want me to make?";
+ next;
+ menu "Poring Hat",L1_26,"Sphinx Hat",L1_29;
+L1_26:
+ mes "[Pac]";
+ mes "Let me check the items you have brought here.";
+ next;
+ if(countitem(741) < 1) goto L_ITEM_1a;//Items: Poring Doll,
+ if(countitem(909) < 300) goto L_ITEM_2a;//Items: Jellopy,
+ delitem 741,1;//Items: Poring Doll,
+ delitem 909,300;//Items: Jellopy,
+ mes "[Pac]";
+ mes "Wow!! Well done! Finally you have gathered all items needed! We will make the Poring Hat for you right away. Please Wait a Moment.";
+ next;
+ mes "[Pac]";
+ mes "Tah Dah! ^FF0000Poring Hat^000000...! Please Take it!";
+ getitem 5035,1;//Items: Poring Hat,
+ next;
+ mes "[Pac]";
+ mes "I liked that, I look forward to making more. Thank you.";
+ close;
+L_ITEM_1a:
+ mes "[Pac]";
+ mes "Oh, dear. You need 1 Poring Doll...";
+ close;
+L_ITEM_2a:
+ mes "[Pac]";
+ mes "Oh, dear. You need 300 Jellopys...";
+ close;
+L1_29:
+ mes "[Pac]";
+ mes "Let me check the items you have brought here.";
+ next;
+ if(countitem(999) < 25) goto L_ITEM_1d;//Items: Steel,
+ if(countitem(979) < 1) goto L_ITEM_2d;//Items: Darkgreen Dyestuff,
+ if(countitem(976) < 1) goto L_ITEM_3d;//Items: Lemon Dyestuffs,
+ if(countitem(1059) < 150) goto L_ITEM_4d;//Items: Fabric,
+ if(countitem(969) < 2) goto L_ITEM_5d;//Items: Gold,
+ delitem 999,25;//Items: Steel,
+ delitem 979,1;//Items: Darkgreen Dyestuff,
+ delitem 976,1;//Items: Lemon Dyestuffs,
+ delitem 1059,150;//Items: Fabric,
+ delitem 969,2; //Items: Gold,
+ mes "[Pac]";
+ mes "Wow!! Well done! Finally you have gathered all items needed! We will make the Sphinx Hat for you right away. Please Wait a Moment.";
+ next;
+ mes "[Pac]";
+ mes "Tah Dah! ^FF0000Sphinx Hat^000000...! Please Take it!";
+ getitem 5053,1;//Items: Sphinx Hat,
+ next;
+ mes "[Pac]";
+ mes "I liked that, I look forward to making more. Thank you.";
+ close;
+L_ITEM_1d:
+ mes "[Pac]";
+ mes "Oh, dear. You need 25 Steels...";
+ close;
+L_ITEM_2d:
+ mes "[Pac]";
+ mes "Oh, dear. You need 1 DarkGreen Dyestuff...";
+ close;
+L_ITEM_3d:
+ mes "[Pac]";
+ mes "Oh, dear. You need 1 Lemon Dyestuff...";
+ close;
+L_ITEM_4d:
+ mes "[Pac]";
+ mes "Oh, dear. You need 150 Fabric...";
+ close;
+L_ITEM_5d:
+ mes "[Pac]";
+ mes "Oh, dear. You need 2 Gold Bar's...";
+ close;
+L2:
+ mes "[Pac]";
+ mes "Which hat materials do you wish to know?";
+ next;
+ menu "Poring Hat",L2_26,"Sphinx Hat",L2_29;
+L2_26:
+ mes "[Pac]";
+ mes "You need 1 Poring Doll and 300 Jellopys for Poring Hat.";
+ close;
+L2_29:
+ mes "[Pac]";
+ mes "You need 25 Steels, 1 DarkGreen Dyestuff, 1 Lemon Dyestuff, 150 Fabric and 2 Gold Bar's for Sphinx Hat.";
+ close;
+L3:
+ mes "[Pac]";
+ mes "Stop by some other time with the right materials, so I can make the hats for you.";
+ close;
+}
+
+
+//these scripts make our brothers to appear and disappear in order
+- script EDZac -1,{
+OnInit:
+OnMinute15:
+ disablenpc "Zac";
+ end;
+OnMinute01:
+ if(rand(2)) end;
+ enablenpc "Zac";
+ end;
+}
+
+- script EDJac -1,{
+OnInit:
+OnMinute30:
+ disablenpc "Jac";
+ end;
+OnMinute16:
+ if(rand(2)) end;
+ enablenpc "Jac";
+ end;
+}
+
+- script EDPac -1,{
+OnInit:
+OnMinute45:
+ disablenpc "Pac";
+ end;
+OnMinute31:
+ if(rand(2)) end;
+ enablenpc "Pac";
+ end;
+}
+
+- script EDBlac -1,{
+OnInit:
+OnMinute00:
+ disablenpc "Blac";
+ end;
+OnMinute46:
+ if(rand(2)) end;
+ enablenpc "Blac";
+ end;
+}
diff --git a/npc/custom/quests/fashion.txt b/npc/custom/quests/fashion.txt
new file mode 100644
index 000000000..8058f07a0
--- /dev/null
+++ b/npc/custom/quests/fashion.txt
@@ -0,0 +1,67 @@
+//===== eAthena Script =======================================
+//= Quest for Fashion Glasses (Daily Job Quest)
+//===== By: ==================================================
+//= 1.1 None
+//===== Current Version: =====================================
+//= Any
+//===== Compatible With: =====================================
+//= eAthena
+//===== Description: =========================================
+//= Quest for Fashion Glasses
+//===== Additional Comments: =================================
+//= 1.0 Fully Working [Lupus]
+//= 1.1 fixed exploit [Lupus]
+//============================================================
+
+izlude.gat,135,96,5 script Fashion Glasses Quest 76,{
+ mes "[Fashionable Glasses Quest]";
+ mes "Hi, today's quest is....";
+ mes "Ah, the ^CC6633Fashionable Glasses^000000 Quest!";
+ next;
+ menu "Requirements",M_INFO,"Make Item",-,"Cancel",M_CANCEL;
+
+ mes "[Fashionable Glasses Quest]";
+ mes "Good good, let me just check";
+ if(countitem(2271)<1 || countitem(975)<1) goto M_NOITEMS;
+ delitem 2271,1;
+ delitem 975,1;
+ next;
+ mes "[Fashionable Glasses Quest]";
+ mes "Give me a second.....";
+ next;
+ getitem 5047,1;
+ mes "[Fashionable Glasses Quest]";
+ mes "Ok done!";
+ close;
+
+M_NOITEMS:
+ mes "[Fashionable Glasses Quest]";
+ mes "You don't have the requirements.";
+ mes "Please come back another time...";
+ close;
+
+M_INFO:
+ mes "Ok all you have to do is collect";
+ mes "^CC66331 Jack'a Dandy^000000";
+ mes "and ^CC66331 Scalet Dyestuff^000000.";
+ next;
+ menu "Accept",-,"Leave",M_LEAVE;
+
+ mes "When you are done, bring the items to me,";
+ mes "Ok good luck finding those items.";
+ close;
+
+M_LEAVE:
+ mes "[Fashionable Glasses Quest]";
+ mes "Maybe another time?";
+ close;
+
+M_CANCEL:
+ mes "[Fashionable Glasses Quest]";
+ mes "Aw, what a shame";
+ mes "Giving up already?";
+ mes "Oh well maybe you will";
+ mes "participate in tommorow's";
+ mes "quest.";
+ close;
+}
diff --git a/npc/custom/quests/ironcane.txt b/npc/custom/quests/ironcane.txt
new file mode 100644
index 000000000..39b5f0aaa
--- /dev/null
+++ b/npc/custom/quests/ironcane.txt
@@ -0,0 +1,49 @@
+//===== eAthena Script =======================================
+//= Quest For Iron Cain
+//===== By: ==================================================
+//= eA Dev Team
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0
+//===== Description: =========================================
+//= Iron Cain (lower part of a full helmet)
+//===== Additional Comments: =================================
+//= 1.1 Fixed exploit [Lupus]
+//============================================================
+
+payon.gat,109,118,5 script Iron Cain Quest 76,{
+ mes "[Iron Cain Quest]";
+ mes "Here's what you need";
+ mes "The requirements, should you be brave enough to collect them, are:";
+ mes "- 200 Orcish vouchers";
+ mes "- 1 Heroic Emblem";
+ next;
+ mes "[Iron Cain Quest]";
+ mes "Are you ready for me to make this special item?";
+ next;
+ menu "Sure am!",-, "The requirements are unfathomable!",L_Unfathomable;
+
+ mes "[Iron Cain Quest]";
+ if(countitem(931) < 200 || countitem(968) < 1) goto L_NotEnough;
+ delitem 931,200;
+ delitem 968,1;
+ mes "Wow! You are brave indeed!";
+ next;
+ mes "[Iron Cain Quest]";
+ mes "Enjoy!";
+ getitem 2266,1;
+ close;
+
+L_NotEnough:
+ mes ". . .I'm sorry. You don't have enough money and items.";
+ mes "I can't afford to make this if you don't bring all materials needed.";
+ mes "Please understand this is to benefit heroes such as yourself!";
+ close;
+
+L_Unfathomable:
+ mes "[Iron Cain Quest]";
+ mes "What I had to go through was more unfathomable..";
+ mes "If you succeed in getting these items, you will have incredible strength!";
+ close;
+}
diff --git a/npc/custom/quests/kaho_balmung.txt b/npc/custom/quests/kaho_balmung.txt
new file mode 100644
index 000000000..a0a0975aa
--- /dev/null
+++ b/npc/custom/quests/kaho_balmung.txt
@@ -0,0 +1,76 @@
+// $Id: kaho_balmung.txt,v 1.1.1.1 2004/09/10 17:26:46 MagicalTux Exp $
+//-------------------- 'Balmung & Lord Kaho's Horns' Quest --------------------
+// Warning! Don't use this quest 8)
+
+prontera.gat,158,356,4 script Royal Messenger 105,{
+ mes "[Royal Messenger]";
+ mes "Welcome to prontera, I am the Royal Messenger in charge of the royal quest.";
+ next;
+ menu "Listen",-,"No",Lend;
+
+ mes "[Royal Messenger]";
+ mes "There are too quests please chose the one you must like.";
+ next;
+ menu "Balmung",-,"Lord Kahos horns",Lkahos,"No",Lend;
+
+ mes "[Royal Messenger]";
+ mes "The Balmung quest consist of the next items:";
+ mes "120 Steel";
+ mes "10 Oridecon";
+ mes "10 Rough Wind";
+ mes "10 Flame Heart";
+ mes "10 Mystic Frozen";
+ mes "10 Great Nature";
+ mes "1,000,000z";
+ next;
+ if(countitem(999)<120 || countitem(984)<10 || countitem(996)<10 || countitem(994)<10
+ || countitem(995)<10 || countitem(997)<10 || Zeny<1000000) goto NoItems;
+ delitem 999,120;
+ delitem 984,10;
+ delitem 996,10;
+ delitem 994,10;
+ delitem 995,10;
+ delitem 997,10;
+ set Zeny,Zeny-1000000;
+ mes "[Royal Messenger]";
+ mes "I see you already have all the items you need.";
+ mes "nice work.";
+ getitem 1161,1;
+ close;
+
+Lkahos:
+ mes "[Royal Messenger]";
+ mes "The Lord Kahos horns quest consists of the next items:";
+ mes "1 Green Feelers";
+ mes "10 Star Dust";
+ mes "10 Rough Wind";
+ mes "10 Flame Heart";
+ mes "10 Mystic Frozen";
+ mes "10 Great Nature";
+ mes "1,000,000z";
+ next;
+ if(countitem(2298)<1 || countitem(1001)<10 || countitem(996)<10 || countitem(994)<10
+ || countitem(995)<10 || countitem(997)<10 || Zeny<1000000) goto NoItems;
+ delitem 2298,1;
+ delitem 1001,10;
+ delitem 996,10;
+ delitem 994,10;
+ delitem 995,10;
+ delitem 997,10;
+ set Zeny,Zeny-1000000;
+ mes "[Royal Messenger]";
+ mes "I see you already have all the items you need.";
+ mes "nice work.";
+ getitem 5013,1;
+ close;
+
+Lend:
+ mes "[Royal Messenger]";
+ mes "Have a nice day.";
+ close;
+NoItems:
+ mes "[Royal Messenger]";
+ mes "Sorry you dont have all the items or zeny I need.";
+ mes "Come back when you have them all";
+ close;
+}
diff --git a/npc/custom/quests/kahohorn.txt b/npc/custom/quests/kahohorn.txt
new file mode 100644
index 000000000..2a74b6c06
--- /dev/null
+++ b/npc/custom/quests/kahohorn.txt
@@ -0,0 +1,84 @@
+//This quest is custom. Don't use it.
+
+geffen.gat,115,107,5 script Lord Kaho's Servant 61,{
+ mes "[Lord Kaho's Servant]";
+ mes "I worked myself to death trying to fulfill Lord Kaho's ridiculous expectations for a headgear!";
+ mes "Now that I've finally found the formula for the perfect headgear, I'm willing to share my time and talents";
+ next;
+ mes "You need the following to get the Kaho horns!";
+ mes "3 emperiums";
+ mes "Oh yea... i also forgot to mention these X_X";
+ next;
+ mes "1 Skull - From Dark Lord";
+ mes "1 Heroic Emblem - From Orc Hero";
+ mes "1 Evil Horn - From Baphomet";
+ mes "1 Red Frame - From Doppelganger";
+ mes "1 Smoking Pipe - From Eddga";
+ mes "1 Fang of Garm - From Garm";
+ mes "1 Mother's Nightmare - From Maya";
+ mes "1 Sphynx Hat - from Osiris";
+ mes "1 Diamond Ring - from Mistress";
+ next;
+ mes "Were' not done yet sweety...";
+ mes "Im a big fan of dolls, so you need to bring me these cuties";
+ mes "1 Poring Doll - a Poring drop";
+ mes "1 Chonchon Doll - a Chonchon Drop";
+ mes "1 Baphomet Doll - a Baphomet drop";
+ mes "1 Osiris Doll - an Osiris drop";
+ mes "1 Rocker Doll - a Rocker drop";
+ mes "1 Apez Fanitem Doll - a Yoyo drop";
+ mes "1 Racoon Doll - a Smokie drop";
+ mes "1 Spore Doll - a Spore drop";
+ next;
+ mes "Finally, i worked hard to make these horns for my master with all the mentioned items above...";
+ mes "Please include 5 million zeny for my efforts.";
+ next;
+ mes "[Lord Kaho's Servant]";
+ mes ". . . . . .";
+ mes "Are you ready for me to make this special item?";
+ next;
+ menu "Sure am!",-,"These requirements are unfathomable!",LUnfathomable;
+
+ mes "[Lord Kaho's Servant]";
+ if(countitem(754) < 1 || countitem(753) < 1 || countitem(752) < 1 || countitem(751) < 1 || countitem(750) < 1
+ || countitem(743) < 1 || countitem(742) < 1 || countitem(741) < 1 || countitem(2613) < 1
+ || countitem(5053) < 1 || countitem(7020) < 1 || countitem(7036) < 1 || countitem(2268) < 1
+ || countitem(734) < 1 || countitem(923) < 1 || countitem(968) < 1 || countitem(7005) < 1
+ || countitem(714) < 3 || Zeny < 5000000) goto LNotEnough;
+ delitem 754,1;
+ delitem 753,1;
+ delitem 752,1;
+ delitem 751,1;
+ delitem 750,1;
+ delitem 743,1;
+ delitem 742,1;
+ delitem 741,1;
+ delitem 2613,1;
+ delitem 5053,1;
+ delitem 7020,1;
+ delitem 7036,1;
+ delitem 2268,1;
+ delitem 734,1;
+ delitem 923,1;
+ delitem 968,1;
+ delitem 7005,1;
+ delitem 714,3;
+ set Zeny,Zeny-5000000;
+ mes "Wow! You are brave indeed!";
+ getitem 5013,1;
+ mes ". . . . .";
+ mes "Enjoy being God of Rune Midgard!";
+ close;
+
+ LNotEnough:
+ mes ". . . . .";
+ mes ". . .I'm sorry .. You don't have enough money and items ..";
+ mes "I can't afford to make this if you don't bring all materials needed. Please understand this is to benefit heroes such as yourself!";
+ close;
+
+ LUnfathomable:
+ mes ". . . . .";
+ mes "What I had to go through was more unfathomable..";
+ mes "If you succeed in getting these items, you will have incredible strength!";
+ close;
+}
diff --git a/npc/custom/quests/magicalhatquest.txt b/npc/custom/quests/magicalhatquest.txt
new file mode 100644
index 000000000..130091385
--- /dev/null
+++ b/npc/custom/quests/magicalhatquest.txt
@@ -0,0 +1,57 @@
+//===== eAthena Script =======================================
+//= Wizard Hat Custom Quest
+//===== By: ==================================================
+//= Who
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena
+//===== Description: =========================================
+//= Wizard Hat quest. Harmless, doesn't screw game balance.
+//===== Additional Comments: =================================
+//= 1.1 Reversed ingreadients and the quest result due to
+//= treasue boxes drops fix [Lupus]
+//============================================================
+
+geffen.gat,126,107,5 script Wizard Hat Dude 51,{
+ mes "[Wizard Hat Dude]";
+ mes "Huh! What do you want?";
+ mes "Ohh, I see, you want me to make you something.";
+ emotion e_what;
+ next;
+ mes "[Wizard Hat Dude]";
+ mes "Well if you want this Wizard Hat here is a list of the items I need you to go out and get them for me:";
+ mes "1 Magican Hat";
+ mes "1 Bathory Card";
+ mes "and 200,000z for my efforts";
+ next;
+ mes "[Wizard Hat Dude]";
+ mes "Are you ready for me to make this magical item?";
+ next;
+ menu "Sure am!",-,"These requirements are unfathomable!",M_RIPOFF;
+
+ mes "[Wizard Hat Dude]";
+ if(countitem(5045) < 1 || countitem(4119) < 1 || Zeny < 200000) goto L_NotEnough;
+ delitem 5045,1;
+ delitem 4119,1;
+ set Zeny,Zeny-200000;
+ mes "Wow! You are brave indeed!";
+ emotion e_no1;
+ next;
+ mes "[Wizard Hat Dude]";
+ mes "Enjoy your Wizard Hat!";
+ getitem 2252,1;
+ close;
+
+L_NotEnough:
+ mes ". . .I'm sorry .. You don't have enough money and items ..";
+ mes "I can't afford to make this if you don't bring all materials needed. Please understand this is to benefit heroes such as yourself!";
+ emotion e_sry;
+ close;
+
+M_RIPOFF:
+ mes "What I had to go through was more unfathomable..";
+ mes "If you succeed in getting these items, you will have incredible strength!";
+ emotion e_hmm;
+ close;
+}
diff --git a/npc/custom/quests/sunglasses.txt b/npc/custom/quests/sunglasses.txt
new file mode 100644
index 000000000..f8830eec6
--- /dev/null
+++ b/npc/custom/quests/sunglasses.txt
@@ -0,0 +1,144 @@
+//===== eAthena Script =======================================
+//= Quest For Slotted Sunglasses
+//===== By: ==================================================
+//= Aegis - amichan
+//===== Current Version: =====================================
+//= 1.5
+//===== Compatible With: =====================================
+//= Any eAthena Version;
+//===== Description: =========================================
+//= Quest to get Slotted Sunglasses
+//===== Additional Comments: =================================
+//= 1.0 by Aegis 1.1 by aichan 1.2 by x[tsk] 1.3 by Darkchild
+//= 1.5 Fixed Exploit [Lupus]
+//============================================================
+
+// quest will reset it self after 1 pair of Slotted Sunglasses is made.
+// 1st part of the quest
+
+alberta.gat,88,193,5 script Sunglasses Trader 73,{
+ if(SG_QUEST1 == 1) goto L_SG_Q1_Done;
+ mes "[Sunglasses Trader]";
+ mes "Hello. What can I do for you?";
+ next;
+ menu "I heard that you can make ^0000FFSlotted Sunglasses^000000.",-,"Nothing, sorry to bother you.",L_SG_No;
+
+ mes "[Sunglasses Trader]";
+ mes "I do not make them, but I can tell you where to find the person who does. For a small fee...";
+ next;
+ menu "How much?",L_SG_1,"No way, I will find her, myself!",-;
+
+ mes "[Sunglasses Trader]";
+ mes "Suit yourself, the Maker will not make you ^0000FFSlotted Sunglasses^000000 unless she knows that you are coming.";
+ mes "Only I can tell her you are coming.";
+ next;
+ mes "[Sunglasses Trader]";
+ mes "Come back to me, when you have given up. Hahaha.";
+ close;
+L_SG_1:
+ mes "[Sunglasses Trader]";
+ mes "In order for me to tell you information on ^0000FFSlotted Sunglasses^000000 you need to get me: ";
+ mes "^0000881 Carat Diamond^000000, ";
+ mes "^00008850 Feathers^000000, ";
+ mes "and ^000088100000z^000000.";
+ next;
+ menu "Alright, here.",L_SG_1_Check,"That's too much!",-;
+
+ mes "[Sunglasses Trader]";
+ mes "Suit Yourself.";
+ close;
+L_SG_1_Check:
+ if (countitem(730) < 1) goto L_SG_Diamond;
+ if (countitem(949) < 50) goto L_SG_Feathers;
+ if (zeny<100000) goto L_SG_Funds;
+ delitem 730,1;
+ delitem 949,50;
+ set zeny,zeny-100000;
+ set SG_QUEST1,1;
+ mes "[Sunglasses Trader]";
+ mes "Great. Now, listen carefully.";
+ next;
+ mes "[Sunglasses Trader]";
+ mes "Look for someone name Maseph somewhere in the east of Morroc.";
+ mes "I will send her a message to let her know that you are coming.";
+ close;
+L_SG_Diamond:
+ mes "[Sunglasses Trader]";
+ mes "You do not have the ^0000881 Carat Diamond^000000. Come back to me when you do.";
+ close;
+L_SG_Feathers:
+ mes "[Sunglasses Trader]";
+ mes "You do not have ^00008850 Feathers^000000. Come back to me when you do.";
+ close;
+L_SG_Funds:
+ mes "[Sunglasses Trader]";
+ mes "You do not have ^000088100000z^000000. Come back to me when you do.";
+ close;
+L_SG_Q1_Done:
+ mes "[Sunglasses Trader]";
+ mes "There is nothing more I can tell you.";
+ next;
+ mes "[Sunglasses Trader]";
+ mes "Go see Maseph. She is somewhere east of Morroc.";
+ close;
+L_SG_No:
+ mes "[Sunglasses Trader]";
+ mes "Come back to me than you are ready.";
+ close;
+}
+
+// 2nd part of the quest
+
+moc_fild09.gat,209,128,5 script Maseph 702,{
+ if(SG_QUEST1 == 1) goto L_SG_2;
+ mes "[Maseph]";
+ mes "Lovely Day, isn't it ?";
+ close;
+L_SG_2:
+ mes "[Maseph]";
+ mes "Hello there.";
+ next;
+ mes "[Maseph]";
+ mes "You came for the ^000088Slotted Sunglasses^000000, right?";
+ next;
+ menu "Yes",L_SG_2_Start,"No, sorry to bother you.",-;
+
+ mes "[Maseph]";
+ mes "Off you go, then.";
+ close;
+L_SG_2_Start:
+ mes "[Maseph]";
+ mes "To make one, I will need one pair of ^000088Sunglasses^000000 and 400000z.";
+ next;
+ menu "Here you go.",L_SG_Q2_Check,"No, thanks.",-;
+
+ mes "[Maseph]";
+ mes "As you wish.";
+ close;
+L_SG_Q2_Check:
+ if(countitem(2201) < 1) goto L_SG_Sunglasses;
+ if(zeny<400000) goto L_SG_Funds;
+ delitem 2201,1;
+ set zeny,zeny-400000;
+ mes "[Maseph]";
+ mes "Thank you. I will get on it right away.";
+ next;
+ mes "[Maseph]";
+ mes "Here you go my friend.";
+ getitem 2202,1;
+ next;
+ mes "[Maseph]";
+ mes "Enjoy your ^000088Slotted Sunglasses^000000.";
+// quest reset
+ set SG_QUEST1,0;
+ close;
+L_SG_Sunglasses:
+ mes "[Maseph]";
+ mes "I need one pair of ^000088Sunglasses^000000. Come back to me when you have one.";
+ close;
+L_SG_Funds:
+ mes "[Maseph]";
+ mes "You do not have enough money. Please come back to me when you do.";
+ close;
+}
+
diff --git a/npc/custom/quests/tha_statues.txt b/npc/custom/quests/tha_statues.txt
new file mode 100644
index 000000000..d860d5c30
--- /dev/null
+++ b/npc/custom/quests/tha_statues.txt
@@ -0,0 +1,260 @@
+//===== eAthena Script =======================================
+//= Custom Thanatos Tower Quest
+//===== By: ==================================================
+//= Bibilol & Moryagorn
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any eAthena Version;
+//===== Description: =========================================
+//= Custom Thanatos Tower Quest
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+
+//Statue (NPC)(U: UP, D: DOWN, R: RIGHT, L: LEFT) :
+// Explain Npc
+tha_t08.gat,69,106,4 script Statue 111,{
+
+ mes "You can read on the back of the statue:";
+ mes "'By the spirit of olds, the walls are closed";
+ mes "Upper floors or foreign taboo";
+ mes "By the order of the Statues you will find the way";
+ mes "Which perhaps a day will bring you to me.";
+ mes ".....Thanatos '";
+ close;
+}
+
+//Tha_t09 :
+//(Thalos)(U,L)-->tha_t09.gat,17,158,4
+//(Mediane)(D,R)-->tha_t09.gat,84,99,4
+//Script:
+
+tha_t09.gat,17,158,4 script Thalos 111,{
+
+ if(TSQ_CHK == 1) goto done;
+ mes "[Thalos]";
+ mes "You must find the 2nd Statue now.";
+ set TSQ_CHK,1;
+ close;
+
+done:
+ mes "[Thalos]";
+ mes "Go search the 2nd Statue!";
+ close;
+
+}
+
+tha_t09.gat,84,99,4 script Mediane 111,{
+
+ if(TSQ_CHK != 1) goto nook;
+ mes "[Mediane]";
+ mes "Okay, i am warping you to the next floor now.";
+ next;
+ set TSQ_CHK,0;
+ warp "tha_t10.gat", 165, 138;
+ close;
+nook:
+ mes "[Mediane]";
+ mes "You must talk with the Spirit in the 1st Statue.";
+ close;
+}
+
+//Tha_t10 :
+//(Melkor)(U)-->tha_t10.gat,130,159,4
+//(Zebrus)(D,R)-->tha_t10.gat,160,98,4
+//(Veriaelle)(D,L)-->tha_t10.gat,99,97,4
+//Script:
+
+tha_t10.gat,130,159,4 script Melkor 111,{
+
+ if(TSQ_CHK == 1) goto done;
+ mes "[Melkor]";
+ mes "You must find the other Spirits now.";
+ mes "We are 3.";
+ set TSQ_CHK,1;
+ close;
+done:
+ mes "[Melkor]";
+ mes "Go Search, They are in this floor.";
+ close;
+}
+
+tha_t10.gat,160,98,4 script Zebrus 111,{
+
+ if(TSQ_CHK != 1) goto nook;
+ mes "[Zebrus]";
+ mes "Keep on this way, There is one Spirit left";
+ set TSQ_CHK,2;
+ close;
+nook:
+ mes "[Zebrus]";
+ mes "You seems to be lost, Go back and talk to Melkor.";
+ next;
+ set TSQ_CHK,0;
+ close;
+}
+
+tha_t10.gat,99,97,4 script Veriaelle 111,{
+
+ if(TSQ_CHK != 2) goto nook;
+ mes "[Veriaelle]";
+ mes "Okay, i am warping you to the next floor.";
+ next;
+ set TSQ_CHK,0;
+ warp "tha_t11.gat", 86, 38;
+ close;
+nook:
+ mes "[Veriaelle]";
+ mes "You seems to be lost, Go back and talk to Melkor.";
+ next;
+ set TSQ_CHK,0;
+ close;
+}
+
+//Tha_t11 :
+//(Throtre)(U,L)-->tha_t11.gat,16,85,4
+//(Klermaz)(D,R)-->tha_t11.gat,85,16,4
+//(Mihane)(D,L)-->tha_t11.gat,16,16,4
+//(Seranes)(U,R)-->tha_t11.gat,85,85,4
+//Script:
+
+tha_t11.gat,16,85,4 script Throtre 111,{
+ if(TSQ_CHK == 1) goto done;
+ mes "[Throtre]";
+ mes "You got my authorization for the next floor";
+ mes "However, you must show how strong you are to the other Spirits";
+ set TSQ_CHK,1;
+ close;
+done:
+ mes "[Throtre]";
+ mes "Go search, They Can't leave this floor.";
+ close;
+}
+
+tha_t11.gat,85,16,4 script Klermaz 111,{
+ if(TSQ_CHK != 1) goto nook;
+ mes "[Klermaz]";
+ mes "Hmm it seems that Throtre allowed you to pass.";
+ mes "Well then you have my blessing, 2 Spirits remaining.";
+ set TSQ_CHK,2;
+ close;
+nook:
+ mes "[Klermaz]";
+ mes "You seems to be lost, Go back and talk to Throtre.";
+ next;
+ set TSQ_CHK,0;
+ close;
+}
+
+tha_t11.gat,16,16,4 script Mihane 111,{
+ if(TSQ_CHK != 2) goto nook;
+ mes "[Mihane]";
+ mes "Keep on this way, Only 1 Left.";
+ set TSQ_CHK,3;
+ close;
+nook:
+ mes "[Mihane]";
+ mes "Sorry, You must start over from the begining.";
+ next;
+ set TSQ_CHK,0;
+ close;
+}
+
+tha_t11.gat,85,85,4 script Seranes 111,{
+ if(TSQ_CHK != 3 ) goto nook;
+ mes "[Seranes]";
+ mes "Perfect, it seems that the other spirits grants you the access.";
+ mes "I am warping you to the next floor.";
+ next;
+ set TSQ_CHK,0;
+ warp "tha_t12.gat", 129, 58;
+ close;
+nook:
+ mes "[Seranes]";
+ mes "You did not follow the good order, starts again from the begining.";
+ next;
+ set TSQ_CHK,0;
+ close;
+}
+
+//Tha_t12 ( M: Middle):
+//(Nox)(D,L)-->tha_t12.gat,103,18,4
+//(Vox)(R)-->tha_t12.gat,162,58,4
+//(Hox)(L)-->tha_t12.gat,96,57,4
+//(Dox)(D,R)-->tha_t12.gat,153,17,4
+//(Sox)(U)-->tha_t12.gat,128,88,4
+//Script:
+
+tha_t12.gat,103,18,4 script Nox 111,{
+ if(TSQ_CHK == 1 ) goto done;
+ mes "[Nox]";
+ mes "Fine, 4 Spirits left.";
+ set TSQ_CHK,1;
+ close;
+done:
+ mes "[Nox]";
+ mes "Go search, They can't leave this floor.";
+ close;
+}
+
+tha_t12.gat,162,58,4 script Vox 111,{
+ if(TSQ_CHK != 1 ) goto nook;
+ mes "[Vox]";
+ mes "Keep on this way, 3 Spirits remaining !";
+ set TSQ_CHK,2;
+ close;
+nook:
+ mes "[Vox]";
+ mes "Sorry, Go back and talk to Nox.";
+ next;
+ set TSQ_CHK,0;
+ close;
+}
+
+tha_t12.gat,96,57,4 script Hox 111,{
+ if(TSQ_CHK != 2 ) goto nook;
+ mes "[Hox]";
+ mes "You are on the good way, 2 Spirits remaining !";
+ set TSQ_CHK,3;
+ close;
+nook:
+ mes "[Hox]";
+ mes "Sorry, Go back and talk to Nox.";
+ next;
+ set TSQ_CHK,0;
+ close;
+}
+
+tha_t12.gat,153,17,4 script Dox 111,{
+ if(TSQ_CHK != 3 ) goto nook;
+ mes "[Dox]";
+ mes "Perfect, 1 Spirit left.";
+ set TSQ_CHK,4;
+ close;
+nook:
+ mes "[Dox]";
+ mes "Sorry, Go back and talk to Nox.";
+ next;
+ set TSQ_CHK,0;
+ close;
+}
+
+tha_t12.gat,128,88,4 script Sox 111,{
+ if(TSQ_CHK != 4 ) goto nook;
+ mes "[Sox]";
+ mes "You have just passed the test successfully.";
+ mes "I will now warp you to steps of Fate.";
+ mes "Good-bye.";
+ next;
+ set TSQ_CHK,0;
+ warp "thana_step.gat", 186, 223;
+ close;
+nook:
+ mes "[Sox]";
+ mes "Sorry, Go back and talk to Nox.";
+ next;
+ set TSQ_CHK,0;
+ close;
+}
diff --git a/npc/custom/quests/thq/THQS_ChatingNPC.txt b/npc/custom/quests/thq/THQS_ChatingNPC.txt
new file mode 100644
index 000000000..d7ec81d2c
--- /dev/null
+++ b/npc/custom/quests/thq/THQS_ChatingNPC.txt
@@ -0,0 +1,103 @@
+//===== Athena Script =====================================
+//= Treasure Hunter Script
+//===== Converted By ======================================
+//= Fredzilla
+//= Original
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Treasure Hunter Quests //
+// By: Ezekial //
+// for the use on nRO run by Newbe5 //
+// revised By Warlock //
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//===== Version ===========================================
+//= 1.0 - Straight conversion of Aegis NPC file
+//===== Compatible With ===================================
+//= eAthena 1.0
+//===== Description =======================================
+//= Start for Treasure hunter quests
+//===== Comments ==========================================
+//= Event_THQS - Used to check if you have already registerd
+//= #Treasure_Token - used to keep track of tokens
+//////////////////////////////////////////////////////////
+
+
+//Entrance Flags
+yuno.gat,48,101,6 script Notice 722,{
+ mes "^FF0000[ Treasure Hunter Guild House ]^000000";
+ mes " ";
+ mes "Welcome to the Treasure Hunter's Guild House.";
+ mes "Feel free to drop in and look around";
+ mes "and feel free to become a memeber if you wish.";
+ mes " ";
+ mes "For membership applications please talk to Keegan";
+ mes "up the stairs and down the hall.";
+ close;
+}
+//Saver Girl;
+yuno_in01.gat,32,178,3 script Ahlma 94,{
+ mes "[Ahlma]";
+ if (Event_THQS == 0) goto N_Member;
+ mes "Welcome to The Treasure Hunter Guild.";
+ mes "How may I help you?";
+ next;
+ menu "Save",-,"Quit",N_Quit;
+ mes "[Ahlma]";
+ mes "Ok, saved. Thank you ~ See you soon~";
+ savepoint "yuno_in01.gat",34,176;
+ close;
+N_Quit:
+ mes "[Ahlma]";
+ mes "Well if you think you are safe, good on you.";
+ close;
+N_Member:
+ mes "Sorry, members only.";
+ close;
+}
+//Retired Smile mask girl;
+yuno_in01.gat,33,162,3 script Smile Helper 92,{
+ mes "[Smile Gal]";
+ mes "Oh man...I am so sick of";
+ mes "trading Mr. Smile masks for crap.";
+ mes " ";
+ mes "You ask me for one and you'll find yourself 10 pounds lighter!";
+ close;
+}
+//Usless Female Assasin;
+yuno_in01.gat,22,162,6 script Female Assasin 725,{
+ mes "[Sharlet]";
+ if (Event_THQS > 0) goto N_Member;
+ mes "Umm sorry I'm not gona waste my time talking to you if you arn't even a member!";
+ close;
+N_Member:
+ set @TEMP,rand(1,2);
+ if (@TEMP == 1) goto N_Chat1;
+ if (@TEMP == 2) goto N_Chat2;
+ mes "How are you reading this???";
+ mes "Well unless you are reading the code :)";
+ close;
+N_Chat1:
+ mes "Ahh welcome fellow Treasure Hunter "+strcharinfo(0)+".";
+ mes "Did you hear about that brave man that went into Glast Heim alone?! He must be crazy.";
+ close;
+N_Chat2:
+ mes ""+strcharinfo(0)+" don't you have something better you could be doing? Like a quest.";
+ close;
+}
+//another usless member
+yuno_in01.gat,25,162,6 script Female Wizard 123,{
+ mes "[Sasha]";
+ if (Event_THQS > 0) goto N_Member;
+ mes "Umm sorry I'm not gona waste my time talking to you if you arn't even a member!";
+ close;
+N_Member:
+ set @TEMP,rand(2);
+ if (@TEMP == 1) goto N_Chat;
+ mes "Ahh welcome fellow Treasure Hunter "+strcharinfo(0)+".";
+ mes "Did you hear about that goat man running around in the trees?";
+ mes " ";
+ mes "Aperently his name is Baphomet and he has been runing around the Forest Maze out side of prontera for quite some time now.";
+ close;
+N_Chat:
+ mes ""+strcharinfo(0)+" don't you have something better you could be doing? Like a quest.";
+ close;
+} \ No newline at end of file
diff --git a/npc/custom/quests/thq/THQS_GuildNPC.txt b/npc/custom/quests/thq/THQS_GuildNPC.txt
new file mode 100644
index 000000000..8a8da7e4c
--- /dev/null
+++ b/npc/custom/quests/thq/THQS_GuildNPC.txt
@@ -0,0 +1,95 @@
+//===== Athena Script =====================================
+//= Treasure Hunter Script
+//===== Converted By ======================================
+//= Fredzilla
+//= Original
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Treasure Hunter Quests //
+// By: Ezekial //
+// for the use on nRO run by Newbe5 //
+// revised By Warlock //
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//===== Version ===========================================
+//= 1.0 - Straight conversion of Aegis NPC file
+//===== Compatible With ===================================
+//= eAthena 1.0
+//===== Description =======================================
+//= Start for Treasure hunter quests
+//===== Comments ==========================================
+//= Event_THQS - Used to check if you have already registerd
+//= #Treasure_Token - used to keep track of tokens
+//////////////////////////////////////////////////////////
+
+
+yuno_in01.gat,124,164,6 script Guild Leader 108,{
+ mes "[Keegan]";
+ mes "What brings you here? Have something to say?";
+ next;
+ menu "I want to be a Treasure Hunter",-,"Take a New Quest.",N_NQuest,"Take me to the Official Shop.",N_OShop,"Nevermind.",N_NVM;
+ if(Event_THQS==1) goto N_AlreadyReg;
+ mes "[Keegan]";
+ mes "Well "+strcharinfo(0)+" if you want to be a Treasure Hunter first you must.";
+ mes " ";
+ mes "^FF00001.^000000 You well be changed ^FF000025,000z^000000 for basic training and your proof of being a member.";
+ mes " ";
+ mes "Umm... Well that is all you need to do. Hahaha.";
+ next;
+ menu "Pay ^FF000025,000z^000000.",-,"Thats way to high!!",N_HighPrice;
+ if (zeny < 25000) goto N_NoZeny;
+ set Zeny,Zeny-25000;
+ //getitem 7950, 1;
+ //getitem 7951, 1;
+ set Event_THQS,1;
+ mes "[Keegan]";
+ mes "Congratulations!";
+ emotion 46;
+ next;
+ mes "[Keegan]";
+ mes "Welcome to the Guild of Treasure Hunters.";
+ mes "You may now take a Treasure Hunting Quest as you see fit.";
+ close;
+N_NoZeny:
+ mes "[Keegan]";
+ mes "Hmmm you don't seem to have ^FF000025,000z^000000 "+strcharinfo(0)+". Please come back when you do.";
+ close;
+N_HighPrice:
+ mes "[Keegan]";
+ mes "Well if you can't afford a small ^FF000025,000z^000000 you shouldent be a Treasure Hunter yet.";
+ close;
+N_AlreadyReg:
+ mes "[Keegan]";
+ mes "Ha ha ha...you are already a member.";
+ close;
+N_NQuest:
+ if (Event_THQS!=1) goto A_NeedReg;
+ mes "[Keegan]";
+ mes "Well "+strcharinfo(0)+" if you wish to take a quest go talk to the fellow Treasure Hunter in the other room there.";
+ close;
+A_NeedReg:
+ mes "[Keegan]";
+ mes "Sorry you must be a member of the Treasure Hunter Guild if you wish to take a quest.";
+ mes " ";
+ mes "Also now that you are a member feel free to use our shops anytime you wish.They are all located on this floor.";
+ mes " ";
+ mes "We also have another shop for members only,in which we use little metal diamonds called Treasure Hunter Tokens to exchange for rare goods.";
+ mes " ";
+ mes "You will even have access to our exclusive personal Dungeon.";
+ close;
+N_OShop:
+ if (Event_THQS!=1) goto N_NeedMem;
+ mes "[Keegan]";
+ mes "Yes "+strcharinfo(0)+" I will take you to our shop right away!";
+ next;
+ warp "prt_in.gat",166,171;
+ close;
+ end;
+N_NeedMem:
+ mes "[Keegan]";
+ mes "Im sorry only members may visit our private shop.";
+ close;
+N_NVM:
+ mes "[Keegan]";
+ mes "Alright come back when you have the free time to spare.";
+ close;
+
+} \ No newline at end of file
diff --git a/npc/custom/quests/thq/THQS_QuestNPC.txt b/npc/custom/quests/thq/THQS_QuestNPC.txt
new file mode 100644
index 000000000..a2e7ddb21
--- /dev/null
+++ b/npc/custom/quests/thq/THQS_QuestNPC.txt
@@ -0,0 +1,560 @@
+//===== Athena Script =====================================
+//= Treasure Hunter Script
+//===== Converted By ======================================
+//= Fredzilla
+//= Original
+///////////////////////////////////////////////////////////
+// Treasure Hunter Quests //
+// By: Ezekial //
+// for the use on nRO run by Newbe5 //
+// revised By Warlock //
+///////////////////////////////////////////////////////////
+//===== Version ===========================================
+//= 1.2
+//===== Compatible With ===================================
+//= eAthena 1.0
+//===== Description =======================================
+//= Start for Treasure hunter quests
+//===== Comments ==========================================
+//= Event_THQS - Used to check if you have already registerd
+//= #Treasure_Token - used to keep track of tokens
+//= 1.0 - Straight conversionof Aegis NPC file
+//= 1.1 Added time penalty to prevent get quests to often [Lupus]
+//= 1.2 Fixed not working penalty, added anti-cheat [Lupus]
+//////////////////////////////////////////////////////////
+
+
+yuno_in01.gat,112,151,6 script Quest Manager 62,{
+ mes "[Guy]";
+ mes "Welcome to the Treasure Hunters Guild "+strcharinfo(0)+".";
+ next;
+ if (On_Quest == 0) goto N_NewQuest;
+ mes "[Guy]";
+ mes "Look " +strcharinfo(0)+ ", you can only 1 quest at a time, you should finish the quest unless you have given up.";
+ mes "Giving up will cost you ^FF00002500z^000000.";
+ next;
+ menu "No, never would I leave a quest!",-,"Yah I'm pathetic... Pay 2500z",N_PayZeny;
+ mes "[Guy]";
+ mes "Good well get back out there.";
+ close;
+N_PayZeny:
+ if (zeny < 2500) goto N_ZenyFail;
+ set one_qset, 0;
+ set two_qset, 0;
+ set three_qset, 0;
+ set four_qset, 0;
+ set five_qset, 0;
+ set six_qset, 0;
+ set seven_qset, 0;
+ set eight_qset, 0;
+ set nine_qset, 0;
+ set ten_qset, 0;
+ set On_Quest, 0;
+ set Zeny,Zeny-2500;
+ //add time delay penalty. You can get another quest after 2 - 3 hours. [Lupus]
+ set #THQ_DELAY, (GetTime(7)*12*31*24+GetTime(6)*31*24+GetTime(5)*24+GetTime(3)+rand(2,3));
+ mes "[Guy]";
+ mes "Its sad to see someone give a quest up...";
+ mes "Shame on you.";
+ emotion 7;
+ close;
+
+N_ZenyFail:
+ mes "[Guy]";
+ mes "Thats sad you don't even have ^FF00002500z^000000.";
+ close;
+
+N_NewQuest:
+ if (Event_THQS == 0) goto N_Signup;
+ //checking if time penalty is over [Lupus]
+ if (#THQ_DELAY > (GetTime(7)*12*31*24 + GetTime(6)*31*24 + GetTime(5)*24 + GetTime(3)) ) goto L_NoQuestsForYet;
+ mes "[Guy]";
+ mes "Ahh welcome fellow Treasure Hunter.";
+ mes "You currently have ^FF0000"+#Treasure_Token+"^000000 treasure tokens!!!";
+ mes "Would you like me to asign you a Quest?";
+ next;
+ menu "Yes I would like a Quest Please.",-,"Sorry Guy no time today.",N_NoTime;
+
+ mes "[Guy]";
+ mes "Ok lets see what quest we can give you today.";
+ mes "The quest names in ^FF0000This Colour^000000 mean that they are more challanging then the rest, but have better rewards.";
+ next;
+ set #THQ_DELAY,(GetTime(7)*12*31*24+GetTime(6)*31*24+GetTime(5)*24+GetTime(3) + 1); //you can get another quest after 1 hour [Lupus]
+ emotion 21;
+ if(@treasure_job==0) set @treasure_job,rand(1,10); //doesn't allow cheaters to pick any quest they want
+ if(@treasure_job==2) goto N_JobList2;
+ if(@treasure_job==3) goto N_JobList3;
+ if(@treasure_job==4) goto N_JobList4;
+ if(@treasure_job==5) goto N_JobList5;
+ if(@treasure_job==6) goto N_JobList6;
+ if(@treasure_job==7) goto N_JobList7;
+ if(@treasure_job==8) goto N_JobList8;
+ if(@treasure_job==9) goto N_JobList9;
+ if(@treasure_job==10) goto N_JobList10;
+ goto N_JobList1; //if(@treasure_job==1)
+
+N_NoTime:
+ mes "[Guy]";
+ mes "Alright maybe next time "+strcharinfo(0)+".";
+ emotion 20;
+ close;
+
+N_Signup:
+ mes "[Guy]";
+ mes "I'm afraid you must sign up for the guild before you can go on a quest!";
+ emotion 17;
+ close;
+
+L_NoQuestsForYet:
+ mes "[Guy]";
+ mes "I'm afraid there aren't any Quests for you yet.";
+ mes "Call in "+ (#THQ_DELAY - (GetTime(7)*12*31*24+GetTime(6)*31*24+GetTime(5)*24+GetTime(3)) )+" hours later.";
+ emotion 17;
+ close;
+
+L_QuestGiven:
+ set On_Quest,1;
+ set @treasure_job,0; //next time u get random quest
+ close;
+
+///////Job list 1///////
+N_JobList1:
+ mes "[Guy]";
+ mes "Ok you have a couple quests that can be done here.";
+ next;
+ menu "Lost Old Man.",-,"Master needs his Bow.",N_MasterBow,"The Hit List.",N_HitList,"^FF0000The Sad Widow.^000000",N_SadWidow;
+ mes "[Guy]";
+ mes "^FF0000Lost Old Man^000000";
+ mes "^FF0000------------^000000";
+ mes "This is an easy and low payed quest.";
+ mes " ";
+ mes "A wife came in asking us to find his husband, she seems to come in alot asking us to find him over and over again.";
+ next;
+ mes "[Guy]";
+ mes "But he always seems to be around the same place so there isn't much looking involved,check the mountains 1 west and 1 north of prontera.";
+ set one_qset,1;
+ goto L_QuestGiven;
+
+N_MasterBow:
+ mes "[Guy]";
+ mes "^FF0000Master needs his Bow^000000";
+ mes "^FF0000--------------------^000000";
+ mes "This is just a package delivery run, no big deal or anything.";
+ mes " ";
+ mes "Take this to an archer in the Archer Village outside of Payon.";
+ getitem 1072,1; //Delivery_Box
+ set one_qset,2;
+ goto L_QuestGiven;
+
+N_HitList:
+ mes "[Guy]";
+ mes "^FF0000The Hit List^000000";
+ mes "^FF0000------------^000000";
+ mes "In this quest you get to see some action.";
+ mes " ";
+ mes "There has been a farmer that keeps having all his crops eaten by ^FF0000Thief Bugs, Porings, and Lunitics^000000 here is a lost of what I need you to do. He is nexting East of Prontera.";
+ next;
+ mes "[Guy]";
+ mes "Ok go to the east and bash those little bastards like there is no tommorow. When you are done with that list you have just discard it, but you will NOT get another one!.";
+ set one_qset,3;
+ goto L_QuestGiven;
+
+N_SadWidow:
+ mes "^FF0000The Sad Widow^000000";
+ mes "^FF0000*************^000000";
+ mes "This is just another quest with possable well pay.";
+ mes " ";
+ mes "There is an old Widow in pontera, she recently lost her husband due to a monster attack.She has requested a Guild member to come talk to her at the Pontera Graveyard.";
+ set one_qset,4;
+ goto L_QuestGiven;
+
+///////Job list 2///////
+N_JobList2:
+ mes "[Guy]";
+ mes "Ok you have a couple quests that can be done here.";
+ next;
+ menu "The Strange Letter",-,"Jur for Jeramiah",N_JurJeramiah,"Bee Keepers Hunny",N_BeeHunny,"^FF0000The Wander Man^000000",N_WanderMan;
+
+ mes "^FF0000The Strange Letter^000000";
+ mes "^FF0000------------------^000000";
+ mes "I do not know much about this quest.";
+ mes " ";
+ mes "A strange man came in here yesterday and asked me to deliver this ^FF0000Strange Letter^000000 to some woman in Morroc. Knowing us we do not ask questions so you must take care of this delivery.";
+ mes "The Woman is in located in Morroc and her name is Erika.";
+ set two_qset, 1;
+ getitem 1072,1; //Delivery_Message
+ goto L_QuestGiven;
+
+N_JurJeramiah:
+ mes "^FF0000Jur for Jeramiah^000000";
+ mes "^FF0000----------------^000000";
+ mes "Standard delivery quest.";
+ mes " ";
+ mes "Jeramiah ordered a Special Jur from our weapon shop.Your Job is to deliver it to him in the Assasin Temple.";
+ getitem 1998,1; //Jeramiah's_Jur
+ set two_qset,2;
+ goto L_QuestGiven;
+
+N_BeeHunny:
+ mes "^FF0000Bee Keepers Hunny^000000";
+ mes "^FF0000-----------------^000000";
+ mes "Strange man in the marsh need your help.";
+ mes " ";
+ mes "There is a strange man in the forest in ^FF00001 south and 1 west^000000 of Prontera, he need your help with something.";
+ set two_qset,3;
+ goto L_QuestGiven;
+
+N_WanderMan:
+ mes "^FF0000The Wander Man^000000";
+ mes "^FF0000**************^000000";
+ mes "There is a woman in Payon that is in desperate for aid.";
+ mes " ";
+ mes "There is a woman in Payon named Molly please get to her as soon as possable the letter she sent here sounded like someone was killing her.";
+ set two_qset,4;
+ goto L_QuestGiven;
+
+///////Job list 3///////
+N_JobList3:
+ mes "[Guy]";
+ mes "Ok you have a couple quests that can be done here.";
+ next;
+ menu "Damn Pixies!",-,"Package Delivery",N_Delivery1,"Prontera Culvert",N_ProntCulvert,"^FF0000Trouble at the Coal Mine^000000",N_CoalMine;
+ mes "^FF0000Damn Pixies!^000000";
+ mes "^FF0000------------^000000";
+ mes "Have you ever been to Hell?";
+ mes " ";
+ mes "A man outside of ^FF0000Ant Hell^000000 has requested your audiance, I suggest you hurry.";
+ set three_qset,1;
+ goto L_QuestGiven;
+
+N_Delivery1:
+ mes "^FF0000Package Delivery^000000";
+ mes "^FF0000----------------^000000";
+ mes "Standard drop off quest.";
+ mes " ";
+ mes "In this quest you need to deliver a mystery box to someone names ^FF0000Flank at the bridge between Aldebaran and Juno^000000.";
+ getitem 1082,1; //Delivery_Box_
+ set three_qset,2;
+ goto L_QuestGiven;
+
+N_ProntCulvert:
+ mes "^FF0000Prontera Culvert^000000";
+ mes "^FF0000----------------^000000";
+ mes "The bugs,They are everywere!.";
+ mes " ";
+ mes "The ^FF0000Prontera Culvert^000000 is out of control!Sign up as a volenteer to clean out some of the culvert.";
+ next;
+ mes "I know it seems like there is no stoping them but however many you kill does makes a differance. After you have signed up, inside the Culvert there will be a Knight that will give you a quest.";
+ set three_qset,3;
+ goto L_QuestGiven;
+
+N_CoalMine:
+ mes "^FF0000Trouble at the Coal Mine^000000";
+ mes "^FF0000************************^000000";
+ mes "The fun...err...trouble never stops in Rune Midgar.";
+ mes " ";
+ mes "Recently there was an acident at the coal mines. There was a huge chasm that released some undead Evil Druids.";
+ next;
+ mes "The Evil Druids started to turn all the workers into the undead. We do not know why, but we do not want to find out, contact a man named Rudolfo outside the Coal Mines.";
+ set three_qset,4;
+ goto L_QuestGiven;
+
+///////Job list 4///////
+N_JobList4:
+ mes "[Guy]";
+ mes "Ok you have a couple quests that can be done here.";
+ next;
+ menu "Zombie Attack",-,"Mystic Wizard",N_MWizard,"Aww shoot!",N_Shoot,"^FF0000Emperium^000000",N_Emp;
+ mes "^FF0000Zombie Attack^000000";
+ mes "^FF0000-------------^000000";
+ mes "The undead have invaded Payon Cave!";
+ mes " ";
+ mes "I remember when Payon Cave used to be a safe place to visit, but now undead Zombies have infested the cave! Please contact ^FF0000Flora outside on Payon Cave^000000 and aid her.";
+ set four_qset,1;
+ goto L_QuestGiven;
+
+N_MWizard:
+ mes "^FF0000Mystic Wizard^000000";
+ mes "^FF0000-------------^000000";
+ mes "Proto-type of a Staff must be delivered to Zed the Wizard.";
+ mes " ";
+ mes "Zed the Wizard has requested to try out a new un-named proto-type staff. It will be your job to deliver this to him. Zed tend to stay within the general area of Juno.";
+ getitem 1999,1; //Zed's_Staff
+ set four_qset,2;
+ goto L_QuestGiven;
+
+N_Shoot:
+ mes "^FF0000Aww shoot!^000000";
+ mes "^FF0000----------^000000";
+ mes "A little girl is in trouble.";
+ mes " ";
+ mes "There is a little girl in trouble, her name is Dassy and she is ^FF0000east of the prontera fountan^000000.";
+ set four_qset,3;
+ goto L_QuestGiven;
+
+N_Emp:
+ mes "^FF0000Emperium^000000";
+ mes "^FF0000********^000000";
+ mes "This is a strange quest that I know little about.";
+ mes " ";
+ mes "Someone in ^FF0000Prontera Guild Hall^000000 has requested to see one of our members, his name is Czhore.";
+ set four_qset,4;
+ goto L_QuestGiven;
+
+///////Job list 5///////
+N_JobList5:
+ mes "[Guy]";
+ mes "Ok you have a couple quests that can be done here.";
+ next;
+ menu "Savage Land",-,"Pyramid's part 1",N_PyrPRT1,"Thinking first",N_Thinkfirst,"^FF0000The not so friendly ghost^000000",N_Ghost;
+ mes "^FF0000Savage Land^000000";
+ mes "^FF0000-----------^000000";
+ mes "Easy for some very hard for others.";
+ mes " ";
+ mes "A man named Lithin wish's to give you a quest, you can find him north of prontera inside of ^FF0000The Hidden Temple^000000";
+ set five_qset,1;
+ goto L_QuestGiven;
+
+N_PyrPRT1:
+ mes "^FF0000Pyramid's^000000";
+ mes "^FF0000---------^000000";
+ mes "Its funny cause no one knows how these were really made.";
+ mes " ";
+ mes "Aperently the Pyramids have are beganing to be infested with undead activity,outside the pyramids a man will be nexting for you. He did no give us his name but he asked for you to hurry.";
+ set five_qset,2;
+ goto L_QuestGiven;
+
+N_Thinkfirst:
+ mes "^FF0000Thinking first^000000";
+ mes "^FF0000--------------^000000";
+ mes "This sounds like another one of those ditzy girl quests...";
+ mes " ";
+ mes "Dazzy the local blond around Geffen has asked for you to deliver her these flowers. I don't know why someone would send flowers to herself...";
+ getitem 744,1; //Bouquet
+ set five_qset,3;
+ goto L_QuestGiven;
+
+N_Ghost:
+ mes "^FF0000The not so friendly ghost^000000";
+ mes "^FF0000*************************^000000";
+ mes "Well no one ever said Casper was nice behind the sceens.";
+ mes " ";
+ mes "A wizard on the 3rd floor of geffen tower want's to talk to you about the anchient ruins underneath the city.";
+ set five_qset,4;
+ goto L_QuestGiven;
+
+///////Job list 6///////
+N_JobList6:
+ mes "[Guy]";
+ mes "Ok you have a couple quests that can be done here.";
+ next;
+ menu "Package for thiefs",-,"Pyramid's part 2",N_PyrPRT2,"Special delivery",N_Delivery2,"^FF0000Geffenia^000000",N_Gef;
+ mes "^FF0000Package for thiefs^000000";
+ mes "^FF0000------------------^000000";
+ mes "How ironic.";
+ mes " ";
+ mes "Deliver this Box to the Thiefs guild.";
+ set six_qset,1;
+ getitem 1083,1; //Delivery_Box__
+ goto L_QuestGiven;
+
+N_PyrPRT2:
+ mes "^FF0000Pyramid's part 2^000000";
+ mes "^FF0000----------------^000000";
+ mes "More undead action in this triangle!";
+ mes " ";
+ mes "Talk to a man outside the entrance of the pyramids, he seems to have another quest for you.";
+ set six_qset,2;
+ goto L_QuestGiven;
+
+N_Delivery2:
+ mes "^FF0000Special delivery^000000";
+ mes "^FF0000----------------^000000";
+ mes "Well most of what we do is run packages, this is no different from other's.";
+ mes " ";
+ mes "Take this box, DO NOT OPEN IT! To a little girl in Lutie named Chirach she should be around santa.";
+ set six_qset,3;
+ getitem 1083,1; //Delivery_Box__
+ goto L_QuestGiven;
+
+N_Gef:
+ mes "^FF0000Geffenia^000000";
+ mes "^FF0000********^000000";
+ mes "The little children of Geffen have been haveing strange nightmares.";
+ mes " ";
+ mes "We belive that the ruins underneath geffen are causeing this problem, talk to a Wizard named Zuuzuu inside Geffen Tower for your mission.";
+ set six_qset,4;
+ goto L_QuestGiven;
+
+///////Job list 7///////
+N_JobList7:
+ mes "[Guy]";
+ mes "Ok you have a couple quests that can be done here.";
+ next;
+ menu "Apple Juice",-,"Delivery",N_Delivery3,"^FF0000Golden Thief Bug^000000",N_GTB,"^FF0000Evil Pirates^000000",N_EvilPirates;
+ mes "^FF0000Apple Juice^000000";
+ mes "^FF0000-----------^000000";
+ mes "Can't say no to some good apple juice.";
+ mes " ";
+ mes "There is a little girl up in prontera Square a bit north from the fountain, go talk to her.";
+ set seven_qset,1;
+ goto L_QuestGiven;
+
+N_Delivery3:
+ mes "^FF0000Delivery^000000";
+ mes "^FF0000--------^000000";
+ mes "So many packages so little time.";
+ mes " ";
+ mes "Take this box to a man in Alberta named Charles.";
+ getitem 1082,1; //Delivery_Box_
+ set seven_qset,2;
+ goto L_QuestGiven;
+
+N_GTB:
+ mes "^FF0000Golden Thief Bug^000000";
+ mes "^FF0000****************^000000";
+ mes "The prontera Culvert has never been the same...";
+ mes " ";
+ mes "Well there have been reports of a Golden Thief Bug running around the bottem on the Culvert. Talk to a Knight inside the Culvert.";
+ set seven_qset,3;
+ goto L_QuestGiven;
+
+N_EvilPirates:
+ mes "^FF0000Evil Pirates^000000";
+ mes "^FF0000************^000000";
+ mes "A ghost ship has washed up on shore on an island outside of Izlude.";
+ mes " ";
+ mes "A female assasin has a quest for you, she is nexting outside the Ghost Ship.There have been reports of evil undead pirates lurking around inside the ship.";
+ set seven_qset,4;
+ goto L_QuestGiven;
+
+///////Job list 8///////
+N_JobList8:
+ mes "[Guy]";
+ mes "Ok you have a couple quests that can be done here.";
+ next;
+ menu "Banana Juice",-,"Another Delivery",N_Delivery4,"My lost beeds",N_LostBeeds,"^FF0000Baphomet!^000000",N_Bapho;
+ mes "^FF0000Banana Juice^FF0000";
+ mes "^FF0000------------^FF0000";
+ mes "Sound gross to some good to others.";
+ mes " ";
+ mes "There is a little girl up in prontera Square a bit north from the fountain, go talk to her.";
+ set eight_qset,1;
+ goto L_QuestGiven;
+
+N_Delivery4:
+ mes "^FF0000Another Delivery^FF0000";
+ mes "^FF0000----------------^FF0000";
+ mes "Well yah box delivering is in high demand,lots of lazy people.";
+ mes " ";
+ mes "Take this package to a man in Morroc named Klye.";
+ set eight_qset,2;
+ getitem 1081,1; //Delivery_Box
+ goto L_QuestGiven;
+
+N_Bapho:
+ mes "^FF0000Baphomet!^FF0000";
+ mes "^FF0000*********^FF0000";
+ mes "Hidden in the Temple he watches and guards.";
+ mes " ";
+ mes "Rumor has it that a Goat Man is lurking in the Hidden Temple, There is also a man in the Hidden Temple names Zack that needs you help with this Goat Man known as Baphomet.";
+ set eight_qset,3;
+ goto L_QuestGiven;
+
+N_LostBeeds:
+ mes "^FF0000My lost Beeds^FF0000";
+ mes "^FF0000-------------^FF0000";
+ mes "Oh great I smell stupidity...";
+ mes " ";
+ mes "A little girl in Payon wants to talk to you, her name is Flower, What a stupid name,Hahaha.";
+ set eight_qset,4;
+ goto L_QuestGiven;
+
+///////Job list 9///////
+N_JobList9:
+ mes "[Guy]";
+ mes "Ok you have a couple quests that can be done here.";
+ next;
+ menu "Smelly Box",-,"Payon Cave",N_PayonC,"^FF0000Sohee's Everywere!^000000",N_Sohee,"^FF0000Moonlight Flower^000000",N_Moonlight;
+ mes "^FF0000Smelly Box^FF0000";
+ mes "^FF0000----------^FF0000";
+ mes "Oh god please get this out of here fast.";
+ mes " ";
+ mes "Oh man smells like someone died in here.Take this to the Magic School in Geffen and hurry,ahh the smell its burning my eye's!!!";
+ getitem 1082,1; //Delivery_Box_
+ set nine_qset,1;
+ goto L_QuestGiven;
+
+N_Sohee:
+ mes "^FF0000Sohee's Everywere!^FF0000";
+ mes "^FF0000******************^FF0000" ;
+ mes "Hmmm seem's a man named Jack wants to speak to you in the Archer Guild House.";
+ mes " ";
+ mes "Well what we know about Payon is that a while ago there was a freak fire that burnt down the old school.";
+ next;
+ mes "The strange thing about what happened was that the children inside did not seem to die from the flames.";
+ mes "Speak to the little school girl somewere in Payon.";
+ set nine_qset,2;
+ goto L_QuestGiven;
+
+N_Moonlight:
+ mes "^FF0000Moonlight Flower^FF0000";
+ mes "^FF0000****************^FF0000" ;
+ mes "Hmmm seem's a man named Jack wants to speak to you in the Archer Guild House.";
+ mes " ";
+ mes "Well I don't know much about this, it has to do with the deepest reagions of Payon Cave, We don't know much because no one ever seems to make it back alive.";
+ set nine_qset,3;
+ goto L_QuestGiven;
+
+N_PayonC:
+ mes "^FF0000Payon Cave^FF0000";
+ mes "^FF0000----------^FF0000" ;
+ mes "Hmmm seem's a man named Jack wants to speak to you in the Archer Guild House.";
+ mes " ";
+ mes "The farther we go into the cave the stranger it gets.";
+ set nine_qset,4;
+ goto L_QuestGiven;
+
+///////Job list 10///////
+N_JobList10:
+ mes "[Guy]";
+ mes "Ok you have a couple quests that can be done here.";
+ next;
+ menu "The Blank Box",-,"^FF0000Eddga^000000",N_Eddga,"^FF0000Phreeoni^000000",N_Phreeoni,"^FF0000Maya^000000",N_Maya;
+
+ mes "^FF0000The Blank Box^FF0000";
+ mes "^FF0000-------------^FF0000";
+ mes "Package to Morroc";
+ mes " ";
+ mes "There is nothing writen on this box but a notice to deliver it to a man Kreg.";
+ getitem 1082,1; //Delivery_Box_
+ set ten_qset,1;
+ goto L_QuestGiven;
+
+N_Eddga:
+ mes "^FF0000Eddga^FF0000";
+ mes "^FF0000*****^FF0000";
+ mes "Tony the Tiger is on crack and destroying the forest.";
+ mes " ";
+ mes "Talk to a man outside the 'Hidden' Hunter Guild, He needs your help.";
+ set ten_qset,2;
+ goto L_QuestGiven;
+
+N_Phreeoni:
+ mes "^FF0000Phreeoni^FF0000";
+ mes "^FF0000********^FF0000";
+ mes "He is big and Pink and you run and hide!";
+ mes " ";
+ mes "This guy just poped into some hole one day, He dosent look that tough but you would be supprised. Talk to a man named Caral outside of Ant Hell.";
+ set ten_qset,3;
+ goto L_QuestGiven;
+
+N_Maya:
+ mes "^FF0000Maya^FF0000";
+ mes "^FF0000****^FF0000";
+ mes "Something scary!";
+ mes " ";
+ mes "This half naked freak need an army to take down, now its your job, good luck. Meet a girl named Jeni outside of the back entrance to Ant Hell.";
+ set ten_qset,4;
+ goto L_QuestGiven;
+}
diff --git a/npc/custom/quests/thq/THQS_Quests.txt b/npc/custom/quests/thq/THQS_Quests.txt
new file mode 100644
index 000000000..ca282164f
--- /dev/null
+++ b/npc/custom/quests/thq/THQS_Quests.txt
@@ -0,0 +1,1050 @@
+//===== Athena Script =====================================
+//= Treasure Hunter Script
+//===== Converted By ======================================
+//= Fredzilla
+//= Original
+///////////////////////////////////////////////////////////
+// Treasure Hunter Quests //
+// By: Ezekial //
+// for the use on nRO run by Newbe5 //
+// revised By Warlock //
+///////////////////////////////////////////////////////////
+//===== Version ===========================================
+//= 1.2
+//===== Compatible With ===================================
+//= eAthena 1.0
+//===== Description =======================================
+//= Start for Treasure hunter quests
+//===== Comments ==========================================
+//= Event_THQS - Used to check if you have already registerd
+//= #Treasure_Token - used to keep track of tokens
+//= 1.0 - Straight conversionof Aegis NPC file
+//= 1.2 some bugfixes, typos [Lupus]
+//////////////////////////////////////////////////////////
+
+
+///////Job list 1///////
+//1-1
+mjolnir_09.gat,187,189,6 script Old Man 107,{
+ if (one_qset==1) goto N_QuestStart;
+ mes "[Old Man]";
+ mes "Eh! Can't and old man walk in peace anymore?!";
+ close;
+N_QuestStart:
+ mes "[Old Man]";
+ mes "Eh? whats that?!";
+ mes " ";
+ mes "My wife wants me home?! Alright, alright... I'm going, I'm going. Thank you for telling me the message.";
+ mes " ";
+ mes "Here take this Treasure Token.";
+ set one_qset,0;
+ set On_Quest,0;
+ set #Treasure_Token,#Treasure_Token+1;
+ close;
+}
+//1-2;
+pay_arche.gat,86,129,6 script Archer 732,{
+ if (one_qset == 2) goto N_QuestStart;
+ mes "[Kieth]";
+ mes "Sorry can't talk, I'm a busy man, I'm waiting for my package.";
+ close;
+N_QuestStart:
+ mes "[Kieth]";
+ mes "Ahh, you must be from the Treasure Hunter Agensy. Do you have my bow??";
+ mes " ";
+ mes "Ahh, good,thank you for your time. Take this Treasure Token.";
+ set one_qset,0;
+ set On_Quest,0;
+ delitem 1072,1;
+ set #Treasure_Token,#Treasure_Token+1;
+ close;
+}
+//1-3
+prt_fild06.gat,37,192,6 script Farmer 125,{
+ if (one_qset == 3 && countitem(909) > 19 && countitem(955) > 19 && countitem(914) > 19 && countitem(705) > 19) goto N_QuestComp;
+ if (one_qset==3) goto N_QuestStart;
+ mes "[Billy-Bob]";
+ mes "Arrrg!... Those Bastard Bugs have eaten everything, this place donest even look like my farm anymore!!";
+ close;
+N_QuestComp:
+ mes "[Billy-Bob]";
+ mes "Ohhh, thank you thats a good start for me.";
+ mes "Well those bugs can bugger off...";
+ mes " ";
+ mes "Well here take these 2 Treasure Tokens.";
+ set one_qset,0;
+ set #Treasure_Token,#Treasure_Token+2;
+ set On_Quest,0;
+ delitem 909,20;
+ delitem 955,20;
+ delitem 914,20;
+ delitem 705,20;
+ close;
+N_QuestStart:
+ mes "[Billy-Bob]";
+ mes "Those Bastard Bugs are Everywere!!!";
+ mes "You must be from the guild! OK, bring me 20 Worm Peelings, 20 Jellopys, 20 fluff and 20 Clovers.";
+ close;
+}
+//1-4
+prontera.gat,264,353,6 script Old Lady 103,{
+ if (one_qset == 4 && countitem(934) > 14) goto N_QuestComp;
+ if (one_qset == 4) goto N_QuestStart;
+ mes "[Old Lady]";
+ mes "This is my husbands grave... I'm just paying him a little visit.";
+ close;
+N_QuestComp:
+ mes "[Old Lady]";
+ mes "You have them?!";
+ next;
+ mes "[Old Lady]";
+ mes "Thank you sooo much here have these 3 Treasure Tokens.";
+ set #Treasure_Token,#Treasure_Token+3;
+ delitem 934,15;
+ set one_qset,0;
+ set On_Quest,0;
+ close;
+N_QuestStart:
+ mes "[Old Lady]";
+ mes "So your the one that has come to help me?";
+ mes " ";
+ mes "Ok well this is what I wanted you to do,this greave beside me is my husbands grave and I promised him that I would bury some Mementos with him, The problem is that I have no Mementos...";
+ next;
+ mes "[Old Lady]";
+ mes "Bring me 15 Mementos, please.";
+ close;
+}
+///////Job list 2///////
+//2-1;
+morocc.gat,59,109,6 script Erika 700,{
+ if (two_qset == 1 && countitem(1072) > 0) goto N_QuestComp;
+ if (two_qset == 1) goto N_QuestStart;
+ mes "[Erika]";
+ mes "Hello my name is Erika.";
+ close;
+N_QuestComp:
+ mes "[Erika]";
+ mes "What's that? You have a letter for me!!";
+ mes "Oooooh I just love,love letters :D. next here will I open it.";
+ next;
+ mes "[Letter]";
+ mes "Dear Erika";
+ mes " ";
+ mes "Sorry to inform you but you have been evicted, please move out within 3-5 days.";
+ mes " ";
+ mes "-Managment";
+ next;
+ mes "[Erika]";
+ mes "Oh... um... Well fuck, that bastard thinks he can kick me out!!!!! He's got another thing coming!";
+ mes " ";
+ mes "Well thank you for delivering this anyway have this Treasure Token.";
+ delitem 1072,1;
+ set two_qset,0;
+ set #Treasure_Token,#Treasure_Token+1;
+ set On_Quest,0;
+ close;
+N_QuestStart:
+ mes "[Erika]";
+ mes "So your the one that has a letter for me?";
+ mes " ";
+ mes "Ok well where's the letter?";
+ close;
+}
+//2-2;
+in_moc_16.gat,15,30,6 script Jeramiah 730,{
+ if (two_qset == 2 && countitem(1998) > 0) goto N_QuestComp;
+ if (two_qset == 2) goto N_QuestStart;
+ mes "[Jeramiah]";
+ mes "Its so boring when you have to next on people...";
+ close;
+N_QuestComp:
+ mes "[Jeramiah]";
+ mes "Ahh hello, you must be from the Treasure Hunter Guild.";
+ mes "Do you have my Jur? Ahh good good. Thank you.";
+ mes "Here have this Treasure Hunter Token.";
+ set two_qset,0;
+ set On_Quest,0;
+ delitem 1998,1;
+ set #Treasure_Token,#Treasure_Token+1;
+ close;
+N_QuestStart:
+ mes "[Jeramiah]";
+ mes "So your the one that is supposed to bring my Jur?";
+ mes "So where's my Jur?";
+ close;
+}
+//2-3;
+prt_fild07.gat,316,263,6 script Marsh Man 84,{
+ if (two_qset == 3 && countitem(518) > 19) goto N_QuestComp;
+ if (two_qset == 3) goto N_QuestStart;
+ mes "[Lenith]";
+ mes "Hello, sorry I don't have much time to talk I'm waiting for someone.";
+ close;
+N_QuestComp:
+ mes "[Lenith]";
+ mes "Oh hello, OH you have my honey, my bees and I thank you.";
+ mes " ";
+ mes "Here have these 2 Treasure Hunter Tokens.";
+ delitem 518,20;
+ set #Treasure_Token,#Treasure_Token+2;
+ set two_qset,0;
+ set On_Quest,0;
+ close;
+N_QuestStart:
+ mes "[Lenith]";
+ mes "Hello, my name is Lenith and I have a quest for you.";
+ mes "Well resently a bunch of stupid bears stole the supers off all my bee's nests...Stupid bears.";
+ mes " ";
+ mes "What I need you to do is find me some more honey so these bee's can get through the winter. I will need about 20 Honey.";
+ close;
+}
+//2-4;
+payon.gat,161,72,6 script Molly 714,{
+ if (two_qset == 4 && countitem(7005) > 0) goto N_QuestComp;
+ if (two_qset == 4) goto N_QuestStart;
+ mes "[Molly]";
+ mes "Sorry can't talk, I'm waiting for someone.";
+ close;
+N_QuestComp:
+ mes "[Molly]";
+ mes "WOW YOU DID IT!!!";
+ mes " ";
+ mes "I knew you looked strong, I have no idea how you could have killed that monster though.";
+ mes "thank you so much, here have these 3 Guild Tokens as a reward.";
+ set two_qset,0;
+ set On_Quest,0;
+ set #Treasure_Token,#Treasure_Token+3;
+ delitem 7005,1;
+ close;
+N_QuestStart:
+ mes "[Molly]";
+ mes "Wow you must be the brave man from the treasure hunter guild!";
+ mes "Ok here is whats happening, I don't know what started it but there is a strange Ronan Skeleton running aroung the woods 2 East from here.";
+ next;
+ mes "[Molly]";
+ mes "We have try to kill him in the past but it was not...ummm...It was a bad idea. What I want you to do is go there and bring me back his Skull as proof of you killing him.";
+ mes " ";
+ mes "Good Luck";
+ close;
+}
+///////Job list 3///////
+//3-1;
+moc_fild04.gat,208,322,6 script Clark 65,{
+ if (three_qset == 1 && countitem(1040) > 29) goto N_QuestComp;
+ if (three_qset == 1) goto N_QuestStart;
+ mes "[Clark]";
+ mes "Love to chat, but I'm waiting for someone.";
+ close;
+N_QuestComp:
+ mes "[Clark]";
+ mes "Ok well this is a start.";
+ mes " ";
+ mes "I hope that this hole will go away 1 day, and I might have another quest for you in the future.";
+ mes "here take these 2 Treasure Tokens.";
+ set #Treasure_Token,#Treasure_Token+2;
+ delitem 1040,30;
+ set three_qset,0;
+ set On_Quest,0;
+ close;
+N_QuestStart:
+ mes "[Clark]";
+ mes "Well hello to you.";
+ mes "You must be from the Treasure Hunter Guild.";
+ mes " ";
+ mes "Ok well this is my problem, yah see that hole in the ground? Yah that thing just popped out of nowhere a couple years ago, inside its full of these ugly ants and these monsters called Giearths.";
+ next;
+ mes "[Clark]";
+ mes "What I want you to do is kill some of the Giearths.Bring me 30 of there little Moustaches.";
+ close;
+}
+//3-2;
+yuno_fild01.gat,186,162,6 script Flank 73,{
+ if (three_qset == 2 && countitem(1082) > 0) goto N_QuestComp;
+ if (three_qset == 2) goto N_QuestStart;
+ mes "[Flank]";
+ mes "Sorry I'm waiting for my package so I don't want to talk.";
+ close;
+N_QuestComp:
+ mes "[Flank]";
+ mes "Perfect right on time, now I must be going to plant this bomb.... Err I meen give this package to my mother for her birthday.";
+ next;
+ mes "[Flank]";
+ mes "Thanks";
+ mes "Have this Treasure Token";
+ set three_qset,0;
+ delitem 1082,1;
+ set #Treasure_Token,#Treasure_Token+1;
+ set On_Quest,0;
+ close;
+N_QuestStart:
+ mes "[Flank]";
+ mes "So you have my packages?";
+ mes "Well where is it then?";
+ close;
+}
+//3-3 Goes to 7-3 using callfunc
+prt_sewb1.gat,120,245,6 script Sewer Managment Knight 705,{
+ if (three_qset == 3 && countitem(955) > 149) goto N_QuestComp;
+ if (three_qset == 3) goto N_QuestStart;
+ if (seven_qset == 3) goto N_QuestStart2;
+ mes "[Sewer Managmant]";
+ mes "Live dosent get any worse for me,working in the bug filled Culvert every day...";
+ close;
+N_QuestComp:
+ mes "[Sewer Managment]";
+ mes "Well that looked like it was no trouble for you.";
+ mes "Thanks have these 4 Treause Tokens.";
+ delitem 955,150;
+ set #Treasure_Token,#Treasure_Token+4;
+ set three_qset,0;
+ set On_Quest,0;
+ close;
+N_QuestStart:
+ mes "[Sewer Managmant]";
+ mes "For a while now we have had monster, mostly bugs infesting the culvert...";
+ mes " ";
+ mes "What I want you to do is kinda clean some of it out, every little bit counts.";
+ mes "Bring me 150 Worm Peelings.";
+ close;
+N_QuestStart2:
+ callfunc "seven_qset-3";
+ close;
+}
+//3-4
+mjolnir_02.gat,87,357,6 script Man 51,{
+ if (three_qset == 4 && countitem(1041) > 49) goto N_QuestComp;
+ if (three_qset == 4) goto N_QuestStart;
+ mes "[Rudolfo]";
+ mes "Danger, the Coal Mine is now a hostile area.";
+ close;
+N_QuestComp:
+ mes "[Rudolfo]";
+ mes "Well its good to see that you have come back alive.";
+ mes "I had my doughts but thank you for your help.";
+ mes " ";
+ mes "Here have these 4 Treasure Tokens.";
+ set three_qset,0;
+ set On_Quest,0;
+ delitem 1041,50;
+ set #Treasure_Token,#Treasure_Token+4;
+ close;
+N_QuestStart:
+ mes "[Rudolfo]";
+ mes "Hello, you must be from the Treasure Hunter Guild.";
+ mes " ";
+ mes "They must have filled you in on what is happening on the lower levels of this Coal Mine, I know its desturbing and we are still trying to figure out why and how 2 Evil Druids got down there.";
+ mes " ";
+ mes "Well what I want you to do is bring me 50 Lantern's as proof that you have cleaned some of them out, any loot you find down there you may keep other then what I have asked you to get for me.";
+ close;
+}
+///////Job list 4///////
+//4-1;
+pay_arche.gat,45,138,6 script Flora 724,{
+ if (four_qset == 1 && countitem(957) > 49) goto N_QuestComp;
+ if (four_qset == 1) goto N_QuestStart;
+ mes "[Flora]";
+ mes "Well hello be carfull in the cave, we have heard reports of Undead monster funning around.";
+ close;
+N_QuestComp:
+ mes "[Flora]";
+ mes "Welcome back, good job you did it. (I wonder if that Flaming Bastard is still alive)";
+ mes "Well I hope that cut down a bit on the monsters and here have these 2 Tokens.";
+ set #Treasure_Token,#Treasure_Token+2;
+ delitem 957,50;
+ set four_qset,0;
+ set On_Quest,0;
+ killmonster "pay_dun00.gat","kaho";
+ close;
+N_QuestStart:
+ mes "[Flora]";
+ mes "Well hello there.";
+ mes " ";
+ mes "Well this is what I need you to do, bring me 50 Decayed Nails - awile back Payon Cave used to be a safe place to go...But now things have gone out of controll and Zombies have invaded the first floor...";
+ mes " ";
+ mes "There is also these new monsters that have just poped out of no were, we call them Flaming Bastards...Be carfull if you arn't powerfull yet because they are very strong.";
+ next;
+ mes "[Flora]";
+ mes "Good Luck";
+ mes "Remember I need 50 Nail's";
+ monster "pay_dun00.gat",0,0,"Flaming Bastard",1072,1,"kaho";
+ monster "pay_dun00.gat",0,0,"Flaming Bastard",1072,1,"kaho";
+ close;
+}
+//4-2;
+yuno.gat,45,138,6 script Zed 735,{
+ if (four_qset == 2 && countitem(1999) > 0) goto N_QuestComp;
+ if (four_qset == 2) goto N_QuestStart;
+ mes "[Zed]";
+ mes "Get out of my face you flake.";
+ close;
+N_QuestComp:
+ mes "[Zed]";
+ mes "Dear god took you long enough you bastard!";
+ mes "You know how much my time is worth!!!!";
+ mes "Your slow and I'm never gona recomend a job for you, Gimmie my staff and get out of me face!";
+ next;
+ mes "[Zed]";
+ mes "Well you can take this crapy Treausre Token.";
+ set On_Quest,0;
+ set four_qset,0;
+ delitem 1999,1;
+ set #Treasure_Token,#Treasure_Token+1;
+ close;
+N_QuestStart:
+ mes "[Zed]";
+ mes "Where's my staff?";
+ close;
+}
+//4-3;
+prontera.gat,176,204,6 script Dassy 95,{
+ if (four_qset == 3 && countitem(711) > 19) goto N_QuestComp;
+ if (four_qset == 3) goto N_QuestStart;
+ mes "[Dassy]";
+ mes "Hello!";
+ close;
+N_QuestComp:
+ mes "[Dassy]";
+ mes "Yes! Now my pet will not starve!";
+ mes "Thank you so much!";
+ mes "Have this Treasure Token.";
+ set On_Quest,0;
+ set four_qset,0;
+ delitem 711,20;
+ set #Treasure_Token,#Treasure_Token+1;
+ close;
+N_QuestStart:
+ mes "[Dassy]";
+ mes "Hello person!!";
+ mes "You have come to help me? Yes, yes.";
+ mes " ";
+ mes "Ok I don't want to talk about it but I need you to fine me 20 Shoot's";
+ mes "Thank you!";
+ close;
+}
+//4-4;
+prt_gld.gat,157,99,6 script Czhore 752,{
+ if (four_qset == 4 && countitem(714) > 0) goto N_QuestComp;
+ if (four_qset == 4) goto N_QuestStart;
+ mes "[Czhore]";
+ mes "Hello friend";
+ mes "Have you come to check out one of these guild halls?";
+ close;
+N_QuestComp:
+ mes "[Czhore]";
+ mes "Thank god!";
+ mes " ";
+ mes "I'm so happy to see one of these Emperiums! Thank you "+strcharinfo(0)+".";
+ next;
+ mes "[Czhore]";
+ mes "Here have these 2 Treasure Tokens.";
+ mes "And some of my old treasure...";
+ monster "prt_gld.gat",155,99,"Old Man's Treasure",1324,1,"treasure";
+ set four_qset,0;
+ set On_Quest,0;
+ delitem 714,1;
+ set #Treasure_Token,#Treasure_Token+2;
+ close;
+N_QuestStart:
+ mes "[Czhore]";
+ mes "Hello friend";
+ mes "I know this may sound stupid but ever since I was a boy I have dreamed of having an Emperium...";
+ mes "As I know I look old, I have just never been able to find one, now that I am retired from the Treasure Hunter Guild there is no more action for me...";
+ mes " ";
+ mes "If you can get me one I shall reward you.";
+ close;
+}
+///////Job list 5///////
+//5-1;
+prt_maze01.gat,18,184,6 script Lithin 752,{
+ if (five_qset == 1 && countitem(1028) > 14) goto N_QuestComp;
+ if (five_qset == 1) goto N_QuestStart;
+ mes "[Lithin]";
+ mes "Well hello.";
+ mes "Welcome to the Forest Maze.";
+ close;
+N_QuestComp:
+ mes "[Lithin]";
+ mes "Oh thank you so much, but they will be back...";
+ next;
+ mes "Take these 2 Treasure Tokens";
+ set five_qset,0;
+ set On_Quest,0;
+ set #Treasure_Token,#Treasure_Token+2;
+ delitem 1028,15;
+ close;
+N_QuestStart:
+ mes "[Lithin]";
+ mes "Well hello.";
+ mes "Welcome to the Forest Maze, I have a task for you.";
+ mes " ";
+ mes "Ever heard of a moster called a Savage? It looks like a boar but it makes very annoying noices.";
+ mes "What I want you to do is bring me 15 Manes from the savages.";
+ close;
+}
+//5-2 goes to 6-2 using callfunc;
+moc_ruins.gat,75,167,6 script Lithin 87,{
+ if (five_qset == 2 && countitem(932) > 29) goto N_QuestComp;
+ if (five_qset == 2) goto N_QuestStart;
+ if (six_qset == 2) goto N_QuestStart2;
+ mes "[Strange Man]";
+ mes "...";
+ close;
+N_QuestComp:
+ mes "[Strange Man]";
+ mes "Much thanks I have for you.";
+ next;
+ mes "Take with you these 2 Treasure Token's.";
+ set #Treasure_Token,#Treasure_Token+2;
+ set five_qset,0;
+ set On_Quest,0;
+ delitem 932,30;
+ close;
+N_QuestStart:
+ mes "[Strange Man]";
+ mes "Must do for me you shall.Venture through the Pyramid.";
+ mes "When second floor you have reached,slay skeletons of evil.";
+ mes "Bring me back there bones you must.";
+ mes "It is 30 that I desire.";
+ close;
+N_QuestStart2:
+ callfunc "six_qset2";
+}
+//5-3;
+geffen.gat,57,130,6 script Blonde Girl 724,{
+ if (five_qset == 3 && countitem(744) > 0) goto N_QuestComp;
+ if (five_qset == 3) goto N_QuestStart;
+ mes "[Blonde Girl]";
+ mes "I wonder what happened to my flowers";
+ close;
+N_QuestComp:
+ mes "[Blonde Girl]";
+ mes "Oh are these my flower! To bad I don't want them anymore...";
+ mes " ";
+ mes "You can keep them is you want.";
+ next;
+ mes "[Blonde Girl]";
+ mes "Here take this Treasure Token as a reward.";
+ set five_qset,0;
+ set On_Quest,0;
+ set #Treasure_Token,#Treasure_Token+1;
+ close;
+N_QuestStart:
+ mes "[Blonde Girl]";
+ mes "Hello, did you bring me flowers!?!";
+ close;
+}
+//5-4;
+gef_tower.gat,49,27,6 script Wizard 735,{
+ if (five_qset == 4 && countitem(1059) > 49) goto N_QuestComp;
+ if (five_qset == 4) goto N_QuestStart;
+ mes "[Wizard]";
+ mes "Hello, have you seen my Whisper friend?";
+ close;
+N_QuestComp:
+ mes "[Wizard]";
+ mes "Thank you for helping me, I presume the worse.";
+ next;
+ mes "[Wizard]";
+ mes "Here take these 4 Treasure Tokens.";
+ set five_qset,0;
+ set On_Quest,0;
+ delitem 1059,50;
+ set #Treasure_Token,#Treasure_Token+4;
+ close;
+N_QuestStart:
+ mes "[Wizard]";
+ mes "Hello, the reason why I brought you here was because of a long time ago I made a friend, which happened to be a Whipser.";
+ mes "He told me that he was always bullied by the other ghosts down there and I havent seen him in a while.";
+ mes "Thinking of the worse case here, I want vengance!";
+ mes " ";
+ mes "Bring me 50 Fabrics!";
+ close;
+}
+///////Job list 6///////
+//6-1;
+moc_prydb1.gat,47,132,6 script Thief 48,{
+ if (six_qset == 1 && countitem(1083) > 0) goto N_QuestComp;
+ if (six_qset == 1) goto N_QuestStart;
+ mes "[Thief]";
+ mes "Welcome to the Thiefs Guild.";
+ close;
+N_QuestComp:
+ mes "[Thief]";
+ mes "Thank you for this delivery.";
+ next;
+ mes "[Thief]";
+ mes "Here take this Treasure Token as a reward.";
+ set six_qset,0;
+ delitem 1083,1;
+ set On_Quest,0;
+ set #Treasure_Token,#Treasure_Token+1;
+ close;
+N_QuestStart:
+ mes "[Thief]";
+ mes "Where's my delivery?";
+ close;
+}
+//6-2
+function script six_qset2 {
+ if (six_qset == 2 && countitem(930) > 29) goto N_QuestComp2;
+ mes "[Strange Man]";
+ mes "Another quest for you I have.";
+ mes "Futher into the pyramid you must go.";
+ mes "Fighting Mummys is future for you.";
+ mes " ";
+ mes "Bring back for me their wrappings you must.";
+ mes "It is 30 Rotten bandages I desire.";
+ close;
+N_QuestComp2:
+ mes "[Strange Man]";
+ mes "Much thanks for you that I have.";
+ next;
+ mes "[Strange Man]";
+ mes "Take with you these 3 tokens.";
+ set #Treasure_Token,#Treasure_Token+3;
+ delitem 930,30;
+ set On_Quest,0;
+ set six_qset,0;
+ close;
+}
+//6-3;
+xmas.gat,144,136,6 script Chirach 48,{
+ if (six_qset == 3 && countitem(1083) > 0) goto N_QuestComp;
+ if (six_qset == 3) goto N_QuestStart;
+ mes "[Chirach]";
+ mes "Welcome.";
+ close;
+N_QuestComp:
+ mes "[Chirach]";
+ mes "Thank you for this delivery.";
+ next;
+ mes "[Chirach]";
+ mes "Here take this Treasure Token as a reward.";
+ set six_qset,0;
+ delitem 1083,1;
+ set On_Quest,0;
+ set #Treasure_Token,#Treasure_Token+1;
+ close;
+N_QuestStart:
+ mes "[Chirach]";
+ mes "Where's my delivery?";
+ close;
+}
+//6-4;
+gef_tower.gat,52,87,6 script Wizard 735,{
+ if (six_qset == 4 && countitem(944) > 19) goto N_QuestComp;
+ if (six_qset == 4) goto N_QuestStart;
+ mes "[Zuuzuu]";
+ mes "Hello, welcome to geffen tower.";
+ close;
+N_QuestComp:
+ mes "[Wizard]";
+ mes "Thank you for helping me.";
+ next;
+ mes "Here take these 4 Treasure Tokens.";
+ set six_qset,0;
+ set On_Quest,0;
+ delitem 944,20;
+ set #Treasure_Token,#Treasure_Token+4;
+ next;
+ mes "[Zuuzuu]";
+ mes "Oh dear god!!!";
+ mes "One of those evil mosters has followed you up here, Kill it, Kill it!!!";
+ next;
+ monster "gef_tower.gat",42,89,"Evil Nightmare",1061,1,"nightsum";
+ close;
+N_QuestStart:
+ mes "[Zuuzuu]";
+ mes "Hello, the reason I sent for a young adventurer was because of the problems we are having under the tower.";
+ mes "There seem to be more ghosts day after day down there. What I need you to do is go down there and find these mosters we call Nightmares.";
+ mes " ";
+ mes "You must slay them and bring me 20 of there horse shoes.";
+ close;
+}
+///////Job list 7///////
+//7-1 goes to 8-1 using callfunc;
+prontera.gat,123,208,6 script Little Girl 717,{
+ if (seven_qset == 1 && countitem(531) > 4) goto N_QuestComp;
+ if (seven_qset == 1) goto N_QuestStart;
+ if (eight_qset == 1) goto N_QuestStart2;
+ mes "[Girl]";
+ mes "Hello mister "+strcharinfo(0)+".";
+ close;
+N_QuestComp:
+ mes "[Girl]";
+ mes "Thank you so much!";
+ next;
+ mes "[Girl]";
+ mes "Have these 1 Treasure Tokens.";
+ set seven_qset,0;
+ set On_Quest,0;
+ delitem 531,5;
+ set #Treasure_Token,#Treasure_Token+1;
+ close;
+N_QuestStart:
+ mes "[Girl]";
+ mes "Hi mister person. Can you get me some apple juice?";
+ mes "I want 5 of them.";
+ close;
+N_QuestStart2:
+ callfunc "eight_qset1";
+}
+//7-2;
+alberta.gat,101,84,6 script Charles 48,{
+ if (seven_qset == 2 && countitem(1082) > 0) goto N_QuestComp;
+ if (seven_qset == 2) goto N_QuestStart;
+ mes "[Charles]";
+ mes "Hello "+strcharinfo(0)+" welcome to Alberta.";
+ close;
+N_QuestComp:
+ mes "[Charles]";
+ mes "Thank you for this delivery.";
+ next;
+ mes "[Charles]";
+ mes "Here take this Treasure Token as a reward.";
+ set seven_qset,0;
+ delitem 1082,1;
+ set On_Quest,0;
+ set #Treasure_Token,#Treasure_Token+1;
+ close;
+N_QuestStart:
+ mes "[Charles]";
+ mes "So where is my package?";
+ close;
+}
+//7-3
+function script seven_qset-3 {
+ if (seven_qset == 3 && countitem(969) > 0) goto N_QuestComp2;
+ mes "[Sewer Managment]";
+ mes "Well there have been reports of a Golden Thief Bug running around the bottem on the Culvert";
+ mes " ";
+ mes "Bring me 1 Gold Bar from him.";
+ close;
+N_QuestComp2:
+ mes "[Sewer Managment]";
+ mes "Thank you for helping me.";
+ next;
+ mes "[Sewer Managment]";
+ mes "Here take these 4 Treasure Tokens.";
+ set seven_qset,0;
+ set On_Quest,0;
+ delitem 969,1;
+ set #Treasure_Token,#Treasure_Token+4;
+ close;
+}
+//7-4;
+alb2trea.gat,94,102,6 script Scarlet 725,{
+ if (seven_qset == 4 && countitem(1127) > 0) goto N_QuestComp;
+ if (seven_qset == 4) goto N_QuestStart;
+ mes "[Scarlet]";
+ mes "Sorry, busy.";
+ close;
+N_QuestComp:
+ mes "[Scarlet]";
+ mes "Thank you for helping me, I presume the worse.";
+ next;
+ mes "[Scarlet]";
+ mes "Here take these 4 Treasure Tokens.";
+ set seven_qset,0;
+ set On_Quest,0;
+ delitem 1127,1;
+ set #Treasure_Token,#Treasure_Token+4;
+ close;
+N_QuestStart:
+ mes "[Scarlet]";
+ mes "Good your here. Ok there are reports of an old captain named Drake abored this ship. Kill Him!";
+ mes " ";
+ mes "Bring me his Saber as proof!";
+ close;
+}
+///////Job list 8///////
+//8-1
+function script eight_qset1 {
+ if (eight_qset == 1 && countitem(532) > 4) goto N_QuestComp2;
+ mes "[Girl]";
+ mes "Hi mister person. Can you get me some Banana juice?";
+ mes "I want 5 of them.";
+ close;
+N_QuestComp2:
+ mes "[Girl]";
+ mes "Thank you so much!";
+ next;
+ mes "[Girl]";
+ mes "Have these 1 Treasure Tokens.";
+ set eight_qset,0;
+ set On_Quest,0;
+ delitem 532,5;
+ set #Treasure_Token,#Treasure_Token+1;
+ close;
+}
+//8-2;
+morocc.gat,165,55,6 script Klye 48,{
+ if (eight_qset == 2 && countitem(1081) > 0) goto N_QuestComp;
+ if (eight_qset == 2) goto N_QuestStart;
+ mes "[Klye]";
+ mes "Hello "+strcharinfo(0)+".";
+ close;
+N_QuestComp:
+ mes "[Klye]";
+ mes "Thank you for this delivery.";
+ next;
+ mes "[Klye]";
+ mes "Here take this Treasure Token as a reward.";
+ set eight_qset,0;
+ delitem 1081,1;
+ set On_Quest,0;
+ set #Treasure_Token,#Treasure_Token+1;
+ close;
+N_QuestStart:
+ mes "[Kyle]";
+ mes "So where's my Delivery";
+ close;
+
+}
+//8-3;
+prt_maze02.gat,103,86,6 script Zack 751,{
+ if (eight_qset == 3 && countitem(923) > 0) goto N_QuestComp;
+ if (eight_qset == 3) goto N_QuestStart;
+ mes "[Zack]";
+ mes "Hello, have you seen my Whisper friend?";
+ close;
+N_QuestComp:
+ mes "[Zack]";
+ mes "Thank you for helping me, I presume the worse.";
+ next;
+ mes "[Zack]";
+ mes "Here take these 5 Treasure Tokens.";
+ set eight_qset,0;
+ set On_Quest,0;
+ delitem 923,1;
+ set #Treasure_Token,#Treasure_Token+5;
+ close;
+N_QuestStart:
+ mes "[Zack]";
+ mes "Hello,the reason why I brought you here was because of a very strange monster known as Baphomet.";
+ mes "People say that Baphomet guilds the gate to the under-world but I don't belive them, Kill Baphomet!";
+ mes " ";
+ mes "Bring me his Evil Horn!";
+ close;
+}
+//8-4;
+payon.gat,136,129,6 script Flower 703,{
+ if (eight_qset == 4 && countitem(746) > 9) goto N_QuestComp;
+ if (eight_qset == 4) goto N_QuestStart;
+ mes "[Flower]";
+ mes "Sorry I'm waiting for someone. You will have to come back later.";
+ close;
+N_QuestComp:
+ mes "[Flower]";
+ mes "Thank you for helping me, I presume the worse.";
+ next;
+ mes "[Flower]";
+ mes "Here take these 2 Treasure Tokens.";
+ set eight_qset,0;
+ set On_Quest,0;
+ delitem 746,10;
+ set #Treasure_Token,#Treasure_Token+2;
+ close;
+N_QuestStart:
+ mes "[Flower]";
+ mes "Help, help I have lost my Beads!! My brother Bush is going to kill me please help";
+ mes " ";
+ mes "Bring me 10 Glass Beads!";
+ close;
+}
+///////Job list 9///////
+//9-1;
+geffen_in.gat,168,124,6 script Mage 48,{
+ if (nine_qset == 1 && countitem(1082) > 0) goto N_QuestComp;
+ if (nine_qset == 1) goto N_QuestStart;
+ mes "[Mage]";
+ mes "Hello "+strcharinfo(0)+" welcome to the Mage Guild.";
+ close;
+N_QuestComp:
+ mes "[Mage]";
+ mes "Thank you for this delivery. Sorry about the smell, Its a box of Toad Tounges";
+ next;
+ mes "[Mage]";
+ mes "Here take this Treasure Token as a reward.";
+ set nine_qset,0;
+ delitem 1082,1;
+ set On_Quest,0;
+ set #Treasure_Token,#Treasure_Token+1;
+ close;
+N_QuestStart:
+ mes "[Mage]";
+ mes "Hello "+strcharinfo(0)+", Where is my box of Toad Tounges?.";
+ close;
+}
+//9-2;
+pay_arche.gat,98,74,6 script School Girl 703,{
+ if (nine_qset == 2 && countitem(1020) > 19) goto N_QuestComp;
+ if (nine_qset == 2) goto N_QuestStart;
+ mes "[School Girl]";
+ mes "Sorry I'm waiting for someone, you will have to come back later";
+ close;
+N_QuestComp:
+ mes "[School Girl]";
+ mes "Thank you for helping me.";
+ next;
+ mes "[School Girl]";
+ mes "Here take these 4 Treasure Tokens.";
+ set nine_qset,0;
+ set On_Quest,0;
+ delitem 1020,20;
+ set #Treasure_Token,#Treasure_Token+4;
+ close;
+N_QuestStart:
+ mes "[School Girl]";
+ mes "Help, Well what we know about Payon is that a while ago there was a freak fire that burnt down the old school.";
+ next;
+ mes "[School Girl]";
+ mes "The strange thing about what happened was that the children inside did not seem to die from the flames. They have taken over the entire 3rd floor of Payon Cave.";
+ mes " ";
+ mes "Bring me 20 Black Hair!";
+ close;
+}
+//9-3
+payon_in02.gat,19,33,6 script Jack 740,{
+ if (nine_qset == 3 && countitem(1022) > 0) goto N_QuestComp;
+ if (nine_qset == 3) goto N_QuestStart;
+ if (nine_qset == 4) goto N_QuestStart2;
+ mes "[Jack]";
+ mes "Sorry I'm waiting for someone, you will have to come back later";
+ close;
+N_QuestComp:
+ mes "[Jack]";
+ mes "Thank you for helping me.";
+ next;
+ mes "[Jack]";
+ mes "Here take these 4 Treasure Tokens.";
+ set nine_qset,0;
+ set On_Quest,0;
+ delitem 1022,1;
+ set #Treasure_Token,#Treasure_Token+4;
+ close;
+N_QuestStart:
+ mes "[Jack]";
+ mes "Well I don't know much about this, it has to do with the deepest reagions of Payon Cave. We don't know much because no one ever seems to make it back alive. We suspect a monster we call the Moonlight Flower";
+ mes " ";
+ mes "Bring me back 1 Nine Tales!";
+ close;
+N_QuestStart2:
+//9-4
+ if (nine_qset == 4 && countitem(901) > 39) goto N_QuestComp2;
+ mes "[Jack]";
+ mes "Hello, we need you to investigate some crap in the 3rd level of payon.";
+ mes " ";
+ mes "Bring me back 40 Daenggie's.";
+ close;
+N_QuestComp2:
+ mes "[Jack]";
+ mes "Thank you for helping me.";
+ next;
+ mes "[Jack]";
+ mes "Here take these 3 Treasure Tokens.";
+ set nine_qset,0;
+ set On_Quest,0;
+ delitem 901,40;
+ set #Treasure_Token,#Treasure_Token+3;
+ close;
+}
+///////Job list 10///////
+//10-1
+morocc.gat,193,51,6 script Kreg 48,{
+ if (ten_qset == 1 && countitem(1082) > 0) goto N_QuestComp;
+ if (ten_qset == 1) goto N_QuestStart;
+ mes "[Kreg]";
+ mes "Hello "+strcharinfo(0)+" welcome to Morroc.";
+ close;
+N_QuestComp:
+ mes "[Kreg]";
+ mes "Thank you for this delivery.";
+ next;
+ mes "[Kreg]";
+ mes "Here take this Treasure Token as a reward.";
+ set ten_qset,0;
+ delitem 1082,1;
+ set On_Quest,0;
+ set #Treasure_Token,#Treasure_Token+1;
+ close;
+N_QuestStart:
+ mes "[Kreg]";
+ mes "So where's my Delivery";
+ close;
+}
+//10-2;
+pay_fild10.gat,145,252,6 script Man 122,{
+ if (ten_qset == 2 && countitem(1029) > 0) goto N_QuestComp;
+ if (ten_qset == 2) goto N_QuestStart;
+ mes "[Man]";
+ mes "Sorry I'm waiting for someone, you will have to come back later";
+ close;
+N_QuestComp:
+ mes "[Man]";
+ mes "Thank you for helping me.";
+ next;
+ mes "[Man]";
+ mes "Here take these 4 Treasure Tokens.";
+ set ten_qset,0;
+ set On_Quest,0;
+ delitem 1029,1;
+ set #Treasure_Token,#Treasure_Token+4;
+ close;
+N_QuestStart:
+ mes "[Man]";
+ mes "Tony the Tiger is on Crack! He must be stoped, KILL HIM!";
+ mes " ";
+ mes "Bring me back 1 Tiger's_Skin!";
+ close;
+}
+//10-3;
+moc_fild04.gat,193,51,6 script Caral 119,{
+ if (ten_qset == 3 && countitem(1015) > 0) goto N_QuestComp;
+ if (ten_qset == 3) goto N_QuestStart;
+ mes "[Caral]";
+ mes "Sorry I'm waiting for someone, you will have to come back later.";
+ close;
+N_QuestComp:
+ mes "[Caral]";
+ mes "Thank you for helping me.";
+ next;
+ mes "[Caral]";
+ mes "Here take these 4 Treasure Tokens.";
+ set ten_qset,0;
+ set On_Quest,0;
+ delitem 1015,1;
+ set #Treasure_Token,#Treasure_Token+4;
+ close;
+N_QuestStart:
+ mes "[Caral]";
+ mes "Phreeoni the Pink Fluff is terrorizing little novices! He must be stoped, KILL HIM!";
+ mes " ";
+ mes "Bring me back 1 Tounge!";
+ close;
+}
+//10-4
+moc_fild15.gat,250,251,6 script Jeni 727,{
+ if (ten_qset == 4 && countitem(1096) > 0) goto N_QuestComp;
+ if (ten_qset == 4) goto N_QuestStart;
+ mes "[Jeni]";
+ mes "Sorry I'm waiting for someone, You will have to come back later";
+ close;
+N_QuestComp:
+ mes "[Jeni]";
+ mes "Thank you for helping me.";
+ next;
+ mes "[Jeni]";
+ mes "Here take these 3 Treasure Tokens.";
+ set ten_qset,0;
+ set On_Quest,0;
+ delitem 1096,1;
+ set #Treasure_Token,#Treasure_Token+3;
+ close;
+N_QuestStart:
+ mes "[Jeni]";
+ mes "This half naked freak need an army to take down, now its your job,good luck.";
+ mes " ";
+ mes "Bring me back 1 Round Shell!";
+ close;
+}
diff --git a/npc/custom/quests/thq/THQS_TTShop.txt b/npc/custom/quests/thq/THQS_TTShop.txt
new file mode 100644
index 000000000..5a6b2a70e
--- /dev/null
+++ b/npc/custom/quests/thq/THQS_TTShop.txt
@@ -0,0 +1,523 @@
+//===== Athena Script =====================================
+//= Treasure Hunter Script
+//===== Converted By ======================================
+//= Fredzilla
+//= Original
+///////////////////////////////////////////////////////////
+// Treasure Hunter Quests //
+// By: Ezekial //
+// for the use on nRO run by Newbe5 //
+// revised By Warlock //
+///////////////////////////////////////////////////////////
+//===== Version ===========================================
+//= 1.1
+//===== Compatible With ===================================
+//= eAthena 1.0
+//===== Description =======================================
+//= Start for Treasure hunter quests
+//===== Comments ==========================================
+//= Event_THQS - Used to check if you have already registerd
+//= #Treasure_Token - used to keep track of tokens
+//= v1.0 - Straight conversion of Aegis NPC file
+//= v1.1 - balanced some prices, fixed 1 missing label
+//= removed Executioner&Mysteltain swords [Lupus]
+//////////////////////////////////////////////////////////
+
+prt_in.gat,159,172,0 warp thqwrp 3,3,yuno_in01.gat,123,155
+
+prt_in.gat,164,174,1 script Treasure Hunter's Shop 65,{
+ mes "[Ash]";
+ mes "Ahh, "+strcharinfo(0)+"! Welcome to the Offical Treasure Hunter's Guild Shop.";
+ mes "You currently have ^FF0000"+#Treasure_Token+"^000000 treasure tokens!!!";
+ next;
+ menu "How does this place work?",-,"What do you have in stock?",N_Shop,"Nevermind",N_NVM;
+ mes "[Ash]";
+ mes "Well you see here you can exchange your treasure hunter tokens for zeny or rare weapons forged by our blacksmiths.";
+ mes " ";
+ mes "Everything has its own price value and the only way you can get the tokens is by completing quests assigned to you,the system normally works like this.";
+ mes " ";
+ mes "The harder the mission the more Tokens you will earn. All red quests are worth 4-8 Tokens, and the rest are worth 1-5.";
+ mes " ";
+ mes "Hope that solves your problem and questions.";
+ close;
+N_NVM:
+ close;
+ end;
+N_Shop:
+//This is when it gets hard :)
+ mes "[Ash]";
+ mes "Ok here is our Big list of goods.";
+ mes " ";
+ mes "(Note T stands for a Treasure Token.)";
+ next;
+ menu "Trade for Zeny",-,"Trade for Weapons",N_BuyWeps,"Trade for Cards",N_BuyCards,"Nevermind",N_NVM;
+ mes "[Ash]";
+ mes "This is what we have to offer.";
+ next;
+ menu "1000z - 1T",-,"10000z - 10T",N_10T,"100000z - 100T",N_100T,"Nevermind",N_NVM;
+ if (#Treasure_Token > 0) goto N_GetZeny1k;
+ mes "You don't have enough tokens!";
+ close;
+N_GetZeny1k:
+ set #Treasure_Token,#Treasure_Token-1;
+ set zeny,zeny+1000;
+ close;
+N_10T:
+ if (#Treasure_Token > 9) goto N_GetZeny10k;
+ mes "You don't have enough tokens!";
+ close;
+N_GetZeny10k:
+ set #Treasure_Token,#Treasure_Token-10;
+ set zeny,zeny+10000;
+ close;
+N_100T:
+ if (#Treasure_Token > 99) goto N_GetZeny100k;
+ mes "You don't have enough tokens!";
+ close;
+N_GetZeny100k:
+ set #Treasure_Token,#Treasure_Token-100;
+ set zeny,zeny+100000;
+ close;
+
+N_BuyWeps:
+ mes "[Ash]";
+ mes "This is what we have to offer.";
+ next;
+ menu "Axe's",-,"1 Handed Swords",N_1HandSword,"2 Handed Swords",N_2HandSword,"Book's",N_Book,"Bow's",N_Bow,"Katar's",N_Katar,"Knuckle's",N_Knuckle,"Mace's",N_Mace,"Whips",N_Whip,"Wands",N_Wand,"Nevermind",N_NVM;
+
+ mes "[Ash]";
+ mes "This is what we have to offer.";
+ next;
+ menu "Sabbath - 160T",-,"Slaughter - 160T",N_Slau,"Tomahawk - 180T",N_Toma,"Great Axe - 200T",N_GreatA,"Guillotine - 200T",N_Guill,"Nevermind",N_NVM;
+
+ if (#Treasure_Token < 160) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-160;
+ getitem 1365,1;
+ logmes "Treasure Token: Bought a Sabbath";
+ close;
+N_Slau:
+ if (#Treasure_Token < 160) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-160;
+ getitem 1367,1;
+ logmes "Treasure Token: Bought a Slaughter";
+ close;
+N_Toma:
+ if (#Treasure_Token < 180) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-180;
+ getitem 1368,1;
+ logmes "Treasure Token: Bought a Tomahawk";
+ close;
+N_GreatA:
+ if (#Treasure_Token < 200) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-200;
+ getitem 1364,1;
+ logmes "Treasure Token: Bought a Great Axe";
+ close;
+N_Guill:
+ if (#Treasure_Token < 200) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-200;
+ getitem 1369,1;
+ logmes "Treasure Token: Bought a Guillotine";
+ close;
+N_NeedToken:
+ mes "[Ash]";
+ mes "You don't have enough tokens!";
+ close;
+
+
+N_1HandSword:
+ mes "[Ash]";
+ mes "This is what we have to offer.";
+ next;
+ menu "Edge - 130T",-,"Solar Sword - 150T",N_SolarS,"Caesar's Sword - 170T",N_CaesarS,"Nagan - 180T",N_Nagan,"Immaterial Sword - 200T",N_ImmatS,"Excalibur - 200T",N_Excal,"Byeollungum - 240T",N_Byeoll,"Talefing - 320T",N_Talef,"Nevermind",N_NVM;
+
+ if (#Treasure_Token < 130) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-130;
+ getitem 1132,1;
+ logmes "Treasure Token: Bought a Edge";
+ close;
+N_SolarS:
+ if (#Treasure_Token < 150) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-150;
+ logmes "Treasure Token: Bought a Solar Sword";
+ getitem 1136,1;
+ close;
+N_CaesarS:
+ if (#Treasure_Token < 170) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-170;
+ logmes "Treasure Token: Bought a Caesars Sword";
+ getitem 1134,1;
+ close;
+N_Nagan:
+ if (#Treasure_Token < 180) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-180;
+ logmes "Treasure Token: Bought a Nagan";
+ getitem 1130,1;
+ close;
+N_ImmatS:
+ if (#Treasure_Token < 200) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-200;
+ logmes "Treasure Token: Bought a Immaterial Sword";
+ getitem 1141,1;
+ close;
+N_Excal:
+ if (#Treasure_Token < 200) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-200;
+ logmes "Treasure Token: Bought a Excalibur";
+ getitem 1137,1;
+ close;
+N_Byeoll:
+ if (#Treasure_Token < 240) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-240;
+ logmes "Treasure Token: Bought a Byeollungum";
+ getitem 1140,1;
+ close;
+N_Talef:
+ if (#Treasure_Token < 320) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-320;
+ logmes "Treasure Token: Bought a Talefing";
+ getitem 1139,1;
+ close;
+
+
+N_2HandSword:
+ mes "[Ash]";
+ mes "This is what we have to offer.";
+ next;
+ menu "Dragon Slayer - 140T",-,"Schweizersabel - 200T",N_Schwe,"Katzbalger - 300T",N_Katzb,"Muramasa - 300T",N_Murama,"Masamune - 400T",N_Masamu,"Balmung - 2000T",N_Balmu,"Nevermind",N_NVM;
+
+ if (#Treasure_Token < 140) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-140;
+ logmes "Treasure Token: Bought a Dragon Slayer";
+ getitem 1166,1;
+ close;
+N_Schwe:
+ if (#Treasure_Token < 200) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-200;
+ logmes "Treasure Token: Bought a Schweizersabel";
+ getitem 1167,1;
+ close;
+N_Katzb:
+ if (#Treasure_Token < 300) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-300;
+ logmes "Treasure Token: Bought a Katzbalger";
+ getitem 1170,1;
+ close;
+N_Murama:
+ if (#Treasure_Token < 300) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-300;
+ logmes "Treasure Token: Bought a Muramasa";
+ getitem 1164,1;
+ close;
+N_Masamu:
+ if (#Treasure_Token < 400) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-400;
+ logmes "Treasure Token: Bought a Masamune";
+ getitem 1165,1;
+ close;
+N_Balmu:
+ if (#Treasure_Token < 2000) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-2000;
+ logmes "Treasure Token: Bought a Balmung";
+ getitem 1161,1;
+ close;
+
+
+N_Book:
+ mes "[Ash]";
+ mes "This is what we have to offer.";
+ next;
+ menu "Book of the Burning Sun - 80T",-,"Book of the Rough Seas - 80T",N_RoughSea,"Book of the Dry Winds - 80T",N_DryWinds,"Book of the Ripe Earth - 80T",N_RipeEarth,"Book of the Revelations - 80T",N_Revela,"Bible - 90T",N_Bible,"Tablet - 120T",N_Tablet,"Nevermind",N_NVM;
+
+ if (#Treasure_Token < 80) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-80;
+ logmes "Treasure Token: Bought a Book of the Burning Sun";
+ getitem 1555,1;
+ close;
+N_RoughSea:
+ if (#Treasure_Token < 80) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-80;
+ logmes "Treasure Token: Bought a Book of the Rough Seas";
+ getitem 1553,1;
+ close;
+N_DryWinds:
+ if (#Treasure_Token < 80) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-80;
+ logmes "Treasure Token: Bought a Book of the Dry Winds";
+ getitem 1556,1;
+ close;
+N_RipeEarth:
+ if (#Treasure_Token < 80) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-80;
+ logmes "Treasure Token: Bought a Book of the Ripe Earth";
+ getitem 1554,1;
+ close;
+N_Revela:
+ if (#Treasure_Token < 80) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-80;
+ logmes "Treasure Token: Bought a Book of the Revelations";
+ getitem 1557,1;
+ close;
+N_Bible:
+ if (#Treasure_Token < 90) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-90;
+ logmes "Treasure Token: Bought a Bible";
+ getitem 1551,1;
+ close;
+N_Tablet:
+ if (#Treasure_Token < 120) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-120;
+ logmes "Treasure Token: Bought a Tablet";
+ getitem 1552,1;
+ close;
+
+N_Bow:
+ mes "[Ash]";
+ mes "This is what we have to offer.";
+ next;
+ menu "Rudra's Bow - 150T",-,"Roguemaster's Bow - 150T",N_Rogue,"Nevermind",N_NVM;
+
+ if (#Treasure_Token < 150) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-150;
+ logmes "Treasure Token: Bought a Rudra Bow";
+ getitem 1720,1;
+ close;
+N_Rogue:
+ if (#Treasure_Token < 150) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-150;
+ logmes "Treasure Token: Bought a Roguemaster Bow";
+ getitem 1719,1;
+ close;
+
+N_Katar:
+ mes "[Ash]";
+ mes "This is what we have to offer.";
+ next;
+ menu "Katar of the Blazing Rage - 70T",-,"Katar of the Cold Icicle - 70T",N_ColdIce,"Katar of the Piercing Wind - 70T",N_PiercWind,"Katar of the Dusty Thornbush - 70T",N_DustyT,"Sharpened Legbone of Ghoul - 125T",N_Legbone,"Infiltrator - 150T",N_Infiltra,"Nevermind",N_NVM;
+
+ if (#Treasure_Token < 70) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-70;
+ logmes "Treasure Token: Bought a Katar of the Blazing Rage";
+ getitem 1258,1;
+ close;
+N_ColdIce:
+ if (#Treasure_Token < 70) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-70;
+ logmes "Treasure Token: Bought a Katar of the Cold Icicle";
+ getitem 1256,1;
+ close;
+N_PiercWind:
+ if (#Treasure_Token < 70) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-70;
+ logmes "Treasure Token: Bought a Katar of the Piercing Wind";
+ getitem 1259,1;
+ close;
+N_DustyT:
+ if (#Treasure_Token < 70) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-70;
+ logmes "Treasure Token: Bought a Katar of the Dusty Thornbush";
+ getitem 1257,1;
+ close;
+N_Legbone:
+ if (#Treasure_Token < 125) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-125;
+ logmes "Treasure Token: Bought a Sharpened Legbone of Ghoul";
+ getitem 1260,1;
+ close;
+N_Infiltra:
+ if (#Treasure_Token < 150) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-150;
+ logmes "Treasure Token: Bought a Infiltrator";
+ getitem 1261,1;
+ close;
+
+N_Knuckle:
+ mes "[Ash]";
+ mes "This is what we have to offer.";
+ next;
+ menu "Kaiser Knuckle - 75T",-,"Berserk - 75T",N_Berserk,"Nevermind",N_NVM;
+
+ if (#Treasure_Token < 75) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-75;
+ logmes "Treasure Token: Bought a Kaiser Knuckle";
+ getitem 1813,1;
+ close;
+N_Berserk:
+ if (#Treasure_Token < 75) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-75;
+ logmes "Treasure Token: Bought a Berserk";
+ getitem 1814,1;
+ close;
+
+N_Mace:
+ mes "[Ash]";
+ mes "This is what we have to offer.";
+ next;
+ menu "Spike - 65T",-,"Slash - 90T",N_Slash,"Grand Cross - 100T",N_GrandC,"Quadrille - 110T",N_Quadr,"Mjolnir - 1000T",N_MJ,"Nevermind",N_NVM;
+
+ if (#Treasure_Token < 65) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-65;
+ logmes "Treasure Token: Bought a Spike";
+ getitem 1523,1;
+ close;
+N_Slash:
+ if (#Treasure_Token < 90) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-90;
+ logmes "Treasure Token: Bought a Slash";
+ getitem 1526,1;
+ close;
+N_GrandC:
+ if (#Treasure_Token < 100) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-100;
+ logmes "Treasure Token: Bought a Grand Cross";
+ getitem 1528,1;
+ close;
+N_Quadr:
+ if (#Treasure_Token < 110) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-110;
+ logmes "Treasure Token: Bought a Quadrille";
+ getitem 1527,1;
+ close;
+N_MJ:
+ if (#Treasure_Token < 1000) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-1000;
+ logmes "Treasure Token: Bought a Mjolnir";
+ getitem 1530,1;
+ close;
+
+N_Whip:
+ mes "[Ash]";
+ mes "This is what we have to offer.";
+ next;
+ menu "Rapture Rose - 50T",-,"Chemeti - 65T",N_Chemeti,"Nevermind",N_NVM;
+
+ if (#Treasure_Token < 50) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-50;
+ logmes "Treasure Token: Bought a Rapture Rose";
+ getitem 1963,1;
+ close;
+N_Chemeti:
+ if (#Treasure_Token < 65) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-65;
+ logmes "Treasure Token: Bought a Chemeti";
+ getitem 1964,1;
+ close;
+
+N_Wand:
+ mes "[Ash]";
+ mes "This is what we have to offer.";
+ next;
+ menu "Mighty Staff - 90T",-,"Wizardry Staff - 150T",N_Wizardry,"Bone Wand - 110T",N_BoneW,"Staff of Soul - 120T",N_SOSoul,"Nevermind",N_NVM;
+
+ if (#Treasure_Token < 90) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-90;
+ logmes "Treasure Token: Bought a Mighty Staff";
+ getitem 1613,1;//Items: Mighty_Staff,
+ close;
+N_Wizardry:
+ if (#Treasure_Token < 150) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-150;
+ logmes "Treasure Token: Bought a Wizardry Staff";
+ getitem 1473,1;//Items: Wizardy_Staff,
+ close;
+N_BoneW:
+ if (#Treasure_Token < 110) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-110;
+ logmes "Treasure Token: Bought a Bone Wand";
+ getitem 1615,1;//Items: Bone_Wand,
+ close;
+N_SOSoul:
+ if (#Treasure_Token < 120) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-120;
+ logmes "Treasure Token: Bought a Staff of Soul";
+ getitem 1472,1;//Items: Staff_of_Soul,
+ close;
+
+N_BuyCards:
+ mes "[Ash]";
+ mes "This is what we have to offer. All Cards are 300T";
+ next;
+ menu "Poring Card - 2T",-,"Pasana Card - 420T",N_CPasana,"Dokebi Card - 420T",N_CDok,"Swordfish Card - 420T",N_CSFish,
+ "Sandman Card - 420T",N_CSMan,"Drainliar Card - 360T",N_CDrain,"Kaho Card - 360T",N_CKaho,"Mandragora Card - 360T",N_CMand,
+ "Vadon Card - 360T",N_CVadon,"Mummy Card - 540T",N_CMummy,"Zenorc Card - 240T",N_CZeno,"Condor Card - 240T",N_CCond,
+ "Zombie Card - 210T",N_CZomb,"Nevermind",N_NVM;
+
+ if (#Treasure_Token < 2) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-2;
+ logmes "Treasure Token: Bought a Poring Card";
+ getitem 4001,1;//Items: Poring_Card,
+ close;
+
+N_CPasana:
+ if (#Treasure_Token < 420) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-420;
+ logmes "Treasure Token: Bought a Pasana Card";
+ getitem 4099,1;//Items: Pasana_Card,
+ close;
+N_CDok:
+ if (#Treasure_Token < 420) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-420;
+ logmes "Treasure Token: Bought a Dokebi Card";
+ getitem 4098,1;//Items: Dokebi_Card,
+ close;
+N_CSFish:
+ if (#Treasure_Token < 420) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-420;
+ logmes "Treasure Token: Bought a Swordfish Card";
+ getitem 4089,1;//Items: Sword_Fish_Card,
+ close;
+N_CSMan:
+ if (#Treasure_Token < 420) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-420;
+ logmes "Treasure Token: Bought a Sandman Card";
+ getitem 4101,1;//Items: Sand_Man_Card,
+ close;
+N_CDrain:
+ if (#Treasure_Token < 360) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-360;
+ logmes "Treasure Token: Bought a Drainliar Card";
+ getitem 4069,1;//Items: Drainliar_Card,
+ close;
+N_CKaho:
+ if (#Treasure_Token < 360) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-360;
+ logmes "Treasure Token: Bought a Kaho Card";
+ getitem 4065,1;//Items: Kaho_Card,
+ close;
+N_CMand:
+ if (#Treasure_Token < 360) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-360;
+ logmes "Treasure Token: Bought a Mandragora Card";
+ getitem 4030,1;//Items: Mandragora_Card,
+ close;
+N_CVadon:
+ if (#Treasure_Token < 360) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-360;
+ logmes "Treasure Token: Bought a Vadon Card";
+ getitem 4049,1;//Items: Vadon_Card,
+ close;
+N_CMummy:
+ if (#Treasure_Token < 540) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-540;
+ logmes "Treasure Token: Bought a Mummy Card";
+ getitem 4106,1;//Items: Mummy_Card,
+ close;
+N_CZeno:
+ if (#Treasure_Token < 240) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-240;
+ logmes "Treasure Token: Bought a Zenorc Card";
+ getitem 4096,1;//Items: Zenorc_Card,
+ close;
+N_CCond:
+ if (#Treasure_Token < 240) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-240;
+ logmes "Treasure Token: Bought a Condor Card";
+ getitem 4015,1;//Items: Condor_Card,
+ close;
+N_CZomb:
+ if (#Treasure_Token < 210) goto N_NeedToken;
+ set #Treasure_Token,#Treasure_Token-210;
+ logmes "Treasure Token: Bought a Zombie Card";
+ getitem 4038,1;//Items: Zombie_Card,
+ close;
+}
diff --git a/npc/custom/quests/valhallen.txt b/npc/custom/quests/valhallen.txt
new file mode 100644
index 000000000..911888fe5
--- /dev/null
+++ b/npc/custom/quests/valhallen.txt
@@ -0,0 +1,198 @@
+//===== eAthena Script =======================================
+//= Valhallen items Quests NPC
+//===== By: ==================================================
+//= Avaji
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= All-in-one: Mjollnir,Sleipnir,Brisingammen,Gleipnir,Megingjard
+//===== Additional Comments: =================================
+//= Custom quest, ingredients based on official RO FAQ
+//============================================================
+
+prontera.gat,147,171,5 script Lenneth 811,{
+ mes "[Lenneth]";
+ mes "I come from Valhalla to aid you.";
+ mes "I can transmute for you many of the Valhallen items.";
+ mes "Although they require many rare elements to make.";
+ next;
+ mes "[Lenneth]";
+ mes "What would you like?";
+ next;
+ menu "Mjollnir",-,"Sleipnir",L_SLE,"Brisingammen",L_BRI,"Gleipnir",L_GLE,"Megingjard",L_MEG;
+
+ mes "[Lenneth]";
+ mes "^3355FFMjollnir^000000 is the mighty Hammer of Thor.";
+ mes "The items I need to transmute 2 ^3355FFSpanners^000000 into ^3355FFMjollnir^000000 are as follows:";
+ mes "20 ^3355FFOridecon^000000 5 ^3355FFElunium^000000 and 40 ^3355FFGold^000000";
+ mes "I also need the following essences:";
+ mes "2 ^3355FFThor's Guntlet^000000";
+ mes "4 ^3355FFIron Maiden^000000";
+ mes "5 ^3355FFWrath of Valkyrie^000000";
+ mes "5 ^3355FFBreath of Soul^000000";
+ mes "5 ^3355FFOmen of tempest^000000";
+ next;
+ mes "[Lenneth]";
+ mes "Do you desire ^3355FFMjollnir^000000?";
+ next;
+ menu "Yes",-,"No",L_OUT;
+
+ if(countitem(984) < 20 || countitem(985) < 5 || countitem(969) < 40 || countitem(1531) < 2 || countitem(7089) < 5
+ || countitem(7074) < 2 || countitem(7075) < 4 || countitem(7078) < 5 || countitem(7087) < 5) goto L_NOTENOUGH;
+
+ delitem 984,20;
+ delitem 985,5;
+ delitem 969,40;
+ delitem 1531,2;
+ delitem 7074,2;
+ delitem 7075,4;
+ delitem 7078,5;
+ delitem 7087,5;
+ delitem 7089,5;
+
+ getitem 1530,1;
+
+ mes "[Lenneth]";
+ mes "Here is your ^3355FFMjollnir^000000, may it serve you well.";
+ close;
+L_SLE:
+
+ mes "[Lenneth]";
+ mes "^3355FFSleipnir^000000 are boots made after Odin's War Horse.";
+ mes "To be able to transmute 2 ^3355FFBoots^000000 into ^3355FFSleipnir^000000 I will need:";
+ mes "1 ^3355FFOridecon^000000 10 ^3355FFElunium^000000 and 20 ^3355FFGold^000000";
+ mes "I also need the following essences:";
+ mes "3 ^3355FFWheel of the Unknown^000000";
+ mes "5 ^3355FFFeather of Angel^000000";
+ mes "3 ^3355FFSprirt of Fish^000000";
+ mes "3 ^3355FFEmblem of the Sun God^000000";
+ next;
+ mes "[Lenneth]";
+ mes "Do you desire ^3355FFSleipnir^000000?";
+ next;
+ menu "Yes",-,"No",L_OUT;
+
+ if(countitem(969) < 20 || countitem(985) < 10 || countitem(984) < 1 || countitem(2406) < 2 || countitem(7076) < 3
+ || countitem(7079) < 5 || countitem(7083) < 3 || countitem(7086) < 3) goto L_NOTENOUGH;
+
+ delitem 969,20;
+ delitem 985,10;
+ delitem 984,1;
+ delitem 2406,2;
+ delitem 7076,3;
+ delitem 7079,5;
+ delitem 7083,3;
+ delitem 7086,3;
+
+ getitem 2410,1;
+
+ mes "[Lenneth]";
+ mes "Here is your ^3355FFSleipnir^000000, may they help you.";
+ close;
+L_BRI:
+
+ mes "[Lenneth]";
+ mes "^3355FFBrisingammen^000000 is the magical Necklace of Freyja, goddess of Beauty.";
+ mes "The items I need to transmute a ^3355FFNecklace^000000 into ^3355FFBrisingammen^000000 are as follows:";
+ mes "2 ^3355FFSapphire^000000 3 ^3355FFPearl^000000 10 ^3355FFOpal^000000";
+ mes "5 ^3355FFRuby^000000 and 20 ^3355FFGold^000000";
+ mes "I also need the following essences:";
+ mes "4 ^3355FFFreya's Jewel^000000";
+ mes "4 ^3355FFSilver Ornament^000000";
+ mes "3 ^3355FFSnow Crystal^000000";
+ mes "3 ^3355FFQuiet Wave^000000";
+ mes "3 ^3355FFDrifting Air^000000";
+ next;
+ mes "[Lenneth]";
+ mes "Do you desire ^3355FFBrisingammen^000000?";
+ next;
+ menu "Yes",-,"No",L_OUT;
+
+ if(countitem(969) < 20 || countitem(723) < 5 || countitem(727) < 10 || countitem(722) < 3 || countitem(726) < 2
+ || countitem(7090) < 3 || countitem(7088) < 3 || countitem(7077) < 4 || countitem(7073) < 4 || countitem(2603) < 1
+ || countitem(7092) < 3) goto L_NOTENOUGH;
+
+ delitem 726,2;
+ delitem 722,3;
+ delitem 727,10;
+ delitem 723,5;
+ delitem 969,20;
+ delitem 2603,1;
+ delitem 7073,4;
+ delitem 7077,4;
+ delitem 7088,3;
+ delitem 7090,3;
+ delitem 7092,3;
+
+ getitem 2630,1;
+
+ mes "[Lenneth]";
+ mes "Here is ^3355FFBrisingammen^000000, may it serve you well.";
+ close;
+L_GLE:
+
+ mes "[Lenneth]";
+ mes "The ^3355FFGleipnir^000000 is a light yet strong rope required to make ^3355FFMegingjard^000000";
+ mes "I will need the following essences to transmute ^3355FFGleipnir^000000:";
+ mes "4 ^3355FFTread of Cat^000000";
+ mes "5 ^3355FFWoman's Moustache^000000";
+ mes "4 ^3355FFStone Fragment^000000";
+ mes "3 ^3355FFSaliva of Bird^000000";
+ mes "3 ^3355FFSinew of Bear^000000";
+ next;
+ mes "[Lenneth]";
+ mes "Do you desire ^3355FFGleipnir^000000?";
+ next;
+ menu "Yes",-,"No",L_OUT;
+
+ if(countitem(7085) < 3 || countitem(7084) < 3 || countitem(7082) < 4 || countitem(7081) < 5 || countitem(7080) < 4) goto L_NOTENOUGH;
+
+ delitem 7080,4;
+ delitem 7081,5;
+ delitem 7082,4;
+ delitem 7084,3;
+ delitem 7085,3;
+
+ getitem 7058,1;
+
+ mes "[Lenneth]";
+ mes "Here is your ^3355FFGleipnir^000000.";
+ close;
+L_MEG:
+
+ mes "[Lenneth]";
+ mes "The ^3355FFMegingjard^000000 is the powerful Belt of Thor.";
+ mes "To transmute a ^3355FFBelt^000000 into ^3355FFMegingjard^000000 I will need the following:";
+ mes "10 ^3355FFGold^000000 10 ^3355FFSapphire^000000";
+ mes "5 ^3355FFOridecon^000000 and 1 ^3355FFGleipnir^000000";
+ next;
+ mes "[Lenneth]";
+ mes "Do you desire ^3355FFMegingjard^000000?";
+ next;
+ menu "Yes",-,"No",L_OUT;
+
+ if(countitem(2627) < 1 || countitem(984) < 5 || countitem(726) < 10 || countitem(969) < 10 || countitem(7058) < 1) goto L_NOTENOUGH;
+
+ delitem 7058,1;
+ delitem 969,10;
+ delitem 726,10;
+ delitem 984,5;
+ delitem 2627,1;
+
+ getitem 2629,1;
+
+ mes "[Lenneth]";
+ mes "Here is ^3355FFMegingjard^000000, may it serve you well.";
+ close;
+L_NOTENOUGH:
+ mes "[Lenneth]";
+ mes "You are lacking a few items, please return when you have them.";
+ close;
+L_OUT:
+ next;
+ mes "[Lenneth]";
+ mes "Please return when you change your mind.";
+ close;
+}
diff --git a/npc/custom/rpsroulette.txt b/npc/custom/rpsroulette.txt
new file mode 100644
index 000000000..aecd48425
--- /dev/null
+++ b/npc/custom/rpsroulette.txt
@@ -0,0 +1,286 @@
+//===== eAthena Script =======================================
+//= Rock Scissors Roulette Script
+//===== By: ==================================================
+//= acky (1.1)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any eAthena Version
+//===== Description: =========================================
+//= Plays a hybrid Russian Roulette Rock Scissors Paper game.
+//===== Additional Comments: =================================
+//= Prizes customisable, Added emotions.
+//= 1.2 Fixes by Blackthunder and me [Poki#3]
+//============================================================
+
+cmd_in02.gat,182,126,2 script Crazy Boris 85,{
+ mes "Crazy Boris";
+ set @counter,1;
+ mes "Hey you! Up for Rock Scissors Roulette?";
+ next;
+ menu "Let me play.",PLAY,"Explain the rules.",RULES,"Leave",LEAVE;
+ SAME:
+ mes "Draw! Again!";
+ next;
+ goto PLAY;
+
+WIN:
+ mes "Damnit, You Win!";
+ emotion 19;
+ next;
+ goto OPPPULL;
+
+LOSE:
+ emotion 18;
+ mes "Boorah! You Lose!";
+ next;
+ goto YOUPULL;
+
+PLAY:
+ mes "Rock... Paper...";
+ set @opp,rand (1,3);
+ menu "^0000FFROCK!",ROCK,"^FF0000SCISSORS!",SCISSORS,"^00FF00PAPER!^000000",PAPER;
+
+ROCK:
+ if (@lastchoice == 1) set @opp,rand (1,3);
+ if (@opp == 1) emotion 11;
+ if (@opp == 2) emotion 10;
+ if (@opp == 3) emotion 12;
+ set @lastchoice,1;
+ if (@opp == 1) goto SAME;
+ if (@opp == 2) goto WIN;
+ if (@opp == 3) goto LOSE;
+
+SCISSORS:
+ if (@lastchoice == 2) set @opp,rand (1,2);
+ if (@opp == 1) emotion 11;
+ if (@opp == 2) emotion 10;
+ if (@opp == 3) emotion 12;
+ set @lastchoice,2;
+ if (@opp == 1) goto LOSE;
+ if (@opp == 2) goto SAME;
+ if (@opp == 3) goto WIN;
+
+PAPER:
+ if (@lastchoice == 3) set @opp,rand (2,3);
+ if (@opp == 1) emotion 11;
+ if (@opp == 2) emotion 10;
+ if (@opp == 3) emotion 12;
+ set @lastchoice,3;
+ if (@opp == 1) goto WIN;
+ if (@opp == 2) goto LOSE;
+ if (@opp == 3) goto SAME;
+
+YOUPULL:
+ if (@counter == 1) goto ONE;
+ if (@counter == 2) goto TWO;
+ if (@counter == 3) goto THREE;
+ if (@counter == 4) goto FOUR;
+ if (@counter == 5) goto FIVE;
+ if (@counter == 6) goto SIX;
+
+OPPPULL:
+ if (@counter == 1) goto ONEa;
+ if (@counter == 2) goto TWOa;
+ if (@counter == 3) goto THREEa;
+ if (@counter == 4) goto FOURa;
+ if (@counter == 5) goto FIVEa;
+ if (@counter == 6) goto SIXa;
+
+ONE:
+ set @counter,2;
+ mes "1 of 6";
+ set @pull,rand (1,6);
+ next;
+ if (@pull == 1) goto DIE;
+ if (@pull != 1) goto SAFE;
+
+TWO:
+ set @counter,3;
+ mes "2 of 6";
+ set @pull,rand (1,5);
+ next;
+ if (@pull == 1) goto DIE;
+ if (@pull != 1) goto SAFE;
+
+THREE:
+ set @counter,4;
+ mes "3 of 6";
+ set @pull,rand (1,4);
+ next;
+ if (@pull == 1) goto DIE;
+ if (@pull != 1) goto SAFE;
+
+FOUR:
+ set @counter,5;
+ mes "4 of 6";
+ set @pull,rand (1,3);
+ next;
+ if (@pull == 1) goto DIE;
+ if (@pull != 1) goto SAFE;
+
+FIVE:
+ set @counter,6;
+ mes "5 of 6";
+ set @pull,rand (1,2);
+ if (@pull == 1) set @pull,rand (1,2);
+ next;
+ if (@pull == 1) goto DIE;
+ if (@pull != 1) goto SAFE;
+
+SIX:
+ mes "6 of 6";
+ mes "Say your prayers";
+ set @pull,1;
+ next;
+ if (@pull == 1) goto DIE;
+ if (@pull != 1) goto SAFE;
+
+ONEa:
+ set @counter,2;
+ mes "1 of 6";
+ set @pull,rand (1,6);
+ next;
+ if (@pull == 1) goto KILL;
+ if (@pull != 1) goto SAFE;
+
+TWOa:
+ set @counter,3;
+ mes "2 of 6";
+ set @pull,rand (1,5);
+ next;
+ if (@pull == 1) goto KILL;
+ if (@pull != 1) goto SAFE;
+
+THREEa:
+ set @counter,4;
+ mes "3 of 6";
+ set @pull,rand (1,4);
+ next;
+ if (@pull == 1) goto KILL;
+ if (@pull != 1) goto SAFE;
+
+FOURa:
+ set @counter,5;
+ mes "4 of 6";
+ set @pull,rand (1,3);
+ next;
+ if (@pull == 1) goto KILL;
+ if (@pull != 1) goto SAFE;
+
+FIVEa:
+ set @counter,6;
+ mes "5 of 6";
+ set @pull,rand (1,2);
+ next;
+ if (@pull == 1) goto KILL;
+ if (@pull != 1) goto SAFE;
+
+SIXa:
+ mes "6 of 6";
+ mes "Say your prayers";
+ set @pull,1;
+ next;
+ if (@pull == 1) goto KILL;
+ if (@pull != 1) goto SAFE;
+
+SAFE:
+ emotion 32;
+ mes "*^0000FFClick^000000* whew...";
+ goto PLAY;
+
+DIE:
+ specialeffect2 183;
+ emotion 29;
+ percentheal -100,-100;
+ mes "*^0000FFClick^000000* *^FF0000BANG^000000*";
+ mes "You're dead!";
+ close;
+
+KILL:
+ specialeffect 183;
+ emotion 23;
+ mes "*^0000FFClick^000000* *^FF0000BANG^000000*";
+ mes "OWWW @#$%^!! THAT HURT LIKE HELL!!";
+ next;
+ goto PRIZE;
+
+RULES:
+ mes "Ok here are the rules:";
+ mes "I have with me a ^FF00006^000000 chamber pistol with ^FF00001^000000 round. First we play ^FF0000Scissors ^00FF00Paper ^0000FFRock^000000. The loser pulls the trigger. The winner is whoever comes out best.";
+ mes "Beat me to win a prize.";
+ menu "Let me play.",CONT,"No thanks.",LEAVE;
+
+CONT:
+ mes "Ok here we go...";
+ next;
+ goto PLAY;
+
+PRIZE:
+ mes "Congratulations! You have won...";
+ set @prize,rand (1,10);
+ if (@prize == 1) goto P1;
+ if (@prize == 2) goto P2;
+ if (@prize == 3) goto P3;
+ if (@prize == 4) goto P4;
+ if (@prize == 5) goto P5;
+ if (@prize == 6) goto P6;
+ if (@prize == 7) goto P7;
+ if (@prize == 8) goto P8;
+ if (@prize == 9) goto P9;
+ if (@prize == 10) goto P10;
+
+P1:
+ mes "10x Oridicon!";
+ getitem 984,10;
+ close;
+
+P2:
+ mes "10x Elunium!";
+ getitem 985,10;
+ close;
+
+P3:
+ mes "100x Fly Wings!";
+ getitem 601,100;
+ close;
+
+P4:
+ mes "8x Old Blue Box!";
+ getitem 603,8;
+ close;
+
+P5:
+ mes "4x Old Violet Box!";
+ getitem 617,4;
+ close;
+
+P6:
+ mes "1x Old Card Album!";
+ getitem 616,1;
+ close;
+
+P7:
+ mes "10x Dead Branch!";
+ getitem 604,10;
+ close;
+
+P8:
+ mes "3x Gold!";
+ getitem 969,3;
+ close;
+
+P9:
+ mes "10x Elunium!";
+ getitem 985,10;
+ close;
+
+P10:
+ mes "20x Blue Potion!";
+ getitem 505,10;
+ close;
+
+LEAVE:
+ mes "Pansy.";
+ close;
+}
diff --git a/npc/custom/shifty_assassin.txt b/npc/custom/shifty_assassin.txt
new file mode 100644
index 000000000..9c225e10f
--- /dev/null
+++ b/npc/custom/shifty_assassin.txt
@@ -0,0 +1,208 @@
+//===== eAthena Script =======================================
+//= Shifty Assassin
+//===== By: ==================================================
+//= acky - god@acky.com
+//===== Current Version: =====================================
+//= 1.1.1
+//===== Compatible With: =====================================
+//= eAthena SVN
+//===== Description: =========================================
+//= Players buy ninjas to assassinate other players
+//===== Additional Comments: =================================
+//= 1.1.1 Changed all gmcommand to atcommand as Poki#3 suggested. [Vicious]
+//============================================================
+
+morocc.gat,148,86,5 script Shifty Assassin 725,{
+set $ninja_price,250000;
+
+// STARTS THE MENU //
+M_Start:
+mes "[Shifty Assassin]";
+mes "What do you want?";
+next;
+if (getgmlevel(3) > 90) goto M_GM;
+menu "Buy Ninjas",M_Buy,"Assassinate somebody",M_Kill,"Check your Ninjas",M_Check,"Cancel",M_Exit;
+M_GM:
+menu "Buy Ninjas",M_Buy,"Assassinate somebody",M_Kill,"Check your Ninjas",M_Check,"Add Ninjas",M_Add,"Cancel",M_Exit;
+
+// GM MENU TO ADD NINJAS //
+M_Add:
+mes "[Shifty Assassin]";
+mes "How many ninjas do you want to make available?";
+next;
+set @add,0;
+input @add;
+set $ninja_avail,$ninja_avail+@add;
+mes @add + " ninjas added.";
+close;
+
+// BUY NINJAS //
+M_Buy:
+mes "[Shifty Assassin]";
+mes "How many ninjas do you want buy?";
+mes "There are ^0000FF" + $ninja_avail + "^000000 ninjas available.";
+mes "They cost ^0000FF" + $ninja_price + " zeny ^000000each.";
+
+set @buy,0;
+input @buy;
+next;
+if ($ninja_avail < 1) goto NoNinjas;
+if ($ninja_avail < @buy) goto NotEnoughNinjas;
+set @price,@buy*$ninja_price;
+if (zeny < @price ) goto NoZeny;
+
+mes "[Shifty Assassin]";
+mes "That will cost you ^0000FF" + @price + " zeny^000000.";
+next;
+menu "Continue",-,"Cancel",M_Exit;
+
+set zeny,zeny-@price;
+set #ninjas,#ninjas+@buy;
+set $ninja_avail,$ninja_avail-@buy;
+
+mes "[Shifty Assassin]";
+mes "Thank you.";
+close;
+
+// ASSASSINATE SOMEBODY //
+M_Kill:
+if ($AgitStarted != 0) goto M_Busy;
+mes "[Shifty Assassin]";
+mes "Enter the name of the target.";
+mes "^FF0000Type the name exactly, otherwise I won't be able to find the victim.^000000";
+next;
+menu "Continue",-,"Cancel",M_Exit;
+set @name$,"0";
+input @name$;
+next;
+mes "[Shifty Assassin]";
+mes "Active Ninjas: "+#ninjas;
+mes "Resting Ninjas: "+#ninjasr;
+mes "How many do you want to send?";
+set @number,0;
+input @number;
+if (@number < 1) goto NoNinjasSent;
+if (@number > #ninjas) goto NotEnoughNinjas1;
+if (@number > 10) goto TooManyNinjas;
+set @chance,rand (1,12);
+set #ninjas,#ninjas-@number;
+set #ninjas,#ninjas+#ninjasr;
+set #ninjasr,0;
+if (@number < @chance) goto M_Failure;
+
+// SUCCESSFUL ATTACK //
+mes "Sending ninjas now.";
+next;
+mes "[Shifty Assassin]";
+set @ninjasurvived,rand (1,@number);
+set #ninjasr,@number-@ninjasurvived;
+mes "Your attack succeeded but only ^FF0000" + #ninjasr + "^000000 Ninjas survived.";
+
+atcommand strcharinfo(0) + "@kill "+@name$;
+announce @name$+" has been assassinated by " + strcharinfo(0) +"'s Ninjas.",8;
+close;
+
+// FAILED ATTACK //
+M_Failure:
+mes "Sending ninjas now.";
+next;
+mes "[Shifty Assassin]";
+set @ninjasurvived,rand (1,@number);
+set #ninjasr,@number-@ninjasurvived;
+mes "Your attack failed and only ^FF0000" + #ninjasr + "^000000 Ninjas survived.";
+
+announce @name$+" has survived " + strcharinfo(0) +"'s Ninja attack.",8;
+close;
+
+// NINJAS BUSY FOR WOE //
+M_Busy:
+mes "[Shifty Assassin]";
+mes "Sorry, all my ninjas are busy doing War of Emperium.";
+close;
+
+// CHECK YOUR NINJAS //
+M_Check:
+mes "[Shifty Assassin]";
+mes "You have:";
+mes "^FF0000" + #ninjas + "^000000 Active Ninjas.";
+mes "^0000FF" + #ninjasr + "^000000 Resting Ninjas.";
+next;
+goto M_Start;
+
+
+// LIMIT //
+NoNinjasSent:
+mes "[Shifty Assassin]";
+mes "You can't kill anyone without ninjas.";
+next;
+goto M_Start;
+
+TooManyNinjas:
+mes "[Shifty Assassin]";
+mes "You can only send 10 ninjas max.";
+next;
+goto M_Start;
+
+NoZeny:
+mes "[Shifty Assassin]";
+mes "You do not have enough zeny.";
+close;
+
+NotEnoughNinjas:
+mes "[Shifty Assassin]";
+mes "There aren't that many ninjas to buy.";
+next;
+goto M_Start;
+
+NoNinjas:
+mes "[Shifty Assassin]";
+mes "There are no ninjas left to buy.";
+close;
+
+NotEnoughNinjas1:
+mes "[Shifty Assassin]";
+mes "You do not have that many ninjas.";
+next;
+goto M_Start;
+
+M_Exit:
+mes "[Shifty Assassin]";
+mes "Goodbye.";
+close;
+
+// TIMER DELAY NINJA ADDER //
+
+OnClock0600:
+set $ninja_avail,$ninja_avail+2;
+end;
+
+OnClock1200:
+set $ninja_avail,$ninja_avail+2;
+end;
+
+OnClock1500:
+set $ninja_avail,$ninja_avail+2;
+end;
+
+
+OnClock1800:
+set $ninja_avail,$ninja_avail+3;
+end;
+
+OnClock1900:
+set $ninja_avail,$ninja_avail+2;
+end;
+
+OnClock2000:
+set $ninja_avail,$ninja_avail+2;
+end;
+
+
+OnClock0000:
+set $ninja_avail,$ninja_avail+2;
+end;
+
+OnInit:
+set $ninja_avail,$ninja_avail+1;
+end;
+} \ No newline at end of file
diff --git a/npc/custom/sign_your_items.txt b/npc/custom/sign_your_items.txt
new file mode 100644
index 000000000..af7e759e3
--- /dev/null
+++ b/npc/custom/sign_your_items.txt
@@ -0,0 +1,215 @@
+//===== eAthena Script =======================================
+//= * Sign Your Items *
+//===== By: ==================================================
+//= Lupus
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena 1
+//===== Description: =========================================
+//= Write you name on your rare equipment or weapon ^_-
+//= Original X-Mas mini-quest(could be used as a permanent one)
+//===== Additional Comments: =================================
+//= 1.0 First release
+//============================================================
+
+prt_in.gat,24,61,7 script Perchik 47,{
+ mes "[Perchik]";
+ if(BaseJob==Job_Novice || BaseLevel<50) {
+ mes "Sorry, I don't help newbies. Go kill more Porings.";
+ emotion e_sry;
+ close;
+ }
+ mes "Hi, I can ^000090sign your name^000000 on almost any rare item you can hold.";
+ next;
+ menu "Tell me more...",-, "Sign my items, please",M_DO;
+
+ mes "[Perchik]";
+ mes "I can put your name on any slotless equipment or weapon.";
+ emotion e_ic;
+ next;
+ mes "[Perchik]";
+ mes "A week ago, my BOSS told me to send away newbies. I dunno why.";
+ next;
+ mes "[Perchik]";
+ mes "For my work I accept ^0000803 Gift Box^000000es (gray one)";
+ mes "plus ^FF00005000z^000000 per each refine of your item.";
+ next;
+ emotion e_cry;
+ mes "[Perchik]";
+ mes "Alas, I have 12 hungry children";
+ mes "and a very angry wife.";
+ next;
+ mes "[Perchik]";
+ mes "Or it was... 12 angry children";
+ mes "and a very hungry wife...";
+ emotion e_hmm;
+ close;
+
+M_DO:
+ mes "[Perchik]";
+ mes "Show me your items to sign...";
+M_MENU:
+ next;
+ menu getequipname(1),M_PART1,getequipname(9),M_PART9,getequipname(10),M_PART10,getequipname(2),M_PART2,getequipname(4),M_PART4,
+ getequipname(3),M_PART3,getequipname(5),M_PART5,getequipname(6),M_PART6,getequipname(7),M_PART7,getequipname(8),M_PART8;
+
+ //Head Gear
+ M_PART1:
+ set @part,1;
+ if (getequipisequiped(1)) goto L_CHECK1;
+ mes "[Perchik]";
+ mes "A bald head under a cheap wig... There's nothing worthy to sign.";
+ emotion 6;
+ goto M_MENU;
+ M_PART9:
+ set @part,9;
+ if (getequipisequiped(9)) goto L_CHECK1;
+ mes "[Perchik]";
+ mes "Glasses... I can't see any glasses...";
+ emotion 20;
+ goto M_MENU;
+ M_PART10:
+ set @part,10;
+ if (getequipisequiped(10)) goto L_CHECK1;
+ mes "[Perchik]";
+ mes "I don't see any mask here.";
+ emotion 20;
+ goto M_MENU;
+ //Armor
+ M_PART2:
+ set @part,2;
+ if (getequipisequiped(2)) goto L_CHECK1;
+ mes "[Perchik]";
+ mes "Your belly...? Yes, it's rather fat.";
+ emotion 6;
+ goto M_MENU;
+ //Left Hand
+ M_PART3:
+ set @part,3;
+ if (getequipisequiped(3)) goto L_CHECK1;
+ mes "[Perchik]";
+ mes "Sign your left hand? I'm not a celebrity, you know...";
+ emotion 4;
+ goto M_MENU;
+ //Right Hand
+ M_PART4:
+ set @part,4;
+ if (getequipisequiped(4)) goto L_CHECK1;
+ mes "[Perchik]";
+ mes "It isn't an armor... It's a mud!!! Wash your hands more often.";
+ emotion 4;
+ goto M_MENU;
+ //Garment
+ M_PART5:
+ set @part,5;
+ if (getequipisequiped(5)) goto L_CHECK1;
+ mes "[Perchik]";
+ mes "Look... It's empty...";
+ goto M_MENU;
+ //Foot Gear
+ M_PART6:
+ set @part,6;
+ if (getequipisequiped(6)) goto L_CHECK1;
+ mes "[Perchik]";
+ mes "Aw!! I don't like stinky feet.";
+ emotion 16;
+ goto M_MENU;
+ //Accessory1
+ M_PART7:
+ set @part,7;
+ if (getequipisequiped(7)) goto L_CHECK1;
+ mes "[Perchik]";
+ mes "Yep... a pocket with a huge hole...";
+ emotion 20;
+ goto M_MENU;
+ //Accessory2
+ M_PART8:
+ set @part,8;
+ if (getequipisequiped(8)) goto L_CHECK1;
+ mes "[Perchik]";
+ mes "I see your fat belly...";
+ emotion 20;
+ goto M_MENU;
+
+L_CHECK1:
+ set @ref,0;
+ set @id,getequipid(@part);
+ if(getequipisidentify(@part)) goto L_CHECK2;
+ mes "[Perchik]";
+ mes "How could you equip such unknown item?";
+ npctalk "What a sneaky cheater!";
+ emotion e_wah;
+ close;
+
+L_CHECK2:
+ set @ref,getequiprefinerycnt(@part);
+ mes "[Perchik]";
+ mes "You want me to sign your "+getitemname(@id)+"...";
+ if(BaseJob==Job_Novice) {
+ mes "But you're a Novice. My BOSS told me to send such weaklings away.";
+ emotion e_sry;
+ goto M_MENU;
+ }
+ set @slot0,getequipcardid(@part,0);
+ set @slot1,getequipcardid(@part,1);
+ set @slot2,getequipcardid(@part,2);
+ set @slot3,getequipcardid(@part,3);
+
+ if(@slot0==255 || @slot0==254 || @slot0<0) {
+ mes "Alas, this item's already signed.";
+ mes "I would never touch masters work.";
+ emotion e_hmm;
+ goto M_MENU;
+ }
+ if(@slot0>4000 && @slot0<5000) {
+ mes "A card? Here?!";
+ mes "As I said before, I don't sign items with cards.";
+ emotion e_hmm;
+ goto M_MENU;
+ }
+ if(getiteminfo(@id,10)) {
+ mes "Sorry. I don't sign slotted items.";
+ emotion e_sry;
+ goto M_MENU;
+ }
+
+ if(@ref)mes "It has been refined "+@ref+" times... Adding ^FF00005000z^000000 per time.";
+ mes "Give me ^0000803 gray Gift Boxes^000000";
+ if(@ref)mes "and ^FF0000"+(5000*@ref)+"z^000000.";
+ next;
+ menu "Ok!",-, "Leave",M_END;
+ if(Zeny>=(5000*@ref) && countitem(644)>=3) {
+ delitem 644,3;
+ set Zeny,Zeny-(5000*@ref);
+ goto L_MAKE;
+ }
+ mes "[Perchik]";
+ mes "I don't work for 'thanks'.";
+ emotion e_sry;
+ close;
+
+L_MAKE:
+ if(countitem2(@id,1,@ref,0,@slot0,@slot1,@slot2,@slot3)==0) {
+ mes "[Perchik]";
+ mes "Where is... "+getitemname(@id)+"?";
+ npctalk "You're a snoozy cheater!";
+ logmes "CHEATER: Tried to sign an item not having it: "+getitemname(@id);
+ emotion e_wah;
+ close;
+ }
+ delitem2 @id,1,1,@ref,0,@slot0,@slot1,@slot2,@slot3;
+
+ mes "[Perchik]";
+ mes "Done!";
+ emotion e_proud;
+
+ getitem2 @id,1,1,@ref,0,254,0,getcharid(0)&0xffff,(getcharid(0)>>16)&0xffff;
+ close;
+
+M_END:
+ mes "[Perchik]";
+ mes "See you...";
+ emotion e_yawn;
+ close;
+}
diff --git a/npc/custom/stock_market.txt b/npc/custom/stock_market.txt
new file mode 100644
index 000000000..a4a4f7919
--- /dev/null
+++ b/npc/custom/stock_market.txt
@@ -0,0 +1,793 @@
+//===== eAthena Script =======================================
+//= Stock Market Game
+//===== By: ==================================================
+//= acky (acky@bigpond.net.au)
+//===== Current Version: =====================================
+//= 1.3.1
+//===== Compatible With: =====================================
+//= Any eAthena Version
+//===== Description: =========================================
+//= NPC for a stock market game.
+//===== Additional Comments: =================================
+//= GM Must activate the NPC before use.
+//= Fixed MAJOR exploit. - players could buy for free
+//= Low prices likely to rise, High prices likely to drop
+//= Small fix by Galeon
+//= Lupus: This script lets players make 40,000,000z a day
+//= so use it on your own risk
+//============================================================
+
+prontera.gat,140,181,5 script sharenames -1,{
+end;
+OnInit:
+// Sets the names of the shares //
+set $S1N$,"JIN";
+set $S2N$,"VNG";
+set $S3N$,"SHA";
+set $S4N$,"RGC";
+set $S5N$,"PSC";
+set $S6N$,"GNG";
+set $S7N$,"XRO";
+set $S8N$,"GRM";
+set $S9N$,"DOP";
+set $S10N$,"POR";
+
+// Transaction fee //
+set $S_Trans,1500;
+
+// Min & Max buyable //
+set $S_BuyMin,1;
+set $S_BuyMax,1000000;
+end;
+
+// Average Price (Your start prices) //
+set $S_Avg,100;
+
+// Set times of fluctuation //
+OnClock1100:
+set $S_LastUpd$,"12:00";
+goto S_Fluc;
+end;
+
+OnClock0000:
+set $S_LastUpd$,"00:00";
+goto S_Fluc;
+end;
+
+OnClock0600:
+set $S_LastUpd$,"06:00";
+goto S_Fluc;
+end;
+
+OnClock1800:
+set $S_LastUpd$,"18:00";
+goto S_Fluc;
+end;
+
+OnClock2100:
+set $S_LastUpd$,"21:00";
+goto S_Fluc;
+end;
+
+OnClock0900:
+set $S_LastUpd$,"09:00";
+goto S_Fluc;
+end;
+
+OnClock1500:
+set $S_LastUpd$,"15:00";
+goto S_Fluc;
+end;
+
+S_Fluc:
+set $fluc,rand (-6,6);
+set $S1B,$S1;
+set $S1,$S1+$fluc;
+if ($S1 < 25) set $S1,$S1+3;
+if ($S1 < 50) set $S1,$S1+2;
+if ($S1 > 150) set $S1,$S1-2;
+if ($S1 > 175) set $S1,$S1-3;
+if ($S1 < 1) set $S1,1;
+
+set $fluc,rand (-6,6);
+set $S2B,$S2;
+set $S2,$S2+$fluc;
+if ($S2 < 25) set $S2,$S2+3;
+if ($S2 < 50) set $S2,$S2+2;
+if ($S2 > 150) set $S2,$S2-2;
+if ($S2 > 175) set $S2,$S2-3;
+if ($S2 < 1) set $S2,1;
+
+set $fluc,rand (-6,6);
+set $S3B,$S3;
+set $S3,$S3+$fluc;
+if ($S3 < 25) set $S3,$S3+3;
+if ($S3 < 50) set $S3,$S3+2;
+if ($S3 > 150) set $S3,$S3-2;
+if ($S3 > 175) set $S3,$S3-3;
+if ($S3 < 1) set $S3,1;
+
+set $fluc,rand (-6,6);
+set $S4B,$S4;
+set $S4,$S4+$fluc;
+if ($S4 < 25) set $S4,$S4+3;
+if ($S4 < 50) set $S4,$S4+2;
+if ($S4 > 150) set $S4,$S4-2;
+if ($S4 > 175) set $S4,$S4-3;
+if ($S4 < 1) set $S4,1;
+
+set $fluc,rand (-6,6);
+set $S5B,$S5;
+set $S5,$S5+$fluc;
+if ($S5 < 25) set $S5,$S5+3;
+if ($S5 < 50) set $S5,$S5+2;
+if ($S5 > 150) set $S5,$S5-2;
+if ($S5 > 175) set $S5,$S5-3;
+if ($S5 < 1) set $S5,1;
+
+set $fluc,rand (-6,6);
+set $S6B,$S6;
+set $S6,$S6+$fluc;
+if ($S6 < 25) set $S6,$S6+3;
+if ($S6 < 50) set $S6,$S6+2;
+if ($S6 > 150) set $S6,$S6-2;
+if ($S6 > 175) set $S6,$S6-3;
+if ($S6 < 1) set $S6,1;
+
+set $fluc,rand (-6,6);
+set $S7B,$S7;
+set $S7,$S7+$fluc;
+if ($S7 < 25) set $S7,$S7+3;
+if ($S7 < 50) set $S7,$S7+2;
+if ($S7 > 150) set $S7,$S7-2;
+if ($S7 > 175) set $S7,$S7-3;
+if ($S7 < 1) set $S7,1;
+
+set $fluc,rand (-6,6);
+set $S8B,$S8;
+set $S8,$S8+$fluc;
+if ($S8 < 25) set $S8,$S8+3;
+if ($S8 < 50) set $S8,$S8+2;
+if ($S8 > 150) set $S8,$S8-2;
+if ($S8 > 175) set $S8,$S8-3;
+if ($S8 < 1) set $S8,1;
+
+set $fluc,rand (-6,6);
+set $S9B,$S9;
+set $S9,$S9+$fluc;
+if ($S9 < 25) set $S9,$S9+3;
+if ($S9 < 50) set $S9,$S9+2;
+if ($S9 > 150) set $S9,$S9-2;
+if ($S9 > 175) set $S9,$S9-3;
+if ($S9 < 1) set $S9,1;
+
+set $fluc,rand (-6,6);
+set $S10B,$S10;
+set $S10,$S10+$fluc;
+if ($S10 < 25) set $S10,$S10+3;
+if ($S10 < 50) set $S10,$S10+2;
+if ($S10 > 150) set $S10,$S10-2;
+if ($S10 > 175) set $S10,$S10-3;
+if ($S10 < 1) set $S10,1;
+end;
+}
+
+- script Stock Market::stockmarket 109,{
+// Ensures no trading when default prices have not been set //
+set @stotal,$S1+$S2+$S3+$S4+$S5+$S6+$S7+$S8+$S9+$S10;
+if (@stotal > 0) goto S_Start;
+mes "[Stock Market]";
+mes "Trading is currently closed.";
+if (getgmlevel(3) > 90) goto GM_Open;
+close;
+
+// Begining of interface //
+S_Start:
+mes "[Stock Market]";
+mes "Last fluctuation: " + $S_LastUpd$;
+
+// Loss/Gain in price //
+set @S1Update,$S1-$S1B;
+set @S2Update,$S2-$S2B;
+set @S3Update,$S3-$S3B;
+set @S4Update,$S4-$S4B;
+set @S5Update,$S5-$S5B;
+set @S6Update,$S6-$S6B;
+set @S7Update,$S7-$S7B;
+set @S8Update,$S8-$S8B;
+set @S9Update,$S9-$S9B;
+set @S10Update,$S10-$S10B;
+
+// Makes Loss/Gain Red/Green //
+if (@S1Update < 0) set @S1Update$,"^FF0000"+@S1Update+"^000000";
+if (@S1Update > 0) set @S1Update$,"^00FF00+"+@S1Update+"^000000";
+if (@S1Update == 0) set @S1Update$,@S1Update;
+
+if (@S2Update < 0) set @S2Update$,"^FF0000"+@S2Update+"^000000";
+if (@S2Update > 0) set @S2Update$,"^00FF00+"+@S2Update+"^000000";
+if (@S2Update == 0) set @S2Update$,@S2Update;
+
+if (@S3Update < 0) set @S3Update$,"^FF0000"+@S3Update+"^000000";
+if (@S3Update > 0) set @S3Update$,"^00FF00+"+@S3Update+"^000000";
+if (@S3Update == 0) set @S3Update$,@S3Update;
+
+if (@S4Update < 0) set @S4Update$,"^FF0000"+@S4Update+"^000000";
+if (@S4Update > 0) set @S4Update$,"^00FF00+"+@S4Update+"^000000";
+if (@S4Update == 0) set @S4Update$,@S4Update;
+
+if (@S5Update < 0) set @S5Update$,"^FF0000"+@S5Update+"^000000";
+if (@S5Update > 0) set @S5Update$,"^00FF00+"+@S5Update+"^000000";
+if (@S5Update == 0) set @S5Update$,@S5Update;
+
+if (@S6Update < 0) set @S6Update$,"^FF0000"+@S6Update+"^000000";
+if (@S6Update > 0) set @S6Update$,"^00FF00+"+@S6Update+"^000000";
+if (@S6Update == 0) set @S6Update$,@S6Update;
+
+if (@S7Update < 0) set @S7Update$,"^FF0000"+@S7Update+"^000000";
+if (@S7Update > 0) set @S7Update$,"^00FF00+"+@S7Update+"^000000";
+if (@S7Update == 0) set @S7Update$,@S7Update;
+
+if (@S8Update < 0) set @S8Update$,"^FF0000"+@S8Update+"^000000";
+if (@S8Update > 0) set @S8Update$,"^00FF00+"+@S8Update+"^000000";
+if (@S8Update == 0) set @S8Update$,@S8Update;
+
+if (@S9Update < 0) set @S9Update$,"^FF0000"+@S9Update+"^000000";
+if (@S9Update > 0) set @S9Update$,"^00FF00+"+@S9Update+"^000000";
+if (@S9Update == 0) set @S9Update$,@S9Update;
+
+if (@S10Update < 0) set @S10Update$,"^FF0000"+@S10Update+"^000000";
+if (@S10Update > 0) set @S10Update$,"^00FF00+"+@S10Update+"^000000";
+if (@S10Update == 0) set @S10Update$,@S10Update;
+
+// Displays shares & prices //
+mes "^21698F"+$S1N$+"^000000" + " " + $S1 + "z (" + @S1Update$ + ")";
+mes "^21698F"+$S2N$+"^000000" + " " + $S2 + "z (" + @S2Update$ + ")";
+mes "^21698F"+$S3N$+"^000000" + " " + $S3 + "z (" + @S3Update$ + ")";
+mes "^21698F"+$S4N$+"^000000" + " " + $S4 + "z (" + @S4Update$ + ")";
+mes "^21698F"+$S5N$+"^000000" + " " + $S5 + "z (" + @S5Update$ + ")";
+mes "^21698F"+$S6N$+"^000000" + " " + $S6 + "z (" + @S6Update$ + ")";
+mes "^21698F"+$S7N$+"^000000" + " " + $S7 + "z (" + @S7Update$ + ")";
+mes "^21698F"+$S8N$+"^000000" + " " + $S8 + "z (" + @S8Update$ + ")";
+mes "^21698F"+$S9N$+"^000000" + " " + $S9 + "z (" + @S9Update$ + ")";
+mes "^21698F"+$S10N$+"^000000" + " " + $S10 + "z (" + @S10Update$ + ")";
+next;
+
+// GM Menu link //
+if (getgmlevel(3) > 90) goto GM_subMenu;
+menu "Portfolio",S_Port,"Buy Shares",S_Buy,"Sell Shares",S_Sell,"Cancel",S_Quit;
+
+GM_subMenu:
+menu "Portfolio",S_Port,"Buy Shares",S_Buy,"Sell Shares",S_Sell,"GM Menu",GM_Menu,"Cancel",S_Quit;
+
+// Selling Shares //
+S_Sell:
+ mes "[Stock Market]";
+ mes "Enter the name of the share you wish to sell.";
+ mes "Transaction fee of ^FF0000" + $S_Trans + "z^000000 will apply.";
+ if (#S1 > 0) mes "^0000FF"+$S1N$+"^FF0000" + " x " + #S1 + " [" + $S1 + "z]";
+ if (#S2 > 0) mes "^0000FF"+$S2N$+"^FF0000" + " x " + #S2 + " [" + $S2 + "z]";
+ if (#S3 > 0) mes "^0000FF"+$S3N$+"^FF0000" + " x " + #S3 + " [" + $S3 + "z]";
+ if (#S4 > 0) mes "^0000FF"+$S4N$+"^FF0000" + " x " + #S4 + " [" + $S4 + "z]";
+ if (#S5 > 0) mes "^0000FF"+$S5N$+"^FF0000" + " x " + #S5 + " [" + $S5 + "z]";
+ if (#S6 > 0) mes "^0000FF"+$S6N$+"^FF0000" + " x " + #S6 + " [" + $S6 + "z]";
+ if (#S7 > 0) mes "^0000FF"+$S7N$+"^FF0000" + " x " + #S7 + " [" + $S7 + "z]";
+ if (#S8 > 0) mes "^0000FF"+$S8N$+"^FF0000" + " x " + #S8 + " [" + $S8 + "z]";
+ if (#S9 > 0) mes "^0000FF"+$S9N$+"^FF0000" + " x " + #S9 + " [" + $S9 + "z]";
+ if (#S10 > 0) mes "^0000FF"+$S10N$+"^FF0000" + " x " + #S10 + " [" + $S10 + "z]";
+ set @sellname$,"0";
+ input @sellname$;
+ set @sellamount,0;
+ input @sellamount;
+ if (@sellamount < 1) goto S_SellInv;
+ if (zeny < $S_Trans) goto S_NoZeny;
+ set zeny,zeny-$S_Trans;
+
+ SELLS1:
+ if (@sellname$ != $S1N$) goto SELLS2;
+ if (@sellamount > #S1) goto S_SellTooHigh;
+ set @price,@sellamount*$S1;
+ set #S1,#S1-@sellamount;
+ set zeny,zeny+@price;
+ next;
+ mes "Sold " + @sellamount + " " + $S1N$ + " shares.";
+ mes "Earned ^0000FF"+@price+"z^000000.";
+ next;
+ goto S_Start;
+
+ SELLS2:
+ if (@sellname$ != $S2N$) goto SELLS3;
+ if (@sellamount > #S2) goto S_SellTooHigh;
+ set @price,@sellamount*$S2;
+ set #S2,#S2-@sellamount;
+ set zeny,zeny+@price;
+ next;
+ mes "Sold " + @sellamount + " " + $S2N$ + " shares.";
+ mes "Earned ^0000FF"+@price+"z^000000.";
+ next;
+ goto S_Start;
+
+ SELLS3:
+ if (@sellname$ != $S3N$) goto SELLS4;
+ if (@sellamount > #S3) goto S_SellTooHigh;
+ set @price,@sellamount*$S3;
+ set #S3,#S3-@sellamount;
+ set zeny,zeny+@price;
+ next;
+ mes "Sold " + @sellamount + " " + $S3N$ + " shares.";
+ mes "Earned ^0000FF"+@price+"z^000000.";
+ next;
+ goto S_Start;
+
+ SELLS4:
+ if (@sellname$ != $S4N$) goto SELLS5;
+ if (@sellamount > #S4) goto S_SellTooHigh;
+ set @price,@sellamount*$S4;
+ set #S4,#S4-@sellamount;
+ set zeny,zeny+@price;
+ next;
+ mes "Sold " + @sellamount + " " + $S4N$ + " shares.";
+ mes "Earned ^0000FF"+@price+"z^000000.";
+ next;
+ goto S_Start;
+
+ SELLS5:
+ if (@sellname$ != $S5N$) goto SELLS6;
+ if (@sellamount > #S5) goto S_SellTooHigh;
+ set @price,@sellamount*$S5;
+ set #S5,#S5-@sellamount;
+ set zeny,zeny+@price;
+ next;
+ mes "Sold " + @sellamount + " " + $S5N$ + " shares.";
+ mes "Earned ^0000FF"+@price+"z^000000.";
+ next;
+ goto S_Start;
+
+ SELLS6:
+ if (@sellname$ != $S6N$) goto SELLS7;
+ if (@sellamount > #S6) goto S_SellTooHigh;
+ set @price,@sellamount*$S6;
+ set #S6,#S6-@sellamount;
+ set zeny,zeny+@price;
+ next;
+ mes "Sold " + @sellamount + " " + $S6N$ + " shares.";
+ mes "Earned ^0000FF"+@price+"z^000000.";
+ next;
+ goto S_Start;
+
+ SELLS7:
+ if (@sellname$ != $S7N$) goto SELLS8;
+ if (@sellamount > #S7) goto S_SellTooHigh;
+ set @price,@sellamount*$S7;
+ set #S7,#S7-@sellamount;
+ set zeny,zeny+@price;
+ next;
+ mes "Sold " + @sellamount + " " + $S7N$ + " shares.";
+ mes "Earned ^0000FF"+@price+"z^000000.";
+ next;
+ goto S_Start;
+
+ SELLS8:
+ if (@sellname$ != $S8N$) goto SELLS9;
+ if (@sellamount > #S8) goto S_SellTooHigh;
+ set @price,@sellamount*$S8;
+ set #S8,#S8-@sellamount;
+ set zeny,zeny+@price;
+ next;
+ mes "Sold " + @sellamount + " " + $S8N$ + " shares.";
+ mes "Earned ^0000FF"+@price+"z^000000.";
+ next;
+ goto S_Start;
+
+ SELLS9:
+ if (@sellname$ != $S9N$) goto SELLS10;
+ if (@sellamount > #S9) goto S_SellTooHigh;
+ set @price,@sellamount*$S9;
+ set #S9,#S9-@sellamount;
+ set zeny,zeny+@price;
+ next;
+ mes "Sold " + @sellamount + " " + $S9N$ + " shares.";
+ mes "Earned ^0000FF"+@price+"z^000000.";
+ next;
+ goto S_Start;
+
+ SELLS10:
+ if (@sellname$ != $S10N$) goto SELLS11;
+ if (@sellamount > #S10) goto S_SellTooHigh;
+ set @price,@sellamount*$S10;
+ set #S10,#S10-@sellamount;
+ set zeny,zeny+@price;
+ next;
+ mes "Sold " + @sellamount + " " + $S10N$ + " shares.";
+ mes "Earned ^0000FF"+@price+"z^000000.";
+ next;
+ goto S_Start;
+
+ SELLS11:
+ mes "^FF0000Invalid Share Name.^000000";
+ next;
+ goto S_Start;
+
+ S_SellTooHigh:
+ mes "^FF0000You don't have that many shares.^000000";
+ next;
+ goto S_Start;
+
+ S_SellInv:
+ mes "^FF0000Invalid integer.^000000";
+ next;
+ goto S_Start;
+
+// Buying Shares //
+S_Buy:
+ mes "[Stock Market]";
+ mes "Available shares:";
+ mes $S1N$;
+ mes $S2N$;
+ mes $S3N$;
+ mes $S4N$;
+ mes $S5N$;
+ mes $S6N$;
+ mes $S7N$;
+ mes $S8N$;
+ mes $S9N$;
+ mes $S10N$;
+ next;
+ menu "Continue",-,"Cancel",S_Start;
+
+ mes "Enter the name of the share company";
+ mes "Transaction fee of ^FF0000" + $S_Trans + "z^000000 will apply.";
+ set @buyname$,"0";
+ input @buyname$;
+
+ set @buyamount,0;
+ input @buyamount;
+ // Checks valid number //
+ if (@buyamount < $S_BuyMin) goto S_TooLow;
+ if (@buyamount > $S_BuyMax) goto S_TooHigh;
+ if (zeny < $S_Trans) goto S_NoZeny;
+ set zeny,zeny-$S_Trans;
+
+ // Purchases the shares //
+
+ PURS1:
+ if (@buyname$ != $S1N$) goto PURS2;
+ set @price,@buyamount*$S1;
+ if (zeny < @price) goto S_NoZeny;
+ set #S1,#S1+@buyamount;
+ set @price,@buyamount*$S1;
+ set zeny,zeny-@price;
+ mes "Bought " + @buyamount + " " + $S1N$ + " shares.";
+ mes "Lost ^0000FF"+@price+"z^000000.";
+ next;
+ goto S_Start;
+
+ PURS2:
+ if (@buyname$ != $S2N$) goto PURS3;
+ set @price,@buyamount*$S2;
+ if (zeny < @price) goto S_NoZeny;
+ set #S2,#S2+@buyamount;
+ set zeny,zeny-@price;
+ mes "Bought " + @buyamount + " " + $S2N$ + " shares.";
+ mes "Lost ^0000FF"+@price+"z^000000.";
+ next;
+ goto S_Start;
+
+ PURS3:
+ if (@buyname$ != $S3N$) goto PURS4;
+ set @price,@buyamount*$S3;
+ if (zeny < @price) goto S_NoZeny;
+ set #S3,#S3+@buyamount;
+ set zeny,zeny-@price;
+ mes "Bought " + @buyamount + " " + $S3N$ + " shares.";
+ mes "Lost ^0000FF"+@price+"z^000000.";
+ next;
+ goto S_Start;
+
+ PURS4:
+ if (@buyname$ != $S4N$) goto PURS5;
+ set @price,@buyamount*$S4;
+ if (zeny < @price) goto S_NoZeny;
+ set #S4,#S4+@buyamount;
+ set zeny,zeny-@price;
+ mes "Bought " + @buyamount + " " + $S4N$ + " shares.";
+ mes "Lost ^0000FF"+@price+"z^000000.";
+ next;
+ goto S_Start;
+
+ PURS5:
+ if (@buyname$ != $S5N$) goto PURS6;
+ set @price,@buyamount*$S5;
+ if (zeny < @price) goto S_NoZeny;
+ set #S5,#S5+@buyamount;
+ set zeny,zeny-@price;
+ mes "Bought " + @buyamount + " " + $S5N$ + " shares.";
+ mes "Lost ^0000FF"+@price+"z^000000.";
+ next;
+ goto S_Start;
+
+ PURS6:
+ if (@buyname$ != $S6N$) goto PURS7;
+ set @price,@buyamount*$S6;
+ if (zeny < @price) goto S_NoZeny;
+ set #S6,#S6+@buyamount;
+ set zeny,zeny-@price;
+ mes "Bought " + @buyamount + " " + $S6N$ + " shares.";
+ mes "Lost ^0000FF"+@price+"z^000000.";
+ next;
+ goto S_Start;
+
+ PURS7:
+ if (@buyname$ != $S7N$) goto PURS8;
+ set @price,@buyamount*$S7;
+ if (zeny < @price) goto S_NoZeny;
+ set #S7,#S7+@buyamount;
+ set zeny,zeny-@price;
+ mes "Bought " + @buyamount + " " + $S7N$ + " shares.";
+ mes "Lost ^0000FF"+@price+"z^000000.";
+ next;
+ goto S_Start;
+
+ PURS8:
+ if (@buyname$ != $S8N$) goto PURS9;
+ set @price,@buyamount*$S8;
+ if (zeny < @price) goto S_NoZeny;
+ set #S8,#S8+@buyamount;
+ set zeny,zeny-@price;
+ mes "Bought " + @buyamount + " " + $S8N$ + " shares.";
+ mes "Lost ^0000FF"+@price+"z^000000.";
+ next;
+ goto S_Start;
+
+ PURS9:
+ if (@buyname$ != $S9N$) goto PURS10;
+ set @price,@buyamount*$S9;
+ if (zeny < @price) goto S_NoZeny;
+ set #S9,#S9+@buyamount;
+ set zeny,zeny-@price;
+ mes "Bought " + @buyamount + " " + $S9N$ + " shares.";
+ mes "Lost ^0000FF"+@price+"z^000000.";
+ next;
+ goto S_Start;
+
+ PURS10:
+ if (@buyname$ != $S10N$) goto PURS11;
+ set @price,@buyamount*$S10;
+ if (zeny < @price) goto S_NoZeny;
+ set #S10,#S10+@buyamount;
+ set zeny,zeny-@price;
+ mes "Bought " + @buyamount + " " + $S10N$ + " shares.";
+ mes "Lost ^0000FF"+@price+"z^000000.";
+ next;
+ goto S_Start;
+
+ PURS11:
+ goto S_InvName;
+
+ // Number too low //
+ S_TooLow:
+ mes "^FF0000Minimum of " + $S_BuyMin + " shares can be bought at a time.^000000";
+ next;
+ goto S_Start;
+
+ // Number too high //
+ S_TooHigh:
+ mes "^FF0000Maximum number of " + $S_BuyMax + " shares can be bought at a time.^000000";
+ next;
+ goto S_Start;
+
+ S_NoZeny:
+ mes "^FF0000You do not have enough zeny.^000000";
+ next;
+ goto S_Start;
+
+ // Sends user to start if name invalid //
+ S_InvName:
+ mes "^FF0000Invalid share name.^000000";
+ next;
+ goto S_Start;
+
+// Displays your total amount //
+S_Port:
+mes "[Stock Market]";
+
+ ACCS1:
+ if (#S1 < 1) goto ACCS2;
+ set @S1,#S1*$S1;
+ mes $S1N$ + ": " + #S1 + " x " + $S1 + "z = " + @S1 + "z";
+
+ ACCS2:
+ if (#S2 < 1) goto ACCS3;
+ set @S2,#S2*$S2;
+ mes $S2N$ + ": " + #S2 + " x " + $S2 + "z = " + @S2 + "z";
+
+ ACCS3:
+ if (#S3 < 1) goto ACCS4;
+ set @S3,#S3*$S3;
+ mes $S3N$ + ": " + #S3 + " x " + $S3 + "z = " + @S3 + "z";
+
+ ACCS4:
+ if (#S4 < 1) goto ACCS5;
+ set @S4,#S4*$S4;
+ mes $S4N$ + ": " + #S4 + " x " + $S4 + "z = " + @S4 + "z";
+
+ ACCS5:
+ if (#S5 < 1) goto ACCS6;
+ set @S5,#S5*$S5;
+ mes $S5N$ + ": " + #S5 + " x " + $S5 + "z = " + @S5 + "z";
+
+ ACCS6:
+ if (#S6 < 1) goto ACCS7;
+ set @S6,#S6*$S6;
+ mes $S6N$ + ": " + #S6 + " x " + $S6 + "z = " + @S6 + "z";
+
+ ACCS7:
+ if (#S7 < 1) goto ACCS8;
+ set @S7,#S7*$S7;
+ mes $S7N$ + ": " + #S7 + " x " + $S7 + "z = " + @S7 + "z";
+
+ ACCS8:
+ if (#S8 < 1) goto ACCS9;
+ set @S8,#S8*$S8;
+ mes $S8N$ + ": " + #S8 + " x " + $S8 + "z = " + @S8 + "z";
+
+ ACCS9:
+ if (#S9 < 1) goto ACCS10;
+ set @S9,#S9*$S9;
+ mes $S9N$ + ": " + #S9 + " x " + $S9 + "z = " + @S9 + "z";
+
+ ACCS10:
+ if (#S10 < 1) goto ACCS11;
+ set @S10,#S10*$S10;
+ mes $S10N$ + ": " + #S10 + " x " + $S10 + "z = " + @S10 + "z";
+
+ // Total //
+ ACCS11:
+ set @total,@S1 + @S2 + @S3 + @S4 + @S5 + @S6 + @S7 + @S8 + @S9 + @S10;
+ mes "Total value: "+@total+"z";
+ next;
+ goto S_Start;
+
+
+// GM MENU //
+GM_Menu:
+mes "[Stock Market]";
+mes "Master, do you require anything?";
+menu "Fluctuate Market",S_Fluc,"Reset Prices",GM_Open,"Nothing",S_Start;
+
+S_Fluc:
+set $fluc,rand (-6,6);
+set $S1B,$S1;
+set $S1,$S1+$fluc;
+if ($S1 < 25) set $S1,$S1+3;
+if ($S1 < 50) set $S1,$S1+2;
+if ($S1 > 150) set $S1,$S1-2;
+if ($S1 > 175) set $S1,$S1-3;
+if ($S1 < 1) set $S1,1;
+
+set $fluc,rand (-6,6);
+set $S2B,$S2;
+set $S2,$S2+$fluc;
+if ($S2 < 25) set $S2,$S2+3;
+if ($S2 < 50) set $S2,$S2+2;
+if ($S2 > 150) set $S2,$S2-2;
+if ($S2 > 175) set $S2,$S2-3;
+if ($S2 < 2) set $S2,1;
+
+set $fluc,rand (-6,6);
+set $S3B,$S3;
+set $S3,$S3+$fluc;
+if ($S3 < 25) set $S3,$S3+3;
+if ($S3 < 50) set $S3,$S3+2;
+if ($S3 > 150) set $S3,$S3-2;
+if ($S3 > 175) set $S3,$S3-3;
+if ($S3 < 1) set $S3,1;
+
+set $fluc,rand (-6,6);
+set $S4B,$S4;
+set $S4,$S4+$fluc;
+if ($S4 < 25) set $S4,$S4+3;
+if ($S4 < 50) set $S4,$S4+2;
+if ($S4 > 150) set $S4,$S4-2;
+if ($S4 > 175) set $S4,$S4-3;
+if ($S4 < 1) set $S4,1;
+
+set $fluc,rand (-6,6);
+set $S5B,$S5;
+set $S5,$S5+$fluc;
+if ($S5 < 25) set $S5,$S5+3;
+if ($S5 < 50) set $S5,$S5+2;
+if ($S5 > 150) set $S5,$S5-2;
+if ($S5 > 175) set $S5,$S5-3;
+if ($S5 < 1) set $S5,1;
+
+set $fluc,rand (-6,6);
+set $S6B,$S6;
+set $S6,$S6+$fluc;
+if ($S6 < 25) set $S6,$S6+3;
+if ($S6 < 50) set $S6,$S6+2;
+if ($S6 > 150) set $S6,$S6-2;
+if ($S6 > 175) set $S6,$S6-3;
+if ($S6 < 1) set $S6,1;
+
+set $fluc,rand (-6,6);
+set $S7B,$S7;
+set $S7,$S7+$fluc;
+if ($S7 < 25) set $S7,$S7+3;
+if ($S7 < 50) set $S7,$S7+2;
+if ($S7 > 150) set $S7,$S7-2;
+if ($S7 > 175) set $S7,$S7-3;
+if ($S7 < 1) set $S7,1;
+
+set $fluc,rand (-6,6);
+set $S8B,$S8;
+set $S8,$S8+$fluc;
+if ($S8 < 25) set $S8,$S8+3;
+if ($S8 < 50) set $S8,$S8+2;
+if ($S8 > 150) set $S8,$S8-2;
+if ($S8 > 175) set $S8,$S8-3;
+if ($S8 < 1) set $S8,1;
+
+set $fluc,rand (-6,6);
+set $S9B,$S9;
+set $S9,$S9+$fluc;
+if ($S9 < 25) set $S9,$S9+3;
+if ($S9 < 50) set $S9,$S9+2;
+if ($S9 > 150) set $S9,$S9-2;
+if ($S9 > 175) set $S9,$S9-3;
+if ($S9 < 1) set $S9,1;
+
+set $fluc,rand (-6,6);
+set $S10B,$S10;
+set $S10,$S10+$fluc;
+if ($S10 < 25) set $S10,$S10+3;
+if ($S10 < 50) set $S10,$S10+2;
+if ($S10 > 150) set $S10,$S10-2;
+if ($S10 > 175) set $S10,$S10-3;
+if ($S10 < 1) set $S10,1;
+
+set $S_LastUpd$,"GM Fluctuation";
+mes "Market fluctuated.";
+close;
+
+GM_Open:
+menu "Set prices to...",GM_Set,"Cancel",-;
+mes "Farewell.";
+close;
+
+GM_Set:
+mes "Are you sure you want to reset?";
+mes "^FF0000All share values will become the same.^000000";
+next;
+menu "Yes",-,"No",GM_Menu;
+set @gmset,0;
+input @gmset;
+set $S1,@gmset;
+set $S2,@gmset;
+set $S3,@gmset;
+set $S4,@gmset;
+set $S5,@gmset;
+set $S6,@gmset;
+set $S7,@gmset;
+set $S8,@gmset;
+set $S9,@gmset;
+set $S10,@gmset;
+set $S1B,@gmset;
+set $S2B,@gmset;
+set $S3B,@gmset;
+set $S4B,@gmset;
+set $S5B,@gmset;
+set $S6B,@gmset;
+set $S7B,@gmset;
+set $S8B,@gmset;
+set $S9B,@gmset;
+set $S10B,@gmset;
+mes "All prices changed to " + @gmset + "z.";
+close;
+
+S_Quit:
+mes "[Stock Market]";
+mes "Goodbye.";
+close;
+}
+
+prontera.gat,140,181,5 duplicate(stockmarket) Stock Market 109 \ No newline at end of file
diff --git a/npc/custom/tougijou.txt b/npc/custom/tougijou.txt
new file mode 100644
index 000000000..8c9fc8cca
--- /dev/null
+++ b/npc/custom/tougijou.txt
@@ -0,0 +1,343 @@
+/===============================================================================
+// Tougijou (Arena) EVENT
+//===============================================================================
+gonryun.gat,180,117,0 script Son Mudo 85,{
+ if (Class == 0) goto Lnovice;
+ if (event_tougijou == 1) goto LStart2;
+ mes "[Son Mudo]";
+ mes "Ahh... this cool guy does not come. ";
+ mes "Hmm? Hey, you. You look strong. I have a little thing todo, are you interested?";
+ next;
+ menu "I am",L1,"No, not interested",L2,"(ignore him)",L3;
+L1:
+ mes "[Son Mudo]";
+ mes "Oh... It looks like my eyes were right.";
+ mes "But I have to check some things. First, your preparation.";
+ next;
+ if (checkweight(7049,730)) goto Lweightok;
+ mes "^0000ffSon Mudo points to a quite big stone, telling you to lift it up. But because you are too heavy, you cannot raise it.^000000";
+ next;
+ mes "[Son Mudo]";
+ mes "It looks like your training was insufficient. Come back when you have trained a bit more.";
+ close;
+Lweightok:
+ getitem 7049,730;
+ set event_tougijou,1;
+ mes "^0000ffSon Mudo points to a quite big stone, telling you to lift it up and you raise it easily.^000000";
+ next;
+ emotion 21;
+ mes "[Son Mudo]";
+ mes "Haha, My eyes were absolutely right. When it is about time, I show you a good place. See you then.";
+ close;
+L2:
+ mes "[Son Mudo]";
+ mes "Really?";
+ mes "But don't you think, if you have some power, you can get interesting experiences?";
+ mes "Haha, when you change your mind, come and take the challenge.";
+ close;
+L3:
+ emotion 32;
+ mes "[Son Mudo]";
+ mes "This is... I must have mistaken this one for someone else.";
+ mes "Haha......";
+ close;
+LStart2:
+ mes "[Son Mudo]";
+ mes "Oh, we meet again!";
+ mes "Want to go to the interesting passage now?";
+ next;
+ menu "I want to",-,"No, I don't",Lno;
+ mes "[Son Mudo]";
+ mes "Really?";
+ mes "Ah Hahahaha.";
+ mes "Well then, have fun!";
+ next;
+ warp "gon_test.gat",53,6;
+ end;
+ Lno:
+ mes "[Son Mudo]";
+ mes "What, you hesitate? Well, it's ok. See you later then.";
+ close;
+Lnovice:
+ mes "[Son Mudo]";
+ mes "Hey, you are just a Novice. Go back to town.";
+ close;
+}
+//===============================================================================
+gon_test.gat,50,14,4 script Gonryun Arena Staff 780,{
+ mes "[Waiting Room Staff]";
+ mes "Hello.";
+ mes "Just enter the Chat and wait for your turn.";
+ close;
+OnInit:
+ waitingroom "Please enter here!!",1,"Gonryun Arena Staff::OnMax";
+ end;
+OnMax:
+ warpwaitingpc "gon_test.gat",44,86;
+ killmonsterall "gon_test.gat";
+ initnpctimer "gontimer";
+ disablenpc "Gonryun Arena Staff";
+ set $@addmon,0;
+ set $@kengaku,0;
+ end;
+}
+//===============================================================================
+gon_test.gat,46,14,4 script Arena Guide 770,{
+ mes "[Son Fiyon]";
+ mes "......";
+ mes "Ah...... Welcome. This is the Arena.";
+ mes "What can I do for you?";
+ next;
+ menu "Arena?",L1,"Fraulein, would you like to go out with me?",L2,"I want to go to the seats.",L3,"I wanna go back",L4,"Nothing, thanks.",L5;
+L1:
+ mes "[Son Fiyon]";
+ mes "The Arena is the section of the village where fights with mosters take place.";
+ next;
+ mes "[Son Fiyon]";
+ mes "Because it is necessary to prepare the correct leveled monster, please talk to the Summoner and call for your favorite monster.";
+ next;
+ mes "[Son Fiyon]";
+ mes "In addition there is a time restriction to 3 minutes starting from admission. Please take care of this.";
+ close;
+L2:
+ mes "[Son Fiyon]";
+ mes "Eh.... what?";
+ mes "Oh, sorry, but I have to work right now......";
+ mes "Please accept my appologies.";
+ close;
+L3:
+ mes "[Son Fiyon]";
+ mes "Certainly! Thank you. Please have a nice time.";
+ next;
+ set $@kengaku,1;
+ warp "gon_test.gat",25,99;
+ end;
+L4:
+ mes "[Son Fiyon]";
+ mes "Thank you. Please use our service again.";
+ next;
+ warp "gonryun.gat",177,112;
+ end;
+L5:
+ mes "[Son Fiyon]";
+ mes "......";
+ mes "Good bye.";
+ close;
+}
+//===============================================================================
+gon_test.gat,42,89,4 script Summoner 774,{
+ if ($@kengaku == 1) goto LError;
+ if ($@addmon == 1) goto Lalready;
+ mes "[Son Yon'u]";
+ mes "Welcome.";
+ mes "What Monster shall I summon?";
+ next;
+ L0:
+ menu "Group 1",L1,"Group 2",L2,"Group 3",L3,"Group 4",L4,"Group 5",L5,"Group 6",L6,"Group 7",L7,"Group 8",L8,"Group 9",L9,"Group 10",L10,"Group 11",L11;
+ L1:
+ menu "Dizziness",L1_1,"The Poison Food",L1_2,"Anemia",L1_3,"The Bug",L1_4,"Incision",L1_5,"Rabies",L1_6,"back",L0;
+ L1_1:
+ monster "gon_test.gat",58,87,"Dizziness",1419,1,"mobend";set $@addmon,1;close;
+ L1_2:
+ monster "gon_test.gat",58,87,"The Poison Food",1428,1,"mobend";set $@addmon,1;close;
+ L1_3:
+ monster "gon_test.gat",58,87,"Anemia",1434,1,"mobend";set $@addmon,1;close;
+ L1_4:
+ monster "gon_test.gat",58,87,"The Bug",1430,1,"mobend";set $@addmon,1;close;
+ L1_5:
+ monster "gon_test.gat",58,87,"Incision",1457,1,"mobend";set $@addmon,1;close;
+ L1_6:
+ monster "gon_test.gat",58,87,"Rabies",1432,1,"mobend";set $@addmon,1;close;
+ L2:
+ menu "Samael",L2_1,"Toror",L2_2,"Kangeishi",L2_3,"Blackdock",L2_4,"Merou",L2_5,"Kyoushi",L2_6,"back",L0;
+ L2_1:
+ monster "gon_test.gat",58,87,"Samael",1462,1,"mobend";set $@addmon,1;close;
+ L2_2:
+ monster "gon_test.gat",58,87,"Toror",1442,1,"mobend";set $@addmon,1;close;
+ L2_3:
+ monster "gon_test.gat",58,87,"Kangeishi",1469,1,"mobend";set $@addmon,1;close;
+ L2_4:
+ monster "gon_test.gat",58,87,"Blackdock",1460,1,"mobend";set $@addmon,1;close;
+ L2_5:
+ monster "gon_test.gat",58,87,"Merou",1425,1,"mobend";set $@addmon,1;close;
+ L2_6:
+ monster "gon_test.gat",58,87,"Kyoushi",1472,1,"mobend";set $@addmon,1;close;
+ L3:
+ menu "Ashimoto",L3_1,"Mushibamu",L3_2,"Sorappo",L3_3,"Freezer",L3_4,"Heat",L3_5,"The Rotten",L3_6,"back",L0;
+ L3_1:
+ monster "gon_test.gat",58,87,"Ashimoto",1454,1,"mobend";set $@addmon,1;close;
+ L3_2:
+ monster "gon_test.gat",58,87,"Mushibamu",1443,1,"mobend";set $@addmon,1;close;
+ L3_3:
+ monster "gon_test.gat",58,87,"Sorappo",1455,1,"mobend";set $@addmon,1;close;
+ L3_4:
+ monster "gon_test.gat",58,87,"Freezer",1426,1,"mobend";set $@addmon,1;close;
+ L3_5:
+ monster "gon_test.gat",58,87,"Heat",1436,1,"mobend";set $@addmon,1;close;
+ L3_6:
+ monster "gon_test.gat",58,87,"The Rotten",1423,1,"mobend";set $@addmon,1;close;
+ L4:
+ menu "Priest",L4_1,"Onion",L4_2,"Big Centipede",L4_3,"Marionette",L4_4,"Matchstick Girl",L4_5,"Firefly",L4_6,"back",L0;
+ L4_1:
+ monster "gon_test.gat",58,87,"Priest",1458,1,"mobend";set $@addmon,1;close;
+ L4_2:
+ monster "gon_test.gat",58,87,"Onion",1440,1,"mobend";set $@addmon,1;close;
+ L4_3:
+ monster "gon_test.gat",58,87,"Big Centipede",1429,1,"mobend";set $@addmon,1;close;
+ L4_4:
+ monster "gon_test.gat",58,87,"Marionette",1459,1,"mobend";set $@addmon,1;close;
+ L4_5:
+ monster "gon_test.gat",58,87,"Matchstick Girl",1444,1,"mobend";set $@addmon,1;close;
+ L4_6:
+ monster "gon_test.gat",58,87,"Fly",1422,1,"mobend";set $@addmon,1;close;
+ L5:
+ menu "Femal Curse",L5_1,"Ikitsuchi",L5_2,"Master Snake",L5_3,"Poison Dragon",L5_4,"Seiryuu, the Blue Dragon",L5_5,"Epidemic Devil",L5_6,"back",L0;
+ L5_1:
+ monster "gon_test.gat",58,87,"Femal Curse",1421,1,"mobend";set $@addmon,1;close;
+ L5_2:
+ monster "gon_test.gat",58,87,"Ikitsuchi",1481,1,"mobend";set $@addmon,1;close;
+ L5_3:
+ monster "gon_test.gat",58,87,"Master Snake",1424,1,"mobend";set $@addmon,1;close;
+ L5_4:
+ monster "gon_test.gat",58,87,"Poison Dragon",1465,1,"mobend";set $@addmon,1;close;
+ L5_5:
+ monster "gon_test.gat",58,87,"Seiryuu, the Blue Dragon",1466,1,"mobend";set $@addmon,1;close;
+ L5_6:
+ monster "gon_test.gat",58,87,"Epidemic Devil",1433,1,"mobend";set $@addmon,1;close;
+ L6:
+ menu "Tapir",L6_1,"Moat Putter",L6_2,"God of Lightning",L6_3,"Revengeing Ghost",L6_4,"Fusoushin",L6_5,"Hanmou",L6_6,"back",L0;
+ L6_1:
+ monster "gon_test.gat",58,87,"Tapir",1427,1,"mobend";set $@addmon,1;close;
+ L6_2:
+ monster "gon_test.gat",58,87,"Moat Putter",1473,1,"mobend";set $@addmon,1;close;
+ L6_3:
+ monster "gon_test.gat",58,87,"God of Lightning",1431,1,"mobend";set $@addmon,1;close;
+ L6_4:
+ monster "gon_test.gat",58,87,"Revengeing Ghost",1446,1,"mobend";set $@addmon,1;close;
+ L6_5:
+ monster "gon_test.gat",58,87,"Fusoushin",1474,1,"mobend";set $@addmon,1;close;
+ L6_6:
+ monster "gon_test.gat",58,87,"Hanmou",1471,1,"mobend";set $@addmon,1;close;
+ L7:
+ menu "Cane",L7_1,"Axe",L7_2,"Big Hammer",L7_3,"Armor",L7_4,"Bow",L7_5,"Iron Bullet",L7_6,"back",L0;
+ L7_1:
+ monster "gon_test.gat",58,87,"Cane",1450,1,"mobend";set $@addmon,1;close;
+ L7_2:
+ monster "gon_test.gat",58,87,"Axe",1439,1,"mobend";set $@addmon,1;close;
+ L7_3:
+ monster "gon_test.gat",58,87,"Big Hammer",1461,1,"mobend";set $@addmon,1;close;
+ L7_4:
+ monster "gon_test.gat",58,87,"Armor",1467,1,"mobend";set $@addmon,1;close;
+ L7_5:
+ monster "gon_test.gat",58,87,"Bow",1453,1,"mobend";set $@addmon,1;close;
+ L7_6:
+ monster "gon_test.gat",58,87,"Iron Bullet",1479,1,"mobend";set $@addmon,1;close;
+ L8:
+ menu "Lips",L8_1,"Tooth",L8_2,"Hair",L8_3,"The Hand",L8_4,"Muscle",L8_5,"Bone",L8_6,"back",L0;
+ L8_1:
+ monster "gon_test.gat",58,87,"Lips",1451,1,"mobend";set $@addmon,1;close;
+ L8_2:
+ monster "gon_test.gat",58,87,"Tooth",1475,1,"mobend";set $@addmon,1;close;
+ L8_3:
+ monster "gon_test.gat",58,87,"The Hair",1437,1,"mobend";set $@addmon,1;close;
+ L8_4:
+ monster "gon_test.gat",58,87,"Hand",1441,1,"mobend";set $@addmon,1;close;
+ L8_5:
+ monster "gon_test.gat",58,87,"Muscle",1476,1,"mobend";set $@addmon,1;close;
+ L8_6:
+ monster "gon_test.gat",58,87,"Bone",1435,1,"mobend";set $@addmon,1;close;
+ L9:
+ menu "Ball",L9_1,"Mirror",L9_2,"Book",L9_3,"Glove",L9_4,"Bag",L9_5,"Clothes",L9_6,"back",L0;
+ L9_1:
+ monster "gon_test.gat",58,87,"Ball",1477,1,"mobend";set $@addmon,1;close;
+ L9_2:
+ monster "gon_test.gat",58,87,"Mirror",1448,1,"mobend";set $@addmon,1;close;
+ L9_3:
+ monster "gon_test.gat",58,87,"Book",1478,1,"mobend";set $@addmon,1;close;
+ L9_4:
+ monster "gon_test.gat",58,87,"Glove",1489,1,"mobend";set $@addmon,1;close;
+ L9_5:
+ monster "gon_test.gat",58,87,"Bag",1488,1,"mobend";set $@addmon,1;close;
+ L9_6:
+ monster "gon_test.gat",58,87,"Clothes",1438,1,"mobend";set $@addmon,1;close;
+ L10:
+ menu "The Queen",L10_1,"Hot-Blood-Man",L10_2,"Executioner",L10_3,"Mutant Dragon",L10_4,"Syntetic Beast",L10_5,"Satan",L10_6,"back",L0;
+ L10_1:
+ monster "gon_test.gat",58,87,"The Queen",1482,1,"mobend";set $@addmon,1;close;
+ L10_2:
+ monster "gon_test.gat",58,87,"Hot-Blood-Man",1464,1,"mobend";set $@addmon,1;close;
+ L10_3:
+ monster "gon_test.gat",58,87,"Executioner",1487,1,"mobend";set $@addmon,1;close;
+ L10_4:
+ monster "gon_test.gat",58,87,"Mutant Dragon",1449,1,"mobend";set $@addmon,1;close;
+ L10_5:
+ monster "gon_test.gat",58,87,"Syntetic Beast",1456,1,"mobend";set $@addmon,1;close;
+ L10_6:
+ monster "gon_test.gat",58,87,"Satan",1486,1,"mobend";set $@addmon,1;close;
+ L11:
+ menu "Hunter",L11_1,"Assassin",L11_2,"Samurai",L11_3,"Budoka",L11_4,"Fencer",L11_5,"back",L0;
+ L11_1:
+ monster "gon_test.gat",58,87,"Hunter",1447,1,"mobend";set $@addmon,1;close;
+ L11_2:
+ monster "gon_test.gat",58,87,"Assassin",1483,1,"mobend";set $@addmon,1;close;
+ L11_3:
+ monster "gon_test.gat",58,87,"Samurai",1490,1,"mobend";set $@addmon,1;close;
+ L11_4:
+ monster "gon_test.gat",58,87,"Budoka",1484,1,"mobend";set $@addmon,1;close;
+ L11_5:
+ monster "gon_test.gat",58,87,"Fencer",1485,1,"mobend";set $@addmon,1;close;
+Lalready:
+ mes "[Son Yon'u]";
+ mes "The monster has been summoned already. It is only possible to summon one monster at a time. Please re-enter the arena, if you wish another opponent.";
+ close;
+LError:
+ mes "[Son Yon'u]";
+ mes "Please attend after applying formally.";
+ close;
+}
+//===============================================================================
+gon_test.gat,58,87,0 script mobend -1,{
+ mapannounce "gon_test.gat","Summoner: Congratulations.",0;
+ stopnpctimer "gontimer";
+ addtimer 5000, "mobend::OnReturn";
+ end;
+OnReturn:
+ enablenpc "Gonryun Arena Staff";
+ donpcevent "Gonryun Arena Staff::OnInit";
+ warp "gon_test.gat",44,4;
+ end;
+}
+//===============================================================================
+gon_test.gat,70,103,4 script Gateway Staff 773,{
+ mes "[Che En'en]";
+ mes "You want to return?";
+ next;
+ menu "Return",-,"Stay",Lno;
+ mes "[Che En'en]";
+ mes "Thank you. Please come again.";
+ next;
+ warp "gon_test.gat",44,4;
+ set $@kengaku,0;
+ end;
+ Lno:
+ mes "[Che En'en]";
+ mes "Thank you. ";
+ close;
+}
+//===============================================================================
+gon_test.gat,51,90,0 script gontimer -1,{
+OnTimer1000:
+ mapannounce "gon_test.gat","Time limit is 3 Minutes from now.",8;
+ end;
+OnTimer120000:
+ mapannounce "gon_test.gat","1 minute remaining.",0;
+ end;
+OnTimer180000:
+ stopnpctimer "gontimer";
+ mapannounce "gon_test.gat","Time Limit exceeded.",0;
+ areawarp "gon_test.gat",42,82,73,91,"gon_test.gat",44,4;
+ enablenpc "Gonryun Arena Staff";
+ donpcevent "Gonryun Arena Staff::OnInit";
+ killmonsterall "gon_test.gat";
+ end;
+}
diff --git a/npc/custom/warper/warper.txt b/npc/custom/warper/warper.txt
new file mode 100644
index 000000000..501ce99e1
--- /dev/null
+++ b/npc/custom/warper/warper.txt
@@ -0,0 +1,137 @@
+//===== eAthena Script =======================================
+//= Warper Script
+//===== By: ==================================================
+//= Darkchild
+//===== Current Version: =====================================
+//= 1.6
+//===== Compatible With: =====================================
+//= Any eAthena Version;
+//===== Description: =========================================
+//= Generic warper...
+//===== Additional Comments: =================================
+//= 1.0 by Darkchild
+//= 1.1 by jabs
+//= 1.2 by Lupus (placement fixed in Amatsu)
+//= 1.3 fixed Louyang label typo, added warp and WARPRA into
+//= Nifleheim. Also sorted all names in alphabet order [Lupus]
+//= 1.4 fixed morroc warp npc overlaying kafra [Aria]
+//= 1.4a Added Ayothaya and Einbroch to list, and town Warpra's [Fredzilla]
+//= 1.4b fixed Izlude warp npc overlaying BBS [Justin84]
+//= 1.5 Added this NPC to more places [Lupus]
+//= 1.6 Rewrote a lot. Changed the sprite, some locations. [Poki#3]
+//= TODO Add an option for selecting the level of the dungeon. [Poki#3]
+//============================================================
+//============================================================
+//= To allow selecting the Level of the Dungeon you want to
+//= Warp to set the @lvlselect variable to 1 (Not implemented yet!)
+//============================================================
+
+- script Warp Agent::warpra 859,{
+// set @lvlselect,0;
+ mes "[Warp Agent]";
+ mes "Hello,";
+ mes "I can teleport you to any Town or Dungeon!";
+ mes "Were do you want to go?";
+ next;
+ menu "To a Town",-,"To a Dungeon",L_dungeon;
+ next;
+ mes "[Warp Agent]";
+ mes "Please select your destination.";
+ next;
+ menu "Alberta",walberta,"Aldebaran",waldebaran,"Amatsu",wamatsu,"Ayothaya",wayothaya,"Comodo",wcomodo,"Einbroch",weinbroch,"Einbech",weinbech,"Geffen",wgeffen,"Gonryun",wgonryun,"Hugel",whugel,"Izlude",wizlude,"Lighthalzen",wlighthalzen,"Louyang",wlouyang,"Lutie",wxmas,"Morroc",wmorroc,"Payon",wpayon,"Prontera",wprontera,"Umbala",wumbala,"Yuno",wyuno;
+L_dungeon:
+ mes "[Warp Agent]";
+ mes "Please select your destination.";
+ next;
+ menu "Abyss Lake",dabbys,"Amatsu Dungeon",damatsu,"Anthell",dant,"Ayothaya Dungeon",dayothaya,"Bibilan Dungeon",dbibilan,"Coal Mine (Dead Pit)",dcoal,"Culvert",dculvert,"Einbech Dungeon",dein,"Glast Heim",dglast,"Gonryun Dungeon",dgonryun,"Juperos",djuperos,"Lighthalzen Bio Lab",dlighthalzen,"Magma Dungeon",dmagma,"Niflheim",dniflheim,"Odin Temple",dodin,"Orc Dungeon",dorc,"Payon Dungeon",dpayon,"Pyramids",dpyramids,"Sphinx",dsphinx,"Sunken Ship",dsunken,"Thanatos Tower",dthanatos,"Turtle Dungeon",dturtle;
+
+
+//----------------Towns----------------\\
+walberta: warp "alberta.gat", 27, 236; end;
+waldebaran: warp "aldebaran.gat", 145, 120; end;
+wamatsu: warp "amatsu.gat", 197, 86; end;
+wayothaya: warp "ayothaya.gat", 149, 118; end;
+wcomodo: warp "comodo.gat", 188, 161; end;
+weinbroch: warp "einbroch.gat", 64, 200; end;
+weinbech: warp "einbech.gat", 70, 95; end;
+wgeffen: warp "geffen.gat", 119, 66; end;
+wgonryun: warp "gonryun.gat", 150, 130; end;
+whugel: warp "hugel.gat", 96, 145; end;
+wizlude: warp "izlude.gat", 128, 111; end;
+wlighthalzen: warp "lighthalzen.gat", 158, 92; end;
+wlouyang: warp "louyang.gat", 210, 108; end;
+wmorroc: warp "morocc.gat", 159, 93; end;
+wprontera: warp "prontera.gat", 156, 187; end;
+wpayon: warp "payon.gat", 152, 75; end;
+wumbala: warp "umbala.gat", 130, 130; end;
+wxmas: warp "xmas.gat", 148, 131; end;
+wyuno: warp "yuno.gat", 160, 168; end;
+
+//----------------Dungeons----------------\\
+dabbys: warp "hu_fild05.gat", 189, 207; end;
+damatsu: warp "ama_dun01.gat", 229, 12; end;
+dant: warp "moc_fild04.gat", 210, 328; end;
+dayothaya: warp "ayo_fild02.gat", 280, 149; end;
+dbibilan: warp "izlu2dun.gat", 106, 88; end;
+dculvert: warp "prt_sewb1.gat", 126, 248; end;
+dcoal: warp "mjolnir_02.gat", 81, 359; end;
+dein: warp "einbech.gat", 135, 249; end;
+dglast: warp "glast_01.gat", 368, 303; end;
+dgonryun: warp "gonryun.gat", 160, 195; end;
+djuperos: warp "yuno_fild07.gat", 218, 176; end;
+dlighthalzen: warp "lighthalzen.gat", 158, 285; end;
+dmagma: warp "yuno_fild03.gat", 39, 140; end;
+dniflheim: warp "niflheim.gat", 35, 161; end;
+dodin: warp "odin_tem01.gat", 98, 144; end;
+dorc: warp "gef_fild10.gat", 70, 332; end;
+dpayon: warp "pay_arche.gat", 43, 132; end;
+dpyramids: warp "moc_ruins.gat", 62, 162; end;
+dsphinx: warp "moc_fild19.gat", 107, 100; end;
+dsunken: warp "alb2trea.gat", 75, 98; end;
+dthanatos: warp "tha_scene01.gat", 131, 223; end;
+dturtle: warp "tur_dun01.gat", 149, 238; end;
+}
+
+//----------------Towns----------------\\
+alberta.gat,31,240,4 duplicate(warpra) Warp Agent 859
+aldebaran.gat,145,118,4 duplicate(warpra) Warp Agent 859
+amatsu.gat,192,81,1 duplicate(warpra) Warp Agent 859
+ayothaya.gat,144,117,6 duplicate(warpra) Warp Agent 859
+comodo.gat,194,158,4 duplicate(warpra) Warp Agent 859
+einbroch.gat,59,205,4 duplicate(warpra) Warp Agent 859
+einbroch.gat,243,189,2 duplicate(warpra) Warp Agent 859
+einbech.gat,135,249,4 duplicate(warpra) Warp Agent 859
+geffen.gat,115,66,4 duplicate(warpra) Warp Agent 859
+gonryun.gat,151,130,4 duplicate(warpra) Warp Agent 859
+izlude.gat,133,117,4 duplicate(warpra) Warp Agent 859
+lighthalzen.gat,155,79,6 duplicate(warpra) Warp Agent 859
+louyang.gat,210,106,4 duplicate(warpra) Warp Agent 859
+morocc.gat,156,95,4 duplicate(warpra) Warp Agent 859
+prontera.gat,161,192,4 duplicate(warpra) Warp Agent 859
+payon.gat,182,110,4 duplicate(warpra) Warp Agent 859
+umbala.gat,132,130,4 duplicate(warpra) Warp Agent 859
+xmas.gat,150,136,4 duplicate(warpra) Warp Agent 859
+yuno.gat,137,162,4 duplicate(warpra) Warp Agent 859
+
+//----------------Dungeons----------------\\
+ama_dun01.gat,233,9,1 duplicate(warpra) Warp Agent 859
+moc_fild04.gat,207,331,4 duplicate(warpra) Warp Agent 859
+ayo_fild02.gat,279,154,4 duplicate(warpra) Warp Agent 859
+izlu2dun.gat,104,82,4 duplicate(warpra) Warp Agent 859
+prt_sewb1.gat,125,253,4 duplicate(warpra) Warp Agent 859
+mjolnir_02.gat,85,363,4 duplicate(warpra) Warp Agent 859
+einbech.gat,81,101,1 duplicate(warpra) Warp Agent 859
+glast_01.gat,370,308,4 duplicate(warpra) Warp Agent 859
+yuno_fild03.gat,37,135,4 duplicate(warpra) Warp Agent 859
+niflheim.gat,32,161,4 duplicate(warpra) Warp Agent 859
+gef_fild10.gat,71,339,4 duplicate(warpra) Warp Agent 859
+pay_arche.gat,39,135,4 duplicate(warpra) Warp Agent 859
+moc_ruins.gat,64,166,4 duplicate(warpra) Warp Agent 859
+moc_fild19.gat,106,97,4 duplicate(warpra) Warp Agent 859
+alb2trea.gat,73,101,4 duplicate(warpra) Warp Agent 859
+tur_dun01.gat,148,239,4 duplicate(warpra) Warp Agent 859
+lhz_dun01.gat,157,285,4 duplicate(warpra) Warp Agent 859
+hu_fild05.gat,186,210,4 duplicate(warpra) Warp Agent 859
+yuno_fild07.gat,221,179,4 duplicate(warpra) Warp Agent 859
+tha_scene01.gat,139,194,1 duplicate(warpra) Warp Agent 859
+odin_tem01.gat,96,149,4 duplicate(warpra) Warp Agent 859
diff --git a/npc/eamobs/citycleaners.txt b/npc/eamobs/citycleaners.txt
new file mode 100644
index 000000000..4a93340a6
--- /dev/null
+++ b/npc/eamobs/citycleaners.txt
@@ -0,0 +1,34 @@
+//===== eAthena Script =======================================
+//= Mob Spawn in cities
+//===== By: ==================================================
+//= massdriller
+//===== Current Version: =====================================
+//= 0.1b
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Spawns monsters to clean up city. Apparently spawning
+//= occured in iRO and kRO. Enable this if you want.
+//= 0.1a Added a few more towns to spawn Wild rose [MasterOfMuppets]
+//= 0.1b And even more from Poki#3 [Komurka]
+//============================================================
+
+prontera.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+geffen.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+izlude.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+payon.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+alberta.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+morocc.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+comodo.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+yuno.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+aldebaran.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+umbala.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+amatsu.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+gonryun.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+louyang.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+ayothaya.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+einbroch.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+einbech.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+lighthalzen.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+xmas.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+hugel.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0 \ No newline at end of file
diff --git a/npc/eamobs/dungeons/abyss.txt b/npc/eamobs/dungeons/abyss.txt
new file mode 100644
index 000000000..095c0e3bf
--- /dev/null
+++ b/npc/eamobs/dungeons/abyss.txt
@@ -0,0 +1,41 @@
+//===== eAthena Script =======================================
+//= Abyss Lake Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.0 Real spawns by Poki#3 [Nexon]
+//============================================================
+
+//Abyss Lakes Underground Cave Flor 1
+abyss_01.gat,0,0,0,0 monster Penomena 1216,20,30000,0,0
+abyss_01.gat,0,0,0,0 monster Mimic 1191,20,0,0,0
+abyss_01.gat,0,0,0,0 monster Ancient Mimic 1699,1,0,0,0
+abyss_01.gat,0,0,0,0 monster Novus 1715,10,0,0,0
+abyss_01.gat,0,0,0,0 monster Ferus 1717,20,0,0,0
+abyss_01.gat,0,0,0,0 monster Hydro­ 1720,1,1800000,0,0
+
+//Abyss Lakes Underground Cave Flor 2
+abyss_02.gat,0,0,0,0 monster Ancient Mimic 1699,10,0,0,0
+abyss_02.gat,0,0,0,0 monster Dragon Egg 1721,5,0,0,0
+abyss_02.gat,0,0,0,0 monster Acidus 1713,30,0,0,0
+abyss_02.gat,0,0,0,0 monster Acidus 1716,30,0,0,0
+abyss_02.gat,0,0,0,0 monster Novus 1715,10,0,0,0
+abyss_02.gat,0,0,0,0 monster Novus 1718,10,0,0,0
+abyss_02.gat,0,0,0,0 monster Ferus 1717,30,0,0,0
+abyss_02.gat,0,0,0,0 monster Hydro­ 1720,1,1800000,0,0
+
+//Abyss Lakes Underground Cave Flor 3
+abyss_03.gat,0,0,0,0 monster Ancient Mimic 1699,20,0,0,0
+abyss_03.gat,0,0,0,0 monster Dragon Egg 1721,5,0,0,0
+abyss_03.gat,0,0,0,0 monster Spring Rabbit 1690,10,0,0,0
+abyss_03.gat,0,0,0,0 monster Acidus 1713,20,0,0,0
+abyss_03.gat,0,0,0,0 monster Acidus 1716,20,0,0,0
+abyss_03.gat,0,0,0,0 monster Novus 1715,10,0,0,0
+abyss_03.gat,0,0,0,0 monster Novus 1718,10,0,0,0
+abyss_03.gat,0,0,0,0 monster Ferus 1714,20,0,0,0
+abyss_03.gat,0,0,0,0 monster Hydro­ 1720,2,1800000,0,0
+abyss_03.gat,0,0,0,0 monster Detale 1719,1,3600000,7200000,0
diff --git a/npc/eamobs/dungeons/amatdun.txt b/npc/eamobs/dungeons/amatdun.txt
new file mode 100644
index 000000000..6303ede4b
--- /dev/null
+++ b/npc/eamobs/dungeons/amatdun.txt
@@ -0,0 +1,39 @@
+//===== eAthena Script =======================================
+//= Amatsu Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// ama_dun01
+
+ama_dun01.gat,0,0,0,0 monster Miyabi Doll 1404,65,0,0,0
+ama_dun01.gat,0,0,0,0 monster Antique Firelock 1403,45,0,0,0
+ama_dun01.gat,0,0,0,0 monster Shinobi 1401,2,180000,90000,0
+
+// ama_dun02
+
+ama_dun02.gat,0,0,0,0 monster Poison Toad 1402,35,180000,90000,0
+ama_dun02.gat,0,0,0,0 monster Antique Firelock 1403,20,60000,30000,0
+ama_dun02.gat,0,0,0,0 monster Miyabi Doll 1404,5,120000,60000,0
+ama_dun02.gat,0,0,0,0 monster Shinobi 1401,2,180000,90000,0
+ama_dun02.gat,0,0,0,0 monster Horong 1129,10,0,0,0
+ama_dun02.gat,0,0,0,0 monster The Paper 1375,1,180000,90000,0
+
+// ama_dun03
+
+ama_dun03.gat,0,0,0,0 monster Shinobi 1401,35,600000,300000,0
+ama_dun03.gat,0,0,0,0 monster Antique Firelock 1403,25,0,0,0
+ama_dun03.gat,0,0,0,0 monster Miyabi Doll 1404,1,0,0,0
+ama_dun03.gat,0,0,0,0 monster Tengu 1405,40,600000,300000,0
+ama_dun03.gat,0,0,0,0 monster Mimic 1191,5,0,0,0
+ama_dun03.gat,0,0,0,0 monster The Paper 1375,20,600000,300000,0
+
+ama_dun03.gat,0,0,0,0 monster Incantation Samurai 1492,1,5460000,3600000,0
+ama_dun03.gat,0,0,0,0 monster Shinobi 1401,20,5450000,3600000,0
+ama_dun03.gat,0,0,0,0 monster Tengu 1405,15,5440000,3600000,0
diff --git a/npc/eamobs/dungeons/anthell.txt b/npc/eamobs/dungeons/anthell.txt
new file mode 100644
index 000000000..03dcf0705
--- /dev/null
+++ b/npc/eamobs/dungeons/anthell.txt
@@ -0,0 +1,119 @@
+//===== eAthena Script =======================================
+//= Ant Hell Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// Anthell01
+
+anthell01.gat,0,0,0,0 monster Familiar 1005,20,0,0,0
+anthell01.gat,0,0,0,0 monster Andre 1095,15,0,0,0
+anthell01.gat,0,0,0,0 monster Piere 1160,50,0,0,0
+anthell01.gat,0,0,0,0 monster Deniro 1105,40,0,0,0
+anthell01.gat,0,0,0,0 monster Vitata 1176,10,0,0,0
+anthell01.gat,0,0,0,0 monster Giearth 1121,1,0,0,0
+anthell01.gat,0,0,0,0 monster Maya Purple 1289,1,7200000,3600000,1
+anthell01.gat,28,266,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,29,266,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,28,265,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,28,264,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,28,263,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,28,262,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,29,265,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,29,264,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,29,263,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,29,262,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,30,265,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,30,264,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,30,263,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,30,262,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,30,261,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,31,264,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,31,263,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,31,262,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,32,263,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,40,270,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,40,269,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,40,268,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,40,267,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,40,266,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,40,265,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,41,269,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,41,268,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,41,267,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,41,266,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,41,265,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,30,198,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,31,198,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,32,197,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,32,196,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,31,195,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,30,195,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,31,194,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,33,195,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,33,196,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,30,190,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,31,190,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,32,189,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,32,198,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,32,187,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,32,186,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,31,186,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,40,168,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,41,168,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,42,168,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,42,167,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,42,166,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,42,165,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,41,165,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,43,165,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,44,165,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,45,165,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,44,166,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,43,166,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,30,187,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,29,186,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,38,186,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,37,186,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,36,186,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,35,186,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,36,187,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,38,184,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,38,183,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,37,183,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,99,127,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,98,127,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,97,127,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,97,126,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,97,125,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,97,124,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,97,123,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,98,121,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,99,121,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,100,121,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,101,121,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,102,121,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,104,123,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,104,122,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,104,120,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,103,120,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,103,121,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,102,121,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,105,124,0,0 monster Ant Egg 1097,1,60000,30000,0
+
+// Anthell02
+
+anthell02.gat,0,0,0,0 monster Ant Egg 1097,15,0,0,0
+anthell02.gat,0,0,0,0 monster Familiar 1005,20,0,0,0
+anthell02.gat,0,0,0,0 monster Andre 1095,50,0,0,0
+anthell02.gat,0,0,0,0 monster Piere 1160,15,0,0,0
+anthell02.gat,0,0,0,0 monster Deniro 1105,15,0,0,0
+anthell02.gat,0,0,0,0 monster Vitata 1176,30,0,0,0
+anthell02.gat,0,0,0,0 monster Giearth 1121,3,0,0,0
+anthell02.gat,0,0,0,0 monster Maya 1147,1,7200000,3600000,1
diff --git a/npc/eamobs/dungeons/ayodun.txt b/npc/eamobs/dungeons/ayodun.txt
new file mode 100644
index 000000000..620fada1b
--- /dev/null
+++ b/npc/eamobs/dungeons/ayodun.txt
@@ -0,0 +1,24 @@
+//===== eAthena Script =======================================
+//= Ayothana Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= Currently using euRO data provided by Ishizu
+//= 1.2 Moved Tao Gunka to west cave of Comodo [Lupus]
+//============================================================
+
+//=== Ayothana Dungeon #1 ===
+ayo_dun01.gat,0,0,0,0 monster Whisper 1179,10,0,0,0
+ayo_dun01.gat,0,0,0,0 monster Ghoul 1036,30,0,0,0
+ayo_dun01.gat,0,0,0,0 monster Kraben 1587,5,0,0,0
+ayo_dun01.gat,0,0,0,0 monster Leaf Cat 1586,60,0,0,0
+
+//=== Ayothana Dungeon #2 ===
+ayo_dun02.gat,0,0,0,0 monster Whisper 1179,20,0,0,0
+ayo_dun02.gat,0,0,0,0 monster Kraben 1587,20,0,0,0
+ayo_dun02.gat,0,0,0,0 monster Tamruan 1584,70,0,0,0
+ayo_dun02.gat,0,0,0,0 monster Lady Tany 1688,1,3600000,1800000,1
diff --git a/npc/eamobs/dungeons/beachdun.txt b/npc/eamobs/dungeons/beachdun.txt
new file mode 100644
index 000000000..a97694b4a
--- /dev/null
+++ b/npc/eamobs/dungeons/beachdun.txt
@@ -0,0 +1,37 @@
+//===== eAthena Script =======================================
+//= Beach Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+//beach_dun
+
+beach_dun.gat,0,0,0,0 monster Medusa 1148,20,0,0,0
+beach_dun.gat,0,0,0,0 monster Merman 1264,3,10000,5000,0
+beach_dun.gat,0,0,0,0 monster Neraid 1255,15,0,0,0
+beach_dun.gat,0,0,0,0 monster Pest 1256,15,0,0,0
+beach_dun.gat,0,0,0,0 monster Penomena 1216,5,30000,0,0
+beach_dun.gat,0,0,0,0 monster Tao Gunka 1583,1,3600000,1800000,1
+
+//beach_dun2
+
+beach_dun2.gat,0,0,0,0 monster Megalith 1274,30,0,0,0
+beach_dun2.gat,0,0,0,0 monster Neraid 1255,5,0,0,0
+beach_dun2.gat,0,0,0,0 monster Stalactite Golem 1278,40,5000,0,0
+beach_dun2.gat,0,0,0,0 monster Tri-Joint 1279,20,0,0,0
+beach_dun2.gat,0,0,0,0 monster Hydra 1068,15,0,0,0
+
+//beach_dun3
+
+beach_dun3.gat,0,0,0,0 monster Neraid 1255,1,200000,100000,0
+//putmob "beach_dun3" 0 0 0 0 1 PEST 60000 0 0
+beach_dun3.gat,0,0,0,0 monster Thara Frog 1034,50,0,0,0
+//putmob "beach_dun3" 0 0 0 0 3 TRI_JOINT 0 0 0
+beach_dun3.gat,0,0,0,0 monster Hydra 1068,30,0,0,0
+beach_dun3.gat,0,0,0,0 monster Megalodon 1064,30,0,0,0
diff --git a/npc/eamobs/dungeons/byalan.txt b/npc/eamobs/dungeons/byalan.txt
new file mode 100644
index 000000000..da48cd2dc
--- /dev/null
+++ b/npc/eamobs/dungeons/byalan.txt
@@ -0,0 +1,110 @@
+//===== eAthena Script =======================================
+//= Byalan Island Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.1 (custom spawns)
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.1 Changed to eAthena custom spawns [Playtester]
+//============================================================
+
+// Iz_dun00
+
+iz_dun00.gat,0,0,0,0 monster Plankton 1161,65,0,0,0
+iz_dun00.gat,0,0,0,0 monster Marina 1141,45,0,0,0
+iz_dun00.gat,0,0,0,0 monster Kukre 1070,15,0,0,0
+iz_dun00.gat,0,0,0,0 monster Hydra 1068,15,0,0,0
+iz_dun00.gat,0,0,0,0 monster Vadon 1066,15,0,0,0
+iz_dun00.gat,0,0,0,0 monster Black Mushroom 1084,5,180000,90000,1
+
+
+// Iz_dun01
+
+iz_dun01.gat,0,0,0,0 monster Marina 1141,15,0,0,0
+iz_dun01.gat,0,0,0,0 monster Kukre 1070,50,0,0,0
+iz_dun01.gat,0,0,0,0 monster Hydra 1068,30,0,0,0
+iz_dun01.gat,0,0,0,0 monster Vadon 1066,50,0,0,0
+iz_dun01.gat,0,0,0,0 monster Cornutus 1067,15,300000,150000,1
+iz_dun01.gat,0,0,0,0 monster Thara Frog 1034,20,0,0,0
+iz_dun01.gat,0,0,0,0 monster Black Mushroom 1084,10,180000,90000,1
+
+// Iz_dun02
+
+iz_dun02.gat,0,0,0,0 monster Hydra 1068,40,0,0,0
+iz_dun02.gat,0,0,0,0 monster Cornutus 1067,60,0,0,0
+iz_dun02.gat,0,0,0,0 monster Marse 1144,40,0,0,0
+iz_dun02.gat,0,0,0,0 monster Obeaune 1044,40,0,0,0
+iz_dun02.gat,0,0,0,0 monster Merman 1264,1,0,0,0
+iz_dun02.gat,0,0,0,0 monster Black Mushroom 1084,15,180000,90000,1
+
+// Iz_dun03
+
+iz_dun03.gat,0,0,0,0 monster Hydra 1068,10,0,0,0
+iz_dun03.gat,0,0,0,0 monster Phen 1158,45,0,0,0
+iz_dun03.gat,0,0,0,0 monster Marine Sphere 1142,20,0,0,0
+iz_dun03.gat,0,0,0,0 monster Swordfish 1069,40,0,0,0
+iz_dun03.gat,0,0,0,0 monster Marc 1045,40,0,0,0
+iz_dun03.gat,203,59,0,0 monster Hydra 1068,1,612000,300000,0
+iz_dun03.gat,203,56,0,0 monster Hydra 1068,1,623000,300000,0
+iz_dun03.gat,203,53,0,0 monster Hydra 1068,1,617000,300000,0
+iz_dun03.gat,203,50,0,0 monster Hydra 1068,1,623000,300000,0
+iz_dun03.gat,203,47,0,0 monster Hydra 1068,1,605000,300000,0
+iz_dun03.gat,204,60,0,0 monster Hydra 1068,1,604000,300000,0
+iz_dun03.gat,204,57,0,0 monster Hydra 1068,1,602000,300000,0
+iz_dun03.gat,204,54,0,0 monster Hydra 1068,1,610000,300000,0
+iz_dun03.gat,204,51,0,0 monster Hydra 1068,1,609000,300000,0
+iz_dun03.gat,204,48,0,0 monster Hydra 1068,1,613000,300000,0
+iz_dun03.gat,191,144,0,0 monster Hydra 1068,1,621000,300000,0
+iz_dun03.gat,194,144,0,0 monster Hydra 1068,1,616000,300000,0
+iz_dun03.gat,197,144,0,0 monster Hydra 1068,1,596000,300000,0
+iz_dun03.gat,200,144,0,0 monster Hydra 1068,1,582000,300000,0
+iz_dun03.gat,203,144,0,0 monster Hydra 1068,1,610000,300000,0
+iz_dun03.gat,206,144,0,0 monster Hydra 1068,1,605000,300000,0
+iz_dun03.gat,209,144,0,0 monster Hydra 1068,1,608000,300000,0
+iz_dun03.gat,212,144,0,0 monster Hydra 1068,1,621000,300000,0
+iz_dun03.gat,193,143,0,0 monster Hydra 1068,1,600000,300000,0
+iz_dun03.gat,196,143,0,0 monster Hydra 1068,1,600000,300000,0
+iz_dun03.gat,199,143,0,0 monster Hydra 1068,1,600000,300000,0
+iz_dun03.gat,202,143,0,0 monster Hydra 1068,1,600000,300000,0
+iz_dun03.gat,205,143,0,0 monster Hydra 1068,1,600000,300000,0
+iz_dun03.gat,208,143,0,0 monster Hydra 1068,1,600000,300000,0
+iz_dun03.gat,211,143,0,0 monster Hydra 1068,1,600000,300000,0
+iz_dun03.gat,176,260,0,0 monster Hydra 1068,1,600000,300000,0
+iz_dun03.gat,180,251,0,0 monster Hydra 1068,1,600000,300000,0
+iz_dun03.gat,178,253,0,0 monster Hydra 1068,1,600000,300000,0
+iz_dun03.gat,108,249,0,0 monster Hydra 1068,1,600000,300000,0
+iz_dun03.gat,80,163,0,0 monster Hydra 1068,1,600000,300000,0
+iz_dun03.gat,0,0,0,0 monster Merman 1264,3,0,0,0
+
+// Iz_dun04
+
+iz_dun04.gat,0,0,0,0 monster Marine Sphere 1142,10,0,0,0
+iz_dun04.gat,0,0,0,0 monster Swordfish 1069,10,0,0,0
+iz_dun04.gat,0,0,0,0 monster Merman 1264,40,0,0,0
+iz_dun04.gat,0,0,0,0 monster Strouf 1065,13,0,0,0
+iz_dun04.gat,58,135,0,0 monster Hydra 1068,1,605000,300000,0
+iz_dun04.gat,61,135,0,0 monster Hydra 1068,1,600000,300000,0
+iz_dun04.gat,42,129,0,0 monster Hydra 1068,1,612000,300000,0
+iz_dun04.gat,42,116,0,0 monster Hydra 1068,1,606000,300000,0
+iz_dun04.gat,38,129,0,0 monster Hydra 1068,1,600000,300000,0
+iz_dun04.gat,33,129,0,0 monster Hydra 1068,1,608000,300000,0
+iz_dun04.gat,38,115,0,0 monster Hydra 1068,1,600000,300000,0
+iz_dun04.gat,33,115,0,0 monster Hydra 1068,1,621000,300000,0
+iz_dun04.gat,79,246,0,0 monster Hydra 1068,1,600000,300000,0
+iz_dun04.gat,80,246,0,0 monster Hydra 1068,1,594000,300000,0
+iz_dun04.gat,79,234,0,0 monster Hydra 1068,1,602000,300000,0
+iz_dun04.gat,80,233,0,0 monster Hydra 1068,1,618000,300000,0
+iz_dun04.gat,111,41,0,0 monster Hydra 1068,1,600000,300000,0
+iz_dun04.gat,111,38,0,0 monster Hydra 1068,1,603000,300000,0
+iz_dun04.gat,111,35,0,0 monster Hydra 1068,1,600000,300000,0
+iz_dun04.gat,69,243,0,0 monster Hydra 1068,1,621000,300000,0
+iz_dun04.gat,124,233,0,0 monster Hydra 1068,1,600000,300000,0
+iz_dun04.gat,134,233,0,0 monster Hydra 1068,1,605000,300000,0
+iz_dun04.gat,0,0,0,0 monster Penomena 1216,10,300000,150000,1
+iz_dun04.gat,95,147,0,0 monster Deviace 1108,3,1200000,600000,0
+iz_dun04.gat,103,231,10,10 monster Merman 1264,2,750000,300000,0
+iz_dun04.gat,160,231,10,10 monster Merman 1264,2,770000,300000,0
+iz_dun04.gat,95,147,10,10 monster Merman 1264,2,750000,300000,0
+iz_dun04.gat,130,216,15,15 monster Merman 1264,2,760000,300000,0
diff --git a/npc/eamobs/dungeons/clocktower.txt b/npc/eamobs/dungeons/clocktower.txt
new file mode 100644
index 000000000..98b6369d8
--- /dev/null
+++ b/npc/eamobs/dungeons/clocktower.txt
@@ -0,0 +1,156 @@
+//===== eAthena Script =======================================
+//= Clock Tower Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.1 Changed to eAthena custom spawns [Playtester]
+//============================================================
+
+// alde_dun01
+
+alde_dun01.gat,0,0,0,0 monster Ambernite 1094,10,0,0,0
+alde_dun01.gat,0,0,0,0 monster Drainliar 1111,20,0,0,0
+alde_dun01.gat,0,0,0,0 monster Stem Worm 1215,25,0,0,0
+alde_dun01.gat,0,0,0,0 monster Brilight 1211,10,0,0,0
+alde_dun01.gat,0,0,0,0 monster Arclouse 1194,25,0,0,0
+
+// alde_dun02
+
+alde_dun02.gat,0,0,0,0 monster High Orc 1213,40,0,0,0
+alde_dun02.gat,0,0,0,0 monster Orc Archer 1189,20,0,0,0
+alde_dun02.gat,0,0,0,0 monster Brilight 1211,20,0,0,0
+alde_dun02.gat,0,0,0,0 monster Drainliar 1111,10,0,0,0
+alde_dun02.gat,0,0,0,0 monster Arclouse 1194,20,0,0,0
+
+// alde_dun03
+
+alde_dun03.gat,0,0,0,0 monster Drainliar 1111,22,0,0,0
+alde_dun03.gat,0,0,0,0 monster Brilight 1211,35,0,0,0
+alde_dun03.gat,0,0,0,0 monster Cramp 1209,28,0,0,0
+alde_dun03.gat,0,0,0,0 monster Penomena 1216,47,600000,300000,0
+alde_dun03.gat,184,61,30,30 monster Drainliar 1111,5,600000,300000,0
+alde_dun03.gat,126,53,20,20 monster Drainliar 1111,3,600000,300000,0
+alde_dun03.gat,130,220,40,40 monster Drainliar 1111,5,600000,300000,0
+alde_dun03.gat,120,157,8,8 monster Drainliar 1111,5,600000,300000,0
+alde_dun03.gat,77,28,5,5 monster Cramp 1209,2,600000,300000,0
+alde_dun03.gat,184,61,30,30 monster Cramp 1209,5,600000,300000,0
+alde_dun03.gat,130,220,40,40 monster Cramp 1209,5,600000,300000,0
+alde_dun03.gat,127,204,9,9 monster Cramp 1209,2,600000,300000,0
+alde_dun03.gat,126,53,20,20 monster Cramp 1209,3,600000,300000,0
+alde_dun03.gat,163,56,10,10 monster Penomena 1216,2,600000,300000,0
+alde_dun03.gat,168,42,6,6 monster Penomena 1216,1,600000,300000,0
+alde_dun03.gat,147,30,8,8 monster Penomena 1216,1,600000,300000,0
+alde_dun03.gat,102,40,10,10 monster Penomena 1216,2,600000,300000,0
+alde_dun03.gat,155,201,25,25 monster Penomena 1216,4,600000,300000,0
+alde_dun03.gat,160,181,8,8 monster Penomena 1216,1,600000,300000,0
+alde_dun03.gat,179,166,6,6 monster Penomena 1216,2,600000,300000,0
+alde_dun03.gat,127,204,9,9 monster Penomena 1216,3,600000,300000,0
+alde_dun03.gat,142,157,8,8 monster Penomena 1216,3,600000,300000,0
+alde_dun03.gat,135,140,8,8 monster Penomena 1216,2,600000,300000,0
+alde_dun03.gat,120,157,8,8 monster Penomena 1216,2,600000,300000,0
+
+// alde_dun04
+
+alde_dun04.gat,0,0,0,0 monster Whisper 1179,10,0,0,0
+alde_dun04.gat,0,0,0,0 monster Bathory 1102,40,0,0,0
+alde_dun04.gat,0,0,0,0 monster Anolian 1206,10,0,0,0
+alde_dun04.gat,0,0,0,0 monster Joker 1131,10,0,0,0
+alde_dun04.gat,0,0,0,0 monster Executioner 1205,1,3600000,1800000,1
+alde_dun04.gat,0,0,0,0 monster Mysteltainn 1203,1,3600000,1800000,1
+alde_dun04.gat,0,0,0,0 monster Tyrfing 1204,1,3600000,1800000,1
+
+// c_tower1
+
+c_tower1.gat,0,0,0,0 monster Skeleton Archer 1016,30,0,0,0
+c_tower1.gat,0,0,0,0 monster Bathory 1102,16,0,0,0
+c_tower1.gat,0,0,0,0 monster Baphomet Jr. 1101,15,0,0,0
+c_tower1.gat,0,0,0,0 monster Punk 1199,50,0,0,0
+c_tower1.gat,0,0,0,0 monster Rideword 1195,30,0,0,0
+c_tower1.gat,0,0,0,0 monster Tower Keeper 1270,1,0,0,0
+
+// c_tower2
+
+c_tower2.gat,0,0,0,0 monster Skeleton Archer 1016,20,0,0,0
+c_tower2.gat,0,0,0,0 monster Punk 1199,20,0,0,0
+c_tower2.gat,0,0,0,0 monster Deviruchi 1109,10,0,0,0
+c_tower2.gat,0,0,0,0 monster Mimic 1191,3,0,0,0
+c_tower2.gat,0,0,0,0 monster Clock 1269,35,0,0,0
+c_tower2.gat,0,0,0,0 monster Rideword 1195,5,0,0,0
+c_tower2.gat,128,100,10,10 monster Rideword 1195,1,600000,300000,0
+c_tower2.gat,149,199,10,10 monster Rideword 1195,1,1200000,600000,0
+c_tower2.gat,149,199,10,10 monster Rideword 1195,1,600000,300000,0
+c_tower2.gat,273,286,20,20 monster Rideword 1195,1,1200000,600000,0
+c_tower2.gat,273,286,20,20 monster Rideword 1195,1,600000,300000,0
+c_tower2.gat,0,0,0,0 monster Tower Keeper 1270,1,0,0,0
+c_tower2.gat,0,0,0,0 monster Elder 1377,1,3600000,1800000,0
+c_tower2.gat,0,0,0,0 monster Elder 1377,1,3600000,1800000,0
+
+// c_tower3
+
+c_tower3.gat,0,0,0,0 monster Skeleton Archer 1016,20,0,0,0
+c_tower3.gat,0,0,0,0 monster Horong 1129,10,0,0,0
+c_tower3.gat,0,0,0,0 monster Mimic 1191,10,0,0,0
+c_tower3.gat,0,0,0,0 monster Alarm 1193,50,0,0,0
+c_tower3.gat,0,0,0,0 monster Rideword 1195,9,0,0,0
+c_tower3.gat,153,220,10,10 monster Rideword 1195,1,726000,300000,0
+c_tower3.gat,0,0,0,0 monster Tower Keeper 1270,1,0,0,0
+
+// c_tower4
+
+c_tower4.gat,0,0,0,0 monster Tower Keeper 1270,2,1800000,0,0
+c_tower4.gat,0,0,0,0 monster Tower Keeper 1270,1,3600000,0,0
+c_tower4.gat,0,0,0,0 monster Whisper 1179,5,0,0,0
+c_tower4.gat,0,0,0,0 monster Elder 1377,1,3600000,1800000,0
+c_tower4.gat,0,0,0,0 monster Elder 1377,1,1800000,600000,0
+c_tower4.gat,108,198,100,10 monster Alarm 1193,6,600000,300000,0
+c_tower4.gat,108,178,100,10 monster Alarm 1193,6,600000,300000,0
+c_tower4.gat,108,158,100,10 monster Alarm 1193,6,600000,300000,0
+c_tower4.gat,108,138,100,10 monster Alarm 1193,6,600000,300000,0
+c_tower4.gat,108,118,100,10 monster Alarm 1193,6,600000,300000,0
+c_tower4.gat,108,98,100,10 monster Clock 1269,7,600000,300000,0
+c_tower4.gat,108,78,100,10 monster Clock 1269,7,600000,300000,0
+c_tower4.gat,108,58,100,10 monster Clock 1269,7,600000,300000,0
+c_tower4.gat,108,38,100,10 monster Clock 1269,7,600000,300000,0
+c_tower4.gat,108,18,100,10 monster Clock 1269,7,600000,300000,0
+c_tower4.gat,108,198,100,10 monster Owl Duke 1320,3,600000,300000,0
+c_tower4.gat,108,178,100,10 monster Owl Duke 1320,3,600000,300000,0
+c_tower4.gat,108,158,100,10 monster Owl Duke 1320,3,600000,300000,0
+c_tower4.gat,108,138,100,10 monster Owl Duke 1320,3,600000,300000,0
+c_tower4.gat,108,118,100,10 monster Owl Duke 1320,3,600000,300000,0
+c_tower4.gat,108,98,100,10 monster Owl Duke 1320,3,600000,300000,0
+c_tower4.gat,108,78,100,10 monster Owl Duke 1320,3,600000,300000,0
+c_tower4.gat,108,58,100,10 monster Owl Duke 1320,3,600000,300000,0
+c_tower4.gat,108,38,100,10 monster Owl Duke 1320,3,600000,300000,0
+c_tower4.gat,108,18,100,10 monster Owl Duke 1320,3,600000,300000,0
+c_tower4.gat,98,180,0,0 monster Rideword 1195,1,600000,300000,1
+c_tower4.gat,97,180,0,0 monster Rideword 1195,1,540000,300000,1
+c_tower4.gat,96,180,0,0 monster Rideword 1195,1,650000,300000,1
+c_tower4.gat,95,180,0,0 monster Rideword 1195,1,710000,300000,1
+c_tower4.gat,94,180,0,0 monster Rideword 1195,1,620000,300000,1
+c_tower4.gat,93,180,0,0 monster Rideword 1195,1,560000,300000,1
+c_tower4.gat,92,180,0,0 monster Rideword 1195,1,580000,300000,1
+c_tower4.gat,91,180,0,0 monster Rideword 1195,1,630000,300000,1
+c_tower4.gat,87,180,0,0 monster Rideword 1195,1,700000,300000,1
+c_tower4.gat,86,180,0,0 monster Rideword 1195,1,680000,300000,1
+c_tower4.gat,80,179,0,0 monster Rideword 1195,1,660000,300000,1
+c_tower4.gat,80,180,0,0 monster Rideword 1195,1,650000,300000,1
+c_tower4.gat,80,181,0,0 monster Rideword 1195,1,590000,300000,1
+c_tower4.gat,80,182,0,0 monster Rideword 1195,1,600000,300000,1
+c_tower4.gat,80,183,0,0 monster Rideword 1195,1,640000,300000,1
+c_tower4.gat,128,194,0,0 monster Mimic 1191,1,1800000,900000,1
+c_tower4.gat,38,193,0,0 monster Mimic 1191,1,1800000,900000,1
+c_tower4.gat,37,159,0,0 monster Mimic 1191,1,1800000,900000,1
+c_tower4.gat,31,139,0,0 monster Mimic 1191,1,1800000,900000,1
+c_tower4.gat,104,14,0,0 monster Mimic 1191,1,1800000,900000,1
+c_tower4.gat,104,27,0,0 monster Mimic 1191,1,900000,400000,1
+c_tower4.gat,105,24,0,0 monster Mimic 1191,1,900000,400000,1
+c_tower4.gat,205,105,0,0 monster Mimic 1191,1,1800000,900000,1
+c_tower4.gat,257,109,0,0 monster Mimic 1191,1,1800000,900000,1
+c_tower4.gat,148,85,0,0 monster Mimic 1191,1,1800000,900000,1
+c_tower4.gat,189,51,0,0 monster Mimic 1191,1,1800000,900000,1
+c_tower4.gat,170,34,0,0 monster Mimic 1191,1,1800000,900000,1
+c_tower4.gat,42,41,0,0 monster Executioner 1205,1,7200000,3600000,1
diff --git a/npc/eamobs/dungeons/coalmine.txt b/npc/eamobs/dungeons/coalmine.txt
new file mode 100644
index 000000000..f4754e5b4
--- /dev/null
+++ b/npc/eamobs/dungeons/coalmine.txt
@@ -0,0 +1,37 @@
+//===== eAthena Script =======================================
+//= Coal Mine(Dead pit) Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.1 (custom spawns)
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.1 Changed to eAthena custom spawns [Playtester]
+//============================================================
+
+// mjo_dun01
+
+mjo_dun01.gat,0,0,0,0 monster Familiar 1005,25,0,0,0
+mjo_dun01.gat,0,0,0,0 monster Tarou 1175,40,0,0,0
+mjo_dun01.gat,0,0,0,0 monster Martin 1145,15,0,0,0
+mjo_dun01.gat,0,0,0,0 monster Andre 1095,10,0,0,0
+mjo_dun01.gat,0,0,0,0 monster Smokie 1056,10,0,0,0
+mjo_dun01.gat,0,0,0,0 monster Piere 1160,10,0,0,0
+
+// mjo_dun02
+
+mjo_dun02.gat,0,0,0,0 monster Martin 1145,50,0,0,0
+mjo_dun02.gat,0,0,0,0 monster Deniro 1105,10,0,0,0
+mjo_dun02.gat,0,0,0,0 monster Drainliar 1111,20,0,0,0
+mjo_dun02.gat,0,0,0,0 monster Skeleton Worker 1169,20,0,0,0
+mjo_dun02.gat,0,0,0,0 monster Giearth 1121,35,30000,10000,0
+
+// mjo_dun03
+
+mjo_dun03.gat,0,0,0,0 monster Martin 1145,10,0,0,0
+mjo_dun03.gat,0,0,0,0 monster Drainliar 1111,10,0,0,0
+mjo_dun03.gat,0,0,0,0 monster Skeleton Worker 1169,55,0,0,0
+mjo_dun03.gat,0,0,0,0 monster Giearth 1121,10,0,0,0
+mjo_dun03.gat,0,0,0,0 monster Myst 1151,30,0,0,0
+mjo_dun03.gat,0,0,0,0 monster Evil Druid 1117,3,600000,300000,0
diff --git a/npc/eamobs/dungeons/eindun.txt b/npc/eamobs/dungeons/eindun.txt
new file mode 100644
index 000000000..e62512a74
--- /dev/null
+++ b/npc/eamobs/dungeons/eindun.txt
@@ -0,0 +1,32 @@
+//===== eAthena Script =======================================
+//= Einbroch Dungeon (Mine) Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.0 spawn N and spawn delays aren't yet correct, so I set
+//= respawn delays quite big for now [Lupus]
+//= 1.1 Fixed monsters spawn places
+//= 1.1a Reduced RSX's respawn delay value []
+//= 1.2 Update monster spawn numbers according to info on [MasterOfMuppets]
+//= emperium.org
+//============================================================
+
+//(ein_dun01.gat)*
+ein_dun01.gat,0,0,0,0 monster Noxious 1620,40,10000,10000,0
+ein_dun01.gat,0,0,0,0 monster Venomous 1621,20,10000,10000,0
+ein_dun01.gat,0,0,0,0 monster Waste Stove 1617,5,60000,120000,0
+ein_dun01.gat,0,0,0,0 monster Porcellio 1619,30,0,0,0
+ein_dun01.gat,0,0,0,0 monster Pitman 1616,55,0,0,0
+ein_dun01.gat,0,0,0,0 monster Ungoliant 1618,1,3600000,3600000,0
+
+//(ein_dun02.gat)*
+ein_dun02.gat,0,0,0,0 monster Teddy Bear 1622,30,0,0
+ein_dun02.gat,0,0,0,0 monster Obsidian 1615,40,0,0,0
+ein_dun02.gat,0,0,0,0 monster Mineral 1614,50,0,0,0
+ein_dun02.gat,0,0,0,0 monster Waste Stove 1617,30,0,0,0
+ein_dun02.gat,0,0,0,0 monster Venomous 1621,20,0,0,0
+ein_dun02.gat,163,137,50,50 monster RSX 0806 1623,1,14400000,14400000,0
diff --git a/npc/eamobs/dungeons/gefenia.txt b/npc/eamobs/dungeons/gefenia.txt
new file mode 100644
index 000000000..113091429
--- /dev/null
+++ b/npc/eamobs/dungeons/gefenia.txt
@@ -0,0 +1,133 @@
+//===== eAthena Script =======================================
+//= Gefenia Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Muad_Dib
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= Added 1st Version. [Muad_Dib]
+//= Conversion to eA [MasterOfMuppets]
+//= Updated spawns, information from emperium.org [MasterOfMuppets]
+//= Kept the old spawns incase someone would want them.
+//============================================================
+
+//========================================================================================
+// - Gefenia Dungeon 01
+//========================================================================================
+gefenia01.gat,0,0,0,0 monster Fake Angel 1371,60,0,0,0
+gefenia01.gat,0,0,0,0 monster Violy 1390,30,0,0,0
+gefenia01.gat,0,0,0,0 monster Mini Demon 1292,20,0,0,0
+gefenia01.gat,0,0,0,0 monster Abyssmal Knight 1219,10,0,0,0
+gefenia01.gat,0,0,0,0 monster Succubus 1370,10,0,0,0
+gefenia01.gat,0,0,0,0 monster Incubus 1374,10,0,0,0
+gefenia01.gat,0,0,0,0 monster Bloody Knight 1268,1,3600000,1800000,0
+gefenia01.gat,0,0,0,0 monster Mysteltainn 1203,1,3600000,1800000,0
+gefenia01.gat,0,0,0,0 monster Tyrfing 1204,1,3600000,1800000,0
+gefenia01.gat,0,0,0,0 monster Executioner 1205,1,3600000,1800000,0
+
+//========================================================================================
+// - Gefenia Dungeon 02
+//========================================================================================
+gefenia02.gat,0,0,0,0 monster Fake Angel 1371,30,0,0,0
+gefenia02.gat,0,0,0,0 monster Violy 1390,40,0,0,0
+gefenia02.gat,0,0,0,0 monster Mini Demon 1292,30,0,0,0
+gefenia02.gat,0,0,0,0 monster Abyssmal Knight 1219,10,0,0,0
+gefenia02.gat,0,0,0,0 monster Succubus 1370,20,0,0,0
+gefenia02.gat,0,0,0,0 monster Incubus 1374,10,0,0,0
+gefenia02.gat,0,0,0,0 monster Bloody Knight 1268,1,3600000,1800000,0
+gefenia02.gat,0,0,0,0 monster Mysteltainn 1203,1,3600000,1800000,0
+gefenia02.gat,0,0,0,0 monster Tyrfing 1204,1,3600000,1800000,0
+gefenia02.gat,0,0,0,0 monster Executioner 1205,1,3600000,1800000,0
+
+
+//========================================================================================
+// - Gefenia Dungeon 03
+//========================================================================================
+gefenia03.gat,0,0,0,0 monster Fake Angel 1371,40,0,0,0
+gefenia03.gat,0,0,0,0 monster Violy 1390,40,0,0,0
+gefenia03.gat,0,0,0,0 monster Mini Demon 1292,30,0,0,0
+gefenia03.gat,0,0,0,0 monster Abyssmal Knight 1219,10,0,0,0
+gefenia03.gat,0,0,0,0 monster Succubus 1370,10,0,0,0
+gefenia03.gat,0,0,0,0 monster Incubus 1374,20,0,0,0
+gefenia03.gat,0,0,0,0 monster Bloody Knight 1268,1,3600000,1800000,0
+gefenia03.gat,0,0,0,0 monster Mysteltainn 1203,1,3600000,1800000,0
+gefenia03.gat,0,0,0,0 monster Tyrfing 1204,1,3600000,1800000,0
+gefenia03.gat,0,0,0,0 monster Executioner 1205,1,3600000,1800000,0
+
+
+//========================================================================================
+// - Gefenia Dungeon 04
+//========================================================================================
+gefenia04.gat,0,0,0,0 monster Fake Angel 1371,30,0,0,0
+gefenia04.gat,0,0,0,0 monster Violy 1390,30,0,0,0
+gefenia04.gat,0,0,0,0 monster Mini Demon 1292,20,0,0,0
+gefenia04.gat,0,0,0,0 monster Abyssmal Knight 1219,10,0,0,0
+gefenia04.gat,0,0,0,0 monster Succubus 1370,10,0,0,0
+gefenia04.gat,0,0,0,0 monster Incubus 1374,10,0,0,0
+gefenia04.gat,0,0,0,0 monster Bloody Knight 1268,1,3600000,1800000,0
+gefenia04.gat,0,0,0,0 monster Mysteltainn 1203,1,3600000,1800000,0
+gefenia04.gat,0,0,0,0 monster Tyrfing 1204,1,3600000,1800000,0
+gefenia04.gat,0,0,0,0 monster Executioner 1205,1,3600000,1800000,0
+
+
+
+//The spawns bellow, are old ones used in events.
+
+//========================================================================================
+// - Gefenia Dungeon 01(old)
+//========================================================================================
+//gefenia01.gat,0,0,0,0 monster Fake Angel 1371,10,0,0,0
+//gefenia01.gat,0,0,0,0 monster Mini Demon 1292,6,300000,0,0
+//gefenia01.gat,0,0,0,0 monster Apolcalips 1365,4,300000,0,0
+//gefenia01.gat,0,0,0,0 monster Elder 1377,10,300000,0,1
+//gefenia01.gat,0,0,0,0 monster Abyssmal Knight 1219,3,1800000,900000,1
+//gefenia01.gat,0,0,0,0 monster Bloody Knight 1268,2,300000,0,0
+//gefenia01.gat,0,0,0,0 monster Poring 1502,1,0,0,0
+//gefenia01.gat,0,0,0,0 monster Executioner 1205,1,3600000,1800000,0
+//gefenia01.gat,0,0,0,0 monster Mysteltainn 1203,1,7200000,3600000,1
+
+//========================================================================================
+// - Gefenia Dungeon 02(old)
+//========================================================================================
+//gefenia02.gat,0,0,0,0 monster Fake Angel 1371,10,0,0,0
+//gefenia02.gat,0,0,0,0 monster Succubus 1370,6,0,0,0
+//gefenia02.gat,0,0,0,0 monster Incubus 1374,6,0,0,0
+//gefenia02.gat,0,0,0,0 monster Mini Demon 1292,10,300000,0,0
+//gefenia02.gat,0,0,0,0 monster Apolcalips 1365,8,300000,0,0
+//gefenia02.gat,0,0,0,0 monster Abyssmal Knight 1219,2,1800000,900000,1
+//gefenia02.gat,0,0,0,0 monster Bloody Knight 1268,5,300000,0,0
+//gefenia02.gat,0,0,0,0 monster Poring 1502,1,0,0,0
+//gefenia02.gat,0,0,0,0 monster Gryphon 1259,1,3600000,1800000,0
+//gefenia02.gat,0,0,0,0 monster Chimera 1283,1,7200000,3600000,1
+
+//========================================================================================
+// - Gefenia Dungeon 03(old)
+//========================================================================================
+//gefenia03.gat,0,0,0,0 monster Fake Angel 1371,4,0,0,0
+//gefenia03.gat,0,0,0,0 monster Succubus 1370,5,0,0,0
+//gefenia03.gat,0,0,0,0 monster Incubus 1374,5,0,0,0
+//gefenia03.gat,0,0,0,0 monster Mini Demon 1292,10,300000,0,0
+//gefenia03.gat,0,0,0,0 monster Apolcalips 1365,6,300000,0,0
+//gefenia03.gat,0,0,0,0 monster Elder 1377,10,300000,0,1
+//gefenia03.gat,0,0,0,0 monster Abyssmal Knight 1219,3,1800000,900000,1
+//gefenia03.gat,0,0,0,0 monster Bloody Knight 1268,2,300000,0,0
+//gefenia03.gat,0,0,0,0 monster Poring 1502,1,0,0,0
+//gefenia03.gat,0,0,0,0 monster Dark Illusion 1302,1,300000,0,0
+//gefenia03.gat,0,0,0,0 monster Owl Baron 1295,1,0,0,0
+
+//========================================================================================
+// - Gefenia Dungeon 04(old)
+//========================================================================================
+
+//gefenia04.gat,0,0,0,0 monster Fake Angel 1371,10,0,0,0
+//gefenia04.gat,0,0,0,0 monster Succubus 1370,5,0,0,0
+//gefenia04.gat,0,0,0,0 monster Incubus 1374,3,0,0,0
+//gefenia04.gat,0,0,0,0 monster Apolcalips 1365,4,300000,0,0
+//gefenia04.gat,0,0,0,0 monster Abyssmal Knight 1219,5,1800000,900000,1
+//gefenia04.gat,0,0,0,0 monster Bloody Knight 1268,2,300000,0,0
+//gefenia04.gat,0,0,0,0 monster Poring 1502,1,0,0,0
+//gefenia04.gat,0,0,0,0 monster Archangeling 1388,1,3600000,1800000,1
+//gefenia04.gat,0,0,0,0 monster Maya Purple 1289,1,1200000,0,0
+//gefenia04.gat,0,0,0,0 monster Cat O' Nine Tail 1307,1,0,0,0
diff --git a/npc/eamobs/dungeons/geftower.txt b/npc/eamobs/dungeons/geftower.txt
new file mode 100644
index 000000000..230b0ecaf
--- /dev/null
+++ b/npc/eamobs/dungeons/geftower.txt
@@ -0,0 +1,88 @@
+//===== eAthena Script =======================================
+//= Geffen Tower Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.2 (custom spawns)
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.2 Changed to eAthena custom spawns [Playtester]
+//============================================================
+
+// Gef_dun00
+
+gef_dun00.gat,0,0,0,0 monster Familiar 1005,10,0,0,0
+gef_dun00.gat,0,0,0,0 monster Zombie 1015,10,0,0,0
+gef_dun00.gat,0,0,0,0 monster Poporing 1031,10,0,0,0
+gef_dun00.gat,0,0,0,0 monster Poison Spore 1077,24,0,0,0
+gef_dun00.gat,0,0,0,0 monster Argos 1100,10,0,0,0
+gef_dun00.gat,0,0,0,0 monster Dustiness 1114,10,0,0,0
+gef_dun00.gat,0,0,0,0 monster Hunter Fly 1035,1,600000,300000,0
+gef_dun00.gat,91,106,0,0 monster Red Plant 1078,1,600000,300000,0
+gef_dun00.gat,92,108,0,0 monster Yellow Plant 1081,1,600000,300000,0
+gef_dun00.gat,114,106,0,0 monster Green Plant 1080,1,600000,300000,0
+gef_dun00.gat,0,0,0,0 monster Red Plant 1078,1,600000,300000,0
+gef_dun00.gat,0,0,0,0 monster Shining Plant 1083,1,3000000,1500000,0
+gef_dun00.gat,0,0,0,0 monster Red Plant 1078,10,600000,300000,1
+gef_dun00.gat,89,111,3,3 monster Black Mushroom 1084,3,600000,300000,1
+gef_dun00.gat,121,109,3,3 monster Black Mushroom 1084,3,600000,300000,1
+
+// Gef_dun01
+
+gef_dun01.gat,0,0,0,0 monster Zombie 1015,25,0,0,0
+gef_dun01.gat,0,0,0,0 monster Drainliar 1111,30,0,0,0
+gef_dun01.gat,0,0,0,0 monster Whisper 1179,10,0,0,0
+gef_dun01.gat,0,0,0,0 monster Ghoul 1036,35,0,0,0
+gef_dun01.gat,0,0,0,0 monster Myst 1151,10,0,0,0
+gef_dun01.gat,0,0,0,0 monster Jakk 1130,30,300000,150000,0
+gef_dun01.gat,0,0,0,0 monster Nightmare 1061,15,0,0,0
+gef_dun01.gat,0,0,0,0 monster Tyrfing 1204,1,1800000,1200000,0
+gef_dun01.gat,0,0,0,0 monster Dracula 1389,1,3600000,1800000,1
+gef_dun01.gat,234,121,0,0 monster Blue Plant 1079,1,600000,300000,0
+gef_dun01.gat,0,0,0,0 monster Black Mushroom 1084,5,600000,300000,1
+gef_dun01.gat,188,104,10,10 monster White Plant 1082,3,600000,300000,1
+gef_dun01.gat,263,115,10,10 monster White Plant 1082,3,600000,300000,1
+gef_dun01.gat,48,67,10,10 monster White Plant 1082,2,600000,300000,1
+gef_dun01.gat,150,237,10,10 monster White Plant 1082,2,600000,300000,1
+
+// Gef_dun02
+
+gef_dun02.gat,0,0,0,0 monster Whisper 1179,20,0,0,0
+gef_dun02.gat,0,0,0,0 monster Ghoul 1036,20,0,0,0
+gef_dun02.gat,0,0,0,0 monster Marionette 1143,20,0,0,0
+gef_dun02.gat,0,0,0,0 monster Bathory 1102,10,0,0,0
+gef_dun02.gat,0,0,0,0 monster Hunter Fly 1035,10,0,0,0
+gef_dun02.gat,0,0,0,0 monster Nightmare 1061,30,300000,150000,0
+gef_dun02.gat,0,0,0,0 monster Deviruchi 1109,25,0,0,0
+gef_dun02.gat,0,0,0,0 monster Doppelganger 1046,1,7200000,3600000,1
+gef_dun02.gat,214,212,10,10 monster White Plant 1082,3,600000,300000,1
+gef_dun02.gat,215,67,10,10 monster White Plant 1082,3,600000,300000,1
+gef_dun02.gat,72,210,20,20 monster White Plant 1082,3,600000,300000,1
+gef_dun02.gat,106,151,20,7 monster White Plant 1082,3,600000,300000,1
+gef_dun02.gat,58,167,10,10 monster Shining Plant 1083,1,1800000,900000,1
+gef_dun02.gat,185,83,3,3 monster Shining Plant 1083,1,1800000,900000,1
+
+// Gef_dun03
+//gef_dun03.gat,0,0,0,0 monster Baphomet 1039,1,7200000,7200000,1
+//gef_dun03.gat,0,0,0,0 monster Doppelganger 1046,1,7200000,7200000,1
+gef_dun03.gat,0,0,0,0 monster Deviruchi 1109,8,0,0,0
+gef_dun03.gat,0,0,0,0 monster Joker 1131,5,300000,100000,0
+gef_dun03.gat,0,0,0,0 monster Khalitzburg 1132,2,0,0,0
+gef_dun03.gat,0,0,0,0 monster Knight of Abyss 1219,2,300000,0,0
+//gef_dun03.gat,0,0,0,0 monster Gryphon 1259,1,7200000,3600000,1
+gef_dun03.gat,0,0,0,0 monster Blood Knight 1268,2,300000,0,0
+//gef_dun03.gat,0,0,0,0 monster Dark Lord 1272,1,7200000,7200000,1
+gef_dun03.gat,0,0,0,0 monster Alice 1275,3,0,0,0
+//gef_dun03.gat,0,0,0,0 monster Chimera 1283,1,7200000,7200000,1
+gef_dun03.gat,0,0,0,0 monster Mini Demon 1292,2,300000,0,0
+gef_dun03.gat,0,0,0,0 monster Dark Illusion 1302,2,300000,0,0
+gef_dun03.gat,0,0,0,0 monster Apocalypse 1365,2,300000,0,0
+gef_dun03.gat,0,0,0,0 monster Succubus 1370,10,0,0,0
+gef_dun03.gat,0,0,0,0 monster Fake Angel 1371,8,0,0,0
+//gef_dun03.gat,0,0,0,0 monster Lord of Death 1373,1,7200000,7200000,1
+gef_dun03.gat,0,0,0,0 monster Incubus 1374,10,0,0,0
+gef_dun03.gat,0,0,0,0 monster Nightmare Terror 1379,3,0,0,0
+gef_dun03.gat,0,0,0,0 monster Violy 1390,10,0,0,0
+gef_dun03.gat,0,0,0,0 monster Shining Plant 1083,3,1800000,900000,1
+gef_dun03.gat,0,0,0,0 monster White Plant 1082,10,180000,90000,1
diff --git a/npc/eamobs/dungeons/glastheim.txt b/npc/eamobs/dungeons/glastheim.txt
new file mode 100644
index 000000000..e4cec1a67
--- /dev/null
+++ b/npc/eamobs/dungeons/glastheim.txt
@@ -0,0 +1,271 @@
+//===== eAthena Script =======================================
+//= Glast Heim Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.3 (custom spawns)
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.1 [Lupus]
+//= 1.2 Updated to ep 8.5 aegis spawns [MasterOfMuppets]
+//= 1.3 Changed to eAthena custom spawns [Playtester]
+//============================================================
+
+// Glast Heim ( gl_cas01.gat )
+
+gl_cas01.gat,0,0,0,0 monster Sage Worm 1281,40,0,0,0
+gl_cas01.gat,0,0,0,0 monster Carat 1267,40,0,0,0
+gl_cas01.gat,0,0,0,0 monster Rideword 1195,15,0,0,0
+gl_cas01.gat,0,0,0,0 monster Dark Frame 1260,20,0,0,0
+gl_cas01.gat,0,0,0,0 monster Whisper 1179,20,0,0,0
+gl_cas01.gat,0,0,0,0 monster Alice 1275,1,0,0,0
+gl_cas01.gat,0,0,0,0 monster Tyrfing 1204,1,7200000,3600000,1
+gl_cas01.gat,0,0,0,0 monster Owl Baron 1295,3,0,0,1
+
+// Glast Heim ( gl_cas02.gat )
+
+gl_cas02.gat,0,0,0,0 monster Wanderer 1208,20,0,0,0
+gl_cas02.gat,0,0,0,0 monster Raydric 1163,40,0,0,0
+gl_cas02.gat,0,0,0,0 monster Rideword 1195,10,0,0,0
+gl_cas02.gat,0,0,0,0 monster Raydric Archer 1276,19,0,0,0
+gl_cas02.gat,193,167,5,5 monster Raydric 1163,3,600000,300000,0
+gl_cas02.gat,193,135,5,5 monster Raydric 1163,3,600000,300000,0
+gl_cas02.gat,104,145,5,5 monster Mysteltainn 1203,1,7200000,3600000,1
+gl_cas02.gat,102,180,0,0 monster Whisper 1185,1,1800000,900000,1
+gl_cas02.gat,105,180,0,0 monster Whisper 1185,1,1800000,900000,1
+gl_cas02.gat,182,12,3,3 monster Chimera 1283,1,3600000,1800000,1
+gl_cas02.gat,185,11,8,8 monster Rideword 1195,4,600000,300000,1
+gl_cas02.gat,174,11,8,8 monster Evil Druid 1117,4,600000,300000,1
+gl_cas02.gat,104,38,4,4 monster Knight of Abyss 1219,1,1800000,900000,1
+gl_cas02.gat,24,35,4,4 monster Knight of Abyss 1219,1,1800000,900000,1
+gl_cas02.gat,46,124,15,15 monster Rideword 1195,15,600000,300000,1
+gl_cas02.gat,16,186,10,10 monster Evil Druid 1117,5,600000,300000,1
+gl_cas02.gat,133,83,3,3 monster Khalitzburg 1132,1,600000,300000,1
+gl_cas02.gat,45,177,3,3 monster Khalitzburg 1132,1,600000,300000,1
+gl_cas02.gat,182,65,3,3 monster Khalitzburg 1132,1,600000,300000,1
+gl_cas02.gat,173,127,3,3 monster Khalitzburg 1132,1,600000,300000,1
+gl_cas02.gat,173,167,3,3 monster Khalitzburg 1132,1,600000,300000,1
+gl_cas02.gat,93,177,3,3 monster Knight of Abyss 1219,1,1800000,900000,1
+gl_cas02.gat,115,177,3,3 monster Knight of Abyss 1219,1,1800000,900000,1
+gl_cas02.gat,83,84,2,2 monster Mimic 1191,1,600000,300000,1
+gl_cas02.gat,83,80,2,2 monster Mimic 1191,1,600000,300000,1
+gl_cas02.gat,0,0,0,0 monster Tyrfing 1204,1,7200000,3600000,1
+gl_cas02.gat,0,0,0,0 monster Alice 1275,1,0,0,0
+gl_cas02.gat,189,20,1,1 monster Khalitzburg 1132,1,600000,300000,0
+gl_cas02.gat,190,23,1,1 monster Wanderer 1208,1,600000,300000,0
+gl_cas02.gat,190,38,1,1 monster Raydric Archer 1276,1,600000,300000,0
+
+// Glast Heim ( gl_in01.gat )
+
+gl_in01.gat,41,155,40,45 monster Marionette 1143,5,0,0,0
+gl_in01.gat,156,147,34,42 monster Marionette 1143,5,0,0,0
+gl_in01.gat,42,48,41,32 monster Marionette 1143,5,0,0,0
+gl_in01.gat,154,44,36,33 monster Marionette 1143,5,0,0,0
+gl_in01.gat,42,154,40,45 monster Rideword 1195,2,0,0,0
+gl_in01.gat,155,143,34,42 monster Rideword 1195,1,0,0,0
+gl_in01.gat,41,47,41,32 monster Rideword 1195,3,0,0,0
+gl_in01.gat,152,44,36,33 monster Rideword 1195,2,0,0,0
+gl_in01.gat,0,0,0,0 monster Wanderer 1208,1,0,0,0
+gl_in01.gat,0,0,0,0 monster Alice 1275,1,0,0,0
+gl_in01.gat,0,0,0,0 monster Owl Duke 1320,1,0,0,0
+gl_in01.gat,40,150,40,45 monster Dark Frame 1260,3,0,0,0
+gl_in01.gat,153,146,34,42 monster Dark Frame 1260,2,0,0,0
+gl_in01.gat,43,45,41,32 monster Dark Frame 1260,2,0,0,0
+gl_in01.gat,153,44,36,33 monster Dark Frame 1260,3,0,0,0
+gl_in01.gat,41,154,40,45 monster Sage Worm 1281,3,0,0,0
+gl_in01.gat,155,147,34,42 monster Sage Worm 1281,5,0,0,0
+gl_in01.gat,42,47,41,32 monster Sage Worm 1281,3,0,0,0
+gl_in01.gat,153,44,36,33 monster Sage Worm 1281,3,0,0,0
+
+// Glast Heim ( gl_prison.gat )
+
+gl_prison.gat,0,0,0,0 monster Whisper 1179,7,0,0,0
+gl_prison.gat,0,0,0,0 monster Brilight 1211,15,0,0,0
+gl_prison.gat,0,0,0,0 monster Hunter Fly 1035,8,0,0,0
+gl_prison.gat,0,0,0,0 monster Injustice 1257,10,0,0,0
+gl_prison.gat,0,0,0,0 monster Skeleton Prisoner 1196,20,0,0,0
+gl_prison.gat,0,0,0,0 monster Zombie Prisoner 1197,25,0,0,0
+gl_prison.gat,0,0,0,0 monster Rybio 1201,5,0,0,0
+
+// Glast Heim ( gl_prison1.gat )
+
+gl_prison1.gat,0,0,0,0 monster Cramp 1209,15,0,0,0
+gl_prison1.gat,0,0,0,0 monster Injustice 1257,40,0,0,0
+gl_prison1.gat,0,0,0,0 monster Skeleton Prisoner 1196,10,0,0,0
+gl_prison1.gat,0,0,0,0 monster Arclouse 1194,10,0,0,0
+gl_prison1.gat,0,0,0,0 monster Rybio 1201,20,0,0,0
+gl_prison1.gat,0,0,0,0 monster Zealotus 1200,1,3600000,1800000,1
+gl_prison1.gat,0,0,0,0 monster Phendark 1202,10,0,0,0
+
+// Glastheim
+
+glast_01.gat,0,0,0,0 monster Poison Spore 1077,10,0,0,0
+glast_01.gat,0,0,0,0 monster Myst 1151,5,0,0,0
+glast_01.gat,0,0,0,0 monster Jakk 1130,5,0,0,0
+glast_01.gat,0,0,0,0 monster Bathory 1102,5,0,0,0
+glast_01.gat,0,0,0,0 monster Gargoyle 1253,10,0,0,1
+glast_01.gat,0,0,0,0 monster Knight of Abyss 1219,1,600000,300000,1
+
+// Glast Heim ( gl_church.gat )
+
+gl_church.gat,0,0,0,0 monster Whisper 1179,10,0,0,0
+gl_church.gat,0,0,0,0 monster Ghoul 1036,44,0,0,0
+gl_church.gat,0,0,0,0 monster Brilight 1211,10,0,0,0
+gl_church.gat,0,0,0,0 monster Nightmare 1061,10,0,0,0
+gl_church.gat,0,0,0,0 monster Mimic 1191,10,0,0,0
+gl_church.gat,0,0,0,0 monster Evil Druid 1117,25,0,0,0
+gl_church.gat,0,0,0,0 monster Wraith 1192,5,0,0,0
+gl_church.gat,0,0,0,0 monster Joker 1131,1,0,0,0
+gl_church.gat,0,0,0,0 monster Dark Illusion 1302,1,3600000,1800000,0
+gl_church.gat,155,92,10,10 monster Mimic 1191,1,600000,300000,0
+gl_church.gat,155,75,10,10 monster Mimic 1191,2,600000,300000,0
+gl_church.gat,155,54,10,10 monster Mimic 1191,1,600000,300000,0
+
+// Glast Heim ( gl_chyard.gat )
+
+gl_chyard.gat,0,0,0,0 monster Zombie 1015,25,0,0,0
+gl_chyard.gat,0,0,0,0 monster Ghoul 1036,30,0,0,0
+gl_chyard.gat,0,0,0,0 monster Hunter Fly 1035,15,0,0,0
+gl_chyard.gat,0,0,0,0 monster Skeleton Prisoner 1196,10,0,0,0
+gl_chyard.gat,0,0,0,0 monster Mimic 1191,3,0,0,0
+gl_chyard.gat,0,0,0,0 monster Zombie Prisoner 1197,10,0,0,0
+gl_chyard.gat,0,0,0,0 monster Evil Druid 1117,10,0,0,0
+gl_chyard.gat,0,0,0,0 monster Wraith 1192,20,0,0,0
+gl_chyard.gat,0,0,0,0 monster Dark Lord 1272,1,3600000,1800000,1
+
+// Glast Heim down 1 ( gl_sew01.gat )
+
+gl_sew01.gat,0,0,0,0 monster Drainliar 1111,10,0,0,0
+gl_sew01.gat,0,0,0,0 monster Whisper 1179,30,0,0,0
+gl_sew01.gat,0,0,0,0 monster Gargoyle 1253,20,0,0,0
+gl_sew01.gat,0,0,0,0 monster Cramp 1209,10,0,0,0
+gl_sew01.gat,0,0,0,0 monster Wind Ghost 1263,10,0,0,0
+
+// Glast Heim down 2 ( gl_sew02.gat )
+
+gl_sew02.gat,0,0,0,0 monster Drainliar 1111,15,0,0,0
+gl_sew02.gat,0,0,0,0 monster Gargoyle 1253,25,0,0,0
+gl_sew02.gat,0,0,0,0 monster Cramp 1209,15,0,0,0
+gl_sew02.gat,0,0,0,0 monster Wind Ghost 1263,10,0,0,0
+gl_sew02.gat,0,0,0,0 monster Anolian 1206,10,0,0,0
+
+// Glast Heim down 3 ( gl_sew03.gat )
+
+gl_sew03.gat,0,0,0,0 monster Gargoyle 1253,27,0,0,0
+gl_sew03.gat,0,0,0,0 monster Cramp 1209,25,0,0,0
+gl_sew03.gat,0,0,0,0 monster Wind Ghost 1263,20,0,0,0
+gl_sew03.gat,0,0,0,0 monster Sting 1207,35,0,0,0
+gl_sew03.gat,147,7,5,1 monster Gargoyle 1253,1,2400000,1800000,0
+gl_sew03.gat,140,7,5,1 monster Gargoyle 1253,1,3600000,1800000,0
+gl_sew03.gat,158,7,5,1 monster Gargoyle 1253,1,3600000,1800000,0
+
+// Glast Heim down 4 ( gl_sew04.gat )
+
+gl_sew04.gat,0,0,0,0 monster Drainliar 1111,5,0,0,0
+gl_sew04.gat,0,0,0,0 monster Gargoyle 1253,15,0,0,0
+gl_sew04.gat,0,0,0,0 monster Wind Ghost 1263,20,0,0,0
+gl_sew04.gat,0,0,0,0 monster Sting 1207,25,0,0,0
+gl_sew04.gat,0,0,0,0 monster Anolian 1206,25,0,0,0
+
+// Glast Heim ( gl_step.gat )
+
+gl_step.gat,0,0,0,0 monster Raydric Archer 1276,25,0,0,0
+gl_step.gat,0,0,0,0 monster Wind Ghost 1263,40,0,0,0
+gl_step.gat,0,0,0,0 monster Mimic 1191,10,600000,300000,0
+gl_step.gat,0,0,0,0 monster Wraith 1192,15,0,0,0
+
+// Glast Heim ( gl_knt01.gat )
+
+gl_knt01.gat,0,0,0,0 monster Raydric Archer 1276,20,0,0,0
+gl_knt01.gat,0,0,0,0 monster Raydric 1163,50,0,0,0
+gl_knt01.gat,0,0,0,0 monster Khalitzburg 1132,10,0,0,0
+gl_knt01.gat,0,0,0,0 monster Knight of Abyss 1219,2,0,0,0
+gl_knt01.gat,0,0,0,0 monster Alice 1275,1,0,0,0
+gl_knt01.gat,21,278,0,0 monster Giant Whisper 1186,1,3600000,1800000,1
+gl_knt01.gat,122,266,0,0 monster Rideword 1195,1,600000,300000,1
+gl_knt01.gat,33,120,30,30 monster Rideword 1195,9,600000,300000,1
+gl_knt01.gat,26,223,20,20 monster Rideword 1195,9,600000,300000,1
+gl_knt01.gat,117,271,0,0 monster Evil Druid 1117,1,600000,300000,1
+gl_knt01.gat,118,266,0,0 monster Evil Druid 1117,1,600000,300000,1
+gl_knt01.gat,121,274,0,0 monster Evil Druid 1117,1,600000,300000,1
+gl_knt01.gat,124,266,0,0 monster Evil Druid 1117,1,600000,300000,1
+gl_knt01.gat,126,271,0,0 monster Evil Druid 1117,1,600000,300000,1
+gl_knt01.gat,272,263,25,25 monster Brilight 1211,10,600000,300000,1
+gl_knt01.gat,235,238,0,0 monster Mandragora 1020,1,600000,300000,1
+gl_knt01.gat,235,239,0,0 monster Mandragora 1020,1,600000,300000,1
+gl_knt01.gat,235,240,0,0 monster Mandragora 1020,1,600000,300000,1
+gl_knt01.gat,235,241,0,0 monster Mandragora 1020,1,600000,300000,1
+gl_knt01.gat,235,242,0,0 monster Mandragora 1020,1,600000,300000,1
+gl_knt01.gat,235,243,0,0 monster Mandragora 1020,1,600000,300000,1
+gl_knt01.gat,235,244,0,0 monster Mandragora 1020,1,600000,300000,1
+gl_knt01.gat,235,245,0,0 monster Mandragora 1020,1,600000,300000,1
+gl_knt01.gat,243,233,0,0 monster Mandragora 1020,1,600000,300000,1
+gl_knt01.gat,243,254,0,0 monster Mandragora 1020,1,600000,300000,1
+gl_knt01.gat,243,263,0,0 monster Mandragora 1020,1,600000,300000,1
+gl_knt01.gat,244,258,0,0 monster Mandragora 1020,1,600000,300000,1
+gl_knt01.gat,259,239,0,0 monster Mandragora 1020,1,600000,300000,1
+gl_knt01.gat,264,239,0,0 monster Mandragora 1020,1,600000,300000,1
+gl_knt01.gat,269,239,0,0 monster Mandragora 1020,1,600000,300000,1
+gl_knt01.gat,278,239,0,0 monster Mandragora 1020,1,600000,300000,1
+gl_knt01.gat,283,239,0,0 monster Mandragora 1020,1,600000,300000,1
+gl_knt01.gat,288,239,0,0 monster Mandragora 1020,1,600000,300000,1
+gl_knt01.gat,292,233,0,0 monster Mandragora 1020,1,600000,300000,1
+gl_knt01.gat,48,13,0,0 monster Mandragora 1020,1,600000,300000,1
+gl_knt01.gat,56,206,0,0 monster Mandragora 1020,1,600000,300000,1
+gl_knt01.gat,93,224,0,0 monster Mandragora 1020,1,600000,300000,1
+gl_knt01.gat,265,155,0,0 monster Flora 1118,1,600000,300000,1
+gl_knt01.gat,9,184,0,0 monster Black Mushroom 1084,1,3600000,1800000,1
+gl_knt01.gat,8,184,0,0 monster Black Mushroom 1084,1,3600000,1800000,1
+gl_knt01.gat,7,184,0,0 monster Black Mushroom 1084,1,3600000,1800000,1
+gl_knt01.gat,6,184,0,0 monster Black Mushroom 1084,1,3600000,1800000,1
+gl_knt01.gat,5,184,0,0 monster Black Mushroom 1084,1,3600000,1800000,1
+gl_knt01.gat,4,184,0,0 monster Black Mushroom 1084,1,3600000,1800000,1
+gl_knt01.gat,9,185,0,0 monster Black Mushroom 1084,1,3600000,1800000,1
+gl_knt01.gat,8,185,0,0 monster Black Mushroom 1084,1,3600000,1800000,1
+gl_knt01.gat,7,185,0,0 monster Black Mushroom 1084,1,3600000,1800000,1
+gl_knt01.gat,6,185,0,0 monster Black Mushroom 1084,1,3600000,1800000,1
+gl_knt01.gat,5,185,0,0 monster Black Mushroom 1084,1,3600000,1800000,1
+gl_knt01.gat,4,185,0,0 monster Black Mushroom 1084,1,3600000,1800000,1
+
+// Glast Heim ( gl_knt02.gat )
+
+gl_knt02.gat,0,0,0,0 monster Whisper 1179,10,0,0,0
+gl_knt02.gat,0,0,0,0 monster Raydric Archer 1276,20,0,0,0
+gl_knt02.gat,0,0,0,0 monster Raydric 1163,40,0,0,0
+gl_knt02.gat,0,0,0,0 monster Joker 1131,1,0,0,0
+gl_knt02.gat,0,0,0,0 monster Khalitzburg 1132,29,0,0,0
+gl_knt02.gat,0,0,0,0 monster Bloody Knight 1268,1,3600000,1800000,1
+gl_knt02.gat,0,0,0,0 monster Alice 1275,1,0,0,0
+gl_knt02.gat,0,0,0,0 monster Mysteltainn 1203,1,1800000,1200000,0
+gl_knt02.gat,0,0,0,0 monster Knight of Abyss 1219,5,0,0,0
+gl_knt02.gat,149,26,5,5 monster Knight of Abyss 1219,1,3600000,1800000,1
+gl_knt02.gat,99,49,5,5 monster Khalitzburg 1132,1,1800000,900000,1
+gl_knt02.gat,62,80,5,5 monster Khalitzburg 1132,1,1800000,900000,1
+gl_knt02.gat,82,134,5,5 monster Khalitzburg 1132,1,1800000,900000,1
+gl_knt02.gat,60,242,5,5 monster Khalitzburg 1132,1,1800000,900000,1
+gl_knt02.gat,118,241,5,5 monster Khalitzburg 1132,1,1800000,900000,1
+gl_knt02.gat,114,194,5,5 monster Khalitzburg 1132,1,1800000,900000,1
+gl_knt02.gat,196,239,5,5 monster Khalitzburg 1132,1,1800000,900000,1
+gl_knt02.gat,208,45,5,5 monster Khalitzburg 1132,1,1800000,900000,1
+gl_knt02.gat,243,74,5,5 monster Khalitzburg 1132,1,1800000,900000,1
+gl_knt02.gat,232,132,5,5 monster Khalitzburg 1132,1,1800000,900000,1
+
+// ( gl_dun01.gat )
+
+gl_dun01.gat,0,0,0,0 monster Minorous 1149,20,0,0,0
+gl_dun01.gat,0,0,0,0 monster Arclouse 1194,25,0,0,0
+gl_dun01.gat,0,0,0,0 monster Sting 1207,25,0,0,0
+gl_dun01.gat,0,0,0,0 monster Stalactite Golem 1278,20,0,0,0
+
+// ( gl_dun02.gat )
+
+gl_dun02.gat,0,0,0,0 monster Gargoyle 1253,15,0,0,0
+gl_dun02.gat,0,0,0,0 monster Arclouse 1194,15,0,0,0
+gl_dun02.gat,0,0,0,0 monster Stalactite Golem 1278,15,0,0,0
+gl_dun02.gat,0,0,0,0 monster Majoruros 1310,25,0,0,0
+
+// Glastheim
+glast_01.gat,233,209,15,15 monster Shining Plant 1083,1,1800000,900000,1
+glast_01.gat,233,209,15,15 monster Green Plant 1080,8,600000,300000,1
+glast_01.gat,233,209,15,15 monster Blue Plant 1079,2,900000,450000,1
diff --git a/npc/eamobs/dungeons/gondun.txt b/npc/eamobs/dungeons/gondun.txt
new file mode 100644
index 000000000..c462654ce
--- /dev/null
+++ b/npc/eamobs/dungeons/gondun.txt
@@ -0,0 +1,40 @@
+//===== eAthena Script =======================================
+//= Gonryun Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+//gon_dun01
+
+gon_dun01.gat,0,0,0,0 monster Bloody Butterfly 1408,55,650000,350000,0
+gon_dun01.gat,0,0,0,0 monster Enchanted Peach Tree 1410,35,0,0,0
+gon_dun01.gat,0,0,0,0 monster Zipper Bear 1417,30,0,0,0
+gon_dun01.gat,0,0,0,0 monster Red Plant 1078,5,0,0,0
+gon_dun01.gat,0,0,0,0 monster Yellow Plant 1081,10,0,0,0
+gon_dun01.gat,0,0,0,0 monster White Plant 1082,10,0,0,0
+
+//gon_dun02
+
+gon_dun02.gat,241,226,15,20 monster Enchanted Peach Tree 1410,2,300000,150000,0
+gon_dun02.gat,241,226,15,20 monster Baby Leopard 1415,4,600000,300000,0
+gon_dun02.gat,241,226,15,20 monster Enchanted Peach Tree 1410,3,120000,60000,0
+gon_dun02.gat,33,115,10,15 monster Enchanted Peach Tree 1410,1,300000,150000,0
+gon_dun02.gat,33,115,10,15 monster Baby Leopard 1415,2,600000,300000,0
+gon_dun02.gat,0,0,0,0 monster Taoist Hermit 1412,20,690000,390000,0
+gon_dun02.gat,0,0,0,0 monster Bloody Butterfly 1408,20,0,0,0
+gon_dun02.gat,0,0,0,0 monster Enchanted Peach Tree 1410,15,0,0,0
+gon_dun02.gat,0,0,0,0 monster Yellow Plant 1081,10,0,0,0
+
+//gon_dun03
+
+gon_dun03.gat,0,0,0,0 monster White Plant 1082,10,0,0,0
+gon_dun03.gat,0,0,0,0 monster Hermit Plant 1413,20,600000,300000,0
+gon_dun03.gat,0,0,0,0 monster Evil Nymph 1416,50,600000,300000,0
+gon_dun03.gat,0,0,0,0 monster Taoist Hermit 1412,30,0,0,0
+gon_dun03.gat,0,0,0,0 monster Evil Snake Lord 1418,1,5650000,3650000,0
diff --git a/npc/eamobs/dungeons/guilddun.txt b/npc/eamobs/dungeons/guilddun.txt
new file mode 100644
index 000000000..91a189328
--- /dev/null
+++ b/npc/eamobs/dungeons/guilddun.txt
@@ -0,0 +1,47 @@
+//===== eAthena Script =======================================
+//= Guild Dungeons Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+//gld_dun01
+
+gld_dun01.gat,0,0,0,0 monster Skeleton General 1290,10,0,0,0
+gld_dun01.gat,0,0,0,0 monster Am Mut 1301,20,0,0,0
+gld_dun01.gat,0,0,0,0 monster Cat'o'Nine Tails 1307,3,1200000,0,0
+gld_dun01.gat,0,0,0,0 monster Gajomart 1309,10,0,0,0
+gld_dun01.gat,0,0,0,0 monster Eddga 1115,1,28800000,7200000,1
+gld_dun01.gat,0,0,0,0 monster Vagabond Wolf 1092,1,14400000,7200000,1
+
+//gld_dun02
+
+gld_dun02.gat,0,0,0,0 monster Owl Baron 1295,3,0,0,0
+gld_dun02.gat,0,0,0,0 monster Giant Spider 1304,10,240000,120000,0
+gld_dun02.gat,0,0,0,0 monster Ancient Worm 1305,5,120000,60000,0
+gld_dun02.gat,0,0,0,0 monster Killer Mantis 1294,5,120000,60000,0
+gld_dun02.gat,0,0,0,0 monster Giant Hornet 1303,10,120000,60000,0
+gld_dun02.gat,0,0,0,0 monster Doppelganger 1046,1,28800000,7200000,1
+
+//gld_dun03
+
+gld_dun03.gat,0,0,0,0 monster Maya Purple 1289,3,1200000,600000,0
+gld_dun03.gat,0,0,0,0 monster Caterpillar 1300,20,0,0,0
+gld_dun03.gat,0,0,0,0 monster Gullinbursti 1311,10,0,0,0
+gld_dun03.gat,0,0,0,0 monster Creamy Fear 1293,20,0,0,0
+gld_dun03.gat,0,0,0,0 monster Leib Olmai 1306,20,0,0,0
+gld_dun03.gat,0,0,0,0 monster Maya 1147,1,28800000,7200000,1
+
+//gld_dun04
+
+gld_dun04.gat,0,0,0,0 monster Wraith Dead 1291,20,0,0,0
+gld_dun04.gat,0,0,0,0 monster Mini Demon 1292,20,0,0,0
+gld_dun04.gat,0,0,0,0 monster Zombie Master 1298,20,0,0,0
+gld_dun04.gat,0,0,0,0 monster Dark Illusion 1302,1,1200000,0,0
+gld_dun04.gat,0,0,0,0 monster Dark Lord 1272,1,28800000,7200000,1
+gld_dun04.gat,0,0,0,0 monster Ghostring 1120,1,14400000,7200000,1
diff --git a/npc/eamobs/dungeons/jupedun.txt b/npc/eamobs/dungeons/jupedun.txt
new file mode 100644
index 000000000..ad262667f
--- /dev/null
+++ b/npc/eamobs/dungeons/jupedun.txt
@@ -0,0 +1,44 @@
+//===== eAthena Script =======================================
+//= Juperos Mystical Dungeon - Monster Spawn Locations
+//===== By: ==================================================
+// »» The Prometheus Project ««
+// Copyright (c) 2004,2005
+// Licensed under GPL
+// http://prometheus.fnae.net/
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena/Freya Version
+//===== Additional Comments: =================================
+//= 08/24/05 : Added 1st version. [Muad_Dib]
+//============================================================
+
+
+//========================================================================================
+// - Juperos Core
+//========================================================================================
+
+jupe_core.gat,0,0,0,0 monster Archdam 1668,25,0,0,0
+jupe_core.gat,0,0,0,0 monster Dimik 1669,25,0,0,0
+jupe_core.gat,0,0,0,0 monster Dimik 1670,20,0,0,0
+jupe_core.gat,0,0,0,0 monster Dimik 1671,25,0,0,0
+jupe_core.gat,0,0,0,0 monster Dimik 1672,30,0,0,0
+jupe_core.gat,0,0,0,0 monster Dimik 1673,25,0,0,0
+jupe_core.gat,0,0,0,0 monster Venatu 1675,10,0,0,0
+jupe_core.gat,0,0,0,0 monster Venatu 1676,15,0,0,0
+jupe_core.gat,0,0,0,0 monster Venatu 1677,10,0,0,0
+jupe_core.gat,0,0,0,0 monster Venatu 1678,20,0,0,0
+jupe_core.gat,0,0,0,0 monster Venatu 1679,10,0,0,0
+jupe_core.gat,0,0,0,0 monster Apocalips H 1685,1,3600000,1800000,1
+
+//========================================================================================
+// - Juperos 01
+//========================================================================================
+
+juperos_01.gat,0,0,0,0 monster Hunter Fly 1035,20,0,0,0
+juperos_01.gat,0,0,0,0 monster Wind Ghost 1263,35,0,0,0
+juperos_01.gat,0,0,0,0 monster Venatu 1675,30,0,0,0
+juperos_01.gat,0,0,0,0 monster Venatu 1676,15,0,0,0
+juperos_01.gat,0,0,0,0 monster Venatu 1677,25,0,0,0
+juperos_01.gat,0,0,0,0 monster Venatu 1678,20,0,0,0
+juperos_01.gat,0,0,0,0 monster Venatu 1679,25,0,0,0
diff --git a/npc/eamobs/dungeons/kiel.txt b/npc/eamobs/dungeons/kiel.txt
new file mode 100644
index 000000000..d638d05cc
--- /dev/null
+++ b/npc/eamobs/dungeons/kiel.txt
@@ -0,0 +1,33 @@
+//===== eAthena Script =======================================
+//= Kiel Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.0 First version [MasterOfMuppets]
+//============================================================
+
+//============================================================
+//= Kiel Dungeon lvl 1 (kh_dun01.gat)
+//============================================================
+
+kh_dun01.gat,0,0,0,0 monster Alice 1275,10,900000,450000,0
+kh_dun01.gat,0,0,0,0 monster Alicel 1735,15,300000,150000,0
+kh_dun01.gat,0,0,0,0 monster Aliot 1736,10,600000,300000,0
+kh_dun01.gat,0,0,0,0 monster Aliza 1737,35,0,0,0
+kh_dun01.gat,0,0,0,0 monster Constant 1738,15,0,0,0
+
+//============================================================
+//= Kiel Dungeon lvl 2 (kh_dun02.gat)
+//============================================================
+
+kh_dun02.gat,0,0,0,0 monster Alicel 1735,30,600000,300000,0
+kh_dun02.gat,0,0,0,0 monster Aliot 1736,20,300000,150000,0
+kh_dun02.gat,0,0,0,0 monster Aliza 1737,15,0,0,0
+kh_dun02.gat,0,0,0,0 monster Constant 1738,20,0,0,0
+//We have to little info about these
+//kh_dun02.gat,0,0,0,0 monster Kiel 1733,1,1800000,900000,1
+//kh_dun02.gat,0,0,0,0 monster Kiel D-01 1734,1,7200000,3600000,1 \ No newline at end of file
diff --git a/npc/eamobs/dungeons/lhzdun.txt b/npc/eamobs/dungeons/lhzdun.txt
new file mode 100644
index 000000000..5644a9443
--- /dev/null
+++ b/npc/eamobs/dungeons/lhzdun.txt
@@ -0,0 +1,83 @@
+//===== eAthena Script =======================================
+//= Bio-life Labs - Monster Spawn Locations
+//===== By: ==================================================
+// »» The Prometheus Project ««
+// Copyright (c) 2004,2005
+// Licensed under GPL
+// http://prometheus.fnae.net/
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= Any Athena
+//===== Additional Comments: =================================
+//= 08/24/05 : Added 1st version. [Muad_Dib]
+//= 1.1: Some corrections to level 1, 2 as pointed out by
+//= MasterofMuppets. [Skotlex]
+//= 1.3: Some fixes based on kRO's "RO Map" [Poki#3]
+//= I also made the place more Moby ^^
+//============================================================
+
+
+//========================================================================================
+// - Bio-life Labs 1F
+//========================================================================================
+
+lhz_dun01.gat,0,0,0,0 monster Metaling 1613,60,0,0,0
+lhz_dun01.gat,0,0,0,0 monster Virus 1627,30,0,0,0
+lhz_dun01.gat,0,0,0,0 monster Removal 1682,40,0,0,0
+lhz_dun01.gat,0,0,0,0 monster Ygnizem 1652,5,0,0,0
+lhz_dun01.gat,0,0,0,0 monster Whikebain 1653,5,0,0,0
+lhz_dun01.gat,0,0,0,0 monster Armaia 1654,5,0,0,0
+lhz_dun01.gat,0,0,0,0 monster Erend 1655,5,0,0,0
+lhz_dun01.gat,0,0,0,0 monster Kavac 1656,5,0,0,0
+lhz_dun01.gat,0,0,0,0 monster Rawrell 1657,5,0,0,0
+lhz_dun01.gat,0,0,0,0 monster Gemini S58 1681,2,0,0,0
+
+//========================================================================================
+// - Bio-life Labs 2F
+//========================================================================================
+
+lhz_dun02.gat,0,0,0,0 monster Removal 1682,25,0,0,0
+lhz_dun02.gat,0,0,0,0 monster Virus 1627,10,0,0,0
+lhz_dun02.gat,0,0,0,0 monster Ygnizem 1652,20,0,0,0
+lhz_dun02.gat,0,0,0,0 monster Whikebain 1653,20,0,0,0
+lhz_dun02.gat,0,0,0,0 monster Armaia 1654,20,0,0,0
+lhz_dun02.gat,0,0,0,0 monster Erend 1655,20,0,0,0
+lhz_dun02.gat,0,0,0,0 monster Kavac 1656,20,0,0,0
+lhz_dun02.gat,0,0,0,0 monster Rawrell 1657,20,0,0,0
+lhz_dun01.gat,0,0,0,0 monster Gemini S58 1681,5,0,0,0
+lhz_dun02.gat,0,0,0,0 monster Ygnizem 1658,1,7200000,3600000,1
+
+//========================================================================================
+// - Bio-life Labs 3F
+//========================================================================================
+
+lhz_dun03.gat,0,0,0,0 monster Seyren 1634,30,0,0,0
+lhz_dun03.gat,0,0,0,0 monster Eremes 1635,30,0,0,0
+lhz_dun03.gat,0,0,0,0 monster Harword 1636,30,0,0,0
+lhz_dun03.gat,0,0,0,0 monster Magaleta 1637,30,0,0,0
+lhz_dun03.gat,0,0,0,0 monster Shecil 1638,30,0,0,0
+lhz_dun03.gat,0,0,0,0 monster Katrinn 1639,30,0,0,0
+
+lhz_dun03.gat,1,1,0 script Lhzdun03monster -1,{
+OnInit:
+
+while(1)
+{
+ set $@metaspawn,rand(1,6);
+ if($@metaspawn == 1)areamonster "lhz_dun03.gat",1,1,300,300,"Lord Knight Seyren",1646,1,"Lhzdun03monster::OnMonsterDead";
+ if($@metaspawn == 2)areamonster "lhz_dun03.gat",1,1,300,300,"Assassin Cross Eremes",1647,1,"Lhzdun03monster::OnMonsterDead";
+ if($@metaspawn == 3)areamonster "lhz_dun03.gat",1,1,300,300,"Whitesmith Harword",1648,1,"Lhzdun03monster::OnMonsterDead";
+ if($@metaspawn == 4)areamonster "lhz_dun03.gat",1,1,300,300,"High Priest Magaleta",1649,1,"Lhzdun03monster::OnMonsterDead";
+ if($@metaspawn == 5)areamonster "lhz_dun03.gat",1,1,300,300,"Sniper Shecil",1650,1,"Lhzdun03monster::OnMonsterDead";
+ if($@metaspawn == 6)areamonster "lhz_dun03.gat",1,1,300,300,"High Wizard Katrinn",1651,1,"Lhzdun03monster::OnMonsterDead";
+ end;
+OnMonsterDead:
+ initnpctimer;
+ setnpctimer 0;
+ end;
+OnTimer7200000:
+ stopnpctimer;
+}
+
+}
diff --git a/npc/eamobs/dungeons/louydun.txt b/npc/eamobs/dungeons/louydun.txt
new file mode 100644
index 000000000..f90540fb4
--- /dev/null
+++ b/npc/eamobs/dungeons/louydun.txt
@@ -0,0 +1,37 @@
+//===== eAthena Script =======================================
+//= Louyang Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.1 Updated by MasterOfMuppets
+//= 1.2 Added Bacsojin and Chung E [MasterOfMuppets]
+//============================================================
+
+//lou_dun01
+lou_dun01.gat,0,0,0,0 monster Horong 1129,15,0,0,0
+lou_dun01.gat,0,0,0,0 monster Increase Soil 1516,15,0,0,0
+lou_dun01.gat,215,159,40,80 monster Sidewinder 1037,10,300000,120000,0
+lou_dun01.gat,215,159,40,80 monster Li Me Mang Ryang 1517,25,300000,120000,0
+lou_dun01.gat,0,0,0,0 monster Li Me Mang Ryang 1517,20,0,0,0
+lou_dun01.gat,0,0,0,0 monster Grizzly 1381,15,0,0,0
+lou_dun01.gat,0,0,0,0 monster Leib Olmai 1306,1,300000,120000,0
+lou_dun01.gat,197,77,10,10 monster Black Mushroom 1084,5,0,0,0
+lou_dun01.gat,0,0,0,0 monster Shining Plant 1083,5,0,0,0
+
+//lou_dun02
+lou_dun02.gat,0,0,0,0 monster Hyegun 1512,40,300000,120000,0
+lou_dun02.gat,0,0,0,0 monster Munak 1026,25,0,0,0
+lou_dun02.gat,0,0,0,0 monster Dancing Dragon 1514,5,0,0,0
+lou_dun02.gat,0,0,0,0 monster Mimic 1191,5,0,0,0
+
+//lou_dun03
+lou_dun03.gat,0,0,0,0 monster Hyegun 1512,25,120000,60000,0
+lou_dun03.gat,0,0,0,0 monster Dancing Dragon 1514,25,120000,60000,0
+lou_dun03.gat,0,0,0,0 monster Civil Servant 1513,15,0,0,0
+lou_dun03.gat,0,0,0,0 monster Gajomart 1309,1,300000,120000,0
+lou_dun03.gat,0,0,0,0 monster Green Maiden 1519,10,0,0,0
+lou_dun03.gat,0,0,0,0 monster Bacsojin 1518,1,3600000,1800000,1
diff --git a/npc/eamobs/dungeons/magmadun.txt b/npc/eamobs/dungeons/magmadun.txt
new file mode 100644
index 000000000..6c594b776
--- /dev/null
+++ b/npc/eamobs/dungeons/magmadun.txt
@@ -0,0 +1,30 @@
+//===== eAthena Script =======================================
+//= Magma Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.1 fixed 2,3,4 tabs instead of 1... and wrong mob names [Lupus]
+//= 1.2 Removed blazers from mag_dun01 and added kahos due to
+//= the Louyang patch [MasterOfMuppets]
+//============================================================
+
+// mag_dun01
+
+//putmob "mag_dun01" 0 0 0 0 20 BLAZZER 0 0 0
+mag_dun01.gat,0,0,0,0 monster Lava Golem 1366,20,600000,30000,0
+mag_dun01.gat,0,0,0,0 monster Kaho 1072,20,0,0,0
+mag_dun01.gat,0,0,0,0 monster Explosion 1383,30,0,0,0
+mag_dun01.gat,0,0,0,0 monster Grizzly 1381,10,0,0,0
+
+// mag_dun02
+
+mag_dun02.gat,0,0,0,0 monster Blazer 1367,20,0,0,0
+mag_dun02.gat,0,0,0,0 monster Nightmare Terror 1379,30,0,0,0
+mag_dun02.gat,0,0,0,0 monster Sky Deleter 1384,10,0,0,0
+mag_dun02.gat,0,0,0,0 monster Earth Deleter 1385,10,0,0,0
+mag_dun02.gat,0,0,0,0 monster Gig 1387,20,0,0,0
+mag_dun02.gat,0,0,0,0 monster Diabolic 1382,10,0,0,0
diff --git a/npc/eamobs/dungeons/moc_pyramid.txt b/npc/eamobs/dungeons/moc_pyramid.txt
new file mode 100644
index 000000000..76f228371
--- /dev/null
+++ b/npc/eamobs/dungeons/moc_pyramid.txt
@@ -0,0 +1,62 @@
+//===== eAthena Script =======================================
+//= Morocc Pryamid Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.2 (custom spawn)
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.1 Changed to eAthena custom spawns [Playtester]
+//= 1.2 Fixed a typo [Playtester]
+//============================================================
+
+// moc_pryd01
+
+moc_pryd01.gat,0,0,0,0 monster Spore 1014,20,0,0,0
+moc_pryd01.gat,0,0,0,0 monster Familiar 1005,40,0,0,0
+moc_pryd01.gat,0,0,0,0 monster Poporing 1031,15,0,0,0
+
+// moc_pryd02
+
+moc_pryd02.gat,0,0,0,0 monster Poporing 1031,15,0,0,0
+moc_pryd02.gat,0,0,0,0 monster Skeleton Soldier 1028,35,0,0,0
+moc_pryd02.gat,0,0,0,0 monster Drainliar 1111,20,0,0,0
+moc_pryd02.gat,0,0,0,0 monster Skeleton Archer 1016,30,0,0,0
+moc_pryd02.gat,0,0,0,0 monster Mummy 1041,20,0,0,0
+moc_pryd02.gat,0,0,0,0 monster Isis 1029,15,0,0,0
+
+// moc_pryd03
+
+moc_pryd03.gat,0,0,0,0 monster Drainliar 1111,15,0,0,0
+moc_pryd03.gat,0,0,0,0 monster Mimic 1191,10,0,0,0
+moc_pryd03.gat,0,0,0,0 monster Matyr 1146,15,0,0,0
+moc_pryd03.gat,0,0,0,0 monster Mummy 1041,45,0,0,0
+moc_pryd03.gat,0,0,0,0 monster Verit 1032,20,600000,300000,1
+
+// moc_pryd04
+
+moc_pryd04.gat,0,0,0,0 monster Mummy 1041,25,0,0,0
+moc_pryd04.gat,0,0,0,0 monster Ancient Mummy 1297,3,0,0,0
+moc_pryd04.gat,0,0,0,0 monster Isis 1029,50,150000,75000,0
+moc_pryd04.gat,0,0,0,0 monster Mimic 1191,15,600000,300000,1
+moc_pryd04.gat,0,0,0,0 monster Osiris 1038,1,3600000,7200000,0
+moc_pryd04.gat,0,0,0,0 monster Matyr 1146,20,0,0,0
+
+// moc_pryd05
+
+moc_pryd05.gat,0,0,0,0 monster Verit 1032,40,0,0,0
+moc_pryd05.gat,0,0,0,0 monster Ghoul 1036,15,0,0,0
+moc_pryd05.gat,0,0,0,0 monster Mummy 1041,15,0,0,0
+moc_pryd05.gat,0,0,0,0 monster Minorous 1149,50,0,0,0
+
+// moc_pryd06
+
+moc_pryd06.gat,0,0,0,0 monster Verit 1032,15,0,0,0
+moc_pryd06.gat,0,0,0,0 monster Ghoul 1036,10,0,0,0
+moc_pryd06.gat,0,0,0,0 monster Mummy 1041,10,0,0,0
+moc_pryd06.gat,0,0,0,0 monster Arclouse 1194,20,0,0,0
+moc_pryd06.gat,0,0,0,0 monster Isis 1029,10,0,0,0
+moc_pryd06.gat,100,90,80,50 monster Mimic 1191,10,600000,300000,0
+moc_pryd06.gat,100,90,80,50 monster Ancient Mummy 1297,10,600000,300000,0
+moc_pryd06.gat,102,166,1,1 monster Amon Ra 1511,1,3600000,1600000,0
diff --git a/npc/eamobs/dungeons/moc_sphinx.txt b/npc/eamobs/dungeons/moc_sphinx.txt
new file mode 100644
index 000000000..94d300079
--- /dev/null
+++ b/npc/eamobs/dungeons/moc_sphinx.txt
@@ -0,0 +1,60 @@
+//===== eAthena Script =======================================
+//= Morocc Sphinx Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.1 (custom spawns)
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.1 Changed to eAthena custom spawns [Playtester]
+//============================================================
+
+// In_sphinx1
+
+in_sphinx1.gat,0,0,0,0 monster Boa 1025,15,0,0,0
+in_sphinx1.gat,0,0,0,0 monster Anacondaq 1030,15,0,0,0
+in_sphinx1.gat,0,0,0,0 monster Zerom 1178,20,0,0,0
+in_sphinx1.gat,0,0,0,0 monster Drainliar 1111,30,0,0,0
+in_sphinx1.gat,0,0,0,0 monster Matyr 1146,5,0,0,0
+in_sphinx1.gat,0,0,0,0 monster Requiem 1164,15,0,0,0
+
+// In_sphinx2
+
+in_sphinx2.gat,0,0,0,0 monster Zerom 1178,45,0,0,0
+in_sphinx2.gat,0,0,0,0 monster Drainliar 1111,15,0,0,0
+in_sphinx2.gat,0,0,0,0 monster Matyr 1146,20,0,0,0
+in_sphinx2.gat,0,0,0,0 monster Whisper 1179,10,0,0,0
+in_sphinx2.gat,0,0,0,0 monster Requiem 1164,45,0,0,0
+
+// In_sphinx3
+
+in_sphinx3.gat,0,0,0,0 monster Drainliar 1111,10,0,0,0
+in_sphinx3.gat,0,0,0,0 monster Matyr 1146,25,0,0,0
+in_sphinx3.gat,0,0,0,0 monster Whisper 1179,10,0,0,0
+in_sphinx3.gat,0,0,0,0 monster Requiem 1164,10,0,0,0
+in_sphinx3.gat,0,0,0,0 monster Marduk 1140,25,0,0,0
+in_sphinx3.gat,0,0,0,0 monster Mimic 1191,5,600000,300000,1
+in_sphinx3.gat,0,0,0,0 monster Pasana 1154,5,0,0,0
+
+// In_sphinx4
+
+in_sphinx4.gat,0,0,0,0 monster Whisper 1179,10,0,0,0
+in_sphinx4.gat,0,0,0,0 monster Marduk 1140,10,0,0,0
+in_sphinx4.gat,0,0,0,0 monster Sidewinder 1037,10,0,0,0
+in_sphinx4.gat,0,0,0,0 monster Minorous 1149,40,0,0,0
+in_sphinx4.gat,0,0,0,0 monster Mimic 1191,2,600000,300000,1
+in_sphinx4.gat,0,0,0,0 monster Pasana 1154,20,0,0,0
+in_sphinx4.gat,0,0,0,0 monster Medusa 1148,1,600000,300000,1
+
+// In_sphinx5
+
+in_sphinx5.gat,0,0,0,0 monster Whisper 1179,10,0,0,0
+in_sphinx5.gat,0,0,0,0 monster Matyr 1146,25,0,0,0
+in_sphinx5.gat,0,0,0,0 monster Requiem 1164,10,0,0,0
+in_sphinx5.gat,0,0,0,0 monster Marduk 1140,25,0,0,0
+in_sphinx5.gat,0,0,0,0 monster Sidewinder 1037,15,0,0,0
+in_sphinx5.gat,0,0,0,0 monster Mimic 1191,4,600000,300000,1
+in_sphinx5.gat,0,0,0,0 monster Pasana 1154,25,0,0,0
+in_sphinx5.gat,0,0,0,0 monster Medusa 1148,3,600000,300000,0
+in_sphinx5.gat,0,0,0,0 monster Pharaoh 1157,1,3600000,1800000,1
diff --git a/npc/eamobs/dungeons/orcdun.txt b/npc/eamobs/dungeons/orcdun.txt
new file mode 100644
index 000000000..0450a11c6
--- /dev/null
+++ b/npc/eamobs/dungeons/orcdun.txt
@@ -0,0 +1,39 @@
+//===== eAthena Script =======================================
+//= Orcs Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// Orcsdun01
+
+orcsdun01.gat,0,0,0,0 monster Steel ChonChon 1042,10,0,0,0
+orcsdun01.gat,0,0,0,0 monster Familiar 1005,15,0,0,0
+orcsdun01.gat,0,0,0,0 monster Drainliar 1111,5,0,0,0
+orcsdun01.gat,0,0,0,0 monster Orc Zombie 1153,10,3000,5000,0
+orcsdun01.gat,0,0,0,0 monster Orc Zombie 1153,30,60000,30000,0
+orcsdun01.gat,0,0,0,0 monster Orc Zombie 1153,40,120000,60000,0
+orcsdun01.gat,0,0,0,0 monster Orc Skeleton 1152,10,180000,60000,0
+orcsdun01.gat,167,133,5,5 monster Black Mushroom 1084,5,900000,450000,1
+orcsdun01.gat,67,34,5,5 monster Black Mushroom 1084,5,900000,450000,1
+orcsdun01.gat,83,50,5,5 monster White Plant 1082,2,180000,90000,1
+orcsdun01.gat,58,67,10,10 monster White Plant 1082,3,180000,90000,1
+
+// Orcsdun02
+
+orcsdun02.gat,0,0,0,0 monster Steel ChonChon 1042,20,0,0,0
+orcsdun02.gat,0,0,0,0 monster Drainliar 1111,20,0,0,0
+orcsdun02.gat,0,0,0,0 monster Orc Skeleton 1152,10,3000,5000,0
+orcsdun02.gat,0,0,0,0 monster Orc Skeleton 1152,20,60000,30000,0
+orcsdun02.gat,0,0,0,0 monster Orc Skeleton 1152,20,120000,60000,0
+orcsdun02.gat,0,0,0,0 monster Zenorc 1177,30,3000,5000,0
+orcsdun02.gat,0,0,0,0 monster Zenorc 1177,20,60000,30000,0
+orcsdun02.gat,0,0,0,0 monster Orc Archer 1189,5,1800000,900000,1
+orcsdun02.gat,0,0,0,0 monster Black Mushroom 1084,5,180000,90000,1
+orcsdun02.gat,105,37,10,10 monster White Plant 1082,2,180000,90000,1
+orcsdun02.gat,37,44,10,10 monster White Plant 1082,3,180000,90000,1
diff --git a/npc/eamobs/dungeons/payoncave.txt b/npc/eamobs/dungeons/payoncave.txt
new file mode 100644
index 000000000..2ab3f7b9b
--- /dev/null
+++ b/npc/eamobs/dungeons/payoncave.txt
@@ -0,0 +1,157 @@
+//===== eAthena Script =======================================
+//= Payon Cave Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// pay_dun00
+
+pay_dun00.gat,0,0,0,0 monster Familiar 1005,15,0,0,0
+pay_dun00.gat,0,0,0,0 monster Zombie 1015,20,0,0,0
+pay_dun00.gat,0,0,0,0 monster Skeleton 1076,35,0,0,0
+pay_dun00.gat,0,0,0,0 monster Poporing 1031,15,0,0,0
+pay_dun00.gat,0,0,0,0 monster Red Plant 1078,15,180000,90000,1
+pay_dun00.gat,140,140,5,5 monster Black Mushroom 1084,3,360000,180000,1
+
+// pay_dun01
+
+pay_dun01.gat,0,0,0,0 monster Drainliar 1111,5,0,0,0
+pay_dun01.gat,0,0,0,0 monster Eggyra 1116,15,0,0,0
+pay_dun01.gat,0,0,0,0 monster Skeleton Soldier 1028,50,300000,150000,1
+pay_dun01.gat,0,0,0,0 monster Skeleton Archer 1016,30,300000,150000,1
+pay_dun01.gat,235,54,10,10 monster Black Mushroom 1084,7,900000,450000,1
+pay_dun01.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+
+
+// pay_dun02
+
+pay_dun02.gat,0,0,0,0 monster Skeleton Soldier 1028,15,180000,90000,1
+pay_dun02.gat,0,0,0,0 monster Munak 1026,40,0,0,0
+pay_dun02.gat,0,0,0,0 monster Bon Gun 1188,30,0,0,0
+pay_dun02.gat,0,0,0,0 monster Poporing 1031,10,0,0,0
+pay_dun02.gat,0,0,0,0 monster Skeleton Archer 1016,20,180000,90000,1
+pay_dun02.gat,116,205,0,0 monster Hydra 1068,1,345000,100000,1
+pay_dun02.gat,116,199,0,0 monster Hydra 1068,1,306000,100000,1
+pay_dun02.gat,116,196,0,0 monster Hydra 1068,1,300000,100000,1
+pay_dun02.gat,116,190,0,0 monster Hydra 1068,1,326000,100000,1
+pay_dun02.gat,117,206,0,0 monster Hydra 1068,1,302000,100000,1
+pay_dun02.gat,117,200,0,0 monster Hydra 1068,1,275000,100000,1
+pay_dun02.gat,117,197,0,0 monster Hydra 1068,1,314000,100000,1
+pay_dun02.gat,117,191,0,0 monster Hydra 1068,1,300000,100000,1
+pay_dun02.gat,118,207,0,0 monster Hydra 1068,1,332000,100000,1
+pay_dun02.gat,118,201,0,0 monster Hydra 1068,1,300000,100000,1
+pay_dun02.gat,118,198,0,0 monster Hydra 1068,1,312000,100000,1
+pay_dun02.gat,118,192,0,0 monster Hydra 1068,1,285000,100000,1
+pay_dun02.gat,119,205,0,0 monster Hydra 1068,1,324000,100000,1
+pay_dun02.gat,119,199,0,0 monster Hydra 1068,1,300000,100000,1
+pay_dun02.gat,119,196,0,0 monster Hydra 1068,1,315000,100000,1
+pay_dun02.gat,120,203,0,0 monster Hydra 1068,1,300000,100000,1
+pay_dun02.gat,120,200,0,0 monster Hydra 1068,1,303000,100000,1
+pay_dun02.gat,120,194,0,0 monster Hydra 1068,1,300000,100000,1
+pay_dun02.gat,121,200,0,0 monster Hydra 1068,1,333000,100000,1
+pay_dun02.gat,122,200,0,0 monster Hydra 1068,1,300000,100000,1
+pay_dun02.gat,122,197,0,0 monster Hydra 1068,1,321000,100000,1
+pay_dun02.gat,110,194,0,0 monster Hydra 1068,1,300000,100000,1
+pay_dun02.gat,113,194,0,0 monster Hydra 1068,1,319000,100000,1
+pay_dun02.gat,109,193,0,0 monster Hydra 1068,1,300000,100000,1
+pay_dun02.gat,113,193,0,0 monster Hydra 1068,1,300000,100000,1
+pay_dun02.gat,109,192,0,0 monster Hydra 1068,1,374000,100000,1
+pay_dun02.gat,112,192,0,0 monster Hydra 1068,1,300000,100000,1
+pay_dun02.gat,108,191,0,0 monster Hydra 1068,1,332000,100000,1
+pay_dun02.gat,111,191,0,0 monster Hydra 1068,1,300000,100000,1
+pay_dun02.gat,107,190,0,0 monster Hydra 1068,1,320000,100000,1
+pay_dun02.gat,110,190,0,0 monster Hydra 1068,1,300000,100000,1
+pay_dun02.gat,227,185,0,0 monster Mandragora 1020,1,300000,100000,1
+pay_dun02.gat,227,184,0,0 monster Mandragora 1020,1,300000,100000,1
+pay_dun02.gat,229,183,0,0 monster Mandragora 1020,1,300000,100000,1
+pay_dun02.gat,214,266,0,0 monster Red Plant 1078,1,600000,300000,1
+pay_dun02.gat,37,243,0,0 monster Black Mushroom 1084,1,600000,300000,1
+pay_dun02.gat,37,243,0,0 monster Nine-Tail 1180,1,3600000,1800000,1
+pay_dun02.gat,111,199,10,10 monster Black Mushroom 1084,7,900000,450000,1
+pay_dun02.gat,110,216,20,10 monster White Plant 1082,3,180000,90000,1
+pay_dun02.gat,132,84,10,10 monster White Plant 1082,3,180000,90000,1
+pay_dun02.gat,197,113,10,10 monster Red Plant 1078,4,180000,90000,1
+pay_dun02.gat,55,254,10,10 monster Red Plant 1078,4,180000,90000,1
+
+// pay_dun03
+
+pay_dun03.gat,0,0,0,0 monster Sohee 1170,50,0,0,0
+pay_dun03.gat,0,0,0,0 monster Munak 1026,3,0,0,0
+pay_dun03.gat,0,0,0,0 monster Bon Gun 1188,3,0,0,0
+pay_dun03.gat,0,0,0,0 monster Nine-Tail 1180,1,0,0,0
+pay_dun03.gat,0,0,0,0 monster Nine-Tail 1180,1,3600000,1800000,0
+pay_dun03.gat,154,112,0,0 monster Whisper 1185,1,1800000,0,1
+pay_dun03.gat,161,117,0,0 monster Whisper 1185,1,1800000,0,1
+pay_dun03.gat,81,61,0,0 monster Whisper 1185,1,1800000,0,1
+pay_dun03.gat,84,63,0,0 monster Whisper 1185,1,1800000,0,1
+pay_dun03.gat,89,147,0,0 monster Giant Whisper 1186,1,14400000,0,1
+pay_dun03.gat,66,73,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,68,72,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,67,71,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,63,70,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,58,69,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,67,69,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,60,68,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,69,68,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,62,67,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,71,67,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,64,66,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,57,65,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,66,65,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,59,64,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,68,64,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,71,64,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,66,63,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,71,243,0,0 monster Sohee 1170,2,300000,100000,1
+pay_dun03.gat,86,248,0,0 monster Sohee 1170,2,300000,100000,1
+pay_dun03.gat,85,178,0,0 monster Sohee 1170,2,300000,100000,1
+pay_dun03.gat,115,190,0,0 monster Sohee 1170,2,300000,100000,1
+pay_dun03.gat,230,244,0,0 monster Sohee 1170,2,300000,100000,1
+pay_dun03.gat,240,244,0,0 monster Sohee 1170,2,300000,100000,1
+pay_dun03.gat,219,244,0,0 monster Sohee 1170,2,300000,100000,1
+pay_dun03.gat,243,220,0,0 monster Sohee 1170,2,300000,100000,1
+pay_dun03.gat,219,185,0,0 monster Sohee 1170,2,300000,100000,1
+pay_dun03.gat,228,185,0,0 monster Sohee 1170,2,300000,100000,1
+pay_dun03.gat,228,61,0,0 monster Red Plant 1078,1,600000,300000,1
+pay_dun03.gat,138,42,0,0 monster Blue Plant 1079,1,600000,300000,1
+pay_dun03.gat,120,186,0,0 monster Green Plant 1080,1,600000,300000,1
+pay_dun03.gat,88,35,0,0 monster Yellow Plant 1081,1,600000,300000,1
+pay_dun03.gat,126,135,0,0 monster Mandragora 1020,1,300000,100000,1
+pay_dun03.gat,126,134,0,0 monster Mandragora 1020,1,300000,100000,1
+pay_dun03.gat,126,133,0,0 monster Mandragora 1020,1,300000,100000,1
+pay_dun03.gat,126,132,0,0 monster Mandragora 1020,1,300000,100000,1
+pay_dun03.gat,126,131,0,0 monster Mandragora 1020,1,300000,100000,1
+pay_dun03.gat,179,134,0,0 monster Mandragora 1020,1,300000,100000,1
+pay_dun03.gat,179,133,0,0 monster Mandragora 1020,1,300000,100000,1
+pay_dun03.gat,179,132,0,0 monster Mandragora 1020,1,300000,100000,1
+pay_dun03.gat,179,131,0,0 monster Mandragora 1020,1,300000,100000,1
+pay_dun03.gat,179,130,0,0 monster Mandragora 1020,1,300000,100000,1
+pay_dun03.gat,0,0,0,0 monster Greatest General 1277,3,0,0,0
+pay_dun03.gat,0,0,0,0 monster Red Plant 1078,15,180000,90000,1
+pay_dun03.gat,246,56,20,20 monster White Plant 1082,3,180000,90000,1
+pay_dun03.gat,52,262,10,4 monster White Plant 1082,2,180000,90000,1
+
+// pay_dun04
+
+pay_dun04.gat,0,0,0,0 monster Dokebi 1110,40,0,0,0
+pay_dun04.gat,0,0,0,0 monster Sohee 1170,5,0,0,0
+pay_dun04.gat,0,0,0,0 monster Horong 1129,30,0,0,0
+pay_dun04.gat,120,115,0,0 monster Moonlight Flower 1150,1,3600000,7200000,1
+pay_dun04.gat,0,0,0,0 monster Greatest General 1277,15,0,0,0
+pay_dun04.gat,0,0,0,0 monster Skeleton Archer 1016,15,0,0,0
+pay_dun04.gat,0,0,0,0 monster Nine-Tail 1180,20,60000,30000,0
+pay_dun04.gat,120,115,5,5 monster Skeleton General 1290,1,1800000,1200000,0
+pay_dun04.gat,120,115,5,5 monster Am Mut 1301,1,1800000,1200000,0
+pay_dun04.gat,120,115,0,0 monster Cat'o'Nine Tails 1307,1,3600000,7200000,1
+pay_dun04.gat,120,120,10,10 monster Shining Plant 1083,1,1800000,900000,1
+pay_dun04.gat,28,110,5,5 monster Shining Plant 1083,1,1800000,900000,1
+pay_dun04.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+pay_dun04.gat,107,206,5,5 monster White Plant 1082,2,180000,90000,1
+pay_dun04.gat,28,110,10,10 monster White Plant 1082,2,180000,90000,1
+pay_dun04.gat,190,207,5,5 monster White Plant 1082,2,180000,90000,1
diff --git a/npc/eamobs/dungeons/pront_maze.txt b/npc/eamobs/dungeons/pront_maze.txt
new file mode 100644
index 000000000..aa257ccda
--- /dev/null
+++ b/npc/eamobs/dungeons/pront_maze.txt
@@ -0,0 +1,92 @@
+//===== eAthena Script =======================================
+//= Prontera Maze(Hidden Temple) Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// prt_maze01
+prt_maze01.gat,179,20,21,21 monster Poring 1002,5,120000,40000,1
+prt_maze01.gat,139,20,21,21 monster Lunatic 1063,5,120000,40000,1
+prt_maze01.gat,99,20,21,21 monster Fabre 1007,5,120000,40000,1
+prt_maze01.gat,99,20,21,21 monster Creamy 1018,1,120000,40000,1
+prt_maze01.gat,59,20,21,21 monster Pupa 1008,5,120000,40000,1
+prt_maze01.gat,19,20,21,21 monster Poporing 1031,5,120000,40000,1
+prt_maze01.gat,179,60,21,21 monster Rocker 1052,5,120000,40000,1
+prt_maze01.gat,139,60,21,21 monster Bigfoot 1060,5,120000,40000,1
+prt_maze01.gat,99,60,21,21 monster Smokie 1056,5,120000,40000,1
+prt_maze01.gat,59,60,21,21 monster Boa 1025,5,120000,40000,1
+prt_maze01.gat,19,60,21,21 monster Wolf 1013,5,120000,40000,1
+prt_maze01.gat,179,100,21,21 monster Argiope 1099,3,120000,40000,1
+prt_maze01.gat,139,100,21,21 monster Argos 1100,3,120000,40000,1
+prt_maze01.gat,99,100,21,21 monster ChonChon 1011,5,120000,40000,1
+prt_maze01.gat,59,100,21,21 monster Horn 1128,5,120000,40000,1
+prt_maze01.gat,19,100,21,21 monster Hunter Fly 1035,3,120000,40000,1
+prt_maze01.gat,179,140,21,21 monster Mantis 1139,3,120000,40000,1
+prt_maze01.gat,139,140,21,21 monster Stainer 1174,5,120000,40000,1
+prt_maze01.gat,99,140,21,21 monster Sidewinder 1037,3,120000,40000,1
+prt_maze01.gat,59,140,21,21 monster Yoyo 1057,4,120000,40000,1
+prt_maze01.gat,59,140,21,21 monster Choco 1214,2,120000,40000,1
+prt_maze01.gat,19,140,21,21 monster Steel ChonChon 1042,5,120000,40000,1
+prt_maze01.gat,179,180,21,21 monster Coco 1104,5,120000,40000,1
+prt_maze01.gat,139,180,21,21 monster Caramel 1103,5,120000,40000,1
+prt_maze01.gat,99,180,21,21 monster Dustiness 1114,5,120000,40000,1
+prt_maze01.gat,59,180,21,21 monster Martin 1145,5,120000,40000,1
+prt_maze01.gat,19,180,21,21 monster Savage 1166,3,120000,40000,1
+prt_maze01.gat,19,180,21,21 monster Savage 1166,5,120000,40000,1
+prt_maze01.gat,0,0,0,0 monster Hunter Fly 1035,1,0,0,0
+prt_maze01.gat,0,0,0,0 monster Vagabond Wolf 1092,1,3600000,1800000,0
+prt_maze01.gat,0,0,0,0 monster Shining Plant 1083,5,1800000,900000,1
+prt_maze01.gat,0,0,0,0 monster Red Plant 1078,5,180000,90000,1
+prt_maze01.gat,0,0,0,0 monster Blue Plant 1079,5,180000,90000,1
+prt_maze01.gat,0,0,0,0 monster Black Mushroom 1084,5,180000,90000,1
+prt_maze01.gat,0,0,0,0 monster Red Mushroom 1085,5,180000,90000,1
+
+// prt_maze02
+
+prt_maze02.gat,0,0,0,0 monster Poporing 1031,25,0,0,0
+prt_maze02.gat,0,0,0,0 monster Bigfoot 1060,5,0,0,0
+prt_maze02.gat,0,0,0,0 monster Sasquatch 1243,1,900000,40000,0
+prt_maze02.gat,0,0,0,0 monster Leib Olmai 1306,1,1800000,900000,0
+
+// prt_maze03
+
+prt_maze03.gat,0,0,0,0 monster Poporing 1031,45,0,0,0
+prt_maze03.gat,0,0,0,0 monster Sidewinder 1037,10,0,0,0
+prt_maze03.gat,0,0,0,0 monster Hunter Fly 1035,30,0,0,0
+prt_maze03.gat,0,0,0,0 monster Ghostring 1120,1,6800000,3400000,1
+prt_maze03.gat,0,0,0,0 monster Killer Mantis 1294,1,0,0,0
+prt_maze03.gat,150,50,70,70 monster Sidewinder 1037,20,300000,150000,0
+prt_maze03.gat,150,50,70,70 monster Vocal 1088,1,1920000,1500000,1
+prt_maze03.gat,50,150,70,70 monster Stem Worm 1215,20,300000,150000,0
+prt_maze03.gat,50,150,70,70 monster Vagabond Wolf 1092,1,1920000,150000,1
+prt_maze03.gat,170,170,70,70 monster Mantis 1139,30,60000,30000,0
+prt_maze03.gat,170,170,70,70 monster Eclipse 1093,1,1920000,150000,1
+prt_maze03.gat,23,23,70,70 monster Mastering 1090,1,19200000,150000,1
+prt_maze03.gat,100,100,80,80 monster Baphomet Jr. 1101,25,0,0,0
+prt_maze03.gat,0,0,0,0 monster Baphomet 1039,1,7200000,3600000,1
+prt_maze03.gat,0,0,0,0 monster Shining Plant 1083,5,1800000,900000,1
+prt_maze03.gat,0,0,0,0 monster Red Plant 1078,5,180000,90000,1
+prt_maze03.gat,0,0,0,0 monster Blue Plant 1079,5,180000,90000,1
+prt_maze03.gat,0,0,0,0 monster Black Mushroom 1084,5,180000,90000,1
+prt_maze03.gat,0,0,0,0 monster Red Mushroom 1085,5,180000,90000,1
+prt_maze03.gat,61,98,10,10 monster Shining Plant 1083,1,1800000,900000,1
+prt_maze03.gat,61,98,10,10 monster Blue Plant 1079,1,1800000,900000,1
+prt_maze03.gat,61,98,10,10 monster Yellow Plant 1081,1,1800000,900000,1
+prt_maze03.gat,57,56,10,10 monster Shining Plant 1083,1,1800000,900000,1
+prt_maze03.gat,15,15,10,10 monster Shining Plant 1083,1,1800000,900000,1
+prt_maze03.gat,137,140,3,3 monster Shining Plant 1083,1,1800000,900000,1
+prt_maze03.gat,17,58,10,10 monster Shining Plant 1083,1,1800000,900000,1
+prt_maze03.gat,17,58,10,10 monster Blue Plant 1079,1,1800000,900000,1
+prt_maze03.gat,99,141,10,10 monster Blue Plant 1079,2,1800000,900000,1
+prt_maze03.gat,99,21,10,10 monster Blue Plant 1079,1,1800000,900000,1
+prt_maze03.gat,0,0,0,0 monster Red Plant 1078,5,180000,90000,1
+prt_maze03.gat,99,21,10,10 monster Black Mushroom 1084,3,180000,90000,1
+prt_maze03.gat,54,15,10,10 monster Black Mushroom 1084,3,180000,90000,1
+prt_maze03.gat,171,180,3,3 monster Red Mushroom 1085,2,180000,90000,1
+prt_maze03.gat,174,187,3,3 monster Red Mushroom 1085,3,180000,90000,1
diff --git a/npc/eamobs/dungeons/pront_sewers.txt b/npc/eamobs/dungeons/pront_sewers.txt
new file mode 100644
index 000000000..b84301f1e
--- /dev/null
+++ b/npc/eamobs/dungeons/pront_sewers.txt
@@ -0,0 +1,48 @@
+//===== eAthena Script =======================================
+//= Prontera Sewers(Culvert) Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// prt_sewb1
+
+prt_sewb1.gat,0,0,0,0 monster Thief Bug Egg 1048,80,0,0,0
+prt_sewb1.gat,0,0,0,0 monster Thief Bug Larva 1051,30,0,0,0
+prt_sewb1.gat,0,0,0,0 monster Familiar 1005,10,0,0,0
+prt_sewb1.gat,0,0,0,0 monster Tarou 1175,10,0,0,0
+
+// prt_sewb2
+
+prt_sewb2.gat,0,0,0,0 monster Thief Bug Egg 1048,20,0,0,0
+prt_sewb2.gat,0,0,0,0 monster Thief Bug Larva 1051,70,0,0,0
+prt_sewb2.gat,0,0,0,0 monster Familiar 1005,10,0,0,0
+prt_sewb2.gat,0,0,0,0 monster Spore 1014,20,0,0,0
+prt_sewb2.gat,0,0,0,0 monster Plankton 1161,30,0,0,0
+prt_sewb2.gat,0,0,0,0 monster Thief Bug Female 1053,10,0,0,0
+prt_sewb2.gat,0,0,0,0 monster Tarou 1175,60,0,0,0
+
+// prt_sewb3
+
+prt_sewb3.gat,0,0,0,0 monster Thief Bug Egg 1048,10,0,0,0
+prt_sewb3.gat,0,0,0,0 monster Thief Bug Larva 1051,20,0,0,0
+prt_sewb3.gat,0,0,0,0 monster Thief Bug Female 1053,65,0,0,0
+prt_sewb3.gat,0,0,0,0 monster Thief Bug Male 1054,65,0,0,0
+prt_sewb3.gat,0,0,0,0 monster Tarou 1175,15,0,0,0
+prt_sewb3.gat,0,0,0,0 monster Poison Spore 1077,15,0,0,0
+prt_sewb3.gat,0,0,0,0 monster Familiar 1005,20,0,0,0
+
+// prt_sewb4
+
+prt_sewb4.gat,0,0,0,0 monster Thief Bug Egg 1048,10,0,0,0
+prt_sewb4.gat,0,0,0,0 monster Thief Bug Larva 1051,20,0,0,0
+prt_sewb4.gat,0,0,0,0 monster Thief Bug Female 1053,20,0,0,0
+prt_sewb4.gat,0,0,0,0 monster Thief Bug Male 1054,70,0,0,0
+prt_sewb4.gat,0,0,0,0 monster Drainliar 1111,20,0,0,0
+prt_sewb4.gat,0,0,0,0 monster Cramp 1209,5,0,0,0
+prt_sewb4.gat,0,0,0,0 monster Golden Thief Bug 1086,1,3600000,1800000,1
diff --git a/npc/eamobs/dungeons/sunkenship.txt b/npc/eamobs/dungeons/sunkenship.txt
new file mode 100644
index 000000000..f122c337f
--- /dev/null
+++ b/npc/eamobs/dungeons/sunkenship.txt
@@ -0,0 +1,152 @@
+//===== eAthena Script =======================================
+//= Sunken Ship Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.1 (custom spawns)
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.1 Changed to eAthena custom spawns [Playtester]
+//============================================================
+
+// treasure01
+
+treasure01.gat,0,0,0,0 monster Kukre 1070,20,0,0,1
+treasure01.gat,0,0,0,0 monster Whisper 1179,7,0,0,1
+treasure01.gat,0,0,0,0 monster Whisper 1179,5,120000,60000,1
+treasure01.gat,107,39,15,15 monster Poison Spore 1077,3,600000,200000,1
+treasure01.gat,107,39,15,15 monster Hydra 1068,1,600000,200000,1
+treasure01.gat,29,38,15,15 monster Poison Spore 1077,3,600000,200000,1
+treasure01.gat,68,66,13,11 monster Hydra 1068,4,600000,200000,1
+treasure01.gat,34,112,17,11 monster Pirate Skeleton 1071,5,600000,200000,1
+treasure01.gat,106,111,9,9 monster Pirate Skeleton 1071,5,600000,200000,1
+treasure01.gat,106,111,9,9 monster Thara Frog 1034,5,600000,200000,1
+treasure01.gat,67,161,0,0 monster Hydra 1068,1,563000,200000,1
+treasure01.gat,67,160,0,0 monster Hydra 1068,1,593000,200000,1
+treasure01.gat,68,161,0,0 monster Hydra 1068,1,617000,200000,1
+treasure01.gat,68,160,0,0 monster Hydra 1068,1,600000,200000,1
+treasure01.gat,69,161,0,0 monster Hydra 1068,1,605000,200000,1
+treasure01.gat,69,160,0,0 monster Hydra 1068,1,590000,200000,1
+treasure01.gat,70,161,0,0 monster Hydra 1068,1,602000,200000,1
+treasure01.gat,70,160,0,0 monster Hydra 1068,1,606000,200000,1
+treasure01.gat,48,161,0,0 monster Hydra 1068,1,616000,200000,1
+treasure01.gat,48,160,0,0 monster Hydra 1068,1,600000,200000,1
+treasure01.gat,49,161,0,0 monster Hydra 1068,1,610000,200000,1
+treasure01.gat,49,160,0,0 monster Hydra 1068,1,600000,200000,1
+treasure01.gat,50,161,0,0 monster Hydra 1068,1,608000,200000,1
+treasure01.gat,50,160,0,0 monster Hydra 1068,1,601000,200000,1
+treasure01.gat,51,161,0,0 monster Hydra 1068,1,614000,200000,1
+treasure01.gat,51,160,0,0 monster Hydra 1068,1,570000,200000,1
+treasure01.gat,86,161,0,0 monster Hydra 1068,1,585000,200000,1
+treasure01.gat,86,160,0,0 monster Hydra 1068,1,610000,200000,1
+treasure01.gat,87,161,0,0 monster Hydra 1068,1,600000,200000,1
+treasure01.gat,87,160,0,0 monster Hydra 1068,1,568000,200000,1
+treasure01.gat,88,161,0,0 monster Hydra 1068,1,581000,200000,1
+treasure01.gat,88,160,0,0 monster Hydra 1068,1,596000,200000,1
+treasure01.gat,89,161,0,0 monster Hydra 1068,1,600000,200000,1
+treasure01.gat,89,160,0,0 monster Hydra 1068,1,605000,200000,1
+treasure01.gat,60,182,0,0 monster Hydra 1068,1,613000,200000,1
+treasure01.gat,76,182,0,0 monster Hydra 1068,1,569000,200000,1
+treasure01.gat,82,154,11,9 monster Poison Spore 1077,3,600000,200000,1
+treasure01.gat,54,154,11,9 monster Poison Spore 1077,3,600000,200000,1
+treasure01.gat,58,165,5,5 monster Pirate Skeleton 1071,2,600000,200000,1
+treasure01.gat,69,165,5,5 monster Pirate Skeleton 1071,2,600000,200000,1
+treasure01.gat,79,165,5,5 monster Pirate Skeleton 1071,2,600000,200000,1
+treasure01.gat,150,162,5,5 monster Pirate Skeleton 1071,3,600000,200000,1
+treasure01.gat,150,162,5,5 monster Hydra 1068,1,600000,200000,1
+treasure01.gat,163,161,5,5 monster Pirate Skeleton 1071,3,600000,200000,1
+treasure01.gat,163,161,5,5 monster Hydra 1068,1,600000,200000,1
+treasure01.gat,163,151,5,5 monster Pirate Skeleton 1071,3,600000,200000,1
+treasure01.gat,163,151,5,5 monster Hydra 1068,1,600000,200000,1
+treasure01.gat,163,141,5,5 monster Pirate Skeleton 1071,3,600000,200000,1
+treasure01.gat,163,141,5,5 monster Hydra 1068,1,600000,200000,1
+treasure01.gat,162,71,0,0 monster Hydra 1068,1,573000,200000,1
+treasure01.gat,162,70,0,0 monster Hydra 1068,1,614000,200000,1
+treasure01.gat,163,71,0,0 monster Hydra 1068,1,600000,200000,1
+treasure01.gat,163,70,0,0 monster Hydra 1068,1,600000,200000,1
+treasure01.gat,164,71,0,0 monster Hydra 1068,1,605000,200000,1
+treasure01.gat,164,70,0,0 monster Hydra 1068,1,600000,200000,1
+treasure01.gat,165,71,0,0 monster Hydra 1068,1,607000,200000,1
+treasure01.gat,165,70,0,0 monster Hydra 1068,1,593000,200000,1
+treasure01.gat,164,59,12,10 monster Whisper 1179,5,600000,200000,1
+treasure01.gat,158,63,0,0 monster Hydra 1068,1,600000,200000,1
+treasure01.gat,159,63,0,0 monster Hydra 1068,1,600000,200000,1
+treasure01.gat,158,62,0,0 monster Hydra 1068,1,600000,200000,1
+treasure01.gat,159,62,0,0 monster Hydra 1068,1,600000,200000,1
+treasure01.gat,160,60,27,19 monster Pirate Skeleton 1071,10,600000,200000,1
+treasure01.gat,158,45,0,0 monster Hydra 1068,1,602000,200000,1
+treasure01.gat,158,44,0,0 monster Hydra 1068,1,600000,200000,1
+treasure01.gat,158,43,0,0 monster Hydra 1068,1,605000,200000,1
+treasure01.gat,158,42,0,0 monster Hydra 1068,1,600000,200000,1
+treasure01.gat,158,41,0,0 monster Hydra 1068,1,600000,200000,1
+treasure01.gat,158,40,0,0 monster Hydra 1068,1,607000,200000,1
+treasure01.gat,159,45,0,0 monster Hydra 1068,1,585000,200000,1
+treasure01.gat,159,44,0,0 monster Hydra 1068,1,612000,200000,1
+treasure01.gat,159,43,0,0 monster Hydra 1068,1,618000,200000,1
+treasure01.gat,159,42,0,0 monster Hydra 1068,1,600000,200000,1
+treasure01.gat,159,41,0,0 monster Hydra 1068,1,606000,200000,1
+treasure01.gat,159,40,0,0 monster Hydra 1068,1,590000,200000,1
+treasure01.gat,168,45,0,0 monster Hydra 1068,1,600000,200000,1
+treasure01.gat,168,44,0,0 monster Hydra 1068,1,614000,200000,1
+treasure01.gat,168,43,0,0 monster Hydra 1068,1,600000,200000,1
+treasure01.gat,168,42,0,0 monster Hydra 1068,1,606000,200000,1
+treasure01.gat,168,41,0,0 monster Hydra 1068,1,590000,200000,1
+treasure01.gat,168,40,0,0 monster Hydra 1068,1,622000,200000,1
+treasure01.gat,169,45,0,0 monster Hydra 1068,1,600000,200000,1
+treasure01.gat,169,44,0,0 monster Hydra 1068,1,602000,200000,1
+treasure01.gat,169,43,0,0 monster Hydra 1068,1,605000,200000,1
+treasure01.gat,169,42,0,0 monster Hydra 1068,1,600000,200000,1
+treasure01.gat,169,41,0,0 monster Hydra 1068,1,613000,200000,1
+treasure01.gat,169,40,0,0 monster Hydra 1068,1,600000,200000,1
+
+// treasure02
+
+treasure02.gat,0,0,0,0 monster Ghostring 1120,1,1980000,1200000,1
+treasure02.gat,0,0,0,0 monster Whisper 1179,8,0,0,0
+treasure02.gat,0,0,0,0 monster Wanderer 1208,1,600000,300000,1
+treasure02.gat,0,0,0,0 monster Penomena 1216,19,300000,120000,1
+treasure02.gat,0,0,0,0 monster Kukre 1070,20,0,0,1
+treasure02.gat,0,0,0,0 monster Pirate Skeleton 1071,5,0,0,1
+treasure02.gat,0,0,0,0 monster Mimic 1191,3,0,0,1
+treasure02.gat,95,57,0,0 monster Hydra 1068,1,600000,200000,1
+treasure02.gat,96,57,0,0 monster Hydra 1068,1,600000,200000,1
+treasure02.gat,101,57,0,0 monster Hydra 1068,1,600000,200000,1
+treasure02.gat,102,57,0,0 monster Hydra 1068,1,600000,200000,1
+treasure02.gat,107,57,0,0 monster Hydra 1068,1,600000,200000,1
+treasure02.gat,108,57,0,0 monster Hydra 1068,1,600000,200000,1
+treasure02.gat,102,68,13,13 monster Whisper 1179,2,600000,200000,1
+treasure02.gat,102,80,5,5 monster Whisper 1179,1,600000,200000,1
+treasure02.gat,102,88,5,5 monster Whisper 1179,1,600000,200000,1
+treasure02.gat,100,85,0,0 monster Hydra 1068,1,600000,200000,1
+treasure02.gat,101,85,0,0 monster Hydra 1068,1,600000,200000,1
+treasure02.gat,102,85,0,0 monster Hydra 1068,1,600000,200000,1
+treasure02.gat,103,85,0,0 monster Hydra 1068,1,600000,200000,1
+treasure02.gat,100,136,0,0 monster Hydra 1068,1,600000,200000,1
+treasure02.gat,101,136,0,0 monster Hydra 1068,1,600000,200000,1
+treasure02.gat,102,136,0,0 monster Hydra 1068,1,600000,200000,1
+treasure02.gat,103,136,0,0 monster Hydra 1068,1,600000,200000,1
+treasure02.gat,100,143,0,0 monster Hydra 1068,1,600000,200000,1
+treasure02.gat,101,143,0,0 monster Hydra 1068,1,600000,200000,1
+treasure02.gat,102,143,0,0 monster Hydra 1068,1,600000,200000,1
+treasure02.gat,103,143,0,0 monster Hydra 1068,1,600000,200000,1
+treasure02.gat,101,150,15,10 monster Whisper 1179,4,600000,200000,1
+treasure02.gat,101,151,8,8 monster Drake 1112,1,7200000,3600000,1
+treasure02.gat,101,151,10,10 monster Mimic 1191,3,600000,300000,1
+treasure02.gat,101,151,10,10 monster Mimic 1191,2,300000,300000,1
+treasure02.gat,101,151,10,10 monster Penomena 1216,4,600000,300000,1
+treasure02.gat,101,126,2,2 monster Penomena 1216,1,1200000,600000,1
+treasure02.gat,101,135,2,2 monster Penomena 1216,1,600000,300000,1
+treasure02.gat,38,74,9,9 monster Pirate Skeleton 1071,3,600000,200000,1
+treasure02.gat,170,71,1,1 monster Pirate Skeleton 1071,1,300000,300000,1
+treasure02.gat,168,77,1,1 monster Pirate Skeleton 1071,1,300000,300000,1
+treasure02.gat,164,67,1,1 monster Pirate Skeleton 1071,1,300000,300000,1
+treasure02.gat,155,43,21,13 monster Pirate Skeleton 1071,6,600000,200000,1
+treasure02.gat,178,143,1,1 monster Pirate Skeleton 1071,1,600000,200000,1
+treasure02.gat,178,140,1,1 monster Pirate Skeleton 1071,1,600000,200000,1
+treasure02.gat,184,143,1,1 monster Pirate Skeleton 1071,1,600000,200000,1
+treasure02.gat,157,143,1,1 monster Whisper 1179,1,300000,300000,1
+treasure02.gat,151,138,1,1 monster Whisper 1179,1,300000,300000,1
+treasure02.gat,45,144,1,1 monster Whisper 1179,1,600000,200000,1
+treasure02.gat,52,139,1,1 monster Whisper 1179,1,600000,200000,1
+treasure02.gat,23,142,1,1 monster Marionette 1143,1,600000,200000,1
diff --git a/npc/eamobs/dungeons/thanatos.txt b/npc/eamobs/dungeons/thanatos.txt
new file mode 100644
index 000000000..b2e7402c1
--- /dev/null
+++ b/npc/eamobs/dungeons/thanatos.txt
@@ -0,0 +1,137 @@
+//===== eAthena Script =======================================
+//= Thanatos Tower Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.0 Real spawns by Poki#3 [Nexon]
+//============================================================
+
+//Thanatos Tower Floor 1
+tha_t01.gat,0,0,0,0 monster Mimic 1191,30,0,0,0
+tha_t01.gat,0,0,0,0 monster Rideword 1195,20,0,0,0
+tha_t01.gat,0,0,0,0 monster Plasma 1695,10,0,0,0
+tha_t01.gat,0,0,0,0 monster Solace 1703,10,0,0,0
+tha_t01.gat,0,0,0,0 monster Alice 1275,1,0,0,0
+
+//Thanatos Tower Floor 2
+tha_t02.gat,0,0,0,0 monster Rideword 1195,20,0,0,0
+tha_t02.gat,0,0,0,0 monster Deathword 1698,20,0,0,0
+tha_t02.gat,0,0,0,0 monster Mimic 1191,30,0,0,0
+tha_t02.gat,0,0,0,0 monster Ancient Mimic 1699,20,0,0,0
+tha_t02.gat,0,0,0,0 monster Plasma 1697,10,0,0,0
+tha_t02.gat,0,0,0,0 monster Retribution 1702,10,0,0,0
+tha_t02.gat,0,0,0,0 monster Alice 1275,1,0,0,0
+
+//Thanatos Tower Floor 3
+tha_t03.gat,0,0,0,0 monster Rideword 1195,20,0,0,0
+tha_t03.gat,0,0,0,0 monster Deathword 1698,20,0,0,0
+tha_t03.gat,0,0,0,0 monster Mimic 1191,30,0,0,0
+tha_t03.gat,0,0,0,0 monster Plasma 1696,10,0,0,0
+tha_t03.gat,0,0,0,0 monster Shelter 1701,10,0,0,0
+tha_t03.gat,0,0,0,0 monster Ancient Mimic 1699,20,0,0,0
+tha_t03.gat,0,0,0,0 monster Owl Duke 1320,10,0,0,0
+tha_t03.gat,0,0,0,0 monster Elder 1377,10,0,0,0
+
+//Thanatos Tower Floor 4
+tha_t04.gat,0,0,0,0 monster Rideword 1195,20,0,0,0
+tha_t04.gat,0,0,0,0 monster Deathword 1698,20,0,0,0
+tha_t04.gat,0,0,0,0 monster Mimic 1191,30,0,0,0
+tha_t04.gat,0,0,0,0 monster Ancient Mimic 1699,20,0,0,0
+tha_t04.gat,0,0,0,0 monster Plasma 1694,10,0,0,0
+tha_t04.gat,0,0,0,0 monster Owl Duke 1320,10,0,0,0
+tha_t04.gat,0,0,0,0 monster Owl Baron 1295,10,0,0,0
+tha_t04.gat,0,0,0,0 monster Elder 1377,10,0,0,0
+tha_t04.gat,0,0,0,0 monster Observation 1700,10,0,0,0
+
+//Thanatos Tower Floor 5
+tha_t05.gat,0,0,0,0 monster Rideword 1195,20,0,0,0
+tha_t05.gat,0,0,0,0 monster Deathword 1698,20,0,0,0
+tha_t05.gat,0,0,0,0 monster Mimic 1191,20,0,0,0
+tha_t05.gat,0,0,0,0 monster Ancient Mimic 1699,15,0,0,0
+tha_t05.gat,0,0,0,0 monster Plasma 1694,5,0,0,0
+tha_t05.gat,0,0,0,0 monster Plasma 1697,5,0,0,0
+tha_t05.gat,0,0,0,0 monster Plasma 1695,5,0,0,0
+tha_t05.gat,0,0,0,0 monster Plasma 1696,5,0,0,0
+tha_t05.gat,0,0,0,0 monster Owl Duke 1320,10,0,0,0
+tha_t05.gat,0,0,0,0 monster Elder 1377,10,0,0,0
+tha_t05.gat,0,0,0,0 monster Thanatos Dolor 1707,10,0,0,0
+
+//Thanatos Tower Floor 6
+tha_t06.gat,0,0,0,0 monster Rideword 1195,20,0,0,0
+tha_t06.gat,0,0,0,0 monster Deathword 1698,20,0,0,0
+tha_t06.gat,0,0,0,0 monster Mimic 1191,20,0,0,0
+tha_t06.gat,0,0,0,0 monster Ancient Mimic 1699,20,0,0,0
+tha_t06.gat,0,0,0,0 monster Plasma 1694,5,0,0,0
+tha_t06.gat,0,0,0,0 monster Plasma 1697,5,0,0,0
+tha_t06.gat,0,0,0,0 monster Plasma 1695,5,0,0,0
+tha_t06.gat,0,0,0,0 monster Plasma 1696,5,0,0,0
+tha_t06.gat,0,0,0,0 monster Owl Duke 1320,10,0,0,0
+tha_t06.gat,0,0,0,0 monster Elder 1377,15,0,0,0
+tha_t06.gat,0,0,0,0 monster Thanatos Maero 1706,2,0,0,0
+tha_t06.gat,0,0,0,0 monster Thanatos Dolor 1707,10,0,0,0
+
+//Thanatos Tower Floor 7
+tha_t07.gat,0,0,0,0 monster Rideword 1195,10,0,0,0
+tha_t07.gat,0,0,0,0 monster Deathword 1698,20,0,0,0
+tha_t07.gat,0,0,0,0 monster Mimic 1191,10,0,0,0
+tha_t07.gat,0,0,0,0 monster Ancient Mimic 1699,20,0,0,0
+tha_t07.gat,0,0,0,0 monster Observation 1700,10,0,0,0
+tha_t07.gat,0,0,0,0 monster Retribution 1702,20,0,0,0
+tha_t07.gat,0,0,0,0 monster Elder 1377,20,0,0,0
+tha_t07.gat,0,0,0,0 monster Shelter 1701,10,0,0,0
+tha_t07.gat,0,0,0,0 monster Thanatos Odium 1704,2,0,0,0
+
+//Thanatos Tower Floor 8
+tha_t08.gat,0,0,0,0 monster Rideword 1195,20,0,0,0
+tha_t08.gat,0,0,0,0 monster Deathword 1698,20,0,0,0
+tha_t08.gat,0,0,0,0 monster Mimic 1191,20,0,0,0
+tha_t08.gat,0,0,0,0 monster Ancient Mimic 1699,10,0,0,0
+tha_t08.gat,0,0,0,0 monster Observation 1700,10,0,0,0
+tha_t08.gat,0,0,0,0 monster Retribution 1702,10,0,0,0
+tha_t08.gat,0,0,0,0 monster Elder 1377,10,0,0,0
+tha_t08.gat,0,0,0,0 monster Shelter 1701,10,0,0,0
+tha_t08.gat,0,0,0,0 monster Thanatos Odium 1704,5,1800000,0,0
+
+//Thanatos Tower Floor 9
+tha_t09.gat,0,0,0,0 monster Observation 1700,10,0,0,0
+tha_t09.gat,0,0,0,0 monster Retribution 1702,20,0,0,0
+tha_t09.gat,0,0,0,0 monster Plasma 1694,10,0,0,0
+tha_t09.gat,0,0,0,0 monster Elder 1377,20,0,0,0
+tha_t09.gat,0,0,0,0 monster Shelter 1701,10,0,0,0
+tha_t09.gat,0,0,0,0 monster Thanatos Dolor 1707,5,0,0,0
+
+//Thanatos Tower Floor 10
+tha_t10.gat,0,0,0,0 monster Observation 1700,10,0,0,0
+tha_t10.gat,0,0,0,0 monster Retribution 1702,10,0,0,0
+tha_t10.gat,0,0,0,0 monster Plasma 1697,5,0,0,0
+tha_t10.gat,0,0,0,0 monster Elder 1377,20,0,0,0
+tha_t10.gat,0,0,0,0 monster Shelter 1701,10,0,0,0
+tha_t10.gat,0,0,0,0 monster Thanatos Dolor 1707,5,0,0,0
+
+//Thanatos Tower Floor 11
+tha_t11.gat,0,0,0,0 monster Observation 1700,20,0,0,0
+tha_t11.gat,0,0,0,0 monster Retribution 1702,20,0,0,0
+tha_t11.gat,0,0,0,0 monster Plasma 1695,10,0,0,0
+tha_t11.gat,0,0,0,0 monster Elder 1377,20,0,0,0
+tha_t11.gat,0,0,0,0 monster Shelter 1701,20,0,0,0
+tha_t11.gat,0,0,0,0 monster Thanatos Odium 1704,2,0,0,0
+tha_t11.gat,0,0,0,0 monster Thanatos Despero 1705,5,1800000,0,0
+
+//Thanatos Tower Floor 12
+tha_t12.gat,0,0,0,0 monster Observation 1700,10,0,0,0
+tha_t12.gat,0,0,0,0 monster Retribution 1702,30,0,0,0
+tha_t12.gat,0,0,0,0 monster Shelter 1701,10,0,0,0
+tha_t12.gat,0,0,0,0 monster Plasma 1693,10,0,0,0
+tha_t12.gat,0,0,0,0 monster Elder 1377,20,0,0,0
+tha_t12.gat,0,0,0,0 monster Thanatos Odium 1704,2,0,0,0
+tha_t12.gat,0,0,0,0 monster Thanatos Despero 1705,2,0,0,0
+tha_t12.gat,0,0,0,0 monster Thanatos Maero 1706,2,0,0,0
+tha_t12.gat,0,0,0,0 monster Thanatos Dolor 1707,5,0,0,0
+
+//The top of The Thanatos Tower
+thana_boss.gat,135,119,0,0 monster Thanatos 1708,1,3600000,7200000,0
+// Note - Thanatos spawn should be removed later. He should be summoned by finishing the Thanatos Tower Quest (At least from the info I have ^^; )
diff --git a/npc/eamobs/dungeons/toyfactory.txt b/npc/eamobs/dungeons/toyfactory.txt
new file mode 100644
index 000000000..a7e2741a0
--- /dev/null
+++ b/npc/eamobs/dungeons/toyfactory.txt
@@ -0,0 +1,33 @@
+//===== eAthena Script =======================================
+//= Toy Factory Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.1 added Hatii Baby according to May 10 patch
+//============================================================
+
+// Christmas Dungeon 1F
+
+xmas_dun01.gat,0,0,0,0 monster Marin 1242,20,0,0,0
+xmas_dun01.gat,0,0,0,0 monster Poring 1002,10,0,0,0
+xmas_dun01.gat,0,0,0,0 monster Drops 1113,10,0,0,0
+xmas_dun01.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+xmas_dun01.gat,0,0,0,0 monster Cookie 1265,40,0,0,0
+xmas_dun01.gat,0,0,0,0 monster Christmas Cookie 1246,40,0,0,0
+xmas_dun01.gat,0,0,0,0 monster Myst Case 1249,5,0,0,0
+xmas_dun01.gat,0,0,0,0 monster Chepet 1250,1,1200000,900000,0
+xmas_dun01.gat,0,0,0,0 monster Mastering 1090,1,1800000,900000,0
+xmas_dun01.gat,0,0,0,0 monster Angeling 1096,1,3600000,1800000,0
+
+// Christmas Dungeon 2F
+
+xmas_dun02.gat,0,0,0,0 monster Christmas Cookie 1246,20,0,0,0
+xmas_dun02.gat,0,0,0,0 monster Cookie 1265,20,0,0,0
+xmas_dun02.gat,0,0,0,0 monster Cruiser 1248,35,0,0,0
+xmas_dun02.gat,0,0,0,0 monster Myst Case 1249,50,0,0,0
+xmas_dun02.gat,0,0,0,0 monster Hatii Baby 1515,1,1800000,0,0
+xmas_dun02.gat,0,0,0,0 monster Stormy Knight 1251,1,3600000,7200000,0
diff --git a/npc/eamobs/dungeons/turtleisland.txt b/npc/eamobs/dungeons/turtleisland.txt
new file mode 100644
index 000000000..bf7041e86
--- /dev/null
+++ b/npc/eamobs/dungeons/turtleisland.txt
@@ -0,0 +1,67 @@
+//===== eAthena Script =======================================
+//= Turtle Island Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+//tur_dun01
+
+tur_dun01.gat,0,0,0,0 monster Dragon Tail 1321,25,0,0,0
+tur_dun01.gat,0,0,0,0 monster Spring Rabbit 1322,25,0,0,0
+tur_dun01.gat,0,0,0,0 monster Thara Frog 1034,10,0,0,0
+tur_dun01.gat,0,0,0,0 monster Perimeter 1314,10,0,0,0
+tur_dun01.gat,0,0,0,0 monster Pest 1256,15,0,0,0
+
+//tur_dun02
+
+tur_dun02.gat,0,0,0,0 monster Perimeter 1314,40,0,0,0
+tur_dun02.gat,0,0,0,0 monster Solider 1316,40,0,0,0
+tur_dun02.gat,0,0,0,0 monster Freezer 1319,20,0,0,0
+tur_dun02.gat,0,0,0,0 monster Pest 1256,15,0,0,0
+
+//tur_dun03
+
+tur_dun03.gat,0,0,0,0 monster Perimeter 1314,15,0,0,0
+tur_dun03.gat,0,0,0,0 monster Freezer 1319,40,0,0,0
+tur_dun03.gat,0,0,0,0 monster Assaulter 1315,35,0,0,0
+tur_dun03.gat,0,0,0,0 monster Heater 1318,10,50000,0,0
+
+//tur_dun04
+
+tur_dun04.gat,99,92,10,10 monster Wanderer 1208,1,60000,30000,0
+tur_dun04.gat,99,93,20,20 monster Turtle General 1312,1,3600000,7200000,0
+tur_dun04.gat,100,93,20,20 monster Heater 1318,3,120000,60000,0
+tur_dun04.gat,100,93,20,20 monster Assaulter 1315,10,120000,60000,0
+tur_dun04.gat,100,93,20,20 monster Freezer 1319,5,120000,60000,0
+tur_dun04.gat,171,159,3,3 monster Wanderer 1208,1,300000,150000,0
+tur_dun04.gat,171,155,3,3 monster Assaulter 1315,1,310000,160000,0
+tur_dun04.gat,171,149,3,3 monster Assaulter 1315,1,320000,170000,0
+tur_dun04.gat,28,159,3,3 monster Wanderer 1208,1,300000,150000,0
+tur_dun04.gat,28,155,3,3 monster Assaulter 1315,1,310000,160000,0
+tur_dun04.gat,28,149,3,3 monster Assaulter 1315,1,320000,170000,0
+tur_dun04.gat,174,26,3,3 monster Wanderer 1208,1,300000,150000,0
+tur_dun04.gat,174,29,3,3 monster Assaulter 1315,1,310000,160000,0
+tur_dun04.gat,174,32,3,3 monster Assaulter 1315,1,320000,170000,0
+tur_dun04.gat,26,26,3,3 monster Wanderer 1208,1,300000,150000,0
+tur_dun04.gat,26,29,3,3 monster Assaulter 1315,1,310000,160000,0
+tur_dun04.gat,26,32,3,3 monster Assaulter 1315,1,320000,170000,0
+tur_dun04.gat,0,0,0,0 monster Wanderer 1208,2,0,0,0
+tur_dun04.gat,0,0,0,0 monster Heater 1318,10,300000,150000,0
+tur_dun04.gat,0,0,0,0 monster Heater 1318,20,620000,310000,0
+tur_dun04.gat,0,0,0,0 monster Assaulter 1315,23,0,0,0
+tur_dun04.gat,0,0,0,0 monster Freezer 1319,5,300000,150000,0
+tur_dun04.gat,0,0,0,0 monster Freezer 1319,5,600000,300000,0
+tur_dun04.gat,0,0,0,0 monster Perimeter 1314,2,300000,150000,0
+tur_dun04.gat,0,0,0,0 monster Perimeter 1314,2,640000,320000,0
+
+//tur_dun05
+
+tur_dun05.gat,0,0,0,0 monster Perimeter 1314,3,20000,0,0
+tur_dun05.gat,0,0,0,0 monster Freezer 1319,5,30000,0,0
+tur_dun05.gat,0,0,0,0 monster Assaulter 1315,1,20000,0,0
diff --git a/npc/eamobs/dungeons/umbaladun.txt b/npc/eamobs/dungeons/umbaladun.txt
new file mode 100644
index 000000000..ca1a50a36
--- /dev/null
+++ b/npc/eamobs/dungeons/umbaladun.txt
@@ -0,0 +1,47 @@
+//===== eAthena Script =======================================
+//= Umbala Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+//um_dun01
+
+um_dun01.gat,0,0,0,0 monster Stainer 1174,10,0,0,0
+um_dun01.gat,0,0,0,0 monster Dustiness 1114,10,0,0,0
+um_dun01.gat,0,0,0,0 monster Stone Shooter 1495,70,0,0,0
+um_dun01.gat,0,0,0,0 monster Wootan Fighter 1499,10,0,0,0
+um_dun01.gat,0,0,0,0 monster Wootan Shooter 1498,10,0,0,0
+um_dun01.gat,0,0,0,0 monster Beetle King 1494,10,0,0,0
+um_dun01.gat,0,0,0,0 monster Yellow Plant 1081,5,180000,90000,1
+um_dun01.gat,0,0,0,0 monster Green Plant 1080,5,180000,90000,1
+
+
+//um_dun02
+
+um_dun02.gat,0,0,0,0 monster Wooden Golem 1497,25,0,0,0
+um_dun02.gat,0,0,0,0 monster Wooden Golem 1497,35,120000,60000,0
+um_dun02.gat,0,0,0,0 monster Beetle King 1494,30,0,0,0
+um_dun02.gat,0,0,0,0 monster Beetle King 1494,10,120000,60000,0
+um_dun02.gat,0,0,0,0 monster Driller 1380,5,0,0,0
+um_dun02.gat,197,138,10,10 monster Driller 1380,2,120000,60000,0
+um_dun02.gat,164,203,10,10 monster Driller 1380,1,120000,60000,0
+um_dun02.gat,32,83,10,10 monster Driller 1380,1,120000,60000,0
+um_dun02.gat,244,129,10,10 monster Driller 1380,2,120000,60000,0
+um_dun02.gat,0,0,0,0 monster Wootan Shooter 1498,10,0,0,0
+um_dun02.gat,213,217,10,10 monster Wootan Shooter 1498,2,120000,60000,0
+um_dun02.gat,72,258,10,10 monster Wootan Shooter 1498,3,120000,60000,0
+um_dun02.gat,79,227,5,5 monster Wootan Shooter 1498,1,120000,60000,0
+um_dun02.gat,170,145,5,5 monster Wootan Shooter 1498,1,120000,60000,0
+um_dun02.gat,209,34,10,10 monster Wootan Shooter 1498,1,120000,60000,0
+um_dun02.gat,272,163,10,10 monster Wootan Shooter 1498,1,120000,60000,0
+um_dun02.gat,232,156,10,10 monster Wootan Shooter 1498,1,120000,60000,0
+um_dun02.gat,0,0,0,0 monster Dryad 1493,10,0,0,0
+um_dun02.gat,0,0,0,0 monster Yellow Plant 1081,5,180000,90000,1
+um_dun02.gat,0,0,0,0 monster Red Plant 1078,5,180000,90000,1
+um_dun02.gat,0,0,0,0 monster Shining Plant 1083,6,180000,90000,1
diff --git a/npc/eamobs/dungeons/yggdrasil.txt b/npc/eamobs/dungeons/yggdrasil.txt
new file mode 100644
index 000000000..cd0f01cb3
--- /dev/null
+++ b/npc/eamobs/dungeons/yggdrasil.txt
@@ -0,0 +1,32 @@
+//===== eAthena Script =======================================
+//= Yggdrasil Tree Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.0 Splitted from Nifflheim fields [DracoRPG]
+//============================================================
+
+//yggdrasil01
+yggdrasil01.gat,234,256,10,10 monster Blue Plant 1079,5,1800000,600000,0
+yggdrasil01.gat,273,234,3,3 monster Shining Plant 1083,1,1800000,600000,0
+yggdrasil01.gat,143,257,20,10 monster Shining Plant 1083,5,1200000,600000,0
+yggdrasil01.gat,98,238,20,15 monster Yellow Plant 1081,5,1200000,600000,0
+yggdrasil01.gat,98,238,20,15 monster White Plant 1082,5,1200000,600000,0
+yggdrasil01.gat,47,207,20,20 monster Blue Plant 1079,5,1200000,600000,0
+yggdrasil01.gat,61,258,3,3 monster Shining Plant 1083,1,1800000,600000,0
+yggdrasil01.gat,132,199,20,5 monster Blue Plant 1079,5,1200000,600000,0
+yggdrasil01.gat,209,218,2,2 monster Shining Plant 1083,1,1200000,600000,0
+yggdrasil01.gat,192,186,2,2 monster Shining Plant 1083,1,1800000,1200000,0
+yggdrasil01.gat,169,176,3,3 monster Shining Plant 1083,1,1200000,600000,0
+yggdrasil01.gat,169,176,3,3 monster Green Plant 1080,1,60000,30000,0
+yggdrasil01.gat,94,111,5,2 monster Shining Plant 1083,1,1200000,600000,0
+yggdrasil01.gat,51,118,10,3 monster Shining Plant 1083,1,1200000,600000,0
+yggdrasil01.gat,133,54,3,3 monster Shining Plant 1083,1,1200000,600000,0
+yggdrasil01.gat,257,63,10,10 monster Shining Plant 1083,3,1800000,1200000,0
+yggdrasil01.gat,0,0,0,0 monster Shining Plant 1083,10,3600000,2300000,0
+yggdrasil01.gat,0,0,0,0 monster Green Plant 1080,25,60000,30000,0
+yggdrasil01.gat,0,0,0,0 monster Red Plant 1078,15,60000,30000,0
diff --git a/npc/eamobs/fields/amatsu.txt b/npc/eamobs/fields/amatsu.txt
new file mode 100644
index 000000000..4488890b4
--- /dev/null
+++ b/npc/eamobs/fields/amatsu.txt
@@ -0,0 +1,39 @@
+//===== eAthena Script =======================================
+//= Amatsu Fields Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// ama_fild01
+
+ama_fild01.gat,0,0,0,0 monster Karakasa 1400,50,0,0,0
+ama_fild01.gat,174,207,20,20 monster Kapha 1406,5,1200000,600000,0
+ama_fild01.gat,241,310,10,10 monster Kapha 1406,5,600000,300000,0
+ama_fild01.gat,114,230,10,10 monster Kapha 1406,5,600000,300000,0
+ama_fild01.gat,174,253,10,10 monster Kapha 1406,5,600000,300000,0
+ama_fild01.gat,177,315,0,0 monster Hydra 1068,1,300000,30000,0
+ama_fild01.gat,175,315,0,0 monster Hydra 1068,1,303000,31500,0
+ama_fild01.gat,173,315,0,0 monster Hydra 1068,1,306000,33000,0
+ama_fild01.gat,171,315,0,0 monster Hydra 1068,1,309000,34500,0
+ama_fild01.gat,169,315,0,0 monster Hydra 1068,1,302000,39000,0
+ama_fild01.gat,177,314,0,0 monster Hydra 1068,1,306000,33000,0
+ama_fild01.gat,175,314,0,0 monster Hydra 1068,1,302000,39000,0
+ama_fild01.gat,173,314,0,0 monster Hydra 1068,1,300000,30000,0
+ama_fild01.gat,171,314,0,0 monster Hydra 1068,1,309000,34500,0
+ama_fild01.gat,169,314,0,0 monster Hydra 1068,1,303000,31500,0
+ama_fild01.gat,171,313,0,0 monster Hydra 1068,1,306000,33000,0
+ama_fild01.gat,173,313,0,0 monster Hydra 1068,1,300000,30000,0
+ama_fild01.gat,175,313,0,0 monster Hydra 1068,1,306000,33000,0
+ama_fild01.gat,173,310,0,0 monster Hydra 1068,1,300000,30000,0
+ama_fild01.gat,0,0,0,0 monster Kapha 1406,20,60000,30000,0
+ama_fild01.gat,174,306,20,20 monster Kapha 1406,10,300000,150000,0
+ama_fild01.gat,0,0,0,0 monster Miyabi Doll 1404,2,180000,90000,0
+ama_fild01.gat,0,0,0,0 monster Poison Toad 1402,1,180000,90000,0
+ama_fild01.gat,0,0,0,0 monster Poporing 1031,15,0,0,0
+ama_fild01.gat,0,0,0,0 monster Bigfoot 1060,15,60000,30000,0
diff --git a/npc/eamobs/fields/ayothaya.txt b/npc/eamobs/fields/ayothaya.txt
new file mode 100644
index 000000000..99ce118e5
--- /dev/null
+++ b/npc/eamobs/fields/ayothaya.txt
@@ -0,0 +1,25 @@
+//===== eAthena Script =======================================
+//= Ayothana Field Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= Currently using EuRO data provided by Ishizu.
+//= 1.3 Removed Choco
+//============================================================
+
+//=== Ayothana Field #1 ===
+ayo_fild01.gat,0,0,0,0 monster Green Plant 1080,10,0,0,0
+ayo_fild01.gat,0,0,0,0 monster Coco 1104,30,0,0,0
+ayo_fild01.gat,0,0,0,0 monster Smokie 1056,30,0,0,0
+ayo_fild01.gat,0,0,0,0 monster Yoyo 1057,30,0,0,0
+ayo_fild01.gat,0,0,0,0 monster Leaf Cat 1586,5,0,0,0
+
+//=== Ayothana Field #2 ===
+ayo_fild02.gat,0,0,0,0 monster Yellow Plant 1081,10,0,0,0
+ayo_fild02.gat,0,0,0,0 monster Beetle 1494,10,0,0,0
+ayo_fild02.gat,0,0,0,0 monster Wootan Fighter 1499,20,0,0,0
+ayo_fild02.gat,0,0,0,0 monster Leaf Cat 1586,50,0,0,0
diff --git a/npc/eamobs/fields/comodo.txt b/npc/eamobs/fields/comodo.txt
new file mode 100644
index 000000000..53d3a20df
--- /dev/null
+++ b/npc/eamobs/fields/comodo.txt
@@ -0,0 +1,169 @@
+//===== eAthena Script =======================================
+//= Comodo Fields Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.2 (custom spawns)
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.2 Changed to eAthena custom spawns [Playtester]
+//============================================================
+
+// cmd_fild01 (lv3)
+
+cmd_fild01.gat,0,0,0,0 monster Alligator 1271,60,0,0,0
+cmd_fild01.gat,0,0,0,0 monster Savage 1166,30,0,0,0
+cmd_fild01.gat,0,0,0,0 monster Poporing 1031,30,0,0,0
+cmd_fild01.gat,0,0,0,0 monster Poison Spore 1077,20,0,0,0
+
+// cmd_fild02 (lv3)
+
+cmd_fild02.gat,73,100,40,100 monster Aster 1266,5,600000,300000,0
+cmd_fild02.gat,200,130,150,50 monster Aster 1266,5,600000,300000,0
+cmd_fild02.gat,0,0,0,0 monster Crab 1073,20,0,0,0
+cmd_fild02.gat,0,0,0,0 monster Alligator 1271,10,0,0,0
+cmd_fild02.gat,0,0,0,0 monster Raggler 1254,30,0,0,0
+cmd_fild02.gat,94,85,40,80 monster Raggler 1254,2,600000,300000,0
+cmd_fild02.gat,95,89,40,80 monster Cornutus 1067,5,600000,300000,0
+cmd_fild02.gat,279,78,100,20 monster Cornutus 1067,10,600000,300000,0
+cmd_fild02.gat,0,0,0,0 monster Shellfish 1074,35,0,0,0
+cmd_fild02.gat,93,82,40,80 monster Shellfish 1074,5,600000,300000,0
+cmd_fild02.gat,0,0,0,0 monster Mobster 1313,1,0,0,0
+cmd_fild02.gat,200,130,150,40 monster Seal 1317,18,600000,300000,0
+cmd_fild02.gat,93,82,40,80 monster Seal 1317,2,600000,300000,0
+cmd_fild02.gat,0,0,0,0 monster Galapago 1391,20,0,0,0
+
+// cmd_fild03 (lv4)
+
+cmd_fild03.gat,0,0,0,0 monster Mutant Dragonoid 1262,1,3600000,1800000,1
+cmd_fild03.gat,0,0,0,0 monster Pest 1256,30,0,0,0
+cmd_fild03.gat,0,0,0,0 monster Poporing 1031,10,0,0,0
+cmd_fild03.gat,0,0,0,0 monster Anolian 1206,60,0,0,0
+cmd_fild03.gat,0,0,0,0 monster Toad 1089,1,3600000,1800000,1
+cmd_fild03.gat,0,0,0,0 monster Rotar Zairo 1392,30,0,0,0
+
+// cmd_fild04 (lv3)
+cmd_fild04.gat,221,120,120,40 monster Aster 1266,45,600000,300000,0
+cmd_fild04.gat,0,0,0,0 monster Alligator 1271,40,0,0,0
+cmd_fild04.gat,0,0,0,0 monster Crab 1073,20,0,0,0
+cmd_fild04.gat,0,0,0,0 monster Raggler 1254,20,0,0,0
+cmd_fild04.gat,0,0,0,0 monster Shellfish 1074,20,0,0,0
+cmd_fild04.gat,221,120,120,40 monster Sea Otter 1323,20,600000,300000,0
+
+// cmd_fild05 (lv3)
+
+cmd_fild05.gat,0,0,0,0 monster Frilldora 1119,15,0,0,0
+cmd_fild05.gat,0,0,0,0 monster Anolian 1206,20,0,0,0
+cmd_fild05.gat,0,0,0,0 monster Stem Worm 1215,30,0,0,0
+cmd_fild05.gat,0,0,0,0 monster Poporing 1031,10,0,0,0
+cmd_fild05.gat,0,0,0,0 monster Pest 1256,20,0,0,0
+
+// cmd_fild06 (lv3)
+
+cmd_fild06.gat,357,299,80,70 monster Kobold Archer 1282,5,600000,300000,0
+cmd_fild06.gat,318,146,120,80 monster Kobold Archer 1282,7,600000,300000,0
+cmd_fild06.gat,244,113,0,0 monster Kobold Archer 1282,1,600000,300000,0
+cmd_fild06.gat,290,164,0,0 monster Kobold Archer 1282,1,600000,300000,0
+cmd_fild06.gat,284,197,0,0 monster Kobold Archer 1282,1,600000,300000,0
+cmd_fild06.gat,286,289,0,0 monster Kobold Archer 1282,1,600000,300000,0
+cmd_fild06.gat,314,267,0,0 monster Kobold Archer 1282,1,600000,300000,0
+cmd_fild06.gat,355,294,80,70 monster Goblin Archer 1258,7,600000,300000,0
+cmd_fild06.gat,307,97,70,200 monster Goblin Archer 1258,7,600000,300000,0
+cmd_fild06.gat,100,265,10,40 monster Goblin Archer 1258,3,600000,300000,0
+cmd_fild06.gat,244,110,0,0 monster Goblin Archer 1258,1,600000,300000,0
+cmd_fild06.gat,292,169,0,0 monster Goblin Archer 1258,1,600000,300000,0
+cmd_fild06.gat,284,129,0,0 monster Goblin Archer 1258,1,600000,300000,0
+cmd_fild06.gat,184,126,0,0 monster Goblin Archer 1258,1,600000,300000,0
+cmd_fild06.gat,279,199,0,0 monster Goblin Archer 1258,1,600000,300000,0
+cmd_fild06.gat,277,186,0,0 monster Goblin Archer 1258,1,600000,300000,0
+cmd_fild06.gat,284,186,0,0 monster Goblin Archer 1258,1,600000,300000,0
+cmd_fild06.gat,354,342,0,0 monster Goblin Archer 1258,1,600000,300000,0
+cmd_fild06.gat,365,342,0,0 monster Goblin Archer 1258,1,600000,300000,0
+cmd_fild06.gat,340,334,0,0 monster Goblin Archer 1258,1,600000,300000,0
+cmd_fild06.gat,305,95,70,180 monster Stem Worm 1215,30,600000,300000,0
+cmd_fild06.gat,102,268,10,40 monster Stem Worm 1215,3,600000,300000,0
+cmd_fild06.gat,359,156,30,50 monster Stem Worm 1215,1,600000,300000,0
+cmd_fild06.gat,360,155,30,50 monster Stem Worm 1215,1,600000,300000,0
+cmd_fild06.gat,357,298,80,70 monster Stem Worm 1215,20,600000,300000,0
+cmd_fild06.gat,0,0,0,0 monster Drops 1113,20,0,0,0
+cmd_fild06.gat,0,0,0,0 monster Harpy 1376,1,1500000,1000000,0
+
+//cmd_fild07
+cmd_fild07.gat,242,108,40,90 monster Aster 1266,2,600000,300000,0
+cmd_fild07.gat,102,177,60,90 monster Aster 1266,3,600000,300000,0
+cmd_fild07.gat,240,107,40,90 monster Crab 1073,3,600000,300000,0
+cmd_fild07.gat,100,175,60,90 monster Crab 1073,2,600000,300000,0
+cmd_fild07.gat,101,176,60,90 monster Raggler 1254,1,600000,300000,0
+cmd_fild07.gat,241,106,40,90 monster Raggler 1254,1,600000,300000,0
+cmd_fild07.gat,204,317,60,60 monster Raggler 1254,1,600000,300000,0
+cmd_fild07.gat,323,310,60,60 monster Raggler 1254,1,600000,300000,0
+cmd_fild07.gat,0,0,0,0 monster Drops 1113,20,0,0,0
+cmd_fild07.gat,239,105,40,90 monster Shellfish 1074,2,600000,300000,0
+cmd_fild07.gat,104,180,40,90 monster Shellfish 1074,3,600000,300000,0
+
+// cmd_fild08 (lv4)
+
+cmd_fild08.gat,127,279,30,50 monster Kobold Archer 1282,5,600000,300000,0
+cmd_fild08.gat,130,192,110,150 monster Kobold Archer 1282,5,600000,300000,0
+cmd_fild08.gat,146,136,30,80 monster Kobold Archer 1282,5,600000,300000,0
+cmd_fild08.gat,73,132,40,100 monster Kobold Archer 1282,5,600000,300000,0
+cmd_fild08.gat,146,136,30,90 monster Kobold Archer 1282,5,600000,300000,0
+cmd_fild08.gat,157,329,0,0 monster Kobold Archer 1282,1,600000,300000,0
+cmd_fild08.gat,150,320,0,0 monster Kobold Archer 1282,1,600000,300000,0
+cmd_fild08.gat,195,174,0,0 monster Kobold Archer 1282,1,600000,300000,0
+cmd_fild08.gat,173,168,0,0 monster Kobold Archer 1282,1,600000,300000,0
+cmd_fild08.gat,178,363,0,0 monster Kobold Archer 1282,1,600000,300000,0
+cmd_fild08.gat,175,367,0,0 monster Kobold Archer 1282,1,600000,300000,0
+cmd_fild08.gat,53,248,0,0 monster Kobold Archer 1282,1,600000,300000,0
+cmd_fild08.gat,52,238,0,0 monster Kobold Archer 1282,1,600000,300000,0
+cmd_fild08.gat,272,175,40,2 monster Kobold Archer 1282,2,600000,300000,0
+cmd_fild08.gat,190,115,100,80 monster Gargoyle 1253,10,600000,300000,0
+cmd_fild08.gat,130,192,110,150 monster Gargoyle 1253,7,600000,300000,0
+cmd_fild08.gat,72,131,40,100 monster Gargoyle 1253,8,600000,300000,0
+cmd_fild08.gat,319,177,0,0 monster Gargoyle 1253,1,600000,300000,0
+cmd_fild08.gat,319,172,0,0 monster Gargoyle 1253,1,600000,300000,0
+cmd_fild08.gat,139,71,0,0 monster Gargoyle 1253,1,600000,300000,0
+cmd_fild08.gat,136,64,0,0 monster Gargoyle 1253,1,600000,300000,0
+cmd_fild08.gat,67,80,0,0 monster Gargoyle 1253,1,600000,300000,0
+cmd_fild08.gat,132,149,0,0 monster Gargoyle 1253,1,600000,300000,0
+cmd_fild08.gat,97,144,0,0 monster Gargoyle 1253,1,600000,300000,0
+cmd_fild08.gat,79,140,0,0 monster Gargoyle 1253,1,600000,300000,0
+cmd_fild08.gat,28,102,0,0 monster Gargoyle 1253,1,600000,300000,0
+cmd_fild08.gat,80,348,60,40 monster Goblin Archer 1258,5,600000,300000,0
+cmd_fild08.gat,130,192,110,150 monster Goblin Archer 1258,5,600000,300000,0
+cmd_fild08.gat,194,291,25,40 monster Goblin Archer 1258,5,600000,300000,0
+cmd_fild08.gat,73,132,40,100 monster Goblin Archer 1258,5,600000,300000,0
+cmd_fild08.gat,182,205,0,0 monster Goblin Archer 1258,1,600000,300000,0
+cmd_fild08.gat,177,210,0,0 monster Goblin Archer 1258,1,600000,300000,0
+cmd_fild08.gat,58,40,0,0 monster Goblin Archer 1258,1,600000,300000,0
+cmd_fild08.gat,55,45,0,0 monster Goblin Archer 1258,1,600000,300000,0
+cmd_fild08.gat,104,313,0,0 monster Goblin Archer 1258,1,600000,300000,0
+cmd_fild08.gat,98,307,0,0 monster Goblin Archer 1258,1,600000,300000,0
+cmd_fild08.gat,41,126,0,0 monster Goblin Archer 1258,1,600000,300000,0
+cmd_fild08.gat,37,129,0,0 monster Goblin Archer 1258,1,600000,300000,0
+cmd_fild08.gat,66,252,40,30 monster Stem Worm 1215,5,600000,300000,0
+cmd_fild08.gat,130,192,110,150 monster Stem Worm 1215,10,600000,300000,0
+cmd_fild08.gat,70,130,40,90 monster Stem Worm 1215,2,600000,300000,0
+cmd_fild08.gat,189,64,30,30 monster Stem Worm 1215,3,600000,300000,0
+cmd_fild08.gat,174,172,0,0 monster Stem Worm 1215,1,600000,300000,0
+cmd_fild08.gat,266,175,0,0 monster Stem Worm 1215,1,600000,300000,0
+cmd_fild08.gat,127,273,0,0 monster Stem Worm 1215,1,600000,300000,0
+cmd_fild08.gat,92,141,0,0 monster Stem Worm 1215,1,600000,300000,0
+cmd_fild08.gat,85,135,0,0 monster Stem Worm 1215,1,600000,300000,0
+cmd_fild08.gat,0,0,0,0 monster Drops 1113,10,0,0,0
+cmd_fild08.gat,326,258,50,110 monster Sandman 1165,15,600000,300000,0
+cmd_fild08.gat,326,258,50,110 monster Kobold Archer 1282,10,600000,300000,0
+cmd_fild08.gat,326,258,50,110 monster Sidewinder 1037,2,600000,300000,0
+cmd_fild08.gat,0,0,0,0 monster Sidewinder 1037,3,0,0,0
+cmd_fild08.gat,130,192,110,150 monster Sidewinder 1037,15,600000,300000,0
+cmd_fild08.gat,0,0,0,0 monster Gryphon 1259,1,3600000,1800000,1
+
+//cmd_fild09 (lv2)
+
+cmd_fild09.gat,0,0,0,0 monster Steel ChonChon 1042,20,0,0,0
+cmd_fild09.gat,0,0,0,0 monster Drops 1113,20,0,0,0
+cmd_fild09.gat,0,0,0,0 monster Anacondaq 1030,20,0,0,0
+cmd_fild09.gat,0,0,0,0 monster Condor 1009,60,0,0,0
+cmd_fild09.gat,142,325,40,50 monster Hode 1127,3,600000,300000,0
+cmd_fild09.gat,140,323,40,50 monster Gargoyle 1253,2,600000,300000,0
diff --git a/npc/eamobs/fields/einbroch.txt b/npc/eamobs/fields/einbroch.txt
new file mode 100644
index 000000000..90f312f5c
--- /dev/null
+++ b/npc/eamobs/fields/einbroch.txt
@@ -0,0 +1,148 @@
+//===== eAthena Script =======================================
+//= Einbroch Fields Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.3b
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.1 correct spawn maps, but not yet exact amount of
+//= monsters [Lupus]
+//= maps, marked with * are correct
+//= 1.2 Updated to correct mobs. Many thanks to vicious_pucca
+//= again for providing the information [MasterOfMuppets]
+//= 1.2a Fixed missing tabs [Lupus]
+//= 1.3 Updated after Episode 10.4 - Hugel [Poki#3]
+//= Mob quantity is custom.
+//= 1.3b Changed the spawn numbers a bit. [Poki#3]
+//= Thanks to Playtester and Emperium.org
+//============================================================
+
+//========================================================================================
+// - Einbech Town
+//========================================================================================
+
+einbech.gat,0,0,0,0 monster Tarou 1175,5,3600000,1800000,0
+
+//========================================================================================
+// - Einbroch Field 01
+//========================================================================================
+
+ein_fild01.gat,0,0,0,0 monster Punk 1199,40,0,0,0
+ein_fild01.gat,0,0,0,0 monster Demon Fungus 1378,40,0,0,0
+
+//========================================================================================
+// - Einbroch Field 02
+//========================================================================================
+
+ein_fild02.gat,0,0,0,0 monster Driller 1380,40,0,0,0
+ein_fild02.gat,0,0,0,0 monster Demon Fungus 1378,40,0,0,0
+ein_fild02.gat,0,0,0,0 monster Ungoliant 1618,1,3600000,1800000,0
+
+//========================================================================================
+// - Einbroch Field 03
+//========================================================================================
+
+ein_fild03.gat,0,0,0,0 monster Metaling 1613,30,0,0,0
+ein_fild03.gat,0,0,0,0 monster Geographer 1368,5,0,0,0
+ein_fild03.gat,0,0,0,0 monster Caramel 1103,20,0,0,0
+ein_fild03.gat,0,0,0,0 monster Horn 1128,20,0,0,0
+ein_fild03.gat,0,0,0,0 monster Mole 1628,10,0,0,0
+ein_fild03.gat,0,0,0,0 monster Yellow Plant 1081,5,180000,90000,1
+ein_fild03.gat,0,0,0,0 monster Green Plant 1080,5,180000,90000,1
+
+//========================================================================================
+// - Einbroch Field 04
+//========================================================================================
+
+ein_fild04.gat,0,0,0,0 monster Metaling 1613,15,0,0,0
+ein_fild04.gat,0,0,0,0 monster Mineral 1614,30,0,0,0
+ein_fild04.gat,0,0,0,0 monster Geographer 1368,10,0,0,0
+ein_fild04.gat,0,0,0,0 monster Giearth 1121,20,0,0,0
+ein_fild04.gat,0,0,0,0 monster Mole 1628,10,0,0,0
+ein_fild04.gat,0,0,0,0 monster Yellow Plant 1081,5,180000,90000,1
+ein_fild04.gat,0,0,0,0 monster Red Plant 1078,5,180000,90000,1
+ein_fild04.gat,0,0,0,0 monster Green Plant 1080,5,180000,90000,1
+
+//========================================================================================
+// - Einbroch Field 05
+//========================================================================================
+
+ein_fild05.gat,0,0,0,0 monster Goat 1372,20,0,0,0
+ein_fild05.gat,0,0,0,0 monster Martin 1145,30,0,0
+ein_fild05.gat,0,0,0,0 monster Pupa 1008,10,0,0,0
+ein_fild05.gat,0,0,0,0 monster Giearth 1121,1,180000,90000,0
+ein_fild05.gat,0,0,0,0 monster Black Mushroom 1084,5,180000,90000,1
+ein_fild05.gat,0,0,0,0 monster Yellow Plant 1081,5,180000,90000,1
+ein_fild05.gat,0,0,0,0 monster Red Plant 1078,5,180000,90000,1
+
+//========================================================================================
+// - Einbroch Field 06
+//========================================================================================
+
+ein_fild06.gat,0,0,0,0 monster Martin 1145,30,0,0
+ein_fild06.gat,0,0,0,0 monster Goat 1372,20,0,0,0
+ein_fild06.gat,0,0,0,0 monster Pupa 1008,10,0,0,0
+ein_fild06.gat,0,0,0,0 monster Giearth 1121,1,180000,90000,0
+ein_fild06.gat,0,0,0,0 monster Black Mushroom 1084,10,180000,90000,1
+ein_fild06.gat,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1
+ein_fild06.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+
+//========================================================================================
+// - Einbroch Field 07
+//========================================================================================
+
+ein_fild07.gat,0,0,0,0 monster Metaling 1613,60,0,0
+ein_fild07.gat,0,0,0,0 monster Poring 1002,40,0,0,0
+ein_fild07.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+ein_fild07.gat,0,0,0,0 monster Flora 1118,20,0,0,0
+ein_fild07.gat,0,0,0,0 monster Geographer 1368,20,0,0,0
+ein_fild07.gat,0,0,0,0 monster Red Mushroom 1085,10,180000,90000,1
+ein_fild07.gat,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1
+ein_fild07.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+ein_fild07.gat,0,0,0,0 monster Ungoliant 1618,1,3600000,1800000,0
+
+//========================================================================================
+// - Einbroch Field 08
+//========================================================================================
+
+ein_fild08.gat,0,0,0,0 monster Metaling 1613,70,0,0,0
+ein_fild08.gat,0,0,0,0 monster Thief Bug Larva 1051,30,0,0,0
+ein_fild08.gat,0,0,0,0 monster Porcellio 1619,30,0,0,0
+ein_fild08.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+ein_fild08.gat,0,0,0,0 monster Poring 1002,20,0,0,0
+ein_fild08.gat,0,0,0,0 monster Drops 1113,20,0,0,0
+ein_fild08.gat,0,0,0,0 monster Red Mushroom 1085,10,180000,90000,1
+ein_fild08.gat,221,80,250,100 monster Yellow Plant 1081,10,180000,90000,1
+ein_fild08.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+
+//========================================================================================
+// - Einbroch Field 09
+//========================================================================================
+
+ein_fild09.gat,0,0,0,0 monster Thief Bug Larva 1051,40,0,0,0
+ein_fild09.gat,0,0,0,0 monster Metaling 1613,25,0,0
+ein_fild09.gat,224,280,200,200 monster Metaling 1613,5,0,0
+ein_fild09.gat,0,0,0,0 monster Poring 1002,20,0,0,0
+ein_fild09.gat,0,0,0,0 monster Porcellio 1619,10,0,0,0
+ein_fild09.gat,0,0,0,0 monster Drops 1113,10,0,0,0
+ein_fild09.gat,265,79,100,100 monster Thief Bug Egg 1048,3,0,0,0
+ein_fild09.gat,265,79,150,80 monster Flora 1118,5,300000,150000,1
+ein_fild09.gat,265,79,150,80 monster Red Mushroom 1085,10,180000,90000,1
+ein_fild09.gat,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1
+ein_fild09.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+
+//========================================================================================
+// - Einbroch Field 10
+//========================================================================================
+
+ein_fild10.gat,193,340,200,100 monster Porcellio 1619,30,0,0,0
+ein_fild10.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+ein_fild10.gat,257,107,90,90 monster Yoyo 1057,10,0,0,0
+ein_fild10.gat,193,340,200,100 monster Geographer 1368,5,0,0,0
+ein_fild10.gat,257,107,90,90 monster Flora 1118,20,300000,150000,0
+ein_fild10.gat,257,107,90,90 monster Red Mushroom 1085,10,180000,90000,1
+ein_fild10.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+ein_fild10.gat,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1
+
diff --git a/npc/eamobs/fields/geffen.txt b/npc/eamobs/fields/geffen.txt
new file mode 100644
index 000000000..d402c76ef
--- /dev/null
+++ b/npc/eamobs/fields/geffen.txt
@@ -0,0 +1,210 @@
+//===== eAthena Script =======================================
+//= Geffen Field Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.2 Map names typos fix [Lupus]
+//============================================================
+
+// gef_fild00 (lv1)
+
+gef_fild00.gat,0,0,0,0 monster Poring 1002,50,0,0,0
+gef_fild00.gat,0,0,0,0 monster Fabre 1007,50,0,0,0
+gef_fild00.gat,0,0,0,0 monster Pupa 1008,20,0,0,0
+gef_fild00.gat,0,0,0,0 monster Poporing 1031,10,0,0,0
+gef_fild00.gat,215,225,10,10 monster Green Plant 1080,5,360000,180000,1
+gef_fild00.gat,95,128,0,0 monster Blue Plant 1079,1,900000,450000,1
+gef_fild00.gat,124,321,0,0 monster Blue Plant 1079,1,900000,450000,1
+gef_fild00.gat,54,212,5,5 monster Green Plant 1080,3,360000,180000,1
+gef_fild00.gat,54,186,5,5 monster Green Plant 1080,3,360000,180000,1
+
+// gef_fild01 (lv1)
+
+gef_fild01.gat,0,0,0,0 monster Roda Frog 1012,50,0,0,0
+gef_fild01.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+gef_fild01.gat,0,0,0,0 monster Toad 1089,1,3600000,1800000,1
+
+// gef_fild02 (lv2)
+
+gef_fild02.gat,0,0,0,0 monster Yoyo 1057,10,0,0,0
+gef_fild02.gat,0,0,0,0 monster Orc Warrior 1023,40,0,0,0
+gef_fild02.gat,0,0,0,0 monster Coco 1104,20,0,0,0
+gef_fild02.gat,0,0,0,0 monster Smokie 1056,20,0,0,0
+gef_fild02.gat,0,0,0,0 monster Choco 1214,1,0,0,0
+gef_fild02.gat,227,316,6,6 monster Green Plant 1080,8,360000,180000,1
+gef_fild02.gat,87,48,6,6 monster Red Mushroom 1085,5,360000,180000,1
+gef_fild02.gat,215,209,2,1 monster Blue Plant 1079,2,360000,180000,1
+gef_fild02.gat,207,214,1,1 monster Blue Plant 1079,1,360000,180000,1
+gef_fild02.gat,220,214,1,1 monster Blue Plant 1079,1,360000,180000,1
+gef_fild02.gat,164,194,1,1 monster Shining Plant 1083,1,1800000,900000,1
+
+// gef_fild03 (lv3)
+
+gef_fild03.gat,0,0,0,0 monster Orc Warrior 1023,30,0,0,0
+gef_fild03.gat,0,0,0,0 monster High Orc 1213,10,0,0,0
+gef_fild03.gat,0,0,0,0 monster Savage 1166,30,0,0,0
+gef_fild03.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+gef_fild03.gat,45,350,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,66,300,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,80,252,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,118,281,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,135,344,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,210,363,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,215,345,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,359,316,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,350,247,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,304,202,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,285,223,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,282,192,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,316,143,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,337,104,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,348,42,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,326,79,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,280,92,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,216,135,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,169,92,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,45,93,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,44,133,3,3 monster Green Plant 1080,1,180000,90000,1
+
+// gef_fild04 (lv1)
+
+gef_fild04.gat,0,0,0,0 monster Poring 1002,30,0,0,0
+gef_fild04.gat,0,0,0,0 monster ChonChon 1011,30,0,0,0
+gef_fild04.gat,0,0,0,0 monster Pupa 1008,60,0,0,0
+gef_fild04.gat,0,0,0,0 monster Fabre 1007,20,0,0,0
+gef_fild04.gat,0,0,0,0 monster Roda Frog 1012,20,0,0,0
+gef_fild04.gat,224,82,5,2 monster Green Plant 1080,3,360000,180000,1
+gef_fild04.gat,152,82,5,2 monster Green Plant 1080,3,360000,180000,1
+
+// gef_fild05 (lv3)
+
+gef_fild05.gat,0,0,0,0 monster Poring 1002,30,0,0,0
+gef_fild05.gat,0,0,0,0 monster Kobold Archer 1282,10,0,0,0
+gef_fild05.gat,0,0,0,0 monster Wild Rose 1261,50,0,0,0
+gef_fild05.gat,0,0,0,0 monster Dustiness 1114,30,0,0,0
+gef_fild05.gat,235,322,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,238,326,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,170,337,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,108,317,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,56,285,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,65,256,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,74,228,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,50,189,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,51,166,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,146,161,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,153,180,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,124,207,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,187,249,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,187,265,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,130,293,0,0 monster Red Plant 1078,1,180000,90000,1
+
+// gef_fild06 (lv4)
+
+gef_fild06.gat,0,0,0,0 monster Kobold 1133,20,0,0,0
+gef_fild06.gat,0,0,0,0 monster Kobold 1134,10,0,0,0
+gef_fild06.gat,0,0,0,0 monster Kobold 1135,10,0,0,0
+gef_fild06.gat,0,0,0,0 monster Sky Petite 1156,50,0,0,0
+gef_fild06.gat,0,0,0,0 monster Poporing 1031,10,0,0,0
+gef_fild06.gat,0,0,0,0 monster Mantis 1139,20,0,0,0
+gef_fild06.gat,0,0,0,0 monster Shining Plant 1083,4,1800000,900000,1
+
+// gef_fild07 (lv1)
+
+gef_fild07.gat,0,0,0,0 monster Poring 1002,20,0,0,0
+gef_fild07.gat,0,0,0,0 monster ChonChon 1011,30,0,0,0
+gef_fild07.gat,0,0,0,0 monster Pupa 1008,10,0,0,0
+gef_fild07.gat,0,0,0,0 monster Fabre 1007,60,0,0,0
+gef_fild07.gat,122,221,0,0 monster Green Plant 1080,3,360000,180000,1
+gef_fild07.gat,185,247,0,0 monster Shining Plant 1083,1,1800000,900000,1
+gef_fild07.gat,269,289,0,0 monster Blue Plant 1079,1,900000,450000,1
+gef_fild07.gat,269,289,3,3 monster Green Plant 1080,3,360000,180000,1
+
+// gef_fild08 (lv3)
+
+gef_fild08.gat,0,0,0,0 monster Kobold 1133,20,0,0,0
+gef_fild08.gat,0,0,0,0 monster Kobold 1134,40,0,0,0
+gef_fild08.gat,0,0,0,0 monster Kobold 1135,20,0,0,0
+gef_fild08.gat,0,0,0,0 monster Golem 1040,40,0,0,0
+gef_fild08.gat,0,0,0,0 monster Steel ChonChon 1042,20,0,0,0
+gef_fild08.gat,0,0,0,0 monster Poison Spore 1077,20,0,0,0
+gef_fild08.gat,65,341,0,0 monster Blue Plant 1079,1,900000,450000,1
+gef_fild08.gat,111,319,0,0 monster Blue Plant 1079,1,900000,450000,1
+gef_fild08.gat,59,91,0,0 monster Blue Plant 1079,1,900000,450000,1
+gef_fild08.gat,70,80,0,0 monster Blue Plant 1079,1,900000,450000,1
+gef_fild08.gat,144,140,0,0 monster Blue Plant 1079,1,900000,450000,1
+gef_fild08.gat,344,78,0,0 monster Blue Plant 1079,1,900000,450000,1
+gef_fild08.gat,325,311,0,0 monster Blue Plant 1079,1,900000,450000,1
+gef_fild08.gat,162,247,0,0 monster Blue Plant 1079,1,900000,450000,1
+
+// gef_fild09 (lv3)
+
+//putmob "gef_fild09" 0 0 0 0 5 ORC_ARCHER 0 0 0
+gef_fild09.gat,0,0,0,0 monster Ambernite 1094,60,0,0,0
+gef_fild09.gat,0,0,0,0 monster Poporing 1031,10,0,0,0
+gef_fild09.gat,0,0,0,0 monster Poison Spore 1077,10,0,0,0
+gef_fild09.gat,51,43,0,0 monster Red Mushroom 1085,1,180000,90000,1
+gef_fild09.gat,125,53,0,0 monster Red Mushroom 1085,1,180000,90000,1
+gef_fild09.gat,148,74,0,0 monster Red Mushroom 1085,1,180000,90000,1
+gef_fild09.gat,184,66,0,0 monster Red Mushroom 1085,1,180000,90000,1
+gef_fild09.gat,207,54,0,0 monster Red Mushroom 1085,1,180000,90000,1
+gef_fild09.gat,245,62,0,0 monster Red Mushroom 1085,1,180000,90000,1
+gef_fild09.gat,268,45,0,0 monster Red Mushroom 1085,1,180000,90000,1
+gef_fild09.gat,258,24,0,0 monster Red Mushroom 1085,1,180000,90000,1
+gef_fild09.gat,325,36,0,0 monster Red Mushroom 1085,1,180000,90000,1
+gef_fild09.gat,344,51,0,0 monster Red Mushroom 1085,1,180000,90000,1
+gef_fild09.gat,277,201,5,5 monster Blue Plant 1079,3,900000,450000,1
+
+// gef_fild10 (lv3)
+gef_fild10.gat,0,0,0,0 monster Orc Baby 1686,15,0,0,0
+gef_fild10.gat,0,0,0,0 monster Orc Lord 1190,1,7200000,3600000,0
+gef_fild10.gat,0,0,0,0 monster Orc Warrior 1023,50,0,0,0
+gef_fild10.gat,0,0,0,0 monster Orc Lady 1273,40,0,0,0
+gef_fild10.gat,0,0,0,0 monster Poporing 1031,15,0,0,0
+gef_fild10.gat,46,350,5,5 monster Blue Plant 1079,3,900000,450000,1
+gef_fild10.gat,287,61,5,5 monster Blue Plant 1079,3,900000,450000,1
+gef_fild10.gat,300,253,5,5 monster Green Plant 1080,3,360000,180000,1
+
+// gef_fild11 (lv4)
+
+gef_fild11.gat,0,0,0,0 monster Goblin Leader 1299,1,1800000,1200000,0
+gef_fild11.gat,0,0,0,0 monster Goblin 1122,30,0,0,0
+gef_fild11.gat,0,0,0,0 monster Goblin 1123,20,0,0,0
+gef_fild11.gat,0,0,0,0 monster Goblin 1124,20,0,0,0
+gef_fild11.gat,0,0,0,0 monster Goblin 1125,20,0,0,0
+gef_fild11.gat,0,0,0,0 monster Goblin 1126,20,0,0,0
+gef_fild11.gat,0,0,0,0 monster Goblin Archer 1258,20,0,0,0
+gef_fild11.gat,0,0,0,0 monster Poporing 1031,15,0,0,0
+gef_fild11.gat,0,0,0,0 monster Rotar Zairo 1392,10,0,0,0
+gef_fild11.gat,101,277,4,1 monster Black Mushroom 1084,3,360000,180000,1
+gef_fild11.gat,176,288,1,4 monster Black Mushroom 1084,3,360000,180000,1
+gef_fild11.gat,253,357,1,4 monster Black Mushroom 1084,3,360000,180000,1
+gef_fild11.gat,247,249,1,4 monster Black Mushroom 1084,3,360000,180000,1
+gef_fild11.gat,257,209,1,4 monster Black Mushroom 1084,3,360000,180000,1
+gef_fild11.gat,174,240,1,3 monster Black Mushroom 1084,3,360000,180000,1
+gef_fild11.gat,283,100,4,1 monster Black Mushroom 1084,3,360000,180000,1
+
+// gef_fild12 (lv4)
+gef_fild12.gat,0,0,0,0 monster Kobold Leader 1296,1,1800000,1200000,0
+gef_fild12.gat,0,0,0,0 monster Kobold 1133,20,0,0,0
+gef_fild12.gat,0,0,0,0 monster Kobold 1134,30,0,0,0
+gef_fild12.gat,0,0,0,0 monster Kobold 1135,30,0,0,0
+gef_fild12.gat,0,0,0,0 monster Kobold Archer 1282,40,0,0,0
+gef_fild12.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+
+// gef_fild13 (lv2)
+
+gef_fild13.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+gef_fild13.gat,0,0,0,0 monster Creamy 1018,40,0,0,0
+gef_fild13.gat,0,0,0,0 monster Ambernite 1094,30,0,0,0
+
+// gef_fild14 (lv4)
+
+gef_fild14.gat,0,0,0,0 monster Orc Lady 1273,40,0,0,0
+gef_fild14.gat,0,0,0,0 monster Orc Hero 1087,1,3600000,1800000,1
+gef_fild14.gat,0,0,0,0 monster Orc Warrior 1023,20,0,0,0
+gef_fild14.gat,0,0,0,0 monster Orc Archer 1189,30,0,0,0
+gef_fild14.gat,0,0,0,0 monster High Orc 1213,40,0,0,0
diff --git a/npc/eamobs/fields/gonryun.txt b/npc/eamobs/fields/gonryun.txt
new file mode 100644
index 000000000..d811c6fbd
--- /dev/null
+++ b/npc/eamobs/fields/gonryun.txt
@@ -0,0 +1,21 @@
+//===== eAthena Script =======================================
+//= Gon Ryun Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+//gon_fild01
+
+gon_fild01.gat,0,0,0,0 monster Baby Leopard 1415,40,600000,300000,0
+gon_fild01.gat,0,0,0,0 monster Zipper Bear 1417,20,0,0,0
+gon_fild01.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+gon_fild01.gat,0,0,0,0 monster Dumpling Child 1409,30,0,0,0
+gon_fild01.gat,0,0,0,0 monster Hermit Plant 1413,2,630000,330000,0
+gon_fild01.gat,0,0,0,0 monster Green Plant 1080,5,0,0,0
+gon_fild01.gat,0,0,0,0 monster Shining Plant 1083,1,0,0,0
diff --git a/npc/eamobs/fields/hugel.txt b/npc/eamobs/fields/hugel.txt
new file mode 100644
index 000000000..f8af4774d
--- /dev/null
+++ b/npc/eamobs/fields/hugel.txt
@@ -0,0 +1,108 @@
+//===== eAthena Script =======================================
+//= Hugel Field Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 0.4
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= Spawns for hu_fild05 and hu_fild04, numbers may not be correct [MasterOfMuppets]
+//= 0.2 Fixed Petit ID
+//= 0.3 Updated the spawns using kRO's website as info, [MasterOfMuppets]
+//= thanks to battousai90
+//= 0.4 Updated after Episode 10.4 - Hugel [Poki#3]
+//= Mob quantity is custom.
+//============================================================
+
+//========================================================================================
+// - Hugel Field 01
+//========================================================================================
+
+hu_fild01.gat,0,0,0,0 monster Plasma 1694,15,0,0,0
+hu_fild01.gat,0,0,0,0 monster Plasma 1697,15,0,0,0
+hu_fild01.gat,0,0,0,0 monster Plasma 1695,15,0,0,0
+hu_fild01.gat,0,0,0,0 monster Plasma 1696,15,0,0,0
+hu_fild01.gat,0,0,0,0 monster Demon Pungus 1378,20,0,0,0
+hu_fild01.gat,0,0,0,0 monster Geographer 1368,20,0,0,0
+hu_fild01.gat,0,0,0,0 monster Breeze 1692,20,0,0,0
+
+//========================================================================================
+// - Hugel Field 02
+//========================================================================================
+
+hu_fild02.gat,0,0,0,0 monster Green Iguana 1687,15,0,0,0
+hu_fild02.gat,0,0,0,0 monster Novus 1715,5,0,0,0
+hu_fild02.gat,0,0,0,0 monster Novus 1718,5,0,0,0
+hu_fild02.gat,0,0,0,0 monster Demon Fungus 1378,10,0,0,0
+hu_fild02.gat,0,0,0,0 monster Rafflesia 1162,20,0,0,0
+hu_fild02.gat,0,0,0,0 monster Metaling 1613,30,0,0,0
+hu_fild02.gat,0,0,0,0 monster Breeze 1692,5,0,0,0
+hu_fild02.gat,0,0,0,0 monster Savage Babe 1167,30,0,0,0
+hu_fild02.gat,0,0,0,0 monster Virus 1627,15,0,0,0
+hu_fild02.gat,0,0,0,0 monster Geographer 1368,15,0,0,0
+
+//========================================================================================
+// - Hugel Field 03
+//========================================================================================
+
+hu_fild03.gat,0,0,0,0 monster Green Iguana 1687,15,0,0,0
+hu_fild03.gat,0,0,0,0 monster Metaling 1613,20,0,0,0
+hu_fild03.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+hu_fild03.gat,0,0,0,0 monster Thief Bug Larva 1051,35,0,0,0
+hu_fild03.gat,0,0,0,0 monster Black Mushroom 1084,15,180000,90000,1
+hu_fild03.gat,0,0,0,0 monster Red Mushroom 1085,15,180000,90000,1
+
+//========================================================================================
+// - Hugel Field 04
+//========================================================================================
+
+hu_fild04.gat,0,0,0,0 monster Green Iguana 1687,15,0,0,0
+hu_fild04.gat,0,0,0,0 monster Breeze 1692,20,0,0,0
+hu_fild04.gat,0,0,0,0 monster Sleeper 1386,25,0,0,0
+hu_fild04.gat,0,0,0,0 monster Virus 1627,25,0,0,0
+hu_fild04.gat,0,0,0,0 monster Novus 1715,15,0,0,0
+hu_fild04.gat,0,0,0,0 monster Novus 1718,15,0,0,0
+hu_fild04.gat,0,0,0,0 monster Sky Deleter 1384,10,0,0,0
+hu_fild04.gat,0,0,0,0 monster Earth Deleter 1385,10,0,0,0
+hu_fild04.gat,0,0,0,0 monster Yellow Plant 1081,5,180000,90000,1
+hu_fild04.gat,0,0,0,0 monster Green Plant 1080,5,180000,90000,1
+hu_fild04.gat,0,0,0,0 monster Blue Plant 1079,5,180000,90000,1
+
+//========================================================================================
+// - Hugel Field 05
+//========================================================================================
+
+hu_fild05.gat,0,0,0,0 monster Green Iguana 1687,35,0,0,0
+hu_fild05.gat,0,0,0,0 monster Novus 1715,5,0,0,0
+hu_fild05.gat,0,0,0,0 monster Novus 1718,5,0,0,0
+hu_fild05.gat,0,0,0,0 monster Virus 1627,25,0,0,0
+hu_fild05.gat,0,0,0,0 monster Dragon Egg 1721,10,0,0,0
+hu_fild05.gat,0,0,0,0 monster Mutant Dragonoid 1262,1,7200000,3600000,0
+
+//========================================================================================
+// - Hugel Field 06
+//========================================================================================
+
+hu_fild06.gat,0,0,0,0 monster Poring 1002,30,0,0,0
+hu_fild06.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+hu_fild06.gat,0,0,0,0 monster Metaling 1613,20,0,0,0
+hu_fild06.gat,0,0,0,0 monster Caramel 1103,15,0,0,0
+hu_fild06.gat,0,0,0,0 monster Mole 1628,15,0,0,0
+hu_fild06.gat,0,0,0,0 monster Green Plant 1080,5,180000,90000,1
+hu_fild06.gat,0,0,0,0 monster Yellow Plant 1081,5,180000,90000,1
+
+//========================================================================================
+// - Hugel Field 07
+//========================================================================================
+
+hu_fild07.gat,0,0,0,0 monster Green Iguana 1687,35,0,0,0
+hu_fild07.gat,0,0,0,0 monster Novus 1715,15,0,0,0
+hu_fild07.gat,0,0,0,0 monster Novus 1718,15,0,0,0
+hu_fild07.gat,0,0,0,0 monster Virus 1627,15,0,0,0
+hu_fild07.gat,0,0,0,0 monster Breeze 1692,20,0,0,0
+hu_fild07.gat,0,0,0,0 monster Geographer 1368,20,0,0,0
+hu_fild07.gat,0,0,0,0 monster Demon Fungus 1378,20,0,0,0
+hu_fild07.gat,0,0,0,0 monster Sky Petite 1156,20,0,0,0
+hu_fild07.gat,0,0,0,0 monster Earth Petite 1155,20,0,0,0
+hu_fild07.gat,0,0,0,0 monster Yellow Plant 1081,10,360000,180000,1
diff --git a/npc/eamobs/fields/jawaii.txt b/npc/eamobs/fields/jawaii.txt
new file mode 100644
index 000000000..3705e92f3
--- /dev/null
+++ b/npc/eamobs/fields/jawaii.txt
@@ -0,0 +1,23 @@
+//===== eAthena Script =======================================
+//= Jawaii the honeymoon Island Monster Spawn Script
+//===== By: ==================================================
+//= MasterOfMuppets (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.0 First version [MasterOfMuppets]
+//============================================================
+
+jawaii.gat,207,290,10,10 monster Phen 1158,3,3600000,1800000,0
+jawaii.gat,221,220,30,30 monster Aster 1266,2,3600000,2400000,0
+jawaii.gat,276,163,20,20 monster Aster 1266,1,7200000,3600000,0
+jawaii.gat,221,220,30,30 monster Shellfish 1074,1,4800000,3000000,0
+jawaii.gat,276,163,20,30 monster Shellfish 1074,2,4200000,2400000,0
+
+jawaii_in.gat,128,121,1,4 monster Red Mushroom 1085,1,3000000,1200000,0
+jawaii_in.gat,124,76,1,1 monster Black Mushroom 1084,1,3600000,1200000,0
+jawaii_in.gat,72,74,5,1 monster Black Mushroom 1084,2,3000000,1200000,0
+jawaii_in.gat,73,117,4,4 monster Thief Bug Larva 1051,1,5400000,3000000,0
+jawaii_in.gat,83,117,5,5 monster Thief Bug Larva 1051,1,4800000,2400000,0
diff --git a/npc/eamobs/fields/lighthalzen.txt b/npc/eamobs/fields/lighthalzen.txt
new file mode 100644
index 000000000..9a2ede123
--- /dev/null
+++ b/npc/eamobs/fields/lighthalzen.txt
@@ -0,0 +1,55 @@
+//===== eAthena Script =======================================
+//= Lighthalzen Fields - Monster Spawn Locations
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.0 by Muad_Dib (Prometheus Project)
+//= 1.1 Added Porcellio by MasterOfMuppets
+//= 1.2 Corrected monsters. Many thanks to vicious_pucca for
+//= the information [MasterOfMuppets]
+//= 1.3 Updated acordingly to Episode 10.4 [Poki#3]
+//= Mob quantity is custom.
+//============================================================
+
+
+//========================================================================================
+// - Lighthalzen Field 01
+//========================================================================================
+
+lhz_fild01.gat,0,0,0,0 monster Metaling 1613,35,0,0,0
+lhz_fild01.gat,0,0,0,0 monster Mole 1628,20,0,0,0
+lhz_fild01.gat,0,0,0,0 monster Caramel 1103,30,0,0,0
+lhz_fild01.gat,0,0,0,0 monster Yellow Plant 1081,15,0,0,0
+lhz_fild01.gat,0,0,0,0 monster Red Plant 1078,15,0,0,0
+lhz_fild01.gat,0,0,0,0 monster Green Plant 1080,15,0,0,0
+
+//========================================================================================
+// - Lighthalzen Field 02
+//========================================================================================
+
+lhz_fild02.gat,0,0,0,0 monster Metaling 1613,25,0,0,0
+lhz_fild02.gat,0,0,0,0 monster Horn 1128,15,0,0,0
+lhz_fild02.gat,0,0,0,0 monster Caramel 1103,10,0,0,0
+lhz_fild02.gat,0,0,0,0 monster Mole 1628,20,0,0,0
+lhz_fild02.gat,0,0,0,0 monster Virus 1627,30,0,0,0
+lhz_fild02.gat,0,0,0,0 monster Yellow Plant 1081,15,0,0,0
+lhz_fild02.gat,0,0,0,0 monster Green Plant 1080,15,0,0,0
+
+//========================================================================================
+// - Lighthalzen Field 03
+//========================================================================================
+
+lhz_fild03.gat,0,0,0,0 monster Metaling 1613,10,0,0,0
+lhz_fild03.gat,0,0,0,0 monster Hill Wind 1680,15,0,0,0
+lhz_fild03.gat,0,0,0,0 monster Horn 1128,15,0,0,0
+lhz_fild03.gat,0,0,0,0 monster Caramel 1103,10,0,0,0
+lhz_fild03.gat,0,0,0,0 monster Rafflesia 1162,10,0,0,0
+lhz_fild03.gat,0,0,0,0 monster Virus 1627,10,0,0,0
+lhz_fild03.gat,0,0,0,0 monster Yellow Plant 1081,15,0,0,0
+lhz_fild03.gat,0,0,0,0 monster Red Plant 1078,15,0,0,0
+lhz_fild03.gat,0,0,0,0 monster Green Plant 1080,15,0,0,0
+lhz_fild03.gat,0,0,0,0 monster Porcellio 1619,10,0,0,0
diff --git a/npc/eamobs/fields/louyang.txt b/npc/eamobs/fields/louyang.txt
new file mode 100644
index 000000000..a852646fe
--- /dev/null
+++ b/npc/eamobs/fields/louyang.txt
@@ -0,0 +1,21 @@
+//===== eAthena Script =======================================
+//= Louyang Fields Monster Spawn Script
+//===== By: ==================================================
+//= Evera/Lorri
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.1 updated by MasterOfMuppets
+//============================================================
+
+
+//lou_fild01
+lou_fild01.gat,0,0,0,0 monster Bigfoot 1060,15,0,0,0
+lou_fild01.gat,0,0,0,0 monster Caramel 1103,21,0,0,0
+lou_fild01.gat,0,0,0,0 monster Mantis 1139,30,0,0,0
+lou_fild01.gat,0,0,0,0 monster Increase Soil 1516,30,0,0,0
+lou_fild01.gat,0,0,0,0 monster Anacondaq 1030,5,0,0,0
+lou_fild01.gat,0,0,0,0 monster Black Mushroom 1084,5,0,0,0
+lou_fild01.gat,0,0,0,0 monster Yellow Plant 1081,10,0,0,0
diff --git a/npc/eamobs/fields/lutie.txt b/npc/eamobs/fields/lutie.txt
new file mode 100644
index 000000000..3b057653e
--- /dev/null
+++ b/npc/eamobs/fields/lutie.txt
@@ -0,0 +1,19 @@
+//===== eAthena Script =======================================
+//= Lutie Fields Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.1 added Hatii Baby according to May 10 patch
+//============================================================
+
+
+// Lutie Field
+
+xmas_fild01.gat,0,0,0,0 monster Marin 1242,35,0,0,0
+xmas_fild01.gat,0,0,0,0 monster Sasquatch 1243,20,0,0,0
+xmas_fild01.gat,0,0,0,0 monster Garm 1252,1,7200000,3600000,1
+xmas_fild01.gat,0,0,0,0 monster Hatii Baby 1515,1,1800000,0,0
diff --git a/npc/eamobs/fields/mjolnir.txt b/npc/eamobs/fields/mjolnir.txt
new file mode 100644
index 000000000..76dcac4aa
--- /dev/null
+++ b/npc/eamobs/fields/mjolnir.txt
@@ -0,0 +1,239 @@
+//===== eAthena Script =======================================
+//= Mt. Mjolnir Fields Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// mjolnir_01 (lv2)
+
+mjolnir_01.gat,0,0,0,0 monster Horn 1128,20,0,0,0
+mjolnir_01.gat,0,0,0,0 monster Creamy 1018,20,0,0,0
+mjolnir_01.gat,0,0,0,0 monster Coco 1104,70,0,0,0
+mjolnir_01.gat,0,0,0,0 monster Stainer 1174,20,0,0,0
+mjolnir_01.gat,0,0,0,0 monster Caramel 1103,40,0,0,0
+mjolnir_01.gat,75,85,25,25 monster Shining Plant 1083,1,1800000,900000,1
+mjolnir_01.gat,78,219,25,25 monster Shining Plant 1083,1,1800000,900000,1
+mjolnir_01.gat,75,85,25,25 monster Green Plant 1080,5,180000,90000,1
+mjolnir_01.gat,78,219,25,25 monster Green Plant 1080,5,180000,90000,1
+mjolnir_01.gat,311,271,25,25 monster Blue Plant 1079,5,360000,180000,1
+
+// mjolnir_02 (lv3)
+
+mjolnir_02.gat,0,0,0,0 monster Hornet 1004,30,0,0,0
+mjolnir_02.gat,0,0,0,0 monster Creamy 1018,20,0,0,0
+mjolnir_02.gat,0,0,0,0 monster Earth Petite 1155,50,0,0,0
+mjolnir_02.gat,0,0,0,0 monster Poporing 1031,10,0,0,0
+mjolnir_02.gat,0,0,0,0 monster Flora 1118,30,0,0,0
+mjolnir_02.gat,86,270,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,80,211,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,86,270,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,86,180,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,107,128,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,79,49,0,0 monster Blue Plant 1079,1,360000,180000,1
+mjolnir_02.gat,133,80,0,0 monster Red Plant 1078,1,180000,90000,1
+mjolnir_02.gat,191,71,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,237,55,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,292,49,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,349,45,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,282,101,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,325,146,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,318,205,0,0 monster Red Plant 1078,1,180000,90000,1
+mjolnir_02.gat,275,199,0,0 monster Blue Plant 1079,1,360000,180000,1
+mjolnir_02.gat,335,301,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,312,342,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,325,146,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,257,292,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,204,263,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,193,304,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,145,282,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,156,254,0,0 monster Red Plant 1078,1,180000,90000,1
+mjolnir_02.gat,112,268,0,0 monster Blue Plant 1079,1,360000,180000,1
+mjolnir_02.gat,122,195,0,0 monster Red Plant 1078,1,180000,90000,1
+mjolnir_02.gat,167,160,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,325,146,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,223,110,0,0 monster Red Plant 1078,1,180000,90000,1
+mjolnir_02.gat,273,74,0,0 monster Blue Plant 1079,1,360000,180000,1
+mjolnir_02.gat,254,155,0,0 monster Red Plant 1078,1,180000,90000,1
+mjolnir_02.gat,243,208,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,273,240,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,289,276,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,188,192,10,10 monster Blue Plant 1079,2,360000,180000,1
+
+// mjolnir_03 (lv4)
+
+mjolnir_03.gat,0,0,0,0 monster Mantis 1139,30,0,0,0
+mjolnir_03.gat,0,0,0,0 monster Creamy 1018,10,0,0,0
+mjolnir_03.gat,0,0,0,0 monster Sky Petite 1156,70,0,0,0
+mjolnir_03.gat,0,0,0,0 monster Poporing 1031,10,0,0,0
+mjolnir_03.gat,0,0,0,0 monster Flora 1118,10,0,0,0
+mjolnir_03.gat,0,0,0,0 monster Argos 1100,20,0,0,0
+mjolnir_03.gat,211,216,10,10 monster Shining Plant 1083,1,1800000,900000,1
+mjolnir_03.gat,280,252,10,10 monster Shining Plant 1083,1,1800000,900000,1
+mjolnir_03.gat,135,94,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_03.gat,199,97,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_03.gat,262,98,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_03.gat,322,144,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_03.gat,356,213,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_03.gat,352,288,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_03.gat,324,355,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_03.gat,255,349,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_03.gat,168,341,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_03.gat,128,319,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_03.gat,77,271,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_03.gat,66,219,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_03.gat,91,161,0,0 monster Green Plant 1080,1,180000,90000,1
+
+// mjolnir_04 (lv4)
+
+mjolnir_04.gat,0,0,0,0 monster Mantis 1139,20,0,0,0
+mjolnir_04.gat,0,0,0,0 monster Hornet 1004,70,0,0,0
+mjolnir_04.gat,0,0,0,0 monster Poporing 1031,10,0,0,0
+mjolnir_04.gat,0,0,0,0 monster Poporing 1031,30,0,0,0
+mjolnir_04.gat,0,0,0,0 monster Argiope 1099,20,0,0,0
+mjolnir_04.gat,0,0,0,0 monster Mistress 1059,1,7200000,3600000,1
+mjolnir_04.gat,200,200,30,30 monster Shining Plant 1083,3,1800000,900000,1
+mjolnir_04.gat,177,34,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,122,28,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,76,53,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,72,99,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,177,34,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,43,143,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,31,194,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,42,252,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,64,323,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,107,357,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,173,369,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,286,357,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,356,292,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,362,201,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,332,122,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,269,39,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,205,33,0,0 monster Green Plant 1080,1,180000,90000,1
+
+// mjolnir_05 (lv4)
+
+mjolnir_05.gat,0,0,0,0 monster Mantis 1139,40,0,0,0
+mjolnir_05.gat,0,0,0,0 monster Poporing 1031,10,0,0,0
+mjolnir_05.gat,0,0,0,0 monster Flora 1118,20,0,0,0
+mjolnir_05.gat,0,0,0,0 monster Argiope 1099,70,0,0,0
+mjolnir_05.gat,0,0,0,0 monster Argos 1100,20,0,0,0
+mjolnir_05.gat,200,240,40,40 monster Blue Plant 1079,3,360000,180000,1
+mjolnir_05.gat,200,240,40,40 monster Shining Plant 1083,1,1800000,900000,1
+mjolnir_05.gat,134,103,20,20 monster Blue Plant 1079,3,360000,180000,1
+mjolnir_05.gat,261,100,20,10 monster Blue Plant 1079,3,360000,180000,1
+mjolnir_05.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+
+// mjolnir_06 (lv2)
+
+mjolnir_06.gat,0,0,0,0 monster Stainer 1174,70,0,0,0
+mjolnir_06.gat,0,0,0,0 monster Horn 1128,20,0,0,0
+mjolnir_06.gat,0,0,0,0 monster Coco 1104,20,0,0,0
+mjolnir_06.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+mjolnir_06.gat,0,0,0,0 monster Caramel 1103,30,0,0,0
+mjolnir_06.gat,162,285,0,0 monster Blue Plant 1079,1,360000,180000,1
+mjolnir_06.gat,162,255,0,0 monster Blue Plant 1079,1,360000,180000,1
+mjolnir_06.gat,304,98,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_06.gat,279,174,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_06.gat,339,168,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_06.gat,296,317,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_06.gat,45,345,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_06.gat,73,339,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_06.gat,69,225,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_06.gat,55,276,0,0 monster Red Mushroom 1085,1,180000,90000,1
+
+// mjolnir_07 (lv3)
+
+mjolnir_07.gat,0,0,0,0 monster Poison Spore 1077,60,0,0,0
+mjolnir_07.gat,0,0,0,0 monster Ambernite 1094,30,0,0,0
+mjolnir_07.gat,0,0,0,0 monster Coco 1104,20,0,0,0
+mjolnir_07.gat,0,0,0,0 monster Horn 1128,20,0,0,0
+mjolnir_07.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+mjolnir_07.gat,0,0,0,0 monster Hornet 1004,20,0,0,0
+mjolnir_07.gat,314,133,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_07.gat,299,145,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_07.gat,272,152,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_07.gat,273,181,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_07.gat,245,168,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_07.gat,217,185,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_07.gat,181,173,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_07.gat,140,179,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_07.gat,97,210,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_07.gat,249,214,0,0 monster Blue Plant 1079,2,360000,180000,1
+
+// mjolnir_08 (lv4)
+
+mjolnir_08.gat,0,0,0,0 monster Mantis 1139,60,0,0,0
+mjolnir_08.gat,0,0,0,0 monster Argiope 1099,30,0,0,0
+mjolnir_08.gat,0,0,0,0 monster Argos 1100,20,0,0,0
+mjolnir_08.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+mjolnir_08.gat,0,0,0,0 monster Poring 1002,10,0,0,0
+mjolnir_08.gat,280,280,20,40 monster Blue Plant 1079,2,360000,180000,1
+mjolnir_08.gat,207,83,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_08.gat,176,153,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_08.gat,169,204,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_08.gat,207,232,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_08.gat,180,282,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_08.gat,149,328,0,0 monster Green Plant 1080,1,180000,90000,1
+
+// mjolnir_09 (lv2)
+
+mjolnir_09.gat,0,0,0,0 monster Coco 1104,10,0,0,0
+mjolnir_09.gat,0,0,0,0 monster Stainer 1174,20,0,0,0
+mjolnir_09.gat,0,0,0,0 monster Horn 1128,70,0,0,0
+mjolnir_09.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+mjolnir_09.gat,0,0,0,0 monster Wolf 1013,30,0,0,0
+mjolnir_09.gat,205,352,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_09.gat,199,344,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_09.gat,210,331,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_09.gat,204,321,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_09.gat,212,312,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_09.gat,198,297,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_09.gat,73,122,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_09.gat,89,141,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_09.gat,120,126,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_09.gat,139,84,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_09.gat,125,82,0,0 monster Red Mushroom 1085,1,180000,90000,1
+
+// mjolnir_10 (lv3)
+
+mjolnir_10.gat,0,0,0,0 monster Mantis 1139,20,0,0,0
+mjolnir_10.gat,0,0,0,0 monster Flora 1118,30,0,0,0
+mjolnir_10.gat,0,0,0,0 monster Argos 1100,60,0,0,0
+mjolnir_10.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+mjolnir_10.gat,0,0,0,0 monster Earth Petite 1155,10,0,0,0
+mjolnir_10.gat,123,331,10,10 monster Shining Plant 1083,1,1800000,900000,1
+mjolnir_10.gat,0,0,0,0 monster Green Plant 1080,10,180000,90000,1
+
+
+// mjolnir_11 (lv4)
+
+mjolnir_11.gat,0,0,0,0 monster Argiope 1099,10,0,0,0
+mjolnir_11.gat,0,0,0,0 monster Mandragora 1020,50,0,0,0
+mjolnir_11.gat,0,0,0,0 monster Flora 1118,60,0,0,0
+mjolnir_11.gat,0,0,0,0 monster Poporing 1031,10,0,0,0
+mjolnir_11.gat,0,0,0,0 monster Thief Bug Male 1054,30,0,0,0
+mjolnir_11.gat,112,276,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_11.gat,159,283,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_11.gat,116,240,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_11.gat,146,215,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_11.gat,145,177,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_11.gat,129,135,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_11.gat,126,93,0,0 monster Blue Plant 1079,1,360000,180000,1
+mjolnir_11.gat,197,123,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_11.gat,198,210,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_11.gat,231,277,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_11.gat,332,327,0,0 monster Blue Plant 1079,1,360000,180000,1
+mjolnir_11.gat,282,300,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_11.gat,295,271,0,0 monster Green Plant 1080,1,180000,90000,1
+
+// mjolnir_12 (lv3)
+
+mjolnir_12.gat,0,0,0,0 monster Stem Worm 1215,20,0,0,0
+mjolnir_12.gat,0,0,0,0 monster Dustiness 1114,50,0,0,0
+mjolnir_12.gat,0,0,0,0 monster Thief Bug Female 1053,20,0,0,0
diff --git a/npc/eamobs/fields/morocc.txt b/npc/eamobs/fields/morocc.txt
new file mode 100644
index 000000000..18a1628bf
--- /dev/null
+++ b/npc/eamobs/fields/morocc.txt
@@ -0,0 +1,278 @@
+//===== eAthena Script =======================================
+//= Morocc Fields Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// moc_fild01 (lv2)
+
+moc_fild01.gat,0,0,0,0 monster Desert Wolf Babe 1107,70,0,0,0
+moc_fild01.gat,0,0,0,0 monster Ant Egg 1097,20,0,0,0
+moc_fild01.gat,0,0,0,0 monster PecoPeco Egg 1047,20,0,0,0
+moc_fild01.gat,0,0,0,0 monster Picky 1049,10,0,0,0
+moc_fild01.gat,0,0,0,0 monster Drops 1113,30,0,0,0
+moc_fild01.gat,0,0,0,0 monster Poring 1002,10,0,0,0
+moc_fild01.gat,194,51,10,10 monster Yellow Plant 1081,10,900000,450000,1
+
+// moc_fild02 (lv2)
+
+moc_fild02.gat,0,0,0,0 monster PecoPeco 1019,70,0,0,0
+moc_fild02.gat,0,0,0,0 monster Ant Egg 1097,10,0,0,0
+moc_fild02.gat,0,0,0,0 monster PecoPeco Egg 1047,40,0,0,0
+moc_fild02.gat,0,0,0,0 monster Picky 1049,10,0,0,0
+moc_fild02.gat,0,0,0,0 monster Drops 1113,30,0,0,0
+moc_fild02.gat,89,315,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild02.gat,99,261,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild02.gat,94,195,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild02.gat,139,222,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild02.gat,132,307,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild02.gat,194,294,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild02.gat,275,241,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild02.gat,342,267,0,0 monster Green Plant 1080,1,180000,90000,1
+moc_fild02.gat,359,215,0,0 monster Green Plant 1080,1,180000,90000,1
+moc_fild02.gat,313,149,0,0 monster Green Plant 1080,1,180000,90000,1
+moc_fild02.gat,230,62,0,0 monster Green Plant 1080,1,180000,90000,1
+moc_fild02.gat,299,61,0,0 monster Green Plant 1080,1,180000,90000,1
+moc_fild02.gat,353,103,0,0 monster Green Plant 1080,1,180000,90000,1
+moc_fild02.gat,337,35,0,0 monster Green Plant 1080,1,180000,90000,1
+
+// moc_fild03 (lv3)
+
+moc_fild03.gat,0,0,0,0 monster Elder Willow 1033,70,0,0,0
+moc_fild03.gat,0,0,0,0 monster Greatest General 1277,30,0,0,0
+moc_fild03.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+moc_fild03.gat,0,0,0,0 monster Eggyra 1116,10,0,0,0
+moc_fild03.gat,0,0,0,0 monster Willow 1010,20,0,0,0
+moc_fild03.gat,0,0,0,0 monster Vagabond Wolf 1092,1,1800000,1200000,0
+moc_fild03.gat,77,311,5,5 monster Green Plant 1080,2,180000,90000,1
+moc_fild03.gat,108,199,5,5 monster Green Plant 1080,2,180000,90000,1
+moc_fild03.gat,96,65,5,5 monster Green Plant 1080,2,180000,90000,1
+moc_fild03.gat,216,69,5,5 monster Green Plant 1080,2,180000,90000,1
+moc_fild03.gat,261,161,5,5 monster Green Plant 1080,2,180000,90000,1
+moc_fild03.gat,213,201,5,5 monster Green Plant 1080,2,180000,90000,1
+moc_fild03.gat,200,263,5,5 monster Green Plant 1080,2,180000,90000,1
+
+// moc_fild04 (lv3)
+
+moc_fild04.gat,0,0,0,0 monster Desert Wolf 1106,20,0,0,0
+moc_fild04.gat,0,0,0,0 monster Scorpion 1001,30,0,0,0
+moc_fild04.gat,0,0,0,0 monster Metaller 1058,20,0,0,0
+moc_fild04.gat,0,0,0,0 monster Magnolia 1138,40,0,0,0
+moc_fild04.gat,0,0,0,0 monster Ant Egg 1097,10,0,0,0
+moc_fild04.gat,0,0,0,0 monster Andre 1095,20,0,0,0
+moc_fild04.gat,0,0,0,0 monster Deniro 1105,20,0,0,0
+moc_fild04.gat,0,0,0,0 monster Piere 1160,20,0,0,0
+moc_fild04.gat,313,84,10,10 monster Yellow Plant 1081,10,900000,450000,1
+
+// moc_fild05 (lv2)
+
+moc_fild05.gat,0,0,0,0 monster Magnolia 1138,30,0,0,0
+moc_fild05.gat,0,0,0,0 monster Metaller 1058,20,0,0,0
+moc_fild05.gat,0,0,0,0 monster Golem 1040,70,0,0,0
+moc_fild05.gat,0,0,0,0 monster Ant Egg 1097,10,0,0,0
+moc_fild05.gat,0,0,0,0 monster Andre 1095,10,0,0,0
+moc_fild05.gat,0,0,0,0 monster Deniro 1105,10,0,0,0
+moc_fild05.gat,0,0,0,0 monster Piere 1160,10,0,0,0
+moc_fild05.gat,208,233,10,10 monster Yellow Plant 1081,5,360000,180000,1
+
+// moc_fild06 (lv2)
+
+moc_fild06.gat,0,0,0,0 monster PecoPeco 1019,70,0,0,0
+moc_fild06.gat,0,0,0,0 monster Muka 1055,30,0,0,0
+moc_fild06.gat,0,0,0,0 monster Condor 1009,50,0,0,0
+moc_fild06.gat,0,0,0,0 monster Magnolia 1138,10,0,0,0
+moc_fild06.gat,0,0,0,0 monster Andre 1095,5,0,0,0
+moc_fild06.gat,0,0,0,0 monster Deniro 1105,5,0,0,0
+moc_fild06.gat,0,0,0,0 monster Piere 1160,5,0,0,0
+moc_fild06.gat,0,0,0,0 monster Ant Egg 1097,10,0,0,0
+moc_fild06.gat,193,203,10,10 monster Yellow Plant 1081,10,900000,450000,1
+
+// moc_fild07 (lv1)
+
+moc_fild07.gat,0,0,0,0 monster Drops 1113,70,0,0,0
+moc_fild07.gat,0,0,0,0 monster PecoPeco Egg 1047,50,0,0,0
+moc_fild07.gat,0,0,0,0 monster Shell Picky 1050,30,0,0,0
+moc_fild07.gat,0,0,0,0 monster Picky 1049,30,0,0,0
+moc_fild07.gat,162,333,12,12 monster Yellow Plant 1081,5,360000,180000,1
+
+
+// moc_fild08 (lv4)
+
+moc_fild08.gat,0,0,0,0 monster Magnolia 1138,30,0,0,0
+moc_fild08.gat,0,0,0,0 monster Scorpion 1001,80,0,0,0
+moc_fild08.gat,0,0,0,0 monster Desert Wolf 1106,30,0,0,0
+moc_fild08.gat,0,0,0,0 monster Anacondaq 1030,30,0,0,0
+moc_fild08.gat,0,0,0,0 monster Baby Desert Wolf 1107,10,0,0,0
+moc_fild08.gat,0,0,0,0 monster Drops 1113,10,0,0,0
+
+// moc_fild09 (lv3)
+
+moc_fild09.gat,0,0,0,0 monster Desert Wolf 1106,10,0,0,0
+moc_fild09.gat,0,0,0,0 monster Metaller 1058,70,0,0,0
+moc_fild09.gat,0,0,0,0 monster Magnolia 1138,50,0,0,0
+moc_fild09.gat,0,0,0,0 monster Ant Egg 1097,10,0,0,0
+moc_fild09.gat,0,0,0,0 monster Andre 1095,5,0,0,0
+moc_fild09.gat,0,0,0,0 monster Deniro 1105,5,0,0,0
+moc_fild09.gat,0,0,0,0 monster Piere 1160,5,0,0,0
+moc_fild09.gat,0,0,0,0 monster Ant Egg 1097,10,0,0,0
+moc_fild09.gat,0,0,0,0 monster Frilldora 1119,6,0,0,0
+moc_fild09.gat,332,341,5,5 monster Yellow Plant 1081,2,180000,90000,1
+moc_fild09.gat,240,313,5,5 monster Yellow Plant 1081,2,180000,90000,1
+moc_fild09.gat,305,62,5,5 monster Yellow Plant 1081,2,180000,90000,1
+moc_fild09.gat,64,78,5,5 monster Yellow Plant 1081,2,180000,90000,1
+moc_fild09.gat,54,325,5,5 monster Yellow Plant 1081,2,180000,90000,1
+
+// moc_fild10 (lv1)
+
+moc_fild10.gat,0,0,0,0 monster Drops 1113,30,0,0,0
+moc_fild10.gat,0,0,0,0 monster PecoPeco Egg 1047,70,0,0,0
+moc_fild10.gat,0,0,0,0 monster Picky 1049,50,0,0,0
+moc_fild10.gat,0,0,0,0 monster Shell Picky 1050,50,0,0,0
+moc_fild10.gat,0,0,0,0 monster Magnolia 1138,1,0,0,0
+moc_fild10.gat,0,0,0,0 monster Ant Egg 1097,10,0,0,0
+moc_fild10.gat,198,150,40,30 monster Yellow Plant 1081,10,180000,90000,1
+moc_fild10.gat,198,150,40,30 monster Green Plant 1080,5,180000,90000,1
+
+// moc_fild11 (lv2)
+
+moc_fild11.gat,0,0,0,0 monster Hode 1127,10,0,0,0
+moc_fild11.gat,0,0,0,0 monster Golem 1040,70,0,0,0
+moc_fild11.gat,0,0,0,0 monster Andre 1095,10,0,0,0
+moc_fild11.gat,0,0,0,0 monster Deniro 1105,10,0,0,0
+moc_fild11.gat,0,0,0,0 monster Piere 1160,10,0,0,0
+moc_fild11.gat,0,0,0,0 monster Ant Egg 1097,10,0,0,0
+moc_fild11.gat,0,0,0,0 monster Magnolia 1138,20,0,0,0
+moc_fild11.gat,0,0,0,0 monster Muka 1055,20,0,0,0
+moc_fild11.gat,197,216,0,0 monster Shining Plant 1083,1,1800000,900000,1
+
+// moc_fild12 (lv1)
+
+moc_fild12.gat,0,0,0,0 monster Shell Picky 1050,50,0,0,0
+moc_fild12.gat,0,0,0,0 monster Picky 1049,50,0,0,0
+moc_fild12.gat,0,0,0,0 monster PecoPeco Egg 1047,35,0,0,0
+moc_fild12.gat,0,0,0,0 monster Drops 1113,35,0,0,0
+moc_fild12.gat,181,336,40,20 monster Yellow Plant 1081,10,180000,90000,1
+
+// moc_fild13 (lv3)
+
+moc_fild13.gat,0,0,0,0 monster Desert Wolf 1106,30,0,0,0
+moc_fild13.gat,0,0,0,0 monster Anacondaq 1030,70,0,0,0
+moc_fild13.gat,0,0,0,0 monster Boa 1025,25,0,0,0
+moc_fild13.gat,0,0,0,0 monster Sidewinder 1037,35,0,0,0
+moc_fild13.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+moc_fild13.gat,0,0,0,0 monster Drops 1113,10,0,0,0
+moc_fild13.gat,280,99,0,0 monster Red Mushroom 1085,1,180000,90000,1
+moc_fild13.gat,264,64,0,0 monster Red Mushroom 1085,1,180000,90000,1
+moc_fild13.gat,305,91,0,0 monster Red Mushroom 1085,1,180000,90000,1
+moc_fild13.gat,264,136,0,0 monster Red Mushroom 1085,1,180000,90000,1
+moc_fild13.gat,282,155,0,0 monster Red Mushroom 1085,1,180000,90000,1
+moc_fild13.gat,265,197,0,0 monster Red Mushroom 1085,1,180000,90000,1
+moc_fild13.gat,284,227,0,0 monster Red Mushroom 1085,1,180000,90000,1
+moc_fild13.gat,304,244,0,0 monster Red Mushroom 1085,1,180000,90000,1
+moc_fild13.gat,266,289,0,0 monster Red Mushroom 1085,1,180000,90000,1
+moc_fild13.gat,307,307,0,0 monster Red Mushroom 1085,1,180000,90000,1
+moc_fild13.gat,281,333,0,0 monster Red Mushroom 1085,1,180000,90000,1
+moc_fild13.gat,304,333,0,0 monster Red Mushroom 1085,1,180000,90000,1
+moc_fild13.gat,295,358,0,0 monster Red Mushroom 1085,1,180000,90000,1
+moc_fild13.gat,84,329,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild13.gat,93,301,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild13.gat,101,297,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild13.gat,89,92,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild13.gat,108,150,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild13.gat,109,168,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild13.gat,101,185,5,5 monster Yellow Plant 1081,3,180000,90000,1
+moc_fild13.gat,106,258,5,5 monster Yellow Plant 1081,3,180000,90000,1
+moc_fild13.gat,161,273,5,5 monster Yellow Plant 1081,3,180000,90000,1
+
+// moc_fild14 (lv4)
+
+moc_fild14.gat,0,0,0,0 monster Desert Wolf 1106,80,0,0,0
+moc_fild14.gat,0,0,0,0 monster Sidewinder 1037,20,0,0,0
+moc_fild14.gat,0,0,0,0 monster Baby Desert Wolf 1107,40,0,0,0
+moc_fild14.gat,0,0,0,0 monster Magnolia 1138,25,0,0,0
+moc_fild14.gat,124,93,5,5 monster Shining Plant 1083,1,1800000,900000,1
+moc_fild14.gat,85,271,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild14.gat,165,282,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild14.gat,149,333,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild14.gat,64,342,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild14.gat,160,366,0,0 monster Yellow Plant 1081,1,180000,90000,1
+
+// moc_fild15 (lv3)
+
+moc_fild15.gat,0,0,0,0 monster Hode 1127,30,0,0,0
+moc_fild15.gat,0,0,0,0 monster Scorpion 1001,10,0,0,0
+moc_fild15.gat,0,0,0,0 monster Desert Wolf 1106,10,0,0,0
+moc_fild15.gat,0,0,0,0 monster Magnolia 1138,25,0,0,0
+moc_fild15.gat,0,0,0,0 monster Andre 1095,40,0,0,0
+moc_fild15.gat,0,0,0,0 monster Ant Egg 1097,10,0,0,0
+moc_fild15.gat,0,0,0,0 monster Phreeoni 1159,1,7200000,3600000,1
+moc_fild15.gat,40,126,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild15.gat,57,39,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild15.gat,46,250,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild15.gat,104,347,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild15.gat,195,373,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild15.gat,341,365,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild15.gat,353,230,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild15.gat,341,164,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild15.gat,370,85,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild15.gat,158,144,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild15.gat,232,126,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild15.gat,294,74,0,0 monster Yellow Plant 1081,1,180000,90000,1
+
+// moc_fild16 (lv4)
+
+moc_fild16.gat,0,0,0,0 monster Sandman 1165,70,0,0,0
+moc_fild16.gat,0,0,0,0 monster Hode 1127,30,0,0,0
+moc_fild16.gat,0,0,0,0 monster Magnolia 1138,25,0,0,0
+moc_fild16.gat,0,0,0,0 monster Andre 1095,10,0,0,0
+moc_fild16.gat,0,0,0,0 monster Deniro 1105,20,0,0,0
+moc_fild16.gat,0,0,0,0 monster Ant Egg 1097,10,0,0,0
+
+
+// moc_fild17 (lv3)
+
+moc_fild17.gat,0,0,0,0 monster Hode 1127,50,0,0,0
+moc_fild17.gat,0,0,0,0 monster Steel ChonChon 1042,40,0,0,0
+moc_fild17.gat,0,0,0,0 monster Magnolia 1138,15,0,0,0
+moc_fild17.gat,0,0,0,0 monster Frilldora 1119,15,0,0,0
+moc_fild17.gat,0,0,0,0 monster Andre 1095,10,0,0,0
+moc_fild17.gat,0,0,0,0 monster Deniro 1105,20,0,0,0
+moc_fild17.gat,0,0,0,0 monster Piere 1160,20,0,0,0
+moc_fild17.gat,0,0,0,0 monster Ant Egg 1097,10,0,0,0
+moc_fild17.gat,0,0,0,0 monster Scorpion 1001,5,0,0,0
+moc_fild17.gat,0,0,0,0 monster Sandman 1165,5,0,0,0
+moc_fild17.gat,40,258,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild17.gat,144,151,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild17.gat,243,138,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild17.gat,270,106,0,0 monster Blue Plant 1079,1,180000,90000,1
+moc_fild17.gat,335,191,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild17.gat,347,224,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild17.gat,359,258,0,0 monster Yellow Plant 1081,1,180000,90000,1
+
+// moc_fild18 (lv2)
+
+moc_fild18.gat,0,0,0,0 monster Steel ChonChon 1042,70,0,0,0
+moc_fild18.gat,0,0,0,0 monster ChonChon 1011,40,0,0,0
+moc_fild18.gat,0,0,0,0 monster Muka 1055,40,0,0,0
+moc_fild18.gat,0,0,0,0 monster Metaller 1058,10,0,0,0
+moc_fild18.gat,0,0,0,0 monster Magnolia 1138,25,0,0,0
+moc_fild18.gat,0,0,0,0 monster Andre 1095,5,0,0,0
+moc_fild18.gat,0,0,0,0 monster Deniro 1105,5,0,0,0
+moc_fild18.gat,0,0,0,0 monster Piere 1160,5,0,0,0
+moc_fild18.gat,0,0,0,0 monster Ant Egg 1097,5,0,0,0
+moc_fild18.gat,0,0,0,0 monster Dragon Fly 1091,1,3600000,1800000,1
+moc_fild18.gat,0,0,0,0 monster Hunter Fly 1035,1,7200000,3600000,1
+moc_fild18.gat,143,352,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild18.gat,72,333,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild18.gat,119,285,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild18.gat,71,210,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild18.gat,135,119,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild18.gat,230,144,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild18.gat,325,207,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild18.gat,325,272,0,0 monster Yellow Plant 1081,1,180000,90000,1
diff --git a/npc/eamobs/fields/niflheim.txt b/npc/eamobs/fields/niflheim.txt
new file mode 100644
index 000000000..d15b434c0
--- /dev/null
+++ b/npc/eamobs/fields/niflheim.txt
@@ -0,0 +1,48 @@
+//===== eAthena Script =======================================
+//= Niflheim Temporary Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.4a
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.2 updated [shadow],
+//= 1.3 many changes and wrong LOD ID 5373 -> 1373 [Lupus]
+//= 1.4 removed yggdrasil from this file [DracoRPG]
+//= 1.4a Readded Lord of Death, why was it removed anyway? [MasterOfMuppets]
+//============================================================
+
+//niflheim
+niflheim.gat,0,0,0,0 monster Dullahan 1504,5,1800000,1200000,0
+niflheim.gat,0,0,0,0 monster Gibbet 1503,10,1200000,600000,0
+niflheim.gat,0,0,0,0 monster Hylozoist 1510,10,1200000,600000,0
+niflheim.gat,0,0,0,0 monster Quve 1508,20,300000,150000,0
+niflheim.gat,0,0,0,0 monster Lude 1509,20,300000,150000,0
+niflheim.gat,0,0,0,0 monster Lord of Death 1373,1,7200000,3600000,1
+
+//nif_fild01
+nif_fild01.gat,0,0,0,0 monster Disguise 1506,20,0,0,0
+nif_fild01.gat,0,0,0,0 monster Disguise 1506,30,300000,120000,0
+nif_fild01.gat,227,253,20,20 monster Dullahan 1504,7,1800000,1200000,0
+nif_fild01.gat,0,0,0,0 monster Dullahan 1504,13,0,0,0
+nif_fild01.gat,0,0,0,0 monster Gibbet 1503,10,0,0,0
+nif_fild01.gat,0,0,0,0 monster Hylozoist 1510,10,0,0,0
+nif_fild01.gat,0,0,0,0 monster Quve 1508,30,0,0,0
+
+//nif_fild02
+nif_fild02.gat,366,236,15,15 monster Lude 1509,10,360000,150000,0
+nif_fild02.gat,356,139,10,10 monster Bloody Murderer 1507,1,1200000,600000,0
+nif_fild02.gat,144,232,10,10 monster Bloody Murderer 1507,1,1200000,600000,0
+nif_fild02.gat,118,282,15,15 monster Bloody Murderer 1507,1,1200000,600000,0
+nif_fild02.gat,62,327,15,15 monster Bloody Murderer 1507,1,1200000,600000,0
+nif_fild02.gat,0,0,0,0 monster Bloody Murderer 1507,7,0,0,0
+nif_fild02.gat,114,136,15,15 monster Loli Ruri 1505,2,1200000,600000,0
+nif_fild02.gat,52,115,10,10 monster Hylozoist 1510,4,1200000,600000,0
+nif_fild02.gat,84,276,15,15 monster Gibbet 1503,5,1200000,600000,0
+nif_fild02.gat,352,273,15,15 monster Gibbet 1503,5,300000,150000,0
+nif_fild02.gat,0,0,0,0 monster Loli Ruri 1505,19,120000,60000,0
+nif_fild02.gat,352,273,15,15 monster Dullahan 1504,5,600000,300000,0
+nif_fild02.gat,0,0,0,0 monster Dullahan 1504,5,0,0,0
+nif_fild02.gat,0,0,0,0 monster Hylozoist 1510,6,0,0,0
+nif_fild02.gat,0,0,0,0 monster Gibbet 1503,10,0,0,0
diff --git a/npc/eamobs/fields/odin.txt b/npc/eamobs/fields/odin.txt
new file mode 100644
index 000000000..dea09f865
--- /dev/null
+++ b/npc/eamobs/fields/odin.txt
@@ -0,0 +1,54 @@
+//===== eAthena Script =======================================
+//= Odin Temple Monster Spawn Script
+//===== By: ==================================================
+//= Poki#3 (0.1)
+//===== Current Version: =====================================
+//= 0.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= Quantity is incorrect.
+//============================================================
+
+//========================================================================================
+// - Odin Temple 01
+//========================================================================================
+
+odin_tem01.gat,0,0,0,0 monster Skeggiold 1754,10,0,0,0
+odin_tem01.gat,0,0,0,0 monster Skeggiold 1755,10,0,0,0
+odin_tem01.gat,0,0,0,0 monster Breeze 1692,25,0,0,0
+odin_tem01.gat,0,0,0,0 monster Solace 1703,10,0,0,0
+odin_tem01.gat,0,0,0,0 monster Plasma 1693,5,0,0,0
+odin_tem01.gat,0,0,0,0 monster Plasma 1694,5,0,0,0
+odin_tem01.gat,0,0,0,0 monster Plasma 1695,5,0,0,0
+odin_tem01.gat,0,0,0,0 monster Plasma 1696,5,0,0,0
+odin_tem01.gat,0,0,0,0 monster Plasma 1697,5,0,0,0
+odin_tem01.gat,0,0,0,0 monster Blue Plant 1079,10,180000,90000,1
+odin_tem01.gat,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1
+
+//========================================================================================
+// - Odin Temple 02
+//========================================================================================
+
+odin_tem02.gat,0,0,0,0 monster Skogul 1752,10,0,0,0
+odin_tem02.gat,0,0,0,0 monster Frus 1753,10,0,0,0
+odin_tem02.gat,0,0,0,0 monster Skeggiold 1754,10,0,0,0
+odin_tem02.gat,0,0,0,0 monster Skeggiold 1755,10,0,0,0
+odin_tem02.gat,0,0,0,0 monster Plasma 1693,30,0,0,0
+odin_tem02.gat,0,0,0,0 monster Retribution 1702,10,0,0,0
+odin_tem02.gat,0,0,0,0 monster Blue Plant 1079,10,180000,90000,1
+
+//========================================================================================
+// - Odin Temple 03
+//========================================================================================
+
+odin_tem03.gat,0,0,0,0 monster Plasma 1693,15,0,0,0
+odin_tem03.gat,0,0,0,0 monster Observation 1700,10,0,0,0
+odin_tem03.gat,0,0,0,0 monster Retribution 1702,10,0,0,0
+odin_tem03.gat,0,0,0,0 monster Skogul 1752,20,0,0,0
+odin_tem03.gat,0,0,0,0 monster Frus 1753,20,0,0,0
+odin_tem03.gat,0,0,0,0 monster Skeggiold 1754,5,0,0,0
+odin_tem03.gat,0,0,0,0 monster Skeggiold 1755,5,0,0,0
+odin_tem03.gat,0,0,0,0 monster White Plant 1082,10,180000,90000,1
+odin_tem03.gat,0,0,0,0 monster Blue Plant 1079,10,180000,90000,1
+odin_tem03.gat,0,0,0,0 monster Valkyrie Randgris 1751,1,3600000,1800000,1
diff --git a/npc/eamobs/fields/payon.txt b/npc/eamobs/fields/payon.txt
new file mode 100644
index 000000000..24a3d4541
--- /dev/null
+++ b/npc/eamobs/fields/payon.txt
@@ -0,0 +1,141 @@
+//===== eAthena Script =======================================
+//= Payon Fields Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// Pay_fild01 (lv2)
+
+pay_fild01.gat,0,0,0,0 monster Willow 1010,50,0,0,0
+pay_fild01.gat,0,0,0,0 monster Poporing 1031,10,0,0,0
+pay_fild01.gat,0,0,0,0 monster Poring 1002,60,0,0,0
+pay_fild01.gat,0,0,0,0 monster Spore 1014,20,0,0,0
+pay_fild01.gat,340,89,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,336,116,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,231,258,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,215,323,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,340,89,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,225,310,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,129,288,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,75,269,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,80,226,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,89,177,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,95,85,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,57,85,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,64,113,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,64,190,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,70,246,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,0,0,0,0 monster Green Plant 1080,5,180000,90000,1
+
+// Pay_fild02 (lv2)
+
+pay_fild02.gat,0,0,0,0 monster Boa 1025,30,0,0,0
+pay_fild02.gat,0,0,0,0 monster Wolf 1013,70,0,0,0
+pay_fild02.gat,0,0,0,0 monster Spore 1014,10,0,0,0
+pay_fild02.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+pay_fild02.gat,105,256,10,10 monster Green Plant 1080,4,360000,180000,1
+pay_fild02.gat,105,256,10,10 monster Red Mushroom 1085,4,360000,180000,1
+
+// Pay_fild03 (lv1)
+
+pay_fild03.gat,0,0,0,0 monster Poring 1002,30,0,0,0
+pay_fild03.gat,0,0,0,0 monster Willow 1010,30,0,0,0
+pay_fild03.gat,0,0,0,0 monster Pupa 1008,50,0,0,0
+pay_fild03.gat,0,0,0,0 monster Lunatic 1063,50,0,0,0
+pay_fild03.gat,153,216,10,10 monster Red Mushroom 1085,6,900000,450000,1
+pay_fild03.gat,372,64,15,15 monster Green Plant 1080,4,180000,90000,1
+
+// pay_fild04 (lv2)
+
+pay_fild04.gat,0,0,0,0 monster Poring 1002,40,0,0,0
+pay_fild04.gat,0,0,0,0 monster Drops 1113,40,0,0,0
+pay_fild04.gat,0,0,0,0 monster Poporing 1031,40,0,0,0
+pay_fild04.gat,0,0,0,0 monster Marin 1242,10,0,0,0
+pay_fild04.gat,0,0,0,0 monster Ghostring 1120,1,3600000,1800000,1
+pay_fild04.gat,0,0,0,0 monster Mastering 1090,1,3600000,1800000,1
+pay_fild04.gat,0,0,0,0 monster Angeling 1096,1,3600000,1800000,1
+pay_fild04.gat,0,0,0,0 monster Deviling 1582,1,7200000,3600000,1
+pay_fild04.gat,346,335,5,5 monster Shining Plant 1083,1,1800000,900000,1
+pay_fild04.gat,254,193,10,10 monster Green Plant 1080,5,360000,180000,1
+
+// Pay_fild05 (lv4)
+
+pay_fild05.gat,0,0,0,0 monster Dragon Tail 1321,5,0,0,0
+pay_fild05.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+pay_fild05.gat,0,0,0,0 monster Poison Spore 1077,65,0,0,0
+pay_fild05.gat,95,147,5,5 monster Green Plant 1080,4,900000,450000,1
+pay_fild05.gat,86,90,5,5 monster Green Plant 1080,4,900000,450000,1
+
+// Pay_fild06 (lv2)
+
+pay_fild06.gat,0,0,0,0 monster Worm Tail 1024,70,0,0,0
+pay_fild06.gat,0,0,0,0 monster Spore 1014,20,0,0,0
+pay_fild06.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+pay_fild06.gat,0,0,0,0 monster Thief Bug Female 1053,40,0,0,0
+pay_fild06.gat,211,191,2,10 monster Red Mushroom 1085,8,180000,90000,1
+pay_fild06.gat,268,155,20,20 monster Green Plant 1080,10,360000,180000,1
+pay_fild06.gat,268,155,20,20 monster Shining Plant 1083,1,1800000,900000,1
+
+// pay_fild07 (lv3)
+
+pay_fild07.gat,0,0,0,0 monster Elder Willow 1033,70,0,0,0
+pay_fild07.gat,0,0,0,0 monster Eggyra 1116,40,0,0,0
+pay_fild07.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+pay_fild07.gat,0,0,0,0 monster Willow 1010,20,0,0,0
+pay_fild07.gat,0,0,0,0 monster Bigfoot 1060,30,0,0,0
+pay_fild07.gat,171,331,20,20 monster Green Plant 1080,8,900000,450000,1
+
+// pay_fild08 (lv1)
+
+pay_fild08.gat,0,0,0,0 monster Poring 1002,30,0,0,0
+pay_fild08.gat,0,0,0,0 monster Willow 1010,70,0,0,0
+pay_fild08.gat,0,0,0,0 monster Pupa 1008,20,0,0,0
+pay_fild08.gat,0,0,0,0 monster Spore 1014,50,0,0,0
+pay_fild08.gat,0,0,0,0 monster Green Plant 1080,10,60000,30000,1
+pay_fild08.gat,143,156,40,40 monster Shining Plant 1083,1,3600000,1800000,1
+
+// pay_fild09 (lv2)
+
+pay_fild09.gat,0,0,0,0 monster Spore 1014,20,0,0,0
+pay_fild09.gat,0,0,0,0 monster Worm Tail 1024,20,0,0,0
+pay_fild09.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+pay_fild09.gat,0,0,0,0 monster Boa 1025,30,0,0,0
+pay_fild09.gat,0,0,0,0 monster Sohee 1170,3,0,0,0
+pay_fild09.gat,0,0,0,0 monster Smokie 1056,50,0,0,0
+pay_fild09.gat,0,0,0,0 monster Bigfoot 1060,50,0,0,0
+pay_fild09.gat,198,217,30,30 monster Green Plant 1080,10,360000,180000,0
+pay_fild09.gat,198,217,30,30 monster Shining Plant 1083,1,1800000,900000,1
+
+// pay_fild10 (lv4)
+
+pay_fild10.gat,0,0,0,0 monster Greatest General 1277,65,0,0,0
+pay_fild10.gat,0,0,0,0 monster Horong 1129,40,0,0,0
+pay_fild10.gat,0,0,0,0 monster Poison Spore 1077,20,0,0,0
+pay_fild10.gat,0,0,0,0 monster Poporing 1031,30,0,0,0
+pay_fild10.gat,0,0,0,0 monster Nine-Tail 1180,3,0,0,0
+pay_fild10.gat,0,0,0,0 monster Nine-Tail 1180,1,1800000,900000,1
+pay_fild10.gat,0,0,0,0 monster Nine-Tail 1180,1,900000,450000,1
+pay_fild10.gat,213,157,10,10 monster Green Plant 1080,5,360000,180000,1
+pay_fild10.gat,281,307,10,10 monster Green Plant 1080,5,360000,180000,1
+pay_fild10.gat,66,332,10,10 monster Green Plant 1080,5,360000,180000,1
+pay_fild10.gat,213,157,10,10 monster Blue Plant 1079,1,360000,180000,1
+pay_fild10.gat,281,307,10,10 monster Blue Plant 1079,1,360000,180000,1
+pay_fild10.gat,66,332,10,10 monster Blue Plant 1079,1,360000,180000,1
+
+// Pay_fild11 (lv4)
+
+pay_fild11.gat,0,0,0,0 monster Horong 1129,50,0,0,0
+pay_fild11.gat,0,0,0,0 monster Greatest General 1277,30,0,0,0
+pay_fild11.gat,0,0,0,0 monster Elder Willow 1033,10,0,0,0
+pay_fild11.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+pay_fild11.gat,0,0,0,0 monster Poison Spore 1077,40,0,0,0
+pay_fild11.gat,0,0,0,0 monster Dragon Tail 1321,10,0,0,0
+pay_fild11.gat,0,0,0,0 monster Eddga 1115,1,7200000,3600000,1
+pay_fild11.gat,241,162,5,5 monster Red Mushroom 1085,3,360000,180000,1
+pay_fild11.gat,66,293,5,5 monster Red Mushroom 1085,3,360000,180000,1
diff --git a/npc/eamobs/fields/prontera.txt b/npc/eamobs/fields/prontera.txt
new file mode 100644
index 000000000..b6fa83014
--- /dev/null
+++ b/npc/eamobs/fields/prontera.txt
@@ -0,0 +1,126 @@
+//===== eAthena Script =======================================
+//= Prontera Fields Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.2 fixed some map name typos [Lupus]
+//============================================================
+
+// prt_fild00 (lv2)
+
+prt_fild00.gat,0,0,0,0 monster Creamy 1018,10,0,0,0
+prt_fild00.gat,0,0,0,0 monster Fabre 1007,20,0,0,0
+prt_fild00.gat,0,0,0,0 monster Pupa 1008,50,0,0,0
+prt_fild00.gat,0,0,0,0 monster Lunatic 1063,30,0,0,0
+prt_fild00.gat,0,0,0,0 monster Poring 1002,40,0,0,0
+prt_fild00.gat,0,0,0,0 monster Hornet 1004,40,0,0,0
+prt_fild00.gat,227,212,0,0 monster Shining Plant 1083,1,1800000,900000,1
+prt_fild00.gat,285,138,10,10 monster Green Plant 1080,5,360000,180000,1
+
+
+// prt_fild01 (lv1)
+
+prt_fild01.gat,0,0,0,0 monster Thief Bug Larva 1051,30,0,0,0
+prt_fild01.gat,0,0,0,0 monster Fabre 1007,20,0,0,0
+prt_fild01.gat,0,0,0,0 monster Pupa 1008,10,0,0,0
+prt_fild01.gat,0,0,0,0 monster Lunatic 1063,80,0,0,0
+prt_fild01.gat,0,0,0,0 monster Poring 1002,30,0,0,0
+prt_fild01.gat,199,266,3,3 monster Green Plant 1080,3,360000,180000,1
+prt_fild01.gat,199,266,3,3 monster Blue Plant 1079,1,900000,450000,1
+
+// prt_fild02 (lv2)
+
+prt_fild02.gat,0,0,0,0 monster Mandragora 1020,70,0,0,0
+prt_fild02.gat,0,0,0,0 monster Fabre 1007,50,0,0,0
+prt_fild02.gat,0,0,0,0 monster Pupa 1008,20,0,0,0
+prt_fild02.gat,0,0,0,0 monster Lunatic 1063,10,0,0,0
+prt_fild02.gat,0,0,0,0 monster Poring 1002,30,0,0,0
+prt_fild02.gat,0,0,0,0 monster Eclipse 1093,1,1800000,1200000,0
+prt_fild02.gat,339,309,3,3 monster Shining Plant 1083,1,1800000,900000,1
+prt_fild02.gat,0,0,0,0 monster Shining Plant 1083,2,1800000,900000,1
+
+// prt_fild03 (lv2)
+
+prt_fild03.gat,0,0,0,0 monster Yoyo 1057,70,0,0,0
+prt_fild03.gat,0,0,0,0 monster Smokie 1056,40,0,0,0
+prt_fild03.gat,0,0,0,0 monster Choco 1214,3,1800000,900000,0
+prt_fild03.gat,0,0,0,0 monster Fabre 1007,10,0,0,0
+prt_fild03.gat,0,0,0,0 monster Poporing 1031,30,0,0,0
+prt_fild03.gat,296,58,15,15 monster Green Plant 1080,5,180000,90000,1
+prt_fild03.gat,296,58,15,15 monster Blue Plant 1079,2,900000,450000,1
+
+// prt_fild04 (lv2)
+
+prt_fild04.gat,0,0,0,0 monster Rocker 1052,70,0,0,0
+prt_fild04.gat,0,0,0,0 monster Creamy 1018,40,0,0,0
+prt_fild04.gat,0,0,0,0 monster Pupa 1008,10,0,0,0
+prt_fild04.gat,0,0,0,0 monster Poring 1002,30,0,0,0
+prt_fild04.gat,0,0,0,0 monster Vocal 1088,1,1800000,1200000,0
+prt_fild04.gat,350,114,10,10 monster Green Plant 1080,5,900000,450000,1
+prt_fild04.gat,307,75,5,5 monster Green Plant 1080,5,360000,180000,1
+prt_fild04.gat,147,319,5,5 monster Green Plant 1080,5,360000,180000,1
+prt_fild04.gat,148,107,5,5 monster Green Plant 1080,5,360000,180000,1
+
+// prt_fild05 (lv1)
+prt_fild05.gat,0,0,0,0 monster Poring 1002,70,0,0,0
+prt_fild05.gat,0,0,0,0 monster Thief Bug Egg 1048,20,0,0,0
+prt_fild05.gat,0,0,0,0 monster Lunatic 1063,30,0,0,0
+prt_fild05.gat,0,0,0,0 monster Pupa 1008,30,0,0,0
+prt_fild05.gat,0,0,0,0 monster Thief Bug Larva 1051,10,0,0,0
+prt_fild05.gat,208,37,10,10 monster Green Plant 1080,6,900000,450000,1
+prt_fild05.gat,208,37,10,10 monster Blue Plant 1079,1,900000,450000,1
+
+// prt_fild06 (lv2)
+
+prt_fild06.gat,0,0,0,0 monster Lunatic 1063,60,0,0,0
+prt_fild06.gat,0,0,0,0 monster Thief Bug Egg 1048,20,0,0,0
+prt_fild06.gat,0,0,0,0 monster Thief Bug Larva 1051,10,0,0,0
+prt_fild06.gat,0,0,0,0 monster Pupa 1008,20,0,0,0
+prt_fild06.gat,0,0,0,0 monster Poring 1002,60,0,0,0
+prt_fild06.gat,222,30,40,10 monster Green Plant 1080,15,900000,450000,1
+
+// prt_fild07 (lv2)
+
+prt_fild07.gat,0,0,0,0 monster Rocker 1052,70,0,0,0
+prt_fild07.gat,0,0,0,0 monster Poporing 1031,30,0,0,0
+prt_fild07.gat,225,110,5,5 monster Black Mushroom 1084,3,360000,180000,1
+
+// prt_fild08 (lv1)
+
+prt_fild08.gat,0,0,0,0 monster Lunatic 1063,40,0,0,0
+prt_fild08.gat,0,0,0,0 monster Pupa 1008,20,0,0,0
+prt_fild08.gat,0,0,0,0 monster Poring 1002,70,0,0,0
+prt_fild08.gat,0,0,0,0 monster Drops 1113,10,0,0,0
+
+// prt_fild09 (lv2)
+
+prt_fild09.gat,0,0,0,0 monster Savage Babe 1167,70,0,0,0
+prt_fild09.gat,0,0,0,0 monster Baby Desert Wolf 1107,20,0,0,0
+prt_fild09.gat,0,0,0,0 monster PecoPeco Egg 1047,20,0,0,0
+prt_fild09.gat,0,0,0,0 monster Picky 1049,20,0,0,0
+prt_fild09.gat,0,0,0,0 monster Condor 1009,10,0,0,0
+prt_fild09.gat,237,115,5,5 monster Yellow Plant 1081,3,360000,180000,1
+
+// prt_fild10 (lv3)
+prt_fild10.gat,0,0,0,0 monster Savage 1166,70,0,0,0
+prt_fild10.gat,0,0,0,0 monster Savage Babe 1167,40,0,0,0
+prt_fild10.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+prt_fild10.gat,0,0,0,0 monster Thief Bug Larva 1051,10,0,0,0
+prt_fild10.gat,99,114,20,5 monster Red Mushroom 1085,15,360000,180000,1
+prt_fild10.gat,155,179,10,10 monster Shining Plant 1083,1,1800000,900000,1
+
+// prt_fild11 (lv4)
+
+prt_fild11.gat,0,0,0,0 monster Goblin 1122,10,0,0,0
+prt_fild11.gat,0,0,0,0 monster Goblin 1123,20,0,0,0
+prt_fild11.gat,0,0,0,0 monster Goblin 1124,20,0,0,0
+prt_fild11.gat,0,0,0,0 monster Goblin 1125,30,0,0,0
+prt_fild11.gat,0,0,0,0 monster Goblin 1126,30,0,0,0
+prt_fild11.gat,0,0,0,0 monster Goblin Archer 1258,10,0,0,0
+prt_fild11.gat,0,0,0,0 monster Panzer Goblin 1308,1,1800000,1200000,0
+prt_fild11.gat,0,0,0,0 monster Steam Goblin 1280,30,0,0,0
+prt_fild11.gat,0,0,0,0 monster Red Mushroom 1085,10,180000,90000,1
diff --git a/npc/eamobs/fields/umbala.txt b/npc/eamobs/fields/umbala.txt
new file mode 100644
index 000000000..11d4c0f04
--- /dev/null
+++ b/npc/eamobs/fields/umbala.txt
@@ -0,0 +1,88 @@
+//===== eAthena Script =======================================
+//= Umbala Monster Spawn
+//===== By: ==================================================
+//= Darkchild (1.0)
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= Any eAthena Version; RO Ep6+
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+
+//um_fild01
+
+um_fild01.gat,0,0,0,0 monster Wootan Fighter 1499,10,0,0,0
+um_fild01.gat,0,0,0,0 monster Stem Worm 1215,30,0,0,0
+um_fild01.gat,0,0,0,0 monster Harpy 1376,2,0,0,0
+um_fild01.gat,0,0,0,0 monster Dryad 1493,40,0,0,0
+um_fild01.gat,0,0,0,0 monster Dustiness 1114,20,0,0,0
+
+
+//um_fild02
+
+um_fild02.gat,0,0,0,0 monster Beetle King 1494,30,0,0,0
+um_fild02.gat,0,0,0,0 monster Dustiness 1114,20,0,0,0
+um_fild02.gat,0,0,0,0 monster Wootan Fighter 1499,26,0,0,0
+um_fild02.gat,0,0,0,0 monster Stone Shooter 1495,13,0,0,0
+um_fild02.gat,169,215,10,10 monster Stone Shooter 1495,1,600000,300000,0
+um_fild02.gat,169,215,10,10 monster Wootan Fighter 1499,2,600000,300000,0
+um_fild02.gat,159,285,10,10 monster Stone Shooter 1495,1,600000,300000,0
+um_fild02.gat,159,285,10,10 monster Wootan Fighter 1499,2,600000,300000,0
+um_fild02.gat,99,303,10,10 monster Stone Shooter 1495,1,600000,300000,0
+um_fild02.gat,99,303,10,10 monster Wootan Fighter 1499,2,600000,300000,0
+um_fild02.gat,122,242,10,10 monster Stone Shooter 1495,1,600000,300000,0
+um_fild02.gat,122,242,10,10 monster Wootan Fighter 1499,2,600000,300000,0
+um_fild02.gat,124,198,10,10 monster Stone Shooter 1495,1,600000,300000,0
+um_fild02.gat,124,198,10,10 monster Wootan Fighter 1499,2,600000,300000,0
+um_fild02.gat,126,133,10,10 monster Stone Shooter 1495,1,600000,300000,0
+um_fild02.gat,126,133,10,10 monster Wootan Fighter 1499,2,600000,300000,0
+um_fild02.gat,159,171,10,10 monster Stone Shooter 1495,1,600000,300000,0
+um_fild02.gat,159,171,10,10 monster Wootan Fighter 1499,2,600000,300000,0
+um_fild02.gat,284,247,10,10 monster Stone Shooter 1495,1,600000,300000,0
+um_fild02.gat,284,247,10,10 monster Wootan Fighter 1499,2,600000,300000,0
+um_fild02.gat,330,262,10,10 monster Stone Shooter 1495,1,600000,300000,0
+um_fild02.gat,330,262,10,10 monster Wootan Fighter 1499,2,600000,300000,0
+um_fild02.gat,296,187,10,10 monster Stone Shooter 1495,1,600000,300000,0
+um_fild02.gat,296,187,10,10 monster Wootan Fighter 1499,2,600000,300000,0
+um_fild02.gat,285,105,10,10 monster Stone Shooter 1495,1,600000,300000,0
+um_fild02.gat,285,105,10,10 monster Wootan Fighter 1499,2,600000,300000,0
+um_fild02.gat,257,137,10,10 monster Stone Shooter 1495,1,600000,300000,0
+um_fild02.gat,257,137,10,10 monster Wootan Fighter 1499,2,600000,300000,0
+um_fild02.gat,360,320,20,30 monster Flora 1118,3,900000,600000,0
+um_fild02.gat,0,0,0,0 monster Coco 1104,10,0,0,0
+um_fild02.gat,0,0,0,0 monster Choco 1214,3,0,0,0
+
+
+//um_fild03
+
+um_fild03.gat,0,0,0,0 monster Parasite 1500,60,0,0,0
+um_fild03.gat,0,0,0,0 monster Dragon Tail 1321,45,0,0,0
+um_fild03.gat,0,0,0,0 monster Alligator 1271,15,0,0,0
+um_fild03.gat,0,0,0,0 monster Stainer 1174,10,0,0,0
+um_fild03.gat,0,0,0,0 monster Gryphon 1259,1,3500000,1900000,0
+
+//um_fild04
+
+um_fild04.gat,0,0,0,0 monster Beetle King 1494,30,0,0,0
+um_fild04.gat,0,0,0,0 monster Horn 1128,15,0,0,0
+um_fild04.gat,0,0,0,0 monster Choco 1214,2,0,0,0
+um_fild04.gat,0,0,0,0 monster Wootan Shooter 1498,7,0,0,0
+um_fild04.gat,264,293,10,10 monster Horn 1128,2,600000,300000,0
+um_fild04.gat,264,293,10,10 monster Beetle King 1494,4,600000,300000,0
+um_fild04.gat,121,239,10,10 monster Beetle King 1494,2,600000,300000,0
+um_fild04.gat,91,79,10,10 monster Beetle King 1494,2,600000,300000,0
+um_fild04.gat,244,339,10,10 monster Beetle King 1494,2,600000,300000,0
+um_fild04.gat,295,93,10,10 monster Beetle King 1494,2,600000,300000,0
+um_fild04.gat,118,237,10,10 monster Beetle King 1494,2,600000,300000,0
+um_fild04.gat,118,237,10,10 monster Horn 1128,1,600000,300000,0
+um_fild04.gat,311,285,10,10 monster Beetle King 1494,2,600000,300000,0
+um_fild04.gat,311,285,10,10 monster Horn 1128,1,600000,300000,0
+um_fild04.gat,206,188,10,10 monster Beetle King 1494,2,600000,300000,0
+um_fild04.gat,206,188,10,10 monster Horn 1128,1,600000,300000,0
+um_fild04.gat,239,245,10,10 monster Beetle King 1494,2,600000,300000,0
+um_fild04.gat,239,245,10,10 monster Horn 1128,1,600000,300000,0
+um_fild04.gat,239,245,10,10 monster Wootan Shooter 1498,1,900000,300000,0
+um_fild04.gat,91,79,10,10 monster Wootan Shooter 1498,1,900000,300000,0
+um_fild04.gat,295,93,10,10 monster Wootan Shooter 1498,1,900000,300000,0
diff --git a/npc/eamobs/fields/yuno.txt b/npc/eamobs/fields/yuno.txt
new file mode 100644
index 000000000..a96888e99
--- /dev/null
+++ b/npc/eamobs/fields/yuno.txt
@@ -0,0 +1,180 @@
+//===== eAthena Script =======================================
+//= Yuno Fields Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.6
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.1 fixed tabs, names [Lupus]
+//= 1.2 New/Better Spawn [Muad_Dib]
+//= 1.3 Fix Up [Darkchild]
+//= 1.4 Updated monster spawns. Many thanks to vicious_pucca for
+//= providing the information [MasterOfMuppets]
+//= 1.5 Updated after Episode 10.4 - Hugel [Poki#3]
+//= Mob quantity is custom.
+//= 1.5b Changed the spawn numbers a bit. [Poki#3]
+//= Thanks to Playtester and Emperium.org
+//= 1.6 Fixed Yuno Field 10. Mob amount sugested by Playtester [Poki#3]
+//============================================================
+
+//========================================================================================
+// - Yuno Field 01
+//========================================================================================
+
+yuno_fild01.gat,0,0,0,0 monster Dustiness 1114,50,0,0,0
+yuno_fild01.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+yuno_fild01.gat,0,0,0,0 monster Poring 1002,20,0,0,0
+yuno_fild01.gat,0,0,0,0 monster Grand Peco 1369,3,60000,30000,0
+yuno_fild01.gat,0,0,0,0 monster Yellow Plant 1081,23,1800000,900000,1
+yuno_fild01.gat,0,0,0,0 monster Green Plant 1080,20,1800000,900000,1
+yuno_fild01.gat,0,0,0,0 monster Red Plant 1078,15,1800000,900000,1
+yuno_fild01.gat,0,0,0,0 monster Shining Plant 1083,3,1800000,900000,1
+yuno_fild01.gat,0,0,0,0 monster Blue Plant 1079,2,1800000,900000,1
+
+//========================================================================================
+// - Yuno Field 02
+//========================================================================================
+
+yuno_fild02.gat,0,0,0,0 monster Grand Peco 1369,70,0,0,0
+yuno_fild02.gat,0,0,0,0 monster Driller 1380,40,0,0,0
+yuno_fild02.gat,0,0,0,0 monster Geographer 1368,30,0,0,0
+yuno_fild02.gat,0,0,0,0 monster Poring 1002,20,0,0,0
+yuno_fild02.gat,0,0,0,0 monster Sleeper 1386,10,0,0,0
+yuno_fild02.gat,0,0,0,0 monster Dustiness 1114,10,0,0,0
+yuno_fild02.gat,0,0,0,0 monster The Paper 1375,1,0,0,0
+yuno_fild02.gat,0,0,0,0 monster Arc Angeling 1388,1,3600000,1800000,1
+yuno_fild02.gat,0,0,0,0 monster Red Plant 1078,20,180000,90000,1
+yuno_fild02.gat,0,0,0,0 monster Yellow Plant 1081,20,180000,90000,1
+yuno_fild02.gat,0,0,0,0 monster Blue Plant 1079,3,180000,90000,1
+yuno_fild02.gat,0,0,0,0 monster Shining Plant 1083,1,180000,90000,1
+
+//========================================================================================
+// - Yuno Field 03
+//========================================================================================
+
+yuno_fild03.gat,0,0,0,0 monster Goat 1372,60,0,0,0
+yuno_fild03.gat,0,0,0,0 monster Demon Fungus 1378,40,0,0,0
+yuno_fild03.gat,0,0,0,0 monster Geographer 1368,20,0,0,0
+yuno_fild03.gat,0,0,0,0 monster Sleeper 1386,20,0,0,0
+yuno_fild03.gat,0,0,0,0 monster The Paper 1375,3,0,0,0
+yuno_fild03.gat,0,0,0,0 monster Harpy 1376,2,1800000,900000,0
+yuno_fild03.gat,0,0,0,0 monster Yellow Plant 1081,20,1800000,900000,1
+yuno_fild03.gat,0,0,0,0 monster Red Plant 1078,15,1800000,900000,1
+yuno_fild03.gat,0,0,0,0 monster Blue Plant 1079,4,1800000,900000,1
+yuno_fild03.gat,0,0,0,0 monster Shining Plant 1083,2,1800000,900000,1
+
+//========================================================================================
+// - Yuno Field 04
+//========================================================================================
+
+yuno_fild04.gat,0,0,0,0 monster Goat 1372,40,0,0,0
+yuno_fild04.gat,0,0,0,0 monster Poring 1002,20,0,0,0
+yuno_fild04.gat,0,0,0,0 monster Geographer 1368,20,0,0,0
+yuno_fild04.gat,0,0,0,0 monster Driller 1380,10,0,0,0
+yuno_fild04.gat,0,0,0,0 monster Sleeper 1386,5,0,0,0
+yuno_fild04.gat,0,0,0,0 monster The Paper 1375,3,0,0,0
+yuno_fild04.gat,0,0,0,0 monster Harpy 1376,1,1800000,900000,0
+yuno_fild04.gat,0,0,0,0 monster Green Plant 1080,10,1800000,900000,1
+yuno_fild04.gat,0,0,0,0 monster Red Plant 1078,10,1800000,900000,1
+yuno_fild04.gat,0,0,0,0 monster Yellow Plant 1081,10,1800000,900000,1
+
+//========================================================================================
+// - Yuno Field 05
+//========================================================================================
+
+yuno_fild05.gat,0,0,0,0 monster Sleeper 1386,60,0,0,0
+yuno_fild05.gat,0,0,0,0 monster Demon Fungus 1378,30,0,0,0
+yuno_fild05.gat,0,0,0,0 monster Goat 1372,30,0,0,0
+yuno_fild05.gat,0,0,0,0 monster Geographer 1368,10,0,0,0
+yuno_fild05.gat,0,0,0,0 monster The Paper 1375,3,0,0,0
+yuno_fild05.gat,0,0,0,0 monster Arc Angeling 1388,1,3600000,1800000,1
+yuno_fild05.gat,0,0,0,0 monster Green Plant 1080,10,180000,90000,1
+yuno_fild05.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+yuno_fild05.gat,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1
+yuno_fild05.gat,0,0,0,0 monster Blue Plant 1079,4,180000,90000,1
+
+//========================================================================================
+// - Yuno Field 06
+//========================================================================================
+
+yuno_fild06.gat,0,0,0,0 monster Sleeper 1386,55,0,0,0
+yuno_fild06.gat,0,0,0,0 monster Goat 1372,30,0,0,0
+yuno_fild06.gat,0,0,0,0 monster Demon Fungus 1378,20,0,0,0
+yuno_fild06.gat,0,0,0,0 monster Green Plant 1080,10,180000,90000,1
+yuno_fild06.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+yuno_fild06.gat,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1
+
+//========================================================================================
+// - Yuno Field 07
+//========================================================================================
+
+yuno_fild07.gat,0,0,0,0 monster Goat 1372,50,0,0,0
+yuno_fild07.gat,0,0,0,0 monster Driller 1380,10,0,0,0
+yuno_fild07.gat,0,0,0,0 monster Geographer 1368,10,0,0,0
+yuno_fild07.gat,0,0,0,0 monster Harpy 1376,1,1800000,900000,0
+yuno_fild07.gat,0,0,0,0 monster The Paper 1375,3,1800000,900000,0
+yuno_fild07.gat,0,0,0,0 monster Green Plant 1080,10,180000,90000,1
+yuno_fild07.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+yuno_fild07.gat,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1
+
+//========================================================================================
+// - Yuno Field 08
+//========================================================================================
+
+yuno_fild08.gat,0,0,0,0 monster Grand Peco 1369,30,0,0,0
+yuno_fild08.gat,0,0,0,0 monster Geographer 1368,30,0,0,0
+yuno_fild08.gat,0,0,0,0 monster Dustiness 1114,30,0,0,0
+yuno_fild08.gat,0,0,0,0 monster Wild Rose 1261,30,0,0,0
+yuno_fild08.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+yuno_fild08.gat,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1
+yuno_fild08.gat,0,0,0,0 monster Green Plant 1080,10,180000,90000,1
+
+//========================================================================================
+// - Yuno Field 09
+//========================================================================================
+
+yuno_fild09.gat,0,0,0,0 monster Dustiness 1114,50,0,0,0
+yuno_fild09.gat,0,0,0,0 monster Horn 1128,40,0,0,0
+yuno_fild09.gat,0,0,0,0 monster Gargoyle 1253,20,0,0,0
+yuno_fild09.gat,0,0,0,0 monster Goblin 1122,3,600000,300000,0
+yuno_fild09.gat,0,0,0,0 monster Goblin 1123,3,600000,300000,0
+yuno_fild09.gat,0,0,0,0 monster Goblin 1124,3,600000,300000,0
+yuno_fild09.gat,0,0,0,0 monster Goblin 1125,3,600000,300000,0
+yuno_fild09.gat,0,0,0,0 monster Goblin 1126,3,600000,300000,0
+yuno_fild09.gat,0,0,0,0 monster Green Plant 1080,10,180000,90000,1
+yuno_fild09.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+yuno_fild09.gat,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1
+
+//========================================================================================
+// - Yuno Field 10
+//========================================================================================
+
+yuno_fild10.gat,0,0,0,0 monster Dustiness 1114,20,0,0,0
+yuno_fild10.gat,0,0,0,0 monster Stainer 1174,20,0,0,0
+yuno_fild10.gat,0,0,0,0 monster Geographer 1368,20,0,0,0
+yuno_fild10.gat,0,0,0,0 monster Beetle King 1494,20,0,0,0
+yuno_fild10.gat,0,0,0,0 monster Hunter Fly 1035,10,0,0,0
+
+//========================================================================================
+// - Yuno Field 11
+//========================================================================================
+
+yuno_fild11.gat,0,0,0,0 monster Sleeper 1386,50,0,0,0
+yuno_fild11.gat,0,0,0,0 monster Geographer 1368,20,0,0,0
+yuno_fild11.gat,0,0,0,0 monster Green Plant 1080,10,180000,90000,1
+yuno_fild11.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+yuno_fild11.gat,0,0,0,0 monster Yellow Plant 1081,15,180000,90000,1
+
+//========================================================================================
+// - Yuno Field 12
+//========================================================================================
+
+yuno_fild12.gat,0,0,0,0 monster Punk 1199,30,0,0,0
+yuno_fild12.gat,0,0,0,0 monster Poporing 1031,15,0,0,0
+yuno_fild12.gat,0,0,0,0 monster Geographer 1368,5,0,0,0
+yuno_fild12.gat,0,0,0,0 monster Green Plant 1080,10,180000,90000,1
+yuno_fild12.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+yuno_fild12.gat,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1
+
diff --git a/npc/eamobs/pvp.txt b/npc/eamobs/pvp.txt
new file mode 100644
index 000000000..a63f4f7ae
--- /dev/null
+++ b/npc/eamobs/pvp.txt
@@ -0,0 +1,31 @@
+//===== eAthena Script =======================================
+//= PvP Nightmare Rooms Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+
+//PvP : “ì–k푈(pvp_n_8-1)?
+pvp_n_8-1.gat,0,0,0,0 monster Sidewinder 1037,2,360000,180000,1
+pvp_n_8-1.gat,0,0,0,0 monster Bigfoot 1060,2,360000,180000,1
+
+//PvP : ƒƒbƒNƒIƒ“(pvp_n_8-2)?
+pvp_n_8-2.gat,0,0,0,0 monster Cramp 1209,4,360000,180000,1
+
+//PvP : ƒtƒH[ƒ‹[ƒ€(pvp_n_8-3)?
+pvp_n_8-3.gat,0,0,0,0 monster Whisper 1179,3,360000,180000,1
+pvp_n_8-3.gat,0,0,0,0 monster Giant Whisper 1186,2,360000,180000,1
+
+//PvP : ƒAƒ“ƒ_[ƒNƒƒX(pvp_n_8-4)?
+pvp_n_8-4.gat,0,0,0,0 monster Zombie 1015,4,360000,180000,1
+pvp_n_8-4.gat,0,0,0,0 monster Ghoul 1036,3,360000,180000,1
+
+//PvP : ƒUƒiƒNƒ‹[ƒ€(pvp_n_8-5)?
+pvp_n_8-5.gat,0,0,0,0 monster Khalitzburg 1132,1,360000,180000,1
+pvp_n_8-5.gat,0,0,0,0 monster Raydric 1163,2,360000,180000,1
diff --git a/npc/events/alchemist.txt b/npc/events/alchemist.txt
new file mode 100644
index 000000000..cc64e5654
--- /dev/null
+++ b/npc/events/alchemist.txt
@@ -0,0 +1,166 @@
+//===========================================================
+//Alchemist Event script 2004/02/14 by kalen
+//===========================================================
+
+ama_in02.gat,61,27,6 script ˜B‹àpŽt 749,{
+ mes "[ƒOƒŒƒSƒŠ[]";
+ mes "ƒLƒLƒLƒLƒLƒPƒPƒPƒPƒPI";
+ mes "‹Á‚­‚ׂ«Œ‹‰Ê‚ªo‚½I";
+ mes "‚±‚ñ‚ÈŽÀŒ±Œ‹‰Ê‚ªo‚½‚Ì‚Í";
+ mes "¶‚Ü‚ê‚ĉ‚ß‚Ä‚¾I";
+ next;
+ mes "[ƒOƒŒƒSƒŠ[]";
+ mes "‚±‚ñ‚Ȃɉ“‚­‚Ü‚Å—ˆ‚ÄŽ„‚Ì”\—Í‚ð";
+ mes "”­Šö‚Å‚«‚é‚Æ‚ÍŽv‚¢‚à‚æ‚ç‚È‚©‚Á‚½‚¼I";
+ mes "éŽå‚ÉŽdŽ–‚𗊂܂ꂽ‚ªcc";
+ mes "“z‚͈ӊO‚É‚¨‚à‚µ‚ë‚¢“z‚¾‚Á‚½‚¼B";
+ next;
+ mes "[ƒOƒŒƒSƒŠ[]";
+ mes "ƒNƒNƒNcc‚µ‚©‚µ‹C‚ð‚‚¯‚Ë‚Îcc";
+ mes "‚±‚¢‚‚̒²‡•û–@‚ð‚©‚¬‚‚¯‚ç‚ꂽ‚ç";
+ mes "ˆù‚ñ‚¾“z‚ª‰Î‚𕬂¢‚Ä“{‚écc";
+ mes "ƒPƒPƒPƒPcc";
+ next;
+ mes "[ƒOƒŒƒSƒŠ[]";
+ mes "‚ñA‚Æ‚±‚ë‚ÅŽ„‚ɉ½‚©—p‚©H";
+ mes "ŠÏŒõ‚Å—ˆ‚½‚ñ‚È‚ç©‚É‘º‚Å‚à";
+ mes "Œ©‚Ä‚¢‚­‚ñ‚¾‚ÈB";
+ mes "‚³‚à‚È‚­‚΃AƒVƒbƒhƒ{ƒgƒ‹";
+ mes "‚Å‚à–¡‡‚킹‚Ä‚â‚邼IƒLƒLcc";
+ next;
+ menu "Ž¸—炵‚Ü‚µ‚½",L1,"‚¨Žè“`‚¢‚·‚鎖‚Å‚à‚ ‚è‚Ü‚·‚©H",L2;
+L1:
+ mes "[ƒOƒŒƒSƒŠ[]";
+ mes "‚悵‚悵cc";
+ mes "‰½‚©•·‚¢‚Ä‚à‚·‚®‚É–Y‚ê‚ëB";
+ mes "‚»‚ꂪ’·‚­¶‚«‚éƒRƒc‚³cc";
+ mes "ƒLƒLƒLƒLƒLcc";
+ close;
+L2:
+ mes "[ƒOƒŒƒSƒŠ[]";
+ mes "Žè“`‚¤‚ÆH";
+ mes "‚»‚¤‚©cc";
+ mes "‚à‚¤Ž„‚ÌŠè‚Á‚½‚à‚Ì‚Í‚à‚¤­‚µ‚Å";
+ mes "Š®¬‚·‚éBƒLƒLƒLƒLƒLcc";
+ next;
+ mes "[ƒOƒŒƒSƒŠ[]";
+ mes "Ž„‚ªŽÀŒ±‚·‚é‚Ì‚É•K—v‚È‘®«Î‚ð";
+ mes "‚¢‚­‚‚©—pˆÓ‚µ‚Ä‚­‚ê‚é‚Æ‚ ‚肪‚½‚¢B";
+ mes "¡Ž‚Á‚Ä‚¢‚镨‚ª‚ ‚é‚©H";
+ next;
+ menu "‚¢‚¢‚¦",L2_1,"‚¢‚­‚‚©‚ ‚è‚Ü‚·",L2_2;
+L2_1:
+ mes "[ƒOƒŒƒSƒŠ[]";
+ mes "‚»‚ê‚Ȃ猾‚¨‚¤B";
+ mes "‚Ç‚ê‚Å‚à‚¢‚¢‚©‚瓯‚¶Ží—Þ‚Ì";
+ mes "‘®«Î‚ð8ŒÂ‚¸‚ÂW‚ß‚Ä‚Ù‚µ‚¢B";
+ mes "‚»‚¤‚·‚ê‚ÎAŽ„‚ª—Ç‚¢•¨‚É";
+ mes "•Ï‚¦‚Ä‚â‚邼B";
+ next;
+ mes "[ƒOƒŒƒSƒŠ[]";
+ mes "‚à‚µŠÔˆá‚Á‚½•¨‚ðŽ‚Á‚Ä‚«‚½‚çA";
+ mes "‘«Œ³‚Ƀtƒ@ƒCƒA[ƒ{ƒgƒ‹‚ð";
+ mes "“Š‚°‚邼I";
+ next;
+ mes "[ƒOƒŒƒSƒŠ[]";
+ mes "‚»‚ê‚Å‚ÍAŽè“`‚¤‚ÆŒ¾‚Á‚½ˆÈã";
+ mes "–ñ‘©‚ÍŽç‚é‚ñ‚¾‚¼IƒLƒLƒLƒLcc";
+ close;
+L2_2:
+ mes "[ƒOƒŒƒSƒŠ[]";
+ mes "‚悵A‰½‚ðŽ‚Á‚Ä‚¢‚éH";
+ next;
+ menu "ƒ~ƒXƒeƒBƒbƒNƒtƒ[ƒYƒ“",L2_2_1,"ƒOƒŒƒCƒgƒlƒCƒ`ƒƒ",L2_2_2,"ƒtƒŒƒCƒ€ƒn[ƒg",L2_2_3,"ƒ‰ƒtƒEƒBƒ“ƒh",L2_2_4;
+ L2_2_1:
+ if (countitem(995) < 8) goto Llowitem;
+ mes "[ƒOƒŒƒSƒŠ[]";
+ mes "‚»‚ê‚ð8ŒÂ‚ð‚à‚炤‘ã‚í‚è‚É";
+ mes "‘¼‚Ì‘®«Î‚ðˆê‚Âì‚Á‚Ä‚â‚낤B";
+ mes "ˆ«‚¢Žæˆø‚¶‚á‚È‚¢‚¾‚낤H";
+ next;
+ mes "[ƒOƒŒƒSƒŠ[]";
+ mes "‚Ù‚çA‚Ç‚ê‚ðì‚낤‚©H";
+ next;
+ menu "ƒOƒŒƒCƒgƒlƒCƒ`ƒƒ",L2_2_1_1,"ƒtƒŒƒCƒ€ƒn[ƒg",L2_2_1_2,"ƒ‰ƒtƒEƒBƒ“ƒh",L2_2_1_3,"Žæˆø‚ð‚â‚ß‚é",LEnd;
+L2_2_1_1:
+ delitem 995,8;getitem 997,1;goto Lfinal;
+L2_2_1_2:
+ delitem 995,8;getitem 994,1;goto Lfinal;
+L2_2_1_3:
+ delitem 995,8;getitem 996,1;goto Lfinal;
+ L2_2_2:
+ if (countitem(997) < 8) goto Llowitem;
+ mes "[ƒOƒŒƒSƒŠ[]";
+ mes "‚»‚ê‚ð8ŒÂ‚ð‚à‚炤‘ã‚í‚è‚É";
+ mes "‘¼‚Ì‘®«Î‚ðˆê‚Âì‚Á‚Ä‚â‚낤B";
+ mes "ˆ«‚¢Žæˆø‚¶‚á‚È‚¢‚¾‚낤H";
+ next;
+ mes "[ƒOƒŒƒSƒŠ[]";
+ mes "‚Ù‚çA‚Ç‚ê‚ðì‚낤‚©H";
+ next;
+ menu "ƒ~ƒXƒeƒBƒbƒNƒtƒ[ƒYƒ“",L2_2_2_1,"ƒtƒŒƒCƒ€ƒn[ƒg",L2_2_2_2,"ƒ‰ƒtƒEƒBƒ“ƒh",L2_2_2_3,"Žæˆø‚ð‚â‚ß‚é",LEnd;
+L2_2_2_1:
+ delitem 997,8;getitem 995,1;goto Lfinal;
+L2_2_2_2:
+ delitem 997,8;getitem 994,1;goto Lfinal;
+L2_2_2_3:
+ delitem 997,8;getitem 996,1;goto Lfinal;
+ L2_2_3:
+ if (countitem(994) < 8) goto Llowitem;
+ mes "[ƒOƒŒƒSƒŠ[]";
+ mes "‚»‚ê‚ð8ŒÂ‚ð‚à‚炤‘ã‚í‚è‚É";
+ mes "‘¼‚Ì‘®«Î‚ðˆê‚Âì‚Á‚Ä‚â‚낤B";
+ mes "ˆ«‚¢Žæˆø‚¶‚á‚È‚¢‚¾‚낤H";
+ next;
+ mes "[ƒOƒŒƒSƒŠ[]";
+ mes "‚Ù‚çA‚Ç‚ê‚ðì‚낤‚©H";
+ next;
+ menu "ƒ~ƒXƒeƒBƒbƒNƒtƒ[ƒYƒ“",L2_2_3_1,"ƒOƒŒƒCƒgƒlƒCƒ`ƒƒ",L2_2_3_2,"ƒ‰ƒtƒEƒBƒ“ƒh",L2_2_3_3,"Žæˆø‚ð‚â‚ß‚é",LEnd;
+L2_2_3_1:
+ delitem 994,8;getitem 995,1;goto Lfinal;
+L2_2_3_2:
+ delitem 994,8;getitem 997,1;goto Lfinal;
+L2_2_3_3:
+ delitem 994,8;getitem 996,1;goto Lfinal;
+ L2_2_4:
+ if (countitem(996) < 8) goto Llowitem;
+ mes "[ƒOƒŒƒSƒŠ[]";
+ mes "‚»‚ê‚ð8ŒÂ‚ð‚à‚炤‘ã‚í‚è‚É";
+ mes "‘¼‚Ì‘®«Î‚ðˆê‚Âì‚Á‚Ä‚â‚낤B";
+ mes "ˆ«‚¢Žæˆø‚¶‚á‚È‚¢‚¾‚낤H";
+ next;
+ mes "[ƒOƒŒƒSƒŠ[]";
+ mes "‚Ù‚çA‚Ç‚ê‚ðì‚낤‚©H";
+ next;
+ menu "ƒ~ƒXƒeƒBƒbƒNƒtƒ[ƒYƒ“",L2_2_4_1,"ƒOƒŒƒCƒgƒlƒCƒ`ƒƒ",L2_2_4_2,"ƒtƒŒƒCƒ€ƒn[ƒg",L2_2_4_3,"Žæˆø‚ð‚â‚ß‚é",LEnd;
+L2_2_4_1:
+ delitem 996,8;getitem 995,1;goto Lfinal;
+L2_2_4_2:
+ delitem 996,8;getitem 997,1;goto Lfinal;
+L2_2_4_3:
+ delitem 996,8;getitem 994,1;goto Lfinal;
+Lfinal:
+ mes "[ƒOƒŒƒSƒŠ[]";
+ mes "ƒWƒWƒWccƒKƒŠƒKƒŠƒSƒŠcc";
+ mes "‚¤‚ÞA‚Å‚«‚½B";
+ mes "‚Ù‚çA‘厖‚ÉŽg‚¤‚悤‚ÉB";
+ mes "‚Ü‚½‚ ‚ê‚ÎŽ‚Á‚Ä‚«‚È‚³‚¢B";
+ close;
+Llowitem:
+ mes "[ƒOƒŒƒSƒŠ[]";
+ mes "ƒWƒWƒWccƒKƒŠƒKƒŠƒSƒŠcc";
+ mes "‚ñcc‘®«Î‚Í‚Ç‚¤‚µ‚½H";
+ mes "‚Ç‚±‚©‚Å‚È‚­‚µ‚Ä‚«‚½‚©H";
+ next;
+ mes "[ƒOƒŒƒSƒŠ[]";
+ mes "‚Ü‚½Ž‚Á‚Ä‚«‚È‚³‚¢I";
+ mes "Žè“`‚¤‚ÆŒ¾‚Á‚½ˆÈã";
+ mes "–ñ‘©‚ÍŽç‚é‚ñ‚¾‚¼IƒLƒLƒLƒLcc";
+ close;
+LEnd:
+ mes "[ƒOƒŒƒSƒŠ[]";
+ mes "‚­cc‚Ü‚Ÿ‚¢‚¢‚ªcc";
+ mes "Ž„‚ª‚±‚±‚É‹‚邱‚Æ‚Í“à‚¾‚¼B";
+ mes "–ñ‘©‚¾‚¼I";
+ close;
+}
diff --git a/npc/events/custom/2006_dogs_year.txt b/npc/events/custom/2006_dogs_year.txt
new file mode 100644
index 000000000..2f3afefd8
--- /dev/null
+++ b/npc/events/custom/2006_dogs_year.txt
@@ -0,0 +1,95 @@
+//===== eAthena Script =======================================
+//= Eastern New Year 2006 The Year Of The Fire Dog
+//===== By: ==================================================
+//= Lupus (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena Version; 5xxx+ (with 'disguise' command)
+//===== Description: =========================================
+//= Custom event: For 28-29 January
+//===== Additional Comments: =================================
+//= 1.0 Tested, fully working.[Lupus]
+//= Add some national info in English if you can.
+//= (Mine was in Russian, and it's damn hard to translate 8)
+//============================================================
+
+
+prontera.gat,149,167,6 script Maria 81,{
+ mes "[Maria]";
+ //month
+ if((gettime(6)==1 && (gettime(5)==28 || gettime(5)==29))==0) {
+ mes "Happy New Year Of The Fire Dog! Woof!";
+ close;
+ }
+
+ mes "Happy New Year of The Fire Dog!";
+ if(rand(2))mes "By the way, 'Dogs' fit the most to the ones, born in years of Horse, Tiger and Rabbit.";
+ next;
+ menu "Tell me about Japanese traditions",-,
+ "Tell me about Chinese New Year",M_NGCH,
+ "Tell me about Korean New Year",M_NGCO,
+ "I need a doggy costume!",M_PRIZE,
+ "Happy New Year to you.",LEnd;
+
+ mes "[Maria]";
+ mes "Japan...";
+ mes "Put here some notes in English about their HNY.";
+ next;
+ mes "[Maria]";
+ mes "Put here some notes in English about their HNY.";
+ close;
+
+M_NGCH:
+ mes "[Maria]";
+ mes "China...";
+ mes "Put here some notes in English about their HNY.";
+ next;
+ mes "[Maria]";
+ mes "Put here some notes in English about their HNY.";
+ close;
+
+M_NGCO:
+ mes "[Maria]";
+ mes "Korea...";
+ mes "Put here some notes in English about their HNY.";
+ next;
+ mes "[Maria]";
+ mes "Put here some notes in English about their HNY.";
+ close;
+
+M_PRIZE:
+ mes "[Maria]";
+ if(countitem(12132)>9) {
+ mes "You should use all of your old costumes first!";
+ close;
+ }
+ mes "Some buddhistic books tell us legends about humans to dogs reincarnation... Buy ^FF0000this magic doggie costume^000000 for just ^0000FF999 Zeny^000000!";
+ mes "And prove old legends yourself!";
+ next;
+ menu "I'll buy one.",-,"No, thank you.",LEnd;
+
+ mes "[Maria]";
+ if(Zeny<999) goto NoZ;
+ set Zeny,Zeny-999;
+ getitem 12132,1;
+ mes "Here you go. Its form will show true power of your spirit.";
+ emotion 15;
+ close;
+ NoZ:
+ mes "Oh dear, you lack of zeny. I have 7 puppies to feed, you know...";
+ emotion 17;
+ close;
+ LEnd:
+ mes "[Maria]";
+ mes "Happy New Year of the Fire Me!!! Woof-woof!";
+ emotion rand(19,20);
+ close;
+
+OnInit:
+ //Magic Doggie Costum
+ setitemscript 12132,"{ misceffect 215; if(BaseLevel>97){disguise 1022;end;}if(BaseLevel>90){disguise 1296;end;}if(BaseLevel>80){disguise 1106;end;}if(BaseLevel>50){disguise 1013;end;}if(BaseLevel>40){disguise 1135;end;}disguise 1107;}";
+ end;
+}
+
+prontera.gat,0,0,0,0 monster Fire Dog 1987,50,3600000,1800000,0
diff --git a/npc/events/custom/draculax.txt b/npc/events/custom/draculax.txt
new file mode 100644
index 000000000..5c31ba08e
--- /dev/null
+++ b/npc/events/custom/draculax.txt
@@ -0,0 +1,130 @@
+//===== eAthena Script =======================================
+//= Dracula X Script
+//===== By: ==================================================
+//= valaris (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena RC4+
+//===== Description: =========================================
+//= Custom Dracula X Event
+//============================================================
+
+
+mag_dun02.gat,72,182,1 script Dracula's Coffin::Dracula_Init -1,{
+
+OnInit:
+ set $dracula_event,0;
+ Break;
+
+OnKilled:
+ MapAnnounce "mag_dun02.gat","Dracula's curse has been lifted!",17;
+ set $dracula_event,0;
+ initnpctimer;
+ Break;
+
+OnTimer7200000:
+ if($dracula_event==0)
+ stopnpctimer;
+ enablenpc "Dracula_Event";
+ Break;
+}
+
+mag_dun02.gat,72,182,1 script Dracula's Coffin::Dracula_Event 801,{
+
+ if($dracula_event==1)
+ close;
+
+ set $dracula_event,1;
+ MapAnnounce "mag_dun02.gat","Count Dracula : Who has awakened me from my slumber?",17;
+ npcskilleffect 21,10,66,175;
+ initnpctimer;
+ Break;
+
+OnTimer500:
+ npcskilleffect 21,10,74,187;
+ Break;
+
+OnTimer1000:
+ npcskilleffect 21,10,80,180;
+ Break;
+
+OnTimer1500:
+ npcskilleffect 21,10,79,183;
+ Break;
+
+OnTimer2000:
+ npcskilleffect 21,10,66,175;
+ Break;
+
+OnTimer2500:
+ npcskilleffect 21,10,63,186;
+ Break;
+
+OnTimer3000:
+ npcskilleffect 21,10,75,186;
+ Break;
+
+OnTimer3500:
+ npcskilleffect 21,10,75,173;
+ Break;
+
+OnTimer4000:
+ npcskilleffect 21,10,80,170;
+ Break;
+
+OnTimer4500:
+ npcskilleffect 21,10,60,179;
+ Break;
+
+OnTimer5000:
+ npcskilleffect 21,10,74,187;
+ Break;
+
+OnTimer6000:
+ npcskilleffect 21,10,69,182;
+ Break;
+
+OnTimer6500:
+ npcskilleffect 21,10,80,180;
+ Break;
+
+OnTimer7000:
+ npcskilleffect 21,10,60,179;
+ Break;
+
+OnTimer7500:
+ npcskilleffect 21,10,66,175;
+ Break;
+
+OnTimer8000:
+ npcskilleffect 21,10,80,187;
+ Break;
+
+OnTimer8500:
+ npcskilleffect 21,10,75,186;
+ Break;
+
+OnTimer9000:
+ npcskilleffect 21,10,75,173;
+ Break;
+
+OnTimer9500:
+ npcskilleffect 21,10,80,170;
+ Break;
+
+OnTimer10000:
+ npcskilleffect 21,10,63,186;
+ Break;
+
+OnTimer10500:
+ npcskilleffect 21,10,74,187;
+ Break;
+
+OnTimer11000:
+ npcskilleffect 21,10,72,182;
+ monster "mag_dun02.gat",72,182,"Count Dracula",1389,1,"Dracula_Init::OnKilled";
+ stopnpctimer;
+ disablenpc "Dracula_Event";
+ Break;
+}
diff --git a/npc/events/custom/event_gefenia.txt b/npc/events/custom/event_gefenia.txt
new file mode 100644
index 000000000..da79b4b85
--- /dev/null
+++ b/npc/events/custom/event_gefenia.txt
@@ -0,0 +1,57 @@
+//===== eAthena Script ========================================
+//= Gefenia Warper Script
+//===== By: ==================================================
+//= [Muad_Dib] 1.0a
+//===== Current Version: =====================================
+//= 1.0a
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 6+
+//===== Description: =========================================
+//= Temp Gefenia Warper
+//===== Additional Comments: =================================
+//= 07/06/05 : Added 1st Version. [Muad_Dib]
+//= Converted to eAthena format by Dr.Evil
+//============================================================
+
+
+gefenia01.gat,132,169,5 script Explorer#1 740,{
+ mes "[Explorer]";
+ mes "Do you really want to go back??";
+ next;
+ menu "Yes.",-,"No.",M_END;
+
+ warp "gef_dun03.gat", 138, 117;
+ end;
+
+M_END:
+ mes "Ok, don't come back until you want to leave this place.";
+ close;
+}
+
+gef_dun03.gat,131,118,6 script Explorer#2 740,{
+ mes "[Explorer]";
+ mes "Hi...";
+ next;
+ mes "[Explorer]";
+ mes "I can send you to the ^FF3300Geffenia City Ruins^000000... You just need the Key!.";
+ mes "Do you have the Key? It looks like a crystal.";
+ next;
+ menu "Yes, I Got the key.",-,"No, I'll go look for it.",M_END;
+
+ if (countitem(7025) < 1) goto L_NOKEY; // Item: Lucifer's Lament
+ mes "[Explorer]";
+ mes "Good, you got the right key! Let's go!";
+ next;
+ warp "gefenia01.gat", 136, 166;
+ end;
+
+M_END:
+ mes "[Explorer]";
+ mes "Don't come back until you have the key!";
+ close;
+
+L_NOKEY:
+ mes "[Explorer]";
+ mes "Sorry.. you don't have the key...";
+ close;
+} \ No newline at end of file
diff --git a/npc/events/custom/uneasy_cemetery.txt b/npc/events/custom/uneasy_cemetery.txt
new file mode 100644
index 000000000..053bbd7fc
--- /dev/null
+++ b/npc/events/custom/uneasy_cemetery.txt
@@ -0,0 +1,133 @@
+//===== eAthena Script =======================================
+//= Uneasy Prontera Cemetery Quest (original script!)
+//===== By: ==================================================
+//= Lupus
+//===== Current Version: =====================================
+//= 1.2 (Tested and fully working!)
+//===== Compatible With: =====================================
+//= eAthena Version 1.0
+//===== Description: =========================================
+//= A periodical quest of the Uneasy Cemetery (Kill undead / Prevent their appearance)
+//= Every day, at the midnight Prontera recieve a wave of Undeads.
+//= They come from Uneasy Cemetery of Prontera. To protect the players
+//= from the undeads terror you may either kill the enemy. Or supply Mother Mathana
+//= with needed amount of Holy Water. Every citizen can take his part in the
+//= saving of Prontera city. After some days of quiet life... the Cemetery strikes back.
+//===== Additional Comments: =================================
+//= 1.1 More advanced ver. Added some bonus the the one who'd kill the last walking undead
+//= 1.2 Added coords to the script to make label OmMobDead working
+//============================================================
+
+
+prontera.gat,3,3,3 script Uneasy_Check -1,{
+ end;
+
+OnHour00:
+ set $UNEASY_DL,$UNEASY_DL-1;
+ set $UNEASY_BL,$UNEASY_BL+30; //add need of HW for 30 bottles per day
+ if ($UNEASY_BL>666) set $UNEASY_BL,666; //keep needed bottles not <=666
+ if ($UNEASY_DL < 0) goto L_Start_Undead;
+//The Cemetery is OK yet.
+ disablenpc "Mother Mathana";
+ end;
+OnInit:
+ if ($UNEASY_DL >= 0) disablenpc "Mother Mathana";
+ end;
+
+OnHour06:
+ killmonsterall "prontera.gat"; //The Sun kills undead in the morning
+ end;
+
+OnHour01:
+ if ($@UNEASY_MOB > 0) mapannounce "prontera.gat","[Mother Mathana]: In the name of Odin, please finish these roaming undead leftovers!",0;
+ end;
+
+OnZombieDead:
+ set $@UNEASY_MOB,$@UNEASY_MOB-1;
+ if ($@UNEASY_MOB>0) end;
+ set $UNEASY_DL,0;
+ set $UNEASY_H$,strcharinfo(0);
+ if (Sex==1) mapannounce "prontera.gat","[Mother Mathana]: Brave "+$UNEASY_H$+" has just killed the last undead in Prontera!",0;
+ if (Sex==0) mapannounce "prontera.gat","[Mother Mathana]: Lady "+$UNEASY_H$+" has just killed the last undead in Prontera!",0;
+ set JobExp,JobExp+100;
+ set BaseExp,BaseExp+50;
+ end;
+
+L_Start_Undead:
+ killmonsterall "prontera.gat"; //kills any left monsters
+ enablenpc "Mother Mathana";
+//call some monsters in the city
+ set $@UNEASY_MOB, 65;
+ monster "prontera.gat",0,0,"Zombie",1015,30,"Uneasy_Check::OnZombieDead";
+//in the Cemetery
+ monster "prontera.gat",268,349,"Zombie",1015,30,"Uneasy_Check::OnZombieDead";
+ monster "prontera.gat",269,350,"Ghoul",1036,5,"Uneasy_Check::OnZombieDead";
+//announce
+ mapannounce "prontera.gat","[Mother Mathana]: The cememtery has became restless! In the name of Odin, hurry to the Sanctuary! Save the city of Prontera!",0;
+}
+
+prontera.gat,257,313,5 script Mother Mathana 79,{
+ mes "[Mother Mathana]";
+ if ($UNEASY_DL <= 0) goto L_Undead_Walk;
+ mes "I'm afraid there's something wrong with our old cemetery...";
+ if ($UNEASY_H$==strcharinfo(0)) mes "But thanks to you, "+$UNEASY_H$+", we'll be able to sleep " + $UNEASY_DL + " nights!";
+ if ($UNEASY_H$!=strcharinfo(0)) mes "But thanks to "+$UNEASY_H$+"'s support, we've got " + $UNEASY_DL + " easy nights!";
+ emotion 0;
+ close;
+
+L_Undead_Walk:
+ if ($UNEASY_DL == 0) mes "THEY could return tomorrow's night again!";
+ if ($UNEASY_DL == 0 && $UNEASY_H$==strcharinfo(0)) mes "Thank you, "+$UNEASY_H$+"! Now we'll manage to rest till the next midnight!";
+ if ($UNEASY_DL == 0 && $UNEASY_H$!=strcharinfo(0)) mes "But due to "+$UNEASY_H$+"'s help we'll manage to rest till the next midnight!";
+ mes "To calm down the restless cemetery, we should pour all these graves with the Holy Water. But our sisters and broters have run out of it.";
+ mes "Could you supply us with Holy Water?";
+ next;
+ menu "Yes, have all my Holy Water!",-, "Nope, I need it.",M_NO, "I don't have any.",M_DONT_HAVE;
+
+ if ( countitem("Holy_Water")<1 ) goto M_DONT_HAVE;
+ set $UNEASY_BL,$UNEASY_BL-countitem("Holy_Water");
+ delitem "Holy_Water",countitem("Holy_Water");
+
+ if ( $UNEASY_BL > 0 ) goto L_NEED_MORE;
+//set quiet days!!! no more undead for this period!
+ set $UNEASY_DL,5+((0-$UNEASY_BL)/30);
+ set $UNEASY_H$,strcharinfo(0);
+ mes "[Mother Mathana]";
+ mes "Thank you, "+$UNEASY_H$+"! Now we've got enough Holy Water!";
+ next;
+ mes "[Mother Mathana]";
+ mes "Upon pouring the cemetery with that water we'll get " + $UNEASY_DL + " safe nights!";
+ next;
+ killmonsterall "prontera.gat"; //kills any left monsters
+ mes "[Mother Mathana]";
+ mes "See, "+ $UNEASY_H$ +"? They all are gone now!";
+ next;
+ mes "[Mother Mathana]";
+ mes "Our Church is going to thank you personally...";
+ next;
+ if (Sex==1) mapannounce "prontera.gat","[Mother Mathana]: In the name of Odin we declare handsom "+$UNEASY_H$+" as a Prontera savior!",0;
+ if (Sex==0) mapannounce "prontera.gat","[Mother Mathana]: In the name of Odin we declare beautiful "+$UNEASY_H$+" as a Prontera savior!",0;
+ mes "[Mother Mathana]";
+ mes "In the name of Odin we bless you and decently present a modest gift just from Mareusis' wine-cellar.";
+ getitem "Blue_Potion",1;
+ set JobExp,JobExp+100;
+ set BaseExp,BaseExp+50;
+ close;
+
+L_NEED_MORE:
+ mes "[Mother Mathana]";
+ mes "Thank you, good "+strcharinfo(0)+", but we still need " + $UNEASY_BL + " more Holy Water bottles.";
+ close;
+
+M_NO:
+ mes "[Mother Mathana]";
+ mes "I'm afraid the old cemetery is going out of control soon... Please, get us all the Holy Water you can get.";
+ close;
+
+M_DONT_HAVE:
+ mes "[Mother Mathana]";
+ mes "Alas! We still need " + $UNEASY_BL + " more bottles of Holy Water... Why don't you go and ask other people for some extra Holy Water?";
+ mes "The old cemetery is going out of control soon...";
+ mes "Please, in the name of Odin, help Prontera city.";
+ close;
+}
diff --git a/npc/events/custom/xmas_rings_event.txt b/npc/events/custom/xmas_rings_event.txt
new file mode 100644
index 000000000..7137492ea
--- /dev/null
+++ b/npc/events/custom/xmas_rings_event.txt
@@ -0,0 +1,193 @@
+//===== eAthena Script =======================================
+//= Karachun Event (Xmas Rings Quest)
+//===== By: ==================================================
+//= Lupus (1.0)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena Version; 4880+ (with 'setItemScript' command)
+//===== Description: =========================================
+//= Custom event: Karachun (from 8 Dec till 8 Jan), X-Mas, HNY
+//===== Additional Comments: =================================
+//= 1.0 Tested, fully working. 1.0a a few typos fix
+//= 1.1 Readded Mdef +1 and Luk +1 to Santa's Hat [Lupus]
+//============================================================
+
+
+prontera.gat,156,174,4 script Snower 713,{
+ mes "[Snower]";
+ if(Q_XMSRINGS==2){
+ mes "Oh.. is it true? You've helped my sis Sneewy? Thank you.";
+ }else if(Q_XMSRINGS==3){
+ mes "Snoowy's sent me a bird with a message. She told me about your help...";
+ mes "I'll tell you a secret of the magic rings.";
+ emotion e_no1;
+ next;
+ mes "[Snower]";
+ mes "They have magic power only from 8 December till 8 January.";
+ next;
+ mes "[Snower]";
+ mes "By the way, just put on Santa's Hat to discover their true power.";
+ next;
+ mes "[Snower]";
+ mes "If you put on both rings their power would be doubled.";
+ mes "Have a nice day!";
+ close;
+ }else{
+ mes "Hi! Two my sisters and I are preparing gifts for the whole 3 holidays!";
+ }
+ emotion e_sob;
+ next;
+ menu "Where are your sisters?",-, "What holidays?",M_PR,"What gifts?",M_WRAP,"May I help you?",M_QUEST;
+
+ mes "[Snower]";
+ mes "My younger sis Sneewy's left to some faraway land to prepare gifts for their poor children... I don't know where. You should ask my elder sis and her birdies.";
+ next;
+ mes "[Snower]";
+ mes "My elder sis? Her name's Snoowy. She's sailed to some green island... She's talking about some gifts for dolphins or something...";
+ close;
+
+M_PR:
+ mes "[Snower]";
+ mes "The whole three holidays? Well they come one after another!";
+ mes "^000080The Christmas^000000, ^FF0000Karachun^000000 and ^008000New Year Eve^000000!";
+ next;
+ mes "[Snower]";
+ mes "^FF0000Karachun^000000? Heh... This is an old pagans festival. They used to celebrate it before the appearance of HNY and XMas, you know.";
+ next;
+ goto M_QUEST;
+
+M_WRAP:
+ mes "[Snower]";
+ mes "My sisters say that all the gifts should look the same way. Or else some children might fight for fancy ones!";
+ next;
+ mes "[Snower]";
+ mes "Would you like me to wrap your fancy gift boxes with a gray paper?";
+ next;
+ menu "Wrap them, please!",-, "No, thanks.",M_QUEST;
+
+ set @prizes, countitem(664)+countitem(665)+countitem(666)+countitem(667);
+ if( @prizes == 0){
+ mes "[Snower]";
+ mes "I don't see any gifts in fancy boxes on you...";
+ if(countitem(644))mes "You've got only gray boxes.";
+ close;
+ }
+ delitem 664,countitem(664);
+ delitem 665,countitem(665);
+ delitem 666,countitem(666);
+ delitem 667,countitem(667);
+ getitem 644,@prizes;
+
+ mes "[Snower]";
+ mes "*shuffle* Here you go.";
+ next;
+
+M_QUEST:
+ mes "[Snower]";
+ mes "I wish you find my sisters ASAP... They need help.";
+ if(Q_XMSRINGS==0) set Q_XMSRINGS,1;
+ close;
+
+OnInit:
+//Santa's Hat
+ setitemscript 2236,"{ bonus bMdef,1; bonus bLuk,1; if(isequipped(2636,2637)){if(@xmr == gettime(2))end; set @xmr,gettime(2); misceffect 410; end;} if(isequipped(2636)){if(@xmr == gettime(2))end; set @xmr,gettime(2); misceffect 72;} if(isequipped(2637)){if(@xmr == gettime(2))end; set @xmr,gettime(2); misceffect 338;}}";
+//Gold Xmas Ring
+ setitemscript 2636,"{ bonus bLoseSPWhenUnequip,30; if(isequipped(2236)==0)end; if(getskilllv(28)){skill 51,4+isequipped(2637);}else{skill 28,1+4*isequipped(2637);} }";
+//Silver Xmas Ring
+ setitemscript 2637,"{ bonus bDamageWhenUnequip,40; if(isequipped(2236)==0)end; if(getskilllv(26)){skill 40,1;}else{skill 26,1+isequipped(2636);} }";
+ end;
+}
+
+louyang.gat,224,249,4 script Sneewy 717,{
+ mes "[Sneewy]";
+ if(Q_XMSRINGS==0){
+ mes "Hi! I'm waithing for my sister's birdy with mail...";
+ emotion e_sob;
+ close;
+ }
+ if(Q_XMSRINGS==1){
+ mes "I wish I had 4 more gray Gift Boxes for native children...";
+ emotion e_sob;
+ next;
+ mes "[Sneewy]";
+ mes "Oh, hello. Has my brother Snower told you everything?";
+ next;
+ menu "Here are your 4 Gift Boxes",-, "I don't know any Snowhatevers...",M_END;
+
+ mes "[Sneewy]";
+ if(countitem(644)<4){
+ mes "Gimme 4 gifts for poor kids... Wait, you haven't got 4 of them!";
+ emotion e_sry;
+ close;
+ }
+ set Q_XMSRINGS,2;
+ delitem 644,4;
+ getnameditem 2637,strcharinfo(0);
+ emotion e_kis2;
+ mes "Thank you! Here's my li'l something for you!";
+ next;
+ mes "[Sneewy]";
+ mes "By the way, if you put on 2 different rings then your holidays leveling would be easier!";
+ close;
+ }
+ emotion e_thx;
+ mes "Thanks again! No children will meet the holidays without the gifts!";
+ close;
+
+M_END:
+ mes "[Sneewy]";
+ mes "Pity... I've got a magic Santa's ring... I'd exchange it for 4 Gift Boxes...";
+ emotion e_swt;
+ close;
+}
+
+izlu2dun.gat,133,160,2 script Snoowy 714,{
+ mes "[Snoowy]";
+ if(Q_XMSRINGS==0){
+ mes "Helloooou! Do you know my bro and sis? How so? My brother Snower's well known in Prontera!! Just ask any child there.";
+ emotion e_hmm;
+ close;
+ }
+ if(Q_XMSRINGS==1){
+ mes "Darn... How could poor children be more important than the marine folks.. Am I wrong?";
+ next;
+ mes "[Snoowy]";
+ mes "Errr. Helloou there. My sister Sneewy's sent me a birdie message. The letter was wet and I couldn't read anything but some ending letters of her address...";
+ next;
+ mes "[Snoowy]";
+ mes "Look, it's something like 'yang' in the very end... Hmm... She must be misspelled 'Al Doo Boryang'...";
+ close;
+ }
+ if(Q_XMSRINGS==2){
+ mes "You've helped my sis? It's just great!";
+ next;
+ mes "[Snoowy]";
+ mes "But I too need 3 more gifts for my marine folk friends...";
+ next;
+ menu "Have these gifts!",-, "I need a li'l something in return",M_END;
+
+ mes "[Snoowy]";
+ if(countitem(644)<3){
+ mes "Oops!! You haven't got 3 gray gift boxes on you.";
+ emotion e_sry;
+ close;
+ }
+ set Q_XMSRINGS,3;
+ delitem 644,3;
+ getnameditem 2636,strcharinfo(0);
+ emotion e_kis;
+ mes "Thaank yoouu! Have this magic ring!";
+ close;
+ }
+ emotion e_thx;
+ mes "Oh... the whole marine folk send you their thanks! They love presents so much!!!";
+ if(rand(2))mes "Didn't you know that Santa's Hat reveals the real power of the rings?";
+ close;
+
+M_END:
+ mes "[Snoowy]";
+ mes "I'd exchange a GOLD magic ring for 3 gift boxes...";
+ emotion e_swt;
+ close;
+}
diff --git a/npc/events/dumplingfestival.txt b/npc/events/dumplingfestival.txt
new file mode 100644
index 000000000..3873535ff
--- /dev/null
+++ b/npc/events/dumplingfestival.txt
@@ -0,0 +1,115 @@
+//===== Athena Script =======================================
+//= Imitation of Dumpling Festival
+//===== By ================================================
+//= Massdriller
+//===== Version ===========================================
+//= 1.0
+//===== Compatible With ===================================
+//= eAthena 0.52+
+//===== Description =======================================
+//= A complete redering of the Dumpling Festival.
+//===== Comments ==========================================
+//= Ver 1.0- Duplicate of MRO's Dumpling Event
+//=========================================================
+
+payon.gat,93,81,4 script Exorcist Master Fahae 834,{
+
+mes "[Exorcist Master Fahae]";
+mes "Greetings young warrior, I'm the Exorcist Master Fahae.";
+mes "I have been tracking the elusive Bacsojin for some time.";
+next;
+mes "[Exorcist Master Fahae]";
+mes "I feel it is time I let another warrior try to complete";
+mes "my quest. I have some items to assist you in my quest.";
+next;
+menu "I wish to buy",menu_1, "No thanks",finish;
+
+menu_1:
+mes "[Exorcist Master Fahae]";
+mes "I have 2 items which might become useful to you.";
+next;
+menu "Realgar Wine",wine, "Exorcize Herb",herb;
+
+wine:
+mes "[Exorcist Master Fahae]";
+mes "How many do you require?";
+mes "You may only buy 5 at one time.";
+mes "Each costs 20000z.";
+mes "(Type in 0 to cancel)";
+next;
+input @input;
+if(@input<0) goto end;
+if(@input>5) goto sorry;
+if(Zeny< @input*20000) goto no_money;
+getitem 682,@input;
+set Zeny,Zeny-20000*@input;
+mes "[Exorcist Master Fahae]";
+mes "Here you go, I hope you may succeed in my quest.";
+close;
+
+sorry:
+mes "[Exorcist Master Fahae]";
+mes "You must not be stingy, it is the path of God to be honest.";
+close;
+
+finish:
+mes "[Exorcist Master Fahae]";
+mes "The path of fully venquishing evil is far, help me in the way of God.";
+close;
+
+herb:
+mes "[Exorcist Master Fahae]";
+mes "How many do you require?";
+mes "You may only buy 5 at one time.";
+mes "Each costs 10000z.";
+mes "(Type in 0 to cancel)";
+next;
+input @input;
+if(@input<0) goto end;
+if(@input>5) goto sorry;
+if(Zeny< @input*10000) goto no_money;
+getitem 683,@input;
+set Zeny,Zeny-10000*@input;
+mes "[Exorcist Master Fahae]";
+mes "Here you go, I hope you may succeed in my quest.";
+close;
+
+no_money:
+mes "[Exorcist Master Fahae]";
+mes "Money doesn't bring joy to everyone, but we need it to support the temple and myself. Please, try to kill some monsters and take their drops.";
+close;
+
+
+}
+
+//////////////////////////////////////////////
+// Monster Spawning /\Secial only for event.//
+//////////////////////////////////////////////
+
+// ~Dumpling~
+gef_fild00.gat,0,0,0,0 monster Dumpling 1520,20,60000,66000
+gef_fild07.gat,0,0,0,0 monster Dumpling 1520,20,60000,66000
+gef_fild04.gat,0,0,0,0 monster Dumpling 1520,20,60000,66000
+gef_fild00.gat,0,0,0,0 monster Dumpling 1520,20,60000,66000
+prt_fild06.gat,0,0,0,0 monster Dumpling 1520,20,60000,66000
+prt_fild01.gat,0,0,0,0 monster Dumpling 1520,20,60000,66000
+prt_fild05.gat,0,0,0,0 monster Dumpling 1520,20,60000,66000
+prt_fild08.gat,0,0,0,0 monster Dumpling 1520,20,60000,66000
+pay_fild04.gat,0,0,0,0 monster Dumpling 1520,20,60000,66000
+moc_fild02.gat,0,0,0,0 monster Dumpling 1520,20,60000,66000
+pay_fild01.gat,0,0,0,0 monster Dumpling 1520,20,60000,66000
+pay_fild07.gat,0,0,0,0 monster Dumpling 1520,20,60000,66000
+moc_fild03.gat,0,0,0,0 monster Dumpling 1520,20,60000,66000
+pay_fild06.gat,0,0,0,0 monster Dumpling 1520,20,60000,66000
+pay_fild05.gat,0,0,0,0 monster Dumpling 1520,20,60000,66000
+pay_fild02.gat,0,0,0,0 monster Dumpling 1520,20,60000,66000
+pay_fild09.gat,0,0,0,0 monster Dumpling 1520,20,60000,66000
+
+// ~Bacsojin~
+moc_fild03.gat,0,0,0,0 monster Bacsojin 1518,1,60000,66000
+
+// ~Chung E~
+moc_fild03.gat,0,0,0,0 monster Chung E 1519,1,60000,66000
+moc_fild13.gat,0,0,0,0 monster Chung E 1519,1,60000,66000
+pay_fild01.gat,0,0,0,0 monster Chung E 1519,1,60000,66000
+ \ No newline at end of file
diff --git a/npc/events/easter.txt b/npc/events/easter.txt
new file mode 100644
index 000000000..a75310b71
--- /dev/null
+++ b/npc/events/easter.txt
@@ -0,0 +1,203 @@
+//===== eAthena Script =======================================
+//= Easter Egg Event
+//===== By: ==================================================
+//= kobra_k88
+//= fixed by Yoshimo
+//===== Current Version: =====================================
+//= 1.0a
+//===== Compatible With: =====================================
+//=
+//===== Description: =========================================
+//= Break easter eggs in towns an cities to find chocolates.
+//= Exchange the chocolates for prizes.
+//= Includes Easter egg and Easter bunny mobs.
+//===== Additional Comments: =================================
+//= Not sure about "Gold coin" as being one of the prizes.
+//= fixed infinite gifts [Yor] (thanks to Yoshimo from Freya's forum)
+//============================================================
+
+
+geffen.gat,95,201,3 script Shilo 50,
+{
+ mes "[Shilo]";
+ if(easter_Q == 1) goto L_Check;
+ mes "*Sigh*... Where is my sister!?";
+ next;
+ mes "[Shilo]";
+ mes "Oh... Hi there! I'm extremely excited! You know why?";
+ next;
+ mes "[Shilo]";
+ mes "My favorite holiday is here... ^D2A200Easter^000000!!";
+ next;
+ mes "[Shilo]";
+ mes "I can't wait to go find some easter eggs...";
+ next;
+ if(@talked == 1) menu "I want to look for these eggs.",sM_0, "... Eggs? Why?",M_0, "You seriously bore me... *yawn*...",M_End;
+ menu "... Eggs? Why?",M_0, "You seriously bore me...*yawn*..",M_End;
+
+ M_0:
+ mes "[Shilo]";
+ mes "You mean you've never been on an ^5533FFEaster Egg Hunt^000000 before?";
+ next;
+ mes "[Shilo]";
+ mes "They're the best! See every year, people from all over hide ^5533FFEaster eggs^000000 through out Rune Midgard.";
+ mes "And it's our job to go find as many as possible and collect all of the goodies inside of them.";
+ next;
+ mes "[Shilo]";
+ mes "See, along time ago, the Peco Peco roamed the land free of any hostilities...";
+ mes "All over Rune Midgard, they did as the pleased, and they reproduced without any fears.";
+ next;
+ mes "[Shilo]";
+ mes "The Peco Peco population thrived and kept growing... Eventually their numbers got out of hand.";
+ mes "The people of Rune Midgard decided that they needed to do something about the overwhelming population of Peco Pecos.";
+ next;
+ mes "[Shilo]";
+ mes "So they set out to destroy as many of the Peco Peco eggs they could find!!";
+ next;
+ mes "[Shilo]";
+ mes "Many children found the destruction of helpless Peco Peco eggs to be unbearable.";
+ mes "They were very sad about this and pleaded with their parents to stop.";
+ next;
+ mes "[Shilo]";
+ mes "Unfortunately they could not stop.";
+ mes "If they did nothing the fertile lands of Rune Midard would be destoryed by the Peco Pecos.";
+ next;
+ mes "[Shilo]";
+ mes "So they decided to try to convince the children that destroying the eggs was a good thing.";
+ mes "The parents starting making fake peco peco eggs that had treats in them.";
+ next;
+ mes "[Shilo]";
+ mes "They hid them all over town and had the children search for them.";
+ mes "Once found, the children would break the eggs and find the treats. They would then feel happy about breaking Peco Peco eggs.";
+ next;
+ mes "[Shilo]";
+ mes "Now the Peco Peco has natural enemies, like desert wolves, which keep the Peco Peco population in check.";
+ mes "Therefore the people of Rune Midgard no longer have to destroy defenseless Peco Peco eggs.";
+ next;
+ mes "[Shilo]";
+ mes "But we still carry on the tradition of hiding fake eggs all over Rune Midgard every year.";
+ mes "And that is the story behind Easter in Rune Midgard.";
+ next;
+ mes "[Shilo]";
+ mes "You know... it looks like I'm going to be here for alonge while. I'll tell you what...";
+ next;
+ mes "[Shilo]";
+ mes "If you go out and find some ^5533FFEaster eggs^000000 and bring me back their special 'treats', I will give you something for them...";
+ mes "What do you say?";
+ set @talked, 1;
+ next;
+ menu "What do I have to do?",sM_0, "Nah, I'm to busy.",sM_End;
+
+ sM_0:
+ mes "[Shilo]";
+ mes "All you have to do is go hunt for some Easter eggs which can be found in the towns and cities all over Rune Midgard.";
+ next;
+ mes "[Shilo]";
+ mes "When you find them, break em. If you're lucky, there will be delicious ^D2A200'Chocolates'^000000 inside of them.";
+ mes "Find at least ^00950010^000000, and bring them to me and I will give you a ^FF5533prize^000000.";
+ next;
+ mes "[Shilo]";
+ mes "The more you bring to me, the better my gift to you will be.";
+ next;
+ mes "[Shilo]";
+ mes "I'll will give you something for:";
+ mes "^00950010 ^D2A200Chocolates"; // 1 gold coin ?
+ mes "^5533FF50 ^D2A200Chocolates^000000"; // 1 old blue box
+ mes "and ^FF3355150 ^D2A200Chocolates^000000"; // 1 old purple box
+ next;
+ mes "[Shilo]";
+ mes "So what do you say?";
+ next;
+ menu "Sounds fun, I'll do it!",ssM_0, "I have better things to do",ssM_End;
+
+ ssM_0:
+ mes "[Shilo]";
+ mes "Great! But I must warn you...";
+ next;
+ mes "[Shilo]";
+ mes "During your hunt, you may come across the protectors of these eggs...";
+ next;
+ mes "[Shilo]";
+ mes "They have a bright, light blue color and are very 'fluffy'...";
+ mes "Though I have never seen one, I've heard many stories about them.";
+ next;
+ mes "[Shilo]";
+ mes "The have come to be know as... '^FF3355Easter Bunnies^000000'!!";
+ mes "Be safe and good luck. I'll be waiting here.";
+ set easter_Q, 1;
+ close;
+
+ ssM_End:
+ mes "[Shilo]";
+ mes "Well it's your loss...";
+ emotion 9;
+ close;
+ sM_End:
+ mes "[Shilo]";
+ mes "Ahh, I understand. Farewell.";
+ close;
+ M_End:
+ mes "[Shilo]";
+ mes "... Well, you're not all that exciting to talk with either...";
+ emotion 9;
+ close;
+
+
+//---------------------
+L_Check:
+//----------
+ mes "Find any ^D2A200Chocolate^000000 yet?";
+ next;
+ mes "[Shilo]";
+ if (countitem(558) < 10) goto L_NotEnuf;
+ mes "Great. You have " + countitem(558) + " ^D2A200Chocolates^000000. Here is your prize...";
+ if (countitem(558) >= 150) goto L_150;
+ if (countitem(558) >= 50) goto L_50;
+
+ delitem 558,10;
+ getitem 671,1;
+ goto L_Cont;
+
+ L_50:
+ delitem 558,50;
+ getitem 603,1;
+ goto L_Cont;
+
+ L_150:
+ delitem 558,150;
+ getitem 617,1;
+ goto L_Cont;
+
+ L_Cont:
+ mes "Have fun and happy Easter!";
+ close;
+
+ L_NotEnuf:
+ mes "You don't have enough ^D2A200Chocolate^000000 for a prize.";
+ close;
+}
+
+
+// Easter Eggs
+//=====================================================
+alberta.gat,0,0,0,0 monster Easter Egg 1920,100,0,0,0
+aldebaran.gat,0,0,0,0 monster Easter Egg 1920,150,0,0,0
+amatsu.gat,0,0,0,0 monster Easter Egg 1920,100,0,0,0
+comodo.gat,0,0,0,0 monster Easter Egg 1920,100,0,0,0
+geffen.gat,0,0,0,0 monster Easter Egg 1920,120,0,0,0
+gonryun.gat,0,0,0,0 monster Easter Egg 1920,100,0,0,0
+izlude.gat,0,0,0,0 monster Easter Egg 1920,80,0,0,0
+louyang.gat,0,0,0,0 monster Easter Egg 1920,200,0,0,0
+morocc.gat,0,0,0,0 monster Easter Egg 1920,250,0,0,0
+payon.gat,0,0,0,0 monster Easter Egg 1920,150,0,0,0
+prontera.gat,0,0,0,0 monster Easter Egg 1920,250,0,0,0
+umbala.gat,0,0,0,0 monster Easter Egg 1920,100,0,0,0
+yuno.gat,0,0,0,0 monster Easter Egg 1920,150,0,0,0
+
+// Easter Bunny
+//======================================================
+alberta.gat,0,0,0,0 monster Easter Bunny 1921,1,1200000,900000,0
+geffen.gat,0,0,0,0 monster Easter Bunny 1921,1,1200000,900000,0
+morocc.gat,0,0,0,0 monster Easter Bunny 1921,2,1200000,900000,0
+payon.gat,0,0,0,0 monster Easter Bunny 1921,1,1200000,900000,0
+prontera.gat,0,0,0,0 monster Easter Bunny 1921,2,840000,420000,0 \ No newline at end of file
diff --git a/npc/events/twintowers.txt b/npc/events/twintowers.txt
new file mode 100644
index 000000000..a899b84d5
--- /dev/null
+++ b/npc/events/twintowers.txt
@@ -0,0 +1,93 @@
+//===== eAthena Script =======================================
+//= Twin Towers NPCs
+//===== By: ==================================================
+//= sEiKaN (1.0)
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= Any Athena Version; 0315+
+//===== Description: =========================================
+//= mRO Event: Twin Towers NPCs
+//===== Additional Comments: =================================
+//= 1.2 by Akaru 1.3 by massdriller(Fixed typos)
+//= 1.4 fixed coords, according to off. src [Lupus]
+//============================================================
+
+prontera.gat,146,92,4 script Twin Towers#tt1::Twin-Towers 813,{
+ mes "[Twin Towers]";
+ mes "How are you? We are the Twin Towers.";
+ mes "It is such a pleasure to be able to meet you here.";
+ mes "I suppose you know that this is Ragnarok Online, a land of dreams and fantasies.";
+ mes "Are you having a joyous adventure and exciting experience?";
+ next;
+ mes "[Twin Towers]";
+ mes "Although we can't move around and can't live the way you do,";
+ mes "we love the world as much as you do!";
+ next;
+ mes "[Twin Towers]";
+ mes "May you experience the sensation of this lovely world!";
+ mes "For this reason, we are here at your service with our special magic.";
+ mes "Kindly let us know.";
+ next;
+ menu "I shall accept your offer.",YES,"I'll ask for your service next time.",NO;
+
+ NO:
+ mes "[Twin Towers]";
+ mes "Er, what a pity. Traveling by yourself is still the best evidence of adventure.";
+ mes "Isn't this proving that you are still young?";
+ mes "We respect brave hearts like this";
+ next;
+ mes "[Twin Towers]";
+ mes "There are good and bad times in life, moreover, adventure isn't an easy task in the first place.";
+ mes "Isn't this true?";
+ mes "Feel free to come to us when you have time, we will always be there to serve you.";
+ next;
+ mes "[Twin Towers]";
+ mes "Forget all your troubles, and create a splendid legend in this wonderful world.";
+ mes "This is such a wonderful world, and you'll always be a great adventurer!";
+ close;
+ YES:
+ mes "[Twin Towers]";
+ mes "The flaming passion of an adventurer,";
+ mes "The desire to explore the unknown realms,";
+ mes "The dedication and commitment to achieve the aspiration...";
+ mes "You are simply a true adventurer with what compassion.";
+ next;
+ mes "[Twin Towers]";
+ mes "We wish to help passionate adventurers.";
+ mes "Although we are not able to move, luckily we have the special ability that can warp you to places of danger and excitement.";
+ next;
+ mes "[Twin Towers]";
+ mes "Come on! Where do you wish to go?";
+ mes "Just let us know you desired destination and we will send your there!";
+ menu "Hidden Temple", HiddenTemple,"Orc Dungeon",OrcDungeon,"Ant Hell",AntHell,"Mjolnir Waste Pit",MjolnirWastePit,"Sphinx",Sphinx,"Glast Heim",GlastHeim,"Comodo",Comodo;
+ HiddenTemple:
+ warp "prt_fild01.gat",136,368;
+ close;
+ OrcDungeon:
+ warp "gef_fild10.gat",67,334;
+ close;
+ AntHell:
+ warp "moc_fild04.gat",210,329;
+ close;
+ MjolnirWastePit:
+ warp "mjolnir_02.gat",79,361;
+ close;
+ Sphinx:
+ warp "moc_fild19",105,99;
+ close;
+ GlastHeim:
+ warp "gef_fild06",45,304;
+ close;
+ Comodo:
+ warp "cmd_fild01",30,317;
+ close;
+}
+
+morocc.gat,160,97,4 duplicate(Twin-Towers) Twin Towers#tt2 812
+payon.gat,176,226,4 duplicate(Twin-Towers) Twin Towers#tt3 812
+izlude.gat,134,92,4 duplicate(Twin-Towers) Twin Towers#tt4 812
+alberta.gat,25,238,4 duplicate(Twin-Towers) Twin Towers#tt5 812
+geffen.gat,120,60,4 duplicate(Twin-Towers) Twin Towers#tt6 812
+aldebaran.gat,143,116,4 duplicate(Twin-Towers) Twin Towers#tt7 812
+comodo.gat,194,158,4 duplicate(Twin-Towers) Twin Towers#tt7 812
diff --git a/npc/events/valentinesday.txt b/npc/events/valentinesday.txt
new file mode 100644
index 000000000..9d329cd59
--- /dev/null
+++ b/npc/events/valentinesday.txt
@@ -0,0 +1,140 @@
+//===== Athena Script ========================================
+//= Valentine Event Script
+//===== By: ==================================================
+//= Muad_Dib(Prometheus Project)
+//===== Current Version: =====================================
+//= 1.01
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//
+//===== Additional Comments: =================================
+//= 07/06/05 : Added 1st Version. [Muad_Dib]
+//= 08/28/05 : Ver. 1.01 Added a missing close; [Muad_Dib]
+//= Converted to eAthena format by Dr.Evil
+//============================================================
+
+
+// Stephen - Valentine Event Chocolate seller ------------------
+alberta.gat,26,243,4 script Stephen 58,{
+ mes "[Stephen]";
+ mes "Guess what I've got?";
+ mes "A tasty treat not easily found in Rune-Midgard....";
+ next;
+ mes "[Stephen]";
+ mes "Chocolate!";
+ mes "That's right, don't you love chocolate.... I do.";
+ mes "And you are in luck, because I'm selling them for only 5,000 zeny a piece!";
+ next;
+ menu "I want some chocolate!",M_CHOCO,"No thanks.",-;
+ mes "[Stephen]";
+ mes "You don't want any chocolate?";
+ mes "I'm telling you! You'll regret it!";
+ mes "You better get some now... you won't come across Chocolate like this ever again!";
+ mes "Think it over and visit me again sometime.";
+ close;
+
+M_CHOCO:
+ mes "[Stephen]";
+ mes "Hah!";
+ mes "I knew it!";
+ mes "But I can't sell you more then 5 at once....but, if you really need more....";
+ mes "you can come back again.";
+ mes "So how many do u want?";
+ next;
+ set @needmon,0;
+ input @flag_num;
+ if (@flag_num == 0) goto L_NONE;
+ if (@flag_num > 5) goto L_ERR;
+ set @needmon,@flag_num*5000;
+ if (Zeny < @needmon) goto L_NOTENO;
+ set Zeny,Zeny - @needmon;
+ getitem 558,@flag_num;
+ mes "[Stephen]";
+ mes "There you go!";
+ mes "You can give that to someone as a gift, or enjoy it yourself!";
+ mes "Mmm....sweet chocolate...";
+ mes "Visit me anytime...!";
+ close;
+
+L_ERR:
+ mes "[Stephen]";
+ mes "I'm sorry but I can't give u that many.";
+L_NONE:
+ close;
+
+L_NOTENO:
+ mes "[Stephen]";
+ mes "I'm sorry but it seems u cant afford to buy these off me";
+ close;
+}
+
+// Jainie -- Gives information about Valentine Event ------------------------
+alberta.gat,29,243,4 script Jainie 53,{
+ mes "[Jainie]";
+ mes "You know what? The chocolate that my boyfriend sells are from me!";
+ mes "I made them by myself.";
+ next;
+ mes "[Jainie]";
+ mes "You know ... In cetain countries, there's a tradition of presenting chocolates to a person that you love...";
+ mes "They call it, ^3355FFValentine's Day^000000.";
+ next;
+ mes "[Jainie]";
+ mes "So I gave him my delicious chocolate...";
+ mes "And then he made me cook a lot more...";
+ mes "And now he is selling them to everyone.";
+ mes "I guess he really enjoyed it.";
+ mes "But, I do feel good when people buy something I have made.";
+ next;
+ mes "[Jainie]";
+ mes "It would be great if you bought some too...";
+ mes "I will be making chocolates for a while so...";
+ close;
+}
+
+// Carl Orleans -- Valentine Event Chocolate maker ------------------
+prt_castle.gat,54,34,4 script Carl Orleans 47,{
+ mes "[Carl Orleans]"
+ mes "Yes?"
+ next;
+ menu "I want some hand made chocolate...",-,"I'm lost, sorry to bother you.",M_WAT;
+
+ mes "[Carl Orleans]";
+ mes "Well, I just might be able to fulfill your needs...";
+ next;
+ if (countitem(558) >=3) goto L_ENO;
+ mes "I'm sorry you do not have enough Chocolate Bars to do this";
+ close;
+
+L_ENO:
+ delitem 558,3;
+ mes "[Carl Orleans]";
+ mes "You got 3 pieces of pure chocolate I see.";
+ mes "Give them to me...";
+ next;
+ mes "Ok, now I will only create my special hand made chocolates if you promise to use it wisely.";
+ next;
+ mes "....Hmmmmmm.....";
+ mes "Well...";
+ next;
+ mes "Here.";
+ getitem 559,1;
+ mes "I hope you give it to someone special, because its a special chocolate.";
+ mes "As you know... only I can create this.";
+ next;
+ mes "Enjoy.";
+ close;
+
+M_WAT:
+ mes "[Carl Orleans]";
+ mes "Oh..well, if you want me to make some of my special Hand Made Chocolate....";
+ mes "You will need to give me at least ^0000FF 3 Chocolates^000000.";
+ next;
+ mes "[Carl Orleans]";
+ mes "That's right, only ^0000FF 3 Chocolates^000000";
+ mes "Bring them to me and you'll get what you came for.";
+ next;
+ mes "[Carl Orleans]";
+ mes "See You.";
+ close;
+}
diff --git a/npc/events/whiteday.txt b/npc/events/whiteday.txt
new file mode 100644
index 000000000..8837f4c6d
--- /dev/null
+++ b/npc/events/whiteday.txt
@@ -0,0 +1,128 @@
+//===== Athena Script ========================================
+//= White Day Event Script
+//===== By: ==================================================
+//= 1.0a Muad_Dib (Prometheus Project)
+//===== Current Version: =====================================
+//= 1.0a
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 6+
+//===== Description: =========================================
+//= Sells candy, candy cane and well baked cookie.
+//===== Additional Comments: =================================
+//= 07/06/05 : Added 1st Version. [Muad_Dib]
+//= Converted to eAthena format by Dr.Evil
+//============================================================
+
+
+alberta.gat,188,64,4 script Sugar 91,{
+ set @maplenum,0;
+ set @mapleItemID,0;
+ set @maplePrice,0;
+ set @maplePriceT,0;
+ mes "[Sugar]";
+ mes "Welcome!";
+ mes "How delicious are sweets?";
+ mes "My teacher.........";
+ mes "The sweets craftsman of ARUBERUTA";
+ mes "There are sweets that is built hard.";
+ next;
+ mes "[Sugar]";
+ mes "It was given by the darling person.";
+ mes "In return of the present ....";
+ mes "heartfelt like";
+ mes "the sweetness of the present some how.";
+ next;
+ menu "Please give me!",-,"I dont need it.",M_END,"The teacher.",M_L1;
+
+ mes "[Sugar]";
+ mes "Yes!";
+ mes "Select from menu here.";
+ mes "Since there is a limitation in numbers";
+ mes "Not more than ^ff0000 5 pieces^000000.";
+ mes "are allowed to carry out?";
+ next;
+ menu "Candy",-,"Candy Cane",L0_2,"Well baked cookie",L0_3;
+
+ set @maplePrice,3000;
+ set @mapleItemID,529;
+ mes "[Sugar]";
+ mes "It is a candy, and the price is";
+ mes "3000 Zeny each.";
+ mes "How many do you like to purchase?";
+ next;
+ goto L_INPUT;
+L0_2:
+ set @maplePrice,4000;
+ set @mapleItemID,530;
+ mes "[Sugar]";
+ mes "It is a candy cane, and the price is";
+ mes "4000 Zeny each.";
+ mes "How many do you like to purchase?";
+ next;
+ goto L_INPUT;
+L0_3:
+ set @maplePrice,2000;
+ set @mapleItemID,538;
+ mes "[Sugar]";
+ mes "It is a well baked cookie, and the price is";
+ mes "2000 Zeny each.";
+ mes "How many do you like to purchase?";
+ next;
+
+L_INPUT:
+ input @maplenum;
+ if (@maplenum > 5) goto L_ERROR;
+ if (@maplenum == 0) goto M_END;
+ set @maplePriceT,@maplePrice*@maplenum;;
+ if (Zeny < @maplePriceT) goto L_ERROR2;
+ set Zeny,Zeny- @maplePriceT;
+ getitem @mapleItemID,@maplenum;
+ mes "[Sugar]";
+ mes "Thank you!!!";
+ mes "These sweets are really delicious.";
+ mes "Since my teacher of sweet is the No.1 teacher's in world!";
+ mes "Although you may eat by yourself";
+ mes "dont eat so much or you'll grow fat.";
+ mes "Please take care!!!";
+ close;
+
+M_L1:
+ mes "[Sugar]";
+ mes "Yes";
+ mes "The teacher of mine";
+ mes "is Mr. Kuberu, a sweets craftsman.";
+ mes "Making sweets under two persons.";
+ mes "which is allowed to self-train.";
+ next;
+ mes "[Sugar]";
+ mes "Although selling is seemingly to carried out ....";
+ mes "Where he is now?";
+ mes "Which I dont know.";
+ close;
+
+L_ERROR:
+ mes "[Sugar]";
+ mes "???";
+ mes "You seem to have a failure on hearing.";
+ mes "I will tell you once again?";
+ mes "You can only purchase";
+ mes "^ff0000 5 pieces^000000 at once.";
+ next;
+ goto L_INPUT;
+
+L_ERROR2:
+ mes "[Sugar]";
+ mes "???";
+ mes "Hmmm it seems you don't have enough money";
+ mes "to make that purchase.";
+ mes "I will ask you to check your money first.";
+ close;
+
+M_END:
+ mes "[Sugar]";
+ mes "Really .... You might regret it..";
+ mes "If you change your mind.";
+ mes "I am just here ok.";
+ mes "Have a nice day!";
+ close;
+}
diff --git a/npc/events/xmas.txt b/npc/events/xmas.txt
new file mode 100644
index 000000000..5e774b7f5
--- /dev/null
+++ b/npc/events/xmas.txt
@@ -0,0 +1,368 @@
+//===== eAthena Script =======================================
+//= X-mas Event
+//===== By: ==================================================
+//= eAthena Dev Team
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= Any version of eAthena
+//===== Description: =========================================
+//= Beat up Antonios and grab his socks. Get at least 3 and
+//= give them to Santa Claus Claus in exchange for a present.
+//= Includes X-mas mobs.
+//= This npc will disable, the current Santa Claus npc.
+//===== Additional Comments: =================================
+//= Fixed the spawns [shadowlady]
+//= 1.1 Added Xmas Jakk, fixed 2 exploits, fixed reward Box ID [Lupus]
+//= 1.2 Added monsters to the newer fields, thanks to Muad_Dib [MasterOfMuppets]
+//= 1.2a Fixed a major problem with the monster spawns, thanks to Playtester [MasterOfMuppets]
+//= 1.2b Fixed a minor problem with the mosnter spawns, thanks to Playtester [Kayla]
+//= 1.3 Added Christmas Orc to the places where other orcs spawn [MasterOfMuppets]
+//= Added Christmas goblins to yuno_fild09, thanks to Playtester for pointing it out
+//= 1.4 Added a fix to make Lutie & Bard quests passable during this event [Lupus]
+//============================================================
+
+
+xmas_in.gat,100,96,4 script Father Christmas::Santa2 718,{
+ mes "[Santa Claus]";
+//For Lutie & Bard quest
+ if(xmas_npc==0) set xmas_npc, 1;
+//
+ if(#event_xmas > 0 && #event_xmas < 30 ) goto L_Start;
+ mes "Merry Christmas!";
+ if(Class==0 || #event_xmas>=30 ) close; //anti exploit protection
+ mes "I have a gift for you! Ho Ho Ho!";
+ getitem rand(664,667),1; //gives one of 4 gift boxes
+ set #event_xmas,#event_xmas+1;
+ close;
+
+L_Start:
+ mes "I'm having a bit of a problem...";
+ mes "Do you care to listen?";
+ next;
+ menu "Listen to Santa Claus.",M_0, "Give Santa Claus proof.",M_1, "Cancel.",M_End;
+
+ M_0:
+ mes "[Santa Claus]";
+ mes "My problem is this.";
+ mes "There seems to be a man out there";
+ mes "that is impersonating me and spreading";
+ mes "terror throughout the land.";
+ next;
+ mes "[Santa Claus]";
+ mes "Like the Grinch of legend, he's taking";
+ mes "all the childrens' toys and keeping them";
+ mes "for himself.";
+ next;
+ mes "[Santa Claus]";
+ mes "I'm too busy here creating my batch of ";
+ mes "toys for next year, so I can't go";
+ mes "out and find him myself.";
+ mes "So I would like you to go out and";
+ mes "Destroy this man for me.";
+ next;
+ mes "[Santa Claus]";
+ mes "He has in his posession one of my";
+ mes "magic sacks, however, so he will";
+ mes "escape into it to another place each";
+ mes "time you attack him.";
+ next;
+ mes "[Santa Claus]";
+ mes "However,";
+ mes "In his haste, he tends to drop things.";
+ mes "If by chance he drops one of his Stockings";
+ mes "With Holes that he uses to steal the";
+ mes "poor childrens' toys, pick it up.";
+ next;
+ mes "[Santa Claus]";
+ mes "If you collect 3 of these, I will give";
+ mes "you a prototype mystery box that";
+ mes "I've been keeping around the";
+ mes "lab. It spits out random presents";
+ mes "and saves me a ton of work.";
+ close;
+ M_1:
+ mes "[Santa Claus]";
+ if(countitem(7034) < 3) goto L_NotEnuf;
+ delitem 7034,3;
+ mes "Seems you've been doing a";
+ mes "good job of taking down those";
+ mes "fake Santas. Keep it up!";
+ next;
+ getitem 644,1; //Gift Box Prototype
+ set #event_xmas,#event_xmas+1;
+ mes "[Santa Claus]";
+ mes "There's your reward.";
+ mes "If you get 3 more, I'll give you another.";
+ mes "Hope you get a good item.";
+ close;
+
+ L_NotEnuf:
+ mes "You don't have enough socks as proof.";
+ mes "Go take down those evil Santas";
+ mes "and get more for me and I'll reward you.";
+ close;
+ M_End:
+ mes "[Santa Claus]";
+ mes "I see. Well, at the very least";
+ mes "we shall meet again on Christmas morning.";
+ close;
+
+OnInit:
+ disablenpc "Santa1";
+ end;
+}
+
+
+//========================================================================================
+// - Xmas Goblin Spawns
+//========================================================================================
+
+prt_fild11.gat,0,0,0,0 monster Christmas Goblin 1245,5,0,0,0
+gef_fild11.gat,0,0,0,0 monster Christmas Goblin 1245,5,0,0,0
+yuno_fild09.gat,0,0,0,0 monster Christmas Goblin 1245,5,0,0,0
+
+//========================================================================================
+// - Santa Poring Spawns
+//========================================================================================
+
+ein_fild03.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+ein_fild04.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+ein_fild06.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+ein_fild07.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+ein_fild08.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+ein_fild09.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+ein_fild10.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+gef_fild00.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+gef_fild01.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+gef_fild02.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+gef_fild03.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+gef_fild04.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+gef_fild05.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+gef_fild07.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+gef_fild08.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+gef_fild09.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+gef_fild10.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+gef_fild11.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+glast_01.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+lhz_fild01.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+lhz_fild02.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+lhz_fild03.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+mjolnir_01.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+mjolnir_02.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+mjolnir_03.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+mjolnir_04.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+mjolnir_05.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+mjolnir_06.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+mjolnir_07.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+mjolnir_08.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+mjolnir_09.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+mjolnir_10.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+mjolnir_11.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+mjolnir_12.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+moc_fild01.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+moc_fild02.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+moc_fild03.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+moc_fild04.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+moc_fild05.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+moc_fild06.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+moc_fild07.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+moc_fild08.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+moc_fild09.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+moc_fild10.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+moc_fild11.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+moc_fild12.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+moc_fild13.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+moc_fild14.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+moc_fild15.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+moc_fild16.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+moc_fild17.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+moc_fild18.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+pay_fild01.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+pay_fild02.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+pay_fild03.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+pay_fild04.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+pay_fild05.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+pay_fild06.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+pay_fild07.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+pay_fild08.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+pay_fild09.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+pay_fild10.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+pay_fild11.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+prt_fild00.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+prt_fild01.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+prt_fild02.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+prt_fild03.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+prt_fild04.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+prt_fild05.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+prt_fild06.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+prt_fild07.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+prt_fild08.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+prt_fild09.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+prt_fild10.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+prt_fild11.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+xmas_fild01.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+cmd_fild01.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+cmd_fild02.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+cmd_fild03.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+cmd_fild04.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+cmd_fild05.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+cmd_fild06.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+cmd_fild07.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+cmd_fild08.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+cmd_fild09.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+yuno_fild01.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+yuno_fild02.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+yuno_fild03.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+yuno_fild04.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+yuno_fild05.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+yuno_fild06.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+yuno_fild07.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+yuno_fild08.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+yuno_fild09.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+yuno_fild11.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+yuno_fild12.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+ama_fild01.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+gon_fild01.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+um_fild01.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+um_fild02.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+um_fild03.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+um_fild04.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+nif_fild01.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+nif_fild02.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+lou_fild01.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+hu_fild01.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+hu_fild04.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+hu_fild05.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+hu_fild07.gat,0,0,0,0 monster Santa Poring 1062,15,0,0,0
+
+//========================================================================================
+// - Antonio Spawns
+//========================================================================================
+
+ein_fild03.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+ein_fild04.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+ein_fild06.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+ein_fild07.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+ein_fild08.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+ein_fild09.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+ein_fild10.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+gef_fild00.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+gef_fild01.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+gef_fild02.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+gef_fild03.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+gef_fild04.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+gef_fild05.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+gef_fild07.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+gef_fild08.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+gef_fild09.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+gef_fild10.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+gef_fild11.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+glast_01.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+lhz_fild01.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+lhz_fild02.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+lhz_fild03.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+mjolnir_01.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+mjolnir_02.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+mjolnir_03.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+mjolnir_04.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+mjolnir_05.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+mjolnir_06.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+mjolnir_07.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+mjolnir_08.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+mjolnir_09.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+mjolnir_10.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+mjolnir_11.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+mjolnir_12.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+moc_fild01.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+moc_fild02.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+moc_fild03.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+moc_fild04.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+moc_fild05.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+moc_fild06.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+moc_fild07.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+moc_fild08.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+moc_fild09.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+moc_fild10.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+moc_fild11.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+moc_fild12.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+moc_fild13.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+moc_fild14.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+moc_fild15.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+moc_fild16.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+moc_fild17.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+moc_fild18.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+pay_fild01.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+pay_fild02.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+pay_fild03.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+pay_fild04.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+pay_fild05.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+pay_fild06.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+pay_fild07.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+pay_fild08.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+pay_fild09.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+pay_fild10.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+pay_fild11.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+prt_fild00.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+prt_fild01.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+prt_fild02.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+prt_fild03.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+prt_fild04.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+prt_fild05.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+prt_fild06.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+prt_fild07.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+prt_fild08.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+prt_fild09.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+prt_fild10.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+prt_fild11.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+xmas_fild01.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+cmd_fild01.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+cmd_fild02.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+cmd_fild03.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+cmd_fild04.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+cmd_fild05.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+cmd_fild06.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+cmd_fild07.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+cmd_fild08.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+cmd_fild09.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+yuno_fild01.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+yuno_fild02.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+yuno_fild03.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+yuno_fild04.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+yuno_fild05.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+yuno_fild06.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+yuno_fild07.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+yuno_fild08.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+yuno_fild09.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+yuno_fild11.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+yuno_fild12.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+ama_fild01.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+gon_fild01.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+um_fild01.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+um_fild02.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+um_fild03.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+um_fild04.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+nif_fild01.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+nif_fild02.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+lou_fild01.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+hu_fild01.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+hu_fild04.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+hu_fild05.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+hu_fild07.gat,0,0,0,0 monster Antonio 1247,1,0,0,0
+
+//========================================================================================
+// - Xmas Jakk
+//========================================================================================
+
+gef_dun01.gat,0,0,0,0 monster Xmas Jakk 1244,5,0,0,0
+//gefenia02.gat,0,0,0,0 monster Xmas Jakk 1244,5,0,0,0
+
+//========================================================================================
+// - Xmas Orc
+//========================================================================================
+
+gef_fild02.gat,0,0,0,0 monster Christmas Orc 1588,5,0,0,0
+gef_fild03.gat,0,0,0,0 monster Christmas Orc 1588,5,0,0,0
+gef_fild10.gat,0,0,0,0 monster Christmas Orc 1588,5,0,0,0
+gef_fild14.gat,0,0,0,0 monster Christmas Orc 1588,5,0,0,0
+alde_dun02.gat,0,0,0,0 monster Christmas Orc 1588,5,0,0,0 \ No newline at end of file
diff --git a/npc/events/zondaman.txt b/npc/events/zondaman.txt
new file mode 100644
index 000000000..c65875c2b
--- /dev/null
+++ b/npc/events/zondaman.txt
@@ -0,0 +1,50 @@
+//===== Athena Script ========================================
+//= Zondaman Employees
+//===== By: ==================================================
+//= [Muad_Dib] 1.0a
+//===== Current Version: =====================================
+//= 1.0a
+//===== Compatible With: =====================================
+//= eAthena 1.0+
+//===== Description: =========================================
+//= Advanced Dungeon Warper
+//===== Additional Comments: =================================
+//= 08/06/05 : Added 1st Version. [Muad_Dib]
+//= Converted to eAthena format by Dr.Evil
+//============================================================
+
+
+prontera.gat,147,124,5 script Zondaman Employee 874,{
+ cutin "zonda_01",2;
+ mes "[Zondaman Employee]";
+ mes "Welcome to Zondaman Services.";
+ mes "Where can I send you today?";
+ next;
+ menu "Bibilan Dungeon 3F -> 4000 z",-,"Clocktower 3F -> 4000 z",L1,"Glastheim Entrance -> 4000 z",L2,"Cancel",M_END;
+
+ if (Zeny < 4000) goto L_Zeny;
+ set Zeny,Zeny-4000;
+ warp "iz_dun02.gat",235,210;
+ end;
+
+L1:
+ if (Zeny < 4000) goto L_Zeny;
+ set Zeny,Zeny-4000;
+ warp "c_tower3.gat",65,145;
+ end;
+
+L2:
+ if (Zeny < 4000) goto L_Zeny;
+ set Zeny,Zeny-4000;
+ warp "glast_01.gat",370,305;
+ end;
+
+L_Zeny:
+ mes "[Zondaman Employee]";
+ mes "You don't have enough money.";
+ mes "Please verify the amount of money you have.";
+M_END:
+ close2;
+ cutin "",255;
+ close;
+}
diff --git a/npc/guides/guides_alb.txt b/npc/guides/guides_alb.txt
new file mode 100644
index 000000000..703277552
--- /dev/null
+++ b/npc/guides/guides_alb.txt
@@ -0,0 +1,155 @@
+//===== eAthena Script =======================================
+//= Alberta Guides
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= eAthena 0.5.2 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Fully working
+//= 1.1 Fixed Armory coords, thanks to Freya team
+//= 1.2 Optimized, updated common guide names [Lupus]
+//= 1.3 Updated the guide according to how it is on iRO, thanks [MasterOfMuppets]
+//= to Muad_Dib
+//============================================================
+
+//North
+alberta.gat,23,238,4 script Guide::Alb_Guide 105,{
+ cutin "prt_soldier",2;
+ mes "[Alberta Guide]";
+ mes "Welcome to Alberta,";
+ mes "the Port City. Feel free";
+ mes "to ask me if you're having";
+ mes "trouble finding anything in";
+ mes "town, or if you just need";
+ mes "guidance around the city.";
+L_MENU:
+ next;
+ menu "City Guide",L_CITY,"Remove Marks from Mini-Map",L_REMOVE,"Notice",L_NOTICE,"Cancel",L_END;
+L_CITY:
+ mes "[Alberta Guide]";
+ mes "Please select";
+ mes "a location from";
+ mes "the following menu.";
+ mes "Would you like me";
+ mes "to mark locations";
+ mes "on your Mini-Map?";
+ next;
+ menu "Yes.",L_YES,"No.",L_NO;
+L_NO:
+ set @COMPASS_CHECK,0;
+ goto L_CONT;
+L_YES:
+ set @COMPASS_CHECK,1;
+L_CONT:
+L_MENU_2:
+ menu "^FF0000Merchant Guild^000000",L_MERCHANT,"Weapon Shop",L_WEAPON,"Tool Shop",L_TOOL,"Inn",L_INN,"Forge",L_FORGE,"Cancel",-;
+ mes "[Alberta Guide]";
+ mes "Please ask me to Remove";
+ mes "Marks from Mini-Map if you";
+ mes "no longer wish to have the";
+ mes "location marks displayed";
+ mes "on your Mini-Map.";
+ goto L_MENU;
+L_MERCHANT:
+ mes "[Alberta Guide]";
+ mes "The Merchant Guild,";
+ mes "handles Job Changes";
+ mes "to the Merchant Class,";
+ mes "and is located in the";
+ mes "southwest corner";
+ mes "of Alberta.";
+ viewpoint 1,33,41,1,0xFF0000;
+ next;
+ goto L_WIPE;
+L_WEAPON:
+ mes "[Alberta Guide]";
+ mes "The Weapon Shop";
+ mes "can be found in the";
+ mes "southern end of Alberta.";
+ viewpoint 1,117,37,2,0xFF00FF;
+ next;
+ goto L_WIPE;
+L_TOOL:
+ mes "[Alberta Guide]";
+ mes "The Tool Shop";
+ mes "is kind of close";
+ mes "to the center of";
+ mes "Alberta. It shouldn't";
+ mes "be too hard to find.";
+ viewpoint 1,98,154,3,0xFF00FF;
+ next;
+ goto L_WIPE;
+L_INN:
+ mes "[Alberta Guide]";
+ mes "There's and Inn";
+ mes "at the northern";
+ mes "end of Alberta";
+ mes "where you can rest.";
+ viewpoint 1,65,233,4,0xFF00FF;
+ next;
+ goto L_WIPE;
+L_FORGE:
+ mes "[Alberta Guide]";
+ mes "The Forge in Alberta";
+ mes "is in the same building";
+ mes "as the Merchant Guild.";
+ mes "it's to the southwest.";
+ viewpoint 1,33,41,5,0xFF00FF;
+ next;
+ goto L_WIPE;
+L_WIPE:
+ if(@COMPASS_CHECK == 1)goto L_MENU_2;
+ viewpoint 2,33,41,1,0xFF0000;
+ viewpoint 2,117,37,2,0xFF00FF;
+ viewpoint 2,98,154,3,0xFF00FF;
+ viewpoint 2,65,233,4,0xFF00FF;
+ viewpoint 2,33,41,5,0xFF00FF;
+ goto L_MENU_2;
+L_REMOVE:
+ viewpoint 2,33,41,1,0xFF0000;
+ viewpoint 2,117,37,2,0xFF00FF;
+ viewpoint 2,98,154,3,0xFF00FF;
+ viewpoint 2,65,233,4,0xFF00FF;
+ viewpoint 2,33,41,5,0xFF00FF;
+ goto L_MENU;
+L_NOTICE:
+ mes "[Alberta Guide]";
+ mes "Advances in sorcery and";
+ mes "technology have allowed";
+ mes "us to update our information";
+ mes "system, enabling up to mark";
+ mes "locations on your Mini-Map";
+ mes "for easier navigation.";
+ next;
+ mes "[Alberta Guide]";
+ mes "Your Mini-Map is located";
+ mes "in the upper right corner";
+ mes "of the screen. If you can't";
+ mes "see it, press the Ctrl + Tab";
+ mes "keys or click the 'Map' button";
+ mes "in your Basic Information Window.";
+ next;
+ mes "[Alberta Guide]";
+ mes "On your Mini-Map,";
+ mes "click on the '+' and '-'";
+ mes "symbols to zoom in and";
+ mes "out of your Mini-Map. We";
+ mes "hope you enjoy your travels";
+ mes "here in the city of Alberta.";
+ goto L_MENU;
+L_END:
+ mes "[Alberta Guide]";
+ mes "Be safe when you";
+ mes "travel and don't hesitate";
+ mes "to ask me if you have any";
+ mes "questions about Alberta.";
+ cutin "prt_soldier",255;
+ close;
+}
+
+// South --------------------------------------------------------
+alberta.gat,120,60,3 duplicate(Alb_Guide) Guide#2 105 \ No newline at end of file
diff --git a/npc/guides/guides_alde.txt b/npc/guides/guides_alde.txt
new file mode 100644
index 000000000..d1b37cfce
--- /dev/null
+++ b/npc/guides/guides_alde.txt
@@ -0,0 +1,58 @@
+//===== eAthena Script =======================================
+//= Al De Baran Guides
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Corrected building locations and descriptions
+//= 1.2 Optimized, updated common guide names [Lupus]
+//= 1.3 Updated the guide according to how it is on iRO, thanks [MasterOfMuppets]
+//= to Muad_Dib
+//============================================================
+
+
+aldebaran.gat,139,63,4 script Soldier::Alde_Guide 105,{
+ cutin "prt_soldier",2;
+ mes "[Al De Baran Guard]";
+ mes "I'm just an ordinary guard";
+ mes "that you could find in any other";
+ mes "city. I don't think I even have a";
+ mes "name...";
+ next;
+ mes "[Al De Baran Guard]";
+ mes "I am in charge of the Service";
+ mes "Guides from the Al De Baran";
+ mes "Garrison. Let me guide you";
+ mes "through our town!";
+ next;
+ menu "Get location Guide.",-,"End conversation.",L_End;
+ viewpoint 1,57,222,1,0xFF6633;
+ viewpoint 1,73,196,2,0x0000FF;
+ viewpoint 1,224,224,3,0x00FFFF;
+ viewpoint 1,233,106,4,0x515151;
+ viewpoint 1,197,71,5,0x3355FF;
+ viewpoint 1,60,60,6,0xFF5555;
+ mes "^FF6633+^000000 -> Kafra Main Office";
+ mes "^0000FF+^000000 -> Weapon Shop";
+ mes "^00FFFF+^000000 -> Sorcerer Guild (Closed)";
+ mes "^515151+^000000 -> Pub";
+ mes "^3355FF+^000000 -> Item Shop";
+ mes "^FF5555+^000000 -> Chemical Academy";
+ cutin "prt_soldier",255;
+ close;
+L_End:
+ mes "[Al De Baran Guard]";
+ mes "We are sworn to protect Al De";
+ mes "Baran! May the forces of evil";
+ mes "always be crushed by the";
+ mes "righteous fist of good!";
+ cutin "prt_soldier",255;
+ close;
+}
+
+aldebaran.gat,241,136,4 duplicate(Alde_Guide) Soldier 105
diff --git a/npc/guides/guides_com.txt b/npc/guides/guides_com.txt
new file mode 100644
index 000000000..925ceccf9
--- /dev/null
+++ b/npc/guides/guides_com.txt
@@ -0,0 +1,108 @@
+//===== eAthena Script =======================================
+//= Comodo Guides
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena 0.5.2 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Fully working v1.1 Now using duplicate command.
+//= 1.2 Optimized, updated common guide names [Lupus]
+//= 1.3 Updated the guide according to how it is on iRO, thanks
+//= to Muad_Dib [MasterOfMuppets]
+//= 1.4 Removed 3 guides, and converted to use functions.
+//============================================================
+
+comodo.gat,322,178,4 script Comodo Guide#1 700,{
+ set @name$,"Native Kokomo";
+ callfunc "comodo_guide";
+ end;
+}
+comodo.gat,176,350,4 script Comodo Guide#2 700,{
+ set @name$,"Native Cocomo";
+ callfunc "comodo_guide";
+ end;
+}
+comodo.gat,37,219,4 script Comodo Guide#3 700,{
+ set @name$,"Native Papaya";
+ callfunc "comodo_guide";
+ end;
+}
+
+function script comodo_guide {
+ mes "[" + @name$ + "]";
+ mes "The night of pleasure continues for 24 hours";
+ mes "Welcome to Comodo, the gambling city.";
+ mes "I can help you to find buildings easily, feel free to ask me anytime.";
+ mes "Please choose the building you're searching:";
+ next;
+ menu "Casino",L_MENU_1,"Hula dancing Stage^3355FF(Dancer Job Change)^000000",L_MENU_2,"Weapon and Armor Shop",L_MENU_3,"Tool Shop",L_MENU_4,"Tourist Shop",L_MENU_5,"Kapra Corp. Western Branch",L_MENU_6,"Chief's House",L_MENU_7,"Pub",L_MENU_8,"Camp Ground",L_MENU_9,"End conversation",L_MENU_10;
+L_MENU_1:
+ mes "[" + @name$ + "]";
+ viewpoint 1,140,98,1,0xFF6633;
+ mes "^FF6633+^000000 -> Casino";
+ mes "The casino is an important part of Comodo.";
+ mes "The Comodo Casino provides endless entertainment for travelers from all over the world";
+ close;
+L_MENU_2:
+ mes "[" + @name$ + "]";
+ viewpoint 1,188,168,2,0x0000FF;
+ mes "^0000FF+^000000 -> Hula dancing Stage";
+ mes "Check out the stage located center of town.";
+ mes "If you really enjoy the atmosphere of the stage, you should consider about becoming a dancer. ^3355FF(Dancer Job Change)^000000";
+ close;
+L_MENU_3:
+ mes "[" + @name$ + "]";
+ viewpoint 1,266,70,3,0x00FFFF;
+ mes "^00FFFF+^000000 -> Weapon and Armor Shop";
+ mes "The Weapon and Armor Shop is located south-east edge of town.";
+ close;
+L_MENU_4:
+ mes "[" + @name$ + "]";
+ viewpoint 1,86,128,4,0x515151;
+ mes "^515151+^000000 -> Tool Shop";
+ mes "The Kit shop is located south-west of town.";
+ close;
+L_MENU_5:
+ mes "[" + @name$ + "]";
+ viewpoint 1,298,124,5,0x3355FF;
+ mes "^3355FF+^000000 -> Tourist Shop";
+ mes "You should visit the Tourist shop for some rare seashell found only at the shores of Comodo.";
+ close;
+L_MENU_6:
+ mes "[" + @name$ + "]";
+ viewpoint 1,136,202,6,0xFF5555;
+ mes "^FF5555+^000000 -> Kapra Corp. Western Branch";
+ mes "Yep, the Kapra's Corp will stay with you wherever you go, even here in Comodo!";
+ mes "You could find the Kapras near the center of town.";
+ close;
+L_MENU_7:
+ mes "[" + @name$ + "]";
+ viewpoint 1,114,294,7,0xFF5555;
+ mes "^FF5555+^000000 -> Chief's House";
+ mes "Well, that's obviously where the chief resides.";
+ mes "You should pay a visit to him once in a while, he's a great man when you get to know him.";
+ close;
+L_MENU_8:
+ mes "[" + @name$ + "]";
+ viewpoint 1,166,298,8,0xFF5555;
+ mes "^FF5555+^000000 -> Pub";
+ mes "The pub is the place for all sort of information.";
+ mes "The pub is also a place filled with great cultural values for Comodo.";
+ close;
+L_MENU_9:
+ mes "[" + @name$ + "]";
+ viewpoint 1,210,308,9,0xFF5555;
+ mes "^FF5555+^000000 -> Camp Ground";
+ mes "The Camp Ground is simply a great place to hang out with your familty or companions.";
+ mes "Sit around the camp fire and enjoy the wonderful tropical weather and surroundings of Comodo!";
+ close;
+L_MENU_10:
+ mes "[" + @name$ + "]";
+ mes "Well, I guess I will be seeing you around then.";
+ mes "Take care, and enjoy your stay.";
+ close;
+}
diff --git a/npc/guides/guides_einbe.txt b/npc/guides/guides_einbe.txt
new file mode 100644
index 000000000..75133fdfe
--- /dev/null
+++ b/npc/guides/guides_einbe.txt
@@ -0,0 +1,164 @@
+//===== eAthena Script =======================================
+//= Einbech Guides
+//===== By: ==================================================
+//= Muad_dib
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= 1.0 Einbech guide by Muad_dib in prometheus format
+//= 1.0a Conversion to eA format [MasterOfMuppets]
+//= 1.1 missing tabs [Lupus]
+//= 1.2 Optimized, updated common guide names [Lupus]
+//============================================================
+
+
+einbech.gat,67,37,4 script Guide#1::Einbech_Guide 852,{
+ cutin "ein_soldier",2;
+ mes "[Einbech Guide]";
+ mes "Welcome to Einbech,";
+ mes "the Mining Town. We're";
+ mes "here to assist tourists,";
+ mes "so if you have any questions,";
+ mes "please feel free to ask us.";
+L_MENU:
+ next;
+ menu "City Guide",-,"Remove Marks from Mini-Map",L_REMOVE,"Notice",L_NOTICE,"Cancel",L_END;
+
+ mes "[Einbech Guide]";
+ mes "Please select";
+ mes "a location from";
+ mes "the following menu.";
+ mes "Would you like me";
+ mes "to mark locations";
+ mes "on your Mini-Map?";
+ next;
+ menu "Yes.",L_YES,"No.",-;
+
+ set @COMPASS_CHECK,0;
+ goto L_CONT;
+L_YES:
+ set @COMPASS_CHECK,1;
+L_CONT:
+L_MENU_2:
+ menu "Train Station",L_TRAIN,"Tavern",L_TAVERN,"Tool Shop",L_TOOL,"Swordman Guild",L_SWORD,"Mine",L_MINE,"Cancel",-;
+
+ mes "[Einbech Guide]";
+ mes "Pleas ask me to Remove";
+ mes "Marks from Mini-Map if you";
+ mes "no longer wish to have the";
+ mes "location marks displayed";
+ mes "on your Mini-Map.";
+ goto L_MENU;
+L_TRAIN:
+ mes "[Einbech Guide]";
+ mes "The Train Stations are";
+ mes "located in the nortwest";
+ mes "and northeast parts of";
+ mes "Einbech. There, you can";
+ mes "take a train to Einbroch.";
+ mes "long, everyday.";
+ viewpoint 1,44,216,1,0xFF0000;
+ next;
+ goto L_WIPE;
+L_TAVERN:
+ mes "[Einbech Guide]";
+ mes "The Tavern is located";
+ mes "in the southern part of";
+ mes "Einbech. It's a nice place";
+ mes "to relax after a long day.";
+ viewpoint 1,145,112,2,0xFF00FF;
+ next;
+ goto L_WIPE;
+L_TOOL:
+ mes "[Einbech Guide]";
+ mes "You can find the Tool";
+ mes "Shop in the center of";
+ mes "Einbech. There, you can";
+ mes "purchase any tools you";
+ mes "might need for your travels.";
+ viewpoint 1,177,135,3,0xFF00FF;
+ next;
+ goto L_WIPE;
+L_SWORD:
+ mes "[Einbech Guide]";
+ mes "The Swordman Guild";
+ mes "is located in the eastern";
+ mes "outskirts of Einbech. It's";
+ mes "under construction and they";
+ mes "haven't started accepting";
+ mes "applications.";
+ viewpoint 1,253,109,4,0xFF00FF;
+ next;
+ goto L_WIPE;
+L_MINE:
+ mes "[Einbech Guide]";
+ mes "The Mine, wich is";
+ mes "Einbech's major industry,";
+ mes "is located in the northern";
+ mes "part of this town. It's where";
+ mes "we get all our ores, although";
+ mes "monsters get in the miners way.";
+ viewpoint 1,138,250,5,0x00FF00;
+ next;
+ goto L_WIPE;
+L_WIPE:
+ if(@COMPASS_CHECK == 1)goto L_MENU_2;
+ viewpoint 2,44,216,1,0xFF0000;
+ viewpoint 2,145,112,2,0xFF00FF;
+ viewpoint 2,177,135,3,0xFF00FF;
+ viewpoint 2,253,109,4,0xFF00FF;
+ viewpoint 2,138,250,5,0x00FF00;
+ goto L_MENU_2;
+L_REMOVE:
+ viewpoint 2,44,216,1,0xFF0000;
+ viewpoint 2,145,112,2,0xFF00FF;
+ viewpoint 2,177,135,3,0xFF00FF;
+ viewpoint 2,253,109,4,0xFF00FF;
+ viewpoint 2,138,250,5,0x00FF00;
+ mes "[Einbech Guide]";
+ mes "Okay, the marks from";
+ mes "your Mini-Map have been";
+ mes "removed. If you need any";
+ mes "guidance around Einbroch";
+ mes "please let me or one of the";
+ mes "other Einbech Guides know.";
+ goto L_MENU;
+L_NOTICE:
+ mes "[Einbech Guide]";
+ mes "Through the technology of";
+ mes "the Schwartzwalt Republic,";
+ mes "we've upgraded to a digital";
+ mes "information system that allows";
+ mes "us to mark locations on your";
+ mes "Mini-Map for easier navigation.";
+ next;
+ mes "[Einbech Guide]";
+ mes "Your Mini-Map is located";
+ mes "in the upper right corner";
+ mes "of the screen. If you can't";
+ mes "see it, press the Ctrl + Tab";
+ mes "keys or click the 'Map' button";
+ mes "in your Basic Information Window.";
+ next;
+ mes "[Einbech Guide]";
+ mes "On your Mini-Map,";
+ mes "click on the '+' and '-'";
+ mes "symbols to zoom in and";
+ mes "out of your Mini-Map. We";
+ mes "hope you enjoy your travels";
+ mes "here in Einbech, adventurer.";
+ goto L_MENU;
+L_END:
+ mes "[Einbech Guide]";
+ mes "We hope that you";
+ mes "enjoy your travels";
+ mes "here in Einbech.";
+ cutin "ein_soldier",255;
+ close;
+}
+
+einbech.gat,48,214,4 duplicate(Einbech_Guide) Guide#2 852 \ No newline at end of file
diff --git a/npc/guides/guides_einbr.txt b/npc/guides/guides_einbr.txt
new file mode 100644
index 000000000..532c8beb3
--- /dev/null
+++ b/npc/guides/guides_einbr.txt
@@ -0,0 +1,221 @@
+//===== eAthena Script =======================================
+//= Einbroch Guides
+//===== By: ==================================================
+//= Reddozen
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= 1.0b missing tabs, fixed Guide coords [Lupus]
+//= 1.1 added 1 more Guide NPC, thanx to Justin84 [Lupus]
+//= 1.2 Optimized, updated common guide names [Lupus]
+//============================================================
+
+
+einbroch.gat,72,202,4 script Guide#1::Einbroch_Guide 852,{
+ cutin "ein_soldier",2;
+ mes "[Einbroch Guide]";
+ mes "Welcome to Einbroch,";
+ mes "the City of Steel.";
+ mes "Please ask me if you";
+ mes "have any questions";
+
+M_Menu:
+ next;
+ menu "City Guide",-, "Remove Marks from Mini-Map",M_2, "Notice",M_3, "Cancel",M_End;
+
+ mes "[Einbroch Guide]";
+ mes "Please select";
+ mes "a location from";
+ mes "the following menu.";
+ mes "Would you like me";
+ mes "to mark locations";
+ mes "on your Mini-Map";
+ next;
+ menu "No Thanks",-,"Yes Please",sM_1b;
+
+ set @COMPASS_CHECK,0;
+ goto L_Cont;
+
+ sM_1b:
+ set @COMPASS_CHECK,1;
+
+ L_Cont:
+sM_Menu:
+ menu "^FF0000Airport^000000",-, "Train Station",sM_2b, "Factory",sM_2c, "Plaza",sM_2d,
+ "Hotel",sM_2e, "Weapon Shop",sM_2f, "Laboratory",sM_2g, "Blacksmith Guild",sM_2h,
+ "Einbroch Tower",sM_2i,
+ "Cancel", SM_2j;
+
+ mes "[Einbroch Guide]";
+ mes "The ^FF0000Airport^000000 is is located";
+ mes "in the northwestern part";
+ mes "of the city. There you can";
+ mes "see our city's pride and joy, the";
+ mes "Airship. Remember that you must pay";
+ mes "admission to board the Airship.";
+ viewpoint 1,63,208,1,0xFF0000;
+ next;
+ goto sL_Wipe;
+ sM_2b:
+ mes "[Einbroch Guide]";
+ mes "The Train Station is";
+ mes "located in the northeast";
+ mes "part of Einbroch. Trains";
+ mes "running between here";
+ mes "and Einbech run all day";
+ mes "long, everyday.";
+ viewpoint 1,238,272,2,0x0000FF;
+ next;
+ goto sL_Wipe;
+ sM_2c:
+ mes "[Einbroch Guide]";
+ mes "The Factory, perhaps the";
+ mes "most important facility in";
+ mes "Einbroch, is located in the";
+ mes "southern part of the city.";
+ viewpoint 1,149,80,3,0x00FF00;
+ next;
+ goto sL_Wipe;
+ sM_2d:
+ mes "[Einbroch Guide]";
+ mes "The Plaza, our biggest";
+ mes "shopping district, can be";
+ mes "found just east from the";
+ mes "center of Einbroch";
+ viewpoint 1,231,189,4,0xFF00FF;
+ next;
+ goto sL_Wipe;
+ sM_2e:
+ mes "[Einbroch Guide]";
+ mes "The Hotel is east of";
+ mes "the Plaza and offers top";
+ mes "caliber accomodations.";
+ mes "There, you can enjoy your";
+ mes "stay in Einbroch in comfort~";
+ viewpoint 1,257,200,5,0x00AAFF;
+ next;
+ goto sL_Wipe;
+ sM_2f:
+ mes "[Einbroch Guide]";
+ mes "The Weapon Shop is";
+ mes "located north from the";
+ mes "Plaza. There you can";
+ mes "purchase weapons for";
+ mes "your personal use.";
+ viewpoint 1,217,212,6,0xDDAA00;
+ next;
+ goto sL_Wipe;
+ sM_2g:
+ mes "[Einbroch Guide]";
+ mes "The Laboratory is an";
+ mes "annex of the factory and";
+ mes "is located in the southwest";
+ mes "sector of Einbech";
+ viewpoint 1,43,45,7,0xDDAA00;
+ next;
+ goto sL_Wipe;
+ sM_2h:
+ mes "[Einbroch Guide]";
+ mes "The Blacksmith Guild is";
+ mes "located in the southeast";
+ mes "part of Einbroch. You can";
+ mes "upgrade your equipment";
+ mes "by using their services.";
+ viewpoint 1,255,105,8,0xDDAA00;
+ next;
+ goto sL_Wipe;
+ sM_2i:
+ mes "[Einbroch Guide]";
+ mes "The Einbroch Tower is";
+ mes "located in the center of";
+ mes "the city. From the top of";
+ mes "the tower, you can view";
+ mes "all of Einbroch.";
+ viewpoint 1,173,195,9,0xDDAA00;
+ next;
+ goto sL_Wipe;
+
+ SM_2j:
+ mes "Please ask me to Remove";
+ mes "Marks from Mini-Map if you";
+ mes "no longer wish to have the";
+ mes "location marks displayed";
+ mes "on your Mini-Map.";
+ goto M_Menu;
+
+ sL_Wipe:
+ if(@COMPASS_CHECK == 1) goto sM_Menu;
+ viewpoint 2,63,208,1,0xFF0000;
+ viewpoint 2,238,272,2,0x0000FF;
+ viewpoint 2,149,80,3,0x00FF00;
+ viewpoint 2,231,189,4,0xFF00FF;
+ viewpoint 2,257,200,5,0x00AAFF;
+ viewpoint 2,217,212,6,0xDDAA00;
+ viewpoint 2,43,45,7,0xDDAA00;
+ viewpoint 2,255,105,8,0xDDAA00;
+ viewpoint 2,173,195,9,0xDDAA00;
+ if (@COMPASS_CHECK == 0) goto sM_Menu;
+
+M_2:
+ viewpoint 2,63,208,1,0xFF0000;
+ viewpoint 2,238,272,2,0x0000FF;
+ viewpoint 2,149,80,3,0x00FF00;
+ viewpoint 2,231,189,4,0xFF00FF;
+ viewpoint 2,257,200,5,0x00AAFF;
+ viewpoint 2,217,212,6,0xDDAA00;
+ viewpoint 2,43,45,7,0xDDAA00;
+ viewpoint 2,255,105,8,0xDDAA00;
+ viewpoint 2,173,195,9,0xDDAA00;
+ mes "[Einbroch Guide]";
+ mes "Okay, the marks from";
+ mes "your Mini-Map have been";
+ mes "removed. If you need any";
+ mes "guidance around Einbroch;";
+ mes "please let me or one of the";
+ mes "other Einbroch Guides know.";
+ cutin "ein_soldier",255;
+
+ goto M_Menu;
+M_3:
+ mes "[Einbroch Guide]";
+ mes "Through the technology of";
+ mes "the Schwaltzvalt Republic,";
+ mes "we've upgraded to a digital";
+ mes "information system that allows";
+ mes "us to mark locations on your";
+ mes "Mini-Map for easier navigation.";
+ next;
+ mes "[Einbroch Guide]";
+ mes "Your Mini-Map is located";
+ mes "in the upper right cornor";
+ mes "of the screen. If you cant";
+ mes "see it, press the Ctrl + Tab";
+ mes "keys or click the 'Map' button";
+ mes "in your Basic Information Window.";
+ next;
+ mes "[Einbroch Guide]";
+ mes "On your Mini-Map,";
+ mes "click on the '+' and '-'";
+ mes "symbols to zoom in and";
+ mes "out of your Mini-Map. We";
+ mes "hope you enjoy your travels";
+ mes "here in Einbroch, adventurer.";
+ goto M_Menu;
+
+M_End:
+ mes "[Einbroch Guide]";
+ mes "We hope that you";
+ mes "enjoy your travels";
+ mes "here in Einbroch.";
+ mes "Oh, and please be";
+ mes "aware of the Smog Alerts";
+ cutin "ein_soldier",255;
+ close;
+}
+
+einbroch.gat,155,43,4 duplicate(Einbroch_Guide) Guide#2 852
+einbroch.gat,162,317,4 duplicate(Einbroch_Guide) Guide#3 852 \ No newline at end of file
diff --git a/npc/guides/guides_gef.txt b/npc/guides/guides_gef.txt
new file mode 100644
index 000000000..3dc2c1446
--- /dev/null
+++ b/npc/guides/guides_gef.txt
@@ -0,0 +1,129 @@
+//===== eAthena Script =======================================
+//= Geffen Guides
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 0.5.2 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Fully working. Added a guide at every exit.
+//= v1.1 Now using duplicate command.
+//= 1.2 Optimized, updated common guide names [Lupus]
+//= 1.2a Small note that the BS guild moved to Einbroch [Poki#3]
+//============================================================
+
+
+// North --------------------------------------------
+geffen.gat,123,202,5 script Guide#1::Gef_Guide 705,{
+ cutin "gef_soldier",2;
+ mes "[Geffen Soldier]";
+ mes "Welcome to Geffen, the City of Magic.";
+ next;
+ mes "[Geffen Soldier]";
+ mes "We are here to help you find your way. Please feel free to speak to us anytime you need help.";
+M_Menu:
+ next;
+ menu "View Buildings",-, "Notice",M_2, "Cancel",M_End;
+
+ mes "[Geffen Soldier]";
+ mes "Do you want me to leave indications on the Mini-Map?";
+ next;
+ menu "No Thanks",-,"Yes Please",sM_1b;
+
+ set @COMPASS_CHECK,0;
+ goto L_Cont;
+
+ sM_1b:
+ set @COMPASS_CHECK,1;
+
+ L_Cont:
+ mes "[Geffen Soldier]";
+ mes "Please choose a building to view.";
+ next;
+ sM_Menu:
+ menu "^FF0000Magic Acadamy^000000",-, "^00A500Blacksmith Workshop^000000",M_1_2, "^4444FFGeffen Tower^000000",M_1_3,
+ "Armory",M_1_4, "Item Shop",M_1_5, "Pub",M_1_6, "Inn",M_1_7, "Wipe all indications from mini-map",M_1_8, "Cancel", M_End;
+
+ mes "[Geffen Soldier]";
+ mes "'The 'Magic Acadamy' is the home of magical theorists, and the place for would be Mages.";
+ viewpoint 1,61,180,1,0xFF5555;
+ goto sL_Wipe;
+ M_1_2:
+ mes "[Geffen Soldier]";
+ mes "The 'Blacksmith Workshop' is SouthEast of Geffen Tower.";
+ mes "Please note that the Blacksmith training has bean moved to Einbroch.";
+ viewpoint 1,182,59,2,0x44FF44;
+ goto sL_Wipe;
+ M_1_3:
+ mes "[Geffen Soldier]";
+ mes "The lower levels of 'Geffen Tower' are spawning grounds for monsters. People go there to train.";
+ mes "The top floor of the Tower is home to the ^0000FF'Wizard's Guild'^000000. Mages can go there to become Wizards.";
+ viewpoint 1,120,120,3,0x5555FF;
+ goto sL_Wipe;
+ M_1_4:
+ mes "[Geffen Soldier]";
+ mes "Head over to the 'Armory' to equip yourself with a variety of weapons and armor.";
+ viewpoint 1,99,140,4,0xFF00FF;
+ goto sL_Wipe;
+ M_1_5:
+ mes "[Geffen Soldier]";
+ mes "The 'Item Shop' is the place to go when you need to stock up on things like potions and fly-wings.";
+ viewpoint 1,44,86,5,0xFF00FF;
+ goto sL_Wipe;
+ M_1_6:
+ mes "[Geffen Soldier]";
+ mes "The 'Pub' is a great place to meet people and have fun.";
+ viewpoint 1,138,138,6,0xF0C40F;
+ goto sL_Wipe;
+ M_1_7:
+ mes "[Geffen Soldier]";
+ mes "The 'Inn' is a good place to rest and replenish your hp and sp.";
+ viewpoint 1,172,174,7,0xFF8000;
+ goto sL_Wipe;
+ M_1_8:
+ set @COMPASS_CHECK, 2;
+
+ sL_Wipe:
+ if(@COMPASS_CHECK != 2) next; // avoids a double 'next' when 'wipe indications' is chosen
+ if(@COMPASS_CHECK == 1) goto sM_Menu;
+ viewpoint 2,61,180,1,0xFF5555;
+ viewpoint 2,182,59,2,0x44FF44;
+ viewpoint 2,120,120,3,0x5555FF;
+ viewpoint 2,99,140,4,0xFF00FF;
+ viewpoint 2,44,86,5,0xFF00FF;
+ viewpoint 2,138,138,6,0xF0C40F;
+ viewpoint 2,172,174,7,0xFF8000;
+ if (@COMPASS_CHECK == 0) goto sM_Menu;
+ mes "[Geffen Soldier]";
+ mes "All indications have been removed";
+ cutin "gef_soldier",255;
+ close;
+
+ M_2:
+ mes "[Geffen Soldier]";
+ mes "We upgraded the Location Guide to the Newest Digital Style. We hope you like this gorgeous new system.";
+ next;
+ mes "[Geffen Soldier]";
+ mes "Don't forget to refer to the Mini-Map on the Upper-Right corner of your screen.";
+ next;
+ mes "[Geffen Soldier]";
+ mes "If you can't see the Mini-Map, just hit ^0000ff'ctrl+tab'^000000 or Click the ^0000ff'map'^000000 button in the Basic Information Window";
+ mes "Remeber to use the ^ff0000+,-^000000 buttons to adjust the map to your liking.";
+ goto M_Menu;
+
+ M_End:
+ mes "[Geffen Soldier]";
+ mes "Have a nice day.";
+ cutin "gef_soldier",255;
+ close;
+}
+
+// South ------------------------------------------
+geffen.gat,118,62,0 duplicate(Gef_Guide) Guide#2 705
+// East -----------------------------------------------------
+geffen.gat,203,116,2 duplicate(Gef_Guide) Guide#3 705
+// West ----------------------------------------------
+geffen.gat,37,123,5 duplicate(Gef_Guide) Guide#4 705
diff --git a/npc/guides/guides_izl.txt b/npc/guides/guides_izl.txt
new file mode 100644
index 000000000..26c526f17
--- /dev/null
+++ b/npc/guides/guides_izl.txt
@@ -0,0 +1,156 @@
+//===== eAthena Script =======================================
+//= Izlude Guides
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Fully working
+//= 1.2 Optimized, updated common guide names [Lupus]
+//= 1.3 Updated the guide according to how it is on iRO, thanks [MasterOfMuppets]
+//= to Muad_Dib
+//============================================================
+
+izlude.gat,121,87,6 script Guide 105,{
+ cutin "prt_soldier",2;
+ mes "[Izlude Guide]";
+ mes "Welcome to Izlude,";
+ mes "Prontera's satellite city.";
+ mes "If you need any guidance";
+ mes "around Izlude, feel free";
+ mes "to ask me at anytime.";
+L_MENU:
+ next;
+ menu "City Guide",L_CITY,"Remove Marks from Mini-Map",L_REMOVE,"Notice",L_NOTICE,"Cancel",L_END;
+L_CITY:
+ mes "[Izlude Guide]";
+ mes "Please select";
+ mes "a location from";
+ mes "the following menu.";
+ mes "Would you like me";
+ mes "to mark locations";
+ mes "on your Mini-Map?";
+ next;
+ menu "Yes.",L_YES,"No.",L_NO;
+L_NO:
+ set @COMPASS_CHECK,0;
+ goto L_CONT;
+L_YES:
+ set @COMPASS_CHECK,1;
+L_CONT:
+L_MENU_2:
+ menu "^FF0000Swordman Association^000000",L_SWORD,"Swordman Hall",L_HALL,"Arena",L_ARENA,"Izlude Marina",L_MARINA,"Weapon Shop",L_WEAPON,"Tool Shop",L_TOOL,"Cancel",-;
+ mes "[Izlude Guide]";
+ mes "Pleas ask me to Remove";
+ mes "Marks from Mini-Map if you";
+ mes "no longer wish to have the";
+ mes "location marks displayed";
+ mes "on your Mini-Map.";
+ goto L_MENU;
+L_SWORD:
+ mes "[Izlude Guide]";
+ mes "The Swordman Association";
+ mes "is located on an island that is";
+ mes "in west Izlude. If you're thinking";
+ mes "of changing jobs to Swordman,";
+ mes "you should check it out.";
+ viewpoint 1,52,140,1,0xFF0000;
+ next;
+ goto L_WIPE;
+L_HALL:
+ mes "[Izlude Guide]";
+ mes "The Swordman Hall";
+ mes "is located on the eastern";
+ mes "island connected to Izlude.";
+ viewpoint 1,214,130,2,0x00FF00;
+ next;
+ goto L_WIPE;
+L_ARENA:
+ mes "[Izlude Guide]";
+ mes "Izlude's famous";
+ mes "Arena is located at the";
+ mes "northern end of Izlude.";
+ viewpoint 1,128,225,3,0x00FF00;
+ next;
+ goto L_WIPE;
+L_MARINA:
+ mes "[Izlude Guide]";
+ mes "You can find the";
+ mes "Marina in the northeast";
+ mes "part of Izlude. There, you can";
+ mes "ride a ship wich will take you";
+ mes "to Alberta or Byalan Island.";
+ viewpoint 1,200,180,4,0xFF0000;
+ next;
+ goto L_WIPE;
+L_WEAPON:
+ mes "[Izlude Guide]";
+ mes "You can easily";
+ mes "find the Weapon Shop";
+ mes "in northwest Izlude.";
+ viewpoint 1,111,149,5,0xFF00FF;
+ next;
+ goto L_WIPE;
+L_TOOL:
+ mes "[Izlude Guide]";
+ mes "The Tool Shop shouldn't";
+ mes "be too hard to find in the";
+ mes "northeast part of Izlude.";
+ viewpoint 1,148,148,6,0xFF00FF;
+ next;
+ goto L_WIPE;
+L_WIPE:
+ if(@COMPASS_CHECK == 1)goto L_MENU_2;
+ viewpoint 2,52,140,1,0xFF0000;
+ viewpoint 2,214,130,2,0x00FF00;
+ viewpoint 2,128,225,3,0x00FF00;
+ viewpoint 2,200,180,4,0xFF0000;
+ viewpoint 2,111,149,5,0xFF00FF;
+ viewpoint 2,148,148,6,0xFF00FF;
+ goto L_MENU_2;
+L_REMOVE:
+ viewpoint 2,52,140,1,0xFF0000;
+ viewpoint 2,214,130,2,0x00FF00;
+ viewpoint 2,128,225,3,0x00FF00;
+ viewpoint 2,200,180,4,0xFF0000;
+ viewpoint 2,111,149,5,0xFF00FF;
+ viewpoint 2,148,148,6,0xFF00FF;
+ goto L_MENU;
+L_NOTICE:
+ mes "[Izlude Guide]";
+ mes "Advances in sorcery and";
+ mes "technology have allowed";
+ mes "us to update our information";
+ mes "system, enabling up to mark";
+ mes "locations on your Mini-Map";
+ mes "for easier navigation.";
+ next;
+ mes "[Izlude Guide]";
+ mes "Your Mini-Map is located";
+ mes "in the upper right corner";
+ mes "of the screen. If you can't";
+ mes "see it, press the Ctrl + Tab";
+ mes "keys or click the 'Map' button";
+ mes "in your Basic Information Window.";
+ next;
+ mes "[Izlude Guide]";
+ mes "On your Mini-Map,";
+ mes "click on the '+' and '-'";
+ mes "symbols to zoom in and";
+ mes "out of your Mini-Map. We";
+ mes "hope you enjoy your travels";
+ mes "here in the city of Izlude.";
+ goto L_MENU;
+L_END:
+ mes "[Izlude Guide]";
+ mes "Okay then, feel";
+ mes "free to come to me";
+ mes "if you ever geel lost";
+ mes "around Izlude, alright?";
+ cutin "prt_soldier",255;
+ close;
+}
diff --git a/npc/guides/guides_mor.txt b/npc/guides/guides_mor.txt
new file mode 100644
index 000000000..5033a6a24
--- /dev/null
+++ b/npc/guides/guides_mor.txt
@@ -0,0 +1,116 @@
+//===== eAthena Script =======================================
+//= Morroc Guides
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 0.5.2 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Fully working. Added a guide at every exit.
+//= v1.1 Now using duplicate command.
+//= 1.2 Optimized, updated common guide names [Lupus]
+//============================================================
+
+
+// North ------------------------------------------------
+morocc.gat,153,286,6 script Guide#1::Mor_Guide 707,{
+ cutin "moc_soldier",2;
+ mes "[Morroc Soldier]";
+ mes "Welcome to Morroc, the Desert Frontier!";
+ next;
+ mes "[Morroc Soldier]";
+ mes "We are here to help you find your way. Please feel free to speak to us anytime you need help.";
+M_Menu:
+ next;
+ menu "View Buildings",-, "Notice",M_2, "Cancel",M_End;
+
+ mes "[Morroc Soldier]";
+ mes "Do you want me to leave indications on the Mini-Map?";
+ next;
+ menu "No Thanks",-,"Yes Please",sM_1b;
+
+ set @COMPASS_CHECK,0;
+ goto L_Cont;
+
+ sM_1b:
+ set @COMPASS_CHECK,1;
+
+ L_Cont:
+ mes "[Morroc Soldier]";
+ mes "Please choose a building to view.";
+ next;
+ sM_Menu:
+ menu "^FF0000Thief Guild^000000",-, "Armory",M_1_2, "Inn",M_1_3, "Pub",M_1_4, "Mercenary Guild",M_1_5,
+ "Wipe all indications from mini-map.",M_1_6, "Cancel",M_End;
+
+ mes "[Morocc Soldier]";
+ mes "The 'Thief Guild'.... I hear that it's the place to go if you want to be a Thief.....";
+ viewpoint 1,24,297,1,0xFF0000;
+ goto sL_Wipe;
+ M_1_2:
+ mes "[Morocc Soldier]";
+ mes "Head over to the 'Armory' to equip yourself with a variety of weapons and armor.";
+ viewpoint 1,253,56,2,0xFF00FF;
+ goto sL_Wipe;
+ M_1_3:
+ mes "[Morocc Soldier]";
+ mes "In Morroc there are 2 'Inn's' located in the South and NorthEastern parts of town.";
+ viewpoint 1,274,269,3,0xFF00FF;
+ viewpoint 1,197,66,4,0xFF00FF;
+ goto sL_Wipe;
+ M_1_4:
+ mes "[Morocc Soldier]";
+ mes "The 'Pub' is located to the NorthWest of town.";
+ viewpoint 1,52,259,5,0xFF00FF;
+ goto sL_Wipe;
+ M_1_5:
+ mes "[Morocc Soldier]";
+ mes "The 'Mercenary Guild' is in the Eastern corner of town.";
+ viewpoint 1,284,171,6,0x00FF00;
+ goto sL_Wipe;
+ M_1_6:
+ set @COMPASS_CHECK, 2;
+
+ sL_Wipe:
+ if(@COMPASS_CHECK != 2) next; // avoids a double 'next' when 'wipe indications' is chosen
+ if(@COMPASS_CHECK == 1) goto sM_Menu;
+ viewpoint 2,24,297,1,0xFF0000;
+ viewpoint 2,253,56,2,0xFF00FF;
+ viewpoint 2,274,269,3,0xFF00FF;
+ viewpoint 2,197,66,4,0xFF00FF;
+ viewpoint 2,52,259,5,0xFF00FF;
+ viewpoint 2,284,171,6,0x00FF00;
+ if (@COMPASS_CHECK == 0) goto sM_Menu;
+ mes "[Morroc Soldier]";
+ mes "All indications have been removed";
+ cutin "moc_soldier",255;
+ close;
+
+ M_2:
+ mes "[Morroc Soldier]";
+ mes "We upgraded the Location Guide to the Newest Digital Style. We hope you like this gorgeous new system.";
+ next;
+ mes "[Morroc Soldier]";
+ mes "Don't forget to refer to the Mini-Map on the Upper-Right corner of your screen.";
+ next;
+ mes "[Morroc Soldier]";
+ mes "If you can't see the Mini-Map, just hit ^0000ff'ctrl+tab'^000000 or Click the ^0000ff'map'^000000 button in the Basic Information Window";
+ mes "Remeber to use the ^ff0000+,-^000000 buttons to adjust the map to your liking.";
+ goto M_Menu;
+
+ M_End:
+ mes "[Morocc Soldier]";
+ mes "Good by for now.";
+ cutin "moc_soldier",255;
+ close;
+}
+
+// South --------------------------------------------
+morocc.gat,162,97,6 duplicate(Mor_Guide) Guide#2 707
+// West --------------------------------------------
+morocc.gat,28,161,6 duplicate(Mor_Guide) Guide#3 707
+// East --------------------------------------------
+morocc.gat,294,203,9 duplicate(Mor_Guide) Guide#4 707
diff --git a/npc/guides/guides_nif.txt b/npc/guides/guides_nif.txt
new file mode 100644
index 000000000..166a5807c
--- /dev/null
+++ b/npc/guides/guides_nif.txt
@@ -0,0 +1,83 @@
+//===== eAthena Script =======================================
+//= Niflheim Guide
+//===== By: ==================================================
+//= eAthena Team
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= 1.1 Fixed location command format [Lupus]
+//= 1.2 Optimized, updated common guide names [Lupus]
+//============================================================
+
+
+//=====================================================================================
+niflheim.gat,186,190,5 script Wandering Man 798,{
+ mes "[Wandering Man]";
+ mes "Why are you in this scary city? I guess you lost your way too, heh.";
+ mes "I was attracted here by the tall trees, but still can't find my way out after so long...";
+ next;
+ mes "[Wandering Man]";
+ mes "But instead i have become familiar with the village surroundings,";
+ mes "perhaps it may be useful for escaping sometimes.";
+ next;
+ menu "Enquire locations",-,"Wipe indications",L_MENU_2,"Cancel",L_end;
+
+ mes "[Wandering Man]";
+ mes "Where do you want to know about?";
+ next;
+ menu "Witch's Hut",-,"Equipment Shop",M_item,"Weapon Shop",M_weapon,"Inn",M_hotel,"Cancel",L_cancel;
+
+ viewpoint 1,255,194,1,0xFF3366;
+ mes "[Wandering Man]";
+ mes "In Niflheim lives a terrible witch,";
+ mes "you'll see her house right ^FF3366there^000000,";
+ mes "it was so scary i fled right after going in!";
+ close;
+
+ M_item:
+ viewpoint 1,219,198,2,0xCC6600;
+ mes "[Wandering Man]";
+ mes "The equipment shop should be over ^CC6600here^000000";
+ mes "they sell several items not available to the outside world.";
+ close;
+
+ M_weapon:
+ viewpoint 1,219,170,3,0x66FF33;
+ mes "[Wandering Man]";
+ mes "The weapon shop should be over ^66FF33here^000000";
+ mes "they sell several items not available to the outside world.";
+ close;
+
+ M_hotel:
+ viewpoint 1,189,210,4,0x3366FF;
+ mes "[Wandering Man]";
+ mes "^3366FFThat^000000 would be the inn,";
+ mes "occasionally the spirits throw a party in there.";
+ close;
+
+ L_cancel:
+ mes "[Wandering Man]";
+ mes "To remove all indications of the minimap";
+ mes "come back and talk to me again.";
+ close;
+
+ L_MENU_2:
+ viewpoint 2,255,194,1,0xFF3366;
+ viewpoint 2,219,198,2,0xCC6600;
+ viewpoint 2,219,170,3,0x66FF33;
+ viewpoint 2,189,210,4,0x3366FF;
+ mes "[Wandering Man]";
+ mes "I removed all the indications,";
+ mes "If you still need any directions, come back and talk to me again.";
+ close;
+
+ L_end:
+ mes "[Wandering Man]";
+ mes "Wandering around by yourself is dangerous...";
+ mes "please take care.";
+ close;
+}
diff --git a/npc/guides/guides_pay.txt b/npc/guides/guides_pay.txt
new file mode 100644
index 000000000..7a2141734
--- /dev/null
+++ b/npc/guides/guides_pay.txt
@@ -0,0 +1,300 @@
+//===== eAthena Script =======================================
+//= Payon Guides
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.3a
+//===== Compatible With: =====================================
+//= eAthena 0.5.2 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Fully working
+//= v1.1 Now using duplicate command.New Payon Locations [Darkchild]
+//= 1.2 Optimized, updated common guide names [Lupus]
+//= 1.3 Updated the guide according to how it is on iRO, thanks [MasterOfMuppets]
+//= to Muad_Dib
+//= 1.3a Fixed some problems with duplicated text, thanks to muad_dib [MasterOfMuppets]
+//============================================================
+
+
+payon.gat,162,67,4 script Guide 708,{
+ cutin "pay_soldier",2;
+ mes "[Payon Guide]";
+ mes "Welcome to the";
+ mes "mountain city of Payon.";
+ mes "if you're unfammiliar with this";
+ mes "area, I can help you find what";
+ mes "you're looking for around here.";
+L_MENU:
+ next;
+ menu "City Guide",L_CITY,"Remove Marks from Mini-Map",L_REMOVE,"Notice",L_NOTICE,"Cancel",L_END;
+L_CITY:
+ mes "[Payon Guide]";
+ mes "Please select";
+ mes "a location from";
+ mes "the following menu.";
+ mes "Would you like me";
+ mes "to mark locations";
+ mes "on your Mini-Map?";
+ next;
+ menu "Yes.",L_YES,"No.",L_NO;
+L_NO:
+ set @COMPASS_CHECK,0;
+ goto L_CONT;
+L_YES:
+ set @COMPASS_CHECK,1;
+L_CONT:
+L_MENU_2:
+ menu "^FF0000Archer Guild^000000",L_ARCHER,"Weapon Shop",L_WEAPON,"Tool Shop",L_TOOL,"Pub",L_PUB,"Central Palace",L_PALACE,"The Empress",L_EMPRESS,"Palace Annex",L_ANNEX,"Royal Kitchen",L_KITCHEN,"Forge",L_FORGE,"Cancel",-;
+ mes "[Payon Guide]";
+ mes "Pleas ask me to Remove";
+ mes "Marks from Mini-Map if you";
+ mes "no longer wish to have the";
+ mes "location marks displayed";
+ mes "on your Mini-Map.";
+ goto L_MENU;
+L_ARCHER:
+ mes "[Payon Guide]";
+ mes "The Archer Guild handles";
+ mes "Job Changes to the Archer";
+ mes "Class. You'll need to enter";
+ mes "the Archer Village wich is";
+ mes "to the northeast of Payon.";
+ viewpoint 1,228,326,1,0xFF0000;
+ next;
+ goto L_WIPE;
+L_WEAPON:
+ mes "[Payon Guide]";
+ mes "The Weapon Shop";
+ mes "can be found in the";
+ mes "northwest corner of";
+ mes "the city of Payon.";
+ viewpoint 1,139,158,2,0xFF00FF;
+ next;
+ goto L_WIPE;
+L_TOOL:
+ mes "[Payon Guide]";
+ mes "The Tool Shop";
+ mes "is located near";
+ mes "the northwest";
+ mes "corner of Payon.";
+ viewpoint 1,144,85,3,0xFF00FF;
+ next;
+ goto L_WIPE;
+L_PUB:
+ mes "[Payon Guide]";
+ mes "The Pub can be";
+ mes "found in the northeast";
+ mes "part of Payon. It's the";
+ mes "best place to relax after";
+ mes "a long day of hunting.";
+ viewpoint 1,220,117,4,0xFF00FF;
+ next;
+ goto L_WIPE;
+L_PALACE:
+ mes "[Payon Guide]";
+ mes "The Central Palace";
+ mes "is located to the north";
+ mes "within the city of Payon.";
+ viewpoint 1,156,245,5,0x00FF00;
+ next;
+ goto L_WIPE;
+L_EMPRESS:
+ mes "[Payon Guide]";
+ mes "The Empress";
+ mes "can be found to the";
+ mes "northwest in Payon.";
+ viewpoint 1,107,327,6,0x00FF00;
+ next;
+ goto L_WIPE;
+L_ANNEX:
+ mes "[Payon Guide]";
+ mes "The Palace Annex";
+ mes "can be found in the";
+ mes "western part of Payon.";
+ viewpoint 1,127,204,7,0x00FF00;
+ next;
+ goto L_WIPE;
+L_KITCHEN:
+ mes "[Payon Guide]";
+ mes "The Royal Kitchen";
+ mes "is located near the";
+ mes "northern end of Payon.";
+ viewpoint 1,155,327,8,0x00FF00;
+ next;
+ goto L_WIPE;
+L_FORGE:
+ mes "[Payon Guide]";
+ mes "The Forge is";
+ mes "situaded near";
+ mes "the center of Payon.";
+ viewpoint 1,142,172,9,0xFFFF00;
+ next;
+ goto L_WIPE;
+L_WIPE:
+ if(@COMPASS_CHECK == 1)goto L_MENU_2;
+ viewpoint 2,228,326,1,0xFF0000;
+ viewpoint 2,139,158,2,0xFF00FF;
+ viewpoint 2,144,85,3,0xFF00FF;
+ viewpoint 2,220,117,4,0xFF00FF;
+ viewpoint 2,156,245,5,0x00FF00;
+ viewpoint 2,107,327,6,0x00FF00;
+ viewpoint 2,127,204,7,0x00FF00;
+ viewpoint 2,155,327,8,0x00FF00;
+ viewpoint 2,142,172,9,0xFFFF00;
+ goto L_MENU_2;
+L_REMOVE:
+ viewpoint 2,228,326,1,0xFF0000;
+ viewpoint 2,139,158,2,0xFF00FF;
+ viewpoint 2,144,85,3,0xFF00FF;
+ viewpoint 2,220,117,4,0xFF00FF;
+ viewpoint 2,156,245,5,0x00FF00;
+ viewpoint 2,107,327,6,0x00FF00;
+ viewpoint 2,127,204,7,0x00FF00;
+ viewpoint 2,155,327,8,0x00FF00;
+ viewpoint 2,142,172,9,0xFFFF00;
+ goto L_MENU;
+L_NOTICE:
+ mes "[Payon Guide]";
+ mes "Advances in sorcery and";
+ mes "technology have allowed";
+ mes "us to update our information";
+ mes "system, enabling up to mark";
+ mes "locations on your Mini-Map";
+ mes "for easier navigation.";
+ next;
+ mes "[Payon Guide]";
+ mes "Your Mini-Map is located";
+ mes "in the upper right corner";
+ mes "of the screen. If you can't";
+ mes "see it, press the Ctrl + Tab";
+ mes "keys or click the 'Map' button";
+ mes "in your Basic Information Window.";
+ next;
+ mes "[Payon Guide]";
+ mes "On your Mini-Map,";
+ mes "click on the '+' and '-'";
+ mes "symbols to zoom in and";
+ mes "out of your Mini-Map. We";
+ mes "hope you enjoy your travels";
+ mes "here in the city of Payon.";
+ goto L_MENU;
+L_END:
+ mes "[Payon Guide]";
+ mes "Be safe in";
+ mes "your travels,";
+ mes "brave adventurer.";
+ cutin "pay_soldier",255;
+ close;
+}
+
+pay_arche.gat,85,30,2 script Guide 708,{
+ cutin "pay_soldier",2;
+ mes "[Payon Guide]";
+ mes "Welcome to the";
+ mes "mountain city of Payon.";
+ mes "if you're unfammiliar with this";
+ mes "area, I can help you find what";
+ mes "you're looking for around here.";
+L_MENU:
+ next;
+ menu "City Guide",L_CITY,"Remove Marks from Mini-Map",L_REMOVE,"Notice",L_NOTICE,"Cancel",L_END;
+L_CITY:
+ mes "[Payon Guide]";
+ mes "Please select";
+ mes "a location from";
+ mes "the following menu.";
+ mes "Would you like me";
+ mes "to mark locations";
+ mes "on your Mini-Map?";
+ next;
+ menu "Yes.",L_YES,"No.",L_NO;
+L_NO:
+ set @COMPASS_CHECK,0;
+ goto L_CONT;
+L_YES:
+ set @COMPASS_CHECK,1;
+L_CONT:
+L_MENU_2:
+ menu "^FF0000Archer Guild^000000",L_ARCHER,"Tool Shop",L_TOOL,"Payon Dungeon",L_DUNGEON,"Cancel",-;
+ mes "[Payon Guide]";
+ mes "Pleas ask me to Remove";
+ mes "Marks from Mini-Map if you";
+ mes "no longer wish to have the";
+ mes "location marks displayed";
+ mes "on your Mini-Map.";
+ goto L_MENU;
+L_ARCHER:
+ mes "[Payon Guide]";
+ mes "The Archer Guild,";
+ mes "found northeast in";
+ mes "the Archer Village,";
+ mes "handles Job Changes";
+ mes "to the Archer Class.";
+ viewpoint 1,144,164,1,0xFF0000;
+ next;
+ goto L_WIPE;
+L_TOOL:
+ mes "[Payon Guide]";
+ mes "The Tool Shop";
+ mes "is located near";
+ mes "the northwest";
+ mes "corner of Payon.";
+ viewpoint 1,71,156,2,0xFF00FF;
+ next;
+ goto L_WIPE;
+L_DUNGEON:
+ mes "[Payon Guide]";
+ mes "The entrance to";
+ mes "the Payon Dungeon";
+ mes "is located at the west";
+ mes "end of the village.";
+ viewpoint 1,34,132,3,0xFFFFFF;
+ next;
+ goto L_WIPE;
+L_WIPE:
+ if(@COMPASS_CHECK == 1)goto L_MENU_2;
+ viewpoint 2,144,164,1,0xFF0000;
+ viewpoint 2,71,156,2,0xFF00FF;
+ viewpoint 2,34,132,3,0xFFFFFF;
+ goto L_MENU_2;
+L_REMOVE:
+ viewpoint 2,144,164,1,0xFF0000;
+ viewpoint 2,71,156,2,0xFF00FF;
+ viewpoint 2,34,132,3,0xFFFFFF;
+ goto L_MENU;
+L_NOTICE:
+ mes "[Payon Guide]";
+ mes "Advances in sorcery and";
+ mes "technology have allowed";
+ mes "us to update our information";
+ mes "system, enabling up to mark";
+ mes "locations on your Mini-Map";
+ mes "for easier navigation.";
+ next;
+ mes "[Payon Guide]";
+ mes "Your Mini-Map is located";
+ mes "in the upper right corner";
+ mes "of the screen. If you can't";
+ mes "see it, press the Ctrl + Tab";
+ mes "keys or click the 'Map' button";
+ mes "in your Basic Information Window.";
+ next;
+ mes "[Payon Guide]";
+ mes "On your Mini-Map,";
+ mes "click on the '+' and '-'";
+ mes "symbols to zoom in and";
+ mes "out of your Mini-Map. We";
+ mes "hope you enjoy your travels";
+ mes "here in the city of Payon.";
+ goto L_MENU;
+L_END:
+ mes "[Payon Guide]";
+ mes "Be safe in";
+ mes "your travels,";
+ mes "brave adventurer.";
+ cutin "pay_soldier",255;
+ close;
+}
+
diff --git a/npc/guides/guides_pron.txt b/npc/guides/guides_pron.txt
new file mode 100644
index 000000000..51df55259
--- /dev/null
+++ b/npc/guides/guides_pron.txt
@@ -0,0 +1,272 @@
+//===== eAthena Script =======================================
+//= Prontera Guides
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= eAthena 0.5.2 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Fully working
+//= v1.1 Now using duplicate command.
+//= 1.2 Optimized, updated common guide names [Lupus]
+//= 1.3 Updated the guide according to how it is on iRO, thanks [MasterOfMuppets]
+//= to Muad_Dib
+//============================================================
+
+
+prontera.gat,154,187,4 script Guide::Prt_Guide 105,{
+ cutin "prt_soldier",2;
+ mes "[Prontera Guide]";
+ mes "Welcome to Prontera,";
+ mes "the beautiful capital of the";
+ mes "Run-Midgard Kingdom. If";
+ mes "you have questions or need";
+ mes "help find something in the";
+ mes "city, don't hesitate to ask.";
+L_MENU:
+ next;
+ menu "City Guide",L_CITY,"Remove Marks from Mini-Map",L_REMOVE,"Notice",L_NOTICE,"Cancel",L_END;
+L_CITY:
+ mes "[Prontera Guide]";
+ mes "Please select";
+ mes "a location from";
+ mes "the following menu.";
+ mes "Would you like me";
+ mes "to mark locations";
+ mes "on your Mini-Map?";
+ next;
+ menu "Yes.",L_YES,"No.",L_NO;
+L_NO:
+ set @COMPASS_CHECK,0;
+ goto L_CONT;
+L_YES:
+ set @COMPASS_CHECK,1;
+L_CONT:
+L_MENU_2:
+ menu "Swordman Association",L_SWORD,"^0000FFSanctuary^000000",L_SANCTUARY,"Prontera Chivalry",L_CHIVALRY,"Weapon Shop",L_WEAPON,"Tool Shop",L_TOOL,"Inn",L_INN,"Trading Post",L_TRADING,"Pub",L_PUB,"Library",L_LIBRARY,"Job Agency",L_JOB,"Prontera Castle",L_CASTLE,"City Hall",L_HALL,"Cancel",-;
+ mes "[Prontera Guide]";
+ mes "Pleas ask me to Remove";
+ mes "Marks from Mini-Map if you";
+ mes "no longer wish to have the";
+ mes "location marks displayed";
+ mes "on your Mini-Map.";
+ goto L_MENU;
+L_SWORD:
+ mes "[Prontera Guide]";
+ mes "The Swordman Association,";
+ mes "which handles Job Changes";
+ mes "to the Swordman class, has";
+ mes "moved to Izlude. This facility";
+ mes "is just an empty building now.";
+ viewpoint 1,237,41,1,0x00FF00;
+ next;
+ goto L_WIPE;
+L_SANCTUARY:
+ mes "[Prontera Guide]";
+ mes "The Prontera Sanctuary";
+ mes "handles Job Changes to";
+ mes "the Acolyte class, and can";
+ mes "be found in the northeast";
+ mes "corner of Prontera.";
+ viewpoint 1,236,316,2,0xFF0000;
+ next;
+ goto L_WIPE;
+L_CHIVALRY:
+ mes "[Prontera Guide]";
+ mes "The Prontera Chivalry,";
+ mes "which is responsible for";
+ mes "the safety of our capital, is";
+ mes "in Prontera's northwest corner.";
+ viewpoint 1,46,345,3,0x00FF00;
+ next;
+ goto L_WIPE;
+L_WEAPON:
+ mes "[Prontera Guide]";
+ mes "The Weapon Shop";
+ mes "is located northeast";
+ mes "of the central fountain.";
+ viewpoint 1,175,220,4,0xFF00FF;
+ next;
+ goto L_WIPE;
+L_TOOL:
+ mes "[Prontera Guide]";
+ mes "The Tool Shop";
+ mes "is located northwest";
+ mes "of the central fountain.";
+ viewpoint 1,134,221,5,0xFF00FF;
+ next;
+ goto L_WIPE;
+L_INN:
+ mes "[Prontera Guide]";
+ mes "The Inns in Prontera are";
+ mes "located both to the east";
+ mes "and west of Prontera's";
+ mes "central fountain area.";
+ viewpoint 1,204,214,6,0xFF00FF;
+ viewpoint 1,107,192,7,0xFF00FF;
+ next;
+ goto L_WIPE;
+L_TRADING:
+ mes "[Prontera Guide]";
+ mes "The Trading Post";
+ mes "can be found southeast";
+ mes "from the central fountain.";
+ viewpoint 1,179,184,8,0x00FF00;
+ next;
+ goto L_WIPE;
+L_PUB:
+ mes "[Prontera Guide]";
+ mes "The Pub is located";
+ mes "southeast of the fountain,";
+ mes "behind the Trading Post.";
+ viewpoint 1,208,154,9,0x00FF00;
+ next;
+ goto L_WIPE;
+L_LIBRARY:
+ mes "[Prontera Guide]";
+ mes "If you head north from";
+ mes "the central fountain, you'll";
+ mes "find an empty area in which";
+ mes "both branches of the Prontera";
+ mes "Library can be accessed if you";
+ mes "head towards the east or west.";
+ viewpoint 1,120,267,10,0x00FF00;
+ viewpoint 1,192,267,11,0x00FF00;
+ next;
+ goto L_WIPE;
+L_JOB:
+ mes "[Prontera Guide]";
+ mes "The Job Agency is";
+ mes "just southwest of the";
+ mes "central fountain area.";
+ viewpoint 1,133,183,12,0x00FF00;
+ next;
+ goto L_WIPE;
+L_CASTLE:
+ mes "[Prontera Guide]";
+ mes "The Prontera Castle is";
+ mes "located at the northern";
+ mes "sector of this city. You can";
+ mes "go to fields that are north";
+ mes "of Prontera by going through";
+ mes "the castle's rear exit.";
+ viewpoint 1,156,360,13,0x00FF00;
+ next;
+ goto L_WIPE;
+L_HALL:
+ mes "[Prontera Guide]";
+ mes "The City Hall";
+ mes "is located in the";
+ mes "southwest corner";
+ mes "in our city of Prontera.";
+ viewpoint 1,75,91,14,0x00FF00;
+ next;
+ goto L_WIPE;
+L_WIPE:
+ if(@COMPASS_CHECK == 1)goto L_MENU_2;
+ viewpoint 2,237,41,1,0x00FF00;
+ viewpoint 2,236,316,2,0xFF0000;
+ viewpoint 2,46,345,3,0x00FF00;
+ viewpoint 2,175,220,4,0xFF00FF;
+ viewpoint 2,8,134,5,0xFF00FF;
+ viewpoint 2,204,214,6,0xFF00FF;
+ viewpoint 2,107,192,7,0xFF00FF;
+ viewpoint 2,179,184,8,0x00FF00;
+ viewpoint 2,208,154,9,0x00FF00;
+ viewpoint 2,120,267,10,0x00FF00;
+ viewpoint 2,192,267,11,0x00FF00;
+ viewpoint 2,133,183,12,0x00FF00;
+ viewpoint 2,156,360,13,0x00FF00;
+ viewpoint 2,75,91,14,0x00FF00;
+ goto L_MENU_2;
+L_REMOVE:
+ viewpoint 2,237,41,1,0x00FF00;
+ viewpoint 2,236,316,2,0xFF0000;
+ viewpoint 2,46,345,3,0x00FF00;
+ viewpoint 2,175,220,4,0xFF00FF;
+ viewpoint 2,8,134,5,0xFF00FF;
+ viewpoint 2,204,214,6,0xFF00FF;
+ viewpoint 2,107,192,7,0xFF00FF;
+ viewpoint 2,179,184,8,0x00FF00;
+ viewpoint 2,208,154,9,0x00FF00;
+ viewpoint 2,120,267,10,0x00FF00;
+ viewpoint 2,192,267,11,0x00FF00;
+ viewpoint 2,133,183,12,0x00FF00;
+ viewpoint 2,156,360,13,0x00FF00;
+ viewpoint 2,75,91,14,0x00FF00;
+ goto L_MENU;
+L_NOTICE:
+ mes "[Prontera Guide]";
+ mes "Advances in sorcery and";
+ mes "technology have allowed";
+ mes "us to update our information";
+ mes "system, enabling up to mark";
+ mes "locations on your Mini-Map";
+ mes "for easier navigation.";
+ next;
+ mes "[Prontera Guide]";
+ mes "Your Mini-Map is located";
+ mes "in the upper right corner";
+ mes "of the screen. If you can't";
+ mes "see it, press the Ctrl + Tab";
+ mes "keys or click the 'Map' button";
+ mes "in your Basic Information Window.";
+ next;
+ mes "[Prontera Guide]";
+ mes "On your Mini-Map,";
+ mes "click on the '+' and '-'";
+ mes "symbols to zoom in and";
+ mes "out of your Mini-Map. We";
+ mes "hope you enjoy your travels";
+ mes "here in the city of Prontera.";
+ goto L_MENU;
+L_END:
+ mes "[Prontera Guide]";
+ mes "Well, adventurer...";
+ mes "I hope your journeys";
+ mes "through Rune-Midgard";
+ mes "are both fun and save.";
+ cutin "prt_soldier",255;
+ close;
+}
+
+// East ----------------------------------------------------
+prontera.gat,282,208,2 duplicate(Prt_Guide) Guide#2 105
+//West --------------------------------------------------
+prontera.gat,29,200,6 duplicate(Prt_Guide) Guide#3 105
+// South -----------------------------------------------------
+prontera.gat,160,29,0 duplicate(Prt_Guide) Guide#4 105
+// North -----------------------------------------------
+prontera.gat,151,330,4 duplicate(Prt_Guide) Guide#5 105
+
+
+// Guard -----------------------------------------------------
+prontera.gat,160,330,4 script Guard#1::Prt_Guard 105,{
+ mes "[Guard]";
+ mes "Welcome to Prontera.";
+ close;
+}
+
+prontera.gat,229,104,5 duplicate(Prt_Guard) Guard#2 105
+prontera.gat,223,98,8 duplicate(Prt_Guard) Guard#3 105
+prontera.gat,52,344,5 duplicate(Prt_Guard) Guard#4 105
+prontera.gat,47,339,5 duplicate(Prt_Guard) Guard#5 105
+
+
+//---------------------------------------------------------------------------------------- Prontera Maze ----------------------------------------------------------------------------------\\
+prt_maze02.gat,100,69,4 script Guard 105,{
+ mes "[Guard]";
+ mes "Hey, I don't get your point but I say you should go home and rest rather than go inside the forest. Don't you know the 'Demon' lurks there?";
+ mes "Naturally, Nobody came back on the hoof so I am not sure whether it really exists or not... well, Do as you want, dude. I'm not your mother.";
+ close;
+}
+prt_maze02.gat,110,69,4 script Guard 105,{
+ mes "[Guard]";
+ mes "Phew...That geek who went inside last time never returned either.";
+ mes "I tried to stop him so many times but he never took me seriously. He told me he needed herbs.";
+ mes "If I were him, I would never give up my life for stupid herbs.";
+ close;
+}
diff --git a/npc/guides/guides_umb.txt b/npc/guides/guides_umb.txt
new file mode 100644
index 000000000..7d35ec46b
--- /dev/null
+++ b/npc/guides/guides_umb.txt
@@ -0,0 +1,98 @@
+//===== eAthena Script =======================================
+//= Umbala Guides
+//===== By: ==================================================
+//= Dizzy, Translated by Celest
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= 1.1 Fixed location command format [Lupus]
+//= 1.2 Optimized, updated common guide names [Lupus]
+//============================================================
+
+
+// Umbala tour guide
+//===========================================================================
+umbala.gat,128,94,3 script Ricard 702,{
+ mes "[Ricard]";
+ mes "This sure is an odd place,";
+ mes "perhaps due to the fact that it hasn't been developed,";
+ mes "the roads here can be very perilous.";
+ next;
+ mes "[Ricard]";
+ mes "Good thing i've already been here ";
+ mes "for quite some time, so i know the details of the village quite well,";
+ mes "You may ask me for directions if you want.";
+ next;
+ menu "View buildings",-,"Clear indications",L_MENU_2,"Cancel",L_end1;
+
+ mes "[Ricard]";
+ mes "Where would you want to know about?";
+ next;
+ menu "Village Chieftain's house",-,"Village Shaman's house",L_room2,"Weapon shop",L_room3,"Equipment shop",L_room4,"Bungee Jumping Spot",L_room5,"Cancel",L_end2;
+
+ mes "[Ricard]";
+ mes "The chieftain lives ^FF0000here^000000,";
+ mes "only he understands the languages of outsiders,";
+ mes "perhaps you should see him first.";
+ viewpoint 1,68,251,1,0xFF0000;
+ close;
+
+ L_room2:
+ mes "[Ricard]";
+ mes "The shaman is known to possess mysterious powers,";
+ mes "his house would be right ^996600here^000000,";
+ mes "it is said that he can manipulate the elements of the Earth easily!";
+ viewpoint 1,218,187,2,0x996600;
+ close;
+
+ L_room3:
+ mes "[Ricard]";
+ mes "The weapon shop is ^009933over there^000000,";
+ mes "because of threats from the outside world,";
+ mes "they have been stocking up on";
+ mes "all kinds of weapons.";
+ viewpoint 1,125,155,3,0x009933;
+ close;
+
+ L_room4:
+ mes "[Ricard]";
+ mes "^3333FFThat^000000 would be the equipment shop,";
+ mes "they sell all types of useful equipment";
+ mes "you should have a look there before continueing your travels.";
+ viewpoint 1,136,127,4,0x3333FF;
+ close;
+
+ L_room5:
+ mes "[Ricard]";
+ mes "In Umbala there is a 'Bungee Jumping Spot' not seen anywhere else in the world";
+ mes "as you can see ^66CC33over here^000000,";
+ mes "you can try it out if you're feeling brave enough.";
+ viewpoint 1,138,198,5,0x66CC33;
+ close;
+
+ L_end2:
+ mes "[Ricard]";
+ mes "To remove all indications of the minimap";
+ mes "come back and talk to me again.";
+ close;
+
+L_MENU_2:
+ viewpoint 2,68,251,1,0xFF0000;
+ viewpoint 2,218,187,2,0x996600;
+ viewpoint 2,125,155,3,0x009933;
+ viewpoint 2,136,127,4,0x3333FF;
+ viewpoint 2,138,198,5,0x66CC33;
+ mes "[Ricard]";
+ mes "I removed all the indications,";
+ mes "If you still need any directions, come back and talk to me again.";
+ close;
+
+L_end1:
+ mes "[Ricard]";
+ mes "Exploring around to know the paths better is fun, but do be careful.";
+ close;
+}
diff --git a/npc/guides/guides_yun.txt b/npc/guides/guides_yun.txt
new file mode 100644
index 000000000..a207f92fe
--- /dev/null
+++ b/npc/guides/guides_yun.txt
@@ -0,0 +1,216 @@
+//===== eAthena Script =======================================
+//= Yuno Guides
+//===== By: ==================================================
+//= KitsuneStarwind, usul, kobra_k88
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Edited Miss Yoon text. Added town soldiers by usul. Edited town soldiers
+//= and added map location option for them. [kobra_k88]
+//= 1.1 Changed sprites and cutins to Schwartzald Republic ones
+//= 1.2 Optimized, updated common guide names [Lupus]
+//============================================================
+
+
+//=====================================================================================
+yuno.gat,153,47,4 script Yuno Guide 700,{
+ mes "[Miss Yoon]";
+ mes "A place that understands the present and envisions the future............";
+ mes "This is Yuno, the city of Sages. Welcome to Yuno.";
+ set @name$,"[Miss Yoon]";
+ next;
+ callfunc "F_YunoLoc",2;
+}
+
+//=====================================================================
+yuno.gat,333,182,2 script Yuno Soldier 852,{
+ cutin "ein_soldier",2;
+ set @name$, "[Yuno Soldier]";
+ set @menu1$, "^5533FF'Dagger of Counter'^000000.....";
+ callfunc "F_YunoLoc",0;
+ mes "[Yuno Soldier]";
+ mes "Among the Sage class weapons, there is a dagger called ^5533FF'The Dagger of Counter'^000000.";
+ mes "It increases the chances for landing a critical attack and can only be used by Sages.";
+ next;
+ mes "[Yuno Soldier]";
+ mes "Not only is this dagger very useful but it is very stylish as well.";
+ callfunc "F_YunoLoc",1;
+}
+
+//=====================================================================
+yuno.gat,264,320,2 script Yuno Soldier 852,{
+ cutin "ein_soldier",2;
+ set @name$, "[Yuno Soldier]";
+ set @menu1$, "Holy shield, ^5533FF'Sacred Mission'^000000.....";
+ callfunc "F_YunoLoc",0;
+ mes "[Yuno Soldier]";
+ mes "There is a holy shield named ^5533FF'Sacred Mission'^000000, that can only be used by Cusaders.";
+ mes "The shield itself is long and narrow and has the wings of an angel engraved on its front.";
+ next;
+ mes "[Yuno Soldier]";
+ mes "This shield is especially effective against the undead and other demonic monsters.";
+ callfunc "F_YunoLoc",1;
+}
+
+//=====================================================================
+yuno.gat,228,292,2 script Yuno Soldier 852,{
+ cutin "ein_soldier",2;
+ set @name$, "[Yuno Soldier]";
+ set @menu1$, "^FF3355'False Angel'^000000.....";
+ callfunc "F_YunoLoc",0;
+ mes "[Yuno Soldier]";
+ mes "Near Yuno, there lives a fallen angel known as ^FF3355''False Angel'^000000.";
+ mes "It pretends to be a real angel by blessing adventurers, but then it stabs them in the back afterwards.";
+ next;
+ mes "[Yuno Soldier]";
+ mes "Do not be fooled by its beautifull appereance, otherwise you will find yourself in great peril.";
+ callfunc "F_YunoLoc",1;
+}
+
+//=====================================================================
+yuno.gat,164,283,4 script Yuno Soldier 852,{
+ cutin "ein_soldier",2;
+ set @name$, "[Yuno Soldier]";
+ set @menu1$, "^FF3355'Geographer'^000000.....";
+ callfunc "F_YunoLoc",0;
+ mes "[Yuno Soldier]";
+ mes "There is a monster called the ^FF3355'Geographer'^000000 that looks like a flower in bloom.";
+ mes "Although it is planted firmly into the ground, this creature has the ability to extend itself a great distance.";
+ next;
+ mes "[Yuno Soldier]";
+ mes "Its name comes from a story about a poor geographer who was eaten by one of these monsters while studying.";
+ mes "Unless you want to end up like that poor geographer, I suggest you stay away from these creatures.";
+ callfunc "F_YunoLoc",1;
+}
+
+//=====================================================================
+yuno.gat,151,283,4 script Yuno Soldier 852,{
+ cutin "ein_soldier",2;
+ set @name$, "[Yuno Soldier]";
+ set @menu1$, "^FF3355'Lava Golem'^000000.....";
+ callfunc "F_YunoLoc",0;
+ mes "[Yuno Soldier]";
+ mes "There is a monster called the ^FF3355'Lava Golem'^000000.";
+ mes "It is made out of stone heart that gained magical powers while being swept away by molten lava.";
+ next;
+ mes "[Yuno Soldier]";
+ mes "The lava that dripps down its body is so hot that it can melt weapons and armor made out of even the highest quality steel.";
+ next;
+ mes "[Yuno Soldier]";
+ mes "Be very careful if you ever encounter this monster. Before you know it your equipment will become nothing more than metled pieces of junk.";
+ mes "More importantly, the damage it will inflict on you will turn you into a...... well I think you get the point......";
+ callfunc "F_YunoLoc",1;
+}
+
+//=====================================================================
+yuno.gat,164,228,4 script Yuno Soldier 852,{
+ cutin "ein_soldier",2;
+ set @name$, "[Yuno Soldier]";
+ set @menu1$, "Killer ^FF3355'Goats'^000000.....";
+ callfunc "F_YunoLoc",0;
+ mes "[Yuno Soldier]";
+ mes "^FF3355'Goats'^000000 are monsters that used to be antelopes that lived high up the montains of Yuno.";
+ mes "No one has ever survived a direct hit from a Goat's mighty horns.";
+ next;
+ mes "[Yuno Soldier]";
+ mes "As fierce as those horns are, the legs of a Goat are also to be feared. They are tough and strong because of all of the climbing Goats do.";
+ callfunc "F_YunoLoc",1;
+}
+
+//=====================================================================
+yuno.gat,151,228,4 script Yuno Soldier 852,{
+ cutin "ein_soldier",2;
+ set @name$, "[Yuno Soldier]";
+ set @menu1$, "Large Jellopy.....";
+ callfunc "F_YunoLoc",0;
+ mes "[Yuno Soldier]";
+ mes "Have you ever seen that extraordinarily large jellopy?? It's huuuuge!!! It's a very, very, large and shiny jellopy!!";
+ emotion 1;
+ callfunc "F_YunoLoc",1;
+}
+
+
+//======================================================================
+function script F_YunoLoc {
+
+ if(getarg(0) == 1) goto M_Menu;
+ if(getarg(0) == 2) menu "View city locations.",M_0, "End conversation.",M_End;
+ mes @name$;
+ mes "Welcome to Yuno, the city of noble-mindedness.";
+ M_Menu:
+ next;
+ menu "View city locations.",-, @menu1$,M_1, "End conversation.",M_End;
+
+ M_0:
+ mes @name$;
+ mes "Please choose a building to view...";
+ sM_Menu:
+ next;
+ menu "Armory",-, "Tool Dealer",sM_2, "Sage Castle",sM_3, "Street of Book Stores",sM_4, "Yuphero Plaza",sM_5,
+ "Library of the Republic",sM_6, "Schwheicherbil Magic Academy",sM_7, "Museum of Monsters",sM_8,
+ "Wipe all indications from mini-map",sM_Wipe, "Cancel",M_End;
+
+ mes @name$;
+ mes "This is the Weapon and Armor Shop.";
+ viewpoint 1,117,135,1,0xFF0000;
+ goto sM_Menu;
+ sM_2:
+ mes @name$;
+ mes "This is the Tool Dealer.";
+ viewpoint 1,163,189,2,0xFFFF00;
+ goto sM_Menu;
+ sM_3:
+ mes @name$;
+ mes "Sage Castle is where Mages can go to become Sages.";
+ viewpoint 1,89,320,3,0xff00FF;
+ goto sM_Menu;
+ sM_4:
+ mes @name$;
+ mes "The Street of Books. This is where you will find the largest selection of books for sale";
+ viewpoint 1,196,138,4,0x00ff00;
+ goto sM_Menu;
+ sM_5:
+ mes @name$;
+ mes "Yuphero Plaza is the main gathering place in Yuno.";
+ viewpoint 1,157,327,5,0x00ffff;
+ goto sM_Menu;
+ sM_6:
+ mes @name$;
+ mes "The Library of Republic houses an extensive collection of important historical books.";
+ viewpoint 1,335,204,6,0x0000ff;
+ goto sM_Menu;
+ sM_7:
+ mes @name$;
+ mes "The Shchweicherbil Magic Academy is a prestigous school where Mages study to become Sages.";
+ viewpoint 1,323,280,7,0xFFCCFF;
+ goto sM_Menu;
+ sM_8:
+ mes @name$;
+ mes "The Museum of Monsters contains many exhibits of the monsters found throughout Rune Midgard.";
+ viewpoint 1,278,291,8,0xFFFFFF;
+ goto sM_Menu;
+ sM_Wipe:
+ viewpoint 2,117,135,1,0xFF0000;
+ viewpoint 2,163,189,2,0xFFFF00;
+ viewpoint 2,89,320,3,0xff00FF;
+ viewpoint 2,196,138,4,0x00ff00;
+ viewpoint 2,157,327,5,0x00ffff;
+ viewpoint 2,335,204,6,0x0000ff;
+ viewpoint 2,323,280,7,0xFFCCFF;
+ viewpoint 2,278,291,8,0xFFFFFF;
+ mes @name$;
+ mes "All indications have been wiped.";
+ cutin "ein_soldier",255;
+ close;
+ M_1:
+ return;
+ M_End:
+ mes @name$;
+ mes "Have a nice day.";
+ cutin "ein_soldier",255;
+ close;
+}
diff --git a/npc/guild/aldeg/aldeg_dunsw.txt b/npc/guild/aldeg/aldeg_dunsw.txt
new file mode 100644
index 000000000..dc1acfb25
--- /dev/null
+++ b/npc/guild/aldeg/aldeg_dunsw.txt
@@ -0,0 +1,51 @@
+//===== eAthena Script =======================================
+//= War of Emperium Dungeon Switch for Al De Baran Guild Castles
+//===== By: ==================================================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Switch that warps guild members to the guild dungeon
+//===== Additional Comments: =================================
+//= v1.2 Optimized with functions.[kobra_k88]
+//============================================================
+
+
+
+// Castle 1 ===============================================
+aldeg_cas01.gat,212,181,0 script Switch#DunA01 111,{
+ callfunc "F_GldDunSw","aldeg_cas01","02",32,122;
+ close;
+}
+
+
+// Castle 2 ===============================================
+aldeg_cas02.gat,194,136,0 script Switch#DunA02 111,{
+ callfunc "F_GldDunSw","aldeg_cas02","02",79,32;
+ close;
+}
+
+
+// Castle 3 ===============================================
+aldeg_cas03.gat,200,177,0 script Switch#DunA03 111,{
+ callfunc "F_GldDunSw","aldeg_cas03","02",165,38;
+ close;
+}
+
+
+// Castle 4 ===============================================
+aldeg_cas04.gat,38,76,0 script Switch#DunA04 111,{
+ callfunc "F_GldDunSw","aldeg_cas04","02",160,148;
+ close;
+}
+
+
+// Castle 5 ===============================================
+
+aldeg_cas05.gat,22,205,0 script Switch#DunA05 111,{
+ callfunc "F_GldDunSw","aldeg_cas05","02",103,169;
+ close;
+}
diff --git a/npc/guild/aldeg/aldeg_ev_agit.txt b/npc/guild/aldeg/aldeg_ev_agit.txt
new file mode 100644
index 000000000..44d9a6aa5
--- /dev/null
+++ b/npc/guild/aldeg/aldeg_ev_agit.txt
@@ -0,0 +1,146 @@
+//===== eAthena Script =======================================
+//= War of Emperium - Al De Baran Guild Wars Events
+//===== By: ==================================================
+//= jAthena (1.0)
+//= 1.1 by Akaru and ho|yAnge|
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Event Triggers of Geffen Guild Wars
+//===== Additional Comments: =================================
+//= v1.2 Now using functions for OnAgitStart and OnAgitBreak. [kobra_k88]
+//= 1.3 Added code for abandoning captured castles on /breakguild [Lupus]
+//============================================================
+
+
+// Castle 1 ================================================================
+aldeg_cas01.gat,216,24,0 script Agit_A01 -1,{
+OnInterIfInitOnce:
+ GetCastleData "aldeg_cas01.gat",0,"::OnRecvCastleA01";
+ end;
+OnRecvCastleA01:
+ RequestGuildInfo GetCastleData("aldeg_cas01.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","aldeg_cas01","A01",216,24;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","aldeg_cas01","A01";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","aldeg_cas01","A01";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "aldeg_cas01.gat",GetCastleData("aldeg_cas01.gat",1),6;
+ Monster "aldeg_cas01.gat",216,24,"EMPERIUM",1288,1,"Agit_A01::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","aldeg_cas01","A01";
+ end;
+}
+
+// Castle 2 ================================================================
+aldeg_cas02.gat,214,24,0 script Agit_A02 -1,{
+OnInterIfInitOnce:
+ GetCastleData "aldeg_cas02.gat",0,"::OnRecvCastleA02";
+ end;
+OnRecvCastleA02:
+ RequestGuildInfo GetCastleData("aldeg_cas02.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","aldeg_cas02","A02",214,24;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","aldeg_cas02","A02";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","aldeg_cas02","A02";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "aldeg_cas02.gat",GetCastleData("aldeg_cas02.gat",1),6;
+ Monster "aldeg_cas02.gat",214,24,"EMPERIUM",1288,1,"Agit_A02::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","aldeg_cas02","A02";
+ end;
+}
+
+// Castle 3 ================================================================
+aldeg_cas03.gat,206,32,0 script Agit_A03 -1,{
+OnInterIfInitOnce:
+ GetCastleData "aldeg_cas03.gat",0,"::OnRecvCastleA03";
+ end;
+OnRecvCastleA03:
+ RequestGuildInfo GetCastleData("aldeg_cas03.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","aldeg_cas03","A03",206,32;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","aldeg_cas03","A03";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","aldeg_cas03","A03";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "aldeg_cas03.gat",GetCastleData("aldeg_cas03.gat",1),6;
+ Monster "aldeg_cas03.gat",206,32,"EMPERIUM",1288,1,"Agit_A03::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","aldeg_cas03","A03";
+ end;
+}
+
+// Castle 4 ================================================================
+aldeg_cas04.gat,36,218,0 script Agit_A04 -1,{
+OnInterIfInitOnce:
+ GetCastleData "aldeg_cas04.gat",0,"::OnRecvCastleA04";
+ end;
+OnRecvCastleA04:
+ RequestGuildInfo GetCastleData("aldeg_cas04.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","aldeg_cas04","A04",36,218;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","aldeg_cas04","A04";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","aldeg_cas04","A04";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "aldeg_cas04.gat",GetCastleData("aldeg_cas04.gat",1),6;
+ Monster "aldeg_cas04.gat",36,218,"EMPERIUM",1288,1,"Agit_A04::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","aldeg_cas04","A04";
+ end;
+}
+
+// Castle 5 ================================================================
+aldeg_cas05.gat,28,102,0 script Agit_A05 -1,{
+OnInterIfInitOnce:
+ GetCastleData "aldeg_cas05.gat",0,"::OnRecvCastleA05";
+ end;
+OnRecvCastleA05:
+ RequestGuildInfo GetCastleData("aldeg_cas05.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","aldeg_cas05","A05",28,102;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","aldeg_cas05","A05";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","aldeg_cas05","A05";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "aldeg_cas05.gat",GetCastleData("aldeg_cas05.gat",1),6;
+ Monster "aldeg_cas05.gat",28,102,"EMPERIUM",1288,1,"Agit_A05::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","aldeg_cas05","A05";
+ end;
+}
diff --git a/npc/guild/aldeg/aldeg_flags.txt b/npc/guild/aldeg/aldeg_flags.txt
new file mode 100644
index 000000000..64b4edf8a
--- /dev/null
+++ b/npc/guild/aldeg/aldeg_flags.txt
@@ -0,0 +1,243 @@
+//===== eAthena Script =======================================
+//= War of Emperium Al De Baran Guild Flags
+//===== By: ==================================================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= WoE flag scripts. Display guild emblems on flags.
+//===== Additional Comments: =================================
+//= v1.2 Optimized with functions.[kobra_k88]
+//= v1.3 Changed to iRO castle names [DracoRPG]
+//= v1.4 Can now only flag in from outside the castle [Kayla]
+//============================================================
+
+
+//================================================================================//
+// Castle 1
+//================================================================================//
+aldebaran.gat,152,97,4 script Neuschwanstein#a1-1::Neuschwanstein 722,{
+ callfunc "F_Flags","Al De Baran","aldeg_cas01",218,170,0;
+ close;
+
+OnRecvCastleA01:
+ FlagEmblem GetCastleData("aldeg_cas01.gat",1);
+ end;
+}
+
+alde_gld.gat,61,87,6 script Neuschwanstein#a1-2::Neuschwanstein2 722,{
+ callfunc "F_Flags","Al De Baran","aldeg_cas01",218,170,1;
+ close;
+
+OnRecvCastleA01:
+ FlagEmblem GetCastleData("aldeg_cas01.gat",1);
+ end;
+}
+
+// In Guild =============================================
+alde_gld.gat,61,79,6 duplicate(Neuschwanstein2) Neuschwanstein#a1-3 722
+alde_gld.gat,45,87,8 duplicate(Neuschwanstein2) Neuschwanstein#a1-4 722
+alde_gld.gat,51,87,8 duplicate(Neuschwanstein2) Neuschwanstein#a1-5 722
+// In Castle ============================================
+aldeg_cas01.gat,30,248,4 duplicate(Neuschwanstein) Neuschwanstein#a1-6 722
+aldeg_cas01.gat,30,246,4 duplicate(Neuschwanstein) Neuschwanstein#a1-7 722
+aldeg_cas01.gat,37,248,4 duplicate(Neuschwanstein) Neuschwanstein#a1-8 722
+aldeg_cas01.gat,37,246,4 duplicate(Neuschwanstein) Neuschwanstein#a1-9 722
+aldeg_cas01.gat,95,80,2 duplicate(Neuschwanstein) Neuschwanstein#a1-10 722
+aldeg_cas01.gat,95,59,2 duplicate(Neuschwanstein) Neuschwanstein#a1-11 722
+aldeg_cas01.gat,62,75,2 duplicate(Neuschwanstein) Neuschwanstein#a1-12 722
+aldeg_cas01.gat,70,75,2 duplicate(Neuschwanstein) Neuschwanstein#a1-13 722
+aldeg_cas01.gat,74,75,2 duplicate(Neuschwanstein) Neuschwanstein#a1-14 722
+aldeg_cas01.gat,62,64,2 duplicate(Neuschwanstein) Neuschwanstein#a1-15 722
+aldeg_cas01.gat,66,64,2 duplicate(Neuschwanstein) Neuschwanstein#a1-16 722
+aldeg_cas01.gat,70,64,2 duplicate(Neuschwanstein) Neuschwanstein#a1-17 722
+aldeg_cas01.gat,74,64,2 duplicate(Neuschwanstein) Neuschwanstein#a1-18 722
+aldeg_cas01.gat,203,150,4 duplicate(Neuschwanstein) Neuschwanstein#a1-19 722
+aldeg_cas01.gat,210,150,4 duplicate(Neuschwanstein) Neuschwanstein#a1-20 722
+
+
+
+
+//================================================================================//
+// Castle 2
+//================================================================================//
+aldebaran.gat,149,97,4 script Hohenschwangau#a2-1::Hohenschwangau 722,{
+ callfunc "F_Flags","Al De Baran","aldeg_cas02",85,72,0;
+ close;
+
+OnRecvCastleA02:
+ FlagEmblem GetCastleData("aldeg_cas02.gat",1);
+ end;
+}
+
+alde_gld.gat,93,250,5 script Hohenschwangau#a2-2::Hohenschwangau2 722,{
+ callfunc "F_Flags","Al De Baran","aldeg_cas02",85,72,1;
+ close;
+
+OnRecvCastleA02:
+ FlagEmblem GetCastleData("aldeg_cas02.gat",1);
+ end;
+}
+
+// In Guild =================================================
+alde_gld.gat,98,250,5 duplicate(Hohenschwangau2) Hohenschwangau#a2-3 722
+// In Castle =============================================
+aldeg_cas02.gat,82,71,2 duplicate(Hohenschwangau) Hohenschwangau#a2-4 722
+aldeg_cas02.gat,67,30,2 duplicate(Hohenschwangau) Hohenschwangau#a2-5 722
+aldeg_cas02.gat,183,140,2 duplicate(Hohenschwangau) Hohenschwangau#a2-6 722
+aldeg_cas02.gat,212,152,2 duplicate(Hohenschwangau) Hohenschwangau#a2-7 722
+aldeg_cas02.gat,108,39,2 duplicate(Hohenschwangau) Hohenschwangau#a2-8 722
+aldeg_cas02.gat,57,213,2 duplicate(Hohenschwangau) Hohenschwangau#a2-9 722
+aldeg_cas02.gat,91,181,2 duplicate(Hohenschwangau) Hohenschwangau#a2-10 722
+aldeg_cas02.gat,103,53,2 duplicate(Hohenschwangau) Hohenschwangau#a2-11 722
+aldeg_cas02.gat,73,53,2 duplicate(Hohenschwangau) Hohenschwangau#a2-12 722
+aldeg_cas02.gat,63,41,2 duplicate(Hohenschwangau) Hohenschwangau#a2-13 722
+aldeg_cas02.gat,229,6,2 duplicate(Hohenschwangau) Hohenschwangau#a2-14 722
+aldeg_cas02.gat,230,40,2 duplicate(Hohenschwangau) Hohenschwangau#a2-15 722
+aldeg_cas02.gat,197,40,2 duplicate(Hohenschwangau) Hohenschwangau#a2-16 722
+aldeg_cas02.gat,32,213,2 duplicate(Hohenschwangau) Hohenschwangau#a2-17 722
+aldeg_cas02.gat,88,180,2 duplicate(Hohenschwangau) Hohenschwangau#a2-18 722
+aldeg_cas02.gat,121,29,2 duplicate(Hohenschwangau) Hohenschwangau#a2-19 722
+
+
+
+
+//================================================================================//
+// Castle 3
+//================================================================================//
+aldebaran.gat,134,97,4 script Nuenberg#a3-1::Nuenberg 722,{
+ callfunc "F_Flags","Al De Baran","aldeg_cas03",118,76,0;
+ close;
+
+OnRecvCastleA03:
+ FlagEmblem GetCastleData("aldeg_cas03.gat",1);
+ end;
+}
+
+alde_gld.gat,139,83,1 script Nuenberg#a3-2::Nuenberg2 722,{
+ callfunc "F_Flags","Al De Baran","aldeg_cas03",118,76,1;
+ close;
+
+OnRecvCastleA03:
+ FlagEmblem GetCastleData("aldeg_cas03.gat",1);
+ end;
+}
+
+// In Guild ===============================================
+alde_gld.gat,145,83,1 duplicate(Nuenberg2) Nuenberg#a3-3 722
+// In Castle =============================================
+aldeg_cas03.gat,176,175,2 duplicate(Nuenberg) Nuenberg#a3-4 722
+aldeg_cas03.gat,85,103,2 duplicate(Nuenberg) Nuenberg#a3-5 722
+aldeg_cas03.gat,77,115,2 duplicate(Nuenberg) Nuenberg#a3-6 722
+aldeg_cas03.gat,77,215,2 duplicate(Nuenberg) Nuenberg#a3-7 722
+aldeg_cas03.gat,112,107,2 duplicate(Nuenberg) Nuenberg#a3-8 722
+aldeg_cas03.gat,112,117,2 duplicate(Nuenberg) Nuenberg#a3-9 722
+aldeg_cas03.gat,69,71,2 duplicate(Nuenberg) Nuenberg#a3-10 722
+aldeg_cas03.gat,91,69,2 duplicate(Nuenberg) Nuenberg#a3-11 722
+aldeg_cas03.gat,108,60,2 duplicate(Nuenberg) Nuenberg#a3-12 722
+aldeg_cas03.gat,121,73,2 duplicate(Nuenberg) Nuenberg#a3-13 722
+aldeg_cas03.gat,121,73,2 duplicate(Nuenberg) Nuenberg#a3-14 722
+aldeg_cas03.gat,75,102,2 duplicate(Nuenberg) Nuenberg#a3-15 722
+aldeg_cas03.gat,199,169,2 duplicate(Nuenberg) Nuenberg#a3-16 722
+aldeg_cas03.gat,181,179,2 duplicate(Nuenberg) Nuenberg#a3-17 722
+aldeg_cas03.gat,192,44,2 duplicate(Nuenberg) Nuenberg#a3-18 722
+aldeg_cas03.gat,88,108,2 duplicate(Nuenberg) Nuenberg#a3-19 722
+aldeg_cas03.gat,208,145,2 duplicate(Nuenberg) Nuenberg#a3-20 722
+aldeg_cas03.gat,207,75,2 duplicate(Nuenberg) Nuenberg#a3-21 722
+aldeg_cas03.gat,96,62,2 duplicate(Nuenberg) Nuenberg#a3-22 722
+
+
+
+
+//================================================================================//
+// Castle 4
+//================================================================================//
+aldebaran.gat,131,97,4 script Wuerzburg#a4-1::Wuerzburg 722,{
+ callfunc "F_Flags","Al De Baran","aldeg_cas04",45,88,0;
+ close;
+
+OnRecvCastleA04:
+ FlagEmblem GetCastleData("aldeg_cas04.gat",1);
+ end;
+}
+
+alde_gld.gat,239,247,1 script Wuerzburg#a4-2::Wuerzburg2 722,{
+ callfunc "F_Flags","Al De Baran","aldeg_cas04",45,88,1;
+ close;
+
+OnRecvCastleA04:
+ FlagEmblem GetCastleData("aldeg_cas04.gat",1);
+ end;
+}
+// In Guild ===============================================
+alde_gld.gat,234,247,1 duplicate(Wuerzburg2) Wuerzburg#a4-3 722
+alde_gld.gat,241,239,7 duplicate(Wuerzburg2) Wuerzburg#a4-4 722
+alde_gld.gat,241,234,7 duplicate(Wuerzburg2) Wuerzburg#a4-5 722
+// In Castle =============================================
+aldeg_cas04.gat,167,61,2 duplicate(Wuerzburg) Wuerzburg#a4-6 722
+aldeg_cas04.gat,164,90,2 duplicate(Wuerzburg) Wuerzburg#a4-7 722
+aldeg_cas04.gat,143,209,2 duplicate(Wuerzburg) Wuerzburg#a4-8 722
+aldeg_cas04.gat,129,193,2 duplicate(Wuerzburg) Wuerzburg#a4-9 722
+aldeg_cas04.gat,112,206,2 duplicate(Wuerzburg) Wuerzburg#a4-10 722
+aldeg_cas04.gat,113,212,2 duplicate(Wuerzburg) Wuerzburg#a4-11 722
+aldeg_cas04.gat,77,117,2 duplicate(Wuerzburg) Wuerzburg#a4-12 722
+aldeg_cas04.gat,186,42,2 duplicate(Wuerzburg) Wuerzburg#a4-13 722
+aldeg_cas04.gat,30,69,2 duplicate(Wuerzburg) Wuerzburg#a4-14 722
+aldeg_cas04.gat,55,97,2 duplicate(Wuerzburg) Wuerzburg#a4-15 722
+aldeg_cas04.gat,45,98,2 duplicate(Wuerzburg) Wuerzburg#a4-16 722
+aldeg_cas04.gat,33,116,2 duplicate(Wuerzburg) Wuerzburg#a4-17 722
+aldeg_cas04.gat,130,180,2 duplicate(Wuerzburg) Wuerzburg#a4-18 722
+aldeg_cas04.gat,129,193,2 duplicate(Wuerzburg) Wuerzburg#a4-19 722
+aldeg_cas04.gat,142,209,2 duplicate(Wuerzburg) Wuerzburg#a4-20 722
+aldeg_cas04.gat,33,107,2 duplicate(Wuerzburg) Wuerzburg#a4-21 722
+aldeg_cas04.gat,133,220,2 duplicate(Wuerzburg) Wuerzburg#a4-22 722
+aldeg_cas04.gat,169,22,2 duplicate(Wuerzburg) Wuerzburg#a4-23 722
+aldeg_cas04.gat,169,15,2 duplicate(Wuerzburg) Wuerzburg#a4-24 722
+
+
+
+
+//================================================================================//
+// Castle 5
+//================================================================================//
+aldebaran.gat,128,97,4 script Rothenburg#a5-1::Rothenburg 722,{
+ callfunc "F_Flags","Al De Baran","aldeg_cas05",31,190,0;
+ close;
+
+OnRecvCastleA05:
+ FlagEmblem GetCastleData("aldeg_cas05.gat",1);
+ end;
+}
+
+alde_gld.gat,266,92,7 script Rothenburg#a5-2::Rothenburg2 722,{
+ callfunc "F_Flags","Al De Baran","aldeg_cas05",31,190,1;
+ close;
+
+OnRecvCastleA05:
+ FlagEmblem GetCastleData("aldeg_cas05.gat",1);
+ end;
+}
+
+// In Guild ===============================================
+alde_gld.gat,266,88,7 duplicate(Rothenburg2) Rothenburg#a5-3 722
+// In Castle =============================================
+aldeg_cas05.gat,170,85,2 duplicate(Rothenburg) Rothenburg#a5-4 722
+aldeg_cas05.gat,142,212,2 duplicate(Rothenburg) Rothenburg#a5-5 722
+aldeg_cas05.gat,149,196,2 duplicate(Rothenburg) Rothenburg#a5-6 722
+aldeg_cas05.gat,41,180,2 duplicate(Rothenburg) Rothenburg#a5-7 722
+aldeg_cas05.gat,38,201,2 duplicate(Rothenburg) Rothenburg#a5-8 722
+aldeg_cas05.gat,65,182,2 duplicate(Rothenburg) Rothenburg#a5-9 722
+aldeg_cas05.gat,65,205,2 duplicate(Rothenburg) Rothenburg#a5-10 722
+aldeg_cas05.gat,10,218,2 duplicate(Rothenburg) Rothenburg#a5-11 722
+aldeg_cas05.gat,164,201,2 duplicate(Rothenburg) Rothenburg#a5-12 722
+aldeg_cas05.gat,216,96,2 duplicate(Rothenburg) Rothenburg#a5-13 722
+aldeg_cas05.gat,217,80,2 duplicate(Rothenburg) Rothenburg#a5-14 722
+aldeg_cas05.gat,14,117,2 duplicate(Rothenburg) Rothenburg#a5-15 722
+aldeg_cas05.gat,10,225,2 duplicate(Rothenburg) Rothenburg#a5-16 722
+aldeg_cas05.gat,187,59,2 duplicate(Rothenburg) Rothenburg#a5-17 722
+aldeg_cas05.gat,154,51,2 duplicate(Rothenburg) Rothenburg#a5-18 722
+aldeg_cas05.gat,22,211,2 duplicate(Rothenburg) Rothenburg#a5-19 722
+aldeg_cas05.gat,150,202,2 duplicate(Rothenburg) Rothenburg#a5-20 722
diff --git a/npc/guild/aldeg/aldeg_guardians.txt b/npc/guild/aldeg/aldeg_guardians.txt
new file mode 100644
index 000000000..3cd10972d
--- /dev/null
+++ b/npc/guild/aldeg/aldeg_guardians.txt
@@ -0,0 +1,111 @@
+//===== eAthena Script =======================================
+//= War of Emperium - aldeg_cas guardians script
+//===== By: ==================================================
+//= holyAngelX (1.0)
+//===== Current Version: =====================================
+//= 1.2a
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Re-spawns guardians on server start if they have been
+//= purchased. Also announces when a guardian dies.
+//===== Additional Comments: =================================
+//= 1.1 by joedukk
+//= 1.2 by Akaru and Valaris
+//= 1.2a Guardians for all aldeg castles are now in this file.
+//= Minor optimizations.[kobra_k88]
+//============================================================
+
+
+aldeg_cas01.gat,216,24,0 script Guardian_A01 -1,{
+OnAgitInit:
+ if (GetCastleData("aldeg_cas01.gat",10) == 1) guardian "aldeg_cas01.gat",18,219,"Soldier Guardian",1287,1,"Guardian_A01::OnGuardianDied",0;
+ if (GetCastleData("aldeg_cas01.gat",11) == 1) guardian "aldeg_cas01.gat",117,42,"Soldier Guardian",1287,1,"Guardian_A01::OnGuardianDied",1;
+ if (GetCastleData("aldeg_cas01.gat",12) == 1) guardian "aldeg_cas01.gat",207,153,"Soldier Guardian",1287,1,"Guardian_A01::OnGuardianDied",2;
+ if (GetCastleData("aldeg_cas01.gat",13) == 1) guardian "aldeg_cas01.gat",68,70,"Archer Guardian",1285,1,"Guardian_A01::OnGuardianDied",3;
+ if (GetCastleData("aldeg_cas01.gat",14) == 1) guardian "aldeg_cas01.gat",187,140,"Archer Guardian",1285,1,"Guardian_A01::OnGuardianDied",4;
+ if (GetCastleData("aldeg_cas01.gat",15) == 1) guardian "aldeg_cas01.gat",62,204,"Knight Guardian",1286,1,"Guardian_A01::OnGuardianDied",5;
+ if (GetCastleData("aldeg_cas01.gat",16) == 1) guardian "aldeg_cas01.gat",113,100,"Knight Guardian",1286,1,"Guardian_A01::OnGuardianDied",6;
+ if (GetCastleData("aldeg_cas01.gat",17) == 1) guardian "aldeg_cas01.gat",211,174,"Knight Guardian",1286,1,"Guardian_A01::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "aldeg_cas01.gat","A Guardian Has Fallen",17;
+ end;
+
+//NoSpawn:
+// break;
+}
+//------------------------------------------------------------------------------
+aldeg_cas02.gat,214,24,0 script Guardian_A02 -1,{
+OnAgitInit:
+ if (GetCastleData("aldeg_cas02.gat",10) == 1) guardian "aldeg_cas02.gat",22,186,"Soldier Guardian",1287,1,"Guardian_A02::OnGuardianDied",0;
+ if (GetCastleData("aldeg_cas02.gat",11) == 1) guardian "aldeg_cas02.gat",88,31,"Soldier Guardian",1287,1,"Guardian_A02::OnGuardianDied",1;
+ if (GetCastleData("aldeg_cas02.gat",12) == 1) guardian "aldeg_cas02.gat",207,176,"Soldier Guardian",1287,1,"Guardian_A02::OnGuardianDied",2;
+ if (GetCastleData("aldeg_cas02.gat",13) == 1) guardian "aldeg_cas02.gat",50,201,"Archer Guardian",1285,1,"Guardian_A02::OnGuardianDied",3;
+ if (GetCastleData("aldeg_cas02.gat",14) == 1) guardian "aldeg_cas02.gat",197,146,"Archer Guardian",1285,1,"Guardian_A02::OnGuardianDied",4;
+ if (GetCastleData("aldeg_cas02.gat",15) == 1) guardian "aldeg_cas02.gat",71,193,"Knight Guardian",1286,1,"Guardian_A02::OnGuardianDied",5;
+ if (GetCastleData("aldeg_cas02.gat",16) == 1) guardian "aldeg_cas02.gat",88,31,"Knight Guardian",1286,1,"Guardian_A02::OnGuardianDied",6;
+ if (GetCastleData("aldeg_cas02.gat",17) == 1) guardian "aldeg_cas02.gat",219,148,"Knight Guardian",1286,1,"Guardian_A02::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "aldeg_cas02.gat","A Guardian Has Fallen",17;
+ end;
+}
+//------------------------------------------------------------------------------
+aldeg_cas03.gat,206,32,0 script Guardian_A03 -1,{
+OnAgitInit:
+ if (GetCastleData("aldeg_cas03.gat",10) == 1) guardian "aldeg_cas03.gat",57,216,"Soldier Guardian",1287,1,"Guardian_A03::OnGuardianDied",0;
+ if (GetCastleData("aldeg_cas03.gat",11) == 1) guardian "aldeg_cas03.gat",80,108,"Soldier Guardian",1287,1,"Guardian_A03::OnGuardianDied",1;
+ if (GetCastleData("aldeg_cas03.gat",12) == 1) guardian "aldeg_cas03.gat",199,183,"Soldier Guardian",1287,1,"Guardian_A03::OnGuardianDied",2;
+ if (GetCastleData("aldeg_cas03.gat",13) == 1) guardian "aldeg_cas03.gat",98,267,"Archer Guardian",1285,1,"Guardian_A03::OnGuardianDied",3;
+ if (GetCastleData("aldeg_cas03.gat",14) == 1) guardian "aldeg_cas03.gat",91,88,"Archer Guardian",1285,1,"Guardian_A03::OnGuardianDied",4;
+ if (GetCastleData("aldeg_cas03.gat",15) == 1) guardian "aldeg_cas03.gat",78,121,"Knight Guardian",1286,1,"Guardian_A03::OnGuardianDied",5;
+ if (GetCastleData("aldeg_cas03.gat",16) == 1) guardian "aldeg_cas03.gat",200,164,"Knight Guardian",1286,1,"Guardian_A03::OnGuardianDied",6;
+ if (GetCastleData("aldeg_cas03.gat",17) == 1) guardian "aldeg_cas03.gat",200,164,"Knight Guardian",1286,1,"Guardian_A03::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "aldeg_cas03.gat","A Guardian Has Fallen",17;
+ end;
+}
+//------------------------------------------------------------------------------
+aldeg_cas04.gat,36,218,0 script Guardian_A04 -1,{
+OnAgitInit:
+ if (GetCastleData("aldeg_cas04.gat",10) == 1) guardian "aldeg_cas04.gat",181,33,"Soldier Guardian",1287,1,"Guardian_A04::OnGuardianDied",0;
+ if (GetCastleData("aldeg_cas04.gat",11) == 1) guardian "aldeg_cas04.gat",50,68,"Soldier Guardian",1287,1,"Guardian_A04::OnGuardianDied",1;
+ if (GetCastleData("aldeg_cas04.gat",12) == 1) guardian "aldeg_cas04.gat",50,119,"Soldier Guardian",1287,1,"Guardian_A04::OnGuardianDied",2;
+ if (GetCastleData("aldeg_cas04.gat",13) == 1) guardian "aldeg_cas04.gat",169,49,"Archer Guardian",1285,1,"Guardian_A04::OnGuardianDied",3;
+ if (GetCastleData("aldeg_cas04.gat",14) == 1) guardian "aldeg_cas04.gat",133,196,"Archer Guardian",1285,1,"Guardian_A04::OnGuardianDied",4;
+ if (GetCastleData("aldeg_cas04.gat",15) == 1) guardian "aldeg_cas04.gat",177,87,"Knight Guardian",1286,1,"Guardian_A04::OnGuardianDied",5;
+ if (GetCastleData("aldeg_cas04.gat",16) == 1) guardian "aldeg_cas04.gat",50,119,"Knight Guardian",1286,1,"Guardian_A04::OnGuardianDied",6;
+ if (GetCastleData("aldeg_cas04.gat",17) == 1) guardian "aldeg_cas04.gat",133,196,"Knight Guardian",1286,1,"Guardian_A04::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "aldeg_cas04.gat","A Guardian Has Fallen",17;
+ end;
+}
+//------------------------------------------------------------------------------
+aldeg_cas05.gat,28,102,0 script Guardian_A05 -1,{
+OnAgitInit:
+ if (GetCastleData("aldeg_cas05.gat",10) == 1) guardian "aldeg_cas05.gat",157,192,"Soldier Guardian",1287,1,"Guardian_A05::OnGuardianDied",0;
+ if (GetCastleData("aldeg_cas05.gat",11) == 1) guardian "aldeg_cas05.gat",194,46,"Soldier Guardian",1287,1,"Guardian_A05::OnGuardianDied",1;
+ if (GetCastleData("aldeg_cas05.gat",12) == 1) guardian "aldeg_cas05.gat",146,214,"Soldier Guardian",1287,1,"Guardian_A05::OnGuardianDied",2;
+ if (GetCastleData("aldeg_cas05.gat",13) == 1) guardian "aldeg_cas05.gat",223,95,"Archer Guardian",1285,1,"Guardian_A05::OnGuardianDied",3;
+ if (GetCastleData("aldeg_cas05.gat",14) == 1) guardian "aldeg_cas05.gat",131,223,"Archer Guardian",1285,1,"Guardian_A05::OnGuardianDied",4;
+ if (GetCastleData("aldeg_cas05.gat",15) == 1) guardian "aldeg_cas05.gat",191,68,"Knight Guardian",1286,1,"Guardian_A05::OnGuardianDied",5;
+ if (GetCastleData("aldeg_cas05.gat",16) == 1) guardian "aldeg_cas05.gat",160,194,"Knight Guardian",1286,1,"Guardian_A05::OnGuardianDied",6;
+ if (GetCastleData("aldeg_cas05.gat",17) == 1) guardian "aldeg_cas05.gat",49,225,"Knight Guardian",1286,1,"Guardian_A05::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "aldeg_cas05.gat","A Guardian Has Fallen",17;
+ end;
+}
diff --git a/npc/guild/aldeg/aldeg_kafras.txt b/npc/guild/aldeg/aldeg_kafras.txt
new file mode 100644
index 000000000..c2005f95a
--- /dev/null
+++ b/npc/guild/aldeg/aldeg_kafras.txt
@@ -0,0 +1,61 @@
+//===== eAthena Script =======================================
+//= War of Emperium Kafras for Al De Baran Guild Castles
+//===== By: ==================================================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Provides Kafra services for guild members of Al De Baran Castles.
+//= Used in conjuction with function F_Kafra.
+//===== Additional Comments: =================================
+//= v1.2 Optimized with functions.[kobra_k88]
+//============================================================
+
+
+// Castle 1 ===============================================
+aldeg_cas01.gat,218,170,0 script Kafra Service#A01 117,{
+ callfunc "F_GKafra", "aldeg_cas01", "Al De Baran";
+ end;
+OnRecvCastleA01:
+ if (GetCastleData("aldeg_cas01.gat",9) < 1) disablenpc "Kafra Service#A01";
+ end;
+}
+
+// Castle 2 ===============================================
+aldeg_cas02.gat,84,74,0 script Kafra Service#A02 117,{
+ callfunc "F_GKafra", "aldeg_cas02", "Al De Baran";
+ end;
+OnRecvCastleA02:
+ if (GetCastleData("aldeg_cas02.gat",9) < 1) disablenpc "Kafra Service#A02";
+ end;
+}
+
+// Castle 3 ===============================================
+aldeg_cas03.gat,118,76,0 script Kafra Service#A03 117,{
+ callfunc "F_GKafra", "aldeg_cas03", "Al De Baran";
+ end;
+OnRecvCastleA03:
+ if (GetCastleData("aldeg_cas03.gat",9) < 1) disablenpc "Kafra Service#A03";
+ end;
+}
+
+// Castle 4 ===============================================
+aldeg_cas04.gat,45,88,0 script Kafra Service#A04 117,{
+ callfunc "F_GKafra", "aldeg_cas04", "Al De Baran";
+ end;
+OnRecvCastleA04:
+ if (GetCastleData("aldeg_cas04.gat",9) < 1) disablenpc "Kafra Service#A04";
+ end;
+}
+
+// Castle 5 ===============================================
+aldeg_cas05.gat,31,190,0 script Kafra Service#A05 117,{
+ callfunc "F_GKafra", "aldeg_cas05", "Al De Baran";
+ end;
+OnRecvCastleA05:
+ if (GetCastleData("aldeg_cas05.gat",9) < 1) disablenpc "Kafra Service#A05";
+ end;
+}
diff --git a/npc/guild/aldeg/aldeg_managers.txt b/npc/guild/aldeg/aldeg_managers.txt
new file mode 100644
index 000000000..e0f2e65dd
--- /dev/null
+++ b/npc/guild/aldeg/aldeg_managers.txt
@@ -0,0 +1,110 @@
+//===== eAthena Script =======================================
+//= War of Emperium Managers for Al De Baran Guild Castles
+//===== By: ==================================================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= v1.2 Optimized with functions.[kobra_k88]
+//============================================================
+
+
+// Castle 1 ==================================================================================
+aldeg_cas01.gat,218,175,0 script Arl Fredo 55,{
+
+ if(callfunc("F_GldManager","Arl Fredo","aldeg_cas01",119,223,"A01") == 0) close;
+
+ if(@GDnum==10) guardian "aldeg_cas01.gat",18,219,"Soldier Guardian",1287,1,"Guardian_A01::OnGuardianDied",0;
+ if(@GDnum==11) guardian "aldeg_cas01.gat",117,42,"Soldier Guardian",1287,1,"Guardian_A01::OnGuardianDied",1;
+ if(@GDnum==12) guardian "aldeg_cas01.gat",207,153,"Soldier Guardian",1287,1,"Guardian_A01::OnGuardianDied",2;
+ if(@GDnum==13) guardian "aldeg_cas01.gat",68,70,"Archer Guardian",1285,1,"Guardian_A01::OnGuardianDied",3;
+ if(@GDnum==14) guardian "aldeg_cas01.gat",187,140,"Archer Guardian",1285,1,"Guardian_A01::OnGuardianDied",4;
+ if(@GDnum==15) guardian "aldeg_cas01.gat",62,204,"Knight Guardian",1286,1,"Guardian_A01::OnGuardianDied",5;
+ if(@GDnum==16) guardian "aldeg_cas01.gat",113,100,"Knight Guardian",1286,1,"Guardian_A01::OnGuardianDied",6;
+ if(@GDnum==17) guardian "aldeg_cas01.gat",211,174,"Knight Guardian",1286,1,"Guardian_A01::OnGuardianDied",7;
+ mes "[Arl Fredo]";
+ mes "Guardian has been installed, the guardian will protect our guild base against enemies.";
+ close;
+}
+
+
+// Castle 2 ==================================================================================
+aldeg_cas02.gat,78,74,0 script Chen Lee 55,{
+
+ if(callfunc("F_GldManager","Chen Lee","aldeg_cas02",135,231,"A02") == 0) close;
+
+ if(@GDnum==10) guardian "aldeg_cas02.gat",22,186,"Soldier Guardian",1287,1,"Guardian_A02::OnGuardianDied",0;
+ if(@GDnum==11) guardian "aldeg_cas02.gat",88,31,"Soldier Guardian",1287,1,"Guardian_A02::OnGuardianDied",1;
+ if(@GDnum==12) guardian "aldeg_cas02.gat",207,176,"Soldier Guardian",1287,1,"Guardian_A02::OnGuardianDied",2;
+ if(@GDnum==13) guardian "aldeg_cas02.gat",50,201,"Archer Guardian",1285,1,"Guardian_A02::OnGuardianDied",3;
+ if(@GDnum==14) guardian "aldeg_cas02.gat",197,146,"Archer Guardian",1285,1,"Guardian_A02::OnGuardianDied",4;
+ if(@GDnum==15) guardian "aldeg_cas02.gat",71,193,"Knight Guardian",1286,1,"Guardian_A02::OnGuardianDied",5;
+ if(@GDnum==16) guardian "aldeg_cas02.gat",88,31,"Knight Guardian",1286,1,"Guardian_A02::OnGuardianDied",6;
+ if(@GDnum==17) guardian "aldeg_cas02.gat",219,148,"Knight Guardian",1286,1,"Guardian_A02::OnGuardianDied",7;
+ mes "[ Chen Lee ]";
+ mes "Guardian has been installed, guardian will protect our guild base against enemies.";
+ close;
+}
+
+
+// Castle 3 ==================================================================================
+aldeg_cas03.gat,110,118,0 script Chen Lee 55,{
+
+ if(callfunc("F_GldManager","Chen Lee","aldeg_cas03",225,269,"A03") == 0) close;
+
+ if(@GDnum==10) guardian "aldeg_cas03.gat",57,216,"Soldier Guardian",1287,1,"Guardian_A03::OnGuardianDied",0;
+ if(@GDnum==11) guardian "aldeg_cas03.gat",80,108,"Soldier Guardian",1287,1,"Guardian_A03::OnGuardianDied",1;
+ if(@GDnum==12) guardian "aldeg_cas03.gat",199,183,"Soldier Guardian",1287,1,"Guardian_A03::OnGuardianDied",2;
+ if(@GDnum==13) guardian "aldeg_cas03.gat",98,267,"Archer Guardian",1285,1,"Guardian_A03::OnGuardianDied",3;
+ if(@GDnum==14) guardian "aldeg_cas03.gat",91,88,"Archer Guardian",1285,1,"Guardian_A03::OnGuardianDied",4;
+ if(@GDnum==15) guardian "aldeg_cas03.gat",78,121,"Knight Guardian",1286,1,"Guardian_A03::OnGuardianDied",5;
+ if(@GDnum==16) guardian "aldeg_cas03.gat",200,164,"Knight Guardian",1286,1,"Guardian_A03::OnGuardianDied",6;
+ if(@GDnum==17) guardian "aldeg_cas03.gat",200,164,"Knight Guardian",1286,1,"Guardian_A03::OnGuardianDied",7;
+ mes "[ Chen Lee ]";
+ mes "Guardian has been installed, guardian will protect our guild base against enemies.";
+ close;
+}
+
+
+// Castle 4 ==================================================================================
+aldeg_cas04.gat,53,89,0 script Brimhemsen 55,{
+//aldeg_cas04.gat,67,116,0 script Brimhemsen 55,{
+
+ if(callfunc("F_GldManager","Brimhemsen","aldeg_cas04",85,12,"A04") == 0) close;
+
+ if(@GDnum==10) guardian "aldeg_cas04.gat",181,33,"Soldier Guardian",1287,1,"Guardian_A04::OnGuardianDied",0;
+ if(@GDnum==11) guardian "aldeg_cas04.gat",50,68,"Soldier Guardian",1287,1,"Guardian_A04::OnGuardianDied",1;
+ if(@GDnum==12) guardian "aldeg_cas04.gat",50,119,"Soldier Guardian",1287,1,"Guardian_A04::OnGuardianDied",2;
+ if(@GDnum==13) guardian "aldeg_cas04.gat",169,49,"Archer Guardian",1285,1,"Guardian_A04::OnGuardianDied",3;
+ if(@GDnum==14) guardian "aldeg_cas04.gat",133,196,"Archer Guardian",1285,1,"Guardian_A04::OnGuardianDied",4;
+ if(@GDnum==15) guardian "aldeg_cas04.gat",177,87,"Knight Guardian",1286,1,"Guardian_A04::OnGuardianDied",5;
+ if(@GDnum==16) guardian "aldeg_cas04.gat",50,119,"Knight Guardian",1286,1,"Guardian_A04::OnGuardianDied",6;
+ if(@GDnum==17) guardian "aldeg_cas04.gat",133,196,"Knight Guardian",1286,1,"Guardian_A04::OnGuardianDied",7;
+ mes "[ Brimhemsen ]";
+ mes "Guardian has been installed, guardian will protect our guild base against enemies.";
+ close;
+}
+
+
+// Castle 5 ==================================================================================
+aldeg_cas05.gat,52,179,0 script Brimhemsen 55,{
+
+ if(callfunc("F_GldManager","Brimhemsen","aldeg_cas05",66,11,"A05") == 0) close;
+
+ if(@GDnum==10) guardian "aldeg_cas05.gat",157,192,"Soldier Guardian",1287,1,"Guardian_A05::OnGuardianDied",0;
+ if(@GDnum==11) guardian "aldeg_cas05.gat",194,46,"Soldier Guardian",1287,1,"Guardian_A05::OnGuardianDied",1;
+ if(@GDnum==12) guardian "aldeg_cas05.gat",146,214,"Soldier Guardian",1287,1,"Guardian_A05::OnGuardianDied",2;
+ if(@GDnum==13) guardian "aldeg_cas05.gat",223,95,"Archer Guardian",1285,1,"Guardian_A05::OnGuardianDied",3;
+ if(@GDnum==14) guardian "aldeg_cas05.gat",131,223,"Archer Guardian",1285,1,"Guardian_A05::OnGuardianDied",4;
+ if(@GDnum==15) guardian "aldeg_cas05.gat",191,68,"Knight Guardian",1286,1,"Guardian_A05::OnGuardianDied",5;
+ if(@GDnum==16) guardian "aldeg_cas05.gat",160,194,"Knight Guardian",1286,1,"Guardian_A05::OnGuardianDied",6;
+ if(@GDnum==17) guardian "aldeg_cas05.gat",49,225,"Knight Guardian",1286,1,"Guardian_A05::OnGuardianDied",7;
+ mes "[ Brimhemsen ]";
+ mes "Guardian has been installed, guardian will protect our guild base against enemies.";
+ close;
+}
diff --git a/npc/guild/aldeg/aldeg_treas.txt b/npc/guild/aldeg/aldeg_treas.txt
new file mode 100644
index 000000000..0e5925e50
--- /dev/null
+++ b/npc/guild/aldeg/aldeg_treas.txt
@@ -0,0 +1,131 @@
+//===== eAthena Script =======================================
+//= War of Emperium Treasure Rooms for Al De Baran Guild Castles
+//===== By: ==================================================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= v1.2 Optimized with functions.[kobra_k88]
+//============================================================
+
+
+//<=============================== Castle 1 =================================>\\
+
+// Treasure Spawn -----------------------
+aldeg_cas01.gat,1,1,1 script Treasure_A01 -1,{
+
+OnRecvCastleA01:
+ if($boxNumA01 == 0) end;
+ set $@bxA01, $boxNumA01;
+// callfunc "F_GldTreas","aldeg_cas01","A01",$boxNumA01,$@bxA01,$@boxIdA01,1324,114,218,123,227,1;
+ end;
+
+OnDied:
+ mapannounce "aldeg_cas01.gat","Treasure Chest Broken Open",17;
+ set $boxNumA01, $boxNumA01 -1;
+ if($boxNumA01 == 0) mapannounce "aldeg_cas01.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Treasure Room Switch --------------------
+aldeg_cas01.gat,123,223,0 script Switch#TresA01 111,{
+ callfunc "F_GldTreasSw", "aldeg_cas01",218,176;
+ end;
+}
+
+//<================================ Castle 2 ================================>\\
+
+// Treasure Spawn ----------------------------
+aldeg_cas02.gat,1,1,1 script Treasure_A02 -1,{
+
+OnRecvCastleA02:
+ if($boxNumA02 == 0) end;
+ set $@bxA02, $boxNumA02;
+// callfunc "F_GldTreas","aldeg_cas02","A02",$boxNumA02,$@bxA02,$@boxIdA02,1326,130,226,138,235,1;
+ end;
+
+OnDied:
+ mapannounce "aldeg_cas02.gat","Treasure Chest Broken Open",17;
+ set $boxNumA02, $boxNumA02 -1;
+ if($boxNumA02 == 0) mapannounce "aldeg_cas02.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Treasure Room Switch ----------------------
+aldeg_cas02.gat,139,235,0 script Switch#TresA02 111,{
+ callfunc "F_GldTreasSw", "aldeg_cas02",78,75;
+}
+
+//<================================ Castle 3 ================================>\\
+
+// Treasure Spawn ---------------------------
+aldeg_cas03.gat,1,1,1 script Treasure_A03 -1,{
+
+OnRecvCastleA03:
+ if($boxNumA03 == 0) end;
+ set $@bxA03, $boxNumA03;
+// callfunc "F_GldTreas","aldeg_cas03","A03",$boxNumA03,$@bxA03,$@boxIdA03,1328,220,264,229,273,1;
+ end;
+
+OnDied:
+ mapannounce "aldeg_cas03.gat","Treasure Chest Broken Open",17;
+ set $boxNumA03, $boxNumA03 -1;
+ if($boxNumA03 == 0) mapannounce "aldeg_cas03.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Treasure Room Switch -----------------------
+aldeg_cas03.gat,229,267,0 script Switch#TresA03 111,{
+ callfunc "F_GldTreasSw", "aldeg_cas03",110,119;
+}
+
+//<================================ Castle 4 ================================>\\
+
+// Treasure Spawn -------------------------------
+aldeg_cas04.gat,1,1,1 script Treasure_A04 -1,{
+
+OnRecvCastleA04:
+ if($boxNumA04 == 0) end;
+ set $@bxA04, $boxNumA04;
+// callfunc "F_GldTreas","aldeg_cas04","A04",$boxNumA04,$@bxA04,$@boxIdA04,1330,80,8,89,17,1;
+ end;
+
+OnDied:
+ mapannounce "aldeg_cas04.gat","Treasure Chest Broken Open",17;
+ set $boxNumA04, $boxNumA04 -1;
+ if($boxNumA04 == 0) mapannounce "aldeg_cas04.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+
+}
+// Treasure Room Switch -------------------------
+aldeg_cas04.gat,83,17,0 script Switch#TresA04 111,{
+ callfunc "F_GldTreasSw", "aldeg_cas04",67,117;
+}
+
+//<================================ Castle 5 ================================>\\
+
+// Treasure Spawn ------------------------------------
+aldeg_cas05.gat,1,1,1 script Treasure_A05 -1,{
+
+OnRecvCastleA05:
+ if($boxNumA05 == 0) end;
+ set $@bxA05, $boxNumA05;
+// callfunc "F_GldTreas","aldeg_cas05","A05",$boxNumA05,$@bxA05,$@boxIdA05,1332,58,8,65,15,1;
+ end;
+
+OnDied:
+ mapannounce "aldeg_cas05.gat","Treasure Chest Broken Open",17;
+ set $boxNumA05, $boxNumA05 -1;
+ if($boxNumA05 == 0) mapannounce "aldeg_cas05.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Treasure Room Switch ---------------------------------
+aldeg_cas05.gat,64,8,0 script Switch#TresA05 111,{
+ callfunc "F_GldTreasSw", "aldeg_cas05",51,179;
+}
diff --git a/npc/guild/ev_agit_event.txt b/npc/guild/ev_agit_event.txt
new file mode 100644
index 000000000..4e79de3bf
--- /dev/null
+++ b/npc/guild/ev_agit_event.txt
@@ -0,0 +1,137 @@
+//===== eAthena Script =======================================
+//= War of Emperium - WoE Auto-Start
+//===== By: ==================================================
+//= kalen (1.0)
+//= 1.1 by Akaru and ho|yAnge|
+//===== Current Version: =====================================
+//= 1.5
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Auto Start for War of Emperium
+//=============================================
+//= gettime(3): Gets hour (24 hour time)
+//= gettime(4): Gets day of week 1=Monday, 2=Tuesday,
+//= 3=Wednesday, 4=Thursday, etc.
+//===== Additional Comments: =================================
+//= v1.1a changed OnInit to OnAgitInit.[kobra_k88]
+//= v1.2 added gettime checks. removed $AgitStarted var.[kobra_k88]
+//= v1.3 Moved treasure spawn time here.[kobra_k88]
+//= v1.3a Implemented Shadowlady's idea to allow for different
+//= start/stop times on different days.[kobra_k88]
+//= 1.4 Fixed treasure chests spawn! We had to unroll some loops
+//= Now they appear in castles from 00:01 to 00:24. [Lupus]
+//= 1.5 Fixed WOE end messages on non-WOE days, by Avaj
+//============================================================
+
+// WoE Start/Stop times
+//======================================
+- script Agit_Event -1,{
+ end;
+
+OnClock2100: //start time for Tues(2), Thurs(4)
+OnClock2300: //end time for Tues(2), Thurs(4)
+OnClock1600: //start time for Sat(6)
+OnClock1800: //end time for Sat(6)
+
+OnAgitInit:
+// starting time checks
+if((gettime(4)==2) && (gettime(3)>=21 && gettime(3)<23)) goto L_Start;
+if((gettime(4)==4) && (gettime(3)>=21 && gettime(3)<23)) goto L_Start;
+if((gettime(4)==6) && (gettime(3)>=16 && gettime(3)<18)) goto L_Start;
+
+// end time checks
+if((gettime(4)==2) && (gettime(3)==23)) goto L_End;
+if((gettime(4)==4) && (gettime(3)==23)) goto L_End;
+if((gettime(4)==6) && (gettime(3)==18)) goto L_End;
+ end;
+
+L_End:
+Announce "The War Of Emperium is over!",8;
+AgitEnd;
+end;
+
+L_Start:
+ Announce "The War Of Emperium has begun!",8;
+ AgitStart;
+ end;
+}
+
+// Treasure Spawn Time
+//========================================
+- script TreasSpawn -1,{
+ end;
+
+OnClock0001:
+ callfunc "F_GldTreas","aldeg_cas01","A01",$boxNumA01,$@bxA01,$@boxIdA01,1324,114,218,123,227,0;
+ end;
+OnClock0002:
+ callfunc "F_GldTreas","aldeg_cas02","A02",$boxNumA02,$@bxA02,$@boxIdA02,1326,130,226,138,235,0;
+ end;
+OnClock0003:
+ callfunc "F_GldTreas","aldeg_cas03","A03",$boxNumA03,$@bxA03,$@boxIdA03,1328,220,264,229,273,0;
+ end;
+OnClock0004:
+ callfunc "F_GldTreas","aldeg_cas04","A04",$boxNumA04,$@bxA04,$@boxIdA04,1330,80,8,89,17,0;
+ end;
+OnClock0005:
+ callfunc "F_GldTreas","aldeg_cas05","A05",$boxNumA05,$@bxA05,$@boxIdA05,1332,58,8,65,15,0;
+ end;
+OnClock0006:
+ callfunc "F_GldTreas","gefg_cas01","G01",$boxNumG01,$@bxG01,$@boxIdG01,1334,150,108,158,114,0;
+ end;
+OnClock0007:
+ callfunc "F_GldTreas","gefg_cas02","G02",$boxNumG02,$@bxG02,$@boxIdG02,1336,136,112,145,118,0;
+ end;
+OnClock0008:
+ callfunc "F_GldTreas","gefg_cas03","G03",$boxNumG03,$@bxG03,$@boxIdG03,1338,266,286,275,293,0;
+ end;
+OnClock0009:
+ callfunc "F_GldTreas","gefg_cas04","G04",$boxNumG04,$@bxG04,$@boxIdG04,1340,112,114,119,123,0;
+ end;
+OnClock0010:
+ callfunc "F_GldTreas","gefg_cas05","G05",$boxNumG05,$@bxG05,$@boxIdG05,1342,140,106,147,113,0;
+ end;
+OnClock0011:
+ callfunc "F_GldTreas","payg_cas01","Py01",$boxNumPy01,$@bxPy01,$@boxIdPy01,1344,286,4,295,13,0;
+ end;
+OnClock0012:
+ callfunc "F_GldTreas","payg_cas02","Py02",$boxNumPy02,$@bxPy02,$@boxIdPy02,1346,140,140,148,149,0;
+ end;
+OnClock0013:
+ callfunc "F_GldTreas","payg_cas03","Py03",$boxNumPy03,$@bxPy03,$@boxIdPy03,1348,154,164,162,173,0;
+ end;
+OnClock0014:
+ callfunc "F_GldTreas","payg_cas04","Py04",$boxNumPy04,$@bxPy04,$@boxIdPy04,1350,142,44,151,51,0;
+ end;
+OnClock0015:
+ callfunc "F_GldTreas","payg_cas05","Py05",$boxNumPy05,$@bxPy05,$@boxIdPy05,1352,152,128,160,135,0;
+ end;
+OnClock0016:
+ callfunc "F_GldTreas","prtg_cas01","Pt01",$boxNumPt01,$@bxPt01,$@boxIdPt01,1354,6,204,15,213,0;
+ end;
+OnClock0017:
+ callfunc "F_GldTreas","prtg_cas02","Pt02",$boxNumPt02,$@bxPt02,$@boxIdPt02,1356,198,224,207,233,0;
+ end;
+OnClock0018:
+ callfunc "F_GldTreas","prtg_cas03","Pt03",$boxNumPt03,$@bxPt03,$@boxIdPt03,1358,184,128,193,135,0;
+ end;
+OnClock0019:
+ callfunc "F_GldTreas","prtg_cas04","Pt04",$boxNumPt04,$@bxPt04,$@boxIdPt04,1360,266,158,275,167,0;
+ end;
+OnClock0020:
+ callfunc "F_GldTreas","prtg_cas05","Pt05",$boxNumPt05,$@bxPt05,$@boxIdPt05,1362,272,174,279,181,0;
+ end;
+OnClock0021:
+ callfunc "F_GldTreas","nguild_alde","N01",$boxNumN01,$@bxN01,$@boxIdN01,1324,114,218,123,227,0;
+ end;
+OnClock0022:
+ callfunc "F_GldTreas","nguild_gef","N02",$boxNumN02,$@bxN02,$@boxIdN02,1334,150,108,158,114,0;
+ end;
+OnClock0023:
+ callfunc "F_GldTreas","nguild_pay","N03",$boxNumN03,$@bxN03,$@boxIdN03,1344,286,4,295,13,0;
+ end;
+OnClock0024:
+ callfunc "F_GldTreas","nguild_prt","N04",$boxNumN04,$@bxN04,$@boxIdN04,1354,6,204,15,213,0;
+ end;
+}
diff --git a/npc/guild/gefg/gefg_dunsw.txt b/npc/guild/gefg/gefg_dunsw.txt
new file mode 100644
index 000000000..f7f794fd2
--- /dev/null
+++ b/npc/guild/gefg/gefg_dunsw.txt
@@ -0,0 +1,49 @@
+//===== eAthena Script =======================================
+//= War of Emperium Dungeon Switch for Geffen Guild Castles
+//===== By: ==================================================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Switch that warps guild members to the guild dungeon
+//===== Additional Comments: =================================
+//= v1.2 Optimized with functions.[kobra_k88]
+//============================================================
+
+
+// Castle 1 ================================================
+gefg_cas01.gat,78,84,0 script Switch#DunG01 111,{
+ callfunc "F_GldDunSw","gefg_cas01","04",39,258;
+ close;
+}
+
+
+// Castle 2 ================================================
+gefg_cas02.gat,167,40,0 script Switch#DunG02 111,{
+ callfunc "F_GldDunSw","gefg_cas02","04",125,270;
+ close;
+}
+
+
+// Castle 3 ================================================
+gefg_cas03.gat,221,43,0 script Switch#DunG03 111,{
+ callfunc "F_GldDunSw","gefg_cas03","04",268,251;
+ close;
+}
+
+
+// Castle 4 ================================================
+gefg_cas04.gat,58,75,0 script Switch#DunG04 111,{
+ callfunc "F_GldDunSw","gefg_cas04","04",268,108;
+ close;
+}
+
+
+// Castle 5 ================================================
+gefg_cas05.gat,66,29,0 script Switch#DunG05 111,{
+ callfunc "F_GldDunSw","gefg_cas05","04",230,35;
+ close;
+}
diff --git a/npc/guild/gefg/gefg_ev_agit.txt b/npc/guild/gefg/gefg_ev_agit.txt
new file mode 100644
index 000000000..26955818e
--- /dev/null
+++ b/npc/guild/gefg/gefg_ev_agit.txt
@@ -0,0 +1,146 @@
+//===== eAthena Script =======================================
+//= War of Emperium - Geffen Guild Wars Events
+//===== By: ==================================================
+//= jAthena (1.0)
+//= 1.1 by Akaru and ho|yAnge|
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Event Triggers of Geffen Guild Wars
+//===== Additional Comments: =================================
+//= v1.2 Now using functions for OnAgitStart and OnAgitBreak. [kobra_k88]
+//= 1.3 Added code for abandoning captured castles on /breakguild [Lupus]
+//============================================================
+
+
+// Castle 1 ================================================================
+gefg_cas01.gat,198,182,0 script Agit_G01 -1,{
+OnInterIfInitOnce:
+ GetCastleData "gefg_cas01.gat",0,"::OnRecvCastleG01";
+ end;
+OnRecvCastleG01:
+ RequestGuildInfo GetCastleData("gefg_cas01.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","gefg_cas01","G01",198,182;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","gefg_cas01","G01";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","gefg_cas01","G01";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "gefg_cas01.gat",GetCastleData("gefg_cas01.gat",1),6;
+ Monster "gefg_cas01.gat",198,182,"EMPERIUM",1288,1,"Agit_G01::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","gefg_cas01","G01";
+ end;
+}
+
+// Castle 2 ================================================================
+gefg_cas02.gat,176,178,0 script Agit_G02 -1,{
+OnInterIfInitOnce:
+ GetCastleData "gefg_cas02.gat",0,"::OnRecvCastleG02";
+ end;
+OnRecvCastleG02:
+ RequestGuildInfo GetCastleData("gefg_cas02.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","gefg_cas02","G02",176,178;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","gefg_cas02","G02";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","gefg_cas02","G02";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "gefg_cas02.gat",GetCastleData("gefg_cas02.gat",1),6;
+ Monster "gefg_cas02.gat",176,178,"EMPERIUM",1288,1,"Agit_G02::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","gefg_cas02","G02";
+ end;
+}
+
+// Castle 3 ================================================================
+gefg_cas03.gat,245,167,0 script Agit_G03 -1,{
+OnInterIfInitOnce:
+ GetCastleData "gefg_cas03.gat",0,"::OnRecvCastleG03";
+ end;
+OnRecvCastleG03:
+ RequestGuildInfo GetCastleData("gefg_cas03.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","gefg_cas03","G03",245,167;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","gefg_cas03","G03";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","gefg_cas03","G03";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "gefg_cas03.gat",GetCastleData("gefg_cas03.gat",1),6;
+ Monster "gefg_cas03.gat",245,167,"EMPERIUM",1288,1,"Agit_G03::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","gefg_cas03","G03";
+ end;
+}
+
+// Castle 4 ================================================================
+gefg_cas04.gat,174,178,0 script Agit_G04 -1,{
+OnInterIfInitOnce:
+ GetCastleData "gefg_cas04.gat",0,"::OnRecvCastleG04";
+ end;
+OnRecvCastleG04:
+ RequestGuildInfo GetCastleData("gefg_cas04.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","gefg_cas04","G04",174,178;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","gefg_cas04","G04";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","gefg_cas04","G04";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "gefg_cas04.gat",GetCastleData("gefg_cas04.gat",1),6;
+ Monster "gefg_cas04.gat",174,178,"EMPERIUM",1288,1,"Agit_G04::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","gefg_cas04","G04";
+ end;
+}
+
+// Castle 5 ================================================================
+gefg_cas05.gat,194,184,0 script Agit_G05 -1,{
+OnInterIfInitOnce:
+ GetCastleData "gefg_cas05.gat",0,"::OnRecvCastleG05";
+ end;
+OnRecvCastleG05:
+ RequestGuildInfo GetCastleData("gefg_cas05.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","gefg_cas05","G05",194,184;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","gefg_cas05","G05";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","gefg_cas05","G05";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "gefg_cas05.gat",GetCastleData("gefg_cas05.gat",1),6;
+ Monster "gefg_cas05.gat",194,184,"EMPERIUM",1288,1,"Agit_G05::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","gefg_cas05","G05";
+ end;
+}
diff --git a/npc/guild/gefg/gefg_flags.txt b/npc/guild/gefg/gefg_flags.txt
new file mode 100644
index 000000000..b3eedd5d6
--- /dev/null
+++ b/npc/guild/gefg/gefg_flags.txt
@@ -0,0 +1,192 @@
+//===== eAthena Script =======================================
+//= War of Emperium Geffen Guild Flags
+//===== By: ==================================================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= WoE flag scripts. Display guild emblems on flags.
+//===== Additional Comments: =================================
+//= v1.2 Optimized with functions.[kobra_k88]
+//= v1.3 Changed to iRO castle names [DracoRPG]
+//= v1.4 Can now only flag in from outside the castle [Kayla]
+//============================================================
+
+
+//================================================================================//
+// Castle 1
+//================================================================================//
+geffen.gat,109,123,2 script Repherion#g1-1::Repherion 722,{
+ callfunc "F_Flags","Geffen","gefg_cas01",83,47,0;
+ close;
+
+OnRecvCastleG01:
+ FlagEmblem GetCastleData("gefg_cas01.gat",1);
+ end;
+}
+
+gef_fild13.gat,148,51,5 script Repherion#g1-2::Repherion2 722,{
+ callfunc "F_Flags","Geffen","gefg_cas01",83,47,1;
+ close;
+
+OnRecvCastleG01:
+ FlagEmblem GetCastleData("gefg_cas01.gat",1);
+ end;
+}
+
+// In Guild ===============================================
+gef_fild13.gat,155,54,5 duplicate(Repherion2) Repherion#g1-3 722
+gef_fild13.gat,212,79,6 duplicate(Repherion2) Repherion#g1-4 722
+gef_fild13.gat,211,71,6 duplicate(Repherion2) Repherion#g1-5 722
+// In Castle =============================================
+gefg_cas01.gat,28,157,4 duplicate(Repherion) Repherion#g1-6 722
+gefg_cas01.gat,32,157,4 duplicate(Repherion) Repherion#g1-7 722
+gefg_cas01.gat,22,156,5 duplicate(Repherion) Repherion#g1-8 722
+gefg_cas01.gat,68,185,3 duplicate(Repherion) Repherion#g1-9 722
+gefg_cas01.gat,17,171,5 duplicate(Repherion) Repherion#g1-10 722
+gefg_cas01.gat,59,16,4 duplicate(Repherion) Repherion#g1-11 722
+gefg_cas01.gat,64,16,4 duplicate(Repherion) Repherion#g1-12 722
+
+
+
+//===================================================================================//
+// Castle 2
+//===================================================================================//
+geffen.gat,113,130,1 script Eeyolbriggar#g2-1::Eeyolbriggar 722,{
+ callfunc "F_Flags","Geffen","gefg_cas02",23,66,0;
+ close;
+
+OnRecvCastleG02:
+ FlagEmblem GetCastleData("gefg_cas02.gat",1);
+ end;
+}
+
+gef_fild13.gat,303,243,4 script Eeyolbriggar#g2-2::Eeyolbriggar2 722,{
+ callfunc "F_Flags","Geffen","gefg_cas02",23,66,1;
+ close;
+
+OnRecvCastleG02:
+ FlagEmblem GetCastleData("gefg_cas02.gat",1);
+ end;
+}
+// In Guild ==============================================
+gef_fild13.gat,312,243,4 duplicate(Eeyolbriggar2) Eeyolbriggar#g2-3 722
+gef_fild13.gat,290,243,4 duplicate(Eeyolbriggar2) Eeyolbriggar#g2-4 722
+gef_fild13.gat,324,243,4 duplicate(Eeyolbriggar2) Eeyolbriggar#g2-5 722
+// In Castle ============================================
+gefg_cas02.gat,65,130,5 duplicate(Eeyolbriggar) Eeyolbriggar#g2-6 722
+gefg_cas02.gat,30,123,5 duplicate(Eeyolbriggar) Eeyolbriggar#g2-7 722
+gefg_cas02.gat,65,139,6 duplicate(Eeyolbriggar) Eeyolbriggar#g2-8 722
+gefg_cas02.gat,37,177,6 duplicate(Eeyolbriggar) Eeyolbriggar#g2-9 722
+gefg_cas02.gat,37,168,6 duplicate(Eeyolbriggar) Eeyolbriggar#g2-10 722
+gefg_cas02.gat,68,47,2 duplicate(Eeyolbriggar) Eeyolbriggar#g2-11 722
+gefg_cas02.gat,68,36,2 duplicate(Eeyolbriggar) Eeyolbriggar#g2-12 722
+
+
+
+//================================================================================//
+// Castle 3
+//================================================================================//
+geffen.gat,120,132,8 script Yesnelph#g3-1::Yesnelph 722,{
+ callfunc "F_Flags","Geffen","gefg_cas03",116,89,0;
+ close;
+
+OnRecvCastleG03:
+ FlagEmblem GetCastleData("gefg_cas03.gat",1);
+ end;
+}
+
+gef_fild13.gat,78,182,4 script Yesnelph#g3-2::Yesnelph2 722,{
+ callfunc "F_Flags","Geffen","gefg_cas03",116,89,1;
+ close;
+
+OnRecvCastleG03:
+ FlagEmblem GetCastleData("gefg_cas03.gat",1);
+ end;
+}
+// In Guild ===============================================
+gef_fild13.gat,87,182,4 duplicate(Yesnelph2) Yesnelph#g3-3 722
+gef_fild13.gat,73,295,7 duplicate(Yesnelph2) Yesnelph#g3-4 722
+gef_fild13.gat,113,274,7 duplicate(Yesnelph2) Yesnelph#g3-5 722
+gef_fild13.gat,144,235,6 duplicate(Yesnelph2) Yesnelph#g3-6 722
+gef_fild13.gat,144,244,4 duplicate(Yesnelph2) Yesnelph#g3-7 722
+// In Castle =============================================
+gefg_cas03.gat,122,220,6 duplicate(Yesnelph) Yesnelph#g3-8 722
+gefg_cas03.gat,122,229,6 duplicate(Yesnelph) Yesnelph#g3-9 722
+gefg_cas03.gat,91,257,7 duplicate(Yesnelph) Yesnelph#g3-10 722
+gefg_cas03.gat,52,276,7 duplicate(Yesnelph) Yesnelph#g3-11 722
+gefg_cas03.gat,56,164,4 duplicate(Yesnelph) Yesnelph#g3-12 722
+gefg_cas03.gat,65,164,4 duplicate(Yesnelph) Yesnelph#g3-13 722
+gefg_cas03.gat,37,214,1 duplicate(Yesnelph) Yesnelph#g3-14 722
+gefg_cas03.gat,34,208,1 duplicate(Yesnelph) Yesnelph#g3-15 722
+
+
+
+//================================================================================//
+// Castle 4
+//================================================================================//
+geffen.gat,127,130,7 script Bergel#g4-1::Bergel 722,{
+ callfunc "F_Flags","Geffen","gefg_cas04",59,70,0;
+ close;
+
+OnRecvCastleG04:
+ FlagEmblem GetCastleData("gefg_cas04.gat",1);
+ end;
+}
+
+gef_fild13.gat,190,283,3 script Bergel#g4-2::Bergel2 722,{
+ callfunc "F_Flags","Geffen","gefg_cas04",59,70,1;
+ close;
+
+OnRecvCastleG04:
+ FlagEmblem GetCastleData("gefg_cas04.gat",1);
+ end;
+}
+// In Guild ===============================================
+gef_fild13.gat,199,274,3 duplicate(Bergel2) Bergel#g4-3 722
+// In Castle =============================================
+gefg_cas04.gat,24,157,4 duplicate(Bergel) Bergel#g4-4 722
+gefg_cas04.gat,35,158,4 duplicate(Bergel) Bergel#g4-5 722
+gefg_cas04.gat,44,184,4 duplicate(Bergel) Bergel#g4-6 722
+gefg_cas04.gat,51,184,4 duplicate(Bergel) Bergel#g4-7 722
+gefg_cas04.gat,39,212,7 duplicate(Bergel) Bergel#g4-8 722
+gefg_cas04.gat,29,212,1 duplicate(Bergel) Bergel#g4-9 722
+gefg_cas04.gat,24,73,1 duplicate(Bergel) Bergel#g4-10 722
+gefg_cas04.gat,35,73,4 duplicate(Bergel) Bergel#g4-11 722
+
+
+
+//================================================================================//
+// Castle 5
+//================================================================================//
+geffen.gat,131,123,6 script Mersetzdeitz#g5-1::Mersetzdeitz 722,{
+ callfunc "F_Flags","Geffen","gefg_cas05",61,52,0;
+ close;
+
+OnRecvCastleG05:
+ FlagEmblem GetCastleData("gefg_cas05.gat",1);
+ end;
+}
+
+gef_fild13.gat,302,87,7 script Mersetzdeitz#g5-2::Mersetzdeitz2 722,{
+ callfunc "F_Flags","Geffen","gefg_cas05",61,52,1;
+ close;
+
+OnRecvCastleG05:
+ FlagEmblem GetCastleData("gefg_cas05.gat",1);
+ end;
+}
+// In Guild ===============================================
+gef_fild13.gat,313,83,0 duplicate(Mersetzdeitz2) Mersetzdeitz#g5-3 722
+gef_fild13.gat,252,51,2 duplicate(Mersetzdeitz2) Mersetzdeitz#g5-4 722
+gef_fild13.gat,26,147,2 duplicate(Mersetzdeitz2) Mersetzdeitz#g5-5 722
+// In Castle =============================================
+gefg_cas05.gat,77,185,7 duplicate(Mersetzdeitz) Mersetzdeitz#g5-6 722
+gefg_cas05.gat,92,181,0 duplicate(Mersetzdeitz) Mersetzdeitz#g5-7 722
+gefg_cas05.gat,83,158,1 duplicate(Mersetzdeitz) Mersetzdeitz#g5-8 722
+gefg_cas05.gat,62,144,7 duplicate(Mersetzdeitz) Mersetzdeitz#g5-9 722
+gefg_cas05.gat,62,66,4 duplicate(Mersetzdeitz) Mersetzdeitz#g5-10 722
+gefg_cas05.gat,69,66,4 duplicate(Mersetzdeitz) Mersetzdeitz#g5-11 722
diff --git a/npc/guild/gefg/gefg_guardians.txt b/npc/guild/gefg/gefg_guardians.txt
new file mode 100644
index 000000000..13947fd12
--- /dev/null
+++ b/npc/guild/gefg/gefg_guardians.txt
@@ -0,0 +1,108 @@
+//===== eAthena Script =======================================
+//= War of Emperium - gefg_cas guardians script
+//===== By: ==================================================
+//= holyAngelX (1.0)
+//===== Current Version: =====================================
+//= 1.2a
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Re-spawns guardians on server start if they have been
+//= purchased. Also announces when a guardian dies.
+//===== Additional Comments: =================================
+//= 1.1 by joedukk
+//= 1.2 by Akaru and Valaris
+//= 1.2a Guardians for all gefg castles are now in this file.
+//= Minor optimizations.[kobra_k88]
+//============================================================
+
+
+gefg_cas01.gat,198,182,0 script Guardian_G01 -1,{
+OnAgitInit:
+ if (GetCastleData("gefg_cas01.gat",10) == 1) guardian "gefg_cas01.gat",30,178,"Soldier Guardian",1287,1,"Guardian_G01::OnGuardianDied",0;
+ if (GetCastleData("gefg_cas01.gat",11) == 1) guardian "gefg_cas01.gat",64,180,"Soldier Guardian",1287,1,"Guardian_G01::OnGuardianDied",1;
+ if (GetCastleData("gefg_cas01.gat",12) == 1) guardian "gefg_cas01.gat",61,25,"Soldier Guardian",1287,1,"Guardian_G01::OnGuardianDied",2;
+ if (GetCastleData("gefg_cas01.gat",13) == 1) guardian "gefg_cas01.gat",61,44,"Archer Guardian",1285,1,"Guardian_G01::OnGuardianDied",3;
+ if (GetCastleData("gefg_cas01.gat",14) == 1) guardian "gefg_cas01.gat",189,43,"Archer Guardian",1285,1,"Guardian_G01::OnGuardianDied",4;
+ if (GetCastleData("gefg_cas01.gat",15) == 1) guardian "gefg_cas01.gat",51,192,"Knight Guardian",1286,1,"Guardian_G01::OnGuardianDied",5;
+ if (GetCastleData("gefg_cas01.gat",16) == 1) guardian "gefg_cas01.gat",49,67,"Knight Guardian",1286,1,"Guardian_G01::OnGuardianDied",6;
+ if (GetCastleData("gefg_cas01.gat",17) == 1) guardian "gefg_cas01.gat",181,14,"Knight Guardian",1286,1,"Guardian_G01::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "gefg_cas01.gat","A Guardian Has Fallen",17;
+ end;
+}
+//------------------------------------------------------------------------------
+gefg_cas02.gat,176,178,0 script Guardian_G02 -1,{
+OnAgitInit:
+ if (GetCastleData("gefg_cas02.gat",10) == 1) guardian "gefg_cas02.gat",22,135,"Soldier Guardian",1287,1,"Guardian_G02::OnGuardianDied",0;
+ if (GetCastleData("gefg_cas02.gat",11) == 1) guardian "gefg_cas02.gat",33,40,"Soldier Guardian",1287,1,"Guardian_G02::OnGuardianDied",1;
+ if (GetCastleData("gefg_cas02.gat",12) == 1) guardian "gefg_cas02.gat",158,11,"Soldier Guardian",1287,1,"Guardian_G02::OnGuardianDied",2;
+ if (GetCastleData("gefg_cas02.gat",13) == 1) guardian "gefg_cas02.gat",64,140,"Archer Guardian",1285,1,"Guardian_G02::OnGuardianDied",3;
+ if (GetCastleData("gefg_cas02.gat",14) == 1) guardian "gefg_cas02.gat",36,140,"Archer Guardian",1285,1,"Guardian_G02::OnGuardianDied",4;
+ if (GetCastleData("gefg_cas02.gat",15) == 1) guardian "gefg_cas02.gat",166,45,"Knight Guardian",1286,1,"Guardian_G02::OnGuardianDied",5;
+ if (GetCastleData("gefg_cas02.gat",16) == 1) guardian "gefg_cas02.gat",10,39,"Knight Guardian",1286,1,"Guardian_G02::OnGuardianDied",6;
+ if (GetCastleData("gefg_cas02.gat",17) == 1) guardian "gefg_cas02.gat",166,35,"Knight Guardian",1286,1,"Guardian_G02::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "gefg_cas02.gat","A Guardian Has Fallen",17;
+ end;
+}
+//------------------------------------------------------------------------------
+gefg_cas03.gat,245,167,0 script Guardian_G03 -1,{
+OnAgitInit:
+ if (GetCastleData("gefg_cas03.gat",10) == 1) guardian "gefg_cas03.gat",101,53,"Soldier Guardian",1287,1,"Guardian_G03::OnGuardianDied",0;
+ if (GetCastleData("gefg_cas03.gat",11) == 1) guardian "gefg_cas03.gat",158,40,"Soldier Guardian",1287,1,"Guardian_G03::OnGuardianDied",1;
+ if (GetCastleData("gefg_cas03.gat",12) == 1) guardian "gefg_cas03.gat",158,67,"Soldier Guardian",1287,1,"Guardian_G03::OnGuardianDied",2;
+ if (GetCastleData("gefg_cas03.gat",13) == 1) guardian "gefg_cas03.gat",229,53,"Archer Guardian",1285,1,"Guardian_G03::OnGuardianDied",3;
+ if (GetCastleData("gefg_cas03.gat",14) == 1) guardian "gefg_cas03.gat",248,53,"Archer Guardian",1285,1,"Guardian_G03::OnGuardianDied",4;
+ if (GetCastleData("gefg_cas03.gat",15) == 1) guardian "gefg_cas03.gat",122,53,"Knight Guardian",1286,1,"Guardian_G03::OnGuardianDied",5;
+ if (GetCastleData("gefg_cas03.gat",16) == 1) guardian "gefg_cas03.gat",243,35,"Knight Guardian",1286,1,"Guardian_G03::OnGuardianDied",6;
+ if (GetCastleData("gefg_cas03.gat",17) == 1) guardian "gefg_cas03.gat",234,33,"Knight Guardian",1286,1,"Guardian_G03::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "gefg_cas03.gat","A Guardian Has Fallen",17;
+ end;
+}
+//------------------------------------------------------------------------------
+gefg_cas04.gat,174,178,0 script Guardian_G04 -1,{
+OnAgitInit:
+ if (GetCastleData("gefg_cas04.gat",10) == 1) guardian "gefg_cas04.gat",49,203,"Soldier Guardian",1287,1,"Guardian_G04::OnGuardianDied",0;
+ if (GetCastleData("gefg_cas04.gat",11) == 1) guardian "gefg_cas04.gat",148,50,"Soldier Guardian",1287,1,"Guardian_G04::OnGuardianDied",1;
+ if (GetCastleData("gefg_cas04.gat",12) == 1) guardian "gefg_cas04.gat",57,20,"Soldier Guardian",1287,1,"Guardian_G04::OnGuardianDied",2;
+ if (GetCastleData("gefg_cas04.gat",13) == 1) guardian "gefg_cas04.gat",34,218,"Archer Guardian",1285,1,"Guardian_G04::OnGuardianDied",3;
+ if (GetCastleData("gefg_cas04.gat",14) == 1) guardian "gefg_cas04.gat",167,42,"Archer Guardian",1285,1,"Guardian_G04::OnGuardianDied",4;
+ if (GetCastleData("gefg_cas04.gat",15) == 1) guardian "gefg_cas04.gat",18,52,"Knight Guardian",1286,1,"Guardian_G04::OnGuardianDied",5;
+ if (GetCastleData("gefg_cas04.gat",16) == 1) guardian "gefg_cas04.gat",50,48,"Knight Guardian",1286,1,"Guardian_G04::OnGuardianDied",6;
+ if (GetCastleData("gefg_cas04.gat",17) == 1) guardian "gefg_cas04.gat",160,66,"Knight Guardian",1286,1,"Guardian_G04::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "gefg_cas04.gat","A Guardian Has Fallen",17;
+ end;
+}
+//------------------------------------------------------------------------------
+gefg_cas05.gat,194,184,0 script Guardian_G05 -1,{
+OnAgitInit:
+ if (GetCastleData("gefg_cas05.gat",10) == 1) guardian "gefg_cas05.gat",54,149,"Soldier Guardian",1287,1,"Guardian_G05::OnGuardianDied",0;
+ if (GetCastleData("gefg_cas05.gat",11) == 1) guardian "gefg_cas05.gat",80,31,"Soldier Guardian",1287,1,"Guardian_G05::OnGuardianDied",1;
+ if (GetCastleData("gefg_cas05.gat",12) == 1) guardian "gefg_cas05.gat",52,32,"Soldier Guardian",1287,1,"Guardian_G05::OnGuardianDied",2;
+ if (GetCastleData("gefg_cas05.gat",13) == 1) guardian "gefg_cas05.gat",77,149,"Archer Guardian",1285,1,"Guardian_G05::OnGuardianDied",3;
+ if (GetCastleData("gefg_cas05.gat",14) == 1) guardian "gefg_cas05.gat",65,18,"Archer Guardian",1285,1,"Guardian_G05::OnGuardianDied",4;
+ if (GetCastleData("gefg_cas05.gat",15) == 1) guardian "gefg_cas05.gat",66,54,"Knight Guardian",1286,1,"Guardian_G05::OnGuardianDied",5;
+ if (GetCastleData("gefg_cas05.gat",16) == 1) guardian "gefg_cas05.gat",187,43,"Knight Guardian",1286,1,"Guardian_G05::OnGuardianDied",6;
+ if (GetCastleData("gefg_cas05.gat",17) == 1) guardian "gefg_cas05.gat",167,43,"Knight Guardian",1286,1,"Guardian_G05::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "gefg_cas05.gat","A Guardian Has Fallen",17;
+ end;
+}
diff --git a/npc/guild/gefg/gefg_kafras.txt b/npc/guild/gefg/gefg_kafras.txt
new file mode 100644
index 000000000..2080fecc4
--- /dev/null
+++ b/npc/guild/gefg/gefg_kafras.txt
@@ -0,0 +1,66 @@
+//===== eAthena Script =======================================
+//= War of Emperium Kafras for Geffen Guild Castles
+//===== By: ==================================================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Provides Kafra services for guild members of Geffen Castles.
+//= Used in conjuction with function F_Kafra.
+//===== Additional Comments: =================================
+//= v1.2 Optimized with functions.[kobra_k88]
+//============================================================
+
+
+// Castle 1 ===============================================
+//gefg_cas01.gat,96,173,0 script Kafra Service#G01 117,{
+gefg_cas01.gat,35,37,0 script Kafra Service#G01 117,{
+ callfunc "F_GKafra", "gefg_cas01", "Geffen";
+ end;
+OnRecvCastleG01:
+ if (GetCastleData("gefg_cas01.gat",9) < 1) disablenpc "Kafra Service#G01";
+ end;
+}
+
+
+// Castle 2 ===============================================
+gefg_cas02.gat,23,66,3 script Kafra Service#G02 117,{
+ callfunc "F_GKafra", "gefg_cas02", "Geffen";
+ end;
+OnRecvCastleG02:
+ if (GetCastleData("gefg_cas02.gat",9) < 1) disablenpc "Kafra Service#G02";
+ end;
+}
+
+
+// Castle 3 ===============================================
+gefg_cas03.gat,116,89,5 script Kafra Service#G03 117,{
+ callfunc "F_GKafra", "gefg_cas03", "Geffen";
+ end;
+OnRecvCastleG03:
+ if (GetCastleData("gefg_cas03.gat",9) < 1) disablenpc "Kafra Service#G03";
+ end;
+}
+
+
+// Castle 4 ===============================================
+gefg_cas04.gat,59,70,3 script Kafra Service#G04 117,{
+ callfunc "F_GKafra", "gefg_cas04", "Geffen";
+ end;
+OnRecvCastleG04:
+ if (GetCastleData("gefg_cas04.gat",9) < 1) disablenpc "Kafra Service#G04";
+ end;
+}
+
+
+// Castle 5 ===============================================
+gefg_cas05.gat,61,52,5 script Kafra Service#G05 117,{
+ callfunc "F_GKafra", "gefg_cas05", "Geffen";
+ end;
+OnRecvCastleG05:
+ if (GetCastleData("gefg_cas05.gat",9) < 1) disablenpc "Kafra Service#G05";
+ end;
+}
diff --git a/npc/guild/gefg/gefg_managers.txt b/npc/guild/gefg/gefg_managers.txt
new file mode 100644
index 000000000..07e62e5bc
--- /dev/null
+++ b/npc/guild/gefg/gefg_managers.txt
@@ -0,0 +1,104 @@
+//===== eAthena Script =======================================
+//= War of Emperium Managers for Geffen Guild Castles
+//===== By: ==================================================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= v1.2 Optimized with functions.[kobra_k88]
+//============================================================
+
+
+// Castle 1 ==================================================================================
+gefg_cas01.gat,40,48,5 script Gnaucher 55,{
+ if(callfunc("F_GldManager","Gnaucher","gefg_cas01",155,112,"G01") == 0) close;
+
+ if(@GDnum==10) guardian "gefg_cas01.gat",30,178,"Soldier Guardian",1287,1,"Guardian_G01::OnGuardianDied",0;
+ if(@GDnum==11) guardian "gefg_cas01.gat",64,180,"Soldier Guardian",1287,1,"Guardian_G01::OnGuardianDied",1;
+ if(@GDnum==12) guardian "gefg_cas01.gat",61,25,"Soldier Guardian",1287,1,"Guardian_G01::OnGuardianDied",2;
+ if(@GDnum==13) guardian "gefg_cas01.gat",61,44,"Archer Guardian",1285,1,"Guardian_G01::OnGuardianDied",3;
+ if(@GDnum==14) guardian "gefg_cas01.gat",189,43,"Archer Guardian",1285,1,"Guardian_G01::OnGuardianDied",4;
+ if(@GDnum==15) guardian "gefg_cas01.gat",51,192,"Knight Guardian",1286,1,"Guardian_G01::OnGuardianDied",5;
+ if(@GDnum==16) guardian "gefg_cas01.gat",49,67,"Knight Guardian",1286,1,"Guardian_G01::OnGuardianDied",6;
+ if(@GDnum==17) guardian "gefg_cas01.gat",181,14,"Knight Guardian",1286,1,"Guardian_G01::OnGuardianDied",7;
+ mes "[ Gnaucher ]";
+ mes "Guardian has been installed, guardian will protect our guild base against enemies.";
+ close;
+}
+
+
+// Castle 2 ==================================================================================
+gefg_cas02.gat,12,66,5 script Esmark 55,{
+ if(callfunc("F_GldManager","Esmark","gefg_cas02",141,115,"G02") == 0) close;
+
+ if(@GDnum==10) guardian "gefg_cas02.gat",22,135,"Soldier Guardian",1287,1,"Guardian_G01::OnGuardianDied",0;
+ if(@GDnum==11) guardian "gefg_cas02.gat",33,40,"Soldier Guardian",1287,1,"Guardian_G01::OnGuardianDied",1;
+ if(@GDnum==12) guardian "gefg_cas02.gat",158,11,"Soldier Guardian",1287,1,"Guardian_G01::OnGuardianDied",2;
+ if(@GDnum==13) guardian "gefg_cas02.gat",64,140,"Archer Guardian",1285,1,"Guardian_G01::OnGuardianDied",3;
+ if(@GDnum==14) guardian "gefg_cas02.gat",36,140,"Archer Guardian",1285,1,"Guardian_G01::OnGuardianDied",4;
+ if(@GDnum==15) guardian "gefg_cas02.gat",166,45,"Knight Guardian",1286,1,"Guardian_G01::OnGuardianDied",5;
+ if(@GDnum==16) guardian "gefg_cas02.gat",10,39,"Knight Guardian",1286,1,"Guardian_G01::OnGuardianDied",6;
+ if(@GDnum==17) guardian "gefg_cas02.gat",166,35,"Knight Guardian",1286,1,"Guardian_G01::OnGuardianDied",7;
+ mes "[ Esmark ]";
+ mes "Guardian has been installed, guardian will protect our guild base against enemies.";
+ close;
+}
+
+
+// Castle 3 ==================================================================================
+gefg_cas03.gat,106,23,5 script Jyang 55,{
+ if(callfunc("F_GldManager","Jyang","gefg_cas03",270,290,"G03") == 0) close;
+
+ if(@GDnum==10) guardian "gefg_cas03.gat",101,53,"Soldier Guardian",1287,1,"Guardian_G03::OnGuardianDied",0;
+ if(@GDnum==11) guardian "gefg_cas03.gat",158,40,"Soldier Guardian",1287,1,"Guardian_G03::OnGuardianDied",1;
+ if(@GDnum==12) guardian "gefg_cas03.gat",158,67,"Soldier Guardian",1287,1,"Guardian_G03::OnGuardianDied",2;
+ if(@GDnum==13) guardian "gefg_cas03.gat",229,53,"Archer Guardian",1285,1,"Guardian_G03::OnGuardianDied",3;
+ if(@GDnum==14) guardian "gefg_cas03.gat",248,53,"Archer Guardian",1285,1,"Guardian_G03::OnGuardianDied",4;
+ if(@GDnum==15) guardian "gefg_cas03.gat",122,53,"Knight Guardian",1286,1,"Guardian_G03::OnGuardianDied",5;
+ if(@GDnum==16) guardian "gefg_cas03.gat",243,35,"Knight Guardian",1286,1,"Guardian_G03::OnGuardianDied",6;
+ if(@GDnum==17) guardian "gefg_cas03.gat",234,33,"Knight Guardian",1286,1,"Guardian_G03::OnGuardianDied",7;
+ mes "[ Jyang ]";
+ mes "Guardian has been installed, guardian will protect our guild base against enemies.";
+ close;
+}
+
+
+// Castle 4 ==================================================================================
+gefg_cas04.gat,73,46,5 script Kelbany 55,{
+ if(callfunc("F_GldManager","Kelbany","gefg_cas04",116,118,"G04") == 0) close;
+
+ if(@GDnum==10) guardian "gefg_cas04.gat",49,203,"Soldier Guardian",1287,1,"Guardian_G04::OnGuardianDied",0;
+ if(@GDnum==11) guardian "gefg_cas04.gat",148,50,"Soldier Guardian",1287,1,"Guardian_G04::OnGuardianDied",1;
+ if(@GDnum==12) guardian "gefg_cas04.gat",57,20,"Soldier Guardian",1287,1,"Guardian_G04::OnGuardianDied",2;
+ if(@GDnum==13) guardian "gefg_cas04.gat",34,218,"Archer Guardian",1285,1,"Guardian_G04::OnGuardianDied",3;
+ if(@GDnum==14) guardian "gefg_cas04.gat",167,42,"Archer Guardian",1285,1,"Guardian_G04::OnGuardianDied",4;
+ if(@GDnum==15) guardian "gefg_cas04.gat",18,52,"Knight Guardian",1286,1,"Guardian_G04::OnGuardianDied",5;
+ if(@GDnum==16) guardian "gefg_cas04.gat",50,48,"Knight Guardian",1286,1,"Guardian_G04::OnGuardianDied",6;
+ if(@GDnum==17) guardian "gefg_cas04.gat",160,66,"Knight Guardian",1286,1,"Guardian_G04::OnGuardianDied",7;
+ mes "[ Kelbany ]";
+ mes "Guardian has been installed, guardian will protect our guild base against enemies.";
+ close;
+}
+
+
+// Castle 5 ==================================================================================
+gefg_cas05.gat,70,52,5 script Beeor 55,{
+ if(callfunc("F_GldManager","Beeor","gefg_cas05",144,110,"G05") == 0) close;
+
+ if(@GDnum==10) guardian "gefg_cas05.gat",54,149,"Soldier Guardian",1287,1,"Guardian_G05::OnGuardianDied",0;
+ if(@GDnum==11) guardian "gefg_cas05.gat",80,31,"Soldier Guardian",1287,1,"Guardian_G05::OnGuardianDied",1;
+ if(@GDnum==12) guardian "gefg_cas05.gat",52,32,"Soldier Guardian",1287,1,"Guardian_G05::OnGuardianDied",2;
+ if(@GDnum==13) guardian "gefg_cas05.gat",77,149,"Archer Guardian",1285,1,"Guardian_G05::OnGuardianDied",3;
+ if(@GDnum==14) guardian "gefg_cas05.gat",65,18,"Archer Guardian",1285,1,"Guardian_G05::OnGuardianDied",4;
+ if(@GDnum==15) guardian "gefg_cas05.gat",66,54,"Knight Guardian",1286,1,"Guardian_G05::OnGuardianDied",5;
+ if(@GDnum==16) guardian "gefg_cas05.gat",187,43,"Knight Guardian",1286,1,"Guardian_G05::OnGuardianDied",6;
+ if(@GDnum==17) guardian "gefg_cas05.gat",167,43,"Knight Guardian",1286,1,"Guardian_G05::OnGuardianDied",7;
+ mes "[ Beeor ]";
+ mes "Guardian has been installed, guardian will protect our guild base against enemies.";
+ close;
+}
diff --git a/npc/guild/gefg/gefg_treas.txt b/npc/guild/gefg/gefg_treas.txt
new file mode 100644
index 000000000..84e2c6dca
--- /dev/null
+++ b/npc/guild/gefg/gefg_treas.txt
@@ -0,0 +1,138 @@
+//===== eAthena Script =======================================
+//= War of Emperium Treasure Rooms for Geffen Guild Castles
+//===== By: ==================================================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= v1.2 Optimized with functions.[kobra_k88]
+//============================================================
+
+
+//<============================ Castle 1 ==================================>\\
+
+// Treasure Spawn ---------------------------------------------------------
+gefg_cas01.gat,1,1,1 script Treasure_G01 -1,{
+
+OnRecvCastleG01:
+ if($boxNumG01 == 0) end;
+ set $@bxG01, $boxNumG01;
+// callfunc "F_GldTreas","gefg_cas01","G01",$boxNumG01,$@bxG01,$@boxIdG01,1334,150,108,158,114,1;
+ end;
+
+OnDied:
+ mapannounce "gefg_cas01.gat","Treasure Chest Broken Open",17;
+ set $boxNumG01, $boxNumG01 -1;
+ if($boxNumG01 == 0) mapannounce "gefg_cas01.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Room Switch ---------------------------------------------------------
+gefg_cas01.gat,152,117,0 script Switch#TresG01 111,{
+ callfunc "F_GldTreasSw","gefg_cas01",40,49;
+ end;
+}
+
+
+//<================================ Castle 2 ================================>\\
+
+// Treasure Spawn ---------------------------------------------------------
+gefg_cas02.gat,1,1,1 script Treasure_G02 -1,{
+
+OnRecvCastleG02:
+ if($boxNumG02 == 0) end;
+ set $@bxG02, $boxNumG02;
+// callfunc "F_GldTreas","gefg_cas02","G02",$boxNumG02,$@bxG02,$@boxIdG02,1336,136,112,145,118,1;
+ end;
+
+OnDied:
+ mapannounce "gefg_cas02.gat","Treasure Chest Broken Open",17;
+ set $boxNumG02, $boxNumG02 -1;
+ if($boxNumG02 == 0) mapannounce "gefg_cas02.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Room Switch ---------------------------------------------------------
+gefg_cas02.gat,145,115,0 script Switch#TresG02 111,{
+ callfunc "F_GldTreasSw", "gefg_cas02",12,67;
+}
+
+
+//<================================= Castle 3 ===============================>\\
+
+// Treasure Spawn ---------------------------------------------------------
+gefg_cas03.gat,1,1,1 script Treasure_G03 -1,{
+
+OnRecvCastleG03:
+ if($boxNumG03 == 0) end;
+ set $@bxG03, $boxNumG03;
+// callfunc "F_GldTreas","gefg_cas03","G03",$boxNumG03,$@bxG03,$@boxIdG03,1338,266,286,275,293,1;
+ end;
+
+OnDied:
+ mapannounce "gefg_cas03.gat","Treasure Chest Broken Open",17;
+ set $boxNumG03, $boxNumG03 -1;
+ if($boxNumG03 == 0) mapannounce "gefg_cas03.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Room Switch ---------------------------------------------------------
+gefg_cas03.gat,275,289,0 script Switch#TresG03 111,{
+ callfunc "F_GldTreasSw", "gefg_cas03",106,24;
+ end;
+}
+
+
+//<=============================== Castle 4 ================================>\\
+
+// Treasure Spawn ---------------------------------------------------------
+gefg_cas04.gat,1,1,1 script Treasure_G04 -1,{
+
+OnRecvCastleG04:
+ if($boxNumG04 == 0) end;
+ set $@bxG04, $boxNumG04;
+// callfunc "F_GldTreas","gefg_cas04","G04",$boxNumG04,$@bxG04,$@boxIdG04,1340,112,114,119,123,1;
+ end;
+
+OnDied:
+ mapannounce "gefg_cas04.gat","Treasure Chest Broken Open",17;
+ set $boxNumG04, $boxNumG04 -1;
+ if($boxNumG04 == 0) mapannounce "gefg_cas04.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Room Switch ---------------------------------------------------------
+gefg_cas04.gat,117,123,0 script Switch#TresG04 111,{
+ callfunc "F_GldTreasSw", "gefg_cas04",73,47;
+ end;
+}
+
+
+//<================================ Castle 5 ================================>\\
+
+// Treasure Spawn ---------------------------------------------------------
+gefg_cas05.gat,1,1,1 script Treasure_G05 -1,{
+
+OnRecvCastleG05:
+ if($boxNumG05 == 0) end;
+ set $@bxG05, $boxNumG05;
+// callfunc "F_GldTreas","gefg_cas05","G05",$boxNumG05,$@bxG05,$@boxIdG05,1342,140,106,147,113,1;
+ end;
+
+OnDied:
+ mapannounce "gefg_cas05.gat","Treasure Chest Broken Open",17;
+ set $boxNumG05, $boxNumG05 -1;
+ if($boxNumG05 == 0) mapannounce "gefg_cas05.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Room Switch ---------------------------------------------------------
+gefg_cas05.gat,149,107,0 script Switch#TresG05 111,{
+ callfunc "F_GldTreasSw", "gefg_cas05",70,53;
+ close;
+}
diff --git a/npc/guild/gldfunc_dunsw.txt b/npc/guild/gldfunc_dunsw.txt
new file mode 100644
index 000000000..f70eee705
--- /dev/null
+++ b/npc/guild/gldfunc_dunsw.txt
@@ -0,0 +1,47 @@
+//===== eAthena Script =======================================
+//= War of Emperium Guild Dungeon Switch Function
+//===== By: ==================================================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Switch that warps guild members to guild dungeon.
+//==========================================
+//= Break down of arguments used in the function:
+//= arg(0): name of guild castle.
+//= arg(1): guild dungeon level.
+//= arg(2): x1 coordinate for warp
+//= arg(3): y1 coordinate for warp
+//===== Additional Comments: =================================
+//= 1.2: All guild Dungeon Switch npcs use this function.[kobra_k88]
+//= 1.3 Reverted back. Don't listen to ... people at forums
+// and check all bugs yourself!
+// Some not competent people try to change gld_dun -> gld_dun0
+// IT is wrong, because we already supple "02","03",etc as suffix.
+// [Lupus]
+//============================================================
+
+//==================================================
+function script F_GldDunSw {
+
+ mes "[ Mysterious Voice ]";
+ mes " ' Only brave warriors may lead the guild base.. '";
+ next;
+ mes "(There is little switch over here....... Would you like to pull the switch?)";
+ next;
+ menu "Yes",-,"No",M_No;
+
+ set @GID, GetCastleData(getarg(0)+".gat",1);
+ if (@GID == 0 || getcharid(2) != @GID) goto L_NotGLead;
+ warp "gld_dun"+getarg(1)+".gat",getarg(2),getarg(3);
+ end;
+
+ L_NotGLead:
+ mes "[ Mysterious Voice ]";
+ mes " ' ..... it seems that you are not brave enough...... ' ";
+ M_No:
+ return;
+}
diff --git a/npc/guild/gldfunc_ev_agit.txt b/npc/guild/gldfunc_ev_agit.txt
new file mode 100644
index 000000000..d323eb420
--- /dev/null
+++ b/npc/guild/gldfunc_ev_agit.txt
@@ -0,0 +1,159 @@
+//===== eAthena Script =======================================
+//= War of Emperium Guild Event AgitStart/AgitBreak Functions
+//===== By: ==================================================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= F_AgitStart is in charge of spawning Emperium and mobs in castles
+//= when WoE is started.
+//= F_AgitBreak resets guild castle data when a castle has been taken over.
+//= It then sets the data for the new guild master if there is one.
+//=======================================
+//= Break down of arguments used in F_AgitStart:
+//= arg(0): name of specific guild castle.
+//= arg(1): name of specific agit castle script.
+//= arg(2): x1 for Emperium and monster spawn
+//= arg(3): y1 for Emperium and monster spawn
+//= Break down of arguments used in F_AgitBreak:
+//= arg(0): name of specific guild castle.
+//= arg(1): name of specific OnRevCastle label.
+//===== Additional Comments: =================================
+//= v1.2: All OnAgitStart and OnAgitBreak calls will use these functions.[kobra_k88]
+//= v1.2a: Added OnAgitEnd function.[kobra_k88]
+//= 1.3 Added code for abandoning captured castles on /breakguild [Lupus]
+//============================================================
+
+
+// Function for OnAgitStart =========================================
+function script F_AgitStart {
+
+ MapRespawnGuildID getarg(0)+".gat",GetCastleData(getarg(0)+".gat",1),2;
+ Monster getarg(0)+".gat",getarg(2),getarg(3),"EMPERIUM",1288,1,"Agit_"+getarg(1)+"::OnAgitBreak";
+ GvgOn getarg(0)+".gat";
+ if (GetCastleData(getarg(0)+".gat",1) != 0) return;
+ if(getarg(0) == "aldeg_cas01" || getarg(0) == "aldeg_cas02" || getarg(0) == "aldeg_cas03" || getarg(0) == "aldeg_cas04" || getarg(0) == "aldeg_cas05" || getarg(0) == "nguild_alde") goto L_AldegCas;
+ if(getarg(0) == "gefg_cas01" || getarg(0) == "gefg_cas02" || getarg(0) == "gefg_cas03" || getarg(0) == "gefg_cas04" || getarg(0) == "gefg_cas05" || getarg(0) == "nguild_gef") goto L_GefgCas;
+ if(getarg(0) == "payg_cas01" || getarg(0) == "payg_cas02" || getarg(0) == "payg_cas03" || getarg(0) == "payg_cas04" || getarg(0) == "payg_cas05" || getarg(0) == "nguild_pay") goto L_PaygCas;
+ if(getarg(0) == "prtg_cas01" || getarg(0) == "prtg_cas02" || getarg(0) == "prtg_cas03" || getarg(0) == "prtg_cas04" || getarg(0) == "prtg_cas05" || getarg(0) == "nguild_prt") goto L_PrtgCas;
+
+L_AldegCas:
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1117,10;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1132,4;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1219,2;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1205,1;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1216,10;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1193,17;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1269,9;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1276,7;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1208,3;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1275,1;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1268,1;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1272,1;
+ monster getarg(0)+".gat",(getarg(2)+1),getarg(3),"--ja--",1272,1;
+ monster getarg(0)+".gat",(getarg(2)-1),getarg(3),"--ja--",1270,4;
+ monster getarg(0)+".gat",getarg(2),(getarg(3)+1),"--ja--",1268,1;
+ monster getarg(0)+".gat",getarg(2),(getarg(3)-1),"--ja--",1219,1;
+ monster getarg(0)+".gat",getarg(2),getarg(3),"--ja--",1276,5;
+ return;
+L_GefgCas:
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1117,10;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1263,11;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1102,10;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1130,10;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1140,20;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1163,9;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1275,1;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1219,1;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1150,1;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1159,1;
+ monster getarg(0)+".gat",(getarg(2)+1),getarg(3),"--ja--",1203,1;
+ monster getarg(0)+".gat",(getarg(2)-1),getarg(3),"--ja--",1087,1;
+ monster getarg(0)+".gat",getarg(2),(getarg(3)+1),"--ja--",1213,7;
+ monster getarg(0)+".gat",getarg(2),(getarg(3)-1),"--ja--",1189,7;
+ return;
+L_PaygCas:
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1277,10;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1208,10;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1262,5;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1102,5;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1150,1;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1115,1;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1129,11;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1276,5;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1282,4;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1253,5;
+ monster getarg(0)+".gat",getarg(2),getarg(3),"--ja--",1150,1;
+ monster getarg(0)+".gat",getarg(2),getarg(3),"--ja--",1115,1;
+ monster getarg(0)+".gat",getarg(2),(getarg(3)+1),"--ja--",1208,6;
+ monster getarg(0)+".gat",getarg(2),(getarg(3)-1),"--ja--",1276,5;
+ return;
+L_PrtgCas:
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1163,15;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1132,10;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1219,5;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1268,5;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1251,1;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1252,1;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1276,5;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1259,1;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1283,1;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1275,1;
+ areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1200,1;
+ monster getarg(0)+".gat",(getarg(2)+1),getarg(3),"--ja--",1268,1;
+ monster getarg(0)+".gat",(getarg(2)-1),getarg(3),"--ja--",1251,1;
+ monster getarg(0)+".gat",getarg(2),(getarg(3)+1),"--ja--",1252,1;
+ monster getarg(0)+".gat",getarg(2),(getarg(3)-1),"--ja--",1219,2;
+ monster getarg(0)+".gat",getarg(2),getarg(3),"--ja--",1276,5;
+ return;
+}
+
+// Function for OnGuildBreak ======================================
+function script F_GuildBreak {
+ killmonsterall getarg(0)+".gat";
+
+ Announce "Guild Base [" + GetCastleName(getarg(0)+".gat") + "] has been abandoned.",0;
+ disablenpc "Kafra Service#"+getarg(1);
+
+ SetCastleData getarg(0)+".gat",0,0;
+ return;
+}
+
+// Function for OnAgitBreak ======================================
+function script F_AgitBreak {
+ //killmonsterall getarg(0)+".gat";
+ set @GID,getcharid(2);
+ if (@GID <= 0) return;
+ set @Economy,GetCastleData(getarg(0)+".gat",2);
+ SetCastleData getarg(0)+".gat",2, @Economy-5;
+ if (GetCastleData(getarg(0)+".gat",2) < 0) SetCastleData getarg(0)+".gat",2,0;
+ set @Defence,GetCastleData(getarg(0)+".gat",3);
+ SetCastleData getarg(0)+".gat",3, @Defence-5;
+ if (GetCastleData(getarg(0)+".gat",3) < 0) SetCastleData getarg(0)+".gat",3,0;
+ SetCastleData getarg(0)+".gat",1, @GID;
+ MapAnnounce getarg(0)+".gat","The emperium has been destroyed.",17;
+ Announce "Guild Base [" + GetCastleName(getarg(0)+".gat") + "] has been taken by the [" + GetGuildName(@GID) + "] guild.",0;
+ GetCastleData getarg(0)+".gat",0,"::OnRecvCastle"+getarg(1);
+
+ disablenpc "Kafra Service#"+getarg(1);
+ set @i, 3;
+
+ L_Loop:
+ set @i, @i + 1;
+ SetCastleData getarg(0)+".gat",@i,0;
+ if(@i < 25) goto L_Loop;
+ return;
+}
+
+
+// Function for OnAgitEnd ======================================
+function script F_AgitEnd {
+ GvgOff getarg(0)+".gat";
+// if (GetCastleData(getarg(0)+".gat",1) == 0) return; //enable this line to allow take over of non captured castles after woe ends
+ MapRespawnGuildID getarg(0)+".gat",GetCastleData(getarg(0)+".gat",1),4;
+ KillMonster getarg(0)+".gat","Agit_"+getarg(1)+"::OnAgitBreak";
+ end;
+}
diff --git a/npc/guild/gldfunc_flag.txt b/npc/guild/gldfunc_flag.txt
new file mode 100644
index 000000000..adde394ec
--- /dev/null
+++ b/npc/guild/gldfunc_flag.txt
@@ -0,0 +1,61 @@
+//===== eAthena Script =======================================
+//= War of Emperium Guild Flags Function
+//===== By: ==================================================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//===== Current Version: =====================================
+//= 1.3a
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Flags display messages stating whether or not a guild castle has been captured.
+//= Allows the guild members to return to a captured castle.
+//======================================
+//= Break down of arguments used in the function:
+//= arg(0): name of City.
+//= arg(1): name of guild castle.
+//= arg(2): x1 coordinate for warp
+//= arg(3): y1 coordinate for warp
+//= arg(4): Teleportable (0/1)
+//===== Additional Comments: =================================
+//= v1.2: All Guild flags scripts use this function. [kobra_k88]
+//= v1.3: Can now only flag in from outside the castle [Kayla]
+//= v1.3a: Implemented k3dt's exploit fix [Vicious]
+//============================================================
+
+function script F_Flags {
+
+ set @GID, GetCastleData(getarg(1)+".gat",1);
+ if (@GID != 0) goto L_Startg;
+
+ mes "[ Edict of the Divine Rune Midgard Kingdom of " + getarg(0) + " ]";
+ mes " ";
+ mes "1. Honoring the ordinance of the Divine Rune Midgard Kingdom of " + getarg(0) + ", this guild base has not been taken by any guild yet";
+ mes " ";
+ mes "2. In order to take this guild base, you must defeat all the guardians that are protecting the guild base and eliminate the Emperium.";
+ return;
+L_Startg:
+ if ((getcharid(2) == @GID) && (getarg(4) == 1)) goto L_Startg2;
+ mes "[ Edict of the Divine Rune Midgard Kingdom of "+ getarg(0) +" ]";
+ mes " ";
+ mes "1. Honoring the ordinance of the";
+ mes "Divine Rune Midgard Kingdom of ";
+ mes getarg(0) +", we approve that this";
+ mes "base is in the private possession";
+ mes "of the ^ff0000" + GetGuildName(@GID) + "^000000 guild.";
+ mes " ";
+ mes "2. The guild master of the";
+ mes "^ff0000"+ GetGuildName(@GID) + "^000000 guild, is ^0000FF" + GetGuildMaster(@GID) + "^000000.";
+ mes "If anyone objects to that, raise your sword to honor yourself.";
+ return;
+L_Startg2:
+ mes "[ Ringing Voice ]";
+ mes "Brave one... would you return to your honorable be?";
+ next;
+ menu "Return.",M_Enter,"Cancel.",-;
+ return;
+
+ M_Enter:
+ if (getcharid(2) == GetCastleData(getarg(1)+".gat",1)) warp getarg(1)+".gat",getarg(2),getarg(3);
+ return;
+}
diff --git a/npc/guild/gldfunc_kafra.txt b/npc/guild/gldfunc_kafra.txt
new file mode 100644
index 000000000..e1113aa7f
--- /dev/null
+++ b/npc/guild/gldfunc_kafra.txt
@@ -0,0 +1,38 @@
+//===== eAthena Script =======================================
+//= War of Emperium Kafras Function
+//===== By: ==================================================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//===== Current Version: =====================================
+//= 1.2a
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Kafra service for guild members
+//======================================
+//= Break down of arguments used in the function:
+//= arg(0): name of City.
+//= arg(1): name of guild castle.
+//= arg(2): x1 coordinate for warp
+//= arg(3): y1 coordinate for warp
+//===== Additional Comments: =================================
+//= v1.2: All Guild kafra scripts use this function. [kobra_k88]
+//= 1.2a Added extra check for Contract with Kafra Guild Skill [Lupus]
+//============================================================
+
+function script F_GKafra {
+ cutin "kafra_01",2;
+ set @GID, GetCastleData(getarg(0)+".gat",1);
+ if (getcharid(2) == @GID && getgdskilllv(@GID,10001)) goto L_StartG;
+
+ mes "[Kafra Service]";
+ mes "I am here to serve only ^5533FF" + GetGuildName(@GID) + "^000000 members. Please use different Kafra Service. Thank you.";
+ cutin "",255;
+ close;
+L_StartG:
+ set @wrpP[0], 0;
+ set @wrpD$[0], getarg(1);
+ setarray @wrpC$[0], @wrpD$[0], "Cancel", "", "", "","";
+ callfunc "F_Kafra",2;
+ end;
+}
diff --git a/npc/guild/gldfunc_manager.txt b/npc/guild/gldfunc_manager.txt
new file mode 100644
index 000000000..59ad69442
--- /dev/null
+++ b/npc/guild/gldfunc_manager.txt
@@ -0,0 +1,421 @@
+//===== eAthena Script =======================================
+//= War of Emperium Guild Manager Function
+//===== By: ==================================================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//===== Current Version: =====================================
+//= 1.31
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= The Guild Manager allows the Guildmaster to invest in comerce
+//= and defense, hire guardians and kafras, go to the treasure room,
+//= and surrender the guild castle.
+//==============================================
+//= Break down of arguments used in the function:
+//= arg(0): name of Castle Manager
+//= arg(1): name of guild castle.
+//= arg(2): x1 coordinate for warp to treasure room
+//= arg(3): y1 coordinate for warp to treasure room
+//= arg(4): guild script suffix for kafra, gaurdian scripts etc.
+//===== Additional Comments: =================================
+//= v1.31: Added support for Emsolute Develop [celest]
+//= v1.2: All Guild manager scripts use this function. Optimized
+//= Comerce and Defense investment. [kobra_k88]
+//= v1.2a Function now returns to script that called it.
+//= Added disablenpc line to surrender castle option to remove kafra
+//= upon surrender.[kobra_k88]
+//= v1.2b U can't surrender the base during WOE [Lupus]
+//= v1.2c Fixed issue of guardians hp not increasing upon defense
+//= investment.[kobra_k88]
+//= v1.3 Now you can't install Guardians during WOE [Lupus]
+//= v1.4 Reomve surrender abbility (Was 100% custom as far as I can tell) [Kayla]
+//============================================================
+
+
+
+//==============================================
+function script F_GldManager {
+
+ set @GID, GetCastleData(getarg(1)+".gat",1);
+ if (strcharinfo(0) == getguildmaster(@GID)) goto L_Start;
+ if (@GID == 0) goto L_NotOwn;
+ if (getcharid(2) == @GID) goto L_Mem;
+
+L_NotMem:
+ mes "[ "+getarg(0)+" ]";
+ mes "I am here to follow ^5533FF" + getguildmaster(@GID) + "^000000's command! Hey! Your not even a part of the guild!!";
+ mes "Where are the guardians? Destroy these intruders!";
+ return 0;
+
+L_NotOwn:
+ mes "[ "+getarg(0)+" ]";
+ mes "I am waiting for my master. Brave adventurer, follow your destiny!";
+ return 0;
+
+L_Mem:
+ mes "[ "+getarg(0)+" ]";
+ mes "You're not ^5533FF" + getguildmaster(@GID) + "^000000! I am here to follow ^5533FF" + getguildmaster(@GID) + "^000000's command only";
+ return 0;
+
+L_Start:
+ mes "[ "+getarg(0)+" ]";
+ mes "Welcome Master ^5533FF" + getguildmaster(@GID) + "^000000 ! I will assist you in any way I can!";
+ next;
+ menu "Guild Base Briefing",M_Base, "Commerce Investment",M_Comrc, "Defence Investment",M_Def, "Guardian Installation",M_Gaurd,
+ "Kafra Service Employment / Dismissal",M_Kaf, "Enter Treasure Room",M_Treas, "Cancel",M_End;
+
+ //========================
+ M_Base:
+ //=========
+ mes "[ "+getarg(0)+" ]";
+ mes "Guild Base Investment Information.";
+ mes " ";
+ mes "Current Commerce Investment is : ^FF3322" + GetCastleData(getarg(1)+".gat",2) + "^000000 points.";
+ mes "^0000ff - You have invested " + GetCastleData(getarg(1)+".gat",4) + " times today.^000000";
+ next;
+ mes "[ "+getarg(0)+" ]";
+ mes "Current Defence Investment is : ^FF3322" + GetCastleData(getarg(1)+".gat",3) + "^000000 points.";
+ mes "^0000ff- You have invested " + GetCastleData(getarg(1)+".gat",5) + " times today.^000000";
+ mes " ";
+ mes "That is about it.";
+ return 0;
+
+ //========================
+ M_Comrc:
+ //=========
+ set @TriggerE,GetCastleData(getarg(1)+".gat",4);
+ set @Economy,GetCastleData(getarg(1)+".gat",2);
+ if(@Economy < 8) set @eco_invest,10000;
+ if(@Economy >= 8) set @eco_invest,20000;
+ if(@Economy >= 16) set @eco_invest,40000;
+ if(@Economy >= 25) set @eco_invest,80000;
+ if(@Economy >= 34) set @eco_invest,160000;
+ if(@Economy >= 44) set @eco_invest,320000;
+ if(@Economy >= 54) set @eco_invest,640000;
+ if(@Economy >= 65) set @eco_invest,1280000;
+ if(@Economy >= 76) set @eco_invest,2560000;
+ if(@Economy >= 88) set @eco_invest,5120000;
+
+ mes "[ "+getarg(0)+" ]";
+ if(@TriggerE == 2) goto L_MaxTimesC;
+ if(@Economy >= 100) goto L_MaxInvestC;
+ mes "If you improve your Commerce Investment, the guild's productive power increases to produce more goods.";
+ mes "So an investment will be required if you're considering future growth.";
+ next;
+ mes "[ "+getarg(0)+" ]";
+ if(@TriggerE == 0) mes "You can invest up to two times a day, but the second time costs more";
+ if(@TriggerE == 0) mes "The needed investment amount is ^5533FF" + @eco_invest + "^000000 zeny.";
+ if(@TriggerE == 1) set @eco_invest,@eco_invest*4;
+ if(@TriggerE == 1) mes "You've already invested once today, but you can invest again at ^5533FF" + @eco_invest + "^000000 Zeny.";
+ next;
+ mes "[ "+getarg(0)+" ]";
+ mes "Would you like to invest?";
+ next;
+ menu "Invest Commerce.",-,"Cancel.",M_End;
+
+ if(Zeny < @eco_invest) goto sL_NoZenyC;
+ set Zeny,Zeny-@eco_invest;
+ SetCastleData getarg(1)+".gat",4,@TriggerE+1;
+ // if we learnt Emsolute Develop there's 50% chance to get +1 investment again
+ if (getgdskilllv(@GID,10014) > 0 && rand(100)>50) set @Economy, @Economy + 1;
+ SetCastleData getarg(1)+".gat",2,@Economy+1;
+ mes "[ "+getarg(0)+" ]";
+ mes "You have invested successfully.";
+ return 0;
+
+ sL_NoZenyC:
+ mes "[ "+getarg(0)+" ]";
+ mes "Master, you do not have enough money to invest. Investment has been cancelled.";
+ return 0;
+ L_MaxTimesC:
+ mes "^ff0000You have already invested twice today, and that's the limit.^000000 I'm expecting to see our riches grow at a high level.";
+ return 0;
+ L_MaxInvestC:
+ mes "[ "+getarg(0)+" ]";
+ mes " ";
+ mes "^ff0000This Castle's commerce investment is already maxed at 100 points. You don't have to invest any further.^000000";
+ return 0;
+
+ //=========================
+ M_Def:
+ //========
+ set @TriggerD,GetCastleData(getarg(1)+".gat",5);
+ set @Defence,GetCastleData(getarg(1)+".gat",3);
+ if(@Defence < 8) set @def_invest,20000;
+ if(@Defence >= 8) set @def_invest,40000;
+ if(@Defence >= 16) set @def_invest,80000;
+ if(@Defence >= 25) set @def_invest,160000;
+ if(@Defence >= 34) set @def_invest,320000;
+ if(@Defence >= 44) set @def_invest,640000;
+ if(@Defence >= 54) set @def_invest,1280000;
+ if(@Defence >= 65) set @def_invest,2560000;
+ if(@Defence >= 76) set @def_invest,5120000;
+ if(@Defence >= 88) set @def_invest,10240000;
+
+ mes "[ "+getarg(0)+" ]";
+ if(@TriggerD == 2) goto L_MaxTimesD;
+ if(@Defence >= 100) goto L_MaxInvestD;
+ mes "If you improve investment of defence, the durability of our Guardians and the Emperium will increase.";
+ mes "So if you consider our future battles, an investment will be required.";
+ next;
+ mes "[ "+getarg(0)+" ]";
+ if(@TriggerD == 0) mes "You can invest up to two times a day, but the second time costs more";
+ if(@TriggerD == 0) mes "The needed investment amount is ^5533FF" + @def_invest + "^000000 zeny.";
+ if(@TriggerD == 1) set @def_invest,@def_invest*4;
+ if(@TriggerD == 1) mes "You've already invested once today, but you can invest again at ^5533FF" + @def_invest + "^000000 Zeny.";
+ next;
+ mes "[ "+getarg(0)+" ]";
+ mes "Would you like to invest?";
+ next;
+ menu "Invest Defence.",-, "Cancel",M_End;
+
+ if(Zeny < @def_invest) goto sL_NoZenyD;
+ set Zeny,Zeny-@def_invest;
+ SetCastleData getarg(1)+".gat",5,@TriggerD+1;
+ SetCastleData getarg(1)+".gat",3,@Defence+1;
+ // set new hp values for guardians
+ set @Defence, @Defence + 1;
+ set @AGuardian, 28634 + (@Defence*2000);
+ set @KGuardian, 30214 + (@Defence*2000);
+ set @SGuardian, 15670 + (@Defence*2000);
+ //set @AGuardian,strmobinfo(4,1285) + (@Defence*2000);
+ //set @KGuardian,strmobinfo(4,1286) + (@Defence*2000);
+ //set @SGuardian,strmobinfo(4,1287) + (@Defence*2000);
+ if (GetCastleData(getarg(1)+".gat",10) == 1) SetCastleData getarg(1)+".gat",18,@SGuardian;
+ if (GetCastleData(getarg(1)+".gat",11) == 1) SetCastleData getarg(1)+".gat",19,@SGuardian;
+ if (GetCastleData(getarg(1)+".gat",12) == 1) SetCastleData getarg(1)+".gat",20,@SGuardian;
+ if (GetCastleData(getarg(1)+".gat",13) == 1) SetCastleData getarg(1)+".gat",21,@AGuardian;
+ if (GetCastleData(getarg(1)+".gat",14) == 1) SetCastleData getarg(1)+".gat",22,@AGuardian;
+ if (GetCastleData(getarg(1)+".gat",15) == 1) SetCastleData getarg(1)+".gat",23,@KGuardian;
+ if (GetCastleData(getarg(1)+".gat",16) == 1) SetCastleData getarg(1)+".gat",24,@KGuardian;
+ if (GetCastleData(getarg(1)+".gat",17) == 1) SetCastleData getarg(1)+".gat",25,@KGuardian;
+
+ mes "[ "+getarg(0)+" ]";
+ mes "You have invested successfully.";
+ return 0;
+
+ sL_NoZenyD:
+ mes "[ "+getarg(0)+" ]";
+ mes "Master, you do not have enough money to invest in Defence. Defence investment has been cancelled.";
+ return 0;
+ L_MaxTimesD:
+ mes "^ff0000You have already invested twice today, and that's the limit.^000000 I'm expecting to see our riches grow at a high level.";
+ return 0;
+ L_MaxInvestD:
+ mes "^ff0000This Castle's Defence Investment is already maxed at 100 points. You don't have to invest any further.^000000";
+ return 0;
+
+ //=========================
+ M_Gaurd:
+ //=========
+ if (getgdskilllv(@GID,10002) == 0) goto L_NoSkGuard;
+ set @Defence,GetCastleData(getarg(1)+".gat",3);
+ set @Guardian0,guardianinfo(0);
+ set @Guardian1,guardianinfo(1);
+ set @Guardian2,guardianinfo(2);
+ set @Guardian3,guardianinfo(3);
+ set @Guardian4,guardianinfo(4);
+ set @Guardian5,guardianinfo(5);
+ set @Guardian6,guardianinfo(6);
+ set @Guardian7,guardianinfo(7);
+ set @AGuardian, 28634 + (@Defence*2000);
+ set @KGuardian, 30214 + (@Defence*2000);
+ set @SGuardian, 15670 + (@Defence*2000);
+ //set @AGuardian,strmobinfo(4,1285) + (@Defence*2000);
+ //set @KGuardian,strmobinfo(4,1286) + (@Defence*2000);
+ //set @SGuardian,strmobinfo(4,1287) + (@Defence*2000);
+
+ mes "[ "+getarg(0)+" ]";
+ if(agitcheck(0) != 0) goto L_CantGuard;
+ mes "Would you like to install a guardian? Guardians will protect the guild base from enemies.";
+ mes "Please choose a guardian.";
+ next;
+
+ menu "Soldier Guardian (" + @Guardian0 + "/" + @SGuardian + ")",L4_1,
+ "Soldier Guardian (" + @Guardian1 + "/" + @SGuardian + ")",L4_2,
+ "Soldier Guardian (" + @Guardian2 + "/" + @SGuardian + ")",L4_3,
+ "Archer Guardian (" + @Guardian3 + "/" + @AGuardian + ")",L4_4,
+ "Archer Guardian (" + @Guardian4 + "/" + @AGuardian + ")",L4_5,
+ "Knight Guardian (" + @Guardian5 + "/" + @KGuardian + ")",L4_6,
+ "Knight Guardian (" + @Guardian6 + "/" + @KGuardian + ")",L4_7,
+ "Knight Guardian (" + @Guardian7 + "/" + @KGuardian + ")",L4_8;
+
+ L4_1:
+ if (GetCastleData(getarg(1)+".gat",10) == 1) goto L_GotGuard;
+ set @GDnum,10;
+ set @GDnum2,18;
+ set @GuardianHP,@SGuardian;
+ goto L4_9;
+ L4_2:
+ if (GetCastleData(getarg(1)+".gat",11) == 1) goto L_GotGuard;
+ set @GDnum,11;
+ set @GDnum2,19;
+ set @GuardianHP,@SGuardian;
+ goto L4_9;
+ L4_3:
+ if (GetCastleData(getarg(1)+".gat",12) == 1) goto L_GotGuard;
+ set @GDnum,12;
+ set @GDnum2,20;
+ set @GuardianHP,@SGuardian;
+ goto L4_9;
+ L4_4:
+ if (GetCastleData(getarg(1)+".gat",13) == 1) goto L_GotGuard;
+ set @GDnum,13;
+ set @GDnum2,21;
+ set @GuardianHP,@AGuardian;
+ goto L4_9;
+ L4_5:
+ if (GetCastleData(getarg(1)+".gat",14) == 1) goto L_GotGuard;
+ set @GDnum,14;
+ set @GDnum2,22;
+ set @GuardianHP,@AGuardian;
+ goto L4_9;
+ L4_6:
+ if (GetCastleData(getarg(1)+".gat",15) == 1) goto L_GotGuard;
+ set @GDnum,15;
+ set @GDnum2,23;
+ set @GuardianHP,@KGuardian;
+ goto L4_9;
+ L4_7:
+ if (GetCastleData(getarg(1)+".gat",16) == 1) goto L_GotGuard;
+ set @GDnum,16;
+ set @GDnum2,24;
+ set @GuardianHP,@KGuardian;
+ goto L4_9;
+ L4_8:
+ if (GetCastleData(getarg(1)+".gat",17) == 1) goto L_GotGuard;
+ set @GDnum,17;
+ set @GDnum2,25;
+ set @GuardianHP,@KGuardian;
+ L4_9:
+ mes "[ "+getarg(0)+" ]";
+ mes "Would you really like to install a guardian? You need ^5533FF10,000 zeny^000000 to install one....";
+ next;
+ menu "Install",-, "Cancel",M_End;
+
+ if (Zeny < 10000) goto sL_NoZenyG;
+ set Zeny,Zeny-10000;
+ SetCastleData getarg(1)+".gat",@GDnum,1;
+ SetCastleData getarg(1)+".gat",@GDnum2,@GuardianHP;
+ return 1;
+
+ sL_NoZenyG:
+ mes "[ "+getarg(0)+" ]";
+ mes "I'm sorry Master, but you do not have enough zeny for a Guardian.";
+ return 0;
+ L_NoSkGuard:
+ mes "[ "+getarg(0)+" ]";
+ mes "I'm sorry Master but you cannot install any guardians right now. Your guild must learn the Guild skill ^5533FFGuardian Research^000000 first.";
+ mes "Guardian Installation has been cancelled.";
+ return 0;
+ L_GotGuard:
+ mes "[ "+getarg(0)+" ]";
+ mes "Excuse me Master, but that guardian has already been installed.....";
+ emotion 4;
+ return 0;
+ L_CantGuard:
+ mes "Master.... don't you know that we can't install guardians during the War Of Emperium?!!";
+ emotion 4;
+ return 0;
+
+ //===========================
+ M_Kaf:
+ //======
+ mes "[ "+getarg(0)+" ]";
+ if (GetCastleData(getarg(1)+".gat",9) == 1) goto L_Dismiss;
+ if (getgdskilllv(@GID,10001) == 0) goto L_NoSkKaf;
+
+ L_Hire:
+ mes "Would you like to employ the services of a Kafra? You will need ^5533FF10,000 Zeny^000000 to do so... ";
+ next;
+ menu "Employ Kafra.",-,"Cancel",sM_KafEnd;
+
+ mes "[ "+getarg(0)+" ]";
+ if (Zeny < 10000) goto sL_NoZenyK;
+ set Zeny,Zeny-10000;
+ enablenpc "Kafra Service#"+getarg(4);
+ SetCastleData getarg(1)+".gat",9,1;
+ mes "You have created a contract with the Kafra Service Company.";
+ next;
+ cutin "kafra_01",2;
+ mes "[ Kafra Service ]";
+ mes "How do you do? I'm here to provide you with helpful service! I'll do the best I can to serve you.";
+ next;
+ cutin "kafra_01",255;
+ mes "[ "+getarg(0)+" ]";
+ //mes "Your employment contract lasts ^5533FF1 month^000000. After this term is over you will have to create a new contract.";
+ mes "I think the Kafra Service will benefit our guild members.";
+ return 0;
+
+ sL_NoZenyK:
+ mes "Master, you do not have enough money to employ a Kafra. Employment has been cancelled.";
+ return 0;
+ sM_KafEnd:
+ mes "[ "+getarg(0)+" ]";
+ mes "As you wish Master. But I suggest we get a Kafra as soon as possible!";
+ return 0;
+
+ L_Dismiss:
+ mes "Would you like to dismiss the current Kafra?";
+ next;
+ menu "Dismissal",-,"Cancel",sM_KafEnd2;
+
+ cutin "kafra_01",2;
+ mes "[ Kafra Service ]";
+ mes "Have I done anything wrong? If I did, will you please forgive me?";
+ next;
+ menu "Dismiss",-,"Cancel",ssM_KafEnd2;
+
+ mes "[ Kafra Service ]";
+ mes "It's unfortunate that I won't be able to serve your guild anymore....";
+ next;
+ disablenpc "Kafra Service#"+getarg(4);
+ SetCastleData getarg(1)+".gat",9,0;
+ cutin "kafra_01",255;
+ mes "[ "+getarg(0)+" ]";
+ mes "The Kafra has been dismissed. But... we should really get a Kafra as soon as possible!";
+ return 0;
+ ssM_KafEnd2:
+ mes "[ Kafra Service ]";
+ mes "Thank you master, I'll do my best! ^^.";
+ cutin "kafra_01",255;
+ return 0;
+ sM_KafEnd2:
+ mes "[ "+getarg(0)+" ]";
+ mes "Master, I think you should keep the current Kafra Service because she is already trying her best to serve us";
+ return 0;
+
+ L_NoSkKaf:
+ mes "Master, you don't have a contract with the Kafra Service Company.";
+ mes "In order to hire a Kafra, you must first learn the Guild skill ^5533FFContract With Kafra^000000.";
+ return 0;
+
+ //=========================
+ M_Treas:
+ //========
+ mes "[ "+getarg(0)+" ]";
+ mes "Would you to go to our Treasure Room? Only you, the Guild Master, are allowed to enter this room.";
+ next;
+ menu "Enter Treasure room.",-,"Cancel",sM_TresEnd;
+
+ mes "[ "+getarg(0)+" ]";
+ mes "Please follow me through the secret passage way.";
+ mes "You must pull down on the secret switch in order to get out.";
+ next;
+ warp getarg(1)+".gat",getarg(2),getarg(3);
+ return 0;
+ sM_TresEnd:
+ mes "[ "+getarg(0)+" ]";
+ mes "The goods are produced everyday.";
+ mes "You should get them whenever you can because they might dissapear if you take them at the wrong time.";
+ return 0;
+
+
+ //==========================
+ M_End:
+ //=======
+ mes "[ "+getarg(0)+" ]";
+ mes "As you wish, master.";
+ return 0;
+}
diff --git a/npc/guild/gldfunc_treasure.txt b/npc/guild/gldfunc_treasure.txt
new file mode 100644
index 000000000..f52403c3e
--- /dev/null
+++ b/npc/guild/gldfunc_treasure.txt
@@ -0,0 +1,112 @@
+//===== eAthena Script =======================================
+//= War of Emperium Guild Treasure Room Functions
+//===== By: ==================================================
+//= holyAngelX (1.0)
+//= 1.1 by Akaru and ho|yAnge|X
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= F_GldTreas spawns treasure chests used by the guild master.
+//= F_GldTreasSw allows the player to get out of the treasure room.
+//==============================================
+//= Break down of arguments used in the F_GldTreas:
+//= arg(0): name of guild castle
+//= arg(1): name of script that called the function
+//= arg(2): $variable for number of boxes to spawn for specific castle
+//= arg(2): $variable to be used as a counter
+//= arg(4): $variable for box/monster id number.
+//= arg(5): box/monster id#
+//= arg(6): x1 coordinate for areamonster call
+//= arg(7): y1 coordinate for areamonster call
+//= arg(8): x2 coordinate for areamonster call
+//= arg(9): y1 coordinate for areamonster call
+//= arg(10):
+//= Break down of arguments used in the F_GldTreasSw:
+//= arg(0): name of guild castle.
+//= arg(1): x1 coordinate for warp back to guild castle
+//= arg(2): y1 coordinate for warp back to guild castle
+//===== Additional Comments: =================================
+//= v1.2 Treasure room Spawn, and Treasure room Switch scripts now use these functions.[kobra_k88]
+//= v1.2a Function now returns to script that called it. Removed TreasureSpawn2.
+//= Changed back to using specific global variables for number of boxes and the box id. [kobra_k88]
+//= v1.2b Added a check to allow un broken treasure chests to respawn after map server restart.[kobra_k88]
+//= 1.3 Fixed treasure boxes spawn. (Unrolled one loop a bit) [Lupus]
+//= 1.4 New number of Treasure Boxes per castle: 25 at 100 Economic pts [Lupus]
+//= So you get your first chest only when your Economic Pts >= 4
+//============================================================
+
+
+//================================================
+// Treasure Spawning Function
+//================================================
+function script F_GldTreas {
+
+ if(getarg(10) == 1) goto TreasureSpawn;
+ SetCastleData getarg(0)+".gat",4,0;
+ SetCastleData getarg(0)+".gat",5,0;
+ KillMonster getarg(0)+".gat","Treasure_"+getarg(1)+"::OnDied";
+ if (GetCastleData(getarg(0)+".gat",2) > 100) return;
+ if (GetCastleData(getarg(0)+".gat",1) == 0) return;
+//Old Formula for 20 Boxes at 100 pts:
+ //set getarg(2),GetCastleData(getarg(0)+".gat",2)/5+4;
+//New, correct formula for 25 boxes at 100 pts:
+ set getarg(2),GetCastleData(getarg(0)+".gat",2)/4;
+ if (getarg(2) <= 0) return;
+ set getarg(3), getarg(2); //sets the counter variable = to the box number amount
+
+TreasureSpawn:
+
+ set getarg(4), getarg(5); //sets the box id variable = to the box id
+ set $@temp, rand(4);
+ if ($@temp > 2) set getarg(4), getarg(4) + 1;
+ areamonster getarg(0)+".gat",getarg(6),getarg(7),getarg(8),getarg(9),"Treasure Chest",getarg(4),1,"Treasure_"+getarg(1)+"::OnDied";
+ set getarg(3), getarg(3) - 1;
+ if(getarg(3) <= 0) return;
+
+ set getarg(4), getarg(5); //sets the box id variable = to the box id
+ set $@temp, rand(4);
+ if ($@temp > 2) set getarg(4), getarg(4) + 1;
+ areamonster getarg(0)+".gat",getarg(6),getarg(7),getarg(8),getarg(9),"Treasure Chest",getarg(4),1,"Treasure_"+getarg(1)+"::OnDied";
+ set getarg(3), getarg(3) - 1;
+ if(getarg(3) <= 0) return;
+
+ set getarg(4), getarg(5); //sets the box id variable = to the box id
+ set $@temp, rand(4);
+ if ($@temp > 2) set getarg(4), getarg(4) + 1;
+ areamonster getarg(0)+".gat",getarg(6),getarg(7),getarg(8),getarg(9),"Treasure Chest",getarg(4),1,"Treasure_"+getarg(1)+"::OnDied";
+ set getarg(3), getarg(3) - 1;
+ if(getarg(3) <= 0) return;
+
+ set getarg(4), getarg(5); //sets the box id variable = to the box id
+ set $@temp, rand(4);
+ if ($@temp > 2) set getarg(4), getarg(4) + 1;
+ areamonster getarg(0)+".gat",getarg(6),getarg(7),getarg(8),getarg(9),"Treasure Chest",getarg(4),1,"Treasure_"+getarg(1)+"::OnDied";
+ set getarg(3), getarg(3) - 1;
+ if(getarg(3) <= 0) return;
+
+ set getarg(4), getarg(5); //sets the box id variable = to the box id
+ set $@temp, rand(4);
+ if ($@temp > 2) set getarg(4), getarg(4) + 1;
+ areamonster getarg(0)+".gat",getarg(6),getarg(7),getarg(8),getarg(9),"Treasure Chest",getarg(4),1,"Treasure_"+getarg(1)+"::OnDied";
+ set getarg(3), getarg(3) - 1;
+ if(getarg(3) > 0) goto TreasureSpawn;
+ return;
+}
+
+//==============================================================
+// Treasure Room Switch
+//===============================================================
+function script F_GldTreasSw {
+ mes " ";
+ mes "There is little switch over here";
+ mes "Would you like to pull the switch down?";
+ next;
+ menu "Yes",M_1,"No",-;
+ close;
+
+ M_1:
+ warp getarg(0)+".gat",getarg(1),getarg(2);
+ return;
+}
diff --git a/npc/guild/nguild/nguild_dunsw.txt b/npc/guild/nguild/nguild_dunsw.txt
new file mode 100644
index 000000000..0109cf71e
--- /dev/null
+++ b/npc/guild/nguild/nguild_dunsw.txt
@@ -0,0 +1,38 @@
+//===== eAthena Script =======================================
+//= War of Emperium Dungeon Switch for NGuild Castles
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Switch that warps guild members to the guild dungeon
+//===== Additional Comments: =================================
+//= Based off existing guild scripts. Do not know if it is accurate.[kobra_k88]
+//============================================================
+
+
+// Castle 1 ===============================================
+nguild_alde.gat,212,181,0 script Switch#DunN01 111,{
+ callfunc "F_GldDunSw","nguild_alde","02",32,122;
+ close;
+}
+
+// Castle 2 ===============================================
+nguild_gef.gat,78,84,0 script Switch#DunN02 111,{
+ callfunc "F_GldDunSw","nguild_gef","04",39,258;
+ close;
+}
+
+// Castle 3 ===============================================
+nguild_pay.gat,101,25,0 script Switch#DunN03 111,{
+ callfunc "F_GldDunSw","nguild_pay","01",186,165;
+ close;
+}
+
+// Castle 4 ===============================================
+nguild_prt.gat,94,200,0 script Switch#DunN04 111,{
+ callfunc "F_GldDunSw","nguild_prt","03",28,251;
+ close;
+}
diff --git a/npc/guild/nguild/nguild_ev_agit.txt b/npc/guild/nguild/nguild_ev_agit.txt
new file mode 100644
index 000000000..fba0c487f
--- /dev/null
+++ b/npc/guild/nguild/nguild_ev_agit.txt
@@ -0,0 +1,119 @@
+//===== eAthena Script =======================================
+//= War of Emperium - NGuild Wars Events
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Event Triggers for NGuild Wars
+//===== Additional Comments: =================================
+// Based off existing guild scripts. Do not know if it is accurate.[kobra_k88]
+//= 1.3 Added code for abandoning captured castles on /breakguild [Lupus]
+//============================================================
+
+
+// Castle 1 ================================================================
+nguild_alde.gat,0,0,0 script Agit_N01 -1,{
+OnInterIfInitOnce:
+ GetCastleData "nguild_alde.gat",0,"::OnRecvCastleN01";
+ end;
+OnRecvCastleN01:
+ RequestGuildInfo GetCastleData("nguild_alde.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","nguild_alde","N01",216,24;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","nguild_alde","N01";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","nguild_alde","N01";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "nguild_alde.gat",GetCastleData("nguild_alde.gat",1),6;
+ Monster "nguild_alde.gat",216,24,"EMPERIUM",1288,1,"Agit_N01::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","nguild_alde","N01";
+ end;
+}
+
+// Castle 2 ================================================================
+nguild_gef.gat,0,0,0 script Agit_N02 -1,{
+OnInterIfInitOnce:
+ GetCastleData "nguild_gef.gat",0,"::OnRecvCastleN02";
+ end;
+OnRecvCastleN02:
+ RequestGuildInfo GetCastleData("nguild_gef.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","nguild_gef","N02",198,182;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","nguild_gef","N02";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","nguild_gef","N02";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "nguild_gef.gat",GetCastleData("nguild_gef.gat",1),6;
+ Monster "nguild_gef.gat",198,182,"EMPERIUM",1288,1,"Agit_N02::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","nguild_gef","N02";
+ end;
+}
+
+// Castle 3 ================================================================
+nguild_pay.gat,0,0,0 script Agit_N03 -1,{
+OnInterIfInitOnce:
+ GetCastleData "nguild_pay.gat",0,"::OnRecvCastleN03";
+ end;
+OnRecvCastleN03:
+ RequestGuildInfo GetCastleData("nguild_pay.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","nguild_pay","N03",139,139;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","nguild_pay","N03";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","nguild_pay","N03";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "nguild_pay.gat",GetCastleData("nguild_pay.gat",1),6;
+ Monster "nguild_pay.gat",139,139,"EMPERIUM",1288,1,"Agit_N03::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","nguild_pay","N03";
+ end;
+}
+
+// Castle 4 ================================================================
+nguild_prt.gat,0,0,0 script Agit_N04 -1,{
+OnInterIfInitOnce:
+ GetCastleData "nguild_prt.gat",0,"::OnRecvCastleN04";
+ end;
+OnRecvCastleN04:
+ RequestGuildInfo GetCastleData("nguild_prt.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","nguild_prt","N04",197,197;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","nguild_prt","N04";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","nguild_prt","N04";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "nguild_prt.gat",GetCastleData("nguild_prt.gat",1),6;
+ Monster "nguild_prt.gat",197,197,"EMPERIUM",1288,1,"Agit_N04::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","nguild_prt","N04";
+ end;
+}
diff --git a/npc/guild/nguild/nguild_flags.txt b/npc/guild/nguild/nguild_flags.txt
new file mode 100644
index 000000000..b13509230
--- /dev/null
+++ b/npc/guild/nguild/nguild_flags.txt
@@ -0,0 +1,146 @@
+//===== eAthena Script =======================================
+//= War of Emperium N Guild Flags
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= WoE flag scripts. Display guild emblems on flags.
+//===== Additional Comments: =================================
+// Based off existing guild scripts. Do not know if it is accurate.[kobra_k88]
+// 1.1 Inner Flags don't teleport you to your HQ anymore [Lupus]
+//============================================================
+
+
+//============================================================================//
+// Castle 1
+//============================================================================//
+n_castle.gat,110,96,1 script NGuild Aldebaran#a1-1 722,{
+ callfunc "F_Flags","Al De Baran","nguild_alde",218,170,1;
+ close;
+
+OnRecvCastleN01:
+ FlagEmblem GetCastleData("nguild_alde.gat",1);
+ end;
+}
+
+nguild_alde.gat,30,248,4 script NGuild Aldebaran#a1-6::NGuildAlde 722,{
+ callfunc "F_Flags","Al De Baran","nguild_alde",218,170,0;
+ close;
+
+OnRecvCastleN01:
+ FlagEmblem GetCastleData("nguild_alde.gat",1);
+ end;
+}
+// In Castle ============================================
+nguild_alde.gat,30,246,4 duplicate(NGuildAlde) NGuild Aldebaran#a1-7 722
+nguild_alde.gat,37,248,4 duplicate(NGuildAlde) NGuild Aldebaran#a1-8 722
+nguild_alde.gat,37,246,4 duplicate(NGuildAlde) NGuild Aldebaran#a1-9 722
+nguild_alde.gat,95,80,2 duplicate(NGuildAlde) NGuild Aldebaran#a1-10 722
+nguild_alde.gat,95,59,2 duplicate(NGuildAlde) NGuild Aldebaran#a1-11 722
+nguild_alde.gat,62,75,2 duplicate(NGuildAlde) NGuild Aldebaran#a1-12 722
+nguild_alde.gat,70,75,2 duplicate(NGuildAlde) NGuild Aldebaran#a1-13 722
+nguild_alde.gat,74,75,2 duplicate(NGuildAlde) NGuild Aldebaran#a1-14 722
+nguild_alde.gat,62,64,2 duplicate(NGuildAlde) NGuild Aldebaran#a1-15 722
+nguild_alde.gat,66,64,2 duplicate(NGuildAlde) NGuild Aldebaran#a1-16 722
+nguild_alde.gat,70,64,2 duplicate(NGuildAlde) NGuild Aldebaran#a1-17 722
+nguild_alde.gat,74,64,2 duplicate(NGuildAlde) NGuild Aldebaran#a1-18 722
+nguild_alde.gat,203,150,4 duplicate(NGuildAlde) NGuild Aldebaran#a1-19 722
+nguild_alde.gat,210,150,4 duplicate(NGuildAlde) NGuild Aldebaran#a1-20 722
+
+
+
+
+//============================================================================//
+// Castle 2
+//============================================================================//
+n_castle.gat,110,109,3 script NGuild Geffen#g1-1 722,{
+ callfunc "F_Flags","Geffen","nguild_gef",83,47,1;
+ close;
+
+OnRecvCastleN02:
+ FlagEmblem GetCastleData("nguild_gef.gat",1);
+ end;
+}
+
+nguild_gef.gat,28,157,4 script NGuild Geffen#g1-6::NGuildGef 722,{
+ callfunc "F_Flags","Geffen","nguild_gef",83,47,0;
+ close;
+
+OnRecvCastleN02:
+ FlagEmblem GetCastleData("nguild_gef.gat",1);
+ end;
+}
+// In Castle =============================================
+nguild_gef.gat,32,157,4 duplicate(NGuildGef) NGuild Geffen#g1-7 722
+nguild_gef.gat,22,156,5 duplicate(NGuildGef) NGuild Geffen#g1-8 722
+nguild_gef.gat,68,185,3 duplicate(NGuildGef) NGuild Geffen#g1-9 722
+nguild_gef.gat,17,171,5 duplicate(NGuildGef) NGuild Geffen#g1-10 722
+nguild_gef.gat,59,16,4 duplicate(NGuildGef) NGuild Geffen#g1-11 722
+nguild_gef.gat,64,16,4 duplicate(NGuildGef) NGuild Geffen#g1-12 722
+
+
+
+//============================================================================//
+// Castle 3
+//============================================================================//
+n_castle.gat,94,109,5 script NGuild Payon#f1-1 722,{
+ callfunc "F_Flags","Payon","nguild_pay",87,29,1;
+ close;
+
+OnRecvCastleN03:
+ FlagEmblem GetCastleData("nguild_pay.gat",1);
+ end;
+}
+
+nguild_pay.gat,238,67,4 script NGuild Payon#f1-6::NGuildPay 722,{
+ callfunc "F_Flags","Payon","nguild_pay",87,29,0;
+ close;
+
+OnRecvCastleN03:
+ FlagEmblem GetCastleData("nguild_pay.gat",1);
+ end;
+}
+// In Castle ===============================================
+nguild_pay.gat,238,67,4 duplicate(NGuildPay) NGuild Payon#f1-6 722
+nguild_pay.gat,233,67,4 duplicate(NGuildPay) NGuild Payon#f1-7 722
+nguild_pay.gat,221,123,4 duplicate(NGuildPay) NGuild Payon#f1-8 722
+nguild_pay.gat,221,116,4 duplicate(NGuildPay) NGuild Payon#f1-9 722
+nguild_pay.gat,206,108,4 duplicate(NGuildPay) NGuild Payon#f1-10 722
+nguild_pay.gat,212,108,4 duplicate(NGuildPay) NGuild Payon#f1-11 722
+
+
+
+
+//=============================================================================//
+// Castle 4
+//=============================================================================//
+n_castle.gat,94,96,7 script NGuild Prontera#p1-1 722,{
+ callfunc "F_Flags","Prontera","nguild_prt",97,174,1;
+ close;
+
+OnRecvCastleN04:
+ FlagEmblem GetCastleData("nguild_prt.gat",1);
+ end;
+}
+
+nguild_prt.gat,58,56,4 script NGuild Prontera#p1-7::NGuildPrt 722,{
+ callfunc "F_Flags","Prontera","nguild_prt",97,174,0;
+ close;
+
+OnRecvCastleN04:
+ FlagEmblem GetCastleData("nguild_prt.gat",1);
+ end;
+}
+// In Castle =============================================
+nguild_prt.gat,64,56,4 duplicate(NGuildPrt) NGuild Prontera#p1-8 722
+nguild_prt.gat,76,32,4 duplicate(NGuildPrt) NGuild Prontera#p1-9 722
+nguild_prt.gat,84,32,4 duplicate(NGuildPrt) NGuild Prontera#p1-10 722
+nguild_prt.gat,94,39,4 duplicate(NGuildPrt) NGuild Prontera#p1-11 722
+nguild_prt.gat,94,24,4 duplicate(NGuildPrt) NGuild Prontera#p1-12 722
+nguild_prt.gat,73,14,4 duplicate(NGuildPrt) NGuild Prontera#p1-13 722
+nguild_prt.gat,73,6,4 duplicate(NGuildPrt) NGuild Prontera#p1-14 722
+nguild_prt.gat,55,46,4 duplicate(NGuildPrt) NGuild Prontera#p1-15 722
+nguild_prt.gat,45,46,4 duplicate(NGuildPrt) NGuild Prontera#p1-16 722
diff --git a/npc/guild/nguild/nguild_guardians.txt b/npc/guild/nguild/nguild_guardians.txt
new file mode 100644
index 000000000..b91dee519
--- /dev/null
+++ b/npc/guild/nguild/nguild_guardians.txt
@@ -0,0 +1,89 @@
+//===== eAthena Script =======================================
+//= War of Emperium - nguild guardians script
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Re-spawns guardians on server start if they have been
+//= purchased. Also announces when a guardian dies.
+//===== Additional Comments: =================================
+//= Based off existing guild scripts. Do not know if it is accurate.[kobra_k88]
+//============================================================
+
+
+//------------------------------------------------------------------------------
+nguild_alde.gat,216,24,0 script Guardian_N01 -1,{
+OnAgitInit:
+ if (GetCastleData("nguild_alde.gat",10) == 1) guardian "nguild_alde.gat",18,219,"Soldier Guardian",1287,1,"Guardian_N01::OnGuardianDied",0;
+ if (GetCastleData("nguild_alde.gat",11) == 1) guardian "nguild_alde.gat",117,42,"Soldier Guardian",1287,1,"Guardian_N01::OnGuardianDied",1;
+ if (GetCastleData("nguild_alde.gat",12) == 1) guardian "nguild_alde.gat",207,153,"Soldier Guardian",1287,1,"Guardian_N01::OnGuardianDied",2;
+ if (GetCastleData("nguild_alde.gat",13) == 1) guardian "nguild_alde.gat",68,70,"Archer Guardian",1285,1,"Guardian_N01::OnGuardianDied",3;
+ if (GetCastleData("nguild_alde.gat",14) == 1) guardian "nguild_alde.gat",187,140,"Archer Guardian",1285,1,"Guardian_N01::OnGuardianDied",4;
+ if (GetCastleData("nguild_alde.gat",15) == 1) guardian "nguild_alde.gat",62,204,"Knight Guardian",1286,1,"Guardian_N01::OnGuardianDied",5;
+ if (GetCastleData("nguild_alde.gat",16) == 1) guardian "nguild_alde.gat",113,100,"Knight Guardian",1286,1,"Guardian_N01::OnGuardianDied",6;
+ if (GetCastleData("nguild_alde.gat",17) == 1) guardian "nguild_alde.gat",211,174,"Knight Guardian",1286,1,"Guardian_N01::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "nguild_alde.gat","A Guardian Has Fallen",17;
+ end;
+}
+
+//------------------------------------------------------------------------------
+nguild_gef.gat,198,182,0 script Guardian_N02 -1,{
+OnAgitInit:
+ if (GetCastleData("nguild_gef.gat",10) == 1) guardian "nguild_gef.gat",30,178,"Soldier Guardian",1287,1,"Guardian_N02::OnGuardianDied",0;
+ if (GetCastleData("nguild_gef.gat",11) == 1) guardian "nguild_gef.gat",64,180,"Soldier Guardian",1287,1,"Guardian_N02::OnGuardianDied",1;
+ if (GetCastleData("nguild_gef.gat",12) == 1) guardian "nguild_gef.gat",61,25,"Soldier Guardian",1287,1,"Guardian_N02::OnGuardianDied",2;
+ if (GetCastleData("nguild_gef.gat",13) == 1) guardian "nguild_gef.gat",61,44,"Archer Guardian",1285,1,"Guardian_N02::OnGuardianDied",3;
+ if (GetCastleData("nguild_gef.gat",14) == 1) guardian "nguild_gef.gat",189,43,"Archer Guardian",1285,1,"Guardian_N02::OnGuardianDied",4;
+ if (GetCastleData("nguild_gef.gat",15) == 1) guardian "nguild_gef.gat",51,192,"Knight Guardian",1286,1,"Guardian_N02::OnGuardianDied",5;
+ if (GetCastleData("nguild_gef.gat",16) == 1) guardian "nguild_gef.gat",49,67,"Knight Guardian",1286,1,"Guardian_N02::OnGuardianDied",6;
+ if (GetCastleData("nguild_gef.gat",17) == 1) guardian "nguild_gef.gat",181,14,"Knight Guardian",1286,1,"Guardian_N02::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "nguild_gef.gat","A Guardian Has Fallen",17;
+ end;
+}
+//------------------------------------------------------------------------------
+nguild_pay.gat,139,139,0 script Guardian_N03 -1,{
+OnAgitInit:
+ if (GetCastleData("nguild_pay.gat",10) == 1) guardian "nguild_pay.gat",210,120,"Soldier Guardian",1287,1,"Guardian_N03::OnGuardianDied",0;
+ if (GetCastleData("nguild_pay.gat",11) == 1) guardian "nguild_pay.gat",69,26,"Soldier Guardian",1287,1,"Guardian_N03::OnGuardianDied",1;
+ if (GetCastleData("nguild_pay.gat",12) == 1) guardian "nguild_pay.gat",23,141,"Soldier Guardian",1287,1,"Guardian_N03::OnGuardianDied",2;
+ if (GetCastleData("nguild_pay.gat",13) == 1) guardian "nguild_pay.gat",224,87,"Archer Guardian",1285,1,"Guardian_N03::OnGuardianDied",3;
+ if (GetCastleData("nguild_pay.gat",14) == 1) guardian "nguild_pay.gat",81,45,"Archer Guardian",1285,1,"Guardian_N03::OnGuardianDied",4;
+ if (GetCastleData("nguild_pay.gat",15) == 1) guardian "nguild_pay.gat",214,53,"Knight Guardian",1286,1,"Guardian_N03::OnGuardianDied",5;
+ if (GetCastleData("nguild_pay.gat",16) == 1) guardian "nguild_pay.gat",69,26,"Knight Guardian",1286,1,"Guardian_N03::OnGuardianDied",6;
+ if (GetCastleData("nguild_pay.gat",17) == 1) guardian "nguild_pay.gat",23,141,"Knight Guardian",1286,1,"Guardian_N03::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "nguild_pay.gat","A Guardian Has Fallen",17;
+ end;
+}
+//------------------------------------------------------------------------------
+nguild_prt.gat,197,197,0 script Guardian_N04 -1,{
+OnAgitInit:
+ if (GetCastleData("nguild_prt.gat",10) == 1) guardian "nguild_prt.gat",196,92,"Soldier Guardian",1287,1,"Guardian_N04::OnGuardianDied",0;
+ if (GetCastleData("nguild_prt.gat",11) == 1) guardian "nguild_prt.gat",113,200,"Soldier Guardian",1287,1,"Guardian_N04::OnGuardianDied",1;
+ if (GetCastleData("nguild_prt.gat",12) == 1) guardian "nguild_prt.gat",111,186,"Soldier Guardian",1287,1,"Guardian_N04::OnGuardianDied",2;
+ if (GetCastleData("nguild_prt.gat",13) == 1) guardian "nguild_prt.gat",76,202,"Archer Guardian",1285,1,"Guardian_N04::OnGuardianDied",3;
+ if (GetCastleData("nguild_prt.gat",14) == 1) guardian "nguild_prt.gat",90,26,"Archer Guardian",1285,1,"Guardian_N04::OnGuardianDied",4;
+ if (GetCastleData("nguild_prt.gat",15) == 1) guardian "nguild_prt.gat",58,59,"Knight Guardian",1286,1,"Guardian_N04::OnGuardianDied",5;
+ if (GetCastleData("nguild_prt.gat",16) == 1) guardian "nguild_prt.gat",112,200,"Knight Guardian",1286,1,"Guardian_N04::OnGuardianDied",6;
+ if (GetCastleData("nguild_prt.gat",17) == 1) guardian "nguild_prt.gat",101,194,"Knight Guardian",1286,1,"Guardian_N04::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "nguild_prt.gat","A Guardian Has Fallen",17;
+ end;
+}
diff --git a/npc/guild/nguild/nguild_kafras.txt b/npc/guild/nguild/nguild_kafras.txt
new file mode 100644
index 000000000..941d6c0ce
--- /dev/null
+++ b/npc/guild/nguild/nguild_kafras.txt
@@ -0,0 +1,53 @@
+//===== eAthena Script =======================================
+//= War of Emperium Kafras for N Guild Castles
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 5+
+//===== Description: =========================================
+//= Provides Kafra services for guild members of NGuild Castles.
+//= Used in conjuction with function F_Kafra.
+//===== Additional Comments: =================================
+//= Based off existing guild scripts. Do not know if it is accurate.[kobra_k88]
+//= 1.1 All N Guild Kafras teleport to Prontera only! [Lupus]
+//============================================================
+
+
+// Castle 1 ===============================================
+nguild_alde.gat,218,170,0 script Kafra Service#N01 117,{
+ callfunc "F_GKafra", "nguild_alde", "Prontera";
+ end;
+OnRecvCastleN01:
+ if (GetCastleData("nguild_alde.gat",9) < 1) disablenpc "Kafra Service#N01";
+ end;
+}
+
+// Castle 2 ===============================================
+//nguild_gef,96,173,0 script Kafra Service#N02 117,{
+nguild_gef.gat,35,37,0 script Kafra Service#N02 117,{
+ callfunc "F_GKafra", "nguild_gef", "Prontera";
+ end;
+OnRecvCastleN02:
+ if (GetCastleData("nguild_gef.gat",9) < 1) disablenpc "Kafra Service#N02";
+ end;
+}
+
+// Castle 3 ===============================================
+nguild_pay.gat,128,58,3 script Kafra Service#N03 117,{
+ callfunc "F_GKafra", "nguild_pay", "Prontera";
+ end;
+OnRecvCastleN03:
+ if (GetCastleData("nguild_pay.gat",9) < 1) disablenpc "Kafra Service#N03";
+ end;
+}
+
+// Castle 4 ===============================================
+nguild_prt.gat,96,173,0 script Kafra Service#N04 117,{
+ callfunc "F_GKafra", "nguild_prt", "Prontera";
+ end;
+OnRecvCastleN04:
+ if (GetCastleData("nguild_prt.gat",9) < 1) disablenpc "Kafra Service#N04";
+ end;
+}
diff --git a/npc/guild/nguild/nguild_managers.txt b/npc/guild/nguild/nguild_managers.txt
new file mode 100644
index 000000000..6cea67a41
--- /dev/null
+++ b/npc/guild/nguild/nguild_managers.txt
@@ -0,0 +1,85 @@
+//===== eAthena Script =======================================
+//= War of Emperium Managers for N Guild Castles
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Based off existing guild scripts. Do not know if it is accurate.[kobra_k88]
+//============================================================
+
+
+// Castle 1 ==================================================================================
+nguild_alde.gat,218,175,0 script Frolo 55,{
+ if(callfunc("F_GldManager","Frolo","nguild_alde",119,223,"N01") == 0) close;
+
+ if(@GDnum==10) guardian "nguild_alde.gat",18,219,"Soldier Guardian",1287,1,"Guardian_N01::OnGuardianDied",0;
+ if(@GDnum==11) guardian "nguild_alde.gat",117,42,"Soldier Guardian",1287,1,"Guardian_N01::OnGuardianDied",1;
+ if(@GDnum==12) guardian "nguild_alde.gat",207,153,"Soldier Guardian",1287,1,"Guardian_N01::OnGuardianDied",2;
+ if(@GDnum==13) guardian "nguild_alde.gat",68,70,"Archer Guardian",1285,1,"Guardian_N01::OnGuardianDied",3;
+ if(@GDnum==14) guardian "nguild_alde.gat",187,140,"Archer Guardian",1285,1,"Guardian_N01::OnGuardianDied",4;
+ if(@GDnum==15) guardian "nguild_alde.gat",62,204,"Knight Guardian",1286,1,"Guardian_N01::OnGuardianDied",5;
+ if(@GDnum==16) guardian "nguild_alde.gat",113,100,"Knight Guardian",1286,1,"Guardian_N01::OnGuardianDied",6;
+ if(@GDnum==17) guardian "nguild_alde.gat",211,174,"Knight Guardian",1286,1,"Guardian_N01::OnGuardianDied",7;
+ mes "[Frolo]";
+ mes "Guardian has been installed, the guardian will protect our guild base against enemies.";
+ close;
+}
+
+
+// Castle 2 ==================================================================================
+nguild_gef.gat,40,48,5 script Leiber 55,{
+ if(callfunc("F_GldManager","Leiber","nguild_gef",155,112,"N02") == 0) close;
+
+ if(@GDnum==10) guardian "nguild_gef.gat",30,178,"Soldier Guardian",1287,1,"Guardian_N02::OnGuardianDied",0;
+ if(@GDnum==11) guardian "nguild_gef.gat",64,180,"Soldier Guardian",1287,1,"Guardian_N02::OnGuardianDied",1;
+ if(@GDnum==12) guardian "nguild_gef.gat",61,25,"Soldier Guardian",1287,1,"Guardian_N02::OnGuardianDied",2;
+ if(@GDnum==13) guardian "nguild_gef.gat",61,44,"Archer Guardian",1285,1,"Guardian_N02::OnGuardianDied",3;
+ if(@GDnum==14) guardian "nguild_gef.gat",189,43,"Archer Guardian",1285,1,"Guardian_N02::OnGuardianDied",4;
+ if(@GDnum==15) guardian "nguild_gef.gat",51,192,"Knight Guardian",1286,1,"Guardian_N02::OnGuardianDied",5;
+ if(@GDnum==16) guardian "nguild_gef.gat",49,67,"Knight Guardian",1286,1,"Guardian_N02::OnGuardianDied",6;
+ if(@GDnum==17) guardian "nguild_gef.gat",181,14,"Knight Guardian",1286,1,"Guardian_N02::OnGuardianDied",7;
+ mes "[Leiber]";
+ mes "Guardian has been installed, the guardian will protect our guild base against enemies.";
+ close;
+}
+
+
+// Castle 3 ==================================================================================
+nguild_pay.gat,120,58,4 script Dundar 55,{
+ if(callfunc("F_GldManager","Dundar","nguild_pay",290,7,"N03") == 0) close;
+
+ if(@GDnum==10) guardian "nguild_pay.gat",210,120,"Soldier Guardian",1287,1,"Guardian_N03::OnGuardianDied",0;
+ if(@GDnum==11) guardian "nguild_pay.gat",69,26,"Soldier Guardian",1287,1,"Guardian_N03::OnGuardianDied",1;
+ if(@GDnum==12) guardian "nguild_pay.gat",23,141,"Soldier Guardian",1287,1,"Guardian_N03::OnGuardianDied",2;
+ if(@GDnum==13) guardian "nguild_pay.gat",224,87,"Archer Guardian",1285,1,"Guardian_N03::OnGuardianDied",3;
+ if(@GDnum==14) guardian "nguild_pay.gat",81,45,"Archer Guardian",1285,1,"Guardian_N03::OnGuardianDied",4;
+ if(@GDnum==15) guardian "nguild_pay.gat",214,53,"Knight Guardian",1286,1,"Guardian_N03::OnGuardianDied",5;
+ if(@GDnum==16) guardian "nguild_pay.gat",69,26,"Knight Guardian",1286,1,"Guardian_N03::OnGuardianDied",6;
+ if(@GDnum==17) guardian "nguild_pay.gat",23,141,"Knight Guardian",1286,1,"Guardian_N03::OnGuardianDied",7;
+ mes "[Dundar]";
+ mes "Guardian has been installed, the guardian will protect our guild base against enemies.";
+ close;
+}
+
+
+// Castle 4 ==================================================================================
+nguild_prt.gat,112,181,0 script Thefton 55,{
+ if(callfunc("F_GldManager","Thefton","nguild_prt",15,209,"N04") == 0) close;
+
+ if(@GDnum==10) guardian "nguild_prt.gat",196,92,"Soldier Guardian",1287,1,"Guardian_N04::OnGuardianDied",0;
+ if(@GDnum==11) guardian "nguild_prt.gat",113,200,"Soldier Guardian",1287,1,"Guardian_N04::OnGuardianDied",1;
+ if(@GDnum==12) guardian "nguild_prt.gat",111,186,"Soldier Guardian",1287,1,"Guardian_N04::OnGuardianDied",2;
+ if(@GDnum==13) guardian "nguild_prt.gat",76,202,"Archer Guardian",1285,1,"Guardian_N04::OnGuardianDied",3;
+ if(@GDnum==14) guardian "nguild_prt.gat",90,26,"Archer Guardian",1285,1,"Guardian_N04::OnGuardianDied",4;
+ if(@GDnum==15) guardian "nguild_prt.gat",58,59,"Knight Guardian",1286,1,"Guardian_N04::OnGuardianDied",5;
+ if(@GDnum==16) guardian "nguild_prt.gat",112,200,"Knight Guardian",1286,1,"Guardian_N04::OnGuardianDied",6;
+ if(@GDnum==17) guardian "nguild_prt.gat",101,194,"Knight Guardian",1286,1,"Guardian_N04::OnGuardianDied",7;
+ mes "[Thefton]";
+ mes "Guardian has been installed, the guardian will protect our guild base against enemies.";
+ close;
+}
diff --git a/npc/guild/nguild/nguild_treas.txt b/npc/guild/nguild/nguild_treas.txt
new file mode 100644
index 000000000..7c4a219d3
--- /dev/null
+++ b/npc/guild/nguild/nguild_treas.txt
@@ -0,0 +1,108 @@
+//===== eAthena Script =======================================
+//= War of Emperium Treasure Rooms for NGuild Guild Castles
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Based off existing guild scripts. Do not know if it is accurate.[kobra_k88]
+//============================================================
+
+
+//<=============================== Castle 1 =================================>\\
+
+// Treasure Spawn -----------------------
+nguild_alde.gat,1,1,1 script Treasure_N01 -1,{
+
+OnRecvCastleN01:
+ if($boxNumN01 == 0) end;
+ set $@bxN01, $boxNumN01;
+// callfunc "F_GldTreas","nguild_alde","N01",$boxNumN01,$@bxN01,$@boxIdN01,1324,114,218,123,227,1;
+ end;
+
+OnDied:
+ mapannounce "nguild_alde.gat","Treasure Chest Broken Open",17;
+ set $boxNumN01, $boxNumN01 -1;
+ if($boxNumN01 == 0) mapannounce "nguild_alde.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Treasure Room Switch --------------------
+nguild_alde.gat,123,223,0 script Switch#TresN01 111,{
+ callfunc "F_GldTreasSw", "nguild_alde",218,176;
+ end;
+}
+
+//<================================ Castle 2 ================================>\\
+
+// Treasure Spawn ----------------------------
+nguild_gef.gat,1,1,1 script Treasure_N02 -1,{
+
+OnRecvCastleN02:
+ if($boxNumN02 == 0) end;
+ set $@bxN02, $boxNumN02;
+// callfunc "F_GldTreas","nguild_gef","N02",$boxNumN02,$@bxN02,$@boxIdN02,1334,150,108,158,114,1;
+ end;
+
+OnDied:
+ mapannounce "nguild_gef.gat","Treasure Chest Broken Open",17;
+ set $boxNumN02, $boxNumN02 -1;
+ if($boxNumN02 == 0) mapannounce "nguild_gef.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Room Switch ---------------------------------------------------------
+nguild_gef.gat,152,117,0 script Switch#TresN02 111,{
+ callfunc "F_GldTreasSw","nguild_gef",40,49;
+ end;
+}
+
+//<================================ Castle 3 ================================>\\
+
+// Treasure Spawn ---------------------------
+nguild_pay.gat,1,1,0 script Treasure_N03 -1,{
+OnRecvCastleN03:
+ if($boxNumN03 == 0) end;
+ set $@bxN03, $boxNumN03;
+// callfunc "F_GldTreas","nguild_pay","N03",$boxNumN03,$@bxN03,$@boxIdN03,1344,286,4,295,13,1;
+ end;
+
+OnDied:
+ mapannounce "nguild_pay.gat","Treasure Chest Broken Open",17;
+ set $boxNumN03, $boxNumN03 -1;
+ if($boxNumN03 == 0) mapannounce "nguild_pay.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Treasure Room Switch ---------------------------------------------------
+nguild_pay.gat,295,8,0 script Switch#TresN03 111,{
+ callfunc "F_GldTreasSw", "nguild_pay",120,59;
+ end;
+}
+
+//<================================ Castle 4 ================================>\\
+
+// Treasure Spawn -------------------------------
+nguild_prt.gat,1,1,0 script Treasure_N04 -1,{
+OnRecvCastleN04:
+ if($boxNumN04 == 0) end;
+ set $@bxN04, $boxNumN04;
+// callfunc "F_GldTreas","nguild_prt","N04",$boxNumN04,$@bxN04,$@boxIdN04,1354,6,204,15,213,1;
+ end;
+
+OnDied:
+ mapannounce "nguild_prt.gat","Treasure Chest Broken Open",17;
+ set $boxNumN04, $boxNumN04 -1;
+ if($boxNumN04 == 0) mapannounce "nguild_prt.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Treasure Room Switch ----------------------------------------------------
+nguild_prt.gat,15,209,0 script Switch#TresN04 111,{
+ callfunc "F_GldTreasSw", "nguild_prt",109,179;
+ end;
+}
diff --git a/npc/guild/nguild/nguild_warper.txt b/npc/guild/nguild/nguild_warper.txt
new file mode 100644
index 000000000..baa78bc2f
--- /dev/null
+++ b/npc/guild/nguild/nguild_warper.txt
@@ -0,0 +1,62 @@
+//===== eAthena Script =======================================
+//= Novice's Guild Castles War of Emperium Usher NPC
+//===== By: ==================================================
+//= Lupus
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 1+; RO Episode 4+
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Now you have access to 4 N Guild castles. They don't have
+//= dungeons. And 2nd Classes can't seize these Castles.
+//= These new castles need a new strategy. It would bring some
+//= fun and live to your game.
+//= NOTE: If your Guild Master is 2nd class, then he could
+//= rule the Castles and gather Treasure Boxes after WoE
+//= 1.1 Now 2nd classes can't enter NC place at all
+//= 1.2 Restricted access of SG/SL. On warp clear some
+//= unallowed buffs [Lupus]
+//============================================================
+
+
+prontera.gat,146,163,6 script Novice Castles 729,{
+ mes "[Cita]";
+ mes "Hey! I'm a new usher of Novice Castles.";
+ next;
+ if( (Class>=Job_Novice && Class<=Job_Thief)
+ || Class==Job_Taekwon || Class==Job_SuperNovice || Class==Job_Super_Baby
+ || (Class>=Job_Baby && Class<=Job_Baby_Thief)
+ || (Class>=Job_Novice_High && Class<=Job_Thief_High)
+ ) menu "Warp me to Novice Castles",M_WARP,"Cancel",-;
+
+ mes "[Cita]";
+ mes "All the 2nd classes aren't allowed to enter the sacred Novice Castles place.";
+ emotion 0;
+ close;
+
+M_WARP:
+ //remove several unallowed buffs
+ sc_end SC_ASSUMPTIO;
+ sc_end SC_IMPOSITIO;
+ sc_end SC_SUFFRAGIUM;
+ sc_end SC_MAGNIFICAT;
+ warp "n_castle.gat",102,93+rand(14);
+ close;
+}
+
+
+n_castle.gat,102,107,5 script Cita 729,{
+ mes "[Cita]";
+ mes "Hello, "+ strcharinfo(0) +". Can I help you?";
+ next;
+ menu "Warp me to Prontera!",-,"Cancel",LEnd;
+
+ warp "prontera.gat",155,177+rand(5);
+ close;
+ LEnd:
+ mes "[Cita]";
+ mes "Ok.";
+ close;
+} \ No newline at end of file
diff --git a/npc/guild/payg/payg_dunsw.txt b/npc/guild/payg/payg_dunsw.txt
new file mode 100644
index 000000000..227092a62
--- /dev/null
+++ b/npc/guild/payg/payg_dunsw.txt
@@ -0,0 +1,49 @@
+//===== eAthena Script =======================================
+//= War of Emperium Dungeon Switch for Payon Guild Castles
+//===== By: ==================================================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Switch that warps guild members to the guild dungeon
+//===== Additional Comments: =================================
+//= v1.2 Optimized with functions.[kobra_k88]
+//============================================================
+
+
+// Castle 1 ================================================
+payg_cas01.gat,101,25,0 script Switch#DunPy01 111,{
+ callfunc "F_GldDunSw","payg_cas01","01",186,165;
+ close;
+}
+
+
+// Castle 2 ================================================
+payg_cas02.gat,278,247,0 script Switch#DunPy02 111,{
+ callfunc "F_GldDunSw","payg_cas02","01",54,165;
+ close;
+}
+
+
+// Castle 3 ================================================
+payg_cas03.gat,20,44,0 script Switch#DunPy03 111,{
+ callfunc "F_GldDunSw","payg_cas03","01",54,39;
+ close;
+}
+
+
+// Castle 4 ================================================
+payg_cas04.gat,52,48,0 script Switch#DunPy04 111,{
+ callfunc "F_GldDunSw","payg_cas04","01",186,39;
+ close;
+}
+
+
+// Castle 5 ================================================
+payg_cas05.gat,248,14,0 script Switch#DunPy05 111,{
+ callfunc "F_GldDunSw","payg_cas05","01",223,202;
+ close;
+}
diff --git a/npc/guild/payg/payg_ev_agit.txt b/npc/guild/payg/payg_ev_agit.txt
new file mode 100644
index 000000000..05b9cb3c0
--- /dev/null
+++ b/npc/guild/payg/payg_ev_agit.txt
@@ -0,0 +1,146 @@
+//===== eAthena Script =======================================
+//= War of Emperium - Payon Guild Wars Events
+//===== By: ==================================================
+//= jAthena (1.0)
+//= 1.1 by Akaru and ho|yAnge|
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Event Triggers of Payon Guild Wars
+//===== Additional Comments: =================================
+//= v1.2 Now using functions for OnAgitStart and OnAgitBreak. [kobra_k88]
+//= 1.3 Added code for abandoning captured castles on /breakguild [Lupus]
+//============================================================
+
+
+// Castle 1 ================================================================
+payg_cas01.gat,139,139,0 script Agit_Py01 -1,{
+OnInterIfInitOnce:
+ GetCastleData "payg_cas01.gat",0,"::OnRecvCastlePy01";
+ end;
+OnRecvCastlePy01:
+ RequestGuildInfo GetCastleData("payg_cas01.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","payg_cas01","Py01",139,139;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","payg_cas01","Py01";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","payg_cas01","Py01";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "payg_cas01.gat",GetCastleData("payg_cas01.gat",1),6;
+ Monster "payg_cas01.gat",139,139,"EMPERIUM",1288,1,"Agit_Py01::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","payg_cas01","Py01";
+ end;
+}
+
+// Castle 2 ================================================================
+payg_cas02.gat,39,25,0 script Agit_Py02 -1,{
+OnInterIfInitOnce:
+ GetCastleData "payg_cas02.gat",0,"::OnRecvCastlePy02";
+ end;
+OnRecvCastlePy02:
+ RequestGuildInfo GetCastleData("payg_cas02.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","payg_cas02","Py02",39,25;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","payg_cas02","Py02";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","payg_cas02","Py02";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "payg_cas02.gat",GetCastleData("payg_cas02.gat",1),6;
+ Monster "payg_cas02.gat",39,25,"EMPERIUM",1288,1,"Agit_Py02::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","payg_cas02","Py02";
+ end;
+}
+
+// Castle 3 ================================================================
+payg_cas03.gat,269,265,0 script Agit_Py03 -1,{
+OnInterIfInitOnce:
+ GetCastleData "payg_cas03.gat",0,"::OnRecvCastlePy03";
+ end;
+OnRecvCastlePy03:
+ RequestGuildInfo GetCastleData("payg_cas03.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","payg_cas03","Py03",269,265;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","payg_cas03","Py03";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","payg_cas03","Py03";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "payg_cas03.gat",GetCastleData("payg_cas03.gat",1),6;
+ Monster "payg_cas03.gat",269,265,"EMPERIUM",1288,1,"Agit_Py03::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","payg_cas03","Py03";
+ end;
+}
+
+// Castle 4 ================================================================
+payg_cas04.gat,271,29,0 script Agit_Py04 -1,{
+OnInterIfInitOnce:
+ GetCastleData "payg_cas04.gat",0,"::OnRecvCastlePy04";
+ end;
+OnRecvCastlePy04:
+ RequestGuildInfo GetCastleData("payg_cas04.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","payg_cas04","Py04",271,29;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","payg_cas04","Py04";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","payg_cas04","Py04";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "payg_cas04.gat",GetCastleData("payg_cas04.gat",1),6;
+ Monster "payg_cas04.gat",271,29,"EMPERIUM",1288,1,"Agit_Py04::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","payg_cas04","Py04";
+ end;
+}
+
+// Castle 5 ================================================================
+payg_cas05.gat,30,30,0 script Agit_Py05 -1,{
+OnInterIfInitOnce:
+ GetCastleData "payg_cas05.gat",0,"::OnRecvCastlePy05";
+ end;
+OnRecvCastlePy05:
+ RequestGuildInfo GetCastleData("payg_cas05.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","payg_cas05","Py05",30,30;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","payg_cas05","Py05";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","payg_cas05","Py05";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "payg_cas05.gat",GetCastleData("payg_cas05.gat",1),6;
+ Monster "payg_cas05.gat",30,30,"EMPERIUM",1288,1,"Agit_Py05::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","payg_cas05","Py05";
+ end;
+}
diff --git a/npc/guild/payg/payg_flags.txt b/npc/guild/payg/payg_flags.txt
new file mode 100644
index 000000000..7bc707fc8
--- /dev/null
+++ b/npc/guild/payg/payg_flags.txt
@@ -0,0 +1,186 @@
+//===== eAthena Script =======================================
+//= War of Emperium - Payon Guild Flags
+//===== By: ==================================================
+//= jAthena (1.0)
+//= 1.1 by Akaru and ho|yAnge|
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Castle Guild Flags in Payon and pay_gld
+//===== Additional Comments: =================================
+//= v1.2 Optimized with functions.[kobra_k88]
+//= v1.3 Changed to iRO castle names [DracoRPG]
+//= v1.4 Can now only flag in from outside the castle [Kayla]
+//============================================================
+
+
+//============================================================================//
+// Castle 1
+//============================================================================//
+payon.gat,165,177,3 script BrightArbor#f1-1::BrightArbor 722,{
+ callfunc "F_Flags","Payon","payg_cas01",87,29,0;
+ close;
+
+OnRecvCastlePy01:
+ FlagEmblem GetCastleData("payg_cas01.gat",1);
+ end;
+}
+
+pay_gld.gat,125,236,4 script BrightArbor#f1-2::BrightArbor2 722,{
+ callfunc "F_Flags","Payon","payg_cas01",87,29,1;
+ close;
+
+OnRecvCastlePy01:
+ FlagEmblem GetCastleData("payg_cas01.gat",1);
+ end;
+}
+
+// In Guild ===============================================
+pay_gld.gat,110,233,4 duplicate(BrightArbor2) Bright Arbor#f1-3 722
+pay_gld.gat,116,233,4 duplicate(BrightArbor2) Bright Arbor#f1-4 722
+pay_gld.gat,91,239,2 duplicate(BrightArbor2) Bright Arbor#f1-5 722
+// In Castle ===============================================
+payg_cas01.gat,238,67,4 duplicate(BrightArbor) Bright Arbor#f1-6 722
+payg_cas01.gat,233,67,4 duplicate(BrightArbor) Bright Arbor#f1-7 722
+payg_cas01.gat,221,123,4 duplicate(BrightArbor) Bright Arbor#f1-8 722
+payg_cas01.gat,221,116,4 duplicate(BrightArbor) Bright Arbor#f1-9 722
+payg_cas01.gat,206,108,4 duplicate(BrightArbor) Bright Arbor#f1-10 722
+payg_cas01.gat,212,108,4 duplicate(BrightArbor) Bright Arbor#f1-11 722
+
+
+
+//===========================================================================//
+// Castle 2
+//============================================================================//
+payon.gat,165,173,3 script ScarletPalace#f2-1::ScarletPalace 722,{
+ callfunc "F_Flags","Payon","payg_cas02",25,266,0;
+ close;
+
+OnRecvCastlePy02:
+ FlagEmblem GetCastleData("payg_cas02.gat",1);
+ end;
+}
+
+pay_gld.gat,292,112,6 script ScarletPalace#f2-2::ScarletPalace2 722,{
+ callfunc "F_Flags","Payon","payg_cas02",25,266,1;
+ close;
+
+OnRecvCastlePy02:
+ FlagEmblem GetCastleData("payg_cas02.gat",1);
+ end;
+}
+// In Guild ===============================================
+pay_gld.gat,292,120,6 duplicate(ScarletPalace2) Scarlet Palace#f2-3 722
+pay_gld.gat,291,135,6 duplicate(ScarletPalace2) Scarlet Palace#f2-4 722
+pay_gld.gat,271,163,0 duplicate(ScarletPalace2) Scarlet Palace#f2-5 722
+// In Castle ===============================================
+payg_cas02.gat,254,40,6 duplicate(ScarletPalace) Scarlet Palace#f2-6 722
+payg_cas02.gat,254,48,6 duplicate(ScarletPalace) Scarlet Palace#f2-7 722
+payg_cas02.gat,202,49,0 duplicate(ScarletPalace) Scarlet Palace#f2-8 722
+payg_cas02.gat,209,49,0 duplicate(ScarletPalace) Scarlet Palace#f2-9 722
+payg_cas02.gat,59,282,4 duplicate(ScarletPalace) Scarlet Palace#f2-10 722
+payg_cas02.gat,70,282,4 duplicate(ScarletPalace) Scarlet Palace#f2-11 722
+
+
+
+//============================================================================//
+// Castle 3
+//============================================================================//
+payon.gat,165,169,3 script HolyShadow#f3-1::HolyShadow 722,{
+ callfunc "F_Flags","Payon","payg_cas03",9,263,0;
+ close;
+
+OnRecvCastlePy03:
+ FlagEmblem GetCastleData("payg_cas03.gat",1);
+ end;
+}
+
+pay_gld.gat,321,298,2 script HolyShadow#f3-2::HolyShadow2 722,{
+ callfunc "F_Flags","Payon","payg_cas03",9,263,1;
+ close;
+
+OnRecvCastlePy03:
+ FlagEmblem GetCastleData("payg_cas03.gat",1);
+ end;
+}
+
+// In Guild ===============================================
+pay_gld.gat,321,289,2 duplicate(HolyShadow2) Holy Shadow#f3-3 722
+pay_gld.gat,327,304,1 duplicate(HolyShadow2) Holy Shadow#f3-4 722
+pay_gld.gat,333,254,4 duplicate(HolyShadow2) Holy Shadow#f3-5 722
+// In Castle ===============================================
+payg_cas03.gat,236,54,2 duplicate(HolyShadow) Holy Shadow#f3-6 722
+payg_cas03.gat,236,45,2 duplicate(HolyShadow) Holy Shadow#f3-7 722
+payg_cas03.gat,259,66,4 duplicate(HolyShadow) Holy Shadow#f3-8 722
+payg_cas03.gat,266,66,4 duplicate(HolyShadow) Holy Shadow#f3-9 722
+payg_cas03.gat,34,31,4 duplicate(HolyShadow) Holy Shadow#f3-10 722
+payg_cas03.gat,43,31,4 duplicate(HolyShadow) Holy Shadow#f3-11 722
+
+
+
+//============================================================================//
+// Castle 4
+//============================================================================//
+payon.gat,165,165,3 script SacredAltar#f4-1::SacredAltar 722,{
+ callfunc "F_Flags","Payon","payg_cas04",40,235,0;
+ close;
+
+OnRecvCastlePy04:
+ FlagEmblem GetCastleData("payg_cas04.gat",1);
+ end;
+}
+
+pay_gld.gat,143,160,0 script SacredAltar#f4-2::SacredAltar2 722,{
+ callfunc "F_Flags","Payon","payg_cas04",40,235,1;
+ close;
+
+OnRecvCastlePy04:
+ FlagEmblem GetCastleData("payg_cas04.gat",1);
+ end;
+}
+// In Guild ===============================================
+pay_gld.gat,133,151,2 duplicate(SacredAltar2) Sacred Altar#f4-4 722
+pay_gld.gat,153,166,1 duplicate(SacredAltar2) Sacred Altar#f4-5 722
+// In Castle ===============================================
+payg_cas04.gat,255,259,0 duplicate(SacredAltar) Sacred Altar#f4-6 722
+payg_cas04.gat,248,259,0 duplicate(SacredAltar) Sacred Altar#f4-7 722
+payg_cas04.gat,248,168,6 duplicate(SacredAltar) Sacred Altar#f4-8 722
+payg_cas04.gat,248,160,6 duplicate(SacredAltar) Sacred Altar#f4-9 722
+payg_cas04.gat,232,181,4 duplicate(SacredAltar) Sacred Altar#f4-10 722
+payg_cas04.gat,239,181,4 duplicate(SacredAltar) Sacred Altar#f4-11 722
+
+
+
+//============================================================================//
+// Castle 5
+//============================================================================//
+payon.gat,165,161,3 script BambooGrove Hill#f5-1::BambooGroveHill 722,{
+ callfunc "F_Flags","Payon","payg_cas05",276,227,0;
+ close;
+
+OnRecvCastlePy05:
+ FlagEmblem GetCastleData("payg_cas05.gat",1);
+ end;
+}
+
+pay_gld.gat,208,268,4 script BambooGrove Hill#f5-2::BambooGroveHill2 722,{
+ callfunc "F_Flags","Payon","payg_cas05",276,227,1;
+ close;
+
+OnRecvCastlePy05:
+ FlagEmblem GetCastleData("payg_cas05.gat",1);
+ end;
+}
+// In Guild ===============================================
+pay_gld.gat,199,268,4 duplicate(BambooGroveHill2) Bamboo Grove Hill#f5-3 722
+pay_gld.gat,190,277,3 duplicate(BambooGroveHill2) Bamboo Grove Hill#f5-4 722
+pay_gld.gat,187,294,2 duplicate(BambooGroveHill2) Bamboo Grove Hill#f5-5 722
+// In Castle ===============================================
+payg_cas05.gat,32,249,4 duplicate(BambooGroveHill) Bamboo Grove Hill#f5-6 722
+payg_cas05.gat,24,249,4 duplicate(BambooGroveHill) Bamboo Grove Hill#f5-7 722
+payg_cas05.gat,62,271,0 duplicate(BambooGroveHill) Bamboo Grove Hill#f5-8 722
+payg_cas05.gat,57,271,0 duplicate(BambooGroveHill) Bamboo Grove Hill#f5-9 722
+payg_cas05.gat,55,252,2 duplicate(BambooGroveHill) Bamboo Grove Hill#f5-10 722
+payg_cas05.gat,55,260,2 duplicate(BambooGroveHill) Bamboo Grove Hill#f5-11 722
diff --git a/npc/guild/payg/payg_guardians.txt b/npc/guild/payg/payg_guardians.txt
new file mode 100644
index 000000000..1634babe1
--- /dev/null
+++ b/npc/guild/payg/payg_guardians.txt
@@ -0,0 +1,108 @@
+//===== eAthena Script =======================================
+//= War of Emperium - payg_cas guardians script
+//===== By: ==================================================
+//= holyAngelX (1.0)
+//===== Current Version: =====================================
+//= 1.2a
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Re-spawns guardians on server start if they have been
+//= purchased. Also announces when a guardian dies.
+//===== Additional Comments: =================================
+//= 1.1 by joedukk
+//= 1.2 by Akaru and Valaris
+//= 1.2a Guardians for all payg castles are now in this file.
+//= Minor optimizations.[kobra_k88]
+//============================================================
+
+
+payg_cas01.gat,139,139,0 script Guardian_Py01 -1,{
+OnAgitInit:
+ if (GetCastleData("payg_cas01.gat",10) == 1) guardian "payg_cas01.gat",210,120,"Soldier Guardian",1287,1,"Guardian_Py01::OnGuardianDied",0;
+ if (GetCastleData("payg_cas01.gat",11) == 1) guardian "payg_cas01.gat",69,26,"Soldier Guardian",1287,1,"Guardian_Py01::OnGuardianDied",1;
+ if (GetCastleData("payg_cas01.gat",12) == 1) guardian "payg_cas01.gat",23,141,"Soldier Guardian",1287,1,"Guardian_Py01::OnGuardianDied",2;
+ if (GetCastleData("payg_cas01.gat",13) == 1) guardian "payg_cas01.gat",224,87,"Archer Guardian",1285,1,"Guardian_Py01::OnGuardianDied",3;
+ if (GetCastleData("payg_cas01.gat",14) == 1) guardian "payg_cas01.gat",81,45,"Archer Guardian",1285,1,"Guardian_Py01::OnGuardianDied",4;
+ if (GetCastleData("payg_cas01.gat",15) == 1) guardian "payg_cas01.gat",214,53,"Knight Guardian",1286,1,"Guardian_Py01::OnGuardianDied",5;
+ if (GetCastleData("payg_cas01.gat",16) == 1) guardian "payg_cas01.gat",69,26,"Knight Guardian",1286,1,"Guardian_Py01::OnGuardianDied",6;
+ if (GetCastleData("payg_cas01.gat",17) == 1) guardian "payg_cas01.gat",23,141,"Knight Guardian",1286,1,"Guardian_Py01::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "payg_cas01.gat","A Guardian Has Fallen",17;
+ end;
+}
+//------------------------------------------------------------------------------
+payg_cas02.gat,39,25,0 script Guardian_Py02 -1,{
+OnAgitInit:
+ if (GetCastleData("payg_cas02.gat",10) == 1) guardian "payg_cas02.gat",208,37,"Soldier Guardian",1287,1,"Guardian_Py02::OnGuardianDied",0;
+ if (GetCastleData("payg_cas02.gat",11) == 1) guardian "payg_cas02.gat",51,245,"Soldier Guardian",1287,1,"Guardian_Py02::OnGuardianDied",1;
+ if (GetCastleData("payg_cas02.gat",12) == 1) guardian "payg_cas02.gat",286,245,"Soldier Guardian",1287,1,"Guardian_Py02::OnGuardianDied",2;
+ if (GetCastleData("payg_cas02.gat",13) == 1) guardian "payg_cas02.gat",217,42,"Archer Guardian",1285,1,"Guardian_Py02::OnGuardianDied",3;
+ if (GetCastleData("payg_cas02.gat",14) == 1) guardian "payg_cas02.gat",264,266,"Archer Guardian",1285,1,"Guardian_Py02::OnGuardianDied",4;
+ if (GetCastleData("payg_cas02.gat",15) == 1) guardian "payg_cas02.gat",51,245,"Knight Guardian",1286,1,"Guardian_Py02::OnGuardianDied",5;
+ if (GetCastleData("payg_cas02.gat",16) == 1) guardian "payg_cas02.gat",279,263,"Knight Guardian",1286,1,"Guardian_Py02::OnGuardianDied",6;
+ if (GetCastleData("payg_cas02.gat",17) == 1) guardian "payg_cas02.gat",279,263,"Knight Guardian",1286,1,"Guardian_Py02::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "payg_cas02.gat","A Guardian Has Fallen",17;
+ end;
+}
+//------------------------------------------------------------------------------
+payg_cas03.gat,269,265,0 script Guardian_Py03 -1,{
+OnAgitInit:
+ if (GetCastleData("payg_cas03.gat",10) == 1) guardian "payg_cas03.gat",252,39,"Soldier Guardian",1287,1,"Guardian_Py03::OnGuardianDied",0;
+ if (GetCastleData("payg_cas03.gat",11) == 1) guardian "payg_cas03.gat",23,283,"Soldier Guardian",1287,1,"Guardian_Py03::OnGuardianDied",1;
+ if (GetCastleData("payg_cas03.gat",12) == 1) guardian "payg_cas03.gat",34,283,"Soldier Guardian",1287,1,"Guardian_Py03::OnGuardianDied",2;
+ if (GetCastleData("payg_cas03.gat",13) == 1) guardian "payg_cas03.gat",57,36,"Archer Guardian",1285,1,"Guardian_Py03::OnGuardianDied",3;
+ if (GetCastleData("payg_cas03.gat",14) == 1) guardian "payg_cas03.gat",20,36,"Archer Guardian",1285,1,"Guardian_Py03::OnGuardianDied",4;
+ if (GetCastleData("payg_cas03.gat",15) == 1) guardian "payg_cas03.gat",34,283,"Knight Guardian",1286,1,"Guardian_Py03::OnGuardianDied",5;
+ if (GetCastleData("payg_cas03.gat",16) == 1) guardian "payg_cas03.gat",23,283,"Knight Guardian",1286,1,"Guardian_Py03::OnGuardianDied",6;
+ if (GetCastleData("payg_cas03.gat",17) == 1) guardian "payg_cas03.gat",28,253,"Knight Guardian",1286,1,"Guardian_Py03::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "payg_cas03.gat","A Guardian Has Fallen",17;
+ end;
+}
+//------------------------------------------------------------------------------
+payg_cas04.gat,271,29,0 script Guardian_Py04 -1,{
+OnAgitInit:
+ if (GetCastleData("payg_cas04.gat",10) == 1) guardian "payg_cas04.gat",236,172,"Soldier Guardian",1287,1,"Guardian_Py04::OnGuardianDied",0;
+ if (GetCastleData("payg_cas04.gat",11) == 1) guardian "payg_cas04.gat",14,260,"Soldier Guardian",1287,1,"Guardian_Py04::OnGuardianDied",1;
+ if (GetCastleData("payg_cas04.gat",12) == 1) guardian "payg_cas04.gat",15,30,"Soldier Guardian",1287,1,"Guardian_Py04::OnGuardianDied",2;
+ if (GetCastleData("payg_cas04.gat",13) == 1) guardian "payg_cas04.gat",257,166,"Archer Guardian",1285,1,"Guardian_Py04::OnGuardianDied",3;
+ if (GetCastleData("payg_cas04.gat",14) == 1) guardian "payg_cas04.gat",65,261,"Archer Guardian",1285,1,"Guardian_Py04::OnGuardianDied",4;
+ if (GetCastleData("payg_cas04.gat",15) == 1) guardian "payg_cas04.gat",65,261,"Knight Guardian",1286,1,"Guardian_Py04::OnGuardianDied",5;
+ if (GetCastleData("payg_cas04.gat",16) == 1) guardian "payg_cas04.gat",52,29,"Knight Guardian",1286,1,"Guardian_Py04::OnGuardianDied",6;
+ if (GetCastleData("payg_cas04.gat",17) == 1) guardian "payg_cas04.gat",15,30,"Knight Guardian",1286,1,"Guardian_Py04::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "payg_cas04.gat","A Guardian Has Fallen",17;
+ end;
+}
+//------------------------------------------------------------------------------
+payg_cas05.gat,30,30,0 script Guardian_Py05 -1,{
+OnAgitInit:
+ if (GetCastleData("payg_cas05.gat",10) == 1) guardian "payg_cas05.gat",51,258,"Soldier Guardian",1287,1,"Guardian_Py05::OnGuardianDied",0;
+ if (GetCastleData("payg_cas05.gat",11) == 1) guardian "payg_cas05.gat",286,235,"Soldier Guardian",1287,1,"Guardian_Py05::OnGuardianDied",1;
+ if (GetCastleData("payg_cas05.gat",12) == 1) guardian "payg_cas05.gat",282,277,"Soldier Guardian",1287,1,"Guardian_Py05::OnGuardianDied",2;
+ if (GetCastleData("payg_cas05.gat",13) == 1) guardian "payg_cas05.gat",18,281,"Archer Guardian",1285,1,"Guardian_Py05::OnGuardianDied",3;
+ if (GetCastleData("payg_cas05.gat",14) == 1) guardian "payg_cas05.gat",289,256,"Archer Guardian",1285,1,"Guardian_Py05::OnGuardianDied",4;
+ if (GetCastleData("payg_cas05.gat",15) == 1) guardian "payg_cas05.gat",275,42,"Knight Guardian",1286,1,"Guardian_Py05::OnGuardianDied",5;
+ if (GetCastleData("payg_cas05.gat",16) == 1) guardian "payg_cas05.gat",254,9,"Knight Guardian",1286,1,"Guardian_Py05::OnGuardianDied",6;
+ if (GetCastleData("payg_cas05.gat",17) == 1) guardian "payg_cas05.gat",236,256,"Knight Guardian",1286,1,"Guardian_Py05::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "payg_cas05.gat","A Guardian Has Fallen",17;
+ end;
+}
diff --git a/npc/guild/payg/payg_kafras.txt b/npc/guild/payg/payg_kafras.txt
new file mode 100644
index 000000000..75e758ec3
--- /dev/null
+++ b/npc/guild/payg/payg_kafras.txt
@@ -0,0 +1,65 @@
+//== eAthena Script ========================================
+//= War of Emperium Kafras for Payon Guild Castles
+//== By: =================================================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//== Current Version: ========================================
+//= 1.2
+//== Compatible With: ========================================
+//= eAthena 0.1+; RO Episode 4+
+//== Description: ============================================
+//= Provides Kafra services for guild members of Payon Castles.
+//= Used in conjuction with function F_Kafra.
+//== Additional Comments: ==================================
+//= v1.2 Optimized with functions.[kobra_k88]
+//============================================================
+
+
+// Castle 1 =============
+payg_cas01.gat,128,58,3 script Kafra Service#Py01 117,{
+ callfunc "F_GKafra", "payg_cas01", "Payon";
+ end;
+OnRecvCastlePy01:
+ if (GetCastleData("payg_cas01.gat",9) < 1) disablenpc "Kafra Service#Py01";
+ end;
+}
+
+
+// Castle 2 =============
+payg_cas02.gat,22,275,5 script Kafra Service#Py02 117,{
+ callfunc "F_GKafra", "payg_cas02", "Payon";
+ end;
+OnRecvCastlePy02:
+ if (GetCastleData("payg_cas02.gat",9) < 1) disablenpc "Kafra Service#Py02";
+ end;
+}
+
+
+// Castle 3 =============
+payg_cas03.gat,9,263,5 script Kafra Service#Py03 117,{
+ callfunc "F_GKafra", "payg_cas03", "Payon";
+ end;
+OnRecvCastlePy03:
+ if (GetCastleData("payg_cas03.gat",9) < 1) disablenpc "Kafra Service#Py03";
+ end;
+}
+
+
+// Castle 4 =============
+payg_cas04.gat,40,235,1 script Kafra Service#Py04 117,{
+ callfunc "F_GKafra", "payg_cas04", "Payon";
+ end;
+OnRecvCastlePy04:
+ if (GetCastleData("payg_cas04.gat",9) < 1) disablenpc "Kafra Service#Py04";
+ end;
+}
+
+
+// Castle 5 =============
+payg_cas05.gat,276,227,1 script Kafra Service#Py05 117,{
+ callfunc "F_GKafra", "payg_cas05", "Payon";
+ end;
+OnRecvCastlePy05:
+ if (GetCastleData("payg_cas05.gat",9) < 1) disablenpc "Kafra Service#Py05";
+ end;
+}
diff --git a/npc/guild/payg/payg_managers.txt b/npc/guild/payg/payg_managers.txt
new file mode 100644
index 000000000..d6277825e
--- /dev/null
+++ b/npc/guild/payg/payg_managers.txt
@@ -0,0 +1,104 @@
+//===== eAthena Script =======================================
+//= War of Emperium Managers for Payon Guild Castles
+//===== By: ==================================================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= v1.2 Optimized with functions.[kobra_k88]
+//============================================================
+
+
+// Castle 1 ==================================================================================
+payg_cas01.gat,120,58,4 script Grunday 55,{
+ if(callfunc("F_GldManager","Grunday","payg_cas01",290,7,"Py01") == 0) close;
+
+ if(@GDnum==10) guardian "payg_cas01.gat",210,120,"Soldier Guardian",1287,1,"Guardian_Py01::OnGuardianDied",0;
+ if(@GDnum==11) guardian "payg_cas01.gat",69,26,"Soldier Guardian",1287,1,"Guardian_Py01::OnGuardianDied",1;
+ if(@GDnum==12) guardian "payg_cas01.gat",23,141,"Soldier Guardian",1287,1,"Guardian_Py01::OnGuardianDied",2;
+ if(@GDnum==13) guardian "payg_cas01.gat",224,87,"Archer Guardian",1285,1,"Guardian_Py01::OnGuardianDied",3;
+ if(@GDnum==14) guardian "payg_cas01.gat",81,45,"Archer Guardian",1285,1,"Guardian_Py01::OnGuardianDied",4;
+ if(@GDnum==15) guardian "payg_cas01.gat",214,53,"Knight Guardian",1286,1,"Guardian_Py01::OnGuardianDied",5;
+ if(@GDnum==16) guardian "payg_cas01.gat",69,26,"Knight Guardian",1286,1,"Guardian_Py01::OnGuardianDied",6;
+ if(@GDnum==17) guardian "payg_cas01.gat",23,141,"Knight Guardian",1286,1,"Guardian_Py01::OnGuardianDied",7;
+ mes "[ Grunday ]";
+ mes "Guardian has been installed, guardian will protect our guild base against enemies.";
+ close;
+}
+
+
+// Castle 2 ==================================================================================
+payg_cas02.gat,22,260,7 script Cherrios 55,{
+ if(callfunc("F_GldManager","Cherrios","payg_cas02",145,143,"Py02") == 0) close;
+
+ if(@GDnum==10) guardian "payg_cas02.gat",208,37,"Soldier Guardian",1287,1,"Guardian_Py02::OnGuardianDied",0;
+ if(@GDnum==11) guardian "payg_cas02.gat",51,245,"Soldier Guardian",1287,1,"Guardian_Py02::OnGuardianDied",1;
+ if(@GDnum==12) guardian "payg_cas02.gat",286,245,"Soldier Guardian",1287,1,"Guardian_Py02::OnGuardianDied",2;
+ if(@GDnum==13) guardian "payg_cas02.gat",217,42,"Archer Guardian",1285,1,"Guardian_Py02::OnGuardianDied",3;
+ if(@GDnum==14) guardian "payg_cas02.gat",264,266,"Archer Guardian",1285,1,"Guardian_Py02::OnGuardianDied",4;
+ if(@GDnum==15) guardian "payg_cas02.gat",51,245,"Knight Guardian",1286,1,"Guardian_Py02::OnGuardianDied",5;
+ if(@GDnum==16) guardian "payg_cas02.gat",279,263,"Knight Guardian",1286,1,"Guardian_Py02::OnGuardianDied",6;
+ if(@GDnum==17) guardian "payg_cas02.gat",279,263,"Knight Guardian",1286,1,"Guardian_Py02::OnGuardianDied",7;
+ mes "[ Cherrios ]";
+ mes "Guardian has been installed, guardian will protect our guild base against enemies.";
+ close;
+}
+
+
+// Castle 3 ==================================================================================
+payg_cas03.gat,10,277,0 script Garriet 55,{
+ if(callfunc("F_GldManager","Garriet","payg_cas03",158,168,"Py03") == 0) close;
+
+ if(@GDnum==10) guardian "payg_cas03.gat",252,39,"Soldier Guardian",1287,1,"Guardian_Py03::OnGuardianDied",0;
+ if(@GDnum==11) guardian "payg_cas03.gat",23,283,"Soldier Guardian",1287,1,"Guardian_Py03::OnGuardianDied",1;
+ if(@GDnum==12) guardian "payg_cas03.gat",34,283,"Soldier Guardian",1287,1,"Guardian_Py03::OnGuardianDied",2;
+ if(@GDnum==13) guardian "payg_cas03.gat",57,36,"Archer Guardian",1285,1,"Guardian_Py03::OnGuardianDied",3;
+ if(@GDnum==14) guardian "payg_cas03.gat",20,36,"Archer Guardian",1285,1,"Guardian_Py03::OnGuardianDied",4;
+ if(@GDnum==15) guardian "payg_cas03.gat",34,283,"Knight Guardian",1286,1,"Guardian_Py03::OnGuardianDied",5;
+ if(@GDnum==16) guardian "payg_cas03.gat",23,283,"Knight Guardian",1286,1,"Guardian_Py03::OnGuardianDied",6;
+ if(@GDnum==17) guardian "payg_cas03.gat",28,253,"Knight Guardian",1286,1,"Guardian_Py03::OnGuardianDied",7;
+ mes "[ Garriet ]";
+ mes "Guardian has been installed, guardian will protect our guild base against enemies.";
+ close;
+}
+
+
+// Castle 4 ==================================================================================
+payg_cas04.gat,38,284,3 script DJ 55,{
+ if(callfunc("F_GldManager","DJ","payg_cas04",146,48,"Py04") == 0) close;
+
+ if(@GDnum==10) guardian "payg_cas04.gat",236,172,"Soldier Guardian",1287,1,"Guardian_Py04::OnGuardianDied",0;
+ if(@GDnum==11) guardian "payg_cas04.gat",14,260,"Soldier Guardian",1287,1,"Guardian_Py04::OnGuardianDied",1;
+ if(@GDnum==12) guardian "payg_cas04.gat",15,30,"Soldier Guardian",1287,1,"Guardian_Py04::OnGuardianDied",2;
+ if(@GDnum==13) guardian "payg_cas04.gat",257,166,"Archer Guardian",1285,1,"Guardian_Py04::OnGuardianDied",3;
+ if(@GDnum==14) guardian "payg_cas04.gat",65,261,"Archer Guardian",1285,1,"Guardian_Py04::OnGuardianDied",4;
+ if(@GDnum==15) guardian "payg_cas04.gat",65,261,"Knight Guardian",1286,1,"Guardian_Py04::OnGuardianDied",5;
+ if(@GDnum==16) guardian "payg_cas04.gat",52,29,"Knight Guardian",1286,1,"Guardian_Py04::OnGuardianDied",6;
+ if(@GDnum==17) guardian "payg_cas04.gat",15,30,"Knight Guardian",1286,1,"Guardian_Py04::OnGuardianDied",7;
+ mes "[ DJ ]";
+ mes "Guardian has been installed, guardian will protect our guild base against enemies.";
+ close;
+}
+
+
+// Castle 5 ==================================================================================
+payg_cas05.gat,277,249,3 script Najarf 55,{
+ if(callfunc("F_GldManager","Najarf","payg_cas05",156,131,"Py05") == 0) close;
+
+ if(@GDnum==10) guardian "payg_cas05.gat",51,258,"Soldier Guardian",1287,1,"Guardian_Py05::OnGuardianDied",0;
+ if(@GDnum==11) guardian "payg_cas05.gat",286,235,"Soldier Guardian",1287,1,"Guardian_Py05::OnGuardianDied",1;
+ if(@GDnum==12) guardian "payg_cas05.gat",282,277,"Soldier Guardian",1287,1,"Guardian_Py05::OnGuardianDied",2;
+ if(@GDnum==13) guardian "payg_cas05.gat",18,281,"Archer Guardian",1285,1,"Guardian_Py05::OnGuardianDied",3;
+ if(@GDnum==14) guardian "payg_cas05.gat",289,256,"Archer Guardian",1285,1,"Guardian_Py05::OnGuardianDied",4;
+ if(@GDnum==15) guardian "payg_cas05.gat",275,42,"Knight Guardian",1286,1,"Guardian_Py05::OnGuardianDied",5;
+ if(@GDnum==16) guardian "payg_cas05.gat",254,9,"Knight Guardian",1286,1,"Guardian_Py05::OnGuardianDied",6;
+ if(@GDnum==17) guardian "payg_cas05.gat",236,256,"Knight Guardian",1286,1,"Guardian_Py05::OnGuardianDied",7;
+ mes "[ Najarf ]";
+ mes "Guardian has been installed, guardian will protect our guild base against enemies.";
+ close;
+}
diff --git a/npc/guild/payg/payg_treas.txt b/npc/guild/payg/payg_treas.txt
new file mode 100644
index 000000000..b0532f9ac
--- /dev/null
+++ b/npc/guild/payg/payg_treas.txt
@@ -0,0 +1,130 @@
+//===== eAthena Script =======================================
+//= War of Emperium Treasure Rooms for Payon Guild Castles
+//===== By: ==================================================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= v1.2 Optimized with functions.[kobra_k88]
+//============================================================
+
+
+//<================================ Castle 1 ================================>\\
+
+// Treasure Spawn ----------------------------------------------------------
+payg_cas01.gat,1,1,0 script Treasure_Py01 -1,{
+OnRecvCastlePy01:
+ if($boxNumPy01 == 0) end;
+ set $@bxPy01, $boxNumPy01;
+// callfunc "F_GldTreas","payg_cas01","Py01",$boxNumPy01,$@bxPy01,$@boxIdPy01,1344,286,4,295,13,1;
+ end;
+
+OnDied:
+ mapannounce "payg_cas01.gat","Treasure Chest Broken Open",17;
+ set $boxNumPy01, $boxNumPy01 -1;
+ if($boxNumPy01 == 0) mapannounce "payg_cas01.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Treasure Room Switch ---------------------------------------------------
+payg_cas01.gat,295,8,0 script Switch#TresPy01 111,{
+ callfunc "F_GldTreasSw", "payg_cas01",120,59;
+ end;
+}
+
+
+//<================================ Castle 2 ================================>\\
+// Treasure Spawn ----------------------------------------------------------
+payg_cas02.gat,1,1,0 script Treasure_Py02 -1,{
+OnRecvCastlePy02:
+ if($boxNumPy02 == 0) end;
+ set $@bxPy02, $boxNumPy02;
+// callfunc "F_GldTreas","payg_cas02","Py02",$boxNumPy02,$@bxPy02,$@boxIdPy02,1346,140,140,148,149,1;
+ end;
+
+OnDied:
+ mapannounce "payg_cas02.gat","Treasure Chest Broken Open",17;
+ set $boxNumPy02, $boxNumPy02 -1;
+ if($boxNumPy02 == 0) mapannounce "payg_cas02.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Treasure Room Switch ----------------------------------------------------
+payg_cas02.gat,149,148,0 script Switch#TresPy02 111,{
+ callfunc "F_GldTreasSw", "payg_cas02",22,261;
+ end;
+}
+
+
+//<================================ Castle 3 ================================>\\
+// Treasure Spawn ----------------------------------------------------------
+payg_cas03.gat,158,168,0 script Treasure_Py03 -1,{
+OnRecvCastlePy03:
+ if($boxNumPy03 == 0) end;
+ set $@bxPy03, $boxNumPy03;
+// callfunc "F_GldTreas","payg_cas03","Py03",$boxNumPy03,$@bxPy03,$@boxIdPy03,1348,154,164,162,173,1;
+ end;
+
+OnDied:
+ mapannounce "payg_cas03.gat","Treasure Chest Broken Open",17;
+ set $boxNumPy03, $boxNumPy03 -1;
+ if($boxNumPy03 == 0) mapannounce "payg_cas03.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Treasure Room Switch ----------------------------------------------------
+payg_cas03.gat,163,167,0 script Switch#TresPy03 111,{
+ callfunc "F_GldTreasSw", "payg_cas03",11,278;
+ end;
+}
+
+
+//<================================ Castle 4 ================================>\\
+// Treasure Spawn ----------------------------------------------------------
+payg_cas04.gat,146,48,0 script Treasure_Py04 -1,{
+OnRecvCastlePy04:
+ if($boxNumPy04 == 0) end;
+ set $@bxPy04, $boxNumPy04;
+// callfunc "F_GldTreas","payg_cas04","Py04",$boxNumPy04,$@bxPy04,$@boxIdPy04,1350,142,44,151,51,1;
+ end;
+
+OnDied:
+ mapannounce "payg_cas04.gat","Treasure Chest Broken Open",17;
+ set $boxNumPy04, $boxNumPy04 -1;
+ if($boxNumPy04 == 0) mapannounce "payg_cas04.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Treasure Room Switch ----------------------------------------------------
+payg_cas04.gat,151,47,0 script Switch#TresPy04 111,{
+ callfunc "F_GldTreasSw", "payg_cas04",38,285;
+ end;
+}
+
+
+//<================================ Castle 5 ================================>\\
+// Treasure Spawn ----------------------------------------------------------
+payg_cas05.gat,156,131,0 script Treasure_Py05 -1,{
+OnRecvCastlePy05:
+ if($boxNumPy05 == 0) end;
+ set $@bxPy05, $boxNumPy05;
+// callfunc "F_GldTreas","payg_cas05","Py05",$boxNumPy05,$@bxPy05,$@boxIdPy05,1352,152,128,160,135,1;
+ end;
+
+OnDied:
+ mapannounce "payg_cas05.gat","Treasure Chest Broken Open",17;
+ set $boxNumPy05, $boxNumPy05 -1;
+ if($boxNumPy05 == 0) mapannounce "payg_cas05.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Treasure Room Switch ----------------------------------------------------
+payg_cas05.gat,161,136,0 script Switch#TresPy05 111,{
+ callfunc "F_GldTreasSw", "payg_cas05",277,250;
+ end;
+}
diff --git a/npc/guild/prtg/prtg_dunsw.txt b/npc/guild/prtg/prtg_dunsw.txt
new file mode 100644
index 000000000..8284147a7
--- /dev/null
+++ b/npc/guild/prtg/prtg_dunsw.txt
@@ -0,0 +1,49 @@
+//===== eAthena Script =======================================
+//= War of Emperium Dungeon Switch for Prontera Guild Castles
+//===== By: ==================================================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Switch that warps guild members to the guild dungeon
+//===== Additional Comments: =================================
+//= v1.2 Optimized with functions.[kobra_k88]
+//============================================================
+
+
+// Castle 1 ================================================
+prtg_cas01.gat,94,200,0 script Switch#DunPt01 111,{
+ callfunc "F_GldDunSw","prtg_cas01","03",28,251;
+ close;
+}
+
+
+// Castle 2 ================================================
+prtg_cas02.gat,84,72,0 script Switch#DunPt02 111,{
+ callfunc "F_GldDunSw","prtg_cas02","03",164,268;
+ close;
+}
+
+
+// Castle 3 ================================================
+prtg_cas03.gat,5,70,0 script Switch#DunPt03 111,{
+ callfunc "F_GldDunSw","prtg_cas03","03",164,179;
+ close;
+}
+
+
+// Castle 4 ================================================
+prtg_cas04.gat,56,283,0 script Switch#DunPt04 111,{
+ callfunc "F_GldDunSw","prtg_cas04","03",268,203;
+ close;
+}
+
+
+// Castle 5 ================================================
+prtg_cas05.gat,212,94,0 script Switch#DunPt05 111,{
+ callfunc "F_GldDunSw","prtg_cas05","03",199,28;
+ close;
+}
diff --git a/npc/guild/prtg/prtg_ev_agit.txt b/npc/guild/prtg/prtg_ev_agit.txt
new file mode 100644
index 000000000..aa144141f
--- /dev/null
+++ b/npc/guild/prtg/prtg_ev_agit.txt
@@ -0,0 +1,146 @@
+//===== eAthena Script =======================================
+//= War of Emperium - Prontera Guild Wars Events
+//===== By: ==================================================
+//= jAthena (1.0)
+//= 1.1 by Akaru and ho|yAnge|
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Event Triggers of Prontera Guild Wars
+//===== Additional Comments: =================================
+//= v1.2 Now using functions for OnAgitStart and OnAgitBreak. [kobra_k88]
+//= 1.3 Added code for abandoning captured castles on /breakguild [Lupus]
+//============================================================
+
+
+// Castle 1 ================================================================
+prtg_cas01.gat,197,197,0 script Agit_Pt01 -1,{
+OnInterIfInitOnce:
+ GetCastleData "prtg_cas01.gat",0,"::OnRecvCastlePt01";
+ end;
+OnRecvCastlePt01:
+ RequestGuildInfo GetCastleData("prtg_cas01.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","prtg_cas01","Pt01",197,197;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","prtg_cas01","Pt01";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","prtg_cas01","Pt01";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "prtg_cas01.gat",GetCastleData("prtg_cas01.gat",1),6;
+ Monster "prtg_cas01.gat",197,197,"EMPERIUM",1288,1,"Agit_Pt01::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","prtg_cas01","Pt01";
+ end;
+}
+
+// Castle 2 ================================================================
+prtg_cas02.gat,158,174,0 script Agit_Pt02 -1,{
+OnInterIfInitOnce:
+ GetCastleData "prtg_cas02.gat",0,"::OnRecvCastlePt02";
+ end;
+OnRecvCastlePt02:
+ RequestGuildInfo GetCastleData("prtg_cas02.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","prtg_cas02","Pt02",158,174;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","prtg_cas02","Pt02";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","prtg_cas02","Pt02";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "prtg_cas02.gat",GetCastleData("prtg_cas02.gat",1),6;
+ Monster "prtg_cas02.gat",158,174,"EMPERIUM",1288,1,"Agit_Pt02::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","prtg_cas02","Pt02";
+ end;
+}
+
+// Castle 3 ================================================================
+prtg_cas03.gat,17,221,0 script Agit_Pt03 -1,{
+OnInterIfInitOnce:
+ GetCastleData "prtg_cas03.gat",0,"::OnRecvCastlePt03";
+ end;
+OnRecvCastlePt03:
+ RequestGuildInfo GetCastleData("prtg_cas03.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","prtg_cas03","Pt03",17,221;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","prtg_cas03","Pt03";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","prtg_cas03","Pt03";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "prtg_cas03.gat",GetCastleData("prtg_cas03.gat",1),6;
+ Monster "prtg_cas03.gat",17,221,"EMPERIUM",1288,1,"Agit_Pt03::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","prtg_cas03","Pt03";
+ end;
+}
+
+// Castle 4 ================================================================
+prtg_cas04.gat,292,14,0 script Agit_Pt04 -1,{
+OnInterIfInitOnce:
+ GetCastleData "prtg_cas04.gat",0,"::OnRecvCastlePt04";
+ end;
+OnRecvCastlePt04:
+ RequestGuildInfo GetCastleData("prtg_cas04.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","prtg_cas04","Pt04",292,14;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","prtg_cas04","Pt04";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","prtg_cas04","Pt04";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "prtg_cas04.gat",GetCastleData("prtg_cas04.gat",1),6;
+ Monster "prtg_cas04.gat",292,14,"EMPERIUM",1288,1,"Agit_Pt04::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","prtg_cas04","Pt04";
+ end;
+}
+
+// Castle 5 ================================================================
+prtg_cas05.gat,266,266,0 script Agit_Pt05 -1,{
+OnInterIfInitOnce:
+ GetCastleData "prtg_cas05.gat",0,"::OnRecvCastlePt05";
+ end;
+OnRecvCastlePt05:
+ RequestGuildInfo GetCastleData("prtg_cas05.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","prtg_cas05","Pt05",266,266;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","prtg_cas05","Pt05";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","prtg_cas05","Pt05";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "prtg_cas05.gat",GetCastleData("prtg_cas05.gat",1),6;
+ Monster "prtg_cas05.gat",266,266,"EMPERIUM",1288,1,"Agit_Pt05::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","prtg_cas05","Pt05";
+ end;
+}
diff --git a/npc/guild/prtg/prtg_flags.txt b/npc/guild/prtg/prtg_flags.txt
new file mode 100644
index 000000000..ab835b519
--- /dev/null
+++ b/npc/guild/prtg/prtg_flags.txt
@@ -0,0 +1,207 @@
+//===== eAthena Script =======================================
+//= War of Emperium Prontera Guild Flags
+//===== By: ==================================================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= WoE flag scripts. Displays guild emblems on flags.
+//===== Additional Comments: =================================
+//= v1.2 Optimized with functions.[kobra_k88]
+//= v1.3 Changed to iRO castle names [DracoRPG]
+//= v1.4 Can now only flag in from outside the castle [Kayla]
+//============================================================
+
+
+//================================================================================//
+// Castle 1
+//================================================================================//
+prontera.gat,155,190,4 script Kriemhild#p1-1::Kriemhild 722,{
+ callfunc "F_Flags","Prontera","prtg_cas01",97,174,0;
+ close;
+
+OnRecvCastlePt01:
+ FlagEmblem GetCastleData("prtg_cas01.gat",1);
+ end;
+}
+
+prt_gld.gat,131,60,6 script Kriemhild#p1-2::Kriemhild2 722,{
+ callfunc "F_Flags","Prontera","prtg_cas01",97,174,1;
+ close;
+
+OnRecvCastlePt01:
+ FlagEmblem GetCastleData("prtg_cas01.gat",1);
+ end;
+}
+// In Guild ===========================================
+prt_gld.gat,138,68,6 duplicate(Kriemhild2) Kriemhild#p1-3 722
+prt_gld.gat,138,60,6 duplicate(Kriemhild2) Kriemhild#p1-4 722
+prt_gld.gat,135,60,6 duplicate(Kriemhild2) Kriemhild#p1-5 722
+// In Castle =============================================
+prtg_cas01.gat,58,56,4 duplicate(Kriemhild) Kriemhild#p1-6 722
+prtg_cas01.gat,64,56,4 duplicate(Kriemhild) Kriemhild#p1-7 722
+prtg_cas01.gat,76,32,4 duplicate(Kriemhild) Kriemhild#p1-8 722
+prtg_cas01.gat,84,32,4 duplicate(Kriemhild) Kriemhild#p1-9 722
+prtg_cas01.gat,94,39,4 duplicate(Kriemhild) Kriemhild#p1-10 722
+prtg_cas01.gat,94,24,4 duplicate(Kriemhild) Kriemhild#p1-11 722
+prtg_cas01.gat,73,14,4 duplicate(Kriemhild) Kriemhild#p1-12 722
+prtg_cas01.gat,73,6,4 duplicate(Kriemhild) Kriemhild#p1-13 722
+prtg_cas01.gat,55,46,4 duplicate(Kriemhild) Kriemhild#p1-14 722
+prtg_cas01.gat,45,46,4 duplicate(Kriemhild) Kriemhild#p1-15 722
+
+
+
+//================================================================================//
+// Castle 2
+//================================================================================//
+prontera.gat,146,194,3 script Swanhild#p2-1::Swanhild 722,{
+ callfunc "F_Flags","Prontera","prtg_cas02",71,36,0;
+ close;
+
+OnRecvCastlePt02:
+ FlagEmblem GetCastleData("prtg_cas02.gat",1);
+ end;
+}
+
+prt_gld.gat,244,126,8 script Swanhild#p2-2::Swanhild2 722,{
+ callfunc "F_Flags","Prontera","prtg_cas02",71,36,1;
+ close;
+
+OnRecvCastlePt02:
+ FlagEmblem GetCastleData("prtg_cas02.gat",1);
+ end;
+}
+// In Guild ===========================================
+prt_gld.gat,244,128,8 duplicate(Swanhild2) Swanhild#p2-3 722
+prt_gld.gat,236,126,8 duplicate(Swanhild2) Swanhild#p2-4 722
+prt_gld.gat,236,128,8 duplicate(Swanhild2) Swanhild#p2-5 722
+// In Castle =============================================
+prtg_cas02.gat,40,227,4 duplicate(Swanhild) Swanhild#p2-6 722
+prtg_cas02.gat,46,227,4 duplicate(Swanhild) Swanhild#p2-7 722
+prtg_cas02.gat,11,219,4 duplicate(Swanhild) Swanhild#p2-8 722
+prtg_cas02.gat,11,214,4 duplicate(Swanhild) Swanhild#p2-9 722
+prtg_cas02.gat,20,219,4 duplicate(Swanhild) Swanhild#p2-10 722
+prtg_cas02.gat,20,214,4 duplicate(Swanhild) Swanhild#p2-11 722
+prtg_cas02.gat,79,227,8 duplicate(Swanhild) Swanhild#p2-12 722
+prtg_cas02.gat,70,227,8 duplicate(Swanhild) Swanhild#p2-13 722
+prtg_cas02.gat,38,189,8 duplicate(Swanhild) Swanhild#p2-14 722
+prtg_cas02.gat,34,189,8 duplicate(Swanhild) Swanhild#p2-15 722
+prtg_cas02.gat,153,161,4 duplicate(Swanhild) Swanhild#p2-16 722
+prtg_cas02.gat,162,161,4 duplicate(Swanhild) Swanhild#p2-17 722
+
+
+
+
+//================================================================================//
+// Castle 3
+//================================================================================//
+prontera.gat,143,203,2 script Fadhgridh#p3-1::Fadhgridh 722,{
+ callfunc "F_Flags","Prontera","prtg_cas03",45,99,0;
+ close;
+
+OnRecvCastlePt03:
+ FlagEmblem GetCastleData("prtg_cas03.gat",1);
+ end;
+}
+
+prt_gld.gat,147,140,4 script Fadhgridh#p3-2::Fadhgridh2 722,{
+ callfunc "F_Flags","Prontera","prtg_cas03",45,99,1;
+ close;
+
+OnRecvCastlePt03:
+ FlagEmblem GetCastleData("prtg_cas03.gat",1);
+ end;
+}
+// In Guild ===========================================
+prt_gld.gat,147,136,4 duplicate(Fadhgridh2) Fadhgridh#p3-3 722
+prt_gld.gat,158,140,4 duplicate(Fadhgridh2) Fadhgridh#p3-4 722
+prt_gld.gat,158,136,4 duplicate(Fadhgridh2) Fadhgridh#p3-5 722
+// In Castle ============================================
+prtg_cas03.gat,168,28,4 duplicate(Fadhgridh) Fadhgridh#p3-6 722
+prtg_cas03.gat,182,28,4 duplicate(Fadhgridh) Fadhgridh#p3-7 722
+prtg_cas03.gat,43,50,4 duplicate(Fadhgridh) Fadhgridh#p3-8 722
+prtg_cas03.gat,48,50,4 duplicate(Fadhgridh) Fadhgridh#p3-9 722
+prtg_cas03.gat,43,58,4 duplicate(Fadhgridh) Fadhgridh#p3-10 722
+prtg_cas03.gat,48,58,4 duplicate(Fadhgridh) Fadhgridh#p3-11 722
+prtg_cas03.gat,158,210,4 duplicate(Fadhgridh) Fadhgridh#p3-12 722
+prtg_cas03.gat,169,210,4 duplicate(Fadhgridh) Fadhgridh#p3-13 722
+prtg_cas03.gat,162,201,4 duplicate(Fadhgridh) Fadhgridh#p3-14 722
+prtg_cas03.gat,165,201,4 duplicate(Fadhgridh) Fadhgridh#p3-15 722
+
+
+
+//================================================================================//
+// Castle 4
+//================================================================================//
+prontera.gat,167,203,6 script Skoegul#p4-1::Skoegul 722,{
+ callfunc "F_Flags","Prontera","prtg_cas04",259,265,0;
+ close;
+
+OnRecvCastlePt04:
+ FlagEmblem GetCastleData("prtg_cas04.gat",1);
+ end;
+}
+
+prt_gld.gat,120,243,6 script Skoegul#p4-2::Skoegul2 722,{
+ callfunc "F_Flags","Prontera","prtg_cas04",259,265,1;
+ close;
+
+OnRecvCastlePt04:
+ FlagEmblem GetCastleData("prtg_cas04.gat",1);
+ end;
+}
+// In Guild ===========================================
+prt_gld.gat,120,236,6 duplicate(Skoegul2) Skoegul#p4-3 722
+prt_gld.gat,122,243,6 duplicate(Skoegul2) Skoegul#p4-4 722
+prt_gld.gat,122,246,6 duplicate(Skoegul2) Skoegul#p4-5 722
+// In Castle =============================================
+prtg_cas04.gat,82,29,4 duplicate(Skoegul) Skoegul#p4-6 722
+prtg_cas04.gat,75,29,4 duplicate(Skoegul) Skoegul#p4-7 722
+prtg_cas04.gat,75,27,4 duplicate(Skoegul) Skoegul#p4-8 722
+prtg_cas04.gat,82,27,4 duplicate(Skoegul) Skoegul#p4-9 722
+prtg_cas04.gat,59,29,4 duplicate(Skoegul) Skoegul#p4-10 722
+prtg_cas04.gat,67,29,4 duplicate(Skoegul) Skoegul#p4-11 722
+prtg_cas04.gat,258,25,4 duplicate(Skoegul) Skoegul#p4-12 722
+prtg_cas04.gat,258,20,4 duplicate(Skoegul) Skoegul#p4-13 722
+prtg_cas04.gat,263,20,4 duplicate(Skoegul) Skoegul#p4-14 722
+prtg_cas04.gat,263,27,4 duplicate(Skoegul) Skoegul#p4-15 722
+
+
+
+
+//================================================================================//
+// Castle 5
+//================================================================================//
+prontera.gat,165,194,5 script Gondul#p5-1::Gondul 722,{
+ callfunc "F_Flags","Prontera","prtg_cas05",34,30,0;
+ close;
+
+OnRecvCastlePt05:
+ FlagEmblem GetCastleData("prtg_cas05.gat",1);
+ end;
+}
+
+prt_gld.gat,199,243,2 script Gondul#p5-2::Gondul2 722,{
+ callfunc "F_Flags","Prontera","prtg_cas05",34,30,1;
+ close;
+
+OnRecvCastlePt05:
+ FlagEmblem GetCastleData("prtg_cas05.gat",1);
+ end;
+}
+// In Guild ===========================================
+prt_gld.gat,199,236,2 duplicate(Gondul2) Gondul#p5-3 722
+prt_gld.gat,197,243,2 duplicate(Gondul2) Gondul#p5-4 722
+prt_gld.gat,197,236,2 duplicate(Gondul2) Gondul#p5-5 722
+// In Castle =============================================
+prtg_cas05.gat,19,247,4 duplicate(Gondul) Gondul#p5-6 722
+prtg_cas05.gat,19,243,4 duplicate(Gondul) Gondul#p5-7 722
+prtg_cas05.gat,26,247,4 duplicate(Gondul) Gondul#p5-8 722
+prtg_cas05.gat,26,243,4 duplicate(Gondul) Gondul#p5-9 722
+prtg_cas05.gat,249,289,4 duplicate(Gondul) Gondul#p5-10 722
+prtg_cas05.gat,256,289,4 duplicate(Gondul) Gondul#p5-11 722
+prtg_cas05.gat,253,271,4 duplicate(Gondul) Gondul#p5-12 722
+prtg_cas05.gat,273,257,4 duplicate(Gondul) Gondul#p5-13 722
diff --git a/npc/guild/prtg/prtg_guardians.txt b/npc/guild/prtg/prtg_guardians.txt
new file mode 100644
index 000000000..843572a65
--- /dev/null
+++ b/npc/guild/prtg/prtg_guardians.txt
@@ -0,0 +1,108 @@
+//===== eAthena Script =======================================
+//= War of Emperium - prtg_cas guardians script
+//===== By: ==================================================
+//= holyAngelX (1.0)
+//===== Current Version: =====================================
+//= 1.2a
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Re-spawns guardians on server start if they have been
+//= purchased. Also announces when a guardian dies.
+//===== Additional Comments: =================================
+//= 1.1 by joedukk
+//= 1.2 by Akaru and Valaris
+//= 1.2a Guardians for all prtg castles are now in this file.
+//= Minor optimizations.[kobra_k88]
+//============================================================
+
+
+prtg_cas01.gat,197,197,0 script Guardian_Pt01 -1,{
+OnAgitInit:
+ if (GetCastleData("prtg_cas01.gat",10) == 1) guardian "prtg_cas01.gat",196,92,"Soldier Guardian",1287,1,"Guardian_Pt01::OnGuardianDied",0;
+ if (GetCastleData("prtg_cas01.gat",11) == 1) guardian "prtg_cas01.gat",113,200,"Soldier Guardian",1287,1,"Guardian_Pt01::OnGuardianDied",1;
+ if (GetCastleData("prtg_cas01.gat",12) == 1) guardian "prtg_cas01.gat",111,186,"Soldier Guardian",1287,1,"Guardian_Pt01::OnGuardianDied",2;
+ if (GetCastleData("prtg_cas01.gat",13) == 1) guardian "prtg_cas01.gat",76,202,"Archer Guardian",1285,1,"Guardian_Pt01::OnGuardianDied",3;
+ if (GetCastleData("prtg_cas01.gat",14) == 1) guardian "prtg_cas01.gat",90,26,"Archer Guardian",1285,1,"Guardian_Pt01::OnGuardianDied",4;
+ if (GetCastleData("prtg_cas01.gat",15) == 1) guardian "prtg_cas01.gat",58,59,"Knight Guardian",1286,1,"Guardian_Pt01::OnGuardianDied",5;
+ if (GetCastleData("prtg_cas01.gat",16) == 1) guardian "prtg_cas01.gat",112,200,"Knight Guardian",1286,1,"Guardian_Pt01::OnGuardianDied",6;
+ if (GetCastleData("prtg_cas01.gat",17) == 1) guardian "prtg_cas01.gat",101,194,"Knight Guardian",1286,1,"Guardian_Pt01::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "prtg_cas01.gat","A Guardian Has Fallen",17;
+ end;
+}
+//------------------------------------------------------------------------------
+prtg_cas02.gat,158,174,0 script Guardian_Pt02 -1,{
+OnAgitInit:
+ if (GetCastleData("prtg_cas02.gat",10) == 1) guardian "prtg_cas02.gat",75,71,"Soldier Guardian",1287,1,"Guardian_Pt02::OnGuardianDied",0;
+ if (GetCastleData("prtg_cas02.gat",11) == 1) guardian "prtg_cas02.gat",56,31,"Soldier Guardian",1287,1,"Guardian_Pt02::OnGuardianDied",1;
+ if (GetCastleData("prtg_cas02.gat",12) == 1) guardian "prtg_cas02.gat",42,223,"Soldier Guardian",1287,1,"Guardian_Pt02::OnGuardianDied",2;
+ if (GetCastleData("prtg_cas02.gat",13) == 1) guardian "prtg_cas02.gat",44,195,"Archer Guardian",1285,1,"Guardian_Pt02::OnGuardianDied",3;
+ if (GetCastleData("prtg_cas02.gat",14) == 1) guardian "prtg_cas02.gat",197,22,"Archer Guardian",1285,1,"Guardian_Pt02::OnGuardianDied",4;
+ if (GetCastleData("prtg_cas02.gat",15) == 1) guardian "prtg_cas02.gat",68,71,"Knight Guardian",1286,1,"Guardian_Pt02::OnGuardianDied",5;
+ if (GetCastleData("prtg_cas02.gat",16) == 1) guardian "prtg_cas02.gat",202,27,"Knight Guardian",1286,1,"Guardian_Pt02::OnGuardianDied",6;
+ if (GetCastleData("prtg_cas02.gat",17) == 1) guardian "prtg_cas02.gat",59,24,"Knight Guardian",1286,1,"Guardian_Pt02::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "prtg_cas02.gat","A Guardian Has Fallen",17;
+ end;
+}
+//------------------------------------------------------------------------------
+prtg_cas03.gat,17,221,0 script Guardian_Pt03 -1,{
+OnAgitInit:
+ if (GetCastleData("prtg_cas03.gat",10) == 1) guardian "prtg_cas03.gat",165,55,"Soldier Guardian",1287,1,"Guardian_Pt03::OnGuardianDied",0;
+ if (GetCastleData("prtg_cas03.gat",11) == 1) guardian "prtg_cas03.gat",161,181,"Soldier Guardian",1287,1,"Guardian_Pt03::OnGuardianDied",1;
+ if (GetCastleData("prtg_cas03.gat",12) == 1) guardian "prtg_cas03.gat",165,199,"Soldier Guardian",1287,1,"Guardian_Pt03::OnGuardianDied",2;
+ if (GetCastleData("prtg_cas03.gat",13) == 1) guardian "prtg_cas03.gat",169,22,"Archer Guardian",1285,1,"Guardian_Pt03::OnGuardianDied",3;
+ if (GetCastleData("prtg_cas03.gat",14) == 1) guardian "prtg_cas03.gat",165,191,"Archer Guardian",1285,1,"Guardian_Pt03::OnGuardianDied",4;
+ if (GetCastleData("prtg_cas03.gat",15) == 1) guardian "prtg_cas03.gat",175,13,"Knight Guardian",1286,1,"Guardian_Pt03::OnGuardianDied",5;
+ if (GetCastleData("prtg_cas03.gat",16) == 1) guardian "prtg_cas03.gat",169,180,"Knight Guardian",1286,1,"Guardian_Pt03::OnGuardianDied",6;
+ if (GetCastleData("prtg_cas03.gat",17) == 1) guardian "prtg_cas03.gat",142,217,"Knight Guardian",1286,1,"Guardian_Pt03::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "prtg_cas03.gat","A Guardian Has Fallen",17;
+ end;
+}
+//------------------------------------------------------------------------------
+prtg_cas04.gat,292,14,0 script Guardian_Pt04 -1,{
+OnAgitInit:
+ if (GetCastleData("prtg_cas04.gat",10) == 1) guardian "prtg_cas04.gat",30,234,"Soldier Guardian",1287,1,"Guardian_Pt04::OnGuardianDied",0;
+ if (GetCastleData("prtg_cas04.gat",11) == 1) guardian "prtg_cas04.gat",38,234,"Soldier Guardian",1287,1,"Guardian_Pt04::OnGuardianDied",1;
+ if (GetCastleData("prtg_cas04.gat",12) == 1) guardian "prtg_cas04.gat",63,26,"Soldier Guardian",1287,1,"Guardian_Pt04::OnGuardianDied",2;
+ if (GetCastleData("prtg_cas04.gat",13) == 1) guardian "prtg_cas04.gat",253,274,"Archer Guardian",1285,1,"Guardian_Pt04::OnGuardianDied",3;
+ if (GetCastleData("prtg_cas04.gat",14) == 1) guardian "prtg_cas04.gat",269,256,"Archer Guardian",1285,1,"Guardian_Pt04::OnGuardianDied",4;
+ if (GetCastleData("prtg_cas04.gat",15) == 1) guardian "prtg_cas04.gat",267,271,"Knight Guardian",1286,1,"Guardian_Pt04::OnGuardianDied",5;
+ if (GetCastleData("prtg_cas04.gat",16) == 1) guardian "prtg_cas04.gat",34,281,"Knight Guardian",1286,1,"Guardian_Pt04::OnGuardianDied",6;
+ if (GetCastleData("prtg_cas04.gat",17) == 1) guardian "prtg_cas04.gat",33,232,"Knight Guardian",1286,1,"Guardian_Pt04::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "prtg_cas04.gat","A Guardian Has Fallen",17;
+ end;
+}
+//------------------------------------------------------------------------------
+prtg_cas05.gat,266,266,0 script Guardian_Pt05 -1,{
+OnAgitInit:
+ if (GetCastleData("prtg_cas05.gat",10) == 1) guardian "prtg_cas05.gat",244,15,"Soldier Guardian",1287,1,"Guardian_Pt05::OnGuardianDied",0;
+ if (GetCastleData("prtg_cas05.gat",11) == 1) guardian "prtg_cas05.gat",241,14,"Soldier Guardian",1287,1,"Guardian_Pt05::OnGuardianDied",1;
+ if (GetCastleData("prtg_cas05.gat",12) == 1) guardian "prtg_cas05.gat",68,40,"Soldier Guardian",1287,1,"Guardian_Pt05::OnGuardianDied",2;
+ if (GetCastleData("prtg_cas05.gat",13) == 1) guardian "prtg_cas05.gat",62,264,"Archer Guardian",1285,1,"Guardian_Pt05::OnGuardianDied",3;
+ if (GetCastleData("prtg_cas05.gat",14) == 1) guardian "prtg_cas05.gat",244,61,"Archer Guardian",1285,1,"Guardian_Pt05::OnGuardianDied",4;
+ if (GetCastleData("prtg_cas05.gat",15) == 1) guardian "prtg_cas05.gat",34,24,"Knight Guardian",1286,1,"Guardian_Pt05::OnGuardianDied",5;
+ if (GetCastleData("prtg_cas05.gat",16) == 1) guardian "prtg_cas05.gat",208,86,"Knight Guardian",1286,1,"Guardian_Pt05::OnGuardianDied",6;
+ if (GetCastleData("prtg_cas05.gat",17) == 1) guardian "prtg_cas05.gat",43,70,"Knight Guardian",1286,1,"Guardian_Pt05::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "prtg_cas05.gat","A Guardian Has Fallen",17;
+ end;
+}
diff --git a/npc/guild/prtg/prtg_kafras.txt b/npc/guild/prtg/prtg_kafras.txt
new file mode 100644
index 000000000..c39236447
--- /dev/null
+++ b/npc/guild/prtg/prtg_kafras.txt
@@ -0,0 +1,66 @@
+//=== eAthena Script ====================
+//= War of Emperium Kafras for Prontera Guild Castles
+//=== By: =========================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//=== Current Version: ===================
+//= 1.2
+//=== Compatible With: ===================
+//= eAthena 0.1+; RO Episode 4+
+//=== Description: =====================
+//= Provides Kafra services for guild members of Prontera Castles.
+//= Used in conjuction with function F_Kafra.
+//=== Additional Comments: =================
+//= v1.2 Optimized with functions.[kobra_k88]
+//==============================
+
+
+// Castle 1 ========================
+prtg_cas01.gat,96,173,0 script Kafra Service#Pt01 117,{
+ callfunc "F_GKafra", "prtg_cas01", "Prontera";
+ end;
+OnRecvCastlePt01:
+ if (GetCastleData("prtg_cas01.gat",9) < 1) disablenpc "Kafra Service#Pt01";
+ end;
+}
+
+
+// Castle 2 ========================
+prtg_cas02.gat,71,36,4 script Kafra Service#Pt02 117,{
+ callfunc "F_GKafra", "prtg_cas02", "Prontera";
+ end;
+OnRecvCastlePt02:
+ if (GetCastleData("prtg_cas02.gat",9) < 1) disablenpc "Kafra Service#Pt02";
+ end;
+}
+
+
+// Castle 3 ========================
+//prtg_cas03.gat,181,215,4 script Kafra Service#Pt03 117,{
+prtg_cas03.gat,39,99,4 script Kafra Service#Pt03 117,{
+ callfunc "F_GKafra", "prtg_cas03", "Prontera";
+ end;
+OnRecvCastlePt03:
+ if (GetCastleData("prtg_cas03.gat",9) < 1) disablenpc "Kafra Service#Pt03";
+ end;
+}
+
+
+// Castle 4 ========================
+prtg_cas04.gat,258,247,4 script Kafra Service#Pt04 117,{
+ callfunc "F_GKafra", "prtg_cas04", "Prontera";
+ end;
+OnRecvCastlePt04:
+ if (GetCastleData("prtg_cas04.gat",9) < 1) disablenpc "Kafra Service#Pt04";
+ end;
+}
+
+
+// Castle 5 ========================
+prtg_cas05.gat,52,41,4 script Kafra Service#Pt05 117,{
+ callfunc "F_GKafra", "prtg_cas05", "Prontera";
+ end;
+OnRecvCastlePt05:
+ if (GetCastleData("prtg_cas05.gat",9) < 1) disablenpc "Kafra Service#Pt05";
+ end;
+}
diff --git a/npc/guild/prtg/prtg_managers.txt b/npc/guild/prtg/prtg_managers.txt
new file mode 100644
index 000000000..440d18b6a
--- /dev/null
+++ b/npc/guild/prtg/prtg_managers.txt
@@ -0,0 +1,104 @@
+//===== eAthena Script =======================================
+//= War of Emperium Managers for Prontera Guild Castles
+//===== By: ==================================================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= v1.2 Optimized with functions.[kobra_k88]
+//============================================================
+
+
+// Castle 1 ==================================================================================
+prtg_cas01.gat,112,181,0 script Abrai 55,{
+ if(callfunc("F_GldManager","Abrai","prtg_cas01",15,209,"Pt01") == 0) close;
+
+ if(@GDnum==10) guardian "prtg_cas01.gat",196,92,"Soldier Guardian",1287,1,"Guardian_Pt01::OnGuardianDied",0;
+ if(@GDnum==11) guardian "prtg_cas01.gat",113,200,"Soldier Guardian",1287,1,"Guardian_Pt01::OnGuardianDied",1;
+ if(@GDnum==12) guardian "prtg_cas01.gat",111,186,"Soldier Guardian",1287,1,"Guardian_Pt01::OnGuardianDied",2;
+ if(@GDnum==13) guardian "prtg_cas01.gat",76,202,"Archer Guardian",1285,1,"Guardian_Pt01::OnGuardianDied",3;
+ if(@GDnum==14) guardian "prtg_cas01.gat",90,26,"Archer Guardian",1285,1,"Guardian_Pt01::OnGuardianDied",4;
+ if(@GDnum==15) guardian "prtg_cas01.gat",58,59,"Knight Guardian",1286,1,"Guardian_Pt01::OnGuardianDied",5;
+ if(@GDnum==16) guardian "prtg_cas01.gat",112,200,"Knight Guardian",1286,1,"Guardian_Pt01::OnGuardianDied",6;
+ if(@GDnum==17) guardian "prtg_cas01.gat",101,194,"Knight Guardian",1286,1,"Guardian_Pt01::OnGuardianDied",7;
+ mes "[ Abrai ]";
+ mes "Guardian has been installed, the guardian will protect our guild base against enemies.";
+ close;
+}
+
+
+// Castle 2 ==================================================================================
+prtg_cas02.gat,94,61,0 script Rhay 55,{
+ if(callfunc("F_GldManager","Rhay","prtg_cas02",201,229,"Pt02") == 0) close;
+
+ if(@GDnum==10) guardian "prtg_cas02.gat",75,71,"Soldier Guardian",1287,1,"Guardian_Pt02::GuardianDied",0;
+ if(@GDnum==11) guardian "prtg_cas02.gat",56,31,"Soldier Guardian",1287,1,"Guardian_Pt02::OnGuardianDied",1;
+ if(@GDnum==12) guardian "prtg_cas02.gat",42,223,"Soldier Guardian",1287,1,"Guardian_Pt02::OnGuardianDied",2;
+ if(@GDnum==13) guardian "prtg_cas02.gat",44,195,"Archer Guardian",1285,1,"Guardian_Pt02::OnGuardianDied",3;
+ if(@GDnum==14) guardian "prtg_cas02.gat",197,22,"Archer Guardian",1285,1,"Guardian_Pt02::OnGuardianDied",4;
+ if(@GDnum==15) guardian "prtg_cas02.gat",68,71,"Knight Guardian",1286,1,"Guardian_Pt02::OnGuardianDied",5;
+ if(@GDnum==16) guardian "prtg_cas02.gat",202,27,"Knight Guardian",1286,1,"Guardian_Pt02::OnGuardianDied",6;
+ if(@GDnum==17) guardian "prtg_cas02.gat",59,24,"Knight Guardian",1286,1,"Guardian_Pt02::OnGuardianDied",7;
+ mes "[ Rhay ]";
+ mes "Guardian has been installed, guardian will protect our guild base against enemies.";
+ close;
+}
+
+
+// Castle 3 ==================================================================================
+prtg_cas03.gat,51,100,4 script Stick 55,{
+ if(callfunc("F_GldManager","Stick","prtg_cas03",189,132,"Pt03") == 0) close;
+
+ if(@GDnum==10) guardian "prtg_cas03.gat",165,55,"Soldier Guardian",1287,1,"Guardian_Pt03::OnGuardianDied",0;
+ if(@GDnum==11) guardian "prtg_cas03.gat",161,181,"Soldier Guardian",1287,1,"Guardian_Pt03::OnGuardianDied",1;
+ if(@GDnum==12) guardian "prtg_cas03.gat",165,199,"Soldier Guardian",1287,1,"Guardian_Pt03::OnGuardianDied",2;
+ if(@GDnum==13) guardian "prtg_cas03.gat",169,22,"Archer Guardian",1285,1,"Guardian_Pt03::OnGuardianDied",3;
+ if(@GDnum==14) guardian "prtg_cas03.gat",165,191,"Archer Guardian",1285,1,"Guardian_Pt03::OnGuardianDied",4;
+ if(@GDnum==15) guardian "prtg_cas03.gat",175,13,"Knight Guardian",1286,1,"Guardian_Pt03::OnGuardianDied",5;
+ if(@GDnum==16) guardian "prtg_cas03.gat",169,180,"Knight Guardian",1286,1,"Guardian_Pt03::OnGuardianDied",6;
+ if(@GDnum==17) guardian "prtg_cas03.gat",142,217,"Knight Guardian",1286,1,"Guardian_Pt03::OnGuardianDied",7;
+ mes "[ Stick ]";
+ mes "Guardian has been installed, guardian will protect our guild base against enemies.";
+ close;
+}
+
+
+// Castle 4 ==================================================================================
+prtg_cas04.gat,259,265,4 script Bandred 55,{
+ if(callfunc("F_GldManager","Bandred","prtg_cas04",271,162,"Pt04") == 0) close;
+
+ if(@GDnum==10) guardian "prtg_cas04.gat",30,234,"Soldier Guardian",1287,1,"Guardian_Pt04::OnGuardianDied",0;
+ if(@GDnum==11) guardian "prtg_cas04.gat",38,234,"Soldier Guardian",1287,1,"Guardian_Pt04::OnGuardianDied",1;
+ if(@GDnum==12) guardian "prtg_cas04.gat",63,26,"Soldier Guardian",1287,1,"Guardian_Pt04::OnGuardianDied",2;
+ if(@GDnum==13) guardian "prtg_cas04.gat",253,274,"Archer Guardian",1285,1,"Guardian_Pt04::OnGuardianDied",3;
+ if(@GDnum==14) guardian "prtg_cas04.gat",269,256,"Archer Guardian",1285,1,"Guardian_Pt04::OnGuardianDied",4;
+ if(@GDnum==15) guardian "prtg_cas04.gat",267,271,"Knight Guardian",1286,1,"Guardian_Pt04::OnGuardianDied",5;
+ if(@GDnum==16) guardian "prtg_cas04.gat",34,281,"Knight Guardian",1286,1,"Guardian_Pt04::OnGuardianDied",6;
+ if(@GDnum==17) guardian "prtg_cas04.gat",33,232,"Knight Guardian",1286,1,"Guardian_Pt04::OnGuardianDied",7;
+ mes "[ Bandred ]";
+ mes "Guardian has been installed, guardian will protect our guild base against enemies.";
+ close;
+}
+
+
+// Castle 5 ==================================================================================
+prtg_cas05.gat,36,37,4 script Reiner 55,{
+ if(callfunc("F_GldManager","Reiner","prtg_cas05",273,179,"Pt05") == 0) close;
+
+ if(@GDnum==10) guardian "prtg_cas05.gat",244,15,"Soldier Guardian",1287,1,"Guardian_Pt05::OnGuardianDied",0;
+ if(@GDnum==11) guardian "prtg_cas05.gat",241,14,"Soldier Guardian",1287,1,"Guardian_Pt05::OnGuardianDied",1;
+ if(@GDnum==12) guardian "prtg_cas05.gat",68,40,"Soldier Guardian",1287,1,"Guardian_Pt05::OnGuardianDied",2;
+ if(@GDnum==13) guardian "prtg_cas05.gat",62,264,"Archer Guardian",1285,1,"Guardian_Pt05::OnGuardianDied",3;
+ if(@GDnum==14) guardian "prtg_cas05.gat",244,61,"Archer Guardian",1285,1,"Guardian_Pt05::OnGuardianDied",4;
+ if(@GDnum==15) guardian "prtg_cas05.gat",34,24,"Knight Guardian",1286,1,"Guardian_Pt05::OnGuardianDied",5;
+ if(@GDnum==16) guardian "prtg_cas05.gat",208,86,"Knight Guardian",1286,1,"Guardian_Pt05::OnGuardianDied",6;
+ if(@GDnum==17) guardian "prtg_cas05.gat",43,70,"Knight Guardian",1286,1,"Guardian_Pt05::OnGuardianDied",7;
+ mes "[ Reiner ]";
+ mes "Guardian has been installed, guardian will protect our guild base against enemies.";
+ close;
+}
diff --git a/npc/guild/prtg/prtg_treas.txt b/npc/guild/prtg/prtg_treas.txt
new file mode 100644
index 000000000..10b27567c
--- /dev/null
+++ b/npc/guild/prtg/prtg_treas.txt
@@ -0,0 +1,134 @@
+//===== eAthena Script =======================================
+//= War of Emperium Treasure Rooms for Prontera Guild Castles
+//===== By: ==================================================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= v1.2 Optimized with functions.[kobra_k88]
+//============================================================
+
+
+//<=============================== Castle 1 =================================>\\
+
+// Treasure Spawn ----------------------------------------------------------
+prtg_cas01.gat,1,1,0 script Treasure_Pt01 -1,{
+OnRecvCastlePt01:
+ if($boxNumPt01 == 0) end;
+ set $@bxPt01, $boxNumPt01;
+// callfunc "F_GldTreas","prtg_cas01","Pt01",$boxNumPt01,$@bxPt01,$@boxIdPt01,1354,6,204,15,213,1;
+ end;
+
+OnDied:
+ mapannounce "prtg_cas01.gat","Treasure Chest Broken Open",17;
+ set $boxNumPt01, $boxNumPt01 -1;
+ if($boxNumPt01 == 0) mapannounce "prtg_cas01.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Treasure Room Switch ----------------------------------------------------
+prtg_cas01.gat,15,209,0 script Switch#TresPt01 111,{
+ callfunc "F_GldTreasSw", "prtg_cas01",109,179;
+ end;
+}
+
+
+//<================================= Castle 2 ===============================>\\
+
+// Treasure Spawn ----------------------------------------------------------
+prtg_cas02.gat,1,1,0 script Treasure_Pt02 -1,{
+OnRecvCastlePt02:
+ if($boxNumPt02 == 0) end;
+ set $@bxPt02, $boxNumPt02;
+// callfunc "F_GldTreas","prtg_cas02","Pt02",$boxNumPt02,$@bxPt02,$@boxIdPt02,1356,198,224,207,233,1;
+ end;
+
+OnDied:
+ mapannounce "prtg_cas02.gat","Treasure Chest Broken Open",17;
+ set $boxNumPt02, $boxNumPt02 -1;
+ if($boxNumPt02 == 0) mapannounce "prtg_cas02.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Treasure Room Switch ----------------------------------------------------
+prtg_cas02.gat,207,228,0 script Switch#TresPt02 111,{
+ callfunc "F_GldTreasSw", "prtg_cas02",94,62;
+ end;
+}
+
+
+//<================================ Castle 3 ================================>\\
+
+// Treasure Spawn ----------------------------------------------------------
+prtg_cas03.gat,1,1,0 script Treasure_Pt03 -1,{
+OnRecvCastlePt03:
+ if($boxNumPt03 == 0) end;
+ set $@bxPt03, $boxNumPt03;
+// callfunc "F_GldTreas","prtg_cas03","Pt03",$boxNumPt03,$@bxPt03,$@boxIdPt03,1358,184,128,193,135,1;
+ end;
+
+OnDied:
+ mapannounce "prtg_cas03.gat","Treasure Chest Broken Open",17;
+ set $boxNumPt03, $boxNumPt03 -1;
+ if($boxNumPt03 == 0) mapannounce "prtg_cas03.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Treasure Room Switch ----------------------------------------------------
+prtg_cas03.gat,193,130,0 script Switch#TresPt03 111,{
+ callfunc "F_GldTreasSw", "prtg_cas03",45,99;
+ end;
+}
+
+
+//<================================ Castle 4 ================================>\\
+
+// Treasure Spawn ----------------------------------------------------------
+prtg_cas04.gat,1,1,0 script Treasure_Pt04 -1,{
+OnRecvCastlePt04:
+ if($boxNumPt04 == 0) end;
+ set $@bxPt04, $boxNumPt04;
+// callfunc "F_GldTreas","prtg_cas04","Pt04",$boxNumPt04,$@bxPt04,$@boxIdPt04,1360,266,158,275,167,1;
+ end;
+
+OnDied:
+ mapannounce "prtg_cas04.gat","Treasure Chest Broken Open",17;
+ set $boxNumPt04, $boxNumPt04 -1;
+ if($boxNumPt04 == 0) mapannounce "prtg_cas04.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Treasure Room Switch ----------------------------------------------------
+prtg_cas04.gat,275,160,0 script Switch#TresPt04 111,{
+ callfunc "F_GldTreasSw", "prtg_cas04",259,265;
+ end;
+}
+
+
+//<================================ Castle 5 ================================>\\
+
+// Treasure Spawn ----------------------------------------------------------
+prtg_cas05.gat,1,1,0 script Treasure_Pt05 -1,{
+OnRecvCastlePt05:
+ if($boxNumPt05 == 0) end;
+ set $@bxPt05, $boxNumPt05;
+// callfunc "F_GldTreas","prtg_cas05","Pt05",$boxNumPt05,$@bxPt05,$@boxIdPt05,1362,272,174,279,181,1;
+ end;
+
+OnDied:
+ mapannounce "prtg_cas05.gat","Treasure Chest Broken Open",17;
+ set $boxNumPt05, $boxNumPt05 -1;
+ if($boxNumPt05 == 0) mapannounce "prtg_cas05.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Treasure Room Switch ----------------------------------------------------
+prtg_cas05.gat,281,176,0 script Switch#TresPt05 111,{
+ callfunc "F_GldTreasSw", "prtg_cas05",34,30;
+ end;
+}
diff --git a/npc/jobs/1-1/acolyte.txt b/npc/jobs/1-1/acolyte.txt
new file mode 100644
index 000000000..83c2d6095
--- /dev/null
+++ b/npc/jobs/1-1/acolyte.txt
@@ -0,0 +1,322 @@
+//===== eAthena Script =======================================
+//= Acolyte Job Quest
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= <Description>
+//===== Additional Comments: =================================
+//= v1.0 Fully working.
+//= v1.1 Added function calls for Priest Quest.
+//= v1.2 Fixed Marthilda, Yosuke bugs. [Lupus]
+//= v1.2a Added instant job change for High Novice [Lupus]
+//= v1.3 Added Baby Class support [Lupus]
+//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller]
+//============================================================
+
+
+// -- Father Mareusis --
+prt_church.gat,184,41,4 script Father Mareusis 60,{
+ callfunc "F_ToHigh",28,"Acolyte High",32,"High Priest",156,0,0,0,"Father Mareusis";
+ mes "[Father Mareusis]";
+ if(BaseJob==Job_Novice && job_acolyte_q > 0) goto L_Check;
+ mes "What is it you are looking for?";
+ next;
+ menu "Father, I want to become an Acolyte.",M_0,"The Requirements.",M_1,"I'm just looking around that's all",M_End;
+ close;
+
+ M_0:
+ mes "[Father Mareusis]";
+ callfunc "Aco_check";
+ mes "Do you truly wish to become a servant of God?";
+ next;
+ menu "Yes, Father, I do.",sM_0,"Nope, I lied.",sM_1;
+ close;
+
+ sM_0:
+ mes "[Father Mareusis]";
+ mes "Good. I accept your will to become an Acolyte.";
+ mes "You understand that you need to do penance before you become a servant of God, don't you?";
+ next;
+ mes "[Father Mareusis]";
+ mes "Well then, here is your Divine Quest.....";
+ next;
+ mes "[Father Mareusis]";
+ set job_acolyte_q, rand(1,3);
+ if(job_acolyte_q == 2) goto sR_2;
+ if(job_acolyte_q == 3) goto sR_3;
+
+ sR_1:
+ mes "Please visit ^0000ffFather Rubalkabara^000000, a member of the Prontera Parish and report back here.";
+ mes "He has been Practicing Asceticism near the ^0000ffSt. Capitolina Abbey, 1 map North, and 2 maps East of Prontera City.^000000.";
+ goto sL_End;
+
+ sR_2:
+ mes "Please Visit ^0000ffMother Marthilda^000000 and report back here.";
+ mes "She has been Practicing Asceticism in the ^0000ffSograt Desert, one map north from the town of Morroc^000000. Morroc is SouthWest from Prontera.";
+ goto sL_End;
+
+ sR_3:
+ mes "Please Visit ^0000ffFather Yosuke^000000 and report back here.";
+ mes "He has been Practicing Asceticism on ^0000ffa very small island 2 maps West, and 1 map North, of Prontera City.^000000.";
+
+ sL_End:
+ next;
+ mes "[Father Mareusis]";
+ mes "May the Grace of God enlighten your path.";
+ close;
+
+ sM_1:
+ mes "[Father Mareusis]";
+ mes "Lying is a sin my child!";
+ mes "Please come back when you are ready";
+ emotion 19;
+ close;
+
+ M_1:
+ mes "[Father Mareusis]";
+ if(BaseJob == Job_Acolyte) goto M1b;
+ if(BaseJob != Job_Novice) goto M1a;
+
+ mes "So you wish to become an Acolyte do you?";
+ mes "Here are the two requirements you must fullfill first in order to do so.";
+ next;
+ mes "[Father Mareusis]";
+ mes "First of all, you have to reach ^0000ffnovice job Level 9^000000 and learn the ^0000ffBasic Skills^000000 that come with it.";
+ next;
+ mes "[Father Mareusis]";
+ mes "Secondly, you have to embark on a Divine Quest!!";
+ next;
+ mes "[Father Mareusis]";
+ mes "You'll will become an Acolyte in no time if, from the bottom of your heart, you are truly eager to become a servant of God.";
+ close;
+
+ M1a:
+ mes "You have already devoted your life to another profession....";
+ close;
+ M1b:
+ mes "You have already devoted your life to the lord my child. Please go with God's blessing.";
+ close;
+
+ M_End:
+ mes "[Father Mareusis]";
+ mes "I see. I pray for your salvation.";
+ close;
+
+L_Check:
+ mes "Oh, You've come back. Let me check to see if you are ready to serve God... Let's see...";
+ next;
+ mes "[Father Mareusis]";
+ if(job_acolyte_q < 4) goto sL_NotRdy;
+ if(SkillPoint > 0) goto sL_Skpoint;
+ mes "Your prayers have been answered my child. That which has been asked of you has been fullfilled!!.";
+ next;
+ mes "[Father Mareusis]";
+ mes "With the powers vested in me I hearby make you, ^0000ff"+strcharinfo(0)+"^000000, an Acolyte!!!";
+ next;
+ mes "(whispers a prayer)";
+ next;
+ callfunc "Job_Change",Job_Acolyte;
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+ mes "[Father Mareusis]";
+ mes "Remember to be thankful to God, who is taking care of us all of the time.";
+ mes "That you have the unique chance to serve him...you should feel very fortunate and blessed.";
+ next;
+ mes "[Father Mareusis]";
+ mes "Now go forth my child and VANQUISH the EVILS of this world. You have my blessing and the blessing of the church.";
+ close;
+
+ sL_NotRdy:
+ mes "Hmm... you don't seem to have finished your Divine Quest my child.";
+ next;
+ mes "[Father Mareusis]";
+ if(job_acolyte_q == 1) goto sR_1;
+ if(job_acolyte_q == 2) goto sR_2;
+ if(job_acolyte_q == 3) goto sR_3;
+ close;
+
+ sL_Skpoint:
+ mes "Before we can move on, please use up all of your skill points my child.";
+ close;
+}
+
+
+// == Devine Quest ==
+// -- Father Rubalkabara --
+prt_fild03.gat,365,259,2 script Father Rubalkabara 110,{
+ mes "[Father Rubalkabara]";
+ if(BaseJob==Job_Acolyte || BaseJob==Job_Priest) callfunc "F_FatherRub";
+ if(BaseJob==Job_Novice) goto L_Novice;
+
+L_Other:
+ mes "Oh.. Have you come here to train Or are you just a Wanderer..?";
+ next;
+ mes "[Father Rubalkabara]";
+ mes "Whoever you are, please take care of yourself. Monsters in here are shockingly Strong contrary to their Cute apprearance.";
+ close;
+
+L_Novice:
+ if(job_acolyte_q==4) goto QuestOver;
+ if(job_acolyte_q > 0) goto L_Start;
+ mes "Huh..? What brings you here? This is a Very dangerous place for a Novice like you. Please Go back quickly.";
+ emotion 0;
+ close;
+
+L_Start:
+ mes "Oh... Are you the young one who wishes to become an Acolyte...? I've already received the news of your comming from the Santuary.";
+ next;
+ mes "[Father Rubalkabara]";
+ mes "Let me just check my list of candidates here to make sure you are at the right place......";
+ next;
+ mes "[Father Rubalkabara]";
+ if(job_acolyte_q != 1) goto Goback;
+ mes "You're ^0000ff"+strcharinfo(0)+"^000000, right? Thank you for comming to vist me.";
+ next;
+ mes "[Father Rubalkabara]";
+ mes "I believe you have already been informed about Acolytes from Father Mareusis. So I won't bother to bore you with any futher lectures on the subject.";
+ next;
+ mes "[Father Rubalkabara]";
+ mes "Besides, I know your generation doesn't like to be lectured by old men like myself. Hahaha...";
+ emotion 18;
+ next;
+ mes "[Father Rubalkabara]";
+ mes "But you might have to learn to endure what your elders say, because God loves to teach his children. You will see.";
+ next;
+ mes "[Father Rubalkabara]";
+ mes "I will send a message to Father Mareusis stating that you visted me as proof of the completion of your Divine Quest.";
+ next;
+ mes "[Father Rubalkabara]";
+ mes "You may go back to Prontera now. Farewell and may God bless you.";
+ set job_acolyte_q,4;
+ close;
+
+ QuestOver:
+ mes "Your Divine Quest is has been completed. You may continue in your journey to serve God.";
+ close;
+
+ Goback:
+ mes "Hmmm... I do not think you name is on my list of candidates.";
+ emotion 20;
+ next;
+ mes "[Father Rubalkabara]";
+ mes "...... Why don't you go back to the Santuary and check again.";
+ close;
+}
+
+// -- Mother Marthilda --
+moc_fild07.gat,36,354,4 script Mother Marthilda 79,{
+ mes "[Mother Marthilda]";
+ if(BaseJob == Job_Acolyte || BaseJob==Job_Priest) callfunc "F_MotherMart";
+ if(BaseJob == Job_Novice) goto L_Novice;
+
+L_Other:
+ mes "Hello and welcome. I am Mother Marthilda. Are you a weary traveler or a mighty warrior?";
+ mes "Whoever you are please make sure to keep your faith in God.";
+ close;
+
+L_Novice:
+ if(job_acolyte_q == 5) goto QuestOver;
+ if(job_acolyte_q > 0) goto L_Start;
+ mes "My!! Aren't you a little far from your town? A novice like you could get hurt. Please be safe.";
+ emotion 0;
+ close;
+L_Start:
+ mes "Ah, You are one of the Acolyte Applicants. I sincerely welcome you.";
+ next;
+ mes "[Mother Marthilda]";
+ mes "Let me just check my list of candidates here to make sure you are at the right place......";
+ next;
+ if(job_acolyte_q != 2) goto Goback;
+ mes "[Mother Marthilda]";
+ mes ".... ^0000ff"+strcharinfo(0)+"^000000, Yes! I found you.";
+ next;
+ mes "[Mother Marthilda]";
+ mes "I will send a message to 'Father Mareusis' stating that you visted me as proof of the completion of your Divine Quest.";
+ next;
+ mes "[Mother Marthilda]";
+ mes "Thank you for visiting me. I am even more greatfull that you chose to follow your heart and devote your life to the divinity.";
+ mes "God is only as powerfull as our devotion to him. Remember that.";
+ next;
+ mes "[Mother Marthilda]";
+ mes "You may go back to Prontera now.";
+ mes "Be safe and may God bless.";
+ set job_acolyte_q,5;
+ close;
+
+ Goback:
+ mes "[Mother Marthilda]";
+ mes "Hmm....let's see....";
+ mes "..Well... I can't find your name on the List ....";
+ emotion 20;
+ next;
+ mes "[Mother Marthilda]";
+ mes "I recommend that you to return to the Santuary and Check again.";
+ close;
+
+ QuestOver:
+ mes "Your Divine Quest is has been completed. You may continue in your journey to serve God.";
+ close;
+}
+
+// -- Father Yosuke --
+prt_fild00.gat,208,218,6 script Father Yosuke 120,{
+ mes "[Father Yosuke]";
+ if(BaseJob == Job_Acolyte || BaseJob==Job_Priest) callfunc "F_FatherYos";
+ if(BaseJob == Job_Novice) goto L_Novice;
+
+L_Other:
+ mes "What brings you to this place. Try not to bother me ok.";
+ close;
+
+L_Novice:
+ if(job_acolyte_q == 6) goto QuestOver;
+ if(job_acolyte_q > 0) goto L_Start;
+ mes "You, Novice...wanna tell me something?";
+ mes "If not go back home.";
+ close;
+
+L_Start:
+ mes "Hey!! You there.";
+ next;
+ mes "[Father Yosuke]";
+ mes "You look like an Acolyte Applicant...am I right?";
+ next;
+ mes "[Father Yosuke]";
+ mes "Let me just check my list of candidates here to make sure you are at the right place......";
+ next;
+ if(job_acolyte_q != 3) goto Goback;
+ mes "[Father Yosuke]";
+ mes "Here we are, ^0000ff"+strcharinfo(0)+"^000000, correct? Not bad, Not bad. You withstood the long journey to get here pretty well.";
+ next;
+ mes "[Father Yosuke]";
+ mes "I will send a message to 'Father Mareusis' stating that you visted me as proof of the completion of your Divine Quest.";
+ next;
+ mes "[Father Yosuke]";
+ mes "Now go back to the Sanctuary and don't forget to carry God's teachings with you where ever you go!";
+ emotion 27;
+ set job_acolyte_q,6;
+ close;
+
+ Goback:
+ mes "[Father Yosuke]";
+ mes "Interesting.. I can't find your name on my list..";
+ emotion 20;
+ next;
+ mes "[Father Yosuke]";
+ mes "I think you've come here by mistake.";
+ mes "Go back to the Santuary and check with Father Mareusis.";
+ close;
+
+ QuestOver:
+ mes "What ? You Have more Business with me?";
+ emotion 1;
+ next;
+ mes "[Father Yosuke]";
+ mes "Your Divine Quest is complete. Go back to the Sanctuary Now!";
+ emotion 27;
+ close;
+}
+
diff --git a/npc/jobs/1-1/archer.txt b/npc/jobs/1-1/archer.txt
new file mode 100644
index 000000000..399aa39cf
--- /dev/null
+++ b/npc/jobs/1-1/archer.txt
@@ -0,0 +1,162 @@
+//===== eAthena Script =======================================
+//= Archer Job Quest
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= <Description>
+//===== Additional Comments: =================================
+//= Fully working
+//= v1.1 Added instant job change for High Novice [Lupus]
+//= v1.3 Added Baby Class support [Lupus]
+//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller]
+//============================================================
+
+
+// -- Archer Guildsman --
+payon_in02.gat,64,71,4 script Archer Guildsman 59,{
+ callfunc "F_ToHigh",27,"High Archer",35,"Sniper",147,148,0,0,"Archer Guildsman";
+ mes "[Archer Guildsman]";
+ if(BaseJob==Job_Novice && job_archer_q == 1) goto L_Check;
+ mes "Good Day. How may I help you?";
+ next;
+ menu "I would like to become an Archer.",M_0,"What are the Requirements?",M_1,"Never mind.",M_End;
+
+ M_0:
+ mes "[Archer Guildsman]";
+ callfunc "Arc_check";
+ mes "Looks good. You have the necesssary skills to become an archer....";
+ next;
+ mes "[Archer Guildsman]";
+ mes "but.... ";
+ next;
+ mes "[Archer Guildsman]";
+ mes "you must first pass a test in order to do so. I hope you didn't think becoming an archer was going to be that easy. Ha ha!";
+ next;
+ mes "[Archer Guildsman]";
+ mes "A well made bow is essential for a good archer, and high quality wood is in turn essential for a well made bow.";
+ mes "You will be tested on how well you are able to gather high quality wood.";
+ next;
+ mes "[Archer Guildsman]";
+ mes "The higher the quality of the wood you gather the higher your score.";
+ mes "You must recieve a score of ^ff0000at least 25^000000 in order to ^ff0000pass the test^000000.";
+ next;
+ mes "[Archer Guildsman]";
+ mes "You can find wood by battling ^0000ff'Willows'^000000, a type of tree monster found outside of town in Payon forest.";
+ mes "They drop the wood in the form of^0000ff 'Trunks'^000000.";
+ next;
+ mes "[Archer Guildsman]";
+ mes "There are a total of 4 different kind of trunks each with a different point value. Gather a variety of trunks and bring them back here for me to grade.";
+ next;
+ mes "[Archer Guildsman]";
+ mes "I must warn you, the Willows can be tough monsters so be carefull and remember to rest and use your healing items. Good luck!";
+ close;
+
+ M_1:
+ mes "[Archer Guildsman]";
+ if(BaseJob == Job_Archer) goto sM_1a;
+ if(BaseJob != Job_Novice) goto sM_1b;
+ mes "Let me explain the requirements for becoming an archer to you:";
+ next;
+ mes "[Archer Guildsman]";
+ mes "First of all, you have to have a job level of 9 and you must learn all of the skills that come with that job level.";
+ next;
+ mes "[Archer Guildsman]";
+ mes "Secondly, you will have to take a test that will determine whether or not you have the skills to become an archer.";
+ next;
+ mes "[Archer Guildsman]";
+ mes "Those are the requirements. Fullfill them and you will be able to live life as only an Archer can.";
+ close;
+
+ sM_1a:
+ mes "Have you already forgotten how you became an Archer?....";
+ emotion 1;
+ close;
+ sM_1b:
+ mes "Telling you the requirements won't help you become an Archer since you already have another job.";
+ close;
+
+ M_End:
+ mes "[Archer Guildsman]";
+ mes "Ok then, take care.";
+ close;
+
+L_Check:
+ mes "Oh, I see you've come back.";
+ next;
+ mes "[Archer Guildsman]";
+ if((countitem(1066) == 0) && (countitem(1067) == 0) && (countitem(1068) == 0) && (countitem(1019) == 0)) goto sL_NotRdy;
+ if(SkillPoint > 0) goto sL_SkPoints;
+ set @Trunk1, countitem(1066)*5;
+ set @Trunk2, countitem(1067)*3;
+ set @Trunk3, countitem(1068)*2;
+ set @Trunk4, countitem(1019);
+ set @TrunkTotal, @Trunk1 + @Trunk2 + @Trunk3 + @Trunk4;
+
+ mes "Lets see.....";
+ next;
+ mes "[Archer Guildsman]";
+ mes "You have:";
+ mes "^0000FF" +countitem(1066)+ "^000000 Fine grained trunks for ^ff0000" +@Trunk1+ "^000000 points,";
+ mes "^0000FF" +countitem(1067)+ "^000000 Solid trunks for ^ff0000" +@Trunk2+ "^000000 points,";
+ mes "^0000FF" +countitem(1068)+ "^000000 Barren trunks for ^ff0000" +@Trunk3+ "^000000 points,";
+ mes "^0000FF" +countitem(1019)+ "^000000 Trunks for ^ff0000" +@Trunk4+ "^000000 points.....";
+ next;
+ mes "[Archer Guildsman]";
+ mes "That gives you a total score of: ^ff0000" +@TrunkTotal+"^000000";
+ next;
+ mes "[Archer Guildsman]";
+ if(@TrunkTotal < 25) goto sL_Failed;
+
+ mes "Very good! You have passed the test. Congratulations, you are now fully qualified to become an archer.";
+ emotion 21;
+ next;
+ mes "[Archer Guildsman]";
+ mes "I will now transform you...";
+ next;
+ callfunc "Job_Change",Job_Archer;
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+ mes "[Archer Guildsman]";
+ mes "In exchange for the trunks you brought in I will give you this Bow and some arrows. Please take them.";
+ next;
+ getitem 1702,1;//Items: Bow_,
+ getitem 1750,200;//Items: Arrow,
+ delitem 1066, countitem(1066);//Items: Fine-grained_Trunk,
+ delitem 1067, countitem(1067);//Items: Solid_Trunk,
+ delitem 1068, countitem(1068);//Items: Barren_Trunk,
+ delitem 1019, countitem(1019);//Items: Trunk,
+ mes "[Archer Guildsman]";
+ mes "An Archer knows no bounds so live your life to its fullest. I know you will make an exellent archer.";
+ next;
+ mes "[Archer Guildsman]";
+ mes "Farewell and good luck on your journey.";
+ close;
+
+ sL_NotRdy:
+ mes "What? You didn't bring any trunks back for me to grade? Let me explain the test requirements again just in case you forgot...";
+ emotion 1;
+ next;
+ mes "[Archer Guildsman]";
+ mes "There are a total of ^5555FF4 different kind of Trunks^000000 each with a different point value.";
+ mes "Gather a variety of Trunks and bring them back here for me to grade.";
+ next;
+ mes "[Archer Guildsman]";
+ mes "You can find Trunks by battling ^0000ff'Willows'^000000, a type of tree monster found outside of town in Payon forest.";
+ close;
+ sL_SkPoints:
+ mes "You need to use up all of your skill points before I can make you an Archer.";
+ close;
+ sL_Failed:
+ mes "I'm sorry but your score is too low. I'm afraid that you have failed the test.";
+ next;
+ mes "[Archer Guildsman]";
+ mes "Fortunatley for you I'm somewhat softhearted so I'll give you another chance. Go gather some more trunks and come back.";
+ next;
+ mes "[Archer Guildsman]";
+ mes "Hopefull they will be of a high enough quality for you to pass the test.";
+ close;
+
+}
diff --git a/npc/jobs/1-1/mage.txt b/npc/jobs/1-1/mage.txt
new file mode 100644
index 000000000..7407ac4ae
--- /dev/null
+++ b/npc/jobs/1-1/mage.txt
@@ -0,0 +1,469 @@
+//===== eAthena Script =======================================
+//= Mage Job Quest
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= <Description>
+//===== Additional Comments: =================================
+//= Fully working
+//= 1.1 Fixed input ingridients bug [Lupus]
+//= v1.2 Added instant job change for High Novice [Lupus]
+//= 1.3 Added Baby Class support [Lupus]
+//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller]
+//============================================================
+
+
+// -- Expert Mage --
+geffen_in.gat,164,124,4 script Expert Mage 123,{
+ callfunc "F_ToHigh",26,"High Mage",33,"High Wizard",157,0,0,0,"Expert Mage";
+ if(BaseJob==Job_Novice && job_magician_q >= 1) goto L_BeMage;
+
+ mes "[Expert Mage]";
+ mes "Hi hi! What can I help you with today?";
+M_Menu:
+ next;
+ menu "I'm in love with magic, make me a Mage!",M_0,"Tell me the Requirements.",M_1,"Nothing thanks.",M_End;
+
+ M_0:
+ mes "[Expert Mage]";
+ mes "You wanna be a Mage? Hmmm.....";
+ next;
+ mes "[Expert Mage]";
+ callfunc "Mag_check";
+ mes "The only thing left to do is to pass the official Geffen Mage Test. Let me give you the details of the test.";
+ next;
+ set job_magician_q, rand(1,4);
+
+ L_Explain:
+ mes "[Expert Mage]";
+ if(job_magician_q == 1) mes "Your test is to make ^0000ff'Mixed Solution No.1'^000000 and bring it back to me.";
+ if(job_magician_q == 2) mes "Your test is to make ^00aa00'Mixed Solution No.2'^000000 and bring it back to me.";
+ if(job_magician_q == 3) mes "Your test is to make ^ff0000'Mixed Solution No.3'^000000 and bring it back to me.";
+ if(job_magician_q == 4) mes "Your test is to make ^ffbb00'Mixed Solution No.4'^000000 and bring it back to me.";
+
+ next;
+ if(countitem(1092) == 0) getitem 1092,1;//Items: Empty_Test_Tube,
+ mes "[Expert Mage]";
+ mes "You can get the necessary ingredients in the ^5533FF'Guide Book'^000000 in this room.";
+ mes "Refer to it to get a list of the proper ingredients for the solution.";
+ next;
+ mes "[Expert Mage]";
+ mes "When you are ready to mix it, use the ^ff0000'Mixing Machine'^000000 in the center to mix the solution.";
+ next;
+ mes "[Expert Mage]";
+ mes "Good Luck! I'll be waiting.";
+ close;
+
+ M_1:
+ mes "[Expert Mage]";
+ mes "First of all, you have to reach Novice Level 9 and have learned all of the Basic Skills.";
+ mes "Secondly, you have to pass the Mage Test.";
+ goto M_Menu;
+ M_End:
+ mes "[Expert Mage]";
+ mes "Okays. Bye bye.";
+ close;
+
+L_BeMage:
+ mes "[Expert Mage]";
+ mes "Oh, you're back. Lets see....";
+ next;
+ mes "[Expert Mage]";
+ if(countitem(1090) >= 1) goto L_Retry;//Items: Unknown_Test_Tube,
+ if((countitem(1071)<1) && (countitem(1085)<1) && (countitem(1086)<1) && (countitem(1087)<1)) goto L_NoSol;//Items: Unknown_Test_Tube, Unknown_Test_Tube, Unknown_Test_Tube, Unknown_Test_Tube,
+
+ if(SkillPoint > 0) mes "You need to use up all of your skill points before I can make you a Mage.";
+ if(SkillPoint > 0) close;
+
+ mes ".....The color's not quit right.... there is a little to much percipitate..... hmmm......";
+ next;
+ mes "[Expert Mage]";
+ mes "Well it's not perfect but it seems you worked very hard on this so...... alright! I'll let you pass! You are now officialy qualified to become a mage!";
+ emotion 21;
+ next;
+ mes "[Expert Mage]";
+ mes "Abra-kadabra and hocus pocus, turn this young novice into a ^00aa00MAGE^000000!!";
+ next;
+ callfunc "Job_Change",Job_Mage;
+
+ set Zeny,Zeny+500;
+ if(job_magician_q == 1) delitem 1071,1;//Items: Unknown_Test_Tube,
+ if(job_magician_q == 2) delitem 1085,1;//Items: Unknown_Test_Tube,
+ if(job_magician_q == 3) delitem 1086,1;//Items: Unknown_Test_Tube,
+ if(job_magician_q == 4) delitem 1087,1;//Items: Unknown_Test_Tube,
+
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+ mes "[Expert Mage]";
+ mes "'Welcome to My World~ teh hehe. I've always wanted to say that. Anyways, congratulations!. You're one of us now so let's be friends okays!";
+ emotion 18;
+ next;
+ mes "[Expert Mage]";
+ mes "Good luck to ya and take care!";
+ close;
+
+ L_Retry:
+ mes "I'm sorry but the solution you have is no good. I'm afraid that you didn't pass the test. You can try again though.";
+ mes "Let me exlpain the test for you once more okays.";
+ emotion 4;
+ next;
+ delitem 1090,1;//Items: Unknown_Test_Tube,
+ goto L_Explain;
+
+ L_NoSol:
+ mes "Where is the solution I asked for? I'm sorry but I can't check the solution when you don't have it. Let me remind you what solution you need.";
+ emotion 1;
+ next;
+ goto L_Explain;
+
+}
+
+// -- Solutions Guide Book --
+geffen_in.gat,177,112,1 script Solutions Guide Book 111,{
+ mes "[Solutions Guide Book]";
+ mes "I belong to Geffen Magic Academy. Please handle with care.";
+ next;
+ menu "Solution No. 1.",Sol1,"Solution No. 2.",Sol2,"Solution No. 3.",Sol3,"Solution No. 4.",Sol4,"Close.",Cancel;
+
+ Sol1:
+ mes "[Mage Test Solution No. 1]";
+ mes "* Ingredients list *";
+ mes " - Jellopy 2 ea";
+ mes " - Fluff 3 ea";
+ mes " - Milk 1 ea";
+ next;
+ mes "[Mage Test Solution No. 1]";
+ mes "* Solvent Agent *";
+ mes " Payon Solution";
+ mes " Where to find: A Small Spring in";
+ mes " Archer Village, Payon.";
+ next;
+ mes "[Mage Test Solution No. 1]";
+ mes "* Chemical ingredients *";
+ mes " - 8472";
+ next;
+ mes "[Mage Test Solution No. 1]";
+ mes "* A Catalyst *";
+ mes " - Yellow Gemstone";
+ mes " (Mixing Machine Will provide";
+ mes " this item.)";
+ close;
+ Sol2:
+ mes "[Mage Test Solution No. 2]";
+ mes "* Ingredients list *";
+ mes " - Jellopy 3 ea";
+ mes " - Fluff 1 ea";
+ mes " - Milk 1 ea";
+ next;
+ mes "[Mage Test Solution No. 2]";
+ mes "* Solvent Agent *";
+ mes " - Not Appliable.";
+ next;
+ mes "[Mage Test Solution No. 2]";
+ mes "* Chemical ingredients *";
+ mes " - 3735";
+ next;
+ mes "[Mage Test Solution No. 2]";
+ mes "* A Catalyst *";
+ mes " - Red Gemstone";
+ mes " (Mixing Machine Will provide";
+ mes " this item.)";
+ close;
+ Sol3:
+ mes "[Mage Test Solution No. 3]";
+ mes "* Ingredients list *";
+ mes " - Jellopy 6 ea";
+ mes " - Fluff 1 ea";
+ next;
+ mes "[Mage Test Solution No. 3]";
+ mes "* Solvent Agent *";
+ mes " Payon Solution";
+ mes " Where to find: A Small Spring in";
+ mes " Archer Village, Payon.";
+ next;
+ mes "[Mage Test Solution No. 3]";
+ mes "* Chemical ingredients *";
+ mes " - 2750";
+ next;
+ mes "[Mage Test Solution No. 3]";
+ mes "* A Catalyst *";
+ mes " - Blue Gemstone";
+ mes " (Mixing Machine Will provide";
+ mes " this item.)";
+ close;
+ Sol4:
+ mes "[Mage Test Solution No. 4]";
+ mes "* Ingredients list *";
+ mes " - Jellopy 2 ea";
+ mes " - Fluff 3 ea";
+ next;
+ mes "[Mage Test Solution No. 4]";
+ mes "* Solvent Agent *";
+ mes " Morroc Solution";
+ mes " Where to find: A Small Spring";
+ mes " Near the Enterance of Pyramid";
+ mes " in Morroc.";
+ next;
+ mes "[Mage Test Solution No. 4]";
+ mes "* Chemical ingredients *";
+ mes " - 5429";
+ next;
+ mes "[Mage Test Solution No. 4]";
+ mes "* A Catalyst *";
+ mes " - 1 carat Diamond";
+ mes " (Mixing Machine Will provide";
+ mes " this item.)";
+ close;
+ Cancel:
+ close;
+}
+
+// -- Mixing Machine --
+geffen_in.gat,164,112,1 script Mixing Machine 111,{
+ mes "[Mixing Machine]";
+ mes "This is the unique Mixing Machine designed only for making magic solutions. It is the property of the Geffen Magic Academy.";
+ next;
+ mes "[Mixing Machine]";
+ mes "Would you like to use this machine?";
+ next;
+ menu "Yes.",M_Start, "No.",M_End;
+
+ M_Start:
+ mes "[Mixing Machine]";
+ mes "Please specify the ingredients you will be using.";
+ next;
+ sM_Menu:
+ menu "Jellopy",sM_0, "Fluff",sM_1, "Milk",sM_2, "Move on to the next step.",sM_3;
+
+ sM_0:
+ input @JELLOPY;
+ if (@JELLOPY<0 || @JELLOPY>100) set @JELLOPY,0; //set 0 if wrong input
+ goto sM_Menu;
+ sM_1:
+ input @FLUFF;
+ if (@FLUFF<0 || @FLUFF>100) set @FLUFF,0; //set 0 if wrong input
+ goto sM_Menu;
+ sM_2:
+ input @MILK;
+ if (@MILK<0 || @MILK>100) set @MILK,0; //set 0 if wrong input
+ goto sM_Menu;
+ sM_3:
+ mes "[Mixing Machine]";
+ mes "Please specify a solvent.";
+ next;
+ menu "Payon Solvent.",ssM_0, "Morroc Solvent",ssM_1, "No Solvent.",ssM_2;
+
+ ssM_0:
+ set @SOLVENT, 1089;
+ set @SOLVENT$, "Payon";
+ goto L_Cont;
+ ssM_1:
+ set @SOLVENT, 1088;
+ set @SOLVENT$, "Morroc";
+ goto L_Cont;
+ ssM_2:
+ set @SOLVENT, 0;
+ set @SOLVENT$, "No";
+
+ L_Cont:
+ mes "[Mixing Machine]";
+ mes "Here is your current list of ingredients:";
+ mes "^4444FF"+@JELLOPY+"^000000 Jellopy,";
+ mes "^4444FF"+@FLUFF+"^000000 Fluff,";
+ mes "^4444FF"+@MILK+"^000000 Milk,";
+ mes "and ^4444FF"+@SOLVENT$+"^000000 Solvent.";
+ mes "Is this correct?";
+ next;
+ menu "Yes.",-, "No.",M_Start;
+
+ mes "[Mixing Machine]";
+ mes "Please put all of the items into the drum. Now enter the magic serial number.";
+ next;
+
+ L_Input:
+ input @INPUT;
+ mes "[Mixing Machine]";
+ mes "You have inputed the number ^5555FF"+@INPUT+". Is this correct?";
+ next;
+ menu "Yes.",-, "No.",L_Input;
+
+ mes "[Mixing Machine]";
+ mes "For the last item, choose a catalyst stone.";
+ next;
+ menu "Yellow Gemstone.",ssM_Yell, "Red Gemstone.",ssM_Red, "Blue Gemstone.",ssM_Blue, "1 Carat Diamond.",ssM_Diamd;
+
+ ssM_Yell:
+ if(countitem(909)<@JELLOPY || countitem(914)<@FLUFF || countitem(519)<@MILK) goto sL_NotEnuf;//Items: Jellopy, Fluff, Milk,
+ if(@SOLVENT$!=("No") && countitem(@SOLVENT)<1) goto sL_NotEnuf;
+ mes "[Mixing Machine]";
+ mes "All set. Initiating the mixing process. Please wait.";
+ next;
+ mes "[Mixing Machine]";
+ mes "~rumble~rumble~rumble~";
+ next;
+ mes "[Mixing Machine]";
+ if(job_magician_q != 1 || @INPUT != 8472 || @JELLOPY!=2 || @FLUFF!=3 || @MILK!=1 || @SOLVENT!=1089) goto sL_FAIL;
+ delitem 909,2;//Items: Jellopy,
+ delitem 914,3;//Items: Fluff,
+ delitem 519,1;//Items: Milk,
+ delitem 1089,1;//Items: Payon_Solution,
+ delitem 1092,1;//Items: Empty_Test_Tube,
+ mes "Mixing complete.";
+ getitem 1071,1;//Items: Unknown_Test_Tube,
+ close;
+
+ ssM_Red:
+ if(countitem(909)<@JELLOPY || countitem(914)<@FLUFF || countitem(519)<@MILK) goto sL_NotEnuf;//Items: Jellopy, Fluff, Milk,
+ mes "[Mixing Machine]";
+ mes "All set. Initiating the mixing process. Please wait.";
+ next;
+ mes "[Mixing Machine]";
+ mes "~rumble~rumble~rumble~";
+ next;
+ mes "[Mixing Machine]";
+ if(job_magician_q != 2 || @INPUT != 3735 || @JELLOPY!=3 || @FLUFF!=1 || @MILK!=1 || @SOLVENT!=0) goto sL_FAIL;
+ delitem 909,3;//Items: Jellopy,
+ delitem 914,1;//Items: Fluff,
+ delitem 519,1;//Items: Milk,
+ delitem 1092,1;//Items: Empty_Test_Tube,
+ mes "Mixing complete.";
+ getitem 1085,1;//Items: Unknown_Test_Tube,
+ close;
+
+ ssM_Blue:
+ if(countitem(909)<@JELLOPY || countitem(914)<@FLUFF) goto sL_NotEnuf;//Items: Jellopy, Fluff,
+ if(@SOLVENT$!=("No") && countitem(@SOLVENT)<1) goto sL_NotEnuf;
+ mes "[Mixing Machine]";
+ mes "All set. Initiating the mixing process. Please wait.";
+ next;
+ mes "[Mixing Machine]";
+ mes "~rumble~rumble~rumble~";
+ next;
+ mes "[Mixing Machine]";
+ if(job_magician_q != 3 || @INPUT != 2750 || @JELLOPY!=6 || @FLUFF!=1 || @MILK!=0 || @SOLVENT!=1089) goto sL_FAIL;
+ delitem 909,6;//Items: Jellopy,
+ delitem 914,1;//Items: Fluff,
+ delitem 1089,1;//Items: Payon_Solution,
+ delitem 1092,1;//Items: Empty_Test_Tube,
+ mes "Mixing complete.";
+ getitem 1086,1;//Items: Unknown_Test_Tube,
+ close;
+
+ ssM_Diamd:
+ if(countitem(909)<@JELLOPY || countitem(914)<@FLUFF) goto sL_NotEnuf;//Items: Jellopy, Fluff,
+ if(@SOLVENT$!=("No") && countitem(@SOLVENT)<1) goto sL_NotEnuf;
+ mes "[Mixing Machine]";
+ mes "All set. Initiating the mixing process. Please wait.";
+ next;
+ mes "[Mixing Machine]";
+ mes "~rumble~rumble~rumble~";
+ next;
+ mes "[Mixing Machine]";
+ if(job_magician_q != 4 || @INPUT != 5429 || @JELLOPY!=2 || @FLUFF!=3 || @MILK!=0 || @SOLVENT!=1088) goto sL_FAIL;
+ delitem 909,2;//Items: Jellopy,
+ delitem 914,3;//Items: Fluff,
+ delitem 1088,1;//Items: Morroc_Solution,
+ delitem 1092,1;//Items: Empty_Test_Tube,
+ mes "Mixing complete.";
+ getitem 1087,1;//Items: Unknown_Test_Tube,
+ close;
+
+ sL_FAIL:
+ delitem 909, @JELLOPY;//Items: Jellopy,
+ delitem 914, @FLUFF;//Items: Fluff,
+ delitem 519, @MILK;//Items: Milk,
+ delitem @SOLVENT,1;
+ mes "Mixing complete.";
+ getitem 1090,1;//Items: Unknown_Test_Tube,
+ close;
+
+ sL_NotEnuf:
+ mes "[Mixing Machine]";
+ mes "You do not have enough ingredients to mix into a solution.";
+ close;
+ M_End:
+ close;
+
+}
+
+
+// -- Morroc Solution --
+moc_ruins.gat,91,150,5 script Ponka-Hontas 93,{
+ mes "[Mage Guildsman]";
+ mes "You want the Solution? Then give me 50 Zeny and at least 1 Empty Testube.";
+ next;
+ menu "Allright, Deal",L0,"Nah, forget it.",L1;
+
+ L0:
+ if(countitem(1092)<1) goto L0NoT;//Items: Empty_Test_Tube,
+ if(Zeny<50) goto L0NoZ;
+ mes "[Mage Guildsman]";
+ mes "Ok, you have the money and a empty Testube, that's good!";
+ delitem 1092,1;//Items: Empty_Test_Tube,
+ set Zeny,Zeny-50;
+ next;
+ mes "[Mage Guildsman]";
+ getitem 1088,1;//Items: Morroc_Solution,
+ mes "Thank you, I think you will be a great mage, you are so generous.";
+ mes "I hope i'll see you soon again here";
+ emotion 21;
+ close;
+
+ L0NoT:
+ mes "[Mage Guildsman]";
+ mes "You can't Carry on Fluid without a bottle, are you sure you want to become a mage?";
+ mes "Bring an Empty Testube";
+ close;
+
+ L0NoZ:
+ mes "[Mage Guildsman]";
+ mes "Pfff, You are too poor to buy our noble Solution!";
+ mes "Bring 50 Zeny, go to the mercant sell something, it will not be too hard I hope";
+ close;
+ L1:
+ mes "[Mage Guildsman]";
+ close;
+}
+
+
+// -- Payon Solution --
+pay_arche.gat,122,100,5 script Dollshoi 88,{
+ mes "[Mage Guildsman]";
+ mes "You want the Solution? Then give me 50 Zeny and at least 1 Empty Testube.";
+ next;
+ menu "Allright, Deal",L0,"Nah, forget it.",L1;
+
+ L0:
+ if(countitem(1092)<1) goto L0NoT;//Items: Empty_Test_Tube,
+ if(Zeny<50) goto L0NoZ;
+ mes "[Mage Guildsman]";
+ mes "Ok, you have the money and a empty Testube, that's good!";
+ delitem 1092,1;//Items: Empty_Test_Tube,
+ set Zeny,Zeny-50;
+ next;
+ mes "[Mage Guildsman]";
+ getitem 1089,1;//Items: Payon_Solution,
+ mes "Thank you, I think you will be a great mage, you are so generous.";
+ mes "I hope i'll see you soon again here";
+ emotion 21;
+ close;
+
+ L0NoT:
+ mes "[Mage Guildsman]";
+ mes "You can't Carry on Fluid without a bottle, are you sure you want to become a mage?";
+ mes "Bring an Empty Testube";
+ close;
+
+ L0NoZ:
+ mes "[Mage Guildsman]";
+ mes "Pfff, You are too poor to buy our noble Solution!";
+ mes "Bring 50 Zeny, go to the mercant sell something, it will not be too hard I hope";
+ close;
+ L1:
+ mes "[Mage Guildsman]";
+ close;
+}
+
diff --git a/npc/jobs/1-1/merchant.txt b/npc/jobs/1-1/merchant.txt
new file mode 100644
index 000000000..a38da60d9
--- /dev/null
+++ b/npc/jobs/1-1/merchant.txt
@@ -0,0 +1,940 @@
+//===== eAthena Script =======================================
+//= Merchant Job Quest
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.5
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= <Description>
+//===== Additional Comments: =================================
+//= Fully working
+//= v1.1 Added instant job change for High Novice [Lupus]
+//= v1.3 Added Baby Class support [Lupus]
+//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller]
+//= 1.5 Changed Prontera->Izlude teleport price to 600 [Lupus]
+//============================================================
+
+
+// == Guild NPCs ==
+// -- Mahnsoo --
+alberta_in.gat,53,43,6 script Chief Mahnsoo 86,{
+ callfunc "F_ToHigh",29,"Merchant High",34,"White Smith",153,154,155,0,"Chief Mahnsoo";
+ mes "[Chief Mahnsoo]";
+ if(BaseJob==Job_Novice && job_merchant_q3 == 4) goto L_MakeMerc;
+ if(BaseJob==Job_Novice && job_merchant_q3 == 3) goto L_GiveRecpt;
+ if(BaseJob==Job_Novice && job_merchant_q3 == 5) goto L_Failed;
+ if(BaseJob==Job_Novice && job_merchant_q2 > 0) goto L_Back;
+
+ mes "What brings you here? Something on your mind?";
+M_Menu:
+ next;
+ menu "I want to be a Merchant.",M_0,"What exactly is a Merchant?",M_1,"Give me the Requirements.",M_2,"End.",M_End;
+
+ M_0:
+ callfunc "Mer_check";
+ next;
+ menu "Sure why not. Who needs college anyways.",sM_0a,"Maybe, later...",sM_0b;
+
+ sM_0a:
+ mes "[Chief Mahnsoo]";
+ mes "I'm glad to hear that. So how do you wish to pay the Membership Fee?";
+ sM_Menu:
+ next;
+ menu "Pay 1000 Zeny Now.",m_0a,"2 payments of 500 Zeny.",m_0b,"Nevermind.",m_0End;
+
+ m_0a:
+ mes "[Chief Mahnsoo]";
+ if(Zeny < 1000) goto sl_Short1k;
+ set Zeny,Zeny-1000;
+ set job_merchant_q,1;
+ mes "Let's see... 1000 Zeny.... Good.";
+ goto L_Cont0;
+
+ sl_Short1k:
+ mes "Looks like your a little short on zeny. Why not make a minimal payment of 500 Zeny first?";
+ mes "You can worry about the rest later.";
+ emotion 4;
+ goto sM_Menu;
+ close;
+
+ m_0b:
+ mes "[Chief Mahnsoo]";
+ if(Zeny < 500) goto sl_Short500z;
+ set Zeny,Zeny-500;
+ set job_merchant_q,2;
+ mes "Let's See... 500 Zeny.... Good enough to start off... though I don't really think splitting paymenst is a good habbit for any Merchant.";
+ goto L_Cont0;
+
+ sl_Short500z:
+ mes "Looks like your a little short on zeny. Come back when you have enough.";
+ emotion 4;
+ close;
+
+ m_0End:
+ mes "[Chief Mahnsoo]";
+ mes "You have no money now? Ok, No Problem. Take your time, Ok?";
+ close;
+
+ sM_0b:
+ mes "[Chief Mahnsoo]";
+ mes "Feel free to return anytime when you are ready, Alright?.";
+ close;
+
+
+ L_Cont0:
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "Now that that's settled, let me talk to you about the Merchant License Test. You will be given a task to fullfill.";
+ mes "How well you perform the task will determine whether or not you will become a merchant.";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "Oh, but before we get started I must say one thing.....";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "There are some dumb and greedy people out there who do not know what it means to be a Merchant.";
+ mes "I sincerely hope you will not turn out to be like them. You won't... will you??..... (stares at you intently)";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "Anywho, here is your task. You will need to....";
+ next;
+ mes "[Chief Mahnsoo]";
+
+ set @TEMP,rand(4);
+ if(@TEMP ==1) goto R_1;
+ if(@TEMP ==2) goto R_2;
+ if(@TEMP ==3) goto R_3;
+
+ R_0:
+ mes "retrieve a ^ff0000product^000000 from the ^0000ffWharehouse^000000 and deliver it to the ^00aa00Kafra Worker in the Former Swordman Association in Prontera^000000.";
+ if(job_merchant_q2 == 1) goto sR_0a;
+ if(job_merchant_q2 == 2) goto sR_0b;
+ set @TEMP,rand(2);
+ if(@TEMP !=0) goto sR_0b;
+
+ sR_0a:
+ mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00002485741^000000.";
+ set job_merchant_q2, 1;
+ next;
+ goto L_Cont1;
+ sR_0b:
+ mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00002328137^000000.";
+ set job_merchant_q2, 2;
+ next;
+ goto L_Cont1;
+
+ R_1:
+ mes "retrieve a ^ff0000product^000000 from the ^0000ffWharehouse^000000 and deliver it to a member of the ^00aa00Mage Guild in Geffen^000000.";
+ next;
+ mes "[Chief Mahnsoo]";
+ if(job_merchant_q2 == 3) goto sR_1a;
+ if(job_merchant_q2 == 4) goto sR_1b;
+ set @TEMP,rand(2);
+ if(@TEMP !=0) goto sR_1b;
+
+ sR_1a:
+ mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00002989396^000000.";
+ set job_merchant_q2, 3;
+ next;
+ goto L_Cont1;
+ sR_1b:
+ mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00002191737^000000.";
+ set job_merchant_q2, 4;
+ next;
+ goto L_Cont1;
+
+ R_2:
+ mes "retrieve a ^ff0000product^000000 from the ^0000ffWharehouse^000000 and deliver it to ^00aa00Java Dullihan, the Dyermaker in Morroc^000000.";
+ next;
+ mes "[Chief Mahnsoo]";
+ if(job_merchant_q2 == 5) goto sR_2a;
+ if(job_merchant_q2 == 6) goto sR_2b;
+ set @TEMP,rand(2);
+ if(@TEMP !=0) goto sR_2b;
+
+ sR_2a:
+ mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00003012685^000000.";
+ set job_merchant_q2,5;
+ next;
+ goto L_Cont1;
+ sR_2b:
+ mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00003487372^000000.";
+ set job_merchant_q2,6;
+ next;
+ goto L_Cont1;
+
+ R_3:
+ mes "retrieve a ^ff0000product^000000 from the ^0000ffWharehouse^000000 and deliver it to the ^00aa00Kafra worker in Byalan island^000000.";
+ next;
+ mes "[Chief Mahnsoo]";
+ if(job_merchant_q2 == 7) goto sR_3a;
+ if(job_merchant_q2 == 8) goto sR_3b;
+ set @TEMP,rand(2);
+ if(@TEMP !=0) goto sR_3b;
+
+ sR_3a:
+
+ mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00003318702^000000.";
+ set job_merchant_q2,7;
+ goto M00R3;
+ sR_3b:
+ mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00003543625^000000.";
+ set job_merchant_q2,8;
+ goto M00R3;
+
+ M00R3:
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "Umm and... this is my personal request. Include this message in your delivery please~";
+ if(countitem(1072)==0) getitem 1072,1;//Items: Delivery_Message,
+ next;
+ goto L_Cont1;
+
+
+ L_Cont1:
+ mes "[Chief Mahnsoo]";
+ mes "Keep track of the ^ff0000'Serial Number'^000000 and the ^ff0000'Destination'^000000 of the product.";
+ mes "The Wharehouse Manager will need them to assist you in getting the right product.";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "The Wharehouse itself is located to my right.";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "After you've finished making the delivery come back here and give the Receipt to the Wharehouse Manager. Then come see me. Is that clear?";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "Alright, good luck!";
+ close;
+
+ M_1:
+ mes "[Chief Mahnsoo]";
+ mes "Merchants are people who are in the business of buying and selling goods. We focus on finding rare items and selling them to those who desire or need them.";
+ mes "We are not particularly good at fighting nor do we have any usefull support skills. What we Merchants can do is buy Goods at lower prices as well as sell them at Highter prices.";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "As far as what weapons go, we can use most of them. Bows, Rods, and Two-Handed Swords are the only types of weapons we can't use.";
+ mes "The skill Mannomite even lets us use zeny as a weapon.";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "Whatever people may say about us, making money is important to a merchants lively hood.";
+ goto M_Menu;
+ close;
+
+ M_2:
+ mes "[Chief Mahnsoo]";
+ mes "There are three conditions to be qualified if you want to be a Merchant.";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "First of all, You have to be at Novice job level 9 with fulfilled Basic Skills.";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "Secondly, You have to pay 1000 Zeny for acquire a Memebrship. I believe a Merchant Candidate will be able to earn 1000 Zeny at ease. Oh yeah~";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "Third, There is a License Test to examine your basic Physical Strength and a Sense of Direction. You must Deliever the Goods to the Specific person in the Specific Town.";
+ goto M_Menu;
+ close;
+
+ M_End:
+ close;
+
+L_GiveRecpt:
+ mes "Ah, " + strcharinfo(0) + ". You're back! I take it things went well? Tell you what, go give the Receipt to the Storekeeper and then hurry back here ok.";
+ close;
+
+L_Back:
+ mes "What are you doing back here?";
+ emotion 1;
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "You didn't leave yet?";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "You are supposed to be on your way by now. Don't tell me you already forgot the product number and destination?";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "Alright numskull, do you want me to repeat it to you one more time?";
+ next;
+ menu "Yes please", M_Yes,"Never mind.",M_No;
+
+ M_Yes:
+ mes "[Chief Mahnsoo]";
+ if((job_merchant_q2==1) || (job_merchant_q2==2)) goto R_0;
+ if((job_merchant_q2==3) || (job_merchant_q2==4)) goto R_1;
+ if((job_merchant_q2==5) || (job_merchant_q2==6)) goto R_2;
+ if((job_merchant_q2==7) || (job_merchant_q2==8)) goto R_3;
+ close;
+
+ M_No:
+ close;
+
+L_MakeMerc:
+ if(Sex == 1) mes "Mr. ^0000cc" + strcharinfo(0) + "^000000.....";
+ if(Sex == 0) mes "Ms. ^0000cc" + strcharinfo(0) + "^000000.......";
+ next;
+ mes "[Chief Mahnsoo]";
+ if(SkillPoint > 0) mes "You need to use up all of your skill points before I can make you a Merchant.";
+ if(SkillPoint > 0) close;
+
+ mes "WELL DONE! Well done indeed!! I just read Wharehouse Manager Kays' evaluation of your performance, and I was very impressed. I have great news for you!";
+ next;
+ if(job_merchant_q == 2) goto L_MemFee;
+
+ mes "[Chief Mahnsoo]";
+ mes "Because of your HARD work, The Merchant Guild as decided to ACCEPT YOU as one of its members!";
+ next;
+ callfunc "Job_Change",Job_Merchant;
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+
+ mes "[Chief Mahnsoo]";
+ mes "Congratulations! You are now one of us, A PROUD MERCHANT!!";
+ emotion 21;
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "I am very pleased that you decided to join the Merchant Guild and I hope you will play an active role in Rune Midgards' economy! The best of luck to you!!";
+ if((job_merchant_q2==7) || (job_merchant_q2==8)) goto L_Favor;
+ close;
+
+ L_Favor:
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "(Oh, here is a little something for Delivering the Message for me. Thanks very much)";
+ set Zeny,Zeny+100;
+ close;
+
+ L_MemFee:
+ mes "[Chief Mahnsoo]";
+ mes "Um... before I go on... there was the little issue of the Membership Fee if you recall. I will need the rest of it before I can proceed with your initiation.";
+ emotion 20;
+ next;
+ menu "Pay the remaining 500 Zeny",sM_1a,"...(run away!)...",sM_1b;
+
+ sM_1a:
+ if(Zeny < 500) goto sL_NotEnough;
+ set Zeny,Zeny-500;
+ set job_merchant_q,1;
+
+ mes "[Chief Mahnsoo]";
+ mes "Very good! Now I can go on. Now where was I?..... oh yes, I remember.....";
+ goto L_MakeMerc;
+
+ sL_NotEnough:
+ mes "[Chief Mahnsoo]";
+ mes "Eh em.... you seem to be a little short. Now that you've come this far, don't let a little fee impede your progress. Go forth and do something about it!";
+ emotion 4;
+ close;
+
+ sM_1b:
+ mes "[Chief Mahnsoo]";
+ mes "WHAT THE??? Hey come back here! YOU STILL HAVE TO PAY THE FEE!!!!!";
+ emotion 19;
+ close;
+
+L_Failed:
+ set job_merchant_q2,0;
+ set job_merchant_q3,0;
+
+ mes "I just finished reading Wharehouse Manager Kays' evalutation of your work......";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "What a shame, what a shame! HOW could you be so CARLESS??!! I'm sure Wharehouse Manager Kay has already given you an earfull so I will not go on with anymore critizism.";
+ emotion 32;
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "^ff0000"+strcharinfo(0) + "^000000, you have failed in the Merchant License Test! However...... if you are TRUELY interested in becoming a Merchant, and will work EXTREMELY HARD to do so....";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "... I will allow you to retake the test. What do you say?";
+ next;
+ menu "Thank you very much for this opportunity!",M_Thanks,"Maybe some other time",M_NoThanks;
+
+ M_Thanks:
+ set job_merchant_q2,0;
+ set job_merchant_q3,0;
+ goto L_Cont0;
+
+ M_NoThanks:
+ mes "[Chief Mahnsoo]";
+ mes "Remeber these words: In life, failure is NOT an option!!!";
+ emotion 0;
+ set job_merchant_q,0;
+ set job_merchant_q2,0;
+ set job_merchant_q3,0;
+ close;
+
+}
+
+
+// -- Wharehouse Manager Kay --
+alberta_in.gat,28,29,2 script Merchant Guildsman 83,{
+ if(BaseJob==Job_Novice && job_merchant_q3 > 0) goto L_Check;
+
+ mes "[Wharehouse Manager Kay]";
+ mes "Hey~ What brings you here?";
+ next;
+ menu "I came here for the Merchant Test.",M_0,"I came here for a Part Time job.",M_1,"Nope,Nothing.",M_End;
+
+ M_0:
+ mes "[Wharehouse Manager Kay]";
+ if(BaseJob!=0) goto L_NotNov;
+ if(job_merchant_q==0) goto L_NotRdy;
+ mes "You're ^0000cc"+ strcharinfo(0) +"^000000, right? Ok I'll give you a product to deliver. First I'll need the destination";
+ next;
+ menu "Prontera.",sM_0,"Geffen.",sM_1,"Morroc.",sM_2,"Byalan Island(Izlude).",sM_3;
+
+ sM_0:
+ set @s_flag,1;
+ goto L_Cont0;
+ sM_1:
+ set @s_flag,2;
+ goto L_Cont0;
+ sM_2:
+ set @s_flag,3;
+ goto L_Cont0;
+ sM_3:
+ set @s_flag,4;
+
+ L_Cont0:
+ mes "[Wharehouse Manager Kay]";
+ mes "Now, I'll need the Serial Number of the product. Just type it in the box. If you want to Cancel, just type '0' in the box, alright?";
+ next;
+ input @input;
+ if(@input ==0 ) goto sL_Cancel;
+ if((@input < 1000000) || (@input > 5000000)) goto sL_Error;
+
+ mes "[Wharehouse Manager Kay]";
+ if(@s_flag==1) mes "Destination is Prontera. The Serial Number is "+@input+" . ^ff0000Is this correct^000000?";
+ if(@s_flag==2) mes "Destination is Geffen. Phew~ Really far from here~ A little unlucky there huh? The Serial Number is "+@input+" . ^ff0000Is this correct^000000?";
+ if(@s_flag==3) mes "Destination is Morroc. Phew~ Really far from here~ A little unlucky there huh? The Serial Number is "+@input+" . ^ff0000Is this correct^000000?";
+ if(@s_flag==4) mes "Destination is Byalan. The Serial Number is "+@input+" . ^ff0000Is this correct^000000?";
+ next;
+ menu "Positive.",sM_Pos,"Negative.",sM_Neg;
+
+ sM_Pos:
+ if(@s_flag==1 && @input==2485741 && job_merchant_q2 == 1) goto ssL_Prod1;
+ if(@s_flag==2 && @input==2989396 && job_merchant_q2 == 3) goto ssL_Prod1;
+ if(@s_flag==3 && @input==3012685 && job_merchant_q2 == 5) goto ssL_Prod1;
+ if(@s_flag==4 && @input==3318702 && job_merchant_q2 == 7) goto ssL_Prod1;
+ if(@s_flag==1 && @input==2328137 && job_merchant_q2 == 2) goto ssL_Prod2;
+ if(@s_flag==2 && @input==2191737 && job_merchant_q2 == 4) goto ssL_Prod2;
+ if(@s_flag==3 && @input==3487372 && job_merchant_q2 == 6) goto ssL_Prod2;
+ if(@s_flag==4 && @input==3543625 && job_merchant_q2 == 8) goto ssL_Prod2;
+ getitem 1083,1;//Items: Delivery_Box__,
+ goto L_Cont1;
+
+ ssL_Prod1:
+ getitem 1081,1;//Items: Delivery_Box,
+ goto L_Cont1;
+
+ ssL_Prod2:
+ getitem 1082,1;//Items: Delivery_Box_,
+ goto L_Cont1;
+
+ sM_Neg:
+ close;
+
+ sL_Cancel:
+ mes "[Wharehouse Manager Kay]";
+ mes "Are you sure that you wanna cancel?";
+ next;
+ menu "Oh yes.",m_yes,"No way.",m_no;
+
+ m_yes:
+ mes "[Wharehouse Manager Kay]";
+ mes "Do as you wish~I cancel~";
+ close;
+ m_no:
+ next;
+ goto L_Cont0;
+
+ sL_Error:
+ mes "[Wharehouse Manager Kay]";
+ mes "Hey~ Hey~ That number is out of the valid Serial number range. A valid Serial number should be betwwen 1000000 and 5000000.";
+ next;
+ goto L_Cont0;
+
+
+ L_Cont1:
+ mes "[Wharehouse Manager Kay]";
+ mes "Be very carefull with this product and make sure you do not loose it. It cannot be replaced. If you do loose it you will not be able to become a Merchant.";
+ next;
+ mes "[Wharehouse Manager Kay]";
+ mes "After you've made the delivery be sure to get a Receipt. Good luck!";
+ set job_merchant_q3, 1;
+ close;
+
+ L_NotRdy:
+ mes "Speak with the chief about that";
+ close;
+
+ L_NotNov:
+ mes "I'm sorry but only novices are allowed to take the Merchant License Test.";
+ close;
+
+ M_1:
+ mes "[Wharehouse Manager Kay]";
+ mes "Part Time job? Nothing is available right now. We're currently in a budget crisis and can't afford to hire any new employees.";
+ close;
+ M_End:
+ mes "[Wharehouse Manager Kay]";
+ mes "...? Huh..? Huh..? What..?";
+ close;
+
+L_Check:
+ if( job_merchant_q3 == 4) goto L_Done;
+ mes "[Wharehouse Manager Kay]";
+ if(job_merchant_q3 == 1) goto L_Back;
+ if(job_merchant_q3 == 5) goto L_Failed;
+ if((job_merchant_q3 == 2) && (countitem(1083) ==1)) goto L_WrongProd;//Items: Delivery_Box__,
+
+ mes "I see your back ^0000cc"+ strcharinfo(0) +"^000000. I hope things went well. Lets see.... you were supposed to deliver a product to a....";
+ next;
+ mes "[Wharehouse Manager Kay]";
+ if((countitem(1073) == 1) || (countitem(1074) == 1)) goto L_0;//Items: Voucher, Voucher_,
+ if((countitem(1075) == 1) || (countitem(1076) == 1)) goto L_1;//Items: Voucher__, Voucher___,
+ if((countitem(1077) == 1) || (countitem(1078) == 1)) goto L_2;//Items: Voucher____, Voucher_____,
+ if((countitem(1079) == 1) || (countitem(1080) == 1)) goto L_3;//Items: Voucher______, Voucher_______,
+ goto L_LostRecpt;
+
+ L_0:
+ mes "...Kafra employee in Prontera. And indeed the receipt veryifies that the delivery was successfully made.";
+ if(countitem(1073) == 1) delitem 1073,1;//Items: Voucher,
+ if(countitem(1074) == 1) delitem 1074,1;//Items: Voucher_,
+ next;
+ goto L_Done;
+
+ L_1:
+ mes "...member of the Geffen Magic Academy. And indeed the receipt veryifies that the delivery was successfully made";
+ if(countitem(1075) == 1) delitem 1075,1;//Items: Voucher__,
+ if(countitem(1076) == 1) delitem 1076,1;//Items: Voucher___,
+ next;
+ goto L_Done;
+
+ L_2:
+ mes "...Dyermaker in Morroc. And indeed the receipt veryifies that the delivery was successfully made.";
+ if(countitem(1077) == 1) delitem 1077,1;//Items: Voucher____,
+ if(countitem(1078) == 1) delitem 1078,1;//Items: Voucher_____,
+ next;
+ goto L_Done;
+
+ L_3:
+ mes "...Kafra employee in Byalan. And indeed the receipt veryifies that the delivery was successfully made.";
+ if(countitem(1079) == 1) delitem 1079,1;//Items: Voucher______,
+ if(countitem(1080) == 1) delitem 1080,1;//Items: Voucher_______,
+ next;
+
+ L_Done:
+ mes "[Wharehouse Manager Kay]";
+ mes "Great! Everything went perfectly! I will send my evaluation of your performance to 'Chief Mahnsoo' imiediately.";
+ mes "Go ahead and speak with Chief Mahnsoo so that he can finalize the process to make you a Merchant.";
+ emotion 21;
+ set job_merchant_q3,4;
+ close;
+ L_LostRecpt:
+ mes "Lets see here...... you say you delivered the correct Product to the correct person...... but you have no reciept.....";
+ next;
+ mes "[Wharehouse Manager Kay]";
+ mes "YOU HAVE NO RECIEPT?????";
+ emotion 23;
+ next;
+ mes "[Wharehouse Manager Kay]";
+ mes "HOW the HECK am I gonna know that you delievered it then? This was an ABSOLUTE FAILURE!!";
+ mes "Your evaluation is not going to look good. I suggest you find some good excuses by the time you speak with Chief Mahnsoo.";
+ emotion 32;
+ set job_merchant_q3,5;
+ close;
+ L_WrongProd:
+ mes "You delivered the WRONG PRODUCT??? DO YOU know how much TIME you've WASTED???? UCK! This was a total failure!";
+ emotion 6;
+ next;
+ mes "[Wharehouse Manager Kay]";
+ mes "Your evaluation is not going to look good. I suggest you find some good excuses when you go to speak with Chief Mahnsoo.";
+ delitem 1083, 1;//Items: Delivery_Box__,
+ set job_merchant_q3,5;
+ close;
+ L_Failed:
+ mes "Go speak to the Chief about your failure........";
+ close;
+
+L_Back:
+ if((countitem(1081) != 1) && (countitem(1082) != 1) && (countitem(1083) != 1)) goto L_LostProd;//Items: Delivery_Box, Delivery_Box_, Delivery_Box__,
+ mes "Huh? Back so soon? Don't tell me you ran into problems already....";
+ emotion 20;
+ next;
+ menu "Please Exchange the Product.",M_Exch,"Nope, never mind.",M_Nvmnd;
+
+ M_Exch:
+ mes "[Wharehouse Manager Kay]";
+ mes "Sigh... this is not a good way to start your test you know. Make sure you get the RIGHT Product this time! ";
+ emotion 32;
+ if(countitem(1081) ==1) delitem 1081,1;//Items: Delivery_Box,
+ if(countitem(1082) ==1) delitem 1082,1;//Items: Delivery_Box_,
+ if(countitem(1083) ==1) delitem 1083,1;//Items: Delivery_Box__,
+ set job_merchant_q3,0;
+ next;
+ goto M_0;
+
+ M_Nvmnd:
+ close;
+
+ L_LostProd:
+ mes "Huh? Oh~ How was the Trip?";
+ next;
+ mes "[Wharehouse Manager Kay]";
+ mes "WHAT???";
+ emotion 1;
+ next;
+ mes "[Wharehouse Manager Kay]";
+ mes "Holy crap!! YOU LOST the product??!! What have you done, you moron!!!";
+ emotion 23;
+ next;
+ mes "[Wharehouse Manager Kay]";
+ mes "Your evaluation is not going to look good. I suggest you find some good excuses when you go to speak with Chief Mahnsoo.";
+ emotion 7;
+ set job_merchant_q3,5;
+ close;
+
+}
+
+
+
+// == Customers ==
+// -- Kafra(Byalan) --
+function script F_MercKafra {
+
+ if (job_merchant_q3 == 3) goto L_3;
+
+ mes "[Kafra]";
+ if(job_merchant_q3 ==2) goto L_WrongProd;
+ mes "A delivery from the Merchant Guild?? Oh, Right! Yes! I almost forgot.";
+ next;
+ mes "[Kafra]";
+ mes "Let's see, the serial number for the product should be.......";
+ next;
+ mes "[Kafra]";
+ if((countitem(1081) ==0) && (countitem(1082) ==0) && (countitem(1083) ==0)) goto L_NoProd;//Items: Delivery_Box, Delivery_Box_, Delivery_Box__,
+ if((job_merchant_q2 !=7) && (job_merchant_q2 !=8)) goto L_WrongDest;
+ if(countitem(1083) == 1) goto L_WrongProd;//Items: Delivery_Box__,
+
+ mes "Oh, here it is. Yes! This is the one we ordered. Thank you very much. Here is your receipt.";
+ next;
+
+ set job_merchant_q3, 3;
+ if(countitem(1081) == 1) goto L_0;//Items: Delivery_Box,
+ if(countitem(1082) == 1) goto L_1;//Items: Delivery_Box_,
+
+ L_0:
+ getitem 1079,1;//Items: Voucher______,
+ delitem 1081,1;//Items: Delivery_Box,
+ goto L_3;
+
+ L_1:
+ getitem 1080,1;//Items: Voucher_______,
+ delitem 1082,1;//Items: Delivery_Box_,
+ goto L_3;
+
+ L_3:
+ if(countitem(1072) == 1) goto L_Msg;//Items: Delivery_Message,
+ mes "[Kafra]";
+ mes "Thanks so much for comming all this way to deliver the product to me. Take care now. By bye.";
+ emotion 15;
+ cutin "kafra_03",255;
+ close;
+
+ L_Msg:
+ mes "[Kafra]";
+ mes "Oh,My good Lord! Mr. Mansoo wrote me a Letter? Thank you, Thank you~";
+ mes "I though he would send one, one of these days, but I've never expected it would be at a time like this.....";
+ emotion 1;
+ next;
+ mes "[Kafra]";
+ mes "I really appreciate what you've done for me. Here is a small gift to show you my thanks.";
+ emotion 15;
+ delitem 1072,1;//Items: Delivery_Message,
+ set @TEMP,rand(2);
+ if(@TEMP !=0) goto R1;
+
+ R0:
+
+ getitem 513,3;//Items: Banana,
+ cutin "kafra_03",255;
+ close;
+ R1:
+ getitem 512,3;//Items: Apple,
+ cutin "kafra_03",255;
+ close;
+
+L_NoProd:
+ mes ".... I thought we what we ordered was OVERSIZED and HEAVY.... but.... you seem to carry it on without any difficulty.........";
+ emotion 1;
+ cutin "kafra_03",255;
+ close;
+
+L_WrongProd:
+ mes "......? Excuse me! I think you gave me the wrong item. Our order should have the serial number 3318702 or 3543625...";
+ emotion 4;
+ set job_merchant_q3,2;
+ cutin "kafra_03",255;
+ close;
+
+L_WrongDest:
+ mes "......? Excuse me.... I think you have the wrong person.... our order should have the serial number 3318702 or 3543625...";
+ emotion 4;
+ cutin "kafra_03",255;
+ close;
+}
+
+// -- Kafra(Prontera) --
+prontera.gat,248,42,8 script Kafra 115,{
+ cutin "kafra_03",2;
+ if(BaseJob==Job_Novice && job_merchant_q3>0) goto L_Start;
+L_Other:
+ mes "[Kafra]";
+ mes "Hello. I am a Kafra Service Agent. As you can see, the ^3355FFSwordsman Association^000000 has moved to Izlude.";
+ mes "I can warp you there for a small fee of 600 zeny however.";
+ next;
+ menu "Warp.",M_Warp, "Cancel.",M_End;
+
+ M_Warp:
+ if(Zeny < 600) goto sL_NdZeny;
+ set Zeny, Zeny - 600;
+ set RESRVPTS, RESRVPTS + 37;
+ warp "izlude.gat",91,105;
+ cutin "kafra_03",255;
+ end;
+
+ sL_NdZeny:
+ mes "[Kafra]";
+ mes "I'm sorry but you do not have enough zeny.";
+ cutin "kafra_03",255;
+ close;
+
+ M_Pass:
+ if(countitem(1084)<1) goto sL_NdPass;//Items: Kafra_Pass,
+ mes "[Kafra]";
+ mes "You are now using a Kafra Pass.";
+ delitem 1084,1;//Items: Kafra_Pass,
+ cutin "kafra_03",255;
+ close;
+
+ sL_NdPass:
+ mes "[Kafra]";
+ mes "I'm sorry but you have no pass....";
+ cutin "kafra_03",255;
+ close;
+ M_End:
+ mes "[Kafra]";
+ mes "Thank you for using Kafra Corp. Services. We will be with you wherever you go.";
+ emotion 15;
+ cutin "kafra_03",255;
+ close;
+
+
+L_Start:
+ if(job_merchant_q3 ==3) goto L_3;
+ mes "[Kafra]";
+ if(job_merchant_q3 ==2) goto L_WrongProd;
+
+ mes "Oh, you're from the Merchant Guild and you have a delivery for me?";
+ mes "I really appreciate you comming all this way..........";
+ next;
+ mes "[Kafra]";
+
+ if((countitem(1081) ==0) && (countitem(1082) ==0) && (countitem(1083) ==0)) goto L_NoProd;//Items: Delivery_Box, Delivery_Box_, Delivery_Box__,
+ if((job_merchant_q2 !=1) && (job_merchant_q2 !=2)) goto L_WrongDest;
+ if(countitem(1083) == 1) goto L_WrongProd;//Items: Delivery_Box__,
+
+ mes "Yes! This is the Product we ordered. Thank you. Here, let me give you a Receipt.";
+ next;
+
+ set job_merchant_q3,3;
+ if(countitem(1081) == 1) goto L_0;//Items: Delivery_Box,
+ if(countitem(1082) == 1) goto L_1;//Items: Delivery_Box_,
+
+ L_0:
+ getitem 1073,1;//Items: Voucher,
+ delitem 1081,1;//Items: Delivery_Box,
+ goto L_3;
+
+ L_1:
+ getitem 1074,1;//Items: Voucher_,
+ delitem 1082,1;//Items: Delivery_Box_,
+ goto L_3;
+
+ L_3:
+ mes "[Kafra]";
+ mes "Thank you again for the delivery.";
+ emotion 15;
+ cutin "kafra_03",255;
+ close;
+
+L_NoProd:
+ mes "Umm......... excuse me... but where is the Product your supposed to give me....?";
+ emotion 20;
+ cutin "kafra_03",255;
+ close;
+
+L_WrongProd:
+ mes "Oh, Dear... this isn't what I ordered. It should have a serial number of either ^ff00002485741 or 2328137^000000.";
+ mes "It looks like there was a mix up at the wharehouse and you got the wrong product. I'd appreciate it if you could sort this out.";
+ emotion 4;
+ set job_merchant_q3,2;
+ cutin "kafra_03",255;
+ close;
+
+L_WrongDest:
+ mes "Oh, Dear... this isn't what I ordered. You see here, it's addressed to someone else. It looks like this Product is supposed to go to someone else.";
+ emotion 4;
+ cutin "kafra_03",255;
+ close;
+}
+
+
+// == Other Npcs ==
+// -- Guild Staff --
+geffen_in.gat,155,122,4 script Guild Staff 47,{
+
+ if(BaseJob==Job_Novice && job_merchant_q3>0) goto L_Start;
+L_Other:
+ mes "[Guild Staff]";
+ mes "It should be arriving any time now...... it seems to be late.... Hmm...";
+ close;
+
+L_Start:
+ if(job_merchant_q3 ==3) goto L_3;
+ mes "[Guild Staff]";
+ if(job_merchant_q3 ==2) goto L_WrongProd;
+
+ mes "Oh hi there. You're from the Merchant Guild you say? That means.........";
+ next;
+ mes "[Guild Staff]";
+ mes "WOW! IT'S HERE! It's here!! They FINALLY sent the Box!...... ";
+ next;
+ mes "[Guild Staff]";
+ mes "Oh excuse me, I'm so sorry. You must be very tired from having to travel in such hot weather. My thanks for your effort.";
+ next;
+ mes "[Guild Staff]";
+ mes "Alright, let me just ckeck the Serial Number to make sure.........";
+ next;
+ mes "[Guild Staff]";
+ if((countitem(1081) !=1) && (countitem(1082) !=1) && (countitem(1083) !=1)) goto L_NoProd;//Items: Delivery_Box, Delivery_Box_, Delivery_Box__,
+ if((job_merchant_q2 !=3) && (job_merchant_q2 !=4)) goto L_WrongDest;
+ if(countitem(1083) == 1) goto L_WrongProd;//Items: Delivery_Box__,
+
+ mes "YES! This is it! Here, let me give you a Receipt.";
+ next;
+ set job_merchant_q3,3;
+ if(countitem(1081) == 1) goto L_0;//Items: Delivery_Box,
+ if(countitem(1082) == 1) goto L_1;//Items: Delivery_Box_,
+
+ L_0:
+ getitem 1075,1;//Items: Voucher__,
+ delitem 1081,1;//Items: Delivery_Box,
+ goto L_3;
+
+ L_1:
+ getitem 1076,1;//Items: Voucher___,
+ delitem 1082,1;//Items: Delivery_Box_,
+ goto L_3;
+
+ L_3:
+ mes "[Guild Staff]";
+ mes "Heheh~ Thank you, Bye Bye.";
+ emotion 15;
+ close;
+L_NoProd:
+ mes "Huh? Where? Where is the Box?";
+ emotion 1;
+ close;
+
+L_WrongDest:
+ mes "Hey wait a Minute! This is not what we ordered! The Serial Number should either be 2989396 or 2191737.";
+ mes "It looks like this is addressed to someone else. I think you got the wrong delivery destination.";
+ emotion 19;
+ close;
+
+L_WrongProd:
+ mes "Hey wait a Minute! This is not what we ordered! The Serial Number should either be 2989396 or 2191737.";
+ mes "I don't know how you could make this mistake but please correct it. I really need that Product.";
+ emotion 19;
+ set job_merchant_q3,2;
+ close;
+}
+
+
+// -- Dyer's Student --
+morocc_in.gat,140,102,4 script Dyer's Student 86,{
+ if(BaseJob==Job_Novice && job_merchant_q3>0) goto L_Start;
+
+L_Other:
+ mes "[Dyer's Student]";
+ mes "Mr. JavaDullihan is one and Only the Best in Midgard continent.";
+ mes "Aaaand I am his Student!! How proude of I am!!!!";
+ next;
+ mes "[Dyer's Student]";
+ mes ".....That's what I am saying..";
+ close;
+
+L_Start:
+ if(job_merchant_q3 ==3) goto L_3;
+ mes "[Dyer's Student]";
+ if(job_merchant_q3 ==2) goto L_WrongProd;
+
+ mes "You're from the Merchant Guild...? Ah, Yes! I've been expecting you.";
+ next;
+ mes "[Dyer's Student]";
+ mes "Let me check the Serial Number of the Product just to make sure.......";
+ next;
+ mes "[Dyer's Student]";
+ if((countitem(1081) !=1) && (countitem(1082) !=1) && (countitem(1083) !=1)) goto L_NoProd;//Items: Delivery_Box, Delivery_Box_, Delivery_Box__,
+ if((job_merchant_q2 !=5) && (job_merchant_q2 !=6)) goto L_WrongDest;
+ if(countitem(1083) == 1) goto L_WrongProd;//Items: Delivery_Box__,
+
+ mes "Great! This is what we ordered. Here, let me give you a Receipt.";
+ set job_merchant_q3,3;
+ if(countitem(1081) == 1) goto L_0;//Items: Delivery_Box,
+ if(countitem(1082) == 1) goto L_1;//Items: Delivery_Box_,
+
+ L_0:
+ getitem 1077,1;//Items: Voucher____,
+ delitem 1081,1;//Items: Delivery_Box,
+ goto L_3;
+
+ L_1:
+ getitem 1078,1;//Items: Voucher_____,
+ delitem 1082,1;//Items: Delivery_Box_,
+ goto L_3;
+
+ L_3:
+ mes "[Dyer's Student]";
+ mes "Thank you, See you next time~";
+ emotion 15;
+ close;
+
+L_NoProd:
+ mes "But where's the Product?";
+ emotion 20;
+ close;
+
+L_WrongProd:
+ mes "Um..... excuse me? I don't think this is what we ordered? The Serial Number should be either 3012685 or 3487372.";
+ emotion 20;
+ next;
+ mes "[Dyer's Student]";
+ mes "I see. There was a mix up at the wharehouse and you got the wrong product.";
+ next;
+ mes "[Dyer's Student]";
+ mes "Well this sucks. Please come back with the correct Product.";
+ emotion 32;
+ set job_merchant_q3,2;
+ close;
+
+L_WrongDest:
+ mes "Um.... excuse me? I don't think this is what we ordered? The Serial Number should be either 3012685 or 3487372.";
+ mes "I think you have the wrong delivery destination. Maybe you should try someone else.";
+ emotion 20;
+ close;
+
+
+}
diff --git a/npc/jobs/1-1/swordman.txt b/npc/jobs/1-1/swordman.txt
new file mode 100644
index 000000000..bba2e838c
--- /dev/null
+++ b/npc/jobs/1-1/swordman.txt
@@ -0,0 +1,779 @@
+//===== eAthena Script =======================================
+//= Swordsman Job Quest
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.6
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= <Description>
+//===== Additional Comments: =================================
+//= Fully working. I have created a custom warp to get into the test room so disable
+//= the one in your warp script or scripts. It is this warp: "izlude_in.gat",40,170.
+//= v1.1 Added instant job change for High Novice [Lupus]
+//= 1.3 Added Baby Class support [Lupus]
+//= 1.4 Changed the timing system to initnpctimer, now you do get warnings about time
+//= and are limited to 7min to complete the quest [Fredzilla]
+//= v1.5 Optimised and moved first checker to Jfunc1-1 [massdriller]
+//= 1.6 Fixed possible EXP abuse [Lupus]
+//============================================================
+
+
+// == Monsters ==
+//Spawn is included in this file so make shure its not elsewhere to!
+sword_1-1.gat,35,78,0,0 monster Fabre 1184,4,0,0,0
+sword_1-1.gat,50,108,0,0 monster Fabre 1184,2,0,0,0
+sword_1-1.gat,61,28,0,0 monster Fabre 1184,4,0,0,0
+sword_1-1.gat,61,92,0,0 monster Fabre 1184,2,0,0,0
+//
+sword_1-1.gat,110,112,0,0 monster Fabre 1184,3,0,0,0
+sword_1-1.gat,161,94,0,0 monster Fabre 1184,2,0,0,0
+sword_1-1.gat,130,76,0,0 monster Fabre 1184,2,0,0,0
+sword_1-1.gat,103,58,0,0 monster Fabre 1184,2,0,0,0
+sword_1-1.gat,130,24,0,0 monster Fabre 1184,3,0,0,0
+//
+sword_1-1.gat,201,36,0,0 monster Fabre 1184,2,0,0,0
+sword_1-1.gat,201,16,0,0 monster Fabre 1184,2,0,0,0
+sword_1-1.gat,239,44,0,0 monster Fabre 1184,2,0,0,0
+sword_1-1.gat,239,76,0,0 monster Fabre 1184,2,0,0,0
+sword_1-1.gat,231,101,0,0 monster Fabre 1184,2,0,0,0
+sword_1-1.gat,234,117,0,0 monster Fabre 1184,2,0,0,0
+sword_1-1.gat,198,91,0,0 monster Fabre 1184,2,0,0,0
+sword_1-1.gat,200,63,0,0 monster Fabre 1184,2,0,0,0
+
+
+// == Warp ==
+// -- Warp to test room --
+izlude_in.gat,62,170,0 script w1039 45,1,1,{
+ if(BaseJob==Job_Novice && job_sword_q > 0) warp "izlude_in.gat",40,170;
+ if(job_sword_q == 0) doevent "Swordsman::OnStart";
+ end;
+}
+
+
+// == Npcs ==
+// -- Master Swordsman --
+izlude_in.gat,74,172,5 script Master Swordsman 119,{
+ callfunc "F_ToHigh",25,"Swordman High",31,"Lord Knight",144,145,146,0,"Master Swordsman";
+ mes "[Master Swordsman]";
+ if(BaseJob==Job_Novice && job_sword_q == 2) goto L_Done;
+ mes "Welcome to the Swordsman Association! So.. What business brings you to us?";
+L_Menu:
+ next;
+ menu "Make me a Swordsman!",M_0,"About being a Swordsman.",M_1,"The job requirements.",M_2,"Cancel.",M_End;
+ close;
+
+ M_0:
+ mes "[Master Swordsman]";
+ callfunc "Swo_check";
+
+ O_1a:
+ set job_sword_q,1;
+ savepoint "izlude_in.gat",65,165;
+ mes "Okay. Let me just review your information......";
+ next;
+ mes "[Master Swordsman]";
+ mes "Ah!! I see that you have met the necessary requirements.....";
+ next;
+ mes "[Master Swordsman]";
+ mes "But there is one last thing you need to do to before I can make you an offical Swordsman.";
+ mes "You must prove your valour by taking the Izlude Swordsman Test!!!";
+ next;
+ mes "[Master Swordsman]";
+ mes "Are you willing to do so?";
+ next;
+ menu "Yes.",sM_0,"No.",sM_1;
+
+ sM_0:
+ mes "[Master Swordsman]";
+ mes "Very good!!! The testing room is too my right.";
+ next;
+ mes "[Master Swordsman]";
+ mes "Good luck young warrior!!!";
+ close;
+
+ sM_1:
+ mes "[Master Swordsman]";
+ mes "Very well then. Your registration is complete. When you are ready to take the test, just enter the testing room to my right.";
+ close;
+
+ M_1:
+ mes "[Master Swordsman]";
+ mes "So you wish to know about the Swordsman profession... very good then! I will explain it to you.";
+ next;
+ mes "[Master Swordsman]";
+ mes "The primary advantage of being a Swordsman is that you will become superior in pure strength and mele combat compared with those in the other professions.";
+ next;
+ mes "[Master Swordsman]";
+ mes "There are 3 reasons why the swordsman is unparalled in hand to hand combat v.s. those of the other job types!";
+ next;
+ mes "[Master Swordsman]";
+ mes " - 1st, the swordsman has a skill that gives him/her an excellent hp regeration rate.";
+ mes " - 2nd, the swordsman is capable of using more kinds of weapons than those in the other job types.";
+ mes " - 3rd, Most of the swordsman's skills enhance and increase physical attacks making him/her an elite warrior.";
+ next;
+ mes "[Master Swordsman]";
+ mes "A Simple but adequte explanation for a newbie like you.";
+ next;
+ mes "[Master Swordsman]";
+ mes "Aside from this, in my personal opinion, being a 'Swordsman' is greatest job in all the land!";
+ mes "Muhahahah!!!";
+ emotion 18;
+ goto L_Menu;
+
+ M_2:
+ mes "[Master Swordsman]";
+ mes "So you wish to become a swordsman....";
+ next;
+ if(BaseJob == Job_Novice) goto O_2a;
+ if(BaseJob == Job_Swordman) goto O_2b;
+ mes "[Master Swordsman]";
+ mes "But you already have another job.... it's too late for you to become a Swordsman.";
+ next;
+ mes "[Master Swordsman]";
+ mes "Still you seek knowledge about the Swordsman proffession ay?... very well then....";
+ next;
+
+ O_2a:
+ mes "[Master Swordsman]";
+ mes "First, You must learn all 9 Basic Skills. If you can't satisfy this condition, you won't be able to become anything.";
+ next;
+ mes "[Master Swordsman]";
+ mes "Secondly you must pass the legendary Izlude Swordsman Test.";
+ next;
+ mes "[Master Swordsman]";
+ mes "When you fullfill these 2 conditions, you can become an offical Swordsman.";
+ goto L_Menu;
+
+ O_2b:
+ mes "[Master Swordsman]";
+ mes "....but you're already a Swordsman...????";
+ emotion 20;
+ close;
+
+ M_End:
+ mes "[Master Swordsman]";
+ mes "Enjoy your youth before you lose it~~ Muhahahaha!!!!";
+ emotion 18;
+ close;
+
+L_Done:
+ mes "Let me see here....so you've past the test aye??....";
+ next;
+ if(SkillPoint > 0) goto L_Skillpt;
+ mes "[Master Swordsman]";
+ mes "Congratulations! Now you are now fully qualified to become a Real Swordsman! I will transform you right away!!";
+ next;
+ callfunc "Job_Change",Job_Swordman;
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+ mes "[Master Swordsman]";
+ mes "As you set forth on your journey I will expect you to represent the Swordsman Assosiation of Izlude with great honor and integrity.";
+ next;
+ mes "[Master Swordsman]";
+ mes "Muhahahaha!!!";
+ close;
+
+ L_Skillpt:
+ mes "[Master Swordsman]";
+ mes "Hmm... just a momement... it seems you still have skill points left over.";
+ mes "Please use them up so that I can make you a Swordsman.";
+ close;
+}
+
+// -- Swordsman --
+izlude_in.gat,65,171,5 script Swordsman 85,{
+ doevent "Swordsman";
+ end;
+}
+
+// -- Hidden Npc --
+izlude_in.gat,65,171,5 script Swordsman -1,{
+
+OnStart:
+ mes "[Swordsman]";
+ if(BaseJob == 1) goto L_Sword;
+ if(BaseJob == 0) goto L_Novice;
+
+L_Other:
+ mes "Who might you be?! Those who are not Novices are not permitted to go in! Please leave.";
+ emotion 1;
+ close;
+L_Sword:
+ mes "You're already a Swordsman!! You don't need to take this silly test!";
+ emotion 0;
+ close;
+
+L_Novice:
+ if(job_sword_q == 1) goto L_Start;
+ if(job_sword_q == 2) goto L_Done;
+
+ mes "Halt! Do you want to take the Swordsman Test?";
+ mes "If so, please fill out the swordsman application first.";
+ mes "Speak with the 'Master Swordsman' for more information.";
+ emotion 0;
+ close;
+
+ L_Start:
+ mes "Please enter the testing room when you are ready. Good luck!";
+ close;
+
+ L_Done:
+ mes "Speak with the Master Swordsman so that he can make you a Swordsman.";
+ close;
+}
+
+// -- Test Guide --
+izlude_in.gat,30,175,4 script Test Guide 92,{
+ mes "[Test Guide]";
+ mes "I will tell you about the legendary Izlude Swordsman Test! Listen VERY CAREFULLY for I won't repeat this again!";
+ next;
+ mes "[Test Guide]";
+ mes "The purpose of this test is to decide wheather or not you qualify to become a Swordsman.";
+ mes "As you know, a Swordsman needs superior physical Strength as well as an iron will!";
+ mes "If you possess neither of these attributes you will surely fail this grueling test.";
+ next;
+ mes "[Test Guide]";
+ mes "The objective of the test is very simple!";
+ next;
+ mes "[Test Guide]";
+ mes "You need to make through an obsticale course within ^FF00007 minutes^000000 in order to pass.";
+ next;
+ mes "[Test Guide]";
+ mes "The obsticale course is made up of 3 parts and is littered with booby-traps so be carefull!";
+ mes "Some traps will reduce your HP while others will warp you to an random underground cave causing you to start over.";
+ next;
+ mes "[Test Guide]";
+ mes "If you `Surrender' or if you excede the 'time limit', you will be fail the test.";
+ next;
+ mes "[Test Guide]";
+ mes "That is everything you need to know in order to take the test.";
+ mes "May God bless you.";
+ close;
+}
+
+
+// -- Test Hall Staff 1 --
+izlude_in.gat,30,163,8 script Test Hall Staff 105,{
+ mes "[Test Hall Staff]";
+ if(SWTEST == 1) goto L_Option2;
+ if(SWTEST >= 2) goto L_Option3;
+ set SWTEST, 0;
+
+ mes " So you want to take the test huh? You look confident.. that's good. Stay relaxed and do your best. This is not a difficult test.";
+ next;
+ mes "[Test Hall Staff]";
+ mes "Are you ready?";
+ next;
+ menu "Let me at it!!",M_yes,"Ah..maybe later..",M_no;
+ close;
+
+ M_yes:
+ set SWTEST, SWTEST + 1;
+ savepoint "izlude_in.gat",39,170;
+ stopnpctimer;
+ initnpctimer "TimerSwrdmn";
+ warp "sword_1-1.gat",10,245;
+ end;
+
+ M_no:
+ mes "[Test Hall Staff]";
+ mes "Check back with me when you are ready.";
+ close;
+
+L_Option2:
+ mes "Taking the test over?.... Keep your head up. I like those who never back down from a challange! Now take this and cheer up!";
+ getitem 512,3;//Items: Apple,
+ next;
+ goto M_yes;
+ end;
+L_Option3:
+ mes "Don't give up! I know you will pass this time!";
+ mes "(you catch him whispering '...loooooseerrr...')";
+ getitem 512,5;//Items: Apple,
+ next;
+ goto M_yes;
+ end;
+}
+sword_1-1.gat,1,1,0 script TimerSwrdmn -1,{
+ OnTimer4000:
+ areaannounce "sword_1-1.gat", 0, 0, 400, 400, "[Test Hall Staff]: Your 7 minutes starts now!",0;
+ end;
+ OnTimer184000:
+ areaannounce "sword_1-1.gat", 0, 0, 400, 400, "[Test Hall Staff]: You have 4 minutes left!",0;
+ end;
+ OnTimer304000:
+ areaannounce "sword_1-1.gat", 0, 0, 400, 400, "[Test Hall Staff]: You have 2 minutes left!",0;
+ end;
+ OnTimer364000:
+ areaannounce "sword_1-1.gat", 0, 0, 400, 400, "[Test Hall Staff]: You have 1 minutes left!",0;
+ end;
+ OnTimer394000:
+ areaannounce "sword_1-1.gat", 0, 0, 400, 400, "[Test Hall Staff]: You have 30 seconds left, hurry!",0;
+ end;
+ OnTimer424000:
+ areaannounce "sword_1-1.gat", 0, 0, 400, 400, "[Test Hall Staff]: Your times up! You failed the test.",0;
+ end;
+ OnTimer428000:
+ stopnpctimer "TimerSwrdmn";
+ warp "izlude_in.gat",39,170;
+ end;
+}
+
+
+// -- Medic 1 --
+sword_1-1.gat,230,245,2 script Medic 105,{
+ mes "[Medic]";
+ mes "This is the 1st check point! You're doing great!";
+ percentheal 100, 100;
+ close;
+}
+
+// -- Test Hall Staff 2 --
+sword_1-1.gat,230,242,2 script Test Hall Staff 105,{
+ mes "[Test Hall Staff]";
+ mes "Do you surrender?";
+ next;
+ menu "Yes.",M_0,"No.",M_1;
+
+ M_0:
+ warp "izlude_in.gat",65,165;
+ close;
+ M_1:
+ mes "[Test Hall Staff]";
+ mes "Bravo! Go for it again!";
+ close;
+}
+
+// -- Medic 2 --
+sword_1-1.gat,230,207,2 script Medic 105,{
+ mes "[Medic]";
+ mes "This is the 2nd check point! Keep up the good work!";
+ percentheal 100, 100;
+ close;
+}
+
+// -- Test Hall Staff 3 --
+sword_1-1.gat,230,204,2 script Test Hall Staff 105,{
+ mes "[Test Hall Staff]";
+ mes "Do you surrender?";
+ next;
+ menu "Yes.",M_0,"No.",M_1;
+
+ M_0:
+ warp "izlude_in.gat",65,165;
+ close;
+ M_1:
+ mes "[Test Hall Staff]";
+ mes "Bravo! Go for it again!";
+ close;
+}
+
+// -- Mae (Medic 3) --
+sword_1-1.gat,223,167,2 script Mae 92,{
+ mes "[Mae]";
+ mes "I sincerely congratulate you for passing the test!";
+ mes "I've already sent your test results to the 'Master Swordsman'.";
+ mes "Please inquire with him about your results. Thank you.";
+ next;
+ stopnpctimer "TimerSwrdmn";
+ percentheal 100, 100;
+ set job_sword_q,2;
+ set SWTEST,0;
+ warp "izlude_in.gat",66,173;
+ close;
+}
+
+
+
+
+// == Green Traps ==
+// reduce hp when stepped on
+
+// -- First Section --
+// - Left -
+sword_1-1.gat,22,172,1 script 1green_1::green 139,0,0,{
+ heal (-4),0;
+ end;
+}
+
+// -- Duplicates --
+sword_1-1.gat,22,173,1 duplicate(green) 1green_2 139,0,0
+sword_1-1.gat,23,172,1 duplicate(green) 1green_3 139,0,0
+sword_1-1.gat,23,173,1 duplicate(green) 1green_4 139,0,0
+sword_1-1.gat,34,172,1 duplicate(green) 1green_5 139,0,0
+sword_1-1.gat,34,173,1 duplicate(green) 1green_6 139,0,0
+sword_1-1.gat,35,172,1 duplicate(green) 1green_7 139,0,0
+sword_1-1.gat,35,173,1 duplicate(green) 1green_8 139,0,0
+sword_1-1.gat,66,170,1 duplicate(green) 1green_9 139,0,0
+sword_1-1.gat,66,171,1 duplicate(green) 1green_10 139,0,0
+sword_1-1.gat,67,170,1 duplicate(green) 1green_11 139,0,0
+sword_1-1.gat,67,171,1 duplicate(green) 1green_12 139,0,0
+sword_1-1.gat,70,170,1 duplicate(green) 1green_13 139,0,0
+sword_1-1.gat,70,171,1 duplicate(green) 1green_14 139,0,0
+sword_1-1.gat,71,170,1 duplicate(green) 1green_15 139,0,0
+sword_1-1.gat,71,171,1 duplicate(green) 1green_16 139,0,0
+
+// - Right -
+sword_1-1.gat,22,164,1 duplicate(green) 1green_17 139,0,0
+sword_1-1.gat,22,165,1 duplicate(green) 1green_18 139,0,0
+sword_1-1.gat,23,164,1 duplicate(green) 1green_19 139,0,0
+sword_1-1.gat,23,165,1 duplicate(green) 1green_20 139,0,0
+sword_1-1.gat,34,164,1 duplicate(green) 1green_21 139,0,0
+sword_1-1.gat,34,165,1 duplicate(green) 1green_22 139,0,0
+sword_1-1.gat,35,164,1 duplicate(green) 1green_23 139,0,0
+sword_1-1.gat,35,165,1 duplicate(green) 1green_24 139,0,0
+sword_1-1.gat,66,166,1 duplicate(green) 1green_25 139,0,0
+sword_1-1.gat,66,167,1 duplicate(green) 1green_26 139,0,0
+sword_1-1.gat,67,166,1 duplicate(green) 1green_27 139,0,0
+sword_1-1.gat,67,167,1 duplicate(green) 1green_28 139,0,0
+sword_1-1.gat,70,166,1 duplicate(green) 1green_29 139,0,0
+sword_1-1.gat,70,167,1 duplicate(green) 1green_30 139,0,0
+sword_1-1.gat,71,166,1 duplicate(green) 1green_31 139,0,0
+sword_1-1.gat,71,167,1 duplicate(green) 1green_32 139,0,0
+// - Center -
+sword_1-1.gat,86,168,1 duplicate(green) 1green_33 139,0,0
+sword_1-1.gat,86,169,1 duplicate(green) 1green_34 139,0,0
+sword_1-1.gat,87,168,1 duplicate(green) 1green_35 139,0,0
+sword_1-1.gat,87,169,1 duplicate(green) 1green_36 139,0,0
+
+// -- Second Section --
+// - Left -
+sword_1-1.gat,83,171,1 duplicate(green) 2green_1 139,0,1
+sword_1-1.gat,82,171,1 duplicate(green) 2green_2 139,0,1
+sword_1-1.gat,90,171,1 duplicate(green) 2green_3 139,0,1
+sword_1-1.gat,91,171,1 duplicate(green) 2green_4 139,0,1
+sword_1-1.gat,84,173,1 duplicate(green) 2green_5 139,1,0
+sword_1-1.gat,90,173,1 duplicate(green) 2green_6 139,1,0
+sword_1-1.gat,83,166,1 duplicate(green) 2green_7 139,0,1
+sword_1-1.gat,82,166,1 duplicate(green) 2green_8 139,0,1
+sword_1-1.gat,90,166,1 duplicate(green) 2green_9 139,0,1
+sword_1-1.gat,91,166,1 duplicate(green) 2green_10 139,0,1
+sword_1-1.gat,84,164,1 duplicate(green) 2green_11 139,1,0
+sword_1-1.gat,90,164,1 duplicate(green) 2green_12 139,1,0
+sword_1-1.gat,102,168,1 duplicate(green) 2green_13 139,0,0
+sword_1-1.gat,102,169,1 duplicate(green) 2green_14 139,0,0
+// - Right -
+sword_1-1.gat,102,172,1 duplicate(green) 2green_15 139,0,0
+sword_1-1.gat,102,173,1 duplicate(green) 2green_16 139,0,0
+sword_1-1.gat,103,172,1 duplicate(green) 2green_17 139,0,0
+sword_1-1.gat,103,173,1 duplicate(green) 2green_18 139,0,0
+sword_1-1.gat,106,172,1 duplicate(green) 2green_19 139,0,0
+sword_1-1.gat,106,173,1 duplicate(green) 2green_20 139,0,0
+sword_1-1.gat,107,172,1 duplicate(green) 2green_21 139,0,0
+sword_1-1.gat,107,173,1 duplicate(green) 2green_22 139,0,0
+sword_1-1.gat,110,172,1 duplicate(green) 2green_23 139,0,0
+sword_1-1.gat,110,173,1 duplicate(green) 2green_24 139,0,0
+sword_1-1.gat,111,172,1 duplicate(green) 2green_25 139,0,0
+sword_1-1.gat,111,173,1 duplicate(green) 2green_26 139,0,0
+// - Center -
+sword_1-1.gat,102,164,1 duplicate(green) 2green_27 139,0,0
+sword_1-1.gat,102,165,1 duplicate(green) 2green_28 139,0,0
+sword_1-1.gat,103,164,1 duplicate(green) 2green_29 139,0,0
+sword_1-1.gat,103,165,1 duplicate(green) 2green_30 139,0,0
+sword_1-1.gat,106,164,1 duplicate(green) 2green_31 139,0,0
+sword_1-1.gat,106,165,1 duplicate(green) 2green_32 139,0,0
+sword_1-1.gat,107,164,1 duplicate(green) 2green_33 139,0,0
+sword_1-1.gat,107,165,1 duplicate(green) 2green_34 139,0,0
+sword_1-1.gat,110,164,1 duplicate(green) 2green_35 139,0,0
+sword_1-1.gat,110,165,1 duplicate(green) 2green_36 139,0,0
+sword_1-1.gat,111,164,1 duplicate(green) 2green_37 139,0,0
+sword_1-1.gat,111,165,1 duplicate(green) 2green_38 139,0,0
+
+
+// -- Third Section --
+sword_1-1.gat,121,172,1 duplicate(green) 3green_1 139,2,0
+sword_1-1.gat,121,173,1 duplicate(green) 3green_2 139,2,0
+sword_1-1.gat,121,164,1 duplicate(green) 3green_3 139,2,0
+sword_1-1.gat,121,165,1 duplicate(green) 3green_4 139,2,0
+sword_1-1.gat,121,168,1 duplicate(green) 3green_5 139,2,0
+sword_1-1.gat,121,169,1 duplicate(green) 3green_6 139,2,0
+
+// -- Fourth Section --
+sword_1-1.gat,130,169,1 duplicate(green) 4green_1 139,0,4
+sword_1-1.gat,131,169,1 duplicate(green) 4green_2 139,0,4
+sword_1-1.gat,135,164,1 duplicate(green) 4green_3 139,5,0
+sword_1-1.gat,136,165,1 duplicate(green) 4green_4 139,4,0
+sword_1-1.gat,140,169,1 duplicate(green) 4green_5 139,0,3
+sword_1-1.gat,141,168,1 duplicate(green) 4green_6 139,0,4
+sword_1-1.gat,137,172,1 duplicate(green) 4green_7 139,2,0
+sword_1-1.gat,138,173,1 duplicate(green) 4green_8 139,3,0
+sword_1-1.gat,134,171,1 duplicate(green) 4green_9 139,0,2
+sword_1-1.gat,135,168,1 duplicate(green) 4green_10 139,0,1
+sword_1-1.gat,135,170,1 duplicate(green) 4green_11 139,1,0
+
+// -- Fifth Section --
+sword_1-1.gat,144,169,1 duplicate(green) 5green_1 139,0,4
+sword_1-1.gat,145,169,1 duplicate(green) 5green_2 139,0,4
+sword_1-1.gat,148,164,1 duplicate(green) 5green_3 139,4,0
+sword_1-1.gat,149,165,1 duplicate(green) 5green_4 139,3,0
+sword_1-1.gat,156,166,1 duplicate(green) 5green_5 139,0,2
+sword_1-1.gat,157,166,1 duplicate(green) 5green_6 139,0,2
+sword_1-1.gat,153,169,1 duplicate(green) 5green_7 139,4,0
+sword_1-1.gat,152,168,1 duplicate(green) 5green_8 139,3,0
+sword_1-1.gat,149,171,1 duplicate(green) 5green_9 139,0,1
+sword_1-1.gat,148,171,1 duplicate(green) 5green_10 139,0,2
+sword_1-1.gat,154,173,1 duplicate(green) 5green_11 139,2,0
+sword_1-1.gat,154,172,1 duplicate(green) 5green_12 139,2,0
+
+// -- Last Section --
+sword_1-1.gat,164,172,1 duplicate(green) 6green_1 139,0,0
+sword_1-1.gat,164,173,1 duplicate(green) 6green_2 139,0,0
+sword_1-1.gat,165,172,1 duplicate(green) 6green_3 139,0,0
+sword_1-1.gat,165,173,1 duplicate(green) 6green_4 139,0,0
+sword_1-1.gat,172,172,1 duplicate(green) 6green_5 139,0,0
+sword_1-1.gat,172,173,1 duplicate(green) 6green_6 139,0,0
+sword_1-1.gat,173,172,1 duplicate(green) 6green_7 139,0,0
+sword_1-1.gat,173,173,1 duplicate(green) 6green_8 139,0,0
+
+sword_1-1.gat,164,168,1 duplicate(green) 6green_9 139,0,0
+sword_1-1.gat,164,169,1 duplicate(green) 6green_10 139,0,0
+sword_1-1.gat,165,168,1 duplicate(green) 6green_11 139,0,0
+sword_1-1.gat,165,169,1 duplicate(green) 6green_12 139,0,0
+sword_1-1.gat,172,168,1 duplicate(green) 6green_13 139,0,0
+sword_1-1.gat,172,169,1 duplicate(green) 6green_14 139,0,0
+sword_1-1.gat,173,168,1 duplicate(green) 6green_15 139,0,0
+sword_1-1.gat,173,169,1 duplicate(green) 6green_16 139,0,0
+
+sword_1-1.gat,164,164,1 duplicate(green) 6green_17 139,0,0
+sword_1-1.gat,164,165,1 duplicate(green) 6green_18 139,0,0
+sword_1-1.gat,165,164,1 duplicate(green) 6green_19 139,0,0
+sword_1-1.gat,165,165,1 duplicate(green) 6green_20 139,0,0
+sword_1-1.gat,172,164,1 duplicate(green) 6green_21 139,0,0
+sword_1-1.gat,172,165,1 duplicate(green) 6green_22 139,0,0
+sword_1-1.gat,173,164,1 duplicate(green) 6green_23 139,0,0
+sword_1-1.gat,173,165,1 duplicate(green) 6green_24 139,0,0
+
+
+
+// == Fall Warps ==
+
+sword_1-1.gat,16,251,4 script 1_blank_1a#1::1_blank 139,0,1,{
+ set @TEMP,rand(5);
+ if (@TEMP==0) warp "sword_1-1.gat",65,56;
+ if (@TEMP==1) warp "sword_1-1.gat",29,26;
+ if (@TEMP==2) warp "sword_1-1.gat",43,16;
+ if (@TEMP==3) warp "sword_1-1.gat",23,112;
+ if (@TEMP==4) warp "sword_1-1.gat",58,83;
+ end;
+}
+
+// -- Duplicates --
+sword_1-1.gat,19,251,4 duplicate(1_blank) 1_blank_1b 139,0,1
+sword_1-1.gat,17,250,4 duplicate(1_blank) 1_blank_1c 139,1,0
+sword_1-1.gat,17,251,4 duplicate(1_blank) 1_blank_1a 139,1,1
+sword_1-1.gat,18,251,4 duplicate(1_blank) 1_blank_1b 139,1,1
+sword_1-1.gat,17,251,4 duplicate(1_blank) 1_blank_1c 139,1,1
+sword_1-1.gat,16,238,4 duplicate(1_blank) 1_blank_2a 139,0,1
+sword_1-1.gat,19,238,4 duplicate(1_blank) 1_blank_2b 139,0,1
+sword_1-1.gat,17,239,4 duplicate(1_blank) 1_blank_2c 139,0,1
+sword_1-1.gat,28,246,4 duplicate(1_blank) 1_blank_3a 139,4,1
+sword_1-1.gat,33,245,4 duplicate(1_blank) 1_blank_3b 139,0,2
+sword_1-1.gat,29,242,4 duplicate(1_blank) 1_blank_3c 139,4,0
+sword_1-1.gat,24,244,4 duplicate(1_blank) 1_blank_3d 139,0,2
+sword_1-1.gat,38,251,4 duplicate(1_blank) 1_blank_4a 139,0,1
+sword_1-1.gat,41,251,4 duplicate(1_blank) 1_blank_4b 139,0,1
+sword_1-1.gat,39,250,4 duplicate(1_blank) 1_blank_4c 139,1,0
+sword_1-1.gat,38,238,4 duplicate(1_blank) 1_blank_5a 139,0,1
+sword_1-1.gat,41,238,4 duplicate(1_blank) 1_blank_5_b 139,0,1
+sword_1-1.gat,39,239,4 duplicate(1_blank) 1_blank_5_c 139,1,0
+sword_1-1.gat,54,251,4 duplicate(1_blank) 1_blank_6_a 139,0,1
+sword_1-1.gat,71,251,4 duplicate(1_blank) 1_blank_6_b 139,0,1
+sword_1-1.gat,62,250,4 duplicate(1_blank) 1_blank_6_c 139,9,0
+sword_1-1.gat,62,247,4 duplicate(1_blank) 1_blank_7_a 139,8,0
+sword_1-1.gat,71,244,4 duplicate(1_blank) 1_blank_7_b 139,0,2
+sword_1-1.gat,63,242,4 duplicate(1_blank) 1_blank_7_c 139,8,0
+sword_1-1.gat,54,244,4 duplicate(1_blank) 1_blank_7_d 139,0,2
+sword_1-1.gat,54,238,4 duplicate(1_blank) 1_blank_8_a 139,0,1
+sword_1-1.gat,71,238,4 duplicate(1_blank) 1_blank_8_b 139,0,1
+sword_1-1.gat,62,239,4 duplicate(1_blank) 1_blank_8_c 139,9,0
+sword_1-1.gat,102,247,4 duplicate(1_blank) 1_blank_9_a 139,2,0
+sword_1-1.gat,105,245,4 duplicate(1_blank) 1_blank_9_b 139,0,2
+sword_1-1.gat,103,242,4 duplicate(1_blank) 1_blank_9_c 139,2,0
+sword_1-1.gat,100,244,4 duplicate(1_blank) 1_blank_9_d 139,0,2
+sword_1-1.gat,156,249,4 duplicate(1_blank) 1_blank_10_a 139,14,0
+sword_1-1.gat,156,248,4 duplicate(1_blank) 1_blank_10_b 139,14,0
+sword_1-1.gat,170,249,4 duplicate(1_blank) 1_blank_10_c 139,1,0
+sword_1-1.gat,170,248,4 duplicate(1_blank) 1_blank_10_d 139,1,0
+sword_1-1.gat,156,245,4 duplicate(1_blank) 1_blank_11_a 139,14,0
+sword_1-1.gat,156,244,4 duplicate(1_blank) 1_blank_11_b 139,14,0
+sword_1-1.gat,170,245,4 duplicate(1_blank) 1_blank_11_c 139,1,0
+sword_1-1.gat,170,244,4 duplicate(1_blank) 1_blank_11_d 139,1,0
+sword_1-1.gat,156,241,4 duplicate(1_blank) 1_blank_12_a 139,14,0
+sword_1-1.gat,156,240,4 duplicate(1_blank) 1_blank_12_b 139,14,0
+sword_1-1.gat,170,241,4 duplicate(1_blank) 1_blank_12_c 139,1,0
+sword_1-1.gat,170,240,4 duplicate(1_blank) 1_blank_12_d 139,1,0
+sword_1-1.gat,180,251,4 duplicate(1_blank) 1_blank_13_a 139,0,1
+sword_1-1.gat,183,251,4 duplicate(1_blank) 1_blank_13_b 139,0,1
+sword_1-1.gat,181,250,4 duplicate(1_blank) 1_blank_13_c 139,1,0
+sword_1-1.gat,180,238,4 duplicate(1_blank) 1_blank_14_a 139,0,1
+sword_1-1.gat,183,238,4 duplicate(1_blank) 1_blank_14_b 139,0,1
+sword_1-1.gat,181,239,4 duplicate(1_blank) 1_blank_14_c 139,1,0
+
+
+sword_1-1.gat,56,212,4 script 2_blank_1_a::2_blank 139,40,0,{
+ set @TEMP,rand(5);
+ if (@TEMP==0) warp "sword_1-1.gat",162,120;
+ if (@TEMP==1) warp "sword_1-1.gat",94,120;
+ if (@TEMP==2) warp "sword_1-1.gat",94,85;
+ if (@TEMP==3) warp "sword_1-1.gat",162,85;
+ if (@TEMP==4) warp "sword_1-1.gat",130,47;
+ end;
+}
+
+// -- Duplicates --
+sword_1-1.gat,95,212,4 duplicate(2_blank) 2_blank_1_b 139,2,0
+sword_1-1.gat,56,210,4 duplicate(2_blank) 2_blank_2_a 139,40,0
+sword_1-1.gat,95,210,4 duplicate(2_blank) 2_blank_2_b 139,2,0
+sword_1-1.gat,16,206,4 duplicate(2_blank) 2_blank_2_c 139,0,3
+sword_1-1.gat,97,206,4 duplicate(2_blank) 2_blank_2_d 139,0,3
+sword_1-1.gat,56,203,4 duplicate(2_blank) 2_blank_2_e 139,40,0
+sword_1-1.gat,95,203,4 duplicate(2_blank) 2_blank_2_f 139,2,0
+sword_1-1.gat,56,201,4 duplicate(2_blank) 2_blank_3_a 139,40,0
+sword_1-1.gat,95,201,4 duplicate(2_blank) 2_blank_3_b 139,2,0
+
+// - part 2 -
+sword_1-1.gat,113,212,4 duplicate(2_blank) 2_blank_4_a 139,14,0
+sword_1-1.gat,125,212,4 duplicate(2_blank) 2_blank_4_b 139,2,0
+sword_1-1.gat,113,210,4 duplicate(2_blank) 2_blank_5_a 139,14,0
+sword_1-1.gat,125,210,4 duplicate(2_blank) 2_blank_5_b 139,2,0
+sword_1-1.gat,100,206,4 duplicate(2_blank) 2_blank_5_c 139,0,3
+sword_1-1.gat,127,206,4 duplicate(2_blank) 2_blank_5_d 139,0,3
+sword_1-1.gat,113,203,4 duplicate(2_blank) 2_blank_5_e 139,14,0
+sword_1-1.gat,125,210,4 duplicate(2_blank) 2_blank_5_f 139,2,0
+sword_1-1.gat,113,201,4 duplicate(2_blank) 2_blank_6_a 139,14,0
+sword_1-1.gat,113,201,4 duplicate(2_blank) 2_blank_6_b 139,2,0
+
+// - part 3 -
+sword_1-1.gat,155,212,4 duplicate(2_blank) 2_blank_7_a 139,21,0
+sword_1-1.gat,181,212,4 duplicate(2_blank) 2_blank_7_b 139,2,0
+sword_1-1.gat,155,210,4 duplicate(2_blank) 2_blank_8_a 139,21,0
+sword_1-1.gat,181,210,4 duplicate(2_blank) 2_blank_8_b 139,2,0
+sword_1-1.gat,130,206,4 duplicate(2_blank) 2_blank_8_c 139,0,3
+sword_1-1.gat,183,206,4 duplicate(2_blank) 2_blank_8_d 139,0,3
+sword_1-1.gat,155,203,4 duplicate(2_blank) 2_blank_8_e 139,21,0
+sword_1-1.gat,181,203,4 duplicate(2_blank) 2_blank_8_f 139,2,0
+sword_1-1.gat,155,201,4 duplicate(2_blank) 2_blank_9_a 139,40,0
+sword_1-1.gat,181,201,4 duplicate(2_blank) 2_blank_9_b 139,2,0
+
+sword_1-1.gat,17,174,4 script 3_blank_1_a::3_blank 139,2,0,{
+ set @TEMP,rand(5);
+ if (@TEMP==0) warp "sword_1-1.gat",195,15;
+ if (@TEMP==1) warp "sword_1-1.gat",195,38;
+ if (@TEMP==2) warp "sword_1-1.gat",231,30;
+ if (@TEMP==3) warp "sword_1-1.gat",198,65;
+ if (@TEMP==4) warp "sword_1-1.gat",196,116;
+ end;
+}
+
+// -- Duplicates --
+sword_1-1.gat,17,163,4 duplicate(3_blank) 3_blank_2_a 139,2,0
+sword_1-1.gat,29,171,4 duplicate(3_blank) 3_blank_3_a 139,2,0
+sword_1-1.gat,31,168,4 duplicate(3_blank) 3_blank_3_b 139,0,2
+sword_1-1.gat,28,166,4 duplicate(3_blank) 3_blank_3_c 139,2,0
+sword_1-1.gat,26,168,4 duplicate(3_blank) 3_blank_3_d 139,0,2
+sword_1-1.gat,36,169,4 duplicate(3_blank) 3_blank_4_a 139,0,0
+sword_1-1.gat,37,169,4 duplicate(3_blank) 3_blank_4_b 139,0,0
+sword_1-1.gat,37,168,4 duplicate(3_blank) 3_blank_4_c 139,0,0
+sword_1-1.gat,36,168,4 duplicate(3_blank) 3_blank_4_c 139,0,0
+sword_1-1.gat,40,175,4 duplicate(3_blank) 3_blank_5_a 139,0,1
+sword_1-1.gat,41,175,4 duplicate(3_blank) 3_blank_5_b 139,0,1
+sword_1-1.gat,41,171,4 duplicate(3_blank) 3_blank_6_a 139,1,0
+sword_1-1.gat,41,170,4 duplicate(3_blank) 3_blank_6_b 139,1,0
+sword_1-1.gat,41,167,4 duplicate(3_blank) 3_blank_6_c 139,1,0
+sword_1-1.gat,41,166,4 duplicate(3_blank) 3_blank_6_d 139,1,0
+sword_1-1.gat,42,169,4 duplicate(3_blank) 3_blank_6_e 139,0,1
+sword_1-1.gat,43,170,4 duplicate(3_blank) 3_blank_6_f 139,0,1
+sword_1-1.gat,43,167,4 duplicate(3_blank) 3_blank_6_g 139,0,1
+sword_1-1.gat,40,162,4 duplicate(3_blank) 3_blank_7_a 139,0,1
+sword_1-1.gat,41,162,4 duplicate(3_blank) 3_blank_7_b 139,0,1
+sword_1-1.gat,46,175,4 duplicate(3_blank) 3_blank_8_a 139,0,1
+sword_1-1.gat,51,175,4 duplicate(3_blank) 3_blank_8_b 139,0,1
+sword_1-1.gat,47,174,4 duplicate(3_blank) 3_blank_8_c 139,1,0
+sword_1-1.gat,50,174,4 duplicate(3_blank) 3_blank_8_d 139,1,0
+sword_1-1.gat,48,173,4 duplicate(3_blank) 3_blank_8_e 139,0,1
+sword_1-1.gat,49,173,4 duplicate(3_blank) 3_blank_8_f 139,0,1
+sword_1-1.gat,46,162,4 duplicate(3_blank) 3_blank_9_a 139,0,1
+sword_1-1.gat,51,162,4 duplicate(3_blank) 3_blank_9_b 139,0,1
+sword_1-1.gat,47,163,4 duplicate(3_blank) 3_blank_9_c 139,1,0
+sword_1-1.gat,50,163,4 duplicate(3_blank) 3_blank_9_d 139,1,0
+sword_1-1.gat,48,164,4 duplicate(3_blank) 3_blank_9_e 139,0,1
+sword_1-1.gat,49,164,4 duplicate(3_blank) 3_blank_9_f 139,0,1
+sword_1-1.gat,54,170,4 duplicate(3_blank) 3_blank_10_a 139,0,1
+sword_1-1.gat,55,170,4 duplicate(3_blank) 3_blank_10_b 139,0,1
+sword_1-1.gat,54,167,4 duplicate(3_blank) 3_blank_10_c 139,0,1
+sword_1-1.gat,55,167,4 duplicate(3_blank) 3_blank_10_d 139,0,1
+sword_1-1.gat,53,169,4 duplicate(3_blank) 3_blank_10_e 139,1,0
+sword_1-1.gat,53,168,4 duplicate(3_blank) 3_blank_10_f 139,1,0
+sword_1-1.gat,56,169,4 duplicate(3_blank) 3_blank_10_g 139,1,0
+sword_1-1.gat,56,168,4 duplicate(3_blank) 3_blank_10_h 139,1,0
+sword_1-1.gat,58,175,4 duplicate(3_blank) 3_blank_11_a 139,0,1
+sword_1-1.gat,59,174,4 duplicate(3_blank) 3_blank_11_b 139,1,0
+sword_1-1.gat,60,173,4 duplicate(3_blank) 3_blank_11_c 139,0,1
+sword_1-1.gat,61,172,4 duplicate(3_blank) 3_blank_11_d 139,1,0
+sword_1-1.gat,58,162,4 duplicate(3_blank) 3_blank_12_a 139,0,1
+sword_1-1.gat,59,163,4 duplicate(3_blank) 3_blank_12_b 139,1,0
+sword_1-1.gat,60,164,4 duplicate(3_blank) 3_blank_12_c 139,0,1
+sword_1-1.gat,61,165,4 duplicate(3_blank) 3_blank_12_d 139,1,0
+sword_1-1.gat,76,172,4 duplicate(3_blank) 3_blank_13_a 139,1,0
+sword_1-1.gat,77,173,4 duplicate(3_blank) 3_blank_13_b 139,0,1
+sword_1-1.gat,78,174,4 duplicate(3_blank) 3_blank_13_c 139,1,0
+sword_1-1.gat,79,175,4 duplicate(3_blank) 3_blank_13_d 139,0,1
+sword_1-1.gat,76,165,4 duplicate(3_blank) 3_blank_14_a 139,1,0
+sword_1-1.gat,77,164,4 duplicate(3_blank) 3_blank_14_b 139,0,1
+sword_1-1.gat,78,163,4 duplicate(3_blank) 3_blank_14_c 139,1,0
+sword_1-1.gat,79,162,4 duplicate(3_blank) 3_blank_14_d 139,0,1
+sword_1-1.gat,94,175,4 duplicate(3_blank) 3_blank_15_a 139,0,1
+sword_1-1.gat,95,174,4 duplicate(3_blank) 3_blank_15_b 139,1,0
+sword_1-1.gat,98,174,4 duplicate(3_blank) 3_blank_15_c 139,1,0
+sword_1-1.gat,99,175,4 duplicate(3_blank) 3_blank_16_d 139,0,1
+sword_1-1.gat,96,169,4 duplicate(3_blank) 3_blank_17_a 139,0,0
+sword_1-1.gat,97,169,4 duplicate(3_blank) 3_blank_17_b 139,0,0
+sword_1-1.gat,97,168,4 duplicate(3_blank) 3_blank_17_c 139,0,0
+sword_1-1.gat,96,168,4 duplicate(3_blank) 3_blank_17_d 139,0,0
+sword_1-1.gat,94,162,4 duplicate(3_blank) 3_blank_18_a 139,0,1
+sword_1-1.gat,95,163,4 duplicate(3_blank) 3_blank_18_b 139,1,0
+sword_1-1.gat,98,163,4 duplicate(3_blank) 3_blank_18_c 139,1,0
+sword_1-1.gat,99,162,4 duplicate(3_blank) 3_blank_18_d 139,0,1
+sword_1-1.gat,114,175,4 duplicate(3_blank) 3_blank_19_a 139,0,1
+sword_1-1.gat,115,175,4 duplicate(3_blank) 3_blank_19_b 139,0,1
+sword_1-1.gat,114,162,4 duplicate(3_blank) 3_blank_20_a 139,0,1
+sword_1-1.gat,115,162,4 duplicate(3_blank) 3_blank_20_b 139,0,1
+sword_1-1.gat,126,175,4 duplicate(3_blank) 3_blank_21_a 139,0,1
+sword_1-1.gat,127,175,4 duplicate(3_blank) 3_blank_21_b 139,0,1
+sword_1-1.gat,126,162,4 duplicate(3_blank) 3_blank_23_a 139,0,1
+sword_1-1.gat,127,162,4 duplicate(3_blank) 3_blank_23_b 139,0,1
+sword_1-1.gat,160,174,4 duplicate(3_blank) 3_blank_24_a 139,0,2
+sword_1-1.gat,161,174,4 duplicate(3_blank) 3_blank_24_b 139,0,2
+sword_1-1.gat,160,163,4 duplicate(3_blank) 3_blank_25_a 139,0,2
+sword_1-1.gat,161,163,4 duplicate(3_blank) 3_blank_25_b 139,0,2
+sword_1-1.gat,168,175,4 duplicate(3_blank) 3_blank_26_a 139,0,2
+sword_1-1.gat,169,175,4 duplicate(3_blank) 3_blank_26_b 139,0,2
+sword_1-1.gat,168,162,4 duplicate(3_blank) 3_blank_27_a 139,0,2
+sword_1-1.gat,169,162,4 duplicate(3_blank) 3_blank_27_b 139,0,2
+sword_1-1.gat,176,174,4 duplicate(3_blank) 3_blank_28_a 139,0,2
+sword_1-1.gat,177,174,4 duplicate(3_blank) 3_blank_28_b 139,0,2
+sword_1-1.gat,178,173,4 duplicate(3_blank) 3_blank_28_c 139,1,0
+sword_1-1.gat,178,172,4 duplicate(3_blank) 3_blank_28_d 139,1,0
+sword_1-1.gat,181,174,4 duplicate(3_blank) 3_blank_28_e 139,2,0
+sword_1-1.gat,179,169,4 duplicate(3_blank) 3_blank_29_a 139,3,0
+sword_1-1.gat,179,168,4 duplicate(3_blank) 3_blank_29_b 139,3,0
+sword_1-1.gat,182,169,4 duplicate(3_blank) 3_blank_29_c 139,0,2
+sword_1-1.gat,183,169,4 duplicate(3_blank) 3_blank_29_d 139,0,2
+sword_1-1.gat,181,167,4 duplicate(3_blank) 3_blank_29_e 139,1,0
+sword_1-1.gat,181,166,4 duplicate(3_blank) 3_blank_29_f 139,1,0
+sword_1-1.gat,183,167,4 duplicate(3_blank) 3_blank_29_g 139,0,1
+sword_1-1.gat,176,163,4 duplicate(3_blank) 3_blank_30_a 139,0,2
+sword_1-1.gat,177,163,4 duplicate(3_blank) 3_blank_30_b 139,0,2
+sword_1-1.gat,181,163,4 duplicate(3_blank) 3_blank_30_c 139,2,0
+
+//==============================================================================
+// mapflag
+//==============================================================================
+sword_1-1.gat mapflag nomemo
+sword_1-1.gat mapflag noteleport
+sword_1-1.gat mapflag nosave SavePoint
+sword_1-1.gat mapflag nopenalty
+sword_1-1.gat mapflag nobranch
+sword_1-1.gat mapflag noexp
+sword_1-1.gat mapflag noloot
diff --git a/npc/jobs/1-1/thief.txt b/npc/jobs/1-1/thief.txt
new file mode 100644
index 000000000..11ad20913
--- /dev/null
+++ b/npc/jobs/1-1/thief.txt
@@ -0,0 +1,424 @@
+//===== eAthena Script =======================================
+//= Thief Job Quest
+//===== By: ==================================================
+//= eAthena dev team
+//===== Current Version: =====================================
+//= 1.5
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= <Description>
+//===== Additional Comments: =================================
+//= Fully working
+//= v1.1 Added instant job change for High Novice [Lupus]
+//= 1.3 Added Baby Class support [Lupus]
+//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller]
+//= Fixed possible EXP abuse [Lupus]
+//============================================================
+
+
+// == Monsters ==
+//Spawn is included in this file so make shure its not elsewhere to!
+job_thief1.gat,0,0,0,0 monster Orange Mushroom 1182,180,0,0,0
+job_thief1.gat,0,0,0,0 monster Fabre 1184,50,0,0,0
+job_thief1.gat,0,0,0,0 monster Chonchon 1183,50,0,0,0
+job_thief1.gat,0,0,0,0 monster Spore 1014,30,0,0,0
+
+
+// == NPCs ==
+// -- Interviewer --
+moc_prydb1.gat,39,129,5 script Thief Guide 69,{
+ callfunc "Thi_check";
+ if(job_thief_q==2) goto L_1;
+ if(job_thief_q==1) goto L_Back;
+
+ mes "[Thief Guide]";
+ if(Sex) {
+ mes "Heh... You look like a well to do boy... what brought you down to this rat hole?";
+ }else{
+ mes "Heh... You look like a well to do girl... what brought you down to this rat hole?";
+ }
+ next;
+M_Menu:
+ menu "'I didn't come here for the atmosphere.....",M_0,"Me? I'm just looking around...",M_End,"Just looking for the one truth",M_Truth;
+
+ M_0:
+ mes "[Thief Guide]";
+ mes "Hmph... you sound a little cocky.... Ya know, being a Thief isn't all it's cracked up to be....";
+ mes "That reminds me.... I must have been at lvl 9 or 10.... it was my first robbery....";
+ next;
+ mes "[Thief Guide]";
+ mes "Hahahaha... I can still remember the look on that guy's face...";
+ emotion 18;
+ next;
+ mes "[Thief Guide]";
+ mes "But anyways... I assume you're here to become a thief...";
+ next;
+ menu "-You got it.",sM_0a, "-Nope. Just wasting your time. ^ ^",sM_0b, "-Why did you steal from that man?",sM_0c;
+
+ sM_0a:
+ goto L_Test;
+ sM_0b:
+ mes "[Thief Guide]";
+ mes "Wow... thanks... now get the HELL OUTA HERE!!";
+ emotion 6;
+ close;
+ sM_0c:
+ mes "[Thief Guide]";
+ mes "Eh? Me?... Well... I really had no other choice at the time.... It was either I stole or I starved.";
+ mes "I really couldn't go hungry another day.";
+ close;
+
+ M_Truth:
+ mes "[Thief Guide]";
+ mes "To see one's light, you need to be under the magic of the book where the royalty looms.";
+ close;
+
+ M_End:
+ mes "[Thief Guide]";
+ mes "Must you people keep wasting my time!!?";
+ emotion 32;
+ close;
+
+ L_Test:
+ mes "[Thief Guide]";
+ mes "Ok then. First, fill out this application form.";
+ next;
+ mes "(you fill out the form and hand it back)";
+ next;
+ if(JobLevel < 10) goto sL_JobLvl;
+
+ mes "[Thief Guide]";
+ mes "Alrighty ^ff0000"+ strcharinfo(0) + "^000000, if that IS your real name..... looks like you've got quite a 'record' here.";
+ mes "Let's see.... aggravated assualt... felony larson..... hmm....";
+ next;
+ mes "[Thief Guide]";
+ mes "Ah, here we go...... you've got the job and skill requirements to become a Thief. Now all you gota do is pass the Morroc Thief Test.";
+ next;
+
+ L_Explain:
+ mes "[Thief Guide]";
+ mes " The test will require you to ^ff0000'sneak'^000000 into ^ff0000'Shibu's Farm'^000000, and ^ff0000'steal'^000000 some ^aaaa00'Mushrooms'^000000.";
+ mes " There are ^ff00002^000000 kinds of ^aaaa00Mushrooms^000000 on the farm, ^ffbb00Orange Net Mushrooms^000000 and ^ffbb00Orange Gooey Mushrooms^000000.";
+ next;
+ mes "[Thief Guide]";
+ mes "'Shibu' just happens to be the worst merchant scammer in Morroc, in case your wondering why he's our target.";
+ next;
+ mes "[Thief Guide]";
+ mes " Bring the Mushrooms back here and someone will give you a score based on the type, and the amount of mushrooms you get.";
+ mes " 1 Orange Net Mushroom = ^0000ff3 points^000000 while 1 Orange Gooey Mushroom = ^0000ff1 point^000000. You need 25 points to pass the test.";
+ next;
+ mes "[Thief Guide]";
+ mes " In order to get into Shibu's Farm you'll need to talk to one of our 'associates'. You can find him just ouside of this pyramid standing near some columns.";
+ mes " He goes by the name ^ddcc00'Irrelevant Man'^000000.";
+ next;
+ mes "[Thief Guide]";
+ mes " Here are his exact coordinates just in case you are 'directionaly challenged': '^FF0000141, 125^000000'.";
+ mes " Find him and he'll show you a secrect way into the Farm.";
+ next;
+ mes "[Thief Guide]";
+ mes " This sounds easy but ^009900do you know there are Monsters which keep Mushrooms from the robbery^000000?"; //had to leave the engrish in, it was to good not too. d^_^b
+ mes " Please ^0000ffget yourself out of the Fairy Tales^000000 and ^ff0000'Brace up your nerves. That will be the toughest experience to you^000000.";
+ next;
+ mes "[Thief Guide]";
+ mes " So, I will give you one tip. ^ff0000Elaborate the Strategy^000000 before you going inside the Farm.";
+ next;
+ mes "[Thief Guide]";
+ mes " Try to steal the mushrooms as quickly as you can. You may even have to ^0000ffunequip some weapons or armor^000000.";
+ mes " You don't want to get killed while doing this... at the very least try to give me the mushrooms first.... then you can go get yourself killed... HA!";
+ next;
+ mes "[Thief Guide]";
+ mes " If you don't have any questions... then GET moving!";
+ emotion 27;
+ set job_thief_q,1;
+ close;
+
+ sL_JobLvl:
+ mes "[Thief Guide]";
+ mes "Err I can see how ambitious you are......but we can't hand a gun to a baby only for that? Come back when you learn all Basic Skills.";
+ close;
+
+ L_Back:
+ if(countitem(1069)>0 || countitem(1070)>0) goto sL_1;//Items: Orange_Net_Mushroom, Orange_Gooey_Mushroom_,
+
+ sL_0:
+ mes "[Thief Guide]";
+ mes "..... What are you doing here? You're supposed to be gathering mushrooms remember??";
+ mes "Don't tell me you forget what to do??? Jeeze... do you want me to explain it to you one more time?......";
+ emotion 20;
+ next;
+ menu "Heh.. yeah I guess..",sM_1a, "Nope.",sM_1b;
+
+ sM_1a:
+ mes "[Thief Guide]";
+ mes "(~sigh~) There's always someone who gets left behind.... This is the last time so listen CAREFULLY!!....";
+ emotion 32;
+ next;
+ goto L_Explain;
+ sM_1b:
+ mes "[Thief Guide]";
+ mes ".... Then what is it??? Do you have something to tell me? YOUR the one who came TO ME...";
+ mes "What... you wanna a piece of me?? HUH!!??";
+ emotion 7;
+ close;
+
+ sL_1:
+ mes "[Thief Guide]";
+ mes "What? You actually went and stole some mushrooms?? Are you some kinda idiot?";
+ mes "Haha... I can't believe you listened to me..... ";
+ emotion 1;
+ next;
+ mes "[Thief Guide]";
+ mes ".... Psych!! Just kidding... heheheh! Speak with the guy next to me about rating the mushrooms you swiped.";
+ emotion 18;
+ close;
+
+ L_1:
+ mes "[Thief Guide]";
+ mes "So how was the Mushroom Farm. Did ya have much fun?";
+ next;
+ menu "Yeah, kinda Cool.",M_Cool,"It was horrible.",M_Not;
+
+ M_Cool:
+ mes "[Thief Guide]";
+ mes " Wow! I like you! Fabulous! Everyone before you was `S@#$ Bloody As#$%^&s'.";
+ next;
+ mes "[Thief Guide]";
+ mes "...... You won't take my place, will you? If you have any ambition like that, I will kick your ^ff0000'ASS OUT OF YOUR BUTT'^000000!"; //this is just too much lol.
+ emotion 0;
+ next;
+ mes "[Thief Guide]";
+ mes " Still, in order to pass the test you need to go get some mushrooms.";
+ close;
+ M_Not:
+ mes "[Thief Guide]";
+ mes " I know what ya mean. I was there before and it was awfull. All those smelly mushrooms and aggressive monsters.";
+ next;
+ mes "[Thief Guide]";
+ mes " Eeewww! Yuuuckk! Still, in order to pass the test you need to go get some mushrooms.";
+ emotion 16;
+ close;
+}
+
+
+// -- Test Grader --
+moc_prydb1.gat,42,133,2 script Comrade Brad 118,{
+ callfunc "F_ToHigh",30,"Thief High",36,"Assassin Cross",149,150,151,152,"Brad";
+ if(BaseJob == 0) goto L_Novice;
+ if(BaseJob == 6) goto L_Thief;
+
+L_Other:
+ mes "[Brad]";
+ mes "Hey~ Hey~!! You don't look like a Thief. What the heck? You'd BETTER NOT be trying to start someting on THIEF TERRITORY!!";
+ emotion 23;
+ close;
+L_Thief:
+ mes "[Brad]";
+ mes "We don't have any Special events for Thieves yet. Come back some other time, alright?";
+ close;
+
+L_Novice:
+ mes "[Comrade Brad]";
+ if((job_thief_q == 2) && ((countitem(1069) > 0) || (countitem(1070) > 0))) goto L_4;//Items: Orange_Net_Mushroom, Orange_Gooey_Mushroom_,
+ if(job_thief_q >= 1) goto L_3;
+
+ mes "Errr? What's matter newbie? If you want to be a thief, speak to the girl beside me.";
+ close;
+L_3:
+ mes "Go get some mushrooms so that I can grade them ok.";
+ close;
+L_4:
+ mes "Good. You got some mushrooms from that crooked merchant Shibu";
+ next;
+
+ set @mushrm1,countitem(1069)*3;//Items: Orange_Net_Mushroom,
+ set @mushrm2,countitem(1070);//Items: Orange_Gooey_Mushroom_,
+ set @TotMush,@mushrm1 + @mushrm2;
+ set @money_thief,((countitem(1069) * 5) + (countitem(1070)* 2)) + 200;//Items: Orange_Net_Mushroom, Orange_Gooey_Mushroom_,
+
+ mes "[Comrade Brad]";
+ mes "Let's see you got:";
+ mes "^0000ff"+countitem(1069)+"^000000 Orange Net Mushrooms for ^ffbb00"+@mushrm1+"^000000 points,";//Items: Orange_Net_Mushroom,
+ mes "^0000ff"+countitem(1070)+"^000000 Orange Gooey Mushrooms for ^ffbb00"+@mushrm2+"^000000 points,";//Items: Orange_Gooey_Mushroom_,
+ mes "Giving you a total score of ^ff0000"+@TotMush+"^000000.";
+ next;
+ if (@TotMush > 25) goto L_High;
+ if (@TotMush == 25) goto L_Medium;
+
+ mes "[Comrade Brad]";
+ mes "Meh!.... looks like you failed. C'mon! You can do better than that! Go get some more mushrooms!!!";
+ close;
+
+ L_Medium:
+ mes "[Comrade Brad]";
+ mes "Good. You passed the Test.";
+ next;
+ goto L_Final;
+
+ L_High:
+ mes "[Comrade Brad]";
+ mes "Ooooh. Above 25, kewl. You passed the Test!";
+ next;
+
+ L_Final:
+ mes "[Comrade Brad]";
+ mes "Congratulations ^ff0000"+strcharinfo(0)+"^000000, you passed the official Thief Test! You can now become a Thief!!";
+ emotion 21;
+ next;
+ if(SkillPoint > 0) goto sL_SkPoint;
+ delitem 1069, countitem(1069);//Items: Orange_Net_Mushroom,
+ delitem 1070, countitem(1070);//Items: Orange_Gooey_Mushroom_,
+
+ callfunc "Job_Change",Job_Thief;
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+
+ mes "[Comrade Brad]";
+ mes "Here's a small reward for your hard work. Spend it any way you want to.";
+ next;
+ set Zeny,Zeny+@money_thief;
+ mes "[Comrade Brad]";
+ mes "From now on you must act, think, and even smell like a Thief.";
+ mes "You are one of us now, which means you have the trust and freindship of Thieves all over Rune Midgard";
+ next;
+ mes "[Comrade Brad]";
+ mes "However, If you bring disgrace to our Guild, or ever betray us, we will not hesitate to have you......";
+ mes "how shall I say..... ^ff0000'REMOVED'^000000 from the Thief Guild.";
+ emotion 29;
+ next;
+ mes "[Comrade Brad]";
+ mes "Good luck and always remeber the ^0000cc'Thief Motto'^000000: ^ff0000DON'T Get Caught^000000l!";
+ close;
+
+ sL_SkPoint:
+ mes "[Comrade Brad]";
+ mes "But before that happens please use up all of your skill points ok?";
+ close;
+
+}
+
+
+// -- Irrelevant Man --
+moc_ruins.gat,141,125,3 script Irrelevant Man 118,{
+ if(BaseJob == 6) goto L_Thief;
+ if(BaseJob == 0) goto L_Novice;
+
+L_Other:
+ if(@s_flag==1) goto L_1b;
+ if(@s_flag==2) goto L_1c;
+ if(@s_flag==3) goto L_1d;
+ if(@s_flag==4) goto L_1e;
+ set @s_flag, 0;
+
+ L_1a:
+ mes "[Irrelevant Man]";
+ mes "Howdy~ Howdy. What a Wonderful day today,isn't it?";
+ mes "I feel like going on a 'Picnic' in the Pyramids with a couple freinds of mine today.";
+ set @s_flag, @s_flag+1;
+ close;
+ L_1b:
+ mes "[Irrelevant Man]";
+ mes "'Lalalala, Home sweet Home.'";
+ mes "I like this saying. Home Sweet Home....";
+ set @s_flag, @s_flag+1;
+ close;
+ L_1c:
+ mes "[Irrelevant Man]";
+ mes "...... I could fly if I fell off............ ";
+ set @s_flag, @s_flag+1;
+ close;
+ L_1d:
+ mes "[Irrelevant Man]";
+ mes ".......Hmm?.....";
+ next;
+ mes "[Irrelevent Man]";
+ mes "Hey!! DON'T LOOK AT ME like that! I'M NOT some WACKO okay!!!";
+ set @s_flag, @s_flag+1;
+ emotion 6;
+ close;
+ L_1e:
+ mes "[Irrelevant Man]";
+ mes "Dude! I got nothin to say with you! Mind your own business! Sheesh!!";
+ emotion 32;
+ close;
+
+L_Thief:
+ mes "[Irrelevant Man]";
+ mes "Yah Hoo! Look at you! You became a Kool Thief!";
+ emotion 21;
+ next;
+ mes "[Irrelevant Man]";
+ mes "Don't worry about Shibu's Farm. Let the newbies handle that. Why don't ya go out and kill some stronger monsters.";
+ close;
+
+L_Novice:
+ if(job_thief_q==2) goto L_3;
+ if(job_thief_q==1) goto L_2;
+ mes "[Irrelevant Man]";
+ mes "Hey!! Novice! Want to be Stronger and more Powerful!? Do you like hiding and sneeking around?";
+ mes "If so, Join the Thief Guild! You are always welcome! Join now!";
+ next;
+ mes "[Irrelevant Man]";
+ mes "You can get more information in the 1st floor basement of the Pyramid!";
+ close;
+L_2:
+ mes "[Irrelevant Man]";
+ mes "Pssst......Pssst......hey you! You look like your gonna take the ^ff0000'Test'^000000. Am I right?";
+ next;
+ mes "[Irrelevant Man]";
+ mes "Lets see here.....(checks his list).... you're ^ff0000"+ strcharinfo(0) +"^000000 right? Good.";
+ next;
+ mes "[Irrelevant Man]";
+ mes "Ok! I'm gonna show you the way in but keep quite. I can't guarantee your safety so watch your back.";
+ next;
+
+ L_Warp:
+ set @TEMP,rand(5);
+ set job_thief_q,2;
+ if(@TEMP != 0) goto warpL03a;
+ warp "job_thief1.gat",228,106;
+ close;
+ warpL03a:
+ if(@TEMP != 1) goto warpL03b;
+ warp "job_thief1.gat",38,50;
+ close;
+ warpL03b:
+ if(@TEMP != 2) goto warpL03c;
+ warp "job_thief1.gat",66,331;
+ close;
+ warpL03c:
+ if(@TEMP != 3) goto warpL03d;
+ warp "job_thief1.gat",196,331;
+ close;
+ warpL03d:
+ warp "job_thief1.gat",309,234;
+ close;
+
+L_3:
+ mes "[Irrelevant Man]";
+ mes "Muhahahaha~~ WHAT???~~ You HAVEN'T PASSED the Test yet? Are you some sort of Idiot!! Kakakaka!!";
+ emotion 18;
+ next;
+ mes "[Irrelevant Man]";
+ mes "Just kidding..... NOT!!. Anywho I'll let ya back in!";
+ next;
+ menu "Ready",M_Yes,"Not yet",M_No;
+
+ M_Yes:
+ goto L_Warp;
+
+ M_No:
+ mes "[Irrelevant Man]";
+ mes "Ok, let me know when you are.";
+ close;
+
+}
+
+//==============================================================================
+// mapflag
+//==============================================================================
+job_thief1.gat mapflag nomemo
+job_thief1.gat mapflag noteleport
+job_thief1.gat mapflag nosave SavePoint
+job_thief1.gat mapflag nopenalty
+job_thief1.gat mapflag nobranch
+job_thief1.gat mapflag noexp
diff --git a/npc/jobs/1-1e/taekwon.txt b/npc/jobs/1-1e/taekwon.txt
new file mode 100644
index 000000000..00fb1d502
--- /dev/null
+++ b/npc/jobs/1-1e/taekwon.txt
@@ -0,0 +1,71 @@
+//===== eAthena Script =======================================
+//= Taekwon Job Quest
+//===== By: ==================================================
+//= Lupus
+//===== Current Version: =====================================
+//= 0.3
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= 0.1 Now it's just a questless temp NPC
+//= We use CLASS instead of BASEJOB to protect from Advanced/Baby Classes
+//= 0.3 Updated The Job Qusts due to SG / SL Job Quests [Lupus]
+//============================================================
+
+
+payon.gat,146,87,7 script Taekwon 764,{
+ mes "[Taekwon]";
+ if(Class==Job_Novice) goto L_Check;
+ if(Class==Job_Soul_Linker || Class==Job_Star_Gladiator){
+ mes "That's all for now. You know your way. Be brave!";
+ mes "I'm staying here and looking forward to the new hope of the Rune-Midgart Kingdom.";
+ close;
+ }
+ if(Class==Job_Taekwon){
+ mes "Hello, my brother Taekwon!";
+ if(JobLevel<40) {
+ mes "On achieving Job Level 40 visit me again...";
+ emotion e_go;
+ close;
+ }
+ mes "You've became much stronger... Now tell me your way?";
+ next;
+ menu "I choose the way of Stars...",-,"I prefer the way of Soul...",M_SOUL,"I've none.",M_NOTHING;
+
+ warp "job_star.gat",166,21; //SG
+ end;
+ M_SOUL:
+ warp "job_star.gat",99,22; //SL
+ end;
+
+ }
+ mes "Good day. I'm a Taekwon Guild Master.";
+ emotion 1;
+ close;
+
+L_Check:
+ mes "Hi, brave Novice!";
+ mes "Waht do you want?";
+ next;
+ menu "I want to be a Taekwon",-,"Nothing.",M_NOTHING;
+
+ mes "[Taekwon]";
+ if(JobLevel<10 || SkillPoint) {
+ mes "You have to learn all the basic skills and reach 10 Job Level.";
+ emotion e_sry;
+ close;
+ }
+
+ jobchange Job_Taekwon;
+ callfunc "F_ClearJobVar";
+ mes "Congratulations!";
+ close;
+
+M_NOTHING:
+ mes "[Taekwon]";
+ mes "Then... see you soon.";
+ close;
+
+}
diff --git a/npc/jobs/2-1/assassin.txt b/npc/jobs/2-1/assassin.txt
new file mode 100644
index 000000000..2e0f9aa52
--- /dev/null
+++ b/npc/jobs/2-1/assassin.txt
@@ -0,0 +1,1870 @@
+//===== eAthena Script =======================================
+//= Assassin Job Quest
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.6
+//===== Compatible With: =====================================
+//= eAthena RC4
+//===== Description: =========================================
+//= Based of Official RO Assassin jobchange quest. There are small
+//= differences due to gameplay issues.
+//===== Additional Comments: =================================
+//= v1.0 Used some dialogue from the aegis Assassin script translated By: Pgro Team (OwNaGe)
+//= Also converted the booby traps from the aegis script.[kobra_k88]
+//= v1.1 Made adjustments to ontouch npcs to work with the new "ontouch" functionality.
+//= Fixed some duplicate npc names. Added missing waitingroom triggers.
+//= Fixed warp in "TimerSin", was supposed to be an areawarp.
+//= For some reason sometimes the "Nameless One" would have message windows
+//= without controls. Changed the doevent that triggers him to an
+//= addtimer and that seemed make the prob. go away[kobra_k88]
+//= 1.2 Fixed WRONG skillpoint check! [Lupus]
+//= 1.2b Fixed missing commands and typos [Lupus]
+//= 1.3 Baby class Support added [Lupus]
+//= 1.5 Fixed possible EXP abuse [Lupus]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where
+//= to go. [Lupus]
+//============================================================
+
+
+
+//============================================================================//
+// Job Changer
+//****************************************************************************//
+
+in_moc_16.gat,19,33,4 script Guildsman 55,{
+ callfunc "F_BlockHigh",30,"Thief High",36,"Assassin Cross","Assassin Huey";
+
+ if(BaseJob==Job_Thief) goto L_Thief;
+ callfunc "Ass_check";
+
+L_Thief:
+ if(JobLevel >= 40) goto L_Start;
+ mes "Hmm? What brings you here?.... I don't think I like the way you're looking at me....?!";
+ emotion 1;
+ next;
+ mes "[Angry looking man]";
+ mes ".... Hmm.... You're not qualified yet. To become an Assassin you will have to meet our expectations.";
+ next;
+ mes "[Angry looking man]";
+ mes "Why don't you go train some more...... You need to have a job level of at least 40 to even hope of becoming one of us....";
+ close;
+
+L_Start:
+ if(ASSIN_Q == 1) goto L_Failed1;
+ if(ASSIN_Q == 2) goto L_Failed2;
+ if(ASSIN_Q == 4) goto L_Change;
+ mes ".... A Thief huh?..... And a well trained one at that, cause I can't seem to find my wallet!";
+ emotion 18;
+ next;
+ mes "[Angry looking man]";
+ mes "We need people like you, you know........ So how about taking the next step in the world of crime, and become an Assassin?";
+ M_Menu:
+ next;
+ menu "You bet! I've picked my last pocket.",M_0, "What are the requirements?",M_1, "Maybe later.... I need to steal some things first.",M_2;
+
+ M_0:
+ mes "[Angry looking man]";
+ mes "It's been a long time since we've recieved any Assassin candidates..... anyhow let me send you ^5533FFAssassin 'Kai'^000000.";
+ mes "He'll take care of the registration process.";
+ enablenpc "Assassin Kai#1";
+ disablenpc "Assassin Kai#2";
+ savepoint "in_moc_16.gat", 19, 27;
+ close2;
+ warp "in_moc_16.gat", 19, 76;
+ end;
+ M_1:
+ mes "[Angry looking man]";
+ mes "Requirements? Here they are....";
+ mes "#1. You have to be a Thief.";
+ mes "#2. Must have a job level of at least 40.";
+ mes "#3. You have to past the Assassin guild tests.";
+ next;
+ mes "[Angry looking man]";
+ mes "That's all there is too it. If you're confident in your abilities, then test will be a piece of cake.";
+ goto M_Menu;
+ M_2:
+ mes "[Angry looking man]";
+ mes "Hmm..? Ok then... so be it........";
+ close;
+
+L_Failed1:
+ mes "What's this? I can't believe you failed the first test.";
+ mes "~Sigh~........................";
+ close2;
+ disablenpc "Assassin Kai#1";
+ enablenpc "Assassin Kai#2";
+ warp "in_moc_16.gat", 19, 76;
+ end;
+
+L_Failed2:
+ mes "What are you doing out here?? Go back in and finish the second test!!";
+ close2;
+ warp "in_moc_16.gat", 21, 160;
+ end;
+
+L_Change:
+ if (skillpoint > 0) goto L_SkPoints;
+ if(countitem(1008) < 1) goto L_NoNecklace;
+ mes "Ah... the Necklace of Oblivion..... that means that the Guild Master has accepted you into the Assassin clan.";
+ next;
+ mes "[Assassin Huey]";
+ mes "Congratulations! After all of your hard work, you can finally become an Assassin!";
+ emotion 21;
+ next;
+ mes "[Assassin Huey]";
+ mes "Very well done, you are now offically an Assassin. Although you are free to visit us at anytime..............";
+ setlook 7,0;
+ callfunc "Job_Change",Job_Assassin;
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+ set kaitrig, 0;
+ next;
+ mes "[Assassin Huey]";
+ mes "Remember that you are on your own now. The shadows are your new home and your best freinds are the blades in your hands...........";
+ close;
+
+ L_SkPoints:
+ mes "You will need to use up all of your skill points if you want to become an Assassin.";
+ close;
+
+ L_NoNecklace:
+ mes "Hmm? You want me to promote you to the job class of Assassin? Well show me your ^5544FF'Necklace of Oblivion'^000000 then.......";
+ next;
+ mes "[Assassin Huey]";
+ mes "You do have one don't you? Only those who have been given the 'Necklace of Oblivion' by the Guild Master have the right to become Assassins.";
+ next;
+ menu "Oh yeah.... It's in my other pair of Thief pants....",-, "Well... It kinda got stolen... heh....",M_Restart;
+
+ mes "[Assassin Huey]";
+ mes "I don't care where it is.... if you want to become an Assassin you'd better get it.";
+ close;
+
+ M_Restart:
+ mes "[Assassin Huey]";
+ mes "........................................";
+ next;
+ mes "[Assassin Huey]";
+ mes "!!(shouts profanities at you)!!";
+ next;
+ mes "[Assassin Huey]";
+ mes "Have fun stating ALL OVER!!";
+ set ASSIN_Q, 0;
+ set ASSIN_Q2, 0;
+ close2;
+ warp "moc_fild16.gat", 206, 155;
+ end;
+}
+
+
+//============================================================================//
+// Registrar
+//****************************************************************************//
+
+// Assassin Kai: First Position =================================
+in_moc_16.gat,21,91,4 script Assassin Kai#1 730,4,4,{
+ end;
+
+OnTouch:
+ mes "[Assassin Kai]";
+ mes "Ummm???....";
+ disablenpc "Assassin Kai#1";
+ enablenpc "Assassin Kai#2";
+ close;
+}
+
+// Assassin Kai: Second Position ==============================
+in_moc_16.gat,25,90,4 script Assassin Kai#2 730,2,1,{
+ if(kaitrig == 1) goto OnTouch;
+ mes "[Assassin Kai]";
+ mes "Come closer to me, I like to see a persons face when I'm talking to them.";
+ close;
+
+OnTouch:
+ set kaitrig, 1;
+ mes "[Assassin Kai]";
+ if(ASSIN_Q==1) goto L_Failed;
+ mes "So you're an Assassin candidate.... ~sigh~.... Let me apologize for my behavior....";
+ mes "You see, when someone comes near me, I can't help but hide...... it's a bad habbit really....";
+ next;
+ mes "[Assassin Kai]";
+ mes "Anyhow, welcome. So you want to be an Assassin do you?";
+ next;
+ menu "Yes. ",M_Yes, "...No.",M_No;
+
+ M_Yes:
+ mes "[Assassin Kai]";
+ mes "Okay, good. Fill out this form first. Make sure to write your name and your job level down";
+ next;
+ mes "(you fill out the form and hand it back)";
+ next;
+ mes "[AssassinKai]";
+ mes "Let's see... your name is ^5533FF" +strcharinfo(0)+ "^000000... and you have a job level of "+JobLevel+"....";
+ next;
+ mes "[AssassinKai]";
+ if(JobLevel == 50) goto sL_HighLvl;
+ mes "Well, you barely passed the job requirements but, meh, it's not important";
+ mes "~mumbles~(no one has any guts anymore.... bunch of pansies......)";
+ next;
+ mes "[Assassin Kai]";
+ mes "Hmm? What's that? Oh I was just talking to myself.... it was nothing really.......";
+ mes "Anyway, let me send to to the test hall for your first test.";
+ set JBLVL, 40;
+ close2;
+ warp "in_moc_16.gat", 19, 141;
+ end;
+
+ sL_HighLvl:
+ mes "Wow you have a job level of 50! You've been training hard haven't you?";
+ mes "The Guild Master will be pleased to see someone of your qualifications.";
+ next;
+ mes "[Assassin Kai]";
+ mes "You first test will be with the ^5533FF'Nameless One'^000000. I'll send you too him right away.";
+ set JBLVL, 50;
+ close2;
+ warp "in_moc_16.gat", 19, 141;
+ end;
+
+ M_No:
+ mes "[Assassin Kai]";
+ mes "Huh?? You don't?........";
+ emotion 1;
+ next;
+ mes "[Assassin Kai]";
+ mes "Are you trying to play games with me??";
+ next;
+ mes "[Assassin Kai]";
+ mes "Don't you want to become an Assassin?............";
+ next;
+ menu "Not really....",-, "Yes, of course I do.",sM_Yes;
+
+ mes "[Assassin Kai]";
+ mes "....Well, if thats the case,........ GET OUT!!";
+ close2;
+ warp "moc_fild16.gat", 206, 229;
+ end;
+ sM_Yes:
+ mes "[Assassin Kai]";
+ mes "...... Hmf...... Anyways......";
+ next;
+ goto M_Yes;
+
+L_Failed:
+ mes "Ehhh? Weren't you just here a minute ago?";
+ emotion 1;
+ next;
+ mes "[Assassin Kai]";
+ mes "What's this?..... You failed the first test?";
+ next;
+ mes "[Assassin Kai]";
+ mes "HAHAHAHAAHAHAHAHA!!!!";
+ emotion 18;
+ next;
+ mes "[Assassin Kai]";
+ mes "Hehe...HAHA...~cough~..Damn.... It's been a long time since I've met a looser like you..... Ha Ha....";
+ emotion 18;
+ next;
+ mes "[Assassin Kai]";
+ mes "Oh...sorry for laughing in your face like this.... but it's just too funny... hahahehehe....";
+ emotion 18;
+ next;
+ mes "[Assassin Kai]";
+ mes "So..... do you need me to give you any hints?";
+ next;
+ menu "...yes ...please",-, "Stop laughing and just give me the stupid tips!.",M_1, "Shut up! I don't need your stinkin help!!",M_2;
+
+ mes "[Assassin Kai]";
+ mes "Hahaahhaha!!! Well at least you're honest.....";
+ mes "Haha....My stomach...ouch... my stomach hurts!! You're killing me! Hahahaha!!!";
+ emotion 18;
+ next;
+ mes "[Nameless One]";
+ mes ".....Hahaha.";
+ next;
+ mes "[Assasin Kai]";
+ mes "HAHAHAHA!! Nameless One, you think its funny too?";
+ emotion 18;
+ next;
+ mes "[Nameless One]";
+ mes "Hehehe..... yes very.....";
+ next;
+ mes "[Assassin Kai]";
+ mes "Heh heh..... Oh my.....";
+ next;
+ mes "[Assassin Kai]";
+ mes "..... so you want some pointers huh?";
+ next;
+ mes "[Assassin Kai]";
+ mes "...";
+ next;
+ mes "[Assassin Kai]";
+ mes ".....";
+ next;
+ mes "[Assassin Kai]";
+ mes "........";
+ next;
+ mes "[Assassin Kai]";
+ mes "...............";
+ next;
+ mes "[Assassin Kai]";
+ mes "......Hmmm..... Too bad. I don't feel like giving you any.";
+ next;
+ mes "[Assassin Kai]";
+ mes "Hahaha.... I can't beleive this..... hahaha.....";
+ emotion 18;
+ close2;
+ warp "in_moc_16.gat", 19, 141;
+ end;
+ M_1:
+ mes "[Assassin Kai]";
+ mes "Hmm..... I see... Sorry about my outburst of laughter...... people make mistakes from time to time..... I understand this.";
+ next;
+ mes "[Assassin Kai]";
+ mes "Although I can't give you any answers to the test, I can give you some usefull information about Assassins that may help you......";
+ next;
+ mes "[Assassin Kai]";
+ mes "For an Assassin honor and pride is of the utmost importance. You cannot be an Assassin without any honor.";
+ mes "....One day people will come to rely on you. Waiting for that day is an Assassin's destiny.";
+ next;
+ mes "[Assassin Kai]";
+ mes "Assassins are destined to live a solitary life. Our lifestyles make it difficult for us to get close to anyone.";
+ mes "Imagine what your loved ones would think if they saw your blood stained hands.......";
+ next;
+ mes "[Assassin Kai]";
+ mes "..... Without a doubt, they would be shocked and become fearfull of you.";
+ mes "They would not be able to stay by your side, leaving you all alone to deal with your sins.";
+ next;
+ mes "[Assassin Kai]";
+ mes "Though it is lonesome, it is still a worthy existance.";
+ mes "As an Assassin you are free to do as you choose without anyone tying you down or holding you back.";
+ next;
+ mes "[Assassin Kai]";
+ mes "This is all I have to say about Assassins...... I hope what I've said doesn't depress you?";
+ close2;
+ warp "in_moc_16.gat", 19, 141;
+ end;
+ M_2:
+ mes "[Assassin Kai]";
+ mes "...Hmmm.....";
+ next;
+ mes "[Assassin Kai]";
+ mes "Good. Thats the spirit! Never let anyone take away your confidence.";
+ mes "Assassins must be strong minded and determined. I apologize for laughing at you earlier.";
+ next;
+ mes "[Assassin Kai]";
+ mes "Unfortunately there are too many morons nowadays, who are not very knowledgable about thier jobs.......";
+ next;
+ mes "[Assassin Kai]";
+ mes "How could they forget about the struggles necessary to become an Assasin??!! They are truly shameless......";
+ next;
+ mes "[Assassin Kai]";
+ mes "So please.............";
+ next;
+ mes "[Assassin Kai]";
+ mes "Always remember to be proud of the fact that you are an Assassin.";
+ mes "Have repsect for the blood that stains your katars and daggers!!";
+ next;
+ menu "Ok cotcha.",-, "Uh... I'm confused.....",sM_End;
+
+ mes "[Assassin Kai]";
+ mes ".... Good! I'm glad you understand what I'm talking about. Here, let me give you some tips about the first test......";
+ next;
+ callsub sF_Quiz;
+ next;
+ mes "[Assassin Kai]";
+ mes "I've said quite a lot and I acutally feel a little bit tired now. Hopefully you will do better this time.";
+ mes "Get ready, I will send you to the test hall again.";
+ close2;
+ warp "in_moc_16.gat", 19, 141;
+ close;
+
+ sM_End:
+ mes "[Assassin Kai]";
+ mes ".... Hmf... how can you be such an idiot??? You couldn't understand what I was talking about??";
+ emotion 23;
+ next;
+ mes "[Assassin Kai]";
+ mes "Is an Assassin's honor that hard to comprehend?!";
+ next;
+ mes "[Assassin Kai]";
+ mes "Grrrrr!!! You're probably going to be a moron all of your life...........";
+ emotion 6;
+ next;
+ mes "[Assassin Kai]";
+ mes "GET OUT! Get out of here right now!! You're not fit to become an Assassin!!!";
+ emotion 32;
+ close2;
+ warp "c_tower4.gat", 64, 76;
+ close;
+
+sF_Quiz:
+ if(@temp == 1) goto sL_Quiz2;
+ if(@temp == 2) goto sL_Quiz3;
+
+ sL_Quiz1:
+ mes "[Assassin Kai]";
+ mes "First of all, the skill ^554433Grimtooth^000000 can only be used with ^554433Katar^000000 type weapons. It is useless with Daggers.";
+ next;
+ mes "[Assassin Kai]";
+ mes "Poison is a must for all assassins.";
+ next;
+ mes "[Assassin Kai]";
+ mes "Have you used ^554433Double Attack^000000? ...It'll hit the enemy twice ^554433without using sp^000000.";
+ next;
+ mes "[Assassin Kai]";
+ mes "^554433Red Gemstones^000000 are the only stones that Assassins use. Blue Gemstones are useless to Assassins!";
+ next;
+ mes "[Assassin Kai]";
+ mes "Water is stronger than Fire... so that means Water is good against Fire element monsters";
+ next;
+ mes "[Assassin Kai]";
+ mes "Water is moved by Wind, so that means ^554433Water is weak against Wind^000000.";
+ next;
+ mes "[Assassin Kai]";
+ mes "You use ^554433Cloak only when your close to a wall^000000. You can only be 1 cell away from the wall or else you'll be seen.";
+ return;
+ sL_Quiz2:
+ mes "[Assassin Kai]";
+ mes "Some Katars have element powers";
+ next;
+ mes "[Assassin Kai]";
+ mes "What weapon is worth buying? If you don't know, look at your hands.";
+ next;
+ mes "[Assassin Kai]";
+ mes "Katars are weapons that are dropped by monsters in the desert. They are very useful";
+ next;
+ mes "[Assassin Kai]";
+ mes "The Katar is one of the strongest weapons a Assassin can use.";
+ next;
+ mes "[Assassin Kai]";
+ mes "I ^554433wouldn't want to raise a Roda Frog as pet^000000, and neither would anyone else for that matter.";
+ next;
+ mes "[Assassin Kai]";
+ mes "^554433Fire^000000 is effective against ^554433ground type monsters^000000.";
+ next;
+ mes "[Assassin Kai]";
+ mes "If you want to know what element your weapon is, look at its name.";
+ return;
+ sL_Quiz3:
+ mes "[Assassin Kai]";
+ mes "The ^554433Elder Willow Card adds to your intelligence^000000.";
+ next;
+ mes "[Assassin Kai]";
+ mes "We Assassins specialize in the ability to dodge and attack. Our defense however, is very poor.";
+ next;
+ mes "[Assassin Kai]";
+ mes "......";
+ next;
+ mes "[Assassin Kai]";
+ mes "Dagger class weapons can be used on two hands!";
+ next;
+ mes "[Assassin Kai]";
+ mes "I haven't been to Morroc for a long time.... not since I became a Thief anyway......";
+ next;
+ mes "[Assassin Kai]";
+ mes "Stealing mushrooms..... what fond memories I had of those orange gooey mushrooms.....";
+ next;
+ mes "[Assassin Kai]";
+ mes "The ^554433Baphomet Jr. Card adds 3 agility and 1 critical^000000 to your stats";
+ next;
+ mes "[Assassin Kai]";
+ mes "We Assassins have the highest agility of all the other classes. We can get a ^5533FFmaximum of 10 extra points in agility^000000.";
+ return;
+}
+
+
+
+//============================================================================//
+// First Test
+//****************************************************************************//
+
+// ----------------------------------------------------------------
+// Keeps the player from moving to far into the room.
+// This is to avoid cheaters who might try to take Bakardi's test first.
+in_moc_16.gat,19,144,1 script getbacker 139,8,0,{
+ if(ASSIN_Q > 1) end;
+ warp "in_moc_16.gat",19,142;
+ addtimer 700, "Nameless One::OnTimer700";
+ end;
+}
+
+// Namelss One ====================================================
+in_moc_16.gat,19,150,1 script Nameless One 139,{
+
+OnTimer700:
+ if(ASSIN_Q == 1) goto L_ReTest;
+ set @LISTEN, 0;
+
+ mes "[Nameless One]";
+ mes "Welcome, my guest. Muhahaha!!!...... There is no use in trying to find me for I am perfectly hidden!";
+ mes "The ability to beome totaly hidden is the TRADEMARK of a GREAT Assassin!!";
+ next;
+ mes "[Nameless One]";
+ mes "Huh? Why don't I have a name? Muhahahahaha!!!... The better question to ask is why am I hidden.....";
+ next;
+ mes "[Nameless One]";
+ mes "Afterall I may be trying to assassinate you!!........ Does this scare you?";
+ next;
+ menu "Eeek! Uh... I think I wet my pants.....",-, "Bleh! Your all talk! Come on, challenge me!",M_1;
+
+ mes "[Nameless One]";
+ mes "Heh.... doesn't surprise me. I could tell that you were nothing but a wimp!";
+ mes "If we had met anywhere else, I would have torn you apart limb from limb.....";
+ next;
+ mes "[Nameless One]";
+ mes "Hmf..... I don't have time for wussies..... get lost......";
+ close2;
+ disablenpc "Assassin Kai#1";
+ enablenpc "Assassin Kai#2";
+ warp "in_moc_16.gat", 19, 76;
+ end;
+ M_1:
+ mes "[Nameless One]";
+ mes "What?.... So you think you're tough hugh?............";
+ next;
+ mes "[Nameless One]";
+ mes "................";
+ next;
+ mes "[Nameless One]";
+ mes "Hmf..............";
+ next;
+ mes "[Nameless One]";
+ mes "Let me tell you something...........";
+ next;
+ mes "[Nameless One]";
+ mes "I'm a cold blooded killer.... where ever I go, a trail of blood follows my every foot step.....";
+ next;
+ mes "[Nameless One]";
+ mes "A true Assasin such as myself does not need to be recognized by name..... I am known only by the sharp edges of my blades.";
+ next;
+ mes "[Nameless One]";
+ mes "It is my 'handy work' that has gotten me this far..... I have never had any remorse over any of the assignments I've taken....";
+ mes "To 'eliminate' targets is what I am here to do.";
+ next;
+ mes "[Nameless One]";
+ mes "Although you speak with confindence, understand this.........";
+ next;
+ mes "[Nameless One]";
+ mes "Only those who are trully cold blooded and without fear, can make it as an Assassin....";
+ mes "You will have to do much more than act like an arrogant fool to convince me that you are worthy of being one.........";
+ next;
+ mes "[Nameless One]";
+ mes "Before I start the quiz, I will let you ask me some basic questions.";
+ sM_Menu:
+ next;
+ menu "...What are the skills?",-, "...What's most important about an Assassin?",sM_1, "...Thats enough, I want to start the test.",sM_End;
+
+ mes "[Nameless One]";
+ mes "Yes, the skills. Skills are very useful to an Assassin. The basic skills are the masteries. I'll tell you about those first.";
+ next;
+ mes "[Nameless One]";
+ mes "First, there's ^5533FFKatar mastery^000000. Katar mastery will increases your attack damage when using a Katar.";
+ mes "This skill is very helpful for Katar users.";
+ next;
+ mes "[Nameless One]";
+ mes "Assassins have the ability to use two weapons at the same time. This makes them very fierce warriors.";
+ mes "However using two weapons at once does have its drawbacks.....";
+ next;
+ mes "[Nameless One]";
+ mes "It is much more difficult to use 2 weapons at once and therefore the damage you do will be less for each hand.";
+ next;
+ mes "[Nameless One]";
+ mes "That is why there is ^5533FF'Left hand mastery' and 'Right hand mastery'^000000.";
+ mes "By mastering these skills, you will be able to regain your attack power for both hands.";
+ next;
+ mes "[Nameless One]";
+ mes "Left hand mastery can be learned when you have gained 2 levels of Right hand mastery.";
+ mes "Combined with Katar mastery, you can become a very deadly Assassin indeed.";
+ next;
+ mes "[Nameless One]";
+ mes "^5533FF'Sonic Blow'^000000 is an extremely fast attacking skill. It will allow you to hit the enemy up to 8 times within the blink of an eye.";
+ next;
+ mes "[Nameless One]";
+ mes "This skill only works with a Katar. You also must have at least level 4 Katar Mastery to learn it.";
+ mes "The amount of damage done by Sonic Blow depends on how much strength you have.";
+ next;
+ mes "[Nameless One]";
+ mes "^5533FF'Grimtooth^000000 .... what if you could attack someone without being seen?";
+ mes "The skill Grimtooth allows you to do just that. While you are cloaked you can do a long range, splash damage attack with Grimtooth.";
+ next;
+ mes "[Nameless One]";
+ mes "Because of the splash damage, Grimtooth can be useful in mob situations.";
+ mes "The higher the level of Grimtooth you have the farther you can attack.";
+ next;
+ mes "[Nameless One]";
+ mes "'In order to use ^5533FFCloak^000000, you must have level 2 hide.";
+ mes "Cloak allows you to not only become invisible, but it allows you to move around while you are hidden as well.";
+ next;
+ mes "[Nameless One]";
+ mes "You can only move when you are close to a wall though.";
+ next;
+ mes "[Nameless One]";
+ mes "'There is a technique that allows you to give a weapon the poison property. It is called ^5533FFEnchant Poison^000000.";
+ next;
+ mes "[Nameless One]";
+ mes "Once enchanted with poison, there is a chance that an enemy hit by your weapon will become poisoned.";
+ mes "You will need at least level 1 Envemon to use this skill.";
+ next;
+ mes "[Nameless One]";
+ mes "^5533FF'Poison React'^000000. This skill will allow you to counter an attack made by a poison type monster.";
+ mes "If you want to learn Poison React you must have at least level 3 Enchant posion.";
+ next;
+ mes "[Nameless One]";
+ mes "^5533FF'Vemon Dust'^000000. With this skill you will be able to poison an area on the ground.";
+ mes "When a monster enters the area you poisoned there is a good chance that the moster will become poisoned as well.";
+ next;
+ mes "[Nameless One]";
+ mes "The higher the level of the skill, the longer the poison stays in effect. You will need a Red Gemstone to use this skill.";
+ mes "Level 5 Enchant Poison is a requirment for learning Venom Dust.";
+ next;
+ mes "[Nameless One]";
+ mes "^5533FF'Venom Splasher'^000000. Not only does this skill poison a target, but it makes the target explode splashing venom everywhere.";
+ next;
+ mes "[Nameless One]";
+ mes "A monster that is hit with Venom Splasher will only explode when it's HP is at 1/3 of maximum.";
+ next;
+ mes "[Nameless One]";
+ mes "This is the most difficult skill to learn for an Assassin. You'll need at least level 5 Venom Dust and level 5 Poison React to learn this skill";
+ next;
+ mes "[Nameless One]";
+ mes "Those are all of the Assassin skills.";
+ set @LISTEN, @LISTEN + 1;
+ goto sM_Menu;
+ sM_1:
+ mes "[Nameless One]";
+ mes "Hmm.... well for Assassins the most important stat is Agility.";
+ mes "By investing in Agility, your ability to dodge and your attack speed will increase greatly.";
+ next;
+ mes "[Nameless One]";
+ mes "Another good stat to invest in is Strength. Having good amounts of Strength with increase your attack allowing you to kill faster.";
+ next;
+ mes "[Nameless One]";
+ mes "This is as much as I can tell you about stats. The rest you will have to figure out through your own experimentation.";
+ set @LISTEN, @LISTEN + 1;
+ goto sM_Menu;
+ sM_End:
+ set ASSIN_Q, 1;
+ if(@LISTEN > 0) goto L_Test;
+ mes "[Nameless One]";
+ mes "Hahaha! You're very cocky aren't you..... Don't want to listen to what I have to say eh?!";
+ next;
+ mes "[Nameless One]";
+ mes "Fine then........ I want to see whether or not you can pass this test.....";
+ next;
+
+L_Test:
+ mes "[Nameless One]";
+ mes "Ok, it's now time for the test. If you get more than 1 question ^FF5533wrong^000000, you wil fail the test.";
+ next;
+ mes "[Nameless One]";
+ mes "You will not be told which answers you got right or which answers you got wrong.";
+ next;
+ set @temp, rand(3);
+ set @score, 0;
+ mes "[Nameless One]";
+ mes "Alright, let us begin.....";
+ next;
+ if(@temp == 1) goto L_Quiz2;
+ if(@temp == 2) goto L_Quiz3;
+
+ L_Quiz1:
+ mes "[Nameless One]";
+ mes "1. What here is ^FF5533not^000000 a prerequisite of the skill Grimtooth?";
+ next;
+ menu "Cloak Lv 2",sM_1a, "Sonic Blow Lv 5",sM_1a, "Hide Lv 2",sM_1a, "Left hand mastery Lv 2",-;
+
+ set @score, @score + 10;
+ sM_1a:
+
+ mes "[Nameless One]";
+ mes "2. Enchant Poison makes your weapon what element?";
+ next;
+ menu "Poison",-, "Earth",sM_2a, "Fire",sM_2a, "Wind",sM_2a;
+
+ set @score, @score + 10;
+ sM_2a:
+
+ mes "[Nameless One]";
+ mes "3. What is the function of level 4 ^5533FFLeft^000000 Hand Mastery?";
+ next;
+ menu "Attack +80% ",sM_3a, "Attack +70%",-, "Attack +90%",sM_3a, "Attack +108%!!",sM_3a;
+
+ set @score, @score + 10;
+ sM_3a:
+
+ mes "[Nameless One]";
+ mes "4. What item do you need to use when you use the skill 'Venom Dust'?";
+ next;
+ menu "Green Gemstone",sM_4a, "Blue Gemstone",sM_4a, "Yellow Gemstone",sM_4a, "Red Gemstone",-;
+
+ set @score, @score + 10;
+ sM_4a:
+
+ mes "[Nameless One]";
+ mes "5. When you increase Enchant Poison up to level 5, what new skill will appear?";
+ next;
+ menu "Venom Splasher",sM_5a, "Grimtooth",sM_5a, "Sonic Blow",sM_5a, "Venom Dust",-;
+
+ set @score, @score + 10;
+ sM_5a:
+
+ mes "[Nameless One]";
+ mes "6. What skill listed below allows you to be walk around unseen?";
+ next;
+ menu "Hide",sM_6a, "Backslide",sM_6a, "Cloak",-, "Throw Sand",sM_6a;
+
+ set @score, @score + 10;
+ sM_6a:
+
+ mes "[Nameless One]";
+ mes "7. What is the requirement for Venom Dust?";
+ next;
+ menu "Enemy must be weak.",sM_7a, "Must use a red gemstone.",-, "You must have a certain amount of health.",sM_7a;
+
+ set @score, @score + 10;
+ sM_7a:
+
+ mes "[Nameless One]";
+ mes "8. What monster card listed below adds to Intelligence?";
+ next;
+ menu "Steel Chonchon",sM_8a, "Deviruchi",sM_8a, "Elder Willow",-, "Baphomet",sM_8a;
+
+ set @score, @score + 10;
+ sM_8a:
+
+ mes "[Nameless One]";
+ mes "9. How much sp do you use when you do a double hit using a dagger?";
+ next;
+ menu "15",sM_9a, "0",-, "10",sM_9a, "54",sM_9a;
+
+ set @score, @score + 10;
+ sM_9a:
+
+ mes "[Nameless One]";
+ mes "10. What is the best type of sword to use in the Bybalan dungeon?";
+ next;
+ menu "Sword of Piercing Wind",-, "Sword of Ice",sM_10a, "Sword of Earth",sM_10a, "Sword of Fire",sM_10a;
+
+ set @score, @score + 10;
+ sM_10a:
+ goto L_Score;
+
+ L_Quiz2:
+ mes "[Nameless One]";
+ mes "1. Which monster drops a slotted Katar?";
+ next;
+ menu "Male Thief Bug",sM_1b, "PecoPeco",sM_1b, "Desert wolf",-, "Kobold",sM_1b;
+
+ set @score, @score + 10;
+ sM_1b:
+
+ mes "[Nameless One]";
+ mes "2. What card listed below can be inserted into a Jur?";
+ next;
+ menu "Caramel",-, "Ghostring",sM_2b, "Baphomet Jr",sM_2b, "DoppelGanger",sM_2b;
+
+ set @score, @score + 10;
+ sM_2b:
+
+ mes "[Nameless One]";
+ mes "3. Which class can forge weapons?";
+ next;
+ menu "Merchant",sM_3b, "Blacksmith",-, "Thief",sM_3b, "Priest",sM_3b;
+
+ set @score, @score + 10;
+ sM_3b:
+
+ mes "[Nameless One]";
+ mes "4. Which weapon listed below isn't a Katar class weapon?";
+ next;
+ menu "Jur",sM_4b, "Jamadhar",sM_4b, "Infiltrator",sM_4b, "Gladius",-;
+
+ set @score, @score + 10;
+ sM_4b:
+
+ mes "[Nameless One]";
+ mes "5. In Bybalan Dungeon a large amount of monsters are of what elemental type?";
+ next;
+ menu "Water",-, "Fire",sM_5b, "Wind",sM_5b, "Earth",sM_5b;
+
+ set @score, @score + 10;
+ sM_5b:
+
+ mes "[Nameless One]";
+ mes "6. What monster listed below can't be tamed and turned into a cute pet?";
+ next;
+ menu "Poring",sM_6b, "Rhoda Frog",-, "Lunatic",sM_6b, "Poison Spore",sM_6b;
+
+ set @score, @score + 10;
+ sM_6b:
+
+ mes "[Nameless One]";
+ mes "7. Choose the monster that is weakest to fire.";
+ next;
+ menu "Kobold (Sword)",sM_7b, "Kobold (Mace)",sM_7b, "Kobold (Hammer)",sM_7b, "Kobold (Axe)",-;
+
+ set @score, @score + 10;
+ sM_7b:
+
+ mes "[Nameless One]";
+ mes "8. Choose the ^FF5533non^000000-elemental Katar.";
+ next;
+ menu "Katar of Raging Blaze",sM_8b, "Katar of Dusty Thornbush",sM_8b, "Sharpened Legbone of Ghoul",sM_8b, "Infiltrator",-;
+
+ set @score, @score + 10;
+ sM_8b:
+
+ mes "[Nameless One]";
+ mes "9. Pick out the monster that doesn't belong in the group.";
+ next;
+ menu "Poring",sM_9b, "Ghostring",sM_9b, "Creamy",-, "Drops",sM_9b;
+
+ set @score, @score + 10;
+ sM_9b:
+
+ mes "[Nameless One]";
+ mes "10. Choose a ^FF3355non^000000-undead monster.";
+ next;
+ menu "Drake",sM_10b, "Archer Skeleton",sM_10b, "Poison Spore",-, "Ancient Mummy",sM_10b;
+
+ set @score, @score + 10;
+ sM_10b:
+ goto L_Score;
+
+ L_Quiz3:
+ mes "[Nameless One]";
+ mes "1. What is the increased dodge rate you get when you have the 'Improve Dodge' skill at level 10?";
+ next;
+ menu "20",sM_1c, "30",-, "140",sM_1c, "15",sM_1c;
+
+ set @score, @score + 10;
+ sM_1c:
+
+ mes "[Nameless One]";
+ mes "2. Which monster can detect someone who is hidden/cloaked?";
+ next;
+ menu "Hodes",sM_2c, "Whispers",-, "Porings",sM_2c, "Munaks",sM_2c;
+
+ set @score, @score + 10;
+ sM_2c:
+
+ mes "[Nameless One]";
+ mes "3. Assassins can use dual weapons. Which set of weapons below ^5544FFcan^000000 an Assassin use?";
+ next;
+ menu "Jur and Mace",sM_3c, "Damascus and Claymore",sM_3c, "Damascus and Stiletto",-, "Axe and Stiletto",sM_3c;
+
+ set @score, @score + 10;
+ sM_3c:
+
+ mes "[Nameless One]";
+ mes "4. Which town do you become a Thief in?";
+ next;
+ menu "Prontera",sM_4c, "Lutie",sM_4c, "AldeBaren",sM_4c, "Morroc",-;
+
+ set @score, @score + 10;
+ sM_4c:
+
+ mes "[Nameless One]";
+ mes "5. Which card has ^FF3355nothing^000000 to do with ^5533FFagility^000000?";
+ next;
+ menu "Baphomet Jr Card",sM_5c, "Whisper Card",-, "Male Thief Bug Card",sM_5c, "Chonchon Card",sM_5c;
+
+ set @score, @score + 10;
+ sM_5c:
+
+ mes "[Nameless One]";
+ mes "6. What makes Assassins so special?";
+ next;
+ menu "Excellent singing ability",sM_6c, "Excellent acting ability",sM_6c, "Excellent dancing ability",sM_6c, "Excellent dodging ability",-;
+
+ set @score, @score + 10;
+ sM_6c:
+
+ mes "[Nameless One]";
+ mes "7. When an Assassin reaches a ^5533FFJob level of 50^000000, what is the added bonus he/she recieves to agility?";
+ next;
+ menu "7",sM_7c, "8",sM_7c, "9",sM_7c, "10",-;
+
+ set @score, @score + 10;
+ sM_7c:
+
+ mes "[Nameless One]";
+ mes "8. What piece of equipment cannot be used by an Assassin?";
+ next;
+ menu "Sword",sM_8c, "Golden helm",-, "Dagger",sM_8c, "Jur",sM_8c;
+
+ set @score, @score + 10;
+ sM_8c:
+
+ mes "[Nameless One]";
+ mes "9. When a Novice wants to become a Thief, what mushrooms does he/she need to steal?";
+ next;
+ menu "Orange Net Mushrooms",-, "Red Gooey Mushrooms",sM_9c, "Orange Gooey Mushrooms",-, "Hairy Orange Mushrooms",sM_9c;
+
+ set @score, @score + 10;
+ sM_9c:
+
+ mes "[Nameless One]";
+ mes "10. What card listed below is useless to an Assassin?";
+ next;
+ menu "Ghostring Card",sM_10c, "Elder Willow Card",-, "Skeleton Soldier Card",sM_10c, "Kobold Card",sM_10c;
+
+ set @score, @score + 10;
+ sM_10c:
+
+L_Score:
+ mes "[Nameless One]";
+ mes "Okay, let me just tally up the results.........";
+ next;
+ mes "[Nameless One]";
+ mes "Here is your test score: ^FF5544" +@score+ "^000000/100....";
+ if(@score < 90) goto L_Failed;
+ mes "... Very well, you passed the quiz.";
+ next;
+ mes "[Nameless One]";
+ mes "Wait don't get so excited yet, there's still another test... Speak to Barkadi and she'll tell you about the second test..";
+ savepoint "in_moc_16.gat", 21, 160;
+ set ASSIN_Q, 2;
+ close;
+
+ L_Failed:
+ mes "You failed the test!";
+ next;
+ mes "[Nameless One]";
+ mes "It looks like you're underqualified.... how could you expect to become an Assassin with a score like this?";
+ next;
+ mes "[Nameless One]";
+ mes "Since you don't seem to have an ounce of intelligence, I will give you some tips.......";
+ next;
+ mes "[Nameless One]";
+ mes "Speak with Assassin 'Kai', he may be able to help you out. If not try to interperet this code:";
+ mes "^5533FFwww.emperium.org......^000000";
+ next;
+ mes "[Nameless One]";
+ mes "It's rumored to have come from another world...... someplace called.... the 'internet'.......";
+ close2;
+ disablenpc "Assassin Kai#1";
+ enablenpc "Assassin Kai#2";
+ warp "in_moc_16.gat", 19, 76;
+ end;
+
+L_ReTest:
+ mes "[Nameless One]";
+ mes "Hmf your back..... so your still obsessed with becoming an Assassin eh?";
+ next;
+ mes "[Nameless One]";
+ mes "If it is your true desire to become an Assassin, I'll help you out......";
+ next;
+ mes "[Nameless One]";
+ mes "However, If you fail again.... I suggest you give up on becoming an Assassin!";
+ next;
+ menu "You're right, I'm not cut out for this.....",-, "I don't care! I'm not giving up!",M_Retry;
+
+ mes "[Nameless One]";
+ mes "~Cough~cough~... thats a good choice... Being an assassin is lonely.....";
+ next;
+ mes "[Nameless One]";
+ mes "Leave the assassin guild now. Go back to the town you came from!";
+ close2;
+ warp "moc_fild16.gat", 206, 241;
+ end;
+ M_Retry:
+ mes "[Nameless One]";
+ mes "Alright then... I will try to help you become a lonely Assassin, hahahahah.";
+ next;
+ goto L_Test;
+}
+
+
+//============================================================================//
+// Second Test
+//****************************************************************************//
+
+//=====================================================//
+// Part 1: Eliminate the Target
+//=====================================================//
+
+// Barcardi ==============================>\\
+in_moc_16.gat,21,165,4 script Barcardi 725,{
+
+ mes "[Barcardi]";
+ mes "I see that you passed the first test ^5533FF" + strcharinfo(0) + "^000000.";
+ M_Menu:
+ next;
+ menu "What is the next test?",M_0, "I want to start the test.",M_1, "I need to go back and rest.",M_End;
+
+ M_0:
+ mes "[Barcardi]";
+ mes "Let me tell you about your next test. This test has 2 parts to it. The first part will test your ability to find and eliminate targets.";
+ mes "You will need great precision and patience to pick out your targets among a group of non-targets.";
+ next;
+ mes "[Barcardi]";
+ mes "What you are looking for are monsters named ^5533FF'Job Change Target'^000000. Kill any other target and you will fail the test.";
+ mes "You will also be timed durring the test. If you take longer than ^FF55333 minutes^000000 to accomplish your mission you will also fail.";
+ next;
+ mes "[Barcardi]";
+ mes "Being able to identify the correct target quickly is a basic requirement of the Assassin.";
+ mes "Another requirement is stealth. An Assassin should NEVER be seen!";
+ next;
+ mes "[Barcardi]";
+ mes "The last portion of the test will require you to sneek past a large group of aggressive and dangerous monsters.";
+ mes "Your ^5544FFhide^000000 skill will come in handy here. You will have ^FF55333 minutes^000000 to finish this part of the test as well.";
+ next;
+ mes "[Barcardi]";
+ mes "If you get discovered by the monsters and are killed, or if you run out of time, you will fail the test.";
+ next;
+ mes "[Barcardi]";
+ mes "You must pass BOTH parts of the test in order to move on to the next exam.";
+ mes "If you fail one of them, you will have to start the whole test all over again.";
+ goto M_Menu;
+ M_1:
+ mes "[Barcardi]";
+ mes "Only 1 person can take the test at one time. When you are ready please enter the waiting room.";
+ mes "The test will automatically start when the testing rooms are open.";
+ close;
+ M_End:
+ mes "[Barcardi]";
+ mes ".... Okay, come back when you've had enough rest.....";
+ next;
+ mes "[Barcardi]";
+ mes "....... Oh, and don't forget to bring some courage with you loser!";
+ emotion 32;
+ next;
+ warp "moc_fild16.gat", 206, 241;
+ close;
+
+OnInit:
+ waitingroom "Assasin Test Waitingroom",8,"Barcardi::OnStart",1;
+ end;
+OnStart:
+ set $@SinUsers, getareausers("in_moc_16.gat", 60, 136, 93, 177);
+ set $@SinUsers, $@SinUsers + getareausers("in_moc_16.gat", 64, 46, 111, 105);
+ if ($@SinUsers > 0) end; // stops the rest of the script from running if there is somebody taking the test
+
+ if ((getwaitingroomstate(33)) == 0) end; // stops the rest of the script from running if there is no one in the waiting room
+ killmonsterall "in_moc_16.gat";
+ warpwaitingpc "in_moc_16.gat", 65, 150;
+ donpcevent "SinTest2";
+ end;
+}
+
+// Job Change Monsters ======================>\\
+in_moc_16.gat,1,1,0 script SinTest2 -1,{
+ set $@SinMob, 6;
+ disablenpc "sinWarp1";
+ // Target Monsters
+ monster "in_moc_16.gat",62,161,"Job Change Target",1002,1,"SinTest2::OnMobDead";
+ monster "in_moc_16.gat",85,169,"Job Change Target",1063,1,"SinTest2::OnMobDead";
+ monster "in_moc_16.gat",88,152,"Job Change Target",1002,1,"SinTest2::OnMobDead";
+ monster "in_moc_16.gat",90,143,"Job Change Target",1113,1,"SinTest2::OnMobDead";
+ monster "in_moc_16.gat",74,167,"Job Change Target",1031,1,"SinTest2::OnMobDead";
+ monster "in_moc_16.gat",77,173,"Job Change Target",1002,1,"SinTest2::OnMobDead";
+ // Decoy Monsters
+ monster "in_moc_16.gat",62,161,"Jabs change target",1063,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",85,169,"Warrior test target",1031,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",79,174,"Target",1113,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",85,156,"Job quest target",1063,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",74,171,"bouncer",1002,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",68,173,"I got yours right here!",1113,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",65,158,"Battle Target",1002,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",60,158,"Soldiet Target",1113,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",64,169,"Target",1002,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",71,173,"Job change ready",1063,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",77,172,"Don't hit me",1002,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",76,172,"Target",1063,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",75,172,"Not me",1113,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",67,167,"Keep up the good work",1063,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",86,170,"Job target change",1031,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",86,171,"Target",1002,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",86,170,"Target",1113,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",86,173,"Hope you can become an assassin..",10631,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",85,170,"Battle Monster",1031,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",89,156,"Target",1002,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",89,156,"Speed182",1113,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",89,156,"Battle Target",1063,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",89,156,"Battlefield Tears",1113,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",89,156,"Job Change Tears",1031,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",83,169,"Evil Servant",1002,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",63,158,"Dead soul",1063,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",63,157,"Target",1002,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",64,159,"Battle Target",1002,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",63,159,"Target",1063,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",63,159,"Archer Target",1002,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",63,159,"Swordman Target",1002,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",83,148,"Thief Target",1002,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",82,148,"Acolyte Target",1002,1,"SinTest2::OnFailed";
+ monster "in_moc_16.gat",84,148,"Merchant Target",1002,1,"SinTest2::OnFailed";
+ set $@sinRmX1, 60;
+ set $@sinRmY1, 136;
+ set $@sinRmX2, 93;
+ set $@sinRmY2, 177;
+ set $@wrpX, 19;
+ set $@wrpY, 161;
+ initnpctimer;
+ initnpctimer "TimerSin";
+ end;
+
+OnTimer500:
+ stopnpctimer;
+ areaannounce "in_moc_16.gat", 60, 136, 93, 177, "Okay the test is about to start! Remember to eliminate the monsters called 'Job Change Target'",8;
+ end;
+OnMobDead:
+ set $@SinMob, $@SinMob -1;
+ areaannounce "in_moc_16.gat", 60, 136, 93, 177, "Good. You have " + $@SinMob + " targets left to eliminate.",8;
+ if($@SinMob > 0) end;
+
+ stopnpctimer "TimerSin";
+ killmonsterall "in_moc_16.gat";
+ enablenpc "sinWarp1";
+ areaannounce "in_moc_16.gat", 60, 136, 93, 177,"Congratulations! You passed the test! A warp has just opened. Use it to leave the test room.",8;
+ addtimer 30000, "sinWarp1::OnTimer30000"; // warps player after 30 sec to move test along
+ end;
+OnFailed:
+ stopnpctimer "TimerSin";
+ areaannounce "in_moc_16.gat", 60, 136, 93, 177,"You failed!",8;
+ addtimer 3000, "TimerSin::OnTimer188000";
+ end;
+}
+
+// Observer ===========================>\\
+in_moc_16.gat,62,153,1 script Observer 55,{
+ mes "[Observer]";
+ mes "Don't mind me, I'm just here to see how well you do on your test.....";
+ close;
+}
+
+// Warp ==============================>\\
+in_moc_16.gat,87,137,0 script sinWarp1 45,2,1,{
+OnTimer30000:
+ killmonsterall "in_moc_16.gat";
+ enablenpc "Thomas";
+ warp "in_moc_16.gat", 87, 102;
+ end;
+}
+
+// Booby Traps ========================>\\
+in_moc_16.gat,68,158,0 script 01_1::SinTrap 139,0,0,{
+ stopnpctimer "TimerSin";
+ warp "in_moc_16.gat", 19, 161;
+ killmonsterall "in_moc_16.gat";
+ donpcevent "Barcardi::OnStart";
+ end;
+}
+in_moc_16.gat,69,158,0 duplicate(SinTrap) 01_2 139,0,0
+in_moc_16.gat,68,159,0 duplicate(SinTrap) 01_3 139,0,0
+in_moc_16.gat,69,159,0 duplicate(SinTrap) 01_4 139,0,0
+in_moc_16.gat,64,162,0 duplicate(SinTrap) 02_1 139,0,0
+in_moc_16.gat,65,162,0 duplicate(SinTrap) 02_2 139,0,0
+in_moc_16.gat,64,163,0 duplicate(SinTrap) 02_3 139,0,0
+in_moc_16.gat,65,163,0 duplicate(SinTrap) 02_4 139,0,0
+in_moc_16.gat,62,168,0 duplicate(SinTrap) 03_1 139,0,0
+in_moc_16.gat,63,168,0 duplicate(SinTrap) 03_2 139,0,0
+in_moc_16.gat,62,169,0 duplicate(SinTrap) 03_3 139,0,0
+in_moc_16.gat,63,169,0 duplicate(SinTrap) 03_4 139,0,0
+in_moc_16.gat,66,170,0 duplicate(SinTrap) 04_1 139,0,0
+in_moc_16.gat,67,170,0 duplicate(SinTrap) 04_2 139,0,0
+in_moc_16.gat,66,171,0 duplicate(SinTrap) 04_3 139,0,0
+in_moc_16.gat,67,171,0 duplicate(SinTrap) 04_4 139,0,0
+in_moc_16.gat,64,174,0 duplicate(SinTrap) 05_1 139,0,0
+in_moc_16.gat,64,175,0 duplicate(SinTrap) 05_2 139,0,0
+in_moc_16.gat,65,174,0 duplicate(SinTrap) 05_3 139,0,0
+in_moc_16.gat,65,175,0 duplicate(SinTrap) 05_4 139,0,0
+in_moc_16.gat,72,174,0 duplicate(SinTrap) 06_1 139,0,0
+in_moc_16.gat,72,175,0 duplicate(SinTrap) 06_2 139,0,0
+in_moc_16.gat,73,174,0 duplicate(SinTrap) 06_3 139,0,0
+in_moc_16.gat,73,175,0 duplicate(SinTrap) 06_4 139,0,0
+in_moc_16.gat,72,166,0 duplicate(SinTrap) 07_1 139,0,0
+in_moc_16.gat,72,167,0 duplicate(SinTrap) 07_2 139,0,0
+in_moc_16.gat,73,166,0 duplicate(SinTrap) 07_3 139,0,0
+in_moc_16.gat,73,167,0 duplicate(SinTrap) 07_4 139,0,0
+in_moc_16.gat,72,168,0 duplicate(SinTrap) 08_1 139,0,0
+in_moc_16.gat,72,169,0 duplicate(SinTrap) 08_2 139,0,0
+in_moc_16.gat,73,168,0 duplicate(SinTrap) 08_3 139,0,0
+in_moc_16.gat,73,169,0 duplicate(SinTrap) 08_4 139,0,0
+in_moc_16.gat,78,168,0 duplicate(SinTrap) 09_1 139,0,0
+in_moc_16.gat,78,169,0 duplicate(SinTrap) 09_2 139,0,0
+in_moc_16.gat,79,168,0 duplicate(SinTrap) 09_3 139,0,0
+in_moc_16.gat,79,169,0 duplicate(SinTrap) 09_4 139,0,0
+in_moc_16.gat,80,172,0 duplicate(SinTrap) 10_1 139,0,0
+in_moc_16.gat,81,172,0 duplicate(SinTrap) 10_2 139,0,0
+in_moc_16.gat,82,172,0 duplicate(SinTrap) 10_3 139,0,0
+in_moc_16.gat,83,172,0 duplicate(SinTrap) 10_4 139,0,0
+in_moc_16.gat,80,173,0 duplicate(SinTrap) 10_5 139,0,0
+in_moc_16.gat,81,173,0 duplicate(SinTrap) 10_6 139,0,0
+in_moc_16.gat,82,173,0 duplicate(SinTrap) 10_7 139,0,0
+in_moc_16.gat,83,173,0 duplicate(SinTrap) 10_8 139,0,0
+in_moc_16.gat,88,174,0 duplicate(SinTrap) 11_1 139,0,0
+in_moc_16.gat,88,175,0 duplicate(SinTrap) 11_2 139,0,0
+in_moc_16.gat,89,174,0 duplicate(SinTrap) 11_3 139,0,0
+in_moc_16.gat,86,166,0 duplicate(SinTrap) 12_1 139,0,0
+in_moc_16.gat,86,167,0 duplicate(SinTrap) 12_2 139,0,0
+in_moc_16.gat,87,166,0 duplicate(SinTrap) 12_3 139,0,0
+in_moc_16.gat,87,167,0 duplicate(SinTrap) 12_4 139,0,0
+in_moc_16.gat,90,164,0 duplicate(SinTrap) 13_1 139,0,0
+in_moc_16.gat,90,165,0 duplicate(SinTrap) 13_2 139,0,0
+in_moc_16.gat,91,164,0 duplicate(SinTrap) 13_3 139,0,0
+in_moc_16.gat,91,165,0 duplicate(SinTrap) 13_4 139,0,0
+in_moc_16.gat,84,160,0 duplicate(SinTrap) 14_1 139,0,0
+in_moc_16.gat,85,160,0 duplicate(SinTrap) 14_2 139,0,0
+in_moc_16.gat,86,160,0 duplicate(SinTrap) 14_3 139,0,0
+in_moc_16.gat,87,160,0 duplicate(SinTrap) 14_4 139,0,0
+in_moc_16.gat,88,160,0 duplicate(SinTrap) 14_5 139,0,0
+in_moc_16.gat,89,160,0 duplicate(SinTrap) 14_6 139,0,0
+in_moc_16.gat,84,161,0 duplicate(SinTrap) 14_7 139,0,0
+in_moc_16.gat,85,161,0 duplicate(SinTrap) 14_8 139,0,0
+in_moc_16.gat,86,161,0 duplicate(SinTrap) 14_9 139,0,0
+in_moc_16.gat,87,161,0 duplicate(SinTrap) 14_10 139,0,0
+in_moc_16.gat,88,161,0 duplicate(SinTrap) 14_11 139,0,0
+in_moc_16.gat,89,161,0 duplicate(SinTrap) 14_12 139,0,0
+in_moc_16.gat,86,154,0 duplicate(SinTrap) 15_1 139,0,0
+in_moc_16.gat,86,155,0 duplicate(SinTrap) 15_2 139,0,0
+in_moc_16.gat,87,154,0 duplicate(SinTrap) 15_3 139,0,0
+in_moc_16.gat,87,155,0 duplicate(SinTrap) 15_4 139,0,0
+in_moc_16.gat,84,150,0 duplicate(SinTrap) 16_1 139,0,0
+in_moc_16.gat,84,151,0 duplicate(SinTrap) 16_2 139,0,0
+in_moc_16.gat,85,150,0 duplicate(SinTrap) 16_3 139,0,0
+in_moc_16.gat,85,151,0 duplicate(SinTrap) 16_4 139,0,0
+in_moc_16.gat,90,150,0 duplicate(SinTrap) 17_1 139,0,0
+in_moc_16.gat,90,151,0 duplicate(SinTrap) 17_2 139,0,0
+in_moc_16.gat,91,150,0 duplicate(SinTrap) 17_3 139,0,0
+in_moc_16.gat,91,151,0 duplicate(SinTrap) 17_4 139,0,0
+in_moc_16.gat,86,146,0 duplicate(SinTrap) 18_1 139,0,0
+in_moc_16.gat,86,147,0 duplicate(SinTrap) 18_2 139,0,0
+in_moc_16.gat,87,146,0 duplicate(SinTrap) 18_3 139,0,0
+in_moc_16.gat,87,147,0 duplicate(SinTrap) 18_4 139,0,0
+
+
+//=========================================================//
+// Part 2: Hide and Sneak
+//=========================================================//
+
+// Thomas ===============================>\\
+in_moc_16.gat,89,98,1 script Thomas 118,4,2,{
+OnTimer600:
+ if(ASSIN_Q2 == 1) goto L_ReTest;
+ mes "[Thomas]";
+ mes "My name is Thomas and I am in charge of this portion of the test.";
+ next;
+ mes "[Thomas]";
+ mes "The goal of this test is to evade and avoid the enemy. You must make it to the warp without out attracting the attention of the monsters in the room.";
+ next;
+ mes "[Thomas]";
+ mes "You must make it through without dying. Because none of these monsters are your targets, you cannot not kill any of them.";
+ mes "Use your ablitly to flee and your ability to hide to help you in this test.";
+ next;
+ mes "[Thomas]";
+ mes "Alright.... Get ready.....";
+ next;
+ set ASSIN_Q2, 1;
+ disablenpc "Thomas";
+ donpcevent "SinTest2_2";
+ close;
+L_ReTest:
+ mes "[Thomas]";
+ mes "~sigh~.... I told you to use your hide skill!! Here let me heal you....";
+ next;
+ mes "[Thomas]";
+ mes "Alright, lets try this again.........";
+ percentheal 100, 100;
+ next;
+ disablenpc "Thomas";
+ donpcevent "SinTest2_2";
+ close;
+OnTouch:
+ warp "in_moc_16.gat",87,99;
+ addtimer 600, "Thomas::OnTimer600";
+ end;
+}
+
+
+// SinTest2_2 ===============================>\\
+in_moc_16.gat,1,1,1 script SinTest2_2 -1,{
+ monster "in_moc_16.gat", 81, 77, "MUMMY", 1041,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 83, 77, "MUMMY", 1041,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 85, 77, "MUMMY", 1041,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 88, 77, "MUMMY", 1041,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 90, 77, "MUMMY", 1041,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 78, 56, "MUMMY", 1041,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 80, 56, "MUMMY", 1041,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 91, 56, "MUMMY", 1041,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 93, 56, "MUMMY", 1041,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 95, 56, "MUMMY", 1041,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 97, 56, "MUMMY", 1041,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 79, 62, "Hydra", 1068,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 76, 65, "Hydra", 1068,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 96, 65, "Hydra", 1068,1, "SinTest2_2::OnMobDead";
+ monster "in_moc_16.gat", 99, 65, "Hydra", 1068,1, "SinTest2_2::OnMobDead";
+ set $@sinRmX1, 64;
+ set $@sinRmY1, 46;
+ set $@sinRmX2, 111;
+ set $@sinRmY2, 105;
+ set $@wrpX, 87;
+ set $@wrpY, 102;
+ areawarp "in_moc_16.gat", $@sinRmX1, $@sinRmY1, $@sinRmX2, $@sinRmY2, "in_moc_16.gat", $@wrpX, $@wrpY;
+ initnpctimer "TimerSin";
+ end;
+OnMobDead:
+ stopnpctimer "TimerSin";
+ areaannounce "in_moc_16.gat", 64, 46, 111, 105, ". . . You engaged a target without permission! You have failed the test!",8;
+ enablenpc "Thomas";
+ addtimer 3000, "TimerSin::OnTimer188000";
+ end;
+}
+
+// Warp ================================>\\
+in_moc_16.gat,87,48,2 script sinWarp2 45,2,2,{
+ mes "[Thomas]";
+ mes "Good job! There's only one test left, good luck!!";
+ stopnpctimer "TimerSin";
+ killmonster "in_moc_16.gat","SinTest2_2::OnMobDead";
+ set ASSIN_Q, 3;
+ set ASSIN_Q2, 0;
+ savepoint "in_moc_16.gat", 182, 180;
+ close2;
+ warp "in_moc_16.gat", 181, 183;
+ donpcevent "Barcardi::OnStart";
+ end;
+}
+
+
+//=======================================================//
+// Timer for Sin Test 2
+//=======================================================//
+in_moc_16.gat,1,1,0 script TimerSin -1,{
+OnTimer3000:
+ areaannounce "in_moc_16.gat", $@sinRmX1, $@sinRmY1, $@sinRmX2, $@sinRmY2, "I'll announce how much time you'll have left on a minute by minute basis.",8;
+ end;
+OnTimer5000:
+ areaannounce "in_moc_16.gat", $@sinRmX1, $@sinRmY1, $@sinRmX2, $@sinRmY2, "You have 3 minutes starting now!",8;
+ end;
+OnTimer35000:
+ donpcevent "Barcardi::OnStart";
+ end;
+OnTimer65000:
+ areaannounce "in_moc_16.gat", $@sinRmX1, $@sinRmY1, $@sinRmX2, $@sinRmY2, "You have 2 minutes left! ",8;
+ donpcevent "Barcardi::OnStart";
+ end;
+OnTimer95000:
+ donpcevent "Barcardi::OnStart";
+ end;
+OnTimer125000:
+ areaannounce "in_moc_16.gat", $@sinRmX1, $@sinRmY1, $@sinRmX2, $@sinRmY2, "1 minute left!",8;
+ donpcevent "Barcardi::OnStart";
+ end;
+OnTimer155000:
+ areaannounce "in_moc_16.gat", $@sinRmX1, $@sinRmY1, $@sinRmX2, $@sinRmY2, "30 seconds left!",8;
+ donpcevent "Barcardi::OnStart";
+ end;
+OnTimer180000:
+ areaannounce "in_moc_16.gat", $@sinRmX1, $@sinRmY1, $@sinRmX2, $@sinRmY2, "Test ending in 5 secs....",8;
+ end;
+OnTimer181000:
+ areaannounce "in_moc_16.gat", $@sinRmX1, $@sinRmY1, $@sinRmX2, $@sinRmY2, "4 seconds....",8;
+ end;
+OnTimer182000:
+ areaannounce "in_moc_16.gat", $@sinRmX1, $@sinRmY1, $@sinRmX2, $@sinRmY2, "3 seconds...",8;
+ end;
+OnTimer183000:
+ areaannounce "in_moc_16.gat", $@sinRmX1, $@sinRmY1, $@sinRmX2, $@sinRmY2, "2 seconds..",8;
+ end;
+OnTimer184000:
+ areaannounce "in_moc_16.gat", $@sinRmX1, $@sinRmY1, $@sinRmX2, $@sinRmY2, "1 second.",8;
+ end;
+OnTimer185000:
+ areaannounce "in_moc_16.gat", $@sinRmX1, $@sinRmY1, $@sinRmX2, $@sinRmY2, "Okay times up! You failed!",8;
+ end;
+OnTimer188000:
+ stopnpctimer;
+ areawarp "in_moc_16.gat", $@sinRmX1, $@sinRmY1, $@sinRmX2, $@sinRmY2, "in_moc_16.gat", 21, 160;
+ killmonsterall "in_moc_16.gat";
+ donpcevent "Barcardi::OnStart";
+ end;
+}
+
+
+//============================================================================//
+// Final Test
+//****************************************************************************//
+
+//=============================================//
+// Warp
+//=============================================//
+in_moc_16.gat,182,169,1 script sinWarp3 45,1,1,{
+ if(getareausers(("in_moc_16.gat"),148,74,187,117) > 0) goto L_Wait;
+ disablenpc "Huey#End";
+ disablenpc "Kai#End";
+ disablenpc "Nameless One#End";
+ disablenpc "Barcardi#End";
+ disablenpc "Observer#End";
+ disablenpc "Thomas#End";
+ warp "in_moc_16.gat", 167, 116;
+ end;
+
+ L_Wait:
+ mes "~ a message from the Guild Master...~";
+ mes "I am currently busy with another Assassin Candidate. Please wait patiently untill I am done with that person.";
+ close;
+}
+
+//==============================================//
+// Guild Master
+//==============================================//
+
+// Start Trigger ------------------------------------------------------------------
+in_moc_16.gat,167,114,3 script guildmaster_Trig#0 139,4,0,{
+ mes "[Guild Master]";
+ mes "Welcome ^5533FF" + strcharinfo(0) + "^000000. This is my private room.";
+ next;
+ mes "[Guild Master]";
+ mes "I am going to give you a simple test. All you have to do is come meet me.";
+ mes "Of course you will have to go through a maze of invisible walls to do so.....";
+ next;
+ mes "[Guild Master]";
+ mes "Hahah... It's really not as hard as it sounds. The purpose of the maze is actually to protect the guild from intruders.";
+ mes "But I decided to use it to test the determination of Assassin candidates as well.";
+ next;
+ mes "[Guild Master]";
+ mes "Well enough chit chat. I look forward to meeting you at the end of the maze.";
+ close;
+}
+
+// Guild Master -----------------------------------------------------------------------------
+in_moc_16.gat,149,80,4 script Guild Master 106,1,1,{
+ end;
+
+OnTouch:
+ mes "[Guild Master]";
+ mes "Ah it's nice to meet you ^5533FF" + strcharinfo(0) + "^000000. I have to apologize for making you walk through that maze.";
+ mes "I saw your resume just now, you have been described as a Thief with guts!";
+ next;
+ mes "[Guild Master]";
+ mes "We rarely find someone of your abilities and experience.";
+ next;
+ mes "[Guild Master]";
+ mes "If you don't mind I would like to ask you a few questions. There is nothing to be nervous about.";
+ mes "Just answer my questions truthfully..... if you lie, I'll kill you. That's all there is to it.";
+ next;
+ callsub sF_Questions1;
+ next;
+
+ mes "[Guild Master]";
+ mes "Unfortunately there are nit wits who are eager to be Assassins but have not yet had enough training.";
+ mes "They are a disgrace to our clan and their activities often result in very problematic situations.";
+ next;
+ mes "[Guild Master]";
+ mes "You may end up like one of them if you are not careful. Remember... once you become an Assassin there no turning back.";
+ next;
+ callsub sF_Questions2;
+ next;
+
+ mes "[Guild Master]";
+ mes "It was nice talking with you. You reminded me of the good ol' days.";
+ next;
+ mes "[Guild Master]";
+ mes ".... one second.....";
+ next;
+ mes "[Guild Master]";
+ mes "Everyone that tested " + strcharinfo(0) + "please come to my office .";
+ next;
+ mes "[Guild Master]";
+ mes "They will be here soon.";
+ next;
+ enablenpc "Huey#End";
+ enablenpc "Kai#End";
+ enablenpc "Nameless One#End";
+ enablenpc "Barcardi#End";
+ enablenpc "Observer#End";
+ enablenpc "Thomas#End";
+ mes "[Nameless One]";
+ mes "I am here.";
+ next;
+ mes "[Guild Master]";
+ mes "I would like to know what you think about ^5533FF" + strcharinfo(0) + "^000000 becoming an Assassin.";
+ next;
+ mes "[Nameless One]";
+ mes "I think ^5533FF" + strcharinfo(0) + "^000000 is a decent candidate.";
+ next;
+ mes "[Guild Master]";
+ mes "'Looks like the Nameless One more or less supports you. What are your thought Huey?";
+ next;
+ mes "[Huey]";
+ //if( == 1) mes "...What can I say, one of the best Assassin candidates I've seen in the last few weeks.";
+ //if( == 0) mes "... Although a little too mellow and gentle... sort of like a pussy cat, Hahahaha....";
+ mes "I think ^5533FF" + strcharinfo(0) + "^000000 will be fine as an Assassin.";
+ next;
+ mes "[Huey]";
+ mes "I have to get back so I will leave first.";
+ next;
+ mes "[Guild Master]";
+ mes "Okay then, thank you Huey.";
+ next;
+ mes "[Guild Master]";
+ mes "So... Observer, what is your opinion?";
+ disablenpc "Huey#End";
+ next;
+ mes "[Observer]";
+ mes ".... Well, not one of the better performance I've seen but ^5533FF" + strcharinfo(0) + "^000000 did pass, so I have no objections.";
+ next;
+ mes "[Guild Master]";
+ mes "Good. It seems we are all in agreement. I myself see no problems with ^5533FF" + strcharinfo(0) + "^000000........";
+ next;
+ mes "[Guild Master]";
+ mes "^5533FF" + strcharinfo(0) + "^000000 seems to know alot about Assassins and I don't think the solitary lifestyle will be too difficult for ^5533FF" + strcharinfo(0) + "^000000 either.";
+ next;
+ mes "[Guild Master]";
+ mes "... I think I've said enough. Here please take this........";
+ next;
+ if(JBLVL == 40) goto L_LowLvl;
+
+ L_HighLvl:
+ menu "Jur",sM_Jur, "Katar",sM_Kat, "Main Gauche",sM_Main, "Gladius",sM_Glad;
+
+ sM_Jur:
+ getitem 1251,1;
+ goto L_Cont1;
+ sM_Kat:
+ getitem 1253, 1;
+ goto L_Cont1;
+ sM_Main:
+ getitem 1208, 1;
+ goto L_Cont1;
+ sM_Glad:
+ getitem 1220, 1;
+ goto L_Cont1;
+
+ L_LowLvl:
+ set @temp, rand(1, 3);
+ if(@temp==1) getitem 1250, 1;
+ if(@temp==2) getitem 1217, 1;
+ if(@temp==3) getitem 1252, 1;
+
+ L_Cont1:
+ mes "[Guild Master]";
+ mes "Now go talk to ^5533FFAssassin Huey^000000 back at the guild entrance.";
+ mes "For some reason he always looks like he's ^5533FFangry^000000 about something......";
+ next;
+ mes "[Guild Master]";
+ mes "He will be the one promoting you to the Assassin class.";
+ next;
+ mes "[Guild Master]";
+ mes strcharinfo(0) + " has choosen the path of the Assassin. May you learn to endure the hardships that all Assassins must face.";
+ getitem 1008, 1;
+ next;
+ mes "[Guild Master]";
+ mes "Okay, everyone you can leave now. I will send you back to the entrance. Lets move......";
+ set ASSIN_Q, 4;
+ set ASSIN_Q2, 0;
+ disablenpc "Kai#End";
+ disablenpc "Nameless One#End";
+ disablenpc "Barkadi#End";
+ disablenpc "Observer#End";
+ disablenpc "Thomas#End";
+ savepoint "in_moc_16.gat", 18, 28;
+ close2;
+ warp "in_moc_16.gat", 18, 28;
+ end;
+
+
+sF_Questions1:
+ mes "[Guild Master]";
+ mes "First of all, what do you think is most important to an Assassin?";
+ next;
+ menu "More power.",M_1, "An Assassin's pride.",M_2, "Endless training.",M_3;
+
+ M_1:
+ mes "[Guild Master]";
+ mes "It is true that an Assassin is stronger than a Thief.";
+ mes "By becoming an Assassin you will be capable of doing things no mere Thief could dream of.";
+ next;
+ mes "[Guild Master]";
+ mes "But, why do you want that kind of power?";
+ next;
+ menu "To take revenge on those who hurt me.",sM_1a, "I will use that power to become wealthy.",sM_1b,
+ "To explore new places.",sM_1c;
+
+ sM_1a:
+ mes "[Guild Master]";
+ mes "Vengence huh............ It seems that everyone has enemys these days........";
+ next;
+ mes "[Guild Master]";
+ mes "However, vengence is fueled by emotions, and as an Assassin one cannot give into these emotions.";
+ mes "An Assassin must be cold blooded... even heartless.... He/she must not let anything get in the way of the task at hand.";
+ next;
+ mes "[Guild Master]";
+ mes "Emotions are the biggest threat to an Assassin..... they cause confusion and clutter up the mind.....";
+ mes "An Assassin must always have a clear train of thought in order to be successful.";
+ next;
+ mes "[Guild Master]";
+ mes "If you are to become an Assassin, you must find a way to control your emotions.... do not let your emotions control you.";
+ return;
+ sM_1b:
+ mes "[Guild Master]";
+ mes "Money is an important part of the world.... however it is meaningless to an Assassin.";
+ mes "An Assassin's purpose is to carry out the dark, and unpleasant duties that no one else is capable of.....";
+ next;
+ mes "[Guild Master]";
+ mes "True Assassins do no think about fame or fortune.";
+ return;
+ sM_1c:
+ mes "[Guild Master]";
+ mes "An interesting idea..... you obviously seek to learn more about the world around you.";
+ mes "In knowing more about the world, you gain better insight into yourself.";
+ next;
+ mes "[Guild Master]";
+ mes "But remember that your path will be filled with loneliness. It is a reality that all Assassins must face.";
+ next;
+ mes "[Guild Master]";
+ mes "For those who have succeeded as Assassins, they have not only learned to except this fact.... but they have learned to embrace it.";
+ return;
+
+ M_2:
+ mes "[Guild Master]";
+ mes "Pride you say? Did another Assassin mention this to you?.....";
+ next;
+ mes "[Guild Master]";
+ mes "Unfortunately pride without ability means nothing. Hmm... what are you trying to find or gain by becoming an Assassin?";
+ next;
+ mes "[Guild Master]";
+ mes "Most of the people you have met in this guild are my bretheren and they have struggled and sacrifced a great deal as Assassins.";
+ mes "It is beacuse they have overcome so much hardship, that they can take great pride in being Assassins.";
+ next;
+ mes "[Guild Master]";
+ mes "You, on the other hand, have not yet faced the difficulties that Assassins do.";
+ mes "What then, do you mean when you speak of 'an Assassin's pride'?";
+ next;
+ menu "The idea of total solitude.",sM_2a, "The ability to make easy money.",sM_2b, "They just look cool.",sM_2c;
+
+ sM_2a:
+ mes "[Guild Master]";
+ mes "It is true that the life of an Assassin is lonesome. In a way, to be an Assassin, is to be non-existant....";
+ next;
+ mes "[Guild Master]";
+ mes "We never make direct contact with any of our clients. The people that we do make contact with..... we kill.";
+ next;
+ mes "[Guild Master]";
+ mes "The only people that know about Assassins are other Assassins....";
+ mes "Even then..... we sheild and hide our true inner selves from each other..........";
+ next;
+ mes "[Guild Master]";
+ mes "Even so... having comrades is better that nothing.";
+ mes "I recommend you have at least one partner to back you up durring a mission.";
+ return;
+ sM_2b:
+ mes "[Guild Master]";
+ mes "Yes, money is important.";
+ mes "But don't you think we assassins have much more important thing to deal with?";
+ return;
+ sM_2c:
+ mes "[Guild Master]";
+ mes "...So you just think Assassins are cool looking......... ~sigh~";
+ mes "This is really sad.... Believe me when I say to you that the purpose of the Assassins is not to merely look good.....";
+ next;
+ mes "[Guild Master]";
+ mes ".... But it is to do those dark deeds which no one wants to nor can do.";
+ return;
+ M_3:
+ mes "[Guild Master]";
+ mes "Interesting..... I see that you have already trained a great deal. I suppose that even more training couldn't hurt.....";
+ next;
+ mes "[Guild Master]";
+ mes "Is there any specific area that you would like to improve upon?";
+ next;
+ menu "Techniques.",sM_3a, "More challenging targets.",sM_3b, "Mental toughness.",sM_3c;
+
+ sM_3a:
+ mes "[Guild Master]";
+ mes "As an Assassin you will have access to many new skills. The harder you train the better you will be at using these skills.";
+ next;
+ mes "[Guild Master]";
+ mes "To be a great Assassin you must use these skills masterfully.";
+ return;
+ sM_3b:
+ mes "[Guild Master]";
+ mes "Constantly challenging yourself is a great way to improve your abilities.";
+ mes "Facing the same targets over and over again will only make you weaker.";
+ next;
+ mes "[Guild Master]";
+ mes "Good Assassins are always finding ways to challenge themsleves.";
+ return;
+ sM_3c:
+ mes "[Guild Master]";
+ mes "This is probably the most important aspect to work on for an Assassin.";
+ mes "Not only do Assassins have to be of sound body but they also have to be of sound mind.";
+ next;
+ mes "[Guild Master]";
+ mes "It is crucial for Assassins to be mentally tough, for they are constantly under pressure.";
+ mes "The type of situations Assassins are faced with on a daily basis are unimaginable to most ordinary people.";
+ next;
+ mes "[Guild Master]";
+ mes "This is why a true Assassin is constantly training his/her mind.";
+ return;
+
+sF_Questions2:
+ mes "[Guild Master]";
+ mes "So let me ask you this.... If you became an Assassin right now, what is the first thing you would do?";
+ next;
+ menu "Go into battle!",M_4, "Go back to the ones waiting for me.",M_5, "Learn more about Assassins.",M_6;
+
+ M_4:
+ mes "[Guild Master]";
+ mes "Battle.... is that all?";
+ next;
+ menu "I would level up quickly.",sM_4a, "I would test my new abilities.",sM_4b, "I would go explore new places.",sM_4c;
+
+ sM_4a:
+ mes "[Guild Master]";
+ mes "Whether or not your an Assassin shouldn't change how quickly you train.";
+ mes "You would gain the same experience you did as a Thief. So take it slowly okay?";
+ return;
+ sM_4b:
+ mes "[Guild Master]";
+ mes "Testing out your new found skills is good.";
+ mes "I can understand the excitement you will feel when you have gained new abilities as an Assassin.";
+ next;
+ mes "[Guild Master]";
+ mes "Just don't let that get in the way of your duites.";
+ return;
+ sM_4c:
+ mes "[Guild Master]";
+ mes "Exploration is good. Find new places and meet new people.";
+ mes "You'll never know when you will meet a prospective client.";
+ return;
+
+ M_5:
+ mes "[Guild Master]";
+ mes "Someone's waitng for you?";
+ next;
+ menu "Yes, the people I met in this guild.",sM_5a, "A friend and partner.",sM_5b, "The love of my life.",sM_5c;
+
+ sM_5a:
+ mes "[Guild Master]";
+ mes "Haha. I think they would be happy to know that you are thinking of them.";
+ mes "No matter where you go, or what you do, you will always have a place here in this guild.";
+ return;
+ sM_5b:
+ mes "[Guild Master]";
+ mes "Good friends can be hard to find, and those that you can call a partner are even rarer.";
+ mes "It's good that you have a friend that you can trust and work with.";
+ return;
+ sM_5c:
+ mes "[Guild Master]";
+ if(sex == 1) mes "Oh you have a girlfriend... then become her shadow and protect her.";
+ if(sex == 0) mes "Oh you have a boyfriend... then become his shadow and protect him.";
+ next;
+ mes "[Guild Master]";
+ mes "As an Assassin you will find it very difficult to ever meet someone else, so make sure you treasure what you have now.";
+ return;
+
+ M_6:
+ mes "[Guild Master]";
+ mes "Okay, so what is it that you would like to know?";
+ next;
+ menu "Where's the easiest place to train?",sM_6a, "Where do Assassins usually go to gain exp?",sM_6b,
+ "How does an Assassin make money?",sM_6c;
+
+ sM_6a:
+ mes "[Guild Master]";
+ mes "Where ever an Assassin may be, he/she must learn to adapt and survive.";
+ mes "Assassins do not have the luxury of choosing where they work.";
+ return;
+ sM_6b:
+ mes "[Guild Master]";
+ mes "There are many experienced Assassins wandering the continent of Rune-Midgard. Seek them out and ask for their knowledge.";
+ next;
+ mes "[Guild Master]";
+ mes "The best way to gain experience however, is to go out and experience the world for yourself.";
+ return;
+ sM_6c:
+ mes "[Guild Master]";
+ mes "Damit, is money that important to you? An Assassins life does not revolve around money.....";
+ return;
+
+}
+
+
+//=============================================//
+// Maze Triggers
+//=============================================//
+in_moc_16.gat,170,90,0 script maze_trig#1 139,0,0,{
+ mes "[Guild Master]";
+ mes "There's no way to walk there, try another way.";
+ close;
+}
+in_moc_16.gat,150,85,0 script maze_trig#2 139,0,0,{
+ mes "[Guild Master]";
+ mes ".... Getting warmer.... you're almost there.....";
+ close;
+}
+in_moc_16.gat,153,85,0 script maze_trig#3 139,0,0,{
+ mes "[Guild Master]";
+ mes "You can't walk there..";
+ mes "Good, your almost there, keep walking.";
+ mes "You have to walk in between a pole and a.....";
+ mes "you got to turn a round in order to get in.";
+ close;
+}
+in_moc_16.gat,160,85,0 script maze_trig#4 139,0,0,{
+ mes "[Guild Master]";
+ mes "There's no way to walk there, try another way.";
+ close;
+}
+in_moc_16.gat,175,89,0 script maze_trig#5 139,0,0,{
+ mes "[Guild Master]";
+ mes "That way leads to Botogun..";
+ mes "What are going to do there?";
+ close;
+}
+in_moc_16.gat,164,88,0 script maze_trig#6 139,0,0,{
+ mes "[Guild Master]";
+ mes "Good.... you're on the right track.";
+ close;
+}
+in_moc_16.gat,149,95,0 script maze_trig#7 139,0,0,{
+ mes "[Guild Master]";
+ mes "Good, you found the path.";
+ close;
+}
+in_moc_16.gat,180,101,0 script maze_trig#8 139,0,0,{
+ mes "[Guild Master]";
+ mes "... It looks like that's not that way...";
+ close;
+}
+in_moc_16.gat,186,107,0 script maze_trig#9 139,0,0,{
+ mes "[Guild Master]";
+ mes "...Not that way either...";
+ close;
+}
+
+
+//================================================//
+// Decoy Chief
+//================================================//
+in_moc_16.gat,186,81,0 script Guild Master#2 55,{
+ mes "[Guild Master Botogun]";
+ mes "I'm sorry but I am not the person in charge here.";
+ mes "The real Guild Chief is on the other side.";
+ close;
+}
+
+
+//=================================================//
+// Guild Npcs
+//=================================================//
+in_moc_16.gat,156,85,1 script Huey#End 55,{end;}
+in_moc_16.gat,156,83,1 script Kai#End 730,{end;}
+in_moc_16.gat,156,81,1 script Nameless One#End 106,{end;}
+in_moc_16.gat,156,79,1 script Barcardi#End 725,{end;}
+in_moc_16.gat,156,77,1 script Observer#End 55,{end;}
+in_moc_16.gat,156,75,1 script Thomas#End 118,{end;}
+
+
+//==============================================================================
+// mapflag
+//==============================================================================
+in_moc_16.gat mapflag nomemo
+in_moc_16.gat mapflag noteleport
+in_moc_16.gat mapflag nosave SavePoint
+in_moc_16.gat mapflag nopenalty
+in_moc_16.gat mapflag nobranch
+in_moc_16.gat mapflag noexp
+in_moc_16.gat mapflag noloot
diff --git a/npc/jobs/2-1/blacksmith.txt b/npc/jobs/2-1/blacksmith.txt
new file mode 100644
index 000000000..2921ad71e
--- /dev/null
+++ b/npc/jobs/2-1/blacksmith.txt
@@ -0,0 +1,1482 @@
+//===== eAthena Script =======================================
+//= Blacksmith Quest
+//===== By: ==================================================
+//= EREMES THE CANIVALIZER(Aegis)
+//= Translated by: yoshiki.
+//= Converted by: Komurka.
+//= Optimized and further edited by kobra_k88.
+//= Further bugfixed and tested by Lupus
+//===== Current Version: =====================================
+//= 1.8a
+//===== Compatible With: =====================================
+//= eAthena 1.0+
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Changed some npc names to the iRO names. Changed some variable
+//= names and labels. Edited some text.[kobra_k88]
+//= Removed "if(JobLevel > 48) goto higher". It was a left over line.
+//= Thx to "Decker".[kobra_k88]
+//= Fixed some typos, thanks to Riotblade [celest]
+//= 1.3-1.5 Added Baby Class support [Lupus]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where
+//= to go. [Lupus]
+//= 1.7 item quantity/ids typos fix
+//= 1.8 Moved the Quest to Einbroch [Poki#3]
+==============================================================
+
+
+
+//<==================================================== Blacksmith Altiregen (Job changer)==================================================>\\
+ein_in01.gat,18,28,4 script Guildsman Altiregen 731,{
+ callfunc "F_BlockHigh",29,"Merchant High",34,"White Smith","Blacksmith Altiregen";
+
+ if (BaseJob == 5) goto L_Merc;
+ mes "[Blacksmith Altiregen]";
+ mes "Welcome! We're the masters of the metal, blacksmiths!";
+ mes "Our skills in creating weapons, in a way, is almost an art form!.";
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "Those weapons, heh, can be sold for quite a profit as well.";
+ next;
+ mes "[Blacksmith Altiregen]";
+ callfunc "Bla_check";
+
+
+L_Merc:
+ mes "[Blacksmith Altiregen]";
+ if (BSMITH_Q == 1) goto L_Test1;
+ if (BSMITH_Q == 2 || BSMITH_Q == 3) goto L_Test2and3;
+ if (BSMITH_Q == 4) goto L_Test4;
+ if (BSMITH_Q == 5) goto L_Change;
+ mes "Hello fellow merchant! Are you here to apply?";
+ mes "Write your name and your job level on this piece of paper.";
+ next;
+ menu "Apply",M_App,"What's required?",M_Req,"Not now...",M_NtNow;
+
+ M_App:
+ if(JobLevel < 40) goto sL_Lowlvl;
+ if(JobLevel == 50) goto sL_HighLvl;
+ mes "[Blacksmith Altiregen]";
+ mes "Hmmm...";
+ mes "Your job level is satisfactory.";
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "Good, but we don't just accept anybody.";
+ mes "We'll need to test your merchant skills and your determination.";
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "Rustle Rustle";
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "Hmmm, the guildsman ^5533FFGeshupenschte in Einbech^000000, is a bit short of hands.";
+ mes "Go help him, that's the first test.";
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "Have a nice trip!";
+ set BSMITH_Q,1;
+ set JBLVL, 40;
+ close;
+
+ sL_Lowlvl:
+ mes "[Blacksmith Altiregen]";
+ mes "You need more training as a merchant. We only accept job level 40+";
+ mes "As much as I want to accept you, we have regulations. Sorry, but return later.";
+ close;
+ sL_HighLvl:
+ mes "[Blacksmith Altiregen]";
+ mes "Wow! I'm impressed! You've done a lot of training there. You know what they say, with hard work comes great rewards.";
+ emotion 1;
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "Well, first things first..... The guildsman ^5533FFGeshupenschte in Einbech^000000, is a bit short on help.";
+ mes "Go help him, that's the first test.";
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "Have a nice trip!";
+ set BSMITH_Q,1;
+ set JBLVL, 50;
+ close;
+ M_Req:
+ mes "[Blacksmith Altiregen]";
+ mes "What is required?";
+ mes "First, be job level 40 at least.";
+ mes "And pass the test.";
+ mes "That's it. The test is a bit complicated, but passable.";
+ mes "The test involves delievering items and being quized on the special items of certain regions and then being tested on knowledge of blacksmiths.";
+ close;
+ M_NtNow:
+ mes "[Blacksmith Altiregen]";
+ mes "Alright, see you later.";
+ close;
+
+
+L_Test1:
+ mes "You didn't leave yet? I told you to go see Geshupenschte in Einbech. See you then.";
+ emotion 1;
+ close;
+
+L_Test2and3:
+ mes "How was the work Geshupenschte gave you? He can be a pain sometimes.";
+ close;
+L_Test4:
+ if (BSMITH_Q2 == 1) goto L_NotDone;
+ mes "Congrats! You've passed Geshupenschte's tests!";
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "Hmm? Heh, there is one last test you know.";
+ mes "The guildsman for the last test is Mitmayer, go talk to her now.";
+ next;
+ menu "Cruel, but I'll go.",-,"......I don't wanna travel T_T",M_dontgo;
+
+ set BSMITH_Q2, 1;
+ mes "[Blacksmith Altiregen]";
+ mes "I hope you do, because the blacksmith's guild doesn't like shaming it's status by hiring idiots!";
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "If such a thing happened, I can see the guild crumbling down, sob T_T";
+ mes "Well..... Go find her!";
+ close;
+ M_dontgo:
+ mes "[Blacksmith Altiregen]";
+ mes "What!? You're giving up!?!.........";
+ emotion 1;
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "HOW DARE YOU INSULT OUR GUILD LIKE THAT!";
+ mes "Leave now! Don't you dare even DREAM about becoming a blacksmith!";
+ emotion 23;
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "Can't endure ANYTHING can you!? How do you plan to become a blacksmith if you can't do these simple tasks!?";
+ emotion 6;
+ close;
+
+ L_NotDone:
+ mes "Hmmm? Didn't you say you're going?";
+ mes "Sorry, but you gotta pass the test.";
+ close;
+
+L_Change:
+ if(countitem(1005) < 1) goto L_NoHam;
+ if(SkillPoint > 0) mes "You need to use up all of your skill points before I can make you a Blacksmith.";
+ if(SkillPoint > 0) close;
+ mes "Whoah, I can see the fire in your eyes! You've passed!!";
+ mes "I'll grant you the power to work metals!";
+ next;
+ delitem 1005,1;
+ callfunc "Job_Change",Job_Blacksmith;
+ mes "[Blacksmith Altiregen]";
+ mes "Don't forget! We're the artists that put beauty into metal! Don't you dare forget that!";
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "Here's a present! Congrats on passing!";
+ if(JBLVL != 50) getitem 999,5;
+ if(JBLVL == 50) getitem 999,10;
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+ emotion 21;
+ close;
+
+ L_NoHam:
+ mes "Did you forget something? You need to show me the ^5533FFHammer of Blacksmiths^000000 to prove that you've passed all of the tests.";
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "You DO have it..... don't you???";
+ next;
+ menu "Oh that thing... let me just get it out of storage...",-, "Actually I sold it for pots..... now what?",sM_What;
+
+ mes "[Blacksmith Altiregen]";
+ mes "....... grrrrrrr.......";
+ emotion 7;
+ close;
+ sM_What:
+ mes "[Blacksmith Altiregen]";
+ mes ".......... I'll tell you what.............";
+ next;
+ mes "[Blacksmith Altiregen]";
+ mes "YOU GET TO START ALL OVER!!!!";
+ set BSMITH_Q, 0;
+ set BSMITH_Q2, 0;
+ emotion 32;
+ close;
+}
+
+
+//<=============================================== Geshupenschte: 1st, 2nd, 3rd Test ===================================================>\\
+ein_in01.gat,201,27,4 script Geshupenschte 63,{
+
+ if(BaseJob==5) goto L_merchant;
+ mes "[Geshupenschte]";
+ mes "Hello sir! I'm the blacksmith. Geshupenschte! Nice to meet you!";
+ next;
+ mes "[Geshupenschte]";
+ mes "Blacksmith is such a great job!! Don't you think so? Hahahahahahah!";
+ emotion 18;
+ close;
+
+L_merchant:
+ mes "[Geshupenschte]";
+ if (BSMITH_Q == 1) goto L_Test1;
+ if (BSMITH_Q == 2) goto L_Test2;
+ if (BSMITH_Q == 3) goto L_Test3;
+ if (BSMITH_Q == 4) goto L_Done;
+ if (BSMITH_Q == 5) goto L_GoChange;
+ mes "Hoho!! A merchant! Excellent! I was in need of some help!!";
+ next;
+ mes "[Geshupenschte]";
+ mes "Of course.... I wouldn't want to bother someone as busy as yourself. Go on your way if you must!....";
+ next;
+ mes "[Geshupenschte]";
+ mes "~Dum dee dum dee dum~.....I am the best.... I am a blacksmith....(singing)";
+ next;
+ mes "[Geshupenschte]";
+ mes "What? Why are you still here?";
+ emotion 1;
+ close;
+
+// Test 1-----------------------------------------------------------------
+L_Test1:
+ if (BSMITH_Q2 == 1) goto L_ReTest1;
+ mes "You're the one sent by the guild, right?";
+ mes "Whew, the people order so many items >_> We don't have enough people to deliever.";
+ next;
+ mes "[Geshupenschte]";
+ mes "Well, you ARE the one sent by the guild, right?";
+ mes "Oh well, hopefully >_>";
+ next;
+ mes "[Geshupenschte]";
+ mes "See, this kid a few days ago,";
+ mes "he wasted SO much of our money.";
+ mes "Just because I sent him on a semi complicated errand >_>";
+ mes "Now, let me ask a few questions!";
+ next;
+ menu "Alright",M_Rdy,"Wait, let me go and get prepared",-;
+
+ mes "[Geshupenschte]";
+ mes "Ok, return after you're ready.";
+ mes "I'll be waiting here.";
+ close;
+ M_Rdy:
+ set @score, 0;
+ set @temp, rand(2);
+ if (@temp == 1) goto L_setq2;
+
+ L_setq1:
+ mes "[Geshupenschte]";
+ mes "1. Which town and local item don't match?";
+ next;
+ menu "Morroc - Thief Clothes",q1,"Alberta - 2 Hand Axe",q1,"Comodo - Berserk Potion",q1,"Alberta - Swordmace",-;
+
+ set @score,@score+10;
+ q1:
+
+ mes "[Geshupenschte]";
+ mes "2. What does the smith skill Hammerfall do?";
+ next;
+ menu "Stun",-,"Blind",q2,"Poison",q2,"Sleep",q2;
+
+ set @score,@score+10;
+ q2:
+
+ mes "[Geshupenschte]";
+ mes "3. What is a merchant not good at?";
+ next;
+ menu "Opening Shops",q3,"Buying Cheap",q3,"Selling High",q3,"Running Fast",-;
+
+ set @score,@score+10;
+
+ q3:
+
+ mes "[Geshupenschte]";
+ mes "4. Where do you buy Blue Gems?";
+ next;
+ menu "Alberta",q4,"Morroc",q4,"Geffen",-,"Prontera",q4;
+
+ set @score,@score+10;
+
+ q4:
+
+ mes "[Geshupenschte]";
+ mes "5. Where is the Geffen Tool Shop from the tower?";
+ next;
+ menu "8 o'clock",-,"11 o'clock",q5,"6 o'clock",q5,"5 o'clock",q5;
+
+ set @score,@score+10;
+
+ q5:
+
+ mes "[Geshupenschte]";
+ mes "6. What weapon can't be used by merchants?";
+ next;
+ menu "Stiletto",q6,"Buster",q6,"Chain",q6,"Bible",-;
+
+ set @score,@score+10;
+
+ q6:
+
+ mes "[Geshupenschte]";
+ mes "7. Which has the highest def?";
+ next;
+ menu "Panty",q7,"Mink Coat",-,"Wooden Mail",q7,"Silk Robe",q7;
+
+ set @score,@score+10;
+
+ q7:
+
+ mes "[Geshupenschte]";
+ mes "8. How many times can you upgrade a lvl 3 weapon safely?";
+ next;
+ menu "+3 ",q8,"+4 ",q8,"+5 ",-,"+6 ",q8;
+
+ set @score,@score+10;
+ q8:
+
+ mes "[Geshupenschte]";
+ mes "9. What can you make with Trunks?";
+ next;
+ menu "Sakkat",-,"Ghost Bandana",q9,"Majestic Goat",q9,"Antlers",q9;
+
+ set @score,@score+10;
+ q9:
+
+ mes "[Geshupenschte]";
+ mes "10. What is the most important to merchants!?";
+ next;
+ menu "Helpfulness",-,"Honor",-,"Money",-,"Honesty",-;
+
+ set @score,@score+10;
+
+ if (BSMITH_Q2 == 1) goto L_result2;
+ goto L_result;
+
+ L_setq2:
+ mes "[Geshupenschte]";
+ mes "1. Which town and local item is mismatched?";
+ next;
+ menu "Aldebaran - Ygg Leaf",q10,"Alberta - Hammer",q10,"Comodo - Berserk Potion",q10,"Aldebaran - Hammer",-;
+
+ set @score,@score+10;
+ q10:
+
+ mes "[Geshupenschte]";
+ mes "2. How much does Jellopy sell for?";
+ next;
+ menu "1z",q11,"2z",q11,"3z",-,"4z",q11;
+
+ set @score,@score+10;
+ q11:
+
+ mes "[Geshupenschte]";
+ mes "3. What's necessary to make a shop?";
+ next;
+ menu "Must have cart",-,"Item to sell",q12,"Have weapon equiped",q12,"Wear Armor",q12;
+
+ set @score,@score+10;
+ q12:
+
+ mes "[Geshupenschte]";
+ mes "4. Where is the merchant guild located?";
+ next;
+ menu "Alberta",-,"Morroc",q13,"Geffen",q13,"Prontera",q13;
+
+ set @score,@score+10;
+ q13:
+
+ mes "[Geshupenschte]";
+ mes "5. Where is the Morroc Weapon Shop from the center?";
+ next;
+ menu "7 o'clock",q14,"11 o'clock",q14,"6 o'clock",q14,"5 o'clock",-;
+
+ set @score,@score+10;
+ q14:
+
+ mes "[Geshupenschte]";
+ mes "6. What can't a merchant equip?";
+ next;
+ menu "Main Gauche",q15,"Claymore",-,"Chain",q15,"2 hand axe",q15;
+
+ set @score,@score+10;
+ q15:
+
+ mes "[Geshupenschte]";
+ mes "7. What has the highest defense?";
+ next;
+ menu "Panty",q16,"Mink Coat",-,"Wooden Mail",q16,"Silk Robe",q16;
+
+ set @score,@score+10;
+ q16:
+
+ mes "[Geshupenschte]";
+ mes "8. How many times can you safely upgrade a lvl 4 weapon?";
+ next;
+ menu "+3 ",q17,"+4",-,"+5",q17,"+6",q17;
+
+ set @score,@score+10;
+ q17:
+
+ mes "[Geshupenschte]";
+ mes "9. Which monster doesn't drop iron ore?";
+ next;
+ menu "Chonchon",q18,"Steel Chonchon",q18,"Zerom",q18,"Anolian",-;
+
+ set @score,@score+10;
+ q18:
+
+ mes "[Geshupenschte]";
+ mes "10. What is the most important to merchants?!";
+ next;
+ menu "Honesty",-,"Helpfulness",-,"Money",-,"Posture",-;
+
+ set @score,@score+10;
+
+ if (BSMITH_Q2 == 1) goto L_result2;
+ goto L_result;
+
+L_result:
+ mes "[Geshupenschte]";
+ mes "Good!";
+ next;
+ mes "[Geshupenschte]";
+ mes "Lets see....your score is ^5533FF"+@score+".^000000";
+ if (@score == 100) goto L_perfect;
+ mes ".............";
+ next;
+ mes "[Geshupenschte]";
+ mes "Sorry friend, I don't want to give you the job.";
+ mes "You need just a bit more knowledge. Go study some more";
+ set BSMITH_Q2, 1;
+ close;
+
+ L_perfect:
+ set BSMITH_Q,2;
+ set BSMITH_Q2, 0;
+ mes "Perfect!";
+ next;
+ mes "[Geshupenschte]";
+ mes "Then you definatly can do the errand!";
+ mes "Are you prepared?";
+ close;
+L_result2:
+ mes "[Geshupenschte]";
+ mes "Great!";
+ next;
+ mes "[Geshupenschte]";
+ mes "Lets see....your score is ^5533FF"+@score+".^000000";
+ if (@score > 80) goto L_pass;
+ mes ".............";
+ next;
+ mes "[Geshupenschte]";
+ mes "You've missed again!";
+ mes "If you keep missing, I can't give you the job. Go study more.";
+ set BSMITH_Q2, 1;
+ close;
+
+ L_pass:
+ set BSMITH_Q,2;
+ set BSMITH_Q2, 0;
+ mes "You Passed!";
+ next;
+ mes "[Geshupenschte]";
+ mes "I'll let you do the job";
+ mes "Are you prepared?";
+ close;
+L_ReTest1:
+ mes "Ah, I see you've studied more. Don't miss any questions! Here we go!";
+ next;
+ goto M_Rdy;
+
+
+// Test 2-----------------------------------------------------------------
+L_Test2:
+ if(BSMITH_Q2 > 0) goto L_CheckTest2;
+ mes "Let's see... orders....";
+ next;
+ mes "[Geshupenschte]";
+ mes "Ah, here it is!";
+ mes "Here's the order that's almost due";
+ mes "Hmmm";
+ next;
+ mes "[Geshupenschte]";
+ mes "I need you to get me....";
+ next;
+ set BSMITH_Q2,rand(1,5);
+ if (BSMITH_Q2 == 2) goto R_item2;
+ if (BSMITH_Q2 == 3) goto R_item3;
+ if (BSMITH_Q2 == 4) goto R_item4;
+ if (BSMITH_Q2 == 5) goto R_item5;
+
+ R_item1:
+ mes "[Geshupenschte]";
+ mes "^5533FF2 Steel";
+ mes "1 Rotten Bandage";
+ mes "2 Blue Gemstone^000000";
+ mes "and ^5533FF1 Arc Wand^000000 from the store.";
+ next;
+ mes "[Geshupenschte]";
+ mes "Hey, we're not making you bring these because we're cheap! It's a test!";
+ next;
+ mes "[Geshupenschte]";
+ mes "^5533FF2 Steel";
+ mes "1 Rotten Bandage";
+ mes "2 Blue Gemstone^000000";
+ mes "and ^5533FF1 Arc Wand^000000 from the store.";
+ next;
+ goto L_finalword;
+ R_item2:
+ mes "[Geshupenschte]";
+ mes "^5533FF2 Star Dust";
+ mes "2 Skel Bones";
+ mes "1 Zargons^000000";
+ mes "and ^5533FF1 Gladius^000000 from the stores.";
+ next;
+ mes "[Geshupenschte]";
+ mes "Hey! We're not being cheap, this is a test!";
+ next;
+ mes "[Geshupenschte]";
+ mes "I'll list them again";
+ mes "^5533FF2 Star Dust";
+ mes "2 Skel Bones";
+ mes "1 Zargons^000000";
+ mes "and ^5533FF1 Gladius^000000 from the stores.";
+ next;
+ goto L_finalword;
+ R_item3:
+ mes "[Geshupenschte]";
+ mes "^5533FF2 Coals";
+ mes "2 Shells";
+ mes "2 Red Bloods^000000";
+ mes "and ^5533FF1 Tsurugi^000000 from the stores.";
+ next;
+ mes "[Geshupenschte]";
+ mes "Hey! We're not being cheap, this is a test!";
+ next;
+ mes "[Geshupenschte]";
+ mes "I'll list them again";
+ mes "^5533FF2 Coals";
+ mes "2 Shells^000000";
+ mes "2 Red Bloods";
+ mes "and ^5533FF1 Tsurugi^000000 from the stores.";
+ next;
+ goto L_finalword;
+ R_item4:
+ mes "[Geshupenschte]";
+ mes "^5533FF8 Iron Ores";
+ mes "1 Trunk";
+ mes "2 Blue Gems^000000";
+ mes "And a ^5533FFArbalest^000000 from the stores.";
+ next;
+ mes "[Geshupenschte]";
+ mes "Hey! We're not being cheap!";
+ next;
+ mes "[Geshupenschte]";
+ mes "I'll list them again.";
+ mes "^5533FF8 Iron Ores";
+ mes "1 Trunk";
+ mes "2 Blue Gems^000000";
+ mes "And a ^5533FFArbalest^000000 from the stores.";
+ next;
+ goto L_finalword;
+ R_item5:
+ mes "[Geshupenschte]";
+ mes "^5533FF8 Iron Ores";
+ mes "20 Green Herbs";
+ mes "2 Animal Skin^000000";
+ mes "and ^5533FF1 Morning Star^000000 from the stores.";
+ next;
+ mes "[Geshupenschte]";
+ mes "Hey! We're not being cheap! It's a test!";
+ next;
+ mes "[Geshupenschte]";
+ mes "I'll list them again.";
+ mes "^5533FF8 Iron Ores";
+ mes "20 Green Herbs";
+ mes "2 Animal Skin^000000";
+ mes "and ^5533FF1 Morning Star^000000 from the stores.";
+ next;
+ L_finalword:
+ mes "[Geshupenschte]";
+ mes "Good luck!";
+ close;
+
+L_CheckTest2:
+ mes "Hmm? Did you bring all the items?";
+ next;
+ if (BSMITH_Q2 == 2) goto L_2b;
+ if (BSMITH_Q2 == 3) goto L_2c;
+ if (BSMITH_Q2 == 4) goto L_2d;
+ if (BSMITH_Q2 == 5) goto L_2e;
+
+ L_2a:
+ if(countitem(999) < 2 || countitem(930) < 1 || countitem(717) < 2 || countitem(1610) < 1) goto sL_NtEnuf1;
+ mes "[Geshupenschte]";
+ mes "Didn't I ask for 3 steels?";
+ next;
+ mes "[Geshupenschte]";
+ mes "Oh yea! I did ask for 2.";
+ mes "Gimme a sec.";
+ delitem 999,2;
+ delitem 930,1;
+ delitem 717,2;
+ delitem 1610,1;
+ callsub sF_Make;
+ mes "Deliever this to Geffen's Baisulitst and bring back the reciept.";
+ getitem 1610,1;
+ next;
+ mes "[Geshupenschte]";
+ mes "WHAT!? Nothing looks different?";
+ mes "Look carefully where my hand is.";
+ mes "See the emphesized groove!?";
+ mes "ITS THE SUPER Geshupenschte ARC WAND MK II!!!!! XDDDDD";
+ next;
+ mes "[Geshupenschte]";
+ mes "Feel the difference! Almost no inertia!";
+ next;
+ mes "[Geshupenschte]";
+ mes "Now, go deliever to Baisulitst!";
+ close;
+
+ sL_NtEnuf1:
+ mes "[Geshupenschte]";
+ mes "You didn't bring all the items!";
+ next;
+ goto R_item1;
+ L_2b:
+ if(countitem(1001) < 2 || countitem(932) < 2 || countitem(912) < 1 || countitem(1219) < 1) goto sL_NtEnuf2;
+ mes "[Geshupenschte]";
+ mes "Didn't I ask for 3 Star Dusts?";
+ next;
+ mes "[Geshupenschte]";
+ mes "Oh yea, 2, that's right.";
+ mes "Okay, gimme a sec.";
+ delitem 1001,2;
+ delitem 932,2;
+ delitem 912,1;
+ delitem 1219,1;
+ callsub sF_Make;
+ mes "Now, take this to Morroc's Wickebine";
+ getitem 1219,1;
+ next;
+ mes "[Geshupenschte]";
+ mes "WHAT!? IT DOESN'T LOOK ANY DIFFERENT!?";
+ mes "Look carefully at the blade!";
+ mes "CAN YOU NOT SEE THE BEAUTIFUL MARKINGS?!";
+ mes "ULTRA GLADIUS Geshupenschte Mk II!!";
+ next;
+ mes "[Geshupenschte]";
+ mes "Isnt it so pretty ^_^";
+ next;
+ mes "[Geshupenschte]";
+ mes "Well, go to Morroc and give it the Wickebine and bring the receipt back.";
+ close;
+
+ sL_NtEnuf2:
+ mes "[Geshupenschte]";
+ mes "You didn't bring all the items!";
+ next;
+ goto R_item2;
+ L_2c:
+ if(countitem(1003) < 2 || countitem(935) < 2 || countitem(990) < 1 || countitem(1119) < 1) goto sL_NtEnuf3;
+ mes "[Geshupenschte]";
+ mes "Didn't I ask for 3 coals??";
+ next;
+ mes "[Geshupenschte]";
+ mes "That's right, 2 coals";
+ mes "Okay, wait a sec.";
+ delitem 1003,2;
+ delitem 935,2;
+ delitem 990,1;
+ delitem 1119,1;
+ callsub sF_Make;
+ mes "Give this to Izlude's Gromgast and bring back the receipt.";
+ getitem 1119,1;
+ next;
+ mes "[Geshupenschte]";
+ mes "WHAT!? NOTHING LOOKS DIFFERENT!?";
+ mes "Look carefully at the blade!";
+ mes "Look at the beautiful markings!";
+ mes "ULTRA Geshupenschte TSURUGI Mk II!!!";
+ next;
+ mes "[Geshupenschte]";
+ mes "Isn't it so pretty ^_^";
+ next;
+ mes "[Geshupenschte]";
+ mes "Anyways, Izlude's Gromgast! Go!";
+ close;
+
+ sL_NtEnuf3:
+ mes "[Geshupenschte]";
+ mes "You didn't bring all the items!";
+ next;
+ goto R_item3;
+
+ L_2d:
+ if(countitem(1002) < 8 || countitem(1019) < 1 || countitem(717) < 2 || countitem(1713) < 1) goto sL_NtEnuf4;
+ mes "[Geshupenschte]";
+ mes "Didn't I ask for 30 iron ores?";
+ next;
+ mes "[Geshupenschte]";
+ mes "Wait, 8 is right >_>";
+ mes "Hmmm, wait a sec then.";
+ delitem 1002,8;
+ delitem 1019,1;
+ delitem 717,2;
+ delitem 1713,1;
+ callsub sF_Make;
+ mes "Deliever this to Payon's Tilpitz";
+ getitem 1713,1;
+ next;
+ mes "[Geshupenschte]";
+ mes "WHAT!? NOTHING LOOKS DIFFERENT!?";
+ mes "LOOK AT THE GROOVES WHERE THE ARROWS GO!!";
+ mes "LOOK HOW CUSTOMIZED IT IS!!!!!";
+ mes "Geshupenschte'S MASTER ARCHER ARBALEST Mk II!!!";
+ next;
+ mes "[Geshupenschte]";
+ mes "Look how well built the bow is!";
+ next;
+ mes "[Geshupenschte]";
+ mes "Well, Tilpitz in Payon, and bring the envelop.";
+ close;
+
+ sL_NtEnuf4:
+ mes "[Geshupenschte]";
+ mes "You didn't bring all the items!";
+ next;
+ goto R_item4;
+
+ L_2e:
+ if(countitem(1002) < 8 || countitem(511) < 20 || countitem(919) < 2 || countitem(1513) < 1) goto sL_NtEnuf5;
+ mes "[Geshupenschte]";
+ mes "Didn't I ask for 40 ores?";
+ next;
+ mes "[Geshupenschte]";
+ mes "Wait, 8! That's right!";
+ mes "Okay, wait a sec!";
+ delitem 1002,8;
+ delitem 511,20;
+ delitem 919,2;
+ delitem 1513,1;
+ callsub sF_Make;
+ mes "Take this to Bismarck in Comodo and bring me the receipt.";
+ getitem 1513,1;
+ next;
+ mes "[Geshupenschte]";
+ mes "WHAT!? NOTHING LOOKS DIFFERENT!?";
+ mes "Look carefully at the tips of the spikes!!";
+ mes "The green herbs' antidote for poisons have been mixed in!";
+ mes "ANTI POISON Geshupenschte MORNING STAR MK II!!!!!";
+ next;
+ mes "[Geshupenschte]";
+ mes "Don't you get it!? When you're poisoned, you stab yourself with it!";
+ mes "The wound.....probably will get bigger! But the poison will be gone!";
+ next;
+ mes "[Geshupenschte]";
+ mes "Well, take this to Bismarck of Comodo!";
+ close;
+
+ sL_NtEnuf5:
+ mes "[Geshupenschte]";
+ mes "You didn't bring all the items!";
+ next;
+ goto R_item5;
+
+ sF_Make:
+ set BSMITH_Q, 3;
+ next;
+ mes "[Geshupenschte]";
+ mes "Grunt.......";
+ next;
+ mes "~clank~clonk~clank~";
+ next;
+ mes "[Geshupenschte]";
+ mes "Ergh......";
+ next;
+ mes "~bonk~bang~bonk~";
+ next;
+ mes "[Geshupenschte]";
+ mes "Whew. There we go!";
+ return;
+
+
+// Test 3-----------------------------------------------------------------
+L_Test3:
+ if (BSMITH_Q3 == 1) goto L_CheckTest3;
+ mes "Go deliever!";
+ mes "........you didn't forget.......right?";
+ next;
+ mes "[Geshupenschte]";
+ if (BSMITH_Q2 == 2) goto L_3b;
+ if (BSMITH_Q2 == 3) goto L_3c;
+ if (BSMITH_Q2 == 4) goto L_3d;
+ if (BSMITH_Q2 == 5) goto L_3e;
+
+ L_3a:
+ if (countitem(1610) < 1) goto L_LostItem;
+ mes "Baisulitst should be at 11 o'clock of Geffen ";
+ close;
+ L_3b:
+ if (countitem(1219) < 1) goto L_LostItem;
+ mes "Take it to Wickebine near the Sword Mace dealer in Morroc.";
+ close;
+ L_3c:
+ if (countitem(1119) < 1) goto L_LostItem;
+ mes "Gromgast hangs out at 11 o'clock of Izlude.";
+ close;
+ L_3d:
+ if (countitem(1713) < 1) goto L_LostItem;
+ mes "Tilpitz hangs out at 5 o'clock of Payon";
+ close;
+ L_3e:
+ if (countitem(1513) < 1) goto L_LostItem;
+ mes "Bismarck is usually at 12 o'clock area of Comodo.";
+ close;
+
+ L_LostItem:
+ mes "WHAT!!! YOU LOST THE ITEM I GAVE YOU TO DELIVER!!!!";
+ emotion 23;
+ next;
+ mes "[Geshupenschte]";
+ mes "........... Well then.... I gues you'll just have too.....";
+ next;
+ mes "[Geshupenschte]";
+ mes "START ALL OVER!! Now get out of my sight!!";
+ set BSMITH_Q, 0;
+ set BSMITH_Q2, 0;
+ emotion 7;
+ close;
+
+L_CheckTest3:
+ mes "Did you deliever it?";
+ mes "Lets see the receipt then!";
+ next;
+ menu "Here you go",-,"Wait a second.",M_Wait;
+
+ if(countitem(1073) < 1) goto sL_noreceipt;
+ mes "[Geshupenschte]";
+ mes "Great! Very good! You're definalty a honest merchant! Go see Altiregen back in Geffen!";
+ mes "I know you'll definately pass the test!!!";
+ set BSMITH_Q, 4;
+ set BSMITH_Q2, 0;
+ set BSMITH_Q3, 0;
+ delitem 1073,1;
+ close;
+
+ sL_noreceipt:
+ mes "[Geshupenschte]";
+ mes "........You don't know where you left the receipt.........";
+ next;
+ mes "[Geshupenschte]";
+ mes "WHAT'S THIS?! YOU LOST IT!? DId you SELL it or something!?";
+ emotion 23;
+ next;
+ mes "[Geshupenschte]";
+ mes "The receipt is the soul of merchants! The life line of blacksmiths!";
+ mes "Guess what? You get to..... START ALL OVER!!";
+ set BSMITH_Q, 0;
+ set BSMITH_Q2, 0;
+ set BSMITH_Q3, 0;
+ emotion 32;
+ close;
+ M_Wait:
+ mes "[Geshupenschte]";
+ mes "Well, tell me if you find the receipt. I HOPE you got one.";
+ close;
+
+L_Done:
+ mes "Thanks for working for me! Now go see Altiregen!";
+ close;
+
+L_GoChange:
+ mes "There should be nothing you want now.........";
+ mes "Maybe you're thinking of Morroc or Geffen?";
+ close;
+}
+
+
+// Delivery Recipients ==================================================>\\
+// Baisulitst -----------------------------------------------------------
+geffen.gat,46,164,4 script Baisulitst 69,{
+ if (BSMITH_Q==3) goto L_Start;
+
+ mes "[Baisulitst]";
+ mes "Now that I think about it, it's been a while since I've been to Alberta. I'm a little upset with the service I've been getting, especially the late deliveries......";
+ next;
+ mes "[Baisulitst]";
+ mes "I ordered something from the Geffen Blacksmith Guild but the order got transfered to a blacksmith in Alberta.....";
+ next;
+ mes "[Baisulitst]";
+ mes "Hmmm....., I wonder when I will recieve my special order ^5555FFArc Wand^000000.....";
+ emotion 20;
+ close;
+
+L_Start:
+ if(BSMITH_Q2 != 1) goto L_Wrong;
+ if(countitem(1073) == 1) goto L_Done;
+ if(countitem(1610) < 1) goto L_NoItem;
+ mes "[Baisulitst]";
+ mes "Wow! Is it finally here?!";
+ mes "Thank you! I was waiting forever!";
+ delitem 1610,1;
+ set BSMITH_Q3, 1;
+ next;
+ mes "[Baisulitst]";
+ mes "I ordered this from the Geffen BS Guild, but they assigned it to the smith in Alberta!";
+ next;
+ mes "[Baisulitst]";
+ mes "Thanks for coming from so far away!";
+ mes "Also, make sure to hit Geshupenschte one for me! How could anything be so late >_>";
+ next;
+ mes "[Baisulitst]";
+ mes "Here's the receipt!";
+ next;
+ mes "~Scribble, Scribble~ Rip ~";
+ next;
+ getitem 1073,1;
+ mes "[Baisulitst]";
+ mes "Here you go! Good bye! Thank you for the delivery!";
+ close;
+
+ L_NoItem:
+ mes "[Baisulitst]";
+ mes "..... Hmm?.... What's this?..... You here to deliver something to me but you don't have the actual item??";
+ emotion 32;
+ L_Wrong:
+ mes "[Baisulitst]";
+ mes "..... Hmm?.... What's this?..... This is not what I ordered.....";
+ emotion 32;
+ L_Done:
+ mes "[Baisulitst]";
+ mes "Thanks again for the delivery. I really appreciate it!";
+ close;
+}
+
+// Wickebine --------------------------------------------------------------------
+morocc.gat,27,112,4 script Wickebine 725,{
+ if (BSMITH_Q == 3) goto L_Start;
+
+ mes "[Wickebine]";
+ mes "..........";
+ mes ".....When will my order be here?";
+ emotion 20;
+ next;
+ mes "[Wickebine]";
+ mes "The Geffen Blacksmith Guild and Geshupenschte are both CHRONICALLY LATE!";
+ emotion 32;
+ next;
+ mes "[Wickebine]";
+ mes "This is very upsetting......";
+ close;
+L_Start:
+ if(BSMITH_Q2 != 2) goto L_Wrong;
+ if(countitem(1073) == 1) goto L_Done;
+ if(countitem(1219) < 1) goto L_NoItem;
+ mes "[Wickebine]";
+ mes "Is it finally here!?!";
+ mes "Give it!!!!";
+ delitem 1219,1;
+ set BSMITH_Q3, 1;
+ next;
+ mes "[Wickebine]";
+ mes "Tell the BS guild";
+ mes "and your teacher Geshupenschte!";
+ next;
+ mes "[Wickebine]";
+ mes "You're LATE";
+ mes "and I was WAITING.";
+ next;
+ mes "[Wickebine]";
+ mes "But the item seems pretty high quality.";
+ next;
+ mes "(Writes something down)";
+ next;
+ getitem 1073,1;
+ mes "[Wickebine]";
+ mes "Here's the receipt and thanks for the delivery.";
+ close;
+
+ L_NoItem:
+ mes "[Wickebine]";
+ mes "Ung! You came all this way to deliver my item and you lost it??!!";
+ emotion 6;
+ close;
+ L_Wrong:
+ mes "[Wickebine]";
+ mes "I think you're supposed to deliver this somewhere else.....";
+ emotion 4;
+ close;
+ L_Done:
+ mes "[Wickebine]";
+ mes "Thank you";
+ close;
+}
+
+// Gromgast ---------------------------------------------------------------------
+izlude.gat,69,181,4 script Gromgast 734,{
+ if (BSMITH_Q == 3) goto L_Start;
+
+ mes "[Gromgast]";
+ mes "..........";
+ mes ".....When will that sword arrive >_>";
+ next;
+ mes "[Gromgast]";
+ mes "I need that sword for my training!";
+ mes "Nooo.....I must not get rusty!";
+ next;
+ mes "[Gromgast]";
+ mes "Noooooooo T_T......";
+ close;
+
+L_Start:
+ if(BSMITH_Q2 != 3) goto L_Wrong;
+ if(countitem(1073) == 1) goto L_Done;
+ if(countitem(1119) < 1) goto L_NoItem;
+ mes "[Gromgast]";
+ mes "Ahhh, it's finally here";
+ mes "Let me see it.";
+ delitem 1119,1;
+ set BSMITH_Q3, 1;
+ next;
+ mes "[Gromgast]";
+ mes "Nice.....";
+ mes "It's better then I expected.";
+ next;
+ mes "[Gromgast]";
+ mes "I think this sword is exactly what I need!!";
+ mes "I like it!";
+ next;
+ mes "[Gromgast]";
+ mes "Here you go.";
+ next;
+ mes "~scribble~rip~";
+ next;
+ getitem 1073,1;
+ mes "[Gromgast]";
+ mes "Here's the receipt! Thank you.";
+ close;
+
+ L_NoItem:
+ mes "[Gromgast]";
+ mes "Hmm... I don't understand.... where is the item I ordered???....";
+ emotion 20;
+ L_Wrong:
+ mes "[Gromgast]";
+ mes "Sorry, but you've got the wrong person.";
+ close;
+ L_Done:
+ mes "[Gromgast]";
+ mes "Thanks for the delivery!";
+ close;
+}
+
+// Tilpitz --------------------------------------------------------------------
+payon.gat,214,79,4 script Tilpitz 59,{
+ if (BSMITH_Q == 3) goto L_Start;
+
+ mes "[Tilpitz]";
+ mes "When's that bow coming..........";
+ mes "How long ago did I order this thing >_>";
+ next;
+ mes "[Tilpitz]";
+ mes "There's no one that can make it execpt 'him'.........";
+ mes "but, WHEN WILL IT COME >_>";
+ next;
+ mes "[Tilpitz]";
+ mes " T_T ";
+ close;
+L_Start:
+ if(BSMITH_Q2 != 4) goto L_Wrong;
+ if(countitem(1073) == 1) goto L_Done;
+ if(countitem(1713) < 1) goto L_NoItem;
+ mes "[Tilpitz]";
+ mes ".......Ohhh! It's finally here!!!";
+ mes "Let me see it!";
+ delitem 1713,1;
+ set BSMITH_Q3, 1;
+ next;
+ mes "[Tilpitz]";
+ mes "Wow....";
+ mes "Not bad......not bad at all!!";
+ next;
+ mes "[Tilpitz]";
+ mes "Look at this curve!! It's wonderful!!";
+ mes "Oh, I love this";
+ next;
+ mes "[Tilpitz]";
+ mes "Thank you!!!";
+ next;
+ mes "scribble scribble rip";
+ next;
+ getitem 1073,1;
+ mes "[Tilpitz]";
+ mes "Here's the receipt! Thank you again!!!!!";
+ close;
+
+ L_NoItem:
+ mes "[Tilpitz]";
+ mes "Oooh! The delivery is here? What?..... You don't have anything???.....";
+ emotion 1;
+ next;
+ mes "[Tilpitz]";
+ mes "Don't play bad jokes on people!";
+ emotion 7;
+ close;
+ L_Wrong:
+ mes "[Tilpitz]";
+ mes "What's this? You have a delivery.... for someone else..... Then why not deliver it to that person instead???........";
+ emotion 4;
+ close;
+ L_Done:
+ mes "[Tilpitz]";
+ mes "More I look at it, more beautiful it gets!!! ";
+ close;
+}
+
+// Bismarck ---------------------------------------------------------------------------
+comodo.gat,158,342,4 script Bismarck 118,{
+ if (BSMITH_Q == 3) goto L_Start;
+
+ mes "[Bismarck]";
+ mes "......Ugh?...";
+ mes ".....When's that delivery coming......";
+ next;
+ mes "[Bismarck]";
+ mes "....the.....p...poison...... >_>....";
+ mes "Ack.....";
+ next;
+ mes "[Bismarck]";
+ mes "....Looks like... I'm....screwed.";
+ close;
+
+L_Start:
+ if(BSMITH_Q2 != 5) goto L_Wrong;
+ if(countitem(1073) == 1) goto L_Done;
+ if(countitem(1513) < 1) goto L_NoItem;
+ mes "[Bismarck]";
+ mes "Ugh.........finally...........";
+ mes "Pant pant..........give it to me~";
+ delitem 1513,1;
+ set BSMITH_Q3, 1;
+ next;
+ mes "[Bismarck]";
+ mes "Ugh....";
+ mes "The green herb is in it........right?";
+ next;
+ mes "[Bismarck]";
+ mes "I........can't move.........help me up";
+ mes "....grunt.....";
+ next;
+ mes "- STAB! -";
+ next;
+ mes "[Bismarck]";
+ mes "AAAAAAAAAAACCCCCCCCCKKKKKK!!!";
+ next;
+ mes "[Bismarck]";
+ mes "whew, that works pretty well..";
+ next;
+ getitem 1073,1;
+ mes "[Bismarck]";
+ mes "Cough.... Here's the receipt..... thank you for the delivery! I guess I get to live longer......";
+ close;
+
+ L_NoItem:
+ mes "[Bismarck]";
+ mes "ARE YOU TRYING TO TOY WITH ME!!?? How.... ~cough~... could....~ung~.... you....~ack~.....";
+ emotion 23;
+ close;
+ L_Wrong:
+ mes "[Bismarck]";
+ mes "I NEED AN ANTIDOTE DAMMIT!! Not this stuff ~ack~........";
+ emotion 23;
+ close;
+ L_Done:
+ mes "[Bismarck]";
+ mes "Whew, thank you.";
+ close;
+}
+
+
+
+//<===================================================== Mitehmaeeuh: Last Test ===================================================>\\
+ein_in01.gat,24,41,4 script Mitmayer 726,{
+ if (BSMITH_Q == 4) goto L_Start;
+ if (BSMITH_Q == 5) goto L_Done;
+ mes "[Mitmayer]";
+ mes "Whew.... the sun in Morroc is just too strong.... I guess it will gie me tougher skin... Oh well......";
+ emotion 19;
+ next;
+ mes "[Mitmayer]";
+ mes "Afteralll, we Blacksmiths are used to high temperatures since we work with fire everyday!";
+ next;
+ mes "[Mitmayer]";
+ mes "Getting nice and tan isn't so bad..... I think it gives you a healthy athletic look.";
+ close;
+L_Done:
+ mes "[Mitmayer]";
+ mes "I told you that you've passed.";
+ next;
+ mes "[Mitmayer]";
+ mes "Return to the guild";
+ next;
+ mes "[Mitmayer]";
+ mes "Also, don't lose the Hammer of Blacksmiths!!";
+ next;
+ mes "[Mitmayer]";
+ mes "Don't forget to use the skill points too!";
+ close;
+L_Start:
+ mes "[Mitmayer]";
+ mes "Welcome! You want to be a smith?";
+ mes "Okay, but know that not everyody passes.";
+ next;
+ mes "[Mitmayer]";
+ mes "It's a quiz about how well you know metals and the blacksmith class.";
+ mes "I have quite a bit to ask, so lets start";
+ next;
+ menu "Ok",M_Test,"Not now",-;
+
+ mes "[Mitmayer]";
+ mes "Okay, I'll see you then.";
+ close;
+ M_Test:
+ mes "[Mitmayer]";
+ mes "Okay, lets start You'll fail if you don't get enough right.";
+ next;
+ mes "[Mitmayer]";
+ mes "5 questions";
+ mes "I won't tell you what's right or wrong.";
+ next;
+ set @score, 0;
+ set @temp, rand(3);
+ if (@temp == 1) goto R_Set2;
+ if (@temp == 2) goto R_Set3;
+
+ R_Set1:
+ mes "[Mitmayer]";
+ mes "1. Which skill is needed for discount?";
+ next;
+ menu "Pushcart Lv 3",sM_1a,"Item Appraisal",sM_1a,"Mammonite Lv 10",sM_1a,"Enlarge Weight Lv 3",-;
+
+ set @score,@score+20;
+ sM_1a:
+
+ mes "[Mittmayer]";
+ mes "2. What effect does hammerfall have?";
+ next;
+ menu "Stun",-,"Blind",sM_1b,"Confuse",sM_1b,"Poison",sM_1b;
+
+ set @score,@score+20;
+ sM_1b:
+
+ mes "[Mitmayer]";
+ mes "3. How much zeny is taken when Mammonite 10 is used?";
+ next;
+ menu "900z",sM_1c,"1,000z",-,"2,000z",sM_1c,"1,000,000z",sM_1c;
+
+ set @score,@score+20;
+ sM_1c:
+
+ mes "[Mitmayer]";
+ mes "4. How much money is saved with max discount??";
+ next;
+ menu "21 % ",sM_1d,"22 % ",sM_1d,"23 % ",sM_1d,"24 % ",-;
+
+ set @score,@score+20;
+ sM_1d:
+
+ mes "[Mitmayer]";
+ mes "5. How much can you earn with max overcharge?";
+ next;
+ menu "21 % ",sM_1e,"22 % ",sM_1e,"23 % ",-,"24 % ",sM_1e;
+
+ set @score,@score+20;
+ sM_1e:
+ goto L_Result;
+
+ R_Set2:
+ mes "[Mittmayer]";
+ mes "1. Which monster drops steel?";
+ next;
+ menu "Zerom",sM_2a,"Steel Chonchon",sM_2a,"Skel Worker",-,"Requiem",sM_2a;
+
+ set @score,@score+20;
+ sM_2a:
+
+ mes "[Mitmayer]";
+ mes "2. What can you make with Red Bloods?";
+ next;
+ menu "Flame Heart",-,"Rough Wind",sM_2b,"Great Nature",sM_2b,"Mystic Frozen",sM_2b;
+
+ set @score,@score+20;
+ sM_2b:
+
+ mes "[Mitmayer]";
+ mes "3. Which ore do you have the most of in storage?";
+ next;
+ menu "WoV",sM_2c,"Red Blood",-,"Green Live",-,"Crystal Blue",-;
+
+ set @score,@score+20;
+ sM_2c:
+
+ mes "[Mitmayer]";
+ mes "4. What kind of monsters are weak against wind weapons?";
+ next;
+ menu "Fire",sM_2d,"Water",-,"Earth",sM_2d,"Wind",sM_2d;
+
+ set @score,@score+20;
+ sM_2d:
+
+ mes "[Mitmayer]";
+ mes "5. How many irons are needed to make steel?";
+ next;
+ menu "5",-,"4",sM_2e,"3",sM_2e,"6",sM_2e;
+
+ set @score,@score+20;
+ sM_2e:
+ goto L_Result;
+
+ R_Set3:
+ mes "[Mitmayer]";
+ mes "1. What do you do when you find a person in distress?";
+ next;
+ menu "Ask what they need",-,"Talk for a bit",-,"Ignore",sM_3a,"Drop item and leave",sM_3a;
+
+ set @score,@score+20;
+ sM_3a:
+
+ mes "[Mitmayer]";
+ mes "2. Where do you learn change cart?";
+ next;
+ menu "Aldebaran",sM_3b,"Alberta",-,"Morroc",sM_3b,"Izlude",sM_3b;
+
+ set @score,@score+20;
+ sM_3b:
+
+ mes "[Mitmayer]";
+ mes "3. Geffen tower is the center, where is the BS guild?";
+ next;
+ menu "11oclock",sM_3c,"5oclock",-,"7oclock",sM_3c,"12oclock",sM_3c;
+
+ set @score,@score+20;
+ sM_3c:
+
+ mes "[Mitmayer]";
+ mes "4. Which town has the most smiths";
+ next;
+ menu "Prontera",sM_3d,"Morroc",sM_3d,"Alberta",sM_3d,"Geffen",-;
+
+ set @score,@score+20;
+ sM_3d:
+
+ mes "[Mitmayer]";
+ mes "5. Which stat affect forge?";
+ next;
+ menu "STR",sM_3e, "DEX ",-, "AGI",sM_3e, "VIT",sM_3e;
+
+ set @score,@score+20;
+ sM_3e:
+
+L_Result:
+ mes "[Mitmayer]";
+ mes "Great work!";
+ next;
+ mes "[Mitmayer]";
+ mes "lets see... your score is ^5533FF"+@score+"^000000 points!";
+ next;
+ mes "[Mitmayer]";
+ if (@score > 70) goto L_Pass;
+
+ mes "Failed, go study more!!";
+ next;
+ mes "[Mitmayer]";
+ mes "It's just not enough.....";
+ mes "Please return after you've studied more.";
+ close;
+
+ L_Pass:
+ mes "Great! Congrats! You pass!";
+ emotion 21;
+ next;
+ mes "[Mitmayer]";
+ mes "You'll need to return to the guild. Here is proof that you passed the test.... the ^5533FFHammer of Blacksmiths^000000.";
+ getitem 1005,1;
+ set BSMITH_Q, 5;
+ set BSMITH_Q2, 0;
+ next;
+ mes "[Mitmayer]";
+ mes "DON'T LOOSE THIS!!";
+ emotion 0;
+ next;
+ mes "[Mitmayer]";
+ mes "Well, good luck!!!!";
+ close;
+}
+
+//=========================== NPC that tells you, that the Guild moved
+//=========================== She's there on kRO, but the current text is custom ^^
+geffen_in.gat,110,169,4 script Guildsman 726,{
+ mes "[Blacksmith Guildsman]";
+ mes "Welcome! We're the masters of the metal, blacksmiths!";
+ mes "Our skills in creating weapons, in a way, is almost an art form!.";
+ next;
+ mes "[Blacksmith Guildsman]";
+ mes "Our Guild was recently moved to a biger building in the steel city of Einbroch.";
+ mes "If you are here to take part in your training, please go there";
+ next;
+ menu "What? Where? How?",-,"OK, thank you!",M_ok;
+
+ mes "[Blacksmith Guildsman]";
+ mes "Ah. I'm sorry. You must be unfamiliar with the new and wonderful Airship Transportation System!";
+ next;
+ menu "Air...what?",-,"Oh, that!",M_know;
+
+ mes "[Blacksmith Guildsman]";
+ mes "The Airship Transportation System!";
+ mes "It's realy a wonderful thing. No more relying on stupid Magic Teleports.";
+ mes "The Airship is a big flying machine that will get you to your destination in no time";
+ next;
+ mes "[Blacksmith Guildsman]";
+ mes "Just think about it. The blue sky and white clouds. The wind in your hair.";
+ mes "How I adore that feeling!";
+ next;
+ menu "Um.. about that guild...",-,"She's nuts! RUN!",M_run;
+
+ mes "[Blacksmith Guildsman]";
+ mes "Huh? Oh right. I get carried away sometimes...";
+ next;
+ mes "[Blacksmith Guildsman]";
+ mes "There are two Airships. One is flying from Izlude to Yuno, and the other one flys throughout the whole Shwarzwald Republic.";
+ mes "Thats Yuno, Hugel, Lighthalzen and Einbroch.";
+ next;
+M_know:
+ mes "[Blacksmith Guildsman]";
+ mes "If you wish to go to Einbroch, simply board the Airship in Izlude, get of in Yuno and take the second ship until it reaches Einbroch.";
+ mes "When you reach your destination just ask one of the Guides for the Blacksmith Guild";
+ next;
+ mes "[Blacksmith Guildsman]";
+ mes "Now I know that this may be a bit confusing. That's why our guild in association with the Kafra Corporation is serving free warps to Izlude!";
+ mes "Would you like to use our services?";
+ next;
+ menu "Yes, please.",-,"No, thank you.",M_no;
+
+ mes "[Blacksmith Guildsman]";
+ mes "Have a nice trip!!";
+ close2;
+ warp "izlude.gat",145,39;
+ end;
+
+M_ok:
+ mes "[Blacksmith Guildsman]";
+ mes "Always at your service!";
+ close;
+
+M_run:
+ mes "[Blacksmith Guildsman]";
+ mes "Huh? Hey! Where are you going?!";
+ close;
+
+M_no:
+ mes "[Blacksmith Guildsman]";
+ mes "No? Don't tell me you're afraid of flying...";
+ close;
+} \ No newline at end of file
diff --git a/npc/jobs/2-1/hunter.txt b/npc/jobs/2-1/hunter.txt
new file mode 100644
index 000000000..deff0140b
--- /dev/null
+++ b/npc/jobs/2-1/hunter.txt
@@ -0,0 +1,1199 @@
+//===== eAthena Script =======================================
+//= Hunter Job Quest
+//===== By: ==================================================
+//= EREMES THE CANIVALIZER (Aegis)Translated by yoshiki (Aegis)
+//= Converted by kobra_k88
+//= Further bugfixed and tested by Lupus
+//===== Current Version: =====================================
+//= 1.7
+//===== Compatible With: =====================================
+//= eAthena 1.0
+//===== Description: =========================================
+//= Hunter Job Quest converted from aegis script
+//===== Additional Comments: =================================
+//= 0.5 Fully working.
+//= 0.6 Changed global variable names to unique ones.
+//= 0.7 - 0.8 Updates for eAthena +Knight2,Crusader2 fix
+//= 0.9 Fixed items quest fork bug [Lupus]
+//= 1.0 Fixed items quest bug: added extra condition [Lupus]
+//= 1.1 Fixed skillpoints check bug [Lupus]
+//= 1.2 Fixed an exploit, thanks to nonox [celest]
+//= 1.3 Added Baby Class support [Lupus]
+//= 1.5 Fixed possible EXP abuse [Lupus]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where
+//= to go. [Lupus]
+//= 1.6a Infinite Arrows exploit fix (thanx to Lorky, that
+//= reported the bug) [Lupus]
+//= 1.7 Moved the Job QUest to Hugel [Poki#3]
+//============================================================
+
+//<====================================== Job Changer ========================================>\\
+hu_in01.gat,386,374,4 script Hunter Sharon 727,{
+ callfunc "F_BlockHigh",27,"High Archer",35,"Sniper","Hunter Sharon";
+
+ if(BaseJob==Job_Archer) goto L_Start;
+ callfunc "Hun_check";
+
+
+L_Start:
+ mes "[Hunter Sharon]";
+ if(HNTR_Q == 1) goto L_Test2;
+ if(HNTR_Q == 2) goto L_Test3;
+ if(HNTR_Q == 3) goto L_Change;
+ if(HNTR_Q2 == 1) goto L_ReTest;
+ mes "Hey archer!! Hmmm....... You look like you've trained pretty hard.... I take it you're here to be a hunter!";
+ next;
+ menu "Of course!",M_0, "What are the requirements",M_1, "Not right now.",M_End;
+
+ M_0:
+ mes "[Hunter Sharon]";
+ mes "Heh, I knew it. First fill out this application form.";
+ next;
+ mes "(you fill out the form and hand it back)";
+ next;
+ mes "[Hunter Sharon]";
+ if(JobLevel < 40) goto sL_LowLvl;
+ if(JobLevel == 50) goto sL_HighLvl;
+ set JBLVL, 40;
+ mes "Looks good. Let me start off by introducing myself. My name is Sharon, nice to meet you.";
+ next;
+ mes "[Hunter Sharon]";
+ mes "Before I explain the process of becoming a Hunter, I'd like to do a short interview with you.";
+ next;
+ mes "[Hunter Sharon]";
+ mes "Do you want to do the interview now?";
+ next;
+ menu "Yeah, let's begin.",L_Test, "Nah, I'll come back in a bit.",M_End;
+
+ sL_LowLvl:
+ mes "Hmm... It looks like you'll need more training. To become a Hunter, you will have to have a great amount of experience.";
+ next;
+ mes "[Hunter Sharon]";
+ mes "Having a ^5533FFjob level of 40^000000 is what is required of all Hunter candidates. Please continue your training and good luck.";
+ close;
+ sL_HighLvl:
+ mes "Well, well now! A high level archer.... very nice! You must have trained really hard.";
+ emotion 5;
+ next;
+ mes "[Hunter Sharon]";
+ mes "My name is Sharon, nice to meet you. Before I explain the process of becoming a Hunter, I'd like to do a short interview with you.";
+ next;
+ set JBLVL, 50;
+ goto L_Test;
+ M_1:
+ mes "[Hunter Sharon]";
+ mes "The requirements?";
+ mes "1. Be a archer";
+ mes "2. Have a job level of at least 40";
+ mes "3. Pass all of the tests";
+ next;
+ mes "[Hunter Sharon]";
+ mes "If you trained hard enough, you shouldn't have any problems becoming a Hunter.";
+ close;
+
+ M_End:
+ mes "[Hunter Sharon]";
+ mes "Ok, I'll see you later.";
+ close;
+
+
+ L_ReTest:
+ mes "[Hunter Sharon]";
+ mes "Hmm.. what's this? So you wanna do the interview again? Very well. Hopefully you'll do better this time.";
+ next;
+ mes "[Hunter Sharon]";
+ mes "Okay, let's start!";
+ next;
+ L_Test:
+ set @score, 0;
+ mes "[Hunter Sharon]";
+ mes "I'm going to ask you some simple questions to get a feel for who you are and why you want to become a Hunter.";
+ mes "Relax and answer the questions honestly and thoughtfully.";
+ next;
+ mes "[Hunter Sharon]";
+ mes "You've been an training for a while, and now you're running out of ideas about where to go hunt. What should you do?";
+ next;
+ menu "Walk around screaming, 'Where should i go hunt!?'",M_1b, "Ask someone politely.",-, "Just explore.",-;
+
+ set @score, @score + 10;
+ M_1b:
+
+ mes "[Hunter Sharon]";
+ mes "Okay, so you picked your hunting spot! You plan to go to the Sograt Desert to hunt Hodes.";
+ next;
+ mes "[Hunter Sharon]";
+ mes "But you're in Payon! How do you get to the desert?";
+ next;
+ menu "Go beg priests for warps",M_2b, "Kafra warp",-, "Walk there with a friend",-;
+
+ set @score, @score + 10;
+ M_2b:
+
+ mes "[Hunter Sharon]";
+ mes "There are no priests around, all your friends are busy, and you don't have enough money for a kafra warp.";
+ next;
+ mes "[Hunter Sharon]";
+ mes "How do you get the money?";
+ next;
+ menu "Beg",M_3b, "Sell useless items",-, "Go hunting in a nearby field",-;
+
+ set @score, @score + 10;
+ M_3b:
+
+ mes "[Hunter Sharon]";
+ mes "You somehow get to the desert, but now you feel too weak to hunt hodes.";
+ next;
+ mes "[Hunter Sharon]";
+ mes "What do you do now??";
+ next;
+ menu "Go cliff hunting.",M_4b, "Go rest at Morroc.",-, "Start shooting the hodes that other people are attacking.",M_4b;
+
+ set @score, @score + 10;
+ M_4b:
+
+ mes "[Hunter Sharon]";
+ mes "It's too much, you can't do it. You go to Morroc.";
+ next;
+ mes "[Hunter Sharon]";
+ mes "By the time you return to town, you have no hp left, but you see a priest. How do you ask for a heal?";
+ next;
+ menu "If it's ok, can i have a heal please?",-, "Heal please.",M_5b, "heal plz",M_5b;
+
+ set @score, @score + 10;
+ M_5b:
+
+ mes "[Hunter Sharon]";
+ mes "While hunting, you find a rare item. You go to the market to sell it, and find lots of people and chat rooms.";
+ next;
+ mes "[Hunter Sharon]";
+ mes "What do you do to sell the item quicker?";
+ next;
+ menu "Go into preexisting chat rooms and ask",M_6b, "Make your own chat room.",-, "See if anyone is buying.",-;
+
+ set @score, @score + 10;
+ M_6b:
+
+ mes "[Hunter Sharon]";
+ mes "After a while, a person starts to beg you. What do you do?";
+ next;
+ menu "Give some items and money",M_7b, "Ignore that person",M_7b, "Tell them where to level and make money.",-;
+
+ set @score, @score + 10;
+ M_7b:
+
+ mes "[Hunter Sharon]";
+ mes "You decide to go hunting in the woods.";
+ next;
+ mes "[Hunter Sharon]";
+ mes "But you find someone who's lost. What do you do?";
+ next;
+ menu "Give him/her directions.",-, "Personally escort him/her.",-, "Ignore that person.",M_8b;
+
+ set @score, @score + 10;
+ M_8b:
+
+ mes "[Hunter Sharon]";
+ mes "You take the person to a safe place and resume hunting. While hunting, you see someone fighting a mvp!";
+ next;
+ mes "[Hunter Sharon]";
+ mes "What do you do?";
+ next;
+ menu "Watch and attack if asked for help.",-, "Start attacking.",M_9b, "Return to town in panic.",M_9b;
+
+ set @score, @score + 10;
+ M_9b:
+
+ mes "[Hunter Sharon]";
+ mes "Now you're done hunting for the day.";
+ next;
+ mes "[Hunter Sharon]";
+ mes "You find a rare item on the street while going back to town. What do you do?";
+ next;
+ menu "Finders keepers.",M_10b, "Try to find owner.",-, "Walk past it.",-;
+
+ set @score, @score + 10;
+ M_10b:
+
+ L_Score:
+ mes "[Hunter Sharon]";
+ mes "Now we're done!!";
+ next;
+ if(@score < 90) goto sL_Failed;
+ if(@score < 100) goto sL_90;
+
+ sL_100:
+ mes "[Hunter Sharon]";
+ mes "Great! Based on the answers you gave, you seem to be just the type of person we're looking for.";
+ emotion 21;
+ next;
+ mes "[Hunter Sharon]";
+ mes "With your kind of additude and values, you should have no problems becoming a Hunter.";
+ next;
+ goto L_Test2;
+ sL_90:
+ mes "[Hunter Sharon]";
+ mes "You didn't do as well as I hoped, but I'll pass you.... Though I don't know what the guild master will think of you....";
+ next;
+ mes "[Hunter Sharon]";
+ mes "Work hard on the next test. Make Sharon happy, okies?";
+ next;
+ goto L_Test2;
+ sL_Failed:
+ mes "[Hunter Sharon]";
+ mes "I.......don't think I can pass you..... The way you live your life is...... well... unexecptable for a Hunter candidate.";
+ emotion 4;
+ next;
+ mes "[Hunter Sharon]";
+ mes "Think carefully about my questions and your answers. Working well with people is just as important as loving nature.";
+ set HNTR_Q2, 1;
+ close;
+
+L_Test2:
+ mes "What you have to do next is go see ^5533FFMr. Demon Hunter^000000 behind me. He'll tell you about the second test.";
+ next;
+ mes "[Hunter Sharon]";
+ mes "Good luck!";
+ set HNTR_Q, 1;
+ set HNTR_Q2, 0;
+ close;
+
+L_Test3:
+ mes "Hmmm? The guild master? Oh, he's out right now.";
+ emotion 20;
+ next;
+ mes "[Hunter Sharon]";
+ mes "If I remember correctly, he should be somewhere in Archer Village. I think he had to talk with someone in the ^5533FFArcher Guild^000000.";
+ close;
+
+L_Change:
+ if(skillpoint > 0) goto sL_SkPoints;
+ if(countitem(1007) < 1) goto sL_NotRdy;
+ mes "Huh? Did you pass the test?";
+ next;
+ mes "[Hunter Sharon]";
+ mes "Congratulations!!";
+ emotion 21;
+ next;
+ mes "[Hunter Sharon]";
+ mes "Now I can change you into a Hunter!";
+ next;
+ mes "[Hunter Sharon]";
+ mes "There you go! You look great in the hunter outfit";
+
+ callfunc "Job_Change",Job_Hunter;
+ emotion 21;
+ next;
+ mes "[Hunter Sharon]";
+ mes "Now, for working so hard, the guild has a small reward for you.";
+ if(JBLVL == 50) getitem 1718, 1;
+ if(JBLVL != 50) getitem 1710, 1;
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+ next;
+ mes "[Hunter Sharon]";
+ mes "Do all of us here a favor, act responsibly, and love and respect nature! Good luck on your journey and remember you are always welcome here!";
+ next;
+ close;
+
+ sL_SkPoints:
+ mes "You still have skill points left over. Speak with me after you've used them up.";
+ close;
+ sL_NotRdy:
+ mes "[Hunter Sharon]";
+ mes "Hmmm, I received news of your success.... But you don't seem to have the ^5533FFNecklace of Wisdom^000000 as proof.";
+ emotion 20;
+ next;
+ mes "[Hunter Sharon]";
+ mes "You will need the Necklace of Wisdom to become a Hunter. If you don't have it you will have to start the test over.";
+ next;
+ menu "Um... I've got it.... somewhere....",-, "Heh heh.... I must have misplaced it.....",sM_ReStart;
+
+ mes "[Hunter Sharon]";
+ mes "Well then go get it!";
+ emotion 6;
+ close;
+ sM_ReStart:
+ mes "[Hunter Sharon]";
+ mes "..... That's just pathetic....... Have fun re-doing the ENTIRE TEST!";
+ emotion 32;
+ set HNTR_Q, 0;
+ set HNTR_Q2, 0;
+ close;
+}
+
+
+//<=========================== Demon Hunter: Second Test ===============================>\\
+hu_in01.gat,382,382,5 script Demon Hunter 732,{
+ if(BaseJob == Job_Archer) goto L_Arc;
+ if(BaseJob == Job_Hunter) goto L_Hnt;
+
+L_Other:
+ mes "[Demon Hunter]";
+ mes "They call me the Demon Hunter. What's that? You want to know why I'm called that?......";
+ next;
+ mes "[Demon Hunter]";
+ mes "heh... heh.... heh.....";
+ next;
+ mes "[Demon Hunter]";
+ mes "For your safety... it's best that you DON'T find out.....";
+ emotion 29;
+ close;
+
+L_Hnt:
+ mes "[Demon Hunter]";
+ mes "Look at you! Nice and spiffy in that Hunter's outfit. How does it feel? Good I bet. Well good luck to you.";
+ emotion 0;
+ close;
+
+L_Arc:
+ mes "[Demon Hunter]";
+ if(HNTR_Q == 1 && HNTR_Q2 > 0) goto L_Check; //Fixed [Lupus]
+ if(HNTR_Q == 1) goto L_Start;
+ if(HNTR_Q == 2) goto L_Test3;
+ if(HNTR_Q == 3) goto L_Done;
+ mes "You'll have to speak with ^5533FFHunter Sharon^000000 first, if you want to become a hunter.";
+ close;
+L_Start:
+ mes "Hello, I'm the test examiner they call the Demon Hunter. Is ^5566FF"+strcharinfo(0)+"^000000 your name?";
+ next;
+ menu "Yes",M_Yes, "Uhhh.... no",M_No;
+
+ M_Yes:
+ mes "[Demon Hunter]";
+ mes "Good. Because we make the arrows used during some of the tests, we also need the materials to make those arrows.";
+ next;
+ mes "[Demon Hunter]";
+ mes "If you haven't noticed already, our guild is NOT as wealthy as some of the others. I mean we're in the middle of the freaking forest for pete sake....";
+ emotion 7;
+ next;
+ mes "[Demon Hunter]";
+ mes "Ehem... Like I was saying earlier we need certain materials to make our arrows. That is where Hunter wanna be's like you come in handy.";
+ mes "For this test you will have to gather the materials needed for making our arrows.";
+ next;
+ mes "[Demon Hunter]";
+ mes "Let's see... the items you need to gather are.....";
+ next;
+ set HNTR_Q2, rand(1,5);
+ if(HNTR_Q2 == 2) goto sL_2;
+ if(HNTR_Q2 == 3) goto sL_3;
+ if(HNTR_Q2 == 4) goto sL_4;
+ if(HNTR_Q2 == 5) goto sL_5;
+
+ sL_1:
+ mes "[Demon Hunter]";
+ mes "^5533FF20 Bill of Birds^000000 for arrow heads.";
+ mes "^5533FF5 Skel-Bones^000000 used here and there.";
+ mes "and ^5533FF20 green herbs^000000.";
+ goto L_Cont;
+ sL_2:
+ mes "[Demon Hunter]";
+ mes "^5533FF7 Venom Canine.";
+ mes "20 Animal Skins.";
+ mes "and 15 red herbs^000000.";
+ goto L_Cont;
+ sL_3:
+ mes "[Demon Hunter]";
+ mes "^5533FF3 Dokebi Horns";
+ mes "3 Pieces of Egg Shell.";
+ mes "and 10 Feathers^000000.";
+ goto L_Cont;
+ sL_4:
+ mes "[Demon Hunter]";
+ mes "^5533FF20 Rainbow Shells";
+ mes "20 Chrysalis";
+ mes "9 Yellow Herbs^000000";
+ goto L_Cont;
+ sL_5:
+ mes "[Demon Hunter]";
+ mes "^5533FF20 Tooths of Bat.";
+ mes "20 Sticky Mucus.";
+ mes "and 5 Bears foot skin^000000";
+
+ L_Cont:
+ next;
+ mes "[Demon Hunter]";
+ mes "When you get all of the items return!";
+ close;
+
+ M_No:
+ mes "[Demon Hunter]";
+ mes "Stop playing around "+strcharinfo(0)+", that's your name, right?";
+ menu "Yes",M_Yes, "uhhh no",sM_End;
+
+ sM_End:
+ mes "[Demon Hunter]";
+ mes "DON'T you mess around with me! If you're gonna fool around then LEAVE!";
+ emotion 32;
+ warp "hugel.gat", 207, 222;
+ end;
+
+L_Check:
+ mes "Yes?";
+ next;
+ if(HNTR_Q2 == 1) goto L_1;
+ if(HNTR_Q2 == 2) goto L_2;
+ if(HNTR_Q2 == 3) goto L_3;
+ if(HNTR_Q2 == 4) goto L_4;
+ if(HNTR_Q2 == 5) goto L_5;
+
+ L_1:
+ if(countitem(925)<20 || countitem(932)<5 || countitem(511)<20) goto sL_1;
+ delitem 925, 20;
+ delitem 932, 5;
+ delitem 511, 20;
+ goto L_End;
+ L_2:
+ if(countitem(937)<7 || countitem(919)<20 || countitem(507)<15) goto sL_2;
+ delitem 937, 7;
+ delitem 919, 20;
+ delitem 507, 15;
+ goto L_End;
+ L_3:
+ if(countitem(1021)<3 || countitem(7032)<3 || countitem(949)<10) goto sL_3;
+ delitem 1021, 3;
+ delitem 7032, 3;
+ delitem 949, 10;
+ goto L_End;
+ L_4:
+ if(countitem(1013)<20 || countitem(915)<20 || countitem(508)<9) goto sL_4;
+ delitem 1013, 20;
+ delitem 915, 20;
+ delitem 508, 9;
+ goto L_End;
+ L_5:
+ if(countitem(913)<20 || countitem(938)<20 || countitem(948)<5) goto sL_5;
+ delitem 913, 20;
+ delitem 938, 20;
+ delitem 948, 5;
+
+ L_End:
+ mes "[Demon Hunter]";
+ mes "Good job. You brought all the necesarry items. Now go find the ^5533FFGuild Master^000000.";
+ mes "I think he's somewhere in the ^5533FFArcher Guild^000000. He'll give you your final test. Good luck.";
+ set HNTR_Q, 2;
+ set HNTR_Q2, 0;
+ close;
+
+L_Test3:
+ mes "Huh? Can't you find the guild master? He should be in the ^5533FFArcher Guild in Archer village^000000. Go find him.";
+ emotion 20;
+ close;
+
+L_Done:
+ mes "Ah, you passed the test! Congrats, go see Sharin now.";
+ close;
+
+}
+
+
+//<=============================== Guild Master: Last Test =================================>\\
+payon_in02.gat,21,31,1 script Guild Master 59,{
+ if(BaseJob == Job_Archer) goto L_Archer;
+ if(BaseJob == Job_Hunter) goto L_Hnt;
+
+L_Other:
+ mes "[Hunter]";
+ mes "Is there something you want of me? I'm have some buisiness to take care of, so please be quiet.";
+ emotion 20;
+ close;
+
+L_Hnt:
+ mes "[Guild Master]";
+ mes "Ah, it's you again, "+strcharinfo+"! Good to see you're well. Me? I'm still busy as usual.";
+ next;
+ mes "[Guild Master]";
+ mes "Well I've gota get back to work. Stay safe.";
+ close;
+
+L_Archer:
+ mes "[Guild Master]";
+ if(HNTR_Q == 1) goto L_Test2;
+ if(HNTR_Q == 2) goto L_Start;
+ if(HNTR_Q == 3) goto L_Done;
+ mes "You want to be a hunter bad, don't you? In my days, I worked for over a month to become a hunter, hehe.";
+ next;
+ mes "[Guild Master]";
+ mes "If you don't have anything else I suggest you go back to the guild!";
+ close;
+
+L_Start:
+ if(HNTR_Q2 == 1) goto L_ReTest;
+ if(HNTR_Q2 == 2) goto L_Passed;
+ mes "So, you've come to take the test? I see.... well then, do you have any questions before we get started?";
+ M_Menu:
+ next;
+ menu "What's the test about?",M_0, "Anything I should know?",M_1, "Start the test.",M_Start;
+
+ M_0:
+ mes "[Guild Master]";
+ mes "This is a test of speed, agility, and target recogniton. You will be warped to a room full of monsters.";
+ mes "You will have to ^5533FFkill 4^000000 of those monsters but not just any 4. You will need to kill the ones called, ^5533FFJob Change Monster^000000.";
+ next;
+ mes "[Guild Master]";
+ mes "Kill the wrong one and you will fail the test. To make things even harder, we have set traps all over the room.";
+ mes "Stepping on a trap will also result in failure.";
+ next;
+ mes "[Guild Master]";
+ mes "One more important note.... You must complete the test within ^FF55333 minutes^000000.";
+ next;
+ mes "[Guild Master]";
+ mes "This will teach you the important abilities a hunter needs, mobilitiy and tracking.";
+ goto M_Menu;
+ M_1:
+ mes "[Guild Master]";
+ mes "Only one person can take the test at time. If someone is currently taking the test, just enter the chat room and wait.";
+ mes "You will automatically be warped to the testing room when the other player either finishes or fails.";
+ next;
+ mes "[Guild Master]";
+ mes "Make sure you aim carefully. There will be a lot of monsters and you don't want to hit the wrong one.";
+ mes "Keeping track of the monsters' names will be very important in this test.";
+ next;
+ mes "[Guild Master]";
+ mes "And ALWAYS watch your step! There are traps everywhere!";
+ goto M_Menu;
+ M_Start:
+ if (countitem(1751) <= 5 && @HNTR_QA==0) callsub sF_GetArrows;
+ mes "[Guild Master]";
+ mes "Good luck, I'll send you to the test room now.";
+ next;
+ set HNTR_Q2, 1;
+ set @HNTR_QA,0;
+ savepoint "payon_in02.gat", 16, 26;
+ warp "job_hunte.gat", 176, 22;
+ end;
+
+ sF_GetArrows:
+ mes "[Guild Master]";
+ mes "This is where your hard work in the 2nd test payed off. Here are some arrows, made with the items you collected.";
+ getitem 1751, 200;
+ set @HNTR_QA,1;
+ next;
+ return;
+
+L_ReTest:
+ mes "Ah, you're one of the archers that failed. Here, let me heal you wounds...";
+ next;
+ mes "[Guild Master]";
+ mes "You're ready right?";
+ percentheal 100,100;
+ goto M_Menu;
+
+L_Passed:
+ mes "I see you suceeded. Great job! Now I will give you the proof of your success, the ^5533FFNecklace of Wisdom^000000.";
+ emotion 21;
+ next;
+ mes "[Guild Master]";
+ mes "Here you go. Make sure you show this to Hunter Sharon or you WON'T be able to become a Hunter.";
+ getitem 1007,1;
+ next;
+ mes "[Guild Master]";
+ mes "Anyway, I've got some work left to do here so I'll see you later.";
+ set HNTR_Q, 3;
+ set HNTR_Q2, 0;
+ close;
+
+L_Test2:
+ mes "Yes? What would a archer want from me? The guild didn't send me a msg about you.";
+ mes "Did you talk to the guild recruiters and get all the items needed? You have to get them the items first.";
+ close;
+L_Done:
+ mes "Hmm? What is it? Don't waste your time here, go on and become a Hunter already....";
+ close;
+
+}
+
+
+// Test Guide ====================================================
+job_hunte.gat,178,32,5 script Hunter Test Guide::HntTG 107,{
+
+L_Start:
+ mes "[Test Guide]";
+ mes "Welcome to the Hunter's testing arena.";
+ next;
+ menu "Take the test.",-, "I changed my mind.",M_End;
+
+ mes "[Test Guide]";
+ mes "Please enter the waiting room after hearing my explaination.";
+ next;
+ mes "[Test Guide]";
+ mes "You will be warped into room with traps and monsters. Avoid the traps and kill the monsters. Once you do, a switch will appear";
+ next;
+ mes "[Test Guide]";
+ mes "Use the switch to open an exit out of the arena. You will have 3 minutes to complete the test.";
+ next;
+ mes "[Test Guide]";
+ mes "If you get knocked out, get caught in a trap, or run out of time, you will fail the test and have to start over again.";
+ next;
+ mes "[Test Guide]";
+ mes "Don't worry about arrows, we'll provide them. So, if you're ready, go to the waiting room.";
+ close;
+ M_End:
+ mes "[Test Guide]";
+ mes "Alright, I'll send you back to Payon. Hopefully I'll see you again later. Don't forget to save!";
+ warp "payon_in02.gat", 16, 26;
+ end;
+
+OnInit:
+ waitingroom "Hunter Test Waiting Room", 8,"HntTG::OnStart",1;
+ end;
+
+OnStart:
+ set $@HntUsers, getareausers("job_hunte.gat", 50, 64, 123, 143);
+ if ($@HntUsers > 0) end; // stops the rest of the script from running if there is somebody taking the test
+
+ if ((getwaitingroomstate(33)) == 0) end; // stops the rest of the script from running if there is no one in the waiting room
+ killmonsterall "job_hunte.gat";
+ warpwaitingpc "job_hunte.gat", 90, 67;
+ donpcevent "Ev_HntRm";
+ end;
+
+}
+
+
+// Ev_HntRm: Test room --------------------------------------------------------
+job_hunte.gat,1,1,1 script Ev_HntRm -1,{
+
+ disablenpc "SwitchHnt";
+ disablenpc "ExitHnt";
+ set $@HntMob, 4;
+ // Real Monsters
+ monster "job_hunte.gat",67,80,"Job Change Monster",1015,1,"Ev_HntRm::OnMyMobDead1";
+ monster "job_hunte.gat",114,78,"Job Change Monster",1015,1,"Ev_HntRm::OnMyMobDead1";
+ monster "job_hunte.gat",89,127,"Job Change Monster",1002,1,"Ev_HntRm::OnMyMobDead1";
+ monster "job_hunte.gat",53,73,"Job Change Monster",1041,1,"Ev_HntRm::OnMyMobDead1";
+ monster "job_hunte.gat",125,70,"Job Change Monster",1016,1,"Ev_HntRm::OnMyMobDead1";
+ monster "job_hunte.gat",90,92,"Job Change Monster",1015,1,"Ev_HntRm::OnMyMobDead1";
+ donpcevent "Ev_HntRm2";
+ initnpctimer "TimerHnt";
+ end;
+
+OnMyMobDead1:
+ set $@HntMob, $@HntMob - 1;
+ if($@HntMob != 0) end;
+
+ stopnpctimer "TimerHnt";
+ killmonsterall "job_hunte.gat";
+ enablenpc "SwitchHnt";
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: Great job! Go use the switch now!",8;
+ end;
+
+}
+
+// Ev_HntRm2: Spawns the Decoy Monsters ----------------------------------------
+job_hunte.gat,1,1,1 script Ev_HntRm2 -1,{
+
+ // Decoy Monsters
+ monster "job_hunte.gat",85,100,"Test Monster",1016,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",72,102,"Test Monster",1041,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",108,103,"Test Monster",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",88,127,"Test Monster",1002,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",125,69,"Test Monster",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat", 77, 112,"Test Monster",1016,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",53, 106,"Test Monster",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",53, 73,"Test Monster",1002,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",125, 70,"Test Monster",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",90, 91,"Test Monster",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",67, 80,"Test Monster",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",77, 112,"Test Monster",1016,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",53, 106,"Test Monster",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",53, 73,"Test Monster",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",125, 70,"Test Monster",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",90, 91,"Test Monster",1041,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",85, 100,"Test Monster",1002,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",72, 102,"Test Monster",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",108, 103,"Test Monster",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",77, 112,"Test Monster",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",112, 139,"Vinnie Paul",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",112, 139,"Dimeback Darrel",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",112, 139,"Rex",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",112, 139,"Phillip Angelmo",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",90, 91,"Anolian",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",53, 73,"monster sample",1002,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",53, 106,"I'm not the one you want >_>",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",77, 112,"SPARE ME~",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",72, 102,"Don't hurt me!",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ monster "job_hunte.gat",108, 103,"aspd 184",1015,1,"Ev_HntRm2::OnMyMobDead2";
+ end;
+
+OnMyMobDead2:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: You killed the wrong monster! You have failed the test!",8;
+ addtimer 3000, "TimerHnt::OnTimer196000";
+ end;
+}
+
+// Test Timer -----------------------------------------------------------------
+job_hunte.gat,1,1,1 script TimerHnt -1,{
+
+
+OnTimer500:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: Remember, you need to kill the 'Job Change Monsters'!",8;
+ end;
+OnTimer4000:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: Don't forget to AVOID the TRAPS!!!",8;
+ end;
+OnTimer10000:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: ******The clock will start now! 3 minutes left! ****** ",8;
+ donpcevent "HntTG::OnStart";
+ end;
+OnTimer40000:
+ donpcevent "HntTG::OnStart";
+ end;
+OnTimer70000:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: ****** 2 minutes left! ****** ",8;
+ donpcevent "HntTG::OnStart";
+ end;
+OnTimer100000:
+ donpcevent "HntTG::OnStart";
+ end;
+OnTimer130000:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: ****** 1 minute left! ****** ",8;
+ donpcevent "HntTG::OnStart";
+ end;
+OnTimer160000:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: ****** 30 sec left! ****** ",8;
+ donpcevent "HntTG::OnStart";
+ end;
+OnTimer185000:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: 5 . . . .",8;
+ donpcevent "HntTG::OnStart";
+ end;
+OnTimer186000:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: 4. . . .",8;
+ end;
+OnTimer187000:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: 3. . .",8;
+ end;
+OnTimer188000:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: 2. .",8;
+ end;
+OnTimer189000:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: 1...",8;
+ end;
+OnTimer190000:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: 0! ",8;
+ end;
+OnTimer193000:
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: You ran out of time! You can challenge again later!.",8;
+ end;
+OnTimer196000:
+ stopnpctimer;
+ areawarp "job_hunte.gat", 50, 64, 123, 143, "payon_in02.gat", 16, 26;
+ killmonsterall "job_hunte.gat";
+ donpcevent "HntTG::OnStart";
+ end;
+}
+
+// SwitchHnt ------------------------------------------------------
+job_hunte.gat,93,101,1 script SwitchHnt 723,{
+ areaannounce "job_hunte.gat", 50, 64, 123, 143, "[Test Guide]: *** The exit has been activated! You have 30 sec. to find the exit!! *** ",8;
+ enablenpc "ExitHnt";
+ addtimer 30000, "TimerHnt::OnTimer196000";
+ close;
+}
+
+// ExitHnt -----------------------------------------------------------
+job_hunte.gat,89,139,1 script ExitHnt 45,2,2,{
+
+ deltimer "TimerHnt::OnTimer196000";
+ set HNTR_Q2, 2;
+ warp "payon_in02.gat", 16, 26;
+ killmonsterall "job_hunte.gat";
+ donpcevent "HntTG::OnStart";
+ end;
+}
+
+
+// Hunter Test Traps =======================================
+
+job_hunte.gat,52,140,1 script 1-1::HntTrap 139,0,1,{
+ stopnpctimer "TimerHnt";
+ warp "payon_in02.gat", 16, 26;
+ killmonsterall "job_hunte.gat";
+ donpcevent "HntTG::OnStart";
+ end;
+}
+
+job_hunte.gat,53,140,1 duplicate(HntTrap) 1-2 139,0,1
+job_hunte.gat,54,141,1 duplicate(HntTrap) 1-3 139,0,0
+job_hunte.gat,55,141,1 duplicate(HntTrap) 1-4 139,0,0
+job_hunte.gat,55,140,1 duplicate(HntTrap) 1-5 139,0,0
+job_hunte.gat,54,140,1 duplicate(HntTrap) 1-6 139,0,0
+job_hunte.gat,52,138,1 duplicate(HntTrap) 1-7 139,0,0
+job_hunte.gat,53,138,1 duplicate(HntTrap) 1-8 139,0,0
+job_hunte.gat,62,140,1 duplicate(HntTrap) 2-1 139,0,1
+job_hunte.gat,63,140,1 duplicate(HntTrap) 2-2 139,0,1
+job_hunte.gat,64,140,1 duplicate(HntTrap) 2-3 139,0,0
+job_hunte.gat,64,141,1 duplicate(HntTrap) 2-4 139,0,0
+job_hunte.gat,65,140,1 duplicate(HntTrap) 2-5 139,0,0
+job_hunte.gat,65,141,1 duplicate(HntTrap) 2-6 139,0,0
+job_hunte.gat,62,138,1 duplicate(HntTrap) 2-7 139,0,0
+job_hunte.gat,63,138,1 duplicate(HntTrap) 2-8 139,0,0
+job_hunte.gat,72,140,1 duplicate(HntTrap) 3-1 139,0,1
+job_hunte.gat,73,140,1 duplicate(HntTrap) 3-2 139,0,1
+job_hunte.gat,72,138,1 duplicate(HntTrap) 3-3 139,0,0
+job_hunte.gat,72,138,1 duplicate(HntTrap) 3-4 139,0,0
+job_hunte.gat,78,140,1 duplicate(HntTrap) 4-1 139,0,0
+job_hunte.gat,78,141,1 duplicate(HntTrap) 4-2 139,0,0
+job_hunte.gat,79,140,1 duplicate(HntTrap) 4-3 139,0,0
+job_hunte.gat,79,141,1 duplicate(HntTrap) 4-4 139,0,0
+job_hunte.gat,82,138,1 duplicate(HntTrap) 5-1 139,0,0
+job_hunte.gat,82,139,1 duplicate(HntTrap) 5-2 139,0,0
+job_hunte.gat,83,138,1 duplicate(HntTrap) 5-3 139,0,0
+job_hunte.gat,83,139,1 duplicate(HntTrap) 5-4 139,0,0
+job_hunte.gat,99,138,1 duplicate(HntTrap) 6-1 139,1,0
+job_hunte.gat,99,139,1 duplicate(HntTrap) 6-2 139,1,0
+job_hunte.gat,101,138,1 duplicate(HntTrap) 6-3 139,0,0
+job_hunte.gat,101,139,1 duplicate(HntTrap) 6-4 139,0,0
+job_hunte.gat,106,140,1 duplicate(HntTrap) 7-1 139,0,1
+job_hunte.gat,107,140,1 duplicate(HntTrap) 7-2 139,0,1
+job_hunte.gat,106,138,1 duplicate(HntTrap) 7-3 139,0,0
+job_hunte.gat,107,138,1 duplicate(HntTrap) 7-4 139,0,0
+job_hunte.gat,112,140,1 duplicate(HntTrap) 8-1 139,0,0
+job_hunte.gat,112,141,1 duplicate(HntTrap) 8-2 139,0,0
+job_hunte.gat,113,140,1 duplicate(HntTrap) 8-3 139,0,0
+job_hunte.gat,113,141,1 duplicate(HntTrap) 8-4 139,0,0
+job_hunte.gat,116,140,1 duplicate(HntTrap) 9-1 139,0,0
+job_hunte.gat,116,141,1 duplicate(HntTrap) 9-2 139,0,0
+job_hunte.gat,117,140,1 duplicate(HntTrap) 9-3 139,0,0
+job_hunte.gat,117,141,1 duplicate(HntTrap) 9-4 139,0,0
+job_hunte.gat,120,138,1 duplicate(HntTrap) 10-1 139,0,0
+job_hunte.gat,120,139,1 duplicate(HntTrap) 10-2 139,0,0
+job_hunte.gat,121,138,1 duplicate(HntTrap) 10-3 139,0,0
+job_hunte.gat,121,139,1 duplicate(HntTrap) 10-4 139,0,0
+job_hunte.gat,126,139,1 duplicate(HntTrap) 11-1 139,0,2
+job_hunte.gat,127,139,1 duplicate(HntTrap) 11-2 139,0,2
+job_hunte.gat,126,136,1 duplicate(HntTrap) 11-3 139,0,0
+job_hunte.gat,127,136,1 duplicate(HntTrap) 11-4 139,0,0
+job_hunte.gat,52,134,1 duplicate(HntTrap) 12-1 139,0,1
+job_hunte.gat,53,134,1 duplicate(HntTrap) 12-2 139,0,1
+job_hunte.gat,52,132,1 duplicate(HntTrap) 12-3 139,0,0
+job_hunte.gat,53,132,1 duplicate(HntTrap) 12-4 139,0,0
+job_hunte.gat,124,130,1 duplicate(HntTrap) 13-1 139,0,0
+job_hunte.gat,124,131,1 duplicate(HntTrap) 13-2 139,0,0
+job_hunte.gat,125,130,1 duplicate(HntTrap) 13-3 139,0,0
+job_hunte.gat,125,131,1 duplicate(HntTrap) 13-4 139,0,0
+job_hunte.gat,64,128,1 duplicate(HntTrap) 14-1 139,0,0
+job_hunte.gat,64,129,1 duplicate(HntTrap) 14-2 139,0,0
+job_hunte.gat,65,128,1 duplicate(HntTrap) 14-3 139,0,0
+job_hunte.gat,65,129,1 duplicate(HntTrap) 14-4 139,0,0
+job_hunte.gat,68,126,1 duplicate(HntTrap) 15-1 139,0,0
+job_hunte.gat,68,127,1 duplicate(HntTrap) 15-2 139,0,0
+job_hunte.gat,69,126,1 duplicate(HntTrap) 15-3 139,0,0
+job_hunte.gat,69,127,1 duplicate(HntTrap) 15-4 139,0,0
+job_hunte.gat,75,128,1 duplicate(HntTrap) 16-1 139,1,0
+job_hunte.gat,75,129,1 duplicate(HntTrap) 16-2 139,1,0
+job_hunte.gat,77,128,1 duplicate(HntTrap) 16-3 139,0,0
+job_hunte.gat,77,129,1 duplicate(HntTrap) 16-4 139,0,0
+job_hunte.gat,82,126,1 duplicate(HntTrap) 17-1 139,0,0
+job_hunte.gat,82,127,1 duplicate(HntTrap) 17-2 139,0,0
+job_hunte.gat,83,126,1 duplicate(HntTrap) 17-3 139,0,0
+job_hunte.gat,83,127,1 duplicate(HntTrap) 17-4 139,0,0
+job_hunte.gat,96,128,1 duplicate(HntTrap) 18-1 139,0,0
+job_hunte.gat,96,129,1 duplicate(HntTrap) 18-2 139,0,0
+job_hunte.gat,97,128,1 duplicate(HntTrap) 18-3 139,0,0
+job_hunte.gat,97,129,1 duplicate(HntTrap) 18-4 139,0,0
+job_hunte.gat,100,126,1 duplicate(HntTrap) 19-1 139,0,0
+job_hunte.gat,100,127,1 duplicate(HntTrap) 19-2 139,0,0
+job_hunte.gat,101,126,1 duplicate(HntTrap) 19-3 139,0,0
+job_hunte.gat,101,127,1 duplicate(HntTrap) 19-4 139,0,0
+job_hunte.gat,106,128,1 duplicate(HntTrap) 20-1 139,0,0
+job_hunte.gat,106,129,1 duplicate(HntTrap) 20-2 139,0,0
+job_hunte.gat,107,128,1 duplicate(HntTrap) 20-3 139,0,0
+job_hunte.gat,107,129,1 duplicate(HntTrap) 20-4 139,0,0
+job_hunte.gat,112,126,1 duplicate(HntTrap) 21-1 139,0,0
+job_hunte.gat,112,127,1 duplicate(HntTrap) 21-2 139,0,0
+job_hunte.gat,113,126,1 duplicate(HntTrap) 21-3 139,0,0
+job_hunte.gat,113,127,1 duplicate(HntTrap) 21-4 139,0,0
+job_hunte.gat,126,126,1 duplicate(HntTrap) 22-1 139,0,0
+job_hunte.gat,126,127,1 duplicate(HntTrap) 22-2 139,0,0
+job_hunte.gat,127,126,1 duplicate(HntTrap) 22-3 139,0,0
+job_hunte.gat,127,127,1 duplicate(HntTrap) 22-4 139,0,0
+job_hunte.gat,52,122,1 duplicate(HntTrap) 23-1 139,0,1
+job_hunte.gat,52,122,1 duplicate(HntTrap) 23-2 139,0,1
+job_hunte.gat,53,120,1 duplicate(HntTrap) 23-3 139,1,0
+job_hunte.gat,54,121,1 duplicate(HntTrap) 23-4 139,0,0
+job_hunte.gat,55,121,1 duplicate(HntTrap) 23-5 139,0,0
+job_hunte.gat,55,120,1 duplicate(HntTrap) 23-6 139,0,0
+job_hunte.gat,66,120,1 duplicate(HntTrap) 24-1 139,0,0
+job_hunte.gat,66,121,1 duplicate(HntTrap) 24-2 139,0,0
+job_hunte.gat,67,120,1 duplicate(HntTrap) 24-3 139,0,0
+job_hunte.gat,67,121,1 duplicate(HntTrap) 24-4 139,0,0
+job_hunte.gat,114,118,1 duplicate(HntTrap) 25-1 139,0,0
+job_hunte.gat,114,119,1 duplicate(HntTrap) 25-2 139,0,0
+job_hunte.gat,115,118,1 duplicate(HntTrap) 25-3 139,0,0
+job_hunte.gat,115,119,1 duplicate(HntTrap) 25-4 139,0,0
+job_hunte.gat,124,120,1 duplicate(HntTrap) 26-1 139,0,1
+job_hunte.gat,125,120,1 duplicate(HntTrap) 26-2 139,0,1
+job_hunte.gat,124,118,1 duplicate(HntTrap) 26-3 139,0,0
+job_hunte.gat,125,118,1 duplicate(HntTrap) 26-4 139,0,0
+job_hunte.gat,66,116,1 duplicate(HntTrap) 27-1 139,0,0
+job_hunte.gat,66,117,1 duplicate(HntTrap) 27-2 139,0,0
+job_hunte.gat,67,116,1 duplicate(HntTrap) 27-3 139,0,0
+job_hunte.gat,67,117,1 duplicate(HntTrap) 27-4 139,0,0
+job_hunte.gat,76,114,1 duplicate(HntTrap) 28-1 139,0,0
+job_hunte.gat,76,115,1 duplicate(HntTrap) 28-2 139,0,0
+job_hunte.gat,77,114,1 duplicate(HntTrap) 28-3 139,0,0
+job_hunte.gat,77,115,1 duplicate(HntTrap) 28-4 139,0,0
+job_hunte.gat,82,116,1 duplicate(HntTrap) 29-1 139,0,0
+job_hunte.gat,82,117,1 duplicate(HntTrap) 29-2 139,0,0
+job_hunte.gat,83,116,1 duplicate(HntTrap) 29-3 139,0,0
+job_hunte.gat,83,117,1 duplicate(HntTrap) 29-4 139,0,0
+job_hunte.gat,86,114,1 duplicate(HntTrap) 30-1 139,0,0
+job_hunte.gat,86,115,1 duplicate(HntTrap) 30-2 139,0,0
+job_hunte.gat,87,114,1 duplicate(HntTrap) 30-3 139,0,0
+job_hunte.gat,87,115,1 duplicate(HntTrap) 30-4 139,0,0
+job_hunte.gat,92,115,1 duplicate(HntTrap) 31-1 139,1,0
+job_hunte.gat,92,114,1 duplicate(HntTrap) 31-2 139,1,0
+job_hunte.gat,90,115,1 duplicate(HntTrap) 31-3 139,0,0
+job_hunte.gat,102,116,1 duplicate(HntTrap) 32-1 139,0,0
+job_hunte.gat,102,117,1 duplicate(HntTrap) 32-2 139,0,0
+job_hunte.gat,103,116,1 duplicate(HntTrap) 32-3 139,0,0
+job_hunte.gat,103,117,1 duplicate(HntTrap) 32-4 139,0,0
+job_hunte.gat,114,114,1 duplicate(HntTrap) 33-1 139,0,0
+job_hunte.gat,114,115,1 duplicate(HntTrap) 33-2 139,0,0
+job_hunte.gat,115,114,1 duplicate(HntTrap) 33-3 139,0,0
+job_hunte.gat,115,115,1 duplicate(HntTrap) 33-4 139,0,0
+job_hunte.gat,54,110,1 duplicate(HntTrap) 34-1 139,0,1
+job_hunte.gat,55,110,1 duplicate(HntTrap) 34-2 139,0,1
+job_hunte.gat,54,108,1 duplicate(HntTrap) 34-3 139,0,0
+job_hunte.gat,55,108,1 duplicate(HntTrap) 34-4 139,0,0
+job_hunte.gat,64,112,1 duplicate(HntTrap) 35-1 139,0,0
+job_hunte.gat,64,113,1 duplicate(HntTrap) 35-2 139,0,0
+job_hunte.gat,65,112,1 duplicate(HntTrap) 35-3 139,0,0
+job_hunte.gat,65,113,1 duplicate(HntTrap) 35-4 139,0,0
+job_hunte.gat,80,110,1 duplicate(HntTrap) 36-1 139,0,0
+job_hunte.gat,80,111,1 duplicate(HntTrap) 36-2 139,0,0
+job_hunte.gat,81,110,1 duplicate(HntTrap) 36-3 139,0,0
+job_hunte.gat,81,111,1 duplicate(HntTrap) 36-4 139,0,0
+job_hunte.gat,90,108,1 duplicate(HntTrap) 37-1 139,0,6
+job_hunte.gat,91,108,1 duplicate(HntTrap) 37-2 139,0,5
+job_hunte.gat,91,102,1 duplicate(HntTrap) 37-3 139,0,0
+job_hunte.gat,98,109,1 duplicate(HntTrap) 38-1 139,0,2
+job_hunte.gat,99,109,1 duplicate(HntTrap) 38-2 139,0,2
+job_hunte.gat,103,109,1 duplicate(HntTrap) 38-3 139,3,0
+job_hunte.gat,103,108,1 duplicate(HntTrap) 38-4 139,3,0
+job_hunte.gat,97,106,1 duplicate(HntTrap) 39-1 139,2,0
+job_hunte.gat,96,107,1 duplicate(HntTrap) 39-2 139,1,0
+job_hunte.gat,94,108,1 duplicate(HntTrap) 39-3 139,0,1
+job_hunte.gat,95,109,1 duplicate(HntTrap) 39-4 139,0,0
+job_hunte.gat,95,108,1 duplicate(HntTrap) 40-1 139,0,0
+job_hunte.gat,94,106,1 duplicate(HntTrap) 40-2 139,0,0
+job_hunte.gat,96,102,1 duplicate(HntTrap) 40-3 139,0,3
+job_hunte.gat,97,102,1 duplicate(HntTrap) 40-4 139,0,3
+job_hunte.gat,95,98,1 duplicate(HntTrap) 41-1 139,2,0
+job_hunte.gat,94,99,1 duplicate(HntTrap) 42-1 139,1,0
+job_hunte.gat,92,98,1 duplicate(HntTrap) 43-1 139,0,0
+job_hunte.gat,112,110,1 duplicate(HntTrap) 44-1 139,0,0
+job_hunte.gat,112,111,1 duplicate(HntTrap) 44-2 139,0,0
+job_hunte.gat,113,110,1 duplicate(HntTrap) 44-3 139,0,0
+job_hunte.gat,113,111,1 duplicate(HntTrap) 44-4 139,0,0
+job_hunte.gat,126,108,1 duplicate(HntTrap) 45-1 139,0,1
+job_hunte.gat,127,108,1 duplicate(HntTrap) 45-2 139,0,1
+job_hunte.gat,126,106,1 duplicate(HntTrap) 45-3 139,0,0
+job_hunte.gat,126,106,1 duplicate(HntTrap) 45-4 139,0,0
+job_hunte.gat,53,102,1 duplicate(HntTrap) 46-1 139,1,1
+job_hunte.gat,55,102,1 duplicate(HntTrap) 46-2 139,0,1
+job_hunte.gat,53,100,1 duplicate(HntTrap) 46-3 139,1,0
+job_hunte.gat,55,100,1 duplicate(HntTrap) 46-4 139,0,0
+job_hunte.gat,64,106,1 duplicate(HntTrap) 47-1 139,0,0
+job_hunte.gat,64,107,1 duplicate(HntTrap) 47-2 139,0,0
+job_hunte.gat,65,106,1 duplicate(HntTrap) 47-3 139,0,0
+job_hunte.gat,65,107,1 duplicate(HntTrap) 47-4 139,0,0
+job_hunte.gat,66,100,1 duplicate(HntTrap) 48-1 139,0,0
+job_hunte.gat,66,101,1 duplicate(HntTrap) 48-2 139,0,0
+job_hunte.gat,67,100,1 duplicate(HntTrap) 48-3 139,0,0
+job_hunte.gat,67,101,1 duplicate(HntTrap) 48-4 139,0,0
+job_hunte.gat,86,106,1 duplicate(HntTrap) 49-1 139,0,1
+job_hunte.gat,87,106,1 duplicate(HntTrap) 49-2 139,0,1
+job_hunte.gat,82,104,1 duplicate(HntTrap) 49-3 139,5,0
+job_hunte.gat,81,105,1 duplicate(HntTrap) 49-4 139,4,0
+job_hunte.gat,76,105,1 duplicate(HntTrap) 50-1 139,0,0
+job_hunte.gat,76,104,1 duplicate(HntTrap) 50-2 139,0,0
+job_hunte.gat,78,101,1 duplicate(HntTrap) 50-3 139,0,2
+job_hunte.gat,79,101,1 duplicate(HntTrap) 50-4 139,0,2
+job_hunte.gat,76,99,1 duplicate(HntTrap) 51-1 139,10
+job_hunte.gat,77,98,1 duplicate(HntTrap) 51-2 139,2,0
+job_hunte.gat,74,99,1 duplicate(HntTrap) 51-3 139,0,0
+job_hunte.gat,74,98,1 duplicate(HntTrap) 51-4 139,0,0
+job_hunte.gat,82,100,1 duplicate(HntTrap) 53-1 139,0,0
+job_hunte.gat,82,101,1 duplicate(HntTrap) 53-2 139,0,0
+job_hunte.gat,83,100,1 duplicate(HntTrap) 53-3 139,0,0
+job_hunte.gat,83,101,1 duplicate(HntTrap) 53-4 139,0,0
+job_hunte.gat,106,104,1 duplicate(HntTrap) 54-1 139,0,0
+job_hunte.gat,106,105,1 duplicate(HntTrap) 54-2 139,0,0
+job_hunte.gat,107,104,1 duplicate(HntTrap) 54-3 139,0,0
+job_hunte.gat,107,105,1 duplicate(HntTrap) 54-4 139,0,0
+job_hunte.gat,112,104,1 duplicate(HntTrap) 55-1 139,0,1
+job_hunte.gat,113,104,1 duplicate(HntTrap) 55-2 139,0,1
+job_hunte.gat,112,102,1 duplicate(HntTrap) 55-3 139,0,0
+job_hunte.gat,113,102,1 duplicate(HntTrap) 55-4 139,0,0
+job_hunte.gat,54,92,1 duplicate(HntTrap) 56-1 139,0,0
+job_hunte.gat,54,93,1 duplicate(HntTrap) 56-2 139,0,0
+job_hunte.gat,55,92,1 duplicate(HntTrap) 56-3 139,0,0
+job_hunte.gat,55,93,1 duplicate(HntTrap) 56-4 139,0,0
+job_hunte.gat,52,90,1 duplicate(HntTrap) 56-5 139,0,0
+job_hunte.gat,52,91,1 duplicate(HntTrap) 56-6 139,0,0
+job_hunte.gat,53,90,1 duplicate(HntTrap) 56-7 139,0,0
+job_hunte.gat,53,91,1 duplicate(HntTrap) 56-8 139,0,0
+job_hunte.gat,64,92,1 duplicate(HntTrap) 57-1 139,0,0
+job_hunte.gat,64,93,1 duplicate(HntTrap) 57-2 139,0,0
+job_hunte.gat,65,92,1 duplicate(HntTrap) 57-3 139,0,0
+job_hunte.gat,65,93,1 duplicate(HntTrap) 57-4 139,0,0
+job_hunte.gat,76,94,1 duplicate(HntTrap) 58-1 139,0,0
+job_hunte.gat,76,95,1 duplicate(HntTrap) 58-2 139,0,0
+job_hunte.gat,77,94,1 duplicate(HntTrap) 58-3 139,0,0
+job_hunte.gat,77,95,1 duplicate(HntTrap) 58-4 139,0,0
+job_hunte.gat,78,92,1 duplicate(HntTrap) 59-1 139,0,0
+job_hunte.gat,78,93,1 duplicate(HntTrap) 59-2 139,0,0
+job_hunte.gat,79,92,1 duplicate(HntTrap) 59-3 139,0,0
+job_hunte.gat,79,93,1 duplicate(HntTrap) 59-4 139,0,0
+job_hunte.gat,86,92,1 duplicate(HntTrap) 60-1 139,0,0
+job_hunte.gat,86,93,1 duplicate(HntTrap) 60-2 139,0,0
+job_hunte.gat,87,92,1 duplicate(HntTrap) 60-3 139,0,0
+job_hunte.gat,87,93,1 duplicate(HntTrap) 60-4 139,0,0
+job_hunte.gat,90,96,1 duplicate(HntTrap) 61-1 139,0,0
+job_hunte.gat,90,97,1 duplicate(HntTrap) 61-2 139,0,0
+job_hunte.gat,91,96,1 duplicate(HntTrap) 61-3 139,0,0
+job_hunte.gat,91,97,1 duplicate(HntTrap) 61-4 139,0,0
+job_hunte.gat,99,95,1 duplicate(HntTrap) 62-1 139,1,0
+job_hunte.gat,99,94,1 duplicate(HntTrap) 62-2 139,1,0
+job_hunte.gat,101,94,1 duplicate(HntTrap) 62-3 139,0,1
+job_hunte.gat,100,93,1 duplicate(HntTrap) 62-4 139,0,0
+job_hunte.gat,100,92,1 duplicate(HntTrap) 63-1 139,0,0
+job_hunte.gat,101,92,1 duplicate(HntTrap) 63-2 139,0,0
+job_hunte.gat,102,98,1 duplicate(HntTrap) 64-1 139,0,0
+job_hunte.gat,102,99,1 duplicate(HntTrap) 64-2 139,0,0
+job_hunte.gat,103,98,1 duplicate(HntTrap) 64-3 139,0,0
+job_hunte.gat,103,99,1 duplicate(HntTrap) 64-4 139,0,0
+job_hunte.gat,102,90,1 duplicate(HntTrap) 65-1 139,0,0
+job_hunte.gat,102,91,1 duplicate(HntTrap) 65-2 139,0,0
+job_hunte.gat,103,90,1 duplicate(HntTrap) 65-3 139,0,0
+job_hunte.gat,103,91,1 duplicate(HntTrap) 65-4 139,0,0
+job_hunte.gat,114,96,1 duplicate(HntTrap) 66-1 139,0,0
+job_hunte.gat,114,97,1 duplicate(HntTrap) 66-2 139,0,0
+job_hunte.gat,115,96,1 duplicate(HntTrap) 66-3 139,0,0
+job_hunte.gat,115,97,1 duplicate(HntTrap) 66-4 139,0,0
+job_hunte.gat,112,90,1 duplicate(HntTrap) 67-1 139,0,0
+job_hunte.gat,112,91,1 duplicate(HntTrap) 67-2 139,0,0
+job_hunte.gat,113,90,1 duplicate(HntTrap) 67-3 139,0,0
+job_hunte.gat,113,91,1 duplicate(HntTrap) 67-4 139,0,0
+job_hunte.gat,125,97,1 duplicate(HntTrap) 68-1 139,1,0
+job_hunte.gat,125,96,1 duplicate(HntTrap) 68-2 139,1,0
+job_hunte.gat,127,96,1 duplicate(HntTrap) 68-3 139,0,0
+job_hunte.gat,127,97,1 duplicate(HntTrap) 68-4 139,0,0
+job_hunte.gat,52,86,1 duplicate(HntTrap) 69-1 139,0,0
+job_hunte.gat,52,87,1 duplicate(HntTrap) 69-2 139,0,0
+job_hunte.gat,53,86,1 duplicate(HntTrap) 69-3 139,0,0
+job_hunte.gat,53,87,1 duplicate(HntTrap) 69-4 139,0,0
+job_hunte.gat,66,88,1 duplicate(HntTrap) 70-1 139,0,0
+job_hunte.gat,66,89,1 duplicate(HntTrap) 70-2 139,0,0
+job_hunte.gat,67,88,1 duplicate(HntTrap) 70-3 139,0,0
+job_hunte.gat,67,89,1 duplicate(HntTrap) 70-4 139,0,0
+job_hunte.gat,114,84,1 duplicate(HntTrap) 71-1 139,0,0
+job_hunte.gat,114,85,1 duplicate(HntTrap) 71-2 139,0,0
+job_hunte.gat,115,84,1 duplicate(HntTrap) 71-3 139,0,0
+job_hunte.gat,115,85,1 duplicate(HntTrap) 71-4 139,0,0
+job_hunte.gat,126,86,1 duplicate(HntTrap) 72-1 139,0,0
+job_hunte.gat,126,87,1 duplicate(HntTrap) 72-2 139,0,0
+job_hunte.gat,127,86,1 duplicate(HntTrap) 72-3 139,0,0
+job_hunte.gat,127,87,1 duplicate(HntTrap) 72-4 139,0,0
+job_hunte.gat,54,80,1 duplicate(HntTrap) 73-1 139,0,1
+job_hunte.gat,55,80,1 duplicate(HntTrap) 73-2 139,0,1
+job_hunte.gat,55,80,1 duplicate(HntTrap) 73-3 139,0,0
+job_hunte.gat,55,78,1 duplicate(HntTrap) 73-4 139,0,0
+job_hunte.gat,64,82,1 duplicate(HntTrap) 74-1 139,0,1
+job_hunte.gat,65,82,1 duplicate(HntTrap) 74-2 139,0,1
+job_hunte.gat,64,80,1 duplicate(HntTrap) 74-3 139,0,0
+job_hunte.gat,65,80,1 duplicate(HntTrap) 74-4 139,0,0
+job_hunte.gat,66,78,1 duplicate(HntTrap) 75-1 139,0,0
+job_hunte.gat,66,79,1 duplicate(HntTrap) 75-2 139,0,0
+job_hunte.gat,67,78,1 duplicate(HntTrap) 75-3 139,0,0
+job_hunte.gat,67,79,1 duplicate(HntTrap) 75-4 139,0,0
+job_hunte.gat,74,78,1 duplicate(HntTrap) 76-1 139,0,0
+job_hunte.gat,74,79,1 duplicate(HntTrap) 76-2 139,0,0
+job_hunte.gat,75,78,1 duplicate(HntTrap) 76-3 139,0,0
+job_hunte.gat,75,79,1 duplicate(HntTrap) 76-4 139,0,0
+job_hunte.gat,78,80,1 duplicate(HntTrap) 77-1 139,0,0
+job_hunte.gat,78,81,1 duplicate(HntTrap) 77-2 139,0,0
+job_hunte.gat,79,80,1 duplicate(HntTrap) 77-3 139,0,0
+job_hunte.gat,79,81,1 duplicate(HntTrap) 77-4 139,0,0
+job_hunte.gat,82,78,1 duplicate(HntTrap) 78-1 139,0,0
+job_hunte.gat,82,79,1 duplicate(HntTrap) 78-2 139,0,0
+job_hunte.gat,83,78,1 duplicate(HntTrap) 78-3 139,0,0
+job_hunte.gat,83,79,1 duplicate(HntTrap) 78-4 139,0,0
+job_hunte.gat,94,78,1 duplicate(HntTrap) 79-1 139,0,0
+job_hunte.gat,94,79,1 duplicate(HntTrap) 79-2 139,0,0
+job_hunte.gat,95,78,1 duplicate(HntTrap) 79-3 139,0,0
+job_hunte.gat,95,79,1 duplicate(HntTrap) 79-4 139,0,0
+job_hunte.gat,101,80,1 duplicate(HntTrap) 80-1 139,1,0
+job_hunte.gat,101,81,1 duplicate(HntTrap) 80-2 139,1,0
+job_hunte.gat,103,81,1 duplicate(HntTrap) 80-3 139,0,0
+job_hunte.gat,103,80,1 duplicate(HntTrap) 80-4 139,0,0
+job_hunte.gat,104,78,1 duplicate(HntTrap) 81-1 139,0,0
+job_hunte.gat,104,79,1 duplicate(HntTrap) 81-2 139,0,0
+job_hunte.gat,105,78,1 duplicate(HntTrap) 81-3 139,0,0
+job_hunte.gat,105,79,1 duplicate(HntTrap) 81-4 139,0,0
+job_hunte.gat,110,78,1 duplicate(HntTrap) 82-1 139,0,0
+job_hunte.gat,110,79,1 duplicate(HntTrap) 82-2 139,0,0
+job_hunte.gat,111,78,1 duplicate(HntTrap) 82-3 139,0,0
+job_hunte.gat,111,79,1 duplicate(HntTrap) 82-4 139,0,0
+job_hunte.gat,114,80,1 duplicate(HntTrap) 83-1 139,0,0
+job_hunte.gat,114,81,1 duplicate(HntTrap) 83-2 139,0,0
+job_hunte.gat,115,80,1 duplicate(HntTrap) 83-3 139,0,0
+job_hunte.gat,115,81,1 duplicate(HntTrap) 83-4 139,0,0
+job_hunte.gat,124,78,1 duplicate(HntTrap) 84-1 139,0,0
+job_hunte.gat,124,79,1 duplicate(HntTrap) 84-2 139,0,0
+job_hunte.gat,125,78,1 duplicate(HntTrap) 84-3 139,0,0
+job_hunte.gat,125,79,1 duplicate(HntTrap) 84-4 139,0,0
+job_hunte.gat,126,82,1 duplicate(HntTrap) 85-1 139,0,0
+job_hunte.gat,126,83,1 duplicate(HntTrap) 85-2 139,0,0
+job_hunte.gat,127,82,1 duplicate(HntTrap) 85-3 139,0,0
+job_hunte.gat,127,83,1 duplicate(HntTrap) 85-4 139,0,0
+job_hunte.gat,52,68,1 duplicate(HntTrap) 86-1 139,0,1
+job_hunte.gat,53,68,1 duplicate(HntTrap) 86-2 139,0,1
+job_hunte.gat,52,66,1 duplicate(HntTrap) 86-3 139,0,0
+job_hunte.gat,53,66,1 duplicate(HntTrap) 86-4 139,0,0
+job_hunte.gat,54,70,1 duplicate(HntTrap) 87-1 139,0,1
+job_hunte.gat,55,70,1 duplicate(HntTrap) 87-2 139,0,1
+job_hunte.gat,54,68,1 duplicate(HntTrap) 87-3 139,0,0
+job_hunte.gat,55,68,1 duplicate(HntTrap) 87-4 139,0,0
+job_hunte.gat,59,66,1 duplicate(HntTrap) 88-1 139,1,0
+job_hunte.gat,59,67,1 duplicate(HntTrap) 88-2 139,1,0
+job_hunte.gat,61,67,1 duplicate(HntTrap) 88-3 139,0,0
+job_hunte.gat,61,66,1 duplicate(HntTrap) 88-4 139,0,0
+job_hunte.gat,68,68,1 duplicate(HntTrap) 89-1 139,0,1
+job_hunte.gat,69,68,1 duplicate(HntTrap) 89-2 139,0,1
+job_hunte.gat,68,66,1 duplicate(HntTrap) 89-3 139,0,0
+job_hunte.gat,69,66,1 duplicate(HntTrap) 89-4 139,0,0
+job_hunte.gat,76,66,1 duplicate(HntTrap) 90-1 139,0,0
+job_hunte.gat,76,67,1 duplicate(HntTrap) 90-2 139,0,0
+job_hunte.gat,77,66,1 duplicate(HntTrap) 90-3 139,0,0
+job_hunte.gat,77,67,1 duplicate(HntTrap) 90-4 139,0,0
+job_hunte.gat,82,68,1 duplicate(HntTrap) 91-1 139,0,0
+job_hunte.gat,82,69,1 duplicate(HntTrap) 91-2 139,0,0
+job_hunte.gat,83,68,1 duplicate(HntTrap) 91-3 139,0,0
+job_hunte.gat,83,69,1 duplicate(HntTrap) 91-4 139,0,0
+job_hunte.gat,96,66,1 duplicate(HntTrap) 92-1 139,0,0
+job_hunte.gat,96,67,1 duplicate(HntTrap) 92-2 139,0,0
+job_hunte.gat,97,66,1 duplicate(HntTrap) 92-3 139,0,0
+job_hunte.gat,97,67,1 duplicate(HntTrap) 92-4 139,0,0
+job_hunte.gat,100,68,1 duplicate(HntTrap) 93-1 139,0,0
+job_hunte.gat,100,69,1 duplicate(HntTrap) 93-2 139,0,0
+job_hunte.gat,101,68,1 duplicate(HntTrap) 93-3 139,0,0
+job_hunte.gat,101,69,1 duplicate(HntTrap) 93-4 139,0,0
+job_hunte.gat,107,66,1 duplicate(HntTrap) 94-1 139,1,0
+job_hunte.gat,107,67,1 duplicate(HntTrap) 94-2 139,1,0
+job_hunte.gat,109,67,1 duplicate(HntTrap) 94-3 139,0,0
+job_hunte.gat,109,66,1 duplicate(HntTrap) 94-4 139,0,0
+job_hunte.gat,117,69,1 duplicate(HntTrap) 95-1 139,1,0
+job_hunte.gat,117,68,1 duplicate(HntTrap) 95-2 139,1,0
+job_hunte.gat,119,69,1 duplicate(HntTrap) 95-3 139,0,0
+job_hunte.gat,119,68,1 duplicate(HntTrap) 95-4 139,0,0
+job_hunte.gat,124,66,1 duplicate(HntTrap) 96-1 139,0,0
+job_hunte.gat,124,67,1 duplicate(HntTrap) 96-2 139,0,0
+job_hunte.gat,125,66,1 duplicate(HntTrap) 96-3 139,0,0
+job_hunte.gat,125,67,1 duplicate(HntTrap) 96-4 139,0,0
+job_hunte.gat,126,70,1 duplicate(HntTrap) 97-1 139,0,0
+job_hunte.gat,126,71,1 duplicate(HntTrap) 97-2 139,0,0
+job_hunte.gat,127,70,1 duplicate(HntTrap) 97-3 139,0,0
+job_hunte.gat,127,71,1 duplicate(HntTrap) 97-4 139,0,0
diff --git a/npc/jobs/2-1/knight.txt b/npc/jobs/2-1/knight.txt
new file mode 100644
index 000000000..d41a0ed74
--- /dev/null
+++ b/npc/jobs/2-1/knight.txt
@@ -0,0 +1,1828 @@
+//===== eAthena Script =======================================
+//= Knight Job Quest
+//===== By: ==================================================
+//= PGRO TEAM (Aegis).
+//= Converted by kobra_k88
+//= Further bugfixed and tested by Lupus
+//===== Current Version: =====================================
+//= 1.6
+//===== Compatible With: =====================================
+//= eAthena 1.0
+//===== Description: =========================================
+//= Official RO Knight job quest converted from aegis script, and my own
+//= RO screenies and play experience
+//===== Additional Comments: =================================
+//= 1.0 Fully working. Please comment out any pre-existing warps for the
+//= test rooms in any other files so that the ones specified here can work.
+//= 1.1 Fixed a major bug. Now using the initnpctimer command,
+//= donpcevent, and new waitingroom event commands. No more addtimer
+//= spamming. No longer have to talk to the npc to take the test. Just enter the chat room.
+//= 1.2 More bug fixes. Changed global variable names to unique ones.
+//= Added second set of items to first test. Added Awake pots award for job change.
+//= 1.3 Added Baby Class support [Lupus]
+//= 1.5 Fixed possible EXP abuse [Lupus]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where
+//= to go. [Lupus]
+//============================================================
+
+
+
+//<------------------------------------------------------------------------------------ Chivalry Captain Herman------------------------------------------------------------------------------------------>\\
+prt_in.gat,88,101,3 script Chivalry Captain Herman 56,{
+ callfunc "F_BlockHigh",25,"Swordman High",31,"Lord Knight","Chivalry Captain Herman";
+
+ if (BaseJob == Job_Swordman && KNIGHT_Q > 0) goto L_Check;
+
+ mes "[Chivalry Captain Herman]";
+ mes "Good Day. This is the Prontera Chivarly, home of the famous Prontera Knights.";
+M_Menu:
+ next;
+ menu "I am ready for Knighthood.",M_0,"The Requirements.",M_1,"Quit.",M_End;
+
+ M_0:
+ mes "[Chivalry Captain Herman]";
+ callfunc "Kni_check";
+ mes "[Chivalry Captain Herman]";
+ mes "In order to become a Knight one must posses great strength, courage, determination, and strong desire to help others.";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "You will have to show me that you have these attributes before I can make you a knight.";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "The 6 Knights you see around the room have each prepapred a unique test for would be Knights to take.";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "You must complete each one of their test and prove to me that you are truly committed to becomming a knight!";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "Speak with ^0000ffSir Andrew Syloc^000000. He will give you your first test. Good luck!! I expect to see you again soon!";
+ set KNIGHT_Q, 1;
+ set JBLVL, 40;
+ close;
+
+ M_1:
+ mes "[Chivalry Captain Herman]";
+ mes "The first requirement for becoming a Knight is that you must be a Swordsman.";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "The second requirement is that you must have at least a Job Level of 40.";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "The last requirement is that you will need to pass 6 tests that will determine whether or not you are worthy enough to become a Knight.";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "These requirements may seem difficult, but the Knight class is an elite and noble job class and only the best candidates may join.";
+ goto M_Menu;
+
+ M_End:
+ close;
+
+L_Check:
+ mes "[Chivalry Captain Herman]";
+ if (KNIGHT_Q == 1) mes "Please speak with ^0000ffSir Andrew Syloc^000000. He will give you your first test.";
+ if (KNIGHT_Q == 2) mes "Congratulations on finishing your first test. ^0000ffSir James Syracuse^000000 will administer your ^ff0000second test^000000.";
+ if (KNIGHT_Q == 3) mes "Congratulations on finishing the second test. ^0000ffSir Windsor^000000 will administer your ^ff0000third test^000000.";
+ if (KNIGHT_Q == 4) mes "Congratulations on finishing the third test. ^0000ffLady Amy Beatris^000000 will administer your ^ff0000fourth test^000000.";
+ if (KNIGHT_Q == 5) mes "Congratulations on finishing the fourth test. ^0000ffSir Edmund^000000 will administer your ^ff0000fifth test^000000.";
+ if (KNIGHT_Q == 6) mes "Congratulations on finishing the fifth test. ^0000ffSir Grey^000000 will administer your ^ff0000sixth test^000000.";
+ if (KNIGHT_Q == 7) goto L_MakeKnight;
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "Good luck!";
+ close;
+
+ L_MakeKnight:
+ if(SkillPoint > 0) goto sL_SKpoint;
+
+ mes "Oh, ^ff0000"+strcharinfo(0)+"^000000. So you've passed Sir Grey's test?";
+ mes "Let me just say that I applaud all of your hard work and your determination.";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "The final step to become a Knight is to recieve a recomondation from all six of the Knights who tested you.";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "Let's start with Sir Andrew Syloc. Sir Syloc, what is your opinion of Knight candidate, ^ff0000"+strcharinfo(0)+"^000000.";
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "Patience is a quality all Knights must have. By passing my test, ^ff0000"+strcharinfo(0)+"^000000 showed great patience and determination.";
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "In my opinion ^ff0000"+strcharinfo(0)+"^000000 is deserving of becoming a Knight!";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "Very good Sir Syloc. Sir James Syracuse, what say you?";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "^ff0000"+strcharinfo(0)+"^000000 was albe to answer everyone of my questions correctly.";
+ mes "This displays a mastery of the basic concepts of the Knight class.";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "^ff0000"+strcharinfo(0)+"^000000 has my recomendation for Knighthood!";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "I see Sir Syracuse. Sir Winsor what do you have to say?";
+ next;
+ mes "[Sir Winsor]";
+ mes "..............................";
+ next;
+ mes "[Sir Winsor]";
+ mes "Hmphf. I have no objections.";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "Hahaha! You never waste words do you Sir Winsor. What are your thoughts Lady Amy Beatris?";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "A Knight will be involved in many different kinds of situations on his/her journey.";
+ mes "It is a Knight's duty to make the right decisions in dealing with these situations.";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "^ff0000"+strcharinfo(0)+"^000000 showed good decision making in answering my questions.";
+ mes "I too recomend that this candidate be Knighted!";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "Thank you Lady Beatris. How about you Sir Edmund?";
+ next;
+ mes "[Sir Edmund]";
+ mes "A rock is an unchanging figure that never wavers in the face of adversity.";
+ next;
+ mes "[Sir Edmund]";
+ mes "Though mighty winds may try to knock it down and crashing waves may try to wash it away, a rock will stand solid and firm.";
+ next;
+ mes "[Sir Edmund]";
+ mes "^ff0000"+strcharinfo(0)+"^000000 showed the strength of a rock and was ever calm durring my test.";
+ mes "It is my honest belief that ^ff0000"+strcharinfo(0)+"^000000 should be bestowed with Knighthood.";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "As always Sir Edmund, a very profound observation. Well we're down to the last tester. Sir Grey, please give us your final desicion.";
+ next;
+ mes "[Sir Grey]";
+ mes "What can I say. ^ff0000"+strcharinfo(0)+"^000000 answered my questions thoughtfully and truthfully.";
+ next;
+ mes "[Sir Grey]";
+ mes "Though others may think that a Knight's strength lies within his/her sword, we Knights know that true strength lies within ones mind and heart.";
+ next;
+ mes "[Sir Grey]";
+ if(sex==1) mes "After speaking to ^ff0000"+strcharinfo(0)+"^000000, I felt that he had this strength within him.";
+ if(sex==0) mes "After speaking to ^ff0000"+strcharinfo(0)+"^000000, I felt that she had this strength within her.";
+ mes "I would be happy to give ^ff0000"+strcharinfo(0)+"^000000 my recomendation to become a Knight!";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "Many thanks Sir Grey, and many thanks to all of you for your time. Well it looks like it was a unanimous decision.";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "The process to become a Knight is very rigorous and difficult and yet you were able to successfully make it through.";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "You have done extremely well and therefore are deserving of the honor of being called a Knight.";
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "^ff0000"+strcharinfo(0)+"^000000, in the name of King Tristin the 3rd, ruler of the kingdom of Run-Midgard, I hereby bestow upon thee the title of Knight!";
+ next;
+ callfunc "Job_Change",Job_Knight;
+ if(JBLVL != 50) getitem 656, 3;
+ if(JBLVL == 50) getitem 656, 7;
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+ mes "[Chivalry Captain Herman]";
+ mes "Congratulations!! You are now a fellow Knight and protector of Rune-Midgard! Now go forth and make Rune-Midgard a better place to live!";
+ emotion 21;
+ close;
+
+ sL_SKpoint:
+ mes "Please use up all of your skill points so that I can make you a Knight.";
+ emotion 5;
+ close;
+}
+
+
+//<--------------------------------------------------------------------------------- Sir Andrew Syloc (1st test) ------------------------------------------------------------------------------------------>\\
+prt_in.gat,75,107,4 script Sir Andrew Syloc 65,{
+ mes "[Sir Andrew Syloc]";
+ if (BaseJob == Job_Knight) goto L_Knight;
+ if (BaseJob == Job_Novice) goto L_Novice;
+ if (BaseJob == Job_Swordman && KNIGHT_Q == 1) goto L_Test;
+ if (BaseJob == Job_Swordman && KNIGHT_Q == 2) goto L_Done;
+L_Other:
+ mes "We Knights of Prontera battle for peace and freedom! We fight to ensure a prosperous future for the people of Rune-Midgard!";
+ close;
+L_Novice:
+ mes "Oh, its a novice. Welcome to the Prontera Chivalry!";
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "Even though you feel weak now, I assure you that once you get your first job, you will feel confident and strong.";
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "Just stay safe and keep out of trouble.";
+ close;
+L_Knight:
+ mes "Oh, your one of us, how are you doing?";
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "It's important that you get the right equipment. It will allow you fight a lot of monsters and inturn get a lot of zeny.";
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "You should remember though, that being a Knight isn't about amassing wealth.";
+ close;
+
+
+L_Test:
+ if (KNIGHT_Q2 > 0) goto L_Check;
+ mes "Oh so you've come to join the Prontera Chivalry have you. Let's see, you're ^ff0000" + strcharinfo(0) + "^000000 right?";
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "My name is Andrew Syloc and I am one of the knights in the Prontera Knight Guild.";
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "I will be giving you the first of many tests that will determine if you have what it takes to become a Knight.";
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "This first test is like a scavenger hunt and will test your knowledge of monsters and their locations.";
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "This infrormation is vital for a Knight's ability to properly defend the many different towns in Rune-Midgard.";
+ next;
+ menu "I'm ready.",M_1, "Give me time.",M_End;
+
+ M_1:
+ mes "[Sir Andrew Syloc]";
+ if (joblevel == 50) goto sL_Skip;
+ mes "To pass this test you will need to gather:";
+ set KNIGHT_Q2, rand(1,2);
+ if(KNIGHT_Q2 == 1) callsub sF_R1;
+ if(KNIGHT_Q2 == 2) callsub sF_R2;
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "When you have all of those items, return here and give them to me.";
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "Good luck and be carefull! I shall await your return.";
+ close;
+
+ sF_R1:
+ mes "^5533FF5 Elder Pixie's Mustache,"; //1040
+ mes "5 Wings of Red Bat"; //7006
+ mes "5 Orcish Vouchers"; //931
+ mes "5 Moth Dust"; //1057
+ mes "5 Reptile Tongues^000000"; //903
+ mes "and ^5533FF5 Manes^000000."; //1028
+ return;
+ sF_R2:
+ mes "^5533FF5 Bug Legs";
+ mes "5 Heart of Mermaid";
+ mes "5 Snail's Shells";
+ mes "5 Clam Flesh";
+ mes "5 Old Frying Pans^000000";
+ mes "and ^5533FF5 Maneater Blossoms^000000.";
+ return;
+
+ sL_Skip:
+ mes "Wait..... what's this?";
+ next;
+ mes "[Sir Andrew]";
+ mes "You seem to be an increadibly strong swordsman. Yes, your strength and skill are amazing.";
+ next;
+ mes "[Sir Andrew]";
+ mes "Hahaha! There's no need for you to take my test. Why don't you go onto the next one ok.";
+ next;
+ mes "[Sir Andrew]";
+ mes "Speak to ^5533FFSir James Syracuse^000000. The tests you will be taking will teach you valuable life lessons, so please try hard.";
+ set KNIGHT_Q, 2;
+ set KNIGHT_Q2, 0;
+ set JBLVL, 50;
+ close;
+
+ M_End:
+ mes "[Sir Andrew Syloc]";
+ mes "Take as much time as you need. Come back when you're ready.";
+ close;
+
+L_Check:
+ mes "You've come back ^ff0000"+strcharinfo(0)+"^000000. Did you get all of the items I asked for?";
+ next;
+ if(KNIGHT_Q2 == 2) goto L_2;
+
+ L_1:
+ if(countitem(1040)<5 || countitem(7006)<5 || countitem(931)<5 || countitem(1057)<5 || countitem(903)<5 || countitem(1028)<5) goto L_NotDone;
+ delitem 1040,5;
+ delitem 7006,5;
+ delitem 931,5;
+ delitem 1057,5;
+ delitem 903,5;
+ delitem 1028,5;
+ goto L_Cont;
+
+ L_2:
+ if(countitem(1042)<5 || countitem(950)<5 || countitem(946)<5 || countitem(966)<5 || countitem(7031)<5 || countitem(1032)<5) goto L_NotDone;
+ delitem 1042,5;
+ delitem 950,5;
+ delitem 946,5;
+ delitem 966,5;
+ delitem 7031,5;
+ delitem 1032,5;
+
+ L_Cont:
+ mes "[Sir Andrew Syloc]";
+ mes "Lets see here..... 5 of this.... 5 of that.... Great! You got everything I asked for.";
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "You have done well and have past your first test! However you shouldn't get too excited.";
+ mes "There are still more challenges that you will have to overcome before you can become a knight.";
+ next;
+ mes "[Sir Andrew Syloc]";
+
+ L_Done:
+ mes "Speak to the Chivalry Captain Herman and he will inform you about your next test.";
+ mes "Stay focused and give it your all ^0000ff"+strcharinfo(0)+"^000000. I know you will do well.";
+ set KNIGHT_Q, 2;
+ set KNIGHT_Q2, 0;
+ close;
+
+ L_NotDone:
+ mes "[Sir Andrew Syloc]";
+ mes "What? You don't have everything I asked for?";
+ emotion 4;
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "This is what you were SUPPOSED to collect....";
+ if(KNIGHT_Q2 == 1) callsub sF_R1;
+ if(KNIGHT_Q2 == 2) callsub sF_R2;
+ next;
+ mes "[Sir Andrew Syloc]";
+ mes "Once you have ALL of those items come back and see me.";
+ close;
+}
+
+
+//<------------------------------------------------------------------------------ Sir James Syracuse (2nd Test) ----------------------------------------------------------------------------------------->\\
+prt_in.gat,71,91,6 script Sir James Syracuse 65,{
+ mes "[Sir James Syracuse]";
+ if (BaseJob == Job_Knight) goto L_Knight;
+ if (BaseJob == Job_Novice) goto L_Novice;
+ if (BaseJob == Job_Swordman && KNIGHT_Q == 2) goto L_Test;
+ if (BaseJob == Job_Swordman && KNIGHT_Q == 3) goto L_Done;
+L_Other:
+ mes "Attacking and defending..... is there a way to do both at the same time?";
+ mes "With a 'two-handed' weapon you have a great attack but no defense. Is there anything that can compensate for this weakness?";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "A weapon that could be used to both attack and defend would be invaluable to a Knight...... Darn!..... Where can I get such a thing??!! ";
+ close;
+L_Novice:
+ mes "What are you doing here novice?";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "Do you want to become a Knight? Well too bad novices can't become knights.";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You have to be an experienced swordman in order to become a knight.";
+ close;
+L_Knight:
+ mes "Hey, how are you doing... the guild is fine.";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "We are still recruiting knights. I hear there's a bad knight out there ruining the good name of the Prontera Chivalry...";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "If you see him, teach him a lesson.";
+ close;
+
+L_Test:
+ mes "Oh, so you passed the first test ^ff0000"+strcharinfo(0)+"^000000.";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "First let me introduce myself, my name is James Syracuse. I am of course a Knight here at the Prontera Chivalry.";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "This test will be on your knowledge of Knights. You will also be asked about your opinions of Knights...";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "Dont' be nervous, I'll only be asking a few simple questions.";
+ next;
+ menu "Let's go",M_0,"I'm not ready yet.",M_End;
+
+ M_0:
+ mes "[Sir James Syracuse]";
+ mes "Okay lets start, please answer the questions as quickly as you can. If you get an answer wrong you will have to start the test all over again.";
+ next;
+
+ mes "[Sir James Syracuse]";
+ //mes "Knights excel in both attack strength and defensive prowess.";
+ mes "Can you tell me which of these swords is NOT a two handed sword?";
+ next;
+ menu "Katzbalger",sM_0a,"Bastard Sword",sM_0b,"Claymore",sM_0c,"Flamberge",sM_0d;
+
+ sM_0a:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. Katzbalger IS a two-handed sword";
+ mes "How will you manage to become a knight if you don't know about the swords that Knight's use?";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ sM_0b:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. Bastard Sword IS a two-handed sword!";
+ mes "How will you manage to become a knight if you don't know about the swords that knight's use?";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ sM_0c:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. Claymore IS a two-handed sword";
+ mes "How will you manage to become a knight if you don't know about the swords that knight's use?";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ sM_0d:
+
+ mes "[Sir James Syracuse]";
+ mes "Okay, let me ask you a question about Knight skills.";
+ mes "What skill listed below is NOT used for attacking an opponent?";
+ next;
+ menu "Two-Hand Mastery Lv.5",sM_1a,"Berserk Lv.3",sM_1b,"Endure Lv.10",sM_1c,"Bash Lv.10",sM_1d;
+
+ sM_1a:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. If you don't know this then you will never master the art of combat!";
+ mes "If you want to become a knight, you have to know what each skill does.";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ sM_1b:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. If you don't know this then you will never master the art of combat!";
+ mes "If you want to become a knight, you have to know what each skill does.";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ sM_1c:
+ goto L_Cont1;
+
+ sM_1d:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. If you don't know this then you will never master the art of combat!";
+ mes "If you want to become a knight, you have to know what each skill does.";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ L_Cont1:
+ mes "[Sir James Syracuse]";
+ mes "Knights are different from other classes in that Knights can use spears and have special spear skills.";
+ mes "What spear skill below uses the MOST sp?";
+ next;
+ menu "Pierce",sM_2a,"Spear Boomarang",sM_2b,"Spear Stab",sM_2c,"Riding",sM_2d;
+
+ sM_2a:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. If you don't know this, it'll be hard for you to master the Spear!";
+ mes "How can you not know about this if you're trying to become a Knight? Thats just not tolerable!";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ sM_2b:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. If you don't know this, it'll be hard for you to master the Spear!";
+ mes "How can you not know about this if you're trying to become a Knight? Thats just not tolerable!";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ sM_2c:
+ goto L_Cont2;
+
+ sM_2d:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. If you don't know this, it'll be hard for you to master the Spear!";
+ mes "How can you not know about this if you're trying to become a Knight? Thats just not tolerable!";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ L_Cont2:
+ mes "[Sir James Syracuse]";
+ mes "Spears can also have elemental properites.";
+ mes "Which of the elements below is strongest against Dark/Undead monsters?";
+ next;
+ menu "Holy",sM_3a, "Wind",sM_3b, "Poison",sM_3c, "Earth",sM_3d;
+
+ sM_3a:
+ goto L_Cont3;
+
+ sM_3b:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. Wind is NOT that strong against undead!";
+ mes "These are basic stuff and you don't it how funny?";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ sM_3c:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. Poion is NOT strong against undead";
+ mes "These are basic stuff and you don't it how funny";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ sM_3d:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. Earth is NOT strong against undead";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ L_Cont3:
+ mes "[Sir James Syracuse]";
+ mes "When you become a Knight you can ride a pecopeco. However your attack speed drops significantly.";
+ mes "But if you learn the skill, Cavalry Mastery, your attack speed will increase again.";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "What percentage of your attack speed is regained by learning level 3 cavalry mastery?";
+ next;
+ menu "70%",sM_4a, "80%",sM_4b, "90%",sM_4c, "100%",sM_4d;
+
+ sM_4a:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. If you don't know this I recommend that you do not ride a peco";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ sM_4b:
+ goto L_Cont4;
+
+ sM_4c:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. If you don't know this I recommend that you do not ride a peco";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ sM_4d:
+ mes "[Sir James Syracuse]";
+ mes "^ff0000Wrong^000000. If you don't know this I recommend that you do not ride a peco";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You need to know the basics BEFORE you take this test!";
+ close;
+
+ L_Cont4:
+ mes "[Sir James Syracuse]";
+ mes "Good, looks like you know a lot about knights";
+ mes "Ok. Let me ask you some more questions";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "If you run into a novice and he asks you to tank for him because he's to lazy to fight on his own, you should....";
+ next;
+ menu "Tell the novice a good place to train",sM_5a, "Give him some zeny",sM_5b, "Give him some weapons",sM_5c;
+
+ sM_5a:
+ mes "[Sir James Syracuse]";
+ mes "Yes! That's a good answer. Novice's need to be independent and work hard on their own.";
+ mes "This builds good character and helps them become stronger.";
+ next;
+ goto L_Cont5;
+
+ sM_5b:
+ mes "[Sir James Syracuse]";
+ mes "WHAT?? Are you Nuts? Do you think that money is everything? LEAVE NOW!";
+ close;
+
+ sM_5c:
+ mes "[Sir James Syracuse]";
+ mes "Do you think you're helping someone when you give them good weapons?";
+ mes "You are basically KILLING them not helping them. LEAVE NOW!";
+ close;
+
+ L_Cont5:
+ mes "[Sir James Syracuse]";
+ mes "If you're in a party and your party gets attacked, what would you do?";
+ next;
+ menu "Stay in front and protect everyone.",sM_6a, "Wait until the others attack first then leech.",sM_6b,
+ "Who cares, I just want the drops.",sM_6c;
+
+ sM_6a:
+ mes "[Sir James Syracuse]";
+ mes "Yes! We Knights are important in most battles because of our strong attack and defensive skills.";
+ mes "We should try our best to take the brunt of any attack and allow our party members to provide support.";
+ next;
+ goto L_Cont6;
+
+ sM_6b:
+ mes "[Sir James Syracuse]";
+ mes "...WHAT? If you do that you're going to get EVERYONE KILLED!!";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You....LEAVE NOW! You don't have what it takes to become a Knight!";
+ close;
+
+ sM_6c:
+ mes "[Sir James Syracuse]";
+ mes "YOU THINK DROPS ARE MORE IMPORTANT THAN YOUR PARTY MEMBERS??";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "You don't have what it takes to become a knight... LEAVE NOW!!";
+ close;
+
+ L_Cont6:
+ mes "[Sir James Syracuse]";
+ mes "And finally, the last question. What do you think is most important to a Knight?";
+ next;
+ menu "Honor",sM_7a, "Money",sM_7b, "The Fame",sM_7c;
+
+ sM_7a:
+ mes "[Sir James Syracuse]";
+ mes "Yes! Absolutely correct! A Knight's pride and honor come before all else.";
+ mes "You have to always remember that!";
+ next;
+ mes "[Sir James Syracuse]";
+ goto L_Done;
+
+ sM_7b:
+ mes "[Sir James Syracuse]";
+ mes "You're a REALLY GREEDY PERSON!!";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "Leave now!! We DON'T want your kind here!";
+ close;
+
+ sM_7c:
+ mes "[Sir James Syracuse]";
+ mes "Did you want to a become a knight because you desired to become FAMOUS?";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "Leave now!! We DON'T need your kind here!";
+ close;
+
+ L_Done:
+ mes "Good job on passing the second test. Please speak with the Captain about your next test.";
+ next;
+ mes "[Sir James Syracuse]";
+ mes "There is more to a Knight than raw strength. Duty and honor are of the utmost importance to a Knight";
+ mes "Remember this and you will have no problems with the rest of the tests.";
+ set KNIGHT_Q, 3;
+ close;
+
+ M_End:
+ mes "[Sir James Syracuse]";
+ mes "I see. Take your time.";
+ close;
+
+}
+
+
+//<--------------------------------------------------------------------------------- Sir Windsor (3rd Test) -------------------------------------------------------------------------------------------------->\\
+// Sir Windsor ---------------------------------------------------------
+prt_in.gat,79,94,3 script Sir Windsor#1 733,{
+ mes "[Sir Windsor]";
+ if(BaseJob == Job_Knight) goto L_Knight;
+ if(BaseJob == Job_Novice) goto L_Novice;
+ if(BaseJob == Job_Swordman && KNIGHT_Q == 3) goto L_Test;
+ if(BaseJob == Job_Swordman && KNIGHT_Q == 4) goto L_Done;
+L_Other:
+ mes "..........";
+ next;
+ mes "[Sir Windsor]";
+ mes "What're you looking at.....?";
+ close;
+L_Novice:
+ mes "..........";
+ next;
+ mes "[Sir Windsor]";
+ mes "Go play somewhere else......";
+ close;
+L_Knight:
+ mes "Don't talk to me......";
+ emotion 9;
+ close;
+
+
+L_Test:
+ if(KNIGHT_Q2 == 2) goto L_Done;
+ if(KNIGHT_Q2 == 1) goto sL_ReTest;
+ mes ".............";
+ next;
+ mes "[Sir Windsor]";
+ mes "... so you're here to take the test?";
+ next;
+ mes "[Sir Windsor]";
+ mes "Follow me.....";
+ next;
+ set KNIGHT_Q2,1;
+ savepoint "prt_in.gat",77,96;
+ warp "job_knt",89,106;
+ end;
+
+ sL_ReTest:
+ mes ".............";
+ next;
+ mes "[Sir Windsor]";
+ mes "Hmf... your previous attempt was pathetic....";
+ next;
+ mes "[Sir Windsor]";
+ mes "Lets go......";
+ next;
+ savepoint "prt_in.gat",77,96;
+ warp "job_knt",89,106;
+ end;
+
+L_Done:
+ mes "Hmf.......";
+ next;
+ mes "[Sir Windsor]";
+ mes ".... You passed my test.";
+ next;
+ mes "[Sir Windsor]";
+ mes ".... Go talk to the Chivalry Captain Herman.";
+ set KNIGHT_Q2,0;
+ set KNIGHT_Q,4;
+ close;
+}
+
+
+// Waiting Room ---------------------------------------------------------------------------
+job_knt.gat,89,110,4, script Sir Windsor#2::SW2 733,{
+ mes "[Sir Windsor]";
+ mes "..........";
+ next;
+ mes "[Sir Windsor]";
+ mes ".....You have a problem?";
+ next;
+ menu "What is this test about?",M_0, "I wanna kick some moster butt!.",M_1, "I want to leave.",M_2, "Nothing.",M_End;
+
+ M_0:
+ mes "[Sir Windsor]";
+ mes "..........";
+ next;
+ mes "[Sir Windsor]";
+ mes ".....You are going to fight monsters.";
+ next;
+ mes "[Sir Windsor]";
+ mes ".....You must kill every single monster in the arena.";
+ next;
+ mes "[Sir Windsor]";
+ mes "..........";
+ next;
+ mes "[Sir Windsor]";
+ mes ".....You have to survive three levels of viscous monsters.";
+ next;
+ mes "[Sir Windsor]";
+ mes ".....I will give you 3 minutes for each level.";
+ next;
+ mes "[Sir Windsor]";
+ mes "..........";
+ close;
+
+ M_1:
+ mes "[Sir Windsor]";
+ mes "..........";
+ next;
+ mes "[Sir Windsor]";
+ mes ".....Go to the waiting room first.";
+ next;
+ mes "[Sir Windsor]";
+ mes ".....The test will start soon.";
+ next;
+ mes "[Sir Windsor]";
+ mes "..........";
+ next;
+ mes "[Sir Windsor]";
+ mes ".....If someones in there, you have to wait until they are done or fail.";
+ next;
+ mes "[Sir Windsor]";
+ mes ".....Once that happens, you will be automatically warped to the test room..";
+ next;
+ mes "[Sir Windsor]";
+ mes "..........";
+ close;
+
+ M_2:
+ mes "[Sir Windsor]";
+ mes "..........";
+ next;
+ mes "[Sir Windsor]";
+ mes ".....Leave then.";
+ next;
+ warp "prt_in.gat",80,100;
+ close;
+
+ M_End:
+ mes "[Sir Windsor]";
+ mes "..........";
+ close;
+
+OnInit:
+ waitingroom "Knight Test Waiting Room",8,"SW2::OnStart",1;
+ end;
+
+OnStart:
+ set $@KntUsers, getareausers("job_knt.gat", 24, 126, 63, 165); // get user count for first lvl
+ set $@KntUsers, $@KntUsers + getareausers("job_knt.gat", 24, 32, 63, 71); // get user count for second lvl + first lvl
+ set $@KntUsers, $@KntUsers + getareausers("job_knt.gat", 124, 132, 163, 171); // get user count for third lvl + second lvl + first lvl
+ if($@KntUsers > 0) end;
+
+ if ((getwaitingroomstate(33)) == 0) end; // stops the rest of the script from running if there is no one in the waiting room;
+ //kills off any left over monsters from other testers
+ killmonster "job_knt.gat", "KntLvl1::OnMyMobDead";
+ killmonster "job_knt.gat", "KntLvl2::OnMyMobDead";
+ killmonster "job_knt.gat", "KntLvl3::OnMyMobDead";
+ warpwaitingpc "job_knt.gat",43,146;
+ donpcevent "KntLvl1";
+ end;
+}
+
+// First Level ---------------------------------------------------------
+job_knt.gat,1,1,1 script KntLvl1 -1,{
+ set $@KntRm, 1;
+ set $@KntMob,12;
+ monster "job_knt.gat",39,150,"Dustiness",1114,1,"KntLvl1::OnMyMobDead";
+ monster "job_knt.gat",47,150,"Dustiness",1114,1,"KntLvl1::OnMyMobDead";
+ monster "job_knt.gat",39,142,"Dustiness",1114,1,"KntLvl1::OnMyMobDead";
+ monster "job_knt.gat",47,142,"Dustiness",1114,1,"KntLvl1::OnMyMobDead";
+ monster "job_knt.gat",43,137,"Piere",1160,1,"KntLvl1::OnMyMobDead";
+ monster "job_knt.gat",43,155,"Piere",1160,1,"KntLvl1::OnMyMobDead";
+ monster "job_knt.gat",43,155,"Deniro",1105,1,"KntLvl1::OnMyMobDead";
+ monster "job_knt.gat",43,155,"Deniro",1105,1,"KntLvl1::OnMyMobDead";
+ monster "job_knt.gat",43,155,"Andre",1095,1,"KntLvl1::OnMyMobDead";
+ monster "job_knt.gat",43,137,"Andre",1095,1,"KntLvl1::OnMyMobDead";
+ monster "job_knt.gat",35,146,"Argos",1100,1,"KntLvl1::OnMyMobDead";
+ monster "job_knt.gat",52,146,"Argos",1100,1,"KntLvl1::OnMyMobDead";
+ initnpctimer "TimerKnt";
+ end;
+
+OnMyMobDead:
+ set $@KntMob, $@KntMob - 1;
+ if($@KntMob > 0) end;
+
+ stopnpctimer "TimerKnt";
+ areaannounce "job_knt.gat", 24, 126, 63, 165, "[Sir Windsor]: Get ready for the second level....",8;
+ set $@KntMob, 0;
+ addtimer 5000, "KntLvl2";
+ end;
+}
+
+
+// Second Level ---------------------------------------------------------
+job_knt.gat,1,1,1 script KntLvl2 -1,{
+ set $@KntRm, 2;
+ set $@KntMob,12;
+ monster "job_knt.gat",53,52,"Frilldora",1119,1,"KntLvl2::OnMyMobDead";
+ monster "job_knt.gat",34,52,"Frilldora",1119,1,"KntLvl2::OnMyMobDead";
+ monster "job_knt.gat",43,42,"Desert Wolf",1106,1,"KntLvl2::OnMyMobDead";
+ monster "job_knt.gat",43,62,"Desert Wolf",1106,1,"KntLvl2::OnMyMobDead";
+ monster "job_knt.gat",58,52,"Drainliar",1111,1,"KntLvl2::OnMyMobDead";
+ monster "job_knt.gat",58,52,"Drainliar",1111,1,"KntLvl2::OnMyMobDead";
+ monster "job_knt.gat",29,52,"Drainliar",1111,1,"KntLvl2::OnMyMobDead";
+ monster "job_knt.gat",29,52,"Drainliar",1111,1,"KntLvl2::OnMyMobDead";
+ monster "job_knt.gat",60,68,"Anacondaq",1030,1,"KntLvl2::OnMyMobDead";
+ monster "job_knt.gat",27,68,"Anacondaq",1030,1,"KntLvl2::OnMyMobDead";
+ monster "job_knt.gat",60,35,"Anacondaq",1030,1,"KntLvl2::OnMyMobDead";
+ monster "job_knt.gat",27,35,"Anacondaq",1030,1,"KntLvl2::OnMyMobDead";
+ warp "job_knt.gat",43,52;
+ initnpctimer "TimerKnt";
+ end;
+
+OnMyMobDead:
+ set $@KntMob, $@KntMob - 1;
+ if($@KntMob > 0) end;
+
+ stopnpctimer "TimerKnt";
+ areaannounce "job_knt.gat", 24, 32, 63, 71, "[Sir Windsor]: Get ready for the third level....",8;
+ set $@KntMob, 0;
+ addtimer 5000, "KntLvl3";
+ end;
+
+}
+
+// Third Level ---------------------------------------------------------------
+job_knt.gat,1,1,1 script KntLvl3 -1,{
+ set $@KntRm, 3;
+ set $@KntMob,7;
+ monster "job_knt.gat",136,152,"Knife Goblin Bro",1122,1,"KntLvl3::OnMyMobDead";
+ monster "job_knt.gat",150,152,"Mace Goblin Bro",1123,1,"KntLvl3::OnMyMobDead";
+ monster "job_knt.gat",143,145,"Axe Goblin Bro",1124,1,"KntLvl3::OnMyMobDead";
+ monster "job_knt.gat",143,167,"Hammer Goblin Bro",1125,1,"KntLvl3::OnMyMobDead";
+ monster "job_knt.gat",139,167,"Club Goblin Bro",1126,1,"KntLvl3::OnMyMobDead";
+ monster "job_knt.gat",147,167,"Goblin Archer",1258,1,"KntLvl3::OnMyMobDead";
+ monster "job_knt.gat",136,158,"Steam Goblin",1280,1,"KntLvl3::OnMyMobDead";
+ warp "job_knt.gat",143,152;
+ initnpctimer "TimerKnt";
+ end;
+
+OnMyMobDead:
+ set $@KntMob, $@KntMob - 1;
+ if($@KntMob > 0) end;
+
+ stopnpctimer "TimerKnt";
+ set KNIGHT_Q2, 2;
+ areaannounce "job_knt.gat", 124, 132, 163, 171, "[Sir Windsor]: ....... test completed.",8;
+ set $@KntMob, 0;
+ addtimer 7000, "TimerKnt::OnTimer184000";
+ end;
+
+}
+
+// Timer --------------------------------------------------------------------------------
+job_knt.gat,1,1,1 script TimerKnt -1,{
+
+OnTimer2000:
+ set $@KntTime$, "You have 3 minutes...";
+ donpcevent "SW2::OnStart"; //checks to see if anyone is still in the room, in case of logout or KO
+ callsub AnnounceKnt;
+OnTimer32000:
+ donpcevent "SW2::OnStart";
+ end;
+OnTimer62000:
+ set $@KntTime$, "You have 2 minutes left...";
+ donpcevent "SW2::OnStart";
+ callsub AnnounceKnt;
+OnTimer92000:
+ donpcevent "SW2::OnStart";
+ end;
+OnTimer122000:
+ set $@KntTime$, "You have 1 minute left...";
+ donpcevent "SW2::OnStart";
+ callsub AnnounceKnt;
+OnTimer152000:
+ set $@KntTime$, "You have 30 seconds left...";
+ donpcevent "SW2::OnStart";
+ callsub AnnounceKnt;
+OnTimer162000:
+ set $@KntTime$, "You have 10 seconds left...";
+ callsub AnnounceKnt;
+OnTimer182000:
+ set $@KntTime$, "Times up! You failed!!";
+ donpcevent "SW2::OnStart";
+ callsub AnnounceKnt;
+OnTimer184000:
+ stopnpctimer;
+ if($@KntRm==1) areawarp "job_knt.gat", 24, 126, 63, 165, "prt_in.gat",77,96;
+ if($@KntRm==2) areawarp "job_knt.gat", 24, 32, 63, 71, "prt_in.gat",77,96;
+ if($@KntRm==3) areawarp "job_knt.gat", 124, 132, 163, 171, "prt_in.gat",77,96;
+ areaannounce "job_knt.gat", 82, 98, 97, 113, "[Sir Windsor]: The testing rooms are now open.....",8;
+ killmonster "job_knt.gat", "KntLvl1::OnMyMobDead";
+ killmonster "job_knt.gat", "KntLvl2::OnMyMobDead";
+ killmonster "job_knt.gat", "KntLvl3::OnMyMobDead";
+ donpcevent "SW2::OnStart";
+ end;
+
+AnnounceKnt:
+ if($@KntRm==1) areaannounce "job_knt.gat", 24, 126, 63, 165, "[Sir Windsor]: "+$@KntTime$+".",8;
+ if($@KntRm==2) areaannounce "job_knt.gat", 24, 32, 63, 71, "[Sir Windsor]: "+$@KntTime$+".",8;
+ if($@KntRm==3) areaannounce "job_knt.gat", 124, 132, 163, 171, "[Sir Windsor]: "+$@KntTime$+".",8;
+ end;
+}
+
+
+//<------------------------------------------------------------------------------------ Lady Amy Beatris (4th Test) ---------------------------------------------------------------------------------------------->\\
+prt_in.gat,69,107,5 script Lady Amy Beatris 728,{
+ mes "[Lady Amy Beatris]";
+ if (BaseJob == Job_Knight) goto L_Knight;
+ if (BaseJob == Job_Novice) goto L_Novice;
+ if (BaseJob == Job_Swordman && KNIGHT_Q == 4) goto L_Test;
+ if (BaseJob == Job_Swordman && KNIGHT_Q == 5) mes "Speak to the Chivalry Captain Herman about your next test.";
+ if (BaseJob == Job_Swordman && KNIGHT_Q == 5) close;
+L_Other:
+ mes "Welcome to the Prontera Chivalry.";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "There are only Knights here so just relax.";
+ close;
+L_Novice:
+ mes "Wow... A cute novice... soooo cute...";
+ emotion 14;
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "Do you want to become a Knight?";
+ if(sex==0) mes "I bet you'll be lovely as a Knight.";
+ if(sex==1) mes "I bet you'll be really handsome as a Knight.";
+ next;
+ mes "[Lady Amy Beatris]";
+ if(sex==0) mes "If you become a Knight, come back and see me. We Lady Knights should stick together.";
+ if(sex==1) mes "If you become a knight, come back and see me okay?(*winks*)";
+ close;
+L_Knight:
+ if(sex==1) goto L_Male;
+
+ L_Female:
+ mes "Oh my! Aren't you just the prettiest Knight. I love how your sword matches with your shoes.";
+ emotion 14;
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "Anyway, I'm glad you came back to see me. I'm always curious about how a Knight turns out.";
+ mes "You look like you're doing fine so continue the good work okay? Lady Knights rule!";
+ close;
+
+ L_Male:
+ mes "Well hello handsome. There's just something about men in armor....";
+ emotion 3;
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "So, did you come back for some fun...?";
+ next;
+ menu "YOU BET!!!",M_Yes, "... um... well... err...",M_No;
+
+ M_Yes:
+ mes "^FF0000(SLAPP!! SMACK!! BASH!!)^000000";
+ emotion 6;
+ percentheal (-10),0;
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "How dare you!! Just what kind of girl do you take me for?";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "Allways remember that a Knight's a Knight, no matter what gender they are.";
+ mes "Also remember to be respectfull to women at all times!";
+ emotion 32;
+ close;
+
+ M_No:
+ mes "[Lady Amy Beatris]";
+ mes "Teh he he. Silly, I'm just playing with you. You may be good looking, but I'm NOT that kind of girl.";
+ emotion 18;
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "Anyway, I'm glad you came back to see me. I'm always curious about how a Knight turns out.";
+ mes "You look like you're doing fine so continue the good work okay?";
+ emotion 21;
+ close;
+
+
+L_Test:
+ if(KNIGHT_Q2 == 1) mes "Are you ready to take the test over?"; //for when someone retakes the test
+ if(KNIGHT_Q2 == 1) goto M_Menu;
+ mes "Hello. Your ^ff0000"+strcharinfo(0)+"^000000, right?";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "My name is Amy Beatris, a Knight of the Prontera Chivalry.";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "For your test I will be asking you some questions";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "Please listen carefully and pick the correct answer.";
+M_Menu:
+ next;
+ menu "Ok. I'm ready.",M_0, "Please give me some time.",M_End;
+
+ M_0:
+ set @score,0;
+
+ mes "[Lady Amy Beatris]";
+ mes "Let's say your in Morroc and you want to recruit a party member. What would you do?";
+ next;
+ menu "Randomly follow someone around",sM_0a, "Make a chatroom and wait.",sM_0b, "Ask if anyone wants to party with a Knight..",sM_0c;
+
+ sM_0a:
+ goto L_Cont1;
+
+ sM_0b:
+ set @score, @score + 10;
+ goto L_Cont1;
+
+ sM_0c:
+ set @score, @score + 10;
+
+ L_Cont1:
+ mes "[Lady Amy Beatris]";
+ mes "You're in a party with a hunter, a priest, a wizard, a blacksmith, and an assassin.";
+ mes "The six of you decide to train in the Pyramids.";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "Your party makes it to the fourth floor of the pyramid, what will you do now?";
+ next;
+ menu "Scout ahead and make sure it's safe for all",sM_1a, "Go fight by yourself",sM_1b, "Stay in front of the party and move slowly",sM_1c;
+
+ sM_1a:
+ set @score, @score + 10;
+
+ sM_1b:
+ goto L_Cont2;
+
+ sM_1c:
+ set @score, @score + 10;
+
+ L_Cont2:
+ mes "[Lady Amy Beatris]";
+ mes "A lame-o guy creates a mob right in front of your party and disappears. What would you do?";
+ next;
+ menu "Look after your partners",sM_2a, "Fight hard and help when needed",sM_2b, "Take your PecoPeco and RIDE like the WIND!",sM_2c;
+
+ sM_2a:
+ set @score, @score + 10;
+ goto L_Cont3;
+
+ sM_2b:
+ set @score, @score + 10;
+ goto L_Cont3;
+
+ sM_2c:
+
+ L_Cont3:
+ mes "[Lady Amy Beatris]";
+ mes "Somehow you beat the mob. Your party then journeys on and you stumble upon someone who has fainted.";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "This guy begs you to help him, what will you do?";
+ next;
+ menu "Ask the priest in your party to help.",sM_3a, "Ask him how much he'll pay you if you help",sM_3b, "Ignore him.",sM_3c;
+
+ sM_3a:
+ set @score, @score + 10;
+
+ sM_3b:
+
+ sM_3c:
+
+ L_Cont4:
+ mes "[Lady Amy Beatris]";
+ mes "You guys have to go to different places so you guys seperate yourselves into smaller groups.";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "During your previous battles, a monster dropped a very valuable item that you picked up. What do you do with it?";
+ next;
+ menu "Give it to the person that deserves it the most.",sM_4a, "Pretend you don't know about it.",sM_4b, "Discuss it with the others.",sM_4c;
+
+ sM_4a:
+ set @score, @score + 10;
+
+ sM_4b:
+ goto L_Cont5;
+
+ sM_4c:
+ set @score, @score + 10;
+
+ L_Cont5:
+ mes "[Lady Amy Beatris]";
+ mes "You decide to go back to Prontera and sell some of the valuble items you picked up.";
+ mes "On the road, you see a lot of chatrooms.";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "What would be the best way to sell them?";
+ next;
+ menu "Sell them to an NPC.",sM_5a, "Create a chatroom to advertise the items.",sM_5b, "Go around looking for someone that needs them.",sM_5c;
+
+ sM_5a:
+ goto L_Cont6;
+
+ sM_5b:
+ set @score, @score + 10;
+ goto L_Cont6;
+
+ sM_5c:
+ set @score, @score + 10;
+
+ L_Cont6:
+ mes "[Lady Amy Beatris]";
+ mes "Someone comes up to you and begs you for money. What would you do?";
+ next;
+ menu "Give him some money and items.",sM_6a, "Ignore him.",sM_6b, "Tell him a place where its suitable for him to earn money.",sM_6c;
+
+ sM_6a:
+
+ sM_6b:
+ goto L_Cont7;
+ sM_6c:
+ set @score, @score + 10;
+
+ L_Cont7:
+ mes "[Lady Amy Beatris]";
+ mes "Now your alone and training in a forest. You are happily riding a pecopeco.";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "You run into somone who's lost. What do you do?";
+ next;
+ menu "Tell her where the exit is.",sM_7a, "Bring her to the exit.",sM_7b, "Give her a butterfly wing.",sM_7c;
+
+ sM_7a:
+ set @score, @score + 10;
+ goto L_Cont8;
+
+ sM_7b:
+ set @score, @score + 10;
+
+ sM_7c:
+
+ L_Cont8:
+ mes "[Lady Amy Beatris]";
+ mes "You're still in the forest but now your busy fighting monsters.";
+ mes "You realize that you've run out of healing items and your health is very low.";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "Suddenly a priest appears! What would you do?";
+ next;
+ menu "'Give me a heal'",sM_8a, "'Would you please heal me. I'll share the drops with you.'",sM_8b, "'Dude! I need healz plz.'",sM_8c;
+
+ sM_8a:
+ goto L_Cont9;
+
+ sM_8b:
+ set @score, @score + 10;
+
+ sM_8c:
+
+ L_Cont9:
+ mes "[Lady Amy Beatris]";
+ mes "Your getting tired so you decide to head back to town.";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "On the road back to town, you see a very valuable object. What will you do?";
+ next;
+ menu "Pick it up and keep it.",sM_9a, "Ask around to see if anyone dropped it.",sM_9b, "Leave it there.",sM_9c;
+
+ sM_9a:
+ goto L_Cont10;
+
+ sM_9b:
+ set @score, @score + 10;
+ goto L_Cont10;
+
+ sM_9c:
+ set @score, @score + 10;
+
+ L_Cont10:
+ mes "[Lady Amy Beatris]";
+ mes "Alright. I'm finished with my questions. Now that wasn't so bad was it?";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "Okay, let me just quickly add up your score....";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "You got a score of ^ff0000"+@score+"^000000 out of ^0000ff100^000000.";
+ next;
+ mes "[Lady Amy Beatris]";
+ if(@score == 100) goto L_100;
+ if(@score >= 80) goto L_80;
+
+ L_Failed:
+ mes "I am sorry but you failed the test. I hope you will try again and do better next time.";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "When I ask you a question please think hard about it.";
+ set KNIGHT_Q2, 1; //flag for re-taking the test
+ close;
+
+ L_100:
+ mes "Great job! You got a perfect score. If you keep this up, you'll become one of the best knights around.";
+ mes "Speak to the Chivalry Captain Herman about your next test.";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "Keep up the good work and pass all the tests okay?";
+ set KNIGHT_Q, 5;
+ set KNIGHT_Q2, 0;
+ close;
+ L_80:
+ mes "Not bad. Not as good as had I hoped, but you did well enough to pass.";
+ mes "Speak to the Chivalry Captain Herman about your next test.";
+ next;
+ mes "[Lady Amy Beatris]";
+ mes "Good luck on the next test. I hope you'll pass and become a knight soon.";
+ set KNIGHT_Q, 5;
+ set KNIGHT_Q2, 0;
+ close;
+
+ M_End:
+ mes "[Lady Amy Beatris]";
+ mes "Sure thing. See me when you're ready.";
+ close;
+
+}
+
+
+//<------------------------------------------------------------------------------------------- Sir Edmund (5th Test) --------------------------------------------------------------------------------------------->\\
+prt_in.gat,70,99,5 script Sir Edmund 734,{
+ mes "[Sir Edmund]";
+ if (BaseJob == Job_Knight) goto L_Knight;
+ if (BaseJob == Job_Swordman) goto L_Sword;
+ if (BaseJob == Job_Novice) goto L_Novice;
+L_Other:
+ mes "Everything in this world exists in harmony.";
+ next;
+ mes "[Sir Edmund]";
+ mes "Living without disrupting this harmony is the only true way to live your life....";
+ close;
+L_Novice:
+ mes "A tree with deep roots will not be swayed by the wind.";
+ next;
+ mes "[Sir Edmund]";
+ mes "Skills rooted in a strong foundation will one day shine their light...";
+ next;
+ mes "[Sir Edmund]";
+ mes "You future will be decided by what you do now.... so strengthen those roots.";
+ close;
+
+ mes "[Sir Edmund]";
+ mes "People who wants to be on the dark side will always have nightmares";
+ next;
+ mes "[Sir Edmund]";
+ mes "If a person gets a nightmare everyday, all his dreams will be crushed...";
+ close;
+
+L_Knight:
+ mes "Make your heart into a river.";
+ next;
+ mes "[Sir Edmund]";
+ mes "A river will wash out everything in its path...";
+ next;
+ mes "[Sir Edmund]";
+ mes "As a knight you must walk your path like a flowing river.";
+ close;
+
+L_Sword:
+ if (KNIGHT_Q == 5) goto L_Test;
+ if (KNIGHT_Q == 6) goto L_Done;
+ mes "Those with ominous thoughts will only dream ominous dreams.";
+ next;
+ mes "[Sir Edmund]";
+ mes "Having ominous dreams will result in no dreams at all....";
+ close;
+L_Test:
+ if(KNIGHT_Q2 == 1) goto L_ReTest;
+ if(KNIGHT_Q2 == 2) goto L_Done;
+ mes "Oh so its your turn to take my test.";
+ mes "I hope you can pass it";
+ next;
+ mes "[Sir Edmund]";
+ mes "My name is Edmund.";
+ mes "And iam a knight in the prontera Knight Guild.";
+ next;
+ mes "[Sir Edmund]";
+ mes "Knights are like the people that keeps justice and peace in this world...";
+ mes "If you can help people and be nice, you'll be one of the best knights in this world.";
+ next;
+ mes "[Sir Edmund]";
+ mes "Your actions can't be slow, if you decide on something, you got to do it.";
+ mes "Sometimes you can be the water, Weak , but most time you got to be the wind, HARD.";
+ next;
+ mes "[Sir Edmund]";
+ mes "You can't kill monsters because its fun.";
+ mes "And sometimes you'll need time to calm down...";
+ next;
+ mes "[Sir Edmund]";
+ mes "Okay lets start the test now.";
+ next;
+ warp "job_knt.gat",143,57;
+ doevent "ev_Test";
+ end;
+
+ L_ReTest:
+ mes "Last time when you did the test you didn't try hard enough.";
+ mes "A knights weapon should only be used to protect, not to bully weak monsters.";
+ next;
+ mes "[Sir Edmund]";
+ mes "Everything in this world is equal, there shouldn't be any exceptions.";
+ mes "This point shouldn't be kept just when you have tests, it should be kept when you're training in real life...";
+ next;
+ mes "[Sir Edmund]";
+ mes "OKay now, try again.";
+ next;
+ warp "job_knt.gat",143,57;
+ doevent "ev_Test";
+ end;
+
+ L_Done:
+ mes "You have done very well to pass my test.";
+ next;
+ mes "[Sir Edmund]";
+ mes "Remember that true strength comes from patience and understanding.";
+ next;
+ mes "[Sir Edmund]";
+ mes "When you understand the world around you, you will be able to overcome any obstacle in life.";
+ next;
+ mes "[Sir Edmund]";
+ mes "Go to the Chivalry Captain Herman and find out about your next challenge. Good luck.";
+ set KNIGHT_Q2,0;
+ set KNIGHT_Q,6;
+ close;
+}
+
+// Test -----------------------------
+job_knt.gat,1,1,1 script ev_Test -1,{
+ killmonster "job_knt.gat","ev_Test::OnMyMobDead";
+ monster "job_knt.gat",141,57,"Poring",1002,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",145,57,"Poring",1002,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",143,55,"Poring",1002,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",143,59,"Poring",1002,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",141,55,"Lunatic",1063,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",141,59,"Lunatic",1063,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",145,55,"Lunatic",1063,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",145,59,"Lunatic",1063,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",139,57,"Chonchon",1011,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",147,57,"Chonchon",1011,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",143,53,"Chonchon",1011,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",143,61,"Chonchon",1011,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",130,69,"Spore",1014,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",157,69,"Spore",1014,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",130,42,"Spore",1014,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",157,42,"Spore",1014,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",165,54,"Spore",1014,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",165,57,"Spore",1014,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",122,54,"Spore",1014,1,"ev_Test::OnMyMobDead";
+ monster "job_knt.gat",122,57,"Spore",1014,1,"ev_Test::OnMyMobDead";
+
+ addtimer 240000, "ev_Test::OnTimerPass";
+ end;
+
+OnTimerPass:
+ set KNIGHT_Q2, 2;
+ areaannounce "job_knt.gat", 124, 36, 163, 75, "[Sir Edmund]: Well done.",0;
+ addtimer 4000, "ev_Test::OnTimerWarp";
+ end;
+
+OnMyMobDead:
+ set KNIGHT_Q2, 1;
+ areaannounce "job_knt.gat", 124, 36, 163, 75, "[Sir Edmund]: You are not at peace and therfore have failed my test.",0;
+ deltimer "ev_Test::OnTimerPass";
+ addtimer 4000, "ev_Test::OnTimerWarp";
+ end;
+
+OnTimerWarp:
+ if(KNIGHT_Q2 == 2) warp "prt_in.gat",80,100;
+ if(KNIGHT_Q2 == 1) warp "prt_fild05.gat",353,251;
+ end;
+}
+
+
+//<------------------------------------------------------------------------------------------ Sir Grey (Final Test) ------------------------------------------------------------------------------------------------------>\\
+prt_in.gat,87,90,3 script Sir Grey 119,{
+ mes "[Sir Grey]";
+ if (BaseJob == Job_Knight) goto L_Knight;
+ if (BaseJob == Job_Novice) goto L_Novice;
+ if (BaseJob == Job_Swordman && KNIGHT_Q == 6) goto L_Test;
+ if (BaseJob == Job_Swordman && KNIGHT_Q == 7) mes "Go to Chivalry Captain Herman and allow him to bestow upon you the great honor of Knighthood.";
+ if (BaseJob == Job_Swordman && KNIGHT_Q == 7) close;
+L_Other:
+ mes "Use your time wisely young one......";
+ next;
+ mes "[Sir Grey]";
+ mes "You don't want to end up regreting missed opportunities.";
+ close;
+L_Novice:
+ mes "Believe it or not, I was once a Novice as well.";
+ next;
+ mes "[Sir Grey]";
+ mes "Back then, I never dreamed about being a knight.... I just wanted to become a strong person.....";
+ next;
+ mes "[Sir Grey]";
+ mes "And somehow after all these years, I ended up becoming one. Imagine that.... Hahaha.";
+ emotion 18;
+ close;
+L_Knight:
+ mes "I don't know if I can even properly describe the ^00aa00Claymore^000000, but I know this... it's the greatest weapon a Knight can wield!!";
+ next;
+ mes "[Sir Grey]";
+ mes "Yes! The ^00aa00'Claymore'^000000!! Every knight should have one!";
+ next;
+ menu "Info about the Claymore ",M_Info, "Buy the Claymore",M_Buy, "End talk",M_Cancel;
+
+ M_Info:
+ mes "[Sir Grey]";
+ mes "The Claymore is the best 2 handed sword a knight can get. Its like a knight's bestfriend.";
+ next;
+ mes "[Sir Grey]";
+ mes "Our guild works very hard to make these beautiful Claymore swords and therefore deserves some compensation for their work.";
+ next;
+ mes "[Sir Grey]";
+ mes "For the small fee of ^0000ff'74000 zeny'^000000 and ^0000ff'1 Steel '^000000, any Knight can get their hands on a Claymore.";
+ next;
+ mes "[Sir Grey]";
+ mes "I'm in charge of selling them so if you would like one let me know.";
+ close;
+
+ M_Buy:
+ if(countitem(999) < 1 || Zeny < 74000) goto L_NotEnough;
+
+ mes "[Sir Grey]";
+ mes "Good, you brought me the steel and have enough to cover the labor fee.";
+ next;
+ mes "[Sir Grey]";
+ mes "Here you are! A magnificant weapon that is un-matched in quality and strength! I know you will use it well.";
+ delitem 999, 1;
+ set Zeny, Zeny - 74000;
+ getitem 1163, 1;
+ close;
+
+ L_NotEnough:
+ mes "[Sir Grey]";
+ mes "I know you want a claymore but you need to bring me ^0000ff'74000 zeny'^000000 and ^0000ff'1 Steel '^000000.";
+ next;
+ mes "[Sir Grey]";
+ mes "When you get the steel and the money, come back and see me.";
+ close;
+
+ M_Cancel:
+ mes "[Sir Grey]";
+ mes "If your going to be a good knight, you'll need a claymore..";
+ mes "I'll be glad to see you after your training...";
+ close;
+
+L_ReTest:
+ mes "I see you're back. Have you spent enough time reflecting on Knighthood?";
+ mes "I hope that you are now ready for this test.";
+ goto M_Menu;
+
+L_Test:
+ if (KNIGHT_Q2 == 1) goto L_ReTest;
+ mes "Haha, so you already finished all the other tests eh?";
+ next;
+ mes "[Sir Grey]";
+ mes "Okay then, lets start my test. Its not any different from the other ones.";
+M_Menu:
+ next;
+ menu "Bring it on!",M_0, "Maybe a little later.",M_End;
+
+ M_0:
+ set @score,0;
+ mes "[Sir Grey]";
+ mes "Let me ask you a few questions.";
+ next;
+
+ mes "[Sir Grey]";
+ mes "First, why are you so determined to become a knight?";
+ next;
+ menu "I want to be stronger.",sM_0, "I want to help the town.",sM_1, "Being a Swordsman sucks.",sM_2;
+
+ sM_0:
+ mes "[Sir Grey]";
+ mes "To become stronger huh.... It's true that becoming a knight does make you stronger but....";
+ next;
+ mes "[Sir Grey]";
+ mes "What would you do with that strength? Use it to help a town? Show it off to people? Or is there another reason?";
+ next;
+ menu "Use it to make me rich$$.",sM_0a, "Use it to protect myself.",sM_0b, "Use it to protect other people.",sM_0c;
+
+ sM_0a:
+ set @score, @score + 10;
+ mes "[Sir Grey]";
+ mes "Money is important for a comfortable living, but a Knights strength can be used for more important things.";
+ goto L_Cont1;
+
+ sM_0b:
+ mes "[Sir Grey]";
+ mes "This is a very good idea. By first learning how to protect yourself, you will then be able to protect others.";
+ mes "I admire your thought very much.";
+ goto L_Cont1;
+
+ sM_0c:
+ mes "[Sir Grey]";
+ mes "It is a great idea to help others. We Knights pride ourselves on serving the public in anyway we can.";
+ goto L_Cont1;
+
+ sM_1:
+ mes "[Sir Grey]";
+ mes "I see. You have a very strong sense of community.";
+ next;
+ mes "[Sir Grey]";
+ mes "With the power that comes with becoming Knight, what would you do to help the town?";
+ next;
+ menu "Whatever the town needs me to do.",sM_1a, "I will help the town get rich.",sM_1b, "I will protect the citizens of the town.",sM_1c;
+
+ sM_1a:
+ mes "[Sir Grey]";
+ mes "Good. A Knight should always strive to help whatever the task.";
+ goto L_Cont1;
+
+ sM_1b:
+ set @score, @score + 10;
+ mes "[Sir Grey]";
+ mes "A town does need money to be prosperous, but that is not the most important thing a town needs.";
+ mes "As a Knight you can provide the town with protection and other valuable services.";
+ goto L_Cont1;
+
+ sM_1c:
+ mes "[Sir Grey]";
+ mes "A very noble idea indeed. Towns people are often ill equiped to protect themselves from monsters.";
+ mes "By providing them with protection, you can allow the towns people to live their lives peacefully.";
+ goto L_Cont1;
+
+ sM_2:
+ set @score, @score + 5;
+ mes "[Sir Grey]";
+ mes "Hmm... that's very interesting. Most people enjoy being a Swordsman.";
+ next;
+ mes "[Sir Grey]";
+ mes "Well, what exactly don't you like about being a Swordsman?";
+ next;
+ menu "The skills.",sM_2a, "Swordsman are weak.",sM_2b, "The hard work.",sM_2c;
+
+ sM_2a:
+ set @score, @score + 5;
+ mes "[Sir Grey]";
+ mes "A skill is only as good as the person who uses it. Different skills are used for different situations.";
+ next;
+ mes "[Sir Grey]";
+ mes "If you have not figured out how to effectively use the Swordsman's skills by now, how do you expect to be able to use a Knight's skills?";
+ goto L_Cont1;
+
+ sM_2b:
+ set @score, @score - 5;
+ mes "[Sir Grey]";
+ mes "What? Swordsman are the strongest of the 1st job classes. A Knight's strength is the progression of a Swordsman's strength.";
+ next;
+ mes "[Sir Grey]";
+ mes "If you are a weak Swordsman, I can garauntee that you will be a weak Knight.";
+ goto L_Cont1;
+
+ sM_2c:
+ set @score, @score + 5;
+ mes "[Sir Grey]";
+ mes "Hahaha!. If you think it gets any easier as a Knight you're sadly mistaken my friend.";
+ mes "With the added skills and strength a Knight gets, comes added challenges.";
+ goto L_Cont1;
+
+ L_Cont1:
+ next;
+ mes "[Sir Grey]";
+ mes "Just a reminder, when you become a Knight you will NOT be able to change back into a Swordsman.";
+ next;
+ mes "[Sir Grey]";
+ mes "If you were to become a Knight right now, what would be the first thing you would do?";
+ next;
+ menu "I would go into battle.",sM_3, "Go back to the person who's waiting for me.",sM_4, "Learn more about Knights.",sM_5;
+
+ sM_3:
+ mes "[Sir Grey]";
+ mes "Okay... so you would battle and in doing so you would.....";
+ next;
+ menu "... become the strongest warrior.",sM_3a, "... find out how good I am.",sM_3b, "... go places where Swordsmen can't.",sM_3c;
+
+ sM_3a:
+ set @score, @score + 10;
+ mes "[Sir Grey]";
+ mes "Hold on there tiger. Don't get too eager now. You have to get the basics of Knighthood down first.";
+ mes "Without it you may become the weakest warrior around.";
+ goto L_Cont2;
+
+ sM_3b:
+ mes "[Sir Grey]";
+ mes "Yes! Understanding your strengths and weaknesses is a very important aspect of being a Knight.";
+ goto L_Cont2;
+
+ sM_3c:
+ mes "[Sir Grey]";
+ mes "As a Knight you will be able to train in places you couldn't as a Swordsman.";
+ mes "But becarefull. If you move to fast you may find yourself in a world of trouble.";
+ goto L_Cont2;
+
+ sM_4:
+ mes "[Sir Grey]";
+ mes "Who's waiting for you?";
+ next;
+ menu "A friend.",sM_4a, "A Villager.",sM_4b, "My girlfriend/boyfriend.",sM_4c;
+
+ sM_4a:
+ mes "[Sir Grey]";
+ mes "Yes, he/she will be happy to see you. Now you will be able to protect your freind when he/she is in danger.";
+ goto L_Cont2;
+
+ sM_4b:
+ mes "[Sir Grey]";
+ mes "A villager...... oh... ";
+ goto L_Cont2;
+
+ sM_4c:
+ mes "[Sir Grey]";
+ mes "Oh I see! Did you become a knight because of your this person?";
+ next;
+ mes "[Sir Grey]";
+ if(sex == 1) mes "I hope you will be able to protect her anytime and anywhere!";
+ if(sex == 0) mes "I hope you will be able to protect him anytime and anywhere!";
+ next;
+ mes "[Sir Grey]";
+ mes "Good luck to you and your loved one.";
+ goto L_Cont2;
+
+ sM_5:
+ mes "[Sir Grey]";
+ mes "What else do you want to know?";
+ next;
+ menu "The safest place for a Knight to be.",sM_5a, "A place where a knight can train.",sM_5b, "A place where a knight can earn a lot of cash.",sM_5c;
+
+ sM_5a:
+ set @score, @score + 5;
+ mes "[Sir Grey]";
+ mes "There's no place in this world thats truly safe. Especially for a Knight.";
+ mes "A Knight is always expected to fight the strongest and most fearsome monsters";
+ goto L_Cont2;
+
+ sM_5b:
+ mes "[Sir Grey]";
+ mes "Ask other Knights around Rune-Midgard for advice. You're sure to get some good tips.";
+ goto L_Cont2;
+
+ sM_5c:
+ set @score, @score + 15;
+ mes "[Sir Grey]";
+ mes "The role of a Knight is NOT to make lots and lots of money! A Knight has the duty to serve and protect the citizens of Rune-Midgard.";
+
+ L_Cont2:
+ next;
+ mes "[Sir Grey]";
+ mes "Well that's it. This is the end of my test and the final test in your quest to become a Knight.";
+ mes "Let me now give you my decision.....";
+ next;
+
+ if (@score == 0) goto L_1;
+ if (@score == 5) goto L_2;
+ if (@score == 10) goto L_3;
+
+ L_0:
+ set KNIGHT_Q2, 1;
+ mes "[Sir Grey]";
+ mes "Although I enjoyed speaking with you today.....";
+ next;
+ mes "[Sir Grey]";
+ mes "I'm afraid that you are not ready for Knighthood.";
+ mes "I think it would be best for you to stay a Swordman for the time being.";
+ next;
+ mes "[Sir Grey]";
+ mes "Being a Knight requires not only strength, but discipline and ethical values as well.";
+ mes "A Knight has the duty to protect and help others therefore he/she must be of sound mind and body.";
+ next;
+ mes "[Sir Grey]";
+ mes "Your answers did not seem to represent the type of attributes we look for in a Knight candidate.";
+ next;
+ mes "[Sir Grey]";
+ mes "If you really want to become a Knight, I suggest you spend some more time contemplating the idea then come back to me.";
+ close;
+
+ L_1:
+ set KNIGHT_Q, 7;
+ set KNIGHT_Q2, 0;
+ mes "[Sir Grey]";
+ mes "I am glad that I got a chance to speak with someone such as yourself. You remind me of myself when i was young. Heh heh heh.";
+ next;
+ mes "[Sir Grey]";
+ mes "More importantly...., CONGRATULATIONS!";
+ next;
+ mes "[Sir Grey]";
+ mes "You have done an exellent job to make it this far and your answers proved that you are worthy of Knighthood.";
+ next;
+ mes "[Sir Grey]";
+ mes "You will make a fine Knight! Go to the Chivalry Captain Herman and allow him to bestow upon you the great honor of Knighthood.";
+ close;
+
+ L_2:
+ set KNIGHT_Q, 7;
+ set KNIGHT_Q2, 0;
+ mes "[Sir Grey]";
+ mes "It was nice to talk to you. As a Knight, I expect that you will expand your mind and fullfill your potential.";
+ next;
+ mes "[Sir Grey]";
+ mes "That's right. You have passed my test and are now ready to be Knighted. Congratulations!";
+ next;
+ mes "[Sir Grey]";
+ mes "Now go to Chivalry Captain Herman and allow him to bestow upon you the great honor of Knighthood.";
+ close;
+
+ L_3:
+ set KNIGHT_Q, 7;
+ set KNIGHT_Q2, 0;
+ mes "[Sir Grey]";
+ mes "Although I appreciate your candir in answering my questions, to be honest, I am a bit worried about what I heard.";
+ next;
+ mes "[Sir Grey]";
+ mes "Still, you seem to have enough attributes that are consistent with what we are looking for in a Knight candidate.";
+ next;
+ mes "[Sir Grey]";
+ mes "I'm sure with hard work and dedication you will make a fine Knight. Congratulations! You have passed my test.";
+ next;
+ mes "[Sir Grey]";
+ mes "Now go to Chivalry Captain Herman and allow him to bestow upon you the great honor of Knighthood.";
+ close;
+
+ M_End:
+ close;
+}
+
+
+//==============================================================================
+// mapflag
+//==============================================================================
+job_knt.gat mapflag nomemo
+job_knt.gat mapflag noteleport
+job_knt.gat mapflag nosave SavePoint
+job_knt.gat mapflag nopenalty
+job_knt.gat mapflag nobranch
+job_knt.gat mapflag noexp
+job_knt.gat mapflag noloot
diff --git a/npc/jobs/2-1/priest.txt b/npc/jobs/2-1/priest.txt
new file mode 100644
index 000000000..bc01d73d4
--- /dev/null
+++ b/npc/jobs/2-1/priest.txt
@@ -0,0 +1,1330 @@
+//===== eAthena Script =======================================
+//= Priest Quest
+//===== By: ==================================================
+//= Translated By: Pgro Team (OwNaGe)(Aegis)
+//= Converted by: kobra_k88.
+//= Further bugfixed and tested by Lupus
+//===== Current Version: =====================================
+//= 1.6
+//===== Compatible With: =====================================
+//= eAthena 1.0
+//===== Description: =========================================
+//= Official RO Priest Quest converted from Aegis script.
+//===== Additional Comments: =================================
+//= Fully working. Changed the way Priests enter the test room to help Acos.
+//= Must use this with the included Acolyte quest to work properely.
+//= 1.3 Added Baby Class support, fixed 3 wrong constants bugs [Lupus]
+//= 1.5 Fixed possible EXP abuse [Lupus]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where
+//= to go. [Lupus]
+==========================================================
+
+
+//*********************************************************************************************************************************************************************************\\
+//============================================ Father Thomas: Job changer, Test 1 =============================================\\
+//*********************************************************************************************************************************************************************************\\
+prt_church.gat,16,41,4 script Father Thomas 60,{
+ callfunc "F_BlockHigh",28,"Acolyte High",32,"High Priest","Father Thomas";
+
+ mes "[Father Thomas]";
+ if (BaseJob == Job_Acolyte) goto L_Start;
+ callfunc "Pri_check";
+ close;
+
+
+L_Start:
+ if (PRIEST_Q == 1) goto L_Test1;
+ if (PRIEST_Q == 2) goto L_Test2;
+ if (PRIEST_Q == 3) goto L_Test3;
+ if (PRIEST_Q == 4) goto L_Change;
+ mes "God bless you, child. What brings you here?";
+ next;
+ menu "I want to become a priest.",M_2a, "Can you please tell me about Priests.",M_2b, "I just wanted to see how you were doing.",M_2End;
+
+ M_2a:
+ mes "[Father Thomas]";
+ mes "Oh... so you want to become a priest? God bless you for your determination.";
+ next;
+ mes "[Father Thomas]";
+ mes "I'm Father Thomas. I'm in charge of protecting Prontera from the evil spirits that plague the lands of Rune Midgard.";
+ next;
+ mes "[Father Thomas]";
+ mes "Please fill out this application form so that I can review your qualifications for becoming a Preist.";
+ next;
+ mes "(you fill out the form and hand it back)";
+ next;
+ mes "[Father Thomas]";
+ if (JobLevel < 40) goto sL_LowLvl;
+ if (JobLevel == 50) goto sL_HighLvl;
+ mes "Ah, very good " + strcharinfo(0) + ". Let me now tell you about the tasks you will have to fullfill in order to become a Priest.";
+ next;
+ mes "[Father Thomas]";
+ mes "The first task will be to find and speak with 3 very wise Clerics. They are located in various parts of Rune Midgard.";
+ next;
+ mes "[Father Thomas]";
+ mes "The second task will consist of 3 trials. In the first trial you must face the undead.";
+ mes "The second trial will test your ability to resist temptation and avoid corruption. The third trial you will have to figure out for yourself.";
+ next;
+ mes "[Father Thomas]";
+ mes "After you finish the 2 tasks, there will be a final test with Sister Cecile. Pass it and you can become a Priest.";
+ next;
+ mes "[Father Thomas]";
+ set JBLVL, 40;
+ goto L_Test1;
+
+ sL_LowLvl:
+ mes "I'm sorry but you cannot become a Priest at this moment. You need to have a job level of at least 40.";
+ next;
+ mes "[Father Thomas]";
+ mes "Please strengthen your faith in God by performing more good deeds.";
+ mes "I hope when the time is right, you'll be back... I will be waiting for you here.";
+ close;
+
+ sL_HighLvl:
+ mes "Wow, your already at job lvl 50. I'm amazed at your dedication and hard work!";
+ emotion 0;
+ next;
+ mes "[Father Thomas]";
+ mes "Because of this I will allow you to skip the first task. How about we start the second task instead?";
+ next;
+ mes "[Father Thomas]";
+ mes "I believe with your power, you can overcome this task easily...";
+ mes "But if you work with a Priest, i think you will learn more and do a lot better.";
+ next;
+ mes "[Father Thomas]";
+ set PRIEST_Q, 2;
+ set JBLVL, 50;
+ goto L_Test2;
+ M_2b:
+ mes "[Father Thomas]";
+ mes "Priests are also followers of God. They are highly trained and are much more powerful than Acolytes.";
+ next;
+ mes "[Father Thomas]";
+ mes "To become a priest, you must have at least a job lvl 40. You will then have to pass a series of tests in order to prove yourself.";
+ next;
+ mes "[Father Thomas]";
+ mes "If you become a Priest, you will become very important to evey other job class.";
+ next;
+ mes "[Father Thomas]";
+ mes "You must NEVER help someone for any sort of profit or self gain. To be a Priest is to be selfless.";
+ next;
+ mes "[Father Thomas]";
+ mes "We Priest have only one objective, and that is to help others...";
+ close;
+ M_2End:
+ mes "[Father Thomas]";
+ mes "Oh is that the case?... Well I'm fine thank you.";
+ mes "Please don't forget your duties as an Acolyte, and be carefull not to stray off the path to salvation.";
+ next;
+ mes "[Father Thomas]";
+ mes "I hope you will visit again soon, and please tell me how the other Acolytes are doing. May God be by your side...";
+ close;
+
+
+
+L_Test1:
+ if (PRIEST_Q2 == 1) goto L_NotDone1a;
+ if (PRIEST_Q2 == 2) goto L_NotDone1b;
+ if (PRIEST_Q2 == 3) goto L_NotDone1c;
+ if (PRIEST_Q2 == 4) goto L_Done1;
+ mes "Okay, let me tell you what you have to do for the first task.";
+ next;
+ mes "[Father Thomas]";
+ mes "First you will have to find ^5533FFFather Rubalkubara^000000, he is located 1 map North and 2 maps East of Prontera, near St. Capitolina Abbey.";
+ next;
+ mes "[Father Thomas]";
+ mes "Next you will have to find ^5533FFMother Matilda^000000. She is located somewhere 1 map North of Morroc.";
+ next;
+ mes "[Father Thomas]";
+ mes "Last but not least, you will have to find ^5533FFFather Yosuke^000000.";
+ mes "I heard that Father Yosuke is often seen on an tiny island 2 maps West and 1 map North of Prontera.";
+ next;
+ mes "[Father Thomas]";
+ mes "Please becareful on your journey. If you have any questions you may speak with me again.";
+ mes "Remeber to check back with me when you have completed the first task.";
+ next;
+ mes "[Father Thomas]";
+ mes "May God Be with you...";
+ set PRIEST_Q, 1;
+ set PRIEST_Q2, 1;
+ close;
+
+ L_NotDone1a:
+ mes "What? Why are you still here? Did you forget the first task?";
+ next;
+ menu "Yes, can you please tell me about the first task again?",sM_3a, "NO! how can I forget.",sM_3End;
+
+ sM_3a:
+ mes "[Father Thomas]";
+ mes "Hmm... if you're having trouble with this task, I fear that you will have an even harder time with the others....";
+ next;
+ mes "[Father Thomas]";
+ mes "Please visit ^5533FFFather Rubalkubara^000000. He is located 1 map North and 2 maps East of Prontera near St. Capitolina Abbey.";
+ close;
+
+ sM_3End:
+ mes "[Father Thomas]";
+ mes "Oh if you have any questions, please speak with Sister Cecila near the entrance.";
+ next;
+ mes "[Father Thomas]";
+ mes "Please hurry and becareful on your journey. May the lord look down and smile upon you....";
+ close;
+ L_NotDone1b:
+ mes "Hmmm??";
+ emotion 1;
+ next;
+ mes "[Father Thomas]";
+ mes "Have you gone to see ^5533FFMother Marthilda^000000 yet? She can be found near Morroc in the Sogart Desert.";
+ mes "Even though Morroc is far away, I know you will be able to find her.";
+ close;
+
+ L_NotDone1c:
+ mes "Have you seen Mother Marthilda in Morroc? In that case you must now go see ^5533FFFather Yosuke^000000.";
+ mes "He is located on tiny island 2 maps West and 1 map North of Prontera. You must go and speak with him!.";
+ close;
+
+ L_Done1:
+ mes "So you spoken with all of the Clerics? Good job, you just completed the first task.";
+ next;
+ mes "[Father Thomas]";
+ mes "Now lets start the second task. Be prepared to face great evils.. If you want, you can ask a Priest to assist you with this test.";
+ set PRIEST_Q, 2;
+ set PRIEST_Q2, 0;
+ next;
+ mes "[Father Thomas]";
+
+L_Test2:
+ if(PRIEST_Q2 == 1) goto L_ReTest2;
+ if(PRIEST_Q2 == 2) goto L_Done2;
+ mes "So are you ready to start the second task?";
+ M_Menu:
+ next;
+ menu "Yes, lets start.",M_4a, "Let me get ready, i'll be back later.",M_4End;
+
+ M_4a:
+ mes "[Father Thomas]";
+ mes "Very well. Let me send you to ^5544FFFather Peter^000000. Once there speak to him about the second task.";
+ next;
+ set PRIEST_Q2, 1;
+ warp "job_prist.gat", 24, 180;
+ savepoint "prt_church.gat", 16, 37;
+ end;
+
+ M_4End:
+ mes "[Father Thomas]";
+ mes "Okay, please get ready and come back soon. I hope you will be able to make it through the trials without many problems.";
+ close;
+
+ L_ReTest2:
+ mes "You look really tired... but guess what, you'll be even more tired when you've become a Priest.";
+ mes "Please don't give up. Do you want to try the task again?";
+ goto M_Menu;
+
+ L_Done2:
+ mes "Great job. If have endured all of the trials and have passed the second test.";
+ mes "If you can pass the last test, I trully belive that you will be one of the best Priests ever!";
+ next;
+ mes "[Father Thomas]";
+ mes "Now, for the final test, please go speak with ^5533FFSister Cecile^000000. Once you have passed it come see me.";
+ next;
+ mes "[Father Thomas]";
+ mes "I'll be waiting here. Good luck my child.";
+ set PRIEST_Q, 3;
+ set PRIEST_Q2, 0;
+ close;
+
+L_Test3:
+ mes "Go speak with ^5533FFSister Cecile^000000 and complete the last test.";
+ next;
+ mes "[Father Thomas]";
+ mes "Good luck. I'll be waiting to hear the good news..";
+ close;
+
+
+L_Change:
+ if (SkillPoint > 0) mes "Wait. You must use up your skill points in order to become a Priest.";
+ if (SkillPoint > 0) close;
+ mes "Congratulations! You have just completed all of the tests. I can now turn you into a Priest.";
+ emotion 21;
+ next;
+ mes "[Father Thomas]";
+ mes "God, please endow "+strcharinfo(0)+" with the strength and courage to fight evil and help mankind.";
+ next;
+ callfunc "Job_Change",Job_Priest;
+ mes "[Father Thomas]";
+ mes "You are now a Priest. As a Priest, you can now help a lot of people in the name of God.";
+ next;
+ if (JBLVL != 50) getitem 1550, 1;
+ if (JBLVL == 50) getitem 1551, 1;
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+ mes "[Father Thomas]";
+ mes "Here, take this book as a reward for successfully completing the tests. This book will help you understand more about God.";
+ next;
+ mes "[Father Thomas]";
+ mes "I hope you can help serve as a role model for young Acolytes all over Rune Midgard.";
+ mes "Please be a good Priest and help bring peace to this world!";
+ close;
+}
+
+
+//----------------------------------------------------------------------------------------------------------------------------------------------------------\\
+// Test 1 \\
+//********************************************************************************************************************************\\
+// Function: Father Rubalkabara --------------------------------------------------------------------------
+function script F_FatherRub {
+ if(PRIEST_Q == 1 && PRIEST_Q2==1) goto L_Test;
+ if(PRIEST_Q==1 && PRIEST_Q2 > 1) goto L_Done;
+ mes "It's good to see you again. I expect all is well? Continue on your path of helping others and serving God, and let us pray for humanities salvation.";
+ close;
+
+L_Test:
+ mes "Ah hello there....";
+ next;
+ mes "[Father Rubalkabara]";
+ mes "What's this? You're here because you wish to serve God in an even greater capacity?";
+ emotion 1;
+ next;
+ menu "Yes, I believe Priesthood is the right path.",-, "No, not really.... just came to say hi.",M_No;
+
+ mes "[Father Rubalkabara]";
+ mes "Haha! Very good. We need more people like yourself in order for this world to survive the evils that haunt it.";
+ emotion 21;
+ next;
+ mes "[Father Rubalkabara]";
+ mes "Because of your pure heart I will give you my blessing child. Please meet with ^5533FFMother Marthilda^000000 next.";
+ next;
+ mes "[Father Rubalkabara]";
+ mes "You can find her in the map just north of the town of Morroc. Have a safe journey and good luck on becoming a Priest.";
+ set PRIEST_Q2, 2;
+ close;
+ M_No:
+ mes "[Father Rubalkabara]";
+ mes "Oh... well then... hello to you too. Although it is nice to see a servant of God such as yourself, I'm a little busy right now so if you don't mind.....";
+ emotion 4;
+ close;
+
+L_Done:
+ mes "Please see ^5533FFMother Marthilda^000000 next. Good luck with your journey to becoming a Priest";
+ close;
+}
+
+// Function: Mother Marthilda --------------------------------------------------------------------------
+function script F_MotherMart {
+
+ if(PRIEST_Q==1 && PRIEST_Q2==2) goto L_Test;
+ if(PRIEST_Q==1 && PRIEST_Q2 > 2) goto L_Done;
+ mes "Oh my... It's been a while since I've seen you. My how you've grown. It's nice to see one of God servants continuing to improve.";
+ mes "I wish you continued success child, and always remember to have faith.";
+ close;
+
+L_Test:
+ mes "Ah, you're here for the Priest test aren't you? I must say, you did a very good job in comming all this way.";
+ next;
+ mes "[Mother Marthilda]";
+ mes "That shows that you have true faith! It is my pleasure to allow you to continue on with your test.";
+ next;
+ mes "[Mother Marthilda]";
+ mes "You must now go see ^5533FFFather Yosuke^000000. He is 1 map North and 2 maps East of Prontera. I'm sure you will make a fine Priest!";
+ set PRIEST_Q2, 3;
+ close;
+
+L_Done:
+ mes "To complete your task you must go find ^5533FFFather Yosuke^000000. Please be carefull and remeber to pray.";
+ close;
+}
+
+// Function: Father Yosuke --------------------------------------------------------------------------
+function script F_FatherYos {
+
+ if(PRIEST_Q==1 && PRIEST_Q2==3) goto L_Test;
+ if(PRIEST_Q==1 && PRIEST_Q2==4) goto L_Done;
+ mes "Just because you're a servant of God doesn't mean you can come here and bother me. Please leave...";
+ close;
+
+L_Test:
+ mes "Hmm...? Did you need something? Oh the Priest test..... are you sure you're up for that?";
+ emotion 1;
+ next;
+ mes "[Father Yosuke]";
+ mes "Meh, very well. I will let you pass. Go back to the church and speak with Father Thomas. Your duty here as been fulfilled";
+ set PRIEST_Q2, 4;
+ close;
+
+L_Done:
+ mes "Ugh? What are you still doing here...? I said to go back to the church.... I'm very busy right now....";
+ emotion 1;
+ close;
+}
+
+
+//**********************************************************************************************************************************************************************************\\
+//================================================== Father Peter: Test 2 ====================================================\\
+//**********************************************************************************************************************************************************************************\\
+job_prist.gat,24,186,4 script Father Peter 110,{
+
+L_Start:
+ mes "[Father Peter]";
+ mes "God bless you!! Welcome back!";
+ mes "First i want to congratulated you for passing the first level.";
+ next;
+ mes "[Father Peter]";
+ mes "My name is Peter.";
+ mes "Hows, Thomas these days?";
+ next;
+ mes "[Father Peter]";
+ mes "Oh, so he's a father now eh? hahah...";
+ mes "I think i should call him Father Thomas!";
+ next;
+ mes "[Father Peter]";
+ mes "So you know why your here right? Your next test will be to overcome a series of trials involving the darkest of evils.";
+ mes "Do you understand what this means?";
+ next;
+ menu "Yes, I do.",-, "No, I don't quite know it..?",M_1b;
+
+ mes "[Father Peter]";
+ mes "Wow, your' pretty smart, but i think its better for you to listen to the things i got to say.";
+ mes "heheh!";
+ goto L_Cont;
+ M_1b:
+ mes "[Father Peter]";
+ mes "Oh, is that so, i think i'll need to explain it to you.";
+ mes "After listening to what i have to say, i think you'll understand.";
+ next;
+
+ L_Cont:
+ mes "[Father Peter]";
+ mes "What is overcoming evil? its basically destroying it.";
+ mes "What is evil? its basically devil, ghosts etc...";
+ next;
+ mes "[Father Peter]";
+ mes "There's a lot of evil in this world.";
+ mes "The evil usually tease people that prey to God.";
+ next;
+ mes "[Father Peter]";
+ mes "We priests are supposed to get rid of all the evil!";
+ mes "thats the only way we can bring peace to this world!";
+ next;
+ mes "[Father Peter]";
+ mes "If you are trully dedicated, then these trials should not pose that great of a challenge.";
+ mes "Even so, I you feel it necessary you may ask a Priest to assist you in this test.";
+ next;
+ mes "[Father Peter]";
+ mes "Well, can we start now?";
+ M_Menu:
+ next;
+ menu "Yes.",M_2a, "Wait a minute.",M_2b, "I want to go back to town.",M_2c;
+
+ M_2a:
+ mes "[Father Peter]";
+ mes "Okay, just enter the waiting room.";
+ close;
+
+ M_2b:
+ mes "[Father Peter]";
+ mes "Oh you need to get ready eh?";
+ mes "No problem you can start the quest when your ready.";
+ close;
+ M_2c:
+ mes "[Father Peter]";
+ mes "What? you want to go back? but you just arrived?";
+ mes ".....";
+ next;
+ mes "[Father Peter]";
+ mes "Maybe because its your first time thats why your scared.";
+ mes "You can come back when you get more courage.";
+ next;
+ warp "prt_church.gat", 16, 37;
+ close;
+
+OnInit:
+ waitingroom "Priest Test Waiting Room",8,"Father Peter::OnStart",1;
+ end;
+OnStart:
+ set $@PrstUsers, getareausers("job_prist.gat", 8, 34, 39,109);
+ set $@PrstUsers, $@PrstUsers + getareausers("job_prist.gat", 160, 14, 175, 178);
+ set $@PrstUsers, $@PrstUsers + getareausers("job_prist.gat", 90, 34, 105,105);
+ if($@PrstUsers > 0) end; // stops the rest of the script from running if there is already another player taking the test
+
+ if((getwaitingroomstate(33)) == 0) end; // stops the rest of the script from running if there is no one in the waiting room
+ disablenpc "prst1_1"; //disables the exit warp
+ disablenpc "prst2_1";
+ warpwaitingpc "job_prist.gat", 24, 44;
+ killmonsterall "job_prist.gat";
+ donpcevent "PrstTest2_1";
+ end;
+}
+
+
+//----------------------------------------------------------------------------------------------------------------------------------------------------------\\
+// Test 2, Part 1: Kill the Zombies \\
+//********************************************************************************************************************************\\
+job_prist.gat,1,1,1 script PrstTest2_1 -1,{
+ set $@PrstRm, 1; //used to determine what areawarp and areaannounce to use
+ enablenpc "Zombie1_Trig";
+ enablenpc "Zombie2_Trig";
+ enablenpc "Zombie3_Trig";
+ enablenpc "Zombie4_Trig";
+ enablenpc "Zombie5_Trig";
+ set $@mob, 13;
+ initnpctimer;
+ end;
+
+OnMobDead:
+ set $@mob, $@mob - 1;
+ if($@mob > 0) end;
+
+ enablenpc "prst1_1";
+ areaannounce "job_prist.gat",8,34,39,109,"[Father Peter]: Well done my child. Enter the warp to start the next test.",8;
+ initnpctimer "prst1_1"; //starts a 30 sec timer. this will warp the player even if they don't enter the warp to keep the test going
+ end;
+
+OnTimer500:
+ areaannounce "job_prist.gat",8,34,39,109,"[Father Peter]: In order to pass this trial, you will have to kill all of the zomibes that appear.",8;
+ end;
+OnTimer2500:
+ stopnpctimer;
+ initnpctimer "TimerPrst"; // starts the 5 min test timer
+ areaannounce "job_prist.gat",8,34,39,109,"[Father Peter]: Move slowly and take your time.",8;
+ end;
+}
+
+// These hidden warps spawn the monsters when you walk
+// First set of Zombies------------------------------------------------------------
+job_prist.gat,23,52,1 script Zombie1_Trig 139,16,0,{
+
+ monster "job_prist.gat",24,52,"Robbery",1015,1,"PrstTest2_1::OnMobDead";
+ monster "job_prist.gat",18,52,"Evilness",1015,1,"PrstTest2_1::OnMobDead";
+ monster "job_prist.gat",30,52,"Jealousy",1015,1,"PrstTest2_1::OnMobDead";
+ disablenpc "Zombie1_Trig"; //disables the npc so that it can't spawn the monsters more than once
+ end;
+}
+
+// Second set of Zombies----------------------------------------------------
+job_prist.gat,23,62,1 script Zombie2_Trig 139,16,0,{
+
+ monster "job_prist.gat",21,62,"Anger",1015,1,"PrstTest2_1::OnMobDead";
+ monster "job_prist.gat",27,62,"Wonderness",1015,1,"PrstTest2_1::OnMobDead";
+ disablenpc "Zombie2_Trig";
+ end;
+}
+
+// Third set of Zombies--------------------------------------------------------
+job_prist.gat,23,72,1 script Zombie3_Trig 139,16,0,{
+
+ monster "job_prist.gat",24,72,"Cockyness",1015,1,"PrstTest2_1::OnMobDead";
+ monster "job_prist.gat",18,72,"Slutty",1015,1,"PrstTest2_1::OnMobDead";
+ monster "job_prist.gat",30,72,"Lazyness",1015,1,"PrstTest2_1::OnMobDead";
+ disablenpc "Zombie3_Trig";
+ end;
+}
+
+// Fourth set of Zombies--------------------------------------------------------
+job_prist.gat,23,82,1 script Zombie4_Trig 139,16,0,{
+
+ monster "job_prist.gat",21,82,"Greed",1015,1,"PrstTest2_1::OnMobDead";
+ monster "job_prist.gat",27,82,"Greedyness",1015,1,"PrstTest2_1::OnMobDead";
+ disablenpc "Zombie4_Trig";
+ end;
+}
+
+// Fifth set of Zombies ---------------------------------------------------------
+job_prist.gat,23,92,1 script Zombie5_Trig 139,16,0,{
+
+ monster "job_prist.gat",24,92,"Faithless",1015,1,"PrstTest2_1::OnMobDead";
+ monster "job_prist.gat",18,92,"Non-believer",1015,1,"PrstTest2_1::OnMobDead";
+ monster "job_prist.gat",30,92,"Scaryness",1015,1,"PrstTest2_1::OnMobDead";
+ disablenpc "Zombie5_Trig";
+ end;
+}
+
+
+// End warp for 1st part of test--------------------------------------------------------------------
+job_prist.gat,24,109,1 script prst1_1 45,3,3,{
+
+ if(BaseJob == Job_Priest) end; //If a Priest friend steps on the warp nothing happens. Need the aco to step on the warp.
+OnTimer30000:
+ stopnpctimer;
+ areawarp "job_prist.gat",8,34,39,109,"job_prist.gat",168,17;
+ killmonsterall "job_prist.gat";
+ donpcevent "PrstTest2_2::OnStart";
+ end;
+}
+
+
+//----------------------------------------------------------------------------------------------------------------------------------------------------------\\
+// Test 2, Part 1: Resist Temptation \\
+//********************************************************************************************************************************\\
+job_prist.gat,1,1,0 script PrstTest2_2 -1,{
+
+OnStart:
+ enablenpc "Devi_Trig"; //enables these npc's just in case they were disabled by a previous tester
+ enablenpc "Deviruchi";
+ enablenpc "Doppel_Trig";
+ enablenpc "Doppel";
+ enablenpc "Dark_Trig";
+ enablenpc "Dark Lord";
+ enablenpc "Bapho_Trig";
+ enablenpc "Baphomet";
+ set $@PrstRm, 2;
+ set $PRIEST_Q3, 0;
+ initnpctimer;
+ end;
+
+OnCheck:
+ set $PRIEST_Q3, $PRIEST_Q3 + 1; //this counter checks to see if the player spoke with each devil and answered the questions
+ if($PRIEST_Q3 < 4) end;
+
+ enablenpc "prst2_1";
+ areaannounce "job_prist.gat", 160, 14, 175, 178, "[Father Peter]: Excellent! You have shown great courage! Use the warp to move on to the next room.",8;
+ initnpctimer "prst2_1"; //starts a 30 sec timer. this will warp the player even if they don't enter the warp to keep the test going
+ end;
+
+OnTimer500:
+ stopnpctimer;
+ areaannounce "job_prist.gat", 160, 14, 175, 178, "[Father Peter]: This trial will test the strength of your will and your commitment to God!",8;
+ end;
+
+}
+
+
+// Deviruchi ------------------------------------------------------------------------
+job_prist.gat,168,45,4 script Deviruchi 738,{
+
+OnStart:
+ if(BaseJob == Job_Acolyte) goto L_Aco;
+
+L_Priest:
+ mes "[Deviruchi]";
+ mes "Hey, whats priest like you doing in a place like this? go back to town. You like wasting you time here eh?";
+ next;
+ mes "[Deviruchi]";
+ mes "I feel happy today, so i'll spare you, now go. Next time you come, I'm gonna take to you down.";
+ close;
+
+L_Aco:
+ mes "[Deviruchi]";
+ mes "Hey, isn't that a acolyte? i haven't seen one in ages. Looks like you're going to become a priest soon...";
+ next;
+ mes "[Deviruchi]";
+ mes "I can tell how sad it is to become a servant of God. I think its weird that you're here.";
+ next;
+ mes "[Deviruchi]";
+ mes "The path your walking is going to be difficult. Isn't there better jobs you can be?";
+ next;
+ mes "[Deviruchi]";
+ mes "Doesn't matter if its in a town, in a cave, all the people always asks you to help them. Itsn't funny that they never helped you?";
+ next;
+ mes "[Deviruchi]";
+ mes "I'll give you an advice, you should give up now. The tests will be hard, and the path you're gonna walk will be difficult.";
+ next;
+ menu "Yea, I'm going to give up.",-, "Devil, Be gone NOW!.",M_1a;
+
+ mes "[Deviruchi]";
+ mes "Yeap thats a good choice, you don't have to come to this place again! Since you decided to give up, i'll give you a present.";
+ next;
+ mes "[Deviruchi]";
+ mes "I'll let you meet my friends...FOR FREE HAHAHAHAH!";
+ next;
+ warp "c_tower2.gat", 168, 33;
+ end;
+ M_1a:
+ mes "[Deviruchi]";
+ mes "Oh.. I'm so scared..hahaha. Don't be like this, listen to what i have to say.";
+ next;
+ mes "[Deviruchi]";
+ mes "If you give up now, i'll give you a nice gift. This gift is so hard to find.";
+ next;
+ cutin "¹Ì½ºÆ®·¹½ºÄ«µå.bmp",4;
+ mes "[Deviruchi]";
+ mes "Do you think you can find a card like that? Decide now, don't regret when you become a priest...";
+ next;
+ menu "I accept your card.",-, "Devil, Be GONE!!",sM_1a;
+
+ mes "[Deviruchi]";
+ mes "Hahaha all the human beings are like this, good choice! Okay, let me give you this card!";
+ next;
+ cutin "¹Ì½ºÆ®·¹½ºÄ«µå.bmp",255;
+ mes "[Deviruchi]";
+ mes "Well, too bad i can't give it to you. Go look for it YOURSELF!";
+ next;
+ warp "mjolnir_05.gat", 200, 200;
+ end;
+ sM_1a:
+ cutin "¹Ì½ºÆ®·¹½ºÄ«µå.bmp",255;
+ mes "[Deviruchi]";
+ mes "Wow, your one tough acolyte, if you keep denying you better becareful.";
+ mes "I will be watching, I'll see if you can become a good priest or not.";
+ next;
+ mes "[Deviruchi]";
+ mes "One day, you'll regret and want to come back to me!";
+ disablenpc "Devi_Trig"; //disables the trigger npc so you don't accidentally activate it again
+ disablenpc "Deviruchi";
+ donpcevent "PrstTest2_2::OnCheck";
+ close;
+}
+
+// Doppelganger ------------------------------------------------------------------------------
+job_prist.gat,168,80,4 script Doppelganger::Doppel 739,{
+
+OnStart:
+ if(BaseJob == Job_Acolyte) goto L_Aco;
+
+L_Priest:
+ mes "[Doppelganger]";
+ mes "What good is it to be here?.";
+ mes "Are you this bored? you're already a priest why are you here?.";
+ next;
+ mes "[Doppelganger]";
+ mes "You don't need to help these acolytes, go home.";
+ mes "You're doing something that is wasting your time, leave now.";
+ close;
+L_Aco:
+ mes "[Doppelganger]";
+ mes "Hey, Acolyte wait, listen to what i have to say.";
+ next;
+ mes "[Doppelganger]";
+ mes "You came here because you want to become a priest eh?";
+ mes "I don't think you should become a priest.";
+ next;
+ mes "[Doppelganger]";
+ mes "If you want, i can use my powers to let you start over again.";
+ mes "You can become a novice again, and you can choose what job you want to be.";
+ next;
+ mes "[Doppelganger]";
+ mes "Well, the job you choose depends on your level hhehe.";
+ mes "Isn't this a good deal? if you want i can help you right now.";
+ next;
+ menu "I hope you can help me!",-, "Devil Be gone!",M_1b;
+
+ mes "[Doppelganger]";
+ mes "Yes thats a good choice.";
+ mes "Let me turn you into a novice now.";
+ next;
+ mes "[Doppelganger]";
+ mes "You know it takes a long time to ressurect when you DIE!!";
+ next;
+ warp "gef_dun02.gat", 210, 177;
+ end;
+ M_1b:
+ mes "[Doppelganger]";
+ mes "I don't think you understand what i mean.";
+ mes "This is one of the best things that can happen to you.";
+ next;
+ mes "[Doppelganger]";
+ mes "You just need to tell me that you don't want to become a priest.";
+ mes "If you do that, i can turn you into any job you want, you want to become a swordman like me?";
+ next;
+ menu "I don't want to become a priest!",-, "Devil, Be GONE!",sM_1b;
+
+ mes "[Doppelganger]";
+ mes "good choice, you don't need to come back here anymore.";
+ mes "okay, let me turn you into a novice now...";
+ next;
+ mes "[Doppelganger]";
+ mes "You know its takes a long time to ressurect when you DIE??!!";
+ next;
+ warp "gef_dun02.gat", 210, 177;
+ end;
+ sM_1b:
+ mes "[Doppelganger]";
+ mes "okay fine, i'll spare you today.";
+ next;
+ mes "[Doppelganger]";
+ mes "If i see you next time, I'm gonna make you die painfully.";
+ disablenpc "Doppel_Trig";
+ disablenpc "Doppel";
+ donpcevent "PrstTest2_2::OnCheck";
+ close;
+}
+
+// Dark Lord -------------------------------------------------------------------------------
+job_prist.gat,168,115,4 script Dark Lord 737,{
+
+OnStart:
+ if(BaseJob == Job_Acolyte) goto L_Aco;
+
+L_Priest:
+ mes "[Dark Lord]";
+ mes "Let you feel hatred and anger!!";
+ mes "Let you feel how it feels when your friend betrays you!";
+ next;
+ mes "[Dark Lord]";
+ mes "Stay here, and train with us and next; until you are strong enough then you can go back!";
+ mes "Stay with us and learn to curse!";
+ close;
+L_Aco:
+ mes "[Dark Lord]";
+ mes "Stop right there human!.";
+ mes "Whose permission do you have to pass through here!";
+ next;
+ mes "[Dark Lord]";
+ mes "If you want to become a priest, you can't pass through here,";
+ mes "Go now, before i kill you.";
+ next;
+ mes "[Dark Lord]";
+ mes "Even more annoying than ants you humans, leave and stop bothering me!";
+ next;
+ menu "I'm sorry, please spare me.",-, "Devil, Be GONE!.",M_1c;
+
+ mes "[Dark Lord]";
+ mes "Don't come here again!";
+ next;
+ warp "gl_church.gat", 145, 170;
+ end;
+ M_1c:
+ mes "[Dark Lord]";
+ mes "Don't try to act like a tough guy.";
+ mes "I can cut u in many pieces with my pinky.";
+ next;
+ mes "[Dark Lord]";
+ mes "Before i use my dark powers on you, leave!";
+ next;
+ menu "Please, Spare me.",-, "Devil, BE GONE!",sM_1c;
+
+ mes "[Dark Lord]";
+ mes "Don't appear here again!";
+ next;
+ warp "gl_church.gat", 145, 170;
+ end;
+ sM_1c:
+ mes "[Dark Lord]";
+ mes "So you decided to stay eh? you pesky human, killing you will dirty my hands.";
+ next;
+ mes "[Dark Lord]";
+ mes "If i see you again, I'm gonna kill you.";
+ disablenpc "Dark_Trig";
+ disablenpc "Dark Lord";
+ donpcevent "PrstTest2_2::OnCheck";
+ close;
+}
+
+// Baphomet -----------------------------------------------------------------------------
+job_prist.gat,168,150,4 script Baphomet 736,{
+
+OnStart:
+ if(BaseJob == Job_Acolyte) goto L_Aco;
+
+L_Priest:
+ mes "[Baphomet]";
+ mes "Annoying Priests...";
+ next;
+ mes "[Baphomet]";
+ mes "I have nothing to talk to you about, leave now.";
+ close;
+L_Aco:
+ mes "[Baphomet]";
+ mes "Hey, Human.";
+ next;
+ mes "[Baphomet]";
+ mes "You interested in a deal?";
+ next;
+ mes "[Baphomet]";
+ mes "I can get you all the rich and fame in this world.";
+ mes "Infinite money and weapons which no humans have...";
+ next;
+ mes "[Baphomet]";
+ mes "Also, if you want, you can always summon me.";
+ mes "If you did that, everyone will be afraid of you hahahaha.";
+ next;
+ mes "[Baphomet]";
+ mes "I think you should give up being a priest and just accept my deal.";
+ mes "If you accept my deal, the world is yours.";
+ next;
+ menu"I give up being a priest.",-, "Devil be GONE!",M_1d;
+
+ mes "[Baphomet]";
+ mes "Okay, let us sign the contract...";
+ mes "you will not forget this...";
+ next;
+ mes "[Baphomet]";
+ mes "You go find where i live.";
+ mes "When your there, come and sign the contract.";
+ next;
+ warp "glast_01.gat", 200, 203;
+ end;
+ M_1d:
+ mes "[Baphomet]";
+ mes "Okay fine, i'll leave.";
+ mes "But, you won't leave that easily.";
+ next;
+ mes "[Baphomet]";
+ mes "I already set up a lot of evil stuff for you...";
+ mes "I want to see how long you can last.";
+ next;
+ mes "[Baphomet]";
+ mes "OKay go now.";
+ disablenpc "Bapho_Trig";
+ disablenpc "Baphomet";
+ donpcevent "PrstTest2_2::OnCheck";
+ close;
+}
+
+
+// These hidden warps trigger the npcs when you get near them
+// Deviruchi Trigger --------------------------------------------------------------------
+job_prist.gat,167,40,1 script Devi_Trig 139,8,0,{
+
+ doevent "Deviruchi::OnStart";
+ end;
+}
+// Doppleganger Trigger --------------------------------------------------------------------
+job_prist.gat,167,77,1 script Doppel_Trig 139,8,0,{
+
+ doevent "Doppel::OnStart";
+ end;
+}
+// Dark Lord Trigger --------------------------------------------------------------------
+job_prist.gat,167,112,1 script Dark_Trig 139,8,0,{
+
+ doevent "Dark Lord::OnStart";
+ end;
+}
+// Baphomet Trigger --------------------------------------------------------------------
+job_prist.gat,167,145,1 script Bapho_Trig 139,8,0,{
+
+ doevent "Baphomet::OnStart";
+ end;
+}
+
+
+// End warp for 2nd part of test ---------------------------------------------------------
+job_prist.gat,168,180,0 script prst2_1 45,3,3,{
+
+ if(BaseJob == Job_Priest) end; //If a Priest friend steps on the warp nothing happens. Need the Aco to step on the warp.
+OnTimer30000:
+ set $@PrstRm, 3;
+ set $PRIEST_Q3, 0;
+ enablenpc "Mummy1_Trig"; //enables the floor triggers for the next test
+ enablenpc "Mummy2_Trig";
+ enablenpc "Mummy3_Trig";
+ stopnpctimer;
+ initnpctimer "prst3_1";
+ areawarp "job_prist.gat", 160, 14, 175, 178, "job_prist.gat", 98, 40;
+ end;
+}
+
+
+//----------------------------------------------------------------------------------------------------------------------------------------------------------\\
+// Test 2, Part 3: Make it to the exit \\
+//******************************************************************************************************************************* *\\
+// First set of Mummies --------------------------------------------------------
+job_prist.gat,97,50,0 script Mummy1_Trig 139,8,1,{
+
+ monster "job_prist.gat", 93, 55, "ca", 1041,1;
+ monster "job_prist.gat", 102, 55, "ah", 1041,1;
+ disablenpc "Mummy1_Trig";
+ end;
+}
+// Second set of Mummies --------------------------------------------------------
+job_prist.gat,97,65,0 script Mummy2_Trig 139,8,1,{
+
+ monster "job_prist.gat", 93, 70, "men", 1041,1;
+ monster "job_prist.gat", 102, 70, "ahke", 1041,1;
+ disablenpc "Mummy2_Trig";
+ end;
+}
+// Third set of Mummies --------------------------------------------------------
+job_prist.gat,97,80,0 script Mummy3_Trig 139,8,1,{
+
+ monster "job_prist.gat", 93, 85, "mea", 1041,1;
+ monster "job_prist.gat", 102, 85, "sne", 1041,1;
+ disablenpc "Mummy3_Trig";
+ end;
+}
+
+
+// End warp for 3rd part of test ----------------------------------------------
+job_prist.gat,98,105,0 script prst3_1 45,2,2,{
+
+ if(BaseJob == Job_Priest) end; //If a Priest friend steps on the warp nothing happens. Need the Aco to step on the warp.
+ stopnpctimer "TimerPrst";
+ areawarp "job_prist.gat", 90, 34, 105, 105, "prt_church.gat",16, 37;
+ set PRIEST_Q2, 2;
+ killmonsterall "job_prist.gat";
+ donpcevent "Father Peter::OnStart";
+ end;
+
+OnTimer500:
+ stopnpctimer;
+ areaannounce "job_prist.gat", 90, 34, 105,105, "[Father Peter]: This is the last trial you must face my child. Have faith, I know you can pass it!",8;
+ end;
+}
+
+
+//----------------------------------------------------------------------------------------------------------------------------------------------------------\\
+// Timer \\
+//********************************************************************************************************************************\\
+job_prist.gat,1,1,0 script TimerPrst -1,{
+
+OnTimer3000:
+ areaannounce "job_prist.gat",8,34,39,109,"[Father Peter]: You will have 5 minutes to pass all 3 trials starting now.",8;
+ end;
+OnTimer33000:
+ donpcevent "Father Peter::OnStart";
+ end;
+OnTimer63000:
+ set $@PrstTime$, "You have 4 minutes left!";
+ donpcevent "Father Peter::OnStart";
+ goto AnnouncePrst;
+OnTimer93000:
+ donpcevent "Father Peter::OnStart";
+ end;
+OnTimer123000:
+ set $@PrstTime$, "You have 3 minutes left!";
+ donpcevent "Father Peter::OnStart";
+ goto AnnouncePrst;
+OnTimer153000:
+ donpcevent "Father Peter::OnStart";
+ end;
+OnTimer183000:
+ set $@PrstTime$, "You have 2 minutes left!";
+ donpcevent "Father Peter::OnStart";
+ goto AnnouncePrst;
+OnTimer213000:
+ donpcevent "Father Peter::OnStart";
+ end;
+OnTimer243000:
+ set $@PrstTime$, "You have 1 minute left!";
+ donpcevent "Father Peter::OnStart";
+ goto AnnouncePrst;
+OnTimer273000:
+ set $@PrstTime$, "You have 30 seconds left!";
+ donpcevent "Father Peter::OnStart";
+ goto AnnouncePrst;
+OnTimer293000:
+ set $@PrstTime$, "You have 10 seconds left!";
+ goto AnnouncePrst;
+ end;
+OnTimer2970000:
+ set $@PrstTime$, "You have 5 seconds left.";
+ goto AnnouncePrst;
+ end;
+OnTimer302000:
+ set $@PrstTime$, "Time is up. You failed the test.";
+ goto AnnouncePrst;
+OnTimer306000:
+ stopnpctimer;
+ if($@PrstRm==1) areawarp "job_prist.gat",8,34,39,109,"prt_church.gat",16, 37;
+ if($@PrstRm==2) areawarp "job_prist.gat",160, 14, 175, 178,"prt_church.gat",16, 37;
+ if($@PrstRm==3) areawarp "job_prist.gat", 90, 34, 105,105,"prt_church.gat",16, 37;
+ killmonsterall "job_prist.gat";
+ donpcevent "Father Peter::OnStart";
+ end;
+
+AnnouncePrst:
+ if($@PrstRm==1) areaannounce "job_prist.gat",8,34,39,109,"[Father Peter]: "+$@PrstTime$+".",8;
+ if($@PrstRm==2) areaannounce "job_prist.gat",160, 14, 175, 178, "[Father Peter]: "+$@PrstTime$+".",8;
+ if($@PrstRm==3) areaannounce "job_prist.gat", 90, 34, 105,105, "[Father Peter]: "+$@PrstTime$+".",8;
+ end;
+}
+
+
+
+//**********************************************************************************************************************************************************************************\\
+//================================================= Sister Cecile: Test 3 =====================================================\\
+//**********************************************************************************************************************************************************************************\\
+prt_church.gat,27,24,4 script Sister Cecile 79,{
+ mes "[Sister Cecile]";
+ if(BaseJob == Job_Priest) goto L_Prst;
+ if(BaseJob == Job_Acolyte) goto L_Aco;
+ if(BaseJob == Job_Novice) goto L_Nov;
+
+L_Other:
+ mes "This is the Prontera Church, what can I help you with?";
+ next;
+ menu "Please tell me about priests.",-, "I'm just walking around.",M_End0;
+
+ mes "[Sister Cecile]";
+ mes "Priests are servants of God. They have special powers that allow them to help anyone in need of assistance.";
+ next;
+ mes "[Sister Cecile]";
+ mes "Because they are followers of God, they cannot use swords and many other types of weapons.";
+ next;
+ mes "[Sister Cecile]";
+ mes "Of course, if you want to know more about priests, you should speak with one personally.";
+ next;
+ mes "[Sister Cecile]";
+ mes "Please stay here for as long as you wish. The church is a sanctuary for all those who seek it.";
+ close;
+ M_End0:
+ mes "[Sister Cecile]";
+ mes "Please Relax, wondering around can be tiring.";
+ close;
+
+L_Nov:
+ mes "God bless you, my child. The Prontera Church welcomes you.";
+ next;
+ mes "[Sister Cecile]";
+ mes "Have you choose your job yet? Do you want to be one of God's helpers?";
+ mes "Becoming an Acolyte and helping people is very good thing.";
+ next;
+ mes "[Sister Cecile]";
+ mes "If you want to become an Acolyte, speak to ^5533FFFather Mareusis^000000 in the room across the hall.";
+ next;
+ mes "[Sister Cecile]";
+ mes "Once you've reached job level 40 as an Acolyte, you can come back here and become a Priest.";
+ next;
+ mes "[Sister Cecile]";
+ mes "Since you are still a novice, think carefully about what job you wish to take.";
+ close;
+
+L_Prst:
+ if(sex == 1) mes "God bless you, brother priest.";
+ if(sex == 0) mes "God bless you, sister priest.";
+ mes "I wish you all the best. Keep your faith strong and remeber that God loves all, and so should you.";
+ close;
+
+L_Aco:
+ if(PRIEST_Q == 1) goto L_Test1;
+ if(PRIEST_Q == 2) goto L_Test2;
+ if(PRIEST_Q == 3) goto L_Start;
+ if(PRIEST_Q == 4) goto L_Done;
+ if(sex == 1) mes "God bless you, brother.";
+ if(sex == 0) mes "God bless you, sister.";
+ mes "Why are you here?";
+ next;
+ menu "I want to become a priest.",-, "I'm just wondering around.",M_End1;
+
+ mes "[Sister Cecile]";
+ mes "Oh so you want to become a priest?";
+ mes "A lot of acolytes want to become priests.";
+ next;
+ mes "[Sister Cecile]";
+ mes "My name is Sister Cecile, I'm responsible for helping acolytes become priests.";
+ next;
+ mes "[Sister Cecile]";
+ mes "Because I was born and raised here, I've seen a lot of people become Priests over the years.";
+ mes "Thats why i like to help people become priests now.";
+ next;
+ mes "[Sister Cecile]";
+ mes "In order to become a priest, you will have to fullfill 3 tasks. If you want to change your job now, you can go talk to Father Thomas,";
+ next;
+ mes "[Sister Cecile]";
+ mes "If you encounter any problems with any of the tasks, come talk to me and I might be able to help.";
+ close;
+ M_End1:
+ mes "[Sister Cecile]";
+ mes "Please relax and take a break. The church should feel like your home.";
+ close;
+
+L_Start:
+ if(PRIEST_Q2 == 1) goto L_ReTest;
+ mes "Good job, you successfully completed the second quest...!";
+ mes "You are now really close to becoming a priest.";
+ next;
+ mes "[Sister Cecile]";
+ if(sex==1) mes "If you want to become a priest, the last step is to answer my questions honestly.";
+ if(sex==0) mes "If you want to become a priestess, the last step is to answer my questions honestly.";
+ mes "Please be honest and answer my question.";
+ next;
+ mes "[Sister Cecile]";
+ mes "Okay let me ask you some questions.";
+ set PRIEST_Q2, 1;
+ next;
+L_Test3:
+ mes "[Sister Cecile]";
+ mes "From today on, do you wish to help the God for all eternity?";
+ next;
+ menu "Yes.",M_2a, "No.",-;
+
+ mes "[Sister Cecile]";
+ mes "Why..Why would you say that?...";
+ mes "I don't think your suitable to become a priest...";
+ next;
+ mes "[Sister Cecile]";
+ mes "please come back when you really want to become a priest.";
+ mes "You can't become a priest right now.";
+ close;
+
+ M_2a:
+
+ mes "[Sister Cecile]";
+ mes "Will you use God's power for your own profit?";
+ next;
+ menu "Yes",-, "No.",M_2b;
+
+ mes "[Sister Cecile]";
+ mes "No, that doesn't work, if you use God's power to do what you wish, you're just like a thief.";
+ mes "How can you become a good priest if you think like that?";
+ next;
+ mes "[Sister Cecile]";
+ mes "Please come back when you make up your mind.";
+ mes "Those thoughts are the things that corrupt people.";
+ close;
+
+ M_2b:
+
+
+ mes "[Sister Cecile]";
+ mes "Will you help others in battle when they need help?";
+ next;
+ menu "Yes.",M_2c, "No.",-;
+
+ mes "[Sister Cecile]";
+ mes "Thats wrong, when someone needs help, we will do our best to help them.";
+ mes "It doesn't matter who that person is, our job is to help everyone.";
+ next;
+ mes "[Sister Cecile]";
+ mes "Go walk around.";
+ mes "and you should learn something.";
+ close;
+ M_2c:
+
+ mes "[Sister Cecile]";
+ mes "Will you sacrafice yourself for others?";
+ next;
+ menu "Yes.",M_2d, "No.",-;
+
+ mes "[Sister Cecile]";
+ mes "No, thats not what God thinks.";
+ mes "If we can sacrafice ourselves for something that helps the world, its worth it.";
+ next;
+ mes "[Sister Cecile]";
+ mes "Go and think about sacraficing.";
+ mes "Sacraficing is thing thats easy to say, but hard to do.";
+ close;
+ M_2d:
+
+ mes "[Sister Cecile]";
+ mes "Will you talk bad to people you meet?";
+ next;
+ menu "Yes.",-, "No.",M_2e;
+
+ mes "[Sister Cecile]";
+ mes "That is not right, priests are supposed to help people.";
+ mes "If you talk bad, you don't deserver to be a priest.";
+ next;
+ mes "[Sister Cecile]";
+ mes "even if your God's best servant.";
+ mes "You don't have the right to bad-talk.";
+ close;
+
+ M_2e:
+
+ mes "[Sister Cecile]";
+ mes "Will you bring any kind of devil to help others in battle?";
+ next;
+ menu "Yes.",-, "No.",M_2f;
+
+ mes "[Sister Cecile]";
+ mes "You can't do that.";
+ mes "It doesn't matter if the devil is good or bad, priests should never talk to a devil .";
+ next;
+ mes "[Sister Cecile]";
+ mes "Even though it looks like you did a good thing, but it was a really bad thing.";
+ mes "Please go think about it.";
+ close;
+
+ M_2f:
+
+ mes "[Sister Cecile]";
+ mes "If God wants to you to live or die, will you listen to him?";
+ next;
+ menu "Yes.",M_2g, "No.",-;
+
+ mes "[Sister Cecile]";
+ mes "If your like that you can't become a priest.";
+ mes "If God wants you to die, you have to listen to him.";
+ next;
+ mes "[Sister Cecile]";
+ mes "And we priest have the skill to Resurrect ourselves.";
+ mes "Please go and think about what death means to you.";
+ close;
+ M_2g:
+
+ mes "[Sister Cecile]";
+ mes "I just witness what you said.";
+ mes "Lastly, please promise that you'll remember the things you said today.";
+ next;
+ menu "I promise.",-, "No.",M_2No;
+
+ mes "[Sister Cecile]";
+ mes "Now, you passed all the tests.";
+ mes "Please go talk to Father Thomas to become a priest.";
+ next;
+ mes "[Sister Cecile]";
+ mes "Please remember the things you said today.";
+ mes "God bless you...";
+ set PRIEST_Q, 4;
+ set PRIEST_Q2, 0;
+ close;
+
+ M_2No:
+ mes "[Sister Cecile]";
+ mes "..............";
+ next;
+ mes "[Sister Cecile]";
+ mes "No not yet, your still wondering if you want to become a priest or not.";
+ mes "You can't become a priest right now.";
+ next;
+ mes "[Sister Cecile]";
+ mes "I think you should go do the self-disipline test again...";
+ mes "When you're ready, come back here.";
+ next;
+ mes "[Sister Cecile]";
+ mes "God bless you...";
+ close;
+
+L_ReTest:
+ mes ".............";
+ next;
+ mes "[Sister Cecile]";
+ mes "...Oh your back.";
+ mes "I hope you can be honest this time.";
+ next;
+ mes "[Sister Cecile]";
+ mes "I hope i can sense your sincere...";
+ mes "Please answer me honestly.";
+ next;
+ mes "[Sister Cecile]";
+ mes "Okay, lets start.";
+ next;
+ goto L_Test3;
+
+L_Test1:
+ mes "Oh, so you already started the self-disipline test, good job.";
+ close;
+
+L_Test2:
+ if(PRIEST_Q2 == 1) goto L_Test2a;
+ mes "You didn't start the second quest yet?.";
+ mes "Well, i can't give u any specific details about this task.";
+ next;
+ mes "[Sister Cecile]";
+ mes "I can only tell you to be well-prepared and to not get seduced by anything...";
+ mes "You must trust in yourself in order to complete the second quest.";
+ next;
+ mes "[Sister Cecile]";
+ mes "If you want more specific details go talk to the priest in the training ground.";
+ mes "Father Thomas is a very nice person, he'll help you too.";
+ close;
+
+L_Test2a:
+ mes "Training is hard, but don't give up.";
+ mes "You must overcome anything in order to be a good priest.";
+ next;
+ mes "[Sister Cecile]";
+ mes "If there's experienced priest, you can ask them to help you train.";
+ mes "They might be able to help you pass the first level of the second task.";
+ next;
+ mes "[Sister Cecile]";
+ mes "God bless you...";
+ mes "When you complete the second quest, come back here.";
+ close;
+
+L_Done:
+ mes "Congratulations on finishing the tests. Please see Father Thomas so that he can make you a Priest.";
+ close;
+}
+
+//==============================================================================
+// mapflag
+//==============================================================================
+job_prist.gat mapflag nomemo
+job_prist.gat mapflag noteleport
+job_prist.gat mapflag nosave SavePoint
+job_prist.gat mapflag nopenalty
+job_prist.gat mapflag nobranch
+job_prist.gat mapflag noexp
+job_prist.gat mapflag noloot
diff --git a/npc/jobs/2-1/wizard.txt b/npc/jobs/2-1/wizard.txt
new file mode 100644
index 000000000..e7533bcbe
--- /dev/null
+++ b/npc/jobs/2-1/wizard.txt
@@ -0,0 +1,1415 @@
+//===== eAthena Script =======================================
+//= Wizard Job Quest
+//===== By: ==================================================
+//= (Aegis) Translated by yoshiki
+//= converted by kobra_k88
+//= Further bugfixed and tested by Lupus
+//===== Current Version: =====================================
+//= 1.8
+//===== Compatible With: =====================================
+//= eAthena 1.0
+//===== Description: =========================================
+//= Wizard job quest converted from aegis script, plus my own RO screenies.
+//===== Additional Comments: =================================
+//= 1.1 Now using the initnpctimer command, donpcevent,
+//= and new waitingroom event commands. No more addtimer spamming.
+//= No longer have to talk to the npc to take the test. Just enter the chat room.
+//= 1.2 Changed global variable names to unique ones.
+//= 1.2a Rollback from the wrong Kashy's fix
+//= 1.2b Fixed issue with duplicating monsters thx to Bison.[kobra_k88]
+//= 1.2c changed one Horong to Frilldora (now 3rd room contains 1 agressive mob.)
+//= 1.2d more simplified fire room - removed agressive Desert Wolf [Lupus]
+//= 1.3 Added Baby Class support [Lupus]
+//= 1.5 Fixed possible EXP abuse [Lupus]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where
+//= to go. [Lupus]
+//= 1.7 Replaced 2 Hodes with 2 Horong's (according to the official guide) [Lupus]
+//= 1.8 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon]
+//============================================================
+
+
+//<=================== Some dog =========================>
+gef_tower.gat,107,35,5 script Some Dog 81,{
+ callfunc "F_BlockHigh",26,"High Mage",33,"High Wizard","Dog";
+ if(BaseJob == Job_Mage) goto L_JobMage;
+ callfunc "Wiz1_check";
+
+L_JobMage:
+ mes "[Dog]";
+ mes "Ah... I know what you're about to say.... You want to become a Wizard right?";
+ next;
+ mes "[Dog]";
+ mes "Speak with Catherine. She'll help you out.";
+ next;
+ mes "[Dog]";
+ mes "If you want to know more about the job change process for Wizards, I can be of help.";
+ next;
+ menu "..................",M_0, "A dog is talking to me......",M_1;
+
+ M_0:
+ mes "[Dog]";
+ mes "~Woof~ What is it? Why are you looking at me like that?? Is this the first time you've seen a dog talk?";
+ emotion 1;
+ mes "[Dog]";
+ mes "~Woof~ I suppose it's not that common to see a talking dog..... ~Woof~..... Yeah, it is a rare site actually.....";
+ next;
+ mes "[Dog]";
+ mes "~GRRRR!!~.... Hey! Stop GAWKING at me for goodness sake!! ~WOOOF~";
+ emotion 6;
+ next;
+
+ L_Cont:
+ mes "[Dog]";
+ mes "My name is Maria Splodofska. Just call me Maria. I'm assisting candidates for the Wizard class.";
+ next;
+ mes "[Maria]";
+ mes "~Woof~ You see, the reason I became a dog was.... I was helping my boyfriend with his experiment in preperation for his Final.";
+ mes "He is studying for a Magic Degree. Well, before I knew what happened he accidentally turned me into a dog.....";
+ next;
+ mes "[Maria]";
+ mes "~Grrrrr~ In a couple of months the chemicals should wear off and I should return to normal. Well theoretically speaking anyhow.";
+ next;
+ mes "[Maria]";
+ mes "Uh, anyways..... where were we?";
+ emotion 20;
+ next;
+ mes "[Maria]";
+ mes "Like I said before, if you want to become a Wizard you must first speak with Catherine.";
+ mes "She just recently became a Wizard so she should be a great help.";
+ next;
+ mes "[Maria]";
+ mes "I can tell you more about the job changing process, but I wouldn't want to take up anymore of your time.";
+ mes "That is unless, you want me to go on about what's in store for Wizards to be?.........";
+ next;
+ menu "Yes, please continue.",sM_0, "No, it's ok.",sM_1, "A talking dog......",sM_2;
+
+ sM_0:
+ mes "Maria]";
+ mes "Ok then. Let me explain the process for becoming a Wizard to you....";
+ next;
+ mes "[Maria]";
+ mes "There are 3 Tests in the Wizard job change process. The ^5555FF1st Test^000000 will require you to collect a number of ^FF5555magic items^000000.";
+ next;
+ mes "[Maria]";
+ mes "Catherine will give you that test. She will ask to you collect either a variety of ^5555FFGemstones^000000, or ^5555FFElemental Ores^000000.";
+ next;
+ mes "[Maria]";
+ mes "The ^5555FF2nd Test^000000 will be administered by the, ever gloomy Raul, in the corner over there.";
+ mes "It is a multiple choice Q&A exam about the different aspects of magic.";
+ next;
+ mes "[Maria]";
+ mes "The exam will consist of 10 questions. If you miss any of those questions you will fail the exam.";
+ next;
+ mes "[Maria]";
+ mes "Raul will also administer the ^5555FF3rd Test^000000. This is the last test and it requires that defeat a series of monsters.";
+ mes "There will be three rooms each filled with monsters of a specific elemental attribute.";
+ next;
+ mes "[Maria]";
+ mes "It is up to you to figure what spells work best on which monsters.";
+ next;
+ mes "[Maria]";
+ mes "Well, that's all I can tell you. Go ahead and apply now.";
+ close;
+ sM_1:
+ mes "[Maria]";
+ mes "Oh, ok. Go ahead and apply and do your best.";
+ close;
+ sM_2:
+ mes "[Maria]";
+ mes "I'M NOT A DOG!!! ~ ARROOOOOOOOOWWWWW!!!! ~";
+ emotion 6;
+ next;
+ mes "[Maria]";
+ mes "Dang it! I hope you FAIL!! Now go get lost!";
+ emotion 27;
+ next;
+ warp "gef_dun00.gat",54,23;
+ end;
+ M_1:
+ mes "[Dog]";
+ mes "~WOOF~Woof~woof~ You DON'T have to state the obvious! I KNOW I'm a dog!";
+ emotion 32;
+ next;
+ goto L_Cont;
+
+}
+
+
+//<=========================================== Registrar and Examiner Catherine Medichi ==============================================>\\
+gef_tower.gat,111,37,4 script Catherine Medichi 68,{
+ callfunc "F_BlockHigh",26,"High Mage",33,"High Wizard","Catherine Medichi";
+
+ mes "[Catherine Medichi]";
+ if(BaseJob == Job_Mage) goto L_Mage;
+ callfunc "Wiz2_check";
+
+
+
+L_Mage:
+ if(WIZ_Q == 2) goto L_Test2;
+ if(WIZ_Q == 3) goto L_Test3;
+ if(WIZ_Q == 4) goto L_Done;
+ if(WIZ_Q2 > 0) goto L_Test1;
+
+ mes "My name's Catherine Medichi, and I just became a Wizard. Relax, you can call me Catherine.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "What brings you all the way up here? You want to be a wizard, right?";
+ next;
+ menu "Of course!",M_0a, "The requirements",M_0b,"Not really",M_0End;
+
+ M_0a:
+ mes "[Catherine Medichi]";
+ mes "Please fill out this application form first.";
+ next;
+ mes "(you fill out the form and hand it back)";
+ next;
+ if(JobLevel < 40) goto sL_JobLvl;
+ if(JobLevel == 50) goto sL_Job50;
+
+ mes "[Catherine]";
+ mes "Alright ^ff0000"+strcharinfo(0)+"^000000, it looks like you have everything in order.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Now let me tell you about the test. It is divided into 3 parts.";
+ mes "- The 1st part involves the collecting of a number of magical items,";
+ mes "- the 2nd part is a Q&A exam,";
+ mes "- and the 3rd section is our favorite, the field exam.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "People with a job lvl of 50 can skip the first test. They have already worked hard enough.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Now for the first part of the test. This requires the gathering of a number of magic items.";
+ next;
+ set WIZ_Q2, rand(1,2);
+
+ mes "[Catherine Medichi]";
+ mes "The items you need to bring are:";
+ if(WIZ_Q2 == 2) goto R_2;
+
+ R_1:
+ mes "- 10 ^ff0000Red gemstones^000000";
+ mes "- 10 ^0000ffBlue gemstones^000000";
+ mes "- and 10 ^ddcc11Yellow gemstones^000000.";
+ goto L_Cont0;
+
+ R_2:
+ mes "5 ^0000ffCrystal Blues^000000,";
+ mes "5 ^009900Green Lives^000000,";
+ mes "5 ^ff0000Red Bloods^000000,";
+ mes "and 5 ^ddcc11Wind of Verdures^000000.";
+
+ L_Cont0:
+ next;
+ mes "[Catherine Medichi]";
+ mes "This test isn't THAT hard, so get going!";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Good luck! I'll be waiting!";
+ set WIZ_Q, 1;
+ close;
+
+ sL_JobLvl:
+ mes "[Catherine Medichi]";
+ mes "Hey, I told you already. You have to have at least job lvl 40.";
+ mes "Don't you remember me telling you that?";
+ close;
+
+ sL_Job50:
+ mes "[Catherine Medichi]";
+ mes "Wow! You're at job level 50! You must have worked really hard! I'm impressed!";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Okay, I'll record that you're job 50. You get to skip the first test, but you still got 2 left.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Now, talk to that man in the corner for the test. It's hard, so be careful.";
+ set WIZ_Q, 2;
+ close;
+
+ M_0b:
+ mes "[Catherine Medichi]";
+ mes "Even though many people want to become Wizards, only those with a job level of 40 can qualify.";
+ mes "Anyone with a job level less then that wouldn't have enough magic power to become a Wizard.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Then there is the matter of the Wizard's Test. The test is made up of 3 sections.";
+ mes "Each section focuses on different asspects of Wizardry.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Once you pass the test you'll be a Wizard just like me. Yay!";
+ mes "Unfortunately a lot people have trouble with the test and never quite make it.(*sighs*)";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Maybe you'll have better luck.";
+ close;
+
+ M_0End:
+ mes "[Catherine Medichi]";
+ mes "What? You came up here for nothing!?";
+ emotion 1;
+ close;
+
+
+ L_Test1:
+ mes "Did you get all of the items? Let's see......";
+ next;
+ mes "[Catherine Medichi]";
+ if(WIZ_Q2 == 1) goto sL_Gems;
+ if(WIZ_Q2 == 2) goto sL_Ores;
+
+ sL_Gems:
+ if (countitem(716)<10 || countitem(717)<10 || countitem(715)<10) goto ssL_NotDone;
+ mes "Great! You've brought everything! The guild will use these well.";
+ next;
+ delitem 716, 10;
+ delitem 717, 10;
+ delitem 715, 10;
+ goto ssL_Done;
+
+ sL_Ores:
+ if (countitem(991)<4 || countitem(993)<4 || countitem(990)<4 || countitem(992)<4) goto ssL_NotDone;
+ mes "Great! You've found them all! The guild will use them well.";
+ next;
+ delitem 991, 5;
+ delitem 993, 5;
+ delitem 990, 5;
+ delitem 992, 5;
+
+ ssL_Done:
+ mes "[Catherine Medichi]";
+ mes "Congrats, you passed the first test.";
+ mes "Don't relax yet, you still got 2 tests left.";
+ emotion 21;
+ next;
+ mes "[Catherine Medichi]";
+ mes "Now talk to the man in the corner for the tests.";
+ mes "It's pretty hard, so be carefull.";
+ set WIZ_Q, 2;
+ set WIZ_Q2, 0;
+ close;
+
+ ssL_NotDone:
+ mes "It seems you didn't bring everything that's needed.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "It's hard work to get all the way up here so make sure you have all of the right items okay?";
+ next;
+ mes "[Catherine Medichi]";
+ mes "You need:";
+ if(WIZ_Q2 == 1) goto R_1;
+ if(WIZ_Q2 == 2) goto R_2;
+ close;
+
+ L_Test2:
+ if(WIZ_Q2 == 1)goto sL_Failed2;
+ mes "Hey, did you go talk to the man? No? You can't just become a wizard by getting items.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "There are 2 more tests left. I'll be waiting, so go finish them.";
+ close;
+
+ sL_Failed2:
+ mes "Huh?? You failed the Q&A test!?";
+ emotion 1;
+ next;
+ mes "[Catherine Medichi]";
+ mes "You want to be a wizard and you can't answer a couple of questions?? Sheesh.";
+ emotion 4;
+ next;
+ mes "[Catherine Medichi]";
+ mes "Well, do you want big sis to give you a hint? If you do, go buy me ^0099001 apple juice^000000. I'm a bit thirsty. =P";
+ next;
+ menu "Can I have a hint?",M_1a, "I can pass on my own!",M_1b;
+
+ M_1a:
+ if (countitem(531) < 1) goto sL_NoJuice;
+ delitem 531, 1;
+
+ mes "[Catherine Medichi]";
+ mes "Mmmmmmmmmmmmm, apple juice. ~gulp~gulp~";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Thanks, I'll give you the hint now.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "The man gives you 3 major types of questions, about:";
+ mes "- ^ff0000spells^000000,";
+ mes "- ^ff0000monsters^000000,";
+ mes "- and ^ff0000the caster^000000.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "It's up to him to pick the questions.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Ya know... if he got a hair cut and shaved, he might look cool...";
+ mes "But obviously he wouln't do it....";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Anyways, about his questions on spells, there are obviously some on spells you've learned.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "There are also questions about spells you DON'T know much about, so go ask some Wizards for that info.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "There are also places out there with lots of information about spells, such as www.emperium.org.";
+ mes "You can probably find other sites as well.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "As far as the questions on monsters go, you COULD fight them to learn about them... OR...";
+ next;
+ mes "[Catherine Medichi]";
+ mes "... If I remember correctly, there's a libary in Prontera that has lots of information on monsters.";
+ mes "You could just go there and read about them.";
+ next;
+ mes "[Catherine Medichie]";
+ mes "Now, about the questions about the caster.... You're on your own for this one..";
+ mes "Why? Because YOU ARE the caster!";
+ next;
+ mes "[Catherine Medichi]";
+ mes "If you don't know anything about yourself, how would a stranger like me know?";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Well good luck! Mister Examiner is waiting!";
+ close;
+
+ sL_NoJuice:
+ mes "[Catherine Medichi]";
+ mes "Well, if you want hints, I need apple juice!. Otherwise, you're on your own =P.";
+ close;
+
+ M_1b:
+ mes "[Catherine Medichi]";
+ mes "That's right! Tests are meant to be done alone! That's definatly the way a Wizard should think!";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Good luck! Mister Examiner is waiting!";
+ close;
+
+ L_Test3:
+ if(WIZ_Q2 == 1) goto sL_Failed3;
+ mes "He he, I could hear you in there working hard on those questions.";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Good job, only one test left! Finish that and you'll be a wizard!";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Good luck! The examiner's waiting!";
+ close;
+
+ sL_Failed3:
+ mes "Why did you come out during the test? I never thought you were that weak...";
+ next;
+ if(sex==1) goto ssL_M3;
+ if(sex==0) goto ssL_F3;
+
+ ssL_M3:
+ mes "[Catherine Medichi]";
+ mes "How could a powerful mage like you get beaten so easily!! Go back in and try harder.";
+ close;
+
+ ssL_F3:
+ mes "[Catherine Medichi]";
+ mes "You can't act all weak, just because you're a girl! If you want to be a wizard, go and pass the test!";
+ next;
+ mes "[Catherine Medichi]";
+ mes "I thought it was hard too, but it wasn't enough to make me quit! You just have to face hardship sometimes!";
+ close;
+
+
+ L_Done:
+ if(SkillPoint > 0) mes "You need to use up all of your skill points before I can make you a Wizard.";
+ if(SkillPoint > 0) close;
+
+ mes "Great! You finished all of the tests! Congrats, congrats, congrats!!";
+ emotion 21;
+ next;
+ mes "[Catherine Medichi]";
+ mes "Ack, I'm wasting time, I better change you!";
+ next;
+ callfunc "Job_Change",Job_Wizard;
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+
+ mes "[Catherine Medichi]";
+ mes "Now you're a wizard! Act responsibly!";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Make sure when you cast a spell, you know exactly what's going to happen!";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Don't do stupid things like casting in the middle of town!";
+ mes "It causes lag and magic is supposed to be used on monsters anyways!";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Become mightier by partying with others! Oh yea, here's a present!";
+ next;
+ mes "[Catherine Medichi]";
+ mes "(Rustle Rustle)";
+ next;
+ getitem 505, 6;
+ mes "[Catherine Medichi]";
+ mes "Use them wisely. It's a present from me, so you better use them all!";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Well my fellow Wizard, take care and have a great life!";
+ close;
+}
+
+
+//<================================================ Examiner: Raul Expagarus ==================================================>\\
+gef_tower.gat,102,24,3 script Raul Expagarus 735,{
+ mes "[Raul Expagarus]";
+ if(BaseJob == Job_Mage) goto L_Mage;
+ if(BaseJob == Job_Wizard) goto L_Wizard;
+ if(baseClass == Job_Acolyte) goto L_Holy;
+ if(BaseJob == Job_Novice) goto L_Novice;
+L_Other:
+ mes "Ugh, I don't feel good....I feel like I'm trapped in ice........";
+ next;
+ mes "[Raul Expagarus]";
+ mes "Who're you?! Leave!";
+ emotion 0;
+ close;
+L_Novice:
+ mes "What's a little kid like you doing here? Get out!!";
+ emotion 0;
+ next;
+ warp "geffen.gat",120,110;
+ close;
+L_Holy:
+ mes "Leave holy ones!";
+ mes "Magic is considered to be a power that is not from God.......";
+ next;
+ mes "[Raul Expagarus]";
+ mes "Besides, I'm not feeling too good. So Leave now!";
+ close;
+L_Wizard:
+ mes "Cough Cough, what can I do for you? Hmmm... you're a magic user too...";
+ next;
+ mes "[Raul Expagarus]";
+ if(sex==1) goto L_M;
+ if(sex==0) goto L_F;
+
+ L_M:
+ mes "If you're not responsible, you might accidently learn useless spells.";
+ mes "Instead of that, you might want to focus on learning spells you'll be using now.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "In a fight for love, you might become crippled hehe.";
+ close;
+
+ L_F:
+ mes "If you're not responsible, you might accidently learn useless spells.";
+ mes "You should learn a spell with all of your heart or not learn it at all.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "If you don't wish to study like that............... Heh, then go be a housewife.";
+ close;
+
+L_Mage:
+ if(WIZ_Q == 1) goto L_NotRdy;
+ if(WIZ_Q == 2) goto L_Test2;
+ if(WIZ_Q == 3) goto L_Test3;
+ if(WIZ_Q == 4) goto L_Done;
+
+ mes "Cough, I don't have any time to talk.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "Sorry, but please leave.";
+ close;
+
+ L_NotRdy:
+ mes "Heh, a wizard trainee eh?!";
+ next;
+ mes "[Raul Expagarus]";
+ mes "You COULD just stay as a mage and live a pretty decent life.....";
+ next;
+ mes "[Raul Expagarus]";
+ mes "Then again, wizards ARE much more high class.....";
+ close;
+
+ L_Done:
+ mes "Congratulations on finishing the final test! You have now finished all of the Wizards tests and are ready to become a Wizard!";
+ emotion 21;
+ next;
+ mes "[Raul Expagarus]";
+ mes "Go speak to Catherine to become a Wizard. But be careful! Magic is a powerfull force and can easily destroy you!!";
+ close;
+
+ L_Test2:
+ if(WIZ_Q2 == 1) goto sL_ReTest2;
+
+ mes "I see you've passed the 1st test. My name is Raul Expagarus, I'm your test examiner.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "It's not too late! You can still return to a peaceful life in town if you wish.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "You probably have no clue how dangerous it is to use magic.";
+ next;
+ menu "You're right. I quit.",M_0a, "I want to take test!",M_0b;
+
+ sL_ReTest2:
+ mes "Hmph, you want to try again?";
+ next;
+ mes "[Raul Expagarus]";
+ mes "How can you hate a peaceful life so much?";
+ next;
+ mes "[Raul Expagarus]";
+ mes "Be that way! If you miss one question, you fail! What do you say!?";
+ emotion 32;
+ next;
+ menu "I want to live in peace..........",M_0a, "I want to try again.",M_0b;
+
+ M_0a:
+ mes "[Raul Expagarus]";
+ mes "Good choice, cough cough. Being a Wizard is a difficult job, and magic is not meant to be used by mere mortals.........";
+ next;
+ mes "[Raul Expagarus]";
+ mes "Go down the tower and don't look back. Use the magic you have now and live a peaceful life.";
+ close;
+
+ M_0b:
+ mes "[Raul Expagarus]";
+ mes "Hmph, we'll see how GREAT you do.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "Lets start the test! If you miss one question, you're screwed! HA!";
+ emotion 29;
+ next;
+ mes "[Raul Expagarus]";
+ mes "10 questions, get them right! I won't tell you the correct answer for the ones you miss.";
+ next;
+ set @SCORE,0;
+ set @temp,rand(0,2);
+ if(@temp == 1) goto R_1;
+ if(@temp == 2) goto R_2;
+
+ //Spell Quiz
+ R_0:
+ mes "[Raul Expagarus]";
+ mes "Cough, here are the questions!";
+ next;
+ mes "[Raul Expagarus]";
+ mes "1. What ISN'T required for fire wall?";
+ next;
+ menu "Fire Bolt Lv 4",sM0_0b, "Fire Ball Lv 5",sM0_0b, "Sight Lv 1",sM0_0b, "Napalm Beat Lv 4",sM0_0a;
+
+ sM0_0a:
+ set @SCORE, @SCORE + 10;
+
+ sM0_0b:
+
+ mes "[Raul Expagarus]";
+ mes "2. What happens to a monster's element after it's frozen by Frost Diver?";
+ next;
+ menu "Changes to Water",sM0_1a, "Changes to Earth",sM0_1b, "Changes to Fire",sM0_1b, "Changes to Wind",sM0_1b;
+
+ sM0_1a:
+ set @SCORE, @SCORE + 10;
+
+ sM0_1b:
+
+ mes "[Raul Expagarus]";
+ mes "3. When you max out Napalm Beat, how many times matk will the dmg be?";
+ next;
+ menu "1.6x",sM0_2b, "1.7x",sM0_2a, "2x",sM0_2b, "20x",sM0_2b;
+
+ sM0_2a:
+ set @SCORE, @SCORE + 10;
+
+ sM0_2b:
+
+ mes "[Raul Expagarus]";
+ mes "4. What item is required for stone curse?";
+ next;
+ menu "Red Blood",sM0_3b, "Blue Gem",sM0_3b, "Yellow Gem",sM0_3b, "Red Gem",sM0_3a;
+
+ sM0_3a:
+ set @SCORE, @SCORE + 10;
+
+ sM0_3b:
+
+ mes "[Raul Expagarus]";
+ mes "5. What isn't required for Safety Wall?";
+ next;
+ menu "Napalm Beat Lv 4",sM0_4b, "Soul Strike Lv 5",sM0_4b, "SP Recovery Lv. 6",sM0_4b, "Ice Wall Lv 7",sM0_4a;
+
+ sM0_4a:
+ set @SCORE, @SCORE + 10;
+
+ sM0_4b:
+
+ mes "[Raul Expagarus]";
+ mes "6. How much SP will you regain every 10 sec with lvl 7 SP Rec.?";
+ next;
+ menu "14",sM0_5b, "21",sM0_5a, "28",sM0_5b, "35",sM0_5b;
+
+ sM0_5a:
+ set @SCORE, @SCORE + 10;
+
+ sM0_5b:
+
+ mes "[Raul Expagarus]";
+ mes "7. You have 50% SP, how much dmg will Energy Coat reduce and how much sp will it use?";
+ next;
+ menu "dmg 18%, SP1.5%",sM0_6b, "dmg18%, SP2%",sM0_6a, "dmg 24%, SP1.5%",sM0_6b, "dmg 24%, SP2%",sM0_6b;
+
+ sM0_6a:
+ set @SCORE, @SCORE + 10;
+
+ sM0_6b:
+
+ mes "[Raul Expagarus]";
+ mes "8. Lvl 6 Safety Wall sp consumtion, and number of hits absorbed?";
+ next;
+ menu "SP 40, 6hits",sM0_7b, "SP 35, 6hits",sM0_7b, "SP 40, 7hits",sM0_7a, "SP 35, 7hits",sM0_7b;
+
+ sM0_7a:
+ set @SCORE, @SCORE + 10;
+
+ sM0_7b:
+
+ mes "[Raul Expagarus]";
+ mes "9. Lv. 10 Thunder Storm's Sp Consume";
+ next;
+ menu "84",sM0_8b, "74",sM0_8a, "64",sM0_8b, "54",sM0_8b;
+
+ sM0_8a:
+ set @SCORE, @SCORE + 10;
+
+ sM0_8b:
+
+ mes "[Raul Expagarus]";
+ mes "10. What would be a good skill to use in Byalan Dungeon?";
+ next;
+ menu "Lightning Bolt",sM0_9a, "Fire Bolt",sM0_9b, "Ice Bolt",sM0_9b, "Sight",sM0_9b;
+
+ sM0_9a:
+ set @SCORE, @SCORE + 10;
+
+ sM0_9b:
+ goto L_Cont0;
+
+ //Monster Quiz
+ R_1:
+ mes "[Raul Expagarus]";
+ mes "1. What drops a slot guard?";
+ next;
+ menu "Thief Bug",sM1_0b, "Peco Peco",sM1_0b, "Pupa",sM1_0a, "Mace Kobold",sM1_0b;
+
+ sM1_0a:
+ set @SCORE, @SCORE + 10;
+
+ sM1_0b:
+
+ mes "[Raul Expagarus]";
+ mes "2. Which monster is the easiest for magicians?";
+ next;
+ menu "Flora",sM1_1a, "Gierth",sM1_1b, "Golem",sM1_1b, "Myst",sM1_1b;
+
+ sM1_1a:
+ set @SCORE, @SCORE + 10;
+
+ sM1_1b:
+
+ mes "[Raul Expagarus]";
+ mes "3. What monster is completly immune to Stone Curse?";
+ next;
+ menu "Elder Willow",sM1_2b, "Evil Druid",sM1_2a, "Baek-Ryuhn-Oak",sM1_2b, "Marc",sM1_2b;
+
+ sM1_2a:
+ set @SCORE, @SCORE + 10;
+
+ sM1_2b:
+:
+ mes "[Raul Expagarus]";
+ mes "4. How much dmg do you do with a wind spell to a Water 3 monster?";
+ next;
+ menu "125%",sM1_3b, "150%",sM1_3b, "175%",sM1_3b, "200%",sM1_3a;
+
+ sM1_3a:
+ set @SCORE, @SCORE + 10;
+
+ sM1_3b:
+
+ mes "[Raul Expagarus]";
+ mes "5. Baby Desert Wolves vs Familiar, which one wins?";
+ next;
+ menu "Baby Desert Wolf",sM1_4a, "Farmiliar",sM1_4b, "Tie",sM1_4b, "Don't Know",sM1_4b;
+
+ sM1_4a:
+ set @SCORE, @SCORE + 10;
+
+ sM1_4b:
+
+ mes "[Raul Expagarus]";
+ mes "6. Which monster can't be tamed as a pet?";
+ next;
+ menu "Poporing",sM1_5b, "Roda Frog",sM1_5a, "Smokie",sM1_5b, "Poison Spore",sM1_5b;
+
+ sM1_5a:
+ set @SCORE, @SCORE + 10;
+
+ sM1_5b:
+
+ mes "[Raul Expagarus]";
+ mes "7. Which monster is weak against fire?.";
+ next;
+ menu "Knife Goblin",sM1_6b, "Mace Goblin",sM1_6b, "Flail Goblin",sM1_6b, "Hammer Goblin",sM1_6a;
+
+ sM1_6a:
+ set @SCORE, @SCORE + 10;
+
+ sM1_6b:
+
+ mes "[Raul Expagarus]";
+ mes "8. Which monster has the highest magic def?";
+ next;
+ menu "Horong",sM1_7b, "ChonChon",sM1_7b, "Andre",sM1_7b, "Caramel",sM1_7a;
+
+ sM1_7a:
+ set @SCORE, @SCORE + 10;
+
+ sM1_7b:
+
+ mes "[Raul Expagarus]";
+ mes "9. Pick the monster that doesn't belong.";
+ next;
+ menu "Poring",sM1_8b, "Mastering",sM1_8b, "Ghostring",sM1_8b, "Spore",sM1_8a;
+
+ sM1_8a:
+ set @SCORE, @SCORE + 10;
+
+ sM1_8b:
+
+ mes "[Raul Expagarus]";
+ mes "10. Which is not a undead?";
+ next;
+ menu "Drake",sM1_9b, "Megalodon",sM1_9b, "Deviace",sM1_9a, "Khalitzburg",sM1_9b;
+
+ sM1_9a:
+ set @SCORE, @SCORE + 10;
+
+ sM1_9b:
+ goto L_Cont0;
+
+ //Wizard Quiz
+ R_2:
+ mes "[Raul Expagarus]";
+ mes "1. What is the most important stat for a Wizard?";
+ next;
+ menu "INT",sM2_0a, "AGI",sM2_0b, "DEX",sM2_0b, "VIT",sM2_0b;
+
+ sM2_0a:
+ set @SCORE, @SCORE + 10;
+
+ sM2_0b:
+
+ mes "[Raul Expagarus]";
+ mes "2. Which element doesn't have a bolt spell?";
+ next;
+ menu "water",sM2_1b, "earth",sM2_1a, "fire",sM2_1b, "wind",sM2_1b;
+
+ sM2_1a:
+ set @SCORE, @SCORE + 10;
+
+ sM2_1b:
+
+ mes "[Raul Expagarus]";
+ mes "3. What is NOT a characteristic of a Wizard?";
+ next;
+ menu "Weak physical abilites",sM2_2b, "Distance Attacks",sM2_2b, "Good money maker",sM2_2a, "High Magic Def",sM2_2b;
+
+ sM2_2a:
+ set @SCORE, @SCORE + 10;
+
+ sM2_2b:
+
+ mes "[Raul Expagarus]";
+ mes "4. Which town is the home of Wizards?";
+ next;
+ menu "Prontera",sM2_3b, "Morroc",sM2_3b, "Alberta",sM2_3b, "Geffen",sM2_3a;
+
+ sM2_3a:
+ set @SCORE, @SCORE + 10;
+
+ sM2_3b:
+
+ mes "[Raul Expagarus]";
+ mes "5. Which card has nothing to do with INT?";
+ next;
+ menu "Andre Card",sM2_4b, "Soldier Andre Card",sM2_4a, "Baby Desert Wolf Card",sM2_4b, "Elder Willow Card",sM2_4b;
+
+ sM2_4a:
+ set @SCORE, @SCORE + 10;
+
+ sM2_4b:
+
+ mes "[Raul Expagarus]";
+ mes "6. What is superior about the mage class compared to others?";
+ next;
+ menu "Close Range Combat",sM2_5b, "High Dodge",sM2_5b, "Dance Skills",sM2_5b, "Magical Power",sM2_5a;
+
+ sM2_5a:
+ set @SCORE, @SCORE + 10;
+
+ sM2_5b:
+
+ mes "[Raul Expagarus]";
+ mes "7. What is the INT bonus at job lvl 40?";
+ next;
+ menu "8",sM2_6b, "7",sM2_6b, "6",sM2_6b, "5",sM2_6a;
+
+ sM2_6a:
+ set @SCORE, @SCORE + 10;
+
+ sM2_6b:
+
+ mes "[Raul Expagarus]";
+ mes "8. Which Item can't be equiped by mages?";
+ next;
+ menu "Knife",sM2_7b, "Cap",sM2_7a, "Sandel",sM2_7b, "Eye of Dullahan",sM2_7b;
+
+ sM2_7a:
+ set @SCORE, @SCORE + 10;
+
+ sM2_7b:
+
+ mes "[Raul Expagarus]";
+ mes "9. During the mage test, which stone is NOT one of the Catalysts?";
+ next;
+ menu "Yellow Gemstone",sM2_8b, "Red Gemstone",sM2_8b, "Blue Gemstone",sM2_8b, "Red Blood",sM2_8a;
+
+ sM2_8a:
+ set @SCORE, @SCORE + 10;
+
+ sM2_8b:
+
+ mes "[Raul Expagarus]";
+ mes "10. Which card has nothing to do with magic?";
+ next;
+ menu "Marduk Card",sM2_9b, "Baek-Rhyun-Oak Card",sM2_9a, "Willow Card",sM2_9b, "Maya Card",sM2_9b;
+
+ sM2_9a:
+ set @SCORE, @SCORE + 10;
+
+ sM2_9b:
+
+
+ L_Cont0:
+ mes "[Raul Expagarus]";
+ mes "Well that's the end of the test. When you get some time afterwards, go get something to eat okay.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "Anyway, here is your score: ^ff0000"+@SCORE+"^000000 points.";
+ next;
+ mes "[Raul Expagarus]";
+ if(@SCORE == 100) goto sL_Pass100;
+ if(@SCORE == 90) goto sL_Pass90;
+
+ sL_Failed:
+ set WIZ_Q2, 1;
+ mes "Hmf... You failed, go study some more.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "You're a long way away. With that low of an intelligence, you have no chance of surviving as a wizard.";
+ close;
+
+ sL_Pass90:
+ set WIZ_Q, 3;
+ set WIZ_Q2, 0;
+ mes "Hmm, you've missed one question, but I'll let you pass.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "Don't relax yet! There is still a 3rd test left. While we prepare for the next test, sit and rest a bit.";
+ close;
+
+ sL_Pass100:
+ set WIZ_Q, 3;
+ set WIZ_Q2, 0;
+ mes "Wonderful! You've passed the 2nd test.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "Don't relax yet! There is still a 3rd test left. While we prepare for the next test, sit and rest a bit.";
+ close;
+
+
+ L_Test3:
+ if(WIZ_Q2 == 1) goto sL_ReTest3;
+ mes "Got some rest? Good. Now, let's start the last test.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "I'll make a quick explanation of the test, want to hear it?";
+ next;
+ menu "No thank you.",M_1a, "Please go on",M_1b;
+
+ M_1a:
+ mes "[Raul Expagarus]";
+ mes "Ignorant fool! Fine, go die if you wish! Your corpse will be left as food for the monsters.";
+ emotion 23;
+ next;
+ mes "[Raul Expagarus]";
+ mes "I'll send you now... By the way, have fun getting slaughtered!";
+ next;
+ savepoint "gef_tower.gat",106,29;
+ warp "job_wiz.gat",57,154;
+ end;
+
+ M_1b:
+ mes "[Raul Expagarus]";
+ mes "Good choice. Listen carefully.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "The is a test of your ability to fight monsters of varying elemental properites.";
+ mes "There will be 3 different rooms, each containing monsters of a different elemental property.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "There will be the Room of Water which will have monsters of the water property, followed by the ";
+ mes "Room of Earth with earth property monsters, and finally the Room of Fire with fire property monsters.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "You will have 3 minutes for each room. You must kill all of the monsters in the room to be able to advance to the next room.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "If you use that right spells you should be able to finish the test rather easily. That's all there is to it.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "You look a little frightened.... give up now and you can return to town.....";
+ next;
+ menu "I have no fear! Give me the test!",sM_a, "... tooo scaaarryy... lemme go home(*sob*sob*)",sM_b;
+
+ sM_a:
+ mes "[Raul Expagarus]";
+ mes "Kid, you have courage. We'll start right away!";
+ next;
+ set WIZ_Q2, 1;
+ savepoint "gef_tower.gat",106,29;
+ warp "job_wiz.gat",57,154;
+ end;
+
+ sM_b:
+ mes "[Raul Expagarus]";
+ mes "Good choice. Have a nice peaceful life!";
+ warp "geffen.gat",120,110;
+ end;
+
+ sL_ReTest3:
+ mes "You want to take the test AGAIN!? You love magic THAT much!?";
+ emotion 1;
+ next;
+ mes "[Raul Expagarus]";
+ mes "You failed last time, so it's time for a quiz! If you don't want to take it, TOO BAD!.";
+ next;
+ mes "[Raul Expagarus]";
+ mes "Let's start.";
+ next;
+ set @SCORE, 0;
+
+ mes "[Raul Expagarus]";
+ mes "1. Which monster doesn't exist?";
+ next;
+ menu "Mantis",sM_0b, "Cunner Tooth",sM_0a, "Giearth",sM_0b, "Caramel",sM_0b;
+
+ sM_0a:
+ set @SCORE, @SCORE + 20;
+
+ sM_0b:
+
+ mes "[Raul Expagarus]";
+ mes "2. Which monster is NOT a animal type?";
+ next;
+ menu "Yoyo",sM_1b, "Bigfoot",sM_1b, "Metaller",sM_1b, "Zerom",sM_1a;
+
+ sM_1a:
+ set @SCORE, @SCORE + 20;
+
+ sM_1b:
+
+ mes "[Raul Expagarus]";
+ mes "3. Which monster has no cast sense?";
+ next;
+ menu "Marina",sM_2a, "Vitata",sM_2b, "Scorpion",sM_2b, "Giearth",sM_2b;
+
+ sM_2a:
+ set @SCORE, @SCORE + 20;
+
+ sM_2b:
+
+ mes "[Raul Expagarus]";
+ mes "4. What's a good spell to use on Marin Spheres?";
+ next;
+ menu "Cold Bolt",sM_3b, "Fire Bolt",sM_3b, "Lightning Bolt",sM_3a, "Stone Curse",sM_3b;
+
+ sM_3a:
+ set @SCORE, @SCORE + 20;
+
+ sM_3b:
+
+ mes "[Raul Expagarus]";
+ mes "5. Which monster can move?";
+ next;
+ menu "Hydra",sM_4b, "Mandragora",sM_4b, "Greatest General",sM_4b, "Frilldora",sM_4a;
+
+ sM_4a:
+ set @SCORE, @SCORE + 20;
+
+ sM_4b:
+
+ mes "[Raul Expagarus]";
+ mes "Your score is ^ff0000" +@SCORE+ "^000000 pts.";
+ next;
+ mes "[Raul Expagarus]";
+ if (@SCORE >= 80) goto sL_Passed3;
+
+ sL_Failed3:
+ mes "You Failed! Go study some more!";
+ next;
+ mes "[Raul Expagarus]";
+ mes "You aren't fit to be a wizard, why do you think you failed!?";
+ close;
+
+ sL_Passed3:
+ if (@SCORE == 100) mes "If you're so smart, why couldn't you pass the test the first time?";
+ if (@SCORE == 80) mes "Kehe, almost perfect. I'll let you try again.";
+ next;
+ menu "Let's start!",M_2a, "Explain the test again please.",M_1b;
+
+ M_2a:
+ mes "[Raul Expagarus]";
+ mes "I won't help you even if you die this time. Don't come crying to me if you fail again.... hehe.";
+ next;
+ percentheal 100,100;
+ mes "[Raul Expagarus]";
+ mes "I'll send you to the arena now. Have fun getting your butt whooped!";
+ next;
+ savepoint "gef_tower.gat",106,29;
+ warp "job_wiz.gat",55,156;
+ end;
+}
+
+
+//<====================================================== Test Arena ========================================================>\\
+// Test Guide ---------------------------------------------------------------------------------
+job_wiz.gat,50,165,4 script Wizard Test Guide::WzTG 123,{
+ mes "[Test Guide]";
+ mes "Welcome. I will be your guide for the Wizard Test.";
+ next;
+ menu "I would like to take the test.",M_0, "I would like to leave.",M_1;
+
+ M_0:
+ mes "[Test Guide]";
+ mes "As you have been told you will have 3 minutes to finish each portion of the test.";
+ mes "I will periodically announce how much time you have left for each room on a minute by minute basis.";
+ next;
+ mes "[Test Guide]";
+ mes "Please enter the 'Wizard Test Waiting Room' when you are ready to take the test.";
+ mes "When the testing room is ready you will be automatically warped there and the exam will begin.";
+ next;
+ mes "[Test Guide]";
+ mes "Good luck!";
+ close;
+ M_1:
+ mes "[Test Guide]";
+ mes "I see. I will send you back.";
+ next;
+ warp "gef_tower.gat",106, 35;
+ end;
+
+OnInit:
+ waitingroom "Wizard Test Waiting Room",8,"WzTG::OnStart",1;
+ end;
+
+OnStart:
+ set $@WzUsers, getareausers("job_wiz.gat", 98, 154, 129, 185); // get user count for first lvl
+ set $@WzUsers, $@WzUsers + getareausers("job_wiz.gat", 100, 82, 131, 113); // get user count for second lvl + first lvl
+ set $@WzUsers, $@WzUsers + getareausers("job_wiz.gat", 30, 82, 61, 113); // get user count for third lvl + second lvl + first lvl
+ if ($@WzUsers > 0) end;
+
+ if ((getwaitingroomstate(33)) == 0) end; // finds out if there is anyone in the waiting room
+ disablenpc "waterwrp"; //disables the warps
+ disablenpc "waterwarpW";
+ disablenpc "waterwarpN";
+ disablenpc "waterwarpS";
+ disablenpc "earthwrp";
+ disablenpc "earthwarpW";
+ disablenpc "earthwarpN";
+ disablenpc "earthwarpS";
+ disablenpc "firewrp";
+ disablenpc "firewarpN";
+ disablenpc "firewarpW";
+ disablenpc "firewarpS";
+ killmonsterall "job_wiz.gat"; //makes sure there are no left over mobs from other testers
+ warpwaitingpc "job_wiz.gat",114,169;
+ donpcevent "WaterRm";
+ end;
+}
+
+// Room of Water -----------------------------------------------------------------------------
+job_wiz.gat,1,1,1 script WaterRm -1,{
+ set $@WzRm, 1; // used to determine which map area(room) to make time announcements in
+ set $@WzMOB, 8; //used as a counter for the monsters that are summoned
+ monster "job_wiz.gat",109,174,"Phen",1158,1,"WaterRm::OnMyMobDead1";
+ monster "job_wiz.gat",118,174,"Kukre",1070,1,"WaterRm::OnMyMobDead1";
+ monster "job_wiz.gat",98,170,"Kukre",1070,1,"WaterRm::OnMyMobDead1";
+ monster "job_wiz.gat",109,165,"Vadon",1066,1,"WaterRm::OnMyMobDead1";
+ monster "job_wiz.gat",118,165,"Cornutus",1067,1,"WaterRm::OnMyMobDead1";
+ monster "job_wiz.gat",101,157,"Marina",1141,1,"WaterRm::OnMyMobDead1";
+ monster "job_wiz.gat",126,157,"Marin",1242,1,"WaterRm::OnMyMobDead1";
+ monster "job_wiz.gat",129,170,"Obeaune",1044,1,"WaterRm::OnMyMobDead1";
+ initnpctimer "TimerWz";
+ end;
+
+OnMyMobDead1: //when a monster dies this portion of script is run
+ set $@WzMOB, $@WzMOB - 1;
+ if ($@WzMOB > 0) end;
+
+ stopnpctimer "TimerWz";
+ set $@WzMOB, 0;
+ addtimer 2000, "WaterRm::OnTimer2000";
+ end;
+
+OnTimer2000:
+ set $@WzMOB, 5;
+ areaannounce "job_wiz.gat", 98, 154, 129, 185, "[Test Guide]: You must now defeat the door gaurds! Hurry!",8;
+ monster "job_wiz.gat",114,169,"Marine Sphere",1142,1,"WaterRm::OnMyMobDead2";
+ monster "job_wiz.gat",112,169,"Hydra",1068,1,"WaterRm::OnMyMobDead2";
+ monster "job_wiz.gat",116,169,"Hydra",1068,1,"WaterRm::OnMyMobDead2";
+ monster "job_wiz.gat",114,171,"Hydra",1068,1,"WaterRm::OnMyMobDead2";
+ monster "job_wiz.gat",114,167,"Hydra",1068,1,"WaterRm::OnMyMobDead2";
+ setnpctimer 120000, "TimerWz";
+ startnpctimer "TimerWz";
+ end;
+
+OnMyMobDead2:
+ set $@WzMOB, $@WzMOB - 1;
+ if ($@WzMOB > 0) end;
+
+ stopnpctimer "TimerWz";
+ set $@WzMOB, 0;
+ areaannounce "job_wiz.gat", 98, 154, 129, 185, "[Test Guide]: Well done. You have completed the Room of Water. Get ready for the Room of Earth.",8;
+ percentheal 100,100;
+ enablenpc "waterwrp";
+ enablenpc "waterwarpW";
+ enablenpc "waterwarpN";
+ enablenpc "waterwarpS";
+ initnpctimer "waterwrp"; // warps the player after 30 secs even if they don't enter the warps
+ end;
+}
+
+// Room of Earth -----------------------------------------------------------------------------------------------
+job_wiz.gat,1,1,1 script EarthRm -1,{
+ set $@WzRm, 2;
+ set $@WzMOB, 10;
+ monster "job_wiz.gat",111,102,"Yoyo",1057,1,"EarthRm::OnMyMobDead1";
+ monster "job_wiz.gat",120,102, "Deniro",1105,1,"EarthRm::OnMyMobDead1";
+ monster "job_wiz.gat",111,102, "Caramel",1103,1,"EarthRm::OnMyMobDead1";
+ monster "job_wiz.gat",120,102,"Hode",1127,1,"EarthRm::OnMyMobDead1";
+ monster "job_wiz.gat",111,93,"Savage",1166,1,"EarthRm::OnMyMobDead1";
+ monster "job_wiz.gat",120,93,"Giearth",1121,1,"EarthRm::OnMyMobDead1";
+ monster "job_wiz.gat",107,98,"Bigfoot",1160,1,"EarthRm::OnMyMobDead1";
+ monster "job_wiz.gat",124,98,"Orc Warrior",1023,1,"EarthRm::OnMyMobDead1";
+ monster "job_wiz.gat",104,86,"Vitata",1176,1,"EarthRm::OnMyMobDead1";
+ monster "job_wiz.gat",127,86,"Mantis",1139,1,"EarthRm::OnMyMobDead1";
+ initnpctimer "TimerWz";
+ end;
+
+OnMyMobDead1:
+ set $@WzMOB, $@WzMOB - 1;
+ if ($@WzMOB > 0) end;
+
+ stopnpctimer "TimerWz";
+ addtimer 2000, "EarthRm::OnTimer2000";
+ set $@WzMOB, 0;
+ end;
+
+OnTimer2000:
+ set $@WzMOB, 7;
+ areaannounce "job_wiz.gat", 100, 82, 131, 113, "[Test Guide]: You now must defeat the door gaurds! Hurry!.",8;
+ monster "job_wiz.gat",116,97,"Flora",1118,1,"EarthRm::OnMyMobDead2";
+ monster "job_wiz.gat",114,95,"Mandragora",1020,1,"EarthRm::OnMyMobDead2";
+ monster "job_wiz.gat",118,95,"Mandragora",1020,1,"EarthRm::OnMyMobDead2";
+ monster "job_wiz.gat",114,99,"Mandragora",1020,1,"EarthRm::OnMyMobDead2";
+ monster "job_wiz.gat",118,99,"Mandragora",1020,1,"EarthRm::OnMyMobDead2";
+ monster "job_wiz.gat",116,94,"Mandragora",1020,1,"EarthRm::OnMyMobDead2";
+ monster "job_wiz.gat",116,100,"Mandragora",1020,1,"EarthRm::OnMyMobDead2";
+ setnpctimer 120000, "TimerWz";
+ startnpctimer "TimerWz";
+ end;
+
+OnMyMobDead2:
+ set $@WzMOB, $@WzMOB - 1;
+ if ($@WzMOB > 0) end;
+
+ stopnpctimer "TimerWz";
+ set $@WzMOB, 0;
+ areaannounce "job_wiz.gat", 100, 82, 131, 113, "[Test Guide]: Well done. You have completed the Room of Earth. Get ready for the Room of Fire.",8;
+ percentheal 100,100;
+ enablenpc "earthwrp";
+ enablenpc "earthwarpN";
+ enablenpc "earthwarpW";
+ enablenpc "earthwarpS";
+ initnpctimer "earthwrp";
+ end;
+}
+
+// Room of Fire ------------------------------------------------------------------------------------------------------------
+job_wiz.gat,1,1,1 script FireRm -1,{
+ set $@WzRm, 3;
+ set $@WzMOB, 7;
+ monster "job_wiz.gat",58,110,"Zerom",1178,1,"FireRm::OnMyMobDead1";
+ monster "job_wiz.gat",33,110,"Flail Goblin",1123,1,"FireRm::OnMyMobDead1";
+ monster "job_wiz.gat",40,103,"Scorpion",1001,1,"FireRm::OnMyMobDead1";
+ monster "job_wiz.gat",51,103,"Frilldora",1119,1,"FireRm::OnMyMobDead1";
+ monster "job_wiz.gat",40,92,"Peco Peco",1019,1,"FireRm::OnMyMobDead1";
+ monster "job_wiz.gat",51,92,"Elder Willow",1033,1,"FireRm::OnMyMobDead1";
+ monster "job_wiz.gat",37,89,"Metaller",1058,1,"FireRm::OnMyMobDead1";
+ initnpctimer "TimerWz";
+ end;
+
+OnMyMobDead1:
+ set $@WzMOB, $@WzMOB - 1;
+ if ($@WzMOB > 0) end;
+
+ stopnpctimer "TimerWz";
+ addtimer 2000, "FireRm::OnTimer2000";
+ set $@WzMOB, 0;
+ end;
+
+OnTimer2000:
+ set $@WzMOB, 3;
+ areaannounce "job_wiz.gat", 30, 82, 61, 113, "[Test Guide]: You now must defeat the door gaurds! Hurry!.",8;
+ monster "job_wiz.gat",44,99,"Greatest General",1277,1,"FireRm::OnMyMobDead2";
+ monster "job_wiz.gat",43,99,"Horong",1129,1,"FireRm::OnMyMobDead2";
+ monster "job_wiz.gat",45,99,"Horong",1129,1,"FireRm::OnMyMobDead2";
+ setnpctimer 120000, "TimerWz";
+ startnpctimer "TimerWz";
+ end;
+
+OnMyMobDead2:
+ set $@WzMOB, $@WzMOB - 1;
+ if ($@WzMOB > 0) end;
+
+ stopnpctimer "TimerWz";
+ set $@WzMOB, 0;
+ set WIZ_Q, 4;
+ set WIZ_Q2, 0;
+ areaannounce "job_wiz.gat", 30, 82, 61, 113, "[Test Guide]: Well done. You have completed the Room of Fire and the entire test.",0;
+ enablenpc "firewrp";
+ enablenpc "firewarpN";
+ enablenpc "firewarpW";
+ enablenpc "firewarpS";
+ initnpctimer "firewrp";
+ end;
+}
+
+
+// Timer -----------------------------------------------------------------------------------------------
+job_wiz.gat,1,1,1 script TimerWz -1,{
+
+OnTimer1000:
+ if($@WzRm==1) areaannounce "job_wiz.gat", 98, 154, 129, 185, "[Test Guide]: Room of Water, testing will begin.",8;
+ if($@WzRm==2) areaannounce "job_wiz.gat", 100, 82, 131, 113, "[Test Guide]: Room of Earth, testing will begin.",8;
+ if($@WzRm==3) areaannounce "job_wiz.gat", 30, 82, 61, 113, "[Test Guide]: Room of Fire, testing will begin.",8;
+ end;
+OnTimer4000:
+ set $@WzTime$, "You have 3 minutes to defeat all of the monsters in this room starting now!";
+ donpcevent "WzTG::OnStart"; //checks to see if anyone is still in the room, in case of logout or KO
+ callsub AnnounceWz;
+OnTimer34000:
+ donpcevent "WzTG::OnStart";
+ end;
+OnTimer64000:
+ set $@WzTime$, "You have 2 minutes left!";
+ donpcevent "WzTG::OnStart";
+ callsub AnnounceWz;
+OnTimer94000:
+ donpcevent "WzTG::OnStart";
+ end;
+OnTimer124000:
+ set $@WzTime$, "You have 1 minute left!";
+ donpcevent "WzTG::OnStart";
+ callsub AnnounceWz;
+OnTimer154000:
+ set $@WzTime$, "You have 30 seconds left!";
+ donpcevent "WzTG::OnStart";
+ callsub AnnounceWz;
+OnTimer174000:
+ set $@WzTime$, "You have 10 seconds left!";
+ callsub AnnounceWz;
+OnTimer184000:
+ set $@WzTime$, "Time is up. You have failed the test.";
+ callsub AnnounceWz;
+OnTimer188000:
+ stopnpctimer;
+ if($@WzRm==1) areawarp "job_wiz.gat", 98, 154, 129, 185, "gef_tower.gat",106, 35;
+ if($@WzRm==2) areawarp "job_wiz.gat", 100, 82, 131, 113, "gef_tower.gat",106, 35;
+ if($@WzRm==3) areawarp "job_wiz.gat", 30, 82, 61, 113, "gef_tower.gat",106, 35;
+ killmonsterall "job_wiz.gat";
+ donpcevent "WzTG::OnStart";
+ end;
+
+AnnounceWz:
+ if($@WzRm==1) areaannounce "job_wiz.gat", 98, 154, 129, 185, "[Test Guide]: "+$@WzTime$+".",8;
+ if($@WzRm==2) areaannounce "job_wiz.gat", 100, 82, 131, 113, "[Test Guide]: "+$@WzTime$+".",8;
+ if($@WzRm==3) areaannounce "job_wiz.gat", 30, 82, 61, 113, "[Test Guide]: "+$@WzTime$+".",8;
+ end;
+}
+
+
+// Warps ------------------------------------------------------------------------------------------
+
+// Water
+job_wiz.gat,129,169,1 script waterwarpE::waterwrp 45,1,1,{
+
+OnTimer30000:
+ stopnpctimer "waterwrp";
+ areawarp "job_wiz.gat", 98, 154, 129, 185, "job_wiz.gat",116,98;
+ donpcevent "EarthRm";
+ end;
+}
+job_wiz.gat,98,169,1 duplicate(waterwrp) waterwarpW 45,1,1
+job_wiz.gat,114,185,1 duplicate(waterwrp) waterwarpN 45,1,1
+job_wiz.gat,114,154,1 duplicate(waterwrp) waterwarpS 45,1,1
+
+
+// Earth
+job_wiz.gat,131,98,1 script earthwarpE::earthwrp 45,1,1,{
+
+OnTimer30000:
+ stopnpctimer "earthwrp";
+ areawarp "job_wiz.gat", 100, 82, 131, 113, "job_wiz.gat",47,98;
+ donpcevent "FireRm";
+ end;
+}
+job_wiz.gat,100,98,1 duplicate(earthwrp) earthwarpW 45,1,1
+job_wiz.gat,116,82,1 duplicate(earthwrp) earthwarpN 45,1,1
+job_wiz.gat,116,113,1 duplicate(earthwrp) earthwarpS 45,1,1
+
+
+// Fire
+job_wiz.gat,61,97,1 script firewarpE::firewrp 45,1,1,{
+
+OnTimer30000:
+ stopnpctimer "firewrp";
+ areawarp "job_wiz.gat", 30, 82, 61, 113, "gef_tower.gat",106,35;
+ donpcevent "WzTG::OnStart";
+ end;
+}
+job_wiz.gat,30,97,1 duplicate(firewrp) firewarpW 45,1,1
+job_wiz.gat,46,113,1 duplicate(firewrp) firewarpN 45,1,1
+job_wiz.gat,46,82,1 duplicate(firewrp) firewarpS 45,1,1
+
+
+//==============================================================================
+// mapflag
+//==============================================================================
+job_wiz.gat mapflag nomemo
+job_wiz.gat mapflag noteleport
+job_wiz.gat mapflag nosave SavePoint
+job_wiz.gat mapflag nopenalty
+job_wiz.gat mapflag nobranch
+job_wiz.gat mapflag noexp
+job_wiz.gat mapflag noloot
diff --git a/npc/jobs/2-1a/AssassinCross.txt b/npc/jobs/2-1a/AssassinCross.txt
new file mode 100644
index 000000000..d56b3df89
--- /dev/null
+++ b/npc/jobs/2-1a/AssassinCross.txt
@@ -0,0 +1,19 @@
+//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
+
+// -== Assassin Cross ==-
+valkyrie.gat,44,58,6 script Assassin Cross 725,{
+ callfunc "F_Rebirth",30,"Thief High",36,"Assassin Cross",149,150,151,152;
+}
diff --git a/npc/jobs/2-1a/HighPriest.txt b/npc/jobs/2-1a/HighPriest.txt
new file mode 100644
index 000000000..2331eaef6
--- /dev/null
+++ b/npc/jobs/2-1a/HighPriest.txt
@@ -0,0 +1,19 @@
+//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
+
+// -== High Priest ==-
+valkyrie.gat,44,42,6 script High Priest 60,{
+ callfunc "F_Rebirth",28,"Acolyte High",32,"High Priest",156,0,0,0;
+}
diff --git a/npc/jobs/2-1a/HighWizard.txt b/npc/jobs/2-1a/HighWizard.txt
new file mode 100644
index 000000000..44f8469ef
--- /dev/null
+++ b/npc/jobs/2-1a/HighWizard.txt
@@ -0,0 +1,19 @@
+//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
+
+// -== High Wizard ==-
+valkyrie.gat,44,47,6 script High Wizard 735,{
+ callfunc "F_Rebirth",26,"High Mage",33,"High Wizard",157,0,0,0;
+}
diff --git a/npc/jobs/2-1a/LordKnight.txt b/npc/jobs/2-1a/LordKnight.txt
new file mode 100644
index 000000000..96f2f5f56
--- /dev/null
+++ b/npc/jobs/2-1a/LordKnight.txt
@@ -0,0 +1,19 @@
+//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
+
+// -== Lord Knight ==-
+valkyrie.gat,44,39,6 script Lord Knight 56,{
+ callfunc "F_Rebirth",25,"Swordman High",31,"Lord Knight",144,145,146,0;
+}
diff --git a/npc/jobs/2-1a/Sniper.txt b/npc/jobs/2-1a/Sniper.txt
new file mode 100644
index 000000000..2a57e1562
--- /dev/null
+++ b/npc/jobs/2-1a/Sniper.txt
@@ -0,0 +1,19 @@
+//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
+
+// -== Sniper ==-
+valkyrie.gat,44,55,6 script Sniper 727,{
+ callfunc "F_Rebirth",27,"High Archer",35,"Sniper",147,148,0,0;
+}
diff --git a/npc/jobs/2-1a/WhiteSmith.txt b/npc/jobs/2-1a/WhiteSmith.txt
new file mode 100644
index 000000000..95549f892
--- /dev/null
+++ b/npc/jobs/2-1a/WhiteSmith.txt
@@ -0,0 +1,19 @@
+//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
+
+// -== White Smith ==-
+valkyrie.gat,44,51,6 script White Smith 726,{
+ callfunc "F_Rebirth",29,"Merchant High",34,"White Smith",153,154,155,0;
+}
diff --git a/npc/jobs/2-1e/StarGladiator.txt b/npc/jobs/2-1e/StarGladiator.txt
new file mode 100644
index 000000000..dd0d4559c
--- /dev/null
+++ b/npc/jobs/2-1e/StarGladiator.txt
@@ -0,0 +1,56 @@
+//===== eAthena Script =======================================
+//= Star Gladiator Job Quest
+//===== By: ==================================================
+//= Lupus
+//===== Current Version: =====================================
+//= 0.1a
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= 0.1 Now it's just a temp job quest NPC [Lupus]
+//= 0.1a Small fix in warp [Komurka]
+//============================================================
+
+
+job_star.gat,166,15,0 warp startopay 1,1,payon.gat,151,85
+
+job_star.gat,166,37,2 script Star Gladiator 764,{
+ mes "[Star Gladiator]";
+ if(Class==Job_Taekwon) goto L_Check;
+ if(Class==Job_Star_Gladiator){
+ mes "You've chosen the hardest way... But it's your faith...";
+ close;
+ }
+ mes "Are you a Taekwon? No?! Get lost.";
+ emotion 1;
+ close;
+
+L_Check:
+ mes "Hello!";
+ mes "Are you strong enough to protect your sisters and brothers? Do you want to be a Star Gladiator?";
+ next;
+ menu "I want to be a Star Gladiator",-,"Not yet.",M_NOTHING;
+
+ mes "[Star Gladiator]";
+ if(JobLevel<40 || SkillPoint) {
+ mes "I'm sorry, my friend. You need 40 Job Level and no skill points left.";
+ close;
+ }
+ if(Weight<MaxWeight) {
+ mes "You have strong feet... Bring me as much ores, gems and gold as you can... Much More Heavier Than Now!";
+ emotion e_sry;
+ close;
+ }
+
+ jobchange Job_Star_Gladiator;
+ callfunc "F_ClearJobVar";
+ mes "You did it! You are worth!";
+ close;
+
+M_NOTHING:
+ mes "[Star Gladiator]";
+ mes "I'll wait here forever. We need more protectors for our people.";
+ close;
+}
diff --git a/npc/jobs/2-2/alchemist.txt b/npc/jobs/2-2/alchemist.txt
new file mode 100644
index 000000000..8590c9df8
--- /dev/null
+++ b/npc/jobs/2-2/alchemist.txt
@@ -0,0 +1,1080 @@
+//===== eAthena Script =======================================
+//= Alchemist Job Quest
+//===== By: ==================================================
+//= nestor_zulueta (Fusion)
+//= converted by Darkchild
+//===== Current Version: =====================================
+//= 1.6a
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Alchemist job quest based off of official iRO quest.
+//===== Additional Comments: =================================
+//= v1.0 Working.
+//= npc/quests/counteragent_mixture.txt Also Needed
+//= npc/quests/quests_yuno.txt Also Needed [Darkchild]
+//= v1.1 Fixed some minor bugs. Optimized some lines. Re-organized the script a bit.
+//= Giving Parmry NPC, Hammer and Old Book now waves the 50000 fee. (based of mRO website)
+//= Having a joblvl of 50 allows you to skip Rasputin's test. (based of mRO website) [kobra_k88]
+//= 1.2 fixed a few typos (have to hunt more) [Lupus]
+//= 1.3 Added Baby Class Support [Lupus]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where
+//= to go. [Lupus]
+//= 1.6a fixed some wrong answers, thanks to zlider for info [Lupus]
+//============================================================
+
+
+//==================================================================================================//
+// Registration and First Test
+//==================================================================================================//
+alde_alche.gat,27,185,4 script Parmry Gianino 744,{
+ callfunc "F_BlockHigh",29,"Merchant High",42,"Creator","Parmry Gianino";
+
+ mes "[Parmry Gianino]";
+ if(BaseJob == 5) goto L_Merc;
+ if(BaseJob == Job_Alchem) goto L_Alch;
+L_Other:
+ mes "Welcome to the Alchemist Union. Ah, I apologize but I'm busy right now.";
+ close;
+L_Alch:
+ mes "Hey there fellow Alchemist. How's the business going? Good I hope, well good luck to you.";
+ close;
+L_Merc:
+ if(ALCH_Q == 1) goto L_Check;
+ if(ALCH_Q == 2) goto L_Test2;
+ if(ALCH_Q == 3) goto L_Test3;
+ if(ALCH_Q == 4) goto L_Test4;
+ if(ALCH_Q == 5) goto L_Test5;
+ if(ALCH_Q == 6) goto L_Test6;
+ if(ALCH_Q == 7) goto L_GoChange;
+ mes "Welcome to the Alchemist Union.";
+ mes "How may i help you?";
+ next;
+ menu "I would like to learn about Alchemey",M_Learn, "I want to become an Alchemist.",L_Start, "Nothing.",M_End;
+
+ M_Learn:
+ mes "[Parmry Gianino]";
+ mes "Alchemists study and create new materials using a variety of existing substances.";
+ mes "They research the atoms of chemicals, and experiment to change the properties of the chemicals.";
+ next;
+ mes "[Parmry Gianino]";
+ mes "Most people think the final goal is to create gold, but that's not the entire truth.";
+ mes "They make anything from simple medicines, to new materials.";
+ next;
+ mes "[Parmry Gianino]";
+ mes "At times, some research the creation of life .... but that's considered god's territory...";
+ mes "That field is so complex, everyone simply researhes for now.";
+ next;
+ mes "[Parmry Gianino]";
+ mes "If you are interested in becoming an Alchemist, I recommend that you gain a lot experience as a Merchant.";
+ mes "Being a merchant is a great opportunity to learn about materials while you deal with them.";
+ next;
+ mes "[Parmry Gianino]";
+ mes "Only you can decide for yourself.";
+ mes "The road to becoming an Alchemist is very challenging.";
+ mes "You will need to focus on experimenting and researching rather than trade.";
+ close;
+ M_End:
+ mes "[Parmry Gianino]";
+ mes "Umm... Please say something if you need anything.";
+ close;
+L_Start:
+ mes "[Parmry Gianino]";
+ if(JobLevel < 40) goto L_LowLvl;
+ mes "Is that so? My name is Parmry Gianino of the Alchemist Association.";
+ mes "Nice to meet you.";
+ next;
+ mes "[Parmry Gianino]";
+ mes "If you join our Union and pass some training you will be officially recognized,";
+ mes "as an Alchemist and be able to join our researches.";
+ next;
+ mes "[Parmry Gianino]";
+ mes "But we dont accept everyone.";
+ mes "You must have a lot of effort, tenacity, and be able to devote yourself to research.";
+ next;
+ mes "[Parmry Gianino]";
+ mes "There are a couple of requirements to join the association....";
+ mes "but we'll discuss that after you apply.";
+ next;
+ mes "[Parmry Gianino]";
+ mes "Then, would you like to apply to register?";
+ next;
+ menu "I would like to apply.",M_Apply,"I'll do it later.",-;
+
+ mes "[Parmry Gianino]";
+ mes "If you are a talented Merchant,";
+ mes "you are always welcome here.";
+ mes "Come again soon.";
+ close;
+ M_Apply:
+ mes "[Parmry Gianino]";
+ mes "Fill out this application form please.....";
+ next;
+ mes "(you fill out the form and hand it back)";
+ next;
+ mes "[Parmry Gianino]";
+ mes "Very good. In order to join the Alchemist Union you must first pay a ^5533FF50,000^000000 zeny membership fee.";
+ mes "You will also need to bring us a few items as well.";
+ next;
+ mes "[Parmry Gianino]";
+ mes "Of course if you bring us an ^5533FFOld Magic Book^000000 and an ^5533FFHammer of Blacksmith^000000...";
+ mes "You won't have to pay the fee.";
+ next;
+ mes "[Parmry Gianino]";
+ mes "Let's see.... you'll need to bring us....^5533FF100 Mini Furnaces^000000.";
+ mes "Once you have the Mini Furnaces come back and see me.";
+ next;
+ mes "[Parmry Gianino]";
+ mes "When you come back I will also collect the ^5533FF50,000^000000 zeny fee so don't forget about that either.";
+ mes "See you soon...";
+ set ALCH_Q,1;
+ close;
+L_LowLvl:
+ mes "You must be at least Job Level 40 to become a Alchemist.";
+ close;
+
+L_Check:
+ mes "Oh, your back already... lets see....";
+ next;
+ mes "[Parmry Gianino]";
+ if(countitem(612) < 100) goto L_NoItems;
+ if(countitem(1005) > 0 && countitem(1006) > 0) goto L_Skip;
+ if(zeny < 50000) goto L_NoZeny;
+ set zeny,zeny - 50000;
+ delitem 612, 100;
+ mes "You have 50,000 zeny...... You brought 100 mini furnaces.... Great!";
+ mes "Now you are ready to learn the basics of being an Alchemist.";
+ next;
+
+ L_Cont:
+ mes "[Parmry Gianino]";
+ mes "But before that... ^5533FFRasputin^000000 wants to see you.....";
+ mes "Hmm..... I'm not sure what it could be about....";
+ next;
+ mes "[Parmry Gianino]";
+ mes "You should go visit him now. Just go down those stairs to my right. His room is in the SouthEastern corner.";
+ set ALCH_Q,2;
+ close;
+
+ L_NoZeny:
+ mes "You still need to pay the ^FF553350,000^000000 zeny membership fee.";
+ mes "Let me know when you have enough money.";
+ close;
+ L_NoItems:
+ mes "As I mentioned before, you must bring ^FF3355100 Mini Furnaces^000000 to join the union.";
+ mes "Please come back when you are ready...";
+ close;
+L_Skip:
+ mes "Oh, you have an ^5533FFOld Magic Book^000000 and an ^5533FFHammer of Blacksmith^000000........";
+ mes "That means you don't have to pay the membership fee.";
+ next;
+ mes "[Parmry Gianino]";
+ mes "Excellent. Now I'll just take the Book, Hammer, 100 mini furnaces, and you'll be all set to learn the basics of being an Alchemist.";
+ next;
+ delitem 1005,1;
+ delitem 1006,1;
+ delitem 612, 100;
+ goto L_Cont;
+
+L_Test2:
+ mes "Go visit ^5533FFRasputin^000000 now!";
+ close;
+L_Test3:
+ mes "Go visit ^5533FFDarwin^000000 now!";
+ close;
+L_Test4:
+ mes "Go visit ^5533FFVan Helmont^000000 now!";
+ close;
+L_Test5:
+ mes "Go visit ^5533FFNicholas Flamel^000000 now!";
+ close;
+L_Test6:
+ mes "Go back to ^5533FFNicholas Flamel^000000 now!";
+ mes "He still has one more test for you.";
+ close;
+L_GoChange:
+ mes "Wow you finished all of the tests? Great now you can visit the Headmaster, ^5533FFVincent Carsciallo^000000.";
+ mes "He's the one who will change you into an Alchemist.";
+ close;
+}
+
+
+//==================================================================================================//
+// 2nd Test: Math test :(
+//==================================================================================================//
+alde_alche.gat,175,107,4 script Rasputin Gregory 749,{
+ mes "[Rasputin Gregory]";
+ if(BaseJob == 5) goto L_Merc;
+L_Other:
+ mes "What is it, kikikiki. Are you curious about what I do...?";
+ mes "I'll just especially let you know. You see I... Kekeke..";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "Am researching! Once this potion is complete... you will be able to take over an entire country!!";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "Kikikikikekekekek. It's a secret to the people of Prontera.....";
+ close;
+L_Merc:
+ if(ALCH_Q == 2) goto L_Start;
+ if(ALCH_Q == 3) goto L_Done;
+ mes "Kikikikikekekekeke.";
+ mes "What is it! You punk.";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "A Merchant should go and set up a shop...";
+ mes "Why'd you come to a place like this!?";
+ mes "Are you looking for something to scab off?";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "Kikiki... Go, leave this place.";
+ mes "Dont loiter ... Kekeke.";
+ close;
+L_Start:
+ if(ALCH_Q2 == 1) goto L_ReTest;
+ if(JobLevel == 50) goto L_Skip;
+ mes "Keke, another dumb one has stumbled into here.";
+ mes "Join the Union?";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "I don't like it... I just don't...!";
+ mes "Everywhere, all joining and being called Alchemist just for knowing how to mix herbs!!!";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "Kikiki, so for that reason an interview is necessary!";
+ mes "I plan on scolding all the incompetent ones and chasing them away!!";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "You look dumb founded. It must be pretty crazy.";
+ mes "If you were thinking of just changing clothes you thought wrong... Kekeke..";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "Now try solving the problems I give you.";
+ mes "We'll see how smart you are.";
+ next;
+ set @score,0;
+
+ //set of question 1
+ q1:
+ mes "[Rasputin Gregory]";
+ mes "12+23+34+45 =?";
+ next;
+ input @num;
+ if(@num == 114) set @score,@score+10;
+ q2:
+ mes "[Rasputin Gregory]";
+ mes "1000-36-227-348 =?";
+ next;
+ input @num;
+ if(@num == 389) set @score,@score+10;
+ q3:
+ mes "[Rasputin Gregory]";
+ mes "9765/3/5/7 =?";
+ next;
+ input @num;
+ if(@num == 93) set @score,@score+10;
+ q4:
+ mes "[Rasputin Gregory]";
+ mes "(2646/7) + (13*28) =?";
+ next;
+ input @num;
+ if(@num == 742) set @score,@score+10;
+ q5:
+ mes "[Rasputin Gregory]";
+ mes "With a 24% discount";
+ mes "How much are 12 Red Potions,";
+ mes "5 Fly Wings, and ";
+ mes "1 Butterfly Wing altogether?";
+ next;
+ input @num;
+ if(@num == 909) set @score,@score+10;
+ q6:
+ mes "[Rasputin Gregory]";
+ mes "What is the total weight of 3 ";
+ mes "Scimiters,";
+ mes "2 Helms and 1 Coat";
+ next;
+ input @num;
+ if(@num == 450) set @score,@score+10;
+ q7:
+ mes "[Rasputin Gregory]";
+ mes "What is the total defense of ";
+ mes "a Biretta, Mantle, Opera Mask,";
+ mes "Ribbon, ";
+ mes "Muffler, Boots, and Ear Muffs?";
+ next;
+ input @num;
+ if(@num == 19) set @score,@score+10;
+ q8:
+ mes "[Rasputin Gregory]";
+ mes "If you buy 5 Helms with a 24%";
+ mes "discount ";
+ mes "and sell it at 20%, how much do you";
+ mes "earn?";
+ next;
+ input @num;
+ if(@num == 1760) set @score,@score+10;
+ goto L_Total;
+
+L_ReTest:
+ mes "What, you want to take the test again?";
+ mes "I thought I told you to leave.";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "Well, I'll let you go this one time...";
+ mes "I forgive you ... Kekeke.";
+ mes "Do well this time...";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "Now then, answer the question I ask.";
+ mes "Let see how smart you are.";
+ next;
+ set @score,0;
+
+ //set of question 2
+ q11:
+ mes "[Rasputin Gregory]";
+ mes "13+25+37+48=?";
+ next;
+ input @num;
+ if(@num == 123) set @score,@score+10;
+ q12:
+ mes "[Rasputin Gregory]";
+ mes "1000-58-214-416 =?";
+ next;
+ input @num;
+ if(@num == 312) set @score,@score+10;
+ q13:
+ mes "[Rasputin Gregory]";
+ mes "12*24*3=?";
+ next;
+ input @num;
+ if(@num == 864) set @score,@score+10;
+ q14:
+ mes "[Rasputin Gregory]";
+ mes "10530/3/5/2=?";
+ next;
+ input @num;
+ if(@num == 351) set @score,@score+10;
+ q15:
+ mes "[Rasputin Gregory]";
+ mes "(35*19) - (1792/7) =?";
+ next;
+ input @num;
+ if(@num == 409) set @score,@score+10;
+ q16:
+ mes "[Rasputin Gregory]";
+ mes "(2368/8) + (24*17) = ?";
+ next;
+ input @num;
+ if(@num == 704) set @score,@score+10;
+ q17:
+ mes "[Rasputin Gregory]";
+ mes "(2646/7) + (13*28)=?";
+ next;
+ input @num;
+ if(@num == 742) set @score,@score+10;
+ q18:
+ mes "[Rasputin Gregory]";
+ mes "If buying at a 24% discount,";
+ mes "What is the total price of";
+ mes "15 Green Potions,";
+ mes "6 Magnifiers and 4 Traps?";
+ next;
+ input @num;
+ if(@num == 934) set @score,@score+10;
+ q19:
+ mes "[Rasputin Gregory]";
+ mes "What is the total weight of ";
+ mes "3 Ring Pommel Sabers,";
+ mes "4 Caps and 2 Boots?";
+ next;
+ input @num;
+ if(@num == 550) set @score,@score+10;
+ q20:
+ mes "[Rasputin Gregory]";
+ mes "What is the total defense of a ";
+ mes "Buckler, Coat, Gas Mask, Big";
+ mes "Ribbon, Ribbon, Sakkat and";
+ mes "Glasses?";
+ next;
+ input @num;
+ if(@num == 16) set @score,@score+10;
+ q21:
+ mes "[Rasputin Gregory]";
+ mes "How much zeny do you make";
+ mes "if you buy Tights at a 24%";
+ mes "discount";
+ mes "and sell it at 20% of the normal";
+ mes "price?";
+ next;
+ input @num;
+ if(@num == 2840) set @score,@score+10;
+L_Total:
+ mes "[Rasputin Gregory]";
+ if(@score < 80) goto L_Failed;
+ set ALCH_Q,3;
+ set ALCH_Q2, 0;
+ mes "Kikiki... I'll let you go.";
+ mes "Do some good research and be of some help to Rasputin... Kikiki!";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "Well then go! ^5533FFGo to Darwin^000000.";
+ mes "He'll teach you how to do the experiments.";
+ mes "Tell him I sent you.";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "Kikikikekeke.";
+ mes "Dont think this is the end of it!";
+ close;
+
+ L_Failed:
+ set ALCH_Q2,1;
+ mes "...Kekeke, you idiot,";
+ mes "I feel dumb asking you all the question!";
+ mes "you got them all wrong!!!";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "How can a person that can't even answer these question think of being an Alchemist!";
+ mes "What? did you get any right?";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "Stupid! If you get one wrong everything is wrong for an Alchemist!";
+ mes "Go! Leave! Get out of here!";
+ close;
+L_Done:
+ mes "What are you doing? Leave already.";
+ mes "Go to ^5533FFDarwin^000000.";
+ mes "He'll teach you how to do the experiments.";
+ mes "Tell him I sent you.";
+ next;
+ mes "[Rasputin Gregory]";
+ mes "Kikikikekeke.";
+ mes "Dont think this is the end of it!";
+ close;
+L_Skip:
+ mes "Hmm... you have a pretty high job level..... I'll be nice today and let you pass.";
+ mes "Next you should go see ^5533FFDarwin^000000.";
+ mes "He'll teach you how to do the experiments.";
+ mes "Tell him I sent you.";
+ set ALCH_Q,3;
+ set ALCH_Q2, 0;
+ close;
+}
+
+
+//==================================================================================================//
+// 3rd Test: Mix some medicine
+//==================================================================================================//
+alde_alche.gat,13,15,8 script Darwin 750,{
+ mes "[Darwin]";
+ if(BaseJob == 5) goto L_Merc;
+L_Other:
+ mes "more to lose or gain...";
+ mes "It's always like that...";
+ next;
+ mes "[Darwin]";
+ mes "All I can see through my cursed eyes";
+ mes "are illusions from the past,";
+ mes "Ahahahaha...";
+ next;
+ mes "[Darwin]";
+ mes "There's no such thing as paradise ... is there ?";
+ mes "My love Harmona.... Aah....";
+ close;
+
+L_Merc:
+ if(ALCH_Q == 3) goto L_Start;
+ if(ALCH_Q == 4) goto L_Done;
+ goto L_Other;
+
+L_Start:
+ if(ALCH_Q2 == 1) goto L_Check;
+ mes "...........";
+ mes ".........";
+ mes "....Who is it...";
+ next;
+ mes "[Darwin]";
+ mes "A wolf? Or a human...";
+ mes "You must be looking for something as well.";
+ next;
+ mes "[Darwin]";
+ mes "If you have something precious, be careful.";
+ mes "You may lose something else while while going after another...";
+ next;
+ mes "[Darwin]";
+ mes "..........";
+ next;
+ mes "[Darwin]";
+ mes "... but what brings you here.";
+ mes "Coming to a place like this.";
+ next;
+ menu "I want to learn how to experiment.",M_Exp, "Tell me more about flowers.",M_Flow;
+
+ M_Flow:
+ mes "[Darwin]";
+ mes ".......";
+ mes "......";
+ mes "...think about your precious things...";
+ next;
+ mes "[Darwin]";
+ mes ".... There is a flower that I faintly remember....";
+ next;
+ mes "[Darwin]";
+ mes "I divulged into researching one thing.....";
+ mes "for the one I love...";
+ next;
+ mes "[Darwin]";
+ mes "Lets just say that it was about the relationship between wolf and flowers...";
+ mes "I wont tell you the details.";
+ next;
+ mes "[Darwin]";
+ mes "But yes ... it was a flower.";
+ mes "with its shine, it was said to let you see paradise Illusion Flower...";
+ next;
+ mes "[Darwin]";
+ mes "I made a homunculus.";
+ mes "Nobody believe me. that I made life from a flower!!!";
+ mes "My research!";
+ next;
+ mes "[Darwin]";
+ mes "But now, I have nothing left..";
+ mes "It's all over.";
+ mes "Time has stopped at that moment in my life...";
+ next;
+ mes "[Darwin]";
+ mes "Aag... Harmona, in the beautiful fields of flowers,";
+ mes "where have you gone....";
+ close;
+ M_Exp:
+ mes "[Darwin]";
+ mes "You want to learn Alchemy...";
+ mes "All the knowledge I possess..";
+ mes "I made to make my dreams come true...";
+ next;
+ mes "[Darwin]";
+ mes "I'll teach you the basics...";
+ mes "but you must determine your own wishes.";
+ next;
+ mes "[Darwin]";
+ mes "So, here are the basics.";
+ mes "This is how you make simple medicine...";
+ mes "Prepare some stuff...";
+ next;
+ mes "[Darwin]";
+ mes "^5533FF3 Medicine Bowls";
+ mes "3 Empty Bottles";
+ mes "1 Red Herb";
+ mes "1 Yellow Herb";
+ mes "1 White Herb^000000";
+ next;
+ mes "[Darwin]";
+ mes "Once you have prepared all the items... come here.";
+ set ALCH_Q2, 1;
+ close;
+
+L_Check:
+ mes "...........";
+ mes ".........";
+ mes "...Who is it....";
+ next;
+ mes "[Darwin]";
+ mes "Ah You're the one that wants to learn Alchemy...";
+ mes "So did you prepare everything?";
+ next;
+ if(countitem(7134) < 3 || countitem(713) < 3 || countitem(507) < 1 || countitem(508) < 1 || countitem(509) < 1) goto L_NotEnuf;
+ delitem 7134,3;
+ delitem 713,3;
+ delitem 507,1;
+ delitem 508,1;
+ delitem 509,1;
+ mes "[Darwin]";
+ mes "Seems like you have everything ready.";
+ mes "As i promised, I'll teach you how to make medicine";
+ next;
+ mes "[Darwin]";
+ mes "First, prepare the Medicine Bowl then put the Herbs inside like this.";
+ mes "And you slowly crush them.";
+ next;
+ mes "[Darwin]";
+ mes "Pour small amounts of clean water and stirr until it become thick, ";
+ mes "then add some more Herbs.";
+ next;
+ mes "[Darwin]";
+ mes "That's how you make it if you think you have enough, ";
+ mes "gently pour it into an empty bottle";
+ next;
+ mes "[Darwin]";
+ mes "There you go, its complete.";
+ mes "This time, do as I showed you.";
+ mes "It should be easy since its so simple.";
+ next;
+ mes "[Darwin]";
+ mes "... even though you don't have one?";
+ next;
+ set @score,0;
+ menu "Prepare the medicine bowl",-, "Wear the medicine bowl on the head",M_0, "Kick the medicine bowl",M_0;
+
+ set @score,@score+10;
+ M_0:
+
+ menu "Put the sand into the medicine bowl",M_1, "Put the herbs into the medicine bowl",-, "Put the harp into the medicine bowl",M_1;
+
+ set @score,@score+10;
+ M_1:
+
+ menu "Smash the herbs",-, "Smash the medicine bowl",M_2, "Smash the Tarosia's foots",M_2;
+
+ set @score,@score+10;
+ M_2:
+
+ menu "Spray the water",M_3, "Drink the water",M_3, "Pour in the water",-;
+
+ set @score,@score+10;
+ M_3:
+
+ menu "Continue to smash the herbs",-, "Continues to eat the herbs",M_4, "Continues to dance and sing",M_4;
+
+ set @score,@score+10;
+ M_4:
+
+ menu "Put in the noodles and fried it",M_5, "Put into the Empty Bottle",-, "Raise the medicine bowl and drink it",M_5;
+
+ set @score,@score+10;
+ M_5:
+
+ mes "[Darwin]";
+ if(@score < 60) goto L_Failed;
+ mes "... Good job. It came out prettywell considering it's your first time...";
+ mes "As a souvenier, take these.";
+ getitem 501,1;
+ getitem 503,1;
+ getitem 504,1;
+ set ALCH_Q,4;
+ set ALCH_Q2,0;
+ next;
+ mes "[Darwin]";
+L_Done:
+ mes "Go to ^5533FFVan Helmont^000000 in the next room...";
+ mes "He'll teach you more details.";
+ mes "Go learn from him.";
+ next;
+ mes "[Darwin]";
+ mes "Don't forget...";
+ mes "You must protect what is trully precious to you.....";
+ close;
+
+ L_Failed:
+ mes "... You messed up all the ingredients.";
+ mes "... Go bring some more.";
+ close;
+L_NotEnuf:
+ mes "[Darwin]";
+ mes "...You must've forgotten the materials to bring.";
+ mes "I'll tell you again.";
+ mes "Dont forget them this time.";
+ next;
+ mes "[Darwin]";
+ mes "^5533FF3 Medicine Bowls";
+ mes "3 Empty Bottles";
+ mes "1 Red Herb";
+ mes "1 Yellow Herb";
+ mes "1 White Herb^000000";
+ next;
+ mes "[Darwin]";
+ mes "Come back when you are ready...";
+ close;
+}
+
+
+//==================================================================================================//
+// 4th Test: Learn from Morgenstein
+//==================================================================================================//
+alde_alche.gat,79,19,4 script Van Helmont 748,{
+ mes "[Van Helmont]";
+ if(BaseJob == 5) goto L_Merc;
+L_Other:
+ mes "Just a little ... yes, a little bit more ....";
+ mes "agh, just a little bit more and it would've been done!";
+ next;
+ mes "[Van Helmont]";
+ mes "Why, why another failure!!!";
+ mes "Nothing was wrong!";
+ mes "Why! Why!";
+ next;
+ mes "[Van Helmont]";
+ mes "Does that mean I have to get more materials...";
+ mes "But I should be able to complete it one day....Heeh...";
+ close;
+L_Merc:
+ if(ALCH_Q == 4) goto L_Start;
+ if(ALCH_Q == 5) goto L_Done;
+ goto L_Other;
+L_Start:
+ if(ALCH_Q2 == 1) goto L_Check;
+ mes "Arrrrgh... Why does this formula just stop... What's wrong.";
+ mes "Theoretically it's all correct...";
+ mes "I'm sure it's because there is an error in the formula";
+ mes "somewhere...";
+ next;
+ mes "[Van Helmont]";
+ mes "That's it, I pour it here and it should stop... but this is the formula that solution doesn't stop flowing.";
+ mes " How could I make such a stupid mistake... when did I switch these...";
+ next;
+ mes "[Van Helmont]";
+ mes "Yes, that's it. I just need to fix this part.";
+ mes "No need to start over.";
+ mes "I just have to fix it...";
+ mes "....But, wait. wait.";
+ next;
+ mes "[Van Helmont]";
+ mes ".....................";
+ next;
+ mes "[Van Helmont]";
+ mes "....Who are you?";
+ next;
+ menu "I want to become an Alchemist.",-,".....",M_Bye;
+
+ mes "[Van Helmont]";
+ mes "Oh, I see....";
+ mes "Haha you want to learn Alchemy in world like this, what a funny merchant... hmmm.";
+ next;
+ mes "[Van Helmont]";
+ mes "Well, that's nice, but I have a very urgent experiment I must tend to.";
+ mes "So don't get in the way.";
+ next;
+ menu "Teach me something.",-,"..........",M_Bye;
+
+ mes "[Van Helmont]";
+ mes "Argh... didn't I just tell you not to bother me?";
+ mes "Why can't you understand when I say something!";
+ next;
+ mes "[Van Helmont]";
+ mes "Ok, I'll give you an assignment.";
+ mes "Go study and come back. Let's see.";
+ mes "What would be good... Hmm...";
+ next;
+ mes "[Van Helmont]";
+ mes "Oh, I got it. Go learn from ^5533FFMorgenstein^000000. Learn how to make a ^009500Counteragent^000000 and ^FF3355Mixture^000000.";
+ mes "You can find him in ^5533FFGeffen^000000.";
+ next;
+ mes "[Van Helmont]";
+ mes "You don't need to bring what you made. But just go watch how he makes medicine and stuff.";
+ mes "Got it?";
+ next;
+ mes "[Van Helmont]";
+ mes "Well then, see you later.";
+ mes "You'd be best off going as soon as you can.";
+ set ALCH_Q2,1;
+ close;
+ M_Bye:
+ mes "[Van Helmont]";
+ mes "If you dont have business here just go away. Ok!!!";
+ close;
+L_Check:
+ if(al_morgen != 1) goto L_NotRdy;
+ mes "Yes, cut the Tentacle..";
+ mes "and mix some Sticku Mucus,";
+ mes "Jellopy solution in the test tube Darn, where did the Medicine Bowl go...";
+ next;
+ mes "[Van Helmont]";
+ mes "Did I use them all.. At a time like this, grrr. I wonder if Nicholas has any left.";
+ mes "Ganfunnit... what a pain.";
+ mes "....but, wait. wait.";
+ next;
+ mes "[Van Helmont]";
+ mes "Ah, you're that merchant from before. So.. did you learn anything?";
+ mes "I didn't send you there to play.";
+ next;
+ mes "[Van Helmont]";
+ mes "Let me ask you a couple of questions. Answer how you heard and learned.";
+ next;
+ set @score,0;
+
+ Q_1a:
+ mes "[Van Helmont]";
+ mes "What item is required to form the Counteragent?";
+ next;
+ menu "Feather",-,"Sticky Mucus",-,"Animal Blood",-;
+
+ Q_1b:
+ mes "[Van Helmont]";
+ mes "Which of the following item is not required in forming the Counteragent?";
+ next;
+ menu "Karvodailnirol",-,"Detrimindexta",Q_2a,"Alchol",Q_2a;
+
+ set @score,@score+10;
+
+ Q_2a:
+ mes "[Van Helmont]";
+ mes "What item is required to form the Mixture?";
+ next;
+ menu "Monster's Feed",-,"Lip of Ancient Fish",-,"Rotten Bandage",-;
+
+ Q_2b:
+ mes "[Van Helmont]";
+ mes "Which of the following item is not required in the process of forming the Mixture?";
+ next;
+ menu "Karvodailnirol",L_Result,"Detrimindexta",-,"Alchol",L_Result;
+
+ set @score,@score+10;
+
+L_Result:
+ mes "[Van Helmont]";
+ if(@score < 20) goto L_Failed;
+ mes "Hmm, you learned well. Ok, now you know some stuff about medicine?";
+ mes "Eh?";
+ mes "I know, you must have a lot to say but let me continue with my experiment.";
+ next;
+ mes "[Van Helmont]";
+ mes "Go out and to the room next to here. ^5533FFNicholas^000000 probably has more to teach you than me.";
+ set ALCH_Q,5;
+ set ALCH_Q2,0;
+ set al_morgen, 0;
+ close;
+
+ L_Failed:
+ mes "...Be honest. You don't know,";
+ mes "do you? I thought I told you to go learn from Morgenstein...";
+ next;
+ mes "[Van Helmont]";
+ mes "Don't even think about coming back before you've learned for sure!";
+ mes "Stop bothering me and leave!";
+ close;
+L_NotRdy:
+ mes "Didn't I tell you to visit Morgenstein in Geffen!?!";
+ mes "He is a wise man! You should go to him!";
+ close;
+L_Done:
+ mes "What are you doing? Go out and to the room next to here. ^5533FFNicholas^000000 probably has more to teach you than me.";
+ mes "I have no more business with you.";
+ close;
+
+}
+
+
+//==================================================================================================//
+// Test 5 & 6: Word Scramble, Help the Baijin Bros.
+//==================================================================================================//
+alde_alche.gat,145,19,4 script Nicholas Flamel 57,{
+ mes "[Nicholas Flamel]";
+ if(BaseJob == 5) goto L_Merc;
+L_Other:
+ mes "Lorem ipsum dolor sit amet,";
+ mes "consectetuer adipiscing elit.";
+ mes "Vivamus sem. Sed metus lacus, viverra id, rutrum eget, rhoncus sit amet, lectus.";
+ mes "Suspendisse sit amet urna in nisl frigilla faucibus.";
+ mes "Nulla scelerisque eros....";
+ mes "......mumblemumble........";
+ close;
+L_Merc:
+ if(ALCH_Q == 5) goto L_Start;
+ if(ALCH_Q == 6) goto L_Start2;
+ if(ALCH_Q == 7) goto L_Done;
+ goto L_Other;
+L_Start:
+ if(ALCH_Q2 == 1) goto L_ReTest;
+ mes "Ooh... you're the Merchant that wants to become an Alchemist?";
+ mes "But you know... not anyone can become an Alchemist.";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "The Union doesn't like those that just want to become Alchemist without a clear goal.";
+ mes "So... to see if you qualify, I'll test how smart you are.";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "As you can see, Alchemist must memorize many equations,";
+ mes "chemical equations and a lot of other information.";
+ mes "If you're not at a certain level..";
+ mes "it's actually pretty tough.";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "The idea is to prevent those that are going to be useless Alchemists from joining the union!";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "Ok... Here go the questions!";
+ mes "This is to test your concentration so that you won't get confused when looking at charts.";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "Find the words from the group of letters. They can be made by using some or all the letters given";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "You pass if you choose the word that is 'IN' the puzzle.";
+ next;
+
+ Q_1:
+ set @score,0;
+ mes "[Nicholas Flamel]";
+ mes "s m i e x b w u n e n t a g l r";
+ next;
+ menu "tiger",-,"wolf",Q_2,"pumpkin",Q_2,"tripped",Q_2;
+
+ set @score,@score+10;
+
+ Q_2:
+ mes "[Nicholas Flamel]";
+ mes "n i e g b o p d s o a u w r v";
+ next;
+ menu "bash",Q_3,"provoke",Q_3,"endure",-,"stun",Q_3,"abracadabra",Q_3;
+
+ set @score,@score+10;
+
+ Q_3:
+ mes "[Nicholas Flamel]";
+ mes "l r m g r e x t a v i n e d e";
+ next;
+ menu "alberta",Q_4,"latifoliate",Q_4,"crimson",Q_4,"maple",Q_4,"evergreen",-;
+
+ set @score,@score+10;
+
+ Q_4:
+ mes "[Nicholas Flamel] ";
+ mes "r o e h n r o m c a i n p t t";
+ next;
+ menu "forgemerchant",L_Score,"potionmerchant",-,"dcmerchant",L_Score,"vendingmerchant",L_Score;
+
+ set @score,@score+10;
+L_Score:
+ if(@score < 40) goto L_Failed;
+ set ALCH_Q,6;
+ set ALCH_Q2,0;
+ mes "[Nicholas Flamel]";
+ mes "You seem to be done.";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "Let's see.";
+ mes "...Good job. Excellent.";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "Somehow you found all of them.";
+ mes "With that kind of concentration, you should easily be able to read the medicine dictionaries.";
+ mes "Let's see... next is..";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "Come back in a little bit. Get organized too..";
+ close;
+
+ L_Failed:
+ mes "[Nicholas Flamel]";
+ mes "Hmmm... You failed!";
+ mes "Get your glasses maybe you can pass next time wearing those.";
+ set ALCH_Q2,1;
+ close;
+L_ReTest:
+ mes "Hmmm you returned.";
+ mes "Well will see if you changed.";
+ next;
+ goto Q_1;
+
+L_Start2:
+ if(ALCH_Q2 > 0) goto L_Check2;
+ mes "Next, you have to go somewhere.";
+ mes "Go to ^5533FF'The Forgotten City of Yuno'^000000 and meet the ^FF3355Bain and Bajin^000000 brothers who are researching alchemy with the Sages there.";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "Go help out and come back Here, take these... it will help you get close to them.";
+ next;
+ getitem 974,1;
+ getitem 7068,5;
+ getitem 7043,5;
+ getitem 756,3;
+ getitem 757,3;
+ mes "[Nicholas Flamel]";
+ mes "1 Mixture";
+ mes "5 Burnt Tree";
+ mes "5 Fine Sand ";
+ mes "3 Rough Oridecon ";
+ mes "3 Rough Elunium";
+ set ALCH_Q2,1;
+ next;
+ mes "[Nicholas Flamel]";
+ mes "Have a safe trip.";
+ mes "It's Yuno. Come back in one piece.";
+ close;
+L_Check2:
+ if(ALCH_Q2 < 2) goto L_NotDone;
+ set ALCH_Q, 7;
+ set ALCH_Q2, 0;
+ mes "Ooh! Well done on such a long trip.";
+ mes "I got a message saying that the Bain and Bajin brothers were happy about your visit.";
+ next;
+ mes "[Nicholas Flamel]";
+ mes "You must have successfully helped them.";
+ mes "If you're good enough to be of help to the brothers... ok, I think you qualify.";
+ next;
+ mes "[Nicholas Flamel]";
+L_Done:
+ mes "Go to the Union Leader on the 2nd floor!";
+ mes "Congratulations. You'll change jobs soon!";
+ close;
+
+ L_NotDone:
+ mes "Bain and Bajin brothers are in Yuno go help them.";
+ close;
+
+}
+
+
+//==================================================================================================//
+// Job Changer
+//==================================================================================================//
+alde_alche.gat,101,184,4 script Vincent Carsciallo 122,{
+ mes "[Vincent Carsciallo]";
+ if(BaseJob == 5) goto L_Merc;
+ if(BaseJob == Job_Alchem) goto L_Alch;
+L_Other:
+ mes "Hmmm? What may a civilian have to do here?";
+ next;
+ mes "[Vincent Carsciallo]";
+ mes "There's nothing amusing. Dont wander and leave.";
+ close;
+L_Alch:
+ mes "How Alchemy going? Make sure to be carefull and think about safety at all times.";
+ mes "I wouldn't want you blowing yourself up or anything.....";
+ close;
+L_Merc:
+ if(ALCH_Q == 7) goto L_Change;
+ mes "Hmmm? A merchant.";
+ mes "Are you interested in Alchemy?";
+ next;
+ mes "[Vincent Carsciallo]";
+ mes "This is the Alchemist Union.";
+ mes "We research many different substances.";
+ mes "Our goal is to make something new without the power of magic.";
+ next;
+ mes "[Vincent Carsciallo]";
+ mes "Create new life, and study how to live long and not die ...";
+ mes "We also make new materials out of existing ones...";
+ mes "These are just some of the things we do.";
+ next;
+ mes "[Vincent Carsciallo]";
+ mes "After being a Merchant for a long time ";
+ mes "you start to become interested in everything.";
+ mes "If you would like to learn Alchemy as well,";
+ mes "try joining our Union.";
+ close;
+L_Change:
+ if(skillpoint != 0) goto L_Skpoint;
+ mes "Ooh, Ok. You joined and learned the basics, too. Well done.";
+ next;
+ callfunc "Job_Change",Job_Alchem;
+ emotion 46;
+ mes "[Vincent Carsciallo]";
+ mes "From now on, you are also a member of the Union as an Alchemist.";
+ mes "I hope you learn a lot...";
+ next;
+ getitem 7127,1;
+ mes "[Vincent Carsciallo]";
+ mes "Here's a little something. ";
+ mes "Use it to start off with some research.";
+ next;
+ mes "[Vincent Carsciallo]";
+ mes "I'll see you later then...";
+ mes "Be proud of being an Alchemist!";
+ callfunc "F_ClearJobVar";
+ close;
+
+ L_Skpoint:
+ mes "Please use all your skill point before talking to me.";
+ close;
+}
diff --git a/npc/jobs/2-2/bard.txt b/npc/jobs/2-2/bard.txt
new file mode 100644
index 000000000..62e7936e3
--- /dev/null
+++ b/npc/jobs/2-2/bard.txt
@@ -0,0 +1,476 @@
+//===== eAthena Script =======================================
+//= Bard Job Quest
+//===== By: ==================================================
+//= Muad_Dib(The Prometheus Project), Lupus
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena Final
+//===== Description: =========================================
+//= Bard job quest based off a Prometheus Project script
+//= and other sources for clarity
+//===== Additional Comments: =================================
+// 07/06/05 : Added 1st Version. [Muad_Dib]
+// Converted to eAthena format by Dr.Evil
+// Info about gifts and other info --> http://www.ragnainfo.net/forums/viewtopic.php?t=51467&start=0
+// 1.1 Optimized, changed some stuff, fixed some bugs [Lupus]
+// 1.1a minor song test fix [Lupus]
+// 1.2 Fixed wrong item ID, added missing commands [Lupus]
+// 1.3 Updated flower sub-quest according to official [Lupus]
+// 1.4 Changed priority for the gifts. Now you can win the 1st
+// prize, too. Added Izidor flower [Lupus]
+//============================================================
+
+
+comodo.gat,226,123,5 script Wandering Bard 741,{
+ callfunc "F_BlockHigh",27,"High Archer",43,"Clown","Wandering Bard";
+
+ if (BARD_Q == 1) goto L_BQ1;
+ if (BARD_Q == 2) goto L_BQ2;
+ if (BARD_Q == 3) goto L_SINGING;
+ if (BARD_Q == 4) goto L_BQ4;
+ if (BaseJob == Job_Bard) goto L_CLOSE;
+ if (BaseJob == Job_Archer && Sex == 1) goto L_ARCHER;
+
+ mes "[Lalo]";
+ mes "It's a fine day to sing eh.";
+ close;
+
+L_ARCHER:
+ mes "[Lalo]";
+ mes "Hi! Delightful Archer.";
+ mes "How can a wanderer like me help you?";
+ next;
+ menu "You have a nice voice.",-,"Could you sing for me, please?",M_1,"Nothing",M_NOTHING;
+
+ mes "[Lalo]";
+ mes "Hoho, your voice is rather nice as well?";
+ mes "Ever think about singing?";
+ next;
+ menu "Of course!",-,"I can't quite possibly...",M_ICANT;
+
+ mes "[Lalo]";
+ mes "Haha, nice attitude. You have to be";
+ mes "like that to become a Bard.";
+ mes "I'll help you become a Bard then.";
+ next;
+ if(JobLevel >= 40) goto L_GONOW;
+ mes "[Lalo]";
+ mes "But before that... you need to be";
+ mes "at least base 40 to be a Bard.";
+ next;
+ mes "[Lalo]";
+ mes "Just come back again ok.";
+ close;
+
+L_GONOW:
+ set JBLVL, JobLevel; // used to determine what item to get at the end
+ mes "[Lalo]";
+ mes "But before that... do you think you can bring me a Flower?";
+ mes "I need to smell the scent of a";
+ mes "Flower to feel like teaching.";
+ next;
+ mes "[Lalo]";
+ mes "It doesn't really matter which Flower, but try to bring one that I like.";
+ mes "And don't just buy any random Flower, Ok?";
+ set BARD_Q,1;
+ close;
+
+M_ICANT:
+ mes "[Lalo]";
+ mes "Haha, what a timid one.";
+ mes "Don't think so little of yourself.";
+ next;
+ mes "[Lalo]";
+ mes "You have plenty of talent.";
+ mes "Come again if you change your mind.";
+ close;
+
+M_1:
+ mes "[Lalo]";
+ mes "A song... let's see.";
+ mes "Ok, I got one...";
+ next;
+ mes "[Lalo]";
+ mes "I'll sing... Drums of War.";
+ mes "*ehem... *cough... gag... mememememe...";
+ mes "1, 2, 3, 4...";
+ next;
+ mes "[Lalo]";
+ mes "The sound of the horses galloping over the horizon";
+ mes "The dust that covers the distant sun.";
+ mes "Where thousands of eyes open in the night sky";
+ mes "The castle's fire will burn with power.";
+ next;
+ mes "[Lalo]";
+ mes "I can hear... the beating of my heart.";
+ mes "I can feel... the blood rushing through my veins.";
+ mes "... and the weight of my armor.";
+ mes "I can see... my enemies.";
+ next;
+ mes "[Lalo]";
+ mes "Louder, louder louder...";
+ mes "Give strength to the warriors!";
+ mes "Higher, higher, higher...";
+ mes "This day will never come again!";
+ next;
+ mes "[Lalo]";
+ mes "Shake the sky and roar the through the land.";
+ mes "Make my heart pound again!";
+ mes "Let the trumpets sound, and castle walls ring.";
+ mes "This moment will never come again!";
+ next;
+ mes "[Lalo]";
+ mes "Hmm.. that's always a good song to sing.";
+ mes "How it was it? Dont you think it's a nice song?";
+ next;
+ menu "Yes, it was really nice",-,"No, not really...",M_NO;
+
+ mes "[Lalo]";
+ mes "Thanks! If you enjoyed my song, it";
+ mes "makes me happy, too.";
+ next;
+ mes "[Lalo]";
+ mes "It would be nice if more people";
+ mes "went around and sang...";
+ mes "Well, its quite ok as it is now...";
+ mes "hmmhmmm.";
+ close;
+
+M_NO:
+ mes "[Lalo]";
+ mes "Hmmm... Did I loose my senses I'll ";
+ mes "have to try harder.";
+ mes "Anyways... Thanks for listening.";
+ close;
+
+M_NOTHING:
+ mes "[Lalo]";
+ mes "Oh not requesting a song when you";
+ mes "run into a Bard isn't very polite.";
+ mes "Well...can't help it since you";
+ mes "look like you're in a hurry";
+ mes "anyways.";
+ next;
+ mes "[Lalo]";
+ mes "Hunting is good... but you can't";
+ mes "forget to relax once in a while.";
+ mes "Youth is short and wont come again";
+ mes "once it passes by..";
+ close;
+
+L_BQ1:
+ mes "[Lalo]";
+ mes "Welcome! Archer friend.";
+ mes "Did you bring a Flower? Let me see.";
+ next;
+ if(countitem(1032) >= 1) goto L_UGLYFLOWER; //Items: Maneater_Blossom,
+ if(countitem(703) >= 1) goto L_FLOWER1; //Items: Hinalle,
+L_NEXT2:
+ if(countitem(708) >= 1) goto L_FLOWER2; //Items: Ment,
+L_NEXT3:
+ if(countitem(629) >= 1) goto L_FLOWER3; //Items: Singing_Flower,
+L_NEXT4:
+ if(countitem(710) >= 1) goto L_FLOWER4; //Items: Illusion_Flower,
+L_NEXT5:
+ if(countitem(748) >= 1) goto L_FLOWER5; //Items: Witherless_Rose,
+L_NEXT6:
+ if(countitem(709) >= 1) goto L_FLOWER6; //Item: Izidor
+L_NEXT7:
+ if(countitem(712) < 1) goto M_NOTHAVE; //Item: Flower//Items: Flower,
+
+ mes "[Lalo]";
+ mes "Eh? This is just a normal flower.";
+ mes "I like it... but it's not enough.";
+ mes "Please bring me a different flower.";
+ close;
+
+L_UGLYFLOWER:
+ mes "[Lalo]";
+ mes "What is it?! Please, back off and put it away from my face.";
+ mes "I do really hate maneater blossoms!!!";
+ mes "THEY ARE SO UGLY!";
+ emotion 23;
+ close;
+
+M_NOTHAVE:
+ mes "[Lalo]";
+ mes "Well suit your self.";
+ mes "I dont like that flower anyway.";
+ close;
+
+L_FLOWER1:
+ mes "[Lalo]";
+ mes "Can I have that Hinalle?";
+ next;
+ menu "Yes",-,"No",L_NEXT2;
+ if(countitem(703) < 1) goto M_NOTHAVE;
+ delitem 703,1; //Items: Hinalle,
+ goto L_GOOD;
+
+L_FLOWER2:
+ mes "[Lalo]";
+ mes "Can I have that Ment?";
+ next;
+ menu "Yes",-,"No",L_NEXT3;
+ if(countitem(708) < 1) goto M_NOTHAVE;
+ delitem 708,1; //Items: Ment,
+ goto L_GOOD;
+
+L_FLOWER3:
+ mes "[Lalo]";
+ mes "Can I have that Singing Flower?";
+ next;
+ menu "Yes",-,"No",L_NEXT4;
+ if(countitem(629) < 1) goto M_NOTHAVE;
+ delitem 629,1; //Items: Singing_Flower,
+ goto L_GOOD;
+
+L_FLOWER4:
+ mes "[Lalo]";
+ mes "Can I have that Illusion Flower?";
+ next;
+ menu "Yes",-,"No",L_NEXT5;
+ if(countitem(710) < 1) goto M_NOTHAVE;
+ delitem 710,1; //Items: Illusion_Flower,
+ goto L_GOOD;
+
+L_FLOWER5:
+ mes "[Lalo]";
+ mes "Can I have that Witherless Rose?";
+ next;
+ menu "Yes",-,"No",L_NEXT6;
+ if(countitem(748) < 1) goto M_NOTHAVE;
+ delitem 748,1; //Items: Witherless_Rose,
+ goto L_GOOD;
+
+L_FLOWER6:
+ mes "[Lalo]";
+ mes "Can I have that Izidor?";
+ next;
+ menu "Yes",-,"No",L_NEXT7;
+ if(countitem(709) < 1) goto M_NOTHAVE;
+ delitem 709,1; //Items: Izidor
+
+L_GOOD:
+ mes "[Lalo]";
+ mes "It doesn't have a scent but it's a";
+ mes "very moderate cute flower.";
+ mes "The leaves gave me strength when I";
+ mes "used to fall.";
+ mes "I really like this flower, thank you.";
+ next;
+ mes "[Lalo]";
+ mes "As I promised, I'll help you become a Bard.";
+ mes "But it's not easy my friend. Haha!";
+ next;
+ mes "[Lalo]";
+ mes "It is important to get to know";
+ mes "lot of people to learn how to sing.";
+ mes "You must also keep up with all the";
+ mes "things going on different villages...";
+ next;
+ mes "[Lalo]";
+ mes "There's a talking snowman in a town called Lutie.";
+ mes "Go there and bring back a present.";
+ next;
+ mes "[Lalo]";
+ mes "If you become friends with Jack";
+ mes "Frost, you will receive something.";
+ mes "And also talk to townspeople";
+ mes "while you're at it...";
+ set BARD_Q,2;
+ close;
+L_BQ2:
+ if (xmas_npc == 11) goto L_BQ3; //this var is set in LUTIE.TXT
+ mes "[Lalo]";
+ mes "I'm waiting for the good news.";
+ mes "For now go to Lutie and make";
+ mes "friends with Jack Frost.";
+ close;
+L_BQ3:
+ mes "[Lalo]";
+ mes "How was the trip? Did you meet a lot of people?";
+ mes "You should have more important than a gift.";
+ set BARD_Q,3;
+ next;
+L_SINGING:
+ mes "[Lalo]";
+ mes "Then, do you want to try singing...?";
+ mes "I'll sing a short melody...";
+ mes "and you try after.";
+ next;
+ mes "[Lalo]";
+ mes "Here I go.";
+ mes "Ehem *clears throat*";
+ mes "1, 2, 3, 4";
+ next;
+ mes "[Lalo]";
+//this should text input
+ mes "All Gods never age.";
+ mes "The ever so beautiful Goddess";
+ mes "Eden,";
+ mes "Beatuful and graceful Goddess";
+ mes "Eden,";
+ mes "Odin's daugther-in-law and Bragis";
+ mes "wife";
+ mes "Her sweet apples in her basket,";
+ mes "All thanks to her sweet apples.";
+
+ set @score,0;
+ next;
+ mes "[Lalo]";
+ mes "Now you try...";
+ next;
+
+ menu "All Gods never age.",-,"All Gods never age?",M_S2,"All Gods never age,",M_S2,"Are Gods never age?",M_S2;
+
+ set @score,@score+10;
+
+M_S2:
+ menu "The ever so beautiful Goddess,",M_S3,"The ever so beautiful Goddess.",M_S3,"The never beautiful Goddess.",M_S3,"The ever so beautiful Goddess",-;
+
+ set @score,@score+10;
+
+M_S3:
+ menu "Odins,",M_S4,"Odin.",M_S4,"Odin,",M_S4,"Eden,",-;
+
+ set @score,@score+10;
+M_S4:
+ menu "Very beatuful Goddess",M_S5,"Beatuful and Graceful Goddess",M_S5,"Beatuful and graceful Goddess",-,"Beatuful and the graceful Goddess",M_S5;
+
+ set @score,@score+10;
+M_S5:
+ menu "Eden.",M_S6,"Odins,",M_S6,"Eden,",-,"Edens,",M_S6;
+
+ set @score,@score+10;
+M_S6:
+ menu "Brags daugther-in-law and Odin's",M_S7,"Brags and Odin's daugther-in-law",M_S7,"Odin's daugther-in-law and Bragis",-,"Odin's daugther-in-law and Brags",M_S7;
+
+ set @score,@score+10;
+M_S7:
+ menu "whales",M_S8,"wifes",M_S8,"wife",-,"waffels",M_S8;
+
+ set @score,@score+10;
+M_S8:
+ menu "Her sweet apple in her basket,",M_S9,"Her sweet apple in her basket",M_S9,"Her sweet apples in her basket,",-;
+
+ set @score,@score+10;
+M_S9:
+ menu "All thanks to her sweet apple!",M_S10,"All thanks to her sweet apples.",-,"All thanks to her sweet apples!",M_S10;
+
+ set @score,@score+10;
+M_S10:
+ next;
+ if(@score >= 90) goto L_GOODWORK;
+ mes "[Lalo]";
+ mes "Oy, You got the lyrics wrong!";
+ mes "Can't you even sing along...?";
+ next;
+ mes "[Lalo]";
+ mes "Your pronunciation is very unclear.";
+ mes "Do a better job next time.";
+ close;
+
+L_GOODWORK:
+ set BARD_Q,4;
+ mes "[Lalo]";
+ mes "Wonderful! Finish it in one try!";
+ mes "You can become a great Bard.";
+ next;
+ mes "[Lalo]";
+ mes "Do you want to just change jobs now?";
+ mes "Or do you want a present?";
+ next;
+ menu "Just change my job please.",-,"I'd be thankful for a present.",M_PRESENTPLZ;
+
+ if(skillpoint != 0) goto L_SKILLSLEFT;
+ goto L_CHANGE;
+
+M_PRESENTPLZ:
+ mes "[Lalo]";
+ mes "Hmmm...very well, bring some trunks.";
+ mes "It doesn't matter what kind, as";
+ mes "long they are ^FF000060 of the same kind^000000...";
+ next;
+ mes "[Lalo]";
+ mes "I will give you a gift once you";
+ mes "bring them have a safe trip.";
+ close;
+
+L_SKILLSLEFT:
+ mes "[Lalo]";
+ mes "Hmmm... you seems to have some skill points left.";
+ mes "Use them all and come back to me again.";
+ close;
+
+L_BQ4:
+ set @gift,0;
+ if (countitem(1019) >= 60) set @gift,5; // Trunk//Items: Trunk,
+ if (countitem(1068) >= 60) set @gift,4; // Barren_Trunk//Items: Barren_Trunk,
+ if (countitem(1067) >= 60) set @gift,3; // Solid_Trunk//Items: Solid_Trunk,
+ if (countitem(1066) >= 60) set @gift,2; // Fine-grained_Trunk//Items: Fine-grained_Trunk,
+ if (JBLVL == 50 && countitem(1066) >=60) set @gift,1; // Fine-grained_Trunk//Items: Fine-grained_Trunk,
+
+ if (@gift!=0) goto L_CHANGE;
+
+ mes "[Lalo]";
+ mes "Mmm? Seems like you haven't prepared all trunks yet?";
+ mes "Do you want to just change jobs anyways?";
+ next;
+ menu "Yes",L_CHANGE,"Wait, not yet",-;
+
+ mes "[Lalo]";
+ mes "Ok I'll just wait here.";
+ close;
+
+L_CHANGE:
+ if(skillpoint != 0) goto L_SKILLSLEFT;
+ callfunc "Job_Change",Job_Bard;
+ callfunc "F_ClearJobVar";
+
+ mes "[Lalo]";
+ if (@gift==0) goto L_NOGIFT;
+
+ mes "Good job. I will make you a";
+ mes "job change with this souvenir.";
+ mes "Wait just a moment.";
+ next;
+ mes "Scrape Scrape Tang Tang";
+ mes "Squeak Squeak Scratch Scratch";
+ next;
+
+ switch(@gift){
+ case 1:
+ delitem 1066,60; //Fine-grained_Trunk + 50 JobLvl --> Harp [2]
+ getitem 1910,1;
+ break;
+ case 2:
+ delitem 1066,60; //Fine-grained_Trunk --> Lute [2]
+ getitem 1905,1;
+ break;
+ case 3:
+ delitem 1067,60; //Solid_Trunk --> Mandolin [2]
+ getitem 1903,1;
+ break;
+ case 4:
+ delitem 1068,60; //Barren_Trunk --> Mandolin [2]
+ getitem 1903,1;
+ break;
+ case 5:
+ delitem 1019,60; //Trunk --> Violin [3]
+ getitem 1901,1;
+ }
+
+ emotion e_grat;
+ mes "[Lalo]";
+ mes "Here you go, a souvenir. It is";
+ mes "useful when you sing.";
+L_NOGIFT:
+ mes "Hope you sing happy songs.";
+ next;
+L_CLOSE:
+ mes "[Lalo]";
+ mes "See you next time!";
+ close;
+}
diff --git a/npc/jobs/2-2/crusader.txt b/npc/jobs/2-2/crusader.txt
new file mode 100644
index 000000000..a0b1f24f8
--- /dev/null
+++ b/npc/jobs/2-2/crusader.txt
@@ -0,0 +1,1184 @@
+////===== eAthena Script =======================================
+//= Crusader Quest
+//===== By: ==================================================
+//= Made by: Black Dragon
+//= Converted by: Shin
+//=
+//===== Current Version: =====================================
+//= 1.7a
+//===== Compatible With: =====================================
+//= eAthena 0.5.2 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Need optimalization and fixing
+//= thanks to Komurka, KiLLaLeN, Lupus (fixing error)
+//= just a temp Job Quest
+//= 1.2 minor fix of announcement by Freya people
+//= 1.3 Added Baby Class Support, fixed 40/50 lvl item reward
+//= also fixed too common script names [Lupus]
+//= 1.3a fixed "dead lock" bugs [Lupus]
+//= 1.3b changed monsters ID in patience test [Komurka]
+//= 1.4 Fixed Job Level parameters mix-up. [massdriller] (Thanks to Komurka)
+//= 1.5 Fixed possible EXP abuse [Lupus]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where
+//= to go. [Lupus]
+//= 1.7 Updated names and required items, Chivalry Emblem +
+//= Hand of God allow to skip item gathering [DracoRPG]
+//============================================================
+
+
+prt_castle.gat,45,169,4 script Senior Crusader 752,{
+ callfunc "F_BlockHigh",25,"Swordman High",38,"Paladin","^000080Michael Halig^000000";
+
+ mes "[^000080Michael Halig^000000]";
+ if (BaseJob > 0) goto NEXT_0;
+ if (BaseJob == 0) goto NOV;
+ mes "Hello "+ strcharinfo(0);
+ mes "I see that you've registered to the ^008000Swordsman's Association^000000.";
+ TALK:
+ next;
+ mes "[^000080Michael Halig^000000]";
+ mes "If you become a ^800000Swordsman^000000, you will gain the privelege of becoming a ^800000Knight^000000 or ^800000Crusader^000000.";
+ next;
+ mes "[^000080Michael Halig^000000]";
+ mes "If you decide to go along the path of the ^800000Crusader^000000, come back here.";
+ mes "Just take note that you must obtain a job level of at least 40 first before you can move up to the 2nd job.";
+ close;
+ NOV:
+ mes "Hello there.";
+ goto TALK;
+NEXT_0:
+ if (BaseJob > 1) goto NEXT0;
+ if (CRUS_Q == 1) goto CONT;
+ if (CRUS_Q == 2) goto CONT0;
+ if (CRUS_Q == 3) goto CONT1;
+ if (CRUS_Q == 4) goto CONT2;
+ if (CRUS_Q > 4) goto CONT3;
+ mes "Welcome, can I help you with something?";
+ next;
+ menu "I want to become a ^800000Crusader^000000.",JOB,"What's being a ^800000Crusader^000000 like?",ASK,"What is the purpose of a ^800000Crusader^000000?",ASK0,"I was just looking around.",-;
+ mes "[^000080Michael Halig^000000]";
+ mes "Oh, all right.";
+ next;
+ mes "[^000080Michael Halig^000000]";
+ mes "If you decide to take the path of the ^800000Crusader^000000, feel free to come back.";
+ close;
+ JOB:
+ mes "[^000080Michael Halig^000000]";
+ mes "All right, let me take a look at you first.";
+ next;
+ if (JobLevel != 50) goto SKIP;
+ set JBLVL,50;
+ set CRUS_Q,5;
+ goto TEST1;
+ SKIP:
+ if (JobLevel > 39) goto OKAY;
+ mes "[^000080Michael Halig^000000]";
+ mes "I'm sorry, but you need to be at least at a job level of 40.";
+ next;
+ mes "[^000080Michael Halig^000000]";
+ mes "All 2nd jobs require that.";
+ close;
+ OKAY:
+ if (SkillPoint == 0) goto OKAY0;
+ JOB0:
+ mes "[^000080Michael Halig^000000]";
+ mes "In order to become a ^800000Crusader^000000, you have to have used all your available skill points first.";
+ close;
+ OKAY0:
+ mes "[^000080Michael Halig^000000]";
+ mes "Everything looks all right.";
+ set CRUS_Q,1;
+ next;
+ mes "[^000080Michael Halig^000000]";
+ mes "All right, shall we begin the tests?";
+ next;
+ menu "Yes, of course.",OKAY1,"Not yet.",-;
+ mes "[^000080Michael Halig^000000]";
+ mes "Oh, all right. Come back when you're ready.";
+ close;
+ OKAY1:
+ if (SkillPoint != 0) goto JOB0;
+ set CRUS_Q,2;
+ mes "[^000080Michael Halig^000000]";
+ mes "All right, the first test requires you to collect items.";
+ next;
+ set CRUS_Q, rand (2);
+ set CRUS_Q,CRUS_Q + 3;
+ mes "[^000080Michael Halig^000000]";
+ mes "Bring back the following items:";
+ if (CRUS_Q != 3) goto IT;
+ mes "- 10 ^FF0000Decayed Nails^000000";
+ mes "- 10 ^FF0000Daenggies^000000";
+ mes "- 10 ^FF0000Worn-out Prison Uniforms^000000";
+ mes "- 10 ^FF0000Stinky Scales^000000";
+ close;
+ IT:
+ mes "- 10 ^FF0000Lanterns^000000";
+ mes "- 10 ^FF0000Horrendous Mouths^000000";
+ mes "- 10 ^FF0000Rotten Bandages^000000";
+ mes "- 10 ^FF0000Jack 'o Pumpkins^000000";
+ close;
+
+ ASK:
+ mes "[^000080Michael Halig^000000]";
+ mes "To be a ^800000Crusader^000000 is to fight for the righteous people.";
+ mes "Not always those who are in power, but rather for the justly cause.";
+ next;
+ mes "[^000080Michael Halig^000000]";
+ mes "I hope that you consider to become one.";
+ mes "To fight for good is a job that should be done by everyone to some extent.";
+ close;
+ ASK0:
+ mes "[^000080Michael Halig^000000]";
+ mes "The purpose of a ^800000Crusader^000000 is to work for the good in the world.";
+ mes "A ^800000Crusader^000000 is a person of righteousness at work.";
+ close;
+ CONT:
+ mes "Have you changed your mind?";
+ next;
+ menu "Yes, I want to become a ^800000Crusader^000000.",JOB,"Sorry, but I don't want to.",-;
+ mes "[^000080Michael Halig^000000]";
+ mes "I see... That's a shame.";
+ next;
+ mes "[^000080Michael Halig^000000]";
+ mes "Come back if you do want to.";
+ close;
+ CONT0:
+ mes "Well, hm...";
+ next;
+ mes "[^000080Michael Halig^000000]";
+ mes "I was expecting that someone like you would pass.";
+ next;
+ mes "[^000080Michael Halig^000000]";
+ mes "Mind to try again?";
+ next;
+ menu "Yes, of course.",OKAY1,"No, I'm all right.",-;
+ mes "[^000080Michael Halig^000000]";
+ mes "Oh, all right.";
+ close;
+ CONT1:
+ set @item,0;
+ if(countitem(957)>=10) goto ITEM7;//Items: Decayed_Nail,
+ mes "- 10 ^FF0000Decayed Nails^000000";
+ set @item, item +1;
+ ITEM7:
+ if(countitem(901)>=10) goto ITEM8;//Items: Daenggie,
+ mes "You still miss the this item";
+ mes "- 10 ^FF0000Danggies^000000";
+ set @item, item +1;
+ ITEM8:
+ if(countitem(1099)>=10) goto ITEM10;//Items: Worn-out_Prison_Uniform,
+ mes "You still miss the this item";
+ mes "- 10 ^FF0000Worn-out Prison Uniforms^000000";
+ set @item, item +1;
+ ITEM9:
+ if(countitem(959)>=10) goto ITEM9;//Items: Stinky_Scale,
+ mes "You still miss the this item";
+ mes "- 10 ^FF0000Stinky Scales^000000";
+ set @item, item +1;
+ ITEM10:
+ if (@item == 0) goto DONE;
+ close;
+ DONE:
+ mes "Good job!";
+ mes "You collected everything!";
+ delitem 957,10;//Items: Decayed_Nail,
+ delitem 901,10;//Items: Daenggie,
+ delitem 1099,10;//Items: Worn-out_Prison_Uniform,
+ delitem 959,10;//Items: Stinky_Scale,
+ set CRUS_Q,5;
+ TEST1:
+ next;
+ mes "[^000080Michael Halig^000000]";
+ mes "All right, let's move on to the 2nd test.";
+ next;
+ mes "[^000080Michael Halig^000000]";
+ mes "Go to the prison, it's in the basement";
+ mes "Before you do, make sure that you bring a ^FF0000Rosary^000000 with you.";
+ close;
+ CONT2:
+ set @item, 0;
+ if(countitem(1041)>=10) goto ITEM11;//Items: Lantern,
+ mes "You still miss the this item";
+ mes "- 10 ^FF0000Lanterns^000000";
+ set @item, item +1;
+ ITEM11:
+ if(countitem(958)>=10) goto ITEM12;//Items: Horrendous_Mouth,
+ mes "You still miss the this item";
+ mes "- 10 ^FF0000Horrendous Mouths^000000";
+ set @item, item +1;
+ ITEM12:
+ if(countitem(930)>=10) goto ITEM13;//Items: Rotten_Bandage,
+ mes "You still miss the this item";
+ mes "- 10 ^FF0000Rotten Bandages^000000";
+ set @item, item +1;
+ ITEM13:
+ if(countitem(1062)>=10) goto ITEM14;//Items: Jack_'o_Pumpkin,
+ mes "You still miss the this item";
+ mes "- 10 ^FF0000Jack 'o Pumpkins^000000";
+ set @item, item +1;
+ ITEM14:
+ if (@item== 0) GOTO DONE0;
+ close;
+ DONE0:
+ mes "Good job!";
+ mes "You collected everything!";
+ delitem 1041,10;//Items: Lantern,
+ delitem 958,10;//Items: Horrendous_Mouth,
+ delitem 930,10;//Items: Rotten_Bandage,
+ delitem 1062,10;//Items: Jack_'o_Pumpkin,
+ set CRUS_Q,5;
+ goto TEST1;
+ CONT3:
+ if (CRUS_Q == 8) goto CONT4;
+ if (CRUS_Q > 8) goto CONT5;
+ mes "Please talk to the man in the prison to continue.";
+ mes "Make sure you bring a ^FF0000Rosary^000000 with you.";
+ close;
+ CONT4:
+ mes "Great job in accomplishing the ^FF8000Patience Test^000000!";
+ next;
+ mes "[^000080Michael Halig^000000]";
+ mes "Now to move on to the ^FF8000Knowledge Test^000000.";
+ mes "Please talk to Gabriel Valentine at the Cathedral, she will test your knowledge.";
+ set CRUS_Q,9;
+ close;
+ CONT5:
+ if (CRUS_Q == 13) goto CONT6;
+ if (CRUS_Q == 14) goto CONT7;
+ mes "Please go talk to Gabriel Valentine at the Cathedral to continue.";
+ close;
+ CONT6:
+ mes "Excellent work in completing all the necessary tests!";
+ mes "Now let me examine you before you become a ^800000Crusader^000000.";
+ next;
+ set CRUS_Q,14;
+ mes "[^000080Michael Halig^000000]";
+ CONT7:
+ if (SkillPoint == 0) goto GOOD;
+ mes "I'm sorry, but you'll need to use up all your skill points first.";
+ close;
+ GOOD:
+ mes "This is to compliment your job change.";
+ if (JBLVL != 50) getitem 1409,1;//Items: Pike__,
+ if (JBLVL == 50) getitem 1408,1;//Items: Pike_,
+
+ callfunc "Job_Change",Job_Crusader;
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+ close;
+NEXT0:
+ if (BaseJob != 2) goto NEXT1;
+ mes "Hello, welcome to the ^008000Castle of Prontera^000000.";
+ mes "Hope you have a good day!";
+ close;
+NEXT1:
+ if (BaseJob != 3) goto NEXT2;
+ mes "Good luck in your hunting.";
+ close;
+NEXT2:
+ if (BaseJob != 4) goto NEXT3;
+ mes "Good day to you!";
+ mes "Hope you do well to find your path.";
+ close;
+NEXT3:
+ if (BaseJob != 5) goto NEXT4;
+ mes "Hello, we don't currently need anything, sorry about that.";
+ close;
+NEXT4:
+ if (BaseJob != 6) goto NEXT5;
+ mes "Better watch yourself.";
+ close;
+NEXT5:
+ if (BaseJob != 7) goto NEXT6;
+ mes "Good day to you, " + strcharinfo(0);
+ close;
+NEXT6:
+ if (BaseJob != 8) goto NEXT7;
+ mes "Good day, "+ strcharinfo(0);
+ mes "I would hope to believe that all is going well.";
+ close;
+NEXT7:
+ if (BaseJob != 9) goto NEXT8;
+ mes "Hello, welcome to the ^008000Castle of Prontera^000000.";
+ mes "Nice to have you wish us.";
+ close;
+NEXT8:
+ if (BaseJob != 10) goto NEXT9;
+ mes "Hello, we're not in need of any weapons or armour at the moment, thank you.";
+ close;
+NEXT9:
+ if (BaseJob != 11) goto NEXT10;
+ mes "Hello, wish you luck for your success.";
+ close;
+NEXT10:
+ if (BaseJob != 12) goto NEXT11;
+ mes "Stay out of trouble, you don't want the guards to come after you, now do you?";
+ close;
+NEXT11:
+ if (BaseJob != 14) goto NEXT12;
+ mes "Good day, "+ strcharinfo(0);
+ close;
+NEXT12:
+ if (BaseJob != 15) goto NEXT13;
+ mes "Hello, welcome to the ^008000Castle of Prontera^000000.";
+ close;
+NEXT13:
+ if (BaseJob != 16) goto NEXT14;
+ mes "Welcome to the ^008000Castle of Prontera^000000, I hope you enjoy your stay.";
+ close;
+NEXT14:
+ if (BaseJob != 17) goto NEXT15;
+ mes "Stay out of trouble if you know what's good for you.";
+ close;
+NEXT15:
+ if (BaseJob != 18) goto NEXT16;
+ mes "So, how are the experiments going down in ^00FF00Al de Baran^000000?";
+ close;
+NEXT16:
+ if (BaseJob != 19) goto NEXT17;
+ mes "Welcome to the castle, good sir.";
+ close;
+NEXT17:
+ if (BaseJob != 20) goto NEXT18;
+ mes "Good day, miss.";
+ close;
+NEXT18:
+ if (BaseJob != 22) goto NEXT19;
+ if (Sex != 0) goto MALE;
+ mes "Hello, welcome to the ^008000Castle of Prontera^000000.";
+ close;
+ MALE:
+ mes "Well done, sir!";
+ close;
+NEXT19:
+ mes "Hello and good day!";
+ close;
+}
+
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+//
+// Man in Anguish - Crusader Job Quest - 2nd Test
+// By Black Dragon based on the information at RagnaInfo
+//
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+prt_castle.gat,164,32,0 script Man in Anguish 733,{
+ if (CRUS_Q == 7) goto CONT;
+ if (CRUS_Q > 7) goto CONT0;
+ mes "[^000080Murnak Mijoul^000000]";
+ mes "Who... who are you?";
+ next;
+ if (CRUS_Q == 5) goto CHECK;
+
+ OTHER:
+ if (CRUS_Q == 6) goto EXIT1;
+ mes "[^000080Murnak Mijoul^000000]";
+ mes "What do you want?";
+ mes "Leave me alone~!";
+ close;
+ CHECK:
+ if (countitem(2608) == 0) goto NOT;//Items: Rosary,
+
+ mes "[^000080Murnak Mijoul^000000]";
+ mes "I see, you're here for the job.";
+ next;
+ mes "[^000080Murnak Mijoul^000000]";
+ mes "It's torture.";
+ mes "They send me to that room time and time again.";
+ next;
+ mes "[^000080Murnak Mijoul^000000]";
+ mes "I've grown awefully weak from it.";
+ next;
+ mes "[^000080Murnak Mijoul^000000]";
+ mes "But if it's your wish, I will send to there.";
+ next;
+ menu "Yes.",-,"On second thought...",EXIT;
+ mes "[^000080Murnak Mijoul^000000]";
+ mes "All right then... I'll tell you where to go.";
+ GO:
+ next;
+ savepoint "prt_castle.gat",162,27;
+ if (getmapusers("job_cru.gat") > 0) goto EXIT0;
+ set CRUS_Q,6;
+ warp "job_cru.gat",23,42;
+ EXIT0:
+ mes "[^000080Murnak Mijoul^000000]";
+ mes "I'm sorry, there's already another person there right now.";
+ mes "Please wait a little longer.";
+ close;
+ EXIT:
+ mes "[^000080Murnak Mijoul^000000]";
+ mes "Please do not disturb me then!";
+ close;
+ NOT:
+ mes "[^000080Murnak Mijoul^000000]";
+ mes "Leave me alone!";
+ mes "Can't you leave someone in pain alone ?";
+ close;
+
+ CONT:
+ mes "[^000080Murnak Mijoul^000000]";
+ mes "I see you've passed. Good work.";
+ set CRUS_Q,8;
+ close;
+ EXIT1:
+ mes "[^000080Murnak Mijoul^000000]";
+ mes "Sorry but you're going to need to go again.";
+ goto GO;
+ CONT0:
+ mes "[^000080Murnak Mijoul^000000]";
+ mes "There is nothing else you need from me.";
+ mes "Let me be...";
+ close;
+}
+
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+//
+// Gabriel Valentine - Crusader Job Quest - Knowledge Test
+// By Black Dragon based on the information at RagnaInfo
+//
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+prt_church.gat,94,116,0 script Gabriel Valentine 745,{
+ mes "[^000080Gabriel Valentine^000000]";
+ if (BaseJob != 0) goto NEXT_o;
+ mes "Hello young traveler.";
+ close;
+NEXT_o:
+ if (BaseJob != 1) goto NEXT0;
+ mes "Hello, " + strcharinfo(0);
+ next;
+ if (CRUS_Q != 9) goto EXIT;
+ BEGIN:
+ menu "Take the Knowledge test.",-,"Nothing.",EXIT;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "Oh, on your way to become a ^800000Crusader^000000 huh?";
+ mes "Okay...";
+ next;
+ START:
+ set @Q , 0;
+ set @Q1 , 0;
+ set @Q2 , 0;
+ set @Q3 , 0;
+ set @Q4 , 0;
+ set @Q5 , 0;
+ set @Q6 , 0;
+ set @Q7 , 0;
+ set @Q8 , 0;
+ set @Q9 , 0;
+ set @Q10 , 0;
+ set @Q11 , 0;
+ set @Q12 , 0;
+ set @Q13 , 0;
+ set @Q14 , 0;
+ set @Q15 , 0;
+ set @Q16 , 0;
+ set @Q17 , 0;
+ set @Q18 , 0;
+ set @Q19 , 0;
+ set @Q20 , 0;
+ set @ANS , 0;
+ RND:
+ if (@Q > 10) goto DONE;
+ set @RND, rand(20);
+ if (@RND > 9) goto G1;
+ if (@RND > 4) goto G1A;
+ if (@RND > 3) goto G1A1;
+ if (@RND == 0) goto Q1;
+ if (@RND == 1) goto Q2;
+ if (@RND != 1) goto Q3;
+ G1A1:
+ if (@RND == 3) goto Q4;
+ if (@RND != 3) goto Q5;
+ G1A:
+ if (@RND > 8) goto G1A2;
+ if (@RND == 5) goto Q6;
+ if (@RND == 6) goto Q7;
+ if (@RND != 6) goto Q8;
+ G1A2:
+ if (@RND == 8) goto Q9;
+ if (@RND != 8) goto Q10;
+ G1:
+ if (@RND > 14) goto G2A;
+ if (@RND > 13) goto G2A1;
+ if (@RND == 10) goto Q11;
+ if (@RND == 11) goto Q12;
+ if (@RND == 12) goto Q13;
+ G2A1:
+ if (@RND == 13) goto Q14;
+ if (@RND == 14) goto Q15;
+ G2A:
+ if (@RND > 18) goto G2A2;
+ if (@RND == 15) goto Q16;
+ if (@RND == 16) goto Q17;
+ if (@RND == 17) goto Q18;
+ G2A2:
+ if (@RND == 18) goto Q19;
+ if (@Q20 != 0) goto RND;
+ set @Q20,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "Are you willing to risk your life to save someone else?";
+ next;
+ menu "Yes",-,"No",RND;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q1:
+ if (@Q1 != 0) goto RND;
+ set @Q1,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "If someone asks you to help them for a good cause, will you oblige?";
+ next;
+ menu "Yes",-,"No",RND;
+ set @ANS, @ANS + 1;
+ goto RND;
+ Q2:
+ if (@Q2 != 0) goto RND;
+ set @Q2, 1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "Would you allow a robber to get away with stolen goods?";
+ next;
+ menu "Yes",RND,"No",-;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q3:
+ if (@Q3 != 0) goto RND;
+ set @Q3,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "Do you wish that the world was at harmony?";
+ next;
+ menu "Yes",-,"No",RND;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q4:
+ if (@Q4 != 0) goto RND;
+ set @Q4,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "Will you ever attempt suicide?";
+ next;
+ menu "Yes",RND,"No",-;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q5:
+ if (@Q5 != 0) goto RND;
+ set @Q5,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "Will you intoxicate yourself at parties?";
+ next;
+ menu "Yes",RND,"No",-;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q6:
+ if (@Q6 != 0) goto RND;
+ set @Q6,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "Will you openly massacre?";
+ next;
+ menu "Yes",RND,"No",-;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q7:
+ if (@Q7 != 0) goto RND;
+ set @Q7,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "Will you hold your temper during arguments?";
+ next;
+ menu "Yes",-,"No",RND;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q8:
+ if (@Q8 != 0) goto RND;
+ set @Q8,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "Would you allow alchemists to perform illegal experiments?";
+ next;
+ menu "Yes",RND,"No",-;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q9:
+ if (@Q9 != 0) goto RND;
+ set @Q9,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "If someone threw a stone at you, you'd become furious.";
+ next;
+ menu "Yes",RND,"No",-;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q10:
+ if (@Q10 != 0) goto RND;
+ set @Q10,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "If someone offered you money that belongs to someone poor, would you take it?";
+ next;
+ menu "Yes",RND,"No",-;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q11:
+ if (@Q11 != 0) goto RND;
+ set @Q11,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "You think highly of yourself.";
+ next;
+ menu "Yes",RND,"No",-;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q12:
+ if (@Q12 != 0) goto RND;
+ set @Q12,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "You are humble before others.";
+ next;
+ menu "Yes",-,"No",RND;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q13:
+ if (@Q13 != 0) goto RND;
+ set @Q13,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "You answer people full of respect and with kindness.";
+ next;
+ menu "Yes",-,"No",RND;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q14:
+ if (@Q14 != 0) goto RND;
+ set @Q14,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "You fight when you feel like it.";
+ next;
+ menu "Yes",RND,"No",-;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q15:
+ if (@Q15 != 0) goto RND;
+ set @Q15,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "You go to the pub every night.";
+ next;
+ menu "Yes",RND,"No",-;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q16:
+ if (@Q16 != 0) goto RND;
+ set @Q16,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "You believe in the Father, Son and Holy Spirit.";
+ next;
+ menu "Yes",-,"No",RND;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q17:
+ if (@Q17 != 0) goto RND;
+ set @Q17,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "You believe that the Devil is evil and cruel and should be treated the same way.";
+ next;
+ menu "Yes",RND,"No",-;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q18:
+ if (@Q18 != 0) goto RND;
+ set @Q18,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "You believe that talk is for wimps and that action plays the main role in peace-making";
+ next;
+ menu "Yes",RND,"No",-;
+ set @ANS,@ANS + 1;
+ goto RND;
+ Q19:
+ if (@Q19 != 0) goto RND;
+ set @Q19,1;
+ set @Q,@Q + 1;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "If all other means to keep peace fail, THEN it is all right to resort to violence.";
+ next;
+ menu "Yes",-,"No",RND;
+ set @ANS,@ANS + 1;
+ goto RND;
+ DONE:
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "You got "+ @ANS +" / 10 questions correct.";
+ next;
+ if (CRUS_Q != 10) goto secND;
+ if (@ANS < 8) goto NO;
+ PASS:
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "Excellent work! You qualify to pass the ^FF8000Knowledge Test^000000!";
+ mes "You're almost done, you are now at the ^FF8000Purification Test^000000, find Bliant Piyord at ^008000Prontera Chivalry^000000.";
+ set CRUS_Q, 11;
+ close;
+ NO:
+ set CRUS_Q, 10;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "I'm sorry, you didn't get enough to qualify.";
+ next;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "Try giving it another go when you feel you're ready.";
+ mes "I'll only expect you to get at least 8 correct from now on.";
+ close;
+ secND:
+ if (@ANS > 7) goto PASS;
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "I'm sorry, you didn't get enough correct.";
+ close;
+ EXIT:
+ if (CRUS_Q == 10) goto BEGIN;
+ if (CRUS_Q > 10) goto FINISH;
+ close;
+ FINISH:
+ mes "[^000080Gabriel Valentine^000000]";
+ mes "Please go to the Guardian Knight at ^008000Prontera Castle^000000 to continue on to the ^FF8000Purification Test^000000.";
+ close;
+NEXT0:
+ if (BaseJob != 2) goto NEXT1;
+ mes "Hello, welcome to the ^008000Prontera Chivalry^000000.";
+ mes "Hope you have a good day!";
+ close;
+NEXT1:
+ if (BaseJob != 3) goto NEXT2;
+ mes "Good luck in your hunting.";
+ close;
+NEXT2:
+ if (BaseJob != 4) goto NEXT3;
+ mes "Good day to you!";
+ mes "Hope you do well to find your path.";
+ close;
+NEXT3:
+ if (BaseJob != 5) goto NEXT4;
+ mes "Hello, we don't currently need anything, sorry about that.";
+ close;
+NEXT4:
+ if (BaseJob != 6) goto NEXT5;
+ mes "Better watch yourself.";
+ close;
+NEXT5:
+ if (BaseJob != 7) goto NEXT6;
+ mes "Good day to you, "+ strcharinfo(0);
+ close;
+NEXT6:
+ if (BaseJob != 8) goto NEXT7;
+ mes "Good day, " + strcharinfo(0);
+ mes "I would hope to believe that all is going well.";
+ close;
+NEXT7:
+ if (BaseJob != 9) goto NEXT8;
+ mes "Hello! Nice to have you wish us.";
+ close;
+NEXT8:
+ if (BaseJob != 10) goto NEXT9;
+ mes "Hello, we're not in need of any weapons or armour at the moment, thank you.";
+ close;
+NEXT9:
+ if (BaseJob != 11) goto NEXT10;
+ mes "Hello, wish you luck for your success.";
+ close;
+NEXT10:
+ if (BaseJob != 12) goto NEXT11;
+ mes "Stay out of trouble, you don't want the guards to come after you, now do you?";
+ close;
+NEXT11:
+ if (BaseJob != 14) goto NEXT12;
+ mes "Good day, " + strcharinfo(0);
+ close;
+NEXT12:
+ if (BaseJob != 15) goto NEXT13;
+ mes "Hello, welcome to the ^008000Knight's Headquarters^000000.";
+ close;
+NEXT13:
+ if (BaseJob != 16) goto NEXT14;
+ mes "Welcome to the ^008000Knight's Headquarters^000000, I hope you enjoy your stay.";
+ close;
+NEXT14:
+ if (BaseJob != 17) goto NEXT15;
+ mes "Stay out of trouble if you know what's good for you.";
+ close;
+NEXT15:
+ if (BaseJob != 18) goto NEXT16;
+ mes "So, how are the experiments going down in ^00FF00Al de Baran^000000?";
+ close;
+NEXT16:
+ if (BaseJob != 19) goto NEXT17;
+ mes "Welcome to the castle, good sir.";
+ close;
+NEXT17:
+ if (BaseJob != 20) goto NEXT18;
+ mes "Good day, miss.";
+ close;
+NEXT18:
+ if (BaseJob != 22) goto NEXT19;
+ if (Sex != 0) goto MALE;
+ mes "Hello, welcome to the ^008000Knight's Headquarters^000000.";
+ close;
+ MALE:
+ mes "Well done, sir!";
+ close;
+NEXT19:
+ mes "Hello and good day!";
+ close;
+}
+
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+//
+// Bliant Piyord - Crusader Job Quest - Purification Test
+// By Black Dragon based on the information at RagnaInfo
+//
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+prt_in.gat,83,97,0 script Patron Knight 734,{
+ mes "[^000080Bliant Piyord^000000]";
+ if (BaseJob != 0) goto NEXT_o;
+ mes "Hello, young traveler.";
+ mes "Welcome.";
+ close;
+NEXT_o:
+ if (BaseJob != 1) goto NEXT0;
+ if (CRUS_Q == 11) goto PART1;
+ if (CRUS_Q == 12) goto PART2;
+ if (CRUS_Q != 13) goto EXIT;
+ mes "Well done!";
+ mes "Go talk to ^000080Michael Halig^000000, he will turn you into a ^800000Crusader^000000.";
+ close;
+ PART2:
+ if (@CRU2 == 43) goto EXIT2;
+ PART2A:
+ mes "So, do you want to try again?";
+ next;
+ menu "Yes",TEST,"No",-;
+ mes "[^000080Bliant Piyord^000000]";
+ mes "Oh, okay then.";
+ close;
+ PART1:
+ mes "Hello, " + strcharinfo(0);
+ mes "I see that you've passed thus far.";
+ next;
+ mes "[^000080Bliant Piyord^000000]";
+ mes "Don't let me down in this test.";
+ mes "This is the ^FF8000Purification Test^000000.";
+ mes "I will take you to the proper location when you are ready.";
+ next;
+ menu "I want to go now.",-,"All right, just a second.",EXIT0;
+ TEST:
+ mes "[^000080Bliant Piyord^000000]";
+ mes "Let me make sure it's empty first.";
+ next;
+ if( getmapusers("job_cru.gat")>0 ) goto EXIT1;
+ killmonster "job_cru.gat","CR_KILL";
+ savepoint "prt_in.gat",81,100;
+ set CRUS_Q, 12;
+ warp "job_cru",167,175;
+ EXIT1:
+ mes "[^000080Bliant Piyord^000000]";
+ mes "I'm sorry, but someone else is inside at the moment.";
+ close;
+ EXIT0:
+ mes "[^000080Bliant Piyord^000000]";
+ mes "No problem, take as long as you need.";
+ close;
+ EXIT:
+ mes "Hello, " + strcharinfo(0);
+ mes "So how are things coming along with building up your abilities?";
+ mes "Are you strong enough to become a ^800000Crusader^000000 yet?";
+ next;
+ mes "[^000080Bliant Piyord^000000]";
+ mes "If you do, you'll find yourself coming back to me for one of the tests.";
+ close;
+EXIT2:
+ mes "Well done!";
+ set CRUS_Q,13;
+ next;
+ mes "Return to ^000080Michael Halig^000000 and he will make you a ^800000Crusader^000000.";
+ close;
+NEXT0:
+ if (BaseJob != 2) goto NEXT1;
+ mes "It's nice to see you.";
+ mes "Hope we'll be able to work together to keep ^00FF00Prontera^000000 safe.";
+ close;
+NEXT1:
+ if (BaseJob != 3) goto NEXT2;
+ mes "Welcome, I hope you have a great day!";
+ close;
+NEXT2:
+ if (BaseJob != 4) goto NEXT3;
+ mes "Good day to you!";
+ close;
+NEXT3:
+ if (BaseJob != 5) goto NEXT4;
+ mes "Hello, sorry but I'm not in need of anything.";
+ close;
+NEXT4:
+ if (BaseJob != 6) goto NEXT5;
+ mes "Don't think you can get away with theft in ^00FF00Prontera^000000, we have soldiers watching everywhere.";
+ close;
+NEXT5:
+ if (BaseJob != 7) goto NEXT6;
+ mes "Welcome!";
+ mes "I hope you have a great day!";
+ close;
+NEXT6:
+ if (BaseJob != 8) goto NEXT7;
+ mes "Welcome to ^00FF00Prontera^000000!";
+ mes "Hope you have a good day!";
+ close;
+NEXT7:
+ if (BaseJob != 9) goto NEXT8;
+ mes "Hello! Glad to see people of your stature here!";
+ close;
+NEXT8:
+ if (BaseJob != 10) goto NEXT9;
+ mes "I appreciate your presence, but I don't need anything at the moment.";
+ mes "Sorry about that.";
+ close;
+NEXT9:
+ if (BaseJob != 11) goto NEXT10;
+ mes "How goes the hunting campaign?";
+ mes "Hope everything is going all right.";
+ close;
+NEXT10:
+ if (BaseJob != 12) goto NEXT11;
+ mes "Stay out of trouble, you hear me?";
+ close;
+NEXT11:
+ if (BaseJob != 14) goto NEXT12;
+ mes "Welcome! Good day to you!";
+ close;
+NEXT12:
+ if (BaseJob != 15) goto NEXT13;
+ mes "Good day, I hope your stay in ^00FF00Prontera^000000 will be a peaceful one.";
+ close;
+NEXT13:
+ if (BaseJob != 16) goto NEXT14;
+ mes "It's good to see people of your stature here in ^00FF00Prontera^000000!";
+ close;
+NEXT14:
+ if (BaseJob != 17) goto NEXT15;
+ mes "Be careful if you don't want to get caught.";
+ mes "I don't want to have to hang you or something.";
+ close;
+NEXT15:
+ if (BaseJob != 18) goto NEXT16;
+ mes "I hope the experiments in ^00FF00Al de Baran^000000 are legal, or we'll have to send someone to clear it up.";
+ close;
+NEXT16:
+ if (BaseJob != 19) goto NEXT17;
+ mes "Ah, what a fine day it is to have such a person as yourself to come and visit.";
+ close;
+NEXT17:
+ if (BaseJob != 20) goto NEXT18;
+ mes "Welcome, good day to you!";
+ close;
+NEXT18:
+ if (BaseJob != 22) goto NEXT19;
+ if (Sex != 0) goto MALE;
+ mes "Wow! Congratulations on your marriage!";
+ close;
+ MALE:
+ mes "Well done! I congratulate you upon your marriage!";
+ close;
+NEXT19:
+ mes "Good day to you!";
+ close;
+}
+
+
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+//
+// Entry A - Crusader Job Quest - Patience Test
+// By Black Dragon based on the information at RagnaInfo
+//
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+
+job_cru.gat,23,42,0 script CR_DEAD -1,{
+ killmonster "job_cru.gat","CR_DEAD";
+ set @CRU1,0;
+ enablenpc "CR_TST_2";
+ warp "prt_castle.gat",162,27;
+}
+
+
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+//
+// Entry - Crusader Job Quest - Patience Test
+// By Black Dragon based on the information at RagnaInfo
+//
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+job_cru.gat,23,42,0 script CR_TST_2 139,8,8,{
+
+ if (CRUS_Q != 6) goto EXIT;
+ set @CRU1,1;
+ mapannounce "job_cru.gat","Please endure here and go to the exit.",8;
+
+ monster "job_cru.gat",10,43,"Ghoul",1910,1,"CR_DEAD";
+ monster "job_cru.gat",14,47,"Khalitzburg",1911,1,"CR_DEAD";
+ monster "job_cru.gat",26,46,"Injustice",1912,1,"CR_DEAD";
+ monster "job_cru.gat",31,46,"Requium",1913,1,"CR_DEAD";
+ monster "job_cru.gat",16,52,"Raydric Archer",1914,0,"CR_DEAD";
+ monster "job_cru.gat",22,53,"Khalitzburg",1911,1,"CR_DEAD";
+ monster "job_cru.gat",28,49,"Injustice",1912,1,"CR_DEAD";
+ monster "job_cru.gat",12,54,"Khalitzburg",1911,1,"CR_DEAD";
+ monster "job_cru.gat",17,55,"Ghoul",1910,1,"CR_DEAD";
+ monster "job_cru.gat",21,57,"Injustice",1912,1,"CR_DEAD";
+ monster "job_cru.gat",30,58,"Khalitzburg",1911,1,"CR_DEAD";
+ monster "job_cru.gat",11,64,"Raydric Archer",1914,1,"CR_DEAD";
+ monster "job_cru.gat",19,67,"Injustice",1912,1,"CR_DEAD";
+ monster "job_cru.gat",24,62,"Khalitzburg",1911,1,"CR_DEAD";
+ monster "job_cru.gat",13,70,"Ghoul",1910,1,"CR_DEAD";
+ monster "job_cru.gat",18,69,"Injustice",1912,1,"CR_DEAD";
+ monster "job_cru.gat",29,67,"Khalitzburg",1911,1,"CR_DEAD";
+ monster "job_cru.gat",32,68,"Requium",1913,1,"CR_DEAD";
+ monster "job_cru.gat",16,75,"Raydric Archer",1914,1,"CR_DEAD";
+ monster "job_cru.gat",21,74,"Khalitzburg",1911,1,"CR_DEAD";
+ monster "job_cru.gat",27,76,"Injustice",1912,1,"CR_DEAD";
+ monster "job_cru.gat",14,78,"Khalitzburg",1911,1,"CR_DEAD";
+ monster "job_cru.gat",19,76,"Ghoul",1910,1,"CR_DEAD";
+ monster "job_cru.gat",24,79,"Requium",1913,1,"CR_DEAD";
+ monster "job_cru.gat",14,83,"Raydric Archer",1914,1,"CR_DEAD";
+ monster "job_cru.gat",18,85,"Khalitzburg",1911,1,"CR_DEAD";
+ monster "job_cru.gat",22,84,"Injustice",1912,1,"CR_DEAD";
+ monster "job_cru.gat",33,86,"Khalitzburg",1911,1,"CR_DEAD";
+ monster "job_cru.gat",13,89,"Ghoul",1910,1,"CR_DEAD";
+ monster "job_cru.gat",17,92,"Injustice",1912,1,"CR_DEAD";
+ monster "job_cru.gat",23,90,"Khalitzburg",1911,1,"CR_DEAD";
+ monster "job_cru.gat",26,88,"Ghoul",1910,1,"CR_DEAD";
+ monster "job_cru.gat",17,97,"Khalitzburg",1911,1,"CR_DEAD";
+ monster "job_cru.gat",23,100,"Injustice",1912,1,"CR_DEAD";
+ monster "job_cru.gat",31,101,"Ghoul",1910,1,"CR_DEAD";
+ monster "job_cru.gat",13,103,"Raydric Archer",1914,1,"CR_DEAD";
+ monster "job_cru.gat",22,105,"Injustice",1912,1,"CR_DEAD";
+ monster "job_cru.gat",30,107,"Khalitzburg",1911,1,"CR_DEAD";
+ disablenpc "CR_TST_2";
+ end;
+ EXIT:
+ warp "prt_castle.gat",162,27;
+}
+
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+//
+// Exit - Crusader Job Quest - Patience Test
+// By Black Dragon based on the information at RagnaInfo
+//
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+job_cru.gat,23,109,0 script CR_EXT_1 139,1,1,{
+
+if (@CRU1 == 0) goto JUMP;
+ set CRUS_Q,7;
+ killmonster "job_cru.gat","CR_DEAD";
+ enablenpc "CR_TST_2";
+JUMP:
+ warp "prt_castle.gat",162,28;
+}
+
+
+
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+//
+// Fighting Area - Crusader Job Quest - 4th Test
+// By Black Dragon based on the information at RagnaInfo
+//
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+
+job_cru.gat,167,175,0 script CR_KILL -1,{
+
+ if (@CRU2 == 43) goto good;
+
+ set @CRU2,@CRU2 +1;
+ announce "You killed another monster.",3;
+ end;
+
+ good:
+ announce "You killed all monsters, you may go to the exit.",3;
+ end;
+}
+
+job_cru.gat,167,175,0 script CR_TST_4 139,1,1,{
+
+ if(CRUS_Q != 12) goto EXIT;
+ set @CRU2,1;
+ announce "Defeat all the enemies.",3;
+ monster "job_cru.gat",163,42,"Bongun",1188,1,"CR_KILL";
+ monster "job_cru.gat",171,66,"Bongun",1188,1,"CR_KILL";
+ monster "job_cru.gat",163,89,"Bongun",1188,1,"CR_KILL";
+ monster "job_cru.gat",171,115,"Bongun",1188,1,"CR_KILL";
+ monster "job_cru.gat",166,141,"Bongun",1188,1,"CR_KILL";
+ monster "job_cru.gat",168,166,"Bongun",1188,1,"CR_KILL";
+ monster "job_cru.gat",164,170,"Munak",1026,1,"CR_KILL";
+ monster "job_cru.gat",173,153,"Munak",1026,1,"CR_KILL";
+ monster "job_cru.gat",164,138,"Munak",1026,1,"CR_KILL";
+ monster "job_cru.gat",166,128,"Munak",1026,1,"CR_KILL";
+ monster "job_cru.gat",171,117,"Munak",1026,1,"CR_KILL";
+ monster "job_cru.gat",163,102,"Munak",1026,1,"CR_KILL";
+ monster "job_cru.gat",172,84,"Munak",1026,1,"CR_KILL";
+ monster "job_cru.gat",162,76,"Munak",1026,1,"CR_KILL";
+ monster "job_cru.gat",167,65,"Munak",1026,1,"CR_KILL";
+ monster "job_cru.gat",171,58,"Munak",1026,1,"CR_KILL";
+ monster "job_cru.gat",162,48,"Munak",1026,1,"CR_KILL";
+ monster "job_cru.gat",170,33,"Munak",1026,1,"CR_KILL";
+ monster "job_cru.gat",170,26,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",166,37,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",171,47,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",165,61,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",172,65,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",163,77,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",164,86,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",165,98,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",170,101,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",163,110,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",164,117,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",166,129,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",165,139,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",166,151,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",168,160,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",162,169,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",171,171,"Skeleton",1076,1,"CR_KILL";
+ monster "job_cru.gat",162,32,"Zombie",1015,1,"CR_KILL";
+ monster "job_cru.gat",165,51,"Zombie",1015,1,"CR_KILL";
+ monster "job_cru.gat",172,73,"Zombie",1015,1,"CR_KILL";
+ monster "job_cru.gat",170,92,"Zombie",1015,1,"CR_KILL";
+ monster "job_cru.gat",173,111,"Zombie",1015,1,"CR_KILL";
+ monster "job_cru.gat",170,124,"Zombie",1015,1,"CR_KILL";
+ monster "job_cru.gat",171,147,"Zombie",1015,1,"CR_KILL";
+ monster "job_cru.gat",163,162,"Zombie",1015,1,"CR_KILL";
+ disablenpc "CR_TST_4";
+ EXIT:
+ end;
+}
+
+
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+//
+// Test 4 Exit - Crusader Job Quest - 4th Test
+// By Black Dragon based on the information at RagnaInfo
+//
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+job_cru.gat,167,17,0 script CR_EXT_4 139,2,2,{
+ enablenpc "CR_TST_4";
+ warp "prt_in.gat",81,100;
+}
+
+//==============================================================================
+// mapflag
+//==============================================================================
+job_cru.gat mapflag nomemo
+job_cru.gat mapflag noteleport
+job_cru.gat mapflag nosave SavePoint
+job_cru.gat mapflag nopenalty
+job_cru.gat mapflag nobranch
+job_cru.gat mapflag noexp
+job_cru.gat mapflag noloot
diff --git a/npc/jobs/2-2/dancer.txt b/npc/jobs/2-2/dancer.txt
new file mode 100644
index 000000000..157721066
--- /dev/null
+++ b/npc/jobs/2-2/dancer.txt
@@ -0,0 +1,1040 @@
+//===== eAthena Script =======================================
+//= Dancer Job Quest
+//===== By: ==================================================
+//= Kalen - Original jAthena
+//= Fredzilla - Converted
+//===== Current Version: =====================================
+//= 1.6
+//===== Compatible With: =====================================
+//= eAthena Final
+//===== Description: =========================================
+//= Dancer job quest based off a jAthena script and other sources for clarity
+//===== Additional Comments: =================================
+//= 1.5 Added Baby Class Support [Fredzilla]
+//= 1.1 Removed the warp I left here my accident, added a check for using
+//= Improved Concentration and arrow shower, people could get away with it
+//= [Fredzilla]
+//= 1.0 I tried to keep as much the same from the Jap version as possible
+//= this turned out to be quite hard, but on the whole it is the same script
+//= I have added some new things, and changed some of the used commands,
+//= along with some optimization. [Fredzilla]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where
+//= to go. [Lupus]
+//============================================================
+
+//= Warning Warp to escape the quest if need be
+job_duncer.gat,69,165,1 script wwarp 45,1,1,{
+ mes "[Warning]";
+ mes "This is the way out, this will cancel your quest if you leave";
+ next;
+ menu "Leave the quest",-,"Cancel",L_Can;
+ Warp "comodo.gat",193,149;
+L_Can:
+ close;
+}
+//= Warp man, takes you to the quest map (Comodo Theater)
+comodo.gat,193,151,4 script Bor Robin 86,{
+ callfunc "F_BlockHigh",27,"High Archer",44,"Gypsy","Bor Robin";
+
+ mes "[Bor Robin]";
+ mes "Well...... alot of people seem to be coming here lately.";
+ mes " ";
+ mes "They used to become dancers instantaneously.";
+ mes "I seen right before my eyes, more than I could count.";
+ mes "Now only people who are worthly can become dancers.";
+ next;
+ mes "[Bor Robin]";
+ mes "Becoming a dancer in these times would bring you true happiness.";
+ mes "It would be great to see more dancers around.";
+ next;
+ mes "[Bor Robin]";
+ mes "I can take you to the Comodo Theater if you want.";
+ mes " ";
+ mes "What have you got to say?";
+ next;
+ menu "Can you take me to the Theater?",L1,"I want to Leave",-;
+ mes "[Bor Robin]";
+ mes "Come back when you feel ready.";
+ close;
+L1:
+ mes "[Bor Robin]";
+ mes "I will take you now.";
+ close2;
+ warp "job_duncer.gat",70,49;
+ end;
+}
+//= 1st quest NPC, asks for Items and/or money, then passes you onto the next NPC
+job_duncer.gat,43,93,4 script Aire 724,{
+ if ((basejob == 3) && (Sex == 0)) goto Larcher;
+ if (basejob == 20) goto Ldancer;
+ if (Upper==1) goto LUpper1;
+ mes "[Aire]";
+ mes "Hi "+strcharinfo(0)+", you are only allowed to stay in this room any where else is off limits to you.";
+ mes "";
+ next;
+ mes "[Aire]";
+ mes "We can't just let anyone become a dancer, there is no reason other than this for people to be here.";
+ next;
+ mes "[Aire]";
+ mes "You can stay and watch the dance stage if you want to, there might be an audition going on.";
+ mes "See you later.";
+ close;
+Ldancer:
+ mes "[Aire]";
+ mes "Nice to see you return.";
+ mes "How have you been recently?";
+ mes "Have you been bringing many people joy?";
+ close;
+Larcher:
+ if (Upper == 1) goto LUpper1;
+ if (DANC_Q == 1) goto LStart2;
+ if (DANC_Q == 2) goto LItem1;
+ if (DANC_Q == 3) goto LItem2;
+ if (DANC_Q == 4) goto LItem3;
+ if ((DANC_Q == 5) || (DANC_Q == 6)) goto LStart3;
+ if (DANC_Q >= 7) goto LStart4;
+ mes "[Aire]";
+ mes "Welcome to our Theater.";
+ mes "This is where various dances are taught.";
+ next;
+ mes "[Aire]";
+ mes "Sightseers visit from all other the place, to watch the dancers.";
+ next;
+ mes "[Aire]";
+ mes "We can also train new dancers here, obviously for a price, we dont want to go out of business.";
+ next;
+ mes "[Aire]";
+ mes "You must first fill in the application form.";
+ mes "All you have to do is write in your details.";
+ next;
+ mes "[Aire]";
+ mes "So what do you say?";
+ mes "Are you proposing you become a dancer? or will you be leaving like many before you.";
+ next;
+ menu "Fill in the form",L1,"Leave",-;
+ mes "[Aire]";
+ mes "If you do reconcider please return to me.";
+ mes "See you later.";
+ close;
+L1:
+ if (JobLevel < 40) goto Llowlv;
+ mes "[Aire]";
+ mes "So you are ready to start you journey!";
+ mes "Please enter in the application form which is there.";
+ next;
+ mes "......";
+ next;
+ mes "......Filling in information......";
+ next;
+ mes "......";
+ next;
+ mes "[Aire]";
+ mes "Your name......";
+ mes strcharinfo(0)+"......";
+ mes "That is a cute name!";
+ next;
+ mes "[Aire]";
+ mes "You will need to do a little waiting.";
+ mes "The form is being read be the dancing schools teacher.";
+ next;
+ mes "[Aire]";
+ mes "When you have time for the next part or your journey talk to me again";
+ set DANC_Q,1;
+ close;
+LStart2:
+ mes "[Aire]";
+ mes "You proposal has been accepted, but you still need to bring some items, and maybe zeny to cover the bill of our school.";
+ next;
+ mes "[Aire]";
+ mes "Lets see what items you will need to bring to cover your bill.";
+ mes " ";
+ mes "Ok...";
+ next;
+//3 Random sets
+ mes "[Aire]";
+ set @itemset, rand(1,3);
+ if (@itemset == 2) goto ItemSet2;
+ if (@itemset == 3) goto ItemSet3;
+
+ mes "The cost for the lesson will be :-";
+ mes "^0000FF10,000 Zeny^000000";
+ mes "A pair of ^0000FFUnslotted Shoes^000000";
+ mes "^0000FF20 Sticky Mucus^000000";
+ mes "^0000FF5 Red Potions^000000";
+ mes "^0000FF3 Jellopy^000000";
+ next;
+ mes "[Aire]";
+ mes "When you have all these, I can prepare the lesson for you.";
+ mes " ";
+ mes "Come an speak to me again when you are ready.";
+ set DANC_Q,2;
+ close;
+ItemSet2:
+ mes "The cost for the lesson will be :-";
+ mes "^0000FF10,000 Zeny^000000";
+ mes "A pair of ^0000FFUnslotted Boots^000000";
+ mes "^0000FF5 earthworm skins^000000";
+ next;
+ mes "[Aire]";
+ mes "When you have all these, I can prepare the lesson for you.";
+ mes " ";
+ mes "Come an speak to me again when you are ready.";
+ set DANC_Q,3;
+ close;
+ItemSet3:
+ mes "The cost for the lesson will be :-";
+ mes "A pair of ^0000FFUnslotted Sandals^000000";
+ mes "^0000FF2 Clam Shells^000000";
+ mes "^0000FF5 Yellow Potions^000000";
+ mes "^0000FF20 Jellopy^000000";
+ mes "^0000FF10 Black Hair^000000";
+ next;
+ mes "[Aire]";
+ mes "When you have all these, I can prepare the lesson for you.";
+ mes "Come an speak to me again when you are ready.";
+ set DANC_Q,4;
+ close;
+
+LItem1:
+ if ((Countitem(938) >= 20) && (Countitem(501) >= 5) && (Countitem(909) >= 3) && (Countitem(2403) >= 1) && (Zeny >= 10000)) goto LItem1OK;
+ mes "[Aire]";
+ mes "Something is wrong here.";
+ mes "Seems you dont have enough items, we need everything that was asked for.";
+ mes "They are all necessary for you to be taught.";
+ mes "Incase you have forgoten, please bring.";
+ next;
+ mes "[Aire]";
+ mes "^0000FF10000 Zeny^000000";
+ mes "A pair of ^0000FFUnslotted Shoes^000000";
+ mes "^0000FF20 Sticky Mucus^000000";
+ mes "^0000FF5 Red Potions^000000";
+ mes "^0000FF3 Jellopy^000000";
+ next;
+ mes "[Aire]";
+ mes "Dont forget to get everything.";
+ mes "What are you waiting for?";
+ mes "see you back here soon";
+ close;
+LItem2:
+ if ((Countitem(1055) >= 5) && (Countitem(2405) >= 1) && (Zeny >= 10000)) goto LItem2OK;
+ mes "Something is wrong here.";
+ mes "Seems you dont have enough items, we need everything that was asked for.";
+ mes "They are all necessary for you to be taught.";
+ mes "Incase you have forgoten, please bring.";
+ next;
+ mes "[Aire]";
+ mes "^0000FF10000 Zeny^000000";
+ mes "A pair of ^0000FFUnslotted Boots^000000";
+ mes "^0000FF5 earthworm skins^000000";
+ next;
+ mes "[Aire]";
+ mes "Dont forget to get everything.";
+ mes "What are you waiting for?";
+ mes "see you back here soon";
+ close;
+LItem3:
+ if ((Countitem(965) >= 2) && (Countitem(503) >= 5) && (Countitem(909) >= 20) && (Countitem(1020) >= 10) && (Countitem(2401) >= 1)) goto LItem3OK;
+ mes "Something is wrong here.";
+ mes "Seems you dont have enough items, we need everything that was asked for.";
+ mes "They are all necessary for you to be taught.";
+ mes "Incase you have forgoten, please bring.";
+ next;
+ mes "[Aire]";
+ mes "A pair of ^0000FFUnslotted Sandals^000000";
+ mes "^0000FF2 Clam Shells^000000";
+ mes "^0000FF5 Yellow Potions^000000";
+ mes "^0000FF20 Jellopy^000000";
+ mes "^0000FF10 Black Hair^000000";
+ next;
+ mes "[Aire]";
+ mes "Dont forget to get everything.";
+ mes "What are you waiting for?";
+ mes "see you back here soon";
+ close;
+LItem1OK:
+ mes "[Aire]";
+ mes "Lets see here, oh you brought everything.";
+ mes "I accept your payment!";
+ set Zeny,Zeny-10000;
+ delitem 938,20;
+ delitem 501,5;
+ delitem 909,3;
+ delitem 2403,1;
+ next;
+ goto LStart3;
+LItem2OK:
+ mes "[Aire]";
+ mes "Lets see here, oh you brought everything.";
+ mes "I accept your payment!";
+ set Zeny,Zeny-10000;
+ delitem 1055,5;
+ delitem 2405,1;
+ next;
+ goto LStart3;
+LItem3OK:
+ mes "[Aire]";
+ mes "Lets see here, oh you brought everything.";
+ mes "I accept your payment!";
+ delitem 965,2;
+ delitem 503,5;
+ delitem 909,20;
+ delitem 1020,10;
+ delitem 2401,1;
+ next;
+LStart3:
+ mes "[Aire]";
+ mes "Now the cost of the training is out of that way, we need you to participate in an interview, and pass a small test to be worthy of becoming a dancer.";
+ next;
+ mes "[Aire]";
+ mes "Your interview and test will be performed by ^0000FF'Bijou'^000000.";
+ mes "Please go and see her as soon as posible.";
+ if (DANC_Q < 5) set DANC_Q,5;
+ close;
+LStart4:
+ mes "[Aire]";
+ mes "Practicing enthusiastically, that cute dance.";
+ mes "When you have completed your training please show me!";
+ close;
+Llowlv:
+ mes "[Aire]";
+ mes "Huh......";
+ mes "I am very sorry, but you have not met our minimun job lvl requirments.";
+ next;
+ mes "[Aire]";
+ mes "You need to be at least above Job Lvl 40.";
+ mes "Please return when you are Job Lvl 40 or higher.";
+ mes "Dont tell anyone I told you this, if you complete the training as a dancer and you are Job Lvl 50 you get an extra gift from us.";
+ mes "Enjoy your day.";
+ close;
+LUpper1:
+ mes "[Aire]";
+ mes "It's such a big honor to salute envoys of Valhalla.";
+ mes "Come again.";
+ emotion 2;
+ close;
+
+}
+//= 2nd "Quest" and Job changer for after the 3rd Quest
+job_duncer.gat,95,93,4 script Bijou 101,{
+ if ((basejob == 3) && (Sex == 0)) goto LArcher;
+ if (basejob == 20) goto LDancer;
+ mes "[Bijou]";
+ mes "Welcome to our Dance Theater, there are many dancers around here.";
+ next;
+ mes "[Bijou]";
+ mes "Unfortunatally for you I have already retired from being a dancer, but I stay here to train new dancers.";
+ next;
+ mes "[Bijou]";
+ mes "The hardest part of becoming a dancing is the physical test of timing and speed, it is done at the stage.";
+ mes "";
+ mes "I then call out direction to the trainee, and they need to follow they to the letter.";
+ mes "If they complete that test they come back to me for the final part of there training, and they leave as a dancer.";
+ close;
+LDancer:
+ mes "[Bijou]";
+ mes "What have you be doing today?";
+ next;
+ mes "[Bijou]";
+ mes "Go and bring joy to all ther others that you see.";
+ mes "Making impression on the many people.";
+ mes "Help other as much as possible.";
+ mes "Dont forget your training.";
+ mes "See you again soon!";
+ close;
+LArcher:
+ if (Skillpoint != 0) goto LErrorA;
+ if (DANC_Q == 5) goto Ltest1;
+ if (DANC_Q == 6) goto Ltest2;
+ if ((DANC_Q == 7) || (DANC_Q == 8)) goto LStart2;
+ if (DANC_Q == 10) goto Ljobchange;
+ mes "[Bijou]";
+ mes "So you want to become a dancer, eh?";
+ next;
+ mes "[Bijou]";
+ mes "Well, it seems you havent paid anything towards it yet.";
+ mes "First you need to fill in an application, and be accepted.";
+ mes "Once accepted you will need to find payment, they can be all items, or some items and zeny.";
+ mes "The person you need to go and talk to about this is 'Aire' she is the other side of the stage.";
+ mes "When everything is ok with her come back to me.";
+ close;
+LErrorA:
+ mes "[Bijou]";
+ mes "You still seem to have skill points.";
+ mes "Untill you use all of your point you cannot change jobs.";
+ close;
+Ltest1:
+ mes "[Bijou]";
+ mes "So you want to become a dancer, eh?";
+ next;
+ mes "[Bijou]";
+ mes "......You have already paid I see, so we can now continue.";
+ next;
+ mes "[Bijou]";
+ mes "Before I can let you become a Dancer I need to test you mental attitude, this is done through a simple test.";
+ mes "It is multiple choice and alot of them are common sence, well common for someone that has the mental attitude to become a dancer.";
+ next;
+ mes "[Bijou]";
+ mes "There is a total of 10 questions, for each one you get correct you are awarded 10 points.";
+ mes " ";
+ mes "There are some answers that will reduce your final score, try and avoid answering them wrong.";
+ next;
+ goto LsetQ;
+Ltest2:
+ mes "[Bijou]";
+ if(DANC_Q == 6) mes "Back for another try?";
+ mes "Good luck to you, now let the test begin.";
+ next;
+LsetQ:
+ set @rand,rand(2);
+ set @dcpoint,0;
+ if (@rand == 1) goto LQuestion2;
+//-------
+LQuestion1:
+ mes "[Bijou]";
+ mes "1.";
+ mes "^00FF00Subject:^000000 Dancer + bard combination playing skill.";
+ mes "What is the effect of ^777777'Classical Pluck/Lokis Veil'^000000 ?";
+ next;
+ menu "Attack power of the level 4 weapon improves",L1_2,"Double the damage is done",L1_2,"Makes skills and magics unusable",-,"Attack speed rises",L1_2;
+ set @dcpoint,@dcpoint+10;
+L1_2:
+//I am unsure about the translated meaning on Question 2, I tried to adapt it with my own question,
+//I will put a asterisk (*) next to all I have done this for, I done this so other people who might understand it better can correct it.
+ mes "[Bijou]";
+ mes "2.";
+ mes "^00FF00Subject:^000000 After Dancing.";
+ mes "After you have finished using an Ensemble skill with a partner what should you never do?";
+ next;
+ menu "Use words of appreciation towards the partner",L1_3,"The dance is praised",L1_3,"Invite the partner to dance again",L1_3,"You tell the partner they did an insufficient job",-;
+ set @dcpoint,@dcpoint+10;
+L1_3:
+// *
+ mes "[Bijou]";
+ mes "3.";
+ mes "^00FF00Subject:^000000 Before Dancing";
+ mes "When a partner activates the incorrect dance what should you do?";
+ next;
+ menu "Smile and just continue to dance",L1_4,"Point out the mistake",-,"Cancel the dance and walk away",L1_4,"Hide your smerk",L1_4;
+ set @dcpoint,@dcpoint+10;
+L1_4:
+ mes "[Bijou]";
+ mes "4.";
+ mes "^00FF00Subject:^000000 General Knowledge.";
+ mes "What is the name of the village where you can designate the change of your occupation to that of a dancer?";
+ next;
+ menu "Prontera",L1_5,"Morroc",L1_5,"Al De Baran",L1_5,"Comodo",-;
+ set @dcpoint,@dcpoint+10;
+L1_5:
+ mes "[Bijou]";
+ mes "5.";
+ mes "^00FF00Subject:^000000 Places around Comodo.";
+ mes "How many caves are directally connect to Comodo Village?";
+ next;
+ menu "1",L1_6,"2",L1_6,"3",-,"4",L1_6;
+ set @dcpoint,@dcpoint+10;
+L1_6:
+ mes "[Bijou]";
+ mes "6.";
+ mes "^00FF00Subject:^000000 Pet's.";
+ mes "Which of the following is not able to be tamed?";
+ next;
+ menu "Isis",L1_7,"Argiope",-,"Dokebi",L1_7,"Deviruchi",L1_7;
+ set @dcpoint,@dcpoint+10;
+L1_7:
+ mes "[Bijou]";
+ mes "7.";
+ mes "^00FF00Subject:^000000 General Knowledge.";
+ mes "Who is the best dancer?";
+ next;
+ menu strcharinfo(0),L1_7a,"Bijou",-,"Isis",L1_8,"Flora",L1_8;
+ set @dcpoint,@dcpoint+10;
+ goto L1_8;
+ L1_7a:
+ set @dcpoint,@dcpoint-100;
+ mes ".........";
+ next;
+L1_8:
+// *
+ mes "[Bijou]";
+ mes "8.";
+ mes "^00FF00Subject:^000000 Places around Comodo.";
+ mes "What is one of the main attractions of Comodo?";
+ next;
+ menu "A Church",L1_9,"Exceptionally good shops",L1_9,"The best chicken you can get anywhere",L1_9,"The Casino",-;
+ set @dcpoint,@dcpoint+10;
+L1_9:
+ mes "[...]";
+ mes "9.";
+ mes "^00FF00Subject:^000000 General Knowledge.";
+ mes "What is my name?";
+ next;
+ menu "Gijou",L1_10,"Bijon",L1_10,"Bijou",-,"Bojou",L1_10;
+ set @dcpoint,@dcpoint+10;
+// *
+L1_10:
+ mes "[Bijou]";
+ mes "10.";
+ mes "^00FF00Subject:^000000 Dancer + bard combination playing skill.";
+ mes "What is the effect of ^777777'Lullaby'^000000 ?";
+ next;
+ menu "Put enemy to sleep, in a 5x5 area",Lcheckpt,"Put enemy to sleep, in a 9x9 area",-,"Stun the enemy, in a 5x5 area",Lcheckpt,"Stun the enemy, in a 9x9 area",Lcheckpt;
+ set @dcpoint,@dcpoint+10;
+ goto Lcheckpt;
+//-------
+LQuestion2:
+ mes "[Bijou]";
+ mes "1.";
+ mes "^00FF00Subject:^000000 Dancer skill.";
+ mes "What is the effect of ^777777'Dancing Lessons'^000000? ";
+ next;
+ menu "Your INT is increased",L2_2,"The damage of whip type attacks are raised",-,"The damage of rod type attacks are raised",L2_2,"The damage of ranged type attacks are raised",L2_2;
+ set @dcpoint,@dcpoint+10;
+L2_2:
+ mes "[Bijou]";
+ mes "2.";
+ mes "^00FF00Subject:^000000 Dance Type.";
+ mes "While doing this type of dance, you wear special shoes that make loud sounds";
+ mes "What is this type of dancing called?";
+ next;
+ menu "Tap dance",-,"Improved Concentration",L2_3,"Tango",L2_3,"Salsa",L2_3;
+ set @dcpoint,@dcpoint+10;
+L2_3:
+ mes "[Bijou]";
+ mes "3.";
+ mes "^00FF00Subject:^000000 Dancer feature.";
+ mes "Choose the thing a dancer cannot do";
+ next;
+ menu "Perform Dances",L2_4,"Attack at a long range",L2_4,"Use a Whip",L2_4,"Use a 2-Handed Sword",-;
+ set @dcpoint,@dcpoint+10;
+L2_4:
+ mes "[Bijou]";
+ mes "4.";
+ mes "^00FF00Subject:^000000 General Knowledge.";
+ mes "What is the town where dancers stay the most?";
+ next;
+ menu "Al De Baran",L2_5,"Yuno",L2_5,"Morroc",L2_5,"Comodo",-;
+ set @dcpoint,@dcpoint+10;
+L2_5:
+ mes "[Bijou]";
+ mes "5.";
+ mes "^00FF00Subject:^000000 General Knowledge.";
+ mes "What person can perfrom the most beautiful dances?";
+ next;
+ menu strcharinfo(0),L2_5a,"Bijou",-,"Isis",L2_6,"Emralhandas",L2_6;
+ set @dcpoint,@dcpoint+10;
+ goto L2_6;
+ L2_5a:
+ set @dcpoint,@dcpoint-100;
+L2_6:
+ mes "[Bijou]";
+ mes "6.";
+ mes "^00FF00Subject:^000000 Dancer feature.";
+ mes "The dancer, in comparison with other occupations, has what advantage?";
+ next;
+ menu "Physical strength",L2_7,"Performing skill power",L2_7,"Dance Capability",-,"Magic Capability",L2_7;
+ set @dcpoint,@dcpoint+10;
+L2_7:
+ mes "[Bijou]";
+ mes "7.";
+ mes "^00FF00Subject:^000000 Places around Comodo.";
+ mes "What is the Casino managers name?";
+ next;
+ menu "Martine",L2_8,"Roberto",L2_8,"Moo",-,"Deniroz",L2_8;
+ set @dcpoint,@dcpoint+10;
+L2_8:
+ mes "[Bijou]";
+ mes "8.";
+ mes "^00FF00Subject:^000000 Dancer feature.";
+ mes "As for the item which the dancer cannot equip?";
+ next;
+ menu "Hair band of cat",L2_9,"Two-handed Sword",-,"Sandals",L2_9,"Earring",L2_9;
+ set @dcpoint,@dcpoint+10;
+L2_9:
+ mes "[Bijou]";
+ mes "9.";
+ mes "^00FF00Subject:^000000 Opinion.";
+ mes "Do you think this test is boring?";
+ next;
+ menu "It is",L2_10,"Give me more questions",-;
+ set @dcpoint,@dcpoint+10;
+L2_10:
+ mes "[Bijou]";
+ mes "10.";
+ mes "^00FF00Subject:^000000 Places around Comodo.";
+ mes "How many lighthouses exist on Comodo Island?";
+ next;
+ menu "1",-,"2",Lcheckpt,"3",Lcheckpt;
+ set @dcpoint,@dcpoint+10;
+ goto Lcheckpt;
+//-------
+Lcheckpt:
+ mes "[Bijou]";
+ mes "You have now completed the test, lets see how you did......";
+ next;
+ mes "[Bijou]";
+ mes "You got a total of "+@dcpoint+" points......";
+ if ((@dcpoint >= 80) && (DANC_Q == 5)) goto LpointOK;
+ if ((@dcpoint >= 70) && (DANC_Q == 6)) goto LpointOK;
+ mes "I am going to need to disqualify you, cause you didnt reach the required ammount.";
+ next;
+ mes "[Bijou]";
+ mes "You are allowed to take the test again if you like, for no extra charge.";
+ if (DANC_Q==5) mes "Next time you take the test I will lower the ammount of points you need to pass, to make it easier for you.";
+ mes "Better luck next time, see you around!";
+ set DANC_Q,6;
+ close;
+ LpointOK:
+ if (@dcpoint == 100) mes "That is amazing, 100% correct.";
+ if (@dcpoint != 100) mes "Even though you didnt get all the questions right, you have still passed.";
+ next;
+ mes "[Bijou]";
+ mes "The next thing you need to do is pass a phyical test, of speed and timing";
+ mes "when you are ready for this test talk to me again, I can also tell you more about the test before you take it.";
+ set DANC_Q,7;
+ close;
+LStart2:
+ mes "[Bijou]";
+ mes "Are you ready for this test? or do you want me to talk you through it first?";
+ next;
+ menu "Please Explain it to me",-,"Take me to the test area",Lwarp;
+ mes "[Bijou]";
+ mes "Think of this more as an audition than a test.";
+ mes "We give you ^0000FF1 minute^000000 to impress us.";
+ next;
+ mes "[Bijou]";
+ mes "There can only be ^0000FFone person^000000 at a time dancing on the stage.";
+ next;
+ mes "[Bijou]";
+ mes "If there are people are infront of you stay in the ^0000FFwaiting room^000000 untill you hear the person infront of you has past or fails their test.";
+ next;
+ mes "[Bijou]";
+ mes "Click in the window above the waiting room guide to get sent to the dance stage, if there is someone already on the stage it will not allow you to enter, you will need to wait.";
+ next;
+ mes "[Bijou]";
+ mes "When you get put onto the stage get into a ^0000FFposition which can look around the whole stage^000000.";
+ next;
+ mes "[Bijou]";
+ mes "Once you get onto the stage I will annouce that the time has started.";
+ mes "Then I will start calling out directions for you to take.";
+ next;
+ mes "[Bijou]";
+ mes "You then need to follow them directions as quickly as possible.";
+ mes "^FF0000[ < ]^000000 = Move to the left";
+ mes "^FF0000[ > ]^000000 = Move to the right";
+ mes "^FF0000[ * ]^000000 = Go back to the center of the stage";
+ mes "^FF0000[ \\/ ]^000000 = Move down towards the front of the stage";
+ mes "^FF0000[ /\\ ]^000000 = Move up towards the back of the stage";
+ next;
+ mes "[Bijou]";
+ mes "There are some other things you will need to do, so just be ready will your skills and bow just incase.";
+ next;
+ mes "[Bijou]";
+ mes "Dont worry if you have no experience of dance, that is what this is for, so you dont need to worry.";
+ close;
+ Lwarp:
+ mes "[Bijou]";
+ mes "I will take you back stage so you can take you test!";
+ set DANC_Q,8;
+ close2;
+ warp "job_duncer.gat",104,109;
+ end;
+Ljobchange:
+ mes "[Bijou]";
+ mes "You have done great, you have passed all the tests we have set out for you.";
+ next;
+ mes "[Bijou]";
+ mes "I now think you have sufficient knowledge to become a dancer now!";
+ next;
+ mes "[Bijou]";
+ mes "Now...... please relax as we finish our training here.";
+ next;
+ mes "[Bijou]";
+ mes "It will be your job to bring joy to all the people in Rune Midgard.";
+ next;
+ if (JobLevel == 50) set @item,1;
+ if (JobLevel != 50) set @item,0;
+ mes "[Bijou]";
+ mes "Watch each time you dance from now on.";
+ next;
+ callfunc "Job_Change",Job_Dancer;
+ callfunc "F_ClearJobVar";
+ mes "[Bijou]";
+ mes "The enjoyment of the people watching you perform......";
+ next;
+ mes "[Bijou]";
+ mes "This is present from me!";
+ if (@item == 0) getitem 1950,1;
+ if (@item == 0) mes "Now take this Rope, and be the best dancer you can be!";
+ if (@item == 1) getitem 1953,1;
+ if (@item == 1) mes "Since you are very experienced I have given you a Line, instead of a simple Rope the normal people would get.";
+ if (@item == 1) mes "Now take you Line, and be the best dancer you can be!";
+ close;
+
+}
+//=Start of the 3rd quest is here, once complete you go back to Bijou to change job
+job_duncer.gat,32,152,6 script Guide::dancew 69,{
+ close;
+OnWarp:
+ warpwaitingpc "job_duncer.gat",70,112,1;
+ disablewaitingroomevent;
+ initnpctimer "jobDq";
+ end;
+OnInit:
+ waitingroom "Dance lesson waiting room",20,"dancew::OnWarp",1;
+ end;
+}
+job_duncer.gat,0,0,0 script jobDq -1,{
+ end;
+OnTimer1000:
+ mapannounce "job_duncer.gat","Bijou: The test begins, Total time allowed is 1 minute.",8;
+ end;
+OnTimer3000:
+ mapannounce "job_duncer.gat","Bijou: Step Up! [ /\\ ]",8;
+ callsub L_SUB1,2000;
+ end;
+OnTimer7000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: To the bottom. [ \\/ ]",8;
+ callsub L_SUB5,2000;
+ end;
+OnTimer11000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: To the left. [ < ]",8;
+ callsub L_SUB2,2000;
+ end;
+OnTimer15000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: Go to the right. [ > ]",8;
+ callsub L_SUB4,2000;
+ end;
+OnTimer19000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: Return to the middle. [ * ]",8;
+ callsub L_SUB3,3000;
+ end;
+OnTimer21000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: Stay still!",8;
+ end;
+OnTimer26000:
+ set @skillcheck,Sp;
+ mapannounce "job_duncer.gat","Bijou: Use 'Improved Concentration'!",8;
+ end;
+OnTimer29000:
+ if (@skillcheck==Sp) goto OnTimer80000;
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: To the left. [ < ]",8;
+ callsub L_SUB2,2000;
+ end;
+OnTimer33000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: To the bottom. [ \\/ ]",8;
+ end;
+OnTimer35000:
+ mapannounce "job_duncer.gat","Bijou: Directly the right! [ > ]",8;
+ callsub L_SUB4,3000;
+ end;
+OnTimer38000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: Stay still!",8;
+ end;
+OnTimer41000:
+ mapannounce "job_duncer.gat","Bijou: The left * center * right * top [ < ] [ * ] [ > ] [ /\\ ]",8;
+ callsub L_SUB1,0;
+ end;
+OnTimer47000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: To the right. [ > ] ",8;
+ callsub L_SUB4,3000;
+ end;
+OnTimer50000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: The left * center * down * up: [ < ] [ * ] [ \\/ ] [ /\\ ] ",8;
+ callsub L_SUB1,0;
+ end;
+OnTimer56000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: Once again, the left * center * down * up: [ < ] [ * ] [ \\/ ] [ /\\ ]",8;
+ callsub L_SUB1,0;
+ end;
+OnTimer62000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: Down! [ \\/ ]",8;
+ callsub L_SUB5,2500;
+ end;
+OnTimer65000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: To the left! [ < ]",8;
+ callsub L_SUB2,2500;
+ end;
+OnTimer68000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: Return to the middle. [ * ]",8;
+ callsub L_SUB3,2500;
+ end;
+OnTimer71000:
+ donpcevent "::OnDE1";
+ mapannounce "job_duncer.gat","Bijou: Kill the monster using Arrow Shower!",8;
+ set @skillcheck,Sp;
+ monster "job_duncer.gat",69,106,"Poring",1002,1,"jddie";
+ end;
+OnTimer76000:
+ killmonsterall "job_duncer.gat";
+ end;
+OnTimer80000:
+ mapannounce "job_duncer.gat","Dancer: You was a bit too slow, sorry you have failed.",8;
+ disablenpc "uppertile";
+ disablenpc "lefttile";
+ disablenpc "righttile";
+ disablenpc "lowertile";
+ disablenpc "middletile";
+ if (getareausers("job_duncer.gat",68,106,70,114) != 0) areawarp "job_duncer.gat",68,106,70,114,"job_duncer.gat",69,102;
+ if (getareausers("job_duncer.gat",65,109,73,111) != 0) areawarp "job_duncer.gat",65,109,73,111,"job_duncer.gat",69,102;
+ stopnpctimer;
+ enablewaitingroomevent "dancew";
+ end;
+L_SUB1:
+ disablenpc "lefttile";
+ disablenpc "middletile";
+ disablenpc "righttile";
+ disablenpc "lowertile";
+ setnpctimer getarg(0),"jdt1";
+ startnpctimer "jdt1";
+ return;
+L_SUB2:
+ disablenpc "uppertile";
+ disablenpc "middletile";
+ disablenpc "righttile";
+ disablenpc "lowertile";
+ setnpctimer getarg(0),"jdt2";
+ startnpctimer "jdt2";
+ return;
+L_SUB3:
+ disablenpc "uppertile";
+ disablenpc "lefttile";
+ disablenpc "righttile";
+ disablenpc "lowertile";
+ setnpctimer getarg(0),"jdt3";
+ startnpctimer "jdt3";
+ return;
+L_SUB4:
+ disablenpc "lefttile";
+ disablenpc "middletile";
+ disablenpc "uppertile";
+ disablenpc "lowertile";
+ setnpctimer getarg(0),"jdt4";
+ startnpctimer "jdt4";
+ return;
+L_SUB5:
+ disablenpc "lefttile";
+ disablenpc "middletile";
+ disablenpc "righttile";
+ disablenpc "uppertile";
+ setnpctimer getarg(0),"jdt5";
+ startnpctimer "jdt5";
+ return;
+}
+job_duncer.gat,0,0,0 script jddie -1,{
+ if (@skillcheck==Sp) set @check,1;
+ if (@check==0) mapannounce "job_duncer.gat","Dancer: Well done, you were very skillful, and have passed the test.",8;
+ if (@check==1) mapannounce "job_duncer.gat","Dancer: Sorry "+strcharinfo(0)+" the failed to use arrow shower to kill the monster",8;
+ disablenpc "uppertile";
+ disablenpc "lefttile";
+ disablenpc "righttile";
+ disablenpc "lowertile";
+ disablenpc "middletile";
+ if (@check==0) set DANC_Q,10;
+ stopnpctimer "jobDq";
+ enablewaitingroomevent "dancew";
+ if (@check==1) set @check,0;
+ warp "job_duncer.gat",69,102;
+ end;
+}
+job_duncer.gat,63,110,4 script Back dancer #1::jdt1 724,{
+ end;
+OnTimer5000:
+ enablenpc "lefttile";
+ enablenpc "middletile";
+ enablenpc "righttile";
+ enablenpc "lowertile";
+ stopnpctimer;
+ end;
+OnDE1:
+ emotion 21;
+ end;
+OnDE2:
+ emotion 23;
+ end;
+}
+job_duncer.gat,66,113,4 script Back dancer #2::jdt2 724,{
+ end;
+OnTimer5000:
+ enablenpc "uppertile";
+ enablenpc "middletile";
+ enablenpc "righttile";
+ enablenpc "lowertile";
+ stopnpctimer;
+ end;
+OnDE1:
+ emotion 21;
+ end;
+OnDE2:
+ emotion 23;
+ end;
+}
+job_duncer.gat,72,113,4 script Back dancer #3::jdt3 724,{
+ end;
+OnTimer5000:
+ enablenpc "lefttile";
+ enablenpc "uppertile";
+ enablenpc "righttile";
+ enablenpc "lowertile";
+ stopnpctimer;
+ end;
+OnDE1:
+ emotion 21;
+ end;
+OnDE2:
+ emotion 23;
+ end;
+}
+job_duncer.gat,75,110,4 script Back dancer #4::jdt4 724,{
+ end;
+OnTimer5000:
+ enablenpc "lefttile";
+ enablenpc "middletile";
+ enablenpc "uppertile";
+ enablenpc "lowertile";
+ stopnpctimer;
+ end;
+OnDE1:
+ emotion 21;
+ end;
+OnDE2:
+ emotion 23;
+ end;
+}
+job_duncer.gat,75,110,4 script jdt5 139,{
+ end;
+OnTimer5000:
+ enablenpc "lefttile";
+ enablenpc "middletile";
+ enablenpc "righttile";
+ enablenpc "uppertile";
+ stopnpctimer;
+ end;
+}
+job_duncer.gat,69,113,4 script uppertile 139,1,1,{
+ end;
+OnTouch:
+ mapannounce "job_duncer.gat","Dancer: Sorry "+strcharinfo(0)+" the failed to make it in time.",8;
+ disablenpc "uppertile";
+ disablenpc "lefttile";
+ disablenpc "righttile";
+ disablenpc "lowertile";
+ disablenpc "middletile";
+ enablewaitingroomevent "dancew";
+ stopnpctimer "jobDq";
+ areawarp "job_duncer.gat",68,112,70,114,"job_duncer.gat",69,102;
+ donpcevent "::OnDE2";
+ end;
+OnDE1:
+OnInit:
+ disablenpc "uppertile";
+ end;
+}
+job_duncer.gat,66,110,4 script lefttile 139,1,1,{
+ end;
+OnTouch:
+ mapannounce "job_duncer.gat","Dancer: Sorry "+strcharinfo(0)+" the failed to make it in time.",8;
+ disablenpc "uppertile";
+ disablenpc "lefttile";
+ disablenpc "righttile";
+ disablenpc "lowertile";
+ disablenpc "middletile";
+ enablewaitingroomevent "dancew";
+ stopnpctimer "jobDq";
+ areawarp "job_duncer.gat",65,109,67,111,"job_duncer.gat",69,102;
+ donpcevent "::OnDE2";
+ end;
+OnDE1:
+OnInit:
+ disablenpc "lefttile";
+ end;
+}
+job_duncer.gat,69,110,4 script middletile 139,1,1,{
+ end;
+OnTouch:
+ mapannounce "job_duncer.gat","Dancer: Sorry "+strcharinfo(0)+" the failed to make it in time.",8;
+ disablenpc "uppertile";
+ disablenpc "lefttile";
+ disablenpc "righttile";
+ disablenpc "lowertile";
+ disablenpc "middletile";
+ enablewaitingroomevent "dancew";
+ stopnpctimer "jobDq";
+ areawarp "job_duncer.gat",68,109,70,111,"job_duncer.gat",69,102;
+ donpcevent "::OnDE2";
+ end;
+OnDE1:
+OnInit:
+ disablenpc "middletile";
+ end;
+}
+job_duncer.gat,72,110,4 script righttile 139,1,1,{
+ end;
+OnTouch:
+ mapannounce "job_duncer.gat","Dancer: Sorry "+strcharinfo(0)+" the failed to make it in time.",8;
+ disablenpc "uppertile";
+ disablenpc "lefttile";
+ disablenpc "righttile";
+ disablenpc "lowertile";
+ disablenpc "middletile";
+ enablewaitingroomevent "dancew";
+ stopnpctimer "jobDq";
+ areawarp "job_duncer.gat",71,109,73,111,"job_duncer.gat",69,102;
+ donpcevent "::OnDE2";
+ end;
+OnDE1:
+OnInit:
+ disablenpc "righttile";
+ end;
+}
+job_duncer.gat,69,107,4 script lowertile 139,1,1,{
+ end;
+OnTouch:
+ mapannounce "job_duncer.gat","Dancer: Sorry "+strcharinfo(0)+" the failed to make it in time.",8;
+ disablenpc "uppertile";
+ disablenpc "lefttile";
+ disablenpc "righttile";
+ disablenpc "lowertile";
+ disablenpc "middletile";
+ enablewaitingroomevent "dancew";
+ stopnpctimer "jobDq";
+ areawarp "job_duncer.gat",68,106,70,108,"job_duncer.gat",69,102;
+ donpcevent "::OnDE2";
+ end;
+OnDE1:
+OnInit:
+ disablenpc "lowertile";
+ end;
+}
+//= Some test NPC, activate these if you wanna try out the dance portion of the quest
+//==================================================================
+//job_duncer.gat,69,105,4 script TestDE1 98,{donpcevent "::OnDE1"; close;}
+//job_duncer.gat,69,110,4 script TestDE2 98,{donpcevent "::OnDE2"; close;}
+//job_duncer.gat,66,100,4 script WarpTilesON 98,{disablenpc "uppertile";disablenpc "lefttile";disablenpc "middletile";disablenpc "righttile";disablenpc "lowertile";close;}
+//job_duncer.gat,72,100,4 script WarpTilesOFF 98,{enablenpc "uppertile";enablenpc "lefttile";enablenpc "middletile";enablenpc "righttile";enablenpc "lowertile";close;}
+//==================================================================
+//job_duncer.gat,69,102,4 script Tester NPC 100,{
+// mes "[TEST]";
+// mes "want to take the dancing test?";
+// next;
+// menu "Yes",Lgo,"No",-;
+// close;
+//Lgo:
+// warp "job_duncer.gat",70,112;
+// initnpctimer "jobDq";
+// end;
+//}
diff --git a/npc/jobs/2-2/monk.txt b/npc/jobs/2-2/monk.txt
new file mode 100644
index 000000000..d9af5a8e1
--- /dev/null
+++ b/npc/jobs/2-2/monk.txt
@@ -0,0 +1,1916 @@
+//===== eAthena Script =======================================
+//= Monk Job Quest
+//===== By: ==================================================
+//= Dino9021, Edited / Translated by Celest
+//===== Current Version: =====================================
+//= 1.9
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Monk Job Quests for Athena 2004.12.30
+//===== Additional Comments: =================================
+//= 1.1 Fixed missing '";'. Now it's loading fine [Lupus]
+//= 1.1+ Edited/Translated 5% [Celest]
+//= 1.2 Made Poetry Quiz passable, Fixed Marathon Part [Lupus]
+//= 1.3 Added Baby Class Support [Lupus]
+//= 1.5 Fixed possible EXP abuse [Lupus]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where
+//= to go. [Lupus] 1.7 Fixed warps19/20 [Yor]
+//= 1.8 Fixed bugs. Fixed Green Potion exploit. Getting rid of Jfunc mess [Lupus]
+//= 1.9 Added a missing check in Fuhai and fixed a LOT of Engrish. [Zephiris]
+//============================================================
+
+
+prt_monk.gat,55,249,4 script Tohobu the Guarding Monk 139,0,5,{
+ mes "[Tohobu]";
+ mes "Who are you?!";
+ mes "How dare you enter this holy training place without my permission!!";
+ next;
+ mes "[Tohobu]";
+ mes "Get Out!!";
+ close;
+}
+prt_monk.gat,59,247,4 script Master 120,{
+ callfunc "F_BlockHigh",28,"Acolyte High",39,"Champion","Tohobu";
+
+ if(MONK_Q == 1 ) goto Part1;
+ if(MONK_Q == 2 ) goto Part2;
+ if(MONK_Q > 2 ) goto Part3;
+ if(BaseJob == Job_Monk) goto IsMonk;
+ goto L_START;
+
+IsMonk:
+ mes "[Tohobu]";
+ mes "Your presence is not really desired at the ^00FF00St. Capitolina Abbey^000000.";
+ mes "However, since you are here, please do not disturb the Monks in training,";
+ mes "Even if you are a Monk!";
+ close;
+
+L_START:
+ mes "[Tohobu]";
+ mes "Hmmm...? What do you want from me?";
+ mes "Before entering the Training Area,";
+ mes "You shall have to first tell me your Name, Base Level and Job Level.";
+ next;
+ mes "[Tohobu]";
+ mes "Come! What is your name?";
+ next;
+ menu "Ignore him.",-,"Tell him.",L_MENU_1;
+
+ mes "[Tohobu]";
+ mes "You are so impolite! Get out!";
+ warp "prt_fild03.gat",357,256;
+ end;
+L_MENU_1:
+ mes "[Tohobu]";
+ mes "So... Your name is " + strcharinfo(0) + " Right?";
+ mes "...I believe it is pronounced that way.";
+ mes "Let's see... Job Level is " + JobLevel;
+ next;
+ mes "[Tohobu]";
+ mes "Okay! Why have you come to see me, " + strcharinfo(0) + " ?";
+ next;
+ menu "I'd like to see how Monks train themselves.",L_MENU_1_0,"I want to be a Monk.",L_MENU_1_1,"I'd like to rest here.",L_MENU_1_2;
+
+ L_MENU_1_0:
+ mes "[Tohobu]";
+ mes "Oh! I see.";
+ mes "Okay, I hope you'll learn something from our training,";
+ mes "Perhaps it might aid you in becoming a worthy Monk.";
+ set MONK_Q, 1;
+ close;
+
+ L_MENU_1_1:
+ if(BaseJob != Job_Acolyte) goto IsNot4;
+ if(JobLevel >= 40 ) goto SkillPointChk;
+ mes "[Tohobu]";
+ mes "Your Job Level is not high enough to be a Monk.";
+ mes "Come back when your Job Level is at least 40.";
+ next;
+ mes "[Tohobu]";
+ mes "No need to be hasty, there is so much to learn in this world,";
+ mes "Come back when you have met the requirements... Haha!";
+ close;
+
+ SkillPointChk:
+ if(SkillPoint == 0) goto L_GO;
+ mes "[Tohobu]";
+ mes "Well... It seems that you have the ability to be a Monk,";
+ mes "But I believe there are still skills you have yet to learn.";
+ mes "Come back when you have learned all your skills.";
+ close;
+
+ IsNot4:
+ mes "[Tohobu]";
+ mes "Oh! Are you kidding?";
+ close;
+
+ L_GO:
+ mes "[Tohobu]";
+ mes "Well... Seems you have the ability to be a Monk.";
+ mes "Very well then... Go to Wuhai the Elder, He will guide you.";
+ // used to determine what item to get at the end
+ if(JobLevel == 50) set JBLVL, 50; // used to determine what item to get at the end
+ set MONK_Q, 2;
+ close;
+
+ L_MENU_1_2:
+ mes "[Tohobu]";
+ mes "Alright, you do look tired from your travels...";
+ mes "Perhaps it would be good to rest awhile.";
+ mes "Go ahead and rest at the Abbey before leaving!";
+ next;
+ mes "[Tohobu]";
+ mes "Persevering in order to gain more strength is the way of life of the Monks.";
+ mes "I hope that seeing our practises will at least bring you some inner peace.";
+ close;
+Part1:
+ mes "[Tohobu]";
+ mes "Well? Have you changed your mind after looking around here?";
+ next;
+ menu "Nope.",L_MENU_1_0,"I want to be a Monk",L_MENU_1_1,"I need more rest.",L_MENU_1_2;
+
+Part2:
+ mes "[Tohobu]";
+ mes "Hello there! You should go to Wuhai the Elder. He will guide you.";
+ mes "He is in the Monastery Hall, South East from here";
+ close;
+
+Part3:
+ mes "[Tohobu]";
+ mes "Ah, Hello there! How is your training? Surely you're not going to give up?";
+ close;
+}
+
+monk_in.gat,99,58,4 script Elder Wuhai 60,{
+ //Not sure if this is needed, but hopefully it will prevent bugs [Zephiris]
+ if(MONK_Q > 11) set MONK_Q,11;
+
+ if(MONK_Q == 2) goto L_START;
+ if(MONK_Q == 3) goto Part1;
+ if(MONK_Q == 4) goto Part2;
+ if(MONK_Q >= 5 && MONK_Q < 10) goto Part3;
+ if(MONK_Q >= 10 && countitem(506) > 0) goto Part4;//Items: Green_Potion,
+ if(MONK_Q == 11 && countitem(506) == 0) goto Part5;//Items: Green_Potion,
+ if(BaseJob == Job_Monk) goto Part6;
+ if(BaseJob == Job_Acolyte) goto Part7;
+
+ mes "[Elder Wuhai]";
+ mes "May you find God in the Mother Nature!!";
+ mes "Welcome traveler, why do you seek me?";
+ close;
+
+L_START:
+ mes "[Elder Wuhai]";
+ mes "Hmmm... You are the youth who wants to be a Monk, right?";
+ next;
+ menu "Yes.",L_MENU_1,"No.",-;
+ mes "[Elder Wuhai]";
+ mes "Hmmm...? Aren't you?";
+ mes "Maybe I'm getting older, I would've guessed you were.";
+ mes "Very well then... You may go, young one.";
+ close;
+L_MENU_1:
+ mes "[Elder Wuhai]";
+ mes "Oh! So young ones these days still remember us Monks...";
+ mes "Welcome, my child!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "So you want to be a Monk! I'm glad to hear that!";
+ mes "But first, before you can become one, there are a few things you need to know.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "As Monks, we undergo strict training while protecting world peace.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "The strength is for giving aid to the weak in need, and to protect them from harm.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Last but not least, we control our emotions,";
+ mes "More importantly, never be too proud of yourself,";
+ mes "or be blinded by success,";
+ next;
+ mes "[Elder Wuhai]";
+ mes "It might be tough, even painful,";
+ mes "while undergoing this process.";
+ mes "We will test the limits of what you can endure.";
+ mes "You can not become a Monk if you can't even bear this.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "OKay, let's start the test to see if you really have the ability to become a Monk.";
+ next;
+ if(JBLVL == 50) goto IsJOB50;
+ mes "[Elder Wuhai]";
+ mes "Firstly, here's a small exam to test your will to become one of us.";
+ next;
+
+ set MONK_Q, 3;
+ set JOB_MONK_C,rand(1,6);
+L_Collect:
+ if(JOB_MONK_C == 1 ) goto L_Collect1;
+ if(JOB_MONK_C == 2 ) goto L_Collect2;
+ if(JOB_MONK_C == 3 ) goto L_Collect3;
+ if(JOB_MONK_C == 4 ) goto L_Collect4;
+ if(JOB_MONK_C == 5 ) goto L_Collect5;
+ if(JOB_MONK_C == 6 ) goto L_Collect6;
+
+ L_Collect1:
+ mes "[Elder Wuhai]";
+ mes "Please bring these items";
+ mes "10 Teeth of Bat";
+ mes "5 Bears Footskins";
+ mes "20 Poison Spores";
+ if(@collect_tmp != 1) goto L_CollectS;
+ close;
+
+ L_Collect2:
+ mes "[Elder Wuhai]";
+ mes "Please bring these items";
+ mes "5 Porcupine Quills";
+ mes "20 Cobwebs";
+ mes "10 Grasshopper's Legs";
+ if(@collect_tmp != 1) goto L_CollectS;
+ close;
+
+ L_Collect3:
+ mes "[Elder Wuhai]";
+ mes "Please bring these items";
+ mes "30 Stems";
+ mes "5 Jellopies";
+ mes "10 Worm Peelings";
+ if(@collect_tmp != 1) goto L_CollectS;
+ close;
+
+ L_Collect4:
+ mes "[Elder Wuhai]";
+ mes "Please bring these items";
+ mes "5 Sticky Mucus";
+ mes "10 Earthworm Peelings";
+ mes "20 Green Herbs";
+ if(@collect_tmp != 1) goto L_CollectS;
+ close;
+
+ L_Collect5:
+ mes "[Elder Wuhai]";
+ mes "Please bring these items";
+ mes "20 Yoyo Tails";
+ mes "5 Iron Ores";
+ mes "3 Blue Herbs";
+ if(@collect_tmp != 1) goto L_CollectS;
+ close;
+
+ L_Collect6:
+ mes "[Elder Wuhai]";
+ mes "Please bring these items";
+ mes "5 Solid Shells";
+ mes "20 Shells";
+ mes "5 Zargons";
+ if(@collect_tmp != 1) goto L_CollectS;
+ close;
+L_CollectS:
+ next;
+ mes "[Elder Wuhai]";
+ mes "To test your will, you will have to collect these items by yourself";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Come back to me when you have all of them.";
+ mes "Now go, May God's blessings be with you.";
+ close;
+
+IsJOB50:
+ mes "[Elder Wuhai]";
+ mes "Oh, I see that your Job Level is " +JobLevel +" .";
+ mes "That could prove your ability.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Well done!";
+ mes "I think God will agree with me.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Well then.. There is a Monk named Wutao who wants to see you.";
+ mes "He is in the Ancestral Graveyard North of here.";
+ set MONK_Q, 4;
+ close;
+
+Part1:
+ if(JOB_MONK_C == 1 && countitem(913) >= 10 && countitem(948) >= 5 && countitem(7033) >= 20) goto L_CollectS2_1;//Items: Tooth_of_Bat, Bear's_Footskin, Poison_Spore,
+ if(JOB_MONK_C == 2 && countitem(1027) >= 5 && countitem(1025) >= 20 && countitem(940) >= 10) goto L_CollectS2_2;//Items: Porcupine_Quill, Cobweb, Grasshopper's_Leg,
+ if(JOB_MONK_C == 3 && countitem(905) >= 30 && countitem(909) >= 5 && countitem(955) >= 10) goto L_CollectS2_3;//Items: Stem, Jellopy, Worm_Peeling,
+ if(JOB_MONK_C == 4 && countitem(938) >= 5 && countitem(1055) >= 10 && countitem(511) >= 20) goto L_CollectS2_4;//Items: Sticky_Mucus, Earthworm_Peeling, Green_Herb,
+ if(JOB_MONK_C == 5 && countitem(942) >= 20 && countitem(1002) >= 5 && countitem(510) >= 3) goto L_CollectS2_5;//Items: Yoyo_Tail, Iron_Ore, Blue_Herb,
+ if(JOB_MONK_C == 6 && countitem(943) >= 5 && countitem(935) >= 20 && countitem(912) >= 5) goto L_CollectS2_6;//Items: Solid_Shell, Shell, Zargon,
+
+ mes "[Elder Wuhai]";
+ mes "Hmm... Still not ready yet?";
+ mes "Let me tell what you should bring again,";
+ mes "Listen carefully!";
+ next;
+ set @collect_tmp, 1;
+ goto L_Collect;
+
+ L_CollectS2_1:
+ delitem 913, 10;//Items: Tooth_of_Bat,
+ delitem 948, 5;//Items: Bear's_Footskin,
+ delitem 7033, 20;//Items: Poison_Spore,
+ goto L_CollectS2_E;
+ L_CollectS2_2:
+ delitem 1027, 5;//Items: Porcupine_Quill,
+ delitem 1025, 20;//Items: Cobweb,
+ delitem 940, 10;//Items: Grasshopper's_Leg,
+ goto L_CollectS2_E;
+ L_CollectS2_3:
+ delitem 7012, 30;//Items: Tough_Scalelike_Stem,
+ delitem 909, 5;//Items: Jellopy,
+ delitem 955, 10;//Items: Worm_Peeling,
+ goto L_CollectS2_E;
+ L_CollectS2_4:
+ delitem 938, 5;//Items: Sticky_Mucus,
+ delitem 1055, 10;//Items: Earthworm_Peeling,
+ delitem 511, 20;//Items: Green_Herb,
+ goto L_CollectS2_E;
+ L_CollectS2_5:
+ delitem 942, 20;//Items: Yoyo_Tail,
+ delitem 1002, 5;//Items: Iron_Ore,
+ delitem 510, 3;//Items: Blue_Herb,
+ goto L_CollectS2_E;
+ L_CollectS2_6:
+ delitem 943, 5;//Items: Solid_Shell,
+ delitem 935, 20;//Items: Shell,
+ delitem 912, 5;//Items: Zargon,
+ goto L_CollectS2_E;
+
+ L_CollectS2_E:
+ mes "[Elder Wuhai]";
+ mes "Oh! You've brought all of them!";
+ mes "Well done!";
+ mes "Your will to become a Monk is formidable!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Let's see... there is a Monk named.. Ah... Wutao who wants to see you.";
+ mes "He will be in the Ancestral Graveyard North of here.";
+ set MONK_Q, 4;
+ set JOB_MONK_C, 0;
+ close;
+
+Part2:
+ mes "[Elder Wuhai]";
+ mes "Next should be... Questions regarding your job changing?";
+ mes "Go find master Wutao.";
+ mes "He will be in the Ancestral Graveyard North of here.";
+ close;
+Part3:
+ mes "[Elder Wuhai]";
+ mes "Hmm? You're still taking the test...?";
+ mes "Try to do your best then!";
+ close;
+Part4:
+ mes "[Elder Wuhai]";
+ mes "What? You didn't drink the Magic Potion yet?";
+ mes "Then... Hurry up and finish the Green-ish potion!";
+ mes "Otherwise, you will never be able to achieve the spiritual energy level of Monks!";
+ set MONK_Q, 11;
+ close;
+Part5:
+ mes "[Elder Wuhai]";
+ mes "We have done all the steps... Your blood, your mind, your soul...";
+ mes "All are prepared for you to become a Monk.";
+ mes "Even your spiritual energy has increased after drinking the Magic Potion.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Good... you must now be sworn in by an oath.";
+ mes "Afterwards, the job changing will be complete.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Are you willing to dedicate the rest of your life to serving God?";
+ next;
+ menu "Yes.",L_MONK_Q_2,"No.",-;
+
+ mes "[Elder Wuhai]";
+ mes "......What?......";
+ mes "Aren't you ready to become a Monk?";
+ mes "Perhaps you want to run around a bit more,";
+ mes "and shed some more sweat to become more prepared?";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Consider this carefully before coming back!";
+ mes "I do not want to make you a bad Monk.";
+ close;
+L_MONK_Q_2:
+ mes "[Elder Wuhai]";
+ mes "Will you use the powers given to you for your own good?";
+ next;
+ menu "Yes.",-,"No.",L_MONK_Q_3;
+
+ mes "[Elder Wuhai]";
+ mes "...NO NO NO NO NO!! Our training is not for any self benefits!";
+ mes "How could one who protects world peace abuse this advantage for their own selfish means?!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Go and think over the true purpose of a Monk.";
+ mes "Thoughts like that will only make you greedier for power!";
+ mes "The corruption of your soul will only lead to loss of your ability.";
+ close;
+
+L_MONK_Q_3:
+ mes "[Elder Wuhai]";
+ mes "When judging those who have opposed the will of God,";
+ mes "Will you hesitate in punishing them?";
+ next;
+ menu "No.",L_MONK_Q_4,"Yes.",-;
+
+ mes "[Elder Wuhai]";
+ mes "What do you think Monks are?";
+ mes "No matter who they are,";
+ mes "People who harm the weak are like trash!";
+ mes "They do not have the right to live on this world!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Perhaps you should go to people who deny morals in this world,";
+ mes "Come back again when you have a sense of justice.";
+ mes "Then you will know what to do.";
+ close;
+
+L_MONK_Q_4:
+ mes "[Elder Wuhai]";
+ mes "Will you help to eradicate those who oppose God,";
+ mes "And to sacrifice yourself for the better of others?";
+ next;
+ menu "Yes",L_MONK_Q_5,"No",-;
+
+ mes "[Elder Wuhai]";
+ mes "Oh...nonononono....";
+ mes "If sacrificing oneself would be beneficial to your peers,";
+ mes "and more enemies can be vanquished,";
+ mes "then that would be a great and worthy thing to do!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "What does Sacrifice mean? Come back when you've figured it out.";
+ mes "Ah.. Sacrifice can be so simple, yet so difficult!";
+ close;
+
+L_MONK_Q_5:
+ mes "[Elder Wuhai]";
+ mes "Will you train monsters behind you to help others in battle?";
+ next;
+ menu "Yes",-,"No",L_MONK_Q_6;
+
+ mes "[Elder Wuhai]";
+ // he's not making any sense =P [Unknown]
+ // I've reworded this to what I think it probably correct. [Zephiris]
+ mes "That is not right! Training mobs around does not serve the benefit of everyone!";
+ mes "Instead it is a selfish act that violates the rights of others!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Even when you've learned the skill 'Steel Body'";
+ mes "It is only meant to be used in emergency, or when you meet a strong adversary.";
+ mes "But not in such a situation!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "It might feel like you're helping them,";
+ mes "but you are only commiting acts of unjust!";
+ mes "What is the true way of a Monk?";
+ mes "Come back when you have thought it over.";
+ close;
+
+L_MONK_Q_6:
+ mes "[Elder Wuhai]";
+ // mes "Will you spam?";
+ // "will you spam" is just so... un-monkly. ^^;
+ mes "In villages or wilderness, will you say the same lines repeatedly?";
+ next;
+ menu "Yes",-,"No",L_MONK_Q_7;
+
+ mes "[Elder Wuhai]";
+ mes "No! If you do so, then not just Monks, but even the common people";
+ mes "will be disturbed and pay no attention to you!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "It is the same even if you only wanted to spread the words of God.";
+ mes "Think of your behavior. What's right and wrong?";
+ next;
+ mes "I would rather test you again, but I'll let you go this time.";
+ mes "Think carefully about this before returning!";
+ close;
+L_MONK_Q_7:
+ mes "[Elder Wuhai]";
+ mes "Do you feel as if you're a messenger of God, and are willing to die for God?";
+ next;
+ menu "Yes",L_MONK_Q_8,"No",-;
+
+ mes "[Elder Wuhai]";
+ mes "You cannot be a Monk with this kind of will!";
+ mes "As it's said, Death is only temporary. If we have to give our lives";
+ mes "to protect world peace, it would at least be a meaningful action!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Those who oppose God will be condemned while those who listen to God will live.";
+ mes "What is life and death to you?";
+ mes "Ponder that well.";
+ close;
+
+L_MONK_Q_8:
+ mes "[Elder Wuhai]";
+ mes "Lastly, make an oath to swear you will keep to what you have already sworn.";
+ next;
+ menu "I swear.",L_MONK_Q_9,"I refuse.",-;
+
+ mes "[Elder Wuhai]";
+ mes "......";
+ next;
+ mes "[Elder Wuhai]";
+ mes "It seems like... you don't have enough training...";
+ mes "I can't let you become a Monk.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "It is better for you to train more.";
+ mes "Come back when you ready.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "May God be with you.";
+ close;
+
+L_MONK_Q_9:
+ mes "[Elder Wuhai]";
+ mes "Well then, we have completed the oaths.";
+ if (sex == 0) mes "Gather closer now, you are already my sister!";
+ if (sex == 1) mes "Gather closer now, you are already my brother!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Your promise has been transmited to all Monks through our hearts.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Now, let us begin the ceremony!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "I will acupuncture your 365 acupuncture points and open your 1129 arteries and veins";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Ahhhhhhhhh......";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Wuuu... Huuuuuu";
+ next;
+ mes "- He takes a deeply breath -";
+ next;
+ mes "- The acupuncture begins... -";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Ahhhh--- Dadadadadada!!!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "DaBaDaBaDadadadaKaBonTatatata!!!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Ahhhh--- Dadadadadada!!!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "WaLaChuOhhhhhhh!!!";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Wuuu... Huuuuuu";
+ next;
+ mes "[Elder Wuhai]";
+ mes "WowHoooo... It is done! You are now a Monk!";
+
+ setoption 0;
+ callfunc "Job_Change",Job_Monk;
+ next;
+ mes "[Elder Wuhai]";
+ mes "(Cough!) (Cough!)";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Am I that old...? I feel so tired... (-sigh-)";
+ mes "I could have scaled mountains after this before.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Very well... You are now a Monk...";
+ mes "Welcome to the brotherhood.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "But never forget your promise.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Keep it in your mind, and train yourself.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Now go...";
+ mes "Here is a gift from us to congratulate you.";
+ if(JBLVL < 50) getitem 1801, 1;//Items: Waghnakh,
+ if(JBLVL == 50) getitem 1804, 1;//Items: Knuckle_Duster_,
+ callfunc "F_ClearJobVar";
+ close;
+Part6:
+ mes "[Elder Wuhai]";
+ mes "May you find God in Mother Nature!";
+ mes "Welcome young one! What can I do for you?";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Is everything alright?";
+ mes "How is your training?";
+ next;
+ mes "[Elder Wuhai]";
+ mes "If you don't have a strong body, you may not be able to help people when they need you.";
+ mes "If your will is weak, the Evil in this world will lead you down a dark path.";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Never forget it! You are one who protects the weak as well as world peace!";
+ mes "You should always be aware of Evil around you. Don't let it lead you away from the Light!";
+ close;
+
+Part7:
+ mes "[Elder Wuhai]";
+ mes "May you find God in Mother Nature!";
+ mes "Welcome youung one! What can I do for you?";
+ next;
+ mes "[Elder Wuhai]";
+ mes "Oh! You are an Acolyte....";
+ mes "If you want to pray, go to the Prontera Sanctuary!";
+ mes "This is the Monk training area, not a place for you to pray.";
+ mes "Go and find other places to stay if you are not willing to be a Monk.";
+ close;
+}
+
+prt_monk.gat,251,255,4 script Wutao 79,{
+ if(MONK_Q == 4 ) goto L_START;
+ if(MONK_Q == 5 ) goto Part1;
+ if(MONK_Q == 6 ) goto Part2;
+ if(MONK_Q > 6 ) goto Part3;
+
+ mes "[Wutao]";
+ mes "We are Monks!";
+ mes "We have unlimited power!";
+ mes "We have unlimited wisdom!";
+ mes "We use our power and wisdom to protect world peace!";
+ next;
+ mes "[Wutao]";
+ mes "So...";
+ mes "Are you my enemy?";
+ mes "You block my path!!!!";
+ next;
+ mes "[Wutao]";
+ mes "If someone blocks me, I'll fight!!";
+ mes "TaAhhhhhh!!!";
+ next;
+ mes "[Wutao]";
+ mes "HuHaaaaaaaa!!!";
+ next;
+ mes "[Wutao]";
+ mes "If you are not my enemy, then be on your way.";
+ close;
+
+L_START:
+ mes "[Wutao]";
+ mes "What can I do for you?";
+ mes "Do you want to talk about God?";
+ next;
+ mes "[Wutao]";
+ mes "Oh! you are proceeding with the Monk Training!";
+ mes "The spirit you have is like that of a Monk.";
+ next;
+ mes "[Wutao]";
+ mes "It seems your arteries and veins have begun to strengthen.";
+ mes "You must be the one coming from Elder Wuhai, right?";
+ mes "Very well...";
+ next;
+ mes "[Wutao]";
+ mes "Let me inform you about the spirits of Monks and some simple rules that Monks should obey.";
+ mes "After, I'll help you strengthen your mental state to make your body ready for the next test.";
+ next;
+ mes "[Wutao]";
+ mes "Now, remember exactly what I say and repeat it back to me.";
+ mes "Clear your mind... Are you ready?";
+ next;
+ menu "Yes",L_MENU_1,"No",-;
+ mes "[Wutao]";
+ mes "Then come back when you are ready!";
+ close;
+L_MENU_1:
+ mes "[Wutao]";
+ mes "Alright, let's begin.";
+ next;
+ set @JOB_MONK_C2, rand(1,3);
+L_Again:
+ if(@JOB_MONK_C2 == 0) set @JOB_MONK_C2, rand(1,3);
+ if(@JOB_MONK_C2 == 2) goto L_ROOT_2;
+ if(@JOB_MONK_C2 == 3) goto L_ROOT_3;
+
+ set @monk_str0$,"Supported by dragon and phoenix,";
+ set @monk_str1$,"So flies he westward.";
+ set @monk_str2$,"But the phoenix shall fall to the earth.";
+ set @monk_str3$,"And the dragon shall soar to the sky;";
+ set @monk_str4$,"There shall be successes and failures,";
+ set @monk_str5$,"For such is the eternal law.";
+ set @monk_str6$,"See that ye act when occasion offers,";
+ set @monk_str7$,"Lest ye descend to the Nine Golden Springs.'";
+ goto L_MES;
+ L_ROOT_2:
+ set @monk_str0$,"He boasted not a handsome face,";
+ set @monk_str1$,"Nor was his body blessed with grace.";
+ set @monk_str2$,"His words streamed like a waterfall,";
+ set @monk_str3$,"He read a book and knew it all.";
+ set @monk_str4$,"Shu's glories could he well rehearse,";
+ set @monk_str5$,"His lore embraced the universe.";
+ set @monk_str6$,"Or text or note of scholiast";
+ set @monk_str7$,"Once read, his memory held fast.";
+ goto L_MES;
+ L_ROOT_3:
+ set @monk_str0$,"Seek ye a noble one? Then take ye the way of Jieliang,";
+ set @monk_str1$,"Watch ye how all people revere Guan Yu,";
+ set @monk_str2$,"Each excelling others to honor him,";
+ set @monk_str3$,"Him, one of the three brothers of the Peach Garden Oath,";
+ set @monk_str4$,"Who have won sacrifices, as emperor and king.";
+ set @monk_str5$,"Incomparable their aura spreads through the world;";
+ set @monk_str6$,"They are resplendent as the great lights of the firmament;";
+ set @monk_str7$,"Temples to our Lord Guan Yu abound, no village lacks one,";
+ set @monk_str8$,"Their venerable trees at sundown are the resting places for birds.";
+
+L_MES:
+ mes "[Wutao]";
+ mes "Listen carefully!";
+ next;
+ mes "[Wutao]";
+ mes @monk_str0$;
+ next;
+ mes "[Wutao]";
+ mes @monk_str1$;
+ next;
+ mes "[Wutao]";
+ mes @monk_str2$;
+ next;
+ mes "[Wutao]";
+ mes @monk_str3$;
+ next;
+ mes "[Wutao]";
+ mes @monk_str4$;
+ next;
+ mes "[Wutao]";
+ mes @monk_str5$;
+ next;
+ mes "[Wutao]";
+ mes @monk_str6$;
+ next;
+ mes "[Wutao]";
+ mes @monk_str7$;
+ if(@JOB_MONK_C2 < 3) goto L_MES_1;
+ next;
+ mes "[Wutao]";
+ mes @monk_str8$;
+
+L_MES_1:
+ next;
+ mes "[Wutao]";
+ mes "Now " + strcharinfo(0) + ", it's your turn.";
+ next;
+ set @mnk_score, 0;
+ if(@JOB_MONK_C2 == 2) goto L_MONK_Q2_1;
+ if(@JOB_MONK_C2 == 3) goto L_MONK_Q3_1;
+
+L_MONK_Q1_1:
+
+ menu "And the dragon shall soar to the sky;",L_MONK_Q1_2,
+ "But the phoenix shall fall to the earth.",L_MONK_Q1_2,
+ "For such is the eternal law.",L_MONK_Q1_2,
+ "See that ye act when occasion offers,",L_MONK_Q1_2,
+ "There shall be successes and failures,",L_MONK_Q1_2,
+ "Lest ye descend to the Nine Golden Springs.",L_MONK_Q1_2,
+ "Supported by dragon and phoenix,",-,
+ "So flies he westward.",L_MONK_Q1_2;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q1_2:
+
+ menu "But the phoenix shall fall to the earth.",L_MONK_Q1_3,
+ "See that ye act when occasion offers,",L_MONK_Q1_3,
+ "Supported by dragon and phoenix,",L_MONK_Q1_3,
+ "There shall be successes and failures,",L_MONK_Q1_3,
+ "So flies he westward.",-,
+ "And the dragon shall soar to the sky;",L_MONK_Q1_3,
+ "Lest ye descend to the Nine Golden Springs.",L_MONK_Q1_3,
+ "For such is the eternal law.",L_MONK_Q1_3;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q1_3:
+
+ menu "There shall be successes and failures,",L_MONK_Q1_4,
+ "But the phoenix shall fall to the earth.",-,
+ "And the dragon shall soar to the sky;",L_MONK_Q1_4,
+ "So flies he westward.",L_MONK_Q1_4,
+ "For such is the eternal law.",L_MONK_Q1_4,
+ "Lest ye descend to the Nine Golden Springs.",L_MONK_Q1_4,
+ "See that ye act when occasion offers,",L_MONK_Q1_4,
+ "Supported by dragon and phoenix,",L_MONK_Q1_4;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q1_4:
+
+ menu "And the dragon shall soar to the sky;",-,
+ "Supported by dragon and phoenix,",L_MONK_Q1_5,
+ "But the phoenix shall fall to the earth.",L_MONK_Q1_5,
+ "So flies he westward.",L_MONK_Q1_5,
+ "For such is the eternal law.",L_MONK_Q1_5,
+ "There shall be successes and failures,",L_MONK_Q1_5,
+ "Lest ye descend to the Nine Golden Springs.",L_MONK_Q1_5,
+ "See that ye act when occasion offers,",L_MONK_Q1_5;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q1_5:
+
+ menu "For such is the eternal law.",L_MONK_Q1_6,
+ "And the dragon shall soar to the sky;",L_MONK_Q1_6,
+ "So flies he westward.",L_MONK_Q1_6,
+ "Supported by dragon and phoenix,",L_MONK_Q1_6,
+ "But the phoenix shall fall to the earth.",L_MONK_Q1_6,
+ "See that ye act when occasion offers,",L_MONK_Q1_6,
+ "Lest ye descend to the Nine Golden Springs.",L_MONK_Q1_6,
+ "There shall be successes and failures,",-;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q1_6:
+
+ menu "Supported by dragon and phoenix,",L_MONK_Q1_7,
+ "So flies he westward.",L_MONK_Q1_7,
+ "For such is the eternal law.",-,
+ "But the phoenix shall fall to the earth.",L_MONK_Q1_7,
+ "There shall be successes and failures,",L_MONK_Q1_7,
+ "And the dragon shall soar to the sky;",L_MONK_Q1_7,
+ "Lest ye descend to the Nine Golden Springs.",L_MONK_Q1_7,
+ "See that ye act when occasion offers,",L_MONK_Q1_7;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q1_7:
+
+ menu "So flies he westward.",L_MONK_Q1_8,
+ "Supported by dragon and phoenix,",L_MONK_Q1_8,
+ "Lest ye descend to the Nine Golden Springs.",L_MONK_Q1_8,
+ "There shall be successes and failures,",L_MONK_Q1_8,
+ "For such is the eternal law.",L_MONK_Q1_8,
+ "But the phoenix shall fall to the earth.",L_MONK_Q1_8,
+ "And the dragon shall soar to the sky;",L_MONK_Q1_8,
+ "See that ye act when occasion offers,",-;
+
+ set @mnk_score, @mnk_score + 2;
+L_MONK_Q1_8:
+
+ menu "Supported by dragon and phoenix,",L_MONK_QUEST_END,
+ "See that ye act when occasion offers,",L_MONK_QUEST_END,
+ "But the phoenix shall fall to the earth.",L_MONK_QUEST_END,
+ "Lest ye descend to the Nine Golden Springs.",L_MONK_QUEST_1_2,
+ "And the dragon shall soar to the sky;",L_MONK_QUEST_END,
+ "So flies he westward.",L_MONK_QUEST_END,
+ "There shall be successes and failures,",L_MONK_QUEST_END,
+ "For such is the eternal law.",L_MONK_QUEST_END;
+
+L_MONK_Q2_1:
+
+ menu "Nor was his body blessed with grace.",L_MONK_Q2_2,
+ "He read a book and knew it all.",L_MONK_Q2_2,
+ "His words streamed like a waterfall,",L_MONK_Q2_2,
+ "He boasted not a handsome face,",-,
+ "Shu's glories could he well rehearse,",L_MONK_Q2_2,
+ "Once read, his memory held fast.",L_MONK_Q2_2,
+ "His lore embraced the universe.",L_MONK_Q2_2,
+ "Or text or note of scholiast",L_MONK_Q2_2;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q2_2:
+
+ menu "His lore embraced the universe.",L_MONK_Q2_3,
+ "He boasted not a handsome face,",L_MONK_Q2_3,
+ "His words streamed like a waterfall,",L_MONK_Q2_3,
+ "He read a book and knew it all.",L_MONK_Q2_3,
+ "Or text or note of scholiast",L_MONK_Q2_3,
+ "Once read, his memory held fast.",L_MONK_Q2_3,
+ "Shu's glories could he well rehearse,",L_MONK_Q2_3,
+ "Nor was his body blessed with grace.",-;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q2_3:
+
+ menu "His words streamed like a waterfall,",-,
+ "His lore embraced the universe.",L_MONK_Q2_4,
+ "He read a book and knew it all.",L_MONK_Q2_4,
+ "Shu's glories could he well rehearse,",L_MONK_Q2_4,
+ "Nor was his body blessed with grace.",L_MONK_Q2_4,
+ "Or text or note of scholiast",L_MONK_Q2_4,
+ "He boasted not a handsome face,",L_MONK_Q2_4,
+ "Once read, his memory held fast.",L_MONK_Q2_4;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q2_4:
+
+ menu "Nor was his body blessed with grace.",L_MONK_Q2_5,
+ "Once read, his memory held fast.",L_MONK_Q2_5,
+ "Shu's glories could he well rehearse,",L_MONK_Q2_5,
+ "Or text or note of scholiast",L_MONK_Q2_5,
+ "He boasted not a handsome face,",L_MONK_Q2_5,
+ "He read a book and knew it all.",-,
+ "His lore embraced the universe.",L_MONK_Q2_5,
+ "His words streamed like a waterfall,",L_MONK_Q2_5;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q2_5:
+
+ menu "Once read, his memory held fast.",L_MONK_Q2_6,
+ "Or text or note of scholiast",L_MONK_Q2_6,
+ "He read a book and knew it all.",L_MONK_Q2_6,
+ "His words streamed like a waterfall,",L_MONK_Q2_6,
+ "Nor was his body blessed with grace.",L_MONK_Q2_6,
+ "He boasted not a handsome face,",L_MONK_Q2_6,
+ "His lore embraced the universe.",L_MONK_Q2_6,
+ "Shu's glories could he well rehearse,",-;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q2_6:
+
+ menu "Or text or note of scholiast",L_MONK_Q2_7,
+ "He read a book and knew it all.",L_MONK_Q2_7,
+ "Shu's glories could he well rehearse,",L_MONK_Q2_7,
+ "His words streamed like a waterfall,",L_MONK_Q2_7,
+ "His lore embraced the universe.",-,
+ "He boasted not a handsome face,",L_MONK_Q2_7,
+ "Nor was his body blessed with grace.",L_MONK_Q2_7,
+ "Once read, his memory held fast.",L_MONK_Q2_7;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q2_7:
+
+ menu "Nor was his body blessed with grace.",L_MONK_Q2_8,
+ "Or text or note of scholiast",-,
+ "His words streamed like a waterfall,",L_MONK_Q2_8,
+ "Once read, his memory held fast.",L_MONK_Q2_8,
+ "He boasted not a handsome face,",L_MONK_Q2_8,
+ "He read a book and knew it all.",L_MONK_Q2_8,
+ "Shu's glories could he well rehearse,",L_MONK_Q2_8,
+ "His lore embraced the universe.",L_MONK_Q2_8;
+
+ set @mnk_score, @mnk_score + 2;
+L_MONK_Q2_8:
+
+ menu "He boasted not a handsome face,",L_MONK_QUEST_END,
+ "Nor was his body blessed with grace.",L_MONK_QUEST_END,
+ "Shu's glories could he well rehearse,",L_MONK_QUEST_END,
+ "Or text or note of scholiast",L_MONK_QUEST_END,
+ "His lore embraced the universe.",L_MONK_QUEST_END,
+ "He read a book and knew it all.",L_MONK_QUEST_END,
+ "His words streamed like a waterfall,",L_MONK_QUEST_END,
+ "Once read, his memory held fast.",L_MONK_QUEST_1_2;
+
+L_MONK_Q3_1:
+
+ menu "Watch ye how all people revere Guan Yu,",L_MONK_Q3_2,
+ "Seek ye a noble one? Then take ye the way of Jieliang,",-,
+ "Temples to our Lord Guan Yu abound, no village lacks one,",L_MONK_Q3_2,
+ "Each excelling others to honor him,",L_MONK_Q3_2,
+ "Their venerable trees at sundown are the resting places for birds.",L_MONK_Q3_2,
+ "Incomparable their aura spreads through the world;",L_MONK_Q3_2,
+ "They are resplendent as the great lights of the firmament;",L_MONK_Q3_2,
+ "Who have won sacrifices, as emperor and king.",L_MONK_Q3_2,
+ "Him, one of the three brothers of the Peach Garden Oath,",L_MONK_Q3_2;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q3_2:
+
+ menu "Each excelling others to honor him,",L_MONK_Q3_3,
+ "Temples to our Lord Guan Yu abound, no village lacks one,",L_MONK_Q3_3,
+ "Seek ye a noble one? Then take ye the way of Jieliang,",L_MONK_Q3_3,
+ "Incomparable their aura spreads through the world;",L_MONK_Q3_3,
+ "Their venerable trees at sundown are the resting places for birds.",L_MONK_Q3_3,
+ "Who have won sacrifices, as emperor and king.",L_MONK_Q3_3,
+ "Watch ye how all people revere Guan Yu,",-,
+ "Him, one of the three brothers of the Peach Garden Oath,",L_MONK_Q3_3,
+ "They are resplendent as the great lights of the firmament;",L_MONK_Q3_3;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q3_3:
+
+ menu "They are resplendent as the great lights of the firmament;",L_MONK_Q3_4,
+ "Seek ye a noble one? Then take ye the way of Jieliang,",L_MONK_Q3_4,
+ "Each excelling others to honor him,",-,
+ "Watch ye how all people revere Guan Yu,",L_MONK_Q3_4,
+ "Who have won sacrifices, as emperor and king.",L_MONK_Q3_4,
+ "Him, one of the three brothers of the Peach Garden Oath,",L_MONK_Q3_4,
+ "Incomparable their aura spreads through the world;",L_MONK_Q3_4,
+ "Temples to our Lord Guan Yu abound, no village lacks one,",L_MONK_Q3_4,
+ "Their venerable trees at sundown are the resting places for birds.",L_MONK_Q3_4;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q3_4:
+
+ menu "Seek ye a noble one? Then take ye the way of Jieliang,",L_MONK_Q3_5,
+ "Each excelling others to honor him,",L_MONK_Q3_5,
+ "Incomparable their aura spreads through the world;",L_MONK_Q3_5,
+ "Temples to our Lord Guan Yu abound, no village lacks one,",L_MONK_Q3_5,
+ "Him, one of the three brothers of the Peach Garden Oath,",-,
+ "Their venerable trees at sundown are the resting places for birds.",L_MONK_Q3_5,
+ "They are resplendent as the great lights of the firmament;",L_MONK_Q3_5,
+ "Who have won sacrifices, as emperor and king.",L_MONK_Q3_5,
+ "Watch ye how all people revere Guan Yu,",L_MONK_Q3_5;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q3_5:
+
+ menu "They are resplendent as the great lights of the firmament;",L_MONK_Q3_6,
+ "Temples to our Lord Guan Yu abound, no village lacks one,",L_MONK_Q3_6,
+ "Their venerable trees at sundown are the resting places for birds.",L_MONK_Q3_6,
+ "Who have won sacrifices, as emperor and king.",-,
+ "Watch ye how all people revere Guan Yu,",L_MONK_Q3_6,
+ "Seek ye a noble one? Then take ye the way of Jieliang,",L_MONK_Q3_6,
+ "Incomparable their aura spreads through the world;",L_MONK_Q3_6,
+ "Him, one of the three brothers of the Peach Garden Oath,",L_MONK_Q3_6,
+ "Each excelling others to honor him,",L_MONK_Q3_6;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q3_6:
+
+ menu "Him, one of the three brothers of the Peach Garden Oath,",L_MONK_Q3_7,
+ "Their venerable trees at sundown are the resting places for birds.",L_MONK_Q3_7,
+ "Watch ye how all people revere Guan Yu,",L_MONK_Q3_7,
+ "Temples to our Lord Guan Yu abound, no village lacks one,",L_MONK_Q3_7,
+ "Seek ye a noble one? Then take ye the way of Jieliang,",L_MONK_Q3_7,
+ "Incomparable their aura spreads through the world;",-,
+ "Each excelling others to honor him,",L_MONK_Q3_7,
+ "They are resplendent as the great lights of the firmament;",L_MONK_Q3_7,
+ "Who have won sacrifices, as emperor and king.",L_MONK_Q3_7;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q3_7:
+
+ menu "Seek ye a noble one? Then take ye the way of Jieliang,",L_MONK_Q3_8,
+ "Their venerable trees at sundown are the resting places for birds.",L_MONK_Q3_8,
+ "They are resplendent as the great lights of the firmament;",-,
+ "Watch ye how all people revere Guan Yu,",L_MONK_Q3_8,
+ "Each excelling others to honor him,",L_MONK_Q3_8,
+ "Him, one of the three brothers of the Peach Garden Oath,",L_MONK_Q3_8,
+ "Who have won sacrifices, as emperor and king.",L_MONK_Q3_8,
+ "Incomparable their aura spreads through the world;",L_MONK_Q3_8,
+ "Temples to our Lord Guan Yu abound, no village lacks one,",L_MONK_Q3_8;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q3_8:
+
+ menu "Temples to our Lord Guan Yu abound, no village lacks one,",-,
+ "Incomparable their aura spreads through the world;",L_MONK_Q3_9,
+ "Their venerable trees at sundown are the resting places for birds.",L_MONK_Q3_9,
+ "They are resplendent as the great lights of the firmament;",L_MONK_Q3_9,
+ "Who have won sacrifices, as emperor and king.",L_MONK_Q3_9,
+ "Him, one of the three brothers of the Peach Garden Oath,",L_MONK_Q3_9,
+ "Watch ye how all people revere Guan Yu,",L_MONK_Q3_9,
+ "Each excelling others to honor him,",L_MONK_Q3_9,
+ "Seek ye a noble one? Then take ye the way of Jieliang,",L_MONK_Q3_9;
+
+ set @mnk_score, @mnk_score + 1;
+L_MONK_Q3_9:
+
+ menu "Him, one of the three brothers of the Peach Garden Oath,",L_MONK_QUEST_END,
+ "Each excelling others to honor him,",L_MONK_QUEST_END,
+ "Watch ye how all people revere Guan Yu,",L_MONK_QUEST_END,
+ "Who have won sacrifices, as emperor and king.",L_MONK_QUEST_END,
+ "Incomparable their aura spreads through the world;",L_MONK_QUEST_END,
+ "Seek ye a noble one? Then take ye the way of Jieliang,",L_MONK_QUEST_END,
+ "They are resplendent as the great lights of the firmament;",L_MONK_QUEST_END,
+ "Temples to our Lord Guan Yu abound, no village lacks one,",L_MONK_QUEST_END,
+ "Their venerable trees at sundown are the resting places for birds.",-;
+
+L_MONK_QUEST_1_2:
+ set @mnk_score, @mnk_score + 1;
+L_MONK_QUEST_END:
+
+ if(@mnk_score < 9) goto L_C2_FAIL;
+
+L_C2_DONE:
+ set @mnk_score, 0;
+ next;
+ mes "[Wutao]";
+ mes "Hmmm...";
+ next;
+ mes "[Wutao]";
+ mes "...Well Done!! It's perfect!";
+ next;
+ mes "[Wutao]";
+ mes "However, don't be happy just yet. There is still much to do before you can become a Monk.";
+ next;
+ mes "[Wutao]";
+ mes "DaAhaaaa...";
+ next;
+ mes "[Wutao]";
+ mes "ShuKeeee.....";
+ next;
+ mes "[Wutao]";
+ mes "SouKouuuuu....";
+ next;
+ mes "[Wutao]";
+ mes "PaYennnn....";
+ next;
+ mes "[Wutao]";
+ mes "As I promised, your mental state is now that of a Monk.";
+ next;
+ mes "[Wutao]";
+ mes "Now go! Seek ^000080Fuhai^000000 for further guidance.";
+ set MONK_Q, 6;
+ close;
+
+L_C2_FAIL:
+ mes "[" + strcharinfo(0) + "]";
+ mes "Well...";
+ next;
+ mes "[Wutao]";
+ mes "Hmmm... ";
+ next;
+ mes "[Wutao]";
+ mes "Hummm...";
+ next;
+ mes "[Wutao]";
+ mes "That not correct! You didn't memorize it all!";
+ next;
+ mes "[Wutao]";
+ mes "Do you doubt yourself? Do you really have the ability to be a Monk?";
+ mes "...That was really....";
+ next;
+ mes "[Wutao]";
+ mes "Well...That's fine, do you want to try it again?";
+ next;
+ mes "[Wutao]";
+ mes "Of course you do! Since you did not pass this test, you can't take the next test.";
+ set MONK_Q, 5;
+ close;
+
+Part1:
+ mes "[Wutao]";
+ mes "Very well. Let's try it again.";
+ next;
+ goto L_Again;
+
+Part2:
+ mes "[Wutao]";
+ mes "What? You forget whom you should seek for?";
+ next;
+ mes "[Wutao]";
+ mes "......You are so.......";
+ next;
+ mes "[Wutao]";
+ mes "...Are you testing my patient?";
+ next;
+ mes "[Wutao]";
+ mes "...Okay, I'll tell you again...";
+ mes "Go and seek ^000080Fuhai^000000 for further guidance.";
+ close;
+Part3:
+ mes "[Wutao]";
+ mes "May God be with you.";
+ close;
+}
+
+prt_monk.gat,57,179,4 script Fuhai 110,{
+
+ if(@Choice_mission == 1 ) goto Part1;
+ if(@Choice_mission == 2 ) goto Part2;
+ if(MONK_Q == 6) goto L_START;
+ if(MONK_Q == 7) goto L_MENU_1_1_2;
+
+ mes "[Fuhai]";
+ mes "HaAhhhhh....!!!";
+ next;
+ mes "- Seems like he is thinking something -";
+ close;
+
+L_START:
+ mes "[Fuhai]";
+ mes "...";
+ next;
+ mes "[Fuhai]";
+ mes "......";
+ next;
+ mes "[Fuhai]";
+ mes ".........";
+ next;
+ mes "[Fuhai]";
+ mes "............";
+ next;
+ menu "Hello there?",-;
+
+ mes "[Fuhai]";
+ mes "...what...WHAT?";
+ mes "How dare you interupt my training!";
+ mes "If it is not very important...";
+ next;
+ mes "[Fuhai]";
+ mes "......";
+ mes "I can't promise you will see the sun tomorrow...";
+ next;
+ mes "[Fuhai]";
+ mes "Why are you here?";
+ mes "Explain!";
+ next;
+ menu "Some one named [Wutao] sent me here.",L_MENU_1,"Well...Nothing...",-;
+
+ mes "[Fuhai]";
+ mes "......";
+ mes "...How about digging a grave for yourself?";
+ close;
+ L_MENU_1:
+ mes "[Fuhai]";
+ mes "Hmmm...Is that so?";
+ mes "That's...";
+ next;
+ mes "[Fuhai]";
+ mes "Oh...Your mental state...";
+ mes "Ha! Very well...";
+ next;
+ mes "[Fuhai]";
+ mes "However, what did you learn from [Wutao]?";
+ next;
+ menu "Hmmm...Well...It's...",-,
+ "I repeated what he said, and he sent me here.",L_MENU_1_1,
+ "He tested my mental status and sent me here.",-;
+
+ mes "[Fuhai]";
+ mes "Foolish!";
+ mes "Don't bother me! Go away!";
+ close;
+ L_MENU_1_1:
+ mes "[Fuhai]";
+ mes "Well...Then?";
+ mes "Did he do anything for you?";
+ next;
+ menu "Ah...It's...I can't tell...",-,
+ "Checked my body",L_MENU_1_1_1,
+ "Told me some rules to obey",L_MENU_1_1_1,
+ "Strengthened my mental state",L_MENU_1_1_2;
+
+ mes "[Fuhai]";
+ mes "Foolish!";
+ mes "Don't bother me! Go away!";
+ close;
+ L_MENU_1_1_1:
+ mes "[Fuhai]";
+ mes "That's quite true, but not the point.";
+ mes "Think! Use your brain!";
+ close;
+
+ L_MENU_1_1_2:
+ set MONK_Q, 7;
+ mes "[Fuhai]";
+ mes "Very well. At least you know what has been changed in your body.";
+ mes "Now, let us begin the next test.";
+ next;
+ mes "[Fuhai]";
+ mes "I'll give you a chance to choose what kind of test you want to take.";
+ mes "Now, make your own choice.";
+ next;
+ menu "Mushroom Collecting",-,"A Marathon",L_ROOT_2;
+
+ mes "[Fuhai]";
+ mes "Mushroom Collecting? Good choice!";
+ mes "That would make you appreciate the value of patience and realize the meaning of the great willpower that following the path of God will give you.";
+ mes "Now go prepare yourself! Come back when you are ready.";
+ set @Choice_mission, 1;
+ close;
+ L_ROOT_2:
+ mes "[Fuhai]";
+ mes "A Marathon? Good choice!";
+ mes "That would make you appreciate the value of willpower and realize the meaning of the great patient that following the path of God will give you.";
+ mes "Now go prepare yourself! Come back when you are ready.";
+ set @Choice_mission, 2;
+ close;
+Part1:
+ mes "[Fuhai]";
+ mes "Are you ready?";
+ mes "Actually, you don't need to prepare anything if you believe in yourself.";
+ next;
+ mes "[Fuhai]";
+ mes "Mushroom Collecting is your choice.";
+ mes "It is a test of your patience.";
+ next;
+ mes "[Fuhai]";
+ mes "Now, go into the building located in the center of this training area.";
+ next;
+ mes "[Fuhai]";
+ mes "You will pass the test when you collect enough mushrooms.";
+ mes "Now, what are waiting for? Go!";
+ close;
+Part2:
+ mes "[Fuhai]";
+ mes "Are you ready?";
+ mes "Actually, you don't need to prepare anything if you believe in yourself.";
+ next;
+ mes "[Fuhai]";
+ mes "A Marathon is your choice.";
+ mes "It's a test of your willpower.";
+ next;
+ mes "[Fuhai]";
+ mes "Now, go into the building located in the center of this training area.";
+ next;
+ mes "[Fuhai]";
+ mes "You will pass the test when you can run enough laps.";
+ mes "Now, what are waiting for? Go!";
+ close;
+
+}
+
+prt_monk.gat,199,169,4 script Guard 746,{
+ if(MONK_Q == 7) goto L_START;
+ if(MONK_Q > 6) goto Part1;
+
+ mes "[Guard ChaoLi]";
+ mes "This is...";
+ mes "Monk Training Area";
+ next;
+ mes "[Guard ChaoLi]";
+ mes "Please be quiet in this area.";
+ close;
+
+L_START:
+ mes "[Guard ChaoLi]";
+ mes "This is...";
+ mes "Monk Training Area";
+ next;
+ mes "[Guard ChaoLi]";
+ mes strcharinfo(0) + "... Right?!";
+ next;
+ mes "[Guard ChaoLi]";
+ mes "Go ahead! Quickly!";
+ mes "There is another test waiting for you!";
+ close;
+
+Part1:
+ mes "[Guard ChaoLi]";
+ mes "Please be quiet in this area.";
+ close;
+}
+
+monk_test.gat,329,61,4 script Bashu 753,{
+ if(MONK_Q == 7) goto L_START;
+
+ mes "[Bashu]";
+ mes "Welcome to ^00FF00St. Capitolina Abbey^000000, the Monk Training Area.";
+ mes "May the light shine on your path.";
+ mes "You can find Monk Daowen, the judge of a Monk's training progress, when you go inside";
+ next;
+ mes "[Bashu]";
+ mes "Never the less, don't touch anything inside and be quiet in front of Monk Daowen.";
+ close;
+L_START:
+ if(@Choice_mission == 0) goto L_MISSB;
+ if(@Choice_mission == 2) goto L_MISS2;
+ mes "[Bashu]";
+ mes "As I know, you choose to collect mushrooms as your test.";
+ goto L_MISSC;
+L_MISSB:
+ mes "[Bashu]";
+ mes "Please select a test.";
+ goto L_MISSC;
+L_MISS2:
+ mes "[Bashu]";
+ mes "As I know, you choose the Marathon as your test.";
+L_MISSC:
+ mes "However, if you cannot complete it, you may switch to the other whenever you feel like it.";
+ next;
+ menu "A Monk's patience - Mushroom Collecting",-,
+ "A Monk's willpower - The Marathon",L_MENU_1;
+
+ mes "[Bashu]";
+ mes "The test you choose is Monk's patience - Mushroom Collecting";
+ next;
+ warp "job_monk.gat",225,179;
+ end;
+
+L_MENU_1:
+ mes "[Bashu]";
+ mes "The test you choose is Monk's willpower - Marathon";
+ next;
+ warp "monk_test.gat",387,345;
+ end;
+}
+
+monk_test.gat,387,347,4 script Musha 110,{
+ mes "[Musha]";
+ mes "Wel...Welcome...!";
+ mes "This...This is the area for testing the wi...willpower of those who want to be a Monk.";
+ next;
+ mes "[Musha]";
+ mes "You should just...just run!";
+ mes "Until we tell you to stop.";
+ mes "Run...Run! " + strcharinfo(0) + "! Run!";
+ next;
+ mes "[Musha]";
+ mes "Just Run!! Run Quickly!!";
+ next;
+ mes "[Musha]";
+ mes "One Day, I'll become a Monk!";
+ mes "I.....will......Become...a......MONK!!!";
+ next;
+ mes "[Musha]";
+ mes "Do...Do you...want to give......give up? or...con...continue?";
+ mes "Give up?";
+ next;
+ menu "I want to giveup!",-,"I want to run!!",L_MENU_1;
+
+ mapannounce "monk_test.gat","Musha: " + strcharinfo(0) + " has give...given up on the test...! Gave up on the Marathon test... No...No willpower.....HaHaHaHa!!!...",8;
+ mes "[Musha]";
+ mes strcharinfo(0) + "...give...give up the test...";
+ mes "Give up the Marathon test...";
+ mes "No...No willpower.....HaHaHaHa!!!...";
+ next;
+ warp "prt_monk.gat",196,168;
+ end;
+L_MENU_1:
+ next;
+ mes "[Musha]";
+ mes "Until we give you an order to stop....";
+ mes "Run...Run! " + strcharinfo(0) + "! Run!";
+ //if(@runtimes == 0)
+ set @runtimes, rand(8,10);
+ set @run, 0;
+ close;
+}
+
+monk_test.gat,390,387,0 script monk_warp 45,1,1,{
+ set @run, @run + 1;
+ if(@run == (@runtimes-1)) mapannounce "monk_test.gat","Musha: Cheer up! The next lap is the last!",8;
+ if(@run == @runtimes) goto L_DONE;
+ warp "monk_test.gat",388,348;
+ end;
+L_DONE:
+ mapannounce "monk_test.gat","Musha: Con....Congratulations!!" + strcharinfo(0)+ " Passes!! Please go to [Daowen], he is deep inside the building.",8;
+ set MONK_Q, 8;
+ warp "prt_monk.gat",196,168;
+ end;
+}
+
+function script MnkTraps {
+ mapannounce "monk_test.gat","trap: " + strcharinfo(0)+ " , you fell into a trap! We will warp you to the starting line.",8;
+ warp "monk_test.gat",388,348;
+}
+//---------------------
+monk_test.gat,386,164,0 script monk1-1 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,386,165,0 script monk1-2 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,387,164,0 script monk1-3 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,387,165,0 script monk1-4 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,388,164,0 script monk1-5 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,388,165,0 script monk1-6 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,389,164,0 script monk1-7 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,389,165,0 script monk1-8 139,0,0,{callfunc "MnkTraps";}
+//---------------------
+monk_test.gat,386,42,0 script monk2-1 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,386,43,0 script monk2-2 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,387,42,0 script monk2-3 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,387,43,0 script monk2-4 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,388,42,0 script monk2-3 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,388,43,0 script monk2-4 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,389,42,0 script monk2-3 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,389,43,0 script monk2-4 139,0,0,{callfunc "MnkTraps";}
+//---------------------
+monk_test.gat,184,11,0 script monk3-1 139,0,3,{callfunc "MnkTraps";}
+monk_test.gat,185,11,0 script monk3-2 139,0,3,{callfunc "MnkTraps";}
+monk_test.gat,186,11,0 script monk3-3 139,0,3,{callfunc "MnkTraps";}
+monk_test.gat,187,11,0 script monk3-4 139,0,3,{callfunc "MnkTraps";}
+//---------------------
+monk_test.gat,70,10,0 script monk4-1 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,70,11,0 script monk4-2 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,70,12,0 script monk4-3 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,70,13,0 script monk4-4 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,71,10,0 script monk4-5 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,71,11,0 script monk4-6 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,71,12,0 script monk4-7 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,71,13,0 script monk4-8 139,0,0,{callfunc "MnkTraps";}
+//---------------------
+monk_test.gat,8,30,0 script monk5-1 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,8,31,0 script monk5-2 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,9,30,0 script monk5-3 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,9,31,0 script monk5-4 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,10,30,0 script monk5-5 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,10,31,0 script monk5-6 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,11,30,0 script monk5-7 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,11,31,0 script monk5-8 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,12,30,0 script monk5-9 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,12,31,0 script monk5-10 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,13,30,0 script monk5-11 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,13,31,0 script monk5-12 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,14,30,0 script monk5-13 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,14,31,0 script monk5-14 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,15,30,0 script monk5-15 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,15,31,0 script monk5-16 139,0,0,{callfunc "MnkTraps";}
+//---------------------
+monk_test.gat,10,158,0 script monk6-1 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,10,159,0 script monk6-2 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,11,158,0 script monk6-3 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,11,159,0 script monk6-4 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,12,158,0 script monk6-5 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,12,159,0 script monk6-6 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,13,158,0 script monk6-7 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,13,159,0 script monk6-8 139,0,0,{callfunc "MnkTraps";}
+//---------------------
+monk_test.gat,38,386,0 script monk7-1 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,38,387,0 script monk7-2 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,38,388,0 script monk7-3 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,38,389,0 script monk7-4 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,39,386,0 script monk7-5 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,39,387,0 script monk7-6 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,39,388,0 script monk7-7 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,39,389,0 script monk7-8 139,0,0,{callfunc "MnkTraps";}
+//---------------------
+monk_test.gat,82,390,0 script monk8-1 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,82,391,0 script monk8-2 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,83,390,0 script monk8-3 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,83,391,0 script monk8-4 139,0,0,{callfunc "MnkTraps";}
+//---------------------
+monk_test.gat,82,384,0 script monk8-1 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,82,385,0 script monk8-2 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,83,384,0 script monk8-3 139,0,0,{callfunc "MnkTraps";}
+monk_test.gat,83,385,0 script monk8-4 139,0,0,{callfunc "MnkTraps";}
+//---------------------
+
+prt_monk.gat,225,179,4 script XuanWu 89,{
+ mes "[XuanWu]";
+ mes "To see the growing of crops, I deeply appreciate the grace of God.";
+ next;
+ mes "[XuanWu]";
+ mes "Never the less, to see those crops grown by the strong Monks.";
+ mes "I think it's the most beautiful picture!";
+ next;
+ mes "[XuanWu]";
+ mes "Frankly speeking, farmers are the greatest people in the world.";
+ mes "The Blue Potion you drink must be made of God's will and by the farmer.";
+ next;
+ mes "[XuanWu]";
+ mes "We should always be grateful.";
+ next;
+ mes "[XuanWu]";
+ mes "God gives you everything, even the farmer.";
+ next;
+ mes "[XuanWu]";
+ mes "The farmer is the root of world. That is quite true.";
+ close;
+}
+job_monk.gat,225,179,4 script XuanWu 89,{
+
+ if(MONK_Q == 8 ) goto Part2;
+ if(@mission_start == 1 ) goto Part1;
+
+ mes "[XuanWu]";
+ mes "Welcome! I'm in charge here with the Mushroom Collecting.";
+ mes "My Name is XuanWu";
+ next;
+ mes "[XuanWu]";
+ mes "From now, you should take it for granted that all the suffering is training.";
+ mes "Understand?";
+ next;
+ mes "[XuanWu]";
+ mes "For Monk's lives, we should always offer our efforts as a tribute.";
+ mes "Growing crops is also a kind of training.";
+ next;
+ mes "[XuanWu]";
+ mes "We think it is the best way to realize the will of God.";
+ mes "Therefore, we have started growing some kind of mushrooms that smell foul";
+ next;
+ mes "[XuanWu]";
+ mes "All you have to do is destroy those mushrooms and bring something to prove that you did.";
+ mes "What is that something? The ^ff0000Orange Gooey Mushrooms and Orange Net Mushrooms^000000";
+ next;
+ mes "[XuanWu]";
+ mes "If you want to increase your strength and become a Monk, go and destroy them.";
+ mes "Bring as many as you can, I won't tell you the amount I need.";
+ mes "Now go!";
+ next;
+ mes "[XuanWu]";
+ mes "Or...Do you want to give up?";
+ next;
+ menu "Start Mushroom Collecting",L_MENU_1,"I'll give up",L_MENU_2;
+
+L_MENU_2:
+ mapannounce "monk_test.gat","XuanWu: ......Another one without patience...",8;
+ mes "[XuanWu]";
+ mes "Another one without patience...";
+ set @mission_start, 0;
+ getitem 1069, 1;//Items: Orange_Net_Mushroom,
+ delitem 1069, countitem(1069);//Items: Orange_Net_Mushroom,
+ getitem 1070, 1;//Items: Orange_Gooey_Mushroom,
+ delitem 1070, countitem(1070);//Items: Orange_Gooey_Mushroom_,
+ next;
+ warp "prt_monk.gat",196,168;
+ end;
+L_MENU_1:
+ mes "[XuanWu]";
+ mes "Then what are you waiting for? Go Go Go!!";
+ set @mission_start, 1;
+ close;
+
+Part1:
+ if(countitem(1069) >= 30 && countitem(1070) >0 ) goto L_DONE;//Items: Orange_Net_Mushroom, Orange_Gooey_Mushroom_,
+ if(countitem(1070) >= 30 && countitem(1069) >0 ) goto L_DONE;//Items: Orange_Gooey_Mushroom_, Orange_Net_Mushroom,
+ mes "[XuanWu]";
+ mes "Hmmm... Is that all you can do? I don't think it's enough.";
+ next;
+ mes "[XuanWu]";
+ mes "Or...Do you want to give up?";
+ next;
+ menu "Continue Mushroom Collecting",-,"I'll give up",L_MENU_2;
+ close;
+L_DONE:
+ set MONK_Q, 8;
+ mes "[XuanWu]";
+ mes "Well... I think you can do better...";
+ mes "However, I would say you pass the test.";
+ set @mission_start, 0;
+ delitem 1069, countitem(1069);//Items: Orange_Net_Mushroom,
+ delitem 1070, countitem(1070);//Items: Orange_Gooey_Mushroom_,
+ next;
+ mes "[XuanWu]";
+ mes "Now go to [Daowen], he is deep inside the building.";
+ close;
+Part2:
+ mes "[XuanWu]";
+ mes "Are you testing my patience??";
+ mes "Go to [Daowen], he is in deep inside the building.";
+ close;
+}
+job_monk.gat,191,172,4 script job_monk_warp 45,1,1,{
+ warp "monk_test.gat",329,57;
+ end;
+}
+
+job_monk.gat,199,169,4 script Guard ChaoLi 746,{
+ mes "[Guard ChaoLi]";
+ mes "Silence in test area!";
+ close;
+}
+
+monk_test.gat,319,139,4 script Daowen 52,{
+ if(MONK_Q == 8) goto L_START;
+ if(MONK_Q == 9) goto Part1;
+ if(MONK_Q == 10) goto Part2;
+
+ mes "[Daowen]";
+ mes "Go through it quietly...";
+ mes "HuWuWuuuu......";
+ next;
+ mes "[Daowen]";
+ mes "This is St. Capitolina Abbey. If anything goes wrong, all we have done might become nothing.";
+ next;
+ mes "[Daowen]";
+ mes "Leave! If you don't want to die, don't bother me.";
+ close;
+L_START:
+ mes "[Daowen]";
+ mes "Oh! Finally!";
+ mes "This is the last test, and I am in charge here";
+ mes "My name is 'Daowen'";
+ next;
+ mes "[Daowen]";
+ mes "Well... What should I say?";
+ mes "Those who block your way? Fight them!";
+ next;
+ mes "[Daowen]";
+ mes "Fight! Slash! When you're lost and an enemy blocks your way!";
+ mes "Tell them the will of God!";
+ next;
+ mes "[Daowen]";
+ mes "Don't compare yourself with the weak priest!";
+ mes "We are always strong Monks.";
+ next;
+ mes "[Daowen]";
+ mes "We are different from the weak priests that always run away!";
+ next;
+ mes "[Daowen]";
+ mes "Now! Clench your fist! Go and fight!";
+ next;
+ mes "[Daowen]";
+ mes "Do your best!";
+ mes "HaHaHaHaHa.....!!";
+ next;
+ warp "monk_test",88,73;
+ end;
+
+Part1:
+ mes "[Daowen]";
+ mes "Well done!! HaHaHaHa....!!";
+ mes "I knew you could do it!";
+ mes "I'll give you a special potion that will increase your power.";
+ next;
+ set MONK_Q, 10;
+ if(countitem(506) == 0){//Items: Green_Potion,
+ getitem 506, 1;//Items: Green_Potion,
+ mes "[Daowen]";
+ mes "Drink it, and your internal organs will become strong enough to be a Monk.";
+ next;
+ }else{
+ emotion e_what;
+ mes "[Daowen]";
+ mes "What....!! You already have this special green potion!";
+ mes "Drink all of them, and your internal organs will become strong enough to be a Monk.";
+ next;
+ }
+Part2:
+ mes "[Daowen]";
+ mes "Go to Wuhai - the first one you met here.";
+ close;
+}
+
+monk_test.gat,88,91,4 script Test Assistant 52,{
+ mes "[Test Assistant]";
+ mes "Are you ready for training in the dispersement of evil?";
+ next;
+ mes "[Test Assistant]";
+ mes "The test area is a maze with invisible walls.";
+ mes "The exit point is on the opposite side of the starting point.";
+ next;
+ mes "[Test Assistant]";
+ mes "Of course, there will be some monsters spawned in the maze. You'll have to fight with them.";
+ mes "Good luck! May God be with you.";
+ next;
+ if(getareausers("monk_test.gat",126,161,165,199) > 0) goto L_WAIT;
+ killmonster "monk_test.gat","monk_mob1";
+ enablenpc "monk_mob1_1";
+ enablenpc "monk_mob1_2";
+ enablenpc "monk_mob1_3";
+ enablenpc "monk_mob1_3";
+ warp "monk_test.gat",127,179;
+ end;
+L_WAIT:
+ mes "[Test Assistant]";
+ mes "Oh... There is someone else taking the test. Please wait a minute then try again.";
+ close;
+}
+monk_test.gat,129,180,4 script monk_mob1_1 139,0,19,{
+ monster "monk_test.gat",130,183,"--ja--",1015,1,"monk_mob1";
+ monster "monk_test.gat",130,177,"--ja--",1015,1,"monk_mob1";
+//~ disablenpc "monk_mob1_1";
+ end;
+}
+monk_test.gat,133,180,4 script monk_mob1_2 139,0,19,{
+ monster "monk_test.gat",134,183,"--ja--",1015,1,"monk_mob1";
+ monster "monk_test.gat",134,177,"--ja--",1015,1,"monk_mob1";
+//~ disablenpc "monk_mob1_2";
+ end;
+}
+monk_test.gat,145,180,4 script monk_mob1_3 139,0,19,{
+ monster "monk_test.gat",145,180,"--ja--",1041,1,"monk_mob1";
+//~ disablenpc "monk_mob1_3";
+ end;
+}
+monk_test.gat,155,180,4 script monk_mob1_4 139,0,19,{
+ monster "monk_test.gat",157,183,"--ja--",1015,1,"monk_mob1";
+ monster "monk_test.gat",157,177,"--ja--",1015,1,"monk_mob1";
+//~ disablenpc "monk_mob1_4";
+ end;
+}
+monk_test.gat,165,179,4 script monk_mob3_warp 45,1,1,{
+ set MONK_Q, 9;
+ mapannounce "monk_test.gat","Congratulations!!" + strcharinfo(0)+ " Passes!! Please go to [Daowen], he is deep inside the building.",8;
+ killmonster "monk_test.gat","monk_mob1";
+ warp "monk_test.gat",317,142;
+ end;
+}
+
+monk_test.gat,1,1,1 script monk_mob1 -1,{
+ end;
+}
+
+monk_test.gat,95,85,4 script Test Assistant 79,{
+ mes "[Test Assistant]";
+ mes "Are you ready for training in the dispersement of evil?";
+ next;
+ mes "[Test Assistant]";
+ mes "The test area is a maze with invisible walls.";
+ mes "The exit point is on the opposite side of the starting point.";
+ next;
+ mes "[Test Assistant]";
+ mes "Of course, there will be some monsters spawned in the maze. You'll have to fight with them.";
+ mes "Good luck! May God be with you.";
+ next;
+ if(getareausers("monk_test.gat",126,262,165,300) > 0) goto L_WAIT;
+ killmonster "monk_test.gat","monk_mob2";
+ enablenpc "monk_mob2_1";
+ enablenpc "monk_mob2_2";
+ enablenpc "monk_mob2_3";
+ enablenpc "monk_mob2_4";
+ warp "monk_test.gat",127,278;
+ end;
+
+L_WAIT:
+ mes "[Test Assistant]";
+ mes "Oh... There is someone else taking the test. Please wait a minute then try again.";
+ close;
+
+}
+monk_test.gat,129,281,4 script monk_mob2_1 139,0,19,{
+ monster "monk_test.gat",130,278,"--ja--",1015,1,"monk_mob2";
+ monster "monk_test.gat",130,284,"--ja--",1015,1,"monk_mob2";
+//~ disablenpc "monk_mob2_1";
+ end;
+}
+monk_test.gat,136,281,4 script monk_mob2_2 139,0,19,{
+ monster "monk_test.gat",139,278,"--ja--",1015,1,"monk_mob2";
+ monster "monk_test.gat",139,284,"--ja--",1015,1,"monk_mob2";
+//~ disablenpc "monk_mob2_2";
+ end;
+}
+monk_test.gat,144,281,4 script monk_mob2_3 139,0,19,{
+ monster "monk_test.gat",145,281,"--ja--",1041,1,"monk_mob2";
+//~ disablenpc "monk_mob2_3";
+ end;
+}
+monk_test.gat,153,281,4 script monk_mob2_4 139,0,19,{
+ monster "monk_test.gat",155,278,"--ja--",1015,1,"monk_mob2";
+ monster "monk_test.gat",155,284,"--ja--",1015,1,"monk_mob2";
+//~ disablenpc "monk_mob2_4";
+ end;
+}
+monk_test.gat,165,278,4 script monk_mob2_warp 45,1,1,{
+ set MONK_Q, 9;
+ mapannounce "monk_test.gat","Congratulations!!" + strcharinfo(0)+ " Passes!! Please go to [Daowen], he is deep inside the building.",8;
+ killmonster "monk_test.gat","monk_mob2";
+ warp "monk_test.gat",317,142;
+ end;
+}
+
+monk_test.gat,1,1,1 script monk_mob2 -1,{
+ end;
+}
+
+monk_test.gat,82,85,4 script Test Assistant 95,{
+ mes "[Test Assistant]";
+ mes "Are you ready for training in the dispersement of evil?";
+ next;
+ mes "[Test Assistant]";
+ mes "The test area is a maze with invisible walls.";
+ mes "The exit point is on the opposite side of the starting point.";
+ next;
+ mes "[Test Assistant]";
+ mes "Of course, there will be some monsters spawned in the maze. You'll have to fight with them.";
+ mes "Good luck! May God be with you.";
+ next;
+ if(getareausers("monk_test.gat",233,262,269,300) > 0) goto L_WAIT;
+ killmonster "monk_test.gat","monk_mob3";
+ enablenpc "monk_mob3_1";
+ enablenpc "monk_mob3_2";
+ enablenpc "monk_mob3_3";
+ enablenpc "monk_mob3_4";
+ warp "monk_test.gat",231,279;
+ end;
+
+L_WAIT:
+ mes "[Test Assistant]";
+ mes "Oh... There is someone else taking the test. Please wait a minute then try again.";
+ close;
+}
+
+monk_test.gat,234,281,4 script monk_mob3_1 139,0,19,{
+ monster "monk_test.gat",235,277,"--ja--",1015,1,"monk_mob3";
+ monster "monk_test.gat",235,284,"--ja--",1015,1,"monk_mob3";
+//~ disablenpc "monk_mob3_1";
+ end;
+}
+monk_test.gat,239,281,4 script monk_mob3_2 139,0,19,{
+ monster "monk_test.gat",240,277,"--ja--",1015,1,"monk_mob3";
+ monster "monk_test.gat",240,284,"--ja--",1015,1,"monk_mob3";
+//~ disablenpc "monk_mob3_2";
+ end;
+}
+monk_test.gat,248,281,4 script monk_mob3_3 139,0,19,{
+ monster "monk_test.gat",249,281,"--ja--",1041,1,"monk_mob3";
+//~ disablenpc "monk_mob3_3";
+ end;
+}
+monk_test.gat,260,281,4 script monk_mob3_4 139,0,19,{
+ monster "monk_test.gat",261,277,"--ja--",1015,1,"monk_mob3";
+ monster "monk_test.gat",261,284,"--ja--",1015,1,"monk_mob3";
+//~ disablenpc "monk_mob3_4";
+ end;
+}
+monk_test.gat,269,279,4 script monk_mob3_warp 45,1,1,{
+ set MONK_Q, 9;
+ mapannounce "monk_test.gat","Congratulations!!" + strcharinfo(0)+ " Passes!! Please go to [Daowen], he is deep inside the building.",8;
+ killmonster "monk_test.gat","monk_mob3";
+ warp "monk_test.gat",317,142;
+ end;
+}
+
+
+//==============================================================================
+// Monsters of Mushroom Collecting
+//==============================================================================
+job_monk.gat,0,0,0,0 monster Thief Mushroom 1182,170,0,0,0
+job_monk.gat,0,0,0,0 monster Thief Bug Larva 1051,120,0,0,0
+
+//==============================================================================
+// warps
+//==============================================================================
+prt_monk.gat,192,172,0 warp monk15 1,1,monk_test.gat,329,50
+monk_test.gat,329,47,0 warp monk16 1,1,prt_monk.gat,193,166
+monk_test.gat,329,76,0 warp monk17 1,1,monk_test.gat,259,118
+monk_test.gat,259,115,0 warp monk18 1,1,monk_test.gat,329,71
+monk_test.gat,271,126,0 warp monk19 1,1,monk_test.gat,301,127
+monk_test.gat,298,127,0 warp monk20 1,1,monk_test.gat,268,126
+
+//==============================================================================
+// mapflag
+//==============================================================================
+monk_test.gat mapflag nomemo
+monk_test.gat mapflag noteleport
+monk_test.gat mapflag nosave SavePoint
+monk_test.gat mapflag nopenalty
+monk_test.gat mapflag nobranch
+monk_test.gat mapflag noexp
+monk_test.gat mapflag noloot
diff --git a/npc/jobs/2-2/rogue.txt b/npc/jobs/2-2/rogue.txt
new file mode 100644
index 000000000..2825d4071
--- /dev/null
+++ b/npc/jobs/2-2/rogue.txt
@@ -0,0 +1,758 @@
+//===== eAthena Script =======================================
+//= Rogue Job Quest
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.6
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Rogue job quest based off of official iRO Rogue quest.
+//= There are some differences from official quest due to scripting issues.
+//= Missing some message text.
+//===== Additional Comments: =================================
+//= 1.1 fixed 3 wrong questions, added missing lines [Lupus]
+//= 1.3 Baby Class Support + 40/50 JobLevel Item fix [Lupus]
+//= 1.5 Fixed possible EXP abuse [Lupus]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where
+//= to go. [Lupus]
+//============================================================
+
+
+//=======================================================================================================//
+// Markie: Test 1 and Jobchange //
+//***********************************************************************************************************************************************************//
+in_rogue.gat,363,123,3 script Markie 747,{
+ callfunc "F_BlockHigh",30,"Thief High",41,"Stalker","Markie";
+
+ mes "[Markie]";
+ if(BaseJob == Job_Thief) goto L_Thief;
+ if(BaseJob == Job_Rogue) goto L_Rogue;
+
+L_JobOther:
+ mes "I don't know how you found this place, but I think you better leave..........";
+ close;
+
+L_Rogue:
+ mes "Nice to see you again sweetie. You must be having so much fun as Rogue huh? Teh he he....";
+ close;
+
+L_Thief:
+ if(JobLevel >= 40) goto L_Start;
+ mes "Oh hi there. If you want to become a Rogue I'm afraid you'll have to come back after you've trained a little more.";
+ mes "Only Thieves with a ^5533FFJob level of at least 40^000000 can become Rogues.";
+ close;
+
+L_Start:
+ if(ROGUE_Q == 1) goto L_ReTest;
+ if(ROGUE_Q == 2) goto L_Test2;
+ if(ROGUE_Q == 3) goto L_Test3;
+ if(ROGUE_Q == 4) goto L_Test4;
+ if(ROGUE_Q == 5) goto L_Change;
+ mes "Hmm? What brings you down here? Oh I see now... You want to become a rogue don't you sweetie?";
+ next;
+ mes "[Markie]";
+ mes "Well it's nice to meet you. My name is Markie, what's yours?";
+ next;
+ mes "[Markie]";
+ mes strcharinfo(0) + "..... Te he, you've got a nice name there honey. By the way, how come you decided to become a Rogue?";
+ next;
+ mes "[Markie]";
+ mes "Well since you were honest with me and gave me your real name I guess it doesn't really matter.";
+ mes "But for future reference, a Rogue never reveals his/her true identity to anybody.";
+ next;
+ mes "[Markie]";
+ mes "It's a Rogue's number 1 rule shuga, so from now on you'd better be careful about that.";
+ mes "By the way, here's an application form..... please fill out all the necessary information.....";
+ next;
+ mes "(you fill out the form and hand it back)";
+ set JBLVL, 40; // used to determine what item to get at the end
+ if(JobLevel == 50) set JBLVL, 50; // used to determine what item to get at the end
+ next;
+ mes "[Markie]";
+ mes "Okay honey.... looks good, I'll accept your application.";
+ mes "Now that that's been taken care of, how about I conduct a short interview with you?";
+ next;
+ mes "[Markie]";
+ mes "Oh, you don't have to be nervous about it sweetie.... I'm just want to find out how much you know about Rogues.";
+ mes "I do this with all of the Rogue candidates. Shall we begin?";
+ next;
+ menu "Ok.",L_Test1, "Hold on... I need some time.",-;
+
+ mes "[Markie]";
+ mes "Okay honey, just take your time. When you're ready come back.";
+ close;
+
+
+//=================================================================
+L_Test1:
+//=======
+ mes "[Markie]";
+ mes "I am going to ask you a few questions. Listen carefully and choose what you think is the best answer okay?";
+ next;
+ callfunc "RogQ_check";
+ if(@score< 90) goto sL_Failed;
+ if(@score<100) goto sL_Passed;
+
+ sL_Perfect:
+ mes "A perfect score! I knew you had what it takes to be a Rogue.....";
+ mes "But don't get ahead of yourself honey cause there is still plenty more.....";
+ next;
+ mes "[Markie]";
+ set ROGUE_Q, 2;
+ goto L_Test2;
+
+ sL_Passed:
+ mes "Good, good. You did a good job shuga. But there is still more so don't get excited just yet.....";
+ next;
+ mes "[Markie]";
+ set ROGUE_Q, 2;
+ goto L_Test2;
+ return;
+
+ sL_Failed:
+ mes "*sigh*..... this is not the type of score I was expecting......";
+ mes "What can I say excecpt, with a score like this you're definitely not cut out to be a Rogue..........";
+ emotion 4;
+ next;
+ mes "[Markie]";
+ mes "Why don't you go do some more training shuga..... you need it..... *mumbles ( what a waste of my time...)*";
+ close;
+
+L_ReTest:
+ mes "You again? Are you sure you're ready this time?...... Okay honey, just relax....";
+ next;
+ goto L_Test1;
+
+L_Test2:
+ mes "Your second test will be given by ^5533FFMr. Smith^000000.";
+ mes "I have to warn you though, Mr. Smith can be difficult and hard to please. So be careful how you act around him.";
+ close;
+L_Test3:
+ mes "I know those guys are hard to find. Just be patient and keep on searching. Make sure you have the correct password as well..";
+ close;
+L_Test4:
+ mes "What are you doing here? I hope your not trying to skip the last test?.........";
+ emotion 1;
+ next;
+ mes "[Markie]";
+ mes "Your almost finished so just keep trying. I know you can do it.";
+ close;
+
+
+//=======================================================================
+L_Change:
+//===========
+ mes "Oh, you're back and your in one piece! It looks like you've passed all of the tests sweetie.";
+ mes "You have proven that you are ready to become a Rogue!";
+ emotion 5;
+ next;
+ if(SkillPoint != 0) goto L_SkillP;
+ mes "[Markie]";
+ mes "Tada! Congratulations on becoming a Rogue. You showed a lot of effort and deserve a reward for it......";
+ setlook 7,0;
+ callfunc "Job_Change",Job_Rogue;
+ emotion 46;
+ next;
+ mes "[Markie]";
+ mes "Now that you are a Rogue you are free to go where ever you want to and do what ever you want.";
+ if(JBLVL != 50) getitem 1219,1; // 2 slott gladius
+ if(JBLVL == 50) getitem 1220,1; // 3 slott gladius
+ callfunc "F_ClearJobVar";
+ next;
+ mes "[Markie]";
+ mes "Just keep in mind that freedom requires responsibility. Treat people the way you expect to be treated.";
+ next;
+ mes "[Markie]";
+ mes "Have fun shuga! See ya around!";
+ close;
+
+//=======================================================================
+L_SkillP:
+//===========
+ mes "[Markie]";
+ mes "Oh but one thing honey... you have leftover skill points!";
+ mes "Finish them first and come back, 'kay?";
+ close;
+}
+
+
+
+//=======================================================================================================//
+// Mr. Smith: Tests 2 and 3 //
+//***********************************************************************************************************************************************************//
+in_rogue.gat,376,23,3 script Mr. Smith 57,{
+
+ mes "[Mr. Smith]";
+ if(BaseJob == Job_Thief) goto L_Thief;
+ if(BaseJob == Job_Rogue) goto L_Rogue;
+
+L_OtherJob:
+ mes "Go away! I'm busy.....";
+ close;
+L_Rogue:
+ mes "Looking good there my Rogue friend";
+ close;
+L_Thief:
+ if(ROGUE_Q == 2) goto L_Test2;
+ if(ROGUE_Q == 3) goto L_Test3;
+ if(ROGUE_Q > 3) goto L_Done;
+ mes "Ok ok.... one... two.... three.... Where do you do you business... is it.... Morroc... Geffen.... Comodo??.......";
+ next;
+ mes "[Mr. Smith]";
+ mes "Uhh..... this is giving me a headache.......";
+ next;
+ mes "[Mr. Smith]";
+ mes "Huh? Who are you? If you want to become a rogue go talk to ^5533FFMarkie^000000....";
+ next;
+ mes "[Mr. Smith]";
+ mes "...... CRAP! I forgot what I was counting!!";
+ emotion 16;
+ close;
+
+//----------------------------------------------------------------------------------------------------
+L_Test2:
+//--------------
+ if(ROGUE_Q2 > 0) goto L_Check2;
+ mes "So you're here to take the second test.... good.......";
+ next;
+ mes "[Mr. Smith]";
+ mes "Before we get started, let me tell you about the test application fee.";
+ mes "Our guild is involved in alot of business *cough* 'transactions' *cough* and therefore we are in constant needs of funds.";
+ next;
+ mes "[Mr. Smith]";
+ mes "This is why we require a fee of ^5533FF10,000 zeny^000000 to be paid when taking the Rogue tests.";
+ mes "The fee will be collected when you have completed this second test so don't have to worry if you don't have it now.";
+ next;
+ mes "[Mr. Smith]";
+ mes "Now for your test..... You will be required to collect the following items:";
+ next;
+ mes "[Mr. Smith]";
+ set ROGUE_Q2, rand(1,3);
+ if(ROGUE_Q2 == 1) callsub sF2_R1;
+ if(ROGUE_Q2 == 2) callsub sF2_R2;
+ if(ROGUE_Q2 == 3) callsub sF2_R3;
+ next;
+ mes "[Mr. Smith]";
+ mes "Once you have ALL of these items and 10,000 zeny, come back and see me okay? Good.";
+ close;
+
+ sF2_R1:
+ mes "^5533FF6 Blue Herbs,";
+ mes "10 Skel Bones,";
+ mes "10 Decayed Nails,";
+ mes "10 Horrendous Mouths^000000.";
+ return;
+ sF2_R2:
+ mes "^5533FF10 Green Herbs,";
+ mes "10 Garlets,";
+ mes "10 Snake Scales";
+ mes "10 Crab Shells.^000000";
+ return;
+ sF2_R3:
+ mes "^5533FF10 Yellow Herbs,";
+ mes "10 Bear's Footskin,";
+ mes "10 Shells";
+ mes "10 Grasshopper's Legs^000000.";
+ return;
+
+L_Check2:
+ set @count, 0;
+ if(ROGUE_Q2 == 2) goto L_2;
+ if(ROGUE_Q2 == 3) goto L_3;
+
+ L_1:
+ set @R, 1;
+ if(countitem(510)<6 || countitem(932)<10 || countitem(957)<10 || countitem(958)<10 || Zeny < 10000) goto L_NotEnuf;
+ delitem 510,6;
+ delitem 932,10;
+ delitem 957,10;
+ delitem 958,10;
+ goto L_Done2;
+
+ L_2:
+ set @R, 2;
+ if(countitem(511)<10 || countitem(910)<10 || countitem(926)<10 || countitem(964)<10 || Zeny < 10000) goto L_NotEnuf;
+ delitem 511,10;
+ delitem 910,10;
+ delitem 926,10;
+ delitem 964,10;
+ goto L_Done2;
+
+ L_3:
+ set @R, 3;
+ if(countitem(508)<10 || countitem(948)<10 || countitem(935)<10 || countitem(940)<10 || Zeny < 10000) goto L_NotEnuf;
+ delitem 508,10;
+ delitem 948,10;
+ delitem 935,10;
+ delitem 940,10;
+
+ L_Done2:
+ mes "Let's see here.... application fee.... check..... items....... check...... Alright, everything looks in order. You've passed the second test.";
+ next;
+ mes "[Mr. Smith]";
+ mes "When you are ready to take the next test let me know.";
+ set Zeny, Zeny - 10000;
+ set ROGUE_Q, 3;
+ set ROGUE_Q2, 0;
+ close;
+
+ L_NotEnuf:
+ mes ".... What the f@&#!?!? You don't have all of the items? Then why did you come back?? Don't tell me you forgot what to get.....";
+ emotion 1;
+ next;
+ mes "[Mr. Smith]";
+ mes "Write this down! You need ^5533FF10,000^000000 zeny and:";
+ if(ROGUE_Q2 == 1) callsub sF2_R1;
+ if(ROGUE_Q2 == 2) callsub sF2_R2;
+ if(ROGUE_Q2 == 3) callsub sF2_R3;
+ next;
+ mes "[Mr. Smith]";
+ mes "Got it? DON'T come back until you have everything.........";
+ emotion 32;
+ close;
+
+
+//----------------------------------------------------------------------------------------------
+L_Test3:
+//---------------
+ if(ROGUE_Q2 > 0) goto L_Check3;
+ mes "Let me see..... Who should I have you go find........ hmm.........";
+ emotion 20;
+ next;
+ mes "[Mr. Smith]";
+ mes "Ah I know! Alright, in the previous test I had you go find some items. For this test you will need to find a specific person.";
+ emotion 5;
+ next;
+ mes "[Mr. Smith]";
+ set ROGUE_Q2, rand(1,3);
+ if(ROGUE_Q2 == 1) callsub sF3_R1;
+ if(ROGUE_Q2 == 2) callsub sF3_R2;
+ if(ROGUE_Q2 == 3) callsub sF3_R3;
+ next;
+ mes "[Mr. Smith]";
+ mes "Good luck to you. Try to finish this test as soon as possible. Getting things done quickly is one of a Rogue's traits.";
+ close;
+
+ sF3_R1:
+ mes "You will have to go and find ^5533FFAragham Junior^000000.";
+ next;
+ mes "[Mr. Smith]";
+ mes "He lives in a little house somewhere ^5533FFSouthWest^000000 of the Fortress of Sandarman.";
+ mes "That area is located ^5533FFone map East^000000 from here and is on the ^000000SouthWestern land mass^000000.";
+ next;
+ mes "[Mr. Smith]";
+ mes "He's a really nice guy who works real hard and is very good at collecting unpaid debts.";
+ mes "Unfortunately people were trying to kill him because of something his father had done in the past.";
+ next;
+ mes "[Mr. Smith]";
+ mes "When he joined the Rogue guild, he decided he was going to keep low which is why he's in his current hiding place.";
+ mes "No one is supposed to know where he is except for those of us at the Rogue Guild.";
+ next;
+ mes "[Mr. Smith]";
+ mes "That's why you will need this password in order to talk to him.";
+ mes "The password is: '^5533FFAragham never hoarded upgrade items.^000000'";
+ return;
+ sF3_R2:
+ mes "You will have to go and find ^5533FFHollgrehen Junior^000000.";
+ next;
+ mes "[Mr. Smith]";
+ mes "He lives in a little house somewhere ^5533FFSouthEast^000000 of the Fortress of Sandarman.";
+ mes "That area is located ^5533FFone map East^000000 from here and is on the ^5533FFEastern land mass^000000.";
+ next;
+ mes "[Mr. Smith]";
+ mes "He's a really nice guy who works real hard and is very good at collecting unpaid debts.";
+ mes "Unfortunately people were trying to kill him because of something his father had done in the past.";
+ next;
+ mes "[Mr. Smith]";
+ mes "When he joined the Rogue guild, he decided he was going to keep low which is why he's in his current hiding place.";
+ mes "No one is supposed to know where he is except for those of us at the Rogue Guild.";
+ next;
+ mes "[Mr. Smith]";
+ mes "That's why you will need this password in order to talk to him.";
+ mes "The password is: '^5533FFMy Father never hoarded upgrade items.^000000'";
+ return;
+ sF3_R3:
+ mes "You will have to go and find ^5533FFAntonio Junior.^000000.";
+ next;
+ mes "[Mr. Smith]";
+ mes "He lives in a little hut somewhere on the ^5533FFEastern end of Kokomo Beach^000000.";
+ mes "That area is located ^5533FF1 map North, and 1 map West^000000 from here.";
+ next;
+ mes "[Mr. Smith]";
+ mes "He's a really nice guy who works real hard and is very good at collecting unpaid debts.";
+ mes "Unfortunately people were trying to kill him because of something his father had done in the past.";
+ next;
+ mes "[Mr. Smith]";
+ mes "When he joined the Rogue guild, he decided he was going to keep low which is why he's in his current hiding place.";
+ mes "No one is supposed to know where he is except for those of us at the Rogue Guild.";
+ next;
+ mes "[Mr. Smith]";
+ mes "That's why you will need this password in order to talk to him.";
+ mes "The password is: '^5533FFAntonio doesn't like breaking refining material.^000000'";
+ return;
+
+
+L_Check3:
+ mes "What!?! Did you just say you forgot where to go?........";
+ emotion 1;
+ next;
+ mes "[Mr. Smith]";
+ mes "GRRRR!!! That's why you need to WRITE down important things! Geez......";
+ emotion 6;
+ next;
+ mes "[Mr. Smith]";
+ if(ROGUE_Q2 == 1) callsub sF3_R1;
+ if(ROGUE_Q2 == 2) callsub sF3_R2;
+ if(ROGUE_Q2 == 3) callsub sF3_R3;
+ close;
+
+//-------------------------------------------------------------------------------------------------
+L_Done:
+//----------------
+ mes "I have no more busisness with you.........";
+ close;
+}
+
+
+//===========================================================
+// Guildsman that need to be found
+//===========================================================
+
+//------------------------------------------------------------------------------
+in_rogue.gat,272,136,3 script Hermanthorn Jr. 85,{
+ mes "[Hermanthorn Jr.]";
+ mes "Huh? Wha.... who are you?! You're not from the Rogue guild!! Get out of here!";
+ emotion 1;
+ next;
+ mes "[Hermanthorn Jr.]";
+ mes "You're..... I see! You're one of them!!! You've come here to kill me haven't you??!! No... NO!! I'm not ready to die yet!";
+ emotion 0;
+ next;
+ mes "[Hermanthorn Jr.]";
+ mes "Aaaaaaaaaaaaaahhhh!! Go away! Get lost! Otherwise I am gonna KILL YOU!!!";
+ emotion 16;
+ close;
+}
+
+// --------------------------------------------------------------------------
+cmd_fild09.gat,106,195,0 script Aragham Junior 45,1,1,{
+ callfunc "F_RogueTest3", 1, "Aragham", "never", "hoarded", "upgrade items.", 244, 24;
+}
+
+// -----------------------------------------------------------------------------
+cmd_fild09.gat,335,143,0 script Hollgrehen Junior 45,1,1,{
+ callfunc "F_RogueTest3", 2, "My father", "never", "hoarded", "upgrade items.", 168, 34;
+}
+
+// ------------------------------------------------------------------------------
+cmd_fild04.gat,304,179,0 script Antonio Junior 45,1,1,{
+ callfunc "F_RogueTest3", 3, "Antonio", "doesn't like", "breaking", "refining materials.", 165, 104;
+}
+
+// Function for Guildsman ===================================
+function script F_RogueTest3 {
+
+ mes "[???]";
+ mes "Who's there?!!!";
+ mes "Who dares to trespass on my territory?";
+ if(BaseJob!=Job_Thief || ROGUE_Q<3 || ROGUE_Q2==0) close;
+L_Start:
+ deletearray @choice$[1], 4;
+ next;
+ menu "My father",M_1a, "Aragham",M_1b, "Antonio",M_1c, "Legolas",M_1d;
+
+ M_1a:
+ set @choice$[1], "My father";
+ goto M_Menu2;
+ M_1b:
+ set @choice$[1], "Aragham";
+ goto M_Menu2;
+ M_1c:
+ set @choice$[1], "Antonio";
+ goto M_Menu2;
+ M_1d:
+ set @choice$[1], "Legolas";
+
+ M_Menu2:
+ callsub sF_Password;
+ menu "did not",M_2a, "doesn't like",M_2b, "never",M_2c, "ever",M_2d;
+
+ M_2a:
+ set @choice$[2], "did not";
+ goto M_Menu3;
+ M_2b:
+ set @choice$[2], "doesn't like";
+ goto M_Menu3;
+ M_2c:
+ set @choice$[2], "never";
+ goto M_Menu3;
+ M_2d:
+ set @choice$[2], "ever";
+
+ M_Menu3:
+ callsub sF_Password;
+ menu "hoard",M_3a, "hoarded",M_3b, "hide",M_3c, "took",M_3d, "breaking",M_3e;
+
+ M_3a:
+ set @choice$[3], "hoard";
+ goto M_Menu4;
+ M_3b:
+ set @choice$[3], "hoarded";
+ goto M_Menu4;
+ M_3c:
+ set @choice$[3], "hide";
+ goto M_Menu4;
+ M_3d:
+ set @choice$[3], "took";
+ goto M_Menu4;
+ M_3e:
+ set @choice$[3], "breaking";
+
+ M_Menu4:
+ callsub sF_Password;
+ menu "upgrade items.",M_4a, "forging items.",M_4b, "refining materials.",M_4c, "upgrade equipment.",M_4d;
+
+ M_4a:
+ set @choice$[4], "upgrade items.";
+ goto L_Check;
+ M_4b:
+ set @choice$[4], "forging items.";
+ goto L_Check;
+ M_4c:
+ set @choice$[4], "refining materials.";
+ goto L_Check;
+ M_4d:
+ set @choice$[4], "upgrade equipment.";
+
+L_Check:
+ callsub sF_Password;
+ if(ROGUE_Q2 != getarg(0)) goto L_Wrong;
+ if((@choice$[1] != getarg(1)) || (@choice$[2] != getarg(2)) || (@choice$[3] != getarg(3)) || (@choice$[4] != getarg(4))) goto L_Wrong;
+ mes "~ creeek ~";
+ mes "You hear the door begining to open........";
+ next;
+ deletearray @choice$[1], 4;
+ warp "in_rogue.gat", getarg(5), getarg(6);
+ end;
+
+ L_Wrong:
+ mes "[???]";
+ mes "Get lost!!";
+ close;
+sF_Password:
+ mes "[^5533FF" + strcharinfo(0) + "^000000]";
+ mes @choice$[1];
+ mes @choice$[2];
+ mes @choice$[3];
+ mes @choice$[4];
+ next;
+ return;
+}
+
+
+//=======================================================================================================//
+// Test 4: Last Test //
+//***********************************************************************************************************************************************************//
+// Other path
+// warp "in_rogue.gat", 11, 388;
+// 390,389 end warp
+// 9,9 -> 9,21
+//===============================================
+// Guildsman
+//===============================================
+//---------------------------------------------------------------------------
+in_rogue.gat,244,39,4 script Aragham Junior 99,{
+ callfunc "F_RogueTest4", "Aragham Junior", 245, 27;
+}
+//---------------------------------------------------------------------------
+in_rogue.gat,152,27,6 script Hollgrehen Junior 85,{
+ callfunc "F_RogueTest4", "Hollgrehen Junior", 160, 32;
+}
+//---------------------------------------------------------------------------
+in_rogue.gat,183,105,4 script Antonio Junior 88,{
+ callfunc "F_RogueTest4", "Antonio Junior", 175, 107;
+}
+
+// Function for Guildsman =============================
+function script F_RogueTest4 {
+
+ if(ROGUE_Q == 4) goto L_Restart;
+ mes "[" + getarg(0) + "]";
+ mes "Hello there... You must be from the Rogue guild. My name is " + getarg(0) + "...... I am the Rogue of the Desert..............";
+ next;
+ mes "[" + getarg(0) + "]";
+ mes "Aww who am I kidding...... Let's cut the crap. So are you ready to become a rogue?";
+ emotion 4;
+ next;
+ mes "[" + getarg(0) + "]";
+ mes "You see, the Rogue motto is...... ^5533FF'Avoid the strong! Be malicious to the weak!'^000000";
+ mes "This simple rule applys to fighting monsters as well.";
+ next;
+ mes "[" + getarg(0) + "]";
+ mes "The very last thing you will have to do before you can become a Rogue, is to walk through an underground passage to the Rogue Guild.";
+ next;
+ mes "[" + getarg(0) + "]";
+ mes "Sounds easy huh? Well it's not! But don't worry....";
+ mes "If you stay true to the Rogue motto and use a lot of hide, and do a lot of running, you should be just fine.";
+
+ M_Menu:
+ next;
+ mes "[" + getarg(0) + "]";
+ mes "Ok, are you ready to go?";
+ next;
+ menu "As ready as I'll ever be.",-, "Actually I'm kinda scared...",M_End;
+
+ mes "[" + getarg(0) + "]";
+ mes "Good luck then.";
+ next;
+ set ROGUE_Q, 4;
+ killmonsterall "in_rogue.gat";
+ savepoint "in_rogue.gat", getarg(1), getarg(2);
+ warp "in_rogue.gat", 15, 105;
+ end;
+
+ M_End:
+ mes "[" + getarg(0) + "]";
+ mes ".....................";
+ next;
+ mes "[" + getarg(0) + "]";
+ mes "Well take your time then...... I guess.......";
+ close;
+
+L_Restart:
+ mes "[" + getarg(0) + "]";
+ mes "....... Looks like you got creamed.......";
+ emotion 4;
+ next;
+ mes "[" + getarg(0) + "]";
+ mes "If you're up for it, I'll send you back in. Failure has a way of teaching success.... yada yada yada....";
+ percentheal 100,100;
+ goto M_Menu;
+}
+
+//================================================
+// Monster Spawns
+//================================================
+in_rogue.gat,15,185,0 script rogue_mob1 139,8,0,{
+ monster "in_rogue.gat",14,188,"Zombie",1015,1;
+ monster "in_rogue.gat",15,188,"Zombie",1015,1;
+ monster "in_rogue.gat",16,188,"Zombie",1015,1;
+ monster "in_rogue.gat",14,189,"Zombie",1015,1;
+ monster "in_rogue.gat",15,189,"Zombie",1015,1;
+ monster "in_rogue.gat",16,189,"Zombie",1015,1;
+ end;
+}
+in_rogue.gat,15,245,0 script rogue_mob2 139,8,0,{
+ monster "in_rogue.gat",14,247,"Mummy",1041,1;
+ monster "in_rogue.gat",15,247,"Mummy",1041,1;
+ monster "in_rogue.gat",16,247,"Mummy",1041,1;
+ monster "in_rogue.gat",14,248,"Mummy",1041,1;
+ monster "in_rogue.gat",15,248,"Mummy",1041,1;
+ monster "in_rogue.gat",16,248,"Mummy",1041,1;
+ end;
+}
+in_rogue.gat,15,328,0 script rogue_mob3 139,8,0,{
+ monster "in_rogue.gat",14,331,"Zombie",1015,1;
+ monster "in_rogue.gat",15,331,"Zombie",1015,1;
+ monster "in_rogue.gat",16,331,"Zombie",1015,1;
+ monster "in_rogue.gat",14,332,"Zombie",1015,1;
+ monster "in_rogue.gat",15,332,"Zombie",1015,1;
+ monster "in_rogue.gat",16,332,"Zombie",1015,1;
+ end;
+}
+in_rogue.gat,35,342,0 script rogue_mob4 139,0,8,{
+ monster "in_rogue.gat",38,340,"Mummy",1041,1;
+ monster "in_rogue.gat",37,342,"Abyss Knight",1219,1;
+ monster "in_rogue.gat",39,342,"Ghoul",1036,1;
+ monster "in_rogue.gat",38,344,"Mummy",1041,1;
+ end;
+}
+in_rogue.gat,57,306,0 script rogue_mob5 139,4,0,{
+ monster "in_rogue.gat",59,301,"Khalitzburg",1132,1;
+ end;
+}
+in_rogue.gat,96,333,0 script rogue_mob6 139,0,4,{
+ monster "in_rogue.gat",92,325,"Khalitzburg",1132,1;
+ end;
+}
+in_rogue.gat,139,313,0 script rogue_mob7 139,4,0,{
+ monster "in_rogue.gat",139,309,"Abyss Knight",1219,1;
+ end;
+}
+in_rogue.gat,135,246,0 script rogue_mob8 139,0,4,{
+ monster "in_rogue.gat",139,245,"Zombie",1015,2;
+ monster "in_rogue.gat",139,246,"Zombie",1015,2;
+ monster "in_rogue.gat",139,247,"Zombie",1015,2;
+ end;
+}
+in_rogue.gat,62,302,0 script rogue_mob9 139,0,4,{
+ monster "in_rogue.gat",57,305,"Khalitzburg",1132,1;
+ end;
+}
+in_rogue.gat,199,218,0 script rogue_mob10 139,0,8,{
+ monster "in_rogue.gat",157,218,"Zombie",1015,10;
+ monster "in_rogue.gat",157,218,"Abyss Knight",1219,1;
+ monster "in_rogue.gat",157,218,"Ghoul",1036,1;
+ monster "in_rogue.gat",157,218,"Archer Skeleton",1016,1;
+ end;
+}
+in_rogue.gat,86,187,0 script rogue_mob11 139,0,8,{
+ monster "in_rogue.gat",88,186,"Mummy",1041,1;
+ monster "in_rogue.gat",88,187,"Mummy",1041,1;
+ monster "in_rogue.gat",88,188,"Mummy",1041,1;
+ end;
+}
+in_rogue.gat,225,187,0 script rogue_mob12 139,0,8,{
+ monster "in_rogue.gat",232,191,"Abyss Knight",1219,1;
+ monster "in_rogue.gat",233,190,"Abyss Knight",1219,1;
+ monster "in_rogue.gat",234,189,"Abyss Knight",1219,1;
+ end;
+}
+in_rogue.gat,252,320,0 script rogue_mob13 139,0,8,{
+ monster "in_rogue.gat",252,319,"Mummy",1041,1;
+ monster "in_rogue.gat",252,321,"Mummy",1041,1;
+ monster "in_rogue.gat",252,319,"Ghoul",1036,1;
+ monster "in_rogue.gat",252,321,"Ghoul",1036,1;
+ monster "in_rogue.gat",257,320,"Archer Skeleton",1016,1;
+ monster "in_rogue.gat",248,320,"Archer Skeleton",1016,1;
+ end;
+}
+
+//================================================
+// End Warp
+//================================================
+in_rogue.gat,370,320,0 script rogue04 45,1,1,{
+ set ROGUE_Q, 5;
+ killmonsterall "in_rogue.gat";
+ warp "in_rogue.gat",378,113;
+ end;
+}
+
+//================================================
+// Timer: Keeps monsters from overspawning
+//================================================
+- script RogueTest3 -1,{
+ end;
+
+OnMinute10:
+OnMinute20:
+OnMinute30:
+OnMinute40:
+OnMinute50:
+OnMinute60:
+ killmonsterall "in_rogue.gat";
+ end;
+}
+
+//==============================================================================
+// mapflag
+//==============================================================================
+in_rogue.gat mapflag nomemo
+in_rogue.gat mapflag noteleport
+in_rogue.gat mapflag nosave SavePoint
+in_rogue.gat mapflag nopenalty
+in_rogue.gat mapflag nobranch
+in_rogue.gat mapflag noexp
+in_rogue.gat mapflag noloot
diff --git a/npc/jobs/2-2/sage.txt b/npc/jobs/2-2/sage.txt
new file mode 100644
index 000000000..44645f94c
--- /dev/null
+++ b/npc/jobs/2-2/sage.txt
@@ -0,0 +1,2180 @@
+//===== eAthena Script =======================================
+//= Sage Job Quest
+//===== By: ==================================================
+//= jAthena (0.9) - I guess
+//= Unknown Translator (1.0)
+//= Darkchild (1.2)
+//===== Current Version: =====================================
+//= 1.7a
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Sage job quest based off of official servers.
+//===== Additional Comments: =================================
+//= Script mostly based on translated jA script
+//= Written test questions/answers weren't translated 100% corectly
+//= So a lot of those are based upon mRO site and my own info
+//= IF you by excident have (or can get) screenshots of these questions
+//= Then PLEASE send them to Darkchild
+//= 1.3 Baby class Support added [Lupus] 1.5 Fixed possible EXP abuse [Lupus]
+//= 1.6 Added a func which prevent advanced classes passing
+//= 2nd Job Quests again. It also guides adv classes where to go. [Lupus]
+//= 1.7 Fixed tuition fee. Fixed some answers, names & typos, added missing labels [Lupus]
+//= 1.7a Moved JFunc back in the main file, fixed typos [Lupus]
+//============================================================
+
+
+//==================================
+//Sage Castle
+//==================================
+yuno_in02.gat,38,61,4 script Magic Academy Headmaster 743,{
+ callfunc "F_BlockHigh",26,"High Mage",40,"Professor","Keiron";
+ if(BaseJob == 16) goto L_Menu3_3;
+ if(BaseJob != 2) goto L_Menu2_1;
+ if(SAGE_Q == 11) goto L_Menu3_1;
+ if(SAGE_Q >= 3) goto L_Menu2_2;
+ mes "[Keiron]";
+ mes "All who appreciate the fine art";
+ mes "of magic are welcome here.";
+ mes "How can I help you?";
+ next;
+ menu "Change class to Sage",L_Menu1_1,"About the Sage class",-,"Just looking around",L_Menu1_2;
+ mes "[Keiron]";
+ mes "So you're interested in being a Sage?";
+ mes "Well, I can't just make you one straight away.";
+ next;
+ mes "[Keiron]";
+ mes "In order to become a Sage, you'll need to file an application for entry into the Shubaichul Magic Academy and take the placement test.";
+ next;
+ mes "[Keiron]";
+ mes "Once you're placed, you'll need to complete coursework and finally write and defend a thesis.";
+ next;
+ mes "[Keiron]";
+ mes "If you successfully complete the requirements, you'll be granted a Sage license.";
+ next;
+ mes "[Keiron]";
+ mes "If you wish to apply, go see Mathias in the Shubaichul Magic Academy.";
+ mes "Tell him I sent you.";
+ close;
+L_Menu1_1:
+ mes "[Keiron]";
+ mes "A Sage?";
+ mes "Well...";
+ mes "In order to change you way of living, you have to change your way of thinking.";
+ next;
+ mes "[Keiron]";
+ mes "Sages actively contribute knowledge to the kingdom through rigorous research.";
+ mes "They also help society through its worst problems.";
+ mes "Just because you dress as a Sage doesn't mean you're a Sage.";
+ next;
+ mes "[Keiron]";
+ mes "To become a Sage, please apply for entry into the Shubaichul Magic Academy.";
+ mes "The admissions officer will explain the educational requirements.";
+ close;
+L_Menu1_2:
+ mes "[Keiron]";
+ mes "Excellent. If you have some free time, why not peruse a a volume from our library?";
+ mes "Our library is truly a bastion of knowledge.";
+ next;
+ mes "[Keiron]";
+ mes "Of course, there is much that can't be learned from reading books, but it's a good start.";
+ close;
+L_Menu2_1:
+ mes "[Keiron]";
+ mes "We Sages do a lot of research about the world on our own,";
+ mes "but to maximize our knowledge,";
+ mes "we regularly form interdisciplinary research teams.";
+ next;
+ mes "[Keiron]";
+ mes "You should talk to our Sages and share any research you may have been doing within your own profession.";
+ close;
+L_Menu2_2:
+ mes "[Keiron]";
+ mes "The road to becoming a Sage isn't easy.";
+ mes "You need to have a strong dedication to mastering magic.";
+ next;
+ mes "[Keiron]";
+ mes "You need to keep plugging away at that thesis.";
+ mes "Good luck!";
+ close;
+L_Menu3_1:
+ if(countitem(1550) >= 1) goto L_Menu3_2;
+ mes "[Keiron]";
+ mes "Where's your thesis?";
+ mes "I'm eager to evaulate it.";
+ next;
+ mes "[Keiron]";
+ mes "Did you forget it?";
+ mes "In any case, please bring it post-haste.";
+ close;
+L_Menu3_2:
+ mes "[Keiron]";
+ mes "It looks like you have a thesis to present. Let's have a look...";
+ next;
+ mes "[Keiron]";
+ mes "Hmmm...";
+ next;
+ mes "[Keiron]";
+ mes "Yes....";
+ next;
+ mes "[Keiron]";
+ mes "Interesting...";
+ next;
+ mes "[Keiron]";
+ mes "It's not stylistically";
+ mes "cohesive, but your zeal for research is amply proven by your thesis. I approve.";
+ next;
+ if(SkillPoint == 0) goto LCHANGE;
+ mes "[Keiron]";
+ mes "Well you are all set for the jobchange except for 1 thing!";
+ mes "You have unused Skill Points!!!";
+ mes "Please use those first!";
+ close;
+
+ LCHANGE:
+ callfunc "Job_Change",Job_Sage;
+ callfunc "F_ClearJobVar";
+ mes "[Keiron]";
+ mes "Congratulations!";
+ mes "You're a Sage now.";
+ mes "Don't let that passion for research ever be dampened.";
+ next;
+ mes "[Keiron]";
+ mes "Keep your thesis around, since it may be useful in a publish-or-perish environment later on.";
+ next;
+ mes "[Keiron]";
+ mes "Some day, you'll be a bastion of knowledge all by yourself!";
+ close;
+L_Menu3_3:
+ mes "[Keiron]";
+ mes "Hmmm? What's up?";
+ mes "Just because you're a Sage doesn't mean you should quit your studies.";
+ next;
+ mes "[Keiron]";
+ mes "In order to maintain our role as the kingdom's gatherers and dissemenators of knowledge, we can never miss an opportunity to gather data.";
+ close;
+}
+
+//===============================
+//Biotech Lab
+//===============================
+yuno_in03.gat,244,31,3 script Physics Professor 120,{
+ if(BaseJob == 16) goto L_Menu3_2;
+ if(BaseJob != 2) goto L_Menu1_1;
+ if(SAGE_Q == 11) goto L_Menu3_1;
+ if(SAGE_Q2 == 8) goto L_Menu2_1;
+ if(SAGE_Q2 == 9) goto L_Menu2_3;
+ if(SAGE_Q2 == 10) goto L_Menu2_5;
+ if(SAGE_Q2 == 11) goto L_ThesisStart1;
+ if(SAGE_Q == 9) goto L_Menu1_2;
+ mes "[Ebeshi]";
+ mes "What?";
+ next;
+ mes "[Ebeshi]";
+ mes "Did you come to study under my guidance?";
+ next;
+ mes "[Ebeshi]";
+ mes "Well, you need to enroll first.";
+ mes "Heheheheh...";
+ close;
+L_Menu1_1:
+ mes "[Ebeshi]";
+ mes "Eh???????????????????????????????";
+ next;
+ mes "[Ebeshi]";
+ mes "I don't think there's anything someone like you can learn from me.";
+ next;
+ mes "[Ebeshi]";
+ mes "Are you disappointed?";
+ mes "Hehehehe....";
+ close;
+L_Menu1_2:
+ set SAGE_Q2,8;
+ mes "[Ebeshi]";
+ mes "Well, I'm glad to meet another fine student such as yourself.";
+ next;
+ mes "[Ebeshi]";
+ mes "Aren't you excited that you're going to study under me?!";
+ mes "Hehehehe....";
+ next;
+ mes "[Ebeshi]";
+ mes "I hate to be intrusive, but could you get something for me before I start my class?";
+ next;
+ mes "[Ebeshi]";
+ mes "I need ^3051FD30x Stone^000000 as part of the class materials.";
+ mes "Can you get that?";
+ next;
+ mes "[Ebeshi]";
+ mes "If you really want to get stones quick,";
+ mes "you should look up a friendly thief to assist you! Thanks for helping out.";
+ close;
+L_Menu2_1:
+ if(countitem(7049) >= 30) goto L_Menu2_2;
+ mes "[Ebeshi]";
+ mes "Hey, what are you up to?";
+ mes "Are you trying to slack off?";
+ mes "Come on, set your eyes on the goal.";
+ next;
+ mes "[Ebeshi]";
+ mes "I need ^3051FD30x Stone^000000 to proceed.";
+ mes "With all the stones lying around,";
+ mes "shouldn't they be easy to find?";
+ close;
+ L_Menu2_2:
+ mes "[Ebeshi]";
+ mes "Awesome! You've got all the stones I need.";
+ mes "Now, watch this!";
+ next;
+ mes "[Ebeshi]";
+ mes "Abracadabra!!";
+ next;
+ mes "[Ebeshi]";
+ mes "Abracadabra!!";
+ next;
+ mes "[Ebeshi]";
+ mes "Abracadabra!!";
+ next;
+ delitem 7049,30;
+ set SAGE_Q2,9;
+ mes "[Ebeshi]";
+ mes "You see that?";
+ mes "I created three elemental stones!";
+ next;
+ mes "[Ebeshi]";
+ mes "Pretty cool, don't you think?";
+ mes "Have them for yourself!";
+ next;
+ getitem 991,1;
+ getitem 993,1;
+ getitem 992,1;
+ mes "[Ebeshi]";
+ mes "Now, for your next lesson, you need to synthesize some different kinds of arrows with those stones.";
+ next;
+ mes "[Ebeshi]";
+ mes "Specifically...";
+ mes "^3051FD50x Crystal Arrow^000000";
+ mes "^3051FD50x Stone Arrow^000000";
+ mes "^3051FD50x Wind Arrow^000000";
+ next;
+ mes "[Ebeshi]";
+ mes "An archer friend can help you make the arrows.";
+ mes "Give it a try!";
+ close;
+ L_Menu2_3:
+ if((countitem(1754) >= 50) && (countitem(1756) >= 50) && (countitem(1755) >= 50)) goto L_Menu2_4;
+ mes "[Ebeshi]";
+ mes "Hmmm?";
+ mes "What did you do with those stones I gave you?";
+ mes "You didn't sell them, I hope...";
+ next;
+ mes "[Ebeshi]";
+ mes "You need to use them to make";
+ mes "^3051FD50x Crystal Arrow^000000";
+ mes "^3051FD50x Stone Arrow^000000";
+ mes "^3051FD50x Wind Arrow^000000";
+ mes "An archer friend can help you make the arrows.";
+ close;
+ L_Menu2_4:
+ mes "[Ebeshi]";
+ mes "You made the arrows! Good job.";
+ mes "Now, to continue with the lesson...";
+ next;
+ mes "[Ebeshi]";
+ mes "This lesson covers the Elemental Affinity chapter in your textbook.";
+ next;
+ mes "[Ebeshi]";
+ mes "The first affinity is really easy.";
+ mes "Water magic is very effective against fire.";
+ mes "It's easy to remember.";
+ mes "All you need to remember is water being splashed on fire.";
+ next;
+ mes "[Ebeshi]";
+ mes "Wind magic will decimate water-based monsters.";
+ mes "Observe what happens when a lake is struck by lightning.";
+ next;
+ mes "[Ebeshi]";
+ mes "Earth magic will crush wind-based monsters easily.";
+ mes "Don't you build a house on a strong foundation to keep the wind away?";
+ next;
+ mes "[Ebeshi]";
+ mes "Fire magic mercilessly scorches the earth.";
+ mes "Won't a tree burn if a fire breaks out?";
+ mes "Same with an earth-based monster.";
+ next;
+ mes "[Ebeshi]";
+ mes "Do you understand?";
+ mes "Here's some homework for next time...";
+ next;
+ delitem 1754,50;
+ delitem 1756,50;
+ delitem 1755,50;
+ set SAGE_Q2,10;
+ mes "[Ebeshi]";
+ mes "Next time you come, bring ^3051FD1x Holy Water^000000.";
+ mes "We'll need it for the lesson.";
+ mes "It will be easy to acquire if you have contacts in the church.";
+ close;
+ L_Menu2_5:
+ if(countitem(523) >= 1) goto L_Menu2_6;
+ mes "[Ebeshi]";
+ mes "Ooops!";
+ mes "Did you forget about the item I asked you to bring?";
+ next;
+ mes "[Ebeshi]";
+ mes "I need ^3051FD1x Holy Water^000000 for the lesson.";
+ mes "Ask an Acolyte to help you make it.";
+ mes "Hehehehe...";
+ close;
+ L_Menu2_6:
+ mes "[Ebeshi]";
+ mes "Alright, you have the Holy Water!";
+ mes "Let's continue the lesson!";
+ next;
+ mes "[Ebeshi]";
+ mes "Please take good notes about this part.";
+ mes "It will be on the test.";
+ next;
+ mes "[Ebeshi]";
+ mes "Water magic sucks against wind!";
+ mes "Would a lightning bolt care if it was frozen?";
+ mes "Heheheheh....";
+ next;
+ mes "[Ebeshi]";
+ mes "Wind magic is totally useless against the earth.";
+ mes "Will a tree suffer permanent damage if it's blown about?";
+ next;
+ mes "[Ebeshi]";
+ mes "Earth magic is ineffective against fire.";
+ mes "If you put some leaves on a fire, will the fire go out?";
+ mes "No, just the opposite will happen.";
+ next;
+ mes "[Ebeshi]";
+ mes "Fire won't do much against water.";
+ mes "If you heat water, doesn't it just become more dangerous?";
+ next;
+ mes "[Ebeshi]";
+ mes "That was a pretty informative lecture!";
+ mes "You think so too, right?";
+ next;
+ delitem 523,1;
+ set SAGE_Q2,11;
+ mes "[Ebeshi]";
+ mes "Now, you have enough knowledge to prepare a defensible thesis.";
+ mes "Hehehehehe!";
+ next;
+ mes "[Ebeshi]";
+ mes "To put the thesis together, you'll need:";
+ mes "^3051FD1x Feather of Birds^000000 for your writing instrument.";
+ mes "^3051FD1x Animal Skin^000000 for the pages.";
+ mes "^3051FD1x Trunk^000000 to bind the pages.";
+ mes "^3051FD1x Squid Ink^000000 for your ink.";
+ mes "^3051FD1x Empty Bottle^000000 to store your ink.";
+ next;
+ mes "[Ebeshi]";
+ mes "Come and see me once you've gotten all of these items together.";
+ close;
+ L_ThesisStart1:
+ if((countitem(916) >= 1) && (countitem(919) >= 1) && (countitem(1019) >= 1) && (countitem(1024) >= 1) && (countitem(713) >= 1)) goto L_ThesisStart2;
+ mes "[Ebeshi]";
+ mes "Hmmm?";
+ mes "You can't forget important things like this!";
+ next;
+ mes "[Ebeshi]";
+ mes "You need these items to start your thesis:";
+ mes "^3051FD1x Feather of Birds^000000 for your writing instrument.";
+ mes "^3051FD1x Animal Skin^000000 for the pages.";
+ mes "^3051FD1x Trunk^000000 to bind the pages.";
+ mes "^3051FD1x Squid Ink^000000 for your ink.";
+ mes "^3051FD1x Empty Bottle^000000 to store your ink.";
+ next;
+ mes "[Ebeshi]";
+ mes "Do you have some friends that might be able to help you gather the materials?";
+ mes "That will make it a simple task!";
+ close;
+ L_ThesisStart2:
+ delitem 916,1;
+ delitem 919,1;
+ delitem 1019,1;
+ delitem 1024,1;
+ delitem 713,1;
+ mes "[Ebeshi]";
+ mes "Alright...";
+ mes "You need to write this yourself.";
+ mes "I'm simply your research advisor!";
+ mes "Hehehehe...";
+ next;
+ mes "......";
+ next;
+ mes "......";
+ next;
+ mes "......";
+ next;
+ mes "Elemental magic is divided into four types...";
+ menu "...called Fire, Wind, Water, and Earth",L_ThesisMenu1_1,"...named Fire, Wind, Water, and Earth",L_ThesisMenu1_2,"...that oppose each other: Fire, Wind, Water, and Earth",L_ThesisMenu1_3;
+ L_ThesisMenu1_1:
+ mes "...called Fire, Wind, Water, and Earth";
+ goto L_Thesis2;
+ L_ThesisMenu1_2:
+ mes "...named Fire, Wind, Water, and Earth";
+ goto L_Thesis2;
+ L_ThesisMenu1_3:
+ mes "...that oppose each other: Fire, Wind, Water, and Earth";
+ goto L_Thesis2;
+ L_Thesis2:
+ mes "Each attribute has certain properties.";
+ menu "Wind conquers water...",L_ThesisMenu2_1,"Water douses fire...",L_ThesisMenu2_2,"Fire scorches Earth...",L_ThesisMenu2_3;
+ L_ThesisMenu2_1:
+ mes "Wind conquers Water and Earth attacks Wind";
+ goto L_Thesis3;
+ L_ThesisMenu2_2:
+ mes "Water douses fire, while Wind zaps Water";
+ goto L_Thesis3;
+ L_ThesisMenu2_3:
+ mes "Fire scorches Earth, and Water douses Fire.";
+ goto L_Thesis3;
+ L_Thesis3:
+ menu "But weaknesses exist, too",L_ThesisMenu3_1,"You can customize your weapon element, also",L_ThesisMenu3_2,"Elemental affinity varies by monster type, also",L_ThesisMenu3_3;
+ L_ThesisMenu3_1:
+ mes "But weaknesses exist, too";
+ goto L_Thesis4;
+ L_ThesisMenu3_2:
+ mes "You can customize your weapon element, also";
+ goto L_Thesis4;
+ L_ThesisMenu3_3:
+ mes "Elemental affinity varies by monster type, also";
+ goto L_Thesis4;
+ L_Thesis4:
+ menu "You need to be circumspect when facing monsters...",L_ThesisMenu4_1,"So, you should customize your weapon to the situation",L_ThesisMenu4_2,"Red Potions have a delicious strawberry flavor",L_ThesisMenu4_3;
+ L_ThesisMenu4_1:
+ mes "You need to be circumspect when facing monster with an unfamiliar affinity.";
+ goto L_Thesis5;
+ L_ThesisMenu4_2:
+ mes "You should customize your weapon to the situation.";
+ goto L_Thesis5;
+ L_ThesisMenu4_3:
+ mes "Red Potions have a delicious strawberry flavor.";
+ goto L_Thesis5;
+ L_Thesis5:
+ next;
+ menu "Eimi of Prontera is hot",L_ThesisMenu5_1,"I wonder how Red Potions are made",L_ThesisMenu5_2,"The complexity of magic exceeds man's capacity to learn",L_ThesisMenu5_3;
+ L_ThesisMenu5_1:
+ mes "Eimi of Prontera is hot.";
+ goto L_Thesis6;
+ L_ThesisMenu5_2:
+ mes "I wonder how Red Potions are made.";
+ goto L_Thesis6;
+ L_ThesisMenu5_3:
+ mes "The complexity of magic exceeds man's capacity to learn.";
+ goto L_Thesis6;
+ L_Thesis6:
+ menu "The women in Morok are hot, too",L_ThesisMenu6_1,"Maybe it's a secret recipe",L_ThesisMenu6_2,"It's dangerous to depend on magic too much...",L_ThesisMenu6_3;
+ L_ThesisMenu6_1:
+ mes "The women in Morok are hot, too.";
+ goto L_Thesis7;
+ L_ThesisMenu6_2:
+ mes "Maybe it's a secret recipe.";
+ goto L_Thesis7;
+ L_ThesisMenu6_3:
+ mes "It's dangerous to depend on magic too much...";
+ goto L_Thesis7;
+ L_Thesis7:
+ menu "I wish I had a Bunny Band",L_ThesisMenu7_1,"That taste of a White potion...",L_ThesisMenu7_2,"...if you want to stay safe. power...",L_ThesisMenu7_3;
+ L_ThesisMenu7_1:
+ mes "I wish I had a Bunny Band.";
+ goto L_Thesis8;
+ L_ThesisMenu7_2:
+ mes "The taste of a White Potion...";
+ goto L_Thesis8;
+ L_ThesisMenu7_3:
+ mes "...if you want to stay safe. power...";
+ goto L_Thesis8;
+ L_Thesis8:
+ menu "That would make me happy",L_ThesisMenu8_1,"...is difficult to imagine",L_ThesisMenu8_2,"In the interest of a safe battle...",L_ThesisMenu8_3;
+ L_ThesisMenu8_1:
+ mes "That would make me happy.";
+ goto L_Thesis9;
+ L_ThesisMenu8_2:
+ mes "...is difficult to imagine";
+ goto L_Thesis9;
+ L_ThesisMenu8_3:
+ mes "In the interest of a safe battle...";
+ goto L_Thesis9;
+ L_Thesis9:
+ menu "Bunny Bands make great Acolyte accessories",L_ThesisMenu9_1,"It makes me wonder if...",L_ThesisMenu9_2,"...you should bring along friends",L_ThesisMenu9_3;
+ L_ThesisMenu9_1:
+ mes "Bunny Bands make great Acolyte accessories.";
+ goto L_Thesis10;
+ L_ThesisMenu9_2:
+ mes "It makes me wonder if...";
+ goto L_Thesis10;
+ L_ThesisMenu9_3:
+ mes "...you should bring along friends.";
+ goto L_Thesis10;
+ L_Thesis10:
+ menu "I wonder if a Knight could wear one, too",L_ThesisMenu10_1,"...people might drink them when they're not hurt",L_ThesisMenu10_2,"It's the responsible thing to do",L_ThesisMenu10_3;
+ L_ThesisMenu10_1:
+ mes "I wonder if a Knight could wear one, too.";
+ next;
+ goto L_ThesisEnd;
+ L_ThesisMenu10_2:
+ mes "...people might drink them when they're not hurt";
+ next;
+ goto L_ThesisEnd;
+ L_ThesisMenu10_3:
+ mes "It's the responsible thing to do.";
+ next;
+ goto L_ThesisEnd;
+ L_ThesisEnd:
+ mes "......";
+ next;
+ mes "......";
+ next;
+ mes "......";
+ next;
+ set SAGE_Q,11;
+ getitem 1550,1;
+ mes "[Ebeshi]";
+ mes "Alright!";
+ mes "You've finished! It looks pretty good!";
+ next;
+ mes "[Ebeshi]";
+ mes "You should take that to the Headmaster!";
+ mes "He'll decide whether you graduate or not.";
+ mes "Hehehehehe....";
+ close;
+L_Menu3_1:
+ mes "[Ebeshi]";
+ mes "What's up? Did you forget something?!";
+ next;
+ mes "[Ebeshi]";
+ mes "You should see the Headmaster and present your thesis so you can graduate!";
+ close;
+L_Menu3_2:
+ mes "[Ebeshi]";
+ mes "Good afternoon!";
+ mes "It's good to meet other Sages and exchange information.";
+ mes "Heheheheh!!";
+ next;
+ mes "[Ebeshi]";
+ mes "Even though company is good sometimes, I need to continue my magical research!";
+ next;
+ mes "[Ebeshi]";
+ mes "Do you want to continue your study here?";
+ mes "Please feel free to talk to the other professors and read the literature here.";
+ mes "Hehehehe!";
+ close;
+}
+
+//==================================
+//Monster Museum
+//==================================
+
+yuno_in03.gat,32,102,0 script Biology Professor 755,{
+ if(BaseJob == 16) goto L_Menu5_4;
+ if(BaseJob != 2) goto L_Menu1_1;
+ if(SAGE_Q == 11) goto L_Menu5_3;
+ if((SAGE_Q2 >= 1) && (SAGE_Q2 <= 3)) goto L_Menu3_1;
+ if((SAGE_Q2 >= 4) && (SAGE_Q2 <= 6)) goto L_Menu4_1;
+ if(SAGE_Q2 == 7) goto L_Menu5_1;
+ if(SAGE_Q == 8) goto L_Menu2_1;
+ mes "[Lucias]";
+ mes "I have a headache...";
+ mes "I've got too many things going on at once!";
+ next;
+ mes "[Lucias]";
+ mes "Of course, I'll teach people about biology even with a headache!";
+ close;
+L_Menu1_1:
+ mes "[Lucias]";
+ mes "Hmmm? Are you just poking around?";
+ next;
+ mes "[Lucias]";
+ mes "That's fine, but please don't touch anything.";
+ mes "We keep dangerous bioagents in here!";
+ next;
+ mes "[Lucias]";
+ mes "If you have information about rare monsters, we'll pay you handsomely.";
+ close;
+L_Menu2_1:
+ mes "[Lucias]";
+ mes "Oh, you've taken the placement test?";
+ mes "I'm Lucias, a preeminent researcher in the biological sciences.";
+ next;
+ mes "[Lucias]";
+ mes "What's your name, young one?";
+ next;
+ menu "I'm " + strcharinfo(0) + "!",-;
+ mes "[Lucias]";
+ mes "That's a nice name.";
+ mes "Now, let me explain about our research objectives.";
+ next;
+ mes "[Lucias]";
+ mes "My area of expertise is monsters.";
+ mes "I'm sure that you've encountered and defeated many monsters by now.";
+ mes "Am I right?";
+ next;
+ menu "You're quite right",-,"Well, not really...",L_Menu2_2;
+ mes "[Lucias]";
+ mes "Really?";
+ mes "I hope your background knowledge is diverse.";
+ mes "My class isn't a cakewalk by any means.";
+ next;
+ goto L_Menu2_3;
+ L_Menu2_2:
+//==================================
+//If you respond negatively
+ mes "[Lucias]";
+ mes "You might be at a disadvantage.";
+ mes "My coursework assumes a lot of background knowledge.";
+ mes "My class wasn't designed to be a cakewalk...";
+ next;
+//==================================
+L_Menu2_3:
+ mes "[Lucias]";
+ mes "So, shall we get started?";
+ mes "You'll learn a lot in this class if you're vigilant.";
+ next;
+ set @sagerand,0;
+ set @sagerand,rand(3);
+ mes "[Lucias]";
+ mes "So, first, you need to collect ";
+ if(@sagerand == 1) goto L_Menu2_4;
+ if(@sagerand == 2) goto L_Menu2_5;
+ set SAGE_Q2,1;
+ mes "^3051FD5x Tendons^000000";
+ mes "^3051FD5x Nippers^000000";
+ mes "^3051FD5x Sharp Scales^000000";
+ next;
+ goto L_Menu2_6;
+ L_Menu2_4:
+ set SAGE_Q2,2;
+//==================================
+//mes–¢‰ñŽû
+ mes "^3051FD5x Clam Flesh^000000";
+ mes "^3051FD5x Nippers^000000";
+ mes "^3051FD5x Heart of Mermaid^000000";
+ next;
+ goto L_Menu2_6;
+ L_Menu2_5:
+ set SAGE_Q2,3;
+ mes "^3051FD5x Single Cells^000000";
+ mes "^3051FD5x Tentacles^000000";
+ mes "^3051FD5x Fish Tails^000000";
+//==================================
+ next;
+ L_Menu2_6:
+ mes "[Lucias]";
+ mes "We'll continue once you've gathered those.";
+ close;
+L_Menu3_1:
+ if((countitem(1050) >= 5) && (countitem(960) >= 5) && (countitem(963) >= 5) && (SAGE_Q2 == 1)) goto L_Menu3_4;
+ if((countitem(966) >= 5) && (countitem(960) >= 5) && (countitem(950) >= 5) && (SAGE_Q2 == 2)) goto L_Menu3_4;
+ if((countitem(1052) >= 5) && (countitem(962) >= 5) && (countitem(1023) >= 5) && (SAGE_Q2 == 3)) goto L_Menu3_4;
+ mes "[Lucias]";
+ mes "You don't have the necessary items.";
+ mes "Let me repeat what you need:";
+ next;
+ mes "[Lucias]";
+ if(SAGE_Q2 == 2) goto L_Menu3_2;
+ if(SAGE_Q2 == 3) goto L_Menu3_3;
+ mes "^3051FD5x Tendon^000000";
+ mes "^3051FD5x Nipper^000000";
+ mes "^3051FD5x Sharp Scale^000000";
+ close;
+ L_Menu3_2:
+ mes "^3051FD5x Clam Flesh^000000";
+ mes "^3051FD5x Nipper^000000";
+ mes "^3051FD5x Heart of Mermaid^000000";
+ close;
+ L_Menu3_3:
+ mes "^3051FD5x Single Cell^000000";
+ mes "^3051FD5x Tentacle^000000";
+ mes "^3051FD5x Fish Tail^000000";
+ close;
+L_Menu3_4:
+ mes "[Lucias]";
+ mes "Well, you have the items, but I can't be sure if you bought them or collected them yourself.";
+ next;
+ mes "[Lucias]";
+ mes "There is a similarity in the characteristics of the monsters that drop those items.";
+ mes "Do you know what it is?";
+ next;
+ menu "Water element affinity",L_Menu3_5,"They're fish and shells",L_Menu3_6,"They were quite active",-,"They're monsters",-;
+//==================================
+ mes "[Lucias]";
+ mes "...I'm disappointed in you.";
+ mes "The correct answer is that all of the monsters have water element affinity.";
+ mes "Monsters that live in an aquatic environment have evolved bodies adapted to that environment.";
+//==================================
+ next;
+ goto L_Menu3_6;
+ L_Menu3_5:
+ mes "[Lucias]";
+ mes "Right!";
+ mes "Most aquatic monsters have water element affinity because they're adapted to their environment.";
+ mes "Fish and shells evolved in a logical way.";
+ next;
+ L_Menu3_6:
+ mes "[Lucias]";
+ mes "Not every fish and shell has water element affinity, but you can count on it as a general rule.";
+ mes "Now, which type of magic do you think would be most effective against them?";
+ next;
+ menu "Lightning Bolt",L_Menu3_7,"Firebolt",-,"Thunderstorm",L_Menu3_8,"Frost Nova",-;
+//==================================
+//mes–¢‰ñŽû
+ mes "[Lucias]";
+ mes "That's not correct.";
+ mes "You need to use magic like Lightning Bolt or Thunderstorm.";
+ mes "Check the elemental affinity matrix again.";
+ next;
+//==================================
+ goto L_Menu3_9;
+ L_Menu3_7:
+ mes "[Lucias]";
+ mes "Great! That's right!";
+ mes "Using Lightning Bolt is an easy way to victory.";
+ next;
+ mes "[Lucias]";
+ mes "You need to be careful of monsters like the Penomena and Aster because their attribute is different.";
+ next;
+ goto L_Menu3_9;
+ L_Menu3_8:
+ mes "[Lucias]";
+ mes "Great! That's right!";
+ mes "Using Thunderstorm is an easy way to victory.";
+ next;
+ mes "[Lucias]";
+ mes "You need to be careful of monsters like the Penomena and Aster because their attribute is different.";
+ next;
+ L_Menu3_9:
+ mes "[Lucias]";
+ mes "Next, let's turn our attention to insectoid monsters.";
+ next;
+ set @sagerand,rand(3);
+ mes "[Lucias]";
+ mes "Next, you need to collect ";
+ if(@sagerand == 1) goto L_Menu3_10;
+ if(@sagerand == 2) goto L_Menu3_11;
+ set SAGE_Q2,4;
+ mes "^3051FD5x Cobweb^000000";
+ mes "^3051FD5x Shell^000000";
+ mes "^3051FD5x Insect Feeler^000000";
+ next;
+ goto L_Menu2_6;
+ L_Menu3_10:
+ set SAGE_Q2,5;
+//==================================
+//mes–¢‰ñŽû
+ mes "^3051FD5x Moth Dust^000000";
+ mes "^3051FD5x Snail's Shell^000000";
+ mes "^3051FD5x Horn^000000";
+ next;
+ goto L_Menu2_6;
+ L_Menu3_11:
+ set SAGE_Q2,6;
+ mes "^3051FD5x Mantis Leg^000000";
+ mes "^3051FD5x Worm Peeling^000000";
+ mes "^3051FD5x Rainbow Shell^000000";
+//==================================
+ next;
+ goto L_Menu2_6;
+L_Menu4_1:
+ if((countitem(1025) >= 5) && (countitem(935) >= 5) && (countitem(928) >= 5) && (SAGE_Q2 == 4)) goto L_Menu4_4;
+ if((countitem(1057) >= 5) && (countitem(946) >= 5) && (countitem(947) >= 5) && (SAGE_Q2 == 5)) goto L_Menu4_4;
+ if((countitem(1031) >= 5) && (countitem(955) >= 5) && (countitem(1013) >= 5) && (SAGE_Q2 == 6)) goto L_Menu4_4;
+ mes "[Lucias]";
+ mes "You forgot what you're supposed to gather?";
+ mes "Listen carefully this time! You need to gather:";
+ next;
+ mes "[Lucias]";
+ if(SAGE_Q2 == 5) goto L_Menu4_2;
+ if(SAGE_Q2 == 6) goto L_Menu4_3;
+ mes "^3051FD5x Cobweb^000000";
+ mes "^3051FD5x Shell^000000";
+ mes "^3051FD5x Insect Feeler^000000";
+ close;
+ L_Menu4_2:
+ mes "^3051FD5x Moth Dust^000000";
+ mes "^3051FD5x Snail's Shell^000000";
+ mes "^3051FD5x Horn^000000";
+ close;
+ L_Menu4_3:
+ mes "^3051FD5x Mantis Leg^000000";
+ mes "^3051FD5x Worm Peeling^000000";
+ mes "^3051FD5x Rainbow Shell^000000";
+ close;
+L_Menu4_4:
+ set SAGE_Q2,7;
+ mes "[Lucias]";
+ mes "Excellent. You've done well.";
+ mes "I hope you were also dilligent in observing your surroundings when you collected the items.";
+ next;
+ mes "[Lucias]";
+ mes "With insects, you'll need to carefully consider which magic to use, since insects have affinity with a variety of elements.";
+ next;
+ mes "[Lucias]";
+ mes "You should also be aware that Thief hiding and Assassin cloaking aren't effective against some insects.";
+ next;
+ mes "[Lucias]";
+ mes "Insects can also act in groups.";
+ mes "Often the insect bosses will have considerable numbers of subordinates.";
+ next;
+ mes "[Lucias]";
+ mes "Ant Lord Maya...";
+ mes "Queen Bee Mistress...";
+ mes "Goblin Chief Goldfinger...";
+ next;
+ mes "[Lucias]";
+ mes "If you face a boss monster alone, you had best prepare to die.";
+ mes "You ought to take a group of friends to face these creatures down.";
+ next;
+ mes "[Lucias]";
+ mes "Well, you've studied quite a bit.";
+ mes "Now you need to write a thesis.";
+ mes "You need some materials before you can begin writing it, however.";
+ mes "They are:";
+ next;
+ mes "[Lucias]";
+ mes "^3051FD1x Feather of Birds^000000 for your writing instrument.";
+ mes "^3051FD1x Animal Skin^000000 for the pages.";
+ mes "^3051FD1x Trunk^000000 to bind the pages.";
+ mes "^3051FD1x Squid Ink^000000 for your ink.";
+ mes "^3051FD1x Empty Bottle^000000 to store your ink.";
+ next;
+ mes "[Lucias]";
+ mes "We can get started when you return.";
+ close;
+L_Menu5_1:
+ if((countitem(916) >= 1) && (countitem(919) >= 1) && (countitem(1019) >= 1) && (countitem(1024) >= 1) && (countitem(713) >= 1) && (SAGE_Q2 == 7)) goto L_Menu5_2;
+ mes "[Lucias]";
+ mes "You need to gather those items first.";
+ mes "They are:";
+ next;
+ mes "[Lucias]";
+ mes "^3051FD1x Feather of Birds^000000 for your writing instrument.";
+ mes "^3051FD1x Animal Skin^000000 for the pages.";
+ mes "^3051FD1x Trunk^000000 to bind the pages.";
+ mes "^3051FD1x Squid Ink^000000 for your ink.";
+ mes "^3051FD1x Empty Bottle^000000 to store your ink.";
+ next;
+ mes "[Lucias]";
+ mes "You've done great so far.";
+ mes "Just a little more and you can graduate.";
+ close;
+L_Menu5_2:
+ delitem 916,1;
+ delitem 919,1;
+ delitem 1019,1;
+ delitem 1024,1;
+ delitem 713,1;
+ mes "[Lucias]";
+ mes "Looks like you have everything.";
+ next;
+ mes "[Lucias]";
+ mes "Now, you need to write this yourself.";
+ mes "I'm only taking an advisory role.";
+ next;
+ mes "[Lucias]";
+ mes "Are you ready to begin?";
+ mes "Let's see if you've acquired enough knowledge to write a coherent thesis.";
+ next;
+ mes "......";
+ next;
+ mes "......";
+ next;
+ mes "......";
+ next;
+ menu "Monsters come in different types",-;
+ mes "Monsters come in different types.";
+ menu "They have different elemental affinities",-;
+ mes "They have different elemental affinities.";
+ menu "If you know the monster's element beforehand...",-;
+ mes "If you know the monster's element beforehand...";
+ menu "...you can optimize your battle experience",-;
+ mes "...you can optimize your battle experience";
+ menu "You should especially be careful of...",-;
+ mes "You should especially be careful of...";
+ menu "...monsters with Holy and Darkness affinity",-;
+ mes "...monsters with Holy and Darkness affinity";
+ next;
+ mes "......";
+ next;
+ mes "......";
+ next;
+ mes "......";
+ next;
+ set SAGE_Q,11;
+ getitem 1550,1;
+ mes "[Lucias]";
+ mes "This is pretty good!";
+ mes "I'm proud of you!";
+ next;
+ mes "[Lucias]";
+ mes "Show this to the Headmaster and you'll be sure to graduate.";
+ mes "Good luck.";
+ close;
+L_Menu5_3:
+ mes "[Lucias]";
+ mes "Hmmm? What's the matter?";
+ mes "You need to show your thesis to the Headmaster.";
+ close;
+L_Menu5_4:
+ mes "[Lucias]";
+ mes "Are you confused about something?";
+ mes "I'm pretty busy, so you need to make an appointment a week in advance.";
+ next;
+ mes "[Lucias]";
+ mes "Hahaha...Once you've been a Sage for awhile, you'll be saying the same thing.";
+ next;
+ mes "[Lucias]";
+ mes "Also, if you have some spare time,";
+ mes "you should head over to the dungeon and lie down on the floor.";
+ mes "Look up and study the ceiling.";
+ mes "You might learn something.";
+ close;
+}
+
+//=================================
+//Academy Interior
+//=================================
+
+yuno_in03.gat,154,35,4 script Academy Staff 742,{
+ callfunc "F_BlockHigh",26,"High Mage",40,"Professor","Mathias";
+
+ if(BaseJob == 16) goto L_Menu6_4;
+ if(BaseJob != 2) goto L_Menu1_1;
+ if(SAGE_Q == 11) goto L_Menu6_3;
+ if(SAGE_Q >= 4) goto L_Menu6_2;
+ if(SAGE_Q == 3) goto L_Menu6_1;
+ if(SAGE_Q == 2) goto L_Menu5_1;
+ mes "[Mathias]";
+ mes "Hello.";
+ mes "This is the Shubaichul Magic Academy?";
+ mes "You seem to be a Magician.";
+ mes "How can I help you?";
+ next;
+ menu "Sage class-change information",-,"I want to apply for admission to the Academy",L_Menu3_1,"Forget it",L_Menu2;
+ mes "[Mathias]";
+ mes "You want to change class to Sage?";
+ mes "I can't just change your class right here.";
+ next;
+ mes "[Mathias]";
+ mes "You need to complete a program of rigorous coursework and research.";
+ next;
+ mes "[Mathias]";
+ mes "Once you graduate from the academy,";
+ mes "you can change class.";
+ mes "In order to proceed, you need to pay tuition and take the placement test.";
+ next;
+ mes "[Mathias]";
+ mes "Only those who have an ^3051FDOld Magic Book^000000 and a ^3051FDNecklace Of Wisdom^000000 can have tuition waived.";
+ next;
+ mes "[Mathias]";
+ mes "Once you've paid the fee, you first take the placement test.";
+ mes "If you score highly enough to be placed in our program, you then perform research according to your placement.";
+ mes "Finally, you must prepare and defend a thesis.";
+ next;
+ mes "[Mathias]";
+ mes "The Headmaster decides whether or not the thesis meets standards for graduation.";
+ mes "If he approves, you can formally begin your career as a Sage.";
+ next;
+ mes "[Mathias]";
+ mes "If you're interested, you need only file an application to get started.";
+ mes "Have a good day.";
+ close;
+L_Menu2:
+ mes "[Mathias]";
+ mes "Oh?";
+ mes "Are you hesitant?";
+ mes "See you later, then.";
+ close;
+L_Menu1_1:
+ mes "[Mathias]";
+ mes "Welcome.";
+ mes "This is Shubaichul Magic Academy.";
+ next;
+ mes "[Mathias]";
+ mes "We do research on magic and monsters here.";
+ mes "We also train fledgling Sages.";
+ next;
+ mes "[Mathias]";
+ mes "Any Magician who is at or above class level 40 can apply for admission to the Academy.";
+ mes "Once you complete our prescribed process for degree acquisition, you can become a Sage.";
+ next;
+ mes "[Mathias]";
+ mes "Good bye.";
+ close;
+L_Menu3_1:
+ mes "[Mathias]";
+ mes "You want to apply? Wonderful!";
+ next;
+ mes "[Mathias]";
+ mes "In order to enter the Academy,";
+ mes "you need to be a Magician of class level 40 or above.";
+ mes "You will also need to pay tuition to cover instruction and materials.";
+ next;
+ mes "[Mathias]";
+ mes "Tuition is 70,000Zeny.";
+ mes "If you have an ^3051FDOld Magic Book^000000 or a ^3051FDNecklace Of Wisdom^000000, the tuition fee will be waived.";
+ next;
+ mes "[Mathias]";
+ mes "So, you would like to apply for admission?";
+ next;
+ menu "Yes, I would",L_Menu5_5,"Tuition is too expensive!",-,"I'll try again later",L_Menu3_2;
+ mes "[Mathias]";
+ mes "Well...we need the tuition money to cover instruction and materials...";
+ next;
+ menu "Isn't there another way?",-,"I'll try again later.",L_Menu3_2;
+ set SAGE_Q,2;
+ mes "[Mathias]";
+ mes "Well...Perhaps there is. I can lower the tuition to 30000 Zeny if you can bring us some materials we need for our research department:";
+ next;
+ mes "[Mathias]";
+ mes "Specifically, we need:";
+ mes "^3051FD50x Feather of Birds^000000";
+ mes "^3051FD50x Fluff^000000";
+ mes "^3051FD50x Clover^000000";
+ mes "^3051FD50x Feathers^000000";
+ next;
+ mes "[Mathias]";
+ mes "If you can get all that, I'll discount the fee to 30000 Zeny.";
+ mes "Please do your best to collect them.";
+ next;
+ mes "[Mathias]";
+ mes "Of course, you can also acquire 70000 Zeny instead of gathering the items if you wish.";
+ next;
+ mes "[Mathias]";
+ mes "Please do your best to collect the items.";
+ mes "See you later.";
+ close;
+ L_Menu3_2:
+ mes "[Mathias]";
+ mes "Oh, alright.";
+ mes "Take your time.";
+ mes "Thanks for stopping by.";
+ close;
+L_Menu5_1:
+ mes "[Mathias]";
+ mes "So, would you like to apply for admission?";
+ next;
+ if(JobLevel < 40) goto L_Menu5_9;
+ if(countitem(1006) > 0) goto L_Menu5_4;
+ if(countitem(1007) > 0) goto L_Menu5_4_;
+ if(Zeny < 70000) goto L_Menu5_2;
+ set Zeny,Zeny-70000;
+ set SAGE_Q,3;
+ mes "[Mathias]";
+ mes "I see you have 70000 Zeny.";
+ mes "I'll take that for tuition. You are now enrolled into the school.";
+ next;
+ L_Menu5_5:
+ if(JobLevel < 40) goto L_Menu5_9;
+ mes "[Mathias]";
+ mes "We need your signature on this form to proceed.";
+ mes "Please sign at the X.";
+ next;
+ menu "" + strcharinfo(0) + "",-;
+ mes "[Mathias]";
+ mes "Alright, so you're ";
+ mes "" + strcharinfo(0) + ".";
+ mes "That's a nice name.";
+ next;
+ if(JobLevel == 50) goto L_JobMax;
+ if(SAGE_Q == 3) goto L_Menu5_6;
+ if(countitem(1006) > 0) goto L_Menu5_7;
+ if(countitem(1007) > 0) goto L_Menu5_7_;
+ if(Zeny < 70000) goto L_Menu5_2;
+ set Zeny,Zeny-70000;
+ set SAGE_Q,3;
+
+ mes "[Mathias]";
+ mes "I see you have 70000 Zeny.";
+ mes "I'll take that for tuition.";
+ mes "You are now enrolled into the school.";
+ next;
+
+ L_Menu5_6:
+ mes "[Mathias]";
+ mes "First, you need to take the placement test from Professor Kreitos.";
+ next;
+ mes "[Mathias]";
+ mes "Professor Kreitos is in the Academy library.";
+ mes "It's on the far left side of the building.";
+ next;
+ mes "[Mathias]";
+ mes "Good luck on the test.";
+ close;
+ L_JobMax:
+ set SAGE_Q,3;
+ mes "[Mathias]";
+ mes "You've trained yourself up to the maximum class level for Magicians!";
+ mes "In that case, I'll give you a full scholarship!";
+ next;
+ mes "[Mathias]";
+ mes "Now, all you need to do is go take the placement test.";
+ next;
+ mes "[Mathias]";
+ mes "Go see Professor Kreitos in the library on the far left side of the building.";
+ close;
+ L_Menu5_2:
+ if(SAGE_Q != 2) goto L_Menu5_8;
+ if((countitem(916) >= 50) && (countitem(914) >= 50) && (countitem(949) >= 50) && (countitem(705) >= 50)) goto L_Menu5_3;
+ mes "[Mathias]";
+ mes "You don't seem to have the materials yet.";
+ next;
+ mes "[Mathias]";
+ mes "You need to gather:";
+ mes "^3051FD50x Feather of Birds^000000";
+ mes "^3051FD50x Fluff^000000";
+ mes "^3051FD50x Clover^000000";
+ mes "^3051FD50x Feathers^000000";
+ next;
+ mes "[Mathias]";
+ mes "If you can get all that, I'll discount the fee to 30000 Zeny.";
+ mes "Please do your best to collect them.";
+ close;
+ L_Menu5_3:
+//==================================
+ if(Zeny < 30000) goto L_Menu5_8;
+ delitem 916,50;
+ delitem 914,50;
+ delitem 705,50;
+ delitem 949,50;
+ set Zeny,Zeny-30000;
+ set SAGE_Q,3;
+ mes "[Mathias]";
+ mes "It seems like you have the materials I asked for and 30000 Zeny.";
+ mes "Congratulations.";
+ mes "You're now enrolled in the Academy.";
+ set SAGE_Q,3;
+ next;
+ goto L_Menu5_5;
+ L_Menu5_4:
+ delitem 1006,1;
+ set SAGE_Q,3;
+ mes "[Mathias]";
+ mes "Oh, you have a ^3051FDOld Magic Book^000000.";
+ mes "I'll accept it in lieu of tuition.";
+ next;
+ goto L_Menu5_5;
+ L_Menu5_4_:
+ delitem 1007,1;
+ set SAGE_Q,3;
+ mes "[Mathias]";
+ mes "Oh, you have a ^3051FDNecklace Of Wisdom^000000.";
+ mes "I'll accept it in lieu of tuition.";
+ next;
+ goto L_Menu5_5;
+ L_Menu5_7:
+ delitem 1006,1;
+ set SAGE_Q,3;
+ mes "[Mathias]";
+ mes "Oh, you have a ^3051FDOld Magic Book^000000.";
+ mes "I'll accept it in lieu of tuition.";
+ next;
+ goto L_Menu5_6;
+ L_Menu5_7_:
+ delitem 1007,1;
+ set SAGE_Q,3;
+ mes "[Mathias]";
+ mes "Oh, you have a ^3051FDNecklace Of Wisdom^000000.";
+ mes "I'll accept it in lieu of tuition.";
+ next;
+ goto L_Menu5_6;
+ L_Menu5_8:
+ mes "[Mathias]";
+ mes "You don't seem to have enough money.";
+ mes "Please earn some money and return here.";
+ close;
+ L_Menu5_9:
+ mes "[Mathias]";
+ mes "Your class level is too low.";
+ mes "Complete some more training and return here.";
+ close;
+//==================================
+L_Menu6_1:
+ mes "[Mathias]";
+ mes "Hmmm? Did you forget what you need to do next?";
+ mes "Head over and see Professor Kreitos on the left side of the building.";
+ close;
+L_Menu6_2:
+ mes "[Mathias]";
+ mes "Oh, forgive me. I have so much to do that I can't help you at the moment.";
+ mes "Again, I apologize...";
+ close;
+L_Menu6_3:
+ mes "[Mathias]";
+ mes "Oh! Did you finish your thesis?";
+ mes "You need to see Headmaster Keiron so he can evaluate it.";
+ next;
+ mes "[Mathias]";
+ mes "If he approves, you can graduate!";
+ mes "Good luck.";
+ close;
+L_Menu6_4:
+ mes "[Mathias]";
+ mes "Welcome, colleague.";
+ mes "How is your research coming along?";
+ next;
+ mes "[Mathias]";
+ mes "In order to be a truly great researcher, you need to supplement your book-based research with encounters with real monsters.";
+ next;
+ mes "[Mathias]";
+ mes "If you know others with what it takes to become a Sage, please send them here.";
+ mes "Give my regards to my other colleagues, also.";
+ close;
+}
+
+yuno_in03.gat,169,180,4 script Test Professor 755,{
+ if(BaseJob == 16) goto L_Menu4_5;
+ if(BaseJob != 2) goto L_Menu1_1;
+ if(SAGE_Q == 5) goto L_Menu2_1;
+ if(SAGE_Q == 6) goto L_Menu2_3;
+ if(SAGE_Q == 7) goto L_Menu3_1;
+ if(SAGE_Q == 8) goto L_Menu4_1;
+ if(SAGE_Q == 9) goto L_Menu4_2;
+ if(SAGE_Q == 11) goto L_Menu4_4;
+ mes "[Hermes]";
+ mes "Hello, I'm Hermes. I am part of the skill testing staff.";
+ mes "Are you a Sage candidate?";
+ next;
+ if(SAGE_Q == 3) goto L_Menu1_2;
+ if(SAGE_Q >= 3) goto L_Menu1_2;
+ mes "[Hermes]";
+ mes "Oh, alright.";
+ mes "First you need to enroll and take the placement test.";
+ close;
+L_Menu1_1:
+ mes "[Hermes]";
+ mes "This is Shubaichul Magic Academy.";
+ next;
+ mes "[Hermes]";
+ mes "There are Sages that are less magicians than researchers.";
+ mes "Having a party supporting this kind of person is extremely important.";
+ next;
+ mes "[Hermes]";
+ mes "Keep supporting your party to the best of your ability.";
+ mes "That's all you need to do.";
+ close;
+L_Menu1_2:
+ mes "[Hermes]";
+ mes "You need to take the placement test from Kreitos before you can take my test.";
+ close;
+L_Menu2_1:
+ set SAGE_Q,6;
+ mes "[Hermes]";
+ mes "Oh? You took and passed the placement test?";
+ mes "Now you need to take the skill test from me.";
+ next;
+ mes "[Hermes]";
+ mes "The rules for the skill test are simple.";
+ mes "You need to kill all the monsters within the prescribed time limit.";
+ next;
+ mes "[Hermes]";
+ mes "There's an old proverb that one experience is worth a hundred words, so why not try it once?";
+ next;
+ menu "Sounds good",-,"I'm not ready yet",L_Menu2_2;
+ mes "[Hermes]";
+ mes "Well, let's get started.";
+ mes "Do your best!";
+ next;
+ warp "job_sage",50,154;
+ end;
+ L_Menu2_2:
+ mes "[Hermes]";
+ mes "Okay.";
+ mes "Please prepare quickly.";
+ close;
+L_Menu2_3:
+ mes "[Hermes]";
+ mes "Are you ready to take the skill test?";
+ mes "It's not too tough.";
+ next;
+ mes "[Hermes]";
+ mes "How about it?";
+ next;
+ menu "Sounds good",-,"I'm not ready yet",L_Menu2_2;
+ mes "[Hermes]";
+ mes "Well, let's get started.";
+ mes "Do your best!";
+ next;
+ warp "job_sage",50,154;
+ next;
+ warp "job_sage",50,154;
+ end;
+L_Menu3_1:
+ mes "[Hermes]";
+ mes "Good job! You passed";
+ mes "the skill test! Now you can proceed to the research phase!";
+ next;
+ mes "[Hermes]";
+ mes "Before I decide your research concentration, let's look at your score on the placement test and the amount of time you spent in the skill test.";
+ next;
+ mes "[Hermes]";
+ mes "Hmmm...";
+ mes "Looking good.";
+ next;
+
+//It's not clear how the script decides
+
+ if(sagecheck >= 12) goto L_Menu3_2;
+ set SAGE_Q,8;
+ mes "[Hermes]";
+ mes "It looks like monster research would be your best bet.";
+ next;
+ mes "[Hermes]";
+ mes "In order to gain the necessary information to put together a coherent research paper,";
+ mes "you should take the biology course from Professor Lucias.";
+ next;
+ goto L_Menu3_4;
+L_Menu3_2:
+ set SAGE_Q,9;
+ mes "[Hermes]";
+ mes "It looks like we have a budding elemental magic researcher here.";
+ mes "This field is fundamental to the advancement of magical knowledge.";
+ next;
+ mes "[Hermes]";
+ mes "You need to take a course from Professor Ebeshi in the biotech lab to gain a deeper understanding of elemental magic.";
+ next;
+L_Menu3_4:
+ mes "[Hermes]";
+ mes "I hope the coursework goes well.";
+ close;
+L_Menu4_1:
+ mes "[Hermes]";
+ mes "Weren't you listening?";
+ mes "You need to see Professor Lucias so you can begin your study of monster biology.";
+ close;
+L_Menu4_2:
+ mes "[Hermes]";
+ mes "Weren't you listening?";
+ mes "You need to see Professor Ebeshi so you can begin your study of elemental magic.";
+ close;
+L_Menu4_4:
+ mes "[Hermes]";
+ mes "Great job on completing your thesis, but you need to show it to the Headmaster.";
+ mes "He's the one who will judge whether or not you graduate.";
+ close;
+L_Menu4_5:
+ mes "[Hermes]";
+ mes "How are you?";
+ mes "Your face reveals that you've endured a lot of stress lately.";
+ next;
+ mes "[Hermes]";
+ mes "As stressful as hands-on research is,";
+ mes "it is still fundamentally different from research using abstract concepts.";
+ next;
+ mes "[Hermes]";
+ mes "Of course, if you go to difficult dungeons,";
+ mes "there's no shame in bringing a friend or five to help you out.";
+ close;
+}
+
+yuno_in03.gat,62,176,3 script History Professor 109,{
+ if(BaseJob == 16) goto L_Menu2_2;
+ if(BaseJob != 2) goto L_Menu1_1;
+ if(SAGE_Q == 11) goto L_Menu2_1;
+ mes "[Sapien]";
+ mes "You don't seem sure of your intended direction of study.";
+ mes "Perhaps you should consider it...";
+ close;
+L_Menu1_1:
+ mes "[Sapien]";
+ mes "Yes, I teach history.";
+ next;
+ mes "[Sapien]";
+ mes "As the present fades into memory, it becomes the past.";
+ mes "The kwoledge we have acquired in the past is the bridge between the present and the future.";
+ next;
+ mes "[Sapien]";
+ mes "You should study your own past, too.";
+ mes "By understanding what's happened to you already,";
+ mes "you can blaze a trail into the future unhindered by unresolved problems.";
+ close;
+L_Menu2_1:
+ mes "[Sapien]";
+ mes "What are you doing?";
+ mes "Hurry up and show the Headmaster your thesis before you lose it!";
+ close;
+L_Menu2_2:
+ mes "[Sapien]";
+ mes "Yes...?";
+ mes "Ah, it's a former student here.";
+ mes "Congratulations on graduating.";
+ next;
+ mes "[Sapien]";
+ mes "The present can only be understood by understanding the past.";
+ mes "Such understanding allows us to envision our future.";
+ next;
+ mes "[Sapien]";
+ mes "You should study your own past, too.";
+ mes "By understanding what's happened to you already,";
+ mes "you can blaze a trail into the future unhindered by unresolved problems.";
+ close;
+}
+
+yuno_in03.gat,105,177,4 script Placement Test Professor 754,{
+ if(BaseJob == 16) goto L_Menu3_4;
+ if(BaseJob != 2) goto L_Menu1_1;
+ if(SAGE_Q == 11) goto L_Menu3_3;
+ if(SAGE_Q >= 6) goto L_Menu3_2;
+ if(SAGE_Q == 3) goto L_Menu1_2;
+ if(SAGE_Q == 4) goto L_Menu2_1;
+ if(SAGE_Q == 5) goto L_Menu3_1;
+ mes "[Kreitos]";
+ mes "You have that look in your eye...";
+ mes "You want to be a Sage, I take it.";
+ next;
+ mes "[Kreitos]";
+ mes "You need to formally enroll in the Academy before I can help you any further.";
+ close;
+L_Menu1_1:
+ mes "[Kreitos]";
+ mes "Oh, you're not interested in our brand of magic?";
+ mes "That's alright...";
+ next;
+ mes "[Kreitos]";
+ mes "Anyone who teaches others and has a good heart is of value to society.";
+ mes "Please keep that in mind.";
+ close;
+L_Menu1_2:
+ set SAGE_Q,4;
+ set sagecheck,10;
+ mes "[Kreitos]";
+ mes "It looks like you've enrolled in the Shubaichul Magic Academy.";
+ mes "Is that right?";
+ next;
+ mes "[Kreitos]";
+ mes "So, let me find your paperwork...";
+ mes "You're " + strcharinfo(0) + ",";
+ mes "right?";
+ mes "Let's start the placement test.";
+ next;
+ mes "[Kreitos]";
+ mes "This test consists of twenty questions concerning the entire world.";
+ mes "If you score at least 80 points, you'll be placed in our program.";
+ mes "Each correct answer is worth 5 points.";
+ next;
+ mes "[Kreitos]";
+ mes "If you cancel, you'll have to start over, so be careful.";
+ next;
+ goto L_Menu2_2;
+ L_Menu2_1:
+ mes "[Kreitos]";
+ mes "Are you ready to try again?";
+ mes "Have you studied hard?";
+ next;
+ mes "[Kreitos]";
+ mes "The passing grade is as before.";
+ mes "You need to score 80 points, with each question being worth 5 points.";
+ next;
+ mes "[Kreitos]";
+ mes "So, let's get started.";
+ mes "Give it your best effort.";
+ mes "As before, if you cancel,";
+ mes "you'll have to start over.";
+ next;
+ L_Menu2_2:
+
+ set @sage_test2,0;
+ set @sage_test1,rand(3);
+ if (@sage_test1 == 1) goto L_Test2_1;
+ if (@sage_test1 == 2) goto L_Test3_1;
+
+//==================================
+//Written Test: Route 1.
+//==================================
+ mes "1. Which one isn't sold in Morocc's jewel shop?";
+ next;
+ menu "Topaz",L_Test1_1,"Garnet",-,"Diamond",L_Test1_1,"Sapphire",L_Test1_1;
+ set @sage_test2,@sage_test2+5;
+ goto L_Test1_1;
+ L_Test1_1:
+ mes "2. In which town can you not buy monster food?";
+ next;
+ menu "Prontera",L_Test1_2,"Morocc",L_Test1_2,"Aldebaran",-,"Alberta",L_Test1_2;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_2:
+ mes "3. Which town is closest to the forest maze?";
+ next;
+ menu "Prontera",-,"Morocc",L_Test1_3,"Geffen",L_Test1_3,"Payon",L_Test1_3;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_3:
+ mes "4. Which of these monsters is of a different race than the other three?";
+ next;
+ menu "Muka",L_Test1_4,"Drops",L_Test1_4,"Plankton",L_Test1_4,"Penomena",-;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_4:
+ mes "5. All these monsters except one have the same elemental affinity.";
+ mes "Which one has the different affinity?";
+ next;
+ menu "Dokebi",L_Test1_5,"Isis",L_Test1_5,"Giearth",-,"Deviruchi",L_Test1_5;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_5:
+ mes "6. Which one differs in approximate size from the others?";
+ next;
+ menu "Male Thief Bug",L_Test1_6,"Horn",L_Test1_6,"Metaller",L_Test1_6,"Argos",-;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_6:
+ mes "7. Which of these monsters doesn't drop the Iggydrasil leaf?";
+ next;
+ menu "Marduk",-,"Baphomet Jr.",L_Test1_7,"Angeling",L_Test1_7,"Wander Man",L_Test1_7;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_7:
+ mes "8. Which of these people isn't related to someone who can perform a class change to priest?";
+ next;
+ menu "Peter S. Alberto",-,"Thomas Bishop",L_Test1_8,"Windser Banedict",L_Test1_8,"Sesil Magrita",L_Test1_8;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_8:
+ mes "9. Which doesn't live in Morocc?";
+ next;
+ menu "Muda Armani",L_Test1_9,"Aragham",L_Test1_9,"Antonio",-,"Abldul",L_Test1_9;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_9:
+ mes "10. Which Kapra has the pretty blue hair?";
+ next;
+ menu "Pavianne",-,"Debril",L_Test1_10,"Claris",L_Test1_10,"Tayelin",L_Test1_10;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_10:
+ mes "11. Which one isn't necessary to unlock the Fire Wall skill?";
+ next;
+ menu "Firebolt Lv4",L_Test1_11,"Napalm Beat Lv4",-,"Fireball Lv5",L_Test1_11,"Sight Lv1",L_Test1_11;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_11:
+ mes "12. When the skill 'SP Restoration Lv6' is active, how much SP does the skill restore every ten seconds?";
+ next;
+ menu "14 sp",L_Test1_12,"16 sp",L_Test1_12,"18 sp",-,"21 sp",L_Test1_12;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_12:
+ mes "13. If you are a magician with job lv. 33, how many additional stat points will you get for int?";
+ next;
+ menu "7",L_Test1_13,"6",L_Test1_13,"5",L_Test1_13,"4",-;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_13:
+ mes "14. If the Archer skill 'Concentration Up Lv5' is active, how much SP will it consume?";
+ next;
+ menu "45 / 140sec",-,"50 / 140sec",L_Test1_14,"45 / 150sec",L_Test1_14,"50 / 150sec",L_Test1_14;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_14:
+ mes "15. Which one isn't necessary to unlock the Blacksmith skill 'Maximize Power'?";
+ next;
+ menu "Hilt Bending",L_Test1_15,"Skin Tempering",-,"Hammer Fall",L_Test1_15,"Weapon Perfection",L_Test1_15;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_15:
+ mes "16. What is the defense power and supplemental ability of a Ribbon?";
+ next;
+ menu "0 / SP +20",L_Test1_16,"0 / SP +30",L_Test1_16,"1 / SP +20",-,"1 / SP +30",L_Test1_16;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_16:
+ mes "17. Which class can't equip a Saint Robe?";
+ next;
+ //Swordsmen can't equip it either as of this writing.
+ menu "Swordsman",-,"Merchant",L_Test1_17,"Thief",-,"Acolyte",L_Test1_17;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_17:
+ mes "18. Which status ailment can't be removed with a Green Potion?";
+ next;
+ menu "Mute",L_Test1_18,"Poison",L_Test1_18,"Blind",L_Test1_18,"Cursed",-;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_18:
+ mes "19. What is the name of the ancient kingdom from which Geffen descends?";
+ next;
+ menu "Gefin",L_Test1_19,"Geffenia",-,"Gefdoria",L_Test1_19,"Gefria",L_Test1_19;
+ set @sage_test2,@sage_test2+5;
+ L_Test1_19:
+ mes "20. Which tree is said to be the world's root?";
+ next;
+ menu "Igg Drasil",-,"Idrasil",L_Menu2_3,"Master",L_Menu2_3,"Old Tree",L_Menu2_3;
+ set @sage_test2,@sage_test2+5;
+ goto L_Menu2_3;
+ //==================================
+ //Written Test: Route 2.
+ //==================================
+ L_Test2_1:
+ mes "1. Which isn't sold in Geffen's magic shop?";
+ next;
+ menu "Mantle",-,"Wand",L_Test2_2,"Circlet",L_Test2_2,"Silver Robe",L_Test2_2;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_2:
+ mes "2. Which town doesn't sell blades?";
+ next;
+ menu "Prontera",L_Test2_3,"Izlude",L_Test2_3,"Aldebaran",-,"payon",L_Test2_3;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_3:
+ mes "3. Which town is nearest to Glast Heim?";
+ next;
+ menu "Prontera",L_Test2_4,"Geffen",-,"Morocc",L_Test2_4,"Payon",L_Test2_4;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_4:
+ mes "4. Which monster's type differs from the other three?";
+ next;
+ menu "Aster",L_Test2_5,"Marc",L_Test2_5,"Marse",L_Test2_5,"Marin",-;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_5:
+ mes "5. Which monster's elemental affinity is different from the others?";
+ next;
+ menu "Desert Wolf Babe",L_Test2_6,"Smokie",-,"Picky",L_Test2_6,"Choco",L_Test2_6;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_6:
+ mes "6. Which monster is in a different size class than the others?";
+ next;
+ menu "Drake",-,"Wraith",L_Test2_7,"Evil Druid",L_Test2_7,"Khalitzburg",L_Test2_7;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_7:
+ mes "7. Which monster doesn't drop Phracon?";
+ next;
+ menu "Pupa",L_Test2_8,"Condor",-,"Savage Baby",L_Test2_8,"Desert Wolf Babe",L_Test2_8;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_8:
+ mes "8. Who isn't involved in the Blacksmith class change?";
+ next;
+// =========================
+// Acording To mRO Site And eAthena Blacksmith Script the following ppl looking like ppl listed here are:
+// - Baisulitst - looks like some1 listed by mRO
+// - Wickebine - mRO has him as option listed
+// - Gromgast - mRO has him as option listed
+// - Mitmayer - translator has him listed as option
+// == Conclusion == I took the following:
+// =========================
+ menu "Baisulitst",L_Test2_9,"Wickebine",L_Test2_9,"Barkdale",-,"Mitmayer",L_Test2_9;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_9:
+ mes "9. Who doesn't live in Aldebaran?";
+ next;
+ menu "RS125",L_Test2_10,"Maasaru",-,"Munster",L_Test2_10,"Isenberg",L_Test2_10;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_10:
+ mes "10. Who is the youngest person in the Kapra organization?";
+ next;
+ menu "Deflute",L_Test2_11,"Claris",L_Test2_11,"Tayelin",L_Test2_11,"Curly Sue",-;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_11:
+ mes "11. When you use the skill 'Safety Wall Lv6', how much SP is consumed and how many attacks will it block?";
+ next;
+ menu "SP 40, 6bl",L_Test2_12,"SP 35, 6bl",L_Test2_12,"SP 35, 7bl",L_Test2_12,"SP 40, 7bl",-;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_12:
+ mes "12. When you use 'Napalm Beat Lv6', what is the attack power relative to MATK?";
+ next;
+ menu "1.2x MATK",L_Test2_13,"1.3x MATK",-,"1.4x MATK",L_Test2_13,"1.5x MATK",L_Test2_13;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_13:
+ mes "13. Which one catalyzes the reaction of Liquid #4 during the Magician class change test?";
+ next;
+ menu "Blue Gemstone",L_Test2_14,"Red Gemstone",L_Test2_14,"Orange Gemstone",L_Test2_14,"Carat Diamond",-;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_14:
+ mes "14. What is the damage multiplier and SP consumption for 'Bash Lv6'?";
+ next;
+ menu "250% / 8",L_Test2_15,"280% / 8",L_Test2_15,"280% / 15",-,"310% / 15",L_Test2_15;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_15:
+ mes "15. Which isn't necessary to unlock the Hunter skill 'Claymore Trap'?";
+ next;
+ menu "Remove Trap",-,"Land Mine",L_Test2_16,"Ankle Snare",L_Test2_16,"Flash",L_Test2_16;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_16:
+ mes "16. What is the defense power and supplemental ability of a Veil?";
+ next;
+ menu "0 / MDEF +3",L_Test2_17,"0 / MDEF +5",-,"1 / MDEF +3",L_Test2_17,"1 / MDEF +5",L_Test2_17;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_17:
+ mes "17. Which class can't equip a Coat?";
+ next;
+ menu "Swordsman",L_Test2_18,"Magician",L_Test2_18,"Thief",L_Test2_18,"Novice",-;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_18:
+ mes "18. Which item isn't blue in color?";
+ next;
+ menu "Alcohol",L_Test2_19,"Detrimindexta",-,"Karvodailnirol",L_Test2_19,"Blue Herb",L_Test2_19;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_19:
+ mes "19. Which item did the god Odin use to create the world?";
+ next;
+// menu "Yomir's Heart",L_Test2_20,"Yomir's Nail",-,"Yomir's Tooth",L_Test2_20,"Yomir's Stuff",L_Test2_20;
+// All answers correct untill i know the real answer, only Stuff is wrong cause that NOT it
+ menu "Yomir's Heart",-,"Yomir's Nail",-,"Yomir's Tooth",-,"Yomir's Stuff",L_Test2_20;
+ set @sage_test2,@sage_test2+5;
+ L_Test2_20:
+ mes "20. Which metal can change the fate of the world?";
+ next;
+ menu "Envertacon",L_Menu2_3,"Emperium",-,"Enbera",L_Menu2_3,"Phracon",L_Menu2_3;
+ set @sage_test2,@sage_test2+5;
+ goto L_Menu2_3;
+//==================================
+//Written Test: Route 3.
+//==================================
+ L_Test3_1:
+ mes "1.Which of these items isn't sold at Prontera's knicknack shop?";
+ next;
+ menu "White Plate",L_Test3_2,"Red Frame",L_Test3_2,"Flower",-,"Glass Ball",L_Test3_2;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_2:
+ mes "2. Which town doesn't sell stilettos?";
+ next;
+ menu "Prontera",-,"Morocc",L_Test3_3,"Gefen",L_Test3_3,"Lutie",L_Test3_3;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_3:
+ mes "3. Which town is closest to Turtle Island?";
+ next;
+ menu "Aldebaran",L_Test3_4,"Alberta",-,"Comodo",L_Test3_4,"Izlude",L_Test3_4;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_4:
+ mes "4. Which monster is of a different monster race than the other three?";
+ next;
+ menu "Raggler",L_Test3_5,"Pest",L_Test3_5,"Frilldora",L_Test3_5,"Aster",-;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_5:
+ mes "5. Which monster has a different elemental affinity than the other three?";
+ next;
+ menu "Mantis",L_Test3_6,"Metaller",-,"Rokker",L_Test3_6,"Horn",L_Test3_6;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_6:
+ mes "6. Which monster is in a different size class than the others?";
+ next;
+ menu "Raydric",-,"Raydric Archer",L_Test3_7,"Wander Man",L_Test3_7,"Dark Flame",L_Test3_7;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_7:
+ mes "7. Which monster doesn't drop alcohol?";
+ next;
+ menu "Horn",L_Test3_8,"Plankton",L_Test3_8,"Poison Spore",-,"Toad",L_Test3_8;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_8:
+ mes "8. Which isn't involved in the Knight class change?";
+ next;
+// =========================
+// Acording To mRO Site And eAthena Knight Script the following ppl looking like ppl listed here
+// =========================
+ menu "James Syracuse",L_Test3_9,"Thomas Bishop",-,"Amy Veattris",L_Test3_9,"Edmond Groster",L_Test3_9;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_9:
+ mes "9. Which of these people doesn't live in Prontera?";
+ next;
+ menu "Nami",L_Test3_10,"Aldefun",-,"Thomas",L_Test3_10,"Hollengrhen",L_Test3_10;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_10:
+ mes "10. Which Kapra wears glasses?";
+ next;
+ menu "Deflute",L_Test3_11,"Tayelin",L_Test3_11,"Leilah",-,"Debril",L_Test3_11;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_11:
+ mes "11. How much SP does it cost to use 'Thunderstorm Lv7'?";
+ next;
+ menu "49",L_Test3_12,"59",-,"69",L_Test3_12,"74",L_Test3_12;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_12:
+ mes "12. If you have 50% of your SP left, how much damage will 'Energy Coat' block and how much SP will be consumed?";
+ next;
+ menu "24% blocked SP1.5% consumed",L_Test3_13,"24% blocked SP2% consumed",L_Test3_13,"18% blocked SP1.5% consumed",L_Test3_13,"18% blocked SP2% consumed",-;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_13:
+ mes "13. Which element cannot be used in bolt form by a Magician?";
+ next;
+ menu "Water",L_Test3_14,"Earth",-,"Fire",L_Test3_14,"Wind",L_Test3_14;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_14:
+ mes "14. When a thief has the skill 'Double Attack Lv7', what is the trigger probability and attack power multiplier?";
+ next;
+ menu "35% / 120%",L_Test3_15,"35% / 140%",-,"40% / 120%",L_Test3_15,"40% / 140%",L_Test3_15;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_15:
+ mes "15. Which of these isn't necessary to unlock the Priest skill 'Magnus Exorcism'?";
+ next;
+ menu "Divine Protection",-,"Heal",L_Test3_16,"Revive",L_Test3_16,"Aqua Benedicta",L_Test3_16;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_16:
+ mes "16. What is the defense power and supplemental ability of a Bunny Band?";
+ next;
+ menu "1 / LUK +2",L_Test3_17,"1 / LUK +5",L_Test3_17,"2 / LUK +2",-,"2 / LUK +5",L_Test3_17;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_17:
+ mes "17. Which class can't equip armor?";
+ next;
+ menu "Swordsman",L_Test3_18,"Merchant",L_Test3_18,"Thief",L_Test3_18,"Archer",-;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_18:
+ mes "18. Which item completely restores HP and SP?";
+ next;
+ menu "Royal Jelly",L_Test3_19,"Ig Drasil Seed",L_Test3_19,"Ig Drasil Fruit",-,"Master Fruit",L_Test3_19;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_19:
+ mes "19. What's the name of the king of Rune-Midgard?";
+ next;
+ menu "Trisdan III",L_Test3_20,"Tristan III",-,"Traisda III",L_Test3_20,"Trist III",L_Test3_20;
+ set @sage_test2,@sage_test2+5;
+ L_Test3_20:
+ mes "20. Which god do Crusaders serve?";
+ next;
+ menu "Odin",-,"Loki",L_Menu2_3,"Tooru",L_Menu2_3,"Aragamsaree",L_Menu2_3;
+ set @sage_test2,@sage_test2+5;
+
+ L_Menu2_3:
+ mes "[Kreitos]";
+ mes "Are you finished?";
+ mes "Alright, then I'll grade the test.";
+ next;
+ mes "[Kreitos]";
+ mes "Hmmm...";
+ mes "Yes....";
+ next;
+ if (@sage_test2 >= 100) goto L_Menu2_5;
+ if (@sage_test2 < 80) goto L_Menu2_4;
+ mes "[Kreitos]";
+ mes "All done.";
+ mes "You scored " + @sage_test2 + " points.";
+ mes "Looking good.";
+ mes "You've scored highly enough to pass.";
+ next;
+ goto L_Menu2_6;
+ L_Menu2_4:
+ set sagecheck,sagecheck-1;
+ mes "[Kreitos]";
+ mes "All done.";
+ mes "You scored " + @sage_test2 + " points.";
+ mes "......";
+ mes "Sorry, that's not good enough.";
+ next;
+ mes "[Kreitos]";
+ mes "We exepect our students to have command of much information about the world.";
+ mes "Learn some more and come back.";
+ mes "You can take the test again then.";
+ close;
+ L_Menu2_5:
+ mes "[Kreitos]";
+ mes "All done.";
+ mes "You scored " + @sage_test2 + " points.";
+ mes "Amazing. You did wonderfully.";
+ mes "There is no doubt you'll make a great Sage.";
+ next;
+ L_Menu2_6:
+ set SAGE_Q,5;
+ mes "[Kreitos]";
+ mes "Alright.";
+ mes "You've completed the placement test.";
+ mes "Now you need to take the skill test from Professor Hermes.";
+ close;
+L_Menu3_1:
+ mes "[Kreitos]";
+ mes "Heh?";
+ mes "Do you love tests so much that you want to take the placement test again?";
+ next;
+ mes "[Kreitos]";
+ mes "Go see Professor Hermes and take the skill test.";
+ mes "Future Sages can't be slacking off.";
+ close;
+L_Menu3_2:
+ mes "[Kreitos]";
+ mes "I'm busy grading other students' exams at the moment.";
+ mes "If you need something, please see me later.";
+ close;
+L_Menu3_3:
+ mes "[Kreitos]";
+ mes "It's great that you finished your thesis, but I don't grade those.";
+ next;
+ mes "[Kreitos]";
+ mes "Show that to Headmaster Keiron.";
+ mes "He'll judge whether or not it's quality warrants your graduation.";
+ close;
+L_Menu3_4:
+ mes "[Kreitos]";
+ mes "You've graduated already?";
+ mes "Do you want to take more classes?";
+ next;
+ mes "[Kreitos]";
+ mes "I know it feels great to have graduated, but you've got to keep learning.";
+ mes "You might burn out if you become complacent and never venture out of the library once in a while.";
+ mes "Danger is exhilerating.";
+ next;
+ mes "[Kreitos]";
+ mes "Don't forget to keep notes about your journies.";
+ mes "They can come in handy when you want to teach others about a subject you've studied.";
+ close;
+}
+
+//==================================
+//Skill Test Room
+//==================================
+
+job_sage.gat,50,165,4 script Skill Test Coordinator::jobsage_wroom 700,{
+ mes "[Skill Test Coordinator]";
+ mes "Welcome to the Sage skill test.";
+ mes "Please go to the waiting area if you want to take the test.";
+ next;
+ mes "[Skill Test Coordinator]";
+ mes "Others are being tested at the moment.";
+ mes "When it's time for you to be tested, we'll call your name.";
+ next;
+ mes "[Skill Test Coordinator]";
+ mes "It takes around 5-10 minutes to test one person.";
+ close;
+OnInit:
+ waitingroom "Test Waiting Area",10,"jobsage_wroom::OnStart",1;
+ end;
+OnStart:
+ disablewaitingroomevent;
+ warpwaitingpc "job_sage.gat",118,99;
+ set $@jobsage_pid,$@warpwaitingpc[0];
+ if( attachrid($@jobsage_pid)==0 ) goto L_Error;
+ set $@jobsage_pname$,strcharinfo(0);
+ donpcevent "jobsage_1st::OnStart";
+ end;
+L_Error:
+ enablewaitingroomevent;
+ end;
+OnEnable:
+ enablewaitingroomevent;
+ end;
+}
+
+//======== Test Step 1
+job_sage.gat,1,1,1 script jobsage_1st -1,{
+ end;
+OnStart:
+ set $@jobsage_m,16;
+ monster "job_sage.gat",115,106,"Unit",1183,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",120,102,"Unit",1183,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",124,98,"Unit",1183,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",120,93,"Unit",1183,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",115,90,"Unit",1183,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",111,93,"Unit",1183,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",107,98,"Unit",1183,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",111,102,"Unit",1183,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",128,110,"Unit",1184,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",124,106,"Unit",1184,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",124,89,"Unit",1184,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",128,85,"Unit",1184,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",107,89,"Unit",1184,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",103,85,"Unit",1184,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",107,106,"Unit",1184,1,"jobsage_1st::OnKilled";
+ monster "job_sage.gat",103,110,"Unit",1184,1,"jobsage_1st::OnKilled";
+ initnpctimer;
+ end;
+OnReset:
+ killmonster "job_sage.gat","All";
+ end;
+OnKilled:
+ set $@jobsage_m,$@jobsage_m-1;
+ if( $@jobsage_m > 0 )goto L_NotWin;
+ if(getnpctimer(1,"jobsage_1st") < 60000 ) set sagecheck,sagecheck+1;
+ if((getnpctimer(1,"jobsage_1st") >= 120000 ) && (getnpctimer(1,"jobsage_1st") <= 170000 )) set sagecheck,sagecheck-1;
+ if(getnpctimer(1,"jobsage_1st") > 170000 ) set sagecheck,sagecheck-2;
+ stopnpctimer;
+ mapannounce "job_sage.gat","Examiner: " + $@jobsage_pname$ + " killed all the monsters!",8;
+ donpcevent "jobsage_2nd::OnStart";
+ L_NotWin:
+ end;
+OnTimer1000:
+ mapannounce "job_sage.gat","Examiner: The skill test begins now.",8;
+ end;
+OnTimer2500:
+ mapannounce "job_sage.gat","Examiner: The time limit for this portion of the test is 3 minutes.",8;
+ end;
+OnTimer4000:
+ mapannounce "job_sage.gat","Examiner: You must kill all the monsters within that time period.",8;
+ end;
+OnTimer30000:
+ mapannounce "job_sage.gat","Examiner: 2 minutes, 30 seconds remaining.",8;
+ end;
+OnTimer60000:
+ mapannounce "job_sage.gat","Examiner: 2 minutes remaining.",8;
+ end;
+OnTimer90000:
+ mapannounce "job_sage.gat","Examiner: 1 minute, 30 seconds remaining.",8;
+ end;
+OnTimer120000:
+ mapannounce "job_sage.gat","Examiner: 1 minute remaining.",8;
+ end;
+OnTimer150000:
+ mapannounce "job_sage.gat","Examiner: 30 seconds remaining.",8;
+ end;
+OnTimer170000:
+ mapannounce "job_sage.gat","Examiner: 10 seconds remaining.",8;
+ end;
+OnTimer180000:
+ donpcevent "jobsage_1st::OnReset";
+ mapannounce "job_sage.gat","Examiner: Time has expired.",8;
+ end;
+OnTimer181500:
+ mapannounce "job_sage.gat","Examiner:" + $@jobsage_pname$ + "failed the test.",8;
+ areawarp "job_sage.gat",100,82,131,113,"yuno.gat",324,258;
+ end;
+OnTimer183000:
+ mapannounce "job_sage.gat","Next candidate, please step forward.",8;
+ end;
+OnTimer184000:
+ donpcevent "jobsage_wroom::OnEnable";
+ stopnpctimer;
+ end;
+}
+
+//======== Test Step 2
+job_sage.gat,1,1,1 script jobsage_2nd -1,{
+ end;
+OnStart:
+ donpcevent "jobsage_2nd::OnReset";
+ set $@jobsage_m,24;
+ monster "job_sage.gat",120,102,"GeographyInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",120,102,"StatisticsInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",120,102,"MeteorologyInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",120,102,"AstronomyInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",120,102,"LinguisticsInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",120,102,"CityLifeInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",124,98,"ForestryInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",124,98,"HealthInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",124,98,"PsychologyInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",120,93,"AnthropologyInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",120,93,"BiologyInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",120,93,"EthicsInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",111,93,"ArchitectureInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",111,93,"PlasticsInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",111,93,"NutritionInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",111,93,"FoodInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",111,93,"ManagementInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",111,93,"SociologyInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",107,98,"EconomicsInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",107,98,"MagicInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",107,98,"PoliSciInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",111,102,"MathInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",111,102,"HistoryInfo",1063,1,"jobsage_2nd::OnKilled";
+ monster "job_sage.gat",111,102,"PhysicsInfo",1063,1,"jobsage_2nd::OnKilled";
+ initnpctimer;
+ end;
+OnReset:
+ killmonster "job_sage.gat","All";
+ end;
+OnKilled:
+ set $@jobsage_m,$@jobsage_m-1;
+ if( $@jobsage_m > 0 )goto L_NotWin;
+ stopnpctimer;
+ if(getnpctimer(1,"jobsage_2nd") < 60000 ) set sagecheck,sagecheck+1;
+ if((getnpctimer(1,"jobsage_2nd") >= 120000 ) && (getnpctimer(1,"jobsage_2nd") <= 170000 )) set sagecheck,sagecheck-1;
+ if(getnpctimer(1,"jobsage_2nd") > 170000 ) set sagecheck,sagecheck-2;
+ mapannounce "job_sage.gat","Examiner: " + $@jobsage_pname$ + " killed all the monsters!",8;
+ donpcevent "jobsage_3rd::OnStart";
+ L_NotWin:
+ end;
+OnTimer1500:
+ mapannounce "job_sage.gat","Examiner: The time limit for this portion of the test is 3 minutes.",8;
+ end;
+OnTimer3000:
+ mapannounce "job_sage.gat","Examiner: You must kill all the monsters within that time period.",8;
+ end;
+OnTimer30000:
+ mapannounce "job_sage.gat","Examiner: 2 minutes, 30 seconds remaining.",8;
+ end;
+OnTimer60000:
+ mapannounce "job_sage.gat","Examiner: 2 minutes remaining.",8;
+ end;
+OnTimer90000:
+ mapannounce "job_sage.gat","Examiner: 1 minute, 30 seconds remaining.",8;
+ end;
+OnTimer120000:
+ mapannounce "job_sage.gat","Examiner: 1 minute remaining.",8;
+ end;
+OnTimer150000:
+ mapannounce "job_sage.gat","Examiner: 30 seconds remaining.",8;
+ end;
+OnTimer170000:
+ mapannounce "job_sage.gat","Examiner: 10 seconds remaining.",8;
+ end;
+OnTimer180000:
+ donpcevent "jobsage_2nd::OnReset";
+ mapannounce "job_sage.gat","Examiner: Time has expired.",8;
+ end;
+OnTimer181500:
+ mapannounce "job_sage.gat","Examiner: " + $@jobsage_pname$ + "has failed the test.",8;
+ areawarp "job_sage.gat",100,82,131,113,"yuno.gat",324,258;
+ end;
+OnTimer183000:
+ mapannounce "job_sage.gat","Next candidate, please step forward.",8;
+ end;
+OnTimer184000:
+ donpcevent "jobsage_wroom::OnEnable";
+ stopnpctimer;
+ end;
+}
+
+
+//======== Test Step 3
+job_sage.gat,1,1,1 script jobsage_3rd -1,{
+ end;
+OnStart:
+ donpcevent "jobsage_3rd::OnReset";
+ set $@jobsage_m,1;
+ monster "job_sage.gat",116,98,"Bachelor",1179,1,"jobsage_3rd::OnKilled";
+ monster "job_sage.gat",124,106,"Tardy",1185,1;
+ monster "job_sage.gat",124,89,"Loaner",1185,1;
+ monster "job_sage.gat",107,89,"Cheater",1185,1;
+ monster "job_sage.gat",107,106,"Absentee",1185,1;
+ initnpctimer;
+ end;
+OnReset:
+ end;
+OnKilled:
+ set $@jobsage_m,$@jobsage_m-1;
+ if( $@jobsage_m > 0 )goto L_NotWin;
+ stopnpctimer;
+ killmonster "job_sage.gat","All";
+ set SAGE_Q,7;
+ if(getnpctimer(1,"jobsage_3rd") < 20000 ) set sagecheck,sagecheck+1;
+ if((getnpctimer(1,"jobsage_3rd") >= 30000 ) && (getnpctimer(1,"jobsage_2nd") <= 50000 )) set sagecheck,sagecheck-1;
+ if(getnpctimer(1,"jobsage_3rd") > 50000 ) set sagecheck,sagecheck-2;
+ mapannounce "job_sage.gat","Examiner: Congratulations. " + $@jobsage_pname$ + "passed the test!",8;
+ donpcevent "jobsage_success::OnSuccess";
+ L_NotWin:
+ end;
+OnTimer1500:
+ mapannounce "job_sage.gat","Examiner: 1 minute remaining.",8;
+ end;
+OnTimer30000:
+ mapannounce "job_sage.gat","Examiner: 30 seconds remaining.",8;
+ end;
+OnTimer50000:
+ mapannounce "job_sage.gat","Examiner: 10 seconds remaining.",8;
+ end;
+OnTimer60000:
+ donpcevent "jobsage_3rd::OnReset";
+ mapannounce "job_sage.gat","Examiner: Time has expired.",8;
+ end;
+OnTimer61500:
+ mapannounce "job_sage.gat","Examiner: " + $@jobsage_pname$ + "failed the test.",8;
+ areawarp "job_sage.gat",100,82,131,113,"yuno.gat",324,258;
+ end;
+OnTimer63000:
+ mapannounce "job_sage.gat","Examiner: This concludes the test. Next candidate, please step forward.",8;
+ end;
+OnTimer64000:
+ donpcevent "jobsage_wroom::OnEnable";
+ stopnpctimer;
+ end;
+}
+
+//======== Successful
+job_sage.gat,1,7,1 script jobsage_success 66,{
+OnSuccess:
+ killmonster "job_sage.gat","All";
+ initnpctimer;
+ end;
+OnTimer3000:
+ mapannounce "job_sage.gat","Examiner: Please allow me to guide you out.",8;
+ end;
+OnTimer6000:
+ mapannounce "job_sage.gat","Next candidate, please step forward.",8;
+ areawarp "job_sage.gat",100,82,131,113,"yuno_in03.gat",163,180;
+ end;
+OnTimer7000:
+ donpcevent "jobsage_wroom::OnEnable";
+ stopnpctimer;
+ end;
+}
+
+//==============================================================================
+// mapflag
+//==============================================================================
+job_sage.gat mapflag nomemo
+job_sage.gat mapflag noteleport
+job_sage.gat mapflag nosave SavePoint
+job_sage.gat mapflag nopenalty
+job_sage.gat mapflag nobranch
+job_sage.gat mapflag noexp
+job_sage.gat mapflag noloot
diff --git a/npc/jobs/2-2a/Champion.txt b/npc/jobs/2-2a/Champion.txt
new file mode 100644
index 000000000..68e5cda11
--- /dev/null
+++ b/npc/jobs/2-2a/Champion.txt
@@ -0,0 +1,19 @@
+//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
+
+// -== Champion ==-
+valkyrie.gat,53,42,4 script Champion 52,{
+ callfunc "F_Rebirth",28,"Acolyte High",39,"Champion",156,0,0,0;
+}
diff --git a/npc/jobs/2-2a/Clown.txt b/npc/jobs/2-2a/Clown.txt
new file mode 100644
index 000000000..6cdbb3a4b
--- /dev/null
+++ b/npc/jobs/2-2a/Clown.txt
@@ -0,0 +1,19 @@
+//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
+
+// -== Clown ==-
+valkyrie.gat,53,54,4z script Clown 741,{
+ callfunc "F_Rebirth",27,"High Archer",43,"Clown",147,148,0,0;
+}
diff --git a/npc/jobs/2-2a/Creator.txt b/npc/jobs/2-2a/Creator.txt
new file mode 100644
index 000000000..d8c208d43
--- /dev/null
+++ b/npc/jobs/2-2a/Creator.txt
@@ -0,0 +1,19 @@
+//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
+
+// -== Creator ==-
+valkyrie.gat,53,50,6 script Creator 122,{
+ callfunc "F_Rebirth",29,"Merchant High",42,"Creator",153,154,155,0;
+}
diff --git a/npc/jobs/2-2a/Gypsy.txt b/npc/jobs/2-2a/Gypsy.txt
new file mode 100644
index 000000000..64cbc7202
--- /dev/null
+++ b/npc/jobs/2-2a/Gypsy.txt
@@ -0,0 +1,19 @@
+//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
+
+// -== Gypsy ==-
+valkyrie.gat,53,56,4 script Gypsy 101,{
+ callfunc "F_Rebirth",27,"High Archer",44,"Gypsy",147,148,0,0;
+}
diff --git a/npc/jobs/2-2a/Paladin.txt b/npc/jobs/2-2a/Paladin.txt
new file mode 100644
index 000000000..d796f904f
--- /dev/null
+++ b/npc/jobs/2-2a/Paladin.txt
@@ -0,0 +1,19 @@
+//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
+
+// -== Paladin ==-
+valkyrie.gat,53,39,4 script Paladin 752,{
+ callfunc "F_Rebirth",25,"Swordman High",38,"Paladin",144,145,146,0;
+}
diff --git a/npc/jobs/2-2a/Professor.txt b/npc/jobs/2-2a/Professor.txt
new file mode 100644
index 000000000..e68ca3672
--- /dev/null
+++ b/npc/jobs/2-2a/Professor.txt
@@ -0,0 +1,19 @@
+//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
+
+// -== Professor ==-
+valkyrie.gat,53,47,4 script Professor 743,{
+ callfunc "F_Rebirth",26,"High Mage",40,"Professor",157,0,0,0;
+}
diff --git a/npc/jobs/2-2a/Stalker.txt b/npc/jobs/2-2a/Stalker.txt
new file mode 100644
index 000000000..490495561
--- /dev/null
+++ b/npc/jobs/2-2a/Stalker.txt
@@ -0,0 +1,19 @@
+//===== eAthena Script =======================================
+//= Advance Class jobchanger after kRO Normals.
+//===== By: ==================================================
+//= Nana
+//= finished, optimized and tested by Lupus
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Advance Class jobchanger after kRO Normals.
+//===== Additional Comments: =================================
+//= v1.1 Made all into functions, additional checks, etc. [Lupus]
+//============================================================
+
+// -== Stalker ==-
+valkyrie.gat,53,58,4 script Stalker 747,{
+ callfunc "F_Rebirth",30,"Thief High",41,"Stalker",149,150,151,152;
+}
diff --git a/npc/jobs/2-2e/SoulLinker.txt b/npc/jobs/2-2e/SoulLinker.txt
new file mode 100644
index 000000000..7de7d4256
--- /dev/null
+++ b/npc/jobs/2-2e/SoulLinker.txt
@@ -0,0 +1,56 @@
+//===== eAthena Script =======================================
+//= Soul Linker Job Quest
+//===== By: ==================================================
+//= Lupus
+//===== Current Version: =====================================
+//= 0.1a
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= 0.1 Now it's just a temp job quest NPC [Lupus]
+//= 0.1a Small fix in warp [Komurka]
+//============================================================
+
+
+job_star.gat,99,13,0 warp soultopay 1,1,payon.gat,151,85
+
+job_star.gat,99,33,2 script Soul Linker 764,{
+ mes "[Soul Linker]";
+ if(Class==Job_Taekwon) goto L_Check;
+ if(Class==Job_Soul_Linker){
+ mes "Go forth and help people...";
+ close;
+ }
+ mes "I speak to Taekwons only...";
+ emotion 1;
+ close;
+
+L_Check:
+ mes "Hello!";
+ mes "Are you ready to help your brothers and sisters? Do you want to be a Soul Linker?";
+ next;
+ menu "I want to be a Soul Linker",-,"Not yet.",M_NOTHING;
+
+ mes "[Soul Linker]";
+ if(JobLevel<40 || SkillPoint) {
+ mes "I'm sorry, my friend. You need 40 Job Level and no skill points left.";
+ close;
+ }
+ if(Weight) {
+ mes "Bring me the most valuable thing you have. The only thing!";
+ emotion e_sry;
+ close;
+ }
+
+ jobchange Job_Soul_Linker;
+ callfunc "F_ClearJobVar";
+ mes "Congratulations!";
+ close;
+
+M_NOTHING:
+ mes "[Soul Linker]";
+ mes "I'll wait here. We need more Soul Linkers to protect our brothers and sisters.";
+ close;
+}
diff --git a/npc/jobs/Jfunc/Jfunc1-1.txt b/npc/jobs/Jfunc/Jfunc1-1.txt
new file mode 100644
index 000000000..4628aedd2
--- /dev/null
+++ b/npc/jobs/Jfunc/Jfunc1-1.txt
@@ -0,0 +1,248 @@
+//===== eAthena Script =======================================
+//= Global Job Function
+//===== By: ==================================================
+//= massdriller
+//===== Current Version: =====================================
+//= 0.2
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Optimised scripts by moving all their checkers here.
+//===== Additional Comments: =================================
+//= For 1-1 Jobs
+//= Simplified Job Checks [Silentdragon]
+//============================================================
+
+//Acolyte Check
+
+function script Aco_check {
+ if(BaseJob == Job_Acolyte) goto JobAco;
+ if(BaseJob != Job_Novice) goto NotNov;
+ if(JobLevel < 10) goto JobLess10;
+ return;
+
+ JobAco:
+ mes "Are you feeling okay?....";
+ emotion 20;
+ next;
+ mes "[Father Mareusis]";
+ mes "...your attire...";
+ next;
+ mes "[Father Mareusis]";
+ mes "You're already are an Acolyte.....";
+ next;
+ mes "[Father Mareusis]";
+ mes "You are not joking with me, are you? Hoho!!..kids these days.";
+ emotion 18;
+ close;
+
+
+ NotNov:
+ mes "I am sorry child. You have already devoted your life to another profession. I am afraid that you will no longer be able to devote it to God.";
+ close;
+
+
+ JobLess10:
+ mes "My child you do not yet possess the necessary skills to serve the lord.";
+ mes "Please come back when your faith in God has become stronger";
+ next;
+ mes "[Father Mareusis]";
+ mes "May God bless you.";
+ close;
+
+}
+
+//Archer Check
+
+function script Arc_check {
+
+ if(BaseJob == Job_Archer) goto sL_Archer;
+ if(BaseJob != Job_Novice) goto sL_Other;
+ mes "You have made an execellent job choice.";
+ mes "Please submit your resume so that I can check your qualifications.";
+ next;
+ mes "(You hand over your resume)";
+ next;
+ mes "[Archer Guildsman]";
+ if(JobLevel < 10) goto sL_LowLvl;
+ set job_archer_q,1;
+ return;
+
+ sL_Archer:
+ mes "Your free spirited nature tells me that you're already an archer....that and the bow and arrow in your hands...Haha";
+ emotion 18;
+ close;
+
+
+ sL_Other:
+ mes "I'm sorry but you cannot leave your current job to become an Archer...though I can understand why you would want to do so.";
+ close;
+
+
+ sL_LowLvl:
+ mes "It seems that you are not qualified to become an Archer yet. Please take a look at the job requirments once more.";
+ close;
+
+
+}
+
+//mage Check
+function script Mag_check {
+
+ if(BaseJob == 2) goto L_JobMage;
+ if(BaseJob != 0) goto L_JobOther;
+ mes "Okays, just fill out this application form pleeassse.";
+ next;
+ mes "(you fill out the form and hand it back to her)";
+ next;
+ mes "[Expert Mage]";
+ if(JobLevel < 10) goto L_JobLvl;
+ mes "Oooh~ You have very nice hand writing ^0000dd"+ strcharinfo(0) +"^000000, and more importantly you have met the necessary prerequisites to become a mage.";
+ next;
+ mes "[Expert Mage]";
+ return;
+
+ L_JobMage:
+ mes "You should really get yourself a mirror. Then you could see that you are ^ff0000already a Mage^000000.";
+ mes "It may even help you fix up your hair do.";
+ emotion 4;
+ close;
+
+
+ L_JobOther:
+ mes "Oh...I'm sorry. I know they say 2 is always better than 1, but when it comes to Jobs, it's a No No.";
+ mes "Try to stay positive. Your current job can't be that bad.";
+ emotion 22;
+ close;
+
+
+ L_JobLvl:
+ mes "Oh...I'm sorry. You need ^ff0000Job level 9^000000 and all of the ^0000ffBasic Skills^000000 before you can become a Mage.";
+ mes "Go out and kill some more Fabres okays.";
+ emotion 22;
+ close;
+
+
+}
+
+//Merchant Check
+function script Mer_check {
+
+ if(BaseJob==5) goto L_JobMer;
+ if(BaseJob !=0) goto L_JobOther;
+ if(JobLevel < 10) goto L_JobLvl;
+ mes "[Chief Mahnsoo]";
+ mes "A Merchant you say? Well...";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "Alright. First fill out an application form and submit 1000 Zeny for the Memebership Fee.";
+ mes "If you don't have enough money right now, you can pay 500 Zeny first and then pay the rest later after you've passed the Merchant License Test.";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "How does that sound? Are you still interested?";
+ return;
+
+ L_JobMer:
+ mes "[Chief Mahnsoo]";
+ mes "Huh? What did you say? You noodle head! Take a good look at yourself. Your ALREADY A MERCHANT! Good lord!";
+ emotion 1;
+ emotion 0;
+ close;
+
+
+ L_JobOther:
+ mes "[Chief Mahnsoo]";
+ mes "We Merchants really don't like people who work during the day, and then go out to crazy bars at night. When it comes to money, for them it's 'easy come easy go.";
+ next;
+ mes "[Chief Mahnsoo]";
+ mes "Well.. I talked a little too long, I guess... but since you already have an occupation, we don't need you.";
+ close;
+
+
+ L_JobLvl:
+ mes "[Chief Mahnsoo]";
+ mes "I'm sorry but you have to have a Novice Job level of 9 with all 9 of the basic Skills.";
+ close;
+
+}
+
+//Swordsman Check
+function script Swo_check {
+
+ if(BaseJob == Job_Swordman) goto O_1b;
+ if(BaseJob != Job_Novice) goto O_1c;
+ mes "So you wish to become a Swordsman aye? A very good choice!! Fill out this application form first.";
+ next;
+ mes "..(you fill out the form and hand it to him)..";
+ next;
+ mes "[Master Swordsman]";
+ if(JobLevel < 10) goto O_1d;
+ return;
+
+ O_1b:
+ mes "Muhahaha! You must be kidding me! You're already a swordsman.";
+ emotion 18;
+ close;
+
+ O_1c:
+ mes "Im sorry but you can not hold more than one job at a time and therefore I must refuse your request.";
+ next;
+ mes "[Master Swordsman]";
+ mes "Try picking up a hobby to make use of your spare time. Muhahahahah!!";
+ emotion 18;
+ close;
+
+ O_1d:
+ mes "A hem...., you have yet to learn all of the 'Basic Skills' needed to become a Swordsman. Please check the requirements again.";
+ close;
+
+}
+//Thief Check
+function script Thi_check {
+
+ if(BaseJob == Job_Novice) return;
+ if(BaseJob == Job_Thief) goto L_JobThief;
+ mes "[Thief Guide]";
+ if(BaseClass == Job_Swordman) goto L_Swordman;
+ if(BaseClass == Job_Mage) goto L_Mage;
+ if(BaseClass == Job_Archer) goto L_Archer;
+ if(BaseClass == Job_Acolyte) goto L_Acolyte;
+ if(BaseClass == Job_Merchant) goto L_Merchant;
+
+ mes "You already have a job. Stop bothering me and go help out some newbies or something.";
+ emotion 21;
+ close;
+
+ L_Acolyte:
+ mes "What the heck...? Ohhhhhh~GOD... PORING's worshipper, Acolyte...";
+ mes "So why aren't you in church praying, instead of wandering about here, huh?";
+ close;
+
+ L_Archer:
+ mes "What the heck...? Hahahaha~are you a 'Kill Stealing' Archer...?";
+ emotion 18;
+ close;
+
+ L_Mage:
+ mes "What the heck...? Ehhh??? A Circus Sideshow? Make a fire without a Matchstick, will ya?";
+ emotion 19;
+ close;
+
+ L_Merchant:
+ mes "What the heck...? Eeeeeek~Merchant Scammer here...!!!! I am gonna report you to the GM!!!";
+ emotion 0;
+ close;
+
+ L_Swordman:
+ mes "What the heck...? Meh!~Here's another 'Bash' head. Do me a favor... why don't you go 'BASH', yourself in the head. Ha!";
+ emotion 29;
+ close;
+
+L_JobThief:
+ mes "[Thief Guide]";
+ mes "You're already a thief..... What do you want from me... go away!";
+ emotion 4;
+ close;
+
+}
+
diff --git a/npc/jobs/Jfunc/Jfunc2-1.txt b/npc/jobs/Jfunc/Jfunc2-1.txt
new file mode 100644
index 000000000..1b62d6494
--- /dev/null
+++ b/npc/jobs/Jfunc/Jfunc2-1.txt
@@ -0,0 +1,385 @@
+//===== eAthena Script =======================================
+//= Global Job Function
+//===== By: ==================================================
+//= massdriller
+//===== Current Version: =====================================
+//= 0.2
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Optimised scripts by moving all their checkers here.
+//===== Additional Comments: =================================
+//= For 2-1 Jobs
+//= 0.2 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon]
+//============================================================
+
+//Assasin Check
+function script Ass_check {
+
+ if(BaseJob==Job_Assassin) goto L_JobSin;
+ mes "[Angry looking man]";
+ if(baseClass == Job_Swordman) goto L_JobSwo;
+ if(baseClass == Job_Mage) goto L_JobMag;
+ if(baseClass == Job_Archer) goto L_JobArch;
+ if(baseClass == Job_Acolyte) goto L_JobAco;
+ if(baseClass == Job_Merchant) goto L_JobMerc;
+ if(baseClass == Job_Thief) goto L_JobOther;
+
+L_JobNov:
+ mes "....HEY Novice!!! GET out of here now!! I won't be held responsible if anything bad happens to you.......";
+ emotion 0;
+ close;
+L_JobSwo:
+ mes "....What are you doing here???";
+ emotion 1;
+ next;
+ mes "[Angry looking man]";
+ mes "Doing what you're ordered to do eh?........ You guys are nothing more than dogs that listen to their owners.............";
+ emotion 32;
+ close;
+L_JobMag:
+ mes "...What's a mage like you doing here? You should be paying more attention to your training.....";
+ emotion 20;
+ close;
+L_JobArch:
+ mes "Uh.... you're one of those people with bows right? Sorry but there are no cute pets here for u to kill..........";
+ emotion 4;
+ next;
+ mes "[Angry looking man]";
+ mes "Wait...... You're not here to create trouble eh!!? ....LEAVE AT ONCE!!";
+ emotion 0;
+ close;
+L_JobAco:
+ mes "...Oh God's little helper..... What are you doing down in a dreadful place like this?";
+ mes "Trust me, you're not going to find any salvation here........ why don't you just run along ok?........";
+ emotion 20;
+ close;
+L_JobMerc:
+ mes ".... What the??? Do you have any idea where you are??...... GREEDY SCAMMERS like you are not welcome here!!";
+ emotion 29;
+ close;
+L_JobOther:
+ mes ".... Hmm.... although you're not an Assassin or Thief... I have to say I like your sense of style.";
+ close;
+L_JobSin:
+ mes "[Assassin Huey]";
+ mes "Oohh, its you. You're...." + strcharinfo(0) + " right?";
+ next;
+ mes "[Assassin Huey]";
+ mes "Too bad there's nothing to do right now. You should go train more. Bye.";
+ close;
+
+}
+
+//Blacksmith Check
+function script Bla_check {
+
+ if (BaseJob == 0) goto L_Nov;
+ if (baseClass == Job_Swordman) goto L_Sword;
+ if (baseClass == Job_Acolyte) goto L_Aco;
+ if (baseClass == Job_Thief) goto L_Thief;
+ if (baseClass == Job_Mage) goto L_Wiz;
+ if (baseClass == Job_Archer) goto L_Arc;
+ if (BaseJob == 10) goto L_Black;
+ mes "Only Merchants can become Blacksmiths.";
+ close;
+
+L_Nov:
+ if(sex==0) mes "...Hello little lady! If you wish to be a blacksmith, you have to be a merchant first!";
+ if(sex==1) mes "Hmmm, you look like you wish to be a blacksmith! Sorry, but only merchants can be blacksmiths!.";
+ close;
+L_Sword:
+ mes "Hello! Come here to order a sword? Sorry, but I have some paperwork to do, so I can't forge anything now.";
+ close;
+L_Arc:
+ mes "Hmmm, sorry, but we're not hiring anyone that isn't a merchent.";
+ close;
+L_Wiz:
+ mes "Interested in training? Our guild cannot assist magic users is such matters.";
+ close;
+L_Aco:
+ mes "Oh! A Holy one...! Do me a favor and bless the sword I'm crafting!";
+ close;
+L_Thief:
+ mes "Sorry, but this is more of a office, so there's nothing worth money. We CAN do knife forges though.";
+ close;
+L_Black:
+ mes "Hey! Been a while, running a errand for Christopher? I feel like my hammer is getting rusty after all this office work.";
+ close;
+
+}
+
+//Hunter Check
+function script Hun_check {
+
+ if(BaseJob==Job_Hunter) goto L_Hunt;
+ if(baseClass == Job_Archer) goto L_Other;
+ if(baseClass == Job_Swordman) goto L_Swo;
+ if(baseClass == Job_Mage) goto L_Mage;
+ if(baseClass == Job_Thief) goto L_Thf;
+ if(baseClass == Job_Acolyte) goto L_Aco;
+ if(baseClass == Job_Merchant) goto L_Merc;
+
+L_Nov:
+ mes "[Hunter Sharon]";
+ mes "What's a novice like you doing here? Leave, we have nothing for you.";
+ emotion 1;
+ close;
+L_Swo:
+ mes "[Hunter Sharon]";
+ mes "A follower of the way of the blade! We have nothing for you here so please leave.";
+ close;
+L_Mage:
+ mes "[Hunter Sharon]";
+ mes "Hello mage type person. If you have no business here, please leave,";
+ close;
+L_Aco:
+ mes "[Hunter Sharon]";
+ mes "Good day, religious zealot! It's nice to meet you and all, but you have no buisiness here.";
+ close;
+L_Merc:
+ mes "[Hunter Sharon]";
+ mes "Hey, how's buisiness? Perhaps if you want to sell something, go back to town.";
+ close;
+L_Thf:
+ mes "[Hunter Sharon]";
+ mes "Eeep! There's nothing to steal here!! Leave us alone..... go rob an old lady or something......";
+ emotion 23;
+ close;
+L_Hunt:
+ mes "[Hunter Sharon]";
+ mes "What up! "+strcharinfo(0)+" Why did you come back? Falcon run away or something? Te hehe.";
+ emotion 18;
+ next;
+ mes "[Hunter Sharon]";
+ mes "I hope you didn't think you could get free stuff from us just because your part of our guild now......";
+ close;
+L_Other:
+ mes "[Hunter Sharon]";
+ mes "What are YOU doing here? Did you come to do a little song and dance... ke.. keke....kekekeHahahahhaha!!!";
+ emotion 18;
+ close;
+
+}
+
+//Knight Check
+
+function script Kni_check {
+
+ if(BaseJob != Job_Swordman) goto L_NotSwo;
+ mes "Well then, first fill out this application form....";
+ next;
+ mes "...(you fill out the form and hand it back)...";
+ next;
+ mes "[Chivalry Captain Herman]";
+ if(JobLevel < 40) goto L_NotLvl;
+ mes "Impressive. You have the job qualifications to become a knight..., however you will need much more than that to actually become one.";
+ next;
+ return;
+
+ L_NotLvl:
+ mes "Hmm...it looks like you have not reached Job Level 40 yet. Please come back when you do. I shall be waiting here.";
+ close;
+ L_NotSwo:
+ if(BaseJob == Job_Knight) goto sL_JobKni;
+ if(BaseJob == Job_Novice) goto sL_JobNov;
+
+ sL_JobOther:
+ mes "I'm sorry but only Swordsmen can become Knights.";
+ close;
+
+ sL_JobKni:
+ mes "...(sighs)...what are you doing here WASTING my time?? GO FORTH!!, and continue protecting Rune Midgard my young Knight.";
+ emotion 32;
+ close;
+
+ sL_JobNov:
+ mes "Hahahaha!! You have no job experience what so ever and yet you stumble in here asking to be a knight. Hahahaha!!";
+ emotion 18;
+ next;
+ mes "[Chivalry Captain Herman]";
+ mes "You must first become a Swordsman before even thinking about becoming a Knight. Now scurry along little novice. Hahahahaha!!!";
+ close;
+
+
+}
+
+//Priest Check
+
+function script Pri_check {
+
+ if (BaseJob == Job_Novice) goto L_Novice;
+ if (BaseJob == Job_Priest) goto L_Priest;
+ mes "May God bless you my child.";
+ next;
+ mes "[Father Thomas]";
+ mes "Please feel free to rest, the church is the safest place in this world.";
+ next;
+ mes "[Father Thomas]";
+ mes "I hope God will bless you.";
+ return;
+
+L_Novice:
+ mes "May God bless you, child. This is the Prontera Church. What are you here for?";
+ next;
+ menu "I want to become an Acolyte.",M_0a, "I want to become a ^5533FFPriest^000000.",M_0b, "I'm just walking around.",M_0End;
+
+ M_0a:
+ mes "[Father Thomas]";
+ mes "Haha.. so you want to become an Acolyte eh? To apply to become an Acolyte, please go to the room opposite of here.";
+ close;
+ M_0b:
+ mes "[Father Thomas]";
+ mes "Haha...in order to become a priest you must first become an Acolyte. To become an Acolyte, go to the room opposite of here.";
+ close;
+ M_0End:
+ mes "[Father Thomas]";
+ mes "Please feel free to rest here. The church is a sanctuary for all those, who seek to escape the outside world.";
+ next;
+ mes "[Father Thomas]";
+ mes "May God be with you in your thoughts and prayers.";
+ close;
+
+L_Priest:
+ mes "God bless you, child. You are here again because you listened to God's orders.";
+ next;
+ mes "[Father Thomas]";
+ mes "I don't know if God's sons and daughters are going on the path of light or the path of darkness... I can only pray for the best.";
+ next;
+ mes "[Father Thomas]";
+ mes "So why are you here today?";
+ next;
+ menu "I just wanted to see how you were.",M_1a, "I'm here to help the Acolytes.",M_1b, "Life is really hard... I was wondering if you could help.",M_1End;
+
+ M_1a:
+ mes "[Father Thomas]";
+ mes "Oh, well I'm fine thank you. Please send my regards to all of the other Priests, and Priestess.";
+ next;
+ mes "[Father Thomas]";
+ mes "We, the ones who follow the devine path, are here for one reason.... to obey Gods orders.";
+ mes "If you come across anyone who needs help, please remember to assist them in any way you can...";
+ close;
+
+ M_1b:
+ mes "[Father Thomas]";
+ mes "Oh...thats a great idea! Since you're a priest, you can't forget that you have to help the Acolytes when they need it.";
+ emotion 5;
+ next;
+ mes "[Father Thomas]";
+ mes "Even so, you must be carefull not to do everyting for them. It is important that they gain their own experiences through training ";
+ next;
+ mes "[Father Thomas]";
+ mes "In order to go in and help you'll need a ^5533FFROSARY^000000.";
+ mes "There will be 3 trials for the Acolyte to face, but in only 2 of them will your assistance be needed.";
+ next;
+ mes "[Father Thomas]";
+ mes "Are you prepared to help?";
+ next;
+ menu "Yes, i will help them with all my might.",sM_1a, "I will come back later.",sM_1End;
+
+ sM_1a:
+ if (countitem(2608) < 1) goto sL_NoRosary;
+ mes "[Father Thomas]";
+ mes "Very well then. I will send you to an Acolyte in just a moment.";
+ next;
+ mes "[Father Thomas]";
+ mes "I hope you will also take this opportunity to teach them what it means to be a good Priest.";
+ next;
+ if((getareausers("job_prist.gat", 8, 34, 39,109)) == 1) warp "job_prist.gat", 24, 44;
+ if((getareausers("job_prist.gat", 160, 14, 175, 178)) == 1) warp "job_prist.gat", 98, 40;
+ if((getareausers("job_prist.gat", 90, 34, 105,105)) == 1) warp "job_prist.gat", 168, 17;
+ mes "[Father Thomas]";
+ mes "Hmm........ wait a minute..... let me check my list.... Either no one is taking the test right now, or another Priest is already helping out.";
+ mes "In any case please check with me again later.";
+ close;
+
+ sL_NoRosary:
+ mes "[Father Thomas]";
+ mes "Hmm... it doesn't look like you have a ^5533FFROSARY^000000 with you.";
+ next;
+ mes "[Father Thomas]";
+ mes "If you want to help the Acolytes, you must first get a ^5533FFROSARY^000000.";
+ mes "Please come back when you have one.";
+ close;
+ sM_1End:
+ mes "[Father Thomas]";
+ mes "Oh, alright. Just remember to bring a ^5533FFFROSARY^000000 when you come back.";
+ close;
+
+ M_1End:
+ mes "[Father Thomas]";
+ mes "Keep up the good work. I will ask God to ease your pain.";
+ next;
+ mes "[Father Thomas]";
+ mes "God, one of your children is suffering. Please use your powers, to heal the wounds on this battered body.....";
+ next;
+ mes "[Father Thomas]";
+ mes "Please look after us, so that under any condition we will be able to think clearly and maintain our faith";
+ percentheal 100,100;
+ next;
+ mes "[Father Thomas]";
+ mes "You should be feeling better now. Please stay on the path to rightousness and may God bless you.";
+ close;
+
+}
+
+//Wizard Checker 1
+
+function script Wiz1_check {
+
+ if(baseClass == Job_Mage) goto L_Magic;
+ if(baseClass == Job_Acolyte) goto L_Holy;
+L_Other:
+ mes "[Dog]";
+ mes "Sheesh....... Why would someone who can't even cast a single spell come all the way up here???";
+ next;
+ mes "[Dog]";
+ mes "If you're that bored, do the world a favor and climb to the top of this building from the outside, then do some acrobatics....";
+ emotion 32;
+ next;
+ mes "[Dog]";
+ mes "~WOOF~ Get lost! I don't have time for people like you!!";
+ emotion 27;
+ close;
+L_Holy:
+ mes "[Dog]";
+ mes "Eeek! What's a holy type person doing up here? I thought you people didn't like magic....";
+ mes "You religious types are always calling it the 'dark arts'......... ooooh scary!!!...... ~grrr!~WOOF!~";
+ close;
+L_Magic:
+ mes "[Dog]";
+ mes "Ah! High level magic users, welcome. It's always nice to see experienced magic users around here.";
+ mes "Actually it's nice to see them anywhere! ~Woof!~";
+ close;
+
+}
+
+function script Wiz2_check {
+
+ if(BaseJob == Job_Wizard) goto L_Wizard;
+ if(BaseJob == Job_Novice) goto L_Novice;
+
+L_Other:
+ mes "Hmm? What brings you all the way up here? If you have nothing to do here, please leave.";
+ mes "This place is for wizards only. =P";
+ next;
+ mes "[Catherine Medichi]";
+ mes "Try not to fall as you go back down....";
+ close;
+L_Novice:
+ mes "Awwww, a little novice! How cute! This place is for Wizards only though.";
+ emotion 14;
+ next;
+ mes "[Catherine Medichi]";
+ mes "If you're interested in magic, the ^0000FFMagician's Guild^000000 is the place for you.";
+ close;
+L_Wizard:
+ mes "What do you need fellow Wizard? If it's nothing, please leave...";
+ next;
+ mes "[Catherine Medichi]";
+ if(sex==1) mes "... Of course, if your here to ask me out... (*giggles*)....";
+ if(sex==0) mes "If you get yourself a boyfriend, feel free to drop by and show him off. XD";
+ emotion 3;
+ close;
+
+}
diff --git a/npc/jobs/Jfunc/Jfunc2-2.txt b/npc/jobs/Jfunc/Jfunc2-2.txt
new file mode 100644
index 000000000..64a2483be
--- /dev/null
+++ b/npc/jobs/Jfunc/Jfunc2-2.txt
@@ -0,0 +1,236 @@
+//===== eAthena Script =======================================
+//= Global Job Function
+//===== By: ==================================================
+//= massdriller
+//===== Current Version: =====================================
+//= 0.1
+//===== Compatible With: =====================================
+//= eAthena 1.0 +
+//===== Description: =========================================
+//= Optimised scripts by moving all their checkers here.
+//===== Additional Comments: =================================
+//= For 2-2 Job Quests
+//============================================================
+
+//Alchemist Check
+function script Alc_check {
+
+ if(BaseJob == Job_Alchem) goto L_Alch;
+ if(BaseJob == Job_Alchem || BaseJob == Job_Alchem) goto L_Other;
+ return;
+
+L_Other:
+ mes "Welcome to the Alchemist Union. Ah, I apologize but I'm busy right now.";
+ close;
+L_Alch:
+ mes "Hey there fellow Alchemist. How's the business going? Good I hope, well good luck to you.";
+ close;
+}
+
+//Rogue Questions
+function script RogQ_check {
+ savepoint "in_rogue.gat",366,114;
+ set @score, 0;
+ set ROGUE_Q, 1;
+ set @temp, rand(2);
+ if(@temp == 1) goto L_QSet2;
+
+ L_QSet1:
+ mes "[Markie]";
+ mes "1) What is the added flee rate that a Thief recieves when the ^5533FFImprove Dodge^000000 skill is ^5533FFmastered^000000?";
+ next;
+ menu "20",sM1_1, "30",-, "40",sM1_1, "160",sM1_1;
+
+ set @score, @score + 10;
+
+ sM1_1:
+
+ mes "[Markie]";
+ mes "2) Choose a monster that cannot detect a hidden or cloaked character?";
+ next;
+ menu "Mummy",sM1_2, "Worm Tail",-, "Argos",sM1_2, "Soldier Skeleton",sM1_2;
+
+ set @score, @score + 10;
+
+ sM1_2:
+
+ mes "[Markie]";
+ mes "3) Where is the Rogue guild located?";
+ next;
+ menu "Comodo",sM1_3, "Kokomo Beach",sM1_3, "Pharos Lightouse",-, "Morroc",sM1_3;
+
+ set @score, @score + 10;
+
+ sM1_3:
+
+ mes "[Markie]";
+ mes "4) In which of the following towns, can you become a Thief?";
+ next;
+ menu "Comodo",sM1_4, "Lutie",sM1_4, "Alberta",sM1_4, "Morroc",-;
+
+ set @score, @score + 10;
+
+ sM1_4:
+
+ mes "[Markie]";
+ mes "5) Choose the card that does ^FF3355not^000000 have an effect on a players ^5533FFDEX stat^000000...";
+ next;
+ menu "Rocker Card",sM1_5, "Mummy Card",-, "Zerom Card",sM1_5, "Drops",sM1_5;
+
+ set @score, @score + 10;
+
+ sM1_5:
+
+ mes "[Markie]";
+ mes "6) What do you think is cool about being a Rogue?";
+ next;
+ menu "Being a bad ass",sM1_6, "Being a hypocrite",sM1_6, "Being shameless",sM1_6, "Having excellent attack strength",-;
+
+ set @score, @score + 10;
+
+ sM1_6:
+
+ mes "[Markie]";
+ mes "7) At what job level can you change from a Thief to a Rogue?";
+ next;
+ menu "At job lvl 30",sM1_7, "At job lvl 35",sM1_7, "At job lvl 40",-, "At job lvl 50",-;
+
+ set @score, @score + 10;
+
+ sM1_7:
+
+ mes "[Markie]";
+ mes "8) If you wanted to dye your hair a different color, where would you have to go to do that?";
+ next;
+ menu "Building in SouthWestern part of Morroc",sM1_8, "Building in SouthWestern part of Prontera",-,
+ "Building in SouthEastern part of Morroc",sM1_8, "Building in NorthEastern part of Prontera",sM1_8;
+
+ set @score, @score + 10;
+
+ sM1_8:
+
+ mes "[Markie]";
+ mes "9) What mushrooms do you need to steal in order to become a Thief?";
+ next;
+ menu "Orange Gooey Mushrooms",-, "Red Hairy Mushrooms",sM1_9, "Orange Net Mushrooms",-, "Orange Sticky Mushrooms",sM1_9;
+
+ set @score, @score + 10;
+
+ sM1_9:
+
+ mes "[Markie]";
+ mes "10) Which of these cards is ^FF3355useless^000000 to a Rogue?";
+ next;
+ menu "Whisper Card",sM1_10, "Elder Willow Card",-, "Zerom Card",sM1_10, "Matyr Card",sM1_10;
+
+ set @score, @score + 10;
+
+ sM1_10:
+ goto L_Score;
+
+
+ L_QSet2:
+ mes "[Markie]";
+ mes "1) What skill do you need to learn before you can learn ^5533FFTunnel Drive^000000?";
+ next;
+ menu "Hiding",-, "Steal",sM2_1, "Improve Dodge",sM2_1, "Bash",sM2_1;
+
+ set @score, @score + 10;
+
+ sM2_1:
+
+ mes "[Markie]";
+ mes "2) How much more of a discount can a Rogue get with the ^5533FFHaggel^000000 skill than a merchant can with the ^5533FFDiscount^000000 skill?";
+ next;
+ menu "3%",sM2_2, "2%",sM2_2, "1%",-, "0%",sM2_2;
+
+ set @score, @score + 10;
+
+ sM2_2:
+
+ mes "[Markie]";
+ mes "3) What is the correct description for the skill ^5533FFMug^000000?";
+ next;
+ menu "Steal Items from players",sM2_3, "Steal Items from monsters",sM2_3, "Steal Zeny from monsters",-, "Steal Zeny from players",sM2_3;
+
+ set @score, @score + 10;
+
+ sM2_3:
+
+ mes "[Markie]";
+ mes "4) How many Rogues are required to activate the skill ^5533FFGangster's Paradise^000000?";
+ next;
+ menu "1 Rogue + 2 Assassins",sM2_4, "2 Rogues + 1 Thief",sM2_4, "4 Thieves",sM2_4, "2 or more Rogues",-;
+
+ set @score, @score + 10;
+
+ sM2_4:
+
+ mes "[Markie]";
+ mes "5) After increasing ^5533FFDivest Helm^000000 to level 5, what other skill becomes available for you learn?";
+ next;
+ menu "Envenom",sM2_5, "Strip Tease",sM2_5, "Venom Splasher",sM2_5, "Divest Shield",-;
+
+ set @score, @score + 10;
+
+ sM2_5:
+
+ mes "[Markie]";
+ mes "6) Choose a skill that allows its user to move while being hidden?";
+ next;
+ menu "Hiding",sM2_6, "Back Slide",sM2_6, "Tunnel Drive",-, "Sand Attack",sM2_6;
+
+ set @score, @score + 10;
+
+ sM2_6:
+
+ mes "[Markie]";
+ mes "7) Choose the card that increases the ^5533FFaccuracy rate^000000 of its owner?";
+ next;
+ menu "Andre",sM2_7, "Familiar",sM2_7, "Mummy",-, "Marina",sM2_7;
+
+ set @score, @score + 10;
+
+ sM2_7:
+
+ mes "[Markie]";
+ mes "8) Choose the monster that receives more damage when attacked by a weapon with a Vadon card attached to it?";
+ mes "(Vadon card inflicts 20% more damage to fire property monsters)";
+ next;
+ menu "Vadon",sM2_8, "Deviruchi",sM2_8, "Elder Willow",-, "Baphomet",sM2_8;
+
+ set @score, @score + 10;
+
+ sM2_8:
+
+ mes "[Markie]";
+ mes "9) How much SP does the ^5533FFDouble Attack^000000 skill require when used with a dagger?";
+ next;
+ menu "15 SP",sM2_9, "No SP needed",-, "10 SP",sM2_9, "54 SP",sM2_9;
+
+ set @score, @score + 10;
+
+ sM2_9:
+
+ mes "[Markie]";
+ mes "10) Choose an effective dagger to use in the Byalan Dungeon?";
+ next;
+ menu "Wind Main-Gauche",-, "Ice Main-Gauche",sM2_10, "Earth Main-Gauche",sM2_10, "Fire Main-Gauche",sM2_10;
+
+ set @score, @score + 10;
+
+ sM2_10:
+
+
+ L_Score:
+ mes "[Markie]";
+ mes "Okay, those are all of the questions I have. Now that wasn't so bad was it sweetie?";
+ mes "I hope you don't mind, but I've been grading your answers.";
+ next;
+ mes "[Markie]";
+ mes "I like to give people scores on their interviews so that they can know how well they did.";
+ mes "It looks like you got a ^FF3355" + @score +"^000000/100............";
+ next;
+ mes "[Markie]";
+ return;
+}
diff --git a/npc/jobs/novice/NEWnovice.txt b/npc/jobs/novice/NEWnovice.txt
new file mode 100644
index 000000000..0d089b5a5
--- /dev/null
+++ b/npc/jobs/novice/NEWnovice.txt
@@ -0,0 +1,1621 @@
+//===== eAthena Script =======================================
+//= New Official Novice Training Grounds
+//===== By: ==================================================
+//= eAthena Dev Team
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena SVN 1695+
+//===== Description: =========================================
+//= Incomplete
+//===== Additional Comments: =================================
+//= Taken From MRO. Took Parts from IRO Script, thanks to
+//= DracoRPG & Riotblade
+//============================================================
+
+////////////////////////////////////////////////////////////////
+// Maps These NPCs Are duplicated
+////////////////////////////////////////////////////////////////
+// new_1-1.gat || new_1-2.gat || new_1-3.gat || new_1-4.gat
+// new_2-1.gat || new_2-2.gat || new_2-3.gat || new_2-4.gat
+// new_3-1.gat || new_3-2.gat || new_3-3.gat || new_3-4.gat
+// new_4-1.gat || new_4-2.gat || new_4-3.gat || new_4-4.gat
+// new_5-1.gat || new_5-2.gat || new_5-3.gat || new_5-4.gat
+//
+////////////////////////////////////////////////////////////////
+// Main Variables Involved //
+////////////////////////////////////////////////////////////////
+// //
+// novarea,<Var> = Area Warp Check // Area Warp Check //
+// xien_F = Xi En // Quest Complete Variable //
+// chris_F = Interface Instructor // Quest Complete Variable //
+// saixi_F = Skill instructor // Quest Complete Variable //
+// Npc_chris = Chris // NPC Check Variable //
+// Npc_alice = Alice // NPC Check Variable //
+// Npc_saixi = saixi // NPC Check Variable //
+// //
+////////////////////////////////////////////////////////////////
+
+//Area 1,2,3,4 or 5
+new_1-1.gat,0,0,0 script PCLoginEvent -1,{
+
+//check layer1
+ if(novicegro == 1)end;
+ if((getmapusers("new_1-1.gat") + getmapusers("new_1-2.gat") + getmapusers("new_1-3.at") + getmapusers("new_1-4.gat") + getmapusers("new_1-5.gat")) < 1) goto check1;
+ if((getmapusers("new_2-1.gat") + getmapusers("new_2-2.gat") + getmapusers("new_2-3.at") + getmapusers("new_2-4.gat") + getmapusers("new_2-5.gat")) < 1) goto check2;
+ if((getmapusers("new_3-1.gat") + getmapusers("new_3-2.gat") + getmapusers("new_3-3.at") + getmapusers("new_3-4.gat") + getmapusers("new_3-5.gat")) < 1) goto check3;
+ if((getmapusers("new_4-1.gat") + getmapusers("new_4-2.gat") + getmapusers("new_4-3.at") + getmapusers("new_4-4.gat") + getmapusers("new_4-5.gat")) < 1) goto check4;
+ if((getmapusers("new_5-1.gat") + getmapusers("new_5-2.gat") + getmapusers("new_5-3.at") + getmapusers("new_5-4.gat") + getmapusers("new_5-5.gat")) < 1) goto check5;
+//check layer2
+ if((getmapusers("new_1-1.gat") + getmapusers("new_1-2.gat") + getmapusers("new_1-3.at") + getmapusers("new_1-4.gat") + getmapusers("new_1-5.gat")) < 2) goto check1;
+ if((getmapusers("new_2-1.gat") + getmapusers("new_2-2.gat") + getmapusers("new_2-3.at") + getmapusers("new_2-4.gat") + getmapusers("new_2-5.gat")) < 2) goto check2;
+ if((getmapusers("new_3-1.gat") + getmapusers("new_3-2.gat") + getmapusers("new_3-3.at") + getmapusers("new_3-4.gat") + getmapusers("new_3-5.gat")) < 2) goto check3;
+ if((getmapusers("new_4-1.gat") + getmapusers("new_4-2.gat") + getmapusers("new_4-3.at") + getmapusers("new_4-4.gat") + getmapusers("new_4-5.gat")) < 2) goto check4;
+ if((getmapusers("new_5-1.gat") + getmapusers("new_5-2.gat") + getmapusers("new_5-3.at") + getmapusers("new_5-4.gat") + getmapusers("new_5-5.gat")) < 2) goto check5;
+//check layer3
+ if((getmapusers("new_1-1.gat") + getmapusers("new_1-2.gat") + getmapusers("new_1-3.at") + getmapusers("new_1-4.gat") + getmapusers("new_1-5.gat")) < 3) goto check1;
+ if((getmapusers("new_2-1.gat") + getmapusers("new_2-2.gat") + getmapusers("new_2-3.at") + getmapusers("new_2-4.gat") + getmapusers("new_2-5.gat")) < 3) goto check2;
+ if((getmapusers("new_3-1.gat") + getmapusers("new_3-2.gat") + getmapusers("new_3-3.at") + getmapusers("new_3-4.gat") + getmapusers("new_3-5.gat")) < 3) goto check3;
+ if((getmapusers("new_4-1.gat") + getmapusers("new_4-2.gat") + getmapusers("new_4-3.at") + getmapusers("new_4-4.gat") + getmapusers("new_4-5.gat")) < 3) goto check4;
+ if((getmapusers("new_5-1.gat") + getmapusers("new_5-2.gat") + getmapusers("new_5-3.at") + getmapusers("new_5-4.gat") + getmapusers("new_5-5.gat")) < 3) goto check5;
+//check layer4
+ if((getmapusers("new_1-1.gat") + getmapusers("new_1-2.gat") + getmapusers("new_1-3.at") + getmapusers("new_1-4.gat") + getmapusers("new_1-5.gat")) < 4) goto check1;
+ if((getmapusers("new_2-1.gat") + getmapusers("new_2-2.gat") + getmapusers("new_2-3.at") + getmapusers("new_2-4.gat") + getmapusers("new_2-5.gat")) < 4) goto check2;
+ if((getmapusers("new_3-1.gat") + getmapusers("new_3-2.gat") + getmapusers("new_3-3.at") + getmapusers("new_3-4.gat") + getmapusers("new_3-5.gat")) < 4) goto check3;
+ if((getmapusers("new_4-1.gat") + getmapusers("new_4-2.gat") + getmapusers("new_4-3.at") + getmapusers("new_4-4.gat") + getmapusers("new_4-5.gat")) < 4) goto check4;
+ if((getmapusers("new_5-1.gat") + getmapusers("new_5-2.gat") + getmapusers("new_5-3.at") + getmapusers("new_5-4.gat") + getmapusers("new_5-5.gat")) < 4) goto check5;
+//check layet5
+ if((getmapusers("new_1-1.gat") + getmapusers("new_1-2.gat") + getmapusers("new_1-3.at") + getmapusers("new_1-4.gat") + getmapusers("new_1-5.gat")) < 5) goto check1;
+ if((getmapusers("new_2-1.gat") + getmapusers("new_2-2.gat") + getmapusers("new_2-3.at") + getmapusers("new_2-4.gat") + getmapusers("new_2-5.gat")) < 5) goto check2;
+ if((getmapusers("new_3-1.gat") + getmapusers("new_3-2.gat") + getmapusers("new_3-3.at") + getmapusers("new_3-4.gat") + getmapusers("new_3-5.gat")) < 5) goto check3;
+ if((getmapusers("new_4-1.gat") + getmapusers("new_4-2.gat") + getmapusers("new_4-3.at") + getmapusers("new_4-4.gat") + getmapusers("new_4-5.gat")) < 5) goto check4;
+ if((getmapusers("new_5-1.gat") + getmapusers("new_5-2.gat") + getmapusers("new_5-3.at") + getmapusers("new_5-4.gat") + getmapusers("new_5-5.gat")) < 5) goto check5;
+ return;
+
+
+check1:
+ savepoint "new_1-1.gat",53,111;
+ warp "new_1-1.gat",53,111;
+ set novicegro,1;
+ set novarea,1;
+ end;
+
+check2:
+ savepoint "new_2-1.gat",53,111;
+ warp "new_2-1.gat",53,111;
+ set novicegro,1;
+ set novarea,2;
+ end;
+
+check3:
+ savepoint "new_3-1.gat",53,111;
+ warp "new_3-1.gat",53,111;
+ set novicegro,1;
+ set novarea,3;
+ end;
+
+check4:
+ savepoint "new_4-1.gat",53,111;
+ warp "new_4-1.gat",53,111;
+ set novicegro,1;
+ set novarea,4;
+ end;
+
+check5:
+ savepoint "new_5-1.gat",53,111;
+ warp "new_5-1.gat",53,111;
+ set novicegro,1;
+ set novarea,5;
+ end;
+
+}
+
+//Xi En, the greeter in the Novice Training Grounds
+new_1-1.gat,54,113,5 script Xi En#npc1-1::XiEn 727,{
+
+
+ mes "[Xi En]";
+ if( xien_F >= 1 )goto Int_talked;
+ if( Int_1 >= 2 )goto Int_talked2;
+ if( xi_01 == 1 )goto N_happy;
+ mes "Uh? Oh! A newbie?";
+ mes "Wow! Welcome to this world";
+ mes "Let's see, your name is..";
+ mes ""+ strcharinfo(0) +" .....";
+ mes "Nice to meet you,";
+ mes "Novice.";
+ next;
+ mes "[Xi En]";
+ mes "It's faith that let us meet each other.";
+ mes "So, what can i do to help you?";
+ mes "For example, hot to move?";
+ mes "Or where should you go?";
+ mes "Do you have anything to ask me?";
+ next;
+ menu "Where should I go?", Q_go,"Please teach me the basic operation",T_oper,"Who are you?",Q_who;
+
+Q_go:
+ mes "[Xi En]";
+ mes "Go to the right and you will come";
+ mes "to a river.";
+ mes "Do you see the bridge on the river?";
+ mes "It's a wooden bridge,";
+ mes "and it's very old.";
+ mes "After you have crossed the bridge,";
+ mes "you will come to a castle. Enter it.";
+ next;
+ mes "[Xi En]";
+ mes "The entrance of the building is a";
+ mes "small";
+ mes "^3300CCSwirling pool of bright light.^000000";
+ mes "It is a teleporter that links two different space.";
+ mes "You will need it to go to other places";
+ next;
+ mes "[Xi En]";
+ mes "Oh, do you know how to move around?";
+ mes "It's just like trying to talk to me";
+ mes "you just need to left click the mouse";
+ mes "on the location that you wish to move, isn't that easy?";
+ next;
+ mes "[Xi En]";
+ mes "Hmm, so";
+ mes "the castle of the right is training ground";
+ mes "specially made for Novice like you.";
+ mes "So you better go to that place.";
+ next;
+ mes "[Xi En]";
+ mes "There will be a guide soldier at";
+ mes "the entrance.";
+ mes "So, you won't need to worry that you'll get lost.";
+ mes "Hehe...";
+ set Int_1,2;
+ close;
+
+N_happy:
+ mes "Hey, that boastful one over there,";
+ mes "do you have anything else to do?";
+ mes "Hah, don't be too angry.";
+ mes "You will forget what to do if you get too angry.";
+ mes "What can i do to help you?";
+ next;
+ mes "[Xi En]";
+ mes "I am not asking you to leave. I";
+ mes "just want you to go to the Training";
+ mes "Ground";
+ mes "and take a look. How about that?";
+ mes "You just need to cross the bridge at your right,";
+ mes "and enter that big castle over there.";
+ mes "There'll be someone explaining the";
+ mes "situation to you after you've entered the castle";
+ next;
+ mes "[Xi En]";
+ mes "Oh, if you can't see the entrance,";
+ mes "right click the mouse";
+ mes "and drag it to the left or right.";
+ mes "Then, you will be able to see the part covered by it.";
+ next;
+ mes "[Xi En]";
+ mes "Well then, farewell!!";
+ mes "";
+ mes "And you should also learn";
+ mes "how to treat a beautiful lady like me, lad";
+ mes "This is a present for you.";
+ atcommand strcharinfo(0) + "@baselvlup 1";
+ set xien_F,1;
+ close;
+
+Q_who:
+ mes "[Xi En]";
+ mes "Huh? Me? I'm Xi En!";
+ mes "How rude of you.";
+ mes "I just work as volunteer here....";
+ mes "How can you talk like that?";
+ set xi_01,1;
+ close;
+
+Int_talked:
+ mes "The Training Ground for Novice";
+ mes "can be seen after you have cross";
+ mes "the bridge at the right.";
+ mes "Go for your training now!";
+ mes "Although it might be a little bit";
+ mes "boring,";
+ mes "you won't regret that you have";
+ mes "participated it.";
+ close;
+
+Int_talked2:
+ mes "Huh? Why are you still standing there?";
+ mes "Haha...";
+ mes "If you go to the Training Ground,";
+ mes "you'll be able to learn a lot of";
+ mes "things,";
+ mes "and on top of that,";
+ mes "you will be able to obtain a lot of money and items.";
+ next;
+ mes "[Xi En]";
+ mes "Your experience level will also increase as well";
+ atcommand strcharinfo(0) + "@baselvlup 1";
+ next;
+ mes "[Xi En]";
+ mes "Although it might be boring,";
+ mes "it's foundation for you to be";
+ mes "strong in the future.";
+ mes "So, learn it now!";
+ mes "And learn to interact with other people well!";
+ set xien_F,1;
+ set int_talked,0;
+ close;
+
+Warped:
+ mes "[Xi En]";
+ mes "Hm...?";
+ mes "What are you";
+ mes "still doing here?";
+ mes "Oh, you used a ^000077Butterfly Wing,^000000";
+ mes "didn't you?";
+ next;
+ mes "[Xi En]";
+ mes "No, no, no~";
+ mes "You're supposed to use the Butterfly Wing when you want to go back to a town ^777777after^000000 completing your training here, all right?";
+ next;
+ mes "[Xi En]";
+ mes "Now, let me send";
+ mes "you back to the";
+ mes "Training Grounds.";
+ next;
+ callfunc "warpcheck1";
+ end;
+
+T_oper:
+ mes "[Xi En]";
+ mes "User Interface...";
+ mes "Do you know the concept of clickm double click and drag?";
+ mes "Click meaning";
+ mes "click on the mouse for one time.";
+ mes "If you click continuously twice, it's known as double click.";
+ close;
+
+}
+
+//Guards at the start of the grounds
+new_1-1.gat,144,116,5 script Guard#npc2-1::Guard 105,{
+
+ mes "[Training Grounds Guard]";
+ mes "Good day! Please come in~ Welcome to the Novice Training Grounds!";
+ mes "When you enter the castle, you will first come to the Novice Training Grounds.";
+ close;
+
+}
+
+new_1-1.gat,144,110,5 script Guard#npc3-1::Guard 105,{
+
+ mes "[Training Grounds Guard]";
+ mes "Go! Newbie! Go! I encourage you to take the challenge for a bright future!";
+ close;
+
+}
+
+//Usher Part Of script
+new_1-2.gat,100,29,5 script Registration Staff#npc4-1::regnpc 56,{
+
+ mes "[Novice Training Ground Registration Staff]";
+ mes "Welcome!";
+ mes "You are at the entrance of the ^000077Training Grounds.^000000";
+ mes "If you're new in this Ragnarok World, please choose the";
+ mes "^000077Training Grounds Introduction^000000 menu for more information.";
+ next;
+ menu "Apply for training",C_train, "Direct Access to Ragnarok Online", C_direct, "^000077Training Grounds Introduction^000000",C_intro, "Need a moment to think", C_later;
+
+MM_2:
+ menu "Apply for training",C_train, "Direct Access to Ragnarok Online", C_direct, "^000077Training Grounds Introduction^000000",C_intro, "Need a moment to think", C_later;
+
+C_train:
+ mes "[Novice Training Ground Staff]";
+ mes "Your application has been successfully approved.";
+ mes "For detailed information of each";
+ mes "training course, please inquire at the guide on the course";
+ next;
+ mes "[Novice Training Ground Registration Staff]";
+ mes "We will be providing you with 50 Zeny as support. When you have some";
+ set Zeny,Zeny+50;
+ mes "questions about the process of training course, feel free to ask the guide at the center of the hall";
+ mes "Now, you will be transferred to the training grounds";
+ next;
+ callfunc "warpcheck1";
+ close;
+
+C_direct:
+ mes "[Novice Training Ground Registration Staff]";
+ mes "I understand.";
+ mes "Please do your";
+ mes "best, and I wish you";
+ mes "the best of luck!";
+ next;
+ set @TEMP,rand(6);
+ if (@TEMP == 0) callsub M2_S1;
+ if (@TEMP == 0) callsub M2_S2;
+ if (@TEMP == 0) callsub M2_S3;
+ if (@TEMP == 0) callsub M2_S4;
+ if (@TEMP == 0) callsub M2_S5;
+ if (@TEMP == 0) callsub M2_S6;
+ end;
+
+ M2_S1:
+ savepoint "prontera.gat",273,354;
+ warp "prontera.gat",273,354;
+ return;
+
+ M2_S2:
+ savepoint "morocc.gat",160,94;
+ warp "morocc.gat",160,94;
+ return;
+
+ M2_S3:
+ savepoint "geffen.gat",120,100;
+ warp "geffen.gat",120,100;
+ return;
+
+ M2_S4:
+ savepoint "payon.gat",87,117;
+ warp "payon.gat",87,117;
+ return;
+
+ M2_S5:
+ savepoint "alberta.gat",116,57;
+ warp "alberta.gat",116,57;
+ return;
+
+ M2_S6:
+ savepoint "izlude.gat",94,103;
+ warp "izlude.gat",94,103;
+ return;
+
+C_intro:
+ mes "[Novice Training Ground Registration Staff]";
+ mes "This training grounds was established in order to provide useful information to new players in Ragnarok Online by the Rune-Midgarts Kingdom's Board of Education.";
+ next;
+ mes "[Novice Training Ground Registration Staff]";
+ mes "The training course is organized into two parts: the Basic Knowledge classes, and Field Combat training.";
+ next;
+ mes "[Novice Training Ground Registration Staff]";
+ mes "Through the first course, players will learn the necessary knowledge for a smoother gaming experience.";
+ next;
+ mes "[Novice Training Ground Registration Staff]";
+ mes "In Field Combat Training, players will engage in actual battle with weak monsters so they can learn the basics of fighting.";
+ next;
+ mes "[Novice Training Ground Registration Staff]";
+ mes "With this battle practice,";
+ mes "players will be able to gain more experience before they enter the real world.";
+ next;
+ mes "[Novice Training Ground Registration Staff]";
+ mes "At the end of the training, we will provide an introduction to the 1st Job Classes. This will help players decide which job class is best for them.";
+ next;
+ mes "[Novice Training Ground Registration Staff]";
+ mes "If you wish to participate in the training grounds, please choose '^000077Apply for training^000000' in the";
+ mes "menu.";
+ next;
+ mes "[Novice Training Ground Registration Staff]";
+ mes "Otherwise, if you want to skip the basic training and immediately enter the world of Ragnarok Online, please choose '^000077Direct access to Ragnarok Online.'^000000";
+ next;
+ goto MM_2;
+
+C_later:
+ mes "[Training Ground Receptionist]";
+ mes "I understand.";
+ mes "Please, take your time.";
+ close;
+}
+
+//Inside The Grounds (Area 4)
+
+new_1-2.gat,100,104,5 script Interface Instructor#npc5-1::internpc 751,{
+
+ mes "[Instructor Chris]";
+ if (Chris_1 == 1)goto T_1;
+ mes "Nice to meet you. Can i see you";
+ mes "study pass?";
+ next;
+ mes "[Instructor Chris]";
+ mes "Ok, confirmation completed.";
+ mes "I will introduce you to the basic concepts of";
+ mes "interface and ways of operating it";
+ mes "However, this is not an mandatory course. Therefore,";
+ mes "you can choose to skip this course if you think it is not necessary";
+ next;
+ menu "Learn explanation to interface operation",L_interface,"Hate Theory, I want a real battle",G_battle,"Cancel",L_end;
+
+L_interface:
+ mes "[Instructor Chris]";
+ mes "Although the location of the window";
+ mes "can be changed by dragging it,";
+ mes "we will use the initial location of the window";
+ mes "for the convenience of explanation.";
+ next;
+ mes "[Instructor Chris]";
+ mes "So, look at the upper part of your screen.";
+ mes "You'll find your name and level displayed in that window.";
+ mes "you can also know the amount of your experience.";
+ mes "This window is known as the basic information window of the character";
+ next;
+ mes "[Instructor Chris]";
+ mes "We are going to increase your experience points now.";
+ mes "Please pay attention to the changes of experience bar in the";
+ mes "basic information window.";
+ mes "Do you see that.?";
+ atcommand strcharinfo(0) + "@baselvlup 1";
+ mes "Besides that....";
+ next;
+ mes "[Instructor Chris]";
+ mes "You can use the option of the basic information window";
+ mes "or form party.";
+ mes "The second experience bar refers to the job experience.";
+ mes "000077In order to use a skill, you need to obtain skill points through leveling up your job level.^000000";
+ next;
+ mes "[Instructor Chris]";
+ mes "The window on the lower left is the Chat window.";
+ mes "Your chat content will be replaced by the new content from time to time.";
+ mes "You can also use the button at the right to change the chat mode";
+ mes "to public channel, party channel or guild channel...";
+ mes "The chat window is always in the";
+ mes "active mode in order to make chat with other players";
+ mes "more convenient";
+ next;
+ mes "There is a mini map window shown at the upper right";
+ mes "The mini map window will indicate";
+ mes "your current location and the location of";
+ mes "your party member and guild member";
+ mes "Besides that, when you're in a city or field,";
+ mes "000077the red point will be the entrance/exit^000000 of the map.";
+ mes "Please make use of it.";
+ next;
+ mes "[Instructor Chris]";
+ mes "Besides that, please turn on every";
+ mes "option in the basic information window.";
+ mes "You will be able to open the item window, Equipment Window and skill window";
+ next;
+ atcommand strcharinfo(0) + "@joblvlup 1";
+ mes "[Instructor Chris]";
+ mes "I hope that I have made a bried yet clear explanation to you.";
+ mes "I hope you won't feel bored of it";
+ mes "Here are some experience for you.";
+ mes "We will be giving the job experience this time.";
+ mes "Please open your skill window,";
+ mes "and try to upgrade your basic skill";
+ next;
+ mes "[Instructor Chris]";
+ mes "The support lecturer Edwin";
+ mes "will make a more advanced explaination to you.";
+ mes "If you want to know about the details, talk to him.";
+ mes "Besides that, this is a gift for you";
+ getitem 2352,1;
+ set Chris_1,1;
+ set chris_F,1;
+ close;
+
+T_1:
+ mes "[Instructor Chris]";
+ mes "Is there anything that i can help you?";
+ mes "Let us see your study pass.";
+if (Npc_saixi < 1) goto C_saixi;
+if (Npc_alice < 1) goto C_alice;
+ mes "Looks like you have finished everything.";
+ mes "We're sending you to the battleground now.";
+ mes "If you have anything that you don't understand,";
+ mes "please come back again.";
+ next;
+ callfunc "warpcheck2";
+ close;
+
+C_saixi:
+ mes "Hmm?";
+ mes "You still haven't taken the skill course.";
+ mes "Please go this way up to find the skill instructor";
+ next;
+ menu "Thank You",W_saixi,"I hate Theory Classes",G_battle,"Cancel",C_end;
+
+C_alice:
+ mes "Hmm?";
+ mes "You still haven't taken the item course.";
+ mes "Please go this way up to find the item instructor";
+ next;
+ menu "Thank You",W_alice,"I hate Theory Classes",G_battle,"Cancel",C_end;
+
+W_saixi:
+ mes "[Instructor Chris]";
+ mes "If you study the use of skill carefully,";
+ mes "You will be able to learn some useful skills.";
+ mes "Therefore, it's advised that you take it.";
+ mes "Ok? Now, find the Skill Instructor.";
+ mes "I'll send you there with the service";
+ next;
+ callfunc "warpcheck5";
+ close;
+
+W_alice:
+ mes "[Instructor Chris]";
+ mes "If you study the use of items carefully,";
+ mes "You will be able to get some useful items";
+ mes "Therefore, it's advised that you take it.";
+ mes "Ok? Now, find the Item Instructor.";
+ mes "I'll send you there with the service";
+ next;
+ callfunc "warpcheck3";
+ close;
+
+G_battle:
+ mes "[Instructor Chris]";
+ mes "We're sending you to the battleground now.";
+ mes "If you have anything that you don't understand,";
+ mes "please come back again.";
+ callfunc "warpcheck4";
+ close;
+
+}
+
+// Item Instructor
+new_1-2.gat,116,110,5 script Item Instructor#npc6-1::itemnpc 726,{
+
+ mes "[Instructor Alice]";
+ if(Alice_F == 1) goto T_2;
+ mes "Huh? So boring!";
+ mes "Hmm? Ah? Are you a new comer?";
+ mes "Do you want to take the item Course?";
+ next;
+ menu "Ah, yes, yes. Item Test!",T_1,"No, I want direct access", D_access, "Where is the village?", W_village;
+
+T_1:
+ mes "[Instructor Alice]";
+ mes "I will make it quick so you won't be bored.";
+ mes "Firstly, open the Basic Information Window.";
+ mes "Choose the item button in the basic information window";
+ mes "to open the item window.";
+ mes "There are 3 categories in the window, including item, Equipment and Misc. Items";
+ next;
+ getitem 569,1;
+ mes "[Instructor Alice]";
+ mes "Try and choose the item category now.";
+ mes "I have given you a Novice Potion.";
+ mes "Try abd double click the potion";
+ mes "with your mouse in order to use it";
+ next;
+ mes "[Instructor Alice]";
+ mes "Try and double click it with your mouse.";
+ mes "Now, the equipment.";
+ next;
+ getitem 5055,1;
+ getitem 2415,1;
+ mes "[Instructor Alice]";
+ mes "Now, change the tab to the Equipment category.";
+ mes "This category will display";
+ mes "all the equipment that you can equip";
+ mes "I'll give you an equipment. Try it out.";
+ mes "Firstly, let's start from the Novice Boots.";
+ next;
+ mes "[Instructor Alice]";
+ mes "Double click the item and try it out";
+ mes "This can be implemented on other items too.";
+ next;
+ mes "[Instructor Alice]";
+ mes "Now do you want to try out the F12 button?";
+ mes "There will be a small window of 9 columns.";
+ mes "This window is known as the shortcut bar.";
+ mes "You can drag items such as item, skill and equipment to the shortcut bar.";
+ next;
+ mes "[Instructor Alice]";
+ atcommand strcharinfo(0) + "@joblvlup 1";
+ mes "Every column has a relevant shortcut key ranging from F1 to F9.";
+ mes "Use these shortcut bar wisely.";
+ mes "When you take the skill course,";
+ mes "you must have learned the First Aid skill, right?";
+ mes "Put it in the shortcut bar and have a try.";
+ next;
+ mes "[Instructor Alice]";
+ mes "Do you understand?";
+ mes "You need to possess skill point if";
+ mes "you wanted to use a skill.";
+ mes "However, basic skills are passive";
+ mes "skill and cannot be placed in the";
+ mes "shortcut bar";
+ next;
+ mes "[Instructor Alice]";
+ mes "A course that is easy and filled with content.";
+ mes "The class of Items shall end here.";
+ mes "Finally, let me give you two useful items.";
+ mes "However, please do not use Wing of Fly and";
+ mes "Wing of Butterfly here.";
+ mes "I won't take the responsibility if you get lost here";
+ next;
+ mes "[Instructor Alice]";
+ mes "Finally, this is ...";
+ mes "some job experience so that you can";
+ mes "perform job upgrade soon!";
+ mes "Thank you for taking my class";
+ set alice_F,1;
+ next;
+ menu "What should i do now?",G_check,"Let's Start the battle! The real Battle!",G_battle,"Cancel",G_cancel;
+
+G_cancel:
+ mes "[Instructor Alice]";
+ mes "Oh. Ok. If you want anything just ask.";
+ close;
+
+G_check:
+ mes "[Instructor Alice]";
+ mes "If there's anyone that you haven't talk to,";
+ mes "go and find them. Although they are not as";
+ mes "good as I am, they still provide some help.";
+ mes "If you felt bored, you can go around for some exploring.";
+ next;
+ mes "[Instructor Alice]";
+ mes "Maybe, you will come and meet some";
+ mes "support instructors,";
+ mes "or find some some hidden items.";
+ mes "Well then,farewell.";
+ mes "If you wanted to go to anywhere else,";
+ mes "find out from the people nearby";
+
+G_battle:
+ mes "[Instructor Alice]";
+ mes "We're sending you to the battleground now.";
+ mes "If you have anything that you don't understand,";
+ mes "please come back again.";
+ next;
+ callfunc "warpcheck2";
+ close;
+
+T_2:
+ mes "[Instructor Alice]";
+ mes "Is there anything that i can help?";
+ mes "It looks like you haven't taken the";
+ mes "course of interface.";
+ mes "Chris must be very sad";
+ mes "Don't you want to meet instructor Chris?";
+ next;
+ mes "[Instructor Alice]";
+ mes "If you want to go to the village,";
+ mes "talk to the Kapra Staff over there.";
+ mes "No matter it's Prontera, Morroc or payon...";
+ mes "she will send you to wherever you want";
+ close;
+
+}
+
+//Kafra Service Staff
+
+new_1-2.gat,118,108,5 script Kafra Service Staff#npc7-1::kafnpc 115,{
+
+ mes "[Kafra Service Staff]";
+ mes "Good day!";
+ mes "I am Kafra Staff who is sent";
+ mes "by the Kafra Corp. to serve the Novice.";
+ mes "We, the Kafra Corp. is responsible for the flow of";
+ mes "items on this continent.";
+ mes "Therefore, we hope that you will always";
+ mes "use the the service of Kafra Corp.";
+ next;
+ mes "[Kafra Service Staff]";
+ mes "No matter what time or what place,";
+ mes "Kapra will always be at your service.";
+ mes "What can i do fot you?";
+ next;
+ mes "[Kapra Service Staff]";
+ mes "Let me remind you if you want to use the service of Teleport.";
+ mes "If you want to move to the village, you will not be able to ";
+ mes "return to the Novice Training Ground.";
+ mes "Please consider it carefully";
+ next;
+ menu "Teleport Service",S_teleport,"Ask about Kafra Service",Q_service;
+
+Q_service:
+ mes "I will explain to you the services provided by the Kafra Corp.";
+ mes "Please choose the service that you wish to know about.";
+ next;
+ menu "Save",Q_save,"Storage Service",Q_storage, "Teleport Service",Q_teleport, "Cart Service",Q_cart, "Cancel",Q_cancel;
+
+Q_menu2:
+ menu "Save",Q_save,"Storage Service",Q_storage, "Teleport Service",Q_teleport, "Cart Service",Q_cart, "Cancel",Q_cancel;
+
+Q_save:
+ mes "[Kapra Service Staff]";
+ mes "Save is a function that will let you";
+ mes "return to a location after you are Ko'ed in your adventure.";
+ mes "If you perform a Save action with the Kafra in the village,";
+ mes "you will return near the Kafra in the city that you have saved.";
+ mes "After you have been resurrected, you will be able to return to your Kafra.";
+ next;
+ callsub K_lvlcheck;
+ mes "[Kafra Service Staff]";
+ mes "The Save Point will be assigned";
+ mes "according to the final save location";
+ mes "You can return to the Save Point";
+ mes "using the Wing of Butterfly.";
+ mes "This service is free of charge.";
+ mes "Please make use of it frequently";
+ goto Q_menu2;
+
+Q_storage:
+ mes "[Kafra Service Staff]";
+ mes "We are the Kafra Corp. who is well known";
+ mes "as the oldest and biggest material control company";
+ mes "on this continent which provide the service to keep";
+ mes "the items of adventurers.";
+ mes "So, as long as there's a Kafra service center in a city";
+ mes "you will be able to use the storage service we provided.";
+ next;
+ mes "[Kafra Service Staff]";
+ mes "If you found any important items during your journey or from a battle";
+ mes "and you're not going to use it immediately,";
+ mes "you can always seek the service of a Kafra and keep it.";
+ next;
+ mes "[Kafra Service Staff]";
+ mes "This storage service is provided to every adventurer,";
+ mes "and every Kapra Service center will ask for a certain";
+ mes "a certain amount of zeny for service fee.";
+ next;
+ mes "[Kapra Service Staff]";
+ mes "The store is similar to the item window and it is divided";
+ mes "to the 3 major categories: Items, Equipment and Misc.";
+ mes "You can keep at most 300 items in the storage.";
+ mes "And for every item, you can keep 3000 of it in maximum";
+ next;
+ callsub K_lvlcheck;
+ mes "[Kapra Service Staff]";
+ mes "A different character of the same account";
+ mes "will share the same storage.";
+ mes "The fee for the Kafra Storage Service";
+ mes "will differ according to the location.";
+ mes "Please take note of this";
+ next;
+ goto Q_menu2;
+
+Q_cart:
+ mes "[Kafra Service Staff]";
+ mes "The Kafra Corp. provides Cart rental services to customers engaged in commercial business.";
+ mes "Original the cart rental service was only provided by the merchant guild in alberta";
+ mes "However, since we took over this service";
+ next;
+ mes "[Kafra Service Staff]";
+ mes "Our merchant customers has been able to rent";
+ mes "a cart at ease, everywhere.";
+ mes "This cart rental service is limited only for";
+ mes "job classes engaged in commercial business such as";
+ mes "Merchant,Blacksmith,Alchemist & Super Novice";
+ callsub K_lvlcheck;
+ next;
+ mes "[Kafra Service Staff]";
+ mes "Of course you should learn the Pushcart skill beforehand.";
+ mes "Otherwise, you will not be able to rent a cart from us.";
+ mes "The rental fee varies by town, so please refer to tge information";
+ next;
+ goto Q_menu2;
+
+Q_teleport:
+ mes "[Kafra Service Staff]";
+ mes "The Kafra Corp. has used our experience to";
+ mes "provide a service to shorten the distance";
+ mes "required to travel from place to place.";
+ mes "This is the teleport service.";
+ next;
+ mes "[Kafra Service Staff]";
+ mes "Through the power of Space magicians,";
+ mes "we will provide a more convinient and more time saving way of travelling.";
+ mes "However, the places available for teleport can be varied by towns.";
+ mes "Please take note of that.";
+ next;
+ mes "[Kafra Service Staff]";
+ callsub K_lvlcheck;
+ mes "Every service provided by us is a fruit of the hard work through the centuries";
+ mes "in order to satisfy our customers.";
+ next;
+ goto Q_menu2;
+
+Q_cancel:
+ mes "[Kafra Service Staff]";
+ mes "Are you satisfied with my explaination";
+ mes "about the Kafra Corp.?";
+ close;
+
+//Teleport
+
+S_teleport:
+ menu "Second stage of battle training ground", tele_01,"Prontera",tele_02,"Morocc",tele_03,"Payon",tele_04,"Alberta",tele_05,"Geffen",tele_06;
+
+tele_01:
+ mes "[Kapra Service Staff]";
+ mes "Moving to the 2nd stage of Battle Training Grounds.";
+ next;
+ callfunc "warpcheck2";
+ close;
+
+tele_02:
+ mes "[Kapra Service Staff]";
+ mes "Moving to Prontera City.";
+ next;
+ savepoint "prontera.gat",273,354;
+ warp "prontera.gat",273,354;
+ close;
+
+tele_03:
+ mes "[Kapra Service Staff]";
+ mes "Moving to the Morocc City.";
+ next;
+ savepoint "morocc.gat",160,94;
+ warp "morocc.gat",160,94;
+ close;
+
+tele_04:
+ mes "[Kapra Service Staff]";
+ mes "Moving to Payon City.";
+ next;
+ savepoint "payon.gat",87,117;
+ warp "payon.gat",87,117;
+ close;
+
+tele_05:
+ mes "[Kapra Service Staff]";
+ mes "Moving to the Alberta City.";
+ next;
+ savepoint "alberta.gat",116,57;
+ warp "alberta.gat",116,57;
+ close;
+
+tele_06:
+ mes "[Kapra Service Staff]";
+ mes "Moving to the Geffen City.";
+ next;
+ savepoint "geffen.gat",120,100;
+ warp "geffen.gat",120,100;
+ close;
+
+//Functions
+
+K_lvlcheck:
+ if(K_lvlup < 1)goto changelvl;
+ if(K_lvlup >= 1)return;
+
+changelvl:
+ atcommand strcharinfo(0) + "@joblvlup 1";
+ set K_lvlup, 1;
+ return;
+}
+
+//Skill Npc
+
+new_1-2.gat,84,110,5 script Skill Instructor#npc8-1::skillnpc 753,{
+
+ mes "[Instructor Sai Xi]";
+ if(saixi_F == 1)goto E_check;
+ mes ""+ strcharinfo(0) +"!";
+ mes "What a good name!";
+ mes "Do you want to start the course now?";
+ next;
+ menu "What Course?!",S_course,"Please send me to the battle class!",G_battle,"Cancel",S_end;
+
+S_course:
+ mes "[Instructor Sai Xi]";
+ mes "I live by the fist and die by it!";
+ mes "You have the responsible for preserving the world peace!";
+ mes "I will teach you the ultimare killing skill!!!!!!!";
+ mes "Oh,no. It's just the method to use the skill.";
+ mes "Ok, can you please open the skill window?";
+ next;
+ mes "[Instructor Sai Xi]";
+ mes "Click the skill button in the basic information window,";
+ mes "and you will be able to open the skill window.";
+ mes "The shortcut key to open it is Alt + s.";
+ mes "You can always use alt+s to open the window";
+ next;
+ atcommand strcharinfo(0) + "@joblvlup 1";
+ mes "Have you opened the Skill Window?";
+ mes "Do you see the category of Basic Skill?";
+ mes "There is stated the writing of skill:";
+ mes "Skill Point: 1 below it?";
+ mes "Click the LvUp button";
+ mes "beside the Basic Skill and see what happened";
+ next;
+ mes "[Instructor Sai Xi]";
+ mes "How about that? Have your skill been upgraded?";
+ mes "If you still want to know more detailed information about it,";
+ mes "go and find Piggy Judas.";
+ mes "He is a support lecturer.";
+ mes "Hmmmm, is there any usable skill anymore...";
+ next;
+ mes "[Instructor Sai Xi]";
+ mes "That's it! That's it!";
+ mes "I'll teach you the First Aid skill.";
+ mes "This skill is really useful during critical condition";
+ next;
+ mes "FF0000You have learned First Aid Skill,^000000";
+ skill 142,1,0;
+ next;
+ mes "FF0000You have Obtained minor Job Skill^000000";
+ atcommand strcharinfo(0) + "@joblvlup 1";
+ next;
+ mes "[Instructor Sai Xi]";
+ mes "Now, when you open the skill window,";
+ mes "you will see that the First Aid skill is added.";
+ mes "Double klick the mouse, and try it out!";
+ next;
+ mes "[Instructor Sai Xi]";
+ mes "Well, a certain amount of SP will be consumed when you use a skill.";
+ mes "Although you will consume SP when using the First Aid skill,";
+ mes "it helps to recover the HP and serve as a good skill at the";
+ mes "beginning stage.";
+ next;
+ atcommand strcharinfo(0) + "@baselvlup 1";
+ mes "[Instructor Sai Xi]";
+ mes "Thank to me, you understand now!";
+ mes "Haha, this is my duty.";
+ mes "Here are some experience points for you!";
+ mes "I am a great man!";
+ next;
+ mes "[Instructor Sai Xi]";
+ mes "My class ends here.";
+ mes "Although it is short, i believe you";
+ mes "have learned a lot in return.";
+ mes "Isn't that enough? Then, you should";
+ mes "go and ask other players.";
+ mes "If you think this is too";
+ mes "troublesome, you can find the";
+ mes "support instructors.";
+ mes "They will explain it you in detail";
+ set saixi_F,1;
+ set Npc_saixi,1;
+ close;
+
+E_check:
+ mes "Is there anything I can help you?";
+ if (Npc_saixi < 1) goto C_saixi;
+ if (Npc_alice < 1) goto C_alice;
+ if (Npc_chris < 1) goto C_chris;
+ mes "Looks like you have finished everything.";
+ mes "We're sending you to the battleground now.";
+ mes "If you have anything that you don't understand,";
+ mes "please come back again.";
+ next;
+ warp "new_1-2.gat",28,178;
+ close;
+
+C_saixi:
+ mes "Oh?Hoho?";
+ mes "You still haven't taken the skill course.";
+ mes "Please go this way up to find the skill instructor";
+ next;
+ menu "Thank You",W_end,"Skill is boring, send me to battle!",G_battle,"Cancel",C_end;
+
+C_alice:
+ mes "Oh?Hoho?";
+ mes "You still haven't taken the item course.";
+ mes "Please go this way up to find the item instructor";
+ next;
+ menu "Thank You",W_end,"items is boring, send me to battle!",G_battle,"Cancel",C_end;
+
+C_chris:
+ mes "Oh?Hoho?";
+ mes "You still haven't taken the interface course.";
+ mes "Please go this way up to find the interface instructor";
+ next;
+ menu "Thank You",W_end,"items is boring, send me to battle!",G_battle,"Cancel",C_end;
+
+W_end:
+ mes "[Instructor Sai Xi]";
+ mes "Ok, see you around";
+ close;
+
+}
+
+//Tour guide
+
+new_1-2.gat,122,100,5 script Tour Guide#npc9-1::tournpc 105,{
+
+ mes "[Tour Guide]";
+ mes "I am the Tour Guide at the entrance of the village";
+ mes "who will give you the explaination about the location.";
+ mes "If you visited any village that you havn't been to before,";
+ mes "please find us at the entrance of the village,";
+ mes "and we will help you to find the location of the particular building";
+ next;
+ mes "[Tour Guide]";
+ mes "However, the custume of tour guide differs";
+ mes "according to the villages.";
+ mes "Please take note o this when you are finding our tour guide";
+ mes "Please find out more about the tour guide from them.";
+ mes "We will give you the most detailed explaination";
+ next;
+ mes "[Tour Guide]";
+ mes "If you want to go to the village,";
+ mes "please make use of the Kafra Service Staff";
+ mes "who will provide the service of teleportation.";
+ close;
+}
+
+///////////////////////////////////////////////
+// PART II //
+///////////////////////////////////////////////
+// Npc_exc = Elmeen //
+//
+//
+//
+//
+//
+//
+///////////////////////////////////////////////
+
+//Entrance Guard
+
+new_1-2.gat,37,183,5 script Entrance Guard#npc10-1::entguardnpc 92,{
+
+ mes "[Muriel]";
+ if(Npc_exc == 1)goto T_1;
+ mes "So, you decided to battle although you don't know how to do it?";
+ mes "Please proceed to the left and listen to the basic theory of battle before you come again";
+ close;
+
+T_1:
+ mes "The second stage of trial is to test whether you are able to use";
+ mes "the theory that you have learned wisely";
+ next;
+ mes "[Muriel]";
+ mes "We have released the monsters for the 2nd test. We hope that you will be able to defeat all the monsters.";
+ next;
+ mes "[Muriel]";
+ mes "There is no main objective or limitation in this test but it only provide you with the experience of real battle.";
+ mes "So, please don't worry.";
+ next;
+ mes "[Muriel]";
+ mes "If you wish to leave the 2nd stage of battle, please talk to the staff at the north entrance so that you will be sent to the next trial.";
+ mes "So, shall we start the test now?";
+ next;
+ menu "Yes",B_yes,"I need some time to prepare",B_no;
+
+B_no:
+ mes "[Muriel]";
+ mes "If you are not sure whether you can pass the test, listen to the";
+ mes "left and come again.";
+ mes "And please come back when you're ready.";
+ close;
+
+B_yes:
+ mes "[Muriel]";
+ getitem 569,300;
+ getitem 1243,1;
+ getitem 2112,1;
+ getitem 2340,1;
+ getitem 2203,1;
+ mes "This is a test worth to be taken.";
+ mes "Here's something for you and we hope that it might help you when you're in trouble.";
+ mes "Of course, we will provide you with weapons and equipments too.";
+ next;
+ callfunc "warpcheck6";
+ close;
+
+}
+//excution staff
+new_1-2.gat,16,183,5 script Excution Staff#npc11-1::Exc 84,{
+
+ mes "[Elmeen]";
+ if(Npc_exc == 1)goto T_2;
+ mes "How is the progress of your first stage course?";
+ mes "Have you learnt the the basic understanding to the world of Ragnarok?";
+ next;
+ mes "[Elmeen]";
+ mes "Well then, let's learn about the basic of battle in the game.";
+ mes "Since you have taken the class of theory, you must have obtained the basic equipment too.";
+ next;
+ mes "[Elmeen]";
+ mes "Please check your equipment before you start to engage in battle.";
+ mes "Have you eqquipped all of your equipments?";
+ next;
+ menu "Yes",equip_Y,"Not Yet",equip_N;
+
+equip_N:
+ mes "[Elmeen]";
+ mes "Please take care of your equipments you've received through training courses.";
+ mes "Once you loe the equipments, you can never get them back.";
+ close;
+
+equip_Y:
+ mes "[Elmeen]";
+ mes "First, you bring your cursor of your mouse on a monster.";
+ mes "And when you left click, it will hit the monster one time.";
+ next;
+ mes "[Elmeen]";
+ mes "If you are too lazy to keek left clicking, left click one time on the monster while holding the CTRL key.";
+ mes "That will allow you to hit the monster untill it's dead";
+ next;
+ mes "[Elmeen]";
+ mes "If you think that it's too troublesome to click CTRL button everytime, please key in the /ns command in the chat window.";
+ mes "Then you will be able to do the same thing as rightclick + CTRL";
+ mes "Key Function";
+ next;
+ mes "[Elmeen]";
+ mes "If the property of a monster is undead, you can use heal skill to attack.";
+ mes "When you use heal skill while holding shift key, it will damage the monster.";
+ next;
+ mes "[Elmeen]";
+ mes "We do have a very convenient option for lazy people,too. Type a command /ns on your chat window.";
+ mes "It will allow you to attack monsters by using the heal skill without holding shift key.";
+ next;
+ mes "[Elmeen]";
+ mes "Do you understand about battle commands now?";
+ mes "From now on, I will be teaching you about the characteristic and the property of monsters, experience points gained through battle and items you can earn from dead monsters.";
+ next;
+ mes "[Elmeen]";
+ mes "Real battle is very dangerous and it suprises me that someone like you wants to win in a battle too....";
+ mes "In order to help you win, I shall call upon some power for you.";
+ next;
+ atcommand strcharinfo(0) + "@baselvlup 1";
+ mes "[Elmeen]";
+ mes "Ah Ah---Hehehehehehehehehe!!!";
+ next;
+ mes "[Elmeen]";
+ mes "Hooo...That's really tiring...";
+ mes "I hope it will do you some help.";
+ mes "What do you want to know now?";
+ set Npc_exc,1;
+ next;
+ menu "Characteristic and property of monsters",C_1,"Experience points",C_2,"Item",C_3,"Cancel",C_4;
+
+Menu2:
+ menu "Characteristic and property of monsters",C_1,"Experience points",C_2,"Item",C_3,"Cancel",C_4;
+
+C_1:
+ mes "[Elmeen]";
+ mes "There are many aggressive ones among monsters. They'll attack you first before you're even close to them.";
+ mes "Also there are few monsters who are very cooperative to their tribe. If you attack one of them, other will come after you for revenge.";
+ next;
+ mes "[Elmeen]";
+ mes "Every monster are specified with their types, sizes and properties.";
+ mes "For instance, monster types are such as demi-human, brute, immortal or devil.";
+ mes "Once you acknowledge which type a monster it, you will be able to lead a easy battle.";
+ next;
+ mes "[Elmeen]";
+ mes "Also, if you can have some cards slotted in your weapons which increases the damage upon certain monster types or cards for your armours which reduces the damage taken,";
+ mes "It will be more easier for you to battle against monsters.";
+ next;
+ mes "[Elmeen]";
+ mes "Monsters are separated by their sizes such as small, medium and large. There are few cards that allows you to do more damage followed by the monster size.";
+ next;
+ mes "[Elmeen]";
+ mes "Every weapon also has it's own strength and weaknesses. Size of the weapon affects on the damage of the weapon dealt with monsters.";
+ mes "For instance, dagger class weapons do 100% more damage of the weapon damage on the small sized monster but they only do 50% on the large monster.";
+ next;
+ mes "[Elmeen]";
+ mes "For the monster property, there are water, wind, earth, fire, shadow, ghost and holy.";
+ mes "If you attack a monster with the opposite property og it, you can do more damages than the damage you normally do.";
+ next;
+ mes "[Elmeen]";
+ mes "On the contrary, if you attack a monster with the same property of it, not only you cannot deal and damage, there is a possibility that you can heal the monster.";
+ mes "For instance, in case of a ghost, property monster, normal weaponry cannot do any damage on the monster, but weapons with elements can.";
+ next;
+ goto Menu2;
+
+C_2:
+ mes "[Elmeen]";
+ mes "Basically, a character who deals the most damage on a monster receives the most experience points from the monster.";
+ mes "Therefore you receive a certain % of experience points in proportion to the damage you've done on the HP amount of a monster";
+ goto Menu2;
+
+C_3:
+ mes "[Elmeen]";
+ mes "When you kill monsters, you can obtain items by chance.";
+ mes "Besides, certain characters can use 'Steal' skill in order to steal items from monsters.";
+ next;
+ mes "[Elmeen]";
+ mes "Don't you worry about the steal skill that might cause you not to find any items after you kill them.";
+ mes "In case you kill a monster with other people, person who did the most damage has prior rights to obtain items";
+ next;
+ goto Menu2;
+
+T_2:
+ mes "[Elmeen]";
+ mes "Do you want to hear it again?";
+ mes "How about listening it again?";
+ next;
+ menu "Characteristic and property of monsters",C_1_2,"Experience points",C_2_2,"Item",C_3_3,"Basic Knowledge of battle",C_4,"Cancel",C_5;
+
+C_4:
+ mes "[Elmeen]";
+ mes "Oh, ok. Come back again if you need to revise anything";
+ close;
+
+C_5:
+ mes "[Elmeen]";
+ mes "First, you bring your cursor of your mouse on a monster.";
+ mes "And when you left click, it will hit the monster one time.";
+ next;
+ mes "[Elmeen]";
+ mes "If you are too lazy to keek left clicking, left click one time on the monster while holding the CTRL key.";
+ mes "That will allow you to hit the monster untill it's dead";
+ next;
+ mes "[Elmeen]";
+ mes "If you think that it's too troublesome to click CTRL button everytime, please key in the /ns command in the chat window.";
+ mes "Then you will be able to do the same thing as rightclick + CTRL";
+ mes "Key Function";
+ next;
+ mes "[Elmeen]";
+ mes "If the property of a monster is undead, you can use heal skill to attack.";
+ mes "When you use heal skill while holding shift key, it will damage the monster.";
+ next;
+ mes "[Elmeen]";
+ mes "We do have a very convenient option for lazy people,too. Type a command /ns on your chat window.";
+ mes "It will allow you to attack monsters by using the heal skill without holding shift key.";
+ close;
+
+C_1_2:
+ mes "[Elmeen]";
+ mes "There are many aggressive ones among monsters. They'll attack you first before you're even close to them.";
+ mes "Also there are few monsters who are very cooperative to their tribe. If you attack one of them, other will come after you for revenge.";
+ next;
+ mes "[Elmeen]";
+ mes "Every monster are specified with their types, sizes and properties.";
+ mes "For instance, monster types are such as demi-human, brute, immortal or devil.";
+ mes "Once you acknowledge which type a monster it, you will be able to lead a easy battle.";
+ next;
+ mes "[Elmeen]";
+ mes "Also, if you can have some cards slotted in your weapons which increases the damage upon certain monster types or cards for your armours which reduces the damage taken,";
+ mes "It will be more easier for you to battle against monsters.";
+ next;
+ mes "[Elmeen]";
+ mes "Monsters are separated by their sizes such as small, medium and large. There are few cards that allows you to do more damage followed by the monster size.";
+ next;
+ mes "[Elmeen]";
+ mes "Every weapon also has it's own strength and weaknesses. Size of the weapon affects on the damage of the weapon dealt with monsters.";
+ mes "For instance, dagger class weapons do 100% more damage of the weapon damage on the small sized monster but they only do 50% on the large monster.";
+ next;
+ mes "[Elmeen]";
+ mes "For the monster property, there are water, wind, earth, fire, shadow, ghost and holy.";
+ mes "If you attack a monster with the opposite property og it, you can do more damages than the damage you normally do.";
+ next;
+ mes "[Elmeen]";
+ mes "On the contrary, if you attack a monster with the same property of it, not only you cannot deal and damage, there is a possibility that you can heal the monster.";
+ mes "For instance, in case of a ghost, property monster, normal weaponry cannot do any damage on the monster, but weapons with elements can.";
+ next;
+ goto Menu2;
+
+C_2_2:
+ mes "[Elmeen]";
+ mes "Basically, a character who deals the most damage on a monster receives the most experience points from the monster.";
+ mes "Therefore you receive a certain % of experience points in proportion to the damage you've done on the HP amount of a monster";
+ goto Menu2;
+
+C_3_2:
+ mes "[Elmeen]";
+ mes "When you kill monsters, you can obtain items by chance.";
+ mes "Besides, certain characters can use 'Steal' skill in order to steal items from monsters.";
+ next;
+ mes "[Elmeen]";
+ mes "Don't you worry about the steal skill that might cause you not to find any items after you kill them.";
+ mes "In case you kill a monster with other people, person who did the most damage has prior rights to obtain items";
+ next;
+ goto Menu2;
+
+}
+
+// Potato Merchant
+
+ new_1-2.gat,29,284,7 shop Potato Merchant 49,516:15
+
+//////////////////////////////////////////////////////
+// Area 3
+//////////////////////////////////////////////////////
+//
+//
+//
+//
+//////////////////////////////////////////////////////
+
+//new_1-3.gat,96,29,5 script test#npc12-1::Test Examiner 727,{
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+//==============================================================================
+//Novice
+//==============================================================================
+//Outer Courtyard <=> Castle Entrance Hall - OK for new Training Grounds
+new_1-1.gat,148,112,0 warp new01 2,3,new_1-2.gat,100,9
+new_1-2.gat,100,6,0 warp new02 2,3,new_1-1.gat,144,112
+//Main Room <=> Left Room - OK for new Training Grounds
+new_1-2.gat,73,106,0 warp new05 2,4,new_1-2.gat,41,172
+new_1-2.gat,46,172,0 warp new06 2,4,new_1-2.gat,78,106
+//Battle Field <=> Last Room - not checked yet on new Training Grounds
+new_1-3.gat,96,175,0 warp new07 3,2,new_1-4.gat,100,14
+
+//Outer Courtyard <=> Castle Entrance Hall - OK for new Training Grounds
+new_2-1.gat,148,112,0 warp new01 2,3,new_2-2.gat,100,9
+new_2-2.gat,100,6,0 warp new02 2,3,new_2-1.gat,144,112
+//Main Room <=> Left Room - OK for new Training Grounds
+new_2-2.gat,73,106,0 warp new05 2,4,new_2-2.gat,41,172
+new_2-2.gat,46,172,0 warp new06 2,4,new_2-2.gat,78,106
+//Battle Field <=> Last Room - not checked yet on new Training Grounds
+new_2-3.gat,96,175,0 warp new07 3,2,new_2-4.gat,100,14
+
+//Outer Courtyard <=> Castle Entrance Hall - OK for new Training Grounds
+new_3-1.gat,148,112,0 warp new01 2,3,new_3-2.gat,100,9
+new_3-2.gat,100,6,0 warp new02 2,3,new_3-1.gat,144,112
+//Main Room <=> Left Room - OK for new Training Grounds
+new_3-2.gat,73,106,0 warp new05 2,4,new_3-2.gat,41,172
+new_3-2.gat,46,172,0 warp new06 2,4,new_3-2.gat,78,106
+//Battle Field <=> Last Room - not checked yet on new Training Grounds
+new_3-3.gat,96,175,0 warp new07 3,2,new_3-4.gat,100,14
+
+//Outer Courtyard <=> Castle Entrance Hall - OK for new Training Grounds
+new_4-1.gat,148,112,0 warp new01 2,3,new_4-2.gat,100,9
+new_4-2.gat,100,6,0 warp new02 2,3,new_4-1.gat,144,112
+//Main Room <=> Left Room - OK for new Training Grounds
+new_4-2.gat,73,106,0 warp new05 2,4,new_4-2.gat,41,172
+new_4-2.gat,46,172,0 warp new06 2,4,new_4-2.gat,78,106
+//Battle Field <=> Last Room - not checked yet on new Training Grounds
+new_4-3.gat,96,175,0 warp new07 3,2,new_4-4.gat,100,14
+
+//Outer Courtyard <=> Castle Entrance Hall - OK for new Training Grounds
+new_5-1.gat,148,112,0 warp new01 2,3,new_5-2.gat,100,9
+new_5-2.gat,100,6,0 warp new02 2,3,new_5-1.gat,144,112
+//Main Room <=> Left Room - OK for new Training Grounds
+new_5-2.gat,73,106,0 warp new05 2,4,new_5-2.gat,41,172
+new_5-2.gat,46,172,0 warp new06 2,4,new_5-2.gat,78,106
+//Battle Field <=> Last Room - not checked yet on new Training Grounds
+new_5-3.gat,96,175,0 warp new07 3,2,new_5-4.gat,100,14
+
+
+//////////////////////////////////////////////////////////////////////////////
+/// Area Warp Call Function Check
+//////////////////////////////////////////////////////////////////////////////
+
+//callfunc "warpcheck1";
+function script warpcheck1 {
+
+ if(novarea == 1)warp "new_1-2.gat",100,70;
+ if(novarea == 2)warp "new_2-2.gat",100,70;
+ if(novarea == 3)warp "new_3-2.gat",100,70;
+ if(novarea == 4)warp "new_4-2.gat",100,70;
+ if(novarea == 5)warp "new_5-2.gat",100,70;
+ return;
+}
+
+//callfunc "warpcheck2";
+function script warpcheck2 {
+
+ if(novarea == 1)warp "new_1-2.gat",28,178;
+ if(novarea == 2)warp "new_2-2.gat",28,178;
+ if(novarea == 3)warp "new_3-2.gat",28,178;
+ if(novarea == 4)warp "new_4-2.gat",28,178;
+ if(novarea == 5)warp "new_5-2.gat",28,178;
+ return;
+}
+
+//callfunc "warpcheck3";
+function script warpcheck3 {
+
+ if(novarea == 1)warp "new_1-2.gat",115,110;
+ if(novarea == 2)warp "new_2-2.gat",115,110;
+ if(novarea == 3)warp "new_3-2.gat",115,110;
+ if(novarea == 4)warp "new_4-2.gat",115,110;
+ if(novarea == 5)warp "new_5-2.gat",115,110;
+ return;
+}
+
+//callfunc "warpcheck4";
+function script warpcheck4 {
+
+ if(novarea == 1)warp "new_1-2.gat",28,178;
+ if(novarea == 2)warp "new_2-2.gat",28,178;
+ if(novarea == 3)warp "new_3-2.gat",28,178;
+ if(novarea == 4)warp "new_4-2.gat",28,178;
+ if(novarea == 5)warp "new_5-2.gat",28,178;
+ return;
+}
+
+//callfunc "warpcheck5";
+function script warpcheck5 {
+
+ if(novarea == 1)warp "new_1-2.gat",83,110;
+ if(novarea == 2)warp "new_2-2.gat",83,110;
+ if(novarea == 3)warp "new_3-2.gat",83,110;
+ if(novarea == 4)warp "new_4-2.gat",83,110;
+ if(novarea == 5)warp "new_5-2.gat",83,110;
+ return;
+}
+
+
+//callfunc "warpcheck6";
+function script warpcheck6 {
+
+ if(novarea == 1)goto A1;
+ if(novarea == 2)goto A2;
+ if(novarea == 3)goto A3;
+ if(novarea == 4)goto A4;
+ if(novarea == 5)goto A5;
+ return;
+
+A1:
+ warp "new_1-3.gat",96,21;
+ savepoint "new_1-3.gat",96,21;
+ return;
+A2:
+ warp "new_2-3.gat",96,21;
+ savepoint "new_1-3.gat",96,21;
+ return;
+A3:
+ warp "new_3-3.gat",96,21;
+ savepoint "new_1-3.gat",96,21;
+ return;
+A4:
+ warp "new_4-3.gat",96,21;
+ savepoint "new_1-3.gat",96,21;
+ return;
+A5:
+ warp "new_5-3.gat",96,21;
+ savepoint "new_1-3.gat",96,21;
+ return;
+}
+
+
+
+
+///////////////////////////////////////////////////////////
+// Duplication
+///////////////////////////////////////////////////////////
+
+//Xi En
+new_2-1.gat,54,113,5 duplicate(XiEn) Xi En#npc1-2 727
+new_3-1.gat,54,113,5 duplicate(XiEn) Xi En#npc1-3 727
+new_4-1.gat,54,113,5 duplicate(XiEn) Xi En#npc1-4 727
+new_5-1.gat,54,113,5 duplicate(XiEn) Xi En#npc1-5 727
+
+//Guard 1
+new_2-1.gat,144,116,5 duplicate(Guard) Guard#npc2-2 105
+new_3-1.gat,144,116,5 duplicate(Guard) Guard#npc2-3 105
+new_4-1.gat,144,116,5 duplicate(Guard) Guard#npc2-4 105
+new_5-1.gat,144,116,5 duplicate(Guard) Guard#npc2-5 105
+
+//Guard 2
+new_2-1.gat,144,110,5 duplicate(Guard) Guard#npc3-2 105
+new_3-1.gat,144,110,5 duplicate(Guard) Guard#npc3-3 105
+new_4-1.gat,144,110,5 duplicate(Guard) Guard#npc3-4 105
+new_5-1.gat,144,110,5 duplicate(Guard) Guard#npc3-5 105
+
+//Register NPC
+new_2-2.gat,100,29,5 duplicate(regnpc) Registration Staff#npc4-2 56
+new_3-2.gat,100,29,5 duplicate(regnpc) Registration Staff#npc4-3 56
+new_4-2.gat,100,29,5 duplicate(regnpc) Registration Staff#npc4-4 56
+new_5-2.gat,100,29,5 duplicate(regnpc) Registration Staff#npc4-5 56
+
+//Interface Instructor
+new_2-2.gat,100,104,5 duplicate(internpc) Interface Instructor#npc5-2 751
+new_3-2.gat,100,104,5 duplicate(internpc) Interface Instructor#npc5-3 751
+new_4-2.gat,100,104,5 duplicate(internpc) Interface Instructor#npc5-4 751
+new_5-2.gat,100,104,5 duplicate(internpc) Interface Instructor#npc5-5 751
+
+//Item Instructor
+new_2-2.gat,116,110,5 duplicate(itemnpc) Item Instructor#npc6-2 726
+new_3-2.gat,116,110,5 duplicate(itemnpc) Item Instructor#npc6-3 726
+new_4-2.gat,116,110,5 duplicate(itemnpc) Item Instructor#npc6-4 726
+new_5-2.gat,116,110,5 duplicate(itemnpc) Item Instructor#npc6-5 726
+
+//Kafra Service Staff
+new_2-2.gat,118,108,5 duplicate(kafnpc) Kafra Service Staff#npc7-2 115
+new_3-2.gat,118,108,5 duplicate(kafnpc) Kafra Service Staff#npc7-3 115
+new_4-2.gat,118,108,5 duplicate(kafnpc) Kafra Service Staff#npc7-4 115
+new_5-2.gat,118,108,5 duplicate(kafnpc) Kafra Service Staff#npc7-5 115
+
+//Skill NPC
+new_2-2.gat,84,110,5 duplicate(skillnpc) Skill Instructor#npc8-2 753
+new_3-2.gat,84,110,5 duplicate(skillnpc) Skill Instructor#npc8-3 753
+new_4-2.gat,84,110,5 duplicate(skillnpc) Skill Instructor#npc8-4 753
+new_5-2.gat,84,110,5 duplicate(skillnpc) Skill Instructor#npc8-5 753
+
+//Tour NPC
+new_2-2.gat,122,100,5 duplicate(tournpc) Tour Guide#npc9-2 105
+new_3-2.gat,122,100,5 duplicate(tournpc) Tour Guide#npc9-3 105
+new_4-2.gat,122,100,5 duplicate(tournpc) Tour Guide#npc9-4 105
+new_5-2.gat,122,100,5 duplicate(tournpc) Tour Guide#npc9-5 105
+
+//Entrance Guard
+new_2-2.gat,37,183,5 duplicate(entguardnpc) Entrance Guard#npc10-2 92
+new_3-2.gat,37,183,5 duplicate(entguardnpc) Entrance Guard#npc10-3 92
+new_4-2.gat,37,183,5 duplicate(entguardnpc) Entrance Guard#npc10-4 92
+new_5-2.gat,37,183,5 duplicate(entguardnpc) Entrance Guard#npc10-5 92
+
+//Excution NPC
+new_2-2.gat,16,183,5 duplicate(Exc) Execution Staff#npc11-2 84
+new_3-2.gat,16,183,5 duplicate(Exc) Execution Staff#npc11-3 84
+new_4-2.gat,16,183,5 duplicate(Exc) Execution Staff#npc11-4 84
+new_5-2.gat,16,183,5 duplicate(Exc) Execution Staff#npc11-5 84
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/npc/jobs/novice/OLDnovice.txt b/npc/jobs/novice/OLDnovice.txt
new file mode 100644
index 000000000..f738ed4ba
--- /dev/null
+++ b/npc/jobs/novice/OLDnovice.txt
@@ -0,0 +1,2339 @@
+//===== eAthena Script =======================================
+//= Novice Training Grounds
+//===== By: ==================================================
+//= eAthena Dev Team (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= <Description>
+//===== Additional Comments: =================================
+//= Fully working
+//============================================================
+
+//--------------------------------------------------------------
+//------------------ EXPLANATION OF VARIABLES ------------------
+// Permanent variables:
+// before first course:
+// - nov_get_item01: flag to know if Usher had given 150 z
+// in first course:
+// - nov_1_2_cos_c: to know first course advancement
+// - nov_1st_cos: to know number of right/correct answers with Leo Von Frisch
+// - Done_milk: to know if milk has been given by the Newbie Instructor
+// in third course:
+// - set nov_1_4_cos_c: to know third course advancement (to avoid to repeat question)
+// - nov_3_merchant: count the number of answers to become merchant
+// - nov_3_swordman: count the number of answers to become swordman
+// - nov_3_archer: count the number of answers to become archer
+// - nov_3_thief: count the number of answers to become thief
+// - nov_3_magician: count the number of answers to become magician
+// - nov_3_acolyte: count the number of answers to become acolyte
+
+
+// == MONSTERS ==
+//Spawn is included in this file so make shure its not elsewhere to!
+new_1-3.gat,0,0,0,0 monster FABRE 1184,50,0,0,0
+
+
+// == NPCs ==
+// -- Board --
+new_1-1.gat,66,114,1 script Bulletin Board 111,{
+ mes "^FF0000=================================^000000";
+ mes "^FF0000 == ^E40CAA[Welcome] ^CC0000to^FF9000Training ^0000FFGround ^FF0000==^000000";
+ mes "^FF0000=================================^000000";
+ close;
+}
+
+// -- Guards --
+new_1-1.gat,117,107,2 script Guard 105,{
+ set @TEMP,rand(2);
+ if (@TEMP !=0) goto L0;
+ mes "[Guard]";
+ mes "Go! Newbie! Go! You will see a new strength lies in the holy see-er of truth tomorrow!";
+ close;
+
+ L0:
+ mes "[Guard]";
+ mes "Come in! Welcome to the Real world!";
+ mes "We are trying to do our best to support newbies like you!";
+ close;
+}
+
+new_1-1.gat,117,116,2 script Guard 105,{
+ mes "[Guard]";
+ mes "Welcome~ Now, you're in Training Ground~";
+ mes "Please go inside the Castle.";
+ close;
+}
+
+// -- Chief --
+new_1-1.gat,157,124,3 script Training Ground Chief 56,{
+ mes "[Training Ground Chief]";
+ mes "Umm...? Aren't you a Freshman? You have a lot of guts to dare to come up.";
+ mes "Didn't that Guide stop you?";
+ next;
+ menu "He did, but I didn't listen to him.",Lyes,"Nope, he didn't.",Lno;
+
+ Lyes:
+ mes "[Training Ground Chief]";
+ mes "He did? And you came up without any timidity!?";
+ mes "Giggle... giggle...";
+ mes "Muhahahahaha!";
+ next;
+ mes "[Training Ground Chief]";
+ mes "Wow man! You are really something, huh?";
+ mes "Well... Rune-Midgard wants brave man like you. I expect you will be the most efficient man for Ragnarok. Do your best.";
+ close;
+ Lno:
+ mes "[Training Ground Chief]";
+ mes "What...? He didn't? Hmm... I need to improve the moral fiber. Even though the World is in Great fear...";
+ next;
+ mes "[Training Ground Chief]";
+ mes "Go downstairs. Don't disturb me. I need time to think of.";
+ close;
+}
+
+// -- Usher --
+// nov_get_item01: flag to know if Usher had given 150 z.
+// 0: not given
+// 1: given
+new_1-2.gat,100,29,4 script Usher 86,{
+ mes "[Usher]";
+ mes "Welcome to the ^FF0000Training Ground^000000 .";
+ mes "Please choose ^0099FFIntroduction^000000 first if you need to check detailed information about Training Ground.";
+ next;
+ menu "Sign Up on the Training Ground.",Lsign,"Direct Access to Ragnarok.",Ldirect,"^0099FFIntroduction.^000000",Lintro,"Cancel.",Lcancel;
+
+ Lsign:
+ mes "[Usher]";
+ mes "Registration has been confirmed.";
+ mes "Please inquire at each Guide on the course when you need.";
+ next;
+ if (nov_get_item01 == 1) goto Lsign1;
+
+ set nov_get_item01,1;
+ set Zeny,Zeny+150;
+ mes "[Usher]";
+ mes "Training Subsidy 150 Zeny supplied. Please inquire at a Guide on the Center when you need to know your Current Progress.";
+ mes "I will lead you into the Hall.";
+ next;
+
+ Lsign1:
+ set nov_get_item01,0;
+ warp "new_1-2",100,70;
+ close;
+
+ Ldirect:
+ mes "[Usher]";
+ mes "I see.";
+ mes "Hopefully you will contribute to public wellfare in near future, good luck.";
+ next;
+ set nov_1st_cos,0;
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ set @TEMP,rand(6);
+
+ if (@TEMP !=0) goto Ldirect0;
+ savepoint "prontera.gat",273,354;
+ warp "prontera.gat",273,354;
+ close;
+ Ldirect0:
+ if (@TEMP !=1) goto Ldirect1;
+ savepoint "morocc.gat",160,94;
+ warp "morocc.gat",160,94;
+ close;
+ Ldirect1:
+ if (@TEMP !=2) goto Ldirect2;
+ savepoint "geffen.gat",120,100;
+ warp "geffen.gat",120,100;
+ close;
+ Ldirect2:
+ if (@TEMP !=3) goto Ldirect3;
+ savepoint "payon.gat",87,117;
+ warp "payon.gat",87,117;
+ close;
+ Ldirect3:
+ if (@TEMP !=4) goto Ldirect4;
+ savepoint "alberta.gat",116,57;
+ warp "alberta.gat",116,57;
+ close;
+ Ldirect4:
+ savepoint "izlude.gat",94,103;
+ warp "izlude.gat",94,103;
+ close;
+
+ Lintro:
+ mes "[Usher]";
+ mes "The Training Grounds were founded to support New Players of Ragnarok Online,";
+ mes "under the Auspices of the Ministry of Education in Rune Midgard Kingdom.";
+ next;
+ mes "[Usher]";
+ mes "We guide you on to adapt the Mechanics of Ragnarok at ease, also we recommend the Best profession for your personality through the Typology Test.";
+ next;
+ mes "[Usher]";
+ mes "You can train yourself with 3 courses in here.";
+ next;
+ mes "[Usher]";
+ mes "You can learn entire theoretical information in the First Course.";
+ next;
+ mes "[Usher]";
+ mes "You will practice on the Actual spot in Fabres Field, the Second Course. Please do everything as you can do before jumping into the Real Ragnarok World.";
+ next;
+ mes "[Usher]";
+ mes "The Third course is the Typology Test. You will figure out the best job for you with this test.";
+ mes "You just answer the most suited answer when the course master asks you.";
+ next;
+ mes "[Usher]";
+ mes "When you finish whole courses, we'll inform you the result and recommend the Job for you.";
+ mes "Also if you accept our recommendation, we will tender you with small subsidy and let you begin in the specfic town for that Job.";
+ mes "For example, when the result comes 'Archer', you will start in 'Payon'.";
+ next;
+ mes "[Usher]";
+ mes "If you want to apply on the Training Ground, Please choose 'Sign Up on the Training Ground'.";
+ mes "if you not, choose 'Direct Access to Ragnarok'.";
+ next;
+ menu "Sign Up on the Training Ground.",Lsign,"Direct Access to Ragnarok.",Ldirect,"^0099FFIntroduction.^000000",Lintro,"Cancel.",Lcancel;
+ close;
+
+ Lcancel:
+ mes "[Usher]";
+ mes "Take your time.";
+ close;
+}
+
+
+// == FIRST COURSE ==
+// nov_1_2_cos_c: to know first course advancement
+// 0: newbie. Have not begin to speak (must speak to Leo Von Frish).
+// 1: Question 1 Leo Von Frisch done
+// 2: Question 2 Leo Von Frisch done
+// 3: Question 3 Leo Von Frisch done
+// 4: Question 4 Leo Von Frisch done
+// 5: Question 5 Leo Von Frisch done
+// 6: Question 6 Leo Von Frisch done
+// 7: Question 7 Leo Von Frisch done
+// 8: 'NPC Guide' Master done.
+// 9: 'Manner Master' done. Must register for Fabres forest.
+// 10: Register for Fabres forest. Must begin 2nd Course 1th test
+// 11: have been at least once in the Fabres forest.
+// nov_1st_cos: to know number of right/correct answers with Leo Von Frisch
+
+// Done_milk: to know if milk has been given by the Newbie Instructor
+// 0: not speak to Newbie Instructor (or at Fabres forest or more)
+// 1: speak to Newbie Instructor
+
+// -- Instructor --
+new_1-2.gat,81,110,4 script Newbie Instructor 84,{
+ if (Done_milk==0) goto Lyes;
+
+ mes "[Newbie Instructor]";
+ mes "Do you want listen me again?";
+ next;
+ menu "Yes!",Lyes,"No, not again.",Lno;
+
+ Lno:
+ mes "[Newbie Instructor]";
+ mes "Move along to the next course!";
+ close;
+
+ Lyes:
+ mes "[Newbie Instructor]";
+ mes "Ho? A Rookie? So, are you gonna get some education from Sir Leo Von Frisch?";
+ mes "Well ~ I must say he is sort of restless person, so that he tends to skip important issues while training.";
+ mes "I am afraid to say you need aditional education besides his lecture... Alright! I will give you a favour, buddy!";
+ next;
+ mes "[Newbie Instructor]";
+ mes "First off all you need to realise yourself. Your Chracter, the avatar of yourself inside the game has various distictive quality.";
+ mes "Level, EXPerience points, Status et cetera et cetera... many facts gather and construct your character.";
+ mes "Now let's take a look on character Status.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "^FF0000STR (Strength)^000000";
+ mes "- Increase hit point and maximum weight.";
+ mes "^FF0000AGI (Agility)^000000";
+ mes "- Increase flee rate and attack speed.";
+ mes "^FF0000VIT (Vitality)^000000";
+ mes "- Increase defence, maximum health point and HP recovering amount.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "^FF0000INT (intelligence)^000000";
+ mes "- Increase magic attack and magic defence.";
+ mes "^FF0000DEX (Dexterity)^000000";
+ mes "- Increase hitting accuracy and weapon damage.";
+ mes "^FF0000LUK (Luck)^000000";
+ mes "- Affect on various parts.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "You must keep Status abilities in mind before everything.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "When right-clicking on the 'status' button, you will see 'Status window' which shows current condition of a character. Shortcut is 'Alt + A'.";
+ mes "When you bring a cursor on each status, you can see the real meaning of it.";
+ mes "You will gain some points everytime Base Level is up, you can freely distribute them into ^FF00006 status^000000.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "The boxes next to each stat show the ^FF0000base value of the stat plus any bonuses from equipment. The left box shows the point cost to upgrade the stat by 1^000000.";
+ mes "When the character levels up, Blue button appears on the bottom of right side of the monitor screen. Click it to open the status window.";
+ mes "Click the blue Arrow to spend the points you get, ^FF0000You can upgrade stats as you want ^000000.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "Oh well, 'Tendency' hasn't been implemented yet, let's talk later then.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "Shall we move onto the next issue?";
+ next;
+ mes "[Newbie Instructor]";
+ mes "Right-clicking on a character leads you to see individual menu including Trade command.";
+ mes "When left-clicking on Trade menu, ^FF0000'Trade window'^000000 pops up. That's the way you can exchange ^FF0000items or zeny, Ragnarok currency^000000 with another character.";
+ mes "There are 2 different buttons on the bottom of trade window, one is OK, the other is Cancel.";
+ mes "Press OK if you are ready or Cancel if you want to cancel the deal.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "Let's check the ^FF0000'Chat Window'^000000 on the bottom of game screen, which allows you to chat with others. It is devided into 2 parts, you can enter a ^FF0000character name you want to whisper^000000 at the left part.";
+ mes "If you click the button beside the left part, you can check all character names who you have already whispered to or you got whispered so far. So you can whisper to the characters without typing their names again.";
+ mes "At the right part of chat window, you can type the message you want to send. And with the first button beside this part, you can choose chat type as public or private among party members.";
+ mes "With the last button on the chat window, you can arrange chat window size.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "The following text tells you more about the 'Character View'.";
+ mes "When you drag mouse from right to left with the right mouse button held down, the character view rotates (360?.";
+ mes "Holding down the 'Ctrl' key and the right mouse button while dragging the mouse up and down, makes the view ^FF0000Zooming in and out toward the character^000000.";
+ mes "Holding down the 'Shift' key and the right mouse button while dragging the mouse up and down, controls the angle of the view ^FF0000for fixed range^000000.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "This is the last thing I have to teach you about shorcuts. You will realize how important Shorcuts are if you want to play with efficiency.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "^FF0000The 'ESC' ^000000key is the function key, it ^0087FFcalls 'Exit to window' command or 'Return to game' command^000000.";
+ mes "^FF0000 Keys From 'F1' to 'F9'^000000 are shortcut keys for ^0087FFeach item registered on Hot key window^000000.";
+ mes "^FF0000The Key 'F10'^000000 adjusts ^0087FFthe size of chat window^000000.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "^FF0000The key 'F11'^000000 clears ^0087FFall windows except basic information window and chatting box^000000.";
+ mes "^FF0000The key 'F12'^000000 calls ^0087FFHot key window^000000.";
+ mes "^FF0000The key 'insert' on the keyboard^000000 is the hot key for character's to ^0087FFsit or stand^000000. Also you can type ^0087FF'/sit or /stand'^000000 in the chatting Box.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "^FF0000The key 'alt+home'^000000 is ^0087FFShorcut for Ground cursor on / off^000000.";
+ mes "^FF0000The key 'alt+end'^000000 is ^0087FFShorcut for character Health and SKill Point gauge on / off ^000000. You'd better turn it on all the time.";
+ mes "^FF0000The key 'page up & down'^000000 will scroll ^0087FFText in interfaces and the chatting box, Mouse whirl will also scroll^000000.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "We have a system called 'Alignment System'.";
+ mes "When you meet somebody nice or somebody helps you, you can give the person a good point in recognition of services.";
+ mes "On the contrary, to someone who is ill-mannered or doing evil things on people, you can give the person 2 bad points. Meanwhile you will get 1 bad point for the penalty. This is to prevent abuse of the alignment system.";
+ next;
+ mes "[Newbie Instructor]";
+ mes "The Alignment system is only available for adult characters over Novice level 8 and can be used once a day.";
+ mes "I know you don't think this is not important right now, but be careful, it causes you the cumulative effects on your character.";
+ mes "Somehow I believe nice persons will play fair even without this kind of restriction!";
+ next;
+ if (Done_milk==1) goto AfterMilk;
+ set Done_milk,1;
+ getitem 519,1;
+ goto AfterMilk;
+
+ AfterMilk:
+ mes "[Newbie Instructor]";
+ mes "Well... This is all I can tell you, buddy. Leo Von Frisch will take care of you from now on.";
+ mes "Do your best, Ok? Ragnarok is a worthwhile game.";
+ mes "By the way... this is my present for you. I sneaked this from mess hall. Promise me you will do your best, OK?";
+ close;
+}
+
+// -- Leo, Quiz Npc --
+new_1-2.gat,84,115,4 script Leo Von Frisch 85,{
+ if (nov_1_2_cos_c<1) goto startL0;
+ if (nov_1_2_cos_c<7) goto Lcontinue;
+ if (nov_1_2_cos_c==7) goto LNPCMaster;
+ if (nov_1_2_cos_c==8) goto LMannerMaster;
+
+ mes "[Leo Von Frisch]";
+ mes "Umm? What brings you to me? My time is already over. You have finish the First course...";
+ next;
+ goto Lend;
+
+ LMannerMaster:
+ mes "[Leo Von Frisch]";
+ mes "Umm? What brings you to me? My time is already over. Probably your next course will be to speak to the 'Manner Master'...";
+ next;
+ goto Lend;
+
+ LNPCMaster:
+ mes "[Leo Von Frisch]";
+ mes "Um? What's matter? My class is over. Your next course would be 'NPC Guide'...";
+ next;
+ goto Lend;
+
+ Lend:
+ mes "Or... Are you willing to attend again?";
+ next;
+ menu "No, Sir! I apologise about my behaviour!",Lendno,"Yes, Sir! I am!",Lendyes;
+
+ Lendno:
+ mes "[Leo Von Frisch]";
+ mes "If you think not enough, come anytime. Dismissed.";
+ close;
+ Lendyes:
+ mes "[Leo Von Frisch]";
+ mes "Ok! I love your passionate answer!! Let's begin!";
+ next;
+ goto LQ2;
+
+ Lcontinue:
+ set nov_1st_cos, 0;
+ mes "[Leo Von Frisch]";
+ mes "Um... Something interrupted my class without reason.";
+ mes "Anyhow alright. Shall we begin all over again!";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "Are you ready!? Answer me!";
+ next;
+ menu "Yes sir!",LcontinueY,"No,I am not ready yet.",Lno;
+ LcontinueY:
+ if (nov_1_2_cos_c==1) goto LQ2;
+ if (nov_1_2_cos_c==2) goto LQ3;
+ if (nov_1_2_cos_c==3) goto LQ4;
+ if (nov_1_2_cos_c==4) goto LQ5;
+ if (nov_1_2_cos_c==5) goto LQ6;
+ if (nov_1_2_cos_c==6) goto LQ7;
+ close;
+ Lno:
+ mes "[Leo Von Frisch]";
+ mes "'Noooo.'?! You said 'Noooo.'! What were you thinking, you rascal! Go get ready to move! Right now!";
+ close;
+
+ startL0:
+ mes "[Leo Von Frisch]";
+ mes "Come on! Beginner!! Now You are with an Expert of Ragnarok!!";
+ mes "Me! I am God of beginners and I enlighten your pathetic souls from the Darkened World.";
+ mes "Besides I am a Tutor and an itelligence Officer in the 4th Chivarly of Prontera!";
+ mes "You can call me Sir Leo Von Frisch, got that clear?";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "Are you ready!? Answer me!";
+ next;
+ menu "Yes sir!",Lyes,"No, I am not ready yet.",Lno;
+
+ Lyes:
+ mes "[Leo Von Frisch]";
+ mes "Well Done! Ok, Let's begin!! The first chapter is 'Let's Start Ragnarok'!";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "Ah~ I almost forgot to question you something.";
+ mes "What is the best introduction for 'Ragnarok'?";
+ next;
+ menu "War among human beings",LQ1_1,"War between human beings and monsters",LQ1_2,"World that humans have taken over",LQ1_3,"World humans have coexisted with monsters",LQ1_4;
+
+ LQ1_1:
+ set nov_1_2_cos_c,1;
+ mes "[Leo Von Frisch]";
+ mes "Umm... Be cooperate with other people. The world will be end without nothing.";
+ mes "Answer is ^FF0000War between human beings and monsters^000000.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "I will keep surprising you with unexpectable questions, concentrate on my lesson.";
+ mes "I meant you, dumbhead, alright?";
+ mes "Let's carry on.";
+ next;
+ goto LQ2;
+ LQ1_2:
+ getitem 513,1;
+ set nov_1st_cos, nov_1st_cos+1;
+ set nov_1_2_cos_c,1;
+ mes "[Leo Von Frisch]";
+ mes "Yes, that's right. You know well. We are fighting with evil creatures. In most of MMORPG games, they are known as Monsters or commonly just called as Mob.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "I will keep surprising you with unexpectable questions, concentrate on my lesson.";
+ mes "I meant you, dumbhead, alright?";
+ mes "Let's carry on.";
+ next;
+ goto LQ2;
+ LQ1_3:
+ set nov_1_2_cos_c,1;
+ mes "[Leo Von Frisch]";
+ mes "...What the bloody hell are you saying? Why would humans torment creatures for?";
+ mes "Answer is ^FF0000War between human beings and monsters^000000.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "I will keep surprising you with unexpectable questions, concentrate on my lesson.";
+ mes "I meant you, dumbhead, alright?";
+ mes "Let's carry on.";
+ next;
+ goto LQ2;
+ LQ1_4:
+ set nov_1_2_cos_c,1;
+ mes "[Leo Von Frisch]";
+ mes "Oh well... I fully understand your pursue ideal world... Not now, not now.";
+ mes "Answer is ^FF0000War between human beings and monsters^000000.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "I will keep surprising you with unexpectable questions, concentrate on my lesson.";
+ mes "I meant you, dumbhead, alright?";
+ mes "Let's carry on.";
+ next;
+ goto LQ2;
+
+ LQ2:
+ mes "[Leo Von Frisch]";
+ mes "When you click the shortcut for Ragnarok, it will be automatically connected to patch server, which enables you to continually update game articles. MMORPG game keeps being developed to improve its quality.";
+ mes "In the meantime, you can check ^FF0000the Notice^000000 on the patch window.";
+ mes "Read that notice if you don't want to miss any game event or update articles.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "You can coose between one or more servers.";
+ mes "After choosing one of game servers, you can make a character.";
+ mes "3 empty slots or more for character are given to you on the first place, you can have 3 kinds of different characters.";
+ mes "For character appearance, you can choose a favourable hairstyle from a lot of kinds and from some kinds of hair colour. In near future, we will introduce more hair colour and clothings.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "Double Click an empty slot and you can make your character.";
+ mes "^FF0000You can arrange beginning Stats of your character. With that, Your character could be the best for job you wish for.^000000.";
+ mes "So You should consider beginning Stats as well fitting for the job you want your character to be in the future.";
+ next;
+ if (nov_1_2_cos_c>1) goto LQ3;
+ mes "[Leo Von Frisch]";
+ mes "I give you one easy question!";
+ mes "What is the wrong description for each Stat? You should choose WRONG one not right one!!";
+ next;
+ menu "STR - Increase hit point and maximum weight.",LQ2_1,"AGI - Increase flee rate and attack speed.",LQ2_2,"DEX - Increase accuracy and magic defence.",LQ2_3,"INT - Increase magic attack/defence.",LQ2_4;
+
+ LQ2_1:
+ set nov_1_2_cos_c,2;
+ mes "That's wrong!";
+ mes "'DEX - Increase accuracy and magic defence.' is not correct, it should be:";
+ mes "^FF0000'DEX - Increase accuracy and weapon damage.'^000000.";
+ next;
+ goto LQ3;
+ LQ2_2:
+ set nov_1_2_cos_c,2;
+ mes "That's wrong!";
+ mes "'DEX - Increase accuracy and magic defence.' is not correct, it should be:";
+ mes "^FF0000'DEX - Increase accuracy and weapon damage.'^000000.";
+ next;
+ goto LQ3;
+ LQ2_3:
+ getitem 513,1;
+ set nov_1st_cos, nov_1st_cos+1;
+ set nov_1_2_cos_c,2;
+ mes "[Leo Von Frisch]";
+ mes "Alright! You got it.";
+ mes "It is not 'DEX - Increase accuracy and magic defence.', correct description is:";
+ mes "^FF0000'DEX - Increase accuracy and weapon damage.'^000000.";
+ mes "This is reward. Take it.";
+ next;
+ goto LQ3;
+ LQ2_4:
+ set nov_1_2_cos_c,2;
+ mes "That's wrong!";
+ mes "'DEX - Increase accuracy and magic defence.' is not correct, it should be:";
+ mes "^FF0000'DEX - Increase accuracy and weapon damage.'^000000.";
+ next;
+ goto LQ3;
+
+ LQ3:
+ mes "[Leo Von Frisch]";
+ mes "Let's go on.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "Let's move on to 'Basic Interface'.";
+ mes "Alright, check 'Basic Information window' on the upper-left side of your screen. You can see full screen of it with ^FF0000Double Click^000000, when it's shown as the smallest one.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "'Basic Information Window shows ^FF0000Every Fundamental Functions^000000. Also, you can click the specific function windows with the pertinent button .";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "^FF0000'Base Lv'^000000 is the level of character. ^FF0000'Job Lv'^000000 Specializes the Character, it allows a character to learn a skill with ^FF0000Skill Point^000000 everytime at levelup.";
+ mes "Let's spare skill point part for later.";
+ mes "The Gauge bar beside each level is shown how much % of EXP Point you've gained for a next levelup. When it goes into 100% you will raise one level up, this bar will reset into 0 for a next turn.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "Weight shows 'Current Belongings/Maximum Belongings'. When a player possesses things more than a half, it will shown in ^FF0000Red Colour^000000.";
+ mes "From this moment, this player ^FF0000cannot regenerate HP, SP naturally^000000. Furthermore when its amount is over than 90%, ^FF0000a player cannot Fight.^000000";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "If you don't want to be murdered due to your stupidity, lighten your weight as you can.";
+ mes "You can use Kafra Wearhouse to store items. And it will cost you the different local fee from 35 Zeny to 50 Zeny.";
+ next;
+ if (nov_1_2_cos_c>2) goto LQ4;
+ mes "[Leo Von Frisch]";
+ mes "Let's take a break~ Phew...";
+ mes "Ah~ I have an idea~ I will give you a 'for-Fun' question.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "You... Do you remember who I am?";
+ mes "I told you about me before the lesson got started. Now remember? Or you just ignored me as 'Poof~ you are just a nothing but a NPC~'...";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "Ah Ah~ I don't want to show off myself but because I am your tutor. I am just curious. By the way this is just '^990000for fun^000000', you know.";
+ mes "Choose one thing which has nothing to do with me.";
+ next;
+ menu "Instructor.",LQ3_1,"An Intelligence Officer in the 4th Chivarly of Prontera.",LQ3_2,"Public Prosecutor.",LQ3_3,"I have no idea.",LQ3_4;
+
+ LQ3_1:
+ set nov_1_2_cos_c,3;
+ mes "[Leo Von Frisch]";
+ mes "Damn you!... Next!";
+ next;
+ goto LQ4;
+ LQ3_2:
+ set nov_1_2_cos_c,3;
+ mes "[Leo Von Frisch]";
+ mes "Damn you!... Next!";
+ next;
+ goto LQ4;
+ LQ3_3:
+ mes "[Leo Von Frisch]";
+ mes "Fine! I am not a 'Public Prosecutor' but a ^ff0000'Newbie Tutor^000000!";
+ next;
+ getitem 516,3;
+ set nov_1st_cos, nov_1st_cos+1;
+ set nov_1_2_cos_c,3;
+ mes "[Leo Von Frisch]";
+ mes "Take this. It is nothing, but I am so pleased that you remembered me in detail. Share with your pals.";
+ next;
+ goto LQ4;
+ LQ3_4:
+ set nov_1_2_cos_c,3;
+ mes "[Leo Von Frisch]";
+ mes "Damn you!... Next!";
+ next;
+ goto LQ4;
+
+ LQ4:
+ mes "[Leo Von Frisch]";
+ mes "When you click 'Item' button, it shows your inventory. Shortcut is 'Alt + E'.";
+ mes "Item windows is devided into 3 parts, the equipment you are wearing is not shown on the item window.";
+ mes "^FF0000Right Click^000000on each item, you can see its description and a picture.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "To equip items, ^FF0000it is possible to change equipment by Dragging & Dropping it onto your equipment window, Shorcut is 'ALT+Q'. You can also double click the item ^000000.";
+ mes "^FF0000You can register 9 items or skills from F1 to F9 in the hotkey window^000000.";
+ mes "You should have the hot key window open at all time. You can play easier that way.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "You can see ^FF0000Present skills^000000when you click 'Skill' button. Shorcut is 'Alt + S'.";
+ mes "^FF0000Every time the character's job levels up, you get skill points^000000. You will see blue button in the bottom left corner of your monitor screen.";
+ mes "You can check skill informations ^FF0000by right clicking on each Skill Icon^000000.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "Passive skill means ^FF0000You don't have to spend your SP to use it. It is always in effect^000000. The opposite from Active skill.";
+ mes "Also skills are ^FF0000possible to register on the Hot key window^000000, you can use your favorite skills quickly and easily this way.";
+ next;
+ if (nov_1_2_cos_c>3) goto LQ5;
+ mes "[Leo Von Frisch]";
+ mes "One Question for you!";
+ mes "How to see each item's description and the picture with the mouse?";
+ next;
+ menu "Double Click",LQ4_1,"Right Click",LQ4_2,"Drag & Drop",LQ4_3;
+
+ LQ4_1:
+ set nov_1_2_cos_c,4;
+ mes "[Leo Von Frisch]";
+ mes "That's wrong!";
+ mes "It is ^FF0000'Right Click'^000000!";
+ next;
+ goto LQ5;
+ LQ4_2:
+ getitem 512,1;
+ set nov_1st_cos, nov_1st_cos+1;
+ set nov_1_2_cos_c,4;
+ mes "[Leo Von Frisch]";
+ mes "It is ^FF0000'Right Click'^000000! Correct!";
+ mes "I will reward you for the correct answer. Take it.";
+ next;
+ goto LQ5;
+ LQ4_3:
+ set nov_1_2_cos_c,4;
+ mes "[Leo Von Frisch]";
+ mes "That's wrong!";
+ mes "It is ^FF0000'Right Click'^000000!";
+ next;
+ goto LQ5;
+
+ LQ5:
+ mes "[Leo Von Frisch]";
+ mes "Ok, Back to the Lesson.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "^FF0000At novice level 4 or above, you can make your own chat room with 'Chat' Button^000000. Shorcut is 'Alt + C'.";
+ mes "You can't move when you are in chatroom, but chatting and item trading are available.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "With 'Friend' button, a 'Party' window pops up. You can see all party members and their present location.";
+ mes "Shorcut is 'Alt + Z'.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "Party members being on the same map with you, ^FF0000are shown on the mini-map^000000, Party window is going to be updated.";
+ mes "So that it will act as messenger function like party members log-in. Also it will be upgraded like G-Freind that can connect between Ragnarok and outside.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "With 'Map' button, you can use mini-map in various ways. It can be translucent, opaque and invisible. Also with the +, - button, ^FF0000it is possible to enlarge and reduce its Size^000000. Shorcut is 'Ctrl + Tab'.";
+ mes "Red spot on the mini-map is the loading point to the next map. Player's location is shown like a white arrow. The direction of the white arrow shows which way the player facing.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "The 'Equip' button, ^FF0000opens The window showing the character's equipped items^000000. Shorcut is 'Alt + Q'.";
+ mes "Each equipped item can be ^FF0000right clicked for description and picture^000000, ^FF0000You can equip and unequip items by dragging and dropping between the equipment and inventory windows^000000.";
+ mes "Also Every equipment can be registered on the Hot Key window so you can change your weapon easily.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "The 'Option' button opens the window that allows you to controll the BGM and Sound Effect and turn on/off them. Shorcut is 'Alt + O'.";
+ mes "After Feb 2002, you can also select a window skin from self-made skins shared in fansites.";
+ next;
+ if (nov_1_2_cos_c>4) goto LQ6;
+ mes "[Leo Von Frisch]";
+ mes "Another Question!";
+ mes "Which one is the shortcut for hot key window that hleps you to play easier ?";
+ next;
+ menu "F1",LQ5_1,"F15",LQ5_2,"F16",LQ5_3,"F12",LQ5_4;
+
+ LQ5_1:
+ set nov_1_2_cos_c,5;
+ mes "[Leo Von Frisch]";
+ mes "That's wrong!";
+ mes "The right key is 'F12'";
+ next;
+ goto LQ6;
+ LQ5_2:
+ set nov_1_2_cos_c,5;
+ mes "[Leo Von Frisch]";
+ mes "That's wrong!";
+ mes "The right key is 'F12'";
+ next;
+ goto LQ6;
+ LQ5_3:
+ set nov_1_2_cos_c,5;
+ mes "[Leo Von Frisch]";
+ mes "That's wrong!";
+ mes "The right key is 'F12'";
+ next;
+ goto LQ6;
+ LQ5_4:
+ getitem 517,1;
+ set nov_1st_cos, nov_1st_cos+1;
+ set nov_1_2_cos_c,5;
+ mes "[Leo Von Frisch]";
+ mes "That's right. 'F12' is correct answer.";
+ mes "This is for you.";
+ next;
+ goto LQ6;
+
+ LQ6:
+ mes "[Leo Von Frisch]";
+ mes "OK Let's move on.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "The End.";
+ next;
+ if (nov_1_2_cos_c>5) goto LQ7;
+ mes "[Leo Von Frisch]";
+ mes "Quiz time!";
+ mes "Choose One showing the Right Shortcut for 'Sit' and the Command you type in the Chat Box.";
+ next;
+ menu "'insert' - /Sit",LQ6_1,"'page down' - /Sitting",LQ6_2,"'home' - /Sitdown",LQ6_3,"'delete' - /stand",LQ6_4;
+
+ LQ6_1:
+ getitem 519,1;
+ set nov_1st_cos, nov_1st_cos+1;
+ set nov_1_2_cos_c,6;
+ mes "[Leo Von Frisch]";
+ mes "Yeah, correct.";
+ next;
+ goto LQ7;
+ LQ6_2:
+ set nov_1_2_cos_c,6;
+ mes "[Leo Von Frisch]";
+ mes "Wrong. 'insert' - /Sit is the correct one.";
+ next;
+ goto LQ7;
+ LQ6_3:
+ set nov_1_2_cos_c,6;
+ mes "[Leo Von Frisch]";
+ mes "Wrong. 'insert' - /Sit is the correct one.";
+ next;
+ goto LQ7;
+ LQ6_4:
+ set nov_1_2_cos_c,6;
+ mes "[Leo Von Frisch]";
+ mes "Wrong. 'insert' - /Sit is the correct one.";
+ next;
+ goto LQ7;
+
+ LQ7:
+ mes "[Leo Von Frisch]";
+ mes "Guys, Thank you for standing my boring class for now. And I am not sure whether you fully understand or not.";
+ mes "If you can't get it, play by yourself. 'The proof of the pudding is in the eating.', the proverb.";
+ mes "I hope my class will be helpful to your wretched future in Ragnarok.";
+ next;
+ if (nov_1_2_cos_c > 6) goto LFinishAgain;
+ if (nov_1st_cos > 0) goto nov1stcosCont;
+ mes "[Leo Von Frisch]";
+ mes "By the way... You've missed all answer!!!";
+ mes "You are the worst trainee I've ever had. Sigh...";
+ next;
+ goto nov1stcosCont;
+
+ nov1stcosCont:
+ if (nov_1st_cos < 5) goto nov1stcosCheckL5;
+ if (nov_1st_cos == 5) goto nov1stcosCheckE5;
+ if (nov_1st_cos == 6) goto nov1stcosCheckE6;
+
+ nov1stcosCheckL5:
+ getitem 507,1;
+ goto nov1stcosContNext;
+ nov1stcosCheckE5:
+ getitem 507,2;
+ goto nov1stcosContNext;
+ nov1stcosCheckE6:
+ getitem 507,4;
+ goto nov1stcosContNext;
+
+ nov1stcosContNext:
+ set nov_1_2_cos_c,7;
+ mes "[Leo Von Frisch]";
+ mes "I will reward you for the successful lesson. Take it. They will be useful when you have a hard time to fight.";
+ next;
+ mes "[Leo Von Frisch]";
+ mes "Anyway, Let's call it a day with me, you may go to the 'NPC' master.";
+ mes "If you can't find him, inquire at the sly dog at the centre";
+ close;
+
+ LFinishAgain:
+ mes "[Leo Von Frisch]";
+ mes "Anyway, Let's call it a day with me, you may go to the 'Guide' to know what you must do now.";
+ mes "If you can't find him, search at the centre of the room.";
+ close;
+
+}
+
+// -- Guide Npc --
+new_1-2.gat,99,156,4 script Guide 105,{
+ mes "[Guide]";
+ mes "Hey Hey Where are you going? There is nothing for a Newbie like you upstairs.";
+ mes "Go and take the required trainings!";
+ close;
+}
+
+// -- Guide Npc --
+new_1-2.gat,100,113,4 script Guide 97,{
+ set @R_SEL_NUM,rand(2);
+ mes "[Guide]";
+ if (@R_SEL_NUM != 0) goto tmp1;
+ mes "Mumble~Mumble~Life is getting Sick~What a boring Job I have~~ I was stupid enough to choose this Boring and Solitary thing! Ah~";
+ goto NMes;
+ tmp1:
+ mes "I miss my good-for-nothing day~ Phew~ I should never accepted the Full time job... Eh?!";
+ goto NMes;
+
+ NMes:
+ mes "Hey Buddy~ Want some Help?";
+ next;
+ menu "Current Course State.",-, "Quit.",L0;
+
+ mes "[Guide]";
+ mes "Hmm... Let me see...";
+ if (nov_1_2_cos_c == 9) goto L00a;
+ if (nov_1_2_cos_c == 8) goto L00b;
+ if (nov_1_2_cos_c == 7) goto L00c;
+ mes "I assure you are at the first place with this empty list of yours. You must go toward the Northwest.";
+ mes "And meet 'Leo Von Frisch', the odd veteran Knight. He is a little bit boring, but that's ok. If you work out a correct answer to his question, he will give you some Snacks. So concentrate on him, Okay?";
+ close;
+
+ L00a:
+ mes "Ah...? finished the First Course?";
+ mes "Then meet the guy over there at the southwest, tell him 'I got the 1st lesson.'. He will lead you to the Second Hall.";
+ mes "Well done~ Bye Bye~ Take Care, Okay?";
+ close;
+ L00b:
+ mes "Err...? Didn't you hear the 'NPC Guide' Master's saying? Told you to go to the table right next him. Sigh~ Hurry up~";
+ close;
+ L00c:
+ mes "Did you attend to 'Sir Leo Von Frisch''s Lesson already? Umm the next is...";
+ mes "Go toward next hall at the Southeast, you will see two guys over there.";
+ mes "Ask either of them~";
+ close;
+
+ L0:
+ mes "[Guide]";
+ mes "Alright~ Bye Bye~ Don't comback unless you have no idea~";
+ close;
+}
+
+// -- Monster Explaination --
+new_1-2.gat,115,115,4 script Monster Expert 93,{
+ mes "[Monster Expert]";
+ mes "Hello My name is 'Rane' the Monster Expert in Rune-Midagrd Kingdom.";
+ mes "I'll explain things about Monsters, Briefly.";
+ next;
+ mes "[Monster Expert]";
+ mes "You can See 2 types of Monsters, Non-Aggressive One and Hostile One.";
+ mes "Luckily, there are Non-Aggressive ones around Every City or town so that you don't have to worry about getting assaulted, but in Caves, Dungeons or even the Deep Forest Hostile Monsters are ready to attack you.";
+ next;
+ mes "[Monster Expert]";
+ mes "Besides, the round and pink monster 'Poring' or 'Thief Bug' tends to swallows items rather than attack.";
+ mes "So just ignore them even if they walk up to near you. They won't harm you before you attack.";
+ next;
+ mes "[Monster Expert]";
+ mes "You can see a living statue of the famous 'Poring', a looter, behind me,";
+ mes "and another of the little 'Baphomet Jr.', one of the strongest agressiv monster.";
+ next;
+ mes "[Monster Expert]";
+ mes "And Just run away when you feel danger while fighting. If you go to the distance they won't be able to follow you.";
+ mes "Good Luck.";
+ close;
+}
+
+// -- Fake Poring --
+new_1-2.gat,112,120,5 script Statue of Poring 1002,{
+ mes "[Living statue of Poring]";
+ mes "'Don't touch please.'";
+ close;
+}
+
+// -- Fake Bapho Jr. --
+new_1-2.gat,119,120,3 script Statue of Baphomet Jr. 1101,{
+ mes "[Living statue of Baphomet Jr.]";
+ mes "'Don't touch please.'";
+ close;
+}
+
+// -- Fake Kafra --
+new_1-2.gat,158,158,8 script Kafra 117,{
+ mes "'Please leave me alone.'";
+ close;
+}
+
+// -- Fake Guide --
+new_1-2.gat,161,158,8 script Guide 105,{
+ mes "'Please leave me alone.'";
+ close;
+}
+
+// -- Npc Explanation --
+new_1-2.gat,160,183,5 script NPC Master 83,{
+ if (nov_1_2_cos_c==7) goto Lstart;
+ if (nov_1_2_cos_c>7) goto nov12coscM7;
+
+ mes "[NPC Master]";
+ mes "You are not supposed to be here yet. Attend 'Sir Leo Von Frisch''s Lesson first.";
+ mes "If you can't find him, go outside this hall, inquire at the Guide on the Centre.";
+ close;
+
+ nov12coscM7:
+ mes "[NPC Master]";
+ mes "Huh? Why are you here again? I told you everything. Do you want me to do that again?";
+ next;
+ menu "Yeah.",L0,"No not really.",L1;
+
+ L0:
+ mes "[NPC Master]";
+ mes "Alright alrighty. I will repeat for you.";
+ next;
+ goto Ltell;
+ L1:
+ if (nov_1_2_cos_c>8) goto nov12coscM8;
+ mes "[NPC Master]";
+ mes "Next Course is about 'Various examples of rude mannered players and cheaters'. Go to the right table.";
+ close;
+
+ nov12coscM8:
+ mes "[NPC Master]";
+ mes "Did you finish the Newbie Class? What am I talking about? Err... You know what I am saying~whatever...";
+ close;
+
+ Lstart:
+ mes "[NPC Master]";
+ mes "You said you finished the Newbie Class, didn't you? Then from now on I will give tips about NPCs which serve you in Ragnarok.";
+ next;
+ goto Ltell;
+
+ Ltell:
+ mes "[NPC Master]";
+ mes "First, Rune-Midgard Troops which^ff0000 have building locations of each Town^000000.";
+ next;
+ mes "[NPC Master]";
+ mes "They are standing at ^FF0000the enterance or the centre of Town^000000, if you don't know much about buildings, inquire at them. You won't ever be disappointed.";
+ next;
+ mes "[NPC Master]";
+ mes "Second, Kafra Wearhouse where you can ^ff0000'Save'^000000and ^ff0000'Store items'^000000 and ^ff0000'Rent a Cart'^000000.";
+ mes "'Save' means, ^ff0000set your respawn point preparing death while fighting or for the next time ^000000.";
+ mes "So better save than forget? Kafra Staffs are standing at the similar spots as Rune-Midgard Troops.";
+ mes "If you don't save at all, you walk a long way and bam~!you die. Then~There is no choice but to walk all the way back again. Doesn't it sound horrible?";
+ next;
+ mes "[NPC Master]";
+ mes "And you can store your extra items in 'Kafra Wearhouse'. You can access the Storage wherever Kafra Staffs are located.";
+ mes "I always think: 'Use storage' Service is the best for Infrastructure among MMORPG world!! Muhahahaha!!!";
+ if (nov_1_2_cos_c==7) goto LtellNext;
+ mes "Heh Heh~ And they are all beautiful girls~ What about their boss...? Is it a she or He? I am curious...";
+ goto LtellNext;
+
+ LtellNext:
+ next;
+ mes "[NPC Master]";
+ mes "Unlike 'Save', 'Use the Storage' requires a small fee. The fee is different in different areas.";
+ next;
+ mes "[NPC Master]";
+ mes "Last, Those Babes allow you to rent a Cart for the merchant's skill, 'Pushcart'...";
+ next;
+ mes "[NPC Master]";
+ mes "Now let's check how they look like. So You will find them easily next time.";
+ mes "We display figures of them over there. Just take a look before you go the next course.";
+ next;
+ if (nov_1_2_cos_c>7) goto LtellM7;
+ mes "[NPC Master]";
+ mes "Those figures... they were supposed to be right beside me first time... For me they felt really spooky... Imagine, Someone behind you without motion... spooky, huh?";
+ mes "That's why I moved them over there... And now I can see them in front of my eyes... They feel more spooky now...";
+ next;
+ set nov_1_2_cos_c,8;
+ goto LtellM7;
+
+ LtellM7:
+ mes "[NPC Master]";
+ mes "Let's call it a day. Next Course is about 'Various examples of rude mannered players and cheaters'. Go to the right table.";
+ close;
+}
+
+// -- Guide --
+new_1-2.gat,183,183,3 script Guide 95,{
+ if (nov_1_2_cos_c==8) goto Lstart;
+ if (nov_1_2_cos_c>=9) goto Lagain;
+ mes "[Manner Master]";
+ mes "Eh... Ah... Not here not yet... Well... What I mean is... Well... uh...";
+ mes "What I mean is... You should attend to ^FF0000Leo Von Frisch's class on beginner help^000000 first...";
+ mes "Eh... And after... Speak to 'NPC Master'... uh...";
+ close;
+
+ Lstart:
+ mes "[Manner Master]";
+ mes "Greetings~ I am just simple man who will inform you of 'Various examples of Ill-mannered players and cheaters'.";
+ mes "Shall we begin?";
+ next;
+ goto Ltell;
+
+ Ltell:
+ mes "[Manner Master]";
+ mes "1st, Let's get Started with ^ff0000Examples for Ill-manners and attentions ^000000. Just sit down and take it easy.";
+ next;
+ mes "[Manner Master]";
+ mes "There are 3 kinds of Rude manners, 'Mob Stealing', 'Looting' and 'Mob Train'. First off I will tell you about 'Mob Stealing'.";
+ mes "Ah~Before get started, let me tell you about 'Experience Points System in Ragnarok' that is much helpful to your understanding of 'Mob Stealing'. This is very important, Please listen.";
+ next;
+ mes "[Manner Master]";
+ mes "The player who deals the most damage to the monster, takes the most Experience Points. It is based on the percentage of damage you do. You can get more Experience Points by doing more damages.";
+ next;
+ mes "[Manner Master]";
+ mes "For example, if the player named 'Kitten the cat' attacks a monster having 100 HP and he does 65 damage on it, 'Kitten the cat' can get 65% of Experience Points from the monster.";
+ mes "Usually this is the way you get Experience Points from Monsters. But it could be different in some situation.";
+ next;
+ mes "[Manner Master]";
+ mes "This is a different situation when someone joins in on the attack.";
+ next;
+ mes "[Manner Master]";
+ mes "First, the previous player 'Kitten the cat' attacks a monster having 100 HP and he does 50 damage, the other player 'Polar bear' attacks that monster and does the same damage.";
+ next;
+ mes "[Manner Master]";
+ mes "In this situation, 'Kitten the cat' can get double the Experience Points of 'Polar bear'. 'Kitten the cat' gets '66.6%'of the Experience Points, 'Polar bear' gets '33.3%' of the Experience Points.";
+ mes "Get it? Don't ask me about the remaining '0.1' of the Experience Points.I don't know where it goes~.I am not a director.HeHe~";
+ next;
+ mes "[Manner Master]";
+ mes "'Kitten the cat' takes damage from the monster during the fight,";
+ mes "'Polar Bear', a stranger to 'Kitten the cat' can get 1/2 of the Experience Points from 'Kitten the cat' without taking any damage.";
+ mes "That's why we called this '^ff0000Mob Stealing^000000'.";
+ next;
+ mes "[Manner Master]";
+ mes "Briefely and clearly, 'Mob Stealing' is a behaviour of a player ^970197Who doesn't care about the others^000000.";
+ mes "And ^970197Just try to take advantage of others^000000 without any self-effort.";
+ next;
+ mes "[Manner Master]";
+ mes "'Looting' is similar as Mob Stealing. While 'Mob Stealing', when a Player who Never fought picks up items belonging others, it is called '^ff0000Looting^000000'.";
+ mes "Difference Between 'Mob Stealing' and 'Looting'is 'Experience Points'and 'Item'. Very Simple.";
+ mes "But, after the Anti-Loot Patch came, The Sistuation has been getting better. And Anti-Loot wll be patched continuously.";
+ next;
+ mes "[Manner Master]";
+ mes "Let's talk about 'Mob Train'.";
+ mes "One player starts to attack a bunch of monsters. Those monsters start to follow that player. Because Monster AI is not fully implemented yet.";
+ mes "The player then walks near other players and either exits the game or uses the thief skill hide. The monsters lose their target and immediately attack the nearlest person.";
+ next;
+ mes "[Manner Master]";
+ mes "Briefly, 'Mob Train' means attacking a bunch of monsters with a purpose of abusing other players.";
+ mes "If you want to be infamous in Ragnarokonline, I will suggest you do these things above. But if you do that, you would be the worst enemy to the public. Many players will dislike you.";
+ next;
+ mes "[Manner Master]";
+ mes "OK the Next topic is 'The Cheaters'.";
+ mes "The Cheaters are usually called 'Impersonating Server Staffs', 'Scammers', 'Beginer Scammers'.";
+ mes "Umm... Let's start with 'Server Staff Imposter'.";
+ next;
+ mes "[Manner Master]";
+ mes "Usually There are Players who pretend to be Management Crews. They ask other players let them know things like userID and Password. They then try to steal players' items and zeny.";
+ mes "But Management Crews will never ask you for your userID or password. Please remember.";
+ next;
+ mes "[Manner Master]";
+ mes "And please check out the official board frequently as you can. You can see what is going on clearly.";
+ next;
+ mes "[Manner Master]";
+ mes "'Scammer' means a merchant player who try to cheat on the price of their items to the other players.";
+ mes "For example, A Merchant opens a shop with the name 'Weapon price 20,000 zeny', but the actual weapon price in his Shop is 200,000 zeny.";
+ mes "When you trade with merchants, Please always check the price of item. Here is a tip, Zeny is separated with a comma after every three units.like this:'2,000', '20,000' or '200,000'.";
+ next;
+ mes "[Manner Master]";
+ mes "Our last one is 'Beginner Scammers'.";
+ mes "Beginners are especially easy to be cheated. The cheaters tempt you with unavailable items or weapon upgrading.";
+ next;
+ mes "[Manner Master]";
+ mes "So beginners should refer item descriptions on the website. You can check them in 'Guide' section.";
+ mes "In addition, In Ragnarokonline Unathorized item Duplication is a Violation of applicable laws. Please remember that.";
+ next;
+ mes "[Manner Master]";
+ mes "Heh~ It's a lot of informations for you right...? I didn't mean to take so long. Heh Heh...";
+ mes "Ah~ Right! I forgot one really important thing.";
+ next;
+ mes "[Manner Master]";
+ mes "About 'Swearing'... Heh Heh~~I believe you already know... Anyway... No way No swearwords~~";
+ mes "Rude behaviour plus! Swearing... Ummm This is what they mean by ^970197the audacity of the thief^000000...";
+ mes "... That would be '^FF0000The worst kind of player in Ragnarokonline^000000'...?";
+ next;
+ mes "[Manner Master]";
+ mes "Please E-mail us when you want to report these rude players showing the chat window text. You can use 'Print Screen' button when you want to take a picture of screen.";
+ mes "If you report to us with the perfect proof, The player accused of being rude mannered could be warned at first time. Then he could be banned forever.";
+ next;
+ mes "[Manner Master]";
+ mes "Especially to players with a past conviction for rude behaviour, we take strong actions~.";
+ next;
+ mes "[Manner Master]";
+ mes "Listen, Rude players~! When The day comes to PK...";
+ mes "You might be dead under the feet of outraged players who have been abused...";
+ mes "Also You would be freaked out and could not play forever.";
+ next;
+ mes "[Manner Master]";
+ mes "Ok, This is the end of my lesson. You just finished your 1st course. Congratulations.";
+ mes "When you go to the west side through the centre, See the helper who help you to go to the 2nd Course.";
+ if (nov_1_2_cos_c>8) goto LtellM8;
+ set nov_1_2_cos_c,9;
+ goto LtellM8;
+
+ LtellM8:
+ close;
+
+ Lagain:
+ mes "[Manner Master]";
+ mes "Ah... Well... Going to next is no problem... But...";
+ mes "Would you like to attend to 'Various examples of Ill-mannered players and cheaters' again...?";
+ next;
+ menu "Yes.",Ltell,"No.",Lno;
+
+ Lno:
+ mes "[Manner Master]";
+ mes "Umm Sorry. I don't know well about your next course so please inquire at the guide in the Central Hall.";
+ close;
+}
+
+// == SECOND COURSE ==
+// -- Helper --
+new_1-2.gat,78,101,6 script Helper 105,{
+ if (nov_1_2_cos_c>= 9) goto Lcourse2;
+ mes "[Helper]";
+ mes "I am a helper who will guide you to the 2nd registration office. Please attend all classes in 1st course First.";
+ close;
+
+ Lcourse2:
+ mes "[Helper]";
+ mes "You just finished 1st course... OK.";
+ mes "I will let you go to the 2nd registration office.";
+ next;
+ set Done_milk,0;
+ warp "new_1-2.gat",44,171;
+ close;
+}
+
+// -- Helper --
+new_1-2.gat,39,183,3 script Helper 92,{
+ if (nov_1_2_cos_c>=10) goto Lend;
+ mes "[Helper]";
+ mes "Your registration has confirmed. I would like to say 'Congratulations' also.";
+ mes "I will let you know about 2nd course breifly.";
+ next;
+ mes "[Helper]";
+ mes "Your mission is: You must reach at the Castle of the other side from here, through the Fabres Forest. You can do it easily.";
+ next;
+ mes "[Helper]";
+ mes "Notice - If you lose consciousness during fight, you will lose your points and come back here automatically.";
+ next;
+ mes "[Helper]";
+ mes "Ask the helper located in the left side about the entrance of 2nd Course.";
+ mes "OK, We wish you luck.";
+ set nov_1_2_cos_c,10;
+ close;
+
+ Lend:
+ mes "[Helper]";
+ mes "You can ask the helper located in the left side when you are ready for 2nd course.";
+ close;
+}
+
+// -- Helper --
+new_1-2.gat,16,183,5 script Helper 84,{
+ if (nov_1_2_cos_c==10) goto Lstep2;
+ if (nov_1_2_cos_c>=11) goto Lrespawn;
+ mes "[Helper]";
+ mes "Heh... I can't find your name on the list.";
+ mes "Could you register first at the front desk?";
+ close;
+
+ Lstep2:
+ mes "[Helper]";
+ mes "Heh... I can't find your name on the list...";
+ mes "Ah! Here you are. Ok " + strcharinfo(0) + ". Are you ready?";
+ next;
+ menu "Yes.",Lyes,"No.",Lno;
+
+ Lyes:
+ set nov_1_2_cos_c,11;
+ mes "[Helper]";
+ mes "Well... We wish you luck.";
+ savepoint "new_1-2.gat",23,183;
+ warp "new_1-3.gat",96,21;
+ close;
+ Lno:
+ mes "[Helper]";
+ mes "Take some rest before the 2nd Course.";
+ close;
+ Lrespawn:
+ mes "[Helper]";
+ mes "You've been knocked out by Fabre. Yeah you can't fight with a bunch of Fabres anyway.";
+ mes "By the way, 2nd Course 1th test. Are you going to start now?";
+ next;
+ menu "Yes.",Lspawnyes,"No.",Lno;
+
+ Lspawnyes:
+ mes "[Helper]";
+ mes "Well... We wish you luck.";
+ next;
+ warp "new_1-3.gat",96,21;
+ close;
+}
+
+
+// == THIRD COURSE ==
+// nov_3_merchant: count the number of answers to become merchant
+// nov_3_swordman: count the number of answers to become swordman
+// nov_3_archer: count the number of answers to become archer
+// nov_3_thief: count the number of answers to become thief
+// nov_3_magician: count the number of answers to become magician
+// nov_3_acolyte: count the number of answers to become acolyte
+// set nov_1_4_cos_c: to know third course advancement (to avoid to repeat question)
+
+// -- Helper --
+new_1-4.gat,100,29,4 script Helper 54,{
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ set @TEMP,rand(4);
+ mes "[Helper]";
+ mes "Welcome, Newbie!! I don't have much time to talk. I just tell you the basic details.";
+ mes "Your registration has been confirmed at the time you arrived here! You can go directly through to the next 3 courses...";
+ mes "Are you gonna start now?";
+ next;
+ menu "Let's Rock!",-,"Quit",L1;
+
+ mes "[Helper]";
+ mes "The guide will inform you details!";
+ mes "Bye!";
+ next;
+ if (@TEMP != 0) goto L0a;
+ warp "new_1-4.gat",94,63;
+ close;
+ L0a:
+ if (@TEMP != 1) goto L0b;
+ warp "new_1-4.gat",99,63;
+ close;
+ L0b:
+ if (@TEMP != 2) goto L0c;
+ warp "new_1-4.gat",100,58;
+ close;
+ L0c:
+ warp "new_1-4.gat",98,62;
+ close;
+
+ L1:
+ mes "[Helper]";
+ mes "Are you waiting for someone here..?";
+ close;
+}
+
+// -- Helper --
+new_1-4.gat,100,70,4 script Helper 67,{
+ if (nov_1_4_cos_c > 13) goto LQFin;
+ if (nov_1_4_cos_c > 5) goto LQ00;
+ if (nov_1_4_cos_c > 0) goto ContinueQuestions;
+ mes "[Helper]";
+ mes "Here we are. From now on we will have 1st personality test.";
+ mes "Take it easy and choose the right one for you.";
+ mes "There are no standards for good and evil, it's just a test for your personality.";
+ mes "Shall we start now?";
+ next;
+ goto ContinueQuestions;
+
+ ContinueQuestions:
+ mes "[Helper]";
+ mes "Choose one word most familiar to you.";
+ next;
+ if (nov_1_4_cos_c == 1) goto LQ1;
+ if (nov_1_4_cos_c == 2) goto LQ2;
+ if (nov_1_4_cos_c == 3) goto LQ3;
+ if (nov_1_4_cos_c == 4) goto LQ4;
+ if (nov_1_4_cos_c == 5) goto LQ5;
+
+ menu "Individual",LQ0a,"Public",LQ0b;
+
+ LQ0a:
+ set nov_1_4_cos_c,1;
+ set nov_3_archer,nov_3_archer+1;
+ goto LQ1;
+ LQ0b:
+ set nov_1_4_cos_c,1;
+ set nov_3_thief,nov_3_thief+1;
+ goto LQ1;
+
+ LQ1:
+ menu "Chances",LQ1a,"Permanence",LQ1b;
+
+ LQ1a:
+ set nov_1_4_cos_c,2;
+ set nov_3_magician,nov_3_magician+1;
+ goto LQ2;
+ LQ1b:
+ set nov_1_4_cos_c,2;
+ set nov_3_acolyte,nov_3_acolyte+1;
+ goto LQ2;
+
+ LQ2:
+ menu "Consumer",LQ2a,"Distributor",LQ2b;
+
+ LQ2a:
+ set nov_1_4_cos_c,3;
+ set nov_3_swordman,nov_3_swordman+1;
+ goto LQ3;
+ LQ2b:
+ set nov_1_4_cos_c,3;
+ set nov_3_merchant,nov_3_merchant+1;
+ goto LQ3;
+
+ LQ3:
+ menu "Swiftness",LQ3a,"Prudence",LQ3b;
+
+ LQ3a:
+ set nov_1_4_cos_c,4;
+ set nov_3_thief,nov_3_thief+1;
+ goto LQ4;
+ LQ3b:
+ set nov_1_4_cos_c,4;
+ set nov_3_archer,nov_3_archer+1;
+ goto LQ4;
+
+ LQ4:
+ menu "Theory",LQ4a,"Experience",LQ4b;
+
+ LQ4a:
+ set nov_1_4_cos_c,5;
+ set nov_3_magician,nov_3_magician+1;
+ goto LQ5;
+ LQ4b:
+ set nov_1_4_cos_c,5;
+ goto LQ5;
+
+ LQ5:
+ menu "Reality",LQ5a,"Ideal",LQ5b;
+
+ LQ5a:
+ set nov_1_4_cos_c,6;
+ set nov_3_merchant,nov_3_merchant+1;
+ goto LQ00;
+ LQ5b:
+ set nov_1_4_cos_c,6;
+ set nov_3_acolyte,nov_3_acolyte+1;
+ goto LQ00;
+
+ LQ00:
+ mes "[Helper]";
+ mes "Choose 'Yes' or 'No'.";
+ next;
+ if (nov_1_4_cos_c == 7) goto LQ01;
+ if (nov_1_4_cos_c == 8) goto LQ02;
+ if (nov_1_4_cos_c == 9) goto LQ03;
+ if (nov_1_4_cos_c == 10) goto LQ04;
+ if (nov_1_4_cos_c == 11) goto LQ05;
+ if (nov_1_4_cos_c == 12) goto LQ06;
+ if (nov_1_4_cos_c == 13) goto LQ07;
+ mes "[Helper]";
+ mes "To die with honor is better than to live with disgrace.";
+ next;
+ menu "Yes",LQ00a,"No",LQ00b;
+
+ LQ00a:
+ set nov_1_4_cos_c,7;
+ set nov_3_swordman,nov_3_swordman+1;
+ goto LQ01;
+ LQ00b:
+ set nov_1_4_cos_c,7;
+ set nov_3_thief,nov_3_thief+1;
+ goto LQ01;
+
+ LQ01:
+ mes "[Helper]";
+ mes "It gives me headache even when my cousin makes big success.";
+ next;
+ menu "Yes",LQ01a,"No",LQ01b;
+
+ LQ01a:
+ set nov_1_4_cos_c,8;
+ set nov_3_merchant,nov_3_merchant+1;
+ goto LQ02;
+ LQ01b:
+ set nov_1_4_cos_c,8;
+ set nov_3_acolyte,nov_3_acolyte+1;
+ goto LQ02;
+
+ LQ02:
+ mes "[Helper]";
+ mes "Always check the manual first before assemble something like household electric appliance.";
+ next;
+ menu "Yes",LQ02a,"No",LQ02b;
+
+ LQ02a:
+ set nov_1_4_cos_c,9;
+ set nov_3_magician,nov_3_magician+1;
+ goto LQ03;
+ LQ02b:
+ set nov_1_4_cos_c,9;
+ set nov_3_archer,nov_3_archer+1;
+ goto LQ03;
+
+ LQ03:
+ mes "[Helper]";
+ mes "I am always at the head of everything.";
+ next;
+ menu "Yes",LQ03a,"No",LQ03b;
+
+ LQ03a:
+ set nov_1_4_cos_c,10;
+ set nov_3_swordman,nov_3_swordman+1;
+ goto LQ04;
+ LQ03b:
+ set nov_1_4_cos_c,10;
+ set nov_3_archer,nov_3_archer+1;
+ goto LQ04;
+
+ LQ04:
+ mes "[Helper]";
+ mes "When I see the sign 'PULL' on the door I want to PUSH.";
+ next;
+ menu "Yes",LQ04a,"No",LQ04b;
+
+ LQ04a:
+ set nov_1_4_cos_c,11;
+ set nov_3_thief,nov_3_thief+1;
+ goto LQ05;
+ LQ04b:
+ set nov_1_4_cos_c,11;
+ set nov_3_merchant,nov_3_merchant+1;
+ goto LQ05;
+
+ LQ05:
+ mes "[Helper]";
+ mes "Sometimes I see things unreal.";
+ next;
+ menu "Yes",LQ05a,"No",LQ05b;
+
+ LQ05a:
+ set nov_1_4_cos_c,12;
+ set nov_3_acolyte,nov_3_acolyte+1;
+ goto LQ06;
+ LQ05b:
+ set nov_1_4_cos_c,12;
+ set nov_3_swordman,nov_3_swordman+1;
+ goto LQ06;
+
+ LQ06:
+ mes "[Helper]";
+ mes "I could fly if I fall off.";
+ next;
+ menu "Yes",LQ06a,"No",LQ06b;
+
+ LQ06a:
+ set nov_1_4_cos_c,13;
+ goto LQ07;
+ LQ06b:
+ set nov_1_4_cos_c,13;
+ set nov_3_magician,nov_3_magician+1;
+ goto LQ07;
+
+ LQ07:
+ mes "[Helper]";
+ mes "Money talks. I can buy even human being if I want.";
+ next;
+ menu "Yes",LQ07a,"No",LQ07b;
+
+ LQ07a:
+ set nov_1_4_cos_c,14;
+ set nov_3_merchant,nov_3_merchant+1;
+ set nov_3_magician,nov_3_magician+1;
+ set nov_3_thief,nov_3_thief+1;
+ goto LQFin;
+ LQ07b:
+ set nov_1_4_cos_c,14;
+ set nov_3_swordman,nov_3_swordman+1;
+ set nov_3_archer,nov_3_archer+1;
+ set nov_3_acolyte,nov_3_acolyte+1;
+ goto LQFin;
+
+ LQFin:
+ set @TEMP,rand(4);
+ mes "[Helper]";
+ mes "You just finished 1st test. Congratulations.";
+ mes "You can now go to the next test right away";
+ next;
+ if (@TEMP != 0) goto LQFin1;
+ warp "new_1-4.gat",13,96;
+ close;
+ LQFin1:
+ if (@TEMP != 1) goto LQFin2;
+ warp "new_1-4.gat",17,96;
+ close;
+ LQFin2:
+ if (@TEMP != 2) goto LQFin3;
+ warp "new_1-4.gat",21,96;
+ close;
+ LQFin3:
+ warp "new_1-4.gat",25,96;
+ close;
+}
+
+// -- Helper --
+// nov_1_4_cos_c (variable) starts with value 14
+new_1-4.gat,20,109,4 script Helper 48,{
+ if (nov_1_4_cos_c > 22) goto LQFin;
+ if (nov_1_4_cos_c > 14) goto ContinueQuestions;
+ mes "[Helper]";
+ mes "We start your 2nd test now!";
+ mes "Take it easy and choose the right answer for you!";
+ mes "OK Start now!";
+ next;
+ goto LQ1;
+
+ ContinueQuestions:
+ mes "[Helper]";
+ mes "We continue your 2nd test now!";
+ mes "Take it easy and choose the right answer for you!";
+ mes "OK continue now!";
+ next;
+ if (nov_1_4_cos_c == 15) goto LQ2;
+ if (nov_1_4_cos_c == 16) goto LQ3;
+ if (nov_1_4_cos_c == 17) goto LQ4;
+ if (nov_1_4_cos_c == 18) goto LQ5;
+ if (nov_1_4_cos_c == 19) goto LQ6;
+ if (nov_1_4_cos_c == 20) goto LQ7;
+ if (nov_1_4_cos_c == 21) goto LQ8;
+ if (nov_1_4_cos_c == 22) goto LQ9;
+
+ LQ1:
+ mes "[Helper]";
+ mes "For you life means...";
+ next;
+ menu "Feel irritated.",LQ1a,"I like it.",LQ1b,"Doesn't come to my mind.",LQ1c;
+
+ LQ1a:
+ set nov_1_4_cos_c,15;
+ set nov_3_swordman,nov_3_swordman+1;
+ set nov_3_thief,nov_3_thief+1;
+ goto LQ2;
+ LQ1b:
+ set nov_1_4_cos_c,15;
+ set nov_3_merchant,nov_3_merchant+1;
+ set nov_3_acolyte,nov_3_acolyte+1;
+ goto LQ2;
+ LQ1c:
+ set nov_1_4_cos_c,15;
+ set nov_3_archer,nov_3_archer+1;
+ set nov_3_magician,nov_3_magician+1;
+ goto LQ2;
+
+ LQ2:
+ mes "[Helper]";
+ mes "Before you buy something in a shop...";
+ next;
+ menu "Check first whether it's neccessary.",LQ2a,"Check the cash first.",LQ2b,"Regret after shopping.",LQ2c;
+
+ LQ2a:
+ set nov_1_4_cos_c,16;
+ set nov_3_archer,nov_3_archer+1;
+ goto LQ3;
+ LQ2b:
+ set nov_1_4_cos_c,16;
+ set nov_3_merchant,nov_3_merchant+1;
+ goto LQ3;
+ LQ2c:
+ set nov_1_4_cos_c,16;
+ set nov_3_thief,nov_3_thief+1;
+ goto LQ3;
+
+ LQ3:
+ mes "[Helper]";
+ mes "When you have to compete with others...";
+ next;
+ menu "I enjoy it.",LQ3a,"I do if I have to.",LQ3b,"I hate it.",LQ3c;
+
+ LQ3a:
+ set nov_1_4_cos_c,17;
+ set nov_3_swordman,nov_3_swordman+1;
+ goto LQ4;
+ LQ3b:
+ set nov_1_4_cos_c,17;
+ set nov_3_archer,nov_3_archer+1;
+ goto LQ4;
+ LQ3c:
+ set nov_1_4_cos_c,17;
+ set nov_3_acolyte,nov_3_acolyte+1;
+ goto LQ4;
+
+ LQ4:
+ mes "[Helper]";
+ mes "When you deal something...";
+ next;
+ menu "I prefer to deal alone.",LQ4a,"I prefer to deal together.",LQ4b;
+
+ LQ4a:
+ set nov_1_4_cos_c,18;
+ set nov_3_magician,nov_3_magician+1;
+ goto LQ5;
+ LQ4b:
+ set nov_1_4_cos_c,18;
+ set nov_3_thief,nov_3_thief+1;
+ goto LQ5;
+
+ LQ5:
+ mes "[Helper]";
+ mes "If anyone ask you a favour...";
+ next;
+ menu "Anything I can help, I will do my best.",LQ5a,"Simply I would help.",LQ5b,"Just ignore.",LQ5c;
+
+ LQ5a:
+ set nov_1_4_cos_c,19;
+ set nov_3_acolyte,nov_3_acolyte+1;
+ goto LQ6;
+ LQ5b:
+ set nov_1_4_cos_c,19;
+ set nov_3_archer,nov_3_archer+1;
+ goto LQ6;
+ LQ5c:
+ set nov_1_4_cos_c,19;
+ set nov_3_magician,nov_3_magician+1;
+ goto LQ6;
+
+ LQ6:
+ mes "[Helper]";
+ mes "If anyone offer you to be President / Vise-President / a Congressman...";
+ next;
+ menu "President.",LQ6a,"Vise-President",LQ6b,"Congressman is ok.",LQ6c,"I don't want to be a politican.",LQ6d;
+
+ LQ6a:
+ set nov_1_4_cos_c,20;
+ set nov_3_swordman,nov_3_swordman+1;
+ goto LQ7;
+ LQ6b:
+ set nov_1_4_cos_c,20;
+ set nov_3_merchant,nov_3_merchant+1;
+ goto LQ7;
+ LQ6c:
+ set nov_1_4_cos_c,20;
+ set nov_3_thief,nov_3_thief+1;
+ goto LQ7;
+ LQ6d:
+ set nov_1_4_cos_c,20;
+ goto LQ7;
+
+ LQ7:
+ mes "[Helper]";
+ mes "If you come across the keen knife on the street then you think...";
+ next;
+ menu "'Look so sharp!'",LQ7a,"'Who the hell is the owner of this?'",LQ7b,"'Could be dead harm to people. Should be careful!'",LQ7c,"'Nice Brand~!'",LQ7d;
+
+ LQ7a:
+ set nov_1_4_cos_c,21;
+ set nov_3_swordman,nov_3_swordman+1;
+ goto LQ8;
+ LQ7b:
+ set nov_1_4_cos_c,21;
+ set nov_3_acolyte,nov_3_acolyte+1;
+ goto LQ8;
+ LQ7c:
+ set nov_1_4_cos_c,21;
+ set nov_3_magician,nov_3_magician+1;
+ goto LQ8;
+ LQ7d:
+ set nov_1_4_cos_c,21;
+ set nov_3_merchant,nov_3_merchant+1;
+ goto LQ8;
+
+ LQ8:
+ mes "[Helper]";
+ mes "When you meet a difficult situation during conversation";
+ next;
+ menu "I hush up with a joke.",LQ8a,"I change subject.",LQ8b,"I try to excuse.",LQ8c,"I appoligize even though it's not my fault.",LQ8d;
+
+ LQ8a:
+ set nov_1_4_cos_c,22;
+ set nov_3_thief,nov_3_thief+1;
+ goto LQ9;
+ LQ8b:
+ set nov_1_4_cos_c,22;
+ set nov_3_swordman,nov_3_swordman+1;
+ goto LQ9;
+ LQ8c:
+ set nov_1_4_cos_c,22;
+ set nov_3_magician,nov_3_magician+1;
+ goto LQ9;
+ LQ8d:
+ set nov_1_4_cos_c,22;
+ set nov_3_acolyte,nov_3_acolyte+1;
+ goto LQ9;
+
+ LQ9:
+ mes "[Helper]";
+ if (sex==1) goto SexLQ9;
+ mes "Now your girl friend asks you to buy a useless gift like souvenir...";
+ next;
+ goto LQ9Norm;
+
+ SexLQ9:
+ mes "Now your boy friend asks you to buy a useless gift like souvenir...";
+ next;
+ goto LQ9Norm;
+
+ LQ9Norm:
+ menu "I would do anything for that person.",LQ9a,"I try to bring around not to buy it.",LQ9b;
+
+ LQ9a:
+ set nov_1_4_cos_c,23;
+ set nov_3_archer,nov_3_archer+1;
+ goto LQFin;
+ LQ9b:
+ set nov_1_4_cos_c,23;
+ set nov_3_merchant,nov_3_merchant+1;
+ goto LQFin;
+
+ LQFin:
+ mes "[Helper]";
+ mes "Now you finished 2nd test! Good job!!";
+ mes "You can go to the result room now.";
+ next;
+ set @TEMP,rand(4);
+ if (@TEMP !=0 ) goto LQFin0;
+ warp "new_1-4.gat",54,136;
+ close;
+ LQFin0:
+ if (@TEMP !=1 ) goto LQFin1;
+ warp "new_1-4.gat",58,136;
+ close;
+ LQFin1:
+ if (@TEMP !=2 ) goto LQFin2;
+ warp "new_1-4.gat",62,136;
+ close;
+ LQFin2:
+ warp "new_1-4.gat",66,136;
+ close;
+}
+
+// -- Helper --
+// @job_number: best job (0: Swordman, 1: Archer, 2: Thief, 3: Magican, 4: Acolyte, 5: Merchant)
+// @nov_2nd_cos: number of answers for the best job
+// nov_1_4_cos_c (variable) starts with value 23
+new_1-4.gat,60,149,4 script Helper 55,{
+ mes "[Helper]";
+ mes "Congratulations~! You finished whole courses by yourself!";
+ mes "You should remember what you've learned from Training Ground. It would be useful to you.";
+ next;
+ mes "[Helper]";
+ mes "Ok, here is the result of your own.";
+ next;
+
+ set @nov_2nd_cos,nov_3_swordman;
+ set @job_number,0;
+
+ if (@nov_2nd_cos >= nov_3_archer) goto L_ROOT_1;
+ set @nov_2nd_cos,nov_3_archer;
+ set @job_number,1;
+ goto L_ROOT_1;
+
+ L_ROOT_1:
+ if (@nov_2nd_cos >= nov_3_thief) goto L_ROOT_2;
+ set @nov_2nd_cos,nov_3_thief;
+ set @job_number,2;
+ goto L_ROOT_2;
+
+ L_ROOT_2:
+ if (@nov_2nd_cos >= nov_3_magician) goto L_ROOT_3;
+ set @nov_2nd_cos,nov_3_magician;
+ set @job_number,3;
+ goto L_ROOT_3;
+
+ L_ROOT_3:
+ if (@nov_2nd_cos >= nov_3_acolyte) goto L_ROOT_4;
+ set @nov_2nd_cos,nov_3_acolyte;
+ set @job_number,4;
+ goto L_ROOT_4;
+
+ L_ROOT_4:
+ if (@nov_2nd_cos >= nov_3_merchant) goto L_START;
+ set @nov_2nd_cos,nov_3_merchant;
+ set @job_number,5;
+ goto L_START;
+
+ L_START:
+ mes "[Helper]";
+ if (nov_1st_cos != 0) goto L_SCORE_1;
+ mes "1st course: 0 / 6 Points.";
+ goto L_SCORE_2;
+ L_SCORE_1:
+ mes "1st course: " + nov_1st_cos + " / 6 Points.";
+ goto L_SCORE_2;
+
+ L_SCORE_2:
+ if (@nov_2nd_cos != 0) goto L_SCORE_3;
+ mes "2nd course: 0 / 10 Points";
+ goto L_SCORE_4;
+ L_SCORE_3:
+ mes "2nd course: " + @nov_2nd_cos + " / 10 Points.";
+ goto L_SCORE_4;
+
+ L_SCORE_4:
+ mes "And the result of personally test is...";
+ next;
+
+ if (@job_number==0) goto JobSwordman;
+ if (@job_number==1) goto JobArcher;
+ if (@job_number==2) goto JobThief;
+ if (@job_number==3) goto JobMagican;
+ if (@job_number==4) goto JobAcolyte;
+ if (@job_number==5) goto JobMerchant;
+
+ JobSwordman:
+ mes "[Helper]";
+ mes "'You have simple-minded and always talk straight. And you have an unshaken faith so that you want to rule the world. Also you always stand by the weak.'";
+ mes "'So We suggest you ^696969Swordman^000000.";
+ goto SelJob;
+ JobArcher:
+ mes "[Helper]";
+ mes "'You are very emotional and sensitive person. And you have open-minded.'";
+ mes "'Also, You don't want to be ordinary, always eager for valuable life of your own.'";
+ mes "'So we suggest you ^696969Archer^000000.'";
+ goto SelJob;
+ JobThief:
+ mes "[Helper]";
+ mes "'You always try to enjoy your life. Life is like adventure for you.'";
+ mes "'So we suggest you ^696969Thief^000000.'";
+ goto SelJob;
+ JobMagican:
+ mes "[Helper]";
+ mes "'You are self-diciplined person. Sometimes you pretend to understand whole things in the world not to be silly to the other person.";
+ mes "'You are man of reason, an introvert, an analyst, a man of keen insight.'";
+ mes "'So we suggest you ^696969Mage^000000.";
+ goto SelJob;
+ JobAcolyte:
+ mes "[Helper]";
+ mes "'You are warm-hearted, easy-going person, taking care of people.'";
+ mes "'But actually you pretend not to need help from the other, people think you are an altruist*.";
+ mes "'So we suggest you ^696969Acolyte^000000.'";
+ mes " ";
+ mes "'* The person who really enjoy helping people with self-sacrifice.'";
+ goto SelJob;
+ JobMerchant:
+ mes "[Helper]";
+ mes "'You can easily catch what the public wants, and you have a talent to organize system, and you have a strong sense of responsibility.'";
+ mes "'So we suggest you ^696969Merchant^000000.'";
+ goto SelJob;
+
+ SelJob:
+ next;
+ mes "[Helper]";
+ mes "...Report says like this. It is not my intention, I don't mean to nice to you!! To me you are just a novice!!";
+ mes "Never take it seriously, it's just a game.";
+ next;
+ mes "[Helper]";
+ mes "Here are the subsides from the Training Ground. Even if they are not worthless to veteran players, not to you.";
+ next;
+ if (nov_1_4_cos_c > 23) goto BeL0;
+
+ nov12coscE0:
+ getitem 519,1;
+ set nov_1_4_cos_c,24;
+ set @temp,nov_1st_cos+@nov_2nd_cos;
+ if (@temp <= 8) goto nov1stcosPnov2ndcosL8;
+ if (@temp <= 15) goto nov1stcosPnov2ndcosL15;
+ if (@temp == 16) goto nov1stcosPnov2ndcosE16;
+ set Zeny,Zeny-500;
+ getitem 507,10;
+ goto BeL0;
+
+ nov1stcosPnov2ndcosL8:
+ set Zeny,Zeny+500;
+ getitem 507,10;
+ goto BeL0;
+ nov1stcosPnov2ndcosL15:
+ set Zeny,Zeny+100;
+ getitem 507,1;
+ goto BeL0;
+ nov1stcosPnov2ndcosE16:
+ set Zeny,Zeny+300;
+ getitem 507,3;
+ goto BeL0;
+
+ BeL0:
+ mes "[Helper]";
+ mes "Now I will let you go to the Job Agency. Before going there are a few things you have to know.";
+ next;
+ mes "[Helper]";
+ mes "Are you going to choose the job following the test? Or are you going to choose you job by your own will?";
+ next;
+ mes "[Helper]";
+ mes "If you follow the test, you can get a lot of subsidy for headstart from guild and association and get to start in the specific town for your job.";
+ mes "If you follow your will, you get to start in specific town for your job with 100 zeny before we gave you.";
+ next;
+ mes "[Helper]";
+ mes "Choose one. This is your only chance.";
+ next;
+ menu "I want to be what I wanted!",L0,"I will follow the result of the test",L1;
+
+ L0:
+ mes "[Helper]";
+ mes "Ok. I see. Choose one what you wanted to be. I will send you to the town right away.";
+ if (nov_1_4_cos_c > 24) goto JobMenu;
+ set nov_1_4_cos_c,25;
+ set Zeny,Zeny+100;
+ mes "I give you 100z to begin in the great world or ragnarok.";
+ goto JobMenu;
+
+ JobMenu:
+ next;
+ menu "Swordman.",L00,"Archer.",L01,"Thief.",L02,"Mage.",L03,"Acolyte.",L04,"Merchant",L05;
+
+ L00:
+ mes "[Helper]";
+ mes "I expect you the best.";
+ savepoint "izlude.gat",94,104;
+ next;
+ set nov_1st_cos,0;
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ warp "izlude_in.gat",121,165;
+ close;
+ L01:
+ mes "[Helper]";
+ mes "I expect you the best.";
+ savepoint "payon.gat",87,117;
+ next;
+ set nov_1st_cos,0;
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ warp "payon_in02.gat",21,71;
+ close;
+ L02:
+ mes "[Helper]";
+ mes "I expect you the best.";
+ savepoint "morocc.gat",160,94;
+ next;
+ set nov_1st_cos,0;
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ warp "morocc.gat",27,291;
+ close;
+ L03:
+ mes "[Helper]";
+ mes "I expect you the best.";
+ savepoint "geffen.gat",120,100;
+ next;
+ set nov_1st_cos,0;
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ warp "geffen.gat",66,175;
+ close;
+ L04:
+ mes "[Helper]";
+ mes "I expect you the best.";
+ savepoint "prontera.gat",273,354;
+ next;
+ set nov_1st_cos,0;
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ warp "prontera.gat",233,313;
+ close;
+ L05:
+ mes "[Helper]";
+ mes "I expect you the best.";
+ savepoint "alberta.gat",116,57;
+ next;
+ set nov_1st_cos,0;
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ warp "alberta.gat",40,42;
+ close;
+
+ L1:
+ if (@job_number==0) goto WarpJobSwordman;
+ if (@job_number==1) goto WarpJobArcher;
+ if (@job_number==2) goto WarpJobThief;
+ if (@job_number==3) goto WarpJobMagican;
+ if (@job_number==4) goto WarpJobAcolyte;
+ if (@job_number==5) goto WarpJobMerchant;
+
+ WarpJobSwordman:
+ mes "[Helper]";
+ mes "Let warp you";
+ next;
+ warp "new_1-4.gat",20,176;
+ close;
+ WarpJobArcher:
+ mes "[Helper]";
+ mes "Let warp you";
+ next;
+ warp "new_1-4.gat",60,176;
+ close;
+ WarpJobThief:
+ mes "[Helper]";
+ mes "Let warp you";
+ next;
+ warp "new_1-4.gat",100,176;
+ close;
+ WarpJobMagican:
+ mes "[Helper]";
+ mes "Let warp you";
+ next;
+ warp "new_1-4.gat",140,176;
+ close;
+ WarpJobAcolyte:
+ mes "[Helper]";
+ mes "Let warp you";
+ next;
+ warp "new_1-4.gat",180,176;
+ close;
+ WarpJobMerchant:
+ mes "[Helper]";
+ mes "Let warp you";
+ next;
+ warp "new_1-4.gat",180,136;
+ close;
+}
+
+// == JOB AGENCIES ==
+
+// -- Swordman --
+// nov_1_4_cos_c (variable) starts with value 25
+// Bonus: 1 Sword, 1 Red Potion, 3 Meats
+new_1-4.gat,19,189,4 script Swordman's Helper 105,{
+ save "izlude_in.gat",121,165;
+ mes "['Swordman' Agency Helper]";
+ mes "Welcome!";
+ mes "Here is Swordman Agency";
+ mes "We are so pleased with you doing great until now.";
+ next;
+ mes "['Swordman' Agency Helper]";
+ mes "Also we hope you will become the greatest adventurer in Ragnarok.";
+ mes "Are you ready?";
+ next;
+ mes "['Swordman' Agency Helper]";
+ mes "Ok.";
+ mes "I will give you a few subsidy and let you get there.";
+ mes "Here are 1 Sword, 1 Red Potion and 3 Meats for you.";
+ if (nov_1_4_cos_c > 25) goto nov_get_item05cont;
+ set nov_1_4_cos_c,26;
+ getitem 1103,1;
+ getitem 501,1;
+ getitem 517,3;
+ goto nov_get_item05cont;
+
+ nov_get_item05cont:
+ next;
+ set nov_1st_cos,0;
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ warp "izlude_in.gat",121,165;
+ close;
+}
+
+// -- Archer --
+// nov_1_4_cos_c (variable) starts with value 25
+// Bonus: 3 Red Potions, 50 zenys
+new_1-4.gat,59,186,4 script Archer's Helper 105,{
+ savepoint "payon.gat",87,117;
+ mes "['Archer' Agency Helper]";
+ mes "Wecome!";
+ mes "Here is Archer Agency.";
+ mes "We are so pleased with you doing great until now.";
+ next;
+ mes "['Archer' Agency Helper]";
+ mes "Also we hope you will become the greatest adventurer in Ragnarok.";
+ mes "Are you ready?";
+ next;
+ mes "['Archer' Agency Helper]";
+ mes "Ok.";
+ mes "I will give you a few subsidy and let you get there.";
+ mes "Here are 3 Red potions and 50 zeny for you.";
+ if (nov_1_4_cos_c > 25) goto nov_get_item05cont;
+ set nov_1_4_cos_c,26;
+ getitem 501,3;
+ set Zeny,Zeny+50;
+ goto nov_get_item05cont;
+
+ nov_get_item05cont:
+ next;
+ set nov_1st_cos,0;
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ warp "payon_in02.gat",21,71;
+ close;
+}
+
+// -- Thief --
+// nov_1_4_cos_c (variable) starts with value 25
+// Bonus: 1 Jacket, 6 Sweet Patatos
+new_1-4.gat,99,186,4 script Thief's Helper 105,{
+ savepoint "morocc.gat",160,94;
+ mes "['Thief' Agency Helper]";
+ mes "Welcome!";
+ mes "Here is the thief agency.";
+ mes "We are so pleased with you doing great until now.";
+ next;
+ mes "['Thief' Agency Helper]";
+ mes "Also we hope you will become the greatest adventurer in Ragnarok.";
+ mes "Are you ready?";
+ next;
+ mes "['Thief' Agency Helper]";
+ mes "Ok.";
+ mes "I will give a few subsidy and let you get there.";
+ mes "Here are 1 Jacket and 6 Sweet Patatos for you.";
+ if (nov_1_4_cos_c > 25) goto nov_get_item05cont;
+ set nov_1_4_cos_c,26;
+ getitem 2303,1;
+ getitem 516,6;
+ goto nov_get_item05cont;
+
+ nov_get_item05cont:
+ next;
+ set nov_1st_cos,0;
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ warp "morocc.gat",27,291;
+ close;
+}
+
+// -- Mage --
+// nov_1_4_cos_c (variable) starts with value 25
+// Bonus: 3 Red Potions, 100 zenys
+new_1-4.gat,139,186,4 script Mage's Helper 105,{
+ savepoint "geffen.gat",120,100;
+ mes "['Mage' Agency Helper]";
+ mes "Wecome!";
+ mes "Here is Mage Agency.";
+ mes "We are so pleased with you doing great until now.";
+ next;
+ mes "['Mage' Agency Helper]";
+ mes "Also we hope you will become the greatest adventurer in Ragnarok.";
+ mes "Are you ready?";
+ next;
+ mes "['Mage'Agency Helper]";
+ mes "Ok.";
+ mes "I will give you a few subsidy and let you get there.";
+ mes "Here are 3 Red potions and 100 Zeny for you.";
+ if (nov_1_4_cos_c > 25) goto nov_get_item05cont;
+ set nov_1_4_cos_c,26;
+ getitem 501,3;
+ set Zeny,Zeny+100;
+ goto nov_get_item05cont;
+
+ nov_get_item05cont:
+ next;
+ set nov_1st_cos,0;
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ warp "geffen.gat",66,175;
+ close;
+}
+
+// -- Acolyte --
+// nov_1_4_cos_c (variable) starts with value 25
+// Bonus: 3 Red Potions, 1 Club
+new_1-4.gat,179,186,4 script Acolyte's Helper 105,{
+ savepoint "prontera.gat",273,354;
+ mes "['Acolyte' Agency Helper]";
+ mes "Wecome!";
+ mes "Here is Acolyte Agency.";
+ mes "We are so pleased with you doing great until now.";
+ next;
+ mes "['Acolyte' Agency Helper]";
+ mes "Also we hope you will become the greatest adventurer in Ragnarok.";
+ mes "Are you ready?";
+ next;
+ mes "['Acolyte' Agency Helper]";
+ mes "Ok.";
+ mes "I will give you a few subsidy and let you get there.";
+ mes "Here are 3 Red Potions and a Club for you.";
+ if (nov_1_4_cos_c > 25) goto nov_get_item05cont;
+ set nov_1_4_cos_c,26;
+ getitem 501,3;
+ getitem 1503,1;
+ goto nov_get_item05cont;
+
+ nov_get_item05cont:
+ next;
+ set nov_1st_cos,0;
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ warp "prontera.gat",233,313;
+ close;
+}
+
+// -- Merchant --
+// nov_1_4_cos_c (variable) starts with value 25
+// Bonus: 3 Red Potions, 100 zenys
+new_1-4.gat,180,146,4 script Merchant's Helper 105,{
+ savepoint "alberta.gat",116,57;
+ mes "['Merchant' Agency Helper]";
+ mes "Wecome!";
+ mes "Here is Merchant Agency.";
+ mes "We are so pleased with you doing great until now.";
+ next;
+ mes "['Merchant' Agency Helper]";
+ mes "Also we hope you will become the greatest adventurer in Ragnarok.";
+ mes "Are you ready?";
+ next;
+ mes "['Merchant' Agency Helper]";
+ mes "Ok.";
+ mes "I will give you a few subsidy and let you get there.";
+ mes "Here are 3 Red potions and 100 Zeny for you.";
+ if (nov_1_4_cos_c > 25) goto nov_get_item05cont;
+ set nov_1_4_cos_c,26;
+ getitem 501,3;
+ set Zeny,Zeny+100;
+ goto nov_get_item05cont;
+
+ nov_get_item05cont:
+ next;
+ set nov_1st_cos,0;
+ set nov_get_item01,0;
+ set nov_1_2_cos_c,0;
+ set Done_milk,0;
+ set nov_1_4_cos_c,0;
+ set nov_3_merchant,0;
+ set nov_3_swordman,0;
+ set nov_3_archer,0;
+ set nov_3_thief,0;
+ set nov_3_magician,0;
+ set nov_3_acolyte,0;
+ warp "alberta.gat",40,42;
+ close;
+}
+
diff --git a/npc/jobs/novice/novice.txt b/npc/jobs/novice/novice.txt
new file mode 100644
index 000000000..21ae3279c
--- /dev/null
+++ b/npc/jobs/novice/novice.txt
@@ -0,0 +1,3503 @@
+//===== eAthena Script =======================================
+//= Ep 8.5+ Novice Training Grounds
+//===== By: ==================================================
+//= Dr.Evil & MasterOfMuppets
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena SVN 3422+(Requires jA Script System)
+//===== Description: =========================================
+//= The New Novice Training Grounds Script, Script by yukito
+//= merged with english dialogues from Prometheus.
+//===== Additional Comments: =================================
+//= 1.0 Added the New Novice Training Grounds, a big thanks [MasterOfMuppets]
+//= to Dr.Evil who did 90% of the work =)
+//============================================================
+
+//====================================================================
+//Ragnarok Online Novice Script by yukito
+//====================================================================
+//Bulletin Board
+new_1-1.gat,66,114,4 script Bulletin Board 111,{
+ mes "^FF0000=================================^000000";
+ mes "^FF0000 ==^000000 ^E40CAA[Welcome] ^CC0000to^FF9000Training ^0000FFGrounds^E40CAA [Welcome] ^FF0000==^000000";
+ mes "^FF0000=================================^000000";
+ close;
+}
+
+new_1-1.gat,53,114,4 script Shion 727,{
+ switch (NEW_MES_FLAG0) {
+ case 0: mes "[Shion]";
+ mes "Hello there~";
+ mes "Welcome to the";
+ mes "Training Grounds!";
+ next;
+ mes "[Shion]";
+ mes "Let's see.";
+ mes "Your name is...";
+ mes "" + strcharinfo(0) + ".";
+ next;
+ mes "[Shion]";
+ mes "My name is Shion.";
+ mes "Yes, this is the first time we've";
+ mes "met, of course. Hahahah~";
+ next;
+ mes "[Shion]";
+ mes "Now that we've met, is there";
+ mes "anything I can help you with?";
+ mes "I'm here for your questions~";
+ next;
+ switch ( select("Where should I go?","About Basic Interfaces.","What the hell are you!") ) {
+ case 1: mes "[Shion]";
+ mes "Do you see the bridge to your";
+ mes "right side? Just cross the bridge";
+ mes "and you'll arrive at a castle. All";
+ mes "you have to do is walk inside!";
+ next;
+ mes "[Shion]";
+ mes "The entrance of the castle";
+ mes "is a ^0000FFspinning white light.^000000 These";
+ mes "portals are what allow you to move";
+ mes "from one zone to another.";
+ next;
+ mes "[Shion]";
+ mes "Do you know how to move?";
+ mes "Left click on a spot, and you'll";
+ mes "walk over to that spot. Piece of";
+ mes "cake, huh?";
+ next;
+ mes "[Shion]";
+ mes "So go for it!";
+ mes "Basically, you must enter the";
+ mes "castle in order to start your";
+ mes "adventures.";
+ next;
+ mes "[Shion]";
+ mes "There are soldiers";
+ mes "at the entrance, so don't";
+ mes "worry about getting lost.";
+ mes "Take care now~!";
+ set NEW_MES_FLAG0,1;
+ close;
+ case 2: mes "[Shion]";
+ mes "Interface...";
+ mes "click','double-click'";
+ mes "and 'drag'is? .";
+ mes "click just one time,";
+ mes "it is called 'click'";
+ mes "click twice straightly,";
+ mes "it is called 'double-click'.";
+ next;
+ mes "[Shion]";
+ mes "'Drag' is dragging your mouse";
+ mes "to the right, left, up and down";
+ mes "when holding 'left-click'.";
+ mes "when you block a sentence in word";
+ mes "processor program";
+ mes "you use this function";
+ mes "don't you?";
+ next;
+ mes "[Shion]";
+ mes "You need to have some basic knowledge";
+ mes "before you know the interface.";
+ mes "You will see it often in the game and...";
+ next;
+ mes "[Shion]";
+ mes "If you cross the bridge on your right side,";
+ mes "you can go learn in the castle.";
+ mes "This is The Training Grounds";
+ mes "for new novices.";
+ mes "You should go there.";
+ next;
+ mes "[Shion]";
+ mes "Ah, the building's entrance is...";
+ mes "^0000FFSmall Spiral Light.^000000";
+ mes "Click it exactly and jump in there.";
+ mes "If you get in there, you will meet other helpers.";
+ mes "Don't worry too much.";
+ set NEW_MES_FLAG0,1;
+ close;
+ case 3: mes "[Shion]";
+ mes "Who? me? I am nov_Shion!";
+ mes "Gosh, you are so rude.";
+ mes "I am doing free service, without payment.";
+ mes "I feel so bad.";
+ set NEW_MES_FLAG0,2;
+ close;
+ }
+ case 1: mes "[Shion]";
+ mes "Huh...?";
+ mes "Why are you";
+ mes "still here?";
+ mes "^6A6A6A*Sigh...*";
+ next;
+ mes "[Shion]";
+ mes "Hey, when you enter the Training";
+ mes "Grounds, you'll earn all sorts of";
+ mes "things that will help you play the";
+ mes "game. You'll even have the chance";
+ mes "to get zeny and other rewards.";
+ next;
+ mes "[Shion]";
+ mes "You can even gain";
+ mes "experience like this!";
+ set NEW_MES_FLAG0,3;
+ set BaseExp,BaseExp+NextBaseExp;
+ next;
+ mes "[Shion]";
+ mes "Everything you'll learn here in the";
+ mes "Training Grounds will benefit your";
+ mes "gameplay. So just think positive,";
+ mes "okay?";
+ close;
+ case 2: mes "[Shion]";
+ mes "Hey, man.";
+ mes "Do you still have some business with me?";
+ mes "Whoo, I don't need to be angry.";
+ mes "(Calm down, Calm down)";
+ mes "How can I help you";
+ next;
+ mes "[Shion]";
+ mes "No, no.";
+ mes "Why don't you go back to the";
+ mes "Training Grounds?";
+ mes "Can you see a bridge on your right side?";
+ mes "Cross the bridge and enter the castle.";
+ mes "There will be a helper waiting for you";
+ mes "inside the castle.";
+ next;
+ mes "[Shion]";
+ mes "Ah, if you cannot see the entrance,";
+ mes "try to drag your mouse when holding right click.";
+ mes "It will help you to see the hidden spot.";
+ next;
+ mes "[Shion]";
+ mes "Then, Good bye!";
+ mes " ";
+ mes "And when you face a lady,";
+ mes "you need to be a little more polite.";
+ mes "This is a gift for you.";
+ set NEW_MES_FLAG0,3;
+ set BaseExp,BaseExp+NextBaseExp;
+ close;
+ case 3: mes "[Shion]";
+ mes "The Training Grounds";
+ mes "are located just past";
+ mes "the bridge located";
+ mes "to the right.";
+ next;
+ mes "[Shion]";
+ mes "Although you'll";
+ mes "be sitting through";
+ mes "some classes, you";
+ mes "won't regret it.";
+ mes "Now, go for it!";
+ close;
+ }
+}
+
+new_1-1.gat,144,116,2 script Guard 105,{
+ mes "[Training Grounds Guard]";
+ mes "Welcome to the Training Grounds.";
+ mes "You are now in the outer court yard. Please go inside the castle to begin your training.";
+ close;
+}
+
+new_1-1.gat,144,107,2 script Guard 105,{
+ mes "[Training Grounds Guard]";
+ switch ( rand(2) ) {
+ case 0: mes "Come in!";
+ mes "I would like";
+ mes "to welcome you to";
+ mes "the Training Grounds!";
+ next;
+ mes "[Training Grounds Guard]";
+ mes "In here, you can prepare";
+ mes "yourself for your future";
+ mes "adventures throughout the";
+ mes "Ragnarok world!";
+ break;
+ case 1: mes "Go, Novice, go!";
+ mes "Fight, and grow stronger! Look towards a brighter tomorrow!";
+ }
+ close;
+}
+
+//Receptionist
+new_1-2.gat,100,29,4 script Receptionist 86,{
+ mes "[Training Grounds Receptionist]";
+ mes "Welcome!";
+ mes "You are at the entrance";
+ mes "of the ^3355FFTraining Grounds^000000.";
+ next;
+ mes "[Training Grounds Receptionist]";
+ mes "If you're new";
+ mes "to the Ragnarok world,";
+ mes "please choose the";
+ mes "^3355FFTraining Grounds Introduction^000000";
+ mes "menu for more information.";
+L_loop:
+ next;
+ switch( select("Apply for training.","Direct access to Ragnarok Online.","^3355FFTraining Grounds Introduction.^000000","I need a moment to think.") ) {
+ case 1: mes "[Training Grounds Receptionist]";
+ mes "Thank you for applying for Novice training. For detailed information of each training course, please inquire the Guides for assistance.";
+ next;
+ set Zeny,Zeny+50;
+ mes "[Training Grounds Receptionist]";
+ mes "To get you started, we will supply you with a provision of 50 Zeny. When you have questions about the training course process, please feel free to ask any of the Instructors.";
+ next;
+ mes "[Training Grounds Receptionist]";
+ mes "You will now be transferred";
+ mes "to the Training Grounds.";
+ next;
+ warp "new_1-2.gat",100,70;
+ end;
+ case 2: mes "[Training Grounds Receptionist]";
+ mes "I understand.";
+ mes "Please do your";
+ mes "best, and I wish you";
+ mes "the best of luck!";
+ close2;
+ set NEW_MES_FLAG0,0;
+ switch( rand(6) ) {
+ case 0: savepoint "prontera.gat",273,354;
+ warp "prontera.gat",273,354;
+ break;
+ case 1: savepoint "morocc.gat",160,94;
+ warp "morocc.gat",160,94;
+ break;
+ case 2: savepoint "geffen.gat",120,100;
+ warp "geffen.gat",120,100;
+ break;
+ case 3: savepoint "payon.gat",70,100;
+ warp "payon.gat",70,100;
+ break;
+ case 4: savepoint "alberta.gat",116,57;
+ warp "alberta.gat",116,57;
+ break;
+ case 5: savepoint "izlude.gat",94,103;
+ warp "izlude.gat",94,103;
+ }
+ end;
+ case 3: mes "[Training Grounds Receptionist]";
+ mes "This training grounds was established in order to provide useful information to new players of Ragnarok Online by the Rune-Midgarts Kingdom's Board of Education.";
+ next;
+ mes "[Training Grounds Receptionist]";
+ mes "The training course is organized into two parts: the Basic Knowledge classes, and Field Combat training.";
+ next;
+ mes "[Training Grounds Receptionist]";
+ mes "Through the first course, players will learn the necessary knowledge for a smoother gaming experience.";
+ next;
+ mes "[Training Grounds Receptionist]";
+ mes "In Field Combat Training,";
+ mes "players will engage in actual battle with weak monsters so they can learn the basics of fighting.";
+ next;
+ mes "[Training Grounds Receptionist]";
+ mes "With this battle practice,";
+ mes "players will be able to gain more experience before they enter the real world.";
+ next;
+ mes "[Training Grounds Receptionist]";
+ mes "At the end of the training, we will provide an introduction to the 1st Job Classes. This will help players decide which job class is best for them.";
+ next;
+ mes "[Training Grounds Receptionist]";
+ mes "If you wish to participate in the training grounds, please choose '^3355FFApply for training^000000' in the menu.";
+ next;
+ mes "[Training Grounds Receptionist]";
+ mes "Otherwise, if you want to skip the basic training and immediately enter the world of Ragnarok Online, please choose '^3355FFDirect access to Ragnarok Online^000000.'";
+ break;
+ case 4: mes "[Training Grounds Receptionist]";
+ mes "I understand.";
+ mes "Please, take your time.";
+ close;
+ }
+ goto L_loop;
+}
+
+//Interfaces Instructor
+new_1-2.gat,99,105,4 script Interfaces Instructor 751,{
+ if (!(NEW_MES_FLAG1)) {
+ mes "[Chris]";
+ mes "Nice to meet you. could you show me your application?";
+ next;
+ mes "[Chris]";
+ mes "Yes, I checked it.";
+ mes "I will teach the real basic interface to "+strcharinfo(0)+".";
+ mes "This is not forced to you so if you don't want, you don't need to take this course.";
+ next;
+ switch( select("Listen about 'Interface'.","No lecture, I just want Practical Course.","Cancel.") ) {
+ case 1: mes "[Chris]";
+ mes "You can move any window by dragging your mouse.";
+ mes "I will explain from the basic location where you start on the screen.";
+ next;
+ mes "[Chris]";
+ mes "First of all, if you look at the top left part of the screen,";
+ mes "You can see your name and level in the window.";
+ mes "It also shows how much EXP you have.";
+ mes "This is a Character's ^0000FFBasic Information^000000.";
+ next;
+ mes "[Chris]";
+ mes "I will increase your EXP.";
+ mes "watch how the EXP will change in the basic Information window.";
+ set NEW_MES_FLAG1,1;
+ set BaseExp,BaseExp+NextBaseExp;
+ next;
+ mes "[Chris]";
+ mes "Did you see it?";
+ mes "and let's see...";
+ next;
+ mes "[Chris]";
+ mes "You can open your 'Inventory' and make a party through the Information window.";
+ mes "The secon EXP bar is your Job EXP.";
+ mes "To learn a ^0000FFSkill^000000 you need a skill point.";
+ mes "You will gain a skill point bt getting a Job EXP level.";
+ next;
+ mes "[Chris]";
+ mes "There is a chat window in the bottom left of the screen.";
+ mes "You can scroll with your mouse to see what you've said in the past and";
+ mes "you can change to 'send to party' and 'send to guildsmen' by clicking on the blue dot.";
+ mes "The conversation window is always in open state.";
+ mes "You will use it a lot.";
+ next;
+ mes "[Chris]";
+ mes "In the top right of the screen,";
+ mes "there is a minimap it indicates your current location, party members and guilsmen.";
+ mes "When you stay in a field, the ^0000FF Red Point is an Exit^000000.";
+ mes "Is it helpful?";
+ next;
+ mes "[Chris]";
+ mes "Let's see more, try to open every window by clicking in the Basic Information Window.";
+ mes "Like item window, Equipment, status, etc.";
+ next;
+ mes "[Chris]";
+ mes "You might have gotten bored event hough I tried to teach you briefly.";
+ mes "It is Job EXP this time.";
+ set JobExp,JobExp+NextJobExp;
+ next;
+ mes "[Chris]";
+ mes "Increase Basic Skill with it.";
+ next;
+ mes "[Chris]";
+ mes "Assistant Edwin will give you more details about things.";
+ mes "If you want to learn more, go meet him.";
+ mes "This is a gift for you.";
+ getitem 2352,1;
+ close;
+ case 2: mes "[Chris]";
+ mes "I will send you to the Practical Course.";
+ mes "If you think you need to take more lectures,";
+ mes "Come to see me anytime.";
+ close2;
+ warp "new_1-2.gat",28,178;
+ end;
+ case 3: emotion 19;
+ close;
+ }
+ }
+ if (!(NEW_MES_FLAG2)) {
+ mes "[Chris]";
+ mes "Do you need my help?";
+ mes "Can I see your application?";
+ mes "Hmm...";
+ mes "You didn't take the skill lectures.";
+ mes "The Skill Instructor is on your leftside.";
+ next;
+ switch( select("Thanks!","Lectures are boring.","Cancel") ) {
+ case 1: mes "[Chris]";
+ mes "If you take this course You will learn usefull skill information, so pay attention.";
+ mes "Well, find the skill instructor.";
+ mes "I will send you to him for free of charge.";
+ close2;
+ warp "new_1-2.gat",84,107;
+ end;
+ case 2: mes "[Chris]";
+ mes "I will send you to the next course,";
+ mes "the Practical Lecture course.";
+ next;
+ if ( select("What? No.","Yes, please send me!") == 1 ) {
+ mes "[Chris]";
+ mes "Then, find me later when you need me..";
+ close;
+ } else {
+ mes "[Chris]";
+ mes "I wish you good luck.";
+ close2;
+ warp "new_1-2.gat",28,178;
+ end;
+ }
+ case 3: emotion 19;
+ close;
+ }
+ }
+ if (!(NEW_MES_FLAG3)) {
+ mes "[Chris]";
+ mes "Do you need my help?";
+ mes "Can I see your application?";
+ mes "Hmm...";
+ mes "You didn't take the skill lectures.";
+ mes "The Item Instructor is on my rightside.";
+ next;
+ switch( select("Thanks!","Lectures are boring.","Cancel") ) {
+ case 1: mes "[Chris]";
+ mes "You can learn how to use items, and other windows.";
+ mes "It will be helpful.";
+ mes "Well, Go to the item instructor.";
+ mes "I will send you to him for free of charge.";
+ close2;
+ warp "new_1-2.gat",115,107;
+ end;
+ case 2: mes "[Chris]";
+ mes "I will send you to the next course,";
+ mes "the Practical Lecture course.";
+ next;
+ if ( select("What? No.","Yes, please send me!") == 1 ) {
+ mes "[Chris]";
+ mes "Then, find me later when you need me..";
+ close;
+ } else {
+ mes "[Chris]";
+ mes "I wish you good luck.";
+ close2;
+ warp "new_1-2.gat",28,178;
+ end;
+ }
+ case 3: emotion 19;
+ close;
+ }
+ }
+ mes "[Chris]";
+ mes "You finished all the required sourses.";
+ mes "have you listened to the other Assistants?";
+ mes "The next stage is practical monster-hunting.";
+ mes "Are you ready?";
+ next;
+ switch( select("Move to next course!","I want to look arround more.","Send me to Town!") ) {
+ case 1: mes "[Chris]";
+ mes "The next course is practical monster-hunting.";
+ mes "Pay attention to what he says, and finish the course safely.";
+ mes "I wish you good luck.";
+ close2;
+ warp "new_1-2.gat",28,178;
+ end;
+ case 2: mes "[Chris]";
+ mes "That is a good idea.";
+ mes "We have just taught you some of the";
+ mes "required basic knowledge;";
+ mes "however if it is not enough, please meet the";
+ mes "other assistants so you can learn more details.";
+ next;
+ mes "[Chris]";
+ mes "If you don't know where you have to go,";
+ mes "come and ask me.";
+ close;
+ case 3: mes "[Chris]";
+ mes "Are you sure you want to move to town?";
+ mes "If you think you've learnt enough,";
+ mes "go to the right side and meet the";
+ mes "^0000FFKafra Service.^000000";
+ next;
+ mes "[Chris]";
+ mes "The Kafra Service offers";
+ mes "'Teleportation Service'";
+ mes "'Storage Service'";
+ mes "Meet them";
+ mes "and use their service..";
+ next;
+ mes "[Chris]";
+ mes ".......If you leave here";
+ mes "I cannot see you anymore";
+ mes "but";
+ mes "I hope that you are blessed wherever you go.";
+ mes "Good luck.";
+ close;
+ }
+}
+
+new_1-2.gat,83,111,4 script Skill Instructor 753,{
+ if (!(NEW_MES_FLAG2)) {
+ mes "[Shecil]";
+ mes ""+strcharinfo(0)+"";
+ mes "It is such a good name!";
+ mes "Let's start this class?";
+ next;
+ switch( select("What do you teach me?","Send me to Practical Course!","Cancel") ) {
+ case 1: mes "[Shecil]";
+ mes "I live and die for fighting!";
+ mes "Some sort of special skill!!!!!!";
+ mes "Ah! no, I made a mistake.";
+ mes "I will teach you how to use it.";
+ mes "First of all, Increasing your skill level.";
+ next;
+ mes "[Shecil]";
+ mes "Your Skill Window is in Basic Information.";
+ mes "Click ^0000FFSkill^000000.";
+ mes "Another window pops up, right?";
+ mes "Short key is ^0000FFS when holding down alt^000000.";
+ mes "From now we will say like 'alt+s'.";
+ set NEW_MES_FLAG2,1;
+ set JobExp,JobExp+NextJobExp;
+ next;
+ mes "[Shecil]";
+ mes "Did you open it?";
+ mes "Do you see Basic Skill down there?";
+ mes "Skill point might be 1.";
+ mes "There is a mumber Clock 'Lv Up Button' at the right side beside basic skill.";
+ next;
+ mes "[Shecil]";
+ mes "Did you increase your skill?";
+ mes "If you have any questions, ask Pitch Judas";
+ mes "hmmm...";
+ mes "I am thinking of a usefull skill.";
+ next;
+ mes "[Shecil]";
+ mes "Right, right!";
+ mes "I will teach you First Aid Skill.";
+ mes "In Emergencies, you can use this skill.";
+ skill 142,1,0;
+ set skill_nov,3;
+ next;
+ mes "^0000FF-You've learned First Aid Skill-^000000";
+ next;
+ mes "[Shecil]";
+ mes "Now, if you open your skill window,";
+ mes "^0000FFFirst Aid^000000 will be there.";
+ mes "Try to double-click to use it!";
+ next;
+ mes "^0000FF-You received some Job Exp.-^000000";
+ set JobExp,JobExp+NextJobExp;
+ next;
+ mes "[Shecil]";
+ mes "How was it?";
+ mes "When you use your skill, SP decreases.";
+ mes "If you use First Aid skill, it will recover some HP.";
+ mes "It will be usefull for New Novices.";
+ next;
+ mes "[Shecil]";
+ mes "Thanks for your attention!";
+ mes "Oh, I am feeling so good.";
+ mes "I will give you a Plus-Exp!";
+ mes "Since I am a cool guy!";
+ set BaseExp,BaseExp+NextBaseExp;
+ next;
+ mes "[Shecil]";
+ mes "My lecture ends here.";
+ mes "It was short and had many services.";
+ mes "Do you want to know more? then, ask other users.";
+ mes "If you think that is hard, go to talk to Assistant.";
+ mes "He will teach you well.";
+ next;
+ switch( select("Let me look around.","Send me to the Practical Course.","Cancel.") ) {
+ case 1: mes "[Shecil]";
+ mes "If you think, you learned enough anybody will be fine.";
+ mes "Ask one of our insctructors, they will help you.";
+ mes "Cheer Up!";
+ close;
+ case 2: goto L_battle;
+ case 3: emotion 23;
+ }
+ close;
+ case 2: goto L_battle;
+ case 3: emotion 23;
+ }
+ close;
+ }
+ if (!(NEW_MES_FLAG1)) {
+ mes "[Shecil]";
+ mes "What, can I help you?";
+ mes "Uh?";
+ mes "You didn't take interface lectures";
+ mes "I know the lecture is not worth it!";
+ mes "HaHaHaHa!!!!";
+ next;
+ switch( select("I will go take it!","I am bored. Send me to Practical Course.") ) {
+ case 1: mes "[Shecil]";
+ mes "Yes, it's good thinking.";
+ mes "Get EXP, Items as much as you can.";
+ mes "HaHaHa.";
+ mes "He is in the middle.";
+ mes "It is easy to find him.";
+ close;
+ case 2: goto L_battle;
+ case 3: emotion 23;
+ }
+ close;
+ }
+ if (!(NEW_MES_FLAG3)) {
+ mes "[Shecil]";
+ mes "What can I help you?";
+ mes "Huh?";
+ mes "You didn't take the item lecture?";
+ mes "I know the lecture is not worth it!";
+ mes "HaHaHaHa!!!!";
+ next;
+ switch( select("I will go and take it!","I am bored. Send me to Practical Course.","Cancel.") ) {
+ case 1: mes "[Shecil]";
+ mes "Yes, it is a good thinking.";
+ mes "Get EXP, Items as much as you can.";
+ mes "Hahaha.";
+ mes "I will send you to the service.";
+ close2;
+ warp "new_1-2.gat",115,107;
+ break;
+ case 2: goto L_battle;
+ case 3: emotion 23;
+ }
+ close;
+ }
+ mes "[Shecil]";
+ mes "Do you need my help?";
+ mes "You've finished all the courses.";
+ mes "Ah, you came back to see me";
+ mes "because I am so nice.";
+ mes "is it right?";
+ mes "have you met the Assistants?";
+ next;
+ switch( select("Send me to the next course.","Assistants?","I want to go to town.") ) {
+ case 1: mes "[Shecil]";
+ mes "Oh, Right.";
+ mes "You should go to the Practical Lecture Course.";
+ mes "Ah, I wish I could hunt mobs in the field.";
+ mes "This job is so boring.";
+ mes "My fists have gotten a bit rusty.";
+ mes "Ok, I will send you! You should grow up well!";
+ close2;
+ warp "new_1-2.gat",28,178;
+ end;
+ case 2: mes "[Shecil]";
+ mes "Huh? you look like";
+ mes "'you didn't do it before'.";
+ mes "Listen to me. We teach briefly,";
+ mes "not boring, but fast";
+ mes "as much as we can.";
+ next;
+ mes "[Shecil]";
+ mes "However, it is not good enough for";
+ mes "some people educatioally.";
+ mes "There will be some people who";
+ mes "want to learn more.";
+ mes "so, to satisfy this, some";
+ mes "Assistants";
+ mes "exist to help those people.";
+ mes "Go and meet them!";
+ next;
+ mes "[Shecil]";
+ mes "Especially, Pitch Judas...";
+ mes "He will teach you well about skills.";
+ mes "Even though he looks dangerous.";
+ mes "Hahaha!";
+ close;
+ case 3: mes "[Shecil]";
+ mes "Do you want to go to town? You can";
+ mes "use Kafra services.";
+ mes "Make a right from here and go straight,";
+ mes "you will see her.";
+ mes "HaHaHa!";
+ mes "why don't you hurry up to meet";
+ mes "her?";
+ close;
+ }
+ end;
+L_battle:
+ mes "[Shecil]";
+ mes "Good, there is nothing better than experiencing reality.";
+ mes "Practical Course!";
+ mes "Cheer up!";
+ close2;
+ warp "new_1-2.gat",28,178;
+ end;
+}
+
+new_1-2.gat,115,111,4 script Item Instructor 726,{
+disable_items;
+ if (!(NEW_MES_FLAG3)) {
+ mes "[Alice]";
+ mes "Hmm... I am so bored.";
+ mes "Huh? Are you new here?";
+ mes "You want to take an Item Lecture, don't you?";
+ next;
+ menu "Yes.",-,"No, I just want to pass.",L_battle,"Where is town?",L_kafra;
+ mes "[Alice]";
+ mes "I will make it a short lecture.";
+ mes "I know you are bored.";
+ mes "Firstly, open the 'Inventory' window.";
+ mes "Click 'Item' in the Basic Information Window.";
+ mes "It will show you the items that it contains.";
+ mes "The inventory is divided into 3 sections such as item, equip and etc.";
+ next;
+ mes "[Alice]";
+ mes "Now, would you click the item tab?";
+ mes "in the Inventory Window? I just";
+ mes "gave you a Novice Potion. You can";
+ mes "drink it by double-clicking it. Go";
+ mes "ahead, try it!";
+ set NEW_MES_FLAG3,1;
+ set @potion,countitem(569);
+ getitem 569,1;
+ enable_items;
+ next;
+ if ( @potion >= countitem(569) ) {
+ mes "[Alice]";
+ mes "Nice~!";
+ mes "And here's";
+ mes "a little reward";
+ mes "just for listening.";
+ set BaseExp,BaseExp+NextBaseExp;
+ next;
+ }
+ disable_items;
+ mes "[Alice]";
+ mes "Let me explain about";
+ mes "items in the ^0000FFequip^000000 tab";
+ mes "of the Inventory Window.";
+ next;
+ mes "[Alice]";
+ mes "When you click on the 'equip tab,";
+ mes "you can view every item in your";
+ mes "inventory that you can equip. Let";
+ mes "me give you some equipment so that";
+ mes "you can try them on.";
+ next;
+ getitem 2510,1;
+ getitem 2414,1;
+ getitem 5055,1;
+ enable_items;
+ mes "[Alice]";
+ mes "Got them? Good.";
+ mes "Now, double-click";
+ mes "on the Novice Slippers";
+ mes "I just gave you to";
+ mes "put them on.";
+ next;
+ if ( getequipisequiped(6) ) {
+ mes "[Alice]";
+ mes "Hooray~!";
+ mes "You did it!";
+ mes "You deserve a reward!";
+ set BaseExp,BaseExp+NextBaseExp;
+ next;
+ }
+ disable_items;
+ mes "[Alice]";
+ mes "Would you";
+ mes "press the ^0000FF'F12'^000000 key?";
+ mes "This will summon your";
+ mes "Hotkey bar on your screen.";
+ next;
+ mes "[Alice]";
+ mes "There is a column from ^0000FFF1 to F9^000000";
+ mes "If you took a skill lecture,";
+ mes "you are supposed to have 'First Aid'.";
+ mes "Drag the skill to the 'Short key window'.";
+ next;
+ mes "[Alice]";
+ mes "Do you understand ?";
+ mes "To use skills, you need some skill point,";
+ mes "and anyway, you cannot put passive skills in the 'Short key window'.";
+ set JobExp,JobExp+NextJobExp;
+ next;
+ mes "[Alice]";
+ mes "'Alice' simple and good quality lecture ends here.";
+ mes "Lastly I will give you some items, which can help you.";
+ getitem 601,10;
+ getitem 602,2;
+ getitem 569,50;
+ next;
+ mes "[Alice]";
+ mes "However, ^FF0000do not use the Fly Wing or Butterfly Wing ^000000in these Training Grounds or you could be stuck here forever. Those items are for when you graduate, okay?";
+ next;
+ mes "[Alice]";
+ mes "And lastly...";
+ mes "I will give";
+ mes "you some Job experience!";
+ set JobExp,JobExp+NextJobExp;
+ next;
+ menu "What do I have to do?",-,"Then, Practical Course!",L_battle,"Cancel.",L_bye;
+ mes "[Alice]";
+ mes "Is there any Instructor that you didn't meet yet?";
+ mes "They are not gracious as much as I am";
+ next;
+ mes "[Alice]";
+ mes "However, some assistants are really good,";
+ mes "and there are some hidden things.";
+ mes "So if you want, you can stay here longer and know them.";
+ mes "If not ask anybody and tell them where you want to go.";
+ close;
+ }
+ if (!(NEW_MES_FLAG1)) {
+ mes "[Alice]";
+ mes "How can I help you?";
+ mes "You didn't take a interface lecture.";
+ mes "Chris will be dissapointed.";
+ mes "Why don't you go and meet him?";
+ next;
+ menu "Ok, I will meet him.",-,"It is boring, I want to go to Practical Course.",L_battle1,"What do I have todo to goto town?",L_kafra;
+ mes "[Alice]";
+ mes "It's a good idea.";
+ mes "When you came here, you had to see 'Interface Instructor'.";
+ mes "He is in the middle of the hall.";
+ mes "Also he has some gifts for you!";
+ mes "You don't want to lose those presents, do you?";
+ close;
+ }
+ if (!(NEW_MES_FLAG2)) {
+ mes "[Alice]";
+ mes "How can I help you?";
+ mes "Oh, you didn't take ^0000FFSkill Lecture^000000 yet.";
+ mes "Shecil will be dissapointed.";
+ mes "Why don't you go meet her?";
+ next;
+ menu "yes, I will meet her.",-,"Boring, I want to go to Practical Course.",L_battle1,"What do I have todo to goto town?",L_kafra;
+ mes "[Alice]";
+ mes "It's a good idea.";
+ mes "Shecil is on the left side of the hall.";
+ mes "I will send you there.";
+ mes "Study Hard!";
+ close2;
+ warp "new_1-2.gat",84,107;
+ end;
+ }
+ mes "[Alice]";
+ mes "Huh? did you get lost?";
+ mes "Do you need some help?";
+ mes "I think you learned enough.";
+ mes "Do you want to go somewhere?";
+ next;
+ menu "I don't know where I can go.",-,"I want to go to town.",L_kafra,"Cancel.",L_bye;
+ mes "[Alice]";
+ mes "Hmm... You already know how to use items and skills.";
+ mes "Practical Course still remains.";
+ mes "Do you want to go to Practical Course?";
+ mes "Then, I will send you.";
+ next;
+ if ( select("Let me go!","Wait for a moment.") == 1 ) {
+ mes "[Alice]";
+ mes "You got your equipment that I gave you right?";
+ mes "Wear those tight.";
+ mes "Ok, I will let you go.";
+ close2;
+ warp "new_1-2.gat",28,178;
+ end;
+ } else {
+ mes "[Alice]";
+ mes "Ok.";
+ mes "If you need anything, call me anytime.";
+ close;
+ }
+ end;
+L_battle:
+ mes "[Alice]";
+ mes "Boring";
+ mes "Do you want to go to the Practical Course directly?";
+ mes "Hmmm... Did you meet every instructor?";
+ mes "It's better for you to meet all of them.";
+ next;
+ if ( select("Only Practical Course!","Wait for a moment.") == 1 ) {
+L_battle1:
+ mes "[Alice]";
+ mes "Huh.. You are so energetic.";
+ mes "I want you to listen to the instructor carefully.";
+ mes "The information that you learn there may save your life.";
+ mes "Ok, I will send you there.";
+ mes "Goodbye.";
+ close2;
+ warp "new_1-2.gat",28,178;
+ end;
+ } else {
+ mes "[Alice]";
+ mes "Yes, You might want to meet people more here";
+ mes "there are some Assistants who can help you.";
+ mes "You ought to receive items as much as you can here";
+ mes "then, you can leave.";
+ close;
+ }
+L_kafra:
+ mes "[Alice]";
+ mes "If you want to go to town, you can ask the kafra Employee to go.";
+ mes "Prontera, Morroc, Payon, etc...";
+ mes "She will send you wherever you want to go";
+ close;
+L_bye:
+ mes "[Alice]";
+ mes "Hmm...";
+ close;
+}
+
+new_1-2.gat,118,108,4 script Kafra Employee 94,{
+ mes "[Kafra Employee]";
+ mes "Welcome to";
+ mes "Kafra Corporation.";
+ mes "The Kafra services are";
+ mes "always on your side.";
+ next;
+ mes "[Kafra Employee]";
+ mes "I've been dispatched from Kafra Corporation Headquarters to assist new players such as yourself.";
+ next;
+ mes "[Kafra Employee]";
+ mes "Please, take heed!";
+ mes "If you move to a town";
+ mes "^4d4dffYou will be unable to return to the Training Grounds ever again^000000.";
+ next;
+ if ( select("Teleport Service","About Kafra services") == 1 ) {
+ mes "[Kafra Employee]";
+ mes "I see, you must want to teleport to a town in Rune-Midgard imediately. First, let me briefly inform you about the different towns and cities in Ragnarok.";
+ next;
+ mes "[Kafra Employee]";
+ mes "Prontera is the capital of the Rune-Midgarts kingdom, and its satellite, Izlude, is closeby.";
+ next;
+ mes "[Kafra Employee]";
+ mes "^996633Morroc^000000 is in the desert. It's the town where you can change your job to the Thief and Assassin classes.";
+ next;
+ mes "[Kafra Employee]";
+ mes "^006600Payon^000000 is in the mountains, and is famous for its Archer Village, where Novices can change their jobs to Archers.";
+ next;
+ mes "[Kafra Employee]";
+ mes "The city of magic, ^993300Geffen^000000, is where people go to become Mages and Wizards.";
+ next;
+ mes "[Kafra Employee]";
+ mes "^003399Alberta^000000, the port city, is where the Merchant Guild is located. You must also go to Alberta if you wish to travel by sea.";
+ next;
+ mes "[Kafra Employee]";
+ mes "Please choose";
+ mes "your destination.";
+ next;
+ if ( NEW_MES_FLAG1 || NEW_MES_FLAG2 || NEW_MES_FLAG3 ) {
+ if ( select("Practical Course","Prontera","Morroc","Payon","Alberta","Geffen") == 1 ) {
+ mes "[Kafra Employee]";
+ mes "You will be sent to Practical Course.";
+ close2;
+ warp "new_1-2.gat",28,178;
+ end;
+ }
+ set @menu,@menu-1;
+ } else {
+ menu "Prontera",-,"Morroc",-,"Payon",-,"Alberta",-,"Geffen",-;
+ }
+ switch ( @menu ) {
+ case 1: mes "[Kafra Employee]";
+ mes "You have decided";
+ mes "to go to Prontera.";
+ mes "May God be with you.";
+ close2;
+ callsub L_prewarp;
+ savepoint "prontera.gat",118,72;
+ warp "prontera.gat",150,50;
+ end;
+ case 2: mes "[Kafra Employee]";
+ mes "Desert City, Morroc.";
+ mes "In the middle of town, there is a beautiful oasis.";
+ mes "...";
+ mes "I will pray you keep your hope in your heart always.";
+ close2;
+ callsub L_prewarp;
+ savepoint "morocc.gat",151,98;
+ warp "morocc.gat",155,110;
+ end;
+ case 3: mes "[Kafra Employee]";
+ mes "Hm? do you want to be an archer?";
+ mes "I will send you to Payon.";
+ mes "May God bless you.";
+ close2;
+ callsub L_prewarp;
+ savepoint "payon.gat",160,58;
+ warp "payon.gat",166,67;
+ end;
+ case 4: mes "[Kafra Employee]";
+ mes "Harbor City, Alberta.";
+ mes "This town is a base of trade.";
+ mes "If you want to see different cultures, you have to go through here.";
+ mes "HuHu... I think you are going to go to the Merchant Association.";
+ mes "May God bless you.";
+ close2;
+ callsub L_prewarp;
+ savepoint "alberta.gat",31,233;
+ warp "alberta.gat",114,58;
+ end;
+ case 5: mes "[Kafra Employee]";
+ mes "City of Magic.";
+ mes "There is a big 'Geffen Tower' in the middle of town.";
+ mes "I will send you arround the water fountain.";
+ mes "May God bless you.";
+ close2;
+ callsub L_prewarp;
+ savepoint "geffen.gat",118,37;
+ warp "geffen.gat",121,65;
+ end;
+ }
+ } else {
+ mes "[Kafra Employee]";
+ mes "Let me introduce you";
+ mes "to the Kafra Services.";
+ mes "In the menu, please choose";
+ mes "the service you'd like to";
+ mes "learn more about.";
+L_loop:
+ next;
+ switch( select("Save service.","Storage service.","Teleport service.","Cart rental service.","Cancel.") ) {
+ case 1: mes "[Kafra Employee]";
+ mes "When you talk to a Kafra Employee and ask for the save Service, the location of where you will revive, after being defeated in battle, will be changed.";
+ next;
+ mes "[Kafra Employee]";
+ mes "Your Respawn Point is always the last place where you have saved. Using a Butterfly Wing will return you to the place where you";
+ mes "last saved.";
+ next;
+ if (!(NEW_LVUP0)) {
+ set NEW_LVUP0,1;
+ set BaseExp,BaseExp+NextBaseExp;
+ }
+ mes "[Kafra Employee]";
+ mes "The save Service";
+ mes "is also provided by";
+ mes "the Kafra Corporation";
+ mes "free of charge~!";
+ break;
+ case 2: mes "[Kafra Employee]";
+ mes "The Kafra Corporation is the world's largest company with a long and distinguished history on the Rune-Midgard continent.";
+ next;
+ mes "[Kafra Employee]";
+ mes "You can store and retrieve";
+ mes "your items in any town at your convenience. This Storage is shared by every character on one account.";
+ next;
+ mes "[Kafra Employee]";
+ mes "It's unreasonable to carry all of your items with you when you don't need them right away. Please use our Storage and keep your items safe and secure.";
+ next;
+ mes "[Kafra Employee]";
+ mes "Our convenient Storage Service";
+ mes "is provided to our customers for a small fee which is different from town to town.";
+ next;
+ mes "[Kafra Employee]";
+ mes "However, you must be";
+ mes "at least ^3355FFBasic Skill Level 6^000000";
+ mes "to use the Storage.";
+ next;
+ mes "[Kafra Employee]";
+ mes "There are 3 different item sections of the Storage into which items are organized: Consumable, Equipment and Etc.";
+ next;
+ mes "[Kafra Employee]";
+ mes "There are a maximum of 300 Inventory Slots in Kafra Storage, meaning you can have up to 300 different kinds of items in Storage.";
+ next;
+ mes "[Kafra Employee]";
+ if (!(NEW_JOBLVUP)) {
+ set NEW_JOBLVUP,1;
+ set JobExp,JobExp+NextJobExp;
+ }
+ mes "Remember though, that in the case of Equipment, each item takes up one Inventory Slot. The maximum number of items that can be placed in Kafra Storage is 30,000.";
+ break;
+ case 3: mes "[Kafra Employee]";
+ mes "The Kafra Corporation";
+ mes "provides our valued customers with a convenient Teleport Service which greatly cuts down on your";
+ mes "traveling time.";
+ next;
+ mes "[Kafra Employee]";
+ mes "Our Teleport Service is safe and comfortable, and will allow you to fully explore the various lands of the Rune-Midgard continent.";
+ next;
+ mes "[Kafra Employee]";
+ mes "We thank our valued customers for their great support and continue to provide them with the best";
+ mes "of service.";
+ break;
+ case 4: mes "[Kafra Employee]";
+ mes "The Kafra Corporation";
+ mes "provides a Cart Rental Service to Merchants, as well as Blacksmiths and Alchemists.";
+ next;
+ mes "[Kafra Employee]";
+ mes "The flamboyantly mysterious";
+ mes "^CE6300Super Novice^000000 can use Carts, but we officially don't have a contract with that class. Still, somehow...";
+ next;
+ mes "[Kafra Employee]";
+ mes "Anyway, Merchants, Blacksmiths and Alchemists must also learn the ^3355FFPush Cart^000000 skill in order to be able to rent a cart.";
+ next;
+ mes "[Kafra Employee]";
+ mes "The Cart Rental service";
+ mes "charge will differ from";
+ mes "town to town.";
+ break;
+ case 5: mes "[Kafra Employee]";
+ mes "I hope you are satisfied with my";
+ mes "explanation about the Kafra corporation.";
+ close;
+ }
+ goto L_loop;
+ }
+ end;
+L_prewarp:
+ if (!(NEW_MES_FLAG1) && !(NEW_MES_FLAG2) && !(NEW_MES_FLAG3)) {
+ getitem 569,100;
+ getitem 1243,1;
+ getitem 2414,1;
+ getitem 2510,1;
+ getitem 2352,1;
+ getitem 2112,1;
+ getitem 601,10;
+ getitem 602,2;
+ }
+ set NEW_MES_FLAG0,0;
+ set NEW_MES_FLAG1,0;
+ set NEW_MES_FLAG2,0;
+ set NEW_MES_FLAG3,0;
+ set NEW_MES_FLAG4,0;
+ set NEW_MES_FLAG5,0;
+ set NEW_LVUP0,0;
+ set NEW_LVUP1,0;
+ set NEW_JOBLVUP,0;
+ return;
+}
+
+new_1-2.gat,121,101,2 script Guide Soldier 105,{
+ mes "[Soldier]";
+ mes "We, Soldiers, are guiding Novices here in the gate way of town.";
+ mes "When you go to a new town, Please visit Guide Soldier and receive their information for the map.";
+ next;
+ mes "[Soldier]";
+ mes "Some soldiers wear different garment in some towns.";
+ mes "I just anted to let you know about it as a reference.";
+ mes "Go meet them and talk to them.";
+ next;
+ mes "[Soldier]";
+ mes "If you want to go to town, ask the Kafra Employee right before you.";
+ mes "She will send you to town.";
+ close;
+}
+
+//Interface Assistant
+new_1-2.gat,161,182,6 script Interface Assistant 92,{
+ mes "[Edwin]";
+ mes "I am an Interface Assistant.";
+ mes "Choose what you want to know more about.";
+L_loop:
+ next;
+ switch( select("Basic Information Window","Party Window","Item Window","Option Window","Equipment Window","Cancel") ) {
+ case 1: mes "[Edwin]";
+ mes "Let's see the Basic Information Window.";
+ mes "You can find your name, base level, you job and your job level displayed on the window.";
+ mes "^800FFFBase lvl^000000 is your character's level.";
+ next;
+ mes "[Edwin]";
+ mes "^800FFFJob level^000000 shown under the base level meant the job level of your character's class.";
+ mes "If you took the Instructors lectures, of course, you will understand those.";
+ next;
+ mes "[Edwin]";
+ mes "On the basic inforamtion window,";
+ mes "your current experience showup aswell.";
+ mes "Experience points in Ragnarok Online are indicated by % and base and job level are seperate.";
+ mes "When either reaches 100% it will be raised by one level,";
+ mes "this bar will then reset to 0% for the next level.";
+ next;
+ mes "[Edwin]";
+ mes "HP means your Health Points.";
+ mes "When it raches 0, you will faint and not be able to fight.";
+ mes "You can either return to your save point or wait until somebody revives you.";
+ mes "If you die on fields or dungeons,";
+ mes "you will receive a^4d4dff -1% EXP penalty^000000.";
+ mes "So be careful.";
+ next;
+ mes "[Edwin]";
+ mes "SP means your Spell Points.";
+ mes "when you become a 1st class,";
+ mes "you will learn unique skills of the class and then you will be able to use your SP.";
+ mes "Your skill instructor will teach you more about your skills.";
+ next;
+ mes "[Edwin]";
+ mes "If you want to check your weight limit,";
+ mes "you can check thr weight at the bottom left of the basic window.";
+ mes "It will show your current weight / your maximum weight limit.";
+ mes "?•?If your weight becomes over 50% of the maximum,";
+ mes "your HP and SP will not restore naturally.";
+ mes "So be carefull.";
+ next;
+ mes "[Edwin]";
+ mes "The numerical value next to the weight limit shows the current amount of money you have.";
+ mes "The currency used in the Rune-Midgard Kingdom is Zeny.";
+ next;
+ mes "[Edwin]";
+ mes "There are buttons at the right side of the window.";
+ mes "They are all part of the interface menu.";
+ mes "Click them one by one, check what you can do with them.";
+ mes "The shortcut key for minimising / maximizing the basic information window is 'Alt+V' refer to your information.";
+ break;
+ case 2: mes "[Edwin]";
+ mes "You can open the party window by pressing the friend buttin on the basic infomation window,";
+ mes "or you can use 'Alt+Z' for it's shortcut.";
+ mes "You can check all members of your party with this window.";
+ next;
+ mes "[Edwin]";
+ mes "The founder of the party can determine the distribution of EXP and items to the party.";
+ mes "You can also see the location of your members on the mini-map.";
+ next;
+ mes "[Edwin]";
+ mes "On the party window, not only your party members but also your friends showup.";
+ mes "You can whisper them or delete them from your friends list.";
+ next;
+ mes "[Edwin]";
+ mes "You can learn about organizing a party from your skill instructor.";
+ mes "Oh, well, I guess it's best if you try it out on your own.";
+ break;
+ case 3: mes "[Edwin]";
+ mes "The item window is divided into 3 sections.";
+ mes "Such as item, equip and etc.";
+ mes "Items is used for consumeable items.";
+ mes "Equip is for equipment items";
+ mes "Etc is for miscelanious items.";
+ next;
+ mes "[Edwin]";
+ mes "Your weight limit does limit the amount of items you can carry with you ans the limitation of the amount of an item.";
+ mes "In this case, you must use the Kafra storage.";
+ mes "Also, equipment and consumeable items can be set on the hotkey window.";
+ next;
+ mes "[Edwin]";
+ mes "You can open the Hotkey window by pressing F12, you can put items there from F1 to F9.";
+ mes "You can switch the hotkey windows by pressing the F12 key again.";
+ break;
+ case 4: mes "[Edwin]";
+ mes "You can open the option window with the option button on the basic information window,";
+ mes "but you can use the 'Alt+O' command aswell.";
+ mes "You can adjust sound, skin and transparency of the skin through the option window.";
+ next;
+ mes "[Edwin]";
+ mes "With the sound button,";
+ mes "you can turn the background music on / off or turn the volume up or down.";
+ mes "With the effect button, you can adjust the sound effects volume.";
+ next;
+ mes "[Edwin]";
+ mes "With the skin option, you can change the menu skin.";
+ mes "Scroll up / down the list of skins you have, and choose a skin.";
+ mes "You can also download skins from our website.";
+ next;
+ mes "[Edwin]";
+ mes "The snap option allows your mouse cursor to automatically move to a nearby target.";
+ mes "When you click to attack,";
+ mes "the cursor of the mouse will automatically change into a sword.";
+ mes "Skill and item targeting also work with the snap option.";
+ next;
+ mes "[Edwin]";
+ mes "It could be usefull or annoying if you're not used to it";
+ mes "Well... once you get used to it,";
+ mes "you will be able to adjust your own snap options.";
+ next;
+ mes "[Edwin]";
+ mes "Well, it all depends on your experience.";
+ mes "That's all there is for the option window.";
+ break;
+ case 5: mes "[Edwin]";
+ mes "Click the equip button on your basic window or press 'Alt+Q'.";
+ mes "You will see the items that your character has equiped now.";
+ next;
+ mes "[Edwin]";
+ mes "For starters, every character starts with a kife and a cotton shirt.";
+ mes "There are 2 ways of changing your equipment.";
+ mes "Double click equipment in the item window or drag an item to the equipment window.";
+ next;
+ mes "[Edwin]";
+ mes "You can also switch your equipment by placing them on the F12 hotkey bar.";
+ mes "You will understand this when you try it on your own.";
+ break;
+ case 6: mes "[Edwin]";
+ mes "Feel free to ask me anytime.";
+ close;
+ }
+ goto L_loop;
+}
+
+new_1-2.gat,182,182,4 script Status Assistant 754,{
+ mes "[Jarre Riotte]";
+ mes "Welcome new adventurer.";
+ mes "I, Jarre Riotte will help you learn about the fundamental rules of your characters status.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "I am willing to help you learn more about the statuses more then anything else,";
+ mes "so feel free to ask me about the character abilities you're wondering about.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "By the way...";
+ mes "It is called 'Status'.";
+ mes "STR stands for Strength, AGI stansds for Agility.";
+ mes "VIT stand for Vitality, INT stands for Intelligence.";
+ mes "DEX stands for Dexterity, LUK stands for Luck.";
+L_loop:
+ next;
+ switch( select("Str and Agi.","Vit and Int.","Dex and Luk.","Cancel") ) {
+ case 1: mes "[Jarre Riotte]";
+ mes "Let me explain Strength first.";
+ mes "";
+ mes "^4D4DFFFStrength(STR)^000000 increases ^4D4DFFFphysical attack damage(ATK)^000000 ";
+ mes "and your ^4D4DFFFmaximum weight limit^000000.";
+ mes "1 STR increases 1 physical attack damage,";
+ mes "also certain attack damage bonuses occur by increments of 10 STR.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "For instance,";
+ mes "let's say your current strength is";
+ mes "48 + 1. ";
+ mes "Your original STR is 48, 1 at the ";
+ mes "end is a bonus status.";
+ mes "Out of total 49, when you double 4,";
+ mes "the head number of 49 by 4,";
+ mes "you will have 16 as the physical";
+ mes "attack damage bonus";
+ next;
+ mes "[Jarre Riotte]";
+ mes "Let's say you leveled up and now";
+ mes "your strength is 49+1.";
+ mes "Then your STR's total is 50,";
+ mes "the bonus on the physical attack";
+ mes "damage will be 25.";
+ mes "If your STR is 100, 10 the head";
+ mes "number of 100, times 10 will be a";
+ mes "100.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "Ok, now let's move on to Agility.";
+ mes "Agility affects on ^4d4dffthe Flee Rate^000000";
+ mes "which allows you to avoid enemies'";
+ mes "attack and the characters ^4d4dffAttackSpeed^000000.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "1 AGI increases 1 Flee Rate,";
+ mes "1 level increases 1 Flee Rate";
+ mes "as well.";
+ mes "Therefore, ^4d4dffFlee Rate equals AGI +^000000";
+ mes "^4d4dfflevel.^000000";
+ next;
+ mes "[Jarre Riotte]";
+ mes "Alright, I will give you an";
+ mes "example.";
+ mes "Let's say you're at level 40";
+ mes "possessing 40 AGI.";
+ mes "Following the Flee Rate formula,";
+ mes "your flee rate will be a total of";
+ mes "80.";
+ mes "The Flee Rate is divided into";
+ mes "normal Flee Rate + perfect dodge,";
+ mes "AGI is only involved with the";
+ mes "normal Flee Rate.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "The perfect flee rate is related to";
+ mes "LUK status,";
+ mes "we will discuss about the status";
+ mes "later.";
+ mes "As your Attack Speed (ASPD) is";
+ mes "increased, the delay between one";
+ mes "attack and the next is reduced.";
+ mes "ASPD is the numerical value of the";
+ mes "increment and differs by job class.";
+ mes "Please remember that.";
+ break;
+ case 2: mes "[Jarre Riotte]";
+ mes "Our next subject will be Vitality";
+ mes "(VIT) and Intelligence.";
+ mes "^4D4DFFVitality^000000 affects the ^4D4DFFMaximum HP, amount of HP restoration and defense.^000000";
+ mes "The amount of HP increased by 1 VIT";
+ mes "differs by job class,";
+ mes "the Swordsman class benefit the most";
+ mes "from VIT increment out of all";
+ mes "classes.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "Let's check defenses.";
+ mes "On your stat window,";
+ mes "Defense will show as DEF. Defense";
+ mes "is shown as 2 different numerical";
+ mes "values,";
+ mes "How Vitality affects these values";
+ mes "is shown as the second number of";
+ mes "the two.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "Now you must be wondering about the";
+ mes "first of the 2 numerical values.";
+ mes "The first one shows the defense";
+ mes "from your equipment and armour.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "The defense increased by equipments";
+ mes "reduces the amount of damage";
+ mes "you're dealt from an enemy by a %";
+ mes "of the total damage and the defense";
+ mes "from VIT reduces the amount of";
+ mes "damage by number.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "I guess you understood, didn't you?";
+ mes "The next subject is about";
+ mes "Intelligence (INT).";
+ mes "If you wish to major in some kind";
+ mes "of complicated work,";
+ mes "which requires you to be extremely";
+ mes "intelligence and knowledgeable,";
+ mes "I can recommend you to the";
+ mes "Schwicherbil Magic Academy.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "Oh well, let's talk about INT.";
+ mes "INT affects the maximum amount of";
+ mes "^4D4DFFSP, SP restoration,^000000";
+ mes "the ^4D4DFFdamage of your magic attack^000000";
+ mes "^4d4dff(MATK)^000000 and your ^4D4DFFdefense against magic attack (MDEF)";
+ mes "The SP amount and MATK increased by";
+ mes "1 INT is dependent on job class,";
+ mes "just like VIT.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "Just like normal DEF,";
+ mes "Your MDEF shows as 2 different ";
+ mes "numerical values,";
+ mes "what INT affects are shown on the";
+ mes "second value.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "In order to study elements which";
+ mes "consist of this world";
+ mes "You must be intelligent enough and";
+ mes "must improve the knowledge.";
+ mes "So scholars like me or wizards,";
+ mes "place their priority into INT.";
+ break;
+ case 3: mes "[Jarre Riotte]";
+ mes "Our last subject is Dexterity (DEX)";
+ mes "and Luck (LUK).";
+ mes "Ironically those 2 stats are";
+ mes "totally opposed to each other by";
+ mes "their means, you know.";
+ mes "Dexterity is result in your effort";
+ mes "to be accurate and Luck is result";
+ mes "in your pure luck.";
+ mes "Hahaha....";
+ mes "Oh, don't worry me, I am just ";
+ mes "talking to myself.";
+ mes "Now, shall we start?";
+ next;
+ mes "[Jarre Riotte]";
+ mes "Dexterity mainly affects your";
+ mes "accuracy,";
+ mes "attack speed (ASPD) and your average";
+ mes "attack strength.";
+ mes "Let me explain...";
+ mes "If you have low DEX, the difference";
+ mes "between the minimum damage and the";
+ mes "maximum damage becomes huge,";
+ mes "also the average damage is not stable.";
+ mes "That's why DEX is important.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "Especially in the case of using";
+ mes "^4D4DFFbows^000000 as your main weapon,";
+ mes "attack strength is based on ^4D4DFFDEX^000000.";
+ mes "If you wish to become an archer,";
+ mes "please focus on DEX.";
+ mes "Also the accuracy is affected by";
+ mes "character level + Dex";
+ next;
+ mes "[Jarre Riotte]";
+ mes "Let's say you're at level 40";
+ mes "possessing 20 DEX,";
+ mes "your accuracy equals 40 + 20, so";
+ mes "60.";
+ mes "Also DEX reduces the casting time";
+ mes "of spells.";
+ mes "Now, let me explain about LUK.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "LUK (Luck) affects the chance for a";
+ mes "critical attack,";
+ mes "the Flee Rate and a small amount of";
+ mes "damage you deal to monsters.";
+ mes "For critical attack,";
+ mes "the start value is 1 for everyone";
+ mes "and it's increased by ^4D4DFF1^000000";
+ mes "for every ^4D4DFF3 LUK.^000000";
+ next;
+ mes "[Jarre Riotte]";
+ mes "With more LUK, comes more chances";
+ mes "to do critical attacks to your";
+ mes "enemies.";
+ mes "A critical attack means an attack ";
+ mes "that pierces the defense of an";
+ mes "enemy.";
+ mes "A critical attack has a";
+ mes "distinguished damage effect as";
+ mes "well.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "For every 10 LUK you get 1 point to";
+ mes "your perfect dodge, which is a kind";
+ mes "of Flee Rate.";
+ mes "When you perform a perfect dodge a";
+ mes "^FF7F00Lucky^000000 effect shows up on your head";
+ mes "and you will perfectly avoid an";
+ mes "attack from an enemy.";
+ next;
+ mes "[Jarre Riotte]";
+ mes "Well, I must, luck is a good";
+ mes "thing to have,";
+ mes "but that doesn't mean you need it";
+ mes "before everything else.";
+ mes "Do you have any other questions?";
+ break;
+ case 4: mes "[Jarre Riotte]";
+ mes "I hope my class was helpful to you.";
+ mes "I really hope so.";
+ close;
+ }
+ goto L_loop;
+}
+
+new_1-2.gat,184,172,4 script Skill Assistant 47,{
+ mes "[Pitch Judas]";
+ mes "Welcome. I have been waiting for";
+ mes "you for a long time!!";
+ mes "Oh look at this cute little ";
+ mes "novice!";
+ mes "I, Pitch, feel so responsible for";
+ mes "your performance,";
+ mes "I will be teaching you with my";
+ mes "best effort.";
+ emotion 30;
+L_loop:
+ next;
+ switch( select("Passive and Active Skills.","Passive, Basic Skills.","Use of Emoticons","Cancel") ) {
+ case 1: mes "[Pitch Judas]";
+ mes "You have chosen the passive and";
+ mes "active skills.";
+ mes "I am explaining the passive skills";
+ mes "first, please pay attention.";
+ mes "First, could you open your skill";
+ mes "windows by pressing 'Alt+S'.";
+ next;
+ mes "[Pitch Judas]";
+ mes "Can you see an available skill in";
+ mes "Skill Tree window?";
+ mes "After you increase Basic Skill,";
+ mes "There will be 'Passive' on the";
+ mes "right";
+ mes "Now, to see Basic Skill's";
+ mes "description";
+ mes "Please, do right-click the icon.";
+ next;
+ mes "[Pitch Judas]";
+ mes "'Enable to apply to Basic Interface";
+ mes "Skills'";
+ mes "Do you see this sentence?";
+ mes "Every skill are really needed when";
+ mes "you play this game.";
+ mes "You must not spend your SP with";
+ mes "these skills.";
+ next;
+ mes "[Pitch Judas]";
+ mes "Briefly, passive skill means a";
+ mes "skill that does not consume SP to";
+ mes "be activated";
+ mes "Most of the time, those are the";
+ mes "most basic skills for a job class.";
+ next;
+ mes "[Pitch Judas]";
+ mes "On the contrary,";
+ mes "um! active skills means a skill that";
+ mes "requires SP to be activated.";
+ mes "Also you must use an active skill";
+ mes "manually by clicking its icon or";
+ mes "by registering it as short key";
+ mes "in order to activate it.";
+ mes "As you use an active skill, a";
+ mes "certain amount of SP will be spent";
+ mes "as much as the skill requires.";
+ mes "The Bash skill for Swordsman, Heal";
+ mes "for Acolytes, are active skills for";
+ mes "instance.";
+ next;
+ mes "[Pitch Judas]";
+ mes "If you did pay attention in your";
+ mes "Classes";
+ mes "you are supposed to have a skill,";
+ mes "which is 'First Aid'";
+ mes "Double-Click it to use it.";
+ mes "The skill will start with spending";
+ mes "SP";
+ next;
+ mes "[Pitch Judas]";
+ mes "For your understanding, I would";
+ mes "say,";
+ mes "most skills which are focused on";
+ mes "mental or physical training of the";
+ mes "job classes";
+ mes "are described as passive skills.";
+ mes "And skills which need its user to";
+ mes "activate them manually";
+ mes "by their needs are described as";
+ mes "active skills.";
+ mes "Do you understand?";
+ next;
+ mes "[Pitch Judas]";
+ mes "If you are still not sure about my";
+ mes "lesson";
+ mes "I am willing to go over it once";
+ mes "again.";
+ break;
+ case 2: mes "[Pitch Judas]";
+ mes "The pure passive skills!";
+ mes "The starting skills of Ragnarok! 8";
+ mes "things you must be aware of to";
+ mes "play!";
+ mes "Our first subject is basic skills";
+ next;
+ mes "[Pitch Judas]";
+ mes "When you right click with your";
+ mes "mouse on your skill windows,";
+ mes "you can check the descriptions of";
+ mes "the skills.";
+ mes "However, for your better";
+ mes "understanding, I prepared this";
+ mes "lesson.";
+L_loop1:
+ next;
+ switch( select("Trade and Exchange","Organising & Joining party","Opening Chat room","Storage Use","No thanks, I know already.") ) {
+ case 1: mes "[Pitch Judas]";
+ mes "When you go visit our official";
+ mes "website at ^4d4dffhttp://ragnarok.co.kr^000000,";
+ mes "you can find a full explanation";
+ mes "about trade and exchange with";
+ mes "pictures.";
+ mes "In order to trade items or zeny";
+ mes "with other people, you must learn";
+ mes "at least level 1 basic skill.";
+ next;
+ mes "[Pitch Judas]";
+ mes "For a trade,";
+ mes "the distance between you and the";
+ mes "other person is very important!";
+ mes "You must be very close to trade";
+ mes "with another and then right click";
+ mes "on the person, once.";
+ mes "That's very important, once.";
+ next;
+ mes "[Pitch Judas]";
+ mes "When you choose the ^800fffRequest a deal^000000";
+ mes "^800fffwith^000000 command, doing Right-Click.";
+ mes "it will show a trade request";
+ mes "windows with the person.";
+ mes "The actual trade windows will open";
+ mes "between you and the person at the";
+ mes "same time";
+ mes "after the person accepts your";
+ mes "offer.";
+ mes "If you are more than 2 cells away";
+ mes "from the person,";
+ mes "you cannot ask a trade. So, please";
+ mes "remember that.";
+ next;
+ mes "[Pitch Judas]";
+ mes "For item trade, you should click an";
+ mes "item and drag it to the left side";
+ mes "of the window.";
+ mes "For zeny trade, you can enter the";
+ mes "amount of zeny you want to trade.";
+ mes "After placing items or zeny into";
+ mes "the trade windows";
+ mes "you should press the 'OK' button on";
+ mes "the bottom of the windows.";
+ next;
+ mes "[Pitch Judas]";
+ mes "Of course, you must confirm the";
+ mes "trade of any items by clicking the";
+ mes "'OK' button";
+ mes "before you can complete the trade.";
+ next;
+ mes "[Pitch Judas]";
+ mes "After you confirm that the items";
+ mes "are the ones you want to trade,";
+ mes "press the 'Trade' button to finish";
+ mes "the trade.";
+ mes "If either of the traders do not";
+ mes "press the 'OK' button the trade";
+ mes "cannot be completed.";
+ mes "If either of the traders presses";
+ mes "the 'Cancel' button to the right of";
+ mes "the window,";
+ mes "the trade will be canceled.";
+ break;
+ case 2: mes "[Pitch Judas]";
+ mes "Now, let me explain to you about";
+ mes "the party system.";
+ mes "Party system allows you to organise";
+ mes "a small group with people";
+ mes "in order to assist you in hunting";
+ mes "aggressive monsters together";
+ mes "or to have fun together.";
+ next;
+ mes "[Pitch Judas]";
+ mes "You can organise a party by";
+ mes "pressing the friend button";
+ mes "on the basic information windows or";
+ mes "by typing a command:";
+ mes "on your chat windows.";
+ mes "Of course, you must be ^4d4dffat least^000000";
+ mes "^4d4dffbasic level 7 or above^000000 for using";
+ mes "this party system.";
+ next;
+ mes "[Pitch Judas]";
+ mes "I could explain more about the";
+ mes "distribution of items or";
+ mes "the distribution of experience";
+ mes "which party members have gained";
+ mes "together,";
+ mes "but I wish you could try on your";
+ mes "own later.";
+ mes "I really want to be in a party with";
+ mes "you and help you to level up...";
+ next;
+ mes "[Pitch Judas]";
+ mes "It will be unfair to other";
+ mes "novices,";
+ mes "you know... Joining a party is";
+ mes "possible by accepting an offer from";
+ mes "a party master.";
+ mes "There is no level requirement for";
+ mes "joining a party.";
+ next;
+ mes "[Pitch Judas]";
+ mes "That's all for the party system.";
+ mes "..........by the way, could you";
+ mes "tell me how to look so cute like";
+ mes "you?";
+ mes "I wish I could look cute as you";
+ mes "do.......";
+ mes "Anyhow, I really thank to God.";
+ mes "Let's shout";
+ mes "'Praise the Creator!'";
+ emotion 30;
+ break;
+ case 3: mes "[Pitch Judas]";
+ mes "You can ^4d4dffopen a chat room^000000";
+ mes "with ^4d4dffbasic skill level 4 or above.^000000";
+ mes "You can use the chat button on the";
+ mes "basic information windows";
+ mes "or by pressing 'Alt+C'";
+ next;
+ mes "[Pitch Judas]";
+ mes "Once you open a chat room,";
+ mes "you could check chat room member's";
+ mes "information by right clicking on a";
+ mes "character name.";
+ mes "Also you can register the character";
+ mes "as your friend through the same";
+ mes "way.";
+ mes "If you are the master of the room,";
+ mes "you can change the room setup.";
+ next;
+ mes "[Pitch Judas]";
+ mes "While in the chatting room, you";
+ mes "cannot hear any chat outside of the";
+ mes "chat room.";
+ mes "Please remember that.";
+ mes "...if you have some time,";
+ mes "I can spare some of my time for you";
+ mes "to open our own chat room on a boat";
+ mes "in Al De Baran";
+ mes "..... but I am an NPC.";
+ next;
+ mes "[Pitch Judas]";
+ mes "... ... ....I see.... ...";
+ mes "... ... .... Hmm";
+ mes "I know I hang out with you because";
+ mes "I am an NPC.";
+ mes "But it's ok. Don't worry about";
+ mes "me.";
+ mes "I am happy enough for now.";
+ break;
+ case 4: mes "[Pitch Judas]";
+ mes "All throughout the Rune-Midgard's";
+ mes "kingdom territory there is a huge";
+ mes "trading center named Kafra,";
+ mes "which provides many convenience";
+ mes "services to adventurers";
+ mes "such as personal storage service.";
+ mes "An NPC at the right side of this";
+ mes "hall,";
+ mes "is one of the Kafra employees.";
+ next;
+ mes "[Pitch Judas]";
+ mes "You are allowed to use your";
+ mes "^4d4dffpersonal Kafra storage^000000";
+ mes "at ^4d4dffbasic skill 6 or above.^000000";
+ mes "If you haven't listened to the";
+ mes "Kafra Employee for the services";
+ mes "they're providing to adventurers,";
+ mes "please do.";
+ next;
+ mes "[Pitch Judas]";
+ mes "When you carry too much items at";
+ mes "once,";
+ mes "you cannot attack or recover";
+ mes "yourself.";
+ mes "so I recommend you to have some";
+ mes "available space";
+ mes "and you use Storage, which is Kafra";
+ mes "Service.";
+ break;
+ case 5: mes "[Pitch Judas]";
+ mes "Oh, do you? you're as smart as much";
+ mes "as you are cute!";
+ mes "I, Pitch am very impressed with";
+ mes "you.";
+ mes "Our official website has many";
+ mes "resources, doesn't it?";
+ next;
+ mes "[Pitch Judas]";
+ mes "Do you wish to learn about a different subject?";
+ }
+ if ( @menu != 5 ) goto L_loop1;
+ break;
+ case 3: mes "[Pitch Judas]";
+ mes "^4d4dffEmoticons^000000 are commonly used online";
+ mes "for ^4d4dffdisplaying your feelings^000000 and";
+ mes "better communication between ";
+ mes "people.";
+ mes "However, in Ragnarok,";
+ mes "there is a requirement for using";
+ mes "emoticons.";
+ mes "You must be at least ^4d4dffbasic skill^000000";
+ mes "^4d4dfflevel 2 or above^000000 in order to use ";
+ mes "emoticons";
+ next;
+ mes "[Pitch Judas]";
+ mes "You can check emoticons you have";
+ mes "registered as shortcut keys and";
+ mes "the list of available emoticons by";
+ mes "pressing 'Alt+L' and 'Alt+M'.";
+ mes "Oh yes,";
+ mes "this is also fully explained on our";
+ mes "official website as well.";
+ next;
+ mes "[Pitch Judas]";
+ mes "Ah! I must say,";
+ mes "the honest expression of one's";
+ mes "feelings is essential for a";
+ mes "relationship.";
+ mes "Yes, I agree with your point of";
+ mes "view that too much touchy-feely";
+ mes "could be a problem!";
+ mes "However, sice the chatting is the";
+ mes "only way of expressing oneself to";
+ mes "others online,";
+ mes "emoticons are much more helpful to";
+ mes "display your emotions.";
+ next;
+ mes "[Pitch Judas]";
+ mes "Oh well, so what I was saying is,";
+ mes "you can directly use emoticons by";
+ mes "registering them on your shortcut";
+ mes "keys with the 'Alt+M'";
+ mes "or you can type a command for an";
+ mes "emoticon on your chat windows such";
+ mes "as ^4d4dff/heh^000000";
+ mes "You can play rock, scissors and";
+ mes "paper";
+ mes "by pressing ^4d4dffCTRL^000000 and ^4d4dff-^000000, ^4d4dff=^000000 and ^4d4dff\^000000";
+ mes "key.";
+ next;
+ mes "[Pitch Judas]";
+ mes "Of course you can type ^4d4dff/gawi^000000,";
+ mes "^4d4dffbawi^00000 and ^4d4dff/bo^000000";
+ mes "which mean rock, scissors and paper";
+ mes "in Korean on your chat windows.";
+ mes "There are many new emoticons which";
+ mes "have been newly added,";
+ mes "please check all new emoticon";
+ mes "commands by typing ^4d4dff/emotion^000000 on your";
+ mes "chat windows.";
+ mes "............HuHu";
+ emotion 3;
+ break;
+ case 4: mes "[Pitch Judas]";
+ mes "Don't you need anything else?";
+ mes "I hope you are healthy.";
+ close;
+ }
+ goto L_loop;
+}
+
+//Potato Merchant
+new_1-2.gat,28,185,4 shop Potato Merchant 90,516:15
+
+new_1-2.gat,38,182,4 script Helper 92,{
+ if (!(NEW_MES_FLAG5)) {
+ if (!(NEW_MES_FLAG4)) {
+ mes "[Kane]";
+ mes "Do you want to battle without";
+ mes "knowing the basic knowledge?";
+ mes "Go meet the helper right next to";
+ mes "me, and listen to him first.";
+ close;
+ } else {
+ mes "[Kane]";
+ mes "The 2nd course is for Monster hunting,";
+ mes "you can use what you've learned in";
+ mes "the Practical Course.";
+ next;
+ mes "[Kane]";
+ mes "I hope you fight well with monsters,";
+ mes "based on what you know.";
+ next;
+ mes "[Kane]";
+ mes "You don't need to feel the burden, I";
+ mes "just want you to enjoy the experience";
+ mes "of being engaged in battle.";
+ next;
+ mes "[Kane]";
+ mes "If you want to get out of the 2nd";
+ mes "course, talk to the helper who is in";
+ mes "the North section of the field.";
+ mes "Now then, do you want to try?";
+ next;
+ if ( select("Yes","I want to learn more.") == 1 ) {
+ mes "[Kane]";
+ mes "Just feel free to fight.";
+ mes "These will help you if you have";
+ mes "an emergency.";
+ mes "I will give you a weapon and";
+ mes "guard.";
+ set NEW_MES_FLAG5,1;
+ getitem 602,1;
+ getitem 601,9;
+ getitem 1243,1;
+ getitem 2112,1;
+ getitem 611,2;
+ getitem 569,300;
+ close2;
+ savepoint "new_1-2.gat",24,188;
+ warp "new_1-3.gat",96,21;
+ end;
+ } else {
+ mes "[Kane]";
+ mes "Then, you can talk to our";
+ mes "instructor to the left and learn";
+ mes "more. When you are ready, please";
+ mes "come back again.";
+ close;
+ }
+ }
+ }
+ mes "[Kane]";
+ mes "I told you that you have to be";
+ mes "careful.";
+ mes "But as you know 'A failure can";
+ mes "become a stepping stone to";
+ mes "success'";
+ next;
+ mes "[Kane]";
+ mes "Do you want to try again?";
+ next;
+ if ( select("Yes","No, I want to prepare more.") == 1 ) {
+ if (!(NEW_LVUP1)) {
+ mes "[Kane]";
+ mes "Then, I will give you some additional help.";
+ mes "Please be careful.";
+ set NEW_LVUP1,1;
+ set BaseExp,BaseExp+NextBaseExp;
+ getitem 569,50;
+ } else {
+ mes "[Kane]";
+ mes "Then, I will give you some additional help.";
+ mes "Please be careful.";
+ percentheal 100,100;
+ }
+ close2;
+ switch ( rand(3) ) {
+ case 0: warp "new_1-3.gat",96,21; break;
+ case 1: warp "new_2-3.gat",96,21; break;
+ case 2: warp "new_3-3.gat",96,21;
+ }
+ end;
+ } else {
+ mes "[Kane]";
+ mes "Then, why don't you talk to the";
+ mes "helper who is next to me?";
+ mes "When you are ready, please come";
+ mes "back again.";
+ close;
+ }
+}
+
+new_1-2.gat,17,182,6 script Helper 84,{
+ if (!(NEW_MES_FLAG4)) {
+ mes "[Elmeen]";
+ mes "Congratulations!";
+ mes "You have passed the 1st training";
+ mes "course! Wow~ I guess now you";
+ mes "understand a little bit more about";
+ mes "Ragnarok Online.";
+ next;
+ mes "[Elmeen]";
+ mes "You will learn the fundamentals of";
+ mes "actual battle through this class.";
+ mes "If you did your best throught the";
+ mes "Informative class, you are supposed";
+ mes "to have been given some starting";
+ mes "equipment.";
+ next;
+ mes "[Elmeen]";
+ mes "Please check your";
+ mes "equipment before you engage in";
+ mes "battle. Are you sure you've";
+ mes "equipped all of your equipment,";
+ mes "your weapons and armor?";
+ next;
+ if ( select("Yes","No") == 1 ) {
+ callsub L_battle;
+ next;
+ mes "[Elmeen]";
+ mes "Do you understand these battle commands?";
+ mes "Now, I will teach you about monster";
+ mes "behaviors and properties, experience";
+ mes "gained through battle, and items you";
+ mes "can earn from dead monsters.";
+ next;
+ mes "[Elmeen]";
+ mes "Field Combat Training can be";
+ mes "actually pretty dangerous for";
+ mes "new adventurers. Let me give you";
+ mes "a little more strenght through the";
+ mes "power of my magic.";
+ next;
+ mes "[Elmeen]";
+ mes "Haaaaaaa~!";
+ set NEW_MES_FLAG4,1;
+ set BaseExp,BaseExp+NextBaseExp;
+ next;
+ mes "[Elmeen]";
+ mes "Which subject";
+ mes "should I cover";
+ mes "first for you?";
+ L_loop:
+ next;
+ switch( select("Monster","EXP","Items","Cancel") ) {
+ case 1: callsub L_monster;
+ break;
+ case 2: callsub L_exp;
+ break;
+ case 3: callsub L_item;
+ break;
+ case 4: mes "[Elmeen]";
+ mes "Feel free to ask me if you have any questions.";
+ close;
+ }
+ goto L_loop;
+ } else {
+ callsub L_equip;
+ close;
+ }
+ }
+ mes "[Elmeen]";
+ mes "Oh, do you want to listen again?";
+ mes "Which one do you want to know?";
+L_loop1:
+ next;
+ switch( select("Monster","EXP","Items","Basic info on Monster Hunting","Cancel") ) {
+ case 1: callsub L_monster;
+ break;
+ case 2: callsub L_exp;
+ break;
+ case 3: callsub L_item;
+ break;
+ case 4: callsub L_battle;
+ break;
+ case 5: callsub L_equip;
+ close;
+ }
+ goto L_loop1;
+ end;
+L_battle:
+ mes "[Elmeen]";
+ mes "First, you place the cursor on a";
+ mes "monster. When you left click, you";
+ mes "will hit the monster once.";
+ next;
+ mes "[Elmeen]";
+ mes "If you are too lazy to keep left";
+ mes "clicking, left click on the monster";
+ mes "while holding the ^4D4DFF'CTRL'^000000 key. You";
+ mes "will then continue attacking the";
+ mes "monster until one of you is dead,";
+ mes "or you run away.";
+ next;
+ mes "[Elmeen]";
+ mes "You can also just hold down the";
+ mes "left mouse button while the cursor";
+ mes "is on the monster. Still, there are";
+ mes "some people who are even too lazy";
+ mes "to use the ^4D4DFF'Ctrl'^000000 key every time";
+ mes "they attack a monster.";
+ next;
+ mes "[Elmeen]";
+ mes "If you're one of them, type the";
+ mes "comman ^E79E29/nc^000000 in your Chat Window.";
+ mes "Then, when you left click";
+ mes "a monster, you'll just continuously";
+ mes "attack it!";
+ next;
+ mes "[Elmeen]";
+ mes "If a monster happens to have the";
+ mes "Undead property, you can use the";
+ mes "'Heal' skill to attack if you";
+ mes "happen to have it.";
+ next;
+ mes "[Elmeen]";
+ mes "When you use the Heal skill while";
+ mes "holding down the ^4D4DFF'Shift'^000000 key, you";
+ mes "can target the monster with the";
+ mes "Heal skill to damage it.";
+ next;
+ mes "[Elmeen]";
+ mes "Of course for this skill, we do";
+ mes "have a very convenient option for";
+ mes "lazy people too.";
+ mes "Type the command ^E79E29/ns^000000 in your Chat";
+ mes "Window.";
+ next;
+ mes "[Elmeen]";
+ mes "This will allow you to attack";
+ mes "monsters by using the heal skill";
+ mes "without holding the shift key.";
+ mes "Handy, huh?";
+ return;
+L_monster:
+ mes "[Elmeen]";
+ mes "There are many aggressive monsters.";
+ mes "They will attack you, before you're";
+ mes "even close to them.";
+ mes "Also there are few monsters";
+ mes "that are very cooperative with their";
+ mes "tribe. If you attack one of them,";
+ mes "others will come after you for";
+ mes "revenge.";
+ next;
+ mes "[Elmeen]";
+ mes "Every monster are specified with";
+ mes "their types, sizes and properties.";
+ mes "For instance, monster types are ";
+ mes "include: demi-human, brute, immortal";
+ mes "or devil";
+ mes "Once you acknowledge which type a";
+ mes "monster is, you will be able to ";
+ mes "lead an easy battle.";
+ next;
+ mes "[Elmeen]";
+ mes "Also, if you can have some cards";
+ mes "for your weapons which increases";
+ mes "the damage upon certain monster";
+ mes "types,";
+ mes "or cards for your armours which";
+ mes "reduces the damage taken, it will";
+ mes "be much easier for you to battle";
+ mes "against monsters.";
+ next;
+ mes "[Elmeen]";
+ mes "Monsters are seperated by their";
+ mes "sizes such as small, medium and";
+ mes "large.";
+ mes "There are a few cards that allows";
+ mes "you";
+ mes "to do more damage followed by the";
+ mes "monster size.";
+ next;
+ mes "[Elmeen]";
+ mes "Also every weapon have their";
+ mes "strengths and weaknesses. Size of the";
+ mes "weapon affects on the damage of the ";
+ mes "weapon dealth with monsters.";
+ mes "For instance, dagger class weapons";
+ mes "do 100% damage on the small sized";
+ mes "mosnters but they only do 50% on";
+ mes "the large monsters.";
+ next;
+ mes "[Elmeen]";
+ mes "For the monster property, there are";
+ mes "water, wind, earth, fire, shadow";
+ mes "ghost and holy.";
+ mes "If you attack a monster with the";
+ mes "opposite property of it, you can do";
+ mes "more damages than the damage you";
+ mes "normally do.";
+ next;
+ mes "[Elmeen]";
+ mes "Also, if you attack a monster with";
+ mes "the same property of the monster,";
+ mes "the damage will be significantly";
+ mes "reduced or you will do no damage at";
+ mes "all, also there is a possibility ";
+ mes "that you will heal the monster.";
+ mes "For instance, in case of a ghost";
+ mes "property monster, normal weapons";
+ mes "cannot do any damage on the";
+ mes "monster, but weapons with property";
+ mes "can.";
+ return;
+L_exp:
+ mes "[Elmeen]";
+ mes "Basically, a character who deals";
+ mes "the most damage on a monster";
+ mes "receives the most experience points";
+ mes "from the monster.";
+ mes "Therefore you receive a certain %";
+ mes "of experience points in proportion";
+ mes "to the damage you've done on the HP";
+ mes "amount of a monster.";
+ next;
+ mes "[Elmeen]";
+ mes "Let's say, there is a character";
+ mes "name 'Z'. Z does 65 damage on a ";
+ mes "monster that possess 100 HP and";
+ mes "gives 1000 experience points when";
+ mes "it's dead. Then, the expereicen";
+ mes "points Z receives from the monster";
+ mes "will be '650'.";
+ mes "This is how you gain the experience";
+ mes "points.";
+ next;
+ mes "[Elmeen]";
+ mes "However, this rule applies";
+ mes "differently following certain";
+ mes "situations.";
+ mes "If there are two people who did the ";
+ mes "same 65 damage on one monster, the";
+ mes "experience points that each one of";
+ mes "them receives from the monster";
+ mes "beco mes different, affected by";
+ mes "remaining HP amount of the";
+ mes "monster.";
+ mes "For instance, somebody ";
+ mes "does damage on a monster while";
+ mes "you're hitting it and he did the";
+ mes "same amount of damage you did.";
+ mes "Then, you will receive 2/3 of the";
+ mes "whole experience points that";
+ mes "monster can give you, the other one";
+ mes "will receive 1/3.";
+ next;
+ mes "[Elmeen]";
+ mes "However, attacking a monster that";
+ mes "somebody already started to hit is";
+ mes "not suggested in Ragnarok Online.";
+ mes "That action is regarded as an ";
+ mes "ill-mannered behaviour. For party";
+ mes "play, the master can set up";
+ mes "the experience distribution to the";
+ mes "equally share option.";
+ mes "With this method, party members can ";
+ mes "share their experience followed by ";
+ mes "their character level and numbers";
+ mes "of the party.";
+ next;
+ mes "[Elmeen]";
+ mes "Also there is an experience";
+ mes "benefit for party play which allows";
+ mes "you to gain more experience points";
+ mes "than playing solo,";
+ mes "you can take advantage of the";
+ mes "system for faster leveling.";
+ return;
+L_item:
+ mes "[Elmeen]";
+ mes "When you kill monsters, you can";
+ mes "obtain items by chance. Besides,";
+ mes "certain characters can use the";
+ mes "'Steal' skill in order to steal";
+ mes "items from monsters.";
+ next;
+ mes "[Elmeen]";
+ mes "Don't you worry about the steal";
+ mes "skill causing you to not find any";
+ mes "items after you kill them. The";
+ mes "steal skill works on the item drop";
+ mes "rate independently from the normal";
+ mes "rate.";
+ mes "In case you kill a mosnter with ";
+ mes "other people, a person who did the";
+ mes "most damage has a prior rights to";
+ mes "obtain items.";
+ return;
+L_equip:
+ mes "[Elmeen]";
+ mes "Please take care of the equipment";
+ mes "you've received through the";
+ mes "training courses. Once you lose the";
+ mes "equipment, you can never get them";
+ mes "back.";
+ return;
+}
+
+//Training Center Employee functions
+function script training_personnel {
+ mes "[Hoffman]";
+ mes "Hey there~";
+ mes "I'm here to provide";
+ mes "you with a little instruction";
+ next;
+ mes "[Hoffman]";
+ mes "These monsters are all weak";
+ mes "and easy to kill. But be careful,";
+ mes "a lot of them are aggressive";
+ mes "and out for blood!";
+ next;
+ mes "[Hoffman]";
+ mes "If you think monsters here are too";
+ mes "weak for you, I can send you to";
+ mes "another taining ground where the";
+ mes "monsters are stronger than the ones";
+ mes "over here.";
+ next;
+ mes "[Hoffman]";
+ mes "But don't worry so much,";
+ mes "They're not impossible for";
+ mes "Novices. So would you";
+ mes "like to try?";
+ next;
+ return;
+}
+function script training_personnel0 {
+ mes "[Hoffman]";
+ mes "Hmmm...?";
+ mes "Are you worried about going";
+ mes "to more challenging places? That's";
+ mes "understandable, since you're still";
+ mes "a new adventurer. Good luck~";
+ close;
+ return;
+}
+function script training_personnel1 {
+ mes "[Hoffman]";
+ mes "Hmmm...?";
+ mes "Are you worried about going";
+ mes "to more challenging places? That's";
+ mes "understandable, since you're still";
+ mes "a new adventurer. Good luck~";
+ close2;
+ warp "new_1-3.gat",96,21;
+ return;
+}
+function script training_personnel2 {
+ mes "[Hoffman]";
+ mes "Hmmm...?";
+ mes "Are you worried about going";
+ mes "to more challenging places? That's";
+ mes "understandable, since you're still";
+ mes "a new adventurer. Good luck~";
+ close2;
+ warp "new_" + rand(2,3) + "-3.gat",96,21;
+ return;
+}
+function script training_personnel3 {
+ mes "[Hoffman]";
+ mes "You must like";
+ mes "rough challenges,";
+ mes "don't you? Please";
+ mes "be careful, it can get";
+ mes "pretty difficult...";
+ close2;
+ warp "new_" + rand(4,5) + "-3.gat",96,21;
+ return;
+}
+
+new_1-3.gat,95,30,4 script Training Center Employee 84,{
+ callfunc "training_personnel";
+ switch( select("I don't want a challenge~","I wanna fight tough monsters!","Cancel.") ) {
+ case 1: callfunc "training_personnel2"; break;
+ case 2: callfunc "training_personnel3"; break;
+ case 3: callfunc "training_personnel0";
+ }
+}
+new_2-3.gat,95,30,4 script Training Center Employee 84,{
+ callfunc "training_personnel";
+ switch( select("I don't want a challenge~","I wanna fight tough monsters!","Cancel.") ) {
+ case 1: callfunc "training_personnel1"; break;
+ case 2: callfunc "training_personnel3"; break;
+ case 3: callfunc "training_personnel0";
+ }
+}
+new_3-3.gat,95,30,4 script Training Center Employee 84,{
+ callfunc "training_personnel";
+ switch( select("I don't want a challenge~","I wanna fight tough monsters!","Cancel.") ) {
+ case 1: callfunc "training_personnel1"; break;
+ case 2: callfunc "training_personnel3"; break;
+ case 3: callfunc "training_personnel0";
+ }
+}
+new_4-3.gat,95,30,4 script Training Center Employee 84,{
+ callfunc "training_personnel";
+ switch( select("I don't want a challenge~","I wanna fight tough monsters!","Cancel.") ) {
+ case 1: callfunc "training_personnel1"; break;
+ case 2: callfunc "training_personnel2"; break;
+ case 3: callfunc "training_personnel0";
+ }
+}
+new_5-3.gat,95,30,4 script Training Center Employee 84,{
+ callfunc "training_personnel";
+ switch( select("I don't want a challenge~","I wanna fight tough monsters!","Cancel.") ) {
+ case 1: callfunc "training_personnel1"; break;
+ case 2: callfunc "training_personnel2"; break;
+ case 3: callfunc "training_personnel0";
+ }
+}
+
+- script supervision 85,{
+ mes "[Keyman]";
+ mes "Hmmm!";
+ mes "You have practised a lot, would you like to go on with further training?";
+ next;
+ menu "Yes",L1,"No",L2;
+L1: mes "[Keyman]";
+ mes "Don't forget about everything you've learnt here. Have a nice trip.";
+ next;
+ warp "new_1-4.gat",99,10;
+ close2;
+ warp "new_1-4.gat",99,10;
+ end;
+L2: mes "[Keyman]";
+ mes "So you want to stay here longer? Continue training, and train hard!";
+ close;
+}
+new_1-3.gat,96,174,4 duplicate(supervision) Petugas Pemeriksa 85
+new_2-3.gat,96,174,4 duplicate(supervision) Petugas Pemeriksa 85
+new_3-3.gat,96,174,4 duplicate(supervision) Petugas Pemeriksa 85
+new_4-3.gat,96,174,4 duplicate(supervision) Petugas Pemeriksa 85
+new_5-3.gat,96,174,4 duplicate(supervision) Petugas Pemeriksa 85
+
+//Novice Instructor
+new_1-4.gat,91,22,4 script Novice Instructor 57,{
+ mes "[Bruce]";
+ mes "You have come from far away.";
+ mes "Thank you for coming here";
+ if(Sex == 1) goto L_FEMALE;
+ mes "Mr '"+strcharinfo(0)+"'";
+ goto L_CONT;
+L_FEMALE:
+ mes "Ms '"+strcharinfo(0)+"'";
+L_CONT:
+ mes "It's nice to meet you.";
+ mes "My name is Bruce, and I come";
+ mes "from Rune-Midgard.";
+ next;
+ mes "[Bruce]";
+ mes "My work is to help Novices";
+ mes "to choose their jobs.";
+ mes "So, I will briefly explain each";
+ mes "job.";
+ next;
+ mes "[Bruce]";
+ mes "I will explain the following jobs:";
+ mes "^0000FFSwordsman, Mage, Archer, Merchant, Thief and Acolyte.^000000";
+ next;
+ mes "[Bruce]";
+ mes "Which job do you want to hear about?";
+L_loop:
+ next;
+ switch( select("Swordman","Mage","Archer","Merchant","Thief","Acolyte","End Conversation") ) {
+ case 1: mes "[Bruce]";
+ mes "Literally, Swordsman means one who";
+ mes "specialises in wielding swords.";
+ mes "Swordsman can also choose to use";
+ mes "spears, but I must say, it is a rare";
+ mes "occurance.";
+ next;
+ mes "[Bruce]";
+ mes "Swordsman posses strong physical";
+ mes "strength.";
+ mes "This is so they can equip heavy armours";
+ mes "and weapons.";
+ mes "Most weapon classes, except for";
+ mes "bows and rods, are equipable by the";
+ mes "Swordsman class.";
+ next;
+ mes "[Bruce]";
+ mes "The only weakness of the Swordman";
+ mes "class is that they cannot use";
+ mes "magic spells.";
+ mes "However, it is compensated for";
+ mes "by using elemental weapons.";
+ next;
+ mes "[Bruce]";
+ mes "The benefits of being a Swordsman";
+ mes "is the enormous amount of HP.";
+ mes "You can bear the damage from your";
+ mes "enemy with ease.";
+ next;
+ mes "[Bruce]";
+ mes "Furthermore, once you learn your";
+ mes "strong attack skills, there is no";
+ mes "one that can beat the Swordsman";
+ mes "class in a melee fight.";
+ next;
+ mes "[Bruce]";
+ mes "In Ragnarok Online,";
+ mes "Swordsman takes the position of";
+ mes "tanker, to protect weaker classes";
+ mes "from being attacked or hurt.";
+ mes "Swordsman is the ideal character for";
+ mes "the party leader position";
+ next;
+ mes "[Bruce]";
+ mes "Swordsman can advance into the";
+ mes "^FF0000Knight, or Crusader^000000 classes";
+ mes "for their 2nd class profession.";
+ break;
+ case 2: mes "[Bruce]";
+ mes "The mage class specialises in";
+ mes "manipulating: fire, water, earth";
+ mes "and lightening, to damage their";
+ mes "enemies.";
+ next;
+ mes "[Bruce]";
+ mes "However, due to their physical";
+ mes "weakness, they are only allowed";
+ mes "to equip rods and knives as";
+ mes "weapons, and light armours for";
+ mes "defense";
+ next;
+ mes "[Bruce]";
+ mes "Despite their physical weakness,";
+ mes "they are able to do massive damage";
+ mes "with their powerful spells.";
+ mes "This fact alone attracts many";
+ mes "people to this class";
+ next;
+ mes "[Bruce]";
+ mes "In Ragnarok Online,";
+ mes "the Mage is considered as the";
+ mes "damage dealer of the party";
+ next;
+ mes "[Bruce]";
+ mes "Mage can advance into a";
+ mes "^FF0000Wizard^000000 or ^FF0000Sage^000000";
+ mes "as their 2nd class profession.";
+ break;
+ case 3: mes "[Bruce]";
+ mes "Archer class specialises in";
+ mes "using bows. In a party, archers are";
+ mes "in charge of long range attacks.";
+ mes "This allows them to attack,";
+ mes "and kill monsters from a safe distance";
+ next;
+ mes "[Bruce]";
+ mes "Archers are physically weak,";
+ mes "however, they possess a high";
+ mes "level of accuracy with powerful";
+ mes "long range bows.";
+ next;
+ mes "[Bruce]";
+ mes "Every Archer may advance into";
+ mes "the ^FF0000Hunter^000000 class.";
+ mes "Alternatively, male archers may";
+ mes "advance into the ^FF0000Bard^000000,";
+ mes "and female Archers may become a";
+ mes "^FF0000Dancer^000000, as their 2nd class profession";
+ break;
+ case 4: mes "[Bruce]";
+ mes "The Merchant class specialises in";
+ mes "commerce. Due to their strong and";
+ mes "influential guild, Merchants can";
+ mes "buy and sell to NPCs for a better";
+ mes "price than other classes.";
+ next;
+ mes "[Bruce]";
+ mes "In Ragnarok Online, the Merchant";
+ mes "class possess various economically";
+ mes "beneficial skills.";
+ mes "They may buy items at a discount";
+ mes "from NPCs, and sell items to NPCs";
+ mes "at a higher price than normal.";
+ next;
+ mes "[Bruce]";
+ mes "In addition Merchants may rent a";
+ mes "cart that greatly expands their";
+ mes "carrying capacity, and allows";
+ mes "them to open shops with their";
+ mes "own items and prices.";
+ next;
+ mes "[Bruce]";
+ mes "Merchant can advance into a";
+ mes "^FF0000Blacksmith^000000 or ^FF0000Alchemist^000000";
+ mes "as their 2nd class profession.";
+ break;
+ case 5: mes "[Bruce]";
+ mes "The Thief class are experts at using";
+ mes "dagger class weapons as their main";
+ mes "weapon. They attack fast, and they";
+ mes "can dodge attacks from enemies with ease.";
+ next;
+ mes "[Bruce]";
+ mes "The Thief is also an expert at";
+ mes "hiding and stealing from their";
+ mes "enemies. Furthermore, their use";
+ mes "of poison to weaken their foes";
+ mes "is a feared trait of this class.";
+ next;
+ mes "[Bruce]";
+ mes "When you are in a dangerous";
+ mes "situation, or you want to hide";
+ mes "your body, you can use a skill";
+ mes "to dig into the ground.";
+ next;
+ mes "[Bruce]";
+ mes "Thief can advance into either";
+ mes "^FF0000Assassin^000000, or ^FF0000Rogue^000000";
+ mes "as the 2nd class profession.";
+ break;
+ case 6: mes "[Bruce]";
+ mes "The Acolyte is God's messenger to";
+ mes "Rune-Midgard. Acolytes have";
+ mes "skills that makes all classes";
+ mes "more potent in battle, as well as";
+ mes "the life saving heal ability.";
+ next;
+ mes "[Bruce]";
+ mes "The Acolyte's support abilities";
+ mes "make them a welcome addition to";
+ mes "any party. The acolyte is what";
+ mes "makes parties survive in";
+ mes "difficult situations, allowing";
+ mes "other classes to focus";
+ mes "themselves on defeating the enemy.";
+ next;
+ mes "[Bruce]";
+ mes "'Acolyte' is one of the jobs, who";
+ mes "are really needed when users want";
+ mes "to play in a party.";
+ next;
+ mes "[Bruce]";
+ mes "Acolyte may become a ^FF0000Priest^000000, or";
+ mes "^FF0000Monk^000000 as their 2nd class profession.";
+ break;
+ case 7: mes "[Bruce]";
+ mes "For more information, please visit";
+ mes "our official website at";
+ mes "'http://ragnarok.co.kr'";
+ mes "Hanson is waitinging for you now,";
+ mes "good luck out there.";
+ close;
+ }
+ set NEW_MES_FLAG6,1;
+ goto L_loop;
+}
+
+new_1-4.gat,100,29,4 script Final Instructor 46,{
+ if (!(NEW_MES_FLAG6)) {
+ mes "[Hanson]";
+ mes "Nice to meet you.";
+ mes "My name is 'Hanson'";
+ mes "I am in charge of the third course,";
+ mes "which is the 'Personality Test'.";
+ mes "Your name is ^A62A2A'"+strcharinfo(0)+"'^000000.";
+ next;
+ mes "[Hanson]";
+ mes "Before you take this test,";
+ mes "go to meet 'Bruce' right next to";
+ mes "me and listen about Jobs'.";
+ mes "then, come back to me.";
+ close;
+ }
+ if (NEW_GETITEM) {
+ mes "[Hanson]";
+ mes "I understand.";
+ mes "I will now move you directly into the world of Ragnarok Online.";
+ next;
+ mes "[Hanson]";
+ mes "For more information ";
+ mes "please visit the official";
+ mes "Ragnarok Online website.";
+ next;
+ mes "[Hanson]";
+ mes "Finally, "+strcharinfo(0)+"";
+ mes "I hope that you can become a good player.";
+ mes "Good luck, and have a safe journey.";
+ next;
+ goto L_cancel;
+ }
+ mes "[Hanson]";
+ mes "You have made an effort to come";
+ mes "here. You have just finished";
+ mes "learning about job classes.";
+ mes "This will be your 3rd test, the";
+ mes "personality test, but it's not";
+ mes "a mandatory course.";
+ next;
+ mes "[Hanson]";
+ mes "That is, if you do not wish to take";
+ mes "this course, you can decide to pass";
+ mes "without taking it. However, if you";
+ mes "take this course, there will be";
+ mes "some benefits.";
+ next;
+ mes "[Hanson]";
+ mes "Firstly, you will receive many";
+ mes "health items during the course.";
+ mes "They will be very helpful when";
+ mes "you join the Ragnarok Online";
+ mes "community.";
+ next;
+ mes "[Hanson]";
+ mes "Secondly, after you finish the";
+ mes "course, we suggest a job class";
+ mes "best suited to your personality,";
+ mes "and teleport you to a town where";
+ mes "you can change into the job we";
+ mes "suggested. And there are many";
+ mes "other supplies for you besides";
+ mes "these two benefits.";
+ next;
+ mes "[Hanson]";
+ mes "Now! What would you like to do?";
+ mes "Do you wish to start Ragnarok";
+ mes "Online immediately, or to take";
+ mes "this personality test?";
+ next;
+ if ( select("I'll take the test.","Let me start Ragnarok Online Please.") == 2 ) {
+ mes "[Hanson]";
+ mes "I understand.";
+ mes "I will now move you directly into the world of Ragnarok Online.";
+ next;
+ mes "[Hanson]";
+ mes "For more information ";
+ mes "please visit the official";
+ mes "Ragnarok Online website.";
+ next;
+ mes "[Hanson]";
+ mes "Finally, "+strcharinfo(0)+"";
+ mes "I hope that you can become a good player.";
+ mes "Good luck, and have a safe journey.";
+ next;
+L_cancel:
+ callsub L_cleararg;
+ switch ( rand(6) ) {
+ case 0: savepoint "izlude.gat",94,103;
+ warp "prt_fild08.gat",357,212;
+ break;
+ case 1: savepoint "payon.gat",256,242;
+ warp "pay_fild01.gat",334,354;
+ break;
+ case 2: savepoint "morocc.gat",149,100;
+ warp "moc_fild07.gat",198,39;
+ break;
+ case 3: savepoint "geffen.gat",120,38;
+ warp "gef_fild07.gat",327,188;
+ break;
+ case 4: savepoint "prontera.gat",116,72;
+ warp "prt_fild08.gat",170,371;
+ break;
+ case 5: savepoint "alberta.gat",31,231;
+ warp "pay_fild03.gat",388,70;
+ }
+ end;
+ }
+ mes "[Hanson]";
+ mes "Excellent choice! You're";
+ mes "You're supposed to take every";
+ mes "training course if you really";
+ mes "want to be a well-prepared";
+ mes "player! Honestly, if you";
+ mes "didn't take this course,";
+ mes "I would be disappointed in you.";
+ next;
+ mes "[Hanson]";
+ mes "Alright, let me start the 1st";
+ mes "personality test.";
+ mes "";
+ mes "Please releax and take it easy,";
+ mes "choose the most familiar answer";
+ mes "among the next examples.";
+ next;
+ mes "[Hanson]";
+ mes "Remember, this test is only to";
+ mes "check your personality, there";
+ mes "is no set standard for right";
+ mes "or wrong. Now! Let's start";
+ mes "the test!";
+ next;
+ mes "[Hanson]";
+ mes "Please choose the most familiar";
+ mes "word to you, from these examples.";
+ next;
+ switch ( select("Study","Exercise","Public service","Violence") ) {
+ case 1: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;break;
+ case 2: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;
+ set NOV_3_THIEF,NOV_3_THIEF+1;break;
+ case 3: set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;break;
+ case 4: set NOV_3_THIEF,NOV_3_THIEF+1;
+ }
+ switch ( select("Change","Conserve") ) {
+ case 1: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;break;
+ case 2: set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;
+ }
+ switch ( select("Consumer","Seller","Producer") ) {
+ case 1: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;
+ set NOV_3_THIEF,NOV_3_THIEF+1;
+ set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;break;
+ case 2: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;break;
+ case 3: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;
+ }
+ switch ( select("Celebrity","Prudence") ) {
+ case 1: set NOV_3_THIEF,NOV_3_THIEF+1;break;
+ case 2: set NOV_3_ARCHER,NOV_3_ARCHER+1;
+ }
+ switch ( select("Theory","Experience") ) {
+ case 1: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;break;
+ case 2: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;
+ }
+ switch ( select("The past","The reality","The future") ) {
+ case 1: set NOV_3_ARCHER,NOV_3_ARCHER+1;break;
+ case 2: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;
+ set NOV_3_THIEF,NOV_3_THIEF+1;break;
+ case 3: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;
+ }
+ mes "[Hanson]";
+ mes "Please answer with 'yes' or 'no' to";
+ mes "the next questions.";
+ next;
+ mes "[Hanson]";
+ mes "To die with honor is better than to live with disgrace.";
+ next;
+ switch ( select("Yes.","No") ) {
+ case 1: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;break;
+ case 2: set NOV_3_THIEF,NOV_3_THIEF+1;
+ set NOV_3_MERCHAN,NOV_3_MERCHAN+1;
+ }
+ mes "[Hanson]";
+ mes "You are often upset to see someone";
+ mes "who is better than you";
+ next;
+ switch ( select("Yes","No") ) {
+ case 1: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;break;
+ case 2:set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;
+ }
+ mes "[Hanson]";
+ mes "You don't mind exploring dangerous";
+ mes "places.";
+ next;
+ switch ( select("Yes","No") ) {
+ case 1: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;break;
+ case 2: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;
+ }
+ mes "[Hanson]";
+ mes "You are a leader-type person.";
+ next;
+ switch ( select("Yes","No") ) {
+ case 1: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;break;
+ case 2: set NOV_3_ARCHER,NOV_3_ARCHER+1;
+ }
+ mes "[Hanson]";
+ mes "While exploring a dungeon, you";
+ mes "encountered a no-way out.";
+ mes "As you examined a wall beside you,";
+ mes "there was a button-looking stone";
+ mes "with a 'do not push' sign.";
+ next;
+ mes "[Hanson]";
+ mes "You see the 'do not push' sign";
+ mes "and have an urge to push the";
+ mes "button. Do you push it?";
+ next;
+ switch ( select("Yes","No") ) {
+ case 1: set NOV_3_THIEF,NOV_3_THIEF+1;break;
+ case 2: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;
+ }
+ mes "[Hanson]";
+ mes "You often see things that don't";
+ mes "exist";
+ next;
+ switch ( select("Yes","No") ) {
+ case 1: set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;break;
+ case 2: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;
+ }
+ mes "[Hanson]";
+ mes "You feel you can fly";
+ mes "when falling from a cliff.";
+ next;
+ switch ( select("Yes","No") ) {
+ case 1: set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;break;
+ case 2: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;
+ }
+ mes "[Hanson]";
+ mes "Money talks. I can buy even human being if I want.";
+ next;
+ switch ( select("Yes","No") ) {
+ case 1: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;break;
+ case 2: set NOV_3_ARCHER,NOV_3_ARCHER+1;
+ }
+ mes "[Hanson]";
+ mes "Now, let me give you some different";
+ mes "questions.";
+ mes "Please relax and take it easy,";
+ mes "choose the most familiar answer";
+ mes "from the next examples";
+ next;
+ mes "[Hanson]";
+ mes "As you check your tight";
+ mes "schedule....";
+ next;
+ switch ( select("You feel like a robot.","You are proud and satisfied.","Schedule... what schedule?") ) {
+ case 1: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;
+ set NOV_3_THIEF,NOV_3_THIEF+1;break;
+ case 2: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;
+ set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;break;
+ case 3: set NOV_3_ARCHER,NOV_3_ARCHER+1;
+ set NOV_3_MERCHANT,NOV_3_MERCHANT+1;
+ }
+ mes "[Hanson]";
+ mes "During window shopping, you found a";
+ mes "really interesting item in a store";
+ mes "and you're debating whether to buy";
+ mes "it or not.";
+ mes "Before you purchase an item,";
+ mes "first thing you do is...";
+ next;
+ switch ( select("Think about if you need it.","Check the price.","Buy it without thinking twice...!") ) {
+ case 1: set NOV_3_ARCHER,NOV_3_ARCHER+1;break;
+ case 2: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;break;
+ case 3: set NOV_3_THIEF,NOV_3_THIEF+1;
+ }
+ mes "[Hanson]";
+ mes "You (____Fill in blank___) to compete";
+ mes "with other people.......";
+ next;
+ switch ( select("Don't mind...","Don't like...","Don't care...") ) {
+ case 1: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;break;
+ case 2: set NOV_3_THIEF,NOV_3_THIEF+1;break;
+ case 3: set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;
+ set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;
+ }
+ mes "[Hanson]";
+ mes "You're responsible for a task that";
+ mes "requires you to cooperate with many";
+ mes "people.";
+ mes "If you handle it by yourself, it";
+ mes "takes a long time with a lot of";
+ mes "effort.";
+ mes "But if you cooperate with others,";
+ mes "it will be simple and an enjoyable";
+ mes "task. You would...";
+ next;
+ switch ( select("Handle it by myself even if it's hard.","Ask friends to help.") ) {
+ case 1: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;break;
+ case 2: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;
+ }
+ mes "[Hanson]";
+ mes "You happened to find a girl who";
+ mes "fainted on the street.";
+ mes "What would you do?";
+ next;
+ switch ( select("Carry her to a hospital.","Considder my priority before taking an action.","Just ignore it.") ) {
+ case 1: set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;break;
+ case 2: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;
+ set NOV_3_ARCHER,NOV_3_ARCHER+1;break;
+ case 3: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;
+ set NOV_3_THIEF,NOV_3_THIEF+1;
+ set NOV_3_MERCHAN,NOV_3_MERCHAN+1;
+ }
+ mes "[Hanson]";
+ mes "You happened to pick up";
+ mes "some 'clothing'";
+ mes "What would you do?";
+ next;
+ switch ( select("Check the brand.","Wonder who lost it.","Find the owner.","Leave it where it was.") ) {
+ case 1: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;break;
+ case 2: set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;break;
+ case 3: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;break;
+ case 4: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;
+ }
+ mes "[Hanson]";
+ mes "You happened to slip your tongue in";
+ mes "the middle of a conversation.";
+ mes "What would be your reaction?";
+ next;
+ switch ( select("Pretend it's a joke.","Change the subject.","Analyse it.","Apologise honestly.") ) {
+ case 1: set NOV_3_THIEF,NOV_3_THIEF+1;break;
+ case 2: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;break;
+ case 3: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;break;
+ case 4: set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;
+ }
+ mes "[Hanson]";
+ switch (Sex) {
+ case 0: mes "You're on a trip with your beloved";
+ mes "one. She asks you to buy a";
+ mes "souvenir that's not particularly";
+ mes "needed.";
+ mes "What would you do?";
+ break;
+ case 1: mes "You're on a trip with your beloved";
+ mes "one. He asks you to buy a";
+ mes "souvenir that's not particularly";
+ mes "needed.";
+ mes "What would you do?";
+ }
+ next;
+ switch ( select("Buy the item for her/him.","Say 'no'.","Promise to buy it next time.") ) {
+ case 1: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;break;
+ case 2: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;break;
+ case 3: set NOV_3_THIEF,NOV_3_THIEF+1;
+ }
+ mes "[Hanson]";
+ mes "Ok!! That's all for the test.";
+ mes "You have finished all training";
+ mes "grounds courses. Congratulations!";
+ mes "I am so proud of you.";
+ next;
+ mes "[Hanson]";
+ mes "I prepared some items for you since";
+ mes "you passed the personality test.";
+ mes "Please take these.";
+ next;
+ set NEW_GETITEM,1;
+ getitem 501,4;
+ getitem 503,2;
+ getitem 506,2;
+ next;
+ mes "[Hanson]";
+ mes "Mr/Ms. ^A62A2A'"+strcharinfo(0)+"'^000000!";
+ mes "I will recommend to you a";
+ mes "suitable job, after I finish";
+ mes "analysing the results of your";
+ mes "personality test.";
+ mes "Please wait.";
+ next;
+ mes "[Hanson]";
+ mes ". . . . . . . . . . . . .";
+ mes "It's almost over . .";
+ mes ". . . . . . . . . . . . .";
+ next;
+ mes "[Hanson]";
+ mes ". . . . . . . .!";
+ next;
+ mes "[Hanson]";
+ mes "Here's the final result of your";
+ mes "test, Mr/Ms. ^A62A2A'"+strcharinfo(0)+"'^000000!!";
+ next;
+ set @JOB_NUMBER,1;
+ set @JOB_WITH_C,0;
+ set @JOB_NUMBER_CHK,0;
+ set @JOB_WITH,NOV_3_SWORDMAN;
+L_loop1:
+ switch ( @JOB_NUMBER ) {
+ case 1: set @JOB_WITH_C,NOV_3_ARCHER;break;
+ case 2: set @JOB_WITH_C,NOV_3_THIEF;break;
+ case 3: set @JOB_WITH_C,NOV_3_MAGICIAN;break;
+ case 4: set @JOB_WITH_C,NOV_3_ACOLYTE;break;
+ default: set @JOB_WITH_C,NOV_3_MERCHANT;
+ }
+ if (@JOB_WITH >= @JOB_WITH_C) goto L_loop2;
+ set @JOB_NUMBER_CHK,@JOB_NUMBER;
+ switch ( @JOB_NUMBER ) {
+ case 1: set @JOB_WITH,NOV_3_ARCHER;break;
+ case 2: set @JOB_WITH,NOV_3_THIEF;break;
+ case 3: set @JOB_WITH,NOV_3_MAGICIAN;break;
+ case 4: set @JOB_WITH,NOV_3_ACOLYTE;break;
+ default: set @JOB_WITH,NOV_3_MERCHANT;
+ }
+L_loop2:
+ set @JOB_NUMBER,@JOB_NUMBER+1;
+ while ( @JOB_NUMBER < 6 ) goto L_loop1;
+ mes "[Hanson]";
+ switch ( @JOB_NUMBER_CHK ) {
+ case 0: set @JOB_NAME$,"Swordsman";
+ mes "Although you are direct and";
+ mes "'to the point', you are also";
+ mes "thoughtful and simple.";
+ mes "You clearly wish that you can";
+ mes "become an important person in";
+ mes "this world. In addition to";
+ mes "this, you always try to help";
+ mes "the weak.";
+ next;
+ mes "[Hanson]";
+ mes "The most suitable profession for you is,";
+ mes "^696969Swordsman^000000.";
+ break;
+ case 1: set @JOB_NAME$,"Archer";
+ mes "You always tried to understand";
+ mes "the feelings of a fallen person";
+ mes "despite not knowing them.";
+ mes "YOu also wanted the other";
+ mes "person to understand your feelings";
+ next;
+ mes "[Hanson]";
+ mes "The most suitable profession for you is,";
+ mes "^696969Archer^000000.";
+ break;
+ case 2: set @JOB_NAME$,"Thief";
+ mes "You are curious, and want to";
+ mes "explore all around the world.";
+ mes "You also want satisfaction.";
+ next;
+ mes "[Hanson]";
+ mes "The most suitable profession for you is,";
+ mes "^696969Thief^000000.";
+ break;
+ case 3: set @JOB_NAME$,"Mage";
+ mes "You didn't want to be seen as";
+ mes "stupid, and you really enjoyed the";
+ mes "tests. You also want to be independant.";
+ next;
+ mes "[Hanson]";
+ mes "The most suitable profession for you is,";
+ mes "^696969Mage^000000.";
+ break;
+ case 4: set @JOB_NAME$,"Acolyte";
+ mes "You are a person whom is really";
+ mes "understanding and kind,";
+ mes "and would suffer for the sake";
+ mes "of another person.";
+ next;
+ mes "[Hanson]";
+ mes "The most suitable profession for you is,";
+ mes "^696969Acolyte^000000s.";
+ break;
+ case 5: set @JOB_NAME$,"Merchant";
+ mes "You are keen to analyse the market,";
+ mes "you are very neat and want to be";
+ mes "strong. You are also a determined";
+ mes "and are responsible for all your";
+ mes "actions.";
+ next;
+ mes "[Hanson]";
+ mes "The most suitable profession for you is,";
+ mes "^696969Merchant^000000.";
+ }
+ next;
+
+ mes "[Hanson]";
+ mes "So, would you like to accept our";
+ mes "recommendation, or would you like";
+ mes "to choose a job on your own?";
+ next;
+ if ( select(@JOB_NAME$+"!","No, my own choice!") == 1 ) {
+ mes "[Hanson]";
+ mes "Great! I guarantee that it is";
+ mes "a good decision!";
+ mes "After you receive all the";
+ mes "supplies, I will send you to";
+ mes "the associated town.";
+ next;
+ mes "^882420Item Offer List^000099";
+ switch( @JOB_NUMBER_CHK ) {
+ case 0: mes "1 Falchion";
+ getitem 1104,1;
+ break;
+ case 1: mes "1 Composite Bow";
+ getitem 1704,1;
+ break;
+ case 2: mes "1 Main Gauche";
+ getitem 1207,1;
+ break;
+ case 3: mes "1 Rod";
+ mes "1 Cutter";
+ getitem 1601,1;
+ getitem 1204,1;
+ break;
+ case 4: mes "1 Mace";
+ getitem 1504,1;
+ break;
+ case 5: mes "1 Battle Axe";
+ getitem 1351,1;
+ }
+ mes "7 Phracons";
+ mes "10 Novices Red Potions^000000";
+ getitem 1010,7;
+ getitem 569,10;
+ next;
+ mes "[Hanson]";
+ mes "All the supplies have been given to";
+ mes "you. Please, check it again.";
+ mes "I will give a brief explanation";
+ mes "about these items.";
+ next;
+ mes "[Hanson]";
+ switch( @JOB_NUMBER_CHK ) {
+ case 0: mes "After you change your job,";
+ mes "you can use the 'Falchion'"; break;
+ case 1: mes "After you change your job,";
+ mes "you can use the 'Composite Bow'"; break;
+ case 2: mes "After you change your job,";
+ mes "you can use the 'Main Gauche'"; break;
+ case 3: mes "After you change your job,";
+ mes "you can use the 'Rod'"; break;
+ case 4: mes "After you change your job,";
+ mes "you can use the 'Mace'"; break;
+ case 5: mes "After you change your job,";
+ mes "you can use the 'Battle Axe'";break;
+ }
+ mes "instead of the Novice Knife";
+ mes "which I offered you before.";
+ next;
+ mes "[Hanson]";
+ mes "'Phracon' will be spent when";
+ mes "you refine Lv 1 weapons.";
+ mes "Some of the famous refiners";
+ mes "work only intowns.";
+ mes "After you change your job,";
+ mes "Visit one of them with Phracon.";
+ callsub L_place;
+ next;
+ goto L_warp;
+ }
+ mes "[Hanson]";
+ mes "Yes, yes...";
+ mes "So this is your choice?";
+ mes "Did you not care about";
+ mes "our recommendation?";
+ mes "Please choose the profession";
+ mes "that you want.";
+ next;
+ switch( @JOB_NUMBER_CHK ) {
+ case 0: switch( select("Mage","Merchant","Thief","Archer","Acolyte") ) {
+ case 1: set @JOB_NUMBER_CHK,3;
+ set @JOB_NAME$,"Mage";
+ break;
+ case 2: set @JOB_NUMBER_CHK,5;
+ set @JOB_NAME$,"Merchant";
+ break;
+ case 3: set @JOB_NUMBER_CHK,2;
+ set @JOB_NAME$,"Thief";
+ break;
+ case 4: set @JOB_NUMBER_CHK,1;
+ set @JOB_NAME$,"Archer";
+ break;
+ case 5: set @JOB_NUMBER_CHK,4;
+ set @JOB_NAME$,"Acolyte";
+ }
+ break;
+ case 1: switch( select("Swordsman","Mage","Merchant","Thief","Acolyte") ) {
+ case 1: set @JOB_NUMBER_CHK,0;
+ set @JOB_NAME$,"Swordsman";
+ break;
+ case 2: set @JOB_NUMBER_CHK,3;
+ set @JOB_NAME$,"Mage";
+ break;
+ case 3: set @JOB_NUMBER_CHK,5;
+ set @JOB_NAME$,"Merchant";
+ break;
+ case 4: set @JOB_NUMBER_CHK,2;
+ set @JOB_NAME$,"Thief";
+ break;
+ case 5: set @JOB_NUMBER_CHK,4;
+ set @JOB_NAME$,"Acolyte";
+ }
+ break;
+ case 2: switch( select("Swordsman","Mage","Merchant","Archer","Acolyte") ) {
+ case 1: set @JOB_NUMBER_CHK,0;
+ set @JOB_NAME$,"Swordsman";
+ break;
+ case 2: set @JOB_NUMBER_CHK,3;
+ set @JOB_NAME$,"Mage";
+ break;
+ case 3: set @JOB_NUMBER_CHK,5;
+ set @JOB_NAME$,"Merchant";
+ break;
+ case 4: set @JOB_NUMBER_CHK,1;
+ set @JOB_NAME$,"Archer";
+ break;
+ case 5: set @JOB_NUMBER_CHK,4;
+ set @JOB_NAME$,"Acolyte";
+ }
+ break;
+ case 3: switch( select("Swordsman","Merchant","Thief","Archer","Acolyte") ) {
+ case 1: set @JOB_NUMBER_CHK,0;
+ set @JOB_NAME$,"Swordsman";
+ break;
+ case 2: set @JOB_NUMBER_CHK,5;
+ set @JOB_NAME$,"Merchant";
+ break;
+ case 3: set @JOB_NUMBER_CHK,2;
+ set @JOB_NAME$,"Thief";
+ break;
+ case 4: set @JOB_NUMBER_CHK,1;
+ set @JOB_NAME$,"Archer";
+ break;
+ case 5: set @JOB_NUMBER_CHK,4;
+ set @JOB_NAME$,"Acolyte";
+ }
+ break;
+ case 4: switch( select("Swordsman","Mage","Merchant","Thief","Archer") ) {
+ case 1: set @JOB_NUMBER_CHK,0;
+ set @JOB_NAME$,"Swordsman";
+ break;
+ case 2: set @JOB_NUMBER_CHK,3;
+ set @JOB_NAME$,"Mage";
+ break;
+ case 3: set @JOB_NUMBER_CHK,5;
+ set @JOB_NAME$,"Merchant";
+ break;
+ case 4: set @JOB_NUMBER_CHK,2;
+ set @JOB_NAME$,"Thief";
+ break;
+ case 5: set @JOB_NUMBER_CHK,1;
+ set @JOB_NAME$,"Archer";
+ }
+ break;
+ case 5: switch( select("Swordsman","Mage","Thief","Archer","Acolyte") ) {
+ case 1: set @JOB_NUMBER_CHK,0;
+ set @JOB_NAME$,"Swordsman";
+ break;
+ case 2: set @JOB_NUMBER_CHK,3;
+ set @JOB_NAME$,"Mage";
+ break;
+ case 3: set @JOB_NUMBER_CHK,2;
+ set @JOB_NAME$,"Thief";
+ break;
+ case 4: set @JOB_NUMBER_CHK,1;
+ set @JOB_NAME$,"Archer";
+ break;
+ case 5: set @JOB_NUMBER_CHK,4;
+ set @JOB_NAME$,"Acolyte";
+ }
+ }
+ mes "[Hanson]";
+ mes @JOB_NAME$+" is your choise.";
+ callsub L_place;
+ next;
+ mes "[Hanson]";
+ mes "After you receive all the";
+ mes "supplies, I will send you to";
+ mes "the associated town.";
+ next;
+ mes "^882420Item Offer List";
+ mes "^0000301 Adventurer's Suit";
+ mes "^00009910 Novices Red Potions^000000";
+ getitem 2305,1;
+ getitem 569,10;
+ next;
+ mes "[Hanson]";
+ mes "All the supplies have been given to";
+ mes "you. Please, check it again.";
+ mes "I will give a brief explanation";
+ mes "about these items.";
+ next;
+ mes "[Hanson]";
+ mes "'Zeny' is the current currency";
+ mes "within Ragnarok Online.";
+ mes "Later, you can use the";
+ mes "'Adventurer's Suit'";
+ mes "instead of the Novice Plate";
+ mes "which I offered you before.";
+ next;
+L_warp:
+ mes "[Hanson]";
+ mes "Good luck, ^A62A2A' "+strcharinfo(0)+" '^000000,";
+ mes "and farewell.";
+ close2;
+ callsub L_cleararg;
+ switch( @JOB_NUMBER_CHK ) {
+ case 0: savepoint "izlude.gat",94,103;
+ warp "izlude_in.gat",74,167;
+ break;
+ case 1: savepoint "payon.gat",256,242;
+ warp "payon_in02.gat",64,65;
+ break;
+ case 2: savepoint "morocc.gat",149,100;
+ warp "moc_ruins.gat",155,44;
+ break;
+ case 3: savepoint "geffen.gat",120,38;
+ warp "geffen_in.gat",163,98;
+ break;
+ case 4: savepoint "prontera.gat",116,72;
+ warp "prt_church.gat",172,19;
+ break;
+ case 5: savepoint "alberta.gat",31,231;
+ warp "alberta_in.gat",62,44;
+ }
+ end;
+L_place:
+ switch( @JOB_NUMBER_CHK ) {
+ case 0: mes "The town you will be sent to";
+ mes "is 'Izlude'. The Swordsman";
+ mes "association is located in the";
+ mes "west side of the city.";
+ mes "Please remember this.";
+ break;
+ case 1: mes "The town you will be sent to";
+ mes "is named 'Payon'.";
+ mes "The Archer association can be";
+ mes "found in the small village";
+ mes "to the north-east.";
+ mes "Please remember this.";
+ break;
+ case 2: mes "The town you will be sent to";
+ mes "is called 'Morroc'.";
+ mes "The thief guild is in the";
+ mes "underground 1st floor of the";
+ mes "pyramid, which is North-west";
+ mes "of 'Morroc'.";
+ mes "Please remember this.";
+ break;
+ case 3: mes "The town you will be sent to";
+ mes "is called 'Geffen'.";
+ mes "The Mage association is located";
+ mes "to the north-west of the city.";
+ mes "Please remember this.";
+ break;
+ case 4: mes "The town you will be sent to";
+ mes "is called 'Prontera'.";
+ mes "The good father can be found";
+ mes "in the church located in the";
+ mes "north-east corner of 'Prontera'.";
+ mes "Please remember this.";
+ break;
+ case 5: mes "The town you will be sent to";
+ mes "is called 'Alberta'.";
+ mes "The Merchant association is";
+ mes "located in the south-western";
+ mes "section of the city.";
+ mes "Please remember this.";
+ }
+ mes "You'll now be teleported.";
+ return;
+L_cleararg:
+ set NEW_MES_FLAG0,0;
+ set NEW_MES_FLAG1,0;
+ set NEW_MES_FLAG2,0;
+ set NEW_MES_FLAG3,0;
+ set NEW_MES_FLAG4,0;
+ set NEW_MES_FLAG5,0;
+ set NEW_MES_FLAG6,0;
+ set NEW_LVUP0,0;
+ set NEW_LVUP1,0;
+ set NEW_JOBLVUP,0;
+ set NEW_GETITEM,0;
+ set NOV_3_SWORDMAN,0;
+ set NOV_3_ARCHER,0;
+ set NOV_3_THIEF,0;
+ set NOV_3_MAGICIAN,0;
+ set NOV_3_ACOLYTE,0;
+ set NOV_3_MERCHANT,0;
+ return;
+}
+
+// Training Ground Mobs
+// new_1-3.gat
+new_1-3.gat,0,0,0,0 monster Fabre 1184,5,0,0,0
+new_1-3.gat,0,0,0,0 monster Poring 1002,10,0,0,0
+new_1-3.gat,0,0,0,0 monster ChonChon 1011,10,0,0,0
+new_1-3.gat,0,0,0,0 monster Lunatic 1063,10,0,0,0
+new_1-3.gat,0,0,0,0 monster Drops 1113,10,0,0,0
+
+// new_2-3.gat
+new_2-3.gat,0,0,0,0 monster Condor 1009,10,0,0,0
+new_2-3.gat,0,0,0,0 monster Willow 1010,10,0,0,0
+new_2-3.gat,0,0,0,0 monster Roda Frog 1012,10,0,0,0
+new_2-3.gat,0,0,0,0 monster Shell Picky 1050,10,0,0,0
+new_2-3.gat,0,0,0,0 monster Fabre 1184,5,0,0,0
+
+// new_3-3.gat
+new_3-3.gat,0,0,0,0 monster Condor 1009,10,0,0,0
+new_3-3.gat,0,0,0,0 monster Willow 1010,10,0,0,0
+new_3-3.gat,0,0,0,0 monster Roda Frog 1012,10,0,0,0
+new_3-3.gat,0,0,0,0 monster Shell Picky 1050,10,0,0,0
+new_3-3.gat,0,0,0,0 monster Fabre 1184,5,0,0,0
+
+// new_4-3.gat
+new_4-3.gat,0,0,0,0 monster Spore 1014,10,0,0,0
+new_4-3.gat,0,0,0,0 monster Thief Bug Larva 1051,10,0,0,0
+new_4-3.gat,0,0,0,0 monster Rocker 1052,10,0,0,0
+new_4-3.gat,0,0,0,0 monster Thief Bug Female 1053,10,0,0,0
+new_4-3.gat,0,0,0,0 monster Fabre 1184,5,0,0,0
+
+// new_5-3.gat
+new_5-3.gat,0,0,0,0 monster Spore 1014,10,0,0,0
+new_5-3.gat,0,0,0,0 monster Thief Bug Larva 1051,10,0,0,0
+new_5-3.gat,0,0,0,0 monster Rocker 1052,10,0,0,0
+new_5-3.gat,0,0,0,0 monster Thief Bug Female 1053,10,0,0,0
+new_5-3.gat,0,0,0,0 monster Fabre 1184,5,0,0,0
diff --git a/npc/jobs/novice/supernovice.txt b/npc/jobs/novice/supernovice.txt
new file mode 100644
index 000000000..d28214673
--- /dev/null
+++ b/npc/jobs/novice/supernovice.txt
@@ -0,0 +1,279 @@
+//===== eAthena Script =======================================
+//= Super Novice Script
+//===== By: ==================================================
+//= Darkchild
+//===== Current Version: =====================================
+//= 1.8a
+//===== Compatible With: =====================================
+//= Any eAthena
+//===== Description: =========================================
+//= Super Novice Job Change Npc
+//= Super Novice Cart Rental Npc
+//= Some Other Useless Super Novice Npc
+//===== Additional Comments: =================================
+//= Dialogs From Some Other Scripts (Most Of It)
+//= 1.3-1.5 Added Baby class support (and to the Kafta SN Cart
+//= renter, too) [Lupus]
+//= 1.6 Added a fix which prevent High Novices passing
+//= this Job Quests again. [Lupus]
+//= 1.7 Fixed Baby Class Support. [Lupus]
+//= 1.8 Now a Baby can become a Super Baby [Lupus]
+//============================================================
+
+
+// -- Jobchanger --
+aldeba_in.gat,223,167,3 script Tozel 709,{
+ if(SUPNOV_Q == 1) goto L_Start2;
+ if(BaseJob == Job_SuperNovice) goto L_Twice;
+ if(BaseJob != 0 || Upper==1) goto L_Otherjob;
+ mes "[Tozel]";
+ mes "Hello, Novice!";
+ mes "Are you enjoying yourself as a novice, the preferred class of the common man?";
+ next;
+ mes "[Tozel]";
+ mes "Would you like to join the Novice Guild and add your common character";
+ mes "to the common pool of talent so that we can perform common services?";
+ next;
+ mes "[Tozel]";
+ mes "If you join us, I'll change your class from Novice to the highly skilled Super Novice!";
+ mes "How does that sound?";
+ next;
+ menu "I'm sold!",-,"Super Novice is Super Stupid",L_Stupid,"Well, to make an informed choice...",L_Well;
+ if(JobLevel < 10) goto L_LowSkill;
+ if(BaseLevel < 45) goto L_LowLevel;
+ if(SkillPoint != 0) goto L_StillSk;
+ mes "[Tozel]";
+ mes "Wonderful!";
+ mes "You're on the road to becoming an uncommonly common individual.";
+ next;
+ mes "[Tozel]";
+ mes "Common is a great word, isn't it?";
+ next;
+ mes "[Tozel]";
+ mes "Just because you've applied to become a member of the Novice Guild doesn't mean automatic admission.";
+ mes "There are requirements you must meet.";
+ next;
+ mes "[Tozel]";
+ mes "Being a guild of common men, it's only fitting that you bring me a common item as an entry requirement.";
+ mes "So, go and find thirty each of: ";
+ mes " ^FF0000Sticky Mucus^000000 and";
+ mes " ^FF0000Resin^000000.";
+ next;
+ mes "[Tozel]";
+ mes "Once you collect this common number of common items, head on back to this common guild of common men.";
+ set SUPNOV_Q,1;
+ close;
+
+L_Stupid:
+ mes "[Tozel]";
+ mes "Hm...That's an attitude shared by a lot of common criminals and other commonly marginalized types.";
+ mes "...They don't understand the fulfillment gained by a common pool of friends.";
+ next;
+ mes "[Tozel]";
+ mes "Of course, it's common to change one's mind as well.";
+ mes "If you do, please drop by again.";
+ close;
+
+L_Well:
+ mes "[Tozel]";
+ mes "Oh, you want to know a bit more about this guild, eh?";
+ mes "I'll be happy to explain!";
+ next;
+ mes "[Tozel]";
+ mes "Let me tell you about Kima, the guild founder.";
+ mes "Kima founded this guild because those of common ancestry and common our status had no place";
+ mes "to assemble and enjoy each other's company.";
+ next;
+ mes "- Tozel talks for ten minutes. - ";
+ mes "- His tone is so common that it bores you to tears. -";
+ next;
+ mes "[Tozel]";
+ mes "...Anyway, the Novice guild has propsered greatly since its founding.";
+ mes "We pride ourselves on our slogan 'Common Man, Common Goals, Common Dreams'!";
+ close;
+
+L_Start2:
+ if(countitem(938) < 30) goto L_ItemError;
+ if(countitem(907) < 30) goto L_ItemError;
+ delitem 938,30;
+ delitem 907,30;
+ mes "[Tozel]";
+ mes "Well, your performance seems to be uh...common, but that's good enough for us!";
+ mes "Welcome to the Novice Guild!";
+ next;
+ mes "[Tozel]";
+ mes "According to my promise, I'll make you a Super Novice.";
+ mes "Are you ready?!";
+ next;
+ menu "Huh?!",-,"Maybe?!",-;
+ mes "- Tozel's uncommon demeanor catches you off guard, -";
+ mes "- leaving you speechless! -";
+ next;
+ if (Upper==0) jobchange Job_SuperNovice;
+ if (Upper==2) jobchange Job_Super_Baby;
+ getitem 2339,1;
+ callfunc "F_ClearJobVar";
+ mes "[Tozel]";
+ mes "Hahahah! Were you surprised?!";
+ mes "Just because we're common people doesn't mean we can't be misfits sometimes!";
+ next;
+ mes "[Tozel]";
+ mes "So, now your new life as a Super Novice begins!";
+ next;
+ mes "[Tozel]";
+ mes "Now you're a part of Kima's legacy!";
+ mes "Please continue his good (but common) name.";
+ close;
+
+L_LowSkill:
+ mes "[Tozel]";
+ mes "Well...it seems your level is a little too common at the moment.";
+ mes "You need to have a class level of ^0000FFat least 9^000000 in order to join us.";
+ close;
+
+L_LowLevel:
+ mes "[Tozel]";
+ mes "Well...it seems your level is a little too common at the moment.";
+ mes "You need to have a primary level of ^0000FFat least 45^000000 in order to join us.";
+ close;
+
+L_StillSk:
+ mes "[Tozel]";
+ mes "Well...it seems you still have some skill points.";
+ mes "You need to have ^0000FFNO^000000 skill points left in order to join our guild.";
+ close;
+
+L_ItemError:
+ mes "[Tozel]";
+ mes "Did you forget what you were supposed to find?";
+ mes "I'll tell you again.";
+ next;
+ mes "[Tozel]";
+ mes "You need to find thirty each of";
+ mes "^FF0000 Sticky Muscus^000000 and";
+ mes "^FF0000 Resin^000000.";
+ close;
+
+L_Twice:
+ mes "[Tozel]";
+ mes "You're a member of the Novice Guild now.";
+ mes "There's no need to have exceptional talents here.";
+ mes "Your common vigilance is all we require.";
+ next;
+ mes "[Tozel]";
+ mes "Go, then, and live a common and unexceptional life, in order to bring respect to our guild.";
+ close;
+L_Otherjob:
+ mes "[Tozel]";
+ mes "Hey! You're not a man of common heritage!";
+ mes "I'm Tozel, the master of the Novice Guild.";
+ next;
+ mes "[Tozel]";
+ mes "This place is for people who who have common goals,";
+ mes "common beliefs, common lives.";
+ mes "For you, an uncommon person, this place is anathema.";
+ next;
+ mes "[Tozel]";
+ mes "Such people don't have a place in our common society. I'm sorry.";
+ close;
+}
+
+// -- Totaly Useless :) --
+aldeba_in.gat,216,169,5 script Serei 86,{
+ if(BaseJob == Job_SuperNovice) goto L_Supernovice;
+ if(BaseJob != 0) goto L_Otherjob;
+ mes "[Serei]";
+ mes "You're pretty common.";
+ mes "A common man should live a happy life.";
+ mes "You should consider joining the Novice Guild.";
+ next;
+ mes "[Serei]";
+ mes "GO NOVICE CLASS!";
+ mes "Hahahahahahahaha!";
+ close;
+
+L_Supernovice:
+ mes "[Serei]";
+ mes "Yaaaaaaaaaaaaaaaaaaaaaaaay!";
+ mes "You're a member of the Novice Guild! Sweet!";
+ next;
+ mes "[Serei]";
+ mes "That's great!";
+ mes "Are you trying to extend the Guild's legacy of uneventfulness?";
+ next;
+ mes "[Serei]";
+ mes "I'm Guildmaster Tozel's number one man!";
+ close;
+
+L_Otherjob:
+ mes "[Serei]";
+ mes "Oh no!";
+ mes "You're one of those people who rejected the common way of life!";
+ mes "You might be dangerous to those who walk the common path!";
+ mes "Ahhhh!";
+ close;
+}
+
+
+// -- Car Rental --
+aldebaran.gat,54,238,5 script Kafra 117,{
+ if(BaseJob != Job_SuperNovice) goto L_Otherjob;
+ if(checkcart(0) == 1) goto L_GotCart;
+ mes "[Kafra]";
+ mes "Oh, a Super Novice!";
+ mes "You're annoyed that the other Kafras won't lend you a cart?";
+ mes "No problem!";
+ next;
+ mes "[Kafra]";
+ mes "I can lend you a cart, but try to keep a low profile,";
+ mes "because we are under orders from Kafra management not to lend carts to any Novice.";
+ next;
+ mes "[Kafra]";
+ mes "There will be a fee of ^FF00001900zeny^000000 to use the cart.";
+ next;
+ mes "[Kafra]";
+ mes "You need to have the Push Cart skill in order to use a cart.";
+ mes "If you don't have this skill,";
+ mes "you won't be able to use the cart and You'll lose your money.";
+ mes "Do you want me to lend you a cart?";
+ next;
+ menu "Lend me a cart",-,"Not Necessary",L_End;
+ mes "[Kafra]";
+ mes "Since I'm secretly lending you a cart,";
+ mes "I can't ensure you have the Push Cart skill.";
+ mes "If you don't, you won't be able to use the cart and You'll lose your money.";
+ mes "Are you sure you want the cart?";
+ next;
+ menu "I heard you the first time!",-,"Uhhh...wait a minute...",L_End;
+ if(getskilllv(39)==0) goto L_End;
+ if(Zeny < 1900) goto L_Error;
+ set Zeny,Zeny-1900;
+ setcart;
+ mes "[Kafra]";
+ mes "Thanks for using the Kafra service, even if it is under the table.";
+ mes "Hehehehehe...";
+ close;
+
+L_Error:
+ mes "[Kafra]";
+ mes "Hmmm. It seems you're short of funds.";
+ close;
+
+L_End:
+ mes "[Kafra]";
+ mes "Thank you for your patronage.";
+ mes "Please come again.";
+ close;
+
+L_GotCart:
+ mes "[Kafra]";
+ mes "HI There, Dear Super Novice.";
+ mes "I'm sorry but I can't help you, you already have an cart!";
+ close;
+
+L_Otherjob:
+ mes "[Kafra]";
+ mes "I'm sorry, but I'm not taking customers right now.";
+ mes "Please try asking the other Kafra staff for assistance.";
+ close;
+}
diff --git a/npc/kafras/functions_kafras.txt b/npc/kafras/functions_kafras.txt
new file mode 100644
index 000000000..0e6431e04
--- /dev/null
+++ b/npc/kafras/functions_kafras.txt
@@ -0,0 +1,393 @@
+//===== eAthena Script =======================================
+//= Kafra Functions
+//===== By: ==================================================
+//= Lotsa People (1.0)
+//= eAthena Dev Team
+//= Darlskies, Darkchild, Syrus22, Lupus, kobra_k88 (2.0)
+//===== Current Version: =====================================
+//= 3.2
+//===== Compatible With: =====================================
+//= eAthena 1.0
+//===== Description: =========================================
+//= These functions handle save, storage, cart rental, teleport,
+//= and Kafra pass options for all Kafra NPCs.
+//===== Additional Comments: =================================
+//= v1.1 Now using functions v2.1 Added Cart Rent for Classes: Whitesmith, Professor.
+//= Replaced checkoption(x) into checkcart(0) [Lupus] v2.1b Added Fix Kafra Pass Func [Kobra_k88]
+//= 2.2 Final fix of the Kafra Pass Exploit! [Lupus] a -Izlude[4] fix
+//= 2.2a Minor changes to function calls. Using agruments. Added Guild options. [kobra_k88]
+//= 2.2b This version uses arrays for the teleport option. Rearranged next statements to make menu transitions smoother. [kobra_k88]
+//= 2.3 Removed SAVE from Niflheim. [Lupus]
+//= 2.3 removed "fix" by HawkMoon RTFM and check supernovice.txt . There's a SPECIAL Kafra which gives CARTS to SN for a special proce. [Lupus]
+//= 2.4 Added Baby Class Support (Baby Novice check) Removed annoying storage feature where u had to close dialog window to be able to use your storage [Lupus]
+//= 2.5 Added Louyang official Kafra, fixes some Kafras, not letting you to Save your position [Lupus]
+//= 2.6 Reverted Dungeons Kafras (they should offer only Storage). Added temp Ayothaya Kafra
+//= 2.7 Added correct Ayothaya, Louyang & Amatsu Kafras. [Lupus]
+//= 2.8 Fixed Amatsu Storage problems [Lupus] 2.9 Fixed spelling mistakes. [Nexon]
+//= 3.0 Added special "not working teleport menu" for Einbroch Kafras [Lupus]
+//= 3.1 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon]
+//= 3.2 Fixed an exploit [Lupus]
+//============================================================
+
+
+// Main Function ===========================================================
+//= arg(0): Used to determine which welcome message to show.
+//= arg(1): Used to determine which menu to display.
+//= arg(2): Used to determine if the info menu is shown in F_KafInfo.
+//==========================================================================
+function script F_Kafra {
+ set @kafPass, 0;
+ mes "[Kafra]";
+ if(getarg(0)==0) mes "Welcome to Kafra Corp. We will stay with you wherever you go.";
+ //Niflheim
+ if(getarg(0)==1) mes "Welcome... Kafra Services.... Will be with you even if you die.....";
+ //Guilds Castles
+ if(getarg(0)==2) mes "Welcome, ^5533FF" + GetGuildName(@GID) + "^000000 members. We will stay with you wherever you go";
+ //Amatsu
+ if(getarg(0)==3) mes "So, have you come from a faraway land to study our culture, or are you just sightseeing?";
+ if(getarg(0)==3) mes "In either case, why not stay awhile?";
+ if(getarg(0)==3) mes "The air is eternally heavy with the";
+ if(getarg(0)==3) mes "scent of pleasant wildflowers.";
+ //Louyang, Ayothaya
+ if(getarg(0)==4) mes "With our many Kafra";
+ if(getarg(0)==4) mes "service locations, you're never";
+ if(getarg(0)==4) mes "far from home.";
+ next;
+
+ M_Menu:
+//Guilds Kafra
+ if(getarg(0)==2) menu "-Use Storage",M_FStorage, "-Use Guild Storage",M_GStorage, "-Rent a Cart",M_Cart, "-Use Teleport Service",M_Teleport, "-Cancel",M_End;
+//only Save & Storage
+ if(getarg(1)==1) menu "-Save",M_Save,"-Use Storage",M_Storage, "-Cancel",M_End;
+//only Storage
+ if(getarg(1)==2) menu "-Use Storage",M_Storage, "-Cancel",M_End;
+//Common w/o teleport
+ if(getarg(1)==3) menu "-Save",M_Save, "-Use Storage",M_Storage, "-Rent a Cart",M_Cart, "-Kafra Pass",M_Pass,
+ "-Other Information Check",M_Info, "-Cancel",M_End;
+//Common Kafra (with Teleport Notice in Einbroch)
+ if(getarg(1)==4) menu "-Save",M_Save, "-Use Storage",M_Storage, "-Use Teleport Service",M_NoTeleport, "-Rent a Cart",M_Cart, "-Kafra Pass",M_Pass,
+ "-Other Information Check",M_Info, "-Cancel",M_End;
+//Common Kafra
+ menu "-Save",M_Save, "-Use Storage",M_Storage, "-Use Teleport Service",M_Teleport, "-Rent a Cart",M_Cart, "-Kafra Pass",M_Pass,
+ "-Other Information Check",M_Info, "-Cancel",M_End;
+
+ M_Save:
+ return;
+ M_Storage:
+ callfunc "F_KafStor",0;
+ next;
+ goto M_Menu;
+ M_GStorage:
+ callfunc "F_KafStor",1;
+ next;
+ goto M_Menu;
+ //Don't charge for a common Kafra Storage in your Castle
+ M_FStorage:
+ callfunc "F_KafStor",2;
+ next;
+ goto M_Menu;
+ M_Teleport:
+ callfunc "F_KafTele",getarg(0);
+ goto M_Menu;
+ M_Cart:
+ if(callfunc("F_KafCart",getarg(0)) == 1) next;
+ goto M_Menu;
+ M_Pass:
+ if(callfunc("F_KafPass") == 1) next;
+ goto M_Menu;
+ M_Info:
+ callfunc "F_KafInfo",getarg(2);
+ goto M_Menu;
+ M_End:
+ callfunc "F_KafEnd",getarg(0),0;
+ end;
+ M_NoTeleport:
+ mes "[Kafra]";
+ mes "Because of the ^FF0000Limited Transport Agreement^000000, the Kafra Corporation cannot provide Teleport Services in the Schwarzwald Republic.";
+ next;
+ mes "[Kafra]";
+ mes "We ask that you please";
+ mes "use the Airship Service";
+ mes "instead. Thank you for your";
+ mes "understanding and cooperation.";
+ next;
+ goto M_Menu;
+}
+
+
+// Storage Function =======================================================
+function script F_KafStor {
+ if(getarg(0) == 1) goto L_Guild;
+ if(basicskillcheck(0) > 0 && getskilllv(1) < 6) goto sL_JbLvl;
+ if(BaseJob == Job_Novice) set @fee, 30;
+ if(BaseJob != Job_Novice) set @fee, 60;
+ if(@kafPass==1 || getarg(0) == 2) set @fee, 0;
+ if(Zeny<@fee) goto sL_Zeny;
+ set Zeny, Zeny-@fee;
+ set RESRVPTS, RESRVPTS + (@fee/5);
+
+ mes "[Kafra]";
+ mes "Close this window to open your storage.";
+ mes "We hope to see you again soon.";
+ close2;
+ openstorage;
+ cutin "", 255;
+ close;
+ end;
+
+ sL_JbLvl:
+ mes "[Kafra]";
+ mes "I am sorry but you have to be at least Novice level 6 if you want to use the storage.";
+ return;
+ sL_Zeny:
+ mes "[Kafra]";
+ mes "Dear you don't have enough money. The Storage fee is "+@fee+" Zeny.";
+ return;
+L_Guild:
+ if(guildopenstorage(0) == 1) goto L_InUse;
+ cutin "", 255;
+ close;
+
+ L_InUse:
+ mes "[Kafra]";
+ mes "I'm sorry but another guild member is using the guild storage";
+ mes "right now. Please wait until that person is finished.";
+ close2;
+ cutin "", 255;
+ close;
+ end;
+
+}
+
+
+// Teleport Function ==================================================
+function script F_KafTele {
+ mes "[Kafra]";
+ if (@kafPass==1) mes "Since you're using a Kafra Pass, any warp is free!";
+ mes "Please set your destination.";
+ next;
+
+ menu @wrpC$[0],M_Wrp0, @wrpC$[1],M_Wrp1, @wrpC$[2],M_Wrp2, @wrpC$[3],M_Wrp3,
+ @wrpC$[4],M_Wrp4, @wrpC$[5],M_Wrp5, @wrpC$[6],M_Wrp6;
+
+ M_Wrp0:
+ set @num, 0;
+ goto L_Warp;
+ M_Wrp1:
+ set @num, 1;
+ goto L_Warp;
+ M_Wrp2:
+ set @num, 2;
+ goto L_Warp;
+ M_Wrp3:
+ set @num, 3;
+ goto L_Warp;
+ M_Wrp4:
+ set @num, 4;
+ goto L_Warp;
+ M_Wrp5:
+ set @num, 5;
+ goto L_Warp;
+ M_Wrp6:
+ set @num, 6;
+
+ L_Warp:
+ if (@wrpC$[@num] == "Cancel") return;
+ if (@kafPass==1) set @wrpP[@num], 0;
+ if (Zeny<@wrpP[@num]) goto sL_CantTele;
+ set Zeny, Zeny-@wrpP[@num];
+ if (@kafPass==0) set RESRVPTS, RESRVPTS + (@wrpP[@num]/16);
+
+ if (@wrpD$[@num] == "Alberta") warp "alberta.gat", 117, 56;
+ if (@wrpD$[@num] == "Al De Baran") warp "aldebaran.gat",143,110;
+ if (@wrpD$[@num] == "Comodo") warp "comodo.gat", 207, 144;
+ if (@wrpD$[@num] == "Izlude") warp "izlude.gat", 91, 105;
+ if (@wrpD$[@num] == "Geffen") warp "geffen.gat", 120, 39;
+ if (@wrpD$[@num] == "Morroc") warp "morocc.gat", 156, 46;
+ if (@wrpD$[@num] == "Payon") warp "payon.gat", 168, 103;
+ if (@wrpD$[@num] == "Prontera") warp "prontera.gat", 116, 72;
+ if (@wrpD$[@num] == "Coal Mine(Dead Pit)") warp "mjolnir_02.gat", 82, 347;
+ if (@wrpD$[@num] == "Comodo Pharos Lighthouse") warp "cmd_fild07.gat", 127, 134;
+ if (@wrpD$[@num] == "Orc Dungeon") warp "gef_fild10.gat", 52, 326;
+ if (@wrpD$[@num] == "Umbala") warp "umbala.gat", 130, 130;
+ if (@wrpD$[@num] == "Yuno") warp "yuno.gat", 157, 123;
+ close2; // this part safegaurds against errors/typos
+ set zeny, zeny + @wrpP[@num];
+ cutin "", 255;
+ close;
+ end;
+
+ sL_CantTele:
+ mes "[Kafra]";
+ mes "Dear you don't have enough money. Please check your funds again.";
+ close2;
+ cutin "", 255;
+ close;
+ end;
+}
+
+
+// Cart Function ========================================================
+function script F_KafCart {
+ if(baseClass != Job_Merchant) goto sL_CantRent;
+ if(getskilllv(39)==0) goto sL_NeedSkill;
+ if(checkcart(0) == 1) goto sL_GotCart;
+ if(getarg(0) == 2) goto L_Guild;
+ mes "[Kafra]";
+ if(@kafPass==0) mes "The Cart Fee is 800 Zeny. Do you want to Rent a Cart?";
+ if(@kafPass==1) mes "Since you're using a Kafra Pass, you can rent a cart for free!";
+ next;
+ menu "-Rent a Cart.",-, "-Cancel.",M_End;
+
+ if(Zeny<800 && kafPass==0) goto sL_CartFee;
+ if(@kafPass==0) set Zeny,Zeny-800;
+ if(@kafPass==0) set RESRVPTS, RESRVPTS + 48;
+ L_Guild:
+ setcart;
+ mes "[Kafra]";
+ mes "Here is your cart.";
+ return 1;
+
+ sL_CantRent:
+ mes "[Kafra]";
+ mes "I'm sorry dear. The Cart service is only provided for the Merchant and Blacksmith Class.";
+ return 1;
+ sL_NeedSkill:
+ mes "[Kafra]";
+ mes "I'm sorry but you need the skill ^0000FF'Pushcart'^000000 to rent a cart.";
+ return 1;
+ sL_GotCart:
+ mes "[Kafra]";
+ mes "Excuse me... but you already have a cart....";
+ emotion 4;
+ return 1;
+ sL_CartFee:
+ mes "[Kafra]";
+ mes "Dear, you don't have enough Money. You need 800 Zeny.";
+ return 1;
+ M_End:
+ return 0;
+}
+
+
+// Pass Function ===============================================================
+function script F_KafPass {
+
+ sM_Menu:
+ menu "Use a Kafra Pass.",-, "What is a Kafra Pass?",sM_PassInfo, "Cancel",sM_End;
+
+ mes "[Kafra]";
+ mes "Let me just check your pass.....";
+ next;
+ if(usedKafPass==0 && countitem(1084)<1) goto sL_NeedPass;
+ set @kafPass,1;
+ set usedKafPass, usedKafPass + 1;
+ if(usedKafPass>=3) goto sL_PassExpire;
+ if(usedKafPass > 1) goto L_Cont; //fixed Lupus
+ delitem 1084,1;
+ mes "(you hand her your pass)";
+ next;
+ mes "[Kafra]";
+ mes "Great! Everything seems to be in order. Now that your pass is activated, you may rent a cart or use the teleport services for free.";
+ mes "Your pass number has been entered into our database so you no longer need it.";
+ next;
+
+ L_Cont:
+ mes "[Kafra]";
+ mes "You will be able to use the Cart Rental and Teleport services free of charge ^5533FF"+(3 - usedKafPass)+"^000000 more times with any Kafra service agent you choose.";
+ return 1;
+
+ sL_NeedPass:
+ mes "[Kafra]";
+ mes "I'm sorry but you don't have a kafra pass to use....";
+ next;
+ goto sM_Menu;
+ sL_PassExpire:
+ mes "[Kafra]";
+ mes "This is going to be the 3rd and final time you use this pass, therefore it is now expired.";
+ next;
+ set usedKafPass,0;
+ mes "[Kafra]";
+ mes "You may now use the Teleport and Cart Rental services for free.";
+ return 1;
+ sM_PassInfo:
+ mes "[Kafra]";
+ mes "A ^5533FFKafra Pass^000000 is a unique voucher that lets you use Kafra services for free!";
+ mes "The Kafra services that you may use for free are the ^FF3355Teleport^000000 service and the ^FF3355Cart Rental^000000 service.";
+ next;
+ mes "[Kafra]";
+ mes "Kafra passes can be purchased at the Kafra Corp. Main office in Al De Baran.";
+ next;
+ mes "[Kafra]";
+ mes "To use a Kafra Pass, simply choose the option to 'Use a Kafra Pass', when speaking with a Kafra agent such as myself.";
+ mes "Your pass number will be entered into our database, and you will then be able to use the Teleport, and Cart Rental Kafra services free of charge.";
+ next;
+ mes "[Kafra]";
+ mes "Once you have finished using the desired services, and have stopped interacting with the Kafra, your 'free use' session will end.";
+ mes "You will have a total of ^5533FF 3 'free use' sessions^000000 available upon activation of your Kafra Pass.";
+ next;
+ mes "[Kafra]";
+ mes "To begin another 'free use' session, simply select the 'Use a Kafra Pass' option when speaking with a Kafra Agent.";
+ next;
+ mes "[Kafra]";
+ mes "Believe me when I say that the Kafra Pass is a great bargain!!";
+ mes "With the Kafra Pass, we hope to give players some incentive to use our great services.";
+ next;
+ goto sM_Menu;
+
+ sM_End:
+ return 0;
+}
+
+// Special Reserve Points Function ===========================================
+function script F_KafInfo {
+
+ sM_Menu:
+ if(getarg(0) == 0) menu "-Special Reserve Check",sM_ResChk, "-Kafra Locations",sM_KafLoc, "-Cancel",sM_End;
+
+ sM_ResChk:
+ mes "[Kafra]";
+ mes "Here is your current amount of special reserve points:";
+ mes "^0000ff"+RESRVPTS+"^000000.";
+ next;
+ mes "[Kafra]";
+ mes "Remember to continue using Kafra services such as Storage and Teleport, to earn more special reserve points.";
+ next;
+ mes "[Kafra]";
+ mes "You can trade them in at the Kafra Main Office in Al De Baran for useful items and cool prizes.";
+ next;
+ if(getarg(0) == 1) return;
+ goto sM_Menu;
+ sM_KafLoc:
+ mes "[Kafra]";
+ mes "The flashing signals on your mini-map point to the locations of all of the Kafra Agents in this city.";
+ viewpoint 1,@viewpX[0],@viewpY[0],1,0xFF00FF;
+ viewpoint 1,@viewpX[1],@viewpY[1],2,0xFF00FF;
+ viewpoint 1,@viewpX[2],@viewpY[2],3,0xFF00FF;
+ viewpoint 1,@viewpX[3],@viewpY[3],4,0xFF00FF;
+ next;
+ viewpoint 2,@viewpX[0],@viewpY[0],1,0xFF00FF;
+ viewpoint 2,@viewpX[1],@viewpY[1],2,0xFF00FF;
+ viewpoint 2,@viewpX[2],@viewpY[2],3,0xFF00FF;
+ viewpoint 2,@viewpX[3],@viewpY[3],4,0xFF00FF;
+ goto sM_Menu;
+ sM_End:
+ return;
+}
+
+
+// End Function =====================================================
+// arg(0): used to determine what message to display.
+// arg(1): used to determine if save message is displayed.
+//===================================================================
+function script F_KafEnd {
+ mes "[Kafra]";
+ if(getarg(1)==1) mes "Your respawn point has been saved."; // only shown when a player uses save
+ if(getarg(0)!=1) mes "Thank you for using Kafra Services. We hope to see you again soon.";
+ if(getarg(0)==1) mes "We, Kafra Corporation.... Will be with you.... whenever.... wherever... therefore.... please don't forget us.....";
+ close2;
+ cutin "", 255;
+ emotion 15;
+ close;
+ end;
+}
diff --git a/npc/kafras/kafras_alb.txt b/npc/kafras/kafras_alb.txt
new file mode 100644
index 000000000..29645bbc1
--- /dev/null
+++ b/npc/kafras/kafras_alb.txt
@@ -0,0 +1,67 @@
+//===== eAthena Script ============
+//= Alberta Kafras
+//===== By: =========================
+//= eAthena Dev Team
+//===== Current Version: ===================
+//= 2.2
+//===== Compatible With: =====================
+//= eAthena 1.0
+//===== Description: ============================================
+//= Description of argument settings for callfunc "F_Kafra".
+//= arg(0): When set at 0 the default Kafra message is displayed.
+//= When set to 1 the Niflhiem Kafra message is displayed.
+//= When set to 2 the Guild Kafra message is displayed.
+//= arg(1): Set to 1 to disable teleport menu option. Otherwise set to 0.
+//= arg(2): Set to 1 to disable info menu. Otherwise set to 0.
+//===== Additional Comments: ==========================================
+//= v1.1 Now using functions :)
+//= v2.1b Minor changes to function calls. Using arguments.
+//= This version uses arrays .[kobra_k88]
+//= 2.2 New Teleport list and prices [Lupus]
+//=====================================================================
+
+
+// NorthWest -----------------------------------------------------------------
+alberta.gat,28,229,8 script Kafra 115,{
+ cutin "kafra_03",2;
+ callfunc "F_KafSetAlb";
+ callfunc "F_Kafra",0,0,0;
+
+ M_Save:
+ menu "-Save Outside City.",sM_Out, "-Save inside City",sM_In;
+
+ sM_Out:
+ savepoint "pay_fild03.gat",386,76;
+ callfunc "F_KafEnd",0,1;
+ sM_In:
+ savepoint "alberta.gat",31,231;
+ callfunc "F_KafEnd",0,1;
+}
+
+// South ---------------------------------------------------------------------
+alberta.gat,113,60,5 script Kafra 112,{
+ cutin "kafra_06",2;
+ callfunc "F_KafSetAlb";
+ callfunc "F_Kafra",0,0,0;
+
+ M_Save:
+ savepoint "alberta.gat",117,57;
+ callfunc "F_KafEnd",0,1;
+}
+
+
+// Function: Sets variables for Ablerta Kafras -------------------------------
+function script F_KafSetAlb {
+ setarray @wrpP[0], 1200, 1800, 1800;
+ setarray @wrpD$[0], "Payon", "Morroc", "Prontera";
+ set @wrpC$[0], @wrpD$[0]+" -> "+@wrpP[0];
+ set @wrpC$[1], @wrpD$[1]+" -> "+@wrpP[1];
+ set @wrpC$[2], @wrpD$[2]+" -> "+@wrpP[2];
+ set @wrpC$[3], "Cancel";
+ set @wrpC$[4], "";
+ set @wrpC$[5], "";
+ set @wrpC$[6], "";
+ setarray @viewpX[0], 28, 113, 0, 0;
+ setarray @viewpY[0], 229, 60, 0, 0;
+ return;
+}
diff --git a/npc/kafras/kafras_alde.txt b/npc/kafras/kafras_alde.txt
new file mode 100644
index 000000000..2cb3bbeaf
--- /dev/null
+++ b/npc/kafras/kafras_alde.txt
@@ -0,0 +1,52 @@
+//===== eAthena Script =======================================
+//= Al De Baran Kafras
+//===== By: ============================
+//= eAthena Dev Team
+//===== Current Version: =======================
+//= 2.2
+//===== Compatible With: ============================
+//= eAthena 1.0
+//===== Description: ============================================
+//= Description of argument settings for callfunc "F_Kafra".
+//= arg(0): When set at 0 the default Kafra message is displayed.
+//= When set to 1 the Niflhiem Kafra message is displayed.
+//= When set to 2 the Guild Kafra message is displayed.
+//= arg(1): Set to 1 to disable teleport menu option. Otherwise set to 0.
+//= arg(2): Set to 1 to disable info menu. Otherwise set to 0.
+//===== Additional Comments: ==========================================
+//= v1.1 Now using functions :)
+//= v2.1b Minor changes to function calls. Using arguments.
+//= This version uses arrays .[kobra_k88]
+//= 2.2 New teleport destinations, prices [Lupus]
+//=====================================================================
+
+
+// Kafra Main Office (Kafra Leilah) ------------------------------------
+aldeba_in.gat,96,181,4 script Kafra Leilah 113,{
+ cutin "kafra_05",2;
+ callfunc "F_Kafra",0,2,1;
+
+ M_Save:
+ savepoint "aldeba_in.gat",96,179;
+ callfunc "F_KafEnd",0,1;
+
+}
+
+// South --------------------------------------------------
+aldebaran.gat,143,119,4 script Kafra 113,{
+ cutin "kafra_05",2;
+ setarray @wrpP[0], 1200, 1200, 1800, 1700;
+ setarray @wrpD$[0], "Geffen", "Yuno" , "Izlude", "Coal Mine(Dead Pit)";
+ set @wrpC$[0], @wrpD$[0]+" -> "+@wrpP[0];
+ set @wrpC$[1], @wrpD$[1]+" -> "+@wrpP[1];
+ set @wrpC$[2], @wrpD$[2]+" -> "+@wrpP[2];
+ set @wrpC$[3], @wrpD$[3]+" -> "+@wrpP[3];
+ set @wrpC$[4], "Cancel";
+ set @wrpC$[5], "";
+ set @wrpC$[6], "";
+ callfunc "F_Kafra",0,0,1;
+
+ M_Save:
+ savepoint "aldebaran.gat",143,109;
+ callfunc "F_KafEnd",0,1;
+}
diff --git a/npc/kafras/kafras_com.txt b/npc/kafras/kafras_com.txt
new file mode 100644
index 000000000..c317c7728
--- /dev/null
+++ b/npc/kafras/kafras_com.txt
@@ -0,0 +1,61 @@
+//===== eAthena Script ===============
+//= Comodo Kafras
+//===== By: ============================
+//= eAthena Dev Team
+//===== Current Version: =======================
+//= 2.2
+//===== Compatible With: ============================
+//= eAthena 1.0
+//===== Description: ============================================
+//= Description of argument settings for callfunc "F_Kafra".
+//= arg(0): When set at 0 the default Kafra message is displayed.
+//= When set to 1 the Niflhiem Kafra message is displayed.
+//= When set to 2 the Guild Kafra message is displayed.
+//= arg(1): Set to 1 to disable teleport menu option. Otherwise set to 0.
+//= arg(2): Set to 1 to disable info menu. Otherwise set to 0.
+//===== Additional Comments: ==========================================
+//= v1.1 Now using functions :)
+//= v2.1b Minor changes to function calls. Using arguments.
+//= This version uses arrays .[kobra_k88]
+//= Corrected savepoint for in town kafra.[kobra_k88]
+//= 2.2 New teleport destinations, prices [Lupus]
+//=====================================================================
+
+
+// In Town ==============================================>\\
+comodo.gat,200,148,4 script Kafra 721,{
+ cutin "kafra_07",2;
+ setarray @wrpD$[0], "Morroc", "Comodo Pharos Lighthouse", "Umbala";
+ setarray @wrpP[0], 1800, 1200, 1800;
+ set @wrpC$[0], @wrpD$[0]+" -> "+@wrpP[0];
+ set @wrpC$[1], @wrpD$[1]+" -> "+@wrpP[1];
+ set @wrpC$[2], @wrpD$[2]+" -> "+@wrpP[2];
+ set @wrpC$[3], "Cancel";
+ set @wrpC$[4], "";
+ set @wrpC$[5], "";
+ set @wrpC$[6], "";
+ callfunc "F_Kafra",0,0,1;
+
+ M_Save:
+ savepoint "comodo.gat",204,143;
+ callfunc "F_KafEnd",0,1;
+}
+
+// Comodo Pharos Lighthouse (Beacon Island) ===================>\\
+cmd_fild07.gat,135,134,4 script Kafra 721,{
+ cutin "kafra_07",2;
+ setarray @wrpD$[0], "Comodo", "Morroc";
+ setarray @wrpP[0], 1200, 1800;
+ set @wrpC$[0], @wrpD$[0]+" -> "+@wrpP[0];
+ set @wrpC$[1], @wrpD$[1]+" -> "+@wrpP[1];
+ set @wrpC$[2], "Cancel";
+ set @wrpC$[3], "";
+ set @wrpC$[4], "";
+ set @wrpC$[5], "";
+ set @wrpC$[6], "";
+ callfunc "F_Kafra",0,0,1;
+
+ M_Save:
+ savepoint "cmd_fild07.gat",127,134;
+ callfunc "F_KafEnd",0,1;
+}
diff --git a/npc/kafras/kafras_dungeons.txt b/npc/kafras/kafras_dungeons.txt
new file mode 100644
index 000000000..e8c8ef2fb
--- /dev/null
+++ b/npc/kafras/kafras_dungeons.txt
@@ -0,0 +1,132 @@
+//===== eAthena Script ================
+//= Kafras in Dungeons and Fields
+//===== By: ============================
+//= eAthena Dev Team
+//===== Current Version: =======================
+//= 2.4
+//===== Compatible With: ============================
+//= eAthena 1.0
+//===== Description: ============================================
+//= Description of argument settings for callfunc "F_Kafra".
+//= arg(0): When set at 0 the default Kafra message is displayed.
+//= When set to 1 the Niflhiem Kafra message is displayed.
+//= When set to 2 the Guild Kafra message is displayed.
+//= arg(1): Set to 1 to disable teleport menu option. Otherwise set to 0.
+//= arg(2): Set to 1 to disable info menu. Otherwise set to 0.
+//===== Additional Comments: =================================
+//= v1.1 Now using functions. Added teleport service for Orc Dungeon
+//= and Coal Mine Kafras.
+//= v2.1 Fixed bug with Merc job quest kafra.[Lupus]
+//= v2.1b Minor changes to function calls. Using arguments.
+//= Added ant hell kafras. This version uses arrays .[kobra_k88]
+//= Fixed Kafras, not giving you Save menu [Lupus]
+//= 2.3 Removed SAVE menu from dungeons Kafras [Lupus]
+//= 2.4 Now Baby Merchant can pass Merch Job Quest w/o probs [Lupus]
+//===============================================================
+
+
+//<============================= Ant Hell ==============================>\\
+// Mocfild04 -----------------------------------------
+moc_fild04.gat,230,329,3 script Kafra 115,{
+
+ cutin "kafra_03",2;
+ callfunc "F_Kafra",0,2,1;
+
+ M_Save:
+ savepoint "moc_fild04.gat",231,339;
+ callfunc "F_KafEnd",0,1;
+}
+
+// Mocfild15 --------------------------------------------
+moc_fild15.gat,264,260,3 script Kafra 115,{
+
+ cutin "kafra_03",2;
+ callfunc "F_Kafra",0,2,1;
+
+ M_Save:
+ savepoint "moc_fild15.gat",266,271;
+ callfunc "F_KafEnd",0,1;
+}
+
+//<============================= Byalan Island ============================>\\
+izlu2dun.gat,106,58,8 script Kafra 115,{
+
+ cutin "kafra_03",2;
+ if(BaseJob==Job_Novice && job_merchant_q3>0) callfunc "F_MercKafra"; //F_MercKafra found in merchant.txt
+ callfunc "F_Kafra",0,2,1;
+
+ M_Save:
+ savepoint "izlu2dun.gat",87,170;
+ callfunc "F_KafEnd",0,1;
+}
+
+
+//<============================ Culvert Sewers ============================>\\
+prt_fild05.gat,290,224,1 script Kafra 114,{
+ cutin "kafra_04",2;
+ callfunc "F_Kafra",0,2,1;
+
+ M_Save:
+ savepoint "prt_fild05.gat",274,243;
+ callfunc "F_KafEnd",0,1;
+}
+
+
+//<=========================== Coal Mine (Dead Pitt) =======================>\\
+mjolnir_02.gat,83,361,4 script Kafra 114,{
+ cutin "kafra_04",2;
+ callfunc "F_KafSetOrcCoal";
+ callfunc "F_Kafra",0,0,1;
+
+ M_Save:
+ savepoint "mjolnir_02.gat",98,352;
+ callfunc "F_KafEnd",0,1;
+}
+
+
+//<=============================== Morroc Ruins ============================>\\
+moc_ruins.gat,61,156,5 script Kafra 114,{
+ cutin "kafra_04",2;
+ callfunc "F_Kafra",0,2,1;
+
+ M_Save:
+ savepoint "moc_ruins.gat",41,141;
+ callfunc "F_KafEnd",0,1;
+}
+
+
+//<================================ Orc Dungeon ============================>\\
+gef_fild10.gat,73,340,4 script Kafra 115,{
+ cutin "kafra_03",2;
+ callfunc "F_KafSetOrcCoal";
+ callfunc "F_Kafra",0,0,1;
+
+ M_Save:
+ savepoint "gef_fild10.gat",54,326;
+ callfunc "F_KafEnd",0,1;
+}
+
+// Function: Sets variables for Kafras at the Orc Dungeon and the Coal Mines
+function script F_KafSetOrcCoal {
+ setarray @wrpD$[0], "Prontera", "Geffen";
+ setarray @wrpP[0], 3000, 3000;
+ set @wrpC$[0], @wrpD$[0]+" -> "+@wrpP[0];
+ set @wrpC$[1], @wrpD$[1]+" -> "+@wrpP[1];
+ set @wrpC$[2], "Cancel";
+ set @wrpC$[3], "";
+ set @wrpC$[4], "";
+ set @wrpC$[5], "";
+ set @wrpC$[6], "";
+ return;
+}
+
+
+//<============================== Treasure Island ==========================>\\
+alb2trea.gat,59,69,1 script Kafra 117,{
+ cutin "kafra_01",2;
+ callfunc "F_Kafra",0,2,1;
+
+ M_Save:
+ savepoint "alb2trea.gat",92,64;
+ callfunc "F_KafEnd",0,1;
+}
diff --git a/npc/kafras/kafras_gef.txt b/npc/kafras/kafras_gef.txt
new file mode 100644
index 000000000..afd211a50
--- /dev/null
+++ b/npc/kafras/kafras_gef.txt
@@ -0,0 +1,101 @@
+//===== eAthena Script =======================================
+//= Geffen Kafras
+//===== By: =========================
+//= eAthena Dev Team
+//===== Current Version: ===================
+//= 2.1b
+//===== Compatible With: =====================
+//= eAthena 1.0
+//===== Description: ============================================
+//= Description of argument settings for callfunc "F_Kafra".
+//= arg(0): When set at 0 the default Kafra message is displayed.
+//= When set to 1 the Niflhiem Kafra message is displayed.
+//= When set to 2 the Guild Kafra message is displayed.
+//= arg(1): Set to 1 to disable teleport menu option. Otherwise set to 0.
+//= arg(2): Set to 1 to disable info menu. Otherwise set to 0.
+//===== Additional Comments: ==========================================
+//= v1.1 Now using functions :)
+//= v2.1b Minor changes to function calls. Using arguments.
+//= This version uses arrays .[kobra_k88]
+//=====================================================================
+
+
+// South =====================================
+geffen.gat,120,62,8 script Kafra 115,{
+ cutin "kafra_03",2;
+ callfunc "F_KafSetGef";
+ callfunc "F_Kafra",0,0,0;
+
+ M_Save:
+ savepoint "geffen.gat",119,40;
+ callfunc "F_KafEnd",0,1;
+}
+
+// East ==============================================
+geffen.gat,203,123,3 script Kafra 114,{
+ cutin "kafra_04",2;
+ callfunc "F_KafSetGef";
+ callfunc "F_Kafra",0,0,0;
+
+ M_Save:
+ menu "-Save outside city.",sM_Out, "-Save inside city.",sM_In;
+
+ sM_Out:
+ savepoint "gef_fild00.gat",51,194;
+ callfunc "F_KafEnd",0,1;
+ sM_In:
+ savepoint "geffen.gat",200,124;
+ callfunc "F_KafEnd",0,1;
+}
+
+// North ==============================================
+geffen.gat,116,202,3 script Kafra 116,{
+ cutin "kafra_02",2;
+ callfunc "F_KafSetGef";
+ callfunc "F_Kafra",0,0,0;
+
+ M_Save:
+ menu "-Save outside city.",sM_Out, "-Save inside city.",sM_In;
+
+ sM_Out:
+ savepoint "gef_fild04.gat",192,49;
+ callfunc "F_KafEnd",0,1;
+ sM_In:
+ savepoint "geffen.gat",110,199;
+ callfunc "F_KafEnd",0,1;
+}
+
+// West =========================================
+geffen.gat,37,116,6 script Kafra 117,{
+ cutin "kafra_01",2;
+ callfunc "F_KafSetGef";
+ callfunc "F_Kafra",0,0,0;
+
+ M_Save:
+ menu "-Save outside city.",sM_Out, "-Save inside city.",sM_In;
+
+ sM_Out:
+ savepoint "gef_fild07.gat",330,192;
+ callfunc "F_KafEnd",0,1;
+ sM_In:
+ savepoint "geffen.gat",43,108;
+ callfunc "F_KafEnd",0,1;
+}
+
+
+// Function: Sets variables for Geffen Kafras -------------------
+function script F_KafSetGef {
+
+ setarray @wrpD$[0], "Prontera", "Payon", "Al De Baran", "Morroc";
+ setarray @wrpP[0], 1400, 1800, 1800, 2200;
+ set @wrpC$[0], @wrpD$[0]+" -> "+@wrpP[0];
+ set @wrpC$[1], @wrpD$[1]+" -> "+@wrpP[1];
+ set @wrpC$[2], @wrpD$[2]+" -> "+@wrpP[2];
+ set @wrpC$[3], @wrpD$[3]+" -> "+@wrpP[3];
+ set @wrpC$[4], "Cancel";
+ set @wrpC$[5], "";
+ set @wrpC$[6], "";
+ setarray @viewpX[0], 120, 203, 116, 37;
+ setarray @viewpY[0], 62, 123, 202, 116;
+ return;
+}
diff --git a/npc/kafras/kafras_izl.txt b/npc/kafras/kafras_izl.txt
new file mode 100644
index 000000000..851876856
--- /dev/null
+++ b/npc/kafras/kafras_izl.txt
@@ -0,0 +1,40 @@
+//===== eAthena Script =======================================
+//= Izlude Kafras
+//===== By: =========================
+//= eAthena Dev Team
+//===== Current Version: ===================
+//= 2.2
+//===== Compatible With: =====================
+//= eAthena 1.0
+//===== Description: ============================================
+//= Description of argument settings for callfunc "F_Kafra".
+//= arg(0): When set at 0 the default Kafra message is displayed.
+//= When set to 1 the Niflhiem Kafra message is displayed.
+//= When set to 2 the Guild Kafra message is displayed.
+//= arg(1): Set to 1 to disable teleport menu option. Otherwise set to 0.
+//= arg(2): Set to 1 to disable info menu. Otherwise set to 0.
+//===== Additional Comments: ==========================================
+//= v1.1 Now using functions :)
+//= v2.1b Minor changes to function calls. Using arguments.
+//= This version uses arrays .[kobra_k88]
+//= 2.2 New teleport destinations, prices [Lupus]
+//=====================================================================
+
+
+izlude.gat,134,87,3 script Kafra 117,{
+ cutin "kafra_01",2;
+ setarray @wrpD$[0], "Geffen", "Payon", "Morroc", "Al De Baran";
+ setarray @wrpP[0], 1200, 1200, 1200, 1800;
+ set @wrpC$[0], @wrpD$[0]+" -> "+@wrpP[0];
+ set @wrpC$[1], @wrpD$[1]+" -> "+@wrpP[1];
+ set @wrpC$[2], @wrpD$[2]+" -> "+@wrpP[2];
+ set @wrpC$[3], @wrpD$[3]+" -> "+@wrpP[3];
+ set @wrpC$[4], "Cancel";
+ set @wrpC$[5], "";
+ set @wrpC$[6], "";
+ callfunc "F_Kafra",0,0,1;
+
+ M_Save:
+ savepoint "izlude.gat",96,107;
+ callfunc "F_KafEnd",0,1;
+}
diff --git a/npc/kafras/kafras_mor.txt b/npc/kafras/kafras_mor.txt
new file mode 100644
index 000000000..b690b2606
--- /dev/null
+++ b/npc/kafras/kafras_mor.txt
@@ -0,0 +1,100 @@
+//===== eAthena Script =======================================
+//= Morroc Kafras
+//===== By: =========================
+//= eAthena Dev Team
+//===== Current Version: ===================
+//= 2.2
+//===== Compatible With: =====================
+//= eAthena 1.0
+//===== Description: ============================================
+//= Description of argument settings for callfunc "F_Kafra".
+//= arg(0): When set at 0 the default Kafra message is displayed.
+//= When set to 1 the Niflhiem Kafra message is displayed.
+//= When set to 2 the Guild Kafra message is displayed.
+//= arg(1): Set to 1 to disable teleport menu option. Otherwise set to 0.
+//= arg(2): Set to 1 to disable info menu. Otherwise set to 0.
+//===== Additional Comments: ==========================================
+//= v1.1 Now using functions :)
+//= v2.1b Minor changes to function calls. Using arguments.
+//= This version uses arrays .[kobra_k88]
+//= 2.2 New teleport destinations, prices [Lupus]
+//=====================================================================
+
+
+// South ================================
+morocc.gat,156,97,4 script Kafra 115,{
+ cutin "kafra_03",2;
+ callfunc "F_KafSetMoc";
+ callfunc "F_Kafra",0,0,0;
+
+ M_Save:
+ savepoint "morocc.gat",156,46;
+ callfunc "F_KafEnd",0,1;
+}
+
+// North =================================
+morocc.gat,162,271,4 script Kafra 114,{
+ cutin "kafra_04",2;
+ callfunc "F_KafSetMoc";
+ callfunc "F_Kafra",0,0,0;
+
+ M_Save:
+ menu "-Save outside city.",sM_Out,"-Save inside city.",sM_In;
+
+ sM_Out:
+ savepoint "moc_fild07.gat",212,30;
+ callfunc "F_KafEnd",0,1;
+ sM_In:
+ savepoint "morocc.gat",157,272;
+ callfunc "F_KafEnd",0,1;
+}
+
+// West =================================
+morocc.gat,28,167,6 script Kafra 116,{
+ cutin "kafra_02",2;
+ callfunc "F_KafSetMoc";
+ callfunc "F_Kafra",0,0,0;
+
+ M_Save:
+ menu "-Save outside city.",sM_Out,"-Save inside city.",sM_In;
+
+ sM_Out:
+ savepoint "moc_fild19.gat",164,107;
+ callfunc "F_KafEnd",0,1;
+ sM_In:
+ savepoint "morocc.gat",31,164;
+ callfunc "F_KafEnd",0,1;
+}
+
+// East =================================
+morocc.gat,292,211,4 script Kafra 112,{
+ cutin "kafra_06",2;
+ callfunc "F_KafSetMoc";
+ callfunc "F_Kafra",0,0,0;
+
+ M_Save:
+ menu "-Save outside city.",sM_Out,"-Save inside city.",sM_In;
+
+ sM_Out:
+ savepoint "moc_fild10.gat",24,107;
+ callfunc "F_KafEnd",0,1;
+ sM_In:
+ savepoint "morocc.gat",294,207;
+ callfunc "F_KafEnd",0,1;
+}
+
+// Function: Sets variables for Morroc Kafras --------------------------------
+function script F_KafSetMoc {
+ setarray @wrpD$[0], "Prontera", "Payon", "Alberta", "Comodo", "Comodo Pharos Lighthouse";
+ setarray @wrpP[0], 1200, 1200, 1800, 1800, 1200;
+ set @wrpC$[0], @wrpD$[0]+" -> "+@wrpP[0];
+ set @wrpC$[1], @wrpD$[1]+" -> "+@wrpP[1];
+ set @wrpC$[2], @wrpD$[2]+" -> "+@wrpP[2];
+ set @wrpC$[3], @wrpD$[3]+" -> "+@wrpP[3];
+ set @wrpC$[4], @wrpD$[4]+" -> "+@wrpP[4];
+ set @wrpC$[5], "Cancel";
+ set @wrpC$[6], "";
+ setarray @viewpX[0], 156, 163, 28, 292;
+ setarray @viewpY[0], 97, 260, 167, 211;
+ return;
+}
diff --git a/npc/kafras/kafras_new.txt b/npc/kafras/kafras_new.txt
new file mode 100644
index 000000000..6ecaceadd
--- /dev/null
+++ b/npc/kafras/kafras_new.txt
@@ -0,0 +1,142 @@
+//===== eAthena Script ===========
+//= New Kafras
+//===== By: =========================
+//= eAthena Dev Team
+//===== Current Version: ===================
+//= 2.6
+//===== Compatible With: =====================
+//= eAthena 1.0
+//===== Description: ============================================
+//= Description of argument settings for callfunc "F_Kafra".
+//= arg(0): When set at 0 the default Kafra message is displayed.
+//= When set to 1 the Niflhiem Kafra message is displayed.
+//= When set to 2 the Guild Kafra message is displayed.
+//= arg(1): Set to 1 to disable teleport menu option. Otherwise set to 0.
+//= arg(2): Set to 1 to disable info menu. Otherwise set to 0.
+//===== Additional Comments: ==============================================
+//= v1.1 Now using functions
+//= v2.1 Added Niflheim Kafra by Dizzy
+//= v2.1b Minor changes to function calls. Using arguments.
+//= This version uses arrays .[kobra_k88]
+//= 2.2 Added Louyang Kafra, fixed other kafras not saving players coords [Lupus]
+//= 2.3 Added temp Amatsu + Ayothaya Kafra (wrong coords and sprite) [Lupus]
+//= 2.4 Added correct Ayothaya, Louyang & Amatsu Kafras. [Lupus]
+//= 2.5 Added 2 Einbroch Kafras. [Lupus]
+//= 2.6 Added the Einbech Kafra [MasterOfMuppets]
+//= 2.7 Added the Lighthalzen Kafras [MasterOfMuppets]
+//= 2.7b Chanced the Sprite of the Einbech Kafra. [Poki#3]
+//==========================================================================
+
+// Amatsu ------------------------------------------------------------------
+amatsu.gat,102,149,4 script Kafra 116,{
+ cutin "kafra_02",2;
+ callfunc "F_Kafra",3,3,1;
+
+ M_Save:
+ savepoint "amatsu.gat",116,94;
+ callfunc "F_KafEnd",0,1;
+}
+
+// Ayothaya ----------------------------------------------------------------
+ayothaya.gat,212,169,5 script Kafra 116,{
+ cutin "kafra_02",2;
+ callfunc "F_Kafra",4,3,1;
+
+ M_Save:
+ savepoint "ayothaya.gat",149,69;
+ callfunc "F_KafEnd",0,1;
+}
+
+// Einbech -----------------------------------------------------------------
+
+einbech.gat,181,131,5 script Kafra 860,{
+ cutin "kafra_08",2;
+ callfunc "F_Kafra",0,4,1;
+
+ M_Save:
+ savepoint "einbech.gat",181,124;
+ callfunc "F_KafEnd",0,1;
+}
+
+// Einbroch (North-East) ---------------------------------------------------
+einbroch.gat,242,205,4 script Kafra 115,{
+ cutin "kafra_03",2;
+ callfunc "F_Kafra",0,4,1;
+
+ M_Save:
+ savepoint "einbroch.gat",240,197;
+ callfunc "F_KafEnd",0,1;
+}
+
+// Einbroch (East) ---------------------------------------------------------
+einbroch.gat,59,203,4 script Kafra 117,{
+ cutin "kafra_01",2;
+ callfunc "F_Kafra",0,4,1;
+
+ M_Save:
+ savepoint "einbroch.gat",240,197;
+ callfunc "F_KafEnd",0,1;
+}
+
+// Gonryun -----------------------------------------------------------------
+gonryun.gat,159,122,4 script Kafra 116,{
+ cutin "kafra_02",2;
+ callfunc "F_KafSetYun";
+ callfunc "F_Kafra",0,0,1;
+
+ M_Save:
+ savepoint "gonryun.gat",160,62;
+ callfunc "F_KafEnd",0,1;
+}
+
+// Lighthalzen--------------------------------------------------------------
+
+//Outside the hotel
+lighthalzen.gat,164,100,3 script Kafra 860,{
+ cutin "kafra_08",2;
+ callfunc "F_Kafra",0,4,1;
+
+ M_Save:
+ savepoint "lighthalzen.gat",162,82;
+ callfunc "F_KafEnd",0,1;
+}
+
+//Inside the hotel
+lhz_in02.gat,237,284,4 script Kafra 861,{
+ cutin "kafra_09",2;
+ callfunc "F_Kafra",0,4,1;
+
+ M_Save:
+ savepoint "lighthalzen.gat",162,82;
+ callfunc "F_KafEnd",0,1;
+}
+
+// Louyang -----------------------------------------------------------------
+louyang.gat,210,104,5 script Kafra 117,{
+ cutin "kafra_01",2;
+ callfunc "F_Kafra",4,3,1;
+
+ M_Save:
+ savepoint "louyang.gat",217,92;
+ callfunc "F_KafEnd",0,1;
+}
+
+// Umbala Kafra ------------------------------------------------------------
+umbala.gat,128,133,4 script Kafra 115,{
+ cutin "kafra_03",2;
+ callfunc "F_KafSetYun";
+ callfunc "F_Kafra",0,0,1;
+
+ M_Save:
+ savepoint "umbala.gat",126,131;
+ callfunc "F_KafEnd",0,1;
+}
+
+// Niflheim ----------------------------------------------------------------
+niflheim.gat,202,180,3 script Kafra 791,{
+ callfunc "F_Kafra",1,2,1;
+//this SAVE isn't used. Niflheim Kafra doesn't SAVE
+ M_Save:
+ savepoint "niflheim.gat",192,182;
+ callfunc "F_KafEnd",1,1;
+}
diff --git a/npc/kafras/kafras_pay.txt b/npc/kafras/kafras_pay.txt
new file mode 100644
index 000000000..ce4467544
--- /dev/null
+++ b/npc/kafras/kafras_pay.txt
@@ -0,0 +1,71 @@
+//===== eAthena Script =======================================
+//= Payon Kafras
+//===== By: =========================
+//= eAthena Dev Team
+//===== Current Version: ===================
+//= 2.3
+//===== Compatible With: =====================
+//= eAthena 1.0
+//===== Description: ============================================
+//= Description of argument settings for callfunc "F_Kafra".
+//= arg(0): When set at 0 the default Kafra message is displayed.
+//= When set to 1 the Niflhiem Kafra message is displayed.
+//= When set to 2 the Guild Kafra message is displayed.
+//= arg(1): Set to 1 to disable teleport menu option. Otherwise set to 0.
+//= arg(2): Set to 1 to disable info menu. Otherwise set to 0.
+//===== Additional Comments: ==============================================
+//= v1.1 Now using functions
+//= v2.1b Minor changes to function calls. Using arguments.
+//= This version uses arrays .[kobra_k88]
+//= v2.2 New Payon Locations. [Darkchild]
+//= 2.3 1 New Kafra, fixed save menus
+//==========================================================================
+
+
+// Main Town, South ----------------------------------------------------------
+payon.gat,181,104,4 script Kafra 113,{
+ cutin "kafra_05",2;
+ callfunc "F_KafSetPay";
+ callfunc "F_Kafra",0,0,1;
+
+ M_Save:
+ savepoint "payon.gat",160,58;
+ callfunc "F_KafEnd",0,1;
+}
+
+// Main Town, Middle North --------------------------------------------------
+payon.gat,175,226,4 script Kafra 116,{
+ cutin "kafra_02",2;
+ callfunc "F_KafSetPay";
+ callfunc "F_Kafra",0,0,1;
+
+ M_Save:
+ savepoint "payon.gat",257,242;
+ callfunc "F_KafEnd",0,1;
+}
+
+// Archer Village ------------------------------------------------------------
+pay_arche.gat,55,123,8 script Kafra 115,{
+ cutin "kafra_03",2;
+ callfunc "F_KafSetPay";
+ callfunc "F_Kafra",0,0,1;
+
+ M_Save:
+ savepoint "pay_arche.gat",49,144;
+ callfunc "F_KafEnd",0,1;
+}
+
+
+// Function: Sets variables for Payon Kafras ---------------------------------
+function script F_KafSetPay {
+ setarray @wrpD$[0], "Alberta", "Prontera", "Morroc";
+ setarray @wrpP[0], 1200, 1800, 2000;
+ set @wrpC$[0], @wrpD$[0]+" -> "+@wrpP[0];
+ set @wrpC$[1], @wrpD$[1]+" -> "+@wrpP[1];
+ set @wrpC$[2], @wrpD$[2]+" -> "+@wrpP[2];
+ set @wrpC$[3], "Cancel";
+ set @wrpC$[4], "";
+ set @wrpC$[5], "";
+ set @wrpC$[6], "";
+ return;
+}
diff --git a/npc/kafras/kafras_pron.txt b/npc/kafras/kafras_pron.txt
new file mode 100644
index 000000000..ff61a5c85
--- /dev/null
+++ b/npc/kafras/kafras_pron.txt
@@ -0,0 +1,103 @@
+//===== eAthena Script =======================================
+//= Prontera Kafras
+//===== By: =========================
+//= eAthena Dev Team
+//===== Current Version: ===================
+//= 2.4
+//===== Compatible With: =====================
+//= eAthena 1.0
+//===== Description: ============================================
+//= Description of argument settings for callfunc "F_Kafra".
+//= arg(0): When set at 0 the default Kafra message is displayed.
+//= When set to 1 the Niflhiem Kafra message is displayed.
+//= When set to 2 the Guild Kafra message is displayed.
+//= arg(1): Set to 1 to disable teleport menu option. Otherwise set to 0.
+//= arg(2): Set to 1 to disable info menu. Otherwise set to 0.
+//===== Additional Comments: ==========================================
+//= v1.1 Now using functions :)
+//= v2.1b Minor changes to function calls. Using arguments.
+//= This version uses arrays .[kobra_k88]
+//= 2.2 North Kafra allows you save your position
+//= 2.3 New Teleport list, new prices, 2.3a fixed Alberta Teleport [Lupus]
+//= 2.3b One Kafra's been moved to Prontera, thx to Vicious_Pucca [Lupus]
+//= 2.4 Updated Kafras locations for the mini-map [Lupus]
+//=====================================================================
+
+
+// North ==================================
+prontera.gat,152,326,4 script Kafra 112,{
+ cutin "kafra_06",2;
+ callfunc "F_Kafra",0,1,1;
+
+M_Save:
+ savepoint "prontera.gat",157,327;
+ callfunc "F_KafEnd",0,1;
+}
+
+// SOUTH ======================================
+prontera.gat,151,29,8 script Kafra 116,{
+ cutin "kafra_02",2;
+ callfunc "F_KafSetPront";
+ callfunc "F_Kafra",0,0,0;
+
+ M_Save:
+ menu "-Save outside city.",sM_Out,"-Save inside city.",sM_In;
+
+ sM_Out:
+ savepoint "prt_fild08.gat",170,369;
+ callfunc "F_KafEnd",0,1;
+ sM_In:
+ savepoint "prontera.gat",150,33;
+ callfunc "F_KafEnd",0,1;
+}
+
+//WEST=========================================
+prontera.gat,29,207,6 script Kafra 113,{
+ cutin "kafra_05",2;
+ callfunc "F_KafSetPront";
+ callfunc "F_Kafra",0,0,0;
+
+ M_Save:
+ menu "-Save outside city.",sM_Out,"-Save inside city.",sM_In;
+
+ sM_Out:
+ savepoint "prt_fild05.gat",367,205;
+ callfunc "F_KafEnd",0,1;
+ sM_In:
+ savepoint "prontera.gat",33,208;
+ callfunc "F_KafEnd",0,1;
+}
+
+// East ===========================================
+prontera.gat,282,200,4 script Kafra 115,{
+ cutin "kafra_03",2;
+ callfunc "F_KafSetPront";
+ callfunc "F_Kafra",0,0,0;
+
+ M_Save:
+ menu "-Save outside city.",sM_Out,"-Save inside city.",sM_In;
+
+ sM_Out:
+ savepoint "prt_fild06.gat",31,192;
+ callfunc "F_KafEnd",0,1;
+ sM_In:
+ savepoint "prontera.gat",281,203;
+ callfunc "F_KafEnd",0,1;
+}
+
+
+// Function: Sets variables for Prontera Kafras ----------------------------
+function script F_KafSetPront {
+ setarray @wrpD$[0], "Izlude", "Geffen", "Payon", "Morroc", "Orc Dungeon", "Alberta";
+ setarray @wrpP[0], 600, 1200, 1200, 1200, 1700, 1800;
+ set @wrpC$[0], @wrpD$[0]+" -> "+@wrpP[0];
+ set @wrpC$[1], @wrpD$[1]+" -> "+@wrpP[1];
+ set @wrpC$[2], @wrpD$[2]+" -> "+@wrpP[2];
+ set @wrpC$[3], @wrpD$[3]+" -> "+@wrpP[3];
+ set @wrpC$[4], @wrpD$[4]+" -> "+@wrpP[4];
+ set @wrpC$[5], @wrpD$[5]+" -> "+@wrpP[5];
+ set @wrpC$[6], "Cancel";
+ setarray @viewpX[0], 151, 29, 282, 152;
+ setarray @viewpY[0], 29, 207, 200, 326;
+ return;
+}
diff --git a/npc/kafras/kafras_yun.txt b/npc/kafras/kafras_yun.txt
new file mode 100644
index 000000000..3116f74ae
--- /dev/null
+++ b/npc/kafras/kafras_yun.txt
@@ -0,0 +1,71 @@
+//===== eAthena Script =======================================
+//= Yuno Kafras
+//===== By: =========================
+//= eAthena Dev Team
+//===== Current Version: ===================
+//= 2.1b
+//===== Compatible With: =====================
+//= eAthena 1.0
+//===== Description: ============================================
+//= Description of argument settings for callfunc "F_Kafra".
+//= arg(0): When set at 0 the default Kafra message is displayed.
+//= When set to 1 the Niflhiem Kafra message is displayed.
+//= When set to 2 the Guild Kafra message is displayed.
+//= arg(1): Set to 1 to disable teleport menu option. Otherwise set to 0.
+//= arg(2): Set to 1 to disable info menu. Otherwise set to 0.
+//===== Additional Comments: ==========================================
+//= v1.1 Now using functions :)
+//= v2.1b Minor changes to function calls. Using arguments.
+//= This version uses arrays .[kobra_k88]
+//=====================================================================
+
+
+// Center ------------------------------------------------------------------
+yuno.gat,153,187,6 script Kafra 114,{
+ cutin "kafra_04",2;
+ callfunc "F_KafSetYun";
+ callfunc "F_Kafra",0,0,0;
+
+ M_Save:
+ savepoint "yuno.gat",332,107;
+ callfunc "F_KafEnd",0,1;
+}
+
+// South East --------------------------------------------------------------
+yuno.gat,328,108,6 script Kafra 113,{
+ cutin "kafra_05",2;
+ callfunc "F_KafSetYun";
+ callfunc "F_Kafra",0,0,0;
+
+ M_Save:
+ savepoint "yuno.gat",332,107;
+ callfunc "F_KafEnd",0,1;
+}
+
+// East --------------------------------------------------------------------
+yuno.gat,278,221,6 script Kafra 117,{
+ cutin "kafra_01",2;
+ callfunc "F_KafSetYun";
+ callfunc "F_Kafra",0,0,0;
+
+ M_Save:
+ savepoint "yuno.gat",332,107;
+ callfunc "F_KafEnd",0,1;
+}
+
+
+// Function: Sets variables for Yuno Kafras ------------
+function script F_KafSetYun {
+ setarray @wrpD$[0], "Izlude", "Geffen", "Payon", "Morroc", "Orc Dungeon", "Comodo";
+ setarray @wrpP[0], 1000, 1400, 1700, 1800, 2500, 3000;
+ set @wrpC$[0], @wrpD$[0]+" -> "+@wrpP[0];
+ set @wrpC$[1], @wrpD$[1]+" -> "+@wrpP[1];
+ set @wrpC$[2], @wrpD$[2]+" -> "+@wrpP[2];
+ set @wrpC$[3], @wrpD$[3]+" -> "+@wrpP[3];
+ set @wrpC$[4], @wrpD$[4]+" -> "+@wrpP[4];
+ set @wrpC$[5], @wrpD$[5]+" -> "+@wrpP[5];
+ set @wrpC$[6], "Cancel";
+ setarray @viewpX[0], 328, 278, 153, 0;
+ setarray @viewpY[0], 108, 221, 187, 0;
+ return;
+}
diff --git a/npc/merchants/alchemist.txt b/npc/merchants/alchemist.txt
new file mode 100644
index 000000000..046e7c308
--- /dev/null
+++ b/npc/merchants/alchemist.txt
@@ -0,0 +1,129 @@
+//===== eAthena Script =======================================
+//= Alchemist Shop
+//===== By: ==================================================
+//= eAthena Team
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= eAthena 1.0+
+//===== Description: =========================================
+//= Selling Alchemist Materials and Manuals
+//===== Additional Comments: =================================
+//= 1.1 fixed Medicine Bowl issue, thanx 2 MasterOfMuppets
+//= 1.2 Reddozen's fixes of typos. added optional Elemental
+//= Potion Guide. [Lupus]
+//= 1.3 Deleted Elemental Potions Guide due to original quest [Lupus]
+//============================================================
+
+
+alde_alche.gat,24,188,3 script Gever AI Sharp 740,{
+ mes "[Gever AI Sharp]";
+ mes "Welcome to the Alchemist Union.";
+ mes "How can I assist you today?";
+ next;
+ menu "Purchase materials.",M_Material, "Purchase a production manual.",M_Manual, "Cancel Deal.", M_Bye;
+
+ M_Material:
+ mes "[Gever AI Sharp]";
+ mes "What would you like?";
+ next;
+ menu "Medicine Bowl - 8z",-,"Cancel.",M_Bye;
+
+ mes "[Gever AI Sharp]";
+ mes "How many do you want?";
+ mes "Enter '0' if you want to quit.";
+ next;
+ input @num;
+ if((@num < 1) || (@num > 1000)) goto M_Bye;
+ set @price,@num * 8;
+ mes "[Gever AI Sharp]";
+ if(Zeny < @price) goto sL_NoZeny;
+ if (checkweight(7134,@num) == 0) goto sL_OverW;
+ set Zeny,Zeny-@price;
+ getitem 7134,@num;//Items: Medicine_Bowl,
+ goto L_Bye;
+ M_Manual:
+ mes "[Gever AI Sharp]";
+ mes "What do you need?";
+ mes "Manuals are generally 100,000 zeny.";
+ mes "Except for a couple of special manuals.";
+ next;
+ menu "Potion Creation Guide",sM_Pot, "Alcohol Creation Guide",sM_Alc, "Bottle Grenade Creation Guide",sM_Gren,
+ "Acid Bottle Creation Guide",sM_Acid, "Plant Bottle Creation Guide",sM_Plant, "Marine Sphere Bottle Creation Guide",sM_Mar,
+ "Glistening Coat Creation Guide",sM_Coat, "Condensed Potion Creation Guide",sM_Con, "Cancel Deal.",M_Bye;
+ sM_Pot:
+ set @itemid,7144;
+ set @price,100000;
+ set @itemname$,"Potion";
+ goto L_Choice;
+ sM_Alc:
+ set @itemid,7127;
+ set @price,100000;
+ set @itemname$,"Alchohol";
+ goto L_Choice;
+ sM_Gren:
+ set @itemid,7128;
+ set @price,100000;
+ set @itemname$,"Bottle Grenade";
+ goto L_Choice;
+ sM_Acid:
+ set @itemid,7129;
+ set @price,100000;
+ set @itemname$,"Acid Bottle";
+ goto L_Choice;
+ sM_Plant:
+ set @itemid,7130;
+ set @price,100000;
+ set @itemname$,"Plant Bottle";
+ goto L_Choice;
+ sM_Mar:
+ set @itemid,7131;
+ set @price,100000;
+ set @itemname$,"Marine Sphere Bottle";
+ goto L_Choice;
+ sM_Coat:
+ set @itemid,7132;
+ set @price,100000;
+ set @itemname$,"Glistening Coat";
+ goto L_Choice;
+ sM_Con:
+ set @itemid,7133;
+ set @price,240000;
+ set @itemname$,"Condensed Potion";
+ goto L_Choice;
+// sM_Ele:
+// set @itemid,7434;
+// set @price,240000;
+// set @itemname$,"Elemental Potion";
+// goto L_Choice;
+
+ L_Choice:
+ mes "[Gever AI Sharp]";
+ mes "An " + @itemname$ + " Creation Guide??";
+ mes "That will be "+@price/1000+",000 zeny.";
+ next;
+ menu "Purchase.",-,"Quit.",M_Bye;
+
+ mes "[Gever AI Sharp]";
+ if(Zeny < @price) goto sL_NoZeny;
+ if (checkweight(@itemid,1) == 0) goto sL_OverW;
+ getitem @itemid,1;
+ set Zeny,Zeny-@price;
+ L_Bye:
+ mes "Thank you for buying!";
+ mes "Come again.";
+ close;
+
+ sL_NoZeny:
+ mes "You don't seem to have enough money.";
+ close;
+ sL_OverW:
+ mes "Hmm.... it seems that you are overweight...";
+ close;
+
+
+ M_Bye:
+ mes "[Gever AI Sharp]";
+ mes "Then come again next time.";
+ close;
+}
diff --git a/npc/merchants/clothes_dyer.txt b/npc/merchants/clothes_dyer.txt
new file mode 100644
index 000000000..a63dd2b71
--- /dev/null
+++ b/npc/merchants/clothes_dyer.txt
@@ -0,0 +1,379 @@
+//===== eAthena Script =======================================
+//= Clothes Dyer
+//===== By: ==================================================
+//= Usnul
+//===== Current Version: =====================================
+//= 2.2b
+//===== Compatible With: =====================================
+//= eAthena 1.0+
+//===== Description: =========================================
+//= Clothes dyer with standard palletes
+//===== Additional Comments: =================================
+//= Fully working
+//= 2.1 Shortened some labels to make this script loading,
+//= Added Black+White Colors desc [Lupus]
+//= 2.1a - added adv classes + abby class support [Lupus]
+//= 2.2 – Spell checked. [Nexon]
+//= 2.3 - Fixed dis $hit! [Poki#3]
+//============================================================
+
+
+// Dyer Ginedin Rephere ---------------------------------------------------
+prt_in.gat,284,168,2 script Dyer Ginedin Rephere 55,{
+ mes "[Dyer Ginedin Rephere]";
+ mes "11... 12... Mmm... good. I think I'll be able to finish before tonight’s party. Oh! I didn't notice that you were here. Anyway how may I assist you?";
+M_Menu:
+ next;
+ menu "-Talk",L_Talk,"-Dye Clothing",L_Dye,"-Price list",L_PriceList,"-Cancel",L_End;
+
+L_Talk:
+ mes "[Dyer Ginedin Rephere]";
+ mes "Life may have gotten a little better.... but when I look at all of the orders I've received... Whew!";
+ mes "It seems that the young women of Rune Midgard must be very well off these days.";
+ next;
+ mes "[Dyer Ginedin Rephere]";
+ mes "Not that I think that they are indulging in anything luxurious mind you.";
+ mes "I don't think there is anything wrong with the pursuit of beauty and being fashionable.";
+ next;
+ mes "[Dyer Ginedin Rephere]";
+ mes "For us humans, who have no colorful fur or decorative scales, clothes are one of the few ways we have to display our personality, style, and beauty.";
+ next;
+ mes "[Dyer Ginedin Rephere]";
+ mes "Haha... When I think about it, I really feel that my job is worthwhile. I believe that I provide a service that the people desire.";
+ next;
+ mes "[Dyer Ginedin Rephere]";
+ mes "Can you feel it too? The energy that is released when rough fabric and leather are brought to life with color?.....";
+ next;
+ mes "[Dyer Ginedin Rephere]";
+ mes "Although the process is very tedious and time consuming, the joy and happiness I feel when a dress is finished.....";
+ mes "more than makes up for all of the hard work!!";
+ goto M_Menu;
+
+L_Dye:
+ mes "[Dyer Ginedin Rephere]";
+ mes "Oh... you need my work? Well... okay sounds good.";
+ next;
+ mes "[Dyer Ginedin Rephere]";
+ mes "Please choose a color that suits you.";
+ next;
+ if(Sex==0) goto Female_dye;
+//=================================
+// Clothing Dyeing for Males
+//=================================
+
+Male_dye:
+ if(BaseJob==Job_Novice || BaseJob==Job_Novice_High || BaseJob==Job_Baby) goto L_Novice_M;
+ if(BaseJob==Job_Swordman || BaseJob==Job_Swordman_High || BaseJob==Job_Baby_Swordman) goto L_Swordman_M;
+ if(BaseJob==Job_Mage || BaseJob==Job_Mage_High || BaseJob==Job_Baby_Mage) goto L_Mage_M;
+ if(BaseJob==Job_Archer || BaseJob==Job_Archer_High || BaseJob==Job_Baby_Archer) goto L_Archer_M;
+ if(BaseJob==Job_Acolyte || BaseJob==Job_Acolyte_High || BaseJob==Job_Baby_Acolyte) goto L_Acolyte_M;
+ if(BaseJob==Job_Merchant || BaseJob==Job_Merchant_High || BaseJob==Job_Baby_Merchant) goto L_Merchant_M;
+ if(BaseJob==Job_Thief || BaseJob==Job_Thief_High || BaseJob==Job_Baby_Thief) goto L_Thief_M;
+ if(BaseJob==Job_Knight || BaseJob==Job_Knight2 || BaseJob==Job_Crusader || BaseJob==Job_Crusader2 || BaseJob==Job_Lord_Knight || BaseJob==Job_Lord_Knight2 || BaseJob==Job_Paladin || BaseJob==Job_Paladin2 || BaseJob==Job_Stalker || BaseJob==Job_Baby_Knight || BaseJob==Job_Baby_Knight2 || BaseJob==Job_Baby_Crusader || BaseJob==Job_Baby_Crusader2) goto L_Swordman2_M;
+ if(BaseJob==Job_Priest || BaseJob==Job_Monk || BaseJob==Job_High_Priest || BaseJob==Job_Champion || BaseJob==Job_Baby_Priest || BaseJob==Job_Baby_Monk) goto L_Acolyte2_M;
+ if(BaseJob==Job_Wizard || BaseJob==Job_High_Wizard || BaseJob==Job_Baby_Wizard) goto L_Mage2_M;
+ if(BaseJob==Job_Blacksmith || BaseJob==Job_Alchem || BaseJob==Job_Whitesmith || BaseJob==Job_Creator || BaseJob==Job_Baby_Blacksmith|| BaseJob==Job_Baby_Alchem) goto L_Merchant2_M;
+ if(BaseJob==Job_Hunter || BaseJob==Job_Bard || BaseJob==Job_Sniper || BaseJob==Job_Clown || BaseJob==Job_Baby_Hunter || BaseJob==Job_Baby_Bard) goto L_Archer2_M;
+ if(BaseJob==Job_Assassin || BaseJob==Job_Rogue || BaseJob==Job_Assassin_Cross || BaseJob==Job_Baby_Assassin || BaseJob==Job_Baby_Rogue) goto L_Thief2_M;
+ if(BaseJob==Job_SuperNovice || BaseJob==Job_Super_Baby) goto L_Super_Novice_M;
+ goto sL_Sorry;
+//NOTE: Although Sages have pellets, they color non existent piece's of clothing. They are not listed, so players won't waste their items and zeny.
+//Professors also have a problem <.< The only thing that changes is a part of there Fox scarf. The Stalker Placement is not a bug!
+
+L_Novice_M:
+ set @black, 1;
+ set @blue, 2;
+ set @green, 3;
+ menu "- Default",L_Dye_Default,"- Black",L_Dye_Black,"- Blue",L_Dye_Blue,"- Green",L_Dye_Green,"- Cancel",L_End;
+L_Swordman_M:
+ set @black, 1;
+ set @blue, 2;
+ set @green, 3;
+ menu "- Default",L_Dye_Default,"- Black",L_Dye_Black,"- Blue",L_Dye_Blue,"- Green",L_Dye_Green,"- Cancel",L_End;
+L_Mage_M:
+ set @red, 1;
+ set @violet, 2;
+ set @orange, 3;
+ set @white, 4;
+ menu "- Default",L_Dye_Default,"- Red",L_Dye_Red,"- Violet",L_Dye_Violet,"- Orange",L_Dye_Orange,"- White",L_Dye_White,"- Cancel",L_End;
+L_Archer_M:
+ set @black, 1;
+ set @violet, 2;
+ set @green, 3;
+ menu "- Default",L_Dye_Default,"- Black",L_Dye_Black,"- Violet",L_Dye_Violet,"- Green",L_Dye_Green,"- Cancel",L_End;
+L_Acolyte_M:
+ set @blue, 1;
+ set @red, 2;
+ set @white, 3;
+ set @black, 4;
+ menu "- Default",L_Dye_Default,"- Blue",L_Dye_Blue,"- Red",L_Dye_Red,"- White",L_Dye_White,"- Black",L_Dye_Black,"- Cancel",L_End;
+L_Merchant_M:
+ set @black, 1;
+ set @blue, 2;
+ set @green, 3;
+ menu "- Default",L_Dye_Default,"- Black",L_Dye_Black,"- Blue",L_Dye_Blue,"- Green",L_Dye_Green,"- Cancel",L_End;
+L_Thief_M:
+ set @green, 1;
+ set @red, 2;
+ set @white, 4;
+ menu "- Default",L_Dye_Default,"- Green",L_Dye_Green,"- Red",L_Dye_Red,"- White",L_Dye_White,"- Cancel",L_End;
+L_Swordman2_M:
+ set @violet, 1;
+ set @red, 3;
+ set @black, 4;
+ menu "- Default",L_Dye_Default,"- Violet",L_Dye_Violet,"- Red",L_Dye_Red,"- Black",L_Dye_Black,"- Cancel",L_End;
+L_Acolyte2_M:
+ set @blue, 1;
+ set @green, 2;
+ set @red, 3;
+ set @white, 4;
+ menu "- Default",L_Dye_Default,"- Blue",L_Dye_Blue,"- Green",L_Dye_Green,"- Red",L_Dye_Red,"- White",L_Dye_White,"- Cancel",L_End;
+L_Mage2_M:
+ set @blue, 1;
+ set @green, 3;
+ set @black, 4;
+ menu "- Default",L_Dye_Default,"- Blue",L_Dye_Blue,"- Green",L_Dye_Green,"- Black",L_Dye_Black,"- Cancel",L_End;
+L_Merchant2_M:
+ set @black, 1;
+ set @green, 2;
+ set @white, 3;
+ menu "- Default",L_Dye_Default,"- Black",L_Dye_Black,"- Green",L_Dye_Green,"- White",L_Dye_White,"- Cancel",L_End;
+L_Archer2_M:
+ set @black, 1;
+ set @blue, 2;
+ set @green, 3;
+ menu "- Default",L_Dye_Default,"- Black",L_Dye_Black,"- Blue",L_Dye_Blue,"- Green",L_Dye_Green,"- Cancel",L_End;
+L_Thief2_M:
+ set @blue, 1;
+ menu "- Default",L_Dye_Default,"- Blue",L_Dye_Blue,"- Cancel",L_End;
+L_Super_Novice_M:
+ set @violet, 1;
+ set @blue, 2;
+ set @green, 3;
+ set @black, 4;
+ menu "- Default",L_Dye_Default,"- Violet",L_Dye_Violet,"- Blue",L_Dye_Blue,"- Green",L_Dye_Green,"- Black",L_Dye_Black,"- Cancel",L_End;
+
+
+//=================================
+// Clothing Dyeing for Females
+//=================================
+Female_dye:
+ if(BaseJob==Job_Novice || BaseJob==Job_Novice_High || BaseJob==Job_Baby) goto L_Novice_F;
+ if(BaseJob==Job_Swordman || BaseJob==Job_Swordman_High || BaseJob==Job_Baby_Swordman) goto L_Swordman_F;
+ if(BaseJob==Job_Mage || BaseJob==Job_Mage_High || BaseJob==Job_Baby_Mage) goto L_Mage_F;
+ if(BaseJob==Job_Archer || BaseJob==Job_Archer_High || BaseJob==Job_Baby_Archer) goto L_Archer_F;
+ if(BaseJob==Job_Acolyte || BaseJob==Job_Acolyte_High || BaseJob==Job_Baby_Acolyte) goto L_Acolyte_F;
+ if(BaseJob==Job_Merchant || BaseJob==Job_Merchant_High || BaseJob==Job_Baby_Merchant) goto L_Merchant_F;
+ if(BaseJob==Job_Thief || BaseJob==Job_Thief_High || BaseJob==Job_Baby_Thief) goto L_Thief_F;
+ if(BaseJob==Job_Knight || BaseJob==Job_Knight2 || BaseJob==Job_Crusader || BaseJob==Job_Crusader2 || BaseJob==Job_Lord_Knight || BaseJob==Job_Lord_Knight2 || BaseJob==Job_Paladin || BaseJob==Job_Paladin2 || BaseJob==Job_Stalker || BaseJob==Job_Baby_Knight || BaseJob==Job_Baby_Knight2 || BaseJob==Job_Baby_Crusader || BaseJob==Job_Baby_Crusader2) goto L_Swordman2_F;
+ if(BaseJob==Job_Priest || BaseJob==Job_Baby_Priest) goto L_Acolyte2_F;
+ if(BaseJob==Job_Wizard || BaseJob==Job_Sage || BaseJob==Job_High_Wizard || BaseJob==Job_Professor || BaseJob==Job_Baby_Wizard || BaseJob==Job_Baby_Sage) goto L_Mage2_F;
+ if(BaseJob==Job_Blacksmith || BaseJob==Job_Alchem || BaseJob==Job_Whitesmith || BaseJob==Job_Creator || BaseJob==Job_Baby_Blacksmith|| BaseJob==Job_Baby_Alchem) goto L_Merchant2_F;
+ if(BaseJob==Job_Hunter || BaseJob==Job_Bard || BaseJob==Job_Sniper || BaseJob==Job_Clown || BaseJob==Job_Baby_Hunter || BaseJob==Job_Baby_Bard) goto L_Archer2_F;
+ if(BaseJob==Job_Assassin || BaseJob==Job_Baby_Assassin) goto L_Thief2_F;
+ if(BaseJob==Job_Rogue || BaseJob==Job_Assassin_Cross || BaseJob==Job_Baby_Rogue) goto L_Thief3_F;
+ if(BaseJob==Job_SuperNovice || BaseJob==Job_Super_Baby) goto L_Super_Novice_F;
+ goto sL_Sorry;
+//NOTE: Same problems as with Males. This time: Monk, High Priest, Champion.
+//Rogue and Assassin Cross have her own check, because the default dye is black <.< The Stalker Placement is not a bug!
+
+L_Novice_F:
+ set @blue, 1;
+ set @red, 2;
+ set @green, 3;
+ set @black, 4;
+ menu "- Default",L_Dye_Default,"- Blue",L_Dye_Blue,"- Red",L_Dye_Red,"- Green",L_Dye_Green,"- Black",L_Dye_Black,"- Cancel",L_End;
+L_Swordman_F:
+ set @red, 1;
+ set @green, 3;
+ set @black, 4;
+ menu "- Default",L_Dye_Default,"- Red",L_Dye_Red,"- Green",L_Dye_Green,"- Black",L_Dye_Black,"- Cancel",L_End;
+L_Mage_F:
+ set @red, 1;
+ set @violet, 2;
+ set @white, 3;
+ set @black, 4;
+ menu "- Default",L_Dye_Default,"- Red",L_Dye_Red,"- Violet",L_Dye_Violet,"- White",L_Dye_White,"- Black",L_Dye_Black,"- Cancel",L_End;
+L_Archer_F:
+ set @red, 1;
+ set @green, 2;
+ set @white, 3;
+ set @black, 4;
+ menu "- Default",L_Dye_Default,"- Red",L_Dye_Red,"- Green",L_Dye_Green,"- White",L_Dye_White,"- Black",L_Dye_Black,"- Cancel",L_End;
+L_Acolyte_F:
+ set @red, 1;
+ set @green, 3;
+ set @black, 4;
+ menu "- Default",L_Dye_Default,"- Red",L_Dye_Red,"- Green",L_Dye_Green,"- Black",L_Dye_Black,"- Cancel",L_End;
+L_Merchant_F:
+ set @violet, 1;
+ set @green, 3;
+ set @black, 4;
+ menu "- Default",L_Dye_Default,"- Violet",L_Dye_Violet,"- Green",L_Dye_Green,"- Black",L_Dye_Black,"- Cancel",L_End;
+L_Thief_F:
+ set @red, 1;
+ set @white, 3;
+ set @black, 4;
+ menu "- Default",L_Dye_Default,"- Red",L_Dye_Red,"- White",L_Dye_White,"- Black",L_Dye_Black,"- Cancel",L_End;
+L_Swordman2_F:
+ set @blue, 1;
+ set @white, 3;
+ set @black, 4;
+ menu "- Default",L_Dye_Default,"- Blue",L_Dye_Blue,"- White",L_Dye_White,"- Black",L_Dye_Black,"- Cancel",L_End;
+L_Acolyte2_F:
+ set @red, 1;
+ set @green, 2;
+ set @white, 3;
+ set @black, 4;
+ menu "- Default",L_Dye_Default,"- Red",L_Dye_Red,"- Green",L_Dye_Green,"- White",L_Dye_White,"- Black",L_Dye_Black,"- Cancel",L_End;
+L_Mage2_F:
+ set @red, 1;
+ set @blue, 2;
+ set @white, 3;
+ set @green, 4;
+ menu "- Default",L_Dye_Default,"- Red",L_Dye_Red,"- Blue",L_Dye_Blue,"- White",L_Dye_White,"- Green",L_Dye_Green,"- Cancel",L_End;
+L_Merchant2_F:
+ set @red, 1;
+ set @green, 2;
+ set @violet, 3;
+ set @black, 4;
+ menu "- Default",L_Dye_Default,"- Red",L_Dye_Red,"- Green",L_Dye_Green,"- Violet",L_Dye_Violet,"- Black",L_Dye_Black,"- Cancel",L_End;
+L_Archer2_F:
+ set @blue, 1;
+ set @green, 3;
+ set @violet, 4;
+ menu "- Default",L_Dye_Default,"- Blue",L_Dye_Blue,"- Green",L_Dye_Green,"- Violet",L_Dye_Violet,"- Cancel",L_End;
+L_Thief2_F:
+ set @black, 1;
+ set @yellow, 2;
+ set @white, 3;
+ menu "- Default",L_Dye_Default,"- Black",L_Dye_Black,"- Yellow",L_Dye_Yellow,"- White",L_Dye_White,"- Cancel",L_End;
+L_Thief3_F:
+ set @yellow, 2;
+ set @white, 3;
+ menu "- Default",L_Dye_Default,"- Yellow",L_Dye_Yellow,"- White",L_Dye_White,"- Cancel",L_End;
+L_Super_Novice_F:
+ set @blue, 1;
+ set @red, 2;
+ set @green, 3;
+ set @black, 4;
+ menu "- Default",L_Dye_Default,"- Blue",L_Dye_Blue,"- Red",L_Dye_Red,"- Green",L_Dye_Green,"- Black",L_Dye_Black,"- Cancel",L_End;
+
+//=================================
+// Rest of the script
+//=================================
+
+L_Dye_Default:
+ mes "[Dyer Ginedin Rephere]";
+ mes "I can change your dye to the default one for free.";
+ mes "Are you sure?";
+ next;
+ menu "Yes",-,"No",L_End;
+ mes "[Dyer Ginedin Rephere]";
+ mes "OK. Here goes nothing.";
+ setlook 7,0;
+ close;
+L_Dye_Orange:
+ mes "[Dyer Ginedin Rephere]";
+ if(countitem(980) < 1) goto sL_NoDye;
+ if(Zeny < 10000) goto sL_Zeny;
+ mes "Ok. I will dye you clothes orange.";
+ setlook 7,@orange;
+ delitem 980,1;
+ set Zeny, Zeny - 10000;
+ close;
+L_Dye_Violet:
+ mes "[Dyer Ginedin Rephere]";
+ if(countitem(981) < 1) goto sL_NoDye;
+ if(Zeny < 10000) goto sL_Zeny;
+ mes "Ok. I will dye you clothes Violet.";
+ setlook 7,@violet;
+ delitem 981,1;
+ set Zeny, Zeny - 10000;
+ close;
+L_Dye_Red:
+ mes "[Dyer Ginedin Rephere]";
+ if(countitem(975) < 1) goto sL_NoDye;
+ if(Zeny < 10000) goto sL_Zeny;
+ mes "Ok. I will dye you clothes red.";
+ setlook 7,@red;
+ delitem 975,1;
+ set Zeny, Zeny - 10000;
+ close;
+L_Dye_Black:
+ mes "[Dyer Ginedin Rephere]";
+ if(countitem(983) < 1) goto sL_NoDye;
+ if(Zeny < 10000) goto sL_Zeny;
+ mes "Ok. I will dye you clothes black.";
+ setlook 7,@black;
+ delitem 983,1;
+ set Zeny, Zeny - 10000;
+ close;
+L_Dye_Green:
+ mes "[Dyer Ginedin Rephere]";
+ if(countitem(979) < 1) goto sL_NoDye;
+ if(Zeny < 10000) goto sL_Zeny;
+ mes "Ok. I will dye you clothes green.";
+ setlook 7,@green;
+ delitem 979,1;
+ set Zeny, Zeny - 10000;
+ close;
+L_Dye_Blue:
+ mes "[Dyer Ginedin Rephere]";
+ if(countitem(978) < 1) goto sL_NoDye;
+ if(Zeny < 10000) goto sL_Zeny;
+ mes "Ok. I will dye you clothes blue.";
+ setlook 7,@blue;
+ delitem 978,1;
+ set Zeny, Zeny - 10000;
+ close;
+L_Dye_White:
+ mes "[Dyer Ginedin Rephere]";
+ if(countitem(982) < 1) goto sL_NoDye;
+ if(Zeny < 10000) goto sL_Zeny;
+ mes "Ok. I will dye you clothes white.";
+ setlook 7,@white;
+ delitem 982,1;
+ set Zeny, Zeny - 10000;
+ close;
+L_Dye_Yellow:
+ mes "[Dyer Ginedin Rephere]";
+ if(countitem(976) < 1) goto sL_NoDye;
+ if(Zeny < 10000) goto sL_Zeny;
+ mes "Ok. I will dye you clothes yellow.";
+ setlook 7,@yellow;
+ delitem 976,1;
+ set Zeny, Zeny - 10000;
+ close;
+
+sL_Sorry:
+ mes "Wow, your clothes is very strange, I haven't seen anything like it before. Hmmm... I'm sorry, but there is no way I can paint it.";
+ close;
+
+sL_Zeny:
+ mes "I'm sorry but you don't have enough money.";
+ close;
+
+sL_NoDye:
+ mes "For me to dye your clothes, I'll need the appropriate Dyestuff. Please check my price list for the information.";
+ next;
+
+L_PriceList:
+ mes "[Dyer Ginedin Rephere]";
+ mes "Here is the list of colors you can choose from and their prices:";
+ mes " ";
+ mes " - ^FF4422Red^000000: 10000 zeny, 1 Scarlet Dyestuff";
+ mes " - ^D5A500Yellow^000000: 10000 zeny, 1 Lemon Dyestuff";
+ mes " - ^AA00AAViolet^000000: 10000 zeny, 1 Violet Dyestuff";
+ mes " - ^FF8800Orange^000000: 10000 zeny, 1 Orange Dyestuff";
+ mes " - ^4422FFBlue^000000: 10000 zeny, 1 CobaltBlue Dyestuff";
+ mes " - ^009500Green^000000: 10000 zeny, 1 DarkGreen Dyestuff";
+ mes " - Black: 10000 zeny, 1 Black Dyestuff";
+ mes " - White: 10000 zeny, 1 White Dyestuff";
+ goto M_Menu;
+
+L_End:
+ mes "[Dyer Ginedin Rephere]";
+ mes "Make yourself at home. Even though I don't have time for you.";
+ close;
+}
diff --git a/npc/merchants/dye_maker.txt b/npc/merchants/dye_maker.txt
new file mode 100644
index 000000000..eb258c688
--- /dev/null
+++ b/npc/merchants/dye_maker.txt
@@ -0,0 +1,277 @@
+//===== eAthena Script =======================================
+//= Dye Maker
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Fully working
+//= 1.1 Spell Checked [Nexon]
+//============================================================
+
+
+
+// Dye Maker JavaDullihan =======================
+morocc_in.gat,146,99,2 script Dye Maker JavaDullihan 122,{
+ mes "[Dye Maker JavaDullihan]";
+ mes "Oh... What a Beautiful day today.";
+ mes "This is a perfect day to make Dyestuffs";
+ next;
+ menu "-Talk",M_Talk,"-Make Dyestuffs",M_Make,"-Cancel",M_End;
+
+ M_Talk:
+ mes "[Dye Maker JavaDullihan]";
+ mes "I don't have much to say...";
+ next;
+ mes "[Dye Maker JavaDullihan]";
+ mes "But if you want to know about my past, I'm sure I have a few stories to tell.";
+ next;
+ mes "[Dye Maker JavaDullihan]";
+ mes "Would you like to here some?";
+ next;
+ menu "-Sure, why not.",sM_0a,"-Maybe some other time.",sM_0b;
+
+ sM_0a:
+ mes "[Dye Maker JavaDullihan]";
+ mes "My father had been making dyestuffs since I was young... ..";
+ mes "I can still picture him making dyestuffs all day long.";
+ next;
+ mes "[Dye Maker JavaDullihan]";
+ mes "Even during the time of my mother's passing, my father kept making dyestuffs without end.";
+ mes "This made me angry at him. How could he keep making dyestuffs at a time like that?";
+ next;
+ mes "[Dye Maker JavaDullihan]";
+ mes "I just couldn't understand what my father was thinking. I became very disappointed in him.";
+ mes "My fathers actions made me despise Dye Making, so I ran away from home. I survived by doing a variety of odd jobs.";
+ next;
+ mes "[Dye Maker JavaDullihan]";
+ mes "However, as you can see, I ended up becoming a Dye Maker just like my father.";
+ mes "It's been 15 years since I first started making these goddamn things...";
+ next;
+ mes "[Dye Maker JavaDullihan]";
+ mes "Now that I've been doing this for as long as I have... I think I can finally understand why my father fell in love with his job.";
+ next;
+ mes "[Dye Maker JavaDullihan]";
+ mes "Why he sacrificed everything he had for this job...";
+ next;
+ mes "[Dye Maker JavaDullihan]";
+ mes "Maybe it was because of how the colors got more and more beautiful each time...";
+ mes "Maybe he wanted to find his own perfect color...";
+ next;
+ mes "[Dye Maker JavaDullihan]";
+ mes "I now have his feel for the colors... because... I am working with the same passion he had when he was living.";
+ mes "I am able to feel the colors from within my soul. I know it's hard to understand, but you will see what I mean.";
+ next;
+ mes "[Dye Maker JavaDullihan]";
+ mes "Father, I make these dyes for you....";
+ close;
+
+ sM_0b:
+ mes "[Dye Maker JavaDullihan]";
+ mes "Hahahaha... I guess I can't blame ya, who wants to here about a plain old dye maker's life anyhow.... Hahahaha...";
+ close;
+
+ M_Make:
+ mes "[Dye Maker JavaDullihan]";
+ mes "Alright! I will make the exact color you want. The cost of the dyestuff will depend on its quality.";
+ mes "Don't not be itimitaded by the prices, they are all my Masterpieces.";
+ next;
+ mes "[Dye Maker JavaDullihan]";
+ mes "So what color do you want?";
+ next;
+ menu "-Scarlet Dyestuffs",sM_Scarlet, "-Lemon Dyestuffs",sM_Lemon, "-Cobaltblue Dyestuffs",sM_Cobaltblue,
+ "-Darkgreen Dyestuffs",sM_Darkgreen, "-Orange Dyestuffs",sM_Orange, "-Violet Dyestuffs",sM_Violet,
+ "-White Dyestuffs",sM_White, "-Black Dyestuffs",sM_Black;
+
+ sM_Scarlet:
+ mes "[Dye Maker JavaDullihan]";
+ mes "Hmm... To make a Scarlet Dyestuffs, I need ^0000ff30 Red Herbs, 1 Counteragent and 1 Empty Bottle^000000.";
+ mes "The cost of labor will be 3000 Zeny. Are you still interested?";
+ next;
+ menu "Make Dyestuffs",sm_Make0, "Cancel",sm_Cancel;
+
+ sm_Make0:
+ mes "[Dye Maker JavaDullihan]";
+ if((countitem(507) < 30) || (countitem(973) < 1) || (countitem(713) < 1)) goto sl_LowItems;
+ if(Zeny < 3000) goto sl_LowZeny;
+ mes "Missing text.";
+ mes "Under development";
+ delitem 507,30;
+ delitem 973,1;
+ delitem 713,1;
+ set Zeny, Zeny - 3000;
+ getitem 975,1;
+ close;
+
+ sM_Lemon:
+ mes "[Dye Maker JavaDullihan]";
+ mes "Um... to make a Lemon Dyestuffs I need ^0000ff30 Yellow Herbs, 1 Counteragent, and 1 Empty Bottle^000000.";
+ mes "The cost of labor will be 3000 Zeny. Are you still interested?";
+ next;
+ menu "Make Dyestuffs",sm_Make1,"Cancel",sm_Cancel;
+
+ sm_Make1:
+ mes "[Dye Maker JavaDullihan]";
+ if((countitem(508) < 30) || (countitem(973) < 1) || (countitem(713) < 1)) goto sl_LowItems;
+ if(Zeny < 3000) goto sl_LowZeny;
+ mes "Missing text.";
+ mes "Under development";
+ delitem 508,30;
+ delitem 973,1;
+ delitem 713,1;
+ set Zeny, Zeny - 3000;
+ getitem 976,1;
+ close;
+
+ sM_Cobaltblue:
+ mes "[Dye Maker JavaDullihan]";
+ mes "Hmm... To make a Cobaltblue Dyestuffs, I need ^0000ff20 Blue Herbs, 1 Counteragent, and 1 Empty Bottle^000000.";
+ mes "Blue Herbs are a little bit difficult to work with, so the cost of labor will be 3500 Zeny. Are you still interested?";
+ next;
+ menu "Make Dyestuffs",sm_Make2,"Cancel",sm_Cancel;
+
+ sm_Make2:
+ mes "[Dye Maker JavaDullihan]";
+ if((countitem(510) < 20) || (countitem(973) < 1) || (countitem(713) < 1)) goto sl_LowItems;
+ if(Zeny < 3500) goto sl_LowZeny;
+ mes "Missing text.";
+ mes "Under development";
+ delitem 510,20;
+ delitem 973,1;
+ delitem 713,1;
+ set Zeny, Zeny - 3500;
+ getitem 978,1;
+ close;
+
+ sM_Darkgreen:
+ mes "[Dye Maker JavaDullihan]";
+ mes "Hmm... To make a Darkgreen Dyestuffs, I need ^0000ff5 Blue Herbs, 20 Green Herbs, 20 Yellow Herbs, 1 Counteragent, 1 Mixture, and 1 Empty Bottle^000000.";
+ mes "There are a lot of ingredients so please try to remember them all. The cost of labore will be 5000 Zeny. Are you still interested?";
+ mes "Ok are you ready?";
+ next;
+ menu "Make Dyestuffs",sm_Make3,"Cancel",sm_Cancel;
+
+ sm_Make3:
+ mes "[Dye Maker JavaDullihan]";
+ if((countitem(510) < 5) || (countitem(511) < 20) || (countitem(508) < 20) || (countitem(973) < 1) || (countitem(974) < 1) || (countitem(713)<1)) goto sl_LowItems;
+ if(Zeny < 5000) goto sl_LowZeny;
+ mes "Missing text.";
+ mes "Under development";
+ delitem 510,5;
+ delitem 511,20;
+ delitem 508,20;
+ delitem 973,1;
+ delitem 974,1;
+ delitem 713,1;
+ set Zeny, Zeny - 5000;
+ getitem 979,1;
+ close;
+
+ sM_Orange:
+ mes "[Dye Maker JavaDullihan]";
+ mes "Hmm... To make a Orange Dyestuffs, I need ^0000ff20 Red Herbs, 20 Yellow Herbs, 1 Counteragent, 1 Mixture, and 1 Empty Bottle^000000.";
+ mes "The cost of labor is 5000 Zeny. Are you still interested?";
+ next;
+ menu "Make Dyestuffs",sm_Make4,"Cancel",sm_Cancel;
+
+ sm_Make4:
+ mes "[Dye Maker JavaDullihan]";
+ if((countitem(507) < 20) || (countitem(508) < 20) || (countitem(973) < 1) || (countitem(974) < 1) || (countitem(713) < 1)) goto sl_LowItems;
+ if(Zeny < 5000) goto sl_LowZeny;
+ mes "Missing text.";
+ mes "Under development";
+ delitem 507,20;
+ delitem 508,20;
+ delitem 973,1;
+ delitem 974,1;
+ delitem 713,1;
+ set Zeny, Zeny - 5000;
+ getitem 980,1;
+ close;
+
+ sM_Violet:
+ mes "[Dye Maker JavaDullihan]";
+ mes "Hmm... To make a Violet Dyestuffs, I need ^0000ff10 Blue Herbs, 30 Red Herbs, 1 Counteragent, 1 Mixture, and 1 Empty Bottle^000000.";
+ mes "The cost of labor will be 5000 Zeny. Are you still interested?";
+ next;
+ menu "Make Dyestuffs",sm_Make5,"Cancel",sm_Cancel;
+
+ sm_Make5:
+ mes "[Dye Maker JavaDullihan]";
+ if((countitem(510) < 10) || (countitem(507) < 20) || (countitem(973) < 1) || (countitem(974) < 1) || (countitem(713) < 1)) goto sl_LowItems;
+ if(Zeny < 5000) goto sl_LowZeny;
+ mes "Missing text.";
+ mes "Under development";
+ delitem 510,10;
+ delitem 507,20;
+ delitem 973,1;
+ delitem 974,1;
+ delitem 713,1;
+ set Zeny, Zeny - 5000;
+ getitem 981,1;
+ close;
+
+ sM_White:
+ mes "[Dye Maker JavaDullihan]";
+ mes "Umm... To make a White Dyestuffs, I need ^0000ff30 White Herbs, 1 Counteragent, and 1 Empty Bottle^000000.";
+ mes "The cost of labor will be 3000 Zeny. Are you still interested?";
+ next;
+ menu "Make Dyestuffs",sm_Make6,"Cancel",sm_Cancel;
+
+ sm_Make6:
+ mes "[Dye Maker JavaDullihan]";
+ if((countitem(509) < 30) || (countitem(973) < 1) || (countitem(713) < 1)) goto sl_LowItems;
+ if(Zeny < 3000) goto sl_LowZeny;
+ mes "Missing text.";
+ mes "Under development";
+ delitem 509,30;
+ delitem 973,1;
+ delitem 713,1;
+ set Zeny, Zeny - 3000;
+ getitem 982,1;
+ close;
+
+ sM_Black:
+ mes "[Dye Maker JavaDullihan]";
+ mes "Hmm... To make a Black Dyestuffs, I need ^0000ff30 Red, Yellow, and Green Herbs, 5 Blue Herbs, 1 Counteragent, 1 Mixture, and 1 Empty Bottle^000000.";
+ mes "This is the most difficult and time consuming dye to make, so I will have to charge a 7000 Zeny labor fee. Are you still interested?";
+ next;
+ menu "Make Dyestuffs",sm_Make7,"Cancel",sm_Cancel;
+
+ sm_Make7:
+ mes "[Dye Maker JavaDullihan]";
+ if((countitem(507) < 30) || (countitem(508) < 30) || (countitem(511) < 30) || (countitem(510) < 5) || (countitem(973) < 1) || (countitem(974) < 1) || (countitem(713)<1)) goto sl_LowItems;
+ if(Zeny < 7000) goto sl_LowZeny;
+ mes "Missing text.";
+ mes "Under development";
+ delitem 507,30;
+ delitem 508,30;
+ delitem 511,30;
+ delitem 510,5;
+ delitem 973,1;
+ delitem 974,1;
+ delitem 713,1;
+ set Zeny, Zeny - 7000;
+ getitem 983,1;
+ close;
+
+
+ sl_LowItems:
+ mes "Hmm... you don't have enough of the items needed for the dyestuffs. Come back when you do.";
+ close;
+
+ sl_LowZeny:
+ mes "You don't have enough zeny. I need to make a living ya know....";
+ close;
+
+ sm_Cancel:
+ mes "[Dye Maker JavaDullihan]";
+ mes "How could you have change your mind so quickly?... oh boy...";
+ close;
+ M_End:
+ close;
+}
diff --git a/npc/merchants/grandpa_pharmacist.txt b/npc/merchants/grandpa_pharmacist.txt
new file mode 100644
index 000000000..bad02c3f1
--- /dev/null
+++ b/npc/merchants/grandpa_pharmacist.txt
@@ -0,0 +1,162 @@
+//===== eAthena Script =======================================
+//= Grandpa Pharmacist
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= Trade in items for potions
+//===============================
+//= Breakdown of arguments used
+//= arg(0): first item id#
+//= arg(1): 2nd item id# if needed, or else use 0
+//= arg(2): zeny cost
+//= arg(3): potion id#
+//= arg(4): potion name
+//===== Additional Comments: =================================
+//= Fully working
+//= 1.1 Negative input bug fixed [Lupus]
+//= 1.2 Created a subfunc for the potion making part. Added more
+//= input/zeny exploit checks. Added Lupus's "loopless" technique.[kobra_k88]
+//============================================================
+
+
+alberta_in.gat,16,28,4 script Grampa Pharmacist 61,{
+ mes "[Grampa Pharmacist]";
+ mes "Hmmm... what do you want...?";
+ next;
+ menu "Make Potion",M_Make, "Talk",M_Talk, "Information",M_Info, "Cancel",M_End;
+
+ M_Make:
+ mes "[Grampa Pharmacist]";
+ mes "Did you prepare all the items needed? If so what potion do you want?";
+ M_Menu:
+ next;
+ menu "Red Potion",M_0, "Orange Potion",M_1, "Yellow Potion",M_2,
+ "White Potion",M_3, "Blue Potion",M_4, "Green Potion",M_5,
+ "Nah, I change my mind.",M_End;
+
+ M_0:
+ callsub sF_Make, 507, 0, 2, 501, "red";
+ goto M_Menu;
+ M_1:
+ callsub sF_Make, 507, 508, 5, 502, "orange";
+ goto M_Menu;
+ M_2:
+ callsub sF_Make, 508, 0, 10, 503, "yellow";
+ goto M_Menu;
+ M_3:
+ callsub sF_Make, 509, 0, 20, 504, "white";
+ goto M_Menu;
+ M_4:
+ callsub sF_Make, 510, 0, 30, 505, "blue";
+ goto M_Menu;
+ M_5:
+ callsub sF_Make, 511, 0, 3, 506, "green";
+ goto M_Menu;
+
+ M_Talk:
+ mes "[Grampa Pharmacist]";
+ mes "The right type of medicinal Herbs can replenish a person's HP or SP";
+ mes ". ~Sigh~ I'm starting to reminisce about my youth.... a sign that I";
+ mes "must be getting old.....";
+ next;
+ mes "[Grampa Pharmacist]";
+ mes "... A potion is merely an, 'easy to use', form of medicinal Herbs";
+ mes "..... nothing more and nothing less.";
+ close;
+ M_Info:
+ mes "[Grampa Pharmacist]";
+ mes "~Sigh~... you young ones can be quite bothersome.. Fine, I will";
+ mes "explain to you how potions work....";
+ next;
+ mes "[Grampa Pharmacist]";
+ mes "Though the bennefits from consuming the various Herbs found around";
+ mes "Rune-Midgard are great... by refining them into potions, the";
+ mes "effects of the Herbs are dramatically enhanced.";
+ next;
+ mes "[Grampa Pharmacist]";
+ mes "The process of refining herbs into potions is a special one that I";
+ mes "created. For a small fee I can make any potion you desire.";
+ next;
+ mes "[Grampa Pharmacist]";
+ mes "^FF5533Red Potion^000000 - 2 Red Herbs, 1 Empty Bottle, 2 Zeny fee.";
+ mes "^FF8000Orange Potion^000000 - 1 Red Herb, 1 Yellow Herb, 1 Empty Bottle, 5 Zeny fee.";
+ mes "^E8CF20Yellow Potion^000000 - 2 Yellow Herbs, 1 Empty Bottle, 10 Zeny fee.";
+ next;
+ mes "[Grampa Pharmacist]";
+ mes "^999999White Potion^000000 - 2 White Herbs, 1 Empty Bottle, 20 Zeny fee.";
+ mes "^3355FFBlue Potion^000000 - 2 Blue Herbs, 1 Empty Bottle, 30 Zeny fee.";
+ mes "^00B000Green Potion^000000 - 2 Green Herbs, 1 Empty Bottle, 3 Zeny fee.";
+ close;
+ M_End:
+ mes "[Grampa Pharmacist]";
+ mes "Didn't you have something to say?!";
+ close;
+
+// Subfunction for making potions
+//================================
+sF_Make:
+ set @herbnum, 2;
+ if(getarg(1) != 0) set @herbnum, 1;
+ if(countitem(getarg(0)) < @herbnum) goto L_NdHerbs;
+ if((countitem(getarg(1)) < @herbnum) && (getarg(1) != 0)) goto L_NdHerbs;
+ if(countitem(713) < 1) goto L_NdBottle;
+ if(Zeny < getarg(2)) goto L_NdZeny;
+
+ mes "[Grampa Pharmacist]";
+ mes "How many?";
+ next;
+ menu "As many as possible.",sM_0a, "I will set the amount.",sM_0b, "Nah, forget about it",M_End;
+
+ sM_0a:
+ set @amount, 1000;
+ if(zeny/getarg(2) < @amount) set @amount, zeny/getarg(2);
+ if(countitem(getarg(0))/@herbnum < @amount) set @amount, countitem(getarg(0))/@herbnum;
+ if((countitem(getarg(1))/@herbnum < @amount) && (countitem(getarg(1)) != 0)) set @amount, countitem(getarg(1))/@herbnum;
+ if(countitem(713) < @amount) set @amount, countitem(713);
+ if(@amount > 0) goto L_End;
+ mes "[Grampa Pharmacist]";
+ mes "Jeez... you don't even have the right items.....";
+ close;
+
+ sM_0b:
+ input @amount;
+ if(@amount<1 || @amount>1000) goto L_BadAmnt;
+ if(countitem(getarg(0))/@herbnum < @amount) goto L_NdHerbs;
+ if((countitem(getarg(1))/@herbnum < @amount) && (countitem(getarg(1)) != 0)) goto L_NdHerbs;
+ if(countitem(713) < @amount) goto L_NdBottle;
+ if(Zeny < (getarg(2)*@amount)) goto L_NdZeny;
+
+ L_End:
+ mes "[Grampa Pharmacist]";
+ mes "Here are your " +getarg(4)+ " potions.";
+ delitem getarg(0), (@amount*@herbnum);
+ if(getarg(1) != 0) delitem getarg(1), (@amount*@herbnum);
+ delitem 713, @amount;
+ set Zeny, Zeny - (getarg(2)*@amount);
+ getitem getarg(3), @amount;
+ close;
+
+ L_NdBottle:
+ mes "[Grampa Pharmacist]";
+ mes "You don't have enough empty bottles to put the medicine in you idiot!!";
+ return;
+
+ L_NdHerbs:
+ mes "[Grampa Pharmacist]";
+ mes "You rascal! What did you expect from me? You didn't even bring all of the right herbs!";
+ return;
+
+ L_NdZeny:
+ mes "[Grampa Pharmacist]";
+ mes "You don't have enough zeny for that many potions.";
+ return;
+
+ L_BadAmnt:
+ mes "[Grampa Pharmacist]";
+ mes "What?! That's not a valid amount!";
+ return;
+}
diff --git a/npc/merchants/hair_dyer.txt b/npc/merchants/hair_dyer.txt
new file mode 100644
index 000000000..61bda6f1b
--- /dev/null
+++ b/npc/merchants/hair_dyer.txt
@@ -0,0 +1,158 @@
+//===== eAthena Script =======================================
+//= Hair Dyer
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= Hair Dyer with standard palletes
+//===== Additional Comments: =================================
+//= Fully working
+//= 1.1 Bugfix: fixed missing menu label LEnd->M_End [Lupus]
+//============================================================
+
+
+
+
+// HairDyer Jovovich -----------------------------------------------------
+prt_in.gat,243,168,4 script HairDyer Jovovich 91,{
+ mes "[HairDyer Jovovich]";
+ mes "Welcome to my Hair Dying shop.";
+ next;
+ mes "[HairDyer Jovovich]";
+ mes "Oh my..... your hair does not look like it's in good condition. I think it needs some special care. Come have a seat.";
+ qMenu0:
+ next;
+ menu "-Dye Hair.",M_0, "-Price List",M_1, "-Hair Tips",M_2, "-Cancel",M_End;
+
+ M_0:
+ mes "[HairDyer Jovovich]";
+ mes "Hohoho~ That's a good choice~~ Any time is a good time to change your hair color.";
+ next;
+ mes "[HairDyer Jovovich]";
+ mes "Please choose a color that suits you";
+ next;
+ menu "-Red please.",sM_a, "-Yellow please.",sM_b, "-Violet please.",sM_c, "-Orange please.",sM_d, "-Green please.",sM_e,
+ "-Blue please.",sM_f, "-White please.",sM_g, "-Black please.",sM_h, "-Sorry, I changed my mind.",M_End;
+
+ sM_a:
+ mes "[HairDyer Jovovich]";
+ if(countitem(975) < 1) goto sL_NoDye;
+ if(Zeny < 1000) goto sL_Zeny;
+ mes "Ok. I will dye you hair red.";
+ setlook 6,8;
+ delitem 975,1;
+ set Zeny, Zeny - 1000;
+ close;
+
+ sM_b:
+ mes "[HairDyer Jovovich]";
+ if(countitem(976) < 1) goto sL_NoDye;
+ if(Zeny < 1000) goto sL_Zeny;
+ mes "Ok. I will dye you hair yellow.";
+ setlook 6,1;
+ delitem 976,1;
+ set Zeny, Zeny - 1000;
+ close;
+
+ sM_c:
+ mes "[HairDyer Jovovich]";
+ if(countitem(981) < 1) goto sL_NoDye;
+ if(Zeny < 1000) goto sL_Zeny;
+ mes "Ok. I will dye you hair Violet.";
+ setlook 6,2;
+ delitem 981,1;
+ set Zeny, Zeny - 1000;
+ close;
+
+ sM_d:
+ mes "[HairDyer Jovovich]";
+ if(countitem(980) < 1) goto sL_NoDye;
+ if(Zeny < 1000) goto sL_Zeny;
+ mes "Ok. I will dye you hair Orange.";
+ setlook 6,3;
+ delitem 980,1;
+ set Zeny, Zeny - 1000;
+ close;
+
+ sM_e:
+ mes "[HairDyer Jovovich]";
+ if(countitem(979) < 1) goto sL_NoDye;
+ if(Zeny < 1000) goto sL_Zeny;
+ mes "Ok. I will dye you hair Green.";
+ setlook 6,4;
+ delitem 979,1;
+ set Zeny, Zeny - 1000;
+ close;
+
+ sM_f:
+ mes "[HairDyer Jovovich]";
+ if(countitem(978) < 1) goto sL_NoDye;
+ if(Zeny < 1000) goto sL_Zeny;
+ mes "Ok. I will dye you hair blue.";
+ setlook 6,5;
+ delitem 978,1;
+ set Zeny, Zeny - 1000;
+ close;
+
+ sM_g:
+ mes "[HairDyer Jovovich]";
+ if(countitem(982) < 1) goto sL_NoDye;
+ if(Zeny < 1000) goto sL_Zeny;
+ mes "Ok. I will dye you hair white.";
+ setlook 6,6;
+ delitem 982,1;
+ set Zeny, Zeny - 1000;
+ close;
+
+ sM_h:
+ mes "[HairDyer Jovovich]";
+ if(countitem(983) < 1) goto sL_NoDye;
+ if(Zeny < 1000) goto sL_Zeny;
+ mes "Ok. I will dye you hair black.";
+ setlook 6,7;
+ delitem 983,1;
+ set Zeny, Zeny - 1000;
+ close;
+
+ sL_NoDye:
+ mes "For me to dye your hair, I'll need the appropriate Dyestuff. Please check my price list for the information.";
+ close;
+
+ sL_Zeny:
+ mes "I'm sorry but you don't have enough money.";
+ close;
+
+ M_1:
+ mes "[HairDyer Jovovich]";
+ mes "Here is the list of colors you can choose from and their prices:";
+ mes " - Red: 1000 zeny, 1 Scarlet Dyestuff";
+ mes " - Yellow: 1000 zeny, 1 Lemon Dyestuff";
+ mes " - Violet: 1000 zeny, 1 Violet Dyestuff";
+ mes " - Orange: 1000 zeny, 1 Orange Dyestuff";
+ mes " - Green: 1000 zeny, 1 DarkGreen Dyestuff";
+ mes " - Blue: 1000 zeny, 1 CobaltBlue Dyestuff";
+ mes " - White: 1000 zeny, 1 White Dyestuff";
+ mes " - Black: 1000 zeny, 1 Black Dyestuff";
+ goto qMenu0;
+
+ M_2:
+ mes "[HairDyer Jovovich]";
+ mes "When your just feeling gloomy, of if you just got dumped... if you want to look hot, or when you just need to look better.....";
+ next;
+ mes "[HairDyer Jovovich]";
+ mes "Change the color of your hair and your bound to regain your confidence and add an extra bounce to your step!!";
+ next;
+ mes "[HairDyer Jovovich]";
+ mes "For the small price of 1000 zeny and a Dyestuff, I can give you the haircolor you've been dreaming of!";
+ next;
+ goto qMenu0;
+
+ M_End:
+ mes "[HairDyer Jovovich]";
+ mes "I think... every human being has the right to become beautiful......";
+ close;
+}
+
diff --git a/npc/merchants/hair_style.txt b/npc/merchants/hair_style.txt
new file mode 100644
index 000000000..d5b85af9c
--- /dev/null
+++ b/npc/merchants/hair_style.txt
@@ -0,0 +1,2015 @@
+//===== Athena Script ========================================
+//= Hair Dresser
+//===== By: ==================================================
+//= [Muad_Dib] 1.0 (The Prometheus Project)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 6+
+//===== Description: =========================================
+//= Allows you to change your hairstyle.
+//===== Additional Comments: =================================
+//= 07/06/05 : Added 1st Version. [Muad_Dib]
+//= Converted to eAthena format by Dr.Evil
+//= Change NPC coords according to
+//= http://www.nattsumi.com/roquest/miscellaneousquest.html
+//= Fixed typos [Nexon]
+//= TODO: Fix exploits V_V [Lupus]
+//============================================================
+
+alberta.gat,137,37,6 script Stylist 91,{
+ mes "[Veronica]";
+ mes "Welcome~~Welcome~~";
+ mes "Welcome to the one of the best Hair shop, Veronicas Beauty Saloon!!";
+ mes "HoHoHo";
+ mes "Come here for new hair, right?";
+ mes "How may I help you?";
+ next;
+ menu "Look through the Hair Styles.",Look,"Change Hair Style",Change,"Stop talking.",Cancel;
+Look:
+ set @hair,0;
+ mes "[Veronica]";
+ mes "There are 19 Hair Styles, 1~19!!!";
+ mes "Which number do you want to look at first?";
+ mes "If you want to stop looking, please choose 0.";
+ next;
+ if(sex==0) goto LookF;
+ input @hair_in;
+ if (@hair_in > 19) goto hairtohigh;
+ set @hair,@hair_in;
+ goto ShowPicM;
+ close;
+LookF:
+ set @hairf,0;
+ input @hairf_in;
+ if (@hairf_in > 19) goto hairtohigh;
+ set @hairf,@hairf_in;
+ goto ShowPicF;
+ close;
+ShowPicM:
+ if (@hair == 0) goto hairnothing;
+ if (@hair == 1) goto mhair1show;
+ if (@hair == 2) goto mhair2show;
+ if (@hair == 3) goto mhair3show;
+ if (@hair == 4) goto mhair4show;
+ if (@hair == 5) goto mhair5show;
+ if (@hair == 6) goto mhair6show;
+ if (@hair == 7) goto mhair7show;
+ if (@hair == 8) goto mhair8show;
+ if (@hair == 9) goto mhair9show;
+ if (@hair == 10) goto mhair10show;
+ if (@hair == 11) goto mhair11show;
+ if (@hair == 12) goto mhair12show;
+ if (@hair == 13) goto mhair13show;
+ if (@hair == 14) goto mhair14show;
+ if (@hair == 15) goto mhair15show;
+ if (@hair == 16) goto mhair16show;
+ if (@hair == 17) goto mhair17show;
+ if (@hair == 18) goto mhair18show;
+ if (@hair == 19) goto mhair19show;
+
+mhair1show:
+ cutin "hair_m_01",4;
+ mes "[Veronica]";
+ mes "Oh~ 'Trickdead' style!";
+ mes "It is very neat feature and comfortable.";
+ mes "How do you think? Do you like it?";
+ close;
+mhair2show:
+ cutin "hair_m_02",4;
+ mes "[Veronica]";
+ mes "Oh~'Two-Handed Sword Mastery' style!";
+ mes "It's style is very similar to one of the famous Swordsman.";
+ mes "How do you think? Do you like it?";
+ close;
+mhair3show:
+ cutin "hair_m_03",4;
+ mes "[Veronica]";
+ mes "Oh~'Napalm Beat' style!";
+ mes "It makes feeling there is unknown power...";
+ mes "How do you think? Do you like it?";
+ close;
+mhair4show:
+ cutin "hair_m_04",4;
+ mes "[Veronica]";
+ mes "Oh~'Double Strafe' style!";
+ mes "It will make your mind is very clear.";
+ mes "How do you think? Do you like it?";
+ close;
+mhair5show:
+ cutin "hair_m_05",4;
+ mes "[Veronica]";
+ mes "Oh~'Angelus' style!";
+ mes "It feels calm your reference.";
+ mes "How do you think? Do you like it?";
+ close;
+mhair6show:
+ cutin "hair_m_06",4;
+ mes "[Veronica]";
+ mes "Oh~'Pushcart' style!";
+ mes "This is the style based on motive of string cart..";
+ mes "How do you think? Do you like it?";
+ close;
+mhair7show:
+ cutin "hair_m_07",4;
+ mes "[Veronica]";
+ mes "Oh~'Envenom' style!";
+ mes "It makes feel addicting into something..";
+ mes "How do you think? Do you like it?";
+ close;
+mhair8show:
+ cutin "hair_m_08",4;
+ mes "[Veronica]";
+ mes "Oh~'Bowling Bash' style!";
+ mes "Once people sees it, they will fall for it.";
+ mes "How do you think? Do you like it?";
+ close;
+mhair9show:
+ cutin "hair_m_09",4;
+ mes "[Veronica]";
+ mes "Oh~'Venom Dust' style!";
+ mes "It is the style gives feeling deadly charm.";
+ mes "How do you think? Do you like it?";
+ close;
+mhair10show:
+ cutin "hair_m_10",4;
+ mes "[Veronica]";
+ mes "Oh~'Turn Undead' style!";
+ mes "It gives feeling one attack can make Devils disappear!";
+ mes "How do you think? Do you like it?";
+ close;
+mhair11show:
+ cutin "hair_m_11",4;
+ mes "[Veronica]";
+ mes "Oh~'Dragnology' style!";
+ mes "This is the style bases on motive of mysterious Dragon...";
+ mes "How do you think? Do you like it?";
+ close;
+mhair12show:
+ cutin "hair_m_12",4;
+ mes "[Veronica]";
+ mes "Oh~'Mace Mastery' style!";
+ mes "It looks very hard and attractive.";
+ mes "How do you think? Do you like it?";
+ close;
+mhair13show:
+ cutin "hair_m_13",4;
+ mes "[Veronica]";
+ mes "Oh~'Thunderstorm' style!";
+ mes "It feels hit by Thunderstorm!!";
+ mes "How do you think? Do you like it?";
+ close;
+mhair14show:
+ cutin "hair_m_14",4;
+ mes "[Veronica]";
+ mes "Oh~'Encore' style!";
+ mes "It is the style make people feels like asking you to sing~";
+ mes "How do you think? Do you like it?";
+ close;
+mhair15show:
+ cutin "hair_m_15",4;
+ mes "[Veronica]";
+ mes "Oh~'Grommtooht' style!";
+ mes "It feels like you will be picked by hair!";
+ mes "How do you think? Do you like it?";
+ close;
+mhair16show:
+ cutin "hair_m_16",4;
+ mes "[Veronica]";
+ mes "Oh~'Blitz Beat' style!";
+ mes "It feels it will attack 5 times...?";
+ mes "How do you think? Do you like it?";
+ close;
+mhair17show:
+ cutin "hair_m_17",4;
+ mes "[Veronica]";
+ mes "Oh~'Ore Discovery' style!";
+ mes "It feels like picking up things while walking.";
+ mes "How do you think? Do you like it?";
+ close;
+mhair18show:
+ cutin "hair_m_18",4;
+ mes "[Veronica]";
+ mes "Oh~'Fire Pillar' style!";
+ mes "It has been a great style over the one generation...!";
+ mes "How do you think? Do you like it?";
+ close;
+mhair19show:
+ cutin "hair_m_19",4;
+ mes "[Veronica]";
+ mes "Oh~'Guillotine Fist' style!";
+ mes "It feels like betting all at once!!";
+ mes "How do you think? Do you like it?";
+ close;
+ShowPicF:
+ if (@hairf == 0) goto hairnothing;
+ if (@hairf == 1) goto fhair1show;
+ if (@hairf == 2) goto fhair2show;
+ if (@hairf == 3) goto fhair3show;
+ if (@hairf == 4) goto fhair4show;
+ if (@hairf == 5) goto fhair5show;
+ if (@hairf == 6) goto fhair6show;
+ if (@hairf == 7) goto fhair7show;
+ if (@hairf == 8) goto fhair8show;
+ if (@hairf == 9) goto fhair9show;
+ if (@hairf == 10) goto fhair10show;
+ if (@hairf == 11) goto fhair11show;
+ if (@hairf == 12) goto fhair12show;
+ if (@hairf == 13) goto fhair13show;
+ if (@hairf == 14) goto fhair14show;
+ if (@hairf == 15) goto fhair15show;
+ if (@hairf == 16) goto fhair16show;
+ if (@hairf == 17) goto fhair17show;
+ if (@hairf == 18) goto fhair18show;
+ if (@hairf == 19) goto fhair19show;
+fhair1show:
+ cutin "hair_f_01",4;
+ mes "[Veronica]";
+ mes "Oh~ 'Trickdead' style!";
+ mes "It is the style people wants to stroke your hair.";
+ mes "How do you think? Do you like it?";
+ close;
+fhair2show:
+ cutin "hair_f_02",4;
+ mes "[Veronica]";
+ mes "Oh~'Bash' style!";
+ mes "It feels unrevealed strong power is hidden inside of....";
+ mes "How do you think? Do you like it?";
+ close;
+fhair3show:
+ cutin "hair_f_03",4;
+ mes "[Veronica]";
+ mes "Oh~'Frost Diver' style!";
+ mes "It feels cold, but also warm....";
+ mes "How do you think? Do you like it?";
+ close;
+fhair4show:
+ cutin "hair_f_04",4;
+ mes "[Veronica]";
+ mes "Oh~'Arrow Shower' style!";
+ mes "It feels very refreshed~";
+ mes "How do you think? Do you like it?";
+ close;
+fhair5show:
+ cutin "hair_f_05",4;
+ mes "[Veronica]";
+ mes "Oh~'Heal' style!";
+ mes "It feels mind in cured.";
+ mes "How do you think? Do you like it?";
+ close;
+fhair6show:
+ cutin "hair_f_06",4;
+ mes "[Veronica]";
+ mes "Oh~'Vending' style!";
+ mes "It seems like making lots of money.";
+ mes "How do you think? Do you like it?";
+ close;
+fhair7show:
+ cutin "hair_f_07",4;
+ mes "[Veronica]";
+ mes "Oh~'Double Strafe' style!";
+ mes "It makes whomever dash twice.";
+ mes "How do you think? Do you like it?";
+ close;
+fhair8show:
+ cutin "hair_f_08",4;
+ mes "[Veronica]";
+ mes "Oh~'Gloria' style!";
+ mes "Its nobleness and holiness moods are great.";
+ mes "How do you think? Do you like it?";
+ close;
+fhair9show:
+ cutin "hair_f_09",4;
+ mes "[Veronica]";
+ mes "Oh~'Increase Sp Recovery' style!";
+ mes "It makes fell like recovering spirit fully.";
+ mes "How do you think? Do you like it?";
+ close;
+fhair10show:
+ cutin "hair_f_10",4;
+ mes "[Veronica]";
+ mes "Oh~'Prepare Potion' style!";
+ mes "It feels a wound is healed already.";
+ mes "How do you think? Do you like it?";
+ close;
+fhair11show:
+ cutin "hair_f_11",4;
+ mes "[Veronica]";
+ mes "Oh~'Grand Cross' style!";
+ mes "It feels like a firm faith.";
+ mes "How do you think? Do you like it?";
+ close;
+fhair12show:
+ cutin "hair_f_12",4;
+ mes "[Veronica]";
+ mes "Oh~'Intimidate' style!";
+ mes "It seems you saw this style somewhere...?";
+ mes "How do you think? Do you like it?";
+ close;
+fhair13show:
+ cutin "hair_f_13",4;
+ mes "[Veronica]";
+ mes "Oh~'Spiritual Sphere Absorption' style!";
+ mes "Its catch people's spirits.";
+ mes "How do you think? Do you like it?";
+ close;
+fhair14show:
+ cutin "hair_f_14",4;
+ mes "[Veronica]";
+ mes "Oh~'Gypsy's Kiss' style!";
+ mes "It makes people think you are very kind to all...";
+ mes "How do you think? Do you like it?";
+ close;
+fhair15show:
+ cutin "hair_f_15",4;
+ mes "[Veronica]";
+ mes "Oh~'Counter Attack' style!";
+ mes "It feels it will kick when someone is near.";
+ mes "How do you think? Do you like it?";
+ close;
+fhair16show:
+ cutin "hair_f_16",4;
+ mes "[Veronica]";
+ mes "Oh~'Ankle Snare' style!";
+ mes "This is the style hardly moved";
+ mes "How do you think? Do you like it?";
+ close;
+fhair17show:
+ cutin "hair_f_17",4;
+ mes "[Veronica]";
+ mes "Oh~'Hammer Fall' style!";
+ mes "It will make feeling dizzy.";
+ mes "How do you think? Do you like it?";
+ close;
+fhair18show:
+ cutin "hair_f_18",4;
+ mes "[Veronica]";
+ mes "Oh~'Jupiter Thunder' style!";
+ mes "It feels very neat.";
+ mes "How do you think? Do you like it?";
+ close;
+fhair19show:
+ cutin "hair_f_19",4;
+ mes "[Veronica]";
+ mes "Oh~'Whirlwind' style!";
+ mes "It feels very refreshed like wind.";
+ mes "How do you think? Do you like it?";
+ close;
+hairnothing:
+ mes "[Veronica]";
+ mes "Did you find a style you like?";
+ mes "If you want to change your hair style at anytime, I will do my best!!";
+ close;
+hairtohigh:
+ mes "[Veronica]";
+ mes "Sorry, there aren't any Hairstyles with that number.";
+ mes "Please choose a number from 1 to 19.";
+ close;
+Change:
+ if ((countitem(973) < 3) || (countitem(974) < 3) || (countitem(901) <100) || (countitem(1094) <100) || (countitem(1020) <100) || (countitem(1060) <100) || (countitem(7152) <100) ||(Zeny < 99800)) goto NOItem;
+
+ set @hairch,0;
+ mes "[Veronica]";
+ mes "Well, then... Please choose Hair Style you like most.";
+ mes "I will do my best";
+ mes "There are 19 different Hair Styles.";
+ mes "Numbers from 1 to 19~";
+ next;
+ if(sex==0) goto iffemale;
+ input @hairchange_in;
+ if (@hairchange_in > 19) goto tohighchange;
+ set @hairch,@hairchange_in;
+ if (@hairch == 1) goto mhair1;
+ if (@hairch == 2) goto mhair2;
+ if (@hairch == 3) goto mhair3;
+ if (@hairch == 4) goto mhair4;
+ if (@hairch == 5) goto mhair5;
+ if (@hairch == 6) goto mhair6;
+ if (@hairch == 7) goto mhair7;
+ if (@hairch == 8) goto mhair8;
+ if (@hairch == 9) goto mhair9;
+ if (@hairch == 10) goto mhair10;
+ if (@hairch == 11) goto mhair11;
+ if (@hairch == 12) goto mhair12;
+ if (@hairch == 13) goto mhair13;
+ if (@hairch == 14) goto mhair14;
+ if (@hairch == 15) goto mhair15;
+ if (@hairch == 16) goto mhair16;
+ if (@hairch == 17) goto mhair17;
+ if (@hairch == 18) goto mhair18;
+ if (@hairch == 19) goto mhair19;
+mhair1:
+ cutin "hair_m_01",4;
+ mes "[Veronica]";
+ mes "This is the (1) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",M_NO1;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,1;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (1) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+M_NO1:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+mhair2:
+ cutin "hair_m_02",4;
+ mes "[Veronica]";
+ mes "This is the (2) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yaeh~ I'd love to.",-,"No..I don't like it..",M_NO2;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,2;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (2) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vitis me anytime~ HoHoHo";
+ close;
+M_NO2:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+mhair3:
+ cutin "hair_m_03",4;
+ mes "[Veronica]";
+ mes "This is the (3) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",M_NO3;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,3;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (3) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+M_NO3:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+mhair4:
+ cutin "hair_m_04",4;
+ mes "[Veronica]";
+ mes "This is the (4) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",M_NO4;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,4;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (4) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+M_NO4:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+mhair5:
+ cutin "hair_m_05",4;
+ mes "[Veronica]";
+ mes "This is the (5) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",M_NO5;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,5;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (5) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+M_NO5:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+mhair6:
+ cutin "hair_m_06",4;
+ mes "[Veronica]";
+ mes "This is the (6) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",M_NO6;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,6;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (6) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+M_NO6:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+mhair7:
+ cutin "hair_m_07",4;
+ mes "[Veronica]";
+ mes "This is the (7) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",M_NO7;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,7;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (7) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+M_NO7:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+mhair8:
+ cutin "hair_m_08",4;
+ mes "[Veronica]";
+ mes "This is the (8) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",M_NO8;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,8;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (8) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+M_NO8:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+mhair9:
+ cutin "hair_m_09",4;
+ mes "[Veronica]";
+ mes "This is the (9) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",M_NO9;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,9;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (9) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+M_NO9:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+mhair10:
+ cutin "hair_m_10",4;
+ mes "[Veronica]";
+ mes "This is the (10) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",M_NO10;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,10;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (10) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+M_NO10:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+mhair11:
+ cutin "hair_m_11",4;
+ mes "[Veronica]";
+ mes "This is the (11) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",M_NO11;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,11;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (11) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+M_NO11:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+mhair12:
+ cutin "hair_m_12",4;
+ mes "[Veronica]";
+ mes "This is the (12) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",M_NO12;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,12;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (12) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+M_NO12:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+mhair13:
+ cutin "hair_m_13",4;
+ mes "[Veronica]";
+ mes "This is the (13) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",M_NO13;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,13;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (13) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+M_NO13:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+mhair14:
+ cutin "hair_m_14",4;
+ mes "[Veronica]";
+ mes "This is the (14) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",M_NO14;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,14;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (14) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+M_NO14:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+mhair15:
+ cutin "hair_m_15",4;
+ mes "[Veronica]";
+ mes "This is the (15) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",M_NO15;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,15;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (15) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+M_NO15:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+mhair16:
+ cutin "hair_m_16",4;
+ mes "[Veronica]";
+ mes "This is the (16) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",M_NO16;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,16;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (16) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+M_NO16:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+mhair17:
+ cutin "hair_m_17",4;
+ mes "[Veronica]";
+ mes "This is the (17) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",M_NO12;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,17;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (17) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+M_NO17:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+mhair18:
+ cutin "hair_m_18",4;
+ mes "[Veronica]";
+ mes "This is the (18) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",M_NO12;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,18;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (18) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+M_NO18:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+mhair19:
+ cutin "hair_m_19",4;
+ mes "[Veronica]";
+ mes "This is the (19) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",M_NO19;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,19;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (19) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+M_NO19:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+iffemale:
+ input @hairchange_in;
+ if (@hairchange_in > 19) goto tohighchange;
+ set @hairch,@hairchange_in;
+ if (@hairch == 1) goto fhair1;
+ if (@hairch == 2) goto fhair2;
+ if (@hairch == 3) goto fhair3;
+ if (@hairch == 4) goto fhair4;
+ if (@hairch == 5) goto fhair5;
+ if (@hairch == 6) goto fhair6;
+ if (@hairch == 7) goto fhair7;
+ if (@hairch == 8) goto fhair8;
+ if (@hairch == 9) goto fhair9;
+ if (@hairch == 10) goto fhair10;
+ if (@hairch == 11) goto fhair11;
+ if (@hairch == 12) goto fhair12;
+ if (@hairch == 13) goto fhair13;
+ if (@hairch == 14) goto fhair14;
+ if (@hairch == 15) goto fhair15;
+ if (@hairch == 16) goto fhair16;
+ if (@hairch == 17) goto fhair17;
+ if (@hairch == 18) goto fhair18;
+ if (@hairch == 19) goto fhair19;
+
+fhair1:
+ cutin "hair_f_01",4;
+ mes "[Veronica]";
+ mes "This is the (1) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yaeh~ I'd love to.",-,"No..I don't like it..",F_NO1;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,1;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (1) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+F_NO1:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+fhair2:
+ cutin "hair_f_02",4;
+ mes "[Veronica]";
+ mes "This is the (2) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",F_NO2;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,2;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (2) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+F_NO2:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+fhair3:
+ cutin "hair_f_03",4;
+ mes "[Veronica]";
+ mes "This is the (3) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",F_NO3;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,3;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (3) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+F_NO3:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+fhair4:
+ cutin "hair_f_04",4;
+ mes "[Veronica]";
+ mes "This is the (4) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",F_NO4;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,4;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (4) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+F_NO4:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+fhair5:
+ cutin "hair_f_05",4;
+ mes "[Veronica]";
+ mes "This is the (5) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",F_NO5;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,5;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (5) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+F_NO5:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+fhair6:
+ cutin "hair_f_06",4;
+ mes "[Veronica]";
+ mes "This is the (6) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",F_NO6;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,6;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (6) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+F_NO6:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+fhair7:
+ cutin "hair_f_07",4;
+ mes "[Veronica]";
+ mes "This is the (7) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",F_NO7;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,7;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (7) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+F_NO7:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+fhair8:
+ cutin "hair_f_08",4;
+ mes "[Veronica]";
+ mes "This is the (8) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",F_NO8;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,8;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (8) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+F_NO8:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+fhair9:
+ cutin "hair_f_09",4;
+ mes "[Veronica]";
+ mes "This is the (9) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",F_NO9;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,9;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (9) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+F_NO9:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+fhair10:
+ cutin "hair_f_10",4;
+ mes "[Veronica]";
+ mes "This is the (10) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",F_NO10;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,10;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (10) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+F_NO10:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+fhair11:
+ cutin "hair_f_11",4;
+ mes "[Veronica]";
+ mes "This is the (11) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",F_NO11;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,11;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (11) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+F_NO11:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+fhair12:
+ cutin "hair_f_12",4;
+ mes "[Veronica]";
+ mes "This is the (12) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",F_NO12;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,12;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (12) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+F_NO12:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+fhair13:
+ cutin "hair_f_13",4;
+ mes "[Veronica]";
+ mes "This is the (13) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",F_NO13;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,13;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (13) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+F_NO13:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+fhair14:
+ cutin "hair_f_14",4;
+ mes "[Veronica]";
+ mes "This is the (14) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",F_NO14;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,14;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (14) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+F_NO14:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+fhair15:
+ cutin "hair_f_15",4;
+ mes "[Veronica]";
+ mes "This is the (15) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",F_NO15;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,15;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (15) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+F_NO15:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+fhair16:
+ cutin "hair_f_16",4;
+ mes "[Veronica]";
+ mes "This is the (16) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",F_NO16;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,16;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (16) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+F_NO16:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+fhair17:
+ cutin "hair_f_17",4;
+ mes "[Veronica]";
+ mes "This is the (17) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",F_NO17;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,17;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (17) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+F_NO17:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+fhair18:
+ cutin "hair_f_18",4;
+ mes "[Veronica]";
+ mes "This is the (18) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",F_NO18;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,18;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (18) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+F_NO18:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+fhair19:
+ cutin "hair_f_19",4;
+ mes "[Veronica]";
+ mes "This is the (19) style.";
+ mes "I will change your Hair with this Again.";
+ mes "Is that OK for you??";
+ next;
+ menu "Yeah~ I'd love to.",-,"No..I don't like it..",F_NO19;
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Now it begins~. Hold still~";
+ mes "If you move, you will have very bad style.";
+ mes "Just trust me on this!!";
+ next;
+ mes "[Veronica]";
+ mes "- Clip clip Clip clip -";
+ mes "- Klit klit Klit klit -";
+ mes "- Snap snap Snap snap -";
+ next;
+ setlook 1,19;
+ delitem 973,3;
+ delitem 974,3;
+ delitem 901,100;
+ delitem 1094,100;
+ delitem 1020,100;
+ delitem 1060,100;
+ delitem 7152,100;
+ set Zeny,Zeny-99800;
+ mes "[Veronica]";
+ mes "Wow~ it came out very well~~";
+ mes "I hope you like this (19) style.";
+ mes "If you'd like to have another hair style,";
+ mes "you are welcome welcome to vi tis me anytime~ HoHoHo";
+ close;
+F_NO19:
+ cutin "",255;
+ mes "[Veronica]";
+ mes "Well~ choose again please~";
+ mes "There should be a style you like.";
+ mes "Just remember the number you like the most and tell me.";
+ close;
+tohighchange:
+ mes "[Veronica]";
+ mes "There are no such numbers like that!";
+ mes "Please check your number~";
+ close;
+NOItem:
+ mes "[Veronica]";
+ mes "If you want to change your hairstyle, you need several items.";
+ mes "Since, you need many items....";
+ mes "I think you should write those down.";
+ next;
+ mes "[Veronica]";
+ mes "3 Counteragents,";
+ mes "3 Mixtures,";
+ mes "100 Daenggies,";
+ mes "100 Short Daenggies,";
+ mes "100 Black Hairs,";
+ mes "100 Golden Hairs,";
+ mes "100 Glossy Hair.";
+ next;
+ mes "[Veronica]";
+ mes "And also you need 99,800zeny.";
+ mes "If you gather them all...";
+ mes "I will show you what I can do~!!";
+ mes "HoHoHo.";
+ close;
+Cancel:
+ mes "[Veronica]";
+ mes "Everyone has rights to become beautiful...";
+ mes "I wish you can find your hair style which fits on you well~";
+ mes "I really do~";
+ close;
+} \ No newline at end of file
diff --git a/npc/merchants/icecream.txt b/npc/merchants/icecream.txt
new file mode 100644
index 000000000..27c94d74b
--- /dev/null
+++ b/npc/merchants/icecream.txt
@@ -0,0 +1,61 @@
+//===== eAthena Script =======================================
+//= Ice Cream Maker
+//===== By: ==================================================
+//= KOOK SWU
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 1.0
+//===== Description: =========================================
+//= A man makes you ice-cream
+//===== Additional Comments: =================================
+//= 1.1 Optimized, changed overlapping coords in Alberta [Lupus]
+//= 1.2 According to the patch, IceCream seller has been removed from Morocc [Lupus]
+//============================================================
+
+//ALBERTA
+alberta.gat,120,45,2 script Ice Cream Maker::IceCreamer 85,{
+ mes "[Ice Cream Maker]";
+ mes "Fresh Ice Cream made with snow from Lutie!";
+ mes "Enjoy it now, it won't be on sale for long!";
+ mes "^0000FF100 Zeny^000000 Ice Cream,";
+ mes "Ice Cream!";
+ next;
+ menu "Gimme Ice Cream!",-,"Cancel Trade",L_End;
+
+ mes "[Ice Cream Maker]";
+ mes "Fresh Ice Cream made with snow from Lutie!";
+ mes "Everyone wants our delicious ice cream, but we have limited amount,";
+ mes "so you can only purchase 5 at a time!!";
+ next;
+ input @input;
+ mes "[Ice Cream Maker]";
+ if(@input<1) goto L_inpC;
+ if(@input>5) goto L_inpM;
+ if(Zeny< @input*100) goto L_NoZ;
+ getitem 536,@input;
+ set Zeny,Zeny-100*@input;
+ mes "Here you go " +@input+ " Ice Cream for you.";
+ close;
+
+ L_inpC:
+ mes "Deal is canceled.";
+ close;
+ L_inpM:
+ mes "Sorry, but you can only buy 5 at a time.";
+ close;
+ L_NoZ:
+ mes "Sorry, but you need more money.";
+ close;
+ L_End:
+ mes "[Ice Cream Maker]";
+ mes "Are you sure you don't want any?";
+ mes "I won't be selling it for long, and once I run out, there won't be anymore!!!";
+ close;
+}
+
+//MORROC FIELD
+moc_fild16.gat,88,304,4 duplicate(IceCreamer) Ice Cream Maker#2 85
+
+//MORROC
+//morocc.gat,160,144,4 duplicate(IceCreamer) Ice Cream Maker#3 85
diff --git a/npc/merchants/inn.txt b/npc/merchants/inn.txt
new file mode 100644
index 000000000..dfc0e7c3c
--- /dev/null
+++ b/npc/merchants/inn.txt
@@ -0,0 +1,172 @@
+//===== eAthena Script =======================================
+//= Inn Npcs
+//===== By: ==================================================
+//= Darkchild (1.1)
+//===== Current Version: =====================================
+//= 1.1a
+//===== Compatible With: =====================================
+//= eAthena 1.0+
+//===== Description: =========================================
+//= Inn Npcs, Save and Heal
+//=====================================================
+//= variables:
+//= arg0 - name of npc
+//= arg1 - name of the inn
+//= arg2 - map to save at
+//= arg3, arg4 - x and y cord. to save at
+//= @cost - cost of renting a room
+//===== Additional Comments: =================================
+//= 1.1 Blind Effect By Kobra_k88 (Taken from his old script)
+//= I added it to all of them though [Darkchild]
+//= 1.1a Minor bug fixes and optimizations. Switched from @variables
+//= to arguments.[kobra_k88]
+//============================================================
+
+
+//======================== Prontera ===================================
+// West Side Inn -------------------
+prt_in.gat,244,135,2 script Inn Maid::Sammy 53,{
+
+ callfunc "F_InnMaid","[Sammy]","West Inn","prt_in.gat",238,130;
+ addtimer 3900, "Sammy::OnTimerWarp";
+ close;
+
+OnTimerWarp:
+ warp "prt_in.gat",237,102;
+ sc_end SC_BLIND;
+ end;
+}
+// East Side Inn ------------------
+prt_in.gat,61,141,2 script Inn Maid::Ahlma 53,{
+
+ callfunc "F_InnMaid","[Ahlma]","East Inn","prt_in.gat",64,136;
+ addtimer 3900, "Ahlma::OnTimerWarp";
+ close;
+
+OnTimerWarp:
+ warp "prt_in.gat",49,173;
+ sc_end SC_BLIND;
+ end;
+}
+
+//======================== Alberta ====================================
+// North --------------------------
+alberta_in.gat,32,142,5 script Inn Maid::Moira 53,{
+
+ callfunc "F_InnMaid","[Moira]","North Inn","alberta_in.gat",26,138;
+ addtimer 3900, "Moira::OnTimerWarp";
+ close;
+
+OnTimerWarp:
+ warp "alberta_in.gat",18,188;
+ sc_end SC_BLIND;
+ end;
+}
+// South -----------------------------
+alberta_in.gat,55,142,8 script Inn Maid::Tina 53,{
+
+ callfunc "F_InnMaid","[Tina]","South Inn","alberta_in.gat",60,140;
+ addtimer 3900, "Tina::OnTimerWarp";
+ close;
+
+OnTimerWarp:
+ warp "alberta_in.gat",68,188;
+ sc_end SC_BLIND;
+ end;
+}
+
+//====================== Geffen ======================================
+geffen_in.gat,70,64,5 script Inn Maid::Betty 53,{
+
+ callfunc "F_InnMaid","[Betty]","Inn","geffen_in.gat",74,60;
+ addtimer 3900, "Betty::OnTimerWarp";
+ close;
+
+OnTimerWarp:
+ warp "geffen_in.gat",106,106;
+ sc_end SC_BLIND;
+ end;
+}
+
+//======================= Payon ======================================
+payon_in01.gat,131,62,5 script Inn Maid::SunHee 53,{
+
+ callfunc "F_InnMaid","[Sun Hee]","Inn","payon_in01.gat",132,56;
+ addtimer 3900, "SunHee::OnTimerWarp";
+ close;
+
+OnTimerWarp:
+ warp "payon_in01.gat",140,15;
+ sc_end SC_BLIND;
+ close;
+}
+
+//======================== Morocc ====================================
+// North East --------------------------
+morocc_in.gat,147,138,5 script Inn Maid::Suzie 53,{
+
+ callfunc "F_InnMaid","[Suzie]","North East Inn","morocc_in.gat",142,140;
+ addtimer 3900, "Suzie::OnTimerWarp";
+ close;
+
+OnTimerWarp:
+ warp "morocc_in.gat",174,144;
+ sc_end SC_BLIND;
+ end;
+}
+// South --------------------------------
+morocc_in.gat,80,100,5 script Inn Maid::Shala 53,{
+
+ callfunc "F_InnMaid","[Shala]","South Inn","morocc_in.gat",78,95;
+ addtimer 3900, "Shala::OnTimerWarp";
+ close;
+
+OnTimerWarp:
+ warp "morocc_in.gat",74,128;
+ sc_end SC_BLIND;
+ end;
+}
+
+//======================= Inn Function ==============================
+function script F_InnMaid {
+ mes getarg(0);
+ mes "Welcome to Nenkaras " + getarg(1) + ". What can I do for you?";
+ next;
+ menu "Save",Msave, "Rent a Room",Mrent, "Nothing",Mend;
+
+ Msave:
+ mes getarg(0);
+ mes "Location Saved.";
+ mes "I am waiting for another job to do.";
+ savepoint getarg(2),getarg(3),getarg(4);
+ close;
+ Mrent:
+ set @cost,50;
+ if(BaseLevel > 15) set @cost,100;
+ if(BaseLevel > 30) set @cost,200;
+ if(BaseLevel > 50) set @cost,300;
+ if(BaseLevel > 75) set @cost,400;
+ mes getarg(0);
+ mes "It will cost " + @cost + " zeny to rent a room for 1 night.";
+ mes "In the morning your HP and SP will be fully recovered.";
+ next;
+ menu "Ok.",-,"No thanks.",Mend;
+
+ mes getarg(0);
+ mes "Thank you and enjoy your stay here.";
+ emotion 15;
+ if(Zeny < @cost) goto NoZeny;
+ set Zeny,Zeny - @cost;
+ sc_start SC_BLIND,500000,1;
+ percentheal 100,100;
+ return;
+
+ NoZeny:
+ mes getarg(0);
+ mes "I'm sorry but you don't have enough money.";
+ close;
+ Mend:
+ mes getarg(0);
+ mes "I am waiting for a job to do.";
+ close;
+}
diff --git a/npc/merchants/milk_trader.txt b/npc/merchants/milk_trader.txt
new file mode 100644
index 000000000..f81c6f90f
--- /dev/null
+++ b/npc/merchants/milk_trader.txt
@@ -0,0 +1,61 @@
+//===== eAthena Script =======================================
+//= Milk Trader
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.2a
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= trades bottles for milk
+//===== Additional Comments: =================================
+//= Fully working
+//= 1.1 Negative input bug fixed [Lupus]
+//= 1.2 Raised the price to close zeny exploit [Lupus]
+//= 1.2a Switched to Lupus's "loopless" technique.[kobra_k88]
+//============================================================
+
+
+// Milk Trader -------------------------------------------------------------
+prontera.gat,71,131,7 script Milk Trader 86,{
+ mes "[Milk Trader]";
+ mes "If you bring me an empty bottle and 20 Zeny, I will exchange it for 1 bottle of milk.";
+ next;
+ menu "-Exchange as many as possible.",M_0, "-Let me set the amount.",M_1, "-Cancel",M_End;
+
+ M_0:
+ set @amount, 1000;
+ if(zeny/20 < @amount) set @amount, zeny/20;
+ if(countitem(713) < @amount) set @amount, countitem(713);
+ if(@amount > 0) goto L_Milk;
+ mes "[Milk Trader]";
+ mes "..... Are you trying to make a fool of me.... ?";
+ close;
+
+ M_1:
+ input @amount;
+ if(@amount < 1 || @amount > 1000) goto M_End;
+ if(countitem(713) < @amount) goto L_NoBottle;
+ if(zeny < (@amount*20)) goto L_NoZeny;
+
+ L_Milk:
+ getitem 519, @amount;
+ delitem 713, @amount;
+ set zeny, zeny - (@amount*20);
+
+ M_End:
+ mes "[Milk Trader]";
+ mes "Come back anytime.";
+ close;
+
+ L_NoBottle:
+ mes "[Milk Trader]";
+ mes "Ok, empty bottle please! Empty Bottle!!";
+ mes "... Aww.. you don't have enough...?";
+ close;
+
+ L_NoZeny:
+ mes "[Milk Trader]";
+ mes "You need more zeny.";
+ close;
+}
diff --git a/npc/merchants/quivers.txt b/npc/merchants/quivers.txt
new file mode 100644
index 000000000..d29224742
--- /dev/null
+++ b/npc/merchants/quivers.txt
@@ -0,0 +1,147 @@
+//===== eAthena Script ========================================
+//= Arrow Quiver Event
+//===== By: ==================================================
+//= Muad_Dib (Prometheus Project)
+//===== Current Version: =====================================
+//= 1.0b
+//===== Compatible With: =====================================
+//= eAthena 1.0+
+//===== Description: =========================================
+//= Turns arrows into Arrow Quivers.
+//===== Additional Comments: =================================
+//= 07/06/05 : Added 1st Version. [Muad_Dib]
+//= Converted to eAthena format by Dr.Evil
+//= added prize to quest - 500 Zeny
+//= Fixed a few spelling errors. [Nexon]
+//============================================================
+
+
+payon_in01.gat,5,134,4 script Inventor Jaax 89,{
+ mes "[Inventor Jaax]";
+ mes "My name is Jaax.";
+ mes "Without ego, I can";
+ mes "sat that I am perhaps the";
+ mes "^996600greatest inventor of our time.^000000";
+ next;
+ mes "[Inventor Jaax]";
+ mes "This time, I've";
+ mes "created something";
+ mes "truly extraordinary. I call them...";
+ mes "^996600Magic Quivers^000000 !! This will be";
+ mes "remembered in history as an";
+ mes "arrow revolution!";
+ next;
+ mes "[Inventor Jaax]";
+ mes "I've studied magic and quivers for";
+ mes "years, working night and day until";
+ mes "I finally figured out how to condense";
+ mes "arrows with magic! With magic";
+ mes "quivers, you'll be carrying more";
+ mes "arrows, but with less weight!";
+ next;
+ mes "[Inventor Jaax]";
+ mes "Would you like to try using one of";
+ mes "my arrow quivers? I have no doubt";
+ mes "that someone like you can";
+ mes "appreciate my genius!";
+ next;
+
+ menu "Arrow Quiver",-,"Iron Arrow Quiver",Q2,"Steel Arrow Quiver",Q3,"Oridecon Arrow Quiver",Q4,"Fire Arrow Quiver",Q5,"Silver Arrow Quiver",Q6,"Wind Arrow Quiver",Q7,"Stone Arrow Quiver",Q8,"Crystal Arrow Quiver",Q9,"Shadow Arrow Quiver",Q10,"Immaterial Arrow Quiver",Q11,"Rusty Arrow Quiver",Q12;
+
+// Arguments
+//===========
+ callsub sF_Make, 1750,500,12004, "Arrow Quiver";
+ goto M_Menu;
+Q2:
+ callsub sF_Make, 1770,500,12005, "Iron Arrow Quiver";
+ goto M_Menu;
+Q3:
+ callsub sF_Make, 1753,500,12006, "Steel Arrow Quiver";
+ goto M_Menu;
+Q4:
+ callsub sF_Make, 1765,500,12007, "Oridecon Arrow Quiver";
+ goto M_Menu;
+Q5:
+ callsub sF_Make, 1752,500,12008, "Fire Arrow Quiver";
+ goto M_Menu;
+Q6:
+ callsub sF_Make, 1751,500,12009, "Silver Arrow Quiver";
+ goto M_Menu;
+Q7:
+ callsub sF_Make, 1755,500,12010, "Wind Arrow Quiver";
+ goto M_Menu;
+Q8:
+ callsub sF_Make, 1756,500,12011, "Stone Arrow Quiver";
+ goto M_Menu;
+Q9:
+ callsub sF_Make, 1754,500,12012, "Crystal Arrow Quiver";
+ goto M_Menu;
+Q10:
+ callsub sF_Make, 1767,500,12013, "Shadow Arrow Quiver";
+ goto M_Menu;
+Q11:
+ callsub sF_Make, 1757,500,12014, "Immaterial Arrow Quiver";
+ goto M_Menu;
+Q12:
+ callsub sF_Make, 1762,500,12015, "Rusty Arrow Quiver";
+ goto M_Menu;
+
+// Subfunction for making quivers
+//================================
+sF_Make:
+ set @arrownum,500;
+ if(countitem(getarg(0)) < @arrownum) goto L_NdArrows;
+ if(Zeny < getarg(1)) goto L_NdZeny;
+ mes "[Inventor Jaax]";
+ mes "What do you want me to do?";
+ next;
+ menu "Give me as many as you can.",-, "I want to set the amount.",sM_0b, "Nevermind",M_End;
+
+ set @amount,100;
+ if(zeny/getarg(1) < @amount) set @amount, zeny/getarg(1);
+ if(countitem(getarg(0))/@arrownum < @amount) set @amount, countitem(getarg(0))/@arrownum;
+ if(@amount > 0) goto L_End;
+ mes "[Inventor Jaax]";
+ mes "Jeez... you don't even have the right items.....";
+ close;
+
+ sM_0b:
+ input @amount;
+ if(@amount<1 || @amount>100) goto L_BadAmnt;
+ if(countitem(getarg(0))/@arrownum < @amount) goto L_NdArrows;
+ if(Zeny < (getarg(1)*@amount)) goto L_NdZeny;
+
+ L_End:
+ mes "[Inventor Jaax]";
+ mes "There you go~!";
+ mes "Here are your " +getarg(3)+ ".";
+ delitem getarg(0), (@amount*@arrownum);
+ set Zeny, Zeny - (getarg(1)*@amount);
+ getitem getarg(2), @amount;
+ close;
+
+ L_NdArrows:
+ mes "[Inventor Jaax]";
+ mes "Sorry, but you need 500 Arrows and 500 Zeny to make 1 Arrow Quiver.";
+ close;
+
+ L_NdZeny:
+ mes "[Inventor Jaax]";
+ mes "You don't have enough zeny for that many.";
+ close;
+
+ L_BadAmnt:
+ mes "[Inventor Jaax]";
+ mes "Please choose a number between 1 and 100.";
+ close;
+
+L_Come:
+ mes "[Inventor Jaax]";
+ mes "Please, come again whenever you want too.";
+ close;
+M_End:
+ mes "[Inventor Jaax]";
+ mes "Sure, no problem.";
+ mes "Come back any time.";
+ close;
+} \ No newline at end of file
diff --git a/npc/merchants/refine.txt b/npc/merchants/refine.txt
new file mode 100644
index 000000000..b4fe39112
--- /dev/null
+++ b/npc/merchants/refine.txt
@@ -0,0 +1,925 @@
+//===== Freya Script =========================================
+//= Refining NPCs
+//===== By: ==================================================
+//= Syrus22 (1.1)
+//= dafide18 (1.4)
+//= Skotlex (1.5)
+//===== Current Version: =====================================
+//= 1.7
+//===== Compatible With: =====================================
+//= Any Freya Version
+//===== Description: =========================================
+//= Refining NPCs and Metal Salesmen.
+//===== Additional Comments: =================================
+//= 1.0 - by A bunch of people!
+//= Syrus22 - Completely redid the script using functions... also
+//= added the option for auto safe refining and multiple refining.
+//= 1.1 - Negative input bug fixed [Lupus]
+//= 1.2 - Added additional reparimen in morroc and payon. Added
+//= Christopher the blacksmith in Geffen. Edited some dialogue [kobra_k88]
+//= 1.3 - New Payon Locations [Darkchild]
+//= Corrected zeny subtraction thx to jpnmania77.[kobra_k88]
+//= 1.3a - Temporary corrected an exploit. Need to check sources
+//= to fully fix bug [Shinigami]
+//= Fixed repairman prices [shadowlady]
+//= Fixed bug that skips requirements thanks to sir_loon [massdriller]
+//= Fixed itemid error thanks to -Vitamin- [massdriller]
+//= 1.4 - check again item in refining procedure to avoid
+//= hacker that can change item [dafide18]
+//= 1.5 - Fixed crashing due to badly used callfunc's [Skotlex]
+// Lupus, don't rollback this important fix again! >.<
+//= 1.5a - Corrected an unneeded callfunc, fixed the anti-bot
+//= exploit ruining the safe refine loop. [Skotlex]
+//= 1.5b - Fixed Spelling mistakes. [Nexon]
+//= 1.6 - Replaced all breaks for ends as per the new script engine [Skotlex]
+//= 1.7 - Added Einbroch Refiners (Custom names ^^;) and a duplicated BS Shop. [Poki#3]
+//= 1.8 - Added Lighthalzen Refiners (Custom names again ^^;) [Poki#3]
+//============================================================
+
+
+//=========================================================
+// Christopher: Geffen Blacksmith
+//=========================================================
+geffen_in.gat,110,172,2 script Christopher#1::Chris 63,{
+ mes "[Christopher Guillenrow]";
+ mes "Welcome to Christopher's Workshop. Ye can find all yer forging equipment here. So what can I help ye with?";
+ M_Menu:
+ next;
+ menu "Purchase Anvil",M_0, "Purchase Forging Item",M_1, "Purchase Metal",M_2, "Purify Rough Ores",M_3, "Cancel",M_End;
+
+ M_0:
+ mes "[Christopher Guillenrow]";
+ mes "Higher quality Anvils gives ye a better chance ta make better weapons, ye know. But they cost more than yer typical ones.";
+ next;
+ menu "Anvil - 30000z.",sM_Anvil, "Oridecon Anvil - 120000z.",sM_OriAnvil, "Golden Anvil - 300000z.",sM_GolAnvil,
+ "Better Anvil than others",sM_BetAnvil, "Cancel",M_Menu;
+
+ sM_Anvil:
+ if(Zeny < 30000) goto L_NoZeny;
+ mes "[Christopher Guillenrow]";
+ mes "This is the cheapest one but it's very efficient.";
+ set Zeny, Zeny - 30000;
+ getitem 986,1;
+ next;
+ goto L_Thanks;
+ sM_OriAnvil:
+ if(Zeny < 120000) goto L_NoZeny;
+ mes "[Christopher Guillenrow]";
+ mes "Ah! Ye have a good eye for anvils. This here is the proper anvil for a Blacksmith.";
+ set Zeny, Zeny - 120000;
+ getitem 987,1;
+ next;
+ goto L_Thanks;
+ sM_GolAnvil:
+ if(Zeny < 300000) goto L_NoZeny;
+ mes "[Christopher Guillenrow]";
+ mes "This is the best anvil in my workshop! With this ye'll be the best Blasksmith in no time.";
+ set Zeny, Zeny - 300000;
+ getitem 988,1;
+ next;
+ goto L_Thanks;
+ sM_BetAnvil:
+ mes "[Christopher Guillenrow]";
+ mes "I'm sorry but I don't have anything better than a Golden Anvil.";
+ mes "Maybe 'Ringgel' the legendary Anvil maker would have one... but he be a hard fellow ta find.";
+ close;
+
+ M_1:
+ mes "[Christopher Guillenrow]";
+ mes "A respectable Blacksmith uses fine tools. Ye will come ta know my tools as being the finest around!";
+ mes "Choose anything you want.";
+ sM_Menu1:
+ next;
+ menu "Mini-Furnace - 150z.",sM_Furn, "Iron Hammer - 1000z.",sM_IrHam, "Golden Hammer - 3000z.",sM_GldHam,
+ "Oridecon Hammer - 5000z.",sM_OriHam, "Cancel",M_Menu;
+
+ sM_Furn:
+ mes "[Christopher Guillenrow]";
+ mes "This is a prerequisite for Metal refining!!";
+ mes "So, how many do ye wish to buy? If you want to quit, please input the number '0'. However, you the maximum amount you can buy is 1000";
+ set @input, 0;
+ input @input;
+ next;
+ if(@input < 1 ) goto sM_Menu1;
+ if(@input > 1000 ) goto sM_Max;
+ if(Zeny < 150 * @input) goto L_NoZeny;
+ set Zeny, Zeny - (150 * @input);
+ getitem 612, @input;
+ goto L_Thanks;
+ sM_IrHam:
+ if(Zeny < 1000) goto L_NoZeny;
+ set Zeny, Zeny - 1000;
+ getitem 613,1;
+ goto L_Thanks;
+ sM_GldHam:
+ if(Zeny < 3000) goto L_NoZeny;
+ set Zeny, Zeny - 3000;
+ getitem 614,1;
+ goto L_Thanks;
+ sM_OriHam:
+ if(Zeny < 5000) goto L_NoZeny;
+ set Zeny, Zeny - 5000;
+ getitem 615,1;
+ goto L_Thanks;
+ sM_Max:
+ mes "[Christopher Guillenrow]";
+ mes "Sorry, you can't buy more than 1000 furnace at a time.";
+ close;
+
+ M_2:
+ mes "[Christopher Guillenrow]";
+ mes "I have 2 kinds of metals for sale. Which do ye like?";
+ set @chris, 1;
+ set @name$, "Christopher Guillenrow";
+ callfunc "phramain";
+
+ M_3:
+ mes "[Christopher Guillenrow]";
+ mes "I can purify yer rough Oridecon and rough Elunium ores. I'll need 5 rough ores to make 1 pure one.";
+ mes "Well... which one do ye want ta make?";
+ set @chris, 1;
+ set @name$, "Christopher Guillenrow";
+ callfunc "orimain";
+
+ M_End:
+ close;
+
+ L_NoZeny:
+ mes "[Christopher Guillenrow]";
+ mes "I don't think I can let ye have this at a lower price. I can't afford ta loose profits because of ye.";
+ emotion 4;
+ close;
+
+ L_Thanks:
+ mes "[Christopher Guillenrow]";
+ mes "Thank you for shopping at my workshop. Feel free to come anytime whenever you need.";
+ emotion 15;
+ close;
+}
+
+ein_in01,38,29,6 duplicate(Chris) Christopher#2 63
+
+//=====================================================================================
+// Weapon/Armor Refiners
+//=====================================================================================
+prt_in.gat,63,60,4 script Hollengrhen 85,{
+ set @name$,"Hollengrhen";
+ callfunc "refinemain";
+ end;
+}
+morocc_in.gat,73,38,4 script Aragham 99,{
+ set @name$,"Aragham";
+ callfunc "refinemain";
+ end;
+}
+payon.gat,144,173,4 script Antonio 88,{
+ set @name$,"Antonio";
+ callfunc "refinemain";
+ end;
+}
+alberta_in.gat,28,58,4 script Fredrik 85,{
+ set @name$,"Fredrik";
+ callfunc "refinemain";
+ end;
+}
+yuno_in01.gat,164,26,6 script Disturb 88,{
+ set @name$,"Disturb";
+ callfunc "refinemain";
+ end;
+}
+ein_in01.gat,24,87,6 script Katamo 826,{
+ set @name$,"Katamo";
+ callfunc "refinemain";
+ end;
+}
+lhz_in02.gat,282,20,7 script Marc 869,{
+ set @name$,"Marc";
+ callfunc "refinemain";
+ end;
+}
+
+//============================================================
+//= Main Refiner Function
+//============================================================
+//= To allow auto safe refining/multiple refining set the
+//= @features variable to 1
+//============================================================
+function script refinemain {
+ set @features,0;
+
+ mes "[" + @name$ + "]";
+ mes "I am the Armsmith... I can refine any weapon or piece of armor you choose!";
+ mes "Which piece of equipment do you want to refine?";
+ M_Menu:
+ next;
+ menu getequipname(1),PART1,getequipname(2),PART2,getequipname(3),PART3,getequipname(4),PART4,getequipname(5),PART5,
+ getequipname(6),PART6,getequipname(7),PART7,getequipname(8),PART8,getequipname(9),PART9,getequipname(10),PART10;
+
+ //Head Gear
+ PART1:
+ set @part,1;
+ if (getequipisequiped(1)) goto CHECK1;
+ mes "[" + @name$ + "]";
+ mes "Do you want me to refine your dumb brain?";
+ emotion 6;
+ goto M_Menu;
+ //Armor
+ PART2:
+ set @part,2;
+ if (getequipisequiped(2)) goto CHECK1;
+ mes "[" + @name$ + "]";
+ mes "Do you want me to melt your body with blazing heat...?";
+ emotion 6;
+ goto M_Menu;
+ //Left Hand
+ PART3:
+ set @part,3;
+ if (getequipisequiped(3)) goto CHECK1;
+ mes "[" + @name$ + "]";
+ mes "I can't make your left hand into an ultimate weapon...";
+ emotion 4;
+ goto M_Menu;
+ //Right Hand
+ PART4:
+ set @part,4;
+ if (getequipisequiped(4)) goto CHECK1;
+ mes "[" + @name$ + "]";
+ mes "I can't make your right hand into an ultimate weapon...";
+ emotion 4;
+ goto M_Menu;
+ //Garment
+ PART5:
+ set @part,5;
+ if (getequipisequiped(5)) goto CHECK1;
+ mes "[" + @name$ + "]";
+ mes "Look here... you don't have any Garments on...";
+ goto M_Menu;
+ //Foot Gear
+ PART6:
+ set @part,6;
+ if (getequipisequiped(6)) goto CHECK1;
+ mes "[" + @name$ + "]";
+ mes "Ack!! Those are some stinky feet. I definitely can't refine those... uck!!";
+ emotion 16;
+ goto M_Menu;
+ //Accessory1
+ PART7:
+ set @part,7;
+ if (getequipisequiped(7)) goto CHECK1;
+ mes "[" + @name$ + "]";
+ mes "What do you mean by Accessory? Which One?";
+ emotion 20;
+ goto M_Menu;
+ //Accessory2
+ PART8:
+ set @part,8;
+ if (getequipisequiped(8)) goto CHECK1;
+ mes "[" + @name$ + "]";
+ mes "What do you mean by Accessory? Which One?";
+ emotion 20;
+ goto M_Menu;
+ PART9:
+ set @part,9;
+ if (getequipisequiped(9)) goto CHECK1;
+ mes "[" + @name$ + "]";
+ mes "What do you want from me? There's nothing equipped there...";
+ emotion 20;
+ goto M_Menu;
+ PART10:
+ set @part,10;
+ if (getequipisequiped(10)) goto CHECK1;
+ mes "[" + @name$ + "]";
+ mes "What do you want from me? There's nothing equipped there...";
+ emotion 20;
+ goto M_Menu;
+
+//Check if the item is refinable...
+CHECK1:
+ if(getequipisenableref(@part)) goto CHECK2;
+ mes "[" + @name$ + "]";
+ mes "I can't work on this item...";
+ close;
+
+//Check if the item is identified... (Don't know why this is in here... but kept it anyway)
+CHECK2:
+ if(getequipisidentify(@part)) goto CHECK3;
+ mes "[" + @name$ + "]";
+ mes "You must appraise this item first.";
+ close;
+
+//Check to see if the items is already +10
+CHECK3:
+ if(getequiprefinerycnt(@part) < 10) goto REFINE0;
+ mes "[" + @name$ + "]";
+ mes "This weapon is already at its maximum level and can no longer be refined.";
+ close;
+
+//Refine Armor
+REFINE0:
+ set @refineitemid, getequipid(@part); // save id of the item
+ set @refinerycnt, getequiprefinerycnt(@part); //save refinery count
+ if(getequipweaponlv(@part) > 0) goto REFINE1;
+ set @matname$,"Elunium";
+ set @material,985;
+ set @price,2000;
+ set @safe,4;
+ if(@features == 1) goto L_refinefeatures;
+ goto L_refinenormal;
+//Refine Level 1 Weapon
+REFINE1:
+ if(getequipweaponlv(@part) > 1) goto REFINE2;
+ set @matname$,"Phracon";
+ set @material,1010;
+ set @price,50;
+ set @safe,7;
+ if(@features == 1) goto L_refinefeatures;
+ goto L_refinenormal;
+//Refine Level 2 Weapon
+REFINE2:
+ if(getequipweaponlv(@part) > 2) goto REFINE3;
+ set @matname$,"Emveretarcon";
+ set @material,1011;
+ set @price,200;
+ set @safe,6;
+ if(@features == 1) goto L_refinefeatures;
+ goto L_refinenormal;
+//Refine Level 3 Weapon
+REFINE3:
+ if(getequipweaponlv(@part) > 3) goto REFINE4;
+ set @matname$,"Oridecon";
+ set @material,984;
+ set @price,5000;
+ set @safe,5;
+ if(@features == 1) goto L_refinefeatures;
+ goto L_refinenormal;
+//Refine Level 4 Weapon
+REFINE4:
+ set @matname$,"Oridecon";
+ set @material,984;
+ set @price,20000;
+ set @safe,4;
+ if(@features == 1) goto L_refinefeatures;
+ goto L_refinenormal;
+
+L_refinenormal:
+ mes "[" + @name$ + "]";
+ mes "To refine this stuff, I need ^ff9999" + @matname$ + "^000000 and the fee " + @price + " Zeny.";
+ mes "Continue?";
+ next;
+ menu "Yes",-,"No",Lcancel;
+
+ if (getequippercentrefinery(@part) == 100) goto L_Sub;
+ mes "[" + @name$ + "]";
+ mes "Hmm... Hold on! This piece of equipment has already been refined to its maximum safety level.";
+ mes "I must warn you if it is refined ANYMORE, It could be DESTROYED and become USELESS!!";
+ next;
+ mes "["+@name$+"]";
+ mes "Do you still wish you refine it? If so I will not be able to guarantee my work...";
+ next;
+ menu "Yes",-,"No",Lcancel1;
+
+ L_Sub:
+ if ((countitem(@material) < 1) || (Zeny < @price)) goto Lcancel2;
+ delitem @material,1;
+ set Zeny,Zeny-@price;
+
+Lrefine:
+ if (getequipisequiped(@part) == 0) goto LNoItem; // hacker has removed the item (not changed, why?)
+ if (getequipid(@part) != @refineitemid) goto LNoFake; // hacker has changed the item
+ if (getequiprefinerycnt(@part) != @refinerycnt) goto LNoFake; // hacker has changed the item
+ if (getequippercentrefinery(@part) <= rand(100)) goto Lfail;
+ mes "["+@name$+"]";
+ mes "Clang! Clang! Clang!";
+ successrefitem @part;
+ next;
+ mes "["+@name$+"]";
+ mes "HAHA! It seems my skills haven't gotten rusty yet! Splendid... just splendid...";
+ emotion 21;
+ close;
+
+Lfail:
+ mes "[" + @name$ + "]";
+ mes "Clang! Clang! Clang!";
+ failedrefitem @part;
+ next;
+ mes "["+@name$+"]";
+ mes "Aaahhh!! Oh no...!!";
+ emotion 16;
+ next;
+ mes "["+@name$+"]";
+ mes "Eh..Ehem... I'm sorry but the refining process ^ff0000failed^000000.";
+ next;
+ mes "["+@name$+"]";
+ mes "I am deeply ashamed of what I've done... but I DID warn you earlier about the risks.";
+ close;
+
+LNoItem:
+ mes "[" + @name$ + "]";
+ mes "Look here... you don't have any Items on...";
+ close;
+
+LNoFake:
+ mes "[" + @name$ + "]";
+ mes "Clan... No, but Did you imagine I could be so stupid !?!";
+ mes "You have changed it...";
+ mes "Go out before I stun you with my Hammer!!!";
+ close;
+
+Lcancel:
+ mes "[" + @name$ + "]";
+ mes "You said so..Hmm so be it...";
+ close;
+
+Lcancel1:
+ mes "[" + @name$ + "]";
+ mes "Good Choice.";
+ mes "Ah... good choice. I'd feel awful if I'd destroyed another persons piece of equipment with my own hands.";
+ close;
+
+Lcancel2:
+ mes "[" + @name$ + "]";
+ mes "Is that all you got? Unfortunately I can't work for you at a lower price. Try putting yourself in my shoes.";
+ close;
+
+// New Refining Functions ========================
+L_refinefeatures:
+ if(getequiprefinerycnt(@part) >= @safe) goto Lnosafe;
+ mes "[" + @name$ + "]";
+ mes "I can refine this to the safe limit or a desired number of times... it's your choice...";
+ next;
+ menu "To the safe limit please.",Lsafe,"I'll decide how many times.",Lnosafe,"I've changed my mind...",Lcancel;
+
+Lsafe:
+ set @refinecnt,@safe - getequiprefinerycnt(@part);
+ set @fullprice,@price * @refinecnt;
+ mes "[" + @name$ + "]";
+ mes "That will cost you " + @refinecnt + " " + @matname$ + " and " + @fullprice + " Zeny. Is that ok?";
+ next;
+ menu "Yes",-,"No...",Lcancel;
+ if((countitem(@material) < @refinecnt) || (Zeny < @fullprice)) goto Lcancel2;
+ delitem @material,@refinecnt;
+ set Zeny,Zeny - @fullprice;
+ goto L_refinesafe;
+
+Lnosafe:
+ mes "[" + @name$ + "]";
+ mes "So how many times would you like me to refine your item?";
+ next;
+ input @refinecnt;
+ if (@refinecnt<1) goto Lcancel3; //fixed by Lupus
+ set @refinecheck,@refinecnt + getequiprefinerycnt(@part);
+ if(@refinecheck > 10) goto Lcancel3;
+ set @fullprice,@price * @refinecnt;
+ mes "[" + @name$ + "]";
+ mes "This will cost you " + @refinecnt + " " + @matname$ + " and " + @price + " Zeny... Is that ok?";
+ next;
+ menu "Yes...",-,"No...",Lcancel;
+ if(@refinecheck > @safe) goto Lwarn;
+ if((countitem(@material) < @refinecnt) || (Zeny < @fullprice)) goto Lcancel2;
+ delitem @material,@refinecnt;
+ set Zeny,Zeny - @fullprice;
+ goto L_refinenumber;
+ end;
+
+ Lwarn:
+ set @refinecheck,@refinecheck - @safe;
+ mes "[" + @name$ + "]";
+ mes "This will try to refine the equipment " + @refinecheck + " times past the safe limit. Your equipment may be destroyed... is that ok?";
+ next;
+ menu "Yes",-,"No...",Lcancel1;
+ if((countitem(@material) < @refinecnt) || (Zeny < @fullprice)) goto Lcancel2;
+ delitem @material,@refinecnt;
+ set Zeny,Zeny - @fullprice;
+ goto L_refinenumber;
+
+Lcancel3:
+ mes "[" + @name$ + "]";
+ mes "I can't refine this item that many times.";
+ close;
+
+// SubFunction: Safe Refine ---------------------
+L_refinesafe:
+ if (getequipisequiped(@part) == 0) goto LNoItem; // hacker has removed the item (no changed, why?)
+ if (getequipid(@part) != @refineitemid) goto LNoFake; // hacker has changed the item
+ if (getequippercentrefinery(@part) < 100) goto LNoFake; // hacker has changed the item (it is not safe anymore)
+ mes "Clang, clang!!!";
+ successrefitem @part;
+ emotion 21;
+ set @refinecnt,@refinecnt - 1;
+ next;
+ if(@refinecnt == 0) goto Lend;
+ goto L_refinesafe;
+
+ Lend:
+ mes "[" + @name$ + "]";
+ mes "All finished... Come again soon.";
+ close;
+
+// SubFunction: Refine
+L_refinenumber:
+ mes "Clang, clang!!!";
+ if (getequippercentrefinery(@part)<=rand(100)) goto Lfail_number;
+ successrefitem @part;
+ emotion 21;
+ set @refinecnt,@refinecnt - 1;
+ next;
+ if(@refinecnt == 0) goto Lend;
+ goto L_refinenumber;
+
+ Lfail_number:
+ failedrefitem @part;
+ emotion 23;
+ mes "[" + @name$ + "]";
+ mes "WAHHHH!!! I'm so sorry... I warned you this could happen...";
+ set @refinecnt,@refinecnt - 1;
+ if(@refinecnt == 0) goto Lend2;
+ mes "Here's the unused Zeny and Material back...";
+ getitem @material,@refinecnt;
+ set @fullprice,@refinecnt * @price;
+ set Zeny,Zeny + @fullprice;
+
+ Lend2:
+ close;
+}
+
+
+
+//==============================================================================
+// Material Salesmen
+//==============================================================================
+prt_in.gat,56,69,4 script Vurewell 86,{
+ set @name$,"Vurewell";
+ callfunc "phramain";
+ end;
+}
+payon.gat,145,178,4 script Begnahd 88,{
+ set @name$,"Begnahd";
+ callfunc "phramain";
+ end;
+}
+morocc_in.gat,65,37,4 script Sade 99,{
+ set @name$,"Sade";
+ callfunc "phramain";
+ end;
+}
+alberta_in.gat,18,59,5 script Kahlamanlith 86,{
+ set @name$,"Kahlamanlith";
+ callfunc "phramain";
+ end;
+}
+yuno_in01.gat,171,26,6 script Dillemat 88,{
+ set @name$,"Dillemat";
+ callfunc "phramain";
+ end;
+}
+ein_in01.gat,15,87,7 script Gorly 86,{
+ set @name$,"Gorly";
+ callfunc "phramain";
+ end;
+}
+lhz_in02.gat,278,24,3 script Kato 86,{
+ set @name$,"Kato";
+ callfunc "phramain";
+ end;
+}
+
+//============================================================
+//= Material Salesmen Functions
+//============================================================
+function script phramain {
+ if(@chris == 1) goto M_Menu;
+ mes "[" + @name$ + "]";
+ mes "Hello, Im selling metals I just mined.";
+ mes "They are Pharacon and Emvertacon.";
+ mes "Would you like to buy some?";
+ M_Menu:
+ set @chris, 0;
+ next;
+ menu"Pharacon - 200z",PHARA,"Emvertacon - 1000z",EMVER;
+
+ PHARA:
+ set @itemid,1010;
+ set @value,200;
+ goto CONTINUE;
+
+ EMVER:
+ set @itemid,1011;
+ set @value,1000;
+
+CONTINUE:
+ mes "[" + @name$ + "]";
+ mes "How many would you like?";
+ next;
+ input @ammount;
+ if (@ammount <= 0) goto L_BELOW;
+ if (@ammount > 999) goto L_ABOVE;
+ if (zeny < @value * @ammount) goto L_NOZENY;
+ if (checkweight(@itemid,@ammount) == 0) goto L_WEIGHT;
+ getitem @itemid,@ammount;
+ set Zeny,Zeny-@value*@ammount;
+ mes "[" + @name$ + "]";
+ mes "Here you go.";
+ close;
+
+L_NOZENY:
+ mes "You do not have enough zeny!";
+ close;
+L_WEIGHT:
+ mes "You cant hold that many of that item";
+ close;
+L_BELOW:
+ mes "You have to buy a POSITIVE amount of items!";
+ close;
+L_ABOVE:
+ mes "You cant buy this much of this item!";
+ close;
+}
+
+
+
+//==============================================================================
+// Ori/Elu Refiners
+//==============================================================================
+prt_in.gat,63,69,4 script Dietrich 84,{
+ set @name$,"Dietrich";
+ callfunc "orimain";
+ end;
+}
+payon.gat,137,178,4 script Hakhim 88,{
+ set @name$,"Hakhim";
+ callfunc "orimain";
+ end;
+}
+morocc_in.gat,72,32,4 script Abdul 99,{
+ set @name$,"Abdul";
+ callfunc "orimain";
+ end;
+}
+alberta_in.gat,21,63,5 script Xenophon 84,{
+ set @name$,"Xenophon";
+ callfunc "orimain";
+ end;
+}
+yuno_in01.gat,171,22,6 script Delayt 88,{
+ set @name$,"Delayt";
+ callfunc "orimain";
+ end;
+}
+ein_in01.gat,18,82,6 script Dati 84,{
+ set @name$,"Dati";
+ callfunc "orimain";
+ end;
+}
+lhz_in02.gat,281,24,5 script Gadamari 84,{
+ set @name$,"Gadamari";
+ callfunc "orimain";
+ end;
+}
+
+//============================================================
+//= Ori/Elu Functions
+//============================================================
+function script orimain {
+ if(@chris == 1) goto M_Menu;
+ mes "[" + @name$ + "]";
+ mes "If you bring Rough Oridecons and";
+ mes "Rough Eluniums to me,";
+ mes "I can refine them for you.";
+ mes "However, you must bring 5 of each.";
+ M_Menu:
+ set @chris, 0;
+ next;
+ menu "Make Oridecon",M_Ori, "Make Elunium",M_Elu, "Ask about enchanted stones",M_Stones;
+
+ M_Ori:
+ if(countitem(756) < 5) goto L_NoOri;
+ delitem 756,5;
+ getitem 984,1;
+ mes "[" + @name$ + "]";
+ mes "As promised, here's your oridecon.";
+ mes "Come back again anytime.";
+ close;
+
+ L_NoOri:
+ mes "[" + @name$ + "]";
+ mes "Huh? You're kidding, right? Didn't I say I can't make you an Oridecon unless you bring me 5 rough ones?";
+ close;
+ M_Elu:
+ if(countitem(757) < 5) goto L_NoElu;
+ delitem 757,5;
+ getitem 985,1;
+ mes "[" + @name$ + "]";
+ mes "As promised, here's your elunium.";
+ mes "Come back again anytime.";
+ close;
+
+ L_NoElu:
+ mes "[" + @name$ + "]";
+ mes "Huh? You're kidding, right? Didn't I say I can't make you an Elunium unless you bring me 5 rough ones?";
+ close;
+ M_Stones:
+ mes "[" + @name$ + "]";
+ mes "Enchanted stones, huh...";
+ next;
+ mes "[" + @name$ + "]";
+ mes "Well, in the 20 years that I've been a stone smith I've heard of them many times... though I've never actually seen them before.";
+ next;
+ mes "[" + @name$ + "]";
+ mes "I've been told that enchanted stones possess different elemental properties such as ^5533FFWater, Earth, Fire, and Wind^000000.";
+ next;
+ mes "[" + @name$ + "]";
+ mes "If someone combines an Enchanted Stone with a weapon during the refining process, that weapon will possess the same property as the stone.";
+ next;
+ mes "[" + @name$ + "]";
+ mes "Of course, that person needs to be skillful enough to work on it.";
+ goto M_Menu;
+}
+
+
+
+//=====================================================================================
+// Equipment Repairmen
+//=====================================================================================
+prt_in.gat,62,54,2 script Grendal 84,{
+ set @name$,"Grendal";
+ callfunc "repairmain";
+ end;
+}
+//Temp Spot, Not Sure Where To place
+payon.gat,149,182,2 script Repairman 88,{
+ set @name$,"Repairman";
+ callfunc "repairmain";
+ end;
+}
+morocc_in.gat,71,40,2 script Repairman 99,{
+ set @name$,"Repairman";
+ callfunc "repairmain";
+ end;
+}
+lhz_in02.gat,284,14,3 script Repairman 86,{
+ set @name$,"Repairman";
+ callfunc "repairmain";
+ end;
+}
+
+//============================================================
+//= Equipment Repair Function
+//============================================================
+function script repairmain {
+ set @repairprice,5000;
+ mes "[" + @name$ + "]";
+ mes "I am the Repair Smith and I can repair any Arms you want.";
+ mes "Tell me which Equipment you want to repair.";
+ set @broken1,getbrokenid(1);
+ set @broken2,getbrokenid(2);
+ set @broken3,getbrokenid(3);
+ set @broken4,getbrokenid(4);
+ set @broken5,getbrokenid(5);
+ set @broken6,getbrokenid(6);
+ set @broken7,getbrokenid(7);
+ set @broken8,getbrokenid(8);
+ set @broken9,getbrokenid(9);
+ set @broken10,getbrokenid(10);
+ next;
+ if(@broken1==NULL) goto L_CANCEL_3;
+ menu getitemname(@broken1),REPAIR1,getitemname(@broken2),REPAIR2,getitemname(@broken3),REPAIR3,
+ getitemname(@broken4),REPAIR4,getitemname(@broken5),REPAIR5,getitemname(@broken6),REPAIR6,
+ getitemname(@broken7),REPAIR7,getitemname(@broken8),REPAIR8,getitemname(@broken9),REPAIR9,
+ getitemname(@broken10),REPAIR10;
+ REPAIR1:
+ mes "[" + @name$ + "]";
+ mes "You're gonna repair " + getitemname(@broken1) + ".";
+ mes "To repair this, I need ^ff9999One Steel^000000, and " + @repairprice + " Zeny.";
+ mes "Continue?";
+ next;
+ menu "Yes",-,"No",L_CANCEL_2;
+ if (countitem(999) < 1 || Zeny < @repairprice) goto L_CANCEL_1;
+ delitem 999,1;
+ set Zeny,Zeny-@repairprice;
+ repair(1);
+ goto L_CLOSE;
+ REPAIR2:
+ mes "[" + @name$ + "]";
+ mes "You're gonna repair " + getitemname(@broken1) + ".";
+ mes "To repair this, I need ^ff9999One Steel^000000, and " + @repairprice + " Zeny.";
+ mes "Continue?";
+ next;
+ menu "Yes",-,"No",L_CANCEL_2;
+ if (countitem(999) < 1 || Zeny < @repairprice) goto L_CANCEL_1;
+ delitem 999,1;
+ set Zeny,Zeny-@repairprice;
+ repair(2);
+ goto L_CLOSE;
+ REPAIR3:
+ mes "[" + @name$ + "]";
+ mes "You're gonna repair " + getitemname(@broken1) + ".";
+ mes "To repair this, I need ^ff9999One Steel^000000, and " + @repairprice + " Zeny.";
+ mes "Continue?";
+ next;
+ menu "Yes",-,"No",L_CANCEL_2;
+ if (countitem(999) < 1 || Zeny < @repairprice) goto L_CANCEL_1;
+ delitem 999,1;
+ set Zeny,Zeny-@repairprice;
+ repair(3);
+ goto L_CLOSE;
+ REPAIR4:
+ mes "[" + @name$ + "]";
+ mes "You're gonna repair " + getitemname(@broken1) + ".";
+ mes "To repair this, I need ^ff9999One Steel^000000, and " + @repairprice + " Zeny.";
+ mes "Continue?";
+ next;
+ menu "Yes",-,"No",L_CANCEL_2;
+ if (countitem(999) < 1 || Zeny < @repairprice) goto L_CANCEL_1;
+ delitem 999,1;
+ set Zeny,Zeny-@repairprice;
+ repair(4);
+ goto L_CLOSE;
+ REPAIR5:
+ mes "[" + @name$ + "]";
+ mes "You're gonna repair " + getitemname(@broken1) + ".";
+ mes "To repair this, I need ^ff9999One Steel^000000, and " + @repairprice + " Zeny.";
+ mes "Continue?";
+ next;
+ menu "Yes",-,"No",L_CANCEL_2;
+ if (countitem(999) < 1 || Zeny < @repairprice) goto L_CANCEL_1;
+ delitem 999,1;
+ set Zeny,Zeny-@repairprice;
+ repair(5);
+ goto L_CLOSE;
+ REPAIR6:
+ mes "[" + @name$ + "]";
+ mes "You're gonna repair " + getitemname(@broken1) + ".";
+ mes "To repair this, I need ^ff9999One Steel^000000, and " + @repairprice + " Zeny.";
+ mes "Continue?";
+ next;
+ menu "Yes",-,"No",L_CANCEL_2;
+ if (countitem(999) < 1 || Zeny < @repairprice) goto L_CANCEL_1;
+ delitem 999,1;
+ set Zeny,Zeny-@repairprice;
+ repair(6);
+ goto L_CLOSE;
+ REPAIR7:
+ mes "[" + @name$ + "]";
+ mes "You're gonna repair " + getitemname(@broken1) + ".";
+ mes "To repair this, I need ^ff9999One Steel^000000, and " + @repairprice + " Zeny.";
+ mes "Continue?";
+ next;
+ menu "Yes",-,"No",L_CANCEL_2;
+ if (countitem(999) < 1 || Zeny < @repairprice) goto L_CANCEL_1;
+ delitem 999,1;
+ set Zeny,Zeny-@repairprice;
+ repair(7);
+ goto L_CLOSE;
+ REPAIR8:
+ mes "[" + @name$ + "]";
+ mes "You're gonna repair " + getitemname(@broken1) + ".";
+ mes "To repair this, I need ^ff9999One Steel^000000, and " + @repairprice + " Zeny.";
+ mes "Continue?";
+ next;
+ menu "Yes",-,"No",L_CANCEL_2;
+ if (countitem(999) < 1 || Zeny < @repairprice) goto L_CANCEL_1;
+ delitem 999,1;
+ set Zeny,Zeny-@repairprice;
+ repair(8);
+ goto L_CLOSE;
+ REPAIR9:
+ mes "[" + @name$ + "]";
+ mes "You're gonna repair " + getitemname(@broken1) + ".";
+ mes "To repair this, I need ^ff9999One Steel^000000, and " + @repairprice + " Zeny.";
+ mes "Continue?";
+ next;
+ menu "Yes",-,"No",L_CANCEL_2;
+ if (countitem(999) < 1 || Zeny < @repairprice) goto L_CANCEL_1;
+ delitem 999,1;
+ set Zeny,Zeny-@repairprice;
+ repair(9);
+ goto L_CLOSE;
+ REPAIR10:
+ mes "[" + @name$ + "]";
+ mes "You're gonna repair " + getitemname(@broken1) + ".";
+ mes "To repair this, I need ^ff9999One Steel^000000, and " + @repairprice + " Zeny.";
+ mes "Continue?";
+ next;
+ menu "Yes",-,"No",L_CANCEL_2;
+ if (countitem(999) < 1 || Zeny < @repairprice) goto L_CANCEL_1;
+ delitem 999,1;
+ set Zeny,Zeny-@repairprice;
+ repair(10);
+ goto L_CLOSE;
+
+L_CANCEL_1:
+ mes "[" + @name$ + "]";
+ mes "Is it all you got?";
+ mes "Unfortunately, I have kids to feed...";
+ goto L_CLOSE;
+L_CANCEL_2:
+ mes "[" + @name$ + "]";
+ mes "Ok, but don't expect to be using that...";
+ goto L_CLOSE;
+L_CANCEL_3:
+ mes "[" + @name$ + "]";
+ mes "Looks like you don't need anything repaired today...";
+ goto L_CLOSE;
+L_CLOSE:
+ close;
+}
diff --git a/npc/merchants/renters.txt b/npc/merchants/renters.txt
new file mode 100644
index 000000000..8e1de29d2
--- /dev/null
+++ b/npc/merchants/renters.txt
@@ -0,0 +1,182 @@
+//===== eAthena Script =======================================
+//= Renters
+//===== By: ==================================================
+//= kobra_k88, mod by Lupus
+//===== Current Version: =====================================
+//= 1.6
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= PecoPeco Breeder, Grand PecoPeco Breeder, Falcon tamer scripts
+//===== Additional Comments: =================================
+//= Fully working
+//= Added another Falcon Master into the Hunters Guild [Lupus]
+//= 1.2: replaced checkoption(x) with checkriding,checkfalcon [Lupus]
+//= 1.3: Added support Adv Classes + Baby Class [Lupus]
+//= 1.4: Added different prices for normal, advanced and baby classes
+//= but you could set them to the same [Lupus]
+//= 1.5: Fixed spelling mistakes [Nexon]
+//= 1.5a: Small fix (Falcon Taming -> Falcon Mastery) [Komurka]
+//= 1.6: Moved the Falcon Master to Hugel [Poki#3]
+//============================================================
+
+// PecoPeco Breeder (for Knights)-------------------------------------------
+prontera.gat,61,338,3 script PecoPeco Breeder 86,{
+ if(Upper==0) set @price,2500; //Normal Peco - default price
+ if(Upper==1) set @price,4000; //Armored Peco
+ if(Upper==2) set @price,2000; //Baby Peco
+
+ mes "[PecoPeco Breeder]";
+ if(BaseJob == Job_Knight || BaseJob == Job_Knight2 ) goto L_Start;
+ if(Upper==0)mes "I'm a PecoPeco breeder and I rent out PecoPecos for ^4444FF Knights ^000000 to ride on.";
+ if(Upper==1)mes "I'm a PecoPeco breeder and I rent out Armored PecoPecos for ^4444FF Lord Knights ^000000 to ride on.";
+ if(Upper==2)mes "I'm a PecoPeco breeder and I rent out Baby PecoPecos for ^4444FF Baby Knights ^000000 to ride on.";
+ close;
+
+L_Start:
+ if(Upper==0)mes "Good day. Would you like to ride a PecoPeco?";
+ if(Upper==1)mes "Good day. Would you like to ride an Armored PecoPeco?";
+ if(Upper==2)mes "Good day. Would you like to ride a Baby PecoPeco?";
+ next;
+ mes "[PecoPeco Breeder]";
+ mes "You can rent one PecoPeco for "+@price+" Zeny, provided that you have the PecoPeco Riding skill.";
+ next;
+ menu "Lend me a trusty steed!... err... bird!",M_0,"Hmm...It's a bit too expensive.",M_1;
+
+ M_0:
+ if(getskilllv(63) == 0) goto sL_NeedSkill;
+ if(Zeny < @price) goto sL_Zeny;
+ if(checkriding(0) != 0) goto sL_GotPeco;
+ set Zeny, Zeny - @price;
+ setriding;
+ mes "Thank you and good day.";
+ emotion 15;
+ close;
+
+ sL_NeedSkill:
+ mes "[PecoPeco Breeder]";
+ mes "As I mentioned earlier, you need the ^3333FFRiding^000000 skill in order to rent a PecoPeco.";
+ close;
+ sL_Zeny:
+ mes "[PecoPeco Breeder]";
+ mes "As I said before it will be "+@price+"z. Come back when you have enough zeny.";
+ close;
+ sL_GotPeco:
+ mes "[PecoPeco Breeder]";
+ mes "Umm... aren't you already riding a PecoPeco??....";
+ emotion 20;
+ close;
+ M_1:
+ mes "[PecoPeco Breeder]";
+ mes "Alright. Good day to you.";
+ close;
+
+}
+
+// Grand PecoPeco Breeder (for Crusaders)-------------------------------------------
+prontera.gat,238,312,5 script Grand PecoPeco Breeder 86,{
+ if(Upper==0) set @price,3000; //Normal Peco - default price
+ if(Upper==1) set @price,5000; //Armored Peco
+ if(Upper==2) set @price,2500; //Baby Peco
+
+ mes "[Grand PecoPeco Breeder]";
+ if(BaseJob == Job_Crusader || BaseJob == Job_Crusader2 ) goto L_Start;
+ if(Upper==0)mes "I'm a Grand PecoPeco breeder and I rent out Grand PecoPecos for ^4444FF Crusaders^000000 to ride on.";
+ if(Upper==1)mes "I'm a Grand PecoPeco breeder and I rent out Armored Grand PecoPecos for ^4444FF Paladins^000000 to ride on.";
+ if(Upper==2)mes "I'm a Grand PecoPeco breeder and I rent out Baby Grand PecoPecos for ^4444FF Baby Crusaders^000000 to ride on.";
+ close;
+
+L_Start:
+ if(Upper==0)mes "Good day. Would you like to ride a Grand PecoPeco?";
+ if(Upper==1)mes "Good day. Would you like to ride an Armored Grand PecoPeco?";
+ if(Upper==2)mes "Good day. Would you like to ride a Baby Grand PecoPeco?";
+ next;
+ mes "[Grand PecoPeco Breeder]";
+ mes "You can rent one Grand PecoPeco for "+@price+" Zeny, provided that you have the PecoPeco Riding skill.";
+ next;
+ menu "Lend me a trusty steed!... err... bird!",M_0,"Hmm...It's a bit too expensive.",M_1;
+
+ M_0:
+ if(getskilllv(63) == 0) goto sL_NeedSkill;
+ if(Zeny < @price) goto sL_Zeny;
+ if(checkriding(0) != 0) goto sL_GotPeco;
+ set Zeny, Zeny - @price;
+ setriding;
+ mes "Thank you and good day.";
+ emotion 15;
+ close;
+
+ sL_NeedSkill:
+ mes "[Grand PecoPeco Breeder]";
+ mes "As I mentioned earlier, you need the ^3333FFRiding^000000 skill in order to rent a Grand PecoPeco.";
+ close;
+ sL_Zeny:
+ mes "[Grand PecoPeco Breeder]";
+ mes "As I said before it will be "+@price+"z. Come back when you have enough zeny.";
+ close;
+ sL_GotPeco:
+ mes "[Grand PecoPeco Breeder]";
+ mes "Umm... aren't you already riding a Grand PecoPeco??....";
+ emotion 20;
+ close;
+ M_1:
+ mes "[Grand PecoPeco Breeder]";
+ mes "Alright. Good day to you.";
+ close;
+
+}
+
+// Falcon Master--------------------------------------------------------------
+hu_in01.gat,375,318,5 script Falcon Master 59,{
+ if(Upper==0) set @price,800; //Normal Falcon - default price
+ if(Upper==1) set @price,1000; //Scarf Falcon
+ if(Upper==2) set @price,600; //Baby Falcon
+
+ mes "[Falcon Master]";
+ mes "Hellooooo, I am the Falcon Master.";
+ next;
+ menu "Speak with him",M_0, "Politely back away",M_End;
+
+ M_0:
+ mes "[Falcon Master]";
+ if(Upper==0)mes "I can train a Falcon for you, but you need "+@prize+"z and be a Hunter with mastered ^5555FF'Falcon Mastery'^000000 skill.";
+ if(Upper==1)mes "I can train a Scarf Falcon for you, but you need "+@prize+"z and be a Sniper with mastered ^5555FF'Falcon Mastery'^000000 skill.";
+ if(Upper==2)mes "I can train a Baby Falcon for you, but you need "+@prize+"z and be a Baby Hunter with mastered ^5555FF'Falcon Mastery'^000000 skill.";
+ next;
+ menu "Ok",sM_0, "No thanks",M_End;
+
+ sM_0:
+ if(BaseJob != Job_Hunter) goto sL_NotHunter;
+ if(checkfalcon(0) != 0) goto sL_GotFalc;
+ if(Zeny < @price) goto sL_Zeny;
+ if(getskilllv(127)==0) goto sL_NoSkill;
+ set Zeny, Zeny - @price;
+ mes "[Falcon Master]";
+ mes "It looks like you meet all the requirements to handle a Falcon. Here you are";
+ setfalcon;
+ next;
+ mes "[Falcon Master]";
+ mes "Please take very good care of it. It will prove to be a valuable companion.";
+ close;
+
+ sL_NotHunter:
+ mes "[Falcon Master]";
+ mes "As I said, Falcons can only be given to Hunters. Falcons are very picky about who they travel with you know.";
+ close;
+ sL_GotFalc:
+ mes "[Falcon Master]";
+ mes "You can only have 1 Falcon at a time.";
+ close;
+ sL_NoSkill:
+ mes "[Falcon Master]";
+ mes "I'm sorry but you do not have the Falcon Mastery skill. Please come back when you have learned it.";
+ close;
+ sL_Zeny:
+ mes "[Falcon Master]";
+ mes "As I said before it will be "+@price+"z. Come back when you aquire enough zeny.";
+ close;
+ M_End:
+ mes "[Falcon Master]";
+ mes "Have a nice day.";
+ close;
+}
diff --git a/npc/merchants/scrolls_arrows.txt b/npc/merchants/scrolls_arrows.txt
new file mode 100644
index 000000000..97f645e41
--- /dev/null
+++ b/npc/merchants/scrolls_arrows.txt
@@ -0,0 +1,38 @@
+//===== eAthena Script =======================================
+//= Magic Scrolls & Arrows + Arrow Quivers
+//===== By: ==================================================
+//= Lupus
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Some shops that sells Magic Scrolls, Arrow Quivers
+//= Temp shops, made in kRO to test some effects (they stay next to Geffen Tower entrance)
+//= Note: Coords and prices aren't right yet
+//= I made Scrolls cost 2x more in Prontera (uncomment extra shops if u want)
+//=
+//= Correct coords and Sprites if you have more info
+//= 1.1 Added Arrow Quivers (removed rare arrows from the shops)
+//= 1.2 Removed Horse Crest from this temp shop. Because this item has been added to Sohee/Grtst General drops [Lupus]
+//= TODO: Arrows shop should be transformed to Quivers Maker NPC
+//= 1.3 Removed Quivers Shop due to Quiver Maker NPC Jaax [Lupus]
+//= 1.4 Due to added Magic Scrolls drops... removed the temp shop [Lupus]
+//============================================================
+
+
+//=======================================================
+// All Magic Scrolls + Crest of the Horse
+//=======================================================
+// don't lower the price
+geffen.gat,125,91,2 shop Magic Scrolls 735, 686:650, 687:1300, 688:500, 689:1000, 690:500, 691:1000, 692:500, 693:1000, 694:500, 695:1000, 696:500, 697:1000, 698:350, 699:700, 700:350, 12000:700, 12001:1000, 12002:2000, 12003:100
+//prt_in.gat,121,65,3 shop Magic Scrolls 735, 686:1300, 687:2600, 688:1000, 689:2000, 690:1000, 691:2000, 692:1000, 693:2000, 694:1000, 695:2000, 696:1000, 697:2000, 698:700, 699:1400, 700:700, 12000:1700, 12001:2000, 12002:4000, 12003:110
+
+//=======================================================
+// Arrows
+//=======================================================
+//payon_in03.gat,159,10,4 shop Arrow Quivers 727, 12004:-1, 12005:-1, 12006:-1, 12007:-1, 12008:-1, 12009:-1, 12010:-1, 12011:-1, 12012:-1, 12013:-1, 12014:-1, 12015:-1, 1750:-1, 1770:-1, 1753:-1, 1765:-1, 1751:-1, 1752:-1, 1751:-1, 1755:-1, 1756:-1, 1754:-1, 1767:-1, 1757:-1, 1762:-1
+//geffen.gat,123,107,4 shop Arrow Quivers 727, 12004:-1, 12005:-1, 12006:-1, 12007:-1, 12008:-1, 12009:-1, 12010:-1, 12011:-1, 12012:-1, 12013:-1, 12014:-1, 12015:-1, 1750:-1, 1770:-1, 1753:-1, 1765:-1, 1751:-1, 1752:-1, 1751:-1, 1755:-1, 1756:-1, 1754:-1, 1767:-1, 1757:-1, 1762:-1
+//prt_in.gat,163,141,5 shop Arrow Quivers 727, 12004:-1, 12005:-1, 12006:-1, 12007:-1, 12008:-1, 12009:-1, 12010:-1, 12011:-1, 12012:-1, 12013:-1, 12014:-1, 12015:-1, 1750:-1, 1770:-1, 1753:-1, 1765:-1, 1751:-1, 1752:-1, 1751:-1, 1755:-1, 1756:-1, 1754:-1, 1767:-1, 1757:-1, 1762:-1
diff --git a/npc/merchants/shops.txt b/npc/merchants/shops.txt
new file mode 100644
index 000000000..6c307bb91
--- /dev/null
+++ b/npc/merchants/shops.txt
@@ -0,0 +1,309 @@
+//===== eAthena Script =======================================
+//= Shops
+//===== By: ==================================================
+//= eAthena Dev Team
+//===== Current Version: =====================================
+//= 1.18
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= swapped shop titles in GONRYUN, thanks to Kashy
+//= 1.3a Fixed Louyang map name. Added additional shops in Yuno. [kobra_k88]
+//= 1.4 Added Niflheim Shops
+//= 1.5 New Payon Locations [Darkchild]
+//= Moved shops in Umbala.txt here. Commented out the duplicate ones.[kobra_k88]
+//= 1.6 Removed GRAPE ID 514 from shops (caused exploits)
+//= 1.7 Removed juices from custom amatsu shops (it's a quest item + levelup exploit)
+//= 1.8 Corrected Niflheim Shops and Morroc Jewel Merchant [celest]
+//= 1.9 Updated Louyang shops thanks to MasterOfMuppets
+//= 1.10 Lutie Tools coords [Yor]
+//= 1.11 Added Belts to Prontera/Aldebaran shops, thanks to reddozen [Lupus]
+//= 1.12 official Ayothaya Shops, thanks to MasterOfMuppets [Lupus]
+//= 1.13 Added 5092 Coif into Prontera Church shop [Lupus]
+//= 1.14 Added Lighthalzen,Einbroch,Einbech shops. Updated Prontera,Morroc,Payon shops [Lupus]
+//= 1.15 Added Venom Knives into every Weapon Shop (that sells Knife[3]) [Lupus]
+//= 1.15a Fixed a small typo in alberta's weapon shop, thanks to reddozen for the fix [MasterOfMuppets]
+//= 1.16 Added a temp shop in Yuno to sell Blank scrolls, thanks to reddozen [MasterOfMuppets]
+//= 1.17 Added wand of hypnotist to the Lighthalzen weapon shop [MasterOfMuppets]
+//= - Guys, I suggest we crop these comments and put them at the bottom soon
+//= 1.18 Fixed some shops based on kRO shots [Poki#3]
+//= 1.19 Added Hugel and fixed Payon shops based on kRO shots [Poki#3]
+//============================================================
+
+
+
+//=======================================================
+//ALBERTA
+//=======================================================
+alb2trea.gat,87,65,1 shop Tool Dealer 83,1750:-1,1751:-1,1752:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,657:-1
+alberta_in.gat,94,56,4 shop Tool Dealer 83,501:-1,502:-1,503:-1,504:-1,506:-1,601:-1,602:-1,611:-1,610:-1,645:-1,656:-1,657:-1
+alberta_in.gat,165,96,1 shop Item Collector 74,909:-1,528:-1
+alberta_in.gat,182,96,1 shop Tool Dealer 73,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,525:-1,601:-1,602:-1,1750:-1,2243:-1,645:-1,656:-1,657:-1
+alberta_in.gat,180,15,1 shop Armor Dealer 101,2101:-1,2103:-1,2401:-1,2403:-1,2405:-1,2501:-1,2503:-1,2505:-1,2203:-1,2201:-1,2205:-1,2226:-1,2301:-1,2303:-1,2305:-1,2321:-1,2328:-1,2332:-1,2307:-1,2309:-1,2312:-1,2314:-1
+alberta_in.gat,188,21,1 shop Weapon Dealer 49,1750:-1,1751:-1,1101:-1,1104:-1,1107:-1,1201:-1,1204:-1,1207:-1,1601:-1,1701:-1,1301:-1,1351:-1,1354:-1,1357:-1,1360:-1,1771:-1
+//alberta_in.gat,18,59,5 shop Miner 48,1010:-1,1011:-1
+
+//=======================================================
+//AL DE BARAN
+//=======================================================
+aldeba_in.gat,20,60,5 shop Armor Dealer 101,2228:-1,2103:-1,2105:-1,2307:-1,2309:-1,2312:-1,2314:-1,2316:-1,2505:-1,2405:-1,2627:-1
+aldeba_in.gat,28,54,5 shop Weapon Dealer 85,1201:-1,1204:-1,1207:-1,1210:-1,1213:-1,1216:-1,1219:-1,1222:-1,1771:-1
+aldeba_in.gat,94,56,5 shop Tool Dealer 83,501:-1,502:-1,503:-1,504:-1,506:-1,601:-1,602:-1,611:-1,610:-1,645:-1,656:-1,657:-1
+//Commented out for now, until we get Homunculus working.
+//alde_alche.gat,38,184,2 shop Homunculus Supplies 755,7143:-1,7141:-1,7140:-1,12040:-1
+
+//=======================================================
+//AMATSU
+//=======================================================
+//Fruit merchant opens a zeny exploit (due to Juice Maker NPC)
+amatsu.gat,176,126,4 shop Fruit Merchant 53,512:-1,513:-1,515:-1,516:-1
+//amatsu.gat,169,111,6 shop Tool Dealer 83,611:-1,1750:-1,501:-1,502:-1,503:-1,504:-1,506:-1,525:-1,601:-1,602:-1,1065:-1,2239:-1
+amatsu.gat,180,102,3 shop Flower Girl 96,712:-1,744:-1,2612:-1
+amatsu.gat,189,99,7 shop Butcher 49,517:-1,528:-1,540:-1,541:-1
+amatsu.gat,169,119,6 shop Gift Merchant 91,734:-1,735:-1,736:-1,737:-1,746:-1
+amatsu.gat,183,127,5 shop Milk Merchant 90,519:-1
+//1st set
+//ama_in01.gat,96,28,4 shop Weapon Dealer 54,1750:-1,1751:-1,1701:-1,1201:-1,1204:-1,1207:-1,1601:-1,1101:-1,1104:-1,1107:-1,1110:-1,1113:-1,1122:-1,1119:-1,1123:-1,1126:-1,1157:-1,1129:-1,1116:-1,1301:-1,1771:-1
+//ama_in01.gat,103,24,1 shop Armor Dealer 48,2101:-1,2103:-1,2401:-1,2403:-1,2501:-1,2503:-1,2220:-1,2226:-1,2301:-1,2303:-1,2305:-1,2328:-1,2307:-1,2309:-1,2312:-1,2314:-1
+ama_in01.gat,101,18,8 shop Weapon Dealer 47,1401:-1,1404:-1,1407:-1,1451:-1,1454:-1,1457:-1,1460:-1,1463:-1,1410:-1
+//2nd set
+ama_in01.gat,89,28,4 shop Armor Dealer 757,2211:-1,2401:-1,2403:-1,2501:-1,2503:-1,2101:-1,2103:-1,2305:-1,2321:-1,2332:-1,2314:-1,2627:-1
+ama_in01.gat,102,28,4 shop Weapon Dealer 766,1207:-1,1216:-1,1107:-1,1122:-1,1116:-1,1154:-1,1407:-1,1457:-1,1354:-1,1519:-1
+ama_in01.gat,24,30,4 shop Tool Dealer 763,1750:-1,1770:-1,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,1065:-1
+
+//=======================================================
+//AYOTHAYA
+//=======================================================
+ayo_in01.gat,18,182,8 shop Tool Dealer 840,1750:-1,1753:-1,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,1065:-1
+ayo_in01.gat,90,192,3 shop Weapon Dealer 843,1207:-1,1216:-1,1107:-1,1122:-1,1116:-1,1154:-1,1407:-1,1457:-1,1354:-1,1519:-1
+ayo_in01.gat,90,160,1 shop Armor Dealer 842,2211:-1,2401:-1,2403:-1,2501:-1,2503:-1,2101:-1,2103:-1,2305:-1,2321:-1,2332:-1,2328:-1,2627:-1
+ayothaya.gat,202,178,4 shop Food Seller 750,7456:-1,577:-1
+
+//=======================================================
+//COMODO
+//=======================================================
+cmd_in01.gat,117,165,4 shop Armor Dealer 101,2226:-1,2228:-1,2103:-1,2105:-1,2405:-1,2503:-1,2505:-1,2305:-1,2321:-1,2307:-1,2309:-1,2335:-1,2312:-1,2314:-1,2316:-1
+cmd_in01.gat,131,165,4 shop Weapon Dealer 49,1903:-1,1905:-1,1907:-1,1950:-1,1952:-1,1954:-1,1956:-1,1401:-1,1404:-1,1407:-1,1451:-1,1454:-1,1457:-1,1460:-1,1463:-1,1410:-1
+cmd_in01.gat,79,182,4 shop Tool Dealer 83,1753:-1,501:-1,502:-1,503:-1,504:-1,645:-1,656:-1,657:-1,601:-1,602:-1,611:-1,1065:-1
+comodo.gat,296,125,4 shop Souvenir Merchant 101,965:-1,964:-1
+comodo.gat,244,296,7 shop Item Collector 74,909:-1,5
+comodo.gat,224,164,4 shop Food Seller 750,7455:-1
+
+//=======================================================
+//EINBECH
+//=======================================================
+ein_in01.gat,189,15,0 shop Tool Dealer 850,1750:-1,1752:-1,1751:-1,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,1065:-1
+
+//=======================================================
+//EINBROCH
+//=======================================================
+ein_in01.gat,106,27,4 shop One-Hand Weapon Dealer 850,1101:-1,1104:-1,1107:-1,1110:-1,1113:-1,1119:-1,1122:-1,1123:-1,1126:-1,1129:-1,1201:-1,1204:-1,1207:-1,1210:-1,1213:-1,1216:-1,1219:-1,1222:-1,1301:-1,1401:-1,1404:-1,1407:-1,1501:-1,1504:-1,1507:-1,1510:-1,1513:-1,1516:-1,1519:-1,1522:-1,1801:-1,1803:-1,1805:-1,1807:-1,1809:-1,1811:-1,1771:-1
+ein_in01.gat,109,27,4 shop Two-Hand Weapon Dealer 850,1116:-1,1151:-1,1154:-1,1157:-1,1160:-1,1351:-1,1354:-1,1357:-1,1360:-1,1410:-1,1451:-1,1454:-1,1457:-1,1460:-1,1463:-1,1250:-1,1252:-1,1254:-1
+einbroch.gat,138,66,3 shop Flu Mask Dealer 850,2218:-1
+einbroch.gat,82,199,3 shop Paddler 855,512:-1,645:-1,1750:-1,501:-1
+
+//=======================================================
+//GEFFEN
+//=======================================================
+geffen_in.gat,25,177,1 shop Armor Dealer 66,2101:-1,2107:-1,2401:-1,2501:-1,2230:-1,2301:-1,2303:-1,2305:-1,2321:-1,2332:-1
+geffen_in.gat,29,177,1 shop Weapon Dealer 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,1771:-1
+geffen_in.gat,74,144,1 shop Trader 66,909:-1,911:-1,910:-1,912:-1
+geffen_in.gat,77,167,1 shop Tool Dealer 68,1750:-1,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,525:-1,601:-1,602:-1,2241:-1,645:-1,656:-1,657:-1
+geffen_in.gat,77,173,1 shop Magical Tool Trader 64,717:-1,1601:-1,1604:-1,1607:-1,1610:-1,2232:-1,2321:-1,2332:-1
+geffen_in.gat,171,123,1 shop Tool Dealer 64,1092:-1,1093:-1
+geffen.gat,193,152,3 shop Pet Merchant 125,537:-1,643:-1,10013:-1,10014:-1
+
+//=======================================================
+//GONRYUN
+//=======================================================
+gonryun.gat,147,84,4 shop Tool Dealer 777,1750:-1,1751:-1,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,1065:-1
+gonryun.gat,174,101,4 shop Weapon Dealer 774,1207:-1,1216:-1,1107:-1,1122:-1,1116:-1,1154:-1,1407:-1,1457:-1,1354:-1,1519:-1
+gonryun.gat,173,84,4 shop Armor Dealer 770,2211:-1,2401:-1,2403:-1,2501:-1,2503:-1,2101:-1,2103:-1,2305:-1,2321:-1,2332:-1,2328:-1,2627:-1
+gonryun.gat,148,101,4 shop Food Seller 750,580:-1,7452:-1
+
+//=======================================================
+//HUGEL
+//=======================================================
+hugel.gat,105,169,5 shop Milk Merchant 53,519:-1
+hu_in01.gat,241,368,2 shop Tool Dealer 53,1750:-1,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,1065:-1
+hu_in01.gat,252,368,2 shop Tool Trader 90,717:-1,2201:-1,910:-1,528:-1
+hu_in01.gat,100,390,2 shop Bow Dealer 86,1701:-1,1707:-1,1718:-1,1714:-1
+hu_in01.gat,94,390,2 shop Weapon Dealer 898,1116:-1,1154:-1,1354:-1,1201:-1
+hu_in01.gat,94,313,2 shop Armor Dealer 86,2224:-1,2232:-1,2226:-1,2101:-1,2103:-1,2401:-1,2501:-1,2307:-1,2105:-1
+
+//=======================================================
+//IZLUDE
+//=======================================================
+izlude_in.gat,60,127,4 shop Weapon Dealer 98,1750:-1,1751:-1,1701:-1,1601:-1,1201:-1,1204:-1,1207:-1,1101:-1,1104:-1,1107:-1,1116:-1,1151:-1,1154:-1,1157:-1,1160:-1,1301:-1,1771:-1
+izlude_in.gat,70,127,4 shop Armor Dealer 101,2103:-1,2105:-1,2403:-1,2405:-1,2503:-1,2505:-1,2226:-1,2228:-1,2303:-1,2305:-1,2328:-1,2307:-1,2309:-1,2312:-1,2314:-1,2316:-1
+izlude_in.gat,115,61,1 shop Tool Dealer 47,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,525:-1,601:-1,602:-1,1750:-1,1065:-1,645:-1,656:-1,657:-1
+izlude.gat,121,138,1 shop Butcher 54,517:-1
+izlude.gat,127,120,1 shop Fruit Merchant 72,512:-1,513:-1,515:-1,516:-1
+izlude.gat,137,126,3 shop Milk Merchant 701,519:-1
+izlude.gat,164,138,4 shop Pet Merchant 125,537:-1,643:-1,10013:-1,10014:-1
+
+//=======================================================
+//LOUYANG
+//=======================================================
+lou_in02.gat,121,181,5 shop Armor Dealer 818,2101:-1,2103:-1,2401:-1,2403:-1,2501:-1,2503:-1,2211:-1,2305:-1,2328:-1,2332:-1,2321:-1
+lou_in02.gat,130,182,5 shop Weapon Dealer 774,1207:-1,1216:-1,1107:-1,1122:-1,1116:-1,1154:-1,1407:-1,1457:-1,1354:-1,1519:-1
+lou_in02.gat,239,176,5 shop Tool Dealer 818,1750:-1,1753:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,611:-1,1065:-1
+louyang.gat,255,123,4 shop Food Seller 750,7454:-1,577:-1
+
+//=======================================================
+//LIGHTHALZEN
+//=======================================================
+lighthalzen.gat,69,75,5 shop Fruit Merchant 102,512:-1,513:-1
+lighthalzen.gat,112,44,8 shop Flower Girl 90,712:-1,744:-1,748:-1
+lighthalzen.gat,126,126,4 shop Food Seller 83,7456:-1,7452:-1
+lhz_in02.gat,286,95,4 shop Novice Equipment Dealer 62,1621:-1,5112:-1,2416:-1,2113:-1,2512:-1
+lhz_in02.gat,271,99,4 shop Armor Dealer 851,2101:-1,2103:-1,2403:-1,2405:-1,2503:-1,2321:-1,2314:-1,2309:-1,2335:-1,2628:-1
+lhz_in02.gat,276,99,4 shop Weapon Dealer 851,1201:-1,1207:-1,1216:-1,1107:-1,1122:-1,1116:-1,1154:-1,1407:-1,1457:-1,1354:-1,1519:-1,13003:-1,1771:-1
+lhz_in02.gat,273,35,4 shop Weapon Dealer 854,1601:-1,1604:-1,1607:-1,1617:-1,1619:-1
+lhz_in02.gat,105,21,3 shop Jewel Seller 91,721:-1,723:-1,726:-1,728:-1,729:-1,730:-1,2613:-1
+lhz_in02.gat,17,220,4 shop Vegetable Merchant 91,515:-1,516:-1,535:-1
+lhz_in02.gat,21,220,5 shop Fruit Merchant 102,512:-1,513:-1
+lhz_in02.gat,32,218,6 shop Butcher 54,517:-1
+lhz_in02.gat,38,145,4 shop Gift Merchant 91,734:-1,735:-1,736:-1,737:-1,746:-1
+lhz_in02.gat,47,148,5 shop Wedding Goods Merchant 71,744:-1,745:-1,2338:-1,2206:-1,7170:-1
+lhz_in02.gat,31,145,4 shop Tool Dealer 90,611:-1,503:-1,504:-1,506:-1,657:-1,656:-1,601:-1,602:-1,1065:-1,610:-1,1750:-1
+lhz_in02.gat,85,215,4 shop Doll Merchant 91,740:-1,741:-1,742:-1
+lhz_in02.gat,87,208,2 shop Eyewear Merchant 715,2243:-1,2212:-1,2242:-1,2241:-1
+
+//=======================================================
+//LUTIE
+//=======================================================
+xmas_in.gat,39,38,4 shop Tool Dealer 83,501:-1,502:-1,503:-1,504:-1,506:-1,611:-1,601:-1,602:-1,610:-1
+xmas_in.gat,168,104,4 shop Armor Dealer 101,2228:-1,2103:-1,2105:-1,2307:-1,2309:-1,2312:-1,2314:-1,2316:-1,2505:-1,2405:-1
+xmas_in.gat,169,34,2 shop Gift Merchant 702,2612:-1,744:-1,748:-1,736:-1,746:-1,740:-1,2613:-1
+xmas_in.gat,174,98,2 shop Weapon Dealer 49,1201:-1,1204:-1,1207:-1,1210:-1,1213:-1,1216:-1,1219:-1,1222:-1,1771:-1
+xmas.gat,144,207,4 shop Tool Dealer 83,601:-1,602:-1
+
+//=======================================================
+//MORROC
+//=======================================================
+morocc_in.gat,141,67,1 shop Weapon Dealer 58,1750:-1,1751:-1,1701:-1,1601:-1,1201:-1,1204:-1,1207:-1,1210:-1,1213:-1,1216:-1,1219:-1,1222:-1,1250:-1,1252:-1,1254:-1,1771:-1
+morocc_in.gat,141,60,1 shop Armor Dealer 58,2101:-1,2103:-1,2401:-1,2403:-1,2405:-1,2501:-1,2503:-1,2218:-1,2301:-1,2303:-1,2305:-1,2321:-1,2328:-1,2332:-1,2307:-1,2309:-1,2335:-1
+morocc.gat,35,69,1 shop Trader 89,2609:-1,1516:-1,1522:-1
+morocc.gat,139,92,1 shop Trader 99,513:-1,513:-1,513:-1,513:-1,513:-1,513:-1
+morocc.gat,145,44,1 shop Jewel Seller 99,730:-1,2613:-1
+morocc.gat,147,102,5 shop Tool Dealer 93,1750:-1,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,525:-1,601:-1,602:-1,1065:-1,645:-1,656:-1,657:-1
+morocc.gat,151,243,1 shop Tool Dealer 99,1750:-1,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,525:-1,601:-1,602:-1,2242:-1,645:-1,656:-1,657:-1
+morocc.gat,157,72,6 shop Butcher 49,517:-1
+morocc.gat,166,51,1 shop Jewel Seller 102,721:-1,723:-1,726:-1,728:-1,729:-1
+morocc.gat,170,101,3 shop Tool Dealer 85,911:-1,528:-1,919:-1,925:-1
+morocc.gat,206,250,1 shop Tool Dealer 85,911:-1,528:-1,919:-1,925:-1
+morocc.gat,244,134,1 shop Trader 93,2612:-1
+morocc.gat,259,193,1 shop Trader 99,747:-1
+morocc.gat,268,193,1 shop Trader 93,748:-1
+morocc.gat,269,167,4 shop Pet Merchant 125,537:-1,643:-1,10013:-1,10014:-1
+//morocc_in.gat,65,37,4 shop Miner 48,1010:-1,1011:-1
+morocc_in.gat,132,57,0 shop Weapon Dealer 99,1146:-1,1245:-1
+
+//=======================================================
+//NIFLHEIM
+//=======================================================
+nif_in.gat,35,84,3 shop Weapon Dealer 795,1301:-1,1351:-1,1354:-1,1357:-1,1360:-1
+nif_in.gat,35,91,3 shop Armor Dealer 796,2501:-1,2501:-1,2503:-1,2503:-1,2505:-1,2505:-1
+nif_in.gat,154,21,3 shop Tool Dealer 798,535:-1,1062:-1,902:-1,7106:-1,537:-1,7154:-1,1052:-1,934:-1
+//nif_in.gat,35,84,3 shop Weapon Dealer 795,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
+//nif_in.gat,35,91,3 shop Armor Dealer 796,2101:-1,2107:-1,2401:-1,2501:-1,2230:-1,2301:-1,2303:-1,2305:-1,2321:-1,2332:-1
+//nif_in.gat,154,21,3 shop Tool Dealer 798,611:-1,1750:-1,501:-1,502:-1,503:-1,504:-1,506:-1,525:-1,601:-1,602:-1,1065:-1,2239:-1,645:-1,656:-1,657:-1
+//niflheim.gat,201,209,3 shop Milk Merchant 794,519:-1
+//niflheim.gat,224,185,3 shop Fruit Merchant 795,512:-1,513:-1
+//niflheim.gat,209,161,3 shop Butcher 794,517:-1,528:-1
+//niflheim.gat,205,152,3 shop Gift Merchant 795,734:-1,735:-1,736:-1,737:-1,746:-1
+
+//=======================================================
+//PAYON
+//=======================================================
+payon_in01.gat,7,119,4 shop Weapon Dealer 76,1750:-1,1751:-1,1101:-1,1104:-1,1107:-1,1201:-1,1204:-1,1207:-1,1601:-1,1701:-1,1704:-1,1707:-1,1710:-1,1713:-1,1714:-1,1718:-1,1771:-1
+payon_in01.gat,5,129,6 shop Weapon Dealer 703,1146:-1,1245:-1
+payon_in01.gat,15,119,4 shop Armor Dealer 77,2401:-1,2403:-1,2405:-1,2501:-1,2503:-1,2505:-1,2208:-1,2211:-1,2212:-1,2301:-1,2303:-1,2305:-1,2321:-1,2328:-1,2332:-1,2309:-1,2330:-1,2628:-1
+payon_in01.gat,5,49,0 shop Tool Dealer 88,1750:-1,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,1065:-1
+payon_in02.gat,87,34,1 shop Tool Dealer 98,1750:-1,1751:-1,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,525:-1,601:-1,602:-1,1065:-1,645:-1,656:-1,657:-1
+payon.gat,159,96,5 shop Tool Dealer 88,1750:-1,501:-1,645:-1,601:-1,602:-1
+payon.gat,205,119,4 shop Food Seller 750,7455:-1
+//Not Shure About Pet Shop
+payon.gat,104,63,4 shop Pet Merchant 125,537:-1,643:-1,10013:-1,10014:-1
+pay_arche.gat,125,108,1 shop Milk Merchant 90,519:-1
+pay_arche.gat,132,101,1 shop Vegetable Merchant 102,515:-1,516:-1
+pay_arche.gat,140,124,1 shop Butcher 87,517:-1,528:-1
+
+//=======================================================
+//PRONTERA
+//=======================================================
+prontera.gat,73,134,1 shop Milk Merchant 90,519:-1
+prontera.gat,104,49,1 shop Fruit Merchant 102,512:-1,513:-1
+prontera.gat,64,125,1 shop Butcher 87,517:-1,528:-1
+prontera.gat,58,182,1 shop Flower Girl 96,712:-1,744:-1
+prontera.gat,113,42,1 shop Flower Lady 90,712:-1,744:-1
+prontera.gat,105,87,1 shop Gift Merchant 91,734:-1,735:-1,736:-1,737:-1,746:-1
+prontera.gat,218,211,4 shop Pet Merchant 125,537:-1,643:-1,10013:-1,10014:-1
+prontera.gat,248,153,1 shop Doll Merchant 85,740:-1,741:-1,742:-1
+prontera.gat,156,212,2 shop Food Seller 700,7454:-1,7452:-1,7482:-1,580:-1
+prt_church.gat,108,124,1 shop Nun 79,2608:-1,2216:-1,2323:-1,2325:-1,1501:-1,1504:-1,1507:-1,1510:-1,1513:-1,1519:-1,5092:-1
+prt_fild05.gat,290,221,1 shop Tool Dealer 83,1750:-1,611:-1,501:-1,502:-1,506:-1,601:-1,602:-1,645:-1,656:-1,657:-1
+prt_in.gat,211,169,1 shop Wedding Goods Merchant 71,744:-1,745:-1,2338:-1,2206:-1,7170:-1
+prt_in.gat,126,76,1 shop Tool Dealer 53,611:-1,1750:-1,501:-1,502:-1,503:-1,504:-1,506:-1,525:-1,601:-1,602:-1,1065:-1,2239:-1,645:-1,656:-1,657:-1
+prt_in.gat,172,130,1 shop Weapon Dealer 54,1750:-1,1751:-1,1701:-1,1201:-1,1204:-1,1207:-1,1601:-1,1101:-1,1104:-1,1107:-1,1110:-1,1113:-1,1122:-1,1119:-1,1123:-1,1126:-1,1157:-1,1129:-1,1116:-1,1301:-1,1771:-1
+prt_in.gat,172,132,1 shop Armor Dealer 48,2101:-1,2103:-1,2401:-1,2403:-1,2501:-1,2503:-1,2220:-1,2226:-1,2301:-1,2303:-1,2305:-1,2328:-1,2307:-1,2309:-1,2312:-1,2314:-1,2627:-1
+prt_in.gat,171,140,1 shop Weapon Dealer 47,1401:-1,1404:-1,1407:-1,1451:-1,1454:-1,1457:-1,1460:-1,1463:-1,1410:-1
+//prt_in.gat,56,69,4 shop Miner 48,1010:-1,1011:-1
+prt_in.gat,165,140,4 shop Weapon Dealer 66,1146:-1,1245:-1
+
+//=======================================================
+//TURTLE ISLAND
+//=======================================================
+tur_dun01.gat,158,54,6 shop Tool Dealer 99,1750:-1,501:-1,502:-1,503:-1,504:-1,506:-1,525:-1,601:-1,602:-1,645:-1,656:-1,657:-1
+// Spectacles: missing as second item in list
+// Luxury Sunglases: not sure of item/price.
+
+//=======================================================
+//UMBALA
+//=======================================================
+um_in.gat,104,124,3 shop Item Merchant 788,512:15,515:15,535:15,516:15,513:15,517:50,528:60,537:1000,601:60,602:300,645:800,656:1500,610:4000
+um_in.gat,160,125,3 shop Weapon Merchant 789,1501:120,1504:1600,1507:9000,1510:16000,1513:41000,1519:23000,1807:53000,1811:58000,1809:67000
+um_in.gat,151,125,4 shop Armor Merchant 49,2103:-1,2105:-1,2403:-1,2405:-1,2503:-1,2505:-1,2226:-1,2228:-1,2303:-1,2305:-1,2328:-1,2307:-1,2309:-1,2312:-1,2314:-1,2316:-1
+//um_in.gat,159,123,3 shop Weapon Merchant 52,1750:-1,1751:-1,1701:-1,1601:-1,1201:-1,1204:-1,1207:-1,1101:-1,1104:-1,1107:-1,1116:-1,1151:-1,1154:-1,1157:-1,1160:-1,1301:-1
+//um_in.gat,98,124,3 shop Tool Merchant 47,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,525:-1,601:-1,602:-1,1750:-1,1065:-1
+//um_in.gat,103,124,4 shop Food Merchant 91,515:-1,516:-1,535:-1,519:-1,517:-1
+umbala.gat,101,154,4 shop Food Seller 750,7456:-1,577:-1
+
+
+//=======================================================
+//YUNO
+//=======================================================
+yuno.gat,65,122,4 shop Fruit Merchant 93,512:-1,513:-1,515:-1,516:-1
+yuno.gat,217,97,4 shop Tool Dealer 83,611:-1,1750:-1,501:-1,502:-1,503:-1,504:-1,505:-1,506:-1,645:-1,656:-1,601:-1,602:-1
+yuno.gat,226,106,5 shop Trader 97, 911:-1, 910:-1, 912:-1
+yuno.gat,197,115,4 shop Pet Merchant 124, 537:-1, 643:-1, 10013:-1, 10014:-1
+yuno.gat,205,104,4 shop Equip Dealer 84, 2340:-1, 2341:-1, 2411:-1, 2222:-1, 2230:-1, 1721:-1
+yuno.gat,163,187,5 shop Magic Dealer 90,717:-1,1601:-1,1604:-1,1607:-1,1610:-1,2232:-1,2321:-1,2332:-1
+yuno_in01.gat,25,34,4 shop Tool Dealer 83,611:-1,1750:-1,501:-1,502:-1,503:-1,504:-1,505:-1,506:-1,645:-1,656:-1,601:-1,602:-1
+yuno_in01.gat,104,35,4 shop Weapon Dealer 49,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,1771:-1
+yuno_in01.gat,112,25,5 shop Armor Dealer 101,2628:-1,2101:-1,2107:-1,2401:-1,2501:-1,2230:-1,2301:-1,2303:-1,2305:-1,2321:-1,2332:-1
+//Temp shop in Yuno that sells Blank Scrolls
+yuno_in03.gat,176,22,3 shop Scroll Seller 89,7433:1000
+
+
+//=======================================================
+// ST. CAPITOLINA ABBEY
+//======================================
+//= Monk shop, sells Knuckle weapons)
+//=======================================================
+prt_monk.gat,135,263,3 shop Blacksmith 726, 1801:8000//Waghnak, 1803:25000//Knuckle Dusters, 1805:32000//Studded Knuckles
+
+
+//=======================================================
+//New Food Sellers (rearrange them when it's settled down) [Lupus]
+//=======================================================
+yuno.gat,133,171,2 shop Food Seller 750,7457:-1,7482:-1
+niflheim.gat,205,158,1 shop Food Seller 795,581:-1 //temp coords, temp spr ID
+alberta.gat,169,136,4 shop Food Seller 750,579:-1
+amatsu.gat,205,150,2 shop Food Seller 750,7453:-1,579:-1
+morocc.gat,121,97,5 shop Food Seller 750,7455:-1,7453:-1,7452:-1,7456:-1,7454:-1
+aldebaran.gat,166,109,7 shop Food Seller 750,580:-1,7482:-1 //temp goods
+geffen.gat,135,64,3 shop Food Seller 750,580:-1,7482:-1 //temp coords, temp goods
diff --git a/npc/omobs/citycleaners.txt b/npc/omobs/citycleaners.txt
new file mode 100644
index 000000000..4a93340a6
--- /dev/null
+++ b/npc/omobs/citycleaners.txt
@@ -0,0 +1,34 @@
+//===== eAthena Script =======================================
+//= Mob Spawn in cities
+//===== By: ==================================================
+//= massdriller
+//===== Current Version: =====================================
+//= 0.1b
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Spawns monsters to clean up city. Apparently spawning
+//= occured in iRO and kRO. Enable this if you want.
+//= 0.1a Added a few more towns to spawn Wild rose [MasterOfMuppets]
+//= 0.1b And even more from Poki#3 [Komurka]
+//============================================================
+
+prontera.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+geffen.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+izlude.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+payon.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+alberta.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+morocc.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+comodo.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+yuno.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+aldebaran.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+umbala.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+amatsu.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+gonryun.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+louyang.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+ayothaya.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+einbroch.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+einbech.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+lighthalzen.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+xmas.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0
+hugel.gat,0,0,0,0 monster Wild Rose 1261,1,1,3600000,0 \ No newline at end of file
diff --git a/npc/omobs/dungeons/abyss.txt b/npc/omobs/dungeons/abyss.txt
new file mode 100644
index 000000000..095c0e3bf
--- /dev/null
+++ b/npc/omobs/dungeons/abyss.txt
@@ -0,0 +1,41 @@
+//===== eAthena Script =======================================
+//= Abyss Lake Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.0 Real spawns by Poki#3 [Nexon]
+//============================================================
+
+//Abyss Lakes Underground Cave Flor 1
+abyss_01.gat,0,0,0,0 monster Penomena 1216,20,30000,0,0
+abyss_01.gat,0,0,0,0 monster Mimic 1191,20,0,0,0
+abyss_01.gat,0,0,0,0 monster Ancient Mimic 1699,1,0,0,0
+abyss_01.gat,0,0,0,0 monster Novus 1715,10,0,0,0
+abyss_01.gat,0,0,0,0 monster Ferus 1717,20,0,0,0
+abyss_01.gat,0,0,0,0 monster Hydro­ 1720,1,1800000,0,0
+
+//Abyss Lakes Underground Cave Flor 2
+abyss_02.gat,0,0,0,0 monster Ancient Mimic 1699,10,0,0,0
+abyss_02.gat,0,0,0,0 monster Dragon Egg 1721,5,0,0,0
+abyss_02.gat,0,0,0,0 monster Acidus 1713,30,0,0,0
+abyss_02.gat,0,0,0,0 monster Acidus 1716,30,0,0,0
+abyss_02.gat,0,0,0,0 monster Novus 1715,10,0,0,0
+abyss_02.gat,0,0,0,0 monster Novus 1718,10,0,0,0
+abyss_02.gat,0,0,0,0 monster Ferus 1717,30,0,0,0
+abyss_02.gat,0,0,0,0 monster Hydro­ 1720,1,1800000,0,0
+
+//Abyss Lakes Underground Cave Flor 3
+abyss_03.gat,0,0,0,0 monster Ancient Mimic 1699,20,0,0,0
+abyss_03.gat,0,0,0,0 monster Dragon Egg 1721,5,0,0,0
+abyss_03.gat,0,0,0,0 monster Spring Rabbit 1690,10,0,0,0
+abyss_03.gat,0,0,0,0 monster Acidus 1713,20,0,0,0
+abyss_03.gat,0,0,0,0 monster Acidus 1716,20,0,0,0
+abyss_03.gat,0,0,0,0 monster Novus 1715,10,0,0,0
+abyss_03.gat,0,0,0,0 monster Novus 1718,10,0,0,0
+abyss_03.gat,0,0,0,0 monster Ferus 1714,20,0,0,0
+abyss_03.gat,0,0,0,0 monster Hydro­ 1720,2,1800000,0,0
+abyss_03.gat,0,0,0,0 monster Detale 1719,1,3600000,7200000,0
diff --git a/npc/omobs/dungeons/amatdun.txt b/npc/omobs/dungeons/amatdun.txt
new file mode 100644
index 000000000..6303ede4b
--- /dev/null
+++ b/npc/omobs/dungeons/amatdun.txt
@@ -0,0 +1,39 @@
+//===== eAthena Script =======================================
+//= Amatsu Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// ama_dun01
+
+ama_dun01.gat,0,0,0,0 monster Miyabi Doll 1404,65,0,0,0
+ama_dun01.gat,0,0,0,0 monster Antique Firelock 1403,45,0,0,0
+ama_dun01.gat,0,0,0,0 monster Shinobi 1401,2,180000,90000,0
+
+// ama_dun02
+
+ama_dun02.gat,0,0,0,0 monster Poison Toad 1402,35,180000,90000,0
+ama_dun02.gat,0,0,0,0 monster Antique Firelock 1403,20,60000,30000,0
+ama_dun02.gat,0,0,0,0 monster Miyabi Doll 1404,5,120000,60000,0
+ama_dun02.gat,0,0,0,0 monster Shinobi 1401,2,180000,90000,0
+ama_dun02.gat,0,0,0,0 monster Horong 1129,10,0,0,0
+ama_dun02.gat,0,0,0,0 monster The Paper 1375,1,180000,90000,0
+
+// ama_dun03
+
+ama_dun03.gat,0,0,0,0 monster Shinobi 1401,35,600000,300000,0
+ama_dun03.gat,0,0,0,0 monster Antique Firelock 1403,25,0,0,0
+ama_dun03.gat,0,0,0,0 monster Miyabi Doll 1404,1,0,0,0
+ama_dun03.gat,0,0,0,0 monster Tengu 1405,40,600000,300000,0
+ama_dun03.gat,0,0,0,0 monster Mimic 1191,5,0,0,0
+ama_dun03.gat,0,0,0,0 monster The Paper 1375,20,600000,300000,0
+
+ama_dun03.gat,0,0,0,0 monster Incantation Samurai 1492,1,5460000,3600000,0
+ama_dun03.gat,0,0,0,0 monster Shinobi 1401,20,5450000,3600000,0
+ama_dun03.gat,0,0,0,0 monster Tengu 1405,15,5440000,3600000,0
diff --git a/npc/omobs/dungeons/anthell.txt b/npc/omobs/dungeons/anthell.txt
new file mode 100644
index 000000000..03dcf0705
--- /dev/null
+++ b/npc/omobs/dungeons/anthell.txt
@@ -0,0 +1,119 @@
+//===== eAthena Script =======================================
+//= Ant Hell Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// Anthell01
+
+anthell01.gat,0,0,0,0 monster Familiar 1005,20,0,0,0
+anthell01.gat,0,0,0,0 monster Andre 1095,15,0,0,0
+anthell01.gat,0,0,0,0 monster Piere 1160,50,0,0,0
+anthell01.gat,0,0,0,0 monster Deniro 1105,40,0,0,0
+anthell01.gat,0,0,0,0 monster Vitata 1176,10,0,0,0
+anthell01.gat,0,0,0,0 monster Giearth 1121,1,0,0,0
+anthell01.gat,0,0,0,0 monster Maya Purple 1289,1,7200000,3600000,1
+anthell01.gat,28,266,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,29,266,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,28,265,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,28,264,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,28,263,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,28,262,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,29,265,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,29,264,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,29,263,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,29,262,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,30,265,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,30,264,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,30,263,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,30,262,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,30,261,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,31,264,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,31,263,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,31,262,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,32,263,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,40,270,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,40,269,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,40,268,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,40,267,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,40,266,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,40,265,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,41,269,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,41,268,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,41,267,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,41,266,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,41,265,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,30,198,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,31,198,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,32,197,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,32,196,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,31,195,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,30,195,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,31,194,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,33,195,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,33,196,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,30,190,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,31,190,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,32,189,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,32,198,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,32,187,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,32,186,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,31,186,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,40,168,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,41,168,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,42,168,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,42,167,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,42,166,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,42,165,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,41,165,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,43,165,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,44,165,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,45,165,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,44,166,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,43,166,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,30,187,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,29,186,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,38,186,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,37,186,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,36,186,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,35,186,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,36,187,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,38,184,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,38,183,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,37,183,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,99,127,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,98,127,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,97,127,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,97,126,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,97,125,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,97,124,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,97,123,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,98,121,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,99,121,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,100,121,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,101,121,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,102,121,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,104,123,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,104,122,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,104,120,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,103,120,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,103,121,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,102,121,0,0 monster Ant Egg 1097,1,60000,30000,0
+anthell01.gat,105,124,0,0 monster Ant Egg 1097,1,60000,30000,0
+
+// Anthell02
+
+anthell02.gat,0,0,0,0 monster Ant Egg 1097,15,0,0,0
+anthell02.gat,0,0,0,0 monster Familiar 1005,20,0,0,0
+anthell02.gat,0,0,0,0 monster Andre 1095,50,0,0,0
+anthell02.gat,0,0,0,0 monster Piere 1160,15,0,0,0
+anthell02.gat,0,0,0,0 monster Deniro 1105,15,0,0,0
+anthell02.gat,0,0,0,0 monster Vitata 1176,30,0,0,0
+anthell02.gat,0,0,0,0 monster Giearth 1121,3,0,0,0
+anthell02.gat,0,0,0,0 monster Maya 1147,1,7200000,3600000,1
diff --git a/npc/omobs/dungeons/ayodun.txt b/npc/omobs/dungeons/ayodun.txt
new file mode 100644
index 000000000..620fada1b
--- /dev/null
+++ b/npc/omobs/dungeons/ayodun.txt
@@ -0,0 +1,24 @@
+//===== eAthena Script =======================================
+//= Ayothana Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= Currently using euRO data provided by Ishizu
+//= 1.2 Moved Tao Gunka to west cave of Comodo [Lupus]
+//============================================================
+
+//=== Ayothana Dungeon #1 ===
+ayo_dun01.gat,0,0,0,0 monster Whisper 1179,10,0,0,0
+ayo_dun01.gat,0,0,0,0 monster Ghoul 1036,30,0,0,0
+ayo_dun01.gat,0,0,0,0 monster Kraben 1587,5,0,0,0
+ayo_dun01.gat,0,0,0,0 monster Leaf Cat 1586,60,0,0,0
+
+//=== Ayothana Dungeon #2 ===
+ayo_dun02.gat,0,0,0,0 monster Whisper 1179,20,0,0,0
+ayo_dun02.gat,0,0,0,0 monster Kraben 1587,20,0,0,0
+ayo_dun02.gat,0,0,0,0 monster Tamruan 1584,70,0,0,0
+ayo_dun02.gat,0,0,0,0 monster Lady Tany 1688,1,3600000,1800000,1
diff --git a/npc/omobs/dungeons/beachdun.txt b/npc/omobs/dungeons/beachdun.txt
new file mode 100644
index 000000000..a97694b4a
--- /dev/null
+++ b/npc/omobs/dungeons/beachdun.txt
@@ -0,0 +1,37 @@
+//===== eAthena Script =======================================
+//= Beach Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+//beach_dun
+
+beach_dun.gat,0,0,0,0 monster Medusa 1148,20,0,0,0
+beach_dun.gat,0,0,0,0 monster Merman 1264,3,10000,5000,0
+beach_dun.gat,0,0,0,0 monster Neraid 1255,15,0,0,0
+beach_dun.gat,0,0,0,0 monster Pest 1256,15,0,0,0
+beach_dun.gat,0,0,0,0 monster Penomena 1216,5,30000,0,0
+beach_dun.gat,0,0,0,0 monster Tao Gunka 1583,1,3600000,1800000,1
+
+//beach_dun2
+
+beach_dun2.gat,0,0,0,0 monster Megalith 1274,30,0,0,0
+beach_dun2.gat,0,0,0,0 monster Neraid 1255,5,0,0,0
+beach_dun2.gat,0,0,0,0 monster Stalactite Golem 1278,40,5000,0,0
+beach_dun2.gat,0,0,0,0 monster Tri-Joint 1279,20,0,0,0
+beach_dun2.gat,0,0,0,0 monster Hydra 1068,15,0,0,0
+
+//beach_dun3
+
+beach_dun3.gat,0,0,0,0 monster Neraid 1255,1,200000,100000,0
+//putmob "beach_dun3" 0 0 0 0 1 PEST 60000 0 0
+beach_dun3.gat,0,0,0,0 monster Thara Frog 1034,50,0,0,0
+//putmob "beach_dun3" 0 0 0 0 3 TRI_JOINT 0 0 0
+beach_dun3.gat,0,0,0,0 monster Hydra 1068,30,0,0,0
+beach_dun3.gat,0,0,0,0 monster Megalodon 1064,30,0,0,0
diff --git a/npc/omobs/dungeons/byalan.txt b/npc/omobs/dungeons/byalan.txt
new file mode 100644
index 000000000..565b40a68
--- /dev/null
+++ b/npc/omobs/dungeons/byalan.txt
@@ -0,0 +1,110 @@
+//===== eAthena Script =======================================
+//= Byalan Island Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// Iz_dun00
+
+iz_dun00.gat,0,0,0,0 monster Plankton 1161,65,0,0,0
+iz_dun00.gat,0,0,0,0 monster Marina 1141,45,0,0,0
+iz_dun00.gat,0,0,0,0 monster Kukre 1070,15,0,0,0
+iz_dun00.gat,0,0,0,0 monster Hydra 1068,15,0,0,0
+iz_dun00.gat,0,0,0,0 monster Vadon 1066,15,0,0,0
+iz_dun00.gat,0,0,0,0 monster Black Mushroom 1084,5,180000,90000,1
+
+
+// Iz_dun01
+
+iz_dun01.gat,0,0,0,0 monster Plankton 1161,10,0,0,0
+iz_dun01.gat,0,0,0,0 monster Marina 1141,15,0,0,0
+iz_dun01.gat,0,0,0,0 monster Kukre 1070,50,0,0,0
+iz_dun01.gat,0,0,0,0 monster Hydra 1068,30,0,0,0
+iz_dun01.gat,0,0,0,0 monster Vadon 1066,60,0,0,0
+iz_dun01.gat,0,0,0,0 monster Cornutus 1067,15,300000,150000,1
+iz_dun01.gat,0,0,0,0 monster Black Mushroom 1084,10,180000,90000,1
+
+// Iz_dun02
+
+iz_dun02.gat,0,0,0,0 monster Hydra 1068,40,0,0,0
+iz_dun02.gat,0,0,0,0 monster Cornutus 1067,60,0,0,0
+iz_dun02.gat,0,0,0,0 monster Marse 1144,40,0,0,0
+iz_dun02.gat,0,0,0,0 monster Obeaune 1044,40,0,0,0
+iz_dun02.gat,0,0,0,0 monster Merman 1264,1,0,0,0
+iz_dun02.gat,0,0,0,0 monster Black Mushroom 1084,15,180000,90000,1
+
+// Iz_dun03
+
+iz_dun03.gat,0,0,0,0 monster Hydra 1068,10,0,0,0
+iz_dun03.gat,0,0,0,0 monster Phen 1158,45,0,0,0
+iz_dun03.gat,0,0,0,0 monster Marine Sphere 1142,20,0,0,0
+iz_dun03.gat,0,0,0,0 monster Swordfish 1069,40,0,0,0
+iz_dun03.gat,0,0,0,0 monster Marc 1045,40,0,0,0
+iz_dun03.gat,203,59,0,0 monster Hydra 1068,1,312000,150000,0
+iz_dun03.gat,203,56,0,0 monster Hydra 1068,1,323000,150000,0
+iz_dun03.gat,203,53,0,0 monster Hydra 1068,1,317000,150000,0
+iz_dun03.gat,203,50,0,0 monster Hydra 1068,1,323000,150000,0
+iz_dun03.gat,203,47,0,0 monster Hydra 1068,1,305000,150000,0
+iz_dun03.gat,204,60,0,0 monster Hydra 1068,1,304000,150000,0
+iz_dun03.gat,204,57,0,0 monster Hydra 1068,1,302000,150000,0
+iz_dun03.gat,204,54,0,0 monster Hydra 1068,1,310000,150000,0
+iz_dun03.gat,204,51,0,0 monster Hydra 1068,1,309000,150000,0
+iz_dun03.gat,204,48,0,0 monster Hydra 1068,1,313000,150000,0
+iz_dun03.gat,191,144,0,0 monster Hydra 1068,1,321000,150000,0
+iz_dun03.gat,194,144,0,0 monster Hydra 1068,1,316000,150000,0
+iz_dun03.gat,197,144,0,0 monster Hydra 1068,1,296000,150000,0
+iz_dun03.gat,200,144,0,0 monster Hydra 1068,1,282000,150000,0
+iz_dun03.gat,203,144,0,0 monster Hydra 1068,1,310000,150000,0
+iz_dun03.gat,206,144,0,0 monster Hydra 1068,1,305000,150000,0
+iz_dun03.gat,209,144,0,0 monster Hydra 1068,1,308000,150000,0
+iz_dun03.gat,212,144,0,0 monster Hydra 1068,1,321000,150000,0
+iz_dun03.gat,193,143,0,0 monster Hydra 1068,1,300000,150000,0
+iz_dun03.gat,196,143,0,0 monster Hydra 1068,1,300000,150000,0
+iz_dun03.gat,199,143,0,0 monster Hydra 1068,1,300000,150000,0
+iz_dun03.gat,202,143,0,0 monster Hydra 1068,1,300000,150000,0
+iz_dun03.gat,205,143,0,0 monster Hydra 1068,1,300000,150000,0
+iz_dun03.gat,208,143,0,0 monster Hydra 1068,1,300000,150000,0
+iz_dun03.gat,211,143,0,0 monster Hydra 1068,1,300000,150000,0
+iz_dun03.gat,176,260,0,0 monster Hydra 1068,1,300000,150000,0
+iz_dun03.gat,180,251,0,0 monster Hydra 1068,1,300000,150000,0
+iz_dun03.gat,178,253,0,0 monster Hydra 1068,1,300000,150000,0
+iz_dun03.gat,108,249,0,0 monster Hydra 1068,1,300000,150000,0
+iz_dun03.gat,80,163,0,0 monster Hydra 1068,1,300000,150000,0
+iz_dun03.gat,0,0,0,0 monster Merman 1264,3,0,0,0
+
+// Iz_dun04
+
+iz_dun04.gat,0,0,0,0 monster Marine Sphere 1142,10,0,0,0
+iz_dun04.gat,0,0,0,0 monster Swordfish 1069,10,0,0,0
+iz_dun04.gat,0,0,0,0 monster Merman 1264,50,0,0,0
+iz_dun04.gat,0,0,0,0 monster Strouf 1065,3,0,0,0
+iz_dun04.gat,58,135,0,0 monster Hydra 1068,1,305000,150000,0
+iz_dun04.gat,61,135,0,0 monster Hydra 1068,1,300000,150000,0
+iz_dun04.gat,42,129,0,0 monster Hydra 1068,1,312000,150000,0
+iz_dun04.gat,42,116,0,0 monster Hydra 1068,1,306000,150000,0
+iz_dun04.gat,38,129,0,0 monster Hydra 1068,1,300000,150000,0
+iz_dun04.gat,33,129,0,0 monster Hydra 1068,1,308000,150000,0
+iz_dun04.gat,38,115,0,0 monster Hydra 1068,1,300000,150000,0
+iz_dun04.gat,33,115,0,0 monster Hydra 1068,1,321000,150000,0
+iz_dun04.gat,79,246,0,0 monster Hydra 1068,1,300000,150000,0
+iz_dun04.gat,80,246,0,0 monster Hydra 1068,1,294000,150000,0
+iz_dun04.gat,79,234,0,0 monster Hydra 1068,1,302000,150000,0
+iz_dun04.gat,80,233,0,0 monster Hydra 1068,1,318000,150000,0
+iz_dun04.gat,111,41,0,0 monster Hydra 1068,1,300000,150000,0
+iz_dun04.gat,111,38,0,0 monster Hydra 1068,1,303000,150000,0
+iz_dun04.gat,111,35,0,0 monster Hydra 1068,1,300000,150000,0
+iz_dun04.gat,69,243,0,0 monster Hydra 1068,1,321000,150000,0
+iz_dun04.gat,124,233,0,0 monster Hydra 1068,1,300000,150000,0
+iz_dun04.gat,134,233,0,0 monster Hydra 1068,1,305000,150000,0
+iz_dun04.gat,0,0,0,0 monster Penomena 1216,10,300000,150000,1
+iz_dun04.gat,95,147,0,0 monster Deviace 1108,3,600000,300000,0
+iz_dun04.gat,103,231,10,10 monster Merman 1264,2,150000,0,0
+iz_dun04.gat,160,231,10,10 monster Merman 1264,2,170000,0,0
+iz_dun04.gat,95,147,10,10 monster Merman 1264,2,150000,0,0
+iz_dun04.gat,130,216,15,15 monster Merman 1264,2,160000,0,0
diff --git a/npc/omobs/dungeons/clocktower.txt b/npc/omobs/dungeons/clocktower.txt
new file mode 100644
index 000000000..519f12a75
--- /dev/null
+++ b/npc/omobs/dungeons/clocktower.txt
@@ -0,0 +1,148 @@
+//===== eAthena Script =======================================
+//= Clock Tower Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.01
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// alde_dun01
+
+alde_dun01.gat,0,0,0,0 monster Arclouse 1194,50,0,0,0
+alde_dun01.gat,0,0,0,0 monster Drainliar 1111,40,0,0,0
+
+// alde_dun02
+
+alde_dun02.gat,0,0,0,0 monster High Orc 1213,40,0,0,0
+alde_dun02.gat,0,0,0,0 monster Orc Archer 1189,20,0,0,0
+alde_dun02.gat,0,0,0,0 monster Brilight 1211,20,0,0,0
+alde_dun02.gat,0,0,0,0 monster Drainliar 1111,10,0,0,0
+alde_dun02.gat,0,0,0,0 monster Arclouse 1194,20,0,0,0
+
+// alde_dun03
+
+alde_dun03.gat,0,0,0,0 monster Cramp 1209,25,0,0,0
+alde_dun03.gat,0,0,0,0 monster Drainliar 1111,20,0,0,0
+alde_dun03.gat,77,28,5,5 monster Cramp 1209,3,40000,20000,0
+alde_dun03.gat,0,0,0,0 monster Penomena 1216,15,300000,150000,0
+alde_dun03.gat,184,61,30,30 monster Cramp 1209,10,300000,150000,0
+alde_dun03.gat,184,61,30,30 monster Drainliar 1111,10,300000,150000,0
+alde_dun03.gat,0,0,0,0 monster Penomena 1216,5,300000,150000,0
+alde_dun03.gat,163,56,10,10 monster Penomena 1216,3,600000,300000,0
+alde_dun03.gat,168,42,6,6 monster Penomena 1216,2,600000,300000,0
+alde_dun03.gat,147,30,8,8 monster Penomena 1216,2,600000,300000,0
+alde_dun03.gat,0,0,0,0 monster Penomena 1216,10,300000,150000,0
+alde_dun03.gat,126,53,20,20 monster Cramp 1209,5,300000,150000,0
+alde_dun03.gat,126,53,20,20 monster Drainliar 1111,5,300000,150000,0
+alde_dun03.gat,102,40,10,10 monster Penomena 1216,4,600000,300000,0
+alde_dun03.gat,0,0,0,0 monster Penomena 1216,15,300000,150000,0
+alde_dun03.gat,130,220,40,40 monster Cramp 1209,10,300000,150000,0
+alde_dun03.gat,130,220,40,40 monster Drainliar 1111,10,300000,150000,0
+alde_dun03.gat,155,201,25,25 monster Penomena 1216,7,600000,300000,0
+alde_dun03.gat,160,181,8,8 monster Penomena 1216,2,600000,300000,0
+alde_dun03.gat,179,166,6,6 monster Penomena 1216,4,600000,300000,0
+alde_dun03.gat,127,204,9,9 monster Penomena 1216,5,600000,300000,0
+alde_dun03.gat,127,204,9,9 monster Cramp 1209,3,300000,150000,0
+alde_dun03.gat,142,157,8,8 monster Penomena 1216,5,600000,300000,0
+alde_dun03.gat,135,140,8,8 monster Penomena 1216,3,600000,300000,0
+alde_dun03.gat,120,157,8,8 monster Penomena 1216,3,600000,300000,0
+alde_dun03.gat,120,157,8,8 monster Drainliar 1111,10,300000,150000,0
+
+// alde_dun04
+
+alde_dun04.gat,0,0,0,0 monster Bathory 1102,50,0,0,0
+alde_dun04.gat,0,0,0,0 monster Joker 1131,10,0,0,0
+alde_dun04.gat,0,0,0,0 monster Executioner 1205,1,3600000,1800000,1
+alde_dun04.gat,0,0,0,0 monster Mysteltainn 1203,1,3600000,1800000,1
+alde_dun04.gat,0,0,0,0 monster Tyrfing 1204,1,3600000,1800000,1
+alde_dun04.gat,0,0,0,0 monster Whisper 1179,10,0,0,0
+
+// c_tower1
+
+c_tower1.gat,0,0,0,0 monster Punk 1199,70,0,0,0
+c_tower1.gat,0,0,0,0 monster Rideword 1195,70,0,0,0
+c_tower1.gat,0,0,0,0 monster Tower Keeper 1270,1,0,0,0
+c_tower1.gat,0,0,0,0 monster Bathory 1102,1,0,0,0
+
+// c_tower2
+
+c_tower2.gat,0,0,0,0 monster Punk 1199,40,0,0,0
+c_tower2.gat,0,0,0,0 monster Clock 1269,40,0,0,0
+c_tower2.gat,0,0,0,0 monster Rideword 1195,7,0,0,0
+c_tower2.gat,128,100,10,10 monster Rideword 1195,1,60000,30000,0
+c_tower2.gat,149,199,10,10 monster Rideword 1195,1,120000,60000,0
+c_tower2.gat,149,199,10,10 monster Rideword 1195,1,300000,120000,0
+c_tower2.gat,273,286,20,20 monster Rideword 1195,1,120000,60000,0
+c_tower2.gat,273,286,20,20 monster Rideword 1195,1,300000,120000,0
+c_tower2.gat,0,0,0,0 monster Mimic 1191,3,0,0,0
+c_tower2.gat,0,0,0,0 monster Tower Keeper 1270,1,0,0,0
+c_tower2.gat,0,0,0,0 monster Elder 1377,1,3600000,1800000,0
+c_tower2.gat,0,0,0,0 monster Elder 1377,1,3600000,1800000,0
+
+// c_tower3
+
+c_tower3.gat,0,0,0,0 monster Alarm 1193,60,0,0,0
+c_tower3.gat,0,0,0,0 monster Rideword 1195,10,0,0,0
+c_tower3.gat,153,220,10,10 monster Rideword 1195,1,126000,100000,0
+c_tower3.gat,0,0,0,0 monster Mimic 1191,15,0,0,0
+c_tower3.gat,0,0,0,0 monster Tower Keeper 1270,1,0,0,0
+
+// c_tower4
+
+c_tower4.gat,0,0,0,0 monster Tower Keeper 1270,2,1800000,0,0
+c_tower4.gat,0,0,0,0 monster Tower Keeper 1270,1,3600000,0,0
+c_tower4.gat,0,0,0,0 monster Whisper 1179,5,0,0,0
+c_tower4.gat,0,0,0,0 monster Elder 1377,1,3600000,1800000,0
+c_tower4.gat,0,0,0,0 monster Elder 1377,1,1800000,600000,0
+c_tower4.gat,108,198,100,10 monster Alarm 1193,6,0,0,0
+c_tower4.gat,108,178,100,10 monster Alarm 1193,6,0,0,0
+c_tower4.gat,108,158,100,10 monster Alarm 1193,6,0,0,0
+c_tower4.gat,108,138,100,10 monster Alarm 1193,6,0,0,0
+c_tower4.gat,108,118,100,10 monster Alarm 1193,6,0,0,0
+c_tower4.gat,108,98,100,10 monster Clock 1269,7,0,0,0
+c_tower4.gat,108,78,100,10 monster Clock 1269,7,0,0,0
+c_tower4.gat,108,58,100,10 monster Clock 1269,7,0,0,0
+c_tower4.gat,108,38,100,10 monster Clock 1269,7,0,0,0
+c_tower4.gat,108,18,100,10 monster Clock 1269,7,0,0,0
+c_tower4.gat,108,198,100,10 monster Owl Duke 1320,3,0,0,0
+c_tower4.gat,108,178,100,10 monster Owl Duke 1320,3,0,0,0
+c_tower4.gat,108,158,100,10 monster Owl Duke 1320,3,0,0,0
+c_tower4.gat,108,138,100,10 monster Owl Duke 1320,3,0,0,0
+c_tower4.gat,108,118,100,10 monster Owl Duke 1320,3,0,0,0
+c_tower4.gat,108,98,100,10 monster Owl Duke 1320,3,0,0,0
+c_tower4.gat,108,78,100,10 monster Owl Duke 1320,3,0,0,0
+c_tower4.gat,108,58,100,10 monster Owl Duke 1320,3,0,0,0
+c_tower4.gat,108,38,100,10 monster Owl Duke 1320,3,0,0,0
+c_tower4.gat,108,18,100,10 monster Owl Duke 1320,3,0,0,0
+c_tower4.gat,98,180,0,0 monster Rideword 1195,1,300000,150000,1
+c_tower4.gat,97,180,0,0 monster Rideword 1195,1,240000,150000,1
+c_tower4.gat,96,180,0,0 monster Rideword 1195,1,350000,150000,1
+c_tower4.gat,95,180,0,0 monster Rideword 1195,1,410000,150000,1
+c_tower4.gat,94,180,0,0 monster Rideword 1195,1,320000,150000,1
+c_tower4.gat,93,180,0,0 monster Rideword 1195,1,260000,150000,1
+c_tower4.gat,92,180,0,0 monster Rideword 1195,1,280000,150000,1
+c_tower4.gat,91,180,0,0 monster Rideword 1195,1,330000,150000,1
+c_tower4.gat,87,180,0,0 monster Rideword 1195,1,400000,150000,1
+c_tower4.gat,86,180,0,0 monster Rideword 1195,1,380000,150000,1
+c_tower4.gat,80,179,0,0 monster Rideword 1195,1,360000,150000,1
+c_tower4.gat,80,180,0,0 monster Rideword 1195,1,350000,150000,1
+c_tower4.gat,80,181,0,0 monster Rideword 1195,1,290000,150000,1
+c_tower4.gat,80,182,0,0 monster Rideword 1195,1,300000,150000,1
+c_tower4.gat,80,183,0,0 monster Rideword 1195,1,340000,150000,1
+c_tower4.gat,128,194,0,0 monster Mimic 1191,1,1800000,900000,1
+c_tower4.gat,38,193,0,0 monster Mimic 1191,1,1800000,900000,1
+c_tower4.gat,37,159,0,0 monster Mimic 1191,1,1800000,900000,1
+c_tower4.gat,31,139,0,0 monster Mimic 1191,1,1800000,900000,1
+c_tower4.gat,104,14,0,0 monster Mimic 1191,1,1800000,900000,1
+c_tower4.gat,104,27,0,0 monster Mimic 1191,1,900000,400000,1
+c_tower4.gat,105,24,0,0 monster Mimic 1191,1,900000,400000,1
+c_tower4.gat,205,105,0,0 monster Mimic 1191,1,1800000,900000,1
+c_tower4.gat,257,109,0,0 monster Mimic 1191,1,1800000,900000,1
+c_tower4.gat,148,85,0,0 monster Mimic 1191,1,1800000,900000,1
+c_tower4.gat,189,51,0,0 monster Mimic 1191,1,1800000,900000,1
+c_tower4.gat,170,34,0,0 monster Mimic 1191,1,1800000,900000,1
+c_tower4.gat,42,41,0,0 monster Executioner 1205,1,7200000,3600000,1
diff --git a/npc/omobs/dungeons/coalmine.txt b/npc/omobs/dungeons/coalmine.txt
new file mode 100644
index 000000000..b22e36365
--- /dev/null
+++ b/npc/omobs/dungeons/coalmine.txt
@@ -0,0 +1,33 @@
+//===== eAthena Script =======================================
+//= Coal Mine(Dead pit) Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// mjo_dun01
+
+mjo_dun01.gat,0,0,0,0 monster Familiar 1005,30,0,0,0
+mjo_dun01.gat,0,0,0,0 monster Tarou 1175,60,0,0,0
+mjo_dun01.gat,0,0,0,0 monster Martin 1145,20,0,0,0
+
+// mjo_dun02
+
+mjo_dun02.gat,0,0,0,0 monster Martin 1145,60,0,0,0
+mjo_dun02.gat,0,0,0,0 monster Drainliar 1111,20,0,0,0
+mjo_dun02.gat,0,0,0,0 monster Skeleton Worker 1169,20,0,0,0
+mjo_dun02.gat,0,0,0,0 monster Giearth 1121,35,30000,10000,0
+
+// mjo_dun03
+
+mjo_dun03.gat,0,0,0,0 monster Martin 1145,5,0,0,0
+mjo_dun03.gat,0,0,0,0 monster Skeleton Worker 1169,70,0,0,0
+mjo_dun03.gat,0,0,0,0 monster Giearth 1121,5,0,0,0
+mjo_dun03.gat,0,0,0,0 monster Myst 1151,35,0,0,0
+mjo_dun03.gat,0,0,0,0 monster Cramp 1209,2,300000,150000,0
+mjo_dun03.gat,0,0,0,0 monster Cramp 1209,1,50000,25000,0
diff --git a/npc/omobs/dungeons/eindun.txt b/npc/omobs/dungeons/eindun.txt
new file mode 100644
index 000000000..e62512a74
--- /dev/null
+++ b/npc/omobs/dungeons/eindun.txt
@@ -0,0 +1,32 @@
+//===== eAthena Script =======================================
+//= Einbroch Dungeon (Mine) Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.0 spawn N and spawn delays aren't yet correct, so I set
+//= respawn delays quite big for now [Lupus]
+//= 1.1 Fixed monsters spawn places
+//= 1.1a Reduced RSX's respawn delay value []
+//= 1.2 Update monster spawn numbers according to info on [MasterOfMuppets]
+//= emperium.org
+//============================================================
+
+//(ein_dun01.gat)*
+ein_dun01.gat,0,0,0,0 monster Noxious 1620,40,10000,10000,0
+ein_dun01.gat,0,0,0,0 monster Venomous 1621,20,10000,10000,0
+ein_dun01.gat,0,0,0,0 monster Waste Stove 1617,5,60000,120000,0
+ein_dun01.gat,0,0,0,0 monster Porcellio 1619,30,0,0,0
+ein_dun01.gat,0,0,0,0 monster Pitman 1616,55,0,0,0
+ein_dun01.gat,0,0,0,0 monster Ungoliant 1618,1,3600000,3600000,0
+
+//(ein_dun02.gat)*
+ein_dun02.gat,0,0,0,0 monster Teddy Bear 1622,30,0,0
+ein_dun02.gat,0,0,0,0 monster Obsidian 1615,40,0,0,0
+ein_dun02.gat,0,0,0,0 monster Mineral 1614,50,0,0,0
+ein_dun02.gat,0,0,0,0 monster Waste Stove 1617,30,0,0,0
+ein_dun02.gat,0,0,0,0 monster Venomous 1621,20,0,0,0
+ein_dun02.gat,163,137,50,50 monster RSX 0806 1623,1,14400000,14400000,0
diff --git a/npc/omobs/dungeons/gefenia.txt b/npc/omobs/dungeons/gefenia.txt
new file mode 100644
index 000000000..113091429
--- /dev/null
+++ b/npc/omobs/dungeons/gefenia.txt
@@ -0,0 +1,133 @@
+//===== eAthena Script =======================================
+//= Gefenia Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Muad_Dib
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= Added 1st Version. [Muad_Dib]
+//= Conversion to eA [MasterOfMuppets]
+//= Updated spawns, information from emperium.org [MasterOfMuppets]
+//= Kept the old spawns incase someone would want them.
+//============================================================
+
+//========================================================================================
+// - Gefenia Dungeon 01
+//========================================================================================
+gefenia01.gat,0,0,0,0 monster Fake Angel 1371,60,0,0,0
+gefenia01.gat,0,0,0,0 monster Violy 1390,30,0,0,0
+gefenia01.gat,0,0,0,0 monster Mini Demon 1292,20,0,0,0
+gefenia01.gat,0,0,0,0 monster Abyssmal Knight 1219,10,0,0,0
+gefenia01.gat,0,0,0,0 monster Succubus 1370,10,0,0,0
+gefenia01.gat,0,0,0,0 monster Incubus 1374,10,0,0,0
+gefenia01.gat,0,0,0,0 monster Bloody Knight 1268,1,3600000,1800000,0
+gefenia01.gat,0,0,0,0 monster Mysteltainn 1203,1,3600000,1800000,0
+gefenia01.gat,0,0,0,0 monster Tyrfing 1204,1,3600000,1800000,0
+gefenia01.gat,0,0,0,0 monster Executioner 1205,1,3600000,1800000,0
+
+//========================================================================================
+// - Gefenia Dungeon 02
+//========================================================================================
+gefenia02.gat,0,0,0,0 monster Fake Angel 1371,30,0,0,0
+gefenia02.gat,0,0,0,0 monster Violy 1390,40,0,0,0
+gefenia02.gat,0,0,0,0 monster Mini Demon 1292,30,0,0,0
+gefenia02.gat,0,0,0,0 monster Abyssmal Knight 1219,10,0,0,0
+gefenia02.gat,0,0,0,0 monster Succubus 1370,20,0,0,0
+gefenia02.gat,0,0,0,0 monster Incubus 1374,10,0,0,0
+gefenia02.gat,0,0,0,0 monster Bloody Knight 1268,1,3600000,1800000,0
+gefenia02.gat,0,0,0,0 monster Mysteltainn 1203,1,3600000,1800000,0
+gefenia02.gat,0,0,0,0 monster Tyrfing 1204,1,3600000,1800000,0
+gefenia02.gat,0,0,0,0 monster Executioner 1205,1,3600000,1800000,0
+
+
+//========================================================================================
+// - Gefenia Dungeon 03
+//========================================================================================
+gefenia03.gat,0,0,0,0 monster Fake Angel 1371,40,0,0,0
+gefenia03.gat,0,0,0,0 monster Violy 1390,40,0,0,0
+gefenia03.gat,0,0,0,0 monster Mini Demon 1292,30,0,0,0
+gefenia03.gat,0,0,0,0 monster Abyssmal Knight 1219,10,0,0,0
+gefenia03.gat,0,0,0,0 monster Succubus 1370,10,0,0,0
+gefenia03.gat,0,0,0,0 monster Incubus 1374,20,0,0,0
+gefenia03.gat,0,0,0,0 monster Bloody Knight 1268,1,3600000,1800000,0
+gefenia03.gat,0,0,0,0 monster Mysteltainn 1203,1,3600000,1800000,0
+gefenia03.gat,0,0,0,0 monster Tyrfing 1204,1,3600000,1800000,0
+gefenia03.gat,0,0,0,0 monster Executioner 1205,1,3600000,1800000,0
+
+
+//========================================================================================
+// - Gefenia Dungeon 04
+//========================================================================================
+gefenia04.gat,0,0,0,0 monster Fake Angel 1371,30,0,0,0
+gefenia04.gat,0,0,0,0 monster Violy 1390,30,0,0,0
+gefenia04.gat,0,0,0,0 monster Mini Demon 1292,20,0,0,0
+gefenia04.gat,0,0,0,0 monster Abyssmal Knight 1219,10,0,0,0
+gefenia04.gat,0,0,0,0 monster Succubus 1370,10,0,0,0
+gefenia04.gat,0,0,0,0 monster Incubus 1374,10,0,0,0
+gefenia04.gat,0,0,0,0 monster Bloody Knight 1268,1,3600000,1800000,0
+gefenia04.gat,0,0,0,0 monster Mysteltainn 1203,1,3600000,1800000,0
+gefenia04.gat,0,0,0,0 monster Tyrfing 1204,1,3600000,1800000,0
+gefenia04.gat,0,0,0,0 monster Executioner 1205,1,3600000,1800000,0
+
+
+
+//The spawns bellow, are old ones used in events.
+
+//========================================================================================
+// - Gefenia Dungeon 01(old)
+//========================================================================================
+//gefenia01.gat,0,0,0,0 monster Fake Angel 1371,10,0,0,0
+//gefenia01.gat,0,0,0,0 monster Mini Demon 1292,6,300000,0,0
+//gefenia01.gat,0,0,0,0 monster Apolcalips 1365,4,300000,0,0
+//gefenia01.gat,0,0,0,0 monster Elder 1377,10,300000,0,1
+//gefenia01.gat,0,0,0,0 monster Abyssmal Knight 1219,3,1800000,900000,1
+//gefenia01.gat,0,0,0,0 monster Bloody Knight 1268,2,300000,0,0
+//gefenia01.gat,0,0,0,0 monster Poring 1502,1,0,0,0
+//gefenia01.gat,0,0,0,0 monster Executioner 1205,1,3600000,1800000,0
+//gefenia01.gat,0,0,0,0 monster Mysteltainn 1203,1,7200000,3600000,1
+
+//========================================================================================
+// - Gefenia Dungeon 02(old)
+//========================================================================================
+//gefenia02.gat,0,0,0,0 monster Fake Angel 1371,10,0,0,0
+//gefenia02.gat,0,0,0,0 monster Succubus 1370,6,0,0,0
+//gefenia02.gat,0,0,0,0 monster Incubus 1374,6,0,0,0
+//gefenia02.gat,0,0,0,0 monster Mini Demon 1292,10,300000,0,0
+//gefenia02.gat,0,0,0,0 monster Apolcalips 1365,8,300000,0,0
+//gefenia02.gat,0,0,0,0 monster Abyssmal Knight 1219,2,1800000,900000,1
+//gefenia02.gat,0,0,0,0 monster Bloody Knight 1268,5,300000,0,0
+//gefenia02.gat,0,0,0,0 monster Poring 1502,1,0,0,0
+//gefenia02.gat,0,0,0,0 monster Gryphon 1259,1,3600000,1800000,0
+//gefenia02.gat,0,0,0,0 monster Chimera 1283,1,7200000,3600000,1
+
+//========================================================================================
+// - Gefenia Dungeon 03(old)
+//========================================================================================
+//gefenia03.gat,0,0,0,0 monster Fake Angel 1371,4,0,0,0
+//gefenia03.gat,0,0,0,0 monster Succubus 1370,5,0,0,0
+//gefenia03.gat,0,0,0,0 monster Incubus 1374,5,0,0,0
+//gefenia03.gat,0,0,0,0 monster Mini Demon 1292,10,300000,0,0
+//gefenia03.gat,0,0,0,0 monster Apolcalips 1365,6,300000,0,0
+//gefenia03.gat,0,0,0,0 monster Elder 1377,10,300000,0,1
+//gefenia03.gat,0,0,0,0 monster Abyssmal Knight 1219,3,1800000,900000,1
+//gefenia03.gat,0,0,0,0 monster Bloody Knight 1268,2,300000,0,0
+//gefenia03.gat,0,0,0,0 monster Poring 1502,1,0,0,0
+//gefenia03.gat,0,0,0,0 monster Dark Illusion 1302,1,300000,0,0
+//gefenia03.gat,0,0,0,0 monster Owl Baron 1295,1,0,0,0
+
+//========================================================================================
+// - Gefenia Dungeon 04(old)
+//========================================================================================
+
+//gefenia04.gat,0,0,0,0 monster Fake Angel 1371,10,0,0,0
+//gefenia04.gat,0,0,0,0 monster Succubus 1370,5,0,0,0
+//gefenia04.gat,0,0,0,0 monster Incubus 1374,3,0,0,0
+//gefenia04.gat,0,0,0,0 monster Apolcalips 1365,4,300000,0,0
+//gefenia04.gat,0,0,0,0 monster Abyssmal Knight 1219,5,1800000,900000,1
+//gefenia04.gat,0,0,0,0 monster Bloody Knight 1268,2,300000,0,0
+//gefenia04.gat,0,0,0,0 monster Poring 1502,1,0,0,0
+//gefenia04.gat,0,0,0,0 monster Archangeling 1388,1,3600000,1800000,1
+//gefenia04.gat,0,0,0,0 monster Maya Purple 1289,1,1200000,0,0
+//gefenia04.gat,0,0,0,0 monster Cat O' Nine Tail 1307,1,0,0,0
diff --git a/npc/omobs/dungeons/geftower.txt b/npc/omobs/dungeons/geftower.txt
new file mode 100644
index 000000000..a6dee18bb
--- /dev/null
+++ b/npc/omobs/dungeons/geftower.txt
@@ -0,0 +1,81 @@
+//===== eAthena Script =======================================
+//= Geffen Tower Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// Gef_dun00
+
+gef_dun00.gat,0,0,0,0 monster Hunter Fly 1035,30,60000,30000,0
+gef_dun00.gat,0,0,0,0 monster Poporing 1031,15,0,0,0
+gef_dun00.gat,0,0,0,0 monster Poison Spore 1077,25,0,0,0
+gef_dun00.gat,91,106,0,0 monster Red Plant 1078,1,300000,150000,0
+gef_dun00.gat,92,108,0,0 monster Yellow Plant 1081,1,300000,150000,0
+gef_dun00.gat,114,106,0,0 monster Green Plant 1080,1,300000,150000,0
+gef_dun00.gat,0,0,0,0 monster Red Plant 1078,1,300000,150000,0
+gef_dun00.gat,0,0,0,0 monster Shining Plant 1083,1,3000000,1500000,0
+gef_dun00.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+gef_dun00.gat,89,111,3,3 monster Black Mushroom 1084,3,180000,90000,1
+gef_dun00.gat,121,109,3,3 monster Black Mushroom 1084,3,180000,90000,1
+
+// Gef_dun01
+
+gef_dun01.gat,0,0,0,0 monster Drainliar 1111,30,0,0,0
+gef_dun01.gat,0,0,0,0 monster Nightmare 1061,30,0,0,0
+gef_dun01.gat,0,0,0,0 monster Tyrfing 1204,1,1800000,1200000,0
+gef_dun01.gat,0,0,0,0 monster Zombie 1015,25,0,0,0
+gef_dun01.gat,0,0,0,0 monster Ghoul 1036,40,0,0,0
+gef_dun01.gat,0,0,0,0 monster Jakk 1130,30,300000,100000,0
+gef_dun01.gat,234,121,0,0 monster Blue Plant 1079,1,300000,100000,0
+gef_dun01.gat,0,0,0,0 monster Dracula 1389,1,3600000,1800000,1
+gef_dun01.gat,0,0,0,0 monster Black Mushroom 1084,5,180000,90000,1
+gef_dun01.gat,188,104,10,10 monster White Plant 1082,3,180000,90000,1
+gef_dun01.gat,263,115,10,10 monster White Plant 1082,3,180000,90000,1
+gef_dun01.gat,48,67,10,10 monster White Plant 1082,2,180000,90000,1
+gef_dun01.gat,150,237,10,10 monster White Plant 1082,2,180000,90000,1
+
+// Gef_dun02
+
+gef_dun02.gat,0,0,0,0 monster Ghoul 1036,20,0,0,0
+gef_dun02.gat,0,0,0,0 monster Whisper 1179,20,0,0,0
+gef_dun02.gat,0,0,0,0 monster Hunter Fly 1035,10,0,0,0
+gef_dun02.gat,0,0,0,0 monster Marionette 1143,20,0,0,0
+gef_dun02.gat,0,0,0,0 monster Deviruchi 1109,25,0,0,0
+gef_dun02.gat,0,0,0,0 monster Nightmare 1061,40,300000,100000,0
+gef_dun02.gat,0,0,0,0 monster Doppelganger 1046,1,7200000,3600000,1
+gef_dun02.gat,214,212,10,10 monster White Plant 1082,3,180000,90000,1
+gef_dun02.gat,215,67,10,10 monster White Plant 1082,3,180000,90000,1
+gef_dun02.gat,72,210,20,20 monster White Plant 1082,3,180000,90000,1
+gef_dun02.gat,106,151,20,7 monster White Plant 1082,3,180000,90000,1
+gef_dun02.gat,58,167,10,10 monster Shining Plant 1083,1,1800000,900000,1
+gef_dun02.gat,185,83,3,3 monster Shining Plant 1083,1,1800000,900000,1
+
+//(gef_dun03.gat)?
+gef_dun03.gat,0,0,0,0 monster Baphomet 1039,1,7200000,7200000,1
+gef_dun03.gat,0,0,0,0 monster Doppelganger 1046,1,7200000,7200000,1
+gef_dun03.gat,0,0,0,0 monster Deviruchi 1109,8,0,0,0
+gef_dun03.gat,0,0,0,0 monster Joker 1131,5,300000,100000,0
+gef_dun03.gat,0,0,0,0 monster Khalitzburg 1132,2,0,0,0
+gef_dun03.gat,0,0,0,0 monster Knight of Abyss 1219,2,300000,0,0
+gef_dun03.gat,0,0,0,0 monster Gryphon 1259,1,7200000,3600000,1
+gef_dun03.gat,0,0,0,0 monster Blood Knight 1268,2,300000,0,0
+gef_dun03.gat,0,0,0,0 monster Dark Lord 1272,1,7200000,7200000,1
+gef_dun03.gat,0,0,0,0 monster Alice 1275,3,0,0,0
+gef_dun03.gat,0,0,0,0 monster Chimera 1283,1,7200000,7200000,1
+gef_dun03.gat,0,0,0,0 monster Mini Demon 1292,2,300000,0,0
+gef_dun03.gat,0,0,0,0 monster Dark Illusion 1302,2,300000,0,0
+gef_dun03.gat,0,0,0,0 monster Apocalypse 1365,2,300000,0,0
+gef_dun03.gat,0,0,0,0 monster Succubus 1370,10,0,0,0
+gef_dun03.gat,0,0,0,0 monster Fake Angel 1371,8,0,0,0
+gef_dun03.gat,0,0,0,0 monster Lord of Death 1373,1,7200000,7200000,1
+gef_dun03.gat,0,0,0,0 monster Incubus 1374,10,0,0,0
+gef_dun03.gat,0,0,0,0 monster Nightmare Terror 1379,3,0,0,0
+gef_dun03.gat,0,0,0,0 monster Violy 1390,10,0,0,0
+gef_dun03.gat,0,0,0,0 monster Shining Plant 1083,3,1800000,900000,1
+gef_dun03.gat,0,0,0,0 monster White Plant 1082,10,180000,90000,1
diff --git a/npc/omobs/dungeons/glastheim.txt b/npc/omobs/dungeons/glastheim.txt
new file mode 100644
index 000000000..a202723c0
--- /dev/null
+++ b/npc/omobs/dungeons/glastheim.txt
@@ -0,0 +1,212 @@
+//===== eAthena Script =======================================
+//= Glast Heim Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.1 [Lupus]
+//= 1.2 Updated to ep 8.5 aegis spawns [MasterOfMuppets]
+//============================================================
+
+// Glast Heim ( gl_cas01.gat )
+
+gl_cas01.gat,0,0,0,0 monster Sage Worm 1281,40,0,0,0
+gl_cas01.gat,0,0,0,0 monster Carat 1267,40,0,0,0
+gl_cas01.gat,0,0,0,0 monster Rideword 1195,15,0,0,0
+gl_cas01.gat,0,0,0,0 monster Dark Frame 1260,20,0,0,0
+gl_cas01.gat,0,0,0,0 monster Whisper 1179,20,0,0,0
+gl_cas01.gat,0,0,0,0 monster Alice 1275,1,0,0,0
+gl_cas01.gat,0,0,0,0 monster Tyrfing 1204,1,7200000,3600000,1
+gl_cas01.gat,0,0,0,0 monster Owl Baron 1295,3,0,0,1
+
+// Glast Heim ( gl_cas02.gat )
+
+gl_cas02.gat,0,0,0,0 monster Wanderer 1208,20,0,0,0
+gl_cas02.gat,0,0,0,0 monster Raydric 1163,40,0,0,0
+gl_cas02.gat,0,0,0,0 monster Rideword 1195,10,0,0,0
+gl_cas02.gat,0,0,0,0 monster Raydric Archer 1276,19,0,0,0
+gl_cas02.gat,193,167,5,5 monster Raydric 1163,3,300000,120000,0
+gl_cas02.gat,193,135,5,5 monster Raydric 1163,3,300000,120000,0
+gl_cas02.gat,104,145,5,5 monster Mysteltainn 1203,1,7200000,3600000,1
+gl_cas02.gat,102,180,0,0 monster Whisper 1185,1,1800000,900000,1
+gl_cas02.gat,105,180,0,0 monster Whisper 1185,1,1800000,900000,1
+gl_cas02.gat,182,12,3,3 monster Chimera 1283,1,3600000,1800000,1
+gl_cas02.gat,185,11,8,8 monster Rideword 1195,4,120000,60000,1
+gl_cas02.gat,174,11,8,8 monster Evil Druid 1117,4,120000,60000,1
+gl_cas02.gat,104,38,4,4 monster Knight of Abyss 1219,1,1800000,900000,1
+gl_cas02.gat,24,35,4,4 monster Knight of Abyss 1219,1,1800000,900000,1
+gl_cas02.gat,46,124,15,15 monster Rideword 1195,15,360000,180000,1
+gl_cas02.gat,16,186,10,10 monster Evil Druid 1117,5,360000,180000,1
+gl_cas02.gat,133,83,3,3 monster Khalitzburg 1132,1,360000,180000,1
+gl_cas02.gat,45,177,3,3 monster Khalitzburg 1132,1,360000,180000,1
+gl_cas02.gat,182,65,3,3 monster Khalitzburg 1132,1,360000,180000,1
+gl_cas02.gat,173,127,3,3 monster Khalitzburg 1132,1,360000,180000,1
+gl_cas02.gat,173,167,3,3 monster Khalitzburg 1132,1,360000,180000,1
+gl_cas02.gat,93,177,3,3 monster Knight of Abyss 1219,1,1800000,900000,1
+gl_cas02.gat,115,177,3,3 monster Knight of Abyss 1219,1,1800000,900000,1
+gl_cas02.gat,83,84,2,2 monster Mimic 1191,1,360000,180000,1
+gl_cas02.gat,83,80,2,2 monster Mimic 1191,1,360000,180000,1
+gl_cas02.gat,0,0,0,0 monster Tyrfing 1204,1,7200000,3600000,1
+gl_cas02.gat,0,0,0,0 monster Alice 1275,1,0,0,0
+gl_cas02.gat,189,20,1,1 monster Khalitzburg 1132,1,360000,180000,0
+gl_cas02.gat,190,23,1,1 monster Wanderer 1208,1,360000,180000,0
+gl_cas02.gat,190,38,1,1 monster Raydric Archer 1276,1,360000,180000,0
+
+// Glast Heim ( gl_in01.gat )
+
+gl_in01.gat,41,155,40,45 monster Marionette 1143,5,0,0,0
+gl_in01.gat,156,147,34,42 monster Marionette 1143,5,0,0,0
+gl_in01.gat,42,48,41,32 monster Marionette 1143,5,0,0,0
+gl_in01.gat,154,44,36,33 monster Marionette 1143,5,0,0,0
+gl_in01.gat,42,154,40,45 monster Rideword 1195,2,0,0,0
+gl_in01.gat,155,143,34,42 monster Rideword 1195,1,0,0,0
+gl_in01.gat,41,47,41,32 monster Rideword 1195,3,0,0,0
+gl_in01.gat,152,44,36,33 monster Rideword 1195,2,0,0,0
+gl_in01.gat,0,0,0,0 monster Wanderer 1208,1,0,0,0
+gl_in01.gat,0,0,0,0 monster Alice 1275,1,0,0,0
+gl_in01.gat,40,150,40,45 monster Dark Frame 1260,3,0,0,0
+gl_in01.gat,153,146,34,42 monster Dark Frame 1260,2,0,0,0
+gl_in01.gat,43,45,41,32 monster Dark Frame 1260,2,0,0,0
+gl_in01.gat,153,44,36,33 monster Dark Frame 1260,3,0,0,0
+gl_in01.gat,41,154,40,45 monster Sage Worm 1281,3,0,0,0
+gl_in01.gat,155,147,34,42 monster Sage Worm 1281,5,0,0,0
+gl_in01.gat,42,47,41,32 monster Sage Worm 1281,3,0,0,0
+gl_in01.gat,153,44,36,33 monster Sage Worm 1281,3,0,0,0
+
+// Glast Heim ( gl_prison.gat )
+
+gl_prison.gat,0,0,0,0 monster Injustice 1257,20,0,0,0
+gl_prison.gat,0,0,0,0 monster Hunter Fly 1035,10,0,0,0
+gl_prison.gat,0,0,0,0 monster Zombie Prisoner 1197,30,0,0,0
+gl_prison.gat,0,0,0,0 monster Rybio 1201,15,0,0,0
+
+// Glast Heim ( gl_prison1.gat )
+
+gl_prison1.gat,0,0,0,0 monster Skeleton Prisoner 1196,30,0,0,0
+gl_prison1.gat,0,0,0,0 monster Cramp 1209,20,0,0,0
+gl_prison1.gat,0,0,0,0 monster Hunter Fly 1035,10,0,0,0
+gl_prison1.gat,0,0,0,0 monster Injustice 1257,40,0,0,0
+gl_prison1.gat,0,0,0,0 monster Zealotus 1200,1,3600000,1800000,1
+gl_prison1.gat,0,0,0,0 monster Rybio 1201,10,0,0,0
+gl_prison1.gat,0,0,0,0 monster Phendark 1202,10,0,0,0
+
+// Glastheim
+
+glast_01.gat,0,0,0,0 monster Knight of Abyss 1219,2,600000,300000,1
+glast_01.gat,0,0,0,0 monster Gargoyle 1253,10,0,0,1
+
+// Glast Heim ( gl_church.gat )
+
+gl_church.gat,0,0,0,0 monster Wraith 1192,5,0,0,0
+gl_church.gat,0,0,0,0 monster Evil Druid 1117,30,0,0,0
+gl_church.gat,0,0,0,0 monster Ghoul 1036,60,0,0,0
+gl_church.gat,0,0,0,0 monster Dark Illusion 1302,1,3600000,1800000,0
+gl_church.gat,0,0,0,0 monster Mimic 1191,20,0,0,0
+gl_church.gat,155,92,10,10 monster Mimic 1191,1,30000,15000,0
+gl_church.gat,155,75,10,10 monster Mimic 1191,2,60000,30000,0
+gl_church.gat,155,54,10,10 monster Mimic 1191,1,30000,15000,0
+
+// Glast Heim ( gl_chyard.gat )
+
+gl_chyard.gat,0,0,0,0 monster Ghoul 1036,35,0,0,0
+gl_chyard.gat,0,0,0,0 monster Zombie 1015,30,0,0,0
+gl_chyard.gat,0,0,0,0 monster Wraith 1192,25,0,0,0
+gl_chyard.gat,0,0,0,0 monster Evil Druid 1117,10,0,0,0
+gl_chyard.gat,0,0,0,0 monster Hunter Fly 1035,20,0,0,0
+gl_chyard.gat,0,0,0,0 monster Mimic 1191,3,0,0,0
+gl_chyard.gat,0,0,0,0 monster Dark Lord 1272,1,3600000,1800000,1
+
+// Glast Heim down 1 ( gl_sew01.gat )
+
+gl_sew01.gat,0,0,0,0 monster Gargoyle 1253,30,0,0,0
+gl_sew01.gat,0,0,0,0 monster Arclouse 1194,10,0,0,0
+//putmob "gl_sew01" 0 0 0 0 50 DRAINLIAR 0 0 0
+gl_sew01.gat,0,0,0,0 monster Whisper 1179,40,0,0,0
+
+// Glast Heim down 2 ( gl_sew02.gat )
+
+gl_sew02.gat,0,0,0,0 monster Gargoyle 1253,55,0,0,0
+gl_sew02.gat,0,0,0,0 monster Cramp 1209,15,0,0,0
+
+// Glast Heim down 3 ( gl_sew03.gat )
+
+gl_sew03.gat,0,0,0,0 monster Sting 1207,70,0,0,0
+gl_sew03.gat,0,0,0,0 monster Gargoyle 1253,37,0,0,0
+gl_sew03.gat,147,7,5,1 monster Gargoyle 1253,1,2400000,1800000,0
+gl_sew03.gat,140,7,5,1 monster Gargoyle 1253,1,3600000,1800000,0
+gl_sew03.gat,158,7,5,1 monster Gargoyle 1253,1,3600000,1800000,0
+
+// Glast Heim down 4 ( gl_sew04.gat )
+
+gl_sew04.gat,0,0,0,0 monster Anolian 1206,50,0,0,0
+gl_sew04.gat,0,0,0,0 monster Gargoyle 1253,30,0,0,0
+gl_sew04.gat,0,0,0,0 monster Drainliar 1111,10,0,0,0
+
+// Glast Heim ( gl_step.gat )
+
+gl_step.gat,0,0,0,0 monster Mimic 1191,20,60000,30000,0
+gl_step.gat,0,0,0,0 monster Raydric Archer 1276,20,0,0,0
+gl_step.gat,0,0,0,0 monster Wind Ghost 1263,50,0,0,0
+
+// Glast Heim ( gl_knt01.gat )
+
+gl_knt01.gat,0,0,0,0 monster Raydric 1163,60,0,0,0
+gl_knt01.gat,0,0,0,0 monster Raydric Archer 1276,20,0,0,0
+gl_knt01.gat,0,0,0,0 monster Khalitzburg 1132,10,0,0,0
+gl_knt01.gat,0,0,0,0 monster Knight of Abyss 1219,10,0,0,0
+gl_knt01.gat,0,0,0,0 monster Alice 1275,1,0,0,0
+gl_knt01.gat,21,278,0,0 monster Giant Whisper 1186,1,3600000,1800000,1
+gl_knt01.gat,122,266,0,0 monster Rideword 1195,1,120000,60000,1
+gl_knt01.gat,33,120,30,30 monster Rideword 1195,10,120000,60000,1
+gl_knt01.gat,26,223,20,20 monster Rideword 1195,10,120000,60000,1
+gl_knt01.gat,9,184,0,0 monster Black Mushroom 1084,1,3600000,1800000,1
+gl_knt01.gat,8,184,0,0 monster Black Mushroom 1084,1,3600000,1800000,1
+gl_knt01.gat,7,184,0,0 monster Black Mushroom 1084,1,3600000,1800000,1
+gl_knt01.gat,6,184,0,0 monster Black Mushroom 1084,1,3600000,1800000,1
+gl_knt01.gat,5,184,0,0 monster Black Mushroom 1084,1,3600000,1800000,1
+gl_knt01.gat,4,184,0,0 monster Black Mushroom 1084,1,3600000,1800000,1
+gl_knt01.gat,9,185,0,0 monster Black Mushroom 1084,1,3600000,1800000,1
+gl_knt01.gat,8,185,0,0 monster Black Mushroom 1084,1,3600000,1800000,1
+gl_knt01.gat,7,185,0,0 monster Black Mushroom 1084,1,3600000,1800000,1
+gl_knt01.gat,6,185,0,0 monster Black Mushroom 1084,1,3600000,1800000,1
+gl_knt01.gat,5,185,0,0 monster Black Mushroom 1084,1,3600000,1800000,1
+gl_knt01.gat,4,185,0,0 monster Black Mushroom 1084,1,3600000,1800000,1
+
+// Glast Heim ( gl_knt02.gat )
+
+gl_knt02.gat,0,0,0,0 monster Raydric 1163,50,0,0,0
+gl_knt02.gat,0,0,0,0 monster Raydric Archer 1276,20,0,0,0
+gl_knt02.gat,0,0,0,0 monster Khalitzburg 1132,30,0,0,0
+gl_knt02.gat,0,0,0,0 monster Bloody Knight 1268,1,3600000,1800000,1
+gl_knt02.gat,0,0,0,0 monster Alice 1275,1,0,0,0
+gl_knt02.gat,0,0,0,0 monster Mysteltainn 1203,1,1800000,1200000,0
+gl_knt02.gat,0,0,0,0 monster Knight of Abyss 1219,5,0,0,0
+gl_knt02.gat,149,26,5,5 monster Knight of Abyss 1219,1,3600000,1800000,1
+gl_knt02.gat,99,49,5,5 monster Khalitzburg 1132,1,1800000,900000,1
+gl_knt02.gat,62,80,5,5 monster Khalitzburg 1132,1,1800000,900000,1
+gl_knt02.gat,82,134,5,5 monster Khalitzburg 1132,1,1800000,900000,1
+gl_knt02.gat,60,242,5,5 monster Khalitzburg 1132,1,1800000,900000,1
+gl_knt02.gat,118,241,5,5 monster Khalitzburg 1132,1,1800000,900000,1
+gl_knt02.gat,114,194,5,5 monster Khalitzburg 1132,1,1800000,900000,1
+gl_knt02.gat,196,239,5,5 monster Khalitzburg 1132,1,1800000,900000,1
+gl_knt02.gat,208,45,5,5 monster Khalitzburg 1132,1,1800000,900000,1
+gl_knt02.gat,243,74,5,5 monster Khalitzburg 1132,1,1800000,900000,1
+gl_knt02.gat,232,132,5,5 monster Khalitzburg 1132,1,1800000,900000,1
+
+// ( gl_dun01.gat )
+
+gl_dun01.gat,0,0,0,0 monster Arclouse 1194,50,0,0,0
+gl_dun01.gat,0,0,0,0 monster Sting 1207,40,0,0,0
+
+// ( gl_dun02.gat )
+
+gl_dun02.gat,0,0,0,0 monster Majoruros 1310,40,0,0,0
+gl_dun02.gat,0,0,0,0 monster Gargoyle 1253,20,0,0,0
+
+// Glastheim
+glast_01.gat,233,209,15,15 monster Shining Plant 1083,1,1800000,900000,1
+glast_01.gat,233,209,15,15 monster Green Plant 1080,8,360000,180000,1
+glast_01.gat,233,209,15,15 monster Blue Plant 1079,2,900000,450000,1
diff --git a/npc/omobs/dungeons/gondun.txt b/npc/omobs/dungeons/gondun.txt
new file mode 100644
index 000000000..c462654ce
--- /dev/null
+++ b/npc/omobs/dungeons/gondun.txt
@@ -0,0 +1,40 @@
+//===== eAthena Script =======================================
+//= Gonryun Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+//gon_dun01
+
+gon_dun01.gat,0,0,0,0 monster Bloody Butterfly 1408,55,650000,350000,0
+gon_dun01.gat,0,0,0,0 monster Enchanted Peach Tree 1410,35,0,0,0
+gon_dun01.gat,0,0,0,0 monster Zipper Bear 1417,30,0,0,0
+gon_dun01.gat,0,0,0,0 monster Red Plant 1078,5,0,0,0
+gon_dun01.gat,0,0,0,0 monster Yellow Plant 1081,10,0,0,0
+gon_dun01.gat,0,0,0,0 monster White Plant 1082,10,0,0,0
+
+//gon_dun02
+
+gon_dun02.gat,241,226,15,20 monster Enchanted Peach Tree 1410,2,300000,150000,0
+gon_dun02.gat,241,226,15,20 monster Baby Leopard 1415,4,600000,300000,0
+gon_dun02.gat,241,226,15,20 monster Enchanted Peach Tree 1410,3,120000,60000,0
+gon_dun02.gat,33,115,10,15 monster Enchanted Peach Tree 1410,1,300000,150000,0
+gon_dun02.gat,33,115,10,15 monster Baby Leopard 1415,2,600000,300000,0
+gon_dun02.gat,0,0,0,0 monster Taoist Hermit 1412,20,690000,390000,0
+gon_dun02.gat,0,0,0,0 monster Bloody Butterfly 1408,20,0,0,0
+gon_dun02.gat,0,0,0,0 monster Enchanted Peach Tree 1410,15,0,0,0
+gon_dun02.gat,0,0,0,0 monster Yellow Plant 1081,10,0,0,0
+
+//gon_dun03
+
+gon_dun03.gat,0,0,0,0 monster White Plant 1082,10,0,0,0
+gon_dun03.gat,0,0,0,0 monster Hermit Plant 1413,20,600000,300000,0
+gon_dun03.gat,0,0,0,0 monster Evil Nymph 1416,50,600000,300000,0
+gon_dun03.gat,0,0,0,0 monster Taoist Hermit 1412,30,0,0,0
+gon_dun03.gat,0,0,0,0 monster Evil Snake Lord 1418,1,5650000,3650000,0
diff --git a/npc/omobs/dungeons/guilddun.txt b/npc/omobs/dungeons/guilddun.txt
new file mode 100644
index 000000000..91a189328
--- /dev/null
+++ b/npc/omobs/dungeons/guilddun.txt
@@ -0,0 +1,47 @@
+//===== eAthena Script =======================================
+//= Guild Dungeons Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+//gld_dun01
+
+gld_dun01.gat,0,0,0,0 monster Skeleton General 1290,10,0,0,0
+gld_dun01.gat,0,0,0,0 monster Am Mut 1301,20,0,0,0
+gld_dun01.gat,0,0,0,0 monster Cat'o'Nine Tails 1307,3,1200000,0,0
+gld_dun01.gat,0,0,0,0 monster Gajomart 1309,10,0,0,0
+gld_dun01.gat,0,0,0,0 monster Eddga 1115,1,28800000,7200000,1
+gld_dun01.gat,0,0,0,0 monster Vagabond Wolf 1092,1,14400000,7200000,1
+
+//gld_dun02
+
+gld_dun02.gat,0,0,0,0 monster Owl Baron 1295,3,0,0,0
+gld_dun02.gat,0,0,0,0 monster Giant Spider 1304,10,240000,120000,0
+gld_dun02.gat,0,0,0,0 monster Ancient Worm 1305,5,120000,60000,0
+gld_dun02.gat,0,0,0,0 monster Killer Mantis 1294,5,120000,60000,0
+gld_dun02.gat,0,0,0,0 monster Giant Hornet 1303,10,120000,60000,0
+gld_dun02.gat,0,0,0,0 monster Doppelganger 1046,1,28800000,7200000,1
+
+//gld_dun03
+
+gld_dun03.gat,0,0,0,0 monster Maya Purple 1289,3,1200000,600000,0
+gld_dun03.gat,0,0,0,0 monster Caterpillar 1300,20,0,0,0
+gld_dun03.gat,0,0,0,0 monster Gullinbursti 1311,10,0,0,0
+gld_dun03.gat,0,0,0,0 monster Creamy Fear 1293,20,0,0,0
+gld_dun03.gat,0,0,0,0 monster Leib Olmai 1306,20,0,0,0
+gld_dun03.gat,0,0,0,0 monster Maya 1147,1,28800000,7200000,1
+
+//gld_dun04
+
+gld_dun04.gat,0,0,0,0 monster Wraith Dead 1291,20,0,0,0
+gld_dun04.gat,0,0,0,0 monster Mini Demon 1292,20,0,0,0
+gld_dun04.gat,0,0,0,0 monster Zombie Master 1298,20,0,0,0
+gld_dun04.gat,0,0,0,0 monster Dark Illusion 1302,1,1200000,0,0
+gld_dun04.gat,0,0,0,0 monster Dark Lord 1272,1,28800000,7200000,1
+gld_dun04.gat,0,0,0,0 monster Ghostring 1120,1,14400000,7200000,1
diff --git a/npc/omobs/dungeons/jupedun.txt b/npc/omobs/dungeons/jupedun.txt
new file mode 100644
index 000000000..ad262667f
--- /dev/null
+++ b/npc/omobs/dungeons/jupedun.txt
@@ -0,0 +1,44 @@
+//===== eAthena Script =======================================
+//= Juperos Mystical Dungeon - Monster Spawn Locations
+//===== By: ==================================================
+// »» The Prometheus Project ««
+// Copyright (c) 2004,2005
+// Licensed under GPL
+// http://prometheus.fnae.net/
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena/Freya Version
+//===== Additional Comments: =================================
+//= 08/24/05 : Added 1st version. [Muad_Dib]
+//============================================================
+
+
+//========================================================================================
+// - Juperos Core
+//========================================================================================
+
+jupe_core.gat,0,0,0,0 monster Archdam 1668,25,0,0,0
+jupe_core.gat,0,0,0,0 monster Dimik 1669,25,0,0,0
+jupe_core.gat,0,0,0,0 monster Dimik 1670,20,0,0,0
+jupe_core.gat,0,0,0,0 monster Dimik 1671,25,0,0,0
+jupe_core.gat,0,0,0,0 monster Dimik 1672,30,0,0,0
+jupe_core.gat,0,0,0,0 monster Dimik 1673,25,0,0,0
+jupe_core.gat,0,0,0,0 monster Venatu 1675,10,0,0,0
+jupe_core.gat,0,0,0,0 monster Venatu 1676,15,0,0,0
+jupe_core.gat,0,0,0,0 monster Venatu 1677,10,0,0,0
+jupe_core.gat,0,0,0,0 monster Venatu 1678,20,0,0,0
+jupe_core.gat,0,0,0,0 monster Venatu 1679,10,0,0,0
+jupe_core.gat,0,0,0,0 monster Apocalips H 1685,1,3600000,1800000,1
+
+//========================================================================================
+// - Juperos 01
+//========================================================================================
+
+juperos_01.gat,0,0,0,0 monster Hunter Fly 1035,20,0,0,0
+juperos_01.gat,0,0,0,0 monster Wind Ghost 1263,35,0,0,0
+juperos_01.gat,0,0,0,0 monster Venatu 1675,30,0,0,0
+juperos_01.gat,0,0,0,0 monster Venatu 1676,15,0,0,0
+juperos_01.gat,0,0,0,0 monster Venatu 1677,25,0,0,0
+juperos_01.gat,0,0,0,0 monster Venatu 1678,20,0,0,0
+juperos_01.gat,0,0,0,0 monster Venatu 1679,25,0,0,0
diff --git a/npc/omobs/dungeons/kiel.txt b/npc/omobs/dungeons/kiel.txt
new file mode 100644
index 000000000..d638d05cc
--- /dev/null
+++ b/npc/omobs/dungeons/kiel.txt
@@ -0,0 +1,33 @@
+//===== eAthena Script =======================================
+//= Kiel Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.0 First version [MasterOfMuppets]
+//============================================================
+
+//============================================================
+//= Kiel Dungeon lvl 1 (kh_dun01.gat)
+//============================================================
+
+kh_dun01.gat,0,0,0,0 monster Alice 1275,10,900000,450000,0
+kh_dun01.gat,0,0,0,0 monster Alicel 1735,15,300000,150000,0
+kh_dun01.gat,0,0,0,0 monster Aliot 1736,10,600000,300000,0
+kh_dun01.gat,0,0,0,0 monster Aliza 1737,35,0,0,0
+kh_dun01.gat,0,0,0,0 monster Constant 1738,15,0,0,0
+
+//============================================================
+//= Kiel Dungeon lvl 2 (kh_dun02.gat)
+//============================================================
+
+kh_dun02.gat,0,0,0,0 monster Alicel 1735,30,600000,300000,0
+kh_dun02.gat,0,0,0,0 monster Aliot 1736,20,300000,150000,0
+kh_dun02.gat,0,0,0,0 monster Aliza 1737,15,0,0,0
+kh_dun02.gat,0,0,0,0 monster Constant 1738,20,0,0,0
+//We have to little info about these
+//kh_dun02.gat,0,0,0,0 monster Kiel 1733,1,1800000,900000,1
+//kh_dun02.gat,0,0,0,0 monster Kiel D-01 1734,1,7200000,3600000,1 \ No newline at end of file
diff --git a/npc/omobs/dungeons/lhzdun.txt b/npc/omobs/dungeons/lhzdun.txt
new file mode 100644
index 000000000..5644a9443
--- /dev/null
+++ b/npc/omobs/dungeons/lhzdun.txt
@@ -0,0 +1,83 @@
+//===== eAthena Script =======================================
+//= Bio-life Labs - Monster Spawn Locations
+//===== By: ==================================================
+// »» The Prometheus Project ««
+// Copyright (c) 2004,2005
+// Licensed under GPL
+// http://prometheus.fnae.net/
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= Any Athena
+//===== Additional Comments: =================================
+//= 08/24/05 : Added 1st version. [Muad_Dib]
+//= 1.1: Some corrections to level 1, 2 as pointed out by
+//= MasterofMuppets. [Skotlex]
+//= 1.3: Some fixes based on kRO's "RO Map" [Poki#3]
+//= I also made the place more Moby ^^
+//============================================================
+
+
+//========================================================================================
+// - Bio-life Labs 1F
+//========================================================================================
+
+lhz_dun01.gat,0,0,0,0 monster Metaling 1613,60,0,0,0
+lhz_dun01.gat,0,0,0,0 monster Virus 1627,30,0,0,0
+lhz_dun01.gat,0,0,0,0 monster Removal 1682,40,0,0,0
+lhz_dun01.gat,0,0,0,0 monster Ygnizem 1652,5,0,0,0
+lhz_dun01.gat,0,0,0,0 monster Whikebain 1653,5,0,0,0
+lhz_dun01.gat,0,0,0,0 monster Armaia 1654,5,0,0,0
+lhz_dun01.gat,0,0,0,0 monster Erend 1655,5,0,0,0
+lhz_dun01.gat,0,0,0,0 monster Kavac 1656,5,0,0,0
+lhz_dun01.gat,0,0,0,0 monster Rawrell 1657,5,0,0,0
+lhz_dun01.gat,0,0,0,0 monster Gemini S58 1681,2,0,0,0
+
+//========================================================================================
+// - Bio-life Labs 2F
+//========================================================================================
+
+lhz_dun02.gat,0,0,0,0 monster Removal 1682,25,0,0,0
+lhz_dun02.gat,0,0,0,0 monster Virus 1627,10,0,0,0
+lhz_dun02.gat,0,0,0,0 monster Ygnizem 1652,20,0,0,0
+lhz_dun02.gat,0,0,0,0 monster Whikebain 1653,20,0,0,0
+lhz_dun02.gat,0,0,0,0 monster Armaia 1654,20,0,0,0
+lhz_dun02.gat,0,0,0,0 monster Erend 1655,20,0,0,0
+lhz_dun02.gat,0,0,0,0 monster Kavac 1656,20,0,0,0
+lhz_dun02.gat,0,0,0,0 monster Rawrell 1657,20,0,0,0
+lhz_dun01.gat,0,0,0,0 monster Gemini S58 1681,5,0,0,0
+lhz_dun02.gat,0,0,0,0 monster Ygnizem 1658,1,7200000,3600000,1
+
+//========================================================================================
+// - Bio-life Labs 3F
+//========================================================================================
+
+lhz_dun03.gat,0,0,0,0 monster Seyren 1634,30,0,0,0
+lhz_dun03.gat,0,0,0,0 monster Eremes 1635,30,0,0,0
+lhz_dun03.gat,0,0,0,0 monster Harword 1636,30,0,0,0
+lhz_dun03.gat,0,0,0,0 monster Magaleta 1637,30,0,0,0
+lhz_dun03.gat,0,0,0,0 monster Shecil 1638,30,0,0,0
+lhz_dun03.gat,0,0,0,0 monster Katrinn 1639,30,0,0,0
+
+lhz_dun03.gat,1,1,0 script Lhzdun03monster -1,{
+OnInit:
+
+while(1)
+{
+ set $@metaspawn,rand(1,6);
+ if($@metaspawn == 1)areamonster "lhz_dun03.gat",1,1,300,300,"Lord Knight Seyren",1646,1,"Lhzdun03monster::OnMonsterDead";
+ if($@metaspawn == 2)areamonster "lhz_dun03.gat",1,1,300,300,"Assassin Cross Eremes",1647,1,"Lhzdun03monster::OnMonsterDead";
+ if($@metaspawn == 3)areamonster "lhz_dun03.gat",1,1,300,300,"Whitesmith Harword",1648,1,"Lhzdun03monster::OnMonsterDead";
+ if($@metaspawn == 4)areamonster "lhz_dun03.gat",1,1,300,300,"High Priest Magaleta",1649,1,"Lhzdun03monster::OnMonsterDead";
+ if($@metaspawn == 5)areamonster "lhz_dun03.gat",1,1,300,300,"Sniper Shecil",1650,1,"Lhzdun03monster::OnMonsterDead";
+ if($@metaspawn == 6)areamonster "lhz_dun03.gat",1,1,300,300,"High Wizard Katrinn",1651,1,"Lhzdun03monster::OnMonsterDead";
+ end;
+OnMonsterDead:
+ initnpctimer;
+ setnpctimer 0;
+ end;
+OnTimer7200000:
+ stopnpctimer;
+}
+
+}
diff --git a/npc/omobs/dungeons/louydun.txt b/npc/omobs/dungeons/louydun.txt
new file mode 100644
index 000000000..f90540fb4
--- /dev/null
+++ b/npc/omobs/dungeons/louydun.txt
@@ -0,0 +1,37 @@
+//===== eAthena Script =======================================
+//= Louyang Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.1 Updated by MasterOfMuppets
+//= 1.2 Added Bacsojin and Chung E [MasterOfMuppets]
+//============================================================
+
+//lou_dun01
+lou_dun01.gat,0,0,0,0 monster Horong 1129,15,0,0,0
+lou_dun01.gat,0,0,0,0 monster Increase Soil 1516,15,0,0,0
+lou_dun01.gat,215,159,40,80 monster Sidewinder 1037,10,300000,120000,0
+lou_dun01.gat,215,159,40,80 monster Li Me Mang Ryang 1517,25,300000,120000,0
+lou_dun01.gat,0,0,0,0 monster Li Me Mang Ryang 1517,20,0,0,0
+lou_dun01.gat,0,0,0,0 monster Grizzly 1381,15,0,0,0
+lou_dun01.gat,0,0,0,0 monster Leib Olmai 1306,1,300000,120000,0
+lou_dun01.gat,197,77,10,10 monster Black Mushroom 1084,5,0,0,0
+lou_dun01.gat,0,0,0,0 monster Shining Plant 1083,5,0,0,0
+
+//lou_dun02
+lou_dun02.gat,0,0,0,0 monster Hyegun 1512,40,300000,120000,0
+lou_dun02.gat,0,0,0,0 monster Munak 1026,25,0,0,0
+lou_dun02.gat,0,0,0,0 monster Dancing Dragon 1514,5,0,0,0
+lou_dun02.gat,0,0,0,0 monster Mimic 1191,5,0,0,0
+
+//lou_dun03
+lou_dun03.gat,0,0,0,0 monster Hyegun 1512,25,120000,60000,0
+lou_dun03.gat,0,0,0,0 monster Dancing Dragon 1514,25,120000,60000,0
+lou_dun03.gat,0,0,0,0 monster Civil Servant 1513,15,0,0,0
+lou_dun03.gat,0,0,0,0 monster Gajomart 1309,1,300000,120000,0
+lou_dun03.gat,0,0,0,0 monster Green Maiden 1519,10,0,0,0
+lou_dun03.gat,0,0,0,0 monster Bacsojin 1518,1,3600000,1800000,1
diff --git a/npc/omobs/dungeons/magmadun.txt b/npc/omobs/dungeons/magmadun.txt
new file mode 100644
index 000000000..6c594b776
--- /dev/null
+++ b/npc/omobs/dungeons/magmadun.txt
@@ -0,0 +1,30 @@
+//===== eAthena Script =======================================
+//= Magma Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.1 fixed 2,3,4 tabs instead of 1... and wrong mob names [Lupus]
+//= 1.2 Removed blazers from mag_dun01 and added kahos due to
+//= the Louyang patch [MasterOfMuppets]
+//============================================================
+
+// mag_dun01
+
+//putmob "mag_dun01" 0 0 0 0 20 BLAZZER 0 0 0
+mag_dun01.gat,0,0,0,0 monster Lava Golem 1366,20,600000,30000,0
+mag_dun01.gat,0,0,0,0 monster Kaho 1072,20,0,0,0
+mag_dun01.gat,0,0,0,0 monster Explosion 1383,30,0,0,0
+mag_dun01.gat,0,0,0,0 monster Grizzly 1381,10,0,0,0
+
+// mag_dun02
+
+mag_dun02.gat,0,0,0,0 monster Blazer 1367,20,0,0,0
+mag_dun02.gat,0,0,0,0 monster Nightmare Terror 1379,30,0,0,0
+mag_dun02.gat,0,0,0,0 monster Sky Deleter 1384,10,0,0,0
+mag_dun02.gat,0,0,0,0 monster Earth Deleter 1385,10,0,0,0
+mag_dun02.gat,0,0,0,0 monster Gig 1387,20,0,0,0
+mag_dun02.gat,0,0,0,0 monster Diabolic 1382,10,0,0,0
diff --git a/npc/omobs/dungeons/moc_pyramid.txt b/npc/omobs/dungeons/moc_pyramid.txt
new file mode 100644
index 000000000..606f87227
--- /dev/null
+++ b/npc/omobs/dungeons/moc_pyramid.txt
@@ -0,0 +1,57 @@
+//===== eAthena Script =======================================
+//= Morocc Pryamid Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// moc_pryd01
+
+moc_pryd01.gat,0,0,0,0 monster Familiar 1005,50,0,0,0
+moc_pryd01.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+
+
+// moc_pryd02
+
+moc_pryd02.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+moc_pryd02.gat,0,0,0,0 monster Drainliar 1111,20,0,0,0
+moc_pryd02.gat,0,0,0,0 monster Mummy 1041,30,0,0,0
+moc_pryd02.gat,0,0,0,0 monster Isis 1029,25,0,0,0
+moc_pryd02.gat,0,0,0,0 monster Skeleton Soldier 1028,20,0,0,0
+moc_pryd02.gat,0,0,0,0 monster Skeleton Archer 1016,20,0,0,0
+
+// moc_pryd03
+
+moc_pryd03.gat,0,0,0,0 monster Drainliar 1111,15,0,0,0
+moc_pryd03.gat,0,0,0,0 monster Mimic 1191,10,0,0,0
+moc_pryd03.gat,0,0,0,0 monster Matyr 1146,15,0,0,0
+moc_pryd03.gat,0,0,0,0 monster Mummy 1041,45,0,0,0
+moc_pryd03.gat,0,0,0,0 monster Verit 1032,20,600000,300000,1
+
+// moc_pryd04
+
+moc_pryd04.gat,0,0,0,0 monster Mummy 1041,25,0,0,0
+moc_pryd04.gat,0,0,0,0 monster Ancient Mummy 1297,3,0,0,0
+moc_pryd04.gat,0,0,0,0 monster Isis 1029,50,150000,75000,0
+moc_pryd04.gat,0,0,0,0 monster Mimic 1191,15,600000,300000,1
+moc_pryd04.gat,0,0,0,0 monster Osiris 1038,1,3600000,7200000,0
+moc_pryd04.gat,0,0,0,0 monster Matyr 1146,20,0,0,0
+
+// moc_pryd05
+
+moc_pryd05.gat,0,0,0,0 monster Minorous 1149,60,0,0,0
+moc_pryd05.gat,0,0,0,0 monster Mummy 1041,10,0,0,0
+moc_pryd05.gat,0,0,0,0 monster Verit 1032,50,0,0,0
+
+// moc_pryd06
+
+moc_pryd06.gat,0,0,0,0 monster Verit 1032,10,0,0,0
+moc_pryd06.gat,0,0,0,0 monster Arclouse 1194,20,0,0,0
+moc_pryd06.gat,100,90,80,50 monster Ancient Mummy 1297,20,0,0,0
+moc_pryd06.gat,100,90,80,50 monster Mimic 1191,20,0,0,0
+moc_pryd06.gat,102,166,1,1 monster Amon Ra 1511,1,3600000,1600000,0
diff --git a/npc/omobs/dungeons/moc_sphinx.txt b/npc/omobs/dungeons/moc_sphinx.txt
new file mode 100644
index 000000000..e7b2cadc4
--- /dev/null
+++ b/npc/omobs/dungeons/moc_sphinx.txt
@@ -0,0 +1,49 @@
+//===== eAthena Script =======================================
+//= Morocc Sphinx Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// In_sphinx1
+
+in_sphinx1.gat,0,0,0,0 monster Drainliar 1111,40,0,0,0
+in_sphinx1.gat,0,0,0,0 monster Requiem 1164,20,0,0,0
+in_sphinx1.gat,0,0,0,0 monster Zerom 1178,20,0,0,0
+in_sphinx1.gat,0,0,0,0 monster Matyr 1146,10,0,0,0
+
+// In_sphinx2
+
+in_sphinx2.gat,0,0,0,0 monster Drainliar 1111,15,0,0,0
+in_sphinx2.gat,0,0,0,0 monster Requiem 1164,50,0,0,0
+in_sphinx2.gat,0,0,0,0 monster Zerom 1178,50,0,0,0
+in_sphinx2.gat,0,0,0,0 monster Matyr 1146,20,0,0,0
+
+// In_sphinx3
+
+in_sphinx3.gat,0,0,0,0 monster Matyr 1146,30,0,0,0
+in_sphinx3.gat,0,0,0,0 monster Pasana 1154,10,0,0,0
+in_sphinx3.gat,0,0,0,0 monster Marduk 1140,30,0,0,0
+in_sphinx3.gat,0,0,0,0 monster Mimic 1191,10,600000,300000,1
+
+// In_sphinx4
+
+in_sphinx4.gat,0,0,0,0 monster Minorous 1149,50,0,0,0
+//putmob "in_sphinx4" 0 0 0 0 30 SIDE_WINDER 0 0 0
+in_sphinx4.gat,0,0,0,0 monster Marduk 1140,15,0,0,0
+in_sphinx4.gat,0,0,0,0 monster Mimic 1191,4,600000,300000,1
+in_sphinx4.gat,0,0,0,0 monster Pasana 1154,20,0,0,0
+
+// In_sphinx5
+
+in_sphinx5.gat,0,0,0,0 monster Pasana 1154,30,0,0,0
+in_sphinx5.gat,0,0,0,0 monster Matyr 1146,30,0,0,0
+in_sphinx5.gat,0,0,0,0 monster Sidewinder 1037,20,0,0,0
+in_sphinx5.gat,0,0,0,0 monster Marduk 1140,30,0,0,0
+in_sphinx5.gat,0,0,0,0 monster Mimic 1191,7,600000,300000,1
+in_sphinx5.gat,0,0,0,0 monster Pharaoh 1157,1,3600000,1800000,1
diff --git a/npc/omobs/dungeons/orcdun.txt b/npc/omobs/dungeons/orcdun.txt
new file mode 100644
index 000000000..0450a11c6
--- /dev/null
+++ b/npc/omobs/dungeons/orcdun.txt
@@ -0,0 +1,39 @@
+//===== eAthena Script =======================================
+//= Orcs Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// Orcsdun01
+
+orcsdun01.gat,0,0,0,0 monster Steel ChonChon 1042,10,0,0,0
+orcsdun01.gat,0,0,0,0 monster Familiar 1005,15,0,0,0
+orcsdun01.gat,0,0,0,0 monster Drainliar 1111,5,0,0,0
+orcsdun01.gat,0,0,0,0 monster Orc Zombie 1153,10,3000,5000,0
+orcsdun01.gat,0,0,0,0 monster Orc Zombie 1153,30,60000,30000,0
+orcsdun01.gat,0,0,0,0 monster Orc Zombie 1153,40,120000,60000,0
+orcsdun01.gat,0,0,0,0 monster Orc Skeleton 1152,10,180000,60000,0
+orcsdun01.gat,167,133,5,5 monster Black Mushroom 1084,5,900000,450000,1
+orcsdun01.gat,67,34,5,5 monster Black Mushroom 1084,5,900000,450000,1
+orcsdun01.gat,83,50,5,5 monster White Plant 1082,2,180000,90000,1
+orcsdun01.gat,58,67,10,10 monster White Plant 1082,3,180000,90000,1
+
+// Orcsdun02
+
+orcsdun02.gat,0,0,0,0 monster Steel ChonChon 1042,20,0,0,0
+orcsdun02.gat,0,0,0,0 monster Drainliar 1111,20,0,0,0
+orcsdun02.gat,0,0,0,0 monster Orc Skeleton 1152,10,3000,5000,0
+orcsdun02.gat,0,0,0,0 monster Orc Skeleton 1152,20,60000,30000,0
+orcsdun02.gat,0,0,0,0 monster Orc Skeleton 1152,20,120000,60000,0
+orcsdun02.gat,0,0,0,0 monster Zenorc 1177,30,3000,5000,0
+orcsdun02.gat,0,0,0,0 monster Zenorc 1177,20,60000,30000,0
+orcsdun02.gat,0,0,0,0 monster Orc Archer 1189,5,1800000,900000,1
+orcsdun02.gat,0,0,0,0 monster Black Mushroom 1084,5,180000,90000,1
+orcsdun02.gat,105,37,10,10 monster White Plant 1082,2,180000,90000,1
+orcsdun02.gat,37,44,10,10 monster White Plant 1082,3,180000,90000,1
diff --git a/npc/omobs/dungeons/payoncave.txt b/npc/omobs/dungeons/payoncave.txt
new file mode 100644
index 000000000..2ab3f7b9b
--- /dev/null
+++ b/npc/omobs/dungeons/payoncave.txt
@@ -0,0 +1,157 @@
+//===== eAthena Script =======================================
+//= Payon Cave Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// pay_dun00
+
+pay_dun00.gat,0,0,0,0 monster Familiar 1005,15,0,0,0
+pay_dun00.gat,0,0,0,0 monster Zombie 1015,20,0,0,0
+pay_dun00.gat,0,0,0,0 monster Skeleton 1076,35,0,0,0
+pay_dun00.gat,0,0,0,0 monster Poporing 1031,15,0,0,0
+pay_dun00.gat,0,0,0,0 monster Red Plant 1078,15,180000,90000,1
+pay_dun00.gat,140,140,5,5 monster Black Mushroom 1084,3,360000,180000,1
+
+// pay_dun01
+
+pay_dun01.gat,0,0,0,0 monster Drainliar 1111,5,0,0,0
+pay_dun01.gat,0,0,0,0 monster Eggyra 1116,15,0,0,0
+pay_dun01.gat,0,0,0,0 monster Skeleton Soldier 1028,50,300000,150000,1
+pay_dun01.gat,0,0,0,0 monster Skeleton Archer 1016,30,300000,150000,1
+pay_dun01.gat,235,54,10,10 monster Black Mushroom 1084,7,900000,450000,1
+pay_dun01.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+
+
+// pay_dun02
+
+pay_dun02.gat,0,0,0,0 monster Skeleton Soldier 1028,15,180000,90000,1
+pay_dun02.gat,0,0,0,0 monster Munak 1026,40,0,0,0
+pay_dun02.gat,0,0,0,0 monster Bon Gun 1188,30,0,0,0
+pay_dun02.gat,0,0,0,0 monster Poporing 1031,10,0,0,0
+pay_dun02.gat,0,0,0,0 monster Skeleton Archer 1016,20,180000,90000,1
+pay_dun02.gat,116,205,0,0 monster Hydra 1068,1,345000,100000,1
+pay_dun02.gat,116,199,0,0 monster Hydra 1068,1,306000,100000,1
+pay_dun02.gat,116,196,0,0 monster Hydra 1068,1,300000,100000,1
+pay_dun02.gat,116,190,0,0 monster Hydra 1068,1,326000,100000,1
+pay_dun02.gat,117,206,0,0 monster Hydra 1068,1,302000,100000,1
+pay_dun02.gat,117,200,0,0 monster Hydra 1068,1,275000,100000,1
+pay_dun02.gat,117,197,0,0 monster Hydra 1068,1,314000,100000,1
+pay_dun02.gat,117,191,0,0 monster Hydra 1068,1,300000,100000,1
+pay_dun02.gat,118,207,0,0 monster Hydra 1068,1,332000,100000,1
+pay_dun02.gat,118,201,0,0 monster Hydra 1068,1,300000,100000,1
+pay_dun02.gat,118,198,0,0 monster Hydra 1068,1,312000,100000,1
+pay_dun02.gat,118,192,0,0 monster Hydra 1068,1,285000,100000,1
+pay_dun02.gat,119,205,0,0 monster Hydra 1068,1,324000,100000,1
+pay_dun02.gat,119,199,0,0 monster Hydra 1068,1,300000,100000,1
+pay_dun02.gat,119,196,0,0 monster Hydra 1068,1,315000,100000,1
+pay_dun02.gat,120,203,0,0 monster Hydra 1068,1,300000,100000,1
+pay_dun02.gat,120,200,0,0 monster Hydra 1068,1,303000,100000,1
+pay_dun02.gat,120,194,0,0 monster Hydra 1068,1,300000,100000,1
+pay_dun02.gat,121,200,0,0 monster Hydra 1068,1,333000,100000,1
+pay_dun02.gat,122,200,0,0 monster Hydra 1068,1,300000,100000,1
+pay_dun02.gat,122,197,0,0 monster Hydra 1068,1,321000,100000,1
+pay_dun02.gat,110,194,0,0 monster Hydra 1068,1,300000,100000,1
+pay_dun02.gat,113,194,0,0 monster Hydra 1068,1,319000,100000,1
+pay_dun02.gat,109,193,0,0 monster Hydra 1068,1,300000,100000,1
+pay_dun02.gat,113,193,0,0 monster Hydra 1068,1,300000,100000,1
+pay_dun02.gat,109,192,0,0 monster Hydra 1068,1,374000,100000,1
+pay_dun02.gat,112,192,0,0 monster Hydra 1068,1,300000,100000,1
+pay_dun02.gat,108,191,0,0 monster Hydra 1068,1,332000,100000,1
+pay_dun02.gat,111,191,0,0 monster Hydra 1068,1,300000,100000,1
+pay_dun02.gat,107,190,0,0 monster Hydra 1068,1,320000,100000,1
+pay_dun02.gat,110,190,0,0 monster Hydra 1068,1,300000,100000,1
+pay_dun02.gat,227,185,0,0 monster Mandragora 1020,1,300000,100000,1
+pay_dun02.gat,227,184,0,0 monster Mandragora 1020,1,300000,100000,1
+pay_dun02.gat,229,183,0,0 monster Mandragora 1020,1,300000,100000,1
+pay_dun02.gat,214,266,0,0 monster Red Plant 1078,1,600000,300000,1
+pay_dun02.gat,37,243,0,0 monster Black Mushroom 1084,1,600000,300000,1
+pay_dun02.gat,37,243,0,0 monster Nine-Tail 1180,1,3600000,1800000,1
+pay_dun02.gat,111,199,10,10 monster Black Mushroom 1084,7,900000,450000,1
+pay_dun02.gat,110,216,20,10 monster White Plant 1082,3,180000,90000,1
+pay_dun02.gat,132,84,10,10 monster White Plant 1082,3,180000,90000,1
+pay_dun02.gat,197,113,10,10 monster Red Plant 1078,4,180000,90000,1
+pay_dun02.gat,55,254,10,10 monster Red Plant 1078,4,180000,90000,1
+
+// pay_dun03
+
+pay_dun03.gat,0,0,0,0 monster Sohee 1170,50,0,0,0
+pay_dun03.gat,0,0,0,0 monster Munak 1026,3,0,0,0
+pay_dun03.gat,0,0,0,0 monster Bon Gun 1188,3,0,0,0
+pay_dun03.gat,0,0,0,0 monster Nine-Tail 1180,1,0,0,0
+pay_dun03.gat,0,0,0,0 monster Nine-Tail 1180,1,3600000,1800000,0
+pay_dun03.gat,154,112,0,0 monster Whisper 1185,1,1800000,0,1
+pay_dun03.gat,161,117,0,0 monster Whisper 1185,1,1800000,0,1
+pay_dun03.gat,81,61,0,0 monster Whisper 1185,1,1800000,0,1
+pay_dun03.gat,84,63,0,0 monster Whisper 1185,1,1800000,0,1
+pay_dun03.gat,89,147,0,0 monster Giant Whisper 1186,1,14400000,0,1
+pay_dun03.gat,66,73,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,68,72,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,67,71,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,63,70,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,58,69,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,67,69,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,60,68,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,69,68,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,62,67,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,71,67,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,64,66,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,57,65,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,66,65,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,59,64,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,68,64,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,71,64,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,66,63,0,0 monster Hydra 1068,1,600000,300000,1
+pay_dun03.gat,71,243,0,0 monster Sohee 1170,2,300000,100000,1
+pay_dun03.gat,86,248,0,0 monster Sohee 1170,2,300000,100000,1
+pay_dun03.gat,85,178,0,0 monster Sohee 1170,2,300000,100000,1
+pay_dun03.gat,115,190,0,0 monster Sohee 1170,2,300000,100000,1
+pay_dun03.gat,230,244,0,0 monster Sohee 1170,2,300000,100000,1
+pay_dun03.gat,240,244,0,0 monster Sohee 1170,2,300000,100000,1
+pay_dun03.gat,219,244,0,0 monster Sohee 1170,2,300000,100000,1
+pay_dun03.gat,243,220,0,0 monster Sohee 1170,2,300000,100000,1
+pay_dun03.gat,219,185,0,0 monster Sohee 1170,2,300000,100000,1
+pay_dun03.gat,228,185,0,0 monster Sohee 1170,2,300000,100000,1
+pay_dun03.gat,228,61,0,0 monster Red Plant 1078,1,600000,300000,1
+pay_dun03.gat,138,42,0,0 monster Blue Plant 1079,1,600000,300000,1
+pay_dun03.gat,120,186,0,0 monster Green Plant 1080,1,600000,300000,1
+pay_dun03.gat,88,35,0,0 monster Yellow Plant 1081,1,600000,300000,1
+pay_dun03.gat,126,135,0,0 monster Mandragora 1020,1,300000,100000,1
+pay_dun03.gat,126,134,0,0 monster Mandragora 1020,1,300000,100000,1
+pay_dun03.gat,126,133,0,0 monster Mandragora 1020,1,300000,100000,1
+pay_dun03.gat,126,132,0,0 monster Mandragora 1020,1,300000,100000,1
+pay_dun03.gat,126,131,0,0 monster Mandragora 1020,1,300000,100000,1
+pay_dun03.gat,179,134,0,0 monster Mandragora 1020,1,300000,100000,1
+pay_dun03.gat,179,133,0,0 monster Mandragora 1020,1,300000,100000,1
+pay_dun03.gat,179,132,0,0 monster Mandragora 1020,1,300000,100000,1
+pay_dun03.gat,179,131,0,0 monster Mandragora 1020,1,300000,100000,1
+pay_dun03.gat,179,130,0,0 monster Mandragora 1020,1,300000,100000,1
+pay_dun03.gat,0,0,0,0 monster Greatest General 1277,3,0,0,0
+pay_dun03.gat,0,0,0,0 monster Red Plant 1078,15,180000,90000,1
+pay_dun03.gat,246,56,20,20 monster White Plant 1082,3,180000,90000,1
+pay_dun03.gat,52,262,10,4 monster White Plant 1082,2,180000,90000,1
+
+// pay_dun04
+
+pay_dun04.gat,0,0,0,0 monster Dokebi 1110,40,0,0,0
+pay_dun04.gat,0,0,0,0 monster Sohee 1170,5,0,0,0
+pay_dun04.gat,0,0,0,0 monster Horong 1129,30,0,0,0
+pay_dun04.gat,120,115,0,0 monster Moonlight Flower 1150,1,3600000,7200000,1
+pay_dun04.gat,0,0,0,0 monster Greatest General 1277,15,0,0,0
+pay_dun04.gat,0,0,0,0 monster Skeleton Archer 1016,15,0,0,0
+pay_dun04.gat,0,0,0,0 monster Nine-Tail 1180,20,60000,30000,0
+pay_dun04.gat,120,115,5,5 monster Skeleton General 1290,1,1800000,1200000,0
+pay_dun04.gat,120,115,5,5 monster Am Mut 1301,1,1800000,1200000,0
+pay_dun04.gat,120,115,0,0 monster Cat'o'Nine Tails 1307,1,3600000,7200000,1
+pay_dun04.gat,120,120,10,10 monster Shining Plant 1083,1,1800000,900000,1
+pay_dun04.gat,28,110,5,5 monster Shining Plant 1083,1,1800000,900000,1
+pay_dun04.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+pay_dun04.gat,107,206,5,5 monster White Plant 1082,2,180000,90000,1
+pay_dun04.gat,28,110,10,10 monster White Plant 1082,2,180000,90000,1
+pay_dun04.gat,190,207,5,5 monster White Plant 1082,2,180000,90000,1
diff --git a/npc/omobs/dungeons/pront_maze.txt b/npc/omobs/dungeons/pront_maze.txt
new file mode 100644
index 000000000..aa257ccda
--- /dev/null
+++ b/npc/omobs/dungeons/pront_maze.txt
@@ -0,0 +1,92 @@
+//===== eAthena Script =======================================
+//= Prontera Maze(Hidden Temple) Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// prt_maze01
+prt_maze01.gat,179,20,21,21 monster Poring 1002,5,120000,40000,1
+prt_maze01.gat,139,20,21,21 monster Lunatic 1063,5,120000,40000,1
+prt_maze01.gat,99,20,21,21 monster Fabre 1007,5,120000,40000,1
+prt_maze01.gat,99,20,21,21 monster Creamy 1018,1,120000,40000,1
+prt_maze01.gat,59,20,21,21 monster Pupa 1008,5,120000,40000,1
+prt_maze01.gat,19,20,21,21 monster Poporing 1031,5,120000,40000,1
+prt_maze01.gat,179,60,21,21 monster Rocker 1052,5,120000,40000,1
+prt_maze01.gat,139,60,21,21 monster Bigfoot 1060,5,120000,40000,1
+prt_maze01.gat,99,60,21,21 monster Smokie 1056,5,120000,40000,1
+prt_maze01.gat,59,60,21,21 monster Boa 1025,5,120000,40000,1
+prt_maze01.gat,19,60,21,21 monster Wolf 1013,5,120000,40000,1
+prt_maze01.gat,179,100,21,21 monster Argiope 1099,3,120000,40000,1
+prt_maze01.gat,139,100,21,21 monster Argos 1100,3,120000,40000,1
+prt_maze01.gat,99,100,21,21 monster ChonChon 1011,5,120000,40000,1
+prt_maze01.gat,59,100,21,21 monster Horn 1128,5,120000,40000,1
+prt_maze01.gat,19,100,21,21 monster Hunter Fly 1035,3,120000,40000,1
+prt_maze01.gat,179,140,21,21 monster Mantis 1139,3,120000,40000,1
+prt_maze01.gat,139,140,21,21 monster Stainer 1174,5,120000,40000,1
+prt_maze01.gat,99,140,21,21 monster Sidewinder 1037,3,120000,40000,1
+prt_maze01.gat,59,140,21,21 monster Yoyo 1057,4,120000,40000,1
+prt_maze01.gat,59,140,21,21 monster Choco 1214,2,120000,40000,1
+prt_maze01.gat,19,140,21,21 monster Steel ChonChon 1042,5,120000,40000,1
+prt_maze01.gat,179,180,21,21 monster Coco 1104,5,120000,40000,1
+prt_maze01.gat,139,180,21,21 monster Caramel 1103,5,120000,40000,1
+prt_maze01.gat,99,180,21,21 monster Dustiness 1114,5,120000,40000,1
+prt_maze01.gat,59,180,21,21 monster Martin 1145,5,120000,40000,1
+prt_maze01.gat,19,180,21,21 monster Savage 1166,3,120000,40000,1
+prt_maze01.gat,19,180,21,21 monster Savage 1166,5,120000,40000,1
+prt_maze01.gat,0,0,0,0 monster Hunter Fly 1035,1,0,0,0
+prt_maze01.gat,0,0,0,0 monster Vagabond Wolf 1092,1,3600000,1800000,0
+prt_maze01.gat,0,0,0,0 monster Shining Plant 1083,5,1800000,900000,1
+prt_maze01.gat,0,0,0,0 monster Red Plant 1078,5,180000,90000,1
+prt_maze01.gat,0,0,0,0 monster Blue Plant 1079,5,180000,90000,1
+prt_maze01.gat,0,0,0,0 monster Black Mushroom 1084,5,180000,90000,1
+prt_maze01.gat,0,0,0,0 monster Red Mushroom 1085,5,180000,90000,1
+
+// prt_maze02
+
+prt_maze02.gat,0,0,0,0 monster Poporing 1031,25,0,0,0
+prt_maze02.gat,0,0,0,0 monster Bigfoot 1060,5,0,0,0
+prt_maze02.gat,0,0,0,0 monster Sasquatch 1243,1,900000,40000,0
+prt_maze02.gat,0,0,0,0 monster Leib Olmai 1306,1,1800000,900000,0
+
+// prt_maze03
+
+prt_maze03.gat,0,0,0,0 monster Poporing 1031,45,0,0,0
+prt_maze03.gat,0,0,0,0 monster Sidewinder 1037,10,0,0,0
+prt_maze03.gat,0,0,0,0 monster Hunter Fly 1035,30,0,0,0
+prt_maze03.gat,0,0,0,0 monster Ghostring 1120,1,6800000,3400000,1
+prt_maze03.gat,0,0,0,0 monster Killer Mantis 1294,1,0,0,0
+prt_maze03.gat,150,50,70,70 monster Sidewinder 1037,20,300000,150000,0
+prt_maze03.gat,150,50,70,70 monster Vocal 1088,1,1920000,1500000,1
+prt_maze03.gat,50,150,70,70 monster Stem Worm 1215,20,300000,150000,0
+prt_maze03.gat,50,150,70,70 monster Vagabond Wolf 1092,1,1920000,150000,1
+prt_maze03.gat,170,170,70,70 monster Mantis 1139,30,60000,30000,0
+prt_maze03.gat,170,170,70,70 monster Eclipse 1093,1,1920000,150000,1
+prt_maze03.gat,23,23,70,70 monster Mastering 1090,1,19200000,150000,1
+prt_maze03.gat,100,100,80,80 monster Baphomet Jr. 1101,25,0,0,0
+prt_maze03.gat,0,0,0,0 monster Baphomet 1039,1,7200000,3600000,1
+prt_maze03.gat,0,0,0,0 monster Shining Plant 1083,5,1800000,900000,1
+prt_maze03.gat,0,0,0,0 monster Red Plant 1078,5,180000,90000,1
+prt_maze03.gat,0,0,0,0 monster Blue Plant 1079,5,180000,90000,1
+prt_maze03.gat,0,0,0,0 monster Black Mushroom 1084,5,180000,90000,1
+prt_maze03.gat,0,0,0,0 monster Red Mushroom 1085,5,180000,90000,1
+prt_maze03.gat,61,98,10,10 monster Shining Plant 1083,1,1800000,900000,1
+prt_maze03.gat,61,98,10,10 monster Blue Plant 1079,1,1800000,900000,1
+prt_maze03.gat,61,98,10,10 monster Yellow Plant 1081,1,1800000,900000,1
+prt_maze03.gat,57,56,10,10 monster Shining Plant 1083,1,1800000,900000,1
+prt_maze03.gat,15,15,10,10 monster Shining Plant 1083,1,1800000,900000,1
+prt_maze03.gat,137,140,3,3 monster Shining Plant 1083,1,1800000,900000,1
+prt_maze03.gat,17,58,10,10 monster Shining Plant 1083,1,1800000,900000,1
+prt_maze03.gat,17,58,10,10 monster Blue Plant 1079,1,1800000,900000,1
+prt_maze03.gat,99,141,10,10 monster Blue Plant 1079,2,1800000,900000,1
+prt_maze03.gat,99,21,10,10 monster Blue Plant 1079,1,1800000,900000,1
+prt_maze03.gat,0,0,0,0 monster Red Plant 1078,5,180000,90000,1
+prt_maze03.gat,99,21,10,10 monster Black Mushroom 1084,3,180000,90000,1
+prt_maze03.gat,54,15,10,10 monster Black Mushroom 1084,3,180000,90000,1
+prt_maze03.gat,171,180,3,3 monster Red Mushroom 1085,2,180000,90000,1
+prt_maze03.gat,174,187,3,3 monster Red Mushroom 1085,3,180000,90000,1
diff --git a/npc/omobs/dungeons/pront_sewers.txt b/npc/omobs/dungeons/pront_sewers.txt
new file mode 100644
index 000000000..b84301f1e
--- /dev/null
+++ b/npc/omobs/dungeons/pront_sewers.txt
@@ -0,0 +1,48 @@
+//===== eAthena Script =======================================
+//= Prontera Sewers(Culvert) Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// prt_sewb1
+
+prt_sewb1.gat,0,0,0,0 monster Thief Bug Egg 1048,80,0,0,0
+prt_sewb1.gat,0,0,0,0 monster Thief Bug Larva 1051,30,0,0,0
+prt_sewb1.gat,0,0,0,0 monster Familiar 1005,10,0,0,0
+prt_sewb1.gat,0,0,0,0 monster Tarou 1175,10,0,0,0
+
+// prt_sewb2
+
+prt_sewb2.gat,0,0,0,0 monster Thief Bug Egg 1048,20,0,0,0
+prt_sewb2.gat,0,0,0,0 monster Thief Bug Larva 1051,70,0,0,0
+prt_sewb2.gat,0,0,0,0 monster Familiar 1005,10,0,0,0
+prt_sewb2.gat,0,0,0,0 monster Spore 1014,20,0,0,0
+prt_sewb2.gat,0,0,0,0 monster Plankton 1161,30,0,0,0
+prt_sewb2.gat,0,0,0,0 monster Thief Bug Female 1053,10,0,0,0
+prt_sewb2.gat,0,0,0,0 monster Tarou 1175,60,0,0,0
+
+// prt_sewb3
+
+prt_sewb3.gat,0,0,0,0 monster Thief Bug Egg 1048,10,0,0,0
+prt_sewb3.gat,0,0,0,0 monster Thief Bug Larva 1051,20,0,0,0
+prt_sewb3.gat,0,0,0,0 monster Thief Bug Female 1053,65,0,0,0
+prt_sewb3.gat,0,0,0,0 monster Thief Bug Male 1054,65,0,0,0
+prt_sewb3.gat,0,0,0,0 monster Tarou 1175,15,0,0,0
+prt_sewb3.gat,0,0,0,0 monster Poison Spore 1077,15,0,0,0
+prt_sewb3.gat,0,0,0,0 monster Familiar 1005,20,0,0,0
+
+// prt_sewb4
+
+prt_sewb4.gat,0,0,0,0 monster Thief Bug Egg 1048,10,0,0,0
+prt_sewb4.gat,0,0,0,0 monster Thief Bug Larva 1051,20,0,0,0
+prt_sewb4.gat,0,0,0,0 monster Thief Bug Female 1053,20,0,0,0
+prt_sewb4.gat,0,0,0,0 monster Thief Bug Male 1054,70,0,0,0
+prt_sewb4.gat,0,0,0,0 monster Drainliar 1111,20,0,0,0
+prt_sewb4.gat,0,0,0,0 monster Cramp 1209,5,0,0,0
+prt_sewb4.gat,0,0,0,0 monster Golden Thief Bug 1086,1,3600000,1800000,1
diff --git a/npc/omobs/dungeons/sunkenship.txt b/npc/omobs/dungeons/sunkenship.txt
new file mode 100644
index 000000000..a501e7351
--- /dev/null
+++ b/npc/omobs/dungeons/sunkenship.txt
@@ -0,0 +1,152 @@
+//===== eAthena Script =======================================
+//= Sunken Ship Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// treasure01
+
+treasure01.gat,0,0,0,0 monster Kukre 1070,20,0,0,1
+treasure01.gat,0,0,0,0 monster Whisper 1179,7,0,0,1
+treasure01.gat,0,0,0,0 monster Whisper 1179,5,120000,60000,1
+treasure01.gat,107,39,15,15 monster Poison Spore 1077,3,180000,90000,1
+treasure01.gat,107,39,15,15 monster Hydra 1068,1,180000,90000,1
+treasure01.gat,29,38,15,15 monster Poison Spore 1077,3,180000,90000,1
+treasure01.gat,68,66,13,11 monster Hydra 1068,4,180000,90000,1
+treasure01.gat,34,112,17,11 monster Pirate Skeleton 1071,5,180000,90000,1
+treasure01.gat,106,111,9,9 monster Pirate Skeleton 1071,5,180000,90000,1
+treasure01.gat,106,111,9,9 monster Thara Frog 1034,5,180000,90000,1
+treasure01.gat,67,161,0,0 monster Hydra 1068,1,263000,100000,1
+treasure01.gat,67,160,0,0 monster Hydra 1068,1,293000,100000,1
+treasure01.gat,68,161,0,0 monster Hydra 1068,1,317000,100000,1
+treasure01.gat,68,160,0,0 monster Hydra 1068,1,300000,100000,1
+treasure01.gat,69,161,0,0 monster Hydra 1068,1,305000,100000,1
+treasure01.gat,69,160,0,0 monster Hydra 1068,1,290000,100000,1
+treasure01.gat,70,161,0,0 monster Hydra 1068,1,302000,100000,1
+treasure01.gat,70,160,0,0 monster Hydra 1068,1,306000,100000,1
+treasure01.gat,48,161,0,0 monster Hydra 1068,1,316000,100000,1
+treasure01.gat,48,160,0,0 monster Hydra 1068,1,300000,100000,1
+treasure01.gat,49,161,0,0 monster Hydra 1068,1,310000,100000,1
+treasure01.gat,49,160,0,0 monster Hydra 1068,1,300000,100000,1
+treasure01.gat,50,161,0,0 monster Hydra 1068,1,308000,100000,1
+treasure01.gat,50,160,0,0 monster Hydra 1068,1,301000,100000,1
+treasure01.gat,51,161,0,0 monster Hydra 1068,1,314000,100000,1
+treasure01.gat,51,160,0,0 monster Hydra 1068,1,270000,100000,1
+treasure01.gat,86,161,0,0 monster Hydra 1068,1,285000,100000,1
+treasure01.gat,86,160,0,0 monster Hydra 1068,1,310000,100000,1
+treasure01.gat,87,161,0,0 monster Hydra 1068,1,300000,100000,1
+treasure01.gat,87,160,0,0 monster Hydra 1068,1,268000,100000,1
+treasure01.gat,88,161,0,0 monster Hydra 1068,1,281000,100000,1
+treasure01.gat,88,160,0,0 monster Hydra 1068,1,296000,100000,1
+treasure01.gat,89,161,0,0 monster Hydra 1068,1,300000,100000,1
+treasure01.gat,89,160,0,0 monster Hydra 1068,1,305000,100000,1
+treasure01.gat,60,182,0,0 monster Hydra 1068,1,313000,100000,1
+treasure01.gat,76,182,0,0 monster Hydra 1068,1,269000,100000,1
+treasure01.gat,82,154,11,9 monster Poison Spore 1077,3,100000,100000,1
+treasure01.gat,54,154,11,9 monster Poison Spore 1077,3,100000,100000,1
+treasure01.gat,58,165,5,5 monster Pirate Skeleton 1071,2,300000,100000,1
+treasure01.gat,69,165,5,5 monster Pirate Skeleton 1071,2,300000,100000,1
+treasure01.gat,79,165,5,5 monster Pirate Skeleton 1071,2,300000,100000,1
+treasure01.gat,150,162,5,5 monster Pirate Skeleton 1071,3,300000,100000,1
+treasure01.gat,150,162,5,5 monster Hydra 1068,1,300000,100000,1
+treasure01.gat,163,161,5,5 monster Pirate Skeleton 1071,3,300000,100000,1
+treasure01.gat,163,161,5,5 monster Hydra 1068,1,300000,100000,1
+treasure01.gat,163,151,5,5 monster Pirate Skeleton 1071,3,300000,100000,1
+treasure01.gat,163,151,5,5 monster Hydra 1068,1,300000,100000,1
+treasure01.gat,163,141,5,5 monster Pirate Skeleton 1071,3,300000,100000,1
+treasure01.gat,163,141,5,5 monster Hydra 1068,1,300000,100000,1
+treasure01.gat,162,71,0,0 monster Hydra 1068,1,273000,100000,1
+treasure01.gat,162,70,0,0 monster Hydra 1068,1,314000,100000,1
+treasure01.gat,163,71,0,0 monster Hydra 1068,1,300000,100000,1
+treasure01.gat,163,70,0,0 monster Hydra 1068,1,300000,100000,1
+treasure01.gat,164,71,0,0 monster Hydra 1068,1,305000,100000,1
+treasure01.gat,164,70,0,0 monster Hydra 1068,1,300000,100000,1
+treasure01.gat,165,71,0,0 monster Hydra 1068,1,307000,100000,1
+treasure01.gat,165,70,0,0 monster Hydra 1068,1,293000,100000,1
+treasure01.gat,164,59,12,10 monster Whisper 1179,5,300000,100000,1
+treasure01.gat,158,63,0,0 monster Hydra 1068,1,300000,100000,1
+treasure01.gat,159,63,0,0 monster Hydra 1068,1,300000,100000,1
+treasure01.gat,158,62,0,0 monster Hydra 1068,1,300000,100000,1
+treasure01.gat,159,62,0,0 monster Hydra 1068,1,300000,100000,1
+treasure01.gat,160,60,27,19 monster Pirate Skeleton 1071,10,300000,100000,1
+treasure01.gat,158,45,0,0 monster Hydra 1068,1,302000,100000,1
+treasure01.gat,158,44,0,0 monster Hydra 1068,1,300000,100000,1
+treasure01.gat,158,43,0,0 monster Hydra 1068,1,305000,100000,1
+treasure01.gat,158,42,0,0 monster Hydra 1068,1,300000,100000,1
+treasure01.gat,158,41,0,0 monster Hydra 1068,1,300000,100000,1
+treasure01.gat,158,40,0,0 monster Hydra 1068,1,307000,100000,1
+treasure01.gat,159,45,0,0 monster Hydra 1068,1,285000,100000,1
+treasure01.gat,159,44,0,0 monster Hydra 1068,1,312000,100000,1
+treasure01.gat,159,43,0,0 monster Hydra 1068,1,318000,100000,1
+treasure01.gat,159,42,0,0 monster Hydra 1068,1,300000,100000,1
+treasure01.gat,159,41,0,0 monster Hydra 1068,1,306000,100000,1
+treasure01.gat,159,40,0,0 monster Hydra 1068,1,290000,100000,1
+treasure01.gat,168,45,0,0 monster Hydra 1068,1,300000,100000,1
+treasure01.gat,168,44,0,0 monster Hydra 1068,1,314000,100000,1
+treasure01.gat,168,43,0,0 monster Hydra 1068,1,300000,100000,1
+treasure01.gat,168,42,0,0 monster Hydra 1068,1,306000,100000,1
+treasure01.gat,168,41,0,0 monster Hydra 1068,1,290000,100000,1
+treasure01.gat,168,40,0,0 monster Hydra 1068,1,322000,100000,1
+treasure01.gat,169,45,0,0 monster Hydra 1068,1,300000,100000,1
+treasure01.gat,169,44,0,0 monster Hydra 1068,1,302000,100000,1
+treasure01.gat,169,43,0,0 monster Hydra 1068,1,305000,100000,1
+treasure01.gat,169,42,0,0 monster Hydra 1068,1,300000,100000,1
+treasure01.gat,169,41,0,0 monster Hydra 1068,1,313000,100000,1
+treasure01.gat,169,40,0,0 monster Hydra 1068,1,300000,100000,1
+
+// treasure02
+
+treasure02.gat,0,0,0,0 monster Ghostring 1120,1,1980000,1200000,1
+treasure02.gat,0,0,0,0 monster Whisper 1179,8,0,0,0
+treasure02.gat,0,0,0,0 monster Wanderer 1208,1,600000,300000,1
+treasure02.gat,0,0,0,0 monster Penomena 1216,19,300000,120000,1
+treasure02.gat,0,0,0,0 monster Kukre 1070,20,0,0,1
+treasure02.gat,0,0,0,0 monster Pirate Skeleton 1071,5,0,0,1
+treasure02.gat,0,0,0,0 monster Mimic 1191,3,0,0,1
+treasure02.gat,95,57,0,0 monster Hydra 1068,1,300000,100000,1
+treasure02.gat,96,57,0,0 monster Hydra 1068,1,300000,100000,1
+treasure02.gat,101,57,0,0 monster Hydra 1068,1,300000,100000,1
+treasure02.gat,102,57,0,0 monster Hydra 1068,1,300000,100000,1
+treasure02.gat,107,57,0,0 monster Hydra 1068,1,300000,100000,1
+treasure02.gat,108,57,0,0 monster Hydra 1068,1,300000,100000,1
+treasure02.gat,102,68,13,13 monster Whisper 1179,2,300000,100000,1
+treasure02.gat,102,80,5,5 monster Whisper 1179,1,300000,100000,1
+treasure02.gat,102,88,5,5 monster Whisper 1179,1,300000,100000,1
+treasure02.gat,100,85,0,0 monster Hydra 1068,1,300000,100000,1
+treasure02.gat,101,85,0,0 monster Hydra 1068,1,300000,100000,1
+treasure02.gat,102,85,0,0 monster Hydra 1068,1,300000,100000,1
+treasure02.gat,103,85,0,0 monster Hydra 1068,1,300000,100000,1
+treasure02.gat,100,136,0,0 monster Hydra 1068,1,300000,100000,1
+treasure02.gat,101,136,0,0 monster Hydra 1068,1,300000,100000,1
+treasure02.gat,102,136,0,0 monster Hydra 1068,1,300000,100000,1
+treasure02.gat,103,136,0,0 monster Hydra 1068,1,300000,100000,1
+treasure02.gat,100,143,0,0 monster Hydra 1068,1,300000,100000,1
+treasure02.gat,101,143,0,0 monster Hydra 1068,1,300000,100000,1
+treasure02.gat,102,143,0,0 monster Hydra 1068,1,300000,100000,1
+treasure02.gat,103,143,0,0 monster Hydra 1068,1,300000,100000,1
+treasure02.gat,101,150,15,10 monster Whisper 1179,4,200000,100000,1
+treasure02.gat,101,151,8,8 monster Drake 1112,1,7200000,3600000,1
+treasure02.gat,101,151,10,10 monster Mimic 1191,3,500000,200000,1
+treasure02.gat,101,151,10,10 monster Mimic 1191,2,100000,100000,1
+treasure02.gat,101,151,10,10 monster Penomena 1216,4,100000,100000,1
+treasure02.gat,101,126,2,2 monster Penomena 1216,1,1200000,600000,1
+treasure02.gat,101,135,2,2 monster Penomena 1216,1,60000,200000,1
+treasure02.gat,38,74,9,9 monster Pirate Skeleton 1071,3,300000,100000,1
+treasure02.gat,170,71,1,1 monster Pirate Skeleton 1071,1,100000,100000,1
+treasure02.gat,168,77,1,1 monster Pirate Skeleton 1071,1,100000,100000,1
+treasure02.gat,164,67,1,1 monster Pirate Skeleton 1071,1,100000,100000,1
+treasure02.gat,155,43,21,13 monster Pirate Skeleton 1071,6,300000,100000,1
+treasure02.gat,178,143,1,1 monster Pirate Skeleton 1071,1,300000,100000,1
+treasure02.gat,178,140,1,1 monster Pirate Skeleton 1071,1,300000,100000,1
+treasure02.gat,184,143,1,1 monster Pirate Skeleton 1071,1,300000,100000,1
+treasure02.gat,157,143,1,1 monster Whisper 1179,1,100000,100000,1
+treasure02.gat,151,138,1,1 monster Whisper 1179,1,100000,100000,1
+treasure02.gat,45,144,1,1 monster Whisper 1179,1,200000,100000,1
+treasure02.gat,52,139,1,1 monster Whisper 1179,1,200000,100000,1
+treasure02.gat,23,142,1,1 monster Marionette 1143,1,200000,100000,1
diff --git a/npc/omobs/dungeons/thanatos.txt b/npc/omobs/dungeons/thanatos.txt
new file mode 100644
index 000000000..b2e7402c1
--- /dev/null
+++ b/npc/omobs/dungeons/thanatos.txt
@@ -0,0 +1,137 @@
+//===== eAthena Script =======================================
+//= Thanatos Tower Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.0 Real spawns by Poki#3 [Nexon]
+//============================================================
+
+//Thanatos Tower Floor 1
+tha_t01.gat,0,0,0,0 monster Mimic 1191,30,0,0,0
+tha_t01.gat,0,0,0,0 monster Rideword 1195,20,0,0,0
+tha_t01.gat,0,0,0,0 monster Plasma 1695,10,0,0,0
+tha_t01.gat,0,0,0,0 monster Solace 1703,10,0,0,0
+tha_t01.gat,0,0,0,0 monster Alice 1275,1,0,0,0
+
+//Thanatos Tower Floor 2
+tha_t02.gat,0,0,0,0 monster Rideword 1195,20,0,0,0
+tha_t02.gat,0,0,0,0 monster Deathword 1698,20,0,0,0
+tha_t02.gat,0,0,0,0 monster Mimic 1191,30,0,0,0
+tha_t02.gat,0,0,0,0 monster Ancient Mimic 1699,20,0,0,0
+tha_t02.gat,0,0,0,0 monster Plasma 1697,10,0,0,0
+tha_t02.gat,0,0,0,0 monster Retribution 1702,10,0,0,0
+tha_t02.gat,0,0,0,0 monster Alice 1275,1,0,0,0
+
+//Thanatos Tower Floor 3
+tha_t03.gat,0,0,0,0 monster Rideword 1195,20,0,0,0
+tha_t03.gat,0,0,0,0 monster Deathword 1698,20,0,0,0
+tha_t03.gat,0,0,0,0 monster Mimic 1191,30,0,0,0
+tha_t03.gat,0,0,0,0 monster Plasma 1696,10,0,0,0
+tha_t03.gat,0,0,0,0 monster Shelter 1701,10,0,0,0
+tha_t03.gat,0,0,0,0 monster Ancient Mimic 1699,20,0,0,0
+tha_t03.gat,0,0,0,0 monster Owl Duke 1320,10,0,0,0
+tha_t03.gat,0,0,0,0 monster Elder 1377,10,0,0,0
+
+//Thanatos Tower Floor 4
+tha_t04.gat,0,0,0,0 monster Rideword 1195,20,0,0,0
+tha_t04.gat,0,0,0,0 monster Deathword 1698,20,0,0,0
+tha_t04.gat,0,0,0,0 monster Mimic 1191,30,0,0,0
+tha_t04.gat,0,0,0,0 monster Ancient Mimic 1699,20,0,0,0
+tha_t04.gat,0,0,0,0 monster Plasma 1694,10,0,0,0
+tha_t04.gat,0,0,0,0 monster Owl Duke 1320,10,0,0,0
+tha_t04.gat,0,0,0,0 monster Owl Baron 1295,10,0,0,0
+tha_t04.gat,0,0,0,0 monster Elder 1377,10,0,0,0
+tha_t04.gat,0,0,0,0 monster Observation 1700,10,0,0,0
+
+//Thanatos Tower Floor 5
+tha_t05.gat,0,0,0,0 monster Rideword 1195,20,0,0,0
+tha_t05.gat,0,0,0,0 monster Deathword 1698,20,0,0,0
+tha_t05.gat,0,0,0,0 monster Mimic 1191,20,0,0,0
+tha_t05.gat,0,0,0,0 monster Ancient Mimic 1699,15,0,0,0
+tha_t05.gat,0,0,0,0 monster Plasma 1694,5,0,0,0
+tha_t05.gat,0,0,0,0 monster Plasma 1697,5,0,0,0
+tha_t05.gat,0,0,0,0 monster Plasma 1695,5,0,0,0
+tha_t05.gat,0,0,0,0 monster Plasma 1696,5,0,0,0
+tha_t05.gat,0,0,0,0 monster Owl Duke 1320,10,0,0,0
+tha_t05.gat,0,0,0,0 monster Elder 1377,10,0,0,0
+tha_t05.gat,0,0,0,0 monster Thanatos Dolor 1707,10,0,0,0
+
+//Thanatos Tower Floor 6
+tha_t06.gat,0,0,0,0 monster Rideword 1195,20,0,0,0
+tha_t06.gat,0,0,0,0 monster Deathword 1698,20,0,0,0
+tha_t06.gat,0,0,0,0 monster Mimic 1191,20,0,0,0
+tha_t06.gat,0,0,0,0 monster Ancient Mimic 1699,20,0,0,0
+tha_t06.gat,0,0,0,0 monster Plasma 1694,5,0,0,0
+tha_t06.gat,0,0,0,0 monster Plasma 1697,5,0,0,0
+tha_t06.gat,0,0,0,0 monster Plasma 1695,5,0,0,0
+tha_t06.gat,0,0,0,0 monster Plasma 1696,5,0,0,0
+tha_t06.gat,0,0,0,0 monster Owl Duke 1320,10,0,0,0
+tha_t06.gat,0,0,0,0 monster Elder 1377,15,0,0,0
+tha_t06.gat,0,0,0,0 monster Thanatos Maero 1706,2,0,0,0
+tha_t06.gat,0,0,0,0 monster Thanatos Dolor 1707,10,0,0,0
+
+//Thanatos Tower Floor 7
+tha_t07.gat,0,0,0,0 monster Rideword 1195,10,0,0,0
+tha_t07.gat,0,0,0,0 monster Deathword 1698,20,0,0,0
+tha_t07.gat,0,0,0,0 monster Mimic 1191,10,0,0,0
+tha_t07.gat,0,0,0,0 monster Ancient Mimic 1699,20,0,0,0
+tha_t07.gat,0,0,0,0 monster Observation 1700,10,0,0,0
+tha_t07.gat,0,0,0,0 monster Retribution 1702,20,0,0,0
+tha_t07.gat,0,0,0,0 monster Elder 1377,20,0,0,0
+tha_t07.gat,0,0,0,0 monster Shelter 1701,10,0,0,0
+tha_t07.gat,0,0,0,0 monster Thanatos Odium 1704,2,0,0,0
+
+//Thanatos Tower Floor 8
+tha_t08.gat,0,0,0,0 monster Rideword 1195,20,0,0,0
+tha_t08.gat,0,0,0,0 monster Deathword 1698,20,0,0,0
+tha_t08.gat,0,0,0,0 monster Mimic 1191,20,0,0,0
+tha_t08.gat,0,0,0,0 monster Ancient Mimic 1699,10,0,0,0
+tha_t08.gat,0,0,0,0 monster Observation 1700,10,0,0,0
+tha_t08.gat,0,0,0,0 monster Retribution 1702,10,0,0,0
+tha_t08.gat,0,0,0,0 monster Elder 1377,10,0,0,0
+tha_t08.gat,0,0,0,0 monster Shelter 1701,10,0,0,0
+tha_t08.gat,0,0,0,0 monster Thanatos Odium 1704,5,1800000,0,0
+
+//Thanatos Tower Floor 9
+tha_t09.gat,0,0,0,0 monster Observation 1700,10,0,0,0
+tha_t09.gat,0,0,0,0 monster Retribution 1702,20,0,0,0
+tha_t09.gat,0,0,0,0 monster Plasma 1694,10,0,0,0
+tha_t09.gat,0,0,0,0 monster Elder 1377,20,0,0,0
+tha_t09.gat,0,0,0,0 monster Shelter 1701,10,0,0,0
+tha_t09.gat,0,0,0,0 monster Thanatos Dolor 1707,5,0,0,0
+
+//Thanatos Tower Floor 10
+tha_t10.gat,0,0,0,0 monster Observation 1700,10,0,0,0
+tha_t10.gat,0,0,0,0 monster Retribution 1702,10,0,0,0
+tha_t10.gat,0,0,0,0 monster Plasma 1697,5,0,0,0
+tha_t10.gat,0,0,0,0 monster Elder 1377,20,0,0,0
+tha_t10.gat,0,0,0,0 monster Shelter 1701,10,0,0,0
+tha_t10.gat,0,0,0,0 monster Thanatos Dolor 1707,5,0,0,0
+
+//Thanatos Tower Floor 11
+tha_t11.gat,0,0,0,0 monster Observation 1700,20,0,0,0
+tha_t11.gat,0,0,0,0 monster Retribution 1702,20,0,0,0
+tha_t11.gat,0,0,0,0 monster Plasma 1695,10,0,0,0
+tha_t11.gat,0,0,0,0 monster Elder 1377,20,0,0,0
+tha_t11.gat,0,0,0,0 monster Shelter 1701,20,0,0,0
+tha_t11.gat,0,0,0,0 monster Thanatos Odium 1704,2,0,0,0
+tha_t11.gat,0,0,0,0 monster Thanatos Despero 1705,5,1800000,0,0
+
+//Thanatos Tower Floor 12
+tha_t12.gat,0,0,0,0 monster Observation 1700,10,0,0,0
+tha_t12.gat,0,0,0,0 monster Retribution 1702,30,0,0,0
+tha_t12.gat,0,0,0,0 monster Shelter 1701,10,0,0,0
+tha_t12.gat,0,0,0,0 monster Plasma 1693,10,0,0,0
+tha_t12.gat,0,0,0,0 monster Elder 1377,20,0,0,0
+tha_t12.gat,0,0,0,0 monster Thanatos Odium 1704,2,0,0,0
+tha_t12.gat,0,0,0,0 monster Thanatos Despero 1705,2,0,0,0
+tha_t12.gat,0,0,0,0 monster Thanatos Maero 1706,2,0,0,0
+tha_t12.gat,0,0,0,0 monster Thanatos Dolor 1707,5,0,0,0
+
+//The top of The Thanatos Tower
+thana_boss.gat,135,119,0,0 monster Thanatos 1708,1,3600000,7200000,0
+// Note - Thanatos spawn should be removed later. He should be summoned by finishing the Thanatos Tower Quest (At least from the info I have ^^; )
diff --git a/npc/omobs/dungeons/toyfactory.txt b/npc/omobs/dungeons/toyfactory.txt
new file mode 100644
index 000000000..a7e2741a0
--- /dev/null
+++ b/npc/omobs/dungeons/toyfactory.txt
@@ -0,0 +1,33 @@
+//===== eAthena Script =======================================
+//= Toy Factory Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.1 added Hatii Baby according to May 10 patch
+//============================================================
+
+// Christmas Dungeon 1F
+
+xmas_dun01.gat,0,0,0,0 monster Marin 1242,20,0,0,0
+xmas_dun01.gat,0,0,0,0 monster Poring 1002,10,0,0,0
+xmas_dun01.gat,0,0,0,0 monster Drops 1113,10,0,0,0
+xmas_dun01.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+xmas_dun01.gat,0,0,0,0 monster Cookie 1265,40,0,0,0
+xmas_dun01.gat,0,0,0,0 monster Christmas Cookie 1246,40,0,0,0
+xmas_dun01.gat,0,0,0,0 monster Myst Case 1249,5,0,0,0
+xmas_dun01.gat,0,0,0,0 monster Chepet 1250,1,1200000,900000,0
+xmas_dun01.gat,0,0,0,0 monster Mastering 1090,1,1800000,900000,0
+xmas_dun01.gat,0,0,0,0 monster Angeling 1096,1,3600000,1800000,0
+
+// Christmas Dungeon 2F
+
+xmas_dun02.gat,0,0,0,0 monster Christmas Cookie 1246,20,0,0,0
+xmas_dun02.gat,0,0,0,0 monster Cookie 1265,20,0,0,0
+xmas_dun02.gat,0,0,0,0 monster Cruiser 1248,35,0,0,0
+xmas_dun02.gat,0,0,0,0 monster Myst Case 1249,50,0,0,0
+xmas_dun02.gat,0,0,0,0 monster Hatii Baby 1515,1,1800000,0,0
+xmas_dun02.gat,0,0,0,0 monster Stormy Knight 1251,1,3600000,7200000,0
diff --git a/npc/omobs/dungeons/turtleisland.txt b/npc/omobs/dungeons/turtleisland.txt
new file mode 100644
index 000000000..bf7041e86
--- /dev/null
+++ b/npc/omobs/dungeons/turtleisland.txt
@@ -0,0 +1,67 @@
+//===== eAthena Script =======================================
+//= Turtle Island Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+//tur_dun01
+
+tur_dun01.gat,0,0,0,0 monster Dragon Tail 1321,25,0,0,0
+tur_dun01.gat,0,0,0,0 monster Spring Rabbit 1322,25,0,0,0
+tur_dun01.gat,0,0,0,0 monster Thara Frog 1034,10,0,0,0
+tur_dun01.gat,0,0,0,0 monster Perimeter 1314,10,0,0,0
+tur_dun01.gat,0,0,0,0 monster Pest 1256,15,0,0,0
+
+//tur_dun02
+
+tur_dun02.gat,0,0,0,0 monster Perimeter 1314,40,0,0,0
+tur_dun02.gat,0,0,0,0 monster Solider 1316,40,0,0,0
+tur_dun02.gat,0,0,0,0 monster Freezer 1319,20,0,0,0
+tur_dun02.gat,0,0,0,0 monster Pest 1256,15,0,0,0
+
+//tur_dun03
+
+tur_dun03.gat,0,0,0,0 monster Perimeter 1314,15,0,0,0
+tur_dun03.gat,0,0,0,0 monster Freezer 1319,40,0,0,0
+tur_dun03.gat,0,0,0,0 monster Assaulter 1315,35,0,0,0
+tur_dun03.gat,0,0,0,0 monster Heater 1318,10,50000,0,0
+
+//tur_dun04
+
+tur_dun04.gat,99,92,10,10 monster Wanderer 1208,1,60000,30000,0
+tur_dun04.gat,99,93,20,20 monster Turtle General 1312,1,3600000,7200000,0
+tur_dun04.gat,100,93,20,20 monster Heater 1318,3,120000,60000,0
+tur_dun04.gat,100,93,20,20 monster Assaulter 1315,10,120000,60000,0
+tur_dun04.gat,100,93,20,20 monster Freezer 1319,5,120000,60000,0
+tur_dun04.gat,171,159,3,3 monster Wanderer 1208,1,300000,150000,0
+tur_dun04.gat,171,155,3,3 monster Assaulter 1315,1,310000,160000,0
+tur_dun04.gat,171,149,3,3 monster Assaulter 1315,1,320000,170000,0
+tur_dun04.gat,28,159,3,3 monster Wanderer 1208,1,300000,150000,0
+tur_dun04.gat,28,155,3,3 monster Assaulter 1315,1,310000,160000,0
+tur_dun04.gat,28,149,3,3 monster Assaulter 1315,1,320000,170000,0
+tur_dun04.gat,174,26,3,3 monster Wanderer 1208,1,300000,150000,0
+tur_dun04.gat,174,29,3,3 monster Assaulter 1315,1,310000,160000,0
+tur_dun04.gat,174,32,3,3 monster Assaulter 1315,1,320000,170000,0
+tur_dun04.gat,26,26,3,3 monster Wanderer 1208,1,300000,150000,0
+tur_dun04.gat,26,29,3,3 monster Assaulter 1315,1,310000,160000,0
+tur_dun04.gat,26,32,3,3 monster Assaulter 1315,1,320000,170000,0
+tur_dun04.gat,0,0,0,0 monster Wanderer 1208,2,0,0,0
+tur_dun04.gat,0,0,0,0 monster Heater 1318,10,300000,150000,0
+tur_dun04.gat,0,0,0,0 monster Heater 1318,20,620000,310000,0
+tur_dun04.gat,0,0,0,0 monster Assaulter 1315,23,0,0,0
+tur_dun04.gat,0,0,0,0 monster Freezer 1319,5,300000,150000,0
+tur_dun04.gat,0,0,0,0 monster Freezer 1319,5,600000,300000,0
+tur_dun04.gat,0,0,0,0 monster Perimeter 1314,2,300000,150000,0
+tur_dun04.gat,0,0,0,0 monster Perimeter 1314,2,640000,320000,0
+
+//tur_dun05
+
+tur_dun05.gat,0,0,0,0 monster Perimeter 1314,3,20000,0,0
+tur_dun05.gat,0,0,0,0 monster Freezer 1319,5,30000,0,0
+tur_dun05.gat,0,0,0,0 monster Assaulter 1315,1,20000,0,0
diff --git a/npc/omobs/dungeons/umbaladun.txt b/npc/omobs/dungeons/umbaladun.txt
new file mode 100644
index 000000000..7fcc87e07
--- /dev/null
+++ b/npc/omobs/dungeons/umbaladun.txt
@@ -0,0 +1,60 @@
+//===== eAthena Script =======================================
+//= Umbala Dungeon Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+//um_dun01
+
+um_dun01.gat,0,0,0,0 monster Stainer 1174,10,0,0,0
+um_dun01.gat,0,0,0,0 monster Dustiness 1114,10,0,0,0
+um_dun01.gat,0,0,0,0 monster Stone Shooter 1495,70,0,0,0
+um_dun01.gat,0,0,0,0 monster Wootan Fighter 1499,10,0,0,0
+um_dun01.gat,0,0,0,0 monster Wootan Shooter 1498,10,0,0,0
+um_dun01.gat,0,0,0,0 monster Beetle King 1494,10,0,0,0
+um_dun01.gat,0,0,0,0 monster Yellow Plant 1081,5,180000,90000,1
+um_dun01.gat,0,0,0,0 monster Green Plant 1080,5,180000,90000,1
+
+
+//um_dun02
+
+um_dun02.gat,0,0,0,0 monster Wooden Golem 1497,15,0,0,0
+um_dun02.gat,79,227,5,5 monster Wooden Golem 1497,5,120000,60000,0
+um_dun02.gat,87,189,5,5 monster Wooden Golem 1497,2,120000,60000,0
+um_dun02.gat,170,145,5,5 monster Wooden Golem 1497,3,120000,60000,0
+um_dun02.gat,196,131,7,7 monster Wooden Golem 1497,5,120000,60000,0
+um_dun02.gat,244,129,10,10 monster Wooden Golem 1497,5,120000,60000,0
+um_dun02.gat,0,0,0,0 monster Beetle King 1494,30,0,0,0
+um_dun02.gat,117,43,10,10 monster Beetle King 1494,3,120000,60000,0
+um_dun02.gat,209,34,10,10 monster Beetle King 1494,3,120000,60000,0
+um_dun02.gat,205,265,10,10 monster Beetle King 1494,4,120000,60000,0
+um_dun02.gat,0,0,0,0 monster Wooden Golem 1497,10,0,0,0
+um_dun02.gat,90,97,10,10 monster Wooden Golem 1497,3,120000,60000,0
+um_dun02.gat,32,83,10,10 monster Wooden Golem 1497,2,120000,60000,0
+um_dun02.gat,180,238,10,10 monster Wooden Golem 1497,3,120000,60000,0
+um_dun02.gat,144,277,10,10 monster Wooden Golem 1497,2,120000,60000,0
+um_dun02.gat,272,163,10,10 monster Wooden Golem 1497,2,120000,60000,0
+um_dun02.gat,232,156,10,10 monster Wooden Golem 1497,3,120000,60000,0
+um_dun02.gat,0,0,0,0 monster Driller 1380,5,0,0,0
+um_dun02.gat,197,138,10,10 monster Driller 1380,2,120000,60000,0
+um_dun02.gat,164,203,10,10 monster Driller 1380,1,120000,60000,0
+um_dun02.gat,32,83,10,10 monster Driller 1380,1,120000,60000,0
+um_dun02.gat,244,129,10,10 monster Driller 1380,2,120000,60000,0
+um_dun02.gat,0,0,0,0 monster Wootan Shooter 1498,10,0,0,0
+um_dun02.gat,213,217,10,10 monster Wootan Shooter 1498,2,120000,60000,0
+um_dun02.gat,72,258,10,10 monster Wootan Shooter 1498,3,120000,60000,0
+um_dun02.gat,79,227,5,5 monster Wootan Shooter 1498,1,120000,60000,0
+um_dun02.gat,170,145,5,5 monster Wootan Shooter 1498,1,120000,60000,0
+um_dun02.gat,209,34,10,10 monster Wootan Shooter 1498,1,120000,60000,0
+um_dun02.gat,272,163,10,10 monster Wootan Shooter 1498,1,120000,60000,0
+um_dun02.gat,232,156,10,10 monster Wootan Shooter 1498,1,120000,60000,0
+um_dun02.gat,0,0,0,0 monster Dryad 1493,10,0,0,0
+um_dun02.gat,0,0,0,0 monster Yellow Plant 1081,5,180000,90000,1
+um_dun02.gat,0,0,0,0 monster Red Plant 1078,5,180000,90000,1
+um_dun02.gat,0,0,0,0 monster Shining Plant 1083,6,180000,90000,1
diff --git a/npc/omobs/dungeons/yggdrasil.txt b/npc/omobs/dungeons/yggdrasil.txt
new file mode 100644
index 000000000..cd0f01cb3
--- /dev/null
+++ b/npc/omobs/dungeons/yggdrasil.txt
@@ -0,0 +1,32 @@
+//===== eAthena Script =======================================
+//= Yggdrasil Tree Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.0 Splitted from Nifflheim fields [DracoRPG]
+//============================================================
+
+//yggdrasil01
+yggdrasil01.gat,234,256,10,10 monster Blue Plant 1079,5,1800000,600000,0
+yggdrasil01.gat,273,234,3,3 monster Shining Plant 1083,1,1800000,600000,0
+yggdrasil01.gat,143,257,20,10 monster Shining Plant 1083,5,1200000,600000,0
+yggdrasil01.gat,98,238,20,15 monster Yellow Plant 1081,5,1200000,600000,0
+yggdrasil01.gat,98,238,20,15 monster White Plant 1082,5,1200000,600000,0
+yggdrasil01.gat,47,207,20,20 monster Blue Plant 1079,5,1200000,600000,0
+yggdrasil01.gat,61,258,3,3 monster Shining Plant 1083,1,1800000,600000,0
+yggdrasil01.gat,132,199,20,5 monster Blue Plant 1079,5,1200000,600000,0
+yggdrasil01.gat,209,218,2,2 monster Shining Plant 1083,1,1200000,600000,0
+yggdrasil01.gat,192,186,2,2 monster Shining Plant 1083,1,1800000,1200000,0
+yggdrasil01.gat,169,176,3,3 monster Shining Plant 1083,1,1200000,600000,0
+yggdrasil01.gat,169,176,3,3 monster Green Plant 1080,1,60000,30000,0
+yggdrasil01.gat,94,111,5,2 monster Shining Plant 1083,1,1200000,600000,0
+yggdrasil01.gat,51,118,10,3 monster Shining Plant 1083,1,1200000,600000,0
+yggdrasil01.gat,133,54,3,3 monster Shining Plant 1083,1,1200000,600000,0
+yggdrasil01.gat,257,63,10,10 monster Shining Plant 1083,3,1800000,1200000,0
+yggdrasil01.gat,0,0,0,0 monster Shining Plant 1083,10,3600000,2300000,0
+yggdrasil01.gat,0,0,0,0 monster Green Plant 1080,25,60000,30000,0
+yggdrasil01.gat,0,0,0,0 monster Red Plant 1078,15,60000,30000,0
diff --git a/npc/omobs/fields/amatsu.txt b/npc/omobs/fields/amatsu.txt
new file mode 100644
index 000000000..2c81a9965
--- /dev/null
+++ b/npc/omobs/fields/amatsu.txt
@@ -0,0 +1,39 @@
+//===== eAthena Script =======================================
+//= Amatsu Fields Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// ama_fild01
+
+ama_fild01.gat,0,0,0,0 monster Karakasa 1400,50,0,0,0
+ama_fild01.gat,174,207,20,20 monster Kapha 1406,5,1200000,600000,0
+ama_fild01.gat,241,310,10,10 monster Kapha 1406,5,600000,300000,0
+ama_fild01.gat,114,230,10,10 monster Kapha 1406,5,600000,300000,0
+ama_fild01.gat,174,253,10,10 monster Kapha 1406,5,600000,300000,0
+ama_fild01.gat,177,315,0,0 monster Hydra 1068,1,60000,30000,0
+ama_fild01.gat,175,315,0,0 monster Hydra 1068,1,63000,31500,0
+ama_fild01.gat,173,315,0,0 monster Hydra 1068,1,66000,33000,0
+ama_fild01.gat,171,315,0,0 monster Hydra 1068,1,69000,34500,0
+ama_fild01.gat,169,315,0,0 monster Hydra 1068,1,72000,39000,0
+ama_fild01.gat,177,314,0,0 monster Hydra 1068,1,66000,33000,0
+ama_fild01.gat,175,314,0,0 monster Hydra 1068,1,72000,39000,0
+ama_fild01.gat,173,314,0,0 monster Hydra 1068,1,60000,30000,0
+ama_fild01.gat,171,314,0,0 monster Hydra 1068,1,69000,34500,0
+ama_fild01.gat,169,314,0,0 monster Hydra 1068,1,63000,31500,0
+ama_fild01.gat,171,313,0,0 monster Hydra 1068,1,66000,33000,0
+ama_fild01.gat,173,313,0,0 monster Hydra 1068,1,60000,30000,0
+ama_fild01.gat,175,313,0,0 monster Hydra 1068,1,66000,33000,0
+ama_fild01.gat,173,310,0,0 monster Hydra 1068,1,60000,30000,0
+ama_fild01.gat,0,0,0,0 monster Kapha 1406,20,60000,30000,0
+ama_fild01.gat,174,306,20,20 monster Kapha 1406,10,300000,150000,0
+ama_fild01.gat,0,0,0,0 monster Miyabi Doll 1404,2,180000,90000,0
+ama_fild01.gat,0,0,0,0 monster Poison Toad 1402,1,180000,90000,0
+ama_fild01.gat,0,0,0,0 monster Poporing 1031,15,0,0,0
+ama_fild01.gat,0,0,0,0 monster Bigfoot 1060,15,60000,30000,0
diff --git a/npc/omobs/fields/ayothaya.txt b/npc/omobs/fields/ayothaya.txt
new file mode 100644
index 000000000..99ce118e5
--- /dev/null
+++ b/npc/omobs/fields/ayothaya.txt
@@ -0,0 +1,25 @@
+//===== eAthena Script =======================================
+//= Ayothana Field Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= Currently using EuRO data provided by Ishizu.
+//= 1.3 Removed Choco
+//============================================================
+
+//=== Ayothana Field #1 ===
+ayo_fild01.gat,0,0,0,0 monster Green Plant 1080,10,0,0,0
+ayo_fild01.gat,0,0,0,0 monster Coco 1104,30,0,0,0
+ayo_fild01.gat,0,0,0,0 monster Smokie 1056,30,0,0,0
+ayo_fild01.gat,0,0,0,0 monster Yoyo 1057,30,0,0,0
+ayo_fild01.gat,0,0,0,0 monster Leaf Cat 1586,5,0,0,0
+
+//=== Ayothana Field #2 ===
+ayo_fild02.gat,0,0,0,0 monster Yellow Plant 1081,10,0,0,0
+ayo_fild02.gat,0,0,0,0 monster Beetle 1494,10,0,0,0
+ayo_fild02.gat,0,0,0,0 monster Wootan Fighter 1499,20,0,0,0
+ayo_fild02.gat,0,0,0,0 monster Leaf Cat 1586,50,0,0,0
diff --git a/npc/omobs/fields/comodo.txt b/npc/omobs/fields/comodo.txt
new file mode 100644
index 000000000..fcbb8de34
--- /dev/null
+++ b/npc/omobs/fields/comodo.txt
@@ -0,0 +1,169 @@
+//===== eAthena Script =======================================
+//= Comodo Fields Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// cmd_fild01 (lv3)
+
+cmd_fild01.gat,0,0,0,0 monster Alligator 1271,60,0,0,0
+cmd_fild01.gat,0,0,0,0 monster Savage 1166,30,0,0,0
+cmd_fild01.gat,0,0,0,0 monster Poporing 1031,30,0,0,0
+cmd_fild01.gat,0,0,0,0 monster Poison Spore 1077,20,0,0,0
+
+// cmd_fild02 (lv3)
+
+cmd_fild02.gat,73,100,40,100 monster Aster 1266,5,0,0,0
+cmd_fild02.gat,200,130,150,50 monster Aster 1266,5,0,0,0
+cmd_fild02.gat,0,0,0,0 monster Crab 1073,20,0,0,0
+cmd_fild02.gat,0,0,0,0 monster Alligator 1271,10,0,0,0
+cmd_fild02.gat,0,0,0,0 monster Raggler 1254,30,0,0,0
+cmd_fild02.gat,94,85,40,80 monster Raggler 1254,2,60000,0,0
+cmd_fild02.gat,95,89,40,80 monster Cornutus 1067,5,180000,0,0
+cmd_fild02.gat,279,78,100,20 monster Cornutus 1067,10,60000,0,0
+cmd_fild02.gat,0,0,0,0 monster Shellfish 1074,35,0,0,0
+cmd_fild02.gat,93,82,40,80 monster Shellfish 1074,5,180000,0,0
+cmd_fild02.gat,0,0,0,0 monster Mobster 1313,1,0,0,0
+cmd_fild02.gat,200,130,150,40 monster Seal 1317,18,0,0,0
+cmd_fild02.gat,93,82,40,80 monster Seal 1317,2,180000,0,0
+cmd_fild02.gat,0,0,0,0 monster Galapago 1391,20,0,0,0
+
+// cmd_fild03 (lv4)
+
+cmd_fild03.gat,0,0,0,0 monster Mutant Dragonoid 1262,1,3600000,1800000,1
+cmd_fild03.gat,0,0,0,0 monster Pest 1256,30,0,0,0
+cmd_fild03.gat,0,0,0,0 monster Poporing 1031,10,0,0,0
+cmd_fild03.gat,0,0,0,0 monster Anolian 1206,60,0,0,0
+cmd_fild03.gat,0,0,0,0 monster Toad 1089,1,3600000,1800000,1
+cmd_fild03.gat,0,0,0,0 monster Rotar Zairo 1392,30,0,0,0
+
+// cmd_fild04 (lv3)
+cmd_fild04.gat,221,120,120,40 monster Aster 1266,45,0,0,0
+cmd_fild04.gat,0,0,0,0 monster Alligator 1271,40,0,0,0
+cmd_fild04.gat,0,0,0,0 monster Crab 1073,20,0,0,0
+cmd_fild04.gat,0,0,0,0 monster Raggler 1254,20,0,0,0
+cmd_fild04.gat,0,0,0,0 monster Shellfish 1074,20,0,0,0
+cmd_fild04.gat,221,120,120,40 monster Sea Otter 1323,20,0,0,0
+
+// cmd_fild05 (lv3)
+
+cmd_fild05.gat,0,0,0,0 monster Frilldora 1119,15,0,0,0
+cmd_fild05.gat,0,0,0,0 monster Anolian 1206,20,0,0,0
+cmd_fild05.gat,0,0,0,0 monster Stem Worm 1215,30,0,0,0
+cmd_fild05.gat,0,0,0,0 monster Poporing 1031,10,0,0,0
+cmd_fild05.gat,0,0,0,0 monster Pest 1256,20,0,0,0
+
+// cmd_fild06 (lv3)
+
+cmd_fild06.gat,357,299,80,70 monster Kobold Archer 1282,5,0,0,0
+cmd_fild06.gat,318,146,120,80 monster Kobold Archer 1282,7,0,0,0
+cmd_fild06.gat,244,113,0,0 monster Kobold Archer 1282,1,180000,0,0
+cmd_fild06.gat,290,164,0,0 monster Kobold Archer 1282,1,190000,0,0
+cmd_fild06.gat,284,197,0,0 monster Kobold Archer 1282,1,180000,0,0
+cmd_fild06.gat,286,289,0,0 monster Kobold Archer 1282,1,180000,0,0
+cmd_fild06.gat,314,267,0,0 monster Kobold Archer 1282,1,180000,0,0
+cmd_fild06.gat,355,294,80,70 monster Goblin Archer 1258,7,0,0,0
+cmd_fild06.gat,307,97,70,200 monster Goblin Archer 1258,7,0,0,0
+cmd_fild06.gat,100,265,10,40 monster Goblin Archer 1258,3,130000,0,0
+cmd_fild06.gat,244,110,0,0 monster Goblin Archer 1258,1,180000,0,0
+cmd_fild06.gat,292,169,0,0 monster Goblin Archer 1258,1,180000,0,0
+cmd_fild06.gat,284,129,0,0 monster Goblin Archer 1258,1,180000,0,0
+cmd_fild06.gat,184,126,0,0 monster Goblin Archer 1258,1,180000,0,0
+cmd_fild06.gat,279,199,0,0 monster Goblin Archer 1258,1,180000,0,0
+cmd_fild06.gat,277,186,0,0 monster Goblin Archer 1258,1,180000,0,0
+cmd_fild06.gat,284,186,0,0 monster Goblin Archer 1258,1,180000,0,0
+cmd_fild06.gat,354,342,0,0 monster Goblin Archer 1258,1,180000,0,0
+cmd_fild06.gat,365,342,0,0 monster Goblin Archer 1258,1,180000,0,0
+cmd_fild06.gat,340,334,0,0 monster Goblin Archer 1258,1,180000,0,0
+cmd_fild06.gat,305,95,70,180 monster Stem Worm 1215,30,0,0,0
+cmd_fild06.gat,102,268,10,40 monster Stem Worm 1215,3,0,0,0
+cmd_fild06.gat,359,156,30,50 monster Stem Worm 1215,1,0,0,0
+cmd_fild06.gat,360,155,30,50 monster Stem Worm 1215,1,0,0,0
+cmd_fild06.gat,357,298,80,70 monster Stem Worm 1215,20,0,0,0
+cmd_fild06.gat,0,0,0,0 monster Drops 1113,20,0,0,0
+cmd_fild06.gat,0,0,0,0 monster Harpy 1376,1,1500000,1000000,0
+
+//cmd_fild07
+cmd_fild07.gat,242,108,40,90 monster Aster 1266,2,60000,0,0
+cmd_fild07.gat,102,177,60,90 monster Aster 1266,3,60000,0,0
+cmd_fild07.gat,240,107,40,90 monster Crab 1073,3,60000,0,0
+cmd_fild07.gat,100,175,60,90 monster Crab 1073,2,60000,0,0
+cmd_fild07.gat,101,176,60,90 monster Raggler 1254,1,180000,0,0
+cmd_fild07.gat,241,106,40,90 monster Raggler 1254,1,180000,0,0
+cmd_fild07.gat,204,317,60,60 monster Raggler 1254,1,60000,0,0
+cmd_fild07.gat,323,310,60,60 monster Raggler 1254,1,60000,0,0
+cmd_fild07.gat,0,0,0,0 monster Drops 1113,20,0,0,0
+cmd_fild07.gat,239,105,40,90 monster Shellfish 1074,2,60000,0,0
+cmd_fild07.gat,104,180,40,90 monster Shellfish 1074,3,60000,0,0
+
+// cmd_fild08 (lv4)
+
+cmd_fild08.gat,127,279,30,50 monster Kobold Archer 1282,5,60000,0,0
+cmd_fild08.gat,130,192,110,150 monster Kobold Archer 1282,5,0,0,0
+cmd_fild08.gat,146,136,30,80 monster Kobold Archer 1282,5,0,0,0
+cmd_fild08.gat,73,132,40,100 monster Kobold Archer 1282,5,0,0,0
+cmd_fild08.gat,146,136,30,90 monster Kobold Archer 1282,5,0,0,0
+cmd_fild08.gat,157,329,0,0 monster Kobold Archer 1282,1,190000,0,0
+cmd_fild08.gat,150,320,0,0 monster Kobold Archer 1282,1,190000,0,0
+cmd_fild08.gat,195,174,0,0 monster Kobold Archer 1282,1,190000,0,0
+cmd_fild08.gat,173,168,0,0 monster Kobold Archer 1282,1,190000,0,0
+cmd_fild08.gat,178,363,0,0 monster Kobold Archer 1282,1,190000,0,0
+cmd_fild08.gat,175,367,0,0 monster Kobold Archer 1282,1,190000,0,0
+cmd_fild08.gat,53,248,0,0 monster Kobold Archer 1282,1,190000,0,0
+cmd_fild08.gat,52,238,0,0 monster Kobold Archer 1282,1,190000,0,0
+cmd_fild08.gat,272,175,40,2 monster Kobold Archer 1282,2,60000,0,0
+cmd_fild08.gat,190,115,100,80 monster Gargoyle 1253,10,0,0,0
+cmd_fild08.gat,130,192,110,150 monster Gargoyle 1253,7,0,0,0
+cmd_fild08.gat,72,131,40,100 monster Gargoyle 1253,8,0,0,0
+cmd_fild08.gat,319,177,0,0 monster Gargoyle 1253,1,180000,0,0
+cmd_fild08.gat,319,172,0,0 monster Gargoyle 1253,1,180000,0,0
+cmd_fild08.gat,139,71,0,0 monster Gargoyle 1253,1,180000,0,0
+cmd_fild08.gat,136,64,0,0 monster Gargoyle 1253,1,180000,0,0
+cmd_fild08.gat,67,80,0,0 monster Gargoyle 1253,1,180000,0,0
+cmd_fild08.gat,132,149,0,0 monster Gargoyle 1253,1,180000,0,0
+cmd_fild08.gat,97,144,0,0 monster Gargoyle 1253,1,180000,0,0
+cmd_fild08.gat,79,140,0,0 monster Gargoyle 1253,1,180000,0,0
+cmd_fild08.gat,28,102,0,0 monster Gargoyle 1253,1,180000,0,0
+cmd_fild08.gat,80,348,60,40 monster Goblin Archer 1258,5,0,0,0
+cmd_fild08.gat,130,192,110,150 monster Goblin Archer 1258,5,0,0,0
+cmd_fild08.gat,194,291,25,40 monster Goblin Archer 1258,5,0,0,0
+cmd_fild08.gat,73,132,40,100 monster Goblin Archer 1258,5,0,0,0
+cmd_fild08.gat,182,205,0,0 monster Goblin Archer 1258,1,150000,0,0
+cmd_fild08.gat,177,210,0,0 monster Goblin Archer 1258,1,150000,0,0
+cmd_fild08.gat,58,40,0,0 monster Goblin Archer 1258,1,150000,0,0
+cmd_fild08.gat,55,45,0,0 monster Goblin Archer 1258,1,150000,0,0
+cmd_fild08.gat,104,313,0,0 monster Goblin Archer 1258,1,150000,0,0
+cmd_fild08.gat,98,307,0,0 monster Goblin Archer 1258,1,150000,0,0
+cmd_fild08.gat,41,126,0,0 monster Goblin Archer 1258,1,150000,0,0
+cmd_fild08.gat,37,129,0,0 monster Goblin Archer 1258,1,150000,0,0
+cmd_fild08.gat,66,252,40,30 monster Stem Worm 1215,5,30000,0,0
+cmd_fild08.gat,130,192,110,150 monster Stem Worm 1215,10,0,0,0
+cmd_fild08.gat,70,130,40,90 monster Stem Worm 1215,2,0,0,0
+cmd_fild08.gat,189,64,30,30 monster Stem Worm 1215,3,180000,0,0
+cmd_fild08.gat,174,172,0,0 monster Stem Worm 1215,1,180000,0,0
+cmd_fild08.gat,266,175,0,0 monster Stem Worm 1215,1,180000,0,0
+cmd_fild08.gat,127,273,0,0 monster Stem Worm 1215,1,180000,0,0
+cmd_fild08.gat,92,141,0,0 monster Stem Worm 1215,1,180000,0,0
+cmd_fild08.gat,85,135,0,0 monster Stem Worm 1215,1,180000,0,0
+cmd_fild08.gat,0,0,0,0 monster Drops 1113,10,0,0,0
+cmd_fild08.gat,326,258,50,110 monster Sandman 1165,15,0,0,0
+cmd_fild08.gat,326,258,50,110 monster Kobold Archer 1282,10,0,0,0
+cmd_fild08.gat,326,258,50,110 monster Sidewinder 1037,2,0,0,0
+cmd_fild08.gat,0,0,0,0 monster Sidewinder 1037,3,0,0,0
+cmd_fild08.gat,130,192,110,150 monster Sidewinder 1037,15,0,0,0
+cmd_fild08.gat,0,0,0,0 monster Gryphon 1259,1,3600000,1800000,1
+
+//cmd_fild09 (lv2)
+
+cmd_fild09.gat,0,0,0,0 monster Steel ChonChon 1042,20,0,0,0
+cmd_fild09.gat,0,0,0,0 monster Drops 1113,20,0,0,0
+cmd_fild09.gat,0,0,0,0 monster Anacondaq 1030,20,0,0,0
+cmd_fild09.gat,0,0,0,0 monster Condor 1009,60,0,0,0
+cmd_fild09.gat,142,325,40,50 monster Hode 1127,3,150000,0,0
+cmd_fild09.gat,140,323,40,50 monster Gargoyle 1253,2,150000,0,0
diff --git a/npc/omobs/fields/einbroch.txt b/npc/omobs/fields/einbroch.txt
new file mode 100644
index 000000000..90f312f5c
--- /dev/null
+++ b/npc/omobs/fields/einbroch.txt
@@ -0,0 +1,148 @@
+//===== eAthena Script =======================================
+//= Einbroch Fields Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.3b
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.1 correct spawn maps, but not yet exact amount of
+//= monsters [Lupus]
+//= maps, marked with * are correct
+//= 1.2 Updated to correct mobs. Many thanks to vicious_pucca
+//= again for providing the information [MasterOfMuppets]
+//= 1.2a Fixed missing tabs [Lupus]
+//= 1.3 Updated after Episode 10.4 - Hugel [Poki#3]
+//= Mob quantity is custom.
+//= 1.3b Changed the spawn numbers a bit. [Poki#3]
+//= Thanks to Playtester and Emperium.org
+//============================================================
+
+//========================================================================================
+// - Einbech Town
+//========================================================================================
+
+einbech.gat,0,0,0,0 monster Tarou 1175,5,3600000,1800000,0
+
+//========================================================================================
+// - Einbroch Field 01
+//========================================================================================
+
+ein_fild01.gat,0,0,0,0 monster Punk 1199,40,0,0,0
+ein_fild01.gat,0,0,0,0 monster Demon Fungus 1378,40,0,0,0
+
+//========================================================================================
+// - Einbroch Field 02
+//========================================================================================
+
+ein_fild02.gat,0,0,0,0 monster Driller 1380,40,0,0,0
+ein_fild02.gat,0,0,0,0 monster Demon Fungus 1378,40,0,0,0
+ein_fild02.gat,0,0,0,0 monster Ungoliant 1618,1,3600000,1800000,0
+
+//========================================================================================
+// - Einbroch Field 03
+//========================================================================================
+
+ein_fild03.gat,0,0,0,0 monster Metaling 1613,30,0,0,0
+ein_fild03.gat,0,0,0,0 monster Geographer 1368,5,0,0,0
+ein_fild03.gat,0,0,0,0 monster Caramel 1103,20,0,0,0
+ein_fild03.gat,0,0,0,0 monster Horn 1128,20,0,0,0
+ein_fild03.gat,0,0,0,0 monster Mole 1628,10,0,0,0
+ein_fild03.gat,0,0,0,0 monster Yellow Plant 1081,5,180000,90000,1
+ein_fild03.gat,0,0,0,0 monster Green Plant 1080,5,180000,90000,1
+
+//========================================================================================
+// - Einbroch Field 04
+//========================================================================================
+
+ein_fild04.gat,0,0,0,0 monster Metaling 1613,15,0,0,0
+ein_fild04.gat,0,0,0,0 monster Mineral 1614,30,0,0,0
+ein_fild04.gat,0,0,0,0 monster Geographer 1368,10,0,0,0
+ein_fild04.gat,0,0,0,0 monster Giearth 1121,20,0,0,0
+ein_fild04.gat,0,0,0,0 monster Mole 1628,10,0,0,0
+ein_fild04.gat,0,0,0,0 monster Yellow Plant 1081,5,180000,90000,1
+ein_fild04.gat,0,0,0,0 monster Red Plant 1078,5,180000,90000,1
+ein_fild04.gat,0,0,0,0 monster Green Plant 1080,5,180000,90000,1
+
+//========================================================================================
+// - Einbroch Field 05
+//========================================================================================
+
+ein_fild05.gat,0,0,0,0 monster Goat 1372,20,0,0,0
+ein_fild05.gat,0,0,0,0 monster Martin 1145,30,0,0
+ein_fild05.gat,0,0,0,0 monster Pupa 1008,10,0,0,0
+ein_fild05.gat,0,0,0,0 monster Giearth 1121,1,180000,90000,0
+ein_fild05.gat,0,0,0,0 monster Black Mushroom 1084,5,180000,90000,1
+ein_fild05.gat,0,0,0,0 monster Yellow Plant 1081,5,180000,90000,1
+ein_fild05.gat,0,0,0,0 monster Red Plant 1078,5,180000,90000,1
+
+//========================================================================================
+// - Einbroch Field 06
+//========================================================================================
+
+ein_fild06.gat,0,0,0,0 monster Martin 1145,30,0,0
+ein_fild06.gat,0,0,0,0 monster Goat 1372,20,0,0,0
+ein_fild06.gat,0,0,0,0 monster Pupa 1008,10,0,0,0
+ein_fild06.gat,0,0,0,0 monster Giearth 1121,1,180000,90000,0
+ein_fild06.gat,0,0,0,0 monster Black Mushroom 1084,10,180000,90000,1
+ein_fild06.gat,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1
+ein_fild06.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+
+//========================================================================================
+// - Einbroch Field 07
+//========================================================================================
+
+ein_fild07.gat,0,0,0,0 monster Metaling 1613,60,0,0
+ein_fild07.gat,0,0,0,0 monster Poring 1002,40,0,0,0
+ein_fild07.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+ein_fild07.gat,0,0,0,0 monster Flora 1118,20,0,0,0
+ein_fild07.gat,0,0,0,0 monster Geographer 1368,20,0,0,0
+ein_fild07.gat,0,0,0,0 monster Red Mushroom 1085,10,180000,90000,1
+ein_fild07.gat,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1
+ein_fild07.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+ein_fild07.gat,0,0,0,0 monster Ungoliant 1618,1,3600000,1800000,0
+
+//========================================================================================
+// - Einbroch Field 08
+//========================================================================================
+
+ein_fild08.gat,0,0,0,0 monster Metaling 1613,70,0,0,0
+ein_fild08.gat,0,0,0,0 monster Thief Bug Larva 1051,30,0,0,0
+ein_fild08.gat,0,0,0,0 monster Porcellio 1619,30,0,0,0
+ein_fild08.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+ein_fild08.gat,0,0,0,0 monster Poring 1002,20,0,0,0
+ein_fild08.gat,0,0,0,0 monster Drops 1113,20,0,0,0
+ein_fild08.gat,0,0,0,0 monster Red Mushroom 1085,10,180000,90000,1
+ein_fild08.gat,221,80,250,100 monster Yellow Plant 1081,10,180000,90000,1
+ein_fild08.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+
+//========================================================================================
+// - Einbroch Field 09
+//========================================================================================
+
+ein_fild09.gat,0,0,0,0 monster Thief Bug Larva 1051,40,0,0,0
+ein_fild09.gat,0,0,0,0 monster Metaling 1613,25,0,0
+ein_fild09.gat,224,280,200,200 monster Metaling 1613,5,0,0
+ein_fild09.gat,0,0,0,0 monster Poring 1002,20,0,0,0
+ein_fild09.gat,0,0,0,0 monster Porcellio 1619,10,0,0,0
+ein_fild09.gat,0,0,0,0 monster Drops 1113,10,0,0,0
+ein_fild09.gat,265,79,100,100 monster Thief Bug Egg 1048,3,0,0,0
+ein_fild09.gat,265,79,150,80 monster Flora 1118,5,300000,150000,1
+ein_fild09.gat,265,79,150,80 monster Red Mushroom 1085,10,180000,90000,1
+ein_fild09.gat,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1
+ein_fild09.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+
+//========================================================================================
+// - Einbroch Field 10
+//========================================================================================
+
+ein_fild10.gat,193,340,200,100 monster Porcellio 1619,30,0,0,0
+ein_fild10.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+ein_fild10.gat,257,107,90,90 monster Yoyo 1057,10,0,0,0
+ein_fild10.gat,193,340,200,100 monster Geographer 1368,5,0,0,0
+ein_fild10.gat,257,107,90,90 monster Flora 1118,20,300000,150000,0
+ein_fild10.gat,257,107,90,90 monster Red Mushroom 1085,10,180000,90000,1
+ein_fild10.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+ein_fild10.gat,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1
+
diff --git a/npc/omobs/fields/geffen.txt b/npc/omobs/fields/geffen.txt
new file mode 100644
index 000000000..3bd0716b8
--- /dev/null
+++ b/npc/omobs/fields/geffen.txt
@@ -0,0 +1,211 @@
+//===== eAthena Script =======================================
+//= Geffen Field Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.2 Map names typos fix [Lupus]
+//============================================================
+
+// gef_fild00 (lv1)
+
+gef_fild00.gat,0,0,0,0 monster Poring 1002,50,0,0,0
+gef_fild00.gat,0,0,0,0 monster Fabre 1007,50,0,0,0
+gef_fild00.gat,0,0,0,0 monster Pupa 1008,20,0,0,0
+gef_fild00.gat,0,0,0,0 monster Poporing 1031,10,0,0,0
+gef_fild00.gat,215,225,10,10 monster Green Plant 1080,5,360000,180000,1
+gef_fild00.gat,95,128,0,0 monster Blue Plant 1079,1,900000,450000,1
+gef_fild00.gat,124,321,0,0 monster Blue Plant 1079,1,900000,450000,1
+gef_fild00.gat,54,212,5,5 monster Green Plant 1080,3,360000,180000,1
+gef_fild00.gat,54,186,5,5 monster Green Plant 1080,3,360000,180000,1
+
+// gef_fild01 (lv1)
+
+gef_fild01.gat,0,0,0,0 monster Roda Frog 1012,50,0,0,0
+gef_fild01.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+gef_fild01.gat,0,0,0,0 monster Toad 1089,1,3600000,1800000,1
+
+// gef_fild02 (lv2)
+
+gef_fild02.gat,0,0,0,0 monster Yoyo 1057,10,0,0,0
+gef_fild02.gat,0,0,0,0 monster Orc Warrior 1023,40,0,0,0
+gef_fild02.gat,0,0,0,0 monster Coco 1104,20,0,0,0
+gef_fild02.gat,0,0,0,0 monster Smokie 1056,20,0,0,0
+gef_fild02.gat,0,0,0,0 monster Choco 1214,1,0,0,0
+gef_fild02.gat,227,316,6,6 monster Green Plant 1080,8,360000,180000,1
+gef_fild02.gat,87,48,6,6 monster Red Mushroom 1085,5,360000,180000,1
+gef_fild02.gat,215,209,2,1 monster Blue Plant 1079,2,360000,180000,1
+gef_fild02.gat,207,214,1,1 monster Blue Plant 1079,1,360000,180000,1
+gef_fild02.gat,220,214,1,1 monster Blue Plant 1079,1,360000,180000,1
+gef_fild02.gat,164,194,1,1 monster Shining Plant 1083,1,1800000,900000,1
+
+// gef_fild03 (lv3)
+
+gef_fild03.gat,0,0,0,0 monster Orc Warrior 1023,30,0,0,0
+gef_fild03.gat,0,0,0,0 monster High Orc 1213,10,0,0,0
+gef_fild03.gat,0,0,0,0 monster Savage 1166,30,0,0,0
+gef_fild03.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+gef_fild03.gat,45,350,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,66,300,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,80,252,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,118,281,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,135,344,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,210,363,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,215,345,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,359,316,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,350,247,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,304,202,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,285,223,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,282,192,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,316,143,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,337,104,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,348,42,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,326,79,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,280,92,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,216,135,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,169,92,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,45,93,3,3 monster Green Plant 1080,1,180000,90000,1
+gef_fild03.gat,44,133,3,3 monster Green Plant 1080,1,180000,90000,1
+
+// gef_fild04 (lv1)
+
+gef_fild04.gat,0,0,0,0 monster Poring 1002,30,0,0,0
+gef_fild04.gat,0,0,0,0 monster ChonChon 1011,30,0,0,0
+gef_fild04.gat,0,0,0,0 monster Pupa 1008,60,0,0,0
+gef_fild04.gat,0,0,0,0 monster Fabre 1007,20,0,0,0
+gef_fild04.gat,0,0,0,0 monster Roda Frog 1012,20,0,0,0
+gef_fild04.gat,224,82,5,2 monster Green Plant 1080,3,360000,180000,1
+gef_fild04.gat,152,82,5,2 monster Green Plant 1080,3,360000,180000,1
+
+// gef_fild05 (lv3)
+
+gef_fild05.gat,0,0,0,0 monster Poring 1002,30,0,0,0
+gef_fild05.gat,0,0,0,0 monster Kobold Archer 1282,10,0,0,0
+gef_fild05.gat,0,0,0,0 monster Wild Rose 1261,50,0,0,0
+gef_fild05.gat,0,0,0,0 monster Dustiness 1114,30,0,0,0
+gef_fild05.gat,235,322,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,238,326,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,170,337,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,108,317,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,56,285,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,65,256,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,74,228,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,50,189,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,51,166,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,146,161,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,153,180,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,124,207,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,187,249,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,187,265,0,0 monster Red Plant 1078,1,180000,90000,1
+gef_fild05.gat,130,293,0,0 monster Red Plant 1078,1,180000,90000,1
+
+// gef_fild06 (lv4)
+
+gef_fild06.gat,0,0,0,0 monster Kobold 1133,20,0,0,0
+gef_fild06.gat,0,0,0,0 monster Kobold 1134,10,0,0,0
+gef_fild06.gat,0,0,0,0 monster Kobold 1135,10,0,0,0
+gef_fild06.gat,0,0,0,0 monster Sky Petite 1156,50,0,0,0
+gef_fild06.gat,0,0,0,0 monster Poporing 1031,10,0,0,0
+gef_fild06.gat,0,0,0,0 monster Mantis 1139,20,0,0,0
+gef_fild06.gat,0,0,0,0 monster Shining Plant 1083,4,1800000,900000,1
+
+// gef_fild07 (lv1)
+
+gef_fild07.gat,0,0,0,0 monster Poring 1002,20,0,0,0
+gef_fild07.gat,0,0,0,0 monster ChonChon 1011,30,0,0,0
+gef_fild07.gat,0,0,0,0 monster Pupa 1008,10,0,0,0
+gef_fild07.gat,0,0,0,0 monster Fabre 1007,60,0,0,0
+gef_fild07.gat,122,221,0,0 monster Green Plant 1080,3,360000,180000,1
+gef_fild07.gat,185,247,0,0 monster Shining Plant 1083,1,1800000,900000,1
+gef_fild07.gat,269,289,0,0 monster Blue Plant 1079,1,900000,450000,1
+gef_fild07.gat,269,289,3,3 monster Green Plant 1080,3,360000,180000,1
+
+// gef_fild08 (lv3)
+
+gef_fild08.gat,0,0,0,0 monster Kobold 1133,20,0,0,0
+gef_fild08.gat,0,0,0,0 monster Kobold 1134,40,0,0,0
+gef_fild08.gat,0,0,0,0 monster Kobold 1135,20,0,0,0
+gef_fild08.gat,0,0,0,0 monster Golem 1040,40,0,0,0
+gef_fild08.gat,0,0,0,0 monster Steel ChonChon 1042,20,0,0,0
+gef_fild08.gat,0,0,0,0 monster Poison Spore 1077,20,0,0,0
+gef_fild08.gat,65,341,0,0 monster Blue Plant 1079,1,900000,450000,1
+gef_fild08.gat,111,319,0,0 monster Blue Plant 1079,1,900000,450000,1
+gef_fild08.gat,59,91,0,0 monster Blue Plant 1079,1,900000,450000,1
+gef_fild08.gat,70,80,0,0 monster Blue Plant 1079,1,900000,450000,1
+gef_fild08.gat,144,140,0,0 monster Blue Plant 1079,1,900000,450000,1
+gef_fild08.gat,344,78,0,0 monster Blue Plant 1079,1,900000,450000,1
+gef_fild08.gat,325,311,0,0 monster Blue Plant 1079,1,900000,450000,1
+gef_fild08.gat,162,247,0,0 monster Blue Plant 1079,1,900000,450000,1
+
+// gef_fild09 (lv3)
+
+//putmob "gef_fild09" 0 0 0 0 5 ORC_ARCHER 0 0 0
+gef_fild09.gat,0,0,0,0 monster Ambernite 1094,60,0,0,0
+gef_fild09.gat,0,0,0,0 monster Poporing 1031,10,0,0,0
+gef_fild09.gat,0,0,0,0 monster Poison Spore 1077,10,0,0,0
+gef_fild09.gat,51,43,0,0 monster Red Mushroom 1085,1,180000,90000,1
+gef_fild09.gat,125,53,0,0 monster Red Mushroom 1085,1,180000,90000,1
+gef_fild09.gat,148,74,0,0 monster Red Mushroom 1085,1,180000,90000,1
+gef_fild09.gat,184,66,0,0 monster Red Mushroom 1085,1,180000,90000,1
+gef_fild09.gat,207,54,0,0 monster Red Mushroom 1085,1,180000,90000,1
+gef_fild09.gat,245,62,0,0 monster Red Mushroom 1085,1,180000,90000,1
+gef_fild09.gat,268,45,0,0 monster Red Mushroom 1085,1,180000,90000,1
+gef_fild09.gat,258,24,0,0 monster Red Mushroom 1085,1,180000,90000,1
+gef_fild09.gat,325,36,0,0 monster Red Mushroom 1085,1,180000,90000,1
+gef_fild09.gat,344,51,0,0 monster Red Mushroom 1085,1,180000,90000,1
+gef_fild09.gat,277,201,5,5 monster Blue Plant 1079,3,900000,450000,1
+
+// gef_fild10 (lv3)
+gef_fild10.gat,0,0,0,0 monster Orc Baby 1686,15,0,0,0
+gef_fild10.gat,0,0,0,0 monster Orc Lord 1190,1,7200000,3600000,0
+gef_fild10.gat,0,0,0,0 monster Orc Warrior 1023,50,0,0,0
+gef_fild10.gat,0,0,0,0 monster Orc Lady 1273,40,0,0,0
+gef_fild10.gat,0,0,0,0 monster Poporing 1031,15,0,0,0
+gef_fild10.gat,46,350,5,5 monster Blue Plant 1079,3,900000,450000,1
+gef_fild10.gat,287,61,5,5 monster Blue Plant 1079,3,900000,450000,1
+gef_fild10.gat,300,253,5,5 monster Green Plant 1080,3,360000,180000,1
+
+// gef_fild11 (lv4)
+
+gef_fild11.gat,0,0,0,0 monster Goblin Leader 1299,1,1800000,1200000,0
+gef_fild11.gat,0,0,0,0 monster Goblin 1122,30,0,0,0
+gef_fild11.gat,0,0,0,0 monster Goblin 1123,20,0,0,0
+gef_fild11.gat,0,0,0,0 monster Goblin 1124,20,0,0,0
+gef_fild11.gat,0,0,0,0 monster Goblin 1125,20,0,0,0
+gef_fild11.gat,0,0,0,0 monster Goblin 1126,20,0,0,0
+gef_fild11.gat,0,0,0,0 monster Goblin Archer 1258,20,0,0,0
+gef_fild11.gat,0,0,0,0 monster Poporing 1031,15,0,0,0
+gef_fild11.gat,0,0,0,0 monster Rotar Zairo 1392,10,0,0,0
+gef_fild11.gat,101,277,4,1 monster Black Mushroom 1084,3,360000,180000,1
+gef_fild11.gat,176,288,1,4 monster Black Mushroom 1084,3,360000,180000,1
+gef_fild11.gat,253,357,1,4 monster Black Mushroom 1084,3,360000,180000,1
+gef_fild11.gat,247,249,1,4 monster Black Mushroom 1084,3,360000,180000,1
+gef_fild11.gat,257,209,1,4 monster Black Mushroom 1084,3,360000,180000,1
+gef_fild11.gat,174,240,1,3 monster Black Mushroom 1084,3,360000,180000,1
+gef_fild11.gat,283,100,4,1 monster Black Mushroom 1084,3,360000,180000,1
+
+// gef_fild12 (lv4)
+
+gef_fild12.gat,0,0,0,0 monster Kobold Leader 1296,1,1800000,1200000,0
+gef_fild12.gat,0,0,0,0 monster Kobold 1133,20,0,0,0
+gef_fild12.gat,0,0,0,0 monster Kobold 1134,30,0,0,0
+gef_fild12.gat,0,0,0,0 monster Kobold 1135,30,0,0,0
+gef_fild12.gat,0,0,0,0 monster Kobold Archer 1282,40,0,0,0
+gef_fild12.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+
+// gef_fild13 (lv2)
+
+gef_fild13.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+gef_fild13.gat,0,0,0,0 monster Creamy 1018,40,0,0,0
+gef_fild13.gat,0,0,0,0 monster Ambernite 1094,30,0,0,0
+
+// gef_fild14 (lv4)
+
+gef_fild14.gat,0,0,0,0 monster Orc Lady 1273,40,0,0,0
+gef_fild14.gat,0,0,0,0 monster Orc Hero 1087,1,3600000,1800000,1
+gef_fild14.gat,0,0,0,0 monster Orc Warrior 1023,20,0,0,0
+gef_fild14.gat,0,0,0,0 monster Orc Archer 1189,30,0,0,0
+gef_fild14.gat,0,0,0,0 monster High Orc 1213,40,0,0,0
diff --git a/npc/omobs/fields/gonryun.txt b/npc/omobs/fields/gonryun.txt
new file mode 100644
index 000000000..d811c6fbd
--- /dev/null
+++ b/npc/omobs/fields/gonryun.txt
@@ -0,0 +1,21 @@
+//===== eAthena Script =======================================
+//= Gon Ryun Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+//gon_fild01
+
+gon_fild01.gat,0,0,0,0 monster Baby Leopard 1415,40,600000,300000,0
+gon_fild01.gat,0,0,0,0 monster Zipper Bear 1417,20,0,0,0
+gon_fild01.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+gon_fild01.gat,0,0,0,0 monster Dumpling Child 1409,30,0,0,0
+gon_fild01.gat,0,0,0,0 monster Hermit Plant 1413,2,630000,330000,0
+gon_fild01.gat,0,0,0,0 monster Green Plant 1080,5,0,0,0
+gon_fild01.gat,0,0,0,0 monster Shining Plant 1083,1,0,0,0
diff --git a/npc/omobs/fields/hugel.txt b/npc/omobs/fields/hugel.txt
new file mode 100644
index 000000000..f8af4774d
--- /dev/null
+++ b/npc/omobs/fields/hugel.txt
@@ -0,0 +1,108 @@
+//===== eAthena Script =======================================
+//= Hugel Field Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 0.4
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= Spawns for hu_fild05 and hu_fild04, numbers may not be correct [MasterOfMuppets]
+//= 0.2 Fixed Petit ID
+//= 0.3 Updated the spawns using kRO's website as info, [MasterOfMuppets]
+//= thanks to battousai90
+//= 0.4 Updated after Episode 10.4 - Hugel [Poki#3]
+//= Mob quantity is custom.
+//============================================================
+
+//========================================================================================
+// - Hugel Field 01
+//========================================================================================
+
+hu_fild01.gat,0,0,0,0 monster Plasma 1694,15,0,0,0
+hu_fild01.gat,0,0,0,0 monster Plasma 1697,15,0,0,0
+hu_fild01.gat,0,0,0,0 monster Plasma 1695,15,0,0,0
+hu_fild01.gat,0,0,0,0 monster Plasma 1696,15,0,0,0
+hu_fild01.gat,0,0,0,0 monster Demon Pungus 1378,20,0,0,0
+hu_fild01.gat,0,0,0,0 monster Geographer 1368,20,0,0,0
+hu_fild01.gat,0,0,0,0 monster Breeze 1692,20,0,0,0
+
+//========================================================================================
+// - Hugel Field 02
+//========================================================================================
+
+hu_fild02.gat,0,0,0,0 monster Green Iguana 1687,15,0,0,0
+hu_fild02.gat,0,0,0,0 monster Novus 1715,5,0,0,0
+hu_fild02.gat,0,0,0,0 monster Novus 1718,5,0,0,0
+hu_fild02.gat,0,0,0,0 monster Demon Fungus 1378,10,0,0,0
+hu_fild02.gat,0,0,0,0 monster Rafflesia 1162,20,0,0,0
+hu_fild02.gat,0,0,0,0 monster Metaling 1613,30,0,0,0
+hu_fild02.gat,0,0,0,0 monster Breeze 1692,5,0,0,0
+hu_fild02.gat,0,0,0,0 monster Savage Babe 1167,30,0,0,0
+hu_fild02.gat,0,0,0,0 monster Virus 1627,15,0,0,0
+hu_fild02.gat,0,0,0,0 monster Geographer 1368,15,0,0,0
+
+//========================================================================================
+// - Hugel Field 03
+//========================================================================================
+
+hu_fild03.gat,0,0,0,0 monster Green Iguana 1687,15,0,0,0
+hu_fild03.gat,0,0,0,0 monster Metaling 1613,20,0,0,0
+hu_fild03.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+hu_fild03.gat,0,0,0,0 monster Thief Bug Larva 1051,35,0,0,0
+hu_fild03.gat,0,0,0,0 monster Black Mushroom 1084,15,180000,90000,1
+hu_fild03.gat,0,0,0,0 monster Red Mushroom 1085,15,180000,90000,1
+
+//========================================================================================
+// - Hugel Field 04
+//========================================================================================
+
+hu_fild04.gat,0,0,0,0 monster Green Iguana 1687,15,0,0,0
+hu_fild04.gat,0,0,0,0 monster Breeze 1692,20,0,0,0
+hu_fild04.gat,0,0,0,0 monster Sleeper 1386,25,0,0,0
+hu_fild04.gat,0,0,0,0 monster Virus 1627,25,0,0,0
+hu_fild04.gat,0,0,0,0 monster Novus 1715,15,0,0,0
+hu_fild04.gat,0,0,0,0 monster Novus 1718,15,0,0,0
+hu_fild04.gat,0,0,0,0 monster Sky Deleter 1384,10,0,0,0
+hu_fild04.gat,0,0,0,0 monster Earth Deleter 1385,10,0,0,0
+hu_fild04.gat,0,0,0,0 monster Yellow Plant 1081,5,180000,90000,1
+hu_fild04.gat,0,0,0,0 monster Green Plant 1080,5,180000,90000,1
+hu_fild04.gat,0,0,0,0 monster Blue Plant 1079,5,180000,90000,1
+
+//========================================================================================
+// - Hugel Field 05
+//========================================================================================
+
+hu_fild05.gat,0,0,0,0 monster Green Iguana 1687,35,0,0,0
+hu_fild05.gat,0,0,0,0 monster Novus 1715,5,0,0,0
+hu_fild05.gat,0,0,0,0 monster Novus 1718,5,0,0,0
+hu_fild05.gat,0,0,0,0 monster Virus 1627,25,0,0,0
+hu_fild05.gat,0,0,0,0 monster Dragon Egg 1721,10,0,0,0
+hu_fild05.gat,0,0,0,0 monster Mutant Dragonoid 1262,1,7200000,3600000,0
+
+//========================================================================================
+// - Hugel Field 06
+//========================================================================================
+
+hu_fild06.gat,0,0,0,0 monster Poring 1002,30,0,0,0
+hu_fild06.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+hu_fild06.gat,0,0,0,0 monster Metaling 1613,20,0,0,0
+hu_fild06.gat,0,0,0,0 monster Caramel 1103,15,0,0,0
+hu_fild06.gat,0,0,0,0 monster Mole 1628,15,0,0,0
+hu_fild06.gat,0,0,0,0 monster Green Plant 1080,5,180000,90000,1
+hu_fild06.gat,0,0,0,0 monster Yellow Plant 1081,5,180000,90000,1
+
+//========================================================================================
+// - Hugel Field 07
+//========================================================================================
+
+hu_fild07.gat,0,0,0,0 monster Green Iguana 1687,35,0,0,0
+hu_fild07.gat,0,0,0,0 monster Novus 1715,15,0,0,0
+hu_fild07.gat,0,0,0,0 monster Novus 1718,15,0,0,0
+hu_fild07.gat,0,0,0,0 monster Virus 1627,15,0,0,0
+hu_fild07.gat,0,0,0,0 monster Breeze 1692,20,0,0,0
+hu_fild07.gat,0,0,0,0 monster Geographer 1368,20,0,0,0
+hu_fild07.gat,0,0,0,0 monster Demon Fungus 1378,20,0,0,0
+hu_fild07.gat,0,0,0,0 monster Sky Petite 1156,20,0,0,0
+hu_fild07.gat,0,0,0,0 monster Earth Petite 1155,20,0,0,0
+hu_fild07.gat,0,0,0,0 monster Yellow Plant 1081,10,360000,180000,1
diff --git a/npc/omobs/fields/jawaii.txt b/npc/omobs/fields/jawaii.txt
new file mode 100644
index 000000000..3705e92f3
--- /dev/null
+++ b/npc/omobs/fields/jawaii.txt
@@ -0,0 +1,23 @@
+//===== eAthena Script =======================================
+//= Jawaii the honeymoon Island Monster Spawn Script
+//===== By: ==================================================
+//= MasterOfMuppets (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.0 First version [MasterOfMuppets]
+//============================================================
+
+jawaii.gat,207,290,10,10 monster Phen 1158,3,3600000,1800000,0
+jawaii.gat,221,220,30,30 monster Aster 1266,2,3600000,2400000,0
+jawaii.gat,276,163,20,20 monster Aster 1266,1,7200000,3600000,0
+jawaii.gat,221,220,30,30 monster Shellfish 1074,1,4800000,3000000,0
+jawaii.gat,276,163,20,30 monster Shellfish 1074,2,4200000,2400000,0
+
+jawaii_in.gat,128,121,1,4 monster Red Mushroom 1085,1,3000000,1200000,0
+jawaii_in.gat,124,76,1,1 monster Black Mushroom 1084,1,3600000,1200000,0
+jawaii_in.gat,72,74,5,1 monster Black Mushroom 1084,2,3000000,1200000,0
+jawaii_in.gat,73,117,4,4 monster Thief Bug Larva 1051,1,5400000,3000000,0
+jawaii_in.gat,83,117,5,5 monster Thief Bug Larva 1051,1,4800000,2400000,0
diff --git a/npc/omobs/fields/lighthalzen.txt b/npc/omobs/fields/lighthalzen.txt
new file mode 100644
index 000000000..9a2ede123
--- /dev/null
+++ b/npc/omobs/fields/lighthalzen.txt
@@ -0,0 +1,55 @@
+//===== eAthena Script =======================================
+//= Lighthalzen Fields - Monster Spawn Locations
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.0 by Muad_Dib (Prometheus Project)
+//= 1.1 Added Porcellio by MasterOfMuppets
+//= 1.2 Corrected monsters. Many thanks to vicious_pucca for
+//= the information [MasterOfMuppets]
+//= 1.3 Updated acordingly to Episode 10.4 [Poki#3]
+//= Mob quantity is custom.
+//============================================================
+
+
+//========================================================================================
+// - Lighthalzen Field 01
+//========================================================================================
+
+lhz_fild01.gat,0,0,0,0 monster Metaling 1613,35,0,0,0
+lhz_fild01.gat,0,0,0,0 monster Mole 1628,20,0,0,0
+lhz_fild01.gat,0,0,0,0 monster Caramel 1103,30,0,0,0
+lhz_fild01.gat,0,0,0,0 monster Yellow Plant 1081,15,0,0,0
+lhz_fild01.gat,0,0,0,0 monster Red Plant 1078,15,0,0,0
+lhz_fild01.gat,0,0,0,0 monster Green Plant 1080,15,0,0,0
+
+//========================================================================================
+// - Lighthalzen Field 02
+//========================================================================================
+
+lhz_fild02.gat,0,0,0,0 monster Metaling 1613,25,0,0,0
+lhz_fild02.gat,0,0,0,0 monster Horn 1128,15,0,0,0
+lhz_fild02.gat,0,0,0,0 monster Caramel 1103,10,0,0,0
+lhz_fild02.gat,0,0,0,0 monster Mole 1628,20,0,0,0
+lhz_fild02.gat,0,0,0,0 monster Virus 1627,30,0,0,0
+lhz_fild02.gat,0,0,0,0 monster Yellow Plant 1081,15,0,0,0
+lhz_fild02.gat,0,0,0,0 monster Green Plant 1080,15,0,0,0
+
+//========================================================================================
+// - Lighthalzen Field 03
+//========================================================================================
+
+lhz_fild03.gat,0,0,0,0 monster Metaling 1613,10,0,0,0
+lhz_fild03.gat,0,0,0,0 monster Hill Wind 1680,15,0,0,0
+lhz_fild03.gat,0,0,0,0 monster Horn 1128,15,0,0,0
+lhz_fild03.gat,0,0,0,0 monster Caramel 1103,10,0,0,0
+lhz_fild03.gat,0,0,0,0 monster Rafflesia 1162,10,0,0,0
+lhz_fild03.gat,0,0,0,0 monster Virus 1627,10,0,0,0
+lhz_fild03.gat,0,0,0,0 monster Yellow Plant 1081,15,0,0,0
+lhz_fild03.gat,0,0,0,0 monster Red Plant 1078,15,0,0,0
+lhz_fild03.gat,0,0,0,0 monster Green Plant 1080,15,0,0,0
+lhz_fild03.gat,0,0,0,0 monster Porcellio 1619,10,0,0,0
diff --git a/npc/omobs/fields/louyang.txt b/npc/omobs/fields/louyang.txt
new file mode 100644
index 000000000..f1d156cba
--- /dev/null
+++ b/npc/omobs/fields/louyang.txt
@@ -0,0 +1,31 @@
+//===== eAthena Script =======================================
+//= Louyang Fields Monster Spawn Script
+//===== By: ==================================================
+//= Evera/Lorri
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.1 updated by MasterOfMuppets
+//============================================================
+
+
+//lou_fild01
+lou_fild01.gat,224,315,100,50 monster Bigfoot 1060,7,0,0,0
+lou_fild01.gat,203,225,110,35 monster Bigfoot 1060,4,60000,30000,1
+lou_fild01.gat,273,128,75,50 monster Bigfoot 1060,4,0,0,0
+lou_fild01.gat,224,315,100,50 monster Caramel 1103,7,0,0,0
+lou_fild01.gat,203,225,110,35 monster Caramel 1103,7,0,0,0
+lou_fild01.gat,273,128,75,50 monster Caramel 1103,7,0,0,0
+lou_fild01.gat,224,315,100,50 monster Mantis 1139,10,0,0,0
+lou_fild01.gat,203,225,110,35 monster Mantis 1139,10,0,0,0
+lou_fild01.gat,273,128,75,50 monster Mantis 1139,10,0,0,0
+lou_fild01.gat,224,315,100,50 monster Increase Soil 1516,8,0,0,0
+lou_fild01.gat,203,225,110,35 monster Increase Soil 1516,15,60000,30000,1
+lou_fild01.gat,273,128,75,500 monster Increase Soil 1516,7,0,0,0
+lou_fild01.gat,224,315,100,50 monster Anacondaq 1030,2,0,0,0
+lou_fild01.gat,203,225,110,35 monster Anacondaq 1030,1,0,0,0
+lou_fild01.gat,273,128,75,50 monster Anacondaq 1030,2,0,0,0
+lou_fild01.gat,0,0,0,0 monster Black Mushroom 1084,5,0,0,0
+lou_fild01.gat,0,0,0,0 monster Yellow Plant 1081,10,0,0,0
diff --git a/npc/omobs/fields/lutie.txt b/npc/omobs/fields/lutie.txt
new file mode 100644
index 000000000..3b057653e
--- /dev/null
+++ b/npc/omobs/fields/lutie.txt
@@ -0,0 +1,19 @@
+//===== eAthena Script =======================================
+//= Lutie Fields Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.1 added Hatii Baby according to May 10 patch
+//============================================================
+
+
+// Lutie Field
+
+xmas_fild01.gat,0,0,0,0 monster Marin 1242,35,0,0,0
+xmas_fild01.gat,0,0,0,0 monster Sasquatch 1243,20,0,0,0
+xmas_fild01.gat,0,0,0,0 monster Garm 1252,1,7200000,3600000,1
+xmas_fild01.gat,0,0,0,0 monster Hatii Baby 1515,1,1800000,0,0
diff --git a/npc/omobs/fields/mjolnir.txt b/npc/omobs/fields/mjolnir.txt
new file mode 100644
index 000000000..76dcac4aa
--- /dev/null
+++ b/npc/omobs/fields/mjolnir.txt
@@ -0,0 +1,239 @@
+//===== eAthena Script =======================================
+//= Mt. Mjolnir Fields Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// mjolnir_01 (lv2)
+
+mjolnir_01.gat,0,0,0,0 monster Horn 1128,20,0,0,0
+mjolnir_01.gat,0,0,0,0 monster Creamy 1018,20,0,0,0
+mjolnir_01.gat,0,0,0,0 monster Coco 1104,70,0,0,0
+mjolnir_01.gat,0,0,0,0 monster Stainer 1174,20,0,0,0
+mjolnir_01.gat,0,0,0,0 monster Caramel 1103,40,0,0,0
+mjolnir_01.gat,75,85,25,25 monster Shining Plant 1083,1,1800000,900000,1
+mjolnir_01.gat,78,219,25,25 monster Shining Plant 1083,1,1800000,900000,1
+mjolnir_01.gat,75,85,25,25 monster Green Plant 1080,5,180000,90000,1
+mjolnir_01.gat,78,219,25,25 monster Green Plant 1080,5,180000,90000,1
+mjolnir_01.gat,311,271,25,25 monster Blue Plant 1079,5,360000,180000,1
+
+// mjolnir_02 (lv3)
+
+mjolnir_02.gat,0,0,0,0 monster Hornet 1004,30,0,0,0
+mjolnir_02.gat,0,0,0,0 monster Creamy 1018,20,0,0,0
+mjolnir_02.gat,0,0,0,0 monster Earth Petite 1155,50,0,0,0
+mjolnir_02.gat,0,0,0,0 monster Poporing 1031,10,0,0,0
+mjolnir_02.gat,0,0,0,0 monster Flora 1118,30,0,0,0
+mjolnir_02.gat,86,270,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,80,211,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,86,270,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,86,180,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,107,128,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,79,49,0,0 monster Blue Plant 1079,1,360000,180000,1
+mjolnir_02.gat,133,80,0,0 monster Red Plant 1078,1,180000,90000,1
+mjolnir_02.gat,191,71,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,237,55,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,292,49,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,349,45,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,282,101,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,325,146,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,318,205,0,0 monster Red Plant 1078,1,180000,90000,1
+mjolnir_02.gat,275,199,0,0 monster Blue Plant 1079,1,360000,180000,1
+mjolnir_02.gat,335,301,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,312,342,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,325,146,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,257,292,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,204,263,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,193,304,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,145,282,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,156,254,0,0 monster Red Plant 1078,1,180000,90000,1
+mjolnir_02.gat,112,268,0,0 monster Blue Plant 1079,1,360000,180000,1
+mjolnir_02.gat,122,195,0,0 monster Red Plant 1078,1,180000,90000,1
+mjolnir_02.gat,167,160,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,325,146,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,223,110,0,0 monster Red Plant 1078,1,180000,90000,1
+mjolnir_02.gat,273,74,0,0 monster Blue Plant 1079,1,360000,180000,1
+mjolnir_02.gat,254,155,0,0 monster Red Plant 1078,1,180000,90000,1
+mjolnir_02.gat,243,208,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,273,240,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,289,276,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_02.gat,188,192,10,10 monster Blue Plant 1079,2,360000,180000,1
+
+// mjolnir_03 (lv4)
+
+mjolnir_03.gat,0,0,0,0 monster Mantis 1139,30,0,0,0
+mjolnir_03.gat,0,0,0,0 monster Creamy 1018,10,0,0,0
+mjolnir_03.gat,0,0,0,0 monster Sky Petite 1156,70,0,0,0
+mjolnir_03.gat,0,0,0,0 monster Poporing 1031,10,0,0,0
+mjolnir_03.gat,0,0,0,0 monster Flora 1118,10,0,0,0
+mjolnir_03.gat,0,0,0,0 monster Argos 1100,20,0,0,0
+mjolnir_03.gat,211,216,10,10 monster Shining Plant 1083,1,1800000,900000,1
+mjolnir_03.gat,280,252,10,10 monster Shining Plant 1083,1,1800000,900000,1
+mjolnir_03.gat,135,94,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_03.gat,199,97,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_03.gat,262,98,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_03.gat,322,144,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_03.gat,356,213,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_03.gat,352,288,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_03.gat,324,355,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_03.gat,255,349,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_03.gat,168,341,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_03.gat,128,319,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_03.gat,77,271,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_03.gat,66,219,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_03.gat,91,161,0,0 monster Green Plant 1080,1,180000,90000,1
+
+// mjolnir_04 (lv4)
+
+mjolnir_04.gat,0,0,0,0 monster Mantis 1139,20,0,0,0
+mjolnir_04.gat,0,0,0,0 monster Hornet 1004,70,0,0,0
+mjolnir_04.gat,0,0,0,0 monster Poporing 1031,10,0,0,0
+mjolnir_04.gat,0,0,0,0 monster Poporing 1031,30,0,0,0
+mjolnir_04.gat,0,0,0,0 monster Argiope 1099,20,0,0,0
+mjolnir_04.gat,0,0,0,0 monster Mistress 1059,1,7200000,3600000,1
+mjolnir_04.gat,200,200,30,30 monster Shining Plant 1083,3,1800000,900000,1
+mjolnir_04.gat,177,34,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,122,28,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,76,53,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,72,99,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,177,34,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,43,143,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,31,194,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,42,252,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,64,323,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,107,357,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,173,369,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,286,357,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,356,292,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,362,201,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,332,122,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,269,39,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_04.gat,205,33,0,0 monster Green Plant 1080,1,180000,90000,1
+
+// mjolnir_05 (lv4)
+
+mjolnir_05.gat,0,0,0,0 monster Mantis 1139,40,0,0,0
+mjolnir_05.gat,0,0,0,0 monster Poporing 1031,10,0,0,0
+mjolnir_05.gat,0,0,0,0 monster Flora 1118,20,0,0,0
+mjolnir_05.gat,0,0,0,0 monster Argiope 1099,70,0,0,0
+mjolnir_05.gat,0,0,0,0 monster Argos 1100,20,0,0,0
+mjolnir_05.gat,200,240,40,40 monster Blue Plant 1079,3,360000,180000,1
+mjolnir_05.gat,200,240,40,40 monster Shining Plant 1083,1,1800000,900000,1
+mjolnir_05.gat,134,103,20,20 monster Blue Plant 1079,3,360000,180000,1
+mjolnir_05.gat,261,100,20,10 monster Blue Plant 1079,3,360000,180000,1
+mjolnir_05.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+
+// mjolnir_06 (lv2)
+
+mjolnir_06.gat,0,0,0,0 monster Stainer 1174,70,0,0,0
+mjolnir_06.gat,0,0,0,0 monster Horn 1128,20,0,0,0
+mjolnir_06.gat,0,0,0,0 monster Coco 1104,20,0,0,0
+mjolnir_06.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+mjolnir_06.gat,0,0,0,0 monster Caramel 1103,30,0,0,0
+mjolnir_06.gat,162,285,0,0 monster Blue Plant 1079,1,360000,180000,1
+mjolnir_06.gat,162,255,0,0 monster Blue Plant 1079,1,360000,180000,1
+mjolnir_06.gat,304,98,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_06.gat,279,174,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_06.gat,339,168,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_06.gat,296,317,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_06.gat,45,345,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_06.gat,73,339,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_06.gat,69,225,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_06.gat,55,276,0,0 monster Red Mushroom 1085,1,180000,90000,1
+
+// mjolnir_07 (lv3)
+
+mjolnir_07.gat,0,0,0,0 monster Poison Spore 1077,60,0,0,0
+mjolnir_07.gat,0,0,0,0 monster Ambernite 1094,30,0,0,0
+mjolnir_07.gat,0,0,0,0 monster Coco 1104,20,0,0,0
+mjolnir_07.gat,0,0,0,0 monster Horn 1128,20,0,0,0
+mjolnir_07.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+mjolnir_07.gat,0,0,0,0 monster Hornet 1004,20,0,0,0
+mjolnir_07.gat,314,133,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_07.gat,299,145,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_07.gat,272,152,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_07.gat,273,181,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_07.gat,245,168,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_07.gat,217,185,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_07.gat,181,173,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_07.gat,140,179,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_07.gat,97,210,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_07.gat,249,214,0,0 monster Blue Plant 1079,2,360000,180000,1
+
+// mjolnir_08 (lv4)
+
+mjolnir_08.gat,0,0,0,0 monster Mantis 1139,60,0,0,0
+mjolnir_08.gat,0,0,0,0 monster Argiope 1099,30,0,0,0
+mjolnir_08.gat,0,0,0,0 monster Argos 1100,20,0,0,0
+mjolnir_08.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+mjolnir_08.gat,0,0,0,0 monster Poring 1002,10,0,0,0
+mjolnir_08.gat,280,280,20,40 monster Blue Plant 1079,2,360000,180000,1
+mjolnir_08.gat,207,83,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_08.gat,176,153,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_08.gat,169,204,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_08.gat,207,232,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_08.gat,180,282,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_08.gat,149,328,0,0 monster Green Plant 1080,1,180000,90000,1
+
+// mjolnir_09 (lv2)
+
+mjolnir_09.gat,0,0,0,0 monster Coco 1104,10,0,0,0
+mjolnir_09.gat,0,0,0,0 monster Stainer 1174,20,0,0,0
+mjolnir_09.gat,0,0,0,0 monster Horn 1128,70,0,0,0
+mjolnir_09.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+mjolnir_09.gat,0,0,0,0 monster Wolf 1013,30,0,0,0
+mjolnir_09.gat,205,352,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_09.gat,199,344,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_09.gat,210,331,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_09.gat,204,321,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_09.gat,212,312,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_09.gat,198,297,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_09.gat,73,122,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_09.gat,89,141,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_09.gat,120,126,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_09.gat,139,84,0,0 monster Red Mushroom 1085,1,180000,90000,1
+mjolnir_09.gat,125,82,0,0 monster Red Mushroom 1085,1,180000,90000,1
+
+// mjolnir_10 (lv3)
+
+mjolnir_10.gat,0,0,0,0 monster Mantis 1139,20,0,0,0
+mjolnir_10.gat,0,0,0,0 monster Flora 1118,30,0,0,0
+mjolnir_10.gat,0,0,0,0 monster Argos 1100,60,0,0,0
+mjolnir_10.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+mjolnir_10.gat,0,0,0,0 monster Earth Petite 1155,10,0,0,0
+mjolnir_10.gat,123,331,10,10 monster Shining Plant 1083,1,1800000,900000,1
+mjolnir_10.gat,0,0,0,0 monster Green Plant 1080,10,180000,90000,1
+
+
+// mjolnir_11 (lv4)
+
+mjolnir_11.gat,0,0,0,0 monster Argiope 1099,10,0,0,0
+mjolnir_11.gat,0,0,0,0 monster Mandragora 1020,50,0,0,0
+mjolnir_11.gat,0,0,0,0 monster Flora 1118,60,0,0,0
+mjolnir_11.gat,0,0,0,0 monster Poporing 1031,10,0,0,0
+mjolnir_11.gat,0,0,0,0 monster Thief Bug Male 1054,30,0,0,0
+mjolnir_11.gat,112,276,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_11.gat,159,283,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_11.gat,116,240,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_11.gat,146,215,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_11.gat,145,177,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_11.gat,129,135,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_11.gat,126,93,0,0 monster Blue Plant 1079,1,360000,180000,1
+mjolnir_11.gat,197,123,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_11.gat,198,210,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_11.gat,231,277,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_11.gat,332,327,0,0 monster Blue Plant 1079,1,360000,180000,1
+mjolnir_11.gat,282,300,0,0 monster Green Plant 1080,1,180000,90000,1
+mjolnir_11.gat,295,271,0,0 monster Green Plant 1080,1,180000,90000,1
+
+// mjolnir_12 (lv3)
+
+mjolnir_12.gat,0,0,0,0 monster Stem Worm 1215,20,0,0,0
+mjolnir_12.gat,0,0,0,0 monster Dustiness 1114,50,0,0,0
+mjolnir_12.gat,0,0,0,0 monster Thief Bug Female 1053,20,0,0,0
diff --git a/npc/omobs/fields/morocc.txt b/npc/omobs/fields/morocc.txt
new file mode 100644
index 000000000..2e0507d18
--- /dev/null
+++ b/npc/omobs/fields/morocc.txt
@@ -0,0 +1,278 @@
+//===== eAthena Script =======================================
+//= Morocc Fields Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// moc_fild01 (lv2)
+
+moc_fild01.gat,0,0,0,0 monster Baby Desert Wolf 1107,70,0,0,0
+moc_fild01.gat,0,0,0,0 monster Ant Egg 1097,20,0,0,0
+moc_fild01.gat,0,0,0,0 monster PecoPeco Egg 1047,20,0,0,0
+moc_fild01.gat,0,0,0,0 monster Picky 1049,10,0,0,0
+moc_fild01.gat,0,0,0,0 monster Drops 1113,30,0,0,0
+moc_fild01.gat,0,0,0,0 monster Poring 1002,10,0,0,0
+moc_fild01.gat,194,51,10,10 monster Yellow Plant 1081,10,900000,450000,1
+
+// moc_fild02 (lv2)
+
+moc_fild02.gat,0,0,0,0 monster PecoPeco 1019,70,0,0,0
+moc_fild02.gat,0,0,0,0 monster Ant Egg 1097,10,0,0,0
+moc_fild02.gat,0,0,0,0 monster PecoPeco Egg 1047,40,0,0,0
+moc_fild02.gat,0,0,0,0 monster Picky 1049,10,0,0,0
+moc_fild02.gat,0,0,0,0 monster Drops 1113,30,0,0,0
+moc_fild02.gat,89,315,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild02.gat,99,261,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild02.gat,94,195,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild02.gat,139,222,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild02.gat,132,307,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild02.gat,194,294,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild02.gat,275,241,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild02.gat,342,267,0,0 monster Green Plant 1080,1,180000,90000,1
+moc_fild02.gat,359,215,0,0 monster Green Plant 1080,1,180000,90000,1
+moc_fild02.gat,313,149,0,0 monster Green Plant 1080,1,180000,90000,1
+moc_fild02.gat,230,62,0,0 monster Green Plant 1080,1,180000,90000,1
+moc_fild02.gat,299,61,0,0 monster Green Plant 1080,1,180000,90000,1
+moc_fild02.gat,353,103,0,0 monster Green Plant 1080,1,180000,90000,1
+moc_fild02.gat,337,35,0,0 monster Green Plant 1080,1,180000,90000,1
+
+// moc_fild03 (lv3)
+
+moc_fild03.gat,0,0,0,0 monster Elder Willow 1033,70,0,0,0
+moc_fild03.gat,0,0,0,0 monster Greatest General 1277,30,0,0,0
+moc_fild03.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+moc_fild03.gat,0,0,0,0 monster Eggyra 1116,10,0,0,0
+moc_fild03.gat,0,0,0,0 monster Willow 1010,20,0,0,0
+moc_fild03.gat,0,0,0,0 monster Vagabond Wolf 1092,1,1800000,1200000,0
+moc_fild03.gat,77,311,5,5 monster Green Plant 1080,2,180000,90000,1
+moc_fild03.gat,108,199,5,5 monster Green Plant 1080,2,180000,90000,1
+moc_fild03.gat,96,65,5,5 monster Green Plant 1080,2,180000,90000,1
+moc_fild03.gat,216,69,5,5 monster Green Plant 1080,2,180000,90000,1
+moc_fild03.gat,261,161,5,5 monster Green Plant 1080,2,180000,90000,1
+moc_fild03.gat,213,201,5,5 monster Green Plant 1080,2,180000,90000,1
+moc_fild03.gat,200,263,5,5 monster Green Plant 1080,2,180000,90000,1
+
+// moc_fild04 (lv3)
+
+moc_fild04.gat,0,0,0,0 monster Desert Wolf 1106,20,0,0,0
+moc_fild04.gat,0,0,0,0 monster Scorpion 1001,30,0,0,0
+moc_fild04.gat,0,0,0,0 monster Metaller 1058,20,0,0,0
+moc_fild04.gat,0,0,0,0 monster Magnolia 1138,40,0,0,0
+moc_fild04.gat,0,0,0,0 monster Ant Egg 1097,10,0,0,0
+moc_fild04.gat,0,0,0,0 monster Andre 1095,20,0,0,0
+moc_fild04.gat,0,0,0,0 monster Deniro 1105,20,0,0,0
+moc_fild04.gat,0,0,0,0 monster Piere 1160,20,0,0,0
+moc_fild04.gat,313,84,10,10 monster Yellow Plant 1081,10,900000,450000,1
+
+// moc_fild05 (lv2)
+
+moc_fild05.gat,0,0,0,0 monster Magnolia 1138,30,0,0,0
+moc_fild05.gat,0,0,0,0 monster Metaller 1058,20,0,0,0
+moc_fild05.gat,0,0,0,0 monster Golem 1040,70,0,0,0
+moc_fild05.gat,0,0,0,0 monster Ant Egg 1097,10,0,0,0
+moc_fild05.gat,0,0,0,0 monster Andre 1095,10,0,0,0
+moc_fild05.gat,0,0,0,0 monster Deniro 1105,10,0,0,0
+moc_fild05.gat,0,0,0,0 monster Piere 1160,10,0,0,0
+moc_fild05.gat,208,233,10,10 monster Yellow Plant 1081,5,360000,180000,1
+
+// moc_fild06 (lv2)
+
+moc_fild06.gat,0,0,0,0 monster PecoPeco 1019,70,0,0,0
+moc_fild06.gat,0,0,0,0 monster Muka 1055,30,0,0,0
+moc_fild06.gat,0,0,0,0 monster Condor 1009,50,0,0,0
+moc_fild06.gat,0,0,0,0 monster Magnolia 1138,10,0,0,0
+moc_fild06.gat,0,0,0,0 monster Andre 1095,5,0,0,0
+moc_fild06.gat,0,0,0,0 monster Deniro 1105,5,0,0,0
+moc_fild06.gat,0,0,0,0 monster Piere 1160,5,0,0,0
+moc_fild06.gat,0,0,0,0 monster Ant Egg 1097,10,0,0,0
+moc_fild06.gat,193,203,10,10 monster Yellow Plant 1081,10,900000,450000,1
+
+// moc_fild07 (lv1)
+
+moc_fild07.gat,0,0,0,0 monster Drops 1113,70,0,0,0
+moc_fild07.gat,0,0,0,0 monster PecoPeco Egg 1047,50,0,0,0
+moc_fild07.gat,0,0,0,0 monster Shell Picky 1050,30,0,0,0
+moc_fild07.gat,0,0,0,0 monster Picky 1049,30,0,0,0
+moc_fild07.gat,162,333,12,12 monster Yellow Plant 1081,5,360000,180000,1
+
+
+// moc_fild08 (lv4)
+
+moc_fild08.gat,0,0,0,0 monster Magnolia 1138,30,0,0,0
+moc_fild08.gat,0,0,0,0 monster Scorpion 1001,80,0,0,0
+moc_fild08.gat,0,0,0,0 monster Desert Wolf 1106,30,0,0,0
+moc_fild08.gat,0,0,0,0 monster Anacondaq 1030,30,0,0,0
+moc_fild08.gat,0,0,0,0 monster Baby Desert Wolf 1107,10,0,0,0
+moc_fild08.gat,0,0,0,0 monster Drops 1113,10,0,0,0
+
+// moc_fild09 (lv3)
+
+moc_fild09.gat,0,0,0,0 monster Desert Wolf 1106,10,0,0,0
+moc_fild09.gat,0,0,0,0 monster Metaller 1058,70,0,0,0
+moc_fild09.gat,0,0,0,0 monster Magnolia 1138,50,0,0,0
+moc_fild09.gat,0,0,0,0 monster Ant Egg 1097,10,0,0,0
+moc_fild09.gat,0,0,0,0 monster Andre 1095,5,0,0,0
+moc_fild09.gat,0,0,0,0 monster Deniro 1105,5,0,0,0
+moc_fild09.gat,0,0,0,0 monster Piere 1160,5,0,0,0
+moc_fild09.gat,0,0,0,0 monster Ant Egg 1097,10,0,0,0
+moc_fild09.gat,0,0,0,0 monster Frilldora 1119,6,0,0,0
+moc_fild09.gat,332,341,5,5 monster Yellow Plant 1081,2,180000,90000,1
+moc_fild09.gat,240,313,5,5 monster Yellow Plant 1081,2,180000,90000,1
+moc_fild09.gat,305,62,5,5 monster Yellow Plant 1081,2,180000,90000,1
+moc_fild09.gat,64,78,5,5 monster Yellow Plant 1081,2,180000,90000,1
+moc_fild09.gat,54,325,5,5 monster Yellow Plant 1081,2,180000,90000,1
+
+// moc_fild10 (lv1)
+
+moc_fild10.gat,0,0,0,0 monster Drops 1113,30,0,0,0
+moc_fild10.gat,0,0,0,0 monster PecoPeco Egg 1047,70,0,0,0
+moc_fild10.gat,0,0,0,0 monster Picky 1049,50,0,0,0
+moc_fild10.gat,0,0,0,0 monster Shell Picky 1050,50,0,0,0
+moc_fild10.gat,0,0,0,0 monster Magnolia 1138,1,0,0,0
+moc_fild10.gat,0,0,0,0 monster Ant Egg 1097,10,0,0,0
+moc_fild10.gat,198,150,40,30 monster Yellow Plant 1081,10,180000,90000,1
+moc_fild10.gat,198,150,40,30 monster Green Plant 1080,5,180000,90000,1
+
+// moc_fild11 (lv2)
+
+moc_fild11.gat,0,0,0,0 monster Hode 1127,10,0,0,0
+moc_fild11.gat,0,0,0,0 monster Golem 1040,70,0,0,0
+moc_fild11.gat,0,0,0,0 monster Andre 1095,10,0,0,0
+moc_fild11.gat,0,0,0,0 monster Deniro 1105,10,0,0,0
+moc_fild11.gat,0,0,0,0 monster Piere 1160,10,0,0,0
+moc_fild11.gat,0,0,0,0 monster Ant Egg 1097,10,0,0,0
+moc_fild11.gat,0,0,0,0 monster Magnolia 1138,20,0,0,0
+moc_fild11.gat,0,0,0,0 monster Muka 1055,20,0,0,0
+moc_fild11.gat,197,216,0,0 monster Shining Plant 1083,1,1800000,900000,1
+
+// moc_fild12 (lv1)
+
+moc_fild12.gat,0,0,0,0 monster Shell Picky 1050,50,0,0,0
+moc_fild12.gat,0,0,0,0 monster Picky 1049,50,0,0,0
+moc_fild12.gat,0,0,0,0 monster PecoPeco Egg 1047,35,0,0,0
+moc_fild12.gat,0,0,0,0 monster Drops 1113,35,0,0,0
+moc_fild12.gat,181,336,40,20 monster Yellow Plant 1081,10,180000,90000,1
+
+// moc_fild13 (lv3)
+
+moc_fild13.gat,0,0,0,0 monster Desert Wolf 1106,30,0,0,0
+moc_fild13.gat,0,0,0,0 monster Anacondaq 1030,70,0,0,0
+moc_fild13.gat,0,0,0,0 monster Boa 1025,25,0,0,0
+moc_fild13.gat,0,0,0,0 monster Sidewinder 1037,35,0,0,0
+moc_fild13.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+moc_fild13.gat,0,0,0,0 monster Drops 1113,10,0,0,0
+moc_fild13.gat,280,99,0,0 monster Red Mushroom 1085,1,180000,90000,1
+moc_fild13.gat,264,64,0,0 monster Red Mushroom 1085,1,180000,90000,1
+moc_fild13.gat,305,91,0,0 monster Red Mushroom 1085,1,180000,90000,1
+moc_fild13.gat,264,136,0,0 monster Red Mushroom 1085,1,180000,90000,1
+moc_fild13.gat,282,155,0,0 monster Red Mushroom 1085,1,180000,90000,1
+moc_fild13.gat,265,197,0,0 monster Red Mushroom 1085,1,180000,90000,1
+moc_fild13.gat,284,227,0,0 monster Red Mushroom 1085,1,180000,90000,1
+moc_fild13.gat,304,244,0,0 monster Red Mushroom 1085,1,180000,90000,1
+moc_fild13.gat,266,289,0,0 monster Red Mushroom 1085,1,180000,90000,1
+moc_fild13.gat,307,307,0,0 monster Red Mushroom 1085,1,180000,90000,1
+moc_fild13.gat,281,333,0,0 monster Red Mushroom 1085,1,180000,90000,1
+moc_fild13.gat,304,333,0,0 monster Red Mushroom 1085,1,180000,90000,1
+moc_fild13.gat,295,358,0,0 monster Red Mushroom 1085,1,180000,90000,1
+moc_fild13.gat,84,329,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild13.gat,93,301,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild13.gat,101,297,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild13.gat,89,92,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild13.gat,108,150,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild13.gat,109,168,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild13.gat,101,185,5,5 monster Yellow Plant 1081,3,180000,90000,1
+moc_fild13.gat,106,258,5,5 monster Yellow Plant 1081,3,180000,90000,1
+moc_fild13.gat,161,273,5,5 monster Yellow Plant 1081,3,180000,90000,1
+
+// moc_fild14 (lv4)
+
+moc_fild14.gat,0,0,0,0 monster Desert Wolf 1106,80,0,0,0
+moc_fild14.gat,0,0,0,0 monster Sidewinder 1037,20,0,0,0
+moc_fild14.gat,0,0,0,0 monster Baby Desert Wolf 1107,40,0,0,0
+moc_fild14.gat,0,0,0,0 monster Magnolia 1138,25,0,0,0
+moc_fild14.gat,124,93,5,5 monster Shining Plant 1083,1,1800000,900000,1
+moc_fild14.gat,85,271,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild14.gat,165,282,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild14.gat,149,333,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild14.gat,64,342,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild14.gat,160,366,0,0 monster Yellow Plant 1081,1,180000,90000,1
+
+// moc_fild15 (lv3)
+
+moc_fild15.gat,0,0,0,0 monster Hode 1127,30,0,0,0
+moc_fild15.gat,0,0,0,0 monster Scorpion 1001,10,0,0,0
+moc_fild15.gat,0,0,0,0 monster Desert Wolf 1106,10,0,0,0
+moc_fild15.gat,0,0,0,0 monster Magnolia 1138,25,0,0,0
+moc_fild15.gat,0,0,0,0 monster Andre 1095,40,0,0,0
+moc_fild15.gat,0,0,0,0 monster Ant Egg 1097,10,0,0,0
+moc_fild15.gat,0,0,0,0 monster Phreeoni 1159,1,7200000,3600000,1
+moc_fild15.gat,40,126,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild15.gat,57,39,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild15.gat,46,250,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild15.gat,104,347,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild15.gat,195,373,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild15.gat,341,365,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild15.gat,353,230,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild15.gat,341,164,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild15.gat,370,85,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild15.gat,158,144,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild15.gat,232,126,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild15.gat,294,74,0,0 monster Yellow Plant 1081,1,180000,90000,1
+
+// moc_fild16 (lv4)
+
+moc_fild16.gat,0,0,0,0 monster Sandman 1165,70,0,0,0
+moc_fild16.gat,0,0,0,0 monster Hode 1127,30,0,0,0
+moc_fild16.gat,0,0,0,0 monster Magnolia 1138,25,0,0,0
+moc_fild16.gat,0,0,0,0 monster Andre 1095,10,0,0,0
+moc_fild16.gat,0,0,0,0 monster Deniro 1105,20,0,0,0
+moc_fild16.gat,0,0,0,0 monster Ant Egg 1097,10,0,0,0
+
+
+// moc_fild17 (lv3)
+
+moc_fild17.gat,0,0,0,0 monster Hode 1127,50,0,0,0
+moc_fild17.gat,0,0,0,0 monster Steel ChonChon 1042,40,0,0,0
+moc_fild17.gat,0,0,0,0 monster Magnolia 1138,15,0,0,0
+moc_fild17.gat,0,0,0,0 monster Frilldora 1119,15,0,0,0
+moc_fild17.gat,0,0,0,0 monster Andre 1095,10,0,0,0
+moc_fild17.gat,0,0,0,0 monster Deniro 1105,20,0,0,0
+moc_fild17.gat,0,0,0,0 monster Piere 1160,20,0,0,0
+moc_fild17.gat,0,0,0,0 monster Ant Egg 1097,10,0,0,0
+moc_fild17.gat,0,0,0,0 monster Scorpion 1001,5,0,0,0
+moc_fild17.gat,0,0,0,0 monster Sandman 1165,5,0,0,0
+moc_fild17.gat,40,258,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild17.gat,144,151,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild17.gat,243,138,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild17.gat,270,106,0,0 monster Blue Plant 1079,1,180000,90000,1
+moc_fild17.gat,335,191,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild17.gat,347,224,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild17.gat,359,258,0,0 monster Yellow Plant 1081,1,180000,90000,1
+
+// moc_fild18 (lv2)
+
+moc_fild18.gat,0,0,0,0 monster Steel ChonChon 1042,70,0,0,0
+moc_fild18.gat,0,0,0,0 monster ChonChon 1011,40,0,0,0
+moc_fild18.gat,0,0,0,0 monster Muka 1055,40,0,0,0
+moc_fild18.gat,0,0,0,0 monster Metaller 1058,10,0,0,0
+moc_fild18.gat,0,0,0,0 monster Magnolia 1138,25,0,0,0
+moc_fild18.gat,0,0,0,0 monster Andre 1095,5,0,0,0
+moc_fild18.gat,0,0,0,0 monster Deniro 1105,5,0,0,0
+moc_fild18.gat,0,0,0,0 monster Piere 1160,5,0,0,0
+moc_fild18.gat,0,0,0,0 monster Ant Egg 1097,5,0,0,0
+moc_fild18.gat,0,0,0,0 monster Dragon Fly 1091,1,3600000,1800000,1
+moc_fild18.gat,0,0,0,0 monster Hunter Fly 1035,1,7200000,3600000,1
+moc_fild18.gat,143,352,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild18.gat,72,333,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild18.gat,119,285,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild18.gat,71,210,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild18.gat,135,119,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild18.gat,230,144,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild18.gat,325,207,0,0 monster Yellow Plant 1081,1,180000,90000,1
+moc_fild18.gat,325,272,0,0 monster Yellow Plant 1081,1,180000,90000,1
diff --git a/npc/omobs/fields/niflheim.txt b/npc/omobs/fields/niflheim.txt
new file mode 100644
index 000000000..d15b434c0
--- /dev/null
+++ b/npc/omobs/fields/niflheim.txt
@@ -0,0 +1,48 @@
+//===== eAthena Script =======================================
+//= Niflheim Temporary Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.4a
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.2 updated [shadow],
+//= 1.3 many changes and wrong LOD ID 5373 -> 1373 [Lupus]
+//= 1.4 removed yggdrasil from this file [DracoRPG]
+//= 1.4a Readded Lord of Death, why was it removed anyway? [MasterOfMuppets]
+//============================================================
+
+//niflheim
+niflheim.gat,0,0,0,0 monster Dullahan 1504,5,1800000,1200000,0
+niflheim.gat,0,0,0,0 monster Gibbet 1503,10,1200000,600000,0
+niflheim.gat,0,0,0,0 monster Hylozoist 1510,10,1200000,600000,0
+niflheim.gat,0,0,0,0 monster Quve 1508,20,300000,150000,0
+niflheim.gat,0,0,0,0 monster Lude 1509,20,300000,150000,0
+niflheim.gat,0,0,0,0 monster Lord of Death 1373,1,7200000,3600000,1
+
+//nif_fild01
+nif_fild01.gat,0,0,0,0 monster Disguise 1506,20,0,0,0
+nif_fild01.gat,0,0,0,0 monster Disguise 1506,30,300000,120000,0
+nif_fild01.gat,227,253,20,20 monster Dullahan 1504,7,1800000,1200000,0
+nif_fild01.gat,0,0,0,0 monster Dullahan 1504,13,0,0,0
+nif_fild01.gat,0,0,0,0 monster Gibbet 1503,10,0,0,0
+nif_fild01.gat,0,0,0,0 monster Hylozoist 1510,10,0,0,0
+nif_fild01.gat,0,0,0,0 monster Quve 1508,30,0,0,0
+
+//nif_fild02
+nif_fild02.gat,366,236,15,15 monster Lude 1509,10,360000,150000,0
+nif_fild02.gat,356,139,10,10 monster Bloody Murderer 1507,1,1200000,600000,0
+nif_fild02.gat,144,232,10,10 monster Bloody Murderer 1507,1,1200000,600000,0
+nif_fild02.gat,118,282,15,15 monster Bloody Murderer 1507,1,1200000,600000,0
+nif_fild02.gat,62,327,15,15 monster Bloody Murderer 1507,1,1200000,600000,0
+nif_fild02.gat,0,0,0,0 monster Bloody Murderer 1507,7,0,0,0
+nif_fild02.gat,114,136,15,15 monster Loli Ruri 1505,2,1200000,600000,0
+nif_fild02.gat,52,115,10,10 monster Hylozoist 1510,4,1200000,600000,0
+nif_fild02.gat,84,276,15,15 monster Gibbet 1503,5,1200000,600000,0
+nif_fild02.gat,352,273,15,15 monster Gibbet 1503,5,300000,150000,0
+nif_fild02.gat,0,0,0,0 monster Loli Ruri 1505,19,120000,60000,0
+nif_fild02.gat,352,273,15,15 monster Dullahan 1504,5,600000,300000,0
+nif_fild02.gat,0,0,0,0 monster Dullahan 1504,5,0,0,0
+nif_fild02.gat,0,0,0,0 monster Hylozoist 1510,6,0,0,0
+nif_fild02.gat,0,0,0,0 monster Gibbet 1503,10,0,0,0
diff --git a/npc/omobs/fields/odin.txt b/npc/omobs/fields/odin.txt
new file mode 100644
index 000000000..dea09f865
--- /dev/null
+++ b/npc/omobs/fields/odin.txt
@@ -0,0 +1,54 @@
+//===== eAthena Script =======================================
+//= Odin Temple Monster Spawn Script
+//===== By: ==================================================
+//= Poki#3 (0.1)
+//===== Current Version: =====================================
+//= 0.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= Quantity is incorrect.
+//============================================================
+
+//========================================================================================
+// - Odin Temple 01
+//========================================================================================
+
+odin_tem01.gat,0,0,0,0 monster Skeggiold 1754,10,0,0,0
+odin_tem01.gat,0,0,0,0 monster Skeggiold 1755,10,0,0,0
+odin_tem01.gat,0,0,0,0 monster Breeze 1692,25,0,0,0
+odin_tem01.gat,0,0,0,0 monster Solace 1703,10,0,0,0
+odin_tem01.gat,0,0,0,0 monster Plasma 1693,5,0,0,0
+odin_tem01.gat,0,0,0,0 monster Plasma 1694,5,0,0,0
+odin_tem01.gat,0,0,0,0 monster Plasma 1695,5,0,0,0
+odin_tem01.gat,0,0,0,0 monster Plasma 1696,5,0,0,0
+odin_tem01.gat,0,0,0,0 monster Plasma 1697,5,0,0,0
+odin_tem01.gat,0,0,0,0 monster Blue Plant 1079,10,180000,90000,1
+odin_tem01.gat,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1
+
+//========================================================================================
+// - Odin Temple 02
+//========================================================================================
+
+odin_tem02.gat,0,0,0,0 monster Skogul 1752,10,0,0,0
+odin_tem02.gat,0,0,0,0 monster Frus 1753,10,0,0,0
+odin_tem02.gat,0,0,0,0 monster Skeggiold 1754,10,0,0,0
+odin_tem02.gat,0,0,0,0 monster Skeggiold 1755,10,0,0,0
+odin_tem02.gat,0,0,0,0 monster Plasma 1693,30,0,0,0
+odin_tem02.gat,0,0,0,0 monster Retribution 1702,10,0,0,0
+odin_tem02.gat,0,0,0,0 monster Blue Plant 1079,10,180000,90000,1
+
+//========================================================================================
+// - Odin Temple 03
+//========================================================================================
+
+odin_tem03.gat,0,0,0,0 monster Plasma 1693,15,0,0,0
+odin_tem03.gat,0,0,0,0 monster Observation 1700,10,0,0,0
+odin_tem03.gat,0,0,0,0 monster Retribution 1702,10,0,0,0
+odin_tem03.gat,0,0,0,0 monster Skogul 1752,20,0,0,0
+odin_tem03.gat,0,0,0,0 monster Frus 1753,20,0,0,0
+odin_tem03.gat,0,0,0,0 monster Skeggiold 1754,5,0,0,0
+odin_tem03.gat,0,0,0,0 monster Skeggiold 1755,5,0,0,0
+odin_tem03.gat,0,0,0,0 monster White Plant 1082,10,180000,90000,1
+odin_tem03.gat,0,0,0,0 monster Blue Plant 1079,10,180000,90000,1
+odin_tem03.gat,0,0,0,0 monster Valkyrie Randgris 1751,1,3600000,1800000,1
diff --git a/npc/omobs/fields/payon.txt b/npc/omobs/fields/payon.txt
new file mode 100644
index 000000000..24a3d4541
--- /dev/null
+++ b/npc/omobs/fields/payon.txt
@@ -0,0 +1,141 @@
+//===== eAthena Script =======================================
+//= Payon Fields Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+// Pay_fild01 (lv2)
+
+pay_fild01.gat,0,0,0,0 monster Willow 1010,50,0,0,0
+pay_fild01.gat,0,0,0,0 monster Poporing 1031,10,0,0,0
+pay_fild01.gat,0,0,0,0 monster Poring 1002,60,0,0,0
+pay_fild01.gat,0,0,0,0 monster Spore 1014,20,0,0,0
+pay_fild01.gat,340,89,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,336,116,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,231,258,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,215,323,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,340,89,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,225,310,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,129,288,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,75,269,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,80,226,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,89,177,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,95,85,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,57,85,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,64,113,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,64,190,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,70,246,0,0 monster Black Mushroom 1084,1,180000,90000,1
+pay_fild01.gat,0,0,0,0 monster Green Plant 1080,5,180000,90000,1
+
+// Pay_fild02 (lv2)
+
+pay_fild02.gat,0,0,0,0 monster Boa 1025,30,0,0,0
+pay_fild02.gat,0,0,0,0 monster Wolf 1013,70,0,0,0
+pay_fild02.gat,0,0,0,0 monster Spore 1014,10,0,0,0
+pay_fild02.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+pay_fild02.gat,105,256,10,10 monster Green Plant 1080,4,360000,180000,1
+pay_fild02.gat,105,256,10,10 monster Red Mushroom 1085,4,360000,180000,1
+
+// Pay_fild03 (lv1)
+
+pay_fild03.gat,0,0,0,0 monster Poring 1002,30,0,0,0
+pay_fild03.gat,0,0,0,0 monster Willow 1010,30,0,0,0
+pay_fild03.gat,0,0,0,0 monster Pupa 1008,50,0,0,0
+pay_fild03.gat,0,0,0,0 monster Lunatic 1063,50,0,0,0
+pay_fild03.gat,153,216,10,10 monster Red Mushroom 1085,6,900000,450000,1
+pay_fild03.gat,372,64,15,15 monster Green Plant 1080,4,180000,90000,1
+
+// pay_fild04 (lv2)
+
+pay_fild04.gat,0,0,0,0 monster Poring 1002,40,0,0,0
+pay_fild04.gat,0,0,0,0 monster Drops 1113,40,0,0,0
+pay_fild04.gat,0,0,0,0 monster Poporing 1031,40,0,0,0
+pay_fild04.gat,0,0,0,0 monster Marin 1242,10,0,0,0
+pay_fild04.gat,0,0,0,0 monster Ghostring 1120,1,3600000,1800000,1
+pay_fild04.gat,0,0,0,0 monster Mastering 1090,1,3600000,1800000,1
+pay_fild04.gat,0,0,0,0 monster Angeling 1096,1,3600000,1800000,1
+pay_fild04.gat,0,0,0,0 monster Deviling 1582,1,7200000,3600000,1
+pay_fild04.gat,346,335,5,5 monster Shining Plant 1083,1,1800000,900000,1
+pay_fild04.gat,254,193,10,10 monster Green Plant 1080,5,360000,180000,1
+
+// Pay_fild05 (lv4)
+
+pay_fild05.gat,0,0,0,0 monster Dragon Tail 1321,5,0,0,0
+pay_fild05.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+pay_fild05.gat,0,0,0,0 monster Poison Spore 1077,65,0,0,0
+pay_fild05.gat,95,147,5,5 monster Green Plant 1080,4,900000,450000,1
+pay_fild05.gat,86,90,5,5 monster Green Plant 1080,4,900000,450000,1
+
+// Pay_fild06 (lv2)
+
+pay_fild06.gat,0,0,0,0 monster Worm Tail 1024,70,0,0,0
+pay_fild06.gat,0,0,0,0 monster Spore 1014,20,0,0,0
+pay_fild06.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+pay_fild06.gat,0,0,0,0 monster Thief Bug Female 1053,40,0,0,0
+pay_fild06.gat,211,191,2,10 monster Red Mushroom 1085,8,180000,90000,1
+pay_fild06.gat,268,155,20,20 monster Green Plant 1080,10,360000,180000,1
+pay_fild06.gat,268,155,20,20 monster Shining Plant 1083,1,1800000,900000,1
+
+// pay_fild07 (lv3)
+
+pay_fild07.gat,0,0,0,0 monster Elder Willow 1033,70,0,0,0
+pay_fild07.gat,0,0,0,0 monster Eggyra 1116,40,0,0,0
+pay_fild07.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+pay_fild07.gat,0,0,0,0 monster Willow 1010,20,0,0,0
+pay_fild07.gat,0,0,0,0 monster Bigfoot 1060,30,0,0,0
+pay_fild07.gat,171,331,20,20 monster Green Plant 1080,8,900000,450000,1
+
+// pay_fild08 (lv1)
+
+pay_fild08.gat,0,0,0,0 monster Poring 1002,30,0,0,0
+pay_fild08.gat,0,0,0,0 monster Willow 1010,70,0,0,0
+pay_fild08.gat,0,0,0,0 monster Pupa 1008,20,0,0,0
+pay_fild08.gat,0,0,0,0 monster Spore 1014,50,0,0,0
+pay_fild08.gat,0,0,0,0 monster Green Plant 1080,10,60000,30000,1
+pay_fild08.gat,143,156,40,40 monster Shining Plant 1083,1,3600000,1800000,1
+
+// pay_fild09 (lv2)
+
+pay_fild09.gat,0,0,0,0 monster Spore 1014,20,0,0,0
+pay_fild09.gat,0,0,0,0 monster Worm Tail 1024,20,0,0,0
+pay_fild09.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+pay_fild09.gat,0,0,0,0 monster Boa 1025,30,0,0,0
+pay_fild09.gat,0,0,0,0 monster Sohee 1170,3,0,0,0
+pay_fild09.gat,0,0,0,0 monster Smokie 1056,50,0,0,0
+pay_fild09.gat,0,0,0,0 monster Bigfoot 1060,50,0,0,0
+pay_fild09.gat,198,217,30,30 monster Green Plant 1080,10,360000,180000,0
+pay_fild09.gat,198,217,30,30 monster Shining Plant 1083,1,1800000,900000,1
+
+// pay_fild10 (lv4)
+
+pay_fild10.gat,0,0,0,0 monster Greatest General 1277,65,0,0,0
+pay_fild10.gat,0,0,0,0 monster Horong 1129,40,0,0,0
+pay_fild10.gat,0,0,0,0 monster Poison Spore 1077,20,0,0,0
+pay_fild10.gat,0,0,0,0 monster Poporing 1031,30,0,0,0
+pay_fild10.gat,0,0,0,0 monster Nine-Tail 1180,3,0,0,0
+pay_fild10.gat,0,0,0,0 monster Nine-Tail 1180,1,1800000,900000,1
+pay_fild10.gat,0,0,0,0 monster Nine-Tail 1180,1,900000,450000,1
+pay_fild10.gat,213,157,10,10 monster Green Plant 1080,5,360000,180000,1
+pay_fild10.gat,281,307,10,10 monster Green Plant 1080,5,360000,180000,1
+pay_fild10.gat,66,332,10,10 monster Green Plant 1080,5,360000,180000,1
+pay_fild10.gat,213,157,10,10 monster Blue Plant 1079,1,360000,180000,1
+pay_fild10.gat,281,307,10,10 monster Blue Plant 1079,1,360000,180000,1
+pay_fild10.gat,66,332,10,10 monster Blue Plant 1079,1,360000,180000,1
+
+// Pay_fild11 (lv4)
+
+pay_fild11.gat,0,0,0,0 monster Horong 1129,50,0,0,0
+pay_fild11.gat,0,0,0,0 monster Greatest General 1277,30,0,0,0
+pay_fild11.gat,0,0,0,0 monster Elder Willow 1033,10,0,0,0
+pay_fild11.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+pay_fild11.gat,0,0,0,0 monster Poison Spore 1077,40,0,0,0
+pay_fild11.gat,0,0,0,0 monster Dragon Tail 1321,10,0,0,0
+pay_fild11.gat,0,0,0,0 monster Eddga 1115,1,7200000,3600000,1
+pay_fild11.gat,241,162,5,5 monster Red Mushroom 1085,3,360000,180000,1
+pay_fild11.gat,66,293,5,5 monster Red Mushroom 1085,3,360000,180000,1
diff --git a/npc/omobs/fields/prontera.txt b/npc/omobs/fields/prontera.txt
new file mode 100644
index 000000000..b6fa83014
--- /dev/null
+++ b/npc/omobs/fields/prontera.txt
@@ -0,0 +1,126 @@
+//===== eAthena Script =======================================
+//= Prontera Fields Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.2 fixed some map name typos [Lupus]
+//============================================================
+
+// prt_fild00 (lv2)
+
+prt_fild00.gat,0,0,0,0 monster Creamy 1018,10,0,0,0
+prt_fild00.gat,0,0,0,0 monster Fabre 1007,20,0,0,0
+prt_fild00.gat,0,0,0,0 monster Pupa 1008,50,0,0,0
+prt_fild00.gat,0,0,0,0 monster Lunatic 1063,30,0,0,0
+prt_fild00.gat,0,0,0,0 monster Poring 1002,40,0,0,0
+prt_fild00.gat,0,0,0,0 monster Hornet 1004,40,0,0,0
+prt_fild00.gat,227,212,0,0 monster Shining Plant 1083,1,1800000,900000,1
+prt_fild00.gat,285,138,10,10 monster Green Plant 1080,5,360000,180000,1
+
+
+// prt_fild01 (lv1)
+
+prt_fild01.gat,0,0,0,0 monster Thief Bug Larva 1051,30,0,0,0
+prt_fild01.gat,0,0,0,0 monster Fabre 1007,20,0,0,0
+prt_fild01.gat,0,0,0,0 monster Pupa 1008,10,0,0,0
+prt_fild01.gat,0,0,0,0 monster Lunatic 1063,80,0,0,0
+prt_fild01.gat,0,0,0,0 monster Poring 1002,30,0,0,0
+prt_fild01.gat,199,266,3,3 monster Green Plant 1080,3,360000,180000,1
+prt_fild01.gat,199,266,3,3 monster Blue Plant 1079,1,900000,450000,1
+
+// prt_fild02 (lv2)
+
+prt_fild02.gat,0,0,0,0 monster Mandragora 1020,70,0,0,0
+prt_fild02.gat,0,0,0,0 monster Fabre 1007,50,0,0,0
+prt_fild02.gat,0,0,0,0 monster Pupa 1008,20,0,0,0
+prt_fild02.gat,0,0,0,0 monster Lunatic 1063,10,0,0,0
+prt_fild02.gat,0,0,0,0 monster Poring 1002,30,0,0,0
+prt_fild02.gat,0,0,0,0 monster Eclipse 1093,1,1800000,1200000,0
+prt_fild02.gat,339,309,3,3 monster Shining Plant 1083,1,1800000,900000,1
+prt_fild02.gat,0,0,0,0 monster Shining Plant 1083,2,1800000,900000,1
+
+// prt_fild03 (lv2)
+
+prt_fild03.gat,0,0,0,0 monster Yoyo 1057,70,0,0,0
+prt_fild03.gat,0,0,0,0 monster Smokie 1056,40,0,0,0
+prt_fild03.gat,0,0,0,0 monster Choco 1214,3,1800000,900000,0
+prt_fild03.gat,0,0,0,0 monster Fabre 1007,10,0,0,0
+prt_fild03.gat,0,0,0,0 monster Poporing 1031,30,0,0,0
+prt_fild03.gat,296,58,15,15 monster Green Plant 1080,5,180000,90000,1
+prt_fild03.gat,296,58,15,15 monster Blue Plant 1079,2,900000,450000,1
+
+// prt_fild04 (lv2)
+
+prt_fild04.gat,0,0,0,0 monster Rocker 1052,70,0,0,0
+prt_fild04.gat,0,0,0,0 monster Creamy 1018,40,0,0,0
+prt_fild04.gat,0,0,0,0 monster Pupa 1008,10,0,0,0
+prt_fild04.gat,0,0,0,0 monster Poring 1002,30,0,0,0
+prt_fild04.gat,0,0,0,0 monster Vocal 1088,1,1800000,1200000,0
+prt_fild04.gat,350,114,10,10 monster Green Plant 1080,5,900000,450000,1
+prt_fild04.gat,307,75,5,5 monster Green Plant 1080,5,360000,180000,1
+prt_fild04.gat,147,319,5,5 monster Green Plant 1080,5,360000,180000,1
+prt_fild04.gat,148,107,5,5 monster Green Plant 1080,5,360000,180000,1
+
+// prt_fild05 (lv1)
+prt_fild05.gat,0,0,0,0 monster Poring 1002,70,0,0,0
+prt_fild05.gat,0,0,0,0 monster Thief Bug Egg 1048,20,0,0,0
+prt_fild05.gat,0,0,0,0 monster Lunatic 1063,30,0,0,0
+prt_fild05.gat,0,0,0,0 monster Pupa 1008,30,0,0,0
+prt_fild05.gat,0,0,0,0 monster Thief Bug Larva 1051,10,0,0,0
+prt_fild05.gat,208,37,10,10 monster Green Plant 1080,6,900000,450000,1
+prt_fild05.gat,208,37,10,10 monster Blue Plant 1079,1,900000,450000,1
+
+// prt_fild06 (lv2)
+
+prt_fild06.gat,0,0,0,0 monster Lunatic 1063,60,0,0,0
+prt_fild06.gat,0,0,0,0 monster Thief Bug Egg 1048,20,0,0,0
+prt_fild06.gat,0,0,0,0 monster Thief Bug Larva 1051,10,0,0,0
+prt_fild06.gat,0,0,0,0 monster Pupa 1008,20,0,0,0
+prt_fild06.gat,0,0,0,0 monster Poring 1002,60,0,0,0
+prt_fild06.gat,222,30,40,10 monster Green Plant 1080,15,900000,450000,1
+
+// prt_fild07 (lv2)
+
+prt_fild07.gat,0,0,0,0 monster Rocker 1052,70,0,0,0
+prt_fild07.gat,0,0,0,0 monster Poporing 1031,30,0,0,0
+prt_fild07.gat,225,110,5,5 monster Black Mushroom 1084,3,360000,180000,1
+
+// prt_fild08 (lv1)
+
+prt_fild08.gat,0,0,0,0 monster Lunatic 1063,40,0,0,0
+prt_fild08.gat,0,0,0,0 monster Pupa 1008,20,0,0,0
+prt_fild08.gat,0,0,0,0 monster Poring 1002,70,0,0,0
+prt_fild08.gat,0,0,0,0 monster Drops 1113,10,0,0,0
+
+// prt_fild09 (lv2)
+
+prt_fild09.gat,0,0,0,0 monster Savage Babe 1167,70,0,0,0
+prt_fild09.gat,0,0,0,0 monster Baby Desert Wolf 1107,20,0,0,0
+prt_fild09.gat,0,0,0,0 monster PecoPeco Egg 1047,20,0,0,0
+prt_fild09.gat,0,0,0,0 monster Picky 1049,20,0,0,0
+prt_fild09.gat,0,0,0,0 monster Condor 1009,10,0,0,0
+prt_fild09.gat,237,115,5,5 monster Yellow Plant 1081,3,360000,180000,1
+
+// prt_fild10 (lv3)
+prt_fild10.gat,0,0,0,0 monster Savage 1166,70,0,0,0
+prt_fild10.gat,0,0,0,0 monster Savage Babe 1167,40,0,0,0
+prt_fild10.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+prt_fild10.gat,0,0,0,0 monster Thief Bug Larva 1051,10,0,0,0
+prt_fild10.gat,99,114,20,5 monster Red Mushroom 1085,15,360000,180000,1
+prt_fild10.gat,155,179,10,10 monster Shining Plant 1083,1,1800000,900000,1
+
+// prt_fild11 (lv4)
+
+prt_fild11.gat,0,0,0,0 monster Goblin 1122,10,0,0,0
+prt_fild11.gat,0,0,0,0 monster Goblin 1123,20,0,0,0
+prt_fild11.gat,0,0,0,0 monster Goblin 1124,20,0,0,0
+prt_fild11.gat,0,0,0,0 monster Goblin 1125,30,0,0,0
+prt_fild11.gat,0,0,0,0 monster Goblin 1126,30,0,0,0
+prt_fild11.gat,0,0,0,0 monster Goblin Archer 1258,10,0,0,0
+prt_fild11.gat,0,0,0,0 monster Panzer Goblin 1308,1,1800000,1200000,0
+prt_fild11.gat,0,0,0,0 monster Steam Goblin 1280,30,0,0,0
+prt_fild11.gat,0,0,0,0 monster Red Mushroom 1085,10,180000,90000,1
diff --git a/npc/omobs/fields/umbala.txt b/npc/omobs/fields/umbala.txt
new file mode 100644
index 000000000..6754af0e2
--- /dev/null
+++ b/npc/omobs/fields/umbala.txt
@@ -0,0 +1,88 @@
+//===== eAthena Script =======================================
+//= Umbala Monster Spawn
+//===== By: ==================================================
+//= Darkchild (1.0)
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= Any eAthena Version; RO Ep6+
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+
+//um_fild01
+
+um_fild01.gat,0,0,0,0 monster Wootan Fighter 1499,10,0,0,0
+um_fild01.gat,0,0,0,0 monster Stem Worm 1215,30,0,0,0
+um_fild01.gat,0,0,0,0 monster Harpy 1376,2,0,0,0
+um_fild01.gat,0,0,0,0 monster Dryad 1493,40,0,0,0
+um_fild01.gat,0,0,0,0 monster Dustiness 1114,20,0,0,0
+
+
+//um_fild02
+
+um_fild02.gat,0,0,0,0 monster Beetle King 1494,30,0,0,0
+um_fild02.gat,0,0,0,0 monster Dustiness 1114,20,0,0,0
+um_fild02.gat,0,0,0,0 monster Wootan Fighter 1499,26,0,0,0
+um_fild02.gat,0,0,0,0 monster Stone Shooter 1495,13,0,0,0
+um_fild02.gat,169,215,10,10 monster Stone Shooter 1495,1,120000,60000,0
+um_fild02.gat,169,215,10,10 monster Wootan Fighter 1499,2,120000,60000,0
+um_fild02.gat,159,285,10,10 monster Stone Shooter 1495,1,120000,60000,0
+um_fild02.gat,159,285,10,10 monster Wootan Fighter 1499,2,120000,60000,0
+um_fild02.gat,99,303,10,10 monster Stone Shooter 1495,1,120000,60000,0
+um_fild02.gat,99,303,10,10 monster Wootan Fighter 1499,2,120000,60000,0
+um_fild02.gat,122,242,10,10 monster Stone Shooter 1495,1,120000,60000,0
+um_fild02.gat,122,242,10,10 monster Wootan Fighter 1499,2,120000,60000,0
+um_fild02.gat,124,198,10,10 monster Stone Shooter 1495,1,120000,60000,0
+um_fild02.gat,124,198,10,10 monster Wootan Fighter 1499,2,120000,60000,0
+um_fild02.gat,126,133,10,10 monster Stone Shooter 1495,1,120000,60000,0
+um_fild02.gat,126,133,10,10 monster Wootan Fighter 1499,2,120000,60000,0
+um_fild02.gat,159,171,10,10 monster Stone Shooter 1495,1,120000,60000,0
+um_fild02.gat,159,171,10,10 monster Wootan Fighter 1499,2,120000,60000,0
+um_fild02.gat,284,247,10,10 monster Stone Shooter 1495,1,120000,60000,0
+um_fild02.gat,284,247,10,10 monster Wootan Fighter 1499,2,120000,60000,0
+um_fild02.gat,330,262,10,10 monster Stone Shooter 1495,1,120000,60000,0
+um_fild02.gat,330,262,10,10 monster Wootan Fighter 1499,2,120000,60000,0
+um_fild02.gat,296,187,10,10 monster Stone Shooter 1495,1,120000,60000,0
+um_fild02.gat,296,187,10,10 monster Wootan Fighter 1499,2,120000,60000,0
+um_fild02.gat,285,105,10,10 monster Stone Shooter 1495,1,120000,60000,0
+um_fild02.gat,285,105,10,10 monster Wootan Fighter 1499,2,120000,60000,0
+um_fild02.gat,257,137,10,10 monster Stone Shooter 1495,1,120000,60000,0
+um_fild02.gat,257,137,10,10 monster Wootan Fighter 1499,2,120000,60000,0
+um_fild02.gat,360,320,20,30 monster Flora 1118,3,180000,120000,0
+um_fild02.gat,0,0,0,0 monster Coco 1104,10,0,0,0
+um_fild02.gat,0,0,0,0 monster Choco 1214,3,0,0,0
+
+
+//um_fild03
+
+um_fild03.gat,0,0,0,0 monster Parasite 1500,60,0,0,0
+um_fild03.gat,0,0,0,0 monster Dragon Tail 1321,45,0,0,0
+um_fild03.gat,0,0,0,0 monster Alligator 1271,15,0,0,0
+um_fild03.gat,0,0,0,0 monster Stainer 1174,10,0,0,0
+um_fild03.gat,0,0,0,0 monster Gryphon 1259,1,3500000,1900000,0
+
+//um_fild04
+
+um_fild04.gat,0,0,0,0 monster Beetle King 1494,30,0,0,0
+um_fild04.gat,0,0,0,0 monster Horn 1128,15,0,0,0
+um_fild04.gat,0,0,0,0 monster Choco 1214,2,0,0,0
+um_fild04.gat,0,0,0,0 monster Wootan Shooter 1498,7,0,0,0
+um_fild04.gat,264,293,10,10 monster Horn 1128,2,1200000,60000,0
+um_fild04.gat,264,293,10,10 monster Beetle King 1494,4,120000,60000,0
+um_fild04.gat,121,239,10,10 monster Beetle King 1494,2,120000,60000,0
+um_fild04.gat,91,79,10,10 monster Beetle King 1494,2,120000,60000,0
+um_fild04.gat,244,339,10,10 monster Beetle King 1494,2,120000,60000,0
+um_fild04.gat,295,93,10,10 monster Beetle King 1494,2,120000,60000,0
+um_fild04.gat,118,237,10,10 monster Beetle King 1494,2,120000,60000,0
+um_fild04.gat,118,237,10,10 monster Horn 1128,1,120000,60000,0
+um_fild04.gat,311,285,10,10 monster Beetle King 1494,2,120000,60000,0
+um_fild04.gat,311,285,10,10 monster Horn 1128,1,120000,60000,0
+um_fild04.gat,206,188,10,10 monster Beetle King 1494,2,120000,60000,0
+um_fild04.gat,206,188,10,10 monster Horn 1128,1,120000,60000,0
+um_fild04.gat,239,245,10,10 monster Beetle King 1494,2,120000,60000,0
+um_fild04.gat,239,245,10,10 monster Horn 1128,1,120000,60000,0
+um_fild04.gat,239,245,10,10 monster Wootan Shooter 1498,1,300000,60000,0
+um_fild04.gat,91,79,10,10 monster Wootan Shooter 1498,1,300000,60000,0
+um_fild04.gat,295,93,10,10 monster Wootan Shooter 1498,1,300000,60000,0
diff --git a/npc/omobs/fields/yuno.txt b/npc/omobs/fields/yuno.txt
new file mode 100644
index 000000000..a96888e99
--- /dev/null
+++ b/npc/omobs/fields/yuno.txt
@@ -0,0 +1,180 @@
+//===== eAthena Script =======================================
+//= Yuno Fields Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.6
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.1 fixed tabs, names [Lupus]
+//= 1.2 New/Better Spawn [Muad_Dib]
+//= 1.3 Fix Up [Darkchild]
+//= 1.4 Updated monster spawns. Many thanks to vicious_pucca for
+//= providing the information [MasterOfMuppets]
+//= 1.5 Updated after Episode 10.4 - Hugel [Poki#3]
+//= Mob quantity is custom.
+//= 1.5b Changed the spawn numbers a bit. [Poki#3]
+//= Thanks to Playtester and Emperium.org
+//= 1.6 Fixed Yuno Field 10. Mob amount sugested by Playtester [Poki#3]
+//============================================================
+
+//========================================================================================
+// - Yuno Field 01
+//========================================================================================
+
+yuno_fild01.gat,0,0,0,0 monster Dustiness 1114,50,0,0,0
+yuno_fild01.gat,0,0,0,0 monster Poporing 1031,20,0,0,0
+yuno_fild01.gat,0,0,0,0 monster Poring 1002,20,0,0,0
+yuno_fild01.gat,0,0,0,0 monster Grand Peco 1369,3,60000,30000,0
+yuno_fild01.gat,0,0,0,0 monster Yellow Plant 1081,23,1800000,900000,1
+yuno_fild01.gat,0,0,0,0 monster Green Plant 1080,20,1800000,900000,1
+yuno_fild01.gat,0,0,0,0 monster Red Plant 1078,15,1800000,900000,1
+yuno_fild01.gat,0,0,0,0 monster Shining Plant 1083,3,1800000,900000,1
+yuno_fild01.gat,0,0,0,0 monster Blue Plant 1079,2,1800000,900000,1
+
+//========================================================================================
+// - Yuno Field 02
+//========================================================================================
+
+yuno_fild02.gat,0,0,0,0 monster Grand Peco 1369,70,0,0,0
+yuno_fild02.gat,0,0,0,0 monster Driller 1380,40,0,0,0
+yuno_fild02.gat,0,0,0,0 monster Geographer 1368,30,0,0,0
+yuno_fild02.gat,0,0,0,0 monster Poring 1002,20,0,0,0
+yuno_fild02.gat,0,0,0,0 monster Sleeper 1386,10,0,0,0
+yuno_fild02.gat,0,0,0,0 monster Dustiness 1114,10,0,0,0
+yuno_fild02.gat,0,0,0,0 monster The Paper 1375,1,0,0,0
+yuno_fild02.gat,0,0,0,0 monster Arc Angeling 1388,1,3600000,1800000,1
+yuno_fild02.gat,0,0,0,0 monster Red Plant 1078,20,180000,90000,1
+yuno_fild02.gat,0,0,0,0 monster Yellow Plant 1081,20,180000,90000,1
+yuno_fild02.gat,0,0,0,0 monster Blue Plant 1079,3,180000,90000,1
+yuno_fild02.gat,0,0,0,0 monster Shining Plant 1083,1,180000,90000,1
+
+//========================================================================================
+// - Yuno Field 03
+//========================================================================================
+
+yuno_fild03.gat,0,0,0,0 monster Goat 1372,60,0,0,0
+yuno_fild03.gat,0,0,0,0 monster Demon Fungus 1378,40,0,0,0
+yuno_fild03.gat,0,0,0,0 monster Geographer 1368,20,0,0,0
+yuno_fild03.gat,0,0,0,0 monster Sleeper 1386,20,0,0,0
+yuno_fild03.gat,0,0,0,0 monster The Paper 1375,3,0,0,0
+yuno_fild03.gat,0,0,0,0 monster Harpy 1376,2,1800000,900000,0
+yuno_fild03.gat,0,0,0,0 monster Yellow Plant 1081,20,1800000,900000,1
+yuno_fild03.gat,0,0,0,0 monster Red Plant 1078,15,1800000,900000,1
+yuno_fild03.gat,0,0,0,0 monster Blue Plant 1079,4,1800000,900000,1
+yuno_fild03.gat,0,0,0,0 monster Shining Plant 1083,2,1800000,900000,1
+
+//========================================================================================
+// - Yuno Field 04
+//========================================================================================
+
+yuno_fild04.gat,0,0,0,0 monster Goat 1372,40,0,0,0
+yuno_fild04.gat,0,0,0,0 monster Poring 1002,20,0,0,0
+yuno_fild04.gat,0,0,0,0 monster Geographer 1368,20,0,0,0
+yuno_fild04.gat,0,0,0,0 monster Driller 1380,10,0,0,0
+yuno_fild04.gat,0,0,0,0 monster Sleeper 1386,5,0,0,0
+yuno_fild04.gat,0,0,0,0 monster The Paper 1375,3,0,0,0
+yuno_fild04.gat,0,0,0,0 monster Harpy 1376,1,1800000,900000,0
+yuno_fild04.gat,0,0,0,0 monster Green Plant 1080,10,1800000,900000,1
+yuno_fild04.gat,0,0,0,0 monster Red Plant 1078,10,1800000,900000,1
+yuno_fild04.gat,0,0,0,0 monster Yellow Plant 1081,10,1800000,900000,1
+
+//========================================================================================
+// - Yuno Field 05
+//========================================================================================
+
+yuno_fild05.gat,0,0,0,0 monster Sleeper 1386,60,0,0,0
+yuno_fild05.gat,0,0,0,0 monster Demon Fungus 1378,30,0,0,0
+yuno_fild05.gat,0,0,0,0 monster Goat 1372,30,0,0,0
+yuno_fild05.gat,0,0,0,0 monster Geographer 1368,10,0,0,0
+yuno_fild05.gat,0,0,0,0 monster The Paper 1375,3,0,0,0
+yuno_fild05.gat,0,0,0,0 monster Arc Angeling 1388,1,3600000,1800000,1
+yuno_fild05.gat,0,0,0,0 monster Green Plant 1080,10,180000,90000,1
+yuno_fild05.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+yuno_fild05.gat,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1
+yuno_fild05.gat,0,0,0,0 monster Blue Plant 1079,4,180000,90000,1
+
+//========================================================================================
+// - Yuno Field 06
+//========================================================================================
+
+yuno_fild06.gat,0,0,0,0 monster Sleeper 1386,55,0,0,0
+yuno_fild06.gat,0,0,0,0 monster Goat 1372,30,0,0,0
+yuno_fild06.gat,0,0,0,0 monster Demon Fungus 1378,20,0,0,0
+yuno_fild06.gat,0,0,0,0 monster Green Plant 1080,10,180000,90000,1
+yuno_fild06.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+yuno_fild06.gat,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1
+
+//========================================================================================
+// - Yuno Field 07
+//========================================================================================
+
+yuno_fild07.gat,0,0,0,0 monster Goat 1372,50,0,0,0
+yuno_fild07.gat,0,0,0,0 monster Driller 1380,10,0,0,0
+yuno_fild07.gat,0,0,0,0 monster Geographer 1368,10,0,0,0
+yuno_fild07.gat,0,0,0,0 monster Harpy 1376,1,1800000,900000,0
+yuno_fild07.gat,0,0,0,0 monster The Paper 1375,3,1800000,900000,0
+yuno_fild07.gat,0,0,0,0 monster Green Plant 1080,10,180000,90000,1
+yuno_fild07.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+yuno_fild07.gat,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1
+
+//========================================================================================
+// - Yuno Field 08
+//========================================================================================
+
+yuno_fild08.gat,0,0,0,0 monster Grand Peco 1369,30,0,0,0
+yuno_fild08.gat,0,0,0,0 monster Geographer 1368,30,0,0,0
+yuno_fild08.gat,0,0,0,0 monster Dustiness 1114,30,0,0,0
+yuno_fild08.gat,0,0,0,0 monster Wild Rose 1261,30,0,0,0
+yuno_fild08.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+yuno_fild08.gat,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1
+yuno_fild08.gat,0,0,0,0 monster Green Plant 1080,10,180000,90000,1
+
+//========================================================================================
+// - Yuno Field 09
+//========================================================================================
+
+yuno_fild09.gat,0,0,0,0 monster Dustiness 1114,50,0,0,0
+yuno_fild09.gat,0,0,0,0 monster Horn 1128,40,0,0,0
+yuno_fild09.gat,0,0,0,0 monster Gargoyle 1253,20,0,0,0
+yuno_fild09.gat,0,0,0,0 monster Goblin 1122,3,600000,300000,0
+yuno_fild09.gat,0,0,0,0 monster Goblin 1123,3,600000,300000,0
+yuno_fild09.gat,0,0,0,0 monster Goblin 1124,3,600000,300000,0
+yuno_fild09.gat,0,0,0,0 monster Goblin 1125,3,600000,300000,0
+yuno_fild09.gat,0,0,0,0 monster Goblin 1126,3,600000,300000,0
+yuno_fild09.gat,0,0,0,0 monster Green Plant 1080,10,180000,90000,1
+yuno_fild09.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+yuno_fild09.gat,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1
+
+//========================================================================================
+// - Yuno Field 10
+//========================================================================================
+
+yuno_fild10.gat,0,0,0,0 monster Dustiness 1114,20,0,0,0
+yuno_fild10.gat,0,0,0,0 monster Stainer 1174,20,0,0,0
+yuno_fild10.gat,0,0,0,0 monster Geographer 1368,20,0,0,0
+yuno_fild10.gat,0,0,0,0 monster Beetle King 1494,20,0,0,0
+yuno_fild10.gat,0,0,0,0 monster Hunter Fly 1035,10,0,0,0
+
+//========================================================================================
+// - Yuno Field 11
+//========================================================================================
+
+yuno_fild11.gat,0,0,0,0 monster Sleeper 1386,50,0,0,0
+yuno_fild11.gat,0,0,0,0 monster Geographer 1368,20,0,0,0
+yuno_fild11.gat,0,0,0,0 monster Green Plant 1080,10,180000,90000,1
+yuno_fild11.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+yuno_fild11.gat,0,0,0,0 monster Yellow Plant 1081,15,180000,90000,1
+
+//========================================================================================
+// - Yuno Field 12
+//========================================================================================
+
+yuno_fild12.gat,0,0,0,0 monster Punk 1199,30,0,0,0
+yuno_fild12.gat,0,0,0,0 monster Poporing 1031,15,0,0,0
+yuno_fild12.gat,0,0,0,0 monster Geographer 1368,5,0,0,0
+yuno_fild12.gat,0,0,0,0 monster Green Plant 1080,10,180000,90000,1
+yuno_fild12.gat,0,0,0,0 monster Red Plant 1078,10,180000,90000,1
+yuno_fild12.gat,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1
+
diff --git a/npc/omobs/pvp.txt b/npc/omobs/pvp.txt
new file mode 100644
index 000000000..a63f4f7ae
--- /dev/null
+++ b/npc/omobs/pvp.txt
@@ -0,0 +1,31 @@
+//===== eAthena Script =======================================
+//= PvP Nightmare Rooms Monster Spawn Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//=
+//============================================================
+
+
+//PvP : “ì–k푈(pvp_n_8-1)?
+pvp_n_8-1.gat,0,0,0,0 monster Sidewinder 1037,2,360000,180000,1
+pvp_n_8-1.gat,0,0,0,0 monster Bigfoot 1060,2,360000,180000,1
+
+//PvP : ƒƒbƒNƒIƒ“(pvp_n_8-2)?
+pvp_n_8-2.gat,0,0,0,0 monster Cramp 1209,4,360000,180000,1
+
+//PvP : ƒtƒH[ƒ‹[ƒ€(pvp_n_8-3)?
+pvp_n_8-3.gat,0,0,0,0 monster Whisper 1179,3,360000,180000,1
+pvp_n_8-3.gat,0,0,0,0 monster Giant Whisper 1186,2,360000,180000,1
+
+//PvP : ƒAƒ“ƒ_[ƒNƒƒX(pvp_n_8-4)?
+pvp_n_8-4.gat,0,0,0,0 monster Zombie 1015,4,360000,180000,1
+pvp_n_8-4.gat,0,0,0,0 monster Ghoul 1036,3,360000,180000,1
+
+//PvP : ƒUƒiƒNƒ‹[ƒ€(pvp_n_8-5)?
+pvp_n_8-5.gat,0,0,0,0 monster Khalitzburg 1132,1,360000,180000,1
+pvp_n_8-5.gat,0,0,0,0 monster Raydric 1163,2,360000,180000,1
diff --git a/npc/other/Global_Functions.txt b/npc/other/Global_Functions.txt
new file mode 100644
index 000000000..00c0507f8
--- /dev/null
+++ b/npc/other/Global_Functions.txt
@@ -0,0 +1,381 @@
+//===== eAthena Script =======================================
+//= Global Functions
+//===== By: ==================================================
+//= Lupus, kobra_k88
+//===== Current Version: =====================================
+//= 1.7
+//===== Compatible With: =====================================
+//= eAthena 1.0
+//===== Description: =========================================
+//= <Description>
+//===== Additional Comments: =================================
+//= Added F_ClearJobVar - on getting a new job it clears all Job Quest variables
+//= Removed individual job check functions as they were redundant [kobra_k88]
+//= 1.3 Added Job Change Function for Baby/Normal Classes
+//= 1.3b a fix, due to const.txt change [Lupus]
+//= 1.4 Added Is_Taekwon_Class: Taekwondo, Star Knight(Gladiator),Soul Linker [Lupus]
+//= 1.5 Added clear of Bard Quest variables. 1.5a updated [Lupus]
+//= 1.6 Added F_RandMes, F_SexMes, F_Hi, F_Bye functions [Lupus]
+//= Moved here useful function 'getJobName'
+//= 1.7 Added "F_ItemName" function, added a great sample for "F_ItemName"
+//============================================================
+
+
+//////////////////////////////////////////////////////////////////////////////////
+// Function that clears job quest variables
+//////////////////////////////////////////////////////////////////////////////////
+
+function script F_ClearJobVar {
+ // Misc ---------------------------------
+ set JBLVL,0;
+ // First Class Jobs ---------------------
+ set job_acolyte_q,0; set job_acolyte_q2,0;
+ set job_archer_q,0;
+ set job_magician_q,0;
+ set job_merchant_q,0; set job_merchant_q2,0; set job_merchant_q3,0;
+ set job_sword_q,0; set job_sword_q2,0; set SWTEST, 0;
+ set job_thief_q,0;
+ // Super Novice
+ set SUPNOV_Q,0;
+ // 2-1 Jobs ------------------------------
+ set ASSIN_Q,0; set ASSIN_Q2,0;
+ set BSMITH_Q,0; set BSMITH_Q2,0;
+ set HNTR_Q,0; set HNTR_Q2,0;
+ set KNIGHT_Q,0; set KNIGHT_Q2,0;
+ set PRIEST_Q,0; set PRIEST_Q2,0; set PRIEST_Q3,0;
+ set WIZ_Q,0; set WIZ_Q2,0;
+ // 2-2 Jobs ------------------------------
+ set ROGUE_Q,0; set ROGUE_Q2,0;
+ set ALCH_Q,0; set ALCH_Q2,0; set al_morgen,0;
+ set CRUS_Q,0;
+ set MONK_Q,0; set JOB_MONK_C,0;
+ set SAGE_Q,0; set SAGE_Q2,0;
+ set DANC_Q,0;
+ set BARD_Q,0;
+ return;
+}
+
+//////////////////////////////////////////////////////////////////////////////////
+// Used in REBIRTH scripts
+// Class = Internal Class ID
+// BaseJob = Base Job (0..23)
+// Upper : 0 - Default, 1 - Advanced, 2 - Baby
+//////////////////////////////////////////////////////////////////////////////////
+
+function script Job_Change {
+ if (Upper==0) jobchange getarg(0); //Change Job For Common
+ if (Upper==2) jobchange getarg(0)+46; //Change Job For Baby Class
+ return;
+}
+
+
+//////////////////////////////////////////////////////////////////////////////////
+// FOT BACKWISE COMPATIBILITY: Functions used to check a players job class
+// HOW TO USE:
+// i.e. We need all holy classes but monks
+// if ( callfunc("Is_Holy_Class") && callfunc("Is_Monk")==0 ) goto L_Start;
+//////////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////////
+// returns 1 if the player is either Aco,Monk,Priest,Aco High,High Priest,
+// Champion, 0 otherwise
+//////////////////////////////////////////////////////////////////////////////////
+
+function script Is_Holy_Class {
+ return ( BaseJob==Job_Acolyte || BaseJob==Job_Priest || BaseJob==Job_Monk );
+}
+
+
+//////////////////////////////////////////////////////////////////////////////////
+// returns 1 if the player is either Archer,Hunter,Bard,Dancer,Archer High,Sniper,
+// Clown,Gypsy, 0 otherwise
+//////////////////////////////////////////////////////////////////////////////////
+
+function script Is_Bow_Class {
+ return ( BaseJob==Job_Archer || BaseJob==Job_Hunter || BaseJob==Job_Bard || BaseJob==Job_Dancer );
+}
+
+
+//////////////////////////////////////////////////////////////////////////////////
+// returns 1 if the player is either Mage,Wizard,Sage,Mage High,High Wizard,
+// Professor, 0 otherwise
+//////////////////////////////////////////////////////////////////////////////////
+
+function script Is_Magic_Class {
+ return ( BaseJob==Job_Mage || BaseJob==Job_Wizard || BaseJob==Job_Sage );
+}
+
+
+//////////////////////////////////////////////////////////////////////////////////
+// returns 1 if the player is either Merc,Blacksmith,Alchemist,Merc High,
+// Whitesmith,Creator, 0 otherwise
+//////////////////////////////////////////////////////////////////////////////////
+
+function script Is_Merc_Class {
+ return ( BaseJob==Job_Merchant || BaseJob==Job_Blacksmith || BaseJob==Job_Alchem );
+}
+
+
+//////////////////////////////////////////////////////////////////////////////////
+// returns 1 if the player is either Thief,Assassin,Rogue,Thief High, Assassin Cross
+// Stalker, 0 otherwise
+//////////////////////////////////////////////////////////////////////////////////
+
+function script Is_Thief_Class {
+ return ( BaseJob==Job_Thief || BaseJob==Job_Assassin || BaseJob==Job_Rogue );
+}
+
+
+//////////////////////////////////////////////////////////////////////////////////
+// returns 1 if the player is either Swordy,Knight,Crusader,Swordy High,
+// Lord Knight,Paladin, 0 otherwise
+//////////////////////////////////////////////////////////////////////////////////
+
+function script Is_Sword_Class {
+ return ( BaseJob==Job_Swordman || BaseJob==Job_Knight || BaseJob==Job_Knight2 || BaseJob==Job_Crusader || BaseJob==Job_Crusader2 );
+}
+
+
+//////////////////////////////////////////////////////////////////////////////////
+// returns 1 if the player is either Taekwon, Star Gladiator,Soul Linker, 0 otherwise
+// these classes can't be adopted nor reborn ()
+//////////////////////////////////////////////////////////////////////////////////
+
+function script Is_Taekwon_Class {
+ return ( Class==Job_Taekwon || Class==Job_Star_Gladiator || Class==Job_Star_Gladiator2 || Class==Job_Soul_Linker );
+}
+
+
+//////////////////////////////////////////////////////////////////////////////////
+// Functions used to spiff up dialoges [Lupus]
+//////////////////////////////////////////////////////////////////////////////////
+
+//////////////////////////////////////////////////////////////////////////////////
+// *** Function "F_RandMes"
+//////////////////////////////////////////////////////////////////////////////////
+//returns random string
+// Example: check F_Bye or F_Hi functions
+// READ AND THINK: You can use it to pick a random number form list:
+// set @itemIDfromList, callfunc("F_RandMes",8,1129,1222,1163,1357,1360,1522,1811,1410);
+
+function script F_RandMes {
+ return getarg(rand(1,getarg(0)));
+}
+
+
+//////////////////////////////////////////////////////////////////////////////////
+// *** Function "F_Sex"
+//////////////////////////////////////////////////////////////////////////////////
+//returns 1st string if female, 2nd string otherwise
+// Example: mes callfunc("F_Sex","What a beautiful lady!","What a handsom man!");
+
+function script F_SexMes {
+ return getarg(Sex);
+}
+
+
+//////////////////////////////////////////////////////////////////////////////////
+// *** Function "F_Hi"
+//////////////////////////////////////////////////////////////////////////////////
+//returns random HELLO message
+
+function script F_Hi {
+ return callfunc("F_RandMes",5,"Hi!","Hello!","Good day!","How are you?","Hello there.");
+}
+
+
+//////////////////////////////////////////////////////////////////////////////////
+// *** Function "F_Bye"
+//////////////////////////////////////////////////////////////////////////////////
+//returns random BYE message
+
+function script F_Bye {
+ return callfunc("F_RandMes",6,"Bye. See you again.","Later.","Goodbye.","Good luck!","Have a nice day!","Byebye!!!");
+}
+
+
+//////////////////////////////////////////////////////////////////////////////////
+// *** Function "F_ItemName"
+//////////////////////////////////////////////////////////////////////////////////
+// Returns expanded item name string
+//Argumentss
+// 0 - Item ID
+// 1 - Element N (0=none,1=Ice,2=Earth,3=Fire,4=Wind)
+// 2 - VVS meter 0..3
+// 3 - Refine
+// Example: mes "Show me your "+callfunc("F_ItemName",1201,1,2,5)+"...";
+// is equal to: mes "Show me your ^000090 +5 VVS Fire Knife ^000000..."
+
+function script F_ItemName {
+ set @t$,"^000090";
+ if(getarg(3)) set @t$,@t$+"+"+getarg(3)+" ";
+ if(getarg(2)==1) set @t$,@t$+"VS ";
+ if(getarg(2)==2) set @t$,@t$+"VVS ";
+ if(getarg(2)==3) set @t$,@t$+"VVVS ";
+ if(getarg(2)>3) set @t$,@t$+getarg(2)+"xVS ";
+ if(getarg(1)==1) set @t$,@t$+"Ice ";
+ if(getarg(1)==2) set @t$,@t$+"Earth ";
+ if(getarg(1)==3) set @t$,@t$+"Fire ";
+ if(getarg(1)==4) set @t$,@t$+"Wind ";
+ if(getarg(1)>4) set @t$,@t$+"Strange ";
+ return @t$+getitemname(getarg(0))+"^000000";
+}
+
+
+//////////////////////////////////////////////////////////////////////////////////
+// *** Function "getJobName" //
+// [Usage] : callfunc("getJobName",Class); //
+//////////////////////////////////////////////////////////////////////////////////
+
+function script getJobName {
+ switch(getarg(0)){
+ case Job_Novice:
+ return "Novice";
+ case Job_Swordman:
+ return "Swordman";
+ case Job_Mage:
+ return "Magician";
+ case Job_Archer:
+ return "Archer";
+ case Job_Acolyte:
+ return "Acolyte";
+ case Job_Merchant:
+ return "Merchant";
+ case Job_Thief:
+ return "Thief";
+ case Job_Knight:
+ case Job_Knight2:
+ return "Knight";
+ case Job_Priest:
+ return "Priest";
+ case Job_Wizard:
+ return "Wizard";
+ case Job_Blacksmith:
+ return "Blacksmith";
+ case Job_Hunter:
+ return "Hunter";
+ case Job_Assassin:
+ return "Assassin";
+ case Job_Crusader:
+ case Job_Crusader2:
+ return "Crusader";
+ case Job_Monk:
+ return "Monk";
+ case Job_Sage:
+ return "Sage";
+ case Job_Rogue:
+ return "Rogue";
+ case Job_Alchem:
+ return "Alchemist";
+ case Job_Bard:
+ return "Bard";
+ case Job_Dancer:
+ return "Dancer";
+ case Job_SuperNovice:
+ return "Super Novice";
+ case Job_Gunslinger:
+ return "Gunsligner";
+ case Job_Ninja:
+ return "Ninja";
+ case Job_Xmas:
+ return "Xmas";
+ case Job_Novice_High:
+ return "Novice High";
+ case Job_Swordman_High:
+ return "Swordman High";
+ case Job_Mage_High:
+ return "Magician High";
+ case Job_Archer_High:
+ return "Archer High";
+ case Job_Acolyte_High:
+ return "Acolyte High";
+ case Job_Merchant_High:
+ return "Merchant High";
+ case Job_Thief_High:
+ return "Thief High";
+ case Job_Lord_Knight:
+ case Job_Lord_Knight2:
+ return "Lord Knight";
+ case Job_High_Priest:
+ return "High Priest";
+ case Job_High_Wizard:
+ return "High Wizard";
+ case Job_Whitesmith:
+ return "Whitesmith";
+ case Job_Sniper:
+ return "Sniper";
+ case Job_Assassin_Cross:
+ return "Assassin Cross";
+ case Job_Paladin:
+ case Job_Paladin2:
+ return "Paladin";
+ case Job_Champion:
+ return "Champion";
+ case Job_Professor:
+ return "Professor";
+ case Job_Stalker:
+ return "Stalker";
+ case Job_Creator:
+ return "Creator";
+ case Job_Clown:
+ return "Clown";
+ case Job_Gypsy:
+ return "Gypsy";
+ case Job_Baby:
+ return "Baby";
+ case Job_Baby_Swordman:
+ return "Baby Swordman";
+ case Job_Baby_Mage:
+ return "Baby Magician";
+ case Job_Baby_Archer:
+ return "Baby Archer";
+ case Job_Baby_Acolyte:
+ return "Baby Acolyte";
+ case Job_Baby_Merchant:
+ return "Baby Merchant";
+ case Job_Baby_Thief:
+ return "Baby Thief";
+ case Job_Baby_Knight:
+ case Job_Baby_Knight2:
+ return "Baby Knight";
+ case Job_Baby_Priest:
+ return "Baby Priest";
+ case Job_Baby_Wizard:
+ return "Baby Wizard";
+ case Job_Baby_Blacksmith:
+ return "Baby Blacksmith";
+ case Job_Baby_Hunter:
+ return "Baby Hunter";
+ case Job_Baby_Assassin:
+ return "Baby Assassin";
+ case Job_Baby_Crusader:
+ case Job_Baby_Crusader2:
+ return "Baby Crusader";
+ case Job_Baby_Monk:
+ return "Baby Monk";
+ case Job_Baby_Sage:
+ return "Baby Sage";
+ case Job_Baby_Rogue:
+ return "Baby Rogue";
+ case Job_Baby_Alchem:
+ return "Baby Alchemist";
+ case Job_Baby_Bard:
+ return "Baby Bard";
+ case Job_Baby_Dancer:
+ return "Baby Dancer";
+ case Job_Super_Baby:
+ return "Super Baby";
+ case Job_Taekwon:
+ if(Sex == 0)
+ return "Taekwon Girl";
+ else
+ return "Taekwon Boy";
+ case Job_Star_Gladiator:
+ case Job_Star_Gladiator2:
+ return "Star Gladiator";
+ case Job_Soul_Linker:
+ return "Soul Linker";
+ default:
+ return "omghaxor";
+ }
+}
diff --git a/npc/other/arena.txt b/npc/other/arena.txt
new file mode 100644
index 000000000..be188eb31
--- /dev/null
+++ b/npc/other/arena.txt
@@ -0,0 +1,568 @@
+// ------------------------------------------------------------------
+// Setup Of Arena
+// ------------------------------------------------------------------
+
+// The following maps are used
+//map: prontera.gat
+//map: prt_are_in.gat
+//map: force_1-1.gat
+
+// Disallow Teleport, etc.
+force_1-1.gat mapflag pvp dummy
+force_1-2.gat mapflag pvp dummy
+force_1-3.gat mapflag pvp dummy
+force_2-1.gat mapflag pvp dummy
+force_2-2.gat mapflag pvp dummy
+force_2-3.gat mapflag pvp dummy
+force_3-1.gat mapflag pvp dummy
+force_3-2.gat mapflag pvp dummy
+force_3-3.gat mapflag pvp dummy
+prt_are_in.gat mapflag nomemo dummy
+prt_are_in.gat mapflag noteleport dummy
+prt_are_in.gat mapflag nosave prontera.gat,156,191
+force_1-1.gat mapflag nomemo dummy
+force_1-1.gat mapflag noteleport dummy
+force_1-1.gat mapflag nosave prontera.gat,156,191
+
+// An entrance is placed in Prontera.
+prontera.gat,160,185,3 script Arena Entrance 116,{
+ mes "Want to go to the arena?";
+ next;
+ menu "Let's go!",L_GOARENA,"Nah..",L_YAME;
+L_GOARENA:
+ warp "prt_are_in.gat",31,82;
+ close;
+L_YAME:
+ close;
+}
+
+// Teleport from waiting room to ready room
+prt_are_in.gat,29,79,0 script Time Attack 116,{
+ if( getmapusers("force_1-1.gat")>0 ) goto L_WAIT;
+
+ mes "This is the Time Attack selection.";
+ mes "Please choose your challenge.";
+ menu "Level 1 - 5 Porings, 30 secs!",L_GOLV1,"Level 2 - 7 Roda Frogs, 60 secs!",L_GOLV2,"Level 3 - 9 PecoPecos, 100 secs!",L_GOLV3,"Never mind.",L_YAME;
+L_GOLV1:
+ if( getmapusers("force_1-1.gat")>0 ) goto L_WAIT;
+ disablenpc "fc103-1";
+ disablenpc "fc105";
+ disablenpc "fc107";
+ addtimer 5000,"arenalv1st";
+ warp "force_1-1.gat",99,12;
+ end;
+L_GOLV2:
+ if( getmapusers("force_1-1.gat")>0 ) goto L_WAIT;
+ disablenpc "fc103-1";
+ disablenpc "fc105";
+ disablenpc "fc107";
+ addtimer 5000,"arenalv2st";
+ warp "force_1-1.gat",99,12;
+ end;
+L_GOLV3:
+ if( getmapusers("force_1-1.gat")>0 ) goto L_WAIT;
+ disablenpc "fc103-1";
+ disablenpc "fc105";
+ disablenpc "fc107";
+ addtimer 5000,"arenalv3st";
+ warp "force_1-1.gat",99,12;
+ end;
+L_WAIT:
+ mes "Since the arena is in use,";
+ mes "please wait for a while.";
+L_YAME:
+ close;
+}
+
+
+// Ready room (10-second preparation)
+force_1-1.gat,99,12,0 script arenalv1st -1,{
+ announce "It will begin in 10 seconds!",3;
+ addtimer 10000,"arenalv1fgt";
+}
+force_1-1.gat,99,12,0 script arenalv2st -1,{
+ announce "It will begin in 10 seconds!",3;
+ addtimer 10000,"arenalv2fgt";
+}
+force_1-1.gat,99,12,0 script arenalv3st -1,{
+ announce "It will begin in 10 seconds!",3;
+ addtimer 10000,"arenalv3fgt";
+}
+
+
+// Transmission to the room, and mob organization
+//Time Attack Level 1
+force_1-1.gat,99,12,0 script arenalv1fgt -1,{
+ killmonster "force_1-1.gat","arenalv1mon";
+ killmonster "force_1-1.gat","arenalv2mon";
+ killmonster "force_1-1.gat","arenalv3mon";
+ monster "force_1-1.gat",25,25,"Arena Enemy",1002,1,"arenalv1mon";
+ monster "force_1-1.gat",20,25,"Arena Enemy",1002,1,"arenalv1mon";
+ monster "force_1-1.gat",25,20,"Arena Enemy",1002,1,"arenalv1mon";
+ monster "force_1-1.gat",30,25,"Arena Enemy",1002,1,"arenalv1mon";
+ monster "force_1-1.gat",25,30,"Arena Enemy",1002,1,"arenalv1mon";
+ set $arena00,5;
+ disablenpc "fc101";
+ disablenpc "fc103";
+ warp "force_1-1.gat",25,26;
+ enablenpc "fc103-1";
+ enablenpc "fc105";
+ enablenpc "fc107";
+ announce "Do it within 30 seconds!",19;
+ addtimer 30000,"arenalv1fail";
+ addtimer 20000,"tensecsleft";
+}
+
+//Time Attack Level 2
+force_1-1.gat,99,12,0 script arenalv2fgt -1,{
+ killmonster "force_1-1.gat","arenalv1mon";
+ killmonster "force_1-1.gat","arenalv2mon";
+ killmonster "force_1-1.gat","arenalv3mon";
+ monster "force_1-1.gat",20,20,"Arena Enemy",1012,1,"arenalv2mon";
+ monster "force_1-1.gat",20,25,"Arena Enemy",1012,1,"arenalv2mon";
+ monster "force_1-1.gat",20,30,"Arena Enemy",1012,1,"arenalv2mon";
+ monster "force_1-1.gat",30,20,"Arena Enemy",1012,1,"arenalv2mon";
+ monster "force_1-1.gat",30,25,"Arena Enemy",1012,1,"arenalv2mon";
+ monster "force_1-1.gat",30,30,"Arena Enemy",1012,1,"arenalv2mon";
+ monster "force_1-1.gat",25,30,"Arena Enemy",1012,1,"arenalv2mon";
+ monster "force_1-1.gat",25,20,"Arena Enemy",1012,1,"arenalv2mon";
+ set $arena00,7;
+ disablenpc "fc101";
+ disablenpc "fc103";
+ warp "force_1-1.gat",25,26;
+ enablenpc "fc103-1";
+ enablenpc "fc105";
+ enablenpc "fc107";
+ announce "You have 60 seconds to destroy all seven!",19;
+ addtimer 60000,"arenalv2fail";
+ addtimer 50000,"tensecsleft";
+}
+
+//Time Attack Level 3
+force_1-1.gat,99,12,0 script arenalv3fgt -1,{
+ killmonster "force_1-1.gat","arenalv1mon";
+ killmonster "force_1-1.gat","arenalv2mon";
+ killmonster "force_1-1.gat","arenalv3mon";
+ monster "force_1-1.gat",20,20,"Arena Enemy",1019,1,"arenalv3mon";
+ monster "force_1-1.gat",20,25,"Arena Enemy",1019,1,"arenalv3mon";
+ monster "force_1-1.gat",20,30,"Arena Enemy",1019,1,"arenalv3mon";
+ monster "force_1-1.gat",30,20,"Arena Enemy",1019,1,"arenalv3mon";
+ monster "force_1-1.gat",30,25,"Arena Enemy",1019,1,"arenalv3mon";
+ monster "force_1-1.gat",30,30,"Arena Enemy",1019,1,"arenalv3mon";
+ monster "force_1-1.gat",25,30,"Arena Enemy",1019,1,"arenalv3mon";
+ monster "force_1-1.gat",25,25,"Arena Enemy",1019,1,"arenalv3mon";
+ monster "force_1-1.gat",25,20,"Arena Enemy",1019,1,"arenalv3mon";
+ monster "force_1-1.gat",20,35,"Arena Enemy",1019,1,"arenalv3mon";
+ set $arena00,9;
+ disablenpc "fc101";
+ disablenpc "fc103";
+ warp "force_1-1.gat",25,26;
+ enablenpc "fc103-1";
+ enablenpc "fc105";
+ enablenpc "fc107";
+ announce "You have 90 seconds to destroy all nine!",19;
+ addtimer 90000,"arenalv3fail";
+ addtimer 80000,"tensecsleft";
+}
+
+// Pushed-down Processing
+//Time Attack Level 1
+force_1-1.gat,25,26,0 script arenalv1mon -1,{
+ set $arena00, $arena00 - 1;
+ if( $arena00 > 0 ) goto L_CONT;
+ deltimer "arenaev8000";
+ announce "Crash!!",3;
+ enablenpc "fc101";
+ enablenpc "fc103";
+ areaannounce "force_1-1.gat",0,0,350,350,
+ "You cleared Time Attack Level 1.",0;
+ areaannounce "prt_are_in.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 1.",0;
+ areaannounce "prontera.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 1.",0;
+ areaannounce "morocc.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 1.",0;
+ areaannounce "geffen.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 1.",0;
+ areaannounce "payon.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 1.",0;
+ areaannounce "alberta.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 1.",0;
+ areaannounce "izlude.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 1.",0;
+ areaannounce "aldebaran.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 1.",0;
+ areaannounce "prt_are_in.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 1.",0;
+ areaannounce "xmas.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 1.",0;
+ areaannounce "comodo.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 1.",0;
+ areaannounce "prt_gld.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 1.",0;
+ areaannounce "prtg_cas01.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 1.",0;
+ areaannounce "prtg_cas02.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 1.",0;
+ areaannounce "prtg_cas03.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 1.",0;
+ areaannounce "prtg_cas04.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 1.",0;
+ areaannounce "prtg_cas05.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 1.",0;
+ areaannounce "pay_gld.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 1.",0;
+ areaannounce "payg_cas01.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 1.",0;
+ areaannounce "payg_cas02.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 1.",0;
+ areaannounce "payg_cas03.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 1.",0;
+ areaannounce "payg_cas04.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 1.",0;
+ areaannounce "payg_cas05.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 1.",0;
+ areaannounce "yuno.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 1.",0;
+ areaannounce "amatsu.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 1.",0;
+ areaannounce "gonryun.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 1.",0;
+ addtimer 5000,"arenareturn";
+L_CONT:
+ end;
+}
+
+force_1-1.gat,25,26,0 script arenalv2mon -1,{
+ set $arena00, $arena00 - 1;
+ if( $arena00 > 0 ) goto L_CONT;
+ deltimer "arenaev8000";
+ announce "Crash!!",3;
+ enablenpc "fc101";
+ enablenpc "fc103";
+ areaannounce "force_1-1.gat",0,0,350,350,
+ "You cleared Time Attack Level 2.",0;
+ areaannounce "prt_are_in.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 2.",0;
+ areaannounce "prontera.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 2.",0;
+ areaannounce "morocc.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 2.",0;
+ areaannounce "geffen.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 2.",0;
+ areaannounce "payon.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 2.",0;
+ areaannounce "alberta.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 2.",0;
+ areaannounce "izlude.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 2.",0;
+ areaannounce "aldebaran.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 2.",0;
+ areaannounce "prt_are_in.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 2.",0;
+ areaannounce "xmas.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 2.",0;
+ areaannounce "comodo.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 2.",0;
+ areaannounce "prt_gld.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 2.",0;
+ areaannounce "prtg_cas01.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 2.",0;
+ areaannounce "prtg_cas02.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 2.",0;
+ areaannounce "prtg_cas03.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 2.",0;
+ areaannounce "prtg_cas04.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 2.",0;
+ areaannounce "prtg_cas05.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 2.",0;
+ areaannounce "pay_gld.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 2.",0;
+ areaannounce "payg_cas01.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 2.",0;
+ areaannounce "payg_cas02.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 2.",0;
+ areaannounce "payg_cas03.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 2.",0;
+ areaannounce "payg_cas04.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 2.",0;
+ areaannounce "payg_cas05.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 2.",0;
+ areaannounce "yuno.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 2.",0;
+ areaannounce "amatsu.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 2.",0;
+ areaannounce "gonryun.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 2.",0;
+ addtimer 5000,"arenareturn";
+L_CONT:
+ end;
+}
+
+
+force_1-1.gat,25,26,0 script arenalv3mon -1,{
+ set $arena00, $arena00 - 1;
+ if( $arena00 > 0 ) goto L_CONT;
+ deltimer "arenaev8000";
+ announce "Crash!!",3;
+ enablenpc "fc101";
+ enablenpc "fc103";
+ areaannounce "force_1-1.gat",0,0,350,350,
+ "You cleared Time Attack Level 3.",0;
+ areaannounce "prt_are_in.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 3.",0;
+ areaannounce "prontera.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 3.",0;
+ areaannounce "morocc.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 3.",0;
+ areaannounce "geffen.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 3.",0;
+ areaannounce "payon.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 3.",0;
+ areaannounce "alberta.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 3.",0;
+ areaannounce "izlude.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 3.",0;
+ areaannounce "aldebaran.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 3.",0;
+ areaannounce "prt_are_in.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 3.",0;
+ areaannounce "xmas.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 3.",0;
+ areaannounce "comodo.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 3.",0;
+ areaannounce "prt_gld.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 3.",0;
+ areaannounce "prtg_cas01.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 3.",0;
+ areaannounce "prtg_cas02.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 3.",0;
+ areaannounce "prtg_cas03.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 3.",0;
+ areaannounce "prtg_cas04.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 3.",0;
+ areaannounce "prtg_cas05.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 3.",0;
+ areaannounce "pay_gld.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 3.",0;
+ areaannounce "payg_cas01.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 3.",0;
+ areaannounce "payg_cas02.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 3.",0;
+ areaannounce "payg_cas03.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 3.",0;
+ areaannounce "payg_cas04.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 3.",0;
+ areaannounce "payg_cas05.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 3.",0;
+ areaannounce "yuno.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 3.",0;
+ areaannounce "amatsu.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 3.",0;
+ areaannounce "gonryun.gat",0,0,350,350,
+ strcharinfo(0) + " cleared Time Attack Level 3.",0;
+ addtimer 5000,"arenareturn";
+L_CONT:
+ end;
+}
+
+// Timeout
+force_1-1.gat,25,26,0 script arenalv1fail -1,{
+ set $arena00,99;
+ killmonster "force_1-1.gat","arenalv1mon";
+ killmonster "force_1-1.gat","arenalv2mon";
+ killmonster "force_1-1.gat","arenalv3mon";
+ announce "Time Over!!",3;
+ areaannounce "force_1-1.gat",0,0,350,350,
+ "You failed Time Attack Level 1.",0;
+ areaannounce "prt_are_in.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 1.",0;
+ areaannounce "prontera.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 1.",0;
+ areaannounce "morocc.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 1.",0;
+ areaannounce "geffen.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 1.",0;
+ areaannounce "payon.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 1.",0;
+ areaannounce "alberta.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 1.",0;
+ areaannounce "izlude.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 1.",0;
+ areaannounce "aldebaran.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 1.",0;
+ areaannounce "prt_are_in.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 1.",0;
+ areaannounce "xmas.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 1.",0;
+ areaannounce "comodo.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 1.",0;
+ areaannounce "prt_gld.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 1.",0;
+ areaannounce "prtg_cas01.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 1.",0;
+ areaannounce "prtg_cas02.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 1.",0;
+ areaannounce "prtg_cas03.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 1.",0;
+ areaannounce "prtg_cas04.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 1.",0;
+ areaannounce "prtg_cas05.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 1.",0;
+ areaannounce "pay_gld.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 1.",0;
+ areaannounce "payg_cas01.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 1.",0;
+ areaannounce "payg_cas02.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 1.",0;
+ areaannounce "payg_cas03.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 1.",0;
+ areaannounce "payg_cas04.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 1.",0;
+ areaannounce "payg_cas05.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 1.",0;
+ areaannounce "yuno.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 1.",0;
+ areaannounce "amatsu.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 1.",0;
+ areaannounce "gonryun",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 1.",0;
+ addtimer 5000,"arenareturn";
+}
+
+force_1-1.gat,25,26,0 script arenalv2fail -1,{
+ set $arena00,99;
+ killmonster "force_1-1.gat","arenalv1mon";
+ killmonster "force_1-1.gat","arenalv2mon";
+ killmonster "force_1-1.gat","arenalv3mon";
+ announce "Time Over!!",3;
+ areaannounce "force_1-1.gat",0,0,350,350,
+ "You failed Time Attack Level 2.",0;
+ areaannounce "prt_are_in.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 2.",0;
+ areaannounce "prontera.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 2.",0;
+ areaannounce "morocc.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 2.",0;
+ areaannounce "geffen.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 2.",0;
+ areaannounce "payon.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 2.",0;
+ areaannounce "alberta.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 2.",0;
+ areaannounce "izlude.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 2.",0;
+ areaannounce "aldebaran.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 2.",0;
+ areaannounce "prt_are_in.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 2.",0;
+ areaannounce "xmas.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 2.",0;
+ areaannounce "comodo.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 2.",0;
+ areaannounce "prt_gld.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 2.",0;
+ areaannounce "prtg_cas01.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 2.",0;
+ areaannounce "prtg_cas02.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 2.",0;
+ areaannounce "prtg_cas03.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 2.",0;
+ areaannounce "prtg_cas04.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 2.",0;
+ areaannounce "prtg_cas05.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 2.",0;
+ areaannounce "pay_gld.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 2.",0;
+ areaannounce "payg_cas01.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 2.",0;
+ areaannounce "payg_cas02.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 2.",0;
+ areaannounce "payg_cas03.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 2.",0;
+ areaannounce "payg_cas04.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 2.",0;
+ areaannounce "payg_cas05.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 2.",0;
+ areaannounce "yuno.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 2.",0;
+ areaannounce "amatsu.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 2.",0;
+ areaannounce "gonryun",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 2.",0;
+ addtimer 5000,"arenareturn";
+}
+
+force_1-1.gat,25,26,0 script arenalv3fail -1,{
+ set $arena00,99;
+ killmonster "force_1-1.gat","arenalv1mon";
+ killmonster "force_1-1.gat","arenalv2mon";
+ killmonster "force_1-1.gat","arenalv3mon";
+ announce "Time Over!!",3;
+ areaannounce "force_1-1.gat",0,0,350,350,
+ "You failed Time Attack Level 2.",0;
+ areaannounce "prt_are_in.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 3.",0;
+ areaannounce "prontera.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 3.",0;
+ areaannounce "morocc.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 3.",0;
+ areaannounce "geffen.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 3.",0;
+ areaannounce "payon.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 3.",0;
+ areaannounce "alberta.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 3.",0;
+ areaannounce "izlude.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 3.",0;
+ areaannounce "aldebaran.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 3.",0;
+ areaannounce "prt_are_in.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 3.",0;
+ areaannounce "xmas.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 3.",0;
+ areaannounce "comodo.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 3.",0;
+ areaannounce "prt_gld.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 3.",0;
+ areaannounce "prtg_cas01.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 3.",0;
+ areaannounce "prtg_cas02.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 3.",0;
+ areaannounce "prtg_cas03.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 3.",0;
+ areaannounce "prtg_cas04.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 3.",0;
+ areaannounce "prtg_cas05.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 3.",0;
+ areaannounce "pay_gld.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 3.",0;
+ areaannounce "payg_cas01.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 3.",0;
+ areaannounce "payg_cas02.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 3.",0;
+ areaannounce "payg_cas03.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 3.",0;
+ areaannounce "payg_cas04.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 3.",0;
+ areaannounce "payg_cas05.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 3.",0;
+ areaannounce "yuno.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 3.",0;
+ areaannounce "amatsu.gat",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 3.",0;
+ areaannounce "gonryun",0,0,350,350,
+ strcharinfo(0) + " failed Time Attack Level 3.",0;
+ addtimer 5000,"arenareturn";
+}
+
+// Reminding the player of time constraints.
+force_1-1.gat,25,26,0 script tensecsleft -1,{
+ announce "Ten seconds remaining!",3;
+}
+
+
+// Return to Prontera
+force_1-1.gat,25,26,0 script arenareturn -1,{
+ warp "prontera.gat",156,191;
+}
diff --git a/npc/other/books.txt b/npc/other/books.txt
new file mode 100644
index 000000000..37c9101ae
--- /dev/null
+++ b/npc/other/books.txt
@@ -0,0 +1,2292 @@
+// $Id: books.txt,v 1.1.1.1 2004/09/10 17:26:42 MagicalTux Exp $
+// Changed Mage Guild Book to the correct one (now located in mage.txt)
+// Fixed over 300 spelling/grammar mistakes. (I was that bored!) [Nexon]
+//<--------------- NPCs BOOKS [Update: July. 27, 2004] --------------->\\
+
+//<=========== Library - Begin ==========>\\
+prt_in.gat,159,56,4 script Monster Encyclopedia 111,{
+ mes "^FF0000[Monster Encyclopedia]^000000";
+ mes "This is a Monster Encyclopedia including information of Earth,Fire,Neutral Monsters!";
+ next;
+ menu "Monsters of Earth Property",MonEarPro,"Monsters of Fire Property",MonFirPro,"Monsters of Neutral Property",MonNeuPro,"Cancel",Cancel;
+
+ MonEarPro:
+ menu "Small Size Monster",SmaMonEarPro,"Medium Size Monster",MedMonEarPro,"Great Size Monster",GrMonEarPro,"Cancel",EndMonEarPro;
+
+ SmaMonEarPro:
+ mes "^FF0000[Earth,Small Monster Encyclopedia]^000000";
+ mes "1.Fabre";
+ mes "Larva of Creamy. It is cute when it wiggles,even though it is a weak and small monster,";
+ mes "People often tend to slay Fabres,only for the reason they can get `Feather's,one of required items for `Bunny Band'.";
+ mes "^0099FFFound Items^000000: Feather. Fluff .Green Herb.Clover";
+ next;
+ mes "^FF0000[Earth,Small Monster Encyclopedia]^000000";
+ mes "2.Pupa";
+ mes "Monster on the Fabre's pupal stage. It doesn't attack at all, so easy to kill for Novice people.";
+ mes "^0099FFFound Items^000000: Chrysalis,Sticky Muscus";
+ next;
+ mes "^FF0000[Earth,Small Monster Encyclopedia]^000000";
+ mes "3.Martin";
+ mes "Funny looking Mole wearing a Safety Helmet on the head,which is always busy to walk around.";
+ mes "^0099FFFound Items^000000: Mole Whiskers,Mole Claw";
+ next;
+ mes "^FF0000[Earth,Small Monster Encyclopedia]^000000";
+ mes "3.Savage Bebe";
+ mes "Tiny Pink baby of Savage. Unlike its small size, It is running about fields making annoying noise.";
+ mes "^0099FFFound Items^000000: Leather,Meat,Arrow,Feather";
+ next;
+ mes "^FF0000[Earth,Small Monster Encyclopedia]^000000";
+ mes "4.Andre";
+ mes "A kind of Worker Ants,they are very diligent in their work. They gather everything to save a sufficient stock and are well-cooperative,you need to be careful.";
+ mes "^0099FFFound Items^000000: Worm Peeling,Garlet,Sticky Muscus,Shell";
+ next;
+ mes "^FF0000[Earth,Small Monster Encyclopedia]^000000";
+ mes "5.Coco";
+ mes "Little but fierce-looking eyed Creature carrying an Acorn on both hands. It is very unpleasant when it gives a dirty look,let's give it a lesson.";
+ mes "^0099FFFound Items^000000: Acorn,Fluff,Leather,Sweet Potato";
+ next;
+ mes "^FF0000[Earth,Small Monster Encyclopedia]^000000";
+ mes "6.Piere";
+ mes "A kind of Work Ants,seems to be very diligent. Its appearance is similar with other Ants,but you can easily distinguish them from others as they only gather in a same kind.";
+ mes "^0099FFFound Items^000000: Worm Peeling,Garlet,Sticky Muscus,Shell";
+ next;
+ mes "^FF0000[Earth,Small Monster Encyclopedia]^000000";
+ mes "7.Smokie";
+ mes "It's working out all the time. Often tries to shape shift with Racoon Leaves,but always failed. Back then, it tended to gather stuffs diligently, now it seems to give up.";
+ mes "^0099FFFound Items^000000: Raccon Leaf,Leather,Sweet Potato";
+ next;
+ mes "^FF0000[Earth,Small Monster Encyclopedia]^000000";
+ mes "8.Deniro";
+ mes "A kind of Work Ants, tend to group in a same kind as well as other ants.";
+ mes "^0099FFFound Items^000000: Worm Peeling,Garlet,Sticky Muscus,Shell";
+ next;
+ mes "^FF0000[Earth,Small Monster Encyclopedia]^000000";
+ mes "9.Yoyo";
+ mes "Pink coloured Monkey. Not only they pick up every stuff dropped on the ground outrageously, but they are nimble and cooperative, you must be cautious of being attacked by a group.";
+ mes "^0099FFFound Items^000000: Yoyo Tail,Banana,Yellow Herb,Leather";
+ next;
+ mes "^FF0000[Earth,Small Monster Encyclopedia]^000000";
+ mes "10.Vitata";
+ mes "Work Ants in charge of storing honey inside the body for emergency. It is a little pathetic to see their chubby tummy filled with Honey.";
+ mes "^0099FFFound Items^000000: Worm Peeling,Scell,Honey";
+ next;
+ mes "^FF0000[Earth,Small Monster Encyclopedia]^000000";
+ mes "11.Caramel";
+ mes "Cute porcupine with tiny spiky quills. But don't ever touch it without intention,it will get mad immediately.";
+ mes "^0099FFFound Items^000000: Porcupine Quill,Leather";
+ next;
+ mes "^FF0000[Earth,Small Monster Encyclopedia]^000000";
+ mes "12.Giearth";
+ mes "Little Grampa Pixie. Usually lives in Caves to gather Ores. Even though he is short, but actually an adult. Show your manners.";
+ mes "^0099FFFound Items^000000: Old Pixie's Moustache";
+ next;
+ goto MonEarPro;
+ close;
+ MedMonEarPro:
+ mes "^FF0000[Earth,Medium Monster Encyclopedia]^000000";
+ mes "1.Willow";
+ mes "Creature reborn from a Gigantic Old Tree. Everything like the figure or the sound to related it is eerie.";
+ mes "^0099FFFound Items^000000: Tree Root,Trunk,Red Herb,Sweet Potato";
+ next;
+ mes "^FF0000[Earth,Medium Monster Encyclopedia]^000000";
+ mes "2.Rocker";
+ mes "Lazy Grasshopper which loves playing Violin.";
+ mes "^0099FFFound Items^000000: Grasshopper's Leg,Jellopy";
+ next;
+ mes "^FF0000[Earth,Medium Monster Encyclopedia]^000000";
+ mes "3.Madragora";
+ mes "Stays the same but attacks passengers using Stalks under the ground. Look so Horrible,also attacks Very annoyingly.";
+ mes "^0099FFFound Items^000000: Stem,Green Herb,Shoot";
+ next;
+ mes "^FF0000[Earth,Medium Monster Encyclopedia]^000000";
+ mes "4.Wolf";
+ mes "Wanderers having Blue Manes. They are cooperative,so attack in a group when one got attacked. Let's just let them mind their business and watch.";
+ mes "^0099FFFound Items^000000: Wolf Claw,Meat,Monster's Feed,Leather";
+ next;
+ mes "^FF0000[Earth,Medium Monster Encyclopedia]^000000";
+ mes "5.Snake";
+ mes "Green Coloured Snake living in the Forest or Desert. Not poisonous but be careful.";
+ mes "^0099FFFound Items^000000: Snake Scale,Red Herb";
+ next;
+ mes "^FF0000[Earth,Medium Monster Encyclopedia]^000000";
+ mes "6.Horn";
+ mes "Compliant Insect unlike its offensive appearance. It's wandering about the field making some crunching sound.";
+ mes "^0099FFFound Items^000000: Horn,Shell,Solid Shell";
+ next;
+ mes "^FF0000[Earth,Medium Monster Encyclopedia]^000000";
+ mes "7.Orc Warrior";
+ mes "Self-Confident Warrior of the Orc Tribe.";
+ mes "^0099FFFound Items^000000:Orcish Voucher";
+ next;
+ mes "^FF0000[Earth,Medium Monster Encyclopedia]^000000";
+ mes "8.Hode";
+ mes "Huge earthworm without any more description. Huge earthworm!Usually conceals itself under the ground,commonly found in the Desert.";
+ mes "^0099FFFound Items^000000: Earthworm Peeling,Sticky Muscus";
+ next;
+ mes "^FF0000[Earth,Medium Monster Encyclopedia]^000000";
+ mes "9.Mantis";
+ mes "It wanders about the field waving a tiny fan.";
+ mes "^0099FFFound Items^000000: Mantis Scythe,Scell,Solid Shell,Red Potion";
+ next;
+ mes "^FF0000[Earth,Medium Monster Encyclopedia]^000000";
+ mes "10.Savage";
+ mes "Wild Boar always walking around restlessly,making some noise. It has Big fangs and looks different from the young one.";
+ mes "^0099FFFound Items^000000: Mane,Leather";
+ next;
+ mes "^FF0000[Earth,Medium Monster Encyclopedia]^000000";
+ mes "11.Petite";
+ mes "Tiny little Walking Dragon. It seems like there exists 2 different kinds of Petite, flying one and walking one and this is the 2nd one.";
+ mes "^0099FFFound Items^000000: Dragon Canine,Dragon Tail,Zargon";
+ next;
+ goto MonEarPro;
+ close;
+ GrMonEarPro:
+ mes "^FF0000[Earth,Great Monster Encyclopedia]^000000";
+ mes "1.Worm Tail";
+ mes "Tiny little creature of light green which has a spiky,thin and long stick on the back. Usually it is very gentle but attacks using the stick on the back when got attacked,so be careful!";
+ mes "^0099FFFound Items^000000: Pointed Scale,Yellow Herb";
+ next;
+ mes "^FF0000[Earth,Great Monster Encyclopedia]^000000";
+ mes "2.Muka";
+ mes "Cute Cactus commonly found in the Desert. It tries to threaten passengers with some funny sound but always failed.";
+ mes "^0099FFFound Items^000000: Cactus Needle,Empty Bottle,Green Herb,Red Herb";
+ next;
+ mes "^FF0000[Earth,Great Monster Encyclopedia]^000000";
+ mes "3.Big Foot";
+ mes "Dull-Looking Bear with a huge build. Although it looks dumb but you will realize how it can be fast after you provoke it.";
+ mes "^0099FFFound Items^000000: Bear's Foot Skin,Leather,Sweet Potato";
+ next;
+ mes "^FF0000[Earth,Great Monster Encyclopedia]^000000";
+ mes "4.Flora";
+ mes "Man eater with a big mouth. It pretends just a simple plant but anybody coming near,it rushes into him fiercely.";
+ mes "^0099FFFound Items^000000: Maneater Blossom,Stem";
+ next;
+ goto MonEarPro;
+ close;
+ EndMonEarPro:
+ close;
+ close;
+ MonFirPro:
+ menu "Small Size Monster",SmaMonFirPro,"Medium Size Monster",MedMonFirPro,"Great Size Monster",GrMonFirPro,"Cancel",EndMonFirPro;
+
+ SmaMonFirPro:
+ mes "^FF0000[Fire,Small Monster Encyclopedia]^000000";
+ mes "1.Picky";
+ mes "Cute little chick before Peco Peco. It can't be realized that this little creature grows into a Peco Peco the big,strong bird.";
+ mes "Sometimes you can find a picky with an egg shell which is a bit stronger than a normal picky.";
+ mes "^0099FFFound Items^000000: Feather of Birds. Feather. Red Herb. Milk.";
+ next;
+ mes "^FF0000[Fire,Small Monster Encyclopedia]^000000";
+ mes "2.Baby Desert Wolf";
+ mes "Baby of Desert Wolf,trying to threaten passengers with a big bay.";
+ mes "If you want to pat one of them,because you think it is pretty,don't do that before taking a look around enough. Not babies come to rush you but their parents will assault you at the same time. Parents don't want their babies being harmed.";
+ mes "^0099FFFound Items^000000: Leather,Meat";
+ next;
+ mes "^FF0000[Fire,Small Monster Encyclopedia]^000000";
+ mes "3.Horong";
+ mes "Eerie-looking fireball of violet colour. Recognises the living when gets near.";
+ mes "^0099FFFound Items^000000: Stone Heart,Zargon,Fire Arrow";
+ next;
+ goto MonFirPro;
+ close;
+ MedMonFirPro:
+ mes "^FF0000[Fire,Medium Monster Encyclopedia]^000000";
+ mes "1.Drops";
+ mes "A kind of Poring,but commonly found in the Desert and colors in Pale Orange. It eats everything just like Poring does.";
+ mes "However it seems to be a bit stronger than Poring anyway.";
+ mes "^0099FFFound Items^000000: Jellopy,Sticky Muscus,Apple,Empty Bottle,Red Herb";
+ next;
+ mes "^FF0000[Fire,Medium Monster Encyclopedia]^000000";
+ mes "2.Elder Willow";
+ mes "A kind of Willow but it looks older and colors in red. Frightening as much as Willow.";
+
+ mes "^0099FFFound Items^000000: Resin,Trunk,Sweet Potato";
+ next;
+ mes "^FF0000[Fire,Medium Monster Encyclopedia]^000000";
+ mes "3.Metaller";
+ mes "Evolved one of Rocker. It is dim brown and lives in the Desert. Lazy equally to Rocker,but it steals stuffs on the ground.";
+ mes "^0099FFFound Items^000000: Red Blood,Grasshopper's Leg,Scell,Shell";
+ next;
+ mes "^FF0000[Fire,Medium Monster Encyclopedia]^000000";
+ mes "4.Zerom";
+ mes "Undead Slave who had been extremely abused before he died. He is wandering in the Sphinx,carrying a big box on the back..";
+ mes "^0099FFFound Items^000000: Panties";
+ next;
+ mes "^FF0000[Fire,Medium Monster Encyclopedia]^000000";
+ mes "5.Scorpion";
+ mes "Scorpion spreaded over the Desert. It is dangerous as much as its beautiful colour. Watch out its sharp tail.";
+ mes "^0099FFFound Items^000000: Scorpion Tail,Green Herb,Yellow Herb";
+ next;
+ mes "^FF0000[Fire,Medium Monster Encyclopedia]^000000";
+ mes "6.Desert Wolf";
+ mes "Wolf commonly found in the desert,which is stronger than a Forest one. Take a look around before doing attacks,because Wolf tends to be cooperative each other!";
+ mes "^0099FFFound Items^000000: Leather,Mink Coat,Meat,Wolf Claw";
+ next;
+ mes "^FF0000[Fire,Medium Monster Encyclopedia]^000000";
+ mes "7.Frilldora";
+ mes "Lizard which has a Unique neck. Looks a bit funny but is very Strong unlike its appearance.";
+ mes "^0099FFFound Items^000000: Frill,Reptile Tongue,Red Potion,Zargon";
+ next;
+ mes "^FF0000[Fire,Medium Monster Encyclopedia]^000000";
+ mes "8.Cobold the 3rd";
+ mes "Small monster looks like a Wolf but it is smart enough to handle several tools. It is hostile and strong unlike its appearance. All Cobolds seem to be brothers.";
+ mes "^0099FFFound Items^000000: Blue Hair,Zargon,Orange Potion";
+ next;
+ mes "^FF0000[Fire,Medium Monster Encyclopedia]^000000";
+ mes "9.Jakk";
+ mes "Quite Odd monster in a nice suit,but with a pumpkin head. It looks funny but changes the attitude fiercely when attacks someone.";
+ mes "^0099FFFound Items^000000: Jack'o'Pumpkin,Zargon";
+ next;
+ goto MonFirPro;
+ close;
+ GrMonFirPro:
+ mes "^FF0000[Fire,Great Monster Encyclopedia]^000000";
+ mes "1.Peco Peco";
+ mes "Nowadays peco peco is popular as vehicle for knights. They lives in the Desert or Forest and also cooperative.";
+ mes "^0099FFFound Items^000000: Bill of Birds,Yellow Herb,Red Herb";
+ next;
+ mes "^FF0000[Fire,Great Monster Encyclopedia]^000000";
+ mes "2.Marduk";
+ mes "Unknown monster wearing Catholic uniform and looking serious.";
+ mes "^0099FFFound Items^000000: Flame Heart";
+ next;
+ goto MonFirPro;
+ close;
+ EndMonFirPro:
+ close;
+ close;
+ MonNeuPro:
+ menu "Small Size Monster",SmaMonNeuPro,"Medium Size Monster",MedMonNeuPro,"Great Size Monster",GrMonNeuPro,"Cancel",EndMonNeuPro;
+
+ SmaMonNeuPro:
+ mes "^FF0000[Neutral,Small Monster Encyclopedia]^000000";
+ mes "1.Lunatic";
+ mes "Plump and shaggy monster shaped in Rabbit. However it won't give you a `Bunny Band'.";
+ mes "^0099FFFound Items^000000: Clover,Feather,Carrot,Red Herb";
+ next;
+ mes "^FF0000[Neutral,Small Monster Encyclopedia]^000000";
+ mes "2.Peco Peco Egg";
+ mes "Egg of Peco Peco. It is so tiny that doesn't look like an egg of Big Bird. Novice people love to Crack it because it doesn't attack at all.";
+ mes "^0099FFFound Items^000000: Shell,Red Potion,Empty Bottle";
+ next;
+ mes "^FF0000[Neutral,Small Monster Encyclopedia]^000000";
+ mes "3.Ant Egg";
+ mes "Simple Ant Egg.";
+ mes "^0099FFFound Items^000000: Shell,Jellopy,Sticky Muscus,Empty Bottle";
+ next;
+ mes "^FF0000[Neutral,Small Monster Encyclopedia]^000000";
+ mes "2.Baby Thief Bug";
+ mes "Dirty and filthy Creatures having a strong solidarity with the same kind, eat everything on the ground as well. They are sorted into 3 kinds by the Size and Colour.";
+ mes "^0099FFFound Items^000000: Worm Peeling,Red Herb,Jellopy";
+ next;
+ goto MonNeuPro;
+ close;
+ MedMonNeuPro:
+ mes "^FF0000[Neutral,Medium Monster Encyclopedia]^000000";
+ mes "Unfortunately there is no medium monster of Neutral property which has been discovered so far.";
+ next;
+ goto MonNeuPro;
+ close;
+ GrMonNeuPro:
+ mes "^FF0000[Neutral,Great Monster Encyclopedia]^000000";
+ mes "1.Golem";
+ mes "Living Stone which has spell-bound by Black Magic. Its gigantic body makes its moving slow. Recognizes Magic Spell Casting.";
+ mes "^0099FFFound Items^000000: Scell";
+ next;
+ goto MonNeuPro;
+ close;
+ EndMonNeuPro:
+ close;
+ close;
+ Cancel:
+ close;
+}
+
+prt_in.gat,161,50,4 script Monster Encyclopedia 111,{
+ mes "^FF0000[Monster Encyclopedia]^000000";
+ mes "This is a Monster Encyclopedia including Monsters of Dark,Poison and Undead Property!";
+ next;
+ menu "Monster of Dark Property",MonDrkPro,"Monster of Poison Property",MonPsoPro,"Monster of Undead Property",MonUndPro,"Cancel",Cancel;
+
+ MonDrkPro:
+ menu "Small Size Monster",SmaMonDrkPro,"Medium Size Monster",MedMonDrkPro,"Great Size Monster",GrMonDrkPro,"Cancel",EndMonDrkPro;
+
+ SmaMonDrkPro:
+ mes "^FF0000[Dark,Small Monster Encyclopedia]^000000";
+ mes "1.Thief Bug Egg";
+ mes "Egg of Filthy Bug. Let's cut off the evil at its root.";
+ mes "^0099FFFound Items^000000: Chrysalis,Sticky Muscus";
+ next;
+ mes "^FF0000[Dark,Small Monster Encyclopedia]^000000";
+ mes "2.Familiar";
+ mes "Bat of Violet Colour. Not that strong but really annoying because it attacks very fast and outrageously when somebody gets near it.";
+ mes "^0099FFFound Items^000000: Tooth of Bat,Fly Wing,Grape,Red Herb";
+ next;
+ mes "^FF0000[Dark,Small Monster Encyclopedia]^000000";
+ mes "3.Tarou";
+ mes "Little mouse of white colour. It is squicking very loudly in the Dead Pit or the Prontera Culvert.";
+ mes "^0099FFFound Items^000000: Rat Tail,Leather,Feather,Monster's Feed";
+ next;
+ mes "^FF0000[Dark,Small Monster Encyclopedia]^000000";
+ mes "4.Drainliar";
+ mes "Freaking Bloody bat with a might.";
+ mes "^0099FFFound Items^000000: Tooth of Bat,Red Herb";
+ next;
+ mes "^FF0000[Dark,Small Monster Encyclopedia]^000000";
+ mes "5.Dokebi";
+ mes "Korean Traditional Ghost with Dark Skin. It looks so cute and has a small horn on the head.";
+ mes "^0099FFFound Items^000000: Dokebi Horn";
+ next;
+ mes "^FF0000[Dark,Small Monster Encyclopedia]^000000";
+ mes "6.Deviruchi";
+ mes "Little evil creature,which carries a cute fork with.";
+ mes "^0099FFFound Items^000000: Little Evil Horn,Little Evil Wing,Zargon";
+ next;
+ goto MonDrkPro;
+ close;
+ MedMonDrkPro:
+ mes "^FF0000[Dark,Medium Monster Encyclopedia]^000000";
+ mes "1.Female Thief Bug";
+ mes "Dirty and filthy Creatures having a strong solidarity with the same kind, eat everything on the ground as well. They are sorted into 3 kinds by the Size and Colour.";
+ mes "^0099FFFound Items^000000: Worm Peeling,Red Herb, Jellopy, Garlet. Insect Feeler";
+ next;
+ mes "^FF0000[Dark,Medium Monster Encyclopedia]^000000";
+ mes "2.Male Thief Bug";
+ mes "Dirty and filthy Creatures having a strong solidarity with the same kind, eat everything on the ground as well. They are sorted into 3 kinds by the Size and Colour.";
+ mes "^0099FFFound Items^000000: Worm Peeling,Red Herb, Jellopy, Garlet. Insect Feeler,Yellow Herb";
+ next;
+ mes "^FF0000[Dark,Medium Monster Encyclopedia]^000000";
+ mes "3.Matyr";
+ mes "Creature shaped in Black Dog.";
+ mes "^0099FFFound Items^000000: Monster's Feed,Leather";
+ next;
+ mes "^FF0000[Dark,Medium Monster Encyclopedia]^000000";
+ mes "4.Zenorc";
+ mes "Mutant Orc with a small and short build. It moves around using both hands and feet. It owns High AGI stat,so that it passes off almost every attack.";
+ mes "^0099FFFound Items^000000: Znorc's Fang,Sticky Muscus,Yellow Potion";
+ next;
+ mes "^FF0000[Dark,Medium Monster Encyclopedia]^000000";
+ mes "5.Requiem";
+ mes "It seems like an Ancient Slave,carrying a heavy Coffin on the back.";
+ mes "^0099FFFound Items^000000: Mystic Blue Box";
+ next;
+ mes "^FF0000[Dark,Medium Monster Encyclopedia]^000000";
+ mes "6.Bathory";
+ mes "Witch with a big wen on the nose. She rides on her magic broom flying around in the air.";
+ mes "^0099FFFound Items^000000: Witched Starsand";
+ next;
+ goto MonDrkPro;
+ close;
+ GrMonDrkPro:
+ mes "^FF0000[Dark,Great Monster Encyclopedia]^000000";
+ mes "1.Isis.";
+ mes "Creature having the head and upper body of a woman and the tail of a snake. Her nail is quite a menace.";
+ mes "^0099FFFound Items^000000: Scale Skin,Shining Scale";
+ next;
+ mes "^FF0000[Dark,Great Monster Encyclopedia]^000000";
+ mes "3.Raydric";
+ mes "Ghost Knight of misfortune.";
+ mes "^0099FFFound Items^000000: Elunium, Chivarly Emblem";
+ next;
+ goto MonDrkPro;
+ close;
+ EndMonDrkPro:
+ close;
+ close;
+ MonPsoPro:
+ menu "Small Size Monster",SmaMonPsoPro,"Medium Size Monster",MedMonPsoPro,"Great Size Monster",GrMonPsoPro,"Cancel",EndMonPsoPro;
+
+ SmaMonPsoPro:
+ mes "^FF0000[Poison,Small Monster Encyclopedia]^000000";
+ mes "Unfortunately there is no small monster of Poison Property which has been discovered so far.";
+ next;
+ goto MonPsoPro;
+ close;
+ MedMonPsoPro:
+ mes "^FF0000[Poison,Medium Monster Encyclopedia]^000000";
+ mes "1.Poporing";
+ mes "Poisonous Poring in light green. Every character is the same as poring,but much more stronger.";
+ mes "^0099FFFound Items^000000: Sticky Muscus, Garlet,Green Herb";
+ next;
+ mes "^FF0000[Poison,Medium Monster Encyclopedia]^000000";
+ mes "2.Poison Spore";
+ mes "Poisonous Spore in Violet. Besides,it tends to attack haphazardly if anybody gets near.";
+ mes "^0099FFFound Items^000000: Spore,Green Herb";
+ next;
+ mes "^FF0000[Poison,Medium Monster Encyclopedia]^000000";
+ mes "3.Cobold the 2nd";
+ mes "Small monster looks like a Wolf but it is smart enough to handle several tools. It is hostile and strong unlike its appearance. All Cobolds seem to be brothers.";
+ mes "^0099FFFound Items^000000: Blue Hair,Zargon,Orange Potion";
+ next;
+ mes "^FF0000[Poison,Medium Monster Encyclopedia]^000000";
+ mes "4.Side Winder";
+ mes "Horrendous Snake of Dark colour.";
+ mes "^0099FFFound Items^000000: Shining Scale,Zargon,Poisonous Canine,Snake Scale";
+ next;
+ goto MonPsoPro;
+ close;
+ GrMonPsoPro:
+ mes "^FF0000[Poison,Great Monster Encyclopedia]^000000";
+ mes "1.Argos";
+ mes "Big Spider of Dark colour. It often invades passengers who intend to go over Mt.Mjornir. Be cautious of Argos,if you are the one of those passengers.";
+ mes "^0099FFFound Items^000000: Cobweb,Scell,Bug Leg,Green Herb,Yellow Herb";
+ next;
+ mes "^FF0000[Poison,Great Monster Encyclopedia]^000000";
+ mes "2.Argiope";
+ mes "Monster crawling around with several articular legs.";
+ mes "^0099FFFound Items^000000: Bug Leg,Zargon,Green Herb";
+ next;
+ mes "^FF0000[Poison,Great Monster Encyclopedia]^000000";
+ mes "4.Myst";
+ mes "Mist-like Monster.";
+ mes "^0099FFFound Items^000000: Trunk. Gas Mask";
+ next;
+ goto MonPsoPro;
+ close;
+ EndMonPsoPro:
+ close;
+ close;
+ MonUndPro:
+ menu "Small Size Monster",SmaMonUndPro,"Medium Size Monster",MedMonUndPro,"Great Size Monster",GrMonUndPro,"Cancel",EndMonUndPro;
+
+ SmaMonUndPro:
+ mes "^FF0000[Undead,Small Monster Encyclopedia]^000000";
+ mes "Unfortunately there is no small monster of Undead Property which has been discovered so far.";
+ next;
+ goto MonUndPro;
+ close;
+ MedMonUndPro:
+ mes "^FF0000[Undead,Medium Monster Encyclopedia]^000000";
+ mes "1.Zombie";
+ mes "Bad Case of the Dead which has been reborn as a Walking Corpse by Back magic. Let's lead it to Nirvana.";
+ mes "^0099FFFound Items^000000: Decayed Nail,Sticky Muscus,Horrendous Mouth";
+ next;
+ mes "^FF0000[Undead,Medium Monster Encyclopedia]^000000";
+ mes "2.Megalodon";
+ mes "Skeleton Fish having spooky empty eye-holes.";
+ mes "^0099FFFound Items^000000: Stinky Scale, Skel-Bone";
+ next;
+ mes "^FF0000[Undead,Medium Monster Encyclopedia]^000000";
+ mes "3.Orc Zombie";
+ mes "Corpse of the Orc which has been given a new life by Black magic.";
+ mes "^0099FFFound Items^000000: Orc Claw,Sticky Muscus";
+ next;
+ mes "^FF0000[Undead,Medium Monster Encyclopedia]^000000";
+ mes "4.Pirate Skel";
+ mes "Walking Corpse of a Pirate which had ordered all over the Sea.";
+ mes "^0099FFFound Items^000000: Skel-Bone";
+ next;
+ mes "^FF0000[Undead,Medium Monster Encyclopedia]^000000";
+ mes "5.Orc Skeleton";
+ mes "Ancient Living Skeleton of the Orc which had been buried for a long time. It has Great Power as well as the period of being buried.";
+ mes "^0099FFFound Items^000000: Orc's Fang,Green Potion";
+ next;
+ mes "^FF0000[Undead,Medium Monster Encyclopedia]^000000";
+ mes "6.Soldier Skeleton";
+ mes "Skeleton holding 2 swords on both grips,attacks fast. One of the dangerous monsters in the Cave.";
+ mes "^0099FFFound Items^000000: Skel-Bone,Red Potion";
+ next;
+ mes "^FF0000[Undead,Medium Monster Encyclopedia]^000000";
+ mes "7.Munak";
+ mes "Pretty-looking Female corpse which had been frozen for a long time. She looks like holding a long story deep inside, the story people want to know about. Anyway Don't give her a break,she'll give strong damages on you.";
+ mes "^0099FFFound Items^000000: Daenggie ,Munak Turban";
+ next;
+ mes "^FF0000[Undead,Medium Monster Encyclopedia]^000000";
+ mes "8.Skel Worker";
+ mes "Walking Skeleton which was dead in a mine.";
+ mes "^0099FFFound Items^000000: Iron,Lantern";
+ next;
+ mes "^FF0000[Undead,Medium Monster Encyclopedia]^000000";
+ mes "9.Archer Skeleton";
+ mes "It seems to be an expert of bow when it was alive. It'll come to attack in no time when somebody gets inside of its range.";
+ mes "^0099FFFound Items^000000: Skel-Bone,Fire Arrow,Red Potion";
+ next;
+ mes "^FF0000[Undead,Medium Monster Encyclopedia]^000000";
+ mes "10.Mummy";
+ mes "Walking Corpse with a bandage all around the body. It smells so bad because its body is still on the decomposed stage.";
+ mes "^0099FFFound Items^000000: Rotten Bandage";
+ next;
+ mes "^FF0000[Undead,Medium Monster Encyclopedia]^000000";
+ mes "11.Verit";
+ mes "Dog with a bandage all around the body which was dead once before. It tends to eat everything dropped on the ground.";
+ mes "^0099FFFound Items^000000: Immortal Heart,Zargon,Rotten Bandage";
+ next;
+ mes "^FF0000[Undead,Medium Monster Encyclopedia]^000000";
+ mes "12.Ghoul";
+ mes "Similar as Zombie but much more stronger. Yet very slow, you'd better run for your life when happen to meet this thing.";
+ mes "^0099FFFound Items^000000: Horrendous Mouth";
+ next;
+ goto MonUndPro;
+ close;
+ GrMonUndPro:
+ mes "^FF0000[Undead,Great Monster Encyclopedia]^000000";
+ mes "3.Evil Druid";
+ mes "You'll shudder even once looking at it.";
+ mes "^0099FFFound Items^000000: Amulet,White Herb";
+ next;
+ goto MonUndPro;
+ close;
+ EndMonUndPro:
+ close;
+ close;
+ Cancel:
+ close;
+}
+
+prt_in.gat,162,68,4 script `Merchant Guideline' for Dummies 111,{
+ mes "^FF0000[`Merchant Guideline' for Dummies]^000000";
+ mes "Please go over the next page if you want to check `Vending'.";
+ next;
+ menu "Go over the next page",NextPage,"Close the book",CloseB;
+
+ NextPage:
+ mes "^FF0000[Vending Guide for Dummies]^000000";
+ mes "To Vend a Shop,first you must equip a ^0099FFCart^000000.";
+ mes "You can rent a cart from Kafra. When equipped once,it won't be disappeared as long as you don't take off.";
+ next;
+ mes "^FF0000[Vending Guide for Dummies]^000000";
+ mes "However,this cart diminishes moving speed. You can recover moving speed after learning `Push Cart' the skill.";
+ next;
+ mes "^FF0000[Vending Guide for Dummies]^000000";
+ mes "When learn `Push Cart' over 3 points,it will allow you to learn `Vending'. You can display 3 kinds of item on your shop with Vending at first.";
+ mes "As Vending skill goes higher, it will allow you to display more items.";
+ next;
+ mes "^FF0000[Vending Guide for Dummies]^000000";
+ mes "Let's store things you want to sell in the Cart.";
+ mes "To open Cart Window,Use ^0099FFalt+W^000000 as hotkey. Or it will be open when you click `Item' icon on equipment(alt+Q) window.";
+ next;
+ mes "^FF0000[Vending Guide for Dummies]^000000";
+ mes "Now Use `Vending' skill.2 kinds of Window-`Item Shop' and `Item you want to sell'- will pop up.";
+ next;
+ mes "^FF0000[Vending Guide for Dummies]^000000";
+ mes "On `Item Shop' window,name your shop. Then Drag items onto `Item you want to sell' window and Fix the price.";
+ next;
+ mes "^FF0000[Vending Guide for Dummies]^000000";
+ mes "When close `My Shop' window,your shop will be closed. You can check each price of items with a mouse on the items. Meanwhile it keeps being recorded on Chat window how many items or which kind have been sold.";
+ next;
+ mes "^FF0000[Vending Guide for Dummies]^000000";
+ mes "When every thing's sold out,the shop will be closed automatically.";
+ close;
+ CloseB:
+ close;
+}
+
+prt_in.gat,164,96,4 script Monster Encyclopedia 111,{
+ mes "^FF0000[Dungeon Monster Encyclopedia]^000000";
+ mes "This is an Encyclopedia describing Monsters living in Dungeons.";
+ next;
+ next;
+ menu "Orc Dungeon",OrcDung,"Byalan Cave near Izlude",ByaCave,"Prontera Culvert",PrtCul;
+
+ OrcDung:
+ menu "F1",OrcDungF1,"F2",OrcDungF2,"Cancel",EndOrcDung;
+
+ OrcDungF1:
+ mes "^FF0000[Orc Dungeon 1F Monster Encyclopedia]^000000";
+ mes "1.Chonchon";
+ mes "Flying monsters, they are not strong but make as annoying noises as Roda Frog. Make sure to eliminate them whenever you see.";
+ mes "^0099FFFound Items^000000: Shell, Jellopy, Fly Wing";
+ next;
+ mes "^FF0000[Orc Dungeon 1F Monster Encyclopedia]^000000";
+ mes "2.Familiar";
+ mes "Bat of Violet Colour. Not that strong but really annoying because it attacks very fast and outrageously when somebody gets near it.";
+ mes "^0099FFFound Items^000000: Tooth of Bat,Fly Wing,Grape,Red Herb";
+ next;
+ mes "^FF0000[Orc Dungeon 1F Monster Encyclopedia]^000000";
+ mes "3.Orc Zombie";
+ mes "Corpse of the Orc which has been given a new life by Black magic.";
+ mes "^0099FFFound Items^000000: Orc Claw,Sticky Muscus";
+ next;
+ mes "^FF0000[Orc Dungeon 1F Monster Encyclopedia]^000000";
+ mes "4.Orc Skeleton";
+ mes "Ancient Living Skeleton of the Orc which had been buried for a long time. It has Great Power as well as the period of being buried.";
+ mes "^0099FFFound Items^000000: Orc's Fang,Green Potion";
+ next;
+ goto OrcDung;
+ close;
+ OrcDungF2:
+ mes "^FF0000[Orc Dungeon 2F Monster Encyclopedia]^000000";
+ mes "1.Chonchon";
+ mes "Flying monsters, they are not strong but make as annoying noises as Roda Frog. Make sure to eliminate them whenever you see.";
+ mes "^0099FFFound Items^000000: Shell, Jellopy, Fly Wing";
+ next;
+ mes "^FF0000[Orc Dungeon 2F Monster Encyclopedia]^000000";
+ mes "2.Familiar";
+ mes "Bat of Violet Colour. Not that strong but really annoying because it attacks very fast and outrageously when somebody gets near it.";
+ mes "^0099FFFound Items^000000: Tooth of Bat,Fly Wing,Grape,Red Herb";
+ next;
+ mes "^FF0000[Orc Dungeon 2F Monster Encyclopedia]^000000";
+ mes "3.Orc Skeleton";
+ mes "Ancient Living Skeleton of the Orc which had been buried for a long time. It has Great Power as well as the period of being buried.";
+ mes "^0099FFFound Items^000000: Orc's Fang,Green Potion";
+ next;
+ mes "^FF0000[Orc Dungeon 2F Monster Encyclopedia]^000000";
+ mes "4.Zenorc";
+ mes "Mutant Orc with a small and short build. It moves around using both hands and feet. It owns High AGI stat,so that it passes off almost every attack.";
+ mes "^0099FFFound Items^000000: Znorc's Fang,Sticky Muscus,Yellow Potion";
+ next;
+ goto OrcDung;
+ close;
+ EndOrcDung:
+ close;
+ close;
+ ByaCave:
+ menu "1F",ByaCaveF1,"2F",ByaCaveF2,"3F",ByaCaveF3,"4F",ByaCaveF4,"5F",ByaCaveF5,"Cancel",EndByaCave;
+
+ ByaCaveF1:
+ mes "^FF0000[Byalan Cave 1F Monster Encyclopedia]^000000";
+ mes "1.Plankton";
+ mes "Even though looks like trifle creatures, they fly into a rage when stepped on. They are light, drifting on the water and attack with several projections.";
+ mes "^0099FFFound Items^000000: Single Cell. Garlet. Sticky Muscus. Empty Bottle";
+ next;
+ mes "^FF0000[Byalan Cave 1F Monster Encyclopedia]^000000";
+ mes "2.Kukre";
+ mes "Look better than Thief Bugs but basically do the same thing. But luckily they don't attack players in a group.";
+ mes "^0099FFFound Items^000000: Worm Peeling. Garlet. Monster's Feed. Red Herb. Insect Feeler";
+ next;
+ mes "^FF0000[Byalan Cave 1F Monster Encyclopedia]^000000";
+ mes "3.Hydra";
+ mes "Veggie Monsters which live near water or in the deep sea. Attack using tentacles. When run into them in a group, it will be the pain in the ass. It will be effective to kill one by one before they gather.";
+ mes "^0099FFFound Items^000000: Tentacle. Sticky Muscus. Meat";
+ next;
+ mes "^FF0000[Byalan Cave 1F Monster Encyclopedia]^000000";
+ mes "4.Vadon";
+ mes "They wear thick shells all around the body and walk around tinkling nippers. Also their red color looks so tempting an appetite. Be careful anyway.";
+ mes "^0099FFFound Items^000000: Nipper. Garlet.Solid Shell. Shell";
+ next;
+ mes "^FF0000[Byalan Cave 1F Monster Encyclopedia]^000000";
+ mes "5.Marina";
+ mes "Jelly Fishes of transparent white color. Do flexible attacks stretching its body as long as they can. They live in cool places near water.";
+ mes "^0099FFFound Items^000000: Single Cell. Sticky Muscus";
+ next;
+ goto ByaCave;
+ close;
+ ByaCaveF2:
+ mes "^FF0000[Byalan Cave 2F Monster Encyclopedia]^000000";
+ mes "1.Plankton";
+ mes "Even though looks like trifle creatures, they fly into a rage when stepped on. They are light, drifting on the water and attack with several projections.";
+ mes "^0099FFFound Items^000000: Single Cell. Garlet. Sticky Muscus. Empty Bottle";
+ next;
+ mes "^FF0000[Byalan Cave 2F Monster Encyclopedia]^000000";
+ mes "2.Kukre";
+ mes "Look better than Thief Bugs but basically do the same thing. But luckily they don't attack players in a group.";
+ mes "^0099FFFound Items^000000: Worm Peeling. Garlet. Monster's Feed. Red Herb. Insect Feeler";
+ next;
+ mes "^FF0000[Byalan Cave 2F Monster Encyclopedia]^000000";
+ mes "3.Hydra";
+ mes "Veggie Monsters which live near water or in the deep sea. Attack using tentacles. When run into them in a group, it will be the pain in the ass. It will be effective to kill one by one before they gather.";
+ mes "^0099FFFound Items^000000: Tentacle. Sticky Muscus. Meat";
+ next;
+ mes "^FF0000[Byalan Cave 2F Monster Encyclopedia]^000000";
+ mes "4.Vadon";
+ mes "They wear thick shells all around the body and walk around tinkling nippers. Also their red color looks so tempting an appetite. Be careful anyway.";
+ mes "^0099FFFound Items^000000: Nipper. Garlet.Solid Shell. Shell";
+ next;
+ mes "^FF0000[Byalan Cave 2F Monster Encyclopedia]^000000";
+ mes "5.Marina";
+ mes "Jelly Fishes of transparent white color. Do flexible attacks stretching its body as long as they can. They live in cool places near water.";
+ mes "^0099FFFound Items^000000: Single Cell. Sticky Muscus";
+ next;
+ mes "^FF0000[Byalan Cave 2F Monster Encyclopedia]^000000";
+ mes "6.Thara Frog";
+ mes "Frogs of red color, surely stronger than Roda Frogs. However there is obvious one thing in common about them, annoying croaking noise.";
+ mes "^0099FFFound Items^000000: Spawn, Sticky Webfoot";
+ next;
+ goto ByaCave;
+ close;
+ ByaCaveF3:
+ mes "^FF0000[Byalan Cave 3F Monster Encyclopedia]^000000";
+ mes "1.Hydra";
+ mes "Veggie Monsters which live near water or in the deep sea. Attack using tentacles. When run into them in a group, it will be the pain in the ass. It will be effective to kill one by one before they gather.";
+ mes "^0099FFFound Items^000000: Tentacle. Sticky Muscus. Meat";
+ next;
+ mes "^FF0000[Byalan Cave 3F Monster Encyclopedia]^000000";
+ mes "2.Thara Frog";
+ mes "Frogs of red color, surely stronger than Roda Frogs. However there is obvious one thing in common about them, annoying croaking noise.";
+ mes "^0099FFFound Items^000000: Spawn, Scell, Sticky Webfoot";
+ next;
+ mes "^FF0000[Byalan Cave 3F Monster Encyclopedia]^000000";
+ mes "3.Cornutus";
+ mes "Some buddies concealing themselves within hard turban shells and try to lead a quiet life.";
+ mes "^0099FFFound Items^000000: Conch.Scell.Solid Shell";
+ next;
+ mes "^FF0000[Byalan Cave 3F Monster Encyclopedia]^000000";
+ mes "4.Mars";
+ mes "Have many legs, flapping under the water. Do not rush to it because of its tempting look.";
+ mes "^0099FFFound Items^000000: Squid Ink,Tentacle";
+ next;
+ mes "^FF0000[Byalan Cave 3F Monster Encyclopedia]^000000";
+ mes "5.Obeaune";
+ mes "Female Mermaid. Attacks using long hair, with a grim face.";
+ mes "^0099FFFound Items^000000: Heart of Mermaid,Fin";
+ next;
+ goto ByaCave;
+ close;
+ ByaCaveF4:
+ mes "^FF0000[Byalan Cave 4F Monster Encyclopedia]^000000";
+ mes "1.Hydra";
+ mes "Veggie Monsters which live near water or in the deep sea. Attack using tentacles. When run into them in a group, it will be the pain in the ass. It will be effective to kill one by one before they gather.";
+ mes "^0099FFFound Items^000000: Tentacle.Sticky Muscus.Meat";
+ next;
+ mes "^FF0000[Byalan Cave 4F Monster Encyclopedia]^000000";
+ mes "2.Mars";
+ mes "Have many legs, flapping under the water. Do not rush to it because of its tempting look.";
+ mes "^0099FFFound Items^000000: Squid Ink,Tentacle";
+ next;
+ mes "^FF0000[Byalan Cave 4F Monster Encyclopedia]^000000";
+ mes "3.Obeaune";
+ mes "Female Mermaid. Attacks using long hair, with a grim face.";
+ mes "^0099FFFound Items^000000: Heart of Mermaid,Fin";
+ next;
+ mes "^FF0000[Byalan Cave 4F Monster Encyclopedia]^000000";
+ mes "4.Marine Sphere";
+ mes "Strange, round-shaped monsters beating so fast that they seem like they will burst.";
+ mes "^0099FFFound Items^000000: Tendon. Detonator";
+ next;
+ mes "^FF0000[Byalan Cave 4F Monster Encyclopedia]^000000";
+ mes "5.Phen";
+ mes "Fish of blue color which is kicking and definitely alive.";
+ mes "^0099FFFound Items^000000: Fish Tail,Sharp Scale,Meat,Fin";
+ next;
+ mes "^FF0000[Byalan Cave 4F Monster Encyclopedia]^000000";
+ mes "6.Sword Fish";
+ mes "Fish Monster with a sharp, thin, and long nose. Goggle eyes are funny but it belongs to one of those dangerous monsters.";
+ mes "^0099FFFound Items^000000: Sharp Scale,Gill";
+ next;
+ goto ByaCave;
+ close;
+ ByaCaveF5:
+ mes "^FF0000[Byalan Cave 5F Monster Encyclopedia]^000000";
+ mes "1.Marine Sphere";
+ mes "Strange, round-shaped monsters beating so fast that they seem like they will burst.";
+ mes "^0099FFFound Items^000000: Tendon. Detonator";
+ next;
+ mes "^FF0000[Byalan Cave 5F Monster Encyclopedia]^000000";
+ mes "2.Sword Fish";
+ mes "Fish Monster with a sharp, thin, and long nose. Goggle eyes are funny but it belongs to one of those dangerous monsters.";
+ mes "^0099FFFound Items^000000: Sharp Scale,Gill";
+ next;
+ mes "^FF0000[Byalan Cave 5F Monster Encyclopedia]^000000";
+ mes "3.Mars";
+ mes "Have many legs, flapping under the water. Do not rush to it because of its tempting look.";
+ mes "^0099FFFound Items^000000: Squid Ink,Tentacle";
+ next;
+ mes "^FF0000[Byalan Cave 5F Monster Encyclopedia]^000000";
+ mes "4.Obeaune";
+ mes "Female Mermaid. Attacks using long hair, with a grim face.";
+ mes "^0099FFFound Items^000000: Heart of Mermaid,Fin";
+ next;
+ mes "^FF0000[Byalan Cave 5F Monster Encyclopedia]^000000";
+ mes "5.Marc";
+ mes "Sea Horse. Don't ever think about riding a Sea Horse!";
+ mes "^0099FFFound Items^000000: Gill,Fin";
+ next;
+ mes "^FF0000[Byalan Cave 5F Monster Encyclopedia]^000000";
+ mes "6.Strouf";
+ mes "Fish rarely seen under the deep sea.";
+ mes "^0099FFFound Items^000000: Fin,Feather,Gill";
+ next;
+ goto ByaCave;
+ close;
+ EndByaCave:
+ close;
+ close;
+ PrtCul:
+ menu "1F",PrtCulF1,"2F",PrtCulF2,"3F",PrtCulF3,"4F",PrtCulF4,"Cancel",EndPrtCul;
+
+ PrtCulF1:
+ mes "^FF0000[Prontera Culvert 1F Monster Encyclopedia]^000000";
+ mes "1.Thief Bug Egg";
+ mes "Egg of Filthy Bug. Let's cut off the evil at its root.";
+ mes "^0099FFFound Items^000000: Chrysalis,Sticky Muscus";
+ next;
+ mes "^FF0000[Prontera Culvert 1F Monster Encyclopedia]^000000";
+ mes "2.Thief Bug Baby";
+ mes "Dirty and filthy Creatures having a strong solidarity with the same kind, eat everything on the ground as well. They are sorted into 3 kinds by the Size and Colour.";
+ mes "^0099FFFound Items^000000: Worm Peeling,Red Herb,Jellopy";
+ next;
+ mes "^FF0000[Prontera Culvert 1F Monster Encyclopedia]^000000";
+ mes "3.Familiar";
+ mes "Bat of Violet Colour. Not that strong but really annoying because it attacks very fast and outrageously when somebody gets near it.";
+ mes "^0099FFFound Items^000000: Tooth of Bat,Fly Wing,Grape,Red Herb";
+ next;
+ mes "^FF0000[Prontera Culvert 1F Monster Encyclopedia]^000000";
+ mes "4.Spore";
+ mes "Mushroom-like monsters. Usually live in the Forest or Dungeons. By the way Don't try to eat it!";
+ mes "^0099FFFound Items^000000: Spore,Red Herb,Blue Herb";
+ next;
+ mes "^FF0000[Prontera Culvert 1F Monster Encyclopedia]^000000";
+ mes "5.Tarou";
+ mes "Little mouse of white colour. It is squicking very loudly in the Dead Pit or the Prontera Culvert.";
+ mes "^0099FFFound Items^000000: Rat Tail,Leather,Feather,Monster's Feed";
+ next;
+ goto PrtCul;
+ close;
+ PrtCulF2:
+ mes "^FF0000[Prontera Culvert 2F Monster Encyclopedia]^000000";
+ mes "1.Thief Bug Egg";
+ mes "Egg of Filthy Bug. Let's cut off the evil at its root.";
+ mes "^0099FFFound Items^000000: Chrysalis,Sticky Muscus";
+ next;
+ mes "^FF0000[Prontera Culvert 2F Monster Encyclopedia]^000000";
+ mes "2.Thief Bug Baby";
+ mes "Dirty and filthy Creatures having a strong solidarity with the same kind, eat everything on the ground as well. They are sorted into 3 kinds by the Size and Colour.";
+ mes "^0099FFFound Items^000000: Worm Peeling,Red Herb,Jellopy";
+ next;
+ mes "^FF0000[Prontera Culvert 2F Monster Encyclopedia]^000000";
+ mes "3.Familiar";
+ mes "Bat of Violet Colour. Not that strong but really annoying because it attacks very fast and outrageously when somebody gets near it.";
+ mes "^0099FFFound Items^000000: Tooth of Bat,Fly Wing,Grape,Red Herb";
+ next;
+ mes "^FF0000[Prontera Culvert 2F Monster Encyclopedia]^000000";
+ mes "4.Spore";
+ mes "Mushroom-like monsters. Usually live in the Forest or Dungeons. By the way Don't try to eat it!";
+ mes "^0099FFFound Items^000000: Spore,Red Herb,Blue Herb";
+ next;
+ mes "^FF0000[Prontera Culvert 2F Monster Encyclopedia]^000000";
+ mes "5.Tarou";
+ mes "Little mouse of white colour. It is squicking very loudly in the Dead Pit or the Prontera Culvert..";
+ mes "^0099FFFound Items^000000: Rat Tail,Leather,Feather,Monster's Feed";
+ next;
+ mes "^FF0000[Prontera Culvert 2F Monster Encyclopedia]^000000";
+ mes "6.Plankton";
+ mes "Even though looks like trifle creatures, they fly into a rage when stepped on. They are light, drifting on the water and attack with several projections.";
+ mes "^0099FFFound Items^000000: Single Cell.Garlet.Sticky Muscus.Empty Bottle";
+ next;
+ mes "^FF0000[Prontera Culvert 2F Monster Encyclopedia]^000000";
+ mes "7.Hydra";
+ mes "Veggie Monsters which live near water or in the deep sea. Attack using tentacles. When run into them in a group, it will be the pain in the ass. It will be effective to kill one by one before they gather.";
+ mes "^0099FFFound Items^000000: Tentacle.Sticky Muscus.Meat";
+ next;
+ mes "^FF0000[Prontera Culvert 2F Monster Encyclopedia]^000000";
+ mes "8.Female Thief Bug";
+ mes "Dirty and filthy Creatures having a strong solidarity with the same kind, eat everything on the ground as well. They are sorted into 3 kinds by the Size and Colour.";
+ mes "^0099FFFound Items^000000: Worm Peeling,Red Herb,Jellopy,Garlet.Insect Feeler";
+ next;
+ goto PrtCul;
+ close;
+ PrtCulF3:
+ mes "^FF0000[Prontera Culvert 3F Monster Encyclopedia]^000000";
+ mes "1.Thief Bug Egg";
+ mes "Egg of Filthy Bug. Let's cut off the evil at its root.";
+ mes "^0099FFFound Items^000000: Chrysalis,Sticky Muscus";
+ next;
+ mes "^FF0000[Prontera Culvert 3F Monster Encyclopedia]^000000";
+ mes "2.Thief Bug Baby";
+ mes "Dirty and filthy Creatures having a strong solidarity with the same kind, eat everything on the ground as well. They are sorted into 3 kinds by the Size and Colour.";
+ mes "^0099FFFound Items^000000: Worm Peeling,Red Herb,Jellopy";
+ next;
+ mes "^FF0000[Prontera Culvert 3F Monster Encyclopedia]^000000";
+ mes "3.Female Thief Bug";
+ mes "Dirty and filthy Creatures having a strong solidarity with the same kind, eat everything on the ground as well. They are sorted into 3 kinds by the Size and Colour.";
+ mes "^0099FFFound Items^000000: Worm Peeling,Red Herb,Jellopy,Garlet.Insect Feeler";
+ next;
+ mes "^FF0000[Prontera Culvert 3F Monster Encyclopedia]^000000";
+ mes "4.Tarou";
+ mes "Little mouse of white colour. It is squicking very loudly in the Dead Pit or the Prontera Culvert..";
+ mes "^0099FFFound Items^000000: Rat Tail,Leather,Feather,Monster's Feed";
+ next;
+ mes "^FF0000[Prontera Culvert 3F Monster Encyclopedia]^000000";
+ mes "5.Familiar";
+ mes "Bat of Violet Colour. Not that strong but really annoying because it attacks very fast and outrageously when somebody gets near it.";
+ mes "^0099FFFound Items^000000: Tooth of Bat,Fly Wing,Grape,Red Herb";
+ next;
+ mes "^FF0000[Prontera Culvert 3F Monster Encyclopedia]^000000";
+ mes "6.Poporing";
+ mes "Poisonous Poring in light green. Every character is the same as poring,but much more stronger.";
+ mes "^0099FFFound Items^000000: Sticky Muscus,Garlet,Green Herb";
+ next;
+ goto PrtCul;
+ close;
+ PrtCulF4:
+ mes "^FF0000[Prontera Culvert 4F Monster Encyclopedia]^000000";
+ mes "1.Thief Bug Egg";
+ mes "Egg of Filthy Bug. Let's cut off the evil at its root.";
+ mes "^0099FFFound Items^000000: Chrysalis,Sticky Muscus";
+ next;
+ mes "^FF0000[Prontera Culvert 4F Monster Encyclopedia]^000000";
+ mes "2.Thief Bug Baby";
+ mes "Dirty and filthy Creatures having a strong solidarity with the same kind, eat everything on the ground as well. They are sorted into 3 kinds by the Size and Colour.";
+ mes "^0099FFFound Items^000000: Worm Peeling,Red Herb,Jellopy";
+ next;
+ mes "^FF0000[Prontera Culvert 4F Monster Encyclopedia]^000000";
+ mes "3.Female Thief Bug";
+ mes "Dirty and filthy Creatures having a strong solidarity with the same kind, eat everything on the ground as well. They are sorted into 3 kinds by the Size and Colour.";
+ mes "^0099FFFound Items^000000: Worm Peeling,Red Herb,Jellopy,Garlet.Insect Feeler";
+ next;
+ mes "^FF0000[Prontera Culvert 4F Monster Encyclopedia]^000000";
+ mes "4.Male Thief Bug";
+ mes "Dirty and filthy Creatures having a strong solidarity with the same kind, eat everything on the ground as well. They are sorted into 3 kinds by the Size and Colour.";
+ mes "^0099FFFound Items^000000: Worm Peeling,Red Herb,Jellopy,Garlet.Insect Feeler,Yellow Herb";
+ next;
+ mes "^FF0000[Prontera Culvert 4F Monster Encyclopedia]^000000";
+ mes "5.Golden Thief Bug";
+ mes "Impertinent Thief Bug of Golden Colour,wearing a solid shell all around the body. It's rarely seen by humans eye.";
+ mes "^0099FFFound Items^000000: Blue Herb,Gold,Ora Ora,Insect Feeler";
+ next;
+ goto PrtCul;
+ close;
+ EndPrtCul:
+ close;
+ close;
+ Cancel:
+ close;
+}
+
+prt_in.gat,164,102,4 script Monster Encyclopedia 111,{
+ mes "^FF0000[Dungeon Monster Encyclopedia]^000000";
+ mes "The is an Encyclopedia describing Monsters living in Dungeons.";
+ next;
+ menu "Sunken ship near Alberta",SunkShip,"Prontera Maze",PrtMaze;
+
+ SunkShip:
+ menu "F1",SunkShipF1,"F2",SunkShipF2,"Cancel",EndSunkShip;
+
+ SunkShipF1:
+ mes "^FF0000[Sunken Ship 1F Monster Encyclopedia]^000000";
+ mes "1. Plankton";
+ mes "Even though looks like trifle creatures, they fly into a rage when stepped on. They are light, drifting on the water and attack with serveral projections.";
+ mes "^0099FFFound Items:^000000 Single Cell. Garlet. Sticky Mocus. Empty Bottle";
+ next;
+ mes "^FF0000[Sunken Ship 1F Monster Encyclopedia]^000000";
+ mes "2. Kukre";
+ mes "Look better than Thief Bugs but basically do the same thing. But luckily they don't attack players in a group.";
+ mes "^0099FFFound Items:^000000 Worm Peeling. Garlet. Monster's Feed. Red Herb. Insect Feeler";
+ next;
+ mes "^FF0000[Sunken Ship 1F Monster Encyclopedia]^000000";
+ mes "3. Hydra";
+ mes "Veggie Monsters which live near water or in the deep sea. Attack using tentacles. When run into them in a group, it will be in the ass. It will be effective to kill one by one before they gather.";
+ mes "^0099FFFound Items:^000000 Tentacles. Sticky Mocus. Meat";
+ next;
+ mes "^FF0000[Sunken Ship 1F Monster Encyclopedia]^000000";
+ mes "4. Poporing";
+ mes "Poisonous Poring in light green. Every character is the same as poring, but much more stronger.";
+ mes "^0099FFFound Items:^000000 Skicky Mocus. Garlet. Green Herb";
+ next;
+ mes "^FF0000[Sunken Ship 1F Monster Encyclopedia]^000000";
+ mes "5. Poison Spore";
+ mes "Poisonous Spore in Violet. Besides, it tends to attack haphazardly if anybody gets near.";
+ mes "^0099FFFound Items:^000000 Spore. Green Herb";
+ next;
+ mes "^FF0000[Sunken Ship 1F Monster Encyclopedia]^000000";
+ mes "6. Pirate Skel";
+ mes "Walking Corpse of a Pirate which had ordered all over the Sea.";
+ mes "^0099FFFound Items:^000000 Skel-Bone";
+ next;
+ goto SunkShip;
+ close;
+ SunkShipF2:
+ mes "^FF0000[Sunken Ship 2F Monster Encyclopedia]^000000";
+ mes "1. Kukre";
+ mes "Look better than Thief Bugs but basically do the same thing. But luckily they don't attack players in a group.";
+ mes "^0099FFFound Items:^000000 Worm Peeling. Garlet. Monster's Feed. Red Herb. Insect Feeler";
+ next;
+ mes "^FF0000[Sunken Ship 2F Monster Encyclopedia]^000000";
+ mes "2. Hydra";
+ mes "Veggie Monsters which live near water or in the deep sea. Attack using tentacles. When run into them in a group, it will be in the ass. It will be effective to kill one by one before they gather.";
+ mes "^0099FFFound Items:^000000 Tentacles. Sticky Mocus. Meat";
+ next;
+ mes "^FF0000[Sunken Ship 2F Monster Encyclopedia]^000000";
+ mes "3. Poporing";
+ mes "Poisonous Poring in light green. Every character is the same as poring, but much more stronger.";
+ mes "^0099FFFound Items:^000000 Skicky Mocus. Garlet. Green Herb";
+ next;
+ mes "^FF0000[Sunken Ship 2F Monster Encyclopedia]^000000";
+ mes "4. Thara Frogs";
+ mes "Frogs of red color, surely stronger than Roda Frogs. However there is obvious one thing in common about them, annoying croaking noise.";
+ mes "^0099FFFound Items:^000000 Spawn. Scell. Skicky Webfoot";
+ next;
+ mes "^FF0000[Sunken Ship 2F Monster Encyclopedia]^000000";
+ mes "5. Whisper";
+ mes "Living Fabric, which gives spooking feeling.";
+ mes "^0099FFFound Items:^000000 Fabric";
+ next;
+ mes "^FF0000[Sunken Ship 2F Monster Encyclopedia]^000000";
+ mes "6. Megalodon";
+ mes "Skeleton Fish having spooky empty eye-holes.";
+ mes "^0099FFFound Items:^000000 Skinky Scale. Skel-Bone";
+ next;
+ mes "^FF0000[Sunken Ship 2F Monster Encyclopedia]^000000";
+ mes "7. Pirate Skel";
+ mes "Walking Corpse of a Pirate which had ordered all over the Sea.";
+ mes "^0099FFFound Items:^000000 Skel-Bone";
+ next;
+ mes "^FF0000[Sunken Ship 2F Monster Encyclopedia]^000000";
+ mes "8. Marionette";
+ mes "Monster reborn from bewitched Doll, bound to strings on Wooden Sticks.";
+ mes "^0099FFFound Items:^000000 Skinky Golden Hair, Trunk";
+ next;
+ mes "9. Drake";
+ mes "Awfully Strong Monster which looks like the Captain of this Sunken Ship.";
+ mes "^0099FFFound Items:^000000 Skel-Bone. White";
+ next;
+ goto SunkShip;
+ close;
+ EndSunkShip:
+ close;
+ PrtMaze:
+ menu "F1",PrtMazeF1,"F3",PrtMazeF3,"Cancel",EndPrtMaze;
+
+ PrtMazeF1:
+ mes "^FF0000[Prontera Maze 1F Monster Encyclopedia]^000000";
+ mes "1. Poring";
+ mes "Small and circular monsters of transparent pink color. Swallow anything on the ground with sparkling eyes, without any hesitations. No matter what kind of things dropped.";
+ mes "They tend to eat first. So be cautious when you put down drop something on the ground. But don't worry. They are not strong, and you will get your back once you kill the monster, which eat your stuff.";
+ mes "^0099FFFound Items:^000000 Jellopy. Skicky Mocus. Apple. Empty Bottle. Red Herb";
+ next;
+ mes "^FF0000[Prontera Maze 1F Monster Encyclopedia]^000000";
+ mes "2. Lunatic";
+ mes "Plump and shaggy monster shaped in Rabbit. However it won't give you `Bunny Band'.";
+ mes "^0099FFFound Items:^000000 Clover. Feather. Carrot. Red Herb";
+ next;
+ mes "^FF0000[Prontera Maze 1F Monster Encyclopedia]^000000";
+ mes "3. Fabre";
+ mes "Larva of Creamy. It is cute when it wiggles, even though it is a weak and small monster,";
+ mes "People often tends to slay Fabres, only for the reason they can get `Feather's', one of required items for `Bunny Band'.";
+ mes "^0099FFFound Items:^000000 Fluff. Feather. Green Herb. Clover";
+ next;
+ mes "^FF0000[Prontera Maze 1F Monster Encyclopedia]^000000";
+ mes "4. Creamy";
+ mes "Monster with Beautiful Wings. `Hah~ it's just a butterfly!'. Careless thinking like this will make you bleeding~! It is much stronger then you expect. Be careful!";
+ mes "^0099FFFound Items:^000000 Powder of Butterfly. Honey. Butterfly Wing. Flower";
+ next;
+ mes "^FF0000[Prontera Maze 1F Monster Encyclopedia]^000000";
+ mes "5. Pupa";
+ mes "Monster on the Fabre's pupal stage. It doesn't attack at all, so easy to kill for Novice people.";
+ mes "^0099FFFound Items:^000000 Chrysalis. Sticky Mocus";
+ next;
+ mes "^FF0000[Prontera Maze 1F Monster Encyclopedia]^000000";
+ mes "6. Poporing";
+ mes "Poisonous Poring in light green. Every character is the same as poring, but much more stronger.";
+ mes "^0099FFFound Items:^000000 Skicky Mocus. Garlet. Green Herb";
+ next;
+ mes "^FF0000[Prontera Maze 1F Monster Encyclopedia]^000000";
+ mes "7. Rocker";
+ mes "Lazy Grasshopper which loves playing Violin.";
+ mes "^0099FFFound Items:^000000 Grasshopper's Leg. Jellopy";
+ next;
+ mes "^FF0000[Prontera Maze 1F Monster Encyclopedia]^000000";
+ mes "8. Big Foot";
+ mes "Dull-Looking Bear with a huge build. Although it looks dumb but you will realize how it can be fast after you provoke it.";
+ mes "^0099FFFound Items:^000000 Bear's Foot Skin. Leather. Sweet Potato";
+ next;
+ mes "^FF0000[Prontera Maze 1F Monster Encyclopedia]^000000";
+ mes "9. Smokie";
+ mes "It's working out all the time. Often tries to shape shift with Raccon Leaves, but always failed. Back then, it tended to gather stuffs diligently, now it seems to give up.";
+ mes "^0099FFFound Items:^000000 Raccon Leaf. Leather. Sweet Potato";
+ next;
+ mes "10. Snake";
+ mes "Green Coloured Snake living in the Forest or Desert. Not poisonous but be careful.";
+ mes "^0099FFFound Items:^000000 Snake Scale. Red Herb";
+ next;
+ mes "^FF0000[Prontera Maze 1F Monster Encyclopedia]^000000";
+ mes "11.Wolf";
+ mes "Wanderers having Blue Manes. They are cooperative,so attack in a group when one got attacked. Let's just let them mind their business and watch.";
+ mes "^0099FFFound Items^000000: Wolf Claw,Meat,Monster's Feed,Leather";
+ next;
+ mes "^FF0000[Prontera Maze 1F Monster Encyclopedia]^000000";
+ mes "12.Argiope";
+ mes "Monster crawling around with several articular legs.";
+ mes "^0099FFFound Items^000000: Bug Leg,Zargon,Green Herb";
+ next;
+ mes "^FF0000[Prontera Maze 1F Monster Encyclopedia]^000000";
+ mes "13.Argos";
+ mes "Big Spider of Dark colour. It often invades people lost in the Maze.";
+ mes "^0099FFFound Items^000000: Cobweb,Scell,Bug Leg,Green Herb,Yellow Herb";
+ next;
+ mes "^FF0000[Prontera Maze 1F Monster Encyclopedia]^000000";
+ mes "14.Chonchon";
+ mes "Flying monsters, they are not strong but make as annoying noises as Roda Frog. Make sure to eliminate them whenever you see.";
+ mes "^0099FFFound Items^000000: Shell,Jellopy,Fly Wing";
+ next;
+ mes "^FF0000[Prontera Maze 1F Monster Encyclopedia]^000000";
+ mes "15.Horn";
+ mes "Compliant Insect unlike its offensive appearance. It's wandering about the field making some crunching sound.";
+ mes "^0099FFFound Items^000000: Horn,Shell,Solid Shell";
+ next;
+ mes "^FF0000[Prontera Maze 1F Monster Encyclopedia]^000000";
+ mes "16.Hunter Fly";
+ mes "Winged insect of Blood. It is Strong meanwhile very annoying. Be advised, you'd better flee away if you can.";
+ mes "^0099FFFound Items^000000: Solid Shell,Zargon";
+ next;
+ mes "^FF0000[Prontera Maze 1F Monster Encyclopedia]^000000";
+ mes "17.Mantis";
+ mes "It wanders about the field waving a tiny fan.";
+ mes "^0099FFFound Items^000000: Mantis Scythe,Scell,Solid Shell,Red Potion";
+ next;
+ mes "^FF0000[Prontera Maze 1F Monster Encyclopedia]^000000";
+ mes "18.Steiner";
+ mes "Tiny little insect with a Splendid shell. Don't ever look down upon it. It is stronger than you expect. Besides it recognizes Magical Spell Casting.";
+ mes "^0099FFFound Items^000000: Rainbow Shell,Garlet,Shell,Solid Shell";
+ next;
+ mes "^FF0000[Prontera Maze 1F Monster Encyclopedia]^000000";
+ mes "19.Side Winder";
+ mes "Horrendous Snake of Dark colour.";
+ mes "^0099FFFound Items^000000: Shining Scale,Zargon,Poisonous Canine,Snake Scale";
+ next;
+ mes "^FF0000[Prontera Maze 1F Monster Encyclopedia]^000000";
+ mes "20.Yoyo";
+ mes "Pink coloured Monkey. Not only they pick up every stuff dropped on the gound outrageously, but they are nimble and cooperative,you must be cautious of being attacked by a group.";
+ mes "^0099FFFound Items^000000: Yoyo Tail,Banana,Yellow Herb,Leather";
+ next;
+ mes "^FF0000[Prontera Maze 1F Monster Encyclopedia]^000000";
+ mes "^FF0000[Earth,Small Monster Encyclopedia]^000000";
+ mes "21.Caramel";
+ mes "Cute porcupine with tiny spiky quills. But don't ever touch it without intention,it will get mad immeduately.";
+ mes "^0099FFFound Items^000000: Porcupine Quill,Leather";
+ next;
+ mes "^FF0000[Prontera Maze 1F Monster Encyclopedia]^000000";
+ mes "22.Steel Chonchon";
+ mes "This is similar as Chonchon, but in yellow and green. Picks up every stuff on the ground. It is strong and well-cooperative with its fellows, so don't forget to get items before it picks up.";
+ mes "^0099FFFound Items^000000: Garlet,Shell,Solid Shell";
+ next;
+ mes "^FF0000[Prontera Maze 1F Monster Encyclopedia]^000000";
+ mes "23.Coco";
+ mes "Little but fierce-looking eyed Creature carrying an Acorn on both hands. It is very unpleasant when it gives a dirty look,let's give it a lesson.";
+ mes "^0099FFFound Items^000000: Acorn,Fluff,Leather,Sweet Potato";
+ next;
+ mes "^FF0000[Prontera Maze 1F Monster Encyclopedia]^000000";
+ mes "24.Dustiness";
+ mes "This monster owns high dodge rate because it is flying. Need to be attentive if you want to attack.";
+ mes "^0099FFFound Items^000000: Moth Dust,Moth Wing,Insect Feeler,Red Herb";
+ next;
+ mes "^FF0000[Prontera Maze 1F Monster Encyclopedia]^000000";
+ mes "25.Martin";
+ mes "Funny looking Mole wearing a Safety Helmet on the head,which is always busy to walk around.";
+ mes "^0099FFFound Items^000000: Mole Whiskers,Mole Claw";
+ next;
+ mes "^FF0000[Prontera Maze 1F Monster Encyclopedia]^000000";
+ mes "26.Savage";
+ mes "Wild Boar always walking around restlessly,making some noise. It has Big fangs and looks different from the young one.";
+ mes "^0099FFFound Items^000000: Mane,Leather";
+ next;
+ goto PrtMaze;
+ close;
+ PrtMazeF3:
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "1.Poring";
+ mes "Small and circular monsters of transparent pink color. Swallow anything on the ground with sparkling eyes, without any hesitations. No matter what kind of things dropped,";
+ mes "They tend to eat first. So be cautious when you put down drop something on the ground. But don't worry. They are not strong, and you will get yours back once you kill the monster, which eat your stuff.";
+ mes "^0099FFFound Items^000000: Jellopy.Sticky Muscus.Apple.Empty Bottle.Red Herb";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "2.Lunatic";
+ mes "Plump and shaggy monster shaped in Rabbit. However it won't give you a `Bunny Band'.";
+ mes "^0099FFFound Items^000000: Clover,Feather,Carrot,Red Herb";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "3.Fabre";
+ mes "Larva of Creamy. It is cute when it wiggles,even though it is a weak and small monster,";
+ mes "People often tend to slay Fabres,only for the reason they can get `Feather's,one of required items for `Bunny Band'.";
+ mes "^0099FFFound Items^000000: Fluff.Feather.Green Herb.Clover";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "4.Creamy";
+ mes "Monster with Beautiful Wings. `Hah~ it's just a butterfly!'. Careless thinking like this will make you bleeding~! It is much stronger than you expect. Be careful!";
+ mes "^0099FFFound Items^000000: Powder of Butterfly,Honey,Butterfly Wing,Flower";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "5.Pupa";
+ mes "Monster on the Fabre's pupal stage. It doesn't attack at all, so easy to kill for Novice people.";
+ mes "^0099FFFound Items^000000: Chrysalis,Sticky Muscus";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "6.Poporing";
+ mes "Poisonous Poring in light green. Every character is the same as poring,but much more stronger.";
+ mes "^0099FFFound Items^000000: Sticky Muscus,Garlet,Green Herb";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "7.Rocker";
+ mes "Lazy Grasshopper which loves playing Violin.";
+ mes "^0099FFFound Items^000000: Grasshopper's Leg,Jellopy";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "8.Big Foot";
+ mes "Dull-Looking Bear with a huge build. Although it looks dumb but you will realize how it can be fast after you provoke it.";
+ mes "^0099FFFound Items^000000: Bear's Foot Skin,Leather,Sweet Potato";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "9.Smokie";
+ mes "It's working out all the time. Often tries to shape shift with Raccon Leaves,but always failed. Back then, it tended to gather stuffs diligently, now it seems to give up.";
+ mes "^0099FFFound Items^000000: Raccon Leaf,Leather,Sweet Potato";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "10.Snake";
+ mes "Green Coloured Snake living in the Forest or Desert. Not poisonous but be careful.";
+ mes "^0099FFFound Items^000000: Snake Scale,Red Herb";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "11.Wolf";
+ mes "Wanderers having Blue Manes. They are cooperative,so attack in a group when one got attacked. Let's just let them mind their business and watch.";
+ mes "^0099FFFound Items^000000: Wolf Claw,Meat,Monster's Feed,Leather";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "12.Argiope";
+ mes "Monster crawling around with several articular legs.";
+ mes "^0099FFFound Items^000000: Bug Leg,Zargon,Green Herb";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "13.Argos";
+ mes "Big Spider of Dark colour. It often invades passengers.";
+ mes "^0099FFFound Items^000000: Cobweb,Scell,Bug Leg,Green Herb,Yellow Herb";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "14.Horn";
+ mes "Compliant Insect unlike its offensive appearance. It's wandering about the field making some crunching sound.";
+ mes "^0099FFFound Items^000000: Horn,Shell,Solid Shell";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "15.Hunter Fly";
+ mes "Winged insect of Blood. It is Strong meanwhile very annoying. Be advised, you'd better flee away if you can.";
+ mes "^0099FFFound Items^000000: Solid Shell,Zargon";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "16.Mantis";
+ mes "It wanders about the field waving a tiny fan.";
+ mes "^0099FFFound Items^000000: Mantis Scythe,Scell,Solid Shell,Red Potion";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "17.Steiner";
+ mes "Tiny little insect with a Splendid shell. Don't ever look down upon it. It is stronger than you expect. Besides it recognizes Magical Spell Casting.";
+ mes "^0099FFFound Items^000000: Rainbow Shell,Garlet,Shell,Solid Shell";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "18.Side Winder";
+ mes "Horrendous Snake of Dark colour.";
+ mes "^0099FFFound Items^000000: Shining Scale,Zargon,Poisonous Canine,Snake Scale";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "19.Yoyo";
+ mes "Pink coloured Monkey. Not only they pick up every stuff dropped on the ground outrageously, but they are nimble and cooperative,you must be cautious of being attacked by a group.";
+ mes "^0099FFFound Items^000000: Yoyo Tail,Banana,Yellow Herb,Leather";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "20.Caramel";
+ mes "Cute porcupine with tiny spiky quills. But don't ever touch it without intention,it will get mad immediately.";
+ mes "^0099FFFound Items^000000: Porcupine Quill,Leather";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "21.Steel Chonchon";
+ mes "This is similar as Chonchon, but in yellow and green. Picks up every stuff on the ground. It is strong and well-cooperative with its fellows, so don't forget to get items before it picks up.";
+ mes "^0099FFFound Items^000000: Garlet,Shell,Solid Shell";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "22.Coco";
+ mes "Little but fierce-looking eyed Creature carrying an Acorn on both hands. It is very unpleasant when it gives a dirty look,let's give it a lesson.";
+ mes "^0099FFFound Items^000000: Acorn,Fluff,Leather,Sweet Potato";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "23.Dustiness";
+ mes "This monster owns high dodge rate because it is flying. Need to be attentive if you want to attack.";
+ mes "^0099FFFound Items^000000: Moth Dust,Moth Wing,Insect Feeler,Red Herb";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "24.Martin";
+ mes "Funny looking Mole wearing a Safety Helmet on the head,which is always busy to walk around.";
+ mes "^0099FFFound Items^000000: Mole Whiskers,Mole Claw";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "25.Savage";
+ mes "Wild Boar always walking around restlessly,making some noise. It has Big fangs and looks different from the young one.";
+ mes "^0099FFFound Items^000000: Mane,Leather";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "26.Savage Bebe";
+ mes "Tiny Pink baby of Savage. Unlike its small size, It is running about fields making annoying noise";
+ mes "^0099FFFound Items^000000: Leather,Meat,Arrow,Feather";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "27.Mastering";
+ mes "Giant Poring rarely seen in the Morroc Desert,Mt.Mjornir or the Prontera Maze. It might be the leader of Porings. Surely stronger than normal Porings but, still it can't be more than a Poring anyway.";
+ mes "^0099FFFound Items^000000: Apple,Apple Juice";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "28.Eclipse";
+ mes "Giant Lunatic which might be the Boss among Lunatics!It does weak attacks but is highly defensive at the same time.";
+ mes "^0099FFFound Items^000000: Carrot,Glass Bead,Milk,Carrot Juice";
+ next;
+ mes "^FF0000[Prontera Maze 3F Monster Encyclopedia]^000000";
+ mes "29.Baphomet";
+ mes "Dreadful Monster having huge horns on the head. It uses a Gargantuan Scythe to slay foes,often attacks with bare hands.";
+ mes "^0099FFFound Items^000000: Evil Horn,Yggdrasilberry,Leather,Oridecon";
+ next;
+ EndPrtMaze:
+ close;
+}
+
+prt_in.gat,168,56,4 script Monster Encyclopedia 111,{
+ mes "^FF0000[Monster Encyclopedia]^000000";
+ mes "I am a Monster Encyclopedia, you can check several types of Monster with me.";
+ next;
+ menu "Monsters of Water Property",MonWatPro,"Monsters of Wind Property",MonWinPro,"Monsters of Spiritual Property",MonSpiPro,"Cancel",Cancel;
+
+ MonWatPro:
+ menu "Small Size Monster",SmaMonWatPro,"Medium Size Monster",MidMonWatPro,"Great Size Monster",GrMonWatPro,"Cancel",EndWatPro;
+
+ SmaMonWatPro:
+ mes "^FF0000[Water, Small Monster Encyclopedia]^000000";
+ mes "1.Plankton";
+ mes "Even though looks like trifle creatures, they fly into a rage when stepped on. They are light, drifting on the water and attack with several projections.";
+ mes "^0099FFFound Items^000000: Single Cell. Garlet. Sticky Muscus. Empty Bottle";
+ next;
+ mes "^FF0000[Water, Small Monster Encyclopedia]^000000";
+ mes "2.Kukre";
+ mes "Look better than Thief Bugs but basically do the same thing. But luckily they don't attack players in a group.";
+ mes "^0099FFFound Items^000000: Worm Peeling. Garlet. Monster's Feed. Red Herb. Insect Feeler";
+ next;
+ mes "^FF0000[Water, Small Monster Encyclopedia]^000000";
+ mes "3.Hydra";
+ mes "Veggie Monsters which live near water or in the deep sea. Attack using tentacles. When run into them in a group, it will be the pain in the ass.";
+ mes "It will be effective to kill one by one before they gather.";
+ mes "^0099FFFound Items^000000: Tentacle. Sticky Muscus. Meat";
+ next;
+ mes "^FF0000[Water, Small Monster Encyclopedia]^000000";
+ mes "4.Vadon";
+ mes "They wear thick shells all around the body and walk around tinkling nippers. Also their red color looks so tempting an appetite. Be careful anyway.";
+ mes "^0099FFFound Items^000000: Nipper.Garlet.Solid Shell.Shell";
+ next;
+ mes "^FF0000[Water, Small Monster Encyclopedia]^000000";
+ mes "5.Marina";
+ mes "Jelly Fishes of transparent white color. Do flexible attacks stretching its body as long as they can. They live in cool places near water.";
+ mes "^0099FFFound Items^000000: Single Cell.Sticky Muscus";
+ next;
+ mes "^FF0000[Water, Small Monster Encyclopedia]^000000";
+ mes "6.Cornutus";
+ mes "Some buddies concealing themselves within hard turban shells and try to lead a quiet life.";
+ mes "^0099FFFound Items^000000: Conch. Scell. Solid Shell";
+ next;
+ mes "^FF0000[Water, Small Monster Encyclopedia]^000000";
+ mes "7.Magnolia";
+ mes "Creatures shaped in Big Egg Frying Fans. They spank attackers with the Frying Fans without mercy.";
+ mes "Don't let your guard down just because they look cute. You will suffer if you do so.";
+ mes "^0099FFFound Items^000000: Jellopy. Garlet. Scell";
+ next;
+ mes "^FF0000[Water, Small Monster Encyclopedia]^000000";
+ mes "8.Marine Sphere";
+ mes "Strange, round-shaped monsters beating so fast that they seem like they will burst.";
+ mes "^0099FFFound Items^000000: Tendon. Detonator";
+ next;
+ goto MonWatPro;
+ close;
+ MidMonWatPro:
+ mes "^FF0000[Water,Medium Monster Encyclopedia]^000000";
+ mes "1.Poring";
+ mes "Small and circular monsters of transparent pink color. Swallow anything on the ground with sparkling eyes, without any hesitations. No matter what kind of things dropped,";
+ mes "They tend to eat first. So be cautious when you put down drop something on the ground. But don't worry.";
+ mes "They are not strong, and you will get yours back once you kill the monster, which eat your stuff.";
+ mes "^0099FFFound Items^000000: Jellopy.Sticky Muscus.Apple.Empty Bottle.Red Herb";
+ next;
+ mes "^FF0000[Water,Medium Monster Encyclopedia]^000000";
+ mes "2.Roda Frog";
+ mes "Usually they are hopping around, croaking very annoyingly. Let's stomp on them when found.";
+ mes "^0099FFFound Items^000000: Sticky Webfoot,Spawn,Green Herb,Empty Bottle";
+ next;
+ mes "^FF0000[Water,Medium Monster Encyclopedia]^000000";
+ mes "3.Spore";
+ mes "Mushroom-like monsters. Usually live in the Forest or Dungeons. By the way Don't try to eat it!";
+ mes "^0099FFFound Items^000000: Spore,Red Herb,Blue Herb";
+ next;
+ mes "^FF0000[Water,Medium Monster Encyclopedia]^000000";
+ mes "4.Goblin";
+ mes "They are small and attack passengers using different kinds of mace. They always wear Masques, which frighten people more because we can't see what they might look like.";
+ mes "There are all 5 different types, and they seem to be brothers.";
+ mes "^0099FFFound Items^000000: Yellow Herb,Red Potion";
+ next;
+ mes "^FF0000[Water,Medium Monster Encyclopedia]^000000";
+ mes "5.Thara Frog";
+ mes "Frogs of red color, surely stronger than Roda Frogs. However there is obvious one thing in common about them, annoying croaking noise.";
+ mes "^0099FFFound Items^000000: Spawn,Scell,Sticky Webfoot";
+ next;
+ mes "^FF0000[Water,Medium Monster Encyclopedia]^000000";
+ mes "6.Phen";
+ mes "Fish of blue color which is kicking and definitely alive.";
+ mes "^0099FFFound Items^000000: Fish Tail,Sharp Scale,Meat,Fin";
+ next;
+ mes "^FF0000[Water,Medium Monster Encyclopedia]^000000";
+ mes "7.Mars";
+ mes "Have many legs, flapping under the water. Do not rush to it because of its tempting look.";
+ mes "^0099FFFound Items^000000: Squid Ink,Tentacle";
+ next;
+ mes "^FF0000[Water,Medium Monster Encyclopedia]^000000";
+ mes "8.Obeaune";
+ mes "Female Mermaid. Attacks using long hair, with a grim face.";
+ mes "^0099FFFound Items^000000: Heart of Mermaid,Fin";
+ next;
+ mes "^FF0000[Water,Medium Monster Encyclopedia]^000000";
+ mes "9. Sohee";
+ mes "Female Ghost which holds grudge deep inside. She is always crying as waving long hair. But when running into the living, she suddenly changes her attitude fiercely.";
+ mes "^0099FFFound Items^000000: Black Hair,Red Potion";
+ next;
+ mes "^FF0000[Water,Medium Monster Encyclopedia]^000000";
+ mes "10.Marc";
+ mes "Sea Horse. Don't ever think about riding a Sea Horse!";
+ mes "^0099FFFound Items^000000: Gill,Fin";
+ next;
+ mes "^FF0000[Water,Medium Monster Encyclopedia]^000000";
+ mes "11.Deviace";
+ mes "Fish monster with a big mouth possibly carrying something within. Small but Strong.";
+ mes "^0099FFFound Items^000000: Ancient Tooth,Ancient Lips";
+ next;
+ goto MonWatPro;
+ close;
+ GrMonWatPro:
+ mes "^FF0000[Water,Great Monster Encyclopedia]^000000";
+ mes "1.Ambernite";
+ mes "Snail shaped monster, it is highly strong and defensive at the same time. Don't you worry though. It is too slow to catch you so that you can run away at ease any time.";
+ mes "^0099FFFound Items^000000: Snail's Shell,Garlet,Shell,Solid Shell";
+ next;
+ mes "^FF0000[Water,Great Monster Encyclopedia]^000000";
+ mes "2.Sword Fish";
+ mes "Fish Monster with a sharp, thin, and long nose. Goggle eyes are funny but it belongs to one of those dangerous monsters.";
+ mes "^0099FFFound Items^000000: Sharp Scale,Gill";
+ next;
+ goto MonWatPro;
+ close;
+ EndMonWatPro:
+ close;
+ close;
+ MonWinPro:
+ menu "Small Size Monster",SmaMonWinPro,"Medium Size Monster",MedMonWinPro,"Great Size Monster",GrMonWinPro,"Cancel",EndMonWinPro;
+
+ SmaMonWinPro:
+ mes "^FF0000[Wind,Small Monster Encyclopedia]^000000";
+ mes "1.Chonchon";
+ mes "Flying monsters, they are not strong but make as annoying noises as Roda Frog. Make sure to eliminate them whenever you see.";
+ mes "^0099FFFound Items^000000: Shell,Jellopy,Fly Wing";
+ next;
+ mes "^FF0000[Wind,Small Monster Encyclopedia]^000000";
+ mes "2.Hornet";
+ mes "Usually they are doing their duty but when get harmed, they will group themselves to attack the enemy without mercy!";
+ mes "^0099FFFound Items^000000: Bee Sting,Jellopy,Green Herb";
+ next;
+ mes "^FF0000[Wind,Small Monster Encyclopedia]^000000";
+ mes "3.Creamy";
+ mes "Monster with Beautiful Wings. `Hah~ it's just a butterfly!'. Careless thinking like this will make you bleeding~! It is much stronger than you expect. Be careful!";
+ mes "^0099FFFound Items^000000: Powder of Butterfly,Honey,Butterfly Wing,Flower";
+ next;
+ mes "^FF0000[Wind,Small Monster Encyclopedia]^000000";
+ mes "4.Steiner";
+ mes "Tiny little insect with a Splendid shell. Don't ever look down upon it. It is stronger than you expect. Besides it recognizes Magical Spell Casting.";
+ mes "^0099FFFound Items^000000: Rainbow Shell,Garlet,Shell,Solid Shell";
+ next;
+ mes "^FF0000[Wind,Small Monster Encyclopedia]^000000";
+ mes "5.Steel Chonchon";
+ mes "This is similar as Chonchon, but in yellow and green. Picks up every stuff on the ground. It is strong and well-cooperative with its fellows, so don't forget to get items before it picks up.";
+ mes "^0099FFFound Items^000000: Garlet,Shell,Solid Shell";
+ next;
+ mes "^FF0000[Wind,Small Monster Encyclopedia]^000000";
+ mes "6.Dustiness";
+ mes "This monster owns high dodge rate because it is flying. Need to be attentive if you want to attack.";
+ mes "^0099FFFound Items^000000: Moth Dust,Moth Wing,Insect Feeler,Red Herb";
+ next;
+ mes "^FF0000[Wind,Small Monster Encyclopedia]^000000";
+ mes "7.Hunter Fly";
+ mes "Winged insect of Blood. It is Strong meanwhile very annoying. Be advised, you'd better flee away if you can.";
+ mes "^0099FFFound Items^000000: Solid Shell,Zargon";
+ next;
+ goto MonWinPro;
+ close;
+ MedMonWinPro:
+ mes "^FF0000[Wind,Medium Monster Encyclopedia]^000000";
+ mes "1.Condor";
+ mes "Bald head eagle in funny feature. They tends to be gathered when one gets attacked. So don't look down upon them and think of `I will caress you!'";
+ mes "^0099FFFound Items^000000: Talon,Arrow,Meat,Feather of Birds";
+ next;
+ mes "^FF0000[Wind,Medium Monster Encyclopedia]^000000";
+ mes "2.Cobold the 1st";
+ mes "Small monster looks like a Wolf but it is smart enough to handle several tools. It is hostile and strong unlike its appearance. All Cobolds seem to be brothers.";
+ mes "^0099FFFound Items^000000: Blue Hair,Zargon,Orange Potion";
+ next;
+ mes "^FF0000[Wind,Medium Monster Encyclopedia]^000000";
+ mes "3.Petite";
+ mes "Tiny Cute flying Dragon. It seems like there exists 2 different kinds of Petite, flying one and walking one and this is the 1st one.";
+ mes "^0099FFFound Items^000000: Dragon Canine,Dragon Tail,Zargon";
+ next;
+ goto MonWinPro;
+ close;
+ GrMonWinPro:
+ mes "^FF0000[Wind,Great Monster Encyclopedia]^000000";
+ mes "4.Joker";
+ mes "A big Poker Card with Ugly looking girl printed on both side assaults you.";
+ mes "^0099FFFound Items^000000: High Heels";
+ next;
+ goto MonWinPro;
+ close;
+ EndMonWinPro:
+ close;
+ close;
+ MonSpiPro:
+ menu "Small Size Monster",SmaMonSpiPro,"Medium Size Monster",MedMonSpiPro,"Great Size Monster",GrMonSpiPro,"Cancel",EndMonSpiPro;
+
+ SmaMonSpiPro:
+ mes "^FF0000[Spiritual,Small Monster Encyclopedia]^000000";
+ mes "1.Whisper";
+ mes "Living Fabric, which gives spooky feeling.";
+ mes "^0099FFFound Items^000000: Fabric";
+ next;
+ mes "^FF0000[Spiritual,Small Monster Encyclopedia]^000000";
+ mes "2.Marionette";
+ mes "Monster reborn from a bewitched Doll, bound to strings on Wooden Sticks.";
+ mes "^0099FFFound Items^000000: Golden Hair,Trunk";
+ next;
+ goto MonSpiPro;
+ close;
+ MedMonSpiPro:
+ mes "^FF0000[Spiritual,Medium Monster Encyclopedia]^000000";
+ mes "1.Eggyra";
+ mes "Hovering here and there, while making a clattering sound. Tough-Looking Face scares people but it is not as strong as it looks.";
+ mes "^0099FFFound Items^000000: Scell,Sticky Muscus,Red Herb";
+ next;
+ goto MonSpiPro;
+ close;
+ GrMonSpiPro:
+ mes "^FF0000[Spiritual,Great Monster Encyclopedia]^000000";
+ mes "1.Nightmare";
+ mes "Ghost Horse radiating an Aura of Violet all over the body.";
+ mes "^0099FFFound Items^000000: Horseshoe,Blue Herb";
+ next;
+ mes "^FF0000[Spiritual,Great Monster Encyclopedia]^000000";
+ mes "3.Medusa";
+ mes "Each of her hairs is a snake. It has rumored to turn people into stone when their eyes happen to meet.";
+ mes "^0099FFFound Items^000000: Dead Medusa,Horrendous Hair,White Potion";
+ next;
+ goto MonSpiPro;
+ close;
+ EndMonSpiPro:
+ close;
+ close;
+ Cancel:
+ close;
+}
+
+prt_in.gat,168,68,4 script `Merchant Guideline' for Dummies 111,{
+ mes "^FF0000[Blacksmith Guide for Dummies]^000000";
+ mes "You can get the information about how to refine Ores and about Weapon Craft Skills.";
+ next;
+ menu "Ore Refining.",OreRef,"Weapon Craft.",WeaCra,"Cancel.",Cancel;
+
+ OreRef:
+ mes "^FF0000[Ore Refining for Dummies]^000000";
+ mes "Please go over the next page if you want to know how to refine Ores.";
+ next;
+ menu "Ok",OreRefOk,"Cancel",EndOreRef;
+
+ OreRefOk:
+ mes "^FF0000[Ore Refining for Dummies]^000000";
+ mes "Rough Ores like Iron Ore or Raw Materials for Enchanted Stones can be polished into High Quality Ones. For that, ^0099FFFurnace^000000 is needed.";
+ mes "One High Quality Ore needs several Rough Ones to be refined.";
+ next;
+ mes "^FF0000[Ore Refining for Dummies]^000000";
+ mes "When enough items are gathered,Double Click `Furnace'.You can use a Furnace only one time for refining.";
+ next;
+ mes "^FF0000[Ore Refining for Dummies]^000000";
+ mes "Possible ores you can refine will pop up on a new window. You can make Ore with a click the name of Ore you need.";
+ next;
+ mes "^FF0000[Ore Refining for Dummies]^000000";
+ mes "However it has a possibility to fail.";
+ close;
+ EndOreRef:
+ close;
+ close;
+ WeaCra:
+ mes "^FF0000[Weapon Craft for Dummies]^000000";
+ mes "Please go over the next page if you want to learn how to Smith Weapons.";
+ next;
+ menu "Ok",WeaCraOk,"Cancel",EndWeaCra;
+
+ WeaCraOk:
+ mes "^FF0000[Weapon Craft for Dummies]^000000";
+ mes "Learn a Skill from `Smith Sword,Two-Handed Sword,Spear,Mace,Brassknuckle' which allows you to make the pertinent weapon.";
+ next;
+ mes "^FF0000[Weapon Craft for Dummies]^000000";
+ mes "Every Weapon needs ^0099FFSteel^000000 and ^0099FFHammer^000000.You can use a Hammer one time and it will disappeared when used.";
+ next;
+ mes "^FF0000[Weapon Craft for Dummies]^000000";
+ mes "When Double Click on a Hammer,a new window which lists of items you can make will pop up.";
+ mes "Clicking a Weapon on that list will show the required items and their numbers. But they will be exhausted automatically,so just know this.";
+ next;
+ mes "^FF0000[Weapon Craft for Dummies]^000000";
+ mes "On that list window,there are 3 sockets which enable you to input some special items like Enchanted Stone or Star Crumb. These items amplify the weapon ability";
+ next;
+ mes "^FF0000[Weapon Craft for Dummies]^000000";
+ mes "And they have different possibility of Success by their characters.";
+ close;
+ EndWeaCra:
+ close;
+ close;
+ Cancel:
+ close;
+}
+
+prt_in.gat,172,96,4 script Monster Encyclopedia 111,{
+ mes "^FF0000[Dungeon Monster Encyclopedia]^000000";
+ mes "This is an Encyclopedia describing monsters living in Dungeons.";
+ next;
+ menu "Ant Hell",AntHell,"Geffen Dungeon",GefDung,"Sphinx",Sphinx,"Cancel",Cancel;
+
+ AntHell:
+ menu "1F",AntHellF1,"2F",AntHellF2,"Cancel",EndAntHell;
+
+ AntHellF1:
+ mes "^FF0000[Ant Hell 1F Monster Encyclopedia]^000000";
+ mes "1.Ant Egg";
+ mes "Simple Ant Egg.";
+ mes "^0099FFFound Items^000000: Shell,Jellopy,Sticky Muscus,Empty Bottle";
+ next;
+ mes "^FF0000[Ant Hell 1F Monster Encyclopedia]^000000";
+ mes "2.Andre";
+ mes "A kind of Worker Ants,they are very diligent in their work.They gather everything to save a sufficient stock and are well-cooperative,you need to be careful.";
+ mes "^0099FFFound Items^000000: Worm Peeling,Garlet,Sticky Muscus,Shell";
+ next;
+ mes "^FF0000[Ant Hell 1F Monster Encyclopedia]^000000";
+ mes "3.Piere";
+ mes "A kind of Work Ants,seems to be very diligent. Its appearance is similar with other Ants,but you can easily distinguish them from others as they only gather in a same kind.";
+ mes "^0099FFFound Items^000000: Worm Peeling,Garlet,Sticky Muscus,Shell";
+ next;
+ mes "^FF0000[Ant Hell 1F Monster Encyclopedia]^000000";
+ mes "4.Deniro";
+ mes "A kind of Work Ants, tend to group in a same kind as well as other ants.";
+ mes "^0099FFFound Items^000000: Worm Peeling,Garlet,Sticky Muscus,Shell";
+ next;
+ mes "^FF0000[Ant Hell 1F Monster Encyclopedia]^000000";
+ mes "5.Vitata";
+ mes "Work Ants in charge of storing honey inside the body for emergency. It is a little pathetic to see their chubby tummy filled with Honey.";
+ mes "^0099FFFound Items^000000: Worm Peeling,Scell,Honey";
+ next;
+ mes "^FF0000[Ant Hell 1F Monster Encyclopedia]^000000";
+ mes "6.Giearth";
+ mes "Little Grampa Pixie. Usually lives in Caves to gather Ores. Even though he is short, but actually an adult. Show your manners.";
+ mes "^0099FFFound Items^000000: Old Pixie's Moustache";
+ next;
+ goto AntHell;
+ close;
+ AntHellF2:
+ mes "^FF0000[Ant Hell 2F Monster Encyclopedia]^000000";
+ mes "1.Ant Egg";
+ mes "Simple Ant Egg.";
+ mes "^0099FFFound Items^000000: Shell,Jellopy,Sticky Muscus,Empty Bottle";
+ next;
+ mes "^FF0000[Ant Hell 2F Monster Encyclopedia]^000000";
+ mes "2.Andre";
+ mes "A kind of Worker Ants,they are very diligent in their work. They gather everything to save a sufficient stock and are well-cooperative,you need to be careful.";
+ mes "^0099FFFound Items^000000: Worm Peeling,Garlet,Sticky Muscus,Shell";
+ next;
+ mes "^FF0000[Ant Hell 2F Monster Encyclopedia]^000000";
+ mes "3.Piere";
+ mes "A kind of Work Ants,seems to be very diligent. Its appearance is similar with other Ants,but you can easily distinguish them from others as they only gather in a same kind.";
+ mes "^0099FFFound Items^000000: Worm Peeling,Garlet,Sticky Muscus,Shell";
+ next;
+ mes "^FF0000[Ant Hell 2F Monster Encyclopedia]^000000";
+ mes "4.Deniro";
+ mes "A kind of Work Ants, tend to group in a same kind as well as other ants";
+ mes "^0099FFFound Items^000000: Worm Peeling,Garlet,Sticky Muscus,Shell";
+
+ next;
+ mes "^FF0000[Ant Hell 2F Monster Encyclopedia]^000000";
+ mes "5.Vitata";
+ mes "Work Ants in charge of storing honey inside the body for emergency. It is a little pathetic to see their chubby tummy filled with Honey.";
+ mes "^0099FFFound Items^000000: Worm Peeling,Scell,Honey";
+ next;
+ mes "^FF0000[Ant Hell 2F Monster Encyclopedia]^000000";
+ mes "6.Giearth";
+ mes "Little Grampa Pixie. Usually lives in Caves to gather Ores. Even though he is short, but actually an adult. Show your manners.";
+ mes "^0099FFFound Items^000000: Old Pixie's Moustache";
+ next;
+ mes "^FF0000[Ant Hell 2F Monster Encyclopedia]^000000";
+ mes "7.Phreeoni";
+ mes "Some bastard with a huge creepy tongue. Extremely strong Monster rarely seen around.";
+ mes "^0099FFFound Items^000000: Tongue,Ant Jaw";
+ next;
+ goto AntHell;
+ close;
+ EndAntHell:
+ close;
+ close;
+ GefDung:
+ menu "1F",GefDungF1,"2F",GefDungF2,"3F",GefDungF3,"4F",GefDungF4,"Cancel",EndGefDung;
+
+ GefDungF1:
+ mes "^FF0000[Geffen Dungeon 1F Monster Encyclopedia]^000000";
+ mes "1.Familiar";
+ mes "Bat of Violet Colour. Not that strong but really annoying because it attacks very fast and outrageously when somebody gets near it.";
+ mes "^0099FFFound Items^000000: Tooth of Bat,Fly Wing,Grape,Red Herb";
+ next;
+ mes "^FF0000[Geffen Dungeon 1F Monster Encyclopedia]^000000";
+ mes "2.Poporing";
+ mes "Poisonous Poring in light green. Every character is the same as poring,but much more stronger.";
+ mes "^0099FFFound Items^000000: Sticky Muscus,Garlet,Green Herb";
+ next;
+ mes "^FF0000[Geffen Dungeon 1F Monster Encyclopedia]^000000";
+ mes "3.Dustiness";
+ mes "This monster owns high dodge rate because it is flying. Need to be attentive if you want to attack.";
+ mes "^0099FFFound Items^000000: Moth Dust,Moth Wing,Insect Feeler,Red Herb";
+ next;
+ mes "^FF0000[Geffen Dungeon 1F Monster Encyclopedia]^000000";
+ mes "4.Poison Spore";
+ mes "Poisonous Spore in Violet. Besides,it tends to attack haphazardly if anybody gets near.";
+ mes "^0099FFFound Items^000000: Spore,Green Herb";
+ next;
+ goto GefDung;
+ close;
+ GefDungF2:
+ mes "^FF0000[Geffen Dungeon 2F Monster Encyclopedia]^000000";
+ mes "1.Familiar";
+ mes "Bat of Violet Colour. Not that strong but really annoying because it attacks very fast and outrageously when somebody gets near it.";
+ mes "^0099FFFound Items^000000: Tooth of Bat,Fly Wing,Grape,Red Herb";
+ next;
+ mes "^FF0000[Geffen Dungeon 2F Monster Encyclopedia]^000000";
+ mes "2.Dustiness";
+ mes "This monster owns high dodge rate because it is flying. Need to be attentive if you want to attack.";
+ mes "^0099FFFound Items^000000: Moth Dust,Moth Wing,Insect Feeler,Red Herb";
+ next;
+ mes "^FF0000[Geffen Dungeon 2F Monster Encyclopedia]^000000";
+ mes "3.Poison Spore";
+ mes "Poisonous Spore in Violet. Besides,it tends to attack haphazardly if anybody gets near.";
+ mes "^0099FFFound Items^000000: Spore,Green Herb";
+ next;
+ mes "^FF0000[Geffen Dungeon 2F Monster Encyclopedia]^000000";
+ mes "4.Argos";
+ mes "Big Spider of Dark colour. It often invades passengers.";
+ mes "^0099FFFound Items^000000: Cobweb,Scell,Bug Leg,Green Herb,Yellow Herb";
+ next;
+ mes "^FF0000[Geffen Dungeon 2F Monster Encyclopedia]^000000";
+ mes "5.Whisper";
+ mes "Living Fabric, which gives spooky feeling.";
+ mes "^0099FFFound Items^000000: Fabric";
+ next;
+ mes "^FF0000[Geffen Dungeon 2F Monster Encyclopedia]^000000";
+ mes "6.Jakk";
+ mes "Quite Odd monster in a nice suit,but with a pumpkin head. It looks funny but changes the attitude fiercely when attacks someone.";
+ mes "^0099FFFound Items^000000: Jack'o'Pumpkin,Zargon";
+ next;
+ goto GefDung;
+ close;
+ GefDungF3:
+ mes "^FF0000[Geffen Dungeon 3F Monster Encyclopedia]^000000";
+ mes "1.Argos";
+ mes "Big Spider of Dark colour.It often invades passengers.";
+ mes "^0099FFFound Items^000000: Cobweb,Scell,Bug Leg,Green Herb,Yellow Herb";
+ next;
+ mes "^FF0000[Geffen Dungeon 3F Monster Encyclopedia]^000000";
+ mes "2.Whisper";
+ mes "Living Fabric, which gives spooky feeling.";
+ mes "^0099FFFound Items^000000: Fabric";
+ next;
+ mes "^FF0000[Geffen Dungeon 3F Monster Encyclopedia]^000000";
+ mes "3.Jakk";
+ mes "Quite Odd monster in a nice suit,but with a pumpkin head. It looks funny but changes the attitude fiercely when attacks someone.";
+ mes "^0099FFFound Items^000000: Jack'o'Pumpkin,Zargon";
+ next;
+ mes "^FF0000[Geffen Dungeon 3F Monster Encyclopedia]^000000";
+ mes "4.Myst";
+ mes "Mist-like Monster.";
+ mes "^0099FFFound Items^000000: Trunk. Gas Mask";
+ next;
+ mes "^FF0000[Geffen Dungeon 3F Monster Encyclopedia]^000000";
+ mes "5.Marionette";
+ mes "Monster reborn from a bewitched Doll, bound to strings on Wooden Sticks.";
+ mes "^0099FFFound Items^000000: Golden Hair,Trunk";
+ next;
+ mes "^FF0000[Geffen Dungeon 3F Monster Encyclopedia]^000000";
+ mes "6.Bathory";
+ mes "Witch with a big wen on the nose. She rides on her magic broom flying around in the air..";
+ mes "^0099FFFound Items^000000: Witched Starsand";
+ next;
+ mes "^FF0000[Geffen Dungeon 3F Monster Encyclopedia]^000000";
+ mes "7.Nightmare";
+ mes "Ghost Horse radiating an Aura of Violet all over the body.";
+ mes "^0099FFFound Items^000000: Horseshoe,Blue Herb";
+ next;
+ goto GefDung;
+ close;
+ GefDungF4:
+ mes "^FF0000[Geffen Dungeon 4F Monster Encyclopedia]^000000";
+ mes "1.Myst";
+ mes "Mist-like Monster.";
+ mes "^0099FFFound Items^000000: Trunk. Gas Mask";
+ next;
+ mes "^FF0000[Geffen Dungeon 4F Monster Encyclopedia]^000000";
+ mes "2.Deviruchi";
+ mes "Little evil creature,which carries a cute fork with.";
+ mes "^0099FFFound Items^000000: Little Evil Horn,Little Evil Wing,Zargon";
+ next;
+ mes "^FF0000[Geffen Dungeon 4F Monster Encyclopedia]^000000";
+ mes "3.Raydric";
+ mes "Ghost Knight of misfortune.";
+ mes "^0099FFFound Items^000000: Elunium,Chivarly Emblem";
+ next;
+ mes "^FF0000[Geffen Dungeon 4F Monster Encyclopedia]^000000";
+ mes "4.Joker";
+ mes "A big Poker Card with Ugly looking girl printed on both side assaults you.";
+ mes "^0099FFFound Items^000000: High Heels";
+ next;
+ mes "^FF0000[Geffen Dungeon 4F Monster Encyclopedia]^000000";
+ mes "5.Doppelganger";
+ mes "A ghostly double of a swordsman,Spooky and Powerful.";
+ mes "^0099FFFound Items^000000: Spiky Band,Blue Potion,Cursed Ruby,Ruby";
+ next;
+ goto GefDung;
+ close;
+ EndGefDung:
+ close;
+ close;
+ Sphinx:
+ menu "1F",SphinxF1,"2F",SphinxF2,"3F",SphinxF3,"4F",SphinxF4,"5F",SphinxF5,"Cancel",EndSphinx;
+
+ SphinxF1:
+ mes "^FF0000[Sphinx 1F Monster Encyclopedia]^000000";
+ mes "1.Familiar";
+ mes "Bat of Violet Colour. Not that strong but really annoying because it attacks very fast and outrageously when somebody gets near it.";
+ mes "^0099FFFound Items^000000: Tooth of Bat,Fly Wing,Grape,Red Herb";
+ next;
+ mes "^FF0000[Sphinx 1F Monster Encyclopedia]^000000";
+ mes "2.Snake";
+ mes "Green Coloured Snake living in the Forest or Desert. Not poisonous but be careful.";
+ mes "^0099FFFound Items^000000: Snake Scale,Red Herb";
+ next;
+ mes "^FF0000[Sphinx 1F Monster Encyclopedia]^000000";
+ mes "3.Zerom";
+ mes "Undead Slave who had been extremely abused before he died. He is wandering in the Sphinx,carrying a big box on the back..";
+ mes "^0099FFFound Items^000000: Panties";
+ next;
+ mes "^FF0000[Sphinx 1F Monster Encyclopedia]^000000";
+ mes "4.Matyr";
+ mes "Creature shaped in Black Dog.";
+ mes "^0099FFFound Items^000000: Monster's Feed,Leather";
+ next;
+ mes "^FF0000[Sphinx 1F Monster Encyclopedia]^000000";
+ mes "5.Requiem";
+ mes "It seems like an Ancient Slave,carrying a heavy Coffin on the back.";
+ mes "^0099FFFound Items^000000: Mystic Blue Box";
+ next;
+ goto Sphinx;
+ close;
+ SphinxF2:
+ mes "^FF0000[Sphinx 2F Monster Encyclopedia]^000000";
+ mes "1.Familiar";
+ mes "Bat of Violet Colour. Not that strong but really annoying because it attacks very fast and outrageously when somebody gets near it.";
+ mes "^0099FFFound Items^000000: Tooth of Bat,Fly Wing,Grape,Red Herb";
+ next;
+ mes "^FF0000[Sphinx 2F Monster Encyclopedia]^000000";
+ mes "2.Matyr";
+ mes "Creature shaped in Black Dog.";
+ mes "^0099FFFound Items^000000: Monster's Feed,Leather";
+ next;
+ mes "^FF0000[Sphinx 2F Monster Encyclopedia]^000000";
+ mes "3.Requiem";
+ mes "It seems like an Ancient Slave,carrying a heavy Coffin on the back.";
+ mes "^0099FFFound Items^000000: Mystic Blue Box";
+ next;
+ mes "^FF0000[Sphinx 2F Monster Encyclopedia]^000000";
+ mes "4.Whisper";
+ mes "Living Fabric, which gives spooky feeling.";
+ mes "^0099FFFound Items^000000: Fabric";
+ next;
+ goto Sphinx;
+ close;
+ SphinxF3:
+ mes "^FF0000[Sphinx 3F Monster Encyclopedia]^000000";
+ mes "1.Matyr";
+ mes "Creature shaped in Black Dog.";
+ mes "^0099FFFound Items^000000: Monster's Feed,Leather";
+ next;
+ mes "^FF0000[Sphinx 3F Monster Encyclopedia]^000000";
+ mes "2.Whisper";
+ mes "Living Fabric, which gives spooky feeling.";
+ mes "^0099FFFound Items^000000: Fabric";
+ next;
+ mes "^FF0000[Sphinx 3F Monster Encyclopedia]^000000";
+ mes "3.Marduk";
+ mes "Unknown monster wearing Catholic uniform and looking serious.";
+ mes "^0099FFFound Items^000000: Flame Heart";
+ next;
+ goto Sphinx;
+ SphinxF4:
+ mes "^FF0000[Sphinx 4F Monster Encyclopedia]^000000";
+ mes "1.Whisper";
+ mes "Living Fabric, which gives spooky feeling.";
+ mes "^0099FFFound Items^000000: Fabric";
+ next;
+ mes "^FF0000[Sphinx 4F Monster Encyclopedia]^000000";
+ mes "2.Marduk";
+ mes "Unknown monster wearing Catholic uniform and looking serious.";
+ mes "^0099FFFound Items^000000: Flame Heart";
+ next;
+ mes "^FF0000[Sphinx 4F Monster Encyclopedia]^000000";
+ mes "3.Medusa";
+ mes "Each of her hairs is a snake. It has rumored to turn people into stone when their eyes happen to meet.";
+ mes "^0099FFFound Items^000000: Dead Medusa,Horrendous Snake,White Potion";
+ next;
+ goto Sphinx;
+ close;
+ SphinxF5:
+ mes "^FF0000[Sphinx 5F Monster Encyclopedia]^000000";
+ mes "1.Whisper";
+ mes "Living Fabric, which gives spooky feeling.";
+ mes "^0099FFFound Items^000000: Fabric";
+ next;
+ mes "^FF0000[Sphinx 5F Monster Encyclopedia]^000000";
+ mes "2.Marduk";
+ mes "Unknown monster wearing Catholic uniform and looking serious.";
+ mes "^0099FFFound Items^000000: Flame Heart";
+ next;
+ mes "^FF0000[Sphinx 5F Monster Encyclopedia]^000000";
+ mes "3.Medusa";
+ mes "Each of her hairs is a snake. It has rumored to turn people into stone when their eyes happen to meet.";
+ mes "^0099FFFound Items^000000: Dead Medusa,Horrendous Snake,White Potion";
+ next;
+ goto Sphinx;
+ close;
+ EndSphinx:
+ close;
+ close;
+ Cancel:
+ close;
+}
+
+prt_in.gat,172,102,4 script Monster Encyclopedia 111,{
+ mes "^FF0000[Dungeon Monster Encyclopedia]^000000";
+ mes "The is an Encyclopedia describing Monsters living in Dungeons.";
+ next;
+ menu "Mjornir Dead Pit",MjrDeadPit,"Payon Cave",PayCave,"Pyramid",Pyramid;
+
+ MjrDeadPit:
+ menu "F1",MjrDeadPitF1,"F2",MjrDeadPitF2,"F3",MjrDeadPitF3,"Cancel",EndMjrDeadPit;
+
+ MjrDeadPitF1:
+ mes "^FF0000[Dead Pit 1F Monster Encyclopedia]^000000";
+ mes "1.Familiar";
+ mes "Bat of Violet Colour. Not that strong but really annoying because it attacks very fast and outrageously when somebody gets near it.";
+ mes "^0099FFFound Items^000000: Tooth of Bat,Fly Wing,Grape,Red Herb";
+ next;
+ mes "^FF0000[Dead Pit 1F Monster Encyclopedia]^000000";
+ mes "2.Tarou";
+ mes "Little mouse of white colour. It is squicking very loudly in the Dead Pit or the Prontera Culvert..";
+ mes "^0099FFFound Items^000000: Rat Tail,Leather,Feather,Monster's Feed";
+ next;
+ mes "^FF0000[Dead Pit 1F Monster Encyclopedia]^000000";
+ mes "3.Martin";
+ mes "Funny looking Mole wearing a Safety Helmet on the head,which is always busy to walk around.";
+ mes "^0099FFFound Items^000000: Mole Whiskers,Mole Claw";
+ next;
+ mes "^FF0000[Dead Pit 1F Monster Encyclopedia]^000000";
+ mes "4.Drainliar";
+ mes "Freaking Bloody bat with a might.";
+ mes "^0099FFFound Items^000000: Tooth of Bat,Red Herb";
+ next;
+ goto MjrDeadPit;
+ close;
+ MjrDeadPitF2:
+ mes "^FF0000[Dead Pit 2F Monster Encyclopedia]^000000";
+ mes "1.Martin";
+ mes "Funny looking Mole wearing a Safety Helmet on the head,which is always busy to walk around.";
+ mes "^0099FFFound Items^000000: Mole Whiskers,Mole Claw";
+ next;
+ mes "^FF0000[Dead Pit 2F Monster Encyclopedia]^000000";
+ mes "2.Drainliar";
+ mes "Freaking Bloody bat with a might.";
+ mes "^0099FFFound Items^000000: Tooth of Bat,Red Herb";
+ next;
+ mes "^FF0000[Dead Pit 2F Monster Encyclopedia]^000000";
+ mes "3.Skel Worker";
+ mes "Walking Skeleton which was dead in a mine.";
+ mes "^0099FFFound Items^000000: Iron,Lantern";
+ next;
+ mes "^FF0000[Dead Pit 2F Monster Encyclopedia]^000000";
+ mes "4.Myst";
+ mes "Mist-like Monster.";
+ mes "^0099FFFound Items^000000: Trunk. Gas Mask";
+ next;
+ goto MjrDeadPit;
+ close;
+ MjrDeadPitF3:
+ mes "^FF0000[Dead Pit 3F Monster Encyclopedia]^000000";
+ mes "1.Skel Worker";
+ mes "Walking Skeleton which was dead in a mine.";
+ mes "^0099FFFound Items^000000: Iron,Lantern";
+ next;
+ mes "^FF0000[Dead Pit 3F Monster Encyclopedia]^000000";
+ mes "2.Myst";
+ mes "Mist-like Monster.";
+ mes "^0099FFFound Items^000000: Trunk. Gas Mask";
+ next;
+ mes "^FF0000[Dead Pit 3F Monster Encyclopedia]^000000";
+ mes "3.Evil Druid";
+ mes "You'll shudder even once looking at it.";
+ mes "^0099FFFound Items^000000: Amulet,White Herb";
+ next;
+ goto MjrDeadPit;
+ close;
+ EndMjrDeadPit:
+ close;
+ close;
+ PayCave:
+ menu "1F",PayCaveF1,"2F",PayCaveF2,"3F",PayCaveF3,"4F",PayCaveF4,"5F",PayCaveF5,"Cancel",EndPayCave;
+
+ PayCaveF1:
+ mes "^FF0000[Payon Cave 1F Monster Encyclopedia]^000000";
+ mes "1.Familiar";
+ mes "Bat of Violet Colour. Not that strong but really annoying because it attacks very fast and outrageously when somebody gets near it.";
+ mes "^0099FFFound Items^000000: Tooth of Bat,Fly Wing,Grape,Red Herb";
+ next;
+ mes "^FF0000[Payon Cave 1F Monster Encyclopedia]^000000";
+ mes "2.Spore";
+ mes "Mushroom-like monsters. Usually live in the Forest or Dungeons. By the way Don't try to eat it!";
+ mes "^0099FFFound Items^000000: Spore,Red Herb,Blue Herb";
+ next;
+ mes "^FF0000[Payon Cave 1F Monster Encyclopedia]^000000";
+ mes "3.Zombie";
+ mes "Bad Case of the Dead which has been reborn as a Walking Corpse by Back magic. Let's lead it to Nirvana.";
+ mes "^0099FFFound Items^000000: Decayed Nail,Sticky Muscus,Horrendous Mouth";
+ next;
+ goto PayCave;
+ close;
+ PayCaveF2:
+ mes "^FF0000[Payon Cave 2F Monster Encyclopedia]^000000";
+ mes "1.Familiar";
+ mes "Bat of Violet Colour. Not that strong but really annoying because it attacks very fast and outrageously when somebody gets near it.";
+ mes "^0099FFFound Items^000000: Tooth of Bat,Fly Wing,Grape,Red Herb";
+ next;
+ mes "^FF0000[Payon Cave 2F Monster Encyclopedia]^000000";
+ mes "2.Eggyra";
+ mes "Hovering here and there, while making a clattering sound. Tough-Looking Face scares people but it is not as strong as it looks.";
+ mes "^0099FFFound Items^000000: Scell,Sticky Muscus,Red Herb";
+ next;
+ mes "^FF0000[Payon Cave 2F Monster Encyclopedia]^000000";
+ mes "3.Magnolia";
+ mes "Creatures shaped in Big Egg Frying Fans. They spank attackers with the Frying Fans without mercy. Don't let your guard down just because they look cute. You will suffer if you do so.";
+ mes "^0099FFFound Items^000000: Jellopy.Garlet.Scell";
+ next;
+ mes "^FF0000[Payon Cave 2F Monster Encyclopedia]^000000";
+ mes "4.Soldier Skeleton";
+ mes "Skeleton holding 2 swords on both grips,attacks fast. One of the dangerous monsters in the Cave.";
+ mes "^0099FFFound Items^000000: Skel-Bone,Red Potion";
+ next;
+ goto PayCave;
+ close;
+ PayCaveF3:
+ mes "^FF0000[Payon Cave 3F Monster Encyclopedia]^000000";
+ mes "1.Familiar";
+ mes "Bat of Violet Colour. Not that strong but really annoying because it attacks very fast and outrageously when somebody gets near it.";
+ mes "^0099FFFound Items^000000: Tooth of Bat,Fly Wing,Grape,Red Herb";
+ next;
+ mes "^FF0000[Payon Cave 3F Monster Encyclopedia]^000000";
+ mes "2.Soldier Skeleton";
+ mes "Skeleton holding 2 swords on both grips,attacks fast. One of the dangerous monsters in the Cave.";
+ mes "^0099FFFound Items^000000: Skel-Bone,Red Potion";
+ next;
+ mes "^FF0000[Payon Cave 3F Monster Encyclopedia]^000000";
+ mes "3.Munak";
+ mes "Pretty-looking Female corpse which had been frozen for a long time. She looks like holding a long story deep inside, the story people want to know about. Anyway Don't give her a break,she'll give strong damages on you.";
+ mes "^0099FFFound Items^000000: Daenggie ,Munak Turban";
+ next;
+ mes "^FF0000[Payon Cave 3F Monster Encyclopedia]^000000";
+ mes "4.Archer Skeleton";
+ mes "It seems to be an expert of bow when it was alive. It'll come to attack in no time when somebody gets inside of its range.";
+ mes "^0099FFFound Items^000000: Skel-Bone,Fire Arrow,Red Potion";
+ next;
+ goto PayCave;
+ close;
+ PayCaveF4:
+ mes "^FF0000[Payon Cave 4F Monster Encyclopedia]^000000";
+ mes "1.Soldier Skeleton";
+ mes "Skeleton holding 2 swords on both grips,attacks fast. One of the dangerous monsters in the Cave.";
+ mes "^0099FFFound Items^000000: Skel-Bone,Red Potion";
+ next;
+ mes "^FF0000[Payon Cave 4F Monster Encyclopedia]^000000";
+ mes "2.Archer Skeleton";
+ mes "It seems to be an expert of bow when it was alive. It'll come to attack in no time when somebody gets inside of its range.";
+ mes "^0099FFFound Items^000000: Skel-Bone,Fire Arrow,Red Potion";
+ next;
+ mes "^FF0000[Payon Cave 4F Monster Encyclopedia]^000000";
+ mes "3.Sohee";
+ mes "Female Ghost which holds grudge deep inside. She is always crying as waving long hair. But when running into the living, she suddenly changes her attitude fiercely.";
+ mes "^0099FFFound Items^000000: Black Hair,Red Potion";
+ next;
+ mes "^FF0000[Payon Cave 4F Monster Encyclopedia]^000000";
+ mes "4.Horong";
+ mes "Eerie-looking fireball of violet colour. Recognizes the living when gets near.";
+ mes "^0099FFFound Items^000000: Stone Heart,Zargon,Fire Arrow";
+ next;
+ goto PayCave;
+ close;
+ PayCaveF5:
+ mes "^FF0000[Payon Cave 5F Monster Encyclopedia]^000000";
+ mes "1.Soldier Skeleton";
+ mes "Skeleton holding 2 swords on both grips,attacks fast. One of the dangerous monsters in the Cave.";
+ mes "^0099FFFound Items^000000: Skel-Bone,Red Potion";
+ next;
+ mes "^FF0000[Payon Cave 5F Monster Encyclopedia]^000000";
+ mes "2.Archer Skeleton";
+ mes "It seems to be an expert of bow when it was alive. It'll come to attack in no time when somebody gets inside of its range.";
+ mes "^0099FFFound Items^000000: Skel-Bone,Fire Arrow,Red Potion";
+ next;
+ mes "^FF0000[Payon Cave 5F Monster Encyclopedia]^000000";
+ mes "3.Sohee";
+ mes "Female Ghost which holds grudge deep inside. She is always crying as waving long hair. But when running into the living, she suddenly changes her attitude fiercely.";
+ mes "^0099FFFound Items^000000: Black Hair,Red Potion";
+ next;
+ mes "^FF0000[Payon Cave 5F Monster Encyclopedia]^000000";
+ mes "4.Horong";
+ mes "Eerie-looking fireball of violet colour. Recognizes the living when gets near.";
+ mes "^0099FFFound Items^000000: Stone Heart,Zargon,Fire Arrow";
+ next;
+ mes "^FF0000[Payon Cave 5F Monster Encyclopedia]^000000";
+ mes "5.Moonlight";
+ mes "Wild Girl having 9 tails of a Fox, and with a Big Bell on the back.";
+ mes "^0099FFFound Items^000000: 9 Tails,White Potion,Topaz,Elunium";
+ next;
+ goto PayCave;
+ close;
+ EndPayCave:
+ close;
+ close;
+ Pyramid:
+ menu "1F",PyramidF1,"2F",PyramidF2,"3F",PyramidF3,"4F",PyramidF4,"5F",PyramidF5,"6F",PyramidF6,"Cancel",EndPyramid;
+
+ PyramidF1:
+ mes "^FF0000[Pyramid 1F Monster Encyclopedia]^000000";
+ mes "1.Familiar";
+ mes "Bat of Violet Colour. Not that strong but really annoying because it attacks very fast and outrageously when somebody gets near it.";
+ mes "^0099FFFound Items^000000: Tooth of Bat,Fly Wing,Grape,Red Herb";
+ next;
+ mes "^FF0000[Pyramid 1F Monster Encyclopedia]^000000";
+ mes "2.Spore";
+ mes "Mushroom-like monsters. Usually live in the Forest or Dungeons. By the way Don't try to eat it!";
+ mes "^0099FFFound Items^000000: Spore,Red Herb,Blue Herb";
+ next;
+ mes "^FF0000[Pyramid 1F Monster Encyclopedia]^000000";
+ mes "3.Poporing";
+ mes "Poisonous Poring in light green. Every character is the same as poring,but much more stronger.";
+ mes "^0099FFFound Items^000000: Sticky Muscus,Garlet,Green Herb";
+ next;
+ goto Pyramid;
+ close;
+ PyramidF2:
+ mes "^FF0000[Pyramid 2F Monster Encyclopedia]^000000";
+ mes "1.Poporing";
+ mes "Poisonous Poring in light green. Every character is the same as poring,but much more stronger.";
+ mes "^0099FFFound Items^000000: Sticky Muscus,Garlet,Green Herb";
+ next;
+ mes "^FF0000[Pyramid 2F Monster Encyclopedia]^000000";
+ mes "2.Drainliar";
+ mes "Freaking Bloody bat with a might.";
+ mes "^0099FFFound Items^000000: Tooth of Bat,Red Herb";
+
+ next;
+ mes "^FF0000[Pyramid 2F Monster Encyclopedia]^000000";
+ mes "3.Soldier Skeleton";
+ mes "Skeleton holding 2 swords on both grips,attacks fast. One of the dangerous monsters in the Cave.";
+ mes "^0099FFFound Items^000000: Skel-Bone,Red Potion";
+ next;
+ mes "^FF0000[Pyramid 2F Monster Encyclopedia]^000000";
+ mes "4.Archer Skeleton";
+ mes "It seems to be an expert of bow when it was alive. It'll come to attack in no time when somebody gets inside of its range.";
+ mes "^0099FFFound Items^000000: Skel-Bone,Fire Arrow,Red Potion";
+ next;
+ goto Pyramid;
+ close;
+ PyramidF3:
+ mes "^FF0000[Pyramid 3F Monster Encyclopedia]^000000";
+ mes "1.Drainliar";
+ mes "Freaking Bloody bat with a might.";
+ mes "^0099FFFound Items^000000: Tooth of Bat,Red Herb";
+ next;
+ mes "^FF0000[Pyramid 3F Monster Encyclopedia]^000000";
+ mes "2.Soldier Skeleton";
+ mes "Skeleton holding 2 swords on both grips,attacks fast. One of the dangerous monsters in the Cave.";
+ mes "^0099FFFound Items^000000: Skel-Bone,Red Potion";
+ next;
+ mes "^FF0000[Pyramid 3F Monster Encyclopedia]^000000";
+ mes "3.Archer Skeleton";
+ mes "It seems to be an expert of bow when it was alive. It'll come to attack in no time when somebody gets inside of its range.";
+ mes "^0099FFFound Items^000000: Skel-Bone,Fire Arrow,Red Potion";
+ next;
+ mes "^FF0000[Pyramid 3F Monster Encyclopedia]^000000";
+ mes "4.Mummy";
+ mes "Walking Corpse with a bandage all around the body. It smells so bad because its body is still on the decomposed stage.";
+ mes "^0099FFFound Items^000000: Rotten Bandage";
+ next;
+ mes "^FF0000[Pyramid 3F Monster Encyclopedia]^000000";
+ mes "5.Verit";
+ mes "Dog with a bandage all around the body which was dead once before. It tends to eat everything dropped on the ground.";
+ mes "^0099FFFound Items^000000: Immortal Heart,Zargon,Rotten Bandage";
+ next;
+ goto Pyramid;
+ close;
+ PyramidF4:
+ mes "^FF0000[Pyramid 4F Monster Encyclopedia]^000000";
+ mes "1.Mummy";
+ mes "Walking Corpse with a bandage all around the body. It smells so bad because its body is still on the decomposed stage.";
+ mes "^0099FFFound Items^000000: Rotten Bandage";
+ next;
+ mes "^FF0000[Pyramid 4F Monster Encyclopedia]^000000";
+ mes "2.Verit";
+ mes "Dog with a bandage all around the body which was dead once before. It tends to eat everything dropped on the ground.";
+ mes "^0099FFFound Items^000000: Immortal Heart,Zargon,Rotten Bandage";
+ next;
+ mes "^FF0000[Pyramid 4F Monster Encyclopedia]^000000";
+ mes "3.Ghoul";
+ mes "Similar as Zombie but much more stronger. Yet very slow, you'd better run for your life when happen to meet this thing.";
+ mes "^0099FFFound Items^000000: Horrendous Mouth";
+ next;
+ mes "^FF0000[Pyramid 4F Monster Encyclopedia]^000000";
+ mes "4.Isis";
+ mes "Creature having the head and upper body of a woman and the tail of a snake. Her nail is quite a menace.";
+ mes "^0099FFFound Items^000000: Scale Skin,Shining Scale";
+ next;
+ goto Pyramid;
+ close;
+ PyramidF5:
+ mes "^FF0000[Pyramid 5F Monster Encyclopedia]^000000";
+ mes "1.Mummy";
+ mes "Walking Corpse with a bandage all around the body. It smells so bad because its body is still on the decomposed stage.";
+ mes "^0099FFFound Items^000000: Rotten Bandage";
+ next;
+ mes "^FF0000[Pyramid 5F Monster Encyclopedia]^000000";
+ mes "2.Ghoul";
+ mes "Similar as Zombie but much more stronger. Yet very slow, you'd better run for your life when happen to meet this thing.";
+ mes "^0099FFFound Items^000000: Horrendous Mouth";
+ next;
+ mes "^FF0000[Pyramid 5F Monster Encyclopedia]^000000";
+ mes "3.Isis";
+ mes "Creature having the head and upper body of a woman and the tail of a snake. Her nail is quite a menace.";
+ mes "^0099FFFound Items^000000: Scale Skin,Shining Scale";
+ next;
+ goto Pyramid;
+ close;
+ PyramidF6:
+ mes "^FF0000[Pyramid 6F Monster Encyclopedia]^000000";
+ mes "1.Mummy";
+ mes "Walking Corpse with a bandage all around the body. It smells so bad because its body is still on the decomposed stage.";
+ mes "^0099FFFound Items^000000: Rotten Bandage";
+ next;
+ mes "^FF0000[Pyramid 6F Monster Encyclopedia]^000000";
+ mes "2.Verit";
+ mes "Dog with a bandage all around the body which was dead once before. It tends to eat everything dropped on the ground.";
+ mes "^0099FFFound Items^000000: Immortal Heart,Zargon,Rotten Bandage";
+ next;
+ mes "^FF0000[Pyramid 6F Monster Encyclopedia]^000000";
+ mes "3.Ghoul";
+ mes "Similar as Zombie but much more stronger. Yet very slow, you'd better run for your life when happen to meet this thing.";
+ mes "^0099FFFound Items^000000: Horrendous Mouth";
+ next;
+ mes "^FF0000[Pyramid 6F Monster Encyclopedia]^000000";
+ mes "4.Isis";
+ mes "Creature having the head and upper body of a woman and the tail of a snake. Her nail is quite a menace.";
+ mes "^0099FFFound Items^000000: Scale Skin,Shining Scale";
+ next;
+ mes "^FF0000[Pyramid 6F Monster Encyclopedia]^000000";
+ mes "5.Osiris";
+ mes "Mummy King with a rotten bandage all over the body, wearing a Crown on the head. He threatens Adventurers with an incredible might.";
+ mes "^0099FFFound Items^000000: Memento,Rotten Bandage,Hand of God,Elunium";
+ next;
+ goto Pyramid;
+ close;
+ EndPyramid:
+ close;
+ close;
+ Cancel:
+ close;
+}
+//<=========== Library - End ==========>\\ \ No newline at end of file
diff --git a/npc/other/bulletin_boards.txt b/npc/other/bulletin_boards.txt
new file mode 100644
index 000000000..0c63797b7
--- /dev/null
+++ b/npc/other/bulletin_boards.txt
@@ -0,0 +1,615 @@
+//===== eAthena Script =======================================
+//= Official scripts for beginners from iRO
+//===== By: ==================================================
+//= MasterOfMuppets
+//===== Current Version: =====================================
+//= 1.5
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Additional Comments: =================================
+//= 1.0 Added Alberta, Prontera, Izlude, Payon, Byalan Island,
+//= Archer Village, Payon Cave and Coal Mine
+//= 1.1 Geffen, Orc Dungeon
+//= 1.2 Added 5 more Boards [MasterOfMuppets]
+//= 1.3 Fixed spelling mistakes. [Nexon]
+//= 1.3a Fixed a missing close; [Nexon]
+//= 1.4 Added more BBS MasterOfMuppets
+//= 1.5 Added the last of the bulletin boards, I think... [MasterOfMuppets]
+//= 1.5a Fixed a small screw up with the color codes in the Glastheim BB [MasterOfMuppets]
+//= 1.5b Fixed another small screw up with the color codes in the Glastheim BB [Kayla]
+//============================================================
+
+alberta.gat,111,59,5 script Bulletin Board 837,{
+ mes "[Alberta: The Port City]";
+ mes "Welcome to Alberta, the Port City.";
+ next;
+ mes "[Alberta: The Port City]";
+ mes "In Alberta, you can find the Merchant guild where adventurers can change their job to merchant";
+ next;
+ mes "[Alberta: The Port City]";
+ mes "As a city that provides dependable sea travel, Alberta has provided the means for the foreign commerce that has brought prosperity to the Rune-Midgarts Kingdom.";
+ next;
+ mes "[Alberta: The Port City]";
+ mes "On the docks, you may find representatives from foreign lands that will guide tourists to their countries.";
+ next;
+ mes "[Alberta: The Port City]";
+ mes "Among seafarers, there is a rumor of a place known as ^338C60Turtle Island^000000. Intrepid adventurers may seek to investigate this rumor and learn the truth for themselves";
+ next;
+ mes "[Alberta: The Port City]";
+ mes "There is also a sunken ship that has been discovered near Alberta, and it has become a popular area for adventurers to explore";
+ next;
+ mes "[Alberta: The Port City]";
+ mes "From Alberta, ^1F3A11Payon^000000 is located to the Northwest. You can board passenger ships at the dock to travel to ^5E5C69Izlude^000000.";
+ mes "Enjoy your travels.";
+ close;
+}
+
+geffen.gat,124,65,5 script Bulletin Board 837,{
+ mes "[Geffen: The City of Magic]";
+ mes "Welcome to Geffen, the City of Magic. Geffen is well known for its various legends related to magic.";
+ next;
+ mes "[Geffen: The City of Magic]";
+ mes "Points of interest in the city include the Forge, where people can change their jobs to Blacksmith, the Magic Academy for aspiring mages, and the Geffen Tower for the Wizard job change.";
+ next;
+ mes "[Geffen: The City of Magic]";
+ mes "Underneath the Geffen Tower lies a dungeon in which dreadful monsters are rumored to appear.";
+ next;
+ mes "[Geffen: The City of Magic]";
+ mes "It is said that the lost city of Gefenia, a place of elven lore and legend, is hidden within the depths of this dungeon.";
+ next;
+ mes "[Geffen: The City of Magic]";
+ mes "From Geffen, the ^828E28Orc Village^000000 is located to the South, ^4C6055Glast Heim^000000 to the West, ^6D6FE0Prontera^000000 to the far East, and ^744B2DMt. Mjolnir^000000 to the North. Enjoy your stay here in Geffen.";
+ close;
+}
+
+gef_fild10.gat,69,340,5 script Bulletin Board 837,{
+ mes "[Orc Dungeon]";
+ mes "^6B1312Caution!^000000";
+ mes "The Orc Dungeon is comprised of 2 levels. Although not very strong individually, the monsters here attack in groups. Be careful.";
+ next;
+ mes "[Orc Dungeon]";
+ mes "Only in this dungeon will you be able to encounter Orc Skeletons, Zenorcs and Orc Zombies.";
+ next;
+ mes "[Orc Dungeon]";
+ mes "Holy attribute weapons will greatly aid you in this place, since most of the monsters in this dungeon are Undead.";
+ next;
+ mes "[Orc Dungeon]";
+ mes "If you don't have a Holy Weapon and you're teamed with a Priest, the Priest's Aspersio spell would be of tremendous help.";
+ close;
+}
+
+izlu2dun.gat,104,92,5 script Bulletin Board 837,{
+ mes "[Byalan Island]";
+ mes "^6B1312Caution!^000000";
+ mes "The Izlude dungeon is comprised of 5 levels. The first few levels are suited for newer adventurers.";
+ next;
+ mes "[Byalan Island]";
+ mes "As you venture deeper into the Byalan dungeon, you will encounter stronger, more powerful monsters.";
+ next;
+ mes "[Byalan Island]";
+ mes "With a few exceptions, most of the monsters in this dungeon are of the Water attribute. Therefore, a Wind attribute weapon will help you greatly";
+ close;
+}
+
+izlude.gat,131,116,4 script Bulletin Board 837,{
+ mes "[Izlude: The Satellite City]";
+ mes "Welcome to Izlude, the satellite of Prontera. Izlude was built to support Prontera's defense and to accommodate its burgeoning population";
+ next;
+ mes "[Izlude: The Satellite City]";
+ mes "Points of interest include the Swordsman Association building which allows adventurers to change their job to Swordsman, and the Battle Area that is North of Izlude.";
+ next;
+ mes "[Izlude: The Satellite City]";
+ mes "At the docks, you may take a ship and travel to ^123972Alberta^000000 or ^2F0400Byalan Island^000000.";
+ next;
+ mes "[Izlude: The Satellite City]";
+ mes "From Izlude, ^6D6FE0Prontera^000000 is located to the Northwest, and ^1F3A11Payon^000000 is located to the South.";
+ mes "Enjoy your travels in the Rune-Midgarts Kingdom.";
+ close;
+}
+
+payon.gat,178,108,5 script Bulletin Board 837,{
+ mes "[Payon: The Mountain City]";
+ mes "Welcome to Payon, the mountain city. Payon has recently been renovated, so we hope you enjoy the clean, nice streets and buildings.";
+ next;
+ mes "[Payon: The Mountain City]";
+ mes "Payon is famous for being a city of archery. For a long time, its citizens have made their living by hunting with bows and arrows. Bow crafting and training have also been developed here in Payon";
+ next;
+ mes "[Payon: The Mountain City]";
+ mes "Payon has various armor and weapons, especially for the Archer class. If you wish to become an Archer, it would be best to become familiar with this city.";
+ next;
+ mes "[Payon: The Mountain City]";
+ mes "Payon Palace is located in the center of the city. The Archer Village is located in the Northern part of Payon. There, people can change their jobs to Archer.";
+ next;
+ mes "[Payon: The Mountain City]";
+ mes "Near the Archer Village, you can find the ^2F0400Payon Cave^000000 where Undead monsters reside.";
+ next;
+ mes "[Payon: The Mountain City]";
+ mes "From Payon, ^123972Alberta^000000 is located to the Southeast, and ^866C4BMorroc^000000 is to the West. ^5E5C69Izlude^000000 and ^6D6FE0Prontera^000000 are North of Payon.";
+ mes "Enjoy your travels.";
+ close;
+}
+
+pay_arche.gat,79,30,5 script Bulletin Board 837,{
+ mes "[Archer Village]";
+ mes "Welcome to the Payon Archer Village where Novices can change their jobs to Archer.";
+ next;
+ mes "[Archer Village]";
+ mes "The Archer Village provides Bows and Tights that are available for purchase. These are necessities for new Archers and Hunters.";
+ next;
+ mes "[Archer Village]";
+ mes "If you wish to become an Archer, it is suggested to become familiar with this village. For aspiring Hunters, the Hunter Guild is located in a field that is East of Payon.";
+ close;
+}
+
+pay_arche.gat,40,135,5 script Bulletin Board 837,{
+ mes "[Payon Cave]";
+ mes "^6B1312Caution!^000000";
+ mes "Payon Cave consists of 5 levels full of Undead and Demon monsters. Beware of swarms of Hydra in the third and fourth levels.";
+ next;
+ mes "[Payon Cave]";
+ mes "In the fifth level, there is a pretty, yet dreadful boss monster known as ^6B1312Moonlight^000000 that spawns at certain times. Approach with extreme caution.";
+ close;
+}
+
+prontera.gat,148,49,5 script Bulletin Board 837,{
+ mes "[Prontera: Capital of the]";
+ mes "[Rune-Midgards Kingdom]";
+ mes "Welcome to Prontera, the capital city of Rune-Midgard.";
+ next;
+ mes "[Prontera: Capital of the]";
+ mes "[Rune-Midgards Kingdom]";
+ mes "Prontera is located in the center of the Rune-Midgard continent and is very well-known as a city of flourishing commerce.";
+ next;
+ mes "[Prontera: Capital of the]";
+ mes "[Rune-Midgards Kingdom]";
+ mes "In this city, you can fint the Sanctuary, where people can change their jobs to Acolyte and Priest.";
+ next;
+ mes "[Prontera: Capital of the]";
+ mes "[Rune-Midgards Kingdom]";
+ mes "You can also find the Castle, where people can change their jobs to Crusader.";
+ next;
+ mes "[Prontera: Capital of the]";
+ mes "[Rune-Midgards Kingdom]";
+ mes "Please feel free to explore the streets of Prontera, as there are various tourist attractions within the city.";
+ next;
+ mes "[Prontera: Capital of the]";
+ mes "[Rune-Midgards Kingdom]";
+ mes "When you need to upgrade your weapons and armors, please visit the building in the 5 o'clock direction from the fountain in the center of Prontera.";
+ next;
+ mes "[Prontera: Capital of the]";
+ mes "[Rune-Midgards Kingdom]";
+ mes "From Prontera, ^5E5C69Izlude^000000 is located to the Southeast, ^1F3A11Payon^000000 to the far South, ^683C1FGeffen^000000 to the far West and ^2D3832Al De Baran^000000 to the far North.";
+ mes "Enjoy Your time in Prontera.";
+ close;
+}
+
+mjolnir_02.gat,76,362,5 script Bulletin Board 837,{
+ mes "[Coal Mine]";
+ mes "^6B1312Caution!^000000";
+ mes "The Coal Mine consists of a total of 3 levels. This dungeon is suited to both new and experienced adventurers, depending on the dungeon level.";
+ next;
+ mes "[Coal Mine]";
+ mes "In the third level, monsters tend to attack adventurers in swarms, so avoid being surrounded. Since this area is a mine, many Ores can be found within the depths of this dungeon.";
+ close;
+}
+
+morocc.gat,152,110,5 script Bulletin Board 837,{
+ mes "[Morroc: The Frontier Town]";
+ mes "Welcome to Morroc, the City of the";
+ mes "Desert. Morroc was built on an";
+ mes "on an oasis, so this town can accommodate";
+ mes "its many visitors and travelers.";
+ next;
+ mes "[Morroc: The Frontier Town]";
+ mes "Morroc Castle lies in the center of";
+ mes "this city. Please feel free to";
+ mes "explore this town, and enjoy its";
+ mes "unique atmosphere. However, watch";
+ mes "your pockets and beware of Rogues";
+ mes "and Thieves.";
+ next;
+ mes "[Morroc: The Frontier Town]";
+ mes "From Morroc, the ^6B1312Pyramid Dungeon^000000";
+ mes "can be found to the Northwest, and";
+ mes "the ^6B1312Sphinx Dungeon^000000 can be found to";
+ mes "the West. To the southeast, you may";
+ mes "find ^6B1312Ant Hell.";
+ next;
+ mes "[Morroc: The Frontier Town]";
+ mes "The Assassin Guild is rumored to be";
+ mes "located to the Southeast. When you";
+ mes "head East from Morroc, and then";
+ mes "North, you will arrive at";
+ mes "^6D6FE0Prontera^000000.";
+ close;
+}
+
+comodo.gat,210,148,5 script Bulletin Board 837,{
+ mes "[Comodo: The Beach City]";
+ mes "Welcome! This town of Comodo is";
+ mes "surrounded by many ancient relics";
+ mes "from a forgotten era.";
+ next;
+ mes "[Comodo: The Beach City]";
+ mes "Only in Comodo can you find the";
+ mes "Dancer Guild and Bard Guild which";
+ mes "provide the opportunity for";
+ mes "adventurers to change their jobs to";
+ mes "Dancers and Bards.";
+ next;
+ mes "[Comodo: The Beach City]";
+ mes "You can also visit the Casino,";
+ mes "which is a popular as a tourist";
+ mes "attraction and place to lounge";
+ next;
+ mes "[Comodo: The Beach City]";
+ mes "You can buy Berserk Potions, a";
+ mes "special product of Comodo, from the";
+ mes "Tool Dealers in the area.";
+ next;
+ mes "[Comodo: The Beach City]";
+ mes "There are 3 caves around Comodo";
+ mes "that are inhabited by many";
+ mes "different monsters. If you enter";
+ mes "these areas, please be extremely";
+ mes "careful.";
+ next;
+ mes "[Comodo: The Beach City]";
+ mes "From Comodo, you can travel to";
+ mes "^866C4BMorroc^000000 through the East Cave";
+ mes "and to ^7D2272Umbala^000000 through the North";
+ mes "Cave.";
+ next;
+ mes "[Comodo: The Beach City]";
+ mes "To the East, you can find ^BF2B0DParos";
+ mes "^BF2B0DLighthouse^000000, where the Rogue Guild";
+ mes "is located. Enjoy the Comodo night";
+ mes "life~";
+ close;
+}
+
+umbala.gat,137,94,5 script Bulletin Board 837,{
+ mes "[Umbala: The Utan Village]";
+ mes "Welcome to Umbala,";
+ mes "the village of the Utan tribe.";
+ next;
+ mes "[Umbala: The Utan Village]";
+ mes "Umbala, as well as the Utan tribe";
+ mes "which speak their own unique";
+ mes "language, was recently discovered";
+ mes "by a few intrepid adventurers.";
+ next;
+ mes "[Umbala: The Utan Village]";
+ mes "Scholars believe that Umbala may be";
+ mes "the border between our world";
+ mes "and another realm. They believe the";
+ mes "junction between the worlds might";
+ mes "be the Yggdrasil tree to the North.";
+ next;
+ mes "[Umbala: The Utan Village]";
+ mes "Points of interest include the";
+ mes "Chief's House, the Shaman's House,";
+ mes "and the Bungee Jump Area. Thousands";
+ mes "of tourists visit the Bungee Jump";
+ mes "Area to test their courage.";
+ next;
+ mes "[Umbala: The Utan Village]";
+ mes "From Umbala, head South to go to";
+ mes "^D91B73Comodo^000000. Please enjoy your";
+ mes "stay here in Umbala.";
+ close;
+}
+
+gef_fild09.gat,227,29,4 script Bulletin Board::OrcsBoard 835,{
+ mes "[Orc Village]";
+ mes "^6B1312Caution!^000000";
+ mes "Beyond this point";
+ mes "lies the Orc Village.";
+ next;
+ mes "[Orc Village]";
+ mes "Be aware that this village is";
+ mes "teeming with dangerous Orcs, namely";
+ mes "Orc Warriors, Orc Ladies and High";
+ mes "Orcs. Two boss monsters, ^6B1312Orc Hero^000000";
+ mes "and ^6B1312Orc Lord^000000 will also appear at certain times.";
+ close;
+}
+
+gef_fild13.gat,202,31,5 duplicate(OrcsBoard) Bulletin Board 835
+
+gef_fild13.gat,29,206,5 script Bulletin Board::KoboldsBoard 836,{
+
+ mes "[Kobold Village]";
+ mes "^6B1312Caution!^000000";
+ mes "You're heading to the Kobold Village.";
+ mes "Please be aware this village is filled with many kobolds.";
+ close;
+}
+
+gef_fild08.gat,211,24,5 duplicate(KoboldsBoard) Bulletin Board 836
+
+gef_fild10.gat,109,23,5 script Bulletin Board 836,{
+
+ mes "[Goblin Village]";
+ mes "^6B1312Caution!^000000";
+ mes "You're heading to the Goblin Village.";
+ mes "Please be aware this village is filled with many goblins.";
+ close;
+}
+
+prt_fild05.gat,278,220,5 script Bulletin Board 837,{
+ mes "[Culvert]";
+ mes "Culvert is comprised of a total of";
+ mes "4 levels, and is a good training";
+ mes "ground for new adventurers.";
+ next;
+ mes "[Culvert]";
+ mes "In order to access the Culver, you";
+ mes "must volunteer as a monster";
+ mes "exterminator at the Prontera";
+ mes "Chivalry. Remember that the";
+ mes "monsters here may attack in";
+ mes "swarms.";
+ next;
+ mes "[Culvert]";
+ mes "In the fourth level of the Prontera";
+ mes "Culvert, you may encounter the boss";
+ mes "monster known as the ^6B1312Golden Thief";
+ mes "^6B1312Bug^000000. New adventurers should";
+ mes "exercise caution.";
+ close;
+}
+
+yuno.gat,154,112,5 script Bulletin Board 837,{
+ mes "[Juno: Capital of]";
+ mes "[The Schwartzwald Republic]";
+ mes "Welcome to Juno, the City of Sages.";
+ mes "Juno is kept aloft in the air by";
+ mes "the power of the Ymir Heart";
+ mes "Pieces";
+ next;
+ mes "[Juno: Capital of]";
+ mes "[The Schwartzwald Republic]";
+ mes "Those interested in becoming Sages";
+ mes "should visit the Sage Castle for";
+ mes "more information on the Sage job";
+ mes "and its requirements.";
+ next;
+ mes "[Juno: Capital of]";
+ mes "[The Schwartzwald Republic]";
+ mes "Other notable places include the";
+ mes "Monster Museum, Magic Academy";
+ mes "and the Juno Library.";
+ next;
+ mes "[Juno: Capital of]";
+ mes "[The Schwartzwald Republic]";
+ mes "Somewhere around Juno, there is";
+ mes "information regarding secret access";
+ mes "to the world where adventurers may";
+ mes "be reborn with newfound strength.";
+ next;
+ mes "[Juno: Capital of]";
+ mes "[The Schwartzwald Republic]";
+ mes "To the Southeast of Juno lies ^6B1312Nogg";
+ mes "^6B1312Road^000000, the Magma Dungeon. Nogg Road";
+ mes "is infamous for its aggressive";
+ mes "creatures, so be careful";
+ next;
+ mes "[Juno: Capital of]";
+ mes "[The Schwartzwald Republic]";
+ mes "From Juno, ^2D3832Al De Baran^000000, a city of";
+ mes "the Rune-Midgarts Kingdom, is";
+ mes "located to the South.";
+ close;
+}
+
+aldebaran.gat,145,105,5 script Bulletin Board 837,{
+ mes "[Al De Baran: The Border City]";
+ mes "Welcome to Al De Baran, the border";
+ mes "city of the Rune-Midgarts Kingdom.";
+ mes "Al De Baran's beautiful canals and";
+ mes "majestic Clock Tower are a source";
+ mes "of pride for its citizens.";
+ next;
+ mes "[Al De Baran: The Border City]";
+ mes "Adventurers can explore the Clock";
+ mes "Tower located in the city's center.";
+ mes "Other notable places are the Kafra";
+ mes "Corporation Headquarters, and the";
+ mes "Alchemist Guild which provides the";
+ mes "Alchemist job change.";
+ next;
+ mes "[Al De Baran: The Border City]";
+ mes "There is a fully trained Santa";
+ mes "Claus somewhere in Al De Baran who";
+ mes "can send you to the magical town of";
+ mes "^1D2585Lutie^000000. If you're interested in";
+ mes "seeing it for yourself, you must";
+ mes "seek Santa Claus.";
+ next;
+ mes "[Al De Baran: The Border City]";
+ mes "From this city, ^60D5FDJuno^000000 is located to";
+ mes "the North, and ^6D6FE0Prontera^000000 is located";
+ mes "to the South.";
+ close;
+}
+
+aldebaran.gat,136,133,5 script Bulletin Board 837,{
+ mes "[Clock Tower]";
+ mes "^6B1312Caution!^000000";
+ mes "Only well-experienced adventurers";
+ mes "should consider entering the Clock";
+ mes "Tower. There are a total of 8";
+ mes "levels: 4 beneath the ground and 4 above the earth.";
+ next;
+ mes "[Clock Tower]";
+ mes "The main monsters of the Clock";
+ mes "Tower are Clocks, Alarms and";
+ mes "Bathories. Beware of the Clock";
+ mes "Tower Keepers on patrol.";
+ next;
+ mes "[Clock Tower]";
+ mes "The paths in the Clock Tower are";
+ mes "winding and complicated, so please";
+ mes "be careful and avoid getting";
+ mes "lost.";
+ close;
+}
+
+moc_fild19.gat,107,101,5 script Bulletin Board 837,{
+ mes "[Sphinx]";
+ mes "^6B1312Caution!^000000";
+ mes "The Sphinx consists of 5 levels.";
+ mes "This dungeon is suited for training";
+ mes "well-experienced adventurers.";
+ next;
+ mes "[Sphinx]";
+ mes "There are many aggressive monsters";
+ mes "residing in the Sphinx, and it is";
+ mes "advised to run away if you happen";
+ mes "to be surrounded by them.";
+ next;
+ mes "[Sphinx]";
+ mes "In the fifth level, the boss";
+ mes "monster ^6B1312Pharaoh^000000 will appear at";
+ mes "certain times. Exorcise with";
+ mes "extreme prejudice.";
+ close;
+}
+
+gef_tower.gat,55,142,5 script Bulletin Board 837,{
+
+ mes "[Geffen Dungeon]";
+ mes "^6B1312Caution!^000000";
+ mes "Geffen dungeon is consisted of 3 levels";
+ mes "is too difficult for new adventurers to venture.";
+ mes "As main monsters constantly appear,";
+ mes "there are ^6B1312Hunter Flies^000000, ^6B1312Nightmares^000000 and ^6B1312Jakks^000000.";
+ mes "Nightmares and Jakks only appear in this dungeon.";
+ next;
+ mes "[Geffen Dungeon]";
+ mes "On the 2nd level of this dungeon,";
+ mes "^6B1312Ogretooth^000000, the creature of a doomed sword and ^6B1312Dracula^000000,";
+ mes "the boss monster appear without warning.";
+ mes "On the 3rd level, ^6B1312Doppelganger^000000 one of the strongest boss monster appears at certain time.";
+ close;
+}
+
+xmas_fild01.gat,75,80,5 script Bulletin Board 837,{
+
+ mes "[Winter Town, Lutie]";
+ mes "Welcome to Lutie, the town of snowfall.";
+ mes "Manufacturing toys in the toy factory is the main";
+ mes "business of this town.";
+ next;
+ mes "[Winter Town, Lutie]";
+ mes "You can access to the toy factory dungeon";
+ mes "at the north of Lutie.";
+ mes "Please remember to visit Lutie in Christmas season.";
+ mes "There are various event held with joy.";
+ mes "Please beware of ^6B1312Stormy Knight^000000 and ^6B1312Hatii^000000 the boss monsters of the toy factory dungeon.";
+ close;
+}
+
+xmas.gat,147,311,5 script Bulletin Board 837,{
+
+ mes "[Toy Factory]";
+ mes "^6B1312Caution!^000000";
+ mes "Toy Factory is consisting of 2 levels.";
+ mes "This dungeon is not that difficult to venture for new adventurers,";
+ mes "but there are 3 dangerous boss monsters spawn at certain time.";
+ next;
+ mes "[Toy Factory]";
+ mes "In 1st level, you will encounter a boss monster, ^6B1312Angeling^000000.";
+ mes "In 2nd level, you will encounter 2 dangrous boss monsters which are";
+ mes "^6B1312Stormy Knight^000000 and ^6B1312Hatii^000000. It is adviced to be attentive while venturing.";
+ mes "For your reference, ^6B1312Myst Cases^000000, ^6B1312Cruisers^000000 and ^6B1312Cookies^000000 only appear in this dungeon.";
+ close;
+}
+
+yuno_fild03.gat,37,143,5 script Bulletin Board 837,{
+
+ mes "[The Magma Dungeon, Nogg Road]";
+ mes "^6B1312Caution!^000000";
+ mes "Nogg Road is filled with very dangerous creatures.";
+ mes "It is limited to enter only to well-experienced adventurers.";
+ next;
+ mes "[The Magma Dungeon, Nogg Road]";
+ mes "Main Monsters of this dungeon is";
+ mes "^6B1312Kahos^000000 and ^6B1312Nightmare Terrors^000000.";
+ mes "Please be attentive.";
+ close;
+}
+
+niflheim.gat,200,191,5 script Bulletin Board 837,{
+
+ mes "[City of the Dead, Nifflheim]";
+ mes "Welcome to Nifflheim, the City of the Dead.";
+ mes "Nifflheim was known as the other world where";
+ mes "you come after the death.";
+ mes "However, recently people found out a secret path behind of a mysterious tree.";
+ mes "So, you will find many other people travelling around this area.";
+ next;
+ mes "[City of the Dead, Nifflheim]";
+ mes "As a tourist attraction, The Witch's castle is suggested.";
+ mes "Unlike normal towns, it is prohibited to save respawn point or";
+ mes "warp point inside Nifflheim. Also monsters spawn within the town as well.";
+ next;
+ mes "[City of the Dead, Nifflheim]";
+ mes "Especially, please be attentive with a boss monster";
+ mes "called ^6B1312Lord of the Death^000000.";
+ next;
+ mes "[City of the Dead, Nifflheim]";
+ mes "When you go ahead west, you will arrive at ^6B1312Valley of Gyoll^000000";
+ mes "where all the powerful and fearful monsters dwell upon.";
+ mes "It is suggested to leave the area immediately in case of a new solo adventurer.";
+ close;
+}
+
+moc_fild15.gat,267,264,5 script Bulletin Board 837,{
+
+ mes "[Ant Hell]";
+ mes "^6B1312Caution!^000000";
+ mes "Ant Hell is consisting of 2 levels.";
+ mes "As the name shows, this dungeon is filled with various ants";
+ mes "and good as the training grounds for new adventurers.";
+ next;
+ mes "[Ant Hell]";
+ mes "However, please be aware that ^6B1312Maya Purple^000000 appears in the 1st level";
+ mes "and ^6B1312Maya^000000 does in the 2nd level. They are the queens of ants.";
+ mes "Also, in the field where you're standing";
+ mes "a boss monster called ^6B1312Phreeoni^000000 will appear at certain time.";
+ close;
+}
+
+moc_ruins.gat,61,164,5 script Bulletin Board 837,{
+
+ mes "[Pyramids]";
+ mes "^6B1312Caution!^000000";
+ mes "Pyramids is consisting of total 7 levels as 4 levels on the earth and the rest under the ground.";
+ mes "First few levels are suited for new adventurers to venture, but as deeper you go down, you will encounter stronger monsters.";
+ next;
+ mes "[Pyramids]";
+ mes "In first level, there is the thief guild where people can change their jobs into Thief.";
+ mes "In the 4:th level, a boss monster called ^6B1312Osiris^000000 appears at certain time.";
+ mes "In the 3:d basement, ^6B1312Amon Ra^000000 appears at certain time.";
+ close;
+}
+
+glast_01.gat,369,308,5 script Bulletin Board 837,{
+
+ mes "[Glast Heim]";
+ mes "Glast Heim is an enormous dungeon with countless levels.";
+ mes "This dungeon is definately not for new or experienced adventurers";
+ mes "but for dungeon experts.";
+ next;
+ mes "[Glast Heim]";
+ mes "There are many fearsome monsters such as ^6B1312Dark Lord^000000,";
+ mes "^6B1312Owl Baron^000000, ^6B1312Owl Duke^000000, ^6B1312Dark Illusion^000000, ^6B1312Bloody Knight^000000, ^6B1312Abysmal Knight^000000, ^6B1312Chimera^000000 and various types of doomed swords.";
+ next;
+ mes "[Glast Heim]";
+ mes "However, more difficult the expedition is, greater the reward is.";
+ mes "Therefore, this dungeon is pretty popular among dungeon experts.";
+ mes "Enjoy your dungeon expedition.";
+ close;
+}
diff --git a/npc/other/marriage.txt b/npc/other/marriage.txt
new file mode 100644
index 000000000..c23b4ff98
--- /dev/null
+++ b/npc/other/marriage.txt
@@ -0,0 +1,847 @@
+//////////////////////////////////////////////////////////
+// Marriage Script //
+//////////////////////////////////////////////////////////
+//
+//=====eAthena Script====================================
+// Wedding Script
+//=====By================================================
+// AppleGirl and Evera(version 1.0)
+//=====Current Version===================================
+// 2.5
+//=====Compatible With:==================================
+// eAthena Version SVN-R1968 and up; RO Episode 6+
+//=====Description=======================================
+// Fully working wedding script for all kind of weddings
+//=====Additional Comments:==============================
+// Lesbian and Gay Weddings by ShadowLady (version 1.1)
+// Complete Rewrite by Skotlex (version 2.0->2.5)
+//=======================================================
+//
+
+// Configuration Variables:
+- script marriage_init -1,{
+OnInit:
+ set $@wed_allow, 0; //If 1, allows same sex marriages.
+ set $@wed_veil, 1; //Set to 0 to disable veil check on the bride
+
+//Id of the item that is traded for the wedding ring (use 0 to disable):
+ set $@wed_ring, 2613;
+
+ set $@wed_groom_reg, 1300000; //Registration cost for the Groom
+ set $@wed_bride_reg, 1200000; //Registration cost for the Bride
+ set $@wed_divorce_fee, 50000; //Divorcing fee
+ set $@wedding_effect, 1; //On who to display the FX: 0: Priest, 1: Bride, 2: Groom
+ end;
+}
+
+// Other Configuration:
+// Line 59,60: Priest location, sprite and name.
+// Line 392,393: Registration location, sprite and name.
+// Line 728,729: Divorcing location, sprite and name.
+
+// Variable Notes:
+// $wed_progress Signals that there is a wedding in progress
+// $wed_groom$ - Groom's name storage
+// $wed_groom_sex - Groom's gender (for same marriage ring giving)
+// $wed_bride$ - Bride's name storage
+// $wed_bride_sex - Groom's gender (for same marriage ring giving)
+// $wed_groom_progress - Notes the progress on the groom's part
+// $wed_bride_progress - Notes the progress on the bride's part
+// 0: Not registered. 1: Registered. 2: Accepted the partner. 3: Ready to
+// Retrieve the ring. 4: Retrieved the ring. 5: All set to be wed. 6: Already
+// a couple.
+// ceremony.
+// $divorce_progress signals that there is a divorce in progress
+// $@divorcer$ name of the person who requested divorce
+// $@divorcee id of the partner, who has to accept the divorce and pay.
+
+//The Priest
+prt_church.gat,100,123,4 script Frederick Second 60,{
+ set @name$,"Frederick Second";
+ if (getpartnerid() > 0) goto L_MARRIED;
+ if ($wed_progress == 1) goto L_WED_PROGRESS;
+ mes "["+@name$+"]";
+ mes "Hello child. How is life treating you?";
+ close;
+
+OnInit:
+ if ($wed_groom_progress!=6)
+ end;
+ callsub SF_wed_end;
+ end;
+
+L_MARRIED:
+ mes "["+@name$+"]";
+ mes "You have my blessings, have a wonderful married life.";
+ close;
+
+L_WED_PROGRESS:
+ if (strcharinfo(0) == $wed_groom$) goto L_GROOM;
+ if (strcharinfo(0) == $wed_bride$) goto L_BRIDE;
+ if (($wed_groom_progress > 0) && ($wed_bride_progress > 0)) goto L_ASK_DENIAL;
+ mes "["+@name$+"]";
+ mes "There is a wedding being planned. I would appreciate it if you would not interrupt me.";
+ close;
+
+L_ASK_DENIAL:
+ if ($wed_groom_progress == 6) goto L_TOO_LATE;
+ mes "["+@name$+"]";
+ mes "I am going to wed "+$wed_groom$+" and "+$wed_bride$+", do you have an objection to it?";
+ menu "Sorry, please go on.",-,"Yes, I actually do.",L_DENIAL;
+ mes "Very well, go sit and enjoy the ceremony.";
+ close;
+
+L_DENIAL:
+ npctalk "Ladies and gentlemen, "+strcharinfo(0)+" has an objection to the wedding!";
+ callsub SF_wed_end;
+ mes "Why should they not be wed?";
+ input $@msg$;
+ npctalk strcharinfo(0)+"'s objection is: "+$@msg$;
+ emotion e_sob;
+ mes "I see...";
+ close;
+
+L_TOO_LATE:
+ mes "["+@name$+"]";
+ mes "I am wedding "+$wed_groom$+" and "+$wed_bride$+", and it's already too late to object. Please let me continue.";
+ close;
+
+L_GROOM:
+ if ($wed_bride_progress == 0)
+ goto L_NO_BRIDE;
+
+ callsub SF_equip_check;
+
+ if ($wed_groom_progress == 1)
+ goto L_ACCEPT_BRIDE;
+ if ($wed_groom_progress == 2)
+ goto L_WAIT_ACCEPT;
+ if ($wed_groom_progress == 3)
+ goto L_RETRIEVE_RING_M;
+ if ($wed_groom_progress == 4)
+ goto L_WAIT_RETRIEVE;
+ if ($wed_groom_progress == 5)
+ goto L_RESUME_CEREMONY;
+ mes "["+@name$+"]";
+ mes "Please don't interrupt me now.";
+ close;
+
+L_BRIDE:
+ if ($wed_groom_progress == 0)
+ goto L_NO_GROOM;
+
+ callsub SF_equip_check;
+
+ if ($wed_bride_progress == 1)
+ goto L_ACCEPT_GROOM;
+ if ($wed_bride_progress == 2)
+ goto L_WAIT_ACCEPT;
+ if ($wed_bride_progress == 3)
+ goto L_RETRIEVE_RING_F;
+ if ($wed_bride_progress == 4)
+ goto L_WAIT_RETRIEVE;
+ if ($wed_bride_progress == 5)
+ goto L_RESUME_CEREMONY;
+ mes "["+@name$+"]";
+ mes "Please don't interrupt me now.";
+ close;
+
+L_NO_BRIDE:
+ mes "["+@name$+"]";
+ mes "Looks like your bride has yet to arrive and register.";
+ close;
+
+L_NO_GROOM:
+ mes "["+@name$+"]";
+ mes "Looks like your groom has yet to arrive and register.";
+ close;
+
+L_ACCEPT_GROOM:
+ mes "["+@name$+"]";
+ mes $wed_bride$+", "+$wed_groom$+" has requested to be your husband for the rest of your life. Do you accept?";
+ next;
+ menu "I need time to think about it.",L_ACCEPT_DELAY,
+ "No, I don't!",L_REJECT_GROOM,
+ "Yes, I do!",-;
+ set $wed_bride_progress,2;
+ if ($wed_groom_progress == 2) goto L_LET_ACCEPT_RINGS;
+ emotion e_ok;
+ mes "["+@name$+"]";
+ mes "After your groom approves, you will be given your rings, the ceremony will begin and you will be officially married.";
+ close;
+
+L_REJECT_GROOM:
+ mes "["+@name$+"]";
+ mes "!!";
+ mes "Ah... err... ehm... okay. You two seem to have some differences to settle first.";
+ close2;
+ emotion e_omg;
+ npctalk "Ladies and gentlemen, "+$wed_bride$+" has rejected to marry "+$wed_groom$+"!";
+ callsub SF_wed_end;
+ end;
+
+L_ACCEPT_BRIDE:
+ mes "["+@name$+"]";
+ mes $wed_groom$+", "+$wed_bride$+" has requested to be your wife for the rest of your life. Do you accept?";
+ next;
+ menu "I need time to think about it.",L_ACCEPT_DELAY,
+ "No, I don't!",L_REJECT_BRIDE,
+ "Yes, I do!",-;
+ set $wed_groom_progress,2;
+ if ($wed_bride_progress == 2) goto L_LET_ACCEPT_RINGS;
+ emotion e_ok;
+ mes "["+@name$+"]";
+ mes "After your bride approves, you will be given your rings, the ceremony will begin and you will be officially married.";
+ close;
+
+L_REJECT_BRIDE:
+ mes "["+@name$+"]";
+ mes "!!";
+ mes "Ah... err... ehm... okay. You two seem to have some differences to settle first.";
+ emotion e_omg;
+ close2;
+ npctalk "Ladies and gentlemen, "+$wed_groom$+" has rejected to marry "+$wed_bride$+"!";
+ callsub SF_wed_end;
+ end;
+
+L_ACCEPT_DELAY:
+ mes "["+@name$+"]";
+ mes "You what!?";
+ mes "err.. *cough* *cough* very well... come back after you've made up your mind.";
+ emotion e_ag;
+ close;
+
+L_WAIT_ACCEPT:
+ mes "["+@name$+"]";
+ mes "I am waiting for your partner to accept you to start the ceremony.";
+ close;
+
+L_WAIT_RETRIEVE:
+ mes "["+@name$+"]";
+ mes "Your partner's wedding ring hasn't been retrieved yet. The ceremony will start as soon as you both have claimed your rings.";
+ close;
+
+L_LET_ACCEPT_RINGS:
+ mes "["+@name$+"]";
+ mes "Now that you both have accepted, the wedding will begin. Please come forth, you and your partner, to retrieve your rings.";
+ set $wed_bride_progress,3;
+ set $wed_groom_progress,3;
+ announce $wed_groom$+" and "+$wed_bride$+"'s wedding ceremony will be held at the church!",8;
+ close2;
+ emotion e_lv;
+ npctalk "May the groom and bride please step forward and retrieve their rings?";
+ end;
+
+L_RETRIEVE_RING_M:
+ mes "["+@name$+"]";
+ if ($@wed_ring && countitem($@wed_ring) < 1) goto L_MISSING_RING;
+ set @item, 2635; //Bride's wedding ring
+ if ($wed_bride_sex)
+ set @item, 2634; //Groom's wedding ring
+ if (getnameditem(@item,$wed_groom$) == 0) goto L_RING_FAILED;
+ mes "Here's the wedding ring for your bride.";
+ if ($@wed_ring) delitem $@wed_ring,1;
+ set $wed_groom_progress,4;
+ if ($wed_bride_progress == 4) goto L_START_CEREMONY;
+ mes "Once your bride retrieves the ring, the ceremony will begin.";
+ close;
+
+L_RETRIEVE_RING_F:
+ mes "["+@name$+"]";
+ if ($@wed_ring && countitem($@wed_ring) < 1) goto L_MISSING_RING;
+ set @item, 2635; //Bride's wedding ring
+ if ($wed_groom_sex)
+ set @item, 2634; //Groom's wedding ring
+ if (getnameditem(@item,$wed_bride$) == 0)
+ goto L_RING_FAILED;
+ mes "Here's the wedding ring for your groom.";
+ if ($@wed_ring) delitem $@wed_ring,1;
+ set $wed_bride_progress,4;
+ if ($wed_groom_progress == 4) goto L_START_CEREMONY;
+ mes "Once your groom retrieves the ring, the ceremony will begin.";
+ close;
+
+L_MISSING_RING:
+ mes "What happened to your "+getitemname($@wed_ring)+"? You didn't lose it... did you? We need it to continue with the ceremony!";
+ close;
+
+L_RING_FAILED:
+ mes "You don't seem to have enough space to carry the ring... go free up some space and come back to reclaim your partner's ring.";
+ close;
+
+L_RESUME_CEREMONY:
+ mes "["+@name$+"]";
+L_START_CEREMONY:
+ mes "I will now start the wedding ceremony, and you will be declared forth husband and wife.";
+ set $wed_bride_progress,5;
+ set $wed_groom_progress,5;
+ set $@msg$,$wed_groom$;
+ if (strcharinfo(0) == $wed_groom$)
+ set $@msg$,$wed_bride$;
+ set @res,marriage($@msg$);
+ if (@res == 0) goto L_FAILED_WEDDING;
+ set $wed_bride_progress,6;
+ set $wed_groom_progress,6;
+ close2;
+ initnpctimer;
+ if ($@wedding_effect == 1)
+ attachnpctimer $wed_bride$;
+ if ($@wedding_effect == 2)
+ attachnpctimer $wed_groom$;
+ end;
+
+L_FAILED_WEDDING:
+ next;
+ mes "["+@name$+"]";
+ mes "Where is "+$@msg$+"?? I can't marry you both if one is missing...";
+ close;
+
+OnTimer1000:
+ npctalk "Ladies and Gentlemen, We will now join in holy matrimony these two lovers.";
+ end;
+OnTimer5000:
+ npctalk "Now more than ever, will both of your lives be entwined together as so will be your souls.";
+ end;
+
+OnTimer10000:
+ npctalk "You will both honor and cherish each other through the best and worst of times.";
+ end;
+
+OnTimer15000:
+ npctalk "The safety and well being of your other will now also be your responsibility.";
+ end;
+
+OnTimer20000:
+ npctalk "May in sickness or good health, your love burn bright like no force can extinguish it.";
+ end;
+
+OnTimer25000:
+ npctalk "Those here stand witness to these vows bestowed upon you, you must act accordingly to them.";
+ end;
+
+OnTimer30000:
+ npctalk "Understanding that, we are nothing more but mortals on this earth, but this is our triumph.";
+ end;
+
+OnTimer35000:
+ npctalk "We here will now join these two mortal entities, and create an immortal love.";
+ end;
+
+OnTimer40000:
+ npctalk $wed_groom$+", you have accepted to take "+$wed_bride$+" as your lawfully wedded wife,";
+ end;
+
+OnTimer45000:
+ npctalk "and you, "+$wed_bride$+", have accepted take "+$wed_groom$+" as your lawfully wedded husband.";
+ end;
+
+OnTimer50000:
+ npctalk "And as such, now, by the powers vested in me...";
+ end;
+
+OnTimer55000:
+ npctalk "I pronounce you Husband and Wife, you may kiss the bride and exchange rings.";
+ wedding;
+ if ($@wedding_effect)
+ detachnpctimer;
+ callsub SF_wed_end;
+ stopnpctimer;
+ end;
+
+//Subfunction: Checks that the groom/bride is still wearing their stuff.
+SF_equip_check:
+ if (sex && getequipid(2) != 7170)
+ goto SL_NO_TUXEDO;
+ if (sex == 0 && getequipid(2) != 2338)
+ goto SL_NO_DRESS;
+ if (sex == 0 && $@wed_veil && getequipid(1) != 2206)
+ goto SL_NO_VEIL;
+ return;
+
+SL_NO_TUXEDO:
+ mes "["+@name$+"]";
+ mes "Child, what did you do with your "+getitemname(7170)+"?";
+ emotion e_dots;
+ close;
+
+SL_NO_DRESS:
+ mes "["+@name$+"]";
+ mes "Child, you are supposed to wear a "+getitemname(2338)+" at all times during the ceremony...";
+ emotion e_dots;
+ close;
+
+SL_NO_VEIL:
+ mes "["+@name$+"]";
+ mes "Child, you can't take off your "+getitemname(2206)+" yet....";
+ emotion e_dots;
+ close;
+
+//Subfunction: Resets wedding variables.
+SF_wed_end:
+ set $wed_groom$,"";
+ set $wed_groom_sex, 0;
+ set $wed_bride$,"";
+ set $wed_bride_sex, 0;
+ set $wed_groom_progress,0;
+ set $wed_bride_progress,0;
+ set $wed_progress,0;
+ return;
+}
+
+//Registration & Status
+prt_church.gat,106,99,3 script Sister Mary 67,{
+ set @name$,"Mary";
+ if (getpartnerid() > 0) goto L_MARRIED;
+ if ($wed_progress == 1) goto L_WED_PROGRESS;
+L_MAIN:
+ mes "["+@name$+"]";
+ mes "Marriage... is such a beautiful thing.";
+ mes "Would you like to get married with someone?";
+ next;
+ menu "I'll be single forever!",-,
+ "Explain the principles of marriage.",L_PRINCIPLES,
+ "Explain the marriage procedure.",L_PROCEDURE,
+ "I want to get married with someone.",L_REGISTER;
+
+ mes "["+@name$+"]";
+ mes "In that case, enjoy your bachelor's life.";
+ close;
+
+L_MARRIED:
+ mes "["+@name$+"]";
+ mes "Isn't marriage beautiful?";
+ close;
+
+L_REGISTER:
+ if ($@wed_allow == 0) goto L_REGISTER_M;
+ mes "["+@name$+"]";
+ mes "Very well, whom would you like to register as?";
+ next;
+ menu "Groom",L_CHECK_GROOM,"Bride",L_CHECK_BRIDE,"Cancel",-;
+ mes "["+@name$+"]";
+ mes "Come back when you are ready.";
+ close;
+
+L_REGISTER_M:
+ if (sex == 0) goto L_REGISTER_F;
+ mes "["+@name$+"]";
+ mes "Very well, will you register as the Groom?";
+ next;
+ menu "Yes",L_CHECK_GROOM,"I've changed my mind.",-;
+ mes "["+@name$+"]";
+ mes "Come back when you are ready.";
+ close;
+
+L_REGISTER_F:
+ mes "["+@name$+"]";
+ mes "Very well, will you register as the Bride?";
+ next;
+ menu "Yes",L_CHECK_BRIDE,"I've changed my mind.",-;
+ mes "["+@name$+"]";
+ mes "Come back when you are ready.";
+ close;
+
+L_CHECK_GROOM:
+ callsub SF_check_requirements, 0;
+ set $wed_progress,1;
+ set $wed_groom_progress,1;
+ set $wed_groom$,strcharinfo(0);
+ set $wed_groom_sex, sex;
+ mes "["+@name$+"]";
+ mes "You are now registered as the groom.";
+ mes "Tell your bride to register as soon as possible.";
+ emotion e_hmm;
+ initnpctimer;
+ close;
+
+L_CHECK_BRIDE:
+ callsub SF_check_requirements, 1;
+ set $wed_progress,1;
+ set $wed_bride_progress,1;
+ set $wed_bride$,strcharinfo(0);
+ set $wed_bride_sex, sex;
+ mes "["+@name$+"]";
+ mes "You are now registered as the bride.";
+ mes "Tell your groom to register as soon as possible.";
+ emotion e_hmm;
+ initnpctimer;
+ close;
+
+L_WED_PROGRESS:
+ if (strcharinfo(0) == $wed_groom$) goto L_GROOM_PROGRESS;
+ if (strcharinfo(0) == $wed_bride$) goto L_BRIDE_PROGRESS;
+ if (($wed_groom_progress == 0) && (sex == 1 || $@wed_allow == 1)) goto L_ASK_GROOM;
+ if (($wed_bride_progress == 0) && (sex == 0 || $@wed_allow == 1)) goto L_ASK_BRIDE;
+ mes "["+@name$+"]";
+ mes "There is a wedding in progress.";
+ mes "Would you like to know the progress of said wedding?";
+ next;
+ menu "Yes",L_SHOW_PROGRESS,"No",-;
+ mes "["+@name$+"]";
+ mes "Enjoy the wedding.";
+ close;
+
+L_GROOM_PROGRESS:
+ if ($wed_bride_progress > 0) goto L_TALK_PRIEST;
+ mes "["+@name$+"]";
+ mes "Tell your bride to register, what is taking so long? Time is running out.";
+ close;
+
+L_BRIDE_PROGRESS:
+ if ($wed_groom_progress > 0) goto L_TALK_PRIEST;
+ mes "["+@name$+"]";
+ mes "Tell your groom to register, what is taking so long? Time is running out.";
+ close;
+
+L_TALK_PRIEST:
+ mes "["+@name$+"]";
+ mes "The Priest will handle the rest of the ceremony.";
+ close;
+
+L_ASK_GROOM:
+ mes "["+@name$+"]";
+ mes $wed_bride$+" is waiting for the groom to register. Are you the one who came to register as groom?";
+ next;
+ menu "Yes, I am.",-,"Sorry, you got the wrong person.",L_NOT_ME;
+ callsub SF_check_requirements, 0;
+ stopnpctimer;
+ set $wed_groom_progress,1;
+ set $wed_groom$,strcharinfo(0);
+ set $wed_groom_sex, sex;
+ goto L_REG_FINISH;
+
+L_ASK_BRIDE:
+ mes "["+@name$+"]";
+ mes $wed_groom$+" is waiting for the bride to register. Are you the one who came to register as the bride?";
+ next;
+ menu "Yes, I am.",-,"Sorry, you got the wrong person.",L_NOT_ME;
+ callsub SF_check_requirements, 1;
+ stopnpctimer;
+ set $wed_bride_progress,1;
+ set $wed_bride$,strcharinfo(0);
+ set $wed_bride_sex, sex;
+
+L_REG_FINISH:
+ mes "["+@name$+"]";
+ mes "Very well, now go to the Priest to reaffirm your vows and the ceremony will begin.";
+ emotion e_no1;
+ close2;
+ npctalk "Registration finished. "+$wed_groom$+" and "+$wed_bride$+", please reaffirm your vows with the Priest.";
+ emotion e_no1;
+ end;
+
+L_NOT_ME:
+ mes "["+@name$+"]";
+ mes "I see. Sorry to have bothered you then.";
+ close;
+
+L_SHOW_PROGRESS:
+ mes "["+@name$+"]";
+ if ($wed_groom_progress == 0)
+ mes "The groom has not registered yet.";
+ if ($wed_groom_progress == 1)
+ mes "The groom, "+$wed_groom$+", has yet to accept the bride.";
+ if ($wed_groom_progress == 2)
+ mes "The groom, "+$wed_groom$+", is waiting for the bride's acceptance.";
+ if ($wed_groom_progress == 3)
+ mes "The groom, "+$wed_groom$+", has yet to retrieve the ring.";
+ if ($wed_groom_progress == 4)
+ mes "The groom, "+$wed_groom$+", is waiting for the bride to retrieve the ring.";
+ if ($wed_bride_progress == 0)
+ mes "The bride has not registered yet.";
+ if ($wed_bride_progress == 1)
+ mes "The bride, "+$wed_bride$+", has yet to confirm the groom.";
+ if ($wed_bride_progress == 2)
+ mes "The bride, "+$wed_bride$+", is waiting for the groom's acceptance.";
+ if ($wed_bride_progress == 3)
+ mes "The bride, "+$wed_bride$+", has yet to retrieve the ring.";
+ if ($wed_bride_progress == 4)
+ mes "The bride, "+$wed_bride$+", is waiting for the groom to retrieve the ring.";
+ if ($wed_groom_progress == 5)
+ mes "We are just waiting for both "+$wed_groom$+" and "+$wed_bride$+" to be together to marry them.";
+ if ($wed_groom_progress == 6)
+ mes $wed_groom$+" and "+$wed_bride$+"'s wedding ceremony is already well on it's way.";
+ mes "Enjoy the remaining of the wedding.";
+ close;
+
+OnInit:
+ if ($wed_groom_progress + $wed_bride_progress == 1)
+ initnpctimer;
+ end;
+
+OnTimer60000:
+ //Registration failed.
+ set $@msg$, $wed_groom$;
+ if ($wed_bride_progress == 1)
+ set $@msg$, $wed_bride$;
+
+ npctalk "Registration timed out. Is it that no one wants to marry "+$@msg$+"..?";
+ emotion e_hmm;
+
+ set $wed_groom$,"";
+ set $wed_groom_sex, 0;
+ set $wed_bride$,"";
+ set $wed_bride_sex, 0;
+ set $wed_groom_progress,0;
+ set $wed_bride_progress,0;
+ set $wed_progress,0;
+
+ stopnpctimer;
+ end;
+
+//Subfunction SF_check_requirements (int bride)
+SF_check_requirements:
+ set @bride, getarg(0);
+ set @type$, "groom";
+ if (@bride)
+ set @type$, "bride";
+
+ mes "["+@name$+"]";
+ mes "Before registering as "+@type$+", let me check if you meet all the requirements...";
+ next;
+ if (class >= Job_Baby && class <= Job_Super_Baby)
+ goto SL_BABY;
+ set @item, 2338;
+ if (sex)
+ set @item, 7170;
+ if (getequipid(2) != @item)
+ goto SL_NEED_SUIT;
+ if (sex == 0 && $@wed_veil && getequipid(1) != 2206)
+ goto SL_NEED_VEIL;
+ if ($@wed_ring && countitem($@wed_ring) < 1)
+ goto SL_MISSING_RING;
+ set @cost, $@wed_groom_reg;
+ if (@bride)
+ set @cost, $@wed_bride_reg;
+ if (Zeny < @cost)
+ goto SL_NEED_ZENY;
+ set Zeny,Zeny-@cost;
+ return;
+
+SL_BABY:
+ mes "["+@name$+"]";
+ mes "Oh dear, you are too young to be thinking of marriage!";
+ emotion e_gasp;
+ close;
+
+SL_NEED_SUIT:
+ mes "["+@name$+"]";
+ mes "You should be wearing a "+getitemname(@item)+" if you want to get married.";
+ close;
+
+SL_NEED_VEIL:
+ mes "["+@name$+"]";
+ mes "Where is your "+getitemname(2206)+"? It's a necessary complement to your dress.";
+ close;
+
+SL_MISSING_RING:
+ mes "["+@name$+"]";
+ mes "Where's the ring? You need a "+getitemname($@wed_ring)+" for the ring exchange, dear.";
+ close;
+
+SL_NEED_ZENY:
+ mes "["+@name$+"]";
+ mes "I am sorry, but you don't have enough to pay for the registration fee.";
+ mes "Come back once you have collected "+@cost+"z.";
+ close;
+
+//Explain wedding principles...
+L_PRINCIPLES:
+ mes "["+@name$+"]";
+ mes "Weddings are performed by our local Priest with the intent of promoting love and peace among the loving couples.";
+ next;
+ mes "["+@name$+"]";
+ mes "The proposal must be done with prudence and courtesy, once the wedlocks have been made, they cannot be undone.";
+ next;
+ mes "["+@name$+"]";
+ mes "The two who have been joined by marriage must remain together forever until the day death do them apart.";
+ next;
+ mes "["+@name$+"]";
+ if ($@wed_allow == 1) goto LP_BI;
+ mes "Males may only wed with females, and females only with males, the church will not consent any other kind of partnerships.";
+ goto LP_CONTINUE;
+LP_BI:
+ mes "Altough normally only males can wed females (and viceversa), our local Priest is more open-minded than that and he permits all pairings regardless of gender.";
+LP_CONTINUE:
+ next;
+ mes "["+@name$+"]";
+ mes "If there is a significant other with whom you want to spend the rest of your life with, then don't be shy to propose.";
+ next;
+ mes "["+@name$+"]";
+ mes "I wish for many blessings upon couples who wish to live happily ever after...";
+ next;
+ goto L_MAIN;
+
+//Explain the wedding procedure...
+L_PROCEDURE:
+ mes "["+@name$+"]";
+ mes "First of all, both groom and bride must register with me.";
+ next;
+ if ($@wed_allow == 1)
+ goto LP_SKIP_GB;
+ mes "["+@name$+"]";
+ mes "The registration requirements for the groom are:";
+ mes "- To be wearing a "+getitemname(7170)+".";
+ if ($@wed_ring) mes "- To own a "+getitemname($@wed_ring)+".";
+ if ($@wed_groom_reg > 0) mes "- Pay a Registration fee of "+$@wed_groom_reg+"z.";
+ next;
+ mes "["+@name$+"]";
+ mes "The registration requirements for the bride are:";
+ mes "- To be wearing a "+getitemname(2338)+".";
+ if ($@wed_veil) mes "- To be wearing a "+getitemname(2206)+".";
+ if ($@wed_ring) mes "- To own a "+getitemname($@wed_ring)+".";
+ if ($@wed_bride_reg > 0) mes "- Pay a Registration fee of "+$@wed_bride_reg+"z.";
+ goto LP_SKIP_BI;
+LP_SKIP_GB:
+ mes "["+@name$+"]";
+ mes "The registration requirements are:";
+ mes "- Males must be wearing a "+getitemname(7170)+".";
+ mes "- Females must be wearing a "+getitemname(2338)+".";
+ if ($@wed_veil) mes "- Females must also wear a "+getitemname(2206)+".";
+ if ($@wed_ring) mes "- Both must own a "+getitemname($@wed_ring)+" each.";
+ if ($@wed_groom_reg > 0) mes "- The registration fee for the groom is "+$@wed_groom_reg+"z.";
+ if ($@wed_bride_reg > 0) mes "- The registration fee for the bride is "+$@wed_bride_reg+"z.";
+LP_SKIP_BI:
+ next;
+ mes "["+@name$+"]";
+ mes "I shouldn't need to mention this, but adopted kids are too young to get married.";
+ mes "Both groom and bride must register within a minute of each other, or the wedding will be cancelled. So be sure you both are ready and meet the registration requirements beforehand.";
+ next;
+ mes "["+@name$+"]";
+ mes "After both have registered with me, you have to go pledge your vows to the Priest and accept your registered partner. If for some reason you reject your registered partner, the wedding will be cancelled...";
+ next;
+ mes "["+@name$+"]";
+ mes "If you both accept each other, then the wedding has been decided and the ceremony will begin.";
+ if ($@wed_ring == 0) goto LP_SKIP_RING;
+ mes "But first, you need to get your rings ready.";
+ next;
+ mes "["+@name$+"]";
+ mes "Talk to the priest once more, and he will exchange your "+getitemname($@wed_ring)+" for a wedding ring. After you both have claimed the rings for exchanging, the ceremony will begin.";
+LP_SKIP_RING:
+ next;
+ mes "["+@name$+"]";
+ mes "If there are various couples who desire to marry, you should keep in order, for the Priest can only handle one wedding at a time.";
+ next;
+ goto L_MAIN;
+}
+
+prt_church.gat,94,99,4 script Sister Lisa 79,{
+ set @name$,"Lisa";
+L_MAIN:
+ if ($@divorce_progress==1) goto L_PROGRESS;
+ mes "["+@name$+"]";
+ mes "Divorcing can be such a sad event...";
+ if (getpartnerid() > 0) goto L_ASK_DIVORCE;
+ mes "People shouldn't make shallow vows to others, don't you think?";
+ close;
+L_ASK_DIVORCE:
+ mes "You wouldn't want to divorce, by any chance?";
+ next;
+ menu "I am happy as I am, thank you.",-,
+ "Explain the divorce.",L_EXPLAIN,
+ "Explain Requirements.",L_REQUIREMENTS,
+ "I want to divorce.",L_DIVORCE;
+
+ mes "["+@name$+"]";
+ mes "Good to hear.";
+ close;
+
+L_EXPLAIN:
+ mes "["+@name$+"]";
+ mes "Even though it is said that once the wedlocks have been made they cannot be undone, sometimes it is necessary to undo our mistakes from the past..";
+ next;
+ mes "["+@name$+"]";
+ mes "It is sad, but true. If you happen to have married the wrong person, it is possible to divorce, rather than spend the rest of your life with the wrong one.";
+ next;
+ goto L_MAIN;
+
+L_REQUIREMENTS:
+ mes "["+@name$+"]";
+ mes "In order to file for divorce, I need you both to agree to it.";
+ mes "After you file in for divorce, your spouse has one minute to agree, and then you will both be divorced.";
+ if ($@wed_divorce_fee > 0) mes "The fee is of "+$@wed_divorce_fee+"z and is paid by the person who confirms the divorce, so plan ahead of time how you will divide the costs.";
+ next;
+ goto L_MAIN;
+
+L_DIVORCE:
+ mes "["+@name$+"]";
+ mes "You should not regret the choices you've made in life.";
+ mes "Are you positively sure about getting divorced?";
+ next;
+ menu "Wait... I need to think about it.",L_REGRET,"Absolutely",-;
+ mes "["+@name$+"]";
+ set $@divorcee,getpartnerid();
+ set $@divorcer$,strcharinfo(0);
+ set $@divorce_progress,1;
+ initnpctimer;
+ mes "Very well, get your partner to confirm, and I will collect the fee for filing the divorce then.";
+ close;
+
+L_PROGRESS:
+ if (strcharinfo(0) == $@divorcer$) goto L_WAITING;
+ if (getcharid(0) == $@divorcee) goto L_CONFIRM;
+ mes "["+@name$+"]";
+ mes "I am in the progress of divorcing "+$@divorcer$+".";
+ mes "Do you know who the spouse is?";
+ close;
+
+L_WAITING:
+ mes "["+@name$+"]";
+ mes "...I am still waiting for your partner to confirm the divorce procedure.";
+ close;
+
+L_CONFIRM:
+ mes "["+@name$+"]";
+ mes $@divorcer$+" has asked to divorce you. If you accept, and have the fee of "+$@wed_divorce_fee+"z at hand, I will proceed to divorce you two.";
+ mes "So, should I proceed with the divorce?";
+ next;
+ menu "I don't want to divorce....",L_REJECT,
+ "Yes, we have agreed to this.",-;
+ if (Zeny < $@wed_divorce_fee)
+ goto L_NO_ZENY;
+ if (!(divorce())) goto L_DIVORCE_FAILED;
+ set Zeny,Zeny-$@wed_divorce_fee;
+ announce $@divorcer$+" has just divorced "+strcharinfo(0)+"...", 8;
+ mes "["+@name$+"]";
+ mes "Your divorce has been filed. You are no longer wed.";
+ emotion e_sob;
+ goto L_DIVORCE_END;
+
+L_DIVORCE_FAILED:
+ mes "["+@name$+"]";
+ mes "Where has "+$@divorcer$+" gone to? I can't divorce you unless you both are here...";
+ emotion e_swt2;
+ close;
+
+L_REGRET:
+ mes "["+@name$+"]";
+ mes "You should think this through.";
+ close;
+
+L_REJECT:
+ mes "["+@name$+"]";
+ mes "I hope you can work things out.";
+ emotion e_pat;
+ goto L_DIVORCE_END;
+
+L_NO_ZENY:
+ mes "["+@name$+"]";
+ mes "Well, I can't file your divorce because you don't have enough for the fee. Get your partner to lend you some?";
+ close;
+
+L_DIVORCE_END:
+ stopnpctimer;
+ set $@divorce_progress,0;
+ set $@divorcee,0;
+ set $@divorcer$,"";
+ close;
+
+OnTimer60000:
+ stopnpctimer;
+ npctalk "Divorce confirmation timed out. Where did "+$@divorcer$+"'s spouse go...";
+ emotion e_what;
+ set $@divorce_progress,0;
+ set $@divorcee,0;
+ set $@divorcer$,"";
+ end;
+} \ No newline at end of file
diff --git a/npc/other/momotaro.txt b/npc/other/momotaro.txt
new file mode 100644
index 000000000..56926aad5
--- /dev/null
+++ b/npc/other/momotaro.txt
@@ -0,0 +1,447 @@
+//=====================================================================
+//MOMOTARO event
+//=====================================================================
+amatsu.gat,223,235,4 script Publisher 763,{
+ if (event_momo > 4) goto Lfin;
+ if ((event_momo >= 1) && (event_momo <= 4)) goto Lget;
+ mes "[Publisher]";
+ mes "Hello.";
+ mes "I represent ^009CFFTsurukame Publishing Inc.^000000 and handle the legends that are told in the village for generations.";
+ mes "A popular legend among men and women of all ages is ^009CFF<Momotaro>^000000......";
+ next;
+ mes "[Publisher]";
+ mes "One Million copies were sold!";
+ mes "To celebrate the anniversary, the ^3163FFMomotaro Event Hall^000000 was established.";
+ next;
+ mes "[Publisher]";
+ mes "You practical become the protagonist of the Momotaro Story and fight against a small demon.";
+ mes "There are also presents!";
+ next;
+ menu "Who is Momotaro?",-,"I really wanna do that!",L1,"I'm busy right now......",L2;
+ mes "[Publisher]";
+ mes "What? You do not know Momotaro? Oh my, what an insensitive person......";
+ mes "Well then, I will tell you......";
+ next;
+ mes "[Publisher]";
+ mes "Once upon a time, there was an old couple......";
+ mes "The couple had a very good relation, but they had no children...";
+ next;
+ mes "[Publisher]";
+ mes "Someday, the grandmother did their laundry at the river, a big peach flowed by. ";
+ mes "The Grandmother picked up the peach and returned home, where the grandfather tried to divide the fruit...... ";
+ mes "But from the middle of the peach a baby appeared.";
+ next;
+ mes "[Publisher]";
+ mes "Grandfather and Grandmother were surprised very much, but decided to raise the baby as their own child.";
+ next;
+ mes "[Publisher]";
+ mes "The Child grow up rapidly and became a strong young boy several days later.";
+ next;
+ mes "[Publisher]";
+ mes "The name of the child was ^3163FF<Momotaro>^000000.";
+ mes "In those days a small demon appeard and tormented the village people so Momotaro decided to go on a travel to exterminate the demon......";
+ next;
+ mes "[Publisher]";
+ mes "Along the way Momotaro met a ^3163FFmonkey^000000, a ^3163FFpheasant^000000 and a ^3163FFdog^000000m which followed him as companions.";
+ mes " Finally they defeated the demon and lived with the grandfather and the grandmother in happiness...... ";
+ mes "- the end -";
+ next;
+ mes "[Publisher]";
+ mes "How was it?";
+ mes "It was of interest One Million times!";
+ close;
+L1:
+ mes "[Publisher]";
+ mes "Oh! You are a good and powerfull person! To me you seem to be vigorous. ";
+ mes "Well then, this application form has to be filled......";
+ next;
+ mes "[Publisher]";
+ mes "......";
+ mes "......Hmm hmm......";
+ mes "......Well! Everything ok!";
+ mes "We can start at once. Please enjoy the ^3163FFMomotaro Event Hall^000000.";
+ next;
+//modification
+// warp "ama_test",52,35;
+ warp "ama_fild01",330,130;
+//end modification
+ end;
+L2:
+ mes "[Publisher]";
+ mes "There are also premium presents, you know....... (wink)";
+ close;
+Lget:
+ mes "[Publisher]";
+ mes "How was it? Did you enjoy the event?";
+ mes "I hope the arrangements at the event hall allowed you to spend an enjoyable time there.";
+ next;
+ if (event_momo == 1) getitem 627,1; //sweet milk
+ if (event_momo == 2) getitem 629,1; //singing flower
+ if (event_momo == 3) getitem 625,1; //rusty iron
+//Am Mut successful finish unknown
+ if (event_momo == 4) getitem 627,1; //sweet milk
+ if (event_momo == 4) getitem 629,1; //singing flower
+ if (event_momo == 4) getitem 625,1; //rusty iron
+ set event_momo,10;
+ mes "[Publisher]";
+ mes "Well then, I will give you a small present which I have prepared.";
+ mes "May the legend be widely loved also in the future......";
+ close;
+Lfin:
+ mes "[Publisher]";
+ mes "We have a nice weather today, don't we...... It is a perfect day to dry the futon.";
+ set event_momo,event_momo+1;
+ if (event_momo == 20) set event_momo,0;
+ close;
+}
+//=====================================================================
+ama_test.gat,52,44,4 script Event Hall Staff 109,{
+ mes "[Satoshi]";
+ mes "Welcome to the Momotaro Event Hall";
+ next;
+ mes "[Satoshi]";
+ mes "I'm in charge of the waiting room of the Momotaro Event Hall. My name is Satoshi.";
+ next;
+ mes "[Satoshi]";
+ mes "Originally this was the work of the publisher, but...... she was not sufficient for that job and got transfered suddenly......";
+ mes "But this was good! Because this way we could make the attraction even more challenging for the visitors.";
+ next;
+ mes "[Satoshi]";
+ mes "......hehehe, no no, it was just a joke...... (sweat)";
+ next;
+ mes "[Satoshi]";
+ mes "Well, I will give you an explanation about the Event Hall.";
+ next;
+ mes "[Satoshi]";
+ mes "Did you ask the Publisher outside about the Momotaro Story?";
+ next;
+ menu "Yes",L1,"No",-;
+ mes "[Satoshi]";
+ mes "What the heck? You come here without knowing the story?";
+ mes "......";
+ mes "You are by no means a fan of Momotaro.";
+ next;
+ mes "[Satoshi]";
+ mes "The Story is told by the publisher outside. Well then...... Goodby.";
+ next;
+ warp "amatsu.gat",223,230;
+ end;
+L1:
+ mes "[Satoshi]";
+ mes "Hmm......";
+ mes "The story of Momotaro is the best work of this Publisher. Maybe it is even a supreme masterpiece?";
+ mes "Hahaha!!!";
+ next;
+ mes "[Satoshi]";
+ mes "...... So, what's next...";
+ next;
+ mes "[Satoshi]";
+ mes "The rule of the Event Hall are simple. Just go in, like the brave Momotaro! And if the small demon is defeated, everything will be good.";
+ mes "Well, be brave!";
+ next;
+ mes "[Satoshi]";
+ mes "Furthermore, there are 3 important points.";
+ next;
+ mes "[Satoshi]";
+ mes "First:";
+ mes "When the Event Hall is cleared it cannot be entered again.";
+ mes "Please pay attention to this point.";
+ next;
+ mes "[Satoshi]";
+ mes "Second:";
+ mes "Please do not go accompanied by a pet inside the Event Hall. If you have a pet with you, please change it back to an egg before entering.";
+ next;
+ mes "[Satoshi]";
+ mes "And the last important point:";
+ mes "There is a time restriction of 6 minutes for people entering the Event Hall.";
+ next;
+ mes "[Satoshi]";
+ mes "Well then, Please enter the Waiting Room Chat and wait for your turn. I wish you a good fight.";
+ close;
+OnInit:
+ waitingroom "Event Hall Waiting Room",1,"Event Hall Staff::OnMax";
+//modification
+//do clear everything in case of somebody got stuck in the hall
+ areawarp "ama_test.gat",30,78,68,120,"amatsu.gat",223,230;
+ disablenpc "Manager";
+ enablenpc "Grandfather";
+ enablenpc "Grandmother";
+ killmonsterall "ama_test.gat";
+ stopnpctimer "roomtimer";
+//end modification
+ end;
+OnMax:
+//modification
+// doevent "roomt";
+ initnpctimer "roomtimer";
+//end modification
+ warpwaitingpc "ama_test.gat",50,83;
+ disablenpc "Event Hall Staff";
+ disablenpc "Manager";
+ enablenpc "Grandfather";
+ enablenpc "Grandmother";
+ end;
+}
+
+ama_test.gat,49,95,4 script Grandfather 766,{
+//modification
+ mes "[Grandfather]";
+ mes "Zzzzzz......";
+//end modification
+ close;
+}
+
+ama_test.gat,51,95,4 script Grandmother 761,{
+ mes "[Grandmother]";
+ mes "Oh....!?";
+ next;
+ mes "[Grandmother]";
+ mes "Grandfather, do you know where I put my money?";
+ next;
+ mes "[Grandfather]";
+ mes "Grandmother...... The village headman said, that the small demons recently stole money from people right in the middle of the village, causing big tumult...";
+ next;
+ mes "[Grandmother]";
+ mes "Iiiiiii......!";
+ next;
+ mes "[Grandfather]";
+ mes "This is the recent talk in the village......";
+ next;
+ mes "[Grandfather]";
+ mes "Oh, there is Momotaro......";
+ next;
+ mes "[Grandfather]";
+ mes "As you probably know, there are only cowards here with no power to fight the small demons....";
+ mes "So I would like to ask you a favour, Momotaro.";
+ next;
+ mes "[Grandmother]";
+ mes "Momotaro......";
+ mes "Your Grandmother would like to give you ^3355ffthe tastiest red portion on this world^000000...... but I cannot...... ";
+ next;
+ mes "[Grandmother]";
+ mes "I'm so sorry...... Momotaro......";
+ next;
+ mes "[Grandmother & Grandfather]";
+ mes "Please, Momotaro, help us......";
+//modification
+ addtimer 5000, "Grandmother::OnTimer5000";
+ close;
+OnTimer5000:
+//end modification
+ disablenpc "Grandfather";
+ disablenpc "Grandmother";
+ set @mobdie,0;
+ monster "ama_test.gat",47,101,"Small Demon",1110,1,"mobcount";
+ monster "ama_test.gat",51,101,"Small Demon",1110,1,"mobcount";
+ monster "ama_test.gat",55,101,"Small Demon",1110,1,"mobcount";
+ monster "ama_test.gat",55,97,"Small Demon",1110,1,"mobcount";
+ monster "ama_test.gat",55,93,"Small Demon",1110,1,"mobcount";
+ monster "ama_test.gat",53,91,"Small Demon",1110,1,"mobcount";
+ monster "ama_test.gat",49,91,"Small Demon",1110,1,"mobcount";
+ monster "ama_test.gat",45,96,"Small Demon",1110,1,"mobcount";
+ monster "ama_test.gat",45,99,"Small Demon",1110,1,"mobcount";
+ end;
+}
+
+ama_test.gat,50,100,4 script Manager 762,{
+//modification
+ if (event_momo >= 4) goto LSecondFin;
+//end modification
+ mes "[Manager]";
+ mes "Hoho, you did it...... I'm the manager here...... You are not an ordinary person, right? You did very well.";
+ next;
+ mes "[Manager]";
+ mes "The Momotaro from the legend appears in this world!";
+ mes "Hohohohoho!";
+ next;
+ menu "Is there some extra?",L1,"Thanks for nothing......",L2;
+L1:
+ mes "[Manager]";
+ mes "Hohoho......";
+ mes "This is maybe not really recomending......";
+ mes "I think in your current condition the small demons can twirl you lightly around their fingers.";
+ mes "......Hohoho......";
+ next;
+ mes "[Manager]";
+ mes "......";
+ mes "Just a joke.";
+ next;
+ mes "[Manager]";
+ mes "Well then, you enjoyed the Momotaro Event Hall?";
+ mes "Talk to the staff member, that you have met first, about our premium presents. He will give you some.";
+ next;
+ mes "[Manager]";
+ mes "Whatever you encounter, never loose that strong spirit!";
+ next;
+ set event_momo,1;
+//modification
+// deltimer "roomt";
+//end modification
+ disablenpc "Manager";
+ enablenpc "Event Hall Staff";
+ warp "amatsu.gat",223,230;
+ end;
+L2:
+ mes "[Manager]";
+ mes "!!!!!";
+ mes "......Ho...Hohoho......";
+ mes "You are an amusing fellow......";
+ mes "Well...... One little suggestion from me to you.";
+ next;
+ mes "[Manager]";
+ mes "Normally I would just kick you out, but...... I would like to see your true capabilities... Hohoho.";
+ mes "As if I would look at my own young self. Hohohoho.";
+ next;
+ mes "[Manager]";
+ mes "What do you think? I will give this one nonrecurring chance. It is the challenge of ^3355ffSecond Grad^000000 which is not officially available......";
+ mes "But I warn you, this one will be difficult.";
+ next;
+ menu "Na, it is enough",L2_1,"I take the challenge",L2_2;
+L2_1:
+ mes "[Manager]";
+ mes "Hoho......";
+ mes "You got tired from the last fight?";
+ mes "Well, ok...... Did you enjoy the Momotaro Event Hall? Talk to the staff member, that you have met first, about our premium presents. She will give you some.";
+ next;
+ mes "[Manager]";
+ mes "Whatever you encounter, never loose that strong spirit!";
+ next;
+ set event_momo,2;
+//modification
+ goto LWarpOut;
+// end;
+//end modification
+L2_2:
+ mes "[Manager]";
+ mes "Hohoho, You like it more and more, right? This will be the last decisive battle. Show your power without regrets!";
+//modification
+ addtimer 5000, "Manager::OnTimer5000";
+//end modification
+ close;
+OnTimer5000:
+ monster "ama_test.gat",35,103,"Demon",1301,1,"mobcount2";
+ monster "ama_test.gat",56,111,"Demon",1301,1,"mobcount2";
+ monster "ama_test.gat",40,91,"Demon",1301,1,"mobcount2";
+ disablenpc "Manager";
+ set event_momo,3;
+ end;
+//modification
+LSecondFin:
+ mes "[Manager]";
+ mes "You are really strong... Wasn't it thrilling? Momotaro Event Hall can be really enjoyable, right?";
+ mes "Ok now, talk to the staff member, that you have met first, about our premium presents. She will give you some.";
+ next;
+ set event_momo,4;
+LWarpOut:
+//end modification
+ mes "[Manager]";
+ mes "Whatever you encounter, never loose that strong spirit!";
+ next;
+ warp "amatsu.gat",223,230;
+ disablenpc "Manager";
+ stopnpctimer "roomtimer";
+ enablenpc "Event Hall Staff";
+ donpcevent "Event Hall Staff::OnInit";
+ end;
+Onstart:
+ mes "[Manager]";
+ mes "Hohoho......";
+ close;
+}
+//=======================================MobCount===============================-
+ama_test.gat,0,1,0 script mobcount -1,{
+ if (@mobdie >= 8) goto Lfin;
+ set @mobdie,@mobdie+1;
+ set @mobrand,rand(4);
+ if (@mobrand == 1) goto Lrand2;
+ if (@mobrand == 2) goto Lrand3;
+ if (@mobrand == 3) goto Lrand4;
+Lrand1:
+ areaannounce "ama_test.gat",30,78,68,120,"Small Demon: I havn't done anything!",8;end;
+Lrand2:
+ areaannounce "ama_test.gat",30,78,68,120,"Small Demon: Excuse me, Excuse me",8;end;
+Lrand3:
+ areaannounce "ama_test.gat",30,78,68,120,"Small Demon: Ahhh......",8;end;
+Lrand4:
+ areaannounce "ama_test.gat",30,78,68,120,"Small Demon: I've been hit on surprise...",8;end;
+Lfin:
+ areaannounce "ama_test.gat",30,78,68,120,"Small Demon: Uhhaaa......",8;
+ addtimer 5000, "mobcount2::OnTimer5000";
+//modification
+// stopnpctimer "roomtimer";
+ end;
+// enablenpc "Manager";
+// doevent "Manager::Onstart";
+// end;
+//end modification
+}
+//=======================================MobCount2==============================-
+ama_test.gat,50,101,0 script mobcount2 -1,{
+ if (@mobdie2 == 2) goto Lfin;
+ set @mobdie2,@mobdie2+1;
+ areaannounce "ama_test.gat",30,78,68,120,"Demon: Uhaaa...",8;end;
+Lfin:
+ set event_momo,4;
+//modification
+ addtimer 5000, "mobcount2::OnTimer5000";
+ end;
+OnTimer5000:
+//end modification
+ enablenpc "Manager";
+ doevent "Manager::Onstart";
+ end;
+}
+//=======================================TIMER==================================-
+
+//modification
+//dead code
+//ama_test.gat,50,102,0 script roomt -1,{
+//
+// deltimer "roomt";
+// mapannounce "ama_test.gat","Time limit is 6 Minutes from now.",8;
+// addtimer 180000,"roomt::On180000";
+// end;
+//
+//OnTestTime:
+// mapannounce "ama_test.gat","Time left: "+temp_time+"sec ",8;
+// end;
+//
+//On180000:
+// deltimer "roomt";
+// mapannounce "ama_test.gat","3 Minutes left.",8;
+// addtimer 120000,"roomt::On300000";
+// end;
+//On300000:
+// deltimer "roomt";
+// mapannounce "ama_test.gat","One Minute left.",8;
+// addtimer 60000,"roomt::On360000";
+// end;
+//On360000:
+// mapannounce "ama_test.gat","Hohoho - Time limit is exceeded.",8;
+// disablenpc "Manager";
+// enablenpc "Event Hall Staff";
+// areawarp "ama_test.gat",30,78,68,120,"amatsu.gat",223,230;
+// end;
+//}
+
+ama_test.gat,50,102,0 script roomtimer -1,{
+
+OnTimer1000:
+ mapannounce "ama_test.gat","Time limit is 6 Minutes from now.",8;
+ end;
+OnTimer180000:
+ mapannounce "ama_test.gat","3 Minutes left.",8;
+ end;
+OnTimer300000:
+ mapannounce "ama_test.gat","One Minute left.",8;
+ end;
+OnTimer360000:
+ stopnpctimer "roomtimer";
+ mapannounce "ama_test.gat","Hohoho - Time limit is exceeded.",8;
+ areawarp "ama_test.gat",30,78,68,120,"amatsu.gat",223,230;
+ disablenpc "Manager";
+ enablenpc "Event Hall Staff";
+ donpcevent "Event Hall Staff::OnInit";
+ end;
+}
+//end modification
diff --git a/npc/other/monster_museum.txt b/npc/other/monster_museum.txt
new file mode 100644
index 000000000..a004c62d8
--- /dev/null
+++ b/npc/other/monster_museum.txt
@@ -0,0 +1,588 @@
+//===== eAthena Script =======================================
+//= Juno Monster Museum
+//===== By: ==================================================
+//= Muad_Dib (The Prometheus Project)
+//===== Current Version: =====================================
+//= 1.1a
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= Juno Monster Museum - Non Player Character Locations
+//= - Information about various monsters
+//===== Additional Comments: =================================
+// 07/06/05 : Added 1st Version. [Muad_Dib]
+//= Adapted to eAthena Scripting Language by [Lance]
+//= 1.1a Fixed typos [Haplo]
+//============================================================
+
+
+yuno_in03.gat,33,17,3 script Guide of Monster Museum 67,{
+ mes "[Shenya]";
+ mes "Welcome.";
+ mes "You are in the Monster Museum.";
+ next;
+ menu "What is the Monster Museum?",-,"Tip for observing monsters",L_Tip;
+ mes "[Shenya]";
+ mes "Our Monster Museum is a splendid achievement of Schwarz Project which was secretly";
+ mes "accomplished by many sages from Svychervile Academy who were working in Midgard.";
+ next;
+ mes "[Shenya]";
+ mes "Because of their effort, you can easily observe rare monsters of Midgard in here.";
+ next;
+ mes "[Shenya]";
+ mes "Monsters are in the transparent cylinders, which were part of Schwarz Project. The cylinders protects you from the monsters.";
+ next;
+ mes "[Shenya]";
+ mes "Talk to me if you need help.";
+ close;
+L_Tip:
+ mes "[Shenya]";
+ mes "Check 'opaque' in the option key (ALT+O) to observe monsters more clearly.";
+ next;
+ mes "[Shenya]";
+ mes "Talk to me if you need help.";
+ close;
+}
+
+//yuno_in03.gat,32,102,1 script Biology Professor 755,{
+// mes "[Ruthy Celsus]";
+// mes "Hmm? What is it? Do you want to take a look at monsters?";
+// next;
+// mes "[Ruthy Celsus]";
+// mes "It is okay to look at them, but do not touch nor make noises.";
+// mes "There are many dangerous stuff here, so be careful.";
+// next;
+// mes "[Ruthy Celsus]";
+// mes "And also tell me if you catch rare monsters.";
+// mes "I will buy your info at high price.";
+// close;
+//}
+
+yuno_in03.gat,36,21,3 script Deviace 1108,{
+ end;
+}
+
+yuno_in03.gat,33,21,1 script #Deviace 111,{
+ mes " ";
+ mes "- Scientific Name : Deviace";
+ mes "- Size : Medium";
+ mes "- Property : Water";
+ next;
+ mes "- Description : ";
+ mes "It has sucking-disks on top of its round body and lives in the deep ocean.";
+ mes "In spite of its fearsome appearance, Deviace is calm and do not attack others first.";
+ next;
+ mes "However, you should be aware of it because once Deviace gets mad, it casts magic of high level.";
+ close;
+}
+
+yuno_in03.gat,36,27,3 script Fur Seal 1317,{
+ end;
+}
+
+yuno_in03.gat,33,27,1 script #Fur Seal 111,{
+ mes " ";
+ mes "- Scientific Name : Fur Seal";
+ mes "- Size : Medium";
+ mes "- Property : Water";
+ next;
+ mes "- Description : ";
+ mes "They put on an extra hide to cover it's soft skin.";
+ mes "Also, their hides are used to make winter clothes.";
+ close;
+}
+
+yuno_in03.gat,36,33,3 script Sage Worm 1281,{
+ end;
+}
+
+yuno_in03.gat,33,33,1 script #Sage Worm 111,{
+ mes " ";
+ mes "- Scientific Name : Sage Worm";
+ mes "- Size : Small";
+ mes "- Property : Neutral";
+ next;
+ mes "- Description : ";
+ mes "It's bottom looks like an animal, but the upper body looks like an old scholar.";
+ mes "Sage Worm has weak strength but its intelligence is extraordinary high. They often cures other's critical status.";
+ next;
+ mes "As expected, they live nearby books or bookcases.";
+ close;
+}
+
+yuno_in03.gat,39,39,3 script Penomena 1216,{
+ end;
+}
+
+yuno_in03.gat,38,39,1 script #Penomena 111,{
+ mes " ";
+ mes "- Scientific Name : Penomena";
+ mes "- Size : Medium";
+ mes "- Property : Poison";
+ next;
+ mes "- Description : ";
+ mes "It has a strong venom and lives in deep oceans or deep tunnels.";
+ mes "Penomena has a similar appearance as Hydra but it moves with small dendrites on the sucking-disk.";
+ next;
+ mes "Also, its many long tentacles with strong venom are threatening opponents in the distance.";
+ close;
+}
+
+yuno_in03.gat,39,44,3 script Galapago 1391,{
+ end;
+}
+
+yuno_in03.gat,37,44,1 script #Galapago 111,{
+ mes " ";
+ mes "- Scientific Name : Galapago";
+ mes "- Size : Small";
+ mes "- Property : Earth";
+ next;
+ mes "- Description : ";
+ mes "This monster is a bird, but can't fly because of its heavy weight.";
+ mes "They are always equipped with sunglasses and a bottle of drinking water because they are weak against sunlights.";
+ next;
+ mes "They show greedy on items but, when a stranger appears, they cooperate together to attack the stranger.";
+ close;
+}
+
+yuno_in03.gat,38,50,3 script PecoPeco Egg 1047,{
+ end;
+}
+
+yuno_in03.gat,34,54,3 script Thief Bug Egg 1048,{
+ end;
+}
+
+yuno_in03.gat,12,50,3 script Ant Egg 1097,{
+ end;
+}
+
+yuno_in03.gat,10,45,5 script Assaulter 1315,{
+ end;
+}
+
+yuno_in03.gat,12,45,1 script #Assaulter 111,{
+ mes " ";
+ mes "- Scientific Name : Assaulter";
+ mes "- Size : Medium";
+ mes "- Property : Wind";
+ next;
+ mes "- Description : ";
+ mes "Unlike the other turtles in the Turtle Island, this warrior monster stands on two legs.";
+ mes "It always carries a large shuriken on its back. Its body is very agile and has a fast attack speed.";
+ next;
+ mes "Distinctively, when it is in danger, Assaulter summons another self and attacks together.";
+ mes "Their weapons do strong damage, but also their piercing long nails are really threatening.";
+ close;
+}
+
+yuno_in03.gat,10,39,5 script Alice 1275,{
+ end;
+}
+
+yuno_in03.gat,12,39,1 script #Alice 111,{
+ mes " ";
+ mes "- Scientific Name : Alice";
+ mes "- Size : Medium";
+ mes "- Property : Neutral";
+ next;
+ mes "- Description : ";
+ mes "It is a robot that was made to serve duties in the castle, and is still there.";
+ mes "Alice is made of hard metal and no one knows what makes her move till this day.";
+ close;
+}
+
+yuno_in03.gat,15,33,5 script Violy 1390,{
+ end;
+}
+
+yuno_in03.gat,19,33,1 script #Violy 111,{
+ mes " ";
+ mes "- Scientific Name : Violy";
+ mes "- Size : Medium";
+ mes "- Property : Neutral";
+ next;
+ mes "- Description : ";
+ mes "Girly monster with blond hair.";
+ mes "She always plays her violin. You will suffer from the high frequency of her music.";
+ close;
+}
+
+yuno_in03.gat,15,27,5 script Chepet 1250,{
+ end;
+}
+
+yuno_in03.gat,19,27,1 script #Chepet 111,{
+ mes " ";
+ mes "- Scientific Name : Chepet";
+ mes "- Size : Medium";
+ mes "- Property : Fire";
+ next;
+ mes "- Description : ";
+ mes "It looks like a girl possessed by an evil monster, but it is the evil monster which fools people with its appearance.";
+ next;
+ mes "Chepet ignites a fire with its large match stick. Is a rare monster because of their small numbers, they live in a limited habitat.";
+ close;
+}
+
+yuno_in03.gat,15,21,5 script Raydric 1163,{
+ end;
+}
+
+yuno_in03.gat,19,21,1 script #Raydric 111,{
+ mes " ";
+ mes "- Scientific Name : Raydric";
+ mes "- Size : Large";
+ mes "- Property : Darkness";
+ next;
+ mes "- Description : ";
+ mes "Soldiers with armor who have no body. According to old studies,";
+ mes "the souls of soldiers who once guarded castles were bound to their armor by curses.";
+ next;
+ mes "They have fast movement speed and strong attacks as guards of the castle.";
+ close;
+}
+
+yuno_in03.gat,46,96,3 script Owl Duke 1320,{
+ end;
+}
+
+yuno_in03.gat,44,96,1 script #Owl Duke 111,{
+ mes " ";
+ mes "- Scientific Name : Owl Duke";
+ mes "- Size : Large";
+ mes "- Property : Neutral";
+ next;
+ mes "- Description : ";
+ mes "An owl with a Duke costume. It's massive body and elegant outfit are appalling.";
+ mes "Owl Duke looks like a bird but is a devil with a large feet and sharp talon.";
+ next;
+ mes "It approaches the enemy silently and casts strong lightning magic.";
+ mes "It's moves are full of dignity just like a Duke.";
+ close;
+}
+
+yuno_in03.gat,48,100,3 script Marine Sphere 1142,{
+ end;
+}
+
+yuno_in03.gat,46,101,1 script #Marine Sphere 111,{
+ mes " ";
+ mes "- Scientific Name : Marine Sphere";
+ mes "- Size : Small";
+ mes "- Property : Water";
+ next;
+ mes "- Description : ";
+ mes "Drifting sphere in the ocean, it is known as <Bomb of the Ocean> because of its explosiveness.";
+ mes "The structure of the inner sphere is simple, only a tendon and a detonator, however its explosion is very powerful.";
+ next;
+ mes "If there are other Marine Spheres during the explosion, all of them will explode sequentially.";
+ close;
+}
+
+yuno_in03.gat,48,104,3 script Mandragora 1020,{
+ end;
+}
+
+yuno_in03.gat,46,105,1 script #Mandragora 111,{
+ mes " ";
+ mes "- Scientific Name : Mandragora";
+ mes "- Size : Medium";
+ mes "- Property : Earth";
+ next;
+ mes "- Description : ";
+ mes "Man-eating plant that can eat every living thing.";
+ mes "Mandragora pokes the victim by using its long tentacle and put it in its giant tube.";
+ next;
+ mes "On the surface of the Mandragora's tube there is a skull pattern, so the Mandragora pretends to be poisonous but it isn't.";
+ mes "The tube contains a digestive fluid of unique fragrance, which have a very strong smell to attract the prey.";
+ close;
+}
+
+yuno_in03.gat,48,108,3 script Geographer 1368,{
+ end;
+}
+
+yuno_in03.gat,46,108,1 script #Geographer 111,{
+ mes " ";
+ mes "- Scientific Name : Geographer";
+ mes "- Size : Medium";
+ mes "- Property : Earth";
+ next;
+ mes "- Description : ";
+ mes "Man-eating plant that looks like a sunflower.";
+ mes "It disguise itself as an ordinary flower and hunt preys approaching near by.";
+ next;
+ mes "Although its cousin Mandragora digest it's food in the tube,";
+ mes "Geographer chews food because it doesn't have a tube.";
+ next;
+ mes "Geographer's root is very tough to support the large upper parts of the body.";
+ close;
+}
+
+yuno_in03.gat,48,112,3 script Rafflesia 1162,{
+ end;
+}
+
+yuno_in03.gat,46,112,1 script #Rafflesia 111,{
+ mes " ";
+ mes "- Scientific Name : Rafflesia";
+ mes "- Size : Small";
+ mes "- Property : Earth";
+ next;
+ mes "- Description : ";
+ mes "Somehow, this monster is an endangered species.";
+ mes "Remaining Rafflesias are very few in a limited habitat,";
+ mes "so they are under special protection.";
+ next;
+ mes "Because there aren't many Rafflesias, researches are not doing well.";
+ mes "A few scholars are researching to artificially culture them.";
+ close;
+}
+
+yuno_in03.gat,48,116,3 script Stem Worm 1215,{
+ end;
+}
+
+yuno_in03.gat,45,116,1 script #Stem Worm 111,{
+ mes " ";
+ mes "- Scientific Name : Stem Worm";
+ mes "- Size : Medium";
+ mes "- Property : Wind";
+ next;
+ mes "- Description : ";
+ mes "This is a mutation of Worm Tail. It has a round grizzled grey body with a small head.";
+ mes "The hide is made of thin scales, and from the center of the body it's hide is divided into two pieces.";
+ next;
+ mes "The straight stem on the center of it's back looks like a tail.";
+ mes "Stem Worm use this stem to whip others.";
+ close;
+}
+
+yuno_in03.gat,44,120,3 script Succubus 1370,{
+ end;
+}
+
+yuno_in03.gat,42,120,1 script #Succubus 111,{
+ mes " ";
+ mes "- Scientific Name : Succubus";
+ mes "- Size : Medium";
+ mes "- Property : Darkness";
+ next;
+ mes "- Description : ";
+ mes "Devil who seduces people with a beautiful appearance. The male form is called Incubus and the female form is called Succubus.";
+ mes "They pick and seduce confused or weak-minded people to wreck them.";
+ close;
+}
+
+yuno_in03.gat,39,124,3 script Ancient Mummy 1297,{
+ end;
+}
+
+yuno_in03.gat,39,122,1 script #Ancient Mummy 111,{
+ mes " ";
+ mes "- Scientific Name : Ancient Mummy";
+ mes "- Size : Medium";
+ mes "- Property : Undead";
+ next;
+ mes "- Description : ";
+ mes "With a glimpse you can see that this ancient mummy is very old.";
+ mes "He is wrapped with worn-out bandages.";
+ mes "By looking at his luxurious snake headpiece,";
+ next;
+ mes "we can guess that he was high class and somehow revived from the dead.";
+ mes "As he is stuck in a mummy form for so long time, he brutally kills living things.";
+ close;
+}
+
+yuno_in03.gat,35,124,3 script Sleeper 1386,{
+ end;
+}
+
+yuno_in03.gat,35,122,1 script #Sleeper 111,{
+ mes " ";
+ mes "- Scientific Name : Sleeper";
+ mes "- Size : Medium";
+ mes "- Property : Earth";
+ next;
+ mes "- Description : ";
+ mes "Formless sandy monster.";
+ mes "It burrows itself in the ground and rise when people are walking near by.";
+ next;
+ mes "Sleepers are smaller than Sandmen and they attack indirectly by making sandy winds rather than direct attacks.";
+ close;
+}
+
+yuno_in03.gat,31,124,3 script Megalodon 1064,{
+ end;
+}
+
+yuno_in03.gat,31,122,1 script #Megalodon 111,{
+ mes " ";
+ mes "- Scientific Name : Megalodon";
+ mes "- Size : Medium";
+ mes "- Property : Undead";
+ next;
+ mes "- Description : ";
+ mes "This monster is made out of bones of dead fish.";
+ mes "It peacefully wanders around waterside because they didn't completely lose their old memory.";
+ next;
+ mes "It has no flesh but bones and stinky scales because it was revived from once decayed corpses.";
+ close;
+}
+
+yuno_in03.gat,28,124,5 script Rideword 1195,{
+ end;
+}
+
+yuno_in03.gat,28,122,1 script #Rideword 111,{
+ mes " ";
+ mes "- Scientific Name : Rideword";
+ mes "- Size : Small";
+ mes "- Property : Neutral";
+ next;
+ mes "- Description : ";
+ mes "It is a magic book with sharp teeth and is controlled by magic powers.";
+ mes "Rideword has no intelligence or feelings and was born to kill living things.";
+ close;
+}
+
+yuno_in03.gat,24,124,3 script Blazzer 1367,{
+ end;
+}
+
+yuno_in03.gat,24,122,1 script #Blazzer 111,{
+ mes " ";
+ mes "- Scientific Name : Blazzer";
+ mes "- Size : Medium";
+ mes "- Property : Fire";
+ next;
+ mes "- Description : ";
+ mes "Burning flame which floats around lava as a cloud.";
+ mes "The blaze comes out of hard rock and the surface is extremely hot.";
+ next;
+ mes "Some scholars believe that Blazzer was the origin of a volcanic eruption but it is only a hypothesis.";
+ mes "It attacks travelers with a noxious gas from it's mouth.";
+ close;
+}
+
+yuno_in03.gat,18,122,5 script Incubus 1374,{
+ end;
+}
+
+yuno_in03.gat,19,120,1 script #Incubus 111,{
+ mes " ";
+ mes "- Scientific Name : Incubus";
+ mes "- Size : Medium";
+ mes "- Property : Darkness";
+ next;
+ mes "- Description : ";
+ mes "Devil who seduces people a beautiful appearance. Male form is called Incubus and female form is called Succubus.";
+ mes "They pick and seduce confused or weak-minded people to wreck them.";
+ close;
+}
+
+yuno_in03.gat,16,116,5 script Dragon Tail 1321,{
+ end;
+}
+
+yuno_in03.gat,18,116,1 script #Dragon Tail 111,{
+ mes " ";
+ mes "- Scientific Name : Dragon Tail";
+ mes "- Size : Medium";
+ mes "- Property : Wind";
+ next;
+ mes "- Description : ";
+ mes "Insect with thick stings on its tail from the Dragonfly family.";
+ mes "It sucks up blood of victims with its sting, and the Dragon Tail's hypnotoxine puts enemies to sleep.";
+ close;
+}
+
+yuno_in03.gat,16,111,5 script Arclouse 1194,{
+ end;
+}
+
+yuno_in03.gat,18,111,1 script #Arclouse 111,{
+ mes " ";
+ mes "- Scientific Name : Arclouse";
+ mes "- Size : Medium";
+ mes "- Property : Earth";
+ next;
+ mes "- Description : ";
+ mes "It is a monster with a hard shell and roles itself to attack enemies.";
+ mes "Usually, Arclouses are found in groups and they are very agile. Their movement speed is as fast as a well-trained PecoPeco.";
+ close;
+}
+
+yuno_in03.gat,16,108,5 script Tri-Joint 1279,{
+ end;
+}
+
+yuno_in03.gat,18,108,1 script #Tri-Joint 111,{
+ mes " ";
+ mes "- Scientific Name : Tri-Joint";
+ mes "- Size : Small";
+ mes "- Property : Earth";
+ next;
+ mes "- Description : ";
+ mes "A monster called 'living fossil' because it has been existing from ancient times to today.";
+ mes "Tri Joint's body is covered with hard shells, and advanced feelers replaced degenerated eyes.";
+ next;
+ mes "It moves fast in dark caves.";
+ mes "Recently, as their fossils were found in deep caves,";
+ mes "studies on evolution of Midgard organisms are speeding up.";
+ close;
+}
+
+yuno_in03.gat,16,104,5 script Thief Bug Male 1054,{
+ end;
+}
+
+yuno_in03.gat,18,104,1 script #Thief Bug Male 111,{
+ mes " ";
+ mes "- Scientific Name : Thief Bug Male";
+ mes "- Size : Medium";
+ mes "- Property : Darkness";
+ next;
+ mes "- Description : ";
+ mes "This is a fully grown Thief Bug with bigger size than others and of blue color.";
+ mes "Like other Thief Bugs, it is very agile and collect items.";
+ next;
+ mes "Male Thief Bugs protects it's family with strong attacks.";
+ close;
+}
+
+yuno_in03.gat,16,100,5 script Caterpillar 1300,{
+ end;
+}
+
+yuno_in03.gat,18,100,1 script #Caterpillar 111,{
+ mes " ";
+ mes "- Scientific Name : Caterpillar";
+ mes "- Size : Small";
+ mes "- Property : Earth";
+ next;
+ mes "- Description : ";
+ mes "Because of a long buried life, it can barely use it's eyes,";
+ mes "but it has numerous feelers and a lighting antenna to move around.";
+ next;
+ mes "There is a hypothesis that Caterpillar is the larva of Creamy Fear, the mutation of Creamy.";
+ close;
+}
+
+yuno_in03.gat,18,96,5 script Wanderer 1208,{
+ end;
+}
+
+yuno_in03.gat,20,96,1 script #Wanderer 111,{
+ mes " ";
+ mes "- Scientific Name : Wanderer";
+ mes "- Size : Medium";
+ mes "- Property : Wind";
+ next;
+ mes "- Description : ";
+ mes "Sword master revived by dark magic. By looking at his magnificent swordsmanship, we guess that he was a very skillful swordsman before.";
+ mes "As soon as he draws his sword, his opponents are sliced by him.";
+ close;
+}
diff --git a/npc/other/msg_boards.txt b/npc/other/msg_boards.txt
new file mode 100644
index 000000000..a4e191b9b
--- /dev/null
+++ b/npc/other/msg_boards.txt
@@ -0,0 +1,140 @@
+//===== eAthena Script =======================================
+//= Message Boards
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Rearranged [Lupus]
+//= Fixed spelling mistakes. [Nexon]
+//============================================================
+
+
+
+//=======================================================================//
+// Al De Baran //
+//=======================================================================//
+// Welcome Sign ------------------------------------------------
+aldebaran.gat,133,104,1 script Welcome Sign 111,{
+ mes "~sign reads....~";
+ mes "Hello and enjoy your visit to Aldebaran! Aldebaran is the mystical city of clocks and Kafras!";
+ close;
+}
+
+//=======================================================================//
+// Alberta //
+//=======================================================================//
+// Sign: Alberta Harbor -----------------------------------------------
+alberta.gat,35,241,1 script Alberta Harbor 111,{
+ mes "~sign reads....~";
+ mes "Welcome to the port city Alberta! Alberta is the city of the sea! A tourist delight!";
+ close;
+}
+
+// Welcome Sign -----------------------------------------------
+alberta.gat,196,152,1 script Welcome Sign 111,{
+ mes "~sign reads...~";
+ mes "Welcome to the port city Alberta! Alberta is the city of the sea! A tourist delight!";
+ close;
+}
+
+// Sign: Merchant Guild ------------------------------------------
+alberta.gat,37,39,1 script Merchant Guild 111,{
+ mes "~sign reads...~";
+ mes "Enjoy the art of buying and selling? Love making unbeatable deals?";
+ mes "Then the Alberta Merchant Guild is perfect for you!";
+ mes "Come on inn and find out all you need to know about becoming a Merchant.";
+ close;
+}
+
+
+//=======================================================================//
+// Geffen //
+//=======================================================================//
+// Welcome Sign ----------------------------------------------
+geffen.gat,116,58,1 script Welcome Sign 111,{
+ mes "~sign reads...~";
+ mes "Greetings!! You are in the wonderful city of Geffen! Geffen is the city of Magic and home to Mages and Wizards!.";
+ close;
+}
+
+// Sign: Mage Association ---------------------------------------
+geffen.gat,61,174,1 script Mage Association 111,{
+ mes "~sign reads...~";
+ mes "Greetings!! This is the Geffen Magic Academy. Come in if you have an interest in all things magic!";
+ close;
+}
+
+// Sign: Geffen Tower Sign ----------------------------------------------
+geffen.gat,113,104,1 script Geffen Tower 111,{
+ mes "~sign reads...~";
+ mes "This is the Geffen Tower, home to the Wizard Academy as well as the infamous Geffen Dungeon. Novices beware!!!";
+ close;
+}
+
+// Sign: Blacksmith Guild -------------------------------------------
+geffen.gat,184,61,1 script Blacksmith Guild 111,{
+ mes "~sign reads...~";
+ mes "This is the Blacksmith Guild.";
+ close;
+}
+
+// Sign Post -----------------------------------------------------------
+geffen.gat,119,190,0 script Sign Post 111,{
+ mes "~sign reads...~";
+ mes "North to Geffen Fields";
+ mes "Northeast to Al De Baran";
+ mes "Northwest to Glast Heim";
+ mes "East to Geffen Fields";
+ mes "South to Morroc";
+ mes "Southeast to Prontera";
+ mes "Further Southeast to Alberta";
+ mes "Further Southwest to Comodo";
+ mes "West to Geffen Fields";
+ close;
+}
+
+
+//=======================================================================//
+// Morroc //
+//=======================================================================//
+
+// Sign: Inn ----------------------------------------------------------
+morocc.gat,272,272,1 script Morroc Town Inn 111,{
+ mes "~sign reads....~";
+ mes "Welcome weary travelers! Stay the night at the Morroc Town Inn.";
+ close;
+}
+
+
+//=======================================================================//
+// Payon //
+//=======================================================================//
+
+
+
+//=======================================================================//
+// Prontera //
+//=======================================================================//
+// Welcome Sign -----------------------------------------------------------
+prontera.gat,156,197,1 script Welcome Sign 111,{
+ mes"~sign reads...~";
+ mes "You've found yourself in the great city of Prontera! Prontera is one of the largest cities in Rune-Midgard and is home to the Prontera Chivalry!";
+ close;
+}
+
+// Sign Post ----------------------------------------------------------------
+prontera.gat,158,213,1 script Sign Post 111,{
+ mes "~ the sign post reads ~";
+ mes "North to Prontera Castle";
+ mes "Farther North to Al De Baran";
+ mes "Northwest to Geffen";
+ mes "East to Prontera Fields";
+ mes "South to Prontera Fields";
+ mes "Farther Southeast to Alberta";
+ close;
+} \ No newline at end of file
diff --git a/npc/other/old/guide.txt b/npc/other/old/guide.txt
new file mode 100644
index 000000000..40f49d2bb
--- /dev/null
+++ b/npc/other/old/guide.txt
@@ -0,0 +1,1153 @@
+//===== eAthena Script =======================================
+//= Guide Script
+//===== By: ==================================================
+//= Lotsa People (1.0)
+//= Even More People (1.1)
+//= Darkchild (1.2)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any eAthena Version In Which Duplicate Works
+//===== Description: =========================================
+//= Guides In RO World
+//===== Additional Comments: =================================
+//= 1.2 - Used the duplicate and fixed minor things
+//============================================================
+
+//[Prontera Guide]
+
+//Complete
+prontera.gat,154,187,4 script Guide#p1-1::guide_p 105,{
+ cutin "prt_soldier",2;
+ mes "[Prontera Squad]";
+ mes "Welcome to Prontera,the Capital City of Rune-Midgard Kingdom.";
+ mes "We can help you to find Buildings easily, Feel free to inquire at us anytime.";
+ mes "Please Choose a menu `Notice' if you are a beginner of Ragnarok.";
+L_START_1:
+ next;
+ menu "View Buildings",L_MENU_1,"Wipe all Indications on Mini-Map.",L_MENU_2,"Notice",L_MENU_3,"Cancel",L_MENU_4;
+ L_MENU_1:
+ if (@COMPASS_CHECK != 0) goto L_MENU_1_ROOT;
+ mes "[Prontera Squad]";
+ mes "Please choose a Menu first.";
+ mes "Do you want me to leave indications on the Mini-Map?";
+ next;
+ menu "Yes, Please.",-,"No, Thanks.",L_MENU_1_ROOT;
+ set @COMPASS_CHECK,1;
+ L_MENU_1_ROOT:
+ mes "[Prontera Squad]";
+ mes "Please select location you want me to show you.";
+ L_SUB_1:
+ next;
+ menu "Swordman Asosiation",L_MENU_1_1,"^0000FFSantuary^000000",L_MENU_1_2,"Prontera Chivalry",L_MENU_1_3,"Armory",L_MENU_1_4,"Kit Shop",L_MENU_1_5,"Inn",L_MENU_1_6,"Trading Post",L_MENU_1_7,"Pub",L_MENU_1_8,"Library",L_MENU_1_9,"Job Agency",L_MENU_1_10,"The Castle of Prontera",L_MENU_1_11,"City Hall",L_MENU_1_12,"Cancel",L_MENU_1_13;
+ L_MENU_1_1:
+ mes "[Prontera Squad]";
+ mes "The 'Swordman Assosiation' has moved to Izlude, the Sattelite of Prontera, now that Building is Empty";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,237,41,1,0x00FF00;
+ goto L_SUB_1;
+ L_MENU_1_2:
+ mes "[Prontera Squad]";
+ mes "The main Chapel of Rune-Midgard Kingdom, `Santuary' is located at Northeast. Usually citizens visit there to become Acolyte";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,236,316,2,0xFF0000;
+ goto L_SUB_1;
+ L_MENU_1_3:
+ mes "[Prontera Squad]";
+ mes "'Prontera Chivalry' the Defense Force of Prontera City is located at Northwest.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,46,345,3,0x00FF00;
+ goto L_SUB_1;
+ L_MENU_1_4:
+ mes "[Prontera Squad]";
+ mes "'Armory' is located at Northeast around the Fountain.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,175,220,4,0xFF00FF;
+ goto L_SUB_1;
+ L_MENU_1_5:
+ mes "[Prontera Squad]";
+ mes "'Kit Shop' is located Northwest around the Fountain.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,134,221,5,0xFF00FF;
+ goto L_SUB_1;
+ L_MENU_1_6:
+ mes "[Prontera Squad]";
+ mes "There are 2 'Inn's' around the Fountain, on is located at West, other one at East.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,204,214,6,0xFF00FF;
+ viewpoint 1,107,192,7,0xFF00FF;
+ goto L_SUB_1;
+ L_MENU_1_7:
+ mes "[Prontera Squad]";
+ mes "'Trading Post' is located at Southeast around the Fountain.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,179,184,8,0x00FF00;
+ goto L_SUB_1;
+ L_MENU_1_8:
+ mes "[Prontera Squad]";
+ mes "'Pub is located at Southeast around the Fountain, right behind Trading Post building.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,208,154,9,0x00FF00;
+ goto L_SUB_1;
+ L_MENU_1_9:
+ mes "[Prontera Squad]";
+ mes "There are 2 Buildings of 'Library', located both at Northern East and Northern West around the Fountain.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,120,267,10,0x00FF00;
+ viewpoint 1,192,267,11,0x00FF00;
+ goto L_SUB_1;
+ L_MENU_1_10:
+ mes "[Prontera Squad]";
+ mes "'Job Agency' is located at Southeast of the Fountain.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,133,183,12,0x00FF00;
+ goto L_SUB_1;
+ L_MENU_1_11:
+ mes "[Prontera Squad]";
+ mes "'The Castle Of Prontera' is located at Due North. Clockwise rotation is 12.";
+ mes "And when you go outside the Castle through a postern, you will see the North Prontera Field.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,156,360,13,0x00FF00;
+ goto L_SUB_1;
+ L_MENU_1_12:
+ mes "[Prontera Squad]";
+ mes "City Hall is located at Southeast Contour. The Clockwise rotarion is 7.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,75,91,14,0x00FF00;
+ goto L_SUB_1;
+ L_MENU_1_13:
+ mes "[Prontera Squad]";
+ mes "If you want to remove location marks, Please choose 'Wipe all Indications on Mini-Map.'.";
+ goto L_START_1;
+ L_MENU_2:
+ viewpoint 2,237,41,1,0x00FF00;
+ viewpoint 2,236,316,2,0xFF0000;
+ viewpoint 2,46,345,3,0x00FF00;
+ viewpoint 2,175,220,4,0xFF00FF;
+ viewpoint 2,8,134,5,0xFF00FF;
+ viewpoint 2,204,214,6,0xFF00FF;
+ viewpoint 2,107,192,7,0xFF00FF;
+ viewpoint 2,179,184,8,0x00FF00;
+ viewpoint 2,208,154,9,0x00FF00;
+ viewpoint 2,120,267,10,0x00FF00;
+ viewpoint 2,192,267,11,0x00FF00;
+ viewpoint 2,133,183,12,0x00FF00;
+ viewpoint 2,156,360,13,0x00FF00;
+ viewpoint 2,75,91,14,0x00FF00;
+ set @COMPASS_CHECK,0;
+ goto L_START_1;
+ L_MENU_3:
+ mes "[Prontera Squad]";
+ mes "We altered the Location Guide into de Newest Digital Style, out of the former Analog One.";
+ mes "Please Check this gorgeous newest system with your own eyes.";
+ next;
+ mes "[Prontera Squad]";
+ mes "Don't forget to refer the Mini-Map on Upper-Right of the Screen.";
+ mes "If you can't see the Mini-Map, just use Shortcut 'ctrl+tab' or Click 'map' button on the Basic Information Window";
+ mes "After that, Click '-' button on the Mini-Map until whole buildings are shown on it.";
+ goto L_START_1;
+ L_MENU_4:
+ mes "[Prontera Squad]";
+ mes "Have a nice day.";
+ cutin "prt_soldier",255;
+ close;
+}
+//Duplicate
+prontera.gat,282,208,2 duplicate(guide_p) Guide#p1-2 105
+
+prontera.gat,29,200,6 duplicate(guide_p) Guide#p1-3 105
+
+prontera.gat,160,29,0 duplicate(guide_p) Guide#p1-4 105
+
+prontera.gat,151,330,4 duplicate(guide_p) Guide#p1-5 105
+
+
+//[Izlude]
+
+//Complete
+izlude.gat,123,87,6 script Guide 105,{
+ mes "[Izlude Squad]";
+ mes "Welcome to Izlude, the New Satelite of Prontera.";
+ mes "Feel free to inquire at us anytime, Algight?";
+L_START_1:
+ next;
+ menu "View Buildings",L_MENU_1,"Wipe all Indications on Mini-Map.",L_MENU_2,"Notice",L_MENU_3,"Cancel",L_MENU_4;
+ L_MENU_1:
+ if (@COMPASS_CHECK != 0) goto L_MENU_1_ROOT;
+ mes "[Izlude Squad]";
+ mes "Please choose a Menu first.";
+ mes "Do you want me to leave indications on the Mini-Map?";
+ next;
+ menu "Yes, Please",-,"No, Thanks",L_SUB_1;
+ set @COMPASS_CHECK,1;
+ L_MENU_1_ROOT:
+ L_SUB_1:
+ next;
+ menu "^FF0000Swordman Asosiation^000000",L_MENU_1_1,"Swordman Hall",L_MENU_1_2,"Arena",L_MENU_1_3,"Izlude Marina",L_MENU_1_4,"Armory",L_MENU_1_5,"Kit Shop",L_MENU_1_6,"Cancel",L_MENU_1_7;
+ L_MENU_1_1:
+ mes "[Izlude Squad]";
+ mes "Do you want to be a Swordman?";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,52,140,1,0xFF0000;
+ goto L_SUB_1;
+ L_MENU_1_2:
+ mes "[Izlude Squad]";
+ mes "Swordman Hall, the official Building of Swordman Assosiation is at East Contour.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,214,130,2,0x00FF00;
+ goto L_SUB_1;
+ L_MENU_1_3:
+ mes "[Izlude Squad]";
+ mes "'Arena' the Popular Colosseum is at Due North. The Clockwise totation is 12.";
+ mes "You can have fun there, you know.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,128,225,3,0x00FF00;
+ goto L_SUB_1;
+ L_MENU_1_4:
+ mes "[Izlude Squad]";
+ mes "Marina which allows you to go to 'Alberta' or 'Byalan Island' is at Northeast.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,200,180,4,0xFF0000;
+ goto L_SUB_1;
+ L_MENU_1_5:
+ mes "[Izlude Squad]";
+ mes "Armory is near at Northwest, and you can find it easily.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,111,149,5,0xFF00FF;
+ goto L_SUB_1;
+ L_MENU_1_6:
+ mes "[Izlude Squad]";
+ mes "Kit Shop is near at Northeast, and you can find it easily.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,148,148,6,0xFF00FF;
+ goto L_SUB_1;
+ L_MENU_1_7:
+ mes "[Izlude Squad]";
+ mes "If you want to remove location marks, Please choose 'Wipe all Indications on Mini-Map.'.";
+ goto L_START_1;
+ L_MENU_2:
+ viewpoint 2,52,140,1,0xFF0000;
+ viewpoint 2,214,130,2,0x00FF00;
+ viewpoint 2,128,225,3,0x00FF00;
+ viewpoint 2,200,180,4,0xFF0000;
+ viewpoint 2,111,149,5,0xFF00FF;
+ viewpoint 2,148,148,6,0xFF00FF;
+ set @COMPASS_CHECK,0;
+ goto L_START_1;
+ L_MENU_3:
+ mes "[Izlude Squad]";
+ mes "We altered the Location Guideinto de Newest Digital Style, out of the former Analog One.";
+ mes "Please Check this gorgeous newest system with your own eyes.";
+ next;
+ mes "[Izlude Squad]";
+ mes "Don't forget to refer the Mini-Map on Upper-Right of the Screen.";
+ mes "If you can't see the Mini-Map, just use Shortcut 'ctrl+tab' or Click 'map' button on the Basic Information Window";
+ mes "After that, Click '-' button on the Mini-Map until whole buildings are shown on it.";
+ goto L_START_1;
+ L_MENU_4:
+ mes "[Izlude Squad]";
+ mes "Don't get lost.";
+ close;
+}
+
+//[Geffen]
+
+//Complete
+geffen.gat,203,116,0 script Guide#p1-6::guide_g 705,{
+ cutin "gef_soldier",2;
+ mes "[Geffen Squad]";
+ mes "Welcome to Geffen, the City of Magic.";
+ mes "We will help you when you take the Wrong way, Feel free to inquire at us anytime.";
+ mes "Please Choose a menu `Notice' if you are a beginner of Ragnarok.";
+L_START_1:
+ next;
+ menu "View Buildings",L_MENU_1,"Wipe all Indications on Mini-Map.",L_MENU_2,"Notice",L_MENU_3,"Cancel",L_MENU_4;
+ L_MENU_1:
+ if (@COMPASS_CHECK != 0) goto L_MENU_1_ROOT;
+ mes "[Geffen Squad]";
+ mes "Please choose a Menu first.";
+ mes "Do you want me to leave indications on the Mini-Map?";
+ next;
+ menu "Yes, Please",-,"No, Thanks",L_MENU_1_ROOT;
+ set @COMPASS_CHECK,1;
+ L_MENU_1_ROOT:
+ L_SUB_1:
+ next;
+ menu "^FF0000Magic Acadamy^000000",L_MENU_1_1,"Forge",L_MENU_1_2,"Armory",L_MENU_1_3,"Kit Shop",L_MENU_1_4,"Pub",L_MENU_1_5,"Inn",L_MENU_1_6,"Cancel",L_MENU_1_7;
+ L_MENU_1_1:
+ mes "[Geffen Squad]";
+ mes "'Magic Acadamy' is the Building in charge of Every Magical Theory.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,61,180,1,0xFF0000;
+ goto L_SUB_1;
+ L_MENU_1_2:
+ mes "[Geffen Squad]";
+ mes "'Forge' is located at Southeast around the Tower of Magic.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,182,59,2,0x00FF00;
+ goto L_SUB_1;
+ L_MENU_1_3:
+ mes "[Geffen Squad]";
+ mes "'Armory' is located at Northwest oround the Tower of Magic.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,99,140,3,0xFF00FF;
+ goto L_SUB_1;
+ L_MENU_1_4:
+ mes "[Geffen Squad]";
+ mes "'Kit Shop' is located at Southwest arround the Tower of Magic.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,44,86,4,0xFF00FF;
+ goto L_SUB_1;
+ L_MENU_1_5:
+ mes "[Geffen Squad]";
+ mes "'Pub' is located at Northeast around the Tower of Magic.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,138,138,5,0xFF00FF;
+ goto L_SUB_1;
+ L_MENU_1_6:
+ mes "[Geffen Squad]";
+ mes "'Inn' is located at Northeast around the Tower of Magic.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,172,174,6,0xFF00FF;
+ goto L_SUB_1;
+ L_MENU_1_7:
+ mes "[Geffen Squad]";
+ mes "If you want to remove location marks, Please choose 'Wipe all Indications on Mini-Map.'.";
+ goto L_START_1;
+ L_MENU_2:
+ viewpoint 2,61,180,1,0xFF0000;
+ viewpoint 2,182,59,2,0x00FF00;
+ viewpoint 2,99,140,3,0xFF00FF;
+ viewpoint 2,44,86,4,0xFF00FF;
+ viewpoint 2,138,138,5,0xFF00FF;
+ viewpoint 2,172,174,6,0xFF00FF;
+ set @COMPASS_CHECK,0;
+ goto L_START_1;
+ L_MENU_3:
+ mes "[Geffen Squad]";
+ mes "We altered the Location Guide into de Newest Digital Style, out of the former Analog One.";
+ mes "Please Check this gorgeous newest system with your own eyes.";
+ next;
+ mes "[Geffen Squad]";
+ mes "Don't forget to refer the Mini-Map on Upper-Right of the Screen.";
+ mes "If you can't see the Mini-Map, just use Shortcut 'ctrl+tab' or Click 'map' button on the Basic Information Window";
+ mes "After that, Click '-' button on the Mini-Map until whole buildings are shown on it.";
+ goto L_START_1;
+ L_MENU_4:
+ mes "[Geffen Squad]";
+ mes "Have a nice day.";
+ cutin "gef_soldier",255;
+ close;
+}
+
+//Duplicate
+geffen.gat,118,62,0 duplicate(guide_g) Guide#p1-7 105
+
+//[Payon]
+payon.gat,82,116,4 script Guide#p1-8::guide_p 708,{
+ cutin "pay_soldier",2;
+ mes "[Payon Squad]";
+ mes "Welcome to Payon, the uplander village.";
+ mes "We will help you when you take the wrong way, Feel free to inquire at us anytime.";
+ mes "Please Choose a menu `Notice' if you are a beginner of Ragnarok.";
+L_START_1:
+ next;
+ menu "View Buildings",L_MENU_1,"Wipe all Indications on Mini-Map.",L_MENU_2,"Notice",L_MENU_3,"Cancel",L_MENU_4;
+ L_MENU_1:
+ if (@COMPASS_CHECK != 0) goto L_MENU_1_ROOT;
+ mes "[Payon Squad]";
+ mes "Please choose a Menu first.";
+ mes "Do you want me to leave indications on the Mini-Map?";
+ next;
+ menu "Yes, Please",-,"No, Thanks",L_MENU_1_ROOT;
+ set @COMPASS_CHECK,1;
+ L_MENU_1_ROOT:
+ L_SUB_1:
+ next;
+ menu "^FF0000Archer Guild^000000",L_MENU_1_1,"Armory",L_MENU_1_2,"Kit Shop",L_MENU_1_3,"Inn",L_MENU_1_4,"Central Palace",L_MENU_1_5,"Cancel",L_MENU_1_6;
+ L_MENU_1_1:
+ mes "[Payon Squad]";
+ mes "'Archer Guild' is a Control Office of Archers. It is located at Northeast Contour of the Archer Village.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,174,189,1,0xFF0000;
+ goto L_SUB_1;
+ L_MENU_1_2:
+ mes "[Payon Squad]";
+ mes "'Armory' is located at Northwest around the Centre.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,30,176,2,0xFF00FF;
+ goto L_SUB_1;
+ L_MENU_1_3:
+ mes "[Payon Squad]";
+ mes "'Kit Shop' is located at Northwest Contour of the Archer Village.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,174,189,3,0xFF00FF;
+ goto L_SUB_1;
+ L_MENU_1_4:
+ mes "[Payon Squad]";
+ mes "'Inn' is located at East around the Centre.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,172,134,4,0xFF00FF;
+ goto L_SUB_1;
+ L_MENU_1_5:
+ mes "[Payon Squad]";
+ mes "'Central Palace' is at North around the Centre.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,89,166,5,0x00FF00;
+ goto L_SUB_1;
+ L_MENU_1_6:
+ mes "[Payon Squad]";
+ mes "If you want to remove location marks, Please choose 'Wipe all Indications on the Mini-Map.'.";
+ goto L_START_1;
+ L_MENU_2:
+ viewpoint 2,174,189,1,0xFF0000;
+ viewpoint 2,30,176,2,0xFF00FF;
+ viewpoint 2,174,189,3,0xFF00FF;
+ viewpoint 2,172,134,4,0xFF00FF;
+ viewpoint 2,89,166,5,0x00FF00;
+ set @COMPASS_CHECK,0;
+ goto L_START_1;
+ L_MENU_3:
+ mes "[Payon Squad]";
+ mes "We altered the Location Guide into de Newest Digital Style, out of the former Analog One.";
+ mes "Please Check this gorgeous newest system with your own eyes.";
+ next;
+ mes "[Payon Squad]";
+ mes "Don't forget to refer the Mini-Map on Upper-Right of the Screen.";
+ mes "If you can't see the Mini-Map, just use Shortcut 'ctrl+tab' or Click 'map' button on the Basic Information Window";
+ mes "After that, Click '-' button on the Mini-Map until whole buildings are shown on it.";
+ goto L_START_1;
+ L_MENU_4:
+ mes "[Payon Squad]";
+ mes "Bon Voyage, Wanderer.";
+ cutin "pay_soldier",255;
+ close;
+}
+
+//Duplicate
+pay_arche.gat,85,30,2 duplicate(guide_p) Guide#p1-9 105
+
+//[Alberta]
+
+alberta.gat,23,238,4 script Guide#p1-10::guide_a 105,{
+ mes "[Alberta Squad]";
+ mes "Welcome to Alberta, the The Port Town.";
+ mes "We will helpyou when you take a wrong way, Feel free to inquire at us anytime.";
+ mes "Please Choose a menu `Notice' if you are a beginner of Ragnarok.";
+L_START_1:
+ next;
+ menu "View Buildings",L_MENU_1,"Wipe all Indications on Mini-Map.",L_MENU_2,"Notice",L_MENU_3,"Cancel",L_MENU_4;
+ L_MENU_1:
+ if (@COMPASS_CHECK != 0) goto L_SUB_1;
+ mes "[Alberta Squad]";
+ mes "Please choose a Menu first.";
+ mes "Do you want me to leave indications on the Mini-Map?";
+ next;
+ menu "Yes, Please",-,"No, Thanks",L_MENU_1_ROOT;
+ set @COMPASS_CHECK,1;
+ L_MENU_1_ROOT:
+ L_SUB_1:
+ menu "^FF0000Merchant Guild^000000",L_MENU_1_1,"Armory",L_MENU_1_2,"Kit Shop",L_MENU_1_3,"Inn",L_MENU_1_4,"Cancel",L_MENU_1_5;
+ L_MENU_1_1:
+ mes "[Alberta Squad]";
+ mes "'Merchant Guild' will help you to transform into a Merchant.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,33,41,1,0xFF0000;
+ goto L_SUB_1;
+ L_MENU_1_2:
+ mes "[Alberta Squad]";
+ mes "'Armory' is located at North Contour from the Centre of Mini-Map.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,117,37,2,0xFF00FF;
+ goto L_SUB_1;
+ L_MENU_1_3:
+ mes "[Alberta Squad]";
+ mes "'Kit Shop' is located at the Centre of Mini-Map.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,98,154,3,0xFF00FF;
+ goto L_SUB_1;
+ L_MENU_1_4:
+ mes "[Alberta Squad]";
+ mes "'Armory' is located at North Contour around the Centre of Mini-Map.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,65,233,4,0xFF00FF;
+ goto L_SUB_1;
+ L_MENU_1_5:
+ mes "[Alberta Squad]";
+ mes "If you want to remove location marks, Please choose 'Wipe all Indications on Mini-Map.'.";
+ goto L_START_1;
+ L_MENU_2:
+ viewpoint 2,33,41,1,0xFF0000;
+ viewpoint 2,117,37,2,0xFF00FF;
+ viewpoint 2,98,154,3,0xFF00FF;
+ viewpoint 2,65,233,4,0xFF00FF;
+ set @COMPASS_CHECK,0;
+ goto L_START_1;
+ L_MENU_3:
+ mes "[Alberta Squad]";
+ mes "We altered the Location Guideinto de Newest Digital Style, out of the former Analog One.";
+ mes "Please Check this gorgeous newest system with your own eyes.";
+ next;
+ mes "[Alberta Squad]";
+ mes "Don't forget to refer the Mini-Map on Upper-Right of the Screen.";
+ mes "If you can't see the Mini-Map, just use Shortcut 'ctrl+tab' or Click 'map' button on the Basic Information Window";
+ mes "After that, Click '-' button on the Mini-Map until whole buildings are shown on it.";
+ goto L_START_1;
+ L_MENU_4:
+ mes "[Alberta Squad]";
+ mes "Ta Ta.";
+ close;
+}
+
+//Duplicate
+alberta.gat,120,60,3 duplicate(guide_a) Guide#p1-11 105
+
+//[Morroc]
+
+morocc.gat,153,286,6 script Guide#p1-12::guide_m 707,{
+ cutin "moc_soldier",2;
+ mes "[Morocc Squad]";
+ mes "Welcome to Morroc,the Frontier.";
+ mes "We will help you when you take a Wrong Way, Feel free to inquire at us anytime, Algight?";
+L_START_1:
+ next;
+ menu "View Buildings",L_MENU_1,"Wipe all Indications on Mini-Map.",L_MENU_2,"Notice",L_MENU_3,"Cancel",L_MENU_4;
+ L_MENU_1:
+ if (@COMPASS_CHECK != 0) goto L_SUB_1;
+ mes "[Morocc Squad]";
+ mes "Please choose a Menu first.";
+ mes "Do you want me to leave indications on the Mini-Map?";
+ next;
+ menu "Yes, Please",-,"No, Thanks",L_MENU_1_ROOT;
+ set @COMPASS_CHECK,1;
+ L_MENU_1_ROOT:
+ L_SUB_1:
+ next;
+ menu "^FF0000Thief Guild^000000",L_MENU_1_1,"Armory",L_MENU_1_2,"Inn",L_MENU_1_3,"Pub",L_MENU_1_4,"Mercenary Guild",L_MENU_1_5,"Cancel",L_MENU_1_6;
+ L_MENU_1_1:
+ mes "[Morocc Squad]";
+ mes "'Thief Guild' wich grants you to be a Thief is located inside by hearsay...";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,24,297,1,0xFF0000;
+ goto L_SUB_1;
+ L_MENU_1_2:
+ mes "[Morocc Squad]";
+ mes "'Armory' is located at Southwest around the Centre of Mini-Map.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,253,56,2,0xFF00FF;
+ goto L_SUB_1;
+ L_MENU_1_3:
+ mes "[Morocc Squad]";
+ mes "In Morroc there are 2 'Inn's' located both at South and Northeast around the Centre on Mini-Map.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,274,269,3,0xFF00FF;
+ viewpoint 1,197,66,3,0xFF00FF;
+ goto L_SUB_1;
+ L_MENU_1_4:
+ mes "[Morocc Squad]";
+ mes "'Pub' is located at Northwest around the Centre.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,52,259,4,0xFF00FF;
+ goto L_SUB_1;
+ L_MENU_1_5:
+ mes "[Morocc Squad]";
+ mes "'Mercenary Guild' is at East Contour around the Centre of Mini-Map.";
+ if (@COMPASS_CHECK != 1) goto L_SUB_1;
+ viewpoint 1,284,171,5,0x00FF00;
+ goto L_SUB_1;
+ L_MENU_1_6:
+ mes "[Morocc Squad]";
+ mes "If you want to remove location marks, Please choose 'Wipe all Indications on the Mini-Map.'.";
+ goto L_START_1;
+ L_MENU_2:
+ viewpoint 2,24,297,1,0xFF0000;
+ viewpoint 2,253,56,2,0xFF00FF;
+ viewpoint 2,274,269,3,0xFF00FF;
+ viewpoint 2,197,66,3,0xFF00FF;
+ viewpoint 2,52,259,4,0xFF00FF;
+ viewpoint 2,284,171,5,0x00FF00;
+ set @COMPASS_CHECK,0;
+ goto L_START_1;
+ L_MENU_3:
+ mes "[Morocc Squad]";
+ mes "We altered the Location Guide into de Newest Digital Style, out of the former Analog One.";
+ mes "Please Check this gorgeous newest system with your own eyes.";
+ next;
+ mes "[Morroc Squad]";
+ mes "Don't forget to refer the Mini-Map on Upper-Right of the Screen.";
+ mes "If you can't see the Mini-Map, just use Shortcut 'ctrl+tab' or Click 'map' button on the Basic Information Window";
+ mes "After that, Click '-' button on the Mini-Map until whole buildings are shown on it.";
+ goto L_START_1;
+ L_MENU_4:
+ mes "[Morocc Squad]";
+ mes "Good by for now.";
+ cutin "moc_soldier",255;
+ close;
+}
+
+//Duplicate
+morocc.gat,54,97,6 duplicate(guide_m) Guide#p1-13 707
+
+
+//[Comodo]
+
+comodo.gat,322,178,4 script Guide#p1-14::guide_c 700,{
+ mes "[Native Papaya]";
+ mes "Where the night life continues 24 hours a day";
+ mes "The city of Dreams and Fantasy!";
+ mes "We welcome you to the land of Comodo!";
+ mes "I know the area very well.";
+ mes "If you need directions, ask me anytime for asistance";
+ next;
+ menu "Casino",L_MENU_1,"Hula dancing stage ^0000FF(Dancer Job Change)^000000",L_MENU_2,"Weapons and Armor Shop",L_MENU_3,"Tool store",L_MENU_4,"Tourist Shop",L_MENU_5,"Kafra Corp. Western Branch",L_MENU_6,"Chief's House",L_MENU_7,"Pub",L_MENU_8,"Camp Ground",L_MENU_9,"End Conversation",L_MENU_10;
+ L_MENU_1:
+ viewpoint 1,140,98,1,0xFF6633;
+ mes "^FF0000+^000000 -> Casino!";
+ mes "The heart of Comodo's night life!";
+ mes "A heaven of rest for tired travelers!";
+ mes "Another service provided here.!";
+ mes "The COmodo Casino ~!";
+ close;
+ L_MENU_2:
+ viewpoint 1,188,168,2,0x0000FF;
+ mes "^0000FF+^000000 -> Hula dancing Stage";
+ mes "Hula Hula - Hula Hula";
+ mes "When you become more comfortable performing on stage, you should consider changing job to be a Dancer";
+ mes "What do you think? Hula Dancing Stage - ^0000FF(Change job to Dancer)^000000";
+ close;
+ L_MENU_3:
+ viewpoint 1,266,70,3,0x00FFFF;
+ mes "^00FFFF+^000000 -> Weapons and Armor Shop";
+ mes "Here in Comodo, you can find unique items only found in Comodo.";
+ mes "'Comodo Weapons and Armor Shop'";
+ close;
+ L_MENU_4:
+ viewpoint 1,86,128,4,0x515151;
+ mes "^808080+^000000 -> Tool Shop";
+ mes "Here in Comodo, you can find tools only found in Comodo";
+ mes "'Comodo Tool Store'";
+ close;
+ L_MENU_5:
+ viewpoint 1,298,124,5,0x3355FF;
+ mes "^0000FF+^000000 -> Tourist Shop";
+ mes "Here in Comodo, you can find unique gifts only found in Comodo";
+ mes "'Comodo Tourist Shop'";
+ close;
+ L_MENU_6:
+ viewpoint 1,136,202,6,0xFF5555;
+ mes "^FF0000+^000000 -> Kafra Corp. Western Branch";
+ mes "The Western Branch of Midgards Kafra Corp.";
+ mes "Ofering you the best service!";
+ mes "Kafra Corp.'s Western Branch center is located here in Comodo";
+ close;
+ L_MENU_7:
+ viewpoint 1,114,294,7,0xFF5555;
+ mes "^FF0000+^000000 -> Chief's House";
+ mes "This is the house where the Chief of Comodo resides.";
+ mes "If you are one who posseses a serious interest in Comodo, you can meet the Chief in person.";
+ mes "I think that would be okay with him.";
+ close;
+ L_MENU_8:
+ viewpoint 1,166,298,8,0xFF5555;
+ mes "^FF0000+^000000 -> Pub";
+ mes "The pub is a place where tourists from all over the world come to converse and exchange ideas";
+ mes "Bringing the ethnic atmosphere of Comodo, to an environment which tourists can enjoy";
+ close;
+ L_MENU_9:
+ viewpoint 1,210,308,9,0xFF5555;
+ mes "^FF0000+^000000 -> Camp Ground";
+ mes "Sometimes with family and sometimes with friends, people come to Comodo campground to creat great memories.";
+ mes "BBQ Camp Ground is where you can taste the ethnic flavors of Comodo's Spit BBQ!";
+ close;
+ L_MENU_10:
+ mes "[Native Papaya]";
+ mes "Because Comodo is located in a cave, sunlight cannot shine into this area.";
+ mes "It is dark 24 hours a day!";
+ mes "The residents of Comodo are using this unusual circumstance to draw tourists to our area...";
+ close;
+}
+
+//Duplicates
+comodo.gat,176,350,4 duplicate(guide_c) Guide#p1-14 700
+
+comodo.gat,37,219,4 duplicate(guide_c) Guide#p1-15 700
+
+//[Yuno]
+
+//Needs Translation
+yuno.gat,153,47,4 script "ƒWƒ…ƒm[ƒKƒCƒh" 700,{
+ mes "[ƒWƒ…ƒm[ƒKƒCƒh]";
+ mes "‰ß‹Ž‚ð’m‚ècc";
+ mes "Œ»Ý‚ðŒ©‚Â‚ßcc";
+ mes "–¢—ˆ‚ð—\’m‚·‚écc";
+ mes "‚±‚±‚ÍŒ«ŽÒ‚½‚¿‚Ì“sŽs";
+ mes "- ƒWƒ…ƒm[ -";
+ mes "ƒWƒ…ƒm[‚ɂ悤‚±‚»";
+ next;
+ menu "•Ší–h‹ï“X",L1,"“¹‹ï“X",L2,"ƒZ[ƒWƒLƒƒƒbƒXƒ‹ (ƒZ[ƒW“]EŠ)",L3,"‘“X’Ê‚è",L4,"’†‰›Lê",L5,"‹¤˜a‘}‘ŠÙ",L6,"ƒVƒ…ƒoƒCƒ`ƒFƒ‹–‚–@ƒAƒJƒfƒ~[",L7,"ƒ‚ƒ“ƒXƒ^[”Ž•¨ŠÙ",L8,"‰ï˜b‚ðCancel",LEnd;
+L1:
+ mes "[ƒWƒ…ƒm[ƒKƒCƒh]";
+ viewpoint 1,120,138,1,0xFF3355;
+ mes "^FF3355+^000000 -> •Ší–h‹ï“X";
+ goto Lgo;
+L2:
+ mes "[ƒWƒ…ƒm[ƒKƒCƒh]";
+ viewpoint 1,193,142,2,0x3355FF;
+ mes "^3355FF+^000000 -> “¹‹ï“X";
+ goto Lgo;
+L3:
+ mes "[ƒWƒ…ƒm[ƒKƒCƒh]";
+ viewpoint 1,90,318,3,0x33FF55;
+ mes "^33FF55+^000000 -> ƒZ[ƒWƒLƒƒƒbƒXƒ‹";
+ mes "(ƒZ[ƒW“]EŠ)";
+ goto Lgo;
+L4:
+ mes "[ƒWƒ…ƒm[ƒKƒCƒh]";
+ viewpoint 1,257,102,4,0xFF3355;
+ mes "^FF3355+^000000 -> ‘“X’Ê‚è";
+ goto Lgo;
+L5:
+ mes "[ƒWƒ…ƒm[ƒKƒCƒh]";
+ viewpoint 1,157,170,5,0x3355FF;
+ mes "^3355FF+^000000 -> ’†‰›Lê";
+ goto Lgo;
+L6:
+ mes "[ƒWƒ…ƒm[ƒKƒCƒh]";
+ viewpoint 1,336,204,6,0x33FF55;
+ mes "^33FF55+^000000 -> ‹¤˜a‘}‘ŠÙ";
+ goto Lgo;
+L7:
+ mes "[ƒWƒ…ƒm[ƒKƒCƒh]";
+ viewpoint 1,323,281,7,0xFF3355;
+ mes "^FF3355+^000000 -> ƒVƒ…ƒoƒCƒ`ƒFƒ‹–‚–@ƒAƒJƒfƒ~[";
+ goto Lgo;
+L8:
+ mes "[ƒWƒ…ƒm[ƒKƒCƒh]";
+ viewpoint 1,278,288,8,0x3355FF;
+ mes "^3355FF+^000000 -> ƒ‚ƒ“ƒXƒ^[”Ž•¨ŠÙ";
+ goto Lgo;
+Lgo:
+ mes "‚É‚È‚è‚Ü‚·B";
+ mes "—Ç‚¢Žž‚ð‚¨‰ß‚²‚µ‚­‚¾‚³‚¢B";
+ close;
+LEnd:
+ mes "[ƒWƒ…ƒm[ƒKƒCƒh]";
+ mes "Œ«ŽÒ‚½‚¿‚Ì‘å“sŽs";
+ mes "‚»‚µ‚Ä’mŽ¯‚Ì•óŒÉ";
+ mes "ƒWƒ…ƒm[‚ւ悤‚±‚»I";
+ close;
+}
+
+//[Amatsu]
+
+//Needs Translation
+amatsu.gat,207,91,4 script ƒ~ƒXEƒAƒ}ƒc 758,{
+ mes "[Œu‚¿‚á‚ñ]";
+ mes "Ž„‚ÍA‘æ13‘ãƒ~ƒXEƒAƒ}ƒc";
+ mes "¢Œu£‚Æ\‚µ‚Ü‚·B";
+ mes "ƒAƒ}ƒc‘ã•\‚Æ‚µ‚Ä";
+ mes "‘º‚̈ēà‚ð‹Â‚¹‚‚©‚Á‚Ä‚¨‚è‚Ü‚·B";
+ mes "‚È‚É‚©‚²Ž¿–₪‚ ‚è‚Ü‚µ‚½‚ç";
+ mes "‚È‚ñ‚È‚è‚Æ‚¨‚Á‚µ‚á‚Á‚Ä‚­‚¾‚³‚¢‚Ü‚¹B";
+ next;
+ menu "é",L1,"“¹‹ï“X",L2,"•Ší“X",L3,"‹Žð‰®",L4;
+L1:
+ viewpoint 1,85,235,0,0xFF3355;
+ mes "[Œu‚¿‚á‚ñ]";
+ mes "ƒ~ƒjƒ}ƒbƒv‚Ì";
+ mes "^FF3355+^000000•”•ª‚ª";
+ mes "é‚Å‚²‚´‚¢‚Ü‚·B";
+ goto LEnd;
+L2:
+ viewpoint 1,96,118,1,0xCE6300;
+ mes "[Œu‚¿‚á‚ñ]";
+ mes "ƒ~ƒjƒ}ƒbƒv‚Ì";
+ mes "^CE6300+^000000•”•ª‚ª";
+ mes "“¹‹ï“X‚É‚È‚è‚Ü‚·B";
+ goto LEnd;
+L3:
+ viewpoint 1,132,117,2,0x55FF33;
+ mes "[Œu‚¿‚á‚ñ]";
+ mes "ƒ~ƒjƒ}ƒbƒv‚Ì";
+ mes "^55FF33+^000000•”•ª‚ª";
+ mes "•Ší“X‚É‚È‚è‚Ü‚·B";
+ goto LEnd;
+L4:
+ viewpoint 1,217,116,3,0x3355FF;
+ mes "[Œu‚¿‚á‚ñ]";
+ mes "ƒ~ƒjƒ}ƒbƒv‚Ì";
+ mes "^3355FF+^000000•”•ª‚ª";
+ mes "‹Žð‰®‚É‚È‚è‚Ü‚·B";
+LEnd:
+ mes "‚»‚ê‚Å‚ÍAƒAƒ}ƒc‚Å";
+ mes "Šy‚µ‚¢ŽžŠÔ‚ð‚¨‰ß‚²‚µ‰º‚³‚¢‚Ü‚¹B";
+ close;
+}
+
+amatsu.gat,251,283,4 script ˆÄ“àl 767,{
+ mes "[ˆÄ“àl]";
+ mes "‚悤‚±‚»B";
+ mes "—·‚ð‚·‚é‚É‚Í—Ç‚¢‹Gß‚Å‚·‚ËB";
+ mes "Ž„‚Í‚±‚̃Aƒ}ƒc‚Ì";
+ mes "ˆÄ“à‚ðˆø‚«Žó‚¯‚Ä‚¨‚éŽÒ‚Å‚·B";
+ next;
+ mes "[ˆÄ“àl]";
+ mes "‰½‚ð‚¨’T‚µ‚Å‚·‚©H";
+ next;
+ menu "é",L1,"“¹‹ï“X",L2,"•Ší“X",L3,"‹Žð‰®",L4;
+L1:
+ viewpoint 1,85,235,0,0xFF3355;
+ mes "[ˆÄ“àl]";
+ mes "ƒ~ƒjƒ}ƒbƒv‚Ì";
+ mes "^FF3355+^000000•”•ª‚ª";
+ mes "é‚Å‚²‚´‚¢‚Ü‚·B";
+ goto LEnd;
+L2:
+ viewpoint 1,96,118,1,0xCE6300;
+ mes "[ˆÄ“àl]";
+ mes "ƒ~ƒjƒ}ƒbƒv‚Ì";
+ mes "^CE6300+^000000•”•ª‚ª";
+ mes "“¹‹ï“X‚É‚È‚è‚Ü‚·B";
+ goto LEnd;
+L3:
+ viewpoint 1,132,117,2,0x55FF33;
+ mes "[ˆÄ“àl]";
+ mes "ƒ~ƒjƒ}ƒbƒv‚Ì";
+ mes "^55FF33+^000000•”•ª‚ª";
+ mes "•Ší“X‚É‚È‚è‚Ü‚·B";
+ goto LEnd;
+L4:
+ viewpoint 1,217,116,3,0x3355FF;
+ mes "[ˆÄ“àl]";
+ mes "ƒ~ƒjƒ}ƒbƒv‚Ì";
+ mes "^3355FF+^000000•”•ª‚ª";
+ mes "‹Žð‰®‚É‚È‚è‚Ü‚·B";
+LEnd:
+ mes "‚»‚ê‚Å‚ÍAƒAƒ}ƒc‚Å";
+ mes "Šy‚µ‚¢ŽžŠÔ‚ð‚¨‰ß‚²‚µ‰º‚³‚¢‚Ü‚¹B";
+ close;
+}
+
+
+//[Gonryun]
+
+//Needs Translation
+gonryun.gat,163,60,4 script ƒRƒ“ƒƒ“ƒKƒCƒh 780,{
+ mes "[ƒn ƒEƒHƒ“ƒ`]";
+ mes "‚¢‚Â‚àŠˆ‹C‚É–ž‚¿‚ÄA”M‹C‚ª‚ ‚Ó‚ê";
+ mes "–ˆ“úlX‚ªs‚«Œð‚Á‚Ä‚¢‚é";
+ mes "ƒRƒ“ƒƒ“‚É‚¢‚ç‚Á‚µ‚á‚¢‚Ü‚¹!";
+ next;
+ mes "[ƒn ƒEƒHƒ“ƒ`]";
+ mes "¤”„‚ª‚çA‘º‚̈ēà‚ð‚µ‚Ä";
+ mes "‚¢‚Ü‚·B’m‚肽‚¢‚±‚Æ‚ª‚ ‚ê‚Î";
+ mes "‰½‚Å‚à•·‚¢‚Ä‚­‚¾‚³‚¢B";
+ next;
+ menu "‘º’·‚̉Æ",L1,"“¹‹ï¤l",L2,"•Ší¤l",L3,"–h‹ï¤l",L4,"—·ŠÙ",L5;
+L1:
+ viewpoint 1,109,131,0,0xff3355;
+ mes "[ƒn ƒEƒHƒ“ƒ`]";
+ mes "ƒ~ƒjƒ}ƒbƒv‚Ì";
+ mes "^ff3355+^000000‚̈ʒu‚É";
+ mes "‘º’·‚̉Ƃª‚ ‚è‚Ü‚·B";
+ goto Lend;
+L2:
+ viewpoint 1,147,84,1,0xce6300;
+ mes "[ƒn ƒEƒHƒ“ƒ`]";
+ mes "ƒ~ƒjƒ}ƒbƒv‚Ì";
+ mes "^ce6300+^000000‚̈ʒu‚É";
+ mes "“¹‹ï¤l‚ª‚¢‚Ü‚·B";
+ goto Lend;
+L3:
+ viewpoint 1,174,101,2,0x55ff33;
+ mes "[ƒn ƒEƒHƒ“ƒ`]";
+ mes "ƒ~ƒjƒ}ƒbƒv‚Ì";
+ mes "^55ff33+^000000‚̈ʒu‚É";
+ mes "•Ší¤l‚ª‚¢‚Ü‚·B";
+ goto Lend;
+L4:
+ viewpoint 1,173,84,3,0x3355ff;
+ mes "[ƒn ƒEƒHƒ“ƒ`]";
+ mes "ƒ~ƒjƒ}ƒbƒv‚Ì";
+ mes "^3355ff+^000000‚̈ʒu‚É";
+ mes "–h‹ï¤l‚ª‚¢‚Ü‚·B";
+ goto Lend;
+L5:
+ viewpoint 1,215,114,4,0xffffff;
+ mes "[ƒn ƒEƒHƒ“ƒ`]";
+ mes "ƒ~ƒjƒ}ƒbƒv‚Ì";
+ mes "^ffffff+^000000‚̈ʒu‚É";
+ mes "—·ŠÙ‚ª‚ ‚è‚Ü‚·B";
+ goto Lend;
+Lend:
+ mes "Ž„’B‚ÌŠy‚µ‚¢ƒRƒ“ƒƒ“‚ð";
+ mes "Žv‚¢‚Á‚«‚èŠy‚µ‚ñ‚Å‚­‚¾‚³‚¢I";
+ close;
+}
+
+// Below not in japanese NPC
+
+aldebaran.gat,139,63,4 script Soldier 105,{
+ mes "[Al De Baran Guard]";
+ mes "I am just any ordinary guard you could find in any other cities!!";
+ mes "I am in charge of Service Guide in Al De Baran Garrison, and the name is Al De Baran Guard (No Name) !!";
+ mes "I will guide you though our town!";
+ next;
+ menu "Get Location Guide",L0,"End conversation",End;
+
+ L0:
+ mes "^FF0000+^000000 -> Kafra Main Office";
+ mes "^0000FF+^000000 -> Weapon Shop";
+ mes "^00F0F0+^000000 -> Sorcerer Guild (Closed)";
+ mes "^808080+^000000 -> Pub";
+ mes "^00FF00+^000000 -> Item Shop";
+ mes "^F0F000+^000000 -> Chemical Acadamy (Closed)";
+ viewpoint 0,53,228,1,0xFF0000;
+ viewpoint 1,48,198,1,0x0000FF;
+ viewpoint 2,48,198,1,0x00F0F0;
+ viewpoint 3,48,198,1,0x808080;
+ viewpoint 4,48,198,1,0x00FF00;
+ viewpoint 5,35,35,1,0xF0F000;
+ close;
+ LEnd:
+ mes "[Al De Baran Guard]";
+ mes "We are shown to protect Al De Baran!!";
+ close;
+}
+
+izlude.gat,124,178,4 script Soldier 105,{
+ mes "[Soldier]";
+ mes "HeHeHeHe... HaHaHaHa";
+ mes "Huh? Why am I so happy?";
+ mes "you wanna know?";
+ next;
+ menu "Sure, why?",Sure,"Not really, I don't care.",NotReally;
+
+ Sure:
+ mes "[Soldier]";
+ mes "Ah~~ There is not much for us to do these days. Merchants buy items, which monsters drop. You knew that, right?";
+ next;
+ menu "Of course",OfCourse,"Eh? Really?",EhReally;
+
+ OfCourse:
+ mes "[Soldier]";
+ mes "HaHa In fact, that was actually our job.";
+ mes "But there were more and more hunters who come in order to get paid. So it was just too much to handle.";
+ next;
+ mes "[Soldier]";
+ mes "We had to work over time every day.";
+ mes "Ah~~~ that was a nightmare...~~~";
+ mes "Anyways, the government took a smart action, making the Registration System. The Office of Prize Compensation only pays those who have the Registration.";
+ next;
+ mes "[Soldier]";
+ mes "Requirements for the Registration are for a merchant to secure sufficient funds and to stay at one place all the time. The Office gives away the registration to any merchant who fullfills those requirements.";
+ next;
+ mes "[Soldier]";
+ mes "So there aren't too many people that come to us any more. I mean we are still busy, but that's nothing compared to how it was before~~";
+ mes "People who suffered first know how to thank even the slightest comfort.";
+ mes "HaHaHaHaHa!";
+ close;
+ EhReally:
+ mes "[Soldier]";
+ mes "What?! What do you mean you didn't know?!";
+ mes "Hm... well... well... You know you could get some items killing some monsters. You could make some money out of it if you bring and sell those to a merchant.";
+ mes "ANYWAYS!";
+ next;
+ mes "[Soldier]";
+ mes "HaHa In fact, that was actually our job.";
+ mes "But there were more and more hunters who come in order to get paid. So it was just too much to handle.";
+ next;
+ mes "[Soldier]";
+ mes "We had to work over time every day.";
+ mes "Ah~~~ that was a nightmare...~~~";
+ mes "Anyways, the government took a smart action, making the Registration System. The Office of Prize Compensation only pays those who have the Registration.";
+ next;
+ mes "[Soldier]";
+ mes "Requirements for the Registration are for a merchant to secure sufficient funds and to stay at one place all the time. The Office gives away the registration to any merchant who fullfills those requirements.";
+ next;
+ mes "[Soldier]";
+ mes "So there aren't too many people that come to us any more. I mean we are still busy, but that's nothing compared to how it was before~~";
+ mes "People who suffered first know how to thank even the slightest comfort.";
+ mes "HaHaHaHaHa!";
+ close;
+ NotReally:
+ mes "[Soldier]";
+ mes "OK Good bye~~";
+ close;
+}
+
+prontera.gat,160,330,4 script Guard#p2-1::guard_p 105,{
+ mes "Welcome to Prontera.";
+ close;
+}
+
+prontera.gat,223,99,1 duplicate(guard_p) Guard#p2-2 105
+
+prontera.gat,229,104,1 duplicate(guard_p) Guard#p2-3 105
+
+prontera.gat,47,339,5 duplicate(guard_p) Guard#p2-4 105
+
+prontera.gat,52,344,5 duplicate(guard_p) Guard#p2-5 105
+
+
+prt_maze02.gat,100,69,4 script Soldier#p3-1::soldier_p 105,{
+ mes "[Soldier]";
+ mes "Yo yo, you'd be better not to go in there. It has rumored there is a Demon living in the forest.";
+ mes "Of course it is just a rumor because no one see the people turning back from the palce.";
+ mes "hmmm... it's up to you to go in or leave.";
+ close;
+}
+prt_maze02.gat,110,69,4 duplicate(soldier_p) Soldier#p3-2 105
+
+//Yuno
+yuno.gat,46,165,4 script Soldier#p4-1::soldier_y 105,{
+ mes "[Yuno Soldier]";
+ mes "Welcome to City of scholars where wisdom exists.";
+ close;
+}
+
+yuno.gat,61,165,4 duplicate(soldier_y) Soldier#p4-2 105
+
+yuno.gat,150,228,4 duplicate(soldier_y) Soldier#p4-2 105
+
+yuno.gat,165,228,4 duplicate(soldier_y) Soldier#p4-2 105
+
+yuno.gat,262,319,2 script Yuno Soldier 105,{
+ mes "[Yuno Soldier]";
+ mes "Welcome to Yuno, the scholar's city where ancient wisdom exists.";
+ next;
+ mes "[Yuno Soldier]";
+ mes "There is a holy shield for Crusaders called 'The Messenger of the God'.";
+ next;
+ mes "[Yuno Soldier]";
+ mes "It looks like a long shield with a angel's wing image on its center.";
+ mes " It is especially strong against undead or demons.";
+ close;
+}
+
+yuno.gat,227,292,4 script Yuno Soldier 105,{
+ mes "[Yuno Soldier]";
+ mes "Welcome to City of scholars where wisdom exists, Yuno.";
+ next;
+ mes "[Yuno Soldier]";
+ mes "Around the City of Yuno, there is fallen angel that fakes himself as the real angel, named 'Fake Angel'.";
+ next;
+ mes "[Yuno Soldier]";
+ mes "This one fakes itself as the real angel, and acts as if it's blessing travelers, and attacks them.";
+ mes "It looks all beautiful, so it's bad if you fall for its appearance.";
+ close;
+}
+
+yuno.gat,150,283,4 script Yuno Soldier 105,{
+ mes "[Yuno Soldier]";
+ mes "Welcome to City of scholars where wisdom exists, Yuno.";
+ next;
+ mes "[Yuno Soldier]";
+ mes "Larva Golem is a stone doll that has a stone heart in which its magical power was induced by magma.";
+ mes "....from the body, it flows...";
+ next;
+ mes "[Yuno Soldier]";
+ mes "Magma is really hot as to even melt away armor and weapon made with steel.";
+ mes "if you attack thoughtlessly, ";
+ next;
+ mes "[Yuno Soldier]";
+ mes "you might get a lot of damage on yourself and even get your armor and weapon broken.";
+ close;
+}
+
+yuno.gat,165,283,4 script Yuno Soldier 105,{
+ mes "[Yuno Soldier]";
+ mes "Welcome to City of scholars where wisdom exists.";
+ next;
+ mes "[Yuno Soldier]";
+ mes "'Geographer', it is a hard shell type thing that grows around flowers from the earth.";
+ mes "Thus, even if it's far away, you can't think less of it.";
+ next;
+ mes "[Yuno Soldier]";
+ mes "it got such name 'cause the passing-by geography scholar got eaten away during his research.";
+ close;
+}
+
+//Comodo
+
+//Yuno
+yuno.gat,46,165,4 script Yuno Soldier 105,{
+ mes "[Yuno Soldier]";
+ mes "Welcome to City of scholars where wisdom exists.";
+ close;
+}
+
+yuno.gat,61,165,4 script Yuno Soldier 105,{
+ mes "[Yuno Soldier]";
+ mes "Welcome to City of scholars where wisdom exists.";
+ close;
+}
+
+
+yuno.gat,150,228,4 script Yuno Soldier 105,{
+ mes "[Yuno Soldier]";
+ mes "Welcome to City of scholars where wisdom exists.";
+ close;
+}
+
+yuno.gat,165,228,4 script Yuno Soldier 105,{
+ mes "[Yuno Soldier]";
+ mes "Welcome to City of scholars where wisdom exists.";
+ close;
+}
+
+yuno.gat,262,319,2 script Yuno Soldier 105,{
+ mes "[Yuno Soldier]";
+ mes "Welcome to Yuno, the scholar's city where ancient wisdom exists.";
+ next;
+ mes "[Yuno Soldier]";
+ mes "There is a holy shield for Crusaders called 'The Messenger of the God'.";
+ next;
+ mes "[Yuno Soldier]";
+ mes "It looks like a long shield with a angel's wing image on its center.";
+ mes " It is especially strong against undead or demons.";
+ close;
+}
+
+yuno.gat,227,292,4 script Yuno Soldier 105,{
+ mes "[Yuno Soldier]";
+ mes "Welcome to City of scholars where wisdom exists, Yuno.";
+ next;
+ mes "[Yuno Soldier]";
+ mes "Around the City of Yuno, there is fallen angel that fakes himself as the real angel, named 'Fake Angel'.";
+ next;
+ mes "[Yuno Soldier]";
+ mes "This one fakes itself as the real angel, and acts as if it's blessing travelers, and attacks them.";
+ mes "It looks all beautiful, so it's bad if you fall for its appearance.";
+ close;
+}
+
+yuno.gat,150,283,4 script Yuno Soldier 105,{
+ mes "[Yuno Soldier]";
+ mes "Welcome to City of scholars where wisdom exists, Yuno.";
+ next;
+ mes "[Yuno Soldier]";
+ mes "Larva Golem is a stone doll that has a stone heart in which its magical power was induced by magma.";
+ mes "....from the body, it flows...";
+ next;
+ mes "[Yuno Soldier]";
+ mes "Magma is really hot as to even melt away armor and weapon made with steel.";
+ mes "if you attack thoughtlessly, ";
+ next;
+ mes "[Yuno Soldier]";
+ mes "you might get a lot of damage on yourself and even get your armor and weapon broken.";
+ close;
+}
+
+yuno.gat,165,283,4 script Yuno Soldier 105,{
+ mes "[Yuno Soldier]";
+ mes "Welcome to City of scholars where wisdom exists.";
+ next;
+ mes "[Yuno Soldier]";
+ mes "'Geographer', it is a hard shell type thing that grows around flowers from the earth.";
+ mes "Thus, even if it's far away, you can't think less of it.";
+ next;
+ mes "[Yuno Soldier]";
+ mes "it got such name 'cause the passing-by geography scholar got eaten away during his research.";
+ close;
+}
diff --git a/npc/other/old/kafra.txt b/npc/other/old/kafra.txt
new file mode 100644
index 000000000..dcf05a1ce
--- /dev/null
+++ b/npc/other/old/kafra.txt
@@ -0,0 +1,1866 @@
+//===== eAthena Script =======================================
+//= Kafra Script
+//===== By: ==================================================
+//= Lotsa People (1.0)
+//= Darlskies (1.1)
+//= Darkchild (1.2)
+//= Syrus22 (2.0)
+//= Syrus22 (2.1)
+//= Darkchild (2.2)
+//===== Current Version: =====================================
+//= 2.2
+//===== Compatible With: =====================================
+//= Any eAthena Version In Which functions work.
+//===== Description: =========================================
+//= All The Kafra's In Ro, Incl HQ
+//===== Additional Comments: =================================
+//= Darkskies did all the kafra points stuff.
+//= Syrus22 - I compltely rewrote the script pretty much except for
+//= the normal conversation text in the Kafra HQ NPCs.
+//= Syrus22 - I fixed the Special Reserve in the Kafra HQ to really
+//= give you items. I will add the Lottery Chances when I get
+//= full info on the prizes.
+//= Syrus22 - I will add a Louyang Kafra when I get better location info.
+//= Darkchild - Added Comodo
+//============================================================
+
+//**********************************************//
+//Actual Kafra NPCs //
+//**********************************************//
+//These will set the necessary variables for my //
+//functions to work. //
+//**********************************************//
+//---Orc Dungeon Kafra---
+gef_fild10.gat,73,340,4 script Kafra#orc1 115,{
+set @cutinpic$,"kafra_02";
+
+set @save,1;
+set @save1map$,"gef_fild10.gat";
+set @save1x,54;
+set @save1y,232;
+
+callfunc "kaframain";
+break;
+}
+//---Byalan Kafra---
+izlu2dun.gat,106,58,8 script Kafra 115,{
+if (class != Job_Novice) goto Lkafra;
+if((job_merchant_q==8) || (job_merchant_q==7)) goto JobMerQE8oE7;
+if((job_merchant_q==6) || (job_merchant_q==5)) goto JobMerQE6oE5;
+
+JobMerQE8oE7:
+ if(countitem(Delivery_Message) != 0) goto JobMerQE8oE7Cont;
+
+JobMerQE8oE7Cont:
+ menu "Excuse me.",M0;
+
+ M0:
+ mes "[Kafra]";
+ mes "Yes?";
+ cutin "kafra_03",255;
+ close;
+
+JobMerQE6oE5:
+ mes "[Kafra]";
+ mes "Delivery fro the Merchant Guild?? Ah, Right! Yes! I almost forgot.";
+ mes "Okay,Please put down here....";
+ if((countitem(1081)==1) || (countitem(1082)==1) || (countitem(1083)==1)) goto MerBox123E1;
+ mes ".... I think our orders are almost one Box of Oversized and Heavy....But you seem to carry it on without difficulty.";
+ close;
+
+ MerBox123E1:
+ next;
+ mes "[Kafra]";
+ mes "Let me check its Serial numbers, I have to give the receipt to you anyhow.";
+ if(nov_1_2_cos_c==7) goto JobMerQ2E7;
+ if(nov_1_2_cos_c==8) goto JobMerQ2E8;
+ next;
+ mes "[Kafra]";
+ mes "......? Excuse me! I think you gave me the wrong one.";
+ mes "Our order should have the serial numbers as either of 3318702 or 3543625...";
+ cutin "kafra_03",255;
+ close;
+
+JobMerQ2E7:
+ if(countitem(1081) !=0) goto MerBox1NE0;
+
+ MerBox1NE0:
+ mes "Um.... 3012685. Yes! This is the right one we ordered. Here, your receipt.";
+ delitem 1081,1;
+ getitem 1079,1;
+ goto JobMerQ2Cont;
+
+JobMerQ2E8:
+ if(countitem(1081) !=0) goto MerBox2NE0;
+
+ MerBox2NE0:
+ mes "Um.... 3543625. Yes! This is the right one we ordered. Here, your receipt.";
+ delitem 1082,1;
+ getitem 1080,1;
+ goto JobMerQ2Cont;
+
+JobMerQ2Cont:
+ if(job_merchant_q==6) goto JobMerQE6;
+ getitem 3005,2;
+ goto JobMerQ2Cont1;
+
+JobMerQE6:
+ getitem 3005,2;
+ goto JobMerQ2Cont1;
+
+JobMerQ2Cont1:
+ getitem 3017,1;
+ if(countitem(Delivery_Message) != 0) goto DevMsg;
+ goto DevMsgCont;
+
+DevMsg:
+ menu "This is from Mr. Mahnsoo...",M1;
+
+ M1:
+ delitem 1072,1;
+ set nov_3_merchant,11;
+ mes "[Kapra]";
+ mes "Oh, my good Lord! Mr. Mansoo wrote me a Letter? Thank you, Thank you~";
+ mes "I though he would send one one of these days, but I've never expected it would be so soon like this time~";
+ goto DevMsgCont;
+
+ DevMsgCont:
+ next;
+ mes "[Kafra]";
+ mes "I really appreciate you for what you've done so far. This is my Small Gift for you to lay my heart.";
+ mes "I hope you will help me next time.";
+ set @TEMP,rand(2);
+ goto R0;
+
+ R0:
+ if(@TEMP !=0) goto R1;
+ getitem 513,3;
+ cutin "kafra_03",255;
+ close;
+ R1:
+ getitem 512,3;
+ cutin "kafra_03",255;
+ close;
+
+Lkafra:
+set @cutinpic$,"kafra_03";
+
+set @save,1;
+set @save1map$,"izlu2dun.gat";
+set @save1x,87;
+set @save1y,170;
+
+callfunc "kaframain";
+break;
+}
+//---Pyramids Kafra---
+moc_ruins.gat,61,156,5 script Kafra#pyr1 114,{
+set @cutinpic$,"kafra_04";
+
+set @save,1;
+set @save1map$,"moc_ruins.gat";
+set @save1x,41;
+set @save1y,141;
+
+callfunc "kaframain";
+break;
+}
+//---Northern Prontera Field Kafra---
+prt_fild01.gat,198,47,8 script Kafra#pfl1 112,{
+set @cutinpic$,"kafra_06";
+
+set @save,1;
+set @save1map$,"prt_fild01.gat";
+set @save1x,197;
+set @save1y,50;
+
+callfunc "kaframain";
+break;
+}
+//---Culvert Kafra---
+prt_fild05.gat,290,224,1 script Kafra#pfl2 114,{
+set @cutinpic$,"kafra_04";
+
+set @save,1;
+set @save1map$,"prt_fild05.gat";
+set @save1x,274;
+set @save1y,243;
+
+callfunc "kaframain";
+break;
+}
+//---In Alberta Kafras---
+alberta.gat,28,229,8 script Kafra#alb1 115,{
+set @cutinpic$,"kafra_02";
+
+set @save1map$,"alberta.gat";
+set @save1x,31;
+set @save1y,231;
+set @save2map$,"pay_fild03.gat";
+set @save2x,386;
+set @save2y,76;
+
+set @warps,4;
+
+set @warp1$,"Payon";
+set @warp1name$,"payon.gat";
+set @warp1x,69;
+set @warp1y,100;
+set @warp1zeny,1300;
+
+set @warp2$,"Prontera";
+set @warp2name$,"prontera.gat";
+set @warp2x,116;
+set @warp2y,75;
+set @warp2zeny,2100;
+
+set @warp3$,"Morocc";
+set @warp3name$,"morocc.gat";
+set @warp3x,156;
+set @warp3y,46;
+set @warp3zeny,2200;
+
+set @warp4$,"Comodo";
+set @warp4name$,"comodo.gat";
+set @warp4x,209;
+set @warp4y,143;
+set @warp4zeny,2400;
+
+set @kaflocations,1;
+set @location1x,113;
+set @location1y,60;
+
+set @special,1;
+
+callfunc "kaframain";
+break;
+}
+alberta.gat,113,60,5 script Kafra#alb2 112,{
+set @cutinpic$,"kafra_06";
+
+set @save,1;
+set @save1map$,"alberta.gat";
+set @save1x,117;
+set @save1y,57;
+
+set @warps,4;
+
+set @warp1$,"Payon";
+set @warp1name$,"payon.gat";
+set @warp1x,69;
+set @warp1y,100;
+set @warp1zeny,1300;
+
+set @warp2$,"Prontera";
+set @warp2name$,"prontera.gat";
+set @warp2x,116;
+set @warp2y,75;
+set @warp2zeny,2100;
+
+set @warp3$,"Morocc";
+set @warp3name$,"morocc.gat";
+set @warp3x,156;
+set @warp3y,46;
+set @warp3zeny,2200;
+
+set @warp4$,"Comodo";
+set @warp4name$,"comodo.gat";
+set @warp4x,209;
+set @warp4y,143;
+set @warp4zeny,2400;
+
+set @kaflocations,1;
+set @location1x,28;
+set @location1y,229;
+
+set @special,1;
+
+callfunc "kaframain";
+break;
+}
+//---Sunken Ship Kafra---
+alb2trea.gat,59,69,1 script Kafra#snk1 117,{
+set @cutinpic$,"kafra_03";
+
+set @save,1;
+set @save1map$,"alb2trea.gat";
+set @save1x,92;
+set @save1y,64;
+
+callfunc "kaframain";
+break;
+}
+//---In Al De Baran Kafra---
+aldebaran.gat,143,119,4 script Kafra#ald1 113,{
+set @cutinpic$,"kafra_05";
+
+set @save,1;
+set @save1map$,"aldebaran.gat";
+set @save1x,143;
+set @save1y,109;
+
+set @warps,3;
+
+set @warp1$,"Geffen";
+set @warp1name$,"geffen.gat";
+set @warp1x,120;
+set @warp1y,39;
+set @warp1zeny,1600;
+
+set @warp2$,"Mjolnir Dead Pit";
+set @warp2name$,"mjolnir_02.gat";
+set @warp2x,99;
+set @warp2y,351;
+set @warp2zeny,1700;
+
+set @warp3$,"Comodo";
+set @warp3name$,"comodo.gat";
+set @warp3x,209;
+set @warp3y,143;
+set @warp3zeny,2200;
+
+set @special,1;
+
+callfunc "kaframain";
+break;
+}
+//---In Geffen Kafras---
+geffen.gat,120,62,8 script Kafra#gef1 115,{
+set @cutinpic$,"kafra_03";
+
+set @save,1;
+set @save1map$,"geffen.gat";
+set @save1x,119;
+set @save1y,40;
+
+set @warps,5;
+
+set @warp1$,"Prontera";
+set @warp1name$,"prontera.gat";
+set @warp1x,116;
+set @warp1y,75;
+set @warp1zeny,1400;
+
+set @warp2$,"Izlude";
+set @warp2name$,"izlude.gat";
+set @warp2x,91;
+set @warp2y,105;
+set @warp2zeny,1800;
+
+set @warp3$,"Al De Baran";
+set @warp3name$,"aldebaran.gat";
+set @warp3x,143;
+set @warp3y,110;
+set @warp3zeny,2100;
+
+set @warp4$,"Morocc";
+set @warp4name$,"morocc.gat";
+set @warp4x,156;
+set @warp4y,46;
+set @warp4zeny,2200;
+
+set @warp5$,"Comodo";
+set @warp5name$,"comodo.gat";
+set @warp5x,209;
+set @warp5y,143;
+set @warp5zeny,2400;
+
+set @kaflocations,1;
+set @location1x,203;
+set @location1y,123;
+
+set @special,1;
+
+callfunc "kaframain";
+break;
+}
+geffen.gat,203,123,3 script Kafra#gef2 114,{
+set @cutinpic$,"kafra_04";
+
+set @save1map$,"geffen.gat";
+set @save1x,200;
+set @save1y,124;
+set @save2map$,"gef_fild00.gat";
+set @save2x,51;
+set @save2y,194;
+
+set @warps,5;
+
+set @warp1$,"Prontera";
+set @warp1name$,"prontera.gat";
+set @warp1x,116;
+set @warp1y,75;
+set @warp1zeny,1400;
+
+set @warp2$,"Izlude";
+set @warp2name$,"izlude.gat";
+set @warp2x,91;
+set @warp2y,105;
+set @warp2zeny,1800;
+
+set @warp3$,"Al De Baran";
+set @warp3name$,"aldebaran.gat";
+set @warp3x,143;
+set @warp3y,110;
+set @warp3zeny,2100;
+
+set @warp4$,"Morocc";
+set @warp4name$,"morocc.gat";
+set @warp4x,156;
+set @warp4y,46;
+set @warp4zeny,2200;
+
+set @warp5$,"Comodo";
+set @warp5name$,"comodo.gat";
+set @warp5x,209;
+set @warp5y,143;
+set @warp5zeny,2400;
+
+set @kaflocations,1;
+set @location1x,120;
+set @location1y,62;
+
+set @special,1;
+
+callfunc "kaframain";
+break;
+}
+//---In Izlude Kafra---
+izlude.gat,124,115,6 script Kafra#izl1 117,{
+set @cutinpic$,"kafra_01";
+
+set @save1map$,"izlude.gat";
+set @save1x,128;
+set @save1y,111;
+set @save2map$,"prt_fild08.gat";
+set @save2x,349;
+set @save2y,202;
+
+set @warps,4;
+
+set @warp1$,"Prontera";
+set @warp1name$,"prontera.gat";
+set @warp1x,116;
+set @warp1y,75;
+set @warp1zeny,900;
+
+set @warp2$,"Payon";
+set @warp2name$,"payon.gat";
+set @warp2x,69;
+set @warp2y,100;
+set @warp2zeny,1700;
+
+set @warp3$,"Geffen";
+set @warp3name$,"geffen.gat";
+set @warp3x,120;
+set @warp3y,39;
+set @warp3zeny,1800;
+
+set @warp4$,"Comodo";
+set @warp4name$,"comodo.gat";
+set @warp4x,209;
+set @warp4y,143;
+set @warp4zeny,2000;
+
+set @special,1;
+
+callfunc "kaframain";
+break;
+}
+//---In Morocc Kafras---
+morocc.gat,156,97,4 script Kafra#moc1 115,{
+set @cutinpic$,"kafra_03";
+
+set @save,1;
+set @save1map$,"morocc.gat";
+set @save1x,156;
+set @save1y,46;
+
+set @warps,5;
+
+set @warp1$,"Prontera";
+set @warp1name$,"prontera.gat";
+set @warp1x,116;
+set @warp1y,75;
+set @warp1zeny,1800;
+
+set @warp2$,"Payon";
+set @warp2name$,"payon.gat";
+set @warp2x,69;
+set @warp2y,100;
+set @warp2zeny,1800;
+
+set @warp3$,"Alberta";
+set @warp3name$,"alberta.gat";
+set @warp3x,117;
+set @warp3y,56;
+set @warp3zeny,2200;
+
+set @warp4$,"Geffen";
+set @warp4name$,"geffen.gat";
+set @warp4x,120;
+set @warp4y,39;
+set @warp4zeny,2200;
+
+set @warp5$,"Comodo";
+set @warp5name$,"comodo.gat";
+set @warp5x,209;
+set @warp5y,143;
+set @warp5zeny,1800;
+
+set @kaflocations,1;
+set @location1x,163;
+set @location1y,260;
+
+set @special,1;
+
+callfunc "kaframain";
+break;
+}
+morocc.gat,163,260,4 script Kafra 114,{
+set @cutinpic$,"kafra_04";
+
+set @save1map$,"morocc.gat";
+set @save1x,187;
+set @save1y,281;
+set @save2map$,"moc_fild07.gat";
+set @save2x,212;
+set @save2y,30;
+
+set @warps,5;
+
+set @warp1$,"Prontera";
+set @warp1name$,"prontera.gat";
+set @warp1x,116;
+set @warp1y,75;
+set @warp1zeny,1800;
+
+set @warp2$,"Payon";
+set @warp2name$,"payon.gat";
+set @warp2x,69;
+set @warp2y,100;
+set @warp2zeny,1800;
+
+set @warp3$,"Alberta";
+set @warp3name$,"alberta.gat";
+set @warp3x,117;
+set @warp3y,56;
+set @warp3zeny,2200;
+
+set @warp4$,"Geffen";
+set @warp4name$,"geffen.gat";
+set @warp4x,120;
+set @warp4y,39;
+set @warp4zeny,2200;
+
+set @warp5$,"Comodo";
+set @warp5name$,"comodo.gat";
+set @warp5x,209;
+set @warp5y,143;
+set @warp5zeny,1800;
+
+set @kaflocations,1;
+set @location1x,156;
+set @location1y,97;
+
+set @special,1;
+
+callfunc "kaframain";
+break;
+}
+//---In Payon Kafra---
+payon.gat,99,116,4 script Kafra#pay1 113,{
+set @cutinpic$,"kafra_05";
+
+set @save1map$,"payon.gat";
+set @save1x,69;
+set @save1y,100;
+set @save2map$,"pay_fild01.gat";
+set @save2x,340;
+set @save2y,347;
+
+set @warps,4;
+
+set @warp1$,"Alberta";
+set @warp1name$,"alberta.gat";
+set @warp1x,117;
+set @warp1y,56;
+set @warp1zeny,1300;
+
+set @warp2$,"Prontera";
+set @warp2name$,"prontera.gat";
+set @warp2x,116;
+set @warp2y,72;
+set @warp2zeny,1800;
+
+set @warp3$,"Morocc";
+set @warp3name$,"morocc.gat";
+set @warp3x,156;
+set @warp3y,46;
+set @warp3zeny,1800;
+
+set @warp4$,"Comodo";
+set @warp4name$,"comodo.gat";
+set @warp4x,209;
+set @warp4y,143;
+set @warp4zeny,2000;
+
+set @special,1;
+
+callfunc "kaframain";
+break;
+}
+//---Archer Village Kafra---
+pay_arche.gat,55,123,8 script Kafra 117,{
+set @cutinpic$,"kafra_01";
+
+set @save,1;
+set @save1map$,"pay_arche.gat";
+set @save1x,49;
+set @save1y,144;
+
+callfunc "kaframain";
+break;
+}
+//---In Prontera Kafras---
+prontera.gat,29,207,6 script Kafra#pro2 113,{
+set @cutinpic$,"kafra_05";
+
+set @warps,6;
+
+set @warp1$,"Izlude";
+set @warp1name$,"izlude.gat";
+set @warp1x,91;
+set @warp1y,105;
+set @warp1zeny,900;
+
+set @warp2$,"Geffen";
+set @warp2name$,"geffen.gat";
+set @warp2x,120;
+set @warp2y,39;
+set @warp2zeny,1400;
+
+set @warp3$,"Payon";
+set @warp3name$,"payon.gat";
+set @warp3x,69;
+set @warp3y,100;
+set @warp3zeny,1700;
+
+set @warp4$,"Morocc";
+set @warp4name$,"morocc.gat";
+set @warp4x,156;
+set @warp4y,46;
+set @warp4zeny,1800;
+
+set @warp5$,"Orc Dungeon";
+set @warp5name$,"gef_fild10.gat";
+set @warp5x,52;
+set @warp5y,326;
+set @warp5zeny,1700;
+
+set @warp6$,"Comodo";
+set @warp6name$,"comodo.gat";
+set @warp6x,209;
+set @warp6y,143;
+set @warp6zeny,2000;
+
+set @save1map$,"prontera.gat";
+set @save1x,33;
+set @save1y,208;
+set @save2map$,"prt_fild05.gat";
+set @save2x,367;
+set @save2y,205;
+
+set @kaflocations,1;
+set @location1x,146;
+set @location1y,89;
+set @location2x,282;
+set @location2y,200;
+set @location3x,151;
+set @location3y,29;
+
+set @special,1;
+
+callfunc "kaframain";
+break;
+}
+prontera.gat,146,89,6 script Kafra#pro1 115,{
+set @cutinpic$,"kafra_03";
+
+set @warps,6;
+
+set @warp1$,"Izlude";
+set @warp1name$,"izlude.gat";
+set @warp1x,91;
+set @warp1y,105;
+set @warp1zeny,900;
+
+set @warp2$,"Geffen";
+set @warp2name$,"geffen.gat";
+set @warp2x,120;
+set @warp2y,39;
+set @warp2zeny,1400;
+
+set @warp3$,"Payon";
+set @warp3name$,"payon.gat";
+set @warp3x,69;
+set @warp3y,100;
+set @warp3zeny,1700;
+
+set @warp4$,"Morocc";
+set @warp4name$,"morocc.gat";
+set @warp4x,156;
+set @warp4y,46;
+set @warp4zeny,1800;
+
+set @warp5$,"Orc Dungeon";
+set @warp5name$,"gef_fild10.gat";
+set @warp5x,52;
+set @warp5y,326;
+set @warp5zeny,1700;
+
+set @warp6$,"Comodo";
+set @warp6name$,"comodo.gat";
+set @warp6x,209;
+set @warp6y,143;
+set @warp6zeny,2000;
+
+set @save,1;
+set @save1map$,"prontera.gat";
+set @save1x,116;
+set @save1y,73;
+
+set @kaflocations,1;
+set @location1x,29;
+set @location1y,207;
+set @location2x,282;
+set @location2y,200;
+set @location3x,151;
+set @location3y,29;
+
+set @special,1;
+
+callfunc "kaframain";
+break;
+}
+prontera.gat,282,199,6 script Kafra 115,{
+set @cutinpic$,"kafra_03";
+
+set @warps,6;
+
+set @warp1$,"Izlude";
+set @warp1name$,"izlude.gat";
+set @warp1x,91;
+set @warp1y,105;
+set @warp1zeny,900;
+
+set @warp2$,"Geffen";
+set @warp2name$,"geffen.gat";
+set @warp2x,120;
+set @warp2y,39;
+set @warp2zeny,1400;
+
+set @warp3$,"Payon";
+set @warp3name$,"payon.gat";
+set @warp3x,69;
+set @warp3y,100;
+set @warp3zeny,1700;
+
+set @warp4$,"Morocc";
+set @warp4name$,"morocc.gat";
+set @warp4x,156;
+set @warp4y,46;
+set @warp4zeny,1800;
+
+set @warp5$,"Orc Dungeon";
+set @warp5name$,"gef_fild10.gat";
+set @warp5x,52;
+set @warp5y,326;
+set @warp5zeny,1700;
+
+set @warp6$,"Comodo";
+set @warp6name$,"comodo.gat";
+set @warp6x,209;
+set @warp6y,143;
+set @warp6zeny,2000;
+
+set @save,1;
+set @save1map$,"prontera.gat";
+set @save1x,117;
+set @save1y,73;
+
+set @kaflocations,1;
+set @location1x,29;
+set @location1y,207;
+set @location2x,146;
+set @location2y,89;
+set @location3x,151;
+set @location3y,29;
+
+set @special,1;
+
+callfunc "kaframain";
+break;
+}
+prontera.gat,151,29,8 script Kafra 115,{
+set @cutinpic$,"kafra_03";
+
+set @warps,6;
+
+set @warp1$,"Izlude";
+set @warp1name$,"izlude.gat";
+set @warp1x,91;
+set @warp1y,105;
+set @warp1zeny,900;
+
+set @warp2$,"Geffen";
+set @warp2name$,"geffen.gat";
+set @warp2x,120;
+set @warp2y,39;
+set @warp2zeny,1400;
+
+set @warp3$,"Payon";
+set @warp3name$,"payon.gat";
+set @warp3x,69;
+set @warp3y,100;
+set @warp3zeny,1700;
+
+set @warp4$,"Morocc";
+set @warp4name$,"morocc.gat";
+set @warp4x,156;
+set @warp4y,46;
+set @warp4zeny,1800;
+
+set @warp5$,"Orc Dungeon";
+set @warp5name$,"gef_fild10.gat";
+set @warp5x,52;
+set @warp5y,326;
+set @warp5zeny,1700;
+
+set @warp6$,"Comodo";
+set @warp6name$,"comodo.gat";
+set @warp6x,209;
+set @warp6y,143;
+set @warp6zeny,2000;
+
+set @save1map$,"prontera.gat";
+set @save1x,150;
+set @save1y,33;
+set @save2map$,"prt_fild08.gat";
+set @save2x,170;
+set @save2y,369;
+
+set @kaflocations,1;
+set @location1x,29;
+set @location1y,207;
+set @location2x,146;
+set @location2y,89;
+set @location3x,282;
+set @location3y,199;
+
+set @special,1;
+
+callfunc "kaframain";
+break;
+}
+//---In Yuno Kafras---
+yuno.gat,328,108,6 script Kafra 117,{
+set @cutinpic$,"kafra_02";
+
+set @save,1;
+set @save1map$,"yuno.gat";
+set @save1x,332;
+set @save1y,107;
+
+set @warps,4;
+
+set @warp1$,"Izlude";
+set @warp1name$,"izlude.gat";
+set @warp1x,91;
+set @warp1y,105;
+set @warp1zeny,900;
+
+set @warp2$,"Geffen";
+set @warp2name$,"geffen.gat";
+set @warp2x,120;
+set @warp2y,39;
+set @warp2zeny,2100;
+
+set @warp3$,"Payon";
+set @warp3name$,"payon.gat";
+set @warp3x,69;
+set @warp3y,100;
+set @warp3zeny,2100;
+
+set @warp4$,"Morocc";
+set @warp4name$,"morocc.gat";
+set @warp4x,156;
+set @warp4y,46;
+set @warp4zeny,2100;
+
+set @kafralocations,1;
+set @location1x,151;
+set @location1y,87;
+set @location2x,278;
+set @location2y,221;
+
+set @special,1;
+
+callfunc "kaframain";
+break;
+}
+yuno.gat,151,87,4 script Kafra 115,{
+set @cutinpic$,"kafra_02";
+
+set @save,1;
+set @save1map$,"yuno.gat";
+set @save1x,154;
+set @save1y,75;
+
+set @warps,4;
+
+set @warp1$,"Izlude";
+set @warp1name$,"izlude.gat";
+set @warp1x,91;
+set @warp1y,105;
+set @warp1zeny,900;
+
+set @warp2$,"Geffen";
+set @warp2name$,"geffen.gat";
+set @warp2x,120;
+set @warp2y,39;
+set @warp2zeny,2100;
+
+set @warp3$,"Payon";
+set @warp3name$,"payon.gat";
+set @warp3x,69;
+set @warp3y,100;
+set @warp3zeny,2100;
+
+set @warp4$,"Morocc";
+set @warp4name$,"morocc.gat";
+set @warp4x,156;
+set @warp4y,46;
+set @warp4zeny,2100;
+
+set @kafralocations,1;
+set @location1x,328;
+set @location1y,108;
+set @location2x,278;
+set @location2y,221;
+
+set @special,1;
+
+callfunc "kaframain";
+break;
+}
+yuno.gat,278,221,6 script Kafra 117,{
+set @cutinpic$,"kafra_02";
+
+set @save,1;
+set @save1map$,"yuno.gat";
+set @save1x,332;
+set @save1y,107;
+
+set @warps,4;
+
+set @warp1$,"Izlude";
+set @warp1name$,"izlude.gat";
+set @warp1x,91;
+set @warp1y,105;
+set @warp1zeny,900;
+
+set @warp2$,"Geffen";
+set @warp2name$,"geffen.gat";
+set @warp2x,120;
+set @warp2y,39;
+set @warp2zeny,2100;
+
+set @warp3$,"Payon";
+set @warp3name$,"payon.gat";
+set @warp3x,69;
+set @warp3y,100;
+set @warp3zeny,2100;
+
+set @warp4$,"Morocc";
+set @warp4name$,"morocc.gat";
+set @warp4x,156;
+set @warp4y,46;
+set @warp4zeny,2100;
+
+set @kafralocations,1;
+set @location1x,328;
+set @location1y,108;
+set @location2x,151;
+set @location2y,87;
+
+set @special,1;
+
+callfunc "kaframain";
+break;
+}
+//---In Umbala Kafra---
+umbala.gat,128,133,4 script Kafra 115,{
+set @cutinpic$,"kafra_02";
+
+set @save,1;
+set @save1map$,"umbala.gat";
+set @save1x,126;
+set @save1y,131;
+
+set @warps,4;
+
+set @warp1$,"Izlude";
+set @warp1name$,"izlude.gat";
+set @warp1x,91;
+set @warp1y,105;
+set @warp1zeny,900;
+
+set @warp2$,"Geffen";
+set @warp2name$,"geffen.gat";
+set @warp2x,120;
+set @warp2y,39;
+set @warp2zeny,2100;
+
+set @warp3$,"Payon";
+set @warp3name$,"payon.gat";
+set @warp3x,69;
+set @warp3y,100;
+set @warp3zeny,2100;
+
+set @warp4$,"Morocc";
+set @warp4name$,"morocc.gat";
+set @warp4x,156;
+set @warp4y,46;
+set @warp4zeny,2100;
+
+set @special,1;
+
+callfunc "kaframain";
+break;
+}
+//---In Gonryun Kafra---
+//Note: Gave this Kafra the same warps as Umbala and Yuno till I get the
+//real warp information.
+gonryun.gat,159,122,4 script Kafra 116,{
+set @cutinpic$,"kafra_02";
+
+set @save,1;
+set @save1map$,"gonryun.gat";
+set @save1x,160;
+set @save1y,62;
+
+set @warps,4;
+
+set @warp1$,"Izlude";
+set @warp1name$,"izlude.gat";
+set @warp1x,91;
+set @warp1y,105;
+set @warp1zeny,900;
+
+set @warp2$,"Geffen";
+set @warp2name$,"geffen.gat";
+set @warp2x,120;
+set @warp2y,39;
+set @warp2zeny,2100;
+
+set @warp3$,"Payon";
+set @warp3name$,"payon.gat";
+set @warp3x,69;
+set @warp3y,100;
+set @warp3zeny,2100;
+
+set @warp4$,"Morocc";
+set @warp4name$,"morocc.gat";
+set @warp4x,156;
+set @warp4y,46;
+set @warp4zeny,2100;
+
+set @special,1;
+
+callfunc "kaframain";
+break;
+}
+//---Comodo---
+comodo.gat,166,163,3 script Kafra 721,{
+set @cutinpic$,"kafra_02";
+
+set @save,1;
+set @save1map$,"comodo.gat";
+set @save1x,188;
+set @save1y,148;
+
+set @warps,2;
+
+set @warp1$,"Morroc";
+set @warp1name$,"morocc.gat";
+set @warp1x,156;
+set @warp1y,46;
+set @warp1pay,2400;
+
+set @warp2$,"Geffen";
+set @warp2name$,"geffen.gat";
+set @warp2x,120;
+set @warp2y,39;
+set @warp2zeny,2100;
+
+set @special,1;
+
+callfunc "kaframain";
+break;
+}
+//**********************************************//
+//Kafra Main //
+//**********************************************//
+//The main kafra script. This will call the //
+//necessary functions from the rest of the //
+//script. //
+//**********************************************//
+function script kaframain -1,{
+cutin @cutinpic$,2;
+mes "[Kafra Employee]";
+mes "Welcome to Kafra Corporation. The Kafra services are always by your side.";
+mes "How may I assist you?";
+next;
+if ((@warps > 0) && (@special > 0)) goto Lallmenu;
+if ((@warps > 0) && (@special == 0)) goto Lwarpmenu;
+if (@warps == 0) goto Lnowarpmenu;
+
+Lallmenu:
+menu "Save",Lsave,"Use Storage",Lstorage,"Use Teleport Service",Lwarp,"Rent a Cart",Lcart,"Check Other Information",Lother,"Cancel",Lcancel;
+
+Lwarpmenu:
+menu "Save",Lsave,"Use Storage",Lstorage,"Use Teleport Service",Lwarp,"Rent a Cart",Lcart,"Cancel",Lcancel;
+
+Lnowarpmenu:
+menu "Save",Lsave,"Use Storage",Lstorage,"Rent a Cart",Lcart,"Cancel",Lcancel;
+
+Lsave:
+callfunc "kafrasave";
+break;
+
+Lstorage:
+callfunc "kafrastorage";
+break;
+
+Lwarp:
+callfunc "kafrawarps";
+break;
+
+Lcart:
+callfunc "kafracart";
+break;
+
+Lother:
+callfunc "kafrainfo";
+break;
+
+Lcancel:
+callfunc "kafraend";
+break;
+}
+//**********************************************//
+//Kafra Save //
+//**********************************************//
+//This will handle the save function for all the//
+//kafras. //
+//**********************************************//
+function script kafrasave -1,{
+if (@save == 1) goto Lsavein;
+mes "[Kafra]";
+mes "Where would you like to save?";
+next;
+menu "Save Outside City",Lsaveout,"Save Inside City",Lsavein;
+
+Lsavein:
+ savepoint @save1map$,@save1x,@save1y;
+ mes "[Kafra]";
+ mes "Your respawn point has been saved. Thank you.";
+ callfunc "kafraend";
+ break;
+
+Lsaveout:
+ savepoint @save2map$,@save2x,@save2y;
+ mes "[Kafra]";
+ mes "Your respawn point has been saved. Thank you.";
+ callfunc "kafraend";
+ break;
+}
+//**********************************************//
+//Kafra Storage //
+//**********************************************//
+//This will handle the storage functions for //
+//all the kafras. //
+//**********************************************//
+function script kafrastorage -1,{
+if (getskilllv(1) < 6) goto NeedJobLevel;
+if (Zeny < 30) goto NeedZenys;
+set specialreserve,specialreserve + 30;
+set Zeny, Zeny - 30;
+mes "[Kafra]";
+mes "Ok let me just open your storage for you.";
+openstorage;
+callfunc "kafraend";
+break;
+
+NeedJobLevel:
+ mes "[Kafra]";
+ mes "I'm sorry but you must have Basic Skill 6 to use storage.";
+ callfunc "kafraend";
+ break;
+
+NeedZenys:
+ mes "[Kafra]";
+ mes "I'm sorry but you are short on Zeny.";
+ callfunc "kafraend";
+ break;
+}
+//**********************************************//
+//Kafra Warps //
+//**********************************************//
+//This will handle all the actual warping and //
+//the payment of Zeny //
+//**********************************************//
+function script kafrawarps -1,{
+mes "[Kafra]";
+mes "Please choose your destination.";
+next;
+if (@warps == 7) goto L7;
+if (@warps == 6) goto L6;
+if (@warps == 5) goto L5;
+if (@warps == 4) goto L4;
+if (@warps == 3) goto L3;
+if (@warps == 2) goto L2;
+
+L2:
+ menu @warp1$ + " -> " + @warp1zeny,Lwarp1,@warp2$ + " -> " + @warp2zeny,Lwarp2,"Cancel",Lcancel;
+
+L3:
+ menu @warp1$ + " -> " + @warp1zeny,Lwarp1,@warp2$ + " -> " + @warp2zeny,Lwarp2,@warp3$ + " -> " + @warp3zeny,Lwarp3,"Cancel",Lcancel;
+
+L4:
+ menu @warp1$ + " -> " + @warp1zeny,Lwarp1,@warp2$ + " -> " + @warp2zeny,Lwarp2,@warp3$ + " -> " + @warp3zeny,Lwarp3,@warp4$ + " -> " + @warp4zeny,Lwarp4,"Cancel",Lcancel;
+
+L5:
+ menu @warp1$ + " -> " + @warp1zeny,Lwarp1,@warp2$ + " -> " + @warp2zeny,Lwarp2,@warp3$ + " -> " + @warp3zeny,Lwarp3,@warp4$ + " -> " + @warp4zeny,Lwarp4,@warp5$ + " -> " + @warp5zeny,Lwarp5,"Cancel",Lcancel;
+
+L6:
+ menu @warp1$ + " -> " + @warp1zeny,Lwarp1,@warp2$ + " -> " + @warp2zeny,Lwarp2,@warp3$ + " -> " + @warp3zeny,Lwarp3,@warp4$ + " -> " + @warp4zeny,Lwarp4,@warp5$ + " -> " + @warp5zeny,Lwarp5,@warp6$ + " -> " + @warp6zeny,Lwarp6,"Cancel",Lcancel;
+
+L7:
+ menu @warp1$ + " -> " + @warp1zeny,Lwarp1,@warp2$ + " -> " + @warp2zeny,Lwarp2,@warp3$ + " -> " + @warp3zeny,Lwarp3,@warp4$ + " -> " + @warp4zeny,Lwarp4,@warp5$ + " -> " + @warp5zeny,Lwarp5,@warp6$ + " -> " + @warp6zeny,Lwarp6,@warp7$ + " -> " + @warp7zeny,Lwarp7,"Cancel",Lcancel;
+
+Lwarp1:
+ if (Zeny < @warp1zeny) goto Lneedzeny;
+ set specialreserve,specialreserve + @warp1zeny;
+ set Zeny,Zeny - @warp1zeny;
+ warp @warp1name$,@warp1x,@warp1y;
+ set @end,1;
+ callfunc "kafraend";
+ break;
+
+Lwarp2:
+ if (Zeny < @warp2zeny) goto Lneedzeny;
+ set specialreserve,specialreserve + @warp2zeny;
+ set Zeny,Zeny - @warp2zeny;
+ warp @warp2name$,@warp2x,@warp2y;
+ set @end,1;
+ callfunc "kafraend";
+ break;
+
+Lwarp3:
+ if (Zeny < @warp3zeny) goto Lneedzeny;
+ set specialreserve,specialreserve + @warp3zeny;
+ set Zeny,Zeny - @warp3zeny;
+ warp @warp3name$,@warp3x,@warp3y;
+ set @end,1;
+ callfunc "kafraend";
+ break;
+
+Lwarp4:
+ if (Zeny < @warp4zeny) goto Lneedzeny;
+ set specialreserve,specialreserve + @warp4zeny;
+ set Zeny,Zeny - @warp4zeny;
+ warp @warp4name$,@warp4x,@warp4y;
+ set @end,1;
+ callfunc "kafraend";
+ break;
+
+Lwarp5:
+ if (Zeny < @warp5zeny) goto Lneedzeny;
+ set specialreserve,specialreserve + @warp5zeny;
+ set Zeny,Zeny - @warp5zeny;
+ warp @warp5name$,@warp5x,@warp5y;
+ set @end,1;
+ callfunc "kafraend";
+ break;
+
+Lwarp6:
+ if (Zeny < @warp6zeny) goto Lneedzeny;
+ set specialreserve,specialreserve + @warp6zeny;
+ set Zeny,Zeny - @warp6zeny;
+ warp @warp6name$,@warp6x,@warp6y;
+ set @end,1;
+ callfunc "kafraend";
+ break;
+
+Lwarp7:
+ if (Zeny < @warp7zeny) goto Lneedzeny;
+ set specialreserve,specialreserve + @warp7zeny;
+ set Zeny,Zeny - @warp7zeny;
+ warp @warp7name$,@warp7x,@warp7y;
+ set @end,1;
+ callfunc "kafraend";
+ break;
+
+Lneedzeny:
+ mes "[Kafra]";
+ mes "I'm sorry you don't have the necessary amount of zeny.";
+ callfunc "kafraend";
+ break;
+
+Lcancel:
+ mes "[Kafra]";
+ mes "Ok, Come again soon.";
+ callfunc "kafraend";
+ break;
+}
+//**********************************************//
+//Kafra Cart //
+//**********************************************//
+//This will handle the cart rental function for //
+//all the Kafras. //
+//**********************************************//
+function script kafracart -1,{
+if ((class == Job_Merchant) || (class == Job_Blacksmith) || (class == Job_Alchem) || (class == Job_Merchant_High) || (class == Job_Whitesmith) || (class == Job_Creator)) goto Lrentcart;
+mes "[Kafra]";
+mes "Sorry this service is only provided for Merchant classes.";
+callfunc "kafraend";
+break;
+
+Lrentcart:
+ if (getskilllv(39) < 1) goto Lnopush;
+ mes "[Kafra]";
+ mes "The cart rental fee is 800 zeny. Do you want to rent a cart?";
+ next;
+ menu "Rent a Cart",Lrent,"Cancel",Lcancel;
+
+Lrent:
+ if (Zeny < 800) goto Lneedzeny;
+ set specialreserve,specialreserve + 800;
+ set Zeny,Zeny - 800;
+ setcart;
+ mes "[Kafra]";
+ mes "There ya go...";
+ callfunc "kafraend";
+ break;
+
+Lnopush:
+ mes "[Kafra]";
+ mes "Sorry but you must have at least ^ff0000Pushcart^000000 level 1.";
+ callfunc "kafraend";
+ break;
+
+Lneedzeny:
+ mes "[Kafra]";
+ mes "Sorry but you don't have the zeny.";
+ callfunc "kafraend";
+ break;
+
+Lcancel:
+ mes "[Kafra]";
+ mes "Ok. Goodbye then";
+ callfunc "kafraend";
+ break;
+}
+//**********************************************//
+//Kafra Information //
+//**********************************************//
+//This will handle the extra Kafra functions //
+//such as your kafra points and the locations of//
+//other kafras. //
+//**********************************************//
+function script kafrainfo -1,{
+if (@kaflocations == 1) goto Lfullmenu;
+menu "Check Special Reserve Points",Lreserve,"Cancel",Lcancel;
+
+Lfullmenu:
+ menu "Check Special Reserve Points",Lreserve,"Location Tip",Llocation,"Cancel",Lcancel;
+
+Lreserve:
+ mes "[Kafra]";
+ mes strcharinfo(0) + ", you have accumulated " + specialreserve + " Special Reserve Points.";
+ next;
+ mes "[Kafra]";
+ mes "You can redeem your points at our Headquarters in Al De Baran.";
+ callfunc "kafraend";
+ break;
+
+Llocation:
+ mes "[Kafra]";
+ mes "Ok I'll mark them on your map.";
+ if (@location1x == 0) goto Lfinished;
+ viewpoint 0,@location1x,@location1y,1,0x0000FF;
+ if (@location2x == 0) goto Lfinished;
+ viewpoint 1,@location2x,@location2y,1,0x0000FF;
+ if (@location3x == 0) goto Lfinished;
+ viewpoint 2,@location3x,@location3y,1,0x0000FF;
+ if (@location4x == 0) goto Lfinished;
+ viewpoint 3,@location4x,@location4y,1,0x0000FF;
+ callfunc "kafraend";
+ break;
+
+Lfinished:
+ callfunc "kafraend";
+ break;
+
+Lcancel:
+ mes "[Kafra]";
+ mes "Ok. Bye then...";
+ callfunc "kafraend";
+ break;
+}
+//**********************************************//
+//End Kafra Function //
+//**********************************************//
+//This will empty all possible variables and end//
+//the kafra scripts. //
+//**********************************************//
+function script kafraend -1,{
+set @warps,0;
+set @save,0;
+set @special,0;
+set @kaflocations,0;
+set @location1x,0;
+set @location2x,0;
+set @location3x,0;
+set @location4x,0;
+if (@end == 1) goto Lbreak;
+cutin @cutinpic$,255;
+close;
+
+Lbreak:
+ set @end,0;
+ cutin @cutinpic$,255;
+ break;
+}
+//---Kafra Warehouse---
+aldeba_in.gat,24,245,4 script Kafra Service 115,{
+ cutin "kafra_03",2;
+ mes "[Kapra Jasmine]";
+ mes "Hi~ I am Kafra No. 1 Type Jasmine.";
+ mes "Thank you for comming all the way to Kafra Main Office here at Al De Baran!";
+ next;
+ mes "[Kapra Jasmine]";
+ mes "Our Kapra Service is always together with our customers!";
+ mes "Our Kapra Service has a history and legacy of 5 thousand 8 hundred years old...";
+ mes "Blah-blah-blah.....";
+ next;
+ menu "FIVE THOUSNAD AND EIGHT HUNDRED YEARS?!",L0,"Ahh~ Shut Up!",L1,"You go a boyfriend?",L3;
+
+ L0:
+ mes "[Kapra Jasmine]";
+ mes "Shut UP! And listen! It to me a week to memorice this!";
+ mes "I've got poor memory unlike other Kafra agents!";
+ mes "..... Eh!... What did I just say...";
+ next;
+ mes "[Kapra Jasmine]";
+ mes "Hohohoho. S-sorry... I-it was a show, a standing comedy...";
+ mes "Right... Dream Show only for Ka-Kafra customers~!";
+ mes "(but a solo show)";
+ close;
+ L1:
+ mes "[Kapra Jasmine]";
+ mes ". . . . .";
+ mes "I was the member of Kafra Garrion before I joined Kafra Service Team...";
+ mes "The speciality was 'Bash'!!";
+ mes "I'm trying to be feminine and live a quiet life";
+ mes "So please don0t tempt me...";
+ close;
+ L2:
+ mes "[Kapra Jasmine]";
+ mes "My, my~. Kafra Service has a ridiculous rule that no Agent can have a boyfriend";
+ mes ". . . . .";
+ mes ". . . . . . . . . .";
+ next;
+ mes "[Kapra Jasmine]";
+ mes "Just kidding~~ Hehe";
+ close;
+}
+
+aldeba_in.gat,79,161,6 script Kafra 115,{
+ mes "[Kafra]";
+ mes "Welcome, my dearest " + strcharinfo(0) + ".";
+ mes "Take goods as many as you've got speacial reserve from Kafra Service~";
+ next;
+ mes "[Kafra]";
+ mes "Please keep in mind that each window requires a different special reserve for your information.";
+ mes "Window I am at allows you to use special reserve form ^FF00FF100p to 3000p^000000.";
+ next;
+ mes "[Kafra]";
+ mes "Your special reserve is ^FF0000" + specialreserve + "^000000~";
+ mes "Please choose the items you want.";
+ next;
+ menu "100 = Carrot 7 ea",100,"200 = Carrot 15 ea",200,"300 = Carrot 25 ea",300,"400 = Carrot 35 ea",400,"500 = Carrot 50 ea",500,"600 = Carrot 60 ea",600,"700 = Carrot 75 ea",700,"800 = Carrot 85 ea",800,"900 = Carrot 100 ea",900,"1000 = 1st Lotery Chance!",1000,"Next Articles",L0,"Cancel",LEnd;
+
+ 100:
+ if(specialreserve < 100) goto Lneedpoints;
+ mes "[Kafra]";
+ mes "Good choice... Here ya go.";
+ getitem 515,7;
+ set specialreserve,specialreserve - 100;
+ close;
+ 200:
+ if(specialreserve < 200) goto Lneedpoints;
+ mes "[Kafra]";
+ mes "Good choice... Here ya go.";
+ getitem 515,15;
+ set specialreserve,specialreserve - 200;
+ close;
+ 300:
+ if(specialreserve < 300) goto Lneedpoints;
+ mes "[Kafra]";
+ mes "Good choice... Here ya go.";
+ getitem 515,25;
+ set specialreserve,specialreserve - 300;
+ close;
+ 400:
+ if(specialreserve < 400) goto Lneedpoints;
+ mes "[Kafra]";
+ mes "Good choice... Here ya go.";
+ getitem 515,35;
+ set specialreserve,specialreserve - 400;
+ close;
+ 500:
+ if(specialreserve < 500) goto Lneedpoints;
+ mes "[Kafra]";
+ mes "Good choice... Here ya go.";
+ getitem 515,50;
+ set specialreserve,specialreserve - 500;
+ close;
+ 600:
+ if(specialreserve < 600) goto Lneedpoints;
+ mes "[Kafra]";
+ mes "Good choice... Here ya go.";
+ getitem 515,60;
+ set specialreserve,specialreserve - 600;
+ close;
+ 700:
+ if(specialreserve < 700) goto Lneedpoints;
+ mes "[Kafra]";
+ mes "Good choice... Here ya go.";
+ getitem 515,75;
+ set specialreserve,specialreserve - 700;
+ close;
+ 800:
+ if(specialreserve < 800) goto Lneedpoints;
+ mes "[Kafra]";
+ mes "Good choice... Here ya go.";
+ getitem 515,85;
+ set specialreserve,specialreserve - 800;
+ close;
+ 900:
+ if(specialreserve < 900) goto Lneedpoints;
+ mes "[Kafra]";
+ mes "Good choice... Here ya go.";
+ getitem 515,100;
+ set specialreserve,specialreserve - 900;
+ close;
+ 1000:
+ mes "^FF0000Under Construction^000000";
+ close;
+ L0:
+ menu "1100 = Red Potion 7 ea",1100,"1300 = Red Potion 15 ea",1300,"1500 = Red Potion 25 ea",1500,"1700 = Red Potion 35 ea",1700,"1900 = Red Potion 50 ea",1900,"2100 = Red Potion 60 ea",2100,"2300 = Red Potion 75 ea",2300,"2500 = Red Potion 85 ea",2500,"2800 = Red Potion 100 ea",2800,"3000 = 2nd Lotery Chance!",3000,"Cancel",EndL0;
+
+ 1100:
+ if(specialreserve < 1100) goto Lneedpoints;
+ mes "[Kafra]";
+ mes "Good choice... Here ya go.";
+ getitem 501,7;
+ set specialreserve,specialreserve - 1100;
+ close;
+ 1300:
+ if(specialreserve < 1300) goto Lneedpoints;
+ mes "[Kafra]";
+ mes "Good choice... Here ya go.";
+ getitem 501,15;
+ set specialreserve,specialreserve - 1300;
+ close;
+ 1500:
+ if(specialreserve < 1500) goto Lneedpoints;
+ mes "[Kafra]";
+ mes "Good choice... Here ya go.";
+ getitem 501,25;
+ set specialreserve,specialreserve - 1500;
+ close;
+ 1700:
+ if(specialreserve < 1700) goto Lneedpoints;
+ mes "[Kafra]";
+ mes "Good choice... Here ya go.";
+ getitem 501,35;
+ set specialreserve,specialreserve - 1700;
+ close;
+ 1900:
+ if(specialreserve < 1900) goto Lneedpoints;
+ mes "[Kafra]";
+ mes "Good choice... Here ya go.";
+ getitem 501,50;
+ set specialreserve,specialreserve - 1900;
+ close;
+ 2100:
+ if(specialreserve < 2100) goto Lneedpoints;
+ mes "[Kafra]";
+ mes "Good choice... Here ya go.";
+ getitem 501,60;
+ set specialreserve,specialreserve - 2100;
+ close;
+ 2300:
+ if(specialreserve < 2300) goto Lneedpoints;
+ mes "[Kafra]";
+ mes "Good choice... Here ya go.";
+ getitem 501,75;
+ set specialreserve,specialreserve - 2300;
+ close;
+ 2500:
+ if(specialreserve < 2500) goto Lneedpoints;
+ mes "[Kafra]";
+ mes "Good choice... Here ya go.";
+ getitem 501,85;
+ set specialreserve,specialreserve - 2500;
+ close;
+ 2800:
+ if(specialreserve < 2800) goto Lneedpoints;
+ mes "[Kafra]";
+ mes "Good choice... Here ya go.";
+ getitem 501,100;
+ set specialreserve,specialreserve - 2800;
+ close;
+ 3000:
+ mes "^FF0000Under Construction^000000";
+ close;
+Lend:
+ mes "[Kafra]";
+ mes "Ok then... Come again if you change your mind.";
+ close;
+}
+
+aldeba_in.gat,81,166,4 script Kafra Service 117,{
+ cutin "kafra_01",2;
+ mes "[Kafra Pavianne]";
+ mes "Welcome! I'm Kafra service's the first Kapra Type 'Pavianne'";
+ next;
+ mes "[Kafra Pavianne]";
+ mes "Our Kapra Service is always trying to meet 100% customers satisfaction based on 3 principles, Trust, Devotion and Truest.";
+ mes "With complete Service training and supervision, we serve our customers to meet thier needs.";
+ next;
+ menu "Buy Kafra Pass",L0,"What is Kafra Pass",L1,"Good Bye",L3;
+
+ L0:
+ getitem 1084,1;
+ set Zeny, Zeny-2000;
+ mes "[Kafra Pavianne]";
+ mes "Thank you for using our Kapra Service all the time!";
+ mes "Have a Nice Day!";
+ cutin "kafra_01",255;
+ close;
+ L1:
+ mes "[Kafra Pavianne]";
+ mes "The best gift you could get only at Kafra Main Office!";
+ mes "^4040FF'K A P R A's P A S S'^000000!!";
+ mes "TaDa~!";
+ next;
+ mes "[Kafra Pavianne]";
+ mes "With Kafra Pass, you could experience the convenience of Kafra Service world-wide! No Hassle!";
+ mes "The price is 2000 zeny~~";
+ next;
+ mes "[Kafra Pavianne]";
+ mes "Visit any Kafra Service in Midgard, and you could enjoy Kafra Service any time any where for once.";
+ mes "Ending a a conversation with Kafra Service Agent will expire the pass.";
+ cutin "kafra_01",255;
+ close;
+ L3:
+ mes "[Kafra Pavianne]";
+ mes "Thank you for using Kafra Service!";
+ mes "It was Kafra Pavianne";
+ cutin "kafra_01",255;
+ close;
+}
+
+aldeba_in.gat,83,244,4 script Kafra Service 116,{
+ cutin "kafra_02",2;
+ mes "[Kafra Blossom]";
+ mes "..... Pavianne is such an old-timer!";
+ mes "Too stubborn...";
+ mes "We should make customers to experience more unique, never-seen, aspects of Kafra here at Main Office.";
+ next;
+ mes "[Kafra Blossom]";
+ mes "Now! WELCOOOOOME~~ I am Kafra Tailing Type.";
+ mes "Please don't forget to continue using our Kafra Service, and ask for me, Tailing~~";
+ next;
+ menu "I'm an admirer of you~!",L0,"Ehhaha",L1;
+
+ L0:
+ mes "[Kafra Blossom]";
+ mes "Really!";
+ mes "Thank you sooo much~";
+ mes "Here is... my... autograph...";
+ next;
+ mes "[Kafra Blossom]";
+ mes "Don't even bother to look in your Item Iventory. It won't be there... Hehe..";
+ mes "My autograph will remail win your heart.";
+ cutin "kafra_02",255;
+ close;
+ L1:
+ mes "[Kafra Blossom]";
+ mes "Huh?";
+ mes ". . . . .";
+ mes "That's all?";
+ mes "Phew~ such a dull customer...";
+ cutin "kafra_02",255;
+ close;
+}
+
+aldeba_in.gat,91,244,4 script Kafra Service 112,{
+ cutin "kafra_06",2;
+ mes "[Kafra Curly Sue]";
+ mes "Hello, hello?!!";
+ mes "The youngest of all! Kafra cutty~~";
+ mes "I am Kafra Type 'Curly Sue'";
+ next;
+ mes "[Kafra Curly Sue]";
+ mes "It hasn't been long meeting customers since I am new, but I am always doing my best!!";
+ next;
+ menu "Where is your mom?",L0,"End conversation",LEnd;
+
+ L0:
+ mes "[Kafra Curly Sue]";
+ mes ". . . . .";
+ mes "Sob sob ...";
+ mes "I am no a KID!!";
+ next;
+ cutin "kafra_06",255;
+ close;
+ LEnd:
+ mes "[Kafra Curly Sue]";
+ mes "Here at Kafra Service, We're all doing out B-E-S-T! to provide our customers the B-E-S-T! services.";
+ mes "We really appreciate your business with us.";
+ next;
+ cutin "kafra_06",255;
+ close;
+}
+
+aldeba_in.gat,96,181,4 script Kafra Service 113,{
+ cutin "kafra_05",2;
+ mes "[Kafra Leilah]";
+ mes "Kafra Service.";
+ mes "What can I do for you?";
+ next;
+ menu "Save.",Lsave,"Use Storage Service",Lstorage,"Use Cart Service.",Lcart,"End conversation.",Lcancel;
+
+ Lsave:
+ mes "[Kafra Leilah]";
+ mes "Please. This is Kafra Service Command Center in charge of training Kafra Service Agent.";
+ next;
+ mes "[Kafra Leilah]";
+ mes "For Actual Services you must visit Kafra Service Center Agent at each city including Al De Baran.";
+ mes "... But I will do that for you...";
+ next;
+ savepoint "aldeba_in.gat",96,179;
+ cutin "kafra_05",255;
+ close;
+ Lstorage:
+ if((class ==Job_Novice) && (JobLevel<6)) goto NeedJobLevel;
+ if(Zeny<30) goto NeedZenys;
+ set Zeny, Zeny-30;
+ openstorage;
+ cutin "kafra_02",255;
+ close;
+
+ NeedJobLevel:
+ mes "[Kafra Leilah]";
+ mes "I am sorry but you have to be at least novice with job level 6 if you want to use the storage";
+ cutin "kafra_05",255;
+ close;
+ NeedZenys:
+ mes "[Kafra Leilah]";
+ mes "Dear, you don't have enough zeny. The Storage fee is 30 Zeny.";
+ cutin "kafra_05",255;
+ close;
+ Lcart:
+ if((class ==Job_Merchant) || (class==Job_Blacksmith) || (class==Job_Alchem)) goto UseCart;
+ mes "[Kafra Leilah]";
+ mes "I'm sorry. The cart service is only provided for Merchants, Blacksmiths and Alchemists only.";
+ cutin "kafra_04",255;
+ close;
+
+ UseCart:
+ mes "[Kafra Leilah]";
+ mes "The Cart Fee is 800 Zeny. Do you want to Rent a Cart?";
+ next;
+ menu "Rent a Cart.",RentCart,"Cancel.",RCCancel;
+
+ RentCart:
+ if(Zeny<800) goto RCNeedZenys;
+ if(getskilllv(39) < 1) got Lneedskill;
+ if((CheckCart)==1) goto GetCart;
+
+ GetCart:
+ set Zeny,Zeny-800;
+ set specialreserve,specialreserve + 800;
+ setcart;
+ mes "[Kafra]";
+ mes "There you go..";
+ cutin "kafra_08",255;
+ close;
+ RCNeedZenys:
+ mes "[Kafra Leilah]";
+ mes "Dear, you don't have enough zeny. You need 800 Zeny.";
+ cutin "kafra_04",255;
+ close;
+ Lneedskill:
+ mes "[Kafra Leilah]";
+ mes "Sorry dear but you need the Pushcart skill to rent a cart.";
+ cutin "kafra_04",255;
+ close;
+ RCCancel:
+ cutin "kafra_04",255;
+ close;
+ Lcancel:
+ cutin "kafra_05",2;
+ close;
+}
+
+aldeba_in.gat,142,238,4 script Kafra Service 114,{
+ cutin "kafra_04",2;
+ mes "[Kafra Roxie]";
+ mes "Welcome! I'm Kafra Type 'Roxie'";
+ mes "The Special Secret about Kapra only for you Kapra!";
+ next;
+ mes "[Kafra Roxie]";
+ mes "You know... Our Kapra Service wasn't actually called Kapra originally~~";
+ mes "Well what do you think it actually was?~";
+ next;
+ mes "[Kafra Roxie]";
+ mes "TaDa~ Surprisingly it was~~~!";
+ mes "Ka! P (Ring Ring Ring)";
+ mes "Oh... my phone... Sorry please wait...";
+ next;
+ mes "[Kafra Roxie]";
+ mes "Hi? Kapra Type Roxie";
+ mes "Huh! Director, sir! Yes! Yes! I understand! ..... Sure!";
+ mes "Ah... Huh?!";
+ next;
+ mes "[Kafra Roxie]";
+ mes "No-no sir!";
+ mes "Yes! I understand!!";
+ next;
+ mes "[Kafra Roxie]";
+ mes "*Click*";
+ mes "..... Hehehe...";
+ mes ". . . . .";
+ next;
+ mes "[Kafra Roxie]";
+ mes "Ah... Please ignore what you've just heard from me, haha.";
+ mes ". . . . .";
+ close;
+} \ No newline at end of file
diff --git a/npc/other/old/pvp.txt b/npc/other/old/pvp.txt
new file mode 100644
index 000000000..6dcbdfec3
--- /dev/null
+++ b/npc/other/old/pvp.txt
@@ -0,0 +1,1455 @@
+// Original Athena Japanese Dev PVP Script
+// *With added NPCs, missing Warps, and Warpers*
+// *Caution! This is an intended version/addition of the Izlude Arena!*
+//
+// Additions/Translation By DiaDz
+// Jan 24, 2004
+//
+//Addition 2v2 script by: Unknown - added
+
+
+
+// Begin PVP Room N
+pvp_y_room.gat,30,85,4 script Usher 31~40 105,{
+ if ((BaseLevel < 31) || (BaseLevel > 40)) goto LVNG;
+ menu "Prontera Arena [" + getmapusers("pvp_y_1-1.gat") + " / 128]",Lpro,
+ "Izlude Arena [" + getmapusers("pvp_y_1-2.gat") + " / 128]",Lizu,
+ "Payon Arena [" + getmapusers("pvp_y_1-3.gat") + " / 128]",Lpay,
+ "Alberta Arena [" + getmapusers("pvp_y_1-4.gat") + " / 128]",Lalb,
+ "Morroc Arena [" + getmapusers("pvp_y_1-5.gat") + " / 128]",Lmoc,
+ "Quit",Lcancel;
+Lpro:
+ if(getmapusers("pvp_y_1-1.gat") >= 128 ) goto LError;
+ warp "pvp_y_1-1",0,0;
+ break;
+Lizu:
+ if(getmapusers("pvp_y_1-2.gat") >= 128 ) goto LError;
+ warp "pvp_y_1-2",0,0;
+ break;
+Lpay:
+ if(getmapusers("pvp_y_1-3.gat") >= 128 ) goto LError;
+ warp "pvp_y_1-3",0,0;
+ break;
+Lalb:
+ if(getmapusers("pvp_y_1-4.gat") >= 128 ) goto LError;
+ warp "pvp_y_1-4",0,0;
+ break;
+Lmoc:
+ if(getmapusers("pvp_y_1-5.gat") >= 128 ) goto LError;
+ warp "pvp_y_1-5",0,0;
+ break;
+Lcancel:
+ close;
+LVNG:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is only for levels 31~40";
+ close;
+LError:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is currently full";
+ close;
+OnInit:
+ waitingroom "LV 41 ~ LV 50",0;
+ break;
+}
+pvp_y_room.gat,38,85,4 script Usher 41~50 105,{
+ if ((BaseLevel < 41) || (BaseLevel > 50)) goto LVNG;
+ menu "Prontera Arena [" + getmapusers("pvp_y_2-1.gat") + " / 128]",Lpro,
+ "Izlude Arena [" + getmapusers("pvp_y_2-2.gat") + " / 128]",Lizu,
+ "Payon Arena [" + getmapusers("pvp_y_2-3.gat") + " / 128]",Lpay,
+ "Alberta Arena [" + getmapusers("pvp_y_2-4.gat") + " / 128]",Lalb,
+ "Morroc Arena [" + getmapusers("pvp_y_2-5.gat") + " / 128]",Lmoc,
+ "Quit",Lcancel;
+Lpro:
+ if(getmapusers("pvp_y_2-1.gat") >= 128 ) goto LError;
+ warp "pvp_y_2-1",0,0;
+ break;
+Lizu:
+ if(getmapusers("pvp_y_2-2.gat") >= 128 ) goto LError;
+ warp "pvp_y_2-2",0,0;
+ break;
+Lpay:
+ if(getmapusers("pvp_y_2-3.gat") >= 128 ) goto LError;
+ warp "pvp_y_2-3",0,0;
+ break;
+Lalb:
+ if(getmapusers("pvp_y_2-4.gat") >= 128 ) goto LError;
+ warp "pvp_y_2-4",0,0;
+ break;
+Lmoc:
+ if(getmapusers("pvp_y_2-5.gat") >= 128 ) goto LError;
+ warp "pvp_y_2-5",0,0;
+ break;
+Lcancel:
+ close;
+LVNG:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is only for levels 41~50";
+ close;
+LError:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is currently full";
+ close;
+OnInit:
+ waitingroom "LV 40 ~ LV 50",0;
+ break;
+}
+pvp_y_room.gat,46,85,4 script Usher 51~60 105,{
+ if ((BaseLevel < 51) || (BaseLevel > 60)) goto LVNG;
+ menu "Prontera Arena [" + getmapusers("pvp_y_3-1.gat") + " / 128]",Lpro,
+ "Izlude Arena [" + getmapusers("pvp_y_3-2.gat") + " / 128]",Lizu,
+ "Payon Arena [" + getmapusers("pvp_y_3-3.gat") + " / 128]",Lpay,
+ "Alberta Arena [" + getmapusers("pvp_y_3-4.gat") + " / 128]",Lalb,
+ "Morroc Arena [" + getmapusers("pvp_y_3-5.gat") + " / 128]",Lmoc,
+ "Quit",Lcancel;
+Lpro:
+ if(getmapusers("pvp_y_3-1.gat") >= 128 ) goto LError;
+ warp "pvp_y_3-1",0,0;
+ break;
+Lizu:
+ if(getmapusers("pvp_y_3-2.gat") >= 128 ) goto LError;
+ warp "pvp_y_3-2",0,0;
+ break;
+Lpay:
+ if(getmapusers("pvp_y_3-3.gat") >= 128 ) goto LError;
+ warp "pvp_y_3-3",0,0;
+ break;
+Lalb:
+ if(getmapusers("pvp_y_3-4.gat") >= 128 ) goto LError;
+ warp "pvp_y_3-4",0,0;
+ break;
+Lmoc:
+ if(getmapusers("pvp_y_3-5.gat") >= 128 ) goto LError;
+ warp "pvp_y_3-5",0,0;
+ break;
+Lcancel:
+ close;
+LVNG:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is only for levels 51~60";
+ close;
+LError:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is currently full";
+ close;
+OnInit:
+ waitingroom "LV 51 ~ LV 60",0;
+ break;
+}
+pvp_y_room.gat,54,85,4 script Usher 61~70 105,{
+ if ((BaseLevel < 61) || (BaseLevel > 70)) goto LVNG;
+ menu "Prontera Arena [" + getmapusers("pvp_y_4-1.gat") + " / 128]",Lpro,
+ "Izlude Arena [" + getmapusers("pvp_y_4-2.gat") + " / 128]",Lizu,
+ "Payon Arena [" + getmapusers("pvp_y_4-3.gat") + " / 128]",Lpay,
+ "Alberta Arena [" + getmapusers("pvp_y_4-4.gat") + " / 128]",Lalb,
+ "Morroc Arena [" + getmapusers("pvp_y_4-5.gat") + " / 128]",Lmoc,
+ "Quit",Lcancel;
+Lpro:
+ if(getmapusers("pvp_y_4-1.gat") >= 128 ) goto LError;
+ warp "pvp_y_4-1",0,0;
+ break;
+Lizu:
+ if(getmapusers("pvp_y_4-2.gat") >= 128 ) goto LError;
+ warp "pvp_y_4-2",0,0;
+ break;
+Lpay:
+ if(getmapusers("pvp_y_4-3.gat") >= 128 ) goto LError;
+ warp "pvp_y_4-3",0,0;
+ break;
+Lalb:
+ if(getmapusers("pvp_y_4-4.gat") >= 128 ) goto LError;
+ warp "pvp_y_4-4",0,0;
+ break;
+Lmoc:
+ if(getmapusers("pvp_y_4-5.gat") >= 128 ) goto LError;
+ warp "pvp_y_4-5",0,0;
+ break;
+Lcancel:
+ close;
+LVNG:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is only for levels 61~70";
+ close;
+LError:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is currently full";
+ close;
+OnInit:
+ waitingroom "LV 61 ~ LV 70",0;
+ break;
+}
+pvp_y_room.gat,62,85,4 script Usher 71~80 105,{
+ if ((BaseLevel < 71) || (BaseLevel > 80)) goto LVNG;
+ menu "Prontera Arena [" + getmapusers("pvp_y_5-1.gat") + " / 128]",Lpro,
+ "Izlude Arena [" + getmapusers("pvp_y_5-2.gat") + " / 128]",Lizu,
+ "Payon Arena [" + getmapusers("pvp_y_5-3.gat") + " / 128]",Lpay,
+ "Alberta Arena [" + getmapusers("pvp_y_5-4.gat") + " / 128]",Lalb,
+ "Morroc Arena [" + getmapusers("pvp_y_5-5.gat") + " / 128]",Lmoc,
+ "Quit",Lcancel;
+Lpro:
+ if(getmapusers("pvp_y_5-1.gat") >= 128 ) goto LError;
+ warp "pvp_y_5-1",0,0;
+ break;
+Lizu:
+ if(getmapusers("pvp_y_5-2.gat") >= 128 ) goto LError;
+ warp "pvp_y_5-2",0,0;
+ break;
+Lpay:
+ if(getmapusers("pvp_y_5-3.gat") >= 128 ) goto LError;
+ warp "pvp_y_5-3",0,0;
+ break;
+Lalb:
+ if(getmapusers("pvp_y_5-4.gat") >= 128 ) goto LError;
+ warp "pvp_y_5-4",0,0;
+ break;
+Lmoc:
+ if(getmapusers("pvp_y_5-5.gat") >= 128 ) goto LError;
+ warp "pvp_y_5-5",0,0;
+ break;
+Lcancel:
+ close;
+LVNG:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is only for levels 71~80";
+ close;
+LError:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is currently full";
+ close;
+OnInit:
+ waitingroom "LV 71 ~ LV 80",0;
+ break;
+}
+pvp_y_room.gat,70,85,4 script Usher 81~90 105,{
+ if ((BaseLevel < 81) || (BaseLevel > 90)) goto LVNG;
+ menu "Prontera Arena [" + getmapusers("pvp_y_6-1.gat") + " / 128]",Lpro,
+ "Izlude Arena [" + getmapusers("pvp_y_6-2.gat") + " / 128]",Lizu,
+ "Payon Arena [" + getmapusers("pvp_y_6-3.gat") + " / 128]",Lpay,
+ "Alberta Arena [" + getmapusers("pvp_y_6-4.gat") + " / 128]",Lalb,
+ "Morroc Arena [" + getmapusers("pvp_y_6-5.gat") + " / 128]",Lmoc,
+ "Quit",Lcancel;
+Lpro:
+ if(getmapusers("pvp_y_6-1.gat") >= 128 ) goto LError;
+ warp "pvp_y_6-1",0,0;
+ break;
+Lizu:
+ if(getmapusers("pvp_y_6-2.gat") >= 128 ) goto LError;
+ warp "pvp_y_6-2",0,0;
+ break;
+Lpay:
+ if(getmapusers("pvp_y_6-3.gat") >= 128 ) goto LError;
+ warp "pvp_y_6-3",0,0;
+ break;
+Lalb:
+ if(getmapusers("pvp_y_6-4.gat") >= 128 ) goto LError;
+ warp "pvp_y_6-4",0,0;
+ break;
+Lmoc:
+ if(getmapusers("pvp_y_6-5.gat") >= 128 ) goto LError;
+ warp "pvp_y_6-5",0,0;
+ break;
+Lcancel:
+ close;
+LVNG:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is only for levels 81~90";
+ close;
+LError:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is currently full";
+ close;
+OnInit:
+ waitingroom "LV 81 ~ LV 90",0;
+ break;
+}
+pvp_y_room.gat,78,85,4 script Usher 91~Higher 105,{
+ if (BaseLevel < 91) goto LVNG;
+ menu "Prontera Arena [" + getmapusers("pvp_y_7-1.gat") + " / 128]",Lpro,
+ "Izlude Arena [" + getmapusers("pvp_y_7-2.gat") + " / 128]",Lizu,
+ "Payon Arena [" + getmapusers("pvp_y_7-3.gat") + " / 128]",Lpay,
+ "Alberta Arena [" + getmapusers("pvp_y_7-4.gat") + " / 128]",Lalb,
+ "Morroc Arena [" + getmapusers("pvp_y_7-5.gat") + " / 128]",Lmoc,
+ "Quit",Lcancel;
+Lpro:
+ if(getmapusers("pvp_y_7-1.gat") >= 128 ) goto LError;
+ warp "pvp_y_7-1",0,0;
+ break;
+Lizu:
+ if(getmapusers("pvp_y_7-2.gat") >= 128 ) goto LError;
+ warp "pvp_y_7-2",0,0;
+ break;
+Lpay:
+ if(getmapusers("pvp_y_7-3.gat") >= 128 ) goto LError;
+ warp "pvp_y_7-3",0,0;
+ break;
+Lalb:
+ if(getmapusers("pvp_y_7-4.gat") >= 128 ) goto LError;
+ warp "pvp_y_7-4",0,0;
+ break;
+Lmoc:
+ if(getmapusers("pvp_y_7-5.gat") >= 128 ) goto LError;
+ warp "pvp_y_7-5",0,0;
+ break;
+Lcancel:
+ close;
+LVNG:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is only for levels 91~Higher";
+ close;
+LError:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is currently full";
+ close;
+OnInit:
+ waitingroom "LV 91 ~ Higher",0;
+ break;
+}
+pvp_y_room.gat,86,85,4 script Usher All Levels 105,{
+ menu "Prontera Arena [" + getmapusers("pvp_y_8-1.gat") + " / 128]",Lpro,
+ "Izlude Arena [" + getmapusers("pvp_y_8-2.gat") + " / 128]",Lizu,
+ "Payon Arena [" + getmapusers("pvp_y_8-3.gat") + " / 128]",Lpay,
+ "Alberta Arena [" + getmapusers("pvp_y_8-4.gat") + " / 128]",Lalb,
+ "Morroc Arena [" + getmapusers("pvp_y_8-5.gat") + " / 128]",Lmoc,
+ "Quit",Lcancel;
+Lpro:
+ if(getmapusers("pvp_y_8-1.gat") >= 128 ) goto LError;
+ warp "pvp_y_8-1",0,0;
+ break;
+Lizu:
+ if(getmapusers("pvp_y_8-2.gat") >= 128 ) goto LError;
+ warp "pvp_y_8-2",0,0;
+ break;
+Lpay:
+ if(getmapusers("pvp_y_8-3.gat") >= 128 ) goto LError;
+ warp "pvp_y_8-3",0,0;
+ break;
+Lalb:
+ if(getmapusers("pvp_y_8-4.gat") >= 128 ) goto LError;
+ warp "pvp_y_8-4",0,0;
+ break;
+Lmoc:
+ if(getmapusers("pvp_y_8-5.gat") >= 128 ) goto LError;
+ warp "pvp_y_8-5",0,0;
+ break;
+Lcancel:
+ close;
+LError:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is currently full";
+ close;
+OnInit:
+ waitingroom "All Levels",0;
+ break;
+}
+
+// Begin PVP Room N
+pvp_n_room.gat,30,85,4 script Usher 31~40 105,{
+ if ((BaseLevel < 31) || (BaseLevel > 40)) goto LVNG;
+ menu "Sandwich Arena [" + getmapusers("pvp_n_1-1.gat") + " / 64]",Lsand,
+ "Rock Arena [" + getmapusers("pvp_n_1-2.gat") + " / 32]",Llock,
+ "Four Arena [" + getmapusers("pvp_n_1-3.gat") + " / 32]",Lpolu,
+ "Undercross Arena [" + getmapusers("pvp_n_1-4.gat") + " / 32]",Lunder,
+ "Copass Arena [" + getmapusers("pvp_n_1-5.gat") + " / 32]",Lcom,
+ "Quit",Lcancel;
+Lsand:
+ if(getmapusers("pvp_n_1-1.gat") >= 64 ) goto LError;
+ warp "pvp_n_1-1",0,0;
+ break;
+Llock:
+ if(getmapusers("pvp_n_1-2.gat") >= 32 ) goto LError;
+ warp "pvp_n_1-2",0,0;
+ break;
+Lpolu:
+ if(getmapusers("pvp_n_1-3.gat") >= 32 ) goto LError;
+ warp "pvp_n_1-3",0,0;
+ break;
+Lunder:
+ if(getmapusers("pvp_n_1-4.gat") >= 32 ) goto LError;
+ warp "pvp_n_1-4",0,0;
+ break;
+Lcom:
+ if(getmapusers("pvp_n_1-5.gat") >= 32 ) goto LError;
+ warp "pvp_n_1-5",0,0;
+ break;
+Lcancel:
+ close;
+LVNG:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is only for levels 31~40";
+ close;
+LError:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is currently full";
+ close;
+OnInit:
+ waitingroom "LV 31 ~ LV 40",0;
+ break;
+}
+pvp_n_room.gat,38,85,4 script Usher 41~50 105,{
+ if ((BaseLevel < 41) || (BaseLevel > 50)) goto LVNG;
+ menu "Sandwich Arena [" + getmapusers("pvp_n_2-1.gat") + " / 64]",Lsand,
+ "Rock Arena [" + getmapusers("pvp_n_2-2.gat") + " / 32]",Llock,
+ "Four Arena [" + getmapusers("pvp_n_2-3.gat") + " / 32]",Lpolu,
+ "Undercross Arena [" + getmapusers("pvp_n_2-4.gat") + " / 32]",Lunder,
+ "Copass Arena [" + getmapusers("pvp_n_2-5.gat") + " / 32]",Lcom,
+ "Quit",Lcancel;
+Lsand:
+ if(getmapusers("pvp_n_2-1.gat") >= 64 ) goto LError;
+ warp "pvp_n_2-1",0,0;
+ break;
+Llock:
+ if(getmapusers("pvp_n_2-2.gat") >= 32 ) goto LError;
+ warp "pvp_n_2-2",0,0;
+ break;
+Lpolu:
+ if(getmapusers("pvp_n_2-3.gat") >= 32 ) goto LError;
+ warp "pvp_n_2-3",0,0;
+ break;
+Lunder:
+ if(getmapusers("pvp_n_2-4.gat") >= 32 ) goto LError;
+ warp "pvp_n_2-4",0,0;
+ break;
+Lcom:
+ if(getmapusers("pvp_n_2-5.gat") >= 32 ) goto LError;
+ warp "pvp_n_2-5",0,0;
+ break;
+Lcancel:
+ close;
+LVNG:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is only for levels 41~50";
+ close;
+LError:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is currently full";
+ close;
+OnInit:
+ waitingroom "LV 41 ~ LV 50",0;
+ break;
+}
+pvp_n_room.gat,46,85,4 script Usher 51~60 105,{
+ if ((BaseLevel < 51) || (BaseLevel > 60)) goto LVNG;
+ menu "Sandwich Arena [" + getmapusers("pvp_n_3-1.gat") + " / 64]",Lsand,
+ "Rock Arena [" + getmapusers("pvp_n_3-2.gat") + " / 32]",Llock,
+ "Four Arena [" + getmapusers("pvp_n_3-3.gat") + " / 32]",Lpolu,
+ "Undercross Arena [" + getmapusers("pvp_n_3-4.gat") + " / 32]",Lunder,
+ "Copass Arena [" + getmapusers("pvp_n_3-5.gat") + " / 32]",Lcom,
+ "Quit",Lcancel;
+Lsand:
+ if(getmapusers("pvp_n_3-1.gat") >= 64 ) goto LError;
+ warp "pvp_n_3-1",0,0;
+ break;
+Llock:
+ if(getmapusers("pvp_n_3-2.gat") >= 32 ) goto LError;
+ warp "pvp_n_3-2",0,0;
+ break;
+Lpolu:
+ if(getmapusers("pvp_n_3-3.gat") >= 32 ) goto LError;
+ warp "pvp_n_3-3",0,0;
+ break;
+Lunder:
+ if(getmapusers("pvp_n_3-4.gat") >= 32 ) goto LError;
+ warp "pvp_n_3-4",0,0;
+ break;
+Lcom:
+ if(getmapusers("pvp_n_3-5.gat") >= 32 ) goto LError;
+ warp "pvp_n_3-5",0,0;
+ break;
+Lcancel:
+ close;
+LVNG:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is only for levels 51~60";
+ close;
+LError:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is currently full";
+ close;
+OnInit:
+ waitingroom "LV 51 ~ LV 60",0;
+ break;
+}
+pvp_n_room.gat,54,85,4 script Usher 61~70 105,{
+ if ((BaseLevel < 61) || (BaseLevel > 70)) goto LVNG;
+ menu "Sandwich Arena [" + getmapusers("pvp_n_4-1.gat") + " / 64]",Lsand,
+ "Rock Arena [" + getmapusers("pvp_n_4-2.gat") + " / 32]",Llock,
+ "Four Arena [" + getmapusers("pvp_n_4-3.gat") + " / 32]",Lpolu,
+ "Undercross Arena [" + getmapusers("pvp_n_4-4.gat") + " / 32]",Lunder,
+ "Copass Arena [" + getmapusers("pvp_n_4-5.gat") + " / 32]",Lcom,
+ "Quit",Lcancel;
+Lsand:
+ if(getmapusers("pvp_n_4-1.gat") >= 64 ) goto LError;
+ warp "pvp_n_4-1",0,0;
+ break;
+Llock:
+ if(getmapusers("pvp_n_4-2.gat") >= 32 ) goto LError;
+ warp "pvp_n_4-2",0,0;
+ break;
+Lpolu:
+ if(getmapusers("pvp_n_4-3.gat") >= 32 ) goto LError;
+ warp "pvp_n_4-3",0,0;
+ break;
+Lunder:
+ if(getmapusers("pvp_n_4-4.gat") >= 32 ) goto LError;
+ warp "pvp_n_4-4",0,0;
+ break;
+Lcom:
+ if(getmapusers("pvp_n_4-5.gat") >= 32 ) goto LError;
+ warp "pvp_n_4-5",0,0;
+ break;
+Lcancel:
+ close;
+LVNG:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is only for levels 61~70";
+ close;
+LError:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is currently full";
+ close;
+OnInit:
+ waitingroom "LV 61 ~ LV 70",0;
+ break;
+}
+pvp_n_room.gat,62,85,4 script Usher 71~80 105,{
+ if ((BaseLevel < 71) || (BaseLevel > 80)) goto LVNG;
+ menu "Sandwich Arena [" + getmapusers("pvp_n_5-1.gat") + " / 64]",Lsand,
+ "Rock Arena [" + getmapusers("pvp_n_5-2.gat") + " / 32]",Llock,
+ "Four Arena [" + getmapusers("pvp_n_5-3.gat") + " / 32]",Lpolu,
+ "Undercross Arena [" + getmapusers("pvp_n_5-4.gat") + " / 32]",Lunder,
+ "Copass Arena [" + getmapusers("pvp_n_5-5.gat") + " / 32]",Lcom,
+ "Quit",Lcancel;
+Lsand:
+ if(getmapusers("pvp_n_5-1.gat") >= 64 ) goto LError;
+ warp "pvp_n_5-1",0,0;
+ break;
+Llock:
+ if(getmapusers("pvp_n_5-2.gat") >= 32 ) goto LError;
+ warp "pvp_n_5-2",0,0;
+ break;
+Lpolu:
+ if(getmapusers("pvp_n_5-3.gat") >= 32 ) goto LError;
+ warp "pvp_n_5-3",0,0;
+ break;
+Lunder:
+ if(getmapusers("pvp_n_5-4.gat") >= 32 ) goto LError;
+ warp "pvp_n_5-4",0,0;
+ break;
+Lcom:
+ if(getmapusers("pvp_n_5-5.gat") >= 32 ) goto LError;
+ warp "pvp_n_5-5",0,0;
+ break;
+Lcancel:
+ close;
+LVNG:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is only for levels 71~80";
+ close;
+LError:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is currently full";
+ close;
+OnInit:
+ waitingroom "LV 71 ~ LV 80",0;
+ break;
+}
+pvp_n_room.gat,70,85,4 script Usher 81~90 105,{
+ if ((BaseLevel < 81) || (BaseLevel > 90)) goto LVNG;
+ menu "Sandwich Arena [" + getmapusers("pvp_n_6-1.gat") + " / 64]",Lsand,
+ "Rock Arena [" + getmapusers("pvp_n_6-2.gat") + " / 32]",Llock,
+ "Four Arena [" + getmapusers("pvp_n_6-3.gat") + " / 32]",Lpolu,
+ "Undercross Arena [" + getmapusers("pvp_n_6-4.gat") + " / 32]",Lunder,
+ "Copass Arena [" + getmapusers("pvp_n_6-5.gat") + " / 32]",Lcom,
+ "Quit",Lcancel;
+Lsand:
+ if(getmapusers("pvp_n_6-1.gat") >= 64 ) goto LError;
+ warp "pvp_n_6-1",0,0;
+ break;
+Llock:
+ if(getmapusers("pvp_n_6-2.gat") >= 32 ) goto LError;
+ warp "pvp_n_6-2",0,0;
+ break;
+Lpolu:
+ if(getmapusers("pvp_n_6-3.gat") >= 32 ) goto LError;
+ warp "pvp_n_6-3",0,0;
+ break;
+Lunder:
+ if(getmapusers("pvp_n_6-4.gat") >= 32 ) goto LError;
+ warp "pvp_n_6-4",0,0;
+ break;
+Lcom:
+ if(getmapusers("pvp_n_6-5.gat") >= 32 ) goto LError;
+ warp "pvp_n_6-5",0,0;
+ break;
+Lcancel:
+ close;
+LVNG:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is only for levels 81~90";
+ close;
+LError:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is currently full";
+ close;
+OnInit:
+ waitingroom "LV 81 ~ LV 90",0;
+ break;
+}
+pvp_n_room.gat,78,85,4 script Usher 91~Higher 105,{
+ if (BaseLevel < 91) goto LVNG;
+ menu "Sandwich Arena [" + getmapusers("pvp_n_7-1.gat") + " / 64]",Lsand,
+ "Rock Arena [" + getmapusers("pvp_n_7-2.gat") + " / 32]",Llock,
+ "Four Arena [" + getmapusers("pvp_n_7-3.gat") + " / 32]",Lpolu,
+ "Undercross Arena [" + getmapusers("pvp_n_7-4.gat") + " / 32]",Lunder,
+ "Copass Arena [" + getmapusers("pvp_n_7-5.gat") + " / 32]",Lcom,
+ "Quit",Lcancel;
+Lsand:
+ if(getmapusers("pvp_n_7-1.gat") >= 64 ) goto LError;
+ warp "pvp_n_7-1",0,0;
+ break;
+Llock:
+ if(getmapusers("pvp_n_7-2.gat") >= 32 ) goto LError;
+ warp "pvp_n_7-2",0,0;
+ break;
+Lpolu:
+ if(getmapusers("pvp_n_7-3.gat") >= 32 ) goto LError;
+ warp "pvp_n_7-3",0,0;
+ break;
+Lunder:
+ if(getmapusers("pvp_n_7-4.gat") >= 32 ) goto LError;
+ warp "pvp_n_7-4",0,0;
+ break;
+Lcom:
+ if(getmapusers("pvp_n_7-5.gat") >= 32 ) goto LError;
+ warp "pvp_n_7-5",0,0;
+ break;
+Lcancel:
+ close;
+LVNG:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is only for levels 91~Higher0";
+ close;
+LError:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is currently full";
+ close;
+OnInit:
+ waitingroom "LV 91 ~ Higher",0;
+ break;
+}
+pvp_n_room.gat,86,85,4 script Usher All Levels 105,{
+ menu "Sandwich Arena [" + getmapusers("pvp_n_8-1.gat") + " / 64]",Lsand,
+ "Rock Arena [" + getmapusers("pvp_n_8-2.gat") + " / 32]",Llock,
+ "Four Arena [" + getmapusers("pvp_n_8-3.gat") + " / 32]",Lpolu,
+ "Undercross Arena [" + getmapusers("pvp_n_8-4.gat") + " / 32]",Lunder,
+ "Copass Arena [" + getmapusers("pvp_n_8-5.gat") + " / 32]",Lcom,
+ "Quit",Lcancel;
+Lsand:
+ if(getmapusers("pvp_n_8-1.gat") >= 64 ) goto LError;
+ warp "pvp_n_8-1",0,0;
+ break;
+Llock:
+ if(getmapusers("pvp_n_8-2.gat") >= 32 ) goto LError;
+ warp "pvp_n_8-2",0,0;
+ break;
+Lpolu:
+ if(getmapusers("pvp_n_8-3.gat") >= 32 ) goto LError;
+ warp "pvp_n_8-3",0,0;
+ break;
+Lunder:
+ if(getmapusers("pvp_n_8-4.gat") >= 32 ) goto LError;
+ warp "pvp_n_8-4",0,0;
+ break;
+Lcom:
+ if(getmapusers("pvp_n_8-5.gat") >= 32 ) goto LError;
+ warp "pvp_n_8-5",0,0;
+ break;
+Lcancel:
+ close;
+LError:
+ mes "[PVP Usher]";
+ mes "Sorry, this arena is currently full";
+ close;
+OnInit:
+ waitingroom "All Levels",0;
+ break;
+}
+
+// PvP Representative NPC prontera 164 175
+prontera.gat,164,175,5 script PvP Representative 116,{
+ mes "[PvP Representative]";
+ mes "Hello there! I'm the PvP Representative!";
+ next;
+ mes "[PvP Representative]";
+ mes "I'm here to advertise our Arena in Izlude! It's specially designed for you players to beat each other up!";
+ next;
+ menu "Sounds interesting! I'll join!",entrance,"PvP? Whats that?",info,"Nah, maybe later.",quit;
+entrance:
+ mes "[PvP Representative]";
+ mes "Most excellent! I'll warp you to our Arena's Front Gate!";
+ next;
+ warp "izlude.gat",128,218;
+ close;
+info:
+ mes "[PvP Representative]";
+ mes "PvP Stands For 'Player versus Player', where you get to choose from a variety of arenas in which to fight in!";
+ next;
+ mes "[PvP Representative]";
+ mes "You don't have to worry about losing items, we have a NO PENALTY rule that states you cannot loose items or EXP!";
+ next;
+ mes "[PvP Representative]";
+ mes "So whadduya think?";
+ next;
+ menu "Sounds interesting! I'll join!",entrance,"Nah, maybe later.",quit;
+quit:
+ mes "[PvP Representative]";
+ mes "'Kay - I hope you change your mind in the near future.";
+ mes " ";
+ mes "Come Again! ^_^";
+ close;
+}
+
+// Arena Bulletin Board NPC izlude 125 219
+izlude.gat,125,219,5 script Arena Bulletin Board 111,{
+ mes "[Arena Bulletin Board]";
+ mes "Welcome to the one and only...";
+ mes " ";
+ mes "Player Versus Player Arena!";
+ close;
+}
+
+// Arena Master NPC prt_are_in 100 84
+prt_are_in.gat,100,84,4 script Arena Master 734,{
+ mes "[Arena Master]";
+ mes "Aaahh yes! Welcome to my humble and world renown PvP Arena!";
+ next;
+ mes "[Arena Master]";
+ mes "Tell me...do you wish to learn more of my Arena?";
+ next;
+ menu "Sure",sure,"Maybe later...",later;
+sure:
+ mes "[Arena Master]";
+ mes "After much boredom that I've went through all my life of killing simple monsters, I decided that it wasn't enough!";
+ next;
+ mes "[Arena Master]";
+ mes "I needed HUMAN FLESH! To satisfy my need to kill...";
+ next;
+ mes "[Arena Master]";
+ mes "And after years of construction and planning ~ it's finally complete for all of Midgard to see and cherish!";
+ next;
+ mes "[Arena Master]";
+ mes "I present you...";
+ mes " ";
+ mes "MY ARENA!!!";
+ close;
+later:
+ mes "[Arena Master]";
+ mes "Fine fine, please do enjoy your stay.";
+ close;
+}
+
+// PvP Attendant NPC prt_are_in 97 86
+prt_are_in.gat,97,86,4 script PvP Attendant 98,{
+ mes "[PvP Attendant]";
+ mes "Welcome To The PVP ARENA!";
+ next;
+ mes "[PvP Attendant]";
+ mes "The Hall to the Left leads to City simulation Arenas";
+ next;
+ mes "[PvP Attendant]";
+ mes "The Hall to the Right leads to our Special map Arenas";
+ close;
+}
+
+// PvP Attendant NPC prt_are_in 102 86
+prt_are_in.gat,102,86,4 script PvP Attendant 98,{
+ mes "[PvP Attendant]";
+ mes "Welcome To The PVP ARENA!";
+ next;
+ mes "[PvP Attendant]";
+ mes "The Hall to the Left leads to City simulation Arenas";
+ next;
+ mes "[PvP Attendant]";
+ mes "The Hall to the Right are our Special map Arenas";
+ close;
+}
+
+// Begin 2v2 pvp Script
+pvp_2vs2.gat,32,22,2 script Bruno 87,{
+ mes "[Bruno]";
+ mes "You wimpin out already?";
+ menu "Yes",goback,"No",stay;
+ goback:
+ mes "Man!, you don't even got scratches, you wimp.";
+ next;
+ warp "prt_are_in.gat",167,90;
+ close;
+ stay:
+ mes "Impressive!, I respect your stamina!";
+ close;
+}
+
+prt_are_in.gat,167,92,4 script Bruno 87,{
+ mes "[Bruno]";
+ mes "You sure you wanna goto our underground 2vs2 arena dork?";
+ menu "Yes",gopvp,"No",nopvp;
+ gopvp:
+ mes "Was nice knowin you chump.";
+ next;
+ warp "pvp_2vs2.gat",36,49;
+ close;
+ nopvp:
+ mes "Didn't think so, wuss!";
+ close;
+}
+
+prt_are_in.gat,92,86,4 script Herman 125,{
+ mes "[Herman]";
+ mes "Welcome to Royal Rumble!";
+ mes "Ladies and Gents, my name is Herman from 'Cool Event Corp.'!";
+ next;
+ menu "What's Royal Rumble?",M0,"Boo~Go Home~",MEnd;
+
+ M0:
+ mes "[Herman]";
+ mes "We, Cool Event Corp., have opened a special event open to everyone visiting the Arena.";
+ mes "You can escape your monotonous life with this really great even we are providing you!";
+ next;
+ mes "[Herman]";
+ mes "This event is called ..Rooooooyal Rumbbbbbbble!!";
+ mes "*Cough*..*Cough*..*Cough* !!";
+ next;
+ mes "[Herman]";
+ mes ". . . . .";
+ mes "Arrggghhh Sooorry...";
+ next;
+ mes "[Herman]";
+ mes "When there are enough players in every 'Stand-By Room',";
+ mes "We will guide you to the beautiful Colosseum.";
+ next;
+ mes "[Herman]";
+ mes "In that Colosseum, you have to fight with hard and hostile Monsters within 5 minutes,";
+ mes "Using 8 warp zones located in 8 directions.";
+ next;
+ mes "[Herman]";
+ mes "When you strike into the deep inside of Monsters you will see Organ NPCs which control and generate Monsters.";
+ mes "You should have to speak them if you want to make an easy way to get a victory. They will release you from enemies.";
+ next;
+ mes "[Herman]";
+ mes "Whatever you eliminate all enemies by yourself or get helped by Organ NPCs, When you kill them all,";
+ mes "It is regarded as the Perfect Clear on Royal Rumble!";
+ next;
+ mes "[Herman]";
+ mes "Have some fun in Royal Rumble with your companions.";
+ mes "Once again, My name is Herman from Cool Event Corp. Thank you!";
+ close;
+
+ MEnd:
+ mes "[Herman]";
+ mes "You go Home, Baby";
+ close;
+}
+
+prt_are_in.gat,93,86,4 script Lancelot 125,{
+ mes "[Lancelot]";
+ mes "Hi Hi! Come on ! Make yourself at Home!";
+ mes "My name is Lacelot from Cool Event Corp. I am here to tell you about Time Limit Fight. Do you want to Listen?";
+ next;
+ menu "Yeah, Cool.",M0,"Sorry, I don't want to.",MEnd;
+
+ M0:
+ mes "[Lancelot]";
+ mes "We, Cool Event Corp., open a Special event to give a fun to everybody visiting Arena.";
+ mes "You can slip your monotonous day life for the moment during the event we provide you!";
+ next;
+ mes "[Lancelot]";
+ mes "The Event Called ..Timeeeee-- Limmmmmitttt---Figgggghhtt !!";
+ mes "*Aaahchoo* !! *Achoo* !! *Cough**Cough* ..";
+ next;
+ mes "[Lancelot]";
+ mes ". . . . . Whack..";
+ mes "Oh Boy.. Really Sorry to make you uncomfortable with this.";
+ next;
+ mes "[Lancelot]";
+ mes "When players gather as many as we need in Each Standbyroom";
+ mes "We will guide you to the Labylinth.";
+ next;
+ mes "[Lancelot]";
+ mes "In that Labylinth,you have to terminate all monsters within 5 minutes,";
+ mes "Using this Warp zone and that warp zone...";
+ next;
+ mes "[Lancelot]";
+ mes "When you kill all Monsters in one room,another gate will be opened ..and you can go in there.";
+ mes "One thing you must know is when you enter the new room door is totally closed to block your exit ..";
+ next;
+ mes "[Lancelot]";
+ mes "You cannot go back to where you're from.";
+ next;
+ mes "[Lancelot]";
+ mes "In case of Level 1 Stage, the door of Boss Stage will be opened when you eliminate all monsters in every room ..";
+ mes "But in Level 2 and 3, even though there are many complexed corridors, if you follow the shortcut, you will enter the Boss Room at ease.";
+ next;
+ mes "[Lancelot]";
+ mes "Get some fun with your companions.";
+ mes "Thank you for your time, once again my name is Lancelot!";
+ close;
+ MEnd:
+ mes "[Lancelot]";
+ mes "Alright, Bye Bye";
+ close;
+}
+
+prt_are_in.gat,94,85,4 Zakkie 84,{
+ mes "[Zakkie]";
+ mes "Welcome to Royal Rumble,the World of Fighters!";
+ mes "My name is Zakkie from Cool Event Corp.!";
+ mes "If you don't mind let me give you some tips for more fun.";
+ next;
+ menu "No!i don't mind.Go ahead.",M0,"Errr....I know already.",MEnd;
+
+ M0:
+ mes "[Zakkie]";
+ mes "when get started, You will ecounter many monsters through 8 warp zones.";
+ mes "You can choose either way of the Battle. You can find Organ NPCs behind each Warp Zone or You can kill all Enemies by yourself.";
+ next;
+ mes "[Zakkie]";
+ mes "When you satisfy one of them, it is regarded as Clear on that Round.";
+ mes "We suggest you to discuss with party members to find out better way of the Battle.";
+ close;
+ MEnd:
+ mes "[Zakkie]";
+ mes "Whattt!! Did you say you know the tips?!";
+ mes "Wow~Excellent. Then you don't need my help. Well have fun~!";
+ close;
+}
+
+prt_are_in.gat,108,86,4 script Boris 84,{
+ mes "[Boris]";
+ mes "Hmm.. I can easily imagine how frustrated you have been in your life, dear.. Because Common people cannot dare to visit me.";
+ mes "Let me introduce myself. My name is Boris and the director of Customer Support Team in Cool Event Corp.";
+ mes "I will give you the exceptional tips only for the Bloodthirsty.";
+ next;
+ menu "Will you please?",M0,"Thank you but I already know about it.",MEnd;
+
+ M0:
+ mes "[Boris]";
+ mes "Before get started, you must work out a strategy considering your members.";
+ mes "Then you can warp into the Battle.";
+ next;
+ mes "[Boris]";
+ mes "If 8 men jump into the Warp zone together, You will succeed.";
+ mes "Otherwise If a man or two, I don't think you can survive.";
+ next;
+ mes "[Boris]";
+ mes "And let's talk about the Running Time of Royal Rumble and of Time Limit Fight.";
+ mes "Although every Battle Time is limitted, but sometimes it is increased by a Bonus when you clear One Round.";
+ next;
+ mes "[Boris]";
+ mes "Bonus Time will be increased by Second.. When you get a Bonus Time";
+ mes "Definately you could extent the Limit of Battle. You can check the Time passage with the announcement of our employee.";
+ close;
+
+ MEnd:
+ mes "[Boris]";
+ mes ".. Ahh...I need my room in Dark ..";
+ mes "Hmm Hmm Nothing, Nothing.";
+ close;
+}
+
+// Add missing Warps Begins Here
+prt_are_in.gat,32,95,0 warp areawarpfix1 1,1,pvp_y_room.gat,52,23
+prt_are_in.gat,170,95,0 warp areawarpfix2 1,1,pvp_n_room.gat,52,23
+pvp_y_room.gat,52,18,0 warp areawarpfix3 1,1,prt_are_in.gat,32,92
+pvp_n_room.gat,52,18,0 warp areawarpfix4 1,1,prt_are_in.gat,170,92
+
+// PvP Mapflags
+pvp_y_1-1.gat mapflag nopenalty
+pvp_y_1-2.gat mapflag nopenalty
+pvp_y_1-3.gat mapflag nopenalty
+pvp_y_1-4.gat mapflag nopenalty
+pvp_y_1-5.gat mapflag nopenalty
+pvp_y_2-1.gat mapflag nopenalty
+pvp_y_2-2.gat mapflag nopenalty
+pvp_y_2-3.gat mapflag nopenalty
+pvp_y_2-4.gat mapflag nopenalty
+pvp_y_2-5.gat mapflag nopenalty
+pvp_y_3-1.gat mapflag nopenalty
+pvp_y_3-2.gat mapflag nopenalty
+pvp_y_3-3.gat mapflag nopenalty
+pvp_y_3-4.gat mapflag nopenalty
+pvp_y_3-5.gat mapflag nopenalty
+pvp_y_4-1.gat mapflag nopenalty
+pvp_y_4-2.gat mapflag nopenalty
+pvp_y_4-3.gat mapflag nopenalty
+pvp_y_4-4.gat mapflag nopenalty
+pvp_y_4-5.gat mapflag nopenalty
+pvp_y_5-1.gat mapflag nopenalty
+pvp_y_5-2.gat mapflag nopenalty
+pvp_y_5-3.gat mapflag nopenalty
+pvp_y_5-4.gat mapflag nopenalty
+pvp_y_5-5.gat mapflag nopenalty
+pvp_y_6-1.gat mapflag nopenalty
+pvp_y_6-2.gat mapflag nopenalty
+pvp_y_6-3.gat mapflag nopenalty
+pvp_y_6-4.gat mapflag nopenalty
+pvp_y_6-5.gat mapflag nopenalty
+pvp_y_7-1.gat mapflag nopenalty
+pvp_y_7-2.gat mapflag nopenalty
+pvp_y_7-3.gat mapflag nopenalty
+pvp_y_7-4.gat mapflag nopenalty
+pvp_y_7-5.gat mapflag nopenalty
+pvp_y_8-1.gat mapflag nopenalty
+pvp_y_8-2.gat mapflag nopenalty
+pvp_y_8-3.gat mapflag nopenalty
+pvp_y_8-4.gat mapflag nopenalty
+pvp_y_8-5.gat mapflag nopenalty
+pvp_n_1-1.gat mapflag nopenalty
+pvp_n_1-2.gat mapflag nopenalty
+pvp_n_1-3.gat mapflag nopenalty
+pvp_n_1-4.gat mapflag nopenalty
+pvp_n_1-5.gat mapflag nopenalty
+pvp_n_2-1.gat mapflag nopenalty
+pvp_n_2-2.gat mapflag nopenalty
+pvp_n_2-3.gat mapflag nopenalty
+pvp_n_2-4.gat mapflag nopenalty
+pvp_n_2-5.gat mapflag nopenalty
+pvp_n_3-1.gat mapflag nopenalty
+pvp_n_3-2.gat mapflag nopenalty
+pvp_n_3-3.gat mapflag nopenalty
+pvp_n_3-4.gat mapflag nopenalty
+pvp_n_3-5.gat mapflag nopenalty
+pvp_n_4-1.gat mapflag nopenalty
+pvp_n_4-2.gat mapflag nopenalty
+pvp_n_4-3.gat mapflag nopenalty
+pvp_n_4-4.gat mapflag nopenalty
+pvp_n_4-5.gat mapflag nopenalty
+pvp_n_5-1.gat mapflag nopenalty
+pvp_n_5-2.gat mapflag nopenalty
+pvp_n_5-3.gat mapflag nopenalty
+pvp_n_5-4.gat mapflag nopenalty
+pvp_n_5-5.gat mapflag nopenalty
+pvp_n_6-1.gat mapflag nopenalty
+pvp_n_6-2.gat mapflag nopenalty
+pvp_n_6-3.gat mapflag nopenalty
+pvp_n_6-4.gat mapflag nopenalty
+pvp_n_6-5.gat mapflag nopenalty
+pvp_n_7-1.gat mapflag nopenalty
+pvp_n_7-2.gat mapflag nopenalty
+pvp_n_7-3.gat mapflag nopenalty
+pvp_n_7-4.gat mapflag nopenalty
+pvp_n_7-5.gat mapflag nopenalty
+pvp_n_8-1.gat mapflag nopenalty
+pvp_n_8-2.gat mapflag nopenalty
+pvp_n_8-3.gat mapflag nopenalty
+pvp_n_8-4.gat mapflag nopenalty
+pvp_n_8-5.gat mapflag nopenalty
+pvp_2vs2.gat mapflag nopenalty
+
+pvp_y_1-1.gat mapflag pvp
+pvp_y_1-2.gat mapflag pvp
+pvp_y_1-3.gat mapflag pvp
+pvp_y_1-4.gat mapflag pvp
+pvp_y_1-5.gat mapflag pvp
+pvp_y_2-1.gat mapflag pvp
+pvp_y_2-2.gat mapflag pvp
+pvp_y_2-3.gat mapflag pvp
+pvp_y_2-4.gat mapflag pvp
+pvp_y_2-5.gat mapflag pvp
+pvp_y_3-1.gat mapflag pvp
+pvp_y_3-2.gat mapflag pvp
+pvp_y_3-3.gat mapflag pvp
+pvp_y_3-4.gat mapflag pvp
+pvp_y_3-5.gat mapflag pvp
+pvp_y_4-1.gat mapflag pvp
+pvp_y_4-2.gat mapflag pvp
+pvp_y_4-3.gat mapflag pvp
+pvp_y_4-4.gat mapflag pvp
+pvp_y_4-5.gat mapflag pvp
+pvp_y_5-1.gat mapflag pvp
+pvp_y_5-2.gat mapflag pvp
+pvp_y_5-3.gat mapflag pvp
+pvp_y_5-4.gat mapflag pvp
+pvp_y_5-5.gat mapflag pvp
+pvp_y_6-1.gat mapflag pvp
+pvp_y_6-2.gat mapflag pvp
+pvp_y_6-3.gat mapflag pvp
+pvp_y_6-4.gat mapflag pvp
+pvp_y_6-5.gat mapflag pvp
+pvp_y_7-1.gat mapflag pvp
+pvp_y_7-2.gat mapflag pvp
+pvp_y_7-3.gat mapflag pvp
+pvp_y_7-4.gat mapflag pvp
+pvp_y_7-5.gat mapflag pvp
+pvp_y_8-1.gat mapflag pvp
+pvp_y_8-2.gat mapflag pvp
+pvp_y_8-3.gat mapflag pvp
+pvp_y_8-4.gat mapflag pvp
+pvp_y_8-5.gat mapflag pvp
+pvp_n_1-1.gat mapflag pvp
+pvp_n_1-2.gat mapflag pvp
+pvp_n_1-3.gat mapflag pvp
+pvp_n_1-4.gat mapflag pvp
+pvp_n_1-5.gat mapflag pvp
+pvp_n_2-1.gat mapflag pvp
+pvp_n_2-2.gat mapflag pvp
+pvp_n_2-3.gat mapflag pvp
+pvp_n_2-4.gat mapflag pvp
+pvp_n_2-5.gat mapflag pvp
+pvp_n_3-1.gat mapflag pvp
+pvp_n_3-2.gat mapflag pvp
+pvp_n_3-3.gat mapflag pvp
+pvp_n_3-4.gat mapflag pvp
+pvp_n_3-5.gat mapflag pvp
+pvp_n_4-1.gat mapflag pvp
+pvp_n_4-2.gat mapflag pvp
+pvp_n_4-3.gat mapflag pvp
+pvp_n_4-4.gat mapflag pvp
+pvp_n_4-5.gat mapflag pvp
+pvp_n_5-1.gat mapflag pvp
+pvp_n_5-2.gat mapflag pvp
+pvp_n_5-3.gat mapflag pvp
+pvp_n_5-4.gat mapflag pvp
+pvp_n_5-5.gat mapflag pvp
+pvp_n_6-1.gat mapflag pvp
+pvp_n_6-2.gat mapflag pvp
+pvp_n_6-3.gat mapflag pvp
+pvp_n_6-4.gat mapflag pvp
+pvp_n_6-5.gat mapflag pvp
+pvp_n_7-1.gat mapflag pvp
+pvp_n_7-2.gat mapflag pvp
+pvp_n_7-3.gat mapflag pvp
+pvp_n_7-4.gat mapflag pvp
+pvp_n_7-5.gat mapflag pvp
+pvp_n_8-1.gat mapflag pvp
+pvp_n_8-2.gat mapflag pvp
+pvp_n_8-3.gat mapflag pvp
+pvp_n_8-4.gat mapflag pvp
+pvp_n_8-5.gat mapflag pvp
+pvp_2vs2.gat mapflag pvp
+
+pvp_y_1-1.gat mapflag pvp_noparty
+pvp_y_1-2.gat mapflag pvp_noparty
+pvp_y_1-3.gat mapflag pvp_noparty
+pvp_y_1-4.gat mapflag pvp_noparty
+pvp_y_1-5.gat mapflag pvp_noparty
+pvp_y_2-1.gat mapflag pvp_noparty
+pvp_y_2-2.gat mapflag pvp_noparty
+pvp_y_2-3.gat mapflag pvp_noparty
+pvp_y_2-4.gat mapflag pvp_noparty
+pvp_y_2-5.gat mapflag pvp_noparty
+pvp_y_3-1.gat mapflag pvp_noparty
+pvp_y_3-2.gat mapflag pvp_noparty
+pvp_y_3-3.gat mapflag pvp_noparty
+pvp_y_3-4.gat mapflag pvp_noparty
+pvp_y_3-5.gat mapflag pvp_noparty
+pvp_y_4-1.gat mapflag pvp_noparty
+pvp_y_4-2.gat mapflag pvp_noparty
+pvp_y_4-3.gat mapflag pvp_noparty
+pvp_y_4-4.gat mapflag pvp_noparty
+pvp_y_4-5.gat mapflag pvp_noparty
+pvp_y_5-1.gat mapflag pvp_noparty
+pvp_y_5-2.gat mapflag pvp_noparty
+pvp_y_5-3.gat mapflag pvp_noparty
+pvp_y_5-4.gat mapflag pvp_noparty
+pvp_y_5-5.gat mapflag pvp_noparty
+pvp_y_6-1.gat mapflag pvp_noparty
+pvp_y_6-2.gat mapflag pvp_noparty
+pvp_y_6-3.gat mapflag pvp_noparty
+pvp_y_6-4.gat mapflag pvp_noparty
+pvp_y_6-5.gat mapflag pvp_noparty
+pvp_y_7-1.gat mapflag pvp_noparty
+pvp_y_7-2.gat mapflag pvp_noparty
+pvp_y_7-3.gat mapflag pvp_noparty
+pvp_y_7-4.gat mapflag pvp_noparty
+pvp_y_7-5.gat mapflag pvp_noparty
+pvp_y_8-1.gat mapflag pvp_noparty
+pvp_y_8-2.gat mapflag pvp_noparty
+pvp_y_8-3.gat mapflag pvp_noparty
+pvp_y_8-4.gat mapflag pvp_noparty
+pvp_y_8-5.gat mapflag pvp_noparty
+pvp_n_1-1.gat mapflag pvp_noparty
+pvp_n_1-2.gat mapflag pvp_noparty
+pvp_n_1-3.gat mapflag pvp_noparty
+pvp_n_1-4.gat mapflag pvp_noparty
+pvp_n_1-5.gat mapflag pvp_noparty
+pvp_n_2-1.gat mapflag pvp_noparty
+pvp_n_2-2.gat mapflag pvp_noparty
+pvp_n_2-3.gat mapflag pvp_noparty
+pvp_n_2-4.gat mapflag pvp_noparty
+pvp_n_2-5.gat mapflag pvp_noparty
+pvp_n_3-1.gat mapflag pvp_noparty
+pvp_n_3-2.gat mapflag pvp_noparty
+pvp_n_3-3.gat mapflag pvp_noparty
+pvp_n_3-4.gat mapflag pvp_noparty
+pvp_n_3-5.gat mapflag pvp_noparty
+pvp_n_4-1.gat mapflag pvp_noparty
+pvp_n_4-2.gat mapflag pvp_noparty
+pvp_n_4-3.gat mapflag pvp_noparty
+pvp_n_4-4.gat mapflag pvp_noparty
+pvp_n_4-5.gat mapflag pvp_noparty
+pvp_n_5-1.gat mapflag pvp_noparty
+pvp_n_5-2.gat mapflag pvp_noparty
+pvp_n_5-3.gat mapflag pvp_noparty
+pvp_n_5-4.gat mapflag pvp_noparty
+pvp_n_5-5.gat mapflag pvp_noparty
+pvp_n_6-1.gat mapflag pvp_noparty
+pvp_n_6-2.gat mapflag pvp_noparty
+pvp_n_6-3.gat mapflag pvp_noparty
+pvp_n_6-4.gat mapflag pvp_noparty
+pvp_n_6-5.gat mapflag pvp_noparty
+pvp_n_7-1.gat mapflag pvp_noparty
+pvp_n_7-2.gat mapflag pvp_noparty
+pvp_n_7-3.gat mapflag pvp_noparty
+pvp_n_7-4.gat mapflag pvp_noparty
+pvp_n_7-5.gat mapflag pvp_noparty
+pvp_n_8-1.gat mapflag pvp_noparty
+pvp_n_8-2.gat mapflag pvp_noparty
+pvp_n_8-3.gat mapflag pvp_noparty
+pvp_n_8-4.gat mapflag pvp_noparty
+pvp_n_8-5.gat mapflag pvp_noparty
+
+pvp_y_1-1.gat mapflag nomemo
+pvp_y_1-2.gat mapflag nomemo
+pvp_y_1-3.gat mapflag nomemo
+pvp_y_1-4.gat mapflag nomemo
+pvp_y_1-5.gat mapflag nomemo
+pvp_y_2-1.gat mapflag nomemo
+pvp_y_2-2.gat mapflag nomemo
+pvp_y_2-3.gat mapflag nomemo
+pvp_y_2-4.gat mapflag nomemo
+pvp_y_2-5.gat mapflag nomemo
+pvp_y_3-1.gat mapflag nomemo
+pvp_y_3-2.gat mapflag nomemo
+pvp_y_3-3.gat mapflag nomemo
+pvp_y_3-4.gat mapflag nomemo
+pvp_y_3-5.gat mapflag nomemo
+pvp_y_4-1.gat mapflag nomemo
+pvp_y_4-2.gat mapflag nomemo
+pvp_y_4-3.gat mapflag nomemo
+pvp_y_4-4.gat mapflag nomemo
+pvp_y_4-5.gat mapflag nomemo
+pvp_y_5-1.gat mapflag nomemo
+pvp_y_5-2.gat mapflag nomemo
+pvp_y_5-3.gat mapflag nomemo
+pvp_y_5-4.gat mapflag nomemo
+pvp_y_5-5.gat mapflag nomemo
+pvp_y_6-1.gat mapflag nomemo
+pvp_y_6-2.gat mapflag nomemo
+pvp_y_6-3.gat mapflag nomemo
+pvp_y_6-4.gat mapflag nomemo
+pvp_y_6-5.gat mapflag nomemo
+pvp_y_7-1.gat mapflag nomemo
+pvp_y_7-2.gat mapflag nomemo
+pvp_y_7-3.gat mapflag nomemo
+pvp_y_7-4.gat mapflag nomemo
+pvp_y_7-5.gat mapflag nomemo
+pvp_y_8-1.gat mapflag nomemo
+pvp_y_8-2.gat mapflag nomemo
+pvp_y_8-3.gat mapflag nomemo
+pvp_y_8-4.gat mapflag nomemo
+pvp_y_8-5.gat mapflag nomemo
+pvp_n_1-1.gat mapflag nomemo
+pvp_n_1-2.gat mapflag nomemo
+pvp_n_1-3.gat mapflag nomemo
+pvp_n_1-4.gat mapflag nomemo
+pvp_n_1-5.gat mapflag nomemo
+pvp_n_2-1.gat mapflag nomemo
+pvp_n_2-2.gat mapflag nomemo
+pvp_n_2-3.gat mapflag nomemo
+pvp_n_2-4.gat mapflag nomemo
+pvp_n_2-5.gat mapflag nomemo
+pvp_n_3-1.gat mapflag nomemo
+pvp_n_3-2.gat mapflag nomemo
+pvp_n_3-3.gat mapflag nomemo
+pvp_n_3-4.gat mapflag nomemo
+pvp_n_3-5.gat mapflag nomemo
+pvp_n_4-1.gat mapflag nomemo
+pvp_n_4-2.gat mapflag nomemo
+pvp_n_4-3.gat mapflag nomemo
+pvp_n_4-4.gat mapflag nomemo
+pvp_n_4-5.gat mapflag nomemo
+pvp_n_5-1.gat mapflag nomemo
+pvp_n_5-2.gat mapflag nomemo
+pvp_n_5-3.gat mapflag nomemo
+pvp_n_5-4.gat mapflag nomemo
+pvp_n_5-5.gat mapflag nomemo
+pvp_n_6-1.gat mapflag nomemo
+pvp_n_6-2.gat mapflag nomemo
+pvp_n_6-3.gat mapflag nomemo
+pvp_n_6-4.gat mapflag nomemo
+pvp_n_6-5.gat mapflag nomemo
+pvp_n_7-1.gat mapflag nomemo
+pvp_n_7-2.gat mapflag nomemo
+pvp_n_7-3.gat mapflag nomemo
+pvp_n_7-4.gat mapflag nomemo
+pvp_n_7-5.gat mapflag nomemo
+pvp_n_8-1.gat mapflag nomemo
+pvp_n_8-2.gat mapflag nomemo
+pvp_n_8-3.gat mapflag nomemo
+pvp_n_8-4.gat mapflag nomemo
+pvp_n_8-5.gat mapflag nomemo
+pvp_2vs2.gat mapflag nomemo
+
+pvp_y_1-1.gat mapflag noteleport
+pvp_y_1-2.gat mapflag noteleport
+pvp_y_1-3.gat mapflag noteleport
+pvp_y_1-4.gat mapflag noteleport
+pvp_y_1-5.gat mapflag noteleport
+pvp_y_2-1.gat mapflag noteleport
+pvp_y_2-2.gat mapflag noteleport
+pvp_y_2-3.gat mapflag noteleport
+pvp_y_2-4.gat mapflag noteleport
+pvp_y_2-5.gat mapflag noteleport
+pvp_y_3-1.gat mapflag noteleport
+pvp_y_3-2.gat mapflag noteleport
+pvp_y_3-3.gat mapflag noteleport
+pvp_y_3-4.gat mapflag noteleport
+pvp_y_3-5.gat mapflag noteleport
+pvp_y_4-1.gat mapflag noteleport
+pvp_y_4-2.gat mapflag noteleport
+pvp_y_4-3.gat mapflag noteleport
+pvp_y_4-4.gat mapflag noteleport
+pvp_y_4-5.gat mapflag noteleport
+pvp_y_5-1.gat mapflag noteleport
+pvp_y_5-2.gat mapflag noteleport
+pvp_y_5-3.gat mapflag noteleport
+pvp_y_5-4.gat mapflag noteleport
+pvp_y_5-5.gat mapflag noteleport
+pvp_y_6-1.gat mapflag noteleport
+pvp_y_6-2.gat mapflag noteleport
+pvp_y_6-3.gat mapflag noteleport
+pvp_y_6-4.gat mapflag noteleport
+pvp_y_6-5.gat mapflag noteleport
+pvp_y_7-1.gat mapflag noteleport
+pvp_y_7-2.gat mapflag noteleport
+pvp_y_7-3.gat mapflag noteleport
+pvp_y_7-4.gat mapflag noteleport
+pvp_y_7-5.gat mapflag noteleport
+pvp_y_8-1.gat mapflag noteleport
+pvp_y_8-2.gat mapflag noteleport
+pvp_y_8-3.gat mapflag noteleport
+pvp_y_8-4.gat mapflag noteleport
+pvp_y_8-5.gat mapflag noteleport
+pvp_n_1-1.gat mapflag noteleport
+pvp_n_1-2.gat mapflag noteleport
+pvp_n_1-3.gat mapflag noteleport
+pvp_n_1-4.gat mapflag noteleport
+pvp_n_1-5.gat mapflag noteleport
+pvp_n_2-1.gat mapflag noteleport
+pvp_n_2-2.gat mapflag noteleport
+pvp_n_2-3.gat mapflag noteleport
+pvp_n_2-4.gat mapflag noteleport
+pvp_n_2-5.gat mapflag noteleport
+pvp_n_3-1.gat mapflag noteleport
+pvp_n_3-2.gat mapflag noteleport
+pvp_n_3-3.gat mapflag noteleport
+pvp_n_3-4.gat mapflag noteleport
+pvp_n_3-5.gat mapflag noteleport
+pvp_n_4-1.gat mapflag noteleport
+pvp_n_4-2.gat mapflag noteleport
+pvp_n_4-3.gat mapflag noteleport
+pvp_n_4-4.gat mapflag noteleport
+pvp_n_4-5.gat mapflag noteleport
+pvp_n_5-1.gat mapflag noteleport
+pvp_n_5-2.gat mapflag noteleport
+pvp_n_5-3.gat mapflag noteleport
+pvp_n_5-4.gat mapflag noteleport
+pvp_n_5-5.gat mapflag noteleport
+pvp_n_6-1.gat mapflag noteleport
+pvp_n_6-2.gat mapflag noteleport
+pvp_n_6-3.gat mapflag noteleport
+pvp_n_6-4.gat mapflag noteleport
+pvp_n_6-5.gat mapflag noteleport
+pvp_n_7-1.gat mapflag noteleport
+pvp_n_7-2.gat mapflag noteleport
+pvp_n_7-3.gat mapflag noteleport
+pvp_n_7-4.gat mapflag noteleport
+pvp_n_7-5.gat mapflag noteleport
+pvp_n_8-1.gat mapflag noteleport
+pvp_n_8-2.gat mapflag noteleport
+pvp_n_8-3.gat mapflag noteleport
+pvp_n_8-4.gat mapflag noteleport
+pvp_n_8-5.gat mapflag noteleport
+pvp_2vs2.gat mapflag noteleport
+
+pvp_y_1-1.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_1-2.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_1-3.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_1-4.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_1-5.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_2-1.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_2-2.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_2-3.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_2-4.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_2-5.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_3-1.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_3-2.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_3-3.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_3-4.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_3-5.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_4-1.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_4-2.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_4-3.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_4-4.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_4-5.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_5-1.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_5-2.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_5-3.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_5-4.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_5-5.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_6-1.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_6-2.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_6-3.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_6-4.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_6-5.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_7-1.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_7-2.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_7-3.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_7-4.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_7-5.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_8-1.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_8-2.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_8-3.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_8-4.gat mapflag nosave prt_are_in.gat,100,80
+pvp_y_8-5.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_1-1.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_1-2.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_1-3.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_1-4.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_1-5.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_2-1.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_2-2.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_2-3.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_2-4.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_2-5.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_3-1.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_3-2.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_3-3.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_3-4.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_3-5.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_4-1.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_4-2.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_4-3.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_4-4.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_4-5.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_5-1.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_5-2.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_5-3.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_5-4.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_5-5.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_6-1.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_6-2.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_6-3.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_6-4.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_6-5.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_7-1.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_7-2.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_7-3.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_7-4.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_7-5.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_8-1.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_8-2.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_8-3.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_8-4.gat mapflag nosave prt_are_in.gat,100,80
+pvp_n_8-5.gat mapflag nosave prt_are_in.gat,100,80
+pvp_2vs2.gat mapflag nosave prt_are_in.gat,100,80
diff --git a/npc/other/old/wedding.txt b/npc/other/old/wedding.txt
new file mode 100644
index 000000000..38ed55c2f
--- /dev/null
+++ b/npc/other/old/wedding.txt
@@ -0,0 +1,715 @@
+//////////////////////////////////////////////////////////
+// Wedding Script Alpha (v1.4) //
+//////////////////////////////////////////////////////////
+//
+//=====eAthena Script====================================
+// Wedding Script
+//=====By================================================
+// AppleGirl and Evera(version 1.0)
+//=====Current Version===================================
+// 1.45b
+//=====Compatible With:==================================
+// Any eAthena Version; RO Episode 6+
+//=====Description=======================================
+// Fully working wedding script for all kind of weddings
+//=====Additional Comments:==============================
+// Tested and debugged by whocares (maybe 1-2 bugs left)(version 1.1)
+//======= Version 1.2 By ShadowLady =====================
+// Same Sex Weddings.
+// Now the script(npcs) tell the players how they must perform exactly.
+//======= Version 1.3 By ShadowLady =====================
+// You might need to update the wedding rings in item_db
+// Same for the tux/dress, so all classes and lvs can use it ^^
+// And check if they are wearing the tux/dress and not only have it on the inventory.
+//======= Version 1.4 By ShadowLady =====================
+// Added some code ideas. Thanks to Jbain for help me debbuging
+// Added @outfit variable, to check if you already bought a tux/dress
+// Fixed "part" of the divorce npc. The code is bugged by itself -_- Need both chars to be online yet.
+////======= Version 1.45 By ShadowLady =====================
+// Fixed some minor bugs. Same-sex is disabled by default now.
+// Change $progress variable to $@progress, so it dont screw up the ceremony on a server crash.
+// Added a Special GM Menu to enable/disable same-sex weddings and reset most variables.
+////======= Version 1.45b By Aria =====================
+// Added the $progress to $@progress variable change that ShadowLady put in notes, but not in code.
+//=======================================================
+// Variable Notes:
+//
+// event_wedding - 1 signifies marriage
+// $groom$ - Groom's name storage
+// $bride$ - Bride's name storage
+// $@progress - Sets global restriction upon wedding
+// @register - Temporary registration check
+// @zleft - Temporary zeny needed check
+// $name$ - Insert name for bride
+// $name2$ - Insert name for groom
+// $get_ring - Check so you can't get ring twice
+// $reason$ - Objection to wedding
+// @outfit - Check if the char already got a dress or tuxedo from the npc
+// Tristan
+prt_church.gat,99,125,4 script Tristan the Third 108,{
+ if($groom$ == strcharinfo(0) && $@progress != 3) goto L_GroomCeremony;
+ if(@register == 0) goto L_GroomNeedToRegister;
+ if($bride$ == strcharinfo(0)) goto L_BrideCeremony;
+ menu "Here To Attend",L_Wedding,"Here for another reason",L_OtherReason;
+L_GroomCeremony:
+ if(@register == 0) goto L_GroomNeedToRegister;
+ if($@progress == 1) goto L_BrideNeedToRegister;
+ if($@progress == 0) goto L_Wedding;
+ if(countitem(2613) < 1) goto L_NeedRing;//Items: Diamond_Ring,
+ if((getequipid(2) != 2338) && (getequipid(2) != 7170)) goto L_Attire;
+ mes "[Tristan the Third]";
+ mes "Everything is ready, it's your call now...";
+ next;
+ menu "Perform Wedding.",-,"Cancel Wedding.",L_CancelWedding;
+ set $@progress,3;
+ mes "[Tristan the Third]";
+ mes "Well all you have to do now is the easy part input your bride's name, remember to spell it correctly.";
+ input $name2$;
+ next;
+ if($name2$ != $bride$) goto L_WrongBrideName;
+ deltimer "a13";
+ marriage $name2$;
+ mes "[Tristan the Third]";
+ mes "Please tell your wife to speak to me, and then we will start exchanging rings";
+ delitem 2613,1;//Items: Diamond_Ring,
+ if (sex == 0) getitem 2635,1;//Items: Wedding_Ring_F,
+ if (sex == 1) getitem 2634,1;//Items: Wedding_Ring_M,
+ set @get_ring,1;
+ next;
+ mes "[Tristan the Third]";
+ mes "Will you and your bride please move onto the stand. I will now preform the Wedding Ceremony!";
+ set event_wedding,1;
+ deltimer "weddinglimit1";
+ deltimer "weddinglimit2";
+ announce "The Wedding of "+$groom$+" and "+$bride$+", will now be held at Prontera Church.",5;
+ addtimer 50000,"a1";
+ addtimer 55000,"a2";
+ addtimer 60000,"a3";
+ addtimer 65000,"a4";
+ addtimer 70000,"a5";
+ addtimer 75000,"a6";
+ addtimer 80000,"a7";
+ addtimer 85000,"a8";
+ addtimer 90000,"a9";
+ addtimer 95000,"a10";
+ addtimer 100000,"a11";
+ addtimer 105000,"a12";
+ close;
+L_BrideCeremony:
+ if(countitem(2613) < 1) goto L_NeedRing;//Items: Diamond_Ring,
+ if((getequipid(2) != 2338) && (getequipid(2) != 7170)) goto L_Attire;
+ mes "[Tristan the Third]";
+ mes "Well all you have to do now is the easy part input your groom's name, remember to spell it correctly.";
+ input $name$;
+ next;
+ if($name$ != $groom$) goto L_WrongGroomName;
+ deltimer "a13";
+ deltimer "weddinglimit1";
+ deltimer "weddinglimit2";
+ marriage $name$;
+ delitem 2613,1;//Items: Diamond_Ring,
+ if (sex == 0) getitem 2635,1;//Items: Wedding_Ring_F,
+ if (sex == 1) getitem 2634,1;//Items: Wedding_Ring_M,
+ set @get_ring,1;
+ close;
+L_CancelWedding:
+ mes "[Tristan the Third]";
+ mes "The wedding has been cancelled by "+strcharinfo(0)+".";
+ set $@progress,0;
+ set $groom$,"null";
+ set $bride$,"null";
+ set @register,0;
+ set event_wedding,0;
+ set @get_ring,0;
+ deltimer "a1";
+ deltimer "a2";
+ deltimer "a3";
+ deltimer "a4";
+ deltimer "a5";
+ deltimer "a6";
+ deltimer "a7";
+ deltimer "a8";
+ deltimer "a9";
+ deltimer "a10";
+ deltimer "a11";
+ deltimer "a12";
+ deltimer "a13";
+ close;
+L_GroomNeedToRegister:
+ mes "[Tristan the Third]";
+ mes "Hello, please register with Marry if you want me to perform a marriage for you.";
+ close;
+L_Wedding:
+ if(event_wedding != 1) goto L_Guest;
+ mes "[Tristan the Third]";
+ mes "Hello again "+strcharinfo(0)+", I hope wish for the best of luck in your life.";
+ close;
+L_BrideNeedToRegister:
+ mes "[Tristan the Third]";
+ mes "I'm sorry, I cannot start the ceremony if the bride has not registered yet.";
+ close;
+L_OtherReason:
+ if(@get_ring == 1) goto L_Wedding;
+ mes "[Tristan the Third]";
+ mes "Do you have a reason why these two should not be bonded in holy matrimony?";
+ next;
+ menu "Yes I Do.",-,"No",L_NoReason;
+ areaannounce "prt_church.gat",0,0,350,350,"Ladies and Gentlemen,"+strcharinfo(0)+" has an objection to this marriage",0;
+ mes "[Tristan the Third]";
+ mes "Please enter your reason, for this action.";
+ input $reason$;
+ next;
+ areaannounce "prt_church.gat",0,0,350,350,""+$reason$+"",0;
+ set $@progress,0;
+ set $groom$,"null";
+ set $bride$,"null";
+ set $name$,"null";
+ set $name2$,"null";
+ set @register,0;
+ set event_wedding,0;
+ set @get_ring,0;
+ deltimer "a1";
+ deltimer "a2";
+ deltimer "a3";
+ deltimer "a4";
+ deltimer "a5";
+ deltimer "a6";
+ deltimer "a7";
+ deltimer "a8";
+ deltimer "a9";
+ deltimer "a10";
+ deltimer "a11";
+ deltimer "a12";
+ mes "The wedding has been called off.";
+ close;
+L_NoReason:
+ if($groom$ == strcharinfo(0)) goto L_InProgress;
+ if($bride$ == strcharinfo(0)) goto L_InProgress;
+ mes "[Tristan the Third]";
+ mes "Please have a seat than and let me continue the wedding.";
+ close;
+L_Guest:
+ mes "[Tristan the Third]";
+ mes "Enjoy the cerimony.";
+ mes "But I must continue the cerimony, so lets talk after.";
+ close;
+L_InProgress:
+ mes "[Tristan the Third]";
+ mes "Your wedding is in progress, please try talking with me later.";
+ close;
+L_WrongBrideName:
+ mes "[Marry Happy]";
+ mes "How come you forgot your wife's name!? Sorry come back later when you know who you want to marry.";
+ close;
+L_WrongGroomName:
+ mes "[Marry Happy]";
+ mes "How come you forgot your husband's name!? Sorry come back later when you know who you want to marry.";
+ close;
+L_NeedRing:
+ mes "[Tristan the Third]";
+ mes "You need a Diamond Ring in order to perform the wedding.";
+ close;
+L_Attire:
+ if(sex == 1) goto L_NeedTuxedo;
+ if(sex == 0) goto L_NeedDress;
+ close;
+L_NeedTuxedo:
+ mes "[Tristan the Third]";
+ mes "You need a Tuxedo before we can continue the ceremony.";
+ close;
+L_NeedDress:
+ mes "[Tristan the Third]";
+ mes "Oh my is it your wedding day?";
+ mes "Well sorry to break it to you, you need a wedding dress to get married.";
+ close;
+}
+
+// Marry
+prt_church.gat,95,100,4 script Marry 71,{
+// Set the ceremony prices here. A for @outfit==0 and B for @outfit==1.
+// Real prices are 1,3m for males and 1,2m for females. Set at your own will.
+ set @costgroomA,120000;
+ set @costgroomB,60000;
+ set @costbrideA,100000;
+ set @costbrideB,50000;
+ mes "[Marry Happy]";
+ mes "Marriage refers to a hope of everybody to find the desired happiness.";
+ mes "So may i ask, is there someone special you wish to be with forever?";
+ next;
+ menu "Inquire about the wedding ceremony.",L_Principles,"Inquire about the procedure of wedding ceremony.",L_WeddingSystem,"Apply for a wedding ceremony.",L_Marry,"We are the invincible single army!",L_LiveSolo,"Special Menu",L_GmMenu;
+L_GmMenu:
+ set @gmlevel,getgmlevel(50);
+ if(@gmlevel < 50) goto L_NotGM;
+ mes "Hello " + strcharinfo(0) + " How i can serve you?";
+ menu "Enable Same-Sex Weddings",L_EnableSameSex,"Disable Same-Sex Weddings",L_DisableSameSex,"Reset the Variables",L_ResetVariables,"Just Checking...",L_Bye;
+L_NotGM:
+ mes "You cant have access to this special menu " + strcharinfo(0) + "";
+ mes "Only GMs can change the ceremony options.";
+ close;
+L_EnableSameSex:
+ set $samesex,1;
+ mes "Same-Sex Weddings are enabled now!";
+ close;
+L_DisableSameSex:
+ set $samesex,0;
+ mes "Same-Sex Weddings are disabled now!";
+ close;
+L_ResetVariables:
+ set $@progress,0;
+ set $groom$,"null";
+ set $bride$,"null";
+ set $name$,"null";
+ set $name2$,"null";
+ set @register,0;
+ set event_wedding,0;
+ set @get_ring,0;
+ set @outfit,0;
+ deltimer "weddinglimit1";
+ deltimer "weddinglimit2";
+ deltimer "a1";
+ deltimer "a2";
+ deltimer "a3";
+ deltimer "a4";
+ deltimer "a5";
+ deltimer "a6";
+ deltimer "a7";
+ deltimer "a8";
+ deltimer "a9";
+ deltimer "a10";
+ deltimer "a11";
+ deltimer "a12";
+ deltimer "a13";
+ mes "All variables are reseted and timers off!";
+ close;
+L_Principles:
+ mes "[Marry Happy]";
+ mes "His Majesty King Tristan III of the Rune Midgard Kingdom will be officiating this wedding, with the intent of blessing all the people through his noble message.";
+ next;
+ mes "[Marry Happy]";
+ mes "Although His Majesty has a rather busy agenda, for the sake of newly married couples, he has personally come here, to the Prontera Church.";
+ mes "It is the favor of our King that everyone would live happily ever after.";
+ next;
+ mes "[Marry Happy]";
+ mes "The proposal must be done with prudence and courtesy.";
+ mes "Once the wedlocks have been made, they cannot be undone.";
+ mes "The two who are united in marriage must be with the other forever until the day they leave this world.";
+ next;
+ mes "[Marry Happy]";
+ mes "Also, males only with females, and females only with males can be wed. Although there may be those who desire a homosexual or bestial marriage... it is approved.";
+ next;
+ mes "[Marry Happy]";
+ mes "If there is a significant other whom you want to spend the rest of your life with, then don't be shy to propose.";
+ mes "Wishing for many blessings upon couples who wish to live happily ever after..";
+ close;
+L_WeddingSystem:
+ mes "[Marry Happy]";
+ mes "First make sure both players a registered to get married.";
+ mes "Obviously, you must know each other to get married?";
+ mes "If both have registered, and you must be on the same party.";
+ mes "Then talk to Thristan the Third.";
+ next;
+ mes "[Marry Happy]";
+ mes "You must go to Thristan the Third,";
+ mes "and the Groom must talk to him first.";
+ mes "And you must tell him the Bride";
+ mes "you wish to get married with.";
+ mes "Be sure to tell him exactly who you want to marry.";
+ next;
+ mes "[Marry Happy]";
+ mes "After the Groom has spoken, next the Bride must talk.";
+ mes "Then when both of you have spoken each others names,";
+ mes "Thristan the third will read out both of your names.";
+ next;
+ mes "[Marry Happy]";
+ mes "After you have got married,";
+ mes "you will both recive a ring of marrige.";
+ mes "And as soon as both of you wear these rings,";
+ mes "you will be forever married with each other.";
+ mes "You can also be refused of a lasting marrige.";
+ mes "But, dont be sad.";
+ next;
+ mes "[Marry Happy]";
+ mes "If there are many people that wish to get married,";
+ mes "So please keep to the order you register.";
+ mes "Thristan does not do multiple marriges at once.";
+ mes "He will only see one couple at a time.";
+ next;
+ mes "[Marry Happy]";
+ mes "Lastly, you must put forth your name quickly";
+ mes "to Thristan the third.";
+ mes "After the male has said yes to marrage ";
+ mes "the female has 3 minutes to reply.";
+ mes "Or you shall forever never be able";
+ mes "to get married.";
+ next;
+ mes "[Marry Happy]";
+ mes "An easy way to write down the each others name,";
+ mes "Send a message to each other";
+ mes "then in the private message window press up";
+ next;
+ mes "[Marry Happy]";
+ mes "Then it will show the other persons name.";
+ mes "If you press ctrl + C that name will be saved.";
+ mes "Next time you need that name";
+ mes "you can press shift + insert.";
+ mes "Then you will get that name quickly and easily.";
+ next;
+ mes "[Marry Happy]";
+ mes "You should have a go at using this method.";
+ mes "Remeber, Press ctrl + C to save that name.";
+ next;
+ input $nametest$;
+ mes "[Marry Happy]";
+ mes "Hopefully you will remember this method.";
+ mes "If you ever decide to get married.";
+ mes "Remember to register.";
+ close;
+L_Marry:
+ mes "[Marry Happy]";
+ mes "If you wish to get married you must first register.";
+ mes "Male is ^FF00FF" + @costgroomA + "^000000 zeny and female is ^FF00FF" + @costbrideA + "^000000 zeny";
+ if((countitem(2338) > 0) || (countitem(7170) > 0) || (@outfit == 1)) mes "But only ^FF00FF" + @costgroomB + "^000000 zeny for male and ^FF00FF" + @costbrideB + "^000000 zeny for female if you already have registered before";
+ mes "Both male and female must have registered,";
+ mes "and both must have paid fees, have Diamond Rings and be on same party!";
+ mes "The Bride will get a Wedding Dress, while the Groom will get a Chinese Tuxedo";
+ next;
+ mes "[Marry Happy]";
+ mes "If both people have paid and meet recquirements";
+ mes "you are able to get married strait away.";
+ mes "One must be the Groom and the other the Bride.";
+ mes "Do you wish to register to get married?";
+ if($SameSex == 1) menu "I'm gonna be the Groom",-,"I'm gonna be the Bride",L_BrideRegister,"Never mind",L_Bye;
+ if(event_wedding == 1) goto L_Married;
+ if(@register >= 1) goto L_AlreadyRegistered;
+ if($@progress >= 2) goto L_InProgress;
+ if(($samesex == 0) && (sex == 0)) goto L_BrideRegister;
+ if((countitem(2338) > 0) || (countitem(7170) > 0) || (@outfit == 1)) goto L_GroomRegister2;
+ mes "[Marry Happy]";
+ if(sex == 1) mes "No problem sir, please fill out your name here.";
+ if(sex == 0) mes "No problem miss, please fill out your name here.";
+ mes "And I'll need to collect a " + @costgroomA + " zeny fee for your wedding fees and outfit.";
+ next;
+ mes "[Marry Happy]";
+ mes "Now You Must Insert The Your Bride's Name";
+ input $name$;
+ next;
+ if(zeny < @costgroomA) goto L_NeedZeny1;
+ set $groom$,strcharinfo(0);
+ set @register,1;
+ set zeny,zeny-@costgroomA;
+ set $@progress,1;
+ if(sex == 1) getitem 7170,1;
+ if(sex == 0) getitem 2338,1;
+ set @outfit,1;
+ mes "[Marry Happy]";
+ mes "You are now registered "+strcharinfo(0)+", I wish you the best of luck with your marriage.";
+ addtimer 300000,"weddinglimit1";
+ areaannounce "prt_church.gat",0,0,350,350,strcharinfo(0)+" has registered for the wedding.",0;
+ next;
+ mes "Please hurry to the altar. We have to be ready for another wedding in 5 minutes.";
+ deltimer "a13";
+ addtimer 300000,"a13";
+ close;
+L_BrideRegister:
+ if ($name$ != strcharinfo(0)) goto L_NotBride;
+ if($groom$ == strcharinfo(0)) goto L_CantMarryYourself;
+ if($@progress != 1) goto L_GroomNotRegistered;
+ if(@register >= 1) goto L_AlreadyRegistered;
+ if((countitem(2338) > 0) || (countitem(7170) > 0) || (@outfit == 1)) goto L_BrideRegister2;
+ mes "[Marry Happy]";
+ if(sex == 1) mes "No problem sir, please fill out your name here.";
+ if(sex == 0) mes "No problem miss, please fill out your name here.";
+ mes "And I'll need to collect a 100,000z fee for your wedding fees and outfit.";
+ next;
+ if(zeny < @costbrideA) goto L_NeedZeny2;
+ mes "[Marry Happy]";
+ mes "Now You Must Insert The Your Groom's Name";
+ input $name2$;
+ if($name2$ != $groom$) goto L_WrongName;
+ set $bride$,strcharinfo(0);
+ set @register,1;
+ set zeny,zeny-@costbrideA;
+ set $@progress,2;
+ set event_wedding,1;
+ if(sex == 1) getitem 7170,1;
+ if(sex == 0) getitem 2338,1;
+ set @outfit,1;
+ deltimer "weddinglimit1";
+ addtimer 300000,"weddinglimit2";
+ next;
+ mes "[Marry Happy]";
+ mes "You are now registered "+strcharinfo(0)+", I wish you the best of luck with your wedding.";
+ areaannounce "prt_church.gat",0,0,350,350,strcharinfo(0)+" has registered for the wedding.",0;
+ next;
+ mes "Please hurry to the altar. We have to be ready for another wedding in 5 minutes.";
+ deltimer "a13";
+ addtimer 300000,"a13";
+ close;
+
+L_GroomRegister2:
+ mes "[Marry Happy]";
+ if(sex == 1) mes "No problem sir, please fill out your name here.";
+ if(sex == 0) mes "No problem mis, please fill out your name here.";
+ mes "And I'll need to collect a 60,000z fee for your wedding fees.";
+ next;
+ mes "[Marry Happy]";
+ mes "Now You Must Insert The Your Bride's Name";
+ input $name$;
+ next;
+ if(zeny < @costgroomB) goto L_NeedZeny3;
+ set $groom$,strcharinfo(0);
+ set @register,1;
+ set zeny,zeny-@costgroomB;
+ set $@progress,1;
+ mes "[Marry Happy]";
+ mes "You are now registered "+strcharinfo(0)+", I wish you the best of luck with your marriage.";
+ addtimer 300000,"weddinglimit1";
+ areaannounce "prt_church.gat",0,0,350,350,strcharinfo(0)+" has registered for the wedding.",0;
+ next;
+ mes "Please hurry to the altar. We have to be ready for another wedding in 5 minutes.";
+ deltimer "a13";
+ addtimer 300000,"a13";
+ close;
+L_BrideRegister2:
+ mes "[Marry Happy]";
+ if(sex == 1) mes "No problem sir, please fill out your name here.";
+ if(sex == 0) mes "No problem mis, please fill out your name here.";
+ mes "And I'll need to collect a 50,000z fee for your wedding fees.";
+ next;
+ if(zeny < @costbrideB) goto L_NeedZeny4;
+ mes "[Marry Happy]";
+ mes "Now You Must Insert The Your Groom's Name";
+ input $name2$;
+ if($name2$ != $groom$) goto L_WrongName;
+ set $bride$,strcharinfo(0);
+ set @register,1;
+ set zeny,zeny-@costbrideB;
+ set $@progress,2;
+ set event_wedding,1;
+ deltimer "weddinglimit1";
+ addtimer 300000,"weddinglimit2";
+ next;
+ mes "[Marry Happy]";
+ mes "You are now registered "+strcharinfo(0)+", I wish you the best of luck with your wedding.";
+ areaannounce "prt_church.gat",0,0,350,350,strcharinfo(0)+" has registered for the wedding.",0;
+ next;
+ mes "Please hurry to the altar. We have to be ready for another wedding in 5 minutes.";
+ deltimer "a13";
+ addtimer 300000,"a13";
+ close;
+
+L_NeedZeny1:
+ set @zleft,@costgroomA-zeny;
+ mes "[Marry Happy]";
+ mes "I'm terribly sorry, I am unable to register you. You seem to be "+@zleft+"z short.";
+ set @zleft,0;
+ close;
+L_NeedZeny2:
+ set @zleft,@costbrideA-zeny;
+ mes "[Marry Happy]";
+ mes "I'm terribly sorry, I am unable to register you. You seem to be "+@zleft+"z short.";
+ set @zleft,0;
+ close;
+L_NeedZeny3:
+ set @zleft,@costgroomB-zeny;
+ mes "[Marry Happy]";
+ mes "I'm terribly sorry, I am unable to register you. You seem to be "+@zleft+"z short.";
+ set @zleft,0;
+ close;
+L_NeedZeny4:
+ set @zleft,@costbrideB-zeny;
+ mes "[Marry Happy]";
+ mes "I'm terribly sorry, I am unable to register you. You seem to be "+@zleft+"z short.";
+ set @zleft,0;
+ close;
+L_AlreadyRegistered:
+ mes "[Marry Happy]";
+ mes "You can't register a second time silly.";
+ close;
+
+L_Bye:
+ mes "[Marry Happy]";
+ mes "Alrighty then, come back soon!";
+ close;
+
+L_InProgress:
+ mes "[Marry Happy]";
+ mes "I cannot accept registrations while a wedding is in progress, try again later.";
+ close;
+L_WrongName:
+ mes "[Marry Happy]";
+ mes "No one have registered with that name. Sorry.";
+ close;
+L_GroomNotRegistered:
+ mes "[Marry Happy]";
+ mes "The groom must register first in order to initiate the wedding.";
+ close;
+
+L_Married:
+ mes "[Marry Happy]";
+ mes "Hello again "+strcharinfo(0)+", I hope wish for the best of luck in your life.";
+ close;
+L_LiveSolo:
+ mes "[Marry Happy]";
+ mes "Well live a happy bachelors life";
+ close;
+L_NotBride:
+ mes "[Marry Happy]";
+ mes "You're not the bride";
+ close;
+L_YouCantMarryYourself:
+ mes "[Marry Happy]";
+ mes "What the hell you trying to do? Marry yourself?O_O";
+ close;
+}
+
+prt_church.gat,95,95,4 script Marry 71,{
+ mes "[Marry Sad]";
+ mes "Getting divorce can bring a lot of sorrow.";
+ mes "By any chance, you you want to get divorced?";
+ next;
+ menu "I came to get a divorce",L_FirstDivorce,"What do I need for a divorce",L_DivorceSystem;
+L_FirstDivorce:
+ if(divorce > 0) goto L_AlreadyDivorced;
+ mes "[Marry Sad]";
+ mes "So you came for a divorce, i have been divorced 2 times myself.";
+ mes "Life will continue whoever said you need a partner was wrong.";
+ mes "Dont forget that you and your partner must be online!";
+ next;
+ menu "Are you sure",-,"No i'm not ready",L_No;
+ mes "[Marry Sad]";
+ mes "You have made your choice,";
+ mes "now you must live with it.";
+ next;
+ mes "You have been divorced!";
+ set event_wedding,0;
+ set divorce,1;
+ set @register,0;
+ divorce;
+ close;
+L_AlreadyDivorced:
+ mes "[Marry Sad]";
+ mes "So you came for another divorce,wow you must be trying to find true love.";
+ mes "Dont worry about it, it's not you, it's their fault.";
+ next;
+ menu "Are you sure",-,"No i'm not ready",L_No;
+ mes "[Marry Sad]";
+ mes "You have made your choice,";
+ mes "now you must live with it.";
+ next;
+ mes "You have been divorced again!";
+ set event_wedding,0;
+ set divorce,2;
+ set @register,0;
+ divorce;
+ close;
+L_No:
+ mes "[Marry Sad]";
+ mes "You should always be sure about what step you take in life.";
+ close;
+L_DivorceSystem:
+ mes "[Marry Sad]";
+ mes "You just need to wish to not be married again and i will perform the divorce.";
+ mes "Both you and your partner must be online.";
+ close;
+}
+prt_church.gat,99,124,0 script weddinglimit1 -1,{
+ announce "The bride has not registered within the alotted time frame.",3;
+ announce "Your wedding has been cancelled.",3;
+ set $@progress,0;
+ set $groom$,"null";
+ set $name$,"null";
+ set $name2$,"null";
+ set @register,0;
+ deltimer "a1";
+ deltimer "a2";
+ deltimer "a3";
+ deltimer "a4";
+ deltimer "a5";
+ deltimer "a6";
+ deltimer "a7";
+ deltimer "a8";
+ deltimer "a9";
+ deltimer "a10";
+ deltimer "a11";
+ deltimer "a12";
+}
+
+prt_church.gat,99,124,0 script weddinglimit2 -1,{
+ announce "The groom has not begun the wedding ceremony by speaking to Tristan the Third.",3;
+ announce "Your wedding has been cancelled.",3;
+ set $@progress,0;
+ set $groom$,"null";
+ set $bride$,"null";
+ set $name$,"null";
+ set $name2$,"null";
+ set @register,0;
+ set event_wedding,0;
+ deltimer "a1";
+ deltimer "a2";
+ deltimer "a3";
+ deltimer "a4";
+ deltimer "a5";
+ deltimer "a6";
+ deltimer "a7";
+ deltimer "a8";
+ deltimer "a9";
+ deltimer "a10";
+ deltimer "a11";
+ deltimer "a12";
+}
+
+prt_church.gat,99,124,0 script a1 -1,{
+areaannounce "prt_church.gat",0,0,350,350,"Ladies and Gentlemen, We will now join in holy matrimony these two lovers.",0;
+}
+prt_church.gat,99,124,0 script a2 -1,{
+areaannounce "prt_church.gat",0,0,350,350,"Now more than ever, will both of your lives be entwined together as so will be your souls.",0;
+}
+prt_church.gat,99,124,0 script a3 -1,{
+areaannounce "prt_church.gat",0,0,350,350,"You will both honor and cherish each other through the best and worst of times.",0;
+}
+prt_church.gat,99,124,0 script a4 -1,{
+areaannounce "prt_church.gat",0,0,350,350,"The safety and well being of your other will now also be your responsibility.",0;
+}
+prt_church.gat,99,124,0 script a5 -1,{
+areaannounce "prt_church.gat",0,0,350,350,"May in sickness or good health, your love will burn bright as no force can extinguish it.",0;
+}
+prt_church.gat,99,124,0 script a6 -1,{
+areaannounce "prt_church.gat",0,0,350,350,"Those here stand witness to these vows bestowed upon you, you must act accordingly to them.",0;
+}
+prt_church.gat,99,124,0 script a7 -1,{
+areaannounce "prt_church.gat",0,0,350,350,"Understanding that, we are nothing more but mortals on this earth, but this is our triumph.",0;
+}
+prt_church.gat,99,124,0 script a8 -1,{
+areaannounce "prt_church.gat",0,0,350,350,"We here will now join these two mortal entities, and create an immortal love.",0;
+}
+prt_church.gat,99,124,0 script a9 -1,{
+areaannounce "prt_church.gat",0,0,350,350,$groom$+", do you you wish to take "+$bride$+" as your lawfully beloved wife?",0;
+}
+prt_church.gat,99,124,0 script a10 -1,{
+areaannounce "prt_church.gat",0,0,350,350,"And do you "+$bride$+", wish to take "+$groom$+" as your lawfully beloved husband?",0;
+}
+prt_church.gat,99,124,0 script a11 -1,{
+areaannounce "prt_church.gat",0,0,350,350,"And so be it, by the powers vested in me...",0;
+}
+prt_church.gat,99,124,0 script a12 -1,{
+areaannounce "prt_church.gat",0,0,350,350,"I pronouce you Husband and Wife, you may kiss the bride.",0;
+ wedding;
+ set $@progress,0;
+ set $groom$,"null";
+ set $bride$,"null";
+ set $name$,"null";
+ set $name2$,"null";
+}
+prt_church.gat,99,124,0 script a13 -1,{
+
+areaannounce "prt_church.gat",0,0,350,350,"The wedding has been cancelled.",0;
+ set $@progress,0;
+ set $groom$,"null";
+ set $bride$,"null";
+ set $name$,"null";
+ set $name2$,"null";
+ set @register,0;
+ set event_wedding,0;
+ set @get_ring,0;
+}
diff --git a/npc/other/old/weddingtxt.txt b/npc/other/old/weddingtxt.txt
new file mode 100644
index 000000000..2caea19d6
--- /dev/null
+++ b/npc/other/old/weddingtxt.txt
@@ -0,0 +1,277 @@
+//UNFINISHED! need to set names and give rings!
+//Made by AppleGirl and Evera/Lorri.
+//PROPERTY OF eATHENA! OTHER ATHENAS DON'T TOUCH THIS!
+//Note: permanent variables event_marriage. 0=nothing done yet 1=m registered 2=f registered 3=m before ring 4=f before ring 5=m married 6=f married
+
+prt_church.gat,99,125,8 script Tristan the Third 108,{
+mes "[Thristan the Third]";
+if(event_marriage == 0) goto Lreg;
+if(event_marriage == 1) goto Lmale;
+if(event_marriage == 2) goto Lfemale;
+if(event_marriage == 3) && (countitem(2634)<1) || (event_marriage == 3) && (getequipname(136) == 2634) goto Lmcere;
+if(event_marriage == 4) && (countitem(2635)<1) || (event_marriage == 4) && (getequipname(136) == 2635) goto Lfcere;
+if(event_marriage >= 5) goto Lhappy;
+//else goto Lhappy;
+//if(even
+Lreg:
+mes "If you wish to get married you must first register";
+Lmale:
+if (getequipname(16) == 7170) goto Lmale2;
+if (getequipname(16) != 7170) goto Lmale3;
+mes "OmG1! H4X0Rz!1";
+close;
+Lmale2:
+if (zeny >= 30000) goto Lmale4;
+if (zeny <= 29999) goto Lmale3;
+mes "OmG1! H4X0Rz!1";
+close;
+//NOTE! Triggers to save/respond names aren't done!
+Lmale4:
+ mes "Hello, how are you doing this wonderful day? Ah. I see you've registered to marry";
+ mes "Do you wish to marry?";
+menu
+"yes",Lmyes,"No",Lcancel;
+Lmyes:
+//enable for input; can't be done with current script.c
+// mes"What is your bride's name?";
+// input @namemale;
+ next;
+ mes "I will now collect your ^FF00FFmoney^000000.";
+ set Zeny, Zeny-30000;
+ next;
+//enable for input; can't be done with current script.c
+// input @namemale;
+ mes "Here is the ring. Please put it on your bride's hand";
+ mes "By the holy power invested in me..";
+ mes "I now pronounce you husband and wife!";
+ mes "you may now kiss the bride.";
+ emotion 46;
+//enable for setvariable
+ set event_marriage,3;
+ getitem 2634,1;
+ close;
+Lmale3:
+ mes "Hm, have you forgotten to bring your ^FF00FFTuxedo^000000 or ^FF00FFmoney^000000?";
+ mes "Have a good look for it.";
+ mes "Because you must bring it in order to get married.";
+ mes "If you have it right now, please show me";
+close;
+Lfemale:
+if (zeny >= 20000) goto Lfemale4;
+if (zeny <= 19999) goto Lfemale3;
+mes "OmG1! H4X0Rz!1";
+close;
+Lfemale4:
+ mes "Hello, how are you doing this wonderful day? Ah. I see you've registered to marry";
+ mes "Do you wish to marry?";
+menu
+"yes",Lfyes,"No",Lcancel;
+Lfyes:
+//enable for input; can't be done with current script.c
+// mes "What is your groom's name?";
+// input @namefemale;
+ next;
+ mes "I will now collect your ^FF00FFmoney^000000.";
+ set Zeny, Zeny-20000;
+ next;
+//enable for input; can't be done with current script.c
+ input @namefemale;
+ mes "Here is the ring. Please put it on your groom's hand";
+ mes "By the holy power invested in me..";
+ mes "I now pronounce you husband and wife!";
+//enable for setvariable
+ set event_marriage,4;
+ getitem 2635,1;
+ close;
+Lfemale3:
+ mes "Hm, have you forgotten to bring your ^FF00FFWedding Veil^000000, ^FF00FFWedding Dress^000000, or ^FF00FFMoney^000000?";
+ mes "Have a good look for it.";
+ mes "Because you must bring it in order to get married.";
+ mes "If you have it right now, please show me";
+close;
+Lmcere:
+ mes "By the holy power invested in me..";
+ mes "I now pronounce you husband and wife!";
+ mes "you may now kiss the bride.";
+ emotion 46;
+ set event_marriage,5;
+close;
+Lfcere:
+
+ mes "By the holy power invested in me..";
+ mes "I now pronounce you husband and wife!";
+ emotion 46;
+ set event_marriage,6;
+close;
+Lhappy:
+mes "I hope your marriage is happy and successful!";
+close;
+Lcancel:
+mes "A true pity. I hope to see you another time.";
+close;
+}
+prt_church.gat,95,100,3 script Mary 71,{
+mes "[Mary Happy]";
+if(event_marriage == 0) goto Lstart;
+if(event_marriage != 0) goto Lhappy;
+mes "OmG1! H4X0Rz!1";
+close;
+Lstart:
+mes "Getting married bring a lot of joy.";
+mes "By any chance, you you want to get engaged with someone?";
+next;
+menu "Explain the principles of Marrige",Lprinciples,"How does the marrige system work.",Lsystem,"I want to get married with someone.",Lmarried,"I live solo forever!",Lsolo;
+
+Lprinciples:
+ mes "[Mary Happy]";
+ mes "His Majesty King Tristan III of the Rune Midgard Kingdom will be officiating this wedding, with the intent of blessing all the people through his noble message.";
+ next;
+ mes "[Mary Happy]";
+ mes "Although His Majesty has a rather busy agenda, for the sake of newly married couples, he has personally come here, to the Prontera Church.";
+ mes "It is the favor of our King that everyone would live happily ever after.";
+ next;
+ mes "[Mary Happy]";
+ mes "The proposal must be done with prudence and courtesy.";
+ mes "Once the wedlocks have been made, they cannot be undone.";
+ mes "The two who are united in marriage must be with the other forever until the day they leave this world.";
+ next;
+ mes "[Mary Happy]";
+ mes "Also, males only with females, and females only with males can be wed. Although there may be those who desire a homosexual or bestial marriage... it is not approved.";
+ next;
+ mes "[Mary Happy]";
+ mes "If there is a significant other whom you want to spend the rest of your life with, then don't be shy to propose.";
+ mes "Wishing for many blessings upon couples who wish to live happily ever after..";
+ close;
+Lsystem:
+ mes "[Mary Happy]";
+ mes "First make sure both players a registered to get married.";
+ mes "Obviously, you must know each other to get married?";
+ mes "If both have registered, and you must be on the same party.";
+ mes "Then talk to Thristan the Third.";
+ next;
+ mes "[Mary Happy]";
+ mes "You must go to Thristan the Third,";
+ mes "and the male must talk to him first.";
+ mes "And you must tell him the girl";
+ mes "you wish to get married with.";
+ mes "Be sure to tell him exactly who you want to marry.";
+ next;
+ mes "[Mary Happy]";
+ mes "After the male has spoken, next the female must talk.";
+ mes "Then when both of you have spoken each others names,";
+ mes "Thristan the third will read out both of your names.";
+ next;
+ mes "[Mary Happy]";
+ mes "After you have got married,";
+ mes "you will both recive a ring of marrige.";
+ mes "And as soon as both of you wear these rings,";
+ mes "you will be forever married with each other.";
+ mes "You can also be refused of a lasting marrige.";
+ mes "But, dont be sad.";
+ next;
+ mes "[Mary Happy]";
+ mes "If there are many people that wish to get married,";
+ mes "So please keep to the order you register.";
+ mes "Thristan does not do multiple marriges at once.";
+ mes "He will only see one couple at a time.";
+ next;
+ mes "[Mary Happy]";
+ mes "Lastly, you must put forth your name quickly";
+ mes "to Thristan the third.";
+ mes "After the male has said yes to marrage ";
+ mes "the female has 3 minutes to reply.";
+ mes "Or you shall forever never be able";
+ mes "to get married.";
+ next;
+ mes "[Mary Happy]";
+ mes "An easy way to write down the each others name,";
+ mes "Send a message to each other";
+ mes "then in the private message window press up";
+ next;
+//o_O who removed this part? we use a diff system now
+// mes "[Mary Happy]";
+// mes "Then it will show the other persons name.";
+// mes "If you press ctrl + C that name will be saved.";
+// mes "Next time you need that name";
+// mes "you can press shift + insert.";
+// mes "Then you will get that name quickly and easily.";
+// next;
+// mes "[Mary Happy]";
+// mes "You should have a go at using this method.";
+// mes "Remeber, Press ctrl + C to save that name.";
+// next;
+// input @nametest;
+ mes "[Mary Happy]";
+ mes "Hopefully you will remember this method.";
+ mes "If you ever decide to get married.";
+ mes "Remember to register.";
+Lmarried:
+ mes "[Mary Happy]";
+ mes "If you wish to get married you must first register.";
+ mes "Male is ^FF00FF30,000^000000 zeny and female is ^FF00FF20,000^000000 zeny";
+ mes "Both male and female must have registered,";
+ mes "and both must have paid fees,";
+ mes "and the female must have a wedding veil.";
+ next;
+ mes "[Mary Happy]";
+ mes "If both people have paid and meet recquirements";
+ mes "you are able to get married strait away.";
+ mes "Do you wish to register to get married?";
+ menu "Yes",LYes,"No",LNo;
+LYes:
+//add check for sex and if veil and tuxedo and wedding dress
+if (Sex == 1) goto Lmale;
+if (Sex == 0) goto Lfemale;
+Lmale:
+if (getequipname(16) == 7170) goto Lmale2;
+if (getequipname(16) != 7170) goto Lmale3;
+mes "[Mary Happy]";
+mes "OmG1! H4X0Rz!1";
+close;
+Lmale2:
+if (zeny >= 30000) goto Lmale4;
+if (zeny <= 29999) goto Lmale3;
+mes "[Mary Happy]";
+mes "OmG1! H4X0Rz!1";
+close;
+Lmale4:
+ set event_marriage,1;
+ mes "[Mary Happy]";
+ mes "You are now registered =) go talk to his majesty, King Tristan III for your marriage.";
+close;
+Lmale3:
+ mes "[Mary Happy]";
+ mes "Hm, have you forgotten to bring your ^FF00FFTuxedo^000000 or ^FF00FFmoney^000000?";
+ mes "Have a good look for it.";
+ mes "Because you must bring it in order to get married.";
+ mes "If you have it right now, please show me";
+close;
+
+Lfemale:
+if (getequipname(16) == 2338) && (getequipname(256) == 2206) goto Lfemale2;
+if (getequipname(16) != 2338) || (getequipname(256) == 2206) goto Lfemale3;
+mes "[Mary Happy]";
+mes "OmG1! H4X0Rz!1";
+Lfemale2:
+if (zeny >= 20000) goto Lfemale4;
+if (zeny <= 19999) goto Lfemale3;
+mes "[Mary Happy]";
+mes "OmG1! H4X0Rz!1";
+Lfemale4:
+ set event_marriage,2;
+ mes "[Mary Happy]";
+ mes "You are now registered =) go talk to his majesty, King Tristan III for your marriage.";
+Lfemale3:
+ mes "[Mary Happy]";
+ mes "Hm, have you forgotten to bring your ^FF00FFWedding Veil^000000, ^FF00FFWedding Dress^000000, or ^FF00FFMoney^000000?";
+ mes "Have a good look for it.";
+ mes "Because you must bring it in order to get married.";
+ mes "If you have it right now, please show me";
+close;
+LNo:
+ mes "I hope you have a wonderful day!";
+close;
+Lhappy:
+ mes "I hope your marriage is happy and successful!";
+close;
+} \ No newline at end of file
diff --git a/npc/other/pvp.txt b/npc/other/pvp.txt
new file mode 100644
index 000000000..9320121d6
--- /dev/null
+++ b/npc/other/pvp.txt
@@ -0,0 +1,414 @@
+//===== eAthena Script =======================================
+//= PvP
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.2a
+//===== Compatible With: =====================================
+//= eAthena 0.5.2 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= v1.1 Fixed arena names for Nightmare mode. Added room limit
+//= check.[kobra_k88]
+//= v1.2 Fixed the bug that you aways savepoint in geffen.[shadowlady]
+//= v1.2a Added PvP Narrator function. Using args for Fight
+//= Square Helpers. [kobra_k88]
+//============================================================
+
+
+//==========================================================================
+// PvP Narrators
+//==========================================================================
+
+// Alberta -----------------------------------------
+alberta_in.gat,22,146,4 script PvP Narrator#1 84,{
+ callfunc "F_PvPNarr", "alberta_in.gat", 24, 143;
+ end;
+}
+// Payon -------------------------------------
+payon_in01.gat,173,109,3 script PvP Narrator#2 84,{
+ callfunc "F_PvPNarr", "payon_in01.gat", 169, 108;
+ end;
+}
+// Prontera -------------------------------------
+prt_in.gat,56,140,4 script PvP Narrator#3 84,{
+ callfunc "F_PvPNarr", "prt_in.gat", 54, 137;
+ end;
+}
+// Morocc --------------------------------------
+morocc_in.gat,144,138,4 script PvP Narrator#4 84,{
+ callfunc "F_PvPNarr", "morocc_in.gat", 141, 140;
+ end;
+}
+// Geffen --------------------------------------
+geffen_in.gat, 67,63,4 script PvP Narrator#5 84,{
+ callfunc "F_PvPNarr", "geffen_in.gat", 64, 60;
+ end;
+}
+
+//******************************************************//
+// Function: PvP Narrator
+//******************************************************//
+// arg(0): mapname
+// arg(1): savepoint x cord.
+// arg(2): savepoint y cord.
+//=============================
+function script F_PvPNarr {
+ mes "[PvP Narrator]";
+ mes "Hello and welcome! I am in charge of explaining the PvP mode to all of those who inquire. I am the PvP Narrator!";
+ M_Menu:
+ next;
+ menu "What is PvP?",M_0, "What are the PvP modes?",M_1, "What are the rules for PvP?",M_2, "Save position.",M_3;
+
+ M_0:
+ mes "[PvP Narrator]";
+ mes "PvP is short for 'Player versus Player'! It is a unique play mode that allows players to duel other players!";
+ next;
+ mes "[PvP Narrator]";
+ mes "If you're interested just speak with the ^5533FFGate Keeper'^000000. He will let you into the PvP square.";
+ next;
+ mes "[PvP Narrator]";
+ mes "That IS, IF you have at least a base level of 31 and you have 500 zeny to pay for the enterance fee.";
+ mes "Those are the requirements to participate in PvP.";
+ goto M_Menu;
+ M_1:
+ mes "[PvP Narrator]";
+ mes "There are 2 PvP modes to choose from.";
+ mes "One is called ^5533FF'Yoyo'^000000 Mode and the other is called ^5533FF'Nightmare'^000000 Mode.";
+ next;
+ mes "[PvP Narrator]";
+ mes "Yoyo mode essentially lets you play risk free. You can experience the thrill of PvP without any restrictions or penalties.";
+ mes "It is recomended that you practice your skills in this mode before you move on.";
+ next;
+ mes "[PvP Narrator]";
+ mes "Nightmare Mode is very dangerous! Please use caution when trying this mode of play.";
+ mes "You will lose some of your real EXP if you are defeated. There is also the small chance that you will drop some items and equipment.";
+ next;
+ mes "[PvP Narrator]";
+ mes "Of course if you win, the rewards can be great!! Even so you should really think twice before you attempt Nightmare Mode.";
+ mes "Anyways, good luck.";
+ goto M_Menu;
+ M_2:
+ mes "[PvP Narrator]";
+ mes "Before you enter any actual PvP areana, you must first choose your level of ability based on your base level.";
+ mes "You will do this in the pre-fight room. There will be a row of narrators, each one representing a set of player levels.";
+ next;
+ mes "[PvP Narrator]";
+ mes "Speak to the narrator that represents your base level. You will then be asked to choose from five different fight maps.";
+ mes "You will be able to see how many people are currently participating in any given map.";
+ next;
+ mes "[PvP Narrator]";
+ mes "This will be represented by the 'Attendee/Total' figure in the corner of the screen. There is a limit to how many can play on a map.";
+ mes "There is a hidden EXP value in PvP mode. This EXP will only apply inside of the PvP zone and not outside.";
+ next;
+ mes "[PvP Narrator]";
+ mes "Every one will recieve a base EXP of 5 points when they first start. If you win a match your EXP with increase by 1 point.";
+ mes "If you loose your EXP will drop by 5 points, so be carefull!";
+ next;
+ mes "[PvP Narrator]";
+ mes "If you are defeated and your EXP is equal to or less than 0, you will be removed from the PvP arena.";
+ mes "If your EXP is more than 0 than you may continue fighting and even get help from healers.";
+ next;
+ mes "[PvP Narrator]";
+ mes "The fighting commands inside of PvP are the same as outside. Just remember that you won't be able to save inside a PvP arena.";
+ next;
+ mes "[PvP Narrator]";
+ mes "Remember these rules well as they can help to ensure your victory.";
+ goto M_Menu;
+ M_3:
+ savepoint getarg(0), getarg(1), getarg(2);
+ mes "[PvP Narrator]";
+ mes "Your position has been saved.";
+ close;
+}
+
+
+//==========================================================================
+// Gate Keepers
+//==========================================================================
+
+// Alberta -----------------------------------
+alberta_in.gat, 26,146,4 script Gate Keeper#1::GateKeep 83,{
+ mes "[Gate Keeper]";
+ mes "Hi. I'm glad to be of service. I will open the PvP fight square for you!";
+ mes "If you have any questions about the PvP modes or rules, please ask the Narrator.....";
+ next;
+ menu "^5533FF'PvP Yoyo Mode'^000000 Fight Square.",M_0,
+ "^FF5533'PvP Nightmare Mode'^000000 Fight Square.",M_1,
+ "^5533FF'PvP Duel (Fighting) Mode'^000000 Combat Square.",M_2, "End Conversation.",M_End;
+ M_0:
+ set @mode$, "Yoyo";
+ set @players1, 128;
+ set @players2, 128;
+ set @room1$, "Prontera";
+ set @room2$, "Izlude";
+ set @room3$, "Payon";
+ set @room4$, "Alberta";
+ set @room5$, "Morroc";
+ callsub sF_Move;
+ warp "pvp_y_room.gat", 51, 23;
+ end;
+ M_1:
+ set @mode$, "Nightmare";
+ set @players1, 64;
+ set @players2, 32;
+ set @room1$, "Sandwhich Arena";
+ set @room2$, "Rock Arena";
+ set @room3$, "Four Arena";
+ set @room4$, "UnderCross Arena";
+ set @room5$, "Copass Arena";
+ callsub sF_Move;
+ warp "pvp_n_room.gat", 51, 23;
+ end;
+ M_2:
+
+ mes "[Gate Keeper]";
+ mes "To enter the Duel (Fighting) Mode square you must have an admission ticket. Do you have one?";
+ next;
+ menu "Yes I do.",-, "No I don't.",sM_1;
+
+ if(countitem(7029) < 1) goto sM_1;
+ delitem 7029, 1;
+ set @mode$, "Fighting";
+ callsub sF_Move;
+ warp "pvp_y_room.gat", 51, 23;
+ end;
+
+ sM_1:
+ mes "[Gate Keeper]";
+ mes "Eh? You don't have one? I'm sorry but this fight square is only for people who have admission or viewing tickets.";
+ mes "You cannot come in without one.";
+ close;
+ M_End:
+ mes "[Gate Keeper]";
+ mes "In this war between Monsters and Humans this competition between people, PvP, encourages all of us to become stronger.";
+ mes "Come again anytime. We welcome your challenge!";
+ close;
+
+sF_Move:
+ mes "[Gate Keeper]";
+ mes "The admission fee is 500 Zeny. Do you want to move to the "+@mode$+" fight square?";
+ next;
+ menu "Yes",-, "No",M_End;
+
+ if(BaseLevel < 31) goto sL_LowLvl;
+ if(Zeny < 500) goto sL_NdZeny;
+ set Zeny, Zeny - 500;
+ mes "[Gate Keeper]";
+ mes "Prepare to be warped to the arena.....";
+ next;
+ return;
+
+ sL_LowLvl:
+ mes "[Gate Keeper]";
+ mes "In order to participate in PvP you must have a base level of at least ^FF4444'31'^000000.";
+ close;
+ sL_NdZeny:
+ mes "[Gate Keeper]";
+ mes "As I stated, the admission fee is ^FF4444'500'^000000 Zeny. You seem to be short on Zeny.";
+ close;
+}
+
+// Geffen --------------------------------------------
+geffen_in.gat, 63,63,4 duplicate(GateKeep) Gate Keeper#2 83
+// Morroc----------------------------------------------
+morocc_in.gat, 144,142,4 duplicate(GateKeep) Gate Keeper#3 83
+// Payon ----------------------------------------------
+payon_in01.gat,175,106,3 duplicate(GateKeep) Gate Keeper#4 83
+// Prontera -------------------------------------------
+prt_in.gat,52,140,4 duplicate(GateKeep) Gate Keeper#5 83
+
+
+
+//==========================================================================//
+// PvP Yoyo Mode Fight Square Helpers
+//==========================================================================//
+
+// LV31 ~ 40 ---------------------------------
+pvp_y_room.gat,30,85,4 script Fight Square Helper::YHelper1 105,{
+ callfunc "F_PvPRoom", "y_1", 31, 40;
+OnInit:
+ waitingroom "LV31 ~ LV40",0;
+ end;
+}
+
+// LV41 ~ 50 --------------------------------
+pvp_y_room.gat,38,85,4 script Fight Square Helper::YHelper2 105,{
+ callfunc "F_PvPRoom", "y_2", 41, 50;
+OnInit:
+ waitingroom "LV41 ~ LV50",0;
+ end;
+}
+
+// LV51 ~ 60 ---------------------------------
+pvp_y_room.gat,46,85,4 script Fight Square Helper::YHelper3 105,{
+ callfunc "F_PvPRoom", "y_3", 51, 60;
+OnInit:
+ waitingroom "LV51 ~ LV60", 0;
+ end;
+}
+
+// LV61 ~ 70 ------------------------------------
+pvp_y_room.gat,54,85,4 script Fight Square Helper::YHelper4 105,{
+ callfunc "F_PvPRoom", "y_4", 61, 70;
+OnInit:
+ waitingroom "LV61 ~ LV70", 0;
+ end;
+}
+
+// LV71 ~ 80 ------------------------------------
+pvp_y_room.gat,62,85,4 script Fight Square Helper::YHelper5 105,{
+ callfunc "F_PvPRoom", "y_5", 71, 80;
+OnInit:
+ waitingroom "LV71 ~ LV80", 0;
+ end;
+}
+
+// LV81 ~ 90 --------------------------------------
+pvp_y_room.gat,70,85,4 script Fight Square Helper::YHelper6 105,{
+ callfunc "F_PvPRoom", "y_6", 81, 90;
+OnInit:
+ waitingroom "LV81 ~ LV90", 0;
+ end;
+}
+
+// LV91 ~ --------------------------------------------
+pvp_y_room.gat,78,85,4 script Fight Square Helper::YHelper7 105,{
+ callfunc "F_PvPRoom", "y_7", 91, 255;
+OnInit:
+ waitingroom "LV91 ~ ", 0;
+ end;
+}
+
+// No Limit -----------------------------------------
+pvp_y_room.gat,86,85,4 script Fight Square Helper::YHelper8 105,{
+ callfunc "F_PvPRoom", "y_8", 0, 255;
+OnInit:
+ waitingroom "No Limit", 0;
+ end;
+}
+
+
+//==========================================================================//
+// PvP Nightmare Mode Fight Square Helpers
+//==========================================================================//
+// LV31 ~ 40 -------------------------------------
+pvp_n_room.gat,30,85,4 script Fight Square Helper#N1 105,{
+ callfunc "F_PvPRoom", "n_1", 31, 40;
+OnInit:
+ waitingroom "LV31 ~ LV40",0;
+ end;
+}
+
+// LV41 ~ 50 --------------------------------------
+pvp_n_room.gat,38,85,4 script Fight Square Helper#N2 105,{
+ callfunc "F_PvPRoom", "n_2", 41, 50;
+OnInit:
+ waitingroom "LV41 ~ LV50",0;
+ end;
+}
+
+// LV51 ~ 60 -------------------------------------
+pvp_n_room.gat,46,85,4 script Fight Square Helper#N3 105,{
+ callfunc "F_PvPRoom", "n_3", 51, 60;
+OnInit:
+ waitingroom "LV51 ~ LV60", 0;
+ end;
+}
+
+// LV61 ~ 70 ------------------------------------
+pvp_n_room.gat,54,85,4 script Fight Square Helper#N4 105,{
+ callfunc "F_PvPRoom", "n_4", 61, 70;
+OnInit:
+ waitingroom "LV61 ~ LV70", 0;
+ end;
+}
+
+// LV71 ~ 80 -----------------------------------
+pvp_n_room.gat,62,85,4 script Fight Square Helper#N5 105,{
+ callfunc "F_PvPRoom", "n_5", 71, 80;
+OnInit:
+ waitingroom "LV71 ~ LV80", 0;
+ end;
+}
+
+// LV81 ~ 90 ------------------------------------
+pvp_n_room.gat,70,85,4 script Fight Square Helper#N6 105,{
+ callfunc "F_PvPRoom", "n_6", 81, 90;
+OnInit:
+ waitingroom "LV81 ~ LV90", 0;
+ end;
+}
+
+// LV91 ~ ---------------------------------------
+pvp_n_room.gat,78,85,4 script Fight Square Helper#N7 105,{
+ callfunc "F_PvPRoom", "n_7", 91, 255;
+OnInit:
+ waitingroom "LV91 ~ ", 0;
+ end;
+}
+
+// No Limit ----------------------------------
+pvp_n_room.gat,86,85,4 script Fight Square Helper#N8 105,{
+ callfunc "F_PvPRoom", "n_8", 0, 255;
+OnInit:
+ waitingroom "No Limit", 0;
+ end;
+}
+
+
+//***************************************************************//
+// Function: PvP Fight Square Helper
+//***************************************************************//
+// arg(0): pvp room name
+// arg(1): minimum base lvl to enter arena
+// arg(2): maximum base lvl allowed to enter arena
+//===============================================
+function script F_PvPRoom {
+
+ mes "[Fight Square Helper]";
+ if(BaseLevel < getarg(1)) goto L_LowLvl;
+ if(BaseLevel > getarg(2)) goto L_HiLvl;
+ mes "Please choose an arena to fight in...";
+ M_Menu:
+ next;
+ menu @room1$ + " [" + getmapusers("pvp_" + getarg(0) + "-1.gat") + "/" +@players1+ "]",M_Rm1,
+ @room2$ + " [" + getmapusers("pvp_" + getarg(0) + "-2.gat") + "/" +@players2+ "]",M_Rm2,
+ @room3$ + " [" + getmapusers("pvp_" + getarg(0) + "-3.gat") + "/" +@players2+ "]",M_Rm3,
+ @room4$ + " [" + getmapusers("pvp_" + getarg(0) + "-4.gat") + "/" +@players2+ "]",M_Rm4,
+ @room5$ + " [" + getmapusers("pvp_" + getarg(0) + "-5.gat") + "/" +@players2+ "]",M_Rm5, "Cancel",M_End;
+ M_Rm1:
+ if (getmapusers("pvp_" + getarg(0) + "-1.gat") == @players1) goto L_Full;
+ warp "pvp_" + getarg(0) + "-1.gat",0,0;
+ end;
+ M_Rm2:
+ if (getmapusers("pvp_" + getarg(0) + "-2.gat") == @players2) goto L_Full;
+ warp "pvp_" + getarg(0) + "-2.gat",0,0;
+ end;
+ M_Rm3:
+ if (getmapusers("pvp_" + getarg(0) + "-3.gat") == @players2) goto L_Full;
+ warp "pvp_" + getarg(0) + "-3.gat",0,0;
+ end;
+ M_Rm4:
+ if (getmapusers("pvp_" + getarg(0) + "-4.gat") == @players2) goto L_Full;
+ warp "pvp_" + getarg(0) + "-4.gat",0,0;
+ end;
+ M_Rm5:
+ if (getmapusers("pvp_" + getarg(0) + "-5.gat") == @players2) goto L_Full;
+ warp "pvp_" + getarg(0) + "-5.gat",0,0;
+ end;
+ M_End:
+ close;
+
+ L_LowLvl:
+ mes "I'm sorry but you do not meet the Base Level requirements to enter. Please try a lower level room.";
+ close;
+ L_HiLvl:
+ mes "I'm sorry but you exceed the Base Level requirements to enter. Please try a higher level room.";
+ close;
+ L_Full:
+ mes "[Fight Square Helper]";
+ mes "I'm sorry but this arena is full. Please choose another one to participate in....";
+ goto M_Menu;
+}
diff --git a/npc/quests/Lvl4_weapon_quest.txt b/npc/quests/Lvl4_weapon_quest.txt
new file mode 100644
index 000000000..ce2af0856
--- /dev/null
+++ b/npc/quests/Lvl4_weapon_quest.txt
@@ -0,0 +1,3614 @@
+//===== eAthena Script =======================================
+//= Grade A and Grade S weapon quests
+//===== By: ==================================================
+//= Vicious_Pucca, Reddozen & MasterOfMuppets
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena SVN 3422+(Requires jA Script System)
+//===== Description: =========================================
+//= Grade A and Grade S weapon quests
+//===== Additional Comments: =================================
+//= 1.0 First Version, Credits goes to Vicious_Pucca for converting [MasterOfMuppets]
+//= the quest from aegis format to eA format. Also thanks to
+//= reddozen for fixing bugs.
+//= 1.1 Many fixes to spelling, grammar, and sentence order. [Silent]
+//= 1.2 A small fix, thanks to vicious_pucca [MasterOfMuppets]
+//============================================================
+
+//---------------------------------------------------------------
+// Initialize the basic materials for easier reading/conversion
+//---------------------------------------------------------------
+
+- script lv4_weapon_init -1,{
+OnInit:
+ set $@LV4_Citrine, 7295; // 7295,Citrine
+ set $@LV4_Turquoise, 7294; // 7294,Turquoise
+ set $@LV4_Agate, 7291; // 7291,Agate
+
+ set $@LV4_Muscovite, 7292; // 7292,Muscovite
+ set $@LV4_Biotite, 7297; // 7297,Biotite
+ set $@LV4_Pyroxene, 7296; // 7296,Pyroxene
+
+ set $@LV4_Phlogopite, 7290; // 7290,Phlogopite
+ set $@LV4_Olivine, 7289; // 7289,Peridot
+ set $@LV4_Rose_Quartz, 7293; // 7293,Rose_Quartz
+
+ set $@LV4_Gold, 969; // 969,Gold
+ set $@LV4_Steel, 999; // 999,Steel
+ set $@LV4_Emperium, 714; // 714,Emperium
+ set $@LV4_Hammer_Of_Blacksmith, 1005; // 1005,Hammer_of_Blacksmith
+ set $@LV4_Emperium_Anvil, 989; // 989,Emperium_Anvil
+ set $@LV4_Illusion_Flower, 710; // 710,Illusion_Flower
+ end;
+}
+
+//---------------------------------------------------------------
+// Bazo, creates Immaterial Sword, Quadrille and Slash
+//---------------------------------------------------------------
+
+umbala.gat,117,285,3 script Bazo 85,{
+ set @NowWeight, MaxWeight - Weight;
+ if (@NowWeight >= 3000) goto LV4_NOT_OW;
+ mes "- Wait a minute! -";
+ mes "- Currently you are overweight. -";
+ mes "- Please lighten your weight -";
+ mes "- and try again. -";
+ close;
+
+
+LV4_NOT_OW:
+ if(lv4_weapon == 0) goto LV4_0;
+ if(lv4_weapon == 1) goto LV4_1;
+ if(lv4_weapon == 2) goto LV4_2;
+ if(lv4_weapon == 3) goto LV4_2;
+ if(lv4_weapon == 4) goto LV4_2;
+ if(lv4_weapon == 5) goto LV4_5;
+ if(lv4_weapon == 6) goto LV4_5;
+ if(lv4_weapon == 7) goto LV4_5;
+ if(lv4_weapon > 7) goto LV4_7;
+ end; // shouldn't be here
+
+
+LV4_0:
+ mes "[Bazo]";
+ mes "Hello, you are from outside, huh?";
+ mes "I can tell by your appearance.";
+ mes "Pleased to meet you. My name is Bazo Heburiech.";
+ mes "I am also from outside.";
+ next;
+ mes "[Bazo]";
+ mes "We must have been meant to meet each other.";
+ mes "If you don't mind, let me explain about this place for a while.";
+ mes "Umbala is adjacent to Nifflheim, the city of the dead.";
+ mes "Even at a first sight, I knew that";
+ mes "there is something about this village.";
+ next;
+ mes "[Bazo]";
+ mes "Due to that geographical trait,";
+ mes "this village was filled with evil power";
+ mes "that was influenced by the city of the dead.";
+ next;
+ mes "[Bazo]";
+ mes "The local people have learned";
+ mes "to manipulate the evil power for";
+ mes "producing specialties.";
+ next;
+ mes "[Bazo]";
+ mes "While staying here, I also have learned";
+ mes "some recipes. If you bring me materials,";
+ mes "I am willing to show you my skills.";
+ mes "How does that sound?";
+ next;
+
+ switch( select( "Sounds good.", "No, thanks." ) ) {
+ case 1:
+ if(BaseLevel >= 70) goto L4_0_1;
+
+ mes "[Bazo]";
+ mes "Err...I don't think that you are powerful";
+ mes "enough to handle my products.";
+ mes "They are charged with evil power.";
+ next;
+ mes "That means if their owners are not powerful";
+ mes "and not experienced enough,";
+ mes "they will drive the owners insane.";
+ mes "And I cannot do that to my friend.";
+ next;
+ mes "[Bazo]";
+ mes "Therefore, I want you to go back and level up first.";
+ mes "I will gladly expect you to come back when you are ready.";
+ break;
+L4_0_1:
+ mes "[Bazo]";
+ mes "Excellent! Let me tell you";
+ mes "the materials I need. I hope you will write them down.";
+ mes "There is not that many though.";
+ next;
+ mes "[Bazo]";
+ mes "I need 10 Gold, 50 Steel and 10 Emperium";
+ mes "as basic materials...";
+ mes "and you can enchant the product with a certain trait.";
+ mes "For that, I need some rare ores...";
+ next;
+ mes "[Bazo]";
+ mes "Please bring me 30 of either Citrin, Turquoise or Agate.";
+ mes "Each one of them possess their own attribute";
+ mes "and following by the ore you have brought,";
+ mes "my product will possess a special trait.";
+ next;
+ mes "[Bazo]";
+ mes "I wish you good luck...";
+ mes "I will wait for you!";
+
+ set lv4_weapon, 1;
+ break;
+ case 2:
+ mes "[Bazo]";
+ mes "Oh, okay. That is fine with me.";
+ mes "By the way, don't you want to know how evil the city of the dead will be?";
+ mes "I do since that city influences so much of this village";
+ mes "with it's mysterious power, you know.";
+ break;
+ }
+ close;
+
+
+
+//--------------------------------------------------
+//Gold, Steel, Emp Check + Choosing the gem
+//--------------------------------------------------
+LV4_1:
+ if(countitem($@LV4_Gold) < 10) goto LV4_1_FAIL;
+ if(countitem($@LV4_Steel) < 50) goto LV4_1_FAIL;
+ if(countitem($@LV4_Emperium) < 10) goto LV4_1_FAIL;
+
+ mes "[Bazo]";
+ mes "Oh...you have brought all the basic materials.";
+ mes "Now let me check what kind of rare ores";
+ mes "you have brought...";
+ next;
+
+ if (countitem($@LV4_Citrine) >= 30 && countitem($@LV4_Turquoise) >= 30 && countitem($@LV4_Agate) >= 30) goto LV4_1_CTA;
+ if (countitem($@LV4_Citrine) >= 30 && countitem($@LV4_Turquoise) >= 30) goto LV4_1_CT;
+ if (countitem($@LV4_Citrine) >= 30 && countitem($@LV4_Agate) >= 30) goto LV4_1_CA;
+ if (countitem($@LV4_Turquoise) >= 30 && countitem($@LV4_Agate) >= 30) goto LV4_1_TA;
+ if (countitem($@LV4_Citrine) >= 30) goto LV4_1_C;
+ if (countitem($@LV4_Turquoise) >= 30) goto LV4_1_T;
+ if (countitem($@LV4_Agate) >= 30) goto LV4_1_A;
+ goto LV4_1_NOGEM;
+ end;
+
+
+LV4_1_CTA:
+ mes "[Bazo]";
+ mes "Hahaha, I asked you to bring one kind not all of them.";
+ mes "You can only use one kind of ore.";
+ mes "Which one would you like to use?";
+ next;
+
+ switch( select( "Citrine", "Turquoise", "Agate" ) ) {
+ case 1:
+ mes "[Bazo]";
+ mes "Citrin...okay. Before we start,";
+ set @gem, $@LV4_Citrine;
+ set @gemstring$,"Citrine";
+ break;
+ case 2:
+ mes "[Bazo]";
+ mes "Turquoise...okay. Before we start,";
+ set @gem, $@LV4_Turquoise;
+ set @gemstring$,"Turquoise";
+ break;
+ case 3:
+ mes "[Bazo]";
+ mes "Agate....okay. Before we start,";
+ set @gem, $@LV4_Agate;
+ set @gemstring$,"Agate";
+ break;
+ }
+
+ goto LV4_1_PICK;
+ end; // shouldn't be here
+
+
+LV4_1_CT:
+ mes "[Bazo]";
+ mes "Hahaha, I asked you to bring one kind not two.";
+ mes "You can only use one kind of ore.";
+ mes "Which one would you like to use?";
+ next;
+
+ switch( select( "Citrine", "Turquoise" ) ) {
+ case 1:
+ mes "[Bazo]";
+ mes "Citrin...okay. Before we start,";
+ set @gem, $@LV4_Citrine;
+ set @gemstring$,"Citrine";
+ break;
+ case 2:
+ mes "[Bazo]";
+ mes "Turquoise...okay. Before we start,";
+ set @gem, $@LV4_Turquoise;
+ set @gemstring$,"Turquoise";
+ break;
+ }
+
+ goto LV4_1_PICK;
+ end; // shouldn't be here
+
+
+LV4_1_CA:
+ mes "[Bazo]";
+ mes "Hahaha, I asked you to bring one kind not two.";
+ mes "You can only use one kind of ore.";
+ mes "Which one would you like to use?";
+ next;
+
+ switch( select( "Citrine", "Agate" ) ) {
+ case 1:
+ mes "[Bazo]";
+ mes "Citrin...okay. Before we start,";
+ set @gem, $@LV4_Citrine;
+ set @gemstring$,"Citrine";
+ break;
+ case 2:
+ mes "[Bazo]";
+ mes "Agate....okay. Before we start,";
+ set @gem, $@LV4_Agate;
+ set @gemstring$,"Agate";
+ break;
+ }
+
+ goto LV4_1_PICK;
+ end; // shouldn't be here
+
+
+LV4_1_TA:
+ mes "[Bazo]";
+ mes "Hahaha, I asked you to bring one kind not two.";
+ mes "You can only use one kind of ore.";
+ mes "Which one would you like to use?";
+ next;
+
+ switch( select( "Turquoise", "Agate" ) ) {
+ case 1:
+ mes "[Bazo]";
+ mes "Turquoise...okay. Before we start,";
+ set @gem, $@LV4_Turquoise;
+ set @gemstring$,"Turquoise";
+ break;
+ case 2:
+ mes "[Bazo]";
+ mes "Agate....okay. Before we start,";
+ set @gem, $@LV4_Agate;
+ set @gemstring$,"Agate";
+ break;
+ }
+
+ goto LV4_1_PICK;
+ end; // shouldn't be here
+
+
+LV4_1_C:
+ mes "[Bazo]";
+ mes "Citrin...okay. Before we start,";
+ set @gem, $@LV4_Citrine;
+ set @gemstring$,"Citrine";
+ goto LV4_1_PICK;
+ end; // shouldn't be here
+
+
+LV4_1_T:
+ mes "[Bazo]";
+ mes "Turquoise...okay. Before we start,";
+ set @gem, $@LV4_Turquoise;
+ set @gemstring$,"Turquoise";
+ goto LV4_1_PICK;
+ end; // shouldn't be here
+
+
+LV4_1_A:
+ mes "[Bazo]";
+ mes "Agate....okay. Before we start,";
+ set @gem, $@LV4_Agate;
+ set @gemstring$,"Agate";
+ goto LV4_1_PICK;
+ end; // shouldn't be here
+
+
+LV4_1_PICK:
+ mes "we must do one thing first.";
+ mes "That is, testing your luck.";
+ mes "As you already know,";
+ mes "I cannot guarantee you that we will succeed";
+ mes "to make one right away.";
+ next;
+ mes "[Bazo]";
+ mes "If we can raise your luck before we start,";
+ mes "we will be able to succeed.";
+ next;
+ mes "[Bazo]";
+ mes "Now you must be wondering what we";
+ mes "will do in order to increase your luck.";
+ mes "It is simple, we will play a mind-reading game.";
+ mes "I am going to think of one monster among 4 of my favorite ones,";
+ mes "you will guess what the monster is.";
+ next;
+ mes "[Bazo]";
+ mes "You must answer correctly at least";
+ mes "1 out of 5 times. It shouldn't be that difficult.";
+ mes "And if you fail to answer, we must do something else";
+ mes "to drive away your bad luck.";
+ next;
+ mes "[Bazo]";
+ mes "I will take 10 of the special ore you chose.";
+ mes "Well, I understand that it does not sound tempting";
+ mes "but let's think of it this way.";
+ mes "It is much better than wasting 30 ore";
+ mes "by failing to create the item, isn't it?";
+ next;
+ mes "[Bazo]";
+ mes "Okay, now I need some time to prepare...";
+ mes "Talk to you later!";
+
+ if(countitem($@LV4_Gold) < 10) goto LV4_HACK;
+ if(countitem($@LV4_Steel) < 50) goto LV4_HACK;
+ if(countitem($@LV4_Emperium) < 10) goto LV4_HACK;
+ delitem $@LV4_Gold, 10;
+ delitem $@LV4_Steel, 50;
+ delitem $@LV4_Emperium, 10;
+ if(@gem == $@LV4_Citrine) set lv4_weapon, 2;
+ if(@gem == $@LV4_Turquoise) set lv4_weapon, 3;
+ if(@gem == $@LV4_Agate) set lv4_weapon, 4;
+ close;
+
+
+LV4_1_NOGEM:
+ mes "[Bazo]";
+ mes "I seem to recall that I asked you to bring";
+ mes "30 of a special ore, Citrine, Turquoise, or Agate...";
+ mes "And I don't see any of them.";
+ mes "You must have forgot them. Please go get them too.";
+ close;
+
+
+LV4_1_FAIL:
+ mes "[Bazo]";
+ mes "Please bring me 10 Gold, 50 Steel and 10 Emperium";
+ mes "as basic materials...";
+ mes "and you can enchant the product with a certain trait.";
+ mes "For that, I need some rare ores...";
+ next;
+ mes "[Bazo]";
+ mes "Please bring me 30 of either Citrin, Turquoise or Agate.";
+ mes "Each one of them possess their own attribute";
+ mes "and using the ore you have brought,";
+ mes "my product will possess a special trait.";
+ next;
+ mes "[Bazo]";
+ mes "I wish you good luck...";
+ mes "I will wait for you!";
+ close;
+
+
+
+//--------------------------------------------------
+//Guessing Game
+//--------------------------------------------------
+LV4_2:
+ if(lv4_weapon == 2) set @gem, $@LV4_Citrine;
+ if(lv4_weapon == 3) set @gem, $@LV4_Turquoise;
+ if(lv4_weapon == 4) set @gem, $@LV4_Agate;
+ if(countitem(@gem) < 30) goto LV4_2_NOGEM;
+
+ mes "[Bazo]";
+ mes "Ok, you seem to be ready.";
+ mes "Let's get started.";
+ mes "My favorite monsters are Poring,";
+ mes "Hode, Obeaune, and Minorous.";
+ next;
+
+ set @dap, 0;
+ set @correct[0],1;
+ for( set @i, 1; @i <= 5; set @i, @i + 1 ) {
+ mes "[Bazo]";
+
+ if(@i == 1) mes "Here's the 1st question. Guess what monster";
+ if(@i != 1) mes "Alright. Now guess what monster";
+
+ mes "I have in my mind at this moment.";
+ next;
+
+ set @mons, rand(1, 4);
+
+ switch( select( "Poring", "Hode", "Obeaune", "Minorous" ) ) {
+ case 1:
+ set @correct[@i], 1;
+ if(@mons == 1) set @dap, @dap + 1;
+ break;
+
+ case 2:
+ set @correct[@i], 2;
+ if(@mons == 2) set @dap, @dap + 1;
+ break;
+
+ case 3:
+ set @correct[@i], 3;
+ if(@mons == 3) set @dap, @dap + 1;
+ break;
+
+ case 4:
+ set @correct[@i], 4;
+ if(@mons == 4) set @dap, @dap + 1;
+ break;
+ }
+ }
+
+ mes "[Bazo]";
+ mes "Okay, let me give you answers for the questions.";
+ mes "I was thinking of the monsters in the order of";
+ next;
+ mes "[Bazo]";
+
+ for( set @i, 1; @i <= 5; set @i, @i + 1 ) {
+ if(@correct[@i] == 1) mes "Poring";
+ if(@correct[@i] == 2) mes "Hode";
+ if(@correct[@i] == 3) mes "Obeaune";
+ if(@correct[@i] == 4) mes "Minorous";
+ }
+
+ if(@dap < 1) goto LV4_2_FAIL;
+
+ next;
+ mes "[Bazo]";
+ mes "You answered " + @dap + " times!";
+ mes "I must say you're amazing!";
+ mes "As I promised, I will make an Umbala specialty for you.";
+ mes "Please give me some time to prepare.";
+ mes "Talk to you later.";
+
+ if(countitem(@gem) < 30) goto LV4_HACK;
+ delitem @gem, 30;
+ set lv4_weapon, lv4_weapon + 3;
+ close;
+
+
+LV4_2_FAIL:
+ if(countitem(@gem) < 10) goto LV4_HACK;
+ delitem @gem, 10;
+
+ next;
+ mes "[Bazo]";
+ mes "Errr... I don't think you are good at reading";
+ mes "other people's minds. Or you had bad luck, I guess.";
+ mes "We cannot do that again unless";
+ mes "we drive away the bad luck.";
+ mes "Give me 10 " + @gemstring$ + ", that will do the job.";
+ next;
+ mes "[Bazo]";
+ mes "Well...if you want to do this mind-reading game again,";
+ mes "please come back with the materials.";
+ mes "I will wait here for you.";
+ close;
+
+
+LV4_2_NOGEM:
+ mes "[Bazo]";
+ mes "Errr...something doesn't feel right. We lack something...";
+ mes "Will you check the materials that you have brought?";
+ close;
+
+
+
+//--------------------------------------------------
+//Weapon Creation
+//--------------------------------------------------
+LV4_5:
+ mes "[Bazo]";
+ mes "Great... now, let's do it!";
+ mes "Wish me luck...ah, I forgot to tell you this.";
+ mes "I cannot tell you what kind of product it will be. It is so random.";
+ mes "Let's wish that a good thing will come out, okay?";
+ next;
+ mes "- You feel unknown power start gathering in -";
+ mes "- the materials. It seems the materials are -";
+ mes "- absorbing all the evil power in the air. -";
+ next;
+ mes "- Then, the materials start merging into one -";
+ mes "- even though Bazo didn't touch them at all. -";
+ next;
+ mes "[Bazo]";
+ mes "Can you feel that? The materials are gathering";
+ mes "power at their own will.";
+ mes "They are out of my hand now. Let's wait and hope.";
+ next;
+ mes "- After a while, the air becomes calm -";
+ mes "- and you check the result. -";
+ next;
+ mes "[Bazo]";
+ mes "Ooooooh! It is done!";
+ mes "We have succeeded! Ah, it's amazing!";
+ mes "Did I tell you that it is really rare to succeed right away?";
+ mes "Yes, God must have listened to our prayers.";
+ mes "Oh, it is a weapon! It will be very useful to you.";
+ mes "Let's take a closer look...";
+ next;
+
+ mes "[Bazo]";
+
+ switch( lv4_weapon ) {
+ case 5:
+ mes "Immaterial Sword!";
+ getitem 1141, 1; // 1141,Immaterial_Sword
+ break;
+ case 6:
+ mes "it is Slash!";
+ getitem 1526, 1; // 1526,Slash
+ break;
+ case 7:
+ mes "it is Quadrille!";
+ getitem 1527, 1; // 1527,Quadrille
+ break;
+ }
+
+ set lv4_weapon, 0;
+ mes "This sword was born to be yours!";
+ mes "Congratulations and hopefully it will have a good use for you.";
+ next;
+
+ mes "[Bazo]";
+ mes "I feel so gratified. If you wish to have";
+ mes "another one, please feel free to visit me anytime.";
+ mes "Have a good travel!";
+ close;
+
+
+
+//--------------------------------------------------
+//Other Quests
+//--------------------------------------------------
+LV4_7:
+ mes "[Bazo]";
+ mes "Hmm...I feel something strange from you.";
+ mes "I regret to say that there is nothing I can do for you.";
+ mes "I hope you have a safe travel.";
+ close;
+
+
+
+//--------------------------------------------------
+//Hack Attempt
+//--------------------------------------------------
+LV4_HACK:
+ mes "[Bazo]";
+ mes "Hmm. There seems to be a bit of problem.";
+ set lv4_weapon, 0;
+ logmes "[" +strcharinfo(0) + "] tried to hack LV4 quest.";
+ close;
+}
+
+//---------------------------------------------------------------
+// Hibilaithan, creates Mailbreaker, Swordbreaker and Slaughter
+//---------------------------------------------------------------
+
+umbala.gat,163,257,3 script Hibilaithan 785,{
+ if(event_umbala < 3) goto LumWord;
+ set @NowWeight, MaxWeight - Weight;
+ if (@NowWeight >= 3000) goto LV4_NOT_OW;
+ mes "- Wait a minute! -";
+ mes "- Currently you are overweight. -";
+ mes "- Please lighten your weight -";
+ mes "- and try again. -";
+ close;
+
+
+LV4_NOT_OW:
+ if(lv4_weapon == 0) goto LV4_0;
+ if(lv4_weapon == 8) goto LV4_8;
+ if(lv4_weapon == 9) goto LV4_9;
+ if(lv4_weapon == 10) goto LV4_9;
+ if(lv4_weapon == 11) goto LV4_9;
+ if(lv4_weapon == 12) goto LV4_12;
+ if(lv4_weapon == 13) goto LV4_12;
+ if(lv4_weapon == 14) goto LV4_12;
+ if(lv4_weapon < 8) goto LV4_7;
+ if(lv4_weapon > 14) goto LV4_7;
+ end; // shouldn't be here
+
+
+LumWord:
+ mes "[Hibilaithan]";
+ mes "Umba! Umbaba...umum! Baumba!";
+ mes "Umumumbababaumumbabaumba!";
+ mes "Umbaumbaumbaumbaumhah!";
+ mes "Umumumumumbababababab!";
+ close;
+
+
+LV4_0:
+ mes "[Hibilaithan]";
+ mes "Haha, yeah, I knew this day would come.";
+ mes "Finally people recognize my value";
+ mes "as the best artisan in Umbala!";
+ next;
+ mes "[Hibilaithan]";
+ mes "Okay, let's talk straight.";
+ mes "I, Hibilaithan shall craft something nice";
+ mes "if you bring me materials!";
+ mes "Hahahahahaha!";
+ next;
+ mes "[Hibilaithan]";
+ mes "Eh? What? You didn't come to see me?";
+ mes "Stop joking around...Don't play me for a fool!";
+ mes "People are too shy to tell the truth nowadays!";
+ mes "Let's be honest and tell me if you want it or not.";
+ next;
+
+ switch( select( "...okay.", "...sorry, I don't need it!" ) ) {
+ case 1:
+ if(BaseLevel >= 70) goto L4_0_1;
+
+ mes "[Hibilaithan]";
+ mes "...what a shame! I regret to tell you this,";
+ mes "but your spirit is too weak";
+ mes "to handle the power of my stuff!";
+ mes "This is not good, not good at all!";
+ mes "Go and train yourself first.";
+ mes "When you become strong, you may come back!";
+ break;
+L4_0_1:
+ mes "[Hibilaithan]";
+ mes "Great! I like your attitute! Great, great!";
+ mes "I am going to tell you what I need.";
+ mes "It is not much, so do not forget.";
+ next;
+ mes "[Hibilaithan]";
+ mes "Bring me 10 Gold, 50 Steel and 10 Emperium";
+ mes "... as basic materials.";
+ mes "And I need some rare ores to endow power...";
+ next;
+ mes "[Hibilaithan]";
+ mes "Bring me 30 of one ore among Muscovite, Biotite or Pyroxene.";
+ mes "Remember you are going to bring 30 of one ore.";
+ mes "I cannot pick one among those because I am";
+ mes "not sure what will come out. Heh.";
+ next;
+ mes "[Hibilaithan]";
+ mes "Okay, wish you good luck!";
+ mes "Meanwhile I am going to chill here.";
+
+ set lv4_weapon, 8;
+ break;
+ case 2:
+ mes "[Hibilaithan]";
+ mes "Bah~ what are you afraid of?";
+ mes "I am just trying to do you a favor, you know?";
+ mes "Alright, it is your call.";
+ mes "But if you change your mind,";
+ mes "feel free to come back.";
+ break;
+ }
+ close;
+
+
+
+//--------------------------------------------------
+//Gold, Steel, Emp Check + Choosing the gem
+//--------------------------------------------------
+LV4_8:
+ if(countitem($@LV4_Gold) < 10) goto LV4_8_FAIL;
+ if(countitem($@LV4_Steel) < 50) goto LV4_8_FAIL;
+ if(countitem($@LV4_Emperium) < 10) goto LV4_8_FAIL;
+
+ mes "[Hibilaithan]";
+ mes "Oh...you have brought all the basic materials.";
+ mes "Now let me check what kind of rare ores";
+ mes "you have brought...";
+ next;
+
+ if (countitem($@LV4_Muscovite) >= 30 && countitem($@LV4_Biotite) >= 30 && countitem($@LV4_Pyroxene) >= 30) goto LV4_8_MBP;
+ if (countitem($@LV4_Muscovite) >= 30 && countitem($@LV4_Biotite) >= 30) goto LV4_8_MB;
+ if (countitem($@LV4_Muscovite) >= 30 && countitem($@LV4_Pyroxene) >= 30) goto LV4_8_MP;
+ if (countitem($@LV4_Biotite) >= 30 && countitem($@LV4_Pyroxene) >= 30) goto LV4_8_BP;
+ if (countitem($@LV4_Muscovite) >= 30) goto LV4_8_M;
+ if (countitem($@LV4_Biotite) >= 30) goto LV4_8_B;
+ if (countitem($@LV4_Pyroxene) >= 30) goto LV4_8_P;
+ goto LV4_8_NOGEM;
+ end;
+
+
+LV4_8_MBP:
+ mes "[Hibilaithan]";
+ mes "Gosh, did you brought all three kinds?";
+ mes "Hahaha, it's fine.";
+ mes "But we cannot use all of them this time.";
+ mes "Pick one that you want to use.";
+ next;
+
+ switch( select( "Muscovite", "Biotite", "Pyroxene" ) ) {
+ case 1:
+ mes "[Hibilaithan]";
+ mes "Muscovite...okay. Before we start,";
+ set @gem, $@LV4_Muscovite;
+ set @gemstring$,"Muscovite";
+ break;
+ case 2:
+ mes "[Hibilaithan]";
+ mes "Biotite...okay. Before we start,";
+ set @gem, $@LV4_Biotite;
+ set @gemstring$,"Biotite";
+ break;
+ case 3:
+ mes "[Hibilaithan]";
+ mes "Pyroxene....okay. Before we start,";
+ set @gem, $@LV4_Pyroxene;
+ set @gemstring$,"Pyroxene";
+ break;
+ }
+
+ goto LV4_8_PICK;
+ end; // shouldn't be here
+
+
+LV4_8_MB:
+ mes "[Hibilaithan]";
+ mes "Hahaha, I asked you to bring one kind not two.";
+ mes "You can only use one kind of ore.";
+ mes "Which one would you like to use?";
+ next;
+
+ switch( select( "Muscovite", "Biotite" ) ) {
+ case 1:
+ mes "[Hibilaithan]";
+ mes "Muscovite...okay. Before we start,";
+ set @gem, $@LV4_Muscovite;
+ set @gemstring$,"Muscovite";
+ break;
+ case 2:
+ mes "[Hibilaithan]";
+ mes "Biotite...okay. Before we start,";
+ set @gem, $@LV4_Biotite;
+ set @gemstring$,"Biotite";
+ break;
+ }
+
+ goto LV4_8_PICK;
+ end; // shouldn't be here
+
+
+LV4_8_MP:
+ mes "[Hibilaithan]";
+ mes "Hahaha, I asked you to bring one kind not two.";
+ mes "You can only use one kind of ore.";
+ mes "Which one would you like to use?";
+ next;
+
+ switch( select( "Muscovite", "Pyroxene" ) ) {
+ case 1:
+ mes "[Hibilaithan]";
+ mes "Muscovite...okay. Before we start,";
+ set @gem, $@LV4_Muscovite;
+ set @gemstring$,"Muscovite";
+ break;
+ case 2:
+ mes "[Hibilaithan]";
+ mes "Pyroxene....okay. Before we start,";
+ set @gem, $@LV4_Pyroxene;
+ set @gemstring$,"Pyroxene";
+ break;
+ }
+
+ goto LV4_8_PICK;
+ end; // shouldn't be here
+
+
+LV4_8_BP:
+ mes "[Hibilaithan]";
+ mes "Hahaha, I asked you to bring one kind not two.";
+ mes "You can only use one kind of ore.";
+ mes "Which one would you like to use?";
+ next;
+
+ switch( select( "Biotite", "Pyroxene" ) ) {
+ case 1:
+ mes "[Hibilaithan]";
+ mes "Biotite...okay. Before we start,";
+ set @gem, $@LV4_Biotite;
+ set @gemstring$,"Biotite";
+ break;
+ case 2:
+ mes "[Hibilaithan]";
+ mes "Pyroxene....okay. Before we start,";
+ set @gem, $@LV4_Pyroxene;
+ set @gemstring$,"Pyroxene";
+ break;
+ }
+
+ goto LV4_8_PICK;
+ end; // shouldn't be here
+
+
+LV4_8_M:
+ mes "[Hibilaithan]";
+ mes "Muscovite...okay. Before we start,";
+ set @gem, $@LV4_Muscovite;
+ set @gemstring$,"Muscovite";
+ goto LV4_8_PICK;
+ end; // shouldn't be here
+
+
+LV4_8_B:
+ mes "[Hibilaithan]";
+ mes "Biotite...okay. Before we start,";
+ set @gem, $@LV4_Biotite;
+ set @gemstring$,"Biotite";
+ goto LV4_8_PICK;
+ end; // shouldn't be here
+
+
+LV4_8_P:
+ mes "[Hibilaithan]";
+ mes "Pyroxene....okay. Before we start,";
+ set @gem, $@LV4_Pyroxene;
+ set @gemstring$,"Pyroxene";
+ goto LV4_8_PICK;
+ end; // shouldn't be here
+
+
+LV4_8_PICK:
+ mes "we must do one thing first.";
+ mes "That is, to test your luck.";
+ mes "As you already know,";
+ mes "I cannot guarantee you that we will succeed";
+ mes "to make one right away.";
+ next;
+ mes "[Hibilaithan]";
+ mes "If we can raise your luck before we start,";
+ mes "we will be able to succeed.";
+ next;
+ mes "[Hibilaithan]";
+ mes "Now you must be wondering what we";
+ mes "will do in order to increase your luck.";
+ mes "It is simple, we will play a mind-reading game.";
+ mes "I am going to think of one monster among 4 of my favorites,";
+ mes "you will guess what that monster is.";
+ next;
+ mes "[Hibilaithan]";
+ mes "You must answer correctly at least";
+ mes "1 out of 5 times. It should not be that difficult.";
+ mes "And if you fail to answer, we must do something else";
+ mes "to drive away your bad luck.";
+ next;
+ mes "[Hibilaithan]";
+ mes "I will take 10 of the special ore you have chose.";
+ mes "Well, I understand that it does not sound tempting";
+ mes "but let's think of it this way.";
+ mes "It is much better than wasting 30 ore";
+ mes "by failing to create the item, isn't it?";
+ next;
+ mes "[Hibilaithan]";
+ mes "Okay, now I need some time to prepare...";
+ mes "Talk to you later!";
+
+ if(countitem($@LV4_Gold) < 10) goto LV4_HACK;
+ if(countitem($@LV4_Steel) < 50) goto LV4_HACK;
+ if(countitem($@LV4_Emperium) < 10) goto LV4_HACK;
+ delitem $@LV4_Gold, 10;
+ delitem $@LV4_Steel, 50;
+ delitem $@LV4_Emperium, 10;
+ if(@gem == $@LV4_Muscovite) set lv4_weapon, 9;
+ if(@gem == $@LV4_Biotite) set lv4_weapon, 10;
+ if(@gem == $@LV4_Pyroxene) set lv4_weapon, 11;
+ close;
+
+
+LV4_8_NOGEM:
+ mes "[Hibilaithan]";
+ mes "I seem to recall that I asked you to bring";
+ mes "30 of a special ore among Muscovite, Biotite or Pyroxene...";
+ mes "And I don't see any of them.";
+ mes "You must have forgot that. Please go get them too.";
+ close;
+
+
+LV4_8_FAIL:
+ mes "[Hibilaithan]";
+ mes "Please bring me 10 Gold, 50 Steel and 10 Emperium";
+ mes "as basic materials...";
+ mes "and you can enchant the product with a certain trait.";
+ mes "For that, I need some rare ores...";
+ next;
+ mes "[Hibilaithan]";
+ mes "Please bring me 30 of an ore among Citrin, Biotite or Pyroxene.";
+ mes "Each one of them possess their own attributes";
+ mes "and by using the ore you have brought,";
+ mes "my product will possess a special trait.";
+ next;
+ mes "[Hibilaithan]";
+ mes "I wish you good luck...";
+ mes "I will wait for you!";
+ close;
+
+
+
+//--------------------------------------------------
+//Guessing Game
+//--------------------------------------------------
+LV4_9:
+ if(lv4_weapon == 9) set @gem, $@LV4_Muscovite;
+ if(lv4_weapon == 10) set @gem, $@LV4_Biotite;
+ if(lv4_weapon == 11) set @gem, $@LV4_Pyroxene;
+ if(countitem(@gem) < 30) goto LV4_9_NOGEM;
+
+ mes "[Hibilaithan]";
+ mes "Okay, let's get started!";
+ mes "It is simple. There are";
+ mes "4 monsters that I like. I am going to think";
+ mes "of a monster among the 4, you will guess what it is.";
+ mes "We will play this game 5 times and you must";
+ mes "answer correctly at least 1 out of 5 times. Doesn't that sound easy?";
+ next;
+ mes "[Hibilaithan]";
+ mes "This is a very good game for";
+ mes "increasing your luck!";
+ mes "Okay, you better be ready now.";
+ next;
+
+ set @dap, 0;
+ set @correct[0],1;
+ for( set @i, 1; @i <= 5; set @i, @i + 1 ) {
+ mes "[Hibilaithan]";
+
+ if(@i == 1) mes "I like Zealotus, Alice,";
+ if(@i == 1) mes "Munak, and Isis among all monsters.";
+
+ mes "Now, guess which one";
+ mes "I am thinking of at this moment.";
+ next;
+
+ set @mons, rand(1, 4);
+
+ switch( select( "Zhertilsh", "Alice", "Munak", "Isis" ) ) {
+ case 1:
+ set @correct[@i], 1;
+ if(@mons == 1) set @dap, @dap + 1;
+ break;
+
+ case 2:
+ set @correct[@i], 2;
+ if(@mons == 2) set @dap, @dap + 1;
+ break;
+
+ case 3:
+ set @correct[@i], 3;
+ if(@mons == 3) set @dap, @dap + 1;
+ break;
+
+ case 4:
+ set @correct[@i], 4;
+ if(@mons == 4) set @dap, @dap + 1;
+ break;
+ }
+ }
+
+ mes "[Hibilaithan]";
+ mes "Okay, that's all! Now let me";
+ mes "check the answers. I was thinking";
+ mes "monsters in the order of...";
+ next;
+ mes "[Hibilaithan]";
+
+ for( set @i, 1; @i <= 5; set @i, @i + 1 ) {
+ if(@correct[@i] == 1) mes "Zhertilsh";
+ if(@correct[@i] == 2) mes "Alice";
+ if(@correct[@i] == 3) mes "Munak";
+ if(@correct[@i] == 4) mes "Isis";
+ }
+
+ if(@dap < 1) goto LV4_9_FAIL;
+
+ next;
+ mes "[Hibilaithan]";
+ mes "Wow, are you a mind reader or what?";
+ mes "You answered " + @dap + " times correctly! Whoa...";
+ mes "I guess you are already a lucky one,";
+ mes "therefore we don't have any reason";
+ mes "to prolong the work now!";
+ mes "I need some time to prepare, talk to you later!";
+
+ if(countitem(@gem) < 30) goto LV4_HACK;
+ delitem @gem, 30;
+ set lv4_weapon, lv4_weapon + 3;
+ close;
+
+
+LV4_9_FAIL:
+ if(countitem(@gem) < 10) goto LV4_HACK;
+ delitem @gem, 10;
+
+ next;
+ mes "[Hibilaithan]";
+ mes "This is not good, not good at all!";
+ mes "You didn't even have a correct answer.";
+ mes "We cannot start the work with this kind of result.";
+ mes "Okay...we must drive away your bad luck first.";
+ mes "10 " + @gemstring$ + " will do it!";
+ next;
+ mes "[Hibilaithan]";
+ mes "Now, we need to play the game again.";
+ mes "If you don't anymore ore, go get some.";
+ mes "I am not going anywhere";
+ mes "so you don't need to be in hurry.";
+ mes "Take your time!";
+ close;
+
+
+LV4_9_NOGEM:
+ mes "[Hibilaithan]";
+ mes "Hum. You might lack of";
+ mes "materials? Check them again.";
+ mes "See. I knew it.";
+ close;
+
+
+
+//--------------------------------------------------
+//Weapon Creation
+//--------------------------------------------------
+LV4_12:
+ mes "[Hibilaithan]";
+ mes "Ah, I can tell you are ready. Alright...";
+ mes "I will try to make an awsome item for you.";
+ mes "...and you are not going to look over my shoulder!";
+ mes "I don't want to share my secret recipe with anyone!";
+ next;
+ mes "- Hibilaithan picks up all the materials -";
+ mes "- and turns his back at you. -";
+ mes "- You see him busying himself with something. -";
+ mes "- Although the way he is doing it -";
+ mes "- looks very primitive and crude, -";
+ mes "- you feel that some strange energy has gathered around him. -";
+ next;
+ mes "[Hibilaithan]";
+ mes "Umm~ umm~ umm~";
+ mes "Aww~aww~ aww~";
+ mes "Phew~ phew~ phew~";
+ mes "Woo~ woo~ woo~";
+ mes "Ho~ ho~ ho~";
+ next;
+ mes "[Hibilaithan]";
+ mes " ";
+ mes " ";
+ mes "Haha, there it is! Phew, that was really hard...";
+ mes "You're anxious, aren't you? Ok, let's see...";
+ next;
+
+ mes "[Hibilaithan]";
+ mes "It's a big success! Hahaha, sure, I made it...";
+ mes "Therefore, it should be a big success.";
+ mes "Oh, you got a weapon here...let's see,";
+
+ switch( lv4_weapon ) {
+ case 12:
+ mes "it is a Mailbreaker!";
+ getitem 1225, 1; // 1225,Mail_Breaker
+ break;
+ case 13:
+ mes "it is a Swordbreaker!";
+ getitem 1224, 1; // 1224,Sword_Breaker
+ break;
+ case 14:
+ mes "it is a Slaughter!";
+ getitem 1367, 1; // 1367,Slaughter
+ break;
+ }
+
+ set lv4_weapon, 0;
+ mes "This was made competely because I am that skillful,";
+ mes "you got to be thankful for that!";
+ next;
+
+ mes "[Hibilaithan]";
+ mes "Whenever you want to have a nice thing,";
+ mes "come back to me anytime!";
+ mes "I am a very generous genius, you know?";
+ mes "Always be thankful for the weapon that I made for you, okay?";
+ mes "See you!";
+ close;
+
+
+
+//--------------------------------------------------
+//Other Quests
+//--------------------------------------------------
+LV4_7:
+ mes "[Hibilaithan]";
+ mes "Hmm...I feel something strange from you.";
+ mes "I regret to say that there is nothing I can do for you.";
+ mes "I hope you have a safe travel.";
+ close;
+
+
+
+//--------------------------------------------------
+//Hack Attempt
+//--------------------------------------------------
+LV4_HACK:
+ mes "[Hibilaithan]";
+ mes "Hmm. There seems to be a bit of problem.";
+ set lv4_weapon, 0;
+ logmes "[" +strcharinfo(0) + "] tried to hack LV4 quest.";
+ close;
+}
+
+//--------------------------------------------------
+// Tabezthan, creates Talefing, Sabbath and Caesar's Sword
+//--------------------------------------------------
+
+um_in.gat,156,77,5 script Tabezthan 788,{
+ if(event_umbala < 3) goto LumWord;
+ set @NowWeight, MaxWeight - Weight;
+ if (@NowWeight >= 3000) goto LV4_NOT_OW;
+ mes "- Wait a minute! -";
+ mes "- You are currently overweight. -";
+ mes "- Please lose some weight -";
+ mes "- and try again. -";
+ close;
+
+
+LV4_NOT_OW:
+ if(lv4_weapon == 0) goto LV4_0;
+ if(lv4_weapon == 15) goto LV4_15;
+ if(lv4_weapon == 16) goto LV4_16;
+ if(lv4_weapon == 17) goto LV4_16;
+ if(lv4_weapon == 18) goto LV4_16;
+ if(lv4_weapon == 19) goto LV4_19;
+ if(lv4_weapon == 20) goto LV4_19;
+ if(lv4_weapon == 21) goto LV4_19;
+ if(lv4_weapon < 15) goto LV4_14;
+ if(lv4_weapon > 21) goto LV4_14;
+ end; // shouldn't be here
+
+
+LumWord:
+ mes "[Tabezthan]";
+ mes "Umba! Umbaba...umum! Baumba!";
+ mes "Umumumbababaumumbabaumba!";
+ mes "Umbaumbaumbaumbaumhah!";
+ mes "Umumumumumbababababab!";
+ close;
+
+
+LV4_0:
+ mes "[Tabezthan]";
+ mes "Hmm...I feel something different about you...";
+ mes "You are a stranger...aren't you?";
+ next;
+ mes "[Tabezthan]";
+ mes "Let me introduce myself.";
+ mes "I am Tabezthan,";
+ mes "the storage of the knowledge and the genius of Umbala...";
+ mes "Hahahaha.";
+ next;
+ mes "[Tabezthan]";
+ mes "I have two diciples. One is Hibilaithan the fool";
+ mes "and the other one is Bazo who is intelligent";
+ mes "and is from outside the same as you.";
+ next;
+ mes "[Tabezthan]";
+ mes "Of course both of them are talented and skillful";
+ mes "but I am worried about Hibilaithan, for he";
+ mes "makes many stupid mistakes and is shameless";
+ mes "for what he has done.";
+ next;
+ mes "[Tabezthan]";
+ mes "I have tought them how to manipulate";
+ mes "the mysterious energy existing in Umbala";
+ mes "for creating things with it..";
+ mes "I heard that there is a similar skill called Alchemy";
+ mes "in the outside world. Although I am not sure if I remember it correctly.";
+ next;
+ mes "[Tabezthan]";
+ mes "Anyways, would you like to see my skill?";
+ mes "If so, bring me materials I need,";
+ mes "I am more than willing to present my skill for you.";
+ next;
+
+ switch( select( "Yes, please.", "No, thank you." ) ) {
+ case 1:
+ if(BaseLevel >= 70) goto L4_0_1;
+
+ mes "[Tabezthan]";
+ mes "Sebelumnya saya harus menekankan ini";
+ mes "Barang spesial ini akan menjadi berbahaya jika kamu sendiri masih lemah";
+ mes "Kamu harus lebih berpengalaman lagi anak muda";
+ mes "Naikan level kamu terlebih dahulu";
+ mes "jika kamu sudah merasa kuat kembalilah kesini kembali";
+ mes "Sampai jumpa ~~";
+ break;
+L4_0_1:
+ mes "[Tabezthan]";
+ mes "One with curiousity...he is called the young adventurer...";
+ mes "Fine. Then let me inform you of";
+ mes "the matetrials I need. Please memorize them";
+ mes "or write them down.";
+ mes "It is not much however.";
+ next;
+ mes "[Tabezthan]";
+ mes "I need 10 Gold, 50 Steel and 10 Emperium";
+ mes "as basic materials...";
+ mes "and you can enchant the product with a certain trait.";
+ mes "For that, I need some rare ores...";
+ next;
+ mes "[Tabezthan]";
+ mes "Please bring me 30 of an ore among Phlogopite, Peridot or Rose Quartz.";
+ mes "Each one of them possess their own attribute";
+ mes "and by using the ore you have brought,";
+ mes "my product will possess a special trait.";
+ next;
+ mes "[Tabezthan]";
+ mes "However, please be aware that";
+ mes "I cannot guarantee what will come out as a result.";
+ mes "There are too many factors in the world of alchemy";
+ mes "where my knowledge is limited.";
+ mes "So you must be willing to accept the result as it is";
+ mes "even if it does not satisfy your expectations.";
+ next;
+ mes "[Tabezthan]";
+ mes "That means that you should place trust in luck.";
+ mes "Let's talk about it later...please go prepare the materials first.";
+ mes "Come back when you are ready.";
+ mes "I will wait here.";
+
+ set lv4_weapon, 15;
+ break;
+ case 2:
+ mes "[Tabezthan]";
+ mes "Oh...I see. I was not forcing you anyhow.";
+ mes "However, it is a little bit dissappointing to hear that.";
+ mes "I was going to display my ability at full length.";
+ mes "When you change your mind, please come back.";
+ break;
+ }
+ close;
+
+
+
+//--------------------------------------------------
+//Gold, Steel, Emp Check + Choosing the gem
+//--------------------------------------------------
+LV4_15:
+ if(countitem($@LV4_Gold) < 10) goto LV4_15_FAIL;
+ if(countitem($@LV4_Steel) < 50) goto LV4_15_FAIL;
+ if(countitem($@LV4_Emperium) < 10) goto LV4_15_FAIL;
+
+ mes "[Tabezthan]";
+ mes "Ah~ you came back ealier than I thought.";
+ mes "Let's see...you have all the basic materials...and";
+ mes "we need one more thing, remember?";
+ mes "Did you bring it as well?";
+ next;
+
+ if (countitem($@LV4_Phlogopite) >= 30 && countitem($@LV4_Olivine) >= 30 && countitem($@LV4_Rose_Quartz) >= 30) goto LV4_15_POR;
+ if (countitem($@LV4_Phlogopite) >= 30 && countitem($@LV4_Olivine) >= 30) goto LV4_15_PO;
+ if (countitem($@LV4_Phlogopite) >= 30 && countitem($@LV4_Rose_Quartz) >= 30) goto LV4_15_PR;
+ if (countitem($@LV4_Olivine) >= 30 && countitem($@LV4_Rose_Quartz) >= 30) goto LV4_15_PR;
+ if (countitem($@LV4_Phlogopite) >= 30) goto LV4_15_P;
+ if (countitem($@LV4_Olivine) >= 30) goto LV4_15_O;
+ if (countitem($@LV4_Rose_Quartz) >= 30) goto LV4_15_R;
+ goto LV4_15_NOGEM;
+ end;
+
+
+LV4_15_POR:
+ mes "[Tabezthan]";
+ mes "You made a great effort to bring all of them.";
+ mes "However, you can only use one kind at a time.";
+ mes "Please choose what you want to use this time.";
+ next;
+
+ switch( select( "Phlogopite", "Peridot", "Rose Quartz" ) ) {
+ case 1:
+ mes "[Tabezthan]";
+ mes "Phlogopite...okay. Before we start,";
+ set @gem, $@LV4_Phlogopite;
+ set @gemstring$,"Phlogopite";
+ break;
+ case 2:
+ mes "[Tabezthan]";
+ mes "Peridot...okay. Before we start,";
+ set @gem, $@LV4_Olivine;
+ set @gemstring$,"Peridot";
+ break;
+ case 3:
+ mes "[Tabezthan]";
+ mes "Rose Quartz....okay. Before we start,";
+ set @gem, $@LV4_Rose_Quartz;
+ set @gemstring$,"Rose Quartz";
+ break;
+ }
+
+ goto LV4_15_PICK;
+ end; // shouldn't be here
+
+
+LV4_15_PO:
+ mes "[Tabezthan]";
+ mes "Hahaha, I asked you to bring one kind not two.";
+ mes "You can only use one kind of ore.";
+ mes "Which one would you like to use?";
+ next;
+
+ switch( select( "Phlogopite", "Peridot" ) ) {
+ case 1:
+ mes "[Tabezthan]";
+ mes "Phlogopite...okay. Before we start,";
+ set @gem, $@LV4_Phlogopite;
+ set @gemstring$,"Phlogopite";
+ break;
+ case 2:
+ mes "[Tabezthan]";
+ mes "Peridot...okay. Before we start,";
+ set @gem, $@LV4_Olivine;
+ set @gemstring$,"Peridot";
+ break;
+ }
+
+ goto LV4_15_PICK;
+ end; // shouldn't be here
+
+
+LV4_15_PR:
+ mes "[Tabezthan]";
+ mes "Hahaha, I asked you to bring one kind not two.";
+ mes "You can only use one kind of ore.";
+ mes "Which one would you like to use?";
+ next;
+
+ switch( select( "Phlogopite", "Rose Quartz" ) ) {
+ case 1:
+ mes "[Tabezthan]";
+ mes "Phlogopite...okay. Before we start,";
+ set @gem, $@LV4_Phlogopite;
+ set @gemstring$,"Phlogopite";
+ break;
+ case 2:
+ mes "[Tabezthan]";
+ mes "Rose Quartz....okay. Before we start,";
+ set @gem, $@LV4_Rose_Quartz;
+ set @gemstring$,"Rose Quartz";
+ break;
+ }
+
+ goto LV4_15_PICK;
+ end; // shouldn't be here
+
+
+LV4_15_OR:
+ mes "[Tabezthan]";
+ mes "Hahaha, I asked you to bring one kind not two.";
+ mes "You can only use one kind of ore.";
+ mes "Which one would you like to use?";
+ next;
+
+ switch( select( "Peridot", "Rose Quartz" ) ) {
+ case 1:
+ mes "[Tabezthan]";
+ mes "Peridot...okay. Before we start,";
+ set @gem, $@LV4_Olivine;
+ set @gemstring$,"Peridot";
+ break;
+ case 2:
+ mes "[Tabezthan]";
+ mes "Rose Quartz....okay. Before we start,";
+ set @gem, $@LV4_Rose_Quartz;
+ set @gemstring$,"Rose Quartz";
+ break;
+ }
+
+ goto LV4_15_PICK;
+ end; // shouldn't be here
+
+
+LV4_15_P:
+ mes "[Tabezthan]";
+ mes "Phlogopite...okay. Before we start,";
+ set @gem, $@LV4_Phlogopite;
+ set @gemstring$,"Phlogopite";
+ goto LV4_15_PICK;
+ end; // shouldn't be here
+
+
+LV4_15_O:
+ mes "[Tabezthan]";
+ mes "Peridot...okay. Before we start,";
+ set @gem, $@LV4_Olivine;
+ set @gemstring$,"Peridot";
+ goto LV4_15_PICK;
+ end; // shouldn't be here
+
+
+LV4_15_R:
+ mes "[Tabezthan]";
+ mes "Rose Quartz....okay. Before we start,";
+ set @gem, $@LV4_Rose_Quartz;
+ set @gemstring$,"Rose Quartz";
+ goto LV4_15_PICK;
+ end; // shouldn't be here
+
+
+LV4_15_PICK:
+ mes "we must do one thing first.";
+ mes "That is, to test your luck.";
+ mes "As you already know,";
+ mes "I cannot guarantee you that we will succeed";
+ mes "in makeing one right away.";
+ next;
+ mes "[Tabezthan]";
+ mes "If we can raise your luck before we start,";
+ mes "we will be able to succeed.";
+ next;
+ mes "[Tabezthan]";
+ mes "Now you must be wondering what we";
+ mes "will do in order to increase your luck.";
+ mes "It is simple, we will play a mind-reading game.";
+ mes "I am going to think of one monster among 4 of my favorites,";
+ mes "you will guess what the monster is.";
+ next;
+ mes "[Tabezthan]";
+ mes "You must answer correctly at least";
+ mes "1 out of 5 times. It should not be that difficult.";
+ mes "And if you fail to answer correctly, we must do something else";
+ mes "to drive away your bad luck.";
+ next;
+ mes "[Tabezthan]";
+ mes "I will take 10 of the special ore you chose.";
+ mes "Well, I understand that it does not sound tempting";
+ mes "but let's think of it this way.";
+ mes "It is much better than wasting 30 ore";
+ mes "by failing to create the item, isn't it?";
+ next;
+ mes "[Tabezthan]";
+ mes "Okay, now I need some time to prepare...";
+ mes "Talk to you later!";
+
+ if(countitem($@LV4_Gold) < 10) goto LV4_HACK;
+ if(countitem($@LV4_Steel) < 50) goto LV4_HACK;
+ if(countitem($@LV4_Emperium) < 10) goto LV4_HACK;
+ delitem $@LV4_Gold, 10;
+ delitem $@LV4_Steel, 50;
+ delitem $@LV4_Emperium, 10;
+ if(@gem == $@LV4_Phlogopite) set lv4_weapon, 16;
+ if(@gem == $@LV4_Olivine) set lv4_weapon, 17;
+ if(@gem == $@LV4_Rose_Quartz) set lv4_weapon, 18;
+ close;
+
+
+LV4_15_NOGEM:
+ mes "[Tabezthan]";
+ mes "Hmmm...I cannot find any rare ores in";
+ mes "the materials that you have brought...";
+ mes "Please bring me 30 of an ore among Phlogopite, Peridot";
+ mes "or Rose Quartz.";
+ close;
+
+
+LV4_15_FAIL:
+ mes "[Tabezthan]";
+ mes "I need 10 Gold, 50 Steel and 10 Emperium";
+ mes "as basic materials...";
+ mes "and you can enchant the product with a certain trait.";
+ mes "For that, I need some rare ores...";
+ next;
+ mes "[Tabezthan]";
+ mes "Please bring me 30 of an ore among Phlogopite, Peridot or Rose Quartz.";
+ mes "Each one of them possess their own attribute";
+ mes "and by using the ore you have brought,";
+ mes "my product will possess a special trait.";
+ close;
+
+
+
+//--------------------------------------------------
+//Guessing Game
+//--------------------------------------------------
+LV4_16:
+ if(lv4_weapon == 16) set @gem, $@LV4_Phlogopite;
+ if(lv4_weapon == 17) set @gem, $@LV4_Olivine;
+ if(lv4_weapon == 18) set @gem, $@LV4_Rose_Quartz;
+ if(countitem(@gem) < 30) goto LV4_2_NOGEM;
+
+ mes "[Tabezthan]";
+ mes "Okay, let's get started!";
+ mes "It is simple. There are";
+ mes "4 monsters that I like. I am going to think";
+ mes "of a monster among the 4, you will guess what it is.";
+ mes "We will play this game 5 times and you must";
+ mes "answer correctly at least 1 out of 5 times. Doesn't it sound easy?";
+ next;
+ mes "[Hibilaithan]";
+ mes "This is a very good game for";
+ mes "increasing your luck!";
+ mes "Okay, better be ready now.";
+ next;
+
+ set @dap, 0;
+ set @correct[0],1;
+ for( set @i, 1; @i <= 5; set @i, @i + 1 ) {
+ mes "[Tabezthan]";
+
+ if(@i == 1) mes "I like Baphomet, Dark Lord,";
+ if(@i == 1) mes "Bloody Knight, and Stormy Knight among all monsters.";
+
+ mes "Now, guess which one";
+ mes "I am thinking at this moment.";
+ next;
+
+ set @mons, rand(1, 4);
+
+ switch( select( "Baphomet", "Dark Lord", "Bloody Knight", "Stormy Knight" ) ) {
+ case 1:
+ set @correct[@i], 1;
+ if(@mons == 1) set @dap, @dap + 1;
+ break;
+
+ case 2:
+ set @correct[@i], 2;
+ if(@mons == 2) set @dap, @dap + 1;
+ break;
+
+ case 3:
+ set @correct[@i], 3;
+ if(@mons == 3) set @dap, @dap + 1;
+ break;
+
+ case 4:
+ set @correct[@i], 4;
+ if(@mons == 4) set @dap, @dap + 1;
+ break;
+ }
+ }
+
+ mes "[Tabezthan]";
+ mes "Okay, that's all! Now let me check";
+ mes "the answers. I was thinking";
+ mes "of the monsters in the order of...";
+ next;
+ mes "[Tabezthan]";
+
+ for( set @i, 1; @i <= 5; set @i, @i + 1 ) {
+ if(@correct[@i] == 1) mes "Baphomet";
+ if(@correct[@i] == 2) mes "Dark Lord";
+ if(@correct[@i] == 3) mes "Bloody Knight";
+ if(@correct[@i] == 4) mes "Stormy Knight";
+ }
+
+ if(@dap < 1) goto LV4_16_FAIL;
+
+ next;
+ mes "[Tabezthan]";
+ mes "You have answered " + @dap + " times correctly.";
+ mes "It seems that your luck is at its highest.";
+ mes "I need some time to prepare, talk to you later.";
+
+ if(countitem(@gem) < 30) goto LV4_HACK;
+ delitem @gem, 30;
+ set lv4_weapon, lv4_weapon + 3;
+ close;
+
+
+LV4_16_FAIL:
+ if(countitem(@gem) < 10) goto LV4_HACK;
+ delitem @gem, 10;
+
+ next;
+ mes "[Tabezthan]";
+ mes "Unfortunately you have failed...";
+ mes "When you have bad luck, you'd better";
+ mes "not expect a good result.";
+ mes "Okay, we must drive away your bad luck.";
+ mes "10 " + @gemstring$ + " will do it.";
+ next;
+ mes "[Tabezthan]";
+ mes "Do not be so dissappointed.";
+ mes "It is still better than wasting 30 of them";
+ mes "for trying to make a thing when you know";
+ mes "you would not make it. ";
+ next;
+ mes "[Tabezthan]";
+ mes "If you need something to prepare,";
+ mes "please do. I will wait for you here.";
+ close;
+
+
+LV4_16_NOGEM:
+ mes "[Tabezthan]";
+ mes "Umm...it seems you are lacking " + @gemstring$;
+ mes "Please count them and";
+ mes "if you don't have enough,";
+ mes "you can go gather more first.";
+ close;
+
+
+
+//--------------------------------------------------
+//Weapon Creation
+//--------------------------------------------------
+LV4_19:
+ mes "[Tabezthan]";
+ mes "Great, I am also ready.";
+ mes "Shall we start now? Give me a minute.";
+ mes "I need to arrange these materials in a magic circle.";
+ next;
+ mes "- He arranges materials in a strange circle -";
+ mes "- and starts chanting in a strange language. -";
+ mes "- As he does that, suddenly the air surrounding him -";
+ mes "- seems to change and you feel something powerful-";
+ mes "- gathering around him and the materials. -";
+ next;
+ mes "[Tabezthan]";
+ mes "Please understand that the power is not from me.";
+ mes "I just used my ability to gather the power into these materials.";
+ mes "The power has come from the city of the dead.";
+ next;
+ mes "[Tabezthan]";
+ mes "The result is in God's hands.";
+ mes "Let's pray for a good result together.";
+ mes "Hmmmmm!";
+ next;
+ mes "- After a while...you find the materials -";
+ mes "- are gathering and combining into one new thing. -";
+ mes "- Does that mean that you have succeeded or failed?! -";
+ next;
+ mes "[Tabezthan]";
+ mes "?!...God must bless you!";
+ mes "I cannot believe that I created such a rare weapon!";
+ mes "Yes, my late father told me the name of this weapon.";
+
+ switch( lv4_weapon ) {
+ case 19:
+ mes "That is Caesar's Sword.";
+ getitem 1134, 1; // 1134,Caesar's_Sword
+ break;
+ case 20:
+ mes "That is Talefing.";
+ getitem 1139, 1; // 1139,Talefing_
+ break;
+ case 21:
+ mes "That is Sabbath.";
+ getitem 1365, 1; // 1365,Sabbath
+ break;
+ }
+
+ set lv4_weapon, 0;
+ mes "[Tabezthan]";
+ mes "Now, since I made this with materials";
+ mes "that you have brought, this is yours now.";
+ mes "I only helped you to make it,";
+ mes "and I am glad to give this to you.";
+ next;
+ mes "[Tabezthan]";
+ mes "Well, feel free to come back";
+ mes "if you want to make a thing again...hahaha.";
+ mes "The weapon was made to be yours.";
+ close;
+
+
+
+//--------------------------------------------------
+//Other Quests
+//--------------------------------------------------
+LV4_14:
+ mes "[Tabezthan]";
+ mes "Umm...you don't have a business with me, do you?";
+ mes "Please do not think of me as an old fool.";
+ mes "When a man gets older, he can see through other people's minds.";
+ mes "Go ahead and do what you have been doing.";
+ mes "Do not let me intrrupt you any longer.";
+ close;
+
+
+
+//--------------------------------------------------
+//Hack Attempt
+//--------------------------------------------------
+LV4_HACK:
+ mes "[Tabezthan]";
+ mes "Hmm. There seems to be a bit of problem.";
+ set lv4_weapon, 0;
+ logmes "[" +strcharinfo(0) + "] tried to hack LV4 quest.";
+ close;
+}
+
+//--------------------------------------------------
+// Bill Thayer, Gives hints for S grade weapons quests
+//--------------------------------------------------
+
+aldebaran.gat,178,239,3 script Bill Thayer 712,{
+ // Explain Materials
+ if(lv4_weapon == 26) goto LV4_26;
+ if(lv4_weapon == 27) goto LV4_27;
+ if(lv4_weapon == 28) goto LV4_28;
+
+ if(lv4_weapon == 35) goto LV4_35;
+ if(lv4_weapon == 36) goto LV4_36;
+ if(lv4_weapon == 37) goto LV4_37;
+
+ if(lv4_weapon == 44) goto LV4_44;
+ if(lv4_weapon == 45) goto LV4_45;
+ if(lv4_weapon == 46) goto LV4_46;
+
+ if(lv4_weapon == 53) goto LV4_53;
+ if(lv4_weapon == 54) goto LV4_54;
+ if(lv4_weapon == 55) goto LV4_55;
+
+ // Guide
+ if(lv4_weapon == 22) goto LV4_22;
+ if(lv4_weapon == 23) goto LV4_23;
+
+ if(lv4_weapon == 31) goto LV4_31;
+ if(lv4_weapon == 32) goto LV4_32;
+
+ if(lv4_weapon == 40) goto LV4_40;
+ if(lv4_weapon == 41) goto LV4_41;
+
+ if(lv4_weapon == 49) goto LV4_49;
+ if(lv4_weapon == 50) goto LV4_50;
+
+ mes "[Bill Thayer]";
+ mes "...I cannot do anything now.";
+ mes "In the past, I used to be a well-known weaponsmith";
+ mes "but now I am just a lonely old man who lost all of his sons.";
+ mes "Please leave me alone.";
+ close;
+
+LV4_27:
+LV4_28:
+LV4_36:
+LV4_37:
+LV4_45:
+LV4_46:
+LV4_54:
+LV4_55:
+ if(lv4_weapon == 27)
+{
+ set @LV4_Gem1Name$, "Peridot";
+ set @LV4_Gem2Name$, "Turquoise";
+ set @LV4_Gem3Name$, "Agate";
+}
+ if(lv4_weapon == 28)
+{
+ set @LV4_Gem1Name$, "Phlogopite";
+ set @LV4_Gem2Name$, "Pyroxene";
+ set @LV4_Gem3Name$, "Rose Quartz";
+}
+ if(lv4_weapon == 36)
+{
+ set @LV4_Gem1Name$, "Muscovite";
+ set @LV4_Gem2Name$, "Rose Quartz";
+ set @LV4_Gem3Name$, "Peridot";
+}
+ if(lv4_weapon == 37)
+{
+ set @LV4_Gem1Name$, "Biotite";
+ set @LV4_Gem2Name$, "Agate";
+ set @LV4_Gem3Name$, "Citrine";
+}
+ if(lv4_weapon == 45)
+{
+ set @LV4_Gem1Name$, "Turquoise";
+ set @LV4_Gem2Name$, "Biotite";
+ set @LV4_Gem3Name$, "Rose Quartz";
+}
+ if(lv4_weapon == 46)
+{
+ set @LV4_Gem1Name$, "Citrine";
+ set @LV4_Gem2Name$, "Pyroxene";
+ set @LV4_Gem3Name$, "Phlogopite";
+}
+ if(lv4_weapon == 54)
+{
+ set @LV4_Gem1Name$, "Muscovite";
+ set @LV4_Gem2Name$, "Agate";
+ set @LV4_Gem3Name$, "Citrine";
+}
+ if(lv4_weapon == 55)
+{
+ set @LV4_Gem1Name$, "Pyroxene";
+ set @LV4_Gem2Name$, "Turquoise";
+ set @LV4_Gem3Name$, "Phlogopite";
+}
+
+ mes "[Bill Thayer]";
+ mes "Hmm...it seems that you need 30 of";
+ mes @LV4_Gem1Name$ + ", " + @LV4_Gem2Name$ + ", and " + @LV4_Gem3Name$;
+ mes "I am sure that those are the materials...";
+ mes "but I cannot guarantee anything about the result...";
+ next;
+ mes "[Bill Thayer]";
+ mes "My sons passed away before we finished this research...";
+ mes "Hahaha...let's not talk about it.";
+ mes "I told you what you need anyway.";
+ close;
+
+
+LV4_26:
+LV4_35:
+LV4_44:
+LV4_53:
+ mes "[Bill Thayer]";
+ if(lv4_weapon == 26) mes "What, Kayron's research?";
+ if(lv4_weapon == 35) mes "What, Reyghema's research?";
+ if(lv4_weapon == 44) mes "What? Hein's research?";
+ if(lv4_weapon == 53) mes "What? Waltboughst's research?";
+ mes "How do you know him?";
+ mes "Were you a friend of him when he was still alive?";
+ mes "Ah....there must an act of providence.";
+ next;
+
+ set lv4_weapon, lv4_weapon + rand(1, 2);
+
+ switch( lv4_weapon ) {
+ case 27:
+ set @LV4_Gem1Name$, "Peridot";
+ set LV4_Gem1, $@LV4_Olivine;
+ set @LV4_Gem2Name$, "Turquoise";
+ set LV4_Gem2, $@LV4_Turquoise;
+ set @LV4_Gem3Name$, "Agate";
+ set LV4_Gem3, $@LV4_Agate;
+ break;
+ case 28:
+ set @LV4_Gem1Name$, "Phlogopite";
+ set LV4_Gem1, $@LV4_Phlogopite;
+ set @LV4_Gem2Name$, "Pyroxene";
+ set LV4_Gem2, $@LV4_Pyroxene;
+ set @LV4_Gem3Name$, "Rose Quartz";
+ set LV4_Gem3, $@LV4_Rose_Quartz;
+ break;
+ case 36:
+ set @LV4_Gem1Name$, "Muscovite";
+ set LV4_Gem1, $@LV4_Muscovite;
+ set @LV4_Gem2Name$, "Rose Quartz";
+ set LV4_Gem2, $@LV4_Rose_Quartz ;
+ set @LV4_Gem3Name$, "Peridot";
+ set LV4_Gem3, $@LV4_Olivine;
+ break;
+ case 37:
+ set @LV4_Gem1Name$, "Biotite";
+ set LV4_Gem1, $@LV4_Biotite;
+ set @LV4_Gem2Name$, "Agate";
+ set LV4_Gem2, $@LV4_Agate;
+ set @LV4_Gem3Name$, "Citrine";
+ set LV4_Gem3, $@LV4_Citrine;
+ break;
+ case 45:
+ set @LV4_Gem1Name$, "Turquoise";
+ set LV4_Gem1, $@LV4_Turquoise;
+ set @LV4_Gem2Name$, "Biotite";
+ set LV4_Gem2, $@LV4_Biotite;
+ set @LV4_Gem3Name$, "Rose Quartz";
+ set LV4_Gem3, $@LV4_Rose_Quartz;
+ break;
+ case 46:
+ set @LV4_Gem1Name$, "Citrine";
+ set LV4_Gem1, $@LV4_Citrine;
+ set @LV4_Gem2Name$, "Pyroxene";
+ set LV4_Gem2, $@LV4_Pyroxene;
+ set @LV4_Gem3Name$, "Phlogopite";
+ set LV4_Gem3, $@LV4_Phlogopite;
+ break;
+ case 54:
+ set @LV4_Gem1Name$, "Muscovite";
+ set LV4_Gem1, $@LV4_Muscovite;
+ set @LV4_Gem2Name$, "Agate";
+ set LV4_Gem2, $@LV4_Agate;
+ set @LV4_Gem3Name$, "Citrine";
+ set LV4_Gem3, $@LV4_Citrine;
+ break;
+ case 55:
+ set @LV4_Gem1Name$, "Pyroxene";
+ set LV4_Gem1, $@LV4_Pyroxene;
+ set @LV4_Gem2Name$, "Turquoise";
+ set LV4_Gem2, $@LV4_Turquoise;
+ set @LV4_Gem3Name$, "Phlogopite";
+ set LV4_Gem3, $@LV4_Phlogopite;
+ break;
+ }
+
+ mes "[Bill Thayer]";
+ mes "Hmm...it seems that you need 30 of";
+ mes @LV4_Gem1Name$ + ", " + @LV4_Gem2Name$ + ", and " + @LV4_Gem3Name$;
+ mes "I am sure that those are the materials...";
+ mes "but I cannot guarantee anything about the result...";
+ next;
+ mes "[Bill Thayer]";
+ mes "My sons passed away before we finished this research...";
+ mes "Hahaha...let's not talk about it.";
+ mes "I told you what you need anyway.";
+ close;
+
+
+LV4_22:
+LV4_23:
+ mes "[Bill Thayer]";
+ mes "Oh well, I told you already";
+ mes "that there is nothing I can do for you...";
+ mes "since my sons are all gone...why are";
+ mes "you wasting my breath? ^4D4DFFYou are helpless.^000000";
+ set lv4_weapon, 23;
+ next;
+ mes "[Bill Thayer]";
+ mes "...you just made me";
+ mes "miss my sons again...";
+ mes "Please leave me alone.";
+ close;
+
+
+LV4_31:
+LV4_32:
+ mes "[Bill Thayer]";
+ mes "All of my sons broke my heart by dying young...";
+ mes "...youth...what is youth?";
+ mes "^4D4DFFThat means that you never regret anything!^000000";
+ set lv4_weapon, 32;
+ next;
+ mes "[Bill Thayer]";
+ mes "That was what I used to tell to my sons.";
+ mes "Please remember that,";
+ mes "never regret anything that you have done.";
+ mes "However, in order to do that, you must";
+ mes "do everything right...that's all I can tell you for now.";
+ close;
+
+
+LV4_40:
+LV4_41:
+ mes "[Bill Thayer]";
+ mes "...no matter how much you are willing to pay me,";
+ mes "I am not going to forge any weapons.";
+ mes "Even when I was actively forging weapons,";
+ mes "I didn't accept money from my clients.";
+ mes "You know why?";
+ next;
+ mes "[Bill Thayer]";
+ mes "It brings me bad luck ^4D4DFFto^000000";
+ mes "^4D4DFFforge a good weapon.^000000";
+ mes "Therefore I didn't receive money from them.";
+ set lv4_weapon, 41;
+ next;
+ mes "[Bill Thayer]";
+ mes "Well, I am not going to do so";
+ mes "even if you offer me something else other than money";
+ mes "...unless all of my sons come back";
+ mes "alive....";
+ close;
+
+
+LV4_49:
+LV4_50:
+ mes "[Bill Thayer]";
+ mes "...do you not have anything to do?";
+ mes "I hope you stop bothering me";
+ mes "and trying your best for your work.";
+ mes "Ah...trying best does not always";
+ mes "result in a success though.";
+ next;
+ mes "[Bill Thayer]";
+ mes "However, ^4D4DFFall the successful men^000000";
+ mes "^4D4DFFin the history tried their best!^000000";
+ mes "I hope you will remember that.";
+ mes "I used to tell this to my sons when they were alive.";
+ mes "Hahaha...";
+ set lv4_weapon, 50;
+ close;
+}
+
+//--------------------------------------------------
+// Kayron, creates Longinus' Spear, Guillotine, Great Axe and Brionac
+//--------------------------------------------------
+
+niflheim.gat,240,193,3 script Kayron 794, {
+ set @NowWeight, MaxWeight - Weight;
+ if (@NowWeight >= 3000) goto LV4_NOT_OW;
+ mes "- Wait a minute! -";
+ mes "- You are currently overweight. -";
+ mes "- Please lose some weight -";
+ mes "- and try again. -";
+ close;
+
+
+LV4_NOT_OW:
+ if(BaseLevel >= 80) goto LV4_LEVEL_PASS;
+ mes "[Kayron]";
+ mes "Bah, I cannot believe";
+ mes "that such a weak man like you even came here.";
+ mes "You have an invisible sign on your forehead";
+ mes "that indicates you are a weakling. Be strong first.";
+ close;
+
+
+LV4_LEVEL_PASS:
+ if(lv4_weapon == 0) goto LV4_0;
+ if(lv4_weapon < 22) goto LV4_21;
+ if(lv4_weapon == 22) goto LV4_22;
+ if(lv4_weapon == 23) goto LV4_23;
+ if(lv4_weapon == 24) goto LV4_24;
+ if(lv4_weapon == 25) goto LV4_25;
+ if(lv4_weapon == 26) goto LV4_26;
+ if(lv4_weapon == 27) goto LV4_27;
+ if(lv4_weapon == 28) goto LV4_28;
+ if(lv4_weapon == 29) goto LV4_29;
+ if(lv4_weapon == 30) goto LV4_30;
+ if(lv4_weapon > 30) goto LV4_31;
+ end; // shouldn't be here
+
+
+LV4_0:
+LV4_22:
+ mes "[Kayron]";
+ mes "I used to be called Kayron when I was alive.";
+ mes "But now I am nothing but";
+ mes "a ghost wandering this place.";
+ mes "I am worthless...I cannot do anything";
+ mes "without a body...";
+ next;
+
+ if(lv4_weapon == 0) goto LV4_0_ASK;
+
+ mes "[Kayron]";
+ mes "Ah...I cannot remember what I was going to say...";
+ mes "Waaahhh.....I cannot remember....";
+ mes "My memory is gone...!";
+ close;
+
+LV4_0_ASK:
+ switch( select( "Show interest.", "Ignore him." ) ) {
+ case 1:
+ mes "[Kayron]";
+ mes "Ah...I cannot remember what I was going to say...";
+ mes "Waaahhh.....I cannot remember....";
+ mes "My memory is gone...!";
+ set lv4_weapon, 22;
+ close;
+ break;
+ case 2:
+ mes "- Because you decided to ignore him, -";
+ mes "- you are no longer able to hear him. -";
+ close;
+ break;
+ }
+ end;
+
+
+LV4_21:
+LV4_31:
+ mes "[Kayron]";
+ mes "I feel something different about you.";
+ mes "Did you come here with a purpose?";
+ mes "I am envious of you...";
+ close;
+
+
+LV4_23:
+ mes "[Kayron]";
+ mes "I used to be called Kayron when I was alive.";
+ mes "But now I am nothing but";
+ mes "a ghost wandering this place.";
+ mes "I am worthless...I cannot do anything";
+ mes "without a body...";
+ next;
+ set @dap1$, "You are helpless.";
+ input @answer1$;
+ if(@answer1$ == @dap1$) goto LV4_23_CORRECT;
+ mes "[Kayron]";
+ mes "...? What did you just say?";
+ mes "I am sorry but I don't think I understood you.";
+ close;
+
+LV4_23_CORRECT:
+ mes "[Kayron]";
+ mes "Yes, You are helpless...?! Eh?";
+ mes "That was my father's favorite saying!";
+ mes "Whoa?! Ah...";
+ mes "Yes...I forgot that I am dead already.";
+ mes "Why did you make me recall something from my past?";
+ mes "It is no use now...";
+ next;
+ mes "[Kayron]";
+ mes "But I want to do something in return...";
+ mes "since you made me find a piece of my mind.";
+ mes "I used to be a weaponsmith in the past,";
+ mes "therefore I am going to forge a nice weapon for you.";
+ next;
+ mes "[Kayron]";
+ mes "But you have to gather the materials for me.";
+ mes "As you see, I do not have a body";
+ mes "that would allow me to touch other objects...";
+ mes "So you got to help me with that.";
+ next;
+ mes "[Kayron]";
+ mes "Luckily this place is filled with mysterious energy,";
+ mes "that makes my work easier!";
+ mes "Heh, even if I fail to forge one,";
+ mes "I don't have to worry about dying.";
+ mes "Because I am dead already! Muhahahaha!";
+ next;
+ mes "[Kayron]";
+ mes "I will talk to you in a while.";
+ mes "I am trying to think of the receipe...";
+ set lv4_weapon, 24;
+ close;
+
+
+LV4_25:
+ if(countitem($@LV4_Hammer_Of_Blacksmith) < 2) goto LV4_25_BASE_MAT;
+ if(countitem($@LV4_Emperium_Anvil) < 1) goto LV4_25_BASE_MAT;
+ if(countitem($@LV4_Illusion_Flower) < 1) goto LV4_25_BASE_MAT;
+ if(countitem($@LV4_Gold) < 20) goto LV4_25_BASE_MAT;
+
+ mes "[Kayron]";
+ mes "Oh...you brought everything I need!";
+ mes "You are a reliable person unlike your appearance.";
+ mes "But here is the thing...";
+ mes "There are some more materials I need...";
+ mes "But I cannot think of any of them...my memory";
+ mes "is unclear...arrrrph...";
+ next;
+ mes "[Kayron]";
+ mes "I need to think about that a little longer.";
+ mes "I know that I really need those materials...awwww....";
+ mes "Do you have any idea to bring my memory back?";
+ mes "At the same time, rest assured that the materials";
+ mes "you brought will be used for my creation. So let me keep them for you.";
+
+ if(countitem($@LV4_Hammer_Of_Blacksmith) < 2) goto LV4_HACK;
+ if(countitem($@LV4_Emperium_Anvil) < 1) goto LV4_HACK;
+ if(countitem($@LV4_Illusion_Flower) < 1) goto LV4_HACK;
+ if(countitem($@LV4_Gold) < 20) goto LV4_HACK;
+ delitem $@LV4_Hammer_Of_Blacksmith, 2;
+ delitem $@LV4_Emperium_Anvil, 1;
+ delitem $@LV4_Illusion_Flower, 1;
+ delitem $@LV4_Gold, 20;
+ set lv4_weapon, 26;
+ close;
+
+LV4_24:
+LV4_25_BASE_MAT:
+ switch( lv4_weapon ) {
+ case 24:
+ mes "[Kayron]";
+ mes "Oh, you came back at a right time.";
+ mes "I just finished my thoughts. Let me tell you one thing.";
+ mes "I cannot guarantee you which weapon will come out of this.";
+ mes "Also you must be willing to take a risk as well...";
+ mes "I guess that the result will be affected by the power";
+ mes "of Nifflheim at the time I make.";
+ next;
+ mes "[Kayron]";
+ mes "Let me give you the list of materials";
+ mes "I need. They are quite a lot,";
+ mes "so write them down if you need.";
+ break;
+ case 25:
+ mes "[Kayron]";
+ mes "I will tell you the list of materials I need again.";
+ mes "I think I need a lot of materials...so";
+ mes "write them down if you need.";
+ break;
+ }
+ next;
+ mes "[Kayron]";
+ mes "I need 2 Hammer of Blacksmith,";
+ mes "1 Emperium Anvil, 1 Illusion Flower and 20 Gold...";
+ next;
+ mes "[Kayron]";
+ mes "Bring these to me first. I am kind of worried";
+ mes "that I forgot something...but I will try to remember";
+ mes "while waiting for you to bring these items.";
+ next;
+ mes "[Kayron]";
+ mes "Have a safe travel.";
+ set lv4_weapon, 25;
+ close;
+
+
+LV4_27:
+LV4_28:
+ if(countitem(LV4_Gem1) < 30) goto LV4_27_NOGEM;
+ if(countitem(LV4_Gem2) < 30) goto LV4_27_NOGEM;
+ if(countitem(LV4_Gem3) < 30) goto LV4_27_NOGEM;
+ mes "[Kayron]";
+ mes "...Um? The items that you brought to me seem";
+ mes "to be good materials for my creation...";
+ mes "Give them to me, I shall try first!";
+ next;
+ mes "[Kayron]";
+ mes "Oh...I was right! How did you";
+ mes "know these are materials I need?";
+ mes "Great, give me a moment!";
+ next;
+ mes "[Kayron]";
+ mes "...wait, I must test your luck first.";
+ mes "Since I am not sure about the result,";
+ mes "we should place trust in luck for the result of my creation.";
+ mes "You must have good luck...";
+ next;
+ mes "[Kayron]";
+ mes "We are going to play 'Rock, Paper, Scissors'.";
+ mes "You must win at least 2 out of 3 times.";
+ mes "If you fail, you must throw away a large amount";
+ mes "of one of the 3 kinds of ore that you have brought.";
+ mes "It is for driving away your bad luck.";
+ next;
+ mes "[Kayron]";
+ mes "I will give you a piece of paper.";
+ mes "You will write down one among 'Rock, Paper, or Scissors'.";
+ mes "I will do the same at the same time.";
+ mes "We will compare each other's paper after.";
+ next;
+
+ set @shobu, 0;
+
+ for( set @i, 1; @i <= 3; set @i, @i + 1 ) {
+ if(@i == 2) mes "[Kayron]";
+ if(@i == 2) mes "Let's play the second one!";
+ if(@i == 3) mes "[Kayron]";
+ if(@i == 3) mes "This will be the last one!";
+ if(@i == 3) mes "Let's compare after this.";
+ set @npchand[@i], rand(1, 3);
+ switch( select( "Scissors", "Rock", "Paper" ) ) {
+ case 1:
+ set @myhand[@i], 1;
+ if(@npchand[@i] == 3) set @shobu, @shobu + 1;
+ break;
+ case 2:
+ set @myhand[@i], 2;
+ if(@npchand[@i] == 1) set @shobu, @shobu + 1;
+ break;
+ case 3:
+ set @myhand[@i], 3;
+ if(@npchand[@i] == 2) set @shobu, @shobu + 1;
+ break;
+ }
+ }
+
+ if(countitem(LV4_Gem1) < 30) goto LV4_HACK;
+ if(countitem(LV4_Gem2) < 30) goto LV4_HACK;
+ if(countitem(LV4_Gem3) < 30) goto LV4_HACK;
+
+ if(@shobu > 1) goto LV4_27_WIN;
+
+ switch ( rand(1 ,3) ) {
+ case 1:
+ delitem LV4_Gem1, 30;
+ break;
+ case 2:
+ delitem LV4_Gem2, 30;
+ break;
+ case 3:
+ delitem LV4_Gem3, 30;
+ break;
+ }
+ goto LV4_27_RESULT;
+
+LV4_27_WIN:
+ delitem LV4_Gem1, 30;
+ delitem LV4_Gem2, 30;
+ delitem LV4_Gem3, 30;
+ set lv4_weapon, lv4_weapon + 2;
+ goto LV4_27_RESULT;
+
+LV4_27_RESULT:
+ mes "[Kayron]";
+ mes "Okay...I played in the order of...";
+
+ for( set @i, 1; @i <= 3; set @i, @i + 1 ) {
+ if(@npchand[@i] == 1) mes "Scissors";
+ if(@npchand[@i] == 2) mes "Rock";
+ if(@npchand[@i] == 3) mes "Paper";
+ }
+
+ next;
+ mes "[Kayron]";
+ mes "You did in the order of...";
+
+ for( set @i, 1; @i <= 3; set @i, @i + 1 ) {
+ if(@myhand[@i] == 1) mes "Scissors";
+ if(@myhand[@i] == 2) mes "Rock";
+ if(@myhand[@i] == 3) mes "Paper";
+ }
+
+ next;
+
+ if(@shobu > 1) goto LV4_27_SAY_WIN;
+
+ mes "[Kayron]";
+ mes "Well well well...you lost the game.";
+ mes "Ah~ you were close though...";
+ mes "We must drive away bad luck.";
+ next;
+ mes "[Kayron]";
+ mes "Okay, I will wait here,";
+ mes "go bring me the materials again...";
+ close;
+
+LV4_27_SAY_WIN:
+ mes "[Kayron]";
+ mes "Let's see...";
+ mes "You won total " + @shobu + " times.";
+ mes "Ah~ you must be really good at game!";
+ mes "Yes, your luck is at its highest!";
+ next;
+ mes "[Kayron]";
+ mes "I am going to keep my promise.";
+ mes "But I need some time to prepare.";
+ mes "Give me the materials now and I will talk to you later.";
+ close;
+
+LV4_26:
+LV4_27_NOGEM:
+ mes "[Kayron]";
+ mes "Arph...it has not gotten into my memory yet.";
+ mes "Awww....this is a problem.";
+ mes "I used to often discuss the materials";
+ mes "with my family...now I cannot remember what they are...";
+ close;
+
+
+LV4_29:
+LV4_30:
+ mes "[Kayron]";
+ mes "Hahaha...you came back at the right time.";
+ mes "The result? Do you want to know about the result?...";
+ mes "Haha...okay...let's see...";
+ next;
+ mes "[Kayron]";
+ mes "...YES! It's a success!";
+ mes "I created the weapon that got me killed last time!";
+ mes "Look at this...haha! I died while making this!";
+ mes "... The name of the weapon is...";
+
+
+ switch( rand(1, 2) ) {
+ case 1:
+ if(lv4_weapon == 29) mes "Great Axe! Weee~ I made it!";
+ if(lv4_weapon == 29) getitem 1364 ,1; // 1364,Great_Axe
+ if(lv4_weapon == 30) mes "Longinus's Spear! Weee~ I made it!";
+ if(lv4_weapon == 30) getitem 1469, 1; // 1469,Longinus's_Spear
+ break;
+ case 2:
+ if(lv4_weapon == 29) mes "Guillotine! Weee~ I made it!";
+ if(lv4_weapon == 29) getitem 1369, 1; // 1369,Guillotine
+ if(lv4_weapon == 30) mes "Brionac! Weee~ I made it!";
+ if(lv4_weapon == 30) getitem 1470, 1; // 1470,Brionac
+ }
+
+ set lv4_weapon, 0;
+ next;
+ mes "[Kayron]";
+ mes "I finally succeeded in the research...";
+ mes "I want to show this result to my father...";
+ mes "He will be really happy for this.";
+ next;
+ mes "[Kayron]";
+ mes "Ah~ I feel my memories are fading again...";
+ mes "If you see me next time...";
+ mes "please let me remember the memories again...";
+ mes "Thank you...";
+ close;
+
+
+
+//--------------------------------------------------
+//Hack Attempt
+//--------------------------------------------------
+LV4_HACK:
+ mes "[Kayron]";
+ mes "Hmm. There seems to be a bit of problem.";
+ set lv4_weapon, 0;
+ logmes "[" +strcharinfo(0) + "] tried to hack LV4 quest.";
+ close;
+}
+
+//--------------------------------------------------
+// Reyghema, creates Berserk, Tjungkulleti, Rudra's Bow and Brocca(Skewer)
+//--------------------------------------------------
+
+niflheim.gat,99,268,5 script Reyghema 794, {
+ set @NowWeight, MaxWeight - Weight;
+ if (@NowWeight >= 3000) goto LV4_NOT_OW;
+ mes "- Wait a minute! -";
+ mes "- You are currently overweight. -";
+ mes "- Please lose some weight -";
+ mes "- and try again. -";
+ close;
+
+
+LV4_NOT_OW:
+ if(BaseLevel >= 80) goto LV4_LEVEL_PASS;
+ mes "[Reyghema]";
+ mes "Um? Do you have any business with me?";
+ mes "Sorry but I don't. I'm also not";
+ mes "speaking to a weak person like you.";
+ mes "Have a safe travel~";
+ close;
+
+
+LV4_LEVEL_PASS:
+ if(lv4_weapon == 0) goto LV4_0;
+ if(lv4_weapon < 31) goto LV4_30;
+ if(lv4_weapon == 31) goto LV4_31;
+ if(lv4_weapon == 32) goto LV4_32;
+ if(lv4_weapon == 33) goto LV4_33;
+ if(lv4_weapon == 34) goto LV4_34;
+ if(lv4_weapon == 35) goto LV4_35;
+ if(lv4_weapon == 36) goto LV4_36;
+ if(lv4_weapon == 37) goto LV4_37;
+ if(lv4_weapon == 38) goto LV4_38;
+ if(lv4_weapon == 39) goto LV4_39;
+ if(lv4_weapon > 39) goto LV4_40;
+ end; // shouldn't be here
+
+
+LV4_0:
+LV4_31:
+ mes "[Reyghema]";
+ mes "Darn it...I didn't want to die!";
+ mes "Well...there is no living thing that wants to die but...";
+ mes "Especially me, I was too young to die!";
+ mes "Youth! ...Ah...I just remember the word.";
+ mes "Speaking of which...I think I usually said something related to that...";
+ next;
+
+ if(lv4_weapon == 0) goto LV4_0_ASK;
+
+ mes "[Reyghema]";
+ mes "Ah...I cannot remember what I was going to say...";
+ mes "Waaahhh.....I cannot remember....";
+ mes "My memory is gone...!";
+ close;
+
+LV4_0_ASK:
+ switch( select( "Show interest.", "Igonore him." ) ) {
+ case 1:
+ mes "[Reyghema]";
+ mes "Ah...I cannot remember what I was going to say...";
+ mes "Waaahhh.....I cannot remember....";
+ mes "My memory is gone...!";
+ set lv4_weapon, 31;
+ close;
+ break;
+ case 2:
+ mes "- Because you decided to ignore him, -";
+ mes "- you are no longer able to hear him. -";
+ close;
+ break;
+ }
+ end;
+
+
+LV4_30:
+LV4_40:
+ mes "[Reyghema]";
+ mes "I feel something different about you.";
+ mes "Did you come here with a purpose?";
+ mes "I am envious of you...";
+ close;
+
+
+LV4_32:
+ mes "[Reyghema]";
+ mes "I used to be called Reyghema when I was alive.";
+ mes "But now I am nothing but";
+ mes "a ghost wandering this place.";
+ mes "I am worthless...I cannot do anything";
+ mes "without a body...";
+ next;
+ set @dap2$, "That means that you never regret anything!";
+ input @answer2$;
+ if(@answer2$ == @dap2$) goto LV4_32_CORRECT;
+ mes "[Reyghema]";
+ mes "What? Do you want to play a game with me or what?";
+ mes "Unfortunately I have something to do...";
+ mes "wait...what was I going to do?";
+ close;
+
+LV4_32_CORRECT:
+ mes "[Reyghema]";
+ mes "...";
+ next;
+ mes "[Reyghema]";
+ mes "...";
+ mes "......";
+ next;
+ mes "[Reyghema]";
+ mes "...";
+ mes "......";
+ mes ".........";
+ next;
+ mes "[Reyghema]";
+ mes "That's right! I am Bill Thayer the Weaponsmith's";
+ mes "second son! And I must forge a weapon";
+ mes "in order to not regret my youth!";
+ mes "Even if I am dead, I cannot give it up!";
+ next;
+ mes "[Reyghema]";
+ mes "Hey you, thank you for letting me have my memory back!";
+ mes "You need to do me another favor!";
+ mes "Bring me some items, I need to forge a weapon.";
+ mes "Once I make one, I will give it to you in return for your favor.";
+ next;
+ mes "[Reyghema]";
+ mes "Reyghema, breathe deeply first...phew~.";
+ mes "Give me a second!";
+ set lv4_weapon, 33;
+ close;
+
+
+LV4_34:
+ if(countitem($@LV4_Hammer_Of_Blacksmith) < 2) goto LV4_34_BASE_MAT;
+ if(countitem($@LV4_Emperium_Anvil) < 1) goto LV4_34_BASE_MAT;
+ if(countitem($@LV4_Illusion_Flower) < 1) goto LV4_34_BASE_MAT;
+ if(countitem($@LV4_Gold) < 20) goto LV4_34_BASE_MAT;
+
+ mes "[Reyghema]";
+ mes "Oh...you brought everything I need!";
+ mes "You are a reliable person unlike you appear.";
+ mes "But here is the thing...";
+ mes "There are some more materials I need...";
+ mes "But I cannot think of any of them...my memory";
+ mes "is unclear...arrrrph...";
+ next;
+ mes "[Reyghema]";
+ mes "I need to think about that a little longer.";
+ mes "I know that I really need those materials...awwww....";
+ mes "Do you have any idea to bring my memory back?";
+ mes "At the same time, rest assured that the materials";
+ mes "you brought will be used for my creation. So let me keep them for you.";
+
+ if(countitem($@LV4_Hammer_Of_Blacksmith) < 2) goto LV4_HACK;
+ if(countitem($@LV4_Emperium_Anvil) < 1) goto LV4_HACK;
+ if(countitem($@LV4_Illusion_Flower) < 1) goto LV4_HACK;
+ if(countitem($@LV4_Gold) < 20) goto LV4_HACK;
+ delitem $@LV4_Hammer_Of_Blacksmith, 2;
+ delitem $@LV4_Emperium_Anvil, 1;
+ delitem $@LV4_Illusion_Flower, 1;
+ delitem $@LV4_Gold, 20;
+ set lv4_weapon, 35;
+ close;
+
+LV4_33:
+LV4_34_BASE_MAT:
+ switch( lv4_weapon ) {
+ case 33:
+ mes "[Reyghema]";
+ mes "Okay. You don't need any other explaination, do you?";
+ mes "I will tell you what I need";
+ mes "so please do not forget those materials.";
+ break;
+ case 34:
+ mes "[Reyghema]";
+ mes "I will tell you the list of materials I need again.";
+ mes "I think I need a lot of materials...so";
+ mes "write them down if you need.";
+ break;
+ }
+ next;
+ mes "[Reyghema]";
+ mes "I need 2 Hammer of Blacksmith,";
+ mes "1 Emperium Anvil, 1 Illusion Flower and 20 Gold...";
+ mes "...wait...are they all...or do I need more?!";
+ if(lv4_weapon == 33) next;
+ if(lv4_weapon == 33) mes "[Reyghema]";
+ if(lv4_weapon == 33) mes "Ah...I think need something more...it's very important...";
+ if(lv4_weapon == 33) mes "But I cannot remember what more I need....!";
+ if(lv4_weapon == 33) mes "Bah...this is so frustrating.";
+ set lv4_weapon, 34;
+ close;
+
+
+LV4_36:
+LV4_37:
+ if(countitem(LV4_Gem1) < 30) goto LV4_36_NOGEM;
+ if(countitem(LV4_Gem2) < 30) goto LV4_36_NOGEM;
+ if(countitem(LV4_Gem3) < 30) goto LV4_36_NOGEM;
+ mes "[Reyghema]";
+ mes "...Um? The items that you brought to me seem";
+ mes "to be good materials for my creation...";
+ mes "Give them to me, I shall try first!";
+ next;
+ mes "[Reyghema]";
+ mes "Oh...I was right! How did you";
+ mes "know these are materials I need?";
+ mes "Great, give me a moment!";
+ next;
+ mes "[Reyghema]";
+ mes "...wait, I must test your luck first.";
+ mes "Since I am not sure about the result,";
+ mes "we should place trust in luck for the result of my creation.";
+ mes "You must have good luck...";
+ next;
+ mes "[Reyghema]";
+ mes "We are going to play 'Rock, Paper, Scissors'.";
+ mes "You must win at least 2 out of 3 times.";
+ mes "If you fail, you must leave a large amount";
+ mes "of one material you have brought.";
+ mes "It is for driving away your bad luck.";
+ next;
+ mes "[Reyghema]";
+ mes "I will give you a piece of paper.";
+ mes "You will write down one among 'Rock, Paper, or Scissors'.";
+ mes "I will do the same at the same time.";
+ mes "We will then compare each other's paper.";
+ next;
+
+ set @shobu, 0;
+
+ for( set @i, 1; @i <= 3; set @i, @i + 1 ) {
+ if(@i == 2) mes "[Reyghema]";
+ if(@i == 2) mes "Let's play the second one!";
+ if(@i == 3) mes "[Reyghema]";
+ if(@i == 3) mes "This will be the last one!";
+ if(@i == 3) mes "Let's compare after this.";
+ set @npchand[@i], rand(1, 3);
+ switch( select( "Scissors", "Rock", "Paper" ) ) {
+ case 1:
+ set @myhand[@i], 1;
+ if(@npchand[@i] == 3) set @shobu, @shobu + 1;
+ break;
+ case 2:
+ set @myhand[@i], 2;
+ if(@npchand[@i] == 1) set @shobu, @shobu + 1;
+ break;
+ case 3:
+ set @myhand[@i], 3;
+ if(@npchand[@i] == 2) set @shobu, @shobu + 1;
+ break;
+ }
+ }
+
+ if(countitem(LV4_Gem1) < 30) goto LV4_HACK;
+ if(countitem(LV4_Gem2) < 30) goto LV4_HACK;
+ if(countitem(LV4_Gem3) < 30) goto LV4_HACK;
+
+ if(@shobu > 1) goto LV4_36_WIN;
+
+ switch ( rand(1 ,3) ) {
+ case 1:
+ delitem LV4_Gem1, 30;
+ break;
+ case 2:
+ delitem LV4_Gem2, 30;
+ break;
+ case 3:
+ delitem LV4_Gem3, 30;
+ break;
+ }
+ goto LV4_36_RESULT;
+
+LV4_36_WIN:
+ delitem LV4_Gem1, 30;
+ delitem LV4_Gem2, 30;
+ delitem LV4_Gem3, 30;
+ set lv4_weapon, lv4_weapon + 2;
+ goto LV4_36_RESULT;
+
+LV4_36_RESULT:
+ mes "[Reyghema]";
+ mes "Okay...I played in the order of...";
+
+ for( set @i, 1; @i <= 3; set @i, @i + 1 ) {
+ if(@npchand[@i] == 1) mes "Scissors";
+ if(@npchand[@i] == 2) mes "Rock";
+ if(@npchand[@i] == 3) mes "Paper";
+ }
+
+ next;
+ mes "[Reyghema]";
+ mes "You did in the order of...";
+
+ for( set @i, 1; @i <= 3; set @i, @i + 1 ) {
+ if(@myhand[@i] == 1) mes "Scissors";
+ if(@myhand[@i] == 2) mes "Rock";
+ if(@myhand[@i] == 3) mes "Paper";
+ }
+
+ next;
+
+ if(@shobu > 1) goto LV4_36_SAY_WIN;
+
+ mes "[Reyghema]";
+ mes "Well well well...you lost the game.";
+ mes "Ah~ you were close though...";
+ mes "We must drive away bad luck.";
+ next;
+ mes "[Reyghema]";
+ mes "Okay, I will wait here,";
+ mes "go bring me the materials again...";
+ close;
+
+LV4_36_SAY_WIN:
+ mes "[Reyghema]";
+ mes "Let's see...";
+ mes "You won total " + @shobu + " times.";
+ mes "Ah~ you must be really good at game!";
+ mes "Yes, your luck is at its highest!";
+ next;
+ mes "[Reyghema]";
+ mes "I am going to keep my promise.";
+ mes "But I need some time to prepare.";
+ mes "Give me the materials now and I will talk to you later.";
+ close;
+
+LV4_35:
+LV4_36_NOGEM:
+ mes "[Reyghema]";
+ mes "Not yet! I have not remembered it yet! Awwww...";
+ mes "This is killing me...";
+ mes "Oh, wait...I died already...";
+ mes "God damn it!";
+ close;
+
+
+LV4_38:
+LV4_39:
+ mes "[Reyghema]";
+ mes "..................";
+ next;
+ mes "[Reyghema]";
+ mes "...YES! It's a success!";
+ mes "I created the weapon that got me killed last time!";
+ mes "Look at this...haha! I died while making this!";
+ mes "... The name of the weapon is...";
+
+ switch( rand(1, 2) ) {
+ case 1:
+ if(lv4_weapon == 38) mes "Berserk! Weee~ Weee~ I made it!";
+ if(lv4_weapon == 38) getitem 1814 ,1; // 1814,Berserk
+ if(lv4_weapon == 39) mes "Tjungkuletti! Weee~ I made it!";
+ if(lv4_weapon == 39) getitem 1416, 1; // 1416,Tjungkuletti
+ break;
+ case 2:
+ if(lv4_weapon == 38) mes "Rudra's Bow! Weee~ I made it!";
+ if(lv4_weapon == 38) getitem 1720, 1; // 1720,Bow_of_Rudra
+ if(lv4_weapon == 39) mes "Brocca!";
+ if(lv4_weapon == 39) getitem 1415, 1; // 1415,Skewer
+ }
+
+ set lv4_weapon, 0;
+ next;
+ mes "[Reyghema]";
+ mes "...*sigh*.";
+ next;
+ mes "[Reyghema]";
+ mes "Happiness lasts too short...";
+ mes "As I am a dead man, I think I am not allowed";
+ mes "to keep the memory of past....";
+ mes "My memory is fading again...";
+ next;
+ mes "[Reyghema]";
+ mes "But thank you for letting me achieve";
+ mes "my long-cherished desire.";
+ mes "If we meet again, please let me";
+ mes "retrieve my memory of past again.";
+ mes "So I can try forging another weapon.";
+ next;
+ mes "[Reyghema]";
+ mes "Farewell, adventurer.";
+ close;
+
+
+
+//--------------------------------------------------
+//Hack Attempt
+//--------------------------------------------------
+LV4_HACK:
+ mes "[Reyghema]";
+ mes "Hmm. There seems to be a bit of problem.";
+ set lv4_weapon, 0;
+ logmes "[" +strcharinfo(0) + "] tried to hack LV4 quest.";
+ close;
+}
+
+//--------------------------------------------------
+// Hein, creates Excalibur, Schweisersabel, Dragon Slayer and Edge
+//--------------------------------------------------
+
+niflheim.gat,187,280,3 script Hein 795, {
+ set @NowWeight, MaxWeight - Weight;
+ if (@NowWeight >= 3000) goto LV4_NOT_OW;
+ mes "- Wait a minute! -";
+ mes "- You are currently overweight. -";
+ mes "- Please lose some weight -";
+ mes "- and try again. -";
+ close;
+
+
+LV4_NOT_OW:
+ if(BaseLevel >= 80) goto LV4_LEVEL_PASS;
+ mes "[Hein]";
+ mes "You should care about other people";
+ mes "more than yourself...";
+ mes "You are quite weak for an adventurer.";
+ close;
+
+
+LV4_LEVEL_PASS:
+ if(lv4_weapon == 0) goto LV4_0;
+ if(lv4_weapon < 40) goto LV4_39;
+ if(lv4_weapon == 40) goto LV4_40;
+ if(lv4_weapon == 41) goto LV4_41;
+ if(lv4_weapon == 42) goto LV4_42;
+ if(lv4_weapon == 43) goto LV4_43;
+ if(lv4_weapon == 44) goto LV4_44;
+ if(lv4_weapon == 45) goto LV4_45;
+ if(lv4_weapon == 46) goto LV4_46;
+ if(lv4_weapon == 47) goto LV4_47;
+ if(lv4_weapon == 48) goto LV4_48;
+ if(lv4_weapon > 48) goto LV4_49;
+ end; // shouldn't be here
+
+
+LV4_0:
+LV4_40:
+ mes "[Hein]";
+ mes "Ah...are you going to ask me something?";
+ mes "However, I am not accepting money";
+ mes "from my client. Because.";
+ mes "It brings me bad luck to...";
+ mes "...whaat? What did I just say?";
+ mes "Awww....I am confused.";
+ next;
+
+ if(lv4_weapon == 0) goto LV4_0_ASK;
+
+ mes "[Hein]";
+ mes "Why did I speak of money?";
+ mes "I am a dead man and dead people";
+ mes "do not need money...arf!";
+ mes "My head is hurting...I guess that";
+ mes "a dead man can have a headache!";
+ close;
+
+LV4_0_ASK:
+ switch( select( "Show interest.", "Igonore him." ) ) {
+ case 1:
+ mes "[Hein]";
+ mes "Why did I speak of money?";
+ mes "I am a dead man and dead people";
+ mes "do not need money...arf!";
+ mes "My head is hurting...I guess that";
+ mes "a dead man can have a headache!";
+ set lv4_weapon, 40;
+ close;
+ break;
+ case 2:
+ mes "- Because you decided to ignore him, -";
+ mes "- you are no longer able to hear him. -";
+ close;
+ break;
+ }
+ end;
+
+
+LV4_39:
+LV4_49:
+ mes "[Hein]";
+ mes "I feel something different from you.";
+ mes "Did you come here with a purpose?";
+ mes "I am envious of you...";
+ close;
+
+
+LV4_41:
+ mes "[Hein]";
+ mes "Ah...are you going to ask me something?";
+ mes "However, I am not accepting money";
+ mes "from my client. Because.";
+ mes "It brings me bad luck to...";
+ next;
+ set @dap3$, "to forge a good weapon.";
+ input @answer3$;
+ if(@answer3$ == @dap3$) goto LV4_41_CORRECT;
+ mes "[Hein]";
+ mes "...? What are you talking about?";
+ mes "What was I going to say?";
+ mes "Arf....my head is hurting...!";
+ close;
+
+LV4_41_CORRECT:
+ mes "[Hein]";
+ mes "That's right! It's bad luck!";
+ mes "Creating weapons is betting! And I am...I am?";
+ mes "Oh right...I forgot that. Yes, I am dead.";
+ mes "Ahahahahaha.";
+ set lv4_weapon, 42;
+ next;
+ mes "[Hein]";
+ mes "Well, I must be a lucky dead man";
+ mes "for remembering my past!";
+ mes "Hahahahaha!";
+ next;
+ mes "[Hein]";
+ mes "Perhaps God wants me to";
+ mes "continue my research...?";
+ mes "wait, let me ask you a favor.";
+ next;
+ mes "[Hein]";
+ mes "Can you bring me some materials";
+ mes "that I need for my research?";
+ mes "If I succeed in the research,";
+ mes "I will give you the result in return.";
+ next;
+ mes "[Hein]";
+ mes "You can take your time to think of my offer.";
+ mes "Please talk to me later.";
+ close;
+
+
+LV4_43:
+ if(countitem($@LV4_Hammer_Of_Blacksmith) < 2) goto LV4_43_BASE_MAT;
+ if(countitem($@LV4_Emperium_Anvil) < 1) goto LV4_43_BASE_MAT;
+ if(countitem($@LV4_Illusion_Flower) < 1) goto LV4_43_BASE_MAT;
+ if(countitem($@LV4_Gold) < 20) goto LV4_43_BASE_MAT;
+
+ mes "[Hein]";
+ mes "Oh, you have brought the materials I asked.";
+ mes "Here's the thing. I cannot remember what I need other than those...";
+ mes "Aww....I need some more time to think of them...";
+ next;
+ mes "[Hein]";
+ mes "Please try to search what I need...if you can.";
+ mes "Of course, it will not be an easy job for you";
+ mes "to do so...but I know you have a body to move with your will...";
+ mes "It is still better than being a ghost like me...";
+ next;
+ mes "[Hein]";
+ mes "Please give me all the materials you have brought.";
+ mes "I will keep them for you.";
+
+ if(countitem($@LV4_Hammer_Of_Blacksmith) < 2) goto LV4_HACK;
+ if(countitem($@LV4_Emperium_Anvil) < 1) goto LV4_HACK;
+ if(countitem($@LV4_Illusion_Flower) < 1) goto LV4_HACK;
+ if(countitem($@LV4_Gold) < 20) goto LV4_HACK;
+ delitem $@LV4_Hammer_Of_Blacksmith, 2;
+ delitem $@LV4_Emperium_Anvil, 1;
+ delitem $@LV4_Illusion_Flower, 1;
+ delitem $@LV4_Gold, 20;
+ set lv4_weapon, 44;
+ close;
+
+LV4_42:
+LV4_43_BASE_MAT:
+ switch( lv4_weapon ) {
+ case 42:
+ mes "[Hein]";
+ mes "I will take you speaking to me again";
+ mes "as the approval of my request.";
+ mes "Thank you so much.";
+ next;
+ mes "[Hein]";
+ mes "I need 2 Hammer of Blacksmith,";
+ mes "1 Emperium Anvil, 1 Illusion Flower and 20 Gold...";
+ mes "Most likely they are the ones I need.";
+ next;
+ mes "[Hein]";
+ mes "And I do need 3 more things...";
+ mes "but I have a hard time remembering what they are.";
+ mes "That means that my memory of the past is not";
+ mes "absolutely back.";
+ next;
+ mes "[Hein]";
+ mes "*sigh*...I am so sorry to ask of you this...";
+ mes "but please search for what those 3 things are.";
+ mes "In the meantime, I will try to remember them.";
+ mes "Thank you.";
+ set lv4_weapon, 43;
+ break;
+ case 43:
+ mes "[Hein]";
+ mes "I need 2 Hammer of Blacksmith,";
+ mes "1 Emperium Anvil, 1 Illusion Flower and 20 Gold...";
+ mes "Most likely they are the ones I need.";
+ break;
+ }
+ close;
+
+
+LV4_45:
+LV4_46:
+ if(countitem(LV4_Gem1) < 30) goto LV4_45_NOGEM;
+ if(countitem(LV4_Gem2) < 30) goto LV4_45_NOGEM;
+ if(countitem(LV4_Gem3) < 30) goto LV4_45_NOGEM;
+ mes "[Hein]";
+ mes "...Um? The items that you brought to me seem";
+ mes "to be good materials for my creation...";
+ mes "Give them to me, I shall try first!";
+ next;
+ mes "[Hein]";
+ mes "Oh...I was right! How did you";
+ mes "know these are materials I need?";
+ mes "Great, give me a moment!";
+ next;
+ mes "[Hein]";
+ mes "...Wait, I must test your luck first.";
+ mes "Since I am not sure about the result,";
+ mes "we should trust to luck for the result of my creation.";
+ mes "You must have good luck...";
+ next;
+ mes "[Hein]";
+ mes "We are going to play 'Rock, Paper, Scissors'.";
+ mes "You must win at least 2 out of 3 times.";
+ mes "If you fail, you must leave a large amount";
+ mes "of one material you have brought.";
+ mes "It is for driving away your bad luck.";
+ next;
+ mes "[Hein]";
+ mes "I will give you a piece of paper.";
+ mes "You will write down one among 'Rock, Paper, or Scissors'.";
+ mes "I will do the same at the same time.";
+ mes "We will then compare each other's paper at the end.";
+ next;
+
+ set @shobu, 0;
+
+ for( set @i, 1; @i <= 3; set @i, @i + 1 ) {
+ if(@i == 2) mes "[Hein]";
+ if(@i == 2) mes "Let's play the second one!";
+ if(@i == 3) mes "[Hein]";
+ if(@i == 3) mes "This will be the last one!";
+ if(@i == 3) mes "Let's compare after this.";
+ set @npchand[@i], rand(1, 3);
+ switch( select( "Scissors", "Rock", "Paper" ) ) {
+ case 1:
+ set @myhand[@i], 1;
+ if(@npchand[@i] == 3) set @shobu, @shobu + 1;
+ break;
+ case 2:
+ set @myhand[@i], 2;
+ if(@npchand[@i] == 1) set @shobu, @shobu + 1;
+ break;
+ case 3:
+ set @myhand[@i], 3;
+ if(@npchand[@i] == 2) set @shobu, @shobu + 1;
+ break;
+ }
+ }
+
+ if(countitem(LV4_Gem1) < 30) goto LV4_HACK;
+ if(countitem(LV4_Gem2) < 30) goto LV4_HACK;
+ if(countitem(LV4_Gem3) < 30) goto LV4_HACK;
+
+ if(@shobu > 1) goto LV4_45_WIN;
+
+ switch ( rand(1 ,3) ) {
+ case 1:
+ delitem LV4_Gem1, 30;
+ break;
+ case 2:
+ delitem LV4_Gem2, 30;
+ break;
+ case 3:
+ delitem LV4_Gem3, 30;
+ break;
+ }
+ goto LV4_45_RESULT;
+
+LV4_45_WIN:
+ delitem LV4_Gem1, 30;
+ delitem LV4_Gem2, 30;
+ delitem LV4_Gem3, 30;
+ set lv4_weapon, lv4_weapon + 2;
+ goto LV4_45_RESULT;
+
+LV4_45_RESULT:
+ mes "[Hein]";
+ mes "Okay...I played in the order of...";
+
+ for( set @i, 1; @i <= 3; set @i, @i + 1 ) {
+ if(@npchand[@i] == 1) mes "Scissors";
+ if(@npchand[@i] == 2) mes "Rock";
+ if(@npchand[@i] == 3) mes "Paper";
+ }
+
+ next;
+ mes "[Hein]";
+ mes "You did in the order of...";
+
+ for( set @i, 1; @i <= 3; set @i, @i + 1 ) {
+ if(@myhand[@i] == 1) mes "Scissors";
+ if(@myhand[@i] == 2) mes "Rock";
+ if(@myhand[@i] == 3) mes "Paper";
+ }
+
+ next;
+
+ if(@shobu > 1) goto LV4_45_SAY_WIN;
+
+ mes "[Hein]";
+ mes "Well well well...you lost the game.";
+ mes "Ah~ you were close though...";
+ mes "We must drive away bad luck.";
+ next;
+ mes "[Hein]";
+ mes "Okay, I will wait here,";
+ mes "go bring me the materials again...";
+ close;
+
+LV4_45_SAY_WIN:
+ mes "[Hein]";
+ mes "Let's see...";
+ mes "You won total " + @shobu + " times.";
+ mes "Ah~ you must be really good at game!";
+ mes "Yes, your luck is at its highest!";
+ next;
+ mes "[Hein]";
+ mes "I am going to keep my promise.";
+ mes "But I need some time to prepare.";
+ mes "Give me the materials now and I will talk to you later.";
+ close;
+
+LV4_44:
+LV4_45_NOGEM:
+ mes "[Hein]";
+ mes "I am sorry but please give me more time to remember the materials...";
+ mes "I had really good memory when I was alive...";
+ mes "So I could even recite them right after I woke up...";
+ close;
+
+
+LV4_47:
+LV4_48:
+ mes "[Hein]";
+ mes "Oh, yes. I just finished the work.";
+ mes "Do you want to know the result? Okay...";
+ mes "Breathe deeply...before we check.";
+ mes "The result is...";
+ next;
+ mes "[Hein]";
+ mes "a Big Success! This is great!";
+ mes "I have not labored in vain!";
+ mes "Let's see the weapon...it is...";
+
+ switch( rand(1, 2) ) {
+ case 1:
+ if(lv4_weapon == 47) mes "Edge.";
+ if(lv4_weapon == 47) getitem 1132 ,1; // 1132,Edge
+ if(lv4_weapon == 48) mes "Dragon Slayer.";
+ if(lv4_weapon == 48) getitem 1166, 1; // 1166,Dragon_Slayer
+ break;
+ case 2:
+ if(lv4_weapon == 47) mes "Excalibur.";
+ if(lv4_weapon == 47) getitem 1137, 1; // 1137,Excalibur
+ if(lv4_weapon == 48) mes "Schweizersabel.";
+ if(lv4_weapon == 48) getitem 1167, 1; // 1167,Schweizersabel
+ }
+
+ set lv4_weapon, 0;
+ next;
+ mes "[Hein]";
+ mes "Well...this is it.";
+ mes "I feel my memory is fading again...";
+ mes "Hahaha...being dead is not good.";
+ next;
+ mes "[Hein]";
+ mes "Thank you for your help. And if you have";
+ mes "a chance to visit Nifflheim again,";
+ mes "please come back and retrieve my memory once more...";
+ next;
+ mes "[Hein]";
+ mes "Aaahhhh! I don't think I will";
+ mes "remember you next time...";
+ mes "Take care, adventurer...father, I made it...";
+ close;
+
+
+
+//--------------------------------------------------
+//Hack Attempt
+//--------------------------------------------------
+LV4_HACK:
+ mes "[Hein]";
+ mes "Hmm. There seems to be a bit of problem.";
+ set lv4_weapon, 0;
+ logmes "[" +strcharinfo(0) + "] tried to hack LV4 quest.";
+ close;
+}
+
+//--------------------------------------------------
+// Waltboughst, creates Byeollungum, Exorciser(excercise), Combat Knife and Grand Cross
+//--------------------------------------------------
+
+niflheim.gat,331,72,3 script Waltboughst 795,{
+ set @NowWeight, MaxWeight - Weight;
+ if (@NowWeight >= 3000) goto LV4_NOT_OW;
+ mes "- Wait a minute! -";
+ mes "- You are currently overweight. -";
+ mes "- Please lose some weight -";
+ mes "- and try again. -";
+ close;
+
+
+LV4_NOT_OW:
+ if(BaseLevel >= 80) goto LV4_LEVEL_PASS;
+ mes "[Waltboughst]";
+ mes "...Hah!";
+ close;
+
+
+LV4_LEVEL_PASS:
+ if(lv4_weapon == 0) goto LV4_0;
+ if(lv4_weapon < 49) goto LV4_48;
+ if(lv4_weapon == 49) goto LV4_49;
+ if(lv4_weapon == 50) goto LV4_50;
+ if(lv4_weapon == 51) goto LV4_51;
+ if(lv4_weapon == 52) goto LV4_52;
+ if(lv4_weapon == 53) goto LV4_53;
+ if(lv4_weapon == 54) goto LV4_54;
+ if(lv4_weapon == 55) goto LV4_55;
+ if(lv4_weapon == 56) goto LV4_56;
+ if(lv4_weapon == 57) goto LV4_57;
+ if(lv4_weapon > 57) goto LV4_58;
+ end; // shouldn't be here
+
+
+LV4_0:
+LV4_49:
+ mes "[Waltboughst]";
+ mes "Ah~ it is so frustrating to be a dead man.";
+ mes "Because I cannot do anything without a body.";
+ mes "You know what my father used to say?";
+ mes "Trying best does not always";
+ mes "result in a success.";
+ mes "However...errr?";
+ next;
+
+ if(lv4_weapon == 0) goto LV4_0_ASK;
+
+ mes "[Waltboughst]";
+ mes "...What was my father's";
+ mes "quote? Why am I stuck in";
+ mes "here after death? Hey, you";
+ mes "Do you know anything about";
+ mes "Waltboughst when he was";
+ mes "alive?";
+ close;
+
+LV4_0_ASK:
+ switch( select( "Show interest.", "Igonore him." ) ) {
+ case 1:
+ mes "[Waltboughst]";
+ mes "...what did he say afterwards?";
+ mes "Speaking of which, why am I";
+ mes "so anxious to do something?";
+ mes "I am a dead man, and a dead man is not supposed to do anything!";
+ mes "Hey, do you know anything about me when I was alive?";
+ set lv4_weapon, 49;
+ close;
+ break;
+ case 2:
+ mes "- Because you decided to ignore him, -";
+ mes "- you are no longer able to hear him. -";
+ close;
+ break;
+ }
+ end;
+
+
+LV4_48:
+LV4_58:
+ mes "[Waltboughst]";
+ mes "I feel something different about you.";
+ mes "Did you come here with a purpose?";
+ mes "I am envious of you...";
+ close;
+
+
+LV4_50:
+ mes "[Waltboughst]";
+ mes "Ah~ it is so frustrating to be a dead man.";
+ mes "Because I cannot do anything without a body.";
+ mes "You know what my father used to say?";
+ mes "Trying best does not always";
+ mes "result in a success.";
+ mes "However...";
+ next;
+ set @dap4$, "All the successful men in the history tried their best!";
+ input @answer4$;
+ if(@answer4$ == @dap4$) goto LV4_50_CORRECT;
+ mes "[Waltboughst]";
+ mes "...What? What did you just say?";
+ mes "Hmmm.";
+ close;
+
+LV4_50_CORRECT:
+ mes "[Waltboughst]";
+ mes "Yes! That was it!";
+ mes "Since I am dead, I cannot even try!";
+ mes "Eh...?! Ah!";
+ mes "I see, I see now.";
+ mes "I must have been killed by some kind of accident!";
+ set lv4_weapon, 51;
+ next;
+ mes "[Waltboughst]";
+ mes "Okay, I am not going to end this way.";
+ mes "Hey, you were meant to meet me!";
+ mes "You got to do me a favor, now!";
+ next;
+ mes "[Waltboughst]";
+ mes "I will give you the result of my research";
+ mes "in return! All I want is to compete my research,";
+ mes "not the result.";
+ next;
+ mes "[Waltboughst]";
+ mes "Well, give me some time to remember";
+ mes "what I need for my research.";
+ mes "I will talk to you later.";
+ close;
+
+
+LV4_52:
+ if(countitem($@LV4_Hammer_Of_Blacksmith) < 2) goto LV4_52_BASE_MAT;
+ if(countitem($@LV4_Emperium_Anvil) < 1) goto LV4_52_BASE_MAT;
+ if(countitem($@LV4_Illusion_Flower) < 1) goto LV4_52_BASE_MAT;
+ if(countitem($@LV4_Gold) < 20) goto LV4_52_BASE_MAT;
+
+ mes "[Waltboughst]";
+ mes "Oh...you brought everything I need!";
+ mes "You were quick this time...I am still having";
+ mes "a hard time remembering what I need other than those.";
+ mes "This is not good, this is not good at all.";
+ next;
+ mes "[Waltboughst]";
+ mes "Anyways, I will keep those materials for you.";
+ mes "And give me some more times to";
+ mes "remember what I need...arph!";
+
+ if(countitem($@LV4_Hammer_Of_Blacksmith) < 2) goto LV4_HACK;
+ if(countitem($@LV4_Emperium_Anvil) < 1) goto LV4_HACK;
+ if(countitem($@LV4_Illusion_Flower) < 1) goto LV4_HACK;
+ if(countitem($@LV4_Gold) < 20) goto LV4_HACK;
+ delitem $@LV4_Hammer_Of_Blacksmith, 2;
+ delitem $@LV4_Emperium_Anvil, 1;
+ delitem $@LV4_Illusion_Flower, 1;
+ delitem $@LV4_Gold, 20;
+ set lv4_weapon, 53;
+ close;
+
+LV4_51:
+LV4_52_BASE_MAT:
+ switch( lv4_weapon ) {
+ case 51:
+ mes "[Waltboughst]";
+ mes "Umm, you came back so early.";
+ mes "I just remembered the materials.";
+ next;
+ mes "[Waltboughst]";
+ mes "I need 2 Hammer of Blacksmith,";
+ mes "1 Emperium Anvil, 1 Illusion Flower and 20 Gold...";
+ next;
+ mes "[Waltboughst]";
+ mes "I do need some other items...but I need some time";
+ mes "to remember those. Oh well,";
+ mes "we have enough time, so let me think of them.";
+ set lv4_weapon, 52;
+ break;
+ case 52:
+ mes "[Waltboughst]";
+ mes "I need 2 Hammer of Blacksmith,";
+ mes "1 Emperium Anvil, 1 Illusion Flower and 20 Gold...";
+ mes "Most likey they will be the ones I need...";
+ break;
+ }
+ close;
+
+
+LV4_54:
+LV4_55:
+ if(countitem(LV4_Gem1) < 30) goto LV4_54_NOGEM;
+ if(countitem(LV4_Gem2) < 30) goto LV4_54_NOGEM;
+ if(countitem(LV4_Gem3) < 30) goto LV4_54_NOGEM;
+ mes "[Waltboughst]";
+ mes "...Um? The items that you brought to me seem";
+ mes "to be good materials for my creation...";
+ mes "Give them to me, I shall try first!";
+ next;
+ mes "[Waltboughst]";
+ mes "Oh...I was right! How did you";
+ mes "know these are materials I need?";
+ mes "Great, give me a moment!";
+ next;
+ mes "[Waltboughst]";
+ mes "...wait, I must test your luck first.";
+ mes "Since I am not sure about the result,";
+ mes "we should trust to luck for the result of my creation.";
+ mes "You must have good luck...";
+ next;
+ mes "[Waltboughst]";
+ mes "We are going to play 'Rock, Paper, Scissors'.";
+ mes "You must win at least 2 out of 3 times.";
+ mes "If you fail, you must leave a large amount";
+ mes "of one material you have brought.";
+ mes "It is for driving away your bad luck.";
+ next;
+ mes "[Waltboughst]";
+ mes "I will give you a piece of paper.";
+ mes "You will write down one among 'Rock, Paper, or Scissors'.";
+ mes "I will do the same at the same time.";
+ mes "We will then compare each other's paper at the end.";
+ next;
+
+ set @shobu, 0;
+
+ for( set @i, 1; @i <= 3; set @i, @i + 1 ) {
+ if(@i == 2) mes "[Waltboughst]";
+ if(@i == 2) mes "Let's play the second one!";
+ if(@i == 3) mes "[Waltboughst]";
+ if(@i == 3) mes "This will be the last one!";
+ if(@i == 3) mes "Let's compare after this.";
+ set @npchand[@i], rand(1, 3);
+ switch( select( "Scissors", "Rock", "Paper" ) ) {
+ case 1:
+ set @myhand[@i], 1;
+ if(@npchand[@i] == 3) set @shobu, @shobu + 1;
+ break;
+ case 2:
+ set @myhand[@i], 2;
+ if(@npchand[@i] == 1) set @shobu, @shobu + 1;
+ break;
+ case 3:
+ set @myhand[@i], 3;
+ if(@npchand[@i] == 2) set @shobu, @shobu + 1;
+ break;
+ }
+ }
+
+ if(countitem(LV4_Gem1) < 30) goto LV4_HACK;
+ if(countitem(LV4_Gem2) < 30) goto LV4_HACK;
+ if(countitem(LV4_Gem3) < 30) goto LV4_HACK;
+
+ if(@shobu > 1) goto LV4_54_WIN;
+
+ switch ( rand(1 ,3) ) {
+ case 1:
+ delitem LV4_Gem1, 30;
+ break;
+ case 2:
+ delitem LV4_Gem2, 30;
+ break;
+ case 3:
+ delitem LV4_Gem3, 30;
+ break;
+ }
+ goto LV4_54_RESULT;
+
+LV4_54_WIN:
+ delitem LV4_Gem1, 30;
+ delitem LV4_Gem2, 30;
+ delitem LV4_Gem3, 30;
+ set lv4_weapon, lv4_weapon + 2;
+ goto LV4_54_RESULT;
+
+LV4_54_RESULT:
+ mes "[Waltboughst]";
+ mes "Okay...I played in the order of...";
+
+ for( set @i, 1; @i <= 3; set @i, @i + 1 ) {
+ if(@npchand[@i] == 1) mes "Scissors";
+ if(@npchand[@i] == 2) mes "Rock";
+ if(@npchand[@i] == 3) mes "Paper";
+ }
+
+ next;
+ mes "[Waltboughst]";
+ mes "You did in the order of...";
+
+ for( set @i, 1; @i <= 3; set @i, @i + 1 ) {
+ if(@myhand[@i] == 1) mes "Scissors";
+ if(@myhand[@i] == 2) mes "Rock";
+ if(@myhand[@i] == 3) mes "Paper";
+ }
+
+ next;
+
+ if(@shobu > 1) goto LV4_54_SAY_WIN;
+
+ mes "[Waltboughst]";
+ mes "Well well well...you lost the game.";
+ mes "Ah~ you were close though...";
+ mes "We must drive away bad luck.";
+ next;
+ mes "[Waltboughst]";
+ mes "Okay, I will wait here,";
+ mes "go bring me the materials again...";
+ close;
+
+LV4_54_SAY_WIN:
+ mes "[Waltboughst]";
+ mes "Let's see...";
+ mes "You won total " + @shobu + " times.";
+ mes "Ah~ you must be really good at game!";
+ mes "Yes, your luck is at its highest!";
+ next;
+ mes "[Waltboughst]";
+ mes "I am going to keep my promise.";
+ mes "But I need some time to prepare.";
+ mes "Give me the materials now and I will talk to you later.";
+ close;
+
+LV4_53:
+LV4_54_NOGEM:
+ mes "[Waltboughst]";
+ mes "Arph...I haven't remembered them yet.";
+ mes "Awww....this is a problem.";
+ mes "I must think of them as soon as possible...";
+ close;
+
+
+LV4_56:
+LV4_57:
+ mes "[Waltboughst]";
+ mes "Hehe, I made something with the materials";
+ mes "in this short time! Wanna see?";
+ mes "Aren't you wondering about the result?";
+ mes "Hmmm....let's see...";
+ next;
+ mes "[Waltboughst]";
+ mes "Waltboughst never fails!";
+ mes "Besides you had good luck,";
+ mes "so it resulted in a perfect success!";
+ mes "You got a nice weapon here, it is...";
+
+ switch( rand(1, 2) ) {
+ case 1:
+ if(lv4_weapon == 56) mes "Byeollungum!";
+ if(lv4_weapon == 56) getitem 1140 ,1; // 1140,Byeollungum
+ if(lv4_weapon == 57) mes "Exorciser!";
+ if(lv4_weapon == 57) getitem 1233, 1; // 1233,Exercise
+ break;
+ case 2:
+ if(lv4_weapon == 56) mes "Combat Knife!";
+ if(lv4_weapon == 56) getitem 1228, 1; // 1228,Combat_Knife
+ if(lv4_weapon == 57) mes "Grand Cross!!";
+ if(lv4_weapon == 57) getitem 1528, 1; // 1528,Grand_Cross
+ }
+
+ set lv4_weapon, 0;
+ next;
+ mes "[Waltboughst]";
+ mes "I am genius! Hahahaha!";
+ mes "I made it when my brothers could not!";
+ mes "Muhahahahahaha!";
+ mes "Eh...err? Arrr...phhh?";
+ next;
+ mes "[Waltboughst]";
+ mes "Damn...I must try too hard.";
+ mes "My memory is fading again...";
+ mes "Oh well, somehow I proved";
+ mes "that I am a genius even after I died.";
+ next;
+ mes "[Waltboughst]";
+ mes "If you want me to display my genius again,";
+ mes "come retrieve my memory again.";
+ mes "And thank you!";
+ next;
+ mes "[Waltboughst]";
+ mes "Ah...my memory's dying again...";
+ mes "Farewell~ I don't think I will remember you";
+ mes "but I hope you will remember me as Waltboughst";
+ mes "the genius in the age!";
+ close;
+
+
+
+//--------------------------------------------------
+//Hack Attempt
+//--------------------------------------------------
+LV4_HACK:
+ mes "[Waltboughst]";
+ mes "Hmm. There seems to be a bit of problem.";
+ set lv4_weapon, 0;
+ logmes "[" +strcharinfo(0) + "] tried to hack LV4 quest.";
+ close;
+}
diff --git a/npc/quests/The_Sign_Quest(unfinished).txt b/npc/quests/The_Sign_Quest(unfinished).txt
new file mode 100644
index 000000000..58f766d23
--- /dev/null
+++ b/npc/quests/The_Sign_Quest(unfinished).txt
@@ -0,0 +1,2053 @@
+//===== eAthena Script =======================================
+//= The Sign Quest, NOT FINISHED.
+//===== By: ==================================================
+//= MasterOfMuppets
+//===== Current Version: =====================================
+//= 0.1
+//===== Compatible With: =====================================
+//= eAthena SVN 3422+(Requires jA Script System)
+//===== Description: =========================================
+//= Quest for opening the doors to Geffenia, NOT FINISHED
+//===== Comments: ============================================
+//= This script uses sign_01.bmp - sign_04.bmp, these will be
+//= found in the language of your client.
+//===== Additional Comments: =================================
+//= Stored here for backup purposes
+//= 0.1 Added a few npcs, this quest cannot be finished [MasterOfMuppets]
+//= yet, so add it at your own risk.
+//= 0.2 This script is only here for storing purposes, [MasterOfMuppets]
+//= it is not finished and will not work at the moment!
+//============================================================
+//===== Configuration : ======================================
+prontera.gat,1,1,1 script TheSignConfig -1,{
+OnInit:
+//= This string will be used to show which timezone your server
+//= is located in, it's necessary for the quest, so please change it.
+
+ set $timezonestring$,"^FF0000-The Timezone isn't Configured-";
+
+//= This variable determines whether the "sign_xx.bmps" will be used or
+//= if raw text will be used in the 'Sign::Geffenia' script. Set it to
+//= 0 if you want to use text.
+
+ set $signbmps,1;
+}
+//============================================================
+
+alberta.gat,35,241,1 script Sign::GeffeniaSigns 111,{
+
+ if($signbmps == 1)
+{
+ if(signquest < 1)set signquest,1;
+ cutin "sign_01",4;
+ mes "^3131FFNext";
+ next;
+ cutin "",255;
+ cutin "sign_02",4;
+ mes "^3131FFNext";
+ next;
+ cutin "",255;
+ cutin "sign_03",4;
+ mes "^3131FFNext";
+ next;
+ cutin "",255;
+ cutin "sign_04",4;
+ mes "^3131FFClose";
+ close2;
+ cutin "",255;
+ end;
+}
+ else
+{
+ if(signquest < 1)set signquest,1;
+ mes "^3131FFTo the talented and";
+ mes "experienced adventurers who";
+ mes "have dreams of achieving true";
+ mes "greatness...";
+ next;
+ mes "^3131FFI present a once in a";
+ mes "lifetime opportunity to the one";
+ mes "who proves most worthy. You must";
+ mes "have the courage to risk peril,";
+ mes "the wisdowm to perforum right";
+ mes "action and the strength to be";
+ mes "victorious in combat.";
+ next;
+ mes "^3131FFThe way will be fraught";
+ mes "with danger and only the most";
+ mes "adept adventurers may have a";
+ mes "chance of surviving. But if we";
+ mes "can succeed, I promies on my";
+ mes "good name that power beyond";
+ mes "imagining will become yours.";
+ next;
+ mes "^3131FFThose of you who are interested,";
+ mes "come to me and I will test";
+ mes "your abilities. The one who";
+ mes "can manage to pass this testing";
+ mes "just might be capable of helping";
+ mes "me prove a forgotten legend";
+ mes "and uncover a long lost power";
+ next;
+ mes "^3131FFI shall be waiting.";
+ mes "";
+ mes "^000000-Metz Brayde";
+ close;
+}
+
+}
+
+morocc.gat,168,264,1 duplicate(GeffeniaSigns) Sign 111
+payon.gat,160,183,1 duplicate(GeffeniaSigns) Sign 111
+prontera.gat,147,305,1 duplicate(GeffeniaSigns) Sign 111
+geffen.gat,168,175,1 duplicate(GeffeniaSigns) Sign 111
+aldebaran.gat,54,223,1 duplicate(GeffeniaSigns) Sign 111
+
+prt_in.gat,228,26,4 script Steward 55,{
+
+ if(signquest > 1)
+{
+ mes "[Vendez]";
+ mes "Ah, master " + strcharinfo(0) + ".";
+ mes "Welcome. How may I be";
+ mes "of service today?";
+ next;
+ menu "Who is Arian?",s_Arian,"What is Metz doing?",-,"How is Elle?",s_Elle;
+
+ mes "[Vendez]";
+ mes "Althought I've served";
+ mes "the Brayde family for years";
+ mes "I'm unfamiliar with Master";
+ mes "Metz's work. My appologies, but";
+ mes "I simply cannot even begin to";
+ mes "fathom his research...";
+ close;
+s_Arian:
+ mes "[Vendez]";
+ mes "Ah yes, Arian.";
+ mes "I consider him to be";
+ mes "a man of few words. The";
+ mes "words he does choose to";
+ mes "use are rather harsh and";
+ mes "brutish, you might say.";
+ close;
+s_Elle:
+ mes "[Vendez]";
+ mes "Ah, Mistress Elle";
+ mes "has been working here";
+ mes "since she was a very young";
+ mes "girl. She is almost like";
+ mes "a granddaughter to me.";
+ mes "Ha ha-^222222*Ahem*";
+ close;
+
+}
+ else
+{
+ mes "[Vendez]";
+ mes "Welcome to the";
+ mes "Brayde Estate. How";
+ mes "may I be of service?";
+ next;
+ menu "Nothing",-,"I'm here to see Metz",s_Metz,"Gimmie your cash!",s_Cash;
+
+ mes "[Vendez]";
+ mes "If you do not have";
+ mes "any business to conduct";
+ mes "with Master Metz, please";
+ mes "leave immediately";
+ close;
+
+s_Metz:
+ mes "[Vendez]";
+ mes "Very good, sir.";
+ mes "Please wait a moment";
+ mes "while I consult with";
+ mes "the master in his study.";
+ close;
+
+s_Cash:
+ mes "[Vendez]";
+ mes "My apologies,";
+ mes "but I insist that";
+ mes "you leave the premises";
+ mes "^FF0000immediately^000000.";
+ close2;
+ warp "prontera.gat",150,150;
+ end;
+}
+
+}
+
+prt_in.gat,227,45,4 script Archaeologist 804,{
+
+ cutin "mets_alpha",2;
+ if(signquest > 0)goto s_Cont;
+ mes "[Metz]";
+ mes "Although you need everlasting";
+ mes "patience in an archaeological";
+ mes "excavation, the feeling you get";
+ mes "when you find something makes";
+ mes "all those long hours of study and";
+ mes "research worth it.";
+ close2;
+ cutin "",255;
+ end;
+
+s_Cont:
+ if(signquest == 1)
+{
+ mes "[Metz]";
+ mes "Hm...?";
+ mes "Can I help you?";
+ next;
+ menu "I've been following these signs and...",s_Sign,"I was just passing by",-;
+
+ mes "[Metz]";
+ mes "Oh really?";
+ mes "I see, I though you";
+ mes "were an applicant for";
+ mes "the position I'm offering";
+ mes "to brave adventurers.";
+ close2;
+ cutin "",255;
+ end;
+
+s_Sign:
+ mes "[Metz]";
+ mes "Great...!";
+ mes "Welcome to my";
+ mes "humble lodgings.";
+ mes "Hmm, let me see...";
+ next;
+ mes "[Metz]";
+ mes "Hey, I think you might";
+ mes "be well suited for the job!";
+ mes "But do you think you could come";
+ mes "back later? I've got my hands full";
+ mes "with some other business.";
+ next;
+ mes "[Metz]";
+ mes "Oh right, would you tell";
+ mes "me your name? " + strcharinfo(0) + "?";
+ mes "Okay then, I'll remember that.";
+ mes "Talk to you later, alright?";
+ set signquest,2;
+ close2;
+ cutin "",255;
+ end;
+}
+
+ else if(signquest == 2)
+{
+ mes "[Metz]";
+ mes "I'm sorry I made you wait,";
+ mes "but I had some research to finish";
+ mes "and it took longer than I expected.";
+ mes "Now, before I tell you more about";
+ mes "the job, I want to test your";
+ mes "competency";
+ next;
+ mes "[Metz]";
+ mes "The job I'm offering is";
+ mes "pretty risky and not just";
+ mes "anybody can handle it.";
+ mes "You'll actually go through";
+ mes "a series of tests conducted";
+ mes "by my trusted friends.";
+ next;
+ mes "[Metz]";
+ mes "Now, the first person";
+ mes "you must visit is ^FF0000Arian^000000";
+ mes "in Morroc. Please speak";
+ mes "to him and he'll give you";
+ mes "all the details about his";
+ mes "examination... I hope";
+ next;
+ mes "[Metz]";
+ mes "Once you're finished with";
+ mes "the test, Arian will tell you";
+ mes "what to do next. Afterwards,";
+ mes "come back to me so that we";
+ mes "can finally talk business.";
+ next;
+ mes "[Metz]";
+ mes "Ah, almost forgot.";
+ mes "Arian won't talk to anybody";
+ mes "unless he knows them or";
+ mes "receives a message from me.";
+ mes "So if he's snubbed you in the past,";
+ mes "just understand that's his way.";
+ set signquest,3;
+ close2;
+ cutin "",255;
+ end;
+}
+ else if(signquest == 3 || signquest == 4)
+{
+ mes "[Metz]";
+ mes "Hm...?";
+ mes "Shouldn't you leave";
+ mes "for Morroc to see Arian?";
+ mes "You better hurrty in case";
+ mes "somebody else applies";
+ mes "for this little job.";
+ close2;
+ cutin "",255;
+ end;
+}
+
+}
+
+prt_in.gat,248,23,4 script Maid 1275,{
+
+end;
+
+}
+
+morocc_in.gat,114,162,4 script Young Man 118,{
+
+ if(signquest == 5)
+{
+ mes "[Gaanan]";
+ mes "^444444*Sigh...*^000000";
+ mes "I wish the weather'd";
+ mes "cool down, even just a little.";
+ mes "While I'm asking for miracles,";
+ mes "I may as well wish for a billion";
+ mes "kajillion zeny. And maybe a yacht.";
+ close;
+}
+
+ else if(arianstest == 8)
+{
+ if(gaanantest == 1)
+{
+ mes "[Gaanan]";
+ mes "Hm...?";
+ mes "Arian is the one";
+ mes "who's grading your";
+ mes "test. But I understand.";
+ mes "If you failed, I'd want";
+ mes "to avoid him too...";
+ close;
+}
+ mes "[Gaanan]";
+ mes "Oh, Arian seny you to me,";
+ mes "right? I'm sorry, but he takes";
+ mes "a little time getting used to.";
+ mes "Even though I still have to get";
+ mes "used to his... mannerisms";
+ next;
+ mes "[Gaanan]";
+ mes "Anyway, since he thinks it's";
+ mes "boring, Arian put me in charge";
+ mes "of the quiz portion of your test.";
+ mes "Please carefully choose an";
+ mes "ansawer when I ask you a";
+ mes "question. Are you ready?";
+ next;
+ set gaananpoint,0;
+ mes "[Gaanan]";
+ mes "Now, the first question.";
+ mes "Let's say that you just";
+ mes "found yourself on a deserted";
+ mes "island. What is the very first";
+ mes "thing that you should do?";
+ next;
+ menu "Look for fresh water",-,"Just wait for rescue.",s_1W,"Forage for food.",s_1W,"Explore the island.",s_1W;
+ set gaananpoint,1;
+s_1W:
+ mes "[Gaanan]";
+ mes "The second question is...";
+ mes "You happen to be stuck in";
+ mes "a narrow place inside some collapsed building. What";
+ mes "do you plan to do first?";
+ next;
+ menu "Scream for help",-,"Stay quiet.",s_2W,"Wait for death to come.",s_2W,"Find a way out.",s_2W;
+ set gaananpoint,gaananpoint + 1;
+s_2W:
+ mes "[Gaanan]";
+ mes "Now, the third question.";
+ mes "You're on some dungeon";
+ mes "expedition with your friends,";
+ mes "but you got lost somehow.";
+ mes "How do you handle it?";
+ next;
+ menu "Try to find my friends.",-,"Find a way out.",s_3W,"Stay put.",s_3W,"Continue exploring the dungeon.",s_3W;
+ set gaananpoint,gaananpoint + 1;
+s_3W:
+ mes "[Gaanan]";
+ mes "Here's the fourth question.";
+ mes "You're with your friends inside";
+ mes "a mansion with no exit. What do";
+ mes "you do first when a murder happens";
+ mes "inside the mansion?";
+ next;
+ menu "Wait for the case to get solved.",-,"Try to find my firends first.",s_4W,"Find a way out.",s_4W,"Solve the murder case on my own.",s_4W,"Kill the others before they kill me.",s_4W;
+ set gaananpoint,gaananpoint + 1;
+s_4W:
+ mes "[Gaanan]";
+ mes "The fifth question is";
+ mes "You hear that the end of";
+ mes "the world is in one week.";
+ mes "So what do you do during";
+ mes "this final week?";
+ next;
+ menu "Wait to see the end.",-,"Plant an apple tree.",s_5W,"Look to move to a different world.",s_5W,"What else? Save the world.",s_5W,"What else? Go on a crime spree.",s_5W;
+ set gaananpoint,gaananpoint + 1;
+s_5W:
+ mes "[Gaanan]";
+ mes "Oh! We're done!";
+ mes "Okay, let me give";
+ mes "these answers to Arian.";
+ mes "Sooo... Talk to him and";
+ mes "he'll let you know how";
+ mes "you did.";
+ set gaanantest,1;
+ close;
+}
+
+ else if(ariantest < 8)
+{
+
+ emotion 19;
+ mes "[Gaanan]";
+ mes "The weather here in";
+ mes "Morroc is too hot for me.";
+ mes "I'm having a hard time just";
+ mes "trying to live here. Do you";
+ mes "know a nice and cool place";
+ mes "where I can work?";
+ close;
+
+}
+
+}
+
+morocc_in.gat,115,154,5 script Rogue 810,{
+
+ if(signquest == 5)
+{
+ mes "[Arian]";
+ mes "..........";
+ mes "Payon...?";
+ mes "Daewooon?";
+ mes "Any of it ring a bell?";
+ mes "Cuz it really oughtta!";
+ close;
+}
+
+ else if(signquest < 3 || signquest > 5)
+{
+ emotion 9;
+ end;
+}
+ else if(signquest == 3)
+{
+
+ mes "[Arian]";
+ mes "...";
+ mes "Who the hell";
+ mes "are you, jerkface?";
+ next;
+ menu "Metz sent me here.",s_Metz,"^0000FF" + strcharinfo(0) + "^000000",s_Name,"Who are you then?",-;
+
+ mes "[Arian]";
+ mes "...";
+ mes "......";
+ next;
+ percentheal -50,0;
+ mes "[Arian]";
+ mes "...";
+ mes "......";
+ mes "Your mom.";
+ mes "Now get the";
+ mes "hell outta here!";
+ close;
+
+s_Metz:
+
+ mes "[Arian]";
+ mes "Oh yeah...?";
+ mes "Well, I'm sending you";
+ mes "back! No way I'm fallin'";
+ mes "for that trick, chump!";
+ close2;
+ warp "morocc.gat",279,173;
+ end;
+
+s_Name:
+
+ mes "[Arian]";
+ mes "Wha...?";
+ mes "^0000FF" + strcharinfo(0) + "^000000.";
+ mes "Yeah, okay. Metz did";
+ mes "mention something about";
+ mes "you. You're here for";
+ mes "the test, right?";
+ next;
+ mes "[Arian]";
+ mes "Aliright, this";
+ mes "test is simple.";
+ mes "I tell you to bring me";
+ mes "a bunch of items and";
+ mes "you go get them.";
+ next;
+ mes "[Arian]";
+ mes "I know you jerkward adventurers";
+ mes "are always talking and you share";
+ mes "the answers for any test some dude";
+ mes "is givin' out. 'Course, it doesn't";
+ mes "help that I use the same test";
+ mes "every frickin' time...";
+ next;
+ mes "[Arian]";
+ mes "Now, you gotta bring and only";
+ mes "have the item I ask you for when";
+ mes "you come to me. If you know that";
+ mes "I'll be asking for something later";
+ mes "and you happen to have it, I'll";
+ mes "straight up ^FF0000jack it^000000.";
+ next;
+ mes "[Arian]";
+ mes "The first item?";
+ mes "Gimme ^FF0000100 Fluff^000000.";
+ mes "Bring that and I'll";
+ mes "tell you what to";
+ mes "bring next.";
+ set signquest,4;
+ set arianstest,1;
+ close;
+}
+ else if(signquest == 4)
+{
+
+ if(arianstest == 1)
+{
+ if(countitem(914) < 100)goto s_Bringfluff;
+ delitem 914,100;
+ mes "[Arian]";
+ mes "What the hell took you so";
+ mes "long? Now bring me ^FF000050 Poison Spores^000000";
+ mes "or I'll kick your ass.";
+ set arianstest,2;
+ close2;
+ goto Verifyitems;
+
+s_Bringfluff:
+ mes "[Arian]";
+ mes "...";
+ mes "Hey. What the hell's wrong";
+ mes "with you? Hurry and get me";
+ mes "^FF0000100 Fluff^000000, ya slacker.";
+ close;
+}
+
+ else if(arianstest == 2)
+{
+ if(countitem(7033) < 50)goto s_Bringspore;
+ delitem 7033,50;
+ mes "[Arian]";
+ mes "...";
+ mes "It's about time you";
+ mes "got here with those";
+ mes "Poison Spores. Now, go";
+ mes "and get ^FF000030 Scorpion Tails";
+ set arianstest,3;
+ close2;
+ goto Verifyitems;
+
+s_Bringspore:
+ mes "[Arian]";
+ mes "...";
+ mes "Hey. What part of 'Get me";
+ mes "^FF000050 Poison Spores^000000 or I'll";
+ mes "kick your ass, don't";
+ mes "you understand?";
+ close;
+}
+ else if(arianstest == 3)
+{
+ if(countitem(904) < 30)goto s_Bringtails;
+ delitem 904,30;
+ mes "[Arian]";
+ mes "...";
+ mes "Damn, you sure took your";
+ mes "sweet time bringing over this";
+ mes "crap. Okay, now bring";
+ mes "^FF000020 Rotten Bandages^000000.";
+ set arianstest,4;
+ close2;
+ goto Verifyitems;
+
+s_Bringtails:
+ mes "[Arian]";
+ mes "...";
+ mes "What, your mom drop you on the";
+ mes "head right after you were born?";
+ mes "Stop bein' stupid and get me";
+ mes "^FF000030 Scorpion Tails^000000, nimrod.";
+ close;
+}
+ else if(arianstest == 4)
+{
+ if(countitem(930) < 20)goto s_Bringbandages;
+ delitem 930,20;
+ mes "[Arian]";
+ mes "...";
+ mes "You brought the bandages.";
+ mes "Okay short stuff, go and get";
+ mes "me ^FF000015 Little Evil Horn^000000. What";
+ mes "are you waiting for, a memo?";
+ mes "Get outta here~!";
+ set arianstest,5;
+ close2;
+ goto Verifyitems;
+
+s_Bringbandages:
+ mes "[Arian]";
+ mes "...";
+ mes "Is it really that hard to get";
+ mes "^FF000020 Rotten Bandages^000000? Cuz if it";
+ mes "is, then you must really blow.";
+ mes "How hustle it up, punk!";
+ close;
+}
+ else if(arianstest == 5)
+{
+ if(countitem(1038) < 15)goto s_Bringhorns;
+ delitem 1038,15;
+ mes "[Arian]";
+ mes "...";
+ mes "My grandma coulda grown";
+ mes "out her beard in the time";
+ mes "it took you to come back.";
+ mes "Now hurry it up and get";
+ mes "me ^FF000010 Coral Reefs^000000!";
+ set arianstest,6;
+ close2;
+ goto Verifyitems;
+
+s_Bringhorns:
+ mes "[Arian]";
+ mes "...";
+ mes "I don't get it.";
+ mes "You don't have the";
+ mes "^FF000015 Little Evil Horn";
+ mes "I told you to get.";
+ next;
+ mes "[Arian]";
+ mes "I see, so it's my";
+ mes "fault for not telling you";
+ mes "not to bring your crap face";
+ mes "back without 'em. ^222222*A-hem*";
+ mes "Don't bring your crap face here";
+ mes "without 15 Little Evil Horns!!";
+ close;
+}
+ else if(arianstest == 6)
+{
+ if(countitem(7013) < 10)goto s_Bringcorals;
+ delitem 7013,10;
+ mes "[Arian]";
+ mes "Finally you're back";
+ mes "Gimme a sec to count";
+ mes "all this stuff so I can make";
+ mes "sure you're not trying to";
+ mes "cheat. God help you if you";
+ mes "try to pull a fast one on me...!";
+ set arianstest,7;
+ close;
+
+s_Bringcorals:
+ mes "[Arian]";
+ mes "I don't care how pretty";
+ mes "they are or if you're ruining";
+ mes "the ecosystem! When I say";
+ mes "'bring ^FF000010 Coral Reefs^000000',you";
+ mes "better have them! All the";
+ mes "fish can die for all I care.";
+ close;
+}
+ else if(arianstest == 7)
+{
+ mes "[Arian]";
+ mes "...";
+ mes "Alright. Go talk";
+ mes "to the guy to my left.";
+ mes "The dude at the counter.";
+ mes "What's-his-face, Ganaan.";
+ set arianstest,8;
+ close;
+}
+ else if(arianstest == 8)
+{
+ if(gaanantest == 1)
+{
+ if(gaananpoint < 3)goto s_Suck;
+ mes "[Arian]";
+ mes "Alright. The answers";
+ mes "you have Ganaan tell me";
+ mes "you're not a total dumbass.";
+ mes "Now you're supposed to go see";
+ mes "Daewoon in Payon. And don't forget";
+ mes "to show him this Star thingiee.";
+ getitem 7177,1;
+ set signquest,5;
+ close;
+s_Suck:
+ mes "[Arian]";
+ mes "Let's see...";
+ mes "I'm looking at your";
+ mes "answers and they totally";
+ mes "suck. Take the test again";
+ mes "and do it right this time!";
+ next;
+ mes "[Arian]";
+ mes "Geez...";
+ mes "You're givin' Ganaan";
+ mes "a hard time. You hear";
+ mes "me? That's my job!";
+ set gaananpoint,0;
+ set gaanantest,0;
+ close;
+}
+ mes "[Arian]";
+ mes "You wanna leave me";
+ mes "alone now and gimme";
+ mes "a little personal space?!";
+ mes "I need a break from looking";
+ mes "at your ugly mug, you know?";
+ close;
+}
+
+}
+
+Verifyitems:
+
+ if(arianstest == 2 && countitem(7033) > 49)
+{
+ delitem 7033,countitem(7033);
+ mes "[Arian]";
+ mes "Hey! What did I tell you";
+ mes "about bringing stuff before";
+ mes "I asked you about it";
+ next;
+ mes "[Arian]";
+ mes "I'll confiscate those Poison Spores.";
+ close2;
+}
+ else if(arianstest == 3 && countitem(904) > 29)
+{
+ delitem 904,countitem(904);
+ mes "[Arian]";
+ mes "Hey! What did I tell you";
+ mes "about bringing stuff before";
+ mes "I asked you about it";
+ next;
+ mes "[Arian]";
+ mes "I'll take those Scorpion Tails.";
+ close2;
+}
+ else if(arianstest == 4 && countitem(930) > 19)
+{
+ delitem 930,countitem(930);
+ mes "[Arian]";
+ mes "Hey! What did I tell you";
+ mes "about bringing stuff before";
+ mes "I asked you about it";
+ next;
+ mes "[Arian]";
+ mes "I'll take those Rotten Bandages.";
+ close2;
+}
+ else if(arianstest == 5 && countitem(1038) > 14)
+{
+ delitem 1038,countitem(1038);
+ mes "[Arian]";
+ mes "Hey! What did I tell you";
+ mes "about bringing stuff before";
+ mes "I asked you about it";
+ next;
+ mes "[Arian]";
+ mes "I'll confiscate those Little Evil Horns.";
+ close2;
+}
+ else if(arianstest == 6 && countitem(7013) > 9)
+{
+ delitem 7013,countitem(7013);
+ mes "[Arian]";
+ mes "Hey! What did I tell you";
+ mes "about bringing stuff before";
+ mes "I asked you about it";
+ next;
+ mes "[Arian]";
+ mes "I'll confiscate those Coral Reefs.";
+ close2;
+}
+ end;
+}
+
+payon_in03.gat,81,16,8 script Maid::Sohee 1170,{
+
+end;
+
+}
+
+payon_in03.gat,78,16,8 script Maid::Miyabi 1404,{
+
+end;
+
+}
+
+payon_in03.gat,13,31,4 script Maid::Nymph 1416,{
+
+end;
+
+}
+
+payon_in03.gat,81,21,4 duplicate(Sohee) Maid 1170
+payon_in03.gat,78,21,4 duplicate(Miyabi) Maid 1404
+payon_in03.gat,8,31,4 duplicate(Nymph) Maid 1416
+
+payon_in03.gat,11,31,4 script Daewoon 808,{
+
+
+
+ mes "[Daewoon]";
+ mes "Mwah ah hah!";
+ mes "Feasting and merriment,";
+ mes "wine, women and song!";
+ mes "I could ask for nothing more!";
+ next;
+ mes "[Daewoon]";
+ mes "The most scumptious";
+ mes "delicacies are all mine to";
+ mes "taste! And I'm not just talking";
+ mes "about the food. Mwah ah hah!";
+ mes "I'm the king of the world!";
+ next;
+
+ if(signquest < 4 || signquest > 6)
+{
+ mes "[Daewoon]";
+ mes "Mwah ah hah~!";
+ mes "I couldn't be happier!";
+ mes "What more do I need?";
+ mes "Gourmet food, find wine";
+ mes "nubile women...!";
+ close;
+}
+ else if(signquest == 5)
+{
+ mes "[Daewoon]";
+ mes "Oh, a visitor?";
+ mes "I'm sorry, but I believe";
+ mes "you're an uninvited guest~";
+ mes "You'll have to forgive me";
+ mes "if I wish to spend my time with";
+ mes "maidens as opposed to men";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Sure...";
+ mes "But first, would you";
+ mes "take a look at this?";
+ next;
+ mes "^3131FFYou carefully take";
+ mes "out the small, lucid";
+ mes "jewel that Arian gave";
+ mes "you and reveal it to";
+ mes "Daewoon's roving eyes.";
+ next;
+ emotion 0;
+ mes "[Daewoon]";
+ mes "Eh? Why that's...";
+ mes "I see now, Arian must";
+ mes "have sent you! Oh you";
+ mes "should have said so";
+ mes "at the very beginning~";
+ next;
+ mes "[Daewoon]";
+ mes "My apologies~";
+ mes "Lately I've been attracting";
+ mes "all sorts of strange attention like";
+ mes "some kind of teen celebrity. I've";
+ mes "gotten used to being too careful in";
+ mes "screening out the dangerous sort.";
+ next;
+ mes "[Daewoon]";
+ mes "Now then.";
+ mes "Do you have any";
+ mes "idea what that jewel";
+ mes "you're holding actually is?";
+ next;
+ menu "Kind of?",-,"How the hell would I know?",s_How,"No, but would you tell me?",s_Tell;
+
+ mes "[Daewoon]";
+ mes "Oh...!";
+ mes "You must be much";
+ mes "smarter than I expected.";
+ mes "So tell me, what do you";
+ mes "understand about this jewel?";
+ next;
+ menu "It's handy.",-,"I actually don't know...",s_Honest;
+
+ emotion 9;
+ mes "[Daewoon]";
+ mes "Mmm...?";
+ mes "Handy? If you truly";
+ mes "understood, I don't";
+ mes "think you'd describe this";
+ mes "jewel as merely 'handy'.";
+ next;
+ goto s_Cont;
+s_Honest:
+ emotion 32;
+ mes "[Daewoon]";
+ mes "Really?";
+ mes "Mm. At least you";
+ mes "admit it ^000200*Sigh*";
+ next;
+ goto s_Cont;
+s_How:
+ emotion 9;
+ mes "[Daewoon]";
+ mes "...";
+ mes "A rather crass way";
+ mes "of speaking, but perhaps";
+ mes "you picked it up from Arian.";
+ mes "In any case, let me explain.";
+ next;
+ goto s_Cont;
+s_Tell:
+ mes "[Daewoon]";
+ mes "Didn't Arian tell you";
+ mes "anything? I appreciate";
+ mes "your honesty. And I don't";
+ mes "mind chatting a while, I much";
+ mes "prefer speaking to honest people";
+ mes "rather than foolish know-it-alls.";
+ next;
+s_Cont:
+ mes "[Daewoon]";
+ mes "That ^301A8ASobbing Starlight^000000";
+ mes "is no mere jewel. It is a key";
+ mes "item for unlocking some incredible";
+ mes "power. I believe Metz happened to";
+ mes "obtain a piece, though I am";
+ mes "unsure how...";
+ next;
+ mes "[Daewoon]";
+ mes "Metz has asked me and";
+ mes "some other friends who";
+ mes "hold the fragments of the";
+ mes "Sobbing Starlight to entrust";
+ mes "them to someone worthy of";
+ mes "finding the power it leads to.";
+ next;
+ mes "[Daewoon]";
+ mes "Of course, we all agreed";
+ mes "and now you're here for me";
+ mes "to judge whether or not you're";
+ mes "qualified for this task. Now,";
+ mes "are you ready for my test?";
+ next;
+ menu "I'M READY! YEEAH!",-,"I'll do my best!",s_Best,"To hell with this!",s_Rude,"Fine. Let's get it over with",s_GetOver;
+
+ mes "[Daewoon]";
+ mes "Ooh~";
+ mes "Such unbridled";
+ mes "enthusiasm usually";
+ mes "goes more good than harm.";
+ next;
+ goto s_Question;
+
+s_Best:
+ emotion 33;
+ mes "[Daewoon]";
+ mes "Mwah ah hah";
+ mes "That's exactly what";
+ mes "I wanted to hear! That";
+ mes "kind of quiet and careful";
+ mes "confidence will help you";
+ mes "in the future, you'll see~";
+ next;
+ goto s_Question;
+s_Rude:
+
+ mes "[Daewoon]";
+ mes "E...";
+ mes "Excuse me?";
+ next;
+ mes "[Daewoon]";
+ mes "How can you be";
+ mes "so ridiculous at";
+ mes "a time like this?";
+ mes "Either mind your manners";
+ mes "or don't take this test at";
+ mes "all! ^000200*SLAP--!!*";
+ next;
+ goto s_Question;
+
+s_GetOver:
+ emotion 9;
+ mes "[Daewoon]";
+ mes "Hmm. That kind of half-hearted";
+ mes "attitude won't get you very far on";
+ mes "your adventures. Still, so long as";
+ mes "you don't get overly negative, you";
+ mes "should have a decent chance of";
+ mes "surviving your challenges.";
+ next;
+s_Question:
+ emotion 20;
+ set @DaewoonTest,0;
+ mes "[Daewoon]";
+ mes "Now, metz expects me to ask";
+ mes "some rather serious questions,";
+ mes "but that really isn't my style. For";
+ mes "this test, why don't we just talk?";
+ mes "Just answer me honestly and";
+ mes "light heartedly, alright?";
+ next;
+ mes "[Daewoon]";
+ mes "So...";
+ mes "Do you have a lot";
+ mes "of friends that you can";
+ mes "constantly party with?";
+ next;
+ menu "Yes, I do",-,"I prefer soloing.",s_Solo,"I am lonely.",s_Lonely;
+
+ set @DaewoonTest,1;
+ emotion 23;
+ mes "[Daewoon]";
+ mes "Oh, that's great~!";
+ mes "To have many friends";
+ mes "is a priceless blessing.";
+ mes "Friends bring us joy and";
+ mes "aid when we find ourselves";
+ mes "suffering from difficulties.";
+ next;
+ mes "[Daewoon]";
+ mes "Wouldn't you";
+ mes "agree that being";
+ mes "really close friends";
+ mes "with someone can be";
+ mes "a life long benefit?";
+ next;
+ goto s_Mobtrain;
+
+s_Solo:
+
+ mes "[Daewoon]";
+ mes "Well, everybody";
+ mes "needs to be alone once";
+ mes "in a while. And there are";
+ mes "some battles you must";
+ mes "fight all on your own.";
+ next;
+ mes "[Daewoon]";
+ mes "Also, if you never";
+ mes "deal with other people,";
+ mes "you may grow selfish or";
+ mes "needy. It's better to go";
+ mes "out and meet people,";
+ mes "don't you think?";
+ next;
+ goto s_Mobtrain;
+
+s_Lonely:
+
+ mes "[Daewoon]";
+ mes "You don't have any";
+ mes "friends at all? Well,";
+ mes "you better learn how";
+ mes "to get along with others";
+ mes "as soon as you can...!";
+ next;
+s_Mobtrain:
+ mes "[Daewoon]";
+ mes "Now, what's your opinion";
+ mes "on purposely getting lots";
+ mes "of monsters to follow you";
+ mes "around. I believe this is";
+ mes "called 'Mob Training...'";
+ next;
+ menu "Awesome~!",-,"I hate people who do that.",s_Hate,"I do it sometime...",s_Sometimes;
+
+ emotion 32;
+ mes "[Daewoon]";
+ mes "But...";
+ mes "Wouldn't that be really";
+ mes "rude to anyone else hunting";
+ mes "on that same map? I think";
+ mes "it would even interfer with";
+ mes "someone else's gameplay...";
+ next;
+ mes "[Daewoon]";
+ mes "Pherhaps you should try";
+ mes "to consider other people's";
+ mes "feelings. Mob training seems";
+ mes "to only be good at getting other";
+ mes "people angry with you...";
+ next;
+ goto s_Woe;
+s_Hate:
+ set @DaewoonTest,@DaewoonTest + 1;
+ mes "[Daewoon]";
+ mes "Really?";
+ mes "I do too!";
+ next;
+ mes "[Daewoon]";
+ mes "Just the other day, I've";
+ mes "heard some ruffians boasting";
+ mes "of their mob training activities.";
+ mes "But personally, I feel they were";
+ mes "compensating for their own";
+ mes "shortcomings.";
+ next;
+ mes "[Daewoon]";
+ mes "Such behaviour truly";
+ mes "bothers me. Although I have";
+ mes "spent years in developing an";
+ mes "unflappable personality, I find";
+ mes "myself irked when encountering";
+ mes "such troublemakers.";
+ next;
+ emotion 21;
+ mes "[Daewoon]";
+ mes "When you face obstacles";
+ mes "in your own training, never give in";
+ mes "to weakness. Assert yourself and";
+ mes "find the determination to overcome";
+ mes "your tribulations with honor!";
+ next;
+ goto s_Woe;
+s_Sometimes:
+ mes "[Daewoon]";
+ mes "At least you're honest.";
+ mes "But let me say that I cannot";
+ mes "condone that sort of weak willed";
+ mes "behavior. True strength can only";
+ mes "be found through honor.";
+ mes "Remember that.";
+ next;
+ mes "[Daewoon]";
+ mes "In the face of overwhelming";
+ mes "odds, do not despair. After all,";
+ mes "what is achievment if it is not";
+ mes "earned without difficulty? The";
+ mes "greater the challenge, the";
+ mes "greater the glory.";
+ next;
+ mes "[Daewoon]";
+ mes "Even if you are having a hard time,";
+ mes "try to take a firm stand.";
+ mes "One day, you will realize how";
+ mes "strong you have become.";
+ next;
+ mes "[Daewoon]";
+ mes "And...";
+ mes "Don't ever partake in";
+ mes "mob training again, okay?";
+ next;
+s_Woe:
+ mes "[Daewoon]";
+ mes "Anyway, I'm sure you're";
+ mes "aware of the War of Emperium";
+ mes "in which might guilds all across";
+ mes "Rune-Midgard battle for guild";
+ mes "castle dominion. It's actually";
+ mes "quite popular, really.";
+ next;
+ mes "[Daewoon]";
+ mes "Now imagine that both of us";
+ mes "are in the midst of a heated guild";
+ mes "war. The sounds of explosions and";
+ mes "earth shaking magic spells are all";
+ mes "we can hear. At any time, we can";
+ mes "be lost in that mindless chaos.";
+ next;
+ mes "[Daewoon]";
+ mes "Finally, through incredibly";
+ mes "good fortune, we manage to";
+ mes "infiltrate the enemy guild castle";
+ mes "and reach their Emperium. If we";
+ mes "destroy that Emperium, that castle";
+ mes "will belong to our guild.";
+ next;
+ mes "[Daewoon]";
+ mes "However...! This is";
+ mes "no ordinary Emperium!";
+ mes "It is a masterful sculpture";
+ mes "of a gorgeous Priestess!";
+ mes "Answer me, adventurer!";
+ mes "Would you still destroy it?!";
+ next;
+ menu "Destroy it!",-,"I can't destroy such beauty...",s_Beauty,"I'd close my eyes, then destroy it.",s_Eyes;
+
+ mes "[Daewoon]";
+ mes "Hmm. You have a truly";
+ mes "strong will. Then again,";
+ mes "perhaps you lack a try";
+ mes "appreciation for beauty.";
+ mes "Even in Emperium form, how";
+ mes "could you harm a Priestess?";
+ next;
+ goto s_Guild2;
+s_Beauty:
+
+ set @DaewoonTest,@DaewoonTest + 1;
+ mes "[Daewoon]";
+ mes "Ah yes! I felt you would answer";
+ mes "that way! We must cherish and";
+ mes "protect what is beautiful in this";
+ mes "world. I would never be able to";
+ mes "harm a Priestess, even in";
+ mes "statue form...";
+ next;
+ goto s_Guild;
+s_Eyes:
+
+ mes "[Daewoon]";
+ mes "Interesting...!";
+ mes "Although you cherish";
+ mes "the beauty of the Priestess,";
+ mes "your loyalty to your guild";
+ mes "proves stronger. A most";
+ mes "admirable attitude!";
+ next;
+s_Guild2:
+ mes "[Daewoon]";
+ mes "But yes, if it was";
+ mes "me, I would protect that";
+ mes "Priestess-shaped Emperium";
+ mes "until the end of the guild war.";
+ mes "Mwah ah hah~!";
+s_Guild:
+ mes "[Daewoon]";
+ mes "While we're on the topic";
+ mes "of guilds, let me present";
+ mes "another guild related scenario.";
+ mes "Let's say that you joined a very";
+ mes "popular guild with many allies,";
+ mes "as well as formidable enemies.";
+ next;
+ mes "[Daewoon]";
+ mes "Now, during one of your";
+ mes "hunts, you happen to meet";
+ mes "a member of one of your enemy";
+ mes "guilds. The two of you are the only";
+ mes "people on that map. Suddenly, he";
+ mes "finds himself in mortal danger!";
+ next;
+ mes "[Daewoon]";
+ mes "This enemy gulid member";
+ mes "begins to yell for help. Now,";
+ mes "would you give your enemy";
+ mes "the help that he needs?";
+ next;
+ menu "Yes of course!",-,"I'd pretend not to hear anything.",s_Hear,"I'd make fun of him, then run off.",s_Fun;
+
+ set @DaewoonTest,@DaewoonTest + 1;
+ mes "[Daewoon]";
+ mes "Ah, you would help him!";
+ mes "Good, good. I'm glad to see";
+ mes "that you understand such";
+ mes "pettiness should not get in the way";
+ mes "of doing what is good and right.";
+ next;
+ goto s_Life;
+s_Hear:
+ set @DaewoonTest,@DaewoonTest + 1;
+ mes "[Daewoon]";
+ mes "True, you're not really";
+ mes "obligated to help your";
+ mes "enemy. Besides, you may";
+ mes "hurt his feelings once he";
+ mes "realizes that he's had to";
+ mes "depend on his rival for help.";
+ next;
+ goto s_Life;
+s_Fun:
+ mes "[Daewoon]";
+ mes "Even though he is";
+ mes "your enemy, I still";
+ mes "believe it's important";
+ mes "that you treat him with";
+ mes "respect. Where is your honor?";
+ next;
+s_Life:
+ mes "[Daewoon]";
+ mes "Well, there's one";
+ mes "last thing I want to";
+ mes "know about you. It's the";
+ mes "most important question";
+ mes "in the world once you";
+ mes "think about it.";
+ next;
+ mes "[Daewoon]";
+ mes "...";
+ mes "......";
+ mes "Do you enjoy life?";
+ next;
+ menu "Yes",-,"No",s_No;
+
+ set @DaewoonTest,@DaewoonTest + 1;
+ emotion 18;
+ mes "[Daewoon]";
+ mes "I'm glad.";
+ mes "When you don't live";
+ mes "with zeal, it's easy to";
+ mes "forget your goals and your";
+ mes "purpose for living. Don't have";
+ mes "any? Then make some up.";
+ next;
+ mes "[Daewoon]";
+ mes "I hope you always enjoy";
+ mes "life as much as you can.";
+ mes "As for me, I'm always happy";
+ mes "with my wine, women and song~";
+ mes "Mwah ah hah~!";
+ next;
+ goto s_Last;
+
+s_No:
+ mes "[Daewoon]";
+ mes "I understand.";
+ mes "People cannot be happy";
+ mes "all the time. Sometimes";
+ mes "it's easy to forget your";
+ mes "goals and purpose in life.";
+ next;
+ mes "[Daewoon]";
+ mes "But you know what? If you";
+ mes "have just one dream, one goal";
+ mes "to strive towards, things shall get";
+ mes "better. If you think you don't have";
+ mes "dreams, look back to your past.";
+ mes "What you remember may suprise";
+ mes "you.";
+ next;
+ mes "[Daewoon]";
+ mes "It's important to look forward,";
+ mes "but first you must find what is";
+ mes "truly precious to you before you";
+ mes "can define your happiness. That's";
+ mes "why I think it's good to experience";
+ mes "new things as well as reflect.";
+ next;
+ emotion 21;
+ mes "[Daewoon]";
+ mes "Now, what's precious to me?";
+ mes "Three things, actually...";
+ mes "Wine. Women. And song!";
+ mes "Though if I had to rank them,";
+ mes "women would top that list.";
+ mes "Mwah ah hah~!";
+ next;
+s_Last:
+ if(@DaewoonTest == 5)
+{
+ getitem 7177,1;
+ mes "[Daewoon]";
+ mes "You know, after talking with";
+ mes "you for a while, I now feel fairly";
+ mes "comfortable with leaving you this";
+ mes "piece of the Sobbing Starlight.";
+ mes "Somehow, I think you're strong";
+ mes "enough to get all the pieces.";
+ next;
+ mes "[Daewoon]";
+ mes "I hope you will pass the rest of";
+ mes "the tests and acquire the power.";
+ next;
+ mes "[Daewoon]";
+ mes "Oh yes! Your next test";
+ mes "examiner is ^FF0000Sir Jore^000000, also";
+ mes "known as the Ghost of Al de Baran.";
+ mes "Although he's always sick, he has";
+ mes "great passion for his research.";
+ next;
+ mes "[Daewoon]";
+ mes "Alright, then.";
+ mes "Good luck in";
+ mes "Al de Baran~!";
+ set signquest,6;
+ close;
+}
+ else
+{
+ mes "[Daewoon]";
+ mes "It pains me to say this,";
+ mes "but I do not think you're";
+ mes "worthy of holding my fragment";
+ mes "of the Sobbing Starlight. But";
+ mes "I am willing to give you";
+ mes "another chance~";
+ close;
+}
+
+}
+
+ else if(signquest == 6)
+{
+ mes "[Daewoon]";
+ mes "Mwah ah hah!";
+ mes "Feasting and merriment,";
+ mes "wine, women and song!";
+ mes "I could ask for nothing more!";
+ next;
+ mes "[Daewoon]";
+ mes "The most scrumptious";
+ mes "delicacies are all mine to";
+ mes "taste! And I'm not just talking";
+ mes "about the food. Mwah ah hah!";
+ mes "I'm the king of the world!";
+ next;
+ mes "[Daewoon]";
+ mes "Hm...?";
+ mes "Weren't you on";
+ mes "your way to find";
+ mes "^FF0000Sir Jore^000000 in Al de Baran?";
+ next;
+ mes "[Daewoon]";
+ mes "Oh, having trouble";
+ mes "finding him, are you?";
+ mes "Well, he's fairly shy, but";
+ mes "I'm sure he's hiding some";
+ mes "place in that town.";
+ close;
+}
+
+}
+
+aldebaran.gat,225,54,4 script #aldesignwarp 45,1,1,{
+OnTouch:
+ set @aldesigncheck,0;
+ warp "aldeba_in.gat",149,120;
+ end;
+
+}
+
+aldeba_in.gat,149,123,4 script #aldesignwarp2 45,1,1,{
+OnTouch:
+ set @aldesigncheck,0;
+ warp "aldebaran.gat",223,56;
+ end;
+
+}
+
+}
+
+aldeba_in.gat,147,104,1 script PotionActivator 139,3,0,{
+OnTouch:
+ if(@aldesigncheck == 0)
+{
+ donpcevent "Jore#SignAldeNpc::OnPotion";
+ set @aldesigncheck,1;
+}
+ end;
+}
+
+aldeba_in.gat,156,118,4 script Piru Piru 700,{
+
+ emotion 28;
+ mes "[Piru Piru]";
+ mes "Oh, I'm sooo tired~";
+ mes "But we can't sleep yet.";
+ mes "^000200*Sob*^000000 Master, can't we";
+ mes "just call it a day already?";
+ next;
+ if(signquest != 7)
+{
+ menu "What do you do in here?",-;
+}
+ else
+{
+ menu "What do you do in here?",-,"About vanished Alchemists",s_Vanish,"What is the Stone of Sage?",s_SageStone;
+}
+ mes "[Piru Piru]";
+ mes "My master, Sir Jore,";
+ mes "is researching a way to";
+ mes "create artificial life! Still,";
+ mes "it's not easy and we haven't";
+ mes "accomplished anything yet...";
+ next;
+ mes "[Piru Piru]";
+ mes "It doesn't help that my";
+ mes "master spends all of his";
+ mes "time on research. He hasn't";
+ mes "been taking care of himself";
+ mes "and is losing a lot of weight.";
+ mes "I'm really worried about him.";
+ close;
+
+s_Vanish:
+ mes "[Piru Piru]";
+ mes "Oh, the father and daughter";
+ mes "who were both Alchemists, right?";
+ mes "Did you know they vanished because";
+ mes "they invented the monster potion";
+ mes "summoning skill?";
+ next;
+ mes "[Piru Piru]";
+ mes "Their discovery caused";
+ mes "such great hysteria in the";
+ mes "scientific community. In the";
+ mes "end they had no choice but";
+ mes "to live in seclusion deep";
+ mes "in the ^FF0000forsest to the south^000000.";
+ next;
+s_SageStone:
+ mes "[Piru Piru]";
+ mes "Hmm? Well, I wouldn't";
+ mes "know anything about that.";
+ mes "In fact, I'm always staying";
+ mes "in this lab, so I never hear";
+ mes "any rumors or news outside.";
+ close;
+
+}
+
+aldeba_in.gat,155,101,2 script Jore#SignAldeNpc 805,{
+
+ if(gettime(3) == 17 || gettime(3) == 18 || gettime(3) == 19 || gettime(3) == 20 || gettime(3) == 21)
+{
+ if(signquest == 7)
+{
+ mes "[Sir Jore]";
+ mes "I want you to find two";
+ mes "Alchemists, a father and";
+ mes "daughter, who have gone into";
+ mes "seclusion deep in some forest";
+ mes "so that I can learn more about";
+ mes "the Stone of Sage.";
+ next;
+ mes "[Sir Jore]";
+ mes "Of course, this will";
+ mes "possibly further my";
+ mes "research, but it's also";
+ mes "how I'll judge whether or";
+ mes "not you're qualified for my";
+ mes "piece of the Sobbing Starlight.";
+ close;
+}
+ if(SignJore == 1)
+{
+
+ if(countitem(1092) < 10 || countitem(511) < 10 || countitem(610) < 2)
+{
+ mes "[Sir Jore]";
+ mes "Please bring m-me";
+ mes "10 Empty Test Tube,";
+ mes "10 Green Herb and";
+ mes "2 Yggdrasil Leaf.";
+ mes "so that I can make a";
+ mes "new research sample.";
+ close;
+}
+ else
+{
+ delitem 1092,10;
+ delitem 511,10;
+ delitem 610,2;
+ set signquest,7;
+ emotion 15;
+ mes "[Sir Jore]";
+ mes "Ah! Th-thank you for";
+ mes "bringing what I need.";
+ mes "Now I can continue my";
+ mes "research. Oh, and see if";
+ mes "you're worthy of obtaining";
+ mes "the Sobbing Starlight";
+ next;
+ mes "[Sir Jore]";
+ mes "Now, for your assignment.";
+ mes "Have you ever heard about";
+ mes "the ^FF0000Stone of Sage^000000? Rumors about";
+ mes "it have been spreading around, but";
+ mes "no one has confirmed the truth";
+ mes "about it, " + strcharinfo(0) + ".";
+ next;
+ mes "[Sir Jore]";
+ mes "Although I have no clue";
+ mes "what the Stone of S-S-age";
+ mes "may actually be, I have a gut";
+ mes "feeling that I need it to bring";
+ mes "my Biology research to the next";
+ mes "step. This is how you'll help me.";
+ next;
+ mes "[Sir Jore]";
+ mes "I need you to investigate";
+ mes "this Stone of Sage by finding";
+ mes "a father and daughter who were";
+ mes "famous for being great Alchemists.";
+ mes "They vanished deep into a forest,";
+ mes "but I believe they know something.";
+ close;
+}
+
+}
+ mes "[" + strcharinfo(0) + "]";
+ mes "Excuse me...";
+ next;
+ emotion 23;
+ mes "^3131FF*Clink*";
+ next;
+ mes "[Sir Jore]";
+ mes "...";
+ mes "......";
+ next;
+ mes "[Sir Jore]";
+ mes "...";
+ mes "......";
+ mes "...No!";
+ mes "Look what you";
+ mes "made me do!";
+ next;
+ emotion 28;
+ mes "[Sir Jore]";
+ mes "I've been fiddling";
+ mes "with this sample for";
+ mes "five hours. And now";
+ mes "it's ruined ^000200*Sob*";
+ if(signquest != 6)close;
+ next;
+ mes "[Sir Jore]";
+ mes "^000200*Sob*^000000";
+ mes "I came to this town";
+ mes "so I could focus on";
+ mes "my research without";
+ mes "any interuptions. So";
+ mes "why are you here?";
+ next;
+ menu "Daewoon sent me.",s_Daewoon,"Oops, sorry. Later~",-;
+
+ mes "[Sir Jore]";
+ mes "I spent five hours";
+ mes "observing the changes";
+ mes "in that research sample.";
+ mes "All of that hard work lost!";
+ mes "^000200*Wah~!*";
+ close;
+
+s_Daewoon:
+ emotion 4;
+ mes "[Sir Jore]";
+ mes "O-oh!";
+ mes "That's right.";
+ mes "You're here to be";
+ mes "tested for the piece";
+ mes "of the Sobbing Starlight.";
+ next;
+ mes "[Sir Jore]";
+ mes "So...";
+ mes "Er. Then, what...";
+ mes "W-what's your name?";
+ next;
+ menu strcharinfo(0) + ", thanks.",-;
+ mes "[Sir Jore]";
+ mes "N-nice to meet you.";
+ mes "My name is Jore. Just";
+ mes "a normal person who loves";
+ mes "research. S-sorry if I seem";
+ mes "a little nervous! I'm actually";
+ mes "quite... shy around people.";
+ next;
+ mes "[Sir Jore]";
+ mes "Oh no...!";
+ mes "if you were able to";
+ mes "find me, there will be";
+ mes "others! When would I get";
+ mes "the time to do my research?!";
+ mes "N-no! I h-h-hate people!!";
+ next;
+ mes "[Sir Jore]";
+ mes "Still, I did promise";
+ mes "M-M-Metz and he is my";
+ mes "friend. So I must accept";
+ mes "some guests. Even if hundreds";
+ mes "of them knock on my door...";
+ next;
+ mes "[Sir Jore]";
+ mes "But first of all,";
+ mes "I'm going to need";
+ mes "a new research sample.";
+ mes "I think it's only fair that";
+ mes "you get it for me since you";
+ mes "made me ruin the last one.";
+ next;
+ mes "[Sir Jore]";
+ mes "N-now, d-don't worry.";
+ mes "The items are actually";
+ mes "quite easy to get. It's";
+ mes "the five hours part that's";
+ mes "hard. Now, let's see...";
+ next;
+ mes "[Sir Jore]";
+ mes "Just bring";
+ mes "10 Empty Test Tube,";
+ mes "10 Green Herb and";
+ mes "2 Yggdrasil Leaf.";
+ next;
+ mes "[Sir Jore]";
+ mes "You see, l-lately I've";
+ mes "been studying Biology.";
+ mes "I think the secret to life";
+ mes "can be found in the Leaf of";
+ mes "Yggdrasil. They can be used";
+ mes "to revive the dead, after all.";
+ next;
+ emotion 4;
+ mes "[Sir Jore]";
+ mes "Oh, and make sure to";
+ mes "bring those things to me";
+ mes "before I go to bed at";
+ mes "precisely 10:00 PM " + $timezonestring$ + ".";
+ mes "I do have a regular sleeping";
+ mes "schedule, you know.";
+ set SignJore,1;
+ close;
+
+}
+ else
+{
+ mes "^3131FFYou find a tense man";
+ mes "holding test tubes between";
+ mes "his fingers, standing in a pile";
+ mes "of books. He seems to be in";
+ mes "agony for some reason.";
+ next;
+ menu "Speak to him.",s_Speak,"Ignore him.",-;
+
+ mes "^3131FFYou decided to leave";
+ mes "him alone and let him";
+ mes "continue mumbling to";
+ mes "himself and playing";
+ mes "with his test tubes.";
+ close;
+
+s_Speak:
+ mes "[" + strcharinfo(0) + "]";
+ mes "Excuse me...";
+ next;
+ mes "[Sire Jore]";
+ mes "...";
+ mes "......";
+ next;
+ mes "^3131FFToo preoccupied with";
+ mes "his thoughtsm this strange";
+ mes "man is unable to hear you.";
+ next;
+ menu "Try again.",s_Again,"Ignore him.",-;
+
+ mes "^3131FFYou decided to leave";
+ mes "him alone and let him";
+ mes "continue mumbling to";
+ mes "himself and playing";
+ mes "with his test tubes.";
+ close;
+
+s_Again:
+ mes "[" + strcharinfo(0) + "]";
+ mes "EXCUSE ME!";
+ next;
+ mes "[Sire Jore]";
+ mes "...!";
+ mes "Oh, h-h-hello.";
+ mes "Sorry, but I'm kind of";
+ mes "busy right now. Yes, yes,";
+ mes "would you come back at";
+ mes "precisely 5:00 PM " + $timezonestring$ + "?";
+ next;
+ mes "[Sire Jore]";
+ mes "Let's see...";
+ mes "Now if I recalibrated";
+ mes "the faust exhaust, then";
+ mes "the bioneutron analyzer";
+ mes "would need to be adjusted";
+ mes "for cytoplasmic balance...";
+ close;
+}
+
+OnPotion:
+ if(rand(0,1) == 1)
+{
+ emotion 5;
+ misceffect 305;
+}
+else
+{
+ emotion 23;
+ misceffect 306;
+}
+ end;
+}
+
+prt_maze02.gat,57,152,1 script Girl 91,{
+
+ mes "^3131FFYou catch a glimpse";
+ mes "of a girl headin directly";
+ mes "into a deep forest. You decide";
+ if(signquest != 7)goto s_No;
+ mes "to follow her and see if you can";
+ mes "learn more.";
+ close2;
+ warp "prt_maze02.gat",11,146;
+ end;
+s_No:
+ mes "to not follow her since you're";
+ mes "not interested where she's going.";
+ close;
+}
+
+function Sign_Alch_Summon,{
+
+Loopback:
+if($signmazemonster == 0)
+{
+ set $signmazemonster,5;
+ monster "prt_maze02.gat",14,177,"Flora",1118,1,"Sign_Alch_Summon::OnMonsterDeadSign";
+ monster "prt_maze02.gat",17,171,"Flora",1118,1,"Sign_Alch_Summon::OnMonsterDeadSign";
+ monster "prt_maze02.gat",24,173,"Flora",1118,1,"Sign_Alch_Summon::OnMonsterDeadSign";
+ monster "prt_maze02.gat",17,175,"Marine Sphere",1142,1,"Sign_Alch_Summon::OnMonsterDeadSign";
+ monster "prt_maze02.gat",17,168,"Marine Sphere",1142,1,"Sign_Alch_Summon::OnMonsterDeadSign";
+}
+else
+{
+ killmonster "prt_maze02.gat","OnMonsterDeadSign";
+ set $signmazemonster,0;
+ goto Loopback;
+}
+OnMonsterDead:
+ set $signmazemonster,$signmazemonster - 1;
+
+}
+
+prt_maze02.gat,16,183,3 script Pleur 91,{
+
+ if(signquest == 7 || signquest == 8)
+{
+ mes "[Pleur]";
+ mes "La la la~";
+ mes "La la la~";
+ close;
+}
+else
+{
+ mes "[Pleur]";
+ mes "Oh, you're lost?";
+ mes "I'll help you find";
+ mes "your way back...";
+ close2;
+ warp "prt_maze02.gat",61,149;
+ end;
+}
+OnHo:
+ emotion 2;
+ end;
+OnKis2:
+ emotion 31;
+ end;
+OnExclamation:
+ emotion 0;
+ end;
+OnOmg:
+ emotion 23;
+ end;
+}
+
+prt_maze02.gat,14,183,3 script Gordon 51,{
+
+ if(signquest == 7 || signquest == 8)
+{
+ if(ScareAlchSign == 1)goto s_Scared;
+ mes "[Gordon]";
+ mes "Hello darling.";
+ mes "What did you do today?";
+ next;
+ donpcevent "Pleur::OnHo";
+ mes "[Pleur]";
+ mes "I played Hide-and-Seek";
+ mes "with a white bear and a";
+ mes "blue bear, father.";
+ next;
+ emotion 2;
+ mes "[Gordon]";
+ mes "Darling...";
+ mes "Aren't you tired";
+ mes "of playing with the";
+ mes "animals? We've live";
+ mes "in this forest for so long...";
+ next;
+ donpcevent "Pleur::OnKis2";
+ mes "[Pleur]";
+ mes "Don't worry father, I understand.";
+ mes "For now, this is the only place";
+ mes "where we can relax and live";
+ mes "in peace. I think we deserve to rest";
+ mes "after accomplishing our goals...";
+ next;
+ emotion 28;
+ mes "[Gordon]";
+ mes "Thank you, Pluer.";
+ mes "I have no regrets about";
+ mes "our work, but sometimes";
+ mes "I do wish for a more";
+ mes "carefree life for you...";
+ next;
+ menu "Roar~!",-,"Excuse me.",s_Excuse;
+
+ callfunc "Sign_Alch_Summon";
+ emotion 23;
+ donpcevent "Pleur::OnOmg";
+ set ScareAlchSign,1;
+ mes "[Pleur]";
+ mes "No no no!";
+ mes "Summon Flora!";
+ next;
+ mes "[Gordon]";
+ mes "Great Schott!";
+ mes "Summon... Marine Sphere!";
+ close;
+
+s_Excuse:
+ emotion 0;
+ donpcevent "Pleur::OnExclamation";
+ mes "[Gordon]";
+ mes "Eh?! Don't you know";
+ mes "how dangerous this place";
+ mes "is? What are you doing";
+ mes "here in the middle of";
+ mes "this forest?";
+ next;
+s_Back:
+ mes "[" + strcharinfo(0) + "]";
+ mes "Actually, I think";
+ mes "I've been looking for";
+ mes "you. I've been sent on";
+ mes "an errand to find these";
+ mes "two famous Alchemists.";
+ next;
+ mes "[Gordon]";
+ mes "Mm...?";
+ mes "Well, we're retired";
+ mes "now, but I suppose it'd";
+ mes "do no harm if you had";
+ mes "something to ask us...";
+ next;
+ menu "Ask about Stone of Sage",s_Sage,"Ask about Alchemy",s_Alch,"Quit",-;
+
+ mes "[Gordon]";
+ mes "Hah hah hah~";
+ mes "Did you forget";
+ mes "what you were";
+ mes "going to ask me?";
+ close;
+
+s_Sage:
+
+ mes "[Gordon]";
+ mes "Stone of Sage?";
+ mes "Huh. To be honest,";
+ mes "I don't know anything";
+ mes "about it at all. I guess";
+ mes "its existence is pretty";
+ mes "much just a rumor, really.";
+ next;
+ mes "[Gordon]";
+ mes "All I've heard is that";
+ mes "the Stone of Sage might";
+ mes "be a catalyst to transmute";
+ mes "materials into gold. If it";
+ mes "really existed, it would be";
+ mes "the ultimate alchemic item.";
+ next;
+ mes "[Pleur]";
+ mes "However I've also heard";
+ mes "it's red, can make humans";
+ mes "immortal and can cure any";
+ mes "sort of disease or ailment";
+ mes "Just where do these rumors";
+ mes "come from? It's crazy...";
+ next;
+ mes "[Gordon]";
+ mes "Now, I even heard that some";
+ mes "people are working on trying";
+ mes "to create the stone themselves.";
+ mes "If they succeed, it'll have a huge";
+ mes "effect on the entire world!";
+ next;
+ mes "[Gordon]";
+ mes "I'm sorry that you've gone";
+ mes "through the trouble of finding";
+ mes "us for this kind of information.";
+ mes "We're retired after all, so we";
+ mes "may be out of the loop.";
+ next;
+ mes "[Pleur]";
+ mes "Although we're retired, we";
+ mes "would be much interested in";
+ mes "knowing if someone does manage";
+ mes "to create such a stone. If that";
+ mes "happens, would you tell us?";
+ next;
+ mes "[Gordon]";
+ mes "Now let me guide you";
+ mes "on a safe path back out";
+ mes "of this maze. I've lived here";
+ mes "quite a while, so I can find";
+ mes "the exit with my eyes close.";
+ mes "Farewell, adventurer~";
+ close2;
+ warp "mjolnir_12",44,23;
+ end;
+s_Alch:
+
+ mes "[Pleur]";
+ mes "I hope you understand that";
+ mes "my father and I devoted and";
+ mes "sacrificed so much for our work.";
+ mes "Finally, we discovered a way to";
+ mes "summon monsters using potions.";
+ next;
+ mes "[Pleur]";
+ mes "However, too many Alchemists";
+ mes "hounded us for our information";
+ mes "once we announced the results";
+ mes "of our research. Ir was more";
+ mes "than we could handle...";
+ next;
+ mes "[Gordon]";
+ mes "I'm sorry, but if you have any";
+ mes "questions about Alchemy, there";
+ mes "are many qualified researchers and";
+ mes "practitioners out there. We came to";
+ mes "this forest to find peace...";
+ close;
+
+s_Scared:
+ mes "[Gordon]";
+ mes "Oh...!";
+ mes "You scared us!";
+ mes "Roaring like some";
+ mes "animal! What do you";
+ mes "think you were doing?";
+ next;
+ goto s_Back;
+
+}
+ else
+{
+ mes "[Gordon]";
+ mes "Can't find your way back?";
+ mes "Don't worry... I'll help";
+ mes "you.";
+ close2;
+ warp "prt_maze02.gat",61,149;
+ end;
+}
+
+}
diff --git a/npc/quests/bongunsword.txt b/npc/quests/bongunsword.txt
new file mode 100644
index 000000000..70517b468
--- /dev/null
+++ b/npc/quests/bongunsword.txt
@@ -0,0 +1,153 @@
+//===== eAthena Script =======================================
+//= Munak and Bongun accessory / Taming items Quest
+//===== By: ==================================================
+//= eAthena Team
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena 1.0
+//===== Description: =========================================
+//= Quest itms:Sword o'Chinese Exorcist,No Recipient,Her Heart
+//===== Additional Comments: =================================
+//= 1.0. merged 3 sep. files, fixed exploits [Lupus]
+//============================================================
+
+
+comodo.gat,135,227,5 script Sherri 93,{
+ mes "[Sherri]";
+ mes " ";
+ mes "*sighs*";
+ next;
+ mes "[Sherri]";
+ mes "Oh? Whats the matter? ...Well, I have finally managed to encase the soul of a handsome boy ...";
+ next;
+ mes "[Sherri]";
+ mes "...so why am I sad?";
+ mes " ";
+ mes "It's because I don't even know how his personality is... say, if you can find me a 'Girl's Diary' about him, I'll give you his diary!";
+ next;
+ mes "[Sherri]";
+ mes "Can you please help me?";
+
+ menu "What do I need again?",-,"Here! I got what you need!",ExCreate,"Sorry, I can't help you.",ExEnd;
+
+ mes "[Sherri]";
+ mes "What I desire is...";
+ mes " ";
+ mes "A 'Girl's Diary' about him...";
+ close;
+
+ExCreate:
+ mes "[Sherri]";
+ mes "Really!! You'll help me!";
+ next;
+
+ if(countitem(1558)<1) goto L_NoItem;//Items: Girl's_Diary,
+ delitem 1558,1;//Items: Girl's_Diary,
+ getitem 659,1;//Items: Her_Heart,
+ mes "[Sherri]";
+ mes "YES! I am forever in your debt!";
+ mes " ";
+ mes "Here is his diary as promised! Again - Thank you!";
+ next;
+ mes "[Sherri]";
+ mes "Wait! Here's his sword, I found it next to him. But it's broken... I know of a old man just west of Geffen who can fix such a sword!";
+ getitem 7110,1;//Items: Broken_Sword,
+ close;
+
+L_NoItem:
+ mes "[Sherri]";
+ mes "Waahhhh, stop playing with my feelings!";
+ mes " ";
+ mes "Go away!";
+ close;
+ExEnd:
+ mes "[Sherri]";
+ mes "*sighs*";
+ close;
+}
+
+izlude_in.gat,115,76,5 script Evan 47,{
+ mes "[Evan]";
+ mes " ";
+ mes "*sighs*";
+ next;
+ mes "[Evan]";
+ mes "Oh? Whats the matter? ...Well, I have finally managed to encase the soul of a pretty girl ...";
+ next;
+ mes "[Evan]";
+ mes "...so why am I sad?";
+ mes " ";
+ mes "It's because I don't even know how she looks like...say, if you can find me and 'Old Portrait' of her, I'll give you her lover's lost letter!";
+ next;
+ mes "[Evan]";
+ mes "Whaddaya say? ..pal?";
+
+ menu "What do I need again?",-,"Here! I got what you need!",ExCreate,"Sorry, I can't help you.",ExEnd;
+
+ mes "[Evan]";
+ mes "A picture of her lovely face...";
+ mes " ";
+ mes "An 'Old Portrait' preferrably...";
+ close;
+
+ExCreate:
+ mes "[Evan]";
+ mes "Really!! You'll help me!";
+ next;
+ if(countitem(7014)<1) goto L_NoItem;//Items: Old_Portrait,
+ delitem 7014,1;//Items: Old_Portrait,
+ getitem 636,1;//Items: No_Recipient,
+ mes "[Evan]";
+ mes "YES! I am forever in your debt!";
+ mes " ";
+ mes "Here is lover's lost letter as promised! Again - Thank you!";
+ close;
+
+L_NoItem:
+ mes "[Evan]";
+ mes "Waahhhh, stop playing with my feelings!";
+ mes " ";
+ mes "Go away!";
+ close;
+
+ExEnd:
+ mes "[Evan]";
+ mes "*sighs*";
+ close;
+}
+
+gef_fild07.gat,183,239,5 script Old Smith 120,{
+ mes "[Old Smith]";
+ mes "Ah, isn't it peaceful up here - I used to be one of the legendary Blacksmiths of midgard...sadly my skills have faded.";
+ next;
+ if(countitem(7110)<1) goto L_NoItemS;//Items: Broken_Sword,
+ mes "[Old Smith]";
+ mes "Hmm, it seems as if you need something. What would that be?";
+
+ menu "Can you fix this broken sword?",-,"Nothing really...",ExEnd;
+
+ mes "[Old Smith]";
+ mes "Ahhh, this is a very old sword and yes I can fix it, I'll need an 'Oridecon' to mend the breaks though.";
+ next;
+ if(countitem(7110)<1 || countitem(984)<1) goto L_NoItem;//Items: Broken_Sword, Oridecon,
+ delitem 7110,1;//Items: Broken_Sword,
+ delitem 984,1;//Items: Oridecon,
+ getitem 10020,1;//Items: Sword_of_Chinese_Exorcist,
+ mes "[Old Smith]";
+ mes "Ah yes here we go!";
+ mes " ";
+ mes "Haha! Gramps still has that old magic touch, Here you go!";
+ close;
+
+L_NoItem:
+ mes "[Old Smith]";
+ mes "Hmm, you seem to be missing something... probably that 'Oridecon'.";
+ close;
+
+L_NoItemS:
+ExEnd:
+ mes "[Old Smith]";
+ mes "...ah well, go out and live life young one. Time never stops!";
+ close;
+}
diff --git a/npc/quests/bunnyband.txt b/npc/quests/bunnyband.txt
new file mode 100644
index 000000000..bfe97e689
--- /dev/null
+++ b/npc/quests/bunnyband.txt
@@ -0,0 +1,97 @@
+//===== eAthena Script =======================================
+//= Bunny Band Quest
+//===== By: ==================================================
+//= eAthena Dev Team
+//===== Current Version: =====================================
+//= v1.3
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= v1.1 using duplicate command
+//= 1.2 Fixed NPC location, removed NPC dupes [Lupus]
+//= 1.3 RE-Fixed exploit V_V, also cleared used VAR [Lupus]
+//============================================================
+
+
+// Alberta ------------------------------------------------------------------------------------------------------------------------------------------
+alberta.gat,23,232,1 script Kafra Corp. Rep.#1::KCRep 83,{
+ mes "[Kafra Corp. Rep.]";
+ if (BUNYBND) goto L_Check;
+ mes "^529DFFSpecial Event, ^FF0000Bunny Band ^529DFFQuest!!^000000";
+ next;
+ menu "Information",-, "Join",M_Join, "Cancel",M_End;
+
+ mes "[Kafra Corp. Rep.]";
+ mes "To thank our customers for using the Kafra Corp. services, we have prepapred a small event for them...";
+ next;
+ mes "[Kafra Corp. Rep.]";
+ mes "The ^FF0000Bunny Band ^529DFFquest!!!^000000. (Sponsered by: The Alberta Merchant Association.)";
+ mes "This quest allows players to obtain the ultra-rare ^FF0000Bunny Band^000000!";
+ next;
+ mes "[Kafra Corp. Rep.]";
+ mes "All you have to do is collect a number of items and bring them to a Kafra Corp. representative such as myself.";
+ mes "We will then carefully handmake a Bunny Band for you on the spot!";
+ next;
+ mes "[Kafra Corp. Rep.]";
+ mes "Here are the items that you will need for the Bunny Band.";
+ mes "^5555FF100 Feather^000000,";
+ mes "^5555FF1 Four Leaf Clover^000000,";
+ mes "^5555FF1 Pearl^000000,";
+ mes "^5555FF1 Kitty Band^000000.";
+ next;
+ mes "[Kafra Corp. Rep.]";
+ mes "When you've collected all of the items, just speak with any Kafra Corp. representative like myself.";
+ mes "We can be found in every town across Rune Midgard.";
+ close;
+
+ M_Join:
+
+ mes "[Kafra Corp. Rep.]";
+ mes "Thank you for participating in the event. Please come back when you have gathered all of the items.";
+ set BUNYBND, 1;
+ close;
+
+ M_End:
+ mes "[Kafra Corp. Rep.]";
+ mes "Have a nice day.";
+ close;
+
+ L_Check:
+ if(countitem(949)<100 || countitem(706)<1 || countitem(722)<1 || countitem(2213)<1) goto sL_NoItems;
+ delitem 949,100;
+ delitem 706,1;
+ delitem 722,1;
+ delitem 2213,1;
+ mes "Wow! Well-done, well-done! You've got every single item! I will make the Bunny Band for you right away...";
+ emotion 21;
+ next;
+ mes "[Kafra Corp. Rep.]";
+ mes "Tah dah!!! Here is your ^FF0000Bunny Band^000000... Please take it!";
+ getitem 2214,1;
+ set BUNYBND,0;
+ next;
+ mes "[Kafra Corp. Rep.]";
+ mes "We appreciate your participation in this special event. Thank you and enjoy your Bunny Band!";
+ close;
+
+ sL_NoItems:
+ mes "Here are the items that you will need for the Bunny Band.";
+ mes "^5555FF100 Feather^000000,";
+ mes "^5555FF1 Four Leaf Clover^000000,";
+ mes "^5555FF1 Pearl^000000,";
+ mes "^5555FF1 Kitty Band^000000.";
+ close;
+
+}
+
+
+// Geffen ------------------------------------------------------------------------------------------------------------------------------------------
+//geffen.gat,116,62,2 duplicate(KCRep) Kafra Corp. Rep.#2 83,
+// Morroc ------------------------------------------------------------------------------------------------------------------------------------------
+//morocc.gat,154,97,4 duplicate(KCRep) Kafra Corp. Rep.#3 83,
+// Payon ------------------------------------------------------------------------------------------------------------------------------------------
+//payon.gat,184,104,4 duplicate(KCRep) Kafra Corp. Rep.#4 83,
+// Prontera ------------------------------------------------------------------------------------------------------------------------------------------
+//prontera.gat,146,87,6 duplicate(KCRep) Kafra Corp. Rep.#5 83,
diff --git a/npc/quests/cooking_quest.txt b/npc/quests/cooking_quest.txt
new file mode 100644
index 000000000..3716c2f52
--- /dev/null
+++ b/npc/quests/cooking_quest.txt
@@ -0,0 +1,600 @@
+//===== eAthena Script =======================================
+//= Cooking Quest
+//===== By: ==================================================
+//= Reddozen
+//===== Current Version: =====================================
+//= 1.5
+//===== Compatible With: =====================================
+//= eAthena 1.0+
+//===== Description: =========================================
+//= Official Cooking Quest
+//===== Additional Comments: =================================
+//= 1.1 Fixed wrong item ID, added missing ";, optimized [Lupus]
+//= 1.1a minor bugfix, thx 2 Irmin [Lupus]
+//= 1.2 Fixed exploit, some typos [Lupus]
+//= 1.3 Fixed wrong label [Lupus] 1.3a updated to Reddozen's changes
+//= 1.3b Fixed wrong id, fixed Puch quest, added more Pouch Quest
+//= dialogues [Lupus]
+//= 1.4 Fixed spelling, added some dialoguesm optimized
+//= fixed bugs. Tested, fully working [Lupus]
+//= 1.5 More fixes [Lupus]
+//============================================================
+
+prt_castle.gat,43,30,6 script Chef Apprentice 878,{
+
+ mes "[Chef's Apprentice]";
+
+ if(cooking == 1) goto L_Remind;
+
+ if(cooking == 2){
+ mes "I see you passed the test.";
+ mes "Good job!";
+ next;
+ mes "[Chef's Apprentice]";
+ mes "This book would be quite helpful for a novice chef.";
+ getitem 7472, 1;//Items: Lv1 Cookbook,
+ set cook_book, 7472;
+ set cooking, 3;
+ close;
+ }
+
+ if(cooking == 3){
+ mes "Hi there. Is there something";
+ mes "that I can help you with?";
+ next;
+ menu "Buy Supplies",M_BuySupply, "Talk about cooking",L_Cook_Talk, "Leave",L_No_Talk;
+
+ M_BuySupply:
+ mes "[Chef's Apprentice]";
+ mes "Outdoor Cooking Set - 500z each";
+ mes " How many?";
+ input @amount;
+ if(@amount < 1) goto ER_Invalid;
+ if(@amount > 100) goto ER_TooMuch;
+ if(@amount*500 > Zeny) goto ER_Zeny;
+ set Zeny, Zeny-(@amount*500);
+ getitem 12125, @amount;//Items: Outdoor Cooker,
+ next;
+ mes "[Chef's Apprentice]";
+ mes "Enjoy!";
+ close;
+
+ L_Cook_Talk:
+ mes "[Chef's Apprentice]";
+ mes "You passed the test,";
+ mes "but were your results";
+ mes "worth while?";
+ next;
+ menu "Taste my food",-, "No, it was horrible",L_Taste_End;
+
+ mes "[Chef's Apprentice]";
+ mes "I don't know about that.";
+ mes "It may not be safe...";
+ next;
+ menu "Please taste it",-, "You're probably right",L_Taste_End;
+
+ mes "[Chef's Apprentice]";
+ mes "Why would I want to try";
+ mes "the food of a novice chef?";
+ next;
+ menu "Please try",-, "Yeah, I'm too new at this",L_Taste_End;
+
+ mes "[Chef's Apprentice]";
+ mes "I'll make a deal with you.";
+ mes "if you cook me one of every";
+ mes "Lv 1 food, then I'll try";
+ mes "your Cooking...";
+ next;
+ menu "Agree",-, "Refuse",L_Taste_End;
+
+ mes "[Chef's Apprentice]";
+ mes "You'll need to make all";
+ mes "six foods. Let me know";
+ mes "when you're finished.";
+ set cooking, 4;
+ close;
+
+ L_Taste_End:
+ mes "[Chef's Apprentice]";
+ mes "Come back when you feel";
+ mes "more confident.";
+ close;
+
+ L_No_Talk:
+ mes "[Chef's Apprentice]";
+ mes "Come back to vist anytime!";
+ mes "Have a good day.";
+ close;
+ }
+
+ if(cooking == 4){
+ if(countitem(12056)
+ && countitem(12061)
+ && countitem(12046)
+ && countitem(12066)
+ && countitem(12041)
+ && countitem(12051)) {//Items: Frog Spawn Soup, Grape Juice with Honey, Grape Juice and Tea, Fried Monkey Tail, Boiled Locust, Steamed Crab Pincer,
+
+ delitem 12056, 1;//Items: Frog Spawn Soup,
+ delitem 12061, 1;//Items: Grape Juice with Honey,
+ delitem 12046, 1;//Items: Grape Juice and Tea,
+ delitem 12066, 1;//Items: Fried Monkey Tail,
+ delitem 12041, 1;//Items: Boiled Locust,
+ delitem 12051, 1;//Items: Steamed Crab Pincer,
+
+ mes "What!? Through already?";
+ mes "Let me see what you've made";
+ next;
+
+ mes "[Chef's Apprentice]";
+ mes "Great job, but there's";
+ mes "still one thing that I need";
+ mes "you to do. Talk to a friend";
+ mes "of mine in Payon. We used";
+ mes "to study together.";
+ next;
+ mes "[Chef's Apprentice]";
+ mes "Take him this ^000080Leather Pouch^000000,";
+ mes "and I'll put in a good word";
+ mes "for you with my teacher.";
+
+ getitem 7432, 1;//Items: Leather Pouch,
+ set cooking, 5;
+ } else {
+ mes "Please come back when you've cooked";
+ mes "all the Lv 1 foods.";
+ next;
+ menu "Buy Supplies",M_BuySupply, "Leave",L_No_Talk;
+ }
+ close;
+ }
+
+ if(cooking == 5){
+ mes "Please, don't forget to";
+ mes "hand my ^000080Leather Pouch^000000";
+ mes "to my friend in Payon.";
+ next;
+ mes "[Chef's Apprentice]";
+ mes "Well... Is there something";
+ mes "that I can help you with?";
+ next;
+ menu "Buy Supplies",-, "Leave",L_No_Talk2;
+
+ mes "[Chef's Apprentice]";
+ mes "Outdoor Cooking Set - 500z each.";
+ mes " How many?";
+ input @amount;
+ if(@amount < 1) goto ER_Invalid;
+ if(@amount > 100) goto ER_TooMuch;
+ if(@amount*500 > Zeny) goto ER_Zeny;
+ set Zeny, Zeny-(@amount*500);
+ getitem 12125, @amount;//Items: Outdoor Cooker,
+
+ next;
+ mes "[Chef's Apprentice]";
+ mes "Enjoy!";
+ close;
+
+ L_No_Talk2:
+ mes "[Chef's Apprentice]";
+ mes "Come back to vist anytime!";
+ mes "Have a good day.";
+ close;
+ }
+
+ if(cooking == 6){
+ mes "Thank you for taking that";
+ mes "pouch to my friend! Take";
+ mes "this as a gift.";
+ set cooking, 7;
+ getitem 12126, 10;//Items: Home Cooking Set,
+ next;
+ mes "[Chef's Apprentice]";
+ mes "Come back later if you";
+ mes "need anything else!";
+ close;
+ }
+
+ if(cooking == 7){
+ mes "Welcome back. What";
+ mes "would you like to do?";
+ next;
+ menu "Buy Supplies",-, "Just visiting",L_Leave3;
+
+ mes "[Chef's Apprentice]";
+ mes "What would you like?";
+ next;
+ menu "Outdoor Cooking Set - 500z each",-, "Home Cooking Set - 1,000z",L_HomeCooking, "Never Mind",L_Leave3;
+
+ set @price, 500;
+ set @tool, 12125;
+ goto L_Cooking_Tools4;
+
+ L_HomeCooking:
+ set @price, 1000;
+ set @tool, 12126;
+
+ L_Cooking_Tools4:
+ mes "[Chef's Apprentice]";
+ mes " How many?";
+ input @amount;
+ if(@amount < 1) goto ER_Invalid;
+ if(@amount > 100) goto ER_TooMuch;
+ if(@amount*@price > Zeny) goto ER_Zeny;
+ set Zeny, Zeny-(@amount*@price);
+ getitem @tool, @amount;
+
+ next;
+ mes "[Chef's Apprentice]";
+ mes "Enjoy!";
+ close;
+
+ L_Leave3:
+ mes "[Chef's Apprentice]";
+ mes "Come back to vist anytime!";
+ mes "Have a good day.";
+ close;
+ }
+
+ mes "Hi there. What can I";
+ mes "do for you?";
+ next;
+ menu "Just looking around",-, "I want to learn to cook",ap_2;
+
+ mes "[Chef's Apprentice]";
+ mes "Feel free to look around";
+ mes "as much as you like.";
+ mes "Just don't disturb my";
+ mes "teacher.";
+ close;
+
+ ap_2:
+ if(baseLevel < 50){
+ mes "[Chef's Apprentice]";
+ mes "You should train a little";
+ mes "more before trying something";
+ mes "as hard as cooking";
+ close;
+ }
+
+ set cooking, 1;
+ mes "[Chef's Apprentice]";
+ L_Remind:
+ mes "So you want to learn to";
+ mes "cook huh? Well, if you";
+ mes "think you can handle it,";
+ mes "just talk to my teacher.";
+ next;
+ mes "[Chef's Apprentice]";
+ mes "Just don't forget your";
+ mes "^000080Chef's Hat^000000 or Sharle";
+ mes "will yell at you.";
+ close;
+
+ ER_Zeny:
+ next;
+ mes "[Chef's Apprentice]";
+ mes "You don't have enough zeny.";
+ close;
+
+ ER_TooMuch:
+ next;
+ mes "[Chef's Apprentice]";
+ mes "You can't by that much at a time!.";
+ mes "You don't have to buy it all at once.";
+ close;
+ ER_Invalid:
+ next;
+ mes "[Chef's Apprentice]";
+ mes "You can't buy negative amounts of cooking";
+ mes "equipment. Please buy a valid amount.";
+ close;
+}
+
+
+payon.gat,209,127,4 script Cooking Friend 88,{
+ mes "[Cooking Friend]";
+ if(cooking == 5){
+ if(countitem(7432)) {
+ delitem 7432, 1;//Items: Leather Pouch,
+ mes "I see my friend sent you";
+ mes "to give me something.";
+ set cooking, 6;
+ emotion e_thx;
+ } else {
+ mes "What? My friend sent you";
+ mes "just to say Hello?";
+ emotion e_hmm;
+ }
+ mes "Thank you for your";
+ mes "trouble. Tell him I said,";
+ mes "Hello.";
+ close;
+ }
+ mes "Hello, how are you?";
+ close;
+}
+
+
+prt_castle.gat,45,35,4 script Sharle 886,{
+ mes "[Sharle]";
+ if(cooking && getequipid(1) != 5026) goto L_No_Uniform; //Item: Chef's Hat
+ if(cooking == 7)goto L_Cooking_7;
+ if(first_cooking)goto L_First_Cooking;
+
+ if(cooking == 1){
+ mes "So you want to learn how to cook?";
+ next;
+ menu "Yes",M_GetQuest, "No",M_End;
+ }
+
+ mes "What a great day to bake some";
+ mes "wonderfull treats!";
+ close;
+
+ M_GetQuest:
+ mes "[Sharle]";
+ mes "Ok. Let's try to cook something together.";
+ set first_cooking,rand(1,6);
+
+ L_First_Cooking:
+ mes "I'm lack of special ingredients,";
+ mes "bring me:";
+ if(first_cooking == 1){
+ set @item1, 577;
+ set @item1a, 1;
+ set @item2, 908;
+ set @item2a, 10;
+ set @item3, 1024;
+ set @item3a, 1;
+ set @food1, 12056;
+
+ mes "1 Grain, 10 Spawn, and";
+ mes "1 Squid Ink.";
+ }
+
+ if(first_cooking == 2){
+ set @item1, 518;
+ set @item1a, 1;
+ set @item2, 514;
+ set @item2a, 2;
+ set @item3, 501;
+ set @item3a, 1;
+ set @food1, 12061;
+
+ mes "1 Honey, 2 Grapes, and";
+ mes "1 Red Potion.";
+ }
+
+ if(first_cooking == 3){
+ set @item1, 514;
+ set @item1a, 3;
+ set @item2, 501;
+ set @item2a, 2;
+ set @item3, 0;
+ set @item3a, 0;
+ set @food1, 12046;
+
+ mes "3 Grapes and 2 Red Potions.";
+ }
+
+ if(first_cooking == 4){
+ set @item1, 942;
+ set @item1a, 5;
+ set @item2, 7031;
+ set @item2a, 1;
+ set @item3, 7457;
+ set @item3a, 1;
+ set @food1, 12066;
+
+ mes "5 Yoyo Tails, 1 Old Frying Pan, and";
+ mes "1 Cooking Oil.";
+ }
+
+ if(first_cooking == 5){
+ set @item1, 940;
+ set @item1a, 5;
+ set @item2, 7031;
+ set @item2a, 1;
+ set @item3, 7457;
+ set @item3a, 1;
+ set @food1, 12041;
+
+ mes "5 Grasshopper Legs, 1 Old Frying Pan, and";
+ mes "1 Cooking Oil.";
+ }
+
+ if(first_cooking == 6){
+ set @item1, 960;
+ set @item1a, 10;
+ set @item2, 511;
+ set @item2a, 10;
+ set @item3, 503;
+ set @item3a, 1;
+ set @food1, 12051;
+
+ mes "10 Nippers, 10 Green Herbs, and";
+ mes "1 Yellow Potion.";
+ }
+
+ if(countitem(@item1) < @item1a || countitem(@item2) < @item2a || countitem(@item3) < @item3a) close;
+
+ delitem @item1, @item1a;
+ delitem @item2, @item2a;
+ delitem @item3, @item3a;
+ next;
+ set cooking, 2;
+
+ mes "[Sharle]";
+ mes "Great Job!";
+ mes "You can now purchase";
+ mes "Outdoor Cooking Sets.";
+ getitem @food1, 1;
+ set first_cooking, 0;
+ close;
+
+ L_Cooking_7:
+ mes "Would you like to check";
+ mes "out my ^800000Cookbooks^000000?";
+ next;
+ menu "Yes",-, "No", M_End2, "Return Book", M_ReturnBook;
+
+ mes "[Sharle]";
+ if(cook_book){
+ mes "You'll have to give me back the";
+ mes "first book I loaned you if you";
+ mes "would like to check out a new book.";
+ mes "Would you like to trade books?";
+ next;
+ menu "Yes",-, "No",M_End2;
+
+ if(countitem(cook_book)==0){
+ mes "What? You don't have the book I loaned you?";
+ mes "It was a ^800000"+getitemname(cook_book)+"^000000.";
+ emotion e_sry;
+ close;
+ }
+ }
+ mes "[Sharle]";
+ mes "Which book would you like?";
+ next;
+ menu "^800000Lv 1 Cookbook",b_1, "Lv 2 Cookbook",b_2, "Lv 3 Cookbook",b_3, "Lv 4 Cookbook",b_4, "Lv 5 Cookbook",b_5, "^000000Leave",M_End2;
+
+ b_1:
+ mes "[Sharle]";
+ mes "You will need:";
+ mes "10 Pumpkins";
+ next;
+ if(countitem(535) < 10) goto L_No_Items;//Items: Pumpkin,
+ delitem 535, 10;//Items: Pumpkin,
+ set @checkout, 7472;
+ mes "And I see you have";
+ mes "what you need!";
+ next;
+ goto b_trade;
+
+ b_2:
+ mes "[Sharle]";
+ mes "You will need:";
+ mes "5 well-baked cookies";
+ next;
+ if(countitem(538) < 5) goto L_No_Items;//Items: Well-baked Cookie,
+ delitem 538, 5;//Items: Well-baked Cookie,
+ set @checkout, 7473;
+ mes "And I see you have";
+ mes "what you need!";
+ next;
+ goto b_trade;
+
+ b_3:
+ mes "[Sharle]";
+ mes "You will need:";
+ mes "5 Sushi";
+ next;
+ if(countitem(551) < 5) goto L_No_Items;//Items: Sushi,
+ delitem 551, 5;//Items: Sushi,
+ set @checkout, 7474;
+ mes "And I see you have";
+ mes "what you need!";
+ next;
+ goto b_trade;
+
+ b_4:
+ mes "[Sharle]";
+ mes "You will need:";
+ mes "5 Dumplings";
+ next;
+ if(countitem(553) < 5) goto L_No_Items;//Items: Dumpling,
+ delitem 553, 5;//Items: Dumpling,
+ set @checkout, 7475;
+ mes "And I see you have";
+ mes "what you need!";
+ next;
+ goto b_trade;
+
+ b_5:
+ mes "[Sharle]";
+ mes "You will need:";
+ mes "10 shoots";
+ next;
+ if(countitem(711) < 10) goto L_No_Items;//Items: Shoot,
+ delitem 711, 10;//Items: Shoot,
+ set @checkout, 7476;
+ mes "And I see you have";
+ mes "what you need!";
+ next;
+ goto b_trade;
+
+ b_trade:
+ mes "[Sharle]";
+ mes "If you find you need a new book,";
+ mes "you're welcome to come back and";
+ mes "trade.";
+
+ if(cook_book){
+ if(countitem(cook_book)==0){
+ mes "What? You don't have the book I loaned you?";
+ mes "It was a ^800000"+getitemname(cook_book)+"^000000.";
+ emotion e_sry;
+ close;
+ }
+ delitem cook_book,1;
+ mes "Have fun, and good luck!";
+ } else {
+ mes "Good luck! I hope you learn a lot!";
+ }
+ getitem @checkout,1;
+ set cook_book, @checkout;
+ close;
+
+ M_End:
+ mes "[Sharle]";
+ mes "That's fine with me, come back";
+ mes "when you want to cook.";
+ close;
+
+ M_End2:
+ mes "[Sharle]";
+ mes "Well, I'm here whenever you'd like";
+ mes "to learn. Just make sure you're";
+ mes "ready.";
+ close;
+
+ M_ReturnBook:
+ if(cook_book == 0){
+ mes "[Sharle]";
+ mes "You haven't borrowed any books.";
+ emotion e_hmm;
+ close;
+ }
+
+ if(countitem(cook_book)==0){
+ mes "What? You don't have the book I loaned you?";
+ mes "It was a ^800000"+getitemname(cook_book)+"^000000.";
+ emotion e_sry;
+ close;
+ }
+ delitem cook_book,1;
+ set cook_book, 0;
+ mes "[Sharle]";
+ mes "Returning the book already?";
+ mes "did you learn what you wanted";
+ mes "to know?";
+ emotion e_what;
+ close;
+
+ L_No_Items:
+ mes "[Sharle]";
+ mes "So come back when";
+ mes "you have the items";
+ mes "that you need.";
+ close;
+
+ L_No_Uniform:
+ mes "How dare you disrespect me";
+ mes "by showing up out of uniform.";
+ mes "Come back when you have your";
+ mes "uniform on.";
+ emotion e_bzz;
+ close;
+}
diff --git a/npc/quests/counteragent_mixture.txt b/npc/quests/counteragent_mixture.txt
new file mode 100644
index 000000000..80ae7ad78
--- /dev/null
+++ b/npc/quests/counteragent_mixture.txt
@@ -0,0 +1,267 @@
+//===== eAthena Script =======================================
+//= Counteragent and Mixture Quest(Morgenstein)
+//===== By: ==================================================
+//= kobra_k88
+//= added some dialogs for Morgenstein by Komurka
+//===== Current Version: =====================================
+//= 1.7
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= Counteragent and Mixtures for making dyes & Alchemist Job Quest
+//===== Additional Comments: =================================
+//= Fully working
+//= Update for Alchemist Quest.
+//= 1.2 added check for Empty Bottle [Lupus]
+//= Fixed some lil thingys [Darkchild]
+//= More li'l thing, added comments for items IDs [Lupus]
+//= 1.5 Fixed Spelling mistakes. [Nexon]
+//= 1.6 Fixed some bugs, also related to Alch Job quest [Lupus]
+//= 1,7 Fixed exploit [Lupus]
+//============================================================
+
+
+// Merchant Louitz -----------------------------------------------------------
+alberta_in.gat,130,54,2 script Merchant Louitz 84,{
+ mes "[Louitz]";
+ mes "What's going on?";
+ if(countitem(970) && countitem(971) && countitem(972)) goto M_Menu2;//Items: Alcohol, Detrimindexta, Karvodailnirol,
+M_Menu:
+ next;
+ menu "Talk",M_Talk,"Cancel",M_Cancel;
+M_Menu2:
+ next;
+ menu "Talk",M_Talk,"More about solutions",M_Solut,"Cancel",M_Cancel;
+
+ M_Talk:
+ mes "[Merchant Louitz]";
+ mes "I was in Geffen for a while trying to find magic tools when I heard some rumors about a Mad Scientist.";
+ mes "I became very interested in the man and tried to meet with him on several occasions.";
+ next;
+ mes "[Merchant Louitz]";
+ mes "After many attempts, I finally got to meet him. Unfortunately he was too immersed in his work and didn't even take notice of me.";
+ next;
+ mes "[Merchant Louitz]";
+ mes "He kept on mumbling to himself ^0000FF'Karvodainirol... Detrimindexta... Alcohol^000000...'";
+ next;
+ mes "[Merchant Louitz]";
+ mes "I had know idea what he was talking about at first, but I later learned that those were names for some unique and rare solutions.";
+ if(countitem(970) && countitem(971) && countitem(972)) goto M_Menu2;//Items: Alcohol, Detrimindexta, Karvodailnirol,
+ mes "I wish ^0000FFI could see them^000000 with my own eyes...";
+ emotion e_slur;
+ goto M_Menu;
+
+ M_Solut:
+ if(MORGEN==0)set MORGEN,1;
+ mes "[Merchant Louitz]";
+ mes "Apparently that scientist uses those solutions to make other agents and mixtures.";
+ mes "You should speak with ^0000ddAure Dupon^000000 in Geffen to find out more about it. ";
+ next;
+ mes "[Merchant Louitz]";
+ mes "You can find him near the ^0000ddEast end^000000 of town. Ask him about ^0000ddMorgenstein^000000. That's the mad scientists' name.";
+ goto M_Menu2;
+
+ M_Cancel:
+ mes "[Louitz]";
+ mes "Um... Now I've seen everything.";
+ close;
+}
+
+// Aure Dupon ------------------------------------------------------------------------
+geffen.gat,181,114,4 script Aure Dupon 55,{
+ mes "[Aure Dupon]";
+ mes "TIME never WAITS for you!! Even MAGIC cannot SLOW it down! I can feel it passing me by even as we speak!!....";
+ emotion 0;
+ next;
+ mes "[Aure Dupon]";
+ mes "So... why did you stop me??";
+ emotion 20;
+ if(MORGEN >= 1) goto M_Menu2;
+M_Menu:
+ next;
+ menu "Talk",M_Talk,"Cancel",M_Cancel;
+M_Menu2:
+ next;
+ menu "Talk",M_Talk,"More about Morgenstein",M_Morgen,"Cancel",M_Cancel;
+
+ M_Talk:
+ mes "[Aure Dupon]";
+ mes "It's true that I'm a little eccentric because of my quest to gain the power of magic, but I assure that there are others out there that are even stranger than myself.";
+ next;
+ mes "[Aure Dupon]";
+ mes "Like that mad scientist ^0000ddMorgenstein^000000. Anyway, if it were up to you, would you be able to devote your ENTIRE life to one single purpose?";
+ next;
+ mes "[Aure Dupon]";
+ mes "Would you be able to give up everything else in your life to achieve that goal? Even if it meant risking insanity??";
+ if(MORGEN>=1) goto M_Menu2;
+ goto M_Menu;
+
+ M_Morgen:
+ if(MORGEN==1) set MORGEN,2;
+ mes "[Aure Dupon]";
+ mes "Morgenstein? Now that man definatley has a few screws loose. He's always in the ^0000ddBlasksmith Guild Building^000000 making crazy potions.";
+ mes "He calls them ^ff0000Mixtures^000000 and ^ff0000Counteragents^000000. I'm not sure what there used for though.";
+ next;
+ mes "[Aure Dupon]";
+ mes "You should go speak with him if your that curious about his work.";
+ goto M_Menu2;
+
+ M_Cancel:
+ mes "[Aure Dupon]";
+ mes "Human beings are just a small part of Nature.... therefore the human will is that of Natures will.....";
+ close;
+}
+
+// Chemist Morgenstein -----------------------------------------------------------
+geffen_in.gat,141,140,2 script Morgenstein 121,{
+ if(MORGEN == 2) goto L_0;
+ if(MORGEN == 3) goto L_1;
+
+ mes "[Chemist Morgenstein]";
+ mes "Heheheheheh... Sniff Sniff... I can smell something appetizing here.";
+ mes "It is a Human Being... living one... umm yummy... Heheheheheh";
+ emotion 38;
+ close;
+
+L_0:
+ mes "[Chemist Morgenstein]";
+ mes "So you've been asking about me huh? What is it that you want to know?";
+M_Menu:
+ next;
+ menu "Ask about research",M_Rsrch,"Nothing",M_End;
+
+ M_Rsrch:
+ mes "[Chemist Morgenstein]";
+ mes "Heheheheheh... You probably already heard about what I do ...";
+ mes "Okay.. I will tell you everything... there is nothing left for me to hide.... Heheheheheh...";
+ emotion 29;
+ next;
+ mes "[Chemist Morgenstein]";
+ mes "As far as I'm concerned my research has already been completed.....";
+ mes "I am a genius you know, and I can make anything!! Heheheheh... it's only a matter how long it will take...";
+ next;
+ mes "[Chemist Morgenstein]";
+ mes "You know what I mean..... time?.... Hehehehehehehya....";
+ emotion 29;
+ next;
+ mes "[Chemist Morgenstein]";
+ mes "Um.... did you say you want to know about my Research?... Oh it's all very simple.... I'm just trying to find ways to combine different materials...";
+ next;
+ mes "[Chemist Morgenstein]";
+ mes "Isn't it interesting? I'm perfecting a method that melts materials, such as iron and stone, and then mixes them into a new substance!!!";
+ mes "Once it is perfected, I will be able to turn anything in the word into a new substance.....";
+ next;
+ mes "[Chemist Morgenstein]";
+ mes "~~~~ !! Hehe!!!...Heheheheheh!!!...squash squash!!!..Kekekekekelll!!!!";
+ emotion 43;
+ next;
+ mes "[Chemist Morgenstein]";
+ mes "Ack!~cough~cough~ Ahem.... Though it is not yet possible, I did figure out something else incredible.";
+ mes "Through my research I found out how to make different types of liquids. I call them ^5533FF'counteragents and mixtures'^000000.";
+ next;
+ mes "[Chemist Morgenstein]";
+ mes "I can make one for you right now,if you want?? Ahhh... Talking about my experiments and research makes me.... 'excited'.......";
+ mes "You too can feel my 'excitement' if you wish..... Ahhhhh.... I can make you feel...";
+ set MORGEN,3;
+ if(ALCH_Q == 4) set al_morgen,1;
+ close;
+
+L_1:
+ mes "[Chemist Morgenstein]";
+ mes "What do you want now?";
+M_Menu2:
+ next;
+ menu "Ask about research",M_Rsrch,"Make a new one",-, "Nothing",M_End;
+
+ mes "[Chemist Morgenstein]";
+ mes "Heheheheheheh.... So I see you are interested in my creations?..... Who woudn't.... Kekekekekekeke!!!";
+ mes "So what do you want me to make for you?? Huh? Heheheheheh.............";
+ emotion 29;
+ next;
+ menu "-Counteragent",-, "-Mixture",sM_Mixture, "-Forget it",M_End;
+
+ mes "[Chemist Morgenstein]";
+ mes "Oh... You said Counteragent... Kekekekekekeke... Let's see.... I'll need some items.......";
+ mes "... Let me check... Oh... Oh...... Ahhhh..... Hmmm.....";
+ next;
+ mes "[Chemist Morgenstein]";
+ mes "Oh.... As I recall I need....:";
+ mes "^5533FF1 Alcohol";
+ mes "1 Detrimindexta^000000......";
+ mes "and ^5533FF1 Empty Bottle^000000....";
+ next;
+ mes "[Chemist Morgenstein]";
+ mes "With these 3 things I'll be able to make you a counter agent. It won't be a big deal to make..... Kekekekekekeke....";
+ mes "Oh, and there will be a fee of ^5533FF3000 zeny^000000 okay? Heheheheheh..... Oh, surely you don't think it's rip-off?...";
+ next;
+ mes "[Chemist Morgenstein]";
+ mes "Alright?....";
+ next;
+ menu "Make",-,"Cancel",M_End;
+
+ mes "[Chemist Morgenstein]";
+ if(countitem(970) && countitem(971) && countitem(713) && Zeny>=3000) goto sl_GetCounter;//Items: Alcohol, Detrimindexta, Empty Bottle,
+ mes "I'm sorry but you need 1 Empty Bottle, 1 Alcohol, 1 Detrimindexta, and 3000 Zeny for me to make a Counteragent.";
+ emotion e_sry;
+ close;
+
+ sl_GetCounter:
+ delitem 970,1;//Items: Alcohol,
+ delitem 713,1;//Items: Empty Bottle,
+ delitem 971,1;//Items: Detrimindexta,
+ set Zeny, Zeny-3000;
+ mes "OhOhOhOh...... Heheheheheh...... Fine... Like this..... Fine... Keep... More........ Heheheheheh";
+ mes ".... Ahhhh.... ..... OhOh.... OhOh!..... OhOhOhOhOhOh!!!...!!!!!!";
+ next;
+ getitem 973,1;//Items: Counteragent,
+ mes "[Chemist Morgenstein]";
+ mes ".... Hmmm......";
+ emotion e_hmm;
+ close;
+
+ sM_Mixture:
+ mes "[Chemist Morgenstein]";
+ mes "Oh... You said Mixture?... Kekekekekekeke... Let's see... I'll need some items.......";
+ mes "... Let me check... Oh... Oh...... Ahhhh..... Hmmm.....";
+ next;
+ mes "[Chemist Morgenstein]";
+ mes "Oh.... As I recall I need....:";
+ mes "^5533FF1 Alcohol";
+ mes "1 Karvodailnirol^000000.....";
+ mes "and ^5533FF1 Empty Bottle^000000...........";
+ next;
+ mes "[Chemist Morgenstein]";
+ mes "With these 3 things I'll be able to make you a mixture. It won't be a big deal to make..... Kekekekekekeke....";
+ mes "Oh, and there will be a fee of ^5533FF4000 zeny^000000 okay? Heheheheheh..... Oh, surely you don't think it's rip-off?...";
+ next;
+ mes "[Chemist Morgenstein]";
+ mes "Alright??...";
+ next;
+ menu "Make",-,"Cancel",M_End;
+
+ mes "[Chemist Morgenstein]";
+ if(countitem(970) && countitem(972) && countitem(713) && Zeny>=4000) goto sl_GetMix;//Items: Alcohol, Karvodailnirol, Empty Bottle,
+ mes "I'm sorry but you need 1 Empty Bottle, 1 Alcohol, 1 Karvodainirol, and 4000 Zeny for me to make a Mixture.";
+ emotion e_sry;
+ close;
+
+ sl_GetMix:
+ delitem 970,1;//Items: Alcohol,
+ delitem 713,1;//Items: Empty Bottle,
+ delitem 972,1;//Items: Karvodailnirol,
+ set Zeny, Zeny-4000;
+ mes "OhOhOhOh...... Heheheheheh...... Fine... Like this..... Fine... Keep... More........ Heheheheheh";
+ mes ".... Ahhhh.... ..... OhOh.... OhOh!..... OhOhOhOhOhOh!!!...!!!!!!";
+ next;
+ getitem 974,1;//Items: Mixture,
+ mes "[Chemist Morgenstein]";
+ mes ".... Hmmm......";
+ emotion e_hmm;
+ close;
+
+ M_End:
+ mes "[Chemist Morgenstein]";
+ mes "... Kekekekekekeke....";
+ emotion e_heh;
+ close;
+} \ No newline at end of file
diff --git a/npc/quests/doomed_swords.txt b/npc/quests/doomed_swords.txt
new file mode 100644
index 000000000..de03dee9d
--- /dev/null
+++ b/npc/quests/doomed_swords.txt
@@ -0,0 +1,682 @@
+//===== eAthena Script =======================================
+//= Doomed Swords Quest
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= Quest for Doomed Swords, Grimtooth, Mysteltain, Executioner.
+//= Based off mRO version. Part 1 and 2 of the quest can be
+//= found in cities\comodo.txt. Message text for Part 6 and 7
+//= is made up.
+//===== Additional Comments: =================================
+//=95% done
+//= 1.1 Fixed items count check. For all 3 swords... [Lupus]
+//= 1.3 Fixed exploit [Lupus]
+//============================================================
+
+
+//=============================================================================
+// Doomed Swords Part 3
+//=============================================================================
+// Moet Leng Good: Tablet Of Power
+aldebaran.gat,44,53,4 script Wizard in Training 64,{
+ if(dmdswrd_Q == 15) goto L_1;
+ if(dmdswrd_Q == 16) goto L_2;
+ if(dmdswrd_Q == 17) goto L_3;
+ if(dmdswrd_Q == 18) goto L_4;
+ mes "[Moet Leng Good]";
+ mes "Did you know that some people signed contract in shadows with the Dark Lord with the";
+ mes "^3355FF`Tablet of Power'^000000?!";
+ next;
+ mes "[Moet Leng Good]";
+ mes "As a result of their greed for power, it brought disasters for the entire world.";
+ mes "So please, be happy with what you already have and do not give in to the dark side.";
+ close;
+
+L_1:
+ mes "[Moet Leng Good]";
+ mes "I guess you are the possessor of the 'Stone of Awakening' and also the one seeking for the 'Tablet of Power'.";
+ next;
+ mes "[Moet Leng Good]";
+ mes "Very well then, I will help you to make a 'Tablet of Power'.";
+ mes "However, it is not a simple task, I will need a number of materials in order to succeed.";
+ next;
+ mes "[Moet Leng Good]";
+ mes "I will need one of these stones, gems, and ores.";
+ mes "^3355FF`Blue Gemstone'^000000";
+ mes "^3355FF`Sapphire'^000000";
+ mes "^3355FF`Aquarmarine'^000000";
+ mes "^3355FF`Shining Stone'^000000";
+ mes "and ^3355FF`Rough Elunium'^000000";
+ next;
+ mes "[Moet Leng Good]";
+ mes "In other words, the 'Tablet of Power' is very valuable, and might take you a while to gather the resources for it.";
+ set dmdswrd_Q,16;
+ close;
+L_2:
+ if((countitem(717) < 1) || (countitem(726) < 1) || (countitem(720) < 1) || (countitem(640) < 1) || (countitem(757) < 1)) goto L_1;
+ mes "[Moet Leng Good]";
+ mes ". . . . . ! !";
+ mes "I can hardly believe that you actually gathered all the resources for the 'Tablet of Power'";
+ mes "Because you have worked so hard, let me make the tablet for you now.";
+ next;
+ delitem 717,1;
+ delitem 726,1;
+ delitem 720,1;
+ delitem 640,1;
+ delitem 757,1;
+ mes "^3355FF- Gives him all the stones -^000000";
+ set dmdswrd_Q,17;
+ next;
+ mes "[Moet Leng Good]";
+ mes "Now, I'll just need you to gather a few ingredients for the fininshing touch of the tablet.";
+ next;
+ mes "[Moet Leng Good]";
+ mes "I will need just one ^3355FF`Cobweb'^000000";
+ mes "You could easily obtain them through argos in Mt. Mjolnir";
+ next;
+ mes "^3355FF- Moet Leng Good's-^000000";
+ mes "^3355FF- working hard on the tablet -^000000";
+ close;
+L_3:
+ if(countitem(1025) > 0) goto sL_3;
+ mes "[Moet Leng Good]";
+ mes "The tablet will be done when I finish!";
+ mes "Please do not bother me for now, I need to concentrate";
+ next;
+ mes "[Moet Leng Good]";
+ mes "Meanwhile, please go find a cobweb so I could use it to provide some finishing touches to the tablet, thanks.";
+ close;
+
+ sL_3:
+ mes "[Moet Leng Good]";
+ mes "Ah, very good, you got a cobweb, please just leave it over there.";
+ next;
+ mes "^3355FF- Gives cobweb to him-^000000";
+ delitem 1025,1;
+ next;
+ mes "[Moet Leng Good]";
+ mes "Alright, here we go !!";
+ next;
+ mes "^3355FF- Clang ! Clang ! Clunk ! -^000000";
+ mes "^3355FF- Boom ! ! -^000000";
+ next;
+ mes "^3355FF- `Tablet of Power'-^000000";
+ mes "^3355FF- is forged -^000000";
+ next;
+ mes "^3355FF- Received 'Tablet of Power'-^000000";
+ set dmdswrd_Q,18;
+ next;
+ mes "[Moet Leng Good]";
+ mes "Even though you possess the 'Tablet of Power' now, the tablet would not be effective without";
+ mes "the ^3355FF` Book of the Tiresome Sheep'^000000??";
+ next;
+ mes "[Moet Leng Good]";
+ mes "^3355FF`Book of the Tiresome Sheep'^000000";
+ mes "was originally crafted by demons located in the desert and now the crafting skill have been passed down to a few wanderers near Morroc.";
+ next;
+ mes "[Moet Leng Good]";
+ mes "So if you wish to obatin the 'Book of the Tiresome Sheep', Morroc would be a smart place to look";
+ close;
+L_4:
+ mes "[Moet Leng Good]";
+ mes "Head to Morroc then! There's someone there that will tell you about";
+ mes "the 'Book of the Tiresome Sheep'. I do not remember his name, but";
+ mes "now that you have the 'Tablet of Power', I'm sure you'll find him.";
+ close;
+}
+
+
+//=============================================================================
+// Doomed Swords Part 4
+//=============================================================================
+// Zaka: Book of Tiresome Sheep
+morocc.gat,202,33,4 script ZAKA 99,{
+ if(dmdswrd_Q == 18) goto L_1;
+ if(dmdswrd_Q == 19) goto L_2;
+ if(dmdswrd_Q == 20) goto L_3;
+ if(dmdswrd_Q == 21) goto L_4;
+ if(dmdswrd_Q == 22) goto L_5;
+ if(dmdswrd_Q == 23) goto L_6;
+
+ mes "[ZAKA]";
+ mes "...... The sun sets over another day. The moon rises to take it's nightly place.";
+ mes "As darkness creeps across the desert, the people of Morroc huddle together.";
+ mes "The never ending well is the life blood of the wandering nomads..... This is Morroc....";
+ next;
+ mes "[ZAKA]";
+ mes "Eh hem.... Say... Have you ever heard of the ^FF4444Doomed Swords^000000, or ^5555FFSwords of Power^000000?";
+ mes "It is believed that these swords are so powerful that whoever weilds them could rule the world!";
+ next;
+ mes "[ZAKA]";
+ mes "The three swords I speak of are the ^5555FFMysteltainn, Ogre Tooth, and Executioner^000000.";
+ next;
+ mes "[ZAKA]";
+ mes "These swords are hidden somewhere in this world.... have you seen any?";
+ close;
+
+L_1:
+ mes "[ZAKA]";
+ mes ". . . . .";
+ next;
+ mes "[ZAKA]";
+ mes "! ! ! ! ! ! !";
+ next;
+ mes "[ZAKA]";
+ mes "Isn't that ?! That tablet?!";
+ mes "^3355FF`Tablet of Power'^000000";
+ mes "Right?! Wha ! !";
+ next;
+ mes "[ZAKA]";
+ mes "Who are you? Why do you possess the 'Tablet of Power'?";
+ mes "Bah, nevermind, it doesn't matter who you are.";
+ mes "Whoever possesses the 'Tablet of Power' is a natural-born leader.";
+ next;
+ mes "[ZAKA]";
+ mes "Well, we are one of the wanderers of Morroc.";
+ mes "It is tradition and duty to make the possessor of^3355FF` Tablet of Power '^000000";
+ mes "a ^3355FF`Book of the Tiresome Sheep'^000000";
+ next;
+ mes "[ZAKA]";
+ mes "I will craft you a 'Book of the Tiresome Sheep', only for your personal use.";
+ mes "As you might have expected, I will need various ingredients to make you the book.";
+ next;
+ mes "[ZAKA]";
+ mes "The first thing will need are two ^3355FF`Snake Scale'^000000 , please bring them to me.";
+ set dmdswrd_Q,19;
+ close;
+L_2:
+ if(countitem(926) > 1) goto sL_2;
+ mes "[ZAKA]";
+ mes "If you want the 'Book of the Tiresome Sheep', I will need^3355FF 2 'Snake Scales'^000000.";
+ close;
+
+ sL_2:
+ mes "Gives Zaka two^3355FF'Snake Scales'^000000";
+ delitem 926,2;
+ set dmdswrd_Q,20;
+ next;
+ mes "[ZAKA]";
+ mes "Now I can construct the basic layout of the book witht the snake scales, but I now need 1 piece of";
+ mes "^3355FF'Scale Shell'^000000 in order to block only negative energies from the book.";
+ close;
+L_3:
+ if(countitem(936) > 0) goto sL_3;
+ mes "[ZAKA]";
+ mes "Please bring me the next ingredient needed for the 'Book of the Tiresome Sheep', I will need one";
+ mes "^3355FF'Scale Shell'^000000 ??";
+ mes ". . . . .";
+ close;
+
+ sL_3:
+ mes "Gives^3355FF'Scale Shell^000000";
+ mes "to Zaka";
+ delitem 936,1;
+ set dmdswrd_Q,21;
+ next;
+ mes "[ZAKA]";
+ mes "Alright, good.";
+ mes "Next, I will need one piece of ^3355FF'Shining Scale'^000000 in order to distribute the magical power equally throughout the book.";
+ next;
+ mes "[ZAKA]";
+ mes "While you are getting the scale, I will continue to the next phase of crafting, good luck.";
+ close;
+L_4:
+ if(countitem(954) > 0) goto sL_4;
+ mes "[ZAKA]";
+ mes "In order to finish crafting the 'Book of the Tiresome Sheep', I will need you to gather me one piece of ^3355FF'Shining Scale'^000000, okay?";
+ close;
+
+ sL_4:
+ mes "Gives^3355FF'Shining Scale'^000000";
+ mes "to Zaka";
+ delitem 954,1;
+ set dmdswrd_Q,22;
+ next;
+ mes "[ZAKA]";
+ mes "Great job!";
+ mes "Finally, the last ingredient I need is one ^3355FF'Stinky Scale'^000000 to complete the book, please bring it to me";
+ close;
+L_5:
+ if(countitem(959) > 0) goto sL_5;
+ mes "[ZAKA]";
+ mes "All I need to craft the 'Book of the Tiresome Sheep' is one piece of ^3355FF'Stinky Scale'^000000 now, please bring one to me.";
+ close;
+
+ sL_5:
+ mes "Gives^3355FF'Stinky Scale'^000000";
+ mes "to Zaka";
+ delitem 959,1;
+ next;
+ mes "[ZAKA]";
+ mes "Ooo. this is all I need to finish up the book, thank you.";
+ next;
+ mes "^3355FF-Zaka is working hard in-^000000";
+ mes "^3355FF-finalizing the book-^000000";
+ next;
+ mes "^3355FF- You receive the Book of-^000000";
+ mes "^3355FF- the Tiresome Sheep from Zaka-^000000";
+ set dmdswrd_Q,23;
+ next;
+ mes "[ZAKA]";
+ mes "There, that's for you..";
+ mes "I guess you have the required items to summon and use the Doomed Swords.";
+ mes "But if you are really going to use the Doomed Swords please go talk to ^5533FFWon^000000, a wandering swordsman, he might have some important advice.";
+ next;
+ mes "[ZAKA]";
+ mes "Legend has it that Won's sword fighting skills is already at god-like level, and he is also one of the ten most influential people in the world.";
+ next;
+ mes "[Zaka]";
+ mes "Right now, he might be training inside Comodo Town, so you might be able to find him there.";
+ close;
+L_6:
+ mes "[ZAKA]";
+ mes "The wandering swordsman ^3355FF`Won'^000000";
+ mes "should be training somwhere in Comodo, look for him very carefully.";
+ close;
+}
+
+
+//=============================================================================
+// Doomed Swords Part 5
+//=============================================================================
+// Won: Voucher of Power
+comodo.gat,232,87,4 script Wandering Swordsman WON 106,{
+ if(dmdswrd_Q == 23) goto L_1;
+ if(dmdswrd_Q == 24) goto L_2;
+ if(dmdswrd_Q == 25) goto L_3;
+
+ mes "[WON]";
+ mes "My name is ^3355FF'Won'^000000. I have searched far and wide, across the oceans and the mountains, to find one who is worthy.......";
+ next;
+ mes "[WON]";
+ mes "It has been many years since the Evil Witch was defeated in that legendary battle..... It is now a story of the past.......";
+ mes "Still, the quest must continue! This is what the heavens desire of me.....";
+ next;
+ mes "[Won]";
+ mes "I must stay here in Comodo..... It is my fate.... I must stay here and wait.........";
+ mes ". . . . . . . . . . . . . . . . . . . .";
+ mes ". . . . . . . . . . . . . . .";
+ mes ". . . . . . . . . .";
+ mes ". . . . .";
+ close;
+
+L_1:
+ mes "^3355FF- The swordsman examines you -^000000";
+ mes "^3355FF- for a few seconds -^000000";
+ next;
+ mes "[Swordsman]";
+ mes "Heh, you're just a normal fella.";
+ mes "I am a wandering swordsman,";
+ mes "^3355FF`WON'^000000";
+ next;
+ mes "[WON]";
+ mes "What? You say you are gonna summon the Doomed Swords?";
+ mes "Psh, I don't care what you say, I will be the judge on whether or not you are worthy.";
+ mes "Let me explain...";
+ next;
+ mes "[WON]";
+ mes "Even though you do have all the required materials to summon the Doomed Swords but that does not mean that you could withstand the energy drained during one summoning.";
+ next;
+ mes "[WON]";
+ mes "Without careful control of energy transfer from the normal world to the Dark World, many disasters could arise upon the world or even unforeseen consequences.";
+ next;
+ mes "[WON]";
+ mes "I am sure that you have heard that the three different Doomed Swords are:";
+ mes "^3355FF` Mysteltain '^000000";
+ mes "^3355FF` Grimtooth '^000000";
+ mes "and ^3355FF` Executioner '^000000.";
+ mes "Each of them with very distinct specialties.";
+ next;
+ mes "[WON]";
+ mes "Now that you understand these, let us start the summoning then.";
+ next;
+ mes "- `Won'-";
+ mes "- draws his sword -";
+ mes "- and starts to swing it around -";
+ next;
+ mes "- You notice something -";
+ mes "- a blue light descending -";
+ mes "- from the sky -";
+ next;
+ mes "^3355FF-You got-^000000";
+ mes "^3355FF-Voucher of Power-^000000";
+ set dmdswrd_Q,24;
+ next;
+ mes "[WON]";
+ mes ". . . . .";
+ next;
+L_2:
+ mes "[WON]";
+ mes "Hmm, it seems like the Dark World is not ready to give you the Doomed Sword just yet...even though you have what it takes to be the master of the swords.";
+ next;
+ mes "[WON]";
+ mes "However, when the day is as long as the night, when the sunlight is as bright as solar sword.";
+ mes "Only during that time, you will have the opportunity to receive the Doomed Swords.";
+ next;
+ mes "[WON]";
+ mes "Head to Morocc and look for a man by the name of ^5533FFCetsu^000000. He has information about one of the swords.";
+// mes "When that time comes, visit the East for a quiet city name Payon, and you shall find yourself in a new journey for the Doomed Swords.";
+ close;
+L_3:
+ mes "123456789101112131415";
+ close;
+}
+
+
+//==============================================================================
+// Doomed Swords Part 6
+//==============================================================================
+
+// Cetsu --------------------------------------------
+morocc.gat,281,178,8 script Cetsu 97,{
+ if(dmdswrd_Q == 25) goto M_Yes;
+ if(dmdswrd_Q > 25) goto L_1;
+
+ mes "[Cetsu]";
+ mes "It is rumored that there was once a dagger made out of the tooth of an ogre. This made the dagger much stronger than those made out of steel.";
+ next;
+ mes "[Cetsu]";
+ mes "It became known as the ^ff0000Grimtooth^000000. What made the Grimtooth truly special was the fact that it was enchanted with a magic spell.";
+ next;
+ mes "[Cetsu]";
+ mes "Many have tried to re-create the Grimtooth but have faild. Only one blacksmith, who once lived in Prontera, knows how to do this.";
+ next;
+ mes "[Cetsu]";
+ mes "Unfortunalety he left Prontera long ago and has not been seen since...";
+ if(dmdswrd_Q == 24) goto L_0;
+ close;
+
+L_0:
+ next;
+ mes"[Cetsu]";
+ mes "Say,.... are you really interested in this dagger?";
+ next;
+ menu "Yes",M_Yes,"Not really",M_No;
+
+ M_Yes:
+ mes "[Cetsu]";
+ mes "You should speak with ^5533FFVeeyop^000000 then. He seems to know alot about the ^00aa00Legendary Blacksmith^000000.";
+ mes "You can find him in Prontera. With his help you may even be able to track down the Legendary Blacksmith. Good luck.";
+ set dmdswrd_Q, 25;
+ close;
+ M_No:
+ mes "[Cetsu]";
+ mes "Oh, I see.";
+ close;
+
+L_1:
+ mes "[Cetsu]";
+ mes "Wow! So you're gonna try to re-create the legendary, doomed dagger Grimtooth? You should becarefull though, that's one powerfull dagger.";
+ close;
+}
+
+// Veeyop --------------------------------------------------
+prontera.gat,197,188,4 script Veeyop 50,{
+ if(dmdswrd_Q == 26) goto M_Yes;
+ if(dmdswrd_Q > 26) goto L_1;
+
+ mes "[Veeyop]";
+ mes "Have you ever heard of a doomed sword, ^ff0000Mysteltain^000000? It's named after ^0000bba legendary Young Twig^000000 that was used to murder Balder, the God of Light...";
+ next;
+ mes "[Veeyop]";
+ mes "According to the legend, it was a weak, little twig. Other than that I know nothing more of the sword.";
+ next;
+ mes "[Veeyop]";
+ mes "Whatever the legend may be, people say there is a way to re-construct the legendary sword.";
+ mes "I've heard that there was once a Blacksmith who had the knowledge to re-create the legendary sword living in Prontera.";
+ next;
+ mes "[Veeyop]";
+ mes "Unfortunately he's disapeared from this town. Anywho its just heresay.";
+ if(dmdswrd_Q == 25) goto L_0;
+ close;
+
+L_0:
+ next;
+ mes"[Veeyop]";
+ mes "Say,.... are you really interested in this sword?";
+ next;
+ menu "Yes",M_Yes,"Not really",M_No;
+
+ M_Yes:
+ mes "[Veeyop]";
+ mes "You should speak with ^FF5533Nain^000000 then. She seems to know alot about the ^00aa00Legendary Blacksmith^000000.";
+ mes "You can find her in Izlude. With her help you may even be able to track down the Legendary Blacksmith. Good luck.";
+ set dmdswrd_Q, 26;
+ close;
+ M_No:
+ mes "[Veeyop]";
+ mes "Oh, I see.";
+ close;
+
+L_1:
+ mes "[Veeyop]";
+ mes "Wow! So you're gonna try to re-create the legendary, doomed sword Mysteltain? You should becarefull though, that's one powerfull sword.";
+ close;
+}
+
+// Nain -------------------------------------------------------------
+izlude_in.gat,173,88,2 script Nain 102,{
+ if(dmdswrd_Q == 27) goto M_Yes;
+ if(dmdswrd_Q > 27) goto L_1;
+
+ mes "[Nain]";
+ mes "I was once told a legend about a powerfull sword that was used only for executions.";
+ next;
+ mes "[Nain]";
+ mes "For years and years, this mighty sword was used to be-head heinous criminals, but it also took the lives of great warriors as well.";
+ mes "It is said that the overtime the government became corrupt and hence innocent lives fell victim to the sword.";
+ next;
+ mes "[Nain]";
+ mes "This caused the sword to become corrupted with an emense evil power making it almost impossible to weild.";
+ mes "Those who did try to weild it became possed with an dark aura that drove them to blood lust.";
+ next;
+ mes "[Nain]";
+ mes "This ancient civilization eventually collapsed and faded away. The powerfull sword also vanished.";
+ mes "The sword would later be named the ^ff0000Executioner^000000. An appropriate name considering its history.";
+ next;
+ mes "[Nain]";
+ mes "Recently there have been rumors of a Legendary Blacksmith that has the skill to re-create the lost sword.";
+ next;
+ mes "[Nain]";
+ mes "Just thinking about it sends shivers down my spine.";
+ mes "No matter how powerfull a sword it is, to think that it is possessed with thousands and thousands of angry ghosts...";
+ mes "I would rather see the Doomed sword stay lost to history.";
+ if(dmdswrd_Q == 26) goto L_0;
+ close;
+
+L_0:
+ next;
+ mes"[Nain]";
+ mes "Say,.... are you really interested in this sword?";
+ next;
+ menu "Yes",M_Yes,"Not really",M_No;
+
+ M_Yes:
+ mes "[Nain]";
+ mes "You should speak with ^aa00aaRupeto^000000 then. He seems to know alot about the ^00aa00Legendary Blacksmith^000000.";
+ mes "You can find him inside the Pub in Prontera. With his help you may even be able to track down the Legendary Blacksmith. Good luck.";
+ set dmdswrd_Q, 27;
+ close;
+
+ M_No:
+ mes "[Nain]";
+ mes "Oh, I see.";
+ close;
+
+L_1:
+ mes "[Nain]";
+ mes "Wow! So you're gonna try to re-create the legendary, doomed sword Executioner? You should becarefull though, that's one powerfull sword.";
+ close;
+}
+
+// Rupeto ---------------------------------------------------------
+prt_in.gat,169,16,3 script Rupeto 86,{
+ if(dmdswrd_Q == 27) goto L_0;
+ mes "[Rupeto]";
+ mes "Hello.";
+ close;
+
+L_0:
+ mes "[Rupeto]";
+ mes "Looking for the Legendary Blacksmith? Go to the payon field just east of the town of Payon.";
+ mes "It's said that the field looks alot like an Elder Willow....";
+ close;
+}
+
+
+//=============================================================================
+// Doomed Swords Final Part
+//=============================================================================
+
+// Legendary Blacksmith ----------------------------------------------
+pay_fild08.gat,217,273,4 script Legendary Blacksmith 63,{
+
+ if(dmdswrd_Q == 27) goto L_Start;
+ if(dmdswrd_Q == 28) goto L_Forge;
+ mes "[Legendary Blacksmith]";
+ mes "I wonder what's going on in ^ff0000Prontera^000000? It's been so long since I've been there.";
+ close;
+
+L_Start:
+ mes "[Legendary Blacksmith]";
+ mes "Hmm... what's this about Doomed Swords?? I have no idea what you're";
+ mes "talking about.....";
+ next;
+ mes "[Legendary Blacksmith]";
+ mes "..... I see... so you've spoken to everyone who was involved with in";
+ mes "the war with the witch... you've also gathered all of the items of";
+ mes "power......";
+ next;
+ mes "[Legendary Blacksmith]";
+ mes "I never thought the day would come when I would make one of these";
+ mes "dreadfull swords again... but you have proven yourself so I can not";
+ mes "turn you down.";
+ next;
+ L_Forge:
+ mes "[Legendary Blacksmith]";
+ mes "What sword do you want me to forge?";
+ set dmdswrd_Q, 28;
+ next;
+ menu "Executioner",M_Exec, "Grimtooth",M_Grim, "Mysteltain",M_Myst;
+
+ M_Exec: //1169
+ if(countitem(7017)>=2 && countitem(7024)>=10 && countitem(1008)>=3 && countitem(609)>=50 && countitem(714)>=1) goto L_GetExec;
+ mes "[Legendary Blacksmith]";
+ mes "So you're interested in making the legendary Executioner Sword heh?.....";
+ next;
+ mes "[Legendary Blacksmith]";
+ mes "It's been sometime since I've forged any weapons,... but since it";
+ mes "is a special challenge for me to make this sword.....";
+ next;
+ mes "[Legendary Blacksmith]";
+ mes "I'll do it! I will re-create the Executioner Sword! I must warn you";
+ mes "however, this is a very powerfull and dangerous sword. Be carefull.";
+ next;
+ mes "[Legendary Blacksmith]";
+ mes "For the Executioner Sword I will need the following items:";
+ mes "- ^0000ff2 Executioners Mitten^000000"; //7017
+ mes "- ^0000ff10 Bloody Edge^000000"; //7024
+ mes "- ^0000ff3 Necklace of Oblivion^000000"; //1008
+ mes "- ^0000ff50 Amulet^000000"; //609
+ mes "- and ^0000ff1 Emperium^000000"; //714
+ close;
+
+ L_GetExec:
+ delitem 7017,2;
+ delitem 7024,10;
+ delitem 1008,3;
+ delitem 609,50;
+ delitem 714,1;
+ mes "[Legendary Blacksmith]";
+ mes "Good! You have brought me all the necessary items.";
+ mes "Please wait a moment while I forge the Executioner Sword.";
+ next;
+ mes "(cling-clang!~ klonk!~ klank!~ cling-clang!)";
+ next;
+ mes "[Legendary Blacksmith]";
+ mes "Phew! Once again a perfect sword! Hahaha! Here you are my friend, enjoy.";
+ getitem 1169,1;
+ close;
+
+ M_Grim: //1237
+ if(countitem(7023)>=10 && countitem(724)>=5 && countitem(7002)>=100 && countitem(7022)>=1 && countitem(714)>=1) goto L_GetGrim;
+ mes "[Legendary Blacksmith]";
+ mes "So you're interested in making the legendary Grimtooth Dagger heh?.....";
+ next;
+ mes "[Legendary Blacksmith]";
+ mes "It's been sometime since I've forged any weapons,... but since it";
+ mes "is a special challenge for me to make this dagger.....";
+ next;
+ mes "[Legendary Blacksmith]";
+ mes "I'll do it! I will re-create the Grimtooth Dagger! I must warn you";
+ mes "however, this is a very powerfull and dangerous dagger. Be carefull.";
+ next;
+ mes "[Legendary Blacksmith]";
+ mes "For the Grimtooth Dagger I will need the following items:";
+ mes "- ^0000ff10 Blade Lost in Darkness^000000"; //7023
+ mes "- ^0000ff5 Cursed Ruby^000000"; //724
+ mes "- ^0000ff100 Ogre Tooth^000000"; //7002
+ mes "- ^0000ff1 Old Hilt^000000"; //7022
+ mes "- and ^0000ff1 Emperium^000000";
+ close;
+
+ L_GetGrim:
+ delitem 7023,10;
+ delitem 724,5;
+ delitem 7002,100;
+ delitem 7022,1;
+ delitem 714,1;
+ mes "[Legendary Blacksmith]";
+ mes "Good! You have brought me all the necessary items.";
+ mes "Please wait a moment while I forge the Grimtooth Dagger.";
+ next;
+ mes "(cling-clang!~ klonk!~ klank!~ cling-clang!)";
+ next;
+ mes "[Legendary Blacksmith]";
+ mes "Phew! Once again a perfect dagger! Hahaha! Here you are my friend, enjoy.";
+ getitem 1237,1;
+ close;
+
+ M_Myst: //1138
+ if(countitem(7021)>=1 && countitem(7019)>=1 && countitem(7020)>=1 && countitem(7018)>=1 && countitem(714)>=1) goto L_GetMyst;
+ mes "[Legendary Blacksmith]";
+ mes "So you're interested in making the legendary Mysteltain Sword heh?.....";
+ next;
+ mes "[Legendary Blacksmith]";
+ mes "It's been sometime since I've forged any weapons,... but since it";
+ mes "is a special challenge for me to make this sword.....";
+ next;
+ mes "[Legendary Blacksmith]";
+ mes "I'll do it! I will re-create the Mysteltain Sword! I must warn you";
+ mes "however, this is a very powerfull and dangerous sword. Be carefull.";
+ next;
+ mes "[Legendary Blacksmith]";
+ mes "For the Mysteltain Sword I will need the following items:";
+ mes "- ^0000ff1 Foolishness of the Blind^000000"; //7021
+ mes "- ^0000ff1 Loki's Whispers^000000"; //7019
+ mes "- ^0000ff1 Mother's Nightmare^000000"; //7020
+ mes "- ^0000ff1 Young Twig^000000"; //7018
+ mes "- and ^0000ff1 Emperium^000000";
+ close;
+
+ L_GetMyst:
+ delitem 7021,1;
+ delitem 7019,1;
+ delitem 7020,1;
+ delitem 7018,1;
+ delitem 714,1;
+ mes "[Legendary Blacksmith]";
+ mes "Good! You have brought me all the necessary items.";
+ mes " Please wait a moment while I forge the Mysteltain Sword.";
+ next;
+ mes "(cling-clang!~ klonk!~ klank!~ cling-clang!)";
+ next;
+ mes "[Legendary Blacksmith]";
+ mes "Phew! Once again a perfect sword! Hahaha! Here you are my friend, enjoy.";
+ getitem 1138,1;
+ close;
+}
diff --git a/npc/quests/juice_maker.txt b/npc/quests/juice_maker.txt
new file mode 100644
index 000000000..a47b8acb6
--- /dev/null
+++ b/npc/quests/juice_maker.txt
@@ -0,0 +1,306 @@
+//===== eAthena Script =======================================
+//= Juice Maker Quest
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.6
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Fully working
+//= 1.1 fixed input number check [Lupus]
+//= 1.2 fixed misplaced Grape<->Carrot juices [Lupus]
+//= 1.3 added a loopless menu 'as many as possible' [Lupus]
+//= 1.3a Turned the juice making part of the Juicer npc into a
+//= subfunc. Changed fruit amount needed to 1.[kobra_k88]
+//= Fixed exploits [Lupus]
+//= 1.6 fixed typo (where did @ipnut came from?) [Lance]
+//============================================================
+
+
+// Morrison ------------------------------------------------
+prt_in.gat,47,173,2 script Morrison 97,{
+ mes "[Little Morrison]";
+ if(MEAT > 10) goto L_Candy;
+ if(MARIANNE == 1) goto L_GoAway;
+
+ mes "Wahhhhh!!! Wahh... NO more! NO more!";
+ mes "I won't... eat anymore stupid ^0000ffFruit^000000 things!!";
+ emotion 28;
+ next;
+ menu "Talk",M_Talk,"Cancel",M_End;
+
+ M_Talk:
+ if(countitem(517) > 0) goto L_Meat; //Meat
+
+ mes "[Little Morrison]";
+ mes "Arhhggg!! I'VE HAD ENOUGH!!! I can't eat anymore ^0000ffFruits^000000! They";
+ mes "taste so SOUR..... I have to PEEL them before I can eat them.....";
+ mes "they feel sticky and squishy...... it's really ANNOYING!!!!";
+ emotion 16;
+ next;
+ mes "[LIttle Morrison]";
+ mes "I just HATE FRUIT! I can't even get full off of the stuff.(~sigh~)";
+ mes "Give me something more edible..... give me some...... ^ff0000MEAT^000000!!!";
+ close;
+
+ L_Meat:
+ mes "[Little Morrison]";
+ mes "...(sniff)....(sniff)(sniff).... Oh! Is that ^ff0000Meat^000000???";
+ emotion 5;
+ next;
+ mes "[Little Morrison]";
+ mes "Do you have some ^ff0000Meat^000000?!!!~(drools)~";
+ mes "Umm... that yummy smell is making me SOOO HUNGRYYYY!!!l";
+ emotion 37;
+ next;
+ mes "[Little Morrison]";
+ mes "... Umm... excuse me..... could you give me some of that meat PLEEAASSSE?";
+ emotion 28;
+ next;
+ menu "Give him some",sM_Give,"Ignore him",sM_Ignore;
+
+ sM_Give:
+ if(countitem(517) == 0) goto L_GoAway; //Meat
+ delitem 517,1; //Meat
+ set MORRISON,1;
+ set MEAT,MEAT + 1;
+ mes "[Little Morrison]";
+ mes "Whoah~!!! It's real Meat, Meat!";
+ mes "Mmmm! It makes my mouth water.";
+ mes "Oh thank you. Now I feel happy. Yum Yum...";
+ emotion 38;
+ close;
+
+ sM_Ignore:
+ set MORRISON,2;
+ mes "[Little Morrison]";
+ mes "Boo...";
+ mes "Boo... Fine... Alright, Alright~!!! Selfish meanie!";
+ emotion 36;
+ close;
+ M_End:
+ mes "[Little Morrison]";
+ mes "Wahhhh!!! No matter how hard I try, I just can't eat Vegetables";
+ mes "or ^0000ffFruit^000000! They're plain disgusting!!";
+ emotion 28;
+ close;
+
+L_GoAway:
+ mes "Pffff... Leave me alone! You DON'T CARE about me! I'm gonna DIE";
+ mes "because of these stupid Veggies and Fuits so MIND your own business!";
+ emotion 32;
+ close;
+
+L_Candy:
+ mes "Ah..I am full now. You don't have to feed me any more. I think I";
+ mes "am gonna BURST if I keep eating more.";
+ next;
+ mes "[Little Morrison]";
+ mes "And... um... Take this.";
+ next;
+ getitem 529,3;
+ getitem 530,1;
+ set MEAT,0;
+ mes "[Little Morrison]";
+ mes "It is from my secret stash of Candy that I hide from my Mom. Since";
+ mes "you gave me some Meat, I will give you some candy." ;
+ close;
+
+}
+
+// Housewife Marianne ---------------------------------------------------
+prt_in.gat,49,172,2 script Housewife Marianne 53,{
+ mes "[Housewife Marianne]";
+ if(MORRISON == 1) goto L_GaveMeat;
+ if(MORRISON == 2) goto L_Juice;
+
+ mes "Morrison!! Please eat some fruit will ya? Fruit~!";
+ mes "*Sob*~!! Like father like son...";
+ emotion 28;
+ next;
+ menu "Talk",M_Talk,"Cancel",M_Cancel;
+ close;
+
+ M_Talk:
+ mes "[Housewife Marianne]";
+ mes "(~Sigh~)...This is Morrison... My one and only son. He's going";
+ mes "through some kinda faze and doesn't want to eat any ^0000ffFruits^000000 or";
+ mes "vegetables.";
+ emotion 40;
+ next;
+ mes "[Housewife Marianne]";
+ mes "Look at his face..., it turns sour just hearing about ^0000ffFruit^000000...";
+ next;
+ mes "[Housewife Marianne]";
+ mes "All he wants to eat is but ^ff0000Meat^000000... (sigh)...he needs";
+ mes "^0000ffFruits^000000 and vegetables for a proper diet.";
+ next;
+
+ M_Cancel:
+ mes "[Housewife Marianne]";
+ mes "Morrison!! I will get mad at you if you keep doing this!";
+ emotion 36;
+ close;
+
+L_GaveMeat:
+ set MORRISON,0;
+ mes "Oh MY GOD!!... Oh lord...";
+ emotion 23;
+ next;
+ mes "[Housewife Marianne]";
+ mes "WHAT ARE YOU DOING!! HOW DARE YOU feed my son!! And ^ff0000MEAT^000000 of all things!!!";
+ next;
+ mes "[Housewife Marianne]";
+ mes "Arrrgh~~!! Get Lost right now!!!!!!";
+ emotion 32;
+ close;
+
+L_Juice:
+ set MORRISON,0;
+ set MARIANNE,1;
+ mes "Thank you for not giving my son any meat. I'm trying to feed him";
+ mes "^0000ffFruits^000000 and vegetables, but this child doesn't want to eat";
+ mes "anything except Meat...";
+ next;
+ mes "[Housewife Marianne]";
+ mes "What if I could turn ^0000ffFruits^000000 into a ^0000ffJuice^000000... for example...Orange";
+ mes "juice... Would my child like it?";
+ emotion 20;
+ next;
+ mes "[Housewife Marianne]";
+ mes "Ah! Now I remember..There is a town where you can get a variety of";
+ mes "^0000ffFruit^000000 turned into ^0000ffFruit Juices^000000.";
+ emotion 5;
+ next;
+ mes "[Housewife Marianne]";
+ mes "... Was is it...^ff0000Payon^000000...or ^ff0000Morroc^000000...?";
+ emotion 20;
+ next;
+ close;
+
+}
+
+// Juicer Marx Hansen ---------------------------------------------------------
+payon_in03.gat,188,146,5 script Juicer Marx Hansen 86,{
+ mes "[Juicer Marx Hansen]";
+ if(MARIANNE == 1) goto L_Juice;
+ mes "Welcome to my shop. What brings you here?";
+ next;
+ menu "Conversation",-,"I am just looking around",M_End;
+
+ mes "[Juicer Marx Hansen]";
+ mes "In the earliest years of humanity, fruits were the only substanace availble for people to eat.";
+ mes "Fruits were vital for survival and without them people faced certain death.";
+ mes "During that time Mother Nature was worshiped for her generous offerering.";
+ next;
+ mes "[Juicer Marx Hansen]";
+ mes "Nowadays food is plentifull and it comes in a variety of flavors and forms.";
+ mes "With so many other things to eat, fruits aren't consumed as much as they used to be.";
+ mes "This is especially true among kids who'd rather eat pizza and candy.";
+ next;
+ mes "[Juicer Marx Hansen]";
+ mes "Because of this I wanted to find a way to make young people realize the importance of fuit.";
+ mes "I found that when fruits were turned into juices, they became more digestive and even tasty enough for kids.";
+ close;
+ M_End:
+ mes "[Juicer Marx Hansen]";
+ mes "Ok then.";
+ close;
+
+//--------------
+L_Juice:
+//---------
+ mes "Welcome to my shop. Are you here to process Fruits like everyone else?";
+ next;
+ menu "Yes, I am.",M_1a, "How do you make fruit juice?",M_1b, "Nope.",M_1End;
+
+ M_1a:
+ mes "[Juicer Marx Hansen]";
+ mes "So what kind of fruit juice would you like to process?";
+ next;
+ menu "Apple Juice",sM_1a,"Banana Juice",sM_1b,"Grape Juice",sM_1c,"Carrot Juice",sM_1d,"None.",M_1End;
+
+ sM_1a:
+ callsub sF_Make, 512, "apples", 531;
+ goto M_1a;
+ sM_1b:
+ callsub sF_Make, 513, "bananas", 532;
+ goto M_1a;
+ sM_1c:
+ callsub sF_Make, 514, "grapes", 533;
+ goto M_1a;
+ sM_1d:
+ callsub sF_Make, 515, "carrots", 534;
+ goto M_1a;
+ M_1b:
+ mes "[Juicer Marx Hansen]";
+ mes "# Fruit Juice Info #";
+ mes "- ^FF3355Apple^000000 Juice - Apple x 1 ea, Empty Bottle x 1 ea, 3 zeny.";
+ mes "- ^D5A500Banana^000000 Juice - Banana x 1 ea, Empty Bottle x 1 ea, 3 zeny.";
+ mes "- ^FF8800Carrot^000000 Juice - Carrot x 1 ea, Empty Bottle x 1 ea, 3 zeny.";
+ mes "- ^AA00AAGrape^000000 Juice - Grape x 1 ea, Empty Bottle x 1 ea, 3 zeny.";
+ close;
+ M_1End:
+ mes "[Juicer Marx Hansen]";
+ mes "Oh well... see you next time.";
+ close;
+
+// Subfunction for making juice
+//----------------------------------
+sF_Make:
+ mes "[Juicer Marx Hansen]";
+ mes "How many bottles would you like?";
+ next;
+ menu "I'll tell you.",M_Tell, "As many as possible",-, "I've changed my mind.",M_1End;
+
+ set @amount,1000; //max possible amount of Juice
+ //calc max possible # juices
+ if(Zeny/3 < @amount) set @amount, Zeny/3;
+ if(countitem(getarg(0)) < @amount) set @amount, countitem(getarg(0));
+ if(countitem(713) < @amount) set @amount, countitem(713);
+ if(@amount > 0) goto L_Make;
+ mes "[Juicer Marx Hansen]";
+ mes "Doh! You don't have enough ingredients for a single bottle of juice.";
+ emotion 0;
+ close;
+
+ M_Tell:
+ mes "[Juicer Marx Hansen]";
+ mes "Very well then. Enter 0 if you don't want any. Also you cannot";
+ mes "buy more than 1000 at a time.";
+ next;
+ input @amount;
+ if(@amount < 1 || @amount > 1000) return;
+ if(countitem(getarg(0)) < @amount) goto sL_NoFruits;
+ if(countitem(713) < @amount) goto sL_NoBottles;
+ if(Zeny < @amount * 3) goto sL_NoZeny;
+
+ L_Make:
+ delitem getarg(0), @amount; //del Fruit
+ delitem 713, @amount; //del Empty Bottle
+ set Zeny, Zeny - @amount * 3;
+ getitem getarg(2), @amount; //get Juice
+ mes "[Juicer Marx Hansen]";
+ mes "Here you are. Take it.";
+ close;
+
+ sL_NoFruits:
+ mes "[Juicer Marx Hansen]";
+ mes "You don't have enough fruit.";
+ mes "You need " +@amount+ " " +getarg(1)+ " to make that much juice.";
+ next;
+ return;
+ sL_NoBottles:
+ mes "[Juicer Marx Hansen]";
+ mes "You don't have enough bottles. You need "+@amount+" empty bottle(s) to make that many juice drinks.";
+ next;
+ return;
+ sL_NoZeny:
+ mes "[Juicer Marx Hansen]";
+ mes "You don't have enough zeny. You need " +(@amount*3)+ " zeny, to make that many juice drinks.";
+ next;
+ return;
+}
diff --git a/npc/quests/monstertamers.txt b/npc/quests/monstertamers.txt
new file mode 100644
index 000000000..024762784
--- /dev/null
+++ b/npc/quests/monstertamers.txt
@@ -0,0 +1,439 @@
+//===== eAthena Script =======================================
+//= Monster Tamers
+//===== By: ==================================================
+//= kobra_k88, Darkchild, x[tsk]
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 1.0
+//===== Description: =========================================
+//= Cute pet quest items
+//===== Additional Comments: =================================
+//= May not have all of the Monster Tamers, but the ones here are fully working.
+//= 1.1 Fixed exploits [Lupus]
+//============================================================
+
+
+//<================================================= Alberta ===============================================>\\
+alberta_in.gat,173,77,3 script Monster Tamer 125,{
+ mes "[Monster Tamer Iwado]";
+ mes "Monster taming has never been more popular than it is now! Why not join in on all of the excitement?....";
+M_Menu:
+ next;
+ menu "^5555FFMonster Taming^000000",M_0,
+ "^5555FF'Monster Juice'^000000",M_1,
+ "^5555FF'Singing Flower'^000000",M_2,
+ "^5555FF'Wild Flower'^000000",M_3,
+ "Please make one for me",M_Make,
+ "Cancel",M_End;
+ M_0:
+ mes "[Monster Tamer Iwado]";
+ mes "Monster Taming is the way in which players can get certain monsters to become their pets.";
+ mes "By using a ^5555FF'Taming Item'^000000 a player can lure a monster into becoming a pet.";
+ next;
+ mes "[Monster Tamer Iwado]";
+ mes "These Taming Items are very hard to come by, but Monster Tamer Guild members such as myself can get them to you without any hassle.";
+ next;
+ mes "[Monster Tamer Iwado]";
+ mes "Here the Taming Items that I offer:";
+ mes "^5555FF'Monster Juice'^000000";
+ mes "^5555FF'Singing Flower'^000000";
+ mes "^5555FF'Wild Flower'^000000";
+ next;
+ mes "[Monster Tamer Iwado]";
+ mes "These are fantastic items! You should really give them a try!";
+ goto M_Menu;
+ M_1:
+ mes "[Monster Tamer Iwado]";
+ mes "It is a drink made from animal blood. It's nothing a person would want to drink, but for the monster '^FF5555'Hunter Fly'^000000, it's a delicacy.";
+ next;
+ mes "[Monster Tamer Iwado]";
+ mes "I can give you a ^5555FF'Monster Juice'^000000 in exchange for:";
+ mes "-^FF5555'1 Animal Gore'";
+ mes "-'2 Apples'^000000";
+ next;
+ mes "[Monster Tamer Iwado]";
+ mes "Once you bring me these items I will make this Taming item with the uttmost pride!";
+ goto M_Menu;
+ M_2:
+ mes "[Monster Tamer Iwado]";
+ mes "The flower of a Singing Plant. It is a very unique and unusual item that seems to attract ^FF5555'Rockers'^000000.";
+ next;
+ mes "[Monster Tamer Iwado]";
+ mes "I can give you a ^5555FF'Singing Flower'^000000 in exchange for:";
+ mes "-^FF5555'1 Singing Plant'^000000";
+ next;
+ mes "[Monster Tamer Iwado]";
+ mes "Once you bring me these items I will make this Taming item with the uttmost pride!";
+ goto M_Menu;
+ M_3:
+ mes "[Monster Tamer Iwado]";
+ mes "This flower blooms naturally here in Rune-Midgard. It can be used as armor for your ^FF5555Orc Warrior^000000 pet.";
+ mes "I can give you a ^5555FF'Wild Flower'^000000 in exchange for:";
+ mes "-^FF5555'1 Fancy Flower'";
+ mes "-'1 Clover'^000000";
+ next;
+ mes "[Monster Tamer Iwado]";
+ mes "Once you bring me these items I will make this Taming item with the uttmost pride!";
+ goto M_Menu;
+ M_Make:
+ mes "[Monster Tamer Iwado]";
+ mes "Which Taming Item would you like?";
+ next;
+ menu "^5555FF'Monster Juice'^000000",sM_1, "^5555FF'Singing Flower'^000000",sM_2, "^5555FF'Wild Flower'^000000",sM_3, "Cancel",M_End;
+
+ sM_1:
+ if(countitem(702)<1 || countitem(512)<2) goto sL_NoItems;
+ delitem 702,1;
+ delitem 512,2;
+ mes "[Monster Tamer Iwado]";
+ mes "Alright, just a minute while I prepare the tame......";
+ next;
+ mes "[Monster Tamer Iwado]";
+ mes "Here you are! A Monster Juice! Enjoy and feel free to come back anytime.";
+ getitem 626,1;
+ close;
+ sM_2:
+ if(countitem(707)<1) goto sL_NoItems;
+ delitem 707,1;
+ mes "[Monster Tamer Iwado]";
+ mes "Alright, just a minute while I prepare the tame......";
+ next;
+ mes "[Monster Tamer Iwado]";
+ mes "Here you are! A Singing Flower! Enjoy and feel free to come back anytime.";
+ getitem 629,1;
+ close;
+ sM_3:
+ if(countitem(2207)<1 || countitem(705)<1) goto sL_NoItems;
+ delitem 2207,1;
+ delitem 705,1;
+ mes "[Monster Tamer Iwado]";
+ mes "Alright, just a minute while I prepare the tame......";
+ next;
+ mes "[Monster Tamer Iwado]";
+ mes "Here you are! A Wild Flower! Enjoy and feel free to come back anytime.";
+ getitem 10009,1;
+ close;
+
+ sL_NoItems:
+ mes "[Monster Tamer Iwado]";
+ mes "It looks like you don't have enough items to exchange for this tame. Please come back when you do.";
+ close;
+ M_End:
+ mes "[Monster Tamer Iwado]";
+ mes "Oh... I see. You probably haven't decided on what monster to raise as a pet yet. It's a very important decision, so please, take your time.";
+ close;
+
+}
+
+
+//<================================================= Al De Baran ===============================================>\\
+aldeba_in.gat,167,177,3 script Monster Tamer 125,{
+ mes "[Monster Tamer YuU]";
+ mes "You must be looking for some Taming Items.... When it comes to making Taming Items there is no one better than me here in Rune Midgard.";
+M_Menu:
+ next;
+ menu "^5555FF'Monster Taming'^000000",M_0,
+ "^5555FF'Skull Helm'^000000",M_1,
+ "^5555FF'Monster Oxygen Mask'^000000",M_2,
+ "^5555FF'Silk Ribbon'^000000",M_3,
+ "^5555FF'Stellar Hairpin'^000000",M_4,
+ "^5555FF'Tiny Egg Shell'^000000",M_5,
+ "^5555FF'Rocker Glasses'^000000",M_6,
+ "Please make one for me",M_Make,
+ "Cancel",M_End;
+ M_0:
+ mes "[Monster Tamer YuU]";
+ mes "Monster Taming is the way in which players can get certain monsters to become their pets.";
+ mes "By using a ^5555FF'Taming Item'^000000 a player can lure a monster into becoming a pet.";
+ next;
+ mes "[Monster Tamer YuU]";
+ mes "Once you obtain a pet, you must show it love and appreciation. This is the most important part of monster taming.";
+ next;
+ mes "[Monster Tamer YuU]";
+ mes "The best way to show your new pet you care, is to get it an 'Accessory' to make it stand out from the rest of the monsters in Rune Midgard.";
+ next;
+ mes "[Monster Tamer YuU]";
+ mes "These ^5555FF'Cute Pet Accessories'^000000 are very hard to come by, but Monster Tamer Guild members such as myself can get them to you without any hassle.";
+ next;
+ mes "[Monster Tamer YuU]";
+ mes "Here the Taming Items that I offer:";
+ mes "^5555FF'Skull Helm'";
+ mes "'Monster Oxygen Mask'";
+ mes "'Silk Ribbon'";
+ mes "'Stellar Hairpin'";
+ mes "'Tiny Egg Shell'";
+ mes "'Rocker Glasses'^000000";
+ next;
+ mes "[Monster Tamer YuU]";
+ mes "These are fantastic items! You should really give them a try!";
+ goto M_Menu;
+ M_1:
+ mes "[Monster Tamer YuU]";
+ mes "It may be disgusting, but it has a mysterious power that has the potential to make its wearer go crazy!";
+ mes "This item will look great on your '^FF5555'Baphomet Jr.'^000000 pet.";
+ next;
+ mes "[Monster Tamer YuU]";
+ mes "I can give you a ^5555FF'Skull Helm'^000000 in exchange for:";
+ mes "-^FF5555'1 Bone Helm'^000000";
+ next;
+ mes "[Monster Tamer YuU]";
+ mes "Once you bring me these items I will make this Taming item with the uttmost pride!";
+ goto M_Menu;
+ M_2:
+ mes "[Monster Tamer YuU]";
+ mes "Once worn it makes it difficult to tell whether or not the wearer is a monster or a human.";
+ mes "A great gift for your ^FF5555'Choncon', 'Steel Choncon', or 'Hunter Fly'^000000.";
+ next;
+ mes "[Monster Tamer YuU]";
+ mes "I can give you a ^5555FF'Monster Oxygen Mask'^000000 in exchange for:";
+ mes "-^FF5555'1 Oxygen Mask'^000000";
+ next;
+ mes "[Monster Tamer YuU]";
+ mes "Once you bring me these items I will make this Taming item with the uttmost pride!";
+ goto M_Menu;
+ M_3:
+ mes "[Monster Tamer YuU]";
+ mes "It's a high quality ribbon knitted out of smooth silk. It will make your pet ^FF5555'Lunatic'^000000 look even cuter!.";
+ next;
+ mes "[Monster Tamer YuU]";
+ mes "I can give you a ^5555FF'Silk Ribbon'^000000 in exchange for:";
+ mes "-^FF5555'1 Ribbon (0 Slotts)'^000000";
+ next;
+ mes "[Monster Tamer YuU]";
+ mes "Once you bring me these items I will make this Taming item with the uttmost pride!";
+ goto M_Menu;
+ M_4:
+ mes "[Monster Tamer YuU]";
+ mes "It is extremely sharp and possesses a mysterious power that makes monsters want to wear it.";
+ mes "Your ^FF5555'Green Petite'^000000 will love wearing this!";
+ next;
+ mes "[Monster Tamer YuU]";
+ mes "I can give you a ^5555FF'Stellar Hairpin'^000000 in exchange for:";
+ mes "-^FF5555'1 Stellar'^000000";
+ next;
+ mes "[Monster Tamer YuU]";
+ mes "Once you bring me these items I will make this Taming item with the uttmost pride!";
+ goto M_Menu;
+ M_5:
+ mes "[Monster Tamer YuU]";
+ mes "This seems to have a peculiar scent and a magnificent shine! It can be used as armor for your ^FF5555'Picky'^000000.";
+ mes "I can give you a ^5555FF'Tiny Egg Shell'^000000 in exchange for:";
+ mes "-^FF5555'1 Egg Shell'^000000";
+ next;
+ mes "[Monster Tamer YuU]";
+ mes "Once you bring me these items I will make this Taming item with the uttmost pride!";
+ goto M_Menu;
+ M_6:
+ mes "[Monster Tamer YuU]";
+ mes "Mysterious pair of eye glasses which make its wearer look like a geek. It's perfect for your ^FF5555Rocker^000000 pet.";
+ next;
+ mes "[Monster Tamer YuU]";
+ mes "I can give you a pair of ^5555FF'Rocker Glasses'^000000 in exchange for:";
+ mes "-^FF5555'1 Ribbon (0 Slotts)'";
+ mes "-'2 Zargon'";
+ mes "-'400 Zeny'^000000";
+ next;
+ mes "[Monster Tamer YuU]";
+ mes "Once you bring me these items I will make this Taming item with the uttmost pride!";
+ goto M_Menu;
+ M_Make:
+ mes "[Monster Tamer YuU]";
+ mes "Which Taming Item would you like?";
+ next;
+ menu "^5555FF'Skull Helm'^000000",sM_1,
+ "^5555FF'Monster Oxygen Mask'^000000",sM_2,
+ "^5555FF'Silk Ribbon'^000000",sM_3,
+ "^5555FF'Stellar Hairpin'^000000",sM_4,
+ "^5555FF'Tiny Egg Shell'^000000",sM_5,
+ "^5555FF'Rocker Glasses'^000000",sM_6,
+ "Cancel",M_End;
+
+ sM_1:
+ if(countitem(5017)<1) goto sL_NoItems;
+ delitem 5017,1;
+ mes "[Monster Tamer YuU]";
+ mes "Alright, just a minute while I prepare the tame......";
+ next;
+ mes "[Monster Tamer YuU]";
+ mes "Here you are! A Skull Helm! Enjoy and feel free to come back anytime.";
+ getitem 10001,1;
+ close;
+ sM_2:
+ if(countitem(5004)<1) goto sL_NoItems;
+ delitem 5004,1;
+ mes "[Monster Tamer YuU]";
+ mes "Alright, just a minute while I prepare the tame......";
+ next;
+ mes "[Monster Tamer YuU]";
+ mes "Here you are! A Monster Oxygen Mask! Enjoy and feel free to come back anytime.";
+ getitem 10002,1;
+ close;
+ sM_3:
+ if(countitem(2208)<1) goto sL_NoItems;
+ delitem 2208,1;
+ mes "[Monster Tamer YuU]";
+ mes "Alright, just a minute while I prepare the tame......";
+ next;
+ mes "[Monster Tamer YuU]";
+ mes "Here you are! A Silk Ribbon! Enjoy and feel free to come back anytime.";
+ getitem 10007,1;
+ close;
+ sM_4:
+ if(countitem(2294)<1) goto sL_NoItems;
+ delitem 2294,1;
+ mes "[Monster Tamer YuU]";
+ mes "Alright, just a minute while I prepare the tame......";
+ next;
+ mes "[Monster Tamer YuU]";
+ mes "Here you are! Stellar Hairpin! Enjoy and feel free to come back anytime.";
+ getitem 10011,1;
+ close;
+ sM_5:
+ if(countitem(5015)<1) goto sL_NoItems;
+ delitem 5015,1;
+ mes "[Monster Tamer YuU]";
+ mes "Alright, just a minute while I prepare the tame......";
+ next;
+ mes "[Monster Tamer YuU]";
+ mes "Here you are! A Tiny Egg Shell! Enjoy and feel free to come back anytime.";
+ getitem 10012,1;
+ close;
+ sM_6:
+ if(countitem(2208)<1 || countitem(912)<2 || Zeny<400) goto sL_NoItems;
+ delitem 2208,1;
+ delitem 912,2;
+ set Zeny, Zeny-400;
+ mes "[Monster Tamer YuU]";
+ mes "Alright, just a minute while I prepare the tame......";
+ next;
+ mes "[Monster Tamer YuU]";
+ mes "Here you are! A pair of Rocker Glasses! Enjoy and feel free to come back anytime.";
+ getitem 10014,1;
+ close;
+
+ sL_NoItems:
+ mes "[Monster Tamer YuU]";
+ mes "It looks like you don't have enough items to exchange for this tame. Please come back when you do.";
+ close;
+ M_End:
+ mes "[Monster Tamer YuU]";
+ mes "Oh... I see. You probably haven't decided on what monster to raise as a pet yet. It's a very important decision, so please, take your time.";
+ close;
+
+}
+
+
+//<================================================= Izlude ===============================================>\\
+izlude_in.gat,128,64,3 script Monster Tamer 125,{
+ mes "[Monster Tamer Shogo]";
+ mes "Are you pre-occupied with gathering items for your cute pets, and want a break? Then let us find those items for you.....";
+M_Menu:
+ next;
+ menu "^5555FFMonster Taming^000000",M_0,
+ "^5555FF'Book of Devil'^000000",M_1,
+ "^5555FF'No Recipient'^000000",M_2,
+ "^5555FF'Horror of Tribe'^000000",M_3,
+ "Please make one for me",M_Make,
+ "Cancel",M_End;
+ M_0:
+ mes "[Monster Tamer Shogo]";
+ mes "Monster Taming is the way in which players can get certain monsters to become their pets.";
+ mes "By using a ^5555FF'Taming Item'^000000 a player can lure a monster into becoming a pet.";
+ next;
+ mes "[Monster Tamer Shogo]";
+ mes "These Taming Items are very hard to come by, but Monster Tamer Guild members such as myself can get them to you without any hassle.";
+ next;
+ mes "[Monster Tamer Shogo]";
+ mes "Here the Taming Items that I offer:";
+ mes "^5555FF'Book of Devil'^000000,";
+ mes "^5555FF'No Recipient'^000000,";
+ mes "^5555FF'Horror of Tribe'^000000.";
+ next;
+ mes "[Monster Tamer Shogo]";
+ mes "These are fantastic items! You should really give them a try!";
+ goto M_Menu;
+ M_1:
+ mes "[Monster Tamer Shogo]";
+ mes "This book is far too powerfull for any mere mortal to read and contains the secret method of summoning a devil!";
+ mes "Use it to lure the monster ^FF5555'Baphomet Jr.'^000000.";
+ next;
+ mes "[Monster Tamer Shogo]";
+ mes "I can give you a ^5555FF'Book of Devil'^000000 in exchange for:";
+ mes "-^FF5555'1 Old Magic Book'";
+ mes "-'2 Horrendous Mouth'^000000";
+ next;
+ mes "[Monster Tamer Shogo]";
+ mes "Once you bring me these items I will make this Taming item with the uttmost pride!";
+ goto M_Menu;
+ M_2:
+ mes "[Monster Tamer Shogo]";
+ mes "An old letter which wasn't delivered because of an unkown recipient.";
+ mes "It has no meaning to any living human, but ^FF5555'Munaks'^000000 seem to be very fond of it.";
+ next;
+ mes "[Monster Tamer Shogo]";
+ mes "I can give you a ^5555FF'No Recipient'^000000 in exchange for:";
+ mes "-^FF5555'1 Old Portrait'^000000";
+ next;
+ mes "[Monster Tamer Shogo]";
+ mes "Once you bring me these items I will make this Taming item with the uttmost pride!";
+ goto M_Menu;
+ M_3:
+ mes "[Monster Tamer Shogo]";
+ mes "This trophy is an ^FF5555'Orc Warrior's'^000000 favorite item.";
+ mes "I can give you a ^5555FF'Horror of Tribe'^000000 in exchange for:";
+ mes "-^FF5555'1 Chivalry Emblem'";
+ mes "-'1 Scorpion Tail'^000000";
+ next;
+ mes "[Monster Tamer Shogo]";
+ mes "Once you bring me these items I will make this Taming item with the uttmost pride!";
+ goto M_Menu;
+ M_Make:
+ mes "[Monster Tamer Shogo]";
+ mes "Which Taming Item would you like?";
+ next;
+ menu "^5555FF'Book of Devil'^000000",sM_1, "^5555FF'No Recipient'^000000",sM_2, "^5555FF'Horror of Tribe'^000000",sM_3, "Cancel",M_End;
+
+ sM_1:
+ if(countitem(1006)<1 || countitem(958)<2) goto sL_NoItems;
+ delitem 1006,1;
+ delitem 958,2;
+ mes "[Monster Tamer Shogo]";
+ mes "Alright, just a minute while I prepare the tame......";
+ next;
+ mes "[Monster Tamer Shogo]";
+ mes "Here you are! A Book of Devil! Enjoy and feel free to come back anytime.";
+ getitem 642,1;
+ close;
+ sM_2:
+ if(countitem(7014)<1) goto sL_NoItems;
+ delitem 7014,1;
+ mes "[Monster Tamer Shogo]";
+ mes "Alright, just a minute while I prepare the tame......";
+ next;
+ mes "[Monster Tamer Shogo]";
+ mes "Here you are! A No Recipient! Enjoy and feel free to come back anytime.";
+ getitem 636,1;
+ close;
+ sM_3:
+ if(countitem(1004)<1 || countitem(904)<1) goto sL_NoItems;
+ delitem 1004,1;
+ delitem 904,1;
+ mes "[Monster Tamer Shogo]";
+ mes "Alright, just a minute while I prepare the tame......";
+ next;
+ mes "[Monster Tamer Shogo]";
+ mes "Here you are! A Horror of Tribe! Enjoy and feel free to come back anytime.";
+ getitem 635,1;
+ close;
+
+ sL_NoItems:
+ mes "[Monster Tamer Shogo]";
+ mes "It looks like you don't have enough items to exchange for this tame. Please come back when you do.";
+ close;
+ M_End:
+ mes "[Monster Tamer Shogo]";
+ mes "Oh... I see. You probably haven't decided on what monster to raise as a pet yet. It's a very important decision, so please, take your time.";
+ close;
+
+}
diff --git a/npc/quests/mrsmile.txt b/npc/quests/mrsmile.txt
new file mode 100644
index 000000000..1672ff57e
--- /dev/null
+++ b/npc/quests/mrsmile.txt
@@ -0,0 +1,92 @@
+//===== eAthena Script =======================================
+//= Mr. Smile Quest
+//===== By: ==================================================
+//= kobra_k88, Akaru
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Fully working. 1.1 Optimized
+//= 1.2 updated Payon coords [Lupus]
+//= 1.3 fixed exploit [Lupus]
+//============================================================
+
+
+
+// Alberta ------------------------------------------------------------------------------------------
+alberta.gat,113,53,3 script Smile Assistance::SmileAT 92,{
+ mes "[Smile Assistant]";
+ mes "Hi, I'm a Smile Assistance. How may I help you?";
+ next;
+ menu "^0099FFMr. Smile^000000?",M_0, "Construct a ^0099FFMr. Smile^000000",M_1, "Quit",M_End;
+
+ M_0:
+ mes "[Smile Assistant]";
+ mes "Oh, the Mr. Smile Event is a nationwide event that is being sponsered by ^0099FFHis Majesty Tristram the 3rd^000000.";
+ mes "The goal of the event is to get the citizens of Rune Midgard to put on happy looking Mr. Smile masks.";
+ next;
+ mes "[Smile Assistance]";
+ mes "By having this event, His Majesty wishes to encourage the people of Rune Midgard to have more fun and enjoy themselves!";
+ mes "As you may have guessed, the Mr. Smile mask is simply a smiley face.";
+ next;
+ mes "[Smile Assistance]";
+ mes "Although it may be simple, no one can argue the power of a smile! And if everybody in the kingdom were to wear one....";
+ mes "just imagine how much joy and cheer the world would see!";
+ next;
+ mes "[Smile Assistant]";
+ mes "As a Smile Assistant, it is my job to make a Mr. Smile mask for all of those who want one.";
+ mes "All I need to make the mask are some little items, namely:";
+ mes "^5555FF10 Jellopy^000000";
+ mes "^5555FF10 Fluff^000000";
+ mes "^5555FF10 Clover^000000";
+ next;
+ mes "[Smile Girl]";
+ mes "The world could use more smiles so get those items and come back soon. I'll be waiting right here.";
+ close;
+ M_1:
+ mes "[Smile Assistant]";
+ if(countitem(705) < 10 || countitem(909) < 10 || countitem(914) < 10) goto sL_NoItems;
+ delitem 705,10;
+ delitem 909,10;
+ delitem 914,10;
+ mes "Oh, great! You've brought back all of the items needed. Wait just a sec while I get your Mr. Smile ready.....";
+ next;
+ mes "~!shook!~!shook!~!clack!~!clack!~!tok!~!tok!~";
+ next;
+ mes "[Smile Assistant]";
+ mes "Here ya go, your very own Mr. Smile!";
+ getitem 2278,1;
+ next;
+ mes "[Smile Assistant]";
+ mes "The Mr. Smile Event is just one of the many ways His Majesty Tristam the 3rd is trying to make life more enjoyable here in Rune Midgard.";
+ next;
+ mes "[Smile Assistant]";
+ mes "Hopefully you will be reminded of that fact everytime you put on your Mr. Smile.";
+ close;
+
+ sL_NoItems:
+ mes "Oh... Unfortunately you don't have enough items for a Mr. Smile. What you need are:";
+ mes "^5555FF10 Jellopy^000000,";
+ mes "^5555FF10 Fluff^000000,";
+ mes "^5555FF10 Clover^000000,";
+ mes "I'll be waiting here so hurry back.";
+ close;
+ M_End:
+ close;
+}
+
+// Aldebaran --------------------------------------------------------------------------------
+aldebaran.gat,136,135,4 duplicate(SmileAT) Smile Assistance#2 92
+// Geffen -----------------------------------------------------------------------------------
+geffen.gat,119,107,4 duplicate(SmileAT) Smile Assistance#3 92
+// Izlude -----------------------------------------------------------------------------------
+izlude.gat,129,118,4 duplicate(SmileAT) Smile Assistance#4 92
+// Morroc -----------------------------------------------------------------------------------
+morocc.gat,158,97,4 duplicate(SmileAT) Smile Assistance#5 92
+// Payon ------------------------------------------------------------------------------------
+payon.gat,168,225,4 duplicate(SmileAT) Smile Assistance#6 92
+// Prontera ---------------------------------------------------------------------------------
+prontera.gat,157,187,4 duplicate(SmileAT) Smile Assistance#7 92
diff --git a/npc/quests/newgears/arjen.txt b/npc/quests/newgears/arjen.txt
new file mode 100644
index 000000000..7a2aaa0b9
--- /dev/null
+++ b/npc/quests/newgears/arjen.txt
@@ -0,0 +1,149 @@
+//===== eAthena Script =======================================
+//= X-Shaped Hairpin, Bandage & Flower Hairpin Quests
+//===== By: ==================================================
+//= Halca (1.0)
+//= Mass Zero (1.1)
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= Any eAthena Version.
+//===== Description: =========================================
+//= Seperate quests for these items.
+//===== Additional Comments: =================================
+//= 1.2 Fixed wrong labels, wrong items ID. [Lupus]
+//= 1.3 Fixed possible exploit [Lupus]
+//= 1.4 Stel.Hairpin->Stellar item ID fix,thx2 Komurka [Lupus]
+//============================================================
+
+
+geffen.gat,128,148,6 script Arjen 807,{
+ mes "[Arjen]";
+ mes "What item information do you require?";
+ next;
+ menu "X-Shaped Hairpin.",-,"Bandage",M_2,"Flower Hairpin.",M_3,"Quit.",M_EXIT;
+
+ mes "[Arjen]";
+ mes "Hyaaaaaaaa!";
+ next;
+ mes "[Arjen]";
+ mes "Ooops, sorry. I was practicing my balance.";
+ mes "Good that I have my hairpin to stop my hair getting in my eyes.";
+ next;
+ mes "[Arjen]";
+ mes "Im not much of a craftsman, but if you bring me some items I can make you";
+ mes "my ^660000X-Shaped Hairpin^000000.";
+ next;
+ menu "Make me the hairpin.",-,"What are the requirements?",M_REQ1,"No, thanks.",M_EXIT;
+
+ if(countitem(2294) < 1 || countitem(7220) < 400) GOTO L_NOITEM1;//Items: Stellar Hairpin, Ectoplasm,
+ delitem 2294,1;//Items: Stellar,
+ delitem 7220,400;//Items: Ectoplasm,
+ mes "[Arjen]";
+ mes "Yes, that's just what I require!";
+ mes "Nayayayaaaaaa!";
+ next;
+ mes "[Arjen]";
+ mes "Hmm... okay, thanks for the items.";
+ mes "Let me make it for you.";
+ next;
+ getitem 5079,1;//Items: X Hairpin,
+ mes "[Arjen]";
+ mes "Thanks very much, you look cool now.";
+ close;
+
+L_NOITEM1:
+ mes "[Arjen]";
+ mes "Come on man, gimme a break.";
+ mes "This is hot property!";
+ next;
+
+M_REQ1:
+ mes "[Arjen]";
+ mes "Hmm, it's a very rare Item.";
+ mes "I need 1 Stellar for its special properties.";
+ mes "And I need 400 Ectoiplasms to give it their special powers.";
+ next;
+ mes "[Arjen]";
+ mes "You need to have travelled well to get these items...";
+ close;
+
+M_2:
+ mes "[Arjen]";
+ mes "Ouch, have you ever gotten an injury after doing too much exercise?";
+ mes "It sucks, especially when you excercise so much.";
+ next;
+ mes "[Arjen]";
+ mes "What is that you say? you have just the problem?";
+ mes "Well, I can make you a ^660000Bandage^000000 to heal your wounds!";
+ next;
+ menu "Yes, please make me one!",-,"What are the requirements?",M_REQ2,"No, thanks.",M_EXIT;
+
+ if(countitem(930) < 500 || countitem(970) < 1) GOTO L_NOITEM2;//Items: Rotten Bandage, Alcohol,
+ delitem 930,500;//Items: Rotten Bandage,
+ delitem 970,1;//Items: Alcohol,
+ mes "[Arjen]";
+ mes "Wow! You have the stuff I need! Thanks!";
+ mes "Lemme do a swap, your stuff for the bandage.";
+ next;
+ getitem 5063,1;//Items: Bandage,
+ mes "[Arjen]";
+ mes "Thanks! Hope that cures your aches!";
+ close;
+
+L_NOITEM2:
+ mes "[Arjen]";
+ mes "Argh, please, if you want the item, bring me what I asked for.";
+ next;
+
+M_REQ2:
+ mes "[Arjen]";
+ mes "I need 500 Rotten Bandages to make the actual cast.";
+ mes "Then I need 1 Alcohol so I can get the stains out of the bandages.";
+ close;
+
+M_3:
+ mes "[Arjen]";
+ mes "Ahh, don't you love the romance in the air?";
+ mes "Isn't it great to look good, and also, keep your girl or boy pretty?";
+ next;
+ menu "Yes, of course!",-,"No, not quite.",M_EXIT;
+
+ mes "[Arjen]";
+ mes "Well, I'm sure you would like me to make you a ^660000Flower Hairpin^000000.";
+ next;
+ menu "Yes, please.",-,"No, thanks.",M_EXIT;
+
+ mes "[Arjen]";
+ mes "Well, I need...";
+ mes "1 Romantic Flower, for the element of love,";
+ mes "10 Steels for the pin part,";
+ mes "And 20,000 Zeny for the forging costs.";
+ next;
+ mes "[Arjen]";
+ mes "Would you like to make this item?";
+ next;
+ menu "Yes.",-,"No.",M_EXIT;
+
+ if(countitem(2269) < 1 || countitem(999) < 10 || Zeny < 20000) GOTO L_NOITEM3;//Items: Romantic Flower, Steel,
+ delitem 2269,1;//Items: Romantic Flower,
+ delitem 999,10;//Items: Steel,
+ set Zeny,Zeny-20000;
+ mes "[Arjen]";
+ mes "Thanks!";
+ next;
+ getitem 5061,1;//Items: Flower Hairpin,
+ mes "[Arjen]";
+ mes "Enjoy!";
+ close;
+
+L_NOITEM3:
+ mes "[Arjen]";
+ mes "Sorry, but you don't have the correct items.";
+ next;
+
+M_EXIT:
+ mes "[Arjen]";
+ mes "Okay, have a nice day!";
+ close;
+
+}
diff --git a/npc/quests/newgears/back_ribbon.txt b/npc/quests/newgears/back_ribbon.txt
new file mode 100644
index 000000000..c5cda43f5
--- /dev/null
+++ b/npc/quests/newgears/back_ribbon.txt
@@ -0,0 +1,62 @@
+//===== eAthena Script =======================================
+//= Back Ribbon Quest
+//===== By: ==================================================
+//= Halca (1.0)
+//= Mass Zero (1.1)
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= Any eAthena Version.
+//===== Description: =========================================
+//= Seperate Back Ribbon quest.
+//===== Additional Comments: =================================
+//= 1.2 Fixed wrong labels, added missing text [Lupus]
+//= 1.3 Fixed possible exploit [Lupus]
+//============================================================
+
+prontera.gat,164,232,5 script Netpia 815,{
+ mes "[Netpia]";
+ mes "Wheee! Don't you just love making youself look pretty!?";
+ mes "I love glamourising myself with all the best accessories!";
+ next;
+ mes "[Netpia]";
+ mes "Ever heard of a ^560000Back Ribbon^000000?";
+ mes "I can make you one, and you too can be fashionable!";
+ next;
+ menu "Make me a ^670000Back ribbon^000000.",-,"What are the requirements?",M_REQ,"No, I dont want one.",M_EXIT;
+
+ if(countitem(2244) < 1 || countitem(2209) < 1 || countitem(10007) < 1) GOTO L_NOITEM;//Items: Big Ribbon, Ribbon, Silk Ribbon,
+ delitem 2244,1;//Items: Big Ribbon,
+ delitem 2209,1;//Items: Ribbon,
+ delitem 10007,1;//Items: Silk Ribbon,
+ mes "[Netpia]";
+ mes "Wow, thank you! Let me just take your items.";
+ next;
+ getitem 5083,1;//Items: Back Ribbon,
+ mes "[Netpia]";
+ mes "Okay, now here is your item.";
+ next;
+ mes "[Netpia]";
+ mes "Enjoy being pretty!";
+ close;
+
+L_NOITEM:
+ mes "[Netpia]";
+ mes "Aww... sorry, but I cant make it if you don't bring me the materials.";
+ next;
+
+M_REQ:
+ mes "[Netpia]";
+ mes "Well, for me to make you my BEAUTIFUL Back Ribbon...";
+ mes "I require these materials:";
+ mes "1 Big Ribbon.";
+ mes "1 Ribbon (Slotted).";
+ mes "1 Silk Ribbon.";
+ close;
+
+M_EXIT:
+ mes "[Netpia]";
+ mes "Aww, well, okay then!";
+ mes "Be pretty some other time";
+ close;
+}
diff --git a/npc/quests/newgears/bear_hat.txt b/npc/quests/newgears/bear_hat.txt
new file mode 100644
index 000000000..a2c0aece1
--- /dev/null
+++ b/npc/quests/newgears/bear_hat.txt
@@ -0,0 +1,69 @@
+//===== eAthena Script =======================================
+//= Bear Hat Quest
+//===== By: ==================================================
+//= Halca (1.0)
+//= Mass Zero (1.1)
+//===== Current Version: =====================================
+//= 1.4a
+//===== Compatible With: =====================================
+//= Any eAthena Version.
+//===== Description: =========================================
+//= Seperate Bear hat quest.
+//===== Additional Comments: =================================
+//= 1.2 Fixed wrong labels, added missing text, added missing
+//= items check [Lupus]
+//= 1.3 Fixed possible exploit [Lupus]
+//= 1.4 Changed ingredients (Zipper>Bear Skin) [Lupus]
+//============================================================
+
+xmas.gat,152,176,3 script Bora 826,{
+ mes "[Bora]";
+ mes "Don't bears have such a cute expression on their faces?";
+ mes "And I bet you wouldn't mind one of those cute expressions yourself!";
+ next;
+ mes "[Bora]";
+ mes "Well, I can make you a Bear Hat!";
+ next;
+ menu "Yes, make me one now!",-,"What are the requirements?",M_REQ,"No, thanks.",M_EXIT;
+
+ if(countitem(5030) < 1 || countitem(7213) < 100 || countitem(7217) < 100 || countitem(7161) < 300) GOTO L_NOITEM;//Items: Panda Hat, Needle Packet, Spool of Thread, Bear Skin,
+ delitem 5030,1;//Items: Panda Hat,
+ delitem 7213,100;//Items: Needle Packet,
+ delitem 7217,100;//Items: Spool of Thread,
+ delitem 7161,300;//Items: Bear Skin,
+ mes "[Bora]";
+ mes "Yay! now I can make my famous Bear Hat!";
+ mes "Now, give me your items!";
+ next;
+ mes "[Bora]";
+ mes "Now I will give you the hat!";
+ next;
+ getitem 5059,1;//Items: Bear Hat,
+ mes "[Bora]";
+ mes "Thanks, and bye!";
+ close;
+
+M_REQ:
+ mes "[Bora]";
+ mes "Bring me...";
+ mes "1 Panda Hat,";
+ mes "100 Needle Packet,";
+ mes "100 Spool of Thread,";
+ mes "300 Bear Skins.";
+ next;
+ mes "[Bora]";
+ mes "For the Pin Cushion and Spool of Thread,";
+ mes "Hyzoloists in Niflheim drop those, I believe.";
+ close;
+
+L_NOITEM:
+ mes "[Bora]";
+ mes "Sorry, I want all the items I asked.";
+ mes "Please dont try to cheat me.";
+ close;
+
+M_EXIT:
+ mes "[Bora]";
+ mes "Okay, well, byebye!";
+ close;
+}
diff --git a/npc/quests/newgears/burning_blood_bandana.txt b/npc/quests/newgears/burning_blood_bandana.txt
new file mode 100644
index 000000000..138734b45
--- /dev/null
+++ b/npc/quests/newgears/burning_blood_bandana.txt
@@ -0,0 +1,66 @@
+//===== eAthena Script =======================================
+//= Burning Blood Bandana Quest
+//===== By: ==================================================
+//= Halca (1.0)
+//= Mass Zero (1.1)
+//===== Current Version: =====================================
+//= 1.3b
+//===== Compatible With: =====================================
+//= Any eAthena Version.
+//===== Description: =========================================
+//= Seperate Burning Blood Bandana quest.
+//===== Additional Comments: =================================
+//= 1.2 Fixed wrong labels, added missing text, wrong ID [Lupus]
+//= 1.3 Fixed possible exploit, 1.3a coords fixed [Lupus]
+//= 1.3b Fixed NPC dialouge [Kayla]
+//============================================================
+
+
+yuno.gat,300,188,6 script Genbolt 826,{
+ mes "[Genbolt]";
+ mes "Why, don't you think looking badass is most important?";
+ mes "After all, we all have to fend for ourselves in this world!";
+ next;
+ mes "[Genbolt]";
+ mes "I am the only one who can make you look the coolest,";
+ mes "as I can craft a ^000090Burning Blood Bandana^000000.";
+ mes "You can wear this, and you clench your fist without knowing";
+ mes "because of the raw power you feel!";
+ next;
+ menu "Wow! Make me one!",-,"What do I need?",M_REQ,"Naw, bye",M_EXIT;
+
+ if(countitem(7216) < 300 || countitem(7097) < 300 || countitem(982) < 1 || countitem(2211) < 1) GOTO L_NOITEM;//Items: Red Muffler, Burning Heart, White Dyestuff, Bandana,
+ delitem 7216,300;//Items: Red Muffler,
+ delitem 7097,300;//Items: Burning Heart,
+ delitem 982,1;//Items: White Dyestuff,
+ delitem 2211,1;//Items: Bandana,
+ mes "[Genbolt]";
+ mes "Very well, here you go.";
+ next;
+ mes "[Genbolt]";
+ mes "Now I can make it...";
+ next;
+ getitem 5070,1;//Items: Burning Blood Bandana,
+ mes "[Genbolt]";
+ mes "Enjoy.";
+ close;
+
+L_NOITEM:
+ mes "[Genbolt]";
+ mes "Where are the items? Ok, I list them for you again...";
+ next;
+
+M_REQ:
+ mes "[Genbolt]";
+ mes "Bring me:";
+ mes "300 Red Mufflers,";
+ mes "300 Burning Hearts,";
+ mes "1 White Dyestuff,";
+ mes "and 1 Bandana.";
+ close;
+
+M_EXIT:
+ mes "[Genbolt]";
+ mes "Bye then.";
+ close;
+}
diff --git a/npc/quests/newgears/cat_hairband.txt b/npc/quests/newgears/cat_hairband.txt
new file mode 100644
index 000000000..6aade4dcc
--- /dev/null
+++ b/npc/quests/newgears/cat_hairband.txt
@@ -0,0 +1,74 @@
+//===== eAthena Script =======================================1
+//= Cat Hairband Quest
+//===== By: ==================================================
+//= Halca (1.0)
+//= Mass Zero (1.1)
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= Any eAthena Version.
+//===== Description: =========================================
+//= Seperate Cat Hairband quest.
+//===== Additional Comments: =================================
+//= 1.2 Fixed wrong labels, added missing text,
+//= fixed zeny amount [Lupus]
+//= 1.3 Fixed possible exploit [Lupus]
+//= 1.4 Soft Feather -> Fluff
+//============================================================
+
+
+payon_in03.gat,110,160,4 script KoneKone 819,{
+ mes "[KoneKone]";
+ mes "Don't you just love cats? the way they have the pointy,";
+ mes "sticky ears and stuff, they're just so cute!";
+ next;
+ mes "[KoneKone]";
+ mes "Hehe... well, I decided, I would make a Cat Hairband!";
+ mes "It is modeled on my most favourite of cat... BLACK!";
+ mes "Of course, I got the idea from Hwikebain!";
+ next;
+ mes "[KoneKone]";
+ mes "I can make it for you, but it requires the correct materials.";
+ next;
+ menu "Please make me this item.",-,"What are the materials needed?",M_REQ,"Bye.",M_EXIT;
+
+ if(countitem(2213) < 1 || countitem(914) < 200 || countitem(983) < 1 || Zeny < 10000) GOTO L_NOITEM;//Items: Kitty Band, Fluff, Black Dyestuff,
+ delitem 2213,1;//Items: Kitty Band,
+ delitem 914,200;//Items: Fluff,
+ delitem 983,1;//Items: Black Dyestuff,
+ set Zeny,Zeny-10000;
+ mes "[KoneKone]";
+ mes "Wow! thankies! I will now take your items!";
+ next;
+ mes "[KoneKone]";
+ mes "Mew mew! thanks! Now for your ears!";
+ next;
+ getitem 5057,1;//Items: Black Cat Ears,
+ mes "[KoneKone]";
+ mes "Mew! thanks! It was a pleasure to make them for you!";
+ close;
+
+L_NOITEM:
+ mes "[KoneKone]";
+ mes "Sorry, but you dont have what I asked for...";
+ close;
+
+M_REQ:
+ mes "[KoneKone]";
+ mes "For the ^670000Cat Hairband^000000, the following items are needed:";
+ next;
+ mes "[KoneKone]";
+ mes "1 Kitty Band,";
+ mes "200 Fluff,";
+ mes "Some Black Dye,";
+ mes "And of course 10,000z for labour costs.";
+ next;
+ mes "[KoneKone]";
+ mes "Bring me these items and the money and I will make it for you.";
+ close;
+
+M_EXIT:
+ mes "[KoneKone]";
+ mes "Okay, *meow* have a nice day!";
+ close;
+}
diff --git a/npc/quests/newgears/fox_mask.txt b/npc/quests/newgears/fox_mask.txt
new file mode 100644
index 000000000..41295899d
--- /dev/null
+++ b/npc/quests/newgears/fox_mask.txt
@@ -0,0 +1,56 @@
+//===== eAthena Script =======================================
+//= Fox Mask Quest
+//===== By: ==================================================
+//= KitsuneStarWind (1.0)
+//= Mass Zero (1.1)
+//===== Current Version: =====================================
+//= 1.2a
+//===== Compatible With: =====================================
+//= Any eAthena version.
+//===== Description: =========================================
+// Seperate quest for the Fox Mask.
+//===== Additional Comments: =================================
+// 1.2a optimized [Lupus]
+//============================================================
+
+pay_dun04.gat,204,152,2 script Nine Tail 1180,{
+ mes "[Nine Tail]";
+ mes "What do you want?";
+ next;
+ mes "[Nine Tail]";
+ mes "Have you come here for a ^FF3300 Fox Mask^000000?";
+ next;
+ menu "Yeah, Sure.",-,"No",M_EXIT;
+
+ mes "[Nine Tail]";
+ mes "Fine then. If I make one for you, will you go away?";
+ mes "You realize that it requires 999 Nine Tails to make, do you?";
+ next;
+ menu "Sure.",M_MAKE,"Nah.",-;
+
+ mes "[Nine Tail]";
+ mes "Grrrr... I'll make one anyway but I hope my master gets you.";
+ next;
+M_MAKE:
+ mes "[Nine Tail]";
+ mes "Ok then, I shall make one for you.";
+ next;
+
+ if(countitem(1022) < 999) goto L_NOITEM;//Items: Nine Tails,
+ delitem 1022,999;//Items: Nine Tails,
+ getitem 5069,1;//Items: Fox Mask,
+ mes "[Nine Tails]";
+ mes "Have fun.";
+ close;
+
+L_NOITEM:
+ mes "[Nine Tail]";
+ mes "You do not have have enough Nine Tails.";
+ mes "You need 999 of them.";
+ close;
+
+M_EXIT:
+ mes "[Nine Tail]";
+ mes "Then leave me alone... I am waiting for my master.";
+ close;
+}
diff --git a/npc/quests/newgears/hat_seller.txt b/npc/quests/newgears/hat_seller.txt
new file mode 100644
index 000000000..0e0ba52d5
--- /dev/null
+++ b/npc/quests/newgears/hat_seller.txt
@@ -0,0 +1,144 @@
+//===== eAthena Script =======================================1
+//= Hat Seller (New Hat Quests)
+//===== By: ==================================================
+//= Halca (1.0)
+//= Mass Zero (1.1)
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= Any eAthena Version.
+//===== Description: =========================================
+//= New Hat quests:
+//= Pointy Cap,Straw Hat,Cowboy Hat,Sombrero,Furry Hat
+//===== Additional Comments: =================================
+//= 1.2 Fixed wrong labels, added missing text
+//= added missing delitem, fixed names, item amount [Lupus]
+//= 1.3 Fixed Straw Hat items by dshome [Lupus]
+//= 1.4 Fixed Wool Hat items [Lupus]
+//============================================================
+
+xmas_in.gat,36,25,4 script Hat Seller 806,{
+ mes "[Hat Seller]";
+ mes "What hat would you like information on?";
+ mes "I can make all the hats I mention here";
+ next;
+ menu "Party Hat",-,"Straw Hat",M_2,"Cowboy Hat",M_3,"Sombrero",M_4,"Wool Hat",M_5,"Quit",M_EXIT;
+
+ mes "[Hat Seller]";
+ mes "Okay well, for this item I require:";
+ mes "1 Santa's Hat,";
+ mes "100 Slick Paper,";
+ mes "100 Oiled Paper.";
+ next;
+ mes "[Hat Seller]";
+ mes "You got these items?";
+ next;
+ menu "Yes.",-,"No.",M_EXIT;
+
+ if(countitem(2236) < 1 || countitem(7111) < 100 || countitem(7151) < 100) GOTO L_NOITEM;//Items: Santa's Hat, Slick Paper, Oiled Paper,
+ delitem 2236,1;//Items: Santa's Hat,
+ delitem 7111,100;//Items: Slick Paper,
+ delitem 7151,100;//Items: Oiled Paper,
+ getitem 5060,1;//Items: Pointy Cap,
+ mes "[Hat Seller]";
+ mes "Thanks! Bye.";
+ close;
+
+L_NOITEM:
+ mes "[Hat Seller]";
+ mes "Not enough items, bye.";
+ close;
+
+M_EXIT:
+ mes "[Hat Seller]";
+ mes "Bye!";
+ close;
+
+M_2:
+ mes "[Hat Seller]";
+ mes "For this item I require:";
+ mes "1 Sakkat,";
+ mes "300 Tough Vines,";
+ mes "300 Bamboo Trunks.";
+ next;
+ mes "[Hat Seller]";
+ mes "Bring those, and we got a deal.";
+ mes "You got them?";
+ next;
+ menu "Yes.",-,"No.",M_EXIT;
+
+ if(countitem(2280) < 1 || countitem(7197) < 300 || countitem(7150) < 300) GOTO L_NOITEM;//Items: Sakkat, Healthy Branch, Bamboo Trunk,
+ delitem 2280,1;//Items: Sakkat,
+ delitem 7197,300;//Items: Tough Vine,
+ delitem 7150,300;//Items: Bamboo Trunk,
+ getitem 5062,1;//Items: Straw Hat,
+ mes "[Hat Seller]";
+ mes "There you go... bye.";
+ close;
+
+M_3:
+ mes "[Hat Seller]";
+ mes "For this item I require:";
+ mes "1 Western Grace,";
+ mes "108 Claw of Desert Wolf,";
+ mes "108 Soft Grass Leaf,";
+ mes "and 4 Burning Horseshoes.";
+ next;
+ mes "[Hat Seller]";
+ mes "Bring those, and we got a deal.";
+ mes "You got them?";
+ next;
+ menu "Yes.",-,"No.",M_EXIT;
+
+ if(countitem(2248) < 1 || countitem(7030) < 108 || countitem(7194) < 108 || countitem(7120) < 4) GOTO L_NOITEM;//Items: Western Grace, Claw of Desert Wolf, Soft Grass Leaf, Burning Horseshoe,
+ delitem 2248,1;//Items: Western Grace,
+ delitem 7030,108;//Items: Claw of Desert Wolf,
+ delitem 7194,108;//Items: Soft Grass Leaf,
+ delitem 7120,4;//Items: Burning Horseshoe,
+ getitem 5075,1;//Items: Cowboy Hat,
+ mes "[Hat Seller]";
+ mes "There you go... bye.";
+ close;
+
+M_4:
+ mes "[Hat Seller]";
+ mes "For this item I require:";
+ mes "1 Straw Hat,";
+ mes "1 Guitar,";
+ mes "50 Cactus Needle.";
+ next;
+ mes "[Hat Seller]";
+ mes "Bring those, and we got a deal.";
+ mes "You got them?";
+ next;
+ menu "Yes.",-,"No.",M_EXIT;
+
+ if(countitem(5062) < 1 || countitem(1907) < 1 || countitem(952) < 50) GOTO L_NOITEM;//Items: Straw Hat, Guitar, Cactus Needle,
+ delitem 5062,1;//Items: Straw Hat,
+ delitem 1907,1;//Items: Guitar,
+ delitem 952,50;//Items: Cactus Needle,
+ getitem 5067,1;//Items: Sombrero,
+ mes "[Hat Seller]";
+ mes "There you go... bye.";
+ close;
+
+M_5:
+ mes "[Hat Seller]";
+ mes "For this item I require:";
+ mes "1 Cap,";
+ mes "500 Yarn.";
+ next;
+ mes "[Hat Seller]";
+ mes "Bring those, and we got a deal.";
+ mes "You got them?";
+ next;
+ menu "Yes.",-,"No.",M_EXIT;
+
+ if(countitem(2226) < 1 || countitem(7038) < 500) GOTO L_NOITEM;//Items: Cap, Yarn,
+ delitem 2226,1;//Items: Cap,
+ delitem 7038,500;//Items: Yarn,
+ getitem 5076,1;//Items: Wool Hat,
+ mes "[Hat Seller]";
+ mes "There you go... bye.";
+ close;
+}
diff --git a/npc/quests/newgears/indian_headband.txt b/npc/quests/newgears/indian_headband.txt
new file mode 100644
index 000000000..b3bfe817b
--- /dev/null
+++ b/npc/quests/newgears/indian_headband.txt
@@ -0,0 +1,58 @@
+//===== eAthena Script =======================================
+//= Indian Headband Quest
+//===== By: ==================================================
+//= Halca (1.0), Mass Zero (1.1)
+//= Lupus (1.2)
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= Any eAthena Version.
+//===== Description: =========================================
+//= Seperate Indian Headband quest.
+//===== Additional Comments: =================================
+//= 1.2 Fixed wrong labels, added missing text, fixed
+//= items count [Lupus]
+//= 1.3 Fixed ingredients according to kRO [Lupus]
+//= 1.4 Fixed ingredients again. [Kayla]
+//============================================================
+
+comodo.gat,238,217,5 script Merunte 832,{
+ mes "[Merunte]";
+ mes "Well, umbaga umbumbaga.";
+ mes "I like to do stuff like that!";
+ mes "And I love Indian Headbands too!";
+ next;
+ menu "Make me an Indian Headband!",-,"Bye!",M_EXIT;
+
+ mes "[Merunte]";
+ mes "Ok. Gimme:";
+ mes "1 Indian Fillet,";
+ mes "1 Striped Bandana,";
+ mes "10 Peco Feathers,";
+ mes "and 10,000 Zeny.";
+ next;
+ mes "[Merunte]";
+ mes "Got these items?";
+ next;
+ menu "Yep!",-,"Nope!",M_EXIT;
+
+ if(countitem(7101) < 10 || countitem(5049) < 1 || countitem(5010) < 1 || Zeny < 10000) GOTO L_NOITEM;//Items: Peco Feather, Striped Bandana, Hair Band,
+ delitem 5010,1;//Items: Indian Fillet,
+ delitem 5049,1;//Items: Striped Bandana,
+ delitem 7101,10;//Items: Peco Feather,
+ set Zeny,Zeny-10000;
+ getitem 5071,1;//Items: Indian Headband,
+ mes "[Merunte]";
+ mes "Thanks! Bye.";
+ close;
+
+L_NOITEM:
+ mes "[Merunte]";
+ mes "Ya miss some items or zeny.";
+ close;
+
+M_EXIT:
+ mes "[Merunte]";
+ mes "Kay bye.";
+ close;
+}
diff --git a/npc/quests/newgears/mask_of_alarm.txt b/npc/quests/newgears/mask_of_alarm.txt
new file mode 100644
index 000000000..d461d2dd5
--- /dev/null
+++ b/npc/quests/newgears/mask_of_alarm.txt
@@ -0,0 +1,55 @@
+//===== eAthena Script =======================================
+//= Mask of Alarm Quest
+//===== By: ==================================================
+//= Halca (1.0)
+//= Mass Zero (1.1)
+//===== Current Version: =====================================
+//= 1.4a
+//===== Compatible With: =====================================
+//= Any eAthena Version.
+//===== Description: =========================================
+//= Seperate Alarm Mask quest.
+//===== Additional Comments: =================================
+//= 1.2 Fixed wrong labels, added missing text and labels,
+//= changed Zeny amount, fixed wrong item ID [Lupus]
+//= 1.3 Fixed possible exploit [Lupus]
+//= 1.4 Added correct item list. [shadow] & [Lupus]
+//= 1.4a fixed coords [Lupus]
+//============================================================
+
+alde_alche.gat,104,171,3 script Muslam 819,{
+ mes "[Muslam]";
+ mes "I love Alarms, so evil, just like me.";
+ mes "Touch me and I will rip your arm off!";
+ next;
+ mes "[Muslam]";
+ mes "Anyways... If you want an Alarm Mask, bring me";
+ mes "3,000 Clock Hands,";
+ mes "and 1 Mr. Scream.";
+ next;
+ mes "[Muslam]";
+ mes "Got these?";
+ next;
+ menu "Yep!",-,"Nope!",M_EXIT;
+
+ if(countitem(1095) < 3000 || countitem(2288) < 1) GOTO L_NOITEM;//Items: Mr Scream,
+ delitem 1095,3000;//Items: Clock Hand
+ delitem 2288,1;//Items: Mr Scream
+ mes "[Muslam]";
+ mes "Great!";
+ next;
+ getitem 5086,1;//Items: Alarm Mask,
+ mes "[Muslam]";
+ mes "Enjoy your item!";
+ close;
+
+L_NOITEM:
+ mes "[Muslam]";
+ mes "Where are 3,000 Clock Hands and 1 Mr. Scream?";
+ close;
+
+M_EXIT:
+ mes "[Muslam]";
+ mes "Mkay! byeee.";
+ close;
+} \ No newline at end of file
diff --git a/npc/quests/newgears/mushroom_hairband.txt b/npc/quests/newgears/mushroom_hairband.txt
new file mode 100644
index 000000000..8be76f800
--- /dev/null
+++ b/npc/quests/newgears/mushroom_hairband.txt
@@ -0,0 +1,59 @@
+//===== eAthena Script =======================================
+//= Mushroom Hairband Quest
+//===== By: ==================================================
+//= Halca (1.0)
+//= Mass Zero (1.1)
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= Any eAthena Version.
+//===== Description: =========================================
+//= Seperate Mushroom Hairband quest.
+//===== Additional Comments: =================================
+//= 1.2 Fixed wrong labels, added missing text [Lupus]
+//= 1.3 Fixed possible exploit [Lupus]
+//============================================================
+
+geffen.gat,66,87,6 script Aipo 819,{
+ mes "[Aipo]";
+ if(BaseJob == Job_Novice) GOTO L_NOVICE;
+ mes "Heeeeee.";
+ next;
+ mes "[Aipo]";
+ mes "Have you ever wondered what you would look like with a ^000080Mushroom Hairband^000000?";
+ mes "Well, I can make you one if you like, just give me 300 Mushroom Spores!";
+ next;
+ mes "[Aipo]";
+ mes "This wondrous item grew in the depths of a gave and needs the spores for the final";
+ mes "materials neededm";
+ mes "Want me to make it for you?";
+ next;
+ menu "Yes! Now make me the item!",-,"No, thanks!",M_EXIT;
+
+ if(countitem(921) < 300) GOTO L_NOITEM;//Items: Mushroom Spore,
+ delitem 921,300;//Items: Mushroom Spore,
+ mes "[Aipo]";
+ mes "Wow! Thanks! Lemme make the item then.";
+ next;
+ mes "[Aipo]";
+ mes "Okay, thanks for the items, now yours in return!";
+ next;
+ getitem 5082,1;//Items: Mushroom Hairband,
+ mes "[Aipo]";
+ mes "Thanks again! Bye!";
+ close;
+
+L_NOITEM:
+ mes "[Aipo]";
+ mes "You don't have enough Mushroom Spores... sorry!";
+ close;
+
+L_NOVICE:
+ mes "I love musrooms. I wanna be their master one day...";
+ close;
+
+M_EXIT:
+ mes "[Aipo]";
+ mes "Well, I'm always here if you change your mind!";
+ close;
+}
diff --git a/npc/quests/newgears/neris.txt b/npc/quests/newgears/neris.txt
new file mode 100644
index 000000000..f6a7384aa
--- /dev/null
+++ b/npc/quests/newgears/neris.txt
@@ -0,0 +1,128 @@
+//===== eAthena Script =======================================1
+//= Neris (New Hat Quests)
+//===== By: ==================================================
+//= Halca (1.0)
+//= Mass Zero (1.1)
+//===== Current Version: =====================================
+//= 1.3a
+//===== Compatible With: =====================================
+//= Any eAthena Version.
+//===== Description: =========================================
+//= Seperate New Hat quests.
+//===== Additional Comments: =================================
+//= 1.2 Fixed wrong labels, added missing text [Lupus]
+//= 1.3 Fixed possible exploit, 1.3a fixed coords [Lupus]
+//= 1.3b Corrected the fixed coords [Zephiris]
+//============================================================
+
+yuno_in03.gat,20,18,7 script Neris 806,{
+ mes "[Neris]";
+ mes "So, whatcha want then?";
+ next;
+ menu "Golden Bells.",-,"Crown of Mistress.",M_COM,"Crown of Ancient Queen.",M_COAQ,"Nothing, thanks.",M_EXIT;
+
+ mes "[Neris]";
+ mes "Hehe, so you are a fan of Sohee's eh?";
+ mes "Yeah, I guess I like the bell they carry too!";
+ next;
+ mes "[Neris]";
+ mes "Looks pretty cute when you wear it.";
+ mes "So... what can I do for you?";
+ next;
+ menu "Make me Golden Bells!",-,"What do I need to make it?",M_REQL,"Nothing, thanks.",M_EXIT;
+
+ if(countitem(10016) < 1 || countitem(714) < 1 || countitem(969) < 3 || Zeny < 1000) GOTO L_NOITEM;//Items: Golden Bell, Emperium, Gold,
+ delitem 10016,1;//Items: Golden Bell,
+ delitem 714,1;//Items: Emperium,
+ delitem 969,3;//Items: Gold,
+ set Zeny,Zeny-1000;
+ mes "[Neris]";
+ mes "Now, lets swap your items.";
+ next;
+ getitem 5091,1;//Items: Golden Bells,
+ mes "[Neris]";
+ mes "Thanks, and bye!";
+ close;
+
+M_REQL:
+ mes "[Neris]";
+ mes "Okay all these are gold related:";
+ mes "1 Golden Bell,";
+ mes "1 Emperium,";
+ mes "3 Gold,";
+ mes "1000 Zeny for the labor.";
+ close;
+
+M_COM:
+ mes "[Neris]";
+ mes "You like mistresses?";
+ next;
+ mes "[Neris]";
+ mes "So... what can I do for you?";
+ next;
+ menu "Make me the item.",-,"What do I need to make it?",M_REQC,"Nothing, thanks.",M_EXIT;
+
+ if(countitem(2249) < 1 || countitem(714) < 1 || countitem(969) < 3 || Zeny < 1000) GOTO L_NOITEM;//Items: Coronet, Emperium, Gold,
+ delitem 2249,1;//Items: Coronet,
+ delitem 714,1;//Items: Emperium,
+ delitem 969,3;//Items: Gold,
+ set Zeny,Zeny-1000;
+ mes "[Neris]";
+ mes "Now, lets swap your items.";
+ next;
+ getitem 5081,1;//Items: Crown of Mistress,
+ mes "[Neris]";
+ mes "Thanks, and bye!";
+ close;
+
+M_REQC:
+ mes "[Neris]";
+ mes "Okay all these are gold related:";
+ mes "1 Coronet,";
+ mes "1 Emperium,";
+ mes "3 Gold,";
+ mes "1000 Zeny for the labor.";
+ close;
+
+M_COAQ:
+ mes "[Neris]";
+ mes "You like ancient queens?";
+ next;
+ mes "[Neris]";
+ mes "So.. what can I do for you?";
+ next;
+ menu "Make me the item.",-,"What do I need to make it?",M_REQC2,"Nothing, thanks.",M_EXIT;
+
+ if(countitem(10006) < 1 || countitem(714) < 1 || countitem(969) < 3 || Zeny < 1000) GOTO L_NOITEM;//Items: Queen's Hair Ornament, Emperium, Gold,
+ delitem 10006,1;//Items: Queen's Hair Ornament,
+ delitem 714,1;//Items: Emperium,
+ delitem 969,3;//Items: Gold,
+ set Zeny,Zeny-1000;
+ mes "[Neris]";
+ mes "Now, lets swap your items";
+ next;
+ getitem 5080,1;//Items: Crown of The Ancient Queen,
+ mes "[Neris]";
+ mes "Thanks, and bye!";
+ close;
+
+M_REQC2:
+ mes "[Neris]";
+ mes "Okay all these are gold related:";
+ mes "1 Queen's Hair Ornament,";
+ mes "1 Emperium,";
+ mes "3 Gold,";
+ mes "1000 Zeny for the labor.";
+ close;
+
+L_NOITEM:
+ mes "[Neris]";
+ mes "Don't take me for a fool!";
+ mes "No items, no deal!";
+ close;
+
+M_EXIT:
+ mes "[Neris]";
+ mes "Bye! Come again.";
+ close;
+}
diff --git a/npc/quests/newgears/new_hats_0625.txt b/npc/quests/newgears/new_hats_0625.txt
new file mode 100644
index 000000000..e3ae3a3dd
--- /dev/null
+++ b/npc/quests/newgears/new_hats_0625.txt
@@ -0,0 +1,314 @@
+//===== eAthena Script ============
+//= New hats from kRO Sakray on 2005-05-31
+//===== By: =========================
+//= Lorky, Lupus
+//===== Current Version: ===================
+//= 0.6
+//===== Compatible With: =====================
+//= eAthena 1.0
+//===== Description: ============================================
+//Hats lists:
+// Hat of the Investigator
+// Baby Suckle (Baby Rubber Nipple)
+// Mystic rose
+// Red Bonnet
+// Well-Baked Toast
+// Mask of Zealotus
+// Fashionable Warm Hat
+// n/a Soldier's Felt Hat (no info)
+//===== Additional Comments: ==========================================
+// 03.06.2005 :: Lorky :: First release 0.1a
+// 0.1b Fixed some missing things with temp IDs. [Lupus]
+// Could someone correct wrong info, names, coords, etc? ^___-
+// 0.1c Fixed hats shop. It shouldn't sell slotted hats.
+// 0.2 Fixed Detective Hat items (by Ishizu-chan) [Lupus]
+// 0.3 Added Zealotus mask quest with correct items [Lupus]
+// 0.4 Fixed some sprites, npc names and coords [Lupus]
+// 0.5 Removed temp shops, Black Clothes -> Piece of Black Quartz, thx to vicious_Pucca for note [Lupus]
+// 0.5a Updated detective hat to ask for the correct items [Kayla]
+// 0.6 Fixed possible exploits. Update yuor servers! [Lupus]
+//=====================================================================
+
+//Links (some info related to these headgears)
+//http://translate.google.com/translate?hl=en&sl=ja&u=http://www11.big.or.jp/~top/2005/0625/head.htm
+//http://eathena.deltaanime.net/board/index.php?showtopic=34214
+//http://www.ragnainfo.net/forums/viewtopic.php?t=79677&start=0&postdays=0&postorder=asc&highlight=
+
+
+//Quest Hats
+//-------------------------------------------------------------------------------------------------
+//Baby Suckle ID 5110
+lighthalzen.gat,360,310,4 script Boy 818,{
+ mes "[Boy]";
+ mes "...MA...Ma..ma...";
+ emotion 43;
+ next;
+ menu "Wow! Give me Baby Suckle!",-,"Nice Boy!",L_EXIT;
+
+ mes "[Boy]";
+ mes "Rrr..Rrr.. (^FF3300Royal jelly^000000)"; //526
+ mes "Bu.. Ba...Ba-Bu-bi (^FF3300Baby Bottle^000000)"; //7270 (nursing bottle of baby )
+ mes "Pa-Pa..Paxfi.. (^FF3300Pacifier^000000)"; //10004
+ mes "Nu..Noos rie.. (^FF3300Nose Ring^000000)"; //941 (Nose Wheel)
+ next;
+
+ if(countitem(526)<1 || countitem(7270)<1 || countitem(10004)<1 || countitem(941)<1) goto L_EXIT;//Items: Royal_Jelly, Baby_Bottle, Pacifier, Nose_Ring,
+ delitem 526,1;//Items: Royal_Jelly,
+ delitem 7270,1;//Items: Baby_Bottle,
+ delitem 10004,1;//Items: Pacifier,
+ delitem 941,1;//Items: Nose_Ring,
+ mes "[Boy]";
+ mes "Th-anke...";
+ emotion 43;
+ getitem 5110,1;//Items: Baby_Rubber_Nipple,
+ next;
+
+L_EXIT:
+ mes "[Boy]";
+ mes "...B...Bye...";
+ emotion 28;
+ close;
+
+}
+
+//-------------------------------------------------------------------------------------------------
+//Detective hat (Hat_of_the_Investigator) ID 5108
+lighthalzen.gat,140,68,4 script Morris 818,{
+ mes "[Morris]";
+ mes "Do you want a ^FF3300Hat of the Investigator^000000?";
+ next;
+ menu "Of course, I do",-,"No, thanks",L_EXIT;
+
+ mes "[Morris]";
+ mes "Ok then, I shall make one for you.";
+
+ if(countitem(611)<10 || countitem(7301)<1887 || countitem(5120)<1 || Zeny<50000) goto L_NOITEM;//Items: Magnifier, Tassel, Wide_Bunker_Hat_,
+ delitem 611,10; //Items: Magnifier,
+ delitem 7301,1887; //Tassel//Items: Tassel,
+ delitem 5120,1; //Items: Wide_Bunker_Hat_,
+ set Zeny,Zeny-50000;
+ mes "[Morris]";
+ mes "Very well. Now I can make it...";
+ next;
+ mes "[Morris]";
+ mes "Enjoy.";
+ getitem 5108,1;//Items: Detective_Hat,
+ close;
+
+L_NOITEM:
+ mes "[Morris]";
+ mes "Bring me:";
+ mes "^FF3300 10 Magnifiers^000000,";
+ mes "^FF3300 1887 Tassel^000000,";
+ mes "^FF3300 1 Wide Bunker Hat [1]^000000,";
+ mes "and ^FF3300 50,000 zeny.^000000";
+ close;
+
+L_EXIT:
+ mes "[Morris]";
+ mes "Bye.";
+ close;
+}
+
+//-------------------------------------------------------------------------------------------------
+//Mystic rose ID 5117
+lhz_in02.gat,103,31,4 script Margaret Mary 818,{
+ mes "[Margaret Mary]";
+ mes "Wheee! Don't you just love making youself look pretty!?";
+ mes "I love glamourising myself with all the best accessories!";
+ next;
+
+ mes "[Margaret Mary]";
+ mes "Have you ever heard of a ^FF3300Mystic Rose^000000?";
+ mes "I can make you one, and you could be fashionable and mysticly, too!";
+ next;
+ menu "Make me a ^670000Mystic rose^000000.",-,"No, I dont want one.",L_EXIT;
+
+ if(countitem(731) < 10 || countitem(748) < 3 || countitem(982) < 1 || Zeny<50000) goto L_NOITEM;//Items: 2_Carat_Diamond, Witherless_Rose, White_Dyestuff,
+ delitem 731,10;//Items: 2_Carat_Diamond,
+ delitem 748,3;//Items: Witherless_Rose,
+ delitem 982,1;//Items: White_Dyestuff,
+ set Zeny,Zeny-50000;
+ mes "[Margaret Mary]";
+ mes "Wow, thank you! Hand me your items, please.";
+ next;
+ mes "[Margaret Mary]";
+ mes "Enjoy being pretty and mystic!";
+ getitem 5117,1;//Items: Mystic_Rose,
+ close;
+L_NOITEM:
+ mes "[Margaret Mary]";
+ mes "Well, for me to make you my Mystic rose...";
+ mes "I need these materials:";
+ mes "^FF3300 10 2-Carat Diamonds^000000,";
+ mes "^FF3300 3 Witherless Roses^000000,";
+ mes "^FF3300 1 White Dyestuff^000000,";
+ mes "and ^FF3300 50,000 zeny.^000000";
+ close;
+L_EXIT:
+ mes "[Margaret Mary]";
+ mes "Aww... well, OK then!";
+ mes "Be pretty some other time";
+ close;
+}
+
+//-------------------------------------------------------------------------------------------------
+//Red hood (Red Bonnet) ID 5109
+lighthalzen.gat,180,88,4 script Rich Girl 818,{
+ mes "[Rich Girl]";
+ mes "Hello there! Please, answer my questions.";
+ next;
+ mes "[Rich Girl]";
+ mes "Do you have a grandma?";
+ emotion 20;
+ next;
+ mes "[Rich Girl]";
+ mes "Really? I'm sorry. Do you like wolves?";
+ next;
+ mes "[Rich Girl]";
+ mes "Ha! I knew it! And... my last question. Would you like to put on something reddish?";
+ emotion 1;
+ next;
+ mes "[Rich Girl]";
+ mes "Just kidding, Have you ever read 'Red-Hood'? I can make to you the very same ^FF3300Red Bonnet^000000.";
+ next;
+ menu "Please, make it!",-,"No, thanks",L_EXIT;
+ if(countitem(10015) < 1 || countitem(975) < 1 || countitem(10007) < 1 || countitem(5032)<1 || Zeny<50000) goto L_NOITEM;//Items: Green_Lace, Scarlet_Dyestuffs, Silk_Ribbon, Sunday_Hat,
+ delitem 10015,1;//Items: Green_Lace,
+ delitem 975,1;//Items: Scarlet_Dyestuffs,
+ delitem 10007,1;//Items: Silk_Ribbon,
+ delitem 5032,1;//Items: Sunday_Hat,
+ set Zeny,Zeny-50000;
+ mes "[Rich Girl]";
+ mes "Ok then, I shall make one for you.";
+ next;
+ mes "[Rich Girl]";
+ mes "Now you can drink tea with your grannie and have fun with wolves.";
+ getitem 5109,1;//Items: Red_Bonnet,
+ close;
+
+L_NOITEM:
+ mes "[Rich Girl]";
+ mes "Give me:";
+ mes "^FF3300 Green Lace^000000,";
+ mes "^FF3300 Scarlet Dyestuff ^000000,";
+ mes "^FF3300 Silk Ribbon^000000,";
+ mes "^FF3300 Sunday Hat ^000000,";
+ mes "and ^FF3300 50,000 zeny.^000000";
+ close;
+
+L_EXIT:
+ mes "[Rich Girl]";
+ mes "Well done. Bye.";
+ close;
+}
+
+//-------------------------------------------------------------------------------------------------
+//Well-Baked Toast ID 5107
+yuno.gat,224,116,4 script Kacis 818,{
+ mes "[Kacis]";
+ mes "Do you want a ^FF3300 Well-Baked Toast ^000000?";
+ next;
+ menu "Please, make one for me",-,"No, thanks. I'm so full",L_EXIT;
+
+ if(countitem(519) < 50 || countitem(548) < 50 || countitem(539) < 50 || countitem(7031)<50) goto L_NOITEM;//Items: Milk, Cheese, Piece_of_Cake, Old_Frying_Pan,
+ delitem 519,50;//Items: Milk,
+ delitem 548,50;//Items: Cheese,
+ delitem 539,50;//Items: Piece_of_Cake,
+ delitem 7031,50;//Items: Old_Frying_Pan,
+ mes "[Kacis]";
+ mes "Good, thank you! Let me just take your items.";
+ next;
+ mes "[Kacis]";
+ mes "Well done. Be careful, it's hot.";
+ getitem 5107,1;//Items: Well_Done_Toast,
+ close;
+
+L_NOITEM:
+ mes "[Kacis]";
+ mes "Well, for me to make you ^FF3300 Well-Baked Toast ^000000...";
+ mes "I require these materials:";
+ mes "^FF3300 50 Milk, ^000000";
+ mes "^FF3300 50 Cheese, ^000000";
+ mes "^FF3300 50 Piece of Cake, ^000000";
+ mes "^FF3300 50 Old Frying Pan. ^000000";
+ close;
+L_EXIT:
+ mes "[Kacis]";
+ mes "Ok. I more to get tasty toasts.";
+ close;
+}
+
+//-------------------------------------------------------------------------------------------------
+// Mask_of_Zealotus id 5121
+gl_prison1.gat,138,141,4 script Zealotus 1200,{
+ mes "[Gill Tass]";
+ mes "Do you want an unique ^FF3300Mask of Zealotus^000000 ?";
+ next;
+ menu "Yes, I do!",-,"No, thanks",L_EXIT;
+
+ if(countitem(7315) < 369//Items: Black Quartz Piece
+ || countitem(660) < 1//Items: Forbidden_Red_Candle,
+ || countitem(7263) < 1//Items: Cat's_Eye,
+ || countitem(7099) < 30) goto L_NOITEM;//Items: Worn-out_Magic_Scroll,
+
+ delitem 7315,369;//Items: Black Quartz Piece,
+ delitem 660,1;//Items: Forbidden_Red_Candle,
+ delitem 7263,1;//Items: Cat's_Eye,
+ delitem 7099,30;//Items: Worn-out_Magic_Scroll,
+ getnameditem 5121,strcharinfo(0);
+ logmes "Quest: Got Zealotus Mask";
+
+ mes "[Gill Tass]";
+ mes "Just let me sign your unique Zealotus Mask.";
+ mes "So all masks should be signed...";
+ close;
+
+L_NOITEM:
+ mes "[Gill Tass]";
+ mes "All right. Bring me these items:";
+ mes "^FF3300 369 Pieces of Black Quartz^000000,";
+ mes "^FF3300 1 Forbidden Red Candle^000000,";
+ mes "^FF3300 1 Cat's Eye^000000";
+ mes "and ^FF3300 30 Worn-out Magic scrolls.^000000";
+ close;
+
+L_EXIT:
+ mes "[Gill Tass]";
+ mes "As you wish...";
+ close;
+}
+//-------------------------------------------------------------------------------------------------
+//Fashionable Warm Hat ID 5115
+einbech.gat,70,200,7 script Mater 818,{
+ mes "[Mater]";
+ mes "Aren't you cold?";
+ mes "I can make you a ^FF3300Winter Hat^000000";
+ next;
+ menu "Please, make one for me",-,"No, thanks",L_EXIT;
+
+ if(countitem(7267) < 999 || countitem(983) < 1 || countitem(749) < 1 || Zeny<50000) goto L_NOITEM;//Items: Tigerskin_Underwear, Black_Dyestuff, Frozen_Rose,
+ delitem 7267,999;//Items: Tigerskin_Underwear,
+ delitem 983,1;//Items: Black_Dyestuff,
+ delitem 749,1;//Items: Frozen_Rose,
+ set Zeny,Zeny-50000;
+ mes "[Mater]";
+ mes "Exellent! Now give me the items.";
+ next;
+ mes "[Mater]";
+ mes "Here you are.";
+ getitem 5115,1;//Items: Fashionable_Fur_Hat,
+ close;
+L_NOITEM:
+ mes "[Mater]";
+ mes "Please, correct these materials:";
+ mes "^FF3300 999 Tigerskin Underwears^000000,";
+ mes "^FF3300 Black Dyestuff^000000,";
+ mes "^FF3300 Frozen Rose^000000,";
+ mes "and ^FF3300 50,000 zeny.^000000";
+ close;
+L_EXIT:
+ mes "[Mater]";
+ mes "Azzz youu wishhhh... Brr-r.";
+ close;
+}
diff --git a/npc/quests/newgears/old_blacksmith.txt b/npc/quests/newgears/old_blacksmith.txt
new file mode 100644
index 000000000..122bad676
--- /dev/null
+++ b/npc/quests/newgears/old_blacksmith.txt
@@ -0,0 +1,99 @@
+//===== eAthena Script =======================================
+//= Angel & Devil Ears Quests
+//===== By: ==================================================
+//= Halca (1.0)
+//= Mass Zero (1.1)
+//===== Current Version: =====================================
+//= 1.3b
+//===== Compatible With: =====================================
+//= Any eAthena Version.
+//===== Description: =========================================
+//= Seperate Ears Of Angel & Ears Of Demon quests.
+//===== Additional Comments: =================================
+//= 1.2 Fixed wrong labels, added missing text, wrong ID! [Lupus]
+//= 1.3 Fixed possible exploit, 1.3a coords fixed [Lupus]
+//============================================================
+
+yuno.gat,240,52,4 script Old Blacksmith 813,{
+ mes "[Old Blacksmith]";
+ mes "Well then my good man!";
+ mes "What can I do for you?";
+ next;
+ menu "Give me the Ears of Devil!",M_EOD,"Give me the Ears of Angel!",M_EOA,"Nothing, thanks",M_EXIT;
+
+M_EOD:
+ mes "[Old Blacksmith]";
+ mes "Well, this item sure makes you look like a evil bastard.";
+ mes "It makes me crap in my pants when I see these.";
+ next;
+ menu "Dont care, make me the Item!",-,"What are the requirements?",M_EODREQ,"Nothing",M_EXIT;
+
+ if(countitem(2255) < 1 || countitem(2286) < 1 || Zeny < 20000) GOTO L_NOITEM_EOD;//Items: Evil Wing, Elven Ears,
+ delitem 2255,1;//Items: Evil Wing,
+ delitem 2286,1;//Items: Elven Ears,
+ set Zeny,Zeny-20000;
+ mes "[Old Blacksmith]";
+ mes "Wow, never thought a little fella like you could get tha.t";
+ mes "Bwahaha, ok.";
+ next;
+ getitem 5068,1;//Items: Ears Of Demon,
+ mes "[Old Blacksmith]";
+ mes "Well, enjoy your item!";
+ close;
+
+L_NOITEM_EOD:
+ mes "[Old Blacksmith]";
+ mes "Well sorry, but you dont have enough items!";
+ next;
+
+M_EODREQ:
+ mes "[Old Blacksmith]";
+ mes "Well, let's see...";
+ mes "I need something for the evil, that be an Evil Wing,";
+ mes "I also need the ears for the base of it, Elven Ears would be OK,";
+ mes "Last of all, I need 20,000 Zeny for me troubles.";
+ next;
+ mes "[Old Blacksmith]";
+ mes "Hey, I have to make a living!";
+ close;
+
+M_EOA:
+ mes "[Old Blacksmith]";
+ mes "Well, this item sure makes you look like a holy bastard.";
+ next;
+ menu "Dont care, make me the Item!",-,"What are the requirements?",M_EOAREQ,"Nothing",M_EXIT;
+
+ if(countitem(2286) < 1 || countitem(2254) < 1 || Zeny < 20000) GOTO L_NOITEM_EOA;//Items: Elven Ears, Angel Wing,
+ delitem 2286,1;//Items: Elven Ears,
+ delitem 2254,1;//Items: Angel Wing,
+ set Zeny,Zeny-20000;
+ mes "[Old Blacksmith]";
+ mes "Well well well! Someone who has the spirit!";
+ mes "Okay, gimme the items.";
+ next;
+ mes "[Old Blacksmith]";
+ mes "Okay, and here you go.";
+ next;
+ getitem 5074,1;//Items: Ears of Angel,
+ mes "[Old Blacksmith]";
+ mes "Enjoy it!";
+ close;
+
+L_NOITEM_EOA:
+ mes "[Old Blacksmith]";
+ mes "Well sorry, but you dont have enough items!";
+ next;
+
+M_EOAREQ:
+ mes "[Old Blacksmith]";
+ mes "Well, this item is very holy, so I will need:";
+ mes "1 Angel Wing (Angel Headband),";
+ mes "1 Elven Ears for the ears,";
+ mes "and 20,000z for the labour costs!";
+ close;
+
+M_EXIT:
+ mes "[Old Blacksmith]";
+ mes "Fair yee well!";
+ close;
+}
diff --git a/npc/quests/newgears/orc_hero_helm.txt b/npc/quests/newgears/orc_hero_helm.txt
new file mode 100644
index 000000000..f059de6ca
--- /dev/null
+++ b/npc/quests/newgears/orc_hero_helm.txt
@@ -0,0 +1,123 @@
+//===== eAthena Script =======================================
+//= Orc Hero Helm Quest
+//===== By: ==================================================
+//= DracoRPG (1.0)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any eAthena Version with gmcommand function
+//===== Description: =========================================
+//= Orc Hero Helm quest
+//===== Additional Comments: =================================
+//= Only needed items and sprite/name are official
+//= 1.1 fixed items exploit [Lupus]
+//============================================================
+
+gef_fild10.gat,131,274,4 script Orc Warrior 1023,{
+ if(ORC_HERO_HELM_Q==1) goto Q1;
+ if(ORC_HERO_HELM_Q==2) goto Q2;
+ if(ORC_HERO_HELM_Q==3) goto Q3;
+ if(ORC_HERO_HELM_Q==4) goto Q4;
+ emotion 6;
+ mes "[Orc Warrior]";
+ mes "What does an human here? Cheeit!";
+ mes "Here are only true Orc Warriors! Get out of our village!";
+ next;
+ menu "Hey, I'm as strong as you are!",Q0,"Leave before he gets angry...",-;
+ close;
+Q0:
+ mes "[Orc Warrior]";
+ mes "Humph! As strong as an orc? I dun think so!";
+ mes "If you're able to prove it to me... I'll reward ya with the hat of the true warriors...";
+ mes "The ^ff0000Orc Hero Helm^000000! Cheeit!";
+ next;
+ mes "[Orc Warrior]";
+ mes "But you'll need to show me your strength and courage before.";
+ mes "First bring me back 10,000 Jellopies to prove your determination! Cheeit!";
+ set ORC_HERO_HELM_Q,1;
+ set ORC_HERO_HELM_Q2,0;
+ close;
+Q1:
+ mes "[Orc Warrior]";
+ mes "Then, ya're back! Let's see whether you've got what I asked ya to find!";
+ next;
+ mes "[Orc Warrior]";
+ set @temp,countitem(909);
+ if(ORC_HERO_HELM_Q2+@temp>10000) set @temp,10000-ORC_HERO_HELM_Q2;
+ set ORC_HERO_HELM_Q2,ORC_HERO_HELM_Q2+@temp;
+ delitem 909,@temp;
+ if(ORC_HERO_HELM_Q2==0) goto Q1_noitem;
+ if(ORC_HERO_HELM_Q2==10000) goto Q1_allitem;
+ mes "Ya've brought me " + @temp + " Jellopies this time. This makes a total of " + ORC_HERO_HELM_Q2 + " Jellopies. Remember, I want 10,000 of 'em!";
+ close;
+Q1_allitem:
+ mes "I see that ya've more courage that I imagined. Cheeit!";
+ mes "But it's not finished! Now I want to test your strength. Go and fight our warriors, and get 100 Orcish Vouchers from 'em!";
+ set ORC_HERO_HELM_Q,2;
+ set ORC_HERO_HELM_Q2,0;
+ close;
+Q1_noitem:
+ emotion 6;
+ mes "Cheeit! I told ya to bring me back 10,000 Jellopies, and you don't have even one!";
+ close;
+Q2:
+ mes "[Orc Warrior]";
+ if(countitem(931)<100) goto Q2_noitem;
+ delitem 931,100;
+ mes "Ya managed to get those Orcish Vouchers? Cheeit! Maybe I didn't ask ya to bring me enough of 'em!";
+ mes "Go and find 10,000 more Orcish Vouchers!";
+ set ORC_HERO_HELM_Q,3;
+ set ORC_HERO_HELM_Q2,0;
+ close;
+Q2_noitem:
+ emotion 6;
+ mes "Ya couldn't win against my brother warriors ? Stay away until ya find those 100 Orcish Vouchers! Cheeit!";
+ close;
+Q3:
+ mes "[Orc Warrior]";
+ set @temp,countitem(931);
+ if(ORC_HERO_HELM_Q2+@temp>10000) set @temp,10000-ORC_HERO_HELM_Q2;
+ set ORC_HERO_HELM_Q2,ORC_HERO_HELM_Q2+@temp;
+ delitem 931,@temp;
+ if(ORC_HERO_HELM_Q2==0) goto Q3_noitem;
+ if(ORC_HERO_HELM_Q2==10000) goto Q3_allitem;
+ mes "Good, ya've come with " + @temp + " Orcish Vouchers. With all those ya brought previously, it goes up to " + ORC_HERO_HELM_Q2 + " Orcish Vouchers on the 10,000 I want!";
+ close;
+Q3_allitem:
+ mes "Humph! Ya're really a powerful warrior! Maybe ya deserve to wear the Orc Hero Helm.";
+ mes "For the moment, take those items. Keep 'em well, ya'll need 'em to make your helm!";
+ set ORC_HERO_HELM_Q,4;
+ set ORC_HERO_HELM_Q2,0;
+ getitem 2299,1;
+ getitem 968,1;
+ next;
+ mes "[Orc Warrior]";
+ mes "Now, ya'll have to fight our best warlords and heroes! Bring me 100 Heroic Emblems and I'll give ya your helm.";
+ close;
+Q3_noitem:
+ emotion 6;
+ mes "Bringing me back at least one of those 10,000 Orcish Vouchers is too hard for ya, poor human? Go out of there, then! Cheeit!";
+ close;
+Q4:
+ mes "[Orc Warrior]";
+ mes "Have ya fighted the best warriors among us, and brought me 100 Heroic Emblems as a token?";
+ mes "And don't forget the Orc Helm I gave ya, I need it too. Cheeit!";
+ next;
+ mes "[Orc Warrior]";
+ if(countitem(968)<100 || countitem(2299)<1) goto Q4_noitem;
+ delitem 968,100;
+ delitem 2299,1;
+ mes "Ya got all of them! Cheeit! Ya're a true warrior, one of our heroes!";
+ mes "I'll make your Orc Hero Helm to prove your strength and valour!";
+ next;
+ mes "[Orc Warrior]";
+ getnameditem 5094,strcharinfo(0);
+ set ORC_HERO_HELM_Q,0;
+ logmes "Quest: Got Orc Hero Helm";
+ mes "Here ya are! Wear it and be proud to be one of the mightiest Orc Heroes! Cheeit!";
+ close;
+Q4_noitem:
+ emotion 6;
+ mes "No? Ya miss items... I was sure that ya weren't really a hero!";
+ close;
+} \ No newline at end of file
diff --git a/npc/quests/newgears/posture_fix_hat.txt b/npc/quests/newgears/posture_fix_hat.txt
new file mode 100644
index 000000000..520fadfee
--- /dev/null
+++ b/npc/quests/newgears/posture_fix_hat.txt
@@ -0,0 +1,69 @@
+//===== eAthena Script =======================================
+//= Posture Fix Hat Quest
+//===== By: ==================================================
+//= Halca (1.0)
+//= Mass Zero (1.1)
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= Any eAthena Version.
+//===== Description: =========================================
+//= Posture Fix Hat quest.
+//===== Additional Comments: =================================
+//= 1.2 Fixed wrong labels, added missing text
+//= fixed wrong items ID [Lupus]
+//= 1.3 Fixed possible exploit [Lupus]
+//============================================================
+
+payon_in01.gat,143,8,5 script Nan Hyang 814,{
+ if(getequipisequiped(5073)) GOTO L_GOOD;
+ if(BaseJob == 0) GOTO L_NOVICE;
+ mes "[Nan Hyang]";
+ mes "Tut tut! you have terrible posture!";
+ mes "You need to correct it immediately!";
+ next;
+ mes "[Nan Hyang]";
+ mes "I could correct it for you if you brought me some materials to make you a Posture Fix Hat.";
+ next;
+ menu "Please, make me one.",-,"What do I need to get?",M_REQ,"No thanks!",M_EXIT;
+
+ if(countitem(1550) < 1 || countitem(2285) < 1) GOTO L_NOITEM;//Items: Book, Apple o' Archer,
+ delitem 1550,1;//Items: Book,
+ delitem 2285,1;//Items: Apple o' Archer,
+ mes "[Nan Hyang]";
+ mes "Ahh at last, someone who is serious!";
+ next;
+ getitem 5073,1;//Items: Posture Fix Hat,
+ mes "[Nan Hyang]";
+ mes "Hehe, well, maybe you will become more careful, or your sense will become balanced.";
+ close;
+
+M_REQ:
+ mes "[Nan Hyang]";
+ mes "What I require is very simple...";
+ next;
+ mes "[Nan Hyang]";
+ mes "1 Book.";
+ mes "And 1 Apple o' Archer to balance on it.";
+ close;
+
+L_NOITEM:
+ mes "[Nan Hyang]";
+ mes "At least be serious, you dont have enough items!";
+ mes "Come back when you wish to learn posture.";
+ close;
+
+L_GOOD:
+ mes "[Nan Hyang]";
+ mes "Ah, that's it! good to see you are willing to learn!";
+ close;
+
+L_NOVICE:
+ mes "Hi! Could you visit me next week?";
+ next;
+
+M_EXIT:
+ mes "[Nan Hyang]";
+ mes "Good day to you.";
+ close;
+}
diff --git a/npc/quests/newgears/sea_otter_hat.txt b/npc/quests/newgears/sea_otter_hat.txt
new file mode 100644
index 000000000..244b9d564
--- /dev/null
+++ b/npc/quests/newgears/sea_otter_hat.txt
@@ -0,0 +1,56 @@
+//===== eAthena Script =======================================
+//= Sea Otter Hat Quest
+//===== By: ==================================================
+//= Halca (1.0)
+//= Mass Zero (1.1)
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= Any eAthena Version.
+//===== Description: =========================================
+//= Seperate Sea Otter Hat quest.
+//===== Additional Comments: =================================
+//= 1.2 Fixed wrong labels, added missing text [Lupus]
+//= 1.3 Fixed possible exploit [Lupus]
+//= 1.4 Fixed required item (Lazy Racoon Hat -> Racoon Hat),
+//= thanks to frugal [DracoRPG]
+//============================================================
+
+xmas.gat,184,267,4 script Pretty Rency 818,{
+ mes "[Pretty Rency]";
+ mes "Wow! you heard of a Sea Otter Hat?";
+ next;
+ mes "[Pretty Rency]";
+ mes "The requirements for this item, are very simple:";
+ mes "1 Raccoon Hat,";
+ mes "1 Transformation Leaf";
+ next;
+ mes "[Pretty Rency]";
+ mes "Do you have these items?";
+ next;
+ menu "Yes.",-,"No.",M_EXIT;
+
+ if(countitem(5033) < 1 || countitem(5064) < 1) GOTO L_NOITEM;//Items: Raccoon Hat, Transformation Leaf,
+ delitem 5033,1;//Items: Raccoon Hat,
+ delitem 5064,1;//Items: Transformation Leaf,
+ mes "[Pretty Rency]";
+ mes "Congratulations!";
+ next;
+ mes "[Pretty Rency]";
+ mes "Thanks for your items! Now I will make yours for you!";
+ next;
+ getitem 5078,1;//Items: Sea Otter Hat,
+ mes "[Pretty Rency]";
+ mes "Thanks! Byeeeeeee!";
+ close;
+
+L_NOITEM:
+ mes "[Pretty Rency]";
+ mes "Sorry, not enough items.";
+ close;
+
+M_EXIT:
+ mes "[Pretty Rency]";
+ mes "Byebye! Have a nice time in the world of Ragnarok!";
+ close;
+} \ No newline at end of file
diff --git a/npc/quests/newgears/traveler.txt b/npc/quests/newgears/traveler.txt
new file mode 100644
index 000000000..24e9fd20a
--- /dev/null
+++ b/npc/quests/newgears/traveler.txt
@@ -0,0 +1,132 @@
+//===== eAthena Script =======================================
+//= Traveler (New Hat Quests)
+//===== By: ==================================================
+//= Halca (1.0)
+//= Mass Zero (1.1)
+//===== Current Version: =====================================
+//= 1.4b
+//===== Compatible With: =====================================
+//= Any eAthena Version.
+//===== Description: =========================================
+//= Seperate New Hat quests.
+//===== Additional Comments: =================================
+//= 1.2 Fixed wrong labels, added missing text
+//= added missing delitem, fixed names, item amount [Lupus]
+//= 1.3 Fixed possible exploit [Lupus]
+//= 1.4 Fixed ingredients: Sashimi knife->Raw Fish (Sashimi) [Lupus]
+//= 1.4a fixed coords [Lupus]
+//============================================================
+
+morocc.gat,273,78,6 script Traveler 807,{
+ mes "[Traveler]";
+ if(BaseJob == Job_Novice) GOTO L_NOVICE;
+ mes "What kind of hat do you want from me?";
+ next;
+ menu "Lazy Racoon Hat.",-,"Fresh Bluish Fish",M_N2,"Drooping Cat",M_N3,"Transformation Leaf",M_N4,"Nothing.",M_EXIT;
+
+ mes "[Traveler]";
+ mes "Gimme 1000 Acorns,";
+ mes "100 Sea Otter Skins,";
+ mes "and 10 Raccoon Leaf";
+ next;
+ mes "[Traveler]";
+ mes "Got these items?";
+ next;
+ menu "Yep.",-,"No!",M_EXIT;
+
+ if(countitem(1026) < 1000 || countitem(7065) < 100 || countitem(945) < 10) GOTO L_NOITEM;//Items: Acorn, Sea Otter Fur, Raccoon Leaf,
+ delitem 1026,1000;//Items: Acorn,
+ delitem 7065,100;//Items: Sea Otter Fur,
+ delitem 945,10;//Items: Raccoon Leaf,
+ mes "[Traveler]";
+ mes "Well, then here is your item";
+ next;
+ getitem 5084,1;//Items: Lazy Racoon Hat,
+ mes "[Traveler]";
+ mes "Enjoy.";
+ close;
+
+M_N2:
+ mes "[Traveler]";
+ mes "Gimme 1 Rotten Fish,";
+ mes "300 Rotten Scales,";
+ mes "50 Raw Fish (Sashimi, not a knife),";
+ mes "1 Fish Tail,";
+ mes "and 100 Sticky Mucus";
+ next;
+ mes "[Traveler]";
+ mes "Got these items?";
+ menu "Yes",-,"No.",M_EXIT;
+
+ if(countitem(624) < 1 || countitem(959) < 300 || countitem(544) < 50 || countitem(1023) < 1 || countitem(938) < 100) GOTO L_NOITEM; //Items: Rotten Fish, Stinky Scale, Sashimi, Fish Tail, Sticky Mucus,
+ delitem 624,1;//Items: Rotten Fish,
+ delitem 959,300;//Items: Stinky Scale,
+ delitem 544,50;//Items: Raw Fish,
+ delitem 1023,1;//Items: Fish Tail,
+ delitem 938,100;//Items: Sticky Mucus,
+ mes "[Traveler]";
+ mes "Okay, thanks.";
+ next;
+ getitem 5065,1;//Items: Fresh Blueish Fish,
+ mes "[Traveler]";
+ mes "Thanks. Bye.";
+ close;
+
+M_N3:
+ mes "[Traveler]";
+ mes "Give me 1 Slotted Circlet,";
+ mes "1 Black Dyestuff,";
+ mes "and 300 Black Cat Dolls.";
+ mes "Loli Ruri drops the last one.";
+ next;
+ mes "[Traveler]";
+ mes "Have you these items?";
+ next;
+ menu "Yes",-,"No.",M_EXIT;
+
+ if(countitem(2233) < 1 || countitem(983) < 1 || countitem(7206) < 300) GOTO L_NOITEM;//Items: Circlet, Black Dyestuff, Black Cat Doll,
+ delitem 2233,1;//Items: Circlet,
+ delitem 983,1;//Items: Black Dyestuff,
+ delitem 7206,300;//Items: Black Cat Doll,
+ mes "[Traveler]";
+ mes "Okay, here you are.";
+ next;
+ getitem 5058,1;//Items: Resting Cat,
+ mes "[Traveler]";
+ mes "Good luck.";
+ close;
+
+M_N4:
+ mes "[Traveler]";
+ mes "Bring me 600 Raccoon Dog's Leaves (Raccoon Leaf).";
+ next;
+ mes "[Traveler]";
+ mes "You have these?";
+ next;
+ menu "Yes!",-,"Nope.",M_EXIT;
+
+ if(countitem(945) < 600) GOTO L_NOITEM;//Items: Raccoon Leaf,
+ delitem 945,600;//Items: Raccoon Leaf,
+ mes "[Traveler]";
+ mes "Thanks. here's your leaf.";
+ next;
+ getitem 5064,1;//Items: Transformation Leaf,
+ mes "[Traveler]";
+ mes "Enjoy your Item.";
+ close;
+
+L_NOITEM:
+ mes "[Traveler]";
+ mes "No stuff, no item!";
+ mes "When you have it, come back.";
+ close;
+
+L_NOVICE:
+ mes "It's damn hot today...";
+ close;
+
+M_EXIT:
+ mes "[Traveler]";
+ mes "Bye.";
+ close;
+}
diff --git a/npc/quests/newgears/tulip_hairpin.txt b/npc/quests/newgears/tulip_hairpin.txt
new file mode 100644
index 000000000..b3b4c2840
--- /dev/null
+++ b/npc/quests/newgears/tulip_hairpin.txt
@@ -0,0 +1,65 @@
+//===== eAthena Script =======================================
+//= Tulip Hairpin Quest
+//===== By: ==================================================
+//= Halca (1.0)
+//= Mass Zero (1.1)
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= Any eAthena Version.
+//===== Description: =========================================
+//= Seperate Tulip Hairpin quest.
+//===== Additional Comments: =================================
+//= 1.2 Fixed wrong labels, added missing text [Lupus]
+//= 1.3 Fixed possible exploit and added missing close; [Lupus]
+//============================================================
+
+geffen.gat,84,189,6 script Ses 815,{
+ mes "[Ses]";
+ if(BaseJob == Job_Novice) GOTO L_NOVICE;
+ mes "Woo, hello! Fruit fruit!";
+ mes "Sorry, I just love flowers, fruits and everything that makes me";
+ mes "look more FRUITY!";
+ next;
+ menu "Make me a Tulip Hairpin!",-,"What do I need?",M_REQ,"Bye!",M_EXIT;
+
+ mes "[Ses]";
+ mes "You have the items?";
+ next;
+ menu "Yes!",-,"No!",M_EXIT;
+
+ if(countitem(2278) < 1 || countitem(975) < 1) GOTO L_NOITEM;//Items: Mr. Smile, Scarlet Dyestuffs,
+ delitem 2278,1;//Items: Mr. Smile,
+ delitem 975,1;//Items: Scarlet Dyestuffs,
+ mes "[Ses]";
+ mes "Yay! thanks! Pineapple!";
+ mes "Here you go!";
+ next;
+ getitem 5077,1;//Items: Tulip Hairpin,
+ mes "[Ses]";
+ mes "Enjoy being pretty!";
+ close;
+
+L_NOITEM:
+ mes "[Ses]";
+ mes "You don't have enough items for a Tulip Hairpin!";
+ next;
+
+M_REQ:
+ mes "[Ses]";
+ mes "Well, I need...";
+ mes "1 Mr. Smile for the substance";
+ mes "and 1 scarlet Dyestuff!";
+ mes "Bring these to me for your item!";
+ close;
+
+L_NOVICE:
+ mes "I love flowers... Do you love flowers, too?";
+ close;
+
+M_EXIT:
+ mes "[Ses]";
+ mes "Okay!";
+ mes "Byeeeee!";
+ close;
+}
diff --git a/npc/quests/obb_quest.txt b/npc/quests/obb_quest.txt
new file mode 100644
index 000000000..498cc1b25
--- /dev/null
+++ b/npc/quests/obb_quest.txt
@@ -0,0 +1,197 @@
+//===== Athena Script =======================================
+//= Old Blue Box Quest
+//===== By ================================================
+//= Celesta, Lupus
+//===== Version ===========================================
+//= 1.6a
+//===== Compatible With ===================================
+//= SVN3000+
+//===== Description =======================================
+//= Official OBB Quest. You can pass it any times you want.
+//= 1.6 Updated, fixed, optimized and translated into English [Lupus]
+//= 1.6a Halved the required items to make an obb, thanks to marquis007 [MasterOfMuppets]
+//===== Description =======================================
+
+alberta.gat,115,204,5 script Tourist 97,{
+ mes "[Tourist]";
+ if(obb_quest == 1 ) goto L_YES;
+ if(obb_quest == 2 ) goto L_DONE;
+
+ mes "Hello, stranger!";
+ mes "Could you help me with kinda problem... Then I'd tell you something valuable.";
+ next;
+ mes "[Tourist]";
+ mes "I'm starving. I haven't had an apple since the morning...";
+ mes "Feed me and I'll tell you a secret.";
+ next;
+
+L_MENU:
+ menu "What do you like?",-,"I've got food.",L_FOOD, "See you later.", L_END;
+
+ mes "[Tourist]";
+ mes "Me.. I.. Today I'd like:";
+ mes "20 ^0000FFMeat^000000";
+ mes "20 ^0000FFWell-Baked Cookie^000000";
+ next;
+ goto L_MENU;
+
+L_NO_MEAT:
+ delitem 517,20;//Items: Meat,
+ mes "You know, you're lack of meat...";
+ mes "Please, bring me more...";
+ close;
+
+L_NO_COOK:
+ delitem 538,20;//Items: Well-baked_Cookie,
+ mes "Awww... I just wanna more sweeties!";
+ mes "Please, get me more cookies...";
+ close;
+
+L_FOOD:
+ mes "[Tourist]";
+ mes "Wha?! You brought all the food?";
+ mes "At last!";
+ next;
+ mes "[Tourist]";
+ if(countitem(517)<20) goto L_NO_MEAT;//Items: Meat,
+ delitem 517,20;//Items: Meat,
+ if(countitem(538)<20) goto L_NO_COOK;//Items: Well-baked_Cookie,
+ delitem 538,20;//Items: Well-baked_Cookie,
+ if(rand(10)<7) goto L_HUNGRY;
+ mes "Well... I'm sorta full.";
+ mes "Now listen to me. It's important.";
+ next;
+ mes "[Tourist]";
+ mes "A friend of mine who lives in Morroc, know one old man from Comodo...";
+ next;
+ mes "[Tourist]";
+ mes "That old man might know a secret of strange ancient blue boxes.";
+ set obb_quest, 1;
+ close;
+
+L_HUNGRY:
+ mes "I'm still hungry!";
+ mes "Is it all you got?";
+ close;
+
+L_YES:
+ mes "OK, go to Morroc and find my old pal Jacob,";
+ mes "he'll help you to trace an old man, who might keep a knowledge how to make some blue boxes...";
+ next;
+ mes "[Tourist]";
+ mes "Good luck, my friend.";
+ close;
+
+L_DONE:
+ mes "Have you made any Blue Boxes yet?";
+ next;
+ mes "[Tourist]";
+ mes "Oh... yeah, you've met that Old Greek from Comodo...";
+ close;
+
+L_END:
+ mes "[Tourist]";
+ mes "Well... farewell then.";
+ close;
+}
+
+//second part Jacob
+morocc.gat,267,142,5 script Jacob 807,{
+ mes "[Jacob]";
+ if(obb_quest == 1 ) goto L_YES;
+ if(obb_quest == 2 ) goto L_DONE;
+ mes "Get off! I'm busy!";
+ if(rand(2))mes "And it's none of your business!";
+ if(rand(2))mes "What Alberta? Huh?! Have I said it aloud? Forget it.";
+ close;
+
+L_YES:
+ mes "Aha! You say you know my old friend from Alberta?";
+ next;
+ mes "[Jacob]";
+ mes "Well, I'm gladly tell you about that weird old man if you bring me";
+ mes "2 ^0000FFNo Recipient^000000";
+ next;
+ menu "Here you are!",-,"I've changed my plans.",L_END;
+
+ mes "[Jacob]";
+ mes "Let me see...";
+ if(countitem(636)<2) goto L_NOITM;//Items: No_Recipient,
+ delitem 636,2;//Items: No_Recipient,
+ mes "Thank you, that's all I need.";
+ emotion 15;
+ next;
+ mes "[Jacob]";
+ set obb_quest, 2;
+L_DONE:
+ mes "Go to Comodo. Somewhere on the beach you'll find Old Greek.";
+ mes "Tell me that you know me and he'll help you.";
+ close;
+
+L_NOITM:
+ mes "Pardon, but I do really need these two ^0000FFNo Recipients^000000.";
+ emotion 20;
+ close;
+
+L_END:
+ mes "[Jacob]";
+ mes "Well, good luck.";
+ close;
+}
+
+//third part
+comodo.gat,41,209,5 script Old Greek 120,{
+ mes "[Old Greek]";
+ if(obb_quest == 2 ) goto L_YES;
+ if(obb_quest < 2 ) goto L_LOST;
+
+L_LOST:
+ mes "The KNOWLEDGE! That's the key, my child...";
+ if(rand(2))mes "Wealth doesn't matter.";
+ close;
+
+L_YES:
+ mes "Huh? Jacob send you?";
+ mes "OK, OK... It's true, I still can use old blue prints to make";
+ mes "an ^0000FF Old Blue Box^000000";
+ next;
+
+L_MENU:
+ menu "Make me one.",L_CREATE,"What do you need?",-,"Gooodbye.",L_END;
+
+ mes "[Old Greek]";
+ mes "For an Old Blue Box I need:";
+ mes "50 ^0000FFCyfars^000000";
+ mes "10 ^0000FFBrigans^000000";
+ mes "10 ^0000FFClam Shells^000000";
+ mes "15 ^0000FFCrab Shells^000000";
+ next;
+ goto L_MENU;
+
+L_CREATE:
+ mes "[Old Greek]";
+ mes "Let's see... What have you got...";
+ next;
+L_CREATE2:
+ if(countitem(7053)<50 || countitem(7054)<10 || countitem(965)<10 || countitem(964)<15) goto L_NO;//Items: Cyfar, Brigan, Clam_Shell, Crab_Shell,
+ delitem 7053,50;//Items: Cyfar,
+ delitem 7054,10;//Items: Brigan,
+ delitem 965,10;//Items: Clam_Shell,
+ delitem 964,15;//Items: Crab_Shell,
+ getitem 603,1;//Items: Old_Blue_Box,
+ mes "[Old Greek]";
+ mes "Here's your Box!";
+ emotion 21;
+ next;
+ menu "Make another!",L_CREATE2, "It's enough.",-;
+
+L_END:
+ mes "[Old Greek]";
+ mes "I wish you happy journey, my child.";
+ close;
+
+L_NO:
+ mes "[Old Greek]";
+ mes "Alas, my child. You haven't brought enough materials...";
+ close;
+}
diff --git a/npc/quests/quests_alberta.txt b/npc/quests/quests_alberta.txt
new file mode 100644
index 000000000..42b339598
--- /dev/null
+++ b/npc/quests/quests_alberta.txt
@@ -0,0 +1,673 @@
+//===== eAthena Script =======================================
+//= Items Quest NPC's located in Alberta
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena 1.0
+//===== Description: =========================================
+//= Dolls Quest
+//= Boy's Cap Quest
+//= Antlers Quest
+//= Bao Bao, Cresent Hairpin, Fashionbale Glasses, Heart Hairpin Quests
+//= Hat of Sun God, Sunday Hat, Mage Hat, Magician Hat Quests
+//===== Additional Comments: =================================
+//= Fully working
+//= 1.1 Fixed Spore Doll exploit [Lupus], 1.2 Gramp's Tiger skin label bug
+//= 1.3 Fixed item ID 7031 -> 7013
+//= 1.4 Fixed a bug, Fixed Exploits, Optimized [Lupus]
+//============================================================
+
+
+
+//=======================================================================================================//
+// Doll Quest
+//=======================================================================================================//
+alberta.gat,117,134,8 script Elin 96,{
+ mes "[Elin]";
+ if(Sex == 0) mes "Hello, miss. Since you're a girl, you must like dolls, don't you?";
+ if(Sex == 1) mes "Hello, mister. Hmm, since you're a boy, you don't like dolls, do you?";
+ next;
+ mes "[Elin]";
+ mes "I LOVE dolls!!";
+ emotion 14;
+ next;
+ mes "[Elin]";
+ mes "Ya know..... I REALLY, REALLY, want a new doll. I hope daddy is going to buy me one for my birthday.....";
+ next;
+ menu "Aww, you must be happy...",-,"How about I give you one now?",M_2;
+
+ mes "[Elin]";
+ mes "Yeah, this time I'm hoping for a Yoyo doll. Hehe, they're so cute! They're my FAVORITE!";
+ emotion 33;
+ close;
+ M_2:
+ mes "[Elin]";
+ mes "Oh my goodness! Really?? You're such a sweetie.... gimme, gimme!!";
+ mes "What kinda doll are you going to give me? Are you really gonna give me one?";
+ emotion 0;
+ next;
+ menu "Puppet",-,"Poring doll",sM_2,"Chonchon doll",sM_3,"Rocker doll",sM_4, "Spore doll",sM_5,
+ "Osiris doll",sM_6,"Baphomet doll",sM_7,"Racoon doll",sM_8,"Yoyo doll",sM_9, "I am as adorable as a doll!",sM_10;
+
+ if(countitem(740) < 1) goto L_Liar;
+ delitem 740,1;
+ mes "[Elin]";
+ mes "Wow--! It's a rabbit! It's SOOOO cute!! Thank you SOOO much!";
+ emotion 14;
+ next;
+ mes "[Elin]";
+ mes "It's SOOO fluffy... Oh yeah! Let me give you a present too!";
+ next;
+ mes "(diggs around in her pockets)";
+ next;
+ mes "[Elin]";
+ mes "Ummm ... found it! Here take this!";
+ next;
+ getitem 530,1;
+ mes "[Elin]";
+ mes "I got this from Santa. It's a candy cane~";
+ next;
+ mes "[Elin]";
+ mes "Thanks again for the rabbit doll! I'm gonna HUG this to sleep EVERY night~";
+ emotion 15;
+ close;
+
+ sM_2:
+ if(countitem(741) < 1) goto L_Liar;
+ delitem 741,1;
+ mes "[Elin]";
+ mes "Yay! It's a poring doll! It's SOOOO cute! Since you gave me a doll I'll give you this....";
+ emotion 14;
+ next;
+ getitem 529,1;
+ mes "[Elin]";
+ mes "Thank you for the doll!";
+ emotion 15;
+ close;
+
+ sM_3:
+ if(countitem(742) < 1) goto L_Liar;
+ delitem 742,1;
+ mes "[Elin]";
+ mes "Ew whats this?.... a Chonchon ... doll? ...";
+ emotion 16;
+ next;
+ mes "[Elin]";
+ mes "Oh well, since you're giving it to me, I guess it's ok ....";
+ next;
+ mes "[Elin]";
+ mes "Well here's a little something for giving me the doll. Don't eat too much or you'll get cavities.";
+ getitem 530,1;
+ next;
+ mes "[Elin]";
+ mes ".... chonchon.... (~grumble, grumble~)";
+ emotion 7;
+ close;
+
+ sM_4:
+ if(countitem(752) < 1) goto L_Liar;
+ delitem 752,1;
+ mes "[Elin]";
+ mes "Oh! a Rocker doll. I hate hopping things but this doll's kinda cute.";
+ next;
+ mes "[Elin]";
+ mes "Thank you. Let me give you something too.";
+ next;
+ mes "[Elin]";
+ mes "Hmm, didn't I get some stuff from my uncle ...";
+ next;
+ mes "[Elin]";
+ mes "Here it is. We've got tons of it at home so I'll share some with you~";
+ getitem 532,7;
+ next;
+ mes "[Elin]";
+ mes "Thanks again for the doll!";
+ emotion 15;
+ close;
+
+ sM_5:
+ if(countitem(743) < 1) goto L_Liar;
+ delitem 743,1;
+ mes "[Elin]";
+ mes "Blehh .... It's a mushroom... Mom's always scolding me for not eating mushrooms ...";
+ emotion 4;
+ next;
+ mes "[Elin]";
+ mes "I'll take it anyway, since the doll looks cute. But I still won't eat mushrooms though ...";
+ next;
+ mes "[Elin]";
+ mes "Hmm, I'll need to give you a present too.";
+ next;
+ mes "[Elin]";
+ mes "My mom made this so please take it.";
+ getitem 538,5;
+ next;
+ mes "[Litte Kid]";
+ mes "Thank you for the doll~";
+ emotion 15;
+ close;
+
+ sM_6:
+ if(countitem(751) < 1) goto L_Liar;
+ delitem 751,1;
+ mes "[Elin]";
+ mes "Yay! It's an Osiris doll!";
+ next;
+ mes "[Elin]";
+ mes "Here's something for you too.";
+ getitem 522,2;
+ mes "[Elin]";
+ mes "Thank you for the doll!";
+ close;
+
+ sM_7:
+ if(countitem(750) < 1) goto L_Liar;
+ delitem 750,1;
+ mes "[Elin]";
+ mes "Yay! It's a Baphomet doll!";
+ next;
+ mes "[Elin]";
+ mes "Here's something for you too.";
+ getitem 525,5;
+ mes "[Elin]";
+ mes "Thank you for the doll!";
+ emotion 15;
+ close;
+
+ sM_8:
+ if(countitem(754) < 1) goto L_Liar;
+ delitem 754,1;
+ mes "[Elin]";
+ mes "Ah, it's a Smokie doll. I hate Smokies, but the doll's really cute! Thank you!";
+ emotion 33;
+ next;
+ mes "[Elin]";
+ mes "Let me give you some of Grandma's home-made cake!";
+ getitem 539,3;
+ next;
+ mes "[Elin]";
+ mes "They're really good so make sure you eat them ok.";
+ next;
+ mes "[Elin]";
+ mes "Thanks again for this cute doll!";
+ emotion 15;
+ close;
+
+ sM_9:
+ if(countitem(753) < 1) goto L_Liar;
+ delitem 753,1;
+ mes "[Elin]";
+ mes "WOW--!!! OH MY GOSH! It's a Yoyo doll! This is what I REALLY wanted!! It's SOOOO cute......";
+ emotion 14;
+ next;
+ mes "[Elin]";
+ mes "As a thank you, I'll give you this.";
+ getitem 608,1;
+ next;
+ mes "[Elin]";
+ mes "Dad picked them up during his travels. It's a seed of some kind.";
+ mes "We tried planting them at home, but it doesn't seem to grow.";
+ next;
+ mes "[Elin]";
+ mes "Anyway, thank you SOOO MUCH for the Yoyo doll!!!!";
+ emotion 15;
+ close;
+
+ sM_10:
+ mes "[Elin]";
+ mes "BLAAAAAAAAHHH!! Don't make fun of me cuz I'm young!";
+ emotion 32;
+ next;
+ mes "[Elin]";
+ mes "(mumbles) .....'stupid'.....";
+ close;
+
+ L_Liar:
+ mes "[Elin]";
+ mes "HEY!! You don't have any dolls... I can't believe you would lie to a little kid!!!";
+ emotion 0;
+ next;
+ mes "[Elin]";
+ mes "You're a MEANIE!! I HATE YOU!!!..... sniff... sniff.... Waaaaaaaaaaaaaaaaaaaahhhhhh!!";
+ emotion 28;
+ close;
+}
+
+
+//=======================================================================================================//
+// Boy's Cap' Quest
+//=======================================================================================================//
+alberta_in.gat,28,145,4 script Grampa 120,{
+ mes "[Grampa]";
+ mes "Gasp ..Gasp";
+ next;
+ mes "[Grampa]";
+ mes "When I look back on my younger days... I regret not making better use of my time...";
+ next;
+ mes "[Grampa]";
+ mes "Even so I STILL feel young at heart..... unfortunately my body is very old and is in poor condtion...... Cough !! Cough .. !!";
+ next;
+ if(countitem(1030) >= 10) menu "Talk.",M_Talk, "Show him Tiger's Footskin.",M_Show, "Cancel.",M_End;
+ menu "Talk",M_Talk, "Cancel",M_End;
+
+ M_Talk:
+ mes "[Grampa]";
+ mes "Listen to me..... You must take care of your body as best you can....";
+ mes "If you aren't serious about staying healthy now..... you will surely regret it as you get older.";
+ next;
+ mes "[Grampa]";
+ mes "I've tried to restore my body to its youthful, healthy state with all of the best herbs and medicines that money can buy....";
+ next;
+ mes "[Grampa]";
+ mes "Not only have none of them worked, but their emense cost have made me bankurpt!";
+ next;
+ mes "[Grampa]";
+ mes "I have all but given up on trying to restore my youth.... there IS still one last thing I have not yet tried.....";
+ next;
+ mes "[Grampa]";
+ mes "It is the ^3355FFTiger's Footskin^000000, the legendary king of rejuvination!!";
+ emotion 0;
+ next;
+ mes "[Grampa]";
+ mes "Have you heard of the Tiger's Footskin???.....";
+ emotion 1;
+ next;
+ mes "[Grampa]";
+ mes "Just by LOOKING at it, your white hair turns Black again! By SMELLING it, your reflexes become 10x faster!";
+ mes "And just a single TASTE can turn and 80 year old man.... INTO AN 18 BOY!!!!";
+ next;
+ mes "[Grampa]";
+ mes "It truely is amazing! Ah, if I could only get my hands on some Tiger's Footskin.... my wishes would at last come true.....";
+ next;
+ mes "[Grampa]";
+ mes "For whoever brings me ^5555FF10 Tiger's Footskins^000000, I would gladly give that person my precious ^3355FFBoys Cap^000000.";
+ close;
+
+ M_Show:
+ mes "[Grampa]";
+ mes "Ohhh !! Th-This is the... this is the legendary.... TIGERS FOOTSKIN!!";
+ next;
+ mes "[Grampa]";
+ mes "Just by LOOKING at it, your white hair turns Black again! By SMELLING it, your reflexes become 10x faster!";
+ mes "And just a single TASTE can turn and 80 year old man.... INTO AN 18 BOY!!!!";
+ next;
+ mes "[Grampa]";
+ mes "It is the real Tiger's Footskin !! In my wildest dreams I never thought...... P-P-Please.... I beg you.... let me have it.....";
+ next;
+ menu "-Give him the Tiger's Footskin.",-, "Walk away.", sM_End;
+
+ mes "[Grampa]";
+ if(countitem(1030) < 10) goto L_NoItems;
+ delitem 1030,10;
+ getitem 5016,1;
+ mes "T-Thank YOU!! Thank you SO VERY MUCH!!";
+ emotion 15;
+ next;
+ mes "[Grampa]";
+ mes "Now my body can be reinvigorated!!! I will eat it right away!";
+ close;
+
+ L_NoItems:
+ mes "Get off damn cheater!!!";
+ emotion e_bzz;
+ close;
+
+ sM_End:
+ mes "[Grampa]";
+ mes "H-He-Hey!! Young one!! W-Wa-it! Please.... come back... I beg you.... come... back.... ooohh... foot.... sk... i... n....";
+ close;
+
+ M_End:
+ mes "[Grampa]";
+ mes "Cough Cough !! .. Tiger ....Tiger's ..... Foot ..... skin .....Cough Cough !!";
+ close;
+
+
+}
+
+
+//=======================================================================================================//
+// Antlers Quest
+//=======================================================================================================//
+alberta_in.gat,122,53,4 script Cherokee 47,{
+ mes "[Cherokee]";
+ mes "Hey there, I am a Horn Collector. Sounds great, huh?";
+ next;
+ mes "[Cherokee]";
+ mes "What do you think about Animal horns? I think they are very valuable and are well worth collecting.";
+ mes "You can wear them on your head, or even decorate your house with them.";
+ next;
+ mes "[Cherokee]";
+ mes "You know.... there has been a particular horn that I have not been able to find. It is the ^5555FF'Evil Horn '^000000..";
+ next;
+ mes "[Cherokee]";
+ mes "Some say that an Evil Horn is really not an animal's horn, but one that comes from a Devil!";
+ mes "Even so, I really wish I could get my hands on one.";
+ next;
+ mes "[Cherokee]";
+ mes "Say.... do you have any ^5555FF'Evil Horns'^000000?";
+ mes "If you offer me ^5533FF20 Evil Horns^000000, I will give you my precious and famed, ^FF3355'Antlers'^000000. Is it a deal?";
+ next;
+ menu "You got it!",-, "Shut up Dumbo.",M_End;
+
+ mes "[Cherokee]";
+ if(countitem(923) < 20) goto L_NotEnuf;
+ delitem 923,20;
+ mes "Whoah~! This is the first time I've ever seen a real ^3355FF'Evil Horn'^000000!!";
+ emotion 5;
+ next;
+ mes "[Cherokee]";
+ mes "Thank you! Here are the Antlers just as I promised you!";
+ emotion 15;
+ getitem 2284,1;
+ next;
+ mes "[Cherokee]";
+ mes "With your great help I was finally able to realize my long time dream. I appreciate what you have done! God Bless You ..";
+ close;
+
+ L_NotEnuf:
+ mes "Hmm.... like I said, I need ^FF5533'20 Evil Horns'^000000.";
+ close;
+
+ M_End:
+ mes "[Cherokee]";
+ mes "Well aren't you a rude person.... I will forgive you however, seeing as we will meet again, I'm sure....";
+ close;
+}
+
+
+//=======================================================================================================//
+// Bao Bao, Cresent Hairpin, Fashionbale Glasses, Heart Hairpin
+//=======================================================================================================//
+alberta.gat,120,53,3 script Zic 51,{
+ mes "[Zic]";
+ mes "Yay! A cool breeze! That's why I love the sea!!";
+ emotion 2;
+ next;
+ mes "[Zic]";
+ mes "Huh?... Do you have any business with me? You came to me because I'm a merchant right?";
+ emotion 20;
+ next;
+ mes "[Zic]";
+ mes "~Sigh!~ I get tired of my reputation.... I can't get any peace or quite around here.....";
+ next;
+ mes "[Zic]";
+ mes "So what do you wanna get? Tell me, tell me! It's so easy to guess what you want.....";
+ next;
+ menu "-Bao Bao",-, "-Cresent Hairpin",M_1, "-Fashionable Glasses",M_2, "-Heart Hairpin",M_3;
+
+ mes "[Zic]";
+ mes "To make a Bao Bao I will need:"; //5042
+ mes "- ^5555FF1 Silk Ribbon^000000,"; //10007
+ mes "- ^5555FF50 Herioc Emblems^000000."; //968
+ next;
+ mes "[Zic]";
+ mes "Would you like me to make you one?";
+ next;
+ menu "Sure.",-, "No thanks.",M_End;
+
+ if (countitem(10007)<1 || countitem(968)<50) goto sL_NotEnuf;
+ delitem 10007, 1;
+ delitem 968, 50;
+ mes "[Zic]";
+ mes "Please wait while I make your Bao Bao......";
+ next;
+ mes "[Zic]";
+ mes "There you are, one Bao Bao. Enjoy.";
+ getitem 5042, 1;
+ close;
+ M_1:
+ mes "[Zic]";
+ mes "To make a Cresent Hairpin I will need:"; //5048
+ mes "- ^5555FF1 Heart Hair Pin^000000,"; //5041
+ mes "- ^5555FF10 Steel^000000."; //999
+ next;
+ mes "[Zic]";
+ mes "Would you like me to make you one?";
+ next;
+ menu "Sure.",-, "No thanks.",M_End;
+
+ if (countitem(5041)<1 || countitem(999)<10) goto sL_NotEnuf;
+ delitem 5041, 1;
+ delitem 999, 10;
+ mes "[Zic]";
+ mes "Please wait while I make your Cresent Hairpin......";
+ next;
+ mes "[Zic]";
+ mes "There you are, one Cresent Hairpin. Enjoy.";
+ getitem 5048, 1;
+ close;
+ M_2:
+ mes "[Zic]";
+ mes "To make a pair of Fashionable Glasses I will need:"; //5047
+ mes "- ^5555FF1 Jack a Dandy^000000,"; //2271
+ mes "- ^5555FF1 Scarlet Dyestuffs^000000."; //975
+ next;
+ mes "[Zic]";
+ mes "Would you like me to make you one?";
+ next;
+ menu "Sure.",-, "No thanks.",M_End;
+
+ if (countitem(2271)<1 || countitem(975)<1) goto sL_NotEnuf;
+ delitem 2271, 1;
+ delitem 975, 1;
+ mes "[Zic]";
+ mes "Please wait while I make your Fashionable Glasses......";
+ next;
+ mes "[Zic]";
+ mes "There you are, one Fashionable Glasses. Enjoy.";
+ getitem 5047, 1;
+ close;
+ M_3:
+ mes "[Zic]";
+ mes "Are you sure you want a simple item like this? Oh well... To make a Heart Hairpin I will need:"; //5041
+ mes "- ^5555FF1200 Coral Reefs^000000."; //7013
+ emotion 20;
+ next;
+ mes "[Zic]";
+ mes "Would you like me to make you one?";
+ next;
+ menu "Sure.",-, "No thanks.",M_End;
+
+ if (countitem(7013)<1200) goto sL_NotEnuf;
+ delitem 7013, 1200;
+ mes "[Zic]";
+ mes "Please wait while I make your Hear Hairpin......";
+ next;
+ mes "[Zic]";
+ mes "There you are, one Heart Hairpin. Enjoy.";
+ getitem 5041, 1;
+ close;
+
+ sL_NotEnuf:
+ mes "[Zic]";
+ mes "Hmm.... you don't have enough items for me to make it. Come back some other time.";
+ close;
+
+ M_End:
+ mes "[Zic]";
+ mes "See ya around.";
+ close;
+}
+
+
+//=======================================================================================================//
+// Hat of Sun God, Sunday Hat, Mage Hat, Magician Hat
+//=======================================================================================================//
+alberta.gat,135,79,3 script Tempestra 71,{
+ mes "[Tempestra]";
+ mes "Ah...... Such a cool breeze. It's good to be next to the sea. I think it was the right choice for me to take a break from my business and come here.";
+ emotion 2;
+ if(TEMPESTRA == 1) goto sM_Menu;
+ next;
+ mes "[Tempestra]";
+ mes "Oh the sun is so bright today. I'm glad I brought my hat. If my skin is exposed to the sun like this everyday, I'm sure to get a sunburn.";
+ next;
+ mes "[Tempestra]";
+ mes "Boy, the heat is making me thirsty. Nothing would be better right now, than sipping on a perfectly chilled yellow potion.....";
+ next;
+ menu "Here you go, my treat.",-, "Then go get one, sheesh....",M_1;
+
+ if(countitem(503) < 1) goto L_NoPot;
+ delitem 503, 1;
+ set TEMPESTRA, 1;
+ mes "[Tempestra]";
+ mes "Oooh! Thank you so much. I'm so glad to meet such a friendly person here....";
+ emotion 15;
+ next;
+ mes "[Tempestra]";
+ mes "(~gulp~gulp~)";
+ next;
+ mes "[Tempestra]";
+ mes "Hyaaaaaaa!! It's sooo cold!! Thank you.";
+ sM_Menu:
+ next;
+ menu "The weather is really hot, isn't it...",-, "You should wear a hat.",sM_1;
+
+ mes "[Tempestra]";
+ mes "Yes, it's very hot indeed.....";
+ next;
+ mes "[Tempestra]";
+ mes "Luckly I brought a lot of hats along. I have";
+ mes "a ^5555FF'Sunday Hat'^000000,";
+ mes "a ^5555FF'Mage Hat'^000000,";
+ mes "a ^5555FF'Magician Hat'^000000, and more in my room...";
+ next;
+ mes "[Tempestra]";
+ mes "I brought these hats with me so that I could sell them and use the money I made for my vacation expenses....";
+ mes "but now it looks like I'll have to wear one.....";
+ ssM_Menu:
+ next;
+ menu "Sunday Hat?",-, "Mage Hat?",ssM_0b, "Magician Hat?",ssM_0c, "End Conversation.",ssM_End;
+
+ mes "[Tempestra]";
+ mes "A Sunday Hat is made up of:";
+ mes "- ^5555FF250 Fabric^000000,";
+ mes "- ^5555FF1 Slotted Hat^000000,";
+ mes "- ^5555FF1 Slotted Cap^000000,";
+ mes "- ^5555FF600 Soft Feathers^000000.";
+ mes "If you want, I can make one for you. Just bring me all of those items.";
+ next;
+ menu "Make one for me.",-, "Cancel",ssM_End;
+
+ if (countitem(1059)<250 || countitem(2221)<1 || countitem(2227)<1 || countitem(7063)<600) goto ssM_Menu;
+ delitem 1059, 250;
+ delitem 2221, 1;
+ delitem 2227, 1;
+ delitem 7063, 600;
+ mes "[Tempestra]";
+ mes "Please wait just a moment while I make it........";
+ next;
+ getitem 5032, 1;
+ mes "[Tempestra]";
+ mes "All done... one Sunday Hat just for you. Thank you and come back any time.";
+ emotion 15;
+ close;
+ ssM_0b:
+ mes "[Tempestra]";
+ mes "A Mage Hat is made up of:";
+ mes "- ^5555FF1 Wizard Hat^000000,";
+ mes "- ^5555FF400 Dragon Scales^000000,";
+ mes "- ^5555FF50 Mould Powder^000000,";
+ mes "- ^5555FF1 Elder Wilow Card^000000.";
+ mes "If you want, I can make one for you. Just bring me all of those items.";
+ next;
+ menu "Make one for me.",-, "Cancel",ssM_End;
+
+ if (countitem(2252)<1 || countitem(1036)<400 || countitem(7001)<50 || countitem(4052)<1) goto ssM_Menu;
+ delitem 2252, 1;
+ delitem 1036, 400;
+ delitem 7001, 50;
+ delitem 4052, 1;
+ mes "[Tempestra]";
+ mes "Please wait just a moment while I make it........";
+ next;
+ getitem 5027, 1;
+ mes "[Tempestra]";
+ mes "All done... one Mage Hat just for you. Thank you and come back any time.";
+ emotion 15;
+ close;
+ ssM_0c:
+ mes "[Tempestra]";
+ mes "A Magician Hat is made up of:";
+ mes "- ^5555FF1 Wizard Hat^000000,";
+ mes "- ^5555FF450 Ancient Lips^000000,";
+ mes "- ^5555FF1200 Solid Shells^000000,";
+ mes "If you want, I can make one for you. Just bring me all of those items.";
+ next;
+ menu "Make one for me.",-, "Cancel",ssM_End;
+
+ if (countitem(2252)<1 || countitem(1054)<450 || countitem(943)<1200) goto ssM_Menu;
+ delitem 2252, 1;
+ delitem 1054, 450;
+ delitem 943, 1200;
+ mes "[Tempestra]";
+ mes "Please wait just a moment while I make it........";
+ next;
+ getitem 5045, 1;
+ mes "[Tempestra]";
+ mes "All done... one Magician just for you. Thank you and come back any time.";
+ emotion 15;
+ close;
+ ssM_End:
+ close;
+
+ sM_1:
+ mes "[Tempestra]";
+ mes "Oh but the hats I have are for sale.... if I use them for myself I won't be able to sell them to my customers.";
+ next;
+ mes "[Tempestra]";
+ mes "Because you gave me the potion, I would like to make something for you. Unfortuately I don't have any materials right now.";
+ next;
+ mes "[Tempestra]";
+ mes "Hmm... If you have:";
+ mes "^5555FF1 Amblem of the Sun God";
+ mes "10 Gold";
+ mes "40 Steel";
+ mes "50 Coal";
+ mes "and 2 Oridecon^000000..........";
+ next;
+ mes "[Tempestra]";
+ mes "I can make you a ^5555FF'Hat of the Sun God'^000000!! It's a fantastic piece of work! How's that sound?";
+ next;
+ menu "Alright.",-, "Not right now thanks.",ssM_1b;
+
+ if(countitem(7086)<1 || countitem(969)<10 || countitem(999)<40 || countitem(1003)<50 || countitem(984)<2) goto ssL_NotEnuf;
+ delitem 7086, 1;
+ delitem 969, 10;
+ delitem 999, 40;
+ delitem 1003, 50;
+ delitem 984, 2;
+ mes "[Tempestra]";
+ mes "Please wait just a moment while I make it........";
+ next;
+ getitem 5022, 1;
+ mes "[Tempestra]";
+ mes "All done... one Hat of the Sun God just for you. Thank you again for the potion, and please come back any time.";
+ emotion 15;
+ close;
+
+ ssL_NotEnuf:
+ mes "[Tempestra]";
+ mes "Um.... where are those items exactly???";
+ emotion 20;
+ close;
+ ssM_1b:
+ mes "[Tempestra]";
+ mes "Come back anytime when you've changed your mind.";
+ close;
+
+ L_NoPot:
+ mes "[Tempestra]";
+ mes "Umm... excuse me but.... where is the potion??";
+ emotion 20;
+ close;
+
+ M_1:
+ mes "[Tempestra]";
+ mes "..... How RUDE!!";
+ emotion 0;
+ close;
+}
diff --git a/npc/quests/quests_aldebaran.txt b/npc/quests/quests_aldebaran.txt
new file mode 100644
index 000000000..95f6dcca0
--- /dev/null
+++ b/npc/quests/quests_aldebaran.txt
@@ -0,0 +1,92 @@
+//===== eAthena Script =======================================
+//= Item Quest NPCs located in Aldebaran
+//===== By: ==================================================
+//=
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= 'Doctor Band', 'Feather Bonnet', 'Opera Masque', 'Sakkat Hat' Quests.
+//===== Additional Comments: =================================
+//= Fully working
+//= 1.1 Fixed Doctor Band items [Lupus]
+//============================================================
+
+
+//=======================================================================================================//
+// 'Doctor Band', 'Feather Bonnet', 'Opera Masque', 'Sakkat Hat' Quest
+//=======================================================================================================//
+aldeba_in.gat,152,166,4 script Trader 86,{
+ mes "[Trader]";
+ mes "Muhahaha! I am the Very Famous Enigmatic Dealer! I am always hustling and bustling in and out of Rune Midgard!";
+ mes "Take a look at my RARE and UNIQUE items from ALL OVER the WORLD!!";
+ next;
+ mes "(1) · ^3355FFDoctor Band^000000 :";
+ mes "^FF55331 Red Bandana + 50 Iron + 1 Cracked Diamond + 3500 Zeny^000000.";
+ mes "(2) · ^3355FFFeather Bonnet^000000 :";
+ mes "^FF55331 Romantic Gent + 300 Feather of Birds + 500 Zeny^000000.";
+ mes "(3) · ^3355FFOpera Masque^000000 :";
+ mes "^FF553320 Iron + 1 Singing Plant + 5000 Zeny^000000.";
+ mes "(4) · ^3355FFSakkat Hat^000000 :";
+ mes "^FF5533120 Trunk + 10000 Zeny^000000.";
+ next;
+ menu "Doctor Band",-, "Feather Bonnet",M_1, "Opera Masque",M_2, "Sakkat",M_3;
+
+ mes "[Trader]";
+ if(countitem(2275) == 0 || countitem(998) < 50 || countitem(733) == 0 || Zeny < 3500) goto L_CantMake;
+ delitem 2275,1;//Items: Red Bandana,
+ delitem 998,50;//Items: Iron,
+ delitem 733,1;//Items: Cracked deamond
+ set Zeny,Zeny - 3500;
+ mes "Hmm.... Do you have a.... MEDICAL LICENSE?!";
+ emotion 1;
+ next;
+ mes "[Trader]";
+ mes "I've heard about a well-known unlicensed physician 'Cuwaki'... I hope you don't get caught....";
+ mes "Anyways it's your own buisness what you do... Take this.";
+ getitem 2273,1;//Items: Doctor Band,
+ close;
+ M_1:
+ mes "[Trader]";
+ if(countitem(2247) == 0 || countitem(916) < 300 || Zeny < 500) goto L_CantMake;//Items: Romantic Gent, Feather of Birds,
+ delitem 2247,1;//Items: Romantic Gent,
+ delitem 916,300;//Items: Feather of Birds,
+ set Zeny,Zeny - 500;
+ mes "Umhahaha. You have good fashion sense. I know you had a hard time collecting these items, but this bonnet is definately worth it. Take it.";
+ emotion 18;
+ getitem 5018,1;//Items: Feather Bonnet,
+ close;
+ M_2:
+ mes "[Trader]";
+ if(countitem(998) < 20 || countitem(707) == 0 || Zeny < 5000) goto L_CantMake;//Items: Iron, Singing Plant,
+ delitem 998,20;//Items: Iron,
+ delitem 707,1;//Items: Singing Plant,
+ set Zeny,Zeny - 5000;
+ mes "This is a pretty nice item. A little bit creepy looking though.... I think it gives off some kinda weird vibe. What do you think?";
+ next;
+ mes "[Trader]";
+ mes ".. You like it ..Alright.. Take it!";
+ getitem 2281,1;//Items: Opera Masque,
+ close;
+ M_3:
+ mes "[Trader]";
+ if(countitem(1019) < 120 || Zeny < 10000) goto L_CantMake;//Items: Trunk,
+ delitem 1019,120;//Items: Trunk,
+ set Zeny,Zeny - 10000;
+ mes "If you have a chance to visit the Village of Payon, please go meet the Sakkat Craftsman.";
+ mes "He's never sold a Sakkat to any other dealer but to me.";
+ next;
+ mes "[Trader]";
+ mes "Because only I can recognize a Sakkat hats' quality. Due to the fact that it's so rare, the Sakkat Hat has become a very popular item!";
+ next;
+ mes "[Trader]";
+ mes "OK! Take it!";
+ getitem 2280,1;//Items: Sakkat,
+ close;
+
+ L_CantMake:
+ mes "You, fool! Check the requirements again..... you're not some kinda idiot are you? C'mon..... give me a break.";
+ emotion 6;
+ close;
+}
diff --git a/npc/quests/quests_ayothaya.txt b/npc/quests/quests_ayothaya.txt
new file mode 100644
index 000000000..bd749c177
--- /dev/null
+++ b/npc/quests/quests_ayothaya.txt
@@ -0,0 +1,320 @@
+//===== Athena Script =======================================
+//= Ayothaya Quests
+//===== By ================================================
+//= Fredzilla
+//===== Version ===========================================
+//= 1.4
+//===== Compatible With ===================================
+//= eAthena 1.0
+//===== Description =======================================
+//= 1 Quests with 2 parts for Ayothaya
+//===== Comments ==========================================
+//= List or Variables used
+//= @fishing - Checks for if you have caught a fish or not,
+//= 1/10 chance you will get the wedding ring if
+//= you have started that quest.
+//= weddingring - Signifies the start of the wedding ring
+//= quest, and used throughout to keep track of
+//= progress.
+//= recoveredring - Signifies you have retrieved the ring
+//= and therefore can't just drop the ring and
+//= get the same quest again.
+//= 1.0 - First Release, made with infomation from RagnaInfo
+//= 1.1 - added anti-novice protection [Lupus]
+//= 1.3 - Fixed exploit [Lupus]
+//= 1.4 Updated, more close to the official. Thanks to birkiczd
+//= Also optimized it again, remove unused global variable [Lupus]
+//=========================================================
+
+ayo_dun02.gat,277,178,1 script OBB 139,4,4,{
+ if(AyoOBB==1 || weddingring!=3) end;
+ mes "["+strcharinfo(0)+"]";
+ mes "Huh what is this?, not foot prints, this is an Old Blue coloured Box";
+ next;
+ set AyoOBB,1;
+ getitem 603,1;
+ logmes "Q_AYOTH1: got OBB";
+ mes "["+strcharinfo(0)+"]";
+ mes "I think I will keep it";
+ close;
+}
+//Dungeon 1 foot prints x 5
+ayo_dun01.gat,30,149,1 script Clue 139,5,5,{
+ if(weddingring!=3) end;
+ npctalk "There are some foot prints here, they head off to the East.";
+ set @footprints1,1;
+ close;
+}
+ayo_dun01.gat,70,149,1 script Clue 139,5,5,{
+ if(weddingring!=3) end;
+ npctalk "There are some more foot prints, they are heading off to the East too!";
+ set @footprints2,1;
+ close;
+}
+ayo_dun01.gat,100,149,1 script Clue 139,5,5,{
+ if(weddingring!=3) end;
+ npctalk "More foot prints heading to the East, who do they belong too?";
+ set @footprints3,1;
+ close;
+}
+ayo_dun01.gat,190,149,1 script Clue 139,5,5,{
+ if(weddingring!=3) end;
+ npctalk "More foot prints, but these are going North.";
+ set @footprints4,1;
+ close;
+}
+ayo_dun01.gat,261,263,1 script Clue 139,5,5,{
+ if(weddingring!=3) end;
+ npctalk "There are some foot prints, they seem to head into that hole there.";
+ set @footprints5,1;
+ close;
+}
+
+//Dungeon 2 foot prints x 4 + 1 fake
+ayo_dun02.gat,222,204,1 script Clue 139,5,5,{
+ if(weddingring!=3) end;
+ npctalk "Yet more foot prints, they are either going South or West.";
+ set @footprints6,1;
+ close;
+}
+ayo_dun02.gat,169,212,1 script Clue 139,5,5,{
+ if(weddingring!=3) end;
+ npctalk "Looks like there are foot print going to the West.";
+ set @footprints7,1;
+ close;
+}
+ayo_dun02.gat,129,212,1 script Clue 139,5,5,{
+ if(weddingring!=3) end;
+ npctalk "Ok these foot prints are either going to the North or West.";
+ set @footprints8,1;
+ close;
+}
+ayo_dun02.gat,79,212,1 script Clue 139,7,7,{
+ if(weddingring!=3) end;
+ npctalk "These are very new, they are going North.";
+ set @footprints9,1;
+ close;
+}
+//FAKE
+ayo_dun02.gat,245,166,1 script Clue 139,7,7,{
+ if(weddingring!=3) end;
+ npctalk "Seems something came by this way, to the East.";
+ close;
+}
+
+ayothaya.gat,233,105,7 script Shuda 838,{
+ mes "[Shuda]";
+ if(BaseLevel<50) {
+ mes "Where is my ring!?!";
+ close;
+ }
+ if(weddingring==2) goto L_Quest2;
+ if(weddingring==3) goto L_OnQ2;
+ if(weddingring==4) goto L_QuestComplete;
+ if(weddingring==5) goto L_QuestOver;
+ if(countitem(7288)>=1) goto L_RingFound;
+ mes "Oh please wont you help me, my partner has gone missing, but not before droping our ^FF0000Engagement Ring^000000 maybe there is a way of ^0000FFfishing^000000 it out of the sea.";
+ set weddingring,1;
+ close;
+L_RingFound:
+ mes "Oh is that my ring!?!";
+ next;
+ mes "[Shuda]";
+ mes "Can I please have it back?";
+ next;
+ menu "Yes, here you go",N_Yes,"No, I found it, it's mine",-;
+ mes "[Shuda]";
+ mes "Think what you want, but that ring is mine, and without it I can never marry my true love.";
+ mes "";
+ mes "Where ever he may be.";
+ close;
+N_Yes:
+ mes "[Shuda]";
+ if(countitem(7288)<1) {
+ mes "Go away, cheater!";
+ close;
+ }
+ delitem 7288,1;
+ mes "Thank you so much, now I have this back maybe my partner will return.";
+ set weddingring,2;
+ next;
+ mes "[Shuda]";
+ mes "Come back to me when you have time, I need you to do something else for me.";
+ close;
+L_Quest2:
+ mes "It seems even though I have my ring back my partner ^FF0000Annon^000000 doesn't seem to want to come back to me";
+ mes "Maybe he has gotten lost somewhere";
+ mes "";
+ mes "Will you please go and look for him";
+ next;
+ menu "Yes, I would be glad to",L_YesQ2,"No, he will come back on his own",-;
+ mes "[Shuda]";
+ mes "Well he might, but I still need someone to find him, I am afraid something might have happened to him.";
+ close;
+L_YesQ2:
+ set weddingring,3;
+ mes "[Shuda]";
+ mes "Oh thank you so much, I think someone in the town might have seen where he went, maybe he can give you a clue";
+ close;
+L_OnQ2:
+ mes "Have you been able to find my love yet?";
+ mes " ";
+ mes "Please hurry.";
+ mes "*tear*";
+ close;
+L_QuestComplete:
+ mes "You have found him ?!?";
+ mes "Then where is he???";
+ next;
+ mes "You explain the situation.";
+ next;
+ mes "[Shuda]";
+ mes "Well, I thought he was my one.";
+ mes "I don't think I will ever find another like him.";
+ mes "*tear*";
+ next;
+ set weddingring,5;
+ mes "[Shuda]";
+ mes "I can understand, but why not come and talk to me about it, we might have been able to talk it out.";
+ close;
+L_QuestOver:
+ mes "Nice to see you again "+strcharinfo(0)+". How have you been?";
+ close;
+}
+
+ayothaya.gat,253,99,3 script Fisherman 843,{
+ mes "[Dannai]";
+ mes "This place is known to be teeming with fish. The fish here tend to eat anything they find, so it's easy to catch them.";
+ next;
+ mes "[Dannai]";
+ mes "We are providing a fishing rod rental service. Every time you fish, you'll need ^4466771 Monster's Food^000000 to use as bait, and pay a rod rental fee of ^44667750 Zeny^000000.";
+ next;
+ mes "[Dannai]";
+ mes "Would you";
+ mes "like to try?";
+ next;
+ menu "Yes",-,"No",L_No;
+ if(countitem(528) < 1 || zeny < 50) goto L_Fail;
+ delitem 528,1;
+ set zeny,zeny-50;
+ mes "[Fisher Man]";
+ mes "Ok give it a good swing.";
+ mes "Lets see if you got anything.";
+ next;
+ set @fishing, rand(1,10);
+ mes "[Fisher Man]";
+ if(@fishing<5) goto L_Nothing;
+ if(@fishing<10) goto L_Fish;
+ if(@fishing==10) goto L_RingCheck;
+L_No:
+ mes "[Dannai]";
+ mes "Come back anytime.";
+ close;
+L_Fail:
+ mes "[Dannai]";
+ mes "Seems you don't have what I need";
+ mes "Come back when you have some Monster Feed, and 50 zeny.";
+ close;
+L_Nothing:
+ mes "Sorry it seems like you didn't get anything, try again anytime.";
+ close;
+L_Fish:
+ getitem 544,1;
+ mes "Look at this you got yourself a fish, well done.";
+ close;
+L_RingCheck:
+ if(weddingring!=1 || recoveredring==1) goto L_Fish;
+ mes "What is this, some sort of ring!!!";
+ mes "Well I guess since you fished it out you can keep it";
+ next;
+ getitem 7288,1;
+ mes "[Fisher Man]";
+ mes "Come back anytime";
+ set weddingring,0;
+ set recoveredring,1;
+ close;
+}
+
+ayothaya.gat,192,171,4 script Old Man 824,{
+ mes "[Tham]";
+ if(weddingring==3) goto L_OnQ2;
+ mes "What a nice day it is today, don't you agree?";
+ close;
+L_OnQ2:
+ mes "What! Annon is missing, I only saw him a few minutes ago.";
+ next;
+ mes "[Tham]";
+ mes "He was heading for Ayothaya's dungeon, I thought this kind of odd, and now you say he hasn't come back?!?";
+ mes "I think you should follow him in there, just in case something has happened to him";
+ next;
+ mes "[Tham]";
+ mes "Maybe he has left something inside the dungeon, something that can lead you to him";
+ mes "But thats just me";
+ next;
+ mes "[Tham]";
+ mes "You can get to the dungeon through the old temple, it is one map to the right of here, and down the hill.";
+ close;
+}
+
+ayo_dun02.gat,91,264,4 script Guy 822,{
+ if(weddingring==4) goto L_QuestComplete;
+ if(weddingring==5) goto L_TalkedShuda;
+ if(weddingring==3 && @footprints1==1 && @footprints2==1 && @footprints3==1 && @footprints4==1 && @footprints5==1 && @footprints6==1 && @footprints7==1 && @footprints8==1 && @footprints9==1) goto L_Groom;
+ mes "[Guy]";
+ mes "She won't find me here,she won't...";
+ close;
+L_Groom:
+
+ mes "[Annon]";
+ mes "Help me please...";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "^He seems to be injured very bad...";
+ next;
+ menu "Treat his wounds",-,"Leave him alone",L_Go;
+ if(countitem(504) < 1) goto L_Need;
+ delitem 504,1;
+ mes "[Annon]";
+ mes "Who are you";
+ mes "Have you been sent to follow me?";
+ next;
+ mes "[Annon]";
+ mes "So I see now, my ex-partner has sent you to see if I'm OK.";
+ mes " ";
+ mes "Can you go and tell her I'm ok, but I cant go through with the marriage.";
+ next;
+ mes "[Annon]";
+ mes "I cant really give a reason, just tell her that I love her, but not enough to spend the rest of my life with her.";
+ next;
+ mes "[Annon]";
+ mes "I hope she will understand.";
+ mes " ";
+ mes "I guess you will want something in return.";
+ next;
+ mes "[Annon]";
+ mes "I can train you, and make you gain some exp.";
+ mes " ";
+ mes "I will do this now.";
+ next;
+ set BaseExp,BaseExp+100000;
+ set weddingring,4;
+ mes "[Annon]";
+ mes "It is done, please make you way back to Shuda, and please try not to make her cry";
+ close;
+L_Need:
+ mes "["+strcharinfo(0)+"]";
+ mes "I need a White potion to be able to cure him.";
+ close;
+L_Go:
+ mes "["+strcharinfo(0)+"]";
+ mes "Someone else will probably find him.I have other things to do.";
+ close;
+L_QuestComplete:
+ mes "[Annon]";
+ mes "Have you seen Shuda yet?";
+ close;
+L_TalkedShuda:
+ mes "[Annon]";
+ mes "Did she take it OK?";
+ close;
+} \ No newline at end of file
diff --git a/npc/quests/quests_comodo.txt b/npc/quests/quests_comodo.txt
new file mode 100644
index 000000000..31f542856
--- /dev/null
+++ b/npc/quests/quests_comodo.txt
@@ -0,0 +1,277 @@
+//===== eAthena Script =======================================
+//= Item Quest NPCs located in Comodo
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= 'Cross Hat', 'Bulb Hairband', 'Striped Hairband', 'Blue Hairband' Quests.
+//= 'Mine Helmet', 'Parcel Hat', 'Money Loser's Grief',
+//= 'Phantom of the Opera Mask' Quests.
+//===== Additional Comments: =================================
+//= 1.1 Fixed exploits [Lupus]
+//============================================================
+
+
+
+//============================================================================================//
+// Hair Ornament Girl
+//============================================================================================//
+// Cross Hat, Bulb Hairband, Striped Hairband, Blue Hairband
+//==================================================
+comodo.gat,227,158,4 script Hair Ornament Girl 700,{
+ mes "[Hair Ornament Girl]";
+ if(sex==1)mes "Oh, hi. Do you need to buy a present for a friend, your mother, or maybe your girl friend? Then get her a Hair Band! It's the best gift you can get her.";
+ if(sex==0)mes "Oh, hi. Do you need to buy a present for a friend, your mother, or maybe yourself? Then get a Hair Band! It's the best gift you can give, or get.";
+ next;
+ mes "[Hair Ornament Girl]";
+ mes "Just by bringing me a few simple items, I can make you a gorgeous Hair Band! Here, take a look at these....";
+M_Menu:
+ next;
+ menu "-Crosss Hat Hairband",-, "-Bulb Hairband",M_Bulb, "-Striped Hairband",M_Striped, "-Blue Hairband",M_Blue, "-End Conversation",M_End;
+
+ set @BAND$, "Cross Hat Hairband";
+ set @ITEMS$, " ^5555FF1 Rosary^000000 and ^5555FF500 Destroyed Armors^000000.";
+ if(countitem(2608)>=1 && countitem(7069)>=500) set @GETBAND, 1;
+ goto sL_0;
+
+ M_Bulb:
+ set @BAND$, "Bulb Hairband";
+ set @ITEMS$, "^5555FF1 Slotted Circlet^000000 and ^5555FF20 Glass Beads^000000.";
+ if(countitem(2233)>=1 && countitem(746)>=20) set @GETBAND, 2;
+ goto sL_0;
+
+ M_Striped:
+ set @BAND$, "Striped Hairband";
+ set @ITEMS$, "^5555FF1500 Worn-out Prison Uniforms^000000.";
+ if(countitem(1099)>=1500) set @GETBAND, 3;
+ goto sL_0;
+
+ M_Blue:
+ set @BAND$, "Blue Hairband";
+ set @ITEMS$, "^5555FF1 Bandana^000000, ^5555FF1 Cobaltblue Dyestuffs^000000, and ^5555FF300 Anolian Skins^000000.";
+ if(countitem(2211)>=1 && countitem(978)>=1 && countitem(7003)>=300) set @GETBAND, 4;
+
+ sL_0:
+ mes "[Hair Ornament Girl]";
+ mes "So you're interested in the "+@BAND$+" huh? Here are the items you'll need for the "+@BAND$+":";
+ mes @ITEMS$;
+ next;
+ if(@GETBAND > 0) goto sL_GetBand;
+
+ mes "[Hair Ornament Girl]";
+ mes "Bring me all of these items and I will be able to make you a "+@BAND$+".";
+ goto M_Menu;
+
+ sL_GetBand:
+ mes "[Hair Ornament Girl]";
+ mes "I see that you have enough items for a "+@BAND$+". Would you like me to make you one?";
+ next;
+ menu "Yes, I would.",-, "No thank you.",M_End;
+
+ if(@GETBAND == 1) goto ssL_Cross;
+ if(@GETBAND == 2) goto ssL_Bulb;
+ if(@GETBAND == 3) goto ssL_Striped;
+ if(@GETBAND == 4) goto ssL_Blue;
+
+ ssL_Cross:
+ if(countitem(2608)<1 || countitem(7069)<500) goto L_Cheater;
+ delitem 2608,1;
+ delitem 7069,500;
+ getitem 5036,1;
+ goto ssL_End;
+ ssL_Bulb:
+ if(countitem(2233)<1 || countitem(746)<20) goto L_Cheater;
+ delitem 2233,1;
+ delitem 746,20;
+ getitem 5034,1;
+ goto ssL_End;
+ ssL_Striped:
+ if(countitem(1099)<1500) goto L_Cheater;
+ delitem 1099,1500;
+ getitem 5049,1;
+ goto ssL_End;
+ ssL_Blue:
+ if(countitem(2211)<1 || countitem(978)<1 || countitem(7003)<300) goto L_Cheater;
+ delitem 2211,1;
+ delitem 978,1;
+ delitem 7003,300;
+ getitem 5052,1;
+ ssL_End:
+ mes "[Hair Ornament Girl]";
+ mes "Here is your "+@BAND$+". Thank you.";
+ set @GETBAND, 0;
+ close;
+ L_Cheater:
+ mes "[Hair Ornament Girl]";
+ mes "Ooops... Where are these items?";
+ close;
+
+ M_End:
+ mes "[Hair Ornament Girl]";
+ mes "Hope to see you again soon.";
+ close;
+}
+
+
+//===================================================================================================//
+// Mari Isac
+//===================================================================================================//
+// 'Mine Helmet', 'Parcel Hat', 'Money Loser's Grief', 'Phantom of the Opera Mask'
+//===============================================================//
+comodo.gat,274,137,5 script Mari Isac 702,{
+ mes "[Mari Isac]";
+ mes "I travel all over the world and get to hear many interesting stories from the people I meet.";
+ mes "Sometimes they even teach me how to make special items";
+ next;
+ mes "[Mari Isac]";
+ mes "Would you be interested in some of the items I've learned to make?";
+M_Menu:
+ next;
+ menu "Tell me about them.",M_0, "Make me one.",M_1;
+
+ M_0:
+ menu "-Mine Helmet",-, "-Parcel Hat",sM_Parcel, "-Money Loser's Grief",sM_Money, "-Phantom of the Opera Mask",sM_Phantom;
+
+ mes "[Mari Isac]";
+ mes "I learned how to make the Mine Helmet when I traveled to the old coal mines near Geffen.";
+ next;
+ mes "[Mari Isac]";
+ mes "The 2 most important things a miner needs are light, and head protection.";
+ mes "A very inventive miner was able to create something that dealt with both issues.";
+ next;
+ mes "[Mari Isac]";
+ mes "He attached a light to his safety helmet and called it a Mine Helmet.";
+ mes "This meant that miners no longer had to worry about carrying around lamps and could work more efficiently.";
+ next;
+ mes "[Mari Isac]";
+ mes "Anyways, if you want me to make you a Mine Helmet you'll need to bring me these items:";
+ mes "^5555FF1 Safety Helmet^000000,";
+ mes "^5555FF1 Candle^000000,";
+ mes "^5555FF1 Crystal Mirror^000000,";
+ mes "^5555FF25 Steel^000000.";
+ next;
+ goto M_0;
+ sM_Parcel:
+ mes "[Mari Isac]";
+ mes "I learned how to make the Parcel Hat when I traveled to Alberta. There they have a unique way of distributing mail and goods.";
+ next;
+ mes "[Mari Isac]";
+ mes "Instead of using a pouch or a sack to carry items for delivery, they use a special kind of hat, called a Parcel Hat.";
+ mes "This hat allows the delivery personel to carry numerous items on their heads. Of course they have to have good balance to use it.";
+ next;
+ mes "[Mari Isac]";
+ mes "Anyways, if you want me to make you a Parcel Hat, you'll need to bring me these items.";
+ mes "^5555FF150 Fabric^000000,";
+ mes "^5555FF100 Resin^000000,";
+ mes "^5555FF1 Cobaltblue Dyestuffs^000000.";
+ next;
+ goto M_0;
+ sM_Money:
+ mes "[Mari Isac]";
+ mes "I learned how to make the Money Loser's Grief when I traveled to Morroc.";
+ next;
+ mes "[Mari Isac]";
+ mes "A long time ago an honest merchant got into a conflict with a crooked guild.";
+ mes "Unlike the dirty guild, the merchant did not scam or cheat people.";
+ next;
+ mes "[Mari Isac]";
+ mes "Because of this they attacked the merchants shop and took all of his goods.";
+ next;
+ mes "[Mari Isac]";
+ mes "The merchant was devastated by the loss of his shop.";
+ mes "In his sadness he used the bits and pieces that were left from his shop to create a new item.";
+ next;
+ mes "[Mari Isac]";
+ mes "He created the Money Loser's Grief, a symbol of his great sadness. When people see it, they can't help but feel sympathetic to the wearer.";
+ next;
+ mes "[Mari Isac]";
+ mes "Many merchants now wear it to help themselves get more business. Of course it is also a reminder of the honest merchants sad tale.";
+ next;
+ mes "[Mari Isac]";
+ mes "Anyways, if you want me to make you a Money Losers Grief, you'll need to bring me these items.";
+ mes "^5555FF1 Circlet with a single slott^000000,";
+ mes "^5555FF1 Gold^000000,";
+ mes "^5555FF20 Steel^000000,";
+ mes "^5555FF80 Feathers^000000,";
+ mes "^5555FF800 Sticky Mucus^000000.";
+ next;
+ goto M_0;
+ sM_Phantom:
+ mes "[Mari Isac]";
+ mes "I learned how to make the Phantom of the Opera Mask when I traveled to Al De Baran.";
+ mes "The story behind this item is that of a man's pure love........";
+ next;
+ mes "[Mari Isac]";
+ mes "There once was a man who was in love with a beautiful opera singer.";
+ mes "Unfortunately the man had a terribly disfigured face which forced to him to wear a mask.";
+ next;
+ mes "[Mari Isac]";
+ mes "He was ashamed of his appearance and could never bring himself to face the singer.";
+ mes "The man instead, watched her from a far, admiring every nuance of her beauty and grace.";
+ next;
+ mes "[Mari Isac]";
+ mes "He lurked in the bowles of the opera house and from time to time he would sing his sad love song.";
+ mes "Many people heard it and believed that there was a phantom haunting the opera house.";
+ next;
+ mes "[Mari Isac]";
+ mes "The singer also heard his song, and through it she was able to feel his pain and his love for her.";
+ mes "The two eventually met, and when they did she was able to look past his appereance and accept him for who he was.";
+ next;
+ mes "[Mari Isac]";
+ mes "Too this day, the tale of the masked 'phantom' is still romantacised.";
+ next;
+ mes "[Mari Isac]";
+ mes "Anyways, if you want me to make you a Phantom of the Opera Mask, you'll need to bring me these items.";
+ mes "^5555FF1 Opera Masque^000000,";
+ mes "^5555FF50 Horrendous Hairs^000000.";
+ goto M_0;
+
+ M_1:
+ menu "-Mine Helmet",-, "-Parcel Hat",sM_MakePar, "-Money Loser's Grief",sM_MakeMon, "-Phantom of the Opera Mask",sM_MakePhan;
+
+ if(countitem(5009)<1 || countitem(5028)<1 || countitem(747)<1 || countitem(999)<25) goto ssL_NoItems;
+ delitem 5009, 1;
+ delitem 5028, 1;
+ delitem 747, 1;
+ delitem 999, 25;
+ mes "[Mari Isac]";
+ mes "Here you go. Enjoy your Mine Helmet!";
+ getitem 5031,1;
+ close;
+ sM_MakePar:
+ if(countitem(1059)<150 || countitem(907)<100 || countitem(978)<1) goto ssL_NoItems;
+ delitem 1059, 150;
+ delitem 907, 100;
+ delitem 978, 1;
+ mes "[Mari Isac]";
+ mes "Here you go. Enjoy your Parcel Hat!";
+ getitem 5023,1;
+ close;
+ sM_MakeMon:
+ if(countitem(2233)<1 || countitem(969)<1 || countitem(999)<20 || countitem(949)<80 || countitem(938)<800) goto ssL_NoItems;
+ delitem 2233, 1;
+ delitem 969, 1;
+ delitem 999, 20;
+ delitem 949, 80;
+ delitem 938, 800;
+ mes "[Mari Isac]";
+ mes "Here you go. Enjoy your Money Loser's Grief!";
+ getitem 5021,1;
+ close;
+ sM_MakePhan:
+ if(countitem(2281)<1 || countitem(1048)<50) goto ssL_NoItems;
+ delitem 2281,1;
+ delitem 1048, 50;
+ mes "[Mari Isac]";
+ mes "Here you go. Enjoy your Phantom of the Opera Mask!";
+ getitem 5043, 1;
+ close;
+
+ ssL_NoItems:
+ mes "[Mari Isac]";
+ mes "You don't seem to have enough items for me to make that hat. Please come back when you do.";
+ close;
+}
diff --git a/npc/quests/quests_geffen.txt b/npc/quests/quests_geffen.txt
new file mode 100644
index 000000000..fa5310926
--- /dev/null
+++ b/npc/quests/quests_geffen.txt
@@ -0,0 +1,183 @@
+//===== eAthena Script =======================================
+//= Item Quest NPCs located in Geffen
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= Welding Mask and Headset Quests.
+//===== Additional Comments: =================================
+//= 1.1 Fixed exploits [Lupus]
+//============================================================
+
+
+
+//==============================================================================================//
+// Blacksmith: 'Welding Mask' Quest
+//==============================================================================================//
+geffen_in.gat,144,166,4 script Blacksmith 63,{
+ mes "[Blacksmith]";
+ mes "Who am I?!........";
+ emotion 0;
+ next;
+ mes "[Blacksmith]";
+ mes "Iam the one and only Veteran Blacksmith here!! Haven't you heard???";
+ mes "I've been working for 30 years in this hot, bloody, Hellfire!";
+ emotion 21;
+ next;
+ mes "[Blacksmith]";
+ mes "Since I became a Blacksmith, I invented something really incredible..... wanna hear about it?";
+ next;
+ menu "I'd love to.",-, "Well, not really....",M_No;
+
+ mes "[Blacksmith]";
+ mes "Blacksmiths are always welding metals under the HOTEST and must grueling conditions!";
+ mes "The tremendous heat from the metals is so intense that it almost feels as if your face is going to burn off....";
+ emotion 23;
+ next;
+ mes "[Blacksmith]";
+ mes "But with my great invention, Blacksmiths no longer have to fear their faces catching on fire! I call it the ^3355FF' Welding Mask'^000000!!";
+ emotion 5;
+ next;
+ mes "[Blacksmith]";
+ mes "By wearing this over ones face, one will be fully protected from scorching heat and flying debirs.";
+ next;
+ mes "[Blacksmith]";
+ mes "So what do you think? For ^4455FF'50 Steels'^000000 and only ^4455FF2000 Zeny^000000, I can make you one.";
+ next;
+ menu "Hm.. Not bad. Alright.",-, "No thanks. I'd have no use for it.",sM_No;
+
+ mes "[Blacksmith]";
+ if(countitem(999) < 50 || Zeny < 2000) goto sL_NotEnuf;
+ delitem 999,50;
+ set Zeny, Zeny - 2000;
+ mes "Great! I'll make one right away.......";
+ next;
+ mes "~!clonk!~!clank!~!bang!~ ~!clonk!~!clank!~!bang!~";
+ next;
+ mes "[Blacksmith]";
+ mes "Here you are, your very own Welding Mask! It was a pleasure doing buisness with you!";
+ getitem 2292,1;
+ close;
+
+ sL_NotEnuf:
+ mes "Listen here.... I said I needed ^4455FF'50 Steels'^000000 and ^4455FF2000 Zeny^000000 to make you a Welding Mask.";
+ emotion 4;
+ close;
+
+ sM_No:
+ mes "[Blacksmith]";
+ mes "Oh man... Your gonna regret not getting one. Trust me sooner or later you're gonna need a ^5555FFWelding Mask^000000.";
+ mes "Everybody does.....";
+ close;
+
+ M_No:
+ mes "[Blacksmith]";
+ mes "Well then, stop wasting my time!";
+ emotion 32;
+ close;
+}
+
+
+//=============================================================================================//
+// Eric: Headset Quest
+//=============================================================================================//
+geffen_in.gat,30,71,4 script Eric 83,{
+ mes "[Eric]";
+ mes "Please listen to the story of my blessed grand father...";
+ emotion 28;
+ next;
+ menu "Listen.",-, "Ask about Items needed.",M_Ask, "Make.",M_Make, "End Conversation.",M_End;
+
+ mes "[Eric]";
+ mes "My grand father passed away few years ago.... he was very special to me.....";
+ next;
+ mes "[Eric]";
+ mes "For as long as I can remember, he was always there for me.";
+ mes "He even took better care of me than did my own father, who was always busy with work.";
+ next;
+ mes "[Eric]";
+ mes "To me, my grand father's library was always like a 'Fairyland'.";
+ mes "I spent most of my time there and I learned a lot of things from his vast collection of books";
+ next;
+ mes "[Eric]";
+ mes "Grand father was interested in alchemy and music, so his library was filled with many books on these subjects.";
+ next;
+ mes "[Eric]";
+ mes "One day while I was in grand fathers library, I discovered an interesting design sheet.....";
+ mes "It was a design for what look liked 'Ear Muffs'.... underneath the drawing was a description that read:";
+ next;
+ mes "[Eric]";
+ mes "'When worn on over the ears, anything from music to the faintest whispers can be heard.";
+ mes "The sounds are transmitted to the ears through a thin wire. Project Name: ^5555FFHeadset^000000";
+ next;
+ mes "[Eric]";
+ mes "It was a project that my grand father was working on before he passed away.... unfortunately he was never able to finish it.....";
+ next;
+ mes "[Eric]";
+ mes "That's why I made up my mind to pick up where he left off and finish his beloved project!";
+ mes "I met with a few Alchemists and asked them to create a working prototype based on his plans.";
+ next;
+ mes "[Eric]";
+ mes "But they were not able to understand my grand fathers concepts and therefore could not help me.";
+ next;
+ mes "[Eric]";
+ mes "Even so I did not give up and decided to make it myself. So I studied and researched for many years....";
+ mes "And now I have a full working knowledge of my grand fathers invention, the ^5555FFHeadset^000000!!";
+ next;
+ mes "[Eric]";
+ mes "Yet there is still one obsticale that is keeping me from making it.... I do not have the materials necessary to make my grand fathers invention!";
+ next;
+ mes "[Eric]";
+ mes "My only goal in life is to realize my grand fathers ideas and pay tribute to the man I hold so dear to my heart.......";
+ emotion 28;
+ next;
+ mes "[Eric]";
+ mes "If only I had those materials.... Hmm... would you be iterested in this project? All I ask is that you gather the right items for me....";
+ emotion 20;
+ close;
+
+ M_Ask:
+ mes "[Eric]";
+ mes "These are items needed for grand father's Headset:";
+ mes "^3355FFSteel^000000 ^FF555540^000000";
+ mes "^3355FFOridecon^000000 ^FF55551^000000";
+ mes "^3355FFAlcohol^000000 ^FF55551^000000";
+ mes "^3355FFCoal^000000 ^FF55551^000000";
+ close;
+
+ M_Make:
+ mes "[Eric]";
+ if(countitem(999) < 40 || countitem(984) < 1 || countitem(970)<1 || countitem(1003) < 1) goto L_NotEnuf;
+ delitem 999,40;
+ delitem 984,1;
+ delitem 970,1;
+ delitem 1003,1;
+ mes "Oh this is GREAT!! You have all of the materials I need to make my grandfather's Headset!";
+ emotion 5;
+ next;
+ mes "[Eric]";
+ mes "Give me a few minutes to assemble it...............";
+ next;
+ getitem 5001,1;
+ mes "[Eric]";
+ mes "FINALLY!! It's complete! My grand father's Headset! Please take them... without your help this wouldn't have been possible.";
+ emotion 0;
+ next;
+ mes "[Eric]";
+ mes "Thank so very much! Because of you, I could fullfill my grand father's wish. I just know he's smiling down on me from Heaven.....";
+ emotion 15;
+ close;
+
+ L_NotEnuf:
+ mes "Thank you for trying to help me but..... you don't seem to have all of the items I need.....";
+ emotion 4;
+ close;
+ M_End:
+ mes "[Eric]";
+ mes "Farewell..... boo hoo....";
+ emotion 28;
+ close;
+}
diff --git a/npc/quests/quests_lighthalzen.txt b/npc/quests/quests_lighthalzen.txt
new file mode 100644
index 000000000..cf91e9171
--- /dev/null
+++ b/npc/quests/quests_lighthalzen.txt
@@ -0,0 +1,214 @@
+//===== eAthena Script =======================================
+//= Lighthalzen
+//===== By: ==================================================
+//= Persian, Vicious_Pucca, Completed by aoa00
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena SVN
+//===== Description: =========================================
+//= Event for the Mobster respawn
+//===== Additional Comments: =================================
+//= Grammar/script check please. This was a quick job.
+//= Things to add: Look at the thread "Lighthalzen Guard" in SVN script
+//= 0.3 Initial Release
+//= 0.5 Added mobsters spawn and Einbroch pollution. Alert lasts either 10 minutes or all mob killed.
+//= 0.6 small bug fixes
+//= 0.9 fix small bug. Added Bio-lab entrance Quest. Added Getting security-card Quest.
+//= 1.0 Patched "mobsters spawn & Alert" like Real-RO.
+//= 1.0a fixed rand(1,10) + comparision. There just can't be 'X < 1' [Lupus]
+//= 1.1 Changed the mobster spawn to g_mobster to prevent exploits [MasterOfMuppets]
+//============================================================
+//= aoa's comment
+//= In future, Need for new monsters. No-Drop, No-Exp, Weak "Mobster","VENOMOUS","NOXIOUS"
+//= In future, Teleport skill is impossible in Lighthalzen.
+//============================================================
+
+lighthalzen.gat,1,1,7 script sneakAddSuber -1,{
+OnInit:
+ set $@sneakchance, 3; // chance of successful sneak(0 = never, 10 = always)
+ set $@sneakguard, 0; // numbers of people who sneaked past guard
+ set $@threshold, 10; // numbers of sneakers before mob appears
+ set $@mob, 50; // Max respawn numbers of "mobsters"
+ set $@mobcount, 0; // current numbers of "mobsters"
+ set $@lhz_alert, 0; // Alert on Lighthalzen(0 = off, 1 = on)
+ set $@i, 0;
+
+ end;
+
+OnMinute00:
+OnMinute05:
+OnMinute10:
+OnMinute15:
+OnMinute20:
+OnMinute25:
+OnMinute30:
+OnMinute35:
+OnMinute40:
+OnMinute45:
+OnMinute50:
+OnMinute55:
+ if($@lhz_alert == 0) set $@sneakguard, $@sneakguard + rand(1,3);
+ if($@lhz_alert == 1) set $@sneakguard, $@sneakguard - 1; // Monsters will die after 5~10 min. (sneakAddSuber)
+ end;
+}
+
+lighthalzen.gat,1,1,7 script AlertChk -1,{
+OnInit:
+ initnpctimer;
+ end;
+
+OnTimer10000:
+ if($@sneakguard >= $@threshold) goto MakeMob;
+ if($@sneakguard == 0) goto ClearMob; // Monsters will die after 5~10 min. (sneakAddSuber)
+ setnpctimer 0;
+ end;
+
+MakeMob:
+ if($@lhz_alert == 1) goto ChkEnd;
+ set $@mobcount, $@mob;
+ mapannounce "lighthalzen.gat","Maintenance Organization of the Public Order: Currently the security of the city has been compromized, We ask the citizens to be more careful. I repeat. We ask the citizens to be more careful.", 1;
+
+ for( set $@i, 0; $@i < $@mob; set $@i, $@i + 1 ) {
+ monster "lighthalzen.gat",0,0,"Mobster",1592,1,"Mobs::MobKilled";
+ }
+
+ set $@lhz_alert, 1;
+ set $@sneakguard, 2; // Monsters will die after 5~10 min. (sneakAddSuber)
+ setnpctimer 0;
+ end;
+
+ClearMob:
+ if($@lhz_alert == 0) goto ChkEnd;
+ set $@mobcount, 0;
+ mapannounce "lighthalzen.gat","Maintenance organization of the Public Order: We were able to get rid of all the trouble makers in the city. You may relax now.", 1;
+ killmonster "lighthalzen.gat","Mobs::MobKilled";
+ set $@lhz_alert, 0;
+ set $@sneakguard, 0;
+ setnpctimer 0;
+ end;
+
+MobKilled:
+ set $@mobcount, $@mobcount - 1;
+ if($@mobcount == 0) goto ClearMob;
+ setnpctimer 0;
+ end;
+
+ChkEnd:
+ setnpctimer 0;
+ end;
+}
+
+lighthalzen.gat,267,200,3 script Security Guard 868,{
+
+ if(countitem(7350)>=1) goto Lhzpass1;
+ if($@lhz_alert == 1) goto Lhzstop;
+ if((gettime(2)>00 && gettime(2)<10)) goto LhzTalk2;
+ if((gettime(2)>30 && gettime(2)<40)) goto LhzTalk2;
+ set @LhzTalk,rand(1,10);
+ if(@LhzTalk < 2 ) goto LhzTalk1;
+
+LhzTalk:
+ mes "[Guard]";
+ mes "Hey! Where do you think you are going?";
+ mes "I can not send nobody to the slum district!";
+ mes "If we let suspecious people like you pass,";
+ mes "there is no point in piece keeping!";
+ close;
+
+LhzTalk1:
+ mes "-Looks like the guard is doing something else";
+ mes "Now is a good time to sneak by.-";
+ next;
+ warp "lighthalzen.gat",297,227;
+ set $@sneakguard, $@sneakguard + 1;
+ close;
+
+LhzTalk2:
+ set @LhzTalk,rand(1,10);
+ if(@LhzTalk < 2 ) goto LhzTalk;
+ mes "[Guard]";
+ mes "zzZ... zzZ... zzZ...";
+ mes "hmm. hmm... zzZ...";
+ next;
+ mes "-Looks like the guard is sleeping";
+ mes "Now is a good time to sneak by.-";
+ next;
+ warp "lighthalzen.gat",297,227;
+ close;
+
+Lhzpass1:
+ mes "[Guard]";
+ mes "Who are you! ...Hmm? You have a pass?";
+ mes "I'm sorry. You look like an adventurer,";
+ mes "but I guess you got the authority.";
+ mes "You may pass.";
+ next;
+ warp "lighthalzen.gat",297,227;
+ close;
+
+Lhzstop:
+ mes "[Guard]";
+ mes "Recently, there were too many people sneaking pass us,";
+ mes "so we raised the security level.";
+ mes "Who sneak past us anyway?";
+ mes "It's troublesome...";
+ close;
+}
+
+lighthalzen.gat,294,223,7 script Security Guard 868,{
+
+ if(countitem(7350)==1) goto Lhzpass1;
+ if($@lhz_alert == 1) goto Lhzstop;
+ if((gettime(2)>00 && gettime(2)<10)) goto LhzTalk2;
+ if((gettime(2)>30 && gettime(2)<40)) goto LhzTalk2;
+ set @LhzTalk,rand(1,10);
+ if(@LhzTalk < 2 ) goto LhzTalk1;
+
+LhzTalk:
+ mes "[Guard]";
+ mes "Hey! Where do you think you are going?";
+ mes "I can not send nobody to the slum district!";
+ mes "If we let suspecious people like you pass,";
+ mes "there is no point in piece keeping!";
+ close;
+
+LhzTalk1:
+ mes "-Looks like the guard is doing something else";
+ mes "Now is a good time to sneak by.-";
+ next;
+ warp "lighthalzen.gat",264,200;
+ set $@sneakguard, $@sneakguard + 1;
+ close;
+
+LhzTalk2:
+ set @LhzTalk,rand(1,10);
+ if(@LhzTalk < 2 ) goto LhzTalk;
+ mes "[Guard]";
+ mes "zzZ... zzZ... zzZ...";
+ mes "hmm. hmm... zzZ...";
+ next;
+ mes "-Looks like the guard is sleeping";
+ mes "Now is a good time to sneak by.-";
+ next;
+ warp "lighthalzen.gat",264,200;
+ close;
+
+Lhzpass1:
+ mes "[Guard]";
+ mes "Who are you! ...Hmm? You have a pass?";
+ mes "I'm sorry. You look like an adventurer,";
+ mes "but I guess you got the authority.";
+ mes "You may pass.";
+ next;
+ warp "lighthalzen.gat",264,200;
+ close;
+
+Lhzstop:
+ mes "[Guard]";
+ mes "Recently, there were too many people sneaking pass us,";
+ mes "so we raised the security level.";
+ mes "Who sneak past us anyway?";
+ mes "It's troublesome...";
+ close;
+}
diff --git a/npc/quests/quests_lutie.txt b/npc/quests/quests_lutie.txt
new file mode 100644
index 000000000..d873240bf
--- /dev/null
+++ b/npc/quests/quests_lutie.txt
@@ -0,0 +1,178 @@
+//===== eAthena Script =======================================
+//= Item Quest NPCs located in Lutie
+//===== By: ==================================================
+//= TonyMan
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 1.0
+//===== Description: =========================================
+//= Blush, Cake Hat, Candle, Chef Hat, Raccoon Hat, Rainbow Eggshell,
+//= Spore Hat, Wonder Nutshell Quests
+//===== Additional Comments: =================================
+//= 1.1 Optimized [Lupus]
+//= 1.2 Fixed Chef Hat items [Lupus]
+//============================================================
+
+xmas.gat,117,295,3 script Titicupe 704,{
+ mes "[^469ED2Titicupe^000000]";
+ mes "I am the well known ^27BEB7Vending Machine Man Titicupe^000000, I am also a Wizard of the great ^9A3CA2Geffen Mage Guild^000000. I can use my special magic to make some rare items, but I need ingridients. Choose an item you want.";
+ next;
+ menu "Blush",-,"Cake Hat",cake_hat,"Candle",candle,"Chef Hat",chef_hat,"Raccoon Hat",raccoon_hat,"Rainbow Eggshell",rainbow_egg,"Spore Hat",spore_hat,"Wonder Nutshell",wonder_nut,"Cancel",M_Cancel;
+
+ mes "[^469ED2Titicupe^000000]";
+ mes "Hmm... spell ingridients are...";
+ mes "100 Alice's Apron";
+ next;
+ menu "Here. Now do your magic!",-,"Cancel",M_Cancel;
+
+ if(countitem(7047)<100) goto L_NoItem;
+ delitem 7047,100;
+ getitem 5040,1;
+ mes "[^469ED2Titicupe^000000]";
+ mes "^4599A3Abra ^66A73FKa ^C7A82EDabra, ^64826BSim ^E9239ESa ^B7EB01La ^8080C0Bim^000000!! ^45A8C9*poof*^000000 I succeeded! Here take this ^D6294BBlush^000000, it's yours.";
+ close;
+
+cake_hat:
+ mes "[^469ED2Titicupe^000000]";
+ mes "Hmm... spell ingridients are...";
+ mes "10 Candy";
+ mes "5 Candy Cane";
+ mes "20 Piece of Cake";
+ mes "10 Steel";
+ mes "15 Well-baked Cookie";
+ next;
+ menu "Here. Now do your magic!",-,"Cancel",M_Cancel;
+
+ if(countitem(529)<10 || countitem(530)<5 || countitem(539)<20 || countitem(999)<10 || countitem(538)<15) goto L_NoItem;
+ delitem 529,10;
+ delitem 530,5;
+ delitem 539,20;
+ delitem 999,10;
+ delitem 538,15;
+ getitem 5024,1;
+ mes "[^469ED2Titicupe^000000]";
+ mes "^4599A3Abra ^66A73FKa ^C7A82EDabra, ^64826BSim ^E9239ESa ^B7EB01La ^8080C0Bim^000000!! ^45A8C9*poof*^000000 I succeeded! Here take this ^BD3CBACake Hat^000000, it's yours.";
+ close;
+
+candle:
+ mes "[^469ED2Titicupe^000000]";
+ mes "Hmm... spell ingridients are...";
+ mes "1 Bomb Wick";
+ mes "50 Matchstick";
+ mes "100 Royal Jelly";
+ next;
+ menu "Here. Now do your magic!",-,"Cancel",M_Cancel;
+
+ if(countitem(2279)<1 || countitem(7035)<50 || countitem(526)<100) goto L_NoItem;
+ delitem 2279,1;
+ delitem 7035,50;
+ delitem 526,100;
+ getitem 5028,1;
+ mes "[^469ED2Titicupe^000000]";
+ mes "^4599A3Abra ^66A73FKa ^C7A82EDabra, ^64826BSim ^E9239ESa ^B7EB01La ^8080C0Bim^000000!! ^45A8C9*poof*^000000 I succeeded! Here take this ^BD3CBACandle^000000, it's yours.";
+ close;
+
+chef_hat:
+ mes "[^469ED2Titicupe^000000]";
+ mes "Hmm... spell ingridients are...";
+ mes "450 Dragon Scale";
+ mes "330 Feather";
+ mes "120 Piece of Cake";
+ mes " 1 White Dyestuffs";
+ next;
+ menu "Here. Now do your magic!",-,"Cancel",M_Cancel;
+
+ if(countitem(1036)<450 || countitem(949)<330 || countitem(539)<120 || countitem(982)<1) goto L_NoItem;
+ delitem 1036,450;
+ delitem 949,330;
+ delitem 539,120;
+ delitem 982,1;
+ getitem 5026,1;
+ mes "[^469ED2Titicupe^000000]";
+ mes "^4599A3Abra ^66A73FKa ^C7A82EDabra, ^64826BSim ^E9239ESa ^B7EB01La ^8080C0Bim^000000!! ^45A8C9*poof*^000000 I succeeded! Here take this ^BD3CBAChef Hat^000000, it's yours.";
+ close;
+
+raccoon_hat:
+ mes "[^469ED2Titicupe^000000]";
+ mes "Hmm... spell ingridients are...";
+ mes "20 Dragon Scale";
+ mes "1 Kitty Band";
+ mes "300 Sea-otter Fur";
+ mes "200 Tough Scalelike Stem";
+ next;
+ menu "Here. Now do your magic!",-,"Cancel",M_Cancel;
+
+ if(countitem(1036)<20 || countitem(2213)<1 || countitem(7065)<300 || countitem(7012)<200) goto L_NoItem;
+ delitem 1036,20;
+ delitem 2213,1;
+ delitem 7065,300;
+ delitem 7012,200;
+ getitem 5033,1;
+ mes "[^469ED2Titicupe^000000]";
+ mes "^4599A3Abra ^66A73FKa ^C7A82EDabra, ^64826BSim ^E9239ESa ^B7EB01La ^8080C0Bim^000000!! ^45A8C9*poof*^000000 I succeeded! Here take this ^7D4E31Raccoon Hat^000000, it's yours.";
+ close;
+
+rainbow_egg:
+ mes "[^469ED2Titicupe^000000]";
+ mes "Hmm... spell ingridients are...";
+ mes "50 Claw of Desert Wolf";
+ mes "1 Cobaltblue Dyestuffs";
+ mes "1 Egg Shell";
+ next;
+ menu "Here. Now do your magic!",-,"Cancel",M_Cancel;
+
+ if(countitem(7030)<50 || countitem(978)<1 || countitem(5015)<1) goto L_NoItem;
+ delitem 7030,50;
+ delitem 978,1;
+ delitem 5015,1;
+ getitem 5039,1;
+ mes "[^469ED2Titicupe^000000]";
+ mes "^4599A3Abra ^66A73FKa ^C7A82EDabra, ^64826BSim ^E9239ESa ^B7EB01La ^8080C0Bim^000000!! ^45A8C9*poof*^000000 I succeeded! Here take this ^8D4178Rainbow Egg^000000, it's yours.";
+ close;
+
+spore_hat:
+ mes "[^469ED2Titicupe^000000]";
+ mes "Hmm... spell ingridients are...";
+ mes "300 Burnt Tree";
+ mes "850 Poison Spore";
+ mes "1 Tongue";
+ next;
+ menu "Here. Now do your magic!",-,"Cancel",M_Cancel;
+
+ if(countitem(7068)<300 || countitem(7033)<850 || countitem(1015)<1) goto L_NoItem;
+ delitem 7068,300;
+ delitem 7033,850;
+ delitem 1015,1;
+ getitem 5029,1;
+ mes "[^469ED2Titicupe^000000]";
+ mes "^4599A3Abra ^66A73FKa ^C7A82EDabra, ^64826BSim ^E9239ESa ^B7EB01La ^8080C0Bim^000000!! ^45A8C9*poof*^000000 I succeeded! Here take this ^7D4E31Spore Hat^000000, it's yours.";
+ close;
+
+wonder_nut:
+ mes "[^469ED2Titicupe^000000]";
+ mes "Hmm... spell ingridients are...";
+ mes "1 Nut Shell";
+ mes "500 Wing of Dragonfly";
+
+ next;
+ menu "Here. Now do your magic!",-,"Cancel",M_Cancel;
+
+ if(countitem(5037)<1 || countitem(7064)<500) goto L_NoItem;
+ delitem 5037,1;
+ delitem 7064,500;
+ getitem 5050,1;
+ mes "[^469ED2Titicupe^000000]";
+ mes "^4599A3Abra ^66A73FKa ^C7A82EDabra, ^64826BSim ^E9239ESa ^B7EB01La ^8080C0Bim^000000!! ^45A8C9*poof*^000000 I succeeded! Here take this ^7D4E31Wonder Nutshell^000000, it's yours.";
+ close;
+
+M_Cancel:
+ mes "[^469ED2Titicupe^000000]";
+ mes "I bid you farewell, try not to catch a cold out here. It's ^5A9FD8freezing out here!^000000";
+ close;
+
+L_NoItem:
+ mes "[^469ED2Titicupe^000000]";
+ mes "I can't cast since you don't seem to have all I need...";
+ close;
+}
diff --git a/npc/quests/quests_morocc.txt b/npc/quests/quests_morocc.txt
new file mode 100644
index 000000000..72de70064
--- /dev/null
+++ b/npc/quests/quests_morocc.txt
@@ -0,0 +1,123 @@
+//===== eAthena Script =======================================
+//= Item Quest NPCs located in Morroc
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= Stop Post and Binoculars Quest.
+//===== Additional Comments: =================================
+//= 1.1 Fixed exploits [Lupus]
+//============================================================
+
+
+
+//==================================================================================//
+// Stop Post Quest
+//==================================================================================//
+morocc_in.gat,142,100,4 script William 89,{
+ mes "[William]";
+ mes "Welcome to MacMillan's ^3355FF'Post'^000000 Workshop .";
+ next;
+ mes "[William]";
+ mes "My Clan, MacMillan, Has been producing professional grade Traffic Signal Posts for more than 250 years.";
+ mes "Nowadays we are taking special orders for our very unique, ^3355FF'Stop Post'^000000.";
+ next;
+ menu "Could I order a ^3355FF'Stop Post'^000000?",-, "I'm not interested.",M_End;
+
+ mes "[William]";
+ mes "MacMillan's one of a kind ^3355FF'Stop Post'^000000 fits comfortably on a persons head.";
+ mes "Not only does it make an interesting head accessory, but it can actually be used as a stop sign as well.";
+ next;
+ mes "[William]";
+ mes "I garauntee that our ^3355FF'Stop Post'^000000 will last for well over 100 years, or my name isn't MacMillan!!";
+ next;
+ mes "[William]";
+ mes "For us to make you a ^3355FF'Stop Post'^000000, we will need:";
+ mes "^3355FF91100 Zeny,";
+ mes "50 Trunks,";
+ mes "and 1 Black Dyestuff^000000.";
+ next;
+ if(countitem(1019) >= 50 && countitem(983) >= 1 && Zeny >= 91100) goto sL_GetPost;
+ mes "[William]";
+ mes "Come back when you have all of the items.";
+ close;
+
+ sL_GetPost:
+ delitem 1019,50;
+ delitem 983,1;
+ set Zeny, Zeny - 91100;
+ mes "[William]";
+ mes "Here you are! A hand made, one of a kind, ^3355FF'Stop Post '^000000! Thank you for your patronage!";
+ getitem 2272,1;
+ emotion 15;
+ close;
+
+ M_End:
+ mes "[William]";
+ mes "Thanks for stopping by the MacMillan's Workshop. I hope to see you soon.";
+ close;
+}
+
+
+//==================================================================================//
+// Binoculars Quest
+//==================================================================================//
+morocc_in.gat,76,163,4 script Alchemist 64,{
+ mes "[Marius]";
+ mes "Howdy! A new customer........ Wait!!! I know what you're here for....... You're interested in those magical goggles aren't you?";
+ next;
+ menu "What is that ?",-, "Make",M_Make, "Ignore him",M_End;
+
+ mes "[Marius]";
+ mes "It is actually called ^3355FF'Binoculars'^000000! It is an opitcal device that allows the wearer to see far away objects.";
+ next;
+ mes "[Marius]";
+ mes "You see, when two lens are placed next to each other in front of your eyes, your brain interperets this image........ blah blah...... blah....";
+ next;
+ mes "[Marius]";
+ mes "............... What's this? You don't seem interested in what I have to say?? I don't think you realize what I'm talking about!";
+ emotion 20;
+ next;
+ mes "[Marius]";
+ mes "For us to make you a ^3355FF'Binoculars'^000000, we will need:";
+ mes "^3355FF50,000 Zeny,";
+ mes "100 Steel,";
+ mes "and 1 Geek Glasses.^000000.";
+ next;
+ mes "[Marius]";
+ mes "Oh c'mon! Don't be a jerk! What I'm talking about is REALLY COOL!!";
+ close;
+
+ M_Make:
+ mes "[Marius]";
+ if(countitem(2243) < 1 || countitem(999) < 100 || Zeny < 50000) goto sL_NotEnuf;
+ delitem 2243,1;
+ delitem 999,100;
+ set Zeny, Zeny - 50000;
+ mes "Gr~~~~eat ! You'll definitely enjoy a pair of these!";
+ next;
+ mes "[Marius]";
+ mes "Here it is ! The Binoculars!";
+ getitem 2296,1;
+ next;
+ mes "[Marius]";
+ mes "But before you go out and use them I have to tell you......";
+ if(sex==0) mes "DON'T USE THEM TO BE A PEEPING TOM!!!";
+ if(sex==1) mes "Becarefull where you look..... you might see someting you didn't want to........";
+ close;
+
+ sL_NotEnuf:
+ mes "Argggghhhhhhh !! You didn't bring enough items!! You need:";
+ mes "^3355FF1 pair of Geek Glasses, 50,000 Zeny and 100 Steel^000000.";
+ emotion 6;
+ close;
+
+ M_End:
+ mes "[Marius]";
+ mes "Hey you! You DARE IGNORE ME!! I am MARIUS the alchemist of ALCHEMISTS!!!!!";
+ emotion 23;
+ close;
+}
diff --git a/npc/quests/quests_payon.txt b/npc/quests/quests_payon.txt
new file mode 100644
index 000000000..fd6127544
--- /dev/null
+++ b/npc/quests/quests_payon.txt
@@ -0,0 +1,292 @@
+//===== eAthena Script =======================================
+//= Item Quest NPCs located in Payon
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= Pretend Murder, Ear Muffs, Oxygen, Derivuchi Cap, Helm of Angel Quests.
+//===== Additional Comments: =================================
+//= Fully working
+//= 1.1 Helm of Angel bug fixed [Lupus]
+//= 1.2 Fixed skirt of virgin [Lupus]
+//= 1.3 Fixed exploits [Lupus]
+//============================================================
+
+
+
+//==========================================================================================//
+// Pretend Murdered quest
+//==========================================================================================//
+payon.gat,154,170,4 script Granny 78,{
+ mes "[Granny]";
+ if(countitem(1049) >= 4) goto L_Get;
+
+ mes "Oh deary me. What to do... what to do........ You see I want to nitt some special clothes for my family but I don't have the right cloth to do so.";
+ next;
+ mes "[Granny]";
+ mes ".....sigggghhhhhh........";
+ next;
+ mes "[Granny]";
+ mes "Why what's this? Mushrooms? Oh yes I remember now, I pick these mushrooms on the Payon Mountain side.";
+ mes "Ho ho, I have such a hard time remembering things now.";
+ next;
+ mes "[Granny]";
+ mes "What was I saying before? Oh yes! I need some special cloth to make clothes for my family.";
+ mes "If you happen to come across some ^5555FF'Skirt of Virgin'^000000, please let me know.";
+ emotion 20;
+ next;
+ mes "[Granny]";
+ mes "I need ^5555FF'4 Skirt of Virgin'^000000 to make the clothes. I will be very greatfull if you could bring me some.";
+ close;
+
+L_Get:
+ mes "Oh! You have 4 Skirt of Virgin. Would you be willing to give them to me dear?";
+ next;
+ menu "Why of course granny",-,"Heck no ya old bag!",M_No;
+
+ if(countitem(1049) < 4) goto M_No;
+ mes "[Granny]";
+ mes "Bless your kind heart. Now I can make some special clothes for my family. Let me give you a reward for being so genrous dear.";
+ emotion 14;
+ next;
+ getitem 2293,1;
+ delitem 1049,4;
+ mes "[Granny]";
+ mes "There you are. It's something I kept from my younger days as an actress. I was quite fetching and very popular back then.";
+ mes "I've kept it as a reminder of my days as an actress, but with my memory as bad as it is, it's really of no use to me anymore.";
+ next;
+ mes "[Granny]";
+ mes "I'm sure you'll have fun using it at parties.";
+ close;
+
+ M_No:
+ mes "[Granny]";
+ mes "Well I never!!! Kids these days just have no respect or compasion for their elders!";
+ emotion 32;
+ close;
+
+}
+
+
+//========================================================================================//
+// Ear Muffs Quest
+//========================================================================================//
+payon_in01.gat,18,10,4 script Mystic Lady 75,{
+ mes "[Mystic Lady]";
+ mes "Hi there.";
+ next;
+ menu "Hello.",-,"Please make me a pair of Ear Muffs.",M_Muffs, "End",M_End;
+
+ mes "[Mystic Lady]";
+ mes "My family and I recently came to Payon.";
+ mes "Where we came from the weather was very cold so we started a business hand making a special type of ^5555FF'Ear Muffs'^000000";
+ next;
+ mes "[Mystic Lady]";
+ mes "I have tried to continue the family business here in Payon but it has proven to be difficult because of the warm whether.";
+ next;
+ mes "[Mystic Lady]";
+ mes "Although the 'Ear Muffs' aren't very usefull here, if you plan on going somewhere that's cold our 'Ear Muffs' are a must have.";
+ next;
+ mes "[Mystic Lady]";
+ mes "All I need are:";
+ mes "^5555FF1 Cursed Ruby,";
+ mes "1 Headset,";
+ mes "200 Feathers,";
+ mes "and a 5,000 zeny fee^000000 for my labor.";
+ next;
+ mes "[Mystic Lady]";
+ mes "With those items I can make you a pair of 'Ear Muffs'. Believe me, they are of the highest quality and look good on just about anybody!";
+ close;
+
+ M_Muffs:
+ if(countitem(724)<1 || countitem(5001)<1 || countitem(949)<200 || zeny<5000) goto sL_NotEnuf;
+ delitem 724,1;
+ delitem 5001,1;
+ delitem 949,200;
+ set Zeny, Zeny-5000;
+ mes "[Mystic Lady]";
+ mes "Oh, I see that you have brought all of the required items. Just a moment please...";
+ next;
+ mes "[Mystic Lady]";
+ mes "... this goes here... that goes there...... some glue here... a couple stitches over there..........";
+ next;
+ getitem 2283,1;
+ mes "[Mystic Lady]";
+ mes "Ah, there you are! One pair of my familys' specialty Ear Muffs. Enjoy!";
+ close;
+
+ sL_NotEnuf:
+ mes "[Mystic Lady]";
+ mes "I'm sorry but you don't have the required items for me to make you a pair of my familys' specialty Ear Muffs.";
+ close;
+ M_End:
+ close;
+
+}
+
+
+//========================================================================================//
+// Oxygen Mask Quest
+//========================================================================================//
+payon_in02.gat,25,71,4 script Young Man 86,{
+ mes "[Young Man]";
+ if(countitem(701) >= 5) goto L_GotOra;
+ mes "Blahhhhhh! I... I... I JUST CAN'T take it anymore!! You little stinky, filthy, BASTARDS!!!";
+ emotion 6;
+ next;
+ menu "Continue.",M_Cont, "End Conversation.",M_End;
+
+ M_Cont:
+ mes "[Young Man]";
+ mes "~Sigh~ I've had a rough life. You see, both my parents passed away when I was a kid, so I had to work to support myself at a young age.";
+ next;
+ mes "[Young Man]";
+ mes "It sure was rough. But after 10 years of hard work I was able to save up and finally buy myself a home!";
+ next;
+ mes "[Young Man]";
+ mes "Unfortunately I didn't have that much money, so I couldn't buy the home I really wanted.";
+ mes "Instead, I found this house..... It was big and cheap.... so I bought without really thinking my decision through.....";
+ next;
+ mes "[Young Man]";
+ mes "Jeez was that a mistake...... The house turned out to be a HAVEN for THIEF BUGS!!!";
+ emotion 23;
+ next;
+ mes "[Young Man]";
+ mes "I tried EVERYTHING to get rid of them! I sprayed them, I smashed them, I lured them out with food.........";
+ mes "Finally as a last resort.... I even tried to burn the house down!!";
+ next;
+ mes "[Young Man]";
+ mes "Grrr! What will it take to get rid of these vile creatures???";
+ emotion 32;
+ next;
+ mes "[Young Man]";
+ mes "I've heard there is something called ^3355FF'Ora Ora'^000000, that people in other countries use to fight bugs.....";
+ mes "But will it work for my situation?";
+ next;
+ mes "[Young Man]";
+ mes "I'm willing to give anything a try at this point. I don't have much money so I can only afford ^5555FF'5 Ora Oras'^000000.";
+ mes "If you happen to come across some 'Ora Ora' please let me know.";
+ close;
+
+ M_End:
+ mes "[Young Man]";
+ mes "I'm just so tired of fighting this never ending battle against these bugs...... those dirty scumbags!!";
+ emotion 32;
+ close;
+
+L_GotOra:
+ mes "ArrrGgghhh!! No!... It can't be!..... I think I'm going mad... they're starting to look so cute... ArrrGgghhh!!... Nooooooo!!";
+ emotion 23;
+ M_Menu:
+ next;
+ menu "Continue",M_Cont, "Show Ora Ora",-, "Give Ora Ora",M_Give, "Cancel",M_End2;
+
+ mes "[Young Man]";
+ mes "Oooooohhhh..... is.. is this... is this... Ora Ora...??? If you give it to me I'll give you my prized treasure in return!";
+ mes "What do you say?? Is it a deal?";
+ goto M_Menu;
+
+ M_Give:
+ if(countitem(701) < 5) goto L_Cheater;
+ delitem 701,5;
+ mes "[Young Man]";
+ mes "Muhahahahah!!! Finally, I have it.... Ora Ora! Stupid and distgusting Thief Bugs.... you'll pay for invading MY HOME!!!";
+ emotion 29;
+ next;
+ mes "[Young Man]";
+ mes "..... Eh em... sorry. I was a little outa control there.... Ah, let me give you my valuable treasure......";
+ emotion 4;
+ next;
+ getitem 5004,1;
+ mes "[Young Man]";
+ mes "By wearing this over your mouth, the air you breathe will be filltered so that you can breathe clean air.";
+ mes "I picked it up while I was a Sailor out at sea. I really have no need for it.";
+ next;
+ mes "[Young Man]";
+ mes "Hehehehe!! I can't wait to use this Ora Ora!!!";
+ close;
+
+ L_Cheater:
+ mes "Oh... Where is it?!";
+ next;
+
+ M_End2:
+ mes "[Young Man]";
+ mes "What if I CAN'T get rid of these thief bugs???... I guess the only other thing I could do is fall in love with them...... heh... heh... heh....";
+ emotion 4;
+ close;
+
+}
+
+
+//========================================================================================//
+// Derivuchi Cap(Hat of Petite Diablo), Helm of Angel
+//========================================================================================//
+payon_in01.gat,56,12,4 script Young Man 89,{
+ mes "[Young Man]";
+ mes "What is it?............";
+ next;
+ menu "Can you make me a special item?",-, "Nothing.",M_End;
+
+ mes "[Young Man]";
+ mes "I see.... so you know about me huh?.... Ok, tell me what you want.";
+ next;
+ menu "-Helm of Angel",-, "-Deviruchi Hat",sM_Devir, "-I'll come back later.",M_End;
+
+ mes "[Young Man]";
+ mes "For the Helm of Angel I will need:";
+ mes "- ^5555FF1 Helm (slotted)^000000.";
+ mes "- ^5555FF1 Angel Wing^000000.";
+ mes "- ^5555FF5 Fang of Garm^000000.";
+ set @HAT, 1;
+ next;
+ goto sL_GetHat;
+ sM_Devir:
+ mes "[Young Man]";
+ mes "For the Deviruchi Hat I will need:";
+ mes "- ^5555FF600 Little Evil Horn^000000.";
+ mes "- ^5555FF40 Talon of Griffon^000000.";
+ set @HAT, 2;
+
+ sL_GetHat:
+ mes "[Young Man]";
+ mes "Wait a moment! Be carefull about what items you give me.";
+ mes "I do not distinguish between equipment that has been forged or has cards attached to them.";
+ mes "If you don't want to loose a precious card or piece of equipment, make sure you don't have it equiped.";
+ next;
+ mes "[Young Man]";
+ mes "Do you have all of the items needed?";
+ menu "-Give him the items.",-, "Nevermind.",M_End;
+
+ if(@HAT == 2) goto ssL_Devir;
+
+ if(countitem(2229)<1 || countitem(2254)<1 || countitem(7036)<5) goto ssL_NotEnuf;
+ delitem 2229, 1;
+ delitem 2254, 1;
+ delitem 7036, 5;
+ mes "[Young Man]";
+ mes "Here is your Helm of Angel.";
+ getitem 5025, 1;
+ close;
+ ssL_Devir:
+ if(countitem(1038)<600 || countitem(7048)<40) goto ssL_NotEnuf;
+ delitem 1038, 600;
+ delitem 7048, 40;
+ mes "[Young Man]";
+ mes "Here is your Deviruchi Hat.";
+ getitem 5038, 1;
+ close;
+ ssL_NotEnuf:
+ mes "[Young Man]";
+ mes "You don't have enough items for me to make what you want.";
+ close;
+
+ M_End:
+ mes "[Young Man]";
+ mes "Fine then.....";
+ close;
+
+}
diff --git a/npc/quests/quests_prontera.txt b/npc/quests/quests_prontera.txt
new file mode 100644
index 000000000..546635cfc
--- /dev/null
+++ b/npc/quests/quests_prontera.txt
@@ -0,0 +1,97 @@
+//===== eAthena Script =======================================
+//= Item Quest NPCs located in Prontera
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= Ph.D Hat Quest
+//===== Additional Comments: =================================
+//= Fixed flower name Dreamy -> Illusion
+//= 1.2 Fixed exploit [Lupus]
+//============================================================
+
+
+// Ph.D Hat Quest-------------------------------------------------------
+prt_in.gat,38,108,4 script Teacher 53,{
+ if(countitem(710) >= 1 && countitem(703) >= 1 && countitem(704) >= 1 && countitem(708) >= 1) goto L_Start;//Items: Illusion Flower, Hinalle, Aloe, Ment,
+ mes "Don't you think.... ^4444FF'flowers'^000000 are pretty?";
+ next;
+ menu "Talk.",-, "End Conversation.",M_End;
+
+ mes "[Teacher]";
+ mes "When I was young, I didn't play with friends like the other children. Instead, I spent time studing by myself.";
+ next;
+ mes "[Teacher]";
+ mes "Sometimes I regret that decision.... but it doesn't really matter now. Through hard work, I was able to finish school earlier than my classmates.";
+ next;
+ mes "[Teacher]";
+ mes "I was very lonely however..... when things got rough I had no one to talk to about my feelings.";
+ next;
+ mes "[Teacher]";
+ mes "Then one day, I found my best friend.";
+ next;
+ mes "[Teacher]";
+ mes "It was when I saw this pretty flower blooming in an abandoned garden.... I realised that it was just like me and in it, I found my best friend.";
+ next;
+ mes "[Teacher]";
+ mes "Even though, to others it was just a common flower.... for me this flower meant much more. This flower gave me the strength to continue my studies.";
+ mes "I could achieve my goals because of her.";
+ next;
+ mes "[Teacher]";
+ mes "So.. now... I am trying to repay to her. I have started studying Flowers, and It is my goal to cover the whole world in Flowers!";
+ next;
+ mes "[Teacher]";
+ mes "To accomplish my work.. I need a great deal of flowers. Unfortunately because of my studies, I can rarely go outside.";
+ mes "It is really hard to find as many flowers as I need.";
+ next;
+ mes "[Teacher]";
+ mes "I need 1 ^3355FFIllusion Flower^000000 ,1 ^3355FFHinalle^000000,1 ^3355FFAloe^000000 and 1 ^3355FFMent^000000...";
+ mes "If you can bring these flowers to me, I would be willing to give you a special item...";
+ close;
+
+ M_End:
+ mes "[Teacher]";
+ mes "One of these days I will cover whole world in Flowers!.....";
+ close;
+
+L_Start:
+ mes "[Teacher]";
+ mes "Oh... Those Flowers in your hand are....";
+ M_Menu:
+ next;
+ menu "Show Flowers",-, "Give Flowers",M_Give, "Cancel",M_End;
+
+ mes "[Teacher]";
+ mes "Ah... How wonderful!! These are definately the 4 kinds of Flowers I was looking for ..";
+ mes "The ^3355FFIllusion Flower, Hinalle, Aloe, and Ment^000000. Would you give them to me?...";
+ next;
+ mes "[Teacher]";
+ mes "If you do I'd be willing to give you a special item.....";
+ goto M_Menu;
+
+ M_Give:
+ if(countitem(710) < 1 || countitem(703) < 1 || countitem(704) < 1 || countitem(708) < 1) goto L_Cheater;//Items: Illusion Flower, Hinalle, Aloe, Ment,
+ delitem 710,1;//Items: Illusion Flower,
+ delitem 703,1;//Items: Hinalle,
+ delitem 704,1;//Items: Aloe,
+ delitem 708,1;//Items: Ment,
+ mes "[Teacher]";
+ mes "I really, really appreciate what you've done for me!! I trully am grateful! I will give you a very special item as I promised.";
+ emotion 15;
+ next;
+ mes "[Teacher]";
+ mes "This is the hat I wore at my Graduation Ceremony. It is a reminder of my joyfull school days at the University.";
+ mes "Please take it...";
+ getitem 5012,1;//Items: Ph.D Hat,
+ close;
+
+ L_Cheater:
+ mes "[Teacher]";
+ mes "I won't give a special item to a cheater...";
+ mes "Now go away!";
+ emotion e_bzz;
+ close;
+}
diff --git a/npc/quests/quests_umbala.txt b/npc/quests/quests_umbala.txt
new file mode 100644
index 000000000..a0ba5a4b2
--- /dev/null
+++ b/npc/quests/quests_umbala.txt
@@ -0,0 +1,354 @@
+//===== eAthena Script =======================================
+//= Quests NPCs related to Umbala City
+//===== By: ==================================================
+//= sabernet09 & eAthena Team
+//===== Current Version: =====================================
+//= 1.6
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= Umbalian Language Quest, +
+//===== Additional Comments: =================================
+//= fixed by x[tsk], Lupus, PoW
+//= Quest completion is now registered
+//= 1.1 fixed Poporing Egg ID -> Poring Egg, fixed condition
+//= 1.2-1.5 fixed some Umbalian Language quests:
+//= - Now if Umbalian Chief tell u about meaning of masks
+//= you can interact with activated Sphinx Mask Quest
+//= - with Wise Man Fabius you can learn Umbalian Language
+//= in alternative way.
+//= 1.6 Fixed bugs [Lupus]
+//= TODO: should I add a jRO Werewolf Quest? 8)
+//============================================================
+
+
+
+//===========================================================================
+//this quest is related to Umbalian Chief
+morocc.gat,140,156,5 script Turban Thief 58,{
+ if(mask_q == 0) goto AWAY;
+ if(mask_q == 2) goto NoBus;
+ mes "[Turban Thief]";
+ mes "E'llo mah frien, would I interesst tu with this rare mask? Its value I assure you is real mah frien. Tis manific!";
+ next;
+ mes "[Turban Thief]";
+ mes "Wah? O ho ho ho, so you know thaz I steal dis from those savages no? Well I won'tz give it back. But I will for a pricez... wat you say?";
+ next;
+ menu "Pay 1,000,000z",-,"No deal",NoGo;
+
+ if(Zeny < 1000000) goto NotEnough;
+ set Zeny,Zeny-1000000;
+ mes "[Turban Thief]";
+ mes "O ho ho, its a deal then!";
+ getitem 7114,1;//Items: Sphinx Mask,
+ set mask_q,2;
+ close;
+
+ NoGo:
+ mes "[Turban Thief]";
+ mes "Ahh a business man are you no? Fine, how about...";
+ next;
+ menu "Pay 750,000",-,"Nope lower",NoGoB;
+
+ if(Zeny < 750000) goto NotEnough;
+ set Zeny,Zeny-750000;
+ mes "[Turban Thief]";
+ mes "It is a done deal, no refunds!";
+ getitem 7114,1;//Items: Sphinx Mask,
+ set mask_q,2;
+ close;
+ NoGoB:
+ mes "[Turban Thief]";
+ mes "Hmmm... you drive a hard bargain, ok... my final offer...";
+ next;
+ menu "Pay 500,000",-,"It can go lower than that.",NoGoC;
+
+ if(Zeny < 500000) goto NotEnough;
+ set Zeny,Zeny-500000;
+ mes "[Turban Thief]";
+ mes "Alright, here you go then...";
+ getitem 7114,1;//Items: Sphinx Mask,
+ close;
+ NoGoC:
+ next;
+ mes "[Turban Thief]";
+ mes "Ack! Forgez it! I can do bettaz en elsez where!";
+ set mask_q,2;
+ close;
+ NoBus:
+ mes "[Turban Thief]";
+ mes "You have no more business with me, go away!";
+ close;
+ AWAY:
+ mes "[Turban Thief]";
+ mes "What do you wan te withz me? Be gone!";
+ close;
+ NotEnough:
+ mes "[Turban Thief]";
+ mes "Are youz playin wit me? You don't have ze money!";
+ close;
+}
+
+//======================================================================================//
+// Umbala Language Quest (optional)
+//======================================================================================//
+
+prontera.gat,145,290,5 script Mason 742,{
+ mes "[Mason]";
+ if(umb_lang==0) goto L_NOT_GOT_QUEST;
+ if(umb_lang==2 || umb_mason==1) goto L_AGAIN;
+
+ mes "Hey there, I came here to Prontera in search of an old lady who can remove cards from slots. Do you know where I can find her?";
+ menu "Yes",-, "No",M_NO;
+
+ mes "Oooo, could you please tell me where she's at? I'd be really appreciative.";
+ menu "Swordsman Association",-, "Sanctuary",M_Boo1,"Prontera Chivalry",M_Boo2,"Trading Post",M_Boo3,"Kit Shop",M_Boo4,"Inn",M_Boo5,"Armory",M_DONE,"Library",M_Boo6,"Job Agency",M_Boo7,"Prontera Castle",M_Boo8,"City Hall",M_Boo9;
+
+ next;
+ mes "[Mason]";
+ mes "Hmm... I dunno why she would be there... guess I'll take a look.";
+ close;
+M_Boo1:
+ next;
+ mes "[Mason]";
+ mes "Wow I never knew she was a religious person... I'll see to it thanks.";
+ close;
+M_Boo2:
+ next;
+ mes "[Mason]";
+ mes "Hmm.... are you sure about that?";
+ close;
+M_Boo3:
+ next;
+ mes "[Mason]";
+ mes "Why would she need to go there? I think you might be mistaken.";
+ close;
+M_Boo4:
+ next;
+ mes "[Mason]";
+ mes "The only thing she'd need at a Kit shop is medicine for her rheumatism. She's probably long gone from there by now.";
+ close;
+M_Boo5:
+ next;
+ mes "[Mason]";
+ mes "I don't think she needs to be there, she LIVES here in Prontera.";
+ close;
+M_Boo6:
+ next;
+ mes "[Mason]";
+ mes "Ah I see, if she's studying then I don't want to bother her. Thanks anyways.";
+ close;
+M_Boo7:
+ next;
+ mes "[Mason]";
+ mes "Job Agency? I don't think so. Don't lead me all around Prontera please! She's already a teacher here.";
+ close;
+M_Boo8:
+ next;
+ mes "[Mason]";
+ mes "The castle eh, I don't want to step in there... just doesn't feel like my style. I don't like that noble feeling of importance type of thing.";
+ close;
+M_Boo9:
+ next;
+ mes "[Mason]";
+ mes "O wow, did she become an important part of Prontera? I'd think she's too busy for me to visit. I'll try again later.";
+ close;
+M_DONE:
+ next;
+ mes "[Mason]";
+ mes "Ah, I heard that her class was somewhere around there... thanks a lot! Here's a lil something for your help.";
+ getitem 7117,1;//Items: Torn Spell Book,
+ set umb_mason,1;
+ close;
+
+L_AGAIN:
+ emotion 15;
+ mes "Yay, I found her! Thank you very much for you help!";
+ close;
+
+L_NOT_GOT_QUEST:
+ mes "Hi! I came here to Prontera in search of an old lady... But...";
+ close;
+M_NO:
+ mes "Oh.. Ok.. Thanks anyways.";
+ close;
+}
+
+aldebaran.gat,153,212,1 script Mojo 740,{
+ mes "[Mojo]";
+ if(umb_lang!=1) goto L_NOT_GOT_QUEST;
+ mes "Oh no! I lost my teacher's ^FF0000old magic book^000000!";
+ mes "What am I going to do... those dumb Bathory...";
+ if(umb_lang==1) set umb_mojo,1;
+ close;
+L_NOT_GOT_QUEST:
+ emotion 1;
+ mes "I lost my teacher's book! What am I going to do...";
+ close;
+}
+
+amatsu.gat,267,189,4 script Marie 744,{
+ mes "[Marie]";
+ if(umb_lang==0) goto L_NOT_GOT_QUEST;
+ if(umb_lang==2 || umb_marie==1) goto L_AGAIN;
+ if(countitem(9001)>0 && countitem(643)>0) goto L_DONE;//Items: Poring Egg, Pet Incubator,
+ mes "Hello, is there something you need?";
+ next;
+ menu "No nothing at all.",M_NO,"Your teacher sent me.",-;
+
+ mes "[Marie]";
+ mes "What does he want from me?";
+ emotion 1;
+ next;
+ mes "[Marie]";
+ mes "Oh wait, I see... he wants his reference scroll back am I right? Well, I'm kinda still using it buuut... I'll give it back if you can gimme a poring egg and an incubator. Those things are so cute!";
+ close;
+
+L_NOT_GOT_QUEST:
+ emotion 1;
+ mes "Hi! What do you want from me?";
+ close;
+
+M_NO:
+ mes "[Marie]";
+ mes "Hrrmm okay? Cya then..";
+ close;
+
+L_DONE:
+ mes "Heyyy there, you have a poring egg and the pet incubator to go with it! Are those for me?";
+ menu "Yep!",-, "Sorry, no.",M_DOH;
+
+ mes "[Marie]";
+ if(countitem(9001)==0 && countitem(643)==0) goto M_DOH;//Items: Poring Egg, Pet Incubator,
+ mes "Yatta! Here's a lil something in return.";
+ delitem 9001,1;//Items: Poring Egg,
+ delitem 643,1;//Items: Pet Incubator,
+ getitem 7118,1;//Items: Torn Scroll,
+ set umb_marie,1; //got Torn Scroll
+ close;
+
+M_DOH:
+ mes "Oh.. pooo... sigh...";
+ close;
+
+L_AGAIN:
+ emotion 15;
+ mes "Yay! I love Porings!";
+ close;
+}
+
+yuno.gat,157,366,2 script Wise Man Fabius 743,{
+ mes "[Fabius]";
+ if(event_umbala >= 3) set umb_lang,2; //You already learnt Umbalian language from Umbalian Chief. So this Quest is disabled
+ if(umb_lang<2) goto L_QUEST;
+ mes "You speak Umbalian fluently! So you will never forget the language of Umbalians!";
+ close;
+L_QUEST:
+ if((countitem(1006) < 1) || (countitem(7118) < 1) || (countitem(7117) < 1)) goto L_DONE;//Items: Old Magic Book, Torn Scroll, Torn Spell Book,
+ delitem 1006,1; //Items: Old Magic Book,
+ delitem 7118,1; //Items: Torn Scroll,
+ delitem 7117,1;//Items: Torn Spell Book,
+ emotion 15;
+ mes "Ah, you've done well in retrieving my references. These artifacts holds information about ruins around the world, from the burning hell of the Magma Dungeon, to the strange eerie Hidden Forest of Yggsadril.";
+ next;
+ mes "[Fabius]";
+ mes "But enough talk, you're just eager to get your reward aren't you? Well it may not sound much, but my reward for you is knowledge...";
+ next;
+ mes "[Fabius]";
+ mes "Actually it is knowledge of the Umbalian people. They are connected to this world of Midgard in some special way, we just can't confirm it yet. There is a theory that they may be like the elves and protect the ancient tree of Yggsadril.";
+ next;
+ mes "[Fabius]";
+ mes "And I, a great wise man of Yuno, will teach you their language!";
+ next;
+ mes "^0000FF Learned the language of Umbalians! ^000000";
+ set umb_lang,2;
+ //clear subquests
+ set umb_marie,0;
+ set umb_mason,0;
+ set umb_mojo,0;
+ //make you understand Umbalian people
+ //it's an alternative way to learn Umbalian Language
+ if(event_umbala < 3) set event_umbala,3;
+ close;
+L_DONE:
+ set umb_lang,1; //got Quest
+ mes "Argh! My three students ran off with my references! Hey you! Can you get them back for me? I'll gladly reward you.";
+ next;
+ mes "[Fabius]";
+ mes "From what I know, they're in different seperate towns making something out of themselves.";
+ if(umb_marie==0 && umb_mason==0 && umb_mojo==0) goto L_NOT_MET;
+ if(umb_marie==1) mes "Oh... You found Marie in Amatsu.";
+ if(umb_mojo==1) mes "You saw Mojo in Aldebaran?";
+ if(umb_mason==1) mes "So... Mason's in Prontera now... Well...";
+ if(umb_marie==0) mes "I wonder where is our sea girl Marie?";
+ if(umb_mojo==0) mes "Mojo should be somewhere near water...";
+ if(umb_mason==0) mes "Where'd Mason go then...";
+ mes "Oh yeah, tell them I sent you";
+ close;
+L_NOT_MET:
+ mes "Oh yeah, tell them I sent you, their names are Marie, Mason and Mojo.";
+ close;
+}
+
+//========================================================================================================================\\
+// Little Quest NPC to enter the dungeon
+// Fixed by Akaru
+//========================================================================================================================\\
+umbala.gat,65,253,4 script Tree Guardian 752,{
+ mes "[Tree Guardian]";
+ mes "Stop, stranger, here is the entrance to the ancient tree!";
+ next;
+ mes "[Tree Guardian]";
+ mes "I cannot allow you to enter, you look pretty weak!";
+ next;
+L_MENU:
+ menu "Talk about tree",-, "Talk about Umbala",M_TALKUMB, "Enter Dungeon",M_DUN, "Leave",M_Leave;
+
+ mes "[Tree Guardian]";
+ mes "The tree is an ancient relique of our culture!";
+ next;
+ mes "[Tree Guardian]";
+ mes "But recently some monsters overwhelmed the tree and are now";
+ mes "slowly killing the tree...like a poison...from inside..";
+ next;
+ goto L_MENU;
+M_TALKUMB:
+ mes "[Tree Guardian]";
+ mes "We don't have many visitors in our small town..";
+ next;
+ mes "[Tree Guardian]";
+ mes "Most people don't find us or are just afraid of us!";
+ next;
+ mes "[Tree Guardian]";
+ mes "And now, we are even more unpopular, because of that damn beast!";
+ next;
+ menu "What beast?",- ,"Leave",M_Leave;
+
+ mes "[Tree Guardian]";
+ mes "The Werewolf of course!!";
+ next;
+ mes "[Tree Guardian]";
+ mes "He is sneaking around our town and killing our soldiers at night!";
+ next;
+ mes "[Tree Guardian]";
+ mes "Hey...if you could get rid of that beast!";
+ next;
+ mes "[Tree Guardian]";
+ mes "I'll let you in!";
+ next;
+ mes "[Tree Guardian]";
+ mes "From now on we can live in peace again, thanks to you!";
+ next;
+ mes "[Tree Guardian]";
+ mes "You may enter the dungeon now!";
+ set umbdun,1;
+ close;
+M_DUN:
+ mes "[Tree Guardian]";
+ if(umbdun != 1) mes "We do not permit weak people to enter!";
+ if(umbdun != 1) close;
+ mes "Come on in, brave warrior!";
+ warp "um_dun01.gat",42,30;
+M_Leave:
+ close;
+}
diff --git a/npc/quests/quests_yuno.txt b/npc/quests/quests_yuno.txt
new file mode 100644
index 000000000..aef5db4a9
--- /dev/null
+++ b/npc/quests/quests_yuno.txt
@@ -0,0 +1,128 @@
+//===== eAthena Script =======================================
+//= Quests NPCs located in Yuno City
+//===== By: ==================================================
+//= eAthena Dev Team
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= Help the bros and get some rubies or gold. This quest is
+//= also used in part of the Alchemist job quest.
+//===== Additional Comments: =================================
+//= v1.1 Re-did the text and re-organized the script. Corrected some items. [kobra_k88]
+//= v1.2 Added part to Bro's for alchemist quest [Darkchild]
+//= 1.3 fixed that part of Alch Job Quest. [Lupus]
+//= 1.4 Fixed exploit [Lupus]
+//============================================================
+
+
+//===========================================================================
+yuno_in01.gat,103,158,4 script Bain 98,{
+ set @name$, "[Bain]";
+
+OnStart:
+ mes @name$;
+ if(bros_q == 1) goto L_Check;
+ mes "We are going to invent a doll that can talk and communicate! Well, at least that's what I'm trying to do....";
+ mes "The idea came from an old tale about a doll that acted like a real person.";
+ next;
+ mes @name$;
+ mes "I figure if someone had the ability to make such a doll back then, then it should definitely be possible today.";
+ next;
+ mes @name$;
+ mes "Unfortunately I lack the proper supplies and parts to actually try and build the doll.";
+ mes "Although I can buy some of the things I need, many of these items can only be taken from monsters......";
+ next;
+ mes @name$;
+ mes "I am much to weak to defeat these monsters....... How will I be able to continue this project??.....";
+ next;
+ menu "I'll get the items for you.",-, "Good luck.",M_End;
+
+ mes @name$;
+ mes "Really? Such benevolence is rare in this day and age. We would be grateful for you assisstance.";
+ mes "Here are the items that we will be needing.......";
+ callsub sF_List;
+ set bros_q, 1;
+ close;
+
+ M_End:
+ mes @name$;
+ mes "We'll need a lot of luck if this is going to happen. If you know of anyone who can help us, please let us know.";
+ close;
+
+L_Check:
+ if(countitem(974) < 1 || countitem(612) < 5 || countitem(7068) < 5 || countitem(1003) < 5 || countitem(7043) < 5 ||
+ countitem(757) < 3 || countitem(756) < 3 || Zeny < 2000) goto L_NotEnuf;
+ delitem 974,1;
+ delitem 612,5;
+ delitem 7068,5;
+ delitem 1003,5;
+ delitem 7043,5;
+ delitem 757,3;
+ delitem 756,3;
+ set Zeny, Zeny-2000;
+ mes "Thank you very much! You found all of the items I needed. We could not have completed this project without your help";
+ next;
+ mes @name$;
+ mes "Okay, let's try this out!";
+ mes "Hold on for just a second!";
+ next;
+ mes "-Vrrrmrmrmrmrmrmrrmrmrmmrmrmrmrmmm";
+ next;
+ mes "-Pakakakakakakakakakakakakakak";
+ next;
+ mes "-Shakakakakakakakakakakaakakak";
+ next;
+ mes @name$;
+ mes "AHHH it is a success!";
+ mes "I don't know if we can do anything else, but this time we have created";
+ set @wowitem,rand(2);
+ if(@wowitem == 0) mes "5 Ruby!";
+ if(@wowitem == 0) getitem 723,5;
+ if(@wowitem == 1) mes "3 Gold!";
+ if(@wowitem == 1) getitem 969,3;
+ if(ALCH_Q == 6) set ALCH_Q2, 2; //for Alchemist Job Quest
+ set bros_q, 0;
+ next;
+ mes @name$;
+ mes "Now that we know that it works,";
+ mes "I don't have any need for this.";
+ mes "Why don't you take it? Oh,";
+ mes "and if you find anymore parts,";
+ mes "bring them to me again. Heheheheh.";
+ next;
+ mes @name$;
+ mes "Thanks for helping me out.";
+ mes "You have my eternal gratitude.";
+ mes "I wish you luck in your journeys!";
+ close;
+
+ L_NotEnuf:
+ mes "In case you forgot, these are the items that we will need. I suggest you write them down......";
+ callsub sF_List;
+ close;
+
+sF_List:
+ next;
+ mes @name$;
+ mes "^5533FF1 Mixture";
+ mes "5 Mini-Furnaces";
+ mes "5 Burnt Trees";
+ mes "5 Coal";
+ mes "5 Fine Sand";
+ mes "3 Rough Elunium";
+ mes "3 Rough Oridecon^000000";
+ next;
+ mes @name$;
+ mes "We will also need ^5533FF2,000 zeny^000000.";
+ mes "The money will help pay for the minor expenses invovled in the undertaking of this project. Good luck and please be safe.";
+ return;
+}
+
+//=====================================================================
+yuno_in01.gat,99,153,4 script Bajin 47,{
+ set @name$, "[Bajin]";
+ doevent "Bain::OnStart";
+ close;
+}
diff --git a/npc/quests/skills/2nd_class_skills.txt b/npc/quests/skills/2nd_class_skills.txt
new file mode 100644
index 000000000..37c9a34d6
--- /dev/null
+++ b/npc/quests/skills/2nd_class_skills.txt
@@ -0,0 +1,897 @@
+//===== eAthena Script =======================================
+//= New Skills Quests
+//===== By: ==================================================
+//= Lupus, Reddozen
+//===== Current Version: =====================================
+//= 1.3a
+//===== Compatible With: =====================================
+//= eAthena Revision 3800+
+//===== Description: =========================================
+//= Temp quests for new skills for 2nd classes
+//===== Additional Comments: =================================
+//= 1.0 for fully working skills only [Lupus]
+//= 1.1 Added more new skill quests for more classes [Lupus]
+//= Somehow eA engine doesn't let you keep learn't skill V_V'
+//= 1.2 Added to correct locations, correct NPC's, fixed
+//= some of the items required and made them into real
+//= quests. [Reddozen]
+//= 1.3 Fixed bugs and minor typos. Optimized [Lupus]
+//= 1.3a fixed an item ID typo, thx 2Spiritual Kid
+//============================================================
+
+
+//============================================================
+// SAGE SKILL - CREATE CONVERTER + ELEMENTAL CHARGE
+//============================================================
+yuno_in03.gat,176,24,3 script Mischna 755,{
+ mes "[Mischna]";
+ if(BaseJob!=Job_Sage) goto L_sageno;
+ if(getskilllv(1007)) goto L_elemental;
+
+ mes "I can teach you a new skill";
+ mes "that I discovered, but you";
+ mes "will need to bring me a few";
+ mes "things to complete the";
+ mes "process.";
+ next;
+
+ mes "[Mischna]";
+ mes "We will need:";
+ mes "10 Scorpion Tails";
+ mes "7 Horns";
+ mes "12 Rainbow Shells";
+ mes "10 Snail Shells";
+ mes "4 Blank Scrolls";
+ next;
+
+ mes "[Mischna]";
+ mes "Let me check your items.";
+ next;
+
+ if(countitem(904)<10 || countitem(947)<7 || countitem(1013)<12 || countitem(946)<10 || countitem(7433)<4) goto L_noitems;//Items: Scorpion_Tail, Horn, Rainbow_Shell, Snail's_Shell, Blank_Scroll,
+ delitem 904, 10;//Items: Scorpion_Tail,
+ delitem 947, 7;//Items: Horn,
+ delitem 1013, 12;//Items: Rainbow_Shell,
+ delitem 946, 10;//Items: Snail's_Shell,
+ delitem 7433, 4;//Items: Blank_Scroll,
+
+ mes "[Mischna]";
+ mes "I see you have what we need,";
+ mes "so I'll teach you this new";
+ mes "talent of mine!";
+ skill 1007,1,0;
+ next;
+
+ mes "[Mischna]";
+ mes "Do you feel more in tune";
+ mes "with nature?";
+ close;
+
+L_noitems:
+ mes "[Mischna]";
+ mes "You dont have enough items.";
+ mes "Come back when you have all";
+ mes "the required items for me.";
+ close;
+
+L_sageno:
+ mes "Hi I'm Mischna. How are you?";
+ mes "Please enjoy your stay here";
+ mes "within the walls of the great";
+ mes "Sage's guild.";
+ close;
+
+L_sagefail:
+ mes "[Mischna]";
+ mes "You dont have enough items.";
+ mes "Come back when you have all";
+ mes "the required items for me.";
+ mes "to give you this power over";
+ mes "the elements.";
+ close;
+
+L_alreadyhave:
+ mes "You are such a wonderfull";
+ mes "student. It's too bad I have";
+ mes "nothing more to teach you.";
+ close;
+
+L_elemental:
+ if(getskilllv(1008) || getskilllv(1017) || getskilllv(1018) || getskilllv(1019)) goto L_alreadyhave;
+
+ mes "I have one more skill that";
+ mes "I can teach you, but you";
+ mes "will need to bring me one of";
+ mes "these sets in return...";
+ next;
+
+ mes "[Mischna]";
+ mes "I can only except one set.";
+ mes "20 Red blood (fire)";
+ mes "20 Crystal Blue (water)";
+ mes "20 Wind of Verdure (Wind)";
+ mes "20 Green Live (Earth)";
+ next;
+
+ mes "[Mischna]";
+ mes "Rember that I can only teach";
+ mes "you one, so Choose carefully!";
+ next;
+
+ menu "Water Charge",sage_1, "Earth Charge",sage_2, "Fire Charge",sage_3, "Wind Charge",sage_4;
+
+ sage_1:
+ if(countitem(991)<20)goto L_sagefail;//Items: Crystal_Blue,
+ delitem 991, 20; //Items: Crystal_Blue,
+ skill 1008,1,0;
+ goto L_alreadyhave;
+
+ sage_2:
+ if(countitem(993)<20)goto L_sagefail;//Items: Green_Live,
+ delitem 993, 20;//Items: Green_Live,
+ skill 1017,1,0;
+ goto L_alreadyhave;
+
+ sage_3:
+ if(countitem(990)<20)goto L_sagefail;//Items: Red_Blood,
+ delitem 990, 20;//Items: Red_Blood,
+ skill 1018,1,0;
+ goto L_alreadyhave;
+
+ sage_4:
+ if(countitem(992)<20)goto L_sagefail;//Items: Wind_of_Verdure,
+ delitem 992, 20;//Items: Wind_of_Verdure,
+ skill 1019,1,0;
+ goto L_alreadyhave;
+}
+
+//============================================================
+// HUNTER SKILL - PHANTASMIC ARROW
+//============================================================
+payon_in02.gat,54,13,7 script Master Kabac 55,{
+ mes "[Master Kabac]";
+ if(BaseJob!=Job_Hunter) goto L_hunterno;
+ if(getskilllv(1009)) goto L_alreadyhave;
+ if(JobLevel<40) goto L_nojob;
+
+ mes "I can teach you a secret";
+ mes "technique pased down through";
+ mes "my family for generation. My";
+ mes "family has guarded this secret";
+ mes "for years, but I could teach";
+ mes "for a few supplies.";
+ next;
+ mes "[Master Kabac]";
+ mes "I am running low on on a few";
+ mes "things. Here is my list:";
+ mes "5 Cursed Rubys";
+ mes "5 Harpy's Feathers";
+ mes "30 Pet Food";
+ next;
+
+ mes "[Master Kabac]";
+ mes "Let me check your items.";
+ next;
+
+ if(countitem(724)<5 || countitem(7115)<5 || countitem(537)<30) goto L_noitems;//Items: Cursed_Ruby, Harpy_Feather, Pet_Food,
+ delitem 724, 5;//Items: Cursed_Ruby,
+ delitem 7115, 5;//Items: Harpy_Feather,
+ delitem 537, 30;//Items: Pet_Food,
+
+ mes "[Master Kabac]";
+ mes "I see you have what you need,";
+ mes "so I'll teach you my talent.";
+ skill 1009,1,0;
+ close;
+
+L_noitems:
+ mes "[Master Kabac]";
+ mes "You dont have enough items.";
+ mes "Come back when you have all";
+ mes "the required items for me.";
+ close;
+
+L_nojob:
+ mes "Come back when you've Learned";
+ mes "more about being a Hunter.";
+ mes "You need to have at least 40";
+ mes "levels as a hunter first.";
+ close;
+
+L_alreadyhave:
+ mes "Ahh, my apprentence, you";
+ mes "came to visit me...";
+ close;
+
+L_hunterno:
+ mes "Is there something I can";
+ mes "help you with? I believe";
+ mes "you have the wrong old man.";
+ close;
+}
+
+//============================================================
+// BLACKSMITH SKILL - GREED + UNFAIR TRICK
+//============================================================
+//== DOODDAY - GREED SKILL ===================================
+geffen.gat,172,53,7 script Goodday 826,{
+ mes "[Goodday]";
+ if(BaseJob!=Job_Blacksmith) goto L_nosmith;
+ if(getskilllv(1013)) goto L_alreadyhave;
+ if(Weight < 5000 || (Weight > MaxWeight-MaxWeight/10)) goto L_notstrong;
+
+ mes "You look pretty strong, so I'll";
+ mes "teach you a little trick I found";
+ mes "while watching some wizards move";
+ mes "things around without lifting a";
+ mes "finger!";
+ skill 1013,1,0;
+ close;
+
+L_notstrong:
+ mes "Come back when you're strong";
+ mes "enough to handle the weight";
+ mes "of my ability. You will need";
+ mes "to be able to carry over 5000";
+ mes "weight, and not be over 90%.";
+ close;
+
+L_nosmith:
+ mes "Geffen is such a great town.";
+ mes "Don't you think so too?";
+ next;
+ emotion 23;
+ mes "[Goodday]";
+ mes "WHAT...";
+ mes "You don't!";
+ close;
+
+L_alreadyhave:
+ mes "I've already tought you";
+ mes "everything I know, so I";
+ mes "need to get back to my";
+ mes "work.";
+ close;
+}
+
+//== AKI - UNFAIR TRICK SKILL ==================================
+geffen.gat,178,72,7 script Aki 726,{
+ mes "[Aki]";
+ if(BaseJob!=Job_Blacksmith) goto L_nosmith;
+ if(getskilllv(1012)) goto L_alreadyhave;
+ if(getskilllv(1013)<1) goto L_nogreed;
+ if(JobLevel<30) goto L_nojob;
+ mes "We're going to need a few things";
+ mes "for this lesson. Bring me:";
+ mes "2 Steel";
+ mes "8 Coal";
+ mes "2 Iron Hammers";
+ mes "1 Detrimindexta";
+ mes "500 Zeny";
+ next;
+
+ mes "[Aki]";
+ mes "Let me check your items.";
+ next;
+
+ if(countitem(999)<2 || countitem(1003)<8 || countitem(613)<2 || countitem(971)<1 || zeny<500) goto L_noitems;//Items: Steel, Coal, Iron_Hammer, Detrimindexta,
+ delitem 999, 2;//Items: Steel,
+ delitem 1003, 8;//Items: Coal,
+ delitem 613, 2;//Items: Iron_Hammer,
+ delitem 971, 1;//Items: Detrimindexta,
+ set zeny, zeny-500;
+
+ mes "[Aki]";
+ mes "Good, You brought everything";
+ mes "with you already! We'll start";
+ mes "the process now.";
+ skill 1012,1,0;
+ next;
+
+ specialeffect 183;
+ mes "Wow, you're a fast learner.";
+ mes "Enjoy your new talents!";
+ close;
+
+L_noitems:
+ mes "[Aki]";
+ mes "You dont have enough items.";
+ mes "Come back when you have all";
+ mes "the required items for me.";
+ close;
+
+L_nosmith:
+ mes "Don't mind Goodday overthere.";
+ mes "He thinks everyone should like";
+ mes "this boring place!";
+ emotion e_laugh;
+ close;
+
+L_nogreed:
+ mes "If you're looking for more";
+ mes "to learn, then you should";
+ mes "talk to Goodday over there";
+ close;
+
+L_alreadyhave:
+ mes "WOW, I guess you've learned";
+ mes "all that the Blacksmith's of";
+ mes "Geffen can teach. Good luck";
+ mes "with your travels.";
+ close;
+
+L_nojob:
+ mes "Come back when you've Learned";
+ mes "more about being a blacksmith.";
+ mes "You will need a Job level of at";
+ mes "least lv 30 to learn what I";
+ mes "know.";
+ close;
+}
+
+//============================================================
+// CRUSADER SKILL - SHRINK
+//============================================================
+geffen.gat,110,118,3 script Ford 752,{
+ mes "[Ford]";
+ if(BaseJob!=Job_Crusader) goto L_nocruz;
+ if(getskilllv(1002)) goto L_alreadyhave;
+ mes "Maybe I'll teach you a little skill";
+ mes "if you bring me a few things...";
+ mes "Bring me these items and we'll";
+ mes "see if I feel like giving it to you.";
+ next;
+ mes "[Ford]";
+ mes "1 Red Potion";
+ mes "20 Sticky Mucus";
+ mes "3 Empty Bottles";
+ mes "5 Jellopies";
+ mes "1 Unripe Apple";
+ mes "1 Grape";
+ mes "1 Coal";
+ mes "3 Cyfars";
+ next;
+
+ mes "[Ford]";
+ mes "Let me check your items.";
+ next;
+
+ if(countitem(501)<1 || countitem(938)<20 || countitem(713)<3 || countitem(909)<5 || countitem(619)<1 || countitem(514)<1 || countitem(1003)<1 || countitem(7053)<3)goto L_noitems;//Items: Red_Potion, Sticky_Mucus, Empty_Bottle, Jellopy, Unripe_Apple, Grape, Coal, Cyfar,
+ delitem 501, 1;//Items: Red_Potion,
+ delitem 938, 20;//Items: Sticky_Mucus,
+ delitem 713, 3;//Items: Empty_Bottle,
+ delitem 909, 5;//Items: Jellopy,
+ delitem 619, 1;//Items: Unripe_Apple,
+ delitem 514, 1;//Items: Grape,
+ delitem 1003, 1;//Items: Coal,
+ delitem 7053, 3;//Items: Cyfar,
+ mes "[Ford]";
+ mes "Time to roll my lucky dice.";
+ mes "Good luck, I almost never lose.";
+//TODO: add DICE emotions? 8)
+ emotion 29;
+ next;
+ if(rand(1,6)!=3) goto L_lose;
+ emotion 58;
+ next;
+
+ skill 1002,1,0;
+ mes "[Ford]";
+ mes "I can't believe I lost!";
+ mes "I NEVER lose...";
+ emotion 28;
+ close;
+
+L_noitems:
+ mes "[Ford]";
+ mes "You dont have enough items.";
+ mes "Come back when you have all";
+ mes "the required items for me.";
+ close;
+
+L_lose:
+ emotion 63;
+ next;
+ mes "[Ford]";
+ mes "I win again!!";
+ mes "I'm not teaching you";
+ mes "anything this time. Come";
+ mes "back if you want to Try";
+ mes "again";
+ close;
+
+L_nocruz:
+ mes "If you are not a Crusader,";
+ mes "then you have no business";
+ mes "with me...";
+ close;
+
+L_alreadyhave:
+ mes "Hey, you were lucky I";
+ mes "even tought you the";
+ mes "skill I did! Don't press";
+ mes "your luck.";
+ close;
+}
+
+//============================================================
+// MONK - KI TRANSLATION + KI EXPLOSION
+//============================================================
+monk_test.gat,316,69,3 script Krate 823,{
+ mes "[Krate]";
+ if(BaseJob!=Job_Monk) goto L_nomonk;
+ if(getskilllv(1015) && getskilllv(1016)) goto L_alreadyhave;
+ if(monk_skill) goto L_verif;
+ if(Weight>0) goto L_heavymonk;
+ mes "I'll teach you all I know, but you must bring me:";
+ mes "40 Stems";
+ mes "3 Shoots";
+ set monk_skill, 1;
+ next;
+ goto L_verif;
+
+L_verif:
+ mes "Let me check your items.";
+ next;
+ if(countitem(711)<3 || countitem(905)<40) goto L_noitems;//Items: Shoot, Stem,
+ delitem 711, 3;//Items: Shoot,
+ delitem 905, 40;//Items: Stem,
+ next;
+ mes "[Krate]";
+ mes "I see you have what you need,";
+ mes "so I'll teach you my talent.";
+ skill 1015,1,0;
+ skill 1016,1,0;
+ set monk_skill, 0;
+ close;
+
+L_noitems:
+ mes "[Krate]";
+ mes "You dont have enough items.";
+ mes "Come back when you have all";
+ mes "the required items for me.";
+ close;
+
+L_nomonk:
+ mes "It's seems that your soul is disagree with your body";
+ mes "come back when your body and your soul will be like Ying and Yang.";
+ emotion e_gasp;
+ close;
+
+L_alreadyhave:
+ mes "I've already tought you";
+ mes "everything I know...";
+ close;
+
+L_heavymonk:
+ mes "Come back when you've cleansed";
+ mes "youself of your worldly possesions";
+ close;
+}
+
+//============================================================
+// ALCHEMIST - ELEMENTAL POTION CREATION
+//============================================================
+yuno_in04.gat,33,108,5 script Pislik 750,{
+ mes "[Pislik]";
+ if(BaseJob!=Job_Alchem) goto L_noalche;
+ if(countitem(7434)) goto L_alreadyhave;//Items: Elemental_Potion_Creation_Guide,
+ if(JobLevel<40) goto L_nojob;
+
+ mes "I'll teach you all I know, but";
+ mes "you have to bring me some things";
+ mes "first.";
+ mes "5 Yellow Gemstones";
+ mes "4 Empty Potion Bottles";
+ mes "10 Hearts of Mermaid";
+ mes "10 Moth Dust";
+ mes "20 Maneater Blossoms";
+ mes "1 Geek Glasses";
+ next;
+
+ mes "[Pislik]";
+ mes "Let me check your items.";
+ next;
+
+ if(countitem(715)<5 || countitem(1093)<4 || countitem(950)<10 || countitem(1057)<10 || countitem(1032)<20 || countitem(2243)<1) goto L_noitems;//Items: Yellow_Gemstone, Empty_Potion_Bottle, Heart_of_Mermaid, Moth_Dust, Maneater_Blossom, Geek_Glasses,
+ delitem 715, 5;//Items: Yellow_Gemstone,
+ delitem 1093, 4;//Items: Empty_Potion_Bottle,
+ delitem 950, 10;//Items: Heart_of_Mermaid,
+ delitem 1057, 10;//Items: Moth_Dust,
+ delitem 1032, 20;//Items: Maneater_Blossom,
+ delitem 2243, 1;//Items: Geek_Glasses,
+ getitem 7434, 1;//Items: Elemental_Potion_Creation_Guide,
+
+ mes "[Pislik]";
+ mes "I see you have what you need,";
+ mes "so I'll give you my manual.";
+ close;
+
+L_noitems:
+ mes "[Pislik]";
+ mes "You dont have enough items.";
+ mes "Come back when you have all";
+ mes "the required items for me.";
+ close;
+
+L_noalche:
+ mes "Sorry, but my knowledge its only about alchemy.";
+ mes "I can't help you.";
+ emotion e_gasp;
+ close;
+
+L_alreadyhave:
+ mes "I've already given you";
+ mes "my Elemental Potion Creation Guide...";
+ close;
+
+L_nojob:
+ mes "Come back when you've learned";
+ mes "more about being an Alchemist.";
+ close;
+}
+
+//prontera.gat,147,135,6 script Skill Master 749,{
+// //Rocker Egg x 2
+// callfunc "F_Skill2Quest","Skill Master", 238,"Basis of Life", Job_Alchem, 9011,2, //250000;
+// end;
+//}
+
+//============================================================
+// ASSASSIN - SONIC ACCELERATION + THROW VENOM KNIFE
+//============================================================
+in_moc_16.gat,14,21,3 script Kiltin 884,{
+ mes "[Kiltin]";
+ if(BaseJob!=Job_Assassin) goto L_nosin;
+ if(getskilllv(1003) && getskilllv(1004)) goto L_alreadyhave;
+
+ mes "I'll teach you all I know, but";
+ mes "you need to steal some things";
+ mes "for me:";
+ mes "3 Sapphires";
+ mes "1 Ruby";
+ next;
+
+ mes "[Kiltin]";
+ mes "Let me check your items.";
+ next;
+
+ if(countitem(726)<3 || countitem(723)<1) goto L_noitems;//Items: Sapphire, Ruby,
+ delitem 726, 3;//Items: Sapphire,
+ delitem 723, 1;//Items: Ruby,
+
+ mes "[Kiltin]";
+ mes "I see you have what you need,";
+ mes "so I'll teach you my talent.";
+ skill 1003,1,0;
+ skill 1004,1,0;
+ close;
+
+L_noitems:
+ mes "[Kiltin]";
+ mes "You dont have enough items.";
+ mes "Come back when you have all";
+ mes "the required items for me.";
+ close;
+
+L_nosin:
+ mes "Sorry, but I'm on service of Shadowmen.";
+ emotion e_gasp;
+ close;
+
+L_alreadyhave:
+ mes "I've already tought you";
+ mes "everything I know...";
+ close;
+}
+
+//============================================================
+// BARD - PANG VOICE
+//============================================================
+prontera.gat,134,328,7 script Timid man 89,{
+ mes "[Timid man]";
+ if(BaseJob!=Job_Bard) goto L_nobard;
+ if(getskilllv(1010)) goto L_alreadyhave;
+ if(JobLevel<40) goto L_nojob;
+
+ mes "I'll teach you all I know, but";
+ mes "I'm a little thirsty. Bring me";
+ mes "1 Tropical Sograt";
+ next;
+
+ mes "[Timid man]";
+ mes "Let me check your items.";
+ next;
+
+ if (countitem(12112)<1) goto L_noitems;//Items: Tropical_Sograt,
+ delitem 12112, 1;//Items: Tropical_Sograt,
+ mes "[Timid man]";
+ mes "I see you have what you need,";
+ mes "so I'll teach you my talent.";
+ skill 1010,1,0;
+ close;
+
+L_noitems:
+ mes "[Timid man]";
+ mes "You dont have enough items.";
+ mes "Come back when you have all";
+ mes "the required items for me.";
+ close;
+
+L_nobard:
+ mes "Hum... you don't seems to be a musician";
+ emotion e_gasp;
+ close;
+
+L_alreadyhave:
+ mes "I've already tought you";
+ mes "everything I know...";
+ close;
+
+L_nojob:
+ mes "Come back when you've learned";
+ mes "more about being a bard.";
+ close;
+}
+
+//============================================================
+// DANCER - WINK OF CHARM
+//============================================================
+comodo.gat,205,171,7 script Chanel 724,{
+ mes "[Chanel]";
+ if(BaseJob!=Job_Dancer) goto L_nodancer;
+ if(getskilllv(1011)) goto L_alreadyhave;
+ mes "I'll teach you all I know for:";
+ mes "1 Crystal Mirror";
+ mes "1 Alcohol";
+ mes "1 China";
+ mes "1 Apple";
+ mes "3 Bananas";
+ mes "5 Well-baked Cookies";
+ next;
+
+ mes "[Chanel]";
+ mes "Let me check your items.";
+ next;
+
+ if(countitem(747)<1 || countitem(970)<1 || countitem(736)<1 || countitem(512)<1 || countitem(513)<3 || countitem(538)<5) goto L_noitems;//Items: Crystal_Mirror, Alcohol, China, Apple, Banana, Well-baked_Cookie,
+ delitem 747, 1;//Items: Crystal_Mirror,
+ delitem 970, 1;//Items: Alcohol,
+ delitem 736, 1;//Items: China,
+ delitem 512, 1;//Items: Apple,
+ delitem 513, 3;//Items: Banana,
+ delitem 538, 5;//Items: Well-baked_Cookie,
+
+ mes "[Chanel]";
+ mes "I see you have what you need,";
+ mes "so I'll teach you my talent.";
+ skill 1011,1,0;
+ close;
+
+L_noitems:
+ mes "[Chanel]";
+ mes "You dont have enough items.";
+ mes "Come back when you have all";
+ mes "the required items for me.";
+ close;
+
+L_nodancer:
+ mes "Hum... you don't seems to be a musician";
+ emotion e_gasp;
+ close;
+
+L_alreadyhave:
+ mes "I've already tought you";
+ mes "everything I know...";
+ close;
+}
+
+//============================================================
+// KNIGHT - CHARGE ATTACK
+//============================================================
+prt_in.gat,84,98,3 script Esope 734,{
+ mes "[Esope]";
+ if(BaseJob!=Job_Knight) goto L_noknight;
+ if(getskilllv(1001)) goto L_alreadyhave;
+
+ mes "I'll teach you all I know for:";
+ mes "5 Candy canes";
+ mes "3 Witherless Roses";
+ next;
+
+ mes "[Esope]";
+ mes "Let me check your items.";
+ next;
+
+ if(countitem(530)<5 || countitem(748)<3)goto L_noitems;//Items: Candy_Cane, Witherless_Rose,
+ delitem 530, 5;//Items: Candy_Cane,
+ delitem 748, 3;//Items: Witherless_Rose,
+
+ mes "[Esope]";
+ mes "I see you have what you need,";
+ mes "so I'll teach you my talent.";
+ skill 1001,1,0;
+ close;
+
+L_noitems:
+ mes "[Esope]";
+ mes "You dont have enough items.";
+ mes "Come back when you have all";
+ mes "the required items for me.";
+ close;
+
+L_noknight:
+ mes "Looking for your master?";
+ emotion e_gasp;
+ close;
+
+L_alreadyhave:
+ mes "I've already tought you";
+ mes "everything I know...";
+ close;
+}
+
+//============================================================
+// ROGUE - CLOSE CONFINE
+//============================================================
+in_rogue.gat,387,94,3 script Hyzaragrack 84,{
+ mes "[Hyzaragrack]";
+ if(BaseJob!=Job_Rogue) goto L_norogue;
+ if(getskilllv(1005)) goto L_alreadyhave;
+
+ mes "I'll teach you all I know, but";
+ mes "you'll have to steel some things";
+ mes "for me first...";
+ mes "5 Immortal Hearts";
+ mes "5 Stone Hearts";
+ mes "2 Burning hearts";
+ next;
+
+ mes "[Hyzaragrack]";
+ mes "Let me check your items.";
+ next;
+
+ if(countitem(929)<5 || countitem(953)<5 || countitem(7097)<2) goto L_noitems;//Items: Immortal_Heart, Stone_Heart, Burning_Heart,
+ delitem 929, 5;//Items: Immortal_Heart,
+ delitem 953, 5;//Items: Stone_Heart,
+ delitem 7097, 2;//Items: Burning_Heart,
+
+ mes "[Hyzaragrack]";
+ mes "I see you have what you need,";
+ mes "so I'll teach you my talent.";
+ skill 1005,1,0;
+ close;
+
+L_noitems:
+ mes "[Hyzaragrack]";
+ mes "You dont have enough items.";
+ mes "Come back when you have all";
+ mes "the required items for me.";
+ close;
+
+L_norogue:
+ mes "Looking for your master?";
+ emotion e_gasp;
+ close;
+
+L_alreadyhave:
+ mes "I've already tought you";
+ mes "everything I know...";
+ close;
+}
+
+//============================================================
+// WIZARD - SIGHTBLASTER
+//============================================================
+gef_tower.gat,116,37,1 script Nyao 748,{
+ mes "[Nyao]";
+ if(BaseJob!=Job_Wizard) goto L_nowiz;
+ if(getskilllv(1006)) goto L_alreadyhave;
+
+ mes "I'll teach you all I know for:";
+ mes "10 Crystal Blue";
+ mes "10 Green Live";
+ mes "10 Red Blood";
+ mes "10 Wind of Verdure";
+ next;
+
+ mes "[Nyao]";
+ mes "Let me check your items.";
+ next;
+
+ if(countitem(990)<10 || countitem(991)<10 || countitem(992)<10 || countitem(993)<10) goto L_noitems;//Items: Red_Blood, Crystal_Blue, Wind_of_Verdure, Green_Live,
+ delitem 990, 10;//Items: Red_Blood,
+ delitem 991, 10;//Items: Crystal_Blue,
+ delitem 992, 10;//Items: Wind_of_Verdure,
+ delitem 993, 10;//Items: Green_Live,
+
+ mes "[Nyao]";
+ mes "I see you have what you need,";
+ mes "so I'll teach you my talent.";
+ skill 1006,1,0;
+ close;
+
+L_noitems:
+ mes "[Nyao]";
+ mes "You dont have enough items.";
+ mes "Come back when you have all";
+ mes "the required items for me.";
+ close;
+
+L_nowiz:
+ mes "You must have the magical power.";
+ emotion e_gasp;
+ close;
+
+L_alreadyhave:
+ mes "I've already tought you";
+ mes "everything I know...";
+ close;
+}
+
+//============================================================
+// PRIEST - REDEMPTIO
+//============================================================
+prt_church.gat,111,112,3 script Nun Linus 79,{
+ mes "[Nun Linus]";
+ if(BaseJob!=Job_Priest) goto L_nopriest;
+ if(getskilllv(1014)) goto L_alreadyhave;
+ if(getskilllv(54)<1) goto L_norez;
+
+ mes "I can teach you the mercy of God";
+ mes "if you bring me a couple things,";
+ mes "and if God finds you worthy!";
+ mes "1 Blue Gemstone";
+ mes "1 Holy Water";
+ next;
+
+ mes "[Nun Linus]";
+ mes "Let me check your items.";
+ next;
+
+ if(countitem(717)<1 || countitem(523)<1) goto L_noitems;//Items: Blue_Gemstone, Holy_Water,
+ delitem 717, 1;//Items: Blue_Gemstone,
+ delitem 523, 1;//Items: Holy_Water,
+
+ mes "[Nun Linus]";
+ mes "I see you have what you need,";
+ mes "so we shall see if God finds";
+ mes "you worthy yet!";
+ next;
+ if(rand(100)<JobLevel+25) goto L_bless;
+ mes "[Nun Linus]";
+ mes "Sorry, but God has not";
+ mes "shined on you as of yet.";
+ mes "Try again when you are a";
+ mes "stronger Priest.";
+ close;
+
+L_bless:
+ mes "[Nun Linus]";
+ mes "Hum... I see god is shined on you this time";
+ skill 1014,1,0;
+ close;
+
+L_noitems:
+ mes "[Nun Linus]";
+ mes "You dont have enough items.";
+ mes "Come back when you have all";
+ mes "the required items for me.";
+ close;
+
+L_nopriest:
+ mes "Sorry, you need to have some faith in God.";
+ emotion e_gasp;
+ close;
+
+L_alreadyhave:
+ mes "I've already tought you";
+ mes "everything I know...";
+ close;
+
+L_norez:
+ mes "Come back when you've learned";
+ mes "more about priest and God.";
+ close;
+}
+
diff --git a/npc/quests/skills/acolyte_skills.txt b/npc/quests/skills/acolyte_skills.txt
new file mode 100644
index 000000000..a9d76c5b6
--- /dev/null
+++ b/npc/quests/skills/acolyte_skills.txt
@@ -0,0 +1,127 @@
+//===== eAthena Script =======================================
+//= Acolyte Skill Quest
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= <Description>
+//===== Additional Comments: =================================
+//= v1.0a Now using functions found in "Global_Functions.txt"
+//= for class checks.
+//= 1.2 Added Baby Class Support [Lupus]
+//= 1.3 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon]
+//= 1.4 Fixed an exploit [Lupus]
+//============================================================
+
+
+prt_church.gat,173,23,4 script Acolyte Klift 79,{
+ mes "[Acolyte Klift]";
+ if (baseClass == Job_Acolyte) goto L_Start;
+
+L_Other:
+ mes "Ah, welcome to the Prontera Church also known as the Sanctuary.";
+ mes "Unfortunately I cannot be of much help to you. For my fellow";
+ mes "Priests and Acolytes however, I can help them to find their ^5555FF'hidden";
+ mes "ability'^000000.";
+ close;
+
+L_Start:
+ if (HOLYLIGHT == 1) goto L_Check;
+ if (getskilllv(156)>0) goto L_GotSkill;
+ if(sex==1) mes "Ahh... Brother!";
+ if(sex==0) mes "Ahh... Sister!";
+ mes "Does the task of caring for our lost sheep tire you out? Is it too";
+ mes "much of a burden? Do not despair, I am here to assist you.";
+ next;
+ menu "About an Acolyte's ^5555FF'hidden ablitiy'^000000...",M_0, "End Conversation.",M_End;
+
+ M_0:
+ mes "[Acolyte Klift]";
+ mes "Faced with great danger in an endless struggle with evil, our";
+ mes "brethren are in much need of assistance.";
+ next;
+ mes "[Acolyte Klift]";
+ mes "As acolytes approach their senior years in the clergy, they learn to";
+ mes "call upon their inner power to use a special skill to aid them in";
+ mes "battle.";
+ next;
+ mes "[Acolyte Klift]";
+ mes "That skill is ^5555FF'Holy Light'^000000. Holy Light does damage to";
+ mes "all foes but is even more effective on the undead.";
+ next;
+ mes "[Acolyte Klift]";
+ mes "For someone like yourself to learn this skill, takes some hard work.";
+ mes "Would you like to learn this skill?";
+ next;
+ menu "Yes, please.",-, "Let me think about it.",M_End;
+
+ mes "[Acolyte Klift]";
+ mes "Very good. You will need to find these items in order to learn the";
+ mes "skill:";
+ mes "^5555FF1 Opal^000000,";
+ mes "^5555FF1 Crystal Blue^000000,";
+ mes "and ^5555FF1 Rosary^000000.";
+ next;
+ mes "[Acolyte Klift]";
+ mes "Of course you will also need to have a sufficient level of";
+ mes "experience. Namely a ^5555FFjob level of at least 30^000000. This does";
+ mes "not apply to Priests or Monks however, because of the vast amount of";
+ mes "experience they already have.";
+ next;
+ mes "[Acolyte Klift]";
+ mes "Come back when you are ready. I will be here.";
+ set HOLYLIGHT, 1;
+ close;
+ M_End:
+ mes "[Acolyte Klift]";
+ mes "I understand your zeal. You have much time yet to practice and gain";
+ mes "experience. Go forth with many blessings...";
+ close;
+
+L_Check:
+ mes "So, are you ready for the Holy Light training? Let me check....";
+ next;
+ mes "[Acolyte Klift]";
+ if (BaseJob==Job_Acolyte && JobLevel<30) goto L_LowLvl;
+ if (countitem(727)<1 || countitem(991)<1 || countitem(2608)<1) goto L_NoItems;
+ delitem 727,1;
+ delitem 991,1;
+ delitem 2608,1;
+ mes "Oh! Very good. You have brought back all of the items I asked for.";
+ next;
+ mes "[Acolyte Klift]";
+ mes "Ok lets get started...";
+ next;
+ mes "(after hours of praying and meditation)";
+ next;
+ mes "[Acolyte Klift]";
+ mes "Yes! I feel it. You have released your hidden abilities and can now";
+ mes "use ^5555FFHoly Light^000000!";
+ skill 156,1,0;
+ set HOLYLIGHT, 0;
+ mes "[Priest]";
+ mes "You have done well. May God bless you!";
+ emotion 21;
+ close;
+
+ L_LowLvl:
+ mes "I'm sorry but you need more training before I can teach you Holy";
+ mes "Light. Come back when your job level is at least 30.";
+ close;
+ L_NoItems:
+ mes "I'm sorry but you don't have the required items for Holy Light.";
+ mes "You need:";
+ mes "^5555FF1 Opal^000000,";
+ mes "^5555FF1 Crystal Blue^000000,";
+ mes "and ^5555FF1 Rosary^000000.";
+ close;
+
+L_GotSkill:
+ mes "Ah, I see you have been using Holy Light. It is such a great skill";
+ mes "that I truly believe it to be a gift from the lord himself. May";
+ mes "God be with you always.";
+ close;
+}
diff --git a/npc/quests/skills/archer_skills.txt b/npc/quests/skills/archer_skills.txt
new file mode 100644
index 000000000..226d86179
--- /dev/null
+++ b/npc/quests/skills/archer_skills.txt
@@ -0,0 +1,211 @@
+//===== eAthena Script =======================================
+//= Archer Skill Quest
+//===== By: ==================================================
+//= eAthena dev team
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= Arrow crafting, Arrow Repel skills
+//===== Additional Comments: =================================
+//= v1.0 Roberto message text is based off RO npc. Jason message
+//= text is custom from old version.
+//= All items are from official quests though.[kobra_k88]
+//= v1.0a Now using functions found in "Global_Functions.txt"
+//= for class checks.[kobra_k88]
+//= 1.2 Added Baby Class Support [Lupus]
+//= 1.3 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon]
+//= 1.4 Fixed exploits [Lupus]
+//============================================================
+
+
+
+//<======================== Roberto: Arrow crafting =========================>\\
+morocc.gat,121,109,5 script Roberto 88,{
+ mes "[Roberto]";
+ if (baseClass == Job_Archer) goto L_Start;
+
+L_Other:
+ mes "Eh?... First time seeing an archer of something? Why don't you just";
+ mes "go about your business and leave me be. I only talk to high level";
+ mes "Archer types........";
+ emotion 1;
+ close;
+L_Start:
+ if (BaseJob==Job_Archer && JobLevel<35) goto L_LowLvl;
+ if (getskilllv(147)>0) goto L_GotSkill;
+ if (ARWCRFT == 1) goto L_GetSkill;
+ mes "Hmmm?.... Oh you seem to be a high level Archer type. Why don't we";
+ mes "converse for a while, eh? Let me start off by talking about my";
+ mes "childhood.... . . . . . . . . . . .";
+ next;
+ mes "[Roberto]";
+ mes "When I turned 15, I decided I'd work for a Blacksmith........";
+ next;
+ mes "[Roberto]";
+ mes "............... ~(blah blah blah)~...................";
+ next;
+ mes "[Roberto]";
+ mes ".... man was my Junior Prom a mess...........";
+ next;
+ mes "[Roberto]";
+ mes "..~(blah blah)~........ ~(blah blah)~.........";
+ next;
+ mes "(many grueling hours later.....)";
+ next;
+ mes "[Roberto]";
+ mes "So that's how I found out how to create all of these different";
+ mes "kinds of arrows for myself. It definately comes in handy.";
+ next;
+ mes "[Roberto]";
+ mes "Say, would you like me to teach you? We've had such a nice talk";
+ mes "that I feel like can trust you with this knowledge.......";
+ next;
+ menu "Zzz... Eh!! Uh, Arrows... making... yes, teach.",M_0, "Zzzzz... Eh! uh... where am I????",M_1;
+
+ M_0:
+ mes "[Roberto]";
+ mes "Alright then! In order for me to teach you the art of ^5533FF'Arrow";
+ mes "Crafting'^000000, you must first bring me these items:";
+ mes "^FF335520 Resin,";
+ mes "7 Poison Spores,";
+ mes "41 Pointed Scales,";
+ mes "13 Trunks,";
+ mes "1 Red potion^000000";
+ set ARWCRFT, 1;
+ emotion 5;
+ close;
+ M_1:
+ mes "[Roberto]";
+ mes "................................................................";
+ emotion 7;
+ next;
+ mes "[Roberto]";
+ mes "Let me teach you this special skill.... It's called, my boot up";
+ mes "your A........";
+ emotion 32;
+ next;
+ mes "!!!!SMACK!!!!";
+ percentheal -5,0;
+ close;
+
+L_GetSkill:
+ if ((countitem(907)<20) || (countitem(7033)<7) || (countitem(906)<41) || (countitem(1019)<13) || (countitem(501)<1)) goto L_NotEnuf;
+ delitem 907, 20;
+ delitem 7033, 7;
+ delitem 906, 41;
+ delitem 1019, 13;
+ delitem 501, 1;
+ mes "You've brought all of the items... very good. Lets begin.....";
+ next;
+ mes "~ hands you a very long list of ingredients ~";
+ next;
+ mes "[Roberto]";
+ mes "There you are. Your all set.";
+ next;
+ mes ".......................";
+ next;
+ mes "[Roberto]";
+ mes "Hmm?...... What do you mean 'that's it'?....... What else were you";
+ mes "expecting...... With that list you will be able to make any kind of";
+ mes "arrows you want.......";
+ next;
+ mes "[Roberto]";
+ mes "I hope you didn't expect some kind of elaborate ceremony or some";
+ mes "kind of unique and lengthy training.......";
+ next;
+ skill 147,1,0;
+ set ARWCRFT, 0;
+ mes "[Roberto]";
+ mes "...... Well good luck and have fun making arrows. I've got other";
+ mes "things to do if you don't mind.......";
+ close;
+
+ L_NotEnuf:
+ mes "You don't have everything I need.";
+ next;
+ goto M_0;
+L_GotSkill:
+ mes "Hmmm?.... Sorry but I've got nothing left to teach you. Just keep";
+ mes "on making those arrows..... For us Archer types there can never be";
+ mes "to many arrows.....";
+ close;
+L_LowLvl:
+ mes "Hmm?... Do you have something to say to me? Unfortunately I have";
+ mes "nothing to say to you.....";
+ emotion 1;
+ next;
+ mes "[Roberto]";
+ mes "It's sad but conversations with people who have ^5533FFlow job levels^000000 such";
+ mes "as yourself always seem to end abrubtly..... Maybe if you trained a";
+ mes "little bit longer we would have more to talk about............";
+ close;
+}
+
+
+//<============================== Arrow Repel ===============================>\\
+payon.gat,103,63,5 script Jason 88,{
+ mes "[Jason]";
+ if (baseClass == Job_Archer) goto L_Start;
+
+L_Other:
+ mes "What does life need from a lonely lad like me?";
+ close;
+L_Start:
+ if (getskilllv(148)>0) goto L_GotSkill;
+ if (BaseJob == Job_Archer && JobLevel < 35) goto L_LowLvl;
+ if (ARWREP == 1) goto L_Check;
+ mes "Hi, I'm the master of the skill ^0033FFArrow Repel^000000. I might be able to";
+ mes "teach you the skill, but only if you help me get the ingredients";
+ mes "for my Grandma's soup.";
+ next;
+ mes "[Jason]";
+ mes "Arrow Repel allows you to use your arrows to repel, push back, an";
+ mes "enemy and keep them at a distance. This is a great skill for us";
+ mes "Archer types.";
+ next;
+
+ L_List:
+ mes "[Jason]";
+ mes "I need the following:";
+ mes "- 2 ^FF0000Emeralds^000000";
+ mes "- 3 ^FF0000Yoyo tails^000000";
+ mes "- 10 ^FF0000Tentacles^000000";
+ mes "- 10 ^FF0000Bill of birds^000000";
+ mes "- 36 ^FF0000Banana Juices^000000";
+ next;
+ mes "[Jason]";
+ mes "Hurry hurry!";
+ set ARWREP, 1;
+ close;
+
+L_LowLvl:
+ mes "Oh I think you're a bit inexperienced to learn anything from me,";
+ mes "come back later! Maybe around ^5533FFjob level 35^000000 or so.....";
+ close;
+
+L_Check:
+ if ((countitem(721)<2) || (countitem(942)<3) || (countitem(962)<10) || (countitem(925)<10) || (countitem(532)<36)) goto L_NotEnuf;
+ delitem 721,2;
+ delitem 942,3;
+ delitem 962,10;
+ delitem 925,10;
+ delitem 532,36;
+ mes "OH! Marvelous you brought me all the ingredients!";
+ mes "Now It'll be my pleasure to teach you the skill ^0033FFArrow Repel^000000";
+ next;
+ skill 148,1,0;
+ set ARWREP, 0;
+ mes "[Jason]";
+ mes "There you go! Happy hunting in the future.";
+ close;
+
+ L_NotEnuf:
+ mes "You don't have everything I need.";
+ next;
+ goto L_List;
+L_GotSkill:
+ mes "Hey! It's you again? I'm afraid I've taught you everything I know.";
+ close;
+}
diff --git a/npc/quests/skills/mage_skills.txt b/npc/quests/skills/mage_skills.txt
new file mode 100644
index 000000000..1f987e663
--- /dev/null
+++ b/npc/quests/skills/mage_skills.txt
@@ -0,0 +1,116 @@
+//===== eAthena Script =======================================
+//= Mage Skill Quest
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= <Description>
+//===== Additional Comments: =================================
+//= v1.0a Now using functions found in "Global_Functions.txt"
+//= for class checks.[kobra_k88]
+//= 1.2 Added Baby Class Support [Lupus]
+//= 1.3 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon]
+//= 1.4 Fixed exploit [Lupus]
+//============================================================
+
+
+
+geffen_in.gat,151,119,4 script BLIZZARDRISS 71,{
+ mes "[BLIZZARDRISS]";
+ if(baseClass == Job_Mage) goto L_Start;
+
+L_Other:
+ mes "What new magic spells will I discover today......??";
+ emotion 20;
+ close;
+
+L_Start:
+ if(ENRGYCOAT == 1) goto L_GetSkill;
+ if(getskilllv(157)>0) goto L_GotSkill;
+ mes "Hey! My friend! I see that you are a magic user. If you look within yourself, you'll find that you have... 'HIDDEN ABILITIES'!!";
+ next;
+ menu "'Hidden Abilities'.....?",M_0, "End Conversation.",M_End;
+
+ M_0:
+ mes "[BLIZZARDRISS]";
+ mes "For many years I studied the ancient magic of Geffen, and I recently re-discovered a forgotten magic spell that is quite usefull.";
+ next;
+ mes "[BLIZZARDRISS]";
+ mes "The spell uses your 'pyscho-kenetic energy' to 'coat' your body in a magical shield, protecting you from enemy attacks.";
+ next;
+ mes "[BLIZZARDRISS]";
+ mes "Only highly trained magic users can learn this amazing spell.";
+ mes "Those who want to use this spell must tap into the hidden energies and abilities burried deep within!";
+ next;
+ mes "[BLIZZARDRISS]";
+ mes "The spell is called ^5555FF'Energy Coat'^000000!. Would you like me to teach it to you?";
+ next;
+ menu "Wow! Sounds great!",sM_0, "Meh... not interested.",sM_End;
+
+ sM_0:
+ mes "[BLIZZARDRISS]";
+ mes "In order for me to teach you this spell I will need the following items:";
+ mes "^5533FF 3 Glass Beads,";
+ mes " 1 One Carat Diamond,";
+ mes " 5 Shells,^000000";
+ mes " and ^5533FF1 Solid shell^000000.";
+ next;
+ mes "[BLIZZARDRISS]";
+ mes "You will also need to have a sufficient amount of experience. For Mages, a job level of at least 35 is needed.";
+ mes "Wizards and Sages are high level magic users and can learn the skill at any job level.";
+ next;
+ mes "[BLIZZARDRISS]";
+ mes "When you are fully trained and have all of the required items come back and see me.";
+ set ENRGYCOAT, 1;
+ close;
+
+ sM_End:
+ mes "[BLIZZARDRISS]";
+ mes "Hmf! Suit yourself. Don't come complaining to me when get beat up by a bunch of spores!!";
+ emotion 6;
+ close;
+
+ M_End:
+ mes "[BLIZZARDRISS]";
+ mes "The wise man must have patience! Prepare yourself and return when you are ready.";
+ close;
+
+L_GetSkill:
+ if(BaseJob==Job_Mage && JobLevel < 35) goto L_JobLvl;
+ if(countitem(746)<3 || countitem(730)<1 || countitem(935)<5 || countitem(943)<1) goto L_Items;
+ delitem 746,3;
+ delitem 730,1;
+ delitem 935,5;
+ delitem 943,1;
+ mes "Ohh my, ohh my...... This is going to be swell. Hand over the items... Thank you.";
+ next;
+ mes "~ several hours later ~";
+ next;
+ skill 157,1,0;
+ set ENRGYCOAT,0;
+ mes "[BLIZZARDRISS]";
+ mes "You can now use the spell, 'Energy Coat'!! Use it wisely my friend!";
+ emotion 21;
+ close;
+
+ L_JobLvl:
+ mes "Didn't you listen to my explanation? You need a job level of at least 35 to learn 'Energy Coat'.";
+ emotion 1;
+ close;
+
+ L_Items:
+ mes "Didn't you listen to my explanation? You need the following items for me to teach you 'Energy Coat':";
+ mes "^5533FF 3 Glass Beads,";
+ mes " 1 One Carat Diamond,";
+ mes " 5 Shells,^000000";
+ mes " and ^5533FF1 Solid shell^000000.";
+ emotion 1;
+ close;
+
+L_GotSkill:
+ mes "Well hello there. The 'Energy Coat' skill is great isn't it? Anyway, good luck with your journey.";
+ close;
+}
diff --git a/npc/quests/skills/merchant_skills.txt b/npc/quests/skills/merchant_skills.txt
new file mode 100644
index 000000000..88a4ffb4d
--- /dev/null
+++ b/npc/quests/skills/merchant_skills.txt
@@ -0,0 +1,304 @@
+//===== eAthena Script =======================================
+//= Merchant Skills Quests
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= <Description>
+//===== Additional Comments: =================================
+//= Fully working
+//= v1.1 Bug fixes
+//= v1.a Now using functions found in "Global_Functions.txt"
+//= for class checks.[kobra_k88]
+//= 1.2 Added Baby Class Support [Lupus]
+//= 1.3 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon]
+//= 1.4 Fixed exploits [Lupus]
+//============================================================
+
+
+
+//--------------------------------------- Necko: Crazy Uproar--------------------------------\\
+alberta.gat,89,96,5 script Necko 139,0,4,{
+ mes "[!?]";
+ mes "Muahahahahhhahahahahhahah!!";
+ mes "Pukakakakakkakakakakakakaka!!";
+ close;
+}
+
+alberta.gat,83,96,5 script Necko 98,{
+ mes "[Necko]";
+ if (baseClass == Job_Merchant) goto L_Start;
+
+L_Other:
+ mes "Necko's store is closed right now. Come back later..... Hehe....";
+ close;
+
+L_Start:
+ if (getskilllv(155)>0) goto L_GotSkill;
+ if (CRAZYROAR == 1) goto L_GetSkill;
+ mes "Oh! Did you come here because you were intrigued by my boisterous voice? My voice is quite loud, isn't it?";
+ mes "Afterall you did hear it from a far off distance.";
+ emotion 1;
+ next;
+ mes "[Necko]";
+ mes "I'll let you in on something....... My voice is more than just loud..... it's actually quite unique......";
+ next;
+ mes "[Necko]";
+ if(BaseJob==Job_Merchant && JobLevel < 15) goto L_JobLvl;
+ mes "You see, I know a skill that lets me shout in a way that actually helps me.... It is the ^3355FFCrazy Uproar^000000 skill!!!";
+ emotion 5;
+ next;
+ mes "[Necko]";
+ mes "Crazy Uproar uses your loud voice to boost your battle spirit!";
+ mes "The skill requires ^FF55338 sp^000000 to use and inturn you will recieve an additional ^3355FF4 STR for 5 min^000000!!";
+ next;
+ mes "[Necko]";
+ mes "This skill is very usefull. To learn it you must learn the essentials of sound. There was a singer in Payon that taught sound theory.......";
+ next;
+ mes "[Necko]";
+ mes "Unfortunately that person passed away so you can no longer learn those essentials..............";
+ mes "Aww.... you look disappointed.... Do you really want to learn Crazy Uproar??";
+ next;
+ mes "[Necko]";
+ mes "Hmm..... I will teach you then, that is, if you trully wish to learn. You will have to train your vocal cords.";
+ mes "You will also need to gather these items:";
+ next;
+ mes "[Necko]";
+ mes "- ^3355FF7 Pearls,";
+ mes "- 1Banana juice,";
+ mes "- 50 Mushroom spores^000000.";
+ next;
+ mes "[Necko]";
+ mes "Come back when you are ready! I think I shall do a little vocal training myself........";
+ mes "Bbooowuuuuuuuuuuuuuuuuuuuuuuuuuh!!";
+ set CRAZYROAR, 1;
+ close;
+
+ L_JobLvl:
+ mes "Once you've reached a ^3355FFjob level of 15^000000 come back and see me. I'll tell you all about the secrect to my voice.....";
+ next;
+ mes "[Necko]";
+ mes "Uahahahahahahhahahahahahaha!";
+ mes "Kyukwakakakakkakakakakakkakaka!";
+ close;
+
+L_GetSkill:
+ if ((countitem(722)<7) || (countitem(532)<1) || (countitem(921)<50)) goto L_Items;
+ delitem 722,7;
+ delitem 532,1;
+ delitem 921,50;
+ mes "Oh You've gathered the items! Very good, very good. Now it's time to start your training.....";
+ next;
+ mes "[Necko]";
+ mes "Repeat after me: Fa fa fa fa fa.... So so so so so..... La la la la la.... Mi mi mi mi mi mi......";
+ next;
+ mes "~several hours later~";
+ next;
+ mes "[Necko]";
+ mes "Raaaaaawwwwrrrrrrrrrrr!....... Ha ha!! Execellent. Your voice is now finely tuned for ^3355FFCrazy Uproar^000000. Good job.";
+ skill 155,1,0;
+ set CRAZYROAR, 0;
+ emotion 21;
+ close;
+
+ L_Items:
+ mes "You need to get these items for Crazy Uproar:";
+ mes "- ^3355FF7 Pearls,";
+ mes "- 1Banana juice,";
+ mes "- 50 Mushroom spores^000000.";
+ close;
+
+L_GotSkill:
+ mes "Hello again. I can tell by the sound of your mighty voice that you are becoming very good at Crazy Uproar.";
+ close;
+}
+
+
+//----------------------------------------- Charlron: Change cart ---------------------------------\\
+alberta.gat,119,221,6 script Charlron 107,{
+ mes "[Charlron]";
+ if (baseClass == Job_Merchant) goto L_Start;
+L_Other:
+ mes "I am a merchant that deals in many things. My name is Charlron. If you ever find anything interesting, come back and try to negotiate a deal with me.";
+ close;
+L_Start:
+ if (getskilllv(154)>0) goto L_GotSkill;
+ if (CHANGECART == 1) goto L_GetSkill;
+ mes "Welcome young one. Is selling fun for you? I am the merchant Charlron.";
+ next;
+ mes "[Charlron]";
+ mes "Aren't you tired of your old, and plain looking cart? Well I can help.";
+ next;
+ mes "[Charlon]";
+ mes "I have been doing some research on cart design recently and have come up with some new and interesting designs for the cart.";
+ next;
+ mes "[Charlon]";
+ mes "I can change the way your cart looks for you. Of course some conditions need to be met......";
+ next;
+ mes "[Charlron]";
+ if (BaseJob==Job_Merchant && JobLevel < 30) goto L_JobLvl;
+ mes "First you will need to bring me these items:";
+ mes "^3355FF50 Trunks,";
+ mes "20 Animal Skin,";
+ mes "10 Iron^000000.";
+ set CHANGECART, 1;
+ close;
+
+ L_JobLvl:
+ mes "I'm a pretty famous merchant, so I don't really do business with beginners but..........";
+ mes "Once you've reached ^3355FFjob level 30^000000 I may consider doing business with you.";
+ close;
+
+L_GetSkill:
+ if ((countitem(1019)<50) || (countitem(998)<10) || (countitem(919)<20)) goto L_Items;
+ mes "Oh good, you have all of the items. Well here you are..... Hmm?... Oh these are the design sheets for your cart.";
+ mes "Now that you have the proper materials, just follow these guides to make your cart look spectactular.";
+// Note: It is not supposed to take these items, just check you have collected them
+ skill 154,1,0;
+ set CHANGECART, 0;
+ mes "[Charlron]";
+ mes "Good luck, see you around";
+ close;
+
+ L_Items:
+ mes "Come back when you've brought me these items:";
+ mes "^3355FF50 Trunks,";
+ mes "20 Animal Skin,";
+ mes "10 Iron^000000.";
+ close;
+L_GotSkill:
+ mes "Heh heh... It's nice to see fancy looking carts like yours on the streets of town. Well back to the drawing board....";
+ close;
+
+}
+
+
+//-------------------------====-------- Gershuan: Cart Revolution ---------------------------------\\
+alberta.gat,232,106,6 script Gershaun 57,{
+ if (baseClass == Job_Merchant) goto L_Start;
+
+L_Other:
+ mes "[Gershaun]";
+ mes "If it doesn't work, make it work!";
+ mes "If it doesn't work, make it work!";
+ mes "If it doesn't work, make it work!";
+ close;
+
+L_Start:
+ if (getskilllv(153)>0) goto L_GotSkill;
+ if (CARTREVO == 1) goto L_GetSkill;
+ mes "[Gershaun]";
+ mes "Hmm... a young merchant. You must use carts too right? Since to have to do all of that vending..... But is that all you use your cart for?";
+ emotion 20;
+ next;
+ mes "[Gershaun]";
+ mes "I researched some ways of using the cart differently. One way involved cooking ramen and another involved jump-roping (don't ask).";
+ mes "Still none of my new ideas were satisfactory.";
+ next;
+ menu "I know what you mean.",M_0, "......???",M_1;
+
+ M_0:
+ mes "[Gershuan]";
+ mes "You KNOW what I MEAN!! HOW the HECK would YOU KNOW what I MEAN????";
+ emotion 23;
+ close;
+ M_1:
+ mes "[Gershuan]";
+ mes "In despair, I wandered through the fields with my cart. Day after day I did this.... I was in a daze....";
+ next;
+ mes "[Gershuan]";
+ mes "Then I crossed paths with a very strong monster! I knew immediately that my life was in danger!";
+ mes "I thought to myself, 'Why me! A weaponless, amorless merchant!?'";
+ emotion 0;
+ next;
+ mes "[Gershuan]";
+ mes "I was scared to death... hoping that this would not be the end of me. With what strength I had left, I tried a desperation move.....";
+ emotion 19;
+ next;
+ mes "[Gershuan]";
+ mes "I used my cart to attack the monster!!";
+ emotion 0;
+ next;
+ mes "[Gershuan]";
+ mes "Just like that the monster was defeated!! Finally I had found another exellent use for the cart! A WEAPON!!!";
+ next;
+ mes "[Gershuan]";
+ mes "I called my new found discovery ^3355FF'Cart Revolution'^000000!";
+ mes "By using ^FF553312 sp^000000 you can spin your cart around your body doing major damage to an enemy!";
+ emotion 5;
+ next;
+ mes "[Gershuan]";
+ mes "The heavier your cart is, the more damage it will do. Would you like to learn this skill?";
+ next;
+ menu "Yes!!",sM_0, "Actually I want to learn some sushi skills...",sM_1;
+
+ sM_0:
+ mes "[Gershuan]";
+ if (BaseJob==Job_Merchant && JobLevel < 35) goto ssL_LowLvl;
+ mes "Ok! I will give you the special training for Cart Revolution. The first thing you will have to do is bring me these items:";
+ mes "^3355FF30 Sticky Mucus,";
+ mes "20 Fly wings,";
+ mes "15 Iron,";
+ mes "5 Tentacles,";
+ mes "2 Grape Juice^000000.";
+ next;
+ mes "[Gershuan]";
+ mes "Come back when you have all of these items. Good luck.";
+ set CARTREVO, 1;
+ close;
+
+ ssL_LowLvl:
+ mes "[Gershuan]";
+ mes "Ok! I will give you the special training for Cart Revolution.";
+ mes "But first you will have to get yourself to a ^3355FFjob level of 35^000000! After you've done that, then we can talk.";
+ close;
+
+ sM_1:
+ mes "[Sushi King Gershuan]";
+ mes "Stupid!! You're waaay to young to even try your hand at sushi!!";
+ emotion 6;
+ close;
+
+L_GetSkill:
+ if ((countitem(533)<2) || (countitem(998)<15) || (countitem(938)<30) || (countitem(601)<20) || (countitem(962)<5)) goto sM_0;
+ delitem 533,2;
+ delitem 998,15;
+ delitem 938,30;
+ delitem 601,20;
+ delitem 962,5;
+ mes "[Gershaun]";
+ mes "It's Good to see you again. I'm glad you were able to get all of the items. Take a minute to prepare, for your training is about to take place....";
+ next;
+ mes "[Gershuan]";
+ mes "First make sure your feet are shoulder width apart. Balance is key! Now get into a good crouch... grasp the handles of the cart firmly but not too tight...";
+ next;
+ mes "[Gershuan]";
+ mes "NOW SWING!!!";
+ next;
+ mes "[Gershuan]";
+ mes "Eh....... that was terrible.... Okay, lets try again.....";
+ emotion 4;
+ next;
+ mes "~many hours later~";
+ next;
+ mes "[Gershuan]";
+ mes "YES!!! FINALLY! I could REALLY FEEL the power in that swing!";
+ mes "Give yourself a good pat on the back becuase you have just mastered Cart Revolution!";
+ emotion 21;
+ next;
+ skill 153,1,0;
+ set CARTREVO, 0;
+ mes "[Gershuan]";
+ mes "Take care of yourself and remember to fill that cart up so that it can do some major damage.";
+ emotion 29;
+ close;
+
+L_GotSkill:
+ mes "[Gershaun]";
+ mes "So how do you like cart revolution? Remeber, the ^3355FFheavier^000000 the cart, the ^3355FFgreater^000000 the damge.";
+ close;
+
+}
diff --git a/npc/quests/skills/novice_skills.txt b/npc/quests/skills/novice_skills.txt
new file mode 100644
index 000000000..a149c87b4
--- /dev/null
+++ b/npc/quests/skills/novice_skills.txt
@@ -0,0 +1,262 @@
+//===== eAthena Script =======================================
+//= Novice Skills Quests
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= Customized novice skills quest
+//===== Additional Comments: =================================
+//= Fully working
+//= 1.2 Added Baby Class Support [Lupus]
+//= 1.3 Fixed a Zeny exploit, made more variables clear
+//= on finishing quests. [Lupus]
+//= 1.4 Fixed exploits [Lupus]
+//============================================================
+
+
+
+//<---------------------------------------------------------------------------------------------- Nurse Aid: First Aid NPC ---------------------------------------------------------------------------->\\
+prt_in.gat,235,133,4 script Nurse Aid 90,{
+ mes "[Nurse Aid]";
+ if(FIRSTAID == 1) goto L_GetAid;
+ if(getskilllv(142)>0) goto L_GotAid;
+
+ mes "Oh hello there! You look tired and a little worn out. Have the monsters outside of town been giving you trouble?";
+ next;
+ menu "Ha! Me strong like BULL!!",M_Nope, "Well..um..kinda..",M_Yep;
+
+ M_Nope:
+ mes "[Nurse Aid]";
+ mes "Oh I see. You must be a mighty warrior. Well, come back anytime if you do ever feel overwhelmed by the monsters. I'll be able to help.";
+ close;
+
+ M_Yep:
+ mes "[Nurse Aid]";
+ mes "Well don't feel bad. It can be very difficult fighting those nasty monsters in the begining.";
+ next;
+ mes "[Nurse Aid]";
+ mes "I know because I've been treating a lot people lately who have been fighting them.";
+ mes "There are so many injured now that I don't think I can continue treating anyone.";
+ next;
+ mes "[Nurse Aid]";
+ mes "~Sigh~";
+ next;
+ mes "[Nurse Aid]";
+ mes "That's why I've decided to teach people how to heal themselves! Would you like me to teach you?";
+ emotion 5;
+ next;
+ menu "Would you??",sM_Yes, "(...she's nuts!...run!!!)",sM_No;
+
+ sM_Yes:
+ mes "[Nurse Aid]";
+ mes "In order for me to teach you First Aid you need to have at least a^0000ff job level of 3^000000.";
+ mes "You then need to give me:^ff0000 5 red herbs^000000,^00bb00 5 clovers^000000, and an^aaaa00 old bandage^000000.";
+ next;
+ mes "[Nurse Aid]";
+ mes "You can get the bandage from the^0000ff 'Newbie Assistant'^000000 located on the second floor of the Castle.";
+ next;
+ mes "[Nurse Aid]";
+ mes "Once you get job level 3 and have all of the items come back and see me ok.";
+ set FIRSTAID,1;
+ close;
+
+ sM_No:
+ mes "[Nurse Aid]";
+ mes "Hey!...Where are you running too??...";
+ emotion 4;
+ close;
+
+L_GetAid:
+ if((JobLevel < 3) || (countitem(507) < 5 ) || (countitem(705) < 5) || (countitem(930) < 1)) goto sM_Yes;
+ delitem 507,5;
+ delitem 705,5;
+ delitem 930,1;
+ mes "Oh good. You have everything needed for me to teach you first aid. Here we go...";
+ next;
+ mes "....... 1 hour later.......";
+ next;
+ skill 142,1,0;
+ set FIRSTAID,0;
+ set got_bandage,0;
+ mes "[Nurse Aid]";
+ mes "YES! You finally got it. Now you can heal yourself and continue fighting those bad monsters. Well, take care.";
+ emotion 21;
+ close;
+
+L_GotAid:
+ mes "Well hello again. I sure hope the First Aid skill has been helpfull to you. Make sure to continue your hard work and don't forget to rest and heal!";
+ close;
+
+}
+
+
+//<-------------------------------------------------------------------------------------------------- Bulma: Play Dead -------------------------------------------------------------------------------------------->\\
+prt_in.gat,73,87,2 script Bulma 98,{
+ mes "[Bulma]";
+ if(BaseJob == Job_Novice) goto L_Novice;
+
+L_Other:
+ mes "Yeah... I look great.... Afterall, I'm a Knight of the Prontera Chivalry. Kuhahahaha!";
+ emotion 18;
+ next;
+ mes "[Bulma]";
+ mes "It hasn't been that long since I became a Knight, but I still look good as one right? What do you think???";
+ emotion 20;
+ close;
+
+L_Novice:
+ if(JobLevel >= 7) goto L_Start;
+ mes "Hello my young friend. You remind me of myself when I was young.....";
+ mes "Heh heh, I sure miss those days..... Wow... It's funny to think about those years now......";
+ next;
+ mes "[Bulma]";
+ mes "They were difficult.... thankfully you can use the ^5555FFPlay Dead^000000 skill when you reach a ^5555FFjob level of 7^000000.";
+ mes "If you're interested in it come back and talk to me when you've leveled up a bit more.";
+ close;
+
+L_Start:
+ if(PLAYDEAD == 1) goto L_GetSkill;
+ if(getskilllv(143)>0) goto L_GotSkill;
+ mes "Hello my young friend. You remind me of myself when I was young..... Heh heh, I sure miss those days.....";
+ mes "Look at me acting all sentimental like some old man........";
+ next;
+ mes "[Bulma]";
+ mes "Sorry about that. Anyhow, I just want you to know that if you work hard and are patient, you too will recieve the job you desire.";
+ mes "It may take some time but stay focused and never loose your determination.";
+ next;
+ mes "[Bulma]";
+ mes "Hmm..... actually I might be able to help you out........";
+ emotion 20;
+ next;
+ mes "[Bulma]";
+ mes "What's this? Ha ha, don't look so surprised. What I have to offer will be very useful to you.";
+ next;
+ mes "[Bulma]";
+ mes "You see I can teach you the skill ^5555FF'Play Dead'^000000.";
+ mes "This skill allows you to act like you just died making any monster that is currently attacking you leave you alone.";
+ next;
+ mes "[Bulma]";
+ mes "I myself have used it as a novice and found it to be very usefull.";
+ mes "It may sound easy enough, but it takes a lot of hard work and practice to make your performance look believable.";
+ next;
+ mes "[Bulma]";
+ mes "You MUST look perfectly DEAD in order for this skill to work. Even the slightest movement will give you away.";
+ next;
+ mes "[Bulma]";
+ mes "I think I've done enough explaining..... The look in your eyes tells me that you are ready to learn this skill.";
+ next;
+ mes "[Bulma]";
+ mes "First take this pill....";
+ next;
+ mes "(you take the pill) ~gulp~";
+ next;
+ mes "[Bulma]";
+ mes "Good. Now go to the 2nd floor on the East side of the Prontera Castle.";
+ mes "Speak with the ^5555FFNewbie Assistant^000000 and he will give you a ^5555FFNewbie Tag^000000.";
+ next;
+ mes "[Bulma]";
+ mes "Once you have the tag come back here. You MUST make it back here WITHIN ^FF555510 minutes^000000!";
+ mes "If you don't, then the pill you just swallowed will start making it hard for you to breath!.....";
+ next;
+ mes "[Bulma]";
+ mes "Kekekeke..... Just kidding! The pill actually helps you stay calm, nothing more.";
+ emotion 18;
+ next;
+ mes "[Bulma]";
+ mes "Well get going... GO! GO! GO! RUN!!!";
+ emotion 27;
+ set PLAYDEAD, 1;
+ close;
+
+L_GetSkill:
+ if(countitem(7039)<1) goto sL_NotRdy;
+ delitem 7039, 1;
+ mes "Good to see you again. Alright, lets start your training....";
+ next;
+ mes "[Bulma]";
+ mes "Let me first introduce to you the concept of 'Method Acting'. Method Acting stresses the need to undrestand every aspect of the role you are playing.";
+ next;
+ mes "[Bulma]";
+ mes "You must learn to think, feel, and even live like your character so that you can understand his/her motivation in any given momement.";
+ next;
+ mes "[Bulma]";
+ mes "Now let us use this technique to develop your ability to Play Dead!";
+ mes "I want you to think like a dead person, feel like a dead person, eat, breath, sleep, kiss, etc. like a person who is dead!!!";
+ next;
+ mes "[Bulma]";
+ mes "Don't just stand there! Lay down on the ground and live life through the eyes of a dead person.... errr or don't live.... anyways just do it!!";
+ next;
+ mes "~ several hours later ~";
+ next;
+ mes "[Bulma]";
+ mes "Ok, lights, camera, ACTION! Yes... yes... YES!! That's it!! As I watch you laying there I TRULLY believe that you are dead.";
+ mes "What a wonderful performance! BRAVO! BRAVO!";
+ emotion 0;
+ next;
+ mes "[Bulma]";
+ mes "With the right motivation and focus you will be able to play dead anywhere at any given moment. Congratulations on mastering this skill.";
+ emotion 21;
+ skill 143,1,0;
+ set PLAYDEAD, 0;
+ set got_novnametag,0;
+ close;
+
+ sL_NotRdy:
+ mes "HEY! What are you doing here? It's irresponsible of you to still be here while your time is running out.........";
+ emotion 0;
+ next;
+ mes "[Bulma]";
+ mes "Now GO! Run! Run! RUN!!";
+ emotion 27;
+ close;
+
+L_GotSkill:
+ mes "Yeah.... I remember back then..... especially those embarrasing novice years... heh. Luckily there was Play Dead.";
+ mes "That saved me many times in the past. I'm sure it has been saving you too.";
+ next;
+ mes "[Bulma]";
+ mes "Hopefully it is something you have been using well. If you have any friends who are novices, tell them about me. I will help them out as best I can.";
+ close;
+}
+
+
+//Newbie Assistant------------------------------------------------------------------------------
+prt_castle.gat,174,147,2 script Newbie Assistant 84,{
+ mes "[Newbie Assistant]";
+ if(BaseJob == Job_Novice) goto L_Start;
+
+L_NonNov:
+ mes "What am I doing here? I'm just trying to help out young newbies. You remember how it was to be a newbie... confused.... lost.... heh heh.";
+ emotion 1;
+ close;
+L_Start:
+ if(FIRSTAID==1 && countitem(930)==0 && got_bandage!=1) goto L_Aid;
+ if(PLAYDEAD==1 && countitem(7039)==0 && got_novnametag!=1) goto L_Play;
+ mes "Hello. I'm here to provide help to newbies like you. If there is anything in particular that you need assistance with just let me know.";
+ close;
+L_Aid:
+ mes "So Nurse Aid sent you huh. She's a great nurse, you should feel very fortunate that she is helping you out. Here take this.";
+ next;
+ getitem 930,1;
+ set got_bandage,1;
+ mes "[Newbie Assistant]";
+ mes "You'll need it in order for her to teach you her exellent healing technique.";
+ next;
+ mes "[Newbie Assistant]";
+ mes "When I watch her work it is like watching an angel that has descended down from the heavens.....";
+ next;
+ mes "[Newbie Assistant]";
+ mes "Her beauty, her grace, sometimes I wish........ (blushes).......... um.... well...err... tell her I said hello.";
+ emotion 3;
+ close;
+L_Play:
+ mes "So Bulma sent you uh.... okay here you go.";
+ getitem 7039,1;
+ set got_novnametag,1;
+ next;
+ mes "Good luck on your adventure.";
+ close;
+}
diff --git a/npc/quests/skills/swordman_skills.txt b/npc/quests/skills/swordman_skills.txt
new file mode 100644
index 000000000..36185ee11
--- /dev/null
+++ b/npc/quests/skills/swordman_skills.txt
@@ -0,0 +1,373 @@
+//===== eAthena Script =======================================
+//= Swordsman Skills Quests
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.5
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= <Description>
+//===== Additional Comments: =================================
+//= Fully working
+//= 1.0a Now using functions found in "Global_Functions.txt"
+//= for class checks.
+//= 1.1 Added missing delitem [Lupus]
+//= 1.2 Added Baby Class Support [Lupus]
+//= 1.3 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon]
+//= 1.4 Updated the NPC to allow subclasses of swordsman to learn the skills, [MasterOfMuppets]
+//= 1.5 Fixed exploits [Lupus]
+//============================================================
+
+
+
+//<-------------------------------------- Fatal Blow------------------------------------>\\
+prt_in.gat,75,88,5 script Leon 85,{
+ mes "[Leon]";
+ if(baseClass == Job_Swordman) goto L_Start;
+ if(BaseJob == Job_Novice) goto L_Novice;
+
+ mes "Hello there. I am Leon, a well known and well respected member of the famous Prontera Chivalry.";
+ next;
+ mes "[Leon]";
+ mes "Are you here to learn more about the Chivalry, or are you hear to bask in the glory of us Knights? Hahahaha!";
+ emotion 18;
+ close;
+
+L_Novice:
+ mes "Oh a novice.... I'm afraid I have nothing to offer you.";
+ mes "I have no fun or nice things to say to anyone other then Swordsmen.";
+ next;
+ mes "[Leon]";
+ mes "See you in a better world!";
+ close;
+
+L_Start:
+ if (FATALBLOW == 1) goto L_Check;
+ if (getskilllv(145)>0) goto L_Done;
+
+ if(sex==1)mes "Oooh! I see that you are quite a strong Swordsman.";
+ if(sex==0)mes "Oooh! I see that you are quite a strong Swordswoman.";
+ mes "How did I know? Hahaha! Just look at that strong arm of yours!";
+ next;
+ mes "[Leon]";
+ mes "You must enjoy using ^0000ff'Bash'^000000, huh? Hahaha!";
+ emotion 18;
+ next;
+ mes "[Leon]";
+ if(sex==1)mes "I like a Swordsman who isn't afraid to use a powerfull skill such as that.";
+ if(sex==0)mes "Now, now, don't be shy. It's ok for girls to like Bash.";
+ if(sex==0)mes "Afterall, whether your a Swordsman or Swordswoman, there's no denying the power of Bash!";
+ next;
+ mes "[Leon]";
+ mes "As great as Bash is though, I often felt that it could be even better if there was someway to stun an opponent with it.";
+ mes "I decided to withdraw from the battlefield and research ways of making bash more powerfull.";
+ next;
+ mes "[Leon]";
+ mes "I discovered that if one could strike an enemy's weak point with a precisely placed Bash, an opponent would be left utterly parralyzed!!";
+ next;
+ mes "[Leon]";
+ mes "I then went on to develop the skill, ^ff0000'Fatal Blow'^000000, which allows you to do just that!";
+ mes "Will rigorous training, one can learn to stun an opponent with a mighty Bash.";
+ next;
+ mes "[Leon]";
+ mes "Since you seem to be so fond of Bash, I'd be willing to teach you the skill.";
+ mes "However, I must warn you that a lot of hard work will be required.";
+ next;
+ mes "[Leon]";
+ mes "So what do you think? Are you interested?";
+ next;
+ menu "You betcha!!",M_0, "Nah.... Not really.",M_1, "Any advice on how to eat sushi?",M_2;
+
+ M_0:
+ set FATALBLOW,1;
+ mes "[Leon]";
+ mes "Hahaha! I knew you love Bash as much as I do.";
+ next;
+ mes "[Leon]";
+ mes "In order for me to teach you Fatal Blow, you must have at least ^5555FFlevel 5 Bash^000000. You then need to give me these items:";
+ mes "- 10 ^FF0000Fire Arrows^000000,";
+ mes "- 10 ^FF0000Silver Arrows^000000,";
+ mes "- 1 ^FF0000Banana Juice^000000,";
+ mes "- 30 ^FF0000Tentacles^000000,";
+ mes "- and 5 ^FF0000Royal Jelly^000000.";
+ next;
+ mes "[Leon]";
+ mes "When you have gathered all of these items come back and see me.";
+ close;
+ M_1:
+ mes "[Leon]";
+ mes "I see... I must have misjudged you...";
+ close;
+ M_2:
+ mes "[*Sushi King* Leon]";
+ mes "The best way to eat sushi is with your hands. That is the basic method. Oh, and dip the FISH, NOT the RICE, into the soy sauce.";
+ next;
+ mes "[*Sushi King* Leon]";
+ mes "That way you get a richer flavor. Also, always eat the kind that is in season.";
+ mes "Eating in the order of white fish, then blue fish, will make it taste even better!";
+ next;
+ mes "[*Sushi King* Leon]";
+ mes "Mmmmm..... I love sushi!!!";
+ emotion 33;
+ close;
+
+L_Check:
+ mes "So your back. Did you get what I asked for?";
+ next;
+ mes "[Leon]";
+ if(countitem(1752)<10 || countitem(1751)<10 || countitem(532)<1 || countitem(962)<30 || countitem(526)<5) goto L_NoItems;
+ if(getskilllv(5)<5) goto L_BashLvl;
+ delitem 1752,10;
+ delitem 1751,10;
+ delitem 532,1;
+ delitem 962,30;
+ delitem 526,5;
+ mes "Great work. You have everything I need for me to teach you Fatal Blow.";
+ next;
+ mes "[Leon]";
+ mes "Ok, lets get started.";
+ next;
+ mes "!SMACK!~!CRACK!~!THWACK!~!BASH!.......... !SMACK!~!CRACK!~!THWACK!~!BASH!..........";
+ next;
+ mes "(5 hours later)";
+ next;
+ mes "[Leon]";
+ mes "Yes! That's it! You have just mastered Fatal Blow!";
+ emotion 21;
+ next;
+ skill 145,1,0;
+ set FATALBLOW,0;
+ mes "[Leon]";
+ mes "Use it wisely young warrior!!";
+ close;
+
+ L_NoItems:
+ mes "Hmm... you still don't have enough items. Come back when you do.";
+ close;
+ L_BashLvl:
+ mes "Wait a minute... you have to train a little more before learning this skill.";
+ mes "You need to have at least a ^5555FFlevel 5 Bash^000000.";
+ close;
+
+L_Done:
+ mes "So how is Fatal Blow? Isn't it great!! Hahaha! I knew you'd like it.";
+ next;
+ mes "[Leon]";
+ mes "Go on and Bash the heck out of those monsters! Hahaha.";
+ emotion 18;
+ close;
+
+}
+
+
+//<---------------------------------- Moving HP Recovery ---------------------------------->\\
+izlude_in.gat,175,130,2 script Knight De Thomas 98,{
+ mes "[Knight De Thomas]";
+ if(baseClass == Job_Swordman) goto L_Start;
+
+L_Other:
+ mes "I am Thomas De Knight of the Prontera Chivalry. I am very busy now so please leave me alone.";
+ close;
+
+L_Start:
+ if (MOVHPREC == 1) goto L_Check;
+ if (getskilllv(144)>0) goto L_GotSkill;
+ mes "Oh no! You must have been hurt in battle! Are you ok?";
+ mes "It must have been a hard fought battle for you to recieve such serious injuries....";
+ emotion 19;
+ next;
+ mes "[Knight De Thomas]";
+ mes "Being a Swordsman or Knight comes with a lot of responsiblity and requires a great deal of self sacrifice.";
+ mes "For Swordsmen and Knights there is a wonderfull skill that can aid in the recovery of HP.";
+ next;
+ mes "[Knight De Thomas]";
+ mes "I present to you..... ^5555FF'Moving HP Recovery'^000000!! This skill allows you to recover HP while moving!";
+ next;
+ mes "[Knight De Thomas]";
+ mes "The skill has not been perfected yet so the amount of HP recovered is a little low. Still, it is helpful.";
+ mes "What do you think? Would you like to learn this skill?";
+ next;
+ menu "What a great skill! I would like to learn it!!",M_0, "No thank you.",M_End;
+
+ M_0:
+ mes "[Knight De Thomas]";
+ mes "Very well. I will tell you what is needed to learn this skill. First you must have a job level of 35 or greater.";
+ mes "This however doesn't apply to Knights or Crusaders. You will also need:";
+ mes "^5555FF200 Empty Bottles^000000,";
+ mes "^5555FF1 Padded Armour^000000,";
+ mes "and ^5555FF1 Moth Wings^000000.";
+ next;
+ mes "[Knight De Thomas]";
+ mes "The bottles are proof that you have fought feircely and have used many potions. The Padded Armor is proof of an experienced fighter.";
+ mes "The Moth Wings..... well... really aren't necessary. It's just that my niece recieved a bug hunting assignment for summer vacation.......";
+ next;
+ mes "[Knight De Thomas]";
+ mes "I would get them myself... it's just... I must work here all day long so I don't have any time to go out and get them.......";
+ next;
+ mes "[Knight De Thomas]";
+ mes "Don't you think it's sad that I have to stay in once place everyday without even being able to go outside??";
+ mes "Please.... find a pair of Moth Wings for my niece?.... (~sniff~sniff~)....";
+ emotion 28;
+ next;
+ mes "[Knight De Thomas]";
+ mes "If you don't..... I won't teach you anything!! Muahahahaha!!";
+ emotion 29;
+ set MOVHPREC, 1;
+ close;
+ M_End:
+ mes "[Knight De Thomas]";
+ mes "What?? What did you say?.....";
+ emotion 1;
+ close;
+
+L_Check:
+ mes "Ah, you've come back. Let's, see... are you ready for HP Moving Recovery?....";
+ next;
+ mes "[Knight De Thomas]";
+ if ((countitem(713)<200) || (countitem(1058)<1) || (countitem(2312)<1)) goto L_NoItems;
+ if (baseClass==Job_Swordman && JobLevel < 35) goto L_LowLvl;
+ delitem 713,200;
+ delitem 1058,1;
+ mes "Great! You have everything needed to learn this skill. Take a deep breath.... let us begin.";
+ next;
+ mes "(2 hours later)";
+ next;
+ mes "[Knight De Thomas]";
+ mes "Can you feel it? Can you feel the energy flowing in you while you move around?";
+ mes "Haha! You have just learned HP Moving Recovery!";
+//-- Padded armor does not have to be deleted! --
+// delitem 2312,1;
+ skill 144,1,0;
+ set MOVHPREC, 0;
+ next;
+ mes "[Knight De Thomas]";
+ mes "Congratulations on learning the new skill and thank you for the Moth Wings! ^_^";
+ emotion 21;
+ close;
+
+ L_NoItems:
+ mes "As I said before you need to bring me these items:";
+ mes "^5555FF200 Empty Bottles^000000,";
+ mes "^5555FF1 Padded Armour^000000,";
+ mes "and ^5555FF1 Moth Wings^000000.";
+ close;
+ L_LowLvl:
+ mes "You are not yet experienced enough to learn this skill. Come back when you have a job level of at least 35.";
+ close;
+ L_GotSkill:
+ mes "Ah, you're looking well. That HP Moving Recovery skill must be very helpfull.";
+ mes "Well, continued success on your adventure!";
+ close;
+
+}
+
+
+//<----------------------------------------- Auto-Berserk --------------------------------->\\
+prt_in.gat,94,57,3 script Juan 85,{
+ mes "[Juan]";
+ if(baseClass == Job_Swordman) goto L_Start;
+
+L_Other:
+ mes "So how's your adventure going? I hope there will be good days ahead of you.";
+ next;
+ mes "[Juan]";
+ mes "Who am I? Oh, I'm just a kind knight named Juan. Don't mind me. Hahahaha....";
+ emotion 18;
+ close;
+
+L_Start:
+ if (baseClass == Job_Swordman && JobLevel<34) goto L_LowLvl;
+ if (BERSERK == 1) goto L_Check;
+ if (getskilllv(146)>0) goto L_GotSkill;
+
+ mes "Oh no! You have more injuries since the last time I saw you.";
+ mes "You went into battle like this? It seems like you're straining yourself.";
+ next;
+ mes "[Juan]";
+ mes "Even though you may have a lot of strength, there is only so much you can do when you have reached your limits.";
+ mes "So don't overestimate your own power.";
+ next;
+ mes "[Juan]";
+ mes "Of course you could always use the ^5555FF'skill'^000000 we developed to overcome these limits.....";
+ next;
+ menu "Eh! What are you talking about?",M_0, "Haha! There's no such thing....",M_1, "Keuuuuuhhh!",M_3;
+
+ M_0:
+ mes "[Juan]";
+ mes "The skill is called ^5555FFBerserk^000000. It has been deemed the flower of the battlefield!";
+ mes "When your health is low, you can call upon your hidden potential by provoking yourself.";
+ next;
+ mes "[Juan]";
+ mes "A surge of energy will flow through your body giving you a greater attack prowess at the cost of defensive strength.";
+ mes "With this you will be able to fight on with a FIREY RAGE and an absolute disregard to your own safety!!";
+ next;
+ mes "[Juan]";
+ mes "The enemy will be shocked by your new found strength!!";
+ mes "This skill is especially great for those who fight with a no-holds-bar mentality.";
+ next;
+ mes "[Juan]";
+ mes "In order to learn this skill you will need to bring me the following items:";
+ mes "^5555FF35 Powder of Butterfly,";
+ mes "10 Horrendous Mouth,";
+ mes "10 Decayed Nail^000000,";
+ mes "and ^5555FF10 Honeys^000000!";
+ next;
+ mes "[Juan]";
+ mes "Did you get all of that down? Please come back when you are ready. I look forward to seeing you again.";
+ set BERSERK, 1;
+ close;
+ M_1:
+ mes "[Juan]";
+ mes "Bleh! Have you been a fool all of your life?? Go away and don't talk to me.";
+ emotion 32;
+ close;
+ M_3:
+ mes "[Juan]";
+ mes "Keuuuuuuuuuuuuuuuuuuh!";
+ mes "Oooowwwwwwwwuuuuuuuuuuhhhhhh!";
+ mes "Keuaaaaaaaaaaaaaaaaaah!";
+ close;
+
+ L_LowLvl:
+ mes "Oh, nice to meet you.";
+ next;
+ mes "[Juan]";
+ mes "You can go on your way now.";
+ emotion 33;
+ close;
+
+L_Check:
+ if ((countitem(924)<35) && (countitem(957)<10) && (countitem(958)<10) && (countitem(518)<10)) goto L_NoItems;
+ delitem 924,35;
+ delitem 958,10;
+ delitem 957,10;
+ delitem 518,10;
+ mes "Good job my dear friend. You have all 4 of the items I asked for.";
+ mes "In return I will now teach you the skill: ^FF0000Berserk^000000.";
+ next;
+ mes "[Juan]";
+ mes "Great job you have done well and deserve this skill.";
+ skill 146,1,0;
+ set BERSERK, 0;
+ next;
+ mes "[Juan]";
+ mes "Muhahahaha!! Don't hold back young warrior, fight without any fears or regrets!!";
+ emotion 29;
+ close;
+
+ L_NoItems:
+ mes "[Juan]";
+ mes "In order to learn this skill you will need to bring me the following items:";
+ mes "^5555FF35 Powder of Butterfly,";
+ mes "^10 Horrendous Mouth,";
+ mes "^10 Decayed Nail^000000,";
+ mes "and ^5555FF10 Honeys^000000!";
+ close;
+L_GotSkill:
+
+ mes "You have the eyes of a person who has seen death first hand!!";
+ mes "But, because of Berserk, I'm sure you have been able to escape it many times as well.";
+ emotion 0;
+ close;
+}
diff --git a/npc/quests/skills/thief_skills.txt b/npc/quests/skills/thief_skills.txt
new file mode 100644
index 000000000..b6f5fabee
--- /dev/null
+++ b/npc/quests/skills/thief_skills.txt
@@ -0,0 +1,386 @@
+//===== eAthena Script =======================================
+//= Thief Skills Quests
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena 7.15 +
+//===== Description: =========================================
+//= Sand Attack, Back Slide, Find Stone, Stone Fling skill quests.
+//===== Additional Comments: =================================
+//= v1.0 Fully working
+//= v1.1 Changed Sand Attack requirements from 5 Grit to 5 Fine Grit and a
+//= Leather Bag of Infinity. These are the official RO requirments
+//= Added npc RuRumuni, maker of Leather Bag of Infinity. [kobra_k88]
+//= v1.1a Now using functions found in "Global_Functions.txt" for
+//= class checks.[kobra_k88]
+//= 1.2 Added Baby Class Support [Lupus]
+//= 1.3 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon]
+//= 1.4 Fixed exploit [Lupus]
+//============================================================
+
+
+
+//======================================================================================================
+moc_prydb1.gat,154,128,4 script Alcouskou 118,{
+ mes "[Alcouskou]";
+ if(baseClass == Job_Thief) goto L_Start;
+ if(BaseJob==Job_Novice) goto L_Novice;
+
+L_Other:
+ mes "Your kind isn't welcome here.";
+ close;
+
+L_Novice:
+ mes "Although thieves and assasins have basic skills which aid them in their jobs, most don't have the 'special' skills which can make them truly great!";
+ next;
+ mes "[Alcouskou]";
+ mes "I just happen to be the ONLY one who can teach them these skills!";
+ mes "If you ever decide to become a Thief or an Assassin, come back here and I'll teach you these cool skills.";
+ next;
+ mes "[Alcouskou]";
+ mes "And if you know anyone who already is one, send them to me. I'm willing to teach anyone who's interested.";
+ close;
+
+L_Start:
+ mes "During the course of your life you will experience many things.";
+ mes "You many have trouble understanding the importance of some of these experiences, and may even consider them to be useless to you.";
+ next;
+ mes "[Alcouskou]";
+ mes "But do not be to hastey with your judgement of them, for some of these experience may actually prove to be benificial for you.";
+ next;
+ mes "[Alcouskou]";
+ mes "Let me explain:";
+M_Menu:
+ next;
+ menu "-Sand Attack",M_Sand, "-Back Slide",M_Back, "-Find Stone",M_Find, "-Stone Fling",M_Fling, "-I will be back later.",M_End;
+
+ M_Sand:
+ mes "[Alcouskou]";
+ if(SANDATTACK == 1) goto L_Sand;
+ if(getskilllv(149) > 0) goto L_GotSand;
+ mes "The most important aspect of being a good Thief/Assassin is stealth. One should never be seen our touched unless he/she wants to be";
+ next;
+ mes "[Alcouskou]";
+ mes "Some may consider this cowardly but I don't see it that way.";
+ mes "We live in a world where it is the survival of the fittest and you must do whatever it takes to survive.....";
+ next;
+ mes "[Alcouskou]";
+ mes "Even if this means throwing sand in an enemy's face. That is why the skill, ^5555FFSand Attack^000000, was created.";
+ next;
+ mes "[Alcouskou]";
+ mes "This skill allows the user to throw and kick sand in the eyes of an opponent, temporarily blinding them.";
+ mes "This effectively impares the opponent's ability to defend or attack giving the user a brief but great advantage.";
+ next;
+ mes "[Alcouskou]";
+ mes "In order to learn this skill you will need to gather ^5555FF5 Fine Grit^000000 and a ^FF3355'Leather Bag of Infinity'^000000.";
+ if(BaseJob == Job_Thief) mes "You will also need a job level of at least ^5555FF25^000000.";
+ next;
+ mes "[Alcouskou]";
+ mes "You can find the Leather Bag of Infinity by talking to a merchant by the name of ^5533FFRuRumuni^000000.";
+ mes "He can be found in the ^009500West end of Payon^000000.";
+ next;
+ mes "[Alcouskou]";
+ mes "Come back when you are ready.";
+ set SANDATTACK, 1;
+ goto M_Menu;
+ M_Back:
+ mes "[Alcouskou]";
+ if (BACKSLIDE == 1)goto L_Back;
+ if (getskilllv(150)>0) goto L_GotBack;
+ mes "People tend to focus on attack and damage, but it's necessary to understand that FLEEING is JUST AS IMPORTANT as attacking!";
+ next;
+ mes "[Alcouskou]";
+ mes "We thieves/assassins pride ourselves on our speed and ability to quickly dodge.";
+ mes "Of course I'm sure you've noticed that there is a down side to that speed and quickness.....";
+ next;
+ mes "[Alcouskou]";
+ mes "If we DO get hit, depending on the monster, that single hit could put us in serious danger!";
+ next;
+ mes "[Alcouskou]";
+ mes "I can understand how funny it is to watch a monster constantly miss while its attacking you, but......";
+ next;
+ mes "[Alcouskou]";
+ mes "If you get attacked by a large group of monsters..... you may not even have room to dodge and that won't be at all funny.";
+ next;
+ mes "[Alcouskou]";
+ mes "That's why most Thiefs/Assassins fear large mobs and will flee at the first sign of them.";
+ mes "There are those however, that do not fear being overwhelmed by a large mob.";
+ next;
+ mes "[Alcouskou]";
+ mes "These are the people who have learned a unique skill that allows them to deal with mob situatuions.";
+ mes "The skill enables the user to quickly 'back' out of the way of a mob, putting a great deal of distance between the two.";
+ next;
+ mes "[Alcouskou]";
+ mes "The skill is called ^5555FFBack Slide^000000 and requires a lot of practice to master.";
+ mes "If you wish to learn this skill you will first need to bring in ^5555FF20 Grasshopper's Legs^000000.";
+ next;
+ mes "[Alcouskou]";
+ mes "Think of it as the first part of your training.";
+ if(BaseJob == Job_Thief) mes "If you are a Thief, you will also need to have a job level of at least ^5555FF35^000000.";
+ set BACKSLIDE, 1;
+ goto M_Menu;
+ M_Find:
+ mes "[Alcouskou]";
+ if (FINDSTONE == 1) goto L_Find;
+ if (getskilllv(151)>0) goto L_GotFind;
+ mes "The more experienced and better skilled members of our guild are quite handy.";
+ mes "They can turn something as common as a rock on the ground into a very effective weapon.";
+ next;
+ mes "[Alcouskou]";
+ mes "They can throw a rock at a far away target with great accuracy and strength.";
+ mes "They can throw it so powerfully that sometimes an enemy will become stunned by it.";
+ next;
+ mes "[Alcouskou]";
+ mes "Of course not every stone can be used as a weapon. That is why the skill, ^5555FFFind Sone^000000, was developed.";
+ mes "With practice one can learn to pick out a stone that has a weight and shape that is fit for 'flinging'.";
+ next;
+ mes "[Alcouskou]";
+ mes "Once mastered a Thieve/Assassin will be able to pick up stones from any location.";
+ mes "Think about it... the ability to use a long range weapon without spending any zeny.... isn't it great?";
+ next;
+ mes "[Alcouskou]";
+ mes "If you wan't to learn this skill you must do a little training first. Start by picking up ^5555FF1 Bear's Footskin^000000.";
+ mes "Then try to find ^5555FF1 Zargon^000000. Next pick out ^5555FF5 Spawn^000000. Once you've done all this come back and see me.";
+ next;
+ mes "[Alcouskou]";
+ mes "Collecting those items will help you develop the skills neccessary to learn Find Stone.";
+ set FINDSTONE, 1;
+ goto M_Menu;
+ M_Fling:
+ mes "[Alcouskou]";
+ if (STONEFLING == 1) goto L_Fling;
+ if (getskilllv(152)>0) goto L_GotFling;
+ mes "The more experienced and better skilled members of our guild are quite handy.";
+ mes "They can turn something as common as a rock on the ground into a very effective weapon.";
+ next;
+ mes "[Alcouskou]";
+ mes "They can throw a stone at a far away target with great accuracy and strength.";
+ mes "They can throw it so powerfully that sometimes an enemy will become stunned by it.";
+ next;
+ mes "[Alcouskou]";
+ mes "These guild members call this skill ^5555FFStone Fling^000000. It is extrememly useful and doesn't cost any zeny.";
+ next;
+ mes "[Alcouskou]";
+ mes "If you wish to learn Stone Fling you must first bring me ^5555FF2 Garlet and 2 Scell^000000.";
+ mes "You will also need to have mastered ^5555FFFind Stone^000000 as well.";
+ set STONEFLING, 1;
+ goto M_Menu;
+ M_End:
+ mes "[Alcouskou]";
+ mes "It seems that you are not experienced enough yet....";
+ close;
+
+L_Sand:
+ if (countitem(7041)<5 || countitem(7042)<1) goto L_NotRdy1;
+ if (BaseJob==Job_Thief && JobLevel<25) goto L_LowLvl1;
+ delitem 7041, 5;
+ delitem 7042, 1;
+ mes "Alright, you've got all the items. Now its time to learn.... the... ultimate.... attack.... Sand Attack!!!";
+ next;
+ mes "[Alcouskou]";
+ mes "Look down at your feet. See that? The very thing your stepping on is the secrect behind this skill......... SAND!!";
+ next;
+ mes "[Alcouskou]";
+ mes "Okay, grab a handfull....... yep, that much will do....... now.........";
+ next;
+ mes "[Alcouskou]";
+ mes "THROW IT AT ME!!!";
+ emotion 27;
+ next;
+ mes "[Alcouskou]";
+ mes "(AHHH!! My EYES!!! Son of a)......... ya see how effective that was........ (JEEZE that STINGS!!).......";
+ emotion 23;
+ next;
+ mes "[Alcouskou]";
+ mes "Anyways that's all there is too it....... (CRAP that's a lot of sand!!).... So yeah, Sand Attack, use it as a last resort...... (AWW MAN!!)";
+ next;
+ mes "[Alcouskou]";
+ mes "Oh and it does Earth Property damage....... (I gota finda better way to teach this).........";
+ emotion 4;
+ skill 149,1,0;
+ set SANDATTACK, 0;
+ set BAGNFNTY, 0;
+ close;
+
+ L_NotRdy1:
+ mes "You need ^5555FF5 Fine Grit^000000 and a ^FF3355'Leather Bag of Infinity'^000000.";
+ next;
+ mes "[Alcouskou]";
+ mes "You can find the Leather Bag of Infinity by talking to a merchant by the name of ^5533FFRuRumuni^000000.";
+ mes "He can be found in the ^009500West end of Payon^000000.";
+ close;
+ L_LowLvl1:
+ mes "You need to have a ^5555FFJob level of 25^000000 to learn Sand Attack.";
+ close;
+ L_GotSand:
+ mes "Oh your back... hopefully not to throw anymore sand in my eyes, heh heh.... heh........ heh..............";
+ emotion 4;
+ close;
+
+L_Back:
+ if (countitem(940)<20) goto L_NotRdy2;
+ if (BaseJob==Thief && JobLevel<35) goto L_LowLvl2;
+ delitem 940,20;
+ mes "Great, you have the grasshopper legs. While you were collecting them I'm sure you picked up on many of the characteristics of grasshoppers.";
+ next;
+ mes "[Alcouskou]";
+ mes "You will need that knowledge because this skill is based on the movement of the grasshopper. Like it you will become quick, agile, and have a keen eyesight.";
+ next;
+ mes "[Alcouskou]";
+ mes "Okay, lets begin........";
+ next;
+ mes "~fwoosh~";
+ next;
+ mes "~fwooooosh~";
+ next;
+ mes "~fwoooooooooooooooosh~";
+ next;
+ mes "[Alcouskou]";
+ mes "Ah! You've got it. Just like a pro. With this skill being overwhelmed by mobs is a thing of the past.";
+ skill 150,1,0;
+ set BACKSLIDE, 0;
+ close;
+
+ L_NotRdy2:
+ mes "You need ^5555FF20 Grasshopper's Legs^000000.";
+ close;
+ L_LowLvl2:
+ mes "You need a ^5555FFJob level of 35^000000 to learn Back Slide.";
+ close;
+ L_GotBack:
+ mes "Seeing as you already have Back Slide..... why don't you 'Back' on outa here.....";
+ close;
+
+L_Find:
+ if (countitem(912)<1 || countitem(948)<1 || countitem(908)<5) goto L_NotRdy3;
+ delitem 912,1;
+ delitem 948,1;
+ delitem 908,5;
+ mes "Ah! I see that you're fully prepared to learn this skill. Let us begin....";
+ next;
+ mes "[Alcouskou]";
+ mes "There are many stones on the floor here. Pick them all up one by one and examine each one carefully.";
+ mes "Get a feel for how much each one weighs and become aware of how each one has a different texture.";
+ next;
+ mes "[Alcouskou]";
+ mes "You must become one with the stone... it is the only way you will be able to use it effectively...";
+ next;
+ mes "~ an hour later... ~";
+ next;
+ mes "[Alcouskou]";
+ mes "Very good. You have chosen some fine stones. This tells me that you have now perfected the Find Stone skill.";
+ emotion 21;
+ skill 151,1,0;
+ set FINDSTONE, 0;
+ next;
+ mes "[Alcouskou]";
+ mes "Have fun using it.";
+ close;
+
+ L_NotRdy3:
+ mes "You need ^5555FF1 Bear's Footskin, 1 Zargon, and 5 Spawns^000000 to learn Find Stone.";
+ close;
+ L_GotFind:
+ mes "Picking up stones can be fun but...... don't spend all day doing it ok?.....";
+ close;
+
+L_Fling:
+ if (getskilllv(151) == 0) goto L_NotRdy4;
+ if ((countitem(910)<2) || (countitem(911)<2)) goto L_NotRdy4;
+ delitem 910,2;
+ delitem 911,2;
+ mes "Good! You look like your ready for me to teach you the Stone Fling skill. Let us begin....";
+ next;
+ mes "[Alcouskou]";
+ mes "First, loosen up your arm. Next, find a good quality stone using Find Stone. Now close your eyes and visualize the target in your mind.";
+ next;
+ mes "[Alcouskou]";
+ mes "Now imagine yourself going straight through the target! Continue to visualize this!";
+ next;
+ mes "~ 1/2 hour later... ~";
+ next;
+ mes "[Alcouskou]";
+ mes "Think of the stone as an extension of your body. Keep the target clear in your mind! You are one with the stone, the stone is one with you.....";
+ next;
+ mes "[Alcouskou]";
+ mes "Open your eyes! SEE THE TARGET!! Throw the stone at the target as if you were hurrling yourself towards it! DO IT NOW!!";
+ emotion 27;
+ next;
+ mes "!!Whooooossshh!!................. !!Thwack!!";
+ next;
+ mes "[Alcouskou]";
+ mes "Haha! Excellent! It's a bullseye. You have now masterd Stone Fling, congratulations.";
+ emotion 21;
+ skill 152,1,0;
+ set STONEFLING, 0;
+ next;
+ mes "[Alcouskou]";
+ mes "As you can see this is a skill that relies heavily on concentration.";
+ mes "As long as you keep your mind focused you will have on problems using this skill.";
+ close;
+
+ L_NotRdy4:
+ mes "You need ^5555FF2 Scell and 2 Garlet^000000, and the ability to use ^5555FFFind Stone^000000 to learn Stone Fling.";
+ close;
+ L_GotFling:
+ mes "So Stone Fling is comming in handy huh? Just make sure you don't hit the wrong moster.";
+ close;
+}
+
+
+//====================================================================================
+payon.gat,91,77,4 script RuRumuni 99,{
+ mes "[RuRumuni]";
+ if(SANDATTACK == 1 && BAGNFNTY != 2) goto L_Start;
+
+ mes "I am a humble merchant here in Payon. I buy leather hides, brought in by the hunters, to make leather pouches to sell.";
+ mes "I grew up around leather and am quite good at working with it.";
+ next;
+ mes "[RuRumuni]";
+ mes "There is a Thief guild in the Morroc area.";
+ mes "I know someone there that sends me Thieves in need of the items I make, such as the ^5533FF'Leather Bag of Infinity'^000000.";
+ close;
+
+L_Start:
+ if(BAGNFNTY == 1) goto L_Check;
+ mes "Hello. So you were sent by Alcouskou to obtain a ^5533FF'Leather Bag of Inifinity'^000000........";
+ mes "I will be more than happy to make one for you............";
+ next;
+ mes "[RuRumuni]";
+ mes "But this bag is very special, and I will need some special items in order to make it.";
+ next;
+ set BAGNFNTY, 1;
+
+ L_List:
+ mes "[RuRumuni]";
+ mes "Here are the items that I will need:";
+ mes "- 5 ^5533FFScorpion Tails^000000";
+ mes "- 1 ^5533FFCobweb^000000";
+ mes "- 1 ^5533FFCactus Needle^000000";
+ mes "- 1 ^5533FFEarthworm Peeling^000000.";
+ next;
+ mes "[RuRumuni]";
+ mes "Once you have all of these items I will be able to make the Bag of Infinity for you.";
+ close;
+
+L_Check:
+ mes "Nice to see you again. Do you have all of the items? Lets see........";
+ next;
+ if(countitem(904)<5 || countitem(1025)<1 || countitem(952)<1 || countitem(1055)<1) goto L_List;
+ delitem 904, 5;
+ delitem 1025, 1;
+ delitem 952, 1;
+ delitem 1055, 1;
+ mes "[RuRumuni]";
+ mes "Great you have everything I asked for. Let me start making the bag right away.......";
+ next;
+ mes "~( 30 minutes later)~";
+ next;
+ mes "[RuRumuni]";
+ mes "Here you go, one Leather Bag of Infinity. Enjoy!";
+ getitem 7042, 1;
+ set BAGNFNTY, 2;
+ close;
+}
diff --git a/npc/sample/PCLoginEvent.txt b/npc/sample/PCLoginEvent.txt
new file mode 100644
index 000000000..4a8994986
--- /dev/null
+++ b/npc/sample/PCLoginEvent.txt
@@ -0,0 +1,53 @@
+// eAthena Special NPC
+
+// PCLoginEvent NPC (davidsiaw)
+//==============================================================================
+// How it works:
+// When a player logs in, the NPC will run as if he just clicked it. Which means
+// if the script is like this:
+//
+// [code]
+// prontera.gat,0,0,0 script PCLoginEvent -1,{
+// mes "lmao";
+// close;
+// }
+// [/code]
+//
+// every player who logs in will recieve a message 'lmao' in their face as soon
+// as they can see the map.
+//-----------------------------------------------------------------------------
+// Note:
+// 1) This NPC will only run if its name is 'PCLoginEvent'
+// 2) I made it invisible because you don't need to see it. Its an abstract NPC
+// 3) If you don't want it, simply delete it
+// 4) If you have more than one PCLoginEvent NPC, strange things will happen.
+// 5) You can put this script in ANY file.
+// 6) I put an end; there because that just makes it do nothing.
+// 7) Modify this script to your liking and give your players a surprise
+// 8) Remember: IT RUNS LIKE A NORMAL NPC. BUT THE ONLY WAY TO 'CLICK' IT IS BY
+// LOGGING ON
+// 9) There are 2 ways to use this - check the examples below!
+
+//
+// The 1st type -- with 'event_script_type' set to 0
+//
+prontera.gat,0,0,0 script PCLoginEvent -1,{
+ end;
+}
+
+//
+// The 2nd type -- with 'event_script_type' set to 1
+//
+prontera.gat,155,175,0 script An NPC 46,{
+ close;
+PCLoginEvent:
+ // this part will run
+ close;
+}
+
+prontera.gat,156,176,0 script Another NPC 46,{
+ close;
+PCLoginEvent:
+ // this part runs AS WELL
+ close;
+} \ No newline at end of file
diff --git a/npc/sample/bank_test.txt b/npc/sample/bank_test.txt
new file mode 100644
index 000000000..cea5a1946
--- /dev/null
+++ b/npc/sample/bank_test.txt
@@ -0,0 +1,58 @@
+// Bank Test
+prontera.gat,162,188,1 script Bank Test 112,{
+ cutin "kafra_06",2;
+
+ mes "[Bank Test]";
+ mes "Welcome to Prontera's Bank Test.";
+ mes "You can only deposit a minimal of";
+ mes "1000z. What do you want to do?";
+ next;
+ menu "Deposit",BANK_IN,"Withdraw",BANK_OUT,"Exit",B_EXIT2;
+BANK_IN:
+ mes "[Bank Test]";
+ mes "You must deposit the same of less";
+ mes "amount of zeny that you carry.";
+ mes "How much do you want to deposit?";
+ next;
+ input @kafrabank;
+
+ if(@kafrabank<1000) goto B_EXIT2;
+ set @kafrabank2,@kafrabank*1/100;
+ if(@kafrabank+@kafrabank2>Zeny) goto BANK_F;
+ set Zeny,Zeny-@kafrabank-@kafrabank2;
+ set #kafrabank,#kafrabank+@kafrabank;
+ mes "You now have: ^135445" + @kafrabank2 + "z^000000";
+
+ goto B_EXIT;
+BANK_OUT:
+ if(#kafrabank==0) goto BANK_F2;
+ mes "[Bank Test]";
+ mes "You can only withdraw equally or below this quantity:";
+ mes "^135445" + #kafrabank + "^000000z";
+ mes "How much do you want to withdraw?";
+ next;
+ input @kafrabank;
+
+ if(@kafrabank<1) goto B_EXIT2;
+ if(@kafrabank>#kafrabank) goto BANK_F;
+ set #kafrabank,#kafrabank-@kafrabank;
+ set Zeny,Zeny+@kafrabank;
+
+ goto B_EXIT;
+
+BANK_F:
+ mes "[Bank Test]";
+ mes "You can't withdraw more than ^135445"+ #kafrabank + "^000000z.";
+ goto B_EXIT2;
+BANK_F2:
+ mes "[Bank Test]";
+ mes "Your account is empty, you may not withdraw at this time.";
+ goto B_EXIT2;
+
+B_EXIT:
+ mes "Thanks for using depositing";
+B_EXIT2:
+ mes "Good bye!";
+ cutin "kafra_06",255;
+ close;
+}
diff --git a/npc/sample/basejob_baseclass_upper.txt b/npc/sample/basejob_baseclass_upper.txt
new file mode 100644
index 000000000..5d77c7412
--- /dev/null
+++ b/npc/sample/basejob_baseclass_upper.txt
@@ -0,0 +1,7 @@
+prontera.gat,155,177,1 script Tell Me 725,{
+ mes "[Tell Me]";
+ mes "Class: " + Class;
+ mes "BaseClass: " + BaseClass;
+ mes "BaseJob: " + BaseJob;
+ mes "Upper: " + Uppser;
+}
diff --git a/npc/sample/delitem2.txt b/npc/sample/delitem2.txt
new file mode 100644
index 000000000..3c93a37f5
--- /dev/null
+++ b/npc/sample/delitem2.txt
@@ -0,0 +1,29 @@
+prontera.gat,160,182,5 script Deleter2 51,{
+ mes "Input item ID";
+ next;
+ input @nameid;
+ mes "Amount?";
+ next;
+ input @amount;
+ mes "Identified?";
+ next;
+ input @iden;
+ mes "How many times refined?";
+ next;
+ input @ref;
+ mes "Attribute?";
+ next;
+ input @attr;
+ mes "4 cards (one after another):";
+ next;
+ input @c1;
+ input @c2;
+ input @c3;
+ input @c4;
+ mes "Your command is:";
+ mes "delitem2 "+@nameid+","+@amount+","+@iden+","+@ref+","+@attr+","+@c1+","+@c2+","+@c3+","+@c4;
+ next;
+ delitem2 @nameid,@amount,@iden,@ref,@attr,@c1,@c2,@c3,@c4;
+ mes "And here is the moment when Your item should disappear :P";
+ close;
+}
diff --git a/npc/sample/getequipcardid.txt b/npc/sample/getequipcardid.txt
new file mode 100644
index 000000000..0dcec60d8
--- /dev/null
+++ b/npc/sample/getequipcardid.txt
@@ -0,0 +1,34 @@
+//===== eAthena Script =======================================
+//===== By: ==================================================
+//= Lupus
+//= Shows your HAT's slots IDs
+//= Use it for some checks... e.g.
+//= is your EQUPPED weapon has FIRE property?
+//= is your EQUPPED item produced?
+//============================================================
+
+prontera.gat,155,177,4 script Check My Hat 810,{
+ mes "Checking your head...";
+ set @ref,0;
+
+ if (getequipisequiped(1)) goto L_CHECK1;
+ mes "Nothing?";
+ emotion e_hmm;
+ close;
+
+L_CHECK1:
+ set @id,getequipid(1);
+ if(getequipisidentify(1)) goto L_CHECK2;
+ mes "How can you wear not identified hats?";
+ npctalk "You're a cheater!";
+ emotion e_wah;
+ close;
+
+L_CHECK2:
+ set @ref,getequiprefinerycnt(1);
+ mes "Your hat is... "+getitemname(@id)+"...";
+ if(@ref)mes "It has been refined "+@ref+" times.";
+ mes "Card Slot 0:"+getequipcardid(1,0)+" 1:"+getequipcardid(1,1);
+ mes "Card Slot 2:"+getequipcardid(1,2)+" 3:"+getequipcardid(1,3);
+ close;
+}
diff --git a/npc/sample/getiteminfo.txt b/npc/sample/getiteminfo.txt
new file mode 100644
index 000000000..338c5e946
--- /dev/null
+++ b/npc/sample/getiteminfo.txt
@@ -0,0 +1,16 @@
+//by Lupus
+
+prontera.gat,156,179,6 script test_getiteminfo 117,{
+ mes "Please enter an item ID (501 ... 14000)";
+ input @value;
+//WOW! this line uses INTERNAL function of your client to show item name by its ID!
+// ^nItemID^XXXX -> Item Name
+ mes "Item ID: "+@value+" ^nItemID^"+@value;
+ mes "Current Item info:";
+ set @id,0;
+L_LOOP:
+ mes " getiteminfo("+@value+","+@id+") = "+getiteminfo(@value,@id);
+ set @id,@id+1;
+ if(@id<14) goto L_LOOP;
+ close;
+} \ No newline at end of file
diff --git a/npc/sample/gstorage_test.txt b/npc/sample/gstorage_test.txt
new file mode 100644
index 000000000..aa6749ec0
--- /dev/null
+++ b/npc/sample/gstorage_test.txt
@@ -0,0 +1,33 @@
+// ƒJƒvƒ‰ƒMƒ‹ƒh‘qŒÉƒT[ƒrƒX ƒeƒXƒgƒXƒNƒŠƒvƒg
+prontera.gat,165,188,4 script ƒMƒ‹ƒh‘qŒÉƒJƒvƒ‰ 112,{
+ cutin "kafra_06",2;
+
+ mes"[ƒMƒ‹ƒh‘qŒÉƒJƒvƒ‰]";
+ mes "ƒJƒvƒ‰ƒMƒ‹ƒh‘qŒÉƒT[ƒrƒX‚Å‚·B";
+ mes "–ˆ“x‚²—˜—p‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·ô";
+ mes "ƒeƒXƒg—p‚È‚Ì‚Å‹à‚Í–á‚¢‚Ü‚¹‚ñB";
+ next;
+ menu "ƒMƒ‹ƒh‘qŒÉ‚ð—˜—p‚·‚é",GS_OPEN,"‚â‚Á‚Ï‚â‚ß‚é",GS_EXIT3;
+
+GS_OPEN:
+ set @flag,guildopenstorage(0);
+ if(@flag == 1) goto GS_EXIT1;
+ if(@flag == 2) goto GS_EXIT2;
+ goto GS_EXIT4;
+
+GS_EXIT1:
+ mes "ƒMƒ‹ƒhƒƒ“ƒo[‚ª‘qŒÉ‚ðŽg—p’†‚Å‚·B";
+ mes "‚µ‚΂炭‘Ò‚Á‚Ä‚©‚ç—˜—p‚µ‚Ä‚­‚¾‚³‚¢B";
+ goto GS_EXIT4;
+
+GS_EXIT2:
+ mes "ƒMƒ‹ƒh‚ÉŠ‘®‚µ‚Ä‚È‚¢•û‚Í—˜—p‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚¹‚ñB";
+ goto GS_EXIT4;
+
+GS_EXIT3:
+ mes "‚Ü‚½‚Ì‚²—˜—p‚ð‚¨‘Ò‚¿‚µ‚Ä‚¢‚Ü‚·ô";
+
+GS_EXIT4:
+ cutin "kafra_06",255;
+ close;
+}
diff --git a/npc/sample/npc_card_remover.txt b/npc/sample/npc_card_remover.txt
new file mode 100644
index 000000000..c341c4d1b
--- /dev/null
+++ b/npc/sample/npc_card_remover.txt
@@ -0,0 +1,197 @@
+// Card removal NPC by TyrNemesis^ “ú–{Œê–óFŒÓ’±—–
+prt_in.gat,28,73,4 script Œ«‚¢˜V— 78,{
+
+UPGRADEROOT:
+// mes "[Wise Old Woman]";
+// mes "Good day, young one. I have the power to remove cards that you have compounded onto your equipment. Does this idea please you?";
+ mes "[Œ«‚¢˜V—]";
+ mes "‚¢‚¢“V‹C‚¾‚ËAŽá‚¢‚ÌB";
+ mes "‚Æ‚±‚ë‚ÅAƒAƒ^ƒV‚Í•‹ï‚É‘•’…‚µ‚Ä‚¢‚é";
+ mes "ƒJ[ƒh‚ðŽæ‚èŠO‚·—Í‚ðŽ‚Á‚Ä‚¢‚邯‚ÇA";
+ mes "—Í‚ð‘Ý‚»‚¤‚©‚ËH";
+ next;
+// menu "Yes, it does.",REMOVEMENU,
+// "What do you charge?",REMOVEPRICE,
+// "No thanks.",CLOSEOUT;
+ menu "‚¨Šè‚¢‚µ‚Ü‚·B",REMOVEMENU,
+ "‚¢‚­‚ç‚©‚©‚é‚ñ‚Å‚·‚©H",REMOVEPRICE,
+ "•K—v‚È‚¢‚Å‚·B",CLOSEOUT;
+
+REMOVEPRICE:
+// mes "[Wise Old Woman]";
+// mes "I charge a flat fee of 200000 zeny, plus 25000 zeny for each card I remove from the item. In addition, I need a star crumb and a yellow gemstone to work my magic.";
+ mes "[Œ«‚¢˜V—]";
+ mes "‚»‚¤‚¾‚ËA";
+ mes "‚Ü‚¸Šî–{—¿‹à‚Æ‚µ‚Ä^4040FF200000z^000000B";
+ mes "‚»‚µ‚ăJ[ƒh‚P–‡‚ɂ‚«^4040FF25000z^000000–Ⴄ‚æB";
+ mes "‚ ‚Æ‚ÍA–‚–@‚ðŽg‚¤‚½‚ß‚É^4040FF¯‚Ì‚©‚¯‚ç^000000‚Æ";
+ mes "^4040FFƒCƒGƒ[ƒWƒFƒ€ƒXƒg[ƒ“^000000‚ª‚P‚‚¸‚•K—v‚¾‚æB";
+ next;
+// menu "Very well. Let's do it.",REMOVEMENU,
+// "No thanks.",CLOSEOUT;
+ menu "‚¨Šè‚¢‚µ‚Ü‚·B",REMOVEMENU,
+ "•K—v‚È‚¢‚Å‚·B",CLOSEOUT;
+
+REMOVEMENU:
+// mes "[Wise Old Woman]";
+// mes "Very well. Which item shall I examine for you?";
+ mes "[Œ«‚¢˜V—]";
+ mes "‚悵‚悵B";
+ mes "‚Ç‚Ì•‹ï‚̃J[ƒh‚ðŽæ‚èŠO‚·‚ñ‚¾‚ËH";
+ next;
+// menu "I changed my mind.",CLOSEOUT,
+ menu "‚â‚Á‚Ï‚è‚â‚ß‚Ü‚·B",CLOSEOUT,
+ getequipname(1),-,
+ getequipname(2),-,
+ getequipname(3),-,
+ getequipname(4),-,
+ getequipname(5),-,
+ getequipname(6),-,
+ getequipname(7),-,
+ getequipname(8),-,
+ getequipname(9),-,
+ getequipname(10),-;
+ set @part,@menu-1;
+ if(getequipcardcnt(@part) == 0) goto DENYCARDCOUNT;
+ set @cardcount,getequipcardcnt(@part);
+// if(@cardcount > 1) goto CARDNUMMULTIMSG;
+// mes "[Wise Old Woman]";
+// mes "This item has " + @cardcount + " card compounded on it. To perform my magic, I will need 225000 zeny, a ^0000FFStar Crumb^000000, and a ^0000FFYellow Gemstone^000000.";
+// goto CARDNUMPOSTMSG;
+//CARDNUMMULTIMSG:
+// mes "[Wise Old Woman]";
+// mes "This item has " + @cardcount + " cards compounded on it. To perform my magic, I will need " + (200000+(@cardcount * 25000)) + " zeny, a ^0000FFStar Crumb^000000, and a ^0000FFYellow Gemstone^000000.";
+ mes "[Œ«‚¢˜V—]";
+ mes "‚±‚Ì•‹ï‚É‚Í" + @cardcount + "‚ƒJ[ƒh‚ª‚‚¢‚Ä‚é‚ËB";
+ mes "^0000FF" + (200000+(@cardcount * 25000)) + "z^000000‚Æ^0000FF¯‚Ì‚©‚¯‚ç^000000‚Æ^0000FFƒCƒGƒ[ƒWƒFƒ€ƒXƒg[ƒ“^000000‚ª•K—v‚¾‚æB";
+//CARDNUMPOSTMSG:
+ next;
+// menu "Very well. Do it.",REMOVECARDWARNING,
+// "Never mind.",CLOSEOUT;
+ menu "‚í‚©‚è‚Ü‚µ‚½A‚¨Šè‚¢‚µ‚Ü‚·B",REMOVECARDWARNING,
+ "‚â‚Á‚Ï‚è‚â‚ß‚Ü‚·B",CLOSEOUT;
+
+REMOVECARDWARNING:
+// mes "[Wise Old Woman]";
+// mes "Before I begin, I must warn you--I may fail. If I do, I may destroy the cards, the item, or both. I do not give refunds. That being said, which is more important to you: The cards, or the item?";
+ mes "[Œ«‚¢˜V—]";
+ mes "‚¨‚Á‚ÆŒ¾‚¢–Y‚ê‚é‚Æ‚±‚낾‚Á‚½‚ËB";
+ mes "‚±‚Ì–‚–@‚Í‚Æ‚Ä‚à“‚¢‚©‚çA";
+ mes "^FF4040Ž¸”s‚·‚é‚©‚à‚µ‚ê‚È‚¢^000000‚Ì‚³B";
+ mes "Ž¸”s‚µ‚½‚çƒJ[ƒh‚©•‹ïA‚ ‚é‚¢‚Í";
+ mes "‚»‚Ì—¼•û‚ª^FF4040”j‰ó‚³‚ê‚Ä‚µ‚Ü‚¤^000000‚©‚à";
+ mes "‚µ‚ê‚È‚¢‚ñ‚¾‚æB";
+ next;
+ mes "[Œ«‚¢˜V—]";
+ mes "Ž¸”s‚µ‚Ä‚à^FF4040•Ô‹à‚Í‚µ‚È‚¢^000000‚©‚çA";
+ mes "ˆê‰ž•·‚¢‚Ä’u‚­‚¯‚ÇA”ä‚ׂé‚È‚ç";
+ mes "ƒJ[ƒh‚Æ•‹ï‚Ì‚Ç‚Á‚¿‚ª‘åØ‚¾‚¢H";
+ next;
+// menu "I changed my mind about this.",CLOSEOUT,
+// "The item.",PRIORITYITEM,
+// "The cards.",PRIORITYCARD;
+ menu "‚»‚ê‚È‚ç‚â‚ß‚Ü‚·B",CLOSEOUT,
+ "•‹ï‚Ì•û‚ª‘åØ‚Å‚·B",PRIORITYITEM,
+ "ƒJ[ƒh‚Ì•û‚ª‘åØ‚Å‚·",PRIORITYCARD;
+
+PRIORITYITEM:
+ set @failtype,1;
+ goto REMOVECARD;
+
+PRIORITYCARD:
+ set @failtype,2;
+ goto REMOVECARD;
+
+REMOVECARD:
+// mes "[Wise Old Woman]";
+// mes "Very well. I shall begin.";
+ mes "[Œ«‚¢˜V—]";
+ mes "‚悵AŽn‚ß‚é‚æB";
+ next;
+ if((zeny < (200000+(@cardcount * 25000))) || (countitem(1000) < 1) || (countitem(715) < 1)) goto DENYMATERIAL;
+ set zeny,zeny - (200000+(@cardcount * 25000));
+ delitem 1000,1;
+ delitem 715,1;
+
+// Replace the constants in the next 3 lines with failure chance values defined in refine_db.txt
+// First value = Total failure chance (item and cards destroyed)
+// Second value = Partial failure chance (one or the other is destroyed, player decides which one is safe)
+// Third value = Harmless failure chance (all that's lost is your investment)
+
+ set @failchance,rand(100);
+ if(@failchance < 2) goto FAILREMOVECARD0;
+ if((@failchance < 6) && (@failtype == 1)) goto FAILREMOVECARD1;
+ if((@failchance < 6) && (@failtype == 2)) goto FAILREMOVECARD2;
+ if(@failchance < 10) goto FAILREMOVECARD3;
+ successremovecards @part;
+// mes "[Wise Old Woman]";
+// mes "The process was a success. Here are your cards and your item. Farewell.";
+ mes "[Œ«‚¢˜V—]";
+ mes "‚¤‚Ü‚­‚¢‚Á‚½‚æB";
+ mes "‚±‚ê‚炪•‹ï‚ƃAƒCƒeƒ€‚³B‚¶‚á‚ ‚ËB";
+ close;
+
+FAILREMOVECARD0:
+// mes "[Wise Old Woman]";
+// mes "The process was a total failure. I am afraid the item and the cards were destroyed.";
+ mes "[Œ«‚¢˜V—]";
+ mes "Žc”O‚¾‚¯‚ÇŠ®‘S‚ÉŽ¸”s‚µ‚½‚æB";
+ mes "•‹ï‚àƒJ[ƒh‚à‰ó‚ê‚Ä‚µ‚Ü‚Á‚½B";
+ failedremovecards @part,0;
+ close;
+
+FAILREMOVECARD1:
+// mes "[Wise Old Woman]";
+// mes "While I have managed to remove the cards from the item, they were destroyed in the process. The item, however, is okay.";
+ mes "[Œ«‚¢˜V—]";
+ mes "Šæ’£‚Á‚½‚¯‚Ç‚ËA";
+ mes "ƒJ[ƒh‚Ì‚Ù‚¤‚Í‘S•”‰ó‚ê‚Ä‚µ‚Ü‚Á‚½‚æB";
+ mes "‚Å‚à•‹ï‚Ì•û‚Í–³Ž–‚¾‚Á‚½‚æB";
+ failedremovecards @part,1;
+ close;
+
+FAILREMOVECARD2:
+// mes "[Wise Old Woman]";
+// mes "Most unfortunate. I succeeded at removing the cards, but the item itself was destroyed in the process.";
+ mes "[Œ«‚¢˜V—]";
+ mes "•s‰^‚¾‚Á‚½‚ËB";
+ mes "ƒJ[ƒh‚ðŽæ‚èŠO‚·‚Ì‚Í‚¤‚Ü‚­‚¢‚Á‚½‚¯‚Ç";
+ mes "•‹ï‚ª‰ó‚ê‚Ä‚µ‚Ü‚Á‚½‚æB";
+ failedremovecards @part,2;
+ close;
+
+FAILREMOVECARD3:
+// mes "[Wise Old Woman]";
+// mes "I have failed to remove the cards. Luckily, however, both the item and the cards are still okay.";
+ mes "[Œ«‚¢˜V—]";
+ mes "ƒJ[ƒh‚ðŽæ‚èŠO‚·‚Ì‚ÉŽ¸”s‚µ‚½‚æB";
+ mes "‚Å‚àA•sK’†‚ÌK‚¢‚³B";
+ mes "•‹ï‚àƒJ[ƒh‚à–³Ž–‚¾‚æB";
+ failedremovecards @part,3;
+ close;
+
+DENYCARDCOUNT:
+// mes "[Wise Old Woman]";
+// mes "Young one... There are no cards compounded on this item. I can do nothing with it, I'm afraid.";
+ mes "[Œ«‚¢˜V—]";
+ mes "Žá‚¢‚ÌAƒJ[ƒh‚ª‚‚¢‚Ä‚È‚¢‚æB";
+ mes "‚»‚ꂶ‚áƒAƒ^ƒV‚Ìo”Ô‚Í‚È‚¢‚³B";
+ close;
+
+DENYMATERIAL:
+// mes "[Wise Old Woman]";
+// mes "You do not have all the items I require to work my magic, child. Come again when you do.";
+ mes "[Œ«‚¢˜V—]";
+ mes "•K—v‚ȃAƒCƒeƒ€‚ª‘«‚è‚È‚¢‚悤‚¾‚ËB";
+ mes "ƒAƒCƒeƒ€‚𑵂¦‚Ä‚à‚¤ˆê“x—ˆ‚ÈB";
+ close;
+
+CLOSEOUT:
+// mes "[Wise Old Woman]";
+// mes "Very well. Return at once if you seek my services.";
+ mes "[Œ«‚¢˜V—]";
+ mes "‚í‚©‚Á‚½‚æB";
+ mes "ƒAƒ^ƒV‚Ì—Í‚ª•K—v‚È‚ç‚¢‚Â‚Å‚à—ˆ‚ÈB";
+ close;
+
+}
diff --git a/npc/sample/npc_equip_sample.txt b/npc/sample/npc_equip_sample.txt
new file mode 100644
index 000000000..942ec47eb
--- /dev/null
+++ b/npc/sample/npc_equip_sample.txt
@@ -0,0 +1,17 @@
+
+prontera.gat,161,181,6 script GetEquipID Sample 105,{
+ mes "[GetEquipID Sample]";
+ mes " GetEquipID(01) : " + getequipid(1);
+ mes " GetEquipID(02) : " + getequipid(2);
+ mes " GetEquipID(03) : " + getequipid(3);
+ mes " GetEquipID(04) : " + getequipid(4);
+ mes " GetEquipID(05) : " + getequipid(5);
+ mes " GetEquipID(06) : " + getequipid(6);
+ mes " GetEquipID(07) : " + getequipid(7);
+ mes " GetEquipID(08) : " + getequipid(8);
+ mes " GetEquipID(09) : " + getequipid(9);
+ mes " GetEquipID(10) : " + getequipid(10);
+ close;
+ end;
+}
+
diff --git a/npc/sample/npc_extend_shop.txt b/npc/sample/npc_extend_shop.txt
new file mode 100644
index 000000000..015973ed2
--- /dev/null
+++ b/npc/sample/npc_extend_shop.txt
@@ -0,0 +1,60 @@
+//SuperNovice
+prontera.gat,182,213,3 shop Super Novice Shop 716,1243:-1,2112:-1,2340:-1,2352:-1,2414:-1,2510:-1,2628:-1,5055:-1
+
+//Whips
+prontera.gat,149,139,5 shop Whips Merchant 58,1951:-1,1953:-1,1955:-1,1957:-1,1959:-1,1961:-1,1962:-1,1963:-1,1964:-1
+
+//Headgears
+prontera.gat,162,175,3 shop Headgears Merchant 1 73,2209:-1,2210:-1,2211:-1,2221:-1,2223:-1,2217:-1,2227:-1,2231:-1,2225:-1,2229:-1
+
+//Headgears
+prontera.gat,162,172,3 shop Headgears Merchant 2 73,2203:-1,2212:-1,2218:-1,2239:-1,2241:-1,2242:-1,2243:-1,2263:-1,2265:-1,2276:-1,2288:-1,2291:-1,2297:-1
+
+//Armor
+prontera.gat,162,169,3 shop Armours Merchant 73,2311:-1,2313:-1,2315:-1,2317:-1,2318:-1,2320:-1,2322:-1,2324:-1,2326:-1,2327:-1,2329:-1,2331:-1,2334:-1,2336:-1,2337:-1,2342:-1
+
+//Shields
+prontera.gat,162,166,3 shop Shields Merchant 73,2102:-1,2104:-1,2106:-1,2108:-1,2109:-1,2110:-1,2111:-1
+
+//Boots
+prontera.gat,162,163,3 shop Boots Merchant 73,2402:-1,2404:-1,2406:-1,2407:-1,2412:-1,2413:-1
+
+//Robes
+prontera.gat,162,160,3 shop Robes Merchant 73,2502:-1,2504:-1,2506:-1,2507:-1,2508:-1,2509:-1
+
+//Accessory
+prontera.gat,162,157,3 shop Accessory Merchant 73,2601:-1,2602:-1,2603:-1,2604:-1,2605:-1,2607:-1,2608:-1,2615:-1,2616:-1,2618:-1,2619:-1
+
+//Arrows
+prontera.gat,162,154,3 shop Arrows Merchant 73,1750:-1,1751:-1,1752:-1,1753:-1,1754:-1,1755:-1,1756:-1,1757:-1,1758:-1,1759:-1,1760:-1,1761:-1,1762:-1,1763:-1,1764:-1,1765:-1,1766:-1,1767:-1,1768:-1,1769:-1
+
+//Alchemist
+prontera.gat,162,151,3 shop Alchemist Shop 73.7127:-1,7128:-1,7129:-1,7130:-1,7131:-1,7132:-1,7133:-1,7144:-1,7134:-1,1093:-1
+
+//Taming Merchant
+prontera.gat,162,148,3 shop Taming Merchant 73,619:-1,620:-1,621:-1,623:-1,624:-1,625:-1,626:-1,627:-1,628:-1,629:-1,630:-1,631:-1,632:-1,633:-1,634:-1,635:-1,636:-1,637:-1,638:-1,639:-1,640:-1,641:-1,642:-1,659:-1
+
+//Pet Equipment
+prontera.gat,162,145,3 shop Pet Equipment 73,10001:-1,10002:-1,10003:-1,10004:-1,10005:-1,10006:-1,10007:-1,10008:-1,10009:-1,10010:-1,10011:-1,10012:-1,10013:-1,10014:-1,10015:-1,10016:-1,10017:-1,10018:-1,10019:-1,10020:-1
+
+
+//Weapon Cards
+prontera.gat,148,234,5 shop Weapon Card's Merchant 80,4004:100000,4018:100000,4025:100000,4026:100000,4019:100000,4029:100000,4043:100000,4017:100000,4020:100000,4024:100000,4037:100000,4055:100000,4057:100000,4076:100000,4096:100000,4104:100000,4030:100000,4049:100000,4062:100000,4069:100000,4085:100000,4007:100000,4060:100000,4063:100000,4068:100000,4080:100000,4094:100000,4111:100000,4118:100000,4082:20700,4092:100000,4126:100000,4072:100000,4115:100000,4035:100000,4086:100000,4106:100000,4117:100000,4125:100000
+
+//Headgear Cards
+prontera.gat,148,231,5 shop Headgear Card's Merchant 80,4010:100000,4039:100000,4046:100000,4052:100000,4087:100000,4110:100000,4112:100000,4122:100000,4127:100000
+
+//Armor Cards
+prontera.gat,146,229,5 shop Armor Card's Merchant 80,4003:100000,4008:100000,4011:100000,4014:100000,4016:100000,4021:100000,4023:100000,4031:100000,4078:100000,4089:100000,4098:100000,4099:100000,4101:100000,4114:100000,4119:100000,4141:100000,4061:100000,4105:100000
+
+//Shield Cards
+prontera.gat,144,227,5 shop Shield Card's Merchant 80,4013:100000,4032:100000,4058:100000,4059:100000,4066:100000,4074:100000,4083:100000,4120:100000,4124:100000,4136:100000,4138:100000,4045:100000,4067:100000,4075:100000,4090:100000
+
+//Robe Cards
+prontera.gat,142,225,5 shop Robe Card's Merchant 80,4056:100000,4071:100000,4081:100000,4095:100000,4108:100000,4109:100000,4113:100000,4116:100000,4133:100000,4015:100000,4088:100000,4102:100000,4129:100000
+
+//Shoe Cards
+prontera.gat,140,223,5 shop Shoes Card's Merchant 80,4009:100000,4038:100000,4050:100000,4070:100000,4097:100000,4100:100000,4107:100000
+
+//Accessory Cards
+prontera.gat,138,221,5 shop Accessory Card's Merchant 80,4022:100500,4027:100500,4028:100500,4034:100500,4051:100500,4064:100500,4091:100500,4079:100500,4033:100500,4040:100500,4044:100500,4048:100500,4053:100500,4073:100500,4077:100500,4084:100500,4093:100500,4103:100500,4139:100500 \ No newline at end of file
diff --git a/npc/sample/npc_sample.txt b/npc/sample/npc_sample.txt
new file mode 100644
index 000000000..f589ef370
--- /dev/null
+++ b/npc/sample/npc_sample.txt
@@ -0,0 +1,457 @@
+//
+// Athena Sample Script
+// (c) 2003 Athena Project.
+//
+// $Id: npc_sample.txt,v 1.1.1.1 2004/09/10 17:26:47 MagicalTux Exp $
+
+// ‚±‚̃tƒ@ƒCƒ‹‚ÍAAthena‚ÅŽg—p‚³‚ê‚éƒXƒNƒŠƒvƒg‚̉ðà‚ÆŽg—p—á‚̃Tƒ“ƒvƒ‹‚Æ
+// ‚È‚Á‚Ä‚¢‚Ü‚·B
+
+// =============
+// *Šî–{“I‚È‘Ž®
+// =============
+// <parameters_1>\t<command>\t<displayname>\t<parameters_2>
+// \t‚ÍTAB‚ð‚ ‚ç‚킵‚Ü‚·B
+// command ‚Í "warp" / "monster" / "shop" / "script" ‚Ì‚¢‚¸‚ê‚©‚É‚È‚è‚Ü‚·B
+// Šes‚É‚¨‚¢‚Ä"//"ˆÈ~‚̓Rƒƒ“ƒg‚Æ‚µ‚Ä–³Ž‹‚³‚ê‚Ü‚·B
+// ˆÈ‰ºAŒÂX‚ɂ‚¢‚ĉðà‚ð‚µ‚Ä‚¢‚«‚Ü‚·B
+//
+// ‘Ž®’†<n>‚Æ‚©‚©‚ê‚Ä‚¢‚é•”•ª‚Ín‚Æ‚¢‚¤•¶Žš‚Å‚Í‚È‚­A”CˆÓ‚Ì•¶Žš—ñ/’l‚ðŽ¦‚µ‚Ü‚·B
+// ‚Ü‚½A[n]‚Í•K—v‚ɉž‚¶‚ÄŽw’è‚·‚é”CˆÓ‚Ì•¶Žš—ñ/’l‚Æ‚È‚Á‚Ä‚¢‚Ü‚·B
+
+// ========
+// *command
+// ========
+//
+// ---------------
+// *’Êíwarp(warp)
+// ---------------
+// ‘Ž® : <gatname>,<x>,<y> warp <displayname(hidden)> <dx>,<dy>,<destination_gatname>[.gat],<destination_x>,<destination_y>
+//
+// <gatname> - ƒ}ƒbƒvƒf[ƒ^ƒtƒ@ƒCƒ‹–¼BŠg’£Žq‚Í•K{‚Å‚·B
+// <x>,<y> - ƒ[ƒvƒ|ƒCƒ“ƒg‚Ì’†SÀ•W(x,y)
+// <displayname(hidden)> - npc–¼Bˆê•¶ŽšˆÈã‚Ì”CˆÓ‚Ì•¶Žš‚ÅŽw’肵‚Ü‚·Bƒ†ƒj[ƒN‚È–¼‘O‚Å‚ ‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
+// ŽÀÛ‚É‚Í•\Ž¦‚³‚ê‚Ü‚¹‚ñB
+// <dx>,<dy> - “®ì”͈Í(x,y) <x,y>‚ð’†S‚É(dx+1,dy+1)‚͈̔͂ÉPC‚ª—ˆ‚é‚Æ”­“®‚µ‚Ü‚·
+// <destination_gatname>,<destination_x>,<destination_y> -
+// ˆÚ“®æ‚̃}ƒbƒvƒf[ƒ^ƒtƒ@ƒCƒ‹–¼,À•W(x,y)
+// destination_gatname‚ɂ‚¢‚Ä‚ÍŠg’£Žq".gat"‚Í‚ ‚Á‚Ä‚à–³‚­‚Ä‚à\‚¢‚Ü‚¹‚ñB
+// ˆÚ“®æ‚Ìmapƒf[ƒ^ƒtƒ@ƒCƒ‹‚ª‘¶Ý‚µ‚È‚¢(‚ ‚é‚¢‚Ímap_config‚ÅŽw’肳‚ê‚Ä‚¢‚È‚¢)ꇂ͔­“®‚µ‚Ü‚¹‚ñB
+// ˆÚ“®æ‚ÌÀ•W‚ªi“ü‹ÖŽ~‹æˆæ‚Å‚ ‚Á‚½ê‡‚ÍAƒ‰ƒ“ƒ_ƒ€‚ÈÀ•W‚Ƀ[ƒv‚µ‚Ü‚·B
+// ‚Ü‚½A“¯ˆêÀ•W‚É•¡”‚Ìwarp‚ª’u‚©‚ê‚Ä‚¢‚½ê‡Aæ‚É‹Lq‚³‚ê‚Ä‚¢‚é‚à‚Ì‚ª—LŒø‚É‚È‚è‚Ü‚·
+// ‚±‚ê‚ÍAconfƒtƒ@ƒCƒ‹“à‚ÅŽw’肳‚ê‚éAnpc*.txtƒtƒ@ƒCƒ‹‚ð‚Ü‚½‚¢‚Åwarp‚ð‹Lq‚·‚é‚Æ‚«‚à“¯‚¶‚±‚Æ‚ª‚¢‚¦‚Ü‚·B
+// —á:
+prontera.gat,156,185,4 warp sample1 0,0,prontera.gat,156,225
+prontera.gat,156,185,4 warp sample1a 0,0,prontera.gat,156,230
+// sample1‚Ì•û‚ªæ‚É‹Lq‚³‚ê‚Ä‚¢‚é‚Ì‚ÅA156,225‚Ɉړ®‚µ‚Ü‚·
+prontera.gat,156,220,4 warp sample1-1 0,0,prontera.gat,156,180
+
+// --------------------
+// *ƒ‚ƒ“ƒXƒ^[(monster)
+// --------------------
+// ‘Ž®:<gatname>,<x>,<y>[,<xs>,<ys>] monster <displayname> <npcid>,<number>[,<spawn_delay1>,<spawn_delay2>]
+// <gatname> - ƒ}ƒbƒvƒf[ƒ^ƒtƒ@ƒCƒ‹–¼BŠg’£Žq‚Í•K{‚Å‚·B
+// <x>,<y> - ‰Šú”z’uÀ•W(x,y) 0,0‚Å‚ ‚ê‚΃‰ƒ“ƒ_ƒ€‚Ȉʒu‚É”z’u‚³‚ê‚Ü‚·B
+// [,<xs>,<ys>] - “Á’è”͈͓à‚É”z’u‚·‚鎞‚ÉŽw’肵‚Ü‚·B
+// <displayname> - ƒ}ƒEƒXƒJ[ƒ\ƒ‹‚ð‡‚킹‚½‚Æ‚«‚É•\Ž¦‚³‚ê‚é–¼‘OB–¼‘O‚͈ꕶŽšˆÈãŽw’肵‚Ä‚­‚¾‚³‚¢
+// <npcid> - ƒLƒƒƒ‰ƒNƒ^[ŽíBÚׂɂ‚¢‚Ä‚Í‚¨Ž@‚µ‚­‚¾‚³‚¢(db/mob_db.txt‚ªŽQl‚É‚È‚é‚ÆŽv‚¢‚Ü‚·‚ª...)
+// <number> - ”z’u”
+// [,<spawn_delay1>,<spawn_delay2>] - “¯ˆêpc_id‚ð‚à‚ƒ‚ƒ“ƒXƒ^[‚̶¬ŽžŠÔ‚ɂ‚¢‚Ä‚Ì’è‹`
+// ‘O‰ñoŒ»ŽžŠÔ+oŒ»’x‰„1,“|‚³‚ꂽŽžŠÔ+oŒ»’x‰„2,“|‚³‚ꂽŽžŠÔ+5•b ‚ÅŽZo‚³‚ê‚é’l‚Ì‚¤‚¿AÅ‚à‘å‚«‚¢•¨‚ð
+// oŒ»ŽžŠÔ‚Æ‚µ‚Ü‚·
+// —á:
+prontera.gat,0,0 monster ƒ|ƒŠƒ“ 1002,5
+
+// ---------
+// *“X(shop)
+// ---------
+// ‘Ž®:<gatname>,<x>,<y>,<direction> shop <displayname> <npcid>,<item_id1>:<price1>[,<item_id2>:<price2>[,.....<item_id_N>:<priceN>]]
+// <gatname> - ƒ}ƒbƒvƒf[ƒ^ƒtƒ@ƒCƒ‹–¼BŠg’£Žq‚Í•K{‚Å‚·B
+// <x>,<y> - NPC‚Ì”z’uÀ•W(x,y)
+// <direction> - npc‚ÌŒü‚¢‚Ä‚¢‚é•ûŒüB0‚ð–k(yÀ•W•ûŒü+)‚Æ‚µ‚ÄA”½ŽžŒv‰ñ‚è45“x‚«‚´‚Ý‚É‚È‚Á‚Ä‚¢‚Ü‚·
+// <displayname> - ƒ}ƒEƒXƒJ[ƒ\ƒ‹‚ð‡‚킹‚½‚Æ‚«‚É•\Ž¦‚³‚ê‚é–¼‘OB–¼‘O‚͈ꕶŽšˆÈãŽw’肵‚Ä‚­‚¾‚³‚¢
+// <npcid> - ƒLƒƒƒ‰ƒNƒ^[ŽíBÚׂɂ‚¢‚Ä‚Í‚¨Ž@‚µ‚­‚¾‚³‚¢
+// <item_id_N>:<price_N> - item_id_N‚̤•i‚ð‰¿Šiprice_N‚Æ‚µ‚Ĕ̔„•¨ƒEƒCƒ“ƒhƒE‚É•\Ž¦‚µ‚Ü‚·B
+// item_id‚ɂ‚¢‚Ä‚Ídb/item_db.txt‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+// —á:
+prontera.gat,136,203,6 shop “¹‹ï¤l 73,501:5,502:20,503:55,504:120,506:20,645:80,656:150,601:30,602:30,611:20,610:400
+
+// -====================-
+// *NPCƒXƒNƒŠƒvƒg(script)
+// -====================-
+// ‘Ž®:
+// <gatname>,<x>,<y>,<direction> script <displayname> <npcid>[,<xs>,<ys>],{ <script> ... }
+// <gatname> - ƒ}ƒbƒvƒf[ƒ^ƒtƒ@ƒCƒ‹–¼BŠg’£Žq‚Í•K{‚Å‚·B
+// <x>,<y> - NPC‚Ì”z’uÀ•W(x,y)
+// <direction> - npc‚ÌŒü‚¢‚Ä‚¢‚é•ûŒüB0‚ð–k(yÀ•W•ûŒü+)‚Æ‚µ‚ÄA”½ŽžŒv‰ñ‚è45“x‚«‚´‚Ý‚É‚È‚Á‚Ä‚¢‚Ü‚·
+// <displayname> - ƒ}ƒEƒXƒJ[ƒ\ƒ‹‚ð‡‚킹‚½‚Æ‚«‚É•\Ž¦‚³‚ê‚é–¼‘OB–¼‘O‚͈ꕶŽšˆÈãŽw’肵‚Ä‚­‚¾‚³‚¢
+// <npcid> - ƒLƒƒƒ‰ƒNƒ^[ŽíBÚׂɂ‚¢‚Ä‚Í‚¨Ž@‚µ‚­‚¾‚³‚¢
+// [,<xs>,<ys>] - (x,y)‚ð’†S‚Æ‚µ‚Ä(xs,ys)ˆÈ“à‚ÉPC‚ª‹ßŠñ‚é‚ƃXƒNƒŠƒvƒg‚ª”­“®‚µ‚Ü‚·
+// (warp‚Æ“¯‚¶‚悤‚È”­“®‚Ì‚µ‚©‚½‚É‚È‚è‚Ü‚·)
+//
+// ‚±‚ÌŒã‚É‘±‚­{}“à‚ªƒXƒNƒŠƒvƒg‚Æ‚µ‚Ä”FŽ¯‚³‚ê‚Ü‚·‚ª
+// }(s––) ‚ŃXƒNƒŠƒvƒg‚ÌI—¹‚Æ”»’f‚µ‚Ä‚¢‚Ü‚·B
+// ‚»‚Ì‚½‚ßA}‚ÌŒã‚ɂ̓Rƒƒ“ƒg(//`)‚Í•t‚¯‚È‚¢‚Å‚­‚¾‚³‚¢B
+// (Œã“ú‚±‚ÌŽd—l‚Í•ÏX—\’è‚Å‚·)
+//
+// ------------------------
+// *{}“à‚̃XƒNƒŠƒvƒg‚ɂ‚¢‚Ä
+// ------------------------
+// ŒÂX‚Ì–½—ߌê‚┎š,•¶Žš—ñ,ƒ‰ƒxƒ‹,‰‰ŽZŽq“™‚ÌŠÔ‚Í
+// ƒXƒy[ƒX‚âƒ^ƒuA‰üsA/* */‚É‚æ‚èˆÍ‚܂ꂽƒRƒƒ“ƒgA//‚©‚ç‰üs‚܂ł̃Rƒƒ“ƒg‚ð
+// Ž©—R‚É“ü‚ê‚鎖‚ªo—ˆ‚Ü‚· (C•—–¡)
+// Še–½—ß‚ÍÅŒã‚É";"‚ð‚‚¯‚Ü‚· (C•—–¡)
+//
+// ---
+// *’l
+// ---
+// script“à‚ÅŽg—p‚³‚ê‚é’l‚Í ”Žš / •¶Žš—ñ / •Ï”–¼ / ƒ‰ƒxƒ‹ ‚Ì4Ží—Þ‚É•ª‚©‚ê‚Ü‚·B
+//
+// *”Žš [0-9]‚Ì—ñ‚Å•\‚킳‚ê‚é10i”‚©A0x‚ÅŽn‚Ü‚é16i”
+// ”’l‚Æ‚µ‚Ĉµ‚¦‚é‚Ì‚Í•„†•t32bit®”‚Ì‚Ý‚ÅA¬”‚͈µ‚¦‚Ü‚¹‚ñ
+// *•¶Žš—ñ ""‚ň͂܂ꂽˆê’Ê‚è‚Ì•¶Žš—ñ‚ªŽg‚¦‚Ü‚·B
+// •¶Žš—ñ’†‚É"‚ð“ü‚ꂽ‚¢ê‡‚Í\"A\‚ð“ü‚ꂽ‚¢ê‡‚Í\\‚Æ‚µ‚Ü‚·
+// *•Ï”–¼/ƒ‰ƒxƒ‹–¼ [A-Za-z0-9_]‚Æ@(ˆê•¶Žš–Ú‚Ì‚Ý)‚ªŽg‚¦‚Ü‚·B
+// “ÁŽê‚ȃ‰ƒxƒ‹‚Æ‚µ‚Ä-‚ª‘¶Ý‚µ‚Ü‚·B‚±‚ê‚ÍŽŸ‚Ì–½—ß‚ðˆÓ–¡‚µ‚Ü‚·
+// ˆÈ‰º‚Åà–¾‚·‚é’蔂▄‚ßž‚Ý•Ï”‚à‚±‚ê‚É‚ ‚½‚è‚Ü‚·
+//
+// -----------------------
+// *’蔂܂½‚Í–„‚ßž‚Ý•Ï”
+// -----------------------
+// db/const.txt‚É<’è”–¼> <”’l>‚Æ‹Lq‚·‚鎖‚Å
+// ƒXƒNƒŠƒvƒg“à‚Å—˜—p‰Â”\‚Ȓ蔂ð錾o—ˆ‚Ü‚·B
+// (NPC“X‚̤•iƒŠƒXƒg,Œ©‚½–Ú‚ÌÝ’è•”•ª“™‚É‚Í—˜—po—ˆ‚Ü‚¹‚ñ)
+//
+// ‚Ü‚½A‚±‚Ì’†‚ŃLƒƒƒ‰ƒNƒ^[‚̃Xƒe[ƒ^ƒX‚ðŽQÆ‚·‚é
+// –„‚ßž‚Ý•Ï”‚Ì’è‹`‚à‚µ‚Ä‚¢‚Ü‚·BŒ»Ý—LŒø‚È•¨‚͈ȉº‚Ì7‚‚ł·
+//
+// BaseLevel : ƒx[ƒXƒŒƒxƒ‹
+// JobLevel : ƒWƒ‡ƒuƒŒƒxƒ‹
+// StatusPoint : U‚蕪‚¯‰Â”\‚ȃXƒe[ƒ^ƒXƒ|ƒCƒ“ƒg”
+// SkillPoint : U‚蕪‚¯‰Â”\‚ȃXƒLƒ‹ƒ|ƒCƒ“ƒg”
+// Class : ƒLƒƒƒ‰ƒNƒ^[‚ÌE‹Æ‚ÌŽí—Þ
+// Class’l‚ɂ‚¢‚Ä‚ÍJob_Novice“™db/const.txt‚Å’è”’è‹`‚³‚ê‚Ä‚Ü‚·‚Ì‚Å‚±‚¿‚ç‚ðŽg‚¤‚Æ—Ç‚¢‚Å‚µ‚傤
+// Zeny : ‚¨‹à
+// Sex : «•Ê[0=‰, 1=Š]
+//
+// ‚±‚ê‚ç‚Ì•Ï”‚ÍAif–½—ß‚âset–½—ß‚ÅŽ©—R‚ÉŽQÆ‚ªo—ˆ‚Ü‚·‚ªA
+// •ÏX‚ÍStatusPoint‚ÆSkillPoint‚ÆZeny‚Ì‚Ý‚Å‘¼‚Ì–„‚ßž‚Ý•Ï”‚Í•ÏX‚µ‚Ä‚àˆÓ–¡‚ðŽ‚¿‚Ü‚¹‚ñB
+// ‚Ü‚½A‚±‚Ì‚R‚‚̖„‚ßž‚Ý•Ï”‚ð•ÏX‚µ‚½ê‡A•ÏX‚̓Nƒ‰ƒCƒAƒ“ƒg‚É‘¦À‚É”½‰f‚³‚ê‚Ü‚·B
+//
+// -------
+// *ƒ‰ƒxƒ‹
+// -------
+// ƒ‰ƒxƒ‹‚ÍAƒ‰ƒxƒ‹–¼‚ÌŒã‚É:‚ð•t‚¯
+// label:
+// ‚̂悤‚É‹Lq‚µ‚Ü‚·B
+// goto•¶‚âmenu•¶Aif•¶“™‚Ì”ò‚Ñæ‚Æ‚µ‚ÄŽg‚í‚ê‚Ü‚·B
+//
+// ---
+// *Ž®
+// ---
+// –½—߂̈ø”‚Æ‚µ‚Ä”’l‚ª—v‹‚³‚ê‚Ä‚¢‚銂ÍA‘S‚Ä‚ÌŠ‚ÅŽ®‚ª—˜—p‰Â”\‚Å‚·B
+// ®”‰‰ŽZ‚Ì‚Ý‚Å‚·‚ªAC‚ÌŽ®‚̃TƒuƒZƒbƒg‚É‚È‚Á‚Ä‚¢‚Ü‚·
+// —˜—p‰Â”\‚ȉ‰ŽZŽq‚Í()A’P€‰‰ŽZŽq - ! ~A2€‰‰ŽZŽq + - * / % & | ^ && || == != > >= < <= ‚Å‚·
+//
+// •¶Žš—ñ‚Ìê‡‚Í + ‚ŘAŒ‹‚ª‰Â”\‚Å‚·B
+// •¶Žš—ñ + ”’l ‚â ”’l + •¶Žš—ñ ‚Æ‚µ‚½ê‡‚Í”’l‚𕶎š—ñ‚Ö‚Æ•ÏŠ·‚µ˜AŒ‹‚µ‚Ü‚·B
+//
+// -----------------
+// *{}“à‚ÅŽg‚¦‚é–½—ß
+// -----------------
+//
+// mes "<message>";
+// ƒƒbƒZ[ƒWƒEƒCƒ“ƒhƒE‚Émessage‚ð•\Ž¦‚µ‚Ü‚·
+// •¶Žš‚ÌF‚Í^000000“™^‚É‘±‚¯‚Ä16i”6Œ…‚ÅŽw’肵‚Ü‚·(‰ŠúF‚Í•(^000000)‚Å‚·)
+//
+// next;
+// ƒƒbƒZ[ƒWƒEƒCƒ“ƒhƒE‚É"next"‚̃{ƒ^ƒ“‚ð•\Ž¦‚µ‚Ü‚·
+//
+// close;
+// ƒƒbƒZ[ƒWƒEƒCƒ“ƒhƒE‚É"close"‚̃{ƒ^ƒ“‚ð•\Ž¦‚µAƒXƒNƒŠƒvƒg‚ÌŽÀs‚ðI—¹‚µ‚Ü‚·
+//
+// menu "<choice1>",<Label1>[,"<choice2>",<Label2>....];
+// ‘I‘ðŽˆƒEƒCƒ“ƒhƒE‚ð•\Ž¦‚µ‚Ü‚·B"choice1","choice2"“™‚©‘I‘ðŽˆ‚É•\Ž¦‚³‚ê
+// ƒƒjƒ…[‚Å‘I‚ñ‚¾ê‡‚ÍA‚»‚ÌŒã‚É‹Lq‚³‚ê‚郉ƒxƒ‹‚ɃWƒƒƒ“ƒv‚µ‚Ü‚·B
+// ‚Ü‚½A‘I‘ð‚µ‚½€–ڂ̓[ƒJƒ‹•Ï”l15‚É‚ÄŽQÆ‚Å‚«‚Ü‚·B
+// ã‚Ì—á‚Å‚·‚Æ‘I‘ðŽˆ‚É"choice1"‚ªŒ»‚êA‚±‚ê‚ð‘I‚Ô‚ÆLabel1:‚ÅŽn‚Ü‚és‚ɃWƒƒƒ“ƒv‚µ‚Ü‚·B
+// ‚»‚µ‚ÄA•Ï”l15‚É‚Í1‚Æ‚¢‚¤’l‚ªƒZƒbƒg‚³‚ê‚Ü‚·
+// cancel‚ð‘I‚ñ‚¾ê‡AƒXƒNƒŠƒvƒg‚ÌŽÀs‚ðI—¹‚µ‚Ü‚·
+//
+// goto <Label>;
+// Label:‚ÅŽn‚Ü‚és‚©‚瑱‚«‚ðŽÀs‚µ‚Ü‚·
+//
+// cutin "<filename>[.bmp]",<pos>;
+// ‰æ–Êã‚Éfilename‚ÅŽw’è‚·‚é‰æ‘œ‚ð•\Ž¦‚µ‚Ü‚·
+// filename - •\Ž¦‚·‚ébmpƒtƒ@ƒCƒ‹–¼BŠg’£Žq‚Í–³‚­‚Ä‚à\‚¢‚Ü‚¹‚ñ
+// pos - •\Ž¦ˆÊ’u 0-¶‰º 1-’†‰›‰º 2-‰E‰º 3-? 4-? 255-”ñ•\Ž¦
+// Œ»Ý‚̃Nƒ‰ƒCƒAƒ“ƒg‚Å‚ÍAcutin‚ðŽÀs‚·‚é‚Æ‚«‚ɈȑOcutin‚ªŽÀs‚³‚ê‚Ä‚¨‚è‰æ‘œ‚ª•\Ž¦‚³‚ê‚Ä‚¢‚éꇂÍA
+// æ‚É•\Ž¦‚µ‚Ä‚ ‚é‰æ‘œ‚ðÁ‹Ž‚µ‚Ä‚©‚çŒã‚ÅŽw’肳‚ê‚é‰æ‘œ‚ð•\Ž¦‚µ‚Ü‚·
+//
+// jobchange <Jobid>;
+// PC‚ÌE‚ðJobname‚ÅŽw’肵‚½E‚É•ÏX‚µ‚Ü‚·BŽw’è‚Å‚«‚éJobid‚ɂ‚¢‚Ä‚Ídb/const.txt‚ÌJob_‚Å‚Í‚¶‚Ü‚és‚ð
+// ŽQÆ‚µ‚Ä‚­‚¾‚³‚¢Bconst‚ÅŽw’肵‚Ä‚¢‚é–„‚ß‚±‚Ý•Ï”–¼‚àŽg—p‚Å‚«‚Ü‚·B
+// jobchange‚ðs‚¤‚ÆAJobLv‚Í1‚ÉAƒXƒe[ƒ^ƒXƒ{[ƒiƒX‚Í‚»‚ÌE‚É
+// ‡‚킹‚½•¨‚ɕω»‚µ‚Ü‚·BAthena-d2.1‚ł̓XƒLƒ‹‚ÍŽg‚¦‚È‚¢‚Ì‚ÅAŒ©‚½–Ú•ÏX‚¾‚¯‚ÆŽv‚Á‚Ä‚­‚¾‚³‚¢B
+// [’ˆÓ]
+// 1.’ljÁ2ŽŸE(ƒNƒ‹ƒZƒCƒ_[“™)‚Éjobchange‚ð‚·‚éê‡A•žFƒpƒŒƒbƒg‚ð•ÏX‚µ‚Ä‚¢‚éꇂ̓Šƒ\[ƒXƒGƒ‰[‚ª
+// ‹N‚«‚Ü‚·‚Ì‚ÅAŽÀs‚µ‚È‚¢‚悤‚É‚µ‚Ä‚­‚¾‚³‚¢B
+// 2.ƒo[ƒh‚ƃ_ƒ“ƒT[‚ÌJobname‚Í•Ê‚É‚È‚Á‚Ä‚¢‚Ü‚·B
+// ‚±‚Ì‚½‚ßA’j«PC‚ɑ΂µ‚ÄJob_Dancer‚ðŽÀs‚µ‚½‚èA—«PC‚ɑ΂µ‚Äjob_Bird‚ðŽÀs‚µ‚È‚¢‚悤‚É‚µ‚Ä‚­‚¾‚³‚¢B
+// ƒNƒ‰ƒCƒAƒ“ƒg‚É‚æ‚Á‚Ă̓Šƒ\[ƒXƒGƒ‰[‚Å—Ž‚¿‚Ü‚·B
+// map‘¤‚Å‚Í®‡ƒ`ƒFƒbƒN‚ðs‚Á‚Ä‚¢‚È‚¢‚½‚ßAƒXƒNƒŠƒvƒg‘¤‚Ń`ƒFƒbƒN‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
+// npc_testJ.txt‚Ì—á‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+// 3.db/const.txt‚É‚Íknight2/crusader2‚Ì‹Lq‚ª‚ ‚è‚Ü‚·‚ªA‚±‚Ìjob‚Ö‚Ìjobchange‚Ís‚í‚È‚¢‚Ù‚¤‚ª–³“ï‚Å‚·B
+// ŽÀۂ̃Q[ƒ€‚Å‚à‚±‚Ìjob‚ÍŽg—p‚³‚ê‚Ä‚¢‚È‚¢‚悤‚Å‚·B
+//
+// input [<variable>];
+// ”Žš“ü—̓EƒCƒ“ƒhƒE‚ðŠJ‚«‚Ü‚·B
+// “ü—Í‚³‚ꂽ”Žš‚Ívariable‚ª‚ ‚Á‚½ê‡‚»‚Ì•Ï”‚ÉA
+// –³‚©‚Á‚½ê‡‚̓[ƒJƒ‹•Ï”l14‚ɃZƒbƒg‚³‚ê‚Ü‚·B
+//
+// warp "<destination_gatname>",<destination_x>,<destination_y>;
+// Žw’肵‚½ƒ}ƒbƒv‚Ìx,yÀ•W‚Ƀ[ƒv‚µ‚Ü‚·BÚׂÍã‹Lwarp(NPC)‚Ì€‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+//
+// setlook <n1>,<n2>;
+// PC‚ÌŠOŒ©‚ðݒ肵‚Ü‚·B
+// <n1> - (1 .. 8)
+// 1-”¯Œ^
+// 2-•Ší
+// 3-“ª‰º
+// 4-“ªã
+// 5-һՠ
+// 6-”¯F
+// 7-•žF
+// 8-‚
+// <n2> - ”CˆÓ
+// ŠOŒ©Ý’è‚ÍŠY“–ƒAƒCƒeƒ€‚ð‘•”õ‚µ‚Ä‚¢‚È‚­‚Ä‚à•t‰Á‚³‚ê‚Ü‚·B
+// ‘z’èŠO‚̔Ԇ‚ðÝ’è‚·‚é‚ÆAƒNƒ‰ƒCƒAƒ“ƒg‚ªƒŠƒ\[ƒXƒGƒ‰[‚Å—Ž‚¿‚Ü‚·B
+// ƒAƒTƒVƒ“’j,’ljÁ2ŽŸE‚ÉŠÖ‚µ‚Ä‚Í•žF‚Ì•ÏX‚Ís‚í‚È‚¢‚Å‚­‚¾‚³‚¢(‚â‚͂胊ƒ\[ƒXƒGƒ‰[—Ž‚¿‚µ‚Ü‚·)
+// •Ší‚⓪‘•”õ,‚‚ÌÝ’è‚̓Xƒe[ƒ^ƒXÄŒvŽZŽž‚Éã‘‚«‚³‚ê‚Ä‚µ‚Ü‚¤‚½‚ßA
+// ŽÀŒ±“I‚È—p“r‚É‚Ì‚Ý—˜—p‰Â”\‚Å‚·B
+//
+// set <variable>,<n>;
+// •Ï”<variable>‚Ì’l‚ð<n>‚ɃZƒbƒg‚µ‚Ü‚·B
+// Œ»Ý<n>‚Í”’l‚Ì‚Ý‚Å•¶Žš—ñ‚ªˆµ‚¦‚Ü‚¹‚ñ‚ªAŒã“ú‘Ήž—\’è‚Å‚·B
+//
+// if (<cond>) goto <Label>;
+// ðŒ•ªŠò‚Å‚·B<cond>‚ÌŒvŽZŒ‹‰Ê‚ª0ˆÈŠO‚Ìê‡ALabel‚ɃWƒƒƒ“ƒv‚µ‚Ü‚·B
+//
+// getitem <item_id>,<num>;
+// PC‚ÌŠŽ•iƒŠƒXƒg‚Éitem_id‚ÅŽw’肳‚ê‚éƒAƒCƒeƒ€‚ðnum‚¾‚¯’ljÁ‚µ‚Ü‚·B
+//
+// delitem <item_id>,<num>;
+// PC‚ÌŠŽ•iƒŠƒXƒg‚©‚çitem_id‚ÅŽw’肳‚ê‚éƒAƒCƒeƒ€‚ðnum‚¾‚¯íœ‚µ‚Ü‚·B
+//
+// viewpoint <type>,<x>,<y>,<id>,<color>;
+// ƒ~ƒjƒ}ƒbƒv‚Ìx,y‚ÌÀ•W‚Ƀ}[ƒN(colorF‚ðŽw’è)‚ð•t‚¯‚Ü‚·B
+// <type> 1-•\Ž¦
+// 2-íœ
+//
+// heal <hp>,<sp>;
+// PC‚ÌHP/SP‚ðhp,sp‚ÅŽw’肵‚½’l‚¾‚¯‰ñ•œ‚³‚¹‚Ü‚·B
+//
+// end;
+// ‚±‚±‚ŃXƒNƒŠƒvƒg‚ÌŽÀs‚ðI—¹‚µ‚Ü‚·B
+//
+// setoption <str>;
+// PC‚Ɉȉº‚ÅŽ¦‚·•t‘®•i(?)‚ð•t‚¯‚Ü‚·B
+// 0x0000 - •t‘®•iíœ
+// 0x0001 - ?
+// 0x0002 - ƒnƒCƒh(‰e•t‚«)
+// 0x0004 - ??
+// 0x0008 - ƒJ[ƒg
+// 0x0010 - ‘é
+// 0x0020 - ƒyƒRƒyƒR(ƒiƒCƒg,ƒNƒ‹ƒZƒCƒ_[‚ÌŽž‚Ì‚Ý—LŒø)
+// 0x0040 - ƒnƒCƒh(‰e–³‚µ)
+// 0x0080 - ƒJ[ƒg2
+// 0x0100 - ƒJ[ƒg3
+// 0x0200 - ƒJ[ƒg4
+// 0x0400 - ƒJ[ƒg5
+// 0x0800 - “ª‚ªƒI[ƒN(Sage‚̃XƒLƒ‹AƒŠƒo[ƒXƒI[ƒLƒbƒVƒ…‚ª‚©‚©‚Á‚½ó‘Ô‚É‚È‚é)
+// setoption‚ðŽÀs‚·‚é‚Æ‚«AŒ³XƒZƒbƒg‚³‚ê‚Ä‚¢‚½’l‚̓NƒŠƒA‚³‚ê‚Ü‚·B
+// ‚»‚ꂼ‚ê‚Ì’l‚͉ÁŽZ‚µ‚½’l‚ðÝ’è‚·‚邱‚Æ‚É‚æ‚èA“¯Žž‚É•t‘®•i‚ª•t‚¯‚ç‚ê‚Ü‚·B
+// —Ⴆ‚ÎA0x38‚ŃJ[ƒg‚ðˆø‚¢‚ÄA‘é‚ð˜A‚ꂽƒyƒRæ‚èƒiƒCƒg‚Æ‚¢‚Á‚½‚à‚Ì‚à‚Å‚«‚Ü‚·B
+// setoption‚ŃZƒbƒg‚³‚ꂽ’l‚̓Nƒ‰ƒCƒAƒ“ƒgI—¹Œã‚à‹L‰¯‚³‚ê‚Ü‚·B
+// [memo]Žb’è“I‚È‚Ì‚ÅŽd—l•ÏX‚̉”\«‚ª‚ ‚è‚Ü‚·B
+//
+// savepoint "<gatname>",<x>,<y>;
+// ƒZ[ƒuƒ|ƒCƒ“ƒg‚ðgatname,x,y‚Éݒ肵‚Ü‚·
+//
+// -----
+// *ŠÖ”
+// -----
+// ðŒ–½—߂Ȃǂňȉº‚ÌŠÖ”‚ªŽg—p‚Å‚«‚Ü‚·B
+//
+// rand(<n>[,n2])
+// n‚Ì‚Ý‚Ìê‡A0‚©‚ç(n-1)‚Ü‚Å‚Ì”‚ðƒ‰ƒ“ƒ_ƒ€‚É•Ô‚µ‚Ü‚·B
+// n2‚ª—^‚¦‚ç‚ê‚Ä‚¢‚½ê‡‚Í n ‚©‚ç n2 ‚Ü‚Å‚Ì”‚ðƒ‰ƒ“ƒ_ƒ€‚É•Ô‚µ‚Ü‚·
+//
+// countitem(<item_id>)
+// ƒvƒŒƒCƒ„[‚ÌŠŽ‚·‚éAitem_id‚ÅŽw’è‚·‚éƒAƒCƒeƒ€‚Ì”‚ð•Ô‚µ‚Ü‚·
+//
+// [memo]
+// ƒ‰ƒ“ƒ_ƒ€ƒ[ƒv‚ðŽÀ‘•‚µ‚½‚¢ê‡A”͈͎Às‚Èscript‚ð—˜—p‚µ‚Ü‚·(npc_warp.txt‚ðŽQÆ)
+//
+
+// script‚Ì—á:
+prontera.gat,146,203,2 script ƒfƒoƒbƒK[—vˆõ 116,{
+ cutin "kafra_02",2;
+ if(countitem(515)<10) goto Llesscarrot;
+ mes "[ƒfƒoƒbƒK[—vˆõ]";
+ mes "‚ ‚ç‚ ‚çA‚É‚ñ‚¶‚ñ‚ð‘òŽRŽ‚Á‚Ä‚Ü‚·‚ËB";
+ mes "‚Æ‚¢‚¤Ž–‚ÅA‚¤‚³‚¤‚³D‚«‚ÆŸŽè‚ɂ킽‚µ‚ª”F’肵‚Ü‚µ‚½B";
+ mes "‚É‚ñ‚¶‚ñ10–{‚ÆŒðŠ·‚Å‚¤‚³‚݂݃wƒAƒoƒ“ƒh‚ð‚³‚µ‚ ‚°‚Ü‚·‚ËB";
+ next;
+ if(countitem(515)<10) goto Llesscarrot_err;
+ delitem 515,10;
+ getitem 2214,1;
+ goto Llesscarrot;
+Llesscarrot_err:
+ mes "[ƒfƒoƒbƒK[—vˆõ]";
+ mes "‚ ‚çH‚É‚ñ‚¶‚ñ‚ª‘«‚è‚È‚­‚È‚Á‚Ä‚Ü‚·‚ËB";
+ mes "‚Æ‚¢‚¤Ž–‚Å¡‰ñ‚ÌŽ–‚Í–³‚©‚Á‚½Ž–‚É‚µ‚Ü‚·B";
+ next;
+// ’Êí‚Í‚±‚±‚©‚ç
+Llesscarrot:
+ mes "[ƒfƒoƒbƒK[—vˆõ]";
+ mes "‚¢‚ç‚Á‚µ‚á‚¢‚Ü‚¹B";
+ mes "‰½‚ð‚µ‚Ü‚·‚©?";
+ next;
+ menu "ƒXƒe[ƒ^ƒXƒ|ƒCƒ“ƒg‚ð200‘‚â‚·",Lstp,"ƒXƒLƒ‹ƒ|ƒCƒ“ƒg‚ð20‘‚â‚·",Lskill,
+ "‚¨‹à‚ª—~‚µ‚¢‚Å‚·",Lzeny,"ˆÄ“à‚̃eƒXƒg",Lviewpoint,"“]E‚·‚é",Ljobchange,"ƒJ[ƒg‚ð‚‚¯‚é",Lcart,"‚â‚ß‚é",Lend;
+Lstp: set StatusPoint,StatusPoint+200;
+ goto Lend;
+Lskill: set SkillPoint,SkillPoint+20;
+ goto Lend;
+Lzeny: set Zeny,Zeny+1000;
+ goto Lend;
+Lviewpoint:
+ viewpoint 1,156,360,1,0x0000ff;
+ mes "[ƒfƒoƒbƒK[—vˆõ]";
+ mes "ƒvƒƒ“ƒeƒ‰é";
+ next;
+ viewpoint 2,156,360,1,0x0000ff;
+ viewpoint 1,156,22,2,0x00ff00;
+ viewpoint 1,22,203,3,0x00ff00;
+ viewpoint 1,289,203,4,0x00ff00;
+ mes "[ƒfƒoƒbƒK[—vˆõ]";
+ mes "‚±‚Ì3‰ÓŠ‚©‚çŠO‚Éo‚ç‚ê‚Ü‚·B";
+ next;
+ viewpoint 2,156,22,2,0x00ff00;
+ viewpoint 2,22,203,3,0x00ff00;
+ viewpoint 2,289,203,4,0x00ff00;
+ goto Lend;
+Ljobchange:
+ cutin "kafra_02",255;
+ mes "[ƒfƒoƒbƒK[—vˆõ]";
+ mes "Œ©‚½–Ú‚Ì‚Ý‚Å‚·‚ª";
+ mes "“]E‰Â”\‚Å‚·B";
+ mes "“]E‚µ‚Ä‚àAƒXƒLƒ‹“™‚Í";
+ mes "–¢ŽÀ‘•‚Ì‚½‚ߎg‚¦‚Ü‚¹‚ñB";
+ mes "‚Ç‚ÌE‹Æ‚É“]E‚³‚¹‚Ü‚·‚©?";
+ next;
+ menu "‰SŽÒ",Lnv,
+ "Œ•Žm",Lsm,
+ "ƒ}ƒWƒVƒƒƒ“",Lmg,
+ "ƒA[ƒ`ƒƒ[",Lac,
+ "ƒAƒRƒ‰ƒCƒg",Lal,
+ "¤l",Lmc,
+ "ƒV[ƒt",Ltf,
+ "ƒiƒCƒg",Lkn,
+ "ƒvƒŠ[ƒXƒg",Lpr,
+ "ƒEƒBƒU[ƒh",Lwz,
+ "’b–艮",Lbs,
+ "ƒnƒ“ƒ^[",Lht,
+ "ƒAƒTƒVƒ“",Las,
+ "‚¨‚Ü‚©‚¹",Lrandom,
+ "‚â‚ß‚é",Ljchcancel;
+Lnv: jobchange Job_Novice; goto Lend;
+Lsm: jobchange Job_Swordman; goto Lend;
+Lmg: jobchange Job_Mage; goto Lend;
+Lac: jobchange Job_Archer; goto Lend;
+Lal: jobchange Job_Acolyte; goto Lend;
+Lmc: jobchange Job_Merchant; goto Lend;
+Ltf: jobchange Job_Thief; goto Lend;
+Lkn: jobchange Job_Knight; goto Lend;
+Lpr: jobchange Job_Priest; goto Lend;
+Lwz: jobchange Job_Wizard; goto Lend;
+Lbs: jobchange Job_Blacksmith; goto Lend;
+Lht: jobchange Job_Hunter; goto Lend;
+Las: jobchange Job_Assassin; goto Lend;
+Lrandom:
+ mes "[ƒfƒoƒbƒK[—vˆõ]";
+ mes "‚Å‚Íc";
+ set l0,rand(13);
+ jobchange l0;
+ mes "‚±‚ÌE‹Æ‚ÅŠæ’£‚Á‚Ä‚­‚¾‚³‚¢‚ËB";
+ goto Lend;
+Ljchcancel: mes "‚ ‚çA‚â‚ß‚é‚Ì‚Å‚·‚©c";
+ mes "“]E‚³‚ê‚é‚Æ‚«‚Í";
+ mes "‹CŒy‚ɺ‚ð‚©‚¯‚Ä‚­‚¾‚³‚¢‚Ë"; close;
+ goto Lend;
+Lcart:
+ mes "[ƒfƒoƒbƒK[—vˆõ]";
+ mes "ƒJ[ƒg‚Å‚·‚ËB";
+ mes "•t‚¯‚Ü‚·‚©H‚»‚ê‚Æ‚àŠO‚µ‚Ü‚·‚©H";
+ menu "‚‚¯‚é",LattachC,"ŠO‚·",LremoveC;
+LattachC:
+ mes "‚Í‚¢A‚Ç‚¤‚¼B";
+ setoption 0x08;
+ goto Lend;
+LremoveC:
+ mes "‚Å‚ÍAŠO‚µ‚Ü‚·‚ËB";
+ setoption 0x00;
+ goto Lend;
+Lend: cutin "kafra_02",255;
+ close;
+ end; }
+
+prontera.gat,156,195,4 script ƒJƒvƒ‰Eˆõ 112,{
+ mes "[ƒJƒvƒ‰Eˆõ]";
+ mes "‚¢‚ç‚Á‚µ‚á‚¢‚Ü‚¹";
+ mes "‚±‚¿‚ç‚Å‚ÍAŒ»Ý‚ÌAthena‚Ì󋵂ðà–¾‚¢‚½‚µ‚Ü‚·B";
+ next;
+ menu "•·‚­",Lcont,"•·‚©‚È‚¢",Lend;
+Lcont: mes "[ƒJƒvƒ‰Eˆõ]";
+ mes "Athena‚Å‚ÍROƒGƒ~ƒ…ŽIŠJ”­ƒXƒŒ35‚³‚ñ‚̃vƒƒOƒ‰ƒ€‚ðƒx[ƒX‚Æ‚µ‚ÄŠJ”­‚ª‚Í‚¶‚Ü‚è‚Ü‚µ‚½"
+ mes "“r’†Aƒ\[ƒX‚Ì•ªŠ„‰»‚ª}‚ç‚êAŒ»Ý‚Ìó‘Ô‚É‚È‚Á‚Ä‚¢‚Ü‚·B";
+ next;
+ mes "Œ»ÝŽÀ‘•‚³‚ê‚Ä‚¢‚é‚à‚̂͂‚¬‚Ì’Ê‚è‚Å‚·";
+ mes "Eƒ}ƒbƒvŠÔˆÚ“®ƒ|ƒCƒ“ƒg";
+ mes "E¤lNPC";
+ mes "E‰ï˜bNPC@(ðŒ•ªŠò,ƒ‰ƒxƒ‹ƒWƒƒƒ“ƒvAƒ‰ƒ“ƒ_ƒ€•Ï”AƒAƒCƒeƒ€Žó‚¯“n‚µA•Ï”ŽQÆAcutin“™";
+ mes "E•Ï”•Û‘¶";
+ mes "E°ƒAƒCƒeƒ€";
+ mes "Eƒ`ƒƒƒbƒg";
+ mes "E퓬(‰£‚è)";
+ mes "EEpisode 4ˆÈ~ƒ^ƒCƒv‚̃pƒPƒbƒgŽd—l";
+ mes "EŒoŒ±’l,lvã¸";
+ mes "EƒAƒCƒeƒ€‚Ì—˜—p‚̈ꕔ";
+ next;
+ mes "[ƒJƒvƒ‰Eˆõ]";
+ mes "‹t‚ÉŒ»óŽÀ‘•‚³‚ê‚Ä‚¢‚È‚¢‚à‚Ì‚Í‘å‘̈ȉº‚Ì’Ê‚è‚Å‚·B";
+ mes "EƒXƒLƒ‹";
+ mes "E‘•”õ‚É‚æ‚éƒpƒ‰ƒ[ƒ^•Ï‰»";
+ mes "Eƒp[ƒeƒB/ƒMƒ‹ƒh";
+ mes "Eƒyƒbƒg";
+ mes "E¸˜B/•Šíì¬";
+ next;
+ mes "[ƒJƒvƒ‰Eˆõ]";
+ mes "‚»‚ê‚Æ’ˆÓ“_‚Å‚·‚ªAAthena‚Å‚ÍID‚ÌÅŒã‚É_F‚Ü‚½‚Í_M‚ð•t‚¯‚é‚ÆV‹KID‚ª”­s‚³‚ê‚éŽd‘g‚É‚È‚Á‚Ä‚¢‚Ü‚·‚ªA";
+Lcont2: mes "2‰ñ–ÚˆÈ~‚Í_F,_M‚ð•t‚¯‚Ä‚¢‚é‚ƃpƒXƒ[ƒhƒGƒ‰[ˆµ‚¢‚É‚È‚è‚Ü‚·B";
+ next;
+ mes "[ƒJƒvƒ‰Eˆõ]";
+ mes "—Ⴆ‚ÎA‰‰ñ‚ÉID:^ff0000hoge^0000ff_F^000000@pass:0123‚Ælogin‚µ‚½ê‡Ahoge‚ªID‚Æ‚µ‚Ä“o˜^‚³‚ê‚Ü‚·B";
+ mes "‚æ‚Á‚ÄA2‰ñ–ÚˆÈ~‚ÍID:^ff0000hoge^000000@pass:0123‚Æ‚µ‚Älogin‚µ‚ĉº‚³‚¢B";
+ next;
+ mes "[ƒJƒvƒ‰Eˆõ]";
+ mes "keep‚Ƀ`ƒFƒbƒN‚ð“ü‚ê‚Ä‚¢‚éê‡AŽáŠ±•s•Ö‚ÈŽd—l‚Å‚·‚ªAˆÈã‚Ì“_‚ð‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·B";
+ close;
+Lend: mes "[ƒJƒvƒ‰Eˆõ]";
+ mes "‚Å‚Í’ˆÓ“_‚Ì‚ÝAà–¾‚³‚¹‚Ä’¸‚«‚Ü‚·B";
+ next;
+ mes "[ƒJƒvƒ‰Eˆõ]";
+ mes "Athena‚Å‚ÍID‚ÌÅŒã‚É_F‚Ü‚½‚Í_M‚ð•t‚¯‚é‚ÆV‹KID‚ª”­s‚³‚ê‚éŽd‘g‚É‚È‚Á‚Ä‚¢‚Ü‚·‚ªA";
+ goto Lcont2; }
+
diff --git a/npc/sample/npc_shop_test.txt b/npc/sample/npc_shop_test.txt
new file mode 100644
index 000000000..e8075b1c8
--- /dev/null
+++ b/npc/sample/npc_shop_test.txt
@@ -0,0 +1,31 @@
+// ƒvƒƒ“ƒeƒ‰•¬…Žü•Ó
+prontera.gat,156,192,3 shop ƒJ[ƒhƒVƒ‡ƒbƒv1 95,4001:100,4002:100,4003:100,4004:100,4005:100,4006:100,4007:100,4008:100,4009:100,4010:100,4011:100,4012:100,4013:100,4014:100,4015:100,4016:100,4017:100,4018:100,4019:100,4020:100,4021:100,4022:100,4023:100,4024:100,4025:100,4026:100,4027:100,4028:100,4029:100,4030:100,4031:100,4032:100,4033:100,4034:100,4035:100,4036:100,4037:100,4038:100,4039:100,4040:100,4041:100,4042:100,4043:100,4044:100,4045:100,4046:100,4047:100,4048:100,4049:100,4050:100
+prontera.gat,154,192,1 shop ƒJ[ƒhƒVƒ‡ƒbƒv2 123,4051:100,4052:100,4053:100,4054:100,4055:100,4056:100,4057:100,4058:100,4059:100,4060:100,4061:100,4062:100,4063:100,4064:100,4065:100,4066:100,4067:100,4068:100,4069:100,4070:100,4071:100,4072:100,4073:100,4074:100,4075:100,4076:100,4077:100,4078:100,4079:100,4080:100,4081:100,4082:100,4083:100,4084:100,4085:100,4086:100,4087:100,4088:100,4089:100,4090:100,4091:100,4092:100,4093:100,4094:100,4095:100,4096:100,4097:100,4098:100,4099:100,4100:100
+prontera.gat,158,192,1 shop ƒJ[ƒhƒVƒ‡ƒbƒv3 67,4101:100,4102:100,4103:100,4104:100,4105:100,4106:100,4107:100,4108:100,4109:100,4110:100,4111:100,4112:100,4113:100,4114:100,4115:100,4116:100,4117:100,4118:100,4119:100,4120:100,4121:100,4122:100,4123:100,4124:100,4125:100,4126:100,4127:100,4128:100,4129:100,4130:100,4131:100,4132:100,4133:100,4134:100,4135:100,4136:100,4137:100,4138:100,4139:100,4140:100,4141:100,4142:100,4143:100,4144:100,4145:100,4146:100,4147:100,4148:100
+prontera.gat,144,205,1 shop “ª‘•”õ‰®1 71,2201:100,2202:100,2203:100,2204:100,2205:100,2206:100,2207:100,2208:100,2209:100,2210:100,2211:100,2212:100,2213:100,2214:100,2215:100,2216:100,2217:100,2218:100,2219:100,2220:100,2221:100,2222:100,2223:100,2224:100,2225:100,2226:100,2227:100,2228:100,2229:100,2230:100,2231:100,2232:100,2233:100,2234:100,2235:100,2236:100,2237:100,2239:100,2240:100,2241:100,2242:100,2243:100,2244:100,2245:100,2246:100,2247:100,2248:100,2249:100,2250:100
+prontera.gat,144,203,3 shop “ª‘•”õ‰®2 101,2251:100,2252:100,2253:100,2254:100,2255:100,2256:100,2257:100,2258:100,2259:100,2260:100,2261:100,2262:100,2263:100,2264:100,2265:100,2266:100,2267:100,2268:100,2269:100,2270:100,2271:100,2272:100,2273:100,2274:100,2275:100,2276:100,2277:100,2278:100,2279:100,2280:100,2281:100,2282:100,2283:100,2284:100,2285:100,2286:100,2287:100,2288:100,2289:100,2290:100,2291:100,2292:100,2293:100,2294:100,2295:100,2296:100,2297:100,2298:100,2299:100
+prontera.gat,144,201,3 shop “ª‘•”õ‰®3 69,5001:100,5002:100,5003:100,5004:100,5005:100,5006:100,5007:100,5008:100,5009:100,5010:100,5011:100,5012:100,5013:100,5014:100,5015:100,5016:100,5017:100,5018:100,5019:100
+prontera.gat,167,202,5 shop ƒAƒNƒZƒTƒŠ[ƒVƒ‡ƒbƒv 102,2601:100,2602:100,2603:100,2604:100,2605:100,2607:100,2608:100,2609:100,2610:100,2611:100,2612:100,2613:100,2614:100,2615:100,2616:100,2617:100,2618:100,2619:100,2620:100,2621:100,2622:100,2623:100,2624:100,2625:100,2626:100,2627:100,2628:100
+prontera.gat,167,204,6 shop ŽG‰Ý‰® 96,501:100,502:100,503:100,504:100,505:100,506:100,507:100,508:100,509:100,510:100,511:100,512:100,513:100,514:100,515:100,516:100,517:100,518:100,519:100,520:100,521:100,522:100,523:100,525:100,526:100,528:100,529:100,530:100,531:100,532:100,533:100,534:100,535:100,536:100,537:100,538:100,539:100,601:100,602:100,603:100,604:100,605:100,606:100,607:100,608:100,609:100,610:100
+prontera.gat,167,206,6 shop ’b–艮ê–å“X 90,714:100,715:100,716:100,717:100,718:100,719:100,720:100,721:100,722:100,723:100,724:100,725:100,726:100,727:100,728:100,729:100,730:100,731:100,732:100,733:100,756:100,757:100,984:100,985:100,990:100,991:100,992:100,993:100,994:100,995:100,996:100,997:100,1010:100,1011:100,998:100,999:100,1000:100,1001:100,1002:100,1003:100,913:100,920:100,718:100,958:100,957:100,922:100,963:100,923:100,968:100,1005:100,612:100,615:100,989:100
+prontera.gat,164,204,5 shop “ú–{ŒÀ’è•i“X 81,542:100,543:100,1766:100
+// ƒvƒƒ“ƒeƒ‰’†‰›“ì
+prontera.gat,141,175,5 shop ‹|‰® 102,1705:100,1711:100,1716:100,1719:100,1720:100,1750:1,1751:1,1752:1,1753:1,1754:1,1755:1,1756:1,1766:1,1065:1
+prontera.gat,141,173,5 shop Œ•‰® 102,1117:100,1125:100,1155:100,1162:100,1130:100,1131:100,1132:100,1133:100,1134:100,1135:100,1136:100,1137:100,1138:100,1139:100,1140:100,1141:100,1161:100,1162:100,1163:100,1164:100,1165:100,1166:100,1167:100,1168:100,1169:100,1170:100
+prontera.gat,141,171,5 shop ‘„‰® 102,1408:100,1461:100,1464:100,1413:100,1414:100,1415:100,1416:100,1466:100,1467:100,1468:100,1469:100,1470:100,1471:100
+prontera.gat,141,169,5 shop •€‰® 102,1352:100,1355:100,1361:100,1363:100,1364:100,1365:100,1366:100,1367:100,1368:100,1369:100
+prontera.gat,141,167,5 shop ’ZŒ•‰® 102,1208:100,1220:100,1223:100,1224:100,1225:100,1226:100,1227:100,1228:100,1229:100,1230:100,1231:100,1232:100,1233:100,1234:100,1235:100,1236:100,1237:100
+prontera.gat,141,165,5 shop “݊퉮 102,1505:100,1520:100,1514:100,1517:100,1522:100,1523:100,1524:100,1525:100,1526:100,1527:100,1528:100
+prontera.gat,141,163,5 shop ƒJƒ^[ƒ‹‰® 102,1251:100,1253:100,1255:100,1256:100,1257:100,1258:100,1259:100,1260:100,1261:100
+prontera.gat,141,161,5 shop ñ‰® 102,1602:100,1608:100,1611:100,1613:100,1614:100,1615:100
+prontera.gat,141,159,5 shop –{‰® 102,1550:100,1551:100,1552:100,1553:100,1554:100,1555:100,1556:100,1557:100,1558:100
+prontera.gat,141,177,5 shop –h‹ï‰® 102,2306:100,2339:100,2311:100,2331:100,2336:100,2337:100,2326:100,2327:100,2315:100,2317:100,2102:100,2104:100,2106:100,2108:100,2402:100,2404:100,2406:100,2407:100,2408:100,2409:100,2502:100,2504:100,2506:100,2507:100,2508:100
+
+// ƒeƒCƒ~ƒ“ƒO¤l
+prontera.gat,218,211,4 shop ƒeƒCƒ~ƒ“ƒO¤l 125,537:2500,643:3000,10013:1500,10014:2000
+izlude.gat,164,138,4 shop ƒeƒCƒ~ƒ“ƒO¤l 124,537:2500,643:3000,10013:1500,10014:2000
+morocc.gat,269,167,4 shop ƒeƒCƒ~ƒ“ƒO¤l 125,537:2500,643:3000,10013:1500,10014:2000
+geffen.gat,193,152,4 shop ƒeƒCƒ~ƒ“ƒO¤l 124,537:2500,643:3000,10013:1500,10014:2000
+payon.gat,142,104,4 shop ƒeƒCƒ~ƒ“ƒO¤l 124,537:2500,643:3000,10013:1500,10014:2000
+
+// EOF //
diff --git a/npc/sample/npc_test_arena.txt b/npc/sample/npc_test_arena.txt
new file mode 100644
index 000000000..52766e750
--- /dev/null
+++ b/npc/sample/npc_test_arena.txt
@@ -0,0 +1,104 @@
+// ------------------------------------------------------------------
+// ƒAƒŠ|ƒi‚ÌÝ’è
+// ------------------------------------------------------------------
+
+// ŽŸ‚̃}ƒbƒv‚ðŽg‚¢‚Ü‚·
+//map: prontera.gat
+//map: prt_are_in.gat
+//map: force_1-1.gat
+
+// ƒeƒŒƒ|‚È‚Ç‚Ì‹ÖŽ~ˆ—
+prt_are_in.gat mapflag nomemo dummy
+prt_are_in.gat mapflag noteleport dummy
+prt_are_in.gat mapflag nosave prontera.gat,156,191
+force_1-1.gat mapflag nomemo dummy
+force_1-1.gat mapflag noteleport dummy
+force_1-1.gat mapflag nosave prontera.gat,156,191
+
+// ƒvƒƒ“ƒeƒ‰‚É“ü‚èŒû‚ð’u‚­
+prontera.gat,160,185,0 script ƒAƒŠ[ƒi“ü‚èŒû 116,{
+ mes "ƒAƒŠ[ƒi“ü‚èŒû‚É”ò‚Ñ‚Ü‚·‚©H";
+ next;
+ menu "”ò‚Ô",L_GOARENA,"‚â‚ß‚é",L_YAME;
+L_GOARENA:
+ warp "prt_are_in.gat",31,82;
+ close;
+L_YAME:
+ close;
+}
+
+// ‘Ò‹@Žº‚©‚瀔õŽº‚Ö‚Ì“]‘—
+prt_are_in.gat,29,79,0 script ƒ^ƒCƒ€ƒAƒ^ƒbƒN‚P 116,{
+ if( getmapusers("force_1-1.gat")>0 ) goto L_WAIT;
+ mes "‚±‚±‚̓^ƒCƒ€ƒAƒ^ƒbƒNLv1‚Å‚·";
+ mes "’§í‚µ‚Ü‚·‚©H";
+ menu "‚Í‚¢",L_GOLV1,"‚â‚ß‚é",L_YAME;
+L_GOLV1:
+ if( getmapusers("force_1-1.gat")>0 ) goto L_WAIT;
+ disablenpc "fc103-1";
+ disablenpc "fc105";
+ disablenpc "fc107";
+ addtimer 5000,"arenatestev0000";
+ warp "force_1-1.gat",99,12;
+ end;
+L_WAIT:
+ mes "Œ»Ý’§í’†‚Ì•û‚ª‚¢‚Ü‚·‚Ì‚ÅA";
+ mes "‚µ‚΂炭‚¨‘Ò‚¿‚­‚¾‚³‚¢B";
+L_YAME:
+ close;
+}
+
+// €”õŽºi‚P‚O•b€”õŠúŠÔj
+force_1-1.gat,99,12,0 script arenatestev0000 -1,{
+ announce "‚P‚O•bŒã‚ÉŠJŽn‚µ‚Ü‚·",3;
+ addtimer 10000,"arenatestev0001";
+}
+
+// ŽÀÛ‚Ì•”‰®‚Ö‚Ì“]‘—‚ÆMOB‚ÌÝ’è
+force_1-1.gat,99,12,0 script arenatestev0001 -1,{
+ killmonster "force_1-1.gat","arenatestev1000";
+ monster "force_1-1.gat",25,25,"--ja--",1002,1,"arenatestev1000";
+ monster "force_1-1.gat",20,25,"--ja--",1002,1,"arenatestev1000";
+ monster "force_1-1.gat",25,20,"--ja--",1002,1,"arenatestev1000";
+ monster "force_1-1.gat",30,25,"--ja--",1002,1,"arenatestev1000";
+ monster "force_1-1.gat",25,30,"--ja--",1002,1,"arenatestev1000";
+ set $arenatest00,5;
+ disablenpc "fc101";
+ disablenpc "fc103";
+ warp "force_1-1.gat",25,26;
+ enablenpc "fc103-1";
+ enablenpc "fc105";
+ enablenpc "fc107";
+ announce "30•bˆÈ“à‚ÉŸr–Å‚¹‚æ",19;
+ addtimer 30000,"arenatestev8000";
+}
+
+// “|‚µ‚½ˆ—
+force_1-1.gat,25,26,0 script arenatestev1000 -1,{
+ set $arenatest00, $arenatest00 - 1;
+ if( $arenatest00 > 0 ) goto L_CONT;
+ deltimer "arenatestev8000";
+ announce "ƒNƒ‰ƒbƒVƒ…!!",3;
+ enablenpc "fc101";
+ enablenpc "fc103";
+ areaannounce "prt_are_in.gat",25,75,40,90,
+ strcharinfo(0) + " ‚ªƒ^ƒCƒ€ƒAƒ^ƒbƒNLv1‚ðƒNƒŠƒA‚µ‚Ü‚µ‚½",0;
+ addtimer 5000,"arenatestev9000";
+L_CONT:
+ end;
+}
+
+// ƒ^ƒCƒ€ƒAƒEƒg
+force_1-1.gat,25,26,0 script arenatestev8000 -1,{
+ set $arenatest00,99;
+ killmonster "force_1-1.gat","arenatestev1000";
+ announce "ƒ^ƒCƒ€ƒI[ƒo[!!",3;
+ areaannounce "prt_are_in.gat",25,75,40,90,
+ strcharinfo(0) + " ‚ªƒ^ƒCƒ€ƒAƒ^ƒbƒNLv1‚ÉŽ¸”s‚µ‚Ü‚µ‚½",0;
+ addtimer 5000,"arenatestev9000";
+}
+
+// ƒvƒƒ“ƒeƒ‰‚É‹A‚é
+force_1-1.gat,25,26,0 script arenatestev9000 -1,{
+ warp "prontera.gat",156,191;
+}
diff --git a/npc/sample/npc_test_array.txt b/npc/sample/npc_test_array.txt
new file mode 100644
index 000000000..9d77843c8
--- /dev/null
+++ b/npc/sample/npc_test_array.txt
@@ -0,0 +1,35 @@
+// ”z—ñ‚̃eƒXƒg
+prontera.gat,164,190,1 script ”z—ñƒeƒXƒg 112,{
+ set @hoge[0],1;
+ set @hoge[1],5;
+ mes "hoge[2]‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢";
+ next;
+ input @hoge[2];
+ mes "hoge => " + @hoge;
+ mes "hoge[0]=> " + @hoge[0];
+ mes "hoge[1]=> " + @hoge[1];
+ mes "hoge[2]=> " + @hoge[2];
+ next;
+ setarray @hoge[1],2,3,4,5;
+ mes "true: 5,1,2,3,4";
+ mes "hoge size = "+ getarraysize(@hoge);
+ mes "hoge[0]=> " + @hoge[0];
+ mes "hoge[1]=> " + @hoge[1];
+ mes "hoge[2]=> " + @hoge[2];
+ mes "hoge[3]=> " + @hoge[3];
+ next;
+ copyarray @fuga[0],@hoge[2],2;
+ mes "true: 3,4,0";
+ mes "fuga[0]=> " + @fuga[0];
+ mes "fuga[1]=> " + @fuga[1];
+ mes "fuga[2]=> " + @fuga[2];
+ next;
+ deletearray @hoge[1],2;
+ mes "true: 1,4,5,0";
+ mes "hoge[0]=> " + @hoge[0];
+ mes "hoge[1]=> " + @hoge[1];
+ mes "hoge[2]=> " + @hoge[2];
+ mes "hoge[3]=> " + @hoge[3];
+
+ close;
+}
diff --git a/npc/sample/npc_test_chat.txt b/npc/sample/npc_test_chat.txt
new file mode 100644
index 000000000..267dc4b66
--- /dev/null
+++ b/npc/sample/npc_test_chat.txt
@@ -0,0 +1,28 @@
+
+
+prontera.gat,158,182,0 script chatƒeƒXƒg::test0001 116,{
+ mes "ƒgƒŠƒK[l”" + getwaitingroomstate(2);
+ mes "ƒgƒŠƒK[ó‘Ô" + getwaitingroomstate(3);
+ menu "—LŒø‰»",L_ENA,"–³Œø‰»",L_DISA,"íœ",L_DEL,"ì¬",L_MAKE;
+ close;
+L_ENA:
+ enablewaitingroomevent;
+ close;
+L_DISA:
+ disablewaitingroomevent;
+ close;
+L_DEL:
+ delwaitingroom;
+ close;
+L_MAKE:
+ waitingroom "ƒeƒXƒg",15,"test0001::OnChatEvent",1;
+ close;
+OnInit:
+ waitingroom "ƒeƒXƒg",15,"test0001::OnChatEvent",1;
+ end;
+OnChatEvent:
+ disablewaitingroomevent;
+ warpwaitingpc "prontera.gat",160,180;
+ end;
+
+}
diff --git a/npc/sample/npc_test_ev.txt b/npc/sample/npc_test_ev.txt
new file mode 100644
index 000000000..a324f8800
--- /dev/null
+++ b/npc/sample/npc_test_ev.txt
@@ -0,0 +1,146 @@
+// ƒCƒxƒ“ƒg‚̃eƒXƒg‚Ɖðà
+//
+
+
+// * NPC‚Ì•\Ž¦ƒNƒ‰ƒX‚ð-1‚É‚·‚é‚ƃCƒxƒ“ƒg‚É‚È‚èAŽÀs‰Â”\‚É‚È‚è‚Ü‚·B
+// * ’Êí‚ÌNPC‚Å‚àˆÈ‰º‚̃‰ƒxƒ‹•t‚«ƒCƒxƒ“ƒg‚ðŽg‚¤‚±‚ƂŃCƒxƒ“ƒg‚É‚È‚ê‚Ü‚·B
+// * NPCƒXƒNƒŠƒvƒg‚ÅOn`‚ÅŽn‚܂郉ƒxƒ‹‚ð’è‹`‚·‚é‚ÆA
+// ƒ‰ƒxƒ‹•t‚«‚̃Cƒxƒ“ƒg‚Æ‚µ‚ăGƒNƒXƒ|[ƒg‚µAŽÀs‰Â”\‚É‚È‚è‚Ü‚·B
+// * NPCƒCƒxƒ“ƒg‚Å"NPC–¼(orƒCƒxƒ“ƒg–¼)::ƒ‰ƒxƒ‹–¼"‚Æ‚·‚é‚ÆA
+// Žw’肵‚½ƒ‰ƒxƒ‹‚©‚çŽÀs‚Å‚«‚Ü‚·B
+// * ƒ‰ƒxƒ‹–¼‚Í24ƒoƒCƒgˆÈ“à‚É‚µ‚ĉº‚³‚¢B
+
+
+// ------------------------------------------------------------------
+// ƒCƒxƒ“ƒg‚Ì‹N‚±‚µ•û/‹N‚±‚è•û
+// ------------------------------------------------------------------
+
+// 1.doeventƒRƒ}ƒ“ƒh‚Å‹N‚±‚·
+// 2.MOB‚ð“|‚µ‚½‚Æ‚«‚É‹N‚±‚·
+// @a. ƒXƒNƒŠƒvƒgmonsterƒRƒ}ƒ“ƒh‚Ì‘æ‚Vˆø”‚ŃCƒxƒ“ƒg–¼‚ðÝ’è
+// b. monster‚Ì”z’u‚ÌÅŒã‚̈ø”‚ŃCƒxƒ“ƒg–¼‚ðÝ’è
+// 3.ƒ}ƒbƒv‰Šú‰»Žž‚É‹N‚±‚éiOnInitj
+// 4.NPCƒ`ƒƒƒbƒgƒ‹[ƒ€‚ª–žˆõ‚É‚È‚Á‚½‚Æ‚«‚É‹N‚±‚é
+// 5.ŽžŒv‚É‚æ‚Á‚Ä‹N‚±‚é
+// (OnMinute??,OnHour??,OnClock????,OnDate????) : ?‚Í”Žš
+
+// 3,5‚̉Šú‰»ƒCƒxƒ“ƒgAŽžŒvƒCƒxƒ“ƒg‚ÍA‘ÎÛ‚ÌPC‚ðŽ‚½‚È‚¢ƒCƒxƒ“ƒg‚É‚È‚è‚Ü‚·
+// ‚æ‚Á‚ÄPC‚ð‘ÎÛ‚Æ‚·‚éƒXƒNƒŠƒvƒg‚ðŽg‚¤‚±‚Æ‚Ío—ˆ‚Ü‚¹‚ñB
+// ‚Ü‚½AannounceƒRƒ}ƒ“ƒh‚È‚Ç‚Í0x08ƒtƒ‰ƒO‚ðŽw’肵‚ÄNPCŽå‘Ì‚É‚·‚é•K—v‚ª‚ ‚è‚Ü‚·
+
+// ----------ƒCƒxƒ“ƒg‹ì“®‚̃Tƒ“ƒvƒ‹ -------------
+// ƒNƒŠƒbƒN‚·‚é‚ƃCƒxƒ“ƒguevent_test2v‚ð‹N‚±‚·NPC
+prontera.gat,155,180,0 script ev_doƒeƒXƒg 116,{
+ doevent "event_test2";
+}
+
+// ----------MOB‚É‚æ‚éƒCƒxƒ“ƒg‹ì“®‚̃Tƒ“ƒvƒ‹ -------------
+// “|‚·‚ƃCƒxƒ“ƒguevent_testv‚ð‹N‚±‚·ƒ‚ƒ“ƒXƒ^[‚Ì[¢Š«]
+prontera.gat,150,185,0 script ev_mobƒeƒXƒg 116,{
+ monster "this",0,0,"Event_Mob2",1002,1,"event_test";
+}
+
+// ----------MOB‚É‚æ‚éƒCƒxƒ“ƒg‹ì“®‚̃Tƒ“ƒvƒ‹2-------------
+// “|‚·‚ƃCƒxƒ“ƒguevent_test3v‚ð‹N‚±‚·ƒ‚ƒ“ƒXƒ^[‚Ì[”z’u]
+prontera.gat,150,180,0 monster Event_Mob 1008,1,0,0,event_test3
+
+// ----------ƒ^ƒCƒ}‚É‚æ‚éƒCƒxƒ“ƒg‹ì“®‚̃Tƒ“ƒvƒ‹ -------------
+// ƒNƒŠƒbƒN‚·‚é‚Æ‚T•bŒã‚Ƀ‰ƒxƒ‹uOnTimerv‚ðŽÀs‚·‚éNPC
+// iƒCƒxƒ“ƒg–¼‚ÉuNPC–¼::On`‚ÅŽn‚܂郉ƒxƒ‹v‚ðŽw’è‚·‚é‚ƃ‰ƒxƒ‹‚ðŽÀs‚Å‚«‚éj
+prontera.gat,155,185,0 script ev_timerƒeƒXƒg 116,{
+ addtimer 5000,"ev_timerƒeƒXƒg::OnTimer";
+ end;
+OnTimer:
+ mes "‚T•bŒo‚¿‚Ü‚µ‚½";
+ close;
+}
+
+// ----------OnInit/ƒ`ƒƒƒbƒgƒ‹[ƒ€‚É‚æ‚éƒCƒxƒ“ƒg‹ì“®‚̃Tƒ“ƒvƒ‹ -------------
+// ƒ}ƒbƒvƒT[ƒo[‹N“®Žž‚Ƀ‰ƒxƒ‹uOnInitv‚ªŽÀs‚³‚êAƒ`ƒƒƒbƒg‚ðì‚é
+// ‚Ü‚½Awaitingroom‚Ì‘æ3ˆø”‚ɃCƒxƒ“ƒg‚ðÝ’è‚·‚é
+prontera.gat,145,180,0 script ev_initƒeƒXƒg 116,{
+ end;
+OnInit:
+ waitingroom "OnInitƒeƒXƒg",1,"ev_initƒeƒXƒg::OnMax";
+ end;
+OnMax:
+ warpwaitingpc "prontera.gat",155,190;
+ end;
+
+}
+
+// ----------ŽžŒv‚É‚æ‚éƒCƒxƒ“ƒg‹ì“®‚̃Tƒ“ƒvƒ‹ -------------
+// Žw’è‚ÌŽž‚â“ú•t‚ŃCƒxƒ“ƒg‚ðŽÀs‚·‚é
+// announce‚É0x08ƒtƒ‰ƒO‚ðŽw’肵‚Ä‚¢‚é‚Æ‚±‚ë‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+prontera.gat,145,185,0 script ev_clockƒeƒXƒg 116,{
+ end;
+// –ˆŽž5•ª
+OnMinute05:
+ announce "–ˆŽž‚T•ª‚ð‚¨’m‚点‚µ‚Ü‚·",8;
+ end;
+// –ˆ“ú12Žž(24H)
+OnHour12:
+ announce "³Œß‚̃jƒ…[ƒX‚Å‚·",8;
+ end;
+// 23Žž59•ª
+OnClock2359:
+ announce "‚ ‚Æ‚P•ª‚Å–¾“ú‚Å‚·",8;
+ end;
+// ‚PŒŽ‚P“ú
+OnDate0101:
+ announce "‚ ‚¯‚Ü‚µ‚Ä‚¨‚ß‚Å‚Æ‚¤‚²‚´‚¢‚Ü‚·",8;
+ end;
+}
+
+
+// ------------------------------------------------------------------
+// ƒCƒxƒ“ƒgƒXƒNƒŠƒvƒg‚Ìì‚è•û
+// ------------------------------------------------------------------
+// •\Ž¦ƒNƒ‰ƒX‚ð-1‚É‚·‚é‚ƃCƒxƒ“ƒgˆµ‚¢‚É‚È‚èA–¼‘O‚ªƒCƒxƒ“ƒg–¼‚É‚È‚éB
+// ƒGƒŠƒA‚ðŽw’肵‚È‚¢ê‡A“¯‚¶ƒ}ƒbƒv“à‚ªƒCƒxƒ“ƒg‚ð‹N‚±‚·”͈͂ɂȂéB
+// ƒGƒŠƒA‚ðŽw’è‚·‚éê‡A‹¤‚É-1‚É‚·‚é‚Æ“¯‚¶ƒ}ƒbƒvŽI‚È‚çƒ}ƒbƒv‚ªˆá‚Á‚Ä‚à
+// ‹ì“®‚·‚éBƒGƒŠƒA‚Í”¼Œa‚Å‚ ‚éB‚È‚¨AƒCƒxƒ“ƒg‚Ì‹N‚±‚éˆÊ’u‚Æ‚¢‚¤‚Ì‚ÍA
+// ‘ÎÛ‚Æ‚È‚éPC‚ÌÀ•W‚Å‚ ‚éB‚½‚Æ‚¦‚ÎA‰“‹——£UŒ‚‚ÅMOB‚ð“|‚µ‚½‚Æ‚«‚É
+// ‹N‚±‚éƒCƒxƒ“ƒg‚ÍMOB‚ÌÀ•W‚Å‚Í‚È‚­APC‚ÌÀ•W‚È‚Ì‚Å’ˆÓB
+
+// ----------ƒCƒxƒ“ƒg‚ÅAƒGƒŠƒA‚ÍŽw’肵‚Ä‚¢‚È‚¢ƒTƒ“ƒvƒ‹------------
+// “¯‚¶ƒ}ƒbƒv“à‚ŃCƒxƒ“ƒguevent_testv‚ª‹N‚±‚é‚ÆŽÀs‚³‚ê‚é
+prontera.gat,150,185,0 script event_test -1,{
+ announce strcharinfo(0) + " ‚ª¢Š«MOB‚ð“|‚µ‚Ü‚µ‚½",2;
+ close;
+}
+
+// ----------ƒCƒxƒ“ƒg‚ÅAƒGƒŠƒA‚ðŽw’肵‚½ƒTƒ“ƒvƒ‹------------
+// (155,185)‚©‚甼Œa5ƒZƒ‹ˆÈ“à‚ŃCƒxƒ“ƒguevent_test2v‚ª‹N‚±‚é‚ÆŽÀs‚³‚ê‚é
+prontera.gat,155,180,0 script event_test2 -1,5,5 {
+ announce "‚TƒZƒ‹ˆÈ“à‚ŃNƒŠƒbƒN‚µ‚Ü‚µ‚½‚Ë",19;
+ close;
+}
+
+// ----------ƒCƒxƒ“ƒg‚ÅAƒGƒŠƒA‚ð-1‚É‚µ‚½ƒTƒ“ƒvƒ‹------------
+// “¯‚¶ƒ}ƒbƒvŽI‚ŃCƒxƒ“ƒguevent_test3v‚ª‹N‚±‚é‚ÆŽÀs‚³‚ê‚é
+prontera.gat,150,180,0 script event_test3 -1,-1,-1 {
+ mes "”z’uMOB“|‚µ‚Ü‚µ‚½‚Ë";
+ close;
+}
+
+
+
+// ------------------------------------------------------------------
+// ƒCƒxƒ“ƒgƒ}ƒbƒv—p‚ÌÝ’è
+// ------------------------------------------------------------------
+// i‘S‚ăRƒƒ“ƒgƒAƒEƒg‚µ‚Ä‚Ü‚·j
+
+// ----------ƒZ[ƒu‹ÖŽ~‚̃Tƒ“ƒvƒ‹---------
+// ‚±‚̃}ƒbƒv‚ŃƒOƒAƒEƒg‚·‚é‚ÆA•K‚¸ ƒvƒƒ“ƒeƒ‰ ‚ÌÀ•W(156,190)‚É
+// ƒZ[ƒu‚³‚ê‚é
+//prontera.gat mapflag nosave prontera.gat,156,190
+
+// ----------ƒƒ‚‹ÖŽ~‚̃Tƒ“ƒvƒ‹---------
+// ‚±‚̃}ƒbƒv‚ł̓ƒ‚‚ª‚Æ‚ê‚È‚¢
+//prontera.gat mapflag nomemo dummy
+
+// ----------ƒeƒŒƒ|‹ÖŽ~‚̃Tƒ“ƒvƒ‹---------
+// ‚±‚̃}ƒbƒv‚Å‚Í”ˆA’±AƒeƒŒƒ|Aƒ|ƒ^‚ªŽg‚¦‚È‚¢
+// ’ˆÓFƒXƒNƒŠƒvƒg‚Ìwarp‚Ì"Random","SavePoint"‚ª–³Œø‚É‚È‚è‚Ü‚·
+//prontera.gat mapflag noteleport dummy
diff --git a/npc/sample/npc_test_func.txt b/npc/sample/npc_test_func.txt
new file mode 100644
index 000000000..db659fc1b
--- /dev/null
+++ b/npc/sample/npc_test_func.txt
@@ -0,0 +1,27 @@
+
+// ’l‚ð•Ô‚³‚È‚¢ŠÖ”
+function script func001 {
+ mes "ƒ†[ƒU[’è‹`ŠÖ”";
+ next;
+ return; // È—ª‚Å‚«‚È‚¢
+}
+
+// ’l‚ð•Ô‚·ŠÖ”
+function script func002 {
+ return "ƒ†[ƒU[’è‹`ŠÖ”‚Q";
+}
+
+// ŠÖ”‚̌ĂÑo‚µ‚ƃTƒuƒ‹[ƒeƒBƒ“‚̃eƒXƒg
+prontera.gat,168,189,1 script ŠÖ”ƒeƒXƒg 112,{
+ callfunc "func001"; // ƒ†[ƒU[’è‹`ŠÖ”‚Í•¶Žš—ñ‚ÅŽw’è
+ mes callfunc("func002");
+ next;
+ callsub L_SUB001; // ƒTƒuƒ‹[ƒeƒBƒ“‚̓‰ƒxƒ‹‚ð’¼ÚŽw’è
+ close;
+ end;
+
+L_SUB001:
+ mes "ƒTƒuƒ‹[ƒeƒBƒ“";
+ return; // È—ª‚Å‚«‚È‚¢
+}
+
diff --git a/npc/sample/npc_test_npctimer.txt b/npc/sample/npc_test_npctimer.txt
new file mode 100644
index 000000000..f40d36847
--- /dev/null
+++ b/npc/sample/npc_test_npctimer.txt
@@ -0,0 +1,33 @@
+
+prontera.gat,156,183,0 script NPCtimerƒeƒXƒg::npctimerX0000 116,{
+ mes "ƒ^ƒCƒ}[’l" + getnpctimer(0);
+ mes "ƒ^ƒCƒ}[ó‘Ô" + getnpctimer(1,"npctimerX0000");
+ mes "ƒCƒxƒ“ƒgŒÂ”" + getnpctimer(2);
+ menu "‰Šú‰»",L_INIT,"’âŽ~",L_STOP,"ÄŠJ",L_START,"Ý’è",L_SET;
+ close;
+L_INIT:
+ initnpctimer;
+ close;
+L_STOP:
+ stopnpctimer;
+ close;
+L_START:
+ startnpctimer;
+ close;
+L_SET:
+ input @temp;
+ setnpctimer @temp;
+ close;
+
+OnTimer1000:
+ announce "1•bŒo‰ß",0;
+ end;
+
+OnTimer5000:
+ announce "5•bŒo‰ß",0;
+ end;
+
+OnTimer10000:
+ announce "10•bŒo‰ß",0;
+ end;
+}
diff --git a/npc/sample/npc_test_npctimer2.txt b/npc/sample/npc_test_npctimer2.txt
new file mode 100644
index 000000000..de9895f3c
--- /dev/null
+++ b/npc/sample/npc_test_npctimer2.txt
@@ -0,0 +1,16 @@
+prontera.gat,156,183,0 script NPCtimerƒeƒXƒg::npctimerX0000 116,{
+L_INIT:
+ mes "What would you like to know?";
+ menu "Tell me my level",L_WAIT;
+
+L_WAIT:
+ mes "I need time to think...";
+ initnpctimer;
+ attachnpctimer;
+ close;
+
+OnTimer5000:
+ mes "Ah, your level is " + readparam(11);
+ detachnpctimer;
+ close;
+} \ No newline at end of file
diff --git a/npc/sample/npc_test_skill.txt b/npc/sample/npc_test_skill.txt
new file mode 100644
index 000000000..969c1ca77
--- /dev/null
+++ b/npc/sample/npc_test_skill.txt
@@ -0,0 +1,19 @@
+// ƒXƒLƒ‹Š“¾ƒeƒXƒg
+
+// skill ƒXƒLƒ‹ID ,ƒXƒLƒ‹LV [,ƒtƒ‰ƒO];
+// ƒtƒ‰ƒO‚ÍÈ—ª‰Â”\AÈ—ªŽž‚Í‚PB
+// ƒtƒ‰ƒO=1‚ŃJ[ƒh‚Ȃǂ̈ꎞ“I‚ÈŠ“¾A
+// ƒtƒ‰ƒO=2‚ŃNƒGƒXƒg‚È‚Ç‚É‚æ‚éP‹v“I‚ÈŠ“¾(skill_tree.txt‚Ɉˑ¶)
+
+prontera.gat,157,182,0 script ƒXƒLƒ‹Š“¾ƒeƒXƒg 116,{
+ mes "ƒXƒLƒ‹Š“¾ƒeƒXƒg";
+ menu "‰ž‹}ˆ’uŠ“¾",L_GETSKILL142,"Ž€‚ñ‚¾U‚芓¾",L_GETSKILL143,"‚â‚ß‚é",L_YAME;
+L_GETSKILL142:
+ skill 142,1,0;
+ close;
+L_GETSKILL143:
+ skill 143,1,0;
+ close;
+L_YAME:
+ close;
+}
diff --git a/npc/sample/npc_test_str.txt b/npc/sample/npc_test_str.txt
new file mode 100644
index 000000000..cc50124ab
--- /dev/null
+++ b/npc/sample/npc_test_str.txt
@@ -0,0 +1,17 @@
+// Some Test Example
+prontera.gat,164,188,1 script sTrInG2compare 112,{
+ set @str$, "StRiNg1";
+ mes "sTrInG2 isn't equal to " + @str$ ;
+ mes "Our Var is equal to " + @str$ + " ...OK?";
+ next;
+ mes "Comparision eqOKF" + (@str$=="StRiNg1");
+ mes "Comparision eqNGF" + (@str$=="sTrInG2");
+ mes "Comparision neOKF" + (@str$!="00000");
+ mes "Comparision neNGF" + (@str$!="StRiNg1");
+ mes "Comparision gtOKF" + ("aab">"aaa");
+ mes "Comparision ltNGF" + ("aab"<"aaa");
+ next;
+ input @str2$;
+ mes "You've entered '" + @str2$ + "' string.";
+ close;
+}
diff --git a/npc/sample/npc_testchkoption.txt b/npc/sample/npc_testchkoption.txt
new file mode 100644
index 000000000..970da233f
--- /dev/null
+++ b/npc/sample/npc_testchkoption.txt
@@ -0,0 +1,15 @@
+prontera.gat,156,89,6 script test_chkoption 117,{
+ mes "Please enter a value of type!";
+ input @value;
+ if(checkoption(@value) == 1) goto L1;
+ if(checkoption(@value) == 0) goto L0;
+ end;
+ L1:
+ mes "True!";
+ close;
+ end;
+ L0:
+ mes "False!";
+ close;
+ end;
+} \ No newline at end of file
diff --git a/npc/sample/npc_time_sample.txt b/npc/sample/npc_time_sample.txt
new file mode 100644
index 000000000..56d442c7a
--- /dev/null
+++ b/npc/sample/npc_time_sample.txt
@@ -0,0 +1,19 @@
+
+prontera.gat,157,181,6 script Time Sample 105,{
+ mes "[Time Sample]";
+ mes "System Tick : " + gettimetick(0);
+ mes " Time Tick : " + gettimetick(1);
+ mes " GetTime(0) : " + gettime(0);
+ mes " GetTime(1) : " + gettime(1) + " (Sec)";
+ mes " GetTime(2) : " + gettime(2) + " (Min)";
+ mes " GetTime(3) : " + gettime(3) + " (Hour)";
+ mes " GetTime(4) : " + gettime(4) + " (WeekDay)";
+ mes " GetTime(5) : " + gettime(5) + " (MonthDay)";
+ mes " GetTime(6) : " + gettime(6) + " (Month)";
+ mes " GetTime(7) : " + gettime(7) + " (Year)";
+ mes " GetTimeStr : " + gettimestr("%Y-%m/%d %H:%M:%S",19);
+ close;
+ end;
+}
+
+
diff --git a/npc/scripts_athena.conf b/npc/scripts_athena.conf
new file mode 100644
index 000000000..76f33bfc2
--- /dev/null
+++ b/npc/scripts_athena.conf
@@ -0,0 +1,160 @@
+// --------------------------------------------------------------
+// - Warning!! Acktung!! Awas!! gevaar!! peligro!! ÂûGEûGE -
+// --------------------------------------------------------------
+// - All scripts here should be used at your own risk. If you -
+// - have edited it yourself, we are not responsible for any -
+// - Damages or whatsoever. Do not report any bugs unless you -
+// - are sure they exsist. Please provide evidence and proof. -
+// - eAthena developmers are not responsible for any damages or -
+// - disruptions of service during the service of the server -
+// - caused by the included scripts or for any damages -
+// - resulting in the use of the scripts. -
+// - Thanks, -
+// - eAthena Dev Team -
+// --------------------------------------------------------------
+// --------------------------- Cities ---------------------------
+npc: npc/cities/alberta.txt
+npc: npc/cities/aldebaran.txt
+npc: npc/cities/amatsu.txt
+npc: npc/cities/ayothaya.txt
+npc: npc/cities/comodo.txt
+npc: npc/cities/einbech.txt
+npc: npc/cities/einbroch.txt
+npc: npc/cities/geffen.txt
+npc: npc/cities/hugel.txt
+npc: npc/cities/izlude.txt
+npc: npc/cities/jawaii.txt
+npc: npc/cities/louyang.txt
+npc: npc/cities/lutie.txt
+npc: npc/cities/morocc.txt
+npc: npc/cities/payon.txt
+npc: npc/cities/prontera.txt
+npc: npc/cities/yuno.txt
+npc: npc/cities/gonryun.txt
+npc: npc/cities/umbala.txt
+npc: npc/cities/niflheim.txt
+npc: npc/cities/valkyrie.txt
+// --------------------------------------------------------------
+// -------------------------- Merchant --------------------------
+npc: npc/merchants/shops.txt
+npc: npc/merchants/refine.txt
+npc: npc/merchants/dye_maker.txt
+npc: npc/merchants/clothes_dyer.txt
+npc: npc/merchants/hair_dyer.txt
+npc: npc/merchants/hair_style.txt
+npc: npc/merchants/grandpa_pharmacist.txt
+npc: npc/merchants/inn.txt
+npc: npc/merchants/milk_trader.txt
+npc: npc/merchants/renters.txt
+npc: npc/merchants/alchemist.txt
+npc: npc/merchants/icecream.txt
+npc: npc/merchants/quivers.txt
+// Temp Shops
+// Removed in kRO (because Scrolls have been added into mobs drops)
+//npc: npc/merchants/scrolls_arrows.txt
+// --------------------------------------------------------------
+// -------------------------- Airport ---------------------------
+npc: npc/airports/airships.txt
+npc: npc/airports/einbroch.txt
+npc: npc/airports/lighthalzen.txt
+npc: npc/airports/yuno.txt
+// --------------------------------------------------------------
+// --------------------------- Quests ---------------------------
+npc: npc/quests/quests_alberta.txt
+npc: npc/quests/quests_aldebaran.txt
+npc: npc/quests/quests_ayothaya.txt
+npc: npc/quests/quests_comodo.txt
+npc: npc/quests/quests_geffen.txt
+npc: npc/quests/quests_lighthalzen.txt
+npc: npc/quests/quests_lutie.txt
+npc: npc/quests/quests_morocc.txt
+npc: npc/quests/quests_payon.txt
+npc: npc/quests/quests_prontera.txt
+npc: npc/quests/quests_umbala.txt
+npc: npc/quests/quests_yuno.txt
+npc: npc/quests/mrsmile.txt
+npc: npc/quests/bunnyband.txt
+npc: npc/quests/juice_maker.txt
+npc: npc/quests/counteragent_mixture.txt
+npc: npc/quests/doomed_swords.txt
+npc: npc/quests/bongunsword.txt
+npc: npc/quests/monstertamers.txt
+npc: npc/quests/Lvl4_weapon_quest.txt
+npc: npc/quests/newgears/arjen.txt
+npc: npc/quests/newgears/back_ribbon.txt
+npc: npc/quests/newgears/bear_hat.txt
+npc: npc/quests/newgears/burning_blood_bandana.txt
+npc: npc/quests/newgears/cat_hairband.txt
+npc: npc/quests/newgears/fox_mask.txt
+npc: npc/quests/newgears/hat_seller.txt
+npc: npc/quests/newgears/indian_headband.txt
+npc: npc/quests/newgears/mask_of_alarm.txt
+npc: npc/quests/newgears/mushroom_hairband.txt
+npc: npc/quests/newgears/neris.txt
+npc: npc/quests/newgears/old_blacksmith.txt
+npc: npc/quests/newgears/posture_fix_hat.txt
+npc: npc/quests/newgears/sea_otter_hat.txt
+npc: npc/quests/newgears/traveler.txt
+npc: npc/quests/newgears/tulip_hairpin.txt
+npc: npc/quests/newgears/orc_hero_helm.txt
+npc: npc/quests/newgears/new_hats_0625.txt
+//it's iRO script, uncomment it if you want to soil your economics with cheap OBBs
+//npc: npc/quests/obb_quest.txt
+npc: npc/quests/cooking_quest.txt
+// --------------------------------------------------------------
+// --------------------------- Guides ---------------------------
+npc: npc/guides/guides_alb.txt
+npc: npc/guides/guides_alde.txt
+npc: npc/guides/guides_com.txt
+npc: npc/guides/guides_einbe.txt
+npc: npc/guides/guides_einbr.txt
+npc: npc/guides/guides_gef.txt
+npc: npc/guides/guides_izl.txt
+npc: npc/guides/guides_mor.txt
+npc: npc/guides/guides_pay.txt
+npc: npc/guides/guides_pron.txt
+npc: npc/guides/guides_yun.txt
+npc: npc/guides/guides_umb.txt
+npc: npc/guides/guides_nif.txt
+// --------------------------------------------------------------
+// --------------------------- Kafras ---------------------------
+npc: npc/kafras/functions_kafras.txt
+npc: npc/kafras/kafras_alb.txt
+npc: npc/kafras/kafras_alde.txt
+npc: npc/kafras/kafras_com.txt
+npc: npc/kafras/kafras_dungeons.txt
+npc: npc/kafras/kafras_gef.txt
+npc: npc/kafras/kafras_izl.txt
+npc: npc/kafras/kafras_mor.txt
+npc: npc/kafras/kafras_pay.txt
+npc: npc/kafras/kafras_pron.txt
+npc: npc/kafras/kafras_yun.txt
+npc: npc/kafras/kafras_new.txt
+// --------------------------------------------------------------
+// --------------------------- Events ---------------------------
+//npc: npc/events/easter.txt
+//npc: npc/events/valentinesday.txt
+//npc: npc/events/xmas.txt
+//A custom event for 3 holidays: X-Mas, Karachun and New Year
+//Should be activated between 8 December and 8 January
+//npc: npc/events/custom/xmas_rings_event.txt
+//npc: npc/events/alchemist.txt
+//npc: npc/events/whiteday.txt
+//npc: npc/events/twintowers.txt
+//npc: npc/events/zondaman.txt
+//npc: npc/events/dumplingfestival.txt
+//npc: npc/events/custom/uneasy_cemetery.txt
+//npc: npc/events/custom/draculax.txt
+//npc: npc/events/custom/event_gefenia.txt
+npc: npc/events/custom/2006_dogs_year.txt
+
+// --------------------------------------------------------------
+// --------------------------- Others ---------------------------
+npc: npc/other/pvp.txt
+npc: npc/other/books.txt
+npc: npc/other/msg_boards.txt
+npc: npc/other/bulletin_boards.txt
+npc: npc/other/monster_museum.txt
+npc: npc/other/marriage.txt
+//npc: npc/other/momotaro.txt
+// --------------------------------------------------------------
diff --git a/npc/scripts_custom.conf b/npc/scripts_custom.conf
new file mode 100644
index 000000000..13d94a344
--- /dev/null
+++ b/npc/scripts_custom.conf
@@ -0,0 +1,126 @@
+// --------------------------------------------------------------
+// - Custom Scripts -
+// --------------------------------------------------------------
+// All the custom scripts, remove the '//' to active...
+// --------------------------------------------------------------
+// - Warning!! Acktung!! Awas!! gevaar!! peligro!! ÂûGEûGE -
+// --------------------------------------------------------------
+// - All scripts here should be used at your own risk. If you -
+// - have edited it yourself, we are not responsible for any -
+// - Damages or whatsoever. Do not report any bugs unless you -
+// - are sure they exsist. Please provide evidence and proof. -
+// - eAthena developmers are not responsible for any damages or -
+// - disruptions of service during the service of the server -
+// - caused by the included scripts or for any damages -
+// - resulting in the use of the scripts. -
+// - Thanks, -
+// - eAthena Dev Team -
+// --------------------------------------------------------------
+// ------------------------- My Scripts -------------------------
+//npc: npc/location/to/script.txt
+// Your scripts go here!!
+// --------------------------------------------------------------
+// ----------------------- Basic Scripts -----------------------
+// -- Adoption NPC [Fredzilla]
+npc: npc/custom/adoption.txt
+// -- Auctioneer - Use at own risk [Fredzilla]
+// Warning: It dupe items.
+//npc: npc/custom/Auctioneer.txt
+// -- Card Remover
+//npc: npc/custom/card_remover.txt
+// -- Write your name on your equipment/weapon (mini-quest)
+//npc: npc/custom/sign_your_items.txt
+// -- Banks
+//npc: npc/custom/banks/kafra_bank.txt
+//npc: npc/custom/banks/bank.txt
+// -- Reset NPC
+//npc: npc/custom/jobs/reset.txt
+// -- Job Changer
+//npc: npc/custom/jobs/jobmaster.txt
+// -- Healer(s)
+//npc: npc/custom/healers/heal.txt
+//npc: npc/custom/healers/heal_payment.txt
+// -- Black Jack
+//npc: npc/custom/blackjack.txt
+// -- Gefenia
+//npc: npc/custom/gefenia.txt
+// -- City and Dungeon Warper
+//npc: npc/custom/warper/warper.txt
+// -- Stylist
+//npc: npc/custom/dye.txt
+// -- Custom Penal Servitude (Jails Quest)
+//npc: npc/custom/penal_servitude.txt
+// -- Dev NPCs (NPCs named after devs...)
+//npc: npc/custom/devnpc.txt
+// -- Unofficial poetry
+//npc: npc/custom/poetry/ayothaya.txt
+// -- Platinum Skills
+//npc: npc/custom/platinum_skills.txt
+// -- Custom Shops
+//npc: npc/custom/2-2shop.txt
+// -- Free Falcon & Peco breeder, Free Carts
+//npc: npc/custom/breeder.txt
+// -- Unofficial Airplane Script
+//npc: npc/custom/airplane.txt
+// -- MVP Arena
+//npc: npc/custom/MVP_arena/arena_mvp.txt
+//npc: npc/custom/MVP_arena/amvp_func.txt
+// ~ If you wish to have the mvp arena in your server,
+// ~ please enable the mvp funtion too.
+// -- WoE Time Setter - Lets you set War of Emperium time easily from inside the game [Fredzilla]
+//npc: npc/custom/WoE_Setter.txt
+//
+// Stock Market (Play on it, earn money, very flexible)
+//npc: npc/custom/stock_market.txt
+// Russian Roulette + Rock Scissors Paper (contains some OBB / OVB / OCA etc dangerous!!! prizes!)
+//npc: npc/custom/rpsroulette.txt
+// Hire your Ninjas Squad and assassinate some enemy
+//npc: npc/custom/shifty_assassin.txt
+// Train your Monsters to fight against other players' monsters
+//npc: npc/custom/mvm.txt
+// A simply Raceway mini-game
+//npc: npc/custom/morroc_raceway.txt
+// A nice lottery (very flexible)
+//npc: npc/custom/lottery.txt
+
+// --------------------------------------------------------------
+// Lance's Scripts (coded before joining eA Dev team)
+// --------------------------------------------------------------
+//npc: npc/custom/Lance/FR_HallOfFame.c
+//npc: npc/custom/Lance/FR_WeatherController.c
+//npc: npc/custom/Lance/FR_MailSystem.c
+// --------------------------------------------------------------
+
+//
+// --------------------------------------------------------------
+// ----------------------- Quests Scripts -----------------------
+// -- Treasure Hunters Guild Quests (40 Quests + Special Guild Shop)
+//npc: npc/custom/quests/thq/THQS_ChatingNPC.txt
+//npc: npc/custom/quests/thq/THQS_GuildNPC.txt
+//npc: npc/custom/quests/thq/THQS_QuestNPC.txt
+//npc: npc/custom/quests/thq/THQS_Quests.txt
+//npc: npc/custom/quests/thq/THQS_TTShop.txt
+// -- Godly Equipments Quests
+//npc: npc/custom/quests/valhallen.txt
+// -- Misc
+//npc: npc/custom/quests/magicalhatquest.txt
+//npc: npc/custom/quests/fashion.txt
+//npc: npc/custom/quests/elvenear.txt
+//npc: npc/custom/quests/ironcane.txt
+//npc: npc/custom/quests/sunglasses.txt
+//npc: npc/custom/quests/berzebub.txt
+// Bandit Beard headgear quest (very long and safe quest)
+//npc: npc/custom/quests/bandit_beard.txt
+// Dead Branch (and Bloody Branch) quest (safe to use)
+//npc: npc/custom/quests/dead_branch.txt
+// -- Removed Hats with official quests. Only 6 hats are left
+//npc: npc/custom/quests/event_6_new_hats.txt
+// (both Lord Kaho (GM Item), but different and quest.txt has Balmung (GM Item) too)
+// Warning! It might break your server balance.
+//npc: npc/custom/quests/kaho_balmung.txt
+//npc: npc/custom/quests/kahohorn.txt
+// -- ?? Event
+//npc: npc/custom/tougijou.txt
+
+//Nice Custom thanatos Tower Statues Quest
+//npc: npc/custom/quests/tha_statues.txt \ No newline at end of file
diff --git a/npc/scripts_eamonsters.conf b/npc/scripts_eamonsters.conf
new file mode 100644
index 000000000..8e732a294
--- /dev/null
+++ b/npc/scripts_eamonsters.conf
@@ -0,0 +1,70 @@
+// --------------------------------------------------------------
+// - Warning!! Acktung!! Awas!! gevaar!! peligro!! Âíèìàíèå! -
+// --------------------------------------------------------------
+// - All scripts here should be used at your own risk. If you -
+// - have edited it yourself, we are not responsible for any -
+// - Damages or whatsoever. Do not report any bugs unless you -
+// - are sure they exsist. Please provide evidence and proof. -
+// - eAthena developmers are not responsible for any damages or -
+// - disruptions of service during the service of the server -
+// - caused by the included scripts or for any damages -
+// - resulting in the use of the scripts. -
+// - Thanks, -
+// - eAthena Dev Team -
+// --------------------------------------------------------------
+// --------------------------------------------------------------
+// - Monster Scripts -
+// --------------------------------------------------------------
+npc: npc/eamobs/citycleaners.txt
+npc: npc/eamobs/fields/lighthalzen.txt
+npc: npc/eamobs/pvp.txt
+npc: npc/eamobs/fields/amatsu.txt
+npc: npc/eamobs/fields/ayothaya.txt
+npc: npc/eamobs/fields/comodo.txt
+npc: npc/eamobs/fields/einbroch.txt
+npc: npc/eamobs/fields/geffen.txt
+npc: npc/eamobs/fields/gonryun.txt
+npc: npc/eamobs/fields/jawaii.txt
+npc: npc/eamobs/fields/louyang.txt
+npc: npc/eamobs/fields/lutie.txt
+npc: npc/eamobs/fields/mjolnir.txt
+npc: npc/eamobs/fields/morocc.txt
+npc: npc/eamobs/fields/niflheim.txt
+//npc: npc/eamobs/fields/odin.txt
+npc: npc/eamobs/fields/payon.txt
+npc: npc/eamobs/fields/prontera.txt
+npc: npc/eamobs/fields/umbala.txt
+npc: npc/eamobs/fields/yuno.txt
+npc: npc/eamobs/fields/hugel.txt
+npc: npc/eamobs/dungeons/amatdun.txt
+npc: npc/eamobs/dungeons/anthell.txt
+npc: npc/eamobs/dungeons/ayodun.txt
+npc: npc/eamobs/dungeons/abyss.txt
+npc: npc/eamobs/dungeons/beachdun.txt
+npc: npc/eamobs/dungeons/byalan.txt
+npc: npc/eamobs/dungeons/clocktower.txt
+npc: npc/eamobs/dungeons/coalmine.txt
+npc: npc/eamobs/dungeons/eindun.txt
+npc: npc/eamobs/dungeons/geftower.txt
+npc: npc/eamobs/dungeons/gefenia.txt
+npc: npc/eamobs/dungeons/glastheim.txt
+npc: npc/eamobs/dungeons/gondun.txt
+npc: npc/eamobs/dungeons/guilddun.txt
+npc: npc/eamobs/dungeons/jupedun.txt
+//npc: npc/eamobs/dungeons/kiel.txt
+npc: npc/eamobs/dungeons/lhzdun.txt
+npc: npc/eamobs/dungeons/louydun.txt
+npc: npc/eamobs/dungeons/magmadun.txt
+npc: npc/eamobs/dungeons/moc_pyramid.txt
+npc: npc/eamobs/dungeons/moc_sphinx.txt
+npc: npc/eamobs/dungeons/orcdun.txt
+npc: npc/eamobs/dungeons/payoncave.txt
+npc: npc/eamobs/dungeons/pront_maze.txt
+npc: npc/eamobs/dungeons/pront_sewers.txt
+npc: npc/eamobs/dungeons/sunkenship.txt
+npc: npc/eamobs/dungeons/thanatos.txt
+npc: npc/eamobs/dungeons/toyfactory.txt
+npc: npc/eamobs/dungeons/turtleisland.txt
+npc: npc/eamobs/dungeons/umbaladun.txt
+npc: npc/eamobs/dungeons/yggdrasil.txt
+// --------------------------------------------------------------
diff --git a/npc/scripts_guild.conf b/npc/scripts_guild.conf
new file mode 100644
index 000000000..ecfebae3f
--- /dev/null
+++ b/npc/scripts_guild.conf
@@ -0,0 +1,67 @@
+// --------------------------------------------------------------
+// - Warning!! Acktung!! Awas!! gevaar!! peligro!! Âíèìàíèå! -
+// --------------------------------------------------------------
+// - All scripts here should be used at your own risk. If you -
+// - have edited it yourself, we are not responsible for any -
+// - Damages or whatsoever. Do not report any bugs unless you -
+// - are sure they exsist. Please provide evidence and proof. -
+// - eAthena developmers are not responsible for any damages or -
+// - disruptions of service during the service of the server -
+// - caused by the included scripts or for any damages -
+// - resulting in the use of the scripts. -
+// - Thanks, -
+// - eAthena Dev Team -
+// --------------------------------------------------------------
+// ------------------------- Guild Wars -------------------------
+// -- Guild Wars: General
+npc: npc/guild/gldfunc_manager.txt
+npc: npc/guild/gldfunc_dunsw.txt
+npc: npc/guild/gldfunc_flag.txt
+npc: npc/guild/gldfunc_treasure.txt
+npc: npc/guild/gldfunc_kafra.txt
+npc: npc/guild/gldfunc_ev_agit.txt
+npc: npc/guild/ev_agit_event.txt
+// -- Guild Wars: Al De Baran
+npc: npc/guild/aldeg/aldeg_ev_agit.txt
+npc: npc/guild/aldeg/aldeg_flags.txt
+npc: npc/guild/aldeg/aldeg_managers.txt
+npc: npc/guild/aldeg/aldeg_kafras.txt
+npc: npc/guild/aldeg/aldeg_treas.txt
+npc: npc/guild/aldeg/aldeg_dunsw.txt
+npc: npc/guild/aldeg/aldeg_guardians.txt
+// -- Guild Wars: Geffen
+npc: npc/guild/gefg/gefg_ev_agit.txt
+npc: npc/guild/gefg/gefg_flags.txt
+npc: npc/guild/gefg/gefg_managers.txt
+npc: npc/guild/gefg/gefg_kafras.txt
+npc: npc/guild/gefg/gefg_treas.txt
+npc: npc/guild/gefg/gefg_dunsw.txt
+npc: npc/guild/gefg/gefg_guardians.txt
+// -- Guild Wars: Payon
+npc: npc/guild/payg/payg_ev_agit.txt
+npc: npc/guild/payg/payg_flags.txt
+npc: npc/guild/payg/payg_managers.txt
+npc: npc/guild/payg/payg_kafras.txt
+npc: npc/guild/payg/payg_dunsw.txt
+npc: npc/guild/payg/payg_treas.txt
+npc: npc/guild/payg/payg_guardians.txt
+// -- Guild Wars: Prontera
+npc: npc/guild/prtg/prtg_ev_agit.txt
+npc: npc/guild/prtg/prtg_flags.txt
+npc: npc/guild/prtg/prtg_managers.txt
+npc: npc/guild/prtg/prtg_kafras.txt
+npc: npc/guild/prtg/prtg_dunsw.txt
+npc: npc/guild/prtg/prtg_treas.txt
+npc: npc/guild/prtg/prtg_guardians.txt
+// -- Guild Wars: NGuild
+npc: npc/guild/nguild/nguild_ev_agit.txt
+npc: npc/guild/nguild/nguild_flags.txt
+npc: npc/guild/nguild/nguild_managers.txt
+npc: npc/guild/nguild/nguild_kafras.txt
+//N Guild doesn't have REAL dungeons. They are connected to the common ones.
+//So better don't uncomment this line.
+//npc: npc/guild/nguild/nguild_dunsw.txt
+npc: npc/guild/nguild/nguild_treas.txt
+npc: npc/guild/nguild/nguild_guardians.txt
+npc: npc/guild/nguild/nguild_warper.txt
+// -------------------------------------------------------------- \ No newline at end of file
diff --git a/npc/scripts_jobs.conf b/npc/scripts_jobs.conf
new file mode 100644
index 000000000..b1fd5cf7a
--- /dev/null
+++ b/npc/scripts_jobs.conf
@@ -0,0 +1,80 @@
+// --------------------------------------------------------------
+// - Job Scripts -
+// --------------------------------------------------------------
+// --------------------------------------------------------------
+// - Warning!! Acktung!! Awas!! gevaar!! peligro!! ÂûGEûGE -
+// --------------------------------------------------------------
+// - All scripts here should be used at your own risk. If you -
+// - have edited it yourself, we are not responsible for any -
+// - Damages or whatsoever. Do not report any bugs unless you -
+// - are sure they exsist. Please provide evidence and proof. -
+// - eAthena developmers are not responsible for any damages or -
+// - disruptions of service during the service of the server -
+// - caused by the included scripts or for any damages -
+// - resulting in the use of the scripts. -
+// - Thanks, -
+// - eAthena Dev Team -
+// --------------------------------------------------------------
+// ------------------------- Job Quests -------------------------
+
+//--Job Quest Functions. QUESTS WILL NOT WORK IF REMOVED!
+npc: npc/jobs/Jfunc/Jfunc1-1.txt
+npc: npc/jobs/Jfunc/Jfunc2-1.txt
+npc: npc/jobs/Jfunc/Jfunc2-2.txt
+// -- Novice
+npc: npc/jobs/novice/novice.txt
+npc: npc/jobs/novice/supernovice.txt
+// -- 1-1
+npc: npc/jobs/1-1/thief.txt
+npc: npc/jobs/1-1/archer.txt
+npc: npc/jobs/1-1/mage.txt
+npc: npc/jobs/1-1/merchant.txt
+npc: npc/jobs/1-1/acolyte.txt
+npc: npc/jobs/1-1/swordman.txt
+// -- 2-1
+npc: npc/jobs/2-1/blacksmith.txt
+npc: npc/jobs/2-1/knight.txt
+npc: npc/jobs/2-1/hunter.txt
+npc: npc/jobs/2-1/priest.txt
+npc: npc/jobs/2-1/wizard.txt
+npc: npc/jobs/2-1/assassin.txt
+// -- 2-2
+npc: npc/jobs/2-2/rogue.txt
+npc: npc/jobs/2-2/alchemist.txt
+npc: npc/jobs/2-2/sage.txt
+npc: npc/jobs/2-2/crusader.txt
+npc: npc/jobs/2-2/monk.txt
+npc: npc/jobs/2-2/dancer.txt
+npc: npc/jobs/2-2/bard.txt
+// -- 2-1A (Without Quest)
+npc: npc/jobs/2-1a/AssassinCross.txt
+npc: npc/jobs/2-1a/LordKnight.txt
+npc: npc/jobs/2-1a/HighPriest.txt
+npc: npc/jobs/2-1a/HighWizard.txt
+npc: npc/jobs/2-1a/WhiteSmith.txt
+npc: npc/jobs/2-1a/Sniper.txt
+// -- 2-2A (Without Quest)
+npc: npc/jobs/2-2a/Champion.txt
+npc: npc/jobs/2-2a/Clown.txt
+npc: npc/jobs/2-2a/Creator.txt
+npc: npc/jobs/2-2a/Gypsy.txt
+npc: npc/jobs/2-2a/Paladin.txt
+npc: npc/jobs/2-2a/Professor.txt
+npc: npc/jobs/2-2a/Stalker.txt
+// -- 1-1E (Without Quest)
+npc: npc/jobs/1-1e/taekwon.txt
+// -- 2-1E (Place Holder)
+npc: npc/jobs/2-1e/StarGladiator.txt
+// -- 2-2E (Place Holder)
+npc: npc/jobs/2-2e/SoulLinker.txt
+// --------------------------------------------------------------
+// ------------------------ Skill Quests ------------------------
+npc: npc/quests/skills/acolyte_skills.txt
+npc: npc/quests/skills/archer_skills.txt
+npc: npc/quests/skills/mage_skills.txt
+npc: npc/quests/skills/merchant_skills.txt
+npc: npc/quests/skills/novice_skills.txt
+npc: npc/quests/skills/swordman_skills.txt
+npc: npc/quests/skills/thief_skills.txt
+npc: npc/quests/skills/2nd_class_skills.txt
+// --------------------------------------------------------------
diff --git a/npc/scripts_main.conf b/npc/scripts_main.conf
new file mode 100644
index 000000000..bdf6eb03c
--- /dev/null
+++ b/npc/scripts_main.conf
@@ -0,0 +1,49 @@
+// --------------------------------------------------------------
+// - eAthena Primary Scripts File -
+// --------------------------------------------------------------
+// The idea of this new system is to make scripts more organized
+// since the old system was rather messy with all the NPCs in one
+// file. Now scripts are organized in to files arraged by type.
+// Custom scripts are now in scripts_custom.conf, all other
+// scripts are deemed as 'official'. You should place your NPCs
+// in to scripts_custom.conf to follow the trend.
+//
+// Thanks,
+// Ancyker and the rest of the eAthena Team
+//
+// --------------------------------------------------------------
+// --------------------------------------------------------------
+// - Warning!! Acktung!! Awas!! gevaar!! peligro!! Âíèìàíèå! -
+// --------------------------------------------------------------
+// - All scripts here should be used at your own risk. If you -
+// - have edited it yourself, we are not responsible for any -
+// - Damages or whatsoever. Do not report any bugs unless you -
+// - are sure they exsist. Please provide evidence and proof. -
+// - eAthena developmers are not responsible for any damages or -
+// - disruptions of service during the service of the server -
+// - caused by the included scripts or for any damages -
+// - resulting in the use of the scripts. -
+// - Thanks, -
+// - eAthena Dev Team -
+// --------------------------------------------------------------
+// ------------------ Global Scripts Functions ------------------
+// !! Warning! Do NOT remove there or it breaks a lot of items !!
+npc: npc/other/Global_Functions.txt
+// --------------------------------------------------------------
+// ------------------------ PCLoginEvent ------------------------
+// NPC which is activated for every player who logs in.
+//npc: npc/sample/PCLoginEvent.txt
+// --------------------------------------------------------------
+// ------------------------ Script Files ------------------------
+import: npc/scripts_mapflags.conf
+import: npc/scripts_warps.conf
+// -- Scripts_monsters.conf is offical spawns, scripts_eamonsters.conf is modified for eAthena
+// -- in an attempt to have more balanced/fair spawns.
+import: npc/scripts_monsters.conf
+//import: npc/scripts_eamonsters.conf
+import: npc/scripts_athena.conf
+import: npc/scripts_jobs.conf
+import: npc/scripts_guild.conf
+// -- Your NPCs go in this file!
+import: npc/scripts_custom.conf
+// --------------------------------------------------------------
diff --git a/npc/scripts_mapflags.conf b/npc/scripts_mapflags.conf
new file mode 100644
index 000000000..7a7e48429
--- /dev/null
+++ b/npc/scripts_mapflags.conf
@@ -0,0 +1,39 @@
+// --------------------------------------------------------------
+// - Warning!! Acktung!! Awas!! gevaar!! peligro!! Âíèìàíèå! -
+// --------------------------------------------------------------
+// - All scripts here should be used at your own risk. If you -
+// - have edited it yourself, we are not responsible for any -
+// - Damages or whatsoever. Do not report any bugs unless you -
+// - are sure they exsist. Please provide evidence and proof. -
+// - eAthena developmers are not responsible for any damages or -
+// - disruptions of service during the service of the server -
+// - caused by the included scripts or for any damages -
+// - resulting in the use of the scripts. -
+// - Thanks, -
+// - eAthena Dev Team -
+// --------------------------------------------------------------
+// --------------------------------------------------------------
+// - Map Flags -
+// --------------------------------------------------------------
+npc: conf/mapflag/gvg.txt
+npc: conf/mapflag/indoors.txt
+npc: conf/mapflag/jail.txt
+npc: conf/mapflag/nightmare.txt
+npc: conf/mapflag/nobranch.txt
+npc: conf/mapflag/noexp.txt
+npc: conf/mapflag/noicewall.txt
+npc: conf/mapflag/noloot.txt
+npc: conf/mapflag/nomemo.txt
+npc: conf/mapflag/nopenalty.txt
+npc: conf/mapflag/nopvp.txt
+npc: conf/mapflag/nosave.txt
+npc: conf/mapflag/noteleport.txt
+npc: conf/mapflag/noreturn.txt
+npc: conf/mapflag/nowarp.txt
+npc: conf/mapflag/nowarpto.txt
+npc: conf/mapflag/pvp.txt
+npc: conf/mapflag/pvp_noparty.txt
+npc: conf/mapflag/pvp_noguild.txt
+npc: conf/mapflag/night.txt
+water_height: conf/mapflag/water_height.txt
+// --------------------------------------------------------------
diff --git a/npc/scripts_monsters.conf b/npc/scripts_monsters.conf
new file mode 100644
index 000000000..1562c95cd
--- /dev/null
+++ b/npc/scripts_monsters.conf
@@ -0,0 +1,70 @@
+// --------------------------------------------------------------
+// - Warning!! Acktung!! Awas!! gevaar!! peligro!! Âíèìàíèå! -
+// --------------------------------------------------------------
+// - All scripts here should be used at your own risk. If you -
+// - have edited it yourself, we are not responsible for any -
+// - Damages or whatsoever. Do not report any bugs unless you -
+// - are sure they exsist. Please provide evidence and proof. -
+// - eAthena developmers are not responsible for any damages or -
+// - disruptions of service during the service of the server -
+// - caused by the included scripts or for any damages -
+// - resulting in the use of the scripts. -
+// - Thanks, -
+// - eAthena Dev Team -
+// --------------------------------------------------------------
+// --------------------------------------------------------------
+// - Monster Scripts -
+// --------------------------------------------------------------
+npc: npc/omobs/citycleaners.txt
+npc: npc/omobs/fields/lighthalzen.txt
+npc: npc/omobs/pvp.txt
+npc: npc/omobs/fields/amatsu.txt
+npc: npc/omobs/fields/ayothaya.txt
+npc: npc/omobs/fields/comodo.txt
+npc: npc/omobs/fields/einbroch.txt
+npc: npc/omobs/fields/geffen.txt
+npc: npc/omobs/fields/gonryun.txt
+npc: npc/omobs/fields/jawaii.txt
+npc: npc/omobs/fields/louyang.txt
+npc: npc/omobs/fields/lutie.txt
+npc: npc/omobs/fields/mjolnir.txt
+npc: npc/omobs/fields/morocc.txt
+npc: npc/omobs/fields/niflheim.txt
+//npc: npc/omobs/fields/odin.txt
+npc: npc/omobs/fields/payon.txt
+npc: npc/omobs/fields/prontera.txt
+npc: npc/omobs/fields/umbala.txt
+npc: npc/omobs/fields/yuno.txt
+npc: npc/omobs/fields/hugel.txt
+npc: npc/omobs/dungeons/amatdun.txt
+npc: npc/omobs/dungeons/anthell.txt
+npc: npc/omobs/dungeons/ayodun.txt
+npc: npc/omobs/dungeons/abyss.txt
+npc: npc/omobs/dungeons/beachdun.txt
+npc: npc/omobs/dungeons/byalan.txt
+npc: npc/omobs/dungeons/clocktower.txt
+npc: npc/omobs/dungeons/coalmine.txt
+npc: npc/omobs/dungeons/eindun.txt
+npc: npc/omobs/dungeons/geftower.txt
+npc: npc/omobs/dungeons/gefenia.txt
+npc: npc/omobs/dungeons/glastheim.txt
+npc: npc/omobs/dungeons/gondun.txt
+npc: npc/omobs/dungeons/guilddun.txt
+npc: npc/omobs/dungeons/jupedun.txt
+//npc: npc/omobs/dungeons/kiel.txt
+npc: npc/omobs/dungeons/lhzdun.txt
+npc: npc/omobs/dungeons/louydun.txt
+npc: npc/omobs/dungeons/magmadun.txt
+npc: npc/omobs/dungeons/moc_pyramid.txt
+npc: npc/omobs/dungeons/moc_sphinx.txt
+npc: npc/omobs/dungeons/orcdun.txt
+npc: npc/omobs/dungeons/payoncave.txt
+npc: npc/omobs/dungeons/pront_maze.txt
+npc: npc/omobs/dungeons/pront_sewers.txt
+npc: npc/omobs/dungeons/sunkenship.txt
+npc: npc/omobs/dungeons/thanatos.txt
+npc: npc/omobs/dungeons/toyfactory.txt
+npc: npc/omobs/dungeons/turtleisland.txt
+npc: npc/omobs/dungeons/umbaladun.txt
+npc: npc/omobs/dungeons/yggdrasil.txt
+// --------------------------------------------------------------
diff --git a/npc/scripts_warps.conf b/npc/scripts_warps.conf
new file mode 100644
index 000000000..21731888c
--- /dev/null
+++ b/npc/scripts_warps.conf
@@ -0,0 +1,89 @@
+// --------------------------------------------------------------
+// - Warning!! Acktung!! Awas!! gevaar!! peligro!! Âíèìàíèå! -
+// --------------------------------------------------------------
+// - All scripts here should be used at your own risk. If you -
+// - have edited it yourself, we are not responsible for any -
+// - Damages or whatsoever. Do not report any bugs unless you -
+// - are sure they exsist. Please provide evidence and proof. -
+// - eAthena developmers are not responsible for any damages or -
+// - disruptions of service during the service of the server -
+// - caused by the included scripts or for any damages -
+// - resulting in the use of the scripts. -
+// - Thanks, -
+// - eAthena Dev Team -
+// --------------------------------------------------------------
+// --------------------------------------------------------------
+// - Warp Scripts -
+// --------------------------------------------------------------
+// --------------------------- Cities ---------------------------
+npc: npc/warps/cities/alberta.txt
+npc: npc/warps/cities/aldebaran.txt
+npc: npc/warps/cities/amatsu.txt
+npc: npc/warps/cities/ayothaya.txt
+npc: npc/warps/cities/comodo.txt
+npc: npc/warps/cities/einbech.txt
+npc: npc/warps/cities/einbroch.txt
+npc: npc/warps/cities/geffen.txt
+npc: npc/warps/cities/gonryun.txt
+npc: npc/warps/cities/hugel.txt
+npc: npc/warps/cities/izlude.txt
+npc: npc/warps/cities/lighthalzen.txt
+npc: npc/warps/cities/louyang.txt
+npc: npc/warps/cities/lutie.txt
+npc: npc/warps/cities/morroc.txt
+npc: npc/warps/cities/niflheim.txt
+npc: npc/warps/cities/payon.txt
+npc: npc/warps/cities/prontera.txt
+npc: npc/warps/cities/umbala.txt
+npc: npc/warps/cities/yggdrasil.txt
+npc: npc/warps/cities/yuno.txt
+// -------------------------- Dungeons --------------------------
+npc: npc/warps/dungeons/abyss.txt
+npc: npc/warps/dungeons/alberta_duns.txt
+npc: npc/warps/dungeons/alde_ct.txt
+npc: npc/warps/dungeons/amatsu_dun.txt
+npc: npc/warps/dungeons/ant_hell.txt
+npc: npc/warps/dungeons/ayo_dun.txt
+npc: npc/warps/dungeons/coal_mine.txt
+npc: npc/warps/dungeons/com_dun.txt
+npc: npc/warps/dungeons/ein_dun.txt
+npc: npc/warps/dungeons/geffen_dun.txt
+npc: npc/warps/dungeons/gon_dun.txt
+npc: npc/warps/dungeons/izlude_dun.txt
+npc: npc/warps/dungeons/juperos.txt
+npc: npc/warps/dungeons/lhalzen_dun.txt
+npc: npc/warps/dungeons/louyang_dun.txt
+npc: npc/warps/dungeons/lutie_dun.txt
+npc: npc/warps/dungeons/morroc_duns.txt
+npc: npc/warps/dungeons/odin.txt
+npc: npc/warps/dungeons/orc_dun.txt
+npc: npc/warps/dungeons/payon_dun.txt
+npc: npc/warps/dungeons/prt_dun.txt
+npc: npc/warps/dungeons/thanatos.txt
+npc: npc/warps/dungeons/umbala_dun.txt
+npc: npc/warps/dungeons/yuno_dun.txt
+// --------------------------- Fields ---------------------------
+npc: npc/warps/fields/amatsu_fild.txt
+npc: npc/warps/fields/com_fild.txt
+npc: npc/warps/fields/ein_fild.txt
+npc: npc/warps/fields/gefenia.txt
+npc: npc/warps/fields/geffen_fild.txt
+npc: npc/warps/fields/glastheim.txt
+npc: npc/warps/fields/hugel_fild.txt
+npc: npc/warps/fields/jawaii.txt
+npc: npc/warps/fields/lhalzen_fild.txt
+npc: npc/warps/fields/lutie_fild.txt
+npc: npc/warps/fields/morroc_fild.txt
+npc: npc/warps/fields/mtmjolnir.txt
+npc: npc/warps/fields/payon_fild.txt
+npc: npc/warps/fields/prontera_fild.txt
+npc: npc/warps/fields/umbala_fild.txt
+npc: npc/warps/fields/yuno_fild.txt
+npc: npc/warps/fields/abyss_warper.txt
+// --------------------------- Others ---------------------------
+npc: npc/warps/guild/guildcastles.txt
+npc: npc/warps/other/jobquests.txt
+npc: npc/warps/other/airplane.txt
+npc: npc/warps/other/other.txt
+npc: npc/warps/pvp/pvp.txt
+// -------------------------------------------------------------- \ No newline at end of file
diff --git a/npc/warps/cities/alberta.txt b/npc/warps/cities/alberta.txt
new file mode 100644
index 000000000..1ab9241fd
--- /dev/null
+++ b/npc/warps/cities/alberta.txt
@@ -0,0 +1,58 @@
+//===== Athena Script ========================================
+//= Alberta Warp Script
+//===== By: ==================================================
+//= Athena (1.0)
+//= Nana (1.1)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Warp Points for Alberta, Treasure Island & Turtle Island
+//===== Additional Comments: =================================
+//= No comment!
+//============================================================
+
+//Alberta City
+alberta.gat,15,234,0 warp alb001 2,5,pay_fild03.gat,388,63
+alberta.gat,117,38,0 warp alb01 2,2,alberta_in.gat,180,30
+alberta.gat,134,38,0 warp alb02 1,1,alberta_in.gat,70,141
+alberta.gat,170,170,0 warp alb03 1,1,alb_ship.gat,26,168
+alberta.gat,178,165,0 warp alb04 1,2,alb_ship.gat,39,163
+alberta.gat,209,173,0 warp alb05 1,2,alb_ship.gat,162,171
+alberta.gat,33,42,0 warp alb06 2,2,alberta_in.gat,74,44
+alberta.gat,65,233,0 warp alb07 2,2,alberta_in.gat,18,141
+alberta.gat,93,205,0 warp alb08 2,2,alberta_in.gat,114,134
+alberta.gat,98,153,0 warp alb09 2,2,alberta_in.gat,185,89
+alberta.gat,99,221,0 warp alb10 2,2,alberta_in.gat,122,161
+alb_ship.gat,26,166,0 warp alb03-1 4,1,alberta.gat,170,168
+alb_ship.gat,41,163,0 warp alb04-1 1,3,alberta.gat,180,165
+alb_ship.gat,160,171,0 warp alb05-1 1,3,alberta.gat,207,173
+alb_ship.gat,37,174,0 warp alb20 1,2,alb_ship.gat,70,99
+alb_ship.gat,68,99,0 warp alb20-1 1,3,alb_ship.gat,35,173
+alberta_in.gat,189,89,0 warp alb09-1 2,2,alberta.gat,102,153
+alberta_in.gat,114,130,0 warp alb08-1 2,2,alberta.gat,93,201
+alberta_in.gat,14,141,0 warp alb07-1 2,3,alberta.gat,61,233
+alberta_in.gat,180,34,0 warp alb01-1 2,2,alberta.gat,117,42
+alberta_in.gat,73,141,0 warp alb02-1 2,3,alberta.gat,137,37
+alberta_in.gat,78,44,0 warp alb06-1 2,5,alberta.gat,37,41
+alberta_in.gat,125,161,0 warp alb10-1 2,2,alberta.gat,102,222
+alberta_in.gat,114,183,0 warp alb11 1,1,alberta_in.gat,148,186
+alberta_in.gat,152,186,0 warp alb11-1 1,1,alberta_in.gat,118,183
+alberta_in.gat,114,49,0 warp alb12 2,2,alberta_in.gat,155,153
+alberta_in.gat,159,153,0 warp alb12-1 2,2,alberta_in.gat,117,49
+alberta_in.gat,114,97,0 warp alb13 2,2,alberta_in.gat,155,175
+alberta_in.gat,159,175,0 warp alb13-1 2,2,alberta_in.gat,117,97
+alberta_in.gat,22,113,0 warp alb14 3,2,alberta_in.gat,22,134
+alberta_in.gat,22,130,0 warp alb14-1 3,2,alberta_in.gat,22,109
+alberta_in.gat,22,153,0 warp alb15 3,2,alberta_in.gat,22,174
+alberta_in.gat,22,170,0 warp alb15-1 3,2,alberta_in.gat,22,149
+alberta_in.gat,24,33,0 warp alb16 3,2,alberta_in.gat,64,35
+alberta_in.gat,64,31,0 warp alb16-1 3,2,alberta_in.gat,24,29
+alberta_in.gat,24,54,0 warp alb17 3,2,alberta_in.gat,64,53
+alberta_in.gat,64,57,0 warp alb17-1 3,2,alberta_in.gat,24,58
+alberta_in.gat,66,113,0 warp alb18 3,1,alberta_in.gat,66,132
+alberta_in.gat,66,130,0 warp alb18-1 3,1,alberta_in.gat,66,111
+alberta_in.gat,66,153,0 warp alb19 3,2,alberta_in.gat,66,173
+alberta_in.gat,66,170,0 warp alb19-1 3,2,alberta_in.gat,66,149
+alb2trea.gat,88,111,0 warp alb002 1,1,treasure01.gat,69,24
diff --git a/npc/warps/cities/aldebaran.txt b/npc/warps/cities/aldebaran.txt
new file mode 100644
index 000000000..33822cf1a
--- /dev/null
+++ b/npc/warps/cities/aldebaran.txt
@@ -0,0 +1,53 @@
+//===== Athena Script ========================================
+//= Al de Baran Warp Script
+//===== By: ==================================================
+//= Athena (1.0)
+//= Nana (1.1)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 2+
+//===== Description: =========================================
+//= Warp Points for Al de Baran
+//===== Additional Comments: =================================
+//= 1.2 Added Turbo Room Warps [Justin84]
+//============================================================
+
+//===== Al De Baran Warps =====================================
+aldebaran.gat,118,63,0 warp ald01 1,1,aldeba_in.gat,211,117
+aldebaran.gat,139,34,0 warp ald001 3,2,mjolnir_12.gat,199,375
+aldebaran.gat,197,70,0 warp ald02 1,1,aldeba_in.gat,94,41
+aldebaran.gat,225,54,0 warp ald03 1,1,aldeba_in.gat,149,120
+aldebaran.gat,233,105,0 warp ald04 1,1,aldeba_in.gat,157,190
+aldebaran.gat,51,218,0 warp ald05 1,1,aldeba_in.gat,24,227
+aldebaran.gat,61,229,0 warp ald06 1,1,aldeba_in.gat,148,227
+aldebaran.gat,72,197,0 warp ald07 1,1,aldeba_in.gat,27,37
+aldebaran.gat,89,234,0 warp ald08 1,1,aldeba_in.gat,242,237
+aldeba_in.gat,103,157,0 warp ald09 2,2,aldeba_in.gat,137,237
+aldeba_in.gat,103,61,0 warp ald10 2,2,aldeba_in.gat,97,105
+aldeba_in.gat,134,237,0 warp ald09-1 2,2,aldeba_in.gat,100,157
+aldeba_in.gat,144,92,0 warp ald11 2,2,aldeba_in.gat,149,52
+aldeba_in.gat,148,224,0 warp ald06-1 2,2,aldebaran.gat,63,227
+aldeba_in.gat,149,123,0 warp ald03-1 3,2,aldebaran.gat,223,56
+aldeba_in.gat,149,55,0 warp ald11-1 2,2,aldeba_in.gat,144,95
+aldeba_in.gat,157,193,0 warp ald04-1 3,2,aldebaran.gat,231,107
+aldeba_in.gat,208,117,0 warp ald01-1 2,2,aldebaran.gat,116,63
+aldeba_in.gat,217,131,0 warp ald12 2,2,aldeba_in.gat,217,163
+aldeba_in.gat,217,160,0 warp ald12-1 2,2,aldeba_in.gat,217,128
+aldeba_in.gat,217,71,0 warp ald13-1 2,2,aldeba_in.gat,218,107
+aldeba_in.gat,218,104,0 warp ald13 2,2,aldeba_in.gat,218,68
+aldeba_in.gat,24,224,0 warp ald05-1 2,2,aldebaran.gat,53,216
+aldeba_in.gat,245,237,0 warp ald08-1 2,2,aldebaran.gat,91,234
+aldeba_in.gat,27,102,0 warp ald14-1 2,2,aldeba_in.gat,27,68
+aldeba_in.gat,27,34,0 warp ald07-1 2,2,aldebaran.gat,72,195
+aldeba_in.gat,27,71,0 warp ald14 2,2,aldeba_in.gat,27,105
+aldeba_in.gat,37,238,0 warp ald15 2,2,aldeba_in.gat,67,157
+aldeba_in.gat,64,157,0 warp ald15-1 2,2,aldeba_in.gat,34,238
+aldeba_in.gat,83,191,0 warp ald16 2,2,aldeba_in.gat,83,227
+aldeba_in.gat,83,224,0 warp ald16-1 2,2,aldeba_in.gat,83,188
+aldeba_in.gat,94,38,0 warp ald02-1 3,2,aldebaran.gat,197,68
+aldeba_in.gat,97,102,0 warp ald10-1 2,2,aldeba_in.gat,103,58
+
+//Turbo Track Room
+alde_gld.gat,183,204,0 warp turbo01 1,1,turbo_room.gat,100,65
+turbo_room.gat,100,65,0 warp turbo02 1,1,alde_gld.gat,183,198 \ No newline at end of file
diff --git a/npc/warps/cities/amatsu.txt b/npc/warps/cities/amatsu.txt
new file mode 100644
index 000000000..a8761fbfc
--- /dev/null
+++ b/npc/warps/cities/amatsu.txt
@@ -0,0 +1,53 @@
+//===== Athena Script ========================================
+//= Amatsu Warp Script
+//===== By: ==================================================
+//= Athena (1.0)
+//= Nana (1.1)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 6+
+//===== Description: =========================================
+//= Warp Points for Amatsu
+//===== Additional Comments: =================================
+//= No Comments!
+//============================================================
+
+//= Amatsu ===================================================
+ama_in01.gat,157,25,0 warp warp1969 1,1,amatsu.gat,213,116
+ama_in01.gat,161,34,0 warp warp1970 1,1,ama_in01.gat,166,77
+ama_in01.gat,166,73,0 warp warp1971 1,1,ama_in01.gat,162,32
+ama_in01.gat,174,120,0 warp warp2011 1,1,amatsu.gat,217,146
+ama_in01.gat,174,170,0 warp warp2012 1,1,ama_fild01.gat,174,328
+ama_in01.gat,31,176,0 warp warp2010 1,1,amatsu.gat,42,110
+ama_in01.gat,32,24,0 warp warp1963 1,1,amatsu.gat,98,117
+ama_in01.gat,34,97,0 warp warp1965 1,1,amatsu.gat,168,178
+ama_in01.gat,77,177,0 warp warp1967 1,1,amatsu.gat,246,160
+ama_in01.gat,86,23,0 warp warp2009 1,1,amatsu.gat,130,148
+ama_in01.gat,88,94,0 warp warp2008 1,1,amatsu.gat,52,145
+ama_in02.gat,127,163,0 warp warp1980 1,1,ama_in02.gat,220,161
+ama_in02.gat,195,44,0 warp warp1973 1,1,ama_in02.gat,65,40
+ama_in02.gat,215,150,0 warp warp1978 1,1,ama_in02.gat,59,156
+ama_in02.gat,222,161,0 warp warp1979 1,1,ama_in02.gat,130,163
+ama_in02.gat,227,45,0 warp warp1973 1,1,amatsu.gat,88,235
+ama_in02.gat,56,44,0 warp warp1975 1,1,ama_in02.gat,59,144
+ama_in02.gat,59,142,0 warp warp1976 1,1,ama_in02.gat,56,41
+ama_in02.gat,59,159,0 warp warp1977 1,1,ama_in02.gat,215,152
+ama_in02.gat,65,38,0 warp warp1974 1,1,ama_in02.gat,195,41
+ama_test.gat,50,16,0 warp warp8003 1,1,ama_fild01.gat,174,330
+ama_test.gat,50,44,0 warp warp8004 1,1,ama_test.gat,50,82
+ama_test.gat,50,79,0 warp warp8005 1,1,ama_test.gat,50,41
+//disabled due to amatsu dungeon quest
+//ama_test.gat,50,90,0 warp warp8006 1,1,ama_dun01.gat,228,9
+amatsu.gat,133,148,0 warp warp1989 1,1,ama_in01.gat,88,22
+amatsu.gat,168,180,0 warp warp1964 1,1,ama_in01.gat,34,99
+amatsu.gat,216,116,0 warp warp1968 1,1,ama_in01.gat,162,25
+amatsu.gat,217,149,0 warp warp1987 1,1,ama_in01.gat,174,122
+amatsu.gat,247,290,0 warp warp1960 1,1,ama_fild01.gat,73,32
+amatsu.gat,249,160,0 warp warp1966 1,1,ama_in01.gat,79,178
+amatsu.gat,40,110,0 warp warp1995 1,1,ama_in01.gat,28,176
+amatsu.gat,52,148,0 warp warp1994 1,1,ama_in01.gat,88,97
+amatsu.gat,85,235,0 warp warp1972 1,1,ama_in02.gat,224,45
+//removed
+//amatsu.gat,95,148,0 warp warp1990 1,1,ama_in01.gat,88,97
+amatsu.gat,96,118,0 warp warp1962 1,1,ama_in01.gat,31,23 \ No newline at end of file
diff --git a/npc/warps/cities/ayothaya.txt b/npc/warps/cities/ayothaya.txt
new file mode 100644
index 000000000..21c91683b
--- /dev/null
+++ b/npc/warps/cities/ayothaya.txt
@@ -0,0 +1,93 @@
+//===== Athena Script ========================================
+//= Ayothaya Town Warps Script
+//===== By: ==================================================
+//= Muad_Dib, L0ne_W0lf (1.0)
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 8+
+//===== Description: =========================================
+//= Warp Points for Ayothaya
+//===== Additional Comments: =================================
+//= 1.1 Fixed Armory part by massdriller [Thanks to akusarujin]
+//= 1.2 Revised warps, due to official Ayothaya Town NPC [MasterOfMuppets]
+//= 1.3 Fixed swapped Inn Exits, thanks to Sir_Loon [Lupus]
+//============================================================
+
+
+//Entrance / Exit
+ayothaya.gat,277,176,0 warp ayothayawarp001 2,2,ayo_fild01.gat,36,239
+ayo_fild01.gat,32,241,0 warp ayothayawarp002 2,2,ayothaya.gat,274,176
+
+//Castle
+ayothaya.gat,207,285,0 warp ayothayawarp007 2,2,ayo_in02.gat,99,149
+ayo_in02.gat,99,146,0 warp ayothayawarp008 2,2,ayothaya.gat,207,282
+
+//House
+ayothaya.gat,128,86,0 warp ayothayawarp009 2,2,ayo_in01.gat,27,172
+ayo_in01.gat,29,170,0 warp ayothayawarp010 2,2,ayothaya.gat,132,86
+ayothaya.gat,129,96,0 warp ayothayawarp011 2,2,ayo_in01.gat,44,183
+ayo_in01.gat,47,183,0 warp ayothayawarp012 2,2,ayothaya.gat,131,98
+ayothaya.gat,130,75,0 warp ayothayawarp013 2,2,ayo_in01.gat,17,155
+ayo_in01.gat,17,152,0 warp ayothayawarp014 2,2,ayothaya.gat,132,73
+
+//Restaurant/Bar -- Facing North
+ayothaya.gat,229,70,0 warp ayothayawarp015 2,2,ayo_in01.gat,137,192
+ayo_in01.gat,137,194,0 warp ayothayawarp016 2,2,ayothaya.gat,232,75
+
+//Armory -- East door
+ayothaya.gat,176,90,0 warp ayothayawarp017 2,2,ayo_in01.gat,92,174
+ayo_in01.gat,97,174,0 warp ayothayawarp018 2,2,ayothaya.gat,180,90
+
+//Armory -- South door
+ayothaya.gat,172,77,0 warp ayothayawarp019 2,2,ayo_in01.gat,88,154
+ayo_in01.gat,84,149,0 warp ayothayawarp020 2,2,ayothaya.gat,172,74
+
+//Armory -- West door
+ayothaya.gat,166,90,0 warp ayothayawarp021 2,2,ayo_in01.gat,75,174
+ayo_in01.gat,73,174,0 warp ayothayawarp022 2,2,ayothaya.gat,163,90
+
+//Straw-roof hut -- Middle - Facing West
+//ayothaya.gat,120,164,0 warp ayothayawarp023 2,2,ayo_in01.gat,,
+//ayo_in01.gat,,,0 warp ayothayawarp024 2,2,ayothaya.gat,116,164
+
+//Straw-roof hut -- On Beach -- Facing South East
+//ayothaya.gat,60,148,0 warp ayothayawarp025 2,2,ayo_in01.gat,,
+//ayo_in01.gat,,,0 warp ayothayawarp026 2,2,ayothaya.gat,61,146
+
+//Straw-roof hut -- East Side (Middle) -- Facing East
+ayothaya.gat,61,104,0 warp ayothayawarp029 2,2,ayo_in01.gat,191,183
+ayo_in01.gat,194,183,0 warp ayothayawarp030 2,2,ayothaya.gat,66,104
+
+//Straw-roof hut -- East Side (Lower) -- Facing North
+//ayothaya.gat,77,88,0 warp ayothayawarp031 2,2,ayo_in01.gat,,
+//ayo_in01.gat,,,0 warp ayothayawarp032 2,2,ayothaya.gat,77,92
+
+//Larger Straw-roof hut -- East Side (Middle) -- Facing South
+ayothaya.gat,111,109,0 warp ayothayawarp033 2,2,ayo_in01.gat,180,128
+ayo_in01.gat,177,128,0 warp ayothayawarp034 2,2,ayothaya.gat,111,105
+
+//Inn -- North Door
+ayothaya.gat,202,158,0 warp ayothayawarp035 2,2,ayo_in01.gat,30,107
+ayo_in01.gat,30,110,0 warp ayothayawarp036 2,2,ayothaya.gat,202,161
+//Inn -- West Door
+ayothaya.gat,193,149,0 warp ayothayawarp037 2,2,ayo_in01.gat,14,94
+ayo_in01.gat,11,94,0 warp ayothayawarp038 2,2,ayothaya.gat,189,149
+//Inn -- South Door
+ayothaya.gat,202,141,0 warp ayothayawarp039 2,2,ayo_in01.gat,30,82
+ayo_in01.gat,30,79,0 warp ayothayawarp040 2,2,ayothaya.gat,202,138
+//Inn -- East Door
+ayothaya.gat,211,149,0 warp ayothayawarp041 2,2,ayo_in01.gat,48,94
+ayo_in01.gat,50,94,0 warp ayothayawarp042 2,2,ayothaya.gat,214,149
+//Inn Room --Upper Right
+ayo_in01.gat,48,83,0 warp ayothayawarp043 2,2,ayo_in01.gat,61,15
+ayo_in01.gat,59,15,0 warp ayothayawarp044 2,2,ayo_in01.gat,45,83
+//Inn Room -- Upper Left
+ayo_in01.gat,48,107,0 warp ayothayawarp045 2,2,ayo_in01.gat,177,27
+ayo_in01.gat,175,27,0 warp ayothayawarp046 2,2,ayo_in01.gat,45,107
+//Inn Room --Bottom Right
+ayo_in01.gat,13,83,0 warp ayothayawarp047 2,2,ayo_in01.gat,19,15
+ayo_in01.gat,22,15,0 warp ayothayawarp048 2,2,ayo_in01.gat,16,83
+//Inn Room -- Bottom Left
+ayo_in01.gat,13,107,0 warp ayothayawarp049 2,2,ayo_in01.gat,133,27
+ayo_in01.gat,136,27,0 warp ayothayawarp050 2,2,ayo_in01.gat,16,107
diff --git a/npc/warps/cities/comodo.txt b/npc/warps/cities/comodo.txt
new file mode 100644
index 000000000..3f9723655
--- /dev/null
+++ b/npc/warps/cities/comodo.txt
@@ -0,0 +1,50 @@
+//===== Athena Script ========================================
+//= Comodo Warp Script
+//===== By: ==================================================
+//= eAthena dev team
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Warp Points Comodo city
+//= Rogue guild
+//===== Additional Comments: =================================
+//= No comment!
+//============================================================
+
+
+//Comodo City =====================================================
+comodo.gat,115,291,0 warp cmd09 1,1,cmd_in02.gat,67,132
+comodo.gat,126,98,0 warp cmd02 1,1,cmd_in02.gat,144,97
+comodo.gat,130,195,0 warp cmd05 1,1,cmd_in02.gat,143,173
+comodo.gat,140,111,0 warp cmd04 1,1,cmd_in02.gat,178,132
+comodo.gat,140,90,0 warp cmd01 1,1,cmd_in02.gat,74,25
+comodo.gat,145,328,0 warp cmd11 1,1,cmd_in01.gat,120,71
+comodo.gat,153,97,0 warp cmd03 1,1,cmd_in02.gat,212,97
+comodo.gat,176,358,0 warp cmd002 1,1,beach_dun2.gat,154,25
+comodo.gat,192,294,0 warp cmd17 1,1,cmd_in01.gat,177,123
+comodo.gat,236,298,0 warp cmd08 1,1,cmd_in01.gat,179,81
+comodo.gat,25,214,0 warp cmd001 1,1,beach_dun.gat,266,67
+comodo.gat,265,74,0 warp cmd06 1,1,cmd_in01.gat,123,180
+comodo.gat,271,271,0 warp cmd10 1,1,cmd_in01.gat,113,125
+comodo.gat,332,175,0 warp cmd003 1,1,beach_dun3.gat,23,260
+comodo.gat,92,128,0 warp cmd07 1,1,cmd_in01.gat,85,174
+cmd_in01.gat,109,125,0 warp cmd10-1 1,1,comodo.gat,269,273
+cmd_in01.gat,120,67,0 warp cmd11-1 1,1,comodo.gat,145,324
+cmd_in01.gat,123,186,0 warp cmd06-1 1,1,comodo.gat,265,79
+cmd_in01.gat,183,123,0 warp cmd17-1 1,1,comodo.gat,195,294
+cmd_in01.gat,183,81,0 warp cmd08-1 1,1,comodo.gat,239,296
+cmd_in01.gat,90,174,0 warp cmd07-1 1,1,comodo.gat,97,128
+cmd_in02.gat,139,169,0 warp cmd05-1 1,1,comodo.gat,127,191
+cmd_in02.gat,139,97,0 warp cmd02-1 1,1,comodo.gat,122,98
+cmd_in02.gat,168,113,0 warp cmd15-1 1,1,cmd_in02.gat,63,73
+cmd_in02.gat,178,136,0 warp cmd04-1 1,1,comodo.gat,140,115
+cmd_in02.gat,187,78,0 warp cmd14-2 1,1,cmd_in02.gat,84,37
+cmd_in02.gat,208,206,0 warp cmd16 1,1,cmd_in02.gat,97,211
+cmd_in02.gat,216,97,0 warp cmd03-1 1,1,comodo.gat,157,97
+cmd_in02.gat,58,74,0 warp cmd15 1,1,cmd_in02.gat,166,116
+cmd_in02.gat,69,129,0 warp cmd09-1 4,4,comodo.gat,115,288
+cmd_in02.gat,74,21,0 warp cmd01-1 1,1,comodo.gat,140,86
+cmd_in02.gat,90,37,0 warp cmd14 1,1,cmd_in02.gat,191,77
+cmd_in02.gat,98,216,0 warp cmd16-1 1,1,cmd_in02.gat,207,210
diff --git a/npc/warps/cities/einbech.txt b/npc/warps/cities/einbech.txt
new file mode 100644
index 000000000..04c3ec41c
--- /dev/null
+++ b/npc/warps/cities/einbech.txt
@@ -0,0 +1,47 @@
+//===== eAthena Script =======================================
+//= Einbech Warps
+//===== By: ==================================================
+//= Muad Dib (1.0), SSUNNY@YOUNG(1.1)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any eAthena Version
+//===== Description: =========================================
+//= Einbech Town warps
+//===== Additional Comments: =================================
+//= Made by Muad_Dib from Prometheus, all credit goes to him.
+//= 1.1 Updated Warps, work done by SSUNNY@YOUNG in Korean eA site [Vicious]
+//============================================================
+
+//==========================================================================
+//Einbech - Weapon shop
+//==========================================================================
+einbech.gat,177,136,0 warp eib_wp01 1,1,ein_in01.gat,190,35
+ein_in01.gat,190,38,0 warp eib_wp01a 1,1,einbech.gat,177,133
+
+
+//==========================================================================
+//Einbech - buildings
+//==========================================================================
+einbech.gat,207,135,0 warp eib_hu01 1,1,ein_in01.gat,190,99
+ein_in01.gat,187,99,0 warp eib_hu01a 1,1,einbech.gat,204,135
+einbech.gat,214,121,0 warp eib_hu02 1,1,ein_in01.gat,205,86
+ein_in01.gat,205,83,0 warp eib_hu02a 1,1,einbech.gat,214,118
+
+
+//==========================================================================
+//Einbech - Pub
+//==========================================================================
+einbech.gat,154,106,0 warp eib_b01 1,1,ein_in01.gat,285,89
+ein_in01.gat,288,89,0 warp eib_b01a 1,1,einbech.gat,157,106
+einbech.gat,145,112,0 warp eib_b02 1,1,ein_in01.gat,268,104
+ein_in01.gat,265,104,0 warp eib_b02a 1,1,einbech.gat,141,112
+
+
+//=========================================================================
+//Einbech - Swordman guild
+//=========================================================================
+einbech.gat,256,109,0 warp eib_js01 1,1,ein_in01.gat,148,153
+ein_in01.gat,148,150,0 warp eib_js01a 1,1,einbech.gat,253,109
+
+
diff --git a/npc/warps/cities/einbroch.txt b/npc/warps/cities/einbroch.txt
new file mode 100644
index 000000000..b20839c52
--- /dev/null
+++ b/npc/warps/cities/einbroch.txt
@@ -0,0 +1,103 @@
+//===== Athena Script ========================================
+//= Einbroch Warp Script
+//===== By: ==================================================
+//= Sara-chan (1.3), SSUNNY@YOUNG(1.7)
+//===== Current Version: =====================================
+//= 1.7
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 8+
+//===== Description: =========================================
+//= Warp Points for Einbroch
+//===== Additional Comments: =================================
+//= 1.4 Moved all airports to Airplane Warps [Lupus]
+//= 1.5 Commented out some warps which are not in the official servers [MasterOfMuppets]
+//= 1.6 Removed some duplicate warps [MasterOfMuppets]
+//= 1.7 Updated Warps, work done by SSUNNY@YOUNG in Korean eA site [Vicious]
+//============================================================
+
+//==========================================================================
+// Einbroch - Factory
+//==========================================================================
+einbroch.gat,132,79,0 warp ein_fa01 1,1,ein_in01.gat,17,213
+ein_in01.gat,13,213,0 warp ein_fa01a 1,1,einbroch.gat,129,79
+ein_in01.gat,81,198,0 warp ein_fa02 1,1,einbroch.gat,179,70
+einbroch.gat,179,73,0 warp ein_fa02a 1,1,ein_in01.gat,81,203
+
+
+//==========================================================================
+//Einbroch - Near Train station
+//==========================================================================
+einbroch.gat,214,263,0 warp ein_to01 1,1,einbroch.gat,233,315
+einbroch.gat,233,312,0 warp ein_to01a 1,1,einbroch.gat,214,260
+einbroch.gat,250,263,0 warp ein_to02 1,1,einbroch.gat,269,315
+einbroch.gat,269,312,0 warp ein_to02a 1,1,einbroch.gat,250,260
+
+
+//==========================================================================
+//Einbroch - Weapon shop
+//==========================================================================
+einbroch.gat,216,214,0 warp ein_wp01 1,1,ein_in01.gat,108,17
+ein_in01.gat,108,13,0 warp ein_wp01a 1,1,einbroch.gat,216,211
+
+
+//=========================================================================
+//Einbroch - Hotel
+//=========================================================================
+einbroch.gat,257,199,0 warp ein_h01 1,1,ein_in01.gat,198,224
+ein_in01.gat,195,224,0 warp ein_h01a 1,1,einbroch.gat,254,199
+ein_in01.gat,211,216,0 warp ein_h02 1,1,ein_in01.gat,274,218
+ein_in01.gat,271,218,0 warp ein_h02a 1,1,ein_in01.gat,208,216
+ein_in01.gat,211,232,0 warp ein_h03 1,1,ein_in01.gat,274,232
+ein_in01.gat,271,232,0 warp ein_h03a 1,1,ein_in01.gat,208,232
+ein_in01.gat,274,246,0 warp ein_h04 1,1,ein_in01.gat,273,276
+ein_in01.gat,273,273,0 warp ein_h04a 1,1,ein_in01.gat,274,243
+ein_in01.gat,264,246,0 warp ein_h05 1,1,ein_in01.gat,231,276
+ein_in01.gat,231,273,0 warp ein_h05a 1,1,ein_in01.gat,264,243
+ein_in01.gat,274,203,0 warp ein_h06 1,1,ein_in01.gat,274,173
+ein_in01.gat,274,176,0 warp ein_h06a 1,1,ein_in01.gat,274,206
+ein_in01.gat,264,203,0 warp ein_h07 1,1,ein_in01.gat,232,173
+ein_in01.gat,232,176,0 warp ein_h07a 1,1,ein_in01.gat,264,206
+ein_in01.gat,284,224,0 warp ein_h08 1,1,ein_in01.gat,177,277
+ein_in01.gat,180,277,0 warp ein_h08a 1,1,ein_in01.gat,280,224
+
+
+//==========================================================================
+//Einbroch - Building behind the hotel
+//==========================================================================
+einbroch.gat,278,233,0 warp ein_ho01 1,1,ein_in01.gat,107,95
+ein_in01.gat,103,95,0 warp ein_ho01a 1,1,einbroch.gat,275,233
+ein_in01.gat,126,88,0 warp ein_ho02 1,1,ein_in01.gat,100,139
+ein_in01.gat,100,142,0 warp ein_ho02a 1,1,ein_in01.gat,123,85
+einbroch.gat,290,222,0 warp ein_ho03 1,1,ein_in01.gat,121,80
+ein_in01.gat,121,77,0 warp ein_ho03a 1,1,einbroch.gat,290,219
+
+
+//==========================================================================
+//Einbroch - House of Kapetain
+//==========================================================================
+einbroch.gat,129,229,0 warp ein_kf01 1,1,ein_in01.gat,14,147
+ein_in01.gat,11,147,0 warp ein_kf01a 1,1,einbroch.gat,126,229
+
+
+//=========================================================================
+//Einbroch - Lab
+//=========================================================================
+ein_in01.gat,286,25,0 warp ein_lab 1,1,einbroch.gat,54,52
+
+
+//=========================================================================
+//Einbroch - Blacksmith guild
+//=========================================================================
+einbroch.gat,255,107,0 warp ein_jb01 1,1,ein_in01.gat,14,17
+ein_in01.gat,14,14,0 warp ein_jb01a 1,1,einbroch.gat,255,110
+ein_in01.gat,39,36,0 warp ein_jb02 1,1,ein_in01.gat,35,83
+ein_in01.gat,39,85,0 warp ein_jb02a 1,1,ein_in01.gat,36,36
+
+
+//==========================================================================
+//Einbroch - Field related
+//==========================================================================
+einbroch.gat,157,331,0 warp ein_fd01 1,1,ein_fild04.gat,184,31
+ein_fild04.gat,184,26,0 warp ein_fd01a 1,1,einbroch.gat,157,327
+einbroch.gat,150,25,0 warp ein_fd02 1,1,ein_fild08.gat,164,377
+ein_fild08.gat,164,380,0 warp ein_fd02a 1,1,einbroch.gat,150,28 \ No newline at end of file
diff --git a/npc/warps/cities/geffen.txt b/npc/warps/cities/geffen.txt
new file mode 100644
index 000000000..e0beb082c
--- /dev/null
+++ b/npc/warps/cities/geffen.txt
@@ -0,0 +1,50 @@
+//===== Athena Script ========================================
+//= Geffen Warp Script
+//===== By: ==================================================
+//= Athena (1.0)
+//= Nana (1.1)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Warp Points for Geffen
+//===== Additional Comments: =================================
+//= No Comment!
+//============================================================
+
+//Geffen City
+geffen.gat,119,213,0 warp gef001 3,2,gef_fild04.gat,187,42
+geffen.gat,120,114,0 warp gef002 3,1,gef_tower.gat,52,177
+geffen.gat,217,119,0 warp gef003 2,4,gef_fild00.gat,46,199
+geffen.gat,26,119,0 warp gef004 2,3,gef_fild07.gat,336,187
+geffen.gat,138,138,0 warp gef01 1,1,geffen_in.gat,28,110
+geffen.gat,172,174,0 warp gef02 2,2,geffen_in.gat,70,52
+geffen.gat,182,59,0 warp gef03 2,2,geffen_in.gat,106,177
+geffen.gat,43,85,0 warp gef04 2,2,geffen_in.gat,70,138
+geffen.gat,61,180,0 warp gef05 3,3,geffen_in.gat,162,97
+geffen.gat,98,141,0 warp gef06 2,2,geffen_in.gat,28,160
+geffen_in.gat,28,156,0 warp gef06-1 3,1,geffen.gat,101,138
+geffen_in.gat,100,67,0 warp gef07 2,3,geffen_in.gat,84,65
+geffen_in.gat,87,66,0 warp gef07-1 2,3,geffen_in.gat,103,67
+geffen_in.gat,104,109,0 warp gef08 2,2,geffen_in.gat,76,107
+geffen_in.gat,79,107,0 warp gef08-1 2,2,geffen_in.gat,107,109
+geffen_in.gat,113,163,0 warp gef09 2,2,geffen_in.gat,139,169
+geffen_in.gat,136,169,0 warp gef09-1 2,2,geffen_in.gat,110,163
+geffen_in.gat,114,37,0 warp gef10 1,1,geffen_in.gat,114,63
+geffen_in.gat,114,60,0 warp gef10-1 1,2,geffen_in.gat,114,34
+geffen_in.gat,138,149,0 warp gef11 2,2,geffen_in.gat,138,165
+geffen_in.gat,138,162,0 warp gef11-1 2,2,geffen_in.gat,138,146
+geffen_in.gat,26,60,0 warp gef12 1,2,geffen_in.gat,26,34
+geffen_in.gat,26,37,0 warp gef12-1 1,1,geffen_in.gat,26,63
+geffen_in.gat,52,65,0 warp gef13 2,3,geffen_in.gat,38,67
+geffen_in.gat,41,67,0 warp gef13-1 2,3,geffen_in.gat,55,65
+geffen_in.gat,70,149,0 warp gef14 3,2,geffen_in.gat,70,161
+geffen_in.gat,70,158,0 warp gef14-1 3,2,geffen_in.gat,70,146
+geffen_in.gat,70,83,0 warp gef15 3,2,geffen_in.gat,72,101
+geffen_in.gat,72,98,0 warp gef15-1 3,2,geffen_in.gat,70,80
+geffen_in.gat,163,94,0 warp gef05-1 4,2,geffen.gat,65,176
+geffen_in.gat,70,132,0 warp gef04-1 3,1,geffen.gat,46,88
+geffen_in.gat,106,181,0 warp gef03-1 2,2,geffen.gat,180,61
+geffen_in.gat,28,106,0 warp gef01-1 1,3,geffen.gat,136,136
+geffen_in.gat,70,48,0 warp gef02-1 3,2,geffen.gat,168,170 \ No newline at end of file
diff --git a/npc/warps/cities/gonryun.txt b/npc/warps/cities/gonryun.txt
new file mode 100644
index 000000000..d13c0ca40
--- /dev/null
+++ b/npc/warps/cities/gonryun.txt
@@ -0,0 +1,34 @@
+//===== Athena Script ========================================
+//= Gonryun Town Warp Script
+//===== By: ==================================================
+//= Nana (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 5+
+//===== Description: =========================================
+//= Warp Points for Gonryun
+//===== Additional Comments: =================================
+//= No comment!
+//============================================================
+
+//= Gonryun ==================================================
+gonryun.gat,161,8,0 warp gon02 1,1,gon_fild01.gat,191,261
+gonryun.gat,195,93,0 warp gon03 1,1,gon_in.gat,95,23
+gonryun.gat,109,131,0 warp gon15 1,1,gon_in.gat,44,24
+gonryun.gat,215,114,0 warp gon05 1,1,gon_in.gat,152,24
+gonryun.gat,107,184,0 warp gon13 1,1,gon_in.gat,72,70
+gonryun.gat,221,162,0 warp gon11 1,1,gon_in.gat,112,98
+gonryun.gat,159,201,0 warp gon19 1,1,gon_dun01.gat,153,48
+gon_in.gat,95,26,0 warp gon04 1,1,gonryun.gat,195,96
+gon_in.gat,149,24,0 warp gon06 1,1,gonryun.gat,212,114
+gon_in.gat,184,11,0 warp gon07 1,1,gon_in.gat,189,85
+gon_in.gat,186,85,0 warp gon08 1,1,gon_in.gat,181,11
+gon_in.gat,186,107,0 warp gon09 1,1,gon_in.gat,181,36
+gon_in.gat,184,36,0 warp gon10 1,1,gon_in.gat,189,107
+gon_in.gat,109,98,0 warp gon12 1,1,gonryun.gat,218,162
+gon_in.gat,72,67,0 warp gon14 1,1,gonryun.gat,107,181
+gon_in.gat,47,24,0 warp gon16 1,1,gonryun.gat,112,131
+gon_in.gat,42,35,0 warp gon17 1,1,gon_in.gat,34,97
+gon_in.gat,31,97,0 warp gon18 1,1,gon_in.gat,39,35
+gon_fild01.gat,192,266,0 warp gon01 1,1,gonryun.gat,161,11 \ No newline at end of file
diff --git a/npc/warps/cities/hugel.txt b/npc/warps/cities/hugel.txt
new file mode 100644
index 000000000..329fbffb6
--- /dev/null
+++ b/npc/warps/cities/hugel.txt
@@ -0,0 +1,99 @@
+//===== Athena Script ========================================
+//= Garden City Hugel Warp Script
+//===== By: ==================================================
+//= Sara-chan (1.1)
+//===== Current Version: =====================================
+//= 1.3a
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 10+
+//===== Description: =========================================
+//= Warp Points for Hugel
+//===== Additional Comments: =================================
+//= Initial Release
+//= 12/21/05 : Fixed 2 church warps and hunter house warps. [Muad_Dib]
+//= 1.2 fixed hugel10 [Lupus]
+//= 1.3 Rewrote all warps to relate houses, and fixed it to kRO. [Er_Maqui]
+//= 1.3a Replaced all spaces with TABs [Lupus]
+//============================================================
+
+//= Hugel City ================================================
+
+//Entrance
+hu_fild06.gat,199,373,0 warp hugel01 1,1,hugel.gat,95,34
+hugel.gat,95,32,0 warp hugel02 1,1,hu_fild06.gat,199,371
+
+//Church
+hugel.gat,155,114,0 warp hugel03 1,1,hu_in01.gat,211,177
+hu_in01.gat,211,173,0 warp hugel04 1,1,hugel.gat,159,113
+hu_in01.gat,162,228,0 warp hugel05 1,1,hu_in01.gat,200,220
+hu_in01.gat,194,219,0 warp hugel06 1,1,hu_in01.gat,159,228
+hu_in01.gat,162,168,0 warp hugel07 1,1,hu_in01.gat,199,193
+hu_in01.gat,195,192,0 warp hugel08 1,1,hu_in01.gat,158,168
+
+//House
+hugel.gat,153,153,0 warp hugel09 1,1,hu_in01.gat,287,231
+hu_in01.gat,287,227,0 warp hugel10 1,1,hugel.gat,153,149
+hu_in01.gat,263,252,0 warp hugel11 1,1,hu_in01.gat,362,253
+hu_in01.gat,365,253,0 warp hugel12 1,1,hu_in01.gat,268,252
+
+//House
+hugel.gat,92,167,0 warp hugel13 1,1,hu_in01.gat,246,363
+hu_in01.gat,246,359,0 warp hugel14 1,1,hugel.gat,92,165
+hu_in01.gat,244,315,0 warp hugel15 1,1,hu_in01.gat,245,389
+hu_in01.gat,248,388,0 warp hugel16 1,1,hu_in01.gat,250,315
+hu_in01.gat,229,313,0 warp hugel17 1,1,hu_in01.gat,164,315
+hu_in01.gat,168,315,0 warp hugel18 1,1,hu_in01.gat,233,313
+hu_in01.gat,168,307,0 warp hugel19 1,1,hu_in01.gat,167,376
+hu_in01.gat,168,379,0 warp hugel20 1,1,hu_in01.gat,168,312
+hugel.gat,85,181,0 warp hugel21 1,1,hu_in01.gat,231,303
+hu_in01.gat,231,301,0 warp hugel22 1,1,hugel.gat,83,181
+
+//House
+hugel.gat,70,157,0 warp hugel23 1,1,hu_in01.gat,110,373
+hu_in01.gat,110,369,0 warp hugel24 1,1,hugel.gat,73,153
+hu_in01.gat,108,390,0 warp hugel25 1,1,hu_in01.gat,107,322
+hu_in01.gat,114,322,0 warp hugel26 1,1,hu_in01.gat,111,390
+
+//House
+hugel.gat,91,104,0 warp hugel27 1,1,hu_in01.gat,30,304
+hu_in01.gat,30,299,0 warp hugel28 1,1,hugel.gat,94,103
+hu_in01.gat,33,318,0 warp hugel29 1,1,hu_in01.gat,34,251
+hu_in01.gat,34,246,0 warp hugel30 1,1,hu_in01.gat,33,314
+
+//House
+hugel.gat,104,79,0 warp hugel31 1,1,hu_in01.gat,235,107
+hu_in01.gat,231,107,0 warp hugel32 1,1,hugel.gat,99,77
+hu_in01.gat,268,123,0 warp hugel33 1,1,hu_in01.gat,265,36
+hu_in01.gat,265,42,0 warp hugel34 1,1,hu_in01.gat,265,123
+
+//House
+hugel.gat,52,90,0 warp hugel35 1,1,hu_in01.gat,33,90
+hu_in01.gat,37,90,0 warp hugel36 1,1,hugel.gat,54,96
+hu_in01.gat,15,70,0 warp hugel37 1,1,hu_in01.gat,15,28
+hu_in01.gat,15,29,0 warp hugel38 1,1,hu_in01.gat,16,74
+hu_in01.gat,15,108,0 warp hugel39 1,1,hu_in01.gat,15,155
+hu_in01.gat,15,151,0 warp hugel40 1,1,hu_in01.gat,16,104
+
+//Hunter Guild
+hugel.gat,206,228,0 warp hugel41 1,1,hu_in01.gat,381,368
+hu_in01.gat,381,363,0 warp hugel42 1,1,hugel.gat,207,225
+hu_in01.gat,380,319,0 warp hugel43 1,1,hu_in01.gat,384,388
+hu_in01.gat,388,388,0 warp hugel44 1,1,hu_in01.gat,385,319
+
+//Other
+hu_in01.gat,149,90,0 warp hugel45 1,1,hu_in01.gat,104,90
+hu_in01.gat,106,90,0 warp hugel46 1,1,hu_in01.gat,151,90
+hu_in01.gat,85,108,0 warp hugel47 1,1,hu_in01.gat,84,153
+hu_in01.gat,84,151,0 warp hugel48 1,1,hu_in01.gat,85,106
+hu_in01.gat,84,71,0 warp hugel49 1,1,hu_in01.gat,86,26
+hu_in01.gat,85,28,0 warp hugel50 1,1,hu_in01.gat,84,73
+hugel.gat,129,65,0 warp hugel51 1,1,hu_in01.gat,347,108
+hu_in01.gat,345,108,0 warp hugel52 1,1,hugel.gat,127,65
+hu_in01.gat,380,118,0 warp hugel53 1,1,hu_in01.gat,378,176
+hu_in01.gat,378,178,0 warp hugel54 1,1,hu_in01.gat,378,118
+hu_in01.gat,314,386,0 warp hugel55 1,1,hu_in01.gat,309,322
+hu_in01.gat,307,322,0 warp hugel56 1,1,hu_in01.gat,312,386
+hugel.gat,80,230,0 warp hugel57 1,1,hu_in01.gat,24,363
+hu_in01.gat,24,361,0 warp hugel58 1,1,hugel.gat,82,230
+hugel.gat,93,201,0 warp hugel60 1,1,hu_in01.gat,303,380
+hu_in01.gat,301,380,0 warp hugel59 1,1,hugel.gat,93,199 \ No newline at end of file
diff --git a/npc/warps/cities/izlude.txt b/npc/warps/cities/izlude.txt
new file mode 100644
index 000000000..a3f1f1062
--- /dev/null
+++ b/npc/warps/cities/izlude.txt
@@ -0,0 +1,36 @@
+//===== Athena Script ========================================
+//= Izlude Warp Script
+//===== By: ==================================================
+//= Athena (1.0), Nana (1.1)
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Warp Points for Izlude
+//===== Additional Comments: =================================
+//= 1.3 Added warps to Izlude Airship [Justin84]
+//= 1.4 Minor correction on airport warps
+//============================================================
+
+//= Izlude City ==============================================
+izlude.gat,109,151,0 warp iz01 3,3,izlude_in.gat,65,87
+//izlude.gat,128,225,0 warp iz431 1,1,prt_are_in.gat,100,28
+izlude.gat,128,225,0 warp iz431 1,1,prt_are_in.gat,97,10
+izlude.gat,148,148,0 warp iz02 2,2,izlude_in.gat,116,49
+izlude.gat,216,129,0 warp iz03 3,2,izlude_in.gat,151,127
+izlude.gat,30,78,0 warp iz001 3,3,prt_fild08.gat,367,212
+izlude.gat,52,140,0 warp iz04 2,2,izlude_in.gat,74,161
+izlude_in.gat,108,169,0 warp iz05 2,3,izlude_in.gat,84,169
+izlude_in.gat,116,46,0 warp iz02-1 3,2,izlude.gat,145,145
+izlude_in.gat,148,127,0 warp iz03-1 2,5,izlude.gat,212,129
+izlude_in.gat,171,97,0 warp iz06 3,2,izlude_in.gat,172,119
+izlude_in.gat,172,116,0 warp iz06-1 3,2,izlude_in.gat,172,94
+izlude_in.gat,172,139,0 warp iz07 3,2,izlude_in.gat,172,161
+izlude_in.gat,172,158,0 warp iz07-1 3,2,izlude_in.gat,172,136
+izlude_in.gat,43,169,0 warp w219 2,3,izlude_in.gat,63,169
+izlude_in.gat,65,84,0 warp iz01-1 5,2,izlude.gat,113,147
+izlude_in.gat,74,158,0 warp iz04-1 3,2,izlude.gat,52,136
+izlude_in.gat,87,169,0 warp iz05-1 2,3,izlude_in.gat,111,169
+izlude.gat,149,39,0 warp izair1 1,1,izlude.gat,180,56
+izlude.gat,176,56,0 warp lizair2 1,1,izlude.gat,145,39 \ No newline at end of file
diff --git a/npc/warps/cities/lighthalzen.txt b/npc/warps/cities/lighthalzen.txt
new file mode 100644
index 000000000..d0e288ea3
--- /dev/null
+++ b/npc/warps/cities/lighthalzen.txt
@@ -0,0 +1,115 @@
+//===== Athena Script ========================================
+//= Lighthalzen Warp Script
+//===== By: ==================================================
+//= Sara-chan (1.0)
+//===== Current Version: =====================================
+//= 1.3, 1.4
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 8+
+//===== Description: =========================================
+//= Warp Points for Lighthalzen
+//===== Additional Comments: =================================
+//= 1.3 Removed fields and dungeons warps from here [DracoRPG]
+//= 1.3a A small fix for a warp [MasterOfMuppets]
+//= 1.4 Lighthalzen warp, taken from korean eA site [Vicious]
+//= 1.4a Corrected warp for 'lhz013a' [Zephiris]
+//============================================================
+
+lighthalzen.gat,196,46,0 warp lhz010 1,1,lhz_in02.gat,282,83
+lhz_in02.gat,282,79,0 warp lhz010a 1,1,lighthalzen.gat,193,47
+
+lighthalzen.gat,197,36,0 warp lhz011 1,1,lhz_in02.gat,284,30
+lhz_in02.gat,288,30,0 warp lhz011a 1,1,lighthalzen.gat,194,35
+
+lhz_in02.gat,265,14,0 warp lhz012 1,1,lhz_in02.gat,269,82
+lhz_in02.gat,274,82,0 warp lhz012a 1,1,lhz_in02.gat,269,14
+
+lhz_in02.gat,108,26,0 warp lhz013 1,1,lighthalzen.gat,98,110
+lighthalzen.gat,92,110,0 warp lhz013a 1,1,lhz_in02.gat,104,26
+
+lighthalzen.gat,50,87,0 warp lhz014 1,1,lhz_in03.gat,45,31
+lhz_in03.gat,50,31,0 warp lhz014a 1,1,lighthalzen.gat,54,87
+
+lhz_in03.gat,20,99,0 warp lhz015 1,1,lhz_in03.gat,17,31
+lhz_in03.gat,13,31,0 warp lhz015a 1,1,lhz_in03.gat,15,99
+
+lighthalzen.gat,159,133,0 warp lhz016 1,1,lhz_in02.gat,232,265
+lhz_in02.gat,232,261,0 warp lhz016a 1,1,lighthalzen.gat,159,129
+
+lhz_in02.gat,210,284,0 warp lhz017 1,1,lhz_in02.gat,241,219
+lhz_in02.gat,236,219,0 warp lhz017a 1,1,lhz_in02.gat,206,284
+
+lhz_in02.gat,269,212,0 warp lhz018 1,1,lhz_in02.gat,250,212
+lhz_in02.gat,254,212,0 warp lhz018a 1,1,lhz_in02.gat,273,212
+
+lhz_in02.gat,231,200,0 warp lhz019 1,1,lhz_in02.gat,212,200
+lhz_in02.gat,216,200,0 warp lhz019a 1,1,lhz_in02.gat,233,200
+
+lhz_in02.gat,231,182,0 warp lhz020 1,1,lhz_in02.gat,212,182
+lhz_in02.gat,216,182,0 warp lhz020a 1,1,lhz_in02.gat,235,182
+
+lhz_in02.gat,238,169,0 warp lhz021 1,1,lhz_in02.gat,238,150
+lhz_in02.gat,238,154,0 warp lhz021a 1,1,lhz_in02.gat,238,173
+
+lhz_in02.gat,261,278,0 warp lhz022 1,1,lhz_in02.gat,246,278
+lhz_in02.gat,250,278,0 warp lhz022a 1,1,lhz_in02.gat,265,278
+
+lighthalzen.gat,238,220,0 warp lhz023 1,1,lhz_in02.gat,28,270
+lhz_in02.gat,27,265,0 warp lhz023a 1,1,lighthalzen.gat,238,216
+
+lhz_in02.gat,13,284,0 warp lhz024 1,1,lhz_in02.gat,89,285
+lhz_in02.gat,95,285,0 warp lhz024a 1,1,lhz_in02.gat,19,284
+
+lhz_in02.gat,114,272,0 warp lhz025 1,1,lhz_in02.gat,153,282
+lhz_in02.gat,149,282,0 warp lhz025a 1,1,lhz_in02.gat,110,272
+
+lighthalzen.gat,198,257,0 warp lhz026 1,1,lhz_in02.gat,39,28
+lhz_in02.gat,44,28,0 warp lhz026a 1,1,lighthalzen.gat,203,257
+
+lighthalzen.gat,236,276,0 warp lhz027 1,1,lhz_in02.gat,133,199
+lhz_in02.gat,129,199,0 warp lhz027a 1,1,lighthalzen.gat,232,276
+
+lighthalzen.gat,251,299,0 warp lhz028 1,1,lhz_in03.gat,97,21
+lhz_in03.gat,93,21,0 warp lhz028a 1,1,lighthalzen.gat,247,299
+
+lhz_in03.gat,134,14,0 warp lhz029 1,1,lhz_in03.gat,125,90
+lhz_in03.gat,120,90,0 warp lhz029a 1,1,lhz_in03.gat,130,14
+
+lighthalzen.gat,198,163,0 warp lhz030 1,1,lhz_in02.gat,21,195
+lhz_in02.gat,21,191,0 warp lhz030a 1,1,lighthalzen.gat,202,160
+
+lhz_in02.gat,39,204,0 warp lhz031 1,1,lhz_in02.gat,41,136
+lhz_in02.gat,36,136,0 warp lhz031a 1,1,lhz_in02.gat,34,204
+
+lhz_in02.gat,49,154,0 warp lhz032 1,1,lhz_in02.gat,98,155
+lhz_in02.gat,103,155,0 warp lhz032a 1,1,lhz_in02.gat,44,154
+
+lhz_in02.gat,88,144,0 warp lhz033 1,1,lhz_in02.gat,89,212
+lhz_in02.gat,94,212,0 warp lhz033a 1,1,lhz_in02.gat,94,144
+
+lhz_in02.gat,79,223,0 warp lhz034 1,1,lhz_in02.gat,17,155
+lhz_in02.gat,13,155,0 warp lhz034a 1,1,lhz_in02.gat,84,223
+
+lighthalzen.gat,101,248,0 warp lhz035 1,1,lhz_in01.gat,111,126
+lhz_in01.gat,111,121,0 warp lhz035a 1,1,lighthalzen.gat,101,243
+
+lighthalzen.gat,106,248,0 warp lhz036 1,1,lhz_in01.gat,116,126
+lhz_in01.gat,116,121,0 warp lhz036a 1,1,lighthalzen.gat,106,243
+
+lhz_in01.gat,88,215,0 warp lhz037 1,1,lhz_in01.gat,106,18
+lhz_in01.gat,106,15,0 warp lhz037a 1,1,lhz_in01.gat,88,211
+
+lhz_in01.gat,140,215,0 warp lhz038 1,1,lhz_in01.gat,158,18
+lhz_in01.gat,158,15,0 warp lhz038a 1,1,lhz_in01.gat,140,211
+
+lhz_in01.gat,194,55,0 warp lhz039 1,1,lhz_in01.gat,188,250
+lhz_in01.gat,188,254,0 warp lhz039a 1,1,lhz_in01.gat,191,52
+
+lhz_in01.gat,230,226,0 warp lhz040 1,1,lhz_in01.gat,257,226
+lhz_in01.gat,251,226,0 warp lhz040a 1,1,lhz_in01.gat,225,226
+
+lhz_in01.gat,98,55,0 warp lhz041 1,1,lhz_in01.gat,76,250
+lhz_in01.gat,76,254,0 warp lhz041a 1,1,lhz_in01.gat,100,52
+
+lhz_in01.gat,149,179,0 warp lhz042 1,1,lhz_in01.gat,15,24
+lhz_in01.gat,11,24,0 warp lhz042a 1,1,lhz_in01.gat,145,178
diff --git a/npc/warps/cities/louyang.txt b/npc/warps/cities/louyang.txt
new file mode 100644
index 000000000..342922fc3
--- /dev/null
+++ b/npc/warps/cities/louyang.txt
@@ -0,0 +1,51 @@
+//===== Athena Script ========================================
+//= Lou Yang Warp Script
+//===== By: ==================================================
+//= Nana (1.0)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version 6.0+
+//===== Description: =========================================
+//= Warp Points for Lou Yang
+//===== Additional Comments: =================================
+//= 1.1 Added 2 escapes from 2 mountains 018,019 [Lupus]
+//= Some players used to stuck there after warps
+//= 1.2 Added a few missing warps [MasterOfMuppets]
+//============================================================
+
+//= Louyang Town ============================================
+louyang.gat,217,22,0 warp louwarp001 3,3,lou_fild01.gat,232,353
+louyang.gat,37,270,0 warp louwarp002 3,3,lou_dun01.gat,218,196
+louyang.gat,218,253,0 warp louwarp005 3,3,lou_in01.gat,101,122
+louyang.gat,279,168,0 warp louwarp006 3,3,lou_in02.gat,57,174
+louyang.gat,309,80,0 warp louwarp007 3,3,lou_in02.gat,189,78
+louyang.gat,124,121,0 warp louwarp009 3,3,lou_in02.gat,197,162
+louyang.gat,129,121,0 warp louwarp009a 3,3,lou_in02.gat,203,162
+louyang.gat,145,175,0 warp louwarp010 3,3,lou_in02.gat,125,168
+louyang.gat,135,96,0 warp louwarp011 3,3,lou_in02.gat,248,172
+louyang.gat,317,177,0 warp louwarp014 3,3,lou_in02.gat,118,34
+louyang.gat,130,63,0 warp louwarp015 3,3,lou_in02.gat,71,30
+louyang.gat,263,93,0 warp louwarp018 3,3,lou_in02.gat,246,58
+lou_in01.gat,125,141,0 warp louwarp016 3,3,lou_in01.gat,156,141
+lou_in01.gat,152,141,0 warp louwarp016a 3,3,lou_in01.gat,120,141
+lou_in01.gat,78,141,0 warp louwarp017 3,3,lou_in01.gat,47,141
+lou_in01.gat,51,141,0 warp louwarp017a 3,3,lou_in01.gat,82,141
+lou_in01.gat,101,118,0 warp louwarp005a 3,3,louyang.gat,218,249
+lou_in02.gat,57,170,0 warp louwarp006a 3,3,louyang.gat,279,164
+lou_in02.gat,200,93,0 warp louwarp008 3,3,lou_in02.gat,170,46
+lou_in02.gat,174,46,0 warp louwarp008a 3,3,lou_in02.gat,206,94
+lou_in02.gat,197,158,0 warp louwarp009b 3,3,louyang.gat,124,117
+lou_in02.gat,203,158,0 warp louwarp009c 3,3,louyang.gat,129,117
+lou_in02.gat,125,164,0 warp louwarp010a 3,3,louyang.gat,145,171
+lou_in02.gat,251,175,0 warp louwarp011a 3,3,louyang.gat,140,101
+lou_in02.gat,242,59,0 warp louwarp018a 3,3,louyang.gat,260,93
+lou_in02.gat,80,190,0 warp louwarp012 3,3,lou_in02.gat,73,140
+lou_in02.gat,71,140,0 warp louwarp012a 3,3,lou_in02.gat,77,190
+lou_in02.gat,35,190,0 warp louwarp013 3,3,lou_in02.gat,37,138
+lou_in02.gat,43,138,0 warp louwarp013a 3,3,lou_in02.gat,39,190
+lou_in02.gat,121,32,0 warp louwarp014a 3,3,louyang.gat,317,173
+lou_in02.gat,71,28,0 warp louwarp015a 3,3,louyang.gat,130,57
+lou_in02.gat,189,74,0 warp louwarp007a 3,3,louyang.gat,309,76
+lou_fild01.gat,232,357,0 warp louwarp001a 3,3,louyang.gat,217,26
+louyang.gat,90,253,0 warp louwarp019 3,3,louyang.gat,94,268
diff --git a/npc/warps/cities/lutie.txt b/npc/warps/cities/lutie.txt
new file mode 100644
index 000000000..ee485e24e
--- /dev/null
+++ b/npc/warps/cities/lutie.txt
@@ -0,0 +1,41 @@
+//===== Athena Script ========================================
+//= Lutie Warp Script
+//===== By: ==================================================
+//= Athena (1.0)
+//= Nana (1.1)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 2+
+//===== Description: =========================================
+//= Warp Points for Lutie
+//===== Additional Comments: =================================
+//= No Comment!
+//============================================================
+
+//= Lutie Town ===============================================
+xmas.gat,104,290,0 warp xmas12 3,3,xmas_in.gat,30,163
+xmas.gat,120,131,0 warp xmas3 3,3,xmas_in.gat,44,33
+xmas.gat,120,161,0 warp xmas4 3,3,xmas_in.gat,36,91
+xmas.gat,142,240,0 warp xmas8 3,3,xmas_in.gat,95,85
+xmas.gat,142,256,0 warp xmas11 3,3,xmas_in.gat,95,115
+xmas.gat,143,313,0 warp xmas14 3,3,xmas_dun01.gat,205,15
+xmas.gat,149,240,0 warp xmas9 3,3,xmas_in.gat,105,85
+xmas.gat,149,256,0 warp xmas10 3,3,xmas_in.gat,105,115
+xmas.gat,150,41,0 warp xmas2-1 3,3,xmas_fild01.gat,80,249
+xmas.gat,174,161,0 warp xmas6 3,3,xmas_in.gat,165,95
+xmas.gat,175,132,0 warp xmas5 3,3,xmas_in.gat,155,31
+xmas.gat,182,169,0 warp xmas7 3,3,xmas_in.gat,177,107
+xmas.gat,189,279,0 warp xmas13 3,3,xmas_in.gat,168,163
+xmas_in.gat,105,117,0 warp xmas10-1 2,2,xmas.gat,149,258
+xmas_in.gat,105,82,0 warp xmas9-1 3,3,xmas.gat,149,238
+xmas_in.gat,153,31,0 warp xmas5-1 3,3,xmas.gat,173,132
+xmas_in.gat,163,93,0 warp xmas6-1 3,3,xmas.gat,172,159
+xmas_in.gat,168,161,0 warp xmas13-1 3,3,xmas.gat,189,277
+xmas_in.gat,179,109,0 warp xmas7-1 3,3,xmas.gat,184,168
+xmas_in.gat,30,161,0 warp xmas12-1 3,3,xmas.gat,104,288
+xmas_in.gat,38,89,0 warp xmas4-1 3,3,xmas.gat,122,159
+xmas_in.gat,46,33,0 warp xmas3-1 3,3,xmas.gat,122,131
+xmas_in.gat,95,117,0 warp xmas11-1 2,2,xmas.gat,142,258
+xmas_in.gat,95,82,0 warp xmas8-1 3,3,xmas.gat,142,238
+
diff --git a/npc/warps/cities/morroc.txt b/npc/warps/cities/morroc.txt
new file mode 100644
index 000000000..acac81154
--- /dev/null
+++ b/npc/warps/cities/morroc.txt
@@ -0,0 +1,107 @@
+//===== Athena Script ========================================
+//= Morroc Warp Script
+//===== By: ==================================================
+//= Athena (1.0)
+//= Nana (1.2)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Warp Points for Morroc and Assassin Guild
+//===== Additional Comments: =================================
+//= No Comment
+//============================================================
+
+//= Morroc City ==============================================
+morocc.gat,160,17,0 warp moc001 2,2,moc_fild12.gat,159,378
+morocc.gat,160,183,0 warp moc002 2,1,moc_castle.gat,94,181
+morocc.gat,160,297,0 warp moc003 2,2,moc_fild07.gat,198,25
+morocc.gat,197,66,0 warp moc01 1,1,morocc_in.gat,83,92
+morocc.gat,22,294,0 warp moc02 2,5,moc_ruins.gat,156,42
+morocc.gat,24,164,0 warp moc004 1,2,moc_fild19.gat,164,107
+morocc.gat,253,56,0 warp moc03 2,1,morocc_in.gat,134,74
+morocc.gat,26,297,0 warp moc02-1 5,2,moc_ruins.gat,156,42
+morocc.gat,274,269,0 warp moc04 2,2,morocc_in.gat,138,136
+morocc.gat,283,170,0 warp moc07 2,2,morocc_in.gat,108,176
+morocc.gat,302,207,0 warp moc005 2,2,moc_fild10.gat,22,207
+morocc.gat,46,46,0 warp moc05 2,1,morocc_in.gat,68,72
+morocc.gat,52,259,0 warp moc06 1,2,morocc_in.gat,180,65
+morocc.gat,85,55,0 warp moc08 2,2,morocc_in.gat,44,149
+morocc.gat,98,68,0 warp moc09 1,1,morocc_in.gat,44,175
+morocc_in.gat,105,95,0 warp moc10-1 1,3,morocc_in.gat,90,95
+morocc_in.gat,106,123,0 warp moc11-1 1,3,morocc_in.gat,90,123
+morocc_in.gat,108,179,0 warp moc07-1 2,2,morocc.gat,283,173
+morocc_in.gat,134,77,0 warp moc03-1 3,1,morocc.gat,251,59
+morocc_in.gat,136,136,0 warp moc04-1 1,4,morocc.gat,271,269
+morocc_in.gat,144,109,0 warp moc12-1 3,1,morocc_in.gat,144,125
+morocc_in.gat,144,122,0 warp moc12 3,1,morocc_in.gat,144,106
+morocc_in.gat,144,151,0 warp moc13 3,1,morocc_in.gat,144,169
+morocc_in.gat,144,166,0 warp moc13-1 3,1,morocc_in.gat,144,148
+morocc_in.gat,149,129,0 warp moc14 1,2,morocc_in.gat,169,129
+morocc_in.gat,166,130,0 warp moc14-1 1,3,morocc_in.gat,146,130
+morocc_in.gat,171,37,0 warp moc15-1 4,1,morocc_in.gat,171,52
+morocc_in.gat,171,50,0 warp moc15 4,1,morocc_in.gat,171,35
+morocc_in.gat,174,109,0 warp moc22 3,1,morocc_in.gat,174,125
+morocc_in.gat,174,122,0 warp moc22-1 3,1,morocc_in.gat,174,106
+morocc_in.gat,174,151,0 warp moc16 3,1,morocc_in.gat,174,169
+morocc_in.gat,174,166,0 warp moc16-1 3,1,morocc_in.gat,174,148
+morocc_in.gat,183,65,0 warp moc06-1 2,3,morocc.gat,55,259
+morocc_in.gat,23,161,0 warp moc17 1,2,morocc_in.gat,37,161
+morocc_in.gat,34,161,0 warp moc17-1 1,2,morocc_in.gat,20,161
+morocc_in.gat,44,146,0 warp moc08-1 3,2,morocc.gat,82,52
+morocc_in.gat,44,178,0 warp moc09-1 2,2,morocc.gat,100,70
+morocc_in.gat,55,123,0 warp moc18-1 1,3,morocc_in.gat,71,123
+morocc_in.gat,55,95,0 warp moc19-1 1,3,morocc_in.gat,71,95
+morocc_in.gat,57,161,0 warp moc20 1,3,morocc_in.gat,73,161
+morocc_in.gat,68,123,0 warp moc18 1,3,morocc_in.gat,52,123
+morocc_in.gat,68,42,0 warp moc21-1 2,1,morocc_in.gat,68,65
+morocc_in.gat,68,62,0 warp moc21 2,1,morocc_in.gat,68,38
+morocc_in.gat,68,75,0 warp moc05-1 2,1,morocc.gat,49,49
+morocc_in.gat,68,95,0 warp moc19 1,3,morocc_in.gat,52,95
+morocc_in.gat,70,161,0 warp moc20-1 1,3,morocc_in.gat,54,161
+morocc_in.gat,83,90,0 warp moc01-1 4,1,morocc.gat,199,64
+morocc_in.gat,86,101,0 warp moc23 2,1,morocc_in.gat,86,120
+morocc_in.gat,86,117,0 warp moc23-1 3,1,morocc_in.gat,86,98
+morocc_in.gat,93,123,0 warp moc11 1,3,morocc_in.gat,109,123
+morocc_in.gat,93,95,0 warp moc10 1,3,morocc_in.gat,109,95
+
+//= Morroc Ruins ============================================
+moc_ruins.gat,161,40,0 warp moc02-2 2,4,morocc.gat,26,293
+moc_ruins.gat,157,37,0 warp moc02-3 5,2,morocc.gat,26,293
+moc_ruins.gat,54,161,0 warp moc006 2,3,moc_pryd01.gat,192,9
+moc_ruins.gat,71,16,0 warp moc007 8,2,moc_fild19.gat,71,167
+
+//= Morroc Castle ===========================================
+moc_castle.gat,94,183,0 warp mocc001 2,1,morocc.gat,160,185
+moc_castle.gat,107,163,0 warp mocc01 2,3,moc_castle.gat,124,163
+moc_castle.gat,120,163,0 warp mocc01-1 2,3,moc_castle.gat,103,163
+moc_castle.gat,120,75,0 warp mocc02 2,3,moc_castle.gat,56,33
+moc_castle.gat,59,34,0 warp mocc02-1 2,3,moc_castle.gat,124,75
+moc_castle.gat,134,101,0 warp mocc03 1,1,moc_castle.gat,134,128
+moc_castle.gat,134,124,0 warp mocc-03 2,2,moc_castle.gat,134,98
+moc_castle.gat,134,139,0 warp mocc04 1,1,moc_castle.gat,134,160
+moc_castle.gat,134,156,0 warp mocc04-1 2,2,moc_castle.gat,134,136
+moc_castle.gat,149,163,0 warp mocc05 2,3,moc_castle.gat,162,163
+moc_castle.gat,158,163,0 warp mocc05-1 2,3,moc_castle.gat,145,163
+moc_castle.gat,16,131,0 warp mocc06 1,2,moc_castle.gat,16,164
+moc_castle.gat,16,160,0 warp mocc06-1 1,2,moc_castle.gat,16,125
+moc_castle.gat,170,131,0 warp mocc07 2,2,moc_castle.gat,170,163
+moc_castle.gat,170,160,0 warp mocc07-1 1,1,moc_castle.gat,170,128
+moc_castle.gat,29,163,0 warp mocc08 2,2,moc_castle.gat,44,163
+moc_castle.gat,40,163,0 warp mocc08-1 2,2,moc_castle.gat,25,163
+moc_castle.gat,51,114,0 warp mocc09 3,2,moc_castle.gat,54,65
+moc_castle.gat,54,69,0 warp mocc09-1 3,2,moc_castle.gat,52,117
+moc_castle.gat,54,139,0 warp mocc10 2,2,moc_castle.gat,54,160
+moc_castle.gat,54,156,0 warp mocc10-1 2,2,moc_castle.gat,54,134
+moc_castle.gat,63,89,0 warp mocc11 2,3,moc_castle.gat,83,89
+moc_castle.gat,80,89,0 warp mocc11-1 2,3,moc_castle.gat,60,89
+moc_castle.gat,69,163,0 warp mocc12 2,2,moc_castle.gat,86,163
+moc_castle.gat,82,163,0 warp mocc12-1 2,2,moc_castle.gat,66,163
+moc_castle.gat,88,93,0 warp mocc13 1,1,moc_castle.gat,94,119
+moc_castle.gat,94,116,0 warp mocc13-1 1,1,moc_castle.gat,88,90
+moc_castle.gat,96,90,0 warp mocc13-2 1,1,moc_castle.gat,94,119
+moc_castle.gat,92,67,0 warp mocc14 3,2,moc_castle.gat,92,85
+moc_castle.gat,92,82,0 warp mocc14-1 3,2,moc_castle.gat,92,63
+moc_castle.gat,94,143,0 warp mocc15 3,2,moc_castle.gat,94,160
+moc_castle.gat,94,156,0 warp mocc15-1 3,2,moc_castle.gat,94,140 \ No newline at end of file
diff --git a/npc/warps/cities/niflheim.txt b/npc/warps/cities/niflheim.txt
new file mode 100644
index 000000000..1157ccc56
--- /dev/null
+++ b/npc/warps/cities/niflheim.txt
@@ -0,0 +1,47 @@
+//===== Athena Script ========================================
+//= Niflheim Warp Script
+//===== By: ==================================================
+//= PKGINGO (1.0)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 6+
+//===== Description: =========================================
+//= Warp Points for Niflheim
+//===== Additional Comments: =================================
+//= Extracted from Vidar -> Athena
+//= V1.1: Added Inn and House warps needed for the Piano
+//= Quest. [Skotlex
+//============================================================
+
+//Niflheim Fields
+nif_fild01.gat,345,323,0 warp nwarp7 1,1,nif_fild02.gat,23,312
+nif_fild02.gat,21,312,0 warp nwarp8 1,1,nif_fild01.gat,343,322
+nif_fild02.gat,379,235,0 warp nwarp9 1,1,niflheim.gat,20,153
+niflheim.gat,18,151,0 warp nwarp10 1,1,nif_fild02.gat,376,235
+
+//Niflheim Town
+
+//Weapon shop
+niflheim.gat,220,169,0 warp nwarp11 1,1,nif_in.gat,14,88
+nif_in.gat,11,88,0 warp nwarp12 1,1,niflheim.gat,218,170
+
+//Item shop: 134,12
+niflheim.gat,219,199,0 warp nwarp13 1,1,nif_in.gat,136,14
+nif_in.gat,134,12,0 warp nwarp14 1,1,niflheim.gat,218,197
+
+//House
+niflheim.gat,190,241,0 warp nwarp19 1,1,nif_in.gat,81,77
+nif_in.gat,78,74,0 warp nwarp20 1,1,niflheim.gat,187,241
+
+//Inn
+niflheim.gat,189,211,0 warp nwarp21 1,1,nif_in.gat,20,14
+nif_in.gat,23,12,0 warp nwarp22 1,1,niflheim.gat,189,207
+nif_in.gat,34,34,0 warp nwarp23 1,1,nif_in.gat,88,31
+nif_in.gat,88,29,0 warp nwarp24 1,1,nif_in.gat,34,31
+
+//House on the hill
+niflheim.gat,255,194,0 warp nwarp15 1,1,nif_in.gat,20,156
+nif_in.gat,18,154,0 warp nwarp16 1,1,niflheim.gat,254,192
+nif_in.gat,65,168,0 warp nwarp17 1,1,nif_in.gat,141,174
+nif_in.gat,140,171,0 warp nwarp18 1,1,nif_in.gat,65,165
diff --git a/npc/warps/cities/payon.txt b/npc/warps/cities/payon.txt
new file mode 100644
index 000000000..1fb6110f5
--- /dev/null
+++ b/npc/warps/cities/payon.txt
@@ -0,0 +1,138 @@
+//===== eAthena Script =======================================
+//= Payon Warps
+//===== By: ==================================================
+//= Muad Dib (1.0)
+//= Darkchild (1.1)
+//= Nana (1.3)
+//===== Current Version: =====================================
+//= 1.5
+//===== Compatible With: =====================================
+//= Any eAthena Mod
+//===== Description: =========================================
+//= Payon warps
+//===== Additional Comments: =================================
+//= Warps Done By Muad Dib, All Credits To Him
+//= 1.2 Removed Duplicated Warp
+//= 1.3 Separated and reorganized field and dungeons
+//= 1.4 Fixed warp payonwarp031 [Yor]
+//= 1.5 Removed Payonwarp006, it was a duplicate [MasterOfMuppets]
+//============================================================
+
+// == Official Warps From kRO Screenshots ==
+
+// -- Entrance / Exit --
+payon.gat,16,142,0 warp payonwarp001 1,1,pay_gld.gat,370,149
+pay_gld.gat,374,149,0 warp payonwarp002 1,1,payon.gat,20,142
+payon.gat,122,27,0 warp payonwarp003 5,3,pay_fild01.gat,333,356
+pay_fild01.gat,333,360,0 warp payonwarp004 5,3,payon.gat,122,31
+payon.gat,267,90,0 warp payonwarp005 2,4,pay_fild08.gat,20,74
+payon.gat,228,330,0 warp payonwarp007 4,2,pay_arche.gat,81,22
+pay_arche.gat,81,18,0 warp payonwarp008 5,2,payon.gat,228,326
+
+// -- Inn --
+payon.gat,223,117,0 warp payonwarp009 2,2,payon_in01.gat,175,11
+payon_in01.gat,172,11,0 warp payonwarp010 2,2,payon.gat,219,117
+payon_in01.gat,180,43,0 warp payonwarp011 2,2,payon_in01.gat,181,73
+payon_in01.gat,181,70,0 warp payonwarp012 2,2,payon_in01.gat,180,40
+payon_in01.gat,193,92,0 warp payonwarp013 2,2,payon_in01.gat,143,61
+payon_in01.gat,146,61,0 warp payonwarp014 2,2,payon_in01.gat,193,89
+payon_in01.gat,133,42,0 warp payonwarp015 2,2,payon_in01.gat,133,18
+payon_in01.gat,133,21,0 warp payonwarp016 2,2,payon_in01.gat,133,45
+
+// -- Sort of Mill --
+payon.gat,140,85,0 warp payonwarp017 2,2,payon_in01.gat,14,51
+payon_in01.gat,17,51,0 warp payonwarp018 2,2,payon.gat,143,85
+payon_in01.gat,10,59,0 warp payonwarp019 2,2,payon_in01.gat,10,83
+payon_in01.gat,10,80,0 warp payonwarp021 2,2,payon_in01.gat,10,56
+payon_in01.gat,10,38,0 warp payonwarp022 2,2,payon_in01.gat,10,14
+payon_in01.gat,10,17,0 warp payonwarp023 2,2,payon_in01.gat,10,41
+
+// -- Weaponshop --
+payon.gat,135,158,0 warp payonwarp024 2,2,payon_in01.gat,20,129
+payon_in01.gat,23,129,0 warp payonwarp025 2,2,payon.gat,138,158
+payon.gat,130,169,0 warp payonwarp026 2,2,payon_in01.gat,13,136
+payon_in01.gat,13,139,0 warp payonwarp027 2,2,payon.gat,130,172
+
+// -- House --
+payon.gat,151,127,0 warp payonwarp028 2,2,payon_in01.gat,56,53
+payon_in01.gat,56,50,0 warp payonwarp029 2,2,payon.gat,151,124
+
+// -- Middle Castle --
+payon.gat,156,247,0 warp payonwarp030 4,1,payon_in03.gat,98,116
+payon_in03.gat,98,114,0 warp payonwarp031 5,1,payon.gat,156,245
+payon_in03.gat,90,124,0 warp payonwarp032 2,2,payon_in03.gat,80,124
+payon_in03.gat,83,124,0 warp payonwarp033 2,2,payon_in03.gat,93,124
+payon_in03.gat,99,133,0 warp payonwarp034 2,2,payon_in03.gat,99,151
+payon_in03.gat,99,148,0 warp payonwarp035 2,2,payon_in03.gat,99,130
+payon_in03.gat,107,124,0 warp payonwarp036 2,2,payon_in03.gat,117,124
+payon_in03.gat,114,124,0 warp payonwarp037 2,2,payon_in03.gat,104,124
+
+// -- Weapon Storage Building --
+payon.gat,189,233,0 warp payonwarp038 2,2,payon_in03.gat,149,39
+payon_in03.gat,146,39,0 warp payonwarp039 2,2,payon.gat,186,233
+payon_in03.gat,158,32,0 warp payonwarp040 2,2,payon_in03.gat,130,14
+payon_in03.gat,130,17,0 warp payonwarp041 2,2,payon_in03.gat,158,35
+payon_in03.gat,172,32,0 warp payonwarp042 2,2,payon_in03.gat,160,14
+payon_in03.gat,160,17,0 warp payonwarp043 2,2,payon_in03.gat,172,35
+payon_in03.gat,186,32,0 warp payonwarp044 2,2,payon_in03.gat,190,13
+payon_in03.gat,190,17,0 warp payonwarp045 2,2,payon_in03.gat,186,35
+
+// -- House --
+payon.gat,256,285,0 warp payonwarp046 2,2,payon_in01.gat,45,11
+payon_in01.gat,42,11,0 warp payonwarp047 2,2,payon.gat,253,285
+
+// -- Old Archer Village Warps --
+pay_arche.gat,36,131,0 warp payonwarp048 2,2,pay_dun00.gat,21,183
+pay_arche.gat,71,156,0 warp payonwarp049 2,2,payon_in02.gat,82,41
+pay_arche.gat,92,170,0 warp payonwarp050 2,2,payon_in02.gat,50,7
+pay_arche.gat,145,165,0 warp payonwarp051 2,2,payon_in02.gat,64,60
+payon_in02.gat,10,25,0 warp payonwarp052 2,2,payon_in02.gat,72,67
+payon_in02.gat,35,67,0 warp payonwarp053 2,2,payon_in02.gat,55,67
+payon_in02.gat,50,4,0 warp payonwarp054 3,1,pay_arche.gat,92,166
+payon_in02.gat,52,67,0 warp payonwarp055 2,2,payon_in02.gat,32,67
+payon_in02.gat,61,33,0 warp payonwarp056 2,2,payon_in02.gat,73,33
+payon_in02.gat,64,56,0 warp payonwarp057 2,2,pay_arche.gat,141,161
+payon_in02.gat,70,33,0 warp payonwarp058 2,2,payon_in02.gat,58,33
+payon_in02.gat,75,67,0 warp payonwarp059 2,2,payon_in02.gat,13,25
+payon_in02.gat,82,45,0 warp payonwarp060 2,2,pay_arche.gat,74,153
+
+
+// == Self Made Warps, No Screen Availble ==
+
+// -- Large West House --
+payon.gat,127,204,0 warp payonwarp061 2,2,payon_in03.gat,81,19
+payon_in03.gat,85,19,0 warp payonwarp062 2,2,payon.gat,131,204
+payon_in03.gat,74,18,0 warp payonwarp063 2,2,payon_in03.gat,62,18
+payon_in03.gat,67,18,0 warp payonwarp064 2,2,payon_in03.gat,78,18
+payon_in03.gat,46,18,0 warp payonwarp065 2,2,payon_in03.gat,35,18
+payon_in03.gat,39,18,0 warp payonwarp066 2,2,payon_in03.gat,51,18
+payon_in03.gat,28,18,0 warp payonwarp067 2,2,payon_in03.gat,17,18
+payon_in03.gat,21,18,0 warp payonwarp068 2,2,payon_in03.gat,32,18
+
+// -- Big Kitchen --
+payon.gat,155,327,0 warp payonwarp069 2,2,payon_in03.gat,165,143
+payon_in03.gat,165,140,0 warp payonwarp070 2,2,payon.gat,155,324
+payon_in03.gat,185,178,0 warp payonwarp071 2,2,payon_in03.gat,185,149
+payon_in03.gat,185,153,0 warp payonwarp072 2,2,payon_in03.gat,185,182
+
+// -- Upper Castle --
+payon.gat,107,327,0 warp payonwarp073 2,2,payon_in03.gat,19,64
+payon_in03.gat,19,60,0 warp payonwarp074 2,2,payon.gat,107,323
+payon_in03.gat,19,73,0 warp payonwarp075 2,2,payon_in03.gat,19,90
+payon_in03.gat,19,86,0 warp payonwarp076 2,2,payon_in03.gat,19,69
+payon_in03.gat,19,103,0 warp payonwarp077 2,2,payon_in03.gat,19,122
+payon_in03.gat,19,118,0 warp payonwarp078 2,2,payon_in03.gat,19,99
+payon_in03.gat,11,131,0 warp payonwarp079 2,2,payon_in03.gat,11,146
+payon_in03.gat,11,142,0 warp payonwarp080 2,2,payon_in03.gat,11,127
+payon_in03.gat,27,131,0 warp payonwarp081 2,2,payon_in03.gat,27,146
+payon_in03.gat,27,142,0 warp payonwarp082 2,2,payon_in03.gat,27,127
+payon_in03.gat,11,161,0 warp payonwarp083 2,2,payon_in03.gat,11,176
+payon_in03.gat,11,172,0 warp payonwarp084 2,2,payon_in03.gat,11,157
+payon_in03.gat,27,161,0 warp payonwarp085 2,2,payon_in03.gat,27,176
+payon_in03.gat,27,172,0 warp payonwarp086 2,2,payon_in03.gat,27,157
+
+// -- House --
+payon_in01.gat,86,9,0 warp payonwarp087 2,2,payon.gat,266,152
+payon.gat,270,152,0 warp payonwarp088 2,2,payon_in01.gat,90,9
+payon_in01.gat,107,71,0 warp payonwarp089 2,2,payon_in01.gat,96,37
+payon_in01.gat,93,37,0 warp payonwarp090 2,2,payon_in01.gat,104,71 \ No newline at end of file
diff --git a/npc/warps/cities/prontera.txt b/npc/warps/cities/prontera.txt
new file mode 100644
index 000000000..9ac0d5d1e
--- /dev/null
+++ b/npc/warps/cities/prontera.txt
@@ -0,0 +1,105 @@
+//===== Athena Script ========================================
+//= Prontera Warp Script
+//===== By: ==================================================
+//= Athena (1.0)
+//= Nana (1.2)
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Warp Points for Prontera
+//===== Additional Comments: =================================
+//= 1.3 prt19 warp fix [shadow]
+//= 1.4 Added warps for the sign quest [MasterOfMuppets]
+//============================================================
+
+//= Prontera City ============================================
+prontera.gat,107,215,0 warp prt01 2,2,prt_in.gat,240,139
+prontera.gat,120,267,0 warp prt02 2,2,prt_in.gat,180,97
+prontera.gat,133,183,0 warp prt03 2,2,prt_in.gat,50,105
+prontera.gat,134,221,0 warp prt04 1,1,prt_in.gat,131,71
+prontera.gat,156,22,0 warp prt001 3,2,prt_fild08.gat,170,375
+prontera.gat,156,360,0 warp prt005 4,2,prt_castle.gat,102,20
+prontera.gat,177,221,0 warp prt05 2,2,prt_in.gat,168,128
+prontera.gat,179,184,0 warp prt06 2,2,prt_in.gat,60,73
+prontera.gat,192,267,0 warp prt07 2,2,prt_in.gat,178,55
+prontera.gat,204,192,0 warp prt08 2,2,prt_in.gat,68,134
+prontera.gat,208,154,0 warp prt09 2,2,prt_in.gat,172,29
+prontera.gat,22,203,0 warp prt002 2,3,prt_fild05.gat,367,205
+prontera.gat,237,317,0 warp prt004 2,2,prt_church.gat,100,60
+prontera.gat,289,203,0 warp prt003 2,3,prt_fild06.gat,27,193
+prontera.gat,42,67,0 warp prt10 2,2,prt_in.gat,44,29
+prontera.gat,45,346,0 warp prt11 2,2,prt_in.gat,80,110
+prontera.gat,73,100,0 warp prt12 1,1,prt_in.gat,208,176
+prontera.gat,74,90,0 warp prt13 2,2,prt_in.gat,248,170
+prontera.gat,84,89,0 warp prt14-1 1,1,prt_in.gat,282,176
+prontera.gat,263,279,0 warp prt15-2 2,2,prt_in.gat,227,18
+prt_in.gat,135,71,0 warp prt04-1 1,2,prontera.gat,136,219
+prt_in.gat,168,124,0 warp prt05-1 2,1,prontera.gat,174,218
+prt_in.gat,172,33,0 warp prt09-1 2,1,prontera.gat,205,157
+prt_in.gat,181,55,0 warp prt07-1 1,2,prontera.gat,192,264
+prt_in.gat,183,97,0 warp prt02-1 1,2,prontera.gat,120,264
+prt_in.gat,208,179,0 warp prt12-1 3,1,prontera.gat,76,102
+prt_in.gat,217,163,0 warp prt15 1,3,prt_in.gat,236,163
+prt_in.gat,234,163,0 warp prt15-1 1,3,prt_in.gat,215,163
+prt_in.gat,240,141,0 warp prt01-1 3,1,prontera.gat,107,218
+prt_in.gat,248,173,0 warp prt13-1 3,2,prontera.gat,77,93
+prt_in.gat,254,113,0 warp prt16 3,2,prt_in.gat,256,134
+prt_in.gat,256,131,0 warp prt16-1 2,2,prt_in.gat,254,110
+prt_in.gat,263,163,0 warp prt17 1,3,prt_in.gat,276,163
+prt_in.gat,274,163,0 warp prt17-1 1,3,prt_in.gat,261,163
+prt_in.gat,280,68,0 warp w472 6,6,prontera.gat,147,287
+prt_in.gat,281,36,0 warp w473 6,6,prontera.gat,147,287
+prt_in.gat,282,100,0 warp w471 6,6,prontera.gat,147,287
+prt_in.gat,282,179,0 warp prt14 3,1,prontera.gat,87,91
+prt_in.gat,285,130,0 warp w470 6,6,prontera.gat,147,287
+prt_in.gat,37,65,0 warp prt18 1,3,prt_in.gat,51,65
+prt_in.gat,47,29,0 warp prt10-1 2,1,prontera.gat,46,67
+prt_in.gat,48,65,0 warp prt18-1 1,3,prt_in.gat,34,65
+prt_in.gat,53,105,0 warp prt03-1 1,2,prontera.gat,136,186
+prt_in.gat,60,77,0 warp prt06-1 2,1,prontera.gat,175,188
+prt_in.gat,68,130,0 warp prt08-1 2,1,prontera.gat,204,188
+prt_in.gat,69,65,0 warp prt19 1,3,prt_in.gat,84,65
+prt_in.gat,70,143,0 warp prt20 2,1,prt_in.gat,70,165
+prt_in.gat,70,162,0 warp prt20-1 2,1,prt_in.gat,70,140
+prt_in.gat,80,113,0 warp prt11-1 2,1,prontera.gat,48,343
+prt_in.gat,82,65,0 warp prt19 1,3,prt_in.gat,66,65
+prt_in.gat,227,15,0 warp prt20-2 2,2,prontera.gat,263,275
+
+//= Prontera Church ==========================================
+prt_church.gat,100,56,0 warp prtch001 7,1,prontera.gat,234,314
+prt_church.gat,109,81,0 warp prtch01 1,2,prt_church.gat,172,19
+prt_church.gat,168,19,0 warp prtch01-1 1,2,prt_church.gat,105,81
+prt_church.gat,31,19,0 warp prtch02 1,2,prt_church.gat,94,81
+prt_church.gat,90,81,0 warp prtch02-1 1,2,prt_church.gat,27,19
+
+
+
+//= Prontera Castle ===========================================
+prt_castle.gat,102,129,0 warp prtca01 3,2,prt_castle.gat,102,143
+prt_castle.gat,102,140,0 warp prtca01-1 3,2,prt_castle.gat,102,126
+prt_castle.gat,102,16,0 warp prtca001 6,2,prontera.gat,156,356
+prt_castle.gat,102,181,0 warp prtca002 6,2,prt_gld.gat,159,28
+prt_castle.gat,102,73,0 warp prtca02 3,2,prt_castle.gat,102,91
+prt_castle.gat,102,88,0 warp prtca02-1 3,2,prt_castle.gat,102,70
+prt_castle.gat,113,107,0 warp prtca03 2,3,prt_castle.gat,134,107
+prt_castle.gat,121,29,0 warp prtca04 1,1,prt_castle.gat,148,29
+prt_castle.gat,130,107,0 warp prtca03-1 2,3,prt_castle.gat,110,107
+prt_castle.gat,135,153,0 warp prtca05 1,1,prt_castle.gat,167,145
+prt_castle.gat,144,29,0 warp prtca04-1 2,2,prt_castle.gat,117,29
+prt_castle.gat,149,113,0 warp prtca06 1,1,prt_castle.gat,175,113
+prt_castle.gat,164,145,0 warp prtca05-1 1,1,prt_castle.gat,132,153
+prt_castle.gat,170,138,0 warp prtca07 3,2,prt_castle.gat,176,118
+prt_castle.gat,172,113,0 warp prtca06-1 1,1,prt_castle.gat,146,113
+prt_castle.gat,176,121,0 warp prtca07-1 3,2,prt_castle.gat,170,141
+prt_castle.gat,28,121,0 warp prtca08 2,2,prt_castle.gat,40,141
+prt_castle.gat,31,113,0 warp prtca09 1,1,prt_castle.gat,58,113
+prt_castle.gat,40,138,0 warp prtca08-1 3,2,prt_castle.gat,28,118
+prt_castle.gat,45,145,0 warp prtca10 1,1,prt_castle.gat,72,153
+prt_castle.gat,54,113,0 warp prtca09-1 1,1,prt_castle.gat,27,113
+prt_castle.gat,59,29,0 warp prtca11 2,2,prt_castle.gat,85,29
+prt_castle.gat,68,153,0 warp prtca10-1 1,1,prt_castle.gat,42,145
+prt_castle.gat,75,107,0 warp prtca12 2,3,prt_castle.gat,95,107
+prt_castle.gat,82,29,0 warp prtca11-1 1,1,prt_castle.gat,56,29
+prt_castle.gat,92,107,0 warp prtca12-1 2,3,prt_castle.gat,72,107 \ No newline at end of file
diff --git a/npc/warps/cities/umbala.txt b/npc/warps/cities/umbala.txt
new file mode 100644
index 000000000..3a3d89c13
--- /dev/null
+++ b/npc/warps/cities/umbala.txt
@@ -0,0 +1,44 @@
+//===== Athena Script ========================================
+//= Umbala Warp Script
+//===== By: ==================================================
+//= Darkchild (1.0v A)
+//= Athena (1.0v B)
+//= 1.1 (Akaru)
+//= Nana (1.2)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 6+
+//===== Description: =========================================
+//= Warp Points for Umbala
+//===== Additional Comments: =================================
+//= No Comment
+//============================================================
+
+//Witch House
+umbala.gat,220,190,0 warp umba0027 1,1,um_in.gat,32,70
+um_in.gat,28,70,0 warp umba0028 1,1,umbala.gat,217,187
+
+//Weapons
+umbala.gat,125,157,0 warp umba0029 1,1,um_in.gat,155,114
+um_in.gat,155,110,0 warp umba0030 1,1,umbala.gat,126,152
+
+//Fan Shack
+umbala.gat,138,129,0 warp umba0031 1,1,um_in.gat,99,114
+um_in.gat,99,110,0 warp umba0032 1,1,umbala.gat,136,127
+
+//Lower Double Shack
+umbala.gat,95,186,0 warp umba0033 1,1,um_in.gat,142,42
+um_in.gat,141,39,0 warp umba0034 1,1,umbala.gat,95,183
+
+//Upper Double Shack
+umbala.gat,100,202,0 warp umba0035 1,1,um_in.gat,163,70
+um_in.gat,166,70,0 warp umba0036 1,1,umbala.gat,102,204
+
+//Small Shack
+umbala.gat,156,249,0 warp umba0037 1,1,um_in.gat,99,67
+um_in.gat,99,63,0 warp umba0038 1,1,umbala.gat,160,247
+
+//Large Shack
+umbala.gat,108,164,0 warp umba0039 1,1,um_in.gat,38,112
+um_in.gat,38,110,0 warp umba0040 1,1,umbala.gat,104,163 \ No newline at end of file
diff --git a/npc/warps/cities/yggdrasil.txt b/npc/warps/cities/yggdrasil.txt
new file mode 100644
index 000000000..30176aafb
--- /dev/null
+++ b/npc/warps/cities/yggdrasil.txt
@@ -0,0 +1,23 @@
+//===== Athena Script ========================================
+//= Yggdrasil Tree Warp Script
+//===== By: ==================================================
+//= PKGINGO (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 6+
+//===== Description: =========================================
+//= Warp Points for Yggdrasil Tree
+//===== Additional Comments: =================================
+//= Extracted from Vidar -> Athena
+//============================================================
+
+//Umbala Entrance
+um_dun02.gat,125,163,0 warp nwarp1 1,1,yggdrasil01.gat,40,63
+
+//Niflheim Exit
+yggdrasil01.gat,249,262,0 warp nwarp5 1,1,nif_fild01.gat,315,66
+
+//Yggdrasil Tree
+yggdrasil01.gat,271,51,0 warp nwarp3 1,1,yggdrasil01.gat,26,196
+yggdrasil01.gat,26,193,0 warp nwarp4 1,1,yggdrasil01.gat,269,53 \ No newline at end of file
diff --git a/npc/warps/cities/yuno.txt b/npc/warps/cities/yuno.txt
new file mode 100644
index 000000000..81446eebb
--- /dev/null
+++ b/npc/warps/cities/yuno.txt
@@ -0,0 +1,196 @@
+//===== Athena Script ========================================
+//= Yuno Warp Script
+//===== By: ==================================================
+//= Nana (1.0)
+//= Sara-chan (1.1)
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 5+
+//===== Description: =========================================
+//= Warp Points for Yuno
+//===== Additional Comments: =================================
+//= 1.1 - Added Yuno Airport warps
+//= 1.2 Moved all airports to Airplane Warps [Lupus]
+//= 1.3 Dr.Evil's yuno_05 warps update [Lupus]
+//============================================================
+
+//= Yuno City ================================================
+yuno.gat,158,15,0 warp yun-yunfild 1,1,yuno_fild04.gat,231,284
+yuno.gat,117,135,0 warp yun01 1,1,yuno_in01.gat,116,37
+yuno_in01.gat,116,40,0 warp yun02 1,1,yuno.gat,120,138
+yuno.gat,48,105,0 warp yun03 1,1,yuno_in01.gat,37,176
+yuno_in01.gat,40,176,0 warp yun04 1,1,yuno.gat,51,105
+yuno_in01.gat,32,182,0 warp yun05 1,1,yuno_in01.gat,86,164
+yuno_in01.gat,82,164,0 warp yun06 1,1,yuno_in01.gat,28,182
+yuno.gat,48,151,0 warp yun07 1,1,yuno_in01.gat,30,100
+yuno_in01.gat,34,100,0 warp yun08 1,1,yuno.gat,51,151
+yuno.gat,93,180,0 warp yun09 1,1,yuno_in04.gat,33,127
+yuno_in04.gat,33,130,0 warp yun10 1,1,yuno.gat,95,184
+yuno.gat,196,138,0 warp yun11 1,1,yuno_in01.gat,32,33
+yuno_in01.gat,32,36,0 warp yun12 1,1,yuno.gat,193,142
+yuno.gat,264,87,0 warp yun13 1,1,yuno_in01.gat,168,101
+yuno_in01.gat,168,104,0 warp yun14 1,1,yuno.gat,264,90
+yuno.gat,342,203,0 warp yun15 1,1,yuno_in04.gat,32,58
+yuno_in04.gat,28,58,0 warp yun16 1,1,yuno.gat,338,203
+yuno_in04.gat,52,58,0 warp yun17 1,1,yuno_in04.gat,97,58
+yuno_in04.gat,95,58,0 warp yun18 1,1,yuno_in04.gat,50,58
+yuno_in04.gat,103,64,0 warp yun19 1,1,yuno_in04.gat,103,95
+yuno_in04.gat,103,93,0 warp yun20 1,1,yuno_in04.gat,103,62
+yuno_in04.gat,115,64,0 warp yun21 1,1,yuno_in04.gat,115,95
+yuno_in04.gat,115,93,0 warp yun22 1,1,yuno_in04.gat,115,62
+yuno_in04.gat,115,51,0 warp yun23 1,1,yuno_in04.gat,115,20
+yuno_in04.gat,115,22,0 warp yun24 1,1,yuno_in04.gat,115,53
+yuno_in04.gat,103,51,0 warp yun25 1,1,yuno_in04.gat,103,20
+yuno_in04.gat,103,22,0 warp yun26 1,1,yuno_in04.gat,103,53
+yuno_in04.gat,122,57,0 warp yun27 1,1,yuno_in04.gat,164,110
+yuno_in04.gat,161,110,0 warp yun28 1,1,yuno_in04.gat,120,57
+yuno.gat,323,284,0 warp yun29 1,1,yuno_in03.gat,167,22
+yuno_in03.gat,167,19,0 warp yun30 1,1,yuno.gat,323,280
+yuno_in03.gat,167,72,0 warp yun31 1,1,yuno_in03.gat,179,113
+yuno_in03.gat,179,109,0 warp yun32 1,1,yuno_in03.gat,167,69
+yuno_in03.gat,186,119,0 warp yun33 1,1,yuno_in03.gat,163,174
+yuno_in03.gat,159,174,0 warp yun34 1,1,yuno_in03.gat,183,119
+yuno_in03.gat,186,131,0 warp yun35 1,1,yuno_in03.gat,163,187
+yuno_in03.gat,159,187,0 warp yun36 1,1,yuno_in03.gat,183,131
+yuno_in03.gat,172,118,0 warp yun37 1,1,yuno_in03.gat,120,178
+yuno_in03.gat,124,178,0 warp yun38 1,1,yuno_in03.gat,176,118
+yuno_in03.gat,111,192,0 warp yun39 1,1,yuno_in03.gat,162,132
+yuno_in03.gat,162,129,0 warp yun40 1,1,yuno_in03.gat,111,189
+yuno_in03.gat,153,134,0 warp yun41 1,1,yuno_in03.gat,62,186
+yuno_in03.gat,66,186,0 warp yun42 1,1,yuno_in03.gat,155,134
+yuno.gat,278,293,0 warp yun43 1,1,yuno_in03.gat,25,15
+yuno_in03.gat,25,11,0 warp yun44 1,1,yuno.gat,278,290
+yuno_in03.gat,32,89,0 warp yun45 1,1,yuno_in03.gat,25,53
+yuno_in03.gat,25,56,0 warp yun46 1,1,yuno_in03.gat,32,92
+yuno.gat,284,366,0 warp yun47 1,1,yuno_in03.gat,224,23
+yuno_in03.gat,224,19,0 warp yun48 1,1,yuno.gat,284,363
+yuno_in03.gat,219,50,0 warp yun49 1,1,yuno_in03.gat,104,118
+yuno_in03.gat,104,115,0 warp yun50 1,1,yuno_in03.gat,219,47
+yuno_in03.gat,244,52,0 warp yun51 1,1,yuno_in03.gat,235,94
+yuno_in03.gat,235,91,0 warp yun52 1,1,yuno_in03.gat,244,49
+yuno_in03.gat,231,61,0 warp yun53 1,1,yuno_in03.gat,239,144
+yuno_in03.gat,239,141,0 warp yun54 1,1,yuno_in03.gat,231,57
+yuno_in03.gat,223,167,0 warp yun55 1,1,yuno_in03.gat,96,54
+yuno_in03.gat,96,58,0 warp yun56 1,1,yuno_in03.gat,223,170
+yuno.gat,87,321,0 warp yun57 1,1,yuno_in02.gat,168,61
+yuno_in02.gat,172,61,0 warp yun58 1,1,yuno.gat,90,321
+yuno_in01.gat,88,36,0 warp yun59 1,1,yuno_in01.gat,173,34
+yuno_in01.gat,176,34,0 warp yun60 1,1,yuno_in01.gat,91,36
+yuno_in02.gat,82,14,0 warp yun61 1,1,yuno_in05.gat,192,194
+yuno_in05.gat,196,194,0 warp yun62 1,1,yuno_in02.gat,85,14
+// Yuno In05 (Entering Random Warps) -------------------------------------------
+yuno_in05.gat,153,141,0 script #yun63 45,1,1,{
+ set @warp0,rand(2);
+ if(@warp0==0) goto w1;
+ if(@warp0==1) goto w2;
+w1: warp "yuno_in05",192,102; end;
+w2: warp "yuno_in05",145,82; end;
+}
+// Yuno In05 (Random Warps - Cross Shaped) -------------------------------------
+yuno_in05.gat,196,102,0 script #yun64 45,1,1,{
+ set @warp0,rand(3);
+ if(@warp0==0) goto w1;
+ if(@warp0==1) goto w2;
+ if(@warp0==2) goto w3;
+w1: warp "yuno_in05",169,102; end;
+w2: warp "yuno_in05",128,82; end;
+w3: warp "yuno_in05",156,141; end;
+}
+yuno_in05.gat,181,116,0 script #yun65 45,1,1,{
+ set @warp0,rand(3);
+ if(@warp0==0) goto w1;
+ if(@warp0==1) goto w2;
+ if(@warp0==2) goto w3;
+w1: warp "yuno_in05",181,94; end;
+w2: warp "yuno_in05",176,13; end;
+w3: warp "yuno_in05",136,75; end;
+}
+yuno_in05.gat,165,102,0 script #yun66 45,1,1,{
+ set @warp0,rand(2);
+ if(@warp0==0) goto w1;
+ if(@warp0==1) goto w2;
+w1: warp "yuno_in05",192,102; end;
+w2: warp "yuno_in05",145,82; end;
+}
+yuno_in05.gat,181,91,0 script #yun67 45,1,1,{
+ set @warp0,rand(2);
+ if(@warp0==0) goto w1;
+ if(@warp0==1) goto w2;
+w1: warp "yuno_in05",181,112; end;
+w2: warp "yuno_in05",176,48; end;
+}
+// Yuno In05 (Random Warps - T-Shaped) -----------------------------------------
+yuno_in05.gat,148,82,0 script #yun68 45,1,1,{
+ set @warp0,rand(3);
+ if(@warp0==0) goto w1;
+ if(@warp0==1) goto w2;
+ if(@warp0==2) goto w3;
+w1: warp "yuno_in05",169,102; end;
+w2: warp "yuno_in05",128,82; end;
+w3: warp "yuno_in05",156,141; end;
+}
+yuno_in05.gat,125,82,0 script #yun69 45,1,1,{
+ set @warp0,rand(2);
+ if(@warp0==0) goto w1;
+ if(@warp0==1) goto w2;
+w1: warp "yuno_in05",192,102; end;
+w2: warp "yuno_in05",145,82; end;
+}
+yuno_in05.gat,136,71,0 script #yun70 45,1,1,{
+ set @warp0,rand(3);
+ if(@warp0==0) goto w1;
+ if(@warp0==1) goto w2;
+ if(@warp0==2) goto w3;
+w1: warp "yuno_in05",181,112; end;
+w2: warp "yuno_in05",16,185; end;
+w3: warp "yuno_in05",176,48; end;
+}
+// Yuno In05 (Random Warps - Other) --------------------------------------------
+yuno_in05.gat,16,188,0 script #yun71 45,1,1,{
+ set @warp0,rand(3);
+ if(@warp0==0) goto w1;
+ if(@warp0==1) goto w2;
+ if(@warp0==2) goto w3;
+w1: warp "yuno_in05",181,94; end;
+w2: warp "yuno_in05",176,13; end;
+w3: warp "yuno_in05",136,75; end;
+}
+yuno_in05.gat,176,9,0 script #yun72 45,1,1,{
+ set @warp0,rand(2);
+ if(@warp0==0) goto w1;
+ if(@warp0==1) goto w2;
+w1: warp "yuno_in05",181,112; end;
+w2: warp "yuno_in05",176,48; end;
+}
+yuno_in05.gat,176,52,0 script #yun73 45,1,1,{
+ set @warp0,rand(3);
+ if(@warp0==0) goto w1;
+ if(@warp0==1) goto w2;
+ if(@warp0==2) goto w3;
+w1: warp "yuno_in05",181,94; end;
+w2: warp "yuno_in05",176,13; end;
+w3: warp "yuno_in05",136,75; end;
+}
+// Yuno In05 (Destination - Room) ----------------------------------------------
+yuno_in05.gat,40,178,0 script #yun74 45,1,1,{
+ set @warp0,rand(3);
+ if(@warp0==0) goto w1;
+ if(@warp0==1) goto w2;
+ if(@warp0==2) goto w3;
+w1: warp "yuno_in05",181,94; end;
+w2: warp "yuno_in05",176,13; end;
+w3: warp "yuno_in05",136,75; end;
+}
+yuno_in05.gat,47,186,0 script #yun75 45,1,1,{
+ set @warp0,rand(3);
+ if(@warp0==0) goto w1;
+ if(@warp0==1) goto w2;
+ if(@warp0==2) goto w3;
+w1: warp "yuno_in05",181,94; end;
+w2: warp "yuno_in05",176,13; end;
+w3: warp "yuno_in05",136,75; end;
+}
+// Yuno In05 (Destination - Escaped Random Warps) ------------------------------
+yuno_in05.gat,31,167,0 warp yun76 1,1,yuno_in05.gat,50,85
+yuno_in05.gat,50,88,0 warp yun77 1,1,yuno_in02.gat,85,14 \ No newline at end of file
diff --git a/npc/warps/disabled_warps.txt b/npc/warps/disabled_warps.txt
new file mode 100644
index 000000000..837df12e7
--- /dev/null
+++ b/npc/warps/disabled_warps.txt
@@ -0,0 +1,45 @@
+//===== Athena Script ========================================
+//= Disabled Warps
+//===== By: ==================================================
+//= Nana (1.0)
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
+//= Disabled Warp's for entire Athena
+//===== Additional Comments: =================================
+//= No comment!
+//============================================================
+
+//= Beach Dungeon ============================================
+//beach_dun.gat,89,28,0 warp cmd00a 3,3,beach_dun2.gat,15,182
+//beach_dun2.gat,13,182,0 warp cmd00b 3,3,beach_dun.gat,89,30
+
+//= Comodo Field
+//moc_fild12.gat,35,303,0 warp cmd011 3,3,cmd_fild08.gat,331,319
+//cmd_fild09.gat,14,120,0 warp cmdf14-3 3,3,cmd_fild07.gat,386,96
+
+
+//= Morroc Field =============================================
+//moc_fild04.gat,219,327,0 warp mocf016 3,4,anthell01.gat,35,262
+//moc_fild15.gat,258,253,0 warp mocf017 3,3,anthell01.gat,35,262
+
+//= Ant Hell =================================================
+//anthell01.gat,35,267,0 warp ant001 1,1,moc_fild04.gat,213,327
+//anthell02.gat,171,169,0 warp ant002 1,2,moc_fild04.gat,213,327
+
+//= Morroc Ruins =============================================
+//morocc_in.gat,108,179,0 warp w280 3,2,morocc.gat,284,175
+
+//= Morroc Town ==============================================
+//morocc_in.gat,72,67,0 warp w341 2,2,morocc_in.gat,44,162
+
+//= Izlude Town ==============================================
+//= Due to Job Quest
+//izlude_in.gat,62,170,0 warp w1039 1,1,izlude_in.gat,68,165
+
+//= Payon Cave
+//pay_dun03.gat,127,62,0 warp payd04 1,2,pay_dun04.gat,201,204
+
+// Airplane (no direct access there)
+//airplane.gat,255,55,0 warp ein044 1,1,airplane.gat,90,68
+//airplane.gat,88,68,0 warp ein044a 1,1,airplane.gat,253,55
diff --git a/npc/warps/dungeons/abyss.txt b/npc/warps/dungeons/abyss.txt
new file mode 100644
index 000000000..da37d1fa4
--- /dev/null
+++ b/npc/warps/dungeons/abyss.txt
@@ -0,0 +1,20 @@
+//===== Athena Script ========================================
+//= Abyss Lake Dungeon Warp Script
+//===== By: ==================================================
+//= Muad-Dib (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 10+
+//===== Description: =========================================
+//= Warp Points for Abyss Lake Dungeon
+//===== Additional Comments: =================================
+//= 1.0 Thanks to Muad-Dib for the temp warps [Lupus]
+//============================================================
+
+//hu_fild05.gat,197,210,0 warp abysslakedunwarp001 2,3,abyss_01.gat,264,271
+abyss_01.gat,267,274,0 warp abysslakedunwarp002 1,1,hu_fild05.gat,192,207
+abyss_01.gat,26,23,0 warp abysslakedunwarp003 1,1,abyss_02.gat,275,270
+abyss_02.gat,278,270,0 warp abysslakedunwarp004 1,1,abyss_01.gat,26,26
+abyss_02.gat,145,281,0 warp abysslakedunwarp005 1,1,abyss_03.gat,116,27
+abyss_03.gat,116,24,0 warp abysslakedunwarp006 1,1,abyss_02.gat,145,278
diff --git a/npc/warps/dungeons/alberta_duns.txt b/npc/warps/dungeons/alberta_duns.txt
new file mode 100644
index 000000000..1392cab0f
--- /dev/null
+++ b/npc/warps/dungeons/alberta_duns.txt
@@ -0,0 +1,58 @@
+//==== Athena Script ========================================
+//= Alberta Field's Script
+//===== By: ==================================================
+//= Nana (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Warp Points for Treasure Island & Turtle Island
+//===== Additional Comments: =================================
+//= Split of Alberta.txt
+//============================================================
+
+//Treasure Island Warp's
+treasure01.gat,112,164,0 warp tre01 1,4,treasure01.gat,97,164
+treasure01.gat,125,161,0 warp tre02 1,3,treasure01.gat,144,161
+treasure01.gat,142,161,0 warp tre02-1 1,3,treasure01.gat,123,161
+treasure01.gat,164,114,0 warp tre03 3,1,treasure01.gat,164,88
+treasure01.gat,164,91,0 warp tre03-1 5,1,treasure01.gat,164,116
+treasure01.gat,99,164,0 warp tre01-1 1,4,treasure01.gat,114,164
+treasure01.gat,76,111,0 warp tre10 1,3,treasure01.gat,100,111
+treasure01.gat,38,164,0 warp tre04-1 1,4,treasure01.gat,25,164
+treasure01.gat,41,111,0 warp tre05 1,3,treasure01.gat,63,111
+treasure01.gat,62,111,0 warp tre05-1 1,3,treasure01.gat,39,111
+treasure01.gat,27,164,0 warp tre04 1,4,treasure01.gat,40,164
+treasure01.gat,69,75,0 warp tre07 2,1,treasure01.gat,69,106
+treasure01.gat,69,125,0 warp tre08 4,1,treasure01.gat,69,142
+treasure01.gat,69,140,0 warp tre08-1 4,1,treasure01.gat,69,123
+treasure01.gat,98,111,0 warp tre10-1 1,3,treasure01.gat,74,111
+treasure01.gat,69,177,0 warp tre002 3,1,treasure02.gat,102,27
+treasure01.gat,41,37,0 warp tre06 1,3,treasure01.gat,61,37
+treasure01.gat,58,37,0 warp tre06-1 1,3,treasure01.gat,39,37
+treasure01.gat,69,102,0 warp tre07-1 2,1,treasure01.gat,69,77
+treasure01.gat,79,37,0 warp tre09 1,3,treasure01.gat,98,37
+treasure01.gat,96,37,0 warp tre09-1 1,3,treasure01.gat,77,37
+treasure01.gat,69,22,0 warp tre001 4,1,alb2trea.gat,85,107
+treasure02.gat,102,103,0 warp tre11 5,1,treasure02.gat,102,120
+treasure02.gat,102,118,0 warp tre11-1 5,1,treasure02.gat,102,101
+treasure02.gat,155,128,0 warp tre13-1 1,1,treasure02.gat,155,97
+treasure02.gat,155,99,0 warp tre13 1,1,treasure02.gat,155,130
+treasure02.gat,49,99,0 warp tre14-1 1,1,treasure02.gat,49,130
+treasure02.gat,102,24,0 warp tre003 3,1,treasure01.gat,69,179
+treasure02.gat,123,72,0 warp tre12 1,4,treasure02.gat,140,72
+treasure02.gat,138,72,0 warp tre12-1 1,4,treasure02.gat,121,72
+treasure02.gat,49,128,0 warp tre14 1,1,treasure02.gat,49,97
+treasure02.gat,65,72,0 warp tre15 1,4,treasure02.gat,82,72
+treasure02.gat,80,72,0 warp tre15-1 1,4,treasure02.gat,63,72
+
+//Turtle Island Warp's
+tur_dun01.gat,154,241,0 warp ttl01 1,1,tur_dun02.gat,148,264
+tur_dun02.gat,148,268,0 warp ttl01-1 1,1,tur_dun01.gat,154,237
+tur_dun02.gat,167,19,0 warp ttl02 1,1,tur_dun03.gat,132,189
+tur_dun03.gat,132,193,0 warp ttl02-1 1,1,tur_dun02.gat,167,23
+tur_dun03.gat,217,71,0 warp ttl03 1,1,tur_dun04.gat,100,192
+tur_dun04.gat,100,196,0 warp ttl03-1 1,1,tur_dun03.gat,215,75
+tur_dun05.gat,89,69,0 warp ttl05 1,1,tur_dun02.gat,148,264
+tur_dun05.gat,9,45,0 warp ttl06 1,1,tur_dun01.gat,154,237 \ No newline at end of file
diff --git a/npc/warps/dungeons/alde_ct.txt b/npc/warps/dungeons/alde_ct.txt
new file mode 100644
index 000000000..69d2a6df7
--- /dev/null
+++ b/npc/warps/dungeons/alde_ct.txt
@@ -0,0 +1,226 @@
+//===== Athena Script ========================================
+//= Al de Baran Clock Tower Warp Script
+//===== By: ==================================================
+//= Nana (1.0)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 2+
+//===== Description: =========================================
+//= Warp Points for Clock Tower
+//===== Additional Comments: =================================
+//= Split off Aldebaran.txt
+//= 1.1 fixed clt007 warp
+//============================================================
+
+//= Al De Baran Clock Tower
+aldebaran.gat,139,135,0 warp ald002 1,1,c_tower1.gat,199,159
+c_tower1.gat,200,157,0 warp ald003 1,1,aldebaran.gat,139,131
+c_tower1.gat,235,226,0 warp clt001 1,1,c_tower2.gat,268,26
+c_tower1.gat,123,22,0 warp clt002 1,1,alde_dun01.gat,297,25
+c_tower2.gat,142,283,0 warp clt003 1,1,c_tower3.gat,65,147
+c_tower2.gat,24,24,0 warp clt004 1,1,alde_dun03.gat,277,178
+c_tower2.gat,273,26,0 warp clt005 1,1,c_tower1.gat,235,223
+
+//============================================================
+//= Level 2 ==================================================
+//= Random 2-1 ===============================================
+c_tower2.gat,13,288,4 script clt006r 45,1,1,{
+ set @r,rand(3);
+ if(@r==0) goto w1;
+ if(@r==1) goto w2;
+ if(@r==2) goto w3;
+ w1: warp "c_tower2.gat",13,282; end;
+ w2: warp "alde_dun03.gat",175,131; end;
+ w3: warp "c_tower3.gat",235,7; end;
+}
+//============================================================
+//= Random 2-2 ===============================================
+c_tower2.gat,223,267,4 script clt007r 45,1,1,{
+ set @r,rand(3);
+ if(@r==0) goto w1;
+ if(@r==1) goto w2;
+ if(@r==2) goto w3;
+ w1: warp "c_tower2.gat",288,267; end;
+ w2: warp "alde_dun03.gat",130,130; end;
+ w3: warp "c_tower3.gat",252,29; end;
+}
+//============================================================
+//= Level 3 ==================================================
+c_tower3.gat,60,147,0 warp clt009 1,1,c_tower2.gat,148,283
+c_tower3.gat,212,159,0 warp clt010 1,1,alde_dun03.gat,276,53
+c_tower3.gat,7,39,0 warp clt011 1,1,alde_dun01.gat,171,158
+c_tower3.gat,42,41,0 warp clt012 1,1,alde_dun02.gat,127,169
+c_tower3.gat,146,8,0 warp clt013 1,1,c_tower1.gat,235,223
+//============================================================
+//= Random 3-1 ===============================================
+c_tower3.gat,163,252,4 script clt014r 45,1,1,{
+ set @r,rand(2);
+ if(@r==0) goto w1;
+ if(@r==1) goto w2;
+ w1: warp "c_tower3.gat",168,252; end;
+ w2: warp "alde_dun02.gat",262,41; end;
+}
+//============================================================
+//= Random 3-2 ===============================================
+c_tower3.gat,240,7,4 script clt015r 45,1,1,{
+ set @r,rand(3);
+ if(@r==0) goto w1;
+ if(@r==1) goto w2;
+ if(@r==2) goto w3;
+ w1: warp "c_tower2.gat",13,282; end;
+ w2: warp "alde_dun03.gat",175,131; end;
+ w3: warp "c_tower3.gat",235,7; end;
+}
+//============================================================
+//= Random 3-3 ===============================================
+c_tower3.gat,252,24,4 script clt016r 45,1,1,{
+ set @r,rand(3);
+ if(@r==0) goto w1;
+ if(@r==1) goto w2;
+ if(@r==2) goto w3;
+ w1: warp "c_tower2.gat",228,267; end;
+ w2: warp "alde_dun03.gat",130,130; end;
+ w3: warp "c_tower3.gat",252,29; end;
+}
+//============================================================
+//= Level 4 ==================================================
+c_tower4.gat,37,70,0 warp clt017 1,1,alde_dun03.gat,277,54
+c_tower4.gat,51,156,0 warp clt018 1,1,alde_dun01.gat,171,158
+c_tower4.gat,68,46,0 warp clt019 1,1,c_tower4.gat,73,154
+c_tower4.gat,70,19,0 warp clt020 2,2,c_tower3.gat,151,8
+c_tower4.gat,79,49,0 warp clt021 2,2,c_tower4.gat,204,60
+c_tower4.gat,133,202,0 warp clt022 1,1,c_tower4.gat,140,149
+c_tower4.gat,153,107,0 warp clt023 1,1,c_tower2.gat,228,267
+c_tower4.gat,171,179,0 warp clt024 1,1,alde_dun03.gat,276,53
+c_tower4.gat,198,59,0 warp clt025 1,1,c_tower4.gat,152,98
+c_tower4.gat,204,57,0 warp clt026 1,1,c_tower4.gat,65,77
+//============================================================
+//= Random 4-1 ===============================================
+c_tower4.gat,75,156,4 script clt027r 45,0,0,{
+ set @r,rand(4);
+ if(@r==0) goto w1;
+ if(@r==1) goto w2;
+ if(@r==2) goto w3;
+ if(@r==3) goto w4;
+ w1: warp "c_tower3.gat",168,252; end;
+ w2: warp "alde_dun02.gat",262,41; end;
+ w3: warp "c_tower4.gat",73,154; end;
+ w4: warp "c_tower4.gat",140,149; end;
+}
+//============================================================
+//= Random 4-2 ===============================================
+c_tower4.gat,68,79,4 script clt028r 45,0,0,{
+ set @r,rand(4);
+ if(@r==0) goto w1;
+ if(@r==1) goto w2;
+ if(@r==2) goto w3;
+ if(@r==3) goto w4;
+ w1: warp "c_tower2.gat",13,282; end;
+ w2: warp "alde_dun03.gat",175,131; end;
+ w3: warp "c_tower3.gat",235,7; end;
+ w4: warp "c_tower4.gat",65,77; end;
+}
+//============================================================
+//= Random 4-3 ===============================================
+c_tower4.gat,142,151,4 script clt029r 45,0,0,{
+ set @r,rand(4);
+ if(@r==0) goto w1;
+ if(@r==1) goto w2;
+ if(@r==2) goto w3;
+ if(@r==3) goto w4;
+ w1: warp "c_tower3.gat",168,252; end;
+ w2: warp "alde_dun02.gat",262,41; end;
+ w3: warp "c_tower4.gat",73,154; end;
+ w4: warp "c_tower4.gat",140,149; end;
+}
+//============================================================
+//= Random 4-4 ===============================================
+c_tower4.gat,151,96,4 script clt030r 45,0,0,{
+ set @r,rand(4);
+ if(@r==0) goto w1;
+ if(@r==1) goto w2;
+ if(@r==2) goto w3;
+ if(@r==3) goto w4;
+ w1: warp "c_tower2.gat",228,267; end;
+ w2: warp "alde_dun03.gat",130,130; end;
+ w3: warp "c_tower3.gat",252,29; end;
+ w4: warp "c_tower4.gat",152,95; end;
+}
+//============================================================
+//= Random 4-5 ===============================================
+c_tower4.gat,189,40,4 script clt031r 45,2,2,{
+ set @r,rand(4);
+ if(@r==0) goto w1;
+ if(@r==1) goto w2;
+ if(@r==2) goto w3;
+ if(@r==3) goto w4;
+ w1: warp "c_tower2.gat",228,267; end;
+ w2: warp "alde_dun03.gat",130,130; end;
+ w3: warp "c_tower3.gat",252,29; end;
+ w4: warp "c_tower4.gat",152,95; end;
+}
+//============================================================
+//============================================================
+alde_dun01.gat,292,306,0 warp aldd01 2,1,alde_dun02.gat,43,24
+alde_dun01.gat,167,158,0 warp ald002 2,2,c_tower2.gat,148,283
+alde_dun01.gat,302,25,0 warp ald003 2,2,c_tower1.gat,125,22
+alde_dun02.gat,43,20,0 warp aldd04 1,1,alde_dun01.gat,292,300
+alde_dun02.gat,279,250,0 warp aldd05 2,2,alde_dun03.gat,18,267
+alde_dun02.gat,122,169,0 warp ald006 2,2,c_tower3.gat,47,41
+alde_dun02.gat,187,234,0 warp ald007 2,2,c_tower3.gat,65,147
+//============================================================
+//= Random B2 ================================================
+alde_dun02.gat,267,41,4 script clt008r 45,1,1,{
+ set @r,rand(2);
+ if(@r==0) goto w1;
+ if(@r==1) goto w2;
+ w1: warp "c_tower3.gat",168,252; end;
+ w2: warp "alde_dun02.gat",262,141; end;
+}
+alde_dun03.gat,12,267,0 warp aldd09 2,2,alde_dun02.gat,273,250
+alde_dun03.gat,277,183,0 warp ald010 2,2,c_tower2.gat,27,27
+alde_dun03.gat,191,31,0 warp ald011 2,2,c_tower3.gat,217,159
+alde_dun03.gat,276,48,0 warp ald012 2,2,c_tower1.gat,235,223
+//============================================================
+//7(npc)
+//= Random B3-1 ================================================
+alde_dun03.gat,130,125,4 script clt014r 45,1,1,{
+ set @r,rand(3);
+ if(@r==0) goto w1;
+ if(@r==1) goto w2;
+ if(@r==2) goto w3;
+ w1: warp "c_tower2.gat",228,267; end;
+ w2: warp "alde_dun03.gat",130,130; end;
+ w3: warp "c_tower3.gat",252,29; end;
+}
+//============================================================
+//= Random 3-2 ===============================================
+alde_dun03.gat,171,127,4 script clt015r 45,1,1,{
+ set @r,rand(4);
+ if(@r==0) goto w1;
+ if(@r==1) goto w2;
+ if(@r==2) goto w3;
+ w1: warp "c_tower2.gat",13,282; end;
+ w2: warp "alde_dun03.gat",175,131; end;
+ w3: warp "c_tower3.gat",235,7; end;
+}
+alde_dun04.gat,80,273,0 warp aldd016 2,2,alde_dun03.gat,263,26
+alde_dun04.gat,207,225,0 warp ald017 1,1,c_tower3.gat,7,34
+alde_dun04.gat,215,192,0 warp ald018 1,1,c_tower2.gat,148,283
+alde_dun04.gat,32,74,0 warp aldd19 1,1,alde_dun02.gat,187,239
+alde_dun04.gat,208,58,0 warp aldd20 2,2,alde_dun04.gat,268,74
+alde_dun04.gat,272,74,0 warp aldd021 2,2,alde_dun04.gat,204,62
+alde_dun04.gat,80,34,4 script clt022r 45,1,1,{
+ set @r,rand(4);
+ if(@r==0) goto w1;
+ if(@r==1) goto w2;
+ if(@r==2) goto w3;
+ if(@r==3) goto w4;
+ w1: warp "c_tower2.gat",13,282; end;
+ w2: warp "alde_dun03.gat",175,131; end;
+ w3: warp "c_tower3.gat",235,7; end;
+ w4: warp "alde_dun04.gat",84,36; end;
+}
+//============================================================
+//============================================================
diff --git a/npc/warps/dungeons/amatsu_dun.txt b/npc/warps/dungeons/amatsu_dun.txt
new file mode 100644
index 000000000..123c2634c
--- /dev/null
+++ b/npc/warps/dungeons/amatsu_dun.txt
@@ -0,0 +1,21 @@
+//===== Athena Script ========================================
+//= Amatsu Dungeon Script
+//===== By: ==================================================
+//= Nana (1.0)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 6+
+//===== Description: =========================================
+//= Warp Points for Amatsu
+//===== Additional Comments: =================================
+//= Split off amatsu.txt
+//============================================================
+
+//= Amatsu Dungeon ===========================================
+//disabled due to amatsu dungeon quest
+//ama_dun01.gat,228,6,0 warp warp8007 1,1,ama_test.gat,50,87
+ama_dun01.gat,234,143,0 warp warp8008 1,1,ama_dun02.gat,31,41
+ama_dun02.gat,196,124,0 warp warp8010 1,1,ama_dun03.gat,119,14
+ama_dun02.gat,29,41,0 warp warp8009 1,1,ama_dun01.gat,231,143
+ama_dun03.gat,119,9,0 warp warp8011 1,1,ama_dun02.gat,196,121 \ No newline at end of file
diff --git a/npc/warps/dungeons/ant_hell.txt b/npc/warps/dungeons/ant_hell.txt
new file mode 100644
index 000000000..808f5c4b2
--- /dev/null
+++ b/npc/warps/dungeons/ant_hell.txt
@@ -0,0 +1,27 @@
+//===== Athena Script ========================================
+//= Ant Hell Warp Script
+//===== By: ==================================================
+//= Nana (1.0)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Warp Points for Ant Hell
+//===== Additional Comments: =================================
+//= No Comment!
+//============================================================
+
+//= Ant Hell =================================================
+anthell01.gat,35,267,0 script ant001 45,1,1,{
+ if( anthell==1) goto moc15;
+ warp "moc_fild04.gat",213,327; end;
+moc15: warp "moc_fild15.gat",251,248; end;
+}
+anthell02.gat,171,169,0 script ant001 45,1,2,{
+ if(anthell==0) goto moc15;
+ warp "moc_fild04.gat",213,327; end;
+moc15: warp "moc_fild15.gat",251,248; end;
+}
+anthell01.gat,253,32,0 warp ant01 2,1,anthell02.gat,34,263
+anthell02.gat,32,267,0 warp ant01-1 2,2,anthell01.gat,253,35
diff --git a/npc/warps/dungeons/ayo_dun.txt b/npc/warps/dungeons/ayo_dun.txt
new file mode 100644
index 000000000..1a3a9cc15
--- /dev/null
+++ b/npc/warps/dungeons/ayo_dun.txt
@@ -0,0 +1,21 @@
+//===== Athena Script ========================================
+//= Ayothaya Dungeon Warp Script
+//===== By: ==================================================
+//= eAthena Team (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 10+
+//===== Description: =========================================
+//= Warp Points for Ayothaya Dungeon
+//===== Additional Comments: =================================
+//= 1.0 Splitted 2 files [Lupus]
+//= Should some warps be disabled due to Dungeon Quest?
+//============================================================
+
+
+//Dungeon
+ayo_fild02.gat,285,150,0 warp ayodunwrp001 2,2,ayo_dun01.gat,275,17
+ayo_dun01.gat,275,14,0 warp ayodunwrp002 2,2,ayo_fild02.gat,282,150
+ayo_dun02.gat,24,21,0 warp ayodunwrp003 2,2,ayo_dun01.gat,24,281
+ayo_dun02.gat,275,21,0 warp ayodunwrp004 2,2,ayo_dun01.gat,24,281
diff --git a/npc/warps/dungeons/coal_mine.txt b/npc/warps/dungeons/coal_mine.txt
new file mode 100644
index 000000000..7ad8ef934
--- /dev/null
+++ b/npc/warps/dungeons/coal_mine.txt
@@ -0,0 +1,22 @@
+//===== Athena Script ========================================
+//= Coal Mine Warp Script
+//===== By: ==================================================
+//= Nana (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Warp Points for Coal Mines
+//===== Additional Comments: =================================
+//= No Comment!
+//============================================================
+
+//= Coal Mine ================================================
+mjo_dun01.gat,14,283,0 warp mjod01 2,4,mjo_dun02.gat,381,343
+mjo_dun01.gat,52,14,0 warp mjod001 4,2,mjolnir_02.gat,79,363
+mjo_dun02.gat,31,21,0 warp mjod02 1,1,mjo_dun03.gat,302,262
+mjo_dun02.gat,384,343,0 warp mjod01-1 2,4,mjo_dun01.gat,17,283
+mjo_dun02.gat,39,21,0 warp mjod03 1,1,mjo_dun03.gat,308,262
+mjo_dun03.gat,302,264,0 warp mjod02-1 1,1,mjo_dun02.gat,31,23
+mjo_dun03.gat,308,264,0 warp mjod03-1 1,1,mjo_dun02.gat,39,23 \ No newline at end of file
diff --git a/npc/warps/dungeons/com_dun.txt b/npc/warps/dungeons/com_dun.txt
new file mode 100644
index 000000000..faaf38422
--- /dev/null
+++ b/npc/warps/dungeons/com_dun.txt
@@ -0,0 +1,19 @@
+//===== Athena Script ========================================
+//= Comodo Dungeon Warp
+//===== By: ==================================================
+//= Nana (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Warp Points Comodo Dungeon
+//===== Additional Comments: =================================
+//= No comment!
+//============================================================
+
+//Beach Dungeon ==================================================
+beach_dun.gat,276,67,0 warp cmd004 1,1,comodo.gat,31,215
+beach_dun2.gat,154,13,0 warp cmd005 2,1,comodo.gat,176,353
+beach_dun3.gat,17,265,0 warp cmd007 1,1,comodo.gat,328,175
+beach_dun3.gat,286,57,0 warp cmd006 1,1,cmd_fild01.gat,30,317 \ No newline at end of file
diff --git a/npc/warps/dungeons/ein_dun.txt b/npc/warps/dungeons/ein_dun.txt
new file mode 100644
index 000000000..71811e9c9
--- /dev/null
+++ b/npc/warps/dungeons/ein_dun.txt
@@ -0,0 +1,19 @@
+//===== Athena Script ========================================
+//= Einbroch Warp Script
+//===== By: ==================================================
+//= Sara-chan (1.3), SSUNNY@YOUNG(1.4)
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 8+
+//===== Description: =========================================
+//= Warp Points for Einbroch
+//===== Additional Comments: =================================
+//= 1.4 Updated Warps, work done by SSUNNY@YOUNG in Korean eA site [Vicious]
+//============================================================
+
+//Dungeon Warps
+einbech.gat,138,252,0 warp eib_d01 1,1,ein_dun01.gat,22,14
+ein_dun01.gat,22,11,0 warp eib_d01a 1,1,einbech.gat,138,249
+ein_dun01.gat,262,256,0 warp ein012 1,1,ein_dun02.gat,292,290
+ein_dun02.gat,292,292,0 warp ein012a 1,1,ein_dun01.gat,262,258
diff --git a/npc/warps/dungeons/geffen_dun.txt b/npc/warps/dungeons/geffen_dun.txt
new file mode 100644
index 000000000..3e4925550
--- /dev/null
+++ b/npc/warps/dungeons/geffen_dun.txt
@@ -0,0 +1,46 @@
+//===== Athena Script ========================================
+//= Geffen Warp Script
+//===== By: ==================================================
+//= Nana (1.0)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Warp Points for Geffen Tower
+//===== Additional Comments: =================================
+//= Removed the warp from gef_dun02.gat to gef_dun03.gat, [MasterOfMuppets]
+//= gef_dun03.gat is just an event map...
+//============================================================
+
+//= Geffen Tower =============================================
+gef_tower.gat,106,115,0 warp geft01 1,1,gef_tower.gat,106,72
+gef_tower.gat,106,69,0 warp geft01-1 1,1,gef_tower.gat,106,112
+gef_tower.gat,44,36,0 warp geft02 1,1,gef_tower.gat,106,162
+gef_tower.gat,106,158,0 warp geft02-1 1,1,gef_tower.gat,44,33
+gef_tower.gat,118,68,0 warp geft03 1,1,gef_tower.gat,116,28
+gef_tower.gat,116,31,0 warp geft03-1 1,1,gef_tower.gat,118,71
+gef_tower.gat,120,158,0 warp geft04 1,1,gef_tower.gat,118,111
+gef_tower.gat,118,114,0 warp geft04-1 1,1,gef_tower.gat,120,161
+gef_tower.gat,158,104,0 warp geft05 2,2,gef_tower.gat,156,90
+gef_tower.gat,156,93,0 warp geft05-1 2,2,gef_tower.gat,158,107
+gef_tower.gat,158,150,0 warp geft06 1,2,gef_tower.gat,158,124
+gef_tower.gat,158,128,0 warp geft06-1 2,1,gef_tower.gat,158,153
+gef_tower.gat,158,174,0 warp geft07 2,1,gef_tower.gat,52,140
+gef_tower.gat,52,136,0 warp geft07-1 2,1,gef_tower.gat,158,169
+gef_tower.gat,38,160,0 warp geft08 2,1,gef_tower.gat,42,90
+gef_tower.gat,42,86,0 warp geft08-1 1,1,gef_tower.gat,38,157
+gef_tower.gat,66,156,0 warp geft08-2 2,1,gef_tower.gat,42,90
+gef_tower.gat,153,28,0 warp gef005 4,2,gef_dun00.gat,104,99
+gef_tower.gat,52,181,0 warp gef006 4,1,geffen.gat,120,110
+gef_tower.gat,60,32,0 warp geft09 1,1,gef_tower.gat,62,90
+gef_tower.gat,62,87,0 warp geft09-1 1,1,gef_tower.gat,60,30
+
+//= Geffen Dungeon =============================================
+gef_dun00.gat,104,103,0 warp gef024 3,3,gef_tower.gat,153,31
+gef_dun00.gat,107,169,0 warp gefd01 2,1,gef_dun01.gat,115,236
+gef_dun01.gat,115,240,0 warp gefd01-1 2,2,gef_dun00.gat,107,165
+gef_dun01.gat,197,38,0 warp gefd02 2,1,gef_dun02.gat,106,132
+gef_dun02.gat,106,134,0 warp gefd02-1 2,1,gef_dun01.gat,197,40
+//gef_dun02.gat,215,67,0 warp gefd03 2,1,gef_dun03.gat,203,200
+gef_dun03.gat,203,204,0 warp gefd03-1 2,1,gef_dun02.gat,215,63 \ No newline at end of file
diff --git a/npc/warps/dungeons/gon_dun.txt b/npc/warps/dungeons/gon_dun.txt
new file mode 100644
index 000000000..6474ca29e
--- /dev/null
+++ b/npc/warps/dungeons/gon_dun.txt
@@ -0,0 +1,40 @@
+//===== Athena Script ========================================
+//= Gonryun Dungeon Warp Script
+//===== By: ==================================================
+//= Nana (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 5+
+//===== Description: =========================================
+//= Warp Points for Gonryun
+//===== Additional Comments: =================================
+//= No comment!
+//============================================================
+
+//= Gonryun Dungeon ==========================================
+gon_dun01.gat,153,45,0 warp gon20 1,1,gonryun.gat,159,198
+gon_dun01.gat,162,273,0 warp gon21 1,1,gon_dun02.gat,17,113
+gon_dun02.gat,14,113,0 warp gon22 1,1,gon_dun01.gat,162,270
+gon_dun02.gat,56,119,0 warp gon23 1,1,gon_dun02.gat,47,210/*‘ŠŒÝF*/
+gon_dun02.gat,92,190,0 warp gon24 1,1,gon_dun02.gat,199,20/*‘ŠŒÝE*/
+gon_dun02.gat,44,213,0 warp gon25 1,1,gon_dun02.gat,51,119/*‘ŠŒÝF*/
+gon_dun02.gat,44,166,0 warp gon26 1,1,gon_dun02.gat,97,121/*Šm’è*/
+gon_dun02.gat,94,118,0 warp gon27 1,1,gon_dun02.gat,177,189/*Šm’è*/
+gon_dun02.gat,76,100,0 warp gon28 1,1,gon_dun02.gat,145,62/*Šm’è*/
+gon_dun02.gat,63,66,0 warp gon29 1,1,gon_dun02.gat,203,94/*‘ŠŒÝA*/
+gon_dun02.gat,86,44,0 warp gon30 1,1,gon_dun02.gat,145,233/*Šm’è*/
+gon_dun02.gat,148,236,0 warp gon31 1,1,gon_dun02.gat,234,194/*‘ŠŒÝD*/
+gon_dun02.gat,171,258,0 warp gon32 1,1,gon_dun02.gat,76,96/*Šm’è*/
+gon_dun02.gat,180,189,0 warp gon33 1,1,gon_dun02.gat,170,164/*Šm’è*/
+gon_dun02.gat,165,189,0 warp gon34 1,1,gon_dun02.gat,235,135/*‘ŠŒÝC*/
+gon_dun02.gat,170,161,0 warp gon35 1,1,gon_dun02.gat,89,41/*Šm’è*/
+gon_dun02.gat,168,92,0 warp gon36 1,1,gon_dun02.gat,273,76/*‘ŠŒÝB*/
+gon_dun02.gat,145,66,0 warp gon37 1,1,gon_dun02.gat,199,20/*Šm’è*/
+gon_dun02.gat,234,191,0 warp gon38 1,1,gon_dun02.gat,145,233/*‘ŠŒÝD*/
+gon_dun02.gat,235,138,0 warp gon39 1,1,gon_dun02.gat,168,189/*‘ŠŒÝC*/
+gon_dun02.gat,199,94,0 warp gon40 1,1,gon_dun02.gat,60,70/*‘ŠŒÝA*/
+gon_dun02.gat,276,76,0 warp gon41 1,1,gon_dun02.gat,163,87/*‘ŠŒÝB*/
+gon_dun02.gat,196,20,0 warp gon42 1,1,gon_dun02.gat,95,190/*‘ŠŒÝE*/
+gon_dun02.gat,251,268,0 warp gon43 1,1,gon_dun03.gat,68,9
+gon_dun03.gat,68,6,0 warp gon44 1,1,gon_dun02.gat,251,265
diff --git a/npc/warps/dungeons/izlude_dun.txt b/npc/warps/dungeons/izlude_dun.txt
new file mode 100644
index 000000000..aa653fb89
--- /dev/null
+++ b/npc/warps/dungeons/izlude_dun.txt
@@ -0,0 +1,30 @@
+//===== Athena Script ========================================
+//= Izlude Dungeon Warp Script
+//===== By: ==================================================
+//= Athena (1.0)
+//= Nana (1.1)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Warp Points for Bibilyn Island & Undersea Cave
+//===== Additional Comments: =================================
+//= No comment!
+//============================================================
+
+//= Bibilyn Island ===========================================
+izlu2dun.gat,108,83,0 warp izd01 3,2,iz_dun00.gat,168,168
+
+//= Undersea Cave ============================================
+iz_dun00.gat,168,173,0 warp izd01-1 3,3,izlu2dun.gat,108,88
+iz_dun00.gat,352,342,0 warp izd02 5,2,iz_dun01.gat,253,252
+iz_dun00.gat,39,41,0 warp izd03 5,2,iz_dun01.gat,41,37
+iz_dun01.gat,118,170,0 warp izd04 5,2,iz_dun02.gat,236,204
+iz_dun01.gat,253,258,0 warp izd02-1 2,2,iz_dun00.gat,352,337
+iz_dun01.gat,41,32,0 warp izd03-1 2,2,iz_dun00.gat,39,46
+iz_dun02.gat,236,198,0 warp izd04-1 5,3,iz_dun01.gat,118,165
+iz_dun02.gat,339,331,0 warp izd05 2,2,iz_dun03.gat,32,63
+iz_dun03.gat,264,245,0 warp izd06 1,2,iz_dun04.gat,26,27
+iz_dun03.gat,29,63,0 warp izd05-1 2,2,iz_dun02.gat,339,328
+iz_dun04.gat,26,24,0 warp izd06-1 2,2,iz_dun03.gat,261,245 \ No newline at end of file
diff --git a/npc/warps/dungeons/juperos.txt b/npc/warps/dungeons/juperos.txt
new file mode 100644
index 000000000..1615b7599
--- /dev/null
+++ b/npc/warps/dungeons/juperos.txt
@@ -0,0 +1,138 @@
+//===== Athena Script ========================================
+//= Juperos Dungeon Warp Script
+//===== By: ==================================================
+//= Muad-Dib (1.0)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 8+
+//===== Description: =========================================
+//= Warp Points for Juperos Dungeon
+//===== Additional Comments: =================================
+//= 1.0 Converted by Dr.Evil [Lupus]
+//= 1.1 More temp warps to Juperos by Justin84 [Lupus]
+//= 1.2 Justin84's fixed elevator scripts
+//============================================================
+
+yuno_fild07.gat,207,175,0 warp jupwrp01 1,1,jupe_cave.gat,143,52
+jupe_cave.gat,148,52,0 warp jupwrp02 1,1,yuno_fild07.gat,212,175
+jupe_cave.gat,26,52,0 warp jupwrp03 1,1,juperos_01.gat,53,247
+juperos_01.gat,50,250,0 warp jupwrp04 1,1,jupe_cave.gat,29,52
+juperos_01.gat,99,92,0 warp jupwrp05 1,1,juperos_02.gat,36,60
+juperos_02.gat,33,60,0 warp jupwrp06 1,1,juperos_01.gat,99,88
+jupe_ele_r.gat,49,27,0 warp jupwrp07 1,1,jupe_gate.gat,49,52
+jupe_gate.gat,49,55,0 warp jupwrp08 1,1,jupe_ele_r.gat,49,30
+
+jupe_gate.gat,28,30,0 warp jupwrp11 1,1,jupe_area1.gat,115,158
+jupe_area1.gat,118,158,0 warp jupwrp12 1,1,jupe_gate.gat,31,30
+jupe_gate.gat,71,30,0 warp jupwrp13 1,1,jupe_area2.gat,48,158
+jupe_area2.gat,45,158,0 warp jupwrp14 1,1,jupe_gate.gat,68,30
+jupe_gate.gat,28,146,0 warp jupwrp15 1,1,jupe_area1.gat,101,222
+jupe_area1.gat,103,222,0 warp jupwrp16 1,1,jupe_gate.gat,31,146
+jupe_gate.gat,71,146,0 warp jupwrp17 1,1,jupe_area2.gat,62,222
+jupe_area2.gat,60,222,0 warp jupwrp18 1,1,jupe_gate.gat,68,146
+
+jupe_area1.gat,84,222,0 warp jupwrp21 1,1,jupe_area1.gat,45,260
+jupe_area1.gat,48,260,0 warp jupwrp22 1,1,jupe_area1.gat,86,222
+jupe_area1.gat,22,226,0 warp jupwrp23 1,1,jupe_area1.gat,22,189
+jupe_area1.gat,22,192,0 warp jupwrp24 1,1,jupe_area1.gat,22,228
+jupe_area1.gat,34,138,0 warp jupwrp25 1,1,jupe_area1.gat,34,103
+jupe_area1.gat,34,106,0 warp jupwrp26 1,1,jupe_area1.gat,34,140
+jupe_area1.gat,58,54,0 warp jupwrp27 1,1,jupe_area1.gat,86,158
+jupe_area1.gat,84,158,0 warp jupwrp28 1,1,jupe_area1.gat,55,54
+
+jupe_area2.gat,79,222,0 warp jupwrp31 1,1,jupe_area2.gat,118,260
+jupe_area2.gat,115,260,0 warp jupwrp32 1,1,jupe_area2.gat,77,222
+jupe_area2.gat,141,226,0 warp jupwrp33 1,1,jupe_area2.gat,141,189
+jupe_area2.gat,141,192,0 warp jupwrp34 1,1,jupe_area2.gat,141,228
+jupe_area2.gat,129,138,0 warp jupwrp35 1,1,jupe_area2.gat,129,103
+jupe_area2.gat,129,106,0 warp jupwrp36 1,1,jupe_area2.gat,129,140
+jupe_area2.gat,105,54,0 warp jupwrp37 1,1,jupe_area2.gat,77,158
+jupe_area2.gat,79,158,0 warp jupwrp38 1,1,jupe_area2.gat,108,54
+
+juperos_02.gat,129,150,0 script Juperos 111,{
+ mes "Are you sure to enter?";
+ next;
+ menu "Yes",-,"No",J_CLOSE;
+ if(getmapusers("jupe_ele.gat") > 0)goto J_WAIT;
+ initnpctimer;
+ warp "jupe_ele.gat",41,45;
+ end;
+
+J_CLOSE:
+ close;
+
+J_WAIT:
+ mes "Sorry, the elevator is in use,";
+ mes "please wait for a while.";
+ close;
+
+OnTimer1000:
+ mapannounce "jupe_ele.gat","Wait a moment.",16;
+ soundeffect "jupe_warp.wav",0;
+ end;
+
+OnTimer15000:
+ stopnpctimer;
+ setnpctimer 0;
+ warp "jupe_ele_r.gat",50,94;
+ end;
+}
+
+jupe_ele_r.gat,50,98,0 script Juperos Elevator 111,{
+ mes "Are you sure want to go up?";
+ next;
+ menu "Yes",-,"No",J_CLOSE;
+ if(getmapusers("jupe_ele.gat") > 0)goto J_WAIT;
+ initnpctimer;
+ warp "jupe_ele.gat",41,45;
+ end;
+
+J_CLOSE:
+ close;
+
+J_WAIT:
+ mes "Sorry, the elevator is in use,";
+ mes "please wait for a while.";
+ close;
+
+OnTimer1000:
+ mapannounce "jupe_ele.gat","Wait a moment.",16;
+ soundeffect "jupe_warp.wav",0;
+ end;
+
+OnTimer15000:
+ stopnpctimer;
+ setnpctimer 0;
+ warp "juperos_02.gat",129,147;
+ end;
+}
+
+jupe_gate.gat,49,168,0 script Juperos Guard 111,{
+ mes "Are you sure to enter Juperos Core?";
+ next;
+ menu "Yes",-,"No",J_CLOSE;
+ initnpctimer;
+ soundeffect "jupe_warning.wav",0;
+ end;
+
+OnTimer5000:
+ stopnpctimer;
+ setnpctimer 0;
+ warp "jupe_core.gat",150,20;
+ end;
+
+J_CLOSE:
+ close;
+}
+
+jupe_core.gat,150,17,0 script Juperos Guard#2 111,{
+ mes "Leave Juperos Core?";
+ next;
+ menu "Yes",-,"No",J_CLOSE;
+ warp "jupe_gate.gat",49,165;
+ end;
+
+J_CLOSE:
+ close;
+} \ No newline at end of file
diff --git a/npc/warps/dungeons/lhalzen_dun.txt b/npc/warps/dungeons/lhalzen_dun.txt
new file mode 100644
index 000000000..d34569a11
--- /dev/null
+++ b/npc/warps/dungeons/lhalzen_dun.txt
@@ -0,0 +1,75 @@
+//===== Athena Script ========================================
+//= Lighthalzen Dungeon Warp Script
+//===== By: ==================================================
+//= Sara-chan (1.0)
+//===== Current Version: =====================================
+//= 1.6a
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 8+
+//===== Description: =========================================
+//= Warp Points for Lighthalzen Dungeon
+//===== Additional Comments: =================================
+//= No Comment!
+//= 1.1 Added temp restriction by Azazel [Lupus]
+//= 1.2 Optimized [Lupus]
+//= and fixed 005 and 005a warps coords, thanks to Justin84
+//= 1.3 Fixed entrance condition check, thanx2Daegaladh [Lupus]
+//= 1.4 Added coords of secret dungeon entrance, thanks to Justin84
+//= proved with screenshots [Lupus]
+//= 1.5a thx2 Justin84, some additions and fixes [Lupus]
+//= 1.5b re-enabled main entrance warp [Lupus] <-reverted 1.5c
+//= 1.6 Updated entrances, added Cube room warps, thanx 2 Justin84
+//= 1.6a Disabled the "Entrance" to lhz_dun01 [Poki#3]
+//============================================================
+
+lhz_dun03.gat,140,139,0 warp lhz003 1,1,lhz_dun02.gat,150,147
+lhz_dun02.gat,18,150,0 warp lhz004 1,1,lhz_dun01.gat,18,148
+lhz_dun01.gat,18,146,0 warp lhz004a 1,1,lhz_dun02.gat,18,148
+lhz_dun02.gat,282,155,0 warp lhz005 1,1,lhz_dun01.gat,281,152
+lhz_dun01.gat,281,150,0 warp lhz005a 1,1,lhz_dun02.gat,282,153
+lhz_dun02.gat,148,18,0 warp lhz006 1,1,lhz_dun01.gat,146,10
+lhz_dun01.gat,148,10,0 warp lhz006a 1,1,lhz_dun02.gat,150,18
+
+//current entrance
+lhz_dun01.gat,150,290,0 warp lhz007 1,1,lighthalzen.gat,73,54
+//lighthalzen.gat,73,52,0 warp lhz007a 1,1,lhz_dun01.gat,150,288
+//This should be only an Exit. This warp doesn't exist on kRO.
+
+//--------------------------Sewage Tube--------------------------
+
+lighthalzen.gat,313,301,0 script Sewage Tube 111,{
+ mes "The sewage tube which leads to laboratory underground.";
+ next;
+ menu "Enter",M_1,"Do not enter",-;
+ close;
+
+M_1:
+ warp "lhz_cube.gat",231,17;
+ end;
+}
+
+//--------------------------Warp--------------------------
+
+//Cube room <-> Organism test laboratory level 2
+lhz_cube.gat,231,96,0 warp lhzcube1 1,1,lhz_dun02.gat,220,6
+lhz_dun02.gat,224,6,0 warp lhzcube2 1,1,lhz_cube.gat,231,90
+
+//Cube room -> Lighthalzen
+lhz_cube.gat,231,12,0 warp lhzcube3 1,1,lighthalzen.gat,310,302
+lhz_cube.gat,177,96,0 warp lhzcube4 1,1,lighthalzen.gat,310,302
+
+lhz_dun02.gat,150,149,4 script lhz-warp 45,2,2,{
+OnTouch:
+ if(Upper != 1 && BaseLevel<95)goto s_Noentry0;
+ if(Upper == 1 && BaseLevel<90)goto s_Noentry1;
+ warp "lhz_dun03",140,137;
+ end;
+
+s_Noentry0:
+ mes "Non-Advanced class characters must be at least base level 95 to enter level 3 of the Bio Lab Dungeon";
+ close;
+
+s_Noentry1:
+ mes "Advanced class characters must be at least base level 90 to enter level 3 of the Bio Lab Dungeon";
+ close;
+}
diff --git a/npc/warps/dungeons/louyang_dun.txt b/npc/warps/dungeons/louyang_dun.txt
new file mode 100644
index 000000000..278b0e321
--- /dev/null
+++ b/npc/warps/dungeons/louyang_dun.txt
@@ -0,0 +1,20 @@
+//===== Athena Script ========================================
+//= Lou Yang Dungeon Warp Script
+//===== By: ==================================================
+//= Nana (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version 6.0+
+//===== Description: =========================================
+//= Warp Points for Lou Yang
+//===== Additional Comments: =================================
+//= No comment!
+//============================================================
+
+//= Loy Yang Dungeon =========================================
+lou_dun01.gat,222,196,0 warp louwarp002a 3,3,louyang.gat,41,270
+lou_dun01.gat,38,205,0 warp louwarp003 3,3,lou_dun02.gat,282,20
+lou_dun02.gat,286,20,0 warp louwarp003a 3,3,lou_dun01.gat,38,209
+lou_dun02.gat,165,270,0 warp louwarp004 3,3,lou_dun03.gat,165,38
+lou_dun03.gat,165,34,0 warp louwarp004a 3,3,lou_dun02.gat,165,266 \ No newline at end of file
diff --git a/npc/warps/dungeons/lutie_dun.txt b/npc/warps/dungeons/lutie_dun.txt
new file mode 100644
index 000000000..4b8dadd24
--- /dev/null
+++ b/npc/warps/dungeons/lutie_dun.txt
@@ -0,0 +1,18 @@
+//===== Athena Script ========================================
+//= Lutie Dungeon (Toy Factory) Warp Script
+//===== By: ==================================================
+//= Nana (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 2+
+//===== Description: =========================================
+//= Warp Points for Lutie Dungeon (Toy Factory)
+//===== Additional Comments: =================================
+//= No Comment!
+//============================================================
+
+//= Toy Factory ==============================================
+xmas_dun01.gat,128,131,0 warp xmas15 3,3,xmas_dun02.gat,129,133
+xmas_dun01.gat,205,13,0 warp xmas14-1 3,3,xmas.gat,143,311
+xmas_dun02.gat,129,129,0 warp xmas15-1 3,3,xmas_dun01.gat,128,129 \ No newline at end of file
diff --git a/npc/warps/dungeons/morroc_duns.txt b/npc/warps/dungeons/morroc_duns.txt
new file mode 100644
index 000000000..0668196cd
--- /dev/null
+++ b/npc/warps/dungeons/morroc_duns.txt
@@ -0,0 +1,63 @@
+//===== Athena Script ========================================
+//= Morroc Dungeons Warp Script
+//===== By: ==================================================
+//= Nana (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Warp Points for Morroc Dungeons
+//===== Additional Comments: =================================
+//= No Comment!
+//============================================================
+
+//= Morroc Sphinx ============================================
+in_sphinx1.gat,288,6,0 warp sphx001 5,1,moc_fild19.gat,100,99
+in_sphinx1.gat,80,191,0 warp sphx01 2,1,in_sphinx2.gat,149,81
+in_sphinx2.gat,149,77,0 warp sphx01-1 3,2,in_sphinx1.gat,80,189
+in_sphinx2.gat,276,272,0 warp sphx02 1,3,in_sphinx3.gat,210,54
+in_sphinx3.gat,210,57,0 warp sphx02-1 4,1,in_sphinx2.gat,274,272
+in_sphinx3.gat,35,227,0 warp sphx03 2,4,in_sphinx3.gat,62,227
+in_sphinx3.gat,60,227,0 warp sphx03-1 1,4,in_sphinx3.gat,32,227
+in_sphinx3.gat,70,111,0 warp sphx04 1,1,in_sphinx3.gat,70,81
+in_sphinx3.gat,70,83,0 warp sphx04-1 4,1,in_sphinx3.gat,70,113
+in_sphinx3.gat,12,69,0 warp sphx05 4,1,in_sphinx4.gat,10,222
+in_sphinx4.gat,10,224,0 warp sphx05-1 2,1,in_sphinx3.gat,12,71
+in_sphinx4.gat,120,113,0 warp sphx06 4,2,in_sphinx5.gat,100,99
+in_sphinx5.gat,100,96,0 warp sphx06-1 4,2,in_sphinx4.gat,120,116
+in_sphinx5.gat,11,16,0 warp sphx07 3,1,in_sphinx5.gat,189,181
+in_sphinx5.gat,11,183,0 warp sphx07-1 3,1,in_sphinx5.gat,11,18
+in_sphinx5.gat,189,16,0 warp sphx08-1 3,1,in_sphinx5.gat,11,181
+in_sphinx5.gat,16,188,0 warp sphx08-2 1,3,in_sphinx5.gat,181,188
+in_sphinx5.gat,16,10,0 warp sphx08-3 1,3,in_sphinx5.gat,181,10
+in_sphinx5.gat,183,10,0 warp sphx08-4 1,3,in_sphinx5.gat,18,188
+in_sphinx5.gat,183,188,0 warp sphx08-5 1,3,in_sphinx5.gat,18,10
+in_sphinx5.gat,189,183,0 warp sphx08-6 3,1,in_sphinx5.gat,189,18
+
+//= Morroc Pyramid ===========================================
+moc_pryd01.gat,10,195,0 warp mocp01 5,2,moc_pryd02.gat,10,192
+moc_pryd01.gat,195,9,0 warp mocp001 2,5,moc_ruins.gat,60,161
+moc_pryd01.gat,90,109,0 warp mocp02 1,2,moc_prydb1.gat,100,185
+moc_pryd02.gat,10,195,0 warp mocp01-1 5,2,moc_pryd01.gat,10,192
+moc_pryd02.gat,100,99,0 warp mocp03 3,2,moc_pryd03.gat,100,92
+moc_pryd03.gat,100,97,0 warp mocp03-1 3,2,moc_pryd02.gat,100,92
+moc_pryd03.gat,12,15,0 warp mocp04 3,2,moc_pryd04.gat,12,18
+moc_pryd03.gat,15,187,0 warp mocp05 2,3,moc_pryd04.gat,18,187
+moc_pryd03.gat,184,11,0 warp mocp06 2,3,moc_pryd04.gat,181,11
+moc_pryd03.gat,188,184,0 warp mocp07 3,2,moc_pryd04.gat,188,181
+moc_pryd04.gat,12,15,0 warp mocp04-1 3,2,moc_pryd03.gat,12,18
+moc_pryd04.gat,15,187,0 warp mocp05-1 2,3,moc_pryd03.gat,18,187
+moc_pryd04.gat,184,11,0 warp mocp06-1 2,3,moc_pryd03.gat,181,11
+moc_pryd04.gat,188,184,0 warp mocp07-1 3,2,moc_pryd03.gat,188,181
+moc_pryd05.gat,223,9,0 warp mocp08 2,2,moc_pryd06.gat,192,8
+moc_pryd05.gat,94,98,0 warp mocp09 2,1,moc_prydb1.gat,100,57
+moc_pryd06.gat,195,8,0 warp mocp08-1 2,3,moc_pryd05.gat,220,9
+moc_prydb1.gat,100,104,0 warp mocp10 5,2,moc_prydb1.gat,100,74
+moc_prydb1.gat,100,191,0 warp moco02-1 2,2,moc_pryd01.gat,90,105
+moc_prydb1.gat,100,55,0 warp mocp09-1 2,1,moc_pryd05.gat,94,96
+moc_prydb1.gat,100,77,0 warp mocp10-1 5,2,moc_prydb1.gat,100,107
+moc_prydb1.gat,111,115,0 warp mocp11 2,6,moc_prydb1.gat,145,115
+moc_prydb1.gat,142,115,0 warp mocp11-1 2,6,moc_prydb1.gat,108,115
+moc_prydb1.gat,59,115,0 warp mocp12 2,6,moc_prydb1.gat,90,115
+moc_prydb1.gat,87,115,0 warp mocp12-1 2,6,moc_prydb1.gat,56,115
diff --git a/npc/warps/dungeons/odin.txt b/npc/warps/dungeons/odin.txt
new file mode 100644
index 000000000..a4993f60a
--- /dev/null
+++ b/npc/warps/dungeons/odin.txt
@@ -0,0 +1,68 @@
+//===== Athena Script ========================================
+//= Odin Temple Warp Script
+//===== By: ==================================================
+//= birkiczd (1.0)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Warp Points for Odin Temple
+//===== Additional Comments: =================================
+//= 1.1 Move the Saylor from Hugel.txt here. [Poki#3]
+//= Hako's Sprite, cords and price is official. The text is not.
+//============================================================
+
+odin_tem01.gat,378,181,0 warp odin01 1,1,odin_tem02.gat,22,181
+odin_tem02.gat,20,181,0 warp odin02 1,1,odin_tem01.gat,376,181
+odin_tem01.gat,384,334,0 warp odin03 1,1,odin_tem02.gat,23,334
+odin_tem02.gat,20,334,0 warp odin04 1,1,odin_tem01.gat,381,334
+odin_tem02.gat,152,350,0 warp odin05 1,1,odin_tem03.gat,121,51
+odin_tem03.gat,122,48,0 warp odin06 1,1,odin_tem02.gat,153,347
+odin_tem02.gat,259,374,0 warp odin07 1,1,odin_tem03.gat,249,35
+odin_tem03.gat,249,33,0 warp odin08 1,1,odin_tem02.gat,262,371
+
+hugel.gat,209,109,1 script Sailor Hako 709,{
+ mes "[Sailor Hako]";
+ mes "Hello stranger. I'm the only person that offers a unique trip to the cursed Odin Islands.";
+ mes "One of the strongest monsters known to man live there, so no wonder. Ha, ha, ha~!";
+ next;
+ mes "[Sailor Hako]";
+ mes "Anyway I'm planing a trip right now. I'll let you tag along for a measly 800 zeny. You dig?";
+ next;
+ menu "Yeah, I dig.",-,"No, thanks.",L_No;
+ mes "[Sailor Hako]";
+ if (Zeny < 800) goto L_Zeny;
+ set Zeny, Zeny-800;
+ mes "All aboard!";
+ next;
+ warp "odin_tem01.gat",100,145;
+ end;
+
+L_Zeny:
+ mes "Who are ya trying to kid? You're poor like a church mouse!";
+ mes "Come back whey you make some cash, and I'll let you hike along";
+ close;
+
+L_No:
+ mes "[Sailor Hako]";
+ mes "Suit yourself. Se ya!";
+ close;
+}
+
+odin_tem01.gat,93,146,3 script Sailor Hako 709,{
+ mes "[Sailor Hako]";
+ mes "So how is it? Not to hard for ya? Wanna to go back to Hugel?";
+ next;
+ menu "Yeah...",-,"Nope.",L_No;
+ mes "[Sailor Hako]";
+ mes "All aboard!";
+ next;
+ warp "hugel.gat",205,108;
+ end;
+
+L_No:
+ mes "[Sailor Hako]";
+ mes "Suit yourself.";
+ close;
+} \ No newline at end of file
diff --git a/npc/warps/dungeons/orc_dun.txt b/npc/warps/dungeons/orc_dun.txt
new file mode 100644
index 000000000..594e151f5
--- /dev/null
+++ b/npc/warps/dungeons/orc_dun.txt
@@ -0,0 +1,26 @@
+//===== Athena Script ========================================
+//= Orc Dungeon Warp Script
+//===== By: ==================================================
+//= Nana (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Warp Points for Orc Dungeon
+//===== Additional Comments: =================================
+//= No comment!
+//============================================================
+
+//= Orc Dungeon ==============================================
+in_orcs01.gat,108,86,0 warp orc001 3,2,gef_fild10.gat,223,203
+in_orcs01.gat,124,171,0 warp orc002 1,3,gef_fild10.gat,138,329
+in_orcs01.gat,162,55,0 warp orc003 4,1,gef_fild10.gat,214,53
+in_orcs01.gat,29,116,0 warp orc004 4,1,gef_fild10.gat,137,286
+in_orcs01.gat,30,154,0 warp orc005 3,2,gef_fild10.gat,65,335
+in_orcs01.gat,30,182,0 warp orc01 2,1,orcsdun01.gat,32,170
+orcsdun01.gat,32,172,0 warp orc01-1 3,1,in_orcs01.gat,30,180
+in_orcs01.gat,108,114,0 warp orc02 2,1,orcsdun02.gat,180,17
+orcsdun02.gat,180,15,0 warp orc02-1 2,1,in_orcs01.gat,108,112
+orcsdun01.gat,183,8,0 warp orc03 4,2,orcsdun02.gat,21,185
+orcsdun02.gat,21,188,0 warp orc03-1 8,2,orcsdun01.gat,183,11 \ No newline at end of file
diff --git a/npc/warps/dungeons/payon_dun.txt b/npc/warps/dungeons/payon_dun.txt
new file mode 100644
index 000000000..ae809c5b4
--- /dev/null
+++ b/npc/warps/dungeons/payon_dun.txt
@@ -0,0 +1,38 @@
+//===== eAthena Script =======================================
+//= Payon Cave Warps
+//===== By: ==================================================
+//= Nana (1.0)
+//===== Current Version: =====================================
+//= 1.1a
+//===== Compatible With: =====================================
+//= Any eAthena Mod
+//===== Description: =========================================
+//= Payon Dungeon Warps
+//===== Additional Comments: =================================
+//= No Comment
+//= 1.1a Fixed 'payd04r' warping players to a non-existant tile [MasterOfMuppets]
+//============================================================
+
+//= Payon Cave ===============================================
+pay_dun00.gat,184,33,0 warp payd01 2,7,pay_dun01.gat,19,33
+pay_dun00.gat,21,186,0 warp pay005 2,2,pay_arche.gat,39,131
+pay_dun01.gat,15,33,0 warp payd01-1 2,6,pay_dun00.gat,181,33
+pay_dun01.gat,286,25,0 warp payd02 2,7,pay_dun02.gat,19,63
+pay_dun02.gat,137,128,0 warp payd03 4,1,pay_dun03.gat,155,159
+pay_dun02.gat,16,63,0 warp payd02-1 2,7,pay_dun01.gat,283,28
+pay_dun03.gat,155,161,0 warp payd03-1 2,1,pay_dun02.gat,137,126
+pay_dun03.gat,127,62,4 script payd04r 45,2,2,{
+ set @r,rand(4);
+ if(@r==0) goto w1;
+ if(@r==1) goto w2;
+ if(@r==2) goto w3;
+ if(@r==3) goto w4;
+ w1: warp "pay_dun04.gat",201,204; end;
+ w2: warp "pay_dun04.gat",189,43; end;
+ w3: warp "pay_dun04.gat",43,40; end;
+ w4: warp "pay_dun04.gat",34,202; end;
+}
+pay_dun04.gat,191,41,0 warp payd04-2 1,1,pay_dun03.gat,125,62
+pay_dun04.gat,202,206,0 warp payd04-3 1,1,pay_dun03.gat,125,62
+pay_dun04.gat,32,204,0 warp payd04-4 2,1,pay_dun03.gat,125,62
+pay_dun04.gat,40,37,0 warp payd04-1 2,2,pay_dun03.gat,125,62
diff --git a/npc/warps/dungeons/prt_dun.txt b/npc/warps/dungeons/prt_dun.txt
new file mode 100644
index 000000000..85fb44959
--- /dev/null
+++ b/npc/warps/dungeons/prt_dun.txt
@@ -0,0 +1,242 @@
+//===== Athena Script ========================================
+//= Prontera Dungeons Warp Script
+//===== By: ==================================================
+//= Nana (1.0)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Warp Points for Prontera Dungeons
+//===== Additional Comments: =================================
+//= 1.1 updating according to jA. Optimized scripts [Lupus]
+//============================================================
+
+//= Hidden Temple ============================================
+// ----- (1st Floor No.03)(1st Floor No.16)(1st Floor No.20)
+// 1st Floor No.01 -------------------------------------------------------------
+prt_maze01.gat,22,194,0 warp mazewarp5101 1,1,prt_maze01.gat,16,31 /*To No.1-21*/
+prt_maze01.gat,5,186,0 warp mazewarp5102 1,1,prt_maze01.gat,182,88 /*To No.1-15*/
+// 1st Floor No.02
+prt_maze01.gat,58,194,0 warp mazewarp5103 1,1,prt_maze01.gat,23,128 /*To No.1-6*/
+// 1st Floor No.03
+prt_maze01.gat,102,165,0 warp mazewarp5104 1,1,prt_maze01.gat,99,31 /*To No.1-23*/
+prt_maze01.gat,85,174,0 warp mazewarp5105 1,1,prt_maze02.gat,93,20
+// 1st Floor No.04
+prt_maze01.gat,154,181,0 warp mazewarp5106 1,1,prt_maze01.gat,191,175 /*To No.1-5*/
+prt_maze01.gat,125,171,0 warp mazewarp5107 1,1,prt_maze01.gat,8,186 /*To No.1-1*/
+// 1st Floor No.05
+prt_maze01.gat,175,165,0 warp mazewarp5108 1,1,prt_maze01.gat,48,104 /*To No.1-12*/
+prt_maze01.gat,194,175,0 warp mazewarp5109 1,1,prt_maze01.gat,23,128 /*To No.1-6*/
+// 1st Floor No.06
+prt_maze01.gat,18,154,0 warp mazewarp5110 1,1,prt_maze01.gat,177,71 /*To No.1-20*/
+prt_maze01.gat,23,125,0 warp mazewarp5111 1,1,prt_maze01.gat,151,22 /*To No.1-24*/
+prt_maze01.gat,5,140,0 warp mazewarp5112 1,1,prt_maze01.gat,58,48 /*To No.1-17*/
+// 1st Floor No.07
+prt_maze01.gat,54,154,0 warp mazewarp5113 1,1,prt_maze01.gat,191,175 /*To No.1-5*/
+prt_maze01.gat,63,125,0 warp mazewarp5114 1,1,prt_maze01.gat,182,88 /*To No.1-15*/
+// 1st Floor No.08
+prt_maze01.gat,98,154,0 warp mazewarp5115 1,1,prt_maze01.gat,102,168 /*To No.1-3*/
+prt_maze01.gat,114,145,0 warp mazewarp5116 1,1,prt_maze01.gat,23,128 /*To No.1-6*/
+prt_maze01.gat,85,146,0 warp mazewarp5117 1,1,prt_maze01.gat,142,111 /*To No.1-14*/
+// 1st Floor No.09
+prt_maze01.gat,137,125,0 warp mazewarp5118 1,1,prt_maze01.gat,191,139 /*To No.1-10*/
+prt_maze01.gat,154,134,0 warp mazewarp5119 1,1,prt_maze01.gat,58,191 /*To No.1-2*/
+// 1st Floor No.10
+prt_maze01.gat,194,139,0 warp mazewarp5120 1,1,prt_maze01.gat,22,88 /*To No.1-11*/
+prt_maze01.gat,166,139,0 warp mazewarp5121 1,1,prt_maze01.gat,128,173 /*To No.1-4*/
+// 1st Floor No.11
+prt_maze01.gat,17,114,0 warp mazewarp5122 1,1,prt_maze01.gat,8,186 /*To No.1-1*/
+prt_maze01.gat,22,85,0 warp mazewarp5123 1,1,prt_maze01.gat,137,128 /*To No.1-9*/
+// 1st Floor No.12
+prt_maze01.gat,63,114,0 warp mazewarp5124 1,1,prt_maze01.gat,111,56 /*To No.1-18*/
+prt_maze01.gat,63,85,0 warp mazewarp5125 1,1,prt_maze01.gat,151,22 /*To No.1-24*/
+prt_maze01.gat,74,97,0 warp mazewarp5126 1,1,prt_maze01.gat,71,11 /*To No.1-22*/
+prt_maze01.gat,45,104,0 warp mazewarp5127 1,1,prt_maze01.gat,63,128 /*To No.1-7*/
+// 1st Floor No.13
+prt_maze01.gat,105,114,0 warp mazewarp5128 1,1,prt_maze01.gat,111,145 /*To No.1-8?*/
+prt_maze01.gat,114,95,0 warp mazewarp5129 1,1,prt_maze01.gat,14,48 /*To No.1-16*/
+prt_maze01.gat,85,97,0 warp mazewarp5130 1,1,prt_maze01.gat,63,128 /*To No.1-7*/
+// 1st Floor No.14
+prt_maze01.gat,142,114,0 warp mazewarp5131 1,1,prt_maze01.gat,23,128 /*To No.1-6*/
+prt_maze01.gat,125,105,0 warp mazewarp5132 1,1,prt_maze01.gat,14,48 /*To No.1-16*/
+// 1st Floor No.15
+prt_maze01.gat,182,85,0 warp mazewarp5133 1,1,prt_maze01.gat,58,48 /*To No.1-17*/
+prt_maze01.gat,194,94,0 warp mazewarp5134 1,1,prt_maze01.gat,58,191 /*To No.1-2*/
+prt_maze01.gat,168,94,0 warp mazewarp5135 1,1,prt_maze01.gat,191,139 /*To No.1-10*/
+// 1st Floor No.16
+prt_maze01.gat,14,74,0 warp mazewarp5136 1,1,prt_maze01.gat,151,22 /*To No.1-24*/
+prt_maze01.gat,14,45,0 warp mazewarp5137 1,1,mjolnir_12.gat,44,20
+prt_maze01.gat,5,58,0 warp mazewarp5138 1,1,prt_maze01.gat,48,104 /*To No.1-12*/
+// 1st Floor No.17
+prt_maze01.gat,74,74,0 warp mazewarp5139 1,1,prt_maze01.gat,58,191 /*To No.1-2*/
+prt_maze01.gat,52,45,0 warp mazewarp5140 1,1,prt_maze01.gat,139,48 /*To No.1-19*/
+// 1st Floor No.18
+prt_maze01.gat,104,74,0 warp mazewarp5141 1,1,prt_maze01.gat,14,48 /*To No.1-16*/
+prt_maze01.gat,96,45,0 warp mazewarp5142 1,1,prt_maze01.gat,63,128 /*To No.1-7*/
+prt_maze01.gat,114,56,0 warp mazewarp5143 1,1,prt_maze01.gat,176,8 /*To No.1-25*/
+prt_maze01.gat,85,56,0 warp mazewarp5144 1,1,prt_maze01.gat,105,111 /*To No.1-13*/
+// 1st Floor No.19
+prt_maze01.gat,137,74,0 warp mazewarp5145 1,1,prt_maze01.gat,182,88 /*To No.1-15*/
+prt_maze01.gat,139,45,0 warp mazewarp5146 1,1,prt_maze01.gat,71,11 /*To No.1-22*/
+// 1st Floor No.20
+prt_maze01.gat,177,74,0 warp mazewarp5147 1,1,prt_fild01.gat,136,368
+prt_maze01.gat,175,45,0 warp mazewarp5148 1,1,prt_maze01.gat,58,48 /*To No.1-17*/
+prt_maze01.gat,194,54,0 warp mazewarp5149 1,1,prt_maze01.gat,99,31 /*To No.1-23*/
+// 1st Floor No.21
+prt_maze01.gat,16,34,0 warp mazewarp5150 1,1,prt_maze01.gat,128,173 /*To No.1-4*/
+prt_maze01.gat,23,5,0 warp mazewarp5151 1,1,prt_maze01.gat,176,8 /*To No.1-25*/
+// 1st Floor No.22
+prt_maze01.gat,54,5,0 warp mazewarp5152 1,1,prt_maze01.gat,128,173 /*To No.1-4*/
+prt_maze01.gat,74,12,0 warp mazewarp5153 1,1,prt_maze01.gat,58,48 /*To No.1-17*/
+prt_maze01.gat,45,21,0 warp mazewarp5154 1,1,prt_maze01.gat,142,111 /*To No.1-14*/
+// 1st Floor No.23
+prt_maze01.gat,99,34,0 warp mazewarp5155 1,1,prt_maze01.gat,137,128 /*To No.1-9*/
+prt_maze01.gat,114,22,0 warp mazewarp5156 1,1,prt_maze01.gat,177,71 /*To No.1-20*/
+prt_maze01.gat,85,13,0 warp mazewarp5157 1,1,prt_maze01.gat,22,88 /*To No.1-11*/
+//1st Floor No.24
+prt_maze01.gat,154,22,0 warp mazewarp5158 1,1,prt_maze01.gat,139,48 /*To No.1-19*/
+// 1st Floor No.25
+prt_maze01.gat,176,34,0 warp mazewarp5159 1,1,prt_maze01.gat,8,186 /*To No.1-1*/
+prt_maze01.gat,176,5,0 warp mazewarp5160 1,1,prt_maze01.gat,137,128 /*To No.1-9*/
+prt_maze01.gat,194,15,0 warp mazewarp5161 1,1,prt_maze01.gat,52,48 /*To No.1-17*/
+prt_maze01.gat,165,22,0 warp mazewarp5162 1,1,prt_maze01.gat,63,128 /*To No.1-7*/
+// 2nd Floor -------------------------------------------------------------------
+prt_maze02.gat,93,16,0 warp mazewarp5201 1,1,prt_maze01.gat,102,168 /*To No.1-3*/
+prt_maze02.gat,100,182,0 warp mazewarp5202 1,1,prt_maze03.gat,182,88 /*To No.3-15*/
+// 3rd Floor No.01 -------------------------------------------------------------
+prt_maze03.gat,22,194,0 warp mazewarp5301 1,1,prt_maze03.gat,175,48 /*To No.3-20*/
+prt_maze03.gat,5,186,0 warp mazewarp5302 1,1,prt_maze03.gat,151,134 /*To No.3-9*/
+//3rd Floor No.02
+prt_maze03.gat,58,194,0 script #mazewarp5303 45,1,1,{
+ set @w,rand(4);
+ if(@w==1)goto w2;
+ if(@w==2)goto w3;
+ if(@w==3)goto w4;
+ warp "prt_maze03.gat",98,151; end; /*To No.3-8*/
+ w2: warp "prt_maze03.gat",137,128; end; /*To No.3-9*/
+ w3: warp "prt_maze03.gat",14,71; end; /*To No.3-16*/
+ w4: warp "prt_maze03.gat",54,8; end; /*To No.3-22*/
+}
+// 3rd Floor No.03
+prt_maze03.gat,102,165,0 warp mazewarp5304 1,1,prt_maze03.gat,137,71 /*To No.3-19*/
+prt_maze03.gat,85,174,0 warp mazewarp5305 1,1,prt_maze03.gat,14,47 /*To No.3-16*/
+// 3rd Floor No.04
+prt_maze03.gat,154,181,0 warp mazewarp5306 1,1,prt_maze03.gat,139,48 /*To No.3-19*/
+prt_maze03.gat,125,171,0 warp mazewarp5307 1,1,prt_maze03.gat,105,111 /*To No.3-13*/
+// 3rd Floor No.05
+prt_maze03.gat,175,165,0 warp mazewarp5308 1,1,prt_maze03.gat,71,12 /*To No.3-22*/
+prt_maze03.gat,194,175,0 warp mazewarp5309 1,1,prt_maze03.gat,191,139 /*To No.3-10*/
+// 3rd Floor No.06
+prt_maze03.gat,18,154,0 warp mazewarp5310 1,1,prt_maze03.gat,48,21 /*To No.3-22*/
+prt_maze03.gat,23,125,0 warp mazewarp5311 1,1,prt_maze03.gat,177,71 /*To No.3-20*/
+prt_maze03.gat,5,140,0 warp mazewarp5312 1,1,prt_maze03.gat,111,56 /*To No.3-18*/
+// 3rd Floor No.07
+prt_maze03.gat,54,154,0 warp mazewarp5313 1,1,prt_maze03.gat,142,111 /*To No.3-14*/
+prt_maze03.gat,63,125,0 warp mazewarp5314 1,1,prt_maze03.gat,88,97 /*To No.3-13*/
+// 3rd Floor No.08
+prt_maze03.gat,98,154,0 warp mazewarp5315 1,1,prt_maze03.gat,99,31 /*To No.3-23*/
+prt_maze03.gat,114,145,0 warp mazewarp5316 1,1,prt_maze03.gat,168,22 /*To No.3-25*/
+prt_maze03.gat,85,146,0 warp mazewarp5317 1,1,prt_maze03.gat,22,88 /*To No.3-11*/
+// 3rd Floor No.09
+prt_maze03.gat,137,125,0 warp mazewarp5318 1,1,prt_maze03.gat,71,71 /*To No.3-17*/
+prt_maze03.gat,154,134,0 warp mazewarp5319 1,1,prt_maze03.gat,8,186 /*To No.3-1*/
+// 3rd Floor No.10
+prt_maze03.gat,194,139,0 warp mazewarp5320 1,1,prt_maze03.gat,191,175 /*To No.3-5*/
+prt_maze03.gat,166,139,0 warp mazewarp5321 1,1,prt_maze03.gat,63,88 /*To No.3-12*/
+// 3rd Floor No.11
+prt_maze03.gat,17,114,0 warp mazewarp5322 1,1,prt_maze03.gat,128,105 /*To No.3-14*/
+prt_maze03.gat,22,85,0 warp mazewarp5323 1,1,prt_maze03.gat,88,146 /*To No.3-8*/
+// 3rd Floor No.12
+prt_maze03.gat,63,114,0 warp mazewarp5324 1,1,prt_maze03.gat,14,71 /*To No.3-16*/
+prt_maze03.gat,63,85,0 warp mazewarp5325 1,1,prt_maze03.gat,169,139 /*To No.3-10*/
+prt_maze03.gat,74,97,0 warp mazewarp5326 1,1,prt_maze03.gat,54,8 /*To No.3-22*/
+prt_maze03.gat,45,104,0 warp mazewarp5327 1,1,prt_maze03.gat,96,48 /*To No.3-18*/
+// 3rd Floor No.13
+prt_maze03.gat,105,114,0 warp mazewarp5328 1,1,prt_maze03.gat,128,171 /*To No.3-4*/
+prt_maze03.gat,114,95,0 warp mazewarp5329 1,1,prt_maze03.gat,176,8 /*To No.3-25*/
+prt_maze03.gat,85,97,0 warp mazewarp5330 1,1,prt_maze03.gat,63,128 /*To No.3-7*/
+// 3rd Floor No.14
+prt_maze03.gat,142,114,0 warp mazewarp5331 1,1,prt_maze03.gat,54,151 /*To No.3-7*/
+prt_maze03.gat,125,105,0 warp mazewarp5332 1,1,prt_maze03.gat,58,191 /*To No.3-2*/
+// 3rd Floor No.15
+prt_maze03.gat,182,85,0 warp mazewarp5333 1,1,prt_maze02.gat,100,179
+prt_maze03.gat,194,94,0 warp mazewarp5334 1,1,prt_maze03.gat,151,22 /*To No.3-24*/
+prt_maze03.gat,168,94,0 warp mazewarp5335 1,1,prt_maze03.gat,191,54 /*To No.3-20*/
+// 3rd Floor No.16
+prt_maze03.gat,14,74,0 warp mazewarp5336 1,1,prt_maze03.gat,63,111 /*To No.3-12*/
+prt_maze03.gat,14,45,0 warp mazewarp5337 1,1,prt_maze03.gat,88,174 /*To No.3-3*/
+prt_maze03.gat,5,58,0 warp mazewarp5338 1,1,prt_maze03.gat,191,15 /*To No.3-25*/
+// 3rd Floor No.17
+prt_maze03.gat,74,74,0 script #mazewarp5339 45,1,1,{
+set @w,rand(4);
+ if(@w==1)goto w2;
+ if(@w==2)goto w3;
+ if(@w==3)goto w4;
+ warp "prt_maze03.gat",98,151; end; /*To No.3-8*/
+ w2: warp "prt_maze03.gat",137,128; end; /*To No.3-9*/
+ w3: warp "prt_maze03.gat",14,71; end; /*To No.3-16*/
+ w4: warp "prt_maze03.gat",54,8; end; /*To No.3-22*/
+}
+prt_maze03.gat,52,45,0 warp mazewarp5340 1,1,prt_maze03.gat,16,31 /*To No.3-21*/
+// 3rd Floor No.18
+prt_maze03.gat,104,74,0 warp mazewarp5341 1,1,prt_maze03.gat,111,22 /*To No.3-23*/
+prt_maze03.gat,96,45,0 warp mazewarp5342 1,1,prt_maze03.gat,48,104 /*To No.3-12*/
+prt_maze03.gat,114,56,0 warp mazewarp5343 1,1,prt_maze03.gat,8,140 /*To No.3-6*/
+prt_maze03.gat,85,56,0 warp mazewarp5344 1,1,prt_maze03.gat,176,31 /*To No.3-25*/
+// 3rd Floor No.19
+prt_maze03.gat,137,74,0 warp mazewarp5345 1,1,prt_maze03.gat,102,168 /*To No.3-3*/
+prt_maze03.gat,139,45,0 script #mazewarp5346 45,1,1,{
+ set @w,rand(4);
+ if(@w==1)goto w2;
+ if(@w==2)goto w3;
+ if(@w==3)goto w4;
+ warp "prt_maze03.gat",98,151; end; /*To No.3-8*/
+ w2: warp "prt_maze03.gat",137,128; end; /*To No.3-9*/
+ w3: warp "prt_maze03.gat",14,71; end; /*To No.3-16*/
+ w4: warp "prt_maze03.gat",54,8; end; /*To No.3-22*/
+}
+// 3rd Floor No.20
+prt_maze03.gat,177,74,0 warp mazewarp5347 1,1,prt_maze03.gat,23,128 /*To No.3-6*/
+prt_maze03.gat,175,45,0 warp mazewarp5348 1,1,prt_maze03.gat,22,191 /*To No.3-1*/
+prt_maze03.gat,194,54,0 warp mazewarp5349 1,1,prt_maze03.gat,171,94 /*To No.3-15*/
+// 3rd Floor No.21
+prt_maze03.gat,16,34,0 warp mazewarp5350 1,1,prt_maze03.gat,52,48 /*To No.3-17*/
+prt_maze03.gat,23,5,0 warp mazewarp5351 1,1,prt_maze03.gat,88,13 /*To No.3-23*/
+// 3rd Floor No.22
+prt_maze03.gat,54,5,0 warp mazewarp5352 1,1,prt_maze03.gat,71,97 /*To No.3-12*/
+prt_maze03.gat,74,12,0 warp mazewarp5353 1,1,prt_maze03.gat,175,168 /*To No.3-5*/
+prt_maze03.gat,45,21,0 warp mazewarp5354 1,1,prt_maze03.gat,18,151 /*To No.3-6*/
+// 3rd Floor No.23
+prt_maze03.gat,99,34,0 warp mazewarp5355 1,1,prt_maze03.gat,98,151 /*To No.3-8*/
+prt_maze03.gat,114,22,0 warp mazewarp5356 1,1,prt_maze03.gat,104,71 /*To No.3-18*/
+prt_maze03.gat,85,13,0 warp mazewarp5357 1,1,prt_maze03.gat,23,8 /*To No.3-21*/
+// 3rd Floor No.24
+prt_maze03.gat,154,22,0 script #mazewarp5358 45,1,1,{
+ set @w,rand(4);
+ if(@w==1)goto w2;
+ if(@w==2)goto w3;
+ if(@w==3)goto w4;
+ warp "prt_maze03.gat",98,151; end; /*To No.3-8*/
+ w2: warp "prt_maze03.gat",137,128; end; /*To No.3-9*/
+ w3: warp "prt_maze03.gat",14,71; end; /*To No.3-16*/
+ w4: warp "prt_maze03.gat",54,8; end; /*To No.3-22*/
+}
+// 3rd Floor No.25
+prt_maze03.gat,176,34,0 warp mazewarp5359 1,1,prt_maze03.gat,88,56 /*To No.3-18*/
+prt_maze03.gat,176,5,0 warp mazewarp5360 1,1,prt_maze03.gat,111,95 /*To No.3-13*/
+prt_maze03.gat,194,15,0 warp mazewarp5361 1,1,prt_maze03.gat,8,58 /*To No.3-16*/
+prt_maze03.gat,165,22,0 warp mazewarp5362 1,1,prt_maze03.gat,111,145 /*To No.3-8*/
+
+//= Prontera Sewers ==============================================
+prt_sewb1.gat,135,248,0 warp prts001 2,2,prt_fild05.gat,274,208
+prt_sewb1.gat,188,247,0 warp prts01 1,3,prt_sewb2.gat,19,19
+prt_sewb2.gat,100,176,0 warp prts02 4,2,prt_sewb2.gat,140,28
+prt_sewb2.gat,140,24,0 warp prts02-1 4,2,prt_sewb2.gat,100,172
+prt_sewb2.gat,180,24,0 warp prts03 4,2,prt_sewb3.gat,180,169
+prt_sewb2.gat,19,12,0 warp prts01-1 2,2,prt_sewb1.gat,192,247
+prt_sewb2.gat,19,175,0 warp prts04 4,2,prt_sewb2.gat,60,28
+prt_sewb2.gat,60,24,0 warp prts04-1 4,2,prt_sewb2.gat,19,171
+prt_sewb3.gat,180,173,0 warp prts03-1 4,2,prt_sewb2.gat,180,28
+prt_sewb3.gat,20,185,0 warp prts05 3,2,prt_sewb4.gat,100,92
+prt_sewb4.gat,100,96,0 warp prts05-1 3,2,prt_sewb3.gat,19,180 \ No newline at end of file
diff --git a/npc/warps/dungeons/thanatos.txt b/npc/warps/dungeons/thanatos.txt
new file mode 100644
index 000000000..1e590bfc9
--- /dev/null
+++ b/npc/warps/dungeons/thanatos.txt
@@ -0,0 +1,108 @@
+//===== Athena Script ========================================
+//= Thanatos Tower Warp Script
+//===== By: ==================================================
+//= Bibilol & Moryagorn (1.0)
+//===== Current Version: =====================================
+//= 1.5
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 10+
+//===== Description: =========================================
+//= Warp Points for Thanatos Tower
+//===== Additional Comments: =================================
+//= It's just Temp warps [Lupus]
+//= 1.2 Updated to level tha_t12.gat
+//= 1.3 Some warps changes due to official info [Justin84]
+//= 1.4 Fixed 2 warps [Justin84]
+//= 1.5 Added Thanatos entrance warp. Now you can go in [Justin84]
+//============================================================
+
+// Affiliated Files : tha_statues.txt
+// ^^^^ it's in the custom quests
+
+//Hugel Field 01 -> Thanatos Scene 01
+hu_fild01.gat,139,164,0 script Thanatos Tower Warper 111,{
+ mes "[Thanatos Tower Warper]";
+ mes "There is no turning back.";
+ mes "Are you sure want to go Thanatos Tower?";
+ next;
+ menu "Yes",-,"No",T_CLOSE;
+
+ warp "tha_scene01.gat",131,224;
+ end;
+
+T_CLOSE:
+ close;
+}
+
+//Thanatos Scene 01 -> Thantos Tower F1
+tha_scene01.gat,144,200,0 warp tha_scene01 1,1,tha_t01.gat,150,39
+tha_t01.gat,150,32,0 warp tha_scene02 1,1,tha_scene01.gat,142,200
+
+//Thanatos Tower
+tha_scene01.gat,144,200,0 warp tha_scene03 1,1,tha_t01.gat,150,39
+tha_t01.gat,150,32,0 warp tha_scene04 1,1,tha_scene01.gat,142,200
+tha_t01.gat,150,149,0 warp tha_t02 1,1,tha_t02.gat,150,136
+tha_t02.gat,150,129,0 warp tha_t01 1,1,tha_t01.gat,150,142
+tha_t02.gat,226,161,0 warp tha_t03 1,1,tha_t03.gat,220,158
+tha_t03.gat,220,165,0 warp tha_t02 1,1,tha_t02.gat,226,149
+tha_t03.gat,60,134,0 warp tha_t04 1,1,tha_t04.gat,59,143
+tha_t04.gat,59,136,0 warp tha_t03 1,1,tha_t03.gat,59,126
+tha_t04.gat,83,36,0 warp tha_t05 1,1,tha_t05.gat,62,11
+//According to official info, 5F it is not possible to return to the 4F, so we disable this warp:
+//tha_t05.gat,62,4,0 warp tha_t04 1,1,tha_t04.gat,90,34
+tha_t05.gat,208,96,0 warp tha_t06 1,1,tha_t06.gat,119,228
+tha_t05.gat,185,232,0 warp tha_t06 1,1,tha_t06.gat,119,228
+tha_t05.gat,61,157,0 warp tha_t06 1,1,tha_t06.gat,119,228
+tha_t06.gat,119,235,0 warp tha_t05 1,1,tha_t05.gat,61,164
+
+//tha_t06.gat,119,120,0 warp tha_t07 1,1,tha_t07.gat,35,166
+//Thanatos 6F to 7F
+tha_t06.gat,119,120,4 script tha_t07warp 45,2,2,{
+ mes "You have to gather 4 types of keys to enter the 7th Floor.";
+ mes "Give me the key of red, yellow, blue & green.";
+ next;
+ menu "Give the keys",-,"Leave",T_CLOSE;
+
+ if(countitem(7421) < 1 || countitem(7422) < 1 || countitem(7423) < 1 || countitem(7424) < 1) goto T_1;
+ delitem 7421,1;
+ delitem 7422,1;
+ delitem 7423,1;
+ delitem 7424,1;
+ warp "tha_t07.gat",35,166;
+ end;
+
+T_1:
+ mes "You don't have enough keys.";
+T_CLOSE:
+ close;
+}
+
+
+tha_t07.gat,28,166,0 warp tha_t06 1,1,tha_t06.gat,119,127
+tha_t07.gat,112,166,0 warp tha_t08 1,1,tha_t08.gat,105,44
+tha_t08.gat,112,44,0 warp tha_t07 1,1,tha_t07.gat,105,166
+tha_t08.gat,26,44,0 warp tha_t09 1,1,tha_t09.gat,88,145
+tha_t09.gat,93,145,0 warp tha_t08 1,1,tha_t08.gat,30,44
+tha_t10.gat,171,138,0 warp tha_t09 1,1,tha_t09.gat,18,97
+tha_t11.gat,93,36,0 warp tha_t10 1,1,tha_t10.gat,91,130
+tha_t12.gat,16,160,0 warp tha_t11 1,1,tha_t11.gat,16,160
+
+//Thana_step
+thana_step.gat,12,73,0 warp thana_step1 1,1,tha_t12.gat,128,58
+thana_step.gat,16,16,0 warp thana_step2 1,1,thana_step.gat,32,224
+thana_step.gat,30,224,0 warp thana_step3 1,1,thana_step.gat,19,16
+thana_step.gat,32,166,0 warp thana_step4 1,1,thana_step.gat,184,74
+thana_step.gat,180,74,0 warp thana_step5 1,1,thana_step.gat,36,166
+thana_step.gat,182,16,0 warp thana_step6 1,1,thana_step.gat,184,224
+thana_step.gat,180,224,0 warp thana_step7 1,1,thana_step.gat,185,16
+thana_step.gat,182,166,0 warp thana_step8 1,1,thana_step.gat,73,287
+thana_step.gat,69,287,0 warp thana_step9 1,1,thana_step.gat,186,166
+thana_step.gat,70,371,0 warp thana_step10 1,1,thana_step.gat,170,287
+thana_step.gat,174,287,0 warp thana_step11 1,1,thana_step.gat,74,371
+
+//Thana_boss
+thana_step.gat,169,371,0 warp thana_boss 1,1,thana_boss.gat,85,76
+thana_boss.gat,80,76,0 warp thana_step9 1,1,thana_step.gat,163,371
+thana_boss.gat,62,171,0 warp thana_step10 1,1,thana_step.gat,163,371
+thana_boss.gat,141,217,0 warp thana_step11 1,1,thana_step.gat,163,371
+thana_boss.gat,202,75,0 warp thana_step12 1,1,thana_step.gat,163,371
diff --git a/npc/warps/dungeons/umbala_dun.txt b/npc/warps/dungeons/umbala_dun.txt
new file mode 100644
index 000000000..092f6ae90
--- /dev/null
+++ b/npc/warps/dungeons/umbala_dun.txt
@@ -0,0 +1,33 @@
+//===== Athena Script ========================================
+//= Umbala Dungeon (Yggdrasil Cave) Warp Script
+//===== By: ==================================================
+//= Darkchild (1.0vA); Athena (1.0vB)
+//===== Current Version: =====================================
+//= 1.1 (Akaru)
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 6+
+//===== Description: =========================================
+//= Warp Points for Umbala Dungeon (Yggdrasil Cave)
+//===== Additional Comments: =================================
+//= No comment!
+//============================================================
+
+//= Dungeon Level 1 ==========================================
+umbala.gat,106,286,0 warp umba0011 1,1,um_dun01.gat,42,31
+um_dun01.gat,150,198,0 warp umba0013 1,1,um_dun02.gat,48,30
+um_dun01.gat,42,26,0 warp umba0012 1,1,umbala.gat,111,283
+
+//= Dungeon Level 2 ==========================================
+um_dun02.gat,103,208,0 warp umba0020 1,1,um_dun02.gat,116,208
+um_dun02.gat,113,208,0 warp umba0019 1,1,um_dun02.gat,100,208
+um_dun02.gat,169,38,0 warp umba0025 1,1,um_dun02.gat,180,38
+um_dun02.gat,177,38,0 warp umba0026 1,1,um_dun02.gat,166,38
+um_dun02.gat,216,77,0 warp umba0018 1,1,um_dun02.gat,217,88
+um_dun02.gat,216,84,0 warp umba0017 1,1,um_dun02.gat,214,74
+um_dun02.gat,222,259,0 warp umba0015 1,1,um_dun02.gat,234,255
+um_dun02.gat,231,255,0 warp umba0016 1,1,um_dun02.gat,219,260
+um_dun02.gat,25,244,0 warp umba0022 1,1,um_dun02.gat,35,251
+um_dun02.gat,33,249,0 warp umba0021 1,1,um_dun02.gat,23,242
+um_dun02.gat,51,26,0 warp umba0022 1,1,um_dun01.gat,153,201
+um_dun02.gat,60,88,0 warp umba0023 1,1,um_dun02.gat,66,77
+um_dun02.gat,63,80,0 warp umba0024 1,1,um_dun02.gat,59,92 \ No newline at end of file
diff --git a/npc/warps/dungeons/yuno_dun.txt b/npc/warps/dungeons/yuno_dun.txt
new file mode 100644
index 000000000..36aac0738
--- /dev/null
+++ b/npc/warps/dungeons/yuno_dun.txt
@@ -0,0 +1,18 @@
+//===== Athena Script ========================================
+//= Yuno Dungeon Warp Script
+//===== By: ==================================================
+//= Nana (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 5+
+//===== Description: =========================================
+//= Warp Points for Yuno Dungeon
+//===== Additional Comments: =================================
+//= No Comment!
+//============================================================
+
+//= Magma Dungeon ============================================
+mag_dun01.gat,126,66,0 warp mag01-yunfild 1,1,yuno_fild03.gat,34,139
+mag_dun01.gat,242,241,0 warp mag01-02 1,1,mag_dun02.gat,47,30
+mag_dun02.gat,47,28,0 warp mag02-01 1,1,mag_dun01.gat,242,239
diff --git a/npc/warps/fields/abyss_warper.txt b/npc/warps/fields/abyss_warper.txt
new file mode 100644
index 000000000..807c88fd2
--- /dev/null
+++ b/npc/warps/fields/abyss_warper.txt
@@ -0,0 +1,75 @@
+//===== Athena Script ========================================
+//= Abyss Cave Warper
+//===== By: ==================================================
+//= erKURITA
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Warper to Abyss Cave. and warper out
+//===== Additional Comments: =================================
+//= 1.0 Added by Nexon [Nexon]
+//============================================================
+
+hu_fild05.gat,168,303,0 script Pillar 111,{
+ mes "[Ancient Voice]";
+ mes "So, you wish access to the Abyss Cave?";
+ mes "You have to bring me then 1 Dragon Canine, 1 Dragon Tail and 1 Dragon Scale";
+ mes "in order to grant you access to the island";
+ next;
+ mes "[Ancient Voice]";
+ mes "Do you wish to go?";
+ next;
+ menu "Yes",L_Check,"No",-;
+ mes "Return when you are ready.";
+ close;
+
+L_Check:
+ mes "[Ancient Voice]";
+ mes "Good, let me check your items first";
+ next;
+ mes "[Ancient Voice]";
+ if ((countitem(1035) == 0) || (countitem(1036) == 0) || (countitem(1037) == 0)) goto L_No_Items;
+ mes "Good, I hereby grant you access then";
+ mes "Please hurry. The entrance will not stay open for long";
+ close2;
+ delitem 1035,1;
+ delitem 1036,1;
+ delitem 1037,1;
+ enablenpc "warpabyss";
+ initnpctimer;
+ warp "hu_fild05",181,197;
+ end;
+
+L_No_Items:
+ mes "You dont have enough items";
+ close;
+
+OnTimer10000:
+ disablenpc "warpabyss";
+ stopnpctimer;
+ setnpctimer 0;
+ end;
+
+OnInit:
+ disablenpc "warpabyss";
+ end;
+}
+
+
+hu_fild05.gat,171,212,0 script Pillar 111,{
+ mes "[Ancient Voice]";
+ mes "Leave the island?";
+ next;
+ menu "Yes",-,"No",L_close;
+ warp "hu_fild05.gat",168,301;
+ end;
+
+L_close:
+ mes "[Ancient Voice]";
+ mes "Return when you are ready.";
+ close;
+}
+
+hu_fild05.gat,197,210,0 warp warpabyss 2,3,abyss_01.gat,264,271
diff --git a/npc/warps/fields/amatsu_fild.txt b/npc/warps/fields/amatsu_fild.txt
new file mode 100644
index 000000000..d68069c17
--- /dev/null
+++ b/npc/warps/fields/amatsu_fild.txt
@@ -0,0 +1,22 @@
+//===== Athena Script ========================================
+//= Amatsu Field Warp's
+//===== By: ==================================================
+//= Nana (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Warp Points for Amatsu Field's
+//===== Additional Comments: =================================
+//= Split off amatsu.txt
+//============================================================
+
+//= Amatsu Fields ============================================
+// removed
+//ama_fild.gat,154,301,0 warp warp1998 1,1,prontera.gat,163,186
+//ama_fild.gat,174,132,0 warp warp1996 1,1,prontera.gat,163,186
+//ama_fild.gat,193,302,0 warp warp1997 1,1,prontera.gat,163,186
+//ama_fild.gat,330,141,0 warp warp1999 1,1,prontera.gat,163,186
+ama_fild01.gat,174,332,0 warp warp8003 1,1,ama_in01.gat,175,174
+ama_fild01.gat,75,29,0 warp warp1961 1,1,amatsu.gat,247,287 \ No newline at end of file
diff --git a/npc/warps/fields/com_fild.txt b/npc/warps/fields/com_fild.txt
new file mode 100644
index 000000000..2d1d400b8
--- /dev/null
+++ b/npc/warps/fields/com_fild.txt
@@ -0,0 +1,53 @@
+//===== Athena Script ========================================
+//= Comodo Warp Script
+//===== By: ==================================================
+//= Nana
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Warp Points Comodo Fields
+//===== Additional Comments: =================================
+//= No comment!
+//============================================================
+
+//= Comodo Fields ============================================
+cmd_fild01.gat,222,24,0 warp cmdf01 1,1,cmd_fild02.gat,222,372
+cmd_fild01.gat,26,318,0 warp cmdf001 1,1,beach_dun3.gat,281,56
+cmd_fild01.gat,362,263,0 warp cmdf03 1,1,cmd_fild03.gat,27,269
+cmd_fild01.gat,362,73,0 warp cmdf02 1,1,cmd_fild03.gat,27,68
+cmd_fild02.gat,222,376,0 warp cmdf01-1 1,1,cmd_fild01.gat,222,30
+cmd_fild02.gat,358,95,0 warp cmdf04 1,1,cmd_fild04.gat,35,94
+cmd_fild02.gat,382,269,0 warp cmdf05 1,1,cmd_fild04.gat,25,275
+cmd_fild03.gat,181,17,0 warp cmdf06 1,1,cmd_fild04.gat,181,367
+cmd_fild03.gat,23,269,0 warp cmdf03-1 1,1,cmd_fild01.gat,359,260
+cmd_fild03.gat,23,68,0 warp cmdf02-1 1,1,cmd_fild01.gat,359,76
+cmd_fild03.gat,384,165,0 warp cmdf07 1,1,cmd_fild05.gat,26,161
+cmd_fild04.gat,180,372,0 warp cmdf06-1 1,1,cmd_fild03.gat,183,23
+cmd_fild04.gat,21,275,0 warp cmdf05-1 1,1,cmd_fild02.gat,378,264
+cmd_fild04.gat,31,92,0 warp cmdf04-1 1,1,cmd_fild02.gat,351,92
+cmd_fild04.gat,376,287,0 warp cmdf08 1,1,cmd_fild06.gat,26,288
+cmd_fild05.gat,148,19,0 warp cmdf09 1,1,cmd_fild06.gat,150,374
+cmd_fild05.gat,21,163,0 warp cmdf07-1 1,1,cmd_fild03.gat,377,167
+cmd_fild06.gat,150,380,0 warp cmdf09-1 1,1,cmd_fild05.gat,146,27
+cmd_fild06.gat,151,27,0 warp cmfd10 1,1,cmd_fild07.gat,147,370
+cmd_fild06.gat,21,285,0 warp cmdf08-1 1,1,cmd_fild04.gat,371,288
+cmd_fild06.gat,368,96,0 warp cmdf11 1,1,cmd_fild08.gat,25,102
+cmd_fild06.gat,372,359,0 warp cmdf12 1,1,cmd_fild08.gat,31,359
+cmd_fild06.gat,379,174,0 warp cmdf13 1,1,cmd_fild08.gat,28,166
+cmd_fild07.gat,149,379,0 warp cmdf10-1 10,1,cmd_fild06.gat,147,36
+cmd_fild07.gat,389,186,0 warp cmdf14-1 1,3,cmd_fild09.gat,18,170
+cmd_fild08.gat,15,102,0 warp cmdf11-1 1,1,cmd_fild06.gat,361,96
+cmd_fild08.gat,25,170,0 warp cmdf13-1 1,1,cmd_fild06.gat,374,167
+cmd_fild08.gat,25,355,0 warp cmdf12-1 1,1,cmd_fild06.gat,369,359
+cmd_fild08.gat,309,48,0 warp cmdf16 2,1,cmd_fild09.gat,307,374
+cmd_fild08.gat,76,31,0 warp cmdf15 2,1,cmd_fild09.gat,76,375
+cmd_fild09.gat,12,170,0 warp cmdf14-2 1,4,cmd_fild07.gat,382,184
+cmd_fild09.gat,309,381,0 warp cmdf16-1 2,1,cmd_fild08.gat,309,60
+cmd_fild09.gat,75,382,0 warp cmdf15-1 2,1,cmd_fild08.gat,75,42
+
+//Others =======================
+cmd_fild08.gat,354,324,0 warp cmd008 1,1,moc_fild12.gat,26,305
+cmd_fild09.gat,369,164,0 warp cmd009 2,2,moc_fild18.gat,55,170
+moc_fild18.gat,51,170,0 warp cmd010 1,3,cmd_fild09.gat,363,164 \ No newline at end of file
diff --git a/npc/warps/fields/ein_fild.txt b/npc/warps/fields/ein_fild.txt
new file mode 100644
index 000000000..589201e99
--- /dev/null
+++ b/npc/warps/fields/ein_fild.txt
@@ -0,0 +1,53 @@
+//===== Athena Script ========================================
+//= Einbroch Field Warp Script
+//===== By: ==================================================
+//= Sara-chan (1.0), SSUNNY@YOUNG(1.2)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 8+
+//===== Description: =========================================
+//= Warp Points for Lighthalzen Field
+//===== Additional Comments: =================================
+// Field update - Einbroch and Lhztargen by Sara - Version 1.0
+// 1.1 moved field warps from town warps [Lupus]
+// 1.2 Updated Warps, work done by SSUNNY@YOUNG in Korean eA site [Vicious]
+//============================================================
+
+
+//Einbroch Field <-> Juno Field
+yuno_fild04.gat,251,21,0 warp ein001 1,1,ein_fild06.gat,252,363
+ein_fild06.gat,252,365,0 warp ein001a 1,1,yuno_fild04.gat,251,23
+yuno_fild07.gat,73,219,0 warp ein002 1,1,ein_fild06.gat,338,170
+ein_fild06.gat,340,170,0 warp ein002a 1,1,yuno_fild07.gat,75,219
+yuno_fild07.gat,56,76,0 warp ein003 1,1,ein_fild06.gat,354,94
+ein_fild06.gat,356,94,0 warp ein003a 1,1,yuno_fild07.gat,58,76
+yuno_fild11.gat,28,266,0 warp ein004 1,1,ein_fild07.gat,380,263
+ein_fild07.gat,382,263,0 warp ein004a 1,1,yuno_fild11.gat,30,266
+
+//Einbroch Field
+ein_fild06.gat,135,35,0 warp ein005 1,1,ein_fild07.gat,147,360
+ein_fild07.gat,145,362,0 warp ein005a 1,1,ein_fild06.gat,135,37
+ein_fild07.gat,191,42,0 warp ein006 1,1,ein_fild10.gat,194,370
+ein_fild10.gat,194,372,0 warp ein006a 1,1,ein_fild07.gat,191,44
+ein_fild10.gat,24,331,0 warp ein007 1,1,ein_fild09.gat,327,346
+ein_fild09.gat,329,346,0 warp ein007a 1,1,ein_fild10.gat,26,331
+ein_fild09.gat,34,132,0 warp ein008 1,1,ein_fild08.gat,361,128
+ein_fild08.gat,363,128,0 warp ein008a 1,1,ein_fild09.gat,36,132
+
+//Einbroch Field <-> Lighthalzen Field
+einbech.gat,62,29,0 warp ein_fd03 1,1,ein_fild09.gat,74,350
+ein_fild09.gat,71,352,0 warp ein_fd03a 1,1,einbech.gat,62,32
+
+ein_fild04.gat,20,251,0 warp ein046 1,1,ein_fild03.gat,361,257
+ein_fild03.gat,363,257,0 warp ein046a 1,1,ein_fild04.gat,22,251
+ein_fild04.gat,14,215,0 warp ein047 1,1,ein_fild03.gat,359,219
+ein_fild03.gat,361,219,0 warp ein047a 1,1,ein_fild04.gat,16,215
+ein_fild04.gat,14,205,0 warp ein048 1,1,ein_fild03.gat,359,204
+ein_fild03.gat,361,204,0 warp ein048a 1,1,ein_fild04.gat,16,205
+ein_fild03.gat,142,32,0 warp ein049 1,1,lhz_fild02.gat,166,365
+lhz_fild02.gat,166,367,0 warp ein049a 1,1,ein_fild03.gat,142,34
+lhz_fild02.gat,164,37,0 warp ein050 1,1,lhz_fild03.gat,158,347
+lhz_fild03.gat,158,349,0 warp ein050a 1,1,lhz_fild02.gat,164,39
+lhz_fild03.gat,363,283,0 warp ein051 1,1,ein_fild08.gat,25,275
+ein_fild08.gat,23,275,0 warp ein051a 1,1,lhz_fild03.gat,361,283
diff --git a/npc/warps/fields/gefenia.txt b/npc/warps/fields/gefenia.txt
new file mode 100644
index 000000000..09dbf2371
--- /dev/null
+++ b/npc/warps/fields/gefenia.txt
@@ -0,0 +1,30 @@
+//===== Athena Script ========================================
+//= Gefenia Warp Script
+//===== By: ==================================================
+//= Muad Dib (1.0)
+//= Darkchild (1.1)
+//= Nana (1.2)
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 6+
+//===== Description: =========================================
+//= Warp Points for Gefenia
+//===== Additional Comments: =================================
+//= 1.3 fixed gefenia03.gat,28,26 -> gefenia03.gat,58,26
+//============================================================
+gefenia01.gat,37,103,0 warp gefeniawarp014 1,1,gefenia04.gat,283,95
+gefenia01.gat,199,269,0 warp gefeniawarp001 1,1,gefenia02.gat,203,34
+gefenia01.gat,220,256,0 warp gefeniawarp003 1,1,gefenia02.gat,240,23
+gefenia02.gat,17,175,0 warp gefeniawarp005 1,1,gefenia03.gat,266,168
+gefenia02.gat,19,237,0 warp gefeniawarp007 1,1,gefenia03.gat,264,236
+gefenia02.gat,203,31,0 warp gefeniawarp002 1,1,gefenia01.gat,199,266
+gefenia02.gat,240,20,0 warp gefeniawarp004 1,1,gefenia01.gat,223,256
+gefenia03.gat,58,26,0 warp gefeniawarp011 1,1,gefenia04.gat,33,270
+gefenia03.gat,145,27,0 warp gefeniawarp009 1,1,gefenia04.gat,130,272
+gefenia03.gat,267,236,0 warp gefeniawarp008 1,1,gefenia02.gat,22,237
+gefenia03.gat,269,168,0 warp gefeniawarp006 1,1,gefenia02.gat,20,175
+gefenia04.gat,130,275,0 warp gefeniawarp010 1,1,gefenia03.gat,145,30
+gefenia04.gat,33,273,0 warp gefeniawarp012 1,1,gefenia03.gat,58,29
+gefenia04.gat,287,95,0 warp gefeniawarp013 1,1,gefenia01.gat,40,103
+
diff --git a/npc/warps/fields/geffen_fild.txt b/npc/warps/fields/geffen_fild.txt
new file mode 100644
index 000000000..061eb4a48
--- /dev/null
+++ b/npc/warps/fields/geffen_fild.txt
@@ -0,0 +1,72 @@
+//===== Athena Script ========================================
+//= Geffen Warp Script
+//===== By: ==================================================
+//= Nana (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Warp Points for Geffen Field's
+//===== Additional Comments: =================================
+//= No comment!
+//============================================================
+
+//= Geffen Field Warps =======================================
+gef_fild00.gat,267,382,0 warp gef007 4,2,mjolnir_06.gat,265,32
+gef_fild00.gat,381,137,0 warp gef008 3,9,prt_fild00.gat,24,125
+gef_fild00.gat,40,199,0 warp gef009 2,7,geffen.gat,213,119
+gef_fild01.gat,382,111,0 warp gef010 2,9,prt_fild04.gat,20,114
+gef_fild01.gat,16,102,0 warp geff01 2,4,gef_fild09.gat,368,92
+gef_fild01.gat,69,17,0 warp geff02 4,2,gef_fild03.gat,66,379
+gef_fild02.gat,380,156,0 warp gef011 3,7,prt_fild07.gat,21,143
+gef_fild02.gat,380,289,0 warp gef012 3,12,prt_fild07.gat,18,289
+gef_fild02.gat,380,68,0 warp gef013 3,10,prt_fild07.gat,17,64
+gef_fild02.gat,266,18,0 warp gef026 5,2,prt_fild10.gat,227,296
+gef_fild02.gat,14,78,0 warp geff03 2,4,gef_fild03.gat,379,77
+gef_fild02.gat,16,275,0 warp geff04 2,4,gef_fild03.gat,379,277
+gef_fild03.gat,312,16,0 warp gef014 5,2,prt_fild11.gat,302,298
+gef_fild03.gat,66,382,0 warp geff02-1 4,2,gef_fild01.gat,69,20
+gef_fild03.gat,382,77,0 warp geff03-1 2,4,gef_fild02.gat,17,78
+gef_fild03.gat,382,277,0 warp geff04-1 2,4,gef_fild02.gat,19,275
+gef_fild03.gat,18,52,0 warp geff05 2,4,gef_fild10.gat,367,56
+gef_fild04.gat,187,39,0 warp gef015 4,2,geffen.gat,119,210
+gef_fild04.gat,261,362,0 warp gef016 4,2,mjolnir_01.gat,284,21
+gef_fild04.gat,362,322,0 warp gef017 2,4,mjolnir_06.gat,21,331
+gef_fild04.gat,16,309,0 warp geff06 2,6,gef_fild05.gat,361,309
+gef_fild05.gat,364,309,0 warp geff06-1 2,8,gef_fild04.gat,19,309
+gef_fild05.gat,15,201,0 warp geff07 2,4,gef_fild06.gat,379,211
+gef_fild05.gat,64,15,0 warp geff08 4,2,gef_fild07.gat,64,360
+gef_fild06.gat,382,211,0 warp geff07-1 2,4,gef_fild05.gat,18,201
+gef_fild06.gat,218,17,0 warp geff09 4,2,gef_fild08.gat,200,352
+gef_fild07.gat,339,187,0 warp gef025 2,4,geffen.gat,29,119
+gef_fild07.gat,64,363,0 warp geff08-1 4,2,gef_fild05.gat,64,18
+gef_fild07.gat,18,191,0 warp geff10 2,4,gef_fild08.gat,357,187
+gef_fild07.gat,40,19,0 warp geff13 1,1,gef_fild13.gat,41,369
+gef_fild08.gat,200,355,0 warp geff09-1 4,2,gef_fild06.gat,218,20
+gef_fild08.gat,360,187,0 warp geff10-1 2,4,gef_fild07.gat,21,191
+gef_fild08.gat,215,18,0 warp geff14 1,1,gef_fild12.gat,221,369
+gef_fild09.gat,23,56,0 warp geff18-1 1,1,gef_fild13.gat,376,56
+gef_fild09.gat,225,25,0 warp geff11 3,2,gef_fild10.gat,251,368
+gef_fild09.gat,368,95,0 warp geff01-1 4,2,gef_fild01.gat,19,102
+gef_fild10.gat,251,371,0 warp geff11-1 5,2,gef_fild09.gat,225,28
+gef_fild10.gat,104,21,0 warp geff12 5,2,gef_fild11.gat,114,360
+gef_fild10.gat,370,56,0 warp geff05-1 2,5,gef_fild03.gat,21,52
+gef_fild10.gat,136,331,0 warp gef018 1,1,in_orcs01.gat,122,171
+gef_fild10.gat,138,284,0 warp gef019 1,1,in_orcs01.gat,29,114
+gef_fild10.gat,215,51,0 warp gef020 1,1,in_orcs01.gat,162,53
+gef_fild10.gat,223,205,0 warp gef021 1,1,in_orcs01.gat,108,89
+gef_fild10.gat,63,337,0 warp gef022 1,1,in_orcs01.gat,30,157
+gef_fild10.gat,27,219,0 warp geff19-1 1,1,gef_fild14.gat,367,219
+gef_fild11.gat,377,293,0 warp gef023 2,4,prt_fild11.gat,20,281
+gef_fild11.gat,111,364,0 warp geff12-1 6,3,gef_fild10.gat,104,24
+gef_fild12.gat,221,374,0 warp geff14-1 1,1,gef_fild08.gat,215,25
+gef_fild12.gat,368,180,0 warp geff15 1,1,gef_fild13.gat,29,202
+gef_fild12.gat,372,50,0 warp geff16 1,1,gef_fild13.gat,29,59
+gef_fild13.gat,200,25,0 warp geff17 1,1,gef_fild14.gat,180,357
+gef_fild13.gat,25,202,0 warp geff15-1 1,1,gef_fild12.gat,364,180
+gef_fild13.gat,26,59,0 warp geff16-1 1,1,gef_fild12.gat,370,50
+gef_fild13.gat,380,56,0 warp geff18 1,1,gef_fild09.gat,27,56
+gef_fild13.gat,41,373,0 warp geff13-1 1,1,gef_fild07.gat,40,23
+gef_fild14.gat,180,360,0 warp geff17-1 1,1,gef_fild13.gat,200,29
+gef_fild14.gat,371,219,0 warp geff19 1,1,gef_fild10.gat,31,219 \ No newline at end of file
diff --git a/npc/warps/fields/glastheim.txt b/npc/warps/fields/glastheim.txt
new file mode 100644
index 000000000..ce3f29a72
--- /dev/null
+++ b/npc/warps/fields/glastheim.txt
@@ -0,0 +1,84 @@
+//===== Athena Script ========================================
+//= Glastheim Warp Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 2.x
+//===== Description: =========================================
+//= Warp Points for Glastheim
+//===== Additional Comments: =================================
+//= Split off npc_warp.txt, 1.1 added gl18-2 [Lupus]
+//= optimized random warp [Lupus]
+//============================================================
+
+//Glastheim
+gef_fild06.gat,20,304,0 warp gef027 3,3,glast_01.gat,375,304
+gl_cas01.gat,135,40,0 warp gl01 1,1,gl_cas01.gat,144,314
+gl_cas01.gat,149,314,0 warp gl02 1,1,gl_prison.gat,14,70
+gl_cas01.gat,167,191,0 warp gl03 1,1,gl_prison.gat,14,70
+gl_cas01.gat,185,236,0 warp gl06 1,1,gl_cas01.gat,163,191
+gl_cas01.gat,200,165,0 warp gl10 1,1,gl_cas02.gat,104,25
+gl_cas01.gat,200,18,0 warp gl7-1 2,2,glast_01.gat,200,294
+gl_cas01.gat,215,236,0 warp gl07 1,1,gl_cas01.gat,238,192
+gl_cas01.gat,234,192,0 warp gl04 1,1,gl_prison.gat,14,70
+gl_cas01.gat,371,301,0 warp gl05 1,1,gl_prison.gat,14,70
+gl_cas01.gat,372,39,0 warp gl08 1,1,gl_cas01.gat,367,301
+gl_cas02.gat,104,15,0 warp gl10-1 1,1,gl_cas01.gat,200,160
+gl_cas02.gat,104,193,0 warp gl8-1 1,1,glast_01.gat,199,325
+gl_church.gat,156,4,0 warp gl9-1 1,1,glast_01.gat,200,134
+gl_church.gat,16,299,0 warp gl11 1,1,gl_chyard.gat,147,284
+gl_church.gat,301,46,0 warp gl12 1,1,gl_chyard.gat,147,15
+gl_chyard.gat,12,149,0 warp gl22 1,1,gl_sew02.gat,29,270
+gl_chyard.gat,147,12,0 warp gl12-1 1,1,gl_church.gat,295,46
+gl_chyard.gat,147,287,0 warp gl11-1 1,1,gl_church.gat,16,295
+gl_dun01.gat,133,277,0 warp gl25-1 1,1,gl_sew04.gat,101,78
+gl_dun01.gat,225,18,0 warp gl13 1,1,gl_dun02.gat,224,274
+gl_dun02.gat,224,277,0 warp gl13-1 1,1,gl_dun01.gat,225,22
+gl_in01.gat,106,125,0 warp gl5-1 1,1,glast_01.gat,219,357
+gl_in01.gat,118,59,0 warp gl6-1 1,1,glast_01.gat,234,330
+gl_in01.gat,81,68,0 warp gl3-1 1,1,glast_01.gat,165,330
+gl_in01.gat,83,174,0 warp gl4-1 1,1,glast_01.gat,181,357
+gl_knt01.gat,104,204,0 warp gl15 1,1,gl_knt01.gat,123,292
+gl_knt01.gat,12,148,0 warp gl14 1,1,gl_knt02.gat,15,140
+gl_knt01.gat,128,292,0 warp gl15-1 1,1,gl_knt01.gat,104,199
+gl_knt01.gat,150,291,0 warp gl16 1,1,gl_knt02.gat,157,287
+gl_knt01.gat,150,6,0 warp gl2-1 2,2,glast_01.gat,74,193
+gl_knt01.gat,231,197,0 warp gl24-1 1,1,gl_sew02.gat,296,22
+gl_knt01.gat,287,144,0 warp gl17 1,1,gl_knt02.gat,283,140
+gl_knt02.gat,10,138,0 warp gl14-1 1,1,gl_knt01.gat,7,148
+gl_knt02.gat,157,292,0 warp gl16-1 1,1,gl_knt01.gat,150,286
+gl_knt02.gat,289,138,0 warp gl17-1 1,1,gl_knt01.gat,292,144
+gl_prison.gat,149,183,0 warp gl18-1 1,1,gl_prison1.gat,150,14
+gl_prison.gat,10,70,4 script gl18-2 45,1,1,{
+if(rand(2)==1) goto w2;
+ warp "gl_cas01",236,192; end;
+w2: warp "gl_cas01",164,191; end;
+}
+gl_prison1.gat,150,10,0 warp gl18 1,1,gl_prison.gat,149,178
+gl_prison1.gat,62,187,0 warp gl10 1,1,gl_sew01.gat,258,255
+gl_sew01.gat,19,21,0 warp gl19 1,1,gl_sew02.gat,108,291
+gl_sew01.gat,258,258,0 warp gl09 1,1,gl_prison1.gat,61,183
+gl_sew02.gat,109,294,0 warp gl19-1 1,1,gl_sew01.gat,19,24
+gl_sew02.gat,16,26,0 warp gl11 1,1,gl_prison1.gat,61,183
+gl_sew02.gat,290,156,0 warp gl23 1,1,gl_step.gat,117,124
+gl_sew02.gat,296,18,0 warp gl24 1,1,gl_knt01.gat,231,192
+gl_sew02.gat,299,294,0 warp gl20 1,1,gl_sew03.gat,171,283
+gl_sew02.gat,30,273,0 warp gl22-1 1,1,gl_chyard.gat,15,149
+gl_sew03.gat,171,286,0 warp gl20-1 1,1,gl_sew02.gat,295,294
+gl_sew03.gat,64,10,0 warp gl21 1,1,gl_sew04.gat,68,277
+gl_sew04.gat,104,78,0 warp gl25 1,1,gl_dun01.gat,133,271
+gl_sew04.gat,68,280,0 warp gl21-1 1,1,gl_sew03.gat,64,13
+gl_step.gat,120,124,0 warp gl23-1 1,1,gl_sew02.gat,285,158
+gl_step.gat,8,7,0 warp gl1-1 1,1,glast_01.gat,54,108
+glast_01.gat,162,330,0 warp gl3 1,1,gl_in01.gat,77,68
+glast_01.gat,179,360,0 warp gl4 1,1,gl_in01.gat,80,174
+glast_01.gat,199,322,0 warp gl8 1,1,gl_cas02.gat,104,189
+glast_01.gat,200,137,0 warp gl9 1,1,gl_church.gat,156,7
+glast_01.gat,200,297,0 warp gl7 1,1,gl_cas01.gat,199,29
+glast_01.gat,220,360,0 warp gl5 1,1,gl_in01.gat,110,125
+glast_01.gat,237,330,0 warp gl6 1,1,gl_in01.gat,122,59
+glast_01.gat,377,304,0 warp glst001 3,3,gef_fild06.gat,22,304
+glast_01.gat,51,108,0 warp gl1 1,1,gl_step.gat,12,7
+glast_01.gat,77,193,0 warp gl2 1,1,gl_knt01.gat,150,15 \ No newline at end of file
diff --git a/npc/warps/fields/hugel_fild.txt b/npc/warps/fields/hugel_fild.txt
new file mode 100644
index 000000000..0f98ae1bd
--- /dev/null
+++ b/npc/warps/fields/hugel_fild.txt
@@ -0,0 +1,45 @@
+//===== Athena Script ========================================
+//= Hugel Field Warp Script
+//===== By: ==================================================
+//= Sara-chan (1.1)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 10+
+//===== Description: =========================================
+//= Warp Points for Hugel Field
+//===== Additional Comments: =================================
+//= Initial Release
+//============================================================
+
+//= Hugel Field ================================================
+ein_fild04.gat,344,294,0 warp hugel001 1,1,ein_fild05.gat,77,294
+ein_fild05.gat,75,294,0 warp hugel001a 1,1,ein_fild04.gat,339,294
+ein_fild05.gat,377,183,0 warp hugel002 1,1,ein_fild06.gat,42,169
+ein_fild06.gat,40,169,0 warp hugel002a 1,1,ein_fild05.gat,375,183
+ein_fild02.gat,358,250,0 warp hugel003 1,1,yuno_fild04.gat,34,281
+yuno_fild04.gat,32,281,0 warp hugel003a 1,1,ein_fild02.gat,356,250
+ein_fild01.gat,350,369,0 warp hugel003 1,1,yuno_fild05.gat,40,349
+yuno_fild05.gat,40,351,0 warp hugel003a 1,1,ein_fild01.gat,348,369
+ein_fild01.gat,107,34,0 warp hugel004 1,1,ein_fild02.gat,107,363
+ein_fild02.gat,107,365,0 warp hugel004a 1,1,ein_fild01.gat,107,36
+ein_fild01.gat,234,34,0 warp hugel005 1,1,ein_fild02.gat,256,348
+ein_fild02.gat,256,350,0 warp hugel005a 1,1,ein_fild01.gat,234,36
+ein_fild02.gat,170,30,0 warp hugel006 1,1,ein_fild05.gat,174,372
+ein_fild05.gat,174,374,0 warp hugel006a 1,1,ein_fild02.gat,170,32
+hu_fild01.gat,367,182,0 warp hugel007 1,1,hu_fild02.gat,18,167
+hu_fild02.gat,16,167,0 warp hugel007a 1,1,hu_fild01.gat,365,182
+hu_fild04.gat,47,373,0 warp hugel008 1,1,hu_fild02.gat,41,23
+hu_fild02.gat,41,21,0 warp hugel008a 1,1,hu_fild04.gat,47,371
+hu_fild04.gat,296,380,0 warp hugel009 1,1,hu_fild02.gat,291,29
+hu_fild02.gat,291,27,0 warp hugel009a 1,1,hu_fild04.gat,296,378
+hu_fild05.gat,286,357,0 warp hugel010 1,1,hu_fild03.gat,289,22
+hu_fild03.gat,289,20,0 warp hugel010a 1,1,hu_fild05.gat,286,355
+hu_fild05.gat,353,125,0 warp hugel011 1,1,hu_fild06.gat,29,118
+hu_fild06.gat,27,118,0 warp hugel011a 1,1,hu_fild05.gat,351,125
+hu_fild02.gat,375,338,0 warp hugel012 1,1,hu_fild03.gat,21,339
+hu_fild03.gat,19,339,0 warp hugel012a 1,1,hu_fild02.gat,373,338
+hu_fild02.gat,378,153,0 warp hugel013 1,1,hu_fild03.gat,26,166
+hu_fild03.gat,24,166,0 warp hugel013a 1,1,hu_fild02.gat,376,153
+yuno_fild09.gat,377,182,0 warp hugel014 1,1,yuno_fild10.gat,40,183
+yuno_fild10.gat,38,183,0 warp hugel014a 1,1,yuno_fild09.gat,375,182 \ No newline at end of file
diff --git a/npc/warps/fields/jawaii.txt b/npc/warps/fields/jawaii.txt
new file mode 100644
index 000000000..528293098
--- /dev/null
+++ b/npc/warps/fields/jawaii.txt
@@ -0,0 +1,26 @@
+//===== Athena Script ========================================
+//= Jawaii Warp Script
+//===== By: ==================================================
+//= Muad Dib (1.0)
+//= Darkchild (1.1)
+//= MasterOfMuppets (1.2)
+//===== Current Version: =====================================
+//= 1.2b
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 6+
+//===== Description: =========================================
+//= Warp Points for Jawaii
+//===== Additional Comments: =================================
+//= Split off npc_warp.txt
+//= 1.2a Added a missing warp, thanks to Zoc [MasterOfMuppets]
+//= 1.2b Added a missing warp [Komurka]
+//============================================================
+
+jawaii_in.gat,90,78,0 warp jawaiiwarp001 1,1,jawaii.gat,115,172
+jawaii_in.gat,113,61,0 warp jawaiiwarp002 1,1,jawaii.gat,138,202
+jawaii_in.gat,133,107,0 warp jawaiiwarp003 1,1,jawaii.gat,111,199
+jawaii_in.gat,88,117,0 warp jawaiiwarp004 1,1,jawaii.gat,109,186
+jawaii.gat,192,215,0 warp jawaiiwarp005 1,1,jawaii_in.gat,28,94
+jawaii_in.gat,27,91,4 script jawaiiwarp006 45,1,1,{
+if (getpartnerid() > 0) warp "jawaii.gat",192,218; else warp "jawaii_in.gat",27,94;
+} \ No newline at end of file
diff --git a/npc/warps/fields/lhalzen_fild.txt b/npc/warps/fields/lhalzen_fild.txt
new file mode 100644
index 000000000..0c867f6c9
--- /dev/null
+++ b/npc/warps/fields/lhalzen_fild.txt
@@ -0,0 +1,20 @@
+//===== Athena Script ========================================
+//= Lighthalzen Field Warp Script
+//===== By: ==================================================
+//= Sara-chan (1.0)
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 8+
+//===== Description: =========================================
+//= Warp Points for Lighthalzen Field
+//===== Additional Comments: =================================
+//= 1.1 Applied Poki#3's fix for lhz001 & lhz001a [DracoRPG]
+//= 1.2 Updated the warp, according to korean eA site [Vicious]
+//============================================================
+
+lhz_fild01.gat,210,18,0 warp lhz043 1,1,lighthalzen.gat,214,324
+lighthalzen.gat,214,329,0 warp lhz043a 1,1,lhz_fild01.gat,210,23
+
+lhz_fild01.gat,367,222,0 warp lhz044 1,1,lhz_fild02.gat,36,221
+lhz_fild02.gat,29,219,0 warp lhz044a 1,1,lhz_fild01.gat,361,222 \ No newline at end of file
diff --git a/npc/warps/fields/lutie_fild.txt b/npc/warps/fields/lutie_fild.txt
new file mode 100644
index 000000000..b7e2a73df
--- /dev/null
+++ b/npc/warps/fields/lutie_fild.txt
@@ -0,0 +1,17 @@
+//===== Athena Script ========================================
+//= Lutie Field Warp Script
+//===== By: ==================================================
+//= Nana (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 2+
+//===== Description: =========================================
+//= Warp Points for Lutie Field
+//===== Additional Comments: =================================
+//= No Comment!
+//============================================================
+
+//= Lutie Field ==============================================
+xmas_fild01.gat,80,251,0 warp xmas2 3,3,xmas.gat,150,43
+xmas_fild01.gat,85,49,0 warp xmas001 10,3,aldebaran.gat,140,240 \ No newline at end of file
diff --git a/npc/warps/fields/morroc_fild.txt b/npc/warps/fields/morroc_fild.txt
new file mode 100644
index 000000000..b42121f6b
--- /dev/null
+++ b/npc/warps/fields/morroc_fild.txt
@@ -0,0 +1,103 @@
+//===== Athena Script ========================================
+//= Morroc Field Warp Script
+//===== By: ==================================================
+//= Nana (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Warp Points for Morroc Fields
+//===== Additional Comments: =================================
+//= No Comment!
+//============================================================
+
+//= Sograt Dessert ===========================================
+moc_fild01.gat,101,16,0 warp mocf01-1 15,3,moc_fild04.gat,317,376
+moc_fild01.gat,22,242,0 warp mocf005 2,2,prt_fild09.gat,380,237
+moc_fild01.gat,239,382,0 warp mocf006 12,1,prt_fild08.gat,233,20
+moc_fild01.gat,301,16,0 warp mocf02 10,1,moc_fild02.gat,77,338
+moc_fild01.gat,321,16,0 warp mocf02-1 10,1,moc_fild02.gat,77,338
+moc_fild01.gat,341,16,0 warp mocf02-2 10,1,moc_fild02.gat,77,338
+moc_fild01.gat,379,162,0 warp mocf011 2,12,pay_fild04.gat,20,165
+moc_fild01.gat,56,384,0 warp moc007 3,2,prt_fild08.gat,54,24
+moc_fild01.gat,68,16,0 warp mocf01 15,3,moc_fild04.gat,317,376
+moc_fild02.gat,228,29,0 warp mocf03 4,2,moc_fild13.gat,298,367
+moc_fild02.gat,332,19,0 warp mocf04 5,3,moc_fild03.gat,70,336
+moc_fild02.gat,350,339,0 warp mocf012 6,2,pay_fild04.gat,194,20
+moc_fild02.gat,67,342,0 warp mocf02-3 11,3,moc_fild01.gat,315,25
+moc_fild02.gat,71,18,0 warp mocf05 4,2,moc_fild13.gat,146,365
+moc_fild02.gat,92,342,0 warp mocf02-4 11,3,moc_fild01.gat,315,25
+moc_fild03.gat,17,37,0 warp mocf06 2,4,moc_fild13.gat,305,49
+moc_fild03.gat,179,16,0 warp mocf013 4,2,pay_fild11.gat,38,327
+moc_fild03.gat,303,170,0 warp mocf014 2,7,pay_fild01.gat,17,152
+moc_fild03.gat,70,341,0 warp mocf04-1 5,2,moc_fild02.gat,332,23
+moc_fild04.gat,14,122,0 warp mocf07-1 1,11,moc_fild05.gat,378,119
+moc_fild04.gat,14,146,0 warp mocf07-2 1,11,moc_fild05.gat,378,119
+moc_fild04.gat,14,98,0 warp mocf07 1,11,moc_fild05.gat,378,119
+moc_fild04.gat,175,18,0 warp mocf08 3,2,moc_fild08.gat,170,380
+moc_fild04.gat,19,206,0 warp mocf09 3,15,moc_fild05.gat,373,208
+moc_fild04.gat,219,327,0 script mocf016 45,3,4,{ set anthell,0; warp "anthell01.gat",35,262; }
+moc_fild04.gat,292,381,0 warp mocf01-2 10,1,moc_fild01.gat,76,25
+moc_fild04.gat,314,381,0 warp mocf01-3 10,1,moc_fild01.gat,76,25
+moc_fild04.gat,336,381,0 warp mocf01-4 10,1,moc_fild01.gat,76,25
+moc_fild04.gat,92,381,0 warp mocf008 9,2,prt_fild09.gat,246,19
+moc_fild05.gat,144,375,0 warp mocf009 11,2,prt_fild10.gat,263,23
+moc_fild05.gat,18,136,0 warp mocf10 1,8,moc_fild06.gat,367,317
+moc_fild05.gat,18,154,0 warp mocf10-1 1,8,moc_fild06.gat,367,317
+moc_fild05.gat,18,172,0 warp mocf10-2 1,8,moc_fild06.gat,367,317
+moc_fild05.gat,268,18,0 warp mocf11 4,2,moc_fild09.gat,267,368
+moc_fild05.gat,325,382,0 warp mocf010 6,2,prt_fild09.gat,95,19
+moc_fild05.gat,378,208,0 warp mocf09-1 3,14,moc_fild04.gat,26,206
+moc_fild05.gat,384,108,0 warp mocf07-3 1,8,moc_fild04.gat,22,123
+moc_fild05.gat,384,126,0 warp mocf07-4 1,8,moc_fild04.gat,22,123
+moc_fild05.gat,384,144,0 warp mocf07-5 1,8,moc_fild04.gat,22,123
+moc_fild05.gat,82,16,0 warp mocf12 5,2,moc_fild09.gat,80,366
+moc_fild06.gat,18,198,0 warp mocf13 1,18,moc_fild07.gat,378,201
+moc_fild06.gat,207,18,0 warp mocf14 11,2,moc_fild10.gat,208,295
+moc_fild06.gat,377,316,0 warp mocf10-3 1,15,moc_fild05.gat,24,153
+moc_fild07.gat,198,21,0 warp mocf001 2,2,morocc.gat,160,294
+moc_fild07.gat,381,201,0 warp mocf13-1 2,16,moc_fild06.gat,28,201
+moc_fild08.gat,16,207,0 warp mocf15 2,4,moc_fild09.gat,371,195
+moc_fild08.gat,170,383,0 warp mocf08-1 3,2,moc_fild04.gat,175,21
+moc_fild08.gat,204,16,0 warp mocf16 4,2,moc_fild14.gat,196,379
+moc_fild08.gat,383,211,0 warp mocf17 2,4,moc_fild13.gat,32,171
+moc_fild09.gat,126,20,0 warp mocf18 4,2,moc_fild15.gat,158,360
+moc_fild09.gat,267,371,0 warp mocf11-1 4,2,moc_fild05.gat,268,21
+moc_fild09.gat,30,162,0 warp mocf19 2,3,moc_fild10.gat,381,258
+moc_fild09.gat,374,195,0 warp mocf15-1 2,8,moc_fild08.gat,19,207
+moc_fild09.gat,80,369,0 warp mocf12-1 7,2,moc_fild05.gat,82,19
+moc_fild10.gat,189,23,0 warp mocf20 3,2,moc_fild11.gat,189,360
+moc_fild10.gat,19,207,0 warp mocf002 2,2,morocc.gat,299,207
+moc_fild10.gat,208,298,0 warp mocf14-1 10,2,moc_fild06.gat,207,21
+moc_fild10.gat,384,258,0 warp mocf19-1 2,3,moc_fild09.gat,33,162
+moc_fild11.gat,189,363,0 warp mocf20-1 3,2,moc_fild10.gat,189,26
+moc_fild11.gat,212,29,0 warp mocf21 4,2,moc_fild17.gat,218,366
+moc_fild11.gat,26,161,0 warp mocf22 2,10,moc_fild12.gat,286,168
+moc_fild11.gat,379,197,0 warp mocf23 2,6,moc_fild15.gat,41,105
+moc_fild12.gat,118,30,0 warp mocf24 4,2,moc_fild18.gat,158,379
+moc_fild12.gat,159,381,0 warp mocf003 2,2,morocc.gat,160,20
+moc_fild12.gat,289,168,0 warp mocf22-1 2,3,moc_fild11.gat,29,161
+moc_fild13.gat,146,368,0 warp mocf05-1 5,2,moc_fild02.gat,71,21
+moc_fild13.gat,29,171,0 warp mocf17-1 2,4,moc_fild08.gat,380,211
+moc_fild13.gat,298,370,0 warp mocf03-1 4,2,moc_fild02.gat,228,32
+moc_fild13.gat,308,49,0 warp mocf06-1 2,4,moc_fild03.gat,20,37
+moc_fild14.gat,16,278,0 warp mocf25 2,6,moc_fild15.gat,364,276
+moc_fild14.gat,196,382,0 warp mocf16-1 4,2,moc_fild08.gat,204,19
+moc_fild15.gat,104,16,0 warp mocf26 9,2,moc_fild16.gat,125,380
+moc_fild15.gat,158,363,0 warp mocf18-1 6,2,moc_fild09.gat,126,23
+moc_fild15.gat,258,253,0 script mocf017 45,3,3,{ set anthell,1; warp "anthell01.gat",35,262; }
+moc_fild15.gat,348,18,0 warp mocf27 5,2,moc_fild16.gat,334,379
+moc_fild15.gat,367,276,0 warp mocf25-1 2,4,moc_fild14.gat,19,278
+moc_fild15.gat,38,105,0 warp mocf23-1 2,4,moc_fild11.gat,376,197
+moc_fild16.gat,125,383,0 warp mocf26-1 5,2,moc_fild15.gat,104,19
+moc_fild16.gat,16,179,0 warp mocf28 2,6,moc_fild17.gat,366,272
+moc_fild16.gat,334,382,0 warp mocf27-1 4,2,moc_fild15.gat,348,21
+moc_fild17.gat,218,369,0 warp mocf21-1 5,2,moc_fild11.gat,212,32
+moc_fild17.gat,30,300,0 warp moc29 2,5,moc_fild18.gat,379,305
+moc_fild17.gat,369,272,0 warp mocf28-1 2,3,moc_fild16.gat,19,179
+moc_fild18.gat,158,382,0 warp mocf24-1 4,2,moc_fild12.gat,118,33
+moc_fild18.gat,382,305,0 warp moc29-1 2,4,moc_fild17.gat,33,300
+moc_fild19.gat,169,107,0 warp mocf004 1,4,morocc.gat,27,164
+moc_fild19.gat,71,170,0 warp mocf018 8,2,moc_ruins.gat,71,19
+moc_fild19.gat,98,99,0 warp mocf019 1,1,in_sphinx1.gat,288,9 \ No newline at end of file
diff --git a/npc/warps/fields/mtmjolnir.txt b/npc/warps/fields/mtmjolnir.txt
new file mode 100644
index 000000000..7fbf099d4
--- /dev/null
+++ b/npc/warps/fields/mtmjolnir.txt
@@ -0,0 +1,61 @@
+//===== Athena Script ========================================
+//= Mt. Mjolnir Warp Script
+//===== By: ==================================================
+//= Nana (1.0)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Warp Points for Mt. Mjolnir
+//===== Additional Comments: =================================
+//= 1.1 updating according to jA [Lupus]
+//============================================================
+
+//= Mt. Mjolnir ==============================================
+mjolnir_01.gat,284,18,0 warp mjol001 4,2,gef_fild04.gat,261,359
+mjolnir_01.gat,378,256,0 warp mjol01 2,2,mjolnir_02.gat,30,258
+mjolnir_02.gat,28,258,0 warp mjol01-1 2,2,mjolnir_01.gat,376,256
+mjolnir_02.gat,326,289,0 warp mjol02 1,1,mjolnir_03.gat,24,258
+mjolnir_02.gat,361,18,0 warp mjol03 4,2,mjolnir_06.gat,366,380
+mjolnir_02.gat,79,365,0 warp mjol013 2,1,mjo_dun01.gat,52,17
+mjolnir_03.gat,21,258,0 warp mjol02-1 2,2,mjolnir_02.gat,323,289
+mjolnir_03.gat,212,17,0 warp mjol04 4,2,mjolnir_07.gat,214,380
+mjolnir_03.gat,242,204,0 warp mjol05 1,1,mjolnir_04.gat,125,208
+mjolnir_04.gat,122,208,0 warp mjol05-1 1,1,mjolnir_03.gat,239,204
+mjolnir_04.gat,160,46,0 warp mjol06 4,2,mjolnir_08.gat,159,370
+mjolnir_04.gat,387,174,0 warp mjol07 2,2,mjolnir_05.gat,19,171
+mjolnir_05.gat,16,171,0 warp mjol07-1 2,2,mjolnir_04.gat,384,174
+mjolnir_05.gat,220,382,0 warp mjol08 4,2,mjolnir_12.gat,220,29
+mjolnir_05.gat,235,16,0 warp mjol09 4,2,mjolnir_10.gat,235,378
+mjolnir_06.gat,18,331,0 warp mjol002 2,4,gef_fild04.gat,359,322
+mjolnir_06.gat,265,29,0 warp mjol003 2,2,gef_fild00.gat,267,379
+mjolnir_06.gat,366,383,0 warp mjol03-1 4,2,mjolnir_02.gat,361,21
+mjolnir_06.gat,382,377,0 warp mjol10 2,4,mjolnir_07.gat,19,377
+mjolnir_06.gat,383,74,0 warp mjol11 2,4,mjolnir_07.gat,20,77
+mjolnir_07.gat,156,16,0 warp mjol004 4,2,prt_fild00.gat,159,380
+mjolnir_07.gat,16,377,0 warp mjol10-1 2,4,mjolnir_06.gat,379,377
+mjolnir_07.gat,17,77,0 warp mjol11-1 2,4,mjolnir_06.gat,380,74
+mjolnir_07.gat,214,383,0 warp mjol04-1 4,2,mjolnir_03.gat,212,20
+mjolnir_07.gat,383,233,0 warp mjol12 2,4,mjolnir_08.gat,33,234
+mjolnir_07.gat,383,362,0 warp mjol13 2,4,mjolnir_08.gat,32,346
+mjolnir_08.gat,159,373,0 warp mjol06 1,1,mjolnir_04.gat,160,49
+mjolnir_08.gat,185,28,0 warp mjol14 17,2,mjolnir_09.gat,196,364
+mjolnir_08.gat,29,346,0 warp mjol13-1 2,4,mjolnir_07.gat,380,362
+mjolnir_08.gat,30,234,0 warp mjol12-1 2,4,mjolnir_07.gat,380,233
+mjolnir_08.gat,369,257,0 warp mjol15 2,4,mjolnir_10.gat,18,258
+mjolnir_09.gat,106,28,0 warp mjol005 4,2,prt_fild05.gat,105,378
+mjolnir_09.gat,194,367,0 warp mjol14-1 8,2,mjolnir_08.gat,185,31
+mjolnir_09.gat,30,249,0 warp mjol006 2,4,prt_fild00.gat,380,249
+mjolnir_09.gat,300,28,0 warp mjol007 4,2,prt_fild05.gat,292,382
+mjolnir_09.gat,373,288,0 warp mjol011 2,2,prt_fild01.gat,23,292
+mjolnir_10.gat,15,258,0 warp mjol15-1 2,4,mjolnir_08.gat,366,257
+mjolnir_10.gat,235,381,0 warp mjol09-1 4,2,mjolnir_05.gat,235,19
+mjolnir_10.gat,265,13,0 warp mjol008 3,2,prt_fild01.gat,261,370
+mjolnir_10.gat,384,220,0 warp mjol16 2,4,mjolnir_11.gat,23,220
+mjolnir_10.gat,66,15,0 warp mjol009 4,2,prt_fild01.gat,66,370
+mjolnir_11.gat,174,20,0 warp mjol010 4,2,prt_fild02.gat,173,379
+mjolnir_11.gat,20,220,0 warp mjol16-1 2,4,mjolnir_10.gat,381,220
+mjolnir_12.gat,199,378,0 warp mjol012 2,2,aldebaran.gat,138,37
+mjolnir_12.gat,220,26,0 warp mjol08-1 3,2,mjolnir_05.gat,220,379
+mjolnir_12.gat,43,20,0 warp mjol17 1,1,prt_maze01.gat,17,111
diff --git a/npc/warps/fields/payon_fild.txt b/npc/warps/fields/payon_fild.txt
new file mode 100644
index 000000000..f3707d811
--- /dev/null
+++ b/npc/warps/fields/payon_fild.txt
@@ -0,0 +1,48 @@
+//===== eAthena Script =======================================
+//= Payon Field Warps
+//===== By: ==================================================
+//= Nana (1.0)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any eAthena Mod
+//===== Description: =========================================
+//= Payon Field Warps
+//===== Additional Comments: =================================
+//= 1.1 Refixed payon field08 -> payon warp
+//============================================================
+
+//= Payon Field's ============================================
+pay_fild01.gat,13,152,0 warp payf001 2,7,moc_fild03.gat,299,170
+pay_fild01.gat,278,14,0 warp payf01 13,2,pay_fild02.gat,83,382
+pay_fild01.gat,353,14,0 warp payf02 20,3,pay_fild02.gat,160,381
+pay_fild01.gat,379,201,0 warp payf03 2,6,pay_fild07.gat,23,207
+pay_fild02.gat,134,16,0 warp payf04 5,2,pay_fild05.gat,127,375
+pay_fild02.gat,16,175,0 warp payf06 2,4,pay_fild11.gat,294,135
+pay_fild02.gat,167,390,0 warp payf02-1 20,3,pay_fild01.gat,354,18
+pay_fild02.gat,284,108,0 warp payf07 2,7,pay_fild03.gat,20,110
+pay_fild02.gat,83,386,0 warp payf01-1 13,2,pay_fild01.gat,278,18
+pay_fild03.gat,15,110,0 warp payf07-1 2,10,pay_fild02.gat,280,108
+pay_fild03.gat,172,281,0 warp payf08 5,2,pay_fild07.gat,167,20
+pay_fild03.gat,313,16,0 warp payf09 4,2,pay_fild06.gat,305,372
+pay_fild03.gat,392,63,0 warp payf005 2,7,alberta.gat,19,233
+pay_fild04.gat,17,165,0 warp payf002 2,8,moc_fild01.gat,376,162
+pay_fild04.gat,194,17,0 warp payf003 7,2,moc_fild02.gat,350,336
+pay_fild05.gat,127,378,0 warp payf04-1 4,2,pay_fild02.gat,134,19
+pay_fild05.gat,271,284,0 warp payf10 2,4,pay_fild06.gat,31,288
+pay_fild06.gat,28,288,0 warp payf10-1 2,2,pay_fild05.gat,268,284
+pay_fild06.gat,305,375,0 warp payf09-1 6,2,pay_fild03.gat,313,19
+pay_fild07.gat,16,200,0 warp payf03-1 3,3,pay_fild01.gat,371,205
+pay_fild07.gat,163,17,0 warp payf08-1 5,2,pay_fild03.gat,177,275
+pay_fild07.gat,280,382,0 warp payf11 4,2,pay_fild08.gat,160,19
+pay_fild07.gat,382,290,0 warp payf12 2,5,pay_fild10.gat,19,290
+pay_fild08.gat,160,16,0 warp payf11-1 4,2,pay_fild07.gat,280,379
+pay_fild08.gat,17,75,0 warp payf006 2,4,payon.gat,265,92
+pay_fild08.gat,262,91,0 warp payf13 2,4,pay_fild09.gat,19,91
+pay_fild09.gat,112,16,0 warp pay14 4,2,pay_fild10.gat,112,379
+pay_fild09.gat,16,91,0 warp payf13-1 2,4,pay_fild08.gat,259,91
+pay_fild10.gat,112,382,0 warp pay14-1 3,2,pay_fild09.gat,112,19
+pay_fild10.gat,16,290,0 warp payf12-1 2,5,pay_fild07.gat,379,290
+pay_fild10.gat,99,13,0 warp w1034 1,1,pay_fild10.gat,148,252
+pay_fild11.gat,297,135,0 warp payf06-1 2,4,pay_fild02.gat,19,175
+pay_fild11.gat,38,330,0 warp payf004 4,2,moc_fild03.gat,179,19 \ No newline at end of file
diff --git a/npc/warps/fields/prontera_fild.txt b/npc/warps/fields/prontera_fild.txt
new file mode 100644
index 000000000..3ca22ce4d
--- /dev/null
+++ b/npc/warps/fields/prontera_fild.txt
@@ -0,0 +1,101 @@
+//===== Athena Script ========================================
+//= Prontera Field Warp Script
+//===== By: ==================================================
+//= Nana (1.0)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Warp Points for Prontera Field
+//===== Additional Comments: =================================
+//= 1.1 updating according to jA [Lupus]
+//============================================================
+
+//= Prontera Fields ==========================================
+prt_fild00.gat,159,383,0 warp prtf007 4,2,mjolnir_07.gat,156,19
+prt_fild00.gat,165,18,0 warp prtf01 9,3,prt_fild04.gat,158,384
+prt_fild00.gat,18,129,0 warp prtf015 2,6,gef_fild00.gat,376,140
+prt_fild00.gat,317,18,0 warp prtf02 8,2,prt_fild04.gat,323,384
+prt_fild00.gat,383,249,0 warp prtf008 2,4,mjolnir_09.gat,33,248
+prt_fild01.gat,136,373,0 warp prtf030 1,1,prt_maze01.gat,99,31
+prt_fild01.gat,199,24,0 warp prtf001 3,2,prt_gld.gat,159,295
+prt_fild01.gat,20,292,0 warp prtf009 2,3,mjolnir_09.gat,370,288
+prt_fild01.gat,261,373,0 warp prtf010 6,2,mjolnir_10.gat,265,16
+prt_fild01.gat,380,243,0 warp prtf03 2,5,prt_fild02.gat,20,242
+prt_fild01.gat,382,304,0 warp prtf04 2,10,prt_fild02.gat,20,305
+prt_fild01.gat,382,351,0 warp prtf05 2,8,prt_fild02.gat,20,350
+prt_fild01.gat,66,373,0 warp prtf011 2,2,mjolnir_10.gat,66,18
+prt_fild02.gat,17,242,0 warp prtf03-1 2,5,prt_fild01.gat,377,243
+prt_fild02.gat,17,305,0 warp prtf04-1 2,5,prt_fild01.gat,379,302
+prt_fild02.gat,17,350,0 warp prtf05-1 2,7,prt_fild01.gat,379,351
+prt_fild02.gat,173,382,0 warp prtf012 4,2,mjolnir_11.gat,174,23
+prt_fild02.gat,305,17,0 warp prtf06 10,2,prt_fild06.gat,277,315
+prt_fild02.gat,380,347,0 warp prtf07 2,10,prt_fild03.gat,23,249
+prt_fild03.gat,16,249,0 warp prtf07-1 2,10,prt_fild02.gat,373,353
+prt_fild03.gat,371,256,0 warp prtf006 2,2,prt_monk.gat,25,248
+prt_fild04.gat,160,387,0 warp prtf01-1 10,2,prt_fild00.gat,164,24
+prt_fild04.gat,17,114,0 warp prtf016 2,10,gef_fild01.gat,375,111
+prt_fild04.gat,323,387,0 warp prtf02-1 7,2,prt_fild00.gat,315,21
+prt_fild04.gat,378,72,0 warp prtf08 2,6,prt_fild05.gat,17,59
+prt_fild04.gat,384,155,0 warp prtf09 2,7,prt_fild05.gat,20,134
+prt_fild04.gat,384,334,0 warp prtf10 2,6,prt_fild05.gat,20,333
+prt_fild05.gat,105,381,0 warp prtf013 5,2,mjolnir_09.gat,106,34
+prt_fild05.gat,13,63,0 warp prtf08-1 2,15,prt_fild04.gat,374,73
+prt_fild05.gat,134,14,0 warp prtf11 14,3,prt_fild07.gat,129,374
+prt_fild05.gat,14,141,0 warp prtf09-1 2,18,prt_fild04.gat,380,158
+prt_fild05.gat,15,333,0 warp prtf10-1 2,8,prt_fild04.gat,380,332
+prt_fild05.gat,255,14,0 warp prtf12 12,2,prt_fild07.gat,248,369
+prt_fild05.gat,292,385,0 warp prtf014 4,2,mjolnir_09.gat,305,33
+prt_fild05.gat,373,205,0 warp prtf002 3,3,prontera.gat,26,203
+prt_fild06.gat,23,193,0 warp prtf003 2,3,prontera.gat,285,203
+prt_fild06.gat,277,320,0 warp prtf06-1 10,2,prt_fild02.gat,305,22
+prt_fild07.gat,13,64,0 warp prtf017 3,8,gef_fild02.gat,376,69
+prt_fild07.gat,132,381,0 warp prtf11-1 9,3,prt_fild05.gat,142,18
+prt_fild07.gat,14,289,0 warp prtf018 3,10,gef_fild02.gat,375,292
+prt_fild07.gat,17,145,0 warp prtf019 3,12,gef_fild02.gat,376,156
+prt_fild07.gat,206,12,0 warp prtf13 4,2,prt_fild09.gat,224,377
+prt_fild07.gat,248,376,0 warp prtf12-1 8,2,prt_fild05.gat,257,18
+prt_fild07.gat,383,239,0 warp prtf14 3,20,prt_fild08.gat,20,239
+prt_fild07.gat,385,186,0 warp prtf15 3,20,prt_fild08.gat,20,186
+prt_fild07.gat,84,13,0 warp prtf16 4,2,prt_fild09.gat,87,377
+prt_fild08.gat,16,187,0 warp prtf15-1 3,17,prt_fild07.gat,380,186
+prt_fild08.gat,16,239,0 warp prtf14-1 3,15,prt_fild07.gat,379,239
+prt_fild08.gat,170,378,0 warp prtf004 3,2,prontera.gat,156,26
+prt_fild08.gat,233,16,0 warp prtf023 12,1,moc_fild01.gat,238,378
+prt_fild08.gat,371,212,0 warp prtf005 3,3,izlude.gat,35,78
+prt_fild08.gat,55,21,0 warp prtf024 4,2,moc_fild01.gat,56,380
+prt_fild09.gat,14,124,0 warp prtf17 2,6,prt_fild10.gat,336,126
+prt_fild09.gat,14,139,0 warp prtf17-1 2,8,prt_fild10.gat,336,126
+prt_fild09.gat,224,380,0 warp prtf13-1 4,2,prt_fild07.gat,206,15
+prt_fild09.gat,246,16,0 warp prtf025 7,2,moc_fild04.gat,92,378
+prt_fild09.gat,383,223,0 warp prtf026 2,15,moc_fild01.gat,25,242
+prt_fild09.gat,383,251,0 warp prtf027 2,15,moc_fild01.gat,25,242
+prt_fild09.gat,87,380,0 warp prtf16-1 5,2,prt_fild07.gat,84,16
+prt_fild09.gat,95,16,0 warp prtf028 7,2,moc_fild05.gat,325,379
+prt_fild10.gat,20,122,0 warp prtf19 2,4,prt_fild11.gat,359,111
+prt_fild10.gat,20,196,0 warp prtf20 2,4,prt_fild11.gat,358,184
+prt_fild10.gat,227,299,0 warp prtf020 5,2,gef_fild02.gat,266,21
+prt_fild10.gat,263,20,0 warp prtf029 6,2,moc_fild05.gat,144,372
+prt_fild10.gat,339,126,0 warp prtf17-2 2,8,prt_fild09.gat,17,133
+prt_fild11.gat,17,281,0 warp prtf021 2,4,gef_fild11.gat,374,293
+prt_fild11.gat,302,301,0 warp prtf022 5,2,gef_fild03.gat,312,19
+prt_fild11.gat,361,184,0 warp prtf20-1 2,5,prt_fild10.gat,23,196
+prt_fild11.gat,362,111,0 warp prtf19-1 2,6,prt_fild10.gat,23,122
+
+//= St. Capitolina Abbey =====================================
+monk_in.gat,128,46,0 warp monk03 1,3,monk_in.gat,161,38
+monk_in.gat,128,84,0 warp monk04 1,3,monk_in.gat,161,90
+monk_in.gat,159,38,0 warp monk03-1 1,3,monk_in.gat,126,46
+monk_in.gat,159,90,0 warp monk04-1 1,3,monk_in.gat,126,84
+monk_in.gat,40,38,0 warp monk05 1,3,monk_in.gat,71,46
+monk_in.gat,40,92,0 warp monk06 1,3,monk_in.gat,71,84
+monk_in.gat,69,46,0 warp monk05-1 1,3,monk_in.gat,38,38
+monk_in.gat,69,84,0 warp monk06-1 1,3,monk_in.gat,38,92
+monk_in.gat,98,186,0 warp monk02-1 3,2,prt_monk.gat,245,139
+monk_in.gat,98,27,0 warp monk01-1 5,2,prt_monk.gat,245,104
+monk_in.gat,99,102,0 warp monk07 5,1,monk_in.gat,99,143
+monk_in.gat,99,141,0 warp monk07-1 3,1,monk_in.gat,99,100
+prt_monk.gat,22,248,0 warp monk001 2,2,prt_fild03.gat,368,256
+prt_monk.gat,245,106,0 warp monk01 1,1,monk_in.gat,98,30
+prt_monk.gat,245,137,0 warp monk02 1,1,monk_in.gat,98,183 \ No newline at end of file
diff --git a/npc/warps/fields/umbala_fild.txt b/npc/warps/fields/umbala_fild.txt
new file mode 100644
index 000000000..d20de19fe
--- /dev/null
+++ b/npc/warps/fields/umbala_fild.txt
@@ -0,0 +1,35 @@
+//===== Athena Script ========================================
+//= Umbala Field Warp Script
+//===== By: ==================================================
+//= Nana (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 6+
+//===== Description: =========================================
+//= Warp Points for Umbala Field
+//===== Additional Comments: =================================
+//= No Comment
+//============================================================
+
+//Umbala-Umbala Fields Connection
+um_fild04.gat,215,340,0 warp umba0055 1,1,umbala.gat,130,80
+umbala.gat,129,78,0 warp umba0001 1,1,um_fild04.gat,215,337
+
+//Umbala-Comodo Connection
+beach_dun2.gat,258,244,0 warp umba0052 1,1,um_fild01.gat,35,276
+cmd_fild01.gat,179,370,0 warp umba0041 1,1,um_fild03.gat,239,27
+cmd_fild01.gat,78,367,0 warp umba0043 1,1,um_fild03.gat,117,51
+um_fild01.gat,30,274,0 warp umba0051 1,1,beach_dun2.gat,255,244
+um_fild03.gat,119,50,0 warp umba0044 1,1,cmd_fild01.gat,78,365
+um_fild03.gat,239,25,0 warp umba0042 1,1,cmd_fild01.gat,179,368
+
+//Umbala Fields
+um_fild01.gat,368,275,0 warp umba0010 1,1,um_fild02.gat,24,271
+um_fild02.gat,191,374,0 warp umba0053 1,1,um_fild04.gat,179,13
+um_fild02.gat,21,270,0 warp umba0009 1,1,um_fild01.gat,365,275
+um_fild02.gat,374,149,0 warp umba0008 1,1,um_fild03.gat,35,146
+um_fild02.gat,374,326,0 warp umba0005 1,1,um_fild03.gat,21,334
+um_fild03.gat,18,334,0 warp umba0006 1,1,um_fild02.gat,371,326
+um_fild03.gat,30,146,0 warp umba0007 1,1,um_fild02.gat,371,149
+um_fild04.gat,179,10,0 warp umba0054 1,1,um_fild02.gat,191,372 \ No newline at end of file
diff --git a/npc/warps/fields/yuno_fild.txt b/npc/warps/fields/yuno_fild.txt
new file mode 100644
index 000000000..1dff2d39a
--- /dev/null
+++ b/npc/warps/fields/yuno_fild.txt
@@ -0,0 +1,89 @@
+//===== Athena Script ========================================
+//= Yuno Field Warp Script
+//===== By: ==================================================
+//= Nana (1.0), Sara
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 5+
+//===== Description: =========================================
+//= Warp Points for Yuno Field
+//===== Additional Comments: =================================
+//= 1.1 - Updated for the new Yuno Fields
+//= 1.2 New field update - Hugel Field by Sara - Version 1
+//============================================================
+
+//= Yuno Field ===============================================
+//yuno_fild01.gat,286,368,0 warp yunfild01 1,1,yuno_fild02.gat,294,26
+//yuno_fild02.gat,294,24,0 warp yunfild01-1 1,1,yuno_fild01.gat,286,366
+//yuno_fild01.gat,70,378,0 warp yunfild02 1,1,yuno_fild02.gat,70,25
+//yuno_fild02.gat,70,23,0 warp yunfild02-1 1,1,yuno_fild01.gat,70,376
+
+yuno_fild02.gat,18,337,0 warp yunfild03 1,1,yuno_fild03.gat,381,331
+yuno_fild03.gat,383,331,0 warp yunfild03-1 1,1,yuno_fild02.gat,20,337
+yuno_fild03.gat,19,79,0 warp yunfild04 1,1,yuno_fild04.gat,373,84
+yuno_fild04.gat,375,84,0 warp yunfild04-1 1,1,yuno_fild03.gat,21,79
+yuno_fild03.gat,20,155,0 warp yunfild05 1,1,yuno_fild04.gat,373,150
+yuno_fild04.gat,375,150,0 warp yunfild05-1 1,1,yuno_fild03.gat,22,155
+yuno_fild04.gat,231,288,0 warp yunfild-yun 1,1,yuno.gat,158,17
+yuno_fild03.gat,32,139,0 warp yunfild-mag01 1,1,mag_dun01.gat,126,68
+
+//= New Yuno Fields ==========================================
+yuno_fild01.gat,26,246,0 warp newjun01 1,1,yuno_fild12.gat,373,239
+yuno_fild12.gat,375,239,0 warp newjun01a 1,1,yuno_fild01.gat,28,246
+yuno_fild12.gat,23,338,0 warp newjun02 1,1,yuno_fild11.gat,366,361
+yuno_fild11.gat,368,361,0 warp newjun02a 1,1,yuno_fild12.gat,25,338
+yuno_fild12.gat,24,225,0 warp newjun03 1,1,yuno_fild11.gat,363,218
+yuno_fild11.gat,365,218,0 warp newjun03a 1,1,yuno_fild12.gat,24,227
+yuno_fild07.gat,92,12,0 warp newjun04 1,1,yuno_fild11.gat,92,369
+yuno_fild11.gat,92,371,0 warp newjun04a 1,1,yuno_fild07.gat,92,14
+yuno_fild12.gat,193,371,0 warp newjun05 1,1,yuno_fild08.gat,143,21
+yuno_fild08.gat,145,21,0 warp newjun05a 1,1,yuno_fild12.gat,195,371
+yuno_fild01.gat,70,378,0 warp newjun06 1,1,yuno_fild09.gat,70,19
+yuno_fild09.gat,70,17,0 warp newjun06a 1,1,yuno_fild01.gat,70,376
+yuno_fild01.gat,286,368,0 warp newjun07 1,1,yuno_fild09.gat,280,30
+yuno_fild09.gat,280,28,0 warp newjun07a 1,1,yuno_fild01.gat,286,366
+yuno_fild09.gat,19,194,0 warp newjun08 1,1,yuno_fild08.gat,374,193
+yuno_fild08.gat,376,193,0 warp newjun08a 1,1,yuno_fild09.gat,21,194
+yuno_fild08.gat,20,278,0 warp newjun09 1,1,yuno_fild07.gat,352,291
+yuno_fild07.gat,354,291,0 warp newjun09a 1,1,yuno_fild08.gat,22,278
+yuno_fild08.gat,31,58,0 warp newjun10 1,1,yuno_fild07.gat,358,72
+yuno_fild07.gat,360,72,0 warp newjun10a 1,1,yuno_fild08.gat,33,58
+
+//= (By speculation only) ====================================
+yuno_fild07.gat,179,354,0 warp newjun11 1,1,yuno_fild03.gat,179,17
+yuno_fild03.gat,179,15,0 warp newjun11a 1,1,yuno_fild07.gat,179,352
+yuno_fild08.gat,74,376,0 warp newjun12 1,1,yuno_fild02.gat,70,25
+yuno_fild02.gat,70,23,0 warp newjun12a 1,1,yuno_fild08.gat,74,374
+yuno_fild08.gat,286,386,0 warp newjun13 1,1,yuno_fild02.gat,294,26
+yuno_fild02.gat,294,24,0 warp newjun13a 1,1,yuno_fild08.gat,286,384
+yuno_fild04.gat,42,369,0 warp newjun14 1,1,yuno_fild05.gat,59,30
+yuno_fild05.gat,59,28,0 warp newjun14a 1,1,yuno_fild04.gat,42,367
+
+
+//= Al de Baran <-> Yuno Connection ==========================
+aldebaran.gat,140,244,0 warp alde-yunfild 1,1,yuno_fild01.gat,208,19
+yuno_fild01.gat,208,17,0 warp yunfild-alde 1,1,aldebaran.gat,140,242
+
+//= Hugel Field
+//= Version 1
+yuno_fild05.gat,372,325,0 warp hu001 1,1,yuno_fild06.gat,42,319
+yuno_fild06.gat,40,319,0 warp hu001a 1,1,yuno_fild05.gat,370,325
+yuno_fild06.gat,217,27,0 warp hu002 1,1,yuno_fild03.gat,214,381
+yuno_fild03.gat,214,383,0 warp hu002a 1,1,yuno_fild06.gat,217,29
+yuno_fild06.gat,369,136,0 warp hu003 1,1,hu_fild04.gat,28,126
+hu_fild04.gat,26,126,0 warp hu003a 1,1,yuno_fild06.gat,367,136
+hu_fild04.gat,121,26,0 warp hu004 1,1,yuno_fild02.gat,118,374
+yuno_fild02.gat,118,376,0 warp hu004a 1,1,hu_fild04.gat,121,28
+yuno_fild06.gat,149,369,0 warp hu005 1,1,hu_fild01.gat,139,37
+hu_fild01.gat,139,35,0 warp hu005a 1,1,yuno_fild06.gat,151,369
+hu_fild04.gat,381,187,0 warp hu006 1,1,hu_fild05.gat,34,202
+hu_fild05.gat,32,202,0 warp hu006a 1,1,hu_fild04.gat,379,187
+hu_fild05.gat,91,42,0 warp hu007 1,1,hu_fild07.gat,80,369
+hu_fild07.gat,80,371,0 warp hu007a 1,1,hu_fild05.gat,91,44
+hu_fild07.gat,35,351,0 warp hu008 1,1,yuno_fild02.gat,384,338
+yuno_fild02.gat,384,340,0 warp hu008a 1,1,hu_fild07.gat,37,351
+hu_fild07.gat,56,36,0 warp hu009 1,1,yuno_fild09.gat,47,375
+yuno_fild09.gat,47,377,0 warp hu009a 1,1,hu_fild07.gat,56,38
+hu_fild07.gat,226,36,0 warp hu010 1,1,yuno_fild09.gat,220,372
+yuno_fild09.gat,220,374,0 warp hu010a 1,1,hu_fild07.gat,226,38
diff --git a/npc/warps/guild/guildcastles.txt b/npc/warps/guild/guildcastles.txt
new file mode 100644
index 000000000..c72a1a9ea
--- /dev/null
+++ b/npc/warps/guild/guildcastles.txt
@@ -0,0 +1,488 @@
+//===== Athena Script ========================================
+//= Guild Castles Warp Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 2.2
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Warp Points for Al de Baran, Payon, Prontera & Geffen
+//= Guild Castles
+//===== Additional Comments: =================================
+//= Split off npc_warp.txt
+//= fixed aldg504-1 warp [Lupus]
+//= 2.0 Added Novice Guilds warps, optimized aldg408r warp [Lupus]
+//= 2.1 Fixed some warps positions [Yor]
+//= 2.2 Changed all breaks to end as per the new script engine. [Skotlex]
+//============================================================
+
+
+//Al de Baran Guild Castles Map Connection
+aldebaran.gat,35,140,0 warp aldg001 1,1,alde_gld.gat,280,160
+alde_gld.gat,284,160,0 warp aldg002 1,1,aldebaran.gat,39,140
+
+//Al de Baran Guild Castles Map
+alde_gld.gat,48,79,0 warp aldg01 1,1,aldeg_cas01.gat,34,248
+aldeg_cas01.gat,34,252,0 warp aldg01-1 1,1,alde_gld.gat,48,83
+alde_gld.gat,95,253,0 warp aldg02 1,1,aldeg_cas02.gat,88,163
+aldeg_cas02.gat,88,159,0 warp aldg02-1 1,1,alde_gld.gat,95,249
+alde_gld.gat,142,81,0 warp aldg03 1,1,aldeg_cas03.gat,114,286
+aldeg_cas03.gat,114,290,0 warp aldg03-1 1,1,alde_gld.gat,142,85
+alde_gld.gat,243,242,0 warp aldg04 1,1,aldeg_cas04.gat,149,17
+aldeg_cas04.gat,145,17,0 warp aldg04-1 1,1,alde_gld.gat,239,242
+alde_gld.gat,259,90,0 warp aldg05 1,1,aldeg_cas05.gat,216,103
+aldeg_cas05.gat,216,107,0 warp aldg05-1 1,1,alde_gld.gat,264,90
+
+//Al de Baran Guild Castles
+aldeg_cas01.gat,50,222,0 warp aldg101 1,1,aldeg_cas01.gat,104,108
+aldeg_cas01.gat,104,112,0 warp aldg101-1 1,1,aldeg_cas01.gat,45,224
+aldeg_cas01.gat,66,191,0 warp aldg102 1,1,aldeg_cas01.gat,122,61
+aldeg_cas01.gat,126,61,0 warp aldg102-1 1,1,aldeg_cas01.gat,62,191
+aldeg_cas01.gat,54,27,0 warp aldg102-2 1,1,aldeg_cas01.gat,62,191
+aldeg_cas01.gat,26,188,0 warp aldg103 1,1,aldeg_cas01.gat,50,70
+aldeg_cas01.gat,46,70,0 warp aldg103-1 1,1,aldeg_cas01.gat,24,188
+aldeg_cas01.gat,70,112,0 warp aldg104 1,1,aldeg_cas01.gat,42,225
+aldeg_cas01.gat,39,222,0 warp aldg104-1 1,1,aldeg_cas01.gat,70,108
+aldeg_cas01.gat,89,23,0 warp aldg105 1,1,aldeg_cas01.gat,207,132
+aldeg_cas01.gat,207,128,0 warp aldg105-1 1,1,aldeg_cas01.gat,89,27
+aldeg_cas01.gat,206,188,0 warp aldg106 1,1,aldeg_cas01.gat,216,50
+aldeg_cas01.gat,216,54,0 warp aldg106-1 1,1,aldeg_cas01.gat,206,184
+aldeg_cas01.gat,232,186,0 warp aldg107 1,1,aldeg_cas01.gat,42,197
+aldeg_cas01.gat,46,197,0 warp aldg107-1 1,1,aldeg_cas01.gat,232,182
+aldeg_cas01.gat,171,175,0 warp aldg108 1,1,aldeg_cas01.gat,35,197
+aldeg_cas01.gat,31,197,0 warp aldg108-1 1,1,aldeg_cas01.gat,175,175
+aldeg_cas02.gat,84,208,0 warp aldg201 1,1,aldeg_cas02.gat,105,84
+aldeg_cas02.gat,105,88,0 warp aldg201-1 1,1,aldeg_cas02.gat,79,208
+aldeg_cas02.gat,45,39,0 warp aldg201-2 1,1,aldeg_cas02.gat,79,208
+aldeg_cas02.gat,50,185,0 warp aldg202 1,1,aldeg_cas02.gat,192,192
+aldeg_cas02.gat,192,196,0 warp aldg202-1 1,1,aldeg_cas02.gat,50,180
+aldeg_cas02.gat,33,174,0 warp aldg203 1,1,aldeg_cas02.gat,126,61
+aldeg_cas02.gat,130,61,0 warp aldg203-1 1,1,aldeg_cas02.gat,33,179
+aldeg_cas02.gat,22,193,0 warp aldg204 1,1,aldeg_cas02.gat,88,11
+aldeg_cas02.gat,88,8,0 warp aldg204-1 1,1,aldeg_cas02.gat,22,190
+aldeg_cas02.gat,121,88,0 warp aldg205 1,1,aldeg_cas02.gat,177,135
+aldeg_cas02.gat,177,131,0 warp aldg205-1 1,1,aldeg_cas02.gat,121,84
+aldeg_cas02.gat,206,196,0 warp aldg206 1,1,aldeg_cas02.gat,197,13
+aldeg_cas02.gat,197,9,0 warp aldg206-1 1,1,aldeg_cas02.gat,206,192
+aldeg_cas03.gat,92,217,0 warp aldg301 1,1,aldeg_cas03.gat,127,90
+aldeg_cas03.gat,130,90,0 warp aldg301-1 1,1,aldeg_cas03.gat,96,215
+aldeg_cas03.gat,87,247,0 warp aldg302 1,1,aldeg_cas03.gat,54,90
+aldeg_cas03.gat,51,90,0 warp aldg302-1 1,1,aldeg_cas03.gat,87,251
+aldeg_cas03.gat,93,124,0 warp aldg302-2 1,1,aldeg_cas03.gat,87,251
+aldeg_cas03.gat,44,222,0 warp aldg303 1,1,aldeg_cas03.gat,213,182
+aldeg_cas03.gat,214,186,0 warp aldg303-1 1,1,aldeg_cas03.gat,49,222
+aldeg_cas03.gat,91,57,0 warp aldg304 1,1,aldeg_cas03.gat,60,236
+aldeg_cas03.gat,60,241,0 warp aldg304-1 1,1,aldeg_cas03.gat,91,61
+aldeg_cas03.gat,79,130,0 warp aldg305 1,1,aldeg_cas03.gat,201,149
+aldeg_cas03.gat,201,145,0 warp aldg305-1 1,1,aldeg_cas03.gat,79,126
+aldeg_cas03.gat,199,190,0 warp aldg306 1,1,aldeg_cas03.gat,195,51
+aldeg_cas03.gat,195,54,0 warp aldg306-1 1,1,aldeg_cas03.gat,199,186
+aldeg_cas04.gat,197,40,0 warp aldg401 1,1,aldeg_cas04.gat,26,88
+aldeg_cas04.gat,22,88,0 warp aldg401-1 1,1,aldeg_cas04.gat,192,41
+aldeg_cas04.gat,175,54,0 warp aldg402 1,1,aldeg_cas04.gat,74,88
+aldeg_cas04.gat,50,132,0 warp aldg402-1 1,1,aldeg_cas04.gat,74,88
+aldeg_cas04.gat,78,88,0 warp aldg402-2 1,1,aldeg_cas04.gat,174,58
+aldeg_cas04.gat,185,87,0 warp aldg403 1,1,aldeg_cas04.gat,111,210
+aldeg_cas04.gat,108,210,0 warp aldg403-1 1,1,aldeg_cas04.gat,186,92
+aldeg_cas04.gat,171,100,0 warp aldg404 1,1,aldeg_cas04.gat,152,210
+aldeg_cas04.gat,156,210,0 warp aldg404-1 1,1,aldeg_cas04.gat,169,97
+aldeg_cas04.gat,196,85,0 warp aldg405 1,1,aldeg_cas04.gat,49,54
+aldeg_cas04.gat,49,52,0 warp aldg405-1 8,1,aldeg_cas04.gat,196,82
+aldeg_cas04.gat,21,123,0 warp aldg406 1,1,aldeg_cas04.gat,125,168
+aldeg_cas04.gat,121,168,0 warp aldg406-1 1,1,aldeg_cas04.gat,25,123
+aldeg_cas04.gat,132,209,0 warp aldg407 1,1,aldeg_cas04.gat,14,196
+aldeg_cas04.gat,17,196,0 warp aldg407-1 1,1,aldeg_cas04.gat,132,228
+aldeg_cas04.gat,132,231,4 script aldg408r 45,1,1,{
+ set @l0,rand(4);
+ if(@l0==1) goto w2;
+ if(@l0==2) goto w3;
+ if(@l0==3) goto w4;
+ warp "aldeg_cas04.gat",170,100; end;
+w2: warp "aldeg_cas04.gat",186,88; end;
+w3: warp "aldeg_cas04.gat",129,212; end;
+w4: warp "aldeg_cas04.gat",132,209; end;
+}
+aldeg_cas05.gat,194,71,0 warp aldg501 1,1,aldeg_cas05.gat,129,194
+aldeg_cas05.gat,125,194,0 warp aldg501-1 1,1,aldeg_cas05.gat,199,70
+aldeg_cas05.gat,164,86,0 warp aldg502 1,1,aldeg_cas05.gat,66,189
+aldeg_cas05.gat,70,189,0 warp aldg502-1 1,1,aldeg_cas05.gat,166,81
+aldeg_cas05.gat,150,67,0 warp aldg503 1,1,aldeg_cas05.gat,9,187
+aldeg_cas05.gat,5,187,0 warp aldg503-1 1,1,aldeg_cas05.gat,151,62
+aldeg_cas05.gat,165,232,0 warp aldg504 1,1,aldeg_cas05.gat,193,49
+aldeg_cas05.gat,188,49,0 warp aldg504-1 1,1,aldeg_cas05.gat,165,228 //fixed [Lupus]
+aldeg_cas05.gat,195,42,0 warp aldg505 1,1,aldeg_cas05.gat,19,227
+aldeg_cas05.gat,15,227,0 warp aldg505-1 1,1,aldeg_cas05.gat,195,46
+aldeg_cas05.gat,13,175,0 warp aldg506 1,1,aldeg_cas05.gat,162,194
+aldeg_cas05.gat,166,194,0 warp aldg506-1 1,1,aldeg_cas05.gat,13,179
+aldeg_cas05.gat,156,231,0 warp aldg507 1,1,aldeg_cas05.gat,18,88
+aldeg_cas05.gat,14,88,0 warp aldg507-1 1,1,aldeg_cas05.gat,156,227
+
+// Geffen Castles Map
+gef_fild13.gat,112,269,0 warp gefg05 1,1,gefg_cas03.gat,100,280
+gef_fild13.gat,139,240,0 warp gefg06 1,1,gefg_cas03.gat,125,250
+gef_fild13.gat,150,54,0 warp gefg01 1,1,gefg_cas01.gat,34,140
+gef_fild13.gat,196,281,0 warp gefg08 1,1,gefg_cas04.gat,24,149
+gef_fild13.gat,210,75,0 warp gefg02 1,1,gefg_cas01.gat,95,178
+gef_fild13.gat,256,57,0 warp gefg09 1,1,gefg_cas05.gat,11,134
+gef_fild13.gat,305,83,0 warp gefg09-1 1,1,gefg_cas05.gat,99,200
+gef_fild13.gat,308,244,0 warp gefg03 1,1,gefg_cas02.gat,70,143
+gef_fild13.gat,77,284,0 warp gefg04 1,1,gefg_cas03.gat,60,286
+gef_fild13.gat,83,185,0 warp gefg07 1,1,gefg_cas03.gat,89,159
+
+//Geffen Guild Castles
+gefg_cas01.gat,170,14,0 warp gefg106-1 1,1,gefg_cas01.gat,50,84
+gefg_cas01.gat,170,34,0 warp gefg105-1 1,1,gefg_cas01.gat,30,167
+gefg_cas01.gat,181,52,0 warp gefg107 1,1,gefg_cas01.gat,198,160
+gefg_cas01.gat,202,160,0 warp gefg107-1 1,1,gefg_cas01.gat,185,52
+gefg_cas01.gat,209,34,0 warp gefg103-1 1,1,gefg_cas01.gat,56,170
+gefg_cas01.gat,31,185,0 warp gefg104 1,1,gefg_cas01.gat,33,47
+gefg_cas01.gat,33,51,0 warp gefg104-1 1,1,gefg_cas01.gat,35,185
+gefg_cas01.gat,34,136,0 warp gefg01-1 1,1,gef_fild13.gat,150,50
+gefg_cas01.gat,34,167,0 warp gefg105 1,1,gefg_cas01.gat,174,34
+gefg_cas01.gat,39,196,0 warp gefg101 1,1,gefg_cas01.gat,62,13
+gefg_cas01.gat,54,84,0 warp gefg106 1,1,gefg_cas01.gat,174,14
+gefg_cas01.gat,58,185,0 warp gefg102 1,1,gefg_cas01.gat,90,47
+gefg_cas01.gat,59,170,0 warp gefg103 1,1,gefg_cas01.gat,205,34
+gefg_cas01.gat,62,9,0 warp gefg101-1 1,1,gefg_cas01.gat,39,192
+gefg_cas01.gat,90,51,0 warp gefg102-1 1,1,gefg_cas01.gat,54,185
+gefg_cas01.gat,99,178,0 warp gefg02-1 1,1,gef_fild13.gat,214,75
+gefg_cas02.gat,148,18,0 warp gefg205-1 1,1,gefg_cas02.gat,35,150
+gefg_cas02.gat,150,36,0 warp gefg208 1,1,gefg_cas02.gat,152,186
+gefg_cas02.gat,152,190,0 warp gefg208-1 1,1,gefg_cas02.gat,150,41
+gefg_cas02.gat,174,11,0 warp gefg207-1 1,1,gefg_cas02.gat,21,13
+gefg_cas02.gat,184,36,0 warp gefg204-1 1,1,gefg_cas02.gat,48,155
+gefg_cas02.gat,185,18,0 warp gefg206-1 1,1,gefg_cas02.gat,53,136
+gefg_cas02.gat,22,160,0 warp gefg203 1,1,gefg_cas02.gat,34,17
+gefg_cas02.gat,25,13,0 warp gefg207 1,1,gefg_cas02.gat,170,11
+gefg_cas02.gat,34,13,0 warp gefg203-1 1,1,gefg_cas02.gat,22,156
+gefg_cas02.gat,34,152,0 warp gefg205 1,1,gefg_cas02.gat,153,18
+gefg_cas02.gat,34,68,0 warp gefg202-1 1,1,gefg_cas02.gat,50,175
+gefg_cas02.gat,35,173,0 warp gefg201 1,1,gefg_cas02.gat,76,42
+gefg_cas02.gat,46,175,0 warp gefg202 1,1,gefg_cas02.gat,34,64
+gefg_cas02.gat,48,159,0 warp gefg204 1,1,gefg_cas02.gat,184,41
+gefg_cas02.gat,57,136,0 warp gefg206 1,1,gefg_cas02.gat,180,18
+gefg_cas02.gat,70,147,0 warp gefg03-1 1,1,gef_fild13.gat,308,240
+gefg_cas02.gat,80,42,0 warp gefg201-1 1,1,gefg_cas02.gat,39,173
+gefg_cas03.gat,103,283,0 warp gefg05-1 1,1,gef_fild13.gat,117,273
+gefg_cas03.gat,106,217,0 warp gefg307 1,1,gefg_cas03.gat,131,15
+gefg_cas03.gat,115,210,0 warp gefg308 1,1,gefg_cas03.gat,92,215
+gefg_cas03.gat,130,250,0 warp gefg06-1 1,1,gef_fild13.gat,143,240
+gefg_cas03.gat,135,15,0 warp gefg307-1 1,1,gefg_cas03.gat,110,217
+gefg_cas03.gat,135,92,0 warp gefg302-1 1,1,gefg_cas03.gat,34,282
+gefg_cas03.gat,152,92,0 warp gefg304-1 1,1,gefg_cas03.gat,59,255
+gefg_cas03.gat,154,16,0 warp gefg314 1,1,gefg_cas03.gat,252,11
+gefg_cas03.gat,17,206,0 warp gefg306-1 1,1,gefg_cas03.gat,29,219
+gefg_cas03.gat,212,46,0 warp gefg315 1,1,gefg_cas03.gat,225,158
+gefg_cas03.gat,225,154,0 warp gefg315-1 1,1,gefg_cas03.gat,212,42
+gefg_cas03.gat,237,74,0 warp gefg312-1 1,1,gefg_cas03.gat,62,213
+gefg_cas03.gat,256,11,0 warp gefg314-1 1,1,gefg_cas03.gat,159,16
+gefg_cas03.gat,266,47,0 warp gefg309-1 1,1,gefg_cas03.gat,45,175
+gefg_cas03.gat,27,215,0 warp gefg306-2 1,1,gefg_cas03.gat,17,202
+gefg_cas03.gat,34,286,0 warp gefg302 1,1,gefg_cas03.gat,131,92
+gefg_cas03.gat,38,243,0 warp gefg306 1,1,gefg_cas03.gat,29,219
+gefg_cas03.gat,38,259,0 warp gefg303-1 1,1,gefg_cas03.gat,43,271
+gefg_cas03.gat,42,175,0 warp gefg309 1,1,gefg_cas03.gat,266,43
+gefg_cas03.gat,43,191,0 warp gefg310-1 1,1,gefg_cas03.gat,70,185
+gefg_cas03.gat,47,271,0 warp gefg303 1,1,gefg_cas03.gat,38,255
+gefg_cas03.gat,50,248,0 warp gefg305 1,1,gefg_cas03.gat,54,229
+gefg_cas03.gat,58,232,0 warp gefg305-1 1,1,gefg_cas03.gat,62,213
+gefg_cas03.gat,63,255,0 warp gefg304 1,1,gefg_cas03.gat,156,92
+gefg_cas03.gat,65,215,0 warp gefg312 1,1,gefg_cas03.gat,233,74
+gefg_cas03.gat,66,223,0 warp gefg301 1,1,gefg_cas03.gat,96,53
+gefg_cas03.gat,68,290,0 warp gefg04-1 1,1,gef_fild13.gat,74,287
+gefg_cas03.gat,70,182,0 warp gefg310 1,1,gefg_cas03.gat,39,191
+gefg_cas03.gat,79,244,0 warp gefg313-1 1,1,gefg_cas03.gat,91,250
+gefg_cas03.gat,88,248,0 warp gefg311-1 1,1,gefg_cas03.gat,76,242
+gefg_cas03.gat,90,218,0 warp gefg308-1 1,1,gefg_cas03.gat,111,210
+gefg_cas03.gat,92,53,0 warp gefg301-1 1,1,gefg_cas03.gat,62,223
+gefg_cas03.gat,93,159,0 warp gefg07-1 1,1,gef_fild13.gat,83,181
+gefg_cas03.gat,93,209,0 warp gefg311 1,1,gefg_cas03.gat,92,250
+gefg_cas03.gat,95,251,0 warp gefg313 1,1,gefg_cas03.gat,91,209
+gefg_cas04.gat,140,168,0 warp gefg407-1 1,1,gefg_cas04.gat,178,61
+gefg_cas04.gat,142,33,0 warp gefg406-1 1,1,gefg_cas04.gat,52,21
+gefg_cas04.gat,142,55,0 warp gefg404-1 1,1,gefg_cas04.gat,32,180
+gefg_cas04.gat,174,36,0 warp gefg403-1 1,1,gefg_cas04.gat,53,192
+gefg_cas04.gat,178,57,0 warp gefg407 1,1,gefg_cas04.gat,143,166
+gefg_cas04.gat,18,82,0 warp gefg401-1 1,1,gefg_cas04.gat,34,215
+gefg_cas04.gat,18,9,0 warp gefg402-1 1,1,gefg_cas04.gat,57,220
+gefg_cas04.gat,24,145,0 warp gefg08-1 1,1,gef_fild13.gat,193,278
+gefg_cas04.gat,27,180,0 warp gefg404 1,1,gefg_cas04.gat,142,59
+gefg_cas04.gat,34,211,0 warp gefg401 1,1,gefg_cas04.gat,18,78
+gefg_cas04.gat,42,81,0 warp gefg405 1,1,gefg_cas04.gat,42,13
+gefg_cas04.gat,42,9,0 warp gefg405-1 1,1,gefg_cas04.gat,42,77
+gefg_cas04.gat,52,25,0 warp gefg406 1,1,gefg_cas04.gat,142,37
+gefg_cas04.gat,53,196,0 warp gefg403 1,1,gefg_cas04.gat,170,36
+gefg_cas04.gat,57,224,0 warp gefg402 1,1,gefg_cas04.gat,18,13
+gefg_cas05.gat,149,44,0 warp gefg506-1 1,1,gefg_cas05.gat,37,20
+gefg_cas05.gat,178,72,0 warp gefg501-1 1,1,gefg_cas05.gat,46,165
+gefg_cas05.gat,190,20,0 warp gefg508 1,1,gefg_cas05.gat,194,151
+gefg_cas05.gat,194,147,0 warp gefg508-1 1,1,gefg_cas05.gat,190,16
+gefg_cas05.gat,206,44,0 warp gefg507-1 1,1,gefg_cas05.gat,93,20
+gefg_cas05.gat,37,16,0 warp gefg506 1,1,gefg_cas05.gat,153,44
+gefg_cas05.gat,43,62,0 warp gefg505-1 1,1,gefg_cas05.gat,78,138
+gefg_cas05.gat,44,143,0 warp gefg503 1,1,gefg_cas05.gat,70,155
+gefg_cas05.gat,50,165,0 warp gefg501 1,1,gefg_cas05.gat,178,68
+gefg_cas05.gat,66,76,0 warp gefg504-1 1,1,gefg_cas05.gat,80,155
+gefg_cas05.gat,68,150,0 warp gefg503-1 1,1,gefg_cas05.gat,44,147
+gefg_cas05.gat,7,134,0 warp gefg10 1,1,gef_fild13.gat,252,57
+gefg_cas05.gat,74,138,0 warp gefg505 1,1,gefg_cas05.gat,47,62
+gefg_cas05.gat,83,152,0 warp gefg504 1,1,gefg_cas05.gat,66,72
+gefg_cas05.gat,87,165,0 warp gefg502 1,1,gefg_cas05.gat,84,62
+gefg_cas05.gat,88,62,0 warp gefg502-1 1,1,gefg_cas05.gat,83,165
+gefg_cas05.gat,93,16,0 warp gefg507 1,1,gefg_cas05.gat,202,44
+gefg_cas05.gat,99,204,0 warp gefg10-1 1,1,gef_fild13.gat,305,87
+
+//Payon Guild Castles Map Connection
+// Temp Disabled till i replace them from the ones in payon.txt!!
+//payon.gat,17,151,0 warp payg001 1,1,pay_gld.gat,370,149
+//pay_gld.gat,374,149,0 warp payg001-1 1,1,payon.gat,21,151
+moc_fild02.gat,378,272,0 warp payg002 1,1,pay_gld.gat,20,276
+pay_gld.gat,16,276,0 warp payg002-1 1,1,moc_fild02.gat,374,272
+
+//Payon Guild Castles Map
+pay_gld.gat,121,238,0 warp payg01 1,1,payg_cas01.gat,214,48
+payg_cas01.gat,214,44,0 warp payg01-1 1,1,pay_gld.gat,121,233
+pay_gld.gat,291,116,0 warp payg02 1,1,payg_cas02.gat,272,57
+payg_cas02.gat,276,61,0 warp payg02-1 1,1,pay_gld.gat,295,116
+pay_gld.gat,321,293,0 warp payg03 1,1,payg_cas03.gat,226,26
+payg_cas03.gat,226,22,0 warp payg03-1 1,1,pay_gld.gat,317,293
+pay_gld.gat,140,156,0 warp payg04 1,1,payg_cas04.gat,252,271
+payg_cas04.gat,252,275,0 warp payg04-1 1,1,pay_gld.gat,140,160
+pay_gld.gat,204,269,0 warp payg05 3,1,payg_cas05.gat,62,225
+payg_cas05.gat,62,222,0 warp payg05-1 5,1,pay_gld.gat,204,266
+
+//Payon Guild Castles
+payg_cas01.gat,201,125,0 warp payg101 1,1,payg_cas01.gat,102,19
+payg_cas01.gat,102,16,0 warp payg101-1 3,1,payg_cas01.gat,201,122
+payg_cas01.gat,222,130,0 warp payg102 1,1,payg_cas01.gat,130,43
+payg_cas01.gat,134,43,0 warp payg102-1 1,1,payg_cas01.gat,226,130
+payg_cas01.gat,218,112,0 warp payg103 1,1,payg_cas01.gat,230,94
+payg_cas01.gat,230,98,0 warp payg103-1 1,1,payg_cas01.gat,222,112
+payg_cas01.gat,213,76,0 warp payg104 1,1,payg_cas01.gat,201,118
+payg_cas01.gat,201,114,0 warp payg104-1 1,1,payg_cas01.gat,213,72
+payg_cas01.gat,84,15,0 warp payg105 1,1,payg_cas01.gat,15,115
+payg_cas01.gat,11,115,0 warp payg105-1 1,1,payg_cas01.gat,81,15
+payg_cas01.gat,53,111,0 warp payg106 1,1,payg_cas01.gat,115,147
+payg_cas01.gat,115,151,0 warp payg106-1 1,1,payg_cas01.gat,53,115
+payg_cas02.gat,232,72,0 warp payg201 1,1,payg_cas02.gat,28,289
+payg_cas02.gat,28,293,0 warp payg201-1 1,1,payg_cas02.gat,229,72
+payg_cas02.gat,236,59,0 warp payg201-2 1,1,payg_cas02.gat,229,72
+payg_cas02.gat,222,26,0 warp payg202 1,1,payg_cas02.gat,80,240
+payg_cas02.gat,84,240,0 warp payg202-1 1,1,payg_cas02.gat,224,30
+payg_cas02.gat,215,31,0 warp payg203 1,1,payg_cas02.gat,65,288
+payg_cas02.gat,65,292,0 warp payg203-1 1,1,payg_cas02.gat,215,35
+payg_cas02.gat,47,223,0 warp payg204 1,1,payg_cas02.gat,280,287
+payg_cas02.gat,280,291,0 warp payg204-1 1,1,payg_cas02.gat,47,227
+payg_cas02.gat,254,240,0 warp payg205 3,1,payg_cas02.gat,13,40
+payg_cas02.gat,13,43,0 warp payg205-1 7,1,payg_cas02.gat,254,243
+payg_cas03.gat,255,76,0 warp payg301 1,1,payg_cas03.gat,24,19
+payg_cas03.gat,20,19,0 warp payg301-1 1,1,payg_cas03.gat,255,72
+payg_cas03.gat,269,79,0 warp payg302 1,1,payg_cas03.gat,53,19
+payg_cas03.gat,57,19,0 warp payg302-1 1,1,payg_cas03.gat,269,75
+payg_cas03.gat,255,64,0 warp payg303 1,1,payg_cas03.gat,245,37
+payg_cas03.gat,245,41,0 warp payg303-1 1,1,payg_cas03.gat,255,68
+payg_cas03.gat,262,71,0 warp payg304 1,1,payg_cas03.gat,39,9
+payg_cas03.gat,39,5,0 warp payg304-1 1,1,payg_cas03.gat,263,66
+payg_cas03.gat,271,68,0 warp payg305 0,1,payg_cas03.gat,261,37
+payg_cas03.gat,261,34,0 warp payg305-1 1,1,payg_cas03.gat,269,68
+payg_cas03.gat,39,84,0 warp payg306 1,1,payg_cas03.gat,29,249
+payg_cas03.gat,29,245,0 warp payg306-1 1,1,payg_cas03.gat,39,80
+payg_cas03.gat,29,269,0 warp payg307 1,1,payg_cas03.gat,269,287
+payg_cas03.gat,269,290,0 warp payg307-1 1,1,payg_cas03.gat,29,273
+payg_cas04.gat,259,212,0 warp payg401 1,1,payg_cas04.gat,72,240
+payg_cas04.gat,75,240,0 warp payg401-1 1,5,payg_cas04.gat,256,212
+payg_cas04.gat,232,189,0 warp payg402 1,1,payg_cas04.gat,74,261
+payg_cas04.gat,78,261,0 warp payg402-1 1,1,payg_cas04.gat,236,189
+payg_cas04.gat,229,208,0 warp payg403 1,1,payg_cas04.gat,70,282
+payg_cas04.gat,74,282,0 warp payg403-1 1,1,payg_cas04.gat,225,208
+payg_cas04.gat,7,261,0 warp payg404 1,1,payg_cas04.gat,55,30
+payg_cas04.gat,59,30,0 warp payg404-1 1,1,payg_cas04.gat,11,261
+payg_cas04.gat,28,31,0 warp payg405 1,1,payg_cas04.gat,251,42
+payg_cas04.gat,254,45,0 warp payg405-1 1,1,payg_cas04.gat,24,31
+payg_cas05.gat,23,283,0 warp payg501 1,1,payg_cas05.gat,237,282
+payg_cas05.gat,237,286,0 warp payg501-1 1,1,payg_cas05.gat,19,282
+payg_cas05.gat,56,255,0 warp payg502 1,1,payg_cas05.gat,223,256
+payg_cas05.gat,219,256,0 warp payg502-1 1,1,payg_cas05.gat,52,255
+payg_cas05.gat,40,263,0 warp payg503 3,1,payg_cas05.gat,237,229
+payg_cas05.gat,237,226,0 warp payg503-1 5,1,payg_cas05.gat,40,260
+payg_cas05.gat,283,256,0 warp payg504 1,1,payg_cas05.gat,286,43
+payg_cas05.gat,290,43,0 warp payg504-1 1,1,payg_cas05.gat,287,256
+payg_cas05.gat,242,41,0 warp payg505 1,1,payg_cas05.gat,18,18
+payg_cas05.gat,14,14,0 warp payg505-1 1,1,payg_cas05.gat,246,41
+
+//Prontera Castles Map
+prt_gld.gat,107,240,0 warp prtg04-1 1,1,prtg_cas04.gat,86,13
+prt_gld.gat,129,65,0 warp prtg01 1,1,prtg_cas01.gat,99,32
+prt_gld.gat,153,141,0 warp prtg03-1 1,1,prtg_cas03.gat,168,12
+prt_gld.gat,159,25,0 warp prtg002 6,2,prt_castle.gat,102,178
+prt_gld.gat,159,298,0 warp prtg001 1,1,prt_fild01.gat,199,30
+prt_gld.gat,212,240,0 warp prtg05-1 1,1,prtg_cas05.gat,17,235
+prt_gld.gat,240,124,0 warp prtg02-1 1,1,prtg_cas02.gat,43,229
+
+//Prontera Guild Castles
+prtg_cas01.gat,103,32,0 warp prtg01-1 1,1,prt_gld.gat,134,65
+prtg_cas01.gat,109,163,0 warp prtg107 1,1,prtg_cas01.gat,202,183
+prtg_cas01.gat,147,120,0 warp prtg106 1,1,prtg_cas01.gat,75,187
+prtg_cas01.gat,196,119,0 warp prtg103-1 1,1,prtg_cas01.gat,40,54
+prtg_cas01.gat,196,65,0 warp prtg104-1 1,1,prtg_cas01.gat,75,54
+prtg_cas01.gat,206,183,0 warp prtg107-1 1,1,prtg_cas01.gat,113,163
+prtg_cas01.gat,206,92,0 warp prtg105-1 1,1,prtg_cas01.gat,55,70
+prtg_cas01.gat,37,47,0 warp prtg102-1 1,1,prtg_cas01.gat,45,34
+prtg_cas01.gat,37,54,0 warp prtg103 1,1,prtg_cas01.gat,192,119
+prtg_cas01.gat,41,34,0 warp prtg102 1,1,prtg_cas01.gat,40,47
+prtg_cas01.gat,51,70,0 warp prtg105 1,1,prtg_cas01.gat,202,92
+prtg_cas01.gat,57,19,0 warp prtg101 1,1,prtg_cas01.gat,80,49
+prtg_cas01.gat,62,34,0 warp prtg108 1,1,prtg_cas01.gat,192,119
+prtg_cas01.gat,71,54,0 warp prtg104 1,1,prtg_cas01.gat,192,65
+prtg_cas01.gat,75,183,0 warp prtg106-1 1,1,prtg_cas01.gat,147,116
+prtg_cas01.gat,84,19,0 warp prtg109 1,1,prtg_cas01.gat,192,65
+prtg_cas01.gat,84,49,0 warp prtg101-1 1,1,prtg_cas01.gat,61,19
+prtg_cas02.gat,157,135,0 warp prtg206-1 1,1,prtg_cas02.gat,184,40
+prtg_cas02.gat,161,41,0 warp prtg202-1 1,1,prtg_cas02.gat,57,202
+prtg_cas02.gat,184,44,0 warp prtg206 1,1,prtg_cas02.gat,157,140
+prtg_cas02.gat,203,21,0 warp prtg205-1 1,1,prtg_cas02.gat,45,25
+prtg_cas02.gat,210,41,0 warp prtg201-1 1,1,prtg_cas02.gat,84,215
+prtg_cas02.gat,35,183,0 warp prtg204 1,1,prtg_cas02.gat,71,82
+prtg_cas02.gat,43,233,0 warp prtg02 1,1,prt_gld.gat,240,128
+prtg_cas02.gat,45,21,0 warp prtg205 1,1,prtg_cas02.gat,203,25
+prtg_cas02.gat,53,202,0 warp prtg202 1,1,prtg_cas02.gat,165,41
+prtg_cas02.gat,64,164,0 warp prtg203 1,1,prtg_cas02.gat,98,25
+prtg_cas02.gat,71,86,0 warp prtg204-1 1,1,prtg_cas02.gat,35,187
+prtg_cas02.gat,88,215,0 warp prtg201 1,1,prtg_cas02.gat,206,41
+prtg_cas02.gat,98,21,0 warp prtg203-1 1,1,prtg_cas02.gat,64,168
+prtg_cas03.gat,164,173,0 warp prtg305-1 1,1,prtg_cas03.gat,45,117
+prtg_cas03.gat,165,59,0 warp prtg304 1,1,prtg_cas03.gat,45,47
+prtg_cas03.gat,168,8,0 warp prtg03 1,1,prt_gld.gat,153,137
+prtg_cas03.gat,169,235,0 warp prtg306 1,1,prtg_cas03.gat,11,200
+prtg_cas03.gat,172,44,0 warp prtg303 1,1,prtg_cas03.gat,10,78
+prtg_cas03.gat,178,85,0 warp prtg301 1,1,prtg_cas03.gat,82,73
+prtg_cas03.gat,191,55,0 warp prtg302 1,1,prtg_cas03.gat,190,233
+prtg_cas03.gat,194,233,0 warp prtg302-1 1,1,prtg_cas03.gat,191,59
+prtg_cas03.gat,45,120,0 warp prtg305 1,1,prtg_cas03.gat,164,177
+prtg_cas03.gat,45,43,0 warp prtg304-1 1,1,prtg_cas03.gat,165,54
+prtg_cas03.gat,6,78,0 warp prtg303-1 1,1,prtg_cas03.gat,176,44
+prtg_cas03.gat,7,200,0 warp prtg306-1 1,1,prtg_cas03.gat,169,231
+prtg_cas03.gat,86,73,0 warp prtg301-1 1,1,prtg_cas03.gat,178,81
+prtg_cas04.gat,10,229,0 warp prtg401-1 1,1,prtg_cas04.gat,48,44
+prtg_cas04.gat,238,257,0 warp prtg406-1 1,1,prtg_cas04.gat,34,286
+prtg_cas04.gat,247,258,0 warp prtg407 1,1,prtg_cas04.gat,255,14
+prtg_cas04.gat,251,14,0 warp prtg407-1 1,1,prtg_cas04.gat,247,254
+prtg_cas04.gat,32,28,0 warp prtg403 1,1,prtg_cas04.gat,11,254
+prtg_cas04.gat,34,225,0 warp prtg402-1 1,1,prtg_cas04.gat,63,26
+prtg_cas04.gat,34,290,0 warp prtg406 1,1,prtg_cas04.gat,238,261
+prtg_cas04.gat,42,13,0 warp prtg404 1,1,prtg_cas04.gat,56,254
+prtg_cas04.gat,48,48,0 warp prtg401 1,1,prtg_cas04.gat,10,233
+prtg_cas04.gat,54,25,0 warp prtg405 1,1,prtg_cas04.gat,56,233
+prtg_cas04.gat,56,229,0 warp prtg405-1 1,1,prtg_cas04.gat,54,29
+prtg_cas04.gat,60,254,0 warp prtg404-1 1,1,prtg_cas04.gat,42,17
+prtg_cas04.gat,63,30,0 warp prtg402 1,1,prtg_cas04.gat,34,229
+prtg_cas04.gat,7,254,0 warp prtg403-1 1,1,prtg_cas04.gat,32,32
+prtg_cas04.gat,86,9,0 warp prtg04 1,1,prt_gld.gat,111,240
+prtg_cas05.gat,17,231,0 warp prtg05 1,1,prt_gld.gat,208,240
+prtg_cas05.gat,195,13,0 warp prtg504-1 1,1,prtg_cas05.gat,55,248
+prtg_cas05.gat,228,96,0 warp prtg505 1,1,prtg_cas05.gat,26,7
+prtg_cas05.gat,244,3,0 warp prtg501-1 1,1,prtg_cas05.gat,35,247
+prtg_cas05.gat,253,294,0 warp prtg506-1 1,1,prtg_cas05.gat,58,11
+prtg_cas05.gat,26,3,0 warp prtg505-1 1,1,prtg_cas05.gat,228,92
+prtg_cas05.gat,260,96,0 warp prtg503-1 1,1,prtg_cas05.gat,66,229
+prtg_cas05.gat,292,13,0 warp prtg502-1 1,1,prtg_cas05.gat,76,246
+prtg_cas05.gat,38,250,0 warp prtg501 1,1,prtg_cas05.gat,244,7
+prtg_cas05.gat,53,246,0 warp prtg504 1,1,prtg_cas05.gat,199,13
+prtg_cas05.gat,58,7,0 warp prtg506 1,1,prtg_cas05.gat,253,290
+prtg_cas05.gat,66,225,0 warp prtg503 1,1,prtg_cas05.gat,260,92
+prtg_cas05.gat,76,242,0 warp prtg502 1,1,prtg_cas05.gat,288,13
+
+//================== 4 Novices Guild Castles =============================
+//Novices Guild: Al de Baran Guild Castles Map
+n_castle.gat,184,16,0 warp naldg01 1,1,nguild_alde.gat,34,248
+nguild_alde.gat,34,252,0 warp naldg01-1 1,1,n_castle.gat,187,16
+
+nguild_alde.gat,50,222,0 warp naldg101 1,1,nguild_alde.gat,104,108
+nguild_alde.gat,104,112,0 warp naldg101-1 1,1,nguild_alde.gat,45,224
+nguild_alde.gat,66,191,0 warp naldg102 1,1,nguild_alde.gat,122,61
+nguild_alde.gat,126,61,0 warp naldg102-1 1,1,nguild_alde.gat,62,191
+nguild_alde.gat,54,27,0 warp naldg102-2 1,1,nguild_alde.gat,62,191
+nguild_alde.gat,26,188,0 warp naldg103 1,1,nguild_alde.gat,50,70
+nguild_alde.gat,46,70,0 warp naldg103-1 1,1,nguild_alde.gat,24,188
+nguild_alde.gat,70,112,0 warp naldg104 1,1,nguild_alde.gat,42,225
+nguild_alde.gat,39,222,0 warp naldg104-1 1,1,nguild_alde.gat,70,108
+nguild_alde.gat,89,23,0 warp naldg105 1,1,nguild_alde.gat,207,132
+nguild_alde.gat,207,128,0 warp naldg105-1 1,1,nguild_alde.gat,89,27
+nguild_alde.gat,206,188,0 warp naldg106 1,1,nguild_alde.gat,216,50
+nguild_alde.gat,216,54,0 warp naldg106-1 1,1,nguild_alde.gat,206,184
+nguild_alde.gat,232,186,0 warp naldg107 1,1,nguild_alde.gat,42,197
+nguild_alde.gat,46,197,0 warp naldg107-1 1,1,nguild_alde.gat,232,182
+nguild_alde.gat,171,175,0 warp naldg108 1,1,nguild_alde.gat,35,197
+nguild_alde.gat,31,197,0 warp naldg108-1 1,1,nguild_alde.gat,175,175
+
+//Novices Guild: Geffen Castles Map
+n_castle.gat,183,183,0 script ngefg01 45,1,1,{
+ if(rand(2)) goto w2;
+ warp "nguild_gef.gat",34,140; end;
+w2: warp "nguild_gef.gat",95,178; end;
+}
+nguild_gef.gat,34,136,0 warp ngefg01-1 1,1,n_castle.gat,183,180
+nguild_gef.gat,99,178,0 warp ngefg02-1 1,1,n_castle.gat,183,180
+
+nguild_gef.gat,170,14,0 warp ngefg106-1 1,1,nguild_gef.gat,50,84
+nguild_gef.gat,170,34,0 warp ngefg105-1 1,1,nguild_gef.gat,30,167
+nguild_gef.gat,181,52,0 warp ngefg107 1,1,nguild_gef.gat,198,160
+nguild_gef.gat,202,160,0 warp ngefg107-1 1,1,nguild_gef.gat,185,52
+nguild_gef.gat,209,34,0 warp ngefg103-1 1,1,nguild_gef.gat,56,170
+nguild_gef.gat,31,185,0 warp ngefg104 1,1,nguild_gef.gat,33,47
+nguild_gef.gat,33,51,0 warp ngefg104-1 1,1,nguild_gef.gat,35,185
+nguild_gef.gat,34,167,0 warp ngefg105 1,1,nguild_gef.gat,174,34
+nguild_gef.gat,39,196,0 warp ngefg101 1,1,nguild_gef.gat,62,13
+nguild_gef.gat,54,84,0 warp ngefg106 1,1,nguild_gef.gat,174,14
+nguild_gef.gat,58,185,0 warp ngefg102 1,1,nguild_gef.gat,90,47
+nguild_gef.gat,59,170,0 warp ngefg103 1,1,nguild_gef.gat,205,34
+nguild_gef.gat,62,9,0 warp ngefg101-1 1,1,nguild_gef.gat,39,192
+nguild_gef.gat,90,51,0 warp ngefg102-1 1,1,nguild_gef.gat,54,185
+
+//Novices Guild: Payon Guild Castles Map
+n_castle.gat,18,181,0 warp npayg01 1,1,nguild_pay.gat,214,48
+nguild_pay.gat,214,44,0 warp npayg01-1 1,1,n_castle.gat,18,178
+
+nguild_pay.gat,201,125,0 warp npayg101 1,1,nguild_pay.gat,102,19
+nguild_pay.gat,102,16,0 warp npayg101-1 3,1,nguild_pay.gat,201,122
+nguild_pay.gat,222,130,0 warp npayg102 1,1,nguild_pay.gat,130,43
+nguild_pay.gat,134,43,0 warp npayg102-1 1,1,nguild_pay.gat,226,130
+nguild_pay.gat,218,112,0 warp npayg103 1,1,nguild_pay.gat,230,94
+nguild_pay.gat,230,98,0 warp npayg103-1 1,1,nguild_pay.gat,222,112
+nguild_pay.gat,213,76,0 warp npayg104 1,1,nguild_pay.gat,201,118
+nguild_pay.gat,201,114,0 warp npayg104-1 1,1,nguild_pay.gat,213,72
+nguild_pay.gat,84,15,0 warp npayg105 1,1,nguild_pay.gat,15,115
+nguild_pay.gat,11,115,0 warp npayg105-1 1,1,nguild_pay.gat,81,15
+nguild_pay.gat,53,111,0 warp npayg106 1,1,nguild_pay.gat,115,147
+nguild_pay.gat,115,151,0 warp npayg106-1 1,1,nguild_pay.gat,53,115
+
+//Novices Guild: Prontera Castles Map
+n_castle.gat,16,14,0 warp nprtg01 1,1,nguild_prt.gat,99,32
+nguild_prt.gat,103,32,0 warp nprtg01-1 1,1,n_castle.gat,19,14
+
+nguild_prt.gat,109,163,0 warp nprtg107 1,1,nguild_prt.gat,202,183
+nguild_prt.gat,147,120,0 warp nprtg106 1,1,nguild_prt.gat,75,187
+nguild_prt.gat,196,119,0 warp nprtg103-1 1,1,nguild_prt.gat,40,54
+nguild_prt.gat,196,65,0 warp nprtg104-1 1,1,nguild_prt.gat,75,54
+nguild_prt.gat,206,183,0 warp nprtg107-1 1,1,nguild_prt.gat,113,163
+nguild_prt.gat,206,92,0 warp nprtg105-1 1,1,nguild_prt.gat,55,70
+nguild_prt.gat,37,47,0 warp nprtg102-1 1,1,nguild_prt.gat,45,34
+nguild_prt.gat,37,54,0 warp nprtg103 1,1,nguild_prt.gat,192,119
+nguild_prt.gat,41,34,0 warp nprtg102 1,1,nguild_prt.gat,40,47
+nguild_prt.gat,51,70,0 warp nprtg105 1,1,nguild_prt.gat,202,92
+nguild_prt.gat,57,19,0 warp nprtg101 1,1,nguild_prt.gat,80,49
+nguild_prt.gat,62,34,0 warp nprtg108 1,1,nguild_prt.gat,192,119
+nguild_prt.gat,71,54,0 warp nprtg104 1,1,nguild_prt.gat,192,65
+nguild_prt.gat,75,183,0 warp nprtg106-1 1,1,nguild_prt.gat,147,116
+nguild_prt.gat,84,19,0 warp nprtg109 1,1,nguild_prt.gat,192,65
+nguild_prt.gat,84,49,0 warp nprtg101-1 1,1,nguild_prt.gat,61,19
+
+//Guild Dungeons
+gld_dun01.gat,119,14,0 warp gldd_001 1,1,pay_gld.gat,53,141
+gld_dun02.gat,180,112,0 warp gldd_002 1,1,alde_gld.gat,242,121
+gld_dun02.gat,20,160,0 warp gldd_003 1,1,alde_gld.gat,229,185
+gld_dun03.gat,42,30,0 warp gldd_004 1,1,prt_gld.gat,63,66
+gld_dun03.gat,238,274,0 warp gldd_005 1,1,prt_gld.gat,252,247
+gld_dun04.gat,37,230,0 warp gldd_006 1,1,gef_fild13.gat,42,331
+gld_dun04.gat,110,20,0 warp gldd_007 1,1,gef_fild13.gat,373,62
diff --git a/npc/warps/other/airplane.txt b/npc/warps/other/airplane.txt
new file mode 100644
index 000000000..debd08afc
--- /dev/null
+++ b/npc/warps/other/airplane.txt
@@ -0,0 +1,74 @@
+//===== Athena Script ========================================
+//= Airports & Airplanes Warp Script
+//===== By: ==================================================
+//= Sara-chan (1.0), SSUNNY@YOUNG(1.6)
+//===== Current Version: =====================================
+//= 1.61
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Episode 8+
+//===== Description: =========================================
+//= Warp Points for All Airplanes and Airports
+//===== Additional Comments: =================================
+//= Not really sure where this belongs, feel free to move
+//= it to wherever suits the script better ^^; [Celest]
+//= 1.3 Removed warps dupes from other files.
+//= disabled direct warp to airplane [Lupus]
+//= 1.4 added some warps as recomended by Justin84 [Skotlex]
+//= (those commented are direct warps into the airplanes, left here
+//= temporarily since the NPC isn't quite there yet)
+//= 1.5 Uncomented the airplane warps and remove two unnecessary ones [MasterOfMuppets]
+//= 1.6 Updated Warps, work done by SSUNNY@YOUNG in Korean eA site [Vicious]
+//= 1.61 Corrected the first einbroch warp [Zephiris]
+//============================================================
+
+//==========================================================================
+//Einbroch - Airport
+//==========================================================================
+einbroch.gat,92,280,0 warp ein_ap01 1,1,airplane.gat,224,64
+einbroch.gat,64,234,0 warp ein_ap02 1,1,airport.gat,138,51
+airport.gat,142,61,0 warp ein_ap02a 1,1,einbroch.gat,62,246
+airport.gat,124,13,0 warp ein_ap03 1,1,airport.gat,19,21
+airport.gat,19,18,0 warp ein_ap03a 1,1,airport.gat,122,16
+airport.gat,161,13,0 warp ein_ap04 1,1,airport.gat,47,21
+airport.gat,47,18,0 warp ein_ap04a 1,1,airport.gat,163,16
+airport.gat,143,14,0 warp ein_ap05 1,1,einbroch.gat,64,204
+einbroch.gat,64,207,0 warp ein_ap05a 1,1,airport.gat,143,17
+
+
+// -Lighthalzen Airport-
+lhz_airport.gat,125,14,0 warp lairp1 1,1,lhz_airport.gat,19,20
+lhz_airport.gat,19,18,0 warp lairp1a 1,1,lhz_airport.gat,123,14
+lhz_airport.gat,160,14,0 warp lairp2 1,1,lhz_airport.gat,48,20
+lhz_airport.gat,48,18,0 warp lairp2a 1,1,lhz_airport.gat,162,14
+lighthalzen.gat,267,76,0 warp lairp3 1,1,lhz_airport.gat,143,15
+lhz_airport.gat,143,13,0 warp lairp3a 1,1,lighthalzen.gat,265,76
+lhz_airport.gat,143,63,0 warp lairp4 1,1,lighthalzen.gat,296,76
+lighthalzen.gat,294,76,0 warp lairp4a 1,1,lhz_airport.gat,143,60
+lighthalzen.gat,308,76,0 warp lairp5 1,1,airplane.gat,224,64
+
+
+// -Juno Airport-
+y_airport.gat,125,14,0 warp jairp1 1,1,y_airport.gat,19,20
+y_airport.gat,19,18,0 warp jairp1a 1,1,y_airport.gat,123,14
+y_airport.gat,160,14,0 warp jairp2 1,1,y_airport.gat,48,20
+y_airport.gat,48,18,0 warp jairp2a 1,1,y_airport.gat,162,14
+yuno.gat,54,217,0 warp jairp3 1,1,y_airport.gat,143,15
+y_airport.gat,143,13,0 warp jairp3a 1,1,yuno.gat,54,215
+yuno.gat,52,238,0 warp jairp4a 1,1,y_airport.gat,143,60
+yuno.gat,55,238,0 warp jairp5a 1,1,y_airport.gat,143,60
+yuno.gat,8,261,0 warp jairp6 1,1,airplane_01.gat,224,64
+yuno.gat,97,260,0 warp jairp7 1,1,airplane.gat,224,64
+
+
+//=========================================================================
+//Airplane
+//=========================================================================
+airplane.gat,254,54,0 warp air_1wp01 1,1,airplane.gat,91,67
+airplane.gat,87,67,0 warp air_1wp01a 1,1,airplane.gat,250,54
+airplane.gat,208,53,0 warp air_1wp02 1,1,airplane.gat,239,160
+airplane.gat,245,160,0 warp air_1wp02a 1,1,airplane.gat,214,54
+
+airplane_01.gat,254,54,0 warp air_2wp01 1,1,airplane_01.gat,91,67
+airplane_01.gat,87,67,0 warp air_2wp01a 1,1,airplane_01.gat,250,54
+airplane_01.gat,208,53,0 warp air_2wp02 1,1,airplane_01.gat,239,160
+airplane_01.gat,245,160,0 warp air_2wp02a 1,1,airplane_01.gat,214,54 \ No newline at end of file
diff --git a/npc/warps/other/jobquests.txt b/npc/warps/other/jobquests.txt
new file mode 100644
index 000000000..734a87a99
--- /dev/null
+++ b/npc/warps/other/jobquests.txt
@@ -0,0 +1,145 @@
+//===== Athena Script ========================================
+//= Job Quest Warp Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.3b
+//===== Compatible With: =====================================
+//= Any Athena Version; RO Version Ep4+
+//===== Description: =========================================
+//= Warp Points for Job Quest Maps
+//===== Additional Comments: =================================
+//= Split off npc_warp.txt
+//= Commented some warps because new Job quests have correct
+//= ones! Added missing warps for Thief/Hunter/Swordman [Lupus]
+//= 1.3 Added missing warps Swordman [Lupus]
+//= Reorganized. Added complete rogue quest warps.
+//= Removed unused, duplicate warps. [kobra_k88]
+//= 1.3b activated Dancer JQ warp [Lupus]
+//= 1.4 Imported damn noobie warps from jAthena (because it's broken since last year)
+//============================================================
+
+
+//==============================================================================
+//Novice
+//==============================================================================
+//new_1-1.gat,148,112,0 warp new11 2,3,new_1-2.gat,100,9
+//new_1-1.gat,166,112,0 warp new12 2,2,new_1-2.gat,100,153
+//new_1-2.gat,100,150,0 warp new12-1 2,1,new_1-1.gat,162,112
+//new_1-1.gat,169,75,0 warp new13 2,2,new_1-2.gat,182,163
+//new_1-2.gat,182,159,0 warp new13-1 2,2,new_1-1.gat,165,75
+//new_1-1.gat,169,147,0 warp new14 2,2,new_1-2.gat,18,163
+//new_1-2.gat,18,159,0 warp new14-1 2,2,new_1-1.gat,165,147
+//new_1-2.gat,100,122,0 warp new15 2,1,new_1-2.gat,100,162
+//new_1-2.gat,100,165,0 warp new15-1 2,1,new_1-2.gat,100,119
+//new_1-2.gat,126,106,0 warp new16 2,4,new_1-2.gat,160,171
+//new_1-2.gat,153,171,0 warp new16-1 2,4,new_1-2.gat,123,106
+new_1-1.gat,148,112,0 warp newwarp6001 2,2,new_1-2.gat,100,9
+new_1-2.gat,100,6,0 warp newwarp6002 2,2,new_1-1.gat,144,112
+new_1-2.gat,126,106,0 warp newwarp6003 2,2,new_1-2.gat,160,171
+new_1-2.gat,156,171,0 warp newwarp6004 2,2,new_1-2.gat,123,106
+new_1-2.gat,73,106,0 warp newwarp6005 2,2,new_1-2.gat,41,172
+new_1-2.gat,46,172,0 warp newwarp6006 2,2,new_1-2.gat,78,106
+new_1-3.gat,96,175,0 warp new17 3,2,new_1-4.gat,100,14
+
+//==============================================================================
+//Swordman
+//==============================================================================
+sword_1-1.gat,192,244,0 warp SwordWarp0 2,2,sword_1-1.gat,215,244
+sword_1-1.gat,223,243,0 warp SwordWarp1 2,2,sword_1-1.gat,12,206
+sword_1-1.gat,192,206,0 warp SwordWarp2 2,2,sword_1-1.gat,215,205
+sword_1-1.gat,223,205,0 warp SwordWarp3 2,2,sword_1-1.gat,12,168
+sword_1-1.gat,192,168,0 warp SwordWarp4 2,2,sword_1-1.gat,215,167
+sword_2-1.gat,65,117,0 warp swd201 1,1,sword_2-1.gat,10,245
+sword_2-1.gat,98,27,0 warp swd202 1,1,sword_2-1.gat,11,207
+sword_2-1.gat,161,27,0 warp swd203 1,1,sword_2-1.gat,11,207
+sword_2-1.gat,223,205,0 warp swd204 1,1,sword_2-1.gat,11,168
+sword_2-1.gat,223,243,0 warp swd205 1,1,sword_2-1.gat,11,206
+sword_2-1.gat,239,117,0 warp swd206 1,1,sword_2-1.gat,11,169
+sword_3-1.gat,65,117,0 warp swd301 1,1,sword_3-1.gat,10,245
+sword_3-1.gat,98,27,0 warp swd302 1,1,sword_3-1.gat,11,207
+sword_3-1.gat,161,27,0 warp swd303 1,1,sword_3-1.gat,11,207
+sword_3-1.gat,223,205,0 warp swd304 1,1,sword_3-1.gat,11,168
+sword_3-1.gat,223,243,0 warp swd305 1,1,sword_3-1.gat,11,206
+sword_3-1.gat,239,117,0 warp swd306 1,1,sword_3-1.gat,11,169
+// Underground cave
+sword_1-1.gat,65,117,0 warp swd101 1,1,sword_1-1.gat,10,245
+sword_1-1.gat,98,27,0 warp swd102 1,1,sword_1-1.gat,11,207
+sword_1-1.gat,161,27,0 warp swd103 1,1,sword_1-1.gat,11,207
+sword_1-1.gat,239,117,0 warp swd106 1,1,sword_1-1.gat,11,169
+
+//==============================================================================
+//Thief
+//==============================================================================
+job_thief1.gat,180,15,0 warp jthf 7,1,moc_ruins.gat,145,117
+
+
+//==============================================================================
+// Assassin
+//==============================================================================
+in_moc_16.gat,18,8,0 warp guild_to_16 2,2,moc_fild16.gat,205,291
+moc_fild16.gat,205,296,0 warp 16_to_guild 2,2,in_moc_16.gat,18,11
+
+//==============================================================================
+// Hunter
+//==============================================================================
+in_hunter.gat,100,15,0 warp jhun01 0,0,pay_fild10.gat,143,250
+
+
+
+//==============================================================================
+// Monk (St. Capitolina Abbey)
+//==============================================================================
+prt_monk.gat,192,172,0 warp monk15 1,1,monk_test.gat,329,50
+monk_test.gat,329,47,0 warp monk16 1,1,prt_monk.gat,193,166
+monk_test.gat,329,76,0 warp monk17 1,1,monk_test.gat,259,118
+monk_test.gat,259,115,0 warp monk18 1,1,monk_test.gat,329,71
+monk_test.gat,272,125,0 warp monk19 1,1,monk_test.gat,301,127
+monk_test.gat,298,127,0 warp monk20 1,1,monk_test.gat,268,125
+
+//==============================================================================
+//Alchemist
+//==============================================================================
+//Town - Alchemist , Alchemist - Town
+aldebaran.gat,54,66,0 warp alche01 1,1,alde_alche.gat,41,174
+alde_alche.gat,41,171,0 warp alche02 1,1,aldebaran.gat,56,68
+//Alchemist Hall 1st Floor Top Rooms
+alde_alche.gat,129,104,0 warp alche03 1,1,alde_alche.gat,163,163
+alde_alche.gat,159,163,0 warp alche04 1,1,alde_alche.gat,126,104
+alde_alche.gat,131,77,0 warp alche05 1,1,alde_alche.gat,162,107
+alde_alche.gat,159,107,0 warp alche06 1,1,alde_alche.gat,128,77
+//Alchemist Hall 1st Floor Bottom Rooms
+alde_alche.gat,47,103,0 warp alche07 1,1,alde_alche.gat,88,18
+alde_alche.gat,92,18,0 warp alche08 1,1,alde_alche.gat,50,103
+alde_alche.gat,47,77,0 warp alche09 1,1,alde_alche.gat,155,18
+alde_alche.gat,159,18,0 warp alche10 1,1,alde_alche.gat,50,77
+//Alchemist Hall 2nd Floor - 1st Floor Link
+alde_alche.gat,14,184,0 warp alche11 1,1,alde_alche.gat,88,113
+alde_alche.gat,88,117,0 warp alche12 1,1,alde_alche.gat,14,180
+//Alchemist Hall 2nd Floor Rooms
+alde_alche.gat,19,171,0 warp alche13 1,1,aldebaran.gat,68,56
+aldebaran.gat,66,54,0 warp alche14 1,1,alde_alche.gat,19,175
+alde_alche.gat,18,28,0 warp alche15 1,1,alde_alche.gat,89,66
+alde_alche.gat,89,63,0 warp alche16 1,1,alde_alche.gat,18,24
+//Alchemist Hall 3rd Floor
+alde_alche.gat,41,187,0 warp alche17 1,1,alde_alche.gat,114,178
+alde_alche.gat,114,182,0 warp alche18 1,1,alde_alche.gat,41,183
+
+//==============================================================================
+//Rogue
+//==============================================================================
+cmd_fild07.gat,193,117,0 warp fild07-rogue00 1,1,in_rogue.gat,378,46
+in_rogue.gat,375,46,0 warp rogue00-fild07 1,1,cmd_fild07.gat,195,116
+in_rogue.gat,376,34,0 warp rogue01-02 1,1,in_rogue.gat,378,125
+in_rogue.gat,375,125,0 warp rogue02-01 1,1,in_rogue.gat,379,34
+cmd_fild07.gat,352,275,0 warp fild07-rogue03 1,1,in_rogue.gat,265,122
+in_rogue.gat,265,118,0 warp rogue03-fild07 1,1,cmd_fild07.gat,349,275
+in_rogue.gat,244,20,0 warp rogue04-fild09 1,1,cmd_fild09.gat,106,192
+in_rogue.gat,172,34,0 warp rogue05-fild09 1,1,cmd_fild09.gat,339,143
+in_rogue.gat,160,103,0 warp rogue06-fild04 1,1,cmd_fild04.gat,301,177
+
+//==============================================================================
+//Dancer
+//==============================================================================
+//job_duncer.gat,69,43,0 warp duncer1 1,1,comodo.gat,185,156
+job_duncer.gat,70,45,0 warp duncer1 2,2,comodo.gat,193,149
diff --git a/npc/warps/other/other.txt b/npc/warps/other/other.txt
new file mode 100644
index 000000000..f3e208b88
--- /dev/null
+++ b/npc/warps/other/other.txt
@@ -0,0 +1,35 @@
+//===== Athena Script ========================================
+//= Other Warp Script
+//===== By: ==================================================
+//= Athena (1.0)
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version;
+//===== Description: =========================================
+//= Warp Points for Other Maps
+//===== Additional Comments: =================================
+//= Split off npc_warp.txt
+//============================================================
+
+//guild_room.gat,0,0,0 warp warp4 0,0,hoge.gat,0,0
+//guild_vs1.gat,0,0,0 warp warp4 0,0,hoge.gat,0,0
+//guild_vs1.gat,0,0,0 warp warp4 0,0,hoge.gat,0,0
+//guild_vs1.gat,0,0,0 warp warp4 0,0,hoge.gat,0,0
+//guild_vs1.gat,0,0,0 warp warp4 0,0,hoge.gat,0,0
+//guild_vs2.gat,50,88,0 warp warp4 0,0,hoge.gat,0,0
+//guild_vs2.gat,0,0,0 warp warp4 0,0,hoge.gat,0,0
+//guild_vs2.gat,0,0,0 warp warp4 0,0,hoge.gat,0,0
+//guild_vs2.gat,0,0,0 warp warp4 0,0,hoge.gat,0,0
+//guild_vs3.gat,0,0,0 warp warp4 0,0,hoge.gat,0,0
+//guild_vs3.gat,0,0,0 warp warp4 0,0,hoge.gat,0,0
+//guild_vs3.gat,0,0,0 warp warp4 0,0,hoge.gat,0,0
+//guild_vs3.gat,0,0,0 warp warp4 0,0,hoge.gat,0,0
+//guild_vs4.gat,7,50,0 warp warp4 0,0,hoge.gat,0,0
+//guild_vs4.gat,50,7,0 warp warp4 0,0,hoge.gat,0,0
+//guild_vs4.gat,92,50,0 warp warp4 0,0,hoge.gat,0,0
+//guild_vs4.gat,50,92,0 warp warp4 0,0,hoge.gat,0,0
+//guild_vs5.gat,0,0,0 warp warp4 0,0,hoge.gat,0,0
+//guild_vs5.gat,0,0,0 warp warp4 0,0,hoge.gat,0,0
+//guild_vs5.gat,0,0,0 warp warp4 0,0,hoge.gat,0,0
+//guild_vs5.gat,0,0,0 warp warp4 0,0,hoge.gat,0,0 \ No newline at end of file
diff --git a/npc/warps/pvp/pvp.txt b/npc/warps/pvp/pvp.txt
new file mode 100644
index 000000000..adc4697a3
--- /dev/null
+++ b/npc/warps/pvp/pvp.txt
@@ -0,0 +1,257 @@
+//===== Athena Script ========================================
+//= Prontera Arena & PvP Warp Script
+//===== By: ==================================================
+//= Athena (any)
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Warp Points for Prontera Arena and PvP Maps
+//===== Additional Comments: =================================
+//= Split off npc_warp.txt
+//= 1.1 Fixed Prontera Arena warp [Yor]
+//============================================================
+
+//Prontera Arena
+prt_are_in.gat,142,13,0 warp warp1076 1,1,prt_are_in.gat,177,78
+prt_are_in.gat,177,75,0 warp warp1077 1,1,prt_are_in.gat,139,13
+prt_are_in.gat,55,13,0 warp warp1078 1,1,prt_are_in.gat,125,78
+prt_are_in.gat,125,75,0 warp warp1079 1,1,prt_are_in.gat,58,13
+prt_are_in.gat,97,7,0 warp warp1080 1,1,izlude.gat,128,222
+
+
+//Time Limit Mode
+force_1-1.gat,25,44,0 warp fc101 1,1,force_1-1.gat,25,69
+force_1-1.gat,25,65,0 warp fc101-1 1,1,force_1-1.gat,25,40
+force_1-1.gat,25,134,0 warp fc102 1,1,force_1-1.gat,25,159
+force_1-1.gat,25,155,0 warp fc102-1 1,1,force_1-1.gat,25,130
+force_1-1.gat,44,26,0 warp fc103 1,1,force_1-1.gat,66,26
+force_1-1.gat,62,26,0 warp fc103-1 1,1,force_1-1.gat,40,26
+force_1-1.gat,44,174,0 warp fc104 1,1,force_1-1.gat,69,174
+force_1-1.gat,65,174,0 warp fc104-1 1,1,force_1-1.gat,40,174
+force_1-1.gat,99,54,0 warp fc105 1,1,force_1-1.gat,99,82
+force_1-1.gat,100,81,0 warp fc105-1 1,1,force_1-1.gat,99,51
+force_1-1.gat,134,174,0 warp fc106 1,1,force_1-1.gat,159,174
+force_1-1.gat,155,174,0 warp fc106-1 1,1,force_1-1.gat,130,174
+force_1-1.gat,137,26,0 warp fc107 1,1,force_1-1.gat,159,26
+force_1-1.gat,155,26,0 warp fc107-1 1,1,force_1-1.gat,132,26
+force_1-1.gat,174,44,0 warp fc108 1,1,force_1-1.gat,174,69
+force_1-1.gat,174,65,0 warp fc108-1 1,1,force_1-1.gat,174,40
+force_1-1.gat,174,134,0 warp fc109 1,1,force_1-1.gat,174,159
+force_1-1.gat,174,155,0 warp fc109-1 1,1,force_1-1.gat,174,130
+force_1-2.gat,25,93,0 warp fc201 1,1,force_1-2.gat,25,118
+force_1-2.gat,25,114,0 warp fc201-1 1,1,force_1-2.gat,25,89
+force_1-2.gat,33,178,0 warp fc202 1,1,force_1-2.gat,59,178
+force_1-2.gat,55,178,0 warp fc202-1 1,1,force_1-2.gat,29,178
+force_1-2.gat,41,26,0 warp fc203 1,1,force_1-2.gat,89,26
+force_1-2.gat,85,26,0 warp fc203-1 1,1,force_1-2.gat,37,26
+force_1-2.gat,41,78,0 warp fc204 1,1,force_1-2.gat,88,78
+force_1-2.gat,84,78,0 warp fc204-1 1,1,force_1-2.gat,37,78
+force_1-2.gat,49,130,0 warp fc205 1,1,force_1-2.gat,91,125
+force_1-2.gat,91,129,0 warp fc205-1 1,1,force_1-2.gat,49,134
+force_1-2.gat,95,187,0 warp fc206 1,1,force_1-2.gat,107,141
+force_1-2.gat,107,145,0 warp fc206-1 1,1,force_1-2.gat,95,183
+force_1-2.gat,99,40,0 warp fc207 1,1,force_1-2.gat,99,66
+force_1-2.gat,99,62,0 warp fc207-1 1,1,force_1-2.gat,99,36
+force_1-2.gat,114,26,0 warp fc208 1,1,force_1-2.gat,162,26
+force_1-2.gat,158,26,0 warp fc208-1 1,1,force_1-2.gat,110,26
+force_1-2.gat,115,78,0 warp fc209 1,1,force_1-2.gat,162,78
+force_1-2.gat,158,78,0 warp fc209-1 1,1,force_1-2.gat,111,78
+force_1-2.gat,137,178,0 warp fc210 1,1,force_1-2.gat,162,178
+force_1-2.gat,158,178,0 warp fc210-1 1,1,force_1-2.gat,133,178
+force_1-2.gat,173,93,0 warp fc211 1,1,force_1-2.gat,173,118
+force_1-2.gat,173,114,0 warp fc211-1 1,1,force_1-2.gat,173,89
+force_1-3.gat,10,100,0 warp fc301 1,1,force_1-3.gat,25,180
+force_1-3.gat,29,180,0 warp fc301-1 1,1,force_1-3.gat,14,100
+force_1-3.gat,19,10,0 warp fc302 1,1,force_1-3.gat,19,185
+force_1-3.gat,19,189,0 warp fc302-1 1,1,force_1-3.gat,19,14
+force_1-3.gat,19,29,0 warp fc303 1,1,force_1-3.gat,19,54
+force_1-3.gat,19,50,0 warp fc303-1 1,1,force_1-3.gat,19,25
+force_1-3.gat,19,147,0 warp fc304 1,1,force_1-3.gat,179,94
+force_1-3.gat,179,90,0 warp fc304-1 1,1,force_1-3.gat,19,143
+force_1-3.gat,29,100,0 warp fc305 1,1,force_1-3.gat,174,180
+force_1-3.gat,170,180,0 warp fc305-1 1,1,force_1-3.gat,24,100
+force_1-3.gat,59,29,0 warp fc306 1,1,force_1-3.gat,99,132
+force_1-3.gat,99,128,0 warp fc306-1 1,1,force_1-3.gat,59,25
+force_1-3.gat,59,69,0 warp fc307 1,1,force_1-3.gat,59,94
+force_1-3.gat,59,90,0 warp fc307-1 1,1,force_1-3.gat,59,65
+force_1-3.gat,59,109,0 warp fc308 1,1,force_1-3.gat,139,54
+force_1-3.gat,139,50,0 warp fc308-1 1,1,force_1-3.gat,59,105
+force_1-3.gat,59,128,0 warp fc309 1,1,force_1-3.gat,139,105
+force_1-3.gat,139,109,0 warp fc309-1 1,1,force_1-3.gat,59,132
+force_1-3.gat,69,20,0 warp fc310 1,1,force_1-3.gat,134,100
+force_1-3.gat,130,100,0 warp fc310-1 1,1,force_1-3.gat,65,20
+force_1-3.gat,69,60,0 warp fc311 1,1,force_1-3.gat,94,60
+force_1-3.gat,90,60,0 warp fc311-1 1,1,force_1-3.gat,65,60
+force_1-3.gat,69,138,0 warp fc312 1,1,force_1-3.gat,174,60
+force_1-3.gat,170,60,0 warp fc312-1 1,1,force_1-3.gat,65,138
+force_1-3.gat,99,147,0 warp fc313 1,1,force_1-3.gat,99,168
+force_1-3.gat,99,164,0 warp fc313-1 1,1,force_1-3.gat,99,143
+force_1-3.gat,109,60,0 warp fc314 1,1,force_1-3.gat,134,20
+force_1-3.gat,130,20,0 warp fc314-1 1,1,force_1-3.gat,105,60
+force_1-3.gat,109,100,0 warp fc315 1,1,force_1-3.gat,174,100
+force_1-3.gat,170,100,0 warp fc315-1 1,1,force_1-3.gat,105,100
+force_1-3.gat,109,138,0 warp fc316 1,1,force_1-3.gat,134,138
+force_1-3.gat,130,138,0 warp fc316-1 1,1,force_1-3.gat,105,138
+force_1-3.gat,139,147,0 warp fc317 1,1,force_1-3.gat,179,174
+force_1-3.gat,179,170,0 warp fc317-1 1,1,force_1-3.gat,139,143
+force_1-3.gat,179,29,0 warp fc318 1,1,force_1-3.gat,179,54
+force_1-3.gat,179,50,0 warp fc318-1 1,1,force_1-3.gat,179,25
+force_1-3.gat,179,109,0 warp fc319 1,1,force_1-3.gat,179,132
+force_1-3.gat,179,128,0 warp fc319-1 1,1,force_1-3.gat,179,105
+
+//Battle Ordeal Mode
+ordeal_1-1.gat,100,150,0 warp ord11 1,1,ordeal_1-1.gat,128,150
+ordeal_1-1.gat,123,150,0 warp ord11-1 1,1,ordeal_1-1.gat,95,150
+ordeal_1-1.gat,114,183,0 warp ord12 1,1,ordeal_1-1.gat,135,163
+ordeal_1-1.gat,130,168,0 warp ord12-1 1,1,ordeal_1-1.gat,109,188
+ordeal_1-1.gat,115,115,0 warp ord13 1,1,ordeal_1-1.gat,136,136
+ordeal_1-1.gat,131,131,0 warp ord13-1 1,1,ordeal_1-1.gat,110,110
+ordeal_1-1.gat,148,176,0 warp ord14 1,1,ordeal_1-1.gat,149,204
+ordeal_1-1.gat,149,199,0 warp ord14-1 1,1,ordeal_1-1.gat,148,171
+ordeal_1-1.gat,149,99,0 warp ord15 1,1,ordeal_1-1.gat,151,129
+ordeal_1-1.gat,151,124,0 warp ord15-1 1,1,ordeal_1-1.gat,151,94
+ordeal_1-1.gat,168,168,0 warp ord16 1,1,ordeal_1-1.gat,189,189
+ordeal_1-1.gat,184,184,0 warp ord16-1 1,1,ordeal_1-1.gat,163,163
+ordeal_1-1.gat,169,131,0 warp ord17 1,1,ordeal_1-1.gat,188,111
+ordeal_1-1.gat,183,116,0 warp ord17-1 1,1,ordeal_1-1.gat,164,136
+ordeal_1-1.gat,176,150,0 warp ord18 1,1,ordeal_1-1.gat,204,150
+ordeal_1-1.gat,199,150,0 warp ord18-1 1,1,ordeal_1-1.gat,171,150
+ordeal_1-2.gat,128,154,0 warp ord121 1,1,ordeal_1-2.gat,24,154
+ordeal_1-2.gat,136,136,0 warp ord122 1,1,ordeal_1-2.gat,24,24
+ordeal_1-2.gat,136,172,0 warp ord123 1,1,ordeal_1-2.gat,24,284
+ordeal_1-2.gat,153,128,0 warp ord124 1,1,ordeal_1-2.gat,153,23
+ordeal_1-2.gat,153,180,0 warp ord125 1,1,ordeal_1-2.gat,144,284
+ordeal_1-2.gat,172,135,0 warp ord126 1,1,ordeal_1-2.gat,284,24
+ordeal_1-2.gat,172,172,0 warp ord127 1,1,ordeal_1-2.gat,284,284
+ordeal_1-2.gat,180,154,0 warp ord128 1,1,ordeal_1-2.gat,284,164
+ordeal_1-3.gat,100,150,0 warp ord11 1,1,ordeal_1-3.gat,128,150
+ordeal_1-3.gat,114,183,0 warp ord11-1 1,1,ordeal_1-3.gat,135,163
+ordeal_1-3.gat,115,115,0 warp ord12 1,1,ordeal_1-3.gat,136,136
+ordeal_1-3.gat,123,150,0 warp ord12-1 1,1,ordeal_1-3.gat,95,150
+ordeal_1-3.gat,130,168,0 warp ord13 1,1,ordeal_1-3.gat,109,188
+ordeal_1-3.gat,131,131,0 warp ord13-1 1,1,ordeal_1-3.gat,110,110
+ordeal_1-3.gat,148,176,0 warp ord14 1,1,ordeal_1-3.gat,149,204
+ordeal_1-3.gat,149,99,0 warp ord14-1 1,1,ordeal_1-3.gat,151,129
+ordeal_1-3.gat,149,199,0 warp ord15 1,1,ordeal_1-3.gat,148,171
+ordeal_1-3.gat,151,124,0 warp ord15-1 1,1,ordeal_1-3.gat,151,94
+ordeal_1-3.gat,168,168,0 warp ord16 1,1,ordeal_1-3.gat,189,189
+ordeal_1-3.gat,169,131,0 warp ord16-1 1,1,ordeal_1-3.gat,188,111
+ordeal_1-3.gat,176,150,0 warp ord17 1,1,ordeal_1-3.gat,204,150
+ordeal_1-3.gat,183,116,0 warp ord17-1 1,1,ordeal_1-3.gat,164,136
+ordeal_1-3.gat,184,184,0 warp ord18 1,1,ordeal_1-3.gat,163,163
+ordeal_1-3.gat,199,150,0 warp ord18-1 1,1,ordeal_1-3.gat,171,150
+ordeal_1-4.gat,128,154,0 warp ord141 1,1,ordeal_1-4.gat,24,154
+ordeal_1-4.gat,136,136,0 warp ord142 1,1,ordeal_1-4.gat,24,24
+ordeal_1-4.gat,136,172,0 warp ord143 1,1,ordeal_1-4.gat,24,284
+ordeal_1-4.gat,153,128,0 warp ord144 1,1,ordeal_1-4.gat,153,23
+ordeal_1-4.gat,153,180,0 warp ord145 1,1,ordeal_1-4.gat,144,284
+ordeal_1-4.gat,172,135,0 warp ord146 1,1,ordeal_1-4.gat,284,24
+ordeal_1-4.gat,172,172,0 warp ord147 1,1,ordeal_1-4.gat,284,284
+ordeal_1-4.gat,180,154,0 warp ord148 1,1,ordeal_1-4.gat,284,164
+ordeal_2-1.gat,100,150,0 warp ord21 1,1,ordeal_2-1.gat,128,150
+ordeal_2-1.gat,123,150,0 warp ord21-1 1,1,ordeal_2-1.gat,95,150
+ordeal_2-1.gat,114,183,0 warp ord22 1,1,ordeal_2-1.gat,135,163
+ordeal_2-1.gat,130,168,0 warp ord22-1 1,1,ordeal_2-1.gat,109,188
+ordeal_2-1.gat,115,115,0 warp ord23 1,1,ordeal_2-1.gat,136,136
+ordeal_2-1.gat,131,131,0 warp ord23-1 1,1,ordeal_2-1.gat,110,110
+ordeal_2-1.gat,148,176,0 warp ord24 1,1,ordeal_2-1.gat,149,204
+ordeal_2-1.gat,149,199,0 warp ord24-1 1,1,ordeal_2-1.gat,148,171
+ordeal_2-1.gat,149,99,0 warp ord25 1,1,ordeal_2-1.gat,151,129
+ordeal_2-1.gat,151,124,0 warp ord25-1 1,1,ordeal_2-1.gat,151,94
+ordeal_2-1.gat,168,168,0 warp ord26 1,1,ordeal_2-1.gat,189,189
+ordeal_2-1.gat,184,184,0 warp ord26-1 1,1,ordeal_2-1.gat,163,163
+ordeal_2-1.gat,169,131,0 warp ord27 1,1,ordeal_2-1.gat,188,111
+ordeal_2-1.gat,183,116,0 warp ord27-1 1,1,ordeal_2-1.gat,164,136
+ordeal_2-1.gat,176,150,0 warp ord28 1,1,ordeal_2-1.gat,204,150
+ordeal_2-1.gat,199,150,0 warp ord28-1 1,1,ordeal_2-1.gat,171,150
+ordeal_2-2.gat,128,154,0 warp ord221 1,1,ordeal_2-2.gat,24,154
+ordeal_2-2.gat,136,136,0 warp ord222 1,1,ordeal_2-2.gat,24,24
+ordeal_2-2.gat,136,172,0 warp ord223 1,1,ordeal_2-2.gat,24,284
+ordeal_2-2.gat,153,128,0 warp ord224 1,1,ordeal_2-2.gat,153,23
+ordeal_2-2.gat,153,180,0 warp ord225 1,1,ordeal_2-2.gat,144,284
+ordeal_2-2.gat,172,135,0 warp ord226 1,1,ordeal_2-2.gat,284,24
+ordeal_2-2.gat,172,172,0 warp ord227 1,1,ordeal_2-2.gat,284,284
+ordeal_2-2.gat,180,154,0 warp ord228 1,1,ordeal_2-2.gat,284,164
+ordeal_2-3.gat,100,150,0 warp ord21 1,1,ordeal_2-3.gat,128,150
+ordeal_2-3.gat,114,183,0 warp ord21-1 1,1,ordeal_2-3.gat,135,163
+ordeal_2-3.gat,115,115,0 warp ord22 1,1,ordeal_2-3.gat,136,136
+ordeal_2-3.gat,123,150,0 warp ord22-1 1,1,ordeal_2-3.gat,95,150
+ordeal_2-3.gat,130,168,0 warp ord23 1,1,ordeal_2-3.gat,109,188
+ordeal_2-3.gat,131,131,0 warp ord23-1 1,1,ordeal_2-3.gat,110,110
+ordeal_2-3.gat,148,176,0 warp ord24 1,1,ordeal_2-3.gat,149,204
+ordeal_2-3.gat,149,99,0 warp ord24-1 1,1,ordeal_2-3.gat,151,129
+ordeal_2-3.gat,149,199,0 warp ord25 1,1,ordeal_2-3.gat,148,171
+ordeal_2-3.gat,151,124,0 warp ord25-1 1,1,ordeal_2-3.gat,151,94
+ordeal_2-3.gat,168,168,0 warp ord26 1,1,ordeal_2-3.gat,189,189
+ordeal_2-3.gat,169,131,0 warp ord26-1 1,1,ordeal_2-3.gat,188,111
+ordeal_2-3.gat,176,150,0 warp ord27 1,1,ordeal_2-3.gat,204,150
+ordeal_2-3.gat,183,116,0 warp ord27-1 1,1,ordeal_2-3.gat,164,136
+ordeal_2-3.gat,184,184,0 warp ord28 1,1,ordeal_2-3.gat,163,163
+ordeal_2-3.gat,199,150,0 warp ord28-1 1,1,ordeal_2-3.gat,171,150
+ordeal_2-4.gat,128,154,0 warp ord241 1,1,ordeal_2-4.gat,24,154
+ordeal_2-4.gat,136,136,0 warp ord242 1,1,ordeal_2-4.gat,24,24
+ordeal_2-4.gat,136,172,0 warp ord243 1,1,ordeal_2-4.gat,24,284
+ordeal_2-4.gat,153,128,0 warp ord244 1,1,ordeal_2-4.gat,153,23
+ordeal_2-4.gat,153,180,0 warp ord245 1,1,ordeal_2-4.gat,144,284
+ordeal_2-4.gat,172,135,0 warp ord246 1,1,ordeal_2-4.gat,284,24
+ordeal_2-4.gat,172,172,0 warp ord247 1,1,ordeal_2-4.gat,284,284
+ordeal_2-4.gat,180,154,0 warp ord248 1,1,ordeal_2-4.gat,284,164
+ordeal_3-1.gat,100,150,0 warp ord31 1,1,ordeal_3-1.gat,128,150
+ordeal_3-1.gat,123,150,0 warp ord31-1 1,1,ordeal_3-1.gat,95,150
+ordeal_3-1.gat,114,183,0 warp ord32 1,1,ordeal_3-1.gat,135,163
+ordeal_3-1.gat,130,168,0 warp ord32-1 1,1,ordeal_3-1.gat,109,188
+ordeal_3-1.gat,115,115,0 warp ord33 1,1,ordeal_3-1.gat,136,136
+ordeal_3-1.gat,131,131,0 warp ord33-1 1,1,ordeal_3-1.gat,110,110
+ordeal_3-1.gat,148,176,0 warp ord34 1,1,ordeal_3-1.gat,149,204
+ordeal_3-1.gat,149,199,0 warp ord34-1 1,1,ordeal_3-1.gat,148,171
+ordeal_3-1.gat,149,99,0 warp ord35 1,1,ordeal_3-1.gat,151,129
+ordeal_3-1.gat,151,124,0 warp ord35-1 1,1,ordeal_3-1.gat,151,94
+ordeal_3-1.gat,168,168,0 warp ord36 1,1,ordeal_3-1.gat,189,189
+ordeal_3-1.gat,184,184,0 warp ord36-1 1,1,ordeal_3-1.gat,163,163
+ordeal_3-1.gat,169,131,0 warp ord37 1,1,ordeal_3-1.gat,188,111
+ordeal_3-1.gat,183,116,0 warp ord37-1 1,1,ordeal_3-1.gat,164,136
+ordeal_3-1.gat,176,150,0 warp ord38 1,1,ordeal_3-1.gat,204,150
+ordeal_3-1.gat,199,150,0 warp ord38-1 1,1,ordeal_3-1.gat,171,150
+ordeal_3-2.gat,128,154,0 warp ord321 1,1,ordeal_3-2.gat,24,154
+ordeal_3-2.gat,136,136,0 warp ord322 1,1,ordeal_3-2.gat,24,24
+ordeal_3-2.gat,136,172,0 warp ord323 1,1,ordeal_3-2.gat,24,284
+ordeal_3-2.gat,153,128,0 warp ord324 1,1,ordeal_3-2.gat,153,23
+ordeal_3-2.gat,153,180,0 warp ord325 1,1,ordeal_3-2.gat,144,284
+ordeal_3-2.gat,172,135,0 warp ord326 1,1,ordeal_3-2.gat,284,24
+ordeal_3-2.gat,172,172,0 warp ord327 1,1,ordeal_3-2.gat,284,284
+ordeal_3-2.gat,180,154,0 warp ord328 1,1,ordeal_3-2.gat,284,164
+ordeal_3-3.gat,100,150,0 warp ord31 1,1,ordeal_3-3.gat,128,150
+ordeal_3-3.gat,114,183,0 warp ord31-1 1,1,ordeal_3-3.gat,135,163
+ordeal_3-3.gat,115,115,0 warp ord32 1,1,ordeal_3-3.gat,136,136
+ordeal_3-3.gat,123,150,0 warp ord32-1 1,1,ordeal_3-3.gat,95,150
+ordeal_3-3.gat,130,168,0 warp ord33 1,1,ordeal_3-3.gat,109,188
+ordeal_3-3.gat,131,131,0 warp ord33-1 1,1,ordeal_3-3.gat,110,110
+ordeal_3-3.gat,148,176,0 warp ord34 1,1,ordeal_3-3.gat,149,204
+ordeal_3-3.gat,149,99,0 warp ord34-1 1,1,ordeal_3-3.gat,151,129
+ordeal_3-3.gat,149,199,0 warp ord35 1,1,ordeal_3-3.gat,148,171
+ordeal_3-3.gat,151,124,0 warp ord35-1 1,1,ordeal_3-3.gat,151,94
+ordeal_3-3.gat,168,168,0 warp ord36 1,1,ordeal_3-3.gat,189,189
+ordeal_3-3.gat,169,131,0 warp ord36-1 1,1,ordeal_3-3.gat,188,111
+ordeal_3-3.gat,176,150,0 warp ord37 1,1,ordeal_3-3.gat,204,150
+ordeal_3-3.gat,183,116,0 warp ord37-1 1,1,ordeal_3-3.gat,164,136
+ordeal_3-3.gat,184,184,0 warp ord38 1,1,ordeal_3-3.gat,163,163
+ordeal_3-3.gat,199,150,0 warp ord38-1 1,1,ordeal_3-3.gat,171,150
+ordeal_3-4.gat,128,154,0 warp ord341 1,1,ordeal_3-4.gat,24,154
+ordeal_3-4.gat,136,136,0 warp ord342 1,1,ordeal_3-4.gat,24,24
+ordeal_3-4.gat,136,172,0 warp ord343 1,1,ordeal_3-4.gat,24,284
+ordeal_3-4.gat,153,128,0 warp ord344 1,1,ordeal_3-4.gat,153,23
+ordeal_3-4.gat,153,180,0 warp ord345 1,1,ordeal_3-4.gat,144,284
+ordeal_3-4.gat,172,135,0 warp ord346 1,1,ordeal_3-4.gat,284,24
+ordeal_3-4.gat,172,172,0 warp ord347 1,1,ordeal_3-4.gat,284,284
+ordeal_3-4.gat,180,154,0 warp ord348 1,1,ordeal_3-4.gat,284,164
+//This map doesn't even exists. Is it ordeal_a02 or ordea_la00?
+//ordeal_a04.gat,128,154,0 warp orda1 0,0,ordeal_a04.gat,24,154
+//ordeal_a04.gat,136,136,0 warp orda2 0,0,ordeal_a04.gat,24,24
+//ordeal_a04.gat,136,172,0 warp orda3 0,0,ordeal_a04.gat,24,284
+//ordeal_a04.gat,153,128,0 warp orda4 0,0,ordeal_a04.gat,153,23
+//ordeal_a04.gat,153,180,0 warp orda5 0,0,ordeal_a04.gat,144,284
+//ordeal_a04.gat,172,135,0 warp orda6 0,0,ordeal_a04.gat,284,24
+//ordeal_a04.gat,172,172,0 warp orda7 0,0,ordeal_a04.gat,284,284
+//ordeal_a04.gat,180,154,0 warp orda8 0,0,ordeal_a04.gat,284,164