From 2f6d4516113059d9edbe71b085540c9cda92fa03 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sun, 5 Oct 2014 11:34:32 +0300 Subject: Remove conf dir. --- npc/MOTD.txt | 34 - npc/airports/airships.txt | 1529 -- npc/airports/einbroch.txt | 127 - npc/airports/hugel.txt | 55 - npc/airports/izlude.txt | 72 - npc/airports/lighthalzen.txt | 104 - npc/airports/rachel.txt | 57 - npc/airports/yuno.txt | 180 - npc/battleground/bg_common.txt | 578 - npc/battleground/flavius/flavius01.txt | 768 - npc/battleground/flavius/flavius02.txt | 768 - npc/battleground/flavius/flavius_enter.txt | 363 - npc/battleground/kvm/kvm01.txt | 435 - npc/battleground/kvm/kvm02.txt | 434 - npc/battleground/kvm/kvm03.txt | 436 - npc/battleground/kvm/kvm_enter.txt | 230 - npc/battleground/kvm/kvm_item_pay.txt | 331 - npc/battleground/tierra/tierra01.txt | 961 - npc/battleground/tierra/tierra02.txt | 961 - npc/battleground/tierra/tierra_enter.txt | 371 - npc/cities/alberta.txt | 428 - npc/cities/aldebaran.txt | 1390 -- npc/cities/amatsu.txt | 615 - npc/cities/ayothaya.txt | 319 - npc/cities/comodo.txt | 485 - npc/cities/einbech.txt | 1037 - npc/cities/einbroch.txt | 989 - npc/cities/geffen.txt | 1443 -- npc/cities/gonryun.txt | 435 - npc/cities/hugel.txt | 214 - npc/cities/izlude.txt | 524 - npc/cities/jawaii.txt | 1454 -- npc/cities/lighthalzen.txt | 3212 --- npc/cities/louyang.txt | 349 - npc/cities/lutie.txt | 959 - npc/cities/manuk.txt | 580 - npc/cities/morocc.txt | 789 - npc/cities/moscovia.txt | 153 - npc/cities/niflheim.txt | 371 - npc/cities/payon.txt | 1087 -- npc/cities/prontera.txt | 772 - npc/cities/rachel.txt | 700 - npc/cities/splendide.txt | 848 - npc/cities/umbala.txt | 1044 - npc/cities/veins.txt | 827 - npc/cities/yuno.txt | 405 - npc/custom/bartershop.txt | 21 - npc/custom/battleground/bg_common.txt | 1328 -- npc/custom/battleground/bg_flavius_01.txt | 424 - npc/custom/battleground/bg_flavius_02.txt | 424 - npc/custom/battleground/bg_kvm01.txt | 374 - npc/custom/battleground/bg_kvm02.txt | 374 - npc/custom/battleground/bg_kvm03.txt | 374 - npc/custom/battleground/bg_tierra_01.txt | 471 - npc/custom/battleground/bg_tierra_02.txt | 471 - npc/custom/bgqueue/flavius.txt | 778 - npc/custom/breeder.txt | 68 - npc/custom/card_remover.txt | 150 - npc/custom/etc/airplane.txt | 444 - npc/custom/etc/bank.txt | 117 - npc/custom/etc/bank_kafra.txt | 114 - npc/custom/etc/blackjack.txt | 354 - npc/custom/etc/floating_rates.txt | 41 - npc/custom/etc/lottery.txt | 452 - npc/custom/etc/marriage.txt | 935 - npc/custom/etc/monster_arena.txt | 892 - npc/custom/etc/morroc_raceway.txt | 238 - npc/custom/etc/mvp_arena.txt | 283 - npc/custom/etc/penal_servitude.txt | 189 - npc/custom/etc/quest_warper.txt | 1687 -- npc/custom/etc/rpsroulette.txt | 127 - npc/custom/etc/shifty_assassin.txt | 188 - npc/custom/etc/stock_market.txt | 782 - npc/custom/events/cluckers.txt | 114 - npc/custom/events/disguise.txt | 258 - npc/custom/events/hallow06.txt | 121 - npc/custom/events/mushroom_event.txt | 60 - npc/custom/events/uneasy_cemetery.txt | 136 - npc/custom/events/valentinesdayexp.txt | 276 - npc/custom/events/xmas_rings_event.txt | 190 - npc/custom/healer.txt | 78 - npc/custom/item_signer.txt | 132 - npc/custom/itembind.txt | 134 - npc/custom/itemmall.txt | 42 - npc/custom/jobmaster.txt | 262 - npc/custom/platinum_skills.txt | 61 - npc/custom/quests/bandit_beard.txt | 231 - npc/custom/quests/berzebub.txt | 62 - npc/custom/quests/dead_branch.txt | 95 - npc/custom/quests/elvenear.txt | 62 - npc/custom/quests/event_6_new_hats.txt | 389 - npc/custom/quests/hunting_missions.txt | 320 - npc/custom/quests/jewel_case.txt | 62 - npc/custom/quests/kaho_balmung.txt | 48 - npc/custom/quests/kahohorn.txt | 67 - npc/custom/quests/kings_items.txt | 77 - npc/custom/quests/may_hats.txt | 176 - npc/custom/quests/quest_shop.txt | 230 - npc/custom/quests/questboard.txt | 316 - npc/custom/quests/sphinx_mask.txt | 50 - npc/custom/quests/sunglasses.txt | 106 - npc/custom/quests/tha_statues.txt | 266 - npc/custom/quests/thq/THQS_ChatingNPC.txt | 93 - npc/custom/quests/thq/THQS_GuildNPC.txt | 89 - npc/custom/quests/thq/THQS_QuestNPC.txt | 549 - npc/custom/quests/thq/THQS_Quests.txt | 1050 - npc/custom/quests/thq/THQS_TTShop.txt | 204 - npc/custom/quests/umbalian_language.txt | 195 - npc/custom/quests/valhallen.txt | 66 - npc/custom/resetnpc.txt | 66 - npc/custom/stylist.txt | 34 - npc/custom/warper.txt | 518 - npc/custom/woe_controller.txt | 448 - npc/dev/ci_test.txt | 47 - npc/dev/test.txt | 876 - npc/events/MemorialDay_2008.txt | 411 - npc/events/RWC_2011.txt | 553 - npc/events/RWC_2012.txt | 347 - npc/events/StPatrick_2008.txt | 732 - npc/events/bossnia.txt | 284 - npc/events/children_week.txt | 105 - npc/events/christmas_2005.txt | 1700 -- npc/events/christmas_2008.txt | 1073 - npc/events/dumplingfestival.txt | 113 - npc/events/easter_2008.txt | 857 - npc/events/easter_2010.txt | 638 - npc/events/event_skill_reset.txt | 127 - npc/events/gdevent_aru.txt | 1549 -- npc/events/gdevent_sch.txt | 1546 -- npc/events/god_se_festival.txt | 792 - npc/events/halloween_2006.txt | 1418 -- npc/events/halloween_2008.txt | 292 - npc/events/halloween_2009.txt | 459 - npc/events/idul_fitri.txt | 94 - npc/events/lunar_2008.txt | 300 - npc/events/nguild/nguild_dunsw.txt | 85 - npc/events/nguild/nguild_ev_agit.txt | 233 - npc/events/nguild/nguild_flags.txt | 194 - npc/events/nguild/nguild_guardians.txt | 106 - npc/events/nguild/nguild_kafras.txt | 90 - npc/events/nguild/nguild_managers.txt | 175 - npc/events/nguild/nguild_treas.txt | 182 - npc/events/nguild/nguild_warper.txt | 108 - npc/events/twintowers.txt | 116 - npc/events/valentinesday.txt | 146 - npc/events/valentinesday_2009.txt | 648 - npc/events/valentinesday_2012.txt | 177 - npc/events/whiteday.txt | 153 - npc/events/xmas.txt | 372 - npc/instances/EndlessTower.txt | 2155 -- npc/instances/NydhoggsNest.txt | 2311 --- npc/instances/OrcsMemory.txt | 896 - npc/instances/SealedShrine.txt | 1470 -- npc/jobs/1-1e/gunslinger.txt | 437 - npc/jobs/1-1e/ninja.txt | 608 - npc/jobs/1-1e/taekwon.txt | 439 - npc/jobs/2-1/assassin.txt | 2251 --- npc/jobs/2-1/blacksmith.txt | 1643 -- npc/jobs/2-1/hunter.txt | 1789 -- npc/jobs/2-1/knight.txt | 2498 --- npc/jobs/2-1/priest.txt | 1871 -- npc/jobs/2-1/wizard.txt | 1968 -- npc/jobs/2-1a/AssassinCross.txt | 119 - npc/jobs/2-1a/HighPriest.txt | 101 - npc/jobs/2-1a/HighWizard.txt | 105 - npc/jobs/2-1a/LordKnight.txt | 103 - npc/jobs/2-1a/Sniper.txt | 102 - npc/jobs/2-1a/WhiteSmith.txt | 107 - npc/jobs/2-1e/StarGladiator.txt | 1654 -- npc/jobs/2-2/alchemist.txt | 2160 -- npc/jobs/2-2/bard.txt | 951 - npc/jobs/2-2/crusader.txt | 1478 -- npc/jobs/2-2/dancer.txt | 1394 -- npc/jobs/2-2/monk.txt | 2628 --- npc/jobs/2-2/rogue.txt | 2030 -- npc/jobs/2-2/sage.txt | 2903 --- npc/jobs/2-2a/Champion.txt | 106 - npc/jobs/2-2a/Clown.txt | 101 - npc/jobs/2-2a/Creator.txt | 151 - npc/jobs/2-2a/Gypsy.txt | 102 - npc/jobs/2-2a/Paladin.txt | 104 - npc/jobs/2-2a/Professor.txt | 111 - npc/jobs/2-2a/Stalker.txt | 112 - npc/jobs/2-2e/SoulLinker.txt | 719 - npc/jobs/novice/supernovice.txt | 489 - npc/jobs/valkyrie.txt | 400 - npc/kafras/cool_event_corp.txt | 129 - npc/kafras/dts_warper.txt | 1329 -- npc/kafras/functions_kafras.txt | 679 - npc/kafras/kafras.txt | 684 - npc/mapflag/battleground.txt | 42 - npc/mapflag/gvg.txt | 124 - npc/mapflag/jail.txt | 65 - npc/mapflag/night.txt | 342 - npc/mapflag/nightmare.txt | 79 - npc/mapflag/nobranch.txt | 397 - npc/mapflag/noexp.txt | 57 - npc/mapflag/noicewall.txt | 164 - npc/mapflag/noloot.txt | 47 - npc/mapflag/nomemo.txt | 785 - npc/mapflag/nopenalty.txt | 341 - npc/mapflag/nopvp.txt | 177 - npc/mapflag/noreturn.txt | 271 - npc/mapflag/nosave.txt | 312 - npc/mapflag/noskill.txt | 54 - npc/mapflag/noteleport.txt | 431 - npc/mapflag/notomb.txt | 39 - npc/mapflag/novending.txt | 36 - npc/mapflag/nowarp.txt | 98 - npc/mapflag/nowarpto.txt | 161 - npc/mapflag/partylock.txt | 35 - npc/mapflag/private_airship.txt | 725 - npc/mapflag/pvp.txt | 122 - npc/mapflag/pvp_noguild.txt | 117 - npc/mapflag/pvp_noparty.txt | 41 - npc/mapflag/reset.txt | 71 - npc/mapflag/skillduration.txt | 43 - npc/mapflag/skillmodifier.txt | 40 - npc/mapflag/town.txt | 62 - npc/mapflag/zone.txt | 120 - npc/merchants/advanced_refiner.txt | 179 - npc/merchants/alchemist.txt | 190 - npc/merchants/ammo_boxes.txt | 158 - npc/merchants/ammo_dealer.txt | 144 - npc/merchants/buying_shops.txt | 268 - npc/merchants/cash_hair.txt | 145 - npc/merchants/cash_trader.txt | 44 - npc/merchants/cashheadgear_dye.txt | 137 - npc/merchants/clothes_dyer.txt | 192 - npc/merchants/coin_exchange.txt | 108 - npc/merchants/dye_maker.txt | 220 - npc/merchants/elemental_trader.txt | 182 - npc/merchants/enchan_arm.txt | 168 - npc/merchants/gemstone.txt | 130 - npc/merchants/hair_dyer.txt | 427 - npc/merchants/hair_style.txt | 1317 -- npc/merchants/hd_refine.txt | 335 - npc/merchants/icecream.txt | 105 - npc/merchants/inn.txt | 237 - npc/merchants/kunai_maker.txt | 124 - npc/merchants/milk_trader.txt | 95 - npc/merchants/novice_exchange.txt | 401 - npc/merchants/old_pharmacist.txt | 272 - npc/merchants/quivers.txt | 187 - npc/merchants/refine.txt | 1249 -- npc/merchants/renters.txt | 241 - npc/merchants/shops.txt | 1867 -- npc/merchants/socket_enchant.txt | 376 - npc/merchants/socket_enchant2.txt | 491 - npc/merchants/wander_pet_food.txt | 95 - npc/mobs/citycleaners.txt | 58 - npc/mobs/jail.txt | 40 - npc/mobs/pvp.txt | 52 - npc/mobs/towns.txt | 48 - npc/other/CashShop_Functions.txt | 339 - npc/other/Global_Functions.txt | 469 - npc/other/acolyte_warp.txt | 157 - npc/other/arena/arena_aco.txt | 1806 -- npc/other/arena/arena_lvl50.txt | 1034 - npc/other/arena/arena_lvl60.txt | 1047 - npc/other/arena/arena_lvl70.txt | 1011 - npc/other/arena/arena_lvl80.txt | 990 - npc/other/arena/arena_party.txt | 1264 -- npc/other/arena/arena_point.txt | 200 - npc/other/arena/arena_room.txt | 1035 - npc/other/auction.txt | 150 - npc/other/books.txt | 3679 ---- npc/other/bulletin_boards.txt | 596 - npc/other/card_trader.txt | 215 - npc/other/comodo_gambling.txt | 592 - npc/other/divorce.txt | 232 - npc/other/fortune.txt | 3585 ---- npc/other/gm_npcs.txt | 175 - npc/other/guildpvp.txt | 75 - npc/other/gympass.txt | 168 - npc/other/hugel_bingo.txt | 986 - npc/other/inventory_expansion.txt | 63 - npc/other/item_merge.txt | 90 - npc/other/mail.txt | 133 - npc/other/marriage.txt | 973 - npc/other/mercenary_rent.txt | 309 - npc/other/monster_museum.txt | 748 - npc/other/monster_race.txt | 3058 --- npc/other/msg_boards.txt | 287 - npc/other/poring_war.txt | 1781 -- npc/other/powernpc.txt | 315 - npc/other/private_airship.txt | 66 - npc/other/pvp.txt | 456 - npc/other/turbo_track.txt | 4813 ----- npc/pre-re/airports/izlude.txt | 33 - npc/pre-re/cities/alberta.txt | 55 - npc/pre-re/cities/izlude.txt | 43 - npc/pre-re/cities/jawaii.txt | 35 - npc/pre-re/cities/yuno.txt | 41 - npc/pre-re/guides/guides_alberta.txt | 175 - npc/pre-re/guides/guides_aldebaran.txt | 127 - npc/pre-re/guides/guides_amatsu.txt | 138 - npc/pre-re/guides/guides_ayothaya.txt | 131 - npc/pre-re/guides/guides_comodo.txt | 144 - npc/pre-re/guides/guides_einbroch.txt | 369 - npc/pre-re/guides/guides_geffen.txt | 191 - npc/pre-re/guides/guides_gonryun.txt | 86 - npc/pre-re/guides/guides_hugel.txt | 175 - npc/pre-re/guides/guides_izlude.txt | 179 - npc/pre-re/guides/guides_juno.txt | 135 - npc/pre-re/guides/guides_lighthalzen.txt | 246 - npc/pre-re/guides/guides_louyang.txt | 252 - npc/pre-re/guides/guides_morroc.txt | 182 - npc/pre-re/guides/guides_moscovia.txt | 110 - npc/pre-re/guides/guides_niflheim.txt | 152 - npc/pre-re/guides/guides_payon.txt | 313 - npc/pre-re/guides/guides_prontera.txt | 257 - npc/pre-re/guides/guides_rachel.txt | 130 - npc/pre-re/guides/guides_umbala.txt | 143 - npc/pre-re/guides/guides_veins.txt | 146 - npc/pre-re/jobs/1-1/acolyte.txt | 476 - npc/pre-re/jobs/1-1/archer.txt | 256 - npc/pre-re/jobs/1-1/mage.txt | 715 - npc/pre-re/jobs/1-1/merchant.txt | 1179 -- npc/pre-re/jobs/1-1/swordman.txt | 644 - npc/pre-re/jobs/1-1/thief.txt | 548 - npc/pre-re/jobs/1-1e/taekwon.txt | 34 - npc/pre-re/jobs/novice/novice.txt | 4235 ---- npc/pre-re/kafras/kafras.txt | 36 - npc/pre-re/mapflag/gvg.txt | 41 - npc/pre-re/merchants/ammo_boxes.txt | 35 - npc/pre-re/merchants/ammo_dealer.txt | 35 - npc/pre-re/merchants/shops.txt | 377 - npc/pre-re/mobs/citycleaners.txt | 38 - npc/pre-re/mobs/dungeons/abbey.txt | 150 - npc/pre-re/mobs/dungeons/abyss.txt | 78 - npc/pre-re/mobs/dungeons/alde_dun.txt | 78 - npc/pre-re/mobs/dungeons/ama_dun.txt | 59 - npc/pre-re/mobs/dungeons/anthell.txt | 141 - npc/pre-re/mobs/dungeons/ayo_dun.txt | 49 - npc/pre-re/mobs/dungeons/beach_dun.txt | 55 - npc/pre-re/mobs/dungeons/c_tower.txt | 116 - npc/pre-re/mobs/dungeons/ein_dun.txt | 56 - npc/pre-re/mobs/dungeons/gef_dun.txt | 110 - npc/pre-re/mobs/dungeons/gefenia.txt | 134 - npc/pre-re/mobs/dungeons/glastheim.txt | 220 - npc/pre-re/mobs/dungeons/gld_dun.txt | 67 - npc/pre-re/mobs/dungeons/gld_dunSE.txt | 47 - npc/pre-re/mobs/dungeons/gon_dun.txt | 61 - npc/pre-re/mobs/dungeons/ice_dun.txt | 85 - npc/pre-re/mobs/dungeons/in_sphinx.txt | 67 - npc/pre-re/mobs/dungeons/iz_dun.txt | 126 - npc/pre-re/mobs/dungeons/juperos.txt | 72 - npc/pre-re/mobs/dungeons/kh_dun.txt | 77 - npc/pre-re/mobs/dungeons/lhz_dun.txt | 318 - npc/pre-re/mobs/dungeons/lou_dun.txt | 59 - npc/pre-re/mobs/dungeons/mag_dun.txt | 61 - npc/pre-re/mobs/dungeons/mjo_dun.txt | 53 - npc/pre-re/mobs/dungeons/moc_pryd.txt | 74 - npc/pre-re/mobs/dungeons/mosk_dun.txt | 65 - npc/pre-re/mobs/dungeons/nyd_dun.txt | 41 - npc/pre-re/mobs/dungeons/odin.txt | 84 - npc/pre-re/mobs/dungeons/orcsdun.txt | 60 - npc/pre-re/mobs/dungeons/pay_dun.txt | 174 - npc/pre-re/mobs/dungeons/prt_maze.txt | 118 - npc/pre-re/mobs/dungeons/prt_sew.txt | 68 - npc/pre-re/mobs/dungeons/ra_san.txt | 94 - npc/pre-re/mobs/dungeons/tha_t.txt | 180 - npc/pre-re/mobs/dungeons/thor_v.txt | 85 - npc/pre-re/mobs/dungeons/treasure.txt | 176 - npc/pre-re/mobs/dungeons/tur_dun.txt | 85 - npc/pre-re/mobs/dungeons/um_dun.txt | 73 - npc/pre-re/mobs/dungeons/xmas_dun.txt | 55 - npc/pre-re/mobs/dungeons/yggdrasil.txt | 56 - npc/pre-re/mobs/fields/amatsu.txt | 62 - npc/pre-re/mobs/fields/ayothaya.txt | 50 - npc/pre-re/mobs/fields/comodo.txt | 204 - npc/pre-re/mobs/fields/einbroch.txt | 143 - npc/pre-re/mobs/fields/geffen.txt | 222 - npc/pre-re/mobs/fields/gonryun.txt | 43 - npc/pre-re/mobs/fields/hugel.txt | 139 - npc/pre-re/mobs/fields/lighthalzen.txt | 66 - npc/pre-re/mobs/fields/louyang.txt | 55 - npc/pre-re/mobs/fields/lutie.txt | 41 - npc/pre-re/mobs/fields/manuk.txt | 52 - npc/pre-re/mobs/fields/mjolnir.txt | 249 - npc/pre-re/mobs/fields/morocc.txt | 301 - npc/pre-re/mobs/fields/moscovia.txt | 42 - npc/pre-re/mobs/fields/niflheim.txt | 212 - npc/pre-re/mobs/fields/payon.txt | 146 - npc/pre-re/mobs/fields/prontera.txt | 139 - npc/pre-re/mobs/fields/rachel.txt | 113 - npc/pre-re/mobs/fields/splendide.txt | 50 - npc/pre-re/mobs/fields/umbala.txt | 113 - npc/pre-re/mobs/fields/veins.txt | 107 - npc/pre-re/mobs/fields/yuno.txt | 171 - npc/pre-re/other/bulletin_boards.txt | 49 - npc/pre-re/other/mercenary_rent.txt | 37 - npc/pre-re/other/msg_boards.txt | 47 - npc/pre-re/other/pvp.txt | 53 - npc/pre-re/other/resetskill.txt | 163 - npc/pre-re/other/turbo_track.txt | 35 - npc/pre-re/quests/collection/quest_alligator.txt | 260 - npc/pre-re/quests/collection/quest_caramel.txt | 260 - npc/pre-re/quests/collection/quest_coco.txt | 261 - npc/pre-re/quests/collection/quest_creamy.txt | 266 - npc/pre-re/quests/collection/quest_demonpungus.txt | 260 - .../quests/collection/quest_disguiseloliruri.txt | 169 - npc/pre-re/quests/collection/quest_dokebi.txt | 250 - npc/pre-re/quests/collection/quest_dryad.txt | 260 - npc/pre-re/quests/collection/quest_fabre.txt | 247 - npc/pre-re/quests/collection/quest_frilldora.txt | 256 - npc/pre-re/quests/collection/quest_goat.txt | 262 - npc/pre-re/quests/collection/quest_golem.txt | 248 - npc/pre-re/quests/collection/quest_hode.txt | 259 - npc/pre-re/quests/collection/quest_leafcat.txt | 257 - npc/pre-re/quests/collection/quest_mantis.txt | 120 - npc/pre-re/quests/collection/quest_pecopeco.txt | 269 - npc/pre-re/quests/collection/quest_pupa.txt | 251 - npc/pre-re/quests/collection/quest_zhupolong.txt | 120 - npc/pre-re/quests/first_class/tu_archer.txt | 35 - npc/pre-re/quests/monstertamers.txt | 35 - npc/pre-re/quests/mrsmile.txt | 35 - npc/pre-re/quests/quests_13_1.txt | 35 - npc/pre-re/quests/quests_izlude.txt | 35 - npc/pre-re/quests/quests_lighthalzen.txt | 35 - npc/pre-re/quests/quests_nameless.txt | 36 - npc/pre-re/quests/quests_veins.txt | 35 - npc/pre-re/quests/skills/novice_skills.txt | 492 - npc/pre-re/scripts.conf | 112 - npc/pre-re/scripts_jobs.conf | 46 - npc/pre-re/scripts_main.conf | 76 - npc/pre-re/scripts_mapflags.conf | 30 - npc/pre-re/scripts_monsters.conf | 98 - npc/pre-re/scripts_warps.conf | 49 - npc/pre-re/warps/cities/izlude.txt | 55 - npc/pre-re/warps/cities/rachel.txt | 141 - npc/pre-re/warps/cities/yggdrasil.txt | 44 - npc/pre-re/warps/fields/com_fild.txt | 70 - npc/pre-re/warps/fields/geffen_fild.txt | 92 - npc/pre-re/warps/fields/hugel_fild.txt | 67 - npc/pre-re/warps/fields/morroc_fild.txt | 136 - npc/pre-re/warps/fields/payon_fild.txt | 69 - npc/pre-re/warps/fields/prontera_fild.txt | 126 - npc/pre-re/warps/fields/rachel_fild.txt | 66 - npc/pre-re/warps/fields/veins_fild.txt | 62 - npc/pre-re/warps/fields/yuno_fild.txt | 109 - npc/pre-re/warps/other/arena.txt | 36 - npc/pre-re/warps/other/sign.txt | 56 - npc/quests/bard_quest.txt | 2944 --- npc/quests/bunnyband.txt | 164 - npc/quests/cooking_quest.txt | 2397 --- npc/quests/counteragent_mixture.txt | 598 - npc/quests/dandelion_request.txt | 10288 ---------- npc/quests/doomed_swords.txt | 1201 -- npc/quests/doomed_swords_quest.txt | 1118 -- npc/quests/eye_of_hellion.txt | 2456 --- npc/quests/first_class/tu_acolyte.txt | 1812 -- npc/quests/first_class/tu_archer.txt | 1977 -- npc/quests/first_class/tu_ma_th01.txt | 1338 -- npc/quests/first_class/tu_magician01.txt | 835 - npc/quests/first_class/tu_merchant.txt | 1384 -- npc/quests/first_class/tu_sword.txt | 2499 --- npc/quests/first_class/tu_thief01.txt | 739 - npc/quests/guildrelay.txt | 3228 --- npc/quests/gunslinger_quests.txt | 1602 -- npc/quests/juice_maker.txt | 357 - npc/quests/kiel_hyre_quest.txt | 6797 ------- npc/quests/lvl4_weapon_quest.txt | 3524 ---- npc/quests/mage_solution.txt | 78 - npc/quests/monstertamers.txt | 782 - npc/quests/mrsmile.txt | 125 - npc/quests/newgears/2004_headgears.txt | 3633 ---- npc/quests/newgears/2005_headgears.txt | 2273 --- npc/quests/newgears/2006_headgears.txt | 1145 -- npc/quests/newgears/2008_headgears.txt | 842 - npc/quests/newgears/2010_headgears.txt | 1130 -- npc/quests/ninja_quests.txt | 1380 -- npc/quests/obb_quest.txt | 1958 -- npc/quests/okolnir.txt | 2810 --- npc/quests/partyrelay.txt | 3148 --- npc/quests/quests_13_1.txt | 13987 ------------- npc/quests/quests_13_2.txt | 7365 ------- npc/quests/quests_airship.txt | 3692 ---- npc/quests/quests_alberta.txt | 2987 --- npc/quests/quests_aldebaran.txt | 130 - npc/quests/quests_amatsu.txt | 2221 --- npc/quests/quests_ayothaya.txt | 3058 --- npc/quests/quests_comodo.txt | 2527 --- npc/quests/quests_ein.txt | 5865 ------ npc/quests/quests_geffen.txt | 447 - npc/quests/quests_gonryun.txt | 3828 ---- npc/quests/quests_hugel.txt | 9933 ---------- npc/quests/quests_izlude.txt | 117 - npc/quests/quests_juperos.txt | 5026 ----- npc/quests/quests_lighthalzen.txt | 12056 ------------ npc/quests/quests_louyang.txt | 4980 ----- npc/quests/quests_lutie.txt | 376 - npc/quests/quests_morocc.txt | 7766 -------- npc/quests/quests_moscovia.txt | 11940 ------------ npc/quests/quests_nameless.txt | 13310 ------------- npc/quests/quests_niflheim.txt | 809 - npc/quests/quests_payon.txt | 329 - npc/quests/quests_prontera.txt | 3692 ---- npc/quests/quests_rachel.txt | 7478 ------- npc/quests/quests_umbala.txt | 1335 -- npc/quests/quests_veins.txt | 7388 ------- npc/quests/quests_yuno.txt | 1274 -- npc/quests/seals/brisingamen_seal.txt | 4736 ----- npc/quests/seals/god_global.txt | 132 - npc/quests/seals/god_weapon_creation.txt | 894 - npc/quests/seals/megingard_seal.txt | 3441 ---- npc/quests/seals/mjolnir_seal.txt | 2791 --- npc/quests/seals/seal_status.txt | 70 - npc/quests/seals/sleipnir_seal.txt | 1977 -- npc/quests/skills/acolyte_skills.txt | 132 - npc/quests/skills/alchemist_skills.txt | 2220 --- npc/quests/skills/archer_skills.txt | 292 - npc/quests/skills/assassin_skills.txt | 1008 - npc/quests/skills/bard_skills.txt | 1290 -- npc/quests/skills/blacksmith_skills.txt | 675 - npc/quests/skills/crusader_skills.txt | 834 - npc/quests/skills/dancer_skills.txt | 745 - npc/quests/skills/hunter_skills.txt | 389 - npc/quests/skills/knight_skills.txt | 536 - npc/quests/skills/mage_skills.txt | 180 - npc/quests/skills/merchant_skills.txt | 745 - npc/quests/skills/monk_skills.txt | 457 - npc/quests/skills/priest_skills.txt | 385 - npc/quests/skills/rogue_skills.txt | 1374 -- npc/quests/skills/sage_skills.txt | 506 - npc/quests/skills/swordman_skills.txt | 498 - npc/quests/skills/thief_skills.txt | 524 - npc/quests/skills/wizard_skills.txt | 457 - npc/quests/thana_quest.txt | 2332 --- npc/quests/the_sign_quest.txt | 12650 ------------ npc/re/airports/izlude.txt | 40 - npc/re/battleground/bg_common.txt | 36 - npc/re/cities/alberta.txt | 55 - npc/re/cities/brasilis.txt | 186 - npc/re/cities/dewata.txt | 1186 -- npc/re/cities/dicastes.txt | 741 - npc/re/cities/eclage.txt | 126 - npc/re/cities/izlude.txt | 301 - npc/re/cities/jawaii.txt | 41 - npc/re/cities/malangdo.txt | 448 - npc/re/cities/malaya.txt | 948 - npc/re/cities/mora.txt | 1201 -- npc/re/cities/yuno.txt | 41 - npc/re/events/christmas_2013.txt | 1749 -- npc/re/events/halloween_2013.txt | 1114 -- npc/re/events/halloween_2014.txt | 2568 --- npc/re/guides/guides_alberta.txt | 233 - npc/re/guides/guides_aldebaran.txt | 170 - npc/re/guides/guides_amatsu.txt | 111 - npc/re/guides/guides_ayothaya.txt | 114 - npc/re/guides/guides_brasilis.txt | 95 - npc/re/guides/guides_comodo.txt | 201 - npc/re/guides/guides_dewata.txt | 104 - npc/re/guides/guides_dicastes.txt | 111 - npc/re/guides/guides_eclage.txt | 71 - npc/re/guides/guides_einbroch.txt | 313 - npc/re/guides/guides_geffen.txt | 190 - npc/re/guides/guides_gonryun.txt | 106 - npc/re/guides/guides_hugel.txt | 319 - npc/re/guides/guides_izlude.txt | 225 - npc/re/guides/guides_juno.txt | 183 - npc/re/guides/guides_lighthalzen.txt | 205 - npc/re/guides/guides_louyang.txt | 146 - npc/re/guides/guides_lutie.txt | 95 - npc/re/guides/guides_malaya.txt | 102 - npc/re/guides/guides_mora.txt | 239 - npc/re/guides/guides_morroc.txt | 329 - npc/re/guides/guides_moscovia.txt | 121 - npc/re/guides/guides_niflheim.txt | 88 - npc/re/guides/guides_payon.txt | 312 - npc/re/guides/guides_prontera.txt | 320 - npc/re/guides/guides_rachel.txt | 147 - npc/re/guides/guides_umbala.txt | 121 - npc/re/guides/guides_veins.txt | 129 - npc/re/guides/navigation.txt | 61 - npc/re/instances/BakonawaLake.txt | 607 - npc/re/instances/BangungotHospital.txt | 1112 -- npc/re/instances/BuwayaCave.txt | 475 - npc/re/instances/EclageInterior.txt | 518 - npc/re/instances/HazyForest.txt | 1227 -- npc/re/instances/MalangdoCulvert.txt | 1122 -- npc/re/instances/OldGlastHeim.txt | 2803 --- npc/re/instances/WolfchevLaboratory.txt | 3274 ---- npc/re/instances/ghost_palace.txt | 853 - npc/re/instances/octopus_cave.txt | 702 - npc/re/instances/saras_memory.txt | 1780 -- npc/re/jobs/1-1/acolyte.txt | 354 - npc/re/jobs/1-1/archer.txt | 152 - npc/re/jobs/1-1/mage.txt | 153 - npc/re/jobs/1-1/merchant.txt | 148 - npc/re/jobs/1-1/swordman.txt | 150 - npc/re/jobs/1-1/thief.txt | 226 - npc/re/jobs/1-1e/taekwon.txt | 34 - npc/re/jobs/2e/kagerou_oboro.txt | 2867 --- npc/re/jobs/3-1/archbishop.txt | 1698 -- npc/re/jobs/3-1/guillotine_cross.txt | 3987 ---- npc/re/jobs/3-1/mechanic.txt | 753 - npc/re/jobs/3-1/ranger.txt | 1821 -- npc/re/jobs/3-1/rune_knight.txt | 2175 --- npc/re/jobs/3-1/warlock.txt | 1112 -- npc/re/jobs/3-2/genetic.txt | 1061 - npc/re/jobs/3-2/minstrel.txt | 1939 -- npc/re/jobs/3-2/royal_guard.txt | 559 - npc/re/jobs/3-2/shadow_chaser.txt | 2521 --- npc/re/jobs/3-2/sorcerer.txt | 439 - npc/re/jobs/3-2/sura.txt | 887 - npc/re/jobs/3-2/wanderer.txt | 1056 - npc/re/jobs/novice/academy.txt | 14339 -------------- npc/re/jobs/novice/novice.txt | 3420 ---- npc/re/jobs/novice/supernovice_ex.txt | 710 - npc/re/jobs/repair.txt | 291 - npc/re/kafras/kafras.txt | 98 - npc/re/mapflag/gvg.txt | 41 - npc/re/mapflag/zone.txt | 84 - npc/re/merchants/3rd_trader.txt | 294 - npc/re/merchants/advanced_refiner.txt | 218 - npc/re/merchants/alchemist.txt | 139 - npc/re/merchants/ammo_boxes.txt | 36 - npc/re/merchants/ammo_dealer.txt | 36 - npc/re/merchants/blessed_refiner.txt | 193 - npc/re/merchants/card_separation.txt | 387 - npc/re/merchants/catalog.txt | 128 - npc/re/merchants/coin_exchange.txt | 1234 -- npc/re/merchants/diamond.txt | 237 - npc/re/merchants/enchan_ko.txt | 576 - npc/re/merchants/enchan_mal.txt | 668 - npc/re/merchants/enchan_mora.txt | 1768 -- npc/re/merchants/enchan_upg.txt | 285 - npc/re/merchants/flute.txt | 161 - npc/re/merchants/hd_refiner.txt | 325 - npc/re/merchants/inn.txt | 73 - npc/re/merchants/ninja_craftsman.txt | 371 - npc/re/merchants/quivers.txt | 142 - npc/re/merchants/refine.txt | 569 - npc/re/merchants/renters.txt | 225 - npc/re/merchants/shadow_refiner.txt | 188 - npc/re/merchants/shops.txt | 1057 - npc/re/merchants/ticket_refiner.txt | 182 - npc/re/mobs/champion.txt | 345 - npc/re/mobs/citycleaners.txt | 47 - npc/re/mobs/dungeons/abbey.txt | 63 - npc/re/mobs/dungeons/abyss.txt | 67 - npc/re/mobs/dungeons/alde_dun.txt | 55 - npc/re/mobs/dungeons/ama_dun.txt | 57 - npc/re/mobs/dungeons/anthell.txt | 140 - npc/re/mobs/dungeons/ayo_dun.txt | 49 - npc/re/mobs/dungeons/beach_dun.txt | 55 - npc/re/mobs/dungeons/bra_dun.txt | 53 - npc/re/mobs/dungeons/c_tower.txt | 82 - npc/re/mobs/dungeons/dew_dun.txt | 46 - npc/re/mobs/dungeons/dic_dun.txt | 59 - npc/re/mobs/dungeons/ecl_tdun.txt | 53 - npc/re/mobs/dungeons/ein_dun.txt | 52 - npc/re/mobs/dungeons/gef_dun.txt | 86 - npc/re/mobs/dungeons/gefenia.txt | 84 - npc/re/mobs/dungeons/glastheim.txt | 185 - npc/re/mobs/dungeons/gld_dunSE.txt | 47 - npc/re/mobs/dungeons/gld_re.txt | 112 - npc/re/mobs/dungeons/gon_dun.txt | 57 - npc/re/mobs/dungeons/ice_dun.txt | 54 - npc/re/mobs/dungeons/in_sphinx.txt | 67 - npc/re/mobs/dungeons/iz_dun.txt | 129 - npc/re/mobs/dungeons/juperos.txt | 67 - npc/re/mobs/dungeons/kh_dun.txt | 74 - npc/re/mobs/dungeons/lhz_dun.txt | 172 - npc/re/mobs/dungeons/lou_dun.txt | 59 - npc/re/mobs/dungeons/ma_dun.txt | 38 - npc/re/mobs/dungeons/mag_dun.txt | 50 - npc/re/mobs/dungeons/mal_dun.txt | 42 - npc/re/mobs/dungeons/mjo_dun.txt | 52 - npc/re/mobs/dungeons/moc_pryd.txt | 87 - npc/re/mobs/dungeons/mosk_dun.txt | 57 - npc/re/mobs/dungeons/nyd_dun.txt | 50 - npc/re/mobs/dungeons/odin.txt | 72 - npc/re/mobs/dungeons/orcsdun.txt | 55 - npc/re/mobs/dungeons/pay_dun.txt | 162 - npc/re/mobs/dungeons/prt_maze.txt | 118 - npc/re/mobs/dungeons/prt_sew.txt | 68 - npc/re/mobs/dungeons/ra_san.txt | 70 - npc/re/mobs/dungeons/tha_t.txt | 150 - npc/re/mobs/dungeons/thor_v.txt | 66 - npc/re/mobs/dungeons/treasure.txt | 196 - npc/re/mobs/dungeons/tur_dun.txt | 65 - npc/re/mobs/dungeons/xmas_dun.txt | 54 - npc/re/mobs/dungeons/yggdrasil.txt | 56 - npc/re/mobs/fields/amatsu.txt | 57 - npc/re/mobs/fields/ayothaya.txt | 51 - npc/re/mobs/fields/bifrost.txt | 50 - npc/re/mobs/fields/brasilis.txt | 42 - npc/re/mobs/fields/comodo.txt | 99 - npc/re/mobs/fields/dewata.txt | 39 - npc/re/mobs/fields/dicastes.txt | 46 - npc/re/mobs/fields/eclage.txt | 40 - npc/re/mobs/fields/einbroch.txt | 104 - npc/re/mobs/fields/geffen.txt | 193 - npc/re/mobs/fields/gonryun.txt | 43 - npc/re/mobs/fields/hugel.txt | 79 - npc/re/mobs/fields/lighthalzen.txt | 65 - npc/re/mobs/fields/louyang.txt | 45 - npc/re/mobs/fields/lutie.txt | 42 - npc/re/mobs/fields/malaya.txt | 45 - npc/re/mobs/fields/manuk.txt | 52 - npc/re/mobs/fields/mjolnir.txt | 228 - npc/re/mobs/fields/morocc.txt | 192 - npc/re/mobs/fields/moscovia.txt | 44 - npc/re/mobs/fields/niflheim.txt | 186 - npc/re/mobs/fields/payon.txt | 128 - npc/re/mobs/fields/prontera.txt | 143 - npc/re/mobs/fields/rachel.txt | 100 - npc/re/mobs/fields/splendide.txt | 50 - npc/re/mobs/fields/umbala.txt | 72 - npc/re/mobs/fields/veins.txt | 83 - npc/re/mobs/fields/yuno.txt | 136 - npc/re/mobs/int_land.txt | 33 - npc/re/mobs/towns.txt | 50 - npc/re/other/bulletin_boards.txt | 58 - npc/re/other/clans.txt | 581 - npc/re/other/dimensional_gap.txt | 550 - npc/re/other/mail.txt | 39 - npc/re/other/mercenary_rent.txt | 48 - npc/re/other/pvp.txt | 112 - npc/re/other/resetskill.txt | 167 - npc/re/other/stone_change.txt | 80 - npc/re/other/turbo_track.txt | 35 - npc/re/quests/cupet.txt | 239 - npc/re/quests/eden/100-110.txt | 1275 -- npc/re/quests/eden/11-25.txt | 175 - npc/re/quests/eden/111-120.txt | 1193 -- npc/re/quests/eden/121-130.txt | 828 - npc/re/quests/eden/131-140.txt | 622 - npc/re/quests/eden/26-40.txt | 692 - npc/re/quests/eden/41-55.txt | 112 - npc/re/quests/eden/56-70.txt | 379 - npc/re/quests/eden/71-85.txt | 246 - npc/re/quests/eden/86-90.txt | 223 - npc/re/quests/eden/91-99.txt | 240 - npc/re/quests/eden/eden_common.txt | 442 - npc/re/quests/eden/eden_iro.txt | 981 - npc/re/quests/eden/eden_quests.txt | 4313 ---- npc/re/quests/eden/eden_service.txt | 84 - npc/re/quests/eden/eden_tutorial.txt | 1582 -- npc/re/quests/first_class/tu_archer.txt | 35 - npc/re/quests/homun_s.txt | 1375 -- npc/re/quests/magic_books.txt | 857 - npc/re/quests/monstertamers.txt | 35 - npc/re/quests/mrsmile.txt | 45 - npc/re/quests/newgears/2012_headgears.txt | 749 - npc/re/quests/pile_bunker.txt | 143 - npc/re/quests/quests_13_1.txt | 39 - npc/re/quests/quests_aldebaran.txt | 140 - npc/re/quests/quests_brasilis.txt | 3158 --- npc/re/quests/quests_dewata.txt | 2234 --- npc/re/quests/quests_dicastes.txt | 7646 -------- npc/re/quests/quests_eclage.txt | 19517 ------------------- npc/re/quests/quests_glastheim.txt | 104 - npc/re/quests/quests_izlude.txt | 42 - npc/re/quests/quests_lighthalzen.txt | 39 - npc/re/quests/quests_malangdo.txt | 10700 ---------- npc/re/quests/quests_malaya.txt | 9165 --------- npc/re/quests/quests_mora.txt | 5376 ----- npc/re/quests/quests_morocc.txt | 263 - npc/re/quests/quests_nameless.txt | 36 - npc/re/quests/quests_veins.txt | 35 - npc/re/scripts.conf | 185 - npc/re/scripts_jobs.conf | 63 - npc/re/scripts_main.conf | 77 - npc/re/scripts_mapflags.conf | 32 - npc/re/scripts_monsters.conf | 112 - npc/re/scripts_warps.conf | 70 - npc/re/scripts_woe.conf | 34 - npc/re/warps/cities/brasilis.txt | 60 - npc/re/warps/cities/dewata.txt | 42 - npc/re/warps/cities/dicastes.txt | 99 - npc/re/warps/cities/eclage.txt | 77 - npc/re/warps/cities/izlude.txt | 196 - npc/re/warps/cities/malangdo.txt | 84 - npc/re/warps/cities/malaya.txt | 168 - npc/re/warps/cities/rachel.txt | 141 - npc/re/warps/cities/yggdrasil.txt | 46 - npc/re/warps/dungeons/bra_dun.txt | 36 - npc/re/warps/dungeons/dic_dun.txt | 46 - npc/re/warps/dungeons/ecl_dun.txt | 45 - npc/re/warps/dungeons/iz_dun.txt | 83 - npc/re/warps/dungeons/moc_pryd.txt | 36 - npc/re/warps/fields/bif_fild.txt | 63 - npc/re/warps/fields/bra_fild.txt | 36 - npc/re/warps/fields/com_fild.txt | 70 - npc/re/warps/fields/dic_fild.txt | 41 - npc/re/warps/fields/geffen_fild.txt | 92 - npc/re/warps/fields/hugel_fild.txt | 72 - npc/re/warps/fields/morroc_fild.txt | 137 - npc/re/warps/fields/payon_fild.txt | 69 - npc/re/warps/fields/prontera_fild.txt | 149 - npc/re/warps/fields/rachel_fild.txt | 66 - npc/re/warps/fields/veins_fild.txt | 67 - npc/re/warps/fields/yuno_fild.txt | 109 - npc/re/warps/guildcastles.txt | 63 - npc/re/warps/other/arena.txt | 40 - npc/re/warps/other/dimensional_gap.txt | 79 - npc/re/warps/other/jobquests.txt | 61 - npc/re/warps/other/paradise.txt | 45 - npc/re/warps/other/s_workshop.txt | 51 - npc/re/warps/other/sign.txt | 56 - npc/re/woe-fe/invest_main.txt | 1847 -- npc/re/woe-fe/invest_npc.txt | 83 - npc/scripts.conf | 312 - npc/scripts_custom.conf | 138 - npc/scripts_dev.conf | 34 - npc/scripts_jobs.conf | 97 - npc/scripts_mapflags.conf | 60 - npc/scripts_monsters.conf | 35 - npc/scripts_removed.conf | 37 - npc/scripts_warps.conf | 115 - npc/scripts_woe.conf | 81 - npc/warps/cities/alberta.txt | 78 - npc/warps/cities/aldebaran.txt | 76 - npc/warps/cities/amatsu.txt | 64 - npc/warps/cities/ayothaya.txt | 77 - npc/warps/cities/comodo.txt | 66 - npc/warps/cities/einbech.txt | 58 - npc/warps/cities/einbroch.txt | 100 - npc/warps/cities/geffen.txt | 71 - npc/warps/cities/gonryun.txt | 53 - npc/warps/cities/hugel.txt | 135 - npc/warps/cities/lighthalzen.txt | 122 - npc/warps/cities/louyang.txt | 70 - npc/warps/cities/lutie.txt | 59 - npc/warps/cities/manuk.txt | 72 - npc/warps/cities/mid_camp.txt | 64 - npc/warps/cities/morroc.txt | 131 - npc/warps/cities/moscovia.txt | 63 - npc/warps/cities/nameless.txt | 43 - npc/warps/cities/niflheim.txt | 72 - npc/warps/cities/payon.txt | 153 - npc/warps/cities/prontera.txt | 125 - npc/warps/cities/splendide.txt | 74 - npc/warps/cities/umbala.txt | 58 - npc/warps/cities/veins.txt | 69 - npc/warps/cities/yuno.txt | 218 - npc/warps/dungeons/abbey.txt | 41 - npc/warps/dungeons/abyss.txt | 40 - npc/warps/dungeons/alde_dun.txt | 90 - npc/warps/dungeons/ama_dun.txt | 39 - npc/warps/dungeons/anthell.txt | 53 - npc/warps/dungeons/ayo_dun.txt | 43 - npc/warps/dungeons/beach_dun.txt | 43 - npc/warps/dungeons/c_tower.txt | 157 - npc/warps/dungeons/ein_dun.txt | 45 - npc/warps/dungeons/gef_dun.txt | 66 - npc/warps/dungeons/gon_dun.txt | 61 - npc/warps/dungeons/ice_dun.txt | 42 - npc/warps/dungeons/in_sphinx.txt | 57 - npc/warps/dungeons/iz_dun.txt | 50 - npc/warps/dungeons/juperos.txt | 50 - npc/warps/dungeons/kh_dun.txt | 56 - npc/warps/dungeons/lhz_dun.txt | 228 - npc/warps/dungeons/lou_dun.txt | 41 - npc/warps/dungeons/mag_dun.txt | 37 - npc/warps/dungeons/mjo_dun.txt | 41 - npc/warps/dungeons/moc_pryd.txt | 61 - npc/warps/dungeons/mosk_dun.txt | 307 - npc/warps/dungeons/odin.txt | 46 - npc/warps/dungeons/orcsdun.txt | 45 - npc/warps/dungeons/pay_dun.txt | 55 - npc/warps/dungeons/prt_maze.txt | 255 - npc/warps/dungeons/ra_san.txt | 60 - npc/warps/dungeons/tha_t.txt | 78 - npc/warps/dungeons/thor_v.txt | 41 - npc/warps/dungeons/treasure.txt | 68 - npc/warps/dungeons/tur_dun.txt | 43 - npc/warps/dungeons/um_dun.txt | 53 - npc/warps/dungeons/xmas_dun.txt | 39 - npc/warps/fields/abyss_warper.txt | 188 - npc/warps/fields/amatsu_fild.txt | 41 - npc/warps/fields/ein_fild.txt | 73 - npc/warps/fields/gefenia.txt | 50 - npc/warps/fields/glastheim.txt | 108 - npc/warps/fields/jawaii.txt | 45 - npc/warps/fields/lhalzen_fild.txt | 42 - npc/warps/fields/lutie_fild.txt | 38 - npc/warps/fields/man_fild.txt | 42 - npc/warps/fields/mtmjolnir.txt | 83 - npc/warps/fields/spl_fild.txt | 45 - npc/warps/fields/umbala_fild.txt | 51 - npc/warps/guildcastles.txt | 544 - npc/warps/other/airplane.txt | 92 - npc/warps/other/arena.txt | 115 - npc/warps/other/god.txt | 42 - npc/warps/other/jobquests.txt | 138 - npc/warps/other/kiel.txt | 108 - npc/warps/other/other.txt | 55 - npc/warps/pvp.txt | 193 - npc/woe-fe/agit_controller.txt | 90 - npc/woe-fe/agit_main.txt | 1348 -- npc/woe-fe/aldeg_cas01.txt | 153 - npc/woe-fe/aldeg_cas02.txt | 147 - npc/woe-fe/aldeg_cas03.txt | 150 - npc/woe-fe/aldeg_cas04.txt | 150 - npc/woe-fe/aldeg_cas05.txt | 149 - npc/woe-fe/gefg_cas01.txt | 141 - npc/woe-fe/gefg_cas02.txt | 142 - npc/woe-fe/gefg_cas03.txt | 145 - npc/woe-fe/gefg_cas04.txt | 141 - npc/woe-fe/gefg_cas05.txt | 141 - npc/woe-fe/payg_cas01.txt | 142 - npc/woe-fe/payg_cas02.txt | 143 - npc/woe-fe/payg_cas03.txt | 142 - npc/woe-fe/payg_cas04.txt | 143 - npc/woe-fe/payg_cas05.txt | 142 - npc/woe-fe/prtg_cas01.txt | 145 - npc/woe-fe/prtg_cas02.txt | 147 - npc/woe-fe/prtg_cas03.txt | 145 - npc/woe-fe/prtg_cas04.txt | 145 - npc/woe-fe/prtg_cas05.txt | 143 - npc/woe-fe/trs_rp.txt | 77 - npc/woe-se/agit_main_se.txt | 1869 -- npc/woe-se/agit_start_se.txt | 67 - npc/woe-se/arug_cas01.txt | 99 - npc/woe-se/arug_cas02.txt | 104 - npc/woe-se/arug_cas03.txt | 96 - npc/woe-se/arug_cas04.txt | 105 - npc/woe-se/arug_cas05.txt | 105 - npc/woe-se/guild_flags.txt | 125 - npc/woe-se/schg_cas01.txt | 96 - npc/woe-se/schg_cas02.txt | 88 - npc/woe-se/schg_cas03.txt | 96 - npc/woe-se/schg_cas04.txt | 96 - npc/woe-se/schg_cas05.txt | 98 - 929 files changed, 612381 deletions(-) delete mode 100644 npc/MOTD.txt delete mode 100644 npc/airports/airships.txt delete mode 100644 npc/airports/einbroch.txt delete mode 100644 npc/airports/hugel.txt delete mode 100644 npc/airports/izlude.txt delete mode 100644 npc/airports/lighthalzen.txt delete mode 100644 npc/airports/rachel.txt delete mode 100644 npc/airports/yuno.txt delete mode 100644 npc/battleground/bg_common.txt delete mode 100644 npc/battleground/flavius/flavius01.txt delete mode 100644 npc/battleground/flavius/flavius02.txt delete mode 100644 npc/battleground/flavius/flavius_enter.txt delete mode 100644 npc/battleground/kvm/kvm01.txt delete mode 100644 npc/battleground/kvm/kvm02.txt delete mode 100644 npc/battleground/kvm/kvm03.txt delete mode 100644 npc/battleground/kvm/kvm_enter.txt delete mode 100644 npc/battleground/kvm/kvm_item_pay.txt delete mode 100644 npc/battleground/tierra/tierra01.txt delete mode 100644 npc/battleground/tierra/tierra02.txt delete mode 100644 npc/battleground/tierra/tierra_enter.txt delete mode 100644 npc/cities/alberta.txt delete mode 100644 npc/cities/aldebaran.txt delete mode 100644 npc/cities/amatsu.txt delete mode 100644 npc/cities/ayothaya.txt delete mode 100644 npc/cities/comodo.txt delete mode 100644 npc/cities/einbech.txt delete mode 100644 npc/cities/einbroch.txt delete mode 100644 npc/cities/geffen.txt delete mode 100644 npc/cities/gonryun.txt delete mode 100644 npc/cities/hugel.txt delete mode 100644 npc/cities/izlude.txt delete mode 100644 npc/cities/jawaii.txt delete mode 100644 npc/cities/lighthalzen.txt delete mode 100644 npc/cities/louyang.txt delete mode 100644 npc/cities/lutie.txt delete mode 100644 npc/cities/manuk.txt delete mode 100644 npc/cities/morocc.txt delete mode 100644 npc/cities/moscovia.txt delete mode 100644 npc/cities/niflheim.txt delete mode 100644 npc/cities/payon.txt delete mode 100644 npc/cities/prontera.txt delete mode 100644 npc/cities/rachel.txt delete mode 100644 npc/cities/splendide.txt delete mode 100644 npc/cities/umbala.txt delete mode 100644 npc/cities/veins.txt delete mode 100644 npc/cities/yuno.txt delete mode 100644 npc/custom/bartershop.txt delete mode 100644 npc/custom/battleground/bg_common.txt delete mode 100644 npc/custom/battleground/bg_flavius_01.txt delete mode 100644 npc/custom/battleground/bg_flavius_02.txt delete mode 100644 npc/custom/battleground/bg_kvm01.txt delete mode 100644 npc/custom/battleground/bg_kvm02.txt delete mode 100644 npc/custom/battleground/bg_kvm03.txt delete mode 100644 npc/custom/battleground/bg_tierra_01.txt delete mode 100644 npc/custom/battleground/bg_tierra_02.txt delete mode 100644 npc/custom/bgqueue/flavius.txt delete mode 100644 npc/custom/breeder.txt delete mode 100644 npc/custom/card_remover.txt delete mode 100644 npc/custom/etc/airplane.txt delete mode 100644 npc/custom/etc/bank.txt delete mode 100644 npc/custom/etc/bank_kafra.txt delete mode 100644 npc/custom/etc/blackjack.txt delete mode 100644 npc/custom/etc/floating_rates.txt delete mode 100644 npc/custom/etc/lottery.txt delete mode 100644 npc/custom/etc/marriage.txt delete mode 100644 npc/custom/etc/monster_arena.txt delete mode 100644 npc/custom/etc/morroc_raceway.txt delete mode 100644 npc/custom/etc/mvp_arena.txt delete mode 100644 npc/custom/etc/penal_servitude.txt delete mode 100644 npc/custom/etc/quest_warper.txt delete mode 100644 npc/custom/etc/rpsroulette.txt delete mode 100644 npc/custom/etc/shifty_assassin.txt delete mode 100644 npc/custom/etc/stock_market.txt delete mode 100644 npc/custom/events/cluckers.txt delete mode 100644 npc/custom/events/disguise.txt delete mode 100644 npc/custom/events/hallow06.txt delete mode 100644 npc/custom/events/mushroom_event.txt delete mode 100644 npc/custom/events/uneasy_cemetery.txt delete mode 100644 npc/custom/events/valentinesdayexp.txt delete mode 100644 npc/custom/events/xmas_rings_event.txt delete mode 100644 npc/custom/healer.txt delete mode 100644 npc/custom/item_signer.txt delete mode 100644 npc/custom/itembind.txt delete mode 100644 npc/custom/itemmall.txt delete mode 100644 npc/custom/jobmaster.txt delete mode 100644 npc/custom/platinum_skills.txt delete mode 100644 npc/custom/quests/bandit_beard.txt delete mode 100644 npc/custom/quests/berzebub.txt delete mode 100644 npc/custom/quests/dead_branch.txt delete mode 100644 npc/custom/quests/elvenear.txt delete mode 100644 npc/custom/quests/event_6_new_hats.txt delete mode 100644 npc/custom/quests/hunting_missions.txt delete mode 100644 npc/custom/quests/jewel_case.txt delete mode 100644 npc/custom/quests/kaho_balmung.txt delete mode 100644 npc/custom/quests/kahohorn.txt delete mode 100644 npc/custom/quests/kings_items.txt delete mode 100644 npc/custom/quests/may_hats.txt delete mode 100644 npc/custom/quests/quest_shop.txt delete mode 100644 npc/custom/quests/questboard.txt delete mode 100644 npc/custom/quests/sphinx_mask.txt delete mode 100644 npc/custom/quests/sunglasses.txt delete mode 100644 npc/custom/quests/tha_statues.txt delete mode 100644 npc/custom/quests/thq/THQS_ChatingNPC.txt delete mode 100644 npc/custom/quests/thq/THQS_GuildNPC.txt delete mode 100644 npc/custom/quests/thq/THQS_QuestNPC.txt delete mode 100644 npc/custom/quests/thq/THQS_Quests.txt delete mode 100644 npc/custom/quests/thq/THQS_TTShop.txt delete mode 100644 npc/custom/quests/umbalian_language.txt delete mode 100644 npc/custom/quests/valhallen.txt delete mode 100644 npc/custom/resetnpc.txt delete mode 100644 npc/custom/stylist.txt delete mode 100644 npc/custom/warper.txt delete mode 100644 npc/custom/woe_controller.txt delete mode 100644 npc/dev/ci_test.txt delete mode 100644 npc/dev/test.txt delete mode 100644 npc/events/MemorialDay_2008.txt delete mode 100644 npc/events/RWC_2011.txt delete mode 100644 npc/events/RWC_2012.txt delete mode 100644 npc/events/StPatrick_2008.txt delete mode 100644 npc/events/bossnia.txt delete mode 100644 npc/events/children_week.txt delete mode 100644 npc/events/christmas_2005.txt delete mode 100644 npc/events/christmas_2008.txt delete mode 100644 npc/events/dumplingfestival.txt delete mode 100644 npc/events/easter_2008.txt delete mode 100644 npc/events/easter_2010.txt delete mode 100644 npc/events/event_skill_reset.txt delete mode 100644 npc/events/gdevent_aru.txt delete mode 100644 npc/events/gdevent_sch.txt delete mode 100644 npc/events/god_se_festival.txt delete mode 100644 npc/events/halloween_2006.txt delete mode 100644 npc/events/halloween_2008.txt delete mode 100644 npc/events/halloween_2009.txt delete mode 100644 npc/events/idul_fitri.txt delete mode 100644 npc/events/lunar_2008.txt delete mode 100644 npc/events/nguild/nguild_dunsw.txt delete mode 100644 npc/events/nguild/nguild_ev_agit.txt delete mode 100644 npc/events/nguild/nguild_flags.txt delete mode 100644 npc/events/nguild/nguild_guardians.txt delete mode 100644 npc/events/nguild/nguild_kafras.txt delete mode 100644 npc/events/nguild/nguild_managers.txt delete mode 100644 npc/events/nguild/nguild_treas.txt delete mode 100644 npc/events/nguild/nguild_warper.txt delete mode 100644 npc/events/twintowers.txt delete mode 100644 npc/events/valentinesday.txt delete mode 100644 npc/events/valentinesday_2009.txt delete mode 100644 npc/events/valentinesday_2012.txt delete mode 100644 npc/events/whiteday.txt delete mode 100644 npc/events/xmas.txt delete mode 100644 npc/instances/EndlessTower.txt delete mode 100644 npc/instances/NydhoggsNest.txt delete mode 100644 npc/instances/OrcsMemory.txt delete mode 100644 npc/instances/SealedShrine.txt delete mode 100644 npc/jobs/1-1e/gunslinger.txt delete mode 100644 npc/jobs/1-1e/ninja.txt delete mode 100644 npc/jobs/1-1e/taekwon.txt delete mode 100644 npc/jobs/2-1/assassin.txt delete mode 100644 npc/jobs/2-1/blacksmith.txt delete mode 100644 npc/jobs/2-1/hunter.txt delete mode 100644 npc/jobs/2-1/knight.txt delete mode 100644 npc/jobs/2-1/priest.txt delete mode 100644 npc/jobs/2-1/wizard.txt delete mode 100644 npc/jobs/2-1a/AssassinCross.txt delete mode 100644 npc/jobs/2-1a/HighPriest.txt delete mode 100644 npc/jobs/2-1a/HighWizard.txt delete mode 100644 npc/jobs/2-1a/LordKnight.txt delete mode 100644 npc/jobs/2-1a/Sniper.txt delete mode 100644 npc/jobs/2-1a/WhiteSmith.txt delete mode 100644 npc/jobs/2-1e/StarGladiator.txt delete mode 100644 npc/jobs/2-2/alchemist.txt delete mode 100644 npc/jobs/2-2/bard.txt delete mode 100644 npc/jobs/2-2/crusader.txt delete mode 100644 npc/jobs/2-2/dancer.txt delete mode 100644 npc/jobs/2-2/monk.txt delete mode 100644 npc/jobs/2-2/rogue.txt delete mode 100644 npc/jobs/2-2/sage.txt delete mode 100644 npc/jobs/2-2a/Champion.txt delete mode 100644 npc/jobs/2-2a/Clown.txt delete mode 100644 npc/jobs/2-2a/Creator.txt delete mode 100644 npc/jobs/2-2a/Gypsy.txt delete mode 100644 npc/jobs/2-2a/Paladin.txt delete mode 100644 npc/jobs/2-2a/Professor.txt delete mode 100644 npc/jobs/2-2a/Stalker.txt delete mode 100644 npc/jobs/2-2e/SoulLinker.txt delete mode 100644 npc/jobs/novice/supernovice.txt delete mode 100644 npc/jobs/valkyrie.txt delete mode 100644 npc/kafras/cool_event_corp.txt delete mode 100644 npc/kafras/dts_warper.txt delete mode 100644 npc/kafras/functions_kafras.txt delete mode 100644 npc/kafras/kafras.txt delete mode 100644 npc/mapflag/battleground.txt delete mode 100644 npc/mapflag/gvg.txt delete mode 100644 npc/mapflag/jail.txt delete mode 100644 npc/mapflag/night.txt delete mode 100644 npc/mapflag/nightmare.txt delete mode 100644 npc/mapflag/nobranch.txt delete mode 100644 npc/mapflag/noexp.txt delete mode 100644 npc/mapflag/noicewall.txt delete mode 100644 npc/mapflag/noloot.txt delete mode 100644 npc/mapflag/nomemo.txt delete mode 100644 npc/mapflag/nopenalty.txt delete mode 100644 npc/mapflag/nopvp.txt delete mode 100644 npc/mapflag/noreturn.txt delete mode 100644 npc/mapflag/nosave.txt delete mode 100644 npc/mapflag/noskill.txt delete mode 100644 npc/mapflag/noteleport.txt delete mode 100644 npc/mapflag/notomb.txt delete mode 100644 npc/mapflag/novending.txt delete mode 100644 npc/mapflag/nowarp.txt delete mode 100644 npc/mapflag/nowarpto.txt delete mode 100644 npc/mapflag/partylock.txt delete mode 100644 npc/mapflag/private_airship.txt delete mode 100644 npc/mapflag/pvp.txt delete mode 100644 npc/mapflag/pvp_noguild.txt delete mode 100644 npc/mapflag/pvp_noparty.txt delete mode 100644 npc/mapflag/reset.txt delete mode 100644 npc/mapflag/skillduration.txt delete mode 100644 npc/mapflag/skillmodifier.txt delete mode 100644 npc/mapflag/town.txt delete mode 100644 npc/mapflag/zone.txt delete mode 100644 npc/merchants/advanced_refiner.txt delete mode 100644 npc/merchants/alchemist.txt delete mode 100644 npc/merchants/ammo_boxes.txt delete mode 100644 npc/merchants/ammo_dealer.txt delete mode 100644 npc/merchants/buying_shops.txt delete mode 100644 npc/merchants/cash_hair.txt delete mode 100644 npc/merchants/cash_trader.txt delete mode 100644 npc/merchants/cashheadgear_dye.txt delete mode 100644 npc/merchants/clothes_dyer.txt delete mode 100644 npc/merchants/coin_exchange.txt delete mode 100644 npc/merchants/dye_maker.txt delete mode 100644 npc/merchants/elemental_trader.txt delete mode 100644 npc/merchants/enchan_arm.txt delete mode 100644 npc/merchants/gemstone.txt delete mode 100644 npc/merchants/hair_dyer.txt delete mode 100644 npc/merchants/hair_style.txt delete mode 100644 npc/merchants/hd_refine.txt delete mode 100644 npc/merchants/icecream.txt delete mode 100644 npc/merchants/inn.txt delete mode 100644 npc/merchants/kunai_maker.txt delete mode 100644 npc/merchants/milk_trader.txt delete mode 100644 npc/merchants/novice_exchange.txt delete mode 100644 npc/merchants/old_pharmacist.txt delete mode 100644 npc/merchants/quivers.txt delete mode 100644 npc/merchants/refine.txt delete mode 100644 npc/merchants/renters.txt delete mode 100644 npc/merchants/shops.txt delete mode 100644 npc/merchants/socket_enchant.txt delete mode 100644 npc/merchants/socket_enchant2.txt delete mode 100644 npc/merchants/wander_pet_food.txt delete mode 100644 npc/mobs/citycleaners.txt delete mode 100644 npc/mobs/jail.txt delete mode 100644 npc/mobs/pvp.txt delete mode 100644 npc/mobs/towns.txt delete mode 100644 npc/other/CashShop_Functions.txt delete mode 100644 npc/other/Global_Functions.txt delete mode 100644 npc/other/acolyte_warp.txt delete mode 100644 npc/other/arena/arena_aco.txt delete mode 100644 npc/other/arena/arena_lvl50.txt delete mode 100644 npc/other/arena/arena_lvl60.txt delete mode 100644 npc/other/arena/arena_lvl70.txt delete mode 100644 npc/other/arena/arena_lvl80.txt delete mode 100644 npc/other/arena/arena_party.txt delete mode 100644 npc/other/arena/arena_point.txt delete mode 100644 npc/other/arena/arena_room.txt delete mode 100644 npc/other/auction.txt delete mode 100644 npc/other/books.txt delete mode 100644 npc/other/bulletin_boards.txt delete mode 100644 npc/other/card_trader.txt delete mode 100644 npc/other/comodo_gambling.txt delete mode 100644 npc/other/divorce.txt delete mode 100644 npc/other/fortune.txt delete mode 100644 npc/other/gm_npcs.txt delete mode 100644 npc/other/guildpvp.txt delete mode 100644 npc/other/gympass.txt delete mode 100644 npc/other/hugel_bingo.txt delete mode 100644 npc/other/inventory_expansion.txt delete mode 100644 npc/other/item_merge.txt delete mode 100644 npc/other/mail.txt delete mode 100644 npc/other/marriage.txt delete mode 100644 npc/other/mercenary_rent.txt delete mode 100644 npc/other/monster_museum.txt delete mode 100644 npc/other/monster_race.txt delete mode 100644 npc/other/msg_boards.txt delete mode 100644 npc/other/poring_war.txt delete mode 100644 npc/other/powernpc.txt delete mode 100644 npc/other/private_airship.txt delete mode 100644 npc/other/pvp.txt delete mode 100644 npc/other/turbo_track.txt delete mode 100644 npc/pre-re/airports/izlude.txt delete mode 100644 npc/pre-re/cities/alberta.txt delete mode 100644 npc/pre-re/cities/izlude.txt delete mode 100644 npc/pre-re/cities/jawaii.txt delete mode 100644 npc/pre-re/cities/yuno.txt delete mode 100644 npc/pre-re/guides/guides_alberta.txt delete mode 100644 npc/pre-re/guides/guides_aldebaran.txt delete mode 100644 npc/pre-re/guides/guides_amatsu.txt delete mode 100644 npc/pre-re/guides/guides_ayothaya.txt delete mode 100644 npc/pre-re/guides/guides_comodo.txt delete mode 100644 npc/pre-re/guides/guides_einbroch.txt delete mode 100644 npc/pre-re/guides/guides_geffen.txt delete mode 100644 npc/pre-re/guides/guides_gonryun.txt delete mode 100644 npc/pre-re/guides/guides_hugel.txt delete mode 100644 npc/pre-re/guides/guides_izlude.txt delete mode 100644 npc/pre-re/guides/guides_juno.txt delete mode 100644 npc/pre-re/guides/guides_lighthalzen.txt delete mode 100644 npc/pre-re/guides/guides_louyang.txt delete mode 100644 npc/pre-re/guides/guides_morroc.txt delete mode 100644 npc/pre-re/guides/guides_moscovia.txt delete mode 100644 npc/pre-re/guides/guides_niflheim.txt delete mode 100644 npc/pre-re/guides/guides_payon.txt delete mode 100644 npc/pre-re/guides/guides_prontera.txt delete mode 100644 npc/pre-re/guides/guides_rachel.txt delete mode 100644 npc/pre-re/guides/guides_umbala.txt delete mode 100644 npc/pre-re/guides/guides_veins.txt delete mode 100644 npc/pre-re/jobs/1-1/acolyte.txt delete mode 100644 npc/pre-re/jobs/1-1/archer.txt delete mode 100644 npc/pre-re/jobs/1-1/mage.txt delete mode 100644 npc/pre-re/jobs/1-1/merchant.txt delete mode 100644 npc/pre-re/jobs/1-1/swordman.txt delete mode 100644 npc/pre-re/jobs/1-1/thief.txt delete mode 100644 npc/pre-re/jobs/1-1e/taekwon.txt delete mode 100644 npc/pre-re/jobs/novice/novice.txt delete mode 100644 npc/pre-re/kafras/kafras.txt delete mode 100644 npc/pre-re/mapflag/gvg.txt delete mode 100644 npc/pre-re/merchants/ammo_boxes.txt delete mode 100644 npc/pre-re/merchants/ammo_dealer.txt delete mode 100644 npc/pre-re/merchants/shops.txt delete mode 100644 npc/pre-re/mobs/citycleaners.txt delete mode 100644 npc/pre-re/mobs/dungeons/abbey.txt delete mode 100644 npc/pre-re/mobs/dungeons/abyss.txt delete mode 100644 npc/pre-re/mobs/dungeons/alde_dun.txt delete mode 100644 npc/pre-re/mobs/dungeons/ama_dun.txt delete mode 100644 npc/pre-re/mobs/dungeons/anthell.txt delete mode 100644 npc/pre-re/mobs/dungeons/ayo_dun.txt delete mode 100644 npc/pre-re/mobs/dungeons/beach_dun.txt delete mode 100644 npc/pre-re/mobs/dungeons/c_tower.txt delete mode 100644 npc/pre-re/mobs/dungeons/ein_dun.txt delete mode 100644 npc/pre-re/mobs/dungeons/gef_dun.txt delete mode 100644 npc/pre-re/mobs/dungeons/gefenia.txt delete mode 100644 npc/pre-re/mobs/dungeons/glastheim.txt delete mode 100644 npc/pre-re/mobs/dungeons/gld_dun.txt delete mode 100644 npc/pre-re/mobs/dungeons/gld_dunSE.txt delete mode 100644 npc/pre-re/mobs/dungeons/gon_dun.txt delete mode 100644 npc/pre-re/mobs/dungeons/ice_dun.txt delete mode 100644 npc/pre-re/mobs/dungeons/in_sphinx.txt delete mode 100644 npc/pre-re/mobs/dungeons/iz_dun.txt delete mode 100644 npc/pre-re/mobs/dungeons/juperos.txt delete mode 100644 npc/pre-re/mobs/dungeons/kh_dun.txt delete mode 100644 npc/pre-re/mobs/dungeons/lhz_dun.txt delete mode 100644 npc/pre-re/mobs/dungeons/lou_dun.txt delete mode 100644 npc/pre-re/mobs/dungeons/mag_dun.txt delete mode 100644 npc/pre-re/mobs/dungeons/mjo_dun.txt delete mode 100644 npc/pre-re/mobs/dungeons/moc_pryd.txt delete mode 100644 npc/pre-re/mobs/dungeons/mosk_dun.txt delete mode 100644 npc/pre-re/mobs/dungeons/nyd_dun.txt delete mode 100644 npc/pre-re/mobs/dungeons/odin.txt delete mode 100644 npc/pre-re/mobs/dungeons/orcsdun.txt delete mode 100644 npc/pre-re/mobs/dungeons/pay_dun.txt delete mode 100644 npc/pre-re/mobs/dungeons/prt_maze.txt delete mode 100644 npc/pre-re/mobs/dungeons/prt_sew.txt delete mode 100644 npc/pre-re/mobs/dungeons/ra_san.txt delete mode 100644 npc/pre-re/mobs/dungeons/tha_t.txt delete mode 100644 npc/pre-re/mobs/dungeons/thor_v.txt delete mode 100644 npc/pre-re/mobs/dungeons/treasure.txt delete mode 100644 npc/pre-re/mobs/dungeons/tur_dun.txt delete mode 100644 npc/pre-re/mobs/dungeons/um_dun.txt delete mode 100644 npc/pre-re/mobs/dungeons/xmas_dun.txt delete mode 100644 npc/pre-re/mobs/dungeons/yggdrasil.txt delete mode 100644 npc/pre-re/mobs/fields/amatsu.txt delete mode 100644 npc/pre-re/mobs/fields/ayothaya.txt delete mode 100644 npc/pre-re/mobs/fields/comodo.txt delete mode 100644 npc/pre-re/mobs/fields/einbroch.txt delete mode 100644 npc/pre-re/mobs/fields/geffen.txt delete mode 100644 npc/pre-re/mobs/fields/gonryun.txt delete mode 100644 npc/pre-re/mobs/fields/hugel.txt delete mode 100644 npc/pre-re/mobs/fields/lighthalzen.txt delete mode 100644 npc/pre-re/mobs/fields/louyang.txt delete mode 100644 npc/pre-re/mobs/fields/lutie.txt delete mode 100644 npc/pre-re/mobs/fields/manuk.txt delete mode 100644 npc/pre-re/mobs/fields/mjolnir.txt delete mode 100644 npc/pre-re/mobs/fields/morocc.txt delete mode 100644 npc/pre-re/mobs/fields/moscovia.txt delete mode 100644 npc/pre-re/mobs/fields/niflheim.txt delete mode 100644 npc/pre-re/mobs/fields/payon.txt delete mode 100644 npc/pre-re/mobs/fields/prontera.txt delete mode 100644 npc/pre-re/mobs/fields/rachel.txt delete mode 100644 npc/pre-re/mobs/fields/splendide.txt delete mode 100644 npc/pre-re/mobs/fields/umbala.txt delete mode 100644 npc/pre-re/mobs/fields/veins.txt delete mode 100644 npc/pre-re/mobs/fields/yuno.txt delete mode 100644 npc/pre-re/other/bulletin_boards.txt delete mode 100644 npc/pre-re/other/mercenary_rent.txt delete mode 100644 npc/pre-re/other/msg_boards.txt delete mode 100644 npc/pre-re/other/pvp.txt delete mode 100644 npc/pre-re/other/resetskill.txt delete mode 100644 npc/pre-re/other/turbo_track.txt delete mode 100644 npc/pre-re/quests/collection/quest_alligator.txt delete mode 100644 npc/pre-re/quests/collection/quest_caramel.txt delete mode 100644 npc/pre-re/quests/collection/quest_coco.txt delete mode 100644 npc/pre-re/quests/collection/quest_creamy.txt delete mode 100644 npc/pre-re/quests/collection/quest_demonpungus.txt delete mode 100644 npc/pre-re/quests/collection/quest_disguiseloliruri.txt delete mode 100644 npc/pre-re/quests/collection/quest_dokebi.txt delete mode 100644 npc/pre-re/quests/collection/quest_dryad.txt delete mode 100644 npc/pre-re/quests/collection/quest_fabre.txt delete mode 100644 npc/pre-re/quests/collection/quest_frilldora.txt delete mode 100644 npc/pre-re/quests/collection/quest_goat.txt delete mode 100644 npc/pre-re/quests/collection/quest_golem.txt delete mode 100644 npc/pre-re/quests/collection/quest_hode.txt delete mode 100644 npc/pre-re/quests/collection/quest_leafcat.txt delete mode 100644 npc/pre-re/quests/collection/quest_mantis.txt delete mode 100644 npc/pre-re/quests/collection/quest_pecopeco.txt delete mode 100644 npc/pre-re/quests/collection/quest_pupa.txt delete mode 100644 npc/pre-re/quests/collection/quest_zhupolong.txt delete mode 100644 npc/pre-re/quests/first_class/tu_archer.txt delete mode 100644 npc/pre-re/quests/monstertamers.txt delete mode 100644 npc/pre-re/quests/mrsmile.txt delete mode 100644 npc/pre-re/quests/quests_13_1.txt delete mode 100644 npc/pre-re/quests/quests_izlude.txt delete mode 100644 npc/pre-re/quests/quests_lighthalzen.txt delete mode 100644 npc/pre-re/quests/quests_nameless.txt delete mode 100644 npc/pre-re/quests/quests_veins.txt delete mode 100644 npc/pre-re/quests/skills/novice_skills.txt delete mode 100644 npc/pre-re/scripts.conf delete mode 100644 npc/pre-re/scripts_jobs.conf delete mode 100644 npc/pre-re/scripts_main.conf delete mode 100644 npc/pre-re/scripts_mapflags.conf delete mode 100644 npc/pre-re/scripts_monsters.conf delete mode 100644 npc/pre-re/scripts_warps.conf delete mode 100644 npc/pre-re/warps/cities/izlude.txt delete mode 100644 npc/pre-re/warps/cities/rachel.txt delete mode 100644 npc/pre-re/warps/cities/yggdrasil.txt delete mode 100644 npc/pre-re/warps/fields/com_fild.txt delete mode 100644 npc/pre-re/warps/fields/geffen_fild.txt delete mode 100644 npc/pre-re/warps/fields/hugel_fild.txt delete mode 100644 npc/pre-re/warps/fields/morroc_fild.txt delete mode 100644 npc/pre-re/warps/fields/payon_fild.txt delete mode 100644 npc/pre-re/warps/fields/prontera_fild.txt delete mode 100644 npc/pre-re/warps/fields/rachel_fild.txt delete mode 100644 npc/pre-re/warps/fields/veins_fild.txt delete mode 100644 npc/pre-re/warps/fields/yuno_fild.txt delete mode 100644 npc/pre-re/warps/other/arena.txt delete mode 100644 npc/pre-re/warps/other/sign.txt delete mode 100644 npc/quests/bard_quest.txt delete mode 100644 npc/quests/bunnyband.txt delete mode 100644 npc/quests/cooking_quest.txt delete mode 100644 npc/quests/counteragent_mixture.txt delete mode 100644 npc/quests/dandelion_request.txt delete mode 100644 npc/quests/doomed_swords.txt delete mode 100644 npc/quests/doomed_swords_quest.txt delete mode 100644 npc/quests/eye_of_hellion.txt delete mode 100644 npc/quests/first_class/tu_acolyte.txt delete mode 100644 npc/quests/first_class/tu_archer.txt delete mode 100644 npc/quests/first_class/tu_ma_th01.txt delete mode 100644 npc/quests/first_class/tu_magician01.txt delete mode 100644 npc/quests/first_class/tu_merchant.txt delete mode 100644 npc/quests/first_class/tu_sword.txt delete mode 100644 npc/quests/first_class/tu_thief01.txt delete mode 100644 npc/quests/guildrelay.txt delete mode 100644 npc/quests/gunslinger_quests.txt delete mode 100644 npc/quests/juice_maker.txt delete mode 100644 npc/quests/kiel_hyre_quest.txt delete mode 100644 npc/quests/lvl4_weapon_quest.txt delete mode 100644 npc/quests/mage_solution.txt delete mode 100644 npc/quests/monstertamers.txt delete mode 100644 npc/quests/mrsmile.txt delete mode 100644 npc/quests/newgears/2004_headgears.txt delete mode 100644 npc/quests/newgears/2005_headgears.txt delete mode 100644 npc/quests/newgears/2006_headgears.txt delete mode 100644 npc/quests/newgears/2008_headgears.txt delete mode 100644 npc/quests/newgears/2010_headgears.txt delete mode 100644 npc/quests/ninja_quests.txt delete mode 100644 npc/quests/obb_quest.txt delete mode 100644 npc/quests/okolnir.txt delete mode 100644 npc/quests/partyrelay.txt delete mode 100644 npc/quests/quests_13_1.txt delete mode 100644 npc/quests/quests_13_2.txt delete mode 100644 npc/quests/quests_airship.txt delete mode 100644 npc/quests/quests_alberta.txt delete mode 100644 npc/quests/quests_aldebaran.txt delete mode 100644 npc/quests/quests_amatsu.txt delete mode 100644 npc/quests/quests_ayothaya.txt delete mode 100644 npc/quests/quests_comodo.txt delete mode 100644 npc/quests/quests_ein.txt delete mode 100644 npc/quests/quests_geffen.txt delete mode 100644 npc/quests/quests_gonryun.txt delete mode 100644 npc/quests/quests_hugel.txt delete mode 100644 npc/quests/quests_izlude.txt delete mode 100644 npc/quests/quests_juperos.txt delete mode 100644 npc/quests/quests_lighthalzen.txt delete mode 100644 npc/quests/quests_louyang.txt delete mode 100644 npc/quests/quests_lutie.txt delete mode 100644 npc/quests/quests_morocc.txt delete mode 100644 npc/quests/quests_moscovia.txt delete mode 100644 npc/quests/quests_nameless.txt delete mode 100644 npc/quests/quests_niflheim.txt delete mode 100644 npc/quests/quests_payon.txt delete mode 100644 npc/quests/quests_prontera.txt delete mode 100644 npc/quests/quests_rachel.txt delete mode 100644 npc/quests/quests_umbala.txt delete mode 100644 npc/quests/quests_veins.txt delete mode 100644 npc/quests/quests_yuno.txt delete mode 100644 npc/quests/seals/brisingamen_seal.txt delete mode 100644 npc/quests/seals/god_global.txt delete mode 100644 npc/quests/seals/god_weapon_creation.txt delete mode 100644 npc/quests/seals/megingard_seal.txt delete mode 100644 npc/quests/seals/mjolnir_seal.txt delete mode 100644 npc/quests/seals/seal_status.txt delete mode 100644 npc/quests/seals/sleipnir_seal.txt delete mode 100644 npc/quests/skills/acolyte_skills.txt delete mode 100644 npc/quests/skills/alchemist_skills.txt delete mode 100644 npc/quests/skills/archer_skills.txt delete mode 100644 npc/quests/skills/assassin_skills.txt delete mode 100644 npc/quests/skills/bard_skills.txt delete mode 100644 npc/quests/skills/blacksmith_skills.txt delete mode 100644 npc/quests/skills/crusader_skills.txt delete mode 100644 npc/quests/skills/dancer_skills.txt delete mode 100644 npc/quests/skills/hunter_skills.txt delete mode 100644 npc/quests/skills/knight_skills.txt delete mode 100644 npc/quests/skills/mage_skills.txt delete mode 100644 npc/quests/skills/merchant_skills.txt delete mode 100644 npc/quests/skills/monk_skills.txt delete mode 100644 npc/quests/skills/priest_skills.txt delete mode 100644 npc/quests/skills/rogue_skills.txt delete mode 100644 npc/quests/skills/sage_skills.txt delete mode 100644 npc/quests/skills/swordman_skills.txt delete mode 100644 npc/quests/skills/thief_skills.txt delete mode 100644 npc/quests/skills/wizard_skills.txt delete mode 100644 npc/quests/thana_quest.txt delete mode 100644 npc/quests/the_sign_quest.txt delete mode 100644 npc/re/airports/izlude.txt delete mode 100644 npc/re/battleground/bg_common.txt delete mode 100644 npc/re/cities/alberta.txt delete mode 100644 npc/re/cities/brasilis.txt delete mode 100644 npc/re/cities/dewata.txt delete mode 100644 npc/re/cities/dicastes.txt delete mode 100644 npc/re/cities/eclage.txt delete mode 100644 npc/re/cities/izlude.txt delete mode 100644 npc/re/cities/jawaii.txt delete mode 100644 npc/re/cities/malangdo.txt delete mode 100644 npc/re/cities/malaya.txt delete mode 100644 npc/re/cities/mora.txt delete mode 100644 npc/re/cities/yuno.txt delete mode 100644 npc/re/events/christmas_2013.txt delete mode 100644 npc/re/events/halloween_2013.txt delete mode 100644 npc/re/events/halloween_2014.txt delete mode 100644 npc/re/guides/guides_alberta.txt delete mode 100644 npc/re/guides/guides_aldebaran.txt delete mode 100644 npc/re/guides/guides_amatsu.txt delete mode 100644 npc/re/guides/guides_ayothaya.txt delete mode 100644 npc/re/guides/guides_brasilis.txt delete mode 100644 npc/re/guides/guides_comodo.txt delete mode 100644 npc/re/guides/guides_dewata.txt delete mode 100644 npc/re/guides/guides_dicastes.txt delete mode 100644 npc/re/guides/guides_eclage.txt delete mode 100644 npc/re/guides/guides_einbroch.txt delete mode 100644 npc/re/guides/guides_geffen.txt delete mode 100644 npc/re/guides/guides_gonryun.txt delete mode 100644 npc/re/guides/guides_hugel.txt delete mode 100644 npc/re/guides/guides_izlude.txt delete mode 100644 npc/re/guides/guides_juno.txt delete mode 100644 npc/re/guides/guides_lighthalzen.txt delete mode 100644 npc/re/guides/guides_louyang.txt delete mode 100644 npc/re/guides/guides_lutie.txt delete mode 100644 npc/re/guides/guides_malaya.txt delete mode 100644 npc/re/guides/guides_mora.txt delete mode 100644 npc/re/guides/guides_morroc.txt delete mode 100644 npc/re/guides/guides_moscovia.txt delete mode 100644 npc/re/guides/guides_niflheim.txt delete mode 100644 npc/re/guides/guides_payon.txt delete mode 100644 npc/re/guides/guides_prontera.txt delete mode 100644 npc/re/guides/guides_rachel.txt delete mode 100644 npc/re/guides/guides_umbala.txt delete mode 100644 npc/re/guides/guides_veins.txt delete mode 100644 npc/re/guides/navigation.txt delete mode 100644 npc/re/instances/BakonawaLake.txt delete mode 100644 npc/re/instances/BangungotHospital.txt delete mode 100644 npc/re/instances/BuwayaCave.txt delete mode 100644 npc/re/instances/EclageInterior.txt delete mode 100644 npc/re/instances/HazyForest.txt delete mode 100644 npc/re/instances/MalangdoCulvert.txt delete mode 100644 npc/re/instances/OldGlastHeim.txt delete mode 100644 npc/re/instances/WolfchevLaboratory.txt delete mode 100644 npc/re/instances/ghost_palace.txt delete mode 100644 npc/re/instances/octopus_cave.txt delete mode 100644 npc/re/instances/saras_memory.txt delete mode 100644 npc/re/jobs/1-1/acolyte.txt delete mode 100644 npc/re/jobs/1-1/archer.txt delete mode 100644 npc/re/jobs/1-1/mage.txt delete mode 100644 npc/re/jobs/1-1/merchant.txt delete mode 100644 npc/re/jobs/1-1/swordman.txt delete mode 100644 npc/re/jobs/1-1/thief.txt delete mode 100644 npc/re/jobs/1-1e/taekwon.txt delete mode 100644 npc/re/jobs/2e/kagerou_oboro.txt delete mode 100644 npc/re/jobs/3-1/archbishop.txt delete mode 100644 npc/re/jobs/3-1/guillotine_cross.txt delete mode 100644 npc/re/jobs/3-1/mechanic.txt delete mode 100644 npc/re/jobs/3-1/ranger.txt delete mode 100644 npc/re/jobs/3-1/rune_knight.txt delete mode 100644 npc/re/jobs/3-1/warlock.txt delete mode 100644 npc/re/jobs/3-2/genetic.txt delete mode 100644 npc/re/jobs/3-2/minstrel.txt delete mode 100644 npc/re/jobs/3-2/royal_guard.txt delete mode 100644 npc/re/jobs/3-2/shadow_chaser.txt delete mode 100644 npc/re/jobs/3-2/sorcerer.txt delete mode 100644 npc/re/jobs/3-2/sura.txt delete mode 100644 npc/re/jobs/3-2/wanderer.txt delete mode 100644 npc/re/jobs/novice/academy.txt delete mode 100644 npc/re/jobs/novice/novice.txt delete mode 100644 npc/re/jobs/novice/supernovice_ex.txt delete mode 100644 npc/re/jobs/repair.txt delete mode 100644 npc/re/kafras/kafras.txt delete mode 100644 npc/re/mapflag/gvg.txt delete mode 100644 npc/re/mapflag/zone.txt delete mode 100644 npc/re/merchants/3rd_trader.txt delete mode 100644 npc/re/merchants/advanced_refiner.txt delete mode 100644 npc/re/merchants/alchemist.txt delete mode 100644 npc/re/merchants/ammo_boxes.txt delete mode 100644 npc/re/merchants/ammo_dealer.txt delete mode 100644 npc/re/merchants/blessed_refiner.txt delete mode 100644 npc/re/merchants/card_separation.txt delete mode 100644 npc/re/merchants/catalog.txt delete mode 100644 npc/re/merchants/coin_exchange.txt delete mode 100644 npc/re/merchants/diamond.txt delete mode 100644 npc/re/merchants/enchan_ko.txt delete mode 100644 npc/re/merchants/enchan_mal.txt delete mode 100644 npc/re/merchants/enchan_mora.txt delete mode 100644 npc/re/merchants/enchan_upg.txt delete mode 100644 npc/re/merchants/flute.txt delete mode 100644 npc/re/merchants/hd_refiner.txt delete mode 100644 npc/re/merchants/inn.txt delete mode 100644 npc/re/merchants/ninja_craftsman.txt delete mode 100644 npc/re/merchants/quivers.txt delete mode 100644 npc/re/merchants/refine.txt delete mode 100644 npc/re/merchants/renters.txt delete mode 100644 npc/re/merchants/shadow_refiner.txt delete mode 100644 npc/re/merchants/shops.txt delete mode 100644 npc/re/merchants/ticket_refiner.txt delete mode 100644 npc/re/mobs/champion.txt delete mode 100644 npc/re/mobs/citycleaners.txt delete mode 100644 npc/re/mobs/dungeons/abbey.txt delete mode 100644 npc/re/mobs/dungeons/abyss.txt delete mode 100644 npc/re/mobs/dungeons/alde_dun.txt delete mode 100644 npc/re/mobs/dungeons/ama_dun.txt delete mode 100644 npc/re/mobs/dungeons/anthell.txt delete mode 100644 npc/re/mobs/dungeons/ayo_dun.txt delete mode 100644 npc/re/mobs/dungeons/beach_dun.txt delete mode 100644 npc/re/mobs/dungeons/bra_dun.txt delete mode 100644 npc/re/mobs/dungeons/c_tower.txt delete mode 100644 npc/re/mobs/dungeons/dew_dun.txt delete mode 100644 npc/re/mobs/dungeons/dic_dun.txt delete mode 100644 npc/re/mobs/dungeons/ecl_tdun.txt delete mode 100644 npc/re/mobs/dungeons/ein_dun.txt delete mode 100644 npc/re/mobs/dungeons/gef_dun.txt delete mode 100644 npc/re/mobs/dungeons/gefenia.txt delete mode 100644 npc/re/mobs/dungeons/glastheim.txt delete mode 100644 npc/re/mobs/dungeons/gld_dunSE.txt delete mode 100644 npc/re/mobs/dungeons/gld_re.txt delete mode 100644 npc/re/mobs/dungeons/gon_dun.txt delete mode 100644 npc/re/mobs/dungeons/ice_dun.txt delete mode 100644 npc/re/mobs/dungeons/in_sphinx.txt delete mode 100644 npc/re/mobs/dungeons/iz_dun.txt delete mode 100644 npc/re/mobs/dungeons/juperos.txt delete mode 100644 npc/re/mobs/dungeons/kh_dun.txt delete mode 100644 npc/re/mobs/dungeons/lhz_dun.txt delete mode 100644 npc/re/mobs/dungeons/lou_dun.txt delete mode 100644 npc/re/mobs/dungeons/ma_dun.txt delete mode 100644 npc/re/mobs/dungeons/mag_dun.txt delete mode 100644 npc/re/mobs/dungeons/mal_dun.txt delete mode 100644 npc/re/mobs/dungeons/mjo_dun.txt delete mode 100644 npc/re/mobs/dungeons/moc_pryd.txt delete mode 100644 npc/re/mobs/dungeons/mosk_dun.txt delete mode 100644 npc/re/mobs/dungeons/nyd_dun.txt delete mode 100644 npc/re/mobs/dungeons/odin.txt delete mode 100644 npc/re/mobs/dungeons/orcsdun.txt delete mode 100644 npc/re/mobs/dungeons/pay_dun.txt delete mode 100644 npc/re/mobs/dungeons/prt_maze.txt delete mode 100644 npc/re/mobs/dungeons/prt_sew.txt delete mode 100644 npc/re/mobs/dungeons/ra_san.txt delete mode 100644 npc/re/mobs/dungeons/tha_t.txt delete mode 100644 npc/re/mobs/dungeons/thor_v.txt delete mode 100644 npc/re/mobs/dungeons/treasure.txt delete mode 100644 npc/re/mobs/dungeons/tur_dun.txt delete mode 100644 npc/re/mobs/dungeons/xmas_dun.txt delete mode 100644 npc/re/mobs/dungeons/yggdrasil.txt delete mode 100644 npc/re/mobs/fields/amatsu.txt delete mode 100644 npc/re/mobs/fields/ayothaya.txt delete mode 100644 npc/re/mobs/fields/bifrost.txt delete mode 100644 npc/re/mobs/fields/brasilis.txt delete mode 100644 npc/re/mobs/fields/comodo.txt delete mode 100644 npc/re/mobs/fields/dewata.txt delete mode 100644 npc/re/mobs/fields/dicastes.txt delete mode 100644 npc/re/mobs/fields/eclage.txt delete mode 100644 npc/re/mobs/fields/einbroch.txt delete mode 100644 npc/re/mobs/fields/geffen.txt delete mode 100644 npc/re/mobs/fields/gonryun.txt delete mode 100644 npc/re/mobs/fields/hugel.txt delete mode 100644 npc/re/mobs/fields/lighthalzen.txt delete mode 100644 npc/re/mobs/fields/louyang.txt delete mode 100644 npc/re/mobs/fields/lutie.txt delete mode 100644 npc/re/mobs/fields/malaya.txt delete mode 100644 npc/re/mobs/fields/manuk.txt delete mode 100644 npc/re/mobs/fields/mjolnir.txt delete mode 100644 npc/re/mobs/fields/morocc.txt delete mode 100644 npc/re/mobs/fields/moscovia.txt delete mode 100644 npc/re/mobs/fields/niflheim.txt delete mode 100644 npc/re/mobs/fields/payon.txt delete mode 100644 npc/re/mobs/fields/prontera.txt delete mode 100644 npc/re/mobs/fields/rachel.txt delete mode 100644 npc/re/mobs/fields/splendide.txt delete mode 100644 npc/re/mobs/fields/umbala.txt delete mode 100644 npc/re/mobs/fields/veins.txt delete mode 100644 npc/re/mobs/fields/yuno.txt delete mode 100644 npc/re/mobs/int_land.txt delete mode 100644 npc/re/mobs/towns.txt delete mode 100644 npc/re/other/bulletin_boards.txt delete mode 100644 npc/re/other/clans.txt delete mode 100644 npc/re/other/dimensional_gap.txt delete mode 100644 npc/re/other/mail.txt delete mode 100644 npc/re/other/mercenary_rent.txt delete mode 100644 npc/re/other/pvp.txt delete mode 100644 npc/re/other/resetskill.txt delete mode 100644 npc/re/other/stone_change.txt delete mode 100644 npc/re/other/turbo_track.txt delete mode 100644 npc/re/quests/cupet.txt delete mode 100644 npc/re/quests/eden/100-110.txt delete mode 100644 npc/re/quests/eden/11-25.txt delete mode 100644 npc/re/quests/eden/111-120.txt delete mode 100644 npc/re/quests/eden/121-130.txt delete mode 100644 npc/re/quests/eden/131-140.txt delete mode 100644 npc/re/quests/eden/26-40.txt delete mode 100644 npc/re/quests/eden/41-55.txt delete mode 100644 npc/re/quests/eden/56-70.txt delete mode 100644 npc/re/quests/eden/71-85.txt delete mode 100644 npc/re/quests/eden/86-90.txt delete mode 100644 npc/re/quests/eden/91-99.txt delete mode 100644 npc/re/quests/eden/eden_common.txt delete mode 100644 npc/re/quests/eden/eden_iro.txt delete mode 100644 npc/re/quests/eden/eden_quests.txt delete mode 100644 npc/re/quests/eden/eden_service.txt delete mode 100644 npc/re/quests/eden/eden_tutorial.txt delete mode 100644 npc/re/quests/first_class/tu_archer.txt delete mode 100644 npc/re/quests/homun_s.txt delete mode 100644 npc/re/quests/magic_books.txt delete mode 100644 npc/re/quests/monstertamers.txt delete mode 100644 npc/re/quests/mrsmile.txt delete mode 100644 npc/re/quests/newgears/2012_headgears.txt delete mode 100644 npc/re/quests/pile_bunker.txt delete mode 100644 npc/re/quests/quests_13_1.txt delete mode 100644 npc/re/quests/quests_aldebaran.txt delete mode 100644 npc/re/quests/quests_brasilis.txt delete mode 100644 npc/re/quests/quests_dewata.txt delete mode 100644 npc/re/quests/quests_dicastes.txt delete mode 100644 npc/re/quests/quests_eclage.txt delete mode 100644 npc/re/quests/quests_glastheim.txt delete mode 100644 npc/re/quests/quests_izlude.txt delete mode 100644 npc/re/quests/quests_lighthalzen.txt delete mode 100644 npc/re/quests/quests_malangdo.txt delete mode 100644 npc/re/quests/quests_malaya.txt delete mode 100644 npc/re/quests/quests_mora.txt delete mode 100644 npc/re/quests/quests_morocc.txt delete mode 100644 npc/re/quests/quests_nameless.txt delete mode 100644 npc/re/quests/quests_veins.txt delete mode 100644 npc/re/scripts.conf delete mode 100644 npc/re/scripts_jobs.conf delete mode 100644 npc/re/scripts_main.conf delete mode 100644 npc/re/scripts_mapflags.conf delete mode 100644 npc/re/scripts_monsters.conf delete mode 100644 npc/re/scripts_warps.conf delete mode 100644 npc/re/scripts_woe.conf delete mode 100644 npc/re/warps/cities/brasilis.txt delete mode 100644 npc/re/warps/cities/dewata.txt delete mode 100644 npc/re/warps/cities/dicastes.txt delete mode 100644 npc/re/warps/cities/eclage.txt delete mode 100644 npc/re/warps/cities/izlude.txt delete mode 100644 npc/re/warps/cities/malangdo.txt delete mode 100644 npc/re/warps/cities/malaya.txt delete mode 100644 npc/re/warps/cities/rachel.txt delete mode 100644 npc/re/warps/cities/yggdrasil.txt delete mode 100644 npc/re/warps/dungeons/bra_dun.txt delete mode 100644 npc/re/warps/dungeons/dic_dun.txt delete mode 100644 npc/re/warps/dungeons/ecl_dun.txt delete mode 100644 npc/re/warps/dungeons/iz_dun.txt delete mode 100644 npc/re/warps/dungeons/moc_pryd.txt delete mode 100644 npc/re/warps/fields/bif_fild.txt delete mode 100644 npc/re/warps/fields/bra_fild.txt delete mode 100644 npc/re/warps/fields/com_fild.txt delete mode 100644 npc/re/warps/fields/dic_fild.txt delete mode 100644 npc/re/warps/fields/geffen_fild.txt delete mode 100644 npc/re/warps/fields/hugel_fild.txt delete mode 100644 npc/re/warps/fields/morroc_fild.txt delete mode 100644 npc/re/warps/fields/payon_fild.txt delete mode 100644 npc/re/warps/fields/prontera_fild.txt delete mode 100644 npc/re/warps/fields/rachel_fild.txt delete mode 100644 npc/re/warps/fields/veins_fild.txt delete mode 100644 npc/re/warps/fields/yuno_fild.txt delete mode 100644 npc/re/warps/guildcastles.txt delete mode 100644 npc/re/warps/other/arena.txt delete mode 100644 npc/re/warps/other/dimensional_gap.txt delete mode 100644 npc/re/warps/other/jobquests.txt delete mode 100644 npc/re/warps/other/paradise.txt delete mode 100644 npc/re/warps/other/s_workshop.txt delete mode 100644 npc/re/warps/other/sign.txt delete mode 100644 npc/re/woe-fe/invest_main.txt delete mode 100644 npc/re/woe-fe/invest_npc.txt delete mode 100644 npc/scripts.conf delete mode 100644 npc/scripts_custom.conf delete mode 100644 npc/scripts_dev.conf delete mode 100644 npc/scripts_jobs.conf delete mode 100644 npc/scripts_mapflags.conf delete mode 100644 npc/scripts_monsters.conf delete mode 100644 npc/scripts_removed.conf delete mode 100644 npc/scripts_warps.conf delete mode 100644 npc/scripts_woe.conf delete mode 100644 npc/warps/cities/alberta.txt delete mode 100644 npc/warps/cities/aldebaran.txt delete mode 100644 npc/warps/cities/amatsu.txt delete mode 100644 npc/warps/cities/ayothaya.txt delete mode 100644 npc/warps/cities/comodo.txt delete mode 100644 npc/warps/cities/einbech.txt delete mode 100644 npc/warps/cities/einbroch.txt delete mode 100644 npc/warps/cities/geffen.txt delete mode 100644 npc/warps/cities/gonryun.txt delete mode 100644 npc/warps/cities/hugel.txt delete mode 100644 npc/warps/cities/lighthalzen.txt delete mode 100644 npc/warps/cities/louyang.txt delete mode 100644 npc/warps/cities/lutie.txt delete mode 100644 npc/warps/cities/manuk.txt delete mode 100644 npc/warps/cities/mid_camp.txt delete mode 100644 npc/warps/cities/morroc.txt delete mode 100644 npc/warps/cities/moscovia.txt delete mode 100644 npc/warps/cities/nameless.txt delete mode 100644 npc/warps/cities/niflheim.txt delete mode 100644 npc/warps/cities/payon.txt delete mode 100644 npc/warps/cities/prontera.txt delete mode 100644 npc/warps/cities/splendide.txt delete mode 100644 npc/warps/cities/umbala.txt delete mode 100644 npc/warps/cities/veins.txt delete mode 100644 npc/warps/cities/yuno.txt delete mode 100644 npc/warps/dungeons/abbey.txt delete mode 100644 npc/warps/dungeons/abyss.txt delete mode 100644 npc/warps/dungeons/alde_dun.txt delete mode 100644 npc/warps/dungeons/ama_dun.txt delete mode 100644 npc/warps/dungeons/anthell.txt delete mode 100644 npc/warps/dungeons/ayo_dun.txt delete mode 100644 npc/warps/dungeons/beach_dun.txt delete mode 100644 npc/warps/dungeons/c_tower.txt delete mode 100644 npc/warps/dungeons/ein_dun.txt delete mode 100644 npc/warps/dungeons/gef_dun.txt delete mode 100644 npc/warps/dungeons/gon_dun.txt delete mode 100644 npc/warps/dungeons/ice_dun.txt delete mode 100644 npc/warps/dungeons/in_sphinx.txt delete mode 100644 npc/warps/dungeons/iz_dun.txt delete mode 100644 npc/warps/dungeons/juperos.txt delete mode 100644 npc/warps/dungeons/kh_dun.txt delete mode 100644 npc/warps/dungeons/lhz_dun.txt delete mode 100644 npc/warps/dungeons/lou_dun.txt delete mode 100644 npc/warps/dungeons/mag_dun.txt delete mode 100644 npc/warps/dungeons/mjo_dun.txt delete mode 100644 npc/warps/dungeons/moc_pryd.txt delete mode 100644 npc/warps/dungeons/mosk_dun.txt delete mode 100644 npc/warps/dungeons/odin.txt delete mode 100644 npc/warps/dungeons/orcsdun.txt delete mode 100644 npc/warps/dungeons/pay_dun.txt delete mode 100644 npc/warps/dungeons/prt_maze.txt delete mode 100644 npc/warps/dungeons/ra_san.txt delete mode 100644 npc/warps/dungeons/tha_t.txt delete mode 100644 npc/warps/dungeons/thor_v.txt delete mode 100644 npc/warps/dungeons/treasure.txt delete mode 100644 npc/warps/dungeons/tur_dun.txt delete mode 100644 npc/warps/dungeons/um_dun.txt delete mode 100644 npc/warps/dungeons/xmas_dun.txt delete mode 100644 npc/warps/fields/abyss_warper.txt delete mode 100644 npc/warps/fields/amatsu_fild.txt delete mode 100644 npc/warps/fields/ein_fild.txt delete mode 100644 npc/warps/fields/gefenia.txt delete mode 100644 npc/warps/fields/glastheim.txt delete mode 100644 npc/warps/fields/jawaii.txt delete mode 100644 npc/warps/fields/lhalzen_fild.txt delete mode 100644 npc/warps/fields/lutie_fild.txt delete mode 100644 npc/warps/fields/man_fild.txt delete mode 100644 npc/warps/fields/mtmjolnir.txt delete mode 100644 npc/warps/fields/spl_fild.txt delete mode 100644 npc/warps/fields/umbala_fild.txt delete mode 100644 npc/warps/guildcastles.txt delete mode 100644 npc/warps/other/airplane.txt delete mode 100644 npc/warps/other/arena.txt delete mode 100644 npc/warps/other/god.txt delete mode 100644 npc/warps/other/jobquests.txt delete mode 100644 npc/warps/other/kiel.txt delete mode 100644 npc/warps/other/other.txt delete mode 100644 npc/warps/pvp.txt delete mode 100644 npc/woe-fe/agit_controller.txt delete mode 100644 npc/woe-fe/agit_main.txt delete mode 100644 npc/woe-fe/aldeg_cas01.txt delete mode 100644 npc/woe-fe/aldeg_cas02.txt delete mode 100644 npc/woe-fe/aldeg_cas03.txt delete mode 100644 npc/woe-fe/aldeg_cas04.txt delete mode 100644 npc/woe-fe/aldeg_cas05.txt delete mode 100644 npc/woe-fe/gefg_cas01.txt delete mode 100644 npc/woe-fe/gefg_cas02.txt delete mode 100644 npc/woe-fe/gefg_cas03.txt delete mode 100644 npc/woe-fe/gefg_cas04.txt delete mode 100644 npc/woe-fe/gefg_cas05.txt delete mode 100644 npc/woe-fe/payg_cas01.txt delete mode 100644 npc/woe-fe/payg_cas02.txt delete mode 100644 npc/woe-fe/payg_cas03.txt delete mode 100644 npc/woe-fe/payg_cas04.txt delete mode 100644 npc/woe-fe/payg_cas05.txt delete mode 100644 npc/woe-fe/prtg_cas01.txt delete mode 100644 npc/woe-fe/prtg_cas02.txt delete mode 100644 npc/woe-fe/prtg_cas03.txt delete mode 100644 npc/woe-fe/prtg_cas04.txt delete mode 100644 npc/woe-fe/prtg_cas05.txt delete mode 100644 npc/woe-fe/trs_rp.txt delete mode 100644 npc/woe-se/agit_main_se.txt delete mode 100644 npc/woe-se/agit_start_se.txt delete mode 100644 npc/woe-se/arug_cas01.txt delete mode 100644 npc/woe-se/arug_cas02.txt delete mode 100644 npc/woe-se/arug_cas03.txt delete mode 100644 npc/woe-se/arug_cas04.txt delete mode 100644 npc/woe-se/arug_cas05.txt delete mode 100644 npc/woe-se/guild_flags.txt delete mode 100644 npc/woe-se/schg_cas01.txt delete mode 100644 npc/woe-se/schg_cas02.txt delete mode 100644 npc/woe-se/schg_cas03.txt delete mode 100644 npc/woe-se/schg_cas04.txt delete mode 100644 npc/woe-se/schg_cas05.txt (limited to 'npc') diff --git a/npc/MOTD.txt b/npc/MOTD.txt deleted file mode 100644 index 280ac8854..000000000 --- a/npc/MOTD.txt +++ /dev/null @@ -1,34 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2013-2015 Hercules Dev Team -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Message of the Day script -//========================================================================= - -// run when any character logs in, attached to them. -- script HerculesMOTD FAKE_NPC,{ - message strcharinfo(PC_NAME),"Welcome to Hercules! Enjoy! Please report any bugs you find."; - end; -} diff --git a/npc/airports/airships.txt b/npc/airports/airships.txt deleted file mode 100644 index 7bac19e21..000000000 --- a/npc/airports/airships.txt +++ /dev/null @@ -1,1529 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2016 Hercules Dev Team -//= Copyright (C) Athena Dev Teams -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= The Airship System Script -//================= Description =========================================== -//= The Airship System used in the official servers. -//========================================================================= - -//=== Domestic Airship Route =============================== -// ... -> Juno -> Einbroch -> Lighthalzen -> Einbroch -> -// -> Juno -> Hugel -> ... -airplane,243,73,0 script #AirshipWarp-1 WARPNPC,1,1,{ - end; - -OnInit: -OnHide: - specialeffect EF_BASH; - disablenpc strnpcinfo(NPC_NAME); - end; - -OnUnhide: - enablenpc strnpcinfo(NPC_NAME); - specialeffect EF_SUMMONSLAVE; - end; - -OnTouch: - switch ($@airplanelocation) { - case 0: warp "yuno",92,260; end; - case 1: warp "einbroch",92,278; end; - case 2: warp "lighthalzen",302,75; end; - case 3: warp "hugel",181,146; end; - } -} - -airplane,243,29,0 duplicate(#AirshipWarp-1) #AirshipWarp-2 WARPNPC,1,1 - -airplane,1,1,0 script Domestic_Airship FAKE_NPC,{ - end; -OnInit: - initnpctimer; - end; -OnTimer20000: - mapannounce("airplane", _("We are heading to Einbroch."), bc_map, "0x00ff00"); - end; -OnTimer50000: - mapannounce("airplane", _("We will arrive in Einbroch shortly."), bc_map, "0x00ff00"); - end; -OnTimer60000: - $@airplanelocation = 1; - donpcevent "#AirshipWarp-1::OnUnhide"; - donpcevent "#AirshipWarp-2::OnUnhide"; - mapannounce("airplane", _("Welcome to Einbroch. Have a safe trip."), bc_map, "0x00ff00"); - end; -OnTimer70000: - mapannounce("airplane", _("Currently we are in Einbroch. The Airship will take off shortly."), bc_map, "0x00ff00"); - end; -OnTimer80000: - donpcevent "#AirshipWarp-1::OnHide"; - donpcevent "#AirshipWarp-2::OnHide"; - mapannounce("airplane", _("The Airship is now taking off. Our next destination is Lighthalzen."), bc_map, "0x70dbdb"); - end; -OnTimer100000: - mapannounce("airplane", _("We are heading to Lighthalzen."), bc_map, "0x70dbdb"); - end; -OnTimer130000: - mapannounce("airplane", _("We will arrive in Lighthalzen shortly."), bc_map, "0x70dbdb"); - end; -OnTimer140000: - $@airplanelocation = 2; - donpcevent "#AirshipWarp-1::OnUnhide"; - donpcevent "#AirshipWarp-2::OnUnhide"; - mapannounce("airplane", _("Welcome to Lighthalzen. Have a safe trip."), bc_map, "0x70dbdb"); - end; -OnTimer150000: - mapannounce("airplane", _("Currently we are in Lighthalzen. The Airship will leave shortly."), bc_map, "0x70dbdb"); - end; -OnTimer160000: - donpcevent "#AirshipWarp-1::OnHide"; - donpcevent "#AirshipWarp-2::OnHide"; - mapannounce("airplane", _("The Airship is leaving the ground. Our next destination is Einbroch."), bc_map, "0x00ff00"); - end; -OnTimer180000: - mapannounce("airplane", _("We are heading to Einbroch."), bc_map, "0x00ff00"); - end; -OnTimer210000: - mapannounce("airplane", _("We will arrive in Einbroch shortly."), bc_map, "0x00FF00"); - end; -OnTimer220000: - $@airplanelocation = 1; - donpcevent "#AirshipWarp-1::OnUnhide"; - donpcevent "#AirshipWarp-2::OnUnhide"; - mapannounce("airplane", _("Welcome to Einbroch. Have a safe trip."), bc_map, "0x00ff00"); - end; -OnTimer230000: - mapannounce("airplane", _("Currently we are in Einbroch. The Airship will take off shortly."), bc_map, "0x00ff00"); - end; -OnTimer240000: - donpcevent "#AirshipWarp-1::OnHide"; - donpcevent "#AirshipWarp-2::OnHide"; - mapannounce("airplane", _("The Airship is now taking off. Our next destination is Juno."), bc_map, "0xff8200"); - end; -OnTimer260000: - mapannounce("airplane", _("We are heading to Juno."), bc_map, "0xff8200"); - end; -OnTimer290000: - mapannounce("airplane", _("We will arrive in Juno shortly."), bc_map, "0xff8200"); - end; -OnTimer300000: - $@airplanelocation = 0; - donpcevent "#AirshipWarp-1::OnUnhide"; - donpcevent "#AirshipWarp-2::OnUnhide"; - mapannounce("airplane", _("Welcome to Juno. Have a safe trip."), bc_map, "0xff8200"); - end; -OnTimer310000: - mapannounce("airplane", _("Currently we are in Juno. The Airship will leave shortly."), bc_map, "0xff8200"); - end; -OnTimer320000: - donpcevent "#AirshipWarp-1::OnHide"; - donpcevent "#AirshipWarp-2::OnHide"; - mapannounce("airplane", _("The Airship is leaving the ground. Our next destination is Hugel."), bc_map, "0xca4bf3"); - end; -OnTimer340000: - mapannounce("airplane", _("We are heading to Hugel."), bc_map, "0xca4bf3"); - end; -OnTimer370000: - mapannounce("airplane", _("We will arrive in Hugel shortly."), bc_map, "0xca4bf3"); - end; -OnTimer380000: - $@airplanelocation = 3; - donpcevent "#AirshipWarp-1::OnUnhide"; - donpcevent "#AirshipWarp-2::OnUnhide"; - mapannounce("airplane", _("Welcome to Hugel. Have a safe trip."), bc_map, "0xca4bf3"); - end; -OnTimer390000: - mapannounce("airplane", _("Currently we are in Hugel. The Airship will leave shortly."), bc_map, "0xca4bf3"); - end; -OnTimer400000: - donpcevent "#AirshipWarp-1::OnHide"; - donpcevent "#AirshipWarp-2::OnHide"; - mapannounce("airplane", _("The Airship is leaving the ground. Our next destination is Juno."), bc_map, "0xff8200"); - end; -OnTimer420000: - mapannounce("airplane", _("We are heading to Juno."), bc_map, "0xff8200"); - end; -OnTimer450000: - mapannounce("airplane", _("We will arrive in Juno shortly."), bc_map, "0xff8200"); - end; -OnTimer460000: - $@airplanelocation = 0; - donpcevent "#AirshipWarp-1::OnUnhide"; - donpcevent "#AirshipWarp-2::OnUnhide"; - mapannounce("airplane", _("Welcome to Juno. Have a safe trip."), bc_map, "0xff8200"); - end; -OnTimer470000: - mapannounce("airplane", _("Currently we are in Juno. The Airship will leave shortly."), bc_map, "0xff8200"); - end; -OnTimer480000: - donpcevent "#AirshipWarp-1::OnHide"; - donpcevent "#AirshipWarp-2::OnHide"; - mapannounce("airplane", _("The Airship is leaving the ground. Our next destination is Einbroch."), bc_map, "0x00ff00"); - stopnpctimer; - initnpctimer; -} - -airplane,240,64,5 script Exit#airplane1a::ExitAirplane 4_BOARD3,{ - end; -} -airplane,247,64,5 duplicate(ExitAirplane) Exit#airplane1b 4_BOARD3 -airplane,240,40,1 duplicate(ExitAirplane) Exit#airplane2a 4_BOARD3 -airplane,247,40,1 duplicate(ExitAirplane) Exit#airplane2b 4_BOARD3 - -airplane,100,69,3 script Airship Crew#ein-1 4_M_EIN_SOLDIER,{ - mes("[Airship Crew]"); - mes("If we've landed at\r" - "your destination and\r" - "you'd like to leave the\r" - "Airship, please use the\r" - "stairs up ahead. Thank\r" - "you for your patronage."); - close; -} - -airplane,64,94,1 script Umbala Kid#ein_p 4_M_UMKID,{ - emotion e_swt2; - mes("[Kid]"); - if (event_umbala >= 3) { - mes("Wow, mom!"); - mes("L-look at this!"); - mes("We're flying! W-we're..."); - mes("We're in the freakin' sky!"); - } else { - mes("Makumalagu!"); - mes("Saampa joojimbo"); - mes("kaku na jedi Solo."); - mes("Bwahahahahahahaah!"); - } - close; -} - -airplane,66,93,3 script Umbala Lady#ein_p 4_F_UMWOMAN,{ - emotion e_dots; - mes("[Lady]"); - if (event_umbala >= 3) { - mes("Shush..."); - mes("Honey, behave~"); - mes("Don't act so excited\r" - "when we're out in a\r" - "public place like this!"); - } else { - mes("Chooktu!"); - mes("Sacraup matii!"); - mes("Shaka gurftalfi\r" - "huntiki manjoo!"); - } - close; -} - -airplane,71,91,7 script Umbala Man#ein_p 4_M_UMSOLDIER,{ - if (event_umbala >= 3) { - mes("[Chrmlim]"); - mes("Hey there~"); - mes("From that look on\r" - "your face, I see that\r" - "you can understand\r" - "me. ^333333*Whew...!*^000000"); - next; - emotion e_pif; - mes("[Chrmlim]"); - mes("I've been helping the\r" - "Airship enterprise by\r" - "having the Airship Crewmen\r" - "train in Umbala to overcome\r" - "any acrophobia they might have through bungee jumping. Neat, eh?"); - next; - mes("[Chrmlim]"); - mes("But..."); - mes("Some of them couldn't\r" - "overcome their fear of\r" - "heights. And a few even\r" - "ended up, um, ^333333in Nifflheim^000000."); - } else { - mes("[Chrmlim]"); - mes("Bajoo ga\r" - "nukta Airship."); - next; - mes("[Chrmlim]"); - mes("..."); - mes("......"); - next; - emotion e_pif; - mes("[Chrmlim]"); - mes("Shabala moow bajama\r" - "Airship kulaha googoona\r" - "salu. Dama, kookoo na nu\r" - "yukuta. Um, fashuku na ret!"); - } - close; -} - -airplane,250,58,2 script Airship Staff#airplane 1_F_02,{ - // Hugel quest addition - if (hg_ma1 == 3) { - mes("[Airship Staff]"); - mes("Welcome\r" - "to the Airship."); - mes("How may I help you?"); - next; - select("Do you have a passenger named Thierry?"); - mes("[Airship Staff]"); - mes("I am sorry, but I do not think that we have a passenger by that name."); - close; - } - // Hugel quest end - mes("[Airship Staff]"); - mes("Welcome\r" - "to the Airship."); - mes("How may I help you?"); - next; - switch (select("Using the Airship", "Captain's Cabin", "Facilities", "Cancel")) { - case 1: - mes("[Airship Staff]"); - mes("When you see a broadcast\r" - "announcing that we have\r" - "arrived at your destination,\r" - "please use one of the exits\r" - "located at the north and\r" - "south ends of the Airship."); - next; - mes("[Airship Staff]"); - mes("If you happen to miss\r" - "your stop, don't worry.\r" - "The Airship is constantly\r" - "en route and you'll get\r" - "another chance to arrive\r" - "to your intended destination."); - close; - case 2: - mes("[Airship Staff]"); - mes("The Captain's Cabin\r" - "is located at the front\r" - "of the Airship. There, you\r" - "can meet the captain and\r" - "the pilot of the Airship."); - close; - case 3: - mes("[Airship Staff]"); - mes("The Airship provides\r" - "various Mini Games for\r" - "the entertainment of all\r" - "our passengers. We invite\r" - "you to try your luck and skills\r" - "in the Airship's Mini Games~"); - close; - case 4: - mes("[Airship Staff]"); - mes("Well, I hope you\r" - "your flight aboard\r" - "our Airships. Thank\r" - "you and have a good day."); - close; - } -} - -airplane,80,71,2 script Zerta#01airplane 4_M_BUDDHIST,{ - mes("[Zerta]"); - mes("Oh, hello adventurer.\r" - "I am currently on a\r" - "sacred journey, offering\r" - "prayer for the sake of the\r" - "Rune-Midgard continent."); - close; -} - -airplane,65,63,4 script Maelin#01airplane 4_F_06,{ - mes("[Maelin]"); - mes("Um, this Airship is\r" - "to Lutie, isn't it? I've\r" - "waiting so long,\r" - "but I haven't heard any\r" - "broadcast about Lutie."); - close; -} - -airplane,72,34,6 script Aanos#01airplane 4_F_GON,{ - mes("[Aanos]"); - mes("Oh wooow~"); - mes("The sky looks\r" - "so different and\r" - "pretty from up there!\r"); - close; -} - -airplane,221,158,2 script Pilot#airplane 4_M_EIN_SOLDIER,{ - // Hugel quest addition - if (hg_ma1 == 3) { - mes("[Pilot]"); - mes("I wish that I could go drink a cold fresh beer."); - mes("Drinking is the goal of my life! Drinking gives me energy!"); - mes("I am nothing without drinks!"); - next; - mes("[Pilot]"); - mes("But! Driving under the influence is not good."); - mes("But! That makes me want to drink more and more!"); - emotion e_sob; - next; - select("Do you know a passenger named Thierry?"); - mes("[Pilot]"); - mes("This uniform is\r" - "really dapper, but\r" - "it's way too thick to\r" - "wear around the Airship."); - next; - mes("[Pilot]"); - mes("..."); - mes("......"); - mes("No one ever really\r" - "comes into this room."); - mes("And the captain IS a reindeer. I could just strip to my boxers."); - next; - emotion e_omg; - mes("[Pilot]"); - mes("Wah!? Who is it!"); - next; - mes("- ...He is not listening to you, at all. -"); - close; - } - // Hugel quest end - switch (rand(1,4)) { - case 1: - mes("[Pilot]"); - mes("It's been sooo\r" - "long since I've\r" - "enjoyed a nice, cold\r" - "alcoholic brew. But the\r" - "job requires me to be as\r" - "clear headed as I can!"); - next; - mes("[Pilot]"); - mes("Always drink responsibly!"); - mes("Still, I can't remember the\r" - "last time I had a real vacation\r" - "or even a day off. Yeap, some\r" - "booze, some chips, some TV\r" - "and serius R&R is in order."); - emotion e_sob; - close; - case 2: - mes("[Pilot]"); - mes("Man, the weather\r" - "is really nice today."); - mes("Bright, open skies make\r" - "for some good visibility\r" - "and safe, carefree flying."); - close; - case 3: - mes("[Pilot]"); - mes("You know, our captain's a\r" - "respectable guy. Him and\r" - "his brother are actually well\r" - "known in the aircraft industry."); - mes("Who knew reindeer made\r" - "such good captains?"); - next; - mes("[Pilot]"); - mes("Just between you\r" - "and me, I gotta tell\r" - "you, that Santa was onto\r" - "something, getting reindeers\r" - "and elves to work for him."); - mes("The man must be a genius!"); - close; - default: - mes("[Pilot]"); - mes("You know, this whole\r" - "piloting thing in the air,\r" - "it's rather new, you know?"); - mes("Yeah, they got this Airship\r" - "operation in a hurry."); - next; - emotion e_omg; - mes("[Pilot]"); - mes("Still, they where real\r" - "serius, really thought\r" - "ahead. I mean, they had us\r" - "training while the Airships\r" - "were still being invented."); - mes("Isn't that freakin' crazy?!"); - close; - } -} - -airplane,50,66,5 script Apple Merchant#airplane 4_M_04,{ - mes("[Fruitz]"); - mes("Welcome to Fruitz's\r" - "Shop where you can\r" - "purchase Apples or grind\r" - "them to make Apple Juice."); - next; - switch (select("Buy Apples.", "Make Apple Juice.", "Why are you here?", "Cancel.")) { - case 1: - mes("[Fruitz]"); - mes("Please enter the amount\r" - "of Apples that you wish to\r" - "buy. Each Apple is 15 zeny\r" - "and you can buy a maximum\r" - "of 500 at a time. Please enter\r" - " '0' to cancel your order."); - next; - while (1) { - input .@input; - .@pay = .@input * 15; - if (.@input == 0) { - mes("[Fruitz]"); - mes("Thanks for stopping\r" - "by my shop. Farewell!"); - mes("Come by anytime when\r" - "you feel like having an\r" - "Apple to snack on~"); - close; - } - else if (.@input < 1 || .@input > 500) { - mes("[Fruitz]"); - mes("You've entered a number\r" - "higher than the maximum\r" - "value of 500. Please enter\r" - "the number of Apples you\r" - "wish to purchase again."); - next; - } - else { - mes("[Fruitz]"); - mesf("A total of ^FF0000%d^000000 Apples\r" - "will cost you ^FF0000%d Zeny^000000.", - .@input, .@pay); - mes("Would you like to continue?"); - next; - if (select("Yes", "No") == 2) { - mes("[Fruitz]"); - mes("Thanks for stopping\r" - "by my shop. Farewell!"); - mes("Come by anytime when\r" - "you feel like having an\r" - "Apple to snack on~"); - close; - } - break; - } - } - if (Zeny < .@pay) { - mes("[Fruitz]"); - mes("I'm sorry, but you don't\r" - "have enough money to\r" - "purchase that many Apples."); - mes("Please check your zeny or\r" - "purchase fewer Apples."); - close; - } - else if (checkweight(Apple,.@input) == 0) { - mes("[Fruitz]"); - mes("Hmmm, I don't think\r" - "you've got enough room in\r" - "your inventory to carry this\r" - "many Apples. Why don't you free up some of your inventory space?"); - close; - } - else { - Zeny -= .@pay; - getitem Apple,.@input; - mes("[Fruitz]"); - mes("Thanks for stopping by\r" - "my shop. I hope you enjoy\r" - "the flavor of these Apples~!"); - close; - } - case 2: - mes("[Fruitz]"); - mes("Okay, I'll need\r" - "^FF00003 Apples and 1 Empty Bottle^000000\r" - "to make 1 Apple Juice for you."); - mes("Would you like to proceed?"); - next; - switch (select("Yes", "No")) { - case 1: - if (countitem(Apple) < 3 || countitem(Empty_Bottle) < 1) { - mes("[Fruitz]"); - mes("I'm sorry, but you don't\r" - "have enough materials to\r" - "create a bottle of Apple Juice."); - mes("Remember, I need 3 Apples\r" - "and 1 Empty Bottle to do it."); - close; - } - else { - mes("[Fruitz]"); - mes("Thank you,\r" - "please wait\r" - "just a moment."); - next; - mes("^3355FF*Grind grind*"); - mes("*Grind grind*"); - mes("*Clang...!*^000000"); - next; - delitem Apple,3; - delitem Empty_Bottle,1; - getitem Apple_Juice,1; - mes("[Fruitz]"); - mes("There you go~"); - mes("I hope you enjoy!"); - mes("Please feel free to\r" - "stop by for your Apple\r" - "and Apple Juice needs\r" - "at anytime, adventurer~"); - close; - } - case 2: - mes("[Fruitz]"); - mes("Thanks for stopping\r" - "by my shop. Farewell!"); - mes("Come by anytime when\r" - "you feel like having an\r" - "Apple to snack on~"); - close; - } - case 3: - mes("[Fruitz]"); - mes("I used to be a wandering\r" - "vagabond when, one day,\r" - "I took a nap and something\r" - "struck my head and awoke\r" - "me from my restful slumber."); - next; - mes("[Fruitz]"); - mes("It turns out that I was\r" - "sleeping beneath an apple\r" - "tree and that an apple fell\r" - "and hit me on the head."); - mes("I was dying of hunger and\r" - "was about to eat that Apple..."); - next; - mes("[Fruitz]"); - mes("But suddenly, Kain, my old\r" - "friend from the mining days,\r" - "asked me to help him around\r" - "on the Airship. So I did, and\r" - "it was there where I found some\r" - "people playing the Dice game."); - next; - mes("[Fruitz]"); - mes("I was bored and curious\r" - "and ended up wagering that\r" - "single Apple in a game of\r" - "dice. But for some reason,\r" - "I had this incredible lucky\r" - "streak. One apple became two..."); - next; - mes("[Fruitz]"); - mes("Two became four and\r" - "before I knew it, I had\r" - "cornered the Apple market!"); - mes("I won so many Apples, I just\r" - "started my own business here\r" - "on the Airship. Weird, huh?"); - next; - mes("[Fruitz]"); - mes("So Apples are good\r" - "for you. They were\r" - "certainly very good\r" - "to me. Hahahahaah~!"); - close; - case 4: - mes("[Fruitz]"); - mes("Thank you for\r" - "using my shop."); - mes("Farewell~"); - close; - } -} - -//== International Airship Route =========================== -// ... -> Izlude -> Juno -> Rachel -> ... -airplane_01,243,73,0 script #AirshipWarp-3 WARPNPC,1,1,{ - end; - -OnTouch: - switch ($@airplanelocation2) { - case 0: warp "ra_fild12",292,204; end; - case 1: - if (RENEWAL) - warp "izlude",200,73; - else - warp "izlude",200,56; - end; - case 2: warp "yuno",12,261; end; - } - -OnInit: -OnHide: - specialeffect EF_BASH; - disablenpc strnpcinfo(NPC_NAME); - end; - -OnUnhide: - enablenpc strnpcinfo(NPC_NAME); - specialeffect EF_SUMMONSLAVE; - end; -} - -airplane_01,243,29,0 duplicate(#AirshipWarp-3) #AirshipWarp-4 WARPNPC,1,1 - -airplane_01,1,1,0 script International_Airship FAKE_NPC,{ - end; -OnInit: -OnEnable: - initnpctimer; - end; -OnTimer25000: - mapannounce("airplane_01", _("We are heading to Izlude."), bc_map, "0x00ff00"); - end; -OnTimer50000: - mapannounce("airplane_01", _("We will arrive in Izlude shortly."), bc_map, "0x00ff00"); - end; -OnTimer60000: - $@airplanelocation2 = 1; - donpcevent "#AirshipWarp-3::OnUnhide"; - donpcevent "#AirshipWarp-4::OnUnhide"; - mapannounce("airplane_01", _("Welcome to Izlude. Have a safe trip."), bc_map, "0x00ff00"); - end; -OnTimer70000: - mapannounce("airplane_01", _("We are currently in Izlude. The Airship will take off shortly."), bc_map, "0x00ff00"); - end; -OnTimer80000: - donpcevent "#AirshipWarp-3::OnHide"; - donpcevent "#AirshipWarp-4::OnHide"; - mapannounce("airplane_01", _("The Airship is now taking off. Our next destination is Juno."), bc_map, "0x70dbdb"); - end; -OnTimer105000: - mapannounce("airplane_01", _("We are heading to Juno."), bc_map, "0x70dbdb"); - end; -OnTimer130000: - mapannounce("airplane_01", _("We will arrive in Juno shortly."), bc_map, "0x70dbdb"); - end; -OnTimer140000: - $@airplanelocation2 = 2; - donpcevent "#AirshipWarp-3::OnUnhide"; - donpcevent "#AirshipWarp-4::OnUnhide"; - mapannounce("airplane_01", _("Welcome to Juno. Have a safe trip."), bc_map, "0x70dbdb"); - end; -OnTimer150000: - mapannounce("airplane_01", _("We are currently in Juno. The Airship will leave shortly."), bc_map, "0x70dbdb"); - end; -OnTimer160000: - donpcevent "#AirshipWarp-3::OnHide"; - donpcevent "#AirshipWarp-4::OnHide"; - mapannounce("airplane_01", _("The Airship is leaving the ground. Our next destination is Rachel."), bc_map, "0xFF8200"); - end; -OnTimer185000: - mapannounce("airplane_01", _("We are heading to Rachel."), bc_map, "0xFF8200"); - end; -OnTimer210000: - mapannounce("airplane_01", _("We will arrive in Rachel shortly."), bc_map, "0xFF8200"); - end; -OnTimer220000: - $@airplanelocation2 = 0; - donpcevent "#AirshipWarp-3::OnUnhide"; - donpcevent "#AirshipWarp-4::OnUnhide"; - mapannounce("airplane_01", _("Welcome to Rachel. Have a safe trip."), bc_map, "0xFF8200"); - end; -OnTimer230000: - mapannounce("airplane_01", _("We are currently in Rachel. The Airship will take off shortly."), bc_map, "0xFF8200"); - end; -OnTimer240000: - donpcevent "#AirshipWarp-3::OnHide"; - donpcevent "#AirshipWarp-4::OnHide"; - mapannounce("airplane_01", _("The Airship is now taking off. Our next destination is Izlude."), bc_map, "0x00ff00"); - stopnpctimer; - ++.moninv; - if (.moninv == 7) { - if (rand(1,3) == 3) { - donpcevent "Airship#airplane02::OnEnable"; - end; - } - .moninv = 0; - } - initnpctimer; - end; -} - -airplane_01,240,64,5 script Exit#airplane_011a::ExitAirplane01 4_BOARD3,{ - end; -} -airplane_01,247,64,5 duplicate(ExitAirplane01) Exit#airplane_011b 4_BOARD3 -airplane_01,240,40,1 duplicate(ExitAirplane01) Exit#airplane_012a 4_BOARD3 -airplane_01,247,40,1 duplicate(ExitAirplane01) Exit#airplane_012b 4_BOARD3 - -airplane_01,250,58,2 script Airship Staff#airplane01 1_F_02,{ - mes("[Airship Staff]"); - mes("Welcome\r" - "to the Airship."); - mes("How may I help you?"); - next; - switch (select("Using the Airship", "Captain's Cabin", "Facilities", "Cancel")) { - case 1: - mes("[Airship Staff]"); - mes("When you see a broadcast\r" - "announcing that we have\r" - "arrived at your destination,\r" - "please use one of the exits\r" - "located at the north and\r" - "south ends of the Airship."); - next; - mes("[Airship Staff]"); - mes("If you happen to miss\r" - "your stop, don't worry."); - mes("The Airship is constantly\r" - "en route and you'll get\r" - "another chance to arrive\r" - "to your intended destination."); - close; - case 2: - mes("[Airship Staff]"); - mes("The Captain's Cabin\r" - "is located at the front\r" - "of the Airship. There, you\r" - "can meet the captain and\r" - "the pilot of the Airship."); - close; - case 3: - mes("[Airship Staff]"); - mes("The Airship provides\r" - "various Mini Games for\r" - "the entertainment of all\r" - "our passengers. We invite\r" - "you to try your luck and skills\r" - "in the Airship's Mini Games~"); - close; - case 4: - mes("[Airship Staff]"); - mes("Well, I hope you\r" - "your flight aboard\r" - "our Airships. Thank\r" - "you and have a good day."); - close; - } -} - -airplane_01,50,66,5 script Apple Merchant#air01 4_M_04,{ - if (checkweight(Knife,1) == 0) { - mes("- Wait a minute !! -"); - mes("- Currently you're carrying -"); - mes("- too many items with you. -"); - mes("- Please try again -"); - mes("- after you loose some weight. -"); - close; - } - mes("[Meltz]"); - mes("Welcome to Meltz's\r" - "Shop where you can\r" - "purchase Apples or grind\r" - "them to make Apple Juice."); - next; - switch (select("Buy Apples.", "Make Apple Juice.", "Cancel.")) { - case 1: - mes("[Meltz]"); - mes("Please enter the amount\r" - "of Apples that you wish to\r" - "buy. Each Apple is 15 zeny\r" - "and you can buy a maximum\r" - "of 500 at a time. Please enter\r" - "'0' to cancel your order."); - next; - while (1) { - input .@input; - .@pay = .@input * 15; - if (.@input == 0) { - mes("[Meltz]"); - mes("Thanks for stopping\r" - "by my shop. Farewell!"); - mes("Come by anytime when\r" - "you feel like having an\r" - "Apple to snack on~"); - close; - } - else if (.@input < 1 || .@input > 500) { - mes("[Meltz]"); - mes("You've entered a number\r" - "higher than the maximum\r" - "value of 500. Please enter\r" - "the number of Apples you\r" - "wish to purchase again."); - next; - } - else { - mes("[Meltz]"); - mesf("A total of ^FF0000%d^000000 Apples\r" - "will cost you ^FF0000%d Zeny^000000.", - .@input, .@pay); - mes("Would you like to continue?"); - next; - if (select("Yes", "No") == 2) { - mes("[Meltz]"); - mes("Thanks for stopping\r" - "by my shop. Farewell!"); - mes("Come by anytime when\r" - "you feel like having an\r" - "Apple to snack on~"); - close; - } - break; - } - } - if (Zeny < .@pay) { - mes("[Meltz]"); - mes("I'm sorry, you don't have\r" - "enough money with you."); - mes("Please check your funds or\r" - "purchase less Apples."); - close; - } - else if (checkweight(Apple,.@input) == 0) { - mes("[Meltz]"); - mes("Hmm, I don't think you've\r" - "got enough room to carry\r" - "this many Apples. You might\r" - "want to free up your inventory\r" - "space."); - close; - } - else { - Zeny -= .@pay; - getitem Apple,.@input; - mes("[Meltz]"); - mes("Thanks for stopping by\r" - "my shop. I hope you enjoy\r" - "the flavor of these Apples~!"); - close; - } - case 2: - mes("[Meltz]"); - mes("Okay, I'll need\r" - "^FF00003 Apples and 1 Empty Bottle^000000\r" - "to make 1 Apple Juice for you."); - mes("Would you like to proceed?"); - next; - switch (select("Yes", "No")) { - case 1: - if (countitem(Apple) < 3 || countitem(Empty_Bottle) < 1) { - mes("[Meltz]"); - mes("I'm sorry, but you don't\r" - "have enough materials to\r" - "create a bottle of Apple Juice."); - mes("Remember, I need 3 Apples\r" - "and 1 Empty Bottle to do it."); - close; - } - else { - mes("[Meltz]"); - mes("Thank you, please wait."); - next; - mes("^3355FF*Grind* *Grind*"); - mes("*Grind* *Grind*"); - mes("*Clang...!*^000000"); - next; - delitem Apple,3; - delitem Empty_Bottle,1; - getitem Apple_Juice,1; - mes("[Meltz]"); - mes("There you go~"); - mes("Please come again."); - close; - } - case 2: - mes("[Meltz]"); - mes("Thanks for stopping\r" - "by my shop. Farewell!"); - mes("Come by anytime when\r" - "you feel like having an\r" - "Apple to snack on~"); - close; - } - case 3: - mes("[Meltz]"); - mes("Thanks for stopping\r" - "by my shop. Farewell!"); - mes("Come by anytime when\r" - "you feel like having an\r" - "Apple to snack on~"); - close; - } -} - -airplane_01,221,158,2 script Pilot#airplane_01 4_M_EIN_SOLDIER,{ - switch (rand(1,4)) { - case 1: - mes("[Pilot]"); - mes("Longitude, 131 degrees east."); - mes("Latitude, 37 degrees north."); - mes("We're right on course, captain."); - close; - case 2: - mes("[Pilot]"); - mes("Looks like a really\r" - "cloudy day. Always hard\r" - "to navigate when the skies\r" - "aren't clear. Guess we'll\r" - "need to amp the radar."); - close; - case 3: - mes("[Pilot]"); - mes("The Captain is a good\r" - "man and I can't think of\r" - "a finer person to command\r" - "this ship. Still, he's pretty\r" - "tough, a real slave driver."); - next; - mes("[^ff0000Tarlock^000000]"); - mes("^ff0000Hey...!^000000"); - mes("^ff0000Less chit-chat^000000"); - mes("^ff0000and more piloting!^000000"); - next; - mes("[Pilot]"); - mes("R-right away, sir!"); - mes("(See what I mean?)"); - close; - default: - mes("[Pilot]"); - mes("This uniform is\r" - "really dapper, but\r" - "it's way too thick to\r" - "wear around the Airship."); - next; - mes("[Pilot]"); - mes("..."); - mes("......"); - mes("No one ever really\r" - "comes into this room."); - mes("And the captain IS a reindeer."); - mes("I could just strip to my boxers."); - next; - emotion e_omg; - mes("[Pilot]"); - mes("Oh...! Hello there!"); - mes("E-e-enjoying your flight?!"); - close; - } -} - -airplane_01,83,61,2 script Dianne#01airplane_01 1_F_MARIA,2,2,{ - mes("[Dianne]"); - mes("It's so weird!"); - mes("I went to visit the\r" - "Airship Captain and\r" - "all I saw was this\r" - "weird reindeer. Oh!"); - mes("Do you think that..."); - close; - -OnTouch: - emotion e_sob; - end; -} - -airplane_01,69,63,2 script Mendel#01airplane_01 1_M_JOBTESTER,{ - mes("[Mendel]"); - mes("As I expected, the\r" - "in-flight meals are\r" - "three star quality at best."); - mes("*Harrrumph* I really should\r" - "have brought my chef so that\r" - "I could enjoy a real meal."); - close; -} - -airplane_01,71,31,2 script Swordsman Shimizu#air_01 1_M_MOC_LORD,{ - mes("[Swordsman Shimizu]"); - mes("Finally, after five\r" - "years of waiting..."); - mes("I can have my revenge!"); - next; - mes("[Swordsman Shimizu]"); - mes("I just..."); - mes("Have to make sure that\r" - "I don't keep missing my\r" - "stop. But soon, very soon,\r" - "vengeance will be mine!"); - close; -} - -//=== Typing Challenge ===================================== -airplane_01,32,61,4 script Nils#ein 1_M_03,1,1,{ - mes("[Nils]"); - mes("Welcome to the\r" - "^ff0000RO Typing Challenge^000000."); - mes("Would you like to play\r" - "a quick typing game?"); - next; - switch (select("Play ^ff0000RO Typing Challenge^000000", "Information", "View Top Records", "Cancel")) { - case 1: - mes("[Nils]"); - mes("Okay, we have\r" - "a new challenger!"); - mes("Enter the following\r" - "text as quickly as you\r" - "can without making any\r" - "mistakes! Let's start~!"); - setarray .@line1_1$[0], "^3cbcbccallipygian salacius lascivious^000000", - "^3cbcbcBy the power of^000000", - "^0000ffthkelfkskeldmsiejdlslehfndkelsheidl^000000", - "^3cbcbcburrdingdingdingdilidingdingdingphoohudaamb^000000", - "^3cbcbcCoboman no chikara-yumei na^000000", - "^3cbcbcI'm the king of All Weirdos! Now^000000", - "^3cbcbcYou give me no choice. I guess it's^000000"; - setarray .@line1_2$[0], "^3cbcbclicentious prurient concupiscent^000000", - "^3cbcbcp-po-poi-po-poi-poin-poing^000000", - "^3cbcbcskemd^000000", - "^3cbcbcandoorabambarambambambambamburanbamding^000000", - "^3cbcbcchikara-daiookii na chikara da ze!^000000", - "^3cbcbcyou know of my true power. Obey~!^000000", - "^3cbcbctime for me to reveal my secret...^000000"; - setarray .@line1_3$[0], "", - "^3cbcbcGOD-POING. I NEVER LOSE!^000000", - "", - "", - "^3cbcbcCOBO ON^000000", - "", - ""; - setarray .@word1$[0], "callipygian salacius lascivious licentious prurient concupiscent", - "By the power of p-po-poi-po-poi-poin-poing GOD-POING. I NEVER LOSE!", - "thkelfkskeldmsiejdlslehfndkelsheidlskemd", - "burrdingdingdingdilidingdingdingphoohudaambandoorabambarambambambambamburanbamding", - "Coboman no chikara-yumei na chikara-daiookii na chikara da ze! COBO ON", - "I'm the king of All Weirdos! Now you know of my true power. Obey~!", - "You give me no choice. I guess it's time for me to reveal my secret..."; - setarray .@line2_1$[0], "^3cbcbcuNflAPPaBLe LoVaBLe SeCreTs AnD^000000", - "^ff1493LiGhTsPeEd RiGhT SPEed LeFT TURn^000000", - "^ff1493hfjdkeldjsieldjshfjdjeiskdlefvbd^000000", - "^ff1493burapaphuralanderamduanbatuhiwooi^000000", - "^ff1493belief love luck grimace sweat rush^000000", - "^800080opeN, Open!op3n.openOpen0p3nOpEn0pen^000000", - "^3cbcbcfReeDoM ecstAcy JoUrnaliSm ArMplt^000000"; - setarray .@line2_2$[0], "^3cbcbcboWLIiNg aGaINST tHe KarMA of YoUtH^000000", - "^ff1493RiGhT BuRn OrIGInAL GaNgSteR SmACk^000000", - "", - "^ff1493kabamturubamdingding^000000", - "^ff1493folktale rodimus optimus bumblebee^000000", - "^800080`open'0Pen open? open!111OPENSESAME^000000", - "^3cbcbcDisCoverY hEaDaChE MoonbeAmS jUsTiCE^000000"; - setarray .@word2$[0], "uNflAPPaBLe LoVaBLe SeCreTs AnD boWLIiNg aGaINST tHe KarMA of YoUtH", - "LiGhTsPeEd RiGhT SPEed LeFT TURn RiGhT BuRn OrIGInAL GaNgSteR SmACk", - "hfjdkeldjsieldjshfjdjeiskdlefvbd", - "burapaphuralanderamduanbatuhiwooikabamturubamdingding", - "belief love luck grimace sweat rush folktale rodimus optimus bumblebee", - "opeN, Open!op3n.openOpen0p3nOpEn0pen`open'0Pen open? open!111OPENSESAME", - "fReeDoM ecstAcy JoUrnaliSm ArMplt DisCoverY hEaDaChE MoonbeAmS jUsTiCE"; - setarray .@letters[0], 1300, - 1250, - 1180, - 1380, - 1740, - 1440, - 1450; - .@wordtest = rand(7); - next; - mes("[Nils]"); - mes(.@line1_1$[.@wordtest]); - mes(.@line1_2$[.@wordtest]); - mes(.@line1_3$[.@wordtest]); - .@start_time = gettime(GETTIME_HOUR)*60*60 + gettime(GETTIME_MINUTE)*60 + gettime(GETTIME_SECOND); - next; - input .@save1$; - .@end_time = gettime(GETTIME_HOUR)*60*60 + gettime(GETTIME_MINUTE)*60 + gettime(GETTIME_SECOND); - .@total_time = .@end_time - .@start_time; - mes("[Nils]"); - mes(.@line2_1$[.@wordtest]); - mes(.@line2_2$[.@wordtest]); - .@start_time = gettime(GETTIME_HOUR)*60*60 + gettime(GETTIME_MINUTE)*60 + gettime(GETTIME_SECOND); - next; - input .@save2$; - .@end_time = gettime(GETTIME_HOUR)*60*60 + gettime(GETTIME_MINUTE)*60 + gettime(GETTIME_SECOND); - .@total_time = .@total_time + (.@start_time - .@end_time); - .@tasoo = (.@letters[.@wordtest] / .@total_time) * 6; - if ((.@save1$ == .@word1$[.@wordtest]) && (.@save2$ == .@word2$[.@wordtest])) { - mes("[Nils]"); - mesf("Your record is ^ff0000%d seconds^000000 and\r" - "the total letters are %d.", - .@total_time, .@tasoo); - next; - if (.@tasoo >= 1300) { - mes("[Nils]"); - mes("Hmmm, this record isn't\r" - "humanly possible unless you\r" - "copy and paste the whole\r" - "sentence. Please play fairly\r" - "next time."); - close; - } - if (.@tasoo >= $050320_ein_typing) { - mes("[Nils]"); - mesf("The previous top record was\r" - "made by ^0000ff%s^000000\r" - "with the total ^0000ff%d^000000 letters.", - $050320_minus1_typing$, $050320_ein_typing); - mesf("However, ^ff0000%s^000000,\r" - "you made the new top record\r" - "this time. Congratulations!", - strcharinfo(PC_NAME)); - $050320_minus1_typing$ = strcharinfo(PC_NAME); - $050320_ein_typing = .@tasoo; - close; - } - else { - mes("[Nils]"); - mesf("^0000ff%s^000000\r" - "is the current\r" - "record holder with\r" - "a letter total of ^0000ff%d^000000\r" - "characters. Try to beat\r" - "that record next time~", - $050320_minus1_typing$, $050320_ein_typing); - close; - } - } - else { - mes("[Nils]"); - mes("Oooh..."); - mes("I'm sorry, but\r" - "you entered the\r" - "text incorrectly..."); - close; - } - case 2: - mes("[Nils]"); - mes("The ^ff0000RO Typing Challenge^000000\r" - "is a game where you enter\r" - "the given text as quickly as you\r" - "can. The name of the top player\r" - "is recorded for posterity. If you\r" - "want fame, here's your chance!"); - next; - mes("[Nils]"); - mes("I'd just like to let\r" - "you know that you type\r" - "all the text that you see\r" - "in the single input line that\r" - "you're given. So don't press\r" - "the enter key, just click 'OK.'"); - close; - case 3: - mes("[Nils]"); - mesf("^0000ff%s^000000\r" - "is the current\r" - "record holder with\r" - "a letter total of ^0000ff%d^000000\r" - "characters. Try to beat\r" - "that record next time~", - $050320_minus1_typing$, $050320_ein_typing); - close; - case 4: - mes("[Nils]"); - mes("Feel free to take on the\r" - "^ff0000RO Typing Challenge^000000\r" - "anytime. I'll be here~"); - close; - } -} - -//== Apple Gambling ======================================== -airplane_01,33,68,4 script Clarice 1_F_MERCHANT_02,{ - mes("[Clarice]"); - mes("Hi, I'm Clarice~"); - mes("How would you like\r" - "to wager some Apples\r" - "in a friendly game of Dice?"); - next; - callfunc("applegamble", _("Clarice")); - end; -} - -function script applegamble { - .@n$ = sprintf(_$("[%s]"), getarg(0)); - switch (select("Play Dice Game", "Learn Dice Game Rules", "Cancel")) { - case 3: - mes(.@n$); - mes("I'm up for a game of\r" - "dice whenever you feel\r" - "like it. Just talk to me if\r" - "you ever get hit with the\r" - "sudden urge to gamble, kay?"); - close; - case 2: - mes(.@n$); - mes("The rules for the Dice game\r" - "are pretty simple. First, you\r" - "place a bet by wagering Apples."); - mes("You can bet a maximum of 50\r" - "Apples at a time. To keep things\r" - "legal, I can only accept Apples."); - next; - mes(.@n$); - mes("But hey, if all that zeny\r" - "is burning a hole in your\r" - "pocket, head over to Fruitz\r" - "and you can buy as many\r" - "Apples as you want, playah~"); - next; - mes(.@n$); - mes("Now, we begin with me\r" - "rolling two 6-sided dice."); - mes("When it's your turn, you'll\r" - "roll two 6-sided dice. After\r" - "that, both of us will have the\r" - "option of rolling a third die."); - next; - mes(.@n$); - mes("Now here's the important\r" - "thing. If your total is higher\r" - "than 12, you'll bust, meaning\r" - "that you lose. Otherwise, the\r" - "person with the higher total\r" - "is the winner. Got it?"); - next; - mes(.@n$); - mes("Now, you'll be the first\r" - "to decide whether or not\r" - "you'll roll the third die. Then,\r" - "depending on your result, I'll\r" - "roll my third die... Or maybe not."); - next; - mes(.@n$); - mes("When you win, you'll\r" - "receive twice as many\r" - "Apples as you wagered."); - mes("But if we happen to tie, you\r" - "get the Apples that you bet\r" - "returned to you. Fair, right?"); - close; - case 1: - break; - } - mes(.@n$); - mes("Ooh, so you'll play with\r" - "me? Great! How many\r" - "Apples would you like to bet?"); - mes("Remember, you can wager\r" - "up to 50 Apples. If you'd like\r" - "to cancel, please enter '0'."); - next; - while(1) { - input .@amount; - if (.@amount == 0) { - mes(.@n$); - mes("Changed your mind?"); - mes("I understand. Well then,\r" - "I hope we can play sometime."); - close; - } - else if (.@amount < 1 || .@amount > 50) { - mes(.@n$); - mes("You can't bet more than\r" - "50 Apples. Remember, we\r" - "need to keep these stakes\r" - "reasonable. Please enter\r" - "a value no greater than 50."); - next; - continue; - } - mes(.@n$); - mesf("So you'll be\r" - "betting ^FF0000%d^000000 Apples.", - .@amount); - mes("Is that right?"); - next; - if (select("Yes", "No") == 2) { - mes(.@n$); - mes("Mm, made a mistake?"); - mes("Alright, please enter the\r" - "number of Apples you\r" - "wish to place in this bet"); - next; - continue; - } - if (countitem(Apple) <.@amount) { - mes(.@n$); - mes("I'm sorry, but you\r" - "don't seem to have\r" - "enough Apples for this\r" - "bet... You can't gamble\r" - "if you can't play, you know."); - next; - continue; - } - delitem 512,.@amount; - mes(.@n$); - mes("Good!"); - mes("Now we can start\r" - "this game! I'll roll first~"); - break; - } - mes("^3355FF*Rolling and rumbling*^000000"); - next; - .@giveapple = .@amount*2; - .@table1 = rand(1,6); - .@table2 = rand(1,6); - .@tablesub = .@table1 + .@table2; - .@tabletotal = .@tablesub; - mes(.@n$); - mesf("I got a ^0000FF%d^000000 and a ^0000FF%d^000000.", .@table1, .@table2); - mesf("That's a total of ^0000FF%d^000000.", .@tablesub); - mesf("^FF0000%s^000000, now it's your turn.", strcharinfo(PC_NAME)); - next; - select("Cast Dice."); - mes("^3355FF*Rolling and rumbling*^000000"); - .@player1 = rand(1,6); - .@player2 = rand(1,6); - .@playersub = .@player1 + .@player2; - if (.@playersub > 9 && .@amount > 39) { - .@player1 = rand(1,6); - .@player2 = rand(1,6); - .@playersub = .@player1 + .@player2; - } - .@playertotal = .@playersub; - next; - mes(.@n$); - mesf("^FF0000%s^000000, you have ^FF0000%d^000000 and ^FF0000%d^000000. The total is ^FF0000%d^000000.", - strcharinfo(PC_NAME), .@player1, .@player2, .@playersub); - next; - mes(.@n$); - if(.@playersub == .@tablesub) { - mesf("Currently my total is ^0000FF%d^000000 and ^FF0000%s^000000, your total is ^FF0000%d^000000. " - "We are making an even game. Would you like to cast dice again?", - .@tablesub, strcharinfo(PC_NAME), .@playersub); - } else if (.@playersub > .@tablesub) { - mesf("Currently my total is ^0000FF%d^000000 and ^FF0000%s^000000, your total is ^FF0000%d^000000. " - "^FF0000%s^000000, you are currently winning this game. Would you like to cast dice again?", - .@tablesub, strcharinfo(PC_NAME), .@playersub, strcharinfo(PC_NAME)); - } else if(.@tablesub > .@playersub) { - mesf("Currently my total is ^0000FF%d^000000 and ^FF0000%s^000000, your total is ^FF0000%d^000000. " - "I am winning this game. Would you like to cast dice again?", - .@tablesub, strcharinfo(PC_NAME), .@playersub); - } - next; - switch (select("Cast dice.", "Cancel.")) { - case 1: - mes("^3355FF*Rolling and rumbling*^000000"); - .@player3 = rand(1,6); - .@playertotal += .@player3; - next; - mes(.@n$); - if (.@playertotal > 12) { - mesf("^FF0000%s^000000, you got ^FF0000%d^000000 and the total is now ^FF0000%d^000000. " - "You lost this game. I am sorry but please try again.", - strcharinfo(PC_NAME), .@player3, .@playertotal); - close; - } - else if (.@playertotal < .@tablesub) { - mesf("^FF0000%s^000000, you got ^FF0000%d^000000 and the total is now ^FF0000%d^000000. " - "Even though you casted dice again, still your total is smaller than mine. " - "You lost the game. I am sorry and please try again.", - strcharinfo(PC_NAME), .@player3, .@playertotal); - close; - } - else if (.@playertotal == .@tablesub) { - if (.@tablesub > 8) { - mesf("^FF0000%s^000000, you got ^FF0000%d^000000 and the total is now ^FF0000%d^000000. " - "I don't want to take any risk, let's end this game in a draw. " - "Let's play again some other time~", - strcharinfo(PC_NAME), .@player3, .@playertotal); - close2; - getitem Apple,.@amount; - end; - } - mes("Alright."); - mes("Let me cast the dice again."); - } - else { - mesf("^FF0000%s^000000, you got ^FF0000%d^000000 and the total is now ^FF0000%d^000000. " - "Now it is my turn.", - strcharinfo(PC_NAME), .@player3, .@playertotal); - } - break; - case 2: - mes(.@n$); - if (.@playersub > .@tablesub) { - mes("I see, you don't want to take risk of losing the game. Okay, let me cast dice again."); - } - else if (.@playersub == .@tablesub) { - if (.@tablesub > 8) { - mes("I see, you don't want to take risk of losing this game. " - "Neither do I, let's end this game in a draw. " - "Let's play again some other time~"); - close2; - getitem Apple,.@amount; - end; - } - mes("Alright."); - mes("Let me cast the dice again."); - } - else { - mes("It couldn't hurt to try."); - mes("Well, I win this time."); - mes("I'm sorry, let's try play\r" - "again sometime."); - close; - } - break; - } - next; - mes("^3355FF*Rolling and rumbling*^000000"); - .@table3 = rand(1,6); - .@tabletotal += .@table3; - next; - mes(.@n$); - if (.@tabletotal > 12) { - mesf("I got ^0000FF%d^000000 and the total is now ^0000FF%d^000000. " - "I lost this game since my total exceeded 12. Let me give you my apples. " - "Congratulations, that was a great game.", - .@table3, .@tabletotal); - close2; - getitem Apple,.@giveapple; - end; - } - else if (.@playertotal > .@tabletotal) { - mesf("I got ^0000FF%d^000000 and the total is now ^0000FF%d^000000. " - "With total ^FF0000%d^000000 you won this game, ^FF0000%s^000000. Let me give you my apples. " - "It was a great game and I hope we will play again some other time.", - .@table3, .@tabletotal, .@playertotal, strcharinfo(PC_NAME)); - close2; - getitem Apple,.@giveapple; - end; - } - else if (.@playertotal == .@tabletotal) { - mesf("I got ^0000FF%d^000000 and the total is now ^0000FF%d^000000. " - "With total ^FF0000%d^000000 this game came out even, ^FF0000%s^000000. " - "Let me give you your apple back. It was a great game and I hope we will play again some other time.", - .@table3, .@tabletotal, .@playertotal, strcharinfo(PC_NAME)); - close2; - getitem Apple,.@amount; - end; - } - else if (.@playertotal < .@tabletotal) { - mesf("I got ^0000FF%d^000000 and the total is now ^0000FF%d^000000. " - "With total ^FF0000%d^000000 you lost this game, ^FF0000%s^000000. I am sorry but please try again.", - .@table3, .@tabletotal, .@playertotal, strcharinfo(PC_NAME)); - close; - } -} diff --git a/npc/airports/einbroch.txt b/npc/airports/einbroch.txt deleted file mode 100644 index 62ba62b8e..000000000 --- a/npc/airports/einbroch.txt +++ /dev/null @@ -1,127 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2016 Hercules Dev Team -//= Copyright (C) Muad_Dib -//= Copyright (C) L0ne_W0lf -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Einbroch Airport Staff -//========================================================================= - -airport,143,43,5 script Airport Staff#airport1a::airport1 4_F_01,{ - mes("[Airport Staff]"); - mes("Welcome to the\r" - "Einbroch Airport,\r" - "where we offer nonstop\r" - "flights to the cities of\r" - "Juno, Lighthalzen and Hugel."); - next; - if (select("Board the Airship", "Cancel") == 1) { - mes("[Airport Staff]"); - mes("The Airship boarding fee\r" - "is 1,200 zeny, but if you've\r" - "got a Free Ticket for Airship,\r" - "the fee will be waived. Will\r" - "you board the Airship?"); - next; - if (select("Yes", "No") == 1) { - if (countitem(Free_Flying_Ship_Ticket) > 0) { - delitem Free_Flying_Ship_Ticket,1; - warp "airport",148,51; - end; - } - if (Zeny >= 1200) { - Zeny -= 1200; - warp "airport",148,51; - end; - } - mes("[Airport Staff]"); - mes("I'm sorry, but you don't\r" - "have a Free Ticket for\r" - "Airship and you don't have\r" - "enough zeny for boarding\r" - "the Airship. Remember, the\r" - "boarding fee is 1,200 zeny."); - close; - } - } - mes("[Airport Staff]"); - mes("Thank you and\r" - "have a nice day."); - close; -} - -airport,158,43,5 duplicate(airport1) Airport Staff#airport1b 4_F_01 -airport,126,43,5 duplicate(airport1) Airport Staff#airport1c 4_F_01 - -airport,143,49,3 script Arrival Staff#airport2a::airport2 4_F_01,{ - mes("[Arrival Staff]"); - mes("Welcome to Einbroch Airport."); - mes("If you are arriving from your\r" - "flight, let me guide you to the\r" - "main terminal. Otherwise, please board the Airship to depart to\r" - "Juno, Lighthalzen and Hugel."); - next; - if (select("Exit to main terminal.", "Cancel.") == 1) { - mes("[Arrival Staff]"); - mes("Once you're in the main terminal, you will need to pay the fee again\r" - "to board an Airship. You should\r" - "only exit if the city of Einbroch\r" - "is your intended destination."); - mes("Proceed to the main terminal?"); - next; - if (select("Yes", "No") == 1) { - warp "airport",142,40; - end; - } - } - mes("[Arrival Staff]"); - mes("Alright, thank you\r" - "for your patronage\r" - "and I hope you have\r" - "a pleasant flight~"); - close; -} - -airport,126,51,3 duplicate(airport2) Arrival Staff#airport2b 4_F_01 -airport,158,50,3 duplicate(airport2) Arrival Staff#airport2c 4_F_01 - -einbroch,94,267,3 script Airship Staff#ein01 4_F_02,{ - mes("[Airship Staff]"); - mes("Welcome to the\r" - "Einbroch Airport."); - mes("Please use this door to\r" - "board the Airship which stops\r" - "over Juno, Lighthalzen and\r" - "Hugel in the Schwaltzvalt Republic."); - next; - mes("[Airship Staff]"); - mes("Otherwise, if Einbroch is\r" - "your intended destination,\r" - "please head down the stairs\r" - "and ask the Arrival Staff to lead\r" - "you to the main terminal. Thank\r" - "you, and enjoy your travels."); - close; -} diff --git a/npc/airports/hugel.txt b/npc/airports/hugel.txt deleted file mode 100644 index 9be356836..000000000 --- a/npc/airports/hugel.txt +++ /dev/null @@ -1,55 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2016 Hercules Dev Team -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Hugel Airport NPCs -//================= Description =========================================== -//= The Airship System used in the official servers. -//========================================================================= - -hugel,178,142,0 script toairplane#hugel WARPNPC,1,1,{ - end; -OnTouch: - mes("To use the airship, you are required to pay 1,200 zeny or a Free Airship Ticket."); - mes("Would you like to use the service?"); - next; - if (select("Yes", "No") == 1) { - if (countitem(Free_Flying_Ship_Ticket) > 0) { - delitem Free_Flying_Ship_Ticket,1; - warp "airplane",244,58; - end; - } - if (Zeny >= 1200) { - Zeny -= 1200; - warp "airplane",244,58; - end; - } - mes("I am sorry, but you do not have enough money."); - mes("Please remember, you are required to pay 1,200 zeny to use the service."); - close; - } - mes("Thank you, please come again."); - close; -} diff --git a/npc/airports/izlude.txt b/npc/airports/izlude.txt deleted file mode 100644 index ddcc4541c..000000000 --- a/npc/airports/izlude.txt +++ /dev/null @@ -1,72 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2016 Hercules Dev Team -//= Copyright (C) rAthena Dev Team -//= Copyright (C) eAthena Dev Team -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Izlude Airport NPCs -//================= Description =========================================== -//= Official Izlude Airport NPCs -//========================================================================= - -- script ::Airship_Staff_izlude FAKE_NPC,{ - mes("[Airship Staff]"); - mes("Welcome! Would you like\r" - "to board the Airship that\r" - "departs on the flight wich stops\r" - "in Juno and Rachel?"); - next; - if (select("Board the Airship to Juno/Rachel.", "Cancel.") == 1) { - mes("[Airship Staff]"); - mes("The boarding fee is\r" - "1,200 zeny. However, this\r" - "charged is waived if you use\r" - "a Free Ticket for Airship. Now,\r" - "would you still like to board?"); - next; - if (select("Yes", "No") == 1) { - if (countitem(Free_Flying_Ship_Ticket) > 0) { - delitem Free_Flying_Ship_Ticket,1; - warp "airplane_01",244,58; - end; - } - if (Zeny >= 1200) { - Zeny -= 1200; - warp "airplane_01",244,58; - end; - } - mes("[Airship Staff]"); - mes("I'm sorry, but you don't\r" - "have 1,200 zeny to pay\r" - "for the boarding fee."); - close; - } - } - mes("[Airship Staff]"); - mes("Thank you and\r" - "please come again."); - mes("Have a good day~"); - close; -} diff --git a/npc/airports/lighthalzen.txt b/npc/airports/lighthalzen.txt deleted file mode 100644 index 80842aa9d..000000000 --- a/npc/airports/lighthalzen.txt +++ /dev/null @@ -1,104 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2016 Hercules Dev Team -//= Copyright (C) Muad_Dib -//= Copyright (C) L0ne_W0lf -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Lighthalzen Airport Staff -//================= Description =========================================== -//= Official Lighthalzen Airport Staff -//========================================================================= - -lhz_airport,143,43,5 script Airport Staff#lhz_air1a::lhz_airport1 4_F_01,{ - mes("[Airport Staff]"); - mes("Welcome to the\r" - "Lighthalzen Airport,\r" - "where we offer nonstop\r" - "flights to Einbroch, Juno and Hugel."); - next; - if (select("Board the Airship.", "Cancel.") == 1) { - mes("[Airport Staff]"); - mes("The boarding fee is\r" - "1,200 zeny, but you can\r" - "waive the fee if you redeem\r" - "a Free Ticket for Airship."); - next; - if (select("Yes", "No") == 1) { - if (countitem(Free_Flying_Ship_Ticket) > 0) { - delitem Free_Flying_Ship_Ticket,1; - warp "lhz_airport",148,51; - end; - } - if (Zeny >= 1200) { - Zeny -= 1200; - warp "lhz_airport",148,51; - end; - } - mes("[Airship Staff]"); - mes("I'm sorry, but you don't\r" - "have 1,200 zeny to pay\r" - "for the boarding fee."); - close; - } - } - mes("[Airport Staff]"); - mes("Thank you and\r" - "please come again."); - mes("Have a good day~"); - close; -} - -lhz_airport,158,43,5 duplicate(lhz_airport1) Airship Staff#lhz_air1b 4_F_01 -lhz_airport,126,43,5 duplicate(lhz_airport1) Airship Staff#lhz_air1c 4_F_01 - -lhz_airport,143,49,3 script Arrival Staff#lhz_air2a::lhz_airport2 4_F_01,{ - mes("[Arrival Staff]"); - mes("Welcome to Lighthalzen Airport."); - mes("Please let me guide you to the\r" - "main terminal if you are arriving from your flight. Otherwise, please\r" - "board the departing Airship to reach your intended destination."); - next; - if (select("Exit to main terminal.", "Cancel.") == 1) { - mes("[Arrival Staff]"); - mes("Once you're in the main terminal, you will need to pay the fee again\r" - "to board an Airship. You should\r" - "only exit if Lighthalzen is your intended destination. Shall we\r" - "proceed to the main terminal?"); - next; - if (select("Yes", "No") == 1) { - warp "lhz_airport",142,40; - end; - } - } - mes("[Arrival Staff]"); - mes("Alright, thank you\r" - "for your patronage\r" - "and I hope you have\r" - "a pleasant flight~"); - close; -} - -lhz_airport,126,51,3 duplicate(lhz_airport2) Arrival Staff#lhz_air2b 4_F_01 -lhz_airport,158,50,3 duplicate(lhz_airport2) Arrival Staff#lhz_air2c 4_F_01 diff --git a/npc/airports/rachel.txt b/npc/airports/rachel.txt deleted file mode 100644 index 91db25d7e..000000000 --- a/npc/airports/rachel.txt +++ /dev/null @@ -1,57 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2016 Hercules Dev Team -//= Copyright (C) rAthena Dev Team -//= Copyright (C) eAthena Dev Team -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Rachel Airport NPCs -//================= Description =========================================== -//= Official Rachel Airport NPCs -//========================================================================= - -ra_fild12,295,208,0 script toairplane#rachel WARPNPC,1,1,{ - end; -OnTouch: - mes("To use the airship, you are required to pay 1,200 zeny or a Free Airship Ticket."); - mes("Would you like to use the service?"); - next; - if (select("Yes", "No") == 1) { - if (countitem(Free_Flying_Ship_Ticket) > 0) { - delitem Free_Flying_Ship_Ticket,1; - warp "airplane_01",245,60; - end; - } - if (Zeny >= 1200) { - Zeny -= 1200; - warp "airplane_01",245,60; - end; - } - mes("I am sorry, but you do not have enough money."); - mes("Please remember, you are required to pay 1,200 zeny to use the service."); - close; - } - mes("Thank you, please come again."); - close; -} diff --git a/npc/airports/yuno.txt b/npc/airports/yuno.txt deleted file mode 100644 index 6ae5b1657..000000000 --- a/npc/airports/yuno.txt +++ /dev/null @@ -1,180 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2016 Hercules Dev Team -//= Copyright (C) Muad_Dib -//= Copyright (C) L0ne_W0lf -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Juno Airport Staff -//================= Description =========================================== -//= Official Juno Airport Staff -//========================================================================= - -y_airport,143,43,5 script Airport Staff#y_air1a::y_airport1 4_F_01,{ - mes("[Airport Staff]"); - mes("Welcome to Juno Airport where we offer domestic flights to Einbroch, Lighthalzen and Hugel,\r" - "and international flights to Izlude and Rachel."); - mes("How may I be of service?"); - next; - if (select("Board the Airship.", "Cancel.") == 1) { - mes("[Airport Staff]"); - mes("The boarding fee for all\r" - "flights is 1,200 zeny. If you\r" - "use a Free Ticket for Airship,\r" - "the boarding fee will be waived.So would you like to depart?"); - next; - if (select("Yes", "No") == 1) { - if (countitem(Free_Flying_Ship_Ticket) > 0) { - delitem Free_Flying_Ship_Ticket,1; - warp "y_airport",148,51; - end; - } - if (Zeny >= 1200) { - Zeny -= 1200; - warp "y_airport",148,51; - end; - } - mes("[Airport Staff]"); - mes("I'm sorry, but you don't\r" - "have 1,200 zeny to pay\r" - "for the boarding fee."); - close; - } - } - mes("[Airport Staff]"); - mes("Thank you and\r" - "have a nice day."); - close; -} - -y_airport,158,43,5 duplicate(y_airport1) Airport Staff#y_air1b 4_F_01 -y_airport,126,43,5 duplicate(y_airport1) Airport Staff#y_air1c 4_F_01 - -y_airport,143,49,3 script Arrival Staff#y_air2a::y_airport2 4_F_01,{ - mes("[Airport Staff]"); - mes("Welcome to Juno Airport. If you've just arrived from your\r" - "flight, let me guide you to the main terminal. Otherwise, please\r" - "board the departing Airship to reach your intended destination."); - next; - if (select("Exit to main terminal", "Cancel") == 1) { - mes("[Airport Staff]"); - mes("Once you're in the main terminal, you must pay the fee once again\r" - "to board a departing Airship. You should only exit if your intended\r" - "destination is Juno. Proceed to\r" - "exit to the main terminal?"); - next; - if (select("Yes", "No") == 1) { - warp "y_airport",142,40; - end; - } - } - mes("[Airport Staff]"); - mes("Alright, thank you\r" - "for your patronage\r" - "and I hope you have\r" - "a pleasant flight~"); - close; -} - -y_airport,126,51,3 duplicate(y_airport2) Arrival Staff#y_air2b 4_F_01 -y_airport,158,50,3 duplicate(y_airport2) Arrival Staff#y_air2c 4_F_01 - -y_airport,145,63,5 script Domestic Boarding 4_F_02,{ - mes("[Boarding Staff]"); - mes("Would you like to board the\r" - "Airship that flies to Einbroch,\r" - "Lighthalzen and Hugel? If so,\r" - "please let me guide you to that\r" - "Airship's boarding area."); - next; - if (select("Yes", "No") == 1) { - warp "yuno",59,244; - end; - } - mes("[Boarding Staff]"); - mes("Very well, then."); - mes("Thank you for your\r" - "patronage, and I hope\r" - "you enjoy your travels~"); - close; -} - -y_airport,140,63,5 script International Boarding 4_F_02,{ - mes("[Boarding Staff]"); - mes("Would you like to board\r" - "the Airship which flies to\r" - "Juno, Izlude and Rachel?"); - mes("If so, let me guide\r" - "you to the boarding area."); - next; - if (select("Yes", "No") == 1) { - warp "yuno",47,244; - end; - } - mes("[Boarding Staff]"); - mes("Alright, then."); - mes("Thank you for flying\r" - "with us, and I hope you\r" - "enjoy your travels on our\r" - "state of the art Airships."); - close; -} - -yuno,14,262,5 script Airship Staff#yuno01 4_F_02,{ - mes("[Airship Staff]"); - mes("Welcome to Juno Airport."); - mes("Please use this door to\r" - "board the Airship that will\r" - "be flying all the way to Izlude\r" - "in the Rune-Midgarts Kingdom,\r" - "and to Rachel in the Arunafeltz\r" - "Republic."); - next; - mes("[Airship Staff]"); - mes("Otherwise, if Juno is\r" - "your intended destination,\r" - "please head down the stairs\r" - "and ask the Arrival Staff to lead\r" - "you to the main terminal. Thank\r" - "you, and enjoy your travels."); - close; -} - -yuno,88,263,3 script Airship Staff#yuno02 4_F_02,{ - mes("[Airship Staff]"); - mes("Welcome to Juno Airport."); - mes("Please use this door to\r" - "board the Airship which stops\r" - "over Einbroch, Lighthalzen and\r" - "Hugel in the Schwaltzvalt Republic."); - next; - mes("[Airship Staff]"); - mes("Otherwise, if Juno is\r" - "your intended destination,\r" - "please head down the stairs\r" - "and ask the Arrival Staff to lead\r" - "you to the main terminal. Thank\r" - "you, and enjoy your travels."); - close; -} diff --git a/npc/battleground/bg_common.txt b/npc/battleground/bg_common.txt deleted file mode 100644 index 4c9f3c307..000000000 --- a/npc/battleground/bg_common.txt +++ /dev/null @@ -1,578 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2016 Hercules Dev Team -//= Copyright (C) Euphy -//= Copyright (C) L0ne_W0lf -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -// BattleGround System - Common NPCs -//================= Description =========================================== -//= Battleground NPCs: -//= - Generals and Aides -//= - Battleground Warper -//= - Kafra and Repairman. -//= - GM Management NPC (disabled by default) -//= - Badge Exchanger (Tierra and Flavius) -//================= Current Version ======================================= -//= 1.4 -//========================================================================= - -//== Generals ============================================== -bat_room,161,158,3 script Gen. Guillaume's Aide#01 4_M_KY_HEAD,{ end; } -bat_room,161,160,3 script Gen. Guillaume's Aide#03 4_M_KY_HEAD,{ end; } - -bat_room,160,141,3 script Prince Croix 4_M_CRU_CRUA,{ - cutin "bat_crua1",2; - mes("[Prince Croix]"); - mes("Wise adventurer, why don't you lend us your power for victory?"); - next; - switch(select("What's the reason for the Battle?", "Tell me about General Guillaume")) { - case 1: - cutin "bat_crua2",2; - mes("[Prince Croix]"); - mes("Maroll's great king, Marcel Marollo VII, is very sick lately."); - mes("His Majesty has declared that he will be leaving the future of Maroll to me or the 3rd prince, General Guillaume."); - next; - mes("[Prince Croix]"); - mes("General Guillaume may have an advantage in this battle as he is the great general of Maroll, but that doesn't automatically mean he'll win."); - mes("I want to win this battle so that I can bring prosperity to the people of Maroll. They've suffered enough from war..."); - next; - switch(select("Yes, I want to join you.", "End Conversation")) { - case 1: - cutin "bat_crua1",2; - mes("[Prince Croix]"); - mes("Thank you so much. I feel like I can win with the help of adventurers like you."); - mes("Now, please go downstairs and join your comrades in sharpening their skills to fight the enemy!"); - break; - case 2: - mes("[Prince Croix]"); - mes("For Maroll!"); - break; - } - break; - case 2: - cutin "bat_crua2",2; - mes("[Prince Croix]"); - mes("The 3rd Prince Guillaume is the great general of Maroll."); - mes("It's a waste of time to explain to you how great a leader or warlord he is, since he commands the great military power of Maroll."); - next; - mes("[Prince Croix]"); - mes("Unfortunately, there's something he and his followers are unaware of:"); - mes("Do the people of Maroll really want them to spend so much money on military power?"); - mes("We have suffered enough from wars."); - mes("I believe weapons aren't the best way to bring prosperity to a nation."); - next; - mes("[Prince Croix]"); - mes("I do not wish to shed blood, but I have no choice but to fight for the possibility of peace and for the sake of my people."); - next; - switch(select("Yes, I want to join you.", "End Conversation")) { - case 1: - cutin "bat_crua1",2; - mes("[Prince Croix]"); - mes("Thank you so much. I feel like I can win with the help of adventurers like you."); - mes("Now, please go downstairs and join your comrades in sharpening their skills to fight the enemy!"); - break; - case 2: - mes("[Prince Croix]"); - mes("For Maroll!"); - break; - } - break; - } - close2; - cutin "bat_crua1",255; - cutin "bat_crua2",255; - end; -} - -bat_room,161,140,3 script Prince Croix's Aide#01 4_M_CRU_HEAD,{ end; } -bat_room,161,142,3 script Prince Croix's Aide#02 4_M_CRU_HEAD,{ end; } - -bat_room,160,159,3 script General Guillaume 4_M_KY_KIYOM,{ - cutin "bat_kiyom2",2; - mes("[General Guillaume]"); - mes("Hot-blooded adventurer, we need your ability to win this battle."); - next; - switch(select("What's the reason for the Battle?", "Tell me about Prince Croix")) { - case 1: - cutin "bat_kiyom1",2; - mes("[General Guillaume]"); - mes("Our great king, Marcel Marollo VII, is very sick lately."); - mes("His Majesty has declared that he has chosen either me or Prince Croix as the next king amongst his 9 sons."); - next; - mes("[General Guillaume]"); - mes("Two kings can't share a nation! Only the one victorious from His Majesty's appointed battle will be enthroned."); - next; - mes("[General Guillaume]"); - mes("This is, however, not just a battle between us. This battle will determine the future of this country."); - mes("I pledge on my honor to prove that I'm the one who can protect this Maroll from outside threats."); - next; - switch(select("Yes, I want to join you.", "End Conversation")) { - case 1: - cutin "bat_kiyom2",2; - mes("[General Guillaume]"); - mes("Welcome to my army, comrade."); - mes("Your eyes tell me that you're a soldier that I can trust."); - next; - mes("[General Guillaume]"); - mes("Now, go upstairs and apply for battle with your comrades."); - mes("I'm sure they'll welcome you whole-heartedly!"); - break; - case 2: - mes("[General Guillaume]"); - mes("I'll be the one who will capture the flag!"); - break; - } - break; - case 2: - cutin "bat_kiyom1",2; - mes("[General Guillaume]"); - mes("The 5th Prince Croix is currently titled as the Prime Minister of Maroll."); - mes("He thinks all national matters of a nation can be discussed and determined on a desk,\r" - "and believes in peaceful co-existence with other countries."); - next; - mes("[General Guillaume]"); - mes("He's too ignorant to admit that so-called peace is built on countless lives that are sacrificed in " - "wars while normal citizens and upper classes can live, oblivious to the horrors that allow them to live that way."); - next; - mes("[General Guillaume]"); - mes("He's too naive to understand the reality...."); - mes("I can't leave Maroll to someone like him who lives in a dream!"); - next; - mes("[General Guillaume]"); - mes("His unrealistic beliefs will drown this country in poverty and make the people weak. If he becomes the king, " - "Maroll will never rest from the onslaughts of other countries."); - mes("I want to teach him what makes this small country so powerful and prosperous. It's military power!"); - next; - switch(select("I want to join your army!", "End Conversation")) { - case 1: - cutin "bat_kiyom2",2; - mes("[General Guillaume]"); - mes("Welcome to my army, comrade."); - mes("Your eyes tell me that you're a soldier that I can trust."); - next; - mes("[General Guillaume]"); - mes("Now, go upstairs and apply for battle from your comrades."); - mes("I'm sure they'll welcome you whole-heartedly!"); - break; - case 2: - mes("[General Guillaume]"); - mes("I'll be the one who will capture the flag!"); - break; - } - break; - } - close2; - cutin "bat_kiyom1",255; - cutin "bat_kiyom2",255; - end; -} - -//== Flags ================================================= -//bat_room,140,160,3 script Guillaume Base#roomflag1 1_FLAG_LION,{ end; } -//bat_room,167,160,3 script Guillaume Base#roomflag2 1_FLAG_LION,{ end; } -//bat_room,140,139,3 script Croix Base#roomflag1 1_FLAG_EAGLE,{ end; } -//bat_room,167,139,3 script Croix Base#roomflag2 1_FLAG_EAGLE,{ end; } - -//== BattleGround Warper =================================== -bat_room,148,150,5 script Teleporter#Battlefield 4_F_TELEPORTER,{ - mes("[Teleporter]"); - mes("Do you wish to leave the battlefield? Use my services to return to town."); - next; - switch(select("Leave", "Don't Leave")) { - case 1: - mes("[Teleporter]"); - switch(bat_return) { - default: - case 1: - setarray .@mapname$[0], _("Prontera"), "prontera"; - setarray .@xy[0],116,72; - break; - case 2: - setarray .@mapname$[0], _("Morroc"), "moc_ruins"; - setarray .@xy[0],152,48; - break; - case 3: - setarray .@mapname$[0], _("Al De Baran"), "aldebaran"; - setarray .@xy[0],168,112; - break; - case 4: - setarray .@mapname$[0], _("Geffen"), "geffen"; - setarray .@xy[0],120,39; - break; - case 5: - setarray .@mapname$[0], _("Payon"), "payon"; - setarray .@xy[0],161,58; - break; - case 6: - setarray .@mapname$[0], _("Lighthalzen"), "lighthalzen"; - setarray .@xy[0],159,93; - break; - case 7: - setarray .@mapname$[0], _("Rachel"), "rachel"; - setarray .@xy[0],115,124; - break; - } - mesf("You will be sent back to %s.", .@mapname$[0]); - close2; - warp .@mapname$[1],.@xy[0],.@xy[1]; - break; - case 2: - mes("[Teleporter]"); - mes("I'll be here whenever you're in need of my services."); - close; - } - end; -} - -- script Maroll Battle Recruiter::BatRecruit 4_F_JOB_KNIGHT,{ - mes("[Maroll Battle Recruiter]"); - mes("Good day, adventurer."); - mes("I'm a knight from a far country called Maroll Kingdom."); - next; - mes("[Maroll Battle Recruiter]"); - mes("The two princes of the kingdom are now battling for the throne of Maroll, and are in need of experienced soldiers like you."); - mes("How would you like to lend your power to one of the princes in the Maroll Kingdom?"); - next; - switch(select("Join", "Don't Join")) { - case 1: - mes("[Maroll Battle Recruiter]"); - mes("May the war god bless you."); - close2; - getmapxy(.@mapname$, .@x, .@y, UNITTYPE_NPC); - if (.@mapname$ == "prontera") - bat_return = 1; - else if (.@mapname$ == "moc_ruins") - bat_return = 2; - else if (.@mapname$ == "aldebaran") - bat_return = 3; - else if (.@mapname$ == "geffen") - bat_return = 4; - else if (.@mapname$ == "payon") - bat_return = 5; - else if (.@mapname$ == "lighthalzen") - bat_return = 6; - else if (.@mapname$ == "rachel") - bat_return = 7; - else - bat_return = 1; - warp "bat_room",154,150; - break; - case 2: - mes("[Maroll Battle Recruiter]"); - mes("I'll always be stationed here for more soldiers. Feel free to come back whenever you're interested."); - close; - } - end; -} - -prontera,123,83,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit1 4_F_JOB_KNIGHT -moc_ruins,75,162,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit2 4_F_JOB_KNIGHT -aldebaran,146,109,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit3 4_F_JOB_KNIGHT -geffen,109,66,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit4 4_F_JOB_KNIGHT -payon,189,105,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit5 4_F_JOB_KNIGHT -lighthalzen,153,86,5 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit6 4_F_JOB_KNIGHT -rachel,149,138,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit7 4_F_JOB_KNIGHT - -//== Additional warps ====================================== -// Empty -bat_room,57,81,0 warp bat1 1,1,bat_room,154,149 -bat_room,57,90,0 warp bat2 1,1,bat_room,154,149 -// Empty -bat_room,85,81,0 warp bat5 1,1,bat_room,154,149 -bat_room,85,90,0 warp bat6 1,1,bat_room,154,149 -// Free BG -bat_room,113,81,0 warp bat9 1,1,bat_room,154,149 -bat_room,113,90,0 warp bat10 1,1,bat_room,154,149 -// Free BG -bat_room,141,81,0 warp bat13 1,1,bat_room,154,149 -bat_room,141,90,0 warp bat14 1,1,bat_room,154,149 -// Free BG -bat_room,169,81,0 warp bat17 1,1,bat_room,154,149 -bat_room,169,90,0 warp bat18 1,1,bat_room,154,149 -// Free BG -bat_room,197,81,0 warp bat21 1,1,bat_room,154,149 -bat_room,197,90,0 warp bat22 1,1,bat_room,154,149 -// Free BG -bat_room,225,81,0 warp bat25 1,1,bat_room,154,149 -bat_room,225,90,0 warp bat26 1,1,bat_room,154,149 -// Empty -bat_room,253,81,0 warp bat29 1,1,bat_room,154,149 -bat_room,253,90,0 warp bat30 1,1,bat_room,154,149 -// Empty -bat_room,253,220,0 warp bat31 1,1,bat_room,154,149 -bat_room,253,211,0 warp bat32 1,1,bat_room,154,149 - -//== Kafra ================================================= -bat_room,148,147,4 script Kafra Staff::kaf_bat 4_F_KAFRA9,{ - cutin "kafra_09",2; - callfunc "F_Kafra",0,2,1,150,0; -} - -//== Repairman ============================================= -bat_room,138,144,4 script Repairman#bg 4_M_04,{ - callfunc("repairmain", _("Repairman")); - end; -} - -//== GM Management NPC ===================================== -bat_room,1,151,3 script Switch#batgnd 4_DOG01,{ - .@i = callfunc("F_GM_NPC",1854,0); - if (.@i == -1) { - mes("The command has been cancelled."); - close; - } else if (.@i == 0) { - end; - } else { - mes("May I help you?"); - next; - switch(select("Close Battlefield", "Open Battlefield", "Reset a01", "Reset b01", "Reset a02", "Reset b02")) { - case 1: - disablenpc "Tierra Gorge Officer#01a"; - disablenpc "Tierra Gorge Officer#02a"; - disablenpc "Tierra Gorge Officer#01b"; - disablenpc "Tierra Gorge Officer#02b"; - disablenpc "Flavius Officer#01a"; - disablenpc "Flavius Officer#01b"; - disablenpc "Flavius Officer#02a"; - disablenpc "Flavius Officer#02b"; - break; - case 2: - enablenpc "Tierra Gorge Officer#01a"; - enablenpc "Tierra Gorge Officer#02a"; - enablenpc "Tierra Gorge Officer#01b"; - enablenpc "Tierra Gorge Officer#02b"; - enablenpc "Flavius Officer#01a"; - enablenpc "Flavius Officer#01b"; - enablenpc "Flavius Officer#02a"; - enablenpc "Flavius Officer#02b"; - break; - case 3: - donpcevent "start#bat_a01::OnEnable"; - break; - case 4: - donpcevent "start#bat_b01::OnEnable"; - break; - case 5: - donpcevent "start#bat_a02::OnEnable"; - break; - case 6: - donpcevent "start#bat_b02::OnEnable"; - break; - } - mes("Complete"); - close; - } -} - -//== Badges Exchange ======================================= -bat_room,160,150,3 script Erundek 4_M_MANAGER,{ - if (checkweight(Knife,1) == 0) { - mes("- Wait a minute !! -"); - mes("- Currently you're carrying -"); - mes("- too many items with you. -"); - mes("- Please try again -"); - mes("- after you loose some weight. -"); - close; - } - mes("[Erundek]"); - mes("Do you have the battlefield badges?"); - mes("I can exchange Bravery Badges and Valor Badges for reward items."); - next; - switch(select("Exchange Badges", "Check the Catalog")) { - case 1: - mes("[Erundek]"); - mes("Which type of items would you like to exchange?"); - mes("To check more information about the reward items, please use our ^3131FFCatalog^000000."); - next; - switch(select("Weapon", "Armor", "Accessory", "Consumable")) { - case 1: - mes("[Erundek]"); - mes("You chose ^3131FFWeapon^000000."); - mes("The following weapons are available for exchange with the battlefield badges."); - mes("Please note that items for ^3131FFBravery Badges are indicated as (BB)^000000, and ^3131FFValor Badges as (VB)^000000."); - next; - switch(select("Dagger/OneSword/TwoSword/TwoSpear", "Staff/Mace/TwoAxe/Shuriken", "Bow/Katar/Music/Whip", "Book/Knuckle", "Revolver/Rifle/Gatling/Shotgun/Launcher")) { - case 1: - mes("[Erundek]"); - mes("The following items are available in the ^3131FFDagger, One-Handed Sword, Two-Handed Sword, and Two-Handed Spear^000000 category."); - next; - setarray .@Weapons[0],13036,7828,13037,7829,13411,7828,13410,7829,1183,7828,1184,7829,1425,7828,1482,7829; - break; - case 2: - mes("[Erundek]"); - mes("The following items are available in the ^3131FFStaff / Mace / Two-Handed Axe / Huuma Shuriken^000000 category."); - next; - setarray .@Weapons[0],1632,7828,1633,7829,1634,7828,1635,7829,1543,7828,1542,7829,1380,7828,1379,7829,13305,7828,13306,7829; - break; - case 3: - mes("[Erundek]"); - mes("The following weapons are available in the ^3131FFBow / Katar / Musical Instrument / Whip^000000 category."); - next; - setarray .@Weapons[0],1739,7828,1738,7829,1279,7828,1280,7829,1924,7828,1923,7829,1978,7828,1977,7829; - break; - case 4: - mes("[Erundek]"); - mes("The following weapons are available in the ^3131FFBook / Knuckle^000000 category."); - next; - setarray .@Weapons[0],1574,7828,1575,7829,1824,7828,1823,7829; - break; - case 5: - mes("[Erundek]"); - mes("The following weapons are available in the ^3131FFRevolver / Rifle / Gatling Gun / Shotgun / Grenade Launcher^000000 category."); - next; - setarray .@Weapons[0],13108,7828,13171,7829,13172,7828,13173,7829,13174,7829; - break; - } - .@menu$ = ""; - for (.@i = 0; .@i < getarraysize(.@Weapons); .@i += 2) - .@menu$ += getitemname(.@Weapons[.@i]) + ((.@Weapons[.@i+1]==7828) ? _("(BB)") : _("(VB)")) + ":"; - .@i = (select(.@menu$)-1)*2; - .@type$ = ((.@Weapons[.@i+1]==7828) ? _("(BB)") : _("(VB)")); - mes("[Erundek]"); - mesf("You chose ^3131FF%s%s^000000.", getitemname(.@Weapons[.@i]), .@type$); - mesf("You can exchange for this item with ^FF0000100 %s^000000.", getitemname(.@Weapons[.@i+1])); - mes("Would you like to exchange?"); - next; - switch(select("Do not exchange", "Exchange")) { - case 1: - break; - case 2: - mes("[Erundek]"); - mesf("Would you like to spend ^FF0000100 %s^000000 and receive a ^3131FF%s%s^000000?", - getitemname(.@Weapons[.@i+1]), getitemname(.@Weapons[.@i]), .@type$); - next; - mes("[Erundek]"); - mes("Remember, Battleground Reward Items are ^FF0000Character Bound^000000. Are you sure you want this item?"); - next; - switch(select("Yes", "No")) { - case 1: - mes("[Erundek]"); - if (countitem(.@Weapons[.@i+1]) >= 100) { - mes("Thank you for exchanging."); - delitem .@Weapons[.@i+1],100; - getitem .@Weapons[.@i],1; - } - else mes("I'm sorry, but you don't have enough badges to exchange."); - close; - case 2: - break; - } - break; - } - mes("[Erundek]"); - mes("Do you need more time to check the items?"); - close; - case 2: - mes("[Erundek]"); - mes("You chose ^3131FFArmor^000000."); - mes("The following armors are available for exchange with the battlefield badges."); - next; - switch(select("Garments / Shoes", "Armor")) { - case 1: - setarray .@items[0],2538,50,2539,50,2540,50,2435,50,2436,50,2437,50; - break; - case 2: - setarray .@items[0],2376,80,2377,80,2378,80,2379,80,2380,80,2381,80,2382,80; - break; - } - break; - case 3: - mes("[Erundek]"); - mes("You chose ^3131FFAccessory^000000."); - mes("You can exchange the Medal of Honors with your Badges according to the job classes, as follows:"); - next; - setarray .@items[0],2733,500,2720,500,2721,500,2722,500,2723,500,2724,500,2725,500; - .@menu1$ = sprintf("%s:%s/%s:%s:%s:%s:%s:%s", - jobname(Job_Gunslinger), jobname(Job_Swordman), jobname(Job_Star_Gladiator), jobname(Job_Thief), - jobname(Job_Acolyte), jobname(Job_Mage), jobname(Job_Archer), jobname(Job_Merchant)); - break; - case 4: - mes("[Erundek]"); - mes("You chose ^3131FFConsumable^000000."); - mes("The following consumable items are available for exchange with the battlefield badges:"); - next; - setarray .@items[0],12269,10,12270,10,12271,5,12272,10,12273,10; - break; - } - break; - case 2: - mes("[Erundek]"); - mes("We have many items, so please take a look and purchase deliberately."); - close2; - readbook 11010,1; - end; - } - .@menu$ = ""; - if (.@menu1$ != "") .@menu$ = .@menu1$; - else for (.@i = 0; .@i < getarraysize(.@items); .@i += 2) - .@menu$ += getitemname(.@items[.@i])+":"; - .@i = (select(.@menu$)-1)*2; - mes("[Erundek]"); - mesf("You chose ^3131FF%s^000000.", getitemname(.@items[.@i])); - switch(.@items[.@i]) { - case 2720: mes("This item is for Swordman and Taekwon Master Class only."); break; - case 2721: mes("This item is for Thief Class only."); break; - case 2722: mes("This item is for Acolyte Class only."); break; - case 2723: mes("This item is for Magician Class only."); break; - case 2724: mes("This item is for Archer Class only."); break; - case 2725: mes("This item is for Merchant Class only."); break; - case 2733: mes("This item is for Gunslinger only."); break; - default: break; - } - mesf("You can exchange for this item with ^FF0000%d %s or %d %s^000000.", .@items[.@i+1], getitemname(7828), .@items[.@i+1], getitemname(7829)); - mes("Would you like to exchange?"); - next; - switch(select("Do not exchange", "Exchange")) { - case 1: - mes("[Erundek]"); - mes("Do you need more time to check the items?"); - break; - case 2: - mes("[Erundek]"); - mes("Which Badge do you want to exchange?"); - mesf("You need ^3131FF%d Badges^000000 to exchange.", .@items[.@i+1]); - next; - if (.@item[0] < 12269 || .@item[0] > 12273 ) { - mes("[Erundek]"); - mes("Remember, Battleground Reward Items are ^FF0000Character Bound^000000. Are you sure you want this item?"); - next; - } - .@j = select("Bravery Badge", "Valor Badge", "Cancel"); - mes("[Erundek]"); - if (.@j == 3) { - mes("You cancelled the exchange."); - break; - } - .@cost = ((.@j==1)?7828:7829); - if (countitem(.@cost) >= .@items[.@i+1]) { - mes("Thank you for exchanging."); - delitem .@cost, .@items[.@i+1]; - getitem .@items[.@i],1; - } - else mesf("You do not have enough %ss.", getitemname(.@cost)); - break; - } - close; -} diff --git a/npc/battleground/flavius/flavius01.txt b/npc/battleground/flavius/flavius01.txt deleted file mode 100644 index ee8ac5cb3..000000000 --- a/npc/battleground/flavius/flavius01.txt +++ /dev/null @@ -1,768 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2016 Hercules Dev Team -//= Copyright (C) Euphy -//= Copyright (C) Kisuka -//= Copyright (C) L0ne_W0lf -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -// BattleGround System - Flavius -//================= Description =========================================== -//= Flavius Battleground. -//= - Winning Team: 9 badges -//= - Losing Team: 3 badge -//================= Current Version ======================================= -//= 1.5 -//========================================================================= - -//== Waiting Room NPCs ===================================== -bat_room,86,227,4 script Lieutenant Ator 4_M_KY_KNT,{ - end; -OnInit: - waitingroom(_("Battle Station"), 11, "start#bat_b01::OnReadyCheck", 1, 0, 80); - end; -OnEnterBG: - $@FlaviusBG1_id1 = waitingroom2bg("bat_b01",10,290,"start#bat_b01::OnGuillaumeQuit",""); - end; -} - -bat_room,85,204,0 script Lieutenant Thelokus 4_M_CRU_KNT,{ - end; -OnInit: - waitingroom(_("Battle Station"), 11, "start#bat_b01::OnReadyCheck", 1, 0, 80); - end; -OnEnterBG: - $@FlaviusBG1_id2 = waitingroom2bg("bat_b01",390,10,"start#bat_b01::OnCroixQuit",""); - end; -} - -bat_room,85,220,0 warp back_bgroomb01a 1,1,bat_room,154,150 -bat_room,85,211,0 warp back_bgroomb01b 1,1,bat_room,154,150 - -bat_room,2,151,3 script #bat_b01_timer CLEAR_NPC,{ - end; - -OnInit: -OnEnable: - initnpctimer; - end; - -OnStop: - stopnpctimer; - end; - -OnTimer1000: - stopnpctimer; - initnpctimer; - .@chk_bat_a01 = getmapusers("bat_b01"); - if (.@chk_bat_a01 < 1) { - $@FlaviusBG1 = 0; - if( $@FlaviusBG1_id1 ) { bg_destroy $@FlaviusBG1_id1; $@FlaviusBG1_id1 = 0; } - if( $@FlaviusBG1_id2 ) { bg_destroy $@FlaviusBG1_id2; $@FlaviusBG1_id2 = 0; } - donpcevent "start#bat_b01::OnReadyCheck"; - } - end; -} - -//== Flavius Battleground Engine =========================== -bat_b01,15,15,3 script start#bat_b01 CLEAR_NPC,{ -OnInit: - mapwarp "bat_b01","bat_room",154,150; - end; - -OnReadyCheck: - if( $@FlaviusBG1 ) - end; - .@Guillaume = getwaitingroomstate(0,"Lieutenant Ator"); - .@Croix = getwaitingroomstate(0,"Lieutenant Thelokus"); - if( !.@Guillaume && !.@Croix ) { - donpcevent "#bat_b01_timer::OnStop"; - end; - } - if( .@Guillaume < 10 || .@Croix < 10 ) - end; - $@FlaviusBG1 = 1; - $@FlaviusBG1_Victory = 0; - $@Croix_ScoreBG1 = 0; - $@Guill_ScoreBG1 = 0; - bg_updatescore "bat_b01",$@Guill_ScoreBG1,$@Croix_ScoreBG1; - - donpcevent "Lieutenant Ator::OnEnterBG"; - donpcevent "Lieutenant Thelokus::OnEnterBG"; - donpcevent "OBJ#bat_b01_a::OnKill"; - donpcevent "OBJ#bat_b01_a::OnEnable"; - donpcevent "OBJ#bat_b01_b::OnKill"; - donpcevent "OBJ#bat_b01_b::OnEnable"; - donpcevent "guardian#bat_b01_a::OnKill"; - donpcevent "guardian#bat_b01_b::OnKill"; - donpcevent "guardian#bat_b01_a::OnEnable"; - donpcevent "guardian#bat_b01_b::OnEnable"; - donpcevent "cell#bat_b01_a::OnRed"; - donpcevent "cell#bat_b01_b::OnRed"; - donpcevent "time#bat_b01::OnEnable"; - disablenpc "Guillaume Vintenar#b01_a"; - disablenpc "Croix Vintenar#b01_b"; - disablenpc "Vintenar#bat_b01_aover"; - disablenpc "Vintenar#bat_b01_bover"; - bg_warp $@FlaviusBG1_id1,"bat_b01",87,75; - bg_warp $@FlaviusBG1_id2,"bat_b01",311,224; - donpcevent "countdown#bat_b01::OnEnable"; - initnpctimer; - end; - -OnReset: - donpcevent "OBJ#bat_b01_a::OnKill"; - donpcevent "OBJ#bat_b01_a::OnEnable"; - donpcevent "OBJ#bat_b01_b::OnKill"; - donpcevent "OBJ#bat_b01_b::OnEnable"; - donpcevent "guardian#bat_b01_a::OnKill"; - donpcevent "guardian#bat_b01_b::OnKill"; - donpcevent "guardian#bat_b01_a::OnEnable"; - donpcevent "guardian#bat_b01_b::OnEnable"; - donpcevent "cell#bat_b01_a::OnRed"; - donpcevent "cell#bat_b01_b::OnRed"; - donpcevent "time#bat_b01::OnEnable"; - disablenpc "Guillaume Vintenar#b01_a"; - disablenpc "Croix Vintenar#b01_b"; - disablenpc "Vintenar#bat_b01_aover"; - disablenpc "Vintenar#bat_b01_bover"; - bg_warp $@FlaviusBG1_id1,"bat_b01",87,75; - bg_warp $@FlaviusBG1_id2,"bat_b01",311,224; - end; - -OnGuillaumeQuit: -OnCroixQuit: - bg_leave; - end; - -OnTimer10000: - stopnpctimer; - donpcevent "#bat_b01_timer::OnEnable"; - end; -} - -bat_b01,1,1,3 script OBJ#bat_b01_a CLEAR_NPC,{ -OnEnable: - bg_monster $@FlaviusBG1_id1,"bat_b01",61,150,"Pink Crystal",1915,"OBJ#bat_b01_a::OnMyMobDead"; - end; - -OnKill: - killmonster "bat_b01","OBJ#bat_b01_a::OnMyMobDead"; - end; - -OnMyMobDead: - if (mobcount("bat_b01","OBJ#bat_b01_a::OnMyMobDead") < 1) { - mapannounce("bat_b01", _("Guillaume's Crystal has been destroyed."), bc_map, "0xFFCE00"); - if ($@Croix_ScoreBG1 > 0) { - $@FlaviusBG1_Victory = 2; - ++$@Croix_ScoreBG1; - enablenpc "Guillaume Vintenar#b01_a"; - enablenpc "Croix Vintenar#b01_b"; - donpcevent "time#bat_b01::OnStop"; - } - else { - $@Croix_ScoreBG1 = 1; - donpcevent "time#bat_b01::OnEnable"; - donpcevent "start#bat_b01::OnReset"; - } - donpcevent "#bat_b01_timer::OnStop"; - bg_updatescore "bat_b01",$@Guill_ScoreBG1,$@Croix_ScoreBG1; - bg_warp $@FlaviusBG1_id1,"bat_b01",10,290; - bg_warp $@FlaviusBG1_id2,"bat_b01",390,10; - donpcevent "#bat_b01_timer::OnEnable"; - } - end; -} - -bat_b01,1,2,3 script OBJ#bat_b01_b CLEAR_NPC,{ -OnEnable: - bg_monster($@FlaviusBG1_id2, "bat_b01", 328, 150, _("Blue Crystal"), 1914, "OBJ#bat_b01_b::OnMyMobDead"); - end; - -OnKill: - killmonster "bat_b01","OBJ#bat_b01_b::OnMyMobDead"; - end; - -OnMyMobDead: - if (mobcount("bat_b01","OBJ#bat_b01_b::OnMyMobDead") < 1) { - mapannounce("bat_b01", _("Croix's Crystal has been destroyed."), bc_map, "0xFFCE00"); - if ($@Guill_ScoreBG1 > 0) { - $@FlaviusBG1_Victory = 1; - ++$@Guill_ScoreBG1; - enablenpc "Guillaume Vintenar#b01_a"; - enablenpc "Croix Vintenar#b01_b"; - donpcevent "time#bat_b01::OnStop"; - } - else { - $@Guill_ScoreBG1 = 1; - donpcevent "time#bat_b01::OnEnable"; - donpcevent "start#bat_b01::OnReset"; - } - donpcevent "#bat_b01_timer::OnStop"; - bg_updatescore "bat_b01",$@Guill_ScoreBG1,$@Croix_ScoreBG1; - bg_warp $@FlaviusBG1_id1,"bat_b01",10,290; - bg_warp $@FlaviusBG1_id2,"bat_b01",390,10; - donpcevent "#bat_b01_timer::OnEnable"; - } - end; -} - -bat_b01,1,3,3 script guardian#bat_b01_a CLEAR_NPC,{ -OnEnable: - bg_monster($@FlaviusBG1_id1, "bat_b01", 108, 159, _("Guillaume Camp Guardian"), 1949, "guardian#bat_b01_a::OnMyMobDead"); - bg_monster($@FlaviusBG1_id1, "bat_b01", 108, 141, _("Guillaume Camp Guardian"), 1949, "guardian#bat_b01_a::OnMyMobDead"); - end; - -OnKill: - killmonster "bat_b01","guardian#bat_b01_a::OnMyMobDead"; - end; - -OnMyMobDead: - if (mobcount("bat_b01","guardian#bat_b01_a::OnMyMobDead") < 1) { - donpcevent "cell#bat_b01_a::OnGreen"; - mapannounce("bat_b01", _("The Guardian protecting Guillaume's Crystal has been slain."), bc_map, "0xFFCE00"); - } - end; -} - -bat_b01,1,3,3 script guardian#bat_b01_b CLEAR_NPC,{ -OnEnable: - bg_monster($@FlaviusBG1_id2, "bat_b01", 307, 160, _("Croix Camp Guardian"), 1949, "guardian#bat_b01_b::OnMyMobDead"); - bg_monster($@FlaviusBG1_id2, "bat_b01", 307, 138, _("Croix Camp Guardian"), 1949, "guardian#bat_b01_b::OnMyMobDead"); - end; - -OnKill: - killmonster "bat_b01","guardian#bat_b01_b::OnMyMobDead"; - end; - -OnMyMobDead: - if (mobcount("bat_b01","guardian#bat_b01_b::OnMyMobDead") < 1) { - donpcevent "cell#bat_b01_b::OnGreen"; - mapannounce("bat_b01", _("The Guardian protecting Croix's Crystal has been slain."), bc_map, "0xFFCE00"); - } - end; -} - -bat_b01,1,4,3 script cell#bat_b01_a CLEAR_NPC,{ -OnRed: - setcell "bat_b01",62,149,60,151,cell_basilica,1; - setcell "bat_b01",62,149,60,151,cell_walkable,0; - end; - -OnGreen: - setcell "bat_b01",62,149,60,151,cell_basilica,0; - setcell "bat_b01",62,149,60,151,cell_walkable,1; - end; -} - -bat_b01,1,5,3 script cell#bat_b01_b CLEAR_NPC,{ -OnRed: - setcell "bat_b01",327,151,329,149,cell_basilica,1; - setcell "bat_b01",327,151,329,149,cell_walkable,0; - end; - -OnGreen: - setcell "bat_b01",327,151,329,149,cell_basilica,0; - setcell "bat_b01",327,151,329,149,cell_walkable,1; - end; -} - -bat_b01,1,6,1 script time#bat_b01 CLEAR_NPC,{ -OnEnable: - donpcevent "Battle Therapist#b01_a::OnEnable"; - donpcevent "Battle Therapist#b01_b::OnEnable"; - end; - -OnStop: - donpcevent "Battle Therapist#b01_a::OnStop"; - donpcevent "Battle Therapist#b01_b::OnStop"; - end; -} - -bat_b01,10,294,3 script Battle Therapist#b01_a 4_F_SISTER,{ - specialeffect(EF_HEAL, AREA, playerattached()); - mes("[Battle Therapist]"); - mes("Just close your eyes,\r" - "and take a deep breath."); - mes("You can be free from pain."); - close; - -OnTimer25000: - specialeffect EF_SANCTUARY; - enablenpc "bat_b01_rp1_a_warp"; - end; - -OnTimer26000: - disablenpc "bat_b01_rp1_a_warp"; - end; - -OnTimer26500: - stopnpctimer; - donpcevent "Battle Therapist#b01_a::OnEnable"; - end; - -OnEnable: - initnpctimer; - enablenpc "Battle Therapist#b01_a"; - end; - -OnStop: - disablenpc "bat_b01_rp1_a_warp"; - disablenpc "Battle Therapist#b01_a"; - stopnpctimer; - end; -} - -bat_b01,10,290,0 script bat_b01_rp1_a_warp WARPNPC,10,10,{ -OnInit: - disablenpc "bat_b01_rp1_a_warp"; - end; - -OnTouch: - percentheal 100,100; - warp "bat_b01",87,73; - end; -} - -bat_b01,389,14,3 script Battle Therapist#b01_b 4_F_SISTER,{ - specialeffect(EF_HEAL, AREA, playerattached()); - mes("[Battle Therapist]"); - mes("Just close your eyes,\r" - "and take a deep breath."); - mes("You can be free from pain."); - close; - -OnTimer25000: - specialeffect EF_SANCTUARY; - enablenpc "bat_b01_rp1_b_warp"; - end; - -OnTimer26000: - disablenpc "bat_b01_rp1_b_warp"; - end; - -OnTimer26500: - stopnpctimer; - donpcevent "Battle Therapist#b01_b::OnEnable"; - end; - -OnEnable: - initnpctimer; - enablenpc "Battle Therapist#b01_b"; - end; - -OnStop: - disablenpc "bat_b01_rp1_b_warp"; - disablenpc "Battle Therapist#b01_b"; - stopnpctimer; - end; -} - -bat_b01,389,10,0 script bat_b01_rp1_b_warp WARPNPC,9,9,{ -OnInit: - disablenpc "bat_b01_rp1_a_warp"; - end; - -OnTouch: - percentheal 100,100; - warp "bat_b01",312,225; - end; -} - -bat_b01,87,76,0 script A_CODE#bat_b01 FAKE_NPC,5,5,{ -OnTouch: - if (!questprogress(2070)) - setquest 2070; - end; -} - -bat_b01,312,224,0 script B_CODE#bat_b01 FAKE_NPC,5,5,{ -OnTouch: - if (!questprogress(2070)) - setquest 2070; - end; -} - -bat_b01,10,294,3 script Guillaume Vintenar#b01_a 4_M_RASWORD,{ - if ($@FlaviusBG1_id1 == getcharid(CHAR_ID_BG)) { - if ($@FlaviusBG1_Victory == 1) { - .@your_medal = countitem(BF_Badge2); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 8) { - mes("[Axl Rose]"); - mes("Blessed Guillaume!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge2,9; - } - else { - mes("[Axl Rose]"); - mes("Blessed Guillaume!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge2,.@medal_gap; - } - } - else { - .@your_medal = countitem(BF_Badge2); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 2) { - mes("[Axl Rose]"); - mes("You lost, but you're dedicated to this battle."); - mes("This is a reward for your great dedication by Guillaume Marollo!"); - mes("Just take this defeat as a lesson, next time you will definitely win."); - close2; - getitem BF_Badge2,3; - } - else { - mes("[Axl Rose]"); - mes("You lost, but you're dedicated to this battle."); - mes("This is a reward for your great dedication by Guillaume Marollo!"); - mes("Just take this defeat as a lesson, next time you will definitely win."); - close2; - getitem BF_Badge2,.@medal_gap; - } - } - } - bg_leave; - warp "bat_room",154,150; - end; - -OnInit: - disablenpc "Guillaume Vintenar#b01_a"; - end; -} - -bat_b01,389,14,3 script Croix Vintenar#b01_b 4_M_RASWORD,{ - if ($@FlaviusBG1_id2 == getcharid(CHAR_ID_BG)) { - if ($@FlaviusBG1_Victory == 2) { - .@your_medal = countitem(BF_Badge2); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 8) { - mes("[Swandery]"); - mes("Blessed Croix!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge2,9; - } - else { - mes("[Swandery]"); - mes("Blessed Croix!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge2,.@medal_gap; - } - } - else { - .@your_medal = countitem(BF_Badge2); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 2) { - mes("[Swandery]"); - mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME)); - mes("Even though we didn't win, we did our best."); - mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one."); - close2; - getitem BF_Badge2,3; - } - else { - mes("[Swandery]"); - mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME)); - mes("Even though we didn't win, we did our best."); - mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one."); - close2; - getitem BF_Badge2,.@medal_gap; - } - } - } - bg_leave; - warp "bat_room",154,150; - end; - -OnInit: - disablenpc "Croix Vintenar#b01_b"; - end; -} - -bat_b01,1,5,3 script countdown#bat_b01 CLEAR_NPC,{ -OnInit: - stopnpctimer; - end; - -OnEnable: - stopnpctimer; - initnpctimer; - end; - -OnStop: - stopnpctimer; - end; - -OnTimer7000: - mapannounce("bat_b01", _("Guillaume Vintenar Axl Rose : Let's attack to destroy that Crystal!"), bc_map, "0xFF9900"); - end; - -OnTimer8000: - mapannounce("bat_b01", _("Croix Vintenar Swandery : Even though Guillaume is struggling to win against us, the victory is ours. Let's show them our power."), bc_map, "0xFF99CC"); - end; - -OnTimer1800000: - mapannounce("bat_b01", _("Marollo VII : Guillaume Marollo, Croix Marollo! And their followers!"), bc_map, "0x99CC00"); - end; - -OnTimer1803000: - mapannounce("bat_b01", _("Marollo VII : Both camps are competitive, so it's hard to judge which team is superior."), bc_map, "0x99CC00"); - end; - -OnTimer1808000: - mapannounce("bat_b01", _("Marollo VII : This battle of Flavian is such a waste of time. I will decide victory and defeat by your progress."), bc_map, "0x99CC00"); - end; - -OnTimer1822000: - mapannounce("bat_b01", _("Marollo VII : If you can't accept the results, try again in another valley battle!"), bc_map, "0x99CC00"); - end; - -OnTimer1825000: - mapannounce("bat_b01", _("Axl Rose, Swandery : Yes, sir."), bc_map, "0x99CC00"); - end; - -OnTimer1830000: - donpcevent "time#bat_b01::OnStop"; - bg_warp $@FlaviusBG1_id1,"bat_b01",10,290; - bg_warp $@FlaviusBG1_id2,"bat_b01",390,10; - enablenpc "Vintenar#bat_b01_aover"; - enablenpc "Vintenar#bat_b01_bover"; - end; - -OnTimer1900000: - mapwarp "bat_b01","bat_room",154,150; - donpcevent "countdown#bat_b01::OnStop"; - end; -} - -bat_b01,81,83,3 script Guillaume Camp#flag21 1_FLAG_LION,{ end; } -bat_b01,94,83,3 script Guillaume Camp#flag22 1_FLAG_LION,{ end; } -bat_b01,81,66,3 script Guillaume Camp#flag23 1_FLAG_LION,{ end; } -bat_b01,94,66,3 script Guillaume Camp#flag24 1_FLAG_LION,{ end; } -bat_b01,139,142,3 script Guillaume Camp#flag25 1_FLAG_LION,{ end; } -bat_b01,139,158,3 script Guillaume Camp#flag26 1_FLAG_LION,{ end; } -bat_b01,110,161,3 script Guillaume Camp#flag27 1_FLAG_LION,{ end; } -bat_b01,110,137,3 script Guillaume Camp#flag28 1_FLAG_LION,{ end; } -bat_b01,63,135,3 script Guillaume Camp#flag29 1_FLAG_LION,{ end; } -bat_b01,63,165,3 script Guillaume Camp#flag30 1_FLAG_LION,{ end; } -bat_b01,10,296,3 script Guillaume Camp#flag31 1_FLAG_LION,{ end; } - -bat_b01,306,233,3 script Croix Camp#flag21 1_FLAG_EAGLE,{ end; } -bat_b01,317,233,3 script Croix Camp#flag22 1_FLAG_EAGLE,{ end; } -bat_b01,306,216,3 script Croix Camp#flag23 1_FLAG_EAGLE,{ end; } -bat_b01,317,216,3 script Croix Camp#flag24 1_FLAG_EAGLE,{ end; } -bat_b01,257,158,3 script Croix Camp#flag25 1_FLAG_EAGLE,{ end; } -bat_b01,257,141,3 script Croix Camp#flag26 1_FLAG_EAGLE,{ end; } -bat_b01,297,164,3 script Croix Camp#flag27 1_FLAG_EAGLE,{ end; } -bat_b01,297,136,3 script Croix Camp#flag28 1_FLAG_EAGLE,{ end; } -bat_b01,336,161,3 script Croix Camp#flag29 1_FLAG_EAGLE,{ end; } -bat_b01,336,139,3 script Croix Camp#flag30 1_FLAG_EAGLE,{ end; } -bat_b01,389,16,3 script Croix Camp#flag31 1_FLAG_EAGLE,{ end; } - -bat_b01,10,294,3 script Vintenar#bat_b01_aover 4_M_KY_HEAD,{ - .@A_B_gap = $@Guill_ScoreBG1 - $@Croix_ScoreBG1; - if ($@FlaviusBG1_id1 == getcharid(CHAR_ID_BG)) { - if (.@A_B_gap > 0) { - .@your_medal = countitem(BF_Badge2); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 8) { - mes("[Axl Rose]"); - mes("Blessed Guillaume!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge2,9; - } - else { - mes("[Axl Rose]"); - mes("Blessed Guillaume!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge2,.@medal_gap; - } - } - else if (.@A_B_gap == 0) { - .@your_medal = countitem(BF_Badge2); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 2) { - mes("[Axl Rose]"); - mes("You lost, but you're dedicated to this battle."); - mes("This is a reward for your great dedication by Guillaume Marollo!"); - mes("Just take this defeat as a lesson, next time you will definitely win."); - close2; - getitem BF_Badge2,3; - } - else { - mes("[Axl Rose]"); - mes("You lost, but you're dedicated to this battle."); - mes("This is a reward for your great dedication by Guillaume Marollo!"); - mes("Just take this defeat as a lesson, next time you will definitely win."); - close2; - getitem BF_Badge2,.@medal_gap; - } - } - else { - .@your_medal = countitem(BF_Badge2); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 2) { - mes("[Axl Rose]"); - mes("You lost, but you're dedicated to this battle."); - mes("This is a reward for your great dedication by Guillaume Marollo!"); - mes("Just take this defeat as a lesson, next time you will definitely win."); - close2; - getitem BF_Badge2,3; - } - else { - mes("[Axl Rose]"); - mes("You lost, but you're dedicated to this battle."); - mes("This is a reward for your great dedication by Guillaume Marollo!"); - mes("Just take this defeat as a lesson, next time you will definitely win."); - close2; - getitem BF_Badge2,.@medal_gap; - } - } - } - else { - mes("[Axl Rose]"); - mes("Why are you here, Croix mercenary? I am definitely sure of victory against foolish Croix such as you. Ha!"); - close; - } - bg_leave; - warp "bat_room",154,150; - end; - -OnInit: - disablenpc "Vintenar#bat_b01_aover"; - end; -} - -bat_b01,389,14,3 script Vintenar#bat_b01_bover 4_M_CRU_HEAD,{ - .@A_B_gap = $@Guill_ScoreBG1 - $@Croix_ScoreBG1; - if ($@FlaviusBG1_id2 == getcharid(CHAR_ID_BG)) { - if (.@A_B_gap > 0) { - .@your_medal = countitem(BF_Badge2); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 2) { - mes("[Swandery]"); - mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME)); - mes("Even though we didn't win, we did our best."); - mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one."); - close2; - getitem BF_Badge2,3; - } - else { - mes("[Swandery]"); - mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME)); - mes("Even though we didn't win, we did our best."); - mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one."); - close2; - getitem BF_Badge2,.@medal_gap; - } - } - else if (.@A_B_gap == 0) { - .@your_medal = countitem(BF_Badge2); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 2) { - mes("[Swandery]"); - mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME)); - mes("Even though we didn't win, we did our best."); - mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one."); - close2; - getitem BF_Badge2,3; - } - else { - mes("[Swandery]"); - mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME)); - mes("Even though we didn't win, we did our best."); - mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one."); - close2; - getitem BF_Badge2,.@medal_gap; - } - } - else { - .@your_medal = countitem(BF_Badge2); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 8) { - mes("[Swandery]"); - mes("Blessed Croix!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge2,9; - } - else { - mes("[Swandery]"); - mes("Blessed Croix!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge2,.@medal_gap; - } - } - } - else { - mes("[Swandery]"); - mes("Why do you come here as a Guillaume? You will be sent to where you should be!"); - close; - } - bg_leave; - warp "bat_room",154,150; - end; - -OnInit: - disablenpc "Vintenar#bat_b01_bover"; - end; -} - -bat_b01,1,10,3 script Release all#b01 4_DOG01,{ - .@i = callfunc("F_GM_NPC",1854,0); - if (.@i == -1) { - mes("Cancelled."); - close; - } else if (.@i == 0) { - end; - } else { - mes("May I help you?"); - next; - switch(select("Release all.", "Cancel.")) { - case 1: - mes("Bye."); - close2; - mapwarp "bat_b01","bat_room",154,150; - end; - case 2: - mes("Cancelled."); - close; - } - } -} diff --git a/npc/battleground/flavius/flavius02.txt b/npc/battleground/flavius/flavius02.txt deleted file mode 100644 index 69a54017b..000000000 --- a/npc/battleground/flavius/flavius02.txt +++ /dev/null @@ -1,768 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2016 Hercules Dev Team -//= Copyright (C) Euphy -//= Copyright (C) Kisuka -//= Copyright (C) L0ne_W0lf -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -// BattleGround System - Flavius Second -//================= Description =========================================== -//= Flavius Battleground. -//= - Winning Team: 9 badges -//= - Losing Team: 3 badge -//================= Current Version ======================================= -//= 1.6 -//========================================================================= - -//== Waiting Room NPCs ===================================== -bat_room,142,227,4 script Lieutenant Huvas 4_M_KY_KNT,{ - end; -OnInit: - waitingroom(_("Battle Station"), 11, "start#bat_b02::OnReadyCheck", 1, 0, 80); - end; -OnEnterBG: - $@FlaviusBG2_id1 = waitingroom2bg("bat_b02",10,290,"start#bat_b02::OnGuillaumeQuit",""); - end; -} - -bat_room,142,204,0 script Lieutenant Yukon 4_M_CRU_KNT,{ - end; -OnInit: - waitingroom(_("Battle Station"), 11, "start#bat_b02::OnReadyCheck", 1, 0, 80); - end; -OnEnterBG: - $@FlaviusBG2_id2 = waitingroom2bg("bat_b02",390,10,"start#bat_b02::OnCroixQuit",""); - end; -} - -bat_room,141,220,0 warp back_bgroomb02a 1,1,bat_room,154,150 -bat_room,141,211,0 warp back_bgroomb02b 1,1,bat_room,154,150 - -bat_room,2,151,3 script #bat_b02_timer CLEAR_NPC,{ - end; - -OnInit: -OnEnable: - initnpctimer; - end; - -OnStop: - stopnpctimer; - end; - -OnTimer1000: - stopnpctimer; - initnpctimer; - .@chk_bat_a01 = getmapusers("bat_b02"); - if (.@chk_bat_a01 < 1) { - $@FlaviusBG2 = 0; - if( $@FlaviusBG2_id1 ) { bg_destroy $@FlaviusBG2_id1; $@FlaviusBG2_id1 = 0; } - if( $@FlaviusBG2_id2 ) { bg_destroy $@FlaviusBG2_id2; $@FlaviusBG2_id2 = 0; } - donpcevent "start#bat_b02::OnReadyCheck"; - } - end; -} - -//== Flavius Battleground Engine =========================== -bat_b02,15,15,3 script start#bat_b02 CLEAR_NPC,{ -OnInit: - mapwarp "bat_b02","bat_room",154,150; - end; - -OnReadyCheck: - if( $@FlaviusBG2 ) - end; - .@Guillaume = getwaitingroomstate(0,"Lieutenant Huvas"); - .@Croix = getwaitingroomstate(0,"Lieutenant Yukon"); - if( !.@Guillaume && !.@Croix ) { - donpcevent "#bat_b02_timer::OnStop"; - end; - } - if( .@Guillaume < 10 || .@Croix < 10 ) - end; - $@FlaviusBG2 = 1; - $@FlaviusBG2_Victory = 0; - $@Croix_ScoreBG2 = 0; - $@Guill_ScoreBG2 = 0; - - bg_updatescore "bat_b02",$@Guill_ScoreBG2,$@Croix_ScoreBG2; - donpcevent "Lieutenant Huvas::OnEnterBG"; - donpcevent "Lieutenant Yukon::OnEnterBG"; - donpcevent "OBJ#bat_b02_a::OnKill"; - donpcevent "OBJ#bat_b02_a::OnEnable"; - donpcevent "OBJ#bat_b02_b::OnKill"; - donpcevent "OBJ#bat_b02_b::OnEnable"; - donpcevent "guardian#bat_b02_a::OnKill"; - donpcevent "guardian#bat_b02_b::OnKill"; - donpcevent "guardian#bat_b02_a::OnEnable"; - donpcevent "guardian#bat_b02_b::OnEnable"; - donpcevent "cell#bat_b02_a::OnRed"; - donpcevent "cell#bat_b02_b::OnRed"; - donpcevent "time#bat_b02::OnEnable"; - disablenpc "Guillaume Vintenar#b02_a"; - disablenpc "Croix Vintenar#b02_b"; - disablenpc "Vintenar#bat_b02_aover"; - disablenpc "Vintenar#bat_b02_bover"; - bg_warp $@FlaviusBG2_id1,"bat_b02",87,75; - bg_warp $@FlaviusBG2_id2,"bat_b02",311,224; - donpcevent "countdown#bat_b02::OnEnable"; - initnpctimer; - end; - -OnReset: - donpcevent "OBJ#bat_b02_a::OnKill"; - donpcevent "OBJ#bat_b02_a::OnEnable"; - donpcevent "OBJ#bat_b02_b::OnKill"; - donpcevent "OBJ#bat_b02_b::OnEnable"; - donpcevent "guardian#bat_b02_a::OnKill"; - donpcevent "guardian#bat_b02_b::OnKill"; - donpcevent "guardian#bat_b02_a::OnEnable"; - donpcevent "guardian#bat_b02_b::OnEnable"; - donpcevent "cell#bat_b02_a::OnRed"; - donpcevent "cell#bat_b02_b::OnRed"; - donpcevent "time#bat_b02::OnEnable"; - disablenpc "Guillaume Vintenar#b02_a"; - disablenpc "Croix Vintenar#b02_b"; - disablenpc "Vintenar#bat_b02_aover"; - disablenpc "Vintenar#bat_b02_bover"; - bg_warp $@FlaviusBG2_id1,"bat_b02",87,75; - bg_warp $@FlaviusBG2_id2,"bat_b02",311,224; - end; - -OnGuillaumeQuit: -OnCroixQuit: - bg_leave; - end; - -OnTimer10000: - stopnpctimer; - donpcevent "#bat_b02_timer::OnEnable"; - end; -} - -bat_b02,1,1,3 script OBJ#bat_b02_a CLEAR_NPC,{ -OnEnable: - bg_monster $@FlaviusBG2_id1,"bat_b02",61,150,"Pink Crystal",1915,"OBJ#bat_b02_a::OnMyMobDead"; - end; - -OnKill: - killmonster "bat_b02","OBJ#bat_b02_a::OnMyMobDead"; - end; - -OnMyMobDead: - if (mobcount("bat_b02","OBJ#bat_b02_a::OnMyMobDead") < 1) { - mapannounce("bat_b02", _("Guillaume's Crystal has been destroyed."), bc_map, "0xFFCE00"); - if ($@Croix_ScoreBG2 > 0) { - $@FlaviusBG2_Victory = 2; - $@Croix_ScoreBG2 = $@Croix_ScoreBG2+1; - enablenpc "Guillaume Vintenar#b02_a"; - enablenpc "Croix Vintenar#b02_b"; - donpcevent "time#bat_b02::OnStop"; - } - else { - $@Croix_ScoreBG2 = 1; - donpcevent "time#bat_b02::OnEnable"; - donpcevent "start#bat_b02::OnReset"; - } - donpcevent "#bat_b02_timer::OnStop"; - bg_updatescore "bat_b02",$@Guill_ScoreBG2,$@Croix_ScoreBG2; - bg_warp $@FlaviusBG2_id1,"bat_b02",10,290; - bg_warp $@FlaviusBG2_id2,"bat_b02",390,10; - donpcevent "#bat_b02_timer::OnEnable"; - } - end; -} - -bat_b02,1,2,3 script OBJ#bat_b02_b CLEAR_NPC,{ -OnEnable: - bg_monster($@FlaviusBG2_id2, "bat_b02", 328, 150, _("Blue Crystal"), 1914, "OBJ#bat_b02_b::OnMyMobDead"); - end; - -OnKill: - killmonster "bat_b02","OBJ#bat_b02_b::OnMyMobDead"; - end; - -OnMyMobDead: - if (mobcount("bat_b02","OBJ#bat_b02_b::OnMyMobDead") < 1) { - mapannounce("bat_b02", _("Croix's Crystal has been destroyed."), bc_map, "0xFFCE00"); - if ($@Guill_ScoreBG2 > 0) { - $@FlaviusBG2_Victory = 1; - ++$@Guill_ScoreBG2; - enablenpc "Guillaume Vintenar#b02_a"; - enablenpc "Croix Vintenar#b02_b"; - donpcevent "time#bat_b02::OnStop"; - } - else { - $@Guill_ScoreBG2 = 1; - donpcevent "time#bat_b02::OnEnable"; - donpcevent "start#bat_b02::OnReset"; - } - donpcevent "#bat_b02_timer::OnStop"; - bg_updatescore "bat_b02",$@Guill_ScoreBG2,$@Croix_ScoreBG2; - bg_warp $@FlaviusBG2_id1,"bat_b02",10,290; - bg_warp $@FlaviusBG2_id2,"bat_b02",390,10; - donpcevent "#bat_b02_timer::OnEnable"; - } - end; -} - -bat_b02,1,3,3 script guardian#bat_b02_a CLEAR_NPC,{ -OnEnable: - bg_monster($@FlaviusBG2_id1, "bat_b02", 108, 159, _("Guillaume Camp Guardian"), 1949, "guardian#bat_b02_a::OnMyMobDead"); - bg_monster($@FlaviusBG2_id1, "bat_b02", 108, 141, _("Guillaume Camp Guardian"), 1949, "guardian#bat_b02_a::OnMyMobDead"); - end; - -OnKill: - killmonster "bat_b02","guardian#bat_b02_a::OnMyMobDead"; - end; - -OnMyMobDead: - if (mobcount("bat_b02","guardian#bat_b02_a::OnMyMobDead") < 1) { - donpcevent "cell#bat_b02_a::OnGreen"; - mapannounce("bat_b02", _("The Guardian protecting Guillaume's Crystal has been slain."), bc_map, "0xFFCE00"); - } - end; -} - -bat_b02,1,3,3 script guardian#bat_b02_b CLEAR_NPC,{ -OnEnable: - bg_monster($@FlaviusBG2_id2, "bat_b02", 307, 160, _("Croix Camp Guardian"), 1949, "guardian#bat_b02_b::OnMyMobDead"); - bg_monster($@FlaviusBG2_id2, "bat_b02", 307, 138, _("Croix Camp Guardian"), 1949, "guardian#bat_b02_b::OnMyMobDead"); - end; - -OnKill: - killmonster "bat_b02","guardian#bat_b02_b::OnMyMobDead"; - end; - -OnMyMobDead: - if (mobcount("bat_b02","guardian#bat_b02_b::OnMyMobDead") < 1) { - donpcevent "cell#bat_b02_b::OnGreen"; - mapannounce("bat_b02", _("The Guardian protecting Croix's Crystal has been slain."), bc_map, "0xFFCE00"); - } - end; -} - -bat_b02,1,4,3 script cell#bat_b02_a CLEAR_NPC,{ -OnRed: - setcell "bat_b02",62,149,60,151,cell_basilica,1; - setcell "bat_b02",62,149,60,151,cell_walkable,0; - end; - -OnGreen: - setcell "bat_b02",62,149,60,151,cell_basilica,0; - setcell "bat_b02",62,149,60,151,cell_walkable,1; - end; -} - -bat_b02,1,5,3 script cell#bat_b02_b CLEAR_NPC,{ -OnRed: - setcell "bat_b02",327,151,329,149,cell_basilica,1; - setcell "bat_b02",327,151,329,149,cell_walkable,0; - end; - -OnGreen: - setcell "bat_b02",327,151,329,149,cell_basilica,0; - setcell "bat_b02",327,151,329,149,cell_walkable,1; - end; -} - -bat_b02,1,6,1 script time#bat_b02 CLEAR_NPC,{ -OnEnable: - donpcevent "Battle Therapist#b02_a::OnEnable"; - donpcevent "Battle Therapist#b02_b::OnEnable"; - end; - -OnStop: - donpcevent "Battle Therapist#b02_a::OnStop"; - donpcevent "Battle Therapist#b02_b::OnStop"; - end; -} - -bat_b02,10,294,3 script Battle Therapist#b02_a 4_F_SISTER,{ - specialeffect(EF_HEAL, AREA, playerattached()); - mes("[Battle Therapist]"); - mes("Just close your eyes,\r" - "and take a deep breath."); - mes("You can be free from pain."); - close; - -OnTimer25000: - specialeffect EF_SANCTUARY; - enablenpc "bat_b02_rp1_a_warp"; - end; - -OnTimer26000: - disablenpc "bat_b02_rp1_a_warp"; - end; - -OnTimer26500: - stopnpctimer; - donpcevent "Battle Therapist#b02_a::OnEnable"; - end; - -OnEnable: - initnpctimer; - enablenpc "Battle Therapist#b02_a"; - end; - -OnStop: - disablenpc "bat_b02_rp1_a_warp"; - disablenpc "Battle Therapist#b02_a"; - stopnpctimer; - end; -} - -bat_b02,10,290,0 script bat_b02_rp1_a_warp WARPNPC,10,10,{ -OnInit: - disablenpc "bat_b02_rp1_a_warp"; - end; - -OnTouch: - percentheal 100,100; - warp "bat_b02",87,73; - end; -} - -bat_b02,389,14,3 script Battle Therapist#b02_b 4_F_SISTER,{ - specialeffect(EF_HEAL, AREA, playerattached()); - mes("[Battle Therapist]"); - mes("Just close your eyes,\r" - "and take a deep breath."); - mes("You can be free from pain."); - close; - -OnTimer25000: - specialeffect EF_SANCTUARY; - enablenpc "bat_b02_rp1_b_warp"; - end; - -OnTimer26000: - disablenpc "bat_b02_rp1_b_warp"; - end; - -OnTimer26500: - stopnpctimer; - donpcevent "Battle Therapist#b02_b::OnEnable"; - end; - -OnEnable: - initnpctimer; - enablenpc "Battle Therapist#b02_b"; - end; - -OnStop: - disablenpc "bat_b02_rp1_b_warp"; - disablenpc "Battle Therapist#b02_b"; - stopnpctimer; - end; -} - -bat_b02,389,10,0 script bat_b02_rp1_b_warp WARPNPC,9,9,{ -OnInit: - disablenpc "bat_b02_rp1_a_warp"; - end; - -OnTouch: - percentheal 100,100; - warp "bat_b02",312,225; - end; -} - -bat_b02,87,76,0 script A_CODE#bat_b02 FAKE_NPC,5,5,{ -OnTouch: - //if (!questprogress(2070)) - // setquest 2070; - end; -} - -bat_b02,312,224,0 script B_CODE#bat_b02 FAKE_NPC,5,5,{ -OnTouch: - //if (!questprogress(2070)) - // setquest 2070; - end; -} - -bat_b02,10,294,3 script Guillaume Vintenar#b02_a 4_M_RASWORD,{ - if ($@FlaviusBG2_id1 == getcharid(CHAR_ID_BG)) { - if ($@FlaviusBG2_Victory == 1) { - .@your_medal = countitem(BF_Badge2); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 8) { - mes("[Axl Rose]"); - mes("Blessed Guillaume!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge2,9; - } - else { - mes("[Axl Rose]"); - mes("Blessed Guillaume!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge2,.@medal_gap; - } - } - else { - .@your_medal = countitem(BF_Badge2); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 2) { - mes("[Axl Rose]"); - mes("You lost, but you're dedicated to this battle."); - mes("This is a reward for your great dedication by Guillaume Marollo!"); - mes("Just take this defeat as a lesson, next time you will definitely win."); - close2; - getitem BF_Badge2,3; - } - else { - mes("[Axl Rose]"); - mes("You lost, but you're dedicated to this battle."); - mes("This is a reward for your great dedication by Guillaume Marollo!"); - mes("Just take this defeat as a lesson, next time you will definitely win."); - close2; - getitem BF_Badge2,.@medal_gap; - } - } - } - bg_leave; - warp "bat_room",154,150; - end; - -OnInit: - disablenpc "Guillaume Vintenar#b02_a"; - end; -} - -bat_b02,389,14,3 script Croix Vintenar#b02_b 4_M_RASWORD,{ - if ($@FlaviusBG2_id2 == getcharid(CHAR_ID_BG)) { - if ($@FlaviusBG2_Victory == 2) { - .@your_medal = countitem(BF_Badge2); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 8) { - mes("[Swandery]"); - mes("Blessed Croix!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge2,9; - } - else { - mes("[Swandery]"); - mes("Blessed Croix!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge2,.@medal_gap; - } - } - else { - .@your_medal = countitem(BF_Badge2); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 2) { - mes("[Swandery]"); - mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME)); - mes("Even though we didn't win, we did our best."); - mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one."); - close2; - getitem BF_Badge2,3; - } - else { - mes("[Swandery]"); - mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME)); - mes("Even though we didn't win, we did our best."); - mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one."); - close2; - getitem BF_Badge2,.@medal_gap; - } - } - } - bg_leave; - warp "bat_room",154,150; - end; - -OnInit: - disablenpc "Croix Vintenar#b02_b"; - end; -} - -bat_b02,1,5,3 script countdown#bat_b02 CLEAR_NPC,{ -OnInit: - stopnpctimer; - end; - -OnEnable: - stopnpctimer; - initnpctimer; - end; - -OnStop: - stopnpctimer; - end; - -OnTimer7000: - mapannounce("bat_b02", _("Guillaume Vintenar Axl Rose : Let's attack to destroy that Crystal!"), bc_map, "0xFF9900"); - end; - -OnTimer8000: - mapannounce("bat_b02", _("Croix Vintenar Swandery : Even though Guillaume is struggling to win against us, the victory is ours. Let's show them our power."), bc_map, "0xFF99CC"); - end; - -OnTimer1800000: - mapannounce("bat_b02", _("Marollo VII : Guillaume Marollo, Croix Marollo! And their followers!"), bc_map, "0x99CC00"); - end; - -OnTimer1803000: - mapannounce("bat_b02", _("Marollo VII : Both camps are competitive, so it's hard to judge which team is superior."), bc_map, "0x99CC00"); - end; - -OnTimer1808000: - mapannounce("bat_b02", _("Marollo VII : This battle of Flavian is such a waste of time. I will decide victory and defeat by your progress."), bc_map, "0x99CC00"); - end; - -OnTimer1822000: - mapannounce("bat_b02", _("Marollo VII : If you can't accept the results, try again in another valley battle!"), bc_map, "0x99CC00"); - end; - -OnTimer1825000: - mapannounce("bat_b02", _("Axl Rose, Swandery : Yes, sir."), bc_map, "0x99CC00"); - end; - -OnTimer1830000: - donpcevent "time#bat_b02::OnStop"; - bg_warp $@FlaviusBG2_id1,"bat_b02",10,290; - bg_warp $@FlaviusBG2_id2,"bat_b02",390,10; - enablenpc "Vintenar#bat_b02_aover"; - enablenpc "Vintenar#bat_b02_bover"; - end; - -OnTimer1900000: - mapwarp "bat_b02","bat_room",154,150; - donpcevent "countdown#bat_b02::OnStop"; - end; -} - -bat_b02,81,83,3 script Guillaume Camp#flag32 1_FLAG_LION,{ end; } -bat_b02,94,83,3 script Guillaume Camp#flag33 1_FLAG_LION,{ end; } -bat_b02,81,66,3 script Guillaume Camp#flag34 1_FLAG_LION,{ end; } -bat_b02,94,66,3 script Guillaume Camp#flag35 1_FLAG_LION,{ end; } -bat_b02,139,142,3 script Guillaume Camp#flag36 1_FLAG_LION,{ end; } -bat_b02,139,158,3 script Guillaume Camp#flag37 1_FLAG_LION,{ end; } -bat_b02,110,161,3 script Guillaume Camp#flag38 1_FLAG_LION,{ end; } -bat_b02,110,137,3 script Guillaume Camp#flag39 1_FLAG_LION,{ end; } -bat_b02,63,135,3 script Guillaume Camp#flag40 1_FLAG_LION,{ end; } -bat_b02,63,165,3 script Guillaume Camp#flag41 1_FLAG_LION,{ end; } -bat_b02,10,296,3 script Guillaume Camp#flag42 1_FLAG_LION,{ end; } - -bat_b02,306,233,3 script Croix Camp#flag32 1_FLAG_EAGLE,{ end; } -bat_b02,317,233,3 script Croix Camp#flag33 1_FLAG_EAGLE,{ end; } -bat_b02,306,216,3 script Croix Camp#flag34 1_FLAG_EAGLE,{ end; } -bat_b02,317,216,3 script Croix Camp#flag35 1_FLAG_EAGLE,{ end; } -bat_b02,257,158,3 script Croix Camp#flag36 1_FLAG_EAGLE,{ end; } -bat_b02,257,141,3 script Croix Camp#flag37 1_FLAG_EAGLE,{ end; } -bat_b02,297,164,3 script Croix Camp#flag38 1_FLAG_EAGLE,{ end; } -bat_b02,297,136,3 script Croix Camp#flag39 1_FLAG_EAGLE,{ end; } -bat_b02,336,161,3 script Croix Camp#flag40 1_FLAG_EAGLE,{ end; } -bat_b02,336,139,3 script Croix Camp#flag41 1_FLAG_EAGLE,{ end; } -bat_b02,389,16,3 script Croix Camp#flag42 1_FLAG_EAGLE,{ end; } - -bat_b02,10,294,3 script Vintenar#bat_b02_aover 4_M_KY_HEAD,{ - .@A_B_gap = $@Guill_ScoreBG2 - $@Croix_ScoreBG2; - if ($@FlaviusBG2_id1 == getcharid(CHAR_ID_BG)) { - if (.@A_B_gap > 0) { - .@your_medal = countitem(BF_Badge2); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 8) { - mes("[Axl Rose]"); - mes("Blessed Guillaume!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge2,9; - } - else { - mes("[Axl Rose]"); - mes("Blessed Guillaume!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge2,.@medal_gap; - } - } - else if (.@A_B_gap == 0) { - .@your_medal = countitem(BF_Badge2); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 2) { - mes("[Axl Rose]"); - mes("You lost, but you're dedicated to this battle."); - mes("This is a reward for your great dedication by Guillaume Marollo!"); - mes("Just take this defeat as a lesson, next time you will definitely win."); - close2; - getitem BF_Badge2,3; - } - else { - mes("[Axl Rose]"); - mes("You lost, but you're dedicated to this battle."); - mes("This is a reward for your great dedication by Guillaume Marollo!"); - mes("Just take this defeat as a lesson, next time you will definitely win."); - close2; - getitem BF_Badge2,.@medal_gap; - } - } - else { - .@your_medal = countitem(BF_Badge2); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 2) { - mes("[Axl Rose]"); - mes("You lost, but you're dedicated to this battle."); - mes("This is a reward for your great dedication by Guillaume Marollo!"); - mes("Just take this defeat as a lesson, next time you will definitely win."); - close2; - getitem BF_Badge2,3; - } - else { - mes("[Axl Rose]"); - mes("You lost, but you're dedicated to this battle."); - mes("This is a reward for your great dedication by Guillaume Marollo!"); - mes("Just take this defeat as a lesson, next time you will definitely win."); - close2; - getitem BF_Badge2,.@medal_gap; - } - } - } - else { - mes("[Axl Rose]"); - mes("Why are you here, Croix mercenary? I am definitely sure of victory against foolish Croix such as you. Ha!"); - close; - } - bg_leave; - warp "bat_room",154,150; - end; - -OnInit: - disablenpc "Vintenar#bat_b02_aover"; - end; -} - -bat_b02,389,14,3 script Vintenar#bat_b02_bover 4_M_CRU_HEAD,{ - .@A_B_gap = $@Guill_ScoreBG2 - $@Croix_ScoreBG2; - if ($@FlaviusBG2_id2 == getcharid(CHAR_ID_BG)) { - if (.@A_B_gap > 0) { - .@your_medal = countitem(BF_Badge2); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 2) { - mes("[Swandery]"); - mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME)); - mes("Even though we didn't win, we did our best."); - mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one."); - close2; - getitem BF_Badge2,3; - } - else { - mes("[Swandery]"); - mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME)); - mes("Even though we didn't win, we did our best."); - mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one."); - close2; - getitem BF_Badge2,.@medal_gap; - } - } - else if (.@A_B_gap == 0) { - .@your_medal = countitem(BF_Badge2); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 2) { - mes("[Swandery]"); - mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME)); - mes("Even though we didn't win, we did our best."); - mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one."); - close2; - getitem BF_Badge2,3; - } - else { - mes("[Swandery]"); - mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME)); - mes("Even though we didn't win, we did our best."); - mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one."); - close2; - getitem BF_Badge2,.@medal_gap; - } - } - else { - .@your_medal = countitem(BF_Badge2); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 8) { - mes("[Swandery]"); - mes("Blessed Croix!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge2,9; - } - else { - mes("[Swandery]"); - mes("Blessed Croix!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge2,.@medal_gap; - } - } - } - else { - mes("[Swandery]"); - mes("Why do you come here as a Guillaume? You will be sent to where you should be!"); - close; - } - bg_leave; - warp "bat_room",154,150; - end; - -OnInit: - disablenpc "Vintenar#bat_b02_bover"; - end; -} - -bat_b02,1,10,3 script Release all#b02 4_DOG01,{ - .@i = callfunc("F_GM_NPC",1854,0); - if (.@i == -1) { - mes("Cancelled."); - close; - } else if (.@i == 0) { - end; - } else { - mes("May I help you?"); - next; - switch(select("Release all.", "Cancel.")) { - case 1: - mes("Bye."); - close2; - mapwarp "bat_b02","bat_room",154,150; - end; - case 2: - mes("Cancelled."); - close; - } - } -} diff --git a/npc/battleground/flavius/flavius_enter.txt b/npc/battleground/flavius/flavius_enter.txt deleted file mode 100644 index 974a0dab0..000000000 --- a/npc/battleground/flavius/flavius_enter.txt +++ /dev/null @@ -1,363 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2016 Hercules Dev Team -//= Copyright (C) L0ne_W0lf -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -// BattleGround System - Flavius Entrance NPCs -//================= Description =========================================== -//= Flavius Battleground Entrance NPCs -//================= Current Version ======================================= -//= 1.0 -//========================================================================= - -//== Flavius Officer - Guillaume =========================== -bat_room,133,178,5 script Flavius Officer#01a 4_M_KY_KNT,{ - if (checkweight(Knife,1) == 0) { - mes("- Wait a minute !! -"); - mes("- Currently you're carrying -"); - mes("- too many items with you. -"); - mes("- Please try again -"); - mes("- after you loose some weight. -"); - close; - } - mes("[Guillaume Army Officer]"); - mes("Let's show the power of the Guillaume Army to those stinky Croixs!"); - next; - switch(select("I want to join your army!", "End Conversation")) { - case 1: - if ((Class == Job_Novice) || (BaseClass == Job_SuperNovice)) { - mes("[Guillaume Army Officer]"); - mes("I'm very pleased that you want to join us and fight the Croix Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield."); - break; - } - if (BaseLevel < 80) { - mes("[Guillaume Army Officer]"); - mes("I'm very pleased that you want to join us and fight the Croix Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield."); - break; - } - .@chk_urtime = questprogress(2070, PLAYTIME); - if (.@chk_urtime == 1) { - mes("[Guillaume Army Officer]"); - mes("You seem to have just returned from the battlefield."); - mes("It's too early for you to go back. Go rest, and leave the enemies to us!"); - break; - } - if (.@chk_urtime == 2) - erasequest 2070; - if (getmapusers("bat_b01") > 0) { - mes("[Guillaume Army Officer]"); - mes("I've received a report informing me that an elite corps has been dispatched to the battlefield fighting the Croixs already."); - mes("Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then."); - break; - } - if ($@FlaviusBG1 > 0) { - mes("[Guillaume Army Officer]"); - mes("An elite corps is already standing by to be dispatched to the battlefield."); - mes("Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then."); - break; - } - mes("[Guillaume Army Officer]"); - mes("You definitely seem to be ready for battle!"); - mes("Go show the Croixs what fear truly means!"); - mes("Today, our cry of victory shall echo all over the battlefield!"); - close2; - warp "bat_room",85,223; - end; - case 2: - mes("[Guillaume Army Officer]"); - mes("Today, we shall be victorious!"); - break; - } - close; -} - -bat_room,133,121,1 script Flavius Officer#01b 4_M_CRU_KNT,{ - if (checkweight(Knife,1) == 0) { - mes("- Wait a minute !! -"); - mes("- Currently you're carrying -"); - mes("- too many items with you. -"); - mes("- Please try again -"); - mes("- after you loose some weight. -"); - close; - } - mes("[Croix Army Officer]"); - mes("Let's show the Guillaumes the power of the Croix Army!"); - next; - switch(select("I want to join your army!", "End Conversation")) { - case 1: - if ((Class == Job_Novice) || (BaseClass == Job_SuperNovice)) { - mes("[Croix Army Officer]"); - mes("I'm very pleased that you want to join us and fight the Guillaume Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield."); - break; - } - if (BaseLevel < 80) { - mes("[Croix Army Officer]"); - mes("I'm very pleased that you want to join us and fight the Guillaume Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield."); - break; - } - .@chk_urtime = questprogress(2070,PLAYTIME); - if (.@chk_urtime == 1) { - mes("[Croix Army Officer]"); - mes("You seem to have just returned from the battlefield."); - mes("It's too early for you to go back. Go rest, and leave the enemies to us!"); - break; - } - if (.@chk_urtime == 2) - erasequest 2070; - if (getmapusers("bat_b01") > 0) { - mes("[Croix Army Officer]"); - mes("I've received a report informing me that an elite corps has been dispatched to the battlefield fighting the Guillaume already."); - mes("Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then."); - break; - } - if ($@FlaviusBG1 > 0) { - mes("[Croix Army Officer]"); - mes("An elite corps is already standing by to be dispatched to the battlefield."); - mes("Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then."); - break; - } - mes("[Croix Army Officer]"); - mes("You definitely seem to be ready for battle!"); - mes("Go show the Guillaumes what fear truly means!"); - mes("Today, our cry of victory shall echo all over the battlefield!"); - close2; - warp "bat_room",85,207; - end; - case 2: - mes("[Croix Army Officer]"); - mes("Today, we shall be victorious!"); - break; - } - close; -} - -bat_room,135,178,5 script Guillaume Knight#3 4_M_KY_SOLD,{ - mes("[Guillaume Knight]"); - mes("The objective of the Flavius Battle is to score 2 points before your enemy by destroying their crystal."); - next; - mes("[Guillaume Knight]"); - mes("The crystals for both armies are protected by special barricades that cannot be destroyed by direct attacks."); - next; - mes("[Guillaume Knight]"); - mes("But they can be removed by destroying the Guardians that protect the enemy army base."); - next; - mes("[Guillaume Knight]"); - mes("The crystals are immune to every type of skill; your physical attacks are the only choice for destroying your enemy's crystal."); - next; - mes("[Guillaume Knight]"); - mes("Please remember: when you join a battle, you will be receiving a token which indicates the set duration for which you cannot participate in the same type of battle."); - mes("You may check the duration by pressing the Alt+U keys."); - next; - mes("[Guillaume Knight]"); - mes("Are you ready for battle? Then apply with the recruiter next to me!"); - close; -} - -bat_room,151,178,5 script Guillaume Knight#4 4_M_KY_SOLD,{ - mes("[Guillaume Knight]"); - mes("The objective of the Flavius Battle is to score 2 points before your enemy by destroying their crystal."); - next; - mes("[Guillaume Knight]"); - mes("The crystals for both armies are protected by special barricades that cannot be destroyed by direct attacks."); - next; - mes("[Guillaume Knight]"); - mes("But they can be removed by destroying the Guardians that protect the enemy army base."); - next; - mes("[Guillaume Knight]"); - mes("The crystals are immune to every type of skill; your physical attacks are the only choice for destroying your enemy's crystal."); - next; - mes("[Guillaume Knight]"); - mes("Please remember: when you join a battle, you will be receiving a token which indicates the set duration for which you cannot participate in the same type of battle."); - mes("You may check the duration by pressing the Alt+U keys."); - next; - mes("[Guillaume Knight]"); - mes("Are you ready for battle? Then apply with the recruiter next to me!"); - close; -} - -bat_room,135,121,1 script Croix Knight#3 4_M_CRU_SOLD,{ - mes("[Croix Knight]"); - mes("The objective of the Flavius Battle is to score 2 points before your enemy by destroying their crystal."); - next; - mes("[Croix Knight]"); - mes("The crystals for both armies are protected by special barricades that cannot be destroyed by direct attacks."); - next; - mes("[Croix Knight]"); - mes("But they can be removed by destroying the Guardians that protect the enemy army base."); - next; - mes("[Croix Knight]"); - mes("The crystals are immune to every type of skill; your physical attacks are the only choice for destroying your enemy's crystal."); - next; - mes("[Croix Knight]"); - mes("Please remember: when you join a battle, you will be receiving a token which indicates the set duration for which you cannot participate in the same type of battle."); - mes("You may check the duration by pressing the Alt+U keys."); - next; - mes("[Croix Knight]"); - mes("Are you ready for battle? Then apply with the recruiter next to me!"); - close; -} - -bat_room,151,121,1 script Croix Knight#4 4_M_CRU_SOLD,{ - mes("[Croix Knight]"); - mes("The objective of the Flavius Battle is to score 2 points before your enemy by destroying their crystal."); - next; - mes("[Croix Knight]"); - mes("The crystals for both armies are protected by special barricades that cannot be destroyed by direct attacks."); - next; - mes("[Croix Knight]"); - mes("But they can be removed by destroying the Guardians that protect the enemy army base."); - next; - mes("[Croix Knight]"); - mes("The crystals are immune to every type of skill; your physical attacks are the only choice for destroying your enemy's crystal."); - next; - mes("[Croix Knight]"); - mes("Please remember: when you join a battle, you will be receiving a token which indicates the set duration for which you cannot participate in the same type of battle."); - mes("You may check the duration by pressing the Alt+U keys."); - next; - mes("[Croix Knight]"); - mes("Are you ready for battle? Then apply with the recruiter next to me!"); - close; -} - -//== Flavius Officer - Croix =============================== -bat_room,148,178,5 script Flavius Officer#02a 4_M_KY_KNT,{ - if (checkweight(Knife,1) == 0) { - mes("- Wait a minute !! -"); - mes("- Currently you're carrying -"); - mes("- too many items with you. -"); - mes("- Please try again -"); - mes("- after you loose some weight. -"); - close; - } - mes("[Guillaume Army Officer]"); - mes("Let's show the power of the Guillaume Army to those stinky Croixs!"); - next; - switch(select("I want to join your army!", "End Conversation")) { - case 1: - if ((Class == Job_Novice) || (BaseClass == Job_SuperNovice)) { - mes("[Guillaume Army Officer]"); - mes("I'm very pleased that you want to join us and fight the Croix Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield."); - break; - } - if (BaseLevel < 80) { - mes("[Guillaume Army Officer]"); - mes("I'm very pleased that you want to join us and fight the Croix Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield."); - break; - } - .@chk_urtime = questprogress(2070, PLAYTIME); - if (.@chk_urtime == 1) { - mes("[Guillaume Army Officer]"); - mes("You seem to have just returned from the battlefield."); - mes("It's too early for you to go back. Go rest, and leave the enemies to us!"); - break; - } - if (.@chk_urtime == 2) - erasequest 2070; - if (getmapusers("bat_b02") > 0) { - mes("[Guillaume Army Officer]"); - mes("I've received a report informing me that an elite corps has been dispatched to the battlefield fighting the Croixs already."); - mes("Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then."); - break; - } - if ($@FlaviusBG2 > 0) { - mes("[Guillaume Army Officer]"); - mes("An elite corps is already standing by to be dispatched to the battlefield."); - mes("Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then."); - break; - } - mes("[Guillaume Army Officer]"); - mes("You definitely seem to be ready for battle!"); - mes("Go show the Croixs what fear truly means!"); - mes("Today, our cry of victory shall echo all over the battlefield!"); - close2; - warp "bat_room",141,224; - end; - case 2: - mes("[Guillaume Army Officer]"); - mes("Today, we shall be victorious!"); - break; - } - close; -} - -bat_room,148,121,1 script Flavius Officer#02b 4_M_CRU_KNT,{ - if (checkweight(Knife,1) == 0) { - mes("- Wait a minute !! -"); - mes("- Currently you're carrying -"); - mes("- too many items with you. -"); - mes("- Please try again -"); - mes("- after you loose some weight. -"); - close; - } - mes("[Croix Army Officer]"); - mes("Let's show the power of the Croix Army to those stinky Guillaumes!"); - next; - switch(select("I want to join your army!", "End Conversation")) { - case 1: - if ((Class == Job_Novice) || (BaseClass == Job_SuperNovice)) { - mes("[Croix Army Officer]"); - mes("I'm very pleased that you want to join us and fight the Guillaume Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield."); - break; - } - if (BaseLevel < 80) { - mes("[Croix Army Officer]"); - mes("I'm very pleased that you want to join us and fight the Guillaume Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield."); - break; - } - .@chk_urtime = questprogress(2070,PLAYTIME); - if (.@chk_urtime == 1) { - mes("[Croix Army Officer]"); - mes("You seem to have just returned from the battlefield."); - mes("It's too early for you to go back. Go rest, and leave the enemies to us!"); - break; - } - if (.@chk_urtime == 2) - erasequest 2070; - if (getmapusers("bat_b02") > 0) { - mes("[Croix Army Officer]"); - mes("I've received a report informing me that an elite corps has been dispatched to the battlefield fighting the Guillaume already."); - mes("Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then."); - break; - } - if ($@FlaviusBG2 > 0) { - mes("[Croix Army Officer]"); - mes("An elite corps is already standing by to be dispatched to the battlefield."); - mes("Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then."); - break; - } - mes("[Croix Army Officer]"); - mes("You definitely seem to be ready for battle!"); - mes("Go show the Guillaumes what fear truly means!"); - mes("Today, our cry of victory shall echo all over the battlefield!"); - close2; - warp "bat_room",141,207; - end; - case 2: - mes("[Croix Army Officer]"); - mes("Today, we shall be victorious!"); - break; - } - close; -} diff --git a/npc/battleground/kvm/kvm01.txt b/npc/battleground/kvm/kvm01.txt deleted file mode 100644 index d0b3d16be..000000000 --- a/npc/battleground/kvm/kvm01.txt +++ /dev/null @@ -1,435 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2016 Hercules Dev Team -//= Copyright (C) L0ne_W0lf -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -// BattleGround System - KvM 80-99 -//================= Description =========================================== -//= Kreiger Von Midgard Battleground for levels 80 to 99 -//= - Winning Team: 5 points -//= - Losing Team: 1 point -//================= Current Version ======================================= -//= 1.2 -//========================================================================= - -//== Waiting Room NPCs ===================================== -bat_room,169,226,5 script KVM Waiting Room#a::KvM01R_Guillaume 4_M_KY_KNT,{ - end; - -OnInit: - waitingroom(_("Battle Station 5 Players"), 6, "KvM01_BG::OnGuillaumeJoin", 1); - end; - -OnEnterBG: - $@KvM01BG_id1 = waitingroom2bg("bat_c01",52,129,"KvM01_BG::OnGuillaumeQuit","KvM01_BG::OnGuillaumeDie"); - end; -} - -bat_room,169,220,0 warp #kvm801 2,2,bat_room,154,150 - -bat_room,169,205,3 script KVM Waiting Room#b::KvM01R_Croix 4_M_CRU_KNT,{ - end; - -OnInit: - waitingroom(_("Battle Station 5 Players"), 6, "KvM01_BG::OnCroixJoin", 1); - end; - -OnEnterBG: - $@KvM01BG_id2 = waitingroom2bg("bat_c01",147,55,"KvM01_BG::OnCroixQuit","KvM01_BG::OnCroixDie"); - end; -} - -bat_room,169,211,0 warp #kvm802 2,2,bat_room,154,150 - -//== Starting Line ========================================= -- script KVM01::CellEffect FAKE_NPC,{ - end; - -OnKvM01One: - specialeffect EF_CHANGECOLD; - end; - -OnKvM01Two: - specialeffect EF_CHANGEPOISON; - end; -} - -bat_c01,54,124,3 duplicate(CellEffect) #RedcellA1-1 HIDDEN_WARP_NPC -bat_c01,55,124,3 duplicate(CellEffect) #RedcellA2-1 HIDDEN_WARP_NPC -bat_c01,56,124,3 duplicate(CellEffect) #RedcellA3-1 HIDDEN_WARP_NPC -bat_c01,57,124,3 duplicate(CellEffect) #RedcellA4-1 HIDDEN_WARP_NPC -bat_c01,57,125,3 duplicate(CellEffect) #RedcellA5-1 HIDDEN_WARP_NPC -bat_c01,57,126,3 duplicate(CellEffect) #RedcellA6-1 HIDDEN_WARP_NPC -bat_c01,57,127,3 duplicate(CellEffect) #RedcellA7-1 HIDDEN_WARP_NPC - -bat_c01,145,59,3 duplicate(CellEffect) #RedcellB1-1 HIDDEN_WARP_NPC -bat_c01,144,59,3 duplicate(CellEffect) #RedcellB2-1 HIDDEN_WARP_NPC -bat_c01,143,59,3 duplicate(CellEffect) #RedcellB3-1 HIDDEN_WARP_NPC -bat_c01,142,59,3 duplicate(CellEffect) #RedcellB4-1 HIDDEN_WARP_NPC -bat_c01,142,56,3 duplicate(CellEffect) #RedcellB5-1 HIDDEN_WARP_NPC -bat_c01,142,57,3 duplicate(CellEffect) #RedcellB6-1 HIDDEN_WARP_NPC -bat_c01,142,58,3 duplicate(CellEffect) #RedcellB7-1 HIDDEN_WARP_NPC - -bat_c01,54,128,3 script #A_camp_start01 HIDDEN_WARP_NPC,4,4,{ - end; - -OnInit: - disablenpc "#A_camp_start01"; - end; - -OnEnable: - enablenpc "#A_camp_start01"; - end; - -OnDisable: - disablenpc "#A_camp_start01"; - end; - -OnTouch: - Bat_Team = 1; - setquest 6025; - end; -} - -bat_c01,146,56,3 script #B_camp_start01 HIDDEN_WARP_NPC,4,4,{ - end; - -OnInit: - disablenpc "#B_camp_start01"; - end; - -OnEnable: - enablenpc "#B_camp_start01"; - end; - -OnDisable: - disablenpc "#B_camp_start01"; - end; - -OnTouch: - Bat_Team = 2; - setquest 6025; - end; -} - -//== Battleground Engine =================================== -- script KvM01_BG FAKE_NPC,{ - end; - -OnInit: - setwall "bat_c01",54,122,6,7,0,"batc01wall_a"; - setwall "bat_c01",55,122,5,7,0,"batc01wall_b"; - setwall "bat_c01",140,56,6,7,0,"batc01wall_c"; - setwall "bat_c01",140,57,5,7,0,"batc01wall_d"; - disablenpc "KVM Officer#KVM01A"; - disablenpc "KVM Officer#KVM01B"; - end; - -OnGuillaumeJoin: -OnCroixJoin: - donpcevent "KvM01_BG::OnReadyCheck"; - end; - -OnGuillaumeQuit: - //BG_Delay_Tick = gettimetick(2) + 1200; -OnGuillaumeDie: - if ($@KvM01BG == 2) { - --.Guillaume_Count; - bg_updatescore "bat_c01",.Guillaume_Count,.Croix_Count; - if( .Guillaume_Count < 1 ) donpcevent "KvM01_BG::OnCroixWin"; - else { - mapannounce("bat_c01", sprintf(_$("The number of Guillaumes is %d."), .Guillaume_Count), bc_map, "0x00ff00"); - mapannounce("bat_c01", sprintf(_$("The number of Croixes is %d."), .Croix_Count), bc_map, "0x00ff00"); - } - } - end; - -OnCroixQuit: - //BG_Delay_Tick = gettimetick(2) + 1200; -OnCroixDie: - if ($@KvM01BG == 2) { - --.Croix_Count; - bg_updatescore "bat_c01",.Guillaume_Count,.Croix_Count; - if( .Croix_Count < 1 ) donpcevent "KvM01_BG::OnGuillaumeWin"; - else { - mapannounce("bat_c01", sprintf(_$("The number of Guillaumes is %d."), .Guillaume_Count), bc_map, "0x00ff00"); - mapannounce("bat_c01", sprintf(_$("The number of Croixes is %d."), .Croix_Count), bc_map, "0x00ff00"); - } - } - end; - -OnReadyCheck: - if( $@KvM01BG ) - end; - .@Guillaume = getwaitingroomstate(0,"KvM01R_Guillaume"); - .@Croix = getwaitingroomstate(0,"KvM01R_Croix"); - - if( .@Guillaume < 5 || .@Croix < 5 ) - end; - - $@KvM01BG = 1; // Starting - donpcevent "KvM01R_Croix::OnEnterBG"; - donpcevent "KvM01R_Guillaume::OnEnterBG"; - donpcevent "KvM01_BG::OnStart"; - end; - -OnStart: - disablenpc "KVM Officer#KVM01A"; - disablenpc "KVM Officer#KVM01B"; - $@KvM01BG_Victory = 0; - // Warp Teams - bg_warp $@KvM01BG_id1,"bat_c01",53,128; - bg_warp $@KvM01BG_id2,"bat_c01",146,55; - initnpctimer; - end; - -OnTimer1000: - mapannounce("bat_c01", _("In 1 minute, KVM will start."), bc_map, "0x00ff00"); - end; - -OnTimer3000: - mapannounce("bat_c01", _("The maximum time for a KVM battle is 5 minutes."), bc_map, "0x00ff00"); - end; - -OnTimer6000: - mapannounce("bat_c01", _("Please prepare for the KVM battle."), bc_map, "0x00ff00"); - mapannounce("bat_c01", _("You can buff your people."), bc_map, "0x00ff00"); - donpcevent "#A_camp_start01::OnEnable"; - donpcevent "#B_camp_start01::OnEnable"; - end; - -OnTimer13000: - donpcevent "#A_camp_start01::OnDisable"; - donpcevent "#B_camp_start01::OnDisable"; - end; - -OnTimer30000: - mapannounce("bat_c01", _("30 seconds remaining to start KVM battle."), bc_map, "0x00ff00"); - end; - -OnTimer45000: - mapannounce("bat_c01", _("15 seconds remaining to start KVM battle."), bc_map, "0x00ff00"); - donpcevent "::OnKvM01One"; - end; - -OnTimer50000: - mapannounce("bat_c01", _("10 seconds remaining to start KVM battle."), bc_map, "0x00ff00"); - donpcevent "::OnKvM01Two"; - end; - -OnTimer55000: - mapannounce("bat_c01", _("5 seconds remaining to start KVM battle."), bc_map, "0x00ff00"); - donpcevent "::OnKvM01One"; - end; - -OnTimer59000: - mapannounce("bat_c01", _("KVM is now commencing."), bc_map, "0x00ff00"); - donpcevent "::OnKvM01Two"; - end; - -OnTimer61000: - // Team Members - .Guillaume_Count = bg_get_data($@KvM01BG_id1, 0); - .Croix_Count = bg_get_data($@KvM01BG_id2, 0); - if( .Guillaume_Count < 5 || .Croix_Count < 5 ) - { - $@KvM01BG_Victory = 3; - $@KvM01BG = 3; - mapannounce("bat_c01", _("There are not enough players to start the battle"), bc_map, "0x696969"); - stopnpctimer; - donpcevent "KvM01_BG::OnStop"; - end; - } - $@KvM01BG = 2; // Playing - bg_warp $@KvM01BG_id1,"bat_c01",61,120; - bg_warp $@KvM01BG_id2,"bat_c01",138,63; - end; - -OnTimer300000: - mapannounce("bat_c01", _("1 minute remaining to finish the KVM battle."), bc_map, "0x00ff00"); - end; - -OnTimer330000: - mapannounce("bat_c01", _("30 seconds remaining to finish the KVM battle."), bc_map, "0x00ff00"); - end; - -OnTimer345000: - mapannounce("bat_c01", _("15 seconds remaining to finish the KVM battle."), bc_map, "0x00ff00"); - end; - -OnTimer350000: - mapannounce("bat_c01", _("10 seconds remaining to finish the KVM battle."), bc_map, "0x00ff00"); - end; - -OnTimer355000: - mapannounce("bat_c01", _("5 seconds remaining to finish the KVM battle."), bc_map, "0x00ff00"); - end; - -OnTimer360000: - mapannounce("bat_c01", _("The KVM battle is over."), bc_map, "0x00ff00"); - if( .Croix_Count > .Guillaume_Count ) - donpcevent "KvM01_BG::OnCroixWin"; - else if( .Croix_Count < .Guillaume_Count ) - donpcevent "KvM01_BG::OnGuillaumeWin"; - else - { // Draw Game - $@KvM01BG = 3; - $@KvM01BG_Victory = 3; - mapannounce("bat_c01", sprintf(_$("The number of Guillaumes is %d."), .Guillaume_Count), bc_map, "0x00ff00"); - mapannounce("bat_c01", sprintf(_$("The number of Croixes is %d."), .Croix_Count), bc_map, "0x00ff00"); - mapannounce("bat_c01", _("This battle has ended in a draw."), bc_map, "0x00ff00"); - donpcevent "KvM01_BG::OnStop"; - } - end; - -OnGuillaumeWin: - $@KvM01BG = 3; - $@KvM01BG_Victory = 1; - mapannounce("bat_c01", _("Guillaume wins!"), bc_map, "0x00ff00"); - mapannounce("bat_c01", _("Congratulations to Guillaume members."), bc_map, "0x00ff00"); - mapannounce("bat_c01", _("Everyone will be moved to the start point."), bc_map, "0x00ff00"); - donpcevent "KvM01_BG::OnStop"; - end; - -OnCroixWin: - $@KvM01BG = 3; - $@KvM01BG_Victory = 2; - mapannounce("bat_c01", _("Croix wins!"), bc_map, "0x00ff00"); - mapannounce("bat_c01", _("Congratulations to Croix members."), bc_map, "0x00ff00"); - mapannounce("bat_c01", _("Everyone will be moved to the start point."), bc_map, "0x00ff00"); - donpcevent "KvM01_BG::OnStop"; - end; - -OnStop: - stopnpctimer; - enablenpc "KVM Officer#KVM01A"; - enablenpc "KVM Officer#KVM01B"; - // Warp Teams - bg_warp $@KvM01BG_id1,"bat_c01",53,128; - bg_warp $@KvM01BG_id2,"bat_c01",146,55; - donpcevent "KvM01_BG_Out::OnBegin"; - end; - -OnReset: - .Croix_Count = 0; - .Guillaume_Count = 0; - $@KvM01BG_Victory = 0; - if( $@KvM01BG_id1 ) { bg_destroy $@KvM01BG_id1; $@KvM01BG_id1 = 0; } - if( $@KvM01BG_id2 ) { bg_destroy $@KvM01BG_id2; $@KvM01BG_id2 = 0; } - disablenpc "KVM Officer#KVM01A"; - disablenpc "KVM Officer#KVM01B"; - mapwarp "bat_c01","bat_room",154,150; - maprespawnguildid "bat_c01",0,3; // Just in case someone else - bg_updatescore "bat_c01",5,5; - $@KvM01BG = 0; - donpcevent "KvM01_BG::OnReadyCheck"; // Maybe a game is ready to start - end; -} - -- script KvM01_BG_Out FAKE_NPC,{ - end; - -OnBegin: - initnpctimer; - end; - -OnTimer1000: - mapannounce("bat_c01", _("Please apply with the Officer to acquire KVM points."), bc_map, "0x00ff00"); - end; - -OnTimer3000: - mapannounce("bat_c01", _("The Officer will grant you the points for 30 seconds."), bc_map, "0x00ff00"); - mapannounce("bat_c01", _("In 30 seconds, the Officer will be sent away."), bc_map, "0x00ff00"); - end; - -OnTimer5000: - mapannounce("bat_c01", _("Unless you talk to the Officer, you cannot gain the points."), bc_map, "0x00ff00"); - mapannounce("bat_c01", _("Please be careful."), bc_map, "0x00ff00"); - end; - -OnTimer55000: - mapannounce("bat_c01", _("You will be sent back."), bc_map, "0x00ff00"); - end; - -OnTimer60000: - stopnpctimer; - donpcevent "KvM01_BG::OnReset"; - end; -} - -//== Battleground rewards ================================== -bat_c01,51,130,5 script KVM Officer#KVM01A 4_M_KY_HEAD,{ - if( $@KvM01BG_Victory ) - { - if( $@KvM01BG_Victory == Bat_Team ) - { // Victory - kvm_point += 5; - mes("[KVM Officer]"); - mes("Good Game."); - mes("May the glory of KVM be with you."); - mes("You aquire the winning points: 5"); - close2; - } else { - ++kvm_point; - mes("[KVM Officer]"); - mes("I am so sorry."); - mes("I wish you better luck next time."); - mes("You aquire the losing points: 1"); - close2; - } - bg_leave; - Bat_Team = 0; - warp "bat_room",154,150; - end; - } - end; -} - -bat_c01,148,53,1 script KVM Officer#KVM01B 4_M_CRU_HEAD,{ - if( $@KvM01BG_Victory ) - { - if( $@KvM01BG_Victory == Bat_Team ) - { // Victory - kvm_point += 5; - mes("[KVM Officer]"); - mes("Good Game."); - mes("May the glory of KVM be with you."); - mes("You aquire the winning points: 5"); - close2; - } else { - ++kvm_point; - mes("[KVM Officer]"); - mes("I am so sorry."); - mes("I wish you better luck next time."); - mes("You aquire the losing points: 1"); - close2; - } - bg_leave; - Bat_Team = 0; - warp "bat_room",154,150; - end; - } - end; -} diff --git a/npc/battleground/kvm/kvm02.txt b/npc/battleground/kvm/kvm02.txt deleted file mode 100644 index a64dbf536..000000000 --- a/npc/battleground/kvm/kvm02.txt +++ /dev/null @@ -1,434 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2016 Hercules Dev Team -//= Copyright (C) Ai4rei -//= Copyright (C) L0ne_W0lf -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -// BattleGround System - KvM 1-59 -//================= Description =========================================== -//= Kreiger Von Midgard Battleground for levels 1 to 59 -//= - Winning Team: 1 point -//= - Losing Team: 0 points -//================= Current Version ======================================= -//= 1.3 -//========================================================================= - -//== Waiting Room NPCs ===================================== -bat_room,197,226,5 script KVM Waiting Room#a2::KvM02R_Guillaume 4_M_KY_KNT,{ - end; - -OnInit: - waitingroom(_("Battle Station 5 Players"), 6, "KvM02_BG::OnGuillaumeJoin", 1); - end; - -OnEnterBG: - $@KvM02BG_id1 = waitingroom2bg("bat_c02",52,129,"KvM02_BG::OnGuillaumeQuit","KvM02_BG::OnGuillaumeDie"); - end; -} - -bat_room,197,220,0 warp #kvm601 2,2,bat_room,154,150 - -bat_room,197,205,3 script KVM Waiting Room#b2::KvM02R_Croix 4_M_CRU_KNT,{ - end; - -OnInit: - waitingroom(_("Battle Station 5 Players"), 6, "KvM02_BG::OnCroixJoin", 1); - end; - -OnEnterBG: - $@KvM02BG_id2 = waitingroom2bg("bat_c02",147,55,"KvM02_BG::OnCroixQuit","KvM02_BG::OnCroixDie"); - end; -} - -bat_room,197,211,0 warp #kvm602 2,2,bat_room,154,150 - -//== Starting Line ========================================= -- script KVM02::CellEffect2 FAKE_NPC,{ - end; - -OnKvM02One: - specialeffect EF_CHANGECOLD; - end; - -OnKvM02Two: - specialeffect EF_CHANGEPOISON; - end; -} - -bat_c02,54,124,3 duplicate(CellEffect2) #RedcellA1-2 HIDDEN_WARP_NPC -bat_c02,55,124,3 duplicate(CellEffect2) #RedcellA2-2 HIDDEN_WARP_NPC -bat_c02,56,124,3 duplicate(CellEffect2) #RedcellA3-2 HIDDEN_WARP_NPC -bat_c02,57,124,3 duplicate(CellEffect2) #RedcellA4-2 HIDDEN_WARP_NPC -bat_c02,57,125,3 duplicate(CellEffect2) #RedcellA5-2 HIDDEN_WARP_NPC -bat_c02,57,126,3 duplicate(CellEffect2) #RedcellA6-2 HIDDEN_WARP_NPC -bat_c02,57,127,3 duplicate(CellEffect2) #RedcellA7-2 HIDDEN_WARP_NPC - -bat_c02,145,59,3 duplicate(CellEffect2) #RedcellB1-2 HIDDEN_WARP_NPC -bat_c02,144,59,3 duplicate(CellEffect2) #RedcellB2-2 HIDDEN_WARP_NPC -bat_c02,143,59,3 duplicate(CellEffect2) #RedcellB3-2 HIDDEN_WARP_NPC -bat_c02,142,59,3 duplicate(CellEffect2) #RedcellB4-2 HIDDEN_WARP_NPC -bat_c02,142,56,3 duplicate(CellEffect2) #RedcellB5-2 HIDDEN_WARP_NPC -bat_c02,142,57,3 duplicate(CellEffect2) #RedcellB6-2 HIDDEN_WARP_NPC -bat_c02,142,58,3 duplicate(CellEffect2) #RedcellB7-2 HIDDEN_WARP_NPC - -bat_c02,54,128,3 script #A_camp_start02 HIDDEN_WARP_NPC,4,4,{ - end; - -OnInit: - disablenpc "#A_camp_start02"; - end; - -OnEnable: - enablenpc "#A_camp_start02"; - end; - -OnDisable: - disablenpc "#A_camp_start03"; - end; - -OnTouch: - Bat_Team = 1; - setquest 6025; - end; -} - -bat_c02,146,56,3 script #B_camp_start02 HIDDEN_WARP_NPC,4,4,{ - end; - -OnInit: - disablenpc "#B_camp_start02"; - end; - -OnEnable: - enablenpc "#B_camp_start02"; - end; - -OnDisable: - disablenpc "#B_camp_start02"; - end; - -OnTouch: - Bat_Team = 2; - setquest 6025; - end; -} - -//== Battleground Engine =================================== -- script KvM02_BG FAKE_NPC,{ - end; - -OnInit: - setwall "bat_c02",54,122,6,7,0,"batc02wall_a"; - setwall "bat_c02",55,122,5,7,0,"batc02wall_b"; - setwall "bat_c02",140,56,6,7,0,"batc02wall_c"; - setwall "bat_c02",140,57,5,7,0,"batc02wall_d"; - disablenpc "KVM Officer#KVM02A"; - disablenpc "KVM Officer#KVM02B"; - end; - -OnGuillaumeJoin: -OnCroixJoin: - donpcevent "KvM02_BG::OnReadyCheck"; - end; - -OnGuillaumeQuit: - //BG_Delay_Tick = gettimetick(2) + 1200; -OnGuillaumeDie: - if ($@KvM02BG == 2) { - --.Guillaume_Count; - bg_updatescore "bat_c02",.Guillaume_Count,.Croix_Count; - if( .Guillaume_Count < 1 ) donpcevent "KvM02_BG::OnCroixWin"; - else { - mapannounce("bat_c02", sprintf(_$("The number of Guillaumes is %d."), .Guillaume_Count), bc_map, "0x00ff00"); - mapannounce("bat_c02", sprintf(_$("The number of Croixes is %d."), .Croix_Count), bc_map, "0x00ff00"); - } - } - end; - -OnCroixQuit: - //BG_Delay_Tick = gettimetick(2) + 1200; -OnCroixDie: - if ($@KvM02BG == 2) { - --.Croix_Count; - bg_updatescore "bat_c02",.Guillaume_Count,.Croix_Count; - if( .Croix_Count < 1 ) donpcevent "KvM02_BG::OnGuillaumeWin"; - else { - mapannounce("bat_c02", sprintf(_$("The number of Guillaumes is %d."), .Guillaume_Count), bc_map, "0x00ff00"); - mapannounce("bat_c02", sprintf(_$("The number of Croixes is %d."), .Croix_Count), bc_map, "0x00ff00"); - } - } - end; - -OnReadyCheck: - if( $@KvM02BG ) - end; - .@Guillaume = getwaitingroomstate(0,"KvM02R_Guillaume"); - .@Croix = getwaitingroomstate(0,"KvM02R_Croix"); - - if( .@Guillaume < 5 || .@Croix < 5 ) - end; - - $@KvM02BG = 1; // Starting - donpcevent "KvM02R_Croix::OnEnterBG"; - donpcevent "KvM02R_Guillaume::OnEnterBG"; - donpcevent "KvM02_BG::OnStart"; - end; - -OnStart: - disablenpc "KVM Officer#KVM02A"; - disablenpc "KVM Officer#KVM02B"; - $@KvM02BG_Victory = 0; - // Warp Teams - bg_warp $@KvM02BG_id1,"bat_c02",53,128; - bg_warp $@KvM02BG_id2,"bat_c02",146,55; - initnpctimer; - end; - -OnTimer1000: - mapannounce("bat_c02", _("In 1 minute, KVM will start."), bc_map, "0x00ff00"); - end; - -OnTimer3000: - mapannounce("bat_c02", _("The maximum time for a KVM battle is 5 minutes."), bc_map, "0x00ff00"); - end; - -OnTimer6000: - mapannounce("bat_c02", _("Please prepare for the KVM battle."), bc_map, "0x00ff00"); - mapannounce("bat_c02", _("You can buff your people."), bc_map, "0x00ff00"); - donpcevent "#A_camp_start02::OnEnable"; - donpcevent "#B_camp_start02::OnEnable"; - end; - -OnTimer13000: - donpcevent "#A_camp_start02::OnDisable"; - donpcevent "#B_camp_start02::OnDisable"; - end; - -OnTimer30000: - mapannounce("bat_c02", _("30 seconds remaining to start KVM battle."), bc_map, "0x00ff00"); - end; - -OnTimer45000: - mapannounce("bat_c02", _("15 seconds remaining to start KVM battle."), bc_map, "0x00ff00"); - donpcevent "::OnKvM01One"; - end; - -OnTimer50000: - mapannounce("bat_c02", _("10 seconds remaining to start KVM battle."), bc_map, "0x00ff00"); - donpcevent "::OnKvM01Two"; - end; - -OnTimer55000: - mapannounce("bat_c02", _("5 seconds remaining to start KVM battle."), bc_map, "0x00ff00"); - donpcevent "::OnKvM01One"; - end; - -OnTimer59000: - mapannounce("bat_c02", _("KVM is now commencing."), bc_map, "0x00ff00"); - donpcevent "::OnKvM01Two"; - end; - -OnTimer61000: - // Team Members - .Guillaume_Count = bg_get_data($@KvM02BG_id1, 0); - .Croix_Count = bg_get_data($@KvM02BG_id2, 0); - if( .Guillaume_Count < 5 || .Croix_Count < 5 ) - { - $@KvM02BG_Victory = 3; - $@KvM02BG = 3; - mapannounce("bat_c02", _("There are not enough players to start the battle"), bc_map, "0x808080"); - stopnpctimer; - donpcevent "KvM02_BG::OnStop"; - end; - } - $@KvM02BG = 2; // Playing - bg_warp $@KvM02BG_id1,"bat_c02",62,119; - bg_warp $@KvM02BG_id2,"bat_c02",137,64; - end; - -OnTimer300000: - mapannounce("bat_c02", _("1 minute remaining to finish the KVM battle."), bc_map, "0x00ff00"); - end; - -OnTimer330000: - mapannounce("bat_c02", _("30 seconds remaining to finish the KVM battle."), bc_map, "0x00ff00"); - end; - -OnTimer345000: - mapannounce("bat_c02", _("15 seconds remaining to finish the KVM battle."), bc_map, "0x00ff00"); - end; - -OnTimer350000: - mapannounce("bat_c02", _("10 seconds remaining to finish the KVM battle."), bc_map, "0x00ff00"); - end; - -OnTimer355000: - mapannounce("bat_c02", _("5 seconds remaining to finish the KVM battle."), bc_map, "0x00ff00"); - end; - -OnTimer360000: - mapannounce("bat_c02", _("The KVM battle is over."), bc_map, "0x00ff00"); - if( .Croix_Count > .Guillaume_Count ) - donpcevent "KvM02_BG::OnCroixWin"; - else if( .Croix_Count < .Guillaume_Count ) - donpcevent "KvM02_BG::OnGuillaumeWin"; - else - { // Draw Game - $@KvM02BG = 3; - $@KvM02BG_Victory = 3; - mapannounce("bat_c02", sprintf(_$("The number of Guillaumes is %d."), .Guillaume_Count), bc_map, "0x00ff00"); - mapannounce("bat_c02", sprintf(_$("The number of Croixes is %d."), .Croix_Count), bc_map, "0x00ff00"); - mapannounce("bat_c02", _("This battle has ended in a draw."), bc_map, "0x00ff00"); - donpcevent "KvM02_BG::OnStop"; - } - end; - -OnGuillaumeWin: - $@KvM02BG = 3; - $@KvM02BG_Victory = 1; - mapannounce("bat_c02", _("Guillaume wins!"), bc_map, "0x00ff00"); - mapannounce("bat_c02", _("Congratulations to Guillaume members."), bc_map, "0x00ff00"); - mapannounce("bat_c02", _("Everyone will be moved to the start point."), bc_map, "0x00ff00"); - donpcevent "KvM02_BG::OnStop"; - end; - -OnCroixWin: - $@KvM02BG = 3; - $@KvM02BG_Victory = 2; - mapannounce("bat_c02", _("Croix wins!"), bc_map, "0x00ff00"); - mapannounce("bat_c02", _("Congratulations to Croix members."), bc_map, "0x00ff00"); - mapannounce("bat_c02", _("Everyone will be moved to the start point."), bc_map, "0x00ff00"); - donpcevent "KvM02_BG::OnStop"; - end; - -OnStop: - stopnpctimer; - enablenpc "KVM Officer#KVM02A"; - enablenpc "KVM Officer#KVM02B"; - // Warp Teams - bg_warp $@KvM02BG_id1,"bat_c02",53,128; - bg_warp $@KvM02BG_id2,"bat_c02",146,55; - donpcevent "KvM02_BG_Out::OnBegin"; - end; - -OnReset: - .Croix_Count = 0; - .Guillaume_Count = 0; - $@KvM02BG_Victory = 0; - if( $@KvM02BG_id1 ) { bg_destroy $@KvM02BG_id1; $@KvM02BG_id1 = 0; } - if( $@KvM02BG_id2 ) { bg_destroy $@KvM02BG_id2; $@KvM02BG_id2 = 0; } - disablenpc "KVM Officer#KVM02A"; - disablenpc "KVM Officer#KVM02B"; - mapwarp "bat_c02","bat_room",154,150; - maprespawnguildid "bat_c02",0,3; // Just in case someone else - bg_updatescore "bat_c02",5,5; - $@KvM02BG = 0; - donpcevent "KvM02_BG::OnReadyCheck"; // Maybe a game is ready to start - end; -} - -- script KvM02_BG_Out FAKE_NPC,{ - end; - -OnBegin: - initnpctimer; - end; - -OnTimer1000: - mapannounce("bat_c02", _("Please apply with the Officer to acquire KVM points."), bc_map, "0x00ff00"); - end; - -OnTimer3000: - mapannounce("bat_c02", _("The Officer will grant you the points for 30 seconds."), bc_map, "0x00ff00"); - mapannounce("bat_c02", _("In 30 seconds, the Officer will be sent away."), bc_map, "0x00ff00"); - end; - -OnTimer5000: - mapannounce("bat_c02", _("Unless you talk to the Officer, you cannot gain the points."), bc_map, "0x00ff00"); - mapannounce("bat_c02", _("Please be careful."), bc_map, "0x00ff00"); - end; - -OnTimer55000: - mapannounce("bat_c02", _("You will be sent back."), bc_map, "0x00ff00"); - end; - -OnTimer60000: - stopnpctimer; - donpcevent "KvM02_BG::OnReset"; - end; -} - -//== Battleground rewards ================================== -bat_c02,51,130,5 script KVM Officer#KVM02A 4_M_KY_HEAD,{ - if( $@KvM01BG_Victory ) - { - if( $@KvM02BG_Victory == Bat_Team ) - { // Victory - ++kvm_point; - mes("[KVM Officer]"); - mes("Good Game."); - mes("May the glory of KVM be with you."); - mes("You aquire the winning points: 1"); - close2; - } else { - mes("[KVM Officer]"); - mes("I am so sorry."); - mes("I wish you better luck next time."); - mes("You aquire the losing points: 0"); - close2; - } - bg_leave; - Bat_Team = 0; - warp "bat_room",154,150; - end; - } - end; -} - -bat_c02,148,53,1 script KVM Officer#KVM02B 4_M_CRU_HEAD,{ - if( $@KvM01BG_Victory ) - { - if( $@KvM02BG_Victory == Bat_Team ) - { // Victory - ++kvm_point; - mes("[KVM Officer]"); - mes("Good Game."); - mes("May the glory of KVM be with you."); - mes("You aquire the winning points: 1"); - close2; - } else { - mes("[KVM Officer]"); - mes("I am so sorry."); - mes("I wish you better luck next time."); - mes("You aquire the losing points: 0"); - close2; - } - bg_leave; - Bat_Team = 0; - warp "bat_room",154,150; - end; - } - end; -} diff --git a/npc/battleground/kvm/kvm03.txt b/npc/battleground/kvm/kvm03.txt deleted file mode 100644 index 954fd7b49..000000000 --- a/npc/battleground/kvm/kvm03.txt +++ /dev/null @@ -1,436 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2016 Hercules Dev Team -//= Copyright (C) Ai4rei -//= Copyright (C) L0ne_W0lf -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -// BattleGround System - KvM 60-80 -//================= Description =========================================== -//= Kreiger Von Midgard Battleground for levels 60 to 80 -//= - Winning Team: 2 points -//= - Losing Team: 1 point -//================= Current Version ======================================= -//= 1.3 -//========================================================================= - -//== Waiting Room NPCs ===================================== -bat_room,225,226,5 script KVM Waiting Room#a3::KvM03R_Guillaume 4_M_KY_KNT,{ - end; - -OnInit: - waitingroom(_("Battle Station 5 Players"), 6, "KvM03_BG::OnGuillaumeJoin", 1); - end; - -OnEnterBG: - $@KvM03BG_id1 = waitingroom2bg("bat_c03",52,129,"KvM03_BG::OnGuillaumeQuit","KvM03_BG::OnGuillaumeDie"); - end; -} - -bat_room,225,220,0 warp #kvm701 2,2,bat_room,154,150 - -bat_room,225,205,3 script KVM Waiting Room#b3::KvM03R_Croix 4_M_CRU_KNT,{ - end; - -OnInit: - waitingroom(_("Battle Station 5 Players"), 6, "KvM03_BG::OnCroixJoin", 1); - end; - -OnEnterBG: - $@KvM03BG_id2 = waitingroom2bg("bat_c03",147,55,"KvM03_BG::OnCroixQuit","KvM03_BG::OnCroixDie"); - end; -} - -bat_room,225,211,0 warp #kvm702 2,2,bat_room,154,150 - -//== Starting Line ========================================= -- script KVM03::CellEffect3 FAKE_NPC,{ - end; - -OnKvM03One: - specialeffect EF_CHANGECOLD; - end; - -OnKvM03Two: - specialeffect EF_CHANGEPOISON; - end; -} - -bat_c03,54,124,3 duplicate(CellEffect3) #RedcellA1-3 HIDDEN_WARP_NPC -bat_c03,55,124,3 duplicate(CellEffect3) #RedcellA2-3 HIDDEN_WARP_NPC -bat_c03,56,124,3 duplicate(CellEffect3) #RedcellA3-3 HIDDEN_WARP_NPC -bat_c03,57,124,3 duplicate(CellEffect3) #RedcellA4-3 HIDDEN_WARP_NPC -bat_c03,57,125,3 duplicate(CellEffect3) #RedcellA5-3 HIDDEN_WARP_NPC -bat_c03,57,126,3 duplicate(CellEffect3) #RedcellA6-3 HIDDEN_WARP_NPC -bat_c03,57,127,3 duplicate(CellEffect3) #RedcellA7-3 HIDDEN_WARP_NPC - -bat_c03,145,59,3 duplicate(CellEffect3) #RedcellB1-3 HIDDEN_WARP_NPC -bat_c03,144,59,3 duplicate(CellEffect3) #RedcellB2-3 HIDDEN_WARP_NPC -bat_c03,143,59,3 duplicate(CellEffect3) #RedcellB3-3 HIDDEN_WARP_NPC -bat_c03,142,59,3 duplicate(CellEffect3) #RedcellB4-3 HIDDEN_WARP_NPC -bat_c03,142,56,3 duplicate(CellEffect3) #RedcellB5-3 HIDDEN_WARP_NPC -bat_c03,142,57,3 duplicate(CellEffect3) #RedcellB6-3 HIDDEN_WARP_NPC -bat_c03,142,58,3 duplicate(CellEffect3) #RedcellB7-3 HIDDEN_WARP_NPC - -bat_c03,54,128,3 script #A_camp_start03 HIDDEN_WARP_NPC,4,4,{ - end; - -OnInit: - disablenpc "#A_camp_start03"; - end; - -OnEnable: - enablenpc "#A_camp_start03"; - end; - -OnDisable: - disablenpc "#A_camp_start03"; - end; - -OnTouch: - Bat_Team = 1; - setquest 6025; - end; -} - -bat_c03,146,56,3 script #B_camp_start03 HIDDEN_WARP_NPC,4,4,{ - end; - -OnInit: - disablenpc "#B_camp_start03"; - end; - -OnEnable: - enablenpc "#B_camp_start03"; - end; - -OnDisable: - disablenpc "#B_camp_start03"; - end; - -OnTouch: - Bat_Team = 2; - setquest 6025; - end; -} - -//== Battleground Engine =================================== -- script KvM03_BG FAKE_NPC,{ - end; - -OnInit: - setwall "bat_c03",54,122,6,7,0,"batc03wall_a"; - setwall "bat_c03",55,122,5,7,0,"batc03wall_b"; - setwall "bat_c03",140,56,6,7,0,"batc03wall_c"; - setwall "bat_c03",140,57,5,7,0,"batc03wall_d"; - disablenpc "KVM Officer#KVM03A"; - disablenpc "KVM Officer#KVM03B"; - end; - -OnGuillaumeJoin: -OnCroixJoin: - donpcevent "KvM03_BG::OnReadyCheck"; - end; - -OnGuillaumeQuit: - //BG_Delay_Tick = gettimetick(2) + 1200; -OnGuillaumeDie: - if ($@KvM03BG == 2) { - --.Guillaume_Count; - bg_updatescore "bat_c03",.Guillaume_Count,.Croix_Count; - if( .Guillaume_Count < 1 ) donpcevent "KvM03_BG::OnCroixWin"; - else { - mapannounce("bat_c03", sprintf(_$("The number of Guillaumes is %d."), .Guillaume_Count), bc_map, "0x00ff00"); - mapannounce("bat_c03", sprintf(_$("The number of Croixes is %d."), .Croix_Count), bc_map, "0x00ff00"); - } - } - end; - -OnCroixQuit: - //BG_Delay_Tick = gettimetick(2) + 1200; -OnCroixDie: - if ($@KvM03BG == 2) { - --.Croix_Count; - bg_updatescore "bat_c03",.Guillaume_Count,.Croix_Count; - if( .Croix_Count < 1 ) donpcevent "KvM03_BG::OnGuillaumeWin"; - else { - mapannounce("bat_c03", sprintf(_$("The number of Guillaumes is %d."), .Guillaume_Count), bc_map, "0x00ff00"); - mapannounce("bat_c03", sprintf(_$("The number of Croixes is %d."), .Croix_Count), bc_map, "0x00ff00"); - } - } - end; - -OnReadyCheck: - if( $@KvM03BG ) - end; - .@Guillaume = getwaitingroomstate(0,"KvM03R_Guillaume"); - .@Croix = getwaitingroomstate(0,"KvM03R_Croix"); - - if( .@Guillaume < 5 || .@Croix < 5 ) - end; - - $@KvM03BG = 1; // Starting - donpcevent "KvM03R_Croix::OnEnterBG"; - donpcevent "KvM03R_Guillaume::OnEnterBG"; - donpcevent "KvM03_BG::OnStart"; - end; - -OnStart: - disablenpc "KVM Officer#KVM03A"; - disablenpc "KVM Officer#KVM03B"; - $@KvM01BG_Victory = 0; - // Warp Teams - bg_warp $@KvM03BG_id1,"bat_c03",53,128; - bg_warp $@KvM03BG_id2,"bat_c03",146,55; - initnpctimer; - end; - -OnTimer1000: - mapannounce("bat_c03", _("In 1 minute, KVM will start."), bc_map, "0x00ff00"); - end; - -OnTimer3000: - mapannounce("bat_c03", _("The maximum time for a KVM battle is 5 minutes."), bc_map, "0x00ff00"); - end; - -OnTimer6000: - mapannounce("bat_c03", _("Please prepare for the KVM battle."), bc_map, "0x00ff00"); - mapannounce("bat_c03", _("You can buff your people."), bc_map, "0x00ff00"); - donpcevent "#A_camp_start03::OnEnable"; - donpcevent "#B_camp_start03::OnEnable"; - end; - -OnTimer13000: - donpcevent "#A_camp_start03::OnDisable"; - donpcevent "#B_camp_start03::OnDisable"; - end; - -OnTimer30000: - mapannounce("bat_c03", _("30 seconds remaining to start KVM battle."), bc_map, "0x00ff00"); - end; - -OnTimer45000: - mapannounce("bat_c03", _("15 seconds remaining to start KVM battle."), bc_map, "0x00ff00"); - donpcevent "::OnKvM01One"; - end; - -OnTimer50000: - mapannounce("bat_c03", _("10 seconds remaining to start KVM battle."), bc_map, "0x00ff00"); - donpcevent "::OnKvM01Two"; - end; - -OnTimer55000: - mapannounce("bat_c03", _("5 seconds remaining to start KVM battle."), bc_map, "0x00ff00"); - donpcevent "::OnKvM01One"; - end; - -OnTimer59000: - mapannounce("bat_c03", _("KVM is now commencing."), bc_map, "0x00ff00"); - donpcevent "::OnKvM01Two"; - end; - -OnTimer61000: - // Team Members - .Guillaume_Count = bg_get_data($@KvM03BG_id1, 0); - .Croix_Count = bg_get_data($@KvM03BG_id2, 0); - if( .Guillaume_Count < 5 || .Croix_Count < 5 ) - { - $@KvM03BG_Victory = 3; - $@KvM03BG = 3; - mapannounce("bat_c03", _("There are not enough players to start the battle"), bc_map, "0xC0C0C0"); - stopnpctimer; - donpcevent "KvM03_BG::OnStop"; - end; - } - $@KvM03BG = 2; // Playing - bg_warp $@KvM03BG_id1,"bat_c03",62,119; - bg_warp $@KvM03BG_id2,"bat_c03",137,64; - end; - -OnTimer300000: - mapannounce("bat_c03", _("1 minute remaining to finish the KVM battle."), bc_map, "0x00ff00"); - end; - -OnTimer330000: - mapannounce("bat_c03", _("30 seconds remaining to finish the KVM battle."), bc_map, "0x00ff00"); - end; - -OnTimer345000: - mapannounce("bat_c03", _("15 seconds remaining to finish the KVM battle."), bc_map, "0x00ff00"); - end; - -OnTimer350000: - mapannounce("bat_c03", _("10 seconds remaining to finish the KVM battle."), bc_map, "0x00ff00"); - end; - -OnTimer355000: - mapannounce("bat_c03", _("5 seconds remaining to finish the KVM battle."), bc_map, "0x00ff00"); - end; - -OnTimer360000: - mapannounce("bat_c03", _("KVM has ended."), bc_map, "0x00ff00"); - if( .Croix_Count > .Guillaume_Count ) - donpcevent "KvM03_BG::OnCroixWin"; - else if( .Croix_Count < .Guillaume_Count ) - donpcevent "KvM03_BG::OnGuillaumeWin"; - else - { // Draw Game - $@KvM03BG = 3; - $@KvM03BG_Victory = 3; - mapannounce("bat_c03", sprintf(_$("The number of Guillaumes is %d."), .Guillaume_Count), bc_map, "0x00ff00"); - mapannounce("bat_c03", sprintf(_$("The number of Croixes is %d."), .Croix_Count), bc_map, "0x00ff00"); - mapannounce("bat_c03", _("This battle has ended in a draw."), bc_map, "0x00ff00"); - donpcevent "KvM03_BG::OnStop"; - } - end; - -OnGuillaumeWin: - $@KvM03BG = 3; - $@KvM03BG_Victory = 1; - mapannounce("bat_c03", _("Guillaume wins!"), bc_map, "0x00ff00"); - mapannounce("bat_c03", _("Congratulations to Guillaume members."), bc_map, "0x00ff00"); - mapannounce("bat_c03", _("Everyone will be moved to the start point."), bc_map, "0x00ff00"); - donpcevent "KvM03_BG::OnStop"; - end; - -OnCroixWin: - $@KvM03BG = 3; - $@KvM03BG_Victory = 2; - mapannounce("bat_c03", _("Croix wins!"), bc_map, "0x00ff00"); - mapannounce("bat_c03", _("Congratulations to Croix members."), bc_map, "0x00ff00"); - mapannounce("bat_c03", _("Everyone will be moved to the start point."), bc_map, "0x00ff00"); - donpcevent "KvM03_BG::OnStop"; - end; - -OnStop: - stopnpctimer; - enablenpc "KVM Officer#KVM03A"; - enablenpc "KVM Officer#KVM03B"; - // Warp Teams - bg_warp $@KvM03BG_id1,"bat_c03",53,128; - bg_warp $@KvM03BG_id2,"bat_c03",146,55; - donpcevent "KvM03_BG_Out::OnBegin"; - end; - -OnReset: - .Croix_Count = 0; - .Guillaume_Count = 0; - $@KvM03BG_Victory = 0; - if( $@KvM03BG_id1 ) { bg_destroy $@KvM03BG_id1; $@KvM03BG_id1 = 0; } - if( $@KvM03BG_id2 ) { bg_destroy $@KvM03BG_id2; $@KvM03BG_id2 = 0; } - disablenpc "KVM Officer#KVM03A"; - disablenpc "KVM Officer#KVM03B"; - mapwarp "bat_c03","bat_room",154,150; - maprespawnguildid "bat_c03",0,3; // Just in case someone else - bg_updatescore "bat_c03",5,5; - $@KvM03BG = 0; - donpcevent "KvM03_BG::OnReadyCheck"; // Maybe a game is ready to start - end; -} - -- script KvM03_BG_Out FAKE_NPC,{ - end; - -OnBegin: - initnpctimer; - end; - -OnTimer1000: - mapannounce("bat_c03", _("Please apply with the Officer to acquire KVM points."), bc_map, "0x00ff00"); - end; - -OnTimer3000: - mapannounce("bat_c03", _("The Officer will grant you the points for 30 seconds."), bc_map, "0x00ff00"); - mapannounce("bat_c03", _("In 30 seconds, the Officer will be sent away."), bc_map, "0x00ff00"); - end; - -OnTimer5000: - mapannounce("bat_c03", _("Unless you talk to the Officer, you cannot gain the points."), bc_map, "0x00ff00"); - mapannounce("bat_c03", _("Please be careful."), bc_map, "0x00ff00"); - end; - -OnTimer55000: - mapannounce("bat_c03", _("You will be sent back."), bc_map, "0x00ff00"); - end; - -OnTimer60000: - stopnpctimer; - donpcevent "KvM03_BG::OnReset"; - end; -} - -//== Battleground rewards ================================== -bat_c03,51,130,5 script KVM Officer#KVM03A 4_M_KY_HEAD,{ - if( $@KvM01BG_Victory ) - { - if( $@KvM03BG_Victory == Bat_Team ) - { // Victory - kvm_point += 2; - mes("[KVM Officer]"); - mes("Good Game."); - mes("May the glory of KVM be with you."); - mes("You aquire the winning points: 2"); - close2; - } else { - ++kvm_point; - mes("[KVM Officer]"); - mes("I am so sorry."); - mes("I wish you better luck next time."); - mes("You aquire the losing points: 1"); - close2; - } - bg_leave; - Bat_Team = 0; - warp "bat_room",154,150; - end; - } - end; -} - -bat_c03,148,53,1 script KVM Officer#KVM03B 4_M_CRU_HEAD,{ - if( $@KvM01BG_Victory ) - { - if( $@KvM03BG_Victory == Bat_Team ) - { // Victory - kvm_point +=2; - mes("[KVM Officer]"); - mes("Good Game."); - mes("May the glory of KVM be with you."); - mes("You aquire the winning points: 2"); - close2; - } else { - ++kvm_point; - mes("[KVM Officer]"); - mes("I am so sorry."); - mes("I wish you better luck next time."); - mes("You aquire the losing points: 1"); - close2; - } - bg_leave; - Bat_Team = 0; - warp "bat_room",154,150; - end; - } - end; -} diff --git a/npc/battleground/kvm/kvm_enter.txt b/npc/battleground/kvm/kvm_enter.txt deleted file mode 100644 index 2ee4a7c5d..000000000 --- a/npc/battleground/kvm/kvm_enter.txt +++ /dev/null @@ -1,230 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2016 Hercules Dev Team -//= Copyright (C) L0ne_W0lf -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -// BattleGround System - KvM Entrance NPCs -//================= Description =========================================== -//= Kreiger Von Midgard Battleground Entrance NPCs -//= Original NPCs scrapped from bg_common. -//================= Current Version ======================================= -//= 1.1 -//========================================================================= - -//== KvM Officer - Guillaume =============================== -bat_room,164,178,5 script KVM Mercenary Officer#1 4_M_KY_KNT,{ - /* - .@kvm = questprogress(6026,PLAYTIME); - if (.@kvm == 1) { - mes("[Croix Mercenary Officer]"); - mes("I know that you've already signed with the Croix. Go back and join their team. We will not accept traitors to fight for us."); - close; - } - else if (.@kvm == 2) erasequest 6026; - */ - .@permit = questprogress(6025,PLAYTIME); - if (.@permit == 1) { - mes("[Guillaume Mercenary Officer]"); - mes("It seems you have recently participated in a KVM battle. You must wait 5 minutes before signing up again."); - close; - } - else if (.@permit == 2) erasequest 6025; - mes("[Guillaume Mercenary Officer]"); - mes("Let them know the real might of Guillaume!"); - next; - switch(select("I will fight with you.", "End Conversation.")) { - case 1: - mes("[Guillaume Mercenary Officer]"); - mes("Show them how strong we are."); - mes("Today, everyone will hear the shout of triumph from Guillaume!"); - close2; - //setquest 6025; - if (BaseLevel > 79) warp "bat_room",169,223; - else if (BaseLevel < 60) warp "bat_room",197,223; - else warp "bat_room",225,223; - end; - case 2: - mes("[Guillaume Mercenary Officer]"); - mes("We will win!"); - close; - } -} - -//== Guillaume Knight - KvM ================================ -bat_room,167,178,5 script Guillaume Knight#kvm 4_M_KY_SOLD,{ - mes("[Guillaume Knight]"); - mes("Hello."); - mes("What do you want to know?"); - next; - switch(select("Apply for KVM.", "What is KVM?", "How do I participate in KVM?", "I want to know my Kreiger Points.")) { - case 1: - mes("[Guillaume Knight]"); - mes("Applications are not available yet."); - mes("To apply, you need to go to a KVM Mercenary Officer."); - close; - case 2: - mes("[Guillaume Knight]"); - mes("KVM is the abbreviation of Kreiger Von Midgard."); - mes("Adventurer, are you aware that the way to the new world has been opened?"); - next; - mes("[Guillaume Knight]"); - mes("We, the Guillaume Administration, have several plans to advance to the new world."); - mes("And KVM is one of them."); - next; - mes("[Guillaume Knight]"); - mes("It means that we, one of many countries in the Midgard continent,"); - mes("have decided to employ many adventurers for the immediate advance to the new world."); - next; - mes("[Guillaume Knight]"); - mes("Therefore, to select the best adventurers, we are holding the KVM."); - mes("We exspect responses from many adventurers."); - next; - mes("[Guillaume Knight]"); - mes("And we will give them rewards for their participation!"); - mes("As for the rewards, please contact a KVM Logistic Officer."); - close; - case 3: - mes("[Guillaume Knight]"); - mes("Basically, KVM is a 5 on 5 battle."); - mes("First, you apply with a KVM receptionist, in a group or individually."); - next; - mes("[Guillaume Knight]"); - mes("Group applications are for when you intend to enter the KVM with your party members,"); - mes("and a personal application is for when you intend to enter the KVM individually."); - next; - mes("[Guillaume Knight]"); - mes("Please apply with a KVM officer, and he will contact you later when you are in Prontera."); - next; - mes("[Guillaume Knight]"); - mes("Then you enter and follow the instructions in the battlefield."); - next; - mes("[Guillaume Knight]"); - mes("However, please be advised that unless you are in the KVM office, he cannot contact you."); - close; - case 4: - mes("[Guillaume Knight]"); - mes("Your Kreiger Points are:"); - mesf("%d.", kvm_point); - close; - } -} - -//== KvM Officer - Croix =================================== -bat_room,164,121,1 script KVM Mercenary Officer#2 4_M_CRU_KNT,{ - /* - .@kvm = questprogress(6025,PLAYTIME); - if (.@kvm == 1) { - mes("[Croix Mercenary Officer]"); - mes("I know that you've already signed with the Guillaume. Go back and join their team. We will not accept traitors to fight for us."); - close; - } - else if (.@kvm == 2) erasequest 6025; - */ - .@permit = questprogress(6025,PLAYTIME); - if (.@permit == 1) { - mes("[Croix Mercenary Officer]"); - mes("It seems you have recently participated in a KVM battle. You must wait 5 minutes before signing up again."); - close; - } - else if (.@permit == 2) erasequest 6025; - mes("[Croix Mercenary Officer]"); - mes("Let them know the real might of Croix!"); - next; - switch(select("I will fight with you.", "End Conversation.")) { - case 1: - mes("[Croix Mercenary Officer]"); - mes("Show them how strong we are."); - mes("Today, everyone will hear the shout of triumph from Croix!"); - close2; - //setquest 6026; - if (BaseLevel > 79) warp "bat_room",169,207; - else if (BaseLevel < 60) warp "bat_room",197,207; - else warp "bat_room",225,207; - end; - case 2: - mes("[Croix Mercenary Officer]"); - mes("We will win!"); - close; - } -} - -//== Croix Knight - KvM ==================================== -bat_room,167,121,1 script Croix Knight#kvm 4_M_CRU_SOLD,{ - mes("[Croix Knight]"); - mes("Hello."); - mes("What do you want to know?"); - next; - switch(select("Apply for KVM.", "What is KVM?", "How do I participate in KVM?", "I want to know my Kreiger Points.")) { - case 1: - mes("[Croix Knight]"); - mes("Applications are not available yet."); - mes("To apply, you need to go to a KVM Mercenary Officer."); - close; - case 2: - mes("[Croix Knight]"); - mes("KVM is the abbreviation of Kreiger Von Midgard."); - mes("Adventurer, are you aware that the way to the new world has been opened?"); - next; - mes("[Croix Knight]"); - mes("We, the Croix Administration, have several plans to advance to the new world."); - mes("And KVM is one of them."); - next; - mes("[Croix Knight]"); - mes("It means that we, one of many countries in the Midgard continent,"); - mes("have decided to employ many adventurers for the immediate advance to the new world."); - next; - mes("[Croix Knight]"); - mes("Therefore, to select the best adventurers, we are holding the KVM."); - mes("We exspect responses from many adventurers."); - next; - mes("[Croix Knight]"); - mes("And we will give them rewards for their participation!"); - mes("As for the rewards, please contact a KVM Logistic Officer."); - close; - case 3: - mes("[Croix Knight]"); - mes("Basically, KVM is a 5 on 5 battle."); - mes("First, you apply with a KVM receptionist, in a group or individually."); - next; - mes("[Croix Knight]"); - mes("Group applications are for when you intend to enter the KVM with your party members,"); - mes("and a personal application is for when you intend to enter the KVM individually."); - next; - mes("[Croix Knight]"); - mes("Please apply with a KVM officer, and he will contact you later when you are in Prontera."); - next; - mes("[Croix Knight]"); - mes("Then you enter and follow the instructions in the battlefield."); - next; - mes("[Croix Knight]"); - mes("However, please be advised that unless you are in the KVM office, he cannot contact you."); - close; - case 4: - mes("[Croix Knight]"); - mes("Your Kreiger Points are:"); - mesf("%d.", kvm_point); - close; - } -} diff --git a/npc/battleground/kvm/kvm_item_pay.txt b/npc/battleground/kvm/kvm_item_pay.txt deleted file mode 100644 index f9dac0766..000000000 --- a/npc/battleground/kvm/kvm_item_pay.txt +++ /dev/null @@ -1,331 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2016 Hercules Dev Team -//= Copyright (C) L0ne_W0lf -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -// BattleGround System - KvM Item Dealer -//================= Description =========================================== -//= Kreiger Von Midgard Battleground Point redemption NPC -//================= Current Version ======================================= -//= 1.0 -//================= Additional Comments =================================== -//= KvM Does NOT use items, but a character variable to keep track of -//= points. This NPC when talked to will convert already-given tokens and -//= convert them to points under the player variable kvm_point. -//========================================================================= - -bat_room,151,144,3 script KVM Logistic Officer#a 4_M_JOB_KNIGHT2,{ - if (countitem(War_Badge)) { - .@pointstoadd = countitem(War_Badge); - delitem 7773,.@pointstoadd; - kvm_point += .@pointstoadd; - mes("[Logistics]"); - mesf("Are those %ss I see?", getitemname(7773)); - mes("We no longer accept that currency,\r" - "but I can exchange those for you."); - mesf("So you have %d %ss?", .@pointstoadd, getitemname(7773)); - mesf("Alright, all set, you now have ^580080%d^000000 KVM Points.", kvm_point); - next; - } - if (checkweight(Knife,1) == 0) { - mes("- Wait a minute !! -"); - mes("- Currently you're carrying -"); - mes("- too many items with you. -"); - mes("- Please try again -"); - mes("- after you loose some weight. -"); - close; - } - mes("[Logistics]"); - mes("Hello?"); - mes("I am in charge of distributing\r" - "reward items for KVM points. Any\r" - "wrong selection of items will not\r" - "be reversed. Please be carefull."); - mes("Select the next step please."); - next; - .@name$ = strcharinfo(PC_NAME); - switch(select("Read the KVM Catalogue.", "Purchase KVM Items.", "Confirm KVM Points.", "Explanation of KVM Rewards.", "Explanation of KVM Points.")) { - case 1: - mes("[Logistics]"); - mes("Here is the catalogue of KVM items."); - mes("Each weapon requires 2,000 points\r" - "and each armor from 10 to 1,200\r" - "points. So, be carefull when\r" - "selecting a reward."); - close2; - readbook 11017,1; - end; - case 2: - mes("[Logistics]"); - mes("Wich items do you want to see? As\r" - "for the detailed specification of\r" - "the items, please refer to the\r" - "^3131FFCatalogue^000000."); - next; - switch(select("Weapon", "Armor/Accessory", "Mass-Production Armor/Accessory", "Popularized Armor/Accessory")) { - case 1: - mes("[Logistics]"); - mes("You have selected the Weapon Category."); - mes("Please select a sub-category."); - next; - switch(select("Dagger/Sword/Spear", "Staff/Mace/Axe/Shuriken", "Bow/Katar/Instrument/Whip", "Book/Knuckle", "Revolver/Rifle/Gun/Grenade Launcher")) { - case 1: - mes("[Logistics]"); - mes("You have selected the Dagger/Sword/Spear category."); - mes("Please select a sub-category."); - next; - switch(select("Dagger", "One-handed Sword", "Two-handed Sword", "One-handed Spear", "Two-handed Spear")) { - case 1: callsub PurchaseItem,13042,0,1; //Krieger_Dagger1 - case 2: - mes("[Logistics]"); - mes("You have selected the 'One-handed Sword' category."); - mes("There are 3 One-handed Swords: Glorious Flamberge, Glorious Rapier and Glorious Holy Avenger."); - mes("If you want their details, please refer to the KVM Catalogue."); - mes("Please select one of them."); - next; - switch(select("Glorious Flamberge", "Glorious Rapier", "Glorious Holy Avenger")) { - case 1: callsub PurchaseItem,13416,0,0; //Krieger_Onehand_Sword1 - case 2: callsub PurchaseItem,13417,0,0; //Krieger_Onehand_Sword2 - case 3: callsub PurchaseItem,13418,0,0; //Krieger_Onehand_Sword3 - } - case 3: callsub PurchaseItem,1187,0,1; //Krieger_Twohand_Sword1 - case 4: callsub PurchaseItem,1426,0,1; //Krieger_Onehand_Spear1 - case 5: callsub PurchaseItem,1486,0,1; //Krieger_Twohand_Spear1 - } - case 2: - mes("[Logistics]"); - mes("You have selected the 'Staff/Mace/Axe/Shuriken' category."); - mes("Please select a sub-category."); - next; - switch(select("Staff", "Mace", "One-handed Axe", "Two-handed Axe", "Shuriken")) { - case 1: - mes("[Logistics]"); - mes("You have selected the 'Staff' category."); - mes("There are 3 Staffs: a Two-handed Weapon Glorious Destruction Staff, a One-handed Glorious Arc Wand and a Glorious Healing Staff."); - mes("If you want their details, please refer to the KVM Catalogue."); - mes("Please select one of them."); - next; - switch(select("Glorious Destruction Staff", "Glorious Arc Wand", "Glorious Healing Staff")) { - case 1: callsub PurchaseItem,2002,0,0; //Krieger_Twohand_Staff1 - case 2: callsub PurchaseItem,1640,0,0; //Krieger_Onehand_Staff1 - case 3: callsub PurchaseItem,1641,0,0; //Krieger_Onehand_Staff2 - } - case 2: callsub PurchaseItem,1546,0,1; //Krieger_Onehand_Mace1 - case 3: callsub PurchaseItem,1310,0,1; //Krieger_Onehand_Axe1 - case 4: callsub PurchaseItem,1382,0,1; //Krieger_Twohand_Axe1 - case 5: callsub PurchaseItem,13307,0,1; //Krieger_Huuma_Shuriken1 - } - case 3: - mes("[Logistics]"); - mes("You have selected the Bow/Katar/Instrument/Whip category."); - mes("Please select a sub-category."); - next; - switch(select("Bow", "Katar", "Instrument", "Whip")) { - case 1: callsub PurchaseItem,1743,0,1; //Krieger_Bow1 - case 2: - mes("[Logistics]"); - mes("You have selected the 'Katar' category."); - mes("There are 2 Katars: Glorious Bloody Roar and Glorious Jamadhar."); - mes("If you want their details, please refer to the KVM Catalogue."); - mes("Please select one of them."); - next; - switch(select("Glorious Bloody Roar", "Glorious Jamadhar")) { - case 1: callsub PurchaseItem,1281,0,0; //Krieger_Katar1 - case 2: callsub PurchaseItem,1282,0,0; //Krieger_Katar2 - } - case 3: callsub PurchaseItem,1927,0,1; //Krieger_Instrument1 - case 4: callsub PurchaseItem,1981,0,1; //Krieger_Whip1 - } - case 4: - mes("[Logistics]"); - mes("You have selected the Book/Knuckle category."); - mes("Please select a sub-category."); - next; - switch(select("Book", "Knuckle")) { - case 1: - mes("[Logistics]"); - mes("You have selected 'Book'."); - mes("There are 2 Books: Glorious Tablet and Glorious Apocalypse."); - mes("If you want their details, please refer to the KVM Catalogue."); - mes("Please select one of them."); - next; - switch(select("Glorious Tablet", "Glorious Apocalypse")) { - case 1: callsub PurchaseItem,1576,0,0; //Krieger_Book1 - case 2: callsub PurchaseItem,1577,0,0; //Krieger_Book2 - } - case 2: - mes("[Logistics]"); - mes("You have selected the 'Knuckle' category."); - mes("There are 2 Knuckles: Glorious Claw and Glorious Fist."); - mes("If you want their details, please refer to the KVM Catalogue."); - mes("Please select one of them."); - next; - switch(select("Glorious Claw", "Glorious Fist")) { - case 1: callsub PurchaseItem,1826,0,0; //Krieger_Knuckle1 - case 2: callsub PurchaseItem,1827,0,0; //Krieger_Knuckle2 - } - } - case 5: - mes("[Logistics]"); - mes("You have selected the 'Revolver/Rifle/Gun/Grenade Launcher' category."); - mes("Please select a sub-category."); - next; - switch(select("Revolver", "Rifle", "Gatling Gun", "Shotgun", "Grenade Launcher")) { - case 1: callsub PurchaseItem,13110,0,1; //Krieger_Pistol1 - case 2: callsub PurchaseItem,13176,0,1; //Krieger_Rifle1 - case 3: callsub PurchaseItem,13177,0,1; //Krieger_Gatling1 - case 4: callsub PurchaseItem,13178,0,1; //Krieger_Shotgun1 - case 5: callsub PurchaseItem,13179,0,1; //Krieger_Launcher1 - } - } - case 2: - mes("[Logistics]"); - mes("You have selected the 'Armor/Accessory' category."); - mes("Please select a sub-category."); - next; - switch(select("Armor", "Cloak", "Shoes", "Accessory")) { - case 1: callsub PurchaseItem,2394,1,2; //Krieger_Suit1 - case 2: callsub PurchaseItem,2549,2,2; //Krieger_Muffler1 - case 3: callsub PurchaseItem,2444,3,2; //Krieger_Shoes1 - case 4: callsub PurchaseItem,2772,4,2; //Krieger_Ring1 - } - case 3: - mes("[Logistics]"); - mes("You have selected the 'Mass-Production Armor/Accessory' category."); - mes("Please select a sub-category."); - next; - switch(select("Mass-Production Armor", "Mass-Production Shoes", "Mass-Production Accessory")) { - case 1: callsub PurchaseItem,2395,5,3; //Krieger_Suit2 - case 2: callsub PurchaseItem,2445,6,3; //Krieger_Shoes2 - case 3: callsub PurchaseItem,2773,7,3; //Krieger_Ring2 - } - case 4: - mes("[Logistics]"); - mes("You have selected the 'Popularized Armor/Accessory' category."); - mes("Please select a sub-category."); - next; - switch(select("Popularized Armor", "Popularized Shoes", "Popularized Accessory")) { - case 1: callsub PurchaseItem,2396,8,4; //Krieger_Suit3 - case 2: callsub PurchaseItem,2446,9,4; //Krieger_Shoes3 - case 3: callsub PurchaseItem,2774,10,4; //Krieger_Ring3 - } - } - case 3: - mes("[Logistics]"); - mesf("%s, your current points are ^580080%d^000000 KVM Points.", .@name$, kvm_point); - close; - case 4: - mes("[Logistics]"); - mes("There are 3 categories in KVM Rewards: Weapon/Armor.Accessory."); - next; - mes("[Logistics]"); - mes("Weapon rewards require 2,000 KVM points for each."); - mes("There are 3 types of Armor rewards and they require 840/630/580 KVM points fo each."); - mes("Accessory rewards require 1,200 KVM points for each."); - next; - mes("[Logistics]"); - mes("Kreiger Weapons are LV 4 Weapons, they can be upgraded and will have special effects: Slaughter, Destruction and Blessing."); - next; - mes("[Logistics]"); - mes("When you can wear all 3 armors, you can have a special set of options."); - mes("Also, when Kreiger Accessory rewards are worn with medalsm it will bring you special set rewards."); - next; - mes("[Logistics]"); - mes("Finally, there are Mass-Production Armor and Accessory rewards."); - mes("Players whose Lvl is higher than 60 can equip Mass-Production Armors and there is a Lvl limit for Popularized Armor as well."); - close; - case 5: - mes("[Logistics]"); - mes("KVM Points are rewarded when you win, lose or draw in Kreiger Von Midgard (KVM)."); - mes("You can have special Rewards by using these points."); - close; - } - -PurchaseItem: - // Pricing for Weapon, Suit1, Muffler1, Shoes1, Ring1m Suit2, Shoes2, Ring2, Suit3, Shoes3, Ring3 - setarray .@prices[0],2000,840,630,580,1200,120,70,200,15,10,30; - - mes("[Logistics]"); - - if (!getarg(2)) - mesf("You have selected ^ff0000%s^000000.", getitemname(getarg(0))); - else if (getarg(2) == 1) - mesf("There is only one %s: %s.", callfunc("F_GetWeaponType",getarg(0)), getitemname(getarg(0))); - else if (getarg(2) == 2) { - mesf("You have selected '%s'.", callfunc("F_GetArmorType",getarg(0))); - mesf("The armor for one whose Lvl is more than 80 is: ^ff0000%s^000000.", getitemname(getarg(0))); - } - else if (getarg(2) == 3) { - mesf("You have selected 'Mass-Production %s'.", callfunc("F_GetArmorType",getarg(0))); - mesf("There is only one Mass-Production %s: ^ff0000%s^000000.", callfunc("F_GetArmorType",getarg(0)), getitemname(getarg(0))); - } - else if (getarg(2) == 4) { - mesf("You have selected 'Popularized %s'.", callfunc("F_GetArmorType",getarg(0))); - mesf("There is only one Popularized %s: ^ff0000%s^000000.", callfunc("F_GetArmorType",getarg(0)), getitemname(getarg(0))); - } - - if (!getarg(1)) - mesf("It requires ^0000ff2,000^000000 KVM Points, and %s, your points are: ^580080%d^000000.", .@name$, kvm_point); - else if (getarg(1) == 4) - mesf("It requires ^0000ff1,200^000000 KVM Points, and %s, your points are: ^580080%d^000000.", .@name$, kvm_point); - else - mesf("It requires ^0000ff%d^000000 KVM Points, and %s, your points are: ^580080%d^000000.", .@prices[getarg(1)], .@name$, kvm_point); - - mes("Are you sure you want this item?"); - next; - switch(select("No, I won't purchase it.", "Yes, I will purchase it.")) { - case 1: - mes("[Logistics]"); - mes("You have selected 'I won't purchase it'."); - mes("When purchasing an item, please be careful there are no refunds."); - break; - case 2: - if (kvm_point >= .@prices[getarg(1)]) { - kvm_point -= .@prices[getarg(1)]; - getitem getarg(0),1; - mes("[Logistics]"); - mesf("You have purchased a %s.", getitemname(getarg(0))); - if (!getarg(1)) - mesf("Your KVM Points are reduced by ^0000ff%d^000000 points, your KVM Points are now ^580080%d^000000.", getarg(1), kvm_point); - if (getarg(1) == 4) - mesf("Your KVM Points are reduced by ^0000ff1,200^000000 points, your KVM Points are now ^580080%d^000000.", kvm_point); - else - mesf("Your KVM Points are reduced by ^0000ff%d^000000 points, your KVM Points are now ^580080%d^000000.", .@prices[getarg(1)], kvm_point); - } - else { - mes("[Logistics]"); - if (!getarg(1)) - mes("You need ^0000ff2,000^000000 KVM Points to purchase this item."); - else if (getarg(1) == 4) - mes("You need ^0000ff1,200^000000 KVM Points to purchase this item."); - else - mesf("You need ^0000ff%d^000000 KVM Points to purchase this item.", .@prices[getarg(1)]); - mesf("However, your KVM Points are now ^580080%d^000000.", kvm_point); - mes("Which are not enough to buy it."); - mes("When you get enough points, please come back again."); - } - } - close; -} diff --git a/npc/battleground/tierra/tierra01.txt b/npc/battleground/tierra/tierra01.txt deleted file mode 100644 index bdf41b0bd..000000000 --- a/npc/battleground/tierra/tierra01.txt +++ /dev/null @@ -1,961 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2016 Hercules Dev Team -//= Copyright (C) Euphy -//= Copyright (C) Kisuka -//= Copyright (C) L0ne_W0lf -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -// BattleGround System - Tierra Gorge -//================= Description =========================================== -//= Tierra Gorge Battleground. -//= - Winning Team: 3 badges -//= - Losing Team: 1 badge -//================= Current Version ======================================= -//= 1.5 -//========================================================================= - -//== Waiting Room NPCs ===================================== -bat_room,57,227,5 script Lieutenant Kalos 4_M_KY_KNT,{ - end; - -OnInit: - waitingroom("Battle Station", 11, "start#bat_a01::OnReadyCheck", 1, 0, 80); - end; - -OnEnterBG: - $@TierraBG1_id1 = waitingroom2bg("bat_a01",50,374,"start#bat_a01::OnGuillaumeQuit",""); - end; -} - -bat_room,58,204,1 script Lieutenant Eyor 4_M_CRU_KNT,{ - end; - -OnInit: - waitingroom("Battle Station", 11, "start#bat_a01::OnReadyCheck", 1, 0, 80); - end; - -OnEnterBG: - $@TierraBG1_id2 = waitingroom2bg("bat_a01",42,16,"start#bat_a01::OnCroixQuit",""); - end; -} - -bat_room,1,151,3 script #bat_a01_timer CLEAR_NPC,{ - end; - -OnInit: -OnEnable: - initnpctimer; - end; - -OnStop: - stopnpctimer; - end; - -OnTimer1000: - stopnpctimer; - initnpctimer; - .@chk_bat_a01 = getmapusers("bat_a01"); - if (.@chk_bat_a01 < 1) { - $@TierraBG1 = 0; $@TierraBG1_Victory = 0; - if( $@TierraBG1_id1 ) { bg_destroy $@TierraBG1_id1; $@TierraBG1_id1 = 0; } - if( $@TierraBG1_id2 ) { bg_destroy $@TierraBG1_id2; $@TierraBG1_id2 = 0; } - donpcevent "start#bat_a01::OnReadyCheck"; - } - end; -} - -bat_a01,352,342,0 script #bat_a01_quest_a FAKE_NPC,5,5,{ - end; - -OnTouch: - if (!questprogress(2069)) - setquest 2069; - end; -} - -bat_a01,353,52,0 script #bat_a01_quest_b FAKE_NPC,5,5,{ - end; - -OnTouch: - if (!questprogress(2069)) - setquest 2069; - end; -} - -bat_room,57,220,0 warp back_bgrooma01a 1,1,bat_room,154,150 -bat_room,57,211,0 warp back_bgrooma01b 1,1,bat_room,154,150 - -//== Tierra Gorge Battleground Engine ====================== -bat_a01,15,15,3 script start#bat_a01 CLEAR_NPC,{ -OnInit: - mapwarp "bat_a01","bat_room",154,150; - end; - -OnEnable: - donpcevent "OBJ#bat_a01_a::OnKill"; - donpcevent "OBJ#bat_a01_a::OnEnable"; - donpcevent "OBJ#bat_a01_b::OnKill"; - donpcevent "OBJ#bat_a01_b::OnEnable"; - donpcevent "barricade#bat_a01_a::OnKill"; - donpcevent "barricade#bat_a01_a::OnEnable"; - donpcevent "barricade#bat_a01_b::OnKill"; - donpcevent "barricade#bat_a01_b::OnEnable"; - donpcevent "OBJ#bat_a01_n::OnKill"; - donpcevent "OBJ#bat_a01_n::OnEnable"; - donpcevent "NOBJ_mob#bat_a01_a::OnKill"; - donpcevent "NOBJ_mob#bat_a01_b::OnKill"; - donpcevent "Battle Therapist#a01_a::OnEnable"; - donpcevent "Battle Therapist#a01_b::OnEnable"; - donpcevent "countdown#bat_a01::OnEnable"; - disablenpc "Guillaume Blacksmith#a01"; - disablenpc "Croix Blacksmith#bat_a01"; - disablenpc "Guillaume Vintenar#a01_a"; - disablenpc "Croix Vintenar#a01_b"; - end; - -OnGuillaumeQuit: -OnCroixQuit: - bg_leave; - end; - -OnReadyCheck: - if( $@TierraBG1 ) - end; - .@Guillaume = getwaitingroomstate(0,"Lieutenant Kalos"); - .@Croix = getwaitingroomstate(0,"Lieutenant Eyor"); - if( !.@Guillaume && !.@Croix ) { - donpcevent "#bat_a01_timer::OnStop"; - end; - } - else if( .@Guillaume < 10 || .@Croix < 10 ) - end; - $@TierraBG1 = 1; - donpcevent "Lieutenant Kalos::OnEnterBG"; - donpcevent "Lieutenant Eyor::OnEnterBG"; - donpcevent "start#bat_a01::OnEnable"; - bg_warp $@TierraBG1_id1,"bat_a01",352,342; - bg_warp $@TierraBG1_id2,"bat_a01",353,52; - initnpctimer; - end; - -OnTimer10000: - stopnpctimer; - donpcevent "#bat_a01_timer::OnEnable"; - end; -} - -bat_a01,15,16,3 script OBJ#bat_a01_a CLEAR_NPC,{ -OnEnable: - bg_monster($@TierraBG1_id1, "bat_a01", 177, 345, _("Food Storage"), 1909, "OBJ#bat_a01_a::OnMyMobDead"); - end; - -OnKill: - killmonster "bat_a01","OBJ#bat_a01_a::OnMyMobDead"; - end; - -OnMyMobDead: - if (mobcount("bat_a01","OBJ#bat_a01_a::OnMyMobDead") < 1) { - donpcevent "Battle Therapist#a01_a::OnStop"; - donpcevent "Battle Therapist#a01_b::OnStop"; - $@TierraBG1_Victory = 2; - enablenpc "Guillaume Vintenar#a01_a"; - enablenpc "Croix Vintenar#a01_b"; - mapannounce("bat_a01", _("Croix Vintenar Swandery: We destroyed Guillaume's Food Storage. We won that! Wow!"), bc_map, "0xFFCE00"); - bg_warp $@TierraBG1_id1,"bat_a01",50,374; - bg_warp $@TierraBG1_id2,"bat_a01",42,16; - } - end; -} - -bat_a01,15,17,3 script OBJ#bat_a01_b CLEAR_NPC,{ -OnEnable: - bg_monster($@TierraBG1_id2, "bat_a01", 167, 50, _("Food Depot"), 1910, "OBJ#bat_a01_b::OnMyMobDead"); - end; - -OnKill: - killmonster "bat_a01","OBJ#bat_a01_b::OnMyMobDead"; - end; - -OnMyMobDead: - if (mobcount("bat_a01","OBJ#bat_a01_b::OnMyMobDead") < 1) { - donpcevent "Battle Therapist#a01_a::OnStop"; - donpcevent "Battle Therapist#a01_b::OnStop"; - $@TierraBG1_Victory = 1; - enablenpc "Guillaume Vintenar#a01_a"; - enablenpc "Croix Vintenar#a01_b"; - mapannounce("bat_a01", _("Guillaume Vintenar Axl Rose : We destroyed Croix's Food Storage. We won that! Wow!"), bc_map, "0xFFCE00"); - bg_warp $@TierraBG1_id1,"bat_a01",50,374; - bg_warp $@TierraBG1_id2,"bat_a01",42,16; - } - end; -} - -bat_a01,15,18,3 script barricade#bat_a01_a CLEAR_NPC,{ -OnEnable: - for (.@i = 185; .@i < 202; ++.@i) - bg_monster($@TierraBG1_id1, "bat_a01", .@i, 266, _("Barricade"), 1906, "barricade#bat_a01_a::OnMyMobDead"); - setwall "bat_a01",186,266,16,6,1,"bat_a01_c1"; - end; - -OnKill: - killmonster "bat_a01","barricade#bat_a01_a::OnMyMobDead"; - delwall "bat_a01_c1"; - end; - -OnMyMobDead: - if (mobcount("bat_a01","barricade#bat_a01_a::OnMyMobDead") < 17) { - killmonster "bat_a01","barricade#bat_a01_a::OnMyMobDead"; - delwall "bat_a01_c1"; - enablenpc "Guillaume Blacksmith#a01"; - mapannounce("bat_a01", _("Guillaume Vintenar Axl Rose : The Barricade in the valley has been destroyed! Where's the Blacksmith? We need to rebuild the Barricade!"), bc_map, "0xFFCE00"); - } - end; -} - -bat_a01,15,19,3 script barricade#bat_a01_b CLEAR_NPC,{ -OnEnable: - for (.@i = 169; .@i < 186; ++.@i) - bg_monster($@TierraBG1_id2, "bat_a01", .@i, 129, _("Barricade"), 1906, "barricade#bat_a01_b::OnMyMobDead"); - setwall "bat_a01",170,129,16,6,1,"bat_a01_g1"; - end; - -OnKill: - killmonster "bat_a01","barricade#bat_a01_b::OnMyMobDead"; - delwall "bat_a01_g1"; - end; - -OnMyMobDead: - if (mobcount("bat_a01","barricade#bat_a01_b::OnMyMobDead") < 17) { - killmonster "bat_a01","barricade#bat_a01_b::OnMyMobDead"; - delwall "bat_a01_g1"; - enablenpc "Croix Blacksmith#bat_a01"; - mapannounce("bat_a01", _("Croix Vintenar Swandery : The Barricade in the valley has been destroyed! Where's the Blacksmith? We need to rebuild the Barricade!"), bc_map, "0xFFCE00"); - } - end; -} - -bat_a01,15,20,3 script OBJ#bat_a01_n CLEAR_NPC,{ -OnEnable: - monster("bat_a01", 273, 203, _("Neutrality Flag"), 1911, 1, "OBJ#bat_a01_n::OnMyMobDead"); - end; - -OnKill: - killmonster "bat_a01","OBJ#bat_a01_n::OnMyMobDead"; - end; - -OnMyMobDead: - if (mobcount("bat_a01","OBJ#bat_a01_n::OnMyMobDead") < 17) { - bg_team_setxy getcharid(CHAR_ID_BG),56,212; - if (getcharid(CHAR_ID_BG) == $@TierraBG1_id1) { - donpcevent "NOBJ_mob#bat_a01_a::OnEnable"; - mapannounce("bat_a01", _("Guillaume captured a Neutrality Flag, so they have an advantage."), bc_map, "0xFFCE00"); - } - else { - donpcevent "NOBJ_mob#bat_a01_b::OnEnable"; - mapannounce("bat_a01", _("Croix captured a Neutrality Flag, so they have an advantage."), bc_map, "0xFFCE00"); - } - } - end; -} - -bat_a01,15,21,3 script NOBJ_mob#bat_a01_a CLEAR_NPC,{ -OnEnable: - donpcevent "NOBJ_mob#bat_a01_b::OnKill"; - bg_monster($@TierraBG1_id1, "bat_a01", 272, 204, _("Guillaume Camp Guardian"), 1949, "NOBJ_mob#bat_a01_a::OnMyMobDead"); - bg_monster($@TierraBG1_id1, "bat_a01", 272, 213, _("Guillaume Camp Guardian"), 1949, "NOBJ_mob#bat_a01_a::OnMyMobDead"); - bg_monster($@TierraBG1_id1, "bat_a01", 273, 197, _("Guillaume Camp Guardian"), 1950, "NOBJ_mob#bat_a01_a::OnMyMobDead"); - end; - -OnKill: - killmonster "bat_a01","NOBJ_mob#bat_a01_a::OnMyMobDead"; - end; - -OnMyMobDead: - end; -} - -bat_a01,15,22,3 script NOBJ_mob#bat_a01_b CLEAR_NPC,{ -OnEnable: - donpcevent "NOBJ_mob#bat_a01_a::OnKill"; - bg_monster($@TierraBG1_id2, "bat_a01", 272, 204, _("Croix Camp Guardian"), 1949, "NOBJ_mob#bat_a01_a::OnMyMobDead"); - bg_monster($@TierraBG1_id2, "bat_a01", 272, 213, _("Croix Camp Guardian"), 1949, "NOBJ_mob#bat_a01_a::OnMyMobDead"); - bg_monster($@TierraBG1_id2, "bat_a01", 273, 197, _("Croix Camp Guardian"), 1950, "NOBJ_mob#bat_a01_a::OnMyMobDead"); - end; - -OnKill: - killmonster "bat_a01","NOBJ_mob#bat_a01_b::OnMyMobDead"; - end; - -OnMyMobDead: - end; -} - -bat_a01,185,270,1 script Guillaume Blacksmith#a01 4_M_REPAIR,{ - if (getcharid(CHAR_ID_BG) == $@TierraBG1_id1) { - mes("[Guillaume Blacksmith]"); - mes("We are in urgency! The Barricade has been destroyed!"); - mes("We can repair the Barricade with ^3131FF50 Stones, 3 Sinew of Bear, 500 Metal Fragments, 30 Rough Elunium and 100 Gold.^000000"); - mes("We have it all except for the 50 Stones!"); - next; - switch(select("Repair.", "Leave it.")) { - case 1: - if (countitem(Stone) > 49) { - mes("[Guillaume Blacksmith]"); - mes("You brought enough stones! Let's go and repair."); - next; - mes(".."); - next; - mes("...."); - next; - mes("......"); - next; - mes("........"); - next; - mes(".........."); - next; - mes("............"); - next; - mes(".............."); - next; - mes("[Guillaume Blacksmith]"); - mes("Combine Stones and Gold in the proper percentage."); - next; - mes("[Guillaume Blacksmith]"); - mes("Combine Stones and Gold in the proper percentage and shape the Barricade."); - next; - mes("[Guillaume Blacksmith]"); - mes("Combine Stones and Gold in the proper percentage and shape the Barricade, then add Rough Elunium to make it stronger."); - next; - mes("[Guillaume Blacksmith]"); - mes("Combine Stones and Gold in the proper percentage and shape the Barricade, then add Rough Elunium to make it stronger. Now decorate with Metal Fragments."); - next; - mes("[Guillaume Blacksmith]"); - mes("Combine Stones and Gold in the proper percentage and shape the Barricade, then add Rough Elunium to make it stronger. Decorate with Metal Fragments, and plait stones with Sinew of Bear!"); - next; - mes(".............."); - mes(".............."); - mes(".............."); - mes(".............."); - mes(".............."); - next; - specialeffect EF_REPAIRWEAPON; - mes("[Guillaume Blacksmith]"); - mes("Wow! It's done."); - mes("We are relieved."); - delitem Stone,50; - donpcevent "barricade#bat_a01_a::OnEnable"; - close2; - disablenpc "Guillaume Blacksmith#a01"; - end; - } - else { - mes("[Guillaume Blacksmith]"); - mes("You don't have enough Stones!"); - next; - mes("[Guillaume Blacksmith]"); - mes("^3131FFWe need 50 Stones.^000000"); - mes("We are busy, so please hurry."); - close; - } - case 2: - mes("[Guillaume Blacksmith]"); - mes("There are enemies coming! Let's evacuate from here!"); - close; - } - } - else { - mes("[Guillaume Blacksmith]"); - mes("There the enemy is coming!"); - close; - } - -OnInit: - disablenpc "Guillaume Blacksmith#a01"; - end; -} - -bat_a01,170,121,5 script Croix Blacksmith#bat_a01 4_M_REPAIR,{ - if (getcharid(CHAR_ID_BG) == $@TierraBG1_id2) { - mes("[Croix Blacksmith]"); - mes("We are in urgency! The Barricade has been destroyed!"); - mes("We can repair the Barricade with ^3131FF50 Stones, 3 Sinew of Bear, 500 Metal Fragments, 30 Rough Elunium and 100 Gold.^000000"); - mes("We have it all except for the 50 Stones!"); - next; - switch(select("Repair.", "Leave it.")) { - case 1: - if (countitem(Stone) > 49) { - mes("[Croix Blacksmith]"); - mes("You brought enough stones! Let's go and repair."); - next; - mes(".."); - next; - mes("...."); - next; - mes("......"); - next; - mes("........"); - next; - mes(".........."); - next; - mes("............"); - next; - mes(".............."); - next; - mes("[Croix Blacksmith]"); - mes("Combine Stones and Gold in the proper percentage."); - next; - mes("[Croix Blacksmith]"); - mes("Combine Stones and Gold in the proper percentage and shape the Barricade."); - next; - mes("[Croix Blacksmith]"); - mes("Combine Stones and Gold in the proper percentage and shape the Barricade, then add Rough Elunium to make it stronger."); - next; - mes("[Croix Blacksmith]"); - mes("Combine Stones and Gold in the proper percentage and shape the Barricade, then add Rough Elunium to make it stronger. Now decorate with Metal Fragments."); - next; - mes("[Croix Blacksmith]"); - mes("Combine Stones and Gold in the proper percentage and shape the Barricade, then add Rough Elunium to make it stronger. Decorate with Metal Fragments, and plait stones with Sinew of Bear!"); - next; - mes(".............."); - mes(".............."); - mes(".............."); - mes(".............."); - mes(".............."); - next; - specialeffect EF_REPAIRWEAPON; - mes("[Croix Blacksmith]"); - mes("Wow! It's done."); - mes("We are relieved."); - delitem Stone,50; - donpcevent "barricade#bat_a01_b::OnEnable"; - close2; - disablenpc "Croix Blacksmith#bat_a01"; - end; - } - else { - mes("[Croix Blacksmith]"); - mes("You don't have enough Stones!"); - next; - mes("[Croix Blacksmith]"); - mes("^3131FFWe need 50 Stone.^000000"); - mes("We are busy, so please hurry."); - close; - } - case 2: - mes("[Croix Blacksmith]"); - mes("There are enemies coming! Let's evacuate from here!"); - close; - } - } - else { - mes("[Croix Blacksmith]"); - mes("There, the enemy is coming!"); - close; - } - -OnInit: - disablenpc "Croix Blacksmith#bat_a01"; - end; -} - -bat_a01,53,377,3 script Battle Therapist#a01_a 4_F_SISTER,{ - specialeffect(EF_HEAL, AREA, playerattached()); - mes("[Battle Therapist]"); - mes("Just close your eyes,\r" - "and take a deep breath."); - mes("You can be free from pain."); - close; - end; - -OnInit: - initnpctimer; - end; - -OnEnable: - stopnpctimer; - initnpctimer; - enablenpc "Battle Therapist#a01_a"; - end; - -OnStop: - disablenpc "bat_a01_rp1_a_warp"; - disablenpc "Battle Therapist#a01_a"; - stopnpctimer; - end; - -OnTimer25000: - specialeffect EF_SANCTUARY; - enablenpc "bat_a01_rp1_a_warp"; - end; - -OnTimer26000: - disablenpc "bat_a01_rp1_a_warp"; - end; - -OnTimer26500: - donpcevent "Battle Therapist#a01_a::OnEnable"; - end; -} - -bat_a01,51,375,0 script bat_a01_rp1_a_warp FAKE_NPC,10,10,{ -OnInit: - disablenpc "bat_a01_rp1_a_warp"; - end; - -OnTouch_: - percentheal 100,100; - warp "bat_a01",352,342; - end; -} - -bat_a01,45,19,3 script Battle Therapist#a01_b 4_F_SISTER,{ - specialeffect(EF_HEAL, AREA, playerattached()); - mes("[Battle Therapist]"); - mes("Just close your eyes,\r" - "and take a deep breath."); - mes("You can be free from pain."); - close; - end; - -OnInit: - initnpctimer; - end; - -OnEnable: - stopnpctimer; - initnpctimer; - enablenpc "Battle Therapist#a01_b"; - end; - -OnStop: - disablenpc "bat_a01_rp1_b_warp"; - disablenpc "Battle Therapist#a01_b"; - stopnpctimer; - end; - -OnTimer25000: - specialeffect EF_SANCTUARY; - enablenpc "bat_a01_rp1_b_warp"; - end; - -OnTimer26000: - disablenpc "bat_a01_rp1_b_warp"; - end; - -OnTimer26500: - donpcevent "Battle Therapist#a01_b::OnEnable"; - end; -} - -bat_a01,43,17,0 script bat_a01_rp1_b_warp FAKE_NPC,10,10,{ -OnInit: - disablenpc "bat_a01_rp1_b_warp"; - end; - -OnTouch: - percentheal 100,100; - warp "bat_a01",353,52; - end; -} - -bat_a01,60,216,3 script Valley Ghost#bat_a01_n 4_GHOSTRING,{ - specialeffect(EF_HEAL, AREA, playerattached()); - mes("[Valley Ghost]"); - mes("Boo...Boo..."); - close; - -OnInit: - initnpctimer; - end; - -OnEnable: - stopnpctimer; - initnpctimer; - end; - -OnTimer25000: - specialeffect EF_SANCTUARY; - enablenpc "bat_a01_rp1_n_warp"; - end; - -OnTimer26000: - disablenpc "bat_a01_rp1_n_warp"; - end; - -OnTimer26500: - donpcevent "Valley Ghost#bat_a01_n::OnEnable"; - end; -} - -bat_a01,55,213,0 script bat_a01_rp1_n_warp FAKE_NPC,10,10,{ -OnInit: - disablenpc "bat_a01_rp1_n_warp"; - end; - -OnTouch: - percentheal 100,100; - warp "bat_a01",301,209; - end; -} - -bat_a01,194,267,0 script barri_warp_up#bat_a01_a FAKE_NPC,7,0,{ -OnTouch: - if (getcharid(CHAR_ID_BG) == $@TierraBG1_id1) - warp "bat_a01",194,261; - end; -} - -bat_a01,194,265,0 script barri_warp_down#bat_a01a FAKE_NPC,7,0,{ -OnTouch: - if (getcharid(CHAR_ID_BG) == $@TierraBG1_id1) - warp "bat_a01",194,270; - end; -} - -bat_a01,177,130,0 script barri_warp_up#bat_a01_b FAKE_NPC,7,0,{ -OnTouch: - if (getcharid(CHAR_ID_BG) == $@TierraBG1_id2) - warp "bat_a01",178,125; - end; -} - -bat_a01,177,128,0 script barri_warp_down#bat_a01b FAKE_NPC,7,0,{ -OnTouch: - if (getcharid(CHAR_ID_BG) == $@TierraBG1_id2) - warp "bat_a01",178,134; - end; -} - -bat_a01,352,342,0 script A_CODE#bat_a01 FAKE_NPC,5,5,{ -OnTouch: - if (questprogress(2069) == 1) - setquest 2069; - end; -} - -bat_a01,353,52,0 script B_CODE#bat_a01 FAKE_NPC,5,5,{ -OnTouch: - if (questprogress(2069) == 1) - setquest 2069; - end; -} - -bat_a01,169,227,0 script underladd#bat_a01_1 WARPNPC,1,1,{ -OnTouch_: - warp "bat_a01",178,228; - end; -} - -bat_a01,208,164,0 script underladd#bat_a01_2 WARPNPC,1,1,{ -OnTouch_: - warp "bat_a01",200,171; - end; -} - -bat_a01,171,309,3 script Guillaume Camp#flag1 1_FLAG_LION,{ end; } -bat_a01,149,310,3 script Guillaume Camp#flag2 1_FLAG_LION,{ end; } -bat_a01,119,336,3 script Guillaume Camp#flag3 1_FLAG_LION,{ end; } -bat_a01,118,357,3 script Guillaume Camp#flag4 1_FLAG_LION,{ end; } -bat_a01,150,380,3 script Guillaume Camp#flag5 1_FLAG_LION,{ end; } -bat_a01,173,380,3 script Guillaume Camp#flag6 1_FLAG_LION,{ end; } -bat_a01,210,344,3 script Guillaume Camp#flag7 1_FLAG_LION,{ end; } -bat_a01,350,325,3 script Guillaume Camp#flag8 1_FLAG_LION,{ end; } -bat_a01,358,325,3 script Guillaume Camp#flag9 1_FLAG_LION,{ end; } - -bat_a01,138,12,3 script Croix Camp#flag1 1_FLAG_EAGLE,{ end; } -bat_a01,108,36,3 script Croix Camp#flag2 1_FLAG_EAGLE,{ end; } -bat_a01,108,63,3 script Croix Camp#flag3 1_FLAG_EAGLE,{ end; } -bat_a01,136,87,3 script Croix Camp#flag4 1_FLAG_EAGLE,{ end; } -bat_a01,167,86,3 script Croix Camp#flag5 1_FLAG_EAGLE,{ end; } -bat_a01,199,49,3 script Croix Camp#flag6 1_FLAG_EAGLE,{ end; } -bat_a01,168,16,3 script Croix Camp#flag7 1_FLAG_EAGLE,{ end; } -bat_a01,357,74,3 script Croix Camp#flag8 1_FLAG_EAGLE,{ end; } -bat_a01,348,74,3 script Croix Camp#flag9 1_FLAG_EAGLE,{ end; } - -bat_a01,53,377,3 script Guillaume Vintenar#a01_a 4_M_KY_HEAD,{ - if (getcharid(CHAR_ID_BG) == $@TierraBG1_id1) { - if ($@TierraBG1_Victory == 1) { - .@your_medal = countitem(BF_Badge1); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 2) { - mes("[Axl Rose]"); - mes("Blessed Guillaume!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge1,3; - } - else { - mes("[Axl Rose]"); - mes("Blessed Guillaume!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge1,.@medal_gap; - } - } - else { - .@your_medal = countitem(BF_Badge1); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 0) { - mes("[Axl Rose]"); - mes("You lost, but you're dedicated to this battle."); - mes("This is a reward for your great dedication by Guillaume Marollo!"); - mes("Just take this defeat as a lesson, and next time you will definitely win."); - close2; - getitem BF_Badge1,1; - } - else { - mes("[Axl Rose]"); - mes("You lost, but you're dedicated to this battle."); - mes("This is a reward for your great dedication by Guillaume Marollo!"); - mes("Just take this defeat as a lesson, and next time you will definitely win."); - close2; - getitem BF_Badge1,.@medal_gap; - } - } - } - else { - if ($@TierraBG1_Victory == 2) { - .@your_medal = countitem(BF_Badge1); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 0) { - mes("[Axl Rose]"); - mes("You lost, but you're dedicated to this battle."); - mes("This is a reward for your great dedication by Guillaume Marollo!"); - mes("Just take this defeat as a lesson, and next time you will definitely win."); - close2; - getitem BF_Badge1,1; - } - else { - mes("[Axl Rose]"); - mes("You lost, but you're dedicated to this battle."); - mes("This is a reward for your great dedication by Guillaume Marollo!"); - mes("Just take this defeat as a lesson, and next time you will definitely win."); - close2; - getitem BF_Badge1,.@medal_gap; - } - } - else { - .@your_medal = countitem(BF_Badge1); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 2) { - mes("[Axl Rose]"); - mes("Blessed Guillaume!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge1,3; - } - else { - mes("[Axl Rose]"); - mes("Blessed Guillaume!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign of victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge1,.@medal_gap; - } - } - } - bg_leave; - warp "bat_room",154,150; - end; - -OnInit: - disablenpc "Guillaume Vintenar#a01_a"; - end; -} - -bat_a01,45,19,3 script Croix Vintenar#a01_b 4_M_CRU_HEAD,{ - if (getcharid(CHAR_ID_BG) == $@TierraBG1_id2) { - if ($@TierraBG1_Victory == 2) { - .@your_medal = countitem(BF_Badge1); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 2) { - mes("[Swandery]"); - mes("Blessed Croix!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge1,3; - } - else { - mes("[Swandery]"); - mes("Blessed Croix!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge1,.@medal_gap; - } - } - else { - .@your_medal = countitem(BF_Badge1); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 0) { - mes("[Swandery]"); - mesf("Oh, %s Don't be sad.", strcharinfo(PC_NAME)); - mes("Even though we didn't win, we did our best."); - mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one."); - close2; - getitem BF_Badge1,1; - } - else { - mes("[Swandery]"); - mesf("Oh, %s Don't be sad.", strcharinfo(PC_NAME)); - mes("Even though we didn't win, we did our best."); - mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one."); - close2; - getitem BF_Badge1,.@medal_gap; - } - } - } - else { - if ($@TierraBG1_Victory == 1) { - .@your_medal = countitem(BF_Badge1); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 0) { - mes("[Swandery]"); - mesf("Oh, %s Don't be sad.", strcharinfo(PC_NAME)); - mes("Even though we didn't win, we did our best."); - mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one."); - close2; - getitem BF_Badge1,1; - } - else { - mes("[Swandery]"); - mesf("Oh, %s Don't be sad.", strcharinfo(PC_NAME)); - mes("Even though we didn't win, we did our best."); - mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one."); - close2; - getitem BF_Badge1,.@medal_gap; - } - } - else { - .@your_medal = countitem(BF_Badge1); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 2) { - mes("[Swandery]"); - mes("Blessed Croix!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge1,3; - } - else { - mes("[Swandery]"); - mes("Blessed Croix!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge1,.@medal_gap; - } - } - } - bg_leave; - warp "bat_room",154,150; - end; - -OnInit: - disablenpc "Croix Vintenar#a01_b"; - end; -} - -bat_a01,1,5,3 script countdown#bat_a01 CLEAR_NPC,{ -OnEnable: - initnpctimer; - end; - -OnStop: - stopnpctimer; - end; - -OnTimer7000: - mapannounce("bat_a01", _("Guillaume Vintenar Axl Rose : Let's attack to burn down Croix's Food Depot!"), bc_map, "0xFF9900"); - end; - -OnTimer8000: - mapannounce("bat_a01", _("Croix Vintenar Swandery : Master of Valhalla! Let us be gifted with unfailing faith and courage!"), bc_map, "0xFF99CC"); - end; - -OnTimer1800000: - mapannounce("bat_a01", _("Marollo VII : Guillaume Marollo, Croix Marollo! Marollo followers!"), bc_map, "0x99CC00"); - end; - -OnTimer1803000: - mapannounce("bat_a01", _("Marollo VII : Both camps are competitive, so no camp would be destroyed easily. That means the Marollo kingdoms will never be defeated!"), bc_map, "0x99CC00"); - end; - -OnTimer1808000: - mapannounce("bat_a01", _("Marollo VII : I think we'd better terminate the battle, and call it a draw."), bc_map, "0x99CC00"); - end; - -OnTimer1822000: - mapannounce("bat_a01", _("Marollo VII : Hold your royalty and faith for a moment, and let's settle up the battle of Tierra Gorge."), bc_map, "0x99CC00"); - end; - -OnTimer1825000: - mapannounce("bat_a01", _("Axl Rose, Swandery : Yes sir."), bc_map, "0x99CC00"); - end; - -OnTimer1830000: - mapwarp "bat_a01","bat_room",154,150; - donpcevent "countdown#bat_a01::OnStop"; - end; -} - -/* -bat_a01,351,75,3 script Croix Camp Soldier#bat_a01_guide 4_M_RASWORD,{ - mes("Loading..."); - close; -} - -bat_a01,356,326,3 script Guillaume Camp Soldier#bat_a01_guide 4_M_RASWORD,{ - mes("Loading..."); - close; -} -*/ - -bat_a01,1,1,3 script Release all#a01 4_DOG01,{ - .@i = callfunc("F_GM_NPC",1854,0); - if (.@i == -1) { - mes("Cancelled."); - close; - } else if (.@i == 0) { - end; - } else { - mes("May I help you?"); - next; - switch(select("Release all.", "Cancel.")) { - case 1: - mes("Bye."); - close2; - mapwarp "bat_a01","bat_room",154,150; - end; - case 2: - mes("Cancelled."); - close; - } - } -} diff --git a/npc/battleground/tierra/tierra02.txt b/npc/battleground/tierra/tierra02.txt deleted file mode 100644 index abdb50a3f..000000000 --- a/npc/battleground/tierra/tierra02.txt +++ /dev/null @@ -1,961 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2016 Hercules Dev Team -//= Copyright (C) Euphy -//= Copyright (C) Kisuka -//= Copyright (C) L0ne_W0lf -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -// BattleGround System - Tierra Gorge 2 -//================= Description =========================================== -//= Second Tierra Gorge Battleground. -//= - Winning Team: 3 badges -//= - Losing Team: 1 badge -//================= Current Version ======================================= -//= 1.4 -//========================================================================= - -//== Waiting Room NPCs ===================================== -bat_room,114,227,5 script Lieutenant Rundel 4_M_KY_KNT,{ - end; - -OnInit: - waitingroom("Battle Station", 11, "start#bat_a02::OnReadyCheck", 1, 0, 80); - end; - -OnEnterBG: - $@TierraBG2_id1 = waitingroom2bg("bat_a02",50,374,"start#bat_a02::OnGuillaumeQuit",""); - end; -} - -bat_room,114,204,1 script Lieutenant Guerrit 4_M_CRU_KNT,{ - end; - -OnInit: - waitingroom("Battle Station", 11, "start#bat_a02::OnReadyCheck", 1, 0, 80); - end; - -OnEnterBG: - $@TierraBG2_id2 = waitingroom2bg("bat_a02",42,16,"start#bat_a02::OnCroixQuit",""); - end; -} - -bat_room,1,151,3 script #bat_a02_timer CLEAR_NPC,{ - end; - -OnInit: -OnEnable: - initnpctimer; - end; - -OnStop: - stopnpctimer; - end; - -OnTimer1000: - stopnpctimer; - initnpctimer; - .@chk_bat_a02 = getmapusers("bat_a02"); - if (.@chk_bat_a02 < 1) { - $@TierraBG2 = 0; $@TierraBG2_Victory = 0; - if( $@TierraBG2_id1 ) { bg_destroy $@TierraBG2_id1; $@TierraBG2_id1 = 0; } - if( $@TierraBG2_id2 ) { bg_destroy $@TierraBG2_id2; $@TierraBG2_id2 = 0; } - donpcevent "start#bat_a02::OnReadyCheck"; - } - end; -} - -bat_a02,352,342,0 script #bat_a02_quest_a FAKE_NPC,5,5,{ - end; - -OnTouch: - if (!questprogress(2069)) - setquest 2069; - end; -} - -bat_a02,353,52,0 script #bat_a02_quest_b FAKE_NPC,5,5,{ - end; - -OnTouch: - if (!questprogress(2069)) - setquest 2069; - end; -} - -bat_room,113,220,0 warp back_bgrooma02a 1,1,bat_room,154,150 -bat_room,113,211,0 warp back_bgrooma02b 1,1,bat_room,154,150 - -//== Tierra Gorge Battleground Engine ====================== -bat_a02,15,15,3 script start#bat_a02 CLEAR_NPC,{ -OnInit: - mapwarp "bat_a02","bat_room",154,150; - end; - -OnEnable: - donpcevent "OBJ#bat_a02_a::OnKill"; - donpcevent "OBJ#bat_a02_a::OnEnable"; - donpcevent "OBJ#bat_a02_b::OnKill"; - donpcevent "OBJ#bat_a02_b::OnEnable"; - donpcevent "barricade#bat_a02_a::OnKill"; - donpcevent "barricade#bat_a02_a::OnEnable"; - donpcevent "barricade#bat_a02_b::OnKill"; - donpcevent "barricade#bat_a02_b::OnEnable"; - donpcevent "OBJ#bat_a02_n::OnKill"; - donpcevent "OBJ#bat_a02_n::OnEnable"; - donpcevent "NOBJ_mob#bat_a02_a::OnKill"; - donpcevent "NOBJ_mob#bat_a02_b::OnKill"; - donpcevent "Battle Therapist#a02_a::OnEnable"; - donpcevent "Battle Therapist#a02_b::OnEnable"; - donpcevent "countdown#bat_a02::OnEnable"; - disablenpc "Guillaume Blacksmith#a02"; - disablenpc "Croix Blacksmith#bat_a02"; - disablenpc "Guillaume Vintenar#a02_a"; - disablenpc "Croix Vintenar#a02_b"; - end; - -OnGuillaumeQuit: -OnCroixQuit: - bg_leave; - end; - -OnReadyCheck: - if( $@TierraBG2 ) - end; - .@Guillaume = getwaitingroomstate(0,"Lieutenant Rundel"); - .@Croix = getwaitingroomstate(0,"Lieutenant Guerrit"); - if( !.@Guillaume && !.@Croix ) { - donpcevent "#bat_a02_timer::OnStop"; - end; - } - else if( .@Guillaume < 10 || .@Croix < 10 ) - end; - $@TierraBG2 = 1; - donpcevent "Lieutenant Rundel::OnEnterBG"; - donpcevent "Lieutenant Guerrit::OnEnterBG"; - donpcevent "start#bat_a02::OnEnable"; - bg_warp $@TierraBG2_id1,"bat_a02",352,342; - bg_warp $@TierraBG2_id2,"bat_a02",353,52; - initnpctimer; - end; - -OnTimer10000: - stopnpctimer; - donpcevent "#bat_a02_timer::OnEnable"; - end; -} - -bat_a02,15,16,3 script OBJ#bat_a02_a CLEAR_NPC,{ -OnEnable: - bg_monster($@TierraBG2_id1, "bat_a02", 177, 345, _("Food Storage"), 1909, "OBJ#bat_a02_a::OnMyMobDead"); - end; - -OnKill: - killmonster "bat_a02","OBJ#bat_a02_a::OnMyMobDead"; - end; - -OnMyMobDead: - if (mobcount("bat_a02","OBJ#bat_a02_a::OnMyMobDead") < 1) { - donpcevent "Battle Therapist#a02_a::OnStop"; - donpcevent "Battle Therapist#a02_b::OnStop"; - $@TierraBG2_Victory = 2; - enablenpc "Guillaume Vintenar#a02_a"; - enablenpc "Croix Vintenar#a02_b"; - mapannounce("bat_a02", _("Croix Vintenar Swandery: We destroyed Guillaume's Food Storage. We won that! Wow!"), bc_map, "0xFFCE00"); - bg_warp $@TierraBG2_id1,"bat_a02",50,374; - bg_warp $@TierraBG2_id2,"bat_a02",42,16; - } - end; -} - -bat_a02,15,17,3 script OBJ#bat_a02_b CLEAR_NPC,{ -OnEnable: - bg_monster($@TierraBG2_id2, "bat_a02", 167, 50, _("Food Depot"), 1910, "OBJ#bat_a02_b::OnMyMobDead"); - end; - -OnKill: - killmonster "bat_a02","OBJ#bat_a02_b::OnMyMobDead"; - end; - -OnMyMobDead: - if (mobcount("bat_a02","OBJ#bat_a02_b::OnMyMobDead") < 1) { - donpcevent "Battle Therapist#a02_a::OnStop"; - donpcevent "Battle Therapist#a02_b::OnStop"; - $@TierraBG2_Victory = 1; - enablenpc "Guillaume Vintenar#a02_a"; - enablenpc "Croix Vintenar#a02_b"; - mapannounce("bat_a02", _("Guillaume Vintenar Axl Rose : We destroyed Croix's Food Storage. We won that! Wow!"), bc_map, "0xFFCE00"); - bg_warp $@TierraBG2_id1,"bat_a02",50,374; - bg_warp $@TierraBG2_id2,"bat_a02",42,16; - } - end; -} - -bat_a02,15,18,3 script barricade#bat_a02_a CLEAR_NPC,{ -OnEnable: - for (.@i = 185; .@i < 202; ++.@i) - bg_monster($@TierraBG2_id1, "bat_a02", .@i, 266, _("Barricade"), 1906, "barricade#bat_a02_a::OnMyMobDead"); - setwall "bat_a02",186,266,16,6,1,"bat_a02_c1"; - end; - -OnKill: - killmonster "bat_a02","barricade#bat_a02_a::OnMyMobDead"; - delwall "bat_a02_c1"; - end; - -OnMyMobDead: - if (mobcount("bat_a02","barricade#bat_a02_a::OnMyMobDead") < 17) { - killmonster "bat_a02","barricade#bat_a02_a::OnMyMobDead"; - delwall "bat_a02_c1"; - enablenpc "Guillaume Blacksmith#a02"; - mapannounce("bat_a02", _("Guillaume Vintenar Axl Rose : The Barricade in the valley has been destroyed! Where's the Blacksmith? We need to rebuild the Barricade!"), bc_map, "0xFFCE00"); - } - end; -} - -bat_a02,15,19,3 script barricade#bat_a02_b CLEAR_NPC,{ -OnEnable: - for (.@i = 169; .@i < 186; ++.@i) - bg_monster($@TierraBG2_id2, "bat_a02", .@i, 129, _("Barricade"), 1906, "barricade#bat_a02_b::OnMyMobDead"); - setwall "bat_a02",170,129,16,6,1,"bat_a02_g1"; - end; - -OnKill: - killmonster "bat_a02","barricade#bat_a02_b::OnMyMobDead"; - delwall "bat_a02_g1"; - end; - -OnMyMobDead: - if (mobcount("bat_a02","barricade#bat_a02_b::OnMyMobDead") < 17) { - killmonster "bat_a02","barricade#bat_a02_b::OnMyMobDead"; - delwall "bat_a02_g1"; - enablenpc "Croix Blacksmith#bat_a02"; - mapannounce("bat_a02", _("Croix Vintenar Swandery : The Barricade in the valley has been destroyed! Where's the Blacksmith? We need to rebuild the Barricade!"), bc_map, "0xFFCE00"); - } - end; -} - -bat_a02,15,20,3 script OBJ#bat_a02_n CLEAR_NPC,{ -OnEnable: - monster("bat_a02", 273, 203, _("Neutrality Flag"), 1911, 1, "OBJ#bat_a02_n::OnMyMobDead"); - end; - -OnKill: - killmonster "bat_a02","OBJ#bat_a02_n::OnMyMobDead"; - end; - -OnMyMobDead: - if (mobcount("bat_a02","OBJ#bat_a02_n::OnMyMobDead") < 17) { - bg_team_setxy getcharid(CHAR_ID_BG),56,212; - if (getcharid(CHAR_ID_BG) == $@TierraBG2_id1) { - donpcevent "NOBJ_mob#bat_a02_a::OnEnable"; - mapannounce("bat_a02", _("Guillaume captured a Neutrality Flag, so they have an advantage."), bc_map, "0xFFCE00"); - } - else { - donpcevent "NOBJ_mob#bat_a02_b::OnEnable"; - mapannounce("bat_a02", _("Croix captured a Neutrality Flag, so they have an advantage."), bc_map, "0xFFCE00"); - } - } - end; -} - -bat_a02,15,21,3 script NOBJ_mob#bat_a02_a CLEAR_NPC,{ -OnEnable: - donpcevent "NOBJ_mob#bat_a02_b::OnKill"; - bg_monster($@TierraBG2_id1, "bat_a02", 272, 204, _("Guillaume Camp Guardian"), 1949, "NOBJ_mob#bat_a02_a::OnMyMobDead"); - bg_monster($@TierraBG2_id1, "bat_a02", 272, 213, _("Guillaume Camp Guardian"), 1949, "NOBJ_mob#bat_a02_a::OnMyMobDead"); - bg_monster($@TierraBG2_id1, "bat_a02", 273, 197, _("Guillaume Camp Guardian"), 1950, "NOBJ_mob#bat_a02_a::OnMyMobDead"); - end; - -OnKill: - killmonster "bat_a02","NOBJ_mob#bat_a02_a::OnMyMobDead"; - end; - -OnMyMobDead: - end; -} - -bat_a02,15,22,3 script NOBJ_mob#bat_a02_b CLEAR_NPC,{ -OnEnable: - donpcevent "NOBJ_mob#bat_a02_a::OnKill"; - bg_monster($@TierraBG2_id2, "bat_a02", 272, 204, _("Croix Camp Guardian"), 1949, "NOBJ_mob#bat_a02_a::OnMyMobDead"); - bg_monster($@TierraBG2_id2, "bat_a02", 272, 213, _("Croix Camp Guardian"), 1949, "NOBJ_mob#bat_a02_a::OnMyMobDead"); - bg_monster($@TierraBG2_id2, "bat_a02", 273, 197, _("Croix Camp Guardian"), 1950, "NOBJ_mob#bat_a02_a::OnMyMobDead"); - end; - -OnKill: - killmonster "bat_a02","NOBJ_mob#bat_a02_b::OnMyMobDead"; - end; - -OnMyMobDead: - end; -} - -bat_a02,185,270,1 script Guillaume Blacksmith#a02 4_M_REPAIR,{ - if (getcharid(CHAR_ID_BG) == $@TierraBG2_id1) { - mes("[Guillaume Blacksmith]"); - mes("We are in urgency! The Barricade has been destroyed!"); - mes("We can repair the Barricade with ^3131FF50 Stones, 3 Sinew of Bear, 500 Metal Fragments, 30 Rough Elunium and 100 Gold.^000000"); - mes("We have it all except for the 50 Stones!"); - next; - switch(select("Repair.", "Leave it.")) { - case 1: - if (countitem(Stone) > 49) { - mes("[Guillaume Blacksmith]"); - mes("You brought enough stones! Let's go and repair."); - next; - mes(".."); - next; - mes("...."); - next; - mes("......"); - next; - mes("........"); - next; - mes(".........."); - next; - mes("............"); - next; - mes(".............."); - next; - mes("[Guillaume Blacksmith]"); - mes("Combine Stones and Gold in the proper percentage."); - next; - mes("[Guillaume Blacksmith]"); - mes("Combine Stones and Gold in the proper percentage and shape the Barricade."); - next; - mes("[Guillaume Blacksmith]"); - mes("Combine Stones and Gold in the proper percentage and shape the Barricade, then add Rough Elunium to make it stronger."); - next; - mes("[Guillaume Blacksmith]"); - mes("Combine Stones and Gold in the proper percentage and shape the Barricade, then add Rough Elunium to make it stronger. Now decorate with Metal Fragments."); - next; - mes("[Guillaume Blacksmith]"); - mes("Combine Stones and Gold in the proper percentage and shape the Barricade, then add Rough Elunium to make it stronger. Decorate with Metal Fragments, and plait stones with Sinew of Bear!"); - next; - mes(".............."); - mes(".............."); - mes(".............."); - mes(".............."); - mes(".............."); - next; - specialeffect EF_REPAIRWEAPON; - mes("[Guillaume Blacksmith]"); - mes("Wow! It's done."); - mes("We are relieved."); - delitem Stone,50; - donpcevent "barricade#bat_a02_a::OnEnable"; - close2; - disablenpc "Guillaume Blacksmith#a02"; - end; - } - else { - mes("[Guillaume Blacksmith]"); - mes("You don't have enough Stones!"); - next; - mes("[Guillaume Blacksmith]"); - mes("^3131FFWe need 50 Stones.^000000"); - mes("We are busy, so please hurry."); - close; - } - case 2: - mes("[Guillaume Blacksmith]"); - mes("There are enemies coming! Let's evacuate from here!"); - close; - } - } - else { - mes("[Guillaume Blacksmith]"); - mes("There the enemy is coming!"); - close; - } - -OnInit: - disablenpc "Guillaume Blacksmith#a02"; - end; -} - -bat_a02,170,121,5 script Croix Blacksmith#bat_a02 4_M_REPAIR,{ - if (getcharid(CHAR_ID_BG) == $@TierraBG2_id2) { - mes("[Croix Blacksmith]"); - mes("We are in urgency! The Barricade has been destroyed!"); - mes("We can repair the Barricade with ^3131FF50 Stones, 3 Sinew of Bear, 500 Metal Fragments, 30 Rough Elunium and 100 Gold.^000000"); - mes("We have it all except for the 50 Stones!"); - next; - switch(select("Repair.", "Leave it.")) { - case 1: - if (countitem(Stone) > 49) { - mes("[Croix Blacksmith]"); - mes("You brought enough stones! Let's go and repair."); - next; - mes(".."); - next; - mes("...."); - next; - mes("......"); - next; - mes("........"); - next; - mes(".........."); - next; - mes("............"); - next; - mes(".............."); - next; - mes("[Croix Blacksmith]"); - mes("Combine Stones and Gold in the proper percentage."); - next; - mes("[Croix Blacksmith]"); - mes("Combine Stones and Gold in the proper percentage and shape the Barricade."); - next; - mes("[Croix Blacksmith]"); - mes("Combine Stones and Gold in the proper percentage and shape the Barricade, then add Rough Elunium to make it stronger."); - next; - mes("[Croix Blacksmith]"); - mes("Combine Stones and Gold in the proper percentage and shape the Barricade, then add Rough Elunium to make it stronger. Now decorate with Metal Fragments."); - next; - mes("[Croix Blacksmith]"); - mes("Combine Stones and Gold in the proper percentage and shape the Barricade, then add Rough Elunium to make it stronger. Decorate with Metal Fragments, and plait stones with Sinew of Bear!"); - next; - mes(".............."); - mes(".............."); - mes(".............."); - mes(".............."); - mes(".............."); - next; - specialeffect EF_REPAIRWEAPON; - mes("[Croix Blacksmith]"); - mes("Wow! It's done."); - mes("We are relieved."); - delitem Stone,50; - donpcevent "barricade#bat_a02_b::OnEnable"; - close2; - disablenpc "Croix Blacksmith#bat_a02"; - end; - } - else { - mes("[Croix Blacksmith]"); - mes("You don't have enough Stones!"); - next; - mes("[Croix Blacksmith]"); - mes("^3131FFWe need 50 Stone.^000000"); - mes("We are busy, so please hurry."); - close; - } - case 2: - mes("[Croix Blacksmith]"); - mes("There are enemies coming! Let's evacuate from here!"); - close; - } - } - else { - mes("[Croix Blacksmith]"); - mes("There, the enemy is coming!"); - close; - } - -OnInit: - disablenpc "Croix Blacksmith#bat_a02"; - end; -} - -bat_a02,53,377,3 script Battle Therapist#a02_a 4_F_SISTER,{ - specialeffect(EF_HEAL, AREA, playerattached()); - mes("[Battle Therapist]"); - mes("Just close your eyes,\r" - "and take a deep breath."); - mes("You can be free from pain."); - close; - end; - -OnInit: - initnpctimer; - end; - -OnEnable: - stopnpctimer; - initnpctimer; - enablenpc "Battle Therapist#a02_a"; - end; - -OnStop: - disablenpc "bat_a02_rp1_a_warp"; - disablenpc "Battle Therapist#a02_a"; - stopnpctimer; - end; - -OnTimer25000: - specialeffect EF_SANCTUARY; - enablenpc "bat_a02_rp1_a_warp"; - end; - -OnTimer26000: - disablenpc "bat_a02_rp1_a_warp"; - end; - -OnTimer26500: - donpcevent "Battle Therapist#a02_a::OnEnable"; - end; -} - -bat_a02,51,375,0 script bat_a02_rp1_a_warp FAKE_NPC,10,10,{ -OnInit: - disablenpc "bat_a02_rp1_a_warp"; - end; - -OnTouch_: - percentheal 100,100; - warp "bat_a02",352,342; - end; -} - -bat_a02,45,19,3 script Battle Therapist#a02_b 4_F_SISTER,{ - specialeffect(EF_HEAL, AREA, playerattached()); - mes("[Battle Therapist]"); - mes("Just close your eyes,\r" - "and take a deep breath."); - mes("You can be free from pain."); - close; - end; - -OnInit: - initnpctimer; - end; - -OnEnable: - stopnpctimer; - initnpctimer; - enablenpc "Battle Therapist#a02_b"; - end; - -OnStop: - disablenpc "bat_a02_rp1_b_warp"; - disablenpc "Battle Therapist#a02_b"; - stopnpctimer; - end; - -OnTimer25000: - specialeffect EF_SANCTUARY; - enablenpc "bat_a02_rp1_b_warp"; - end; - -OnTimer26000: - disablenpc "bat_a02_rp1_b_warp"; - end; - -OnTimer26500: - donpcevent "Battle Therapist#a02_b::OnEnable"; - end; -} - -bat_a02,43,17,0 script bat_a02_rp1_b_warp FAKE_NPC,10,10,{ -OnInit: - disablenpc "bat_a02_rp1_b_warp"; - end; - -OnTouch: - percentheal 100,100; - warp "bat_a02",353,52; - end; -} - -bat_a02,60,216,3 script Valley Ghost#bat_a02_n 4_GHOSTRING,{ - specialeffect(EF_HEAL, AREA, playerattached()); - mes("[Valley Ghost]"); - mes("Boo...Boo..."); - close; - -OnInit: - initnpctimer; - end; - -OnEnable: - stopnpctimer; - initnpctimer; - end; - -OnTimer25000: - specialeffect EF_SANCTUARY; - enablenpc "bat_a02_rp1_n_warp"; - end; - -OnTimer26000: - disablenpc "bat_a02_rp1_n_warp"; - end; - -OnTimer26500: - donpcevent "Valley Ghost#bat_a02_n::OnEnable"; - end; -} - -bat_a02,55,213,0 script bat_a02_rp1_n_warp FAKE_NPC,10,10,{ -OnInit: - disablenpc "bat_a02_rp1_n_warp"; - end; - -OnTouch: - percentheal 100,100; - warp "bat_a02",301,209; - end; -} - -bat_a02,194,267,0 script barri_warp_up#bat_a02_a FAKE_NPC,7,0,{ -OnTouch: - if (getcharid(CHAR_ID_BG) == $@TierraBG2_id1) - warp "bat_a02",194,261; - end; -} - -bat_a02,194,265,0 script barri_warp_down#bat_a02a FAKE_NPC,7,0,{ -OnTouch: - if (getcharid(CHAR_ID_BG) == $@TierraBG2_id1) - warp "bat_a02",194,270; - end; -} - -bat_a02,177,130,0 script barri_warp_up#bat_a02_b FAKE_NPC,7,0,{ -OnTouch: - if (getcharid(CHAR_ID_BG) == $@TierraBG2_id2) - warp "bat_a02",178,125; - end; -} - -bat_a02,177,128,0 script barri_warp_down#bat_a02b FAKE_NPC,7,0,{ -OnTouch: - if (getcharid(CHAR_ID_BG) == $@TierraBG2_id2) - warp "bat_a02",178,134; - end; -} - -bat_a02,352,342,0 script A_CODE#bat_a02 FAKE_NPC,5,5,{ -OnTouch: - if (questprogress(2069) == 1) - setquest 2069; - end; -} - -bat_a02,353,52,0 script B_CODE#bat_a02 FAKE_NPC,5,5,{ -OnTouch: - if (questprogress(2069) == 1) - setquest 2069; - end; -} - -bat_a02,169,227,0 script underladd#bat_a02_1 WARPNPC,1,1,{ -OnTouch_: - warp "bat_a02",178,228; - end; -} - -bat_a02,208,164,0 script underladd#bat_a02_2 WARPNPC,1,1,{ -OnTouch_: - warp "bat_a02",200,171; - end; -} - -bat_a02,171,309,3 script Guillaume Camp#flag11 1_FLAG_LION,{ end; } -bat_a02,149,310,3 script Guillaume Camp#flag12 1_FLAG_LION,{ end; } -bat_a02,119,336,3 script Guillaume Camp#flag13 1_FLAG_LION,{ end; } -bat_a02,118,357,3 script Guillaume Camp#flag14 1_FLAG_LION,{ end; } -bat_a02,150,380,3 script Guillaume Camp#flag15 1_FLAG_LION,{ end; } -bat_a02,173,380,3 script Guillaume Camp#flag16 1_FLAG_LION,{ end; } -bat_a02,210,344,3 script Guillaume Camp#flag17 1_FLAG_LION,{ end; } -bat_a02,350,325,3 script Guillaume Camp#flag18 1_FLAG_LION,{ end; } -bat_a02,358,325,3 script Guillaume Camp#flag19 1_FLAG_LION,{ end; } - -bat_a02,138,12,3 script Croix Camp#flag11 1_FLAG_EAGLE,{ end; } -bat_a02,108,36,3 script Croix Camp#flag12 1_FLAG_EAGLE,{ end; } -bat_a02,108,63,3 script Croix Camp#flag13 1_FLAG_EAGLE,{ end; } -bat_a02,136,87,3 script Croix Camp#flag14 1_FLAG_EAGLE,{ end; } -bat_a02,167,86,3 script Croix Camp#flag15 1_FLAG_EAGLE,{ end; } -bat_a02,199,49,3 script Croix Camp#flag16 1_FLAG_EAGLE,{ end; } -bat_a02,168,16,3 script Croix Camp#flag17 1_FLAG_EAGLE,{ end; } -bat_a02,357,74,3 script Croix Camp#flag18 1_FLAG_EAGLE,{ end; } -bat_a02,348,74,3 script Croix Camp#flag19 1_FLAG_EAGLE,{ end; } - -bat_a02,53,377,3 script Guillaume Vintenar#a02_a 4_M_KY_HEAD,{ - if (getcharid(CHAR_ID_BG) == $@TierraBG2_id1) { - if ($@TierraBG2_Victory == 1) { - .@your_medal = countitem(BF_Badge1); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 2) { - mes("[Axl Rose]"); - mes("Blessed Guillaume!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge1,3; - } - else { - mes("[Axl Rose]"); - mes("Blessed Guillaume!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge1,.@medal_gap; - } - } - else { - .@your_medal = countitem(BF_Badge1); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 0) { - mes("[Axl Rose]"); - mes("You lost, but you're dedicated to this battle."); - mes("This is a reward for your great dedication by Guillaume Marollo!"); - mes("Just take this defeat as a lesson, and next time you will definitely win."); - close2; - getitem BF_Badge1,1; - } - else { - mes("[Axl Rose]"); - mes("You lost, but you're dedicated to this battle."); - mes("This is a reward for your great dedication by Guillaume Marollo!"); - mes("Just take this defeat as a lesson, and next time you will definitely win."); - close2; - getitem BF_Badge1,.@medal_gap; - } - } - } - else { - if ($@TierraBG2_Victory == 2) { - .@your_medal = countitem(BF_Badge1); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 0) { - mes("[Axl Rose]"); - mes("You lost, but you're dedicated to this battle."); - mes("This is a reward for your great dedication by Guillaume Marollo!"); - mes("Just take this defeat as a lesson, and next time you will definitely win."); - close2; - getitem BF_Badge1,1; - } - else { - mes("[Axl Rose]"); - mes("You lost, but you're dedicated to this battle."); - mes("This is a reward for your great dedication by Guillaume Marollo!"); - mes("Just take this defeat as a lesson, and next time you will definitely win."); - close2; - getitem BF_Badge1,.@medal_gap; - } - } - else { - .@your_medal = countitem(BF_Badge1); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 2) { - mes("[Axl Rose]"); - mes("Blessed Guillaume!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge1,3; - } - else { - mes("[Axl Rose]"); - mes("Blessed Guillaume!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign of victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge1,.@medal_gap; - } - } - } - bg_leave; - warp "bat_room",154,150; - end; - -OnInit: - disablenpc "Guillaume Vintenar#a02_a"; - end; -} - -bat_a02,45,19,3 script Croix Vintenar#a02_b 4_M_CRU_HEAD,{ - if (getcharid(CHAR_ID_BG) == $@TierraBG2_id2) { - if ($@TierraBG2_Victory == 2) { - .@your_medal = countitem(BF_Badge1); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 2) { - mes("[Swandery]"); - mes("Blessed Croix!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge1,3; - } - else { - mes("[Swandery]"); - mes("Blessed Croix!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge1,.@medal_gap; - } - } - else { - .@your_medal = countitem(BF_Badge1); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 0) { - mes("[Swandery]"); - mesf("Oh, %s Don't be sad.", strcharinfo(PC_NAME)); - mes("Even though we didn't win, we did our best."); - mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one."); - close2; - getitem BF_Badge1,1; - } - else { - mes("[Swandery]"); - mesf("Oh, %s Don't be sad.", strcharinfo(PC_NAME)); - mes("Even though we didn't win, we did our best."); - mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one."); - close2; - getitem BF_Badge1,.@medal_gap; - } - } - } - else { - if ($@TierraBG2_Victory == 1) { - .@your_medal = countitem(BF_Badge1); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 0) { - mes("[Swandery]"); - mesf("Oh, %s Don't be sad.", strcharinfo(PC_NAME)); - mes("Even though we didn't win, we did our best."); - mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one."); - close2; - getitem BF_Badge1,1; - } - else { - mes("[Swandery]"); - mesf("Oh, %s Don't be sad.", strcharinfo(PC_NAME)); - mes("Even though we didn't win, we did our best."); - mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one."); - close2; - getitem BF_Badge1,.@medal_gap; - } - } - else { - .@your_medal = countitem(BF_Badge1); - .@medal_gap = 500 - .@your_medal; - if (.@medal_gap > 2) { - mes("[Swandery]"); - mes("Blessed Croix!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge1,3; - } - else { - mes("[Swandery]"); - mes("Blessed Croix!"); - mes("Let's enjoy our glorious victory!"); - mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); - close2; - getitem BF_Badge1,.@medal_gap; - } - } - } - bg_leave; - warp "bat_room",154,150; - end; - -OnInit: - disablenpc "Croix Vintenar#a02_b"; - end; -} - -bat_a02,1,5,3 script countdown#bat_a02 CLEAR_NPC,{ -OnEnable: - initnpctimer; - end; - -OnStop: - stopnpctimer; - end; - -OnTimer7000: - mapannounce("bat_a02", _("Guillaume Vintenar Axl Rose : Let's attack to burn down Croix's Food Depot!"), bc_map, "0xFF9900"); - end; - -OnTimer8000: - mapannounce("bat_a02", _("Croix Vintenar Swandery : Master of Valhalla! Let us be gifted with unfailing faith and courage!"), bc_map, "0xFF99CC"); - end; - -OnTimer1800000: - mapannounce("bat_a02", _("Marollo VII : Guillaume Marollo, Croix Marollo! Marollo followers!"), bc_map, "0x99CC00"); - end; - -OnTimer1803000: - mapannounce("bat_a02", _("Marollo VII : Both camps are competitive, so no camp would be destroyed easily. That means the Marollo kingdoms will never be defeated!"), bc_map, "0x99CC00"); - end; - -OnTimer1808000: - mapannounce("bat_a02", _("Marollo VII : I think we'd better terminate the battle, and call it a draw."), bc_map, "0x99CC00"); - end; - -OnTimer1822000: - mapannounce("bat_a02", _("Marollo VII : Hold your royalty and faith for a moment, and let's settle up the battle of Tierra Gorge."), bc_map, "0x99CC00"); - end; - -OnTimer1825000: - mapannounce("bat_a02", _("Axl Rose, Swandery : Yes sir."), bc_map, "0x99CC00"); - end; - -OnTimer1830000: - mapwarp "bat_a02","bat_room",154,150; - donpcevent "countdown#bat_a02::OnStop"; - end; -} - -/* -bat_a02,351,75,3 script Croix Camp Soldier#bat_a02_guide 4_M_RASWORD,{ - mes("Loading..."); - close; -} - -bat_a02,356,326,3 script Guillaume Camp Soldier#bat_a02_guide 4_M_RASWORD,{ - mes("Loading..."); - close; -} -*/ - -bat_a02,1,1,3 script Release all#a02 4_DOG01,{ - .@i = callfunc("F_GM_NPC",1854,0); - if (.@i == -1) { - mes("Cancelled."); - close; - } else if (.@i == 0) { - end; - } else { - mes("May I help you?"); - next; - switch(select("Release all.", "Cancel.")) { - case 1: - mes("Bye."); - close2; - mapwarp "bat_a02","bat_room",154,150; - end; - case 2: - mes("Cancelled."); - close; - } - } -} diff --git a/npc/battleground/tierra/tierra_enter.txt b/npc/battleground/tierra/tierra_enter.txt deleted file mode 100644 index c3a04719f..000000000 --- a/npc/battleground/tierra/tierra_enter.txt +++ /dev/null @@ -1,371 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2016 Hercules Dev Team -//= Copyright (C) L0ne_W0lf -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -// BattleGround System - Tierra Gorge Entrance NPCs -//================= Description =========================================== -//= Tierra Gorge Battleground Entrance NPCs -//================= Current Version ======================================= -//= 1.1 -//========================================================================= - -//== First Tierra Gorge Officers - Guillaume =============== -bat_room,124,178,5 script Tierra Gorge Officer#01a 4_M_KY_KNT,{ - if (checkweight(Knife,1) == 0) { - mes("- Wait a minute !! -"); - mes("- Currently you're carrying -"); - mes("- too many items with you. -"); - mes("- Please try again -"); - mes("- after you loose some weight. -"); - close; - } - mes("[Guillaume Army Officer]"); - mes("Let's show the power of the Guillaume Army to those stinky Croixs!"); - next; - switch(select("I want to join your army!", "End Conversation")) { - case 1: - if ((Class == Job_Novice) || (BaseClass == Job_SuperNovice)) { - mes("[Guillaume Army Officer]"); - mes("I'm very pleased that you want to join us and fight the Croix Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield."); - break; - } - if (BaseLevel < 80) { - mes("[Guillaume Army Officer]"); - mes("I'm very pleased that you want to join us and fight the Croix Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield."); - break; - } - .@chk_urtime = questprogress(2069,PLAYTIME); - if (.@chk_urtime == 1) { - mes("[Guillaume Army Officer]"); - mes("You seem to have just returned from the battlefield."); - mes("It's too early for you to go back. Go rest, and leave the enemies to us!"); - break; - } - if (.@chk_urtime == 2) - erasequest 2069; - if (getmapusers("bat_a01") > 0) { - mes("[Guillaume Army Officer]"); - mes("I've received a report informing me that an elite corps has been dispatched to the battlefield fighting the Croixs already."); - mes("Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then."); - break; - } - if ($@TierraBG1) { - mes("[Guillaume Army Officer]"); - mes("An elite corps is already standing by to be dispatched to the battlefield."); - mes("Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then."); - break; - } - mes("[Guillaume Army Officer]"); - mes("You definitely seem to be ready for battle!"); - mes("Go show the Croixs what fear truly means!"); - mes("Today, our cry of victory shall echo all over the battlefield!"); - close2; - warp "bat_room",57,223; - end; - case 2: - mes("[Guillaume Army Officer]"); - mes("Today, we shall be victorious!"); - break; - } - close; -} - -bat_room,140,178,5 script Tierra Gorge Officer#02a 4_M_KY_KNT,{ - if (checkweight(Knife,1) == 0) { - mes("- Wait a minute !! -"); - mes("- Currently you're carrying -"); - mes("- too many items with you. -"); - mes("- Please try again -"); - mes("- after you loose some weight. -"); - close; - } - mes("[Guillaume Army Officer]"); - mes("Let's show the power of the Guillaume Army to those stinky Croixs!"); - next; - switch(select("I want to join your army!", "End Conversation")) { - case 1: - if ((Class == Job_Novice) || (BaseClass == Job_SuperNovice)) { - mes("[Guillaume Army Officer]"); - mes("I'm very pleased that you want to join us and fight the Croix Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield."); - break; - } - if (BaseLevel < 80) { - mes("[Guillaume Army Officer]"); - mes("I'm very pleased that you want to join us and fight the Croix Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield."); - break; - } - .@chk_urtime = questprogress(2069,PLAYTIME); - if (.@chk_urtime == 1) { - mes("[Guillaume Army Officer]"); - mes("You seem to have just returned from the battlefield."); - mes("It's too early for you to go back. Go rest, and leave the enemies to us!"); - break; - } - if (.@chk_urtime == 2) - erasequest 2069; - if (getmapusers("bat_a02") > 0) { - mes("[Guillaume Army Officer]"); - mes("I've received a report informing me that an elite corps has been dispatched to the battlefield fighting the Croixs already."); - mes("Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then."); - break; - } - if ($@TierraBG2) { - mes("[Guillaume Army Officer]"); - mes("An elite corps is already standing by to be dispatched to the battlefield."); - mes("Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then."); - break; - } - mes("[Guillaume Army Officer]"); - mes("You definitely seem to be ready for battle!"); - mes("Go show the Croixs what fear truly means!"); - mes("Today, our cry of victory shall echo all over the battlefield!"); - close2; - warp "bat_room",114,223; - end; - case 2: - mes("[Guillaume Army Officer]"); - mes("Today, we shall be victorious!"); - break; - } - close; -} - -bat_room,127,178,5 script Guillaume Knight#1 4_M_KY_SOLD,{ - mes("[Guillaume Knight]"); - mes("Tierra Gorge consists of two steep sides placed vertically, and has ration depots for the Guillaume and Croix Armies at the 11 and 7 o'clock directions."); - next; - mes("[Guillaume Knight]"); - mes("The battle starts at your army's ship, and the goal is to advance and destroy your enemy's rations depot faster than they can destroy yours."); - next; - mes("[Guillaume Knight]"); - mes("The healer of the battlefield will resurrect soldiers once every 25 seconds so that they can rejoin the battle."); - mes("The army that captures the neutral flag in the center of the battlefield will be rewarded with extra regeneration points, meaning their soldiers will resurrect more than the other side, giving them an advantage."); - next; - mes("[Guillaume Knight]"); - mes("Those two rations depots are connected to each other through short and narrow paths, but the gates are blocked with barricades."); - mes("Think and move as quickly as you can. The victory of your army relies on your contribution."); - next; - mes("[Guillaume Knight]"); - mes("Please remember: when you join a battle, you will receive a token which indicates the set duration for which you cannot participate in the same type of battle."); - mes("You may check the duration by pressing the Alt+U keys."); - next; - mes("[Guillaume Knight]"); - mes("Are you ready to battle? Then apply with the recruiter next to me!"); - close; -} - -bat_room,143,178,5 script Guillaume Knight#2 4_M_KY_SOLD,{ - mes("[Guillaume Knight]"); - mes("Tierra Gorge consists of two steep sides placed vertically, and has ration depots for the Guillaume and Croix Armies at the 11 and 7 o'clock directions."); - next; - mes("[Guillaume Knight]"); - mes("The battle starts at your army's ship, and the goal is to advance and destroy your enemy's rations depot faster than they can destroy yours."); - next; - mes("[Guillaume Knight]"); - mes("The healer of the battlefield will resurrect soldiers once every 25 seconds so that they can rejoin the battle."); - mes("The army that captures the neutral flag in the center of the battlefield will be rewarded with extra regeneration points, meaning their soldiers will resurrect more than the other side, giving them an advantage."); - next; - mes("[Guillaume Knight]"); - mes("Those two rations depots are connected to each other through short and narrow paths, but the gates are blocked with barricades."); - mes("Think and move as quickly as you can. The victory of your army relies on your contribution."); - next; - mes("[Guillaume Knight]"); - mes("Please remember: when you join a battle, you will receive a token which indicates the set duration for which you cannot participate in the same type of battle."); - mes("You may check the duration by pressing the Alt+U keys."); - next; - mes("[Guillaume Knight]"); - mes("Are you ready to battle? Then apply with the recruiter next to me!"); - close; -} - -bat_room,127,121,1 script Croix Knight#1 4_M_CRU_SOLD,{ - mes("[Croix Knight]"); - mes("Tierra Gorge consists of two steep sides placed vertically, and has ration depots for the Guillaume and Croix Armies at the 11 and 7 o'clock directions."); - next; - mes("[Croix Knight]"); - mes("The battle starts at your army's ship, and the goal is to advance and destroy your enemy's rations depot faster than they can destroy yours."); - next; - mes("[Croix Knight]"); - mes("The healer of the battlefield will resurrect soldiers once every 25 seconds so that they can rejoin the battle."); - mes("The army that captures the neutral flag in the center of the battlefield will be rewarded with extra regeneration points, meaning their soldiers will resurrect more than the other side, giving them an advantage."); - next; - mes("[Croix Knight]"); - mes("Those two rations depots are connected to each other through short and narrow paths, but the gates are blocked with barricades."); - mes("Think and move as quickly as you can. The victory of your army relies on your contribution."); - next; - mes("[Croix Knight]"); - mes("Please remember: when you join a battle, you will receive a token which indicates the set duration for which you cannot participate in the same type of battle."); - mes("You may check the duration by pressing the Alt+U keys."); - next; - mes("[Croix Knight]"); - mes("Are you ready to battle? Then apply with the recruiter next to me!"); - close; -} - -bat_room,143,121,1 script Croix Knight#2 4_M_CRU_SOLD,{ - mes("[Croix Knight]"); - mes("Tierra Gorge consists of two steep sides placed vertically, and has ration depots for the Guillaume and Croix Armies at the 11 and 7 o'clock directions."); - next; - mes("[Croix Knight]"); - mes("The battle starts at your army's ship, and the goal is to advance and destroy your enemy's rations depot faster than they can destroy yours."); - next; - mes("[Croix Knight]"); - mes("The healer of the battlefield will resurrect soldiers once every 25 seconds so that they can rejoin the battle."); - mes("The army that captures the neutral flag in the center of the battlefield will be rewarded with extra regeneration points, meaning their soldiers will resurrect more than the other side, giving them an advantage."); - next; - mes("[Croix Knight]"); - mes("Those two rations depots are connected to each other through short and narrow paths, but the gates are blocked with barricades."); - mes("Think and move as quickly as you can. The victory of your army relies on your contribution."); - next; - mes("[Croix Knight]"); - mes("Please remember: when you join a battle, you will receive a token which indicates the set duration for which you cannot participate in the same type of battle."); - mes("You may check the duration by pressing the Alt+U keys."); - next; - mes("[Croix Knight]"); - mes("Are you ready to battle? Then apply with the recruiter next to me!"); - close; -} - -//== Second Tierra Gorge Officers - Croix ================== -bat_room,125,121,1 script Tierra Gorge Officer#01b 4_M_CRU_KNT,{ - if (checkweight(Knife,1) == 0) { - mes("- Wait a minute !! -"); - mes("- Currently you're carrying -"); - mes("- too many items with you. -"); - mes("- Please try again -"); - mes("- after you loose some weight. -"); - close; - } - mes("[Croix Army Officer]"); - mes("Let's show the power of the Croix Army to those stinky Guillaumes!"); - next; - switch(select("I want to join your army!", "End Conversation")) { - case 1: - if ((Class == Job_Novice) || (BaseClass == Job_SuperNovice)) { - mes("[Croix Army Officer]"); - mes("I'm very pleased that you want to join us and fight the Guillaume Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield."); - break; - } - if (BaseLevel < 80) { - mes("[Croix Army Officer]"); - mes("I'm very pleased that you want to join us and fight the Guillaume Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield."); - break; - } - .@chk_urtime = questprogress(2069,PLAYTIME); - if (.@chk_urtime == 1) { - mes("[Croix Army Officer]"); - mes("You seem to have just returned from the battlefield."); - mes("It's too early for you to go back. Go rest, and leave the enemies to us!"); - break; - } - if (.@chk_urtime == 2) - erasequest 2069; - if (getmapusers("bat_a02") > 0) { - mes("[Croix Army Officer]"); - mes("I've received a report informing me that an elite corps has been dispatched to the battlefield fighting the Guillaume already."); - mes("Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then."); - break; - } - if ($@TierraBG1) { - mes("[Croix Army Officer]"); - mes("An elite corps is already standing by to be dispatched to the battlefield."); - mes("Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then."); - break; - } - mes("[Croix Army Officer]"); - mes("You definitely seem to be ready for battle!"); - mes("Go show the Guillaumes what fear truly means!"); - mes("Today, our cry of victory shall echo all over the battlefield!"); - close2; - warp "bat_room",57,207; - end; - case 2: - mes("[Croix Army Officer]"); - mes("Today, we shall be victorious!"); - break; - } - close; -} - -bat_room,140,121,1 script Tierra Gorge Officer#02b 4_M_CRU_KNT,{ - if (checkweight(Knife,1) == 0) { - mes("- Wait a minute !! -"); - mes("- Currently you're carrying -"); - mes("- too many items with you. -"); - mes("- Please try again -"); - mes("- after you loose some weight. -"); - close; - } - mes("[Croix Army Officer]"); - mes("Let's show the power of the Croix Army to those stinky Guillaumes!"); - next; - switch(select("I want to join your army!", "End Conversation")) { - case 1: - if ((Class == Job_Novice) || (BaseClass == Job_SuperNovice)) { - mes("[Croix Army Officer]"); - mes("I'm very pleased that you want to join us and fight the Guillaume Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield."); - break; - } - if (BaseLevel < 80) { - mes("[Croix Army Officer]"); - mes("I'm very pleased that you want to join us and fight the Guillaume Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield."); - break; - } - .@chk_urtime = questprogress(2069,PLAYTIME); - if (.@chk_urtime == 1) { - mes("[Croix Army Officer]"); - mes("You seem to have just returned from the battlefield."); - mes("It's too early for you to go back. Go rest, and leave the enemies to us!"); - break; - } - if (.@chk_urtime == 2) - erasequest 2069; - if (getmapusers("bat_a02") > 0) { - mes("[Croix Army Officer]"); - mes("I've received a report informing me that an elite corps has been dispatched to the battlefield fighting the Guillaume already."); - mes("Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then."); - break; - } - if ($@TierraBG2) { - mes("[Croix Army Officer]"); - mes("An elite corps is already standing by to be dispatched to the battlefield."); - mes("Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then."); - break; - } - mes("[Croix Army Officer]"); - mes("You definitely seem to be ready for battle!"); - mes("Go show the Guillaumes what fear truly means!"); - mes("Today, our cry of victory shall echo all over the battlefield!"); - close2; - warp "bat_room",114,207; - end; - case 2: - mes("[Croix Army Officer]"); - mes("Today, we shall be victorious!"); - break; - } - close; -} diff --git a/npc/cities/alberta.txt b/npc/cities/alberta.txt deleted file mode 100644 index ed4be5438..000000000 --- a/npc/cities/alberta.txt +++ /dev/null @@ -1,428 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2015 Hercules Dev Team -//= Copyright (C) Euphy -//= Copyright (C) Kisuka -//= Copyright (C) L0ne_W0lf -//= Copyright (C) Lupus -//= Copyright (C) DZeroX -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Alberta Town -//================= Description =========================================== -//= Town-specific Alberta NPCs -//================= Current Version ======================================= -//= 1.6 -//========================================================================= - -alberta,97,51,0 script Fabian 4_M_02,{ - mes "[Fabian]"; - mes "Man... When you travel all around the world, you'll hear of some crazy things."; - next; - mes "[Fabian]"; - mes "Once, I heard that there are Cards which contain the power of monsters. If someone happens to get their hands on a card, they'll be able to use that monster's power."; - next; - mes "[Fabian]"; - mes "I'm guessing it's some sort of fad or scam, where they make you collect all the cards or whatever. I mean, how can a card really hold the power of a monster?!"; - next; - mes "[Fabian]"; - mes "Seriously..."; - close; -} - -alberta,53,39,0 script Steiner 4W_SAILOR,{ - mes "[Steiner]"; - mes "Oh...!"; - mes "Welcome to Alberta,"; - mes "young adventurer!"; - next; - mes "[Steiner]"; - mes "Pardon me if I seem distracted. I'm milling about, trying to make a plan. You see, I hear that there is a store in Geffen that sells armor that is resistant to magic."; - next; - mes "[Steiner]"; - mes "If I buy a lot of them in bulk, and then resell them here for a higher price..."; - close; -} - -alberta,20,183,0 script Chad 1_M_03,{ - mes "[Chad]"; - mes "People say the legendary weapon Gungnir never misses its target. I wonder if it's possibly true..."; - next; - mes "[Chad]"; - mes "People also say that babies are assembled by the storks before delivery, girls dig guys who act like jerks, and that Santa Claus exists! But only in Lutie."; - next; - mes "[Chad]"; - mes "I wonder..."; - mes "If any of that"; - mes "is possibly"; - mes "true..."; - close; -} - -alberta,131,139,2 script Drunken Old Man 1_M_JOBGUIDER,{ - mes "[Deagle]"; - mes "^666666*Hiccup*^000000"; - mes "Wh-what are you"; - mes "staring at? Get lost!!"; - next; - switch(select("Say nothing.","Leave him alone.")) { - case 1: - mes "[Deagle]"; - mes "Hahahaha ^666666*hiccup*^000000... You've got some nerve. I may look worthless now, but I used to be a sailor on the 'Going Mary.'"; - next; - switch(select("Never heard of it.","Really? No kidding!")) { - case 1: - mes "[Deagle]"; - mes "Never heard of it?! Everybody knows th'notorious pirate ship 'Going Mary!' ^666666*Hiccup~*^000000"; - next; - mes "[Deagle]"; - mes "Ah~ The ol'days. If only... If only we hadn't run into that STORM...^666666*hiccup*^000000"; - next; - mes "[Deagle]"; - mes "AH~ Captain. I miss our cap'n more than anything... No foe survived before cap'n's sword."; - close; - case 2: - mes "[Deagle]"; - mes "That's right! NOBODY meshes with the crew of the 'Going Mary!' And nobody can beat out cap'n in a sword fight!"; - next; - mes "[Deagle]"; - mes "CAPTAIN~!!! ^666666*HICCUP~*^000000 He would swing his sword like this, then... THEN!!"; - next; - mes "[Deagle]"; - mes "The bastard the captain was fighting, and anyone of his friends near him, were surrounded in flame!"; - next; - mes "[Deagle]"; - mes "Man, that sword must have had some sort of mysterious power, or the captain was just that good...!"; - next; - mes "[Deagle]"; - mes "Phew~~ ^666666*Sob* *Sob...*^000000 God, I miss everyone! Now I'm depressed! Please, go away now."; - close; - } - case 2: - mes "[Deagle]"; - mes "That's right!"; - mes "Go AWAY~"; - close; - } -} - -alberta,58,80,2 script Shakir 4W_M_03,{ - mes "[Shakir]"; - if (rand(2)) { - mes "We Merchants have our own negotiating skill when we sell goods. This skill can get us more money than when other people sell goods."; - next; - mes "[Shakir]"; - mes "It's more than just yelling 'You'll have to give more money please!' You need to have charisma, and master rhetoric!"; - next; - mes "[Shakir]"; - mes "We can get up to 24 % more zeny with this incredible skill. But remember to train hard to acquire it!!"; - } else { - mes "We Merchants can"; - mes "open roadside stands"; - mes "to do business."; - next; - mes "[Shakir]"; - mes "With the Discount skill, we can buy goods really cheap from the stores in towns and load them into the cart we rent."; - next; - mes "[Shakir]"; - mes "Then afterwards, we can travel anywhere, and sells our goods to make a profit!"; - next; - mes "[Shakir]"; - mes "This way, business is more convenient and safe. Don't fall asleep, although it's too easy to do that."; - } - close; -} - -alberta,62,156,2 script Sonya 8_F,{ - mes "[Sonya]"; - switch(rand(3)){ - case 0: - mes "Hey, you know, this one time I was walking through the forest and I saw this little green stem moving around."; - next; - mes "[Sonya]"; - mes "I went to see what it was and when I went to touch it. The stem actually slapped my hand!"; - next; - mes "[Sonya]"; - mes "It startled me, so I jumped back a bit and then I realized it wasn't a stem, but a very small animal."; - next; - mes "[Sonya]"; - mes "I was lucky I didn't upset it. Even the smallest animal can be dangerous if angered."; - close; - case 1: - mes "You know those lazy looking bears that live in the forest on the way to Payon?"; - next; - mes "[Sonya]"; - mes "Just for fun, I threw a rock at it and all of sudden it rushed at me! I was sooooo scared, I started to run away, then BAM!!!"; - next; - mes "[Sonya]"; - mes "It ran into a low tree branch and knocked itself out! I swear, I'll never provoke an animal for fun again!"; - close; - case 2: - mes "I once saw a pack of wolves take on one of those huge, lazy bears!"; - next; - mes "[Sonya]"; - mes "Wolves are much more cooperative than they may seem. If one of them is attacked, then any nearby wolves will run to help."; - next; - mes "[Sonya]"; - mes "I'd think twice if you ever want to fight one when others of its kind are around. Be careful: don't get ganged up on!"; - close; - } -} - -alberta,93,174,2 script Grandmother Alma 8_F_GRANDMOTHER,{ - mes "[Grandmother Alma]"; - mes "Some time ago,"; - mes "a derelict ship"; - mes "drifted into"; - mes "Alberta harbour."; - next; - mes "[Grandmother Alma]"; - mes "Hoping to save any survivors, some of the townspeople ventured into the ship. However, they all ran out terrified, saying that corpses were walking around inside the ship."; - next; - mes "[Grandmother Alma]"; - mes "The ship was also packed with dangerous marine organisms, and they couldn't get inside, even if they wanted to."; - next; - mes "[Grandmother Alma]"; - mes "We couldn't do anything about that ominous looking ship, and just left it as it was. Nowadays, exploration teams try to enter that ship and wipe out its monsters."; - next; - mes "[Grandmother Alma]"; - mes "So it might be a good experience for a young person like yourself to be a recruit. But, it's still not worth risking your life if you're not strong enough."; - close; -} - -alberta,189,151,5 script Fisk 4W_SAILOR,{ - mes "[Fisk]"; - mes "Ahoy mate,"; - mes "where'd ya"; - mes "wanna go?"; - next; - switch(select("Sunken Ship -> 250 zeny.","Izlude Marina -> 500 zeny.","Never mind.")) { - case 1: - if (Zeny < 250) { - mes "[Fisk]"; - mes "Hey now, don't try to cheat me! I said 250 zeny!"; - close; - } - Zeny -= 250; - warp "alb2trea",43,53; - end; - case 2: - if (Zeny < 500) { - mes "[Fisk]"; - mes "Ain't no way yer getting there without the 500 zeny first!"; - close; - } - Zeny -= 500; - if (RENEWAL) - warp "izlude",195,212; - else - warp "izlude",176,182; - end; - case 3: - mes "[Fisk]"; - mes "Alright..."; - mes "Landlubber."; - close; - } -} - -alb2trea,39,50,6 script Fisk#a2t 4W_SAILOR,{ - mes "[Fisk]"; - mes "So you wanna head back to the mainland in Alberta, eh?"; - next; - if(select("Yes please.","I changed my mind.")==1) - warp "alberta",192,169; - close; -} - -alberta,195,151,2 script Paul 4_M_04,{ - mes "[Paul]"; - mes "Good day~"; - mes "Would you like"; - mes "to join the"; - mes "exploration team"; - mes "of the Sunken Ship?"; - next; - mes "[Paul]"; - mes "Oh! Before you join, I must warn you. If you're not that strong, you may not want to go."; - next; - mes "[Paul]"; - mes "So, want"; - mes "to sign up?"; - mes "The admission"; - mes "fee is only"; - mes "200 Zeny."; - next; - switch(select("Sign me up!","Uh, no thanks.")) { - case 1: - if (Zeny < 200) { - mes "[Paul]"; - mes "It seems you don't have the money, my friend. But please come back when you're able to pay."; - close; - } else { - Zeny -= 200; - warp "alb2trea",62,69; - close; - } - case 2: - mes "[Paul]"; - mes "Alright, well..."; - mes "I'll be around"; - mes "if you change"; - mes "your mind."; - close; - } -} - -alberta,190,173,4 script Phelix 4_M_03,{ - .@weight = MaxWeight-Weight; - mes "[Phelix]"; - if ((.@weight) < 10000) { - mes "Wait a moment!!"; - mes "You have brought too many things!"; - mes "You cannot accept any more items!"; - mes "Please reduce the amount of items,"; - mes "then come see me again."; - close; - } - if (@event_zelopy == 0) { - mes "The hell are you doing here?"; - mes "There is nothing you can get for free on this ship, if you want somethin', work for it!!"; - next; - mes "[Phelix]"; - mes "Hmm, so why don't you bring me 10 jellopies and I will give 1 potion. How's that sound?"; - mes "Or if that's too hard for your pansy ass, 3 jellopies for 1 Carrot."; - next; - mes "[Phelix]"; - mes "If you're interested in my offer, get me the stuff I mentioned."; - @event_zelopy = 1; - close; - } else { - mes "Hmm.. you want to exchange jellopies for Red Potions or some Carrots eh? Well.. which one?"; - next; - switch(select("Red Potions please.","Carrots please.")) { - case 1: - mes "[Phelix]"; - mes "Alright..."; - mes "Let's see"; - mes "what'cha got..."; - next; - mes "[Phelix]"; - if (countitem(Jellopy) < 10) { - mes "Hey! Weren't you listening?. I said 10 jellopies for 1 Red Potion.. are ya deaf?"; - close; - } else { - .@max = countitem(Jellopy)/10; - mes "Hmm, not bad..."; - mes "How many potions"; - mes "do you want to get?"; - next; - switch(select("As many as I can, please.","I want this many.","Never mind, I like my jellopy.")) { - case 1: - delitem Jellopy,.@max*10; // Jellopy - getitem Red_Potion,.@max; // Red_Potion - break; - case 2: - mes "[Phelix]"; - mes "I'm not giving you more then 100 at a time so don't bother, OK? If you don't want any, just say '0'."; - mes "Right now, the most you can get is " + .@max + " but remember, 100 at most, you want to break my back?."; - input .@amount; - next; - mes "[Phelix]"; - if (.@amount <= 0) { - mes "Much obliged, come again anytime."; - close; - } - if (.@amount > 100) { - mes "Hey, what'd I say? 100 at a time at most, you're trying to kill me aren't you!"; - close; - } - if (countitem(Jellopy) < .@amount*10) { - mes "Hmm, it looks like you don't have enough. Go get more jellopies if you want anything else from me."; - close; - } - delitem Jellopy,.@amount*10; // Jellopy - getitem Red_Potion,.@amount; // Red_Potion - break; - case 3: - mes "[Phelix]"; - mes "No problem,"; - mes "see you next time."; - close; - } - mes "[Phelix]"; - mes "There you go! As I promised. Don't go suckin' them all down at once."; - close; - } - case 2: - mes "[Phelix]"; - mes "Alright, let's see what ya got..."; - next; - mes "[Phelix]"; - if (countitem(Jellopy) < 3) { - mes "Hmm, look pansy ass, I said 3 jellopies for 1 Carrot.. got it?"; - close; - } else { - .@max = countitem(Jellopy)/3; - mes "Not too bad pansy..."; - mes "How many do you want?"; - next; - switch(select("As many as I can get, please","I want this many.","Never mind, I like my jellopy.")) { - case 1: - delitem Jellopy,.@max*3; // Jellopy - getitem Carrot,.@max; // Carrot - break; - case 2: - mes "[Phelix]"; - mes "Right I'm not giving you more then 100 at a time so don't bother, okay? If you don't want any, just say '0'."; - input .@amount; - next; - mes "[Phelix]"; - if (.@amount == 0) { - mes "Alright then, see you next time."; - close; - } - if (.@amount > 100) { - mes "Hey pansy ass, I said 100 at most, no more then that! I'm not going to break my back for the likes of you!"; - close; - } - if (countitem(Jellopy) < .@amount*10) { - mes "Seems you don't have enough. Go get some more if you want anything else."; - close; - } - delitem Jellopy,.@amount*3; // Jellopy - getitem Carrot,.@amount; // Carrot - break; - case 3: - mes "[Phelix]"; - mes "Catch'ya later."; - close; - } - mes "[Phelix]"; - mes "There you go~! As I promised. Try not to stuff yer face."; - close; - } - } - } -} diff --git a/npc/cities/aldebaran.txt b/npc/cities/aldebaran.txt deleted file mode 100644 index 57d4205df..000000000 --- a/npc/cities/aldebaran.txt +++ /dev/null @@ -1,1390 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2015 Hercules Dev Team -//= Copyright (C) rAthena Dev Team -//= Copyright (C) eAthena Dev Team -//= Copyright (C) DZeroX -//= Copyright (C) Evera -//= Copyright (C) Silent -//= Copyright (C) massdriller -//= Copyright (C) Lupus -//= Copyright (C) L0ne_W0lf -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Aldebaran Town -//================= Description =========================================== -//= Aldebaran Town NPCs -//================= Current Version ======================================= -//= 2.4 -//========================================================================= - -//== Aldebaran ============================================= -aldebaran,113,70,4 script Forger Munster#alde 1_M_02,{ - mes "[Munster]"; - mes "My family used to live in Geffen. So I guess it was natural that we studied forging and eventually became Blacksmiths. Then, we finally moved to this town,"; - mes "Al De Baran."; - next; - if (select("About ^3355FFItem Upgrade^000000", "Quit") == 1) { - mes "[Munster]"; - mes "My father was a famous blacksmith in Geffen, and he taught me a lot about forging equipment."; - next; - mes "[Munster]"; - mes "One of the fundamentals is that the success probability of upgrading an item depends on the level of the weapon."; - next; - mes "[Munster]"; - mes "For level 1 weapons, you may upgrade up to + 7 without the risk of breaking the weapon. Level 2 weapons can be upgraded to +6. Level 3 weapons can be upgraded to +5 safely."; - next; - mes "[Munster]"; - mes "For level 4 weapons, you can upgrade + 4 without too much risk. As for armors, you can upgrade them to +4. But if the upgrade for the equipment fails, it will be destroyed!"; - close; - } - mes "[Munster]"; - mes "Hmm..."; - mes "If you get a chance, try to visit my father's workshop here in Al de Baran. If I may say so, he's a pretty talented Blacksmith."; - close; -} - -aldebaran,64,104,4 script Smithing Guy#alde 1_M_JOBTESTER,{ - mes "[Quatro]"; - mes "Have you heard that a famous Blacksmith moved here from Geffen?"; - next; - if (select("Famous Blacksmith?", "End Conversation") == 1) { - mes "[Quatro]"; - mes "From what I've heard, he's one of those Blacksmiths that can upgrade your weapons and armor. When you upgrade a weapon, its attack strength is increased."; - next; - mes "[Quatro]"; - mes "For each upgrade level, attack strength increases by 2 for level 1 weapons. On level 2 weapons, 3 attack strength is added."; - next; - mes "[Quatro]"; - mes "On level 3 weapons, 5 attack strength is added for each level, and for level 4 weapons, 7 attack strength is added for each level."; - close; - } - mes "[Quatro]"; - mes "This Blacksmith's family lives here, since his wife is sick and weak. Because of her condition, she needs to take medicinal herbs that grow near Al de Baran."; - next; - mes "[Quatro]"; - mes "They also have a dutiful son who's always helping out with the family business. I'm sure that kid will grow up to become a good Blacksmith like his father."; - close; -} - -aldebaran,49,93,4 script Young Man#alde 4_M_01,{ - mes "[Miller]"; - mes "Aren't level 4 weapons cool!"; - mes "I can't believe such powerful"; - mes "weapons exist!"; - next; - mes "[Miller]"; - mes "Well, they're rarely seen in the open market, but boss monsters will drop them by a low chance if you happen to be able to kill them."; - close; -} - -aldebaran,81,61,4 script Shell Gathering Lady#ald 4W_F_01,{ - mes "[Joanne]"; - mes "I enjoy gathering shells from the sea. It's really fun and relaxing~"; - next; - if (select("Shell Gathering?", "End Conversation") == 1) { - mes "[Joanne]"; - mes "When you see bubbles popping up from the sand or muddy puddles, try digging into the ground a bit. You might find some shells underneath the ground!"; - next; - mes "[Joanne]"; - mes "Have you heard"; - mes "of Ambernite?"; - mes "That shell monster"; - mes "is pretty tough~"; - next; - mes "[Joanne]"; - mes "It's usually seen at the beach near the west province of Prontera. If you ever try attacking it without being prepared, you might be in trouble."; - next; - mes "[Joanne]"; - mes "Ambernite is"; - mes "pretty strong!"; - mes "So look out for it!"; - close; - } - mes "[Joanne]"; - mes "Ambernite is"; - mes "pretty strong!"; - mes "So look out for it!"; - close; -} - -aldebaran,46,129,4 script Canal Guy#alde 4W_M_01,{ - mes "[Panama]"; - mes "Al De Baran is known world wide as the City of Canals. The waterways really add a sophisticated, romantic touch to our fair city."; - next; - switch(select("About the Canals", "End Conversation")) { - case 1: - mes "[Panama]"; - mes "Well, a canal is an artificial waterway used for travel,"; - mes "shipping, or irrigation."; - next; - mes "[Panama]"; - mes "However, the canals over here are just for show. If we needed to transport anything, we just use the Kafra Corporation Teleport service!"; - close; - break; - case 2: - mes "[Panama]"; - mes "I have that you will enjoy your stay in Al De Baran."; - close; - break; - } -} - -aldebaran,67,154,4 script Forest Guy#alde 4W_M_02,{ - mes "[Isenberg]"; - mes "Mt. Mjolnir and Payon Forest."; - mes "Both of those places are tough"; - mes "to travel through."; - next; - switch(select("Mt.Mjolnir?", "Payon Forest...?", "End Conversation")) { - case 1: - mes "[Isenberg]"; - mes "To arrive here from Prontera or Geffen, you've got to cross the Mjolnir Mountains."; - next; - mes "[Isenberg]"; - mes "If you've made it here by foot without using the Kafra Teleportation service,"; - mes "then good job!"; - next; - mes "[Isenberg]"; - mes "The Mjolnir Mountains are really steep, and it's full of aggressive and hostile monsters. So it's always a risk to travel through there alone."; - close; - case 2: - mes "[Isenberg]"; - mes "If you wish to visit Alberta or the city of Payon, you must first travel through the Payon Forest."; - next; - mes "[Isenberg]"; - mes "The Payon Forest is a winding, intricate maze where it's easy to get lost. Unless you concentrate and keep track of your path, you might be stuck wandering in that dangerous place."; - next; - mes "[Isenberg]"; - mes "Payon, the Archer Village, was built deep inside this steep and rugged forest so that it may be protected from outside invaders. So I guess that a good decision on their part."; - close; - case 3: - mes "[Isenberg]"; - mes "The huge mountains surrounding this town"; - mes "blocks people from outside to come into this town."; - mes "That may be a part of the reason how we have been able to"; - mes "keep this beautiful canal and mysterious alchemy"; - mes "without any influence from outside."; - close; - } -} - -aldebaran,90,170,4 script Slot Guy#alde 1_M_01,{ - mes "[Epthiel]"; - mes "Some weapons or armor have Slots where you can insert Cards obtained from monsters."; - next; - switch(select("About the number of Slots", "Relation between Cards and Slots", "End Conversation")) { - case 1: - mes "[Epthiel]"; - mes "Items dropped by monsters possess more Slots than ordinary weapons or armor sold in NPC shops."; - next; - mes "[Epthiel]"; - mes "I guess you can assume that an item with more Slots is more valuable than the same item with fewer Slots."; - close; - case 2: - mes "[Epthiel]"; - mes "Once a Card is inserted into a Slot, it is impossible to remove it. So please be careful when you insert Cards into weapons or armor."; - next; - mes "[Epthiel]"; - mes "Also, when you mouse over equipment in the Item Window or Vending Window, the name of the item will be followed by the number of its Slots in brackets."; - next; - mes "[Epthiel]"; - mes "For example, a Shield with 1 Slot, when moused over, would display the name 'Shield [1].'"; - next; - mes "[Epthiel]"; - mes "You may also right-click an item, and check the Card Slot window below the item description window for the number of Slots."; - close; - case 3: - mes "[Epithiel]"; - mes "Have you ever obtained a card from a monster?"; - close; - } -} - -aldebaran,117,181,4 script Phracon Guy#alde 1_M_02,{ - mes "[Joy]"; - mes "Level 1 weapons, which are the lowest grade, need a metal named ^3355FFPhracon^000000 in order to be upgraded."; - next; - switch(select("About Phracon", "Advice about Phracon", "End Conversation")) { - case 1: - mes "[Joy]"; - mes "Phracon is a pretty common metal and can be found all over the Rune-Midgard continent."; - next; - mes "[Joy]"; - mes "Although it lacks the strength of other metals, it's easy to find and obtain. You can get Phracons by killing monsters or by buying them in Forging Shops in towns."; - next; - mes "[Joy]"; - mes "When you no longer need Phracons because you are using higher level weapons, you can sell them for some zeny!"; - close; - case 2: - mes "[Joy]"; - mes "Well, I hear lots of monsters carry Phracons and will drop them once killed. Why don't you go hunting for them?"; - next; - mes "[Joy]"; - mes "It shouldn't be too difficult. Once I found a Phracon that dropped after killing a Bebe Savage! But if you're desperate, you can always buy them at the Forging Shop."; - close; - case 3: - mes "[Joy]"; - mes "Good luck with finding Phracons!"; - close; - } -} - -aldebaran,121,231,4 script Alchemy Guy#alde 1_M_03,{ - mes "[Chemirre]"; - mes "Alchemists, one of the 2nd Jobs, are able to create items out of several materials using knowledge from the ancient age of Al De Baran."; - next; - switch(select("About Alchemy in Payon", "Definition of Alchemy", ". . . . .", "End Conversation")) { - case 1: - mes "[Chemirre]"; - mes "Most people don't know that there was an oriental form of Alchemy that developed in Payon."; - next; - mes "[Chemirre]"; - mes "These Payon Alchemists were able to create Gold out of different materials. However, Payon Alchemy never advanced as much as the Alchemy in Al De Baran."; - next; - mes "[Chemirre]"; - mes "Materials for Alchemy in Payon were scarse and interest in that field eventually waned. Now, you can only study Alchemy here in Al De Baran."; - next; - mes "[Chemirre]"; - mes "Still, I can't help but wonder what secrets were lost after the Payon art of Alchemy disappeared from the face of the Earth..."; - close; - case 2: - mes "[Chemirre]"; - mes "Alchemists specialize in chemical research in order to create useful items out of various things."; - next; - mes "[Chemirre]"; - mes "I also hear that they create all sorts of Potions, and can even summon certain monsters! It seems that their studies have all sorts of nifty applications."; - close; - case 3: - mes "[Chemirre]"; - mes "You are bored, aren't you?"; - mes "Alright then, I will tell you a story about monster cards and item slots."; - mes "As you already know, if you ever have obtained a monster card before,"; - next; - mes "[Chemirre]"; - mes "you can only insert a monster card to an item"; - mes "that satisfies the card's location requirement."; - mes "For instance, let's say, you have obtained a Poring Card."; - next; - mes "[Chemirre]"; - mes "When you right click on the card, you will see"; - mes "its ability as LUK+2 and Perfect Dodge+1"; - mes "and its location as 'Armor'. "; - next; - mes "[Chemirre]"; - mes "If you try to insert this card to a dagger with many slots,"; - mes "it is not going to work because the card only can be inserted to"; - mes "armor items."; - next; - mes "[Chemirre]"; - mes "Almost every armor items that are being sold"; - mes "in town shops do not have slots on them."; - mes "That means, you can only obtain"; - mes "slotted armors by hunting monsters."; - next; - mes "[Chemirre]"; - mes "Ah, let me tell you how you can insert a card to an item."; - mes "If you want to insert a card on your equipped armor,"; - mes "you must unequip the armor first."; - mes "And then, double click a card that you want to use."; - mes "Then a list of armor, that you can insert the card, will be displayed."; - next; - mes "[Chemirre]"; - mes "It is not that complicated, is it?"; - close; - case 4: - mes "[Chemirre]"; - mes "You can talk about Rune Midgard's alchemy"; - mes "without talking about the Al De Baran Alchemist Guild!"; - mes "Long Live Alchemists!"; - close; - } -} - -aldebaran,86,228,4 script Little Kid#alde 1_M_SIZ,{ - mes "[Bebe]"; - mes "A while ago I went out for a walk toward Mt. Mjolnir with my pet Savage Bebe. His name is NukNuk!"; - mes "We got attacked, but luckily we weren't hurt."; - next; - switch(select("Attacked?", "About Mt.Mjolnir", "End Conversation")) { - case 1: - mes "[Bebe]"; - mes "I was walking up a narrow path, and out of the blue, a giant and ugly plant started to attack me and NukNuk!"; - next; - mes "[Bebe]"; - mes "I was so surprised, so me and NukNuk had to run away. I threw rocks at it, but I don't think I hurt it. It must have been really strong!"; - next; - mes "[Bebe]"; - mes "What really surprised me was the plant that attacked me was a huge flower with the face of a person! So, look out for those. They're dangerous!"; - close; - case 2: - mes "[Bebe]"; - mes "Even though people are fascinated by the scenic beauty of Mt. Mjolnir, it's full of dangerous monsters!"; - next; - mes "[Bebe]"; - mes "There are Flowers, Insects, Bees, Butterflies and Moths that are big enough to kill you if you're not careful!"; - next; - mes "[Bebe]"; - mes "Then again, most of these monsters won't hurt you if you don't attack first. But some of them will attack you once they see you!"; - close; - case 3: - mes "[Bebe]"; - mes "By the way, where is my NukNuk...?"; - mes "NukNuk! Come out!"; - close; - } -} - -aldebaran,159,242,4 script Insect Guy#alde 2_M_SWORDMASTER,{ - mes "[Stromme]"; - mes "Even to a strong Swordman, the Insects or Mt. Mjolnir pose a considerable threat. You've got to know your enemy before engaging it in battle!"; - next; - if (select("About Insects", "End Conversation") == 1) { - mes "[Stromme]"; - mes "Honey Bees, Butterflies and Moths seem like simple creatures, but that doesn't mean you should underestimate them."; - next; - mes "[Stromme]"; - mes "These Insects have evolved over time, and can counter attacks from threats like you adventurers!"; - next; - mes "[Stromme]"; - mes "There are also carnivorous Insects, such as praying Spiders, praying Mantises, and the millipede like Argiopes."; - next; - mes "[Stromme]"; - mes "These monsters have mutated and are too strong for a person at certain levels. You should especially watch out for Argiopes."; - next; - mes "[Stromme]"; - mes "Luckily, their eyesight is pretty bad, so it won't notice you if you walk a safe distance away from it."; - close; - } - mes "[Stromme]"; - mes "No matter how harmless and pretty insects are,"; - mes "take heed to not touch them."; - mes "They are extremely strong unlike their innocent looking."; - mes "Don't belittle the livings in the Mt. Mjolnir."; - close; -} - -aldebaran,60,70,4 script Sylvia#alde 1_F_04,{ - mes "[Sylvia]"; - mes "I came all the way here from Prontera because I heard the Kafra Main Office was somewhere here in Al De Baran."; - next; - mes "[Sylvia]"; - mes "It shouldn't be that hard to find, but I'm awful at following directions. I always get lost, no matter how hard I try!"; - next; - mes "[Sylvia]"; - mes "If that wasn't bad enough, I left my Magnifiers back in Prontera, so now I have to find someone to help me with these weapons I've got to appraise!"; - next; - if (select("Appraise?", "That's very nice.") == 1) { - mes "[Sylvia]"; - mes "Equipment that is dropped by monsters can't be equipped right away."; - next; - mes "[Sylvia]"; - mes "If you right-click the equippable item in the Item Inventory, you'll see that it is Unidentified and that Appraisal is needed. What to do?"; - next; - mes "[Sylvia]"; - mes "Well, in that case, you've gotta use ^3355FF Magnifier^000000!"; - next; - mes "[Sylvia]"; - mes "Even without a Blacksmith, Alchemist or Merchant in your party, you can appraise your equipment! Of course, a Magnifier is consumed each time you use one..."; - close; - } - mes "[Sylvia]"; - mes "Hey..."; - mes "Was that a hint of sarcasm in your voice when you said that?"; - close; -} - -aldebaran,93,80,4 script Issei#alde 1_M_02,{ - mes "[Issei]"; - mes "Al De Baran is such a wonderful place with its romantic canals and classic architecture. I love nothing more than to stroll through this city with my beautiful girlfriend."; - next; - if (select("You have a girlfriend?", "End Conversation.") == 1) { - mes "[Issei]"; - mes "Hey..."; - mes "Is that so hard to believe?! Yeah, ask anyone! She really exists! Although, sometimes, just sometimes mind you, she gets too excited about weapons and armor."; - next; - mes "[Issei]"; - mes "I mean, instead of enjoying a romantic dinner, she'll just go on about how equipment dropped from monsters is higher quality than those sold in shops..."; - next; - mes "[Issei]"; - mes "I mean, why should I care if equipment dropped by monsters tend to have more Slots?! I can't even kill a Poring!"; - next; - mes "[Issei]"; - mes "As you can see,"; - mes "I'm a lover,"; - mes " not a fighter."; - close; - } - mes "[Issei]"; - mes "So, you don't think of me stupid, do you?"; - close; -} - -aldebaran,180,46,4 script Joo Jahk#alde 4_M_ORIENT01,{ - mes "[Joo Jahk]"; - mes "I'm a tourist"; - mes "from Payon,"; - mes "the City of Forests."; - next; - mes "[Joo Jahk]"; - mes "The tempature here in Al De Baran is very cool, probably because of the waterways. Do you think the water in the canals is drinkable?"; - next; - mes "[Joo Jahk]"; - mes "Well, it's too late for me, since I already drank some. Still, I'm a little worried..."; - next; - if (select("Continue.", "End conversation.") == 1) { - mes "[Joo Jahk]"; - mes "On one of my travels around Rune-Midgard, I've heard from a really high level Mage that physical attacks, or magic with Neutral Property, won't damage Spiritual Property monsters."; - next; - mes "[Joo Jahk]"; - mes "Maybe that advice will come in handy, now that you know that. Always remember the importance of the Properties of your skills and weapons when battling monsters."; - close; - } - mes "[Joo Jahk]"; - mes "On the other hand, the water I drank did taste pretty good. Hopefully it didn't have anything too weird in it..."; - close; -} - -aldebaran,212,122,4 script Citizen#alde 4W_M_01,{ - mes "[Gavin]"; - mes "Welcome!"; - mes "The town of"; - mes "Al De Baran"; - mes "welcomes you!"; - next; - mes "[Gavin]"; - mes "Well, that might be an exaggeration. After all, it's just me that's welcoming you."; - mes "Hey there!"; - next; - if (select("Now, tell me about monsters.", "End conversation.") == 1) { - mes "[Gavin]"; - mes "Monsters...?"; - mes "Aren't we straying off topic a little bit? Ah, you must be one of those adventurers!"; - next; - mes "[Gavin]"; - mes "Can't get your mind off the job, eh? Alright, now there was some monster that I saw just recently..."; - next; - mes "[Gavin]"; - mes "Ah, now I remember! Just a few days ago, I saw a really interesting looking monster! It was a Poring with Angel's wings!"; - next; - mes "[Gavin]"; - mes "I swear! He was jumping around somewhere near Mt. Mjolnir with some ordinary Porings. I think he was, like, their leader."; - close; - } - mes "[Gavin]"; - mes "Awww..."; - mes "Don't be too disappointed that there's only one person in your welcome wagon!"; - close; -} - -aldebaran,146,124,4 script Town Girl#alde 4W_F_01,{ - mes "[Nastasia]"; - mes "Somewhere in the world there is an ^3355FFAssassin Guild^000000, where they teach people the subtle art of assassination."; - next; - mes "[Nastasia]"; - mes "But isn't killing illegal? And do they even collect educational tutition?"; - next; - if (select("Continue conversation.", "End Conversation.") == 1) { - mes "[Nastasia]"; - mes "Although Assassins benefit from being very quick and having lots of AGI, they should still have some DEX."; - next; - mes "[Nastasia]"; - mes "DEX is especially important if you want to hit monsters with wings. Those monsters are quick moving and fast in attacking."; - next; - mes "[Nastasia]"; - mes "In general, if you want to hit monsters that are as fast, or even faster, than you are, you're going to need some DEX."; - close; - } - mes "[Nastasia]"; - mes "It's usually said that in this world, nothing is free. Still, if you don't have to pay money to learn to be an Assassin..."; - close; -} - -aldebaran,143,136,4 script Bell Keeper#A 4_M_ORIENT02,{ - mes "[Bell Keeper]"; - mes "I have been charged by the Committee of 'Heaven on Earth' to guard this entrance of the Clock Tower."; - next; - if (select("About Clock Tower.", "Quit.") == 1) { - mes "[Bell Keeper]"; - mes "Every floor of this tower is connected to each other by a certain device we like to call 'Warp Gear.'"; - next; - mes "[Bell Keeper]"; - mes "Even though there are interconnecting warps everywhere in the Clock Tower, beware the 'Random Warp.'"; - next; - mes "[Bell Keeper]"; - mes "The 'Random Warp' will transport you to an unknown spot. Be advised if you don't want to suddenly be separated from your party..."; - next; - mes "[Bell Keeper]"; - mes "Remember, Random Warps are shown in green on the mini-map. So keep your eyes peeled for that, as well as for those dangerous Clocks."; - close; - } - mes "[Bell Keeper]"; - mes "Please take heed that this Clock Tower is filled with extremely dangerous monsters."; - close; -} - -//== Inside Aldebaran ====================================== -aldeba_in,232,241,4 script RS125#alde 1_M_02,{ - mes "[RS125]"; - mes "I may sound unhuman rather robotic"; - mes "however, I hope you will not be afraid of me. I am as humane as you are."; - next; - mes "[RS125]"; - mes "I may have a machine heart and I may disturb you with loud noises from the heart,"; - mes "that will never stop me from running for future of Al De Baran."; - next; - if (select("Listen to his story.", "End Conversation") == 1) { - mes "[RS125]"; - mes "It's been 3 years already."; - mes "My brother 996 used to be a short track athlete in the Al De Baran city field team."; - mes "Back then, people gave him a nickname, 'Al De Baran's Pco Peco',"; - mes "for his amazingly fast legs..."; - next; - mes "[RS125]"; - mes "He became so popular for his exciting play,"; - mes "so everytime when the 'Al De Baran Turbo Track' was held once every 4 years,"; - mes "many people from all over the continent came to this city only to see my brother."; - mes "I was his manager at the time and I was so stressed out because of his fans."; - next; - mes "[RS125]"; - mes "However, there is nothing last forever..."; - mes "One day, a girl from Payon beat my brother from a game."; - next; - mes "[RS125]"; - mes "My brother couldn't accept the fact that he lost the game"; - mes "so he did too much of practice and had a serious heart attack."; - mes "He is still in bed."; - next; - mes "[RS125]"; - mes "I am my brother's only hope and the future of Al De Baran!"; - mes "Please wish me luck, I will beat her, 'Breezy Havana' from Payon!"; - close; - } - mes "[RS125]"; - mes "I want to travel around the world one of thesedays."; - mes "If I can see the ocean from the port of Alberta, it must be so wonderful."; - mes "After the next year's athletic competition, I will go on a round-the-world tour with my brother."; - close; -} - -aldeba_in,223,121,4 script Threatening-Looking Man 1_M_SMITH,{ - mes "[Threatening-Looking Man]"; - mes "Hey, you don't come inside someone else's house without permission."; - mes "This is ridiculous!"; - mes "How dare you to come inside of my house and talk to me as if that is a normal thing to do?"; - next; - mes "[Threatening-Looking Man]"; - mes "Hahahaha...chill out, I was just joking."; - next; - if (select("Continue", "Quit") == 1) { - mes "[Threatening-Looking Man]"; - mes "You may know this already, but"; - mes "we have a system called, the mercenary system in this world."; - mes "Yes, I am a mercenary soldier."; - next; - mes "[Threatening-Looking Man]"; - mes "It is simple. You just pay for someone to aid you in fight."; - mes "Better mercenary soldier you want, more money you have to pay, you know?"; - next; - mes "[Threatening-Looking Man]"; - mes "Let's stop talking about boring stuffs."; - mes "I will tell you how you can find a good mercenary soldier."; - next; - mes "[Threatening-Looking Man]"; - mes "Check its nose if it is clean and wet."; - mes "A good mercenary soldier must have the wet nose"; - mes "because it shows that the soldier is at his best in health condition."; - mes "If the nose is dry, that means that he caught a cold."; - next; - mes "[Threatening-Looking Man]"; - mes "And don't forget to check the soldier's ankle."; - mes "The best mercenary soldier has thin ankles and a white neck!"; - mes "If he has long hair, it's better! If the hair is permed and wavy, that's perfect!"; - next; - mes "[Threatening-Looking Man]"; - mes "Lastly, you have to check whether he is ready to serve you with quality service!"; - mes "That means, he must do his best in aiding you in fight!"; - close; - } - mes "[Threatening-Looking Man]"; - mes "Get out, now!"; - mes "If you a cop, show me a warrent,"; - mes "if you are a member of my family, prove it with your birth mark!"; - close; -} - -aldeba_in,219,61,4 script Friendly-Looking Man#ald 4_M_MANAGER,{ - mes "[Friendly-Looking Man]"; - mes "You don't have to listen to a guy right next to my room."; - mes "Two years ago, he was in a mercenary training center and fell off from a tree"; - mes "while trying to gather a nut from it."; - next; - mes "[Friendly-Looking Man]"; - mes "He keeps talking to himself loud and it gives me a headache..."; - mes "Gosh!"; - close; -} - -aldeba_in,152,47,4 script Fussy Man#alde 4W_M_01,{ - mes "[Fussy Man]"; - mes "Aaaaarrrggghhh...I AM IN TROUBLE!"; - mes "My little chicken has left me!"; - mes "Oh, my god! Oh, my god!"; - next; - if (select("What do you call the chicken?", ". . . . .") == 1) { - mes "[Fussy Man]"; - mes "I used to call it 'Amazing Picky'..."; - mes "*Sob* What should I do! How could this happen!"; - mes "Please, please help me to find my sweet little chicken!"; - next; - if (select("What? That is such a boring name!", ". . . . .") == 1) { - mes "[Fussy Man]"; - mes "Don't be so ridiculous!"; - mes "'Amazing Picky' is the most wonderful and the most unique name"; - mes "in this world, and my chicken deserves the name!"; - close; - } - mes "[Fussy Man]"; - mes "You don't care, do you?"; - mes "I am only child in my family, so I have been thinking of my little chicken as my brother!"; - mes "I want my chicken back...*Sob*"; - close; - } - mes "[Fussy Man]"; - mes "You don't care, do you?"; - mes "I am only child in my family, so I have been thinking of my little chicken as my brother!"; - mes "I want my chicken back...*Sob*"; - close; -} - -aldeba_in,156,179,4 script Master#alde 1_M_PUBMASTER,{ - mes "[Master]"; - mes "The Kafra Corporation Headquarters is located here in Al De Baran."; - mes "Do you know"; - mes "what that means?"; - next; - mes "[Master]"; - mes "That means those cute Kafra Employees come here for their lunch breaks! Isn't that great?!"; - next; - mes "[Master]"; - mes "Alright, then!"; - mes "Pop Quiz Time!"; - mes "Who's your"; - mes "favorite Kafra girl?"; - next; - if (Sex == SEX_FEMALE) { - mes "[Master]"; - mes "Oh, and don't worry. I know that girls have some kind of opinion about how pretty other girls are."; - next; - } - if (select("Awesome!", "No way, I ain't a perv.") == 1) { - mes "[Master]"; - mes "Alright, here we go!"; - mes "Choose your favorite Kafra Lady!"; - next; - mes "[Master]"; - mes "The original Kafra Mascot, the classic blue haired lady! Candidate Number One: ^3355FFPavianne^000000!"; - next; - mes "[Master]"; - mes "Her graceful ponytail takes mens' breath away! The fan favorite amongst teen males! Candidate Number Two: ^5533FFBlossom^000000!"; - next; - mes "[Master]"; - mes "Her long, straight hair, like silk from the East, is her charm point. Direct from Payon, it's Candidate Number Three: ^555555Jasmine^000000!"; - next; - mes "[Master]"; - mes "A tomboy with bright orange, shortly cut hair. Candidate Number Four: ^1133DDRoxie^000000!"; - next; - mes "[Master]"; - mes "Intelligent, sophisticated and never seen without her luxurious glasses. It's Candidate Number Five: ^33FF55Leilah^000000!"; - next; - mes "[Master]"; - mes "Pretty, cute and fresh faced. Although She looks young and immature,She's the best staff!"; - mes "Candidate Number (6) ^AAAA00Curly Sue^000000 !!"; - next; - switch(select("(1) Pavianne", "(2) Blossom", "(3) Jasmine", "(4) Roxie", "(5) Leilah", "(6) Curly Sue")) { - case 1: - mes "[Master]"; - mes "Oh~"; - mes "So you're a lover of classics. I respect that very much."; - next; - mes "[Master]"; - mes "I'll also guess that you tend to enjoy the original movie more than sequels, and dislike bad imitations. Am I right?"; - close; - case 2: - mes "[Master]"; - mes "Hmmm..."; - mes "Blossom strikes me as the girl-next-door type. So I guess that's the type of girl you're attracted to, eh?"; - close; - case 3: - mes "[Master]"; - mes "So..."; - mes "Long, luxurious hair is important to you, hmm? I suppose it such hair makes a woman look quite elegant."; - close; - case 4: - mes "[Master]"; - mes "Ah, so you tend to like active, spontaneous types. I can understand that..."; - next; - mes "[Master]"; - mes "Since Roxie isn't exactly the demure housewife type, you probably have an open mind when it comes to defining femininity, right?"; - close; - case 5: - mes "[Master]"; - mes "Ah, so you like the intellectual type. That's good, that's good."; - next; - mes "[Master]"; - mes "Still, that Leilah can be cold as stone sometimes. I've seen her shrug off many young men and crush even more hearts!"; - close; - case 6: - mes "[Master]"; - mes "Say whaaat?!"; - mes "She's too young!"; - close; - } - } - mes "[Master]"; - mes "But I worked so hard on this delightful survey! Come now, be a sport! Admiring a pretty woman is like appreciating fine art."; - close; -} - -aldeba_in,84,166,4 script Kafra Service#alde 4_F_KAFRA1,{ - cutin "kafra_01",2; - mes "[Kafra Pavianne]"; - mes "Welcome! I'm Pavianne,"; - mes "one of the senior Kafra Employees. The Kafra Corporation Service is always trying to satisfy 100 % of our customers' expectations."; - next; - mes "[Kafra Pavianne]"; - mes "Due to a change in customer support policy, we no longer accept Kafra Passes. However, we are offering refunds for our customers who still possess these passes."; - next; - if (select("Sell Kafra Pass", "Alright, bye~") == 1) { - if (countitem(Kapras_Pass) == 0) { - mes "[Kafra Pavianne]"; - mes "I'm sorry,"; - mes "but you don't"; - mes "have any Kafra Passes."; - close2; - cutin "",255; - end; - } - else { - .@kafrapassmoney = countitem(Kapras_Pass)*2000; - mes "[Kafra Pavianne]"; - mes "Let's see..."; - if (countitem(Kapras_Pass) == 1) { - mes "You have 1 Kafra Pass."; - mes "You can sell that pass to us for 2000 zeny. Would you like to sell this Kafra Pass back to the Kafra Corporation?"; - } - else { - mes "You have "+ countitem(Kapras_Pass) +" Kafra Passes."; - mes "If you want to sell them to us, you will receive "+ .@kafrapassmoney +" zeny. Would you like to sell these back to the Kafra Corporation?"; - } - next; - if (select("Yes", "No") == 1) { - if (countitem(Kapras_Pass) == 0) { - mes "[Kafra Pavianne]"; - mes "I'm sorry, but you don't have any Kafra Passes."; - close2; - cutin "",255; - end; - } - delitem Kapras_Pass,countitem(Kapras_Pass); - Zeny += .@kafrapassmoney; - mes "[Kafra Pavianne]"; - mes "Thank you."; - } - close2; - cutin "",255; - end; - } - } - mes "[Kafra Pavianne]"; - mes "Thank you,"; - mes "have a good day."; - close2; - cutin "",255; - end; -} - -aldeba_in,83,245,4 script Kafra Service#2alde 4_F_KAFRA2,{ - cutin "kafra_02",2; - mes "[Kafra Blossom]"; - mes "Welcome to the"; - mes "Kafra Corporation."; - mes "The Kafra Employees are"; - mes "always here to serve you."; - next; - mes "[Kafra Blossom]"; - mes "We appreciate your continued use of the Kafra Service. Please feel free to ask me if you have any questions."; - next; - switch(select("How does Kafra Storage work?", "How do you teleport people?")) { - case 1: - mes "[Kafra Blossom]"; - mes "Well, adventurers like yourself can place items into Kafra Storage, so that you don't have to carry all of your stuff around."; - next; - mes "[Kafra Blossom]"; - mes "Now, the Kafra Storage Window is separated into three tabs into which items are automatically sorted."; - next; - mes "[Kafra Blossom]"; - mes "The ^3355FFItem^000000, ^3355FFEquip^000000, and ^3355FFEtc^000000 tabs work just like the tabs in your character Item Inventory."; - next; - mes "[Kafra Blossom]"; - mes "Multiple items of the same type will only take up one Slot in the Item and Etc. tabs. For example, 324 Jellopies would take up only one Slot, and 22 Red Potions would take another Slot."; - next; - mes "[Kafra Blossom]"; - mes "However, in the Equip tab, each and every single item takes up its own Slot. I guess that's because each and every single equipment can be uniquely upgraded by forging or through Cards."; - next; - mes "[Kafra Blossom]"; - mes "There's a total of 300 Slots for all three item categories in the Kafra Storage, so it might be helpful to remember that."; - next; - break; - case 2: - mes "[Kafra Blossom]"; - mes "Oh, I get that question all the time. '^CC0066Oh Blossom, how do you do it?^000000' Well..."; - next; - mes "[Kafra Blossom]"; - mes "Well, I couldn't really go too much into detail, of course. That's confidential information. But I can tell you our teleportation works through a mix of magic and technology."; - next; - mes "[Kafra Blossom]"; - mes "Also, the Kafra girls alone can't teleport our customers. We just receive and process your teleportation request."; - next; - mes "[Kafra Blossom]"; - mes "Behind the scenes, skilled professionals and technicians are working 24 hours a day to ensure that you teleport quickly and safely to your destination."; - next; - break; - } - mes "[Kafra Blossom]"; - mes "Anyway, I hope you enjoy your visit here in the Kafra Corporation Headquarters."; - if (rand(1,11) == 9) { - next; - mes "[Kafra Blossom]"; - mes "..."; - next; - mes "[Kafra Blossom]"; - mes "..."; - mes "......"; - next; - mes "[Kafra Blossom]"; - mes "Oh Mansoo..."; - } - close2; - cutin "",255; - end; -} - -aldeba_in,24,245,4 script Kafra Jasmine#alde 4_F_KAFRA3,{ - cutin "kafra_03",2; - mes "[Kafra Jasmine]"; - mes "Welcome!"; - mes "The Kafra service is"; - mes "always on your side."; - next; - mes "[Kafra Jasmine]"; - mes "Thank you for coming all the way to visit us at the Kafra Corporation Headquarters here in Al De Baran!"; - next; - mes "[Kafra Jasmine]"; - mes "The Kafra Service is always behind our customers with a dependable reputation that has been established over five thousand, eight hundred years..."; - next; - switch(select("What?! I can't believe that!", "Ahh~ Shut Up!", "Your service is great!")) { - case 1: - mes "["+ strcharinfo(PC_NAME) +"]"; - mes "What?!"; - mes "I can't"; - mes "believe that!"; - next; - mes "["+ strcharinfo(PC_NAME) +"]"; - mes "FIVE THOUSAND AND EIGHT HUNDRED YEARS?! THAT'S INSANE!"; - next; - mes "[Kafra Jasmine]"; - mes "Arrrrghh! Shut up and listen! It took me a week to memorize all this! My memory isn't as good as the other Kafra Employees...!"; - next; - mes "[Kafra Jasmine]"; - mes "Now, um..."; - mes "As I was saying, the Kafra Corporation was founded eight thousand, five hundred years ago by, um, Emilio Alexander Kafra... Inventor of the word 'Kafra?'"; - next; - mes "[Kafra Jasmine]"; - mes "He..."; - mes "He was a great man. He... Argh! I can't remember!"; - next; - mes "[Kafra Jasmine]"; - mes "Oh no...!"; - mes "This can't be the right story! Five million, eight hundred years?! It's impossible!"; - break; - case 2: - mes "[Kafra Jasmine]"; - mes "Listen..."; - mes "Punk."; - next; - mes "[Kafra Jasmine]"; - mes "I was a member of the Kafra Garrison before joining the Kafra Service Team. My specialty was ^990000Magnum Break^000000, so if you know what's good for you, don't mess with me."; - next; - mes "[Kafra Jasmine]"; - mes "I'm trying my best to live as quietly and as femininely as I can, so don't make me break your knuckles! You got it?!"; - break; - case 3: - mes "[Kafra Jasmine]"; - mes "Hooray!"; - mes "That's great news to hear. We're always working hard to make sure that our customers are satisfied with the services that we provide."; - break; - } - close2; - cutin "",255; - end; -} - -aldeba_in,142,238,4 script Kafra Service#3alde 4_F_KAFRA4,{ - cutin "kafra_04",2; - mes "[Kafra Roxie]"; - mes "Welcome~!"; - mes "The Kafra Corporation will always support Rune-Midgard's adventurers with our excellent services."; - next; - mes "[Kafra Roxie]"; - mes "My name is Roxie!"; - mes "I hope you enjoy"; - mes "your visit here in"; - mes "Kafra Corporation's"; - mes "Headquarters."; - next; - mes "[Kafra Roxie]"; - mes "I'm here to answer any of your questions regarding Kafra Corporations policies, as well as take note of any of your feedback."; - next; - switch(select("Kafra Policies", "I love Kafra!")) { - case 1: - mes "[Kafra Roxie]"; - mes "So, you'd like more details on our policies and eligibility for our services? What would you like me to explain?"; - next; - switch(select("Kafra Storage", "Cart Rental", "Actually, never mind.")) { - case 1: - mes "[Kafra Roxie]"; - mes "As you probably already know, our customers must have at least Basic Skill level 6 in order to use the Kafra Storage."; - next; - mes "[Kafra Roxie]"; - mes "As for the reason for this certain policy, we've had problems with young, fresh faced Novices that would put everything into their Storage."; - next; - mes "[Kafra Roxie]"; - mes "Now you remember your days as a Novice. Everything was new and exciting, but zeny was scarce. Well, a lot of Novices would even put their weapons and armor in Kafra Storage."; - next; - mes "[Kafra Roxie]"; - mes "However, by this time, they've already spent what little zeny they had to open their Storage. But they don't have enough to access their Storage again!"; - next; - mes "[Kafra Roxie]"; - mes "So, these weaponless, armorless Novices must fight monsters with their bare hands until they gather the zeny to open their Kafra Storage again!"; - next; - mes "[Kafra Roxie]"; - mes "It's a silly mistake, to be sure, but we here at Kafra Corporation value human life, and decided on the Basic Skill Level 6 Requirement to prevent this kind of mishap."; - break; - case 2: - mes "[Kafra Roxie]"; - mes "As you may know, the Kafra Corporation has a special relationship with the Merchant Guild, as well as the Blacksmith and Alchemist guilds in Rune-Midgard."; - next; - mes "[Kafra Roxie]"; - mes "The Kafra Corporation only rents Carts to Merchants, Blacksmiths and Alchemists since these job associations have a special contract with us."; - next; - mes "[Kafra Roxie]"; - mes "Also, it'd be really impractical to rent carts out to people who couldn't create or sell goods."; - next; - mes "[Kafra Roxie]"; - mes "As for Super Novices, well, we're really not supposed to rent carts to them since the Super Novice Society in Al De Baran doesn't have a contract with us."; - next; - mes "[Kafra Roxie]"; - mes "If a Kafra Employee rented a Cart to a Super Novice, she'd probably get in big trouble with Leilah..."; - break; - case 3: - mes "[Kafra Roxie]"; - mes "Oh, alright~!"; - mes "If you have any questions,"; - mes "please let me know!"; - break; - } - break; - case 2: - mes "[Kafra Roxie]"; - mes "Thank you!"; - mes "It's great to know that we're appreciated by our customers! All of us are working hard to make sure that our service meets your standards of excellence~"; - break; - } - close2; - cutin "",255; - end; -} - -aldeba_in,91,244,4 script Kafra Service#4alde 4_F_KAFRA6,{ - cutin "kafra_06",2; - mes "[Kafra Curly Sue]"; - mes "Hello, hello!!"; - mes "I'm Curly Sue,"; - mes "the newest member"; - mes "of the Kafra Staff!"; - next; - mes "[Kafra Curly Sue]"; - mes "I may still need to learn more about serving our customers, but I'm always doing my best!"; - next; - if (select("Where's your mommy, kid?", "End conversation.") == 1) { - mes "[Kafra Curly Sue]"; - mes "Waaaaaaah~!"; - mes "I'm not a kid!"; - close2; - cutin "",255; - end; - } - mes "[Kafra Curly Sue]"; - mes "Here at Kafra Corporation, we are all doing our very best to give you the excellent service that you expect from us."; - close2; - cutin "",255; - end; -} - -//== Kafra Special Reserve Point NPCs ====================== -//- Special Reserve - -aldeba_in,79,161,6 script Kafra#04 4_F_KAFRA3,{ - cutin "kafra_03",2; - mes "[Kafra]"; - mes "Welcome, ^6666FF" + strcharinfo(PC_NAME) + "^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 you 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."; - .@page = 1; - while (true) { - if (.@page == 1) { - // Points, Item ID, amount - setarray .@choices, 100, Sweet_Potato, 7, - 200, Sweet_Potato, 15, - 300, Sweet_Potato, 25, - 400, Sweet_Potato, 35, - 500, Sweet_Potato, 50, - 600, Sweet_Potato, 60, - 700, Sweet_Potato, 75, - 800, Sweet_Potato, 85, - 900, Sweet_Potato, 100, - 1000, null, 0; - .@ordinal$ = "1st"; - .@changepage$ = "Next items"; - } else { // .@page == 2 - setarray .@choices, 1100, Sweet_Potato, 7, - 1300, Sweet_Potato, 15, - 1500, Sweet_Potato, 25, - 1700, Sweet_Potato, 35, - 1900, Sweet_Potato, 50, - 2100, Sweet_Potato, 60, - 2300, Sweet_Potato, 75, - 2500, Sweet_Potato, 85, - 2800, Sweet_Potato, 100, - 3000, null, 0; - .@ordinal$ = "2nd"; - .@changepage$ = "Previous List"; - } - .@list$ = ""; - .@numitemchoices = 0; - for (.@i = 0; .@i < getarraysize(.@choices) - 3; .@i += 3) { // Skip the last entry as it's handled separately - .@list$ += .@choices[.@i] + "- " + getitemname(.@choices[.@i+1]) + " " + .@choices[.@i+2] + " ea:"; - ++.@numitemchoices; - } - .@list$ += .@choices[.@i] + "- " + .@ordinal$ + " Lottery Chance!:" + .@changepage$ +":Cancel"; - next; - .@chosen = select(.@list$) - 1; - if (.@chosen <= .@numitemchoices) { - if (RESRVPTS < .@choices[.@chosen*3]) { - mes "[Kafra]"; - mes "I'm sorry but you do not have enough reserve points for that selection."; - continue; - } - RESRVPTS -= .@choices[.@chosen * 3]; - if (.@chosen < .@numitemchoices) { - // Item - mes "[Kafra]"; - mes "Here you are."; - getitem .@choices[.@chosen*3 + 1], .@choices[.@chosen*3 + 2]; - close; - } - // Lottery chance - mes "^0000FF"+ .@ordinal$ + " Lottery Opportunity!!^000000"; - @Lotto = .@page; - next; - callfunc "F_Lottery"; - break; - } else if (.@chosen == .@numitemchoices + 1) { // next/previous items - .@page = (.@page == 1 ? 2 : 1); - continue; - } else { // Cancel - break; - } - } - - mes "[Kafra]"; - mes "Please come back anytime when you have more reserve points."; - cutin "",255; - close; -} - -//- Special Reserve 2 - -aldeba_in,88,161,3 script Kafra#05 4_F_KAFRA3,{ - cutin "kafra_03",2; - mes "[Kafra]"; - mes "Welcome ^5577FF"+strcharinfo(PC_NAME)+"^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; - if (select("Yes I would.","Maybe next time.") == 1) { - mes "[Kafra]"; - mes "You have the following amount of special reserve points: ^5544FF"+RESRVPTS+"^000000."; - mes "Make a choice and test your luck!"; - next; - switch (select("5000pts = 1st Lottery Chance!","7000pts = 2nd Lottery Chance!","10000pts = 3rd Lottery Chance!","Cancel")) { - case 1: // 5000 - .@points = 5000; - @Lotto = 3; - break; - case 2: // 7000 - .@points = 7000; - @Lotto = 4; - break; - case 3: // 10000 - .@points = 10000; - @Lotto = 5; - break; - case 4: // Cancel - .@points = 0; - break; - } - - if (.@points) { - if (RESRVPTS < .@points) { - mes "[Kafra]"; - mes "I'm sorry dear but you do not have enough points for this selection."; - cutin "",255; - close; - } - RESRVPTS -= .@points; - callfunc "F_Lottery"; - } - } - 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 "",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) @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; - switch (@temp) { - case 0: - mes "[Kafra]"; - mes "WOW!!!!..... You win!!! 1st Prize~! Congratulations~~ You got the 1st prize~~"; - if(@Lotto == 1) getitem Wooden_Mail,1;//Items: Wooden_Mail, - if(@Lotto == 2) getitem Mantle,1;//Items: Mantle, - if(@Lotto == 3) getitem Berserk_Potion,10;//Items: Berserk_Potion, - if(@Lotto == 4) { - getitem Yggdrasilberry,2;//Items: Yggdrasilberry, - getitem Seed_Of_Yggdrasil,1;//Items: Yggdrasil_Seed, - } - if(@Lotto == 5) getitem Yggdrasilberry,3;//Items: Yggdrasilberry, - return; - case 1: - mes "[Kafra]"; - mes "Oh! WOW! You've won the 2nd prize! Congratulations!!"; - if(@Lotto == 1) getitem Shoes,1;//Items: Shoes, - if(@Lotto == 2) getitem Cap,1;//Items: Cap, - if(@Lotto == 3) getitem Sunglasses,1;//Items: Sunglasses, - if(@Lotto == 4) getitem Royal_Jelly,3;//Items: Royal_Jelly, - if(@Lotto == 5) { - getitem Seed_Of_Yggdrasil,1;//Items: Yggdrasil_Seed, - getitem Royal_Jelly,10;//Items: Royal_Jelly, - } - return; - case 2: - mes "[Kafra]"; - mes "Congratulations! You've won the 3rd prize."; - if(@Lotto == 1) getitem Wing_Of_Butterfly,4;//Items: Butterfly_Wing, - if(@Lotto == 2) getitem Blue_Potion,3;//Items: Blue_Potion, - if(@Lotto == 3) getitem Glasses,1;//Items: Glasses, - if(@Lotto == 4) getitem White_Potion,15;//Items: White_Potion, - if(@Lotto == 5) getitem White_Potion,30;//Items: White_Potion, - return; - case 3: - case 4: - mes "[Kafra]"; - mes "You've won the 4th prize."; - if(@Lotto == 1) getitem Sweet_Potato,100;//Items: Sweet_Potato, - if(@Lotto == 2) getitem Red_Potion,150;//Items: Red_Potion, - if(@Lotto == 3) getitem Orange_Potion,150;//Items: Orange_Potion, - if(@Lotto == 4) getitem Blue_Potion,5;//Items: Blue_Potion, - if(@Lotto == 5) getitem Blue_Potion,10;//Items: Blue_Potion, - return; - default: - mes "[Kafra]"; - mes "You've won the 5th prize."; - if(@Lotto == 1) getitem Sweet_Potato,50;//Items: Sweet_Potato, - if(@Lotto == 2) getitem Red_Potion,100;//Items: Red_Potion, - if(@Lotto == 3) getitem Red_Potion,200;//Items: Red_Potion, - if(@Lotto == 4) getitem Red_Potion,250;//Items: Red_Potion, - if(@Lotto == 5) getitem Red_Potion,300;//Items: Red_Potion, - return; - } - -sF_Spin: - while (true) { - mes "[Lottery Machine]"; - mes "Number of spins remaining: "+@input; - next; - mes "[Lottery Machine]"; - mes "(rumble~rumble~rumble~)..."; - next; - @temp = rand(10); - --@input; - if(@input <= 0) return; - } -} - -//== Inside Clock Tower ==================================== -c_tower3,10,249,4 script Gatekeeper#ct 4_M_02,{ - //Key_Of_Clock_Tower - callfunc "F_ClockTowerGate","4th",7026,"c_tower4",185,44; -} - -alde_dun03,264,16,4 script Gatekeeper#ct1 4W_F_01,{ - //Underground_Key - callfunc "F_ClockTowerGate","B4th",7027,"alde_dun04",79,267; -} - -function script F_ClockTowerGate { - 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 "+getarg(0)+" Floor,"; - mes "Please go back."; - next; - switch(select("About Clock Tower", "About the "+getarg(0)+" Floor", "Move to the "+getarg(0)+" Floor", "End Dialogue")) { - case 1: - 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 Clocktower "; - 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; - case 2: - 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 disapeared."; - next; - mes "[Gatekeeper Boy]"; - mes "If that key"; - mes "Comes into your porssession,"; - mes "Please show me."; - mes "The one who possesses the Key"; - mes "Will have access to go through"; - mes "This Gate with his own will!"; - next; - mes "[Gatekeeper Boy]"; - mes "I will give you a chance."; - mes ". . . . ."; - close; - case 3: - if (countitem(getarg(1)) > 0) { - mes "[Gatekeeper Boy]"; - 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 .."; - close2; - delitem getarg(1),1; - warp getarg(2),getarg(3),getarg(4); - end; - } - else { - mes "[Gatekeeper Boy]"; - 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; - } - case 4: - 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 deleted file mode 100644 index fd3e66629..000000000 --- a/npc/cities/amatsu.txt +++ /dev/null @@ -1,615 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2015 Hercules Dev Team -//= Copyright (C) rAthena Dev Team -//= Copyright (C) Euphy -//= Copyright (C) eAthena Dev Team -//= Copyright (C) L0ne_W0lf -//= Copyright (C) Evera -//= Copyright (C) Silent -//= Copyright (C) MasterOfMuppets -//= Copyright (C) Skotlex -//= Copyright (C) Nexon -//= Copyright (C) Lupus -//= Copyright (C) massdriller -//= Copyright (C) Darkchild -//= Copyright (C) Valaris -//= Copyright (C) dj -//= Copyright (C) Makenshi -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Amatsu Town -//================= Description =========================================== -//= Amatsu Town Script -//================= Current Version ======================================= -//= 1.4 -//========================================================================= - -//= Amatsu Transportation ================================== -- script ::Sea_Captain_amatsu FAKE_NPC,{ - mes "[Walter Moers]"; - mes "Hey, there."; - mes "Have you ever heard that there"; - mes "are totally different countries"; - mes "than the Rune-Midgard Kingdom?"; - next; - switch(select("About Amatsu...", "Go to Amatsu", "Cancel")) { - case 1: - mes "[Walter Moers]"; - mes "I heard that a drifting ship"; - mes "accidentally discovered it..."; - mes "The ship was totally destroyed"; - mes "by a raging storm in heavy fog."; - mes " "; - next; - mes "[Walter Moers]"; - mes "Anyway, the ship was wrecked"; - mes "on the beach. It was there"; - mes "he arrived at a town called Amatsu."; - next; - mes "[Walter Moers]"; - mes "The towners took pity on him"; - mes "and took care of his wounds."; - mes "He lived there until he finished making a map."; - next; - mes "[Walter Moers]"; - mes "He passed away when he returned"; - mes "to Rune-Midgard. Fortunately,"; - mes "the map was given to our king, Tristan III."; - next; - mes "[Walter Moers]"; - mes "King Tristan III announced"; - mes "that he would reward any"; - mes "person brave enough to venture to Amatsu, and spread copies of this map."; - next; - mes "[Walter Moers]"; - mes "Many brave and adventurous"; - mes "sea captains took the"; - mes "challenge. Great fortune could"; - mes "be made in trade with Amatsu, as well as the rewards from King Tristan III..."; - next; - mes "[Walter Moers]"; - mes "However, they all failed!"; - mes "To overcome various currents"; - mes "and bad weather, lots of"; - mes "experience is required. But they were all blinded by their greed..."; - next; - mes "[Walter Moers]"; - mes "Finally, a great man discovered"; - mes "the perfect sealane to Amatsu..."; - mes "Right! That is me. Sir Walter"; - mes "Moers. I started the trade with Amatsu! Hahaha! Well, that's all about Amatsu."; - next; - mes "[Walter Moers]"; - mes "I made good money from trades"; - mes "for years, and now I'm interested"; - mes "in tourism. If you want to go to Amatsu, let me know~!"; - close; - case 2: - mes "[Walter Moers]"; - mes "Oh yeah? It's a long way to"; - mes "Amatsu. That's why we are"; - mes "charging a fare. You don't think that crossing oceans and currents is easy, do you?"; - next; - mes "[Walter Moers]"; - mes "10,000 zeny for a round-trip! I've"; - mes "got a stately room in a sturdy and"; - mes "safe trade ship for you. It is a "; - mes "reasonable fare when you consider"; - mes "that this isn't a one way trip."; - next; - mes "[Walter Moers]"; - mes "Shall we go now? You didn't forget"; - mes "the fare, right? Let's go."; - next; - if (select("All Aboard!", "Cancel") == 1) { - if (Zeny > 9999) { - mes "[Walter Moers]"; - mes "Alright, I will start the engine!"; - close2; - Zeny -= 10000; - warp "amatsu",197,83; - end; - } - mes "[Walter Moers]"; - mes "Were you even listening to me?"; - mes "10,000 zeny. If you got"; - mes "nothing, find some treasure"; - mes "somewhere, like in a wrecked ship...Show me the money!"; - close; - } - mes "[Walter Moers]"; - mes "If you are an adventurer,"; - mes "this is a great chance"; - mes "to experience a different culture...Well, it is up to you."; - close; - case 3: - mes "[Walter Moers]"; - mes "If you are tired of your daily"; - mes "life, take a trip to a distant"; - mes "country across the ocean."; - mes "Someplace like, oh I don't know, Amatsu~"; - close; - } -} - -amatsu,194,79,5 script Sea Captain#ama2 4_M_SEAMAN,{ - mes "[Walter Moers]"; - mes "You came... Did you enjoy"; - mes "your trip to Amatsu...?"; - mes "Alright, I will take you"; - mes "back to Alberta."; - next; - if (select("Back to Alberta", "Cancel") == 1) { - mes "[Walter Moers]"; - mes "Let's go then. You must have"; - mes "so many things to talk about,"; - mes "right? All aboard now."; - close2; - if (RENEWAL) - warp "alberta",244,72; - else - warp "alberta",243,91; - end; - } - mes "[Walter Moers]"; - mes "Well, take your time."; - mes "The ship to Alberta is"; - mes "always ready to depart..."; - close; -} - -//== Generic Amatsu NPCs =================================== -amatsu,230,160,3 script Well-side Maiden#ama 4_F_JPN2,{ - mes "[Yuuko]"; - mes "I usually come to this well to"; - mes "draw water, but never when it's"; - mes "foggy or rainy. For some reason"; - mes "whenever the weather is a"; - mes "certain way, I feel like..."; - next; - mes "[Yuuko]"; - mes "...someone...or some thing is"; - mes "struggling to crawl out from"; - mes "the bottom of this well..."; - mes "It really gives me the creeps."; - close; -} - -amatsu,179,107,4 script John#ama 4_M_04,{ - mes "[John]"; - mes "Yo~"; - mes "You're not from around here."; - mes "Heh, another outsider."; - mes "Just like me..."; - next; - mes "[John]"; - mes "It's been five long years"; - mes "since I've started doing"; - mes "business here..."; - next; - mes "[John]"; - mes "Af first, I thought, 'What"; - mes "a great chance!' when the"; - mes "trade between the Rune-Midgard"; - mes "Kingdom and Amatsu started."; - next; - mes "[John]"; - mes "I wanted to do something great"; - mes "and make the most of this"; - mes "new opportunity."; - next; - mes "[John]"; - mes "And so, I decided to go to"; - mes "Amatsu so I could learn to make"; - mes "Amatsu cuisine. Then, I could"; - mes "return to my hometown and make"; - mes "this exotic food for everyone."; - next; - mes "[John]"; - mes "But, I fell in love with Amatsu"; - mes "and I ended up sticking around"; - mes "here for the last five years."; - mes "During all that time, I've"; - mes "been learning Amatsu cuisine,"; - next; - mes "[John]"; - mes "and cooking these dishes for"; - mes "the towners, and enjoying myself"; - mes "by talking to the locals,"; - mes "transfixed in this very spot."; - next; - mes "[John]"; - mes "But recently, across the street,"; - mes "the Sushi Master opened his shop."; - mes "..."; - mes "Now, my only customers are flies."; - next; - mes "[John]"; - mes "I was hoping to fulfill my"; - mes "dream of becoming a renowned chef"; - mes "in Amatsu, but..."; - mes "I guess it's over..."; - close; -} - -amatsu,205,163,3 script Mimi#ama 4_F_JPNCHIBI,{ - mes "[Mimi]"; - mes "Puhuhu~!"; - mes "Did you see Miss Amatsu near"; - mes "the Harbor? Isn't she"; - mes "preeeetty?"; - next; - mes "[Mimi]"; - mes "I'm going to enter the Miss"; - mes "Amatsu Contest when I'm older."; - next; - mes "[Mimi]"; - mes "I'm sure that I'm the prettiest"; - mes "in this town but..."; - mes "A lady can always use a little more makeup."; - close; -} - -amatsu,185,115,3 script Drunken Man#ama 4_M_JPNOJI2,{ - mes "[Kosake]"; - mes "*Hiccup*...My wife is just like,"; - mes "...like a man...*Hiccup*..."; - mes "I'm going to really...*Hiccup*...not go home this time...Hiccup"; - next; - if (select("Stop drinking and go home", "Let's drink together") == 1) { - mes "[Kosake]"; - mes "What?! Do you want me to get"; - mes "hit by my wife's big fist?"; - mes "That's right! I said 'big fist!'"; - next; - mes "[Kosake]"; - mes "Sad to say, I married a woman"; - mes "with man hands..."; - mes "Big, strong hands that can kill a tiger."; - next; - mes "[Druken Man]"; - mes "It was in Ko...Koko-something"; - mes "town. She hit me because I"; - mes "lost some money...*Hiccup*"; - next; - mes "[Druken Man]"; - mes "Life~~ is~~ nothing~~~"; - mes "What is zeny~~~~ "; - mes "*Hiccup*...... *Hiccup*......."; - mes "......................."; - mes "........Z.z..z...zzz..."; - close; - } - mes "[Kosake]"; - mes "Heh heh... nice lad..."; - mes "But you know *Hiccup*"; - mes "I can't give you any of mine! Heheheh..."; - next; - mes "[Kosake]"; - mes "If you buy me a drink, I will think about it...Hehehe...*Hiccup*.."; - close; -} - -amatsu,217,179,1 script Grandma#ama 4_F_JPNOBA2,{ - mes "[Hatsue]"; - mes "I'm worried about my husband."; - mes "He lost a lot of money in some distant town today."; - next; - mes "[Hatsue]"; - mes "I got so mad at him, he ran off in"; - mes "fear! I'm worried...what if he"; - mes "went to the bar and starts drinking again? The man just doesn't have any backbone. *Phew*"; - close; -} - -amatsu,287,266,3 script Jyaburo#ama 4_M_JPNOJI,{ - mes "[Jyaburo]"; - mes "This place is special to me."; - mes "It's filled with memories of my wife."; - next; - mes "[Jyaburo]"; - mes "It was under that big tree where"; - mes "I first told her I loved her. At"; - mes "the time, I really didn't know that she also had feelings for me."; - next; - mes "[Jyaburo]"; - mes "After that day, we had many"; - mes "conversations here. Quiet"; - mes "and peaceful, this was our"; - mes "favorite place to be together."; - next; - mes "[Jyaburo]"; - mes "When I close my eyes here, I"; - mes "can picture our good times,"; - mes "and it feels like it all happened yesterday."; - mes "..."; - next; - mes "[Jyaburo]"; - mes "My wife passed away..."; - mes "So now I only come here by"; - mes "myself...But I feel like I'm with her whenever I'm here."; - next; - mes "[Jyaburo]"; - mes "Do you have anyone that you"; - mes "think about? If you have a"; - mes "special someone, don't hesitate"; - mes "or hold back. Be sure to treat"; - mes "that person specially."; - next; - mes "[Jyaburo]"; - mes "Human beings live such short"; - mes "lives. But we're able to laugh"; - mes "throughout life and forget the"; - mes "sadness."; - mes "...Always be happy."; - close; -} - -//== Legendary Tree ======================================== -amatsu,269,221,1 script Propose Girl#ama 4_F_JPN,{ - jap_tree = 1; - mes "[Hutari Shioko]"; - mes "It is a pleasure to meet you."; - mes "My name is Hutari Shioko."; - mes "My hobby is listening to music."; - mes "I'm an avid fan of classical music."; - next; - mes "[Hutari Shioko]"; - mes "There is an old story about"; - mes "the hill in our town."; - mes "Have you heard this story before?"; - next; - mes "[Hutari Shioko]"; - mes "It is said that if you propose"; - mes "under that tree, you and your"; - mes "lover will live a happy life for all eternity."; - next; - mes "[Hutari Shioko]"; - mes "However, the proposal can not be"; - mes "done at any given time. The legend states that it can only be done on Saturday evenings."; - next; - mes "[Hutari Shioko]"; - mes "After the proposal, the reply must"; - mes "be answered before Sunday evening. This is the most crucial part of it."; - next; - emotion e_lv2; - mes "[Hutari Shioko]"; - mes "If you like someone..."; - mes "You should try proposing"; - mes "under that tree. I'm sure "; - mes "happy things will happen, if you do."; - close; -} - -amatsu,243,202,3 script Drama Teacher#ama 4_F_JPNOBA2,{ - jap_tree = 2; - mes "[Garakame sensei]"; - mes "This is a beautiful place"; - mes "with everlasting cherry blossoms."; - mes "Also, this town is the origin of"; - mes "legendary play, 'White Dryad.' "; - next; - if (Sex == SEX_MALE) { - mes "[Garakame sensei]"; - mes "If you know a girl who is"; - mes "talented in acting, please"; - mes "bring her to me. I have been"; - mes "searching for a girl who could"; - mes "play the role as the 'White Dryad.'"; - next; - mes "[Garakame sensei]"; - mes "The 'White Dryad' is a nymph of"; - mes "cherry tree... It has been hard to"; - mes "find a girl who can perform"; - mes "as the 'White Drayd...'"; - close; - } - emotion e_gasp; - mes "[Garakame sensei]"; - mes "Are you interested in acting?"; - mes "I need someone who sees"; - mes "the passion in acting and"; - mes "can understand my vision."; - next; - mes "[Garakame sensei]"; - mes "When you stand on the stage,"; - mes "you need to become the"; - mes "character. Your acting needs"; - mes "to touch the hearts of the"; - mes "audience and touch their souls."; - next; - mes "[Garakame sensei]"; - mes "Everyone's life is like a "; - mes "drama, right? Enjoy your life"; - mes "as what you are and find me"; - mes "someday when you are ready."; - close; -} - -amatsu,283,203,1 script Bonubonu#ama1 SEE_OTTER,{ - end; -} - -amatsu,283,203,1 script Bonubonu#ama2 HIDDEN_NPC,{ - jap_tree = 3; - emotion e_swt2; - mes "[Bonubonu]"; - mes "That tree on the hill is"; - mes "a very old tree. It is a big"; - mes "cherry tree with everlasting blossoms."; - next; - emotion e_swt2; - mes "[Bonubonu]"; - mes "There is something about this"; - mes "tree that makes me forget about"; - mes "all the troubles in my life when I sit under it."; - next; - emotion e_swt2; - mes "[Bonubonu]"; - mes "Everything about this tree is"; - mes "simply wonderful..."; - mes "I can't really describe how"; - mes "I feel when I look at it..."; - mes "It just leaves me breathless..."; - next; - emotion e_swt2; - mes "[Bonubonu]"; - mes "You should visit the tree and"; - mes "spend some time there."; - mes "It is really a miraculous and gracious tree..."; - close; -} - -amatsu,274,178,7 script Veterinarian#ama 4_M_JOB_WIZARD,{ - jap_tree = 4; - mes "[Sakura Seiichi]"; - mes "Ah... I'm not a weirdo so"; - mes "don't panic. I'm just an ordinary"; - mes "veterinarian. My job is curing"; - mes "sick animals."; - mes " "; - next; - mes "[Sakura Seiichi]"; - mes "By the way... Do you know?"; - mes "The story about the cherry tree"; - mes "on the hill...I guess you haven't heard about it..."; - next; - mes "[Sakura Seiichi]"; - mes "That tree has a secret of"; - mes "keeping its beauty and whiteness."; - mes "The secret is..."; - mes "There are corpses buried under..."; - mes "that tree..."; - next; - if (select("How horrible!", "You have got to be kidding.") == 1) { - mes "[Sakura Seiichi]"; - mes "Kuhuhu... They could be..."; - mes "By the way, do you want"; - mes "make a bet on it...?"; - next; - emotion e_dots; - mes "[Sakura Seiichi]"; - mes "If I.........."; - mes "............"; - mes "........."; - next; - mes "^3355FFHis voice was getting lower"; - mes "and lower as the wind blew."; - mes "Finally, I couldn't even hear his voice. I can't even recall what he was trying to tell me...^000000"; - close; - } - mes "[Sakura Seiichi]"; - mes "I can't help it if you think that way. But one day, you too could be buried underneath..."; - next; - emotion e_dots; - mes "[Sakura Seiichi]"; - mes "Haha... Hahaha....."; - mes "..............."; - mes "..........."; - next; - mes "^3355FFHis laugh was getting lower"; - mes "and lower as the wind blew."; - mes "Finally, I couldn't even hear anything. I can't even recall what he was trying to tell me...^000000"; - close; -} - -amatsu,262,197,1 script Legendary Tree HIDDEN_NPC,{ - if (jap_tree == 1) { - mes "^3355FFAs she mentioned, this tree"; - mes "seems to be a famous place"; - mes "for proposing lovers."; - mes "There were several carved symbols"; - mes "of hearts and initials of lovers"; - mes "on the bark.^000000"; - next; - mes "^3355FFBesides proposals, people"; - mes "gather under this tree when"; - mes "they discuss important"; - mes "matters. I could listen to"; - mes "all kinds of stories"; - mes "in this magnificent place.^000000"; - close; - } - else if (jap_tree == 2) { - mes "^3355FFThe legendary play, 'White Dryad'....."; - mes "I never heard about that title but"; - mes "it sounds familiar."; - mes "Nymph of cherry tree... What would"; - mes "be her position in the play?^000000"; - next; - if (Sex == SEX_MALE) { - mes "^3355FFI would like to find"; - mes "a person who is talented"; - mes "in acting and help her until"; - mes "she performs the play. However,"; - mes "it seems to be easier said than done.^000000"; - close; - } - mes "^3355FFI might have talent in"; - mes "acting which hasn't been discovered yet. I thought, 'If I dress up, I should perform as the 'White Dryad...'^000000"; - close; - } - else if (jap_tree == 3) { - mes "^3355FFUnlike other cherry trees,"; - mes "this tree has a strong fragnance."; - mes "I just fell into a relaxed"; - mes "mood. The fragnance eased"; - mes "my burdens and I felt"; - mes "very comfortable.^000000"; - next; - mes "^3355FFIt was just for a few moments"; - mes "but I could forget the"; - mes "burdens of life. I wish to"; - mes "come back again and"; - mes "sit under this tree...^000000"; - close; - } - else if (jap_tree == 4) { - mes "^3355FFThis strong fragnance"; - mes "is making me dizzy. Not like"; - mes "other cherry trees, this tree's"; - mes "shimmering white petals"; - mes "felt strange.^000000"; - next; - mes "^3355FFIt feels as if my soul is"; - mes "being drained if I stay here"; - mes "longer. After a glimpse of"; - mes "the cherry tree, I thought to"; - mes "mayself, 'I must get out of here quickly.'^000000"; - close; - } - mes "^3355FFThere was a cherry tree"; - mes "on the hill. It doesn't look"; - mes "like the other trees."; - mes "This tree seems to have"; - mes "a long history...^000000"; - next; - mes "^3355FFAre there any people"; - mes "who live here? I took"; - mes "a look around and found"; - mes "someone down the hill."; - mes "I better ask her about this tree.^000000"; - close; -} diff --git a/npc/cities/ayothaya.txt b/npc/cities/ayothaya.txt deleted file mode 100644 index 79e3f8c13..000000000 --- a/npc/cities/ayothaya.txt +++ /dev/null @@ -1,319 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2015 Hercules Dev Team -//= Copyright (C) Euphy -//= Copyright (C) Lupus -//= Copyright (C) L0ne_W0lf -//= Copyright (C) Evera -//= Copyright (C) Silent -//= Copyright (C) MasterOfMuppets -//= Copyright (C) ZoDIaC -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Ayotaya Town -//================= Description =========================================== -//= Ayotaya Town Script -//================= Current Version ======================================= -//= 1.9 -//========================================================================= - -//== Ayothaya Transportation =============================== -- script ::Aibakthing_ayothaya FAKE_NPC,{ - mes "[Aibakthing]"; - mes "Hoo! Hah! Hoo! Hah!"; - mes "Let me take you away to"; - mes "a distant spiritual place,"; - mes "a land of exotic mystery,"; - mes "my hometown Ayotaya!"; - next; - switch(select("About Ayotaya.", "Go to Ayotaya.", "Cancel.")) { - case 1: - mes "[Aibakthing]"; - mes "We Ayotayans 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, Lemon 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"; - mes "call of this beautiful land."; - mes "Rune-Midgardians are"; - mes "always welcome!"; - close; - case 2: - mes "[Aibakthing]"; - mes "Ah, you must pay 10,000 Zeny"; - mes "if you wish to visit Ayotaya."; - mes "If you're ready, we can leave"; - mes "right now~"; - next; - if (select("I'm ready, let's go!", "No.") == 1) { - if (Zeny > 9999) { - mes "[Aibakthing]"; - mes "Hoo! Hah! Hoo! Hah!"; - mes "Let us be off! Back to my"; - mes "beautiful Ayotaya!"; - close2; - Zeny -= 10000; - warp "ayothaya",149,71; - end; - } - mes "[Aibakthing]"; - mes "I am sorry, but you do not have the 10,000 Zeny to travel to Ayotaya. Such a price is nothing compared to the experiences that await you!"; - close; - } - mes "[Aibakthing]"; - mes "Have you ever dreamed"; - mes "of a beautiful place filled"; - mes "with spiritual serenity? You"; - mes "must have been dreaming"; - mes "of Ayotaya, my friend."; - close; - case 3: - mes "[Aibakthing]"; - mes "Have you ever dreamed"; - mes "of a beautiful place filled"; - mes "with spiritual serenity? You"; - mes "must have been dreaming"; - mes "of Ayotaya, my friend."; - close; - } -} - -ayothaya,152,68,1 script Aibakthing#ayo2 4_M_THAIONGBAK,{ - mes "[Aibakthing]"; - mes "Hoo! Hah! Hmm! Hah!"; - mes "So, how did you like Ayotaya? Did you get a chance to try Tom Yum Goong? When you're ready, I shall take you back home."; - next; - if (select("Go back to Alberta.", "Cancel.") == 1) { - mes "[Aibakthing]"; - mes "You will be welcome to come back whenever you please. I hope that we will see each other again sometime soon. Thank you~"; - close2; - if (RENEWAL) - warp "alberta",235,45; - else - warp "alberta",238,22; - end; - } - mes "[Aibakthing]"; - mes "Ah yes. I understand that it is difficult to take leave of such a beautiful place. Do not worry"; - mes "and take your time."; - close; -} - -//== Generic Ayothaya NPCs ================================= -ayothaya,189,120,3 script Young Man#Thang 4_M_THAIONGBAK,{ - mes "[Thang]"; - mes "There's an ancient,"; - mes "dreadful building in"; - mes "Ayotaya that no one"; - mes "here dares approach..."; - next; - mes "[Thang]"; - mes "In the past, a few curious people went inside, despite the horror stories, and never returned. What on earth could be going on inside of that place?"; - next; - mes "[Thang]"; - mes "However, if you want to prove your courage to others, confronting the danger inside might be a worthy challenge for an adventurer..."; - mes "I think."; - close; -} - -ayothaya,171,152,5 script Girl#Lalitha 4_F_THAIAYO,{ - .@sit = rand(1,5); - if (.@sit > 0 && .@sit < 3) { - mes "[Lalitha]"; - mes "Hello!"; - mes "I don't think"; - mes "we've met before."; - next; - mes "[Lalitha]"; - mes "You must be"; - mes "from Rune-Midgard."; - mes "After all, I know every single person living in this village."; - mes "Heh heh~"; - next; - mes "[Lalitha]"; - mes "Hmm..."; - mes "May I ask about the land you"; - mes "come from? I'm curious about"; - mes "a lot of things in the outside world."; - next; - mes "[Lalitha]"; - mes "You know, like the dresses and jewelry that ladies wear in other countries, whether or not the men are good looking, what kind of songs you have, what kind of girls that guys over there like..."; - emotion e_what; - next; - mes "[" +strcharinfo(PC_NAME)+ "]"; - mes "........."; - next; - mes "[Lalitha]"; - mes ".........."; - emotion e_swt; - next; - mes "[Lalitha]"; - mes "Okay~!"; - mes "Take care and"; - mes "enjoy your travels!"; - close; - } - else if (.@sit > 2 && .@sit < 6) { - mes "[Lalitha]"; - mes "When you go East from this"; - mes "village, you will arrive at the ruins of an old shrine. It is now"; - mes "a nest full of fearsome monsters."; - next; - mes "[Lalitha]"; - mes "If you plan to venture through these ruins, you better prepare"; - mes "as much as you can!"; - next; - mes "[Lalitha]"; - mes "Ah..."; - mes "I wonder where"; - mes "my Black Knight is~"; - emotion e_lv; - next; - mes "["+strcharinfo(PC_NAME)+"]"; - mes "Don't you mean..."; - mes "Knight in shining armor"; - mes "riding a white horse?"; - next; - mes "[Lalitha]"; - mes "Hmm...?"; - mes "Oh, well..."; - mes "I'll take them both!"; - mes "Hee hee~!"; - close; - } - mes "[Lalitha]"; - mes "Mmm...?"; - mes "What's up?"; - close; -} - -ayothaya,143,102,5 script Old Man#ayothaya 4_M_THAIOLD,{ - mes "[Villager]"; - mes "Ummm."; - mes "Hmmmmm..."; - mes "Ummmmm...?"; - next; - mes "[Villager]"; - mes "You must be"; - mes "an outsider."; - mes "Yes. Yes, indeed."; - next; - mes "[Villager]"; - mes "Did you just ask"; - mes "where am I going?"; - mes "Why, to the Fishing Spot"; - mes "just ahead. That's what"; - mes "we old men do: fish."; - next; - mes "[Villager]"; - mes "Hmmm..."; - mes "Would you like to hear"; - mes "something interesting? I've heard that someone found a ring inside"; - mes "a fish he caught in the"; - mes "Fishing Spot."; - next; - mes "[Villager]"; - mes "Supposedly, there are lots of stories about people finding valuables inside of the fish they've been catching there."; - next; - mes "[Villager]"; - mes "If you're lucky enough,"; - mes "you might even become"; - mes "a millionaire."; - mes "Heh heh heh~"; - next; - mes "[Villager]"; - mes "...!?"; - mes "Ah, I came into the fish market! ^666666*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"; - mes "a bad idea to look around. All of the seafood in this market is fresh and tasty. You'll regret it if you don't try some of this seafood"; - mes "at least once."; - close; -} - -ayothaya,197,189,5 script Young Man#1ayothaya 4_M_THAIAYO,{ - 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'd better be really careful if you travel outside of the village. Whatever you do, don't go into"; - mes "the ruins of an old shrine"; - mes "in the forest."; - next; - mes "[Kwan]"; - mes "That place is far too"; - mes "dangerous to visit. Still, I hear that if you had some kind of amulet, you could go there with"; - mes "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 Ayotaya, and that you keep safe~"; - close; -} - -ayothaya,214,142,5 script Young Man#5ayothaya 4_M_THAIONGBAK,{ - mes "[Detzi]"; - mes "In Ayotaya, 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 your travels."; - close; -} - -ayothaya,241,264,5 script Young Man#5ayothaya2 4_M_THAIONGBAK,{ - mes "[Eik]"; - mes "Hey..."; - mes "You look pretty strong"; - mes "You wanna challenge"; - mes "me to a match?"; - next; - if (select("Sure!", "Nah~") == 1) { - 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 with strangers for no reason!"; - emotion e_wah; - close; - } - mes "[Eik]"; - mes "Real power is developed after having thousands of matches with other people. So, don't be afraid of fighting, okay?"; - emotion e_pif; - close; -} diff --git a/npc/cities/comodo.txt b/npc/cities/comodo.txt deleted file mode 100644 index d60278abd..000000000 --- a/npc/cities/comodo.txt +++ /dev/null @@ -1,485 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2015 Hercules Dev Team -//= Copyright (C) rAthena Dev Team -//= Copyright (C) Euphy -//= Copyright (C) eAthena Dev Team -//= Copyright (C) L0ne_W0lf -//= Copyright (C) Evera -//= Copyright (C) Silent -//= Copyright (C) Nexon -//= Copyright (C) massdriller -//= Copyright (C) Lupus -//= Copyright (C) kobra_k88 -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Comodo Town -//================= Description =========================================== -//= Comodo Town NPCs -//================= Current Version ======================================= -//= 2.0 -//========================================================================= - -//== Inside Comodo ========================================= -cmd_in02,73,81,4 script Martine#cmd 1_M_02,{ - mes "[Martine]"; - mes "Gambling...? The games"; - mes "provided here in the Comodo"; - mes "Casino are a higher form of"; - mes "entertainment than gambling."; - mes "Do you know what I mean?"; - next; - mes "[Martine]"; - mes "Granted, I did lose"; - mes "all of my zeny playing"; - mes "in this Casino, but I have"; - mes "no regrets. I'll simply earn"; - mes "more money, then blow it all"; - mes "again. Or I just might win big!"; - next; - mes "[Martine]"; - mes "Bwahahahaahah~!"; - mes "Yes, I can only lose so"; - mes "many times until I hit the"; - mes "jackpot! You see, you see?"; - mes "I'm playing the freakin' odds."; - close; -} - -cmd_in02,48,55,4 script Scoursege#cmd 1_M_BARD,{ - mes "[Scoursege]"; - mes "Damn it! Where did that"; - mes "guy go? He promised me that"; - mes "he'd easily double my money!"; - mes "Wait. Oh, wait. Oh... Oh no..."; - next; - mes "[Scoursege]"; - mes "Don't tell me that I just got"; - mes "conned out of my money!"; - mes "Oh no! Still, I better report"; - mes "this to the proper authorities,"; - mes "no matter how ashamed I feel..."; - close; -} - -cmd_in02,64,43,4 script Roberto#cmd 4_M_SEAMAN,{ - mes "[Roberto]"; - mes "Heh heh heh..."; - mes "Whaaaat a gullible"; - mes "guy. I took his money"; - mes "so easily! I mean, I didn't"; - mes "even come up with that great"; - mes "of a lie, and he gave it to me!"; - close; -} - -cmd_in02,89,72,4 script Deniroz#cmd 4_M_ORIENT02,{ - mes "[Deniroz]"; - mes "All I need is for this"; - mes "little steel bead to fall"; - mes "into the right hole. Then,"; - mes "I'll win the jackpot. Alright."; - mes "Here goes. One last time..."; - next; - mes "[Deniroz]"; - mes "No! No, I was so close!"; - mes "Alright, next time I should"; - mes "be even closer, right? Yeah."; - mes "Okay, this time will be the"; - mes "last time. Not again! Alright,"; - mes "j-just one more t-time..."; - close; -} - -cmd_in02,178,92,4 script Shalone#cmd 4W_F_01,{ - mes "[Shalone]"; - mes "Oh, I'm sorry, sir,"; - mes "but it looks like you"; - mes "lost again. Maybe you"; - mes "should quit for now..."; - mes "You've been having quite"; - mes "a run of really bad luck..."; - close; -} - -cmd_in02,178,86,4 script Stonae#cmd 4W_M_02,{ - mes "[Stonae]"; - mes "N-no..."; - mes "I lost again?!"; - mes "But I can't quit like"; - mes "this! I'm gonna keep"; - mes "going, and I'm gonna"; - mes "leave this place a winner!"; - close; -} - -cmd_in02,172,105,4 script G . J#cmd 4_M_04,{ - mes "[G . J]"; - mes "The more I think about it,"; - mes "it seems easier to become"; - mes "rich by working, saving, and"; - mes "making wise investments than"; - mes "to, you know... Rely on some"; - mes "kind of huge jackpot prize."; - next; - mes "[G . J]"; - mes "Gambling seems fun, but"; - mes "it seems smarter to make"; - mes "money in other ways. Sure,"; - mes "working hard is no fun, but"; - mes "there are ways to use your money to make more of it, right?"; - next; - mes "[G . J]"; - mes "There's also the matter of"; - mes "being smart and responsible"; - mes "about your money--I mean, you're more likely to blow all your cash"; - mes "if you win it, right? Yeah, you"; - mes "gotta be wise about it all..."; - close; -} - -cmd_in02,174,126,4 script Loyar#cmd 4_M_01,{ - mes "[Loyar]"; - mes "Comodo Casino's interior"; - mes "design is so pleasing to the"; - mes "eyes, so clean and simple."; - mes "The atmosphere here is perfect,"; - mes "and it makes me want to play "; - mes "some more. Alright, let's go!"; - next; - switch(rand(1,3)) { - case 1: - mes "[Loyar]"; - mes "Hmm... Maybe I better"; - mes "go home soon. I didn't"; - mes "spend all the money that"; - mes "I set aside for gambling"; - mes "quite yet, but it's not a good"; - mes "idea to stay out too long."; - close; - case 2: - mes "[Loyar]"; - mes "I have to admit, the"; - mes "atmosphere of this place"; - mes "is exciting and addictive."; - mes "Even when you're tired, the"; - mes "energy of this place just"; - mes "gets into you, you know?"; - next; - mes "[Loyar]"; - mes "Although this kind of place"; - mes "may encourage people with"; - mes "serious gambling problems,"; - mes "it's much nicer to gamble"; - mes "here than in a place that's"; - mes "dirtier and more questionable."; - close; - case 3: - mes "[Loyar]"; - mes "Whoa whoa whoa..."; - mes "Why did that guy make"; - mes "that bet? What an amateur..."; - mes "Er, I guess you don't know"; - mes "too much about this game."; - mes "As for me, I'm just a fan~"; - next; - mes "[Loyar]"; - mes "I'm a big fan of a lot"; - mes "of these games, but I'll"; - mes "admit that I'm an even bigger"; - mes "fan of winning! Still, I have"; - mes "enough sense to stay out of"; - mes "those high stakes games."; - close; - } -} - -cmd_in02,57,62,4 script Moo#cmd 4_M_MANAGER,{ - mooz = rand(1,10); - if (mooz == 1) { - mes "[Moo]"; - mes "Those cheating punks!"; - mes "They'll never show their"; - mes "faces here again: otherwise"; - mes "they're gonna hafta get new"; - mes "ones! Oh--Sorry, I didn't"; - mes "see you there~ Hahahaha~"; - close; - } - else { - mes "[Moo]"; - mes "Greetings, I am Moo,"; - mes "manager of the Comodo"; - mes "Casino. We pride ourselves in"; - mes "serving all of our customers'"; - mes "needs, doing all we can so that your visit here is unforgettable."; - next; - mes "[Moo]"; - mes "All of our guests can enjoy"; - mes "our general gaming area, and"; - mes "we also provide a VIP area"; - mes "where high rollers can play"; - mes "exciting high stakes games."; - next; - mes "[Moo]"; - mes "We always welcome all of"; - mes "your suggestions, and are"; - mes "always seeking to improve"; - mes "your experience here in"; - mes "the Comodo Casino."; - close; - } -} - -//== Comodo Field ========================================== -cmd_fild04,188,74,4 script Zyosegirl#cmd 4_F_04,{ - mes "[Zyosegirl]"; - mes "People call me the"; - mes "Sea Lady because I'm"; - mes "always here working,"; - mes "gathering clams and other"; - mes "sea creatures to sell. It's"; - mes "a pretty good living, actually."; - next; - mes "[Zyosegirl]"; - mes "It's nice to be able to work"; - mes "outdoors, but someday, I want"; - mes "to save enough money and move"; - mes "to the city. I'm still young, you know, and I've got dreams"; - mes "that I want to fulfill~"; - close; -} - -cmd_fild04,248,86,4 script Ziyaol#cmd 4_M_SEAMAN,{ - mes "[Ziyaol]"; - mes "Ahhh, it's nice being"; - mes "a fisherman. You just"; - mes "relax and let the fish"; - mes "come to you. Well, it takes"; - mes "some skill to catch as much"; - mes "fish as I do with no effort~"; - next; - mes "[Ziyaol]"; - mes "I like the leisure involved"; - mes "in my job, but if it's not one"; - mes "thing, it's another. Yeah, that"; - mes "daughter of mine over there"; - mes "won't stop harping about "; - mes "moving to the biiig city."; - next; - mes "[Ziyaol]"; - mes "Why does she want to leave"; - mes "me so badly?! But if I don't"; - mes "let her go, she'll run away."; - mes "What am I going to do with"; - mes "that girl? Well, I can't really"; - mes "stop her from dreaming..."; - close; -} - -cmd_fild04,267,137,4 script Daeguro#cmd 4_F_KID2,{ - mes "[Daeguro]"; - mes "I love playing in"; - mes "the sand-- it's so soft"; - mes "and clean and pretty!"; - mes "But when I grow up,"; - mes "I wanna go to Alberta"; - mes "and see everything I can!"; - close; -} - -cmd_fild07,192,58,4 script Rahasu#cmd 4W_SAILOR,{ - mes "[Rahasu]"; - mes "Hey, I'm Rahasu."; - mes "If you want to learn"; - mes "a little more about"; - mes "Paros Lighthouse, I'll"; - mes "be happy to tell you."; - next; - if (select("Paros Lighthouse?", "Cancel") == 1) { - mes "[Rahasu]"; - mes "For many years, this"; - mes "lighthouse guided many"; - mes "ships to shore. That was"; - mes "a long time ago: now this"; - mes "lighthouse sits quietly,"; - mes "unused, but never unloved."; - next; - mes "[Rahasu]"; - mes "Although this place"; - mes "isn't the center of"; - mes "trade and commerce that"; - mes "it used to be, plenty of"; - mes "people still wander to this"; - mes "area. I wonder why, exactly..."; - close; - } - mes "[Rahasu]"; - mes "Hey, before you leave,"; - mes "you really ought to check"; - mes "the view from the lighthouse."; - mes "It's... It's breathtaking..."; - close; -} - -cmd_fild07,52,280,4 script Hallosu#cmd 4W_SAILOR,{ - mes "[Hallosu]"; - mes "Hello, this is one of the"; - mes "lighthouses that make up"; - mes "Paros Lighthouse. However,"; - mes "right now it's undergoing"; - mes "renovation, so it's not"; - mes "open to the public."; - close; -} - -cmd_fild07,299,83,4 script Zain#cmd 4W_SAILOR,{ - .@n$ = "["+strnpcinfo(NPC_NAME_VISIBLE)+"]"; - mes .@n$; - mes "Would you like to"; - mes "board a ship on the"; - mes "Reudelus route? You"; - mes "can travel on Reudelus"; - mes "to Alberta or Izlude."; - next; - switch(select("Alberta - 600 Zeny", "Izlude - 800 Zeny", "Cancel")) { - case 1: - if (Zeny < 600) break; - Zeny -= 600; - warp "alberta",192,169; - end; - case 2: - if (Zeny < 800) break; - Zeny -= 800; - if (RENEWAL) - warp "izlude",195,212; - else - warp "izlude",176,182; - end; - case 3: - mes .@n$; - mes "Travel by ship is"; - mes "still one of the safest and"; - mes "dependable methods of"; - mes "transportation. I invite you"; - mes "to try Reudelus travel soon~"; - close; - } - mes .@n$; - mes "I'm sorry, but you"; - mes "don't have enough"; - mes "zeny for the boarding fare."; - close; -} -cmd_fild07,94,134,4 duplicate(Zain#cmd) Sarumane#cmd 4W_SAILOR - -cmd_in02,146,180,4 script Kafra Employee::kaf_comodo2 4_F_KAFRA7,{ - cutin "kafra_07",2; - mes "[Kafra Misty]"; - mes "Welcome to the"; - mes "Kafra Corporation."; - mes "You know that our"; - mes "service is always"; - mes "on your side~"; - next; - mes "[Kafra Misty]"; - mes "The Kafra Corporation"; - mes "Western Division promises"; - mes "the best quality service that"; - mes "emphasizes reliability, and"; - mes "total consumer satisfaction."; - mes "Thank you for your patronage~"; - close2; - cutin "", 255; - end; -} - -//== Morroc Field ========================================== -moc_fild12,35,303,4 script Serutero#cmd 1_M_ORIENT01,{ - mes "[Serutero]"; - mes "Hello, I'm Serutero,"; - mes "guardian of the roads that"; - mes "lead to Sandaruman Fortress."; - mes "If you really want to go there,"; - mes "I'll permit you to continue, but you must beware of its dangers..."; - next; - switch(select("I'm going there!", "Sandaruman Fortress?", "Cancel")) { - case 1: - mes "[Serutero]"; - mes "So you're really going"; - mes "to go to Sandaruman"; - mes "Fortress. Alright then,"; - mes "good luck, and be careful!"; - close2; - warp "cmd_fild08",331,319; - end; - case 2: - mes "[Serutero]"; - mes "Although Sandaruman"; - mes "Fortress is infested with"; - mes "monsters now, it used to be"; - mes "a province where people lived."; - mes "However, they were always"; - mes "invaded and pillaged..."; - next; - mes "[Serutero]"; - mes "Sandaruman's inhabitants"; - mes "eventually adapted to the"; - mes "invasions, developing smoke"; - mes "signals and fortifications to"; - mes "withstand the ravages of war."; - mes "Then, Comodo was built..."; - next; - mes "[Serutero]"; - mes "Comodo grew in power and"; - mes "influence and eventually annexed Sandaruman. More and more people"; - mes "moved from the fortress to Comodo until Sandaruman Fotress was"; - mes "essentially abandoned."; - next; - mes "[Serutero]"; - mes "There were a few people"; - mes "remaining in Sandaruman,"; - mes "but they revolted and some"; - mes "fledging government came into"; - mes "power there. The monsters took"; - mes "the chance to take over..."; - next; - mes "[Serutero]"; - mes "There's nothing around"; - mes "Sandaruman now. Well, nothing"; - mes "except maybe Paros Lighthouse,"; - mes "which is southwest of here. That place might be of interest to"; - mes "aspiring Rogues, I hear..."; - close; - case 3: - mes "[Serutero]"; - mes "You know, if you're"; - mes "tired of traveling, you"; - mes "can rest in ^3355FFComodo^000000. That"; - mes "place is a pretty popular"; - mes "tourist attraction, especially"; - mes "for you adventurer types."; - close; - } -} diff --git a/npc/cities/einbech.txt b/npc/cities/einbech.txt deleted file mode 100644 index 33ba55ee0..000000000 --- a/npc/cities/einbech.txt +++ /dev/null @@ -1,1037 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2015 Hercules Dev Team -//= Copyright (C) L0ne_W0lf -//= Copyright (C) DZeroX -//= Copyright (C) Evera -//= Copyright (C) Silent -//= Copyright (C) Lupus -//= Copyright (C) MasterOfMuppets -//= Copyright (C) Muad_Dib -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Einbech Town -//================= Description =========================================== -//= Einbech Town NPCs -//================= Current Version ======================================= -//= 1.5 -//========================================================================= - -einbech,172,113,4 script Nemuk#ein 4_M_EINMAN,{ - 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; - switch(select("It's fine.", "It looks tough to live here.")) { - case 1: - 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, I'd leave in no time, but it's hard getting the money to move out."; - next; - mes "[Nemuk]"; - mes "^333333*Sigh...*^000000"; - mes "Maybe if I had been"; - mes "an adventurer when I was"; - mes "younger, I wouldn't have"; - mes "these problems today..."; - close; - case 2: - mes "[Nemuk]"; - mes "I thought so."; - mes "Well, I apologize 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. ^333333*Sigh*^000000"; - mes "Is it hopeless? What can I do?"; - close; - } -} - -einbech,197,139,4 script Young Man#air2 4_M_EINMAN,{ - mes "[Heinz]"; - mes "Wow..."; - mes "An adventurer from"; - mes "Rune-Midgarts, 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 to mine again and they could earn some extra zeny. It's like killing 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 begging you, please kill those foul and evil creatures. Please~!"; - close; -} - -einbech,128,238,5 script Mogan#ein 4_M_EINMINER,{ - 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 victimized by Ungoliant 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 "disturb Ungoliant's slumber."; - close; -} - -einbech,129,234,5 script Hander#ein 4_M_EINMINER,{ - 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,105,218,5 script Gushenmu#ein 4_M_EINMINER,{ - mes "[Gushenmu]"; - mes "I've lived here a long time"; - mes "and, believe it or not, things"; - mes "weren't as tough 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 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 unfamiliar"; - mes "monsters are beginning to"; - mes "swarm outside of town. This"; - mes "is really Einbech's worst time..."; - close; -} - -einbech,39,215,5 script Train Station Staff#ein3 4_M_EIN_SOLDIER,{ - 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; - switch(select("Yes.", "No.")) { - case 1: - if (Zeny > 199) { - mes "[Staff]"; - mes "Thank you and"; - mes "we hope you enjoy"; - mes "the ride. All aboard!"; - close2; - Zeny -= 200; - warp "einbroch",226,276; - end; - } - else { - mes "[Staff]"; - mes "I'm sorry,"; - mes "but you don't"; - mes "have enough zeny"; - mes "to pay the train fare."; - close; - } - case 2: - mes "[Staff]"; - mes "Please enjoy"; - mes "your stay here"; - mes "in Einbech."; - close; - } -} - -einbech,157,215,3 script Train Station Manager#ei 4_M_EIN_SOLDIER,{ - 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 direction if you'd like to board."; - close; -} - -einbech,151,168,3 script Tollaf#ein 4_M_EINMAN,{ - 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 Schwaltzvalt Republic. No, it's the worst in the world!"; - close; -} - -einbech,93,139,5 script Raust#ein 4_M_EINOLD,{ - 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 "here look more ragged, we're"; - mes "more tired and older looking"; - mes "even! It's dirty, it's crowded,"; - mes "everything in this city is total crap! What, you want a list?!"; - next; - mes "[Raust]"; - mes "The food, literally, is"; - mes "garbage! The jobs here have"; - mes "to be violations of human rights. There's barely any women here and the ones we do have are all stank anyway! Are you convinced yet?!"; - next; - mes "[Raust]"; - mes "Why is everything"; - mes "that's good over in"; - mes "Einbroch?! I hate this!"; - mes "^333333*Grumble*^000000"; - close; -} - -einbech,149,154,3 script Mjunia#ein 4_F_EINWOMAN,{ - mes "[Mjunia]"; - mes "It's hard being a woman"; - mes "in this town. By being born"; - mes "here, it's like fate just decided 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 will 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 "^333333*Sniff*^000000 I gave up trying"; - mes "to be feminine years ago."; - mes "I have to work so hard..."; - close; -} - -einbech,130,253,1 script Ekuri#ein 4_M_EINMINER,{ - 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,135,250,5 script Bulletin Board#einbech11 4_BULLETIN_BOARD2,{ - mes " "; - mes " Mine Dungeon Entrance "; - mes " "; - close; -} - -einbech,90,214,5 script Bulletin Board#einbech22 4_BULLETIN_BOARD2,{ - mes " "; - mes " Train Station "; - mes " "; - close; -} - -einbech,158,189,4 script Bulletin Board#einbech33 4_BULLETIN_BOARD2,{ - mes " "; - mes " Freight Train Station "; - mes " "; - close; -} - -einbech,180,136,5 script Bulletin Board#einbech44 4_BULLETIN_BOARD2,{ - mes " "; - mes " Tool Shop "; - mes " "; - close; -} - -einbech,133,114,5 script Bulletin Board#einbech55 4_BULLETIN_BOARD2,{ - mes " "; - mes " Tavern "; - mes " "; - close; -} - -einbech,77,105,5 script Bulletin Board#einbech01 4_BULLETIN_BOARD2,{ - mes "Welcome to 'Einbech'."; - next; - mes "East - Tavern, Tool Shop"; - mes "North - Train Station, Mine Dungeon"; - close; -} - -einbech,181,127,5 script Bulletin Board#einbech03 4_BULLETIN_BOARD2,{ - mes "Northwest - Train Station"; - mes "South - Tavern"; - mes "North - Tool Shop, Mine Dungeon"; - close; -} - -ein_in01,279,92,3 script Tavern Lady#ein 4_M_EINMAN2,{ - 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 chamoille tea over"; - mes "freshly knit doilies?"; - close; -} - -ein_in01,277,95,7 script Ryan Danger#air#einbech 4_M_EINMAN,{ - 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(PC_NAME)+"]"; - mes "N-no...!"; - mes "I-I-I-I..."; - mes "^666666(This is the"; - mes "shadiest guy"; - mes "I've ever seen!)^000000"; - 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(PC_NAME)+"]"; - mes "(Th-this guy"; - mes "must be drunk out"; - mes "of his freakin' mind!)"; - close; -} - -ein_in01,281,85,3 script Drunken Man#einbech 4_M_DIEMAN,{ - mes "[Drunken Man]"; - mes "...^333333*Hiccup*^000000..."; - mes "^333333*Hiccup*^000000..."; - mes "^333333*Yawn*^000000....."; - mes "................."; - mes "..^333333*Hiccup*^000000....."; - mes "^333333*Hiccup*^000000.."; - close; -} - -einbech,46,107,6 script Shena#ein::EinMonsters 4_F_EINOLD,{ - 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; - switch(select("What are you guys talking about?", "Pass on by")) { - case 1: - mes "[Shena]"; - mes "Oh? Well, well!"; - mes "Aren't you the most"; - mes "adorable little girl?"; - mes "Hello, dearie~"; - next; - if (Sex == SEX_MALE) { - select("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. Apparently,"; - 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 around"; - mes "here, young lady?"; - next; - if (Sex == SEX_MALE) { - select("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 "which monster"; - mes "would you like"; - mes "to hear about?"; - next; - } - while(1) { - switch(select("Metalling", "Mineral", "Pit Man", "Old Stove", "Quit")) { - case 1: - mes "[Shena]"; - mes "Well, the Metallings"; - 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 myth, Porings and Drops"; - mes "were created from Odin's"; - mes "saliva. You might not want"; - mes "to know about Poporing..."; - next; - mes "[Shena]"; - mes "Metallings, on the"; - mes "other hand, were made"; - mes "from the blood of living"; - mes "machines that I believe"; - mes "were called ''Gigantes.''"; - next; - mes "[Shena]"; - mes "Metalling is still like"; - mes "those other hopping"; - mes "blobs of gelatin in that"; - mes "they'll swallow whatever"; - mes "might be lying on the ground."; - next; - mes "[Shena]"; - mes "If you defeat a Metalling,"; - 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?"; - next; - break; - case 2: - mes "[Shena]"; - mes "Did you know that"; - mes "stalactites and cave"; - mes "crystals grow for thousands"; - mes "and thousands 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 were actually alive. Now,"; - mes "Mineral monsters are actually living stalactites."; - next; - mes "[Shena]"; - mes "It's rumored that they"; - mes "are grown in a dark cave"; - mes "in which 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 Piece, Topaz or Emvertacon if you defeat one. There's also a slim chance that they may drop a rare jewel, but I'm not quite sure."; - next; - mes "[Shena]"; - mes "Are there any"; - mes "other monsters"; - mes "around here that"; - mes "you'd want to learn"; - mes "more about?"; - next; - break; - case 3: - mes "[Shena]"; - mes "Pit Men 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 around 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 Old Iron Plate."; - next; - mes "[Shena]"; - mes "Did you want"; - mes "to ask me about"; - mes "any other of the"; - mes "local monsters?"; - next; - break; - case 4: - mes "[Shena]"; - mes "It's just an evil,"; - mes "man-eating stove."; - next; - switch(select("...That's it?", "H-horrifying!")) { - case 1: - 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 were to recycle the scrap iron"; - mes "from those Old Stove monsters."; - next; - mes "[Shena]"; - mes "Old Stoves will usually"; - mes "drop Battered Pot, Burnt Tree,"; - mes "Iron, Iron Ore and Old Iron Plate. But once in a while they might drop interesting items like Rusty Iron or even Dead Branch."; - next; - break; - case 2: - mes "[Shena]"; - mes "Yes. God's creation,"; - mes "that creature is cruel"; - mes "and merciless, perhaps"; - mes "a symbol of purest evil"; - mes "if I ever saw one."; - next; - mes "[Shena]"; - mes "Unlike newer appliances,"; - mes "Old Stoves were hand made by"; - mes "master craftsmen that, I guess,"; - mes "developed their own souls. They"; - mes "used to be benevolent machines, content 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. This twisted their hearts to ^FF0000evil^000000."; - next; - mes "[Shena]"; - mes "Old Stoves will usually"; - mes "drop Battered Pot, Burnt Tree,"; - mes "Iron, Iron Ore and Old Iron Plate. But once in a while they might drop interesting items like Rusty Iron or even Dead Branch."; - next; - break; - } - mes "[Shena]"; - mes "So, is there"; - mes "anything else"; - mes "you'd like me to"; - mes "share with you?"; - next; - break; - case 5: - 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; - } - } - case 2: - 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; - } -} - -einbech,48,107,4 duplicate(EinMonsters) Luda#ein 4_F_EINWOMAN,{ - -einbech,148,242,5 script Jung#ein 4_M_EINMAN,{ - mes "[Jung]"; - mes "I'm one of the few"; - mes "people who's lived"; - mes "in both Einbech and"; - mes "Einbrock for a long time."; - mes "So I guess 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; - switch(select("Sure, why not?", "No, thanks.")) { - case 1: - mes "[Jung]"; - mes "Let's see. Ah, the monsters that are unique to the Mine Dungeon"; - mes "are Noxious, Venomous, Pollcellio and Obsidian. Which one do you"; - mes "want to know more about?"; - next; - switch(select("Noxious and Venomous", "Pollcellio", "Obsidian")) { - case 1: - mes "[Jung]"; - mes "You know, no one seems"; - mes "to know where Noxious and"; - mes "Venomous have come from."; - mes "It's like they appeared out of"; - mes "nowhere when Einbroch"; - mes "started to industrialize."; - next; - mes "[Jung]"; - mes "Now that I think about it,"; - mes "I don't think they're naturally created monsters. They have"; - mes "this fixed look of despair and"; - mes "suffering and tend to act like they want their enemies to kill them."; - next; - mes "[Jung]"; - mes "Still, you'd better be careful!"; - mes "careful! Noxious 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; - case 2: - mes "[Jung]"; - mes "Pollcellio 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 "Pollcellio drops Jubilee,"; - mes "Insect Antenna, 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, Pollcellio 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 other monster in the"; - mes "Mine Dungeon, feel free to ask."; - close; - case 3: - mes "[Jung]"; - mes "Do you know about the"; - mes "belief that underground"; - mes "minerals 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 Obsidian in a Jung Processor has enough energy to light up the night sky. Unfortunately, it's impossible to capture one alive and hunting 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; - } - case 2: - 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; - } -} - -einbech,148,246,5 script Franz#ein 4_M_REPAIR,{ - 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 and maybe you'll learn something."; - next; - switch(select("Okay, fine.", "No, thanks.")) { - case 1: - 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 "Which would you like to"; - mes "know more about?"; - next; - switch(select("Creature of Mine Dungeon", "Town Incident")) { - case 1: - mes "[Franz]"; - mes "The creature I'm talking about is Ungoliant, which also called the Master of the Caves around here."; - mes "It's said to live deep in the caves where it guards peculiar ores and 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 occurred."; - mes "I guess the miners have"; - mes "inadvertently intruded"; - mes "into its 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 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, an 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 Zilcon."; - close; - case 2: - 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 familes"; - mes "were killed also occurred."; - next; - mes "[Franz]"; - mes "It turns out that every family"; - mes "that had been murdered had"; - mes "bought one of these teddy bears. There were even rumors that these teddy bears were coming to life."; - next; - mes "[Franz]"; - mes "After an investigation, the"; - mes "authorities learned that all the merchants who sold these bears"; - mes "had purchased them from the"; - mes "same wholesaler, an outsider"; - mes "no one 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. Kill with extreme prejudice!"; - next; - mes "[Franz]"; - mes "According to adventurers"; - mes "who have caught these bears,"; - mes "they're small, neutral monsters"; - mes "which drop Honey, Screw, Well-baked 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; - } - case 2: - mes "[Franz]"; - mes "Oh, okay."; - mes "You're busy and you 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; - } -} diff --git a/npc/cities/einbroch.txt b/npc/cities/einbroch.txt deleted file mode 100644 index c16dbfeff..000000000 --- a/npc/cities/einbroch.txt +++ /dev/null @@ -1,989 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2015 Hercules Dev Team -//= Copyright (C) L0ne_W0lf -//= Copyright (C) DZeroX -//= Copyright (C) Samuray22 -//= Copyright (C) Evera -//= Copyright (C) Silent -//= Copyright (C) erKURITA -//= Copyright (C) Komurka -//= Copyright (C) MasterOfMuppets -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Einbroch Town -//================= Description =========================================== -//= Einbroch Town NPCs -//================= Current Version ======================================= -//= 1.7 -//========================================================================= - -einbroch,218,198,5 script Mark#ein 4_M_EINMAN,{ - callfunc "EinTower","Mark"; - end; -} - -einbroch,175,196,5 script Morei#ein 4_M_EINMAN2,{ - 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; - switch(select("Yes.", "No.")) { - case 1: - mes "[Morei]"; - mes "I see."; - mes "Let me lead you"; - mes "to the ground floor."; - mes "Thank you for using"; - mes "our services."; - close2; - switch(rand(1,3)) { - case 1: - warp "einbroch",170,229; - end; - case 2: - warp "einbroch",216,188; - end; - case 3: - warp "einbroch",178,167; - end; - } - case 2: - mes "[Morei]"; - mes "I see."; - mes "I hope you"; - mes "enjoy your time"; - mes "in Einbroch Tower."; - close; - } -} - -einbroch,173,229,5 script Oberu#ein 4_M_EINMAN,{ - callfunc "EinTower","Oberu"; - end; -} -einbroch,176,172,5 script Khemko#ein 4_M_EINMAN,{ - callfunc "EinTower","Khemko"; - end; -} - -function script EinTower { - mes "[" + getarg(0) + "]"; - mes "Good day~"; - mes "I'm " + getarg(0) + ", your"; - mes "guide to exploring"; - mes "the Einbroch Tower."; - next; - mes "[" + getarg(0) + "]"; - 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 "[" + getarg(0) + "]"; - 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; - switch(select("Tower Admission Only", "Apple Combo Set", "Cancel")) { - case 1: - if (Zeny < 10) { - mes "[" + getarg(0) + "]"; - mes "I'm sorry, but you"; - mes "don't have enough"; - mes "zeny. The Einbroch"; - mes "Tower Admission"; - mes "fee is 10 zeny."; - close; - } - else { - mes "[" + getarg(0) + "]"; - mes "Thank you for"; - mes "using our services."; - mes "Let me guide you to"; - mes "the tower right away."; - Zeny -= 10; - close2; - warp "einbroch",181,196; - end; - } - case 2: - if (Zeny < 20) { - mes "[" + getarg(0) + "]"; - mes "I'm sorry, but you don't"; - mes "have enough zeny. The"; - mes "Apple Combo Set is 20 zeny."; - close; - } - else { - mes "[" + getarg(0) + "]"; - 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; - if (checkweight(Apple,1)) { - mes "[" + getarg(0) + "]"; - mes "Thank you for"; - mes "using our services."; - mes "Let me guide you to"; - mes "the tower right away."; - Zeny -= 20; - getitem Apple,1; - close2; - warp "einbroch",174,204; - end; - } - else { - mes "[" + getarg(0) + "]"; - mes "I'm sorry, but you're carrying"; - mes "too many items with you. Please store some of your things in your Kafra Storage before purchasing"; - mes "the Apple Combo Set."; - close; - } - } - case 3: - mes "[" + getarg(0) + "]"; - mes "I see."; - mes "Feel free to"; - mes "come back any"; - mes "time. Thank you."; - close; - } -} - -einbroch,232,272,3 script Train Station Staff#ein1::EinbrochTrain 4_M_EIN_SOLDIER,{ - 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; - switch(select("Yes.", "No.", "About the Environment...")) { - case 1: - if (Zeny > 199) { - mes "[Staff]"; - mes "Thank you"; - mes "very much."; - mes "Have a safe trip."; - mes "^333333*Ahem*^000000 All aboard!"; - close2; - Zeny -= 200; - warp "einbech",43,215; - end; - } - else { - mes "[Staff]"; - mes "I'm sorry, but this"; - mes "isn't enough zeny"; - mes "to pay the train fare."; - close; - } - case 2: - mes "[Staff]"; - mes "Very well, then."; - mes "Please enjoy your"; - mes "stay in Einbroch."; - close; - case 3: - 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,252,301,3 duplicate(EinbrochTrain) Train Station Staff#ein2 4_M_EIN_SOLDIER - -einbroch,259,326,3 script Leslie#ein_1 4_F_EINOLD,{ - mes "[Leslie]"; - mes "^666666*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 Einbroch is much worse! ^333333*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,236,191,3 script Tan#ein 4_M_EINMAN,{ - 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 surprised"; - mes "I haven'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 for a while,"; - mes "you should carry one with you."; - close; -} - -einbroch,228,121,5 script Little Toby#ein-1 4_M_EINMAN,{ - 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 supposed"; - mes "to come get me, but I still"; - mes "haven't found them! We just"; - mes "moved here, so I don't know"; - mes "where anything is!"; - next; - mes "[Little Toby]"; - mes "W-wait!"; - mes "Where are you"; - mes "going?! Don't leave"; - mes "me, I'm all alone...!"; - close; -} - -einbroch,40,116,1 script Airship Engineer#ein-1 4_M_EINMAN,{ - mes "[Airship Engineer]"; - mes "H-hey! Don't"; - mes "touch my precious"; - mes "Burielle! I just finished"; - mes "her tune-up and now she's"; - mes "sleeping! J-just step away!"; - next; - switch(select("Who's Burielle?", "Sorry about That.")) { - case 1: - mes "[Airship Engineer]"; - mes "Burielle is the prettiest"; - mes "model among all the Airships"; - mes "made within the last ten years!"; - mes "She might be grounded now, but"; - mes "with my healing hands, she'll"; - mes "conquer the skies again!"; - next; - switch(select("Ah~", "Uh huh...")) { - case 1: - mes "["+strcharinfo(PC_NAME)+"]"; - mes "Ah~"; - mes "I see, so you're"; - mes "working on restoring"; - mes "this magnificent specimen"; - mes "of an Airship. Best of luck~"; - next; - mes "[Airship Engineer]"; - mes "Yeah. I'd appreciate"; - mes "it if you'd just be careful."; - mes "I've put a lot of love into"; - mes "fixing up Burielle..."; - close; - case 2: - mes "["+strcharinfo(PC_NAME)+"]"; - mes "Uh huh..."; - mes "Right. For a second"; - mes "there, I thought you were"; - mes "talking about a person, but"; - mes "then I also assumed that you"; - mes "weren't, you know, a nutcase."; - next; - mes "["+strcharinfo(PC_NAME)+"]"; - mes "Oh, did you say,"; - mes "''prettiest model?''"; - mes "All Airships look the"; - mes "same to me, this one"; - mes "ain't special at all. You've"; - mes "gone loony tunes, paley boy."; - next; - emotion e_an; - mes "[Airship Engineer]"; - mes "Wh-what...?!"; - close; - } - case 2: - mes "[Airship Engineer]"; - mes "Well, at least you know"; - mes "what you did wrong. Now"; - mes "quit disturbing her and git!"; - close; - } -} - -einbroch,294,312,3 script Centzu#ein 4_M_EINMAN2,{ - mes "[Centzu]"; - mes "I've lived here for"; - mes "a long time and I see"; - mes "that this huge city is still"; - mes "growing bigger everyday."; - next; - mes "[Centzu]"; - mes "How did Einbroch get so"; - mes "huge so quickly? I still can't"; - mes "believe there's been this much"; - mes "development. Well, I suppose"; - mes "it's not my concern. Nothing"; - mes "I do will make a difference... "; - next; - mes "[Centzu]"; - mes "Even though such"; - mes "rapid industrialization"; - mes "can't be good for the"; - mes "environment or the people,"; - mes "I'll just sit back, watch what"; - mes "happens and just enjoy life..."; - close; -} - -einbroch,232,255,5 script Khowropher#ein 4_M_EINOLD,{ - mes "[Khowropher]"; - mes "^666666*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! ^333333*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 foul air until the day I die. ^666666*Sigh...*^000000"; - close; -} - -einbroch,143,109,5 script Khetine#ein 4_M_EINMAN,{ - mes "[Khetine]"; - mes "Lately, there's been"; - mes "talk about this empty"; - mes "building downtown that's"; - mes "been converted into some"; - mes "sort of mysterious facility."; - next; - mes "[Khetine]"; - mes "It all seems pretty"; - mes "shady, but I guess it's"; - mes "not really my job to know"; - mes "about that. I mean, if it"; - mes "doesn't affect me, why"; - mes "should I be concerned?"; - close; -} - -einbroch,229,149,3 script Sleik#ein 4_M_EINMAN2,{ - 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; -} - -airport,174,41,6 script Young Man#air 4W_M_03,{ - mes "[Runnan]"; - mes "...And that's why"; - mes "I travel around the"; - mes "globe. My bosses have"; - mes "a keen eye for the most"; - mes "exotic goods, so I acquire"; - mes "them and make deliveries."; - next; - mes "[Runnan]"; - mes "There even was a time"; - mes "when they had me collect"; - mes "Jellopy, though that stuff is"; - mes "pretty common nowadays."; - mes "Now that I think about it, why"; - mes "did they need so much stuff?"; - close; -} - -airport,176,41,4 script Old Man#air 4_M_ORIENT01,{ - mes "[Zhen Lan]"; - mes "Now, I hear that the"; - mes "monsters around here"; - mes "carry around some ore"; - mes "that dazzles with a sublimely"; - mes "beautiful light. Neat, huh?"; - next; - mes "[Zhen Lan]"; - mes "These ores are a great"; - mes "material to use in making"; - mes "flower vases. My friend, who"; - mes "happens to be a dollmaker,"; - mes "told me that. He makes these dolls using all sorts of materials."; - next; - mes "[Zhen Lan]"; - mes "He fashions them out of"; - mes "Well-Tanned Leather, stuffs"; - mes "them with Bird Feathers, and"; - mes "uses Cyfar or Zargon to make"; - mes "the eyes. He even uses a Jellopy at the bottom to balance the doll."; - next; - mes "[Zhen Lan]"; - mes "I guess that goes to show"; - mes "that things that seem useless"; - mes "might actually be handy in some"; - mes "way. So don't worry about having too much stuff. Sooner or later, it might be useful to someone."; - close; -} - -ein_in01,113,211,3 script Teinz#ein 4_M_REPAIR,{ - mes "[Teinz]"; - 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 naked if you pay me enough."; - next; - mes "[Teinz]"; - 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,48,220,5 script Lowe#ein 4_M_REPAIR,{ - 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 apologize, that kind"; - mes "of reaction's an old"; - mes "habit for me, adventurer."; - close; -} - -ein_in01,87,237,5 script Dinje#ein 4_F_EINWOMAN,{ - 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,84,218,3 script Tsuen#ein 4_M_REPAIR,{ - 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 satisfied."; - 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,103,239,1 script Gesin#ein 4_M_DIEMAN,{ - mes "[Gesin]"; - mes "Arrrgh!"; - 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,33,275,1 script Pevtatin#ein 4_M_EINMINER,{ - 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,36,204,3 script Rombell#ein 4_M_REPAIR,{ - 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 concern."; - next; - mes "[Rombell]"; - mes "The amount 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,64,271,3 script Vonstein#ein 4_M_EINMAN,{ - 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,49,202,3 script Dorf#ein 4_M_REPAIR,{ - 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,68,209,5 script Khashurantze#ein 4_M_EIN_SOLDIER,{ - 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."; - close2; - warp "einbroch",179,63; - end; -} - -ein_in01,85,261,3 script Zherin#ein 4_M_REPAIR,{ - 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,43,252,3 script Canphotii#ein 4_M_EIN_SOLDIER,{ - 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,206,224,3 script Hotel Employee#ein 4_M_EINMAN,{ - mes "[Hotel Employee]"; - mes "Good day, welcome to the"; - mes "Einbroch Hotel. The staff is"; - mes "always striving to accomodate"; - mes "our guests with the highest"; - mes "standards in cleanliness,"; - mes "service and convenience~"; - next; - if (kain_ticket == 5) { - mes "[Hotel Employee]"; - mes "Are you looking"; - mes "for Mr. Defru Ark?"; - mes "Oh right, he did mention"; - mes "waiting for some package"; - mes "from the Airport. Now let"; - mes "me pull up that information..."; - next; - mes "[Hotel Employee]"; - mes "Ah, here we are."; - mes "Mr. Defru Ark is"; - mes "staying in Room 201."; - next; - } - else { - switch(select("Save", "Take Rest - 5,000 zeny", "Cancel")) { - case 1: - mes "[Hotel Employee]"; - mes "Your Respawn Point"; - mes "has been saved here"; - mes "in the Einbroch Hotel."; - mes "Thank you, and please"; - mes "come again."; - close2; - savepoint "ein_in01",200,224; - end; - case 2: - if (Zeny > 4999) { - mes "[Hotel Employee]"; - mes "Thank you."; - mes "Please enjoy"; - mes "your rest~"; - close2; - Zeny -= 5000; - percentheal 100,100; - warp "ein_in01",272,167; - end; - } - else { - mes "[Hotel Employee]"; - mes "I'm sorry, but the"; - mes "acommodation fee is"; - mes "5,000 zeny. Next time,"; - mes "please make sure that you"; - mes "bring enough zeny, okay?"; - close; - } - case 3: - mes "[Hotel Employee]"; - mes "Thank you and"; - mes "please come again~"; - close; - } - } - mes "[Hotel Employee]"; - mes "Have a good day."; - close; -} - -einbroch,244,255,5 script Bulletin Board#ein1 4_BULLETIN_BOARD2,{ - mes " "; - mes " Train Station "; - mes " "; - close; -} - -einbroch,253,203,5 script Bulletin Board#ein2 4_BULLETIN_BOARD2,{ - mes " "; - mes " Hotel "; - mes " "; - close; -} - -einbroch,68,206,5 script Bulletin Board#ein3 4_BULLETIN_BOARD2,{ - mes " "; - mes " Airship Airport "; - mes " "; - close; -} - -einbroch,90,84,5 script Bulletin Board#ein4 4_BULLETIN_BOARD2,{ - mes " "; - mes " Laboratory "; - mes " "; - close; -} - -einbroch,101,106,5 script Bulletin Board#ein5 4_BULLETIN_BOARD2,{ - mes " "; - mes " Airship Repair Shop "; - mes " "; - close; -} - -einbroch,220,208,5 script Bulletin Board#ein6 4_BULLETIN_BOARD2,{ - mes " "; - mes " Weapon Shop "; - mes " "; - close; -} - -einbroch,132,76,5 script Bulletin Board#ein7 4_BULLETIN_BOARD2,{ - mes " "; - mes " Factory "; - mes " "; - close; -} - -einbroch,152,46,5 script Bulletin Board#ein11 4_BULLETIN_BOARD2,{ - mes "West - Laboratory, Airship Repair Shop"; - mes "South - Einbroch Front Gate"; - mes "North - Airport"; - mes "Northeast - Train Station, Hotel, Weapon Shop"; - close; -} - -einbroch,235,141,5 script Bulletin Board#ein22 4_BULLETIN_BOARD2,{ - mes "Southwest - Airship Repair Shop, Laboratory"; - mes "Northwest - Airport"; - mes "North - Weapon Shop, Hotel, Train Station"; - close; -} - -einbroch,162,256,5 script Bulletin Board#ein33 4_BULLETIN_BOARD2,{ - mes "East - Train Station"; - mes "Southeast - Hotel"; - mes "South - Weapon Shop,Factory"; - mes "Southwest - Airport, Airship Repair Shop, Laboratory"; - close; -} - -einbroch,183,174,5 script Bulletin Board#ein44 4_BULLETIN_BOARD2,{ - mes "East - Weapon Shop, Hotel"; - mes "South - Factory"; - mes "Southwest - Airship Repair Shop, Laboratory"; - mes "Northwest - Airport"; - close; -} - -einbroch,104,202,5 script Bulletin Board#ein55 4_BULLETIN_BOARD2,{ - mes "Northeast - Train Station"; - mes "East - Weapon Shop,Hotel"; - mes "South - Airship Repair Shop, Laboratory"; - close; -} - -ein_in01,31,217,3 script Cendadt#ein 4_M_REPAIR,{ - 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 hear 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 "^666666*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; -} diff --git a/npc/cities/geffen.txt b/npc/cities/geffen.txt deleted file mode 100644 index 7f299dfa2..000000000 --- a/npc/cities/geffen.txt +++ /dev/null @@ -1,1443 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2015 Hercules Dev Team -//= Copyright (C) DeadlySilence -//= Copyright (C) Samuray22 -//= Copyright (C) Lupus -//= Copyright (C) L0ne_W0lf -//= Copyright (C) Evera -//= Copyright (C) Musashiden -//= Copyright (C) Silent -//= Copyright (C) MasterOfMuppets -//= Copyright (C) Nexon -//= Copyright (C) massdriller -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Geffen Town -//================= Description =========================================== -//= Geffen Town NPCs -//================= Current Version ======================================= -//= 2.0 -//========================================================================= - -geffen,59,143,0 script Meera 4_F_02,{ - mes "[Meera]"; - mes "Welcome to Geffen,"; - mes "the City of Magic!"; - next; - mes "[Meera]"; - mes "I don't know much about magic, but do you know what tastes magical? ^CC6600Honey^000000!"; - next; - mes "[Meera]"; - mes "It's soooo sweet and delicious. I'm not sure if it's an aphrodisiac, but I know for a fact that it will relieve you of fatigue and help you recover from wounds!"; - next; - mes "[Meera]"; - mes "Hornets living in the grasslands spend their lives gathering nectar at the Queen Bee's command. Honey is made from the nectar they gather."; - next; - mes "[Meera]"; - mes "But that's not all. There's a special kind of honey that's made for only Queen Bees to eat:"; - mes "^CC6600Royal Jelly^000000!"; - next; - mes "[Meera]"; - mes "Nothing can compare to the luscious flavor of Royal Jelly. And I think it's even better for you than ordinary Honey!"; - close; -} - -geffen,156,190,0 script Orwalk 4_KID01,{ - mes "[Orwalk]"; - mes "...Interesting."; - mes "Most intriguing."; - mes "Oh! Let me tell you"; - mes "this marvelous story~"; - next; - mes "[Orwalk]"; - mes "While I was researching magic, I discovered this mysterious scroll. It describes this tree named Yggdrasil."; - next; - mes "[Orwalk]"; - mes "The leaves, seeds and fruit of Yggdrasil link every living thing in this world. According to this scroll, Yggdrasil is also involved in the creation of the world."; - next; - mes "[Orwalk]"; - mes "Speaking of which, I've also heard of a rumor about a miraculous tree in some land near Comodo. They must be connected, I'm sure of it!"; - close; -} - -geffen_in,164,109,0 script Wizard Stanza 1_M_WIZARD,{ - mes "[Stanza]"; - mes "I sense the presence of a mighty spirit. Can it be you...?"; - next; - mes "[Stanza]"; - if (BaseJob == Job_Mage) - mes "It seems that you are trained in the mystic arts. Magic... Its power is governed by the law of cause and effect."; - else if (BaseJob == Job_Acolyte) { - mes "Ah..."; - mes "I see that you wield holy power in one way or another. I suppose Holy power may be considered one form of mystical energy."; - } - else if (Class == Job_Novice) - mes "Although you may not be able to use magic or any other kind of powerful skills for now, this knowledge may be helpful in the future, young Novice..."; - else - mes "Although you are not formally trained in the use of magic, you use skills which draw upon otherworldly energies, whether you know it or not..."; - next; - mes "[Stanza]"; - mes "If you use mystic energy for the purpose of harming others, or to defy the rules set by Mother Nature, that power will naturally be turned against you. Remember, you reap what you sow."; - next; - mes "[Stanza]"; - mes "But there is an item that can protect the caster from ill consequence, allowing the safe use of certain magics. These are the shining, mystical stones known as Gemstones."; - next; - mes "[Stanza]"; - mes "Gemstone..."; - mes "If you wish to use your powers to the fullest, remember this item."; - close; -} - -geffen,147,26,0 script Ralphie 4W_M_01,{ - mes "[Ralphie]"; - mes "Somewhere in this world, there is a rare Staff which can transform psychic energy into physical force, endowing its owner with ^990000destructive power^000000..."; - next; - mes "[Ralphie]"; - mes "With that, anyone could be as strong as Hercules... Even a weakling like me! Hahahahahah,"; - mes "I must have it!"; - next; - emotion e_gasp; - mes "[Ralphie]"; - mes "...Good Heavens!"; - mes "Since when were"; - mes "you listening?"; - next; - mes "[Ralphie]"; - mes "Did you happen"; - mes "to hear any of that?"; - mes "Muhwaha... ha. Ha."; - next; - mes "[Ralphie]"; - mes "Well..."; - mes "I didn't say anything. But if"; - mes "I did, forget all about it,"; - mes "whatever it was~"; - next; - mes "[Ralphie]"; - mes "...Boy, this is awkward."; - close; -} - -geffen,111,48,0 script Stacey 4W_F_01,{ - if (getequipid(1) == 2299) { - mes "[Stacey]"; - mes "Oh...!"; - mes "Is that an Orc Helm you're wearing?! That's so cool! Wow..."; - next; - mes "[Stacey]"; - if (Sex == SEX_MALE) { - mes "You look so..."; - mes "Rugged and manly~"; - } - else { - mes "Oooh~!"; - mes "I'm so jealous!"; - } - close; - } - else if (getequipid(1) == 5094) { - mes "[Stacey]"; - mes "Oh..."; - mes "Wow..."; - next; - mes "[Stacey]"; - mes "That's..."; - mes "That's a Helmet"; - mes "of Orc Hero!"; - next; - mes "[Stacey]"; - if (Sex == SEX_MALE) { - mes "It's..."; - mes "It's like you're surrounded by this incredibly masculine aura! Oooh~! You must be irresistable to all the girls!"; - next; - emotion e_lv; - mes "[Stacey]"; - mes "And I'm no exception."; - } - else { - mes "Goodness, you must be so strong!"; - mes "But I thought only members of the Orc Tribe could wear those?"; - } - close; - } - else { - mes "[Stacey]"; - mes "Hello~!"; - mes "Oh, aren't you"; - mes "an adventurer?"; - next; - mes "[Stacey]"; - mes "Have you ever seen any Orcs from the Demi-Human tribe? If you go down southward from here, I think you can find Orcs in the deep forest."; - next; - mes "[Stacey]"; - mes "I hear that Orcs have their own culture and language, supposedly just like us humans. Does that mean Orcs go on dates...?"; - next; - mes "[Stacey]"; - mes "You know, where they tenderly whisper sweet nothings and then... Oh! I really want to know!"; - close; - } -} - -geffen_in,34,170,0 script Theodore 1_M_01,{ - mes "[Theodore]"; - mes "Hello!"; - mes "Isn't it a"; - mes "wonderful"; - mes "day today?"; - next; - mes "[Theodore]"; - mes "Well, I wouldn't know. I've been studying too hard to become a Mage. I've been staying up all night, agonizing over anything that's magical."; - next; - mes "[Theodore]"; - mes "*Sigh...*"; - mes "I especially worry about all the drawbacks to using magic."; - next; - mes "[Theodore]"; - mes "Oh darn! It was really annoying when a long-ranged enemy found me the last time I went exploring. That crummy monster disrupted the casting of all my spells! I didn't hit it at all!"; - next; - mes "[Theodore]"; - mes "After that, I realized I needed some sort of weapon to counter long-ranged attacks from enemies. Something that can attack from a distance..."; - next; - mes "[Theodore]"; - mes "Some sort of..."; - mes "Sharp, piercing"; - mes "projectile launcher, preferably made out of wood."; - next; - mes "[Theodore]"; - mes "But where could"; - mes "I find something"; - mes "like that?!"; - close; -} - -geffen,146,148,4 script Suspicious Guy 4W_M_03,6,6,{ - end; - -OnTouch: - mes "[?]"; - mes "^333333*Psssst!*"; - mes "H-Hey you!"; - mes "You wanna get your hands on some great stuff? Come on over!^000000"; - next; - mes "[Suspicious Guy]"; - if (Sex == SEX_MALE) - mes "Hey there tough guy. You look smart enough to recognize a bargain when it's right in front of your eyes."; - else - mes "Well, well, well. Aren't you a pretty girl. Today just happens to be your lucky day!"; - next; - mes "[Suspicious Guy]"; - mes "So just tell me what you want, and I'll cut you a deal from amongst my valuable, yet affordable, wares."; - next; - switch(select("Gimme some potion so I can recover HP.", "Um, you got a Knife?", "Don't you have a good Manteau?", "Don't you have something besides this?")) { - case 1: - mes "[Suspicious Guy]"; - mes "Ah, you into Potions, eh?"; - mes "Yeah, I got the stuff!"; - next; - mes "[Suspicious Guy]"; - mes "Here it is! High quality Red Potion! It starts working right away once you take it. Once it hits your lips, you can't stop. This stuff is that good."; - next; - mes "[Suspicious Guy]"; - mes "C'mon dude. This is the latest Red Potion. I got it from a close friend of a friend, you know, a real dependable source, and it's real cheap too. You can't pass this up!"; - next; - select("Uh, can I buy White Potions instead?"); - mes "[Suspicious Guy]"; - mes "White Potions? Oh, those don't exist. But, er, if someone's selling that kind of stuff, bring it to me so I can, um, test the difference. But yeah, I got the real stuff."; - next; - mes "[Suspicious Guy]"; - mes "You can heal all your wounds by drinking Red Potions! And I'll sell you one for just ^FF3333500 zeny^000000!"; - next; - mes "[Suspicious Guy]"; - mes "Now, how cheap is that?! Since they're in such high demand, I can only sell you 100 of"; - mes "them at a time."; - next; - while(1) { - input .@input; - if (.@input == 0) { - mes "[Suspicious Guy]"; - if (Sex == SEX_MALE) - mes "Ah duuuuuude~ You're breakin' my heart! I mean, at these prices, I'm practically performing charity!"; - else - mes "W-waaaait! You didn't let me tell you the part about how Red Potions help you lose and gain weight in all the right places! Waaaaait!"; - close; - } - else if (.@input > 100) { - mes "[Suspicious Guy]"; - mes "Whoa..."; - mes "I can't let you buy that many. I mean, it's not like, you know, there's a trace impurity in these Potions or anything like that..."; - next; - } - else - break; - } - .@Red_potion_hap = .@input * 500; - if (Zeny < .@Red_potion_hap) { - mes "[Suspicious Guy]"; - mes "Oh maaan~"; - mes "Are you"; - mes "short on dough?"; - mes "That's no good."; - next; - mes "[Suspicious Guy]"; - mes "^333333Now I gotta find some other sucker to dump this junk on!^000000 *Ahem* I mean, come again!"; - close; - } - Zeny -= .@Red_potion_hap; - getitem Red_Potion,.@input; - break; - case 2: - mes "[Suspicious Guy]"; - if (Sex == SEX_MALE) { - mes "What would a strong guy like you want a knife for? Those will just break under the force of your incredibly powerful swings!"; - next; - mes "[Suspicious Guy]"; - mes "Now..."; - mes "What you really"; - mes "need is a ^FF3333manly Dagger^000000."; - } - else { - mes "A nice lady like you? Come on now, kitchen knives are for old naggy wives and the hired help."; - next; - mes "[Suspicious Guy]"; - mes "Now..."; - mes "What you really"; - mes "need is a fine, exquisite"; - mes "^FF3333French Dagger^000000 to match your beauty and elegance."; - } - next; - mes "[Suspicious Guy]"; - mes "I call it..."; - mes "The ^FF3333Main Gauche^000000! I invented it myself. And I'm only selling it for 9,400 zeny!"; - next; - select("Aren't you going to give me a sheath too?"); - mes "[Suspicious Guy]"; - mes "A sheath?"; - mes "Whoa, that's almost asking too much! Alright, alright..."; - next; - mes "[Suspicious Guy]"; - mes "Since I like you so much, I'm giving you a free sheath with your purchase! Now how's that"; - mes "for a bargain?"; - next; - mes "[Suspicious Guy]"; - mes "There's no way you can pass this up! Now, how many do you want?"; - next; - while(1) { - input .@input; - if (.@input == 0) { - mes "[Suspicious Guy]"; - mes "Man, how many chances of a lifetime have you passed up? Man, I hope you win the lottery..."; - mes "You'd probably"; - mes "pass that up too."; - close; - - } - else if (.@input > 100) { - mes "[Suspicious Guy]"; - mes "Whoa!"; - mes "I can't sell that many Daggers! That'll attract the Prontera Chiv--I mean, um, I was gonna donate some Daggers to... Hungry children?"; - next; - } - else - break; - } - .@Main_gauche_hap = .@input * 9400; - if (Zeny < .@Main_gauche_hap) { - mes "[Suspicious Guy]"; - mes "Short on zeny?"; - mes "When the greatest deal in your life is right before your eyes?! Tragic, truly tragic..."; - close; - } - Zeny -= .@Main_gauche_hap; - getitem Main_Gauche,.@input; - break; - case 3: - mes "[Suspicious Guy]"; - if (Sex == SEX_MALE) - mes "A Manteau? That's old news! You know what's the latest in protective armors?"; - else - mes "Now why would such a beautiful woman wear something out of style? You know what would make you look even better?"; - next; - mes "[Suspicious Guy]"; - mes "That's right!"; - mes "A Hood! Wearing one of those is the quickest way to win respect these days!"; - next; - mes "[Suspicious Guy]"; - mes "If you've got a Hood on, monsters will fear you and run away in terror! And check out this sturdy fabric. I can pull it all I want and it won't tear!"; - next; - select("This hood has no drawstrings...? "); - mes "[Suspicious Guy]"; - mes "Haha! What are you saying? You don't need drawstrings! The space age Rayon and Nylon and Krypton fibers keep the Hood secure on your head!"; - next; - mes "[Suspicious Guy]"; - mes "Man..."; - mes "So much technology was invested into this Hood. Can you believe I'm only selling it for 930 zeny?"; - next; - mes "[Suspicious Guy]"; - mes "Clearly, this is the deal of the century. So how many do you want?"; - next; - while(1) { - input .@input; - if (.@input == 0) { - mes "[Suspicious Guy]"; - mes "Awww..."; - mes "It wasn't because of the whole drawstrings thing, was it?"; - close; - } - else if (.@input > 100) { - mes "[Suspicious Guy]"; - mes "Whoa~!"; - mes "I can't sell you that many! What are you trying to do, take advantage of me?"; - next; - } - else - break; - } - .@Hood__hap = .@input * 930; - if (Zeny < .@Hood__hap) { - mes "[Suspicious Guy]"; - mes "Oh nuts..."; - mes "Short on zeny, eh?"; - close; - } - Zeny -= .@Hood__hap; - getitem Hood,.@input; - break; - case 4: - mes "[Suspicious Guy]"; - mes "Man..."; - mes "You sure like to ask for the impossible. Well, let me tell you right now. No other Merchant in the world sells the goods only I can offer."; - next; - mes "[Suspicious Guy]"; - mes "You just gotta believe me!"; - close; - } - mes "[Suspicious Guy]"; - mes "No need to look anywhere else at all when I clearly have the best items around!"; - next; - mes "[Suspicious Guy]"; - mes "Please come back sometime, and buy more of my stuff. I love a customer who knows what they want! Hehe~"; - close; -} - -geffen_in,22,125,1 script Crumpler 1_M_HOF,{ - mes "[Crumpler]"; - mes "Ooooh~!"; - mes "You sure are dressed pretty,"; - mes "ya fancy schmancy Mage!"; - next; - if (Class == Job_Mage) { - mes "^3355FFSomeday, you swear to yourself, you will have your bloody revenge on this belligerent drunk for besmirching the proud Mage profession. Someday...^000000"; - close; - } - else if (Class == Job_Wizard) { - select("Actually, I'm a Wizard."); - mes "[Crumpler]"; - mes "I'm so scared!"; - mes "A Wizard?! Bwahaha!"; - next; - mes "[Crumpler]"; - mes "Everyone knows Wizards are all intelligence and no strength! Come on, smart man! Show me how tough you are!"; - next; - switch(select("Meteor Storm!", "Lord of Vermilion!", "Show Mercy.")) { - case 1: - mes "[Crumpler]"; - mes "Huh?"; - mes "What'd you just say?"; - next; - mes "[Crumpler]"; - mes "..."; - next; - mes "[Crumpler]"; - mes "..."; - mes "......"; - next; - mes "[Crumpler]"; - mes "Ooooooooh"; - mes "crraaaap!"; - emotion e_gasp; - next; - mes "[Crumpler]"; - mes "Help meeeee!"; - specialeffect EF_METEORSTORM; - close; - case 2: - mes "[Crumpler]"; - mes "Hahahahaah!"; - mes "Silly Wizard! Only a monster like Baphomet can handle a big spell like th--"; - next; - mes "[Crumpler]"; - mes "Oh sweet lord..."; - mes "You're serious..."; - next; - specialeffect EF_LORD; - mes "[Crumpler]"; - mes "ARRRRRGH~!"; - mes "IT BUUUURNS!"; - close; - case 3: - mes "["+strcharinfo(PC_NAME)+"]"; - mes "No..."; - mes "I can only use"; - mes "my powers for good."; - next; - mes "[Crumpler]"; - mes "Haw haw!"; - mes "Good..."; - mes "For nothing!"; - close; - } - } - else if (Class == Job_Sage) { - select("Actually, sir, I'm a Sage."); - mes "[Crumpler]"; - mes "A..."; - mes "Sage?"; - emotion e_what; - next; - mes "[Crumpler]"; - mes "I don't know what that is. But I guess it can't be half as bad as a Mage."; - next; - mes "[Crumpler]"; - mes "Soooo..."; - mes "Wanna drink with me?"; - close; - } - else { - mes "[Crumpler]"; - mes "Wait a sec..."; - mes "You're not a Mage!"; - mes "J-just how drunk am I?!"; - next; - mes "[Crumpler]"; - mes "Man, I hate Mages with a passion! Always studying and chanting and making taxes high and stuff..."; - next; - mes "[Crumpler]"; - mes "Taking our jobs, censoring the media, ruining our education system, causing air pollution, starting wars, making rap music..."; - close; - } -} - -geffen_in,59,61,1 script Skyler 1_M_PUBMASTER,{ - mes "[Skyler]"; - mes "Hello hello."; - mes "You're not looking"; - mes "for Eric, are you?"; - next; - if (select("Eric? Who's that?", "Yes. Yes, I am.") == 1) { - mes "[Skyler]"; - mes "Oh, I see. He's just some guy in the room to the left of me. He's always working on some sort of project."; - next; - mes "[Skyler]"; - mes "Something to do with these magic sort of Ear Muffs. I guess he's been looking for investors to help him finish building whatever he's making."; - close; - } - mes "[Skyler]"; - mes "Oh, alright. You can find Eric in the room to the left of me. He'll probably be happy to know someone is interested in what he's trying to build."; - next; - mes "[Skyler]"; - mes "From what I remember, he seemed really discouraged, thinking he'd never be able to finish his little project."; - next; - mes "[Skyler]"; - mes "I'm glad to hear you've come this way to help out that young fellow."; - close; -} - -geffen_in,27,134,5 script Waitress#elen 4_F_02,{ - mes "[Elenore]"; - mes "This place..."; - mes "Certainly has"; - mes "atmosphere."; - next; - mes "[Elenore]"; - mes "We've got some kind of Fortune Teller that's always hanging around in the corner, and a loud, belligerent drunk who's always picking on Mages."; - next; - mes "[Elenore]"; - mes "So..."; - mes "What can"; - mes "I do for you?"; - next; - if (select("May I have a drink?", "Is there any interesting gossip?") == 1) { - mes "[Elenore]"; - mes "Well..."; - mes "If you're looking for alcohol, King Tristram III outlawed it a while ago. Now I hear they only serve it in certain places."; - next; - mes "[Elenore]"; - mes "Still, people manage to get drunk off the imitation drinks that we serve here. I guess it's all psychological."; - next; - mes "[Elenore]"; - mes "I reeeeally want to be able to visit that place where they serve real drinks. I hear it's just like paradise!"; - close; - } - switch(rand(1,4)) { - case 1: - mes "[Elenore]"; - mes "Gossip...?"; - mes "Well, I've heard that they're opening a new Airship Service"; - mes "in Juno!"; - next; - mes "[Elenore]"; - mes "Or at least, they're planning to. The airship isn't really ready to take off just yet. In the meantime, there's some weird customer representative over there who's offering a teleport service."; - next; - mes "[Elenore]"; - mes "It seems like Kafra Corporation may finally have a competitor! Then again, I don't think many girls are as attractive as the Kafra Employees..."; - break; - case 2: - mes "[Elenore]"; - mes "Have you heard?"; - mes "There are some new fashions floating around the Rune-Midgarts Kingdom!"; - next; - mes "[Elenore]"; - mes "People have been coming in, wearing some cute new hats. There was this cute Teddy Bear Hat I've never seen before, and a girl came in wearing these black Kitty Ears..."; - next; - mes "[Elenore]"; - mes "Of course, not every popular style suits my taste. I mean, I saw someone walking around with a Mushroom on their head. And I hear someone has been making hats made out of Fish?"; - next; - mes "[Elenore]"; - mes "I guess those"; - mes "kinds of hats are too"; - mes "artistic for my taste."; - break; - case 3: - mes "[Elenore]"; - mes "Gossip, eh?"; - next; - mes "[Elenore]"; - mes "Well..."; - mes "I hear there's this person somewhere in Rune-Midgard..."; - next; - mes "[Elenore]"; - if (Sex == SEX_MALE) - mes "Tell me, have you ever heard of "+strcharinfo(PC_NAME)+"? He's supposed to be the suavest hero around!"; - else - mes "Have you ever heard of "+strcharinfo(PC_NAME)+"? People say she's one of the prettiest girls in all of Rune-Midgard!"; - break; - case 4: - switch(rand(1,2)) { - case 1: - mes "[Elenore]"; - mes "Gossip, eh?"; - mes "W-wait..."; - next; - mes "[Elenore]"; - mes "Ugh..."; - mes "Ooooh..."; - mes "My he-head..."; - mes "It huuurts..."; - next; - mes "[William's Spirit]"; - mes "^990000You get the hell away from my daughter, low-life, before I sell your organs for zeny!"; - mes "You hear me?!^000000"; - next; - mes "[Elenore]"; - mes "*Cough*"; - mes "Oh...!"; - mes "Sorry about that!"; - mes "I must be coming"; - mes "down with the flu!"; - mes "...Or something."; - next; - mes "^3355FFWeird..."; - mes "Her voice was"; - mes "really deep for"; - mes "a minute there..."; - break; - case 2: - mes "[William's Spirit]"; - mes "^990000Hey you sex crazed bastard!! Stop looking at my daughter like that before I rip out your eyes, and eat them with pasta!^000000"; - next; - mes "["+strcharinfo(PC_NAME)+"]"; - if (Sex == SEX_MALE) { - mes "Huh...?"; - mes "C-come again?"; - next; - mes "[Elenore]"; - mes "Huh...?"; - mes "Oh, Dad must have possessed me again. It happens to me and my sister all the time."; - next; - mes "["+strcharinfo(PC_NAME)+"]"; - mes "No kidding?"; - mes "Huh. Total bummer."; - next; - mes "[Elenore]"; - mes "Yeah..."; - mes "Tell me about it."; - break; - } - else { - mes "W-waaaaait~"; - mes "But, But I'm a girl!"; - next; - mes "[William's Spirit]"; - mes "^990000What part of ^FF0000I will whup you where you stand^000000 ^990000do you not understand?! Now, quit it you pervert!^000000"; - next; - mes "^3355FFWaaah~!"; - mes "How did she"; - mes "get all scary?!^000000"; - break; - } - } - } - - close; -} - -geffen_in,70,67,3 script Waitress#elise 4_F_01,{ - mes "[Elisa]"; - mes "Hello there~"; - mes "Can I help you"; - mes "with anything?"; - next; - if (select("May I ask for a drink?", "Is there any interesting gossip lately?") == 1) { - mes "[Elisa]"; - mes "A..."; - mes "Drink?"; - next; - mes "[Elisa]"; - mes "You know that we don't serve alcohol here anymore. We just have all these fake, flavorless drinks that have no effect. Yeah, they're pretty boring..."; - next; - mes "[Elisa]"; - mes "We pretty much only serve water around here. That, and really bad alcoholic imitation drinks."; - next; - mes "[Elisa]"; - mes "It's horrible that King Tristram III outlawed alcohol in the kingdom! It's probably the only bad decision he's made throughout his entire reign!"; - close; - } - switch(rand(1,4)) { - case 1: - mes "[Elisa]"; - mes "You know"; - mes "what's so weird?"; - next; - mes "[Elisa]"; - mes "I went down to the Prontera Sanctuary, and I could have sworn"; - mes "that a Priest got married to a Priestess!"; - next; - mes "[Elisa]"; - mes "I really had no idea whether or not Priests could marry, but since King Tristram III was there himself,"; - mes "I suppose that it's okay!"; - break; - case 2: - mes "[Elisa]"; - mes "I don't like to stereotype people, but haven't you noticed that Swordsmen and Knights"; - mes "tend to be, you know..."; - next; - mes "[Elisa]"; - mes "...INT challenged?"; - mes "All they seem to know"; - mes "is smashing things!"; - break; - case 3: - mes "[Elisa]"; - mes "Rumors...?"; - mes "Hmmmm, well..."; - next; - mes "[Elisa]"; - mes "You know the name"; - mes "of our kingdom, right?"; - mes "The Rune-Midgarts Kingdom?"; - next; - mes "[Elisa]"; - mes "I hear that it was originally called the Rune-Midgard Kingdom, after our continent. However, for some reason, the name was changed to 'Rune-Midgarts.'"; - next; - mes "[Elisa]"; - mes "It was obviously a wise decision, since too many people kept confusing the our continent with our kingdom. Weird, huh?"; - break; - case 4: - switch(rand(1,2)) { - case 1: - mes "[Elisa]"; - mes "Rumors...?"; - mes "Hmmmm, well..."; - next; - mes "[Elisa]"; - mes "That's funny..."; - mes "I, I can't think of anything. E-everything feels so fuzzy..."; - next; - mes "..."; - next; - mes "..."; - mes "......"; - next; - mes "[William's Spirit]"; - mes "^990000Stay away from my daughter, or I'll beat your brains out, punk! Elisa's gonna marry a doctor! Or a lawyer!^000000"; - next; - mes "["+strcharinfo(PC_NAME)+"]"; - if (Sex == SEX_MALE) { - mes "Y-y-y-yes, sir!"; - next; - mes "^3355FFThat was scary...!"; - mes "It looks like a father's love endures forever, even in the afterlife.^000000"; - } - else { - mes "But..."; - mes "I'm a girl!"; - next; - mes "[William's Spirit]"; - mes "^990000WHAT...?!"; - mes "That's even worse!!^000000"; - next; - mes "^3355FFThat was scary...!"; - mes "It looks like a father's love endures forever, even in the afterlife.^000000"; - } - break; - case 2: - mes "[William's Spirit]"; - mes "^990000How dare you try to pick up on my precious daughter! Do you wish to taste an angry father's fury?!^000000"; - next; - mes "[Elisa]"; - mes "W-whoa...!"; - mes "I'm so sorry!"; - next; - mes "[Elisa]"; - mes "It's just..."; - mes "The spirit of my father,"; - mes "God rest his soul, is"; - mes "a little overprotective!"; - next; - mes "^3355FFYou step away."; - mes "Very. Carefully.^000000"; - break; - } - } - close; -} - -geffen_in,79,76,2 script Merchant Daven 2_M_PHARMACIST,{ - mes "[Merchant Daven]"; - mes "I remember Geffen"; - mes "back when it was boring. "; - next; - mes "[Merchant Daven]"; - mes "But now there are Mages and Wizards, and a flourishing"; - mes "economy in this town!"; - next; - switch(select("Mages...?", "Economy?", "Who are you?")) { - case 1: - if (BaseJob == Job_Mage) { - mes "[Merchant Daven]"; - mes "Mages are wielders of magic. But you would know more about that topic now, wouldn't you?"; - } - else { - mes "[Merchant Daven]"; - mes "Mages and Wizards are always carrying books and studying magic. That's just the way they are."; - next; - mes "[Merchant Daven]"; - mes "There's a Magic School in the NorthWest part of the city for Novices interested in becoming Mages. There, they can learn the basics of magic."; - next; - mes "[Merchant Daven]"; - mes "After becoming well experienced in the use of magic, Mages can become qualified to become Wizards."; - next; - mes "[Merchant Daven]"; - mes "Wizards have access to more powerful and destructive magic spells than Mages. Mages can apply to become Wizards at the top of Geffen Tower."; - } - break; - case 2: - if (Class == Job_Blacksmith) { - mes "[Merchant Daven]"; - mes "The economy...?"; - mes "Why, that's all thanks to Blacksmiths! But you should know that already, shouldn't you?"; - } - else { - mes "[Merchant Daven]"; - mes "Well, I guess you can thank the Blacksmiths for the economy here in Geffen. Sure, they always dirty, sweaty, smelly and talk kind of rudely..."; - next; - mes "[Merchant Daven]"; - mes "But they're hard working people. Also, the ores they refine and the weapons they create are high in demand."; - next; - mes "[Merchant Daven]"; - mes "Adventurers pay Blacksmiths lots of their hard earned zeny for the high quality weapons that only they can create."; - } - break; - case 3: - mes "[Merchant Daven]"; - mes "Me? I'm the world's most prettiest street merchant. Heh heh~"; - next; - select("...^EE0000Magnum Break^000000!"); - if (Class == Job_Swordman) { - mes "[Merchant Daven]"; - mes "Whoa, whoa!"; - mes "It was just a joke!"; - mes "Forgive me!"; - } - else { - mes "[Merchant Daven]"; - mes "Magnum Break?"; - mes "But you can't even do that, can you?"; - } - break; - } - close; -} - -geffen_in,114,73,5 script Hadenheim 4_M_SEAMAN,{ - mes "[Hans Hadenheim]"; - mes "Man, the Rune-Midgard continent sure is big! How's it going, youngster?"; - next; - mes "[Hans Hadenheim]"; - mes "This Geffen sure is strange. But it was worth it to travel here all the way from the Schubaltzwald Republic."; - next; - if (select("Schubaltzwald Republic?", "So, why are you traveling?") == 1) { - mes "[Hans Hadenheim]"; - mes "You..."; - mes "Don't know the"; - mes "Schubaltzwald Republic?"; - next; - mes "[Hans Hadenheim]"; - mes "You know, ally of the Rune-Midgarts Kingdom. Um... Our capital city is Juno?"; - next; - mes "[Hans Hadenheim]"; - mes "You should really"; - mes "read up on your"; - mes "world events!"; - close; - } - mes "[Hans Hadenheim]"; - mes "Oh, you know, for business. It seems there's a lot of good money in foreign commerce."; - next; - mes "[Hans Hadenheim]"; - mes "I mean, all these new cities are being discovered by explorers, so import and export trade is really booming!"; - next; - mes "[Hans Handenheim]"; - if (BaseJob == Job_Merchant) - mes "You're in the trading business yourself, right? So of course you'd understand that we're in a Golden Age of trade!"; - else if (Class == Job_Novice) { - mes "I guess..."; - mes "Those kinds of concepts might be too high brow for a rookie like you."; - } - else - mes "Anyway..."; - next; - mes "[Hans Hadenheim]"; - mes "Have you been some of these new lands? They're really interesting and you can learn a lot of new things from these foreign cultures."; - next; - mes "[Hans Hadenheim]"; - mes "Still, if you want to go sightseeing, I personally recommend that you visit my hometown of Juno. It's quite beautiful, you know."; - close; -} - -geffen_in,39,127,2 script Psychic Advisor 4_M_BIBI,{ - mes "[Psychic Advisor]"; - mes "Ah..."; - mes "Don't tell me! You've come to have your fortune told, yes? I know,"; - mes "I know... I can see the future! So what kind of fortune do you want?"; - next; - switch(select("Life!", "Love!", "Money!", "Grades!", "Future!", "Fashion!")) { - case 1: - mes "[Psychic Advisor]"; - switch(rand(1,5)) { - case 1: - mes "Life...?"; - mes "Wow, that's a really broad category. But let me contact some spirits of the spirit world and I'll see what I can do."; - next; - mes "[Psychic Advisor]"; - mes "Hmmm..."; - mes "Alright, I got something. Ummmm, you will live to be very, very old. How old you ask?"; - next; - mes "[Psychic Advisor]"; - mes "^333333*cough!*^000000ty-nine years old. Isn't that good news? That's a ripe old age, and you have plenty of blissful years left to enjoy."; - next; - mes "[Psychic Advisor]"; - mes "Also, you'll always be successful. You'll successfully win in life and you'll successfully lose in life!"; - next; - mes "[Psychic Advisor]"; - mes "You might not understand that little nugget of wisdom now, but as you learn more about this crazy, crazy world, it will make more sense."; - next; - break; - case 2: - mes "Hmm..."; - mes "What can I tell you about life? Let me contact the spirit world real quick~"; - next; - mes "[Psychic Advisor]"; - mes "Alright, I got it!"; - mes "Your dreams"; - mes "will come true!"; - next; - mes "[Psychic Advisor]"; - mes "Of course, I'm not sure exactly which dreams will come true, but hopefully the good dreams that you've had will become reality, rather than any of your weird nightmares."; - next; - mes "[Psychic Advisor]"; - mes "Which dreams exactly? Well, the spirits are awfully reticent today. They're not exactly in the mood to talk. Spirits have lives too, you know. Wait, did that make any sense?"; - next; - break; - case 3: - mes "I sense that you may be about to make a rash decision that you might regret. I must advise you to slow down and think first."; - next; - mes "[Psychic Advisor]"; - mes "Although the pressure may be high, remember that any decision made in excitement is usually a bad decision. Take a deep breath and relax."; - next; - mes "[Psychic Advisor]"; - mes "Even if you're running out of time, it's better to slowly plan things out so that you don't waste any of your efforts, or make costly mistakes."; - next; - mes "[Psychic Advisor]"; - mes "Remember that calm,"; - mes "collected patience"; - mes "is the key to overcoming crisis."; - next; - break; - case 4: - mes "Hmmm... I sense that you are experiencing a loss of direction in life. Should you prioritize security or happiness?"; - next; - mes "[Psychic Advisor]"; - mes "I suggest that you think fully and carefully before deciding what path is best for you. And remember, you can only learn from your mistakes."; - next; - mes "[Psychic Advisor]"; - mes "If you plan carefully and perform positive, constructive actions with a good attitude, you can"; - mes "have it all!"; - next; - break; - case 5: - mes "Hmm..."; - mes "I sense that you've had a quarrel with someone close to you. Someone for whom you care for dearly."; - next; - mes "[Psychic Advisor]"; - mes "You must take the initiative! Try and resolve this matter without getting too caught up in your emotions."; - next; - mes "[Psychic Advisor]"; - mes "Try to make amends, swallow your pride and apologize sincerely if you have to. Isn't friendship worth it? I think so."; - next; - } - mes "[Psychic Advisor]"; - mes "Well, I hope I settled any doubts you've had about the future. That is, after all, my job as a professional psychic consultant. Come back anytime~"; - close; - case 2: - mes "[Psychic Advisor]"; - switch(rand(1,4)) { - case 1: - mes "You want to know your Love fortune? Oh ho~ Then there must be somebody that you like! Come on, you can tell me!"; - next; - mes "[Psychic Advisor]"; - mes "Oh right..."; - mes "Um, I sense a strong love energy emanating from your soul. It's quite intimidating and pushes away the weak and the spineless."; - next; - mes "[Psychic Advisor]"; - mes "So basically, I foresee that you'll only be attracting really strong people soon. You know, like professional athletes, bodybuilders, construction workers, that sort of thing."; - next; - mes "[Psychic Advisor]"; - mes "So if this is what you want, congratulations! Fortune smiles upon you with joy this day."; - next; - mes "[Psychic Advisor]"; - mes "But if this is the opposite of what you want, well, I'm sorry. Fortune smiles upon you with sarcasm this day. But it's not too late to change destiny!"; - next; - break; - case 2: - mes "Looooove, eh? "; - mes "Let me contact"; - mes "the spirits for a second."; - next; - mes "[Psychic Advisor]"; - mes "Ah! An old flame will return! I don't know if they'll fall in love with you again, ask you for money, or if that person's back for revenge..."; - next; - mes "[Psychic Advisor]"; - mes "But an old flame will definitely resurface in your life. Somehow. So if that's good news, congratulations! But, if that's bad news, then be careful!"; - next; - break; - case 3: - mes "Um..."; - if (Sex == SEX_MALE) - mes "The girl that you"; - else - mes "The boy that you"; - mes "are currently seeing"; - mes "is perfect for you!"; - next; - switch(select("How did you know?", "You're so wrong!", "I'm single!")) { - case 1: - mes "[Psychic Advisor]"; - mes "Well..."; - mes "We psychics are pretty accurate at this kind of thing. And it's so good to see that you're really happy with your partner!"; - close; - case 2: - mes "[Psychic Advisor]"; - mes "You didn't let me finish my sentence. What I meant to say was..."; - next; - mes "[Psychic Advisor]"; - if (Sex == SEX_MALE) - mes "The girl that you"; - else - mes "The boy that you"; - mes "are currently seeing is perfect for you if you want to live the rest of your life in utter misery!"; - next; - mes "[Psychic Advisor]"; - mes "But even if you break up, do it as soon as possible and try to be good friends after the matter."; - next; - mes "[Psychic Advisor]"; - mes "It'll make better people out of both of you. But that's just what I think."; - close; - case 3: - mes "[Psychic Advisor]"; - mes "Oh..."; - mes "Um, I'm sorry."; - mes "Sometimes, I get the future and the present mixed up. You know, since I'm always looking into the future...?"; - next; - mes "[Psychic Advisor]"; - if (Sex == SEX_MALE) { - mes "What I meant to say was"; - mes "^3355FFyou and the perfect woman will soon fall in love^000000. Yes, that's what I meant!"; - } - else { - mes "What I meant to say was"; - mes "^3355FFyou will soon be swept off your feet by the perfect guy^000000. Yes, that's what I meant!"; - } - close; - } - break; - case 4: - mes "Looking for romance, eh? Life can always use a little more excitement."; - next; - mes "[Psychic Advisor]"; - mes "That's strange, I foresee a Love Triangle in your future. No, wait! A Love..."; - mes "Decagon?"; - next; - mes "[Psychic Advisor]"; - mes "What's the shape with eleven sides? Now, you can't expect me to know that off the top of my head. I'm a psychic, not a mathematician!"; - next; - } - mes "[Psychic Advisor]"; - mes "Love is always fun! Even in this bleak world, love surrounds us in its inviting glow. Treasure that person who is special to you, and come back for another reading!"; - close; - case 3: - mes "[Psychic Advisor]"; - switch(rand(1,3)) { - case 1: - mes "Money? Well, you must be more fortunate in money than I am. After all, I sit here all day and give this service for free!"; - next; - mes "[Psychic Advisor]"; - mes "Well..."; - mes "Um, the spirits tell me that you might not win the lottery, no matter how many tickets you buy. I'm sorry, but it's true."; - next; - mes "[Psychic Advisor]"; - mes "But I just saved you a lifetime's worth of lottery tickets! That could be quite a hefty sum of money!"; - next; - break; - case 2: - mes "Ah yes. Let me contact the spirit world. They usually have sound financial advice, despite the fact that don't have any sort of economy over there."; - next; - mes "[Psychic Advisor]"; - mes "First off, be accountable for your own money and use a budget that works for you. A good rule of thumb? For every ten zeny you earn, put one zeny aside and either save it or invest it for later."; - next; - mes "[Psychic Advisor]"; - mes "And whatever you do, don't work as a psychic advisor in Rune-Midgard. The real cash, apparently, is in discovering new countries. Why didn't I do that?!"; - next; - break; - case 3: - mes "So you want to know about money, eh? Let me commune with the spirits of the supernatural realm..."; - next; - mes "[Psychic Advisor]"; - mes "Ah yes. They are telling me that it's best to be moderate in all things. Certainly, you must make sure that your expeditures don't exceed your budget."; - next; - mes "[Psychic Advisor]"; - mes "However, you should also avoid gambling with your money. By that, I mean you should save and invest carefully. Don't be tempted into risky get-rich-quick schemes!"; - next; - mes "[Psychic Advisor]"; - mes "On the other hand, get-rich-not-as-quick schemes are okay, so long as you know what you are doing. I'm right, aren't I?"; - next; - } - mes "[Psychic Advisor]"; - mes "Well, you need money to live, but having money alone isn't living. Don't forget that there are other important things. And try not to stress out, okay?"; - close; - case 4: - mes "[Psychic Advisor]"; - switch(rand(1,4)) { - case 1: - mes "Your grades? You're still in school? I'm impressed! Your eyes tell me you are rather mature for your age. Alright, let me contact the spirits..."; - next; - mes "[Psychic Advisor]"; - mes "Hm? All the spirits said was 'Did you study?' Well, I guess I answered your question with yet another question!"; - next; - break; - case 2: - mes "You're asking me about your grades? That's weird. I mean, they only ask about your report card at school, right?"; - next; - mes "[Psychic Advisor]"; - mes "An education is really important, but don't be discouraged if your grades aren't as good as you'd like."; - next; - mes "[Psychic Advisor]"; - mes "Perhaps your style of learning isn't really supported by your school, or maybe you're not that interested in academics. Understandable."; - next; - mes "[Psychic Advisor]"; - mes "The spirits tell me that you should experiment with different learning styles, so that you can make sure that you get the grades that you want."; - next; - mes "[Psychic Advisor]"; - mes "Yeah..."; - mes "The spirits are"; - mes "awfully lazy today."; - next; - break; - case 3: - mes "^FF0000F MINUS^000000!"; - mes "Hahahahahahaha~!"; - next; - mes "[Psychic Advisor]"; - mes "Oh, I'm sorry, I just love doing that. Okay, let me ask the spirits for real this time. Hmmmm..."; - next; - mes "[Psychic Advisor]"; - mes "Hmm. The spirits are being awfully rude today. They're saying, 'If you're so worried about your grades, why don't you ask your teacher?'"; - next; - mes "[Psychic Advisor]"; - mes "Now that I think about it, they do have a point. Why don't you ask your teacher, professor or whatever to see if you have any problems?"; - next; - mes "[Psychic Advisor]"; - mes "I mean, they're being paid to help you. And well, my service is free. So... Yeah."; - next; - break; - case 4: - mes "Oh cool!"; - mes "I sense that you will soon be receiving straight A's..."; - mes "In Effort!"; - next; - mes "[Psychic Advisor]"; - mes "Now, I couldn't tell you what your real grades are. You might be destined to get an A in every class or subject, but if I told you that..."; - next; - mes "[Psychic Advisor]"; - mes "You'd probably get cocky, slack off on studying, fail your classes and cause a time paradox. I mean, I have to actually be in the future to actually see it, you know?"; - next; - mes "[Psychic Advisor]"; - mes "Instead of worrying about time paradoxes, why don't you make your own destiny?"; - next; - } - mes "[Psychic Advisor]"; - mes "Well, in any case, concentrating on your studies is tough, but it can be rewarding. I hope you do well in whatever you choose to do~"; - close; - case 5: - mes "[Psychic Advisor]"; - mes "The future? I thought it was implied that any fortune I tell you is about the future in the specific field that you choose."; - next; - mes "[Psychic Advisor]"; - mes "I guess you want to know about the future in general. Let me commune with the spirits, and we'll see what they have to say, okay?"; - next; - mes "[Psychic Advisor]"; - switch(rand(1,4)) { - case 1: - mes "Hmm..."; - mes "In the future, Sex, Violence, and Rock and Roll are completely abolished. Mankind experiences an era of complete peace and utter boredom."; - next; - mes "[Psychic Advisor]"; - mes "I don't know how far in the future that will occur, but it better not happen soon!"; - next; - break; - case 2: - mes "In the future, Earth is protected by a single giant robot: Plutonium Overdrive Ignition Negatron G a.k.a POING."; - next; - mes "[Psychic Advisor]"; - mes "POING fights off many Kylorian invasions for years, until it is finally defeated by Dr. Hubris' Mechanical Overlord: Nyxltron 47."; - next; - mes "[Psychic Advisor]"; - mes "Luckily, Doctor Pyeus finishes the Gravitron Oblivion Drive for the Plutonium Overdrive Ignition Negatron G system just in time."; - next; - mes "[Psychic Advisor]"; - mes "And so, POING rises again, reborn as the Automatic Hero: GOD-POING. Of course, Nyxltron 47 is destroyed."; - next; - mes "[Psychic Advisor]"; - mes "That's probably the most important thing you'll ever learn about the future. Trust me, the rest of it's boring."; - next; - break; - case 3: - mes "In the future, believe it or not, the internet will be replaced by a giant brain. I don't know how, but trust me, this brain's huge."; - next; - mes "[Psychic Advisor]"; - mes "Thanks to the number of internet web journals, this brain becomes peaceful, and decides not to take over the world as it originally planned."; - next; - mes "[Psychic Advisor]"; - mes "Yes..."; - mes "This weird brain thing definitely becomes a source for good, a loving benefactor to the human race, so long as people keep writing personal entries on the internet."; - next; - break; - case 4: - mes "In the future, they genetically engineer all sorts of plants."; - mes "So many kinds! It's crazy I tell you!"; - next; - mes "[Psychic Advisor]"; - mes "Eventually, they create trees that grow celebrity impersonators. Today, it looks like a miracle of science, and a threat to Hollywood starlets."; - next; - mes "[Psychic Advisor]"; - mes "However, the people who buy these trees are the same kind who who wear those really tacky shirts..."; - next; - mes "[Psychic Advisor]"; - mes "You know, the kind with a lame sense of humor where it will have the word 'Cat-o-strophic' and there's this little kitten dressed like a mad scientist or something."; - next; - } - mes "[Psychic Advisor]"; - mes "Well..."; - mes "That's my prediction. Can you really argue with the wisdom of the spirit world?"; - close; - case 6: - mes "[Psychic Advisor]"; - mes "Fashion...?"; - mes "What does that have to do with matters of the supernatural? Well, um, let me contact the spirits. Ah! Here we go..."; - next; - mes "[Psychic Advisor]"; - switch(rand(1,5)) { - case 1: - mes "..."; - next; - mes "[Psychic Advisor]"; - mes "..."; - mes "......"; - next; - mes "[Psychic Advisor]"; - mes "I'm seeing something..."; - mes "It looks like, a..."; - next; - mes "[Psychic Advisor]"; - mes "A..."; - mes "A... Fish?"; - mes "On someone's head?"; - next; - mes "[Psychic Advisor]"; - mes "..."; - mes "It was the most horrible vision!"; - next; - break; - case 2: - mes "It feels nice to wear expensive headgears! And it's nice to wear fancy clothing too! But remember..."; - next; - mes "[Psychic Advisor]"; - mes "No matter how much zeny you may put into your wardrobe, you'll look silly unless you match the things you wear."; - next; - mes "[Psychic Advisor]"; - mes "Now, here's a good example of a mismatched outfit. Imagine some Crusader wearing a Crown, Elven ears and an Iron Cain."; - next; - mes "[Psychic Advisor]"; - mes "Instead of looking cool, they look sort of like an Evil Keebler Prince. Spooky, huh?"; - next; - break; - case 3: - mes "I predict..."; - mes "That Cowboy Hats will be very popular among female"; - mes "Super Novices"; - mes "very soon!"; - next; - mes "[Psychic Advisor]"; - mes "Come on, wouldn't you agree? Cowboy Hats look great on Super Novices!"; - next; - break; - case 4: - mes "Sometimes, it's a cute idea to follow a theme. Like, if you wear both Angel Wing and Angel Wing Ears at the same time."; - next; - mes "[Psychic Advisor]"; - mes "Of course, that might be too expensive for most people, but you get the idea."; - next; - break; - case 5: - mes "I now predict that the Sombrero will be come very popular when a mass group of Bards form a guild in which the members only wear Sombreros."; - next; - mes "[Psychic Advisor]"; - mes "Or was it the Feathered Bonnet that's supposed to skyrocket in popularity? Both of those hats are just sooo stylish, especially on Bards..."; - next; - } - mes "[Psychic Advisor]"; - mes "Well..."; - mes "We psychic consultants aren't really trained for fashion matters, but I hope I was at least a little bit of help to you."; - close; - } -} - -geffen_in,109,72,2 script Monster Scholar 4_F_01,{ - mes "[Estheres]"; - mes "Hello, I'm the resident expert of Monsterology here in Geffen. Is there anything in particular that you're curious about?"; - next; - switch(select("Monsters in the Area.", "Recent Monster News.", "Era of Monsters", "Jellopy Theory.")) { - case 1: - mes "[Estheres]"; - mes "Well, as you may already know, since Wizards and Mages train in Geffen, monsters tend to stay away from the city. So tired adventurers are welcome to rest here."; - next; - mes "[Estheres]"; - mes "Still, if you want to seek out strong monsters, you can cross the bridge to the West and fight Kobolds."; - next; - mes "[Estheres]"; - if (BaseLevel > 40) - mes "You look strong enough for that kind of challenge. But if you see anyone more reckless cross the Western bridge, you might want to give them a warning."; - else - mes "Um, but if you're planning to go there, you better not go alone. I really recommend that you be well prepared if you're gonna fight those kinds of monsters."; - break; - case 2: - mes "[Estheres]"; - mes "Recent news?"; - mes "Well, the Juno Monster Musuem is now open to the public. They have a fascinating exhibit and various monsters are now on display!"; - next; - mes "[Estheres]"; - mes "I mean, I've read about all sorts of monsters in the Prontera and Juno Libraries, and encountered a few in the wild, but now I get a chance to see some strong monsters in real life!"; - next; - mes "[Estheres]"; - mes "What's also exciting is the exploration achieved by you adventurers for the Rune-Midgarts Kingdom."; - next; - mes "[Estheres]"; - mes "When a new land is discovered, there are usually unique monsters that are indigenous to that area."; - next; - mes "[Estheres]"; - mes "So new monsters are basically being discovered all the time! The variety of creatures that roam this world is really quite fascinating."; - break; - case 3: - mes "[Estheres]"; - mes "The truth is that monsters have existed since ancient times. The Era of Monsters was when the power of the monsters was at its peak."; - next; - mes "[Estheres]"; - mes "They've plagued humans for a long time, but were completely annihilated in a great war between mankind and the monsters."; - next; - mes "[Estheres]"; - mes "However, as the balance of nature has changed, the monsters have inevitably returned. Not too many people know this, but most monsters were gentle creatures at one time. It's sad, really..."; - break; - case 4: - mes "[Estheres]"; - mes "Ah yes, Jellopy."; - mes "It seems that almost every monster around is composed of Jellopy. But is it just a crystallization made by some monsters, or is it... More?"; - next; - mes "[Estheres]"; - mes "From our research of ancient monsters and studies of recently discovered monsters, it seems that that traces of Jellopy cannot be found in stronger beasts."; - next; - mes "[Estheres]"; - mes "Still, may of us believe that there might be some relation to Jellopy and monsters, although it may be hard to believe that there is any."; - next; - mes "[Estheres]"; - mes "It's possible that Jellopy may be linked to a monster's personality and strength. So, if you mixed Jellopy with something, you'd create a stronger monster."; - next; - mes "[Estheres]"; - mes "Of course, doing that kind of experimentation just seems dangerous. You might be able to unleash some really scary monsters into the world..."; - break; - } - close; -} - -//== Lvl 4 weapon quest related NPC ======================== -geffen,203,146,5 script Citizen 4W_M_01,{ - 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; -} diff --git a/npc/cities/gonryun.txt b/npc/cities/gonryun.txt deleted file mode 100644 index a6d43deaa..000000000 --- a/npc/cities/gonryun.txt +++ /dev/null @@ -1,435 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2015 Hercules Dev Team -//= Copyright (C) Euphy -//= Copyright (C) L0ne_W0lf -//= Copyright (C) x[tsk] -//= Copyright (C) Lupus -//= Copyright (C) Toms -//= Copyright (C) Silent -//= Copyright (C) Nexon -//= Copyright (C) KarLaeda -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Kunlun Town -//================= Description =========================================== -//= Kunlun Town Script -//================= Current Version ======================================= -//= 1.6 -//========================================================================= - -//== Kunlun Transportation ================================= -- script ::Kunlun_Envoy_gonryun FAKE_NPC,{ - mes "[Wa Bai Hu]"; - mes "Good day~"; - mes "Let me invite you all"; - mes "to my homeland, Kunlun."; - mes "It is my honor to guide"; - mes "such distinguished quests from"; - mes "the Rune-Midgard kingdom."; - next; - switch(select("About Kunlun", "Visit Kunlun", "Cancel")) { - case 1: - mes "[Wa Bai Hu]"; - mes "Kunlun is a beautiful place,"; - mes "rich with history, and its"; - mes "own traditions. I also think"; - mes "Kunlun is the best place for"; - mes "sightseeing."; - next; - mes "[Wa Bai Hu]"; - mes "When you arrive at the harbor of"; - mes "Kunlun, you'll be able to see"; - mes "miniature replicas of"; - mes "buildings found in Alberta"; - mes "and Prontera."; - next; - mes "[Wa Bai Hu]"; - mes "After enjoying a nice, leisurely"; - mes "stroll, step into the beautiful"; - mes "column of light that will take"; - mes "you up into the clouds to"; - mes "Kunlun Village."; - next; - mes "[Wa Bai Hu]"; - mes "I've heard that on the"; - mes "Rune-Midgarts continent,"; - mes "there is another city that is"; - mes "is kept aloft in the sky by"; - mes "an ancient, mysterious power..."; - next; - mes "[Wa Bai Hu]"; - mes "Well, my Kunlun also floats"; - mes "in the air, but without any"; - mes "so called technology or"; - mes "power supply. We consider"; - mes "our land especially blessed..."; - next; - mes "[Wa Bai Hu]"; - mes "When you're in Kunlun, don't"; - mes "forget to try our specialties"; - mes "such as the giant dumpling or the heaven peach."; - next; - mes "[Wa Bai Hu]"; - mes "You'd better prepare yourself"; - mes "if you are planning to visit"; - mes "the Kunlun dungeon. I must"; - mes "say, that is not a safe place to go for fun."; - next; - mes "[Wa Bai Hu]"; - mes "If you are interested in visiting"; - mes "Kunlun, do not hesitate to let"; - mes "me know. It's my great pleasure"; - mes "to serve you, honorable guest."; - close; - case 2: - mes "[Wa Bai Hu]"; - mes "Excellent choice, I am glad"; - mes "to have you as our guest~"; - mes "However, a small fee is required"; - mes "to board the ship to Kunlun."; - next; - mes "[Wa Bai Hu]"; - mes "We ask that you pay 10,000 zeny"; - mes "prior to departure. That fee also"; - mes "covers the cost of returning"; - mes "to Alberta. I am ready to guide"; - mes "you to Kunlun at any time."; - next; - mes "[Wa Bai Hu]"; - mes "Would you like to board?"; - next; - if (select("To Kunlun~!", "No.") == 1) { - if (Zeny > 9999) { - mes "[Wa Bai Hu]"; - mes "Thank you, let me guide you there immediately."; - close2; - Zeny -= 10000; - warp "gon_fild01",258,82; - end; - } - mes "[Wa Bai Hu]"; - mes "I am sorry, but you must have"; - mes "10,000 zeny to travel to Kunlun."; - mes "Please make sure you have enough"; - mes "zeny with you. Thank you, and"; - mes "please come again."; - close; - } - mes "[Wa Bai Hu]"; - mes "I see. However, whenever you"; - mes "change your mind, please let"; - mes "me know. It would be a great"; - mes "please to serve you, most"; - mes "honorable guest."; - close; - case 3: - mes "[Wa Bai Hu]"; - mes "I see. However, whenever you"; - mes "change your mind, please let me"; - mes "know. It would be a great pleasure to serve you, most honorable guest."; - close; - } -} - -gon_fild01,255,79,7 script Kunlun Envoy#gon2 4_M_TWMIDMAN,{ - mes "[Wa Bai Hu]"; - mes "So, did you enjoy your trip?"; - mes "I guess it's the time for you to"; - mes "go home. The ship to Rune-Midgard is ready to depart at any time."; - next; - if (select("Go back to Alberta", "Cancel") == 1) { - mes "[Wa Bai Hu]"; - mes "Please come again."; - mes "I hope you will let your friends"; - mes "know about Kunlun when you get"; - mes "back. Now, let me guide you"; - mes "back to Alberta."; - close2; - if (RENEWAL) - warp "alberta",244,60; - else - warp "alberta",243,67; - end; - } - mes "[Wa Bai Hu]"; - mes "Take your time, my guest."; - mes "There should be many places"; - mes "you may have missed."; - close; -} - -gon_fild01,187,239,7 script Kunlun Envoy#gon3 4_M_TWMIDMAN,{ - mes "[Zhang Quing Long]"; - mes "Please head north to enter Kunlun."; - mes "I hope you will have a great time"; - mes "while staying in Kunlun."; - close; -} - -gonryun,153,64,7 script Kunlun Envoy#gon4 4_M_TWMIDMAN,{ - mes "[Zhang Quing Long]"; - mes "Please make yourself comfortable."; - mes "If you want to go back, I will"; - mes "be more than happy to guide you"; - mes "to the ship to Alberta."; - next; - if (select("Go back to the harbor", "Cancel") == 1) { - mes "[Zhang Quing Long]"; - mes "I hope you enjoyed your trip."; - mes "Now, let me guide you back"; - mes "to the harbor."; - close2; - warp "gon_fild01",258,82; - end; - } - mes "[Zhang Quing Long]"; - mes "Take your time, my guest."; - mes "There should be many places"; - mes "you may have missed."; - close; -} - -//== Generic Kunlun NPCs =================================== -gonryun,200,82,3 script Jian Chung Xun#gon 4_M_TWBOY,{ - mes "[Jian Chung Xun]"; - mes "I simply adore festivals."; - mes "That's why I love this town."; - mes "This town makes me feel like I am"; - mes "in the middle of a festival all year round."; - close; -} - -gonryun,268,88,3 script Liang Zhun Bu#gon 4_M_TWMIDMAN,{ - mes "[Liang Zhun Bu]"; - mes "We are proud to be an independent"; - mes "nation, and have been fighting"; - mes "against the evil invaders who've"; - mes "wanted to conquer this blessed land for many years..."; - next; - mes "[Liang Zhun Bu]"; - mes "But we have victoriously fended"; - mes "off every invasion! As long"; - mes "as we believe in ourselves,"; - mes "we shall never forget the"; - mes "Trumphal Song that has helped us in our struggles."; - close; -} - -gonryun,118,111,5 script Qian Yuen Shuang#gon 4_M_ORIENT02,{ - mes "[Qian Yuen Shuang]"; - mes "The chief of this town is a man"; - mes "who opens his heart to others."; - mes "However, I have heard that there"; - mes "are some people who don't like his personality..."; - next; - mes "[Qian Yuen Shuang]"; - mes "Well, I like my town. The Chief's"; - mes "efforts have made our town safer."; - mes "I just hope other people feel the"; - mes "same way about what he has done."; - close; -} - -gonryun,181,161,3 script Jing Wen Zhen#gon 4_F_TWMIDWOMAN,{ - mes "[Jing Wen Zhen]"; - mes "The men in our town, Kunlun, are"; - mes "all brave and courageous."; - mes "But, they are unable to get"; - mes "married. It's quite a shame really..."; - next; - mes "[Jing Wen Zhen]"; - mes "It's all because there are"; - mes "more men than women."; - mes "I am not even sure whether"; - mes "or not my son will be able to"; - mes "find me a daughter in law."; - close; -} - -gonryun,113,135,6 script Gatekeeper#gon 8_M_TWSOLDIER,{ - mes "[Kunlun Guard]"; - mes "Welcome."; - mes "This is the residence of Shi Yan Wen, the chief of Kunlun."; - next; - mes "[Kunlun Guard]"; - mes "You better behave yourself while"; - mes "you are here. If we see anything"; - mes "suspicious, we'll arrest you in a heartbeat."; - next; - mes "[Kunlun Guard]"; - mes "However, rest assured, you seem"; - mes "like a trustworthy person."; - mes "I'm sure nothing will happen. Enjoy your visit."; - close; -} - -gonryun,113,127,6 script Gatekeeper#gon2 8_M_TWSOLDIER,{ - mes "[Kunlun Guard]"; - mes "Welcome."; - mes "This is the residence of Shi Yan Wen, the chief of Kunlun."; - next; - mes "[Kunlun Guard]"; - mes "You better behave yourself while"; - mes "you are here. If we see anything"; - mes "suspicious, we'll arrest you in a heartbeat."; - next; - mes "[Kunlun Guard]"; - mes "However, rest assured, you seem"; - mes "like a trustworthy person."; - mes "I'm sure nothing will happen. Enjoy your visit."; - close; -} - -gon_in,73,82,5 script Ji Chung Zhe#gon 4_M_TWTEAMAN,{ - if (nakha >= 0 && nakha <= 2) { - mes "[Ji Chung Zhe]"; - mes "............"; - next; - mes "[Ji Chung Zhe]"; - mes "puuuuu....This sure is"; - mes "something to worry about."; - close; - } - if (nakha == 3) { - cha = 1; - mes "[Ji Chung Zhe]"; - mes "I am Ji Chung Zhe, a renown brewer"; - mes "of teas. Everyday, I put all my"; - mes "efforts in making scrumptious, delicious tea."; - next; - mes "[Ji Chung Zhe]"; - mes "*Sigh* But lately, the tea I've"; - mes "been making hasn't been that"; - mes "great... If I only had some special ingredients..."; - next; - mes "[Ji Chung Zhe]"; - mes "I've been told that if you use"; - mes "a snake, you can concoct a truly"; - mes "extraordinary beverage~"; - mes "But...where can I find one"; - mes "and how can I catch one?"; - mes "Hmm..."; - close; - } -} - -gon_in,173,27,3 script Yu Jiu Xia#gon 4_M_TWBOY,{ - mes "[Yu Jiu Xia]"; - mes "Geez, just as I thought."; - mes "They won't sell alcohol to me."; - mes "Maybe its cuz I'm too young..."; - mes "Hmmm...I wonder how it tastes..."; - next; - mes "[Yu Jiu Xia]"; - mes "However, I know they're making"; - mes "some tasty tea that even kids"; - mes "like me can enjoy."; - mes "It makes my mouth water just"; - mes "thinking about this new tea."; - close; -} - -gonryun,166,196,3 script Soldier#gon 8_M_TWSOLDIER,{ - if (b_sword < 7) { - mes "[Wa Qiu Wu]"; - mes "Let me tell you something"; - mes "interesting about this place~"; - mes "Long ago, this entire area used to be a shrine."; - next; - mes "[Wa Qiu Wu]"; - mes "In those days, Taoist hermits"; - mes "used to gather here in order to"; - mes "reach the Sky Kingdom. However,"; - mes "they failed miserably...slowly the monsters began to come..."; - close; - } - else if ((b_sword > 6) && (b_sword < 10)) { - mes "[Wa Qiu Wu]"; - mes "Don't you think it was quite noisy"; - mes "last night? It was all because"; - mes "of that thief. He made quite"; - mes "a scene...It was so loud that"; - mes "I couldn't sleep at all..."; - next; - mes "[Wa Qiu Wu]"; - mes "Ahh~~~~!"; - mes "In the middle of all that"; - mes "commotion, I saw"; - mes "something running straight"; - mes "into the shrine."; - next; - mes "[Wa Qiu Wu]"; - mes "It was moving so fast that"; - mes "I couldn't even tell what it was."; - mes "From what I could recognize, it"; - mes "looked human. I wonder"; - mes "what it was..."; - next; - mes "[Wa Qiu Wu]"; - mes "It might have been the"; - mes "thief, but it moved"; - mes "so fast, it seemed like"; - mes "just a blur."; - close; - } - mes "[Wa Qiu Wu]"; - mes "Let me tell you something"; - mes "interesting~ This entire area"; - mes "used to be a shrine."; - next; - mes "[Wa Qiu Wu]"; - mes "A long time ago, Taoist hermits"; - mes "used to gather here in order to"; - mes "reach the Sky Kingdom. However,"; - mes "they failed miserably...slowly the monsters began to come."; - next; - mes "[Wa Qiu Wu]"; - mes "The town is getting ready for the"; - mes "Festival, but something is delaying"; - mes "it. This has never happened before..."; - close; -} - -gonryun,169,71,3 script Guidev#gon 4_F_TWGIRL,{ - mes "[Li Xi Jiao]"; - mes "Welcome to Kunlun!"; - mes "Did you enjoy all the incredible"; - mes "scenery on your way here?"; - mes "The buildings may be small, but we"; - mes "all worked hard to build this city."; - next; - mes "[Li Xi Jiao]"; - mes "I have some miniatures of"; - mes "the Rune-Midgarts Kingdom."; - mes "You can view all of Prontera in a"; - mes "single glance. The craftsmanship"; - mes "on these masterpieces is quite stunning!"; - next; - mes "[Li Xi Jiao]"; - mes "If you look around carefully,"; - mes "You'll find all sorts of beautiful"; - mes "sights throughout the town."; - close; -} diff --git a/npc/cities/hugel.txt b/npc/cities/hugel.txt deleted file mode 100644 index 6a02a4901..000000000 --- a/npc/cities/hugel.txt +++ /dev/null @@ -1,214 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2015 Hercules Dev Team -//= Copyright (C) Kisuka -//= Copyright (C) L0ne_W0lf -//= Copyright (C) DZeroX -//= Copyright (C) SinSloth -//= Copyright (C) Playtester -//= Copyright (C) Munin -//= Copyright (C) erKURITA -//= Copyright (C) Poki#3 -//= Copyright (C) vicious_pucca -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Hugel City -//================= Description =========================================== -//= NPC's for the City of Hugel. -//================= Current Version ======================================= -//= 1.7 -//========================================================================= - -//== Hugel ================================================= -hugel,189,143,5 script Young Man 4_M_HUMAN_01,{ - mes "[Young Man]"; - mes "Huh. So that giant"; - mes "air pouch can make"; - mes "people float in midair?"; - mes "Would filling my tummy"; - mes "with air work the same way?"; - close; -} - -hugel,126,151,3 script Emily 4_F_01,{ - mes "[Emily]"; - mes "I feel so blessed to"; - mes "live in this quant, little"; - mes "town. It's so beautiful, and"; - mes "everyone here is so nice~"; - next; - mes "[Emily]"; - mes "For some reason, my older"; - mes "sister wants to move out of"; - mes "Hugel as soon as she can. She"; - mes "Says that she's getting creeped"; - mes "out by the people that live here."; - mes "Don't you think that sounds weird?"; - close; -} - -hugel,86,165,5 script Kayplas 4_M_HUBOY,{ - mes "[Kayplas]"; - mes "Ooh, I really want to"; - mes "have that red bottle."; - mes "I should ask my mom"; - mes "to buy me one. It doesn't"; - mes "look too expensive, does it?"; - close; -} - -hugel,71,197,3 script Lisa 4_F_01,{ - mes "[Lisa]"; - mes "Hugel is a pretty"; - mes "small, homely village."; - mes "Everyone knows everyone,"; - mes "everybody knows what"; - mes "everybody else is doing."; - mes "It's so suffocating!"; - next; - mes "[Lisa]"; - mes "There's no privacy in"; - mes "small towns. Someday,"; - mes "I wanna go out and"; - mes "live in the big city~"; - close; -} - -hugel,169,112,5 script Old Nikki 4_F_HUGRANMA,{ - mes "[Old Nikki]"; - mes "You must not be from"; - mes "around here. Ah, you're"; - mes "an adventurer, right? Do"; - mes "you know how I could tell?"; - next; - mes "[Old Nikki]"; - mes "It's because everyone"; - mes "who's lived here starts"; - mes "to look alike after a while."; - mes "And you certainly don't look"; - mes "as old as us. Well, have"; - mes "a nice day, adventurer~"; - close; -} - -hugel,175,115,5 script Marius 4_M_HUGRANFA,{ - mes "[Marius]"; - mes "Yes, I'm an old man, but"; - mes "I can lick a whippersnapper"; - mes "like you any day of the week!"; - mes "You know, Hugel's got a longer"; - mes "life expectancy than all the other towns. You wanna know why?"; - next; - mes "[Marius]"; - mes "It's because the old"; - mes "coots in this town refuse"; - mes "to just lay down and die!"; - mes "Now, c'mon! Lemme show"; - mes "you how strong I am! Let's"; - mes "wrestle or something, kid~"; - close; -} - -//== Inside Hugel ========================================== -hu_in01,111,386,4 script Chris 4_M_04,{ - mes "[Chris]"; - mes "You know, the people don't"; - mes "fight harmful monsters, they"; - mes "just protect themselves by"; - mes "equipping armor. That's"; - mes "just the way they are."; - next; - mes "[Chris]"; - mes "If you want to buy"; - mes "some nicer armors,"; - mes "then I suggest buying"; - mes "some in a bigger city."; - close; -} - -hu_in01,23,311,4 script Party Supplies Shop 4_M_HUMAN_01,{ - mes "[Shopkeeper]"; - mes "Welcome to the party supplies"; - mes "shop!"; - mes "Why don't you enjoy some"; - mes "spectacular fireworks with your"; - mes "friends?"; - mes "We can provide you with 5 of them"; - mes "at 500 zeny."; - next; - switch (select("Buy", "Cancel")) { - case 1: - if (Zeny < 500) { - mes "[Shopkeeper]"; - mes "I am sorry, but you don't have"; - mes "enough money~"; - close; - } - Zeny -= 500; - getitem Fire_Cracker,5; // Fire_Cracker - mes "[Shopkeeper]"; - mes "Here you go!"; - mes "Have fun with them!"; - close; - case 2: - mes "[Shopkeeper]"; - mes "Thank you, please come again."; - close; - } -} - -hu_in01,18,94,0 script A Part-Timer#1 1_M_03,{ - mes "[Luda]"; - mes "Welcome to the"; - mes "Shrine Expedition Office."; - mes "I'm Luda, a part-time"; - mes "assistant. My job is to"; - mes "keep this office neat and"; - mes "clean, but look at this place!"; - next; - mes "[Luda]"; - mes "Still, I think I can"; - mes "handle this difficult task~"; - mes "This room is the office for"; - mes "the Schwaltzvalt Republic team,"; - mes "and the other is for the Rune-"; - mes "Midgarts Kingdom team."; - next; - mes "[Luda]"; - mes "I have to clean both rooms,"; - mes "so they keep me pretty busy."; - mes "Why don't you volunteer for"; - mes "their expedition? I know they"; - mes "can't really pay you, but it's"; - mes "a great chance to explore~"; - close; -} - -hu_in01,26,77,4 script A Part-Timer#2 1_M_04,{ - mes "^3355FFThis part-timer is"; - mes "completely engrossed"; - mes "in his task of organizing"; - mes "files and books.^000000"; - close; -} diff --git a/npc/cities/izlude.txt b/npc/cities/izlude.txt deleted file mode 100644 index 7ee10f320..000000000 --- a/npc/cities/izlude.txt +++ /dev/null @@ -1,524 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2015 Hercules Dev Team -//= Copyright (C) Euphy -//= Copyright (C) Paradox924X -//= Copyright (C) Evera -//= Copyright (C) Silent -//= Copyright (C) MasterOfMuppets -//= Copyright (C) Silentdragon -//= Copyright (C) Nexon -//= Copyright (C) Lupus -//= Copyright (C) L0ne_W0lf -//= Copyright (C) kobra_k88 -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Izlude Town -//================= Description =========================================== -//= Izlude town NPCs -//================= Current Version ======================================= -//= 1.9a -//========================================================================= - -//== Izlude ================================================ -- script ::Sailor_izlude FAKE_NPC,{ - mes "[Sailor]"; - mes "Hey everybody!"; - mes "Attention, attention!"; - mes "Come and ride the wind"; - mes "on a fascinating Ship!"; - mes "Hurry, hurry!"; - next; - switch(select("Byalan Island -> 150 Zeny.", "Alberta Marina -> 500 Zeny.", "Cancel.")) { - case 1: - if (Zeny < 150) { - mes "[Sailor]"; - mes "150 Zeny!"; - mes "Only 150 Zeny to ride!"; - close; - } - Zeny -= 150; - warp "izlu2dun",107,50; - end; - case 2: - if (Zeny < 500) { - mes "[Sailor]"; - mes "500 Zeny!"; - mes "Only 500 Zeny to ride!"; - close; - } - Zeny -= 500; - warp "alberta",188,169; - end; - case 3: - close; - } -} - -- script ::Bonne_izlude FAKE_NPC,{ - mes "[Bonne]"; - mes "Greetings!"; - mes "Izlude welcomes you."; - next; - mes "[Bonne]"; - mes "Izlude is the satellite city of Prontera, capital of the Rune-Midgarts kingdom."; - next; - mes "[Bonne]"; - mes "Izlude is key to our kingdom because of the Swordsman Association located here, as well as the fact that Izlude is in charge of protecting the Rune-Midgard coastline."; - next; - mes "[Bonne]"; - mes "I know, this bridge might look weak and fragile, but it is actually state of the art, built with the most sophisticated technology."; - next; - mes "[Bonne]"; - mes "No matter how strong storms may be, or how many people may stand on it, this bridge will NEEEEVER collapse."; - next; - mes "[Bonne]"; - mes "Please enjoy"; - mes "your visit"; - mes "here in Izlude."; - close; -} - -- script ::Charfri_izlude FAKE_NPC,{ - mes "[Charfri]"; - switch(rand(2)) { - case 1: - mes "Some people may think Izlude is just a satellite city of Prontera, and not really that important..."; - next; - mes "[Charfri]"; - mes "But Izlude is a beautiful town right next to the ocean, as well as beautiful Bylan Island."; - next; - mes "[Charfri]"; - mes "You'll have to board on a ship at the port to get to Byalan Island. There are dangerous dungeons on that island, so don't go snooping around just anywhere."; - close; - default: - mes "Though it is very beautiful, Byalan Island has a mysterious dungeon that extends deep under the sea."; - next; - mes "[Charfri]"; - mes "People who've actually been there have said that if you go deep enough, the dungeon actually descends underwater."; - next; - mes "[Charfri]"; - mes "Surprisingly, once you're underwater, you can breathe just like a fish. Maybe some kind of supernatural force is in effect."; - next; - mes "[Charfri]"; - mes "Ah..."; - mes "The people who've seen the underwater view say it is so fantastic that they've kept dreaming of it ever since."; - next; - mes "[Charfri]"; - mes "But unfortunately, the monsters are too strong for ordinary people to merely go sight seeing there. Still, just once, I'd like to go down there..."; - close; - } -} - -- script ::Cuskoal_izlude FAKE_NPC,{ - mes "[Cuskoal]"; - switch(rand(2)) { - case 1: - mes "The Arena here is THE place for capable young people from all over the Rune-Midgarts Kingdom to challenge themselves and test their skills."; - next; - mes "[Cuskoal]"; - mes "You can battle with monsters of differing levels. So, the number of stages you survive will be a testiment to your battle prowess."; - next; - mes "[Cuskoal]"; - mes "So, whaddya say?"; - close; - default: - mes "The pubs in Prontera are always full of people from local areas and from out-of-town. It can get pretty busy."; - next; - mes "[Cuskoal]"; - mes "It's a pretty good place to stop by for general information and to listen to rumors."; - next; - mes "[Cuskoal]"; - mes "So if you listen carefully, you just might get lucky and learn some very useful information for yourself."; - close; - } -} - -- script ::Dega_izlude FAKE_NPC,{ - mes "[Dega]"; - switch(rand(3)) { - case 1: - mes "Mt. Mjornir, located north of Prontera, is a tough"; - mes "and steep climb."; - next; - mes "[Dega]"; - mes "Aside from the dangers of the mountain itself, insanely vicious insects live there too. I mean, they'll just attack you for no reason."; - next; - mes "[Dega]"; - mes "If you ever want to visit somewhere past Mt. Mjolnir, then you prepare yourself for the challenge. Or you could walk around it."; - close; - case 2: - mes "Some monsters in the world have the unique ability to sense mystical energy, and can detect Magic spells before they are cast."; - next; - mes "[Dega]"; - mes "Golem of the desert is one of them. Don't underestimate it due to its sluggishness..."; - next; - mes "[Dega]"; - mes "If you try to cast magic near it, it will notice and saunter over to smash you. So you better watch out for Golem."; - close; - default: - mes "There's a very delightful place where you can find every"; - mes "type of Poring."; - next; - mes "[Dega]"; - mes "It's somewhere near the bridge connecting the forest and the desert, on the way to the city of Payon which is Southeast from here."; - next; - mes "[Dega]"; - mes "There are not only pink Porings but also Drops, which can be found at the desert, and the green Poporing."; - next; - mes "[Dega]"; - mes "But be careful, before you realize it, you may come face to face with Ghostring, a deadly Poring that floats around in the air like a ghost."; - next; - mes "[Dega]"; - mes "Well, of course, they are all very cute, but Ghostring is an EXCEPTION. It is very very dangerous."; - next; - mes "[Dega]"; - mes "If you are lucky enough, you might even bump into Angeling, the Poring with Angel wings."; - next; - while(1) { - switch(select("Ghostring?", "Angeling?", "End Conversation.")) { - case 1: - mes "[Dega]"; - mes "Ghostring is a grayish Poring that floats around in the air like a ghost. Just like other ghosts, physical attacks can't do any damage to it."; - next; - mes "[Dega]"; - mes "Those whose main attack methods are physical like Swordman and Archer might have to run for their lives when facing Ghostrings."; - next; - mes "[Dega]"; - mes "But don't leave just yet~! There is great news for people with those jobs. Making a weapon of some elemental property is the key."; - next; - mes "[Dega]"; - mes "This way, even a Swordman or an Archer can inflict damage, the way Magic does, on Ghostrings."; - next; - break; - case 2: - mes "[Dega]"; - mes "Angelings are immune to Magic attacks. If people who can only attack with Magic face an Angeling, then it's time for"; - mes "them to run."; - next; - mes "[Dega]"; - mes "If you've got an extra knife or sword, you could give it a shot. But it will be very difficult alone, don't you think?"; - next; - break; - case 3: - mes "[Dega]"; - mes "Good Luck~"; - close; - } - } - } -} - -- script ::Kylick_izlude FAKE_NPC,{ - if (!RENEWAL && rand(2)) { - mes "[Kylick]"; - mes "I was thinking, even though the people of Izlude live so close to the ocean..."; - next; - mes "[Kylick]"; - mes "There are other cultures that have completely developed by living off of the sea. Of course, I'm talking about Amatsu."; - next; - mes "[Kylick]"; - mes "I hear the cuisine there is really good! Although the idea of eating raw fish is new to me, I would love to go there, and try it just once!"; - close; - } else { - mes "[Kylick]"; - mes "Don't you think Binoculars"; - mes "are really COOL?! You can"; - mes "see all sorts of places...!"; - next; - mes "[Kylick]"; - mes "Here in Izlude, we are responsible for maintaining peace not only on land but also at sea. That's why this city has a huge telescope."; - next; - mes "[Kylick]"; - mes "This telecope constantly watches over the sea, so that we can prevent any serious trouble from happening. You know..."; - next; - mes "[Kylick]"; - mes "An ounce of"; - mes "prevention is worth"; - mes "a pound of cure"; - mes "after all, right?"; - close; - } -} - -- script ::Red_izlude FAKE_NPC,{ - mes "[Red]"; - mes "The only skill that's needed for a Swordman is ^FF2400Bash^000000! Bash, Bash and ONLY ^FF2400Bash^000000! No need to waste time and effort for smaller skills! Everything else is for cowards and wusses!"; - next; - mes "[Cebalis]"; - mes "What are you talking about!? The ideal Swordman resolutely stands alone, surrounded by countless enemies and smashing them all with one awesome attack."; - next; - mes "[Cebalis]"; - mes "^EE0000MAGNUM BREAK!^000000"; - mes "That's right, Magnum Break"; - mes "is the skill that does"; - mes "the job right~!!"; - next; - mes "[Cebalis]"; - mes "Well... Sometimes the explosive damage might accidentally hit some wandering monsters, and those guys end up coming after you, but that's a risk a Swordman should be willing to take!!"; - next; - mes "[Red]"; - mes "That's exactly why you're dumb, you idiot! And what's this about the 'the ideal Swordman?' I still remember the last time you used Magnum Break..."; - next; - mes "[Red]"; - mes "You ended up running away from all those monsters you hit with that stupid skill! Weakling! All those Porings around you got hit and they all tried to kill you. "; - next; - mes "[Cebalis]"; - mes "Hmpf. As I recall, you were running away too, apparently too busy to use your precious Bash. In any case, Magnum Break is THE skill for a Swordman~!!"; - next; - mes "[Cebalis]"; - mes "Something simplistic like Bash"; - mes "is just one of the little steps towards Magnum Break."; - next; - mes "[Red]"; - mes "Oh man~"; - mes "Hey, I know you just"; - mes "heard everything."; - mes "So what do you think?"; - next; - mes "[Red]"; - mes "Which one do you think is better? The critical damage skill, ^FF2400Bash^000000, or the Splash damage skill, ^EE0000Magnum Break^000000?"; - next; - if (select("Bash", "Magnum Break") == 1) { - if (BaseClass == Job_Swordman) { - mes "[Red]"; - mes "Hahahaha!!! I knew you'd see things my way!! You ARE a great guy!! Undoubtedly, only ^FF2400Bash^000000 suits a Swordman. Please tell that to this BONEHEAD over here~ Hahaha!"; - next; - mes "[Red]"; - mes "Hmm, let me give you a bit of advice. After you achieve level 5 'Bash', the amount of SP consumed by the skill increases greatly, so watch out for your SP."; - close; - } - mes "[Red]"; - mes "Hahahaha!! See!? Someone who pursues a different job agrees with me~! You really are a great guy! Hahaha!! Undoubtedly, only ^FF2400Bash^000000 suits a Swordman. Please tell that to this NIMROD over here~ Hahaha!"; - close; - } - if (BaseClass == Job_Swordman) { - mes "[Cebalis]"; - mes "Alright!! ^EE0000Magnum Break^000000 is the BEST!! Now you're talking~!! You know the stuff~ HaHaHa!"; - next; - mes "[Cebalis]"; - mes "You wanna know some useful information? Okay, okay lemme tell ya! Magnum Break has Fire Property."; - next; - mes "[Cebalis]"; - mes "So it won't be too effective against monsters with the Water property, but this is THE skill to use against Undead and Earth property monsters!"; - next; - mes "[Cebalis]"; - mes "And most importantly, look around before you use it. Otherwise you'll be in BIG trouble~ "; - close; - } - mes "[Cebalis]"; - mes "Right?! ^EE0000Magnum Break^000000 is THE BEST!!! You know what you're talking about, eh? I don't know why this jerkface is being sooooo stubborn."; - close; -} - -- script ::Cebalis_izlude FAKE_NPC,{ - mes "[Red]"; - mes "The only skill that's needed for a Swordman is ^FF2400Bash^000000! Bash, Bash and ONLY ^FF2400Bash^000000! No need to waste time and effort on smaller skills~~ Everything else is for cowards and wusses!"; - next; - mes "[Cebalis]"; - mes "What are you talking about!? The ideal Swordman resolutely stands alone, surrounded by countless foes, smashing them all with one awesome attack..."; - next; - mes "[Cebalis]"; - mes "^EE0000MAGNUM BREAK!^000000"; - mes "That's right, Magnum Break"; - mes "is the perfect"; - mes "Swordman skill."; - next; - mes "[Cebalis]"; - mes "Well..."; - mes "Sometimes the explosion accidentally hits some monsters that are just wandering around."; - next; - mes "[Cebalis]"; - mes "Then they all end up coming after you, but that's a risk a true Swordman should be willing to take."; - next; - mes "[Red]"; - mes "That's exactly why you're dumb, you idiot! And what was that about the 'ideal Swordman?' You remember the last time you used Magnum Break?!"; - next; - mes "[Red]"; - mes "You had to run away from all those Porings hit by that stupid skill! You weakling! All those Porings that you hit tried to kill you! "; - next; - mes "[Cebalis]"; - mes "Oh shut up. And those were Poporings. As I recall, you were running away too, apparently too busy to use your precious Bash."; - next; - mes "[Cebalis]"; - mes "In any case, Magnum Break is THE skill for a Swordman~!! Something simplistic like Bash is just one of those little steps towards Magnum Break."; - next; - mes "[Red]"; - mes "Oh man~"; - mes "Hey, I know you"; - mes "heard everything."; - mes "So what do you think?"; - next; - mes "[Red]"; - mes "Which one do you think is better? The critical damage skill, ^FF2400Bash^000000, or the Splash damage skill, ^EE0000Magnum Break^000000?"; - next; - if (select("Bash", "Magnum Break") == 1) { - if (BaseClass == Job_Swordman) { - mes "[Red]"; - mes "Hahahaha!!! I knew you'd see things my way!! You ARE a great guy!! Without a doubt, only ^FF2400Bash^000000 suits a Swordman. Please tell that to FUNBOY over here!! Hahaha."; - next; - mes "[Red]"; - mes "Hmm, let me give you a bit of advice. After you achieve level 5 Bash, the amount of SP consumed by the skill increases greatly, so watch out for your SP."; - close; - } - mes "[Red]"; - mes "Hahahaha!!"; - mes "See!? Someone who pursues a different job agrees with me~! You really are a great guy! Hahaha!!"; - next; - mes "[Red]"; - mes "Without a doubt, only ^FF2400Bash^000000 suits a Swordman. Please tell that to this MORON over here!! Hahaha~"; - close; - } - if (BaseClass == Job_Swordman) { - mes "[Cebalis]"; - mes " Alright!! ^EE0000Magnum Break^000000 is the BEST!! Now you're talking~!! You know your stuff, kid. HaHaHa~!"; - next; - mes "[Cebalis]"; - mes "You wanna know some useful information? Okay, okay lemme tell ya! The explosion from 'Magnum Break' has the Fire Property."; - next; - mes "[Cebalis]"; - mes "So it won't be very effective against Water property monsters, but this is THE skill to use against Undead and Earth property monsters.!"; - next; - mes "[Cebalis]"; - mes "And most importantly, look around before you use it. Otherwise you'll be in BIG trouble~ "; - close; - } - mes "[Cebalis]"; - mes "I'm right, aren't I?! ^EE0000Magnum Break^000000 is THE BEST!!! You know what you're talking about, eh? I don't know why this LARDFACE is sooooo stubborn."; - close; -} - -- script ::Soldier_izlude FAKE_NPC,{ - mes "[Soldier]"; - mes "HeHeHeHe..HaHaHaHa "; - mes "Huh? Why am I so happy?"; - mes "You wanna know?"; - next; - if (select("Sure, why?", "Not really, I don't care.") == 1) { - mes "[Soldier]"; - mes "Ah~~ There's not much for us to do these days. You see, Merchants buy items dropped by monsters. But you knew that, right? "; - next; - if (select("Of course", "Eh? Really?") == 1) { - mes "[Soldier]"; - mes "HaHa~ In fact, that was actually part of our job. But there were more and more hunters who came to us in order to get paid and it became too much to handle."; - next; - mes "[Soldier]"; - mes "We had to work overtime every day. Ah, it was a nightmare...! Anyway, the government eventually made a wise decision in creating the Registration System."; - next; - mes "[Soldier]"; - mes "The Office of Prize Compensation only pays those who have the Registration. Of course, you'd have to be a merchant and stay in the same place all day long."; - next; - mes "[Soldier]"; - mes "The Office gives away the registration to any merchant who fulfills those requirements. So nowadays, the hunters sell their goods to the registered merchants."; - next; - mes "[Soldier]"; - mes "So nowadays, the hunters sell their goods to the registered merchants. Not too many people come to us for that anymore."; - next; - mes "[Soldier]"; - mes "I mean we are still busy, but that's nothing compared to how it was before. People who have felt suffering know how to appreciate even the slightest comfort."; - close; - } - mes "[Soldier]"; - mes "What?! What do you mean you didn't know?! Well, you know you can get items by killing monsters. If you bring and sell those to a merchant, you can make some money. "; - next; - mes "[Soldier]"; - mes "HaHa, in fact, that used to be part of our job. But there were more and more hunters who come in order to get paid, so it became too much to handle."; - next; - mes "[Soldier]"; - mes "We had to work overtime every day. Ah, it was a nightmare...! Anyway, the government eventually made a wise decision in creating the Registration System."; - next; - mes "[Soldier]"; - mes "The Office of Prize Compensation only pays those who have the Registration. Of course, you'd have to be a merchant and stay in the same place all day long."; - next; - mes "[Soldier]"; - mes "The Office gives away the registration to any merchant who fulfills those requirements. So nowadays, the hunters sell their goods to the registered merchants."; - next; - mes "[Soldier]"; - mes "So nowadays, the hunters sell their goods to the registered merchants. Not too many people come to us for that anymore."; - next; - mes "[Soldier]"; - mes "I mean we are still busy, but that's nothing compared to how it was before. People who have felt suffering know how to appreciate even the slightest comfort."; - close; - } - mes "[Soldier]"; - mes "Okay Good Bye~~"; - close; -} - -//== Inside Izlude ========================================= -izlude_in,125,164,2 script Aaron#izlude 1_M_YOUNGKNIGHT,{ - mes "[Aaron]"; - mes "Don't you think Strong VIT and training in a unique breathing method which enables quick HP recovery are the greatest advantages for a Swordman?"; - next; - mes "[Aaron]"; - mes "If you train your skills very hard, you can even see your HP recovering. The amount"; - mes "recovered depends"; - mes "vitality, or VIT."; - next; - mes "[Aaron]"; - mes "So if you invest more of your stats in VIT, you'll recover more HP overall when resting."; - next; - mes "[Aaron]"; - mes "But of course, it'd be good to have high Attack, wouldn't it? You can either acquire a good weapon or bring up your STR to support you Attack."; - next; - mes "[Aaron]"; - mes "You know you'll need some strength anyway to swing good weapons easily, anyway."; - next; - mes "[Aaron]"; - mes "Another important thing is how accurate you can hit your opponents. DEX is the key here. If you train DEX, then the gap between the MIN and MAX damage will also decrease."; - next; - mes "[Aaron]"; - mes "Hm..."; - mes "Are you bored by all this talk? Or do you want me to go on?"; - next; - if (select("Tell me more please.", "End conversation.") == 1) { - mes "[Aaron]"; - mes "Hmm..."; - mes "In that case, I'll explain about the other attributes to you briefly. In order to attack and evade quickly, you've gotta pay attention to AGI. "; - next; - mes "[Aaron]"; - mes "In case you want to make more critical hits, it's a good idea to invest in LUK. INT also increases Max SP, which is needed to use various skills... But it's really up to you."; - close; - } - mes "[Aaron]"; - mes "Okay then,"; - mes "train hard~~"; - close; -} - -//== Izlude Dungeon ======================================== -izlu2dun,108,27,0 script Sailor#2izlude 4W_SAILOR,{ - mes "[Sailor]"; - mes "Wanna"; - mes "head back?"; - next; - if (select("Yeah, I'm tired to death.", "Nope, I love this place!") == 1) { - if (RENEWAL) - warp "izlude",197,210; - else - warp "izlude",176,182; - end; - } - close; -} diff --git a/npc/cities/jawaii.txt b/npc/cities/jawaii.txt deleted file mode 100644 index 71ec8264f..000000000 --- a/npc/cities/jawaii.txt +++ /dev/null @@ -1,1454 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2015 Hercules Dev Team -//= Copyright (C) Euphy -//= Copyright (C) Samuray22 -//= Copyright (C) Evera -//= Copyright (C) MasterOfMuppets -//= Copyright (C) Nexon -//= Copyright (C) Lupus -//= Copyright (C) L0ne_W0lf -//= Copyright (C) DNett123 -//= Copyright (C) jAthena -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Jawaii (The Lovers' Paradise) Town -//================= Description =========================================== -//= Jawaii Town NPCs -//================= Current Version ======================================= -//= 3.7 -//========================================================================= - -//== Jawaii Transportation ================================= -jawaii,239,112,7 script Mariner#toizu 4W_SAILOR,{ - mes "[Mariner]"; - mes "This ship"; - mes "is heading"; - mes "towards ^666699Izlude^000000."; - mes "Have you enjoyed your time in Jawaii? You should check to see"; - mes "if you forgot anything before we go."; - next; - mes "[Mariner]"; - mes "Well, then."; - mes "Would you like"; - mes "to go back to Izlude?"; - next; - if (select("Go back.", "Cancel.") == 1) { - mes "[Mariner]"; - mes "Now, let me"; - mes "guide you to"; - mes "Izlude."; - close2; - if (RENEWAL) - warp "izlude",195,212; - else - warp "izlude",176,182; - end; - } - mes "[Mariner]"; - mes "Take your time"; - mes "and look around as"; - mes "much as you like."; - mes "Somehow, this is not"; - mes "a place that you can"; - mes "visit often, you know?"; - close; -} - -jawaii,122,263,5 script Mariner#toalbe 4W_SAILOR,{ - mes "[Mariner]"; - mes "This ship"; - mes "is headed back"; - mes "towards ^003399Alberta^000000."; - mes "Have you enjoyed your time in Jawaii? You should check to see"; - mes "if you forgot anything before we go."; - next; - mes "[Mariner]"; - mes "Now, are you"; - mes "ready to go back"; - mes "to Alberta?"; - next; - if (select("Go back.", "Cancel.") == 1) { - mes "[Mariner]"; - mes "Now, let me"; - mes "take you back"; - mes "to Alberta."; - close2; - warp "alberta",192,157; - end; - } - mes "[Mariner]"; - mes "Yeah..."; - mes "Try to enjoy your"; - mes "vacation as much"; - mes "as you can. We'll be"; - mes "ready to leave when"; - mes "you are."; - close; -} - -//== Generic Jawaii NPCs =================================== -jawaii,188,218,7 script Tavern Lady#Jawaii 1_F_PUBGIRL,{ - mes "[Lady]"; - mes "Oh, dear!"; - mes "You're not going"; - mes "to the tavern, are you?"; - next; - if (select("No, I am not.", "Hell yeah~") == 1) { - mes "[Lady]"; - mes "Whew~!"; - mes "Thank goodness!"; - mes "It's just that..."; - mes "The tavern probably"; - mes "isn't the best place for"; - mes "you to enjoy yourself."; - next; - } - mes "[Lady]"; - mes "Even though I work there, I still can't believe that kind of place exists! I mean, I thought alcohol was outlawed in the Rune-Midgarts Kingdom!"; - next; - mes "[Lady]"; - mes "I have no idea how singles are"; - mes "able to find this place. But I've heard that lots of different people come here for different reasons."; - next; - mes "[Lady]"; - mes "I've even seen unmarried single people coming here just to get drunk! Oh! And for some reason, people have been disappearing"; - mes "from the tavern!"; - next; - mes "[Lady]"; - mes "I wonder what's going on?"; - mes "^666666*Sigh*^000000 I'm a waitress there, but still I just want to tell you not to go in there..."; - close; -} - -jawaii,220,235,3 script Jawaii Resident#heart 4_F_07,{ - mes "[Jawa Jawa]"; - mes "You know what's"; - mes "the most beautiful"; - mes "place in Jawaii?"; - next; - mes "[Jawa Jawa]"; - mes "It's 'Heart Island,' which is just a little north of here. The water surrounding Heart Island is not that deep, so you can just walk across if you're careful."; - next; - mes "[Jawa Jawa]"; - mes "That's the best place to share an intimate moment with the person"; - mes "you love. It's perfectly secluded and such a beautiful area."; - next; - mes "[Jawa Jawa]"; - mes "Of course, it's probably not"; - mes "a good idea to go there by"; - mes "yourself if you're single."; - mes "You'd look like such"; - mes "a pathetic loser!"; - close; -} - -jawaii,240,146,5 script Jawaii Resident#desc1 4_F_07,{ - mes "[Waii Waii]"; - mes "Welcome to Jawaii!"; - next; - mes "[Waii Waii]"; - mes "Here, you can enjoy your"; - mes "honeymoon without worrying about any interruptions. You don't even have to bother with that notorious Single Army!"; - next; - mes "[Waii Waii]"; - mes "Well, there are a few monsters around, but you'll be okay as long as you don't attack them first. Think of them as the original residents of this island, another sight to enjoy."; - close; -} - -jawaii,168,247,5 script Jawaii Resident#desc2 4_F_07,{ - mes "[Waja Waja]"; - mes "Ah, you must be a tourist."; - mes "If you're lost, just head West. Accomodations for newlyweds"; - mes "are located in the western part of Jawaii. The lodging here is"; - mes "pretty amazing."; - next; - mes "[Waja Waja]"; - mes "There are four different themed rooms, so you can choose one to your liking. There's a Guide around if you want to ask for more information."; - next; - mes "[Waja Waja]"; - mes "When you want to go back, please head to the NorthWest to board"; - mes "a ship to Alberta. If you want to sail to Izlude, there's a ship waiting in the SouthEast."; - close; -} - -jawaii,165,121,1 script Jawaii Resident#desc3 4_F_07,{ - mes "[Iwa Iwa]"; - mes "Jawaii~"; - mes "Jawa~ii~"; - mes "Where you can"; - mes "find happiness~"; - next; - mes "[Iwa Iwa]"; - mes "Oh, isn't it beautiful? You don't have to do anything other than relax and breathe in the peaceful atmosphere. That's one of the"; - mes "best things about Jawaii."; - next; - mes "[Iwa Iwa]"; - mes "Ooh! Sometimes we hold"; - mes "concerts on this stage. If you're good at singing, why don't you"; - mes "go up on stage and sing"; - mes "a song for us?"; - next; - mes "[Iwa Iwa]"; - mes "Jawaii~"; - mes "Jawa~ii~"; - mes "Where you can"; - mes "find happiness~"; - close; -} - -jawaii,141,200,3 script Employee#sroom 4_M_NFMAN,{ - mes "[Alowa]"; - mes "W-Welcome...?"; - mes "This is o-o-our"; - mes "s-sweet room."; - mes "We, we just c-cleaned"; - mes "this r-room for you"; - mes "o-of course."; - next; - mes "[Alowa]"; - mes "Th-The charge is is"; - mes "1000 zeny p-p-per person?"; - mes "P-please pay me the fee and"; - mes "I,I'll let you in. I ssss...swear!"; - next; - mes "[Alowa]"; - mes "I, I'll also ca-carry your luggage. B-but pay me first. Otherwise, my bo-boss will be unhappy and... ^666666*Gulp*^000000"; - next; - mes "[Alowa]"; - mes "^333333Beat me to death...^000000"; - next; - if (select("Use.", "Cancel.") == 1) { - mes "[Alowa]"; - if (Zeny > 999) { - mes "T-Thank you ssso much!"; - mes "L-Let open the room door"; - mes "ffffor you. Thank y-you."; - mes "Ha-have a good time."; - close2; - Zeny -= 1000; - warp "jawaii_in",116,64; - end; - } - mes "Oh no! Oh no no no no no."; - mes "Th-This isn't enough money?"; - mes "I-I'm ssssorry, but my b-boss w-will beat me if I l-let you"; - mes "in without paying..."; - close; - } - mes "[Alowa]"; - mes "^666666*Sniff*^000000"; - mes "B-but I promise th-that this room is the nicest and cl-cleanest room! P-Please! C-come back!"; - emotion e_sob; - close; -} - -jawaii,108,199,5 script Employee#antroom 1_F_MERCHANT_02,{ - mes "[Pine Oran]"; - mes "Welcome to"; - mes "the Antique room."; - next; - mes "[Pine Oran]"; - mes "This room provides lovers with"; - mes "an atmosphere of plush elegance."; - mes "Every comfort is provided for"; - mes "young couples in this room."; - next; - mes "[Pine Oran]"; - mes "All the rooms may have the same basic structure, but each of them has their own unqiue interior to suit the tastes of different people."; - next; - mes "[Pine Oran]"; - mes "If you would like to lodge here, it is required to pay a 1,000 zeny fee for each person before entering. Since you're here to make fond memories of your honeymoon,"; - mes "you should stay in the nicest room."; - next; - mes "[Pine Oran]"; - mes "Do not hesitate to let me know when you've decided on the Antique Room. Once you've made your choice,"; - mes "I will guide you there."; - next; - if (select("Use.", "Cancel.") == 1) { - mes "[Pine Oran]"; - if (Zeny > 999) { - mes "Thank you"; - mes "for using"; - mes "our services."; - mes "Please..."; - mes "Make yourself"; - mes "comfortable."; - close2; - Zeny -= 1000; - warp "jawaii_in",129,110; - end; - } - mes "I am sorry, but you don't seem to have enough money. If it's alright, why don't you check your current funds and see what you can do"; - mes "about this situation?"; - close; - } - mes "[Pine Oran]"; - mes "Please..."; - mes "Take your time."; - mes "There should be no rush"; - mes "when it comes to leisure."; - close; -} - -jawaii,107,189,5 script Employee#horoom 4_F_04,{ - mes "[Sharkie Rania]"; - mes "I'll take you"; - mes "to the Honey Room."; - mes "It costs 1,000 zeny."; - next; - mes "[Sharkie Rania]"; - mes "So you wanna go?"; - next; - if (select("Use.", "Cancel.") == 1) { - mes "[Sharkie Rania]"; - if (Zeny > 999) { - mes "Eh, alright."; - mes "Let's get going."; - close2; - Zeny -= 1000; - warp "jawaii_in",86,117; - end; - } - mes "You..."; - mes "Don't have"; - mes "enough money."; - mes "C'mon, romance"; - mes "takes zeny, got it?"; - close; - } - mes "[Sharkie Rania]"; - mes "No prob."; - close; -} - -jawaii,112,173,7 script Employee#villroom 4_F_04,{ - mes "[Larks Rania]"; - mes "Hello dear,"; - mes "how are you?"; - mes "Are you looking for"; - mes "a room to stay in?"; - next; - mes "[Larks Rania]"; - mes "This is called the Villa Room."; - mes "I recommend this room to people"; - mes "who prefer to stay in a place with"; - mes "a comfortable atmosphere"; - mes "much like home."; - next; - mes "[Larks Rania]"; - mes "Just like all the other rooms,"; - mes "the lodging charge is 1,000 zeny."; - mes "I can guide you to the Villa Room"; - mes "right now, if you wish. Would you"; - mes "like to stay?"; - next; - if (select("Use.", "Cancel.") == 1) { - mes "[Larks Rania]"; - if (Zeny > 999) { - mes "Thank you~"; - mes "Enjoy your stay."; - close2; - Zeny -= 1000; - warp "jawaii_in",87,75; - end; - } - mes "Oh what a shame!"; - mes "You don't seem"; - mes "to have enough money...?"; - mes "Why don't you ask your"; - mes "partner to help you"; - mes "with the charge?"; - close; - } - mes "[Larks Rania]"; - mes "No problem~"; - mes "If you like, you may wish to check the Honey Room. Although the roomkeeper, Sharkie, is a shy girl, the room is really beautiful."; - close; -} - -jawaii,214,168,5 script Honeymoon Helper#Jawaii 1_F_LIBRARYGIRL,{ - mes "[Helper]"; - mes "There is no place"; - mes "better for having your"; - mes "honeymoon than Jawaii."; - next; - mes "[Helper]"; - mes "Why don't you make the best of your time here, and make a lot of sweet memories that you will cherish for years to come?"; - next; - mes "[Helper]"; - mes "Mementos that remind you of your happy times can be your most precious possessions. Like your wedding ring, for instance, or the tuxedo and wedding dress worn during your wedding ceremony..."; - next; - mes "[Helper]"; - mes "Even if the wedding ceremony"; - mes "is over, isn't it nice to look back upon the happy memories of your marriage ceremony? With the magical photo album at a cheap price, now you can!"; - next; - mes "[Helper]"; - mes "Its name is..."; - mes "'Sweet Memory of Marriage'!!"; - next; - mes "[Helper]"; - mes "It will instantly bring you to the wedding hall with magic power!"; - mes "And it only costs 50,000 zeny..."; - next; - if (select("I shall buy it.", "No, thanks.") == 1) { - mes "[Helper]"; - if (Zeny > 49999) { - Zeny -= 50000; - getitem Memory_Of_Wedding,1; - mes "Thank you very much~!"; - mes "Please remember, you"; - mes "should use this with your"; - mes "partner in a place that is"; - mes "special to the both of you."; - close; - } - mes "'Sweet Memory of Marriage' is 50,000 zeny. But don't seem to have enough money with you right now. Maybe you and your partner could help each other to buy the Sweet Memory of Marriage?"; - close; - } - mes "[Helper]"; - mes "Even if your relationship ends,"; - mes "the memories the both of you have shared will remain forever..."; - close; -} - -//== Inside Jawaii ========================================= -jawaii_in,25,94,0 script Employee#jaw1 4_F_07,{ - mes "[Employee Tryteh]"; - mes "Welcome to Jawaii Tavern~"; - if (getpartnerid()) { - mes "Anyway, I am so glad that you two have gotten married. I hope you both will live happily ever after~"; - next; - mes "[Employee Tryteh]"; - mes "Try to be a little careful if you bump into any rude customers."; - mes "They might be drunk and do something stupid. You know"; - mes "how it is..."; - close; - } - else if (!getpartnerid()) { - mes "I hope you enjoy your stay"; - mes "over here. But try not"; - mes "to drink too much~"; - close; - } - mes "I hope you will have a good time."; - close; - -OnWelcome: - emotion e_kis; - end; -OnSolo: - emotion e_omg; - end; -} - -jawaii_in,25,96,0 script Employee#jaw2 4_F_07,{ - mes "[Employee Fey]"; - mes "Welcome to Jawaii Tavern~"; - if (getpartnerid()) { - next; - mes "[Employee Fey]"; - mes "We hope that you enjoy your time here with the one that you love. Isn't this place nice and cozy,"; - mes "a perfect romantic atmosphere?"; - next; - mes "[Employee Fey]"; - mes "It would be absolutely perfect if it weren't for those 'Invincible Single Army' weirdos. Somehow,"; - mes "a few of those dorks found their way here. To hell with them!"; - close; - } - else if (!getpartnerid()) { - mes "Have a good time! But please,"; - mes "try not to interrupt the happily married people here!"; - close; - } - mes "I hope you will have a good time~"; - close; - -OnWelcome: - emotion e_kis; - end; -OnSolo: - emotion e_omg; - end; -} - -jawaii_in,25,98,0 script Employee#jaw3 4_F_07,{ - mes "[Employee Buffy]"; - mes "Welcome to Jawaii Tavern~"; - if (getpartnerid()) { - next; - mes "[Employee Buffy]"; - mes "Oh~"; - mes "Look at you..."; - mes "You look perfect"; - if (Sex == SEX_MALE) - mes "for your wife~"; - else - mes "with your husband~"; - mes "Awwww, I want to"; - mes "get married soon~!"; - close; - } - else if (!getpartnerid()) { - next; - mes "[Employee Buffy]"; - mes "Hmm...?"; - mes "You don't look like"; - mes "you're married, are you?"; - if (Sex == SEX_MALE) { - next; - mes "[Employee Buffy]"; - mes "I'm pretty good"; - mes "at cooking and cleaning"; - mes "^666666*AHEM*^000000 I've got a ^FF0000nice body^000000."; - mes "So what do you think...?"; - } - close; - } - mes "I hope you will have a good time."; - close; - -OnWelcome: - emotion e_kis; - end; -OnSolo: - emotion e_omg; - end; -} - -jawaii_in,25,100,0 script Employee#jaw4 4_F_07,{ - mes "[Employee Itere]"; - mes "Welcome to"; - mes "Jawaii Tavern~"; - if (getpartnerid()) { - next; - mes "[Employee Itere]"; - mes "Oh~"; - mes "You look so happy"; - mes "to be here with your"; - mes "partner! How precious~"; - close; - } - else if (!getpartnerid()) { - mes "I hope you"; - mes "enjoy your st--"; - mes "Wait a minute...!"; - next; - mes "[Employee Itere]"; - mes "You're..."; - mes "You better not be part of"; - mes "the Invincible Single Army!"; - next; - mes "[Employee Itere]"; - mes "Well, whatever you do, don't despair, get drunk and then"; - mes "bother the married couples!"; - close; - } - mes "I hope you will have a good time."; - close; - -OnWelcome: - emotion e_kis; - end; -OnSolo: - emotion e_omg; - end; -} - -jawaii_in,30,94,4 script Employee#jaw5 4_F_07,{ - mes "[Employee Tonia]"; - mes "Welcome to Jawaii Tavern~"; - if (getpartnerid()) { - next; - mes "[Employee Tonia]"; - mes "Congratulations to both of you!"; - next; - mes "[Employee Tonia]"; - mes "^666666*Sigh...*^000000"; - mes "^333333I hope those Single Army morons don't get drunk and do something stupid again..."; - close; - } - else if (!getpartnerid()) { - mes "Wait a sec. You're...!"; - next; - mes "[Employee Tonia]"; - mes "Hey--!"; - mes "You're not welcome here!"; - mes "S-Stop drinking! Right this instant!"; - close; - } - mes "I hope you will have a good time."; - close; - -OnWelcome: - emotion e_kis; - end; -OnSolo: - emotion e_omg; - end; -} - -jawaii_in,30,96,4 script Employee#jaw6 4_F_07,{ - mes "[Employee Kay]"; - mes "Welcome to Jawaii Tavern~"; - if (getpartnerid()) { - next; - mes "[Employee Kay]"; - mes "Oh gosh...!"; - mes "Lately, I've been dealing with too many drunks in this place! It's been really hard for me to take care of it all..."; - close; - } - else if (!getpartnerid()) { - mes "I understand that you want to relax and take a break, but please be careful and don't drink too much."; - close; - } - mes "I hope you will have a good time."; - close; - -OnWelcome: - emotion e_kis; - end; -OnSolo: - emotion e_omg; - end; -} - -jawaii_in,30,98,4 script Employee#jaw7 4_F_07,{ - mes "[Employee Amy]"; - mes "Welcome to Jawaii Tavern~"; - if (getpartnerid()) { - mes "Oh! You and your partner look perfect for each other. Like, um,"; - mes "a gun and a bullet! No...?"; - next; - mes "[Employee Amy]"; - mes "How about..."; - mes "Milk and cookies?"; - mes "Gin and tonic?"; - mes "Jackie Tucker"; - mes "and Chris Chan...?"; - mes "Ummmm...."; - close; - } - else if (!getpartnerid()) { - next; - mes "[Employee Amy]"; - mes "Hmm, I don't think this place is for you. But, I see no problem in letting you drink and have a good time, so long as you don't"; - mes "make a fuss."; - close; - } - mes "I hope you will have a good time."; - close; - -OnWelcome: - emotion e_kis; - end; -OnSolo: - emotion e_omg; - end; -} - -jawaii_in,30,100,4 script Employee#jaw8 4_F_07,{ - mes "[Employee Yasmine]"; - mes "Welcome to Jawaii Tavern~"; - if (getpartnerid()) { - mes "Just like the moon and the stars, you and your partner look perfect together. I'm really happy for you!"; - close; - } - else if (!getpartnerid()) { - next; - mes "[Employee Yasmine]"; - mes "You don't look like you belong here, but I hope you find your perfect match one of these days. Have fun!"; - close; - } - mes "I hope you will have a good time."; - close; - -OnWelcome: - emotion e_kis; - end; -OnSolo: - emotion e_omg; - end; -} - -jawaii_in,28,96,0 script jaw_em_order#Jawaii FAKE_NPC,3,3,{ -OnTouch: - if (getpartnerid()) { - donpcevent "Employee#jaw8::OnWelcome"; - donpcevent "Employee#jaw7::OnWelcome"; - donpcevent "Employee#jaw6::OnWelcome"; - donpcevent "Employee#jaw5::OnWelcome"; - donpcevent "Employee#jaw4::OnWelcome"; - donpcevent "Employee#jaw3::OnWelcome"; - donpcevent "Employee#jaw2::OnWelcome"; - donpcevent "Employee#jaw1::OnWelcome"; - end; - } - donpcevent "Employee#jaw8::OnSolo"; - donpcevent "Employee#jaw7::OnSolo"; - donpcevent "Employee#jaw6::OnSolo"; - donpcevent "Employee#jaw5::OnSolo"; - donpcevent "Employee#jaw4::OnSolo"; - donpcevent "Employee#jaw3::OnSolo"; - donpcevent "Employee#jaw2::OnSolo"; - donpcevent "Employee#jaw1::OnSolo"; - end; -} - -jawaii_in,15,104,0 script Waitress#jawaii 1_F_PUBGIRL,{ - if (checkweight(Knife,1) == 0) { - mes "^3355FF * Wait a minute! *"; - mes "You're carrying too many items with you right now. Please store some of your things into Kafra Storage and try again.^000000"; - close; - } - if (getpartnerid()) { - mes "[Waitress]"; - mes "Hello,"; - mes "how can I help you?"; - emotion e_kis; - next; - switch(select("Give me food.", "Bring me drink.", "Where's the bar?")) { - case 1: - mes "[Waitress]"; - mes "You can have"; - mes "1 Meat for 1,000 zeny."; - mes "Would you like one?"; - next; - if (select("Yes.", "Wha--! It's too expensive!") == 1) { - mes "[Waitress]"; - if (Zeny > 999) { - Zeny -= 1000; - getitem Meat,1; - mes "There you go~"; - mes "Enjoy your meal~!"; - close; - } - mes "I'm sorry but..."; - mes "This isn't enough money..."; - close; - } - mes "[Waitress]"; - mes "If you"; - mes "need anything,"; - mes "please let me know."; - close; - - case 2: - mes "[Waitress]"; - mes "You can have"; - mes "1 Yellow Potion"; - mes "at 1,000 zeny."; - mes "Would you like one?"; - next; - if (select("Yes.", "Wha--! It's too expensive!") == 1) { - mes "[Waitress]"; - if (Zeny > 999) { - Zeny -= 1000; - getitem Yellow_Potion,1; //Yelow_Potion - mes "There you go~"; - mes "Enjoy your meal~!"; - close; - } - mes "I am sorry but you don't have enough money?!"; - close; - } - mes "[Waitress]"; - mes "If you"; - mes "need anything,"; - mes "please let me know."; - close; - - case 3: - mes "[Waitress]"; - mes "Oh, just go toward the center"; - mes "of the tavern. I hope you have"; - mes "a good time, but be careful and"; - mes "don't drink too much! Have fun!"; - close; - } - } - emotion e_omg; - mes "[Waitress]"; - mes "Hey, hey...!"; - mes "I have no idea"; - mes "why you're here..."; - next; - mes "[Waitress]"; - mes "But we don't tolerate singles messing around with the happily married couples around here."; - mes "Just have your drink"; - mes "and then leave!"; - next; - if (select("I'm a member of Single Army!!", "...I just wanted to congratulate them...") == 1) { - mes "[Employee]"; - mes "Yeah, right."; - mes "Knock it off already."; - mes "Why can't you be happy"; - mes "for other people?!"; - next; - mes "[Employee]"; - mes "^666666*Sigh*^000000"; - mes "You will be welcome"; - mes "here when you visit"; - mes "with your partner, okay?"; - close; - } - mes "[Employee]"; - mes "Huh? Did you just"; - mes "say you wanted to"; - mes "congratulate them?"; - mes "Oh, you must be close"; - mes "friends with one"; - mes "of the couples..."; - next; - mes "[Employee]"; - mes "I'm sorry!"; - mes "Let me apologize"; - mes "for my rudeness."; - mes "I hope you have"; - mes "a good time."; - close; -} - -jawaii_in,28,124,0 script Bartender#jaw 1_ETC_01,{ - mes "[Bartender]"; - mes "Welcome to the"; - mes "Jawaii Tavern bar."; - mes "What would you"; - mes "like to drink?"; - next; - if (Zeny < 99) { - .@r_jaw = rand(1,100); - mes "[Bartender]"; - if (.@r_jaw > 29) { - mes "Hm, I'm sorry"; - mes "but you do not"; - mes "have enough"; - mes "money for a drink."; - close; - } - mes "....Hmm..."; - next; - mes "["+strcharinfo(PC_NAME)+"]"; - mes "Hey...!"; - mes "Bartender..."; - mes "Gimmie one more."; - next; - mes "[Bartender]"; - mes "Okay..."; - mes "It's on me."; - mes "Have a drink."; - next; - mes "["+strcharinfo(PC_NAME)+"]"; - mes "Thank you."; - close2; - unitkill getcharid(CHAR_ID_ACCOUNT); - end; - } - while (1) { - switch(select("Follow Bartender's Recommendation.", "I want a Gunslinger.", "I want a Cobo.", "I want a Bomb.", "I want a Boogieman.")) { - case 1: - .@roof_jaw += 3; - if (.@roof_jaw > 9) { - mes "[Bartender]"; - mes "Hmmm..."; - mes "You seem to have"; - mes "had enough to drink."; - mes "Are you sure you'll be okay?"; - next; - mes "["+strcharinfo(PC_NAME)+"]"; - mes "Bartender,"; - mes "I'm so depressed"; - mes "because of..."; - input .@inputstr$; - mes .@inputstr$+"..."; - next; - mes "[Bartender]"; - mes "There you go..."; - mes "Let me make"; - mes "a ^0000FF'Special J&Z'^000000 for you."; - mes "And this is on me."; - next; - mes "["+strcharinfo(PC_NAME)+"]"; - mes "Thank you..."; - mes "So much..."; - close2; - unitkill getcharid(CHAR_ID_ACCOUNT); - end; - } - if (Zeny > 99) Zeny -= 100; - switch(rand(4)) { - case 1: - mes "[Bartender]"; - mes "Hmm..."; - mes "How about this cocktail?"; - next; - mes "[Bartender]"; - mes "I recommend"; - mes "a '^0000FFBarcadie 150^000000.'"; - mes "It's the drink of pirates!"; - next; - mes "^3355FFYou examined"; - mes "the small glass"; - mes "containing a glossy"; - mes "brown liquid...^000000"; - next; - mes "^3355FFAlthough the glass is tiny and only holds a small amount, the liquid inside still smells pretty dangerous...^000000"; - next; - mes "[Bartender]"; - mes "It's strong and flammable,"; - mes "so you might feel like your"; - mes "throat is burning."; - next; - mes "^3355FFYou gulped it down.^000000"; - specialeffect(EF_VENOMDUST, AREA, playerattached()); - percentheal -20,0; - next; - break; - case 2: - mes "[Bartender]"; - mes "Hmm..."; - mes "How about this cocktail?"; - next; - mes "[Bartender]"; - mes "I recommend a '^0000FFBlack Russian Double^000000.' It will make you dream of lying in a vast Russian field..."; - next; - mes "^3355FFYou examined the large glass holding a dark brown liquid chilled with ice cubes. There's a faint sweetness in the aroma, as well"; - mes "a musk that reminds you of an old, mustached man.^000000"; - next; - mes "[Bartender]"; - mes "I suggest you take your time"; - mes "drinking this since it's very strong. The Black Russian Double is rumored to be the favorite drink of the Russian mafia."; - next; - mes "^3355FFYou drank it sip by sip,"; - mes "savoring its rich,"; - mes "robust flavor.^000000"; - specialeffect(EF_FIREIVY, AREA, playerattached()); - percentheal -20,0; - next; - break; - case 3: - mes "[Bartender]"; - mes "So..."; - mes "How about this..?"; - next; - mes "[Bartender]"; - mes "Why don't you try"; - mes "a '^0000FFKiss of Fire"; - mes "the Spinbird Kick^000000?'"; - next; - mes "[Bartender]"; - mes "Don't be fooled by its sweet scent or beautiful red color. This is one of the strongest drinks around."; - next; - mes "^3355FFYou receive a crystal cocktail glass with a little bit of sugar sprinkled around the rim. It has"; - mes "a sweet fragrance that makes your mouth water. However, you can also feel that it is a dangerously strong cocktail."; - next; - mes "[Bartender]"; - mes "Lick the sugar before taking a sip. That will make it taste a little sweeter and will soften the taste."; - next; - mes "^3355FFYou carefully took a sip.^000000"; - specialeffect(EF_DECAGILITY, AREA, playerattached()); - percentheal -20,0; - next; - break; - default: - mes "[Bartender]"; - mes "I see..."; - mes "Let me think"; - mes "of something"; - mes "you might like."; - next; - mes "[Bartender]"; - mes "Okay, how about"; - mes "a '^0000FFWhite Margarita'^000000?'"; - next; - mes "[Bartender]"; - mes "You will smell a sourish lemon scent which makes your mouth water. As you taste it, you will be filled with a pleasant, comforting warmth that spreads throughout your body."; - next; - mes "^3355FFYou receive a fancy cocktail glass with salt and lemon juice sprinkled on the rim. Its sour scent does make your mouth water. How could something so appetizing be dangerous?"; - next; - mes "[Bartender]"; - mes "It has a sweet and sour taste so it's favored by female customers"; - mes "as well. I guarantee that you will enjoy its flavor."; - next; - mes "^3355FFYou gulp the delicious"; - mes "Margarita down in one sip.^000000"; - specialeffect(EF_MAGNUMBREAK, AREA, playerattached()); - percentheal -20,0; - next; - } - break; - case 2: - callsub S_KillChar,2; - mes "When you want to look super cool, this will be the best drink for you. It's a strong drink with a particular scent, so people who drink Gunslingers are usually seen as having impressive of taste."; - next; - mes "^3355FFYou received a simple glass containing a gray liquid. Although it smells faintly sweet, it looks like industrial strength liquor. It's time to summon your courage and take a sip~"; - next; - mes "[Bartender]"; - mes "That drink is bitter and sweet, just like life. Taste it with your tongue, don't drink it all at once."; - next; - mes "^3355FFYou slowly drank some"; - mes "of your Gunslinger drink.^000000"; - next; - mes "["+strcharinfo(PC_NAME)+"]"; - mes "Yeeehaw~!"; - mes "I'm a cowboy hero!"; - mes "Bang Bang Bang!"; - next; - specialeffect(EF_STEAL, AREA, playerattached()); - percentheal -10,0; - next; - break; - - case 3: - callsub S_KillChar,2; - mes "People say that the more you drink a mixed Cobo, the tastier it will be. It grows on you, kind of like the company of an old friend. This is a nice drink to have with anyone at anytime."; - next; - mes "^3355FFThe Bartender brought a beautifully engraved glass holding a cobalt blue liquid and placed it in front of you. It smells pleasantly sweet and sour."; - next; - mes "[Bartender]"; - mes "Once you taste this once, you almost can't stop drinking. It tastes so smooth and goes"; - mes "down even smoother."; - next; - mes "^3355FFYou finished"; - mes "your drink in 3 sips."; - mes "Your mouth was filled"; - mes "with a luxurious, sweet and"; - mes "sour flavor.^000000"; - next; - mes "["+strcharinfo(PC_NAME)+"]"; - mes "Aaaaaahhhhhh~!"; - mes "This drink is really good!"; - specialeffect(EF_SANCTUARY, AREA, playerattached()); - percentheal -10,0; - next; - break; - - case 4: - callsub S_KillChar,2; - mes "This is for one who wants to relive wild, youthful days, honor those who have fought for justice and liberty, or just to drink alcohol until they vomit stomach acid."; - mes "for one who wants to remember people fighting for liberty..."; - next; - mes "^3355FFYou receive a tumbler filled with brown liquid. It a has a very thick, machine like smell. It kind of reminds you of gunpowder.^000000"; - next; - mes "[Bartender]"; - mes "It might look too big to drink at once, but I suggest that you finish it in one gulp. If you drink it slowly, you'll pass out."; - next; - mes "^3355FFYou firmly grabbed"; - mes "the tumbler and"; - mes "gulped it down.^000000"; - next; - mes "^3355FFYou feel pretty hammered.^000000"; - specialeffect(EF_BLASTMINEBOMB, AREA, playerattached()); - percentheal -10,0; - next; - break; - - case 5: - callsub S_KillChar,1; - mes "There are not many people who like this drink. But the ones that do like this drink, love it."; - next; - mes "[Bartender]"; - mes "Although it has a beautiful, appetizing color, its appearance can be misleading. Most people feel cold and empty after having some"; - mes "of this."; - next; - mes "^3355FFYou receive a crooked glass"; - mes "filled with purple fluid. Although it smells pleasnt, you have a strange feeling of disgust as you draw it closer to your face."; - next; - mes "[Bartender]"; - mes "If you don't want to drink it, tell me now. But it might be good to try it once, just to experience it."; - next; - mes "^3355FFYou took a sip of it and sighed.^000000"; - next; - mes "^3355FFAnd promised yourself that you would never drink it ever again.^000000"; - specialeffect(EF_HIT6, AREA, playerattached()); - percentheal -10,0; - next; - break; - } - - mes "["+strcharinfo(PC_NAME)+"]"; - mes "Master..."; - mes "One more please..."; - next; - } - end; - -S_KillChar: - if (.@roof_jaw > 8) { - mes "[Bartender]"; - mes "It's on me."; - next; - mes "["+strcharinfo(PC_NAME)+"]"; - mes "Thank you..."; - mes "Mr. Bartender..."; - close2; - unitkill getcharid(CHAR_ID_ACCOUNT); - end; - } - if (Zeny > 99) Zeny -= 100; - .@roof_jaw += getarg(0); - mes "[Bartender]"; - mes "There you go."; - next; - mes "[Bartender]"; - return; -} - -jawaii_in,43,115,0 script Customer#jaw_1 4W_M_01,{ - if (!getpartnerid()) { - if (Zeny > 99) { - mes "[Buchi]"; - mes "Grrrr..."; - mes "Damn! I don't"; - mes "like this place!"; - mes "I don't like this at all!"; - next; - mes "[Buchi]"; - mes "I can't believe my eyes! Everyone else looks disgustingly happy! It makes me feel so miserable!"; - mes "You agree, don't you?!"; - next; - mes "[Buchi]"; - mes "Grrrr..."; - mes "Bartender!"; - mes "Give me one more!"; - } - mes "[Buchi]"; - mes "Hey, why aren't you drinking?"; - mes "I guess you're all out of dough."; - mes "But I know how you feel. Disgusted with all the lovey dovey around this place, aren't you?"; - next; - mes "[Buchi]"; - mes "Heh."; - mes "Lemme buy"; - mes "you a drink!"; - next; - mes "[Buchi]"; - mes "Drink this at once, and forget about your miserable life! Cheer up, you got the whole future ahead of you and a drink in front of you! Come on, now~!"; - next; - mes "^3355FFHe ordered a JJ special for me.^000000"; - next; - mes "["+ strcharinfo(PC_NAME) +"]"; - mes "Damn...!"; - mes "Damn! I will be"; - mes "the one who laughs last!"; - next; - mes "^3355FFYou drank to your fill.^000000"; - close2; - unitkill getcharid(CHAR_ID_ACCOUNT); - end; - } - mes "[Buchi]"; - mes "You look happy..."; - mes "I hope you'll be"; - mes "able to feel that"; - mes "way forever..."; - mes " "; - mes "^666666*Hiccup...!*^000000"; - close; -} - -jawaii_in,41,106,3 script Customer#Cage 4W_M_02,{ - mes "[Cage]"; - if (getpartnerid()) { - mes "....Bah!"; - mes "What are you so happy about?"; - mes "After all, everyone knows marriage is a sham for desperate, lonely people!"; - next; - mes "[Cage]"; - if (Sex == SEX_MALE) { - mes "I don't trust anybody!"; - mes "You're a fool for chaining"; - mes "yourself to some gorgeous"; - mes "woman for life!"; - mes "You hear me?!"; - mes "A FOOL!"; - } - else { - mes "Look at you!"; - mes "You're a fool for"; - mes "chaining yourself to"; - mes "some pretty boy for life!"; - mes "You hear me?! A FOOL!"; - } - next; - mes "[Cage]"; - mes "The single life is"; - mes "what it's all about!"; - mes "Women may break my"; - mes "spirit, but they'll never take..."; - mes "MY FREEDOM!"; - close; - } - mes "Drink, drink...!!"; - mes "Eat, eat...!!"; - mes "Join me,"; - mes "my brother"; - mes "in singlehood!"; - next; - mes "[Cage]"; - mes "We are free...!"; - mes "We are free from"; - mes "the hell of marriage...!"; - mes "We are the sincere and"; - mes "competent singles...!"; - close; -} - -//== Inside Prontera ======================================= -prt_in,173,13,4 script Customer#SoloHan 4_M_04,{ - mes "[SoloHan]"; - if (!getpartnerid()) { - mes "Oh man..."; - mes "I think I'm drunk~"; - mes "^666666*Hiccup...!*^000000"; - next; - mes "[SoloHan]"; - mes "Hey, you...!"; - mes "You understand, don't you?!"; - mes "Aren't you upset looking at all these happily married couples?!"; - mes "Yeah~? Me too!"; - next; - mes "[SoloHan]"; - mes "How dare they show off their happiness in front of people like us--!! ^666666*Sniff*^000000 Just because they found everlasting love, they think they're better than we are?!"; - next; - mes "[SoloHan]"; - mes "I remember when couples were polite and were lovey dovey behind closed doors. Nowadays they hold hands, and even cuddle in public. I mean, come on! Get a room!"; - next; - mes "[SoloHan]"; - mes "I mean, ^666666*Sniff*^000000, it's not like,"; - mes "I'm lonely or anything. I don't neeeeeeeed a woman~!"; - mes "Right, Bachewcca!"; - next; - mes "[Bachewcca]"; - mes "...!"; - emotion e_no1,0,"Customer#Bachewcca"; - next; - mes "[SoloHan]"; - mes "It's doesn't really matter whether you're married"; - mes "or not, right buddy? Right?!"; - mes "Come on! Drink with me!!"; - next; - mes "^3355FFSuddenly he treated me as a close friend. It's a little embarassing, but it's not a bad idea to accept"; - mes "a free drink...^000000"; - next; - mes "^3355FF* Gulp Gulp Gulp *^000000"; - percentheal -10,0; - next; - .@jaw_roof = 1; - mes "[SoloHan]"; - mes "So, what do you say?"; - mes "Let's go somewhere"; - mes "with some real liquor."; - while (1) { - next; - if (select("...One more drink.", "...What kind of place is it?") == 1) { - mes "[SoloHan]"; - mes "Yeah~!"; - mes "That's the spirit!"; - mes "Hey, Bachewcca..."; - mes "Let's drink!"; - next; - mes "[Bachewcca]"; - mes "^666666*Grunt!*^000000"; - specialeffect(EF_TALK_SCREAM, AREA, getnpcid("Customer#Bachewcca")); - next; - mes "[SoloHan]"; - mes "To..."; - mes "To being single!"; - mes "F-Forever!!!"; - next; - mes "^3355FF* Gulp Gulp Gulp *^000000"; - percentheal -10,0; - next; - .@jaw_roof += 2; - mes "[SoloHan]"; - if (.@jaw_roof > 8) { - mes "Whoa..."; - mes "You alright?"; - mes "You seem kind of drunk..."; - next; - mes "[SoloHan]"; - mes "I guess now's the perfect time to have you sign this! Don't worry, I'll send you straight to paradise!"; - next; - if (select("Sign", "Refuse to Sign") == 1) { - mes "[SoloHan]"; - mes "Alright!"; - mes "Take care!"; - mes "Hahaha!"; - close2; - percentheal 100,0; - break; - } - mes "[SoloHan]"; - mes "Oh..."; - mes "Man."; - mes "So, you spoil parties"; - mes "like this all the time, eh?"; - close2; - end; - } - } - if (.@jaw_roof > 6) { - mes "[SoloHan]"; - mes "^666666*Hiccup!*^000000"; - mes "So you feel like having some"; - mes "real fun? Okay, then just sign over here. Count on me, I'll send you to paradise."; - next; - if (select("Sign", "Refuse to Sign") == 1) { - mes "[SoloHan]"; - mes "Alright~!"; - mes "Take care and have fun!"; - mes "Harass some couples over there for me, will you?"; - close2; - percentheal 100,0; - break; - } - mes "[SoloHan]"; - mes "Oh..."; - mes "Man."; - mes "No wonder you're single. You can't even recognize a good time when it's right in front of you."; - close2; - end; - } - .@jaw_roof += 3; - mes "[SoloHan]"; - mes "Drink, drink!"; - mes "That's not enough!"; - mes "Drink more, buddy!"; - next; - mes "[SoloHan]"; - mes "To..."; - mes "To being single!"; - mes "FOR EVER."; - next; - mes "^3355FF*Gulp Gulp Gulp*^000000"; - percentheal -10,0; - next; - } - warp "jawaii_in",44,124; - end; - } - else if (getpartnerid()) { - mes "Oh man..."; - mes "I think I'm drunk~"; - mes "*Hiccup!*"; - next; - mes "[SoloHan]"; - mes "...Wha!?"; - mes "Oh man!"; - mes "Get outta my face!"; - if (Sex == SEX_MALE) { - mes "You smell like,"; - mes "whupped boyfriend"; - mes "or something!"; - } - else { - next; - mes "[SoloHan]"; - mes "I think I know a naggy wife"; - mes "when I see one! Go boss your"; - mes "hubby around or something!"; - } - next; - mes "[SoloHan]"; - mes "Leave me alone!"; - mes "I don't want any of your marital bliss to rub off on me. Come on, Bachewcca! Tell 'em their kind ain't welcome here!"; - next; - mes "[Bachewcca]"; - mes "^666666*Grrr...!*^000000"; - specialeffect(EF_THROWITEM, AREA, getnpcid("Customer#Bachewcca")); - close; - } - mes "Oh man..."; - mes "I think I'm drunk~"; - mes "^666666*Hiccup!*^000000"; - next; - mes "[SoloHan]"; - mes "What is that...?"; - mes "Is this the third time this week I've gotten plastered? Bachewcca, help me count!"; - close; -} - -prt_in,170,14,0 script Customer#Bachewcca 4_M_ORIENT02,{ - mes "[Bachewcca]"; - mes ".............."; - mes "^666666*Gulp....gulp...*^000000"; - mes "Grrrrr!! That hit the spot!"; - emotion e_sob; - close; -} - -//== Izlude ================================================ -- script ::Honeymoon_Helper_Izlude FAKE_NPC,{ - mes "[Helper]"; - mes "Newlyweds and"; - mes "long time couples..."; - mes "We invite you to Jawaii,"; - mes "the honeymoon resort!"; - next; - switch(select("Jawaii?", "Let's go to Jawaii~!", "Cancel.")) { - case 1: - mes "[Helper]"; - mes "There is an island far, far away from the Rune-Midgard continent."; - mes "It is a very quiet and beautiful island resort that only opens"; - mes "its doors to couples."; - next; - mes "[Helper]"; - mes "This is an exclusive travel offer to the special honeymoon resort for Rune-Midgard's citizens. The price, 100,000 zeny, may be expensive, but you really get what you pay for."; - next; - mes "[Helper]"; - mes "I guarantee you that some of"; - mes "the happiest moments you can"; - mes "experience in your marriage will be on this island. Can you really put a price on that?"; - close; - - case 2: - mes "[Helper]"; - if (!getpartnerid()) { - mes "Errm..."; - mes "Unfortunately, singles are not allowed on the island. Why don't you go forget your loneliness in the Prontera pub?"; - close; - } - else if (Zeny > 99999) { - Zeny -= 100000; - mes "Bon Voyage...!!"; - mes "Let me guide"; - mes "you to 'Jawaii!'"; - close2; - warp "jawaii",245,125; - end; - } - mes "As I explained, you must have 100,000 zeny in order to visit Jawaii. Why don't you ask your partner for help in gathering the zeny for this trip?"; - close; - - case 3: - mes "[Helper]"; - mes "There's there no better way to share special, secluded moments with your beloved than through"; - mes "a secret trip to a remote, exotic area."; - next; - mes "[Helper]"; - mes "A vacation in Jawaii could very well be the greatest gift that you could give to the one you love~"; - close; - } -} diff --git a/npc/cities/lighthalzen.txt b/npc/cities/lighthalzen.txt deleted file mode 100644 index 3cbe900c3..000000000 --- a/npc/cities/lighthalzen.txt +++ /dev/null @@ -1,3212 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2015 Hercules Dev Team -//= Copyright (C) L0ne_W0lf -//= Copyright (C) Gepard -//= Copyright (C) $ephiroth -//= Copyright (C) SinSloth -//= Copyright (C) KarLaeda -//= Copyright (C) Lupus -//= Copyright (C) Toms -//= Copyright (C) Silent -//= Copyright (C) Musashiden -//= Copyright (C) MasterOfMuppets -//= Copyright (C) Alan -//= Copyright (C) Au{R}oN -//= Copyright (C) erKURITA -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Lighthalzen City -//================= Description =========================================== -//= Lighthalzen NPCs -//================= Current Version ======================================= -//= 2.2 -//========================================================================= - -lighthalzen,198,285,5 script Jiwon#zen5 4_F_LGTGIRL,{ - mes "[Jiwon]"; - mes "I think we're really"; - mes "fortunate to be able to"; - mes "live in such a beautiful"; - mes "and peaceful city like this."; - next; - mes "[Jiwon]"; - mes "It's just so nice to"; - mes "have this pleasant weather,"; - mes "these lush gardens and to"; - mes "meet all of these kind people."; - mes "Lighthalzen is like Asgard"; - mes "in Midgard, heaven on earth~"; - close; -} - -lighthalzen,220,244,3 script Samnang#zen2 4_F_LGTGRAND,{ - mes "[Samnang]"; - mes "^333333*Sigh...*^000000"; - mes "It gets harder for me"; - mes "to move around as I get"; - mes "older. That's understandable"; - mes "for an elderly person, right?"; - next; - mes "[Samnang]"; - mes "Just the other day, these"; - mes "hoodlums in black suits"; - mes "were yelling at me to get out"; - mes "of their way. But of course,"; - mes "I didn't move quickly enough."; - mes "So what did they do to me?"; - next; - mes "[Samnang]"; - mes "They punched me."; - mes "Right in the womb!"; - mes "I know that I'm not"; - mes "pregnant, but that's"; - mes "besides the point. Never hit"; - mes "a lady, especially an old one!"; - close; -} - -lighthalzen,261,112,3 script Ruth#zen4 4_F_LGTGIRL,{ - mes "[Ruth]"; - mes "Sweety, isn't it"; - mes "nice to be together"; - mes "under this beautiful"; - mes "sunlight? It's perfect"; - mes "for our date. Ahhhh~"; - next; - mes "[Ruth]"; - mes "I'm so happy to be"; - mes "with you. I feel like"; - mes "I'm just melting with"; - mes "happiness. Oh, I love"; - mes "you so much, Oyoung."; - next; - mes "[" + strcharinfo(PC_NAME) + "]"; - mes "Whoa..."; - mes "This couple is"; - mes "really headed for"; - mes "Cloud 9, aren't they?"; - close; -} - -lighthalzen,259,108,7 script Oyoung#zen14 4_M_LGTMAN,{ - mes "[Oyoung]"; - mes "Girl, you look like"; - mes "you're comin' down with"; - mes "the love bug. But there's"; - mes "only one prescription for"; - mes "this ailment, ooooh yeah..."; - next; - mes "[Oyoung]"; - mes "You need yo'self"; - mes "your daily dose of"; - mes "vitamin O-YOUNG."; - mes "And your lips look like"; - mes "they got vitamin deficiency."; - mes "I better take care of that~"; - next; - mes "[" + strcharinfo(PC_NAME) + "]"; - mes "Sweet Sister!"; - mes "I don't know what's"; - mes "more mind boggling--"; - mes "The fact that he used"; - mes "that line or the fact that"; - mes "it's actually working..."; - close; -} - -lighthalzen,233,121,3 script Kariya#li_01 1_F_MARIA,{ - mes "[Kariya]"; - mes "I think ''Lighthalzen'' is"; - mes "supposed to mean ''crest of"; - mes "light,'' though I hear that this"; - mes "city was actually named after"; - mes "somebody. Who knows for sure?"; - next; - mes "[Kariya]"; - mes "Still, it's a fitting"; - mes "name for the wealthiest"; - mes "and most luxurious city in"; - mes "all the Schwaltzvalt Republic."; - mes "So how do you like this place?"; - close; -} - - -lighthalzen,233,82,5 script Sung#A 4_M_KID2,{ - mes "[Sung]"; - mes "When I grow up, I want"; - mes "to become such a great"; - mes "person that they'll make"; - mes "a statue of me, just like"; - mes "those statues over there."; - next; - mes "[Sung]"; - mes "Then people would be like,"; - mes "''Hey yo. That statue. That"; - mes "guy must have been great!''"; - mes "Just thinking about that"; - mes "makes me feel so good!"; - next; - mes "[Sung]"; - mes "That's it. I'm gonna"; - mes "grow up as soon as I can."; - mes "Ooh, and I better grow tall"; - mes "and handsome so my statue"; - mes "will be even more awesome."; - mes "Yeah. Yeah, good idea, Sung..."; - close; -} - -lighthalzen,89,73,3 script Sameer#zen15 4_M_EINMAN2,{ - mes "[Sameer]"; - mes "There are too many"; - mes "loving couples in this city."; - mes "Cuddling and kissing and"; - mes "hugging and necking. It's..."; - mes "It's utterly distasteful."; - next; - mes "[Sameer]"; - mes "I can't believe the"; - mes "indecency I see everyday"; - mes "near my own home. Don't"; - mes "they know better than to be"; - mes "so affectionate in places"; - mes "where the public can see them?!"; - next; - mes "[Sameer]"; - mes "Fortunately for the"; - mes "world, I'm a bulwark"; - mes "of morality. In fact, I have"; - mes "no need for a woman. All"; - mes "I need are my ship models,"; - mes "teen novels and dominos."; - next; - mes "[Sameer]"; - mes "I'm a completely well"; - mes "adjusted individual, which"; - mes "is why the authorities should"; - mes "listen to me when I tell them"; - mes "to arrest couples for indecency!"; - mes "Hand holding. Have they no shame?!"; - close; -} - -lighthalzen,45,59,7 script Janice#zen03 4_F_LGTGRAND,{ - mes "[Janice]"; - mes "Oh no, I think I got"; - mes "lost again. The roads"; - mes "here are so confusing!"; - mes "I've lived here for such"; - mes "a long time and I still"; - mes "can't find my way around..."; - close; -} - -lighthalzen,66,94,3 script Elmer Keays#li_03 4_M_LGTGRAND,{ - mes "[Elmer Keays]"; - mes "Walking side by side"; - mes "with you like this reminds"; - mes "me of the old days. Back"; - mes "then, everyone was jealous"; - mes "that I had such a beautiful"; - mes "woman by my side. Heh heh~"; - next; - mes "[Elmer Keays]"; - mes "You're still the most"; - mes "precious sight to these"; - mes "old eyes, my dear. I'm"; - mes "really lucky to be with you."; - emotion e_kis,0,"Margie Keays#li_02"; - emotion e_kis2; - close; -} - -lighthalzen,65,94,5 script Margie Keays#li_02 4_F_LGTGRAND,{ - mes "[Margie Keays]"; - mes "Oh darling, the"; - mes "weather is so nice"; - mes "and pleasant today."; - mes "I'm really glad we"; - mes "decided to go take"; - mes "a walk together~"; - close; -} - -lighthalzen,78,120,3 script Maivi#zen1 4_F_LGTGIRL,{ - mes "[Maivi]"; - mes "..."; - next; - mes "[Maivi]"; - mes "..."; - mes "......"; - next; - mes "[Maivi]"; - mes "Ah..."; - mes "I just had the nicest"; - mes "nap. This nice weather"; - mes "never fails to relax me."; - mes "The air here is so clean,"; - mes "not like that Einbroch~"; - next; - mes "[Maivi]"; - mes "This clean, pristine"; - mes "environment is all thanks"; - mes "to the Rekenber Corporation."; - mes "It's incredible what they can"; - mes "do with technology now, isn't"; - mes "it? Ahhh, it's so peaceful~"; - close; -} - -/* -lighthalzen,226,210,3 script Nannan 4_M_04,{ - mes "[Nannan]"; - mes "You know, I always thought"; - mes "that all Alchemists were bookish,"; - mes "scholarly types, their faces always"; - mes "buried in books and studying. But"; - mes "I managed to find one who doesn't"; - mes "fit that nerdy stereotype at all."; - next; - mes "[Nannan]"; - mes "This guy, What's-his-face,"; - mes "Broncher, is always wasting"; - mes "his time drinking. I guess he"; - mes "discovered the secret of turning"; - mes "water into Grade A booze. But"; - mes "at least he's not the stuffy type."; - next; - mes "[Nannan]"; - mes "I don't know how much"; - mes "help he'd be to an aspiring"; - mes "Alchemist, but in my opinion,"; - mes "the man is a fully fledged"; - mes "genius! At least, compared"; - mes "to a street guy like me..."; - close; -} -*/ - -lighthalzen,230,182,4 script Klaubis#zen3 4_M_LGTGRAND,{ - mes "[Klaubis]"; - mes "Excuse me, but are you"; - mes "a tourist? Well, welcome"; - mes "to Lighthalzen! This city"; - mes "has everything we need,"; - mes "but it can be a little too"; - mes "quiet and uneventful here."; - next; - switch(select("Have you lived in here long?", "I agree.", "Have you heard about the serial killer?")) { - case 1: - mes "[Klaubis]"; - mes "Yes, our family has"; - mes "lived in this city for a"; - mes "long time, starting with"; - mes "my great grandfather. Let's"; - mes "see, my family's been here"; - mes "for about two hundred years."; - next; - mes "[Klaubis]"; - mes "You'd be surprised how"; - mes "many people stay in their"; - mes "hometowns. Even if you do"; - mes "leave, though, you can always"; - mes "come back. It wouldn't be your hometown if you couldn't, right?"; - close; - case 2: - mes "[Klaubis]"; - mes "Yes, the atmosphere"; - mes "can get pretty listless"; - mes "around here. But still,"; - mes "there are plenty of nice"; - mes "sights to enjoy here in"; - mes "Lighthalzen, so look around~"; - close; - case 3: - mes "[Klaubis]"; - mes "You mean the Serial"; - mes "Axe Murderer? I thought"; - mes "that was an old ghost story."; - mes "Hm. I think that lady inside"; - mes "the Weapon Shop would"; - mes "know more about that tale..."; - close; - } -} - -lighthalzen,232,156,3 script Sigmund#zen3 4_M_LGTMAN,{ - mes "[Sigmund Ting]"; - mes "You know what I noticed?"; - mes "The guards at the border"; - mes "to the slum seem distracted"; - mes "sometimes. I made use of one"; - mes "of their less attentive moments"; - mes "and basically jumped the fence!"; - next; - mes "[Sigmund Ting]"; - mes "But once I was in the "; - mes "slums, I was pretty bored."; - mes "There really isn't much to"; - mes "do there. Which makes me"; - mes "wonder... Why guard it?"; - close; -} - -lighthalzen,190,134,5 script Joyce#zen 4_F_LGTGIRL,{ - mes "[Joyce]"; - mes "I can sense your"; - mes "longing look within"; - mes "the depths of my heart,"; - mes "beating faster and faster"; - mes "with a feverish passion~"; - close; -} - -lighthalzen,191,134,3 script Dan Song#zen2 4_M_LGTMAN,{ - mes "[Dan Song]"; - mes "Those eyes of yours..."; - mes "So pure and so deep,"; - mes "like glimmering pools"; - mes "of light. So, so beautiful..."; - close; -} - -lighthalzen,115,159,3 script Collins#zen1 4_M_LGTGRAND,{ - mes "[Collins]"; - mes "I really wish that my"; - mes "son will be able to join"; - mes "the Rekenber Corporation."; - mes "They certainly provide the"; - mes "best jobs in Lighthalzen."; - next; - mes "[Collins]"; - mes "Although they're a large,"; - mes "major corporation, it's"; - mes "almost impossible to get"; - mes "employed by them. How"; - mes "do people get hired there"; - mes "in the first place anyway?"; - close; -} - -lighthalzen,77,157,5 script Villagomez#li_01 4_M_LGTGRAND,{ - mes "[Villagomez]"; - mes "I just step out to get"; - mes "a haircut and now I'm"; - mes "lost. Boy oh boy, I hope"; - mes "I don't keep my family"; - mes "waiting. ^333333*Sigh...*^000000"; - close; -} - -lighthalzen,125,68,5 script Kemp#zen13 4W_M_01,{ - mes "[Kemp]"; - mes "Have you ever seen the"; - mes "people who work in that big"; - mes "corporation over there? I think"; - mes "their employees are all a bit"; - mes "off kilter for some reason."; - next; - mes "[Kemp]"; - mes "I haven't been there"; - mes "myself, but something"; - mes "strange is happening with"; - mes "all the people who work there."; - close; -} - -lighthalzen,138,50,7 script Mauro#zen3 4_M_EINOLD,{ - mes "[Mauro]"; - mes "The youth in this city"; - mes "have no appreciation for"; - mes "their elders. I've worked"; - mes "so hard to help build this"; - mes "city for so many years and"; - mes "this is the thanks I get?"; - next; - mes "[Mauro]"; - mes "Bah! If it weren't for"; - mes "us, Lighthalzen wouldn't"; - mes "be as properous as it is"; - mes "today! Those kids don't"; - mes "know that they owe their"; - mes "lives of luxury to us..."; - close; -} - -lighthalzen,132,103,5 script Sefith#li_01 4_M_JOB_KNIGHT2,{ - mes "[Sefith]"; - mes "Good looks. Intelligence."; - mes "Excellent manners. A strong,"; - mes "manly chin and overpowering,"; - mes "piercing eyes. Perfectly balanced passion and charimsma. All the"; - mes "good things that ladies want."; - next; - mes "[Sefith]"; - mes "But enough about me. Let's"; - mes "discuss how sorry I should"; - mes "feel for any other man living"; - mes "in Lighthalzen. They don't hold"; - mes "a candle to my studliness~"; - close; -} - -lighthalzen,239,64,5 script Jade#zen2 4_F_LGTGIRL,{ - mes "[Jade]"; - mes "I've heard that there's a"; - mes "strange kingdom out there"; - mes "that's basically ruled by"; - mes "magic and swords, where"; - mes "adventurers are enlisted"; - mes "for the greater good."; - next; - mes "[Jade]"; - mes "So are you from"; - mes "Rune-Midgard?"; - mes "What do you think"; - mes "of our city with its"; - mes "advanced technology"; - mes "and economy? Huh..."; - next; - mes "[Jade]"; - mes "Someday, I'd like"; - mes "to go visit the land"; - mes "where you came from."; - mes "It sounds so fantastic"; - mes "and romantic in a way..."; - close; -} - -lighthalzen,205,208,4 script Greedy Looking Man#li_01 4_M_YURI,{ - mes "[Khramptd]"; - mes "The land around here"; - mes "is some pretty expensive"; - mes "property. Yes, it's perfect"; - mes "for building my awesome palace!"; - mes "I don't have enough funds at the"; - mes "moment, but the day will come~"; - close; -} - -lhz_in02,34,212,4 script Maggie#05 4_F_02,{ - mes "[Maggie]"; - mes "Sure, I sell a lot"; - mes "of flowers here, but"; - mes "the lease that this city"; - mes "makes me pay cuts into"; - mes "my profits. It's almost not"; - mes "worth renting this property."; - next; - mes "[Maggie]"; - mes "I pay such a ridiculous"; - mes "amount for the lease and the"; - mes "laws here won't let me raise"; - mes "the price of my flowers. Why"; - mes "are the city officals so greedy?"; - close; -} - -lighthalzen,202,94,5 script Wallace#zen2 4_M_EINOLD,{ - mes "[Wallace]"; - mes "......"; - mes "That lady, working"; - mes "for that one company,"; - mes "Kafra, Mafra or whatever."; - mes "She certainly is very charming."; - next; - mes "[Wallace]"; - mes "Now, if I were"; - mes "thirty years younger..."; - mes "Wait! I'm a rich and powerful"; - mes "man. I could ask her out now."; - mes "Hm? What's that look for?"; - close; -} - -lighthalzen,182,102,3 script Lucius#zen5 4_M_LGTGRAND,{ - if (Zeny < 90000) { - mes "[Lucius]"; - mes "Hello youngster~"; - mes "Would you like to"; - mes "make a donation"; - mes "to help the hungry?"; - next; - if (select("Sure.", "No, thanks.") == 1) { - mes "[Lucius]"; - mes "Now, you can donate 1 to"; - mes "30,000 zeny that will be used"; - mes "to support the poor and feed"; - mes "starving children. If you wish"; - mes "to cancel, please enter ''0.''"; - next; - input .@input; - if (.@input > 30000 || .@input < 0) { - mes "[Lucius]"; - mes "Please enter a value"; - mes "from 1 to 30,000 in"; - mes "order to make a donation"; - mes "to the needy, youngster."; - close; - } - else if (.@input == 0) { - mes "[Lucius]"; - mes "How disappointing,"; - mes "but I'm sure you have"; - mes "your reasons. Well, when"; - mes "you can afford to give to"; - mes "the needy, you're welcome"; - mes "to come back at any time."; - close; - } - mes "[Lucius]"; - mes "Thank you so much"; - mes "for your " + .@input + " zeny donation."; - mes "I promise that your money"; - mes "will be put to good use in"; - mes "benefiting the poor and needy."; - next; - if (Zeny < .@input) { - mes "[Lucius]"; - mes "Still, I'm just a little"; - mes "disappointed. An adventurer"; - mes "like you should be donating"; - mes "as much as you possibly can..."; - close; - } - Zeny -= .@input; - $donatedzeny += .@input; - mes "[Lucius]"; - mes "So far, I've received"; - mes "a total of " + $donatedzeny + " zeny in"; - mes "donations. I'm glad to see"; - mes "that there are still kind and"; - mes "generous people in the world."; - if ($donatedzeny > 260000) { - next; - mes "[Lucius]"; - mes "This should be enough"; - mes "to send to the Poor Relief"; - mes "Organization. Please accept"; - mes "this small gift as a token of"; - mes "my gratitude, adventurer. Bless"; - mes "you, youngster and take care."; - $donatedzeny = 0; - getitem Old_Blue_Box,1; - getitem Speed_Up_Potion,1; - } - close; - } - mes "[Lucius]"; - mes "I understand. Still,"; - mes "keep in mind that when"; - mes "you give from your heart,"; - mes "you will be rewarded tenfold."; - mes "Though I admit, the benefits"; - mes "aren't always readily apparent."; - close; - } - mes "[Lucius]"; - mes "Hello youngster~"; - mes "You seem to be fairly"; - mes "well-off. Money is good"; - mes "to have, but be careful not"; - mes "to become obssessed with it."; - next; - mes "[Lucius]"; - mes "When you have the chance,"; - mes "please show your generosity"; - mes "towards others who may be"; - mes "much less fortunate than you."; - close; -} - -lighthalzen,147,105,3 script Laqumet#li_02 4_M_LGTMAN,{ - mes "[Laqumet]"; - mes "Sure, manliness is quite"; - mes "attractive, but I think women"; - mes "appreciate a guy who could"; - mes "sympathize and talk with them"; - mes "a little more. Don't you agree?"; - next; - mes "[Laqumet]"; - mes "I might not be like Sefith,"; - mes "but I guess I've got a cute"; - mes "smile, a good personality and"; - mes "I'm a dandy to boot. Hopefully,"; - mes "my honesty and loyalty will"; - mes "help me find someone good."; - close; -} - -lhz_in02,242,172,1 script Hotel Employee#zen3 4_M_LGTGUARD,{ - mes "[Hotel Employee]"; - mes "If you are experiencing"; - mes "any sort of inconvenience,"; - mes "please do not hesitate and"; - mes "let us know right away."; - next; - mes "[Hotel Employee]"; - mes "Please use the stairs"; - mes "at the northern end to"; - mes "go downstairs so that you"; - mes "can go to the Front Desk."; - mes "Thank you and I hope that"; - mes "you enjoy your stay here."; - close; -} - -lhz_in02,210,189,3 script Christopher Michael#zen 4_M_DIEMAN,{ - mes "[Christopher Michael]"; - mes "OoooOoh~"; - mes "Soooo comfortable."; - mes "Don't want to wake up."; - mes "Don't want to get up."; - mes "Ever again. OoOoooh..."; - close; -} - -lhz_in02,201,181,7 script Safwat Fahmy 4_M_YURI,{ - mes "[Safwat Fahmy]"; - mes "This hotel is nice"; - mes "and comfortable, but"; - mes "to be quite frank, the"; - mes "drinks here are horrible."; - mes "They're unfit for drinking"; - mes "men such as myself."; - next; - mes "[Safwat Fahmy]"; - mes "If this is the best hotel,"; - mes "I expect them to provide me"; - mes "with the best alcohol. When"; - mes "I stay at a hotel, that's what"; - mes "I want. To spend the entire"; - mes "day not being sober."; - next; - mes "[Safwat Fahmy]"; - mes "It looks like that"; - mes "today I'll be heading"; - mes "out to the bar again..."; - mes "I just wish there were"; - mes "someplace quieter to drink."; - close; -} - -lhz_in02,251,212,3 script Hotel Employee#zen2 4_M_LGTGUARD,{ - mes "[Hotel Employee]"; - mes "This is the Couple Suite."; - mes "A single can also check"; - mes "in here, but our hotel will"; - mes "prioritize couples when"; - mes "assigning this room."; - close; -} - -lhz_in02,229,217,3 script Tanoue#zen04 4_F_LGTGRAND,{ - mes "[Tanoue]"; - mes "This chair looks"; - mes "very nice, but it really"; - mes "chills my bottom. Brr...!"; - mes "It's a might uncomfortable!"; - next; - mes "[Tanoue]"; - mes "You know what the"; - mes "perfect chair would"; - mes "be like? It would be"; - mes "plush and have electronic"; - mes "massage and heating controls..."; - close; -} - -lhz_in02,209,277,5 script Ben Allen#zen11 4_M_02,{ - mes "[Ben Allen]"; - mes "Aaahhh Oooooh~"; - mes "It's sooooo comfy~"; - mes "The air's so fresh and"; - mes "this couch is so plush..."; - mes "Why can't home be like this?"; - next; - mes "[Ben Allen]"; - mes "I've been in those other"; - mes "hotels and let me tell you,"; - mes "this place is the best ever."; - mes "After a night's sleep over"; - mes "here, I feel like a new man!"; - close; -} - -lhz_in02,221,276,1 script Harp#zen8 4_M_LGTMAN,{ - mes "[Harp]"; - mes "Oh sweet jiminy..."; - mes "That Kafra Lady is so hot."; - mes "What a body. And those glasses."; - mes "I just gotta ask her out somehow."; - next; - mes "[Harp]"; - mes "Hm, but what should"; - mes "I do? A love letter? Naw,"; - mes "that's kind of outdated."; - mes "Argh, I can't think! Just"; - mes "looking at her makes me feel"; - mes "so happy! Praise be to Kafra!"; - close; -} - -lhz_in02,238,275,5 script Hotel Employee#zen1 4_M_LGTMAN,{ - mes "[Hotel Employee]"; - mes "''Hospitality with a smile"; - mes "and total devotion to your"; - mes "comfort.'' That's our motto"; - mes "in the Royal Dragon Hotel."; - mes "Please inquire at the front"; - mes "desk if you wish to check in."; - close; -} - -lhz_in02,247,275,1 script Hotel Employee#zen4 4_M_LGTGUARD,{ - mes "[Hotel Employee]"; - mes "Welcome to the"; - mes "Royal Dragon Hotel Bar."; - mes "How about a nice night"; - mes "cap before going to bed?"; - next; - mes "[Hotel Employee]"; - mes "If you're looking"; - mes "for a friend, you"; - mes "can almost always"; - mes "make one in this bar."; - mes "Alcohol certainly is the"; - mes "grease for social gears."; - close; -} - -lhz_in02,271,281,2 script Citizen#amano09 1_M_01,{ - mes "[Hachi]"; - mes "Oh yeah. I love-love-love"; - mes "bars. If I don't come here"; - mes "for the booze, then I'm here"; - mes "for all these beautiful ladies."; - next; - mes "[Hachi]"; - mes "Weird. It's the very first"; - mes "time I've tried this place's"; - mes "rum, but doesn't it taste like"; - mes "pure sexiness to you? Huh..."; - mes "Oh well, back to schmoozin'"; - mes "with all the hot chicks~"; - close; -} - -lhz_in02,277,285,4 script Bartender#amano07 1_M_PUBMASTER,{ - mes "[Duff]"; - mes "Hey, you're from"; - mes "Rune-Midgarts, right?"; - mes "Please make yourself"; - mes "at home while you're here"; - mes "in Lighthalzen and have"; - mes "yourself a good time."; - close; -} - -lhz_in02,281,280,6 script Customer#amano13 4_F_CHNDRESS2,{ - mes "[Rona]"; - mes "I hate it when guys"; - mes "just sidle up and sort"; - mes "of just skip Steps One"; - mes "and Two. And before you"; - mes "get all weird, Step Three"; - mes "is ''Ask for my phone number.''"; - next; - mes "[Rona]"; - mes "I would just really"; - mes "appreciate it if one"; - mes "nice boy would just"; - mes "talk to me for real."; - close; -} - -lhz_in02,287,282,4 script Customer#amano10 4_M_YURI,{ - mes "[Greenfield]"; - mes "I don't believe it..."; - mes "This unlucky streak"; - mes "will never end, will it?"; - mes "I lost all my Apples"; - mes "playing Dice today."; - mes "Again. Oh man..."; - next; - mes "[Greenfield]"; - mes "Okay. Okay."; - mes "If I just keep"; - mes "playing, eventually"; - mes "I'll win. I mean, that's"; - mes "the way the odds work, right?"; - mes "Even when they're against me..."; - close; -} - -lhz_in02,287,273,3 script Customer#amano11 1_M_04,{ - mes "[Terry]"; - mes "I'm not big on drinking,"; - mes "but the atmosphere in this"; - mes "place is really nice. The"; - mes "music they play is always"; - mes "smooth and relaxing..."; - next; - mes "[Terry]"; - mes "Yeah, this is a real cozy"; - mes "joint. I recommend it to"; - mes "all you tourists, acutally."; - mes "Now why don't you kick"; - mes "back and chill with me?"; - close; -} - -lhz_in02,283,276,4 script Customer#amano12 4_F_CHNDRESS1,{ - mes "[Sei]"; - mes "You see that guy?"; - mes "That guy over there is"; - mes "always looking at me."; - mes "I wonder... Does he want"; - mes "to ask me out or something?"; - next; - mes "[Sei]"; - if (Sex == SEX_MALE) { - mes "Well, if he does,"; - mes "shouldn't he have"; - mes "more guts? Or are "; - mes "you boys much more"; - mes "shy than I think you are?"; - } - else { - mes "Well, he is sort of"; - mes "cute. Geez, this would"; - mes "be so much easier if he"; - mes "would just come up and"; - mes "start talking to me..."; - } - close; -} - -lighthalzen,123,212,4 script Merpi#zen2 8_F_GIRL,{ - mes "[Merpi]"; - mes "Isn't the weather nice"; - mes "today? All this sunlight"; - mes "will dry these clothes"; - mes "quickly and give them"; - mes "a fresh, lovely scent."; - next; - mes "[Merpi]"; - mes "Oh, an adventurer from"; - mes "Rune-Midgarts, are you?"; - mes "How do you like our city?"; - mes "If you have any questions,"; - mes "feel free to ask me anything."; - next; - switch(select("Well, I have nothing to ask...", "Any news or rumors?", "I like laundry too.")) { - case 1: - mes "[Merpi]"; - mes "Oh, really?"; - mes "Well, if you've traveled"; - mes "all over the world, maybe"; - mes "you've found a place just"; - mes "like Lighthalzen, so maybe"; - mes "you're already comfortable?"; - close; - case 2: - mes "[Merpi]"; - mes "Well, things have"; - mes "been pretty peaceful"; - mes "for the past few years."; - mes "The only rumor floating"; - mes "around is about some"; - mes "weird axe murderer..."; - close; - case 3: - mes "[Merpi]"; - mes "Oh, that's wonderful!"; - mes "I so love doing hand"; - mes "laundry, though I'm not"; - mes "quite sure why. Oh well~"; - close; - } -} - -lighthalzen,296,239,3 script Berru#lhz_01 4_M_KID1,{ - switch(rand(1,3)) { - case 1: - mes "[Berru]"; - mes "Daddy...! Waaaaah~!"; - mes "I wanna see my Daddy!"; - emotion e_sob,0,"Berru#lhz_01"; - next; - mes "[Pilia]"; - mes "Berru, I don't "; - mes "think Daddy's coming"; - mes "home tonight. Come on,"; - mes "we should go to bed."; - next; - mes "[Berru]"; - mes "No, I'm not gonna"; - mes "sleep till Daddy gets"; - mes "home! He said he'll"; - mes "bring us candy tonight!"; - mes "You go sleep first, Pilia!"; - emotion e_ag,0,"Berru#lhz_01"; - next; - mes "[Pilia]"; - mes "^333333*Sigh...*^000000"; - mes "Where's our Daddy?"; - mes "He said he found a"; - mes "good job, but we haven't"; - mes "heard from him since then..."; - emotion e_dots,0,"Pilia#lhz_01"; - close; - case 2: - mes "[Pilia]"; - mes "What's taking him"; - mes "so long? I hope Daddy"; - mes "comes back home soon."; - mes "Come on, Berru, don't cry."; - emotion e_dots,0,"Pilia#lhz_01"; - next; - mes "[Berru]"; - mes "^333333*Sob...*^000000"; - mes "But I'm hungry"; - mes "and I miss Daddy!"; - next; - mes "[Pilia]"; - mes "Uncle Togii from"; - mes "next door hasn't"; - mes "come back either..."; - close; - case 3: - mes "[Pilia]"; - mes "Hmm? Oh, I'm sorry,"; - mes "but my little brother"; - mes "just won't stop crying."; - mes "I'm sorry if we're loud..."; - emotion e_what,0,"Pilia#lhz_01"; - next; - mes "[Pilia]"; - mes "Our daddy goes to work"; - mes "somewhere far away. He"; - mes "finally has a good job, but"; - mes "sometimes we don't hear"; - mes "from him for days. We get"; - mes "really worried about him."; - next; - mes "[Pilia]"; - mes "My brother Berru always"; - mes "misses him a lot. I don't"; - mes "know how to make him"; - mes "stop crying! What do I do?"; - emotion e_swt2,0,"Pilia#lhz_01"; - close; - } -} - -lighthalzen,297,239,3 duplicate(Berru#lhz_01) Pilia#lhz_01 4_F_CHNWOMAN - -lighthalzen,312,233,3 script Beggar#lhz_02 4_M_TWOLDMAN,3,1,{ - end; - -OnTouch: - mes "[Beggar]"; - mes "Please..."; - mes "My child is starving..."; - mes "Would you give me"; - mes "some money?"; - next; - if (select("Give him some money.", "Ignore him.") == 1) { - if (Zeny < 50) { - mes "[Beggar]"; - mes "I appreciate your"; - mes "kindness, but it also"; - mes "looks like you're in need"; - mes "of zeny, too. Would you"; - mes "like to join me?"; - emotion e_heh; - close; - } - mes "[" + strcharinfo(PC_NAME) + "]"; - mes "Here you go,"; - mes "take this."; - Zeny -= 50; - next; - mes "[Beggar]"; - mes "Thank you so much."; - mes "I have nothing to offer you"; - mes "in exchange, but I can share"; - mes "a story with you and impart"; - mes "some of the wisdom I've"; - mes "learned over the years."; - emotion e_thx; - next; - switch(rand(1,3)) { - case 1: - mes "[Beggar]"; - mes "Everyone's been in"; - mes "a situation where you"; - mes "sometimes you feel that"; - mes "you have to make a choice"; - mes "between doing the right thing"; - mes "and doing what you want, right?"; - next; - mes "[Beggar]"; - mes "You may feel trapped."; - mes "Well, let me tell you, when"; - mes "it comes to a problem, all"; - mes "the solutions available to"; - mes "you aren't always obvious."; - mes "So just calm down and think."; - next; - mes "[Beggar]"; - mes "What you can see and"; - mes "understand might not match"; - mes "with reality. Like the stars that are always there, but not visible"; - mes "during the day, we'll always have hope, even if we can't see it."; - next; - mes "[" + strcharinfo(PC_NAME) + "]"; - emotion e_dots,1; - mes ". . . . . . . . . . . ."; - next; - mes "[" + strcharinfo(PC_NAME) + "]"; - emotion e_dots,1; - mes ". . . . . . . . . . . ."; - mes ". . . . . . . . . . . ."; - next; - mes "[" + strcharinfo(PC_NAME) + "]"; - emotion e_dots,1; - mes ". . . . . . . . . . . ."; - mes ". . . . . . . . . . . ."; - mes ". . . . . . . . . . . ."; - next; - mes "[Beggar]"; - emotion e_what; - mes "Hmm...?"; - mes "You seem surprised~"; - close; - case 2: - mes "[Beggar]"; - mes "I sort of believe in fate and"; - mes "sort of don't. Let me explain"; - mes "it this way. I take life day by"; - mes "day, with each day covering its"; - mes "own spectrum with miracle on one end and tragedy on the other."; - next; - mes "[Beggar]"; - mes "So each day has the capacity"; - mes "for experiences that can be"; - mes "good, bad or both. I believe"; - mes "each person can take an "; - mes "active role in shaping their"; - mes "destiny, day by day."; - next; - mes "[Beggar]"; - mes "Now, there may be certain"; - mes "things that you can't control,"; - mes "but even a pessimist might"; - mes "be able to agree that this"; - mes "is a world that not only has"; - mes "tragedy, but miracles as well."; - next; - mes "[Beggar]"; - mes "Stand up when you're down"; - mes "and live your life with passion. The capacity for miracles will"; - mes "always be there and know that"; - mes "you can be someone else's"; - mes "miracle. Isn't that wonderful?"; - next; - mes "[" + strcharinfo(PC_NAME) + "]"; - emotion e_dots,1; - mes ". . . . . . . . . . . ."; - next; - mes "[" + strcharinfo(PC_NAME) + "]"; - emotion e_dots,1; - mes ". . . . . . . . . . . ."; - mes ". . . . . . . . . . . ."; - next; - mes "[" + strcharinfo(PC_NAME) + "]"; - emotion e_dots,1; - mes ". . . . . . . . . . . ."; - mes ". . . . . . . . . . . ."; - mes ". . . . . . . . . . . ."; - next; - mes "[Beggar]"; - emotion e_what; - mes "Don't believe me?"; - mes "Well, you'll see for"; - mes "yourself, youngster."; - mes "There's much good in you."; - close; - case 3: - mes "[Beggar]"; - mes "Anger. People deal with"; - mes "it in different ways. Some"; - mes "suppress it. Some relish it."; - mes "Some fear being angry. Now,"; - mes "to be simple, let's say there"; - mes "are two kinds of anger."; - next; - mes "[Beggar]"; - mes "The first is the kind that"; - mes "isn't so productive. More of"; - mes "a frustration that you can let"; - mes "go. Someone cut you off on the"; - mes "freeway or a friend innocently forgot your birthday? No biggie."; - next; - mes "[Beggar]"; - mes "Don't let this kind of"; - mes "anger get to you or you'll"; - mes "look like a loser. Think of"; - mes "the big picture and if you're"; - mes "still upset, vent appropriately. Be honest without hurting anyone."; - next; - mes "[Beggar]"; - mes "The second kind of anger"; - mes "is righteous anger. You've"; - mes "been wronged and need "; - mes "some form of retribution. "; - mes "Just don't misdirect your anger"; - mes "and respond appropriately."; - next; - mes "[Beggar]"; - mes "The second kind of anger is"; - mes "righteous anger. You've been"; - mes "wronged and need some form"; - mes "of retribution. Remember to"; - mes "make appropriate confrontations"; - mes "and don't misdirect your rage."; - next; - mes "[Beggar]"; - mes "Getting into a fight with"; - mes "righteous anger, say to protect"; - mes "someone dear to you, will make"; - mes "you a hero. Fighting with anger"; - mes "born of frustration will make you a bully. Know the difference."; - next; - mes "[" + strcharinfo(PC_NAME) + "]"; - emotion e_dots,1; - mes ". . . . . . . . . . . ."; - next; - mes "[" + strcharinfo(PC_NAME) + "]"; - emotion e_dots,1; - mes ". . . . . . . . . . . ."; - mes ". . . . . . . . . . . ."; - next; - mes "[" + strcharinfo(PC_NAME) + "]"; - emotion e_dots,1; - mes ". . . . . . . . . . . ."; - mes ". . . . . . . . . . . ."; - mes ". . . . . . . . . . . ."; - next; - mes "[Beggar]"; - emotion e_what; - mes "What's wrong?"; - mes "It might be a lot"; - mes "to take in, I know."; - close; - } - } - mes "[" + strcharinfo(PC_NAME) + "]"; - mes "..."; - mes "......"; - close; -} - -lighthalzen,311,194,3 script Reuben#lhz_02 4_M_LGTPOOR,{ - if (rand(1,2)) { - mes "[Reuben]"; - mes "Someday..."; - mes "Someday I just gotta"; - mes "become a train conductor"; - mes "and just get outta here!"; - mes "I really hate this place!"; - emotion e_ag; - next; - mes "[Reuben]]"; - mes "Wh-whoa...!"; - mes "Did you just hear"; - mes "me talk to myself?"; - mes "Crud! Don't be so nosy!"; - emotion e_an; - close; - } - mes "[Reuben]"; - mes "Hey. What are"; - mes "you doing just"; - mes "looking at me?"; - mes "I don't know you"; - mes "from Adam, so get lost~"; - emotion e_rock; - close; -} - -lighthalzen,306,324,3 script Shengwen#zen7 4_M_LGTPOOR,{ - mes "[Shengwen]"; - mes "Am I just getting"; - mes "paranoid? I really"; - mes "think that some of"; - mes "the people I know"; - mes "are disappearing"; - mes "for no good reason!"; - next; - mes "[Shengwen]"; - mes "I mean, all of my close"; - mes "friends are all alright,"; - mes "but I'm starting not to see"; - mes "certain acquaintances and"; - mes "familiar faces. Maybe I'm"; - mes "just thinking too much..."; - close; -} - -lhz_in03,26,167,5 script Shayna#li 4_F_EINWOMAN,{ - mes "[Shayna]"; - mes "^333333*Sigh...*^000000"; - mes "Oh, you poor"; - mes "darling girl..."; - close; -} - -lhz_in01,134,45,3 script Cenku Dekdam#delic 4_M_LGTMAN,{ - mes "[Cenku Dekdam]"; - mes "Man, if you were"; - mes "gonna take this whole"; - mes "city and then sell it, what"; - mes "do you think Lighthalzen's"; - mes "price tag would be, eh?"; - next; - mes "[Cenku Dekdam]"; - mes "I mean, this city"; - mes "is basically just made"; - mes "of money. Money is what"; - mes "makes this city such a nice"; - mes "and pleasant place to live."; - close; -} - -lighthalzen,330,276,3 script Nun#light 1_F_PRIEST,{ - mes "[Angela]"; - mes "Greetings, adventurer."; - mes "I'm Angela, a social"; - mes "worker for the Poor"; - mes "Relief Organization."; - next; - mes "[Angela]"; - mes "I've noticed that the"; - mes "people living here have"; - mes "extremely bad health and"; - mes "it's not just because of"; - mes "their circumstances."; - next; - mes "[Angela]"; - mes "I've filed a report"; - mes "to my superiors, but"; - mes "they haven't sent me"; - mes "a response yet for some"; - mes "reason. I'm starting to get"; - mes "a little worried about this..."; - close; -} - -lighthalzen,337,296,3 script Employee 4_M_LGTGUARD2,{ - if (hg_tre > 54) { - mes "[Rekenber Employee]"; - mes "Greetings. As part of our"; - mes "effort to relieve the poor,"; - mes "Rekenber is providing job"; - mes "opportunities targeted for"; - mes "citizens of the slum areas."; - next; - mes "[Rekenber Employee]"; - mes "You can choose to work"; - mes "from home, or undergo a"; - mes "little bit of training for more"; - mes "professional positions. This"; - mes "is a great chance to make a"; - mes "difference... and some money~"; - emotion e_no1; - close; - } - end; -} - -lhz_in01,134,38,3 script Bankri Kun#kagun 4_M_NFMAN,{ - mes "[Bankri Kun]"; - mes "Must work..."; - mes "Must focus..."; - mes "Resist sleepiness..."; - mes "Why do I keep coming"; - mes "here? Ugh, h-horrible."; - next; - mes "[Bankri Kun]"; - mes "Hey youngster. You wanted"; - mes "adventuring advice? Okay."; - mes "Um. Hm. Always. Brush."; - mes "Your teeth. Brush them"; - mes "everyday. Oh, and don't"; - mes "forget to floss, either."; - next; - mes "[Bankri Kun]"; - mes "Now it's time for me"; - mes "to head back to work."; - mes "I'll see you later, kid."; - mes "Sorry my advice was so"; - mes "lame-- I couldn't think of"; - mes "anything else to tell you."; - close; -} - -lhz_in01,139,40,7 script Enoz#oz 1_M_INNKEEPER,{ - mes "[Enoz]"; - mes "So, the novel I ordered from"; - mes "the Rune-Midgarts Kingdom"; - mes "just recently arrived. It's real good, by the guy who wrote"; - mes "''Roda Frog Adventure''"; - mes "years ago. Remember?"; - next; - mes "[Enoz]"; - mes "Anyway, this new book,"; - mes "''Where the Red Plant Grows''"; - mes "is up for the Yggdrasilberry"; - mes "Award. I... I don't know why"; - mes "I was compelled to share that"; - mes "with you. Seriously, I don't..."; - close; -} - -lhz_in01,124,28,3 script Ellette#tre 1_F_01,{ - mes "[Ellette]"; - mes "..."; - next; - mes "[" + strcharinfo(PC_NAME) + "]"; - mes "Excuse me."; - next; - mes "[Ellette]"; - mes "..."; - mes "......"; - next; - mes "[" + strcharinfo(PC_NAME) + "]"; - mes "Hello?"; - next; - mes "[Ellette]"; - mes "...Oh! Everyone!"; - mes "I just completed"; - mes "another one! Hooray!"; - next; - mes "[All other Employees]"; - mes "Wh-what?!"; - mes "No way, not again!"; - next; - mes "[Leekal]"; - mes "Are you even human?"; - mes "You must have some"; - mes "secret for that much"; - mes "productivity. It's weird..."; - next; - mes "[Ellette]"; - mes "Oh, come on."; - mes "Maybe I'm a little"; - mes "good at this, but there's"; - mes "no way I can beat Cenku."; - close; -} - -lhz_in01,125,40,3 script Dowbow Ryuei#ryusei 4_M_THAIONGBAK,{ - mes "[Dowbow Ryuei]"; - mes "Just out of, oh I dunno,"; - mes "curiosity, which word do"; - mes "you like better? ''Uber-Cool''"; - mes "or ''Reality?'' Pick one~"; - next; - if (select("Uber-Cool", "Reality") == 1) { - mes "[Dowbow Ryuei]"; - mes "Oh yeah? Me too!"; - mes "Yeah, we got the same"; - mes "outlook on life. If you don't"; - mes "mind, I'd like to shake"; - mes "your hand, adventurer."; - emotion e_no1; - close; - } - mes "[Dowbow Ryuei]"; - mes "Reality, eh?"; - mes "Well, I agree that"; - mes "being realistic has its"; - mes "perks, I'm more of a dreamer."; - close; -} - -lhz_in01,125,46,3 script Leekal#lackee 4_M_DIEMAN,{ - mes "[Leekal]"; - mes "So... Very broke."; - mes "Why did I spend so much"; - mes "money on wine, women and"; - mes "song? I regret it all, all the"; - mes "pleasure I've had this month."; - mes "Yes, it was too much pleasure."; - next; - mes "[Ninjose]"; - mes "That's what happens"; - mes "when you're irresponsible"; - mes "with your money. You really"; - mes "should read this ''Anybody"; - mes "Can Be Rich'' book."; - close; -} - -lhz_in01,116,53,7 script Ninjose#nina 4_M_THAIAYO,{ - mes "[Ninjose]"; - mes "At long last, I've finally"; - mes "bought my own home. You"; - mes "should invest your money for"; - mes "your future too! Read this,"; - mes "''Anybody Can Be Rich!''"; - mes "It's such a great book!"; - close; -} - -lhz_in01,116,39,7 script Kejulle Rekenber#reken 4_M_CHNMAN,{ - mes "[Kejulle Rekenber]"; - mes "Hm? Sure, my last name"; - mes "is Rekenber and that's the"; - mes "same name as our chairman,"; - mes "but that's just a coincidence."; - mes "I'm merely a normal employee."; - mes "Yeah, no special treatment..."; - close; -} - -lhz_in01,110,40,3 script Jorjerro#fhero 4_M_ORIENT02,{ - mes "^3355FFThis man here"; - mes "is motionless,"; - mes "and for all intents"; - mes "and purposes, is"; - mes "soundly asleep.^000000"; - close; -} - -lhz_in01,116,45,7 script Joshua#aya 4_M_BIBI,{ - mes "[Joshua]"; - mes "What am I doing here?"; - mes "Waiting for my dream"; - mes "woman to fall into my lap,"; - mes "what else does it look like?"; - next; - mes "[Joshua]"; - mes "Tall, blond, creamy"; - mes "complexion and smooth"; - mes "skin. That's right. Come"; - mes "right to Joshua, babes."; - mes "I got my pheremone spray"; - mes "on and I'm ready to cruise~"; - close; -} - -lighthalzen,326,249,5 script Grinnel#zen6 4_M_LGTPOOR,{ - mes "[Grinnel]"; - mes "You know the men in"; - mes "black suits? Boy, did"; - mes "I get a scare! They actually"; - mes "tracked me down to ask me"; - mes "all these weird questions!"; - next; - mes "[Grinnel]"; - mes "They kept wanting to"; - mes "know if I had ever met"; - mes "anyone from the Rekenber"; - mes "Corporation, if I've ever been"; - mes "Uptown, that sort of thing. They"; - mes "really scared the crap out of me."; - next; - mes "[Grinnel]"; - mes "Man, living in the"; - mes "slums is such a drag."; - mes "Not only is life rough,"; - mes "but all sorts of people"; - mes "think they can push you"; - mes "around. I hate Lighthalzen..."; - close; -} - -lhz_in03,192,19,3 script Haggar#zen1 4_M_EINMAN,{ - mes "[Haggar]"; - mes "Whiskey!"; - mes "I need me some"; - mes "hard liquor now!"; - next; - mes "[Haggar]"; - mes "Wha--? I didn't"; - mes "order this stinkin'"; - mes "rum! I want a man's"; - mes "drink! Gimme whiskey!"; - close; -} - -lhz_in03,193,25,2 script Bartender#12 1_M_PUBMASTER,{ - mes "[Tony]"; - if (Sex == SEX_MALE) { - mes "Hey man, I know this"; - } - else { - mes "Hey lady, I know this"; - } - mes "joint is a dive, pretty much"; - mes "on the verge of bein' totally"; - mes "ghetto, but we're proud to"; - mes "have the best rum in all of"; - mes "Rune-Midgard. It's true~"; - next; - mes "[Tony]"; - mes "Just a sip of this"; - mes "beautiful drink and"; - mes "you're on top of the"; - mes "world! But it's best"; - mes "for helpin' yah relax"; - mes "and forget your worries."; - next; - mes "[Tony]"; - mes "I don't take to bein'"; - mes "a poet, but I do know"; - mes "this. Our rum has the"; - mes "sweet sweet flavor of"; - mes "loneliness. You really"; - mes "oughta try it when you can."; - close; -} - -lhz_in03,185,20,6 script Bad Drunk#amano06 4_M_LGTMAN,2,2,{ - mes "[Garry]"; - mes "Hey! Hey you...!"; - mes "D'you wanna, you"; - mes "wanna hear me tell"; - mes "you a joke?! It goes..."; - mes "Um, it goes like this..."; - next; - mes "[Garry]"; - mes "Hey riddle middle,"; - mes "the cat and th--"; - mes "No! No, damn it!"; - mes "That's a song!"; - mes "No, wait, that's"; - mes "not a song either..."; - close; -} - -lhz_in03,186,29,7 script Bad Drunk#12 4_M_LGTMAN,{ - mes "[Bonse]"; - mes "*Hiccup* I loooove"; - mes "this rum! I caught a cold"; - mes "once and one glass made"; - mes "it go away! 'Course, I slept"; - mes "for a week too, but that don't"; - mes "matter! Pshaw! Science..."; - next; - mes "[Bonse]"; - mes "Oh, the flavor is just"; - mes "so clean, but it's also"; - mes "got a bit of a kick. I don't"; - mes "know how to describe it."; - mes "Its the taste of happiness?"; - mes "I'm too drunk to even tell!"; - close; -} - -lhz_in02,265,273,6 script Lab Staff#amano08 4_LGTSCIENCE,{ - mes "[Assam]"; - mes "This place is nice"; - mes "and usually pretty quiet."; - mes "I like to come here after"; - mes "work, have a drink and just"; - mes "chat with the bartender."; - next; - mes "[Assam]"; - mes "The rum here is incredibly"; - mes "good too. It might even be"; - mes "the best in the world. I dunno"; - mes "why, but for some reason, its"; - mes "taste reminds me of teamwork~"; - close; -} - -lhz_in03,192,93,3 script City Girl#amano05 4_F_LGTGIRL,{ - mes "[Lanko]"; - mes "Oh, I'm only here"; - mes "working as a waitress"; - mes "to help out my father."; - mes "This job is so tiring, but"; - mes "it's nice to see people so"; - mes "relaxed and having a good time."; - next; - mes "[Lanko]"; - mes "When I get some time"; - mes "off, I'm going to explore"; - mes "Lighthalzen and see all that"; - mes "there is to see. But for now,"; - mes "it doesn't look like we've got"; - mes "any real shortage of drunks..."; - close; -} - -lhz_in03,189,87,5 script Drunken Man#amano01 4_M_LGTMAN,{ - mes "[Enku]"; - mes "*Sob* I just got"; - mes "dumped! Yeah, I thought"; - mes "we were gonna get married,"; - mes "but obviously I was wrong!"; - mes "Damn it Sheryline! I loved you!"; - next; - mes "[Enku]"; - mes "I usually don't care for"; - mes "drinking, especially stuff"; - mes "like gin or rum, but today,"; - mes "this stuff tastes just like"; - mes "my misery. This is all the"; - mes "comfort I need, you hear?!"; - close; -} - -lhz_in03,183,82,7 script Drunken Man#amano02 4_M_LGTPOOR,{ - mes "[Linus]"; - mes "After ten years"; - mes "of marriage. My"; - mes "wife divorced me..."; - next; - mes "[Linus]"; - mes "So I guess there's no"; - mes "place for me but here for"; - mes "now. I don't know what it is,"; - mes "but the rum is really good"; - mes "today. Like, it's the flavor"; - mes "of relaxing, joyous relief~"; - close; -} - -lhz_in03,180,83,6 script Citizen#amano03 4_M_04,{ - mes "[Mitchell]"; - mes "You know, everyone"; - mes "is different, but I think"; - mes "humans are similar enough"; - mes "that we can all meaningfully"; - mes "connect on some level, right?"; - next; - mes "[Mitchell]"; - mes "Sure, a rich person might"; - mes "have different problems than"; - mes "a poor person, but the point"; - mes "is, they've both got problems!"; - mes "Pain, pleasure, sadness, joy."; - mes "Those link us all together."; - next; - mes "[Mitchell]"; - mes "So try not to be picky"; - mes "about who's your pal and"; - mes "who's not. We all need"; - mes "somebody to be with, right?"; - close; -} - -lhz_in03,176,85,5 script Citizen#amano04 4_M_LGTMAN,{ - mes "[Dique]"; - mes "One of the things I look"; - mes "forward to during my day"; - mes "is the drink I enjoy right"; - mes "after work. It's the most"; - mes "relaxing thing in the world."; - next; - mes "[Dique]"; - mes "Of course, there's"; - mes "more to life than just"; - mes "hanging out in pubs and"; - mes "bars. The thing is, in my"; - mes "case, pubs and bars are"; - mes "all I happen to need~"; - close; -} - -lhz_in03,184,38,3 script Loudmouth 1_M_JOBTESTER,{ - mes "[Loudmouth]"; - mes "Do you know who I am?!"; - mes "Just look at this peg leg."; - mes "I was in the Comodo War,"; - mes "Ski Troop division! I lost my"; - mes "leg to earn your freedom!"; - next; - mes "[Loudmouth]"; - mes "H-hey! What's that"; - mes "look for? What, you"; - mes "don't believe me?!"; - close; -} - -lhz_in01,173,28,4 script Guard#01::LhzRekGuard 4_M_LGTGUARD,{ - mes "[Guard]"; - mes "This is a"; - mes "restricted area."; - mes "Please keep clear"; - mes "if you do not have"; - mes "special authorization."; - mes "Thank you for your cooperating."; - close; -} - -lhz_in01,180,28,4 duplicate(LhzRekGuard) Guard#03 4_M_LGTGUARD - -lhz_in01,72,209,5 script Guide#lt0 4_F_LGTGIRL,{ - mes "[Lasoei]"; - mes "Oh phooey."; - mes "The same customers"; - mes "are always coming in,"; - mes "day after day. Can it"; - mes "get any less exciting?"; - next; - mes "[Lasoei]"; - mes "Oh...!"; - mes "W-welcome~"; - mes "C-can I help you"; - mes "with anything?"; - close; -} - -lhz_in01,72,195,0 script Guide#lt1 4_F_01,{ - mes "[Geonuii]"; - mes "Greetings. This path"; - mes "leads to the Library and"; - mes "the Laboratory. Please be"; - mes "aware that these places"; - mes "are restricted from access"; - mes "by the general public."; - close; -} - -lhz_in01,73,188,0 script Guide#lt2 4_F_LGTGIRL,{ - mes "[Bonnie]"; - mes "Oh no..."; - mes "Where did I put it?"; - close; -} - -lhz_in01,35,226,5 script Rekenber Guard#li01 4_M_LGTGUARD2,{ - if (isequipped(2241) && isequipped(2243)) { - mes "[Rekenber Guard]"; - mes "^3355FF(Whoa, it's a member"; - mes "of the staff!)^000000 Good day!"; - close2; - warp "lhz_in01",37,225; - end; - } - mes "[Rekenber Guard]"; - mes "This is a restricted"; - mes "area! Please show"; - mes "some ID immediately!"; - next; - if (select("ID?", "Cancel") == 1) { - mes "[Rekenber Guard]"; - mes "I don't know how you"; - mes "adventurers do things in"; - mes "Rune-Midgarts, but over here"; - mes "we have laws about trespassing!"; - close; - } - mes "[Rekenber Guard]"; - mes "Unless you have special"; - mes "authorization, nobody is"; - mes "allowed into the Underground"; - mes "Laboratory for security reasons."; - close; -} - -lhz_in01,23,132,3 script Rekenber Guard#li02 4_M_LGTGUARD2,5,5,{ -OnTouch: - if (isequipped(2241) && isequipped(2243)) { - mes "[Rekenber Guard]"; - mes "Keep your eyes open."; - mes "I've heard rumors that some"; - mes "adventurers from Rune-Midgarts"; - mes "are trying to sneak into here!"; - mes "I know the security here is"; - mes "pretty much fail sure, but..."; - close; - } - else { - mes "[Rekenber Guard]"; - mes "This area is restricted"; - mes "to the public! Who are you"; - mes "and how did you get in here?!"; - mes "Hey, I need backup right away!"; - close2; - warp "lhz_in01",33,224; - } - end; -} - -lhz_in01,217,121,3 script Repairman#li_01 4_M_REPAIR,{ - if (isequipped(2241) && isequipped(2243)) { - mes "[Repairman]"; - mes "No wonder these things"; - mes "break all the time! These"; - mes "machines have been totally"; - mes "abused! Ugh, there's no"; - mes "appreciation for all of this"; - mes "convenient technology..."; - next; - mes "[Repairman]"; - mes "Yeah, all of this lab"; - mes "equipment is really sensitive,"; - mes "not to mention expensive. If"; - mes "you ever handle this stuff, you"; - mes "need to be extra cautious."; - close; - } - else { - mes "[Repairman]"; - mes "Hey, you don't work--"; - mes "G-guards! Hurry! There's"; - mes "somebody over here!"; - emotion e_gasp; - close2; - warp "lhz_in01",33,224; - end; - } -} - -lhz_in01,203,123,3 script Scientist#li_02 4_M_ALCHE_C,{ - if (isequipped(2241) && isequipped(2243)) { - mes "[Scientist]"; - mes "Alright. Pull one test"; - mes "tube out of the machine,"; - mes "replace the other test"; - mes "tube over here and then"; - mes "clean the first test tube?"; - next; - mes "[Scientist]"; - mes "Or do I clean the test tube,"; - mes "put it into the machine and"; - mes "then replace the other one?"; - mes "I'm so confused with this"; - mes "procedure! If only I didn't"; - mes "lose the instructions..."; - close; - } - mes "[Scientist]"; - mes "Alright. Pull one test"; - mes "tube out of the machine,"; - mes "replace th--hey. You're"; - mes "not Ralphie. Wait. Guaaards!"; - mes "Help me, there's some weirdo!"; - emotion e_gasp; - close2; - warp "lhz_in01",33,224; - end; -} - -lhz_in01,199,137,3 script Scientist#li_03 4_LGTSCIENCE,{ - if (isequipped(2241) && isequipped(2243)) { - mes "[Scientist]"; - mes "Whoa whoa~!"; - mes "Please! Don't"; - mes "touch anything!"; - mes "I'm dealing with highly"; - mes "volatile chemicals here!"; - close; - } - mes "[Scientist]"; - mes "Guards! Hurry,"; - mes "there's someone"; - mes "here, and I think"; - mes "it's one of those crazy"; - mes "stalkers! Why, why me?!"; - emotion e_gasp; - close2; - warp "lhz_in01",33,224; - end; -} - -lhz_in01,46,125,3 script Rekenber Guard#li03 4_M_LGTGUARD2,5,5,{ -OnTouch: - if (isequipped(2241) && isequipped(2243)) { - mes "[Rekenber Guard]"; - mes "......................"; - next; - if (select("Nice day, huh?", "Cancel") == 1) { - mes "[Rekenber Guard]"; - mes "..."; - emotion e_an; - close; - } - mes "[Rekenber Guard]"; - mes "..."; - close; - } - mes "[Rekenber Guard]"; - mes "...!"; - emotion e_gasp; - close2; - warp "lhz_in01",33,224; - end; -} - -lhz_in01,25,141,4 script Regenschirm Guard 4_M_LGTGUARD,{ - - mes "[Regenschirm Guard]"; - if(isequipped(2241) && isequipped(2243)){ - mes "Do you wish to"; - mes "go underground?"; - next; - if(select("Yes", "No")==1){ - if(isequipped(2657)){ - warp "lhz_dun01",150,288; - end; - } - mes "[Regenschirm Guard]"; - mes "I'm sorry but I can't let"; - mes "staff without proper autorization"; - mes "pass. Only staff members with"; - mes "Laboratory Passports are allowed"; - mes "to enter the underground."; - close; - - } - mes "[Regenschirm Guard]"; - mes "Thank you and"; - mes "have a nice day."; - close; - } - mes "This area is restricted"; - mes "to the public! Who are you"; - mes "and how did you get in here?!"; - mes "Hey, I need backup right away!"; - close2; - warp "lhz_in01",34,224; - end; - -} - - -//== Lighthalzen Bank Area ================================= -lhz_in02,34,41,1 script Arthur#zen16 4_M_DIEMAN,{ - mes "[Arthur]"; - mes "The chairs here are"; - mes "so not ergonomic. And"; - mes "they're uncomfortable too!"; - mes "But it's sooo cool inside this"; - mes "bank and I just wanted to get"; - mes "get away from all this heat..."; - close; -} - -lhz_in02,28,39,3 script Helen#zen6 4_F_KID2,{ - mes "[Helen]"; - mes "You know, maybe when"; - mes "I grow up, I'll be a bank"; - mes "clerk. That sounds like a"; - mes "really nice job, don't you"; - mes "think? It's laid back and posh..."; - close; -} - -lhz_in02,31,34,3 script Tadem#zen6 4_M_EINOLD,{ - mes "[Tadem]"; - mes "I do so enjoy the"; - mes "architectural structure"; - mes "of this bank. It's quite"; - mes "artistic with both classical"; - mes "and modern elements. Would"; - mes "you not agree? Fascinating..."; - close; -} - -lhz_in02,31,33,3 script Gracie#5 4_F_LGTGRAND,{ - mes "[Gracie]"; - mes "Oh, it's so comfortable"; - mes "in here~ Though, why are"; - mes "we inside the bank when"; - mes "the bank services aren't even"; - mes "working? Yes, we're standing,"; - mes "but we're doing it in comfort."; - next; - mes "[Gracie]"; - mes "In fact, it's so"; - mes "comfortable here,"; - mes "I think I'll refuse to leave."; - mes "Though, I'm willing to change"; - mes "my mind if you can find a place"; - mes "that's even more comfortable."; - close; -} - -lhz_in02,21,38,7 script Bank Clerk#1::BankClerk 4_M_04,{ - mes "[Bank Clerk]"; - mes "Due to some critical system"; - mes "errors, all of the bank services"; - mes "have been temporarily stopped."; - mes "We apologize for any inconvenience and appreciate your understanding."; - close; -} - -lhz_in02,21,25,7 duplicate(BankClerk) Bank Clerk#2 4_M_04 -lhz_in02,34,22,1 duplicate(BankClerk) Bank Clerk#3 4_M_SAGE_C - -//== Lightalzen Prison Area ================================ -lhz_in02,145,177,0 script Togii#07 4_M_DIEMAN,{ - mes "[Togii]"; - mes "Oooh yeah..."; - mes "Goes down smooth."; - mes "Morroc whiskey's the best!"; - mes "^333333*Hiccup*^000000 Whoa, this stuff"; - mes "really works fast! Heh heh~"; - close; -} - -lhz_in02,159,198,7 script Healthy Looking Guy#hol 4_M_03,{ - mes "[Healthy Looking Guy]"; - mes "Grrrrrr! Leave me alone!"; - mes "How many times do I have"; - mes "to keep telling you? I've never"; - mes "hoarded item upgrade materials!"; - mes "I swear that I'm innocent!"; - close; -} - -lhz_in02,157,201,6 script Hinkley#06 4_M_LGTPOOR,{ - mes "[Hinkley]"; - mes "Meh heh heh..."; - mes "^333333*Hiccup*^000000 Believe"; - mes "it or notsh, I'm..."; - mes "walkin on a... Air..."; - mes "Nevah thought I could"; - mes "b-be sho freee-eeee-eee~"; - next; - mes "^3355FFThis guy"; - mes "is completely"; - mes "hammered out"; - mes "of his mind!^000000"; - close; -} - -lhz_in02,153,206,4 script Millette#05 4_M_YURI,{ - mes "[Millette]"; - mes "Let me go!"; - mes "Let me GO!!"; - mes "LET ME GO!!!"; - mes "I didn't do nuthin'"; - mes "wrong! I'm innocent!"; - mes "^333333*Hic-Hic-Hiccup...*^000000"; - next; - mes "[Millette]"; - mes "What's wrong with"; - mes "drinking and singing"; - mes "in the street, huh?"; - mes "Is it a crime to have"; - mes "a beautiful tenor voice?!"; - mes "Get me outta this joint!"; - close; -} - -lhz_in02,147,222,3 script Officer Guo#06::off_guo 4_M_03,{ - mes "[Officer Guo]"; - mes "Tell me...!"; - mes "TELL ME...!!"; - mes "Admit you did it!!"; - next; - mes "[Suspect]"; - mes "Damn it!"; - mes "I keep telling"; - mes "you I'm not guilty!"; - next; - mes "[Officer Guo]"; - mes "^333333*Sigh...*^000000"; - next; - mes "[Suspect]"; - mes "You're wasting your"; - mes "time. Just let me go."; - next; - mes "[Officer Guo]"; - mes "So..."; - mes "How's your mother?"; - next; - mes "[Suspect]"; - mes "That's none of"; - mes "your business!"; - mes "She's fine, I guess."; - next; - mes "[Officer Guo]"; - mes "When was the last"; - mes "time you've seen her?"; - next; - mes "[Suspect]"; - mes "I just told you,"; - mes "that's none of"; - mes "your business...!"; - next; - mes "[Officer Guo]"; - mes "You know, mothers"; - mes "throughout the animal"; - mes "kingdom instinctively"; - mes "care for their young."; - mes "Humans are no exception."; - mes "Yours must be worried to death."; - next; - mes "[Suspect]"; - mes "..."; - mes "Man..."; - mes "You're starting"; - mes "to weird me out."; - next; - mes "[Officer Guo]"; - mes "Funny thing about humans,"; - mes "though. It seems to be their"; - mes "nature to lie, even when they"; - mes "know they'll be caught. But"; - mes "like all animals, they"; - mes "instinctively fear pain..."; - next; - mes "[Suspect]"; - mes "N-no, no..."; - mes "You gotta be..."; - mes "You're bluffing."; - mes "Right?"; - next; - mes "[Officer Guo]"; - mes "NO."; - mes "You're bluffing."; - mes "Tell me...!"; - mes "TELL ME...!!"; - mes "Admit you did it!!"; - close; -} - -lhz_in02,142,222,6 duplicate(off_guo) Suspect#6 4_M_LGTPOOR - -//== New =================================================== -lhz_in01,14,28,3 script Banquet Staff 4_M_MANAGER,{ - mes "[Banquet Staff]"; - mes "This Banquet Hall is used"; - mes "to hold events such as dinner"; - mes "parties with partners, clients"; - mes "and other associates, and press"; - mes "conferences. Of course, there's"; - mes "nothing going on right now."; - next; - mes "[Banquet Staff]"; - mes "Sometimes peace and quiet"; - mes "is a welcome change of pace,"; - mes "but right now I'm feeling quite"; - mes "bored. I think I would rather"; - mes "be busy than twiddling my"; - mes "thumbs, to tell the truth."; - close; -} - -lhz_in01,43,52,3 script Luccet#li_party 4_F_KID2,{ - mes "[Luccet]"; - mes "Shhhh! Hey, my brother's"; - mes "''it,'' so I gotta find a place"; - mes "to hide! Wait, would you just"; - mes "stand really still? I could"; - mes "just hide behind you! No?"; - mes "Nuts! Olly olly oxen free!"; - close; -} - -lhz_in01,28,33,7 script Hanccet#li_party 4_M_KID1,{ - mes "[Hanccet]"; - mes "Man... I hate being ''it!''"; - mes "I'm horrible at this game!"; - mes "Alright, okay, if I were my"; - mes "sister Luccet, where would"; - mes "I think I would not look for"; - mes "me? Of course...! The sewers!"; - close; -} - -lhz_in01,21,50,7 script Annette#li_party 4_F_02,{ - mes "[Annette]"; - mes "I've heard that the"; - mes "Rekenber Banquet Hall"; - mes "is also used to hold weddings."; - mes "That must be so wonderful~"; - next; - mes "[Annette]"; - mes "Even if it is more expensive,"; - mes "I'd want to have my wedding"; - mes "here. Marriage is only once"; - mes "in a lifetime, ideally, so I'd"; - mes "want to make mine the most"; - mes "memorable experience."; - close; -} - -lhz_in01,129,54,1 script Mereth#erem 4_M_LGTMAN,{ - mes "^3355FF*Shhhhhhzzzz*"; - mes "*Shhhhhhzzzz*^000000"; - next; - mes "[Mereth]"; - mes "Shhhhh...."; - mes "Aaaaaaaahhh..."; - next; - mes "^3355FFThe employee turned his"; - mes "head and peered into your"; - mes "eyes through the black mask"; - mes "on his face. Mereth stared"; - mes "wordlessly for a moment and"; - mes "then began to dance a lively,"; - mes "creepily jovial jig.^000000"; - close; -} - -lhz_in01,108,53,3 script #horri HIDDEN_NPC,{ - mes "^3355FFThis is simply a pile"; - mes "of files, a smattering of"; - mes "books and a family portrait.^000000"; - close; -} - -lhz_in01,108,47,3 script #never HIDDEN_NPC,{ - mes "^3355FFThis desk is very"; - mes "neat and well organized"; - mes "in comparison to the other"; - mes "desks you've seen in your"; - mes "time. You take a moment to"; - mes "fully marvel at its tidiness.^000000"; - close; -} - -lhz_in01,166,55,3 script #crazy4u HIDDEN_NPC,{ - mes "^3355FFThis desk has a bookshelf"; - mes "that is crammed with all sorts"; - mes "of books. Out of curiosity, you"; - mes "decide to pick one out.^000000"; - next; - mes "^3355FFHowever, the book you"; - mes "happen to touch contains"; - mes "an amazing amount of dark"; - mes "power, causing you to drop it.^000000"; - specialeffect EF_CURSEATTACK; - close; -} - -lhz_in01,148,45,3 script Noama#amano 4W_M_01,{ - mes "[Noama]"; - mes "Hee hee~!"; - mes "You wanna hear"; - mes "something funny?"; - mes "I heard there's a bar in"; - mes "Prontera where this guy"; - mes "sneaks singles into Jawa--"; - next; - mes "[Mazwon]"; - mes "Noama...!"; - mes "These machines are"; - mes "acting up again! Get"; - mes "over here right now!"; - next; - mes "[Noama]"; - mes "What?!"; - mes "Stop bugging me,"; - mes "I didn't do anything!"; - close; -} - -lhz_in01,147,40,1 script Mazwon#minus1 4_M_ROGUE,{ - mes "[Mazwon]"; - mes "Crap. Crap! Crap"; - mes "crap crap crap crap!"; - mes "These desk machines aren't"; - mes "supposed to work like this!"; - next; - mes "[Mazwon]"; - mes "Noama...!"; - mes "These machines are"; - mes "acting up again! Get"; - mes "over here right now!"; - next; - mes "[Noama]"; - mes "What?!"; - mes "Stop bugging me,"; - mes "I didn't do anything!"; - close; -} - -lhz_in01,157,47,1 script Mareth#seram 4_M_NFLOSTMAN,{ - mes "[Mareth]"; - mes "Yoo hoo hoo~"; - mes "Oh, how I love"; - mes "love love chocolate!"; - emotion e_lv; - next; - mes "[Mareth]"; - mes "Eat it up..."; - mes "Or just melt it."; - mes "Slather it all over me."; - mes "Booyah. New life aspiration."; - close; -} - -lhz_in01,164,45,3 script Eiya#iaiai 4_F_02,{ - mes "[Eiya]"; - mes "Jorje seems so cranky"; - mes "recently. He's usually"; - mes "more laid back than this."; - mes "Oh well, I hope that he"; - mes "feels better."; - next; - mes "[Eiya]"; - mes "Ooh, would you like"; - mes "to look at my miniature"; - mes "doll collection? I love"; - mes "collecting cute dolls!"; - close; -} - -lhz_in01,135,57,3 script Blackboard#li HIDDEN_NPC,{ - mes "^3355FFYou found a blackboard"; - mes "filled with scribbling. You"; - mes "can only read some of the"; - mes "messages that have been"; - mes "quickly scrawled on it.^000000"; - next; - mes "''Make sure everything"; - mes "is complete by XX 00.''"; - mes "- Jorje"; - next; - mes "Late Fee: 59, 990 zeny"; - next; - mes "''I want to have''"; - mes "- Ellette"; - mes "''I want $$$ too!''"; - mes "- Enoz"; - mes "''How about @@@?''"; - mes "- Ellette"; - next; - mes "''I wanna buy [#@$].''"; - mes "- Ninjose"; - mes "''Go buy it!''"; - mes "- Senyu"; - mes "''Working hard and buying hard"; - mes "is the best employee attitude.''"; - mes "- Mazwon"; - close; -} - -lhz_in03,100,18,3 script Rocky#li_house 4_DOG01,{ - if (rand(1,2) == 1) { - mes "[Rocky]"; - mes "Woof woof!"; - close; - } - mes "[Rocky]"; - mes "Grrrrrrr..."; - close; -} - -lhz_in03,130,41,5 script Jay#li_house 4_M_KID1,{ - mes "[Jay]"; - mes "My mommy and daddy"; - mes "always come home late."; - mes "So I eat dinner alone."; - mes "All by myself. Everyday."; - next; - mes "[Jay]"; - mes "Food doesn't taste as"; - mes "good when you're not"; - mes "eating with anybody."; - mes "Maybe I'm just lonely."; - close; -} - -lhz_in03,129,22,7 script Housemaid Jane#li_house1 4_F_EINWOMAN,{ - mes "[Housemaid Jane]"; - mes "This house is enormous..."; - mes "It's clearly much too big"; - mes "for a regularly sized family."; - mes "And it takes me forever to"; - mes "make sure that it stays clean!"; - next; - mes "[Housemaid Jane]"; - mes "It's not easy keeping"; - mes "things neat and tidy when"; - mes "you're responsible for acres"; - mes "of indoor living space. Being"; - mes "a maid can be pretty hard..."; - close; -} - -lhz_in03,124,117,1 script Housemaid Brenda#li 1_F_MERCHANT_02,{ - mes "[Housemaid Brenda]"; - mes "I better dust extra"; - mes "gently around this vase."; - mes "It's worth ten million zeny"; - mes "and if it were to-- No. No!"; - mes "I'm not even going to think it!"; - close; -} - -lighthalzen,159,222,1 script Rekenber Employee#li 4_M_MANAGER,{ - mes "[Benatuth]"; - mes "Down there, the repairman"; - mes "is just finishing maintenance"; - mes "on our chairman's private"; - mes "Airship. Can you imagine"; - mes "having one of those of your"; - mes "very own to fly around in?"; - next; - mes "[Benatuth]"; - mes "Yeah, the chairman of"; - mes "the Rekenber Corporation..."; - mes "He's a really powerful person."; - mes "It's almost scary what he can"; - mes "do with his money, you know?"; - close; -} - -lighthalzen,162,304,7 script Rekenber Guard Drew#li 4_M_LGTGUARD,{ - mes "[Rekenber Guard Drew]"; - mes "Dude, check it out~"; - mes "Official glossy photos"; - mes "of the Kafra Ladies. Now..."; - mes "With 20% more garter belts!"; - emotion e_ho; - next; - mes "[Rekenber Guard Tan]"; - mes "So they're all wearing"; - mes "garter belts in these?"; - mes "Whoa, that means they"; - mes "even got the glasses chick"; - mes "to wear 'em too? That's the"; - mes "best news I've heard all day!"; - emotion e_omg,0,"Rekenber Guard Tan#li"; - next; - mes "[Rekenber Guard Drew]"; - mes "Okay man, you know these"; - mes "are limited edition collector's"; - mes "items, so each one is worth"; - mes "300,000 zeny. I mean, I have"; - mes "an extra set, but I don't know"; - mes "if you'd wanna buy them off--"; - next; - mes "[Rekenber Guard Tan]"; - mes "I'll take them all."; - mes "Wait, all of them except"; - mes "for that young kid. Just the"; - mes "idea of having her glamour"; - mes "photo around strikes me as..."; - mes "Yeah. Yeah, it's no good."; - close; -} - -lighthalzen,163,306,3 script Rekenber Guard Tan#li 4_M_LGTGUARD2,{ - mes "[Rekenber Guard Tan]"; - mes "Whoa, whoa. Now this..."; - mes "This is art. The lighting,"; - mes "the angle, the... the..."; - mes "subject matter. Oh yes."; - emotion e_swt2; - next; - mes "[Rekenber Guard Drew]"; - mes "Man, these officially licensed"; - mes "Kafra Lady glossies... They're"; - mes "worth every zeny we paid. Say"; - mes "goodbye Swimsuit Calendar,"; - mes "and hellooooo Kafra Leilah~"; - next; - mes "[Rekenber Guard Tan]"; - mes "Leilah? Oh, you mean"; - mes "the glasses chick? Dude..."; - mes "Dude. She's my favorite too!"; - close; -} - -lighthalzen,70,227,4 script Delna#li_reken 8_F,{ - mes "[Delna]"; - mes "Sometimes the simple"; - mes "pleasures can give you"; - mes "the most happiness. For me,"; - mes "going outside and basking in"; - mes "the sun is the greatest thing~"; - next; - mes "[Delna]"; - mes "Yes, sunbathing in a quiet"; - mes "and relaxing place can be"; - mes "so refreshing. And if you're"; - mes "careful about not getting a"; - mes "sunburn or a tan, a little sun"; - mes "can be really good for you."; - close; -} - -lhz_in02,289,277,3 script Martial Artist#1 4_M_MONK,{ - mes "[Martial Artist]"; - mes "Curses..."; - mes "I've come to the"; - mes "wrong place to seek"; - mes "out a challenge. No"; - mes "one here is really all"; - mes "that mighty or competitive!"; - next; - mes "[Martial Artist]"; - mes "This whole city thinks"; - mes "it can buy power and safety"; - mes "with money. They don't know"; - mes "the value of a nice, friendly"; - mes "brawl. Hopefully, I'll find a"; - mes "rival around here soon..."; - close; -} - -lighthalzen,107,107,3 script Kosit#zen1 4_M_LGTMAN,{ - mes "[Kosit]"; - mes "This city might have"; - mes "more guards and rules"; - mes "than other places, but"; - mes "I still don't know if it's"; - mes "really safe to live here."; - next; - mes "[Kosit]"; - mes "I mean, the reason we have"; - mes "these rules is because of all"; - mes "the unruly gangsters that can"; - mes "sometimes get into the city."; - mes "I mean, it's relatively peaceful and all. But these rules..."; - next; - mes "[Kosit]"; - mes "It's good to be safe,"; - mes "but I don't know if it's"; - mes "a good idea to sacrifice"; - mes "our freedoms or standard"; - mes "of living, you know?"; - close; -} - -lhz_in03,32,99,3 script Sopheap#zen1 4_F_LGTGRAND,{ - mes "[Sopheap]"; - mes "Oh, you youngsters."; - mes "Always traveling around"; - mes "and having adventures and"; - mes "fighting monsters. I certainly"; - mes "had my fill of excitement back"; - mes "when I was your age, long ago."; - next; - mes "[Sopheap]"; - mes "Sure, I miss doing all"; - mes "of that, but now I'm content"; - mes "with just relaxing and resting."; - mes "Still, there are a lot of old folk who refuse to sit still like this~"; - close; -} - -lhz_in03,25,105,5 script Gopal#zen4 4_M_LGTMAN,{ - mes "[Gopal]"; - mes "Granny may be happy"; - mes "just sitting around and"; - mes "enjoying the peaceful life,"; - mes "but I'm not! I'm too young"; - mes "to just lay down and let"; - mes "these days just pass by!"; - next; - mes "[Gopal]"; - mes "I wanna make something"; - mes "of myself. Maybe someday,"; - mes "I'll found a company as big"; - mes "as the Rekenber Corporation!"; - close; -} - -lighthalzen,176,65,5 script Kimmy#zen3 4_F_LGTGIRL,{ - mes "[Kimmy]"; - mes "Unlike most places,"; - mes "Lighthalzen has many"; - mes "beautiful clothing and"; - mes "accessory shops. This"; - mes "place is heaven to a"; - mes "trendsetter like me~!"; - next; - mes "[Kimmy]"; - mes "I don't know if you"; - mes "adventurers are interested"; - mes "in fashion, but you can trash"; - mes "your old clothes and get some"; - mes "new, unique and trendy gear"; - mes "over here in Lighthalzen~"; - close; -} - -lighthalzen,364,282,3 script Bodger#zen5 4_M_LGTPOOR,{ - mes "[Bodger]"; - mes "Another hungry day..."; - mes "I don't have any money"; - mes "and even if I did, there's"; - mes "no place that sells food"; - mes "I'd actually eat. Oh, man."; - mes "I'm barely living as it is."; - next; - mes "[Bodger]"; - mes "I hear that the people"; - mes "who live Uptown eat totally"; - mes "delicious, gourmet food eight"; - mes "times a day! Hopefully it's just an exaggeration. 'Cuz if it"; - mes "wasn't, I'd be so mad..."; - close; -} - -lhz_in03,239,38,3 script Avetis#zen10 4_M_DIEMAN,{ - mes "[Avetis]"; - mes "A-ack..."; - mes "^333333*Cough cough*^000000"; - mes "Would you give me"; - mes "some m-medicine?!"; - mes "^333333*Cough cough haack*^000000"; - mes "Sweet Christmas, it hurts..."; - next; - mes "[Avetis]"; - mes "I sk-skipped work"; - mes "because I've been too"; - mes "sick t-to go. ^333333*Cough*^000000"; - mes "But now I don't have"; - mes "the money to ^333333*Haack*^000000"; - mes "buy med-medicine... "; - close; -} - -lhz_in02,267,25,4 script Diana#npc 4_F_ROGUE,{ - mes "[Diana]"; - mes "Oh wow, that weapon"; - mes "is fantastic! But I'm sure"; - mes "that it must be really"; - mes "expensive. Huh..."; - next; - mes "[Shop Assistant]"; - mes "Ma'am, are you talking"; - mes "about this Stiletto? You"; - mes "certainly have an eye for"; - mes "quality weapons. If you"; - mes "don't mind me asking,"; - mes "where are you from?"; - next; - mes "[Diana]"; - mes "Oh, I was born"; - mes "and raised in Morroc."; - next; - mes "[Shop Assistant]"; - mes "Ah yes, I've heard many"; - mes "good things about that town."; - mes "You've certainly proven that"; - mes "people from Morroc truly have"; - mes "good taste. Now, this Stiletto"; - mes "is a steal at 39,800 zeny..."; - next; - emotion e_omg; - mes "[Diana]"; - mes "Huh...?!"; - mes "That's ridiculous!"; - mes "Never mind that, let"; - mes "me take a look at that"; - mes "Gladius in the corner."; - next; - mes "[Shop Assistant]"; - mes "The Gladius?"; - mes "Ah, that would be"; - mes "39,800 zeny, ma'am."; - next; - mes "[Diana]"; - mes "Oh, that's a really"; - mes "good price. I'll take it!"; - next; - mes "[Shop Assistant]"; - mes "Yes, this replica really"; - mes "does look just like an"; - mes "actual Gladius, does it"; - mes "not? Although not a true"; - mes "weapon, it's quite capable of"; - mes "opening the toughest envelopes."; - next; - mes "[Diana]"; - mes "..."; - mes "......"; - mes "I take that back."; - mes "This shop really sucks."; - close; -} - -lhz_in02,267,22,1 script Shop Assistant#cobo 4_F_02,{ - mes "[Shop Assistant]"; - mes "Welcome to our"; - mes "store where we offer"; - mes "many unique products that"; - mes "you can't find anywhere else."; - next; - mes "[Shop Assistant]"; - mes "However, shopping is only available to our members. There's an annual"; - mes "membership fee that's waived when you spend a certain amount every"; - mes "month in our store. If you invite your friends, you'll receive spe--"; - next; - mes "[" + strcharinfo(PC_NAME) + "]"; - mes "N-no thank you!"; - mes "I'm not interested!"; - close; -} - -lighthalzen,192,63,4 script Sergei#zen1 4_F_03,{ - mes "[Sergei]"; - mes "You know, there's an"; - mes "interesting story about"; - mes "the axe that's hanging"; - mes "over there. Would you"; - mes "like me to tell you?"; - next; - if (select("Sure.", "No, thanks.") == 1) { - mes "[Sergei]"; - mes "This previous owner of"; - mes "this Weapon Shop was"; - mes "a convicted serial killer."; - mes "Each night, he'd take that"; - mes "axe and cruelly murder"; - mes "beautiful ladies like me."; - next; - mes "[Sergei]"; - mes "When he was finally"; - mes "caught, they beheaded"; - mes "him with his own axe."; - mes "Since then, they say that"; - mes "his ghost still lingers and"; - mes "sharpens this axe at night."; - next; - mes "[Sergei]"; - mes "Just thinking about"; - mes "it gives me goosebumps!"; - mes "And I'm supposed to work"; - mes "here! It's so creepy!"; - close; - } - mes "[Sergei]"; - mes "Oh, how disappointing~"; - mes "It's the perfect story for"; - mes "the season. Well, now that"; - mes "I think about it, that story is"; - mes "actually pretty creepy..."; - close; -} - -lighthalzen,258,223,3 script Srinivas#zen4 4_M_LGTGRAND,{ - mes "[Srinivas]"; - mes "Those rundown buildings"; - mes "in the slums are an eyesore"; - mes "that offend the entire city!"; - mes "I just wish they would wreck"; - mes "them down. What do I care"; - mes "about the poor and needy?"; - close; -} - -lighthalzen,77,203,3 script Victor Perfecto#zen9 4_M_LGTMAN,{ - mes "[Victor Perfecto]"; - mes "I've heard that the"; - mes "Rekenber Corporation"; - mes "actually created the"; - mes "environment in Lighthalzen"; - mes "through artificial means."; - next; - mes "[Victor Perfecto]"; - mes "It seems like it'd take"; - mes "a lot of investment, but"; - mes "artificially creating an"; - mes "environment isn't impossible"; - mes "with the means available to"; - mes "the Rekenber Corporation."; - next; - mes "[Victor Perfecto]"; - mes "^333333*Sigh...*^000000"; - mes "Still, it's pretty"; - mes "depressing to think"; - mes "that the beauty of nature"; - mes "can be manmade and"; - mes "equated to zeny, you know?"; - close; -} - -lighthalzen,40,107,4 script Vergil#zen4 4_M_LGTMAN,{ - mes "[Vergil]"; - mes "The weather is so"; - mes "nice today, like always."; - mes "I just want to ditch work,"; - mes "run outside and work out."; - next; - switch(select("Where do you want to go?", "But shouldn't you go to work?", "Have you heard about the serial killer?")) { - case 1: - mes "[Vergil]"; - mes "Well, those guys in"; - mes "black suits, not to mention"; - mes "the ruffians that manage to"; - mes "invade town, sometimes sort"; - mes "of make it kind of unsafe to"; - mes "go out all by yourself."; - next; - mes "[Vergil]"; - mes "But me and a buddy are"; - mes "planning to head to the"; - mes "Al De Baran Turbo Track"; - mes "one of these days. Boy,"; - mes "the last time we went,"; - mes "he wasted a lot of zeny."; - next; - mes "[Vergil]"; - mes "He actually won some"; - mes "kind of potion as a prize"; - mes "and let me have it. I drank"; - mes "it and it made me move really"; - mes "slowly. Now what kind of prize"; - mes "is that supposed to be?!"; - next; - mes "[Vergil]"; - mes "I think my buddy"; - mes "was totally scammed."; - mes "That, or I was totally"; - mes "tricked by him to drink it."; - mes "How they came up with such a ridiculous idea for a prize!"; - close; - case 2: - mes "[Vergil]"; - mes "Wha--?! I didn't say"; - mes "I was going to ditch work,"; - mes "I just said I wanted to!"; - mes "But just to spite you, maybe"; - mes "just maybe, I won't go today!"; - next; - mes "[Vergil]"; - mes "Then again, I don't"; - mes "think I can slack on"; - mes "this project. Curses..."; - mes "The weekend certainly"; - mes "doesn't come fast enough!"; - close; - case 3: - mes "[Vergil]"; - mes "What, you mean that"; - mes "axe murderer from a long"; - mes "time ago? Well, I heard a"; - mes "rumor that it actually wasn't"; - mes "like that. Let's see, how"; - mes "did the story go?"; - next; - mes "[Vergil]"; - mes "I heard that some hat"; - mes "maker, the one who makes"; - mes "the Smokie Hat, accidentally"; - mes "made a Person Headgear"; - mes "instead of, like, a hat made"; - mes "of monsters. Don't ask me how."; - next; - mes "[Vergil]"; - mes "Yeah, I think relatives"; - mes "of that Airship Captain..."; - mes "They were totally made into"; - mes "a hat on accident. Supposedly,"; - mes "it looks like a Reindeer Head,"; - mes "but now that's just too weird."; - close; - } -} - -lhz_in01,144,53,3 script Jorje#zero 4W_M_02,1,1,{ -OnTouch: - switch(rand(1,3)) { - case 1: - mes "[Jorje]"; - mes "Arrrgh, I don't"; - mes "have any time for"; - mes "talking! I'm in the"; - mes "middle of an important"; - mes "task! H-hold on a second!"; - close; - case 2: - mes "[Jorje]"; - mes "D-don't come any"; - mes "closer! Anyone who"; - mes "comes near me might"; - mes "just screw me up! Back off!"; - close; - case 3: - mes "[Jorje]"; - mes "Oh man..."; - mes "I've been working so"; - mes "hard and haven't taken"; - mes "any breaks. I think I'll"; - mes "reward myself and buy"; - mes "something like maybe--"; - next; - mes "[Jorje]"; - mes "No! No, I'm not"; - mes "gonna buy anything!"; - mes "I've got my future wife"; - mes "to think about! Must..."; - mes "Save... More... Money!"; - close; - } - end; -} - -lhz_in01,139,48,7 script Leimi#mimir 1_F_MERCHANT_01,{ - mes "[Leimi]"; - mes "..."; - mes "......"; - next; - mes "[Leimi]"; - mes "Oh...!"; - mes "Good heavens!"; - mes "Um, may I help you?"; - emotion e_omg; - if (BaseJob == Job_Assassin) { - if (Sex == SEX_MALE) { - next; - mes "[Leimi]"; - mes "Oh, you're an Assassin!"; - mes "Oh, you boys are soooo cute!"; - mes "And so cool and so mysterious all at the same time! I love you!"; - } - else { - next; - mes "[Leimi]"; - mes "An Assassin...?"; - mes "Oh, you wouldn't happen"; - mes "to know any Assassin boys"; - mes "that might be single, do you?"; - mes "Oh-my-god, they're hunky-hot~"; - } - } - close; -} - -lhz_in01,138,47,0 script #mimir_camera FAKE_NPC,2,2,{ -OnTouch: - if (BaseJob == Job_Assassin) { - if (Sex == SEX_MALE) { - mes "^3355FF*Click*^000000"; - next; - mes "["+strcharinfo(PC_NAME)+"]"; - mes "What the...?"; - mes "That sound. Did..."; - mes "Did someone just"; - mes "take my picture?"; - close; - } - } - end; -} - -lhz_in02,36,274,4 script Cool Event Staff#Saera 4_F_ZONDAGIRL,{ - mes "[Saera]"; - mes "Welcome to the"; - mes "temporary headquarters"; - mes "of Cool Event Corporation."; - mes "How may I help you today?"; - next; - switch(select("Temporary headquarters?", "Voting", "No, thanks.")) { - case 1: - mes "[Saera]"; - mes "Our headquarters building"; - mes "is currently undergoing"; - mes "reconstruction, so we are"; - mes "basing our operations in"; - mes "this place for the meantime."; - close; - case 2: - if (lhz_boss < 17) { - mes "[Saera]"; - mes "Currently, Kafra Corporation"; - mes "and Cool Event Corp are working"; - mes "on a collaborative program that"; - mes "will provide direct teleport"; - mes "services to dungeons."; - next; - mes "[Saera]"; - mes "Due to technical issues,"; - mes "both companies cannot provide"; - mes "teleport services to the same"; - mes "dungeon. Therefore, we will be"; - mes "selecting our valued customers to choose the company they want."; - next; - mes "[Saera]"; - mes "Only a limited number of"; - mes "voters will be chosen, so"; - mes "you can check your voting"; - mes "eligibility at the headquarters"; - mes "of both participating companies. Thank you for your patronage~"; - close; - } - else { - mes "[Saera]"; - mes "Currently, Kafra Corporation"; - mes "and Cool Event Corp are working"; - mes "on a collaborative program that"; - mes "will provide direct teleport"; - mes "services to dungeons."; - next; - mes "[Saera]"; - mes "Due to technical issues,"; - mes "both companies cannot provide"; - mes "teleport services to the same"; - mes "dungeon. Therefore, we will be"; - mes "selecting a number of valued customers to vote for their choice."; - next; - mes "[Saera]"; - mes "I've just reviewed your"; - mes "information and would like"; - mes "to inform you that you are"; - mes "indeed eligible to vote."; - mes "Your participation in this"; - mes "election is much appreciated."; - next; - mes "[Saera]"; - mes "Remember that the"; - mes "election polls can be"; - mes "found in either Prontera"; - mes "or Juno. Thank you very much."; - close; - } - case 3: - mes "[Saera]"; - mes "Thank you."; - mes "Have a good day."; - close; - } -} - -lhz_in02,40,280,6 script Event Planner 4_M_ZONDAOYAJI,{ - mes "[Jellarin]"; - mes "I don't like this."; - mes "But I don't like that"; - mes "idea either. What will"; - mes "I do for a new event, eh?"; - next; - mes "[Jellarin]"; - mes "I need something"; - mes "major, something that'll"; - mes "really shake up the world,"; - mes "something epochal, but what?"; - mes "Hey, do you have any ideas?"; - close; -} - -lhz_in02,110,286,5 script Cool Event Manager 4_M_YURI,{ - mes "[Baoto]"; - mes "Hmmm..."; - mes "The employees seem"; - mes "to be having too much"; - mes "fun amongst themselves"; - mes "recently. This does not"; - mes "bode well at all..."; - next; - mes "[Baoto]"; - mes "It looks like I'm"; - mes "just going to have to"; - mes "start cracking that whip"; - mes "more often and much"; - mes "harder. Ha ha ha ha!"; - close; -} - -lhz_in02,36,284,0 script Cool Event Staff#Cesuna 4_M_ZONDAMAN,{ - mes "[Cesuna]"; - mes "Ack! I'm totally"; - mes "swamped with all this"; - mes "work! But I don't wanna"; - mes "do any of it. That's it!"; - mes "I totally need a break."; - next; - mes "[Cesuna]"; - mes "^333333*Sigh...*^000000"; - mes "I wonder if Saera"; - mes "would ever consider"; - mes "going out with me?"; - mes "That would be nice~"; - close; -} - -/* -lhz_in02,19,274,2 script Maintenance Guy#lhz 4_M_REPAIR,{ - mes "[Kudiuu]"; - mes "Holy...!"; - mes "Will this place"; - mes "ever get cleaned up?!"; - mes "^333333*Cough cough*^000000 There's"; - mes "so much dust here, it's"; - mes "almost a health hazard!"; - close; -} -*/ - -lighthalzen,337,296,3 script Rekenber Employee#li_2 4_M_LGTGUARD,{ - if (hg_tre > 54) { - mes "[Rekenber Employee]"; - mes "Greetings. As part of our"; - mes "effort to relieve the poor,"; - mes "Rekenber is providing job"; - mes "opportunities targeted for"; - mes "citizens of the slum areas."; - next; - mes "[Rekenber Employee]"; - mes "You can choose to work"; - mes "from home, or undergo a"; - mes "little bit of training for more"; - mes "professional positions. This"; - mes "is a great chance to make a"; - mes "difference... and some money~"; - emotion e_no1; - close; - } -} - -lhz_in01,221,131,7 script Scientist#li_01 4_LGTSCIENCE,{ - if (isequipped(2241) && isequipped(2243)) { - if (hg_tre > 54) { - mes "[A Scientist]"; - mes "What happened? All the machines are ruined and the research report are gone! The history of Regenschirm has been hacked!"; - close; - } - else { - mes "[Scientist]"; - mes "It takes so long for"; - mes "this device to process"; - mes "all the data and give me"; - mes "the results. Still, the wait"; - mes "heightens my anticipation..."; - close; - } - } - else { - mes "[Scientist]"; - mes "What?! Guards!"; - mes "Hurry, there's an"; - mes "intruder right here!"; - emotion e_gasp; - close2; - warp "lhz_in01",33,224; - end; - } -} - -//== Lighthalzen Mushroom ================================== -// Don't really understand why it's there, but it's funny regardless. -lhz_in01,157,54,0,0 monster Red Mushroom 1085,1,120000,100000,0 diff --git a/npc/cities/louyang.txt b/npc/cities/louyang.txt deleted file mode 100644 index b4cfcb8ea..000000000 --- a/npc/cities/louyang.txt +++ /dev/null @@ -1,349 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2015 Hercules Dev Team -//= Copyright (C) rAthena Dev Team -//= Copyright (C) Euphy -//= Copyright (C) eAthena Dev Team -//= Copyright (C) L0ne_W0lf -//= Copyright (C) MasterOfMuppets -//= Copyright (C) Celest -//= Copyright (C) Dino9021 -//= Copyright (C) Mass Zero -//= Copyright (C) SinSloth -//= Copyright (C) Evera -//= Copyright (C) Silent -//= Copyright (C) Nexon -//= Copyright (C) Lupus -//= Copyright (C) Vidar -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Louyang City -//================= Description =========================================== -//= Louyang Town Script -//================= Current Version ======================================= -//= 3.0 -//========================================================================= - -//== Louyang Transportation ================================ -- script ::Girl_louyang FAKE_NPC,{ - 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; - switch(select("About Louyang.", "Go to Louyang.", "Cancel.")) { - case 1: - 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"; - mes "Louyang area."; - next; - mes "[Girl]"; - mes "You can find cure-all medicines, mysterious occurrences, and"; - mes "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; - case 2: - 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; - if (select("Yes!", "No.") == 1) { - if (Zeny > 9999) { - mes "[Girl]"; - mes "Okay~"; - mes "Ready!"; - mes "Have fun!"; - close2; - Zeny -= 10000; - warp "lou_fild01",190,101; - end; - } - mes "[Girl]"; - mes "..."; - mes "You don't seem"; - mes "to have 10,000 Zeny..."; - mes "Go get some money first!"; - close; - } - mes "[Girl]"; - mes "Oh..."; - mes "It's so disappointing"; - mes "to hear you say that."; - mes "Well, have a good day!"; - close; - case 3: - mes "[Girl]"; - mes "Oh..."; - mes "Have a good day!"; - close; - } -} - -lou_fild01,190,100,7 script Girl#1lou 4_F_CHNDRESS1,{ - mes "[Girl]"; - mes "Would you"; - mes "like to go back"; - mes "to Alberta?"; - next; - if (select("Go back to Alberta.", "Cancel.") == 1) { - mes "[Girl]"; - mes "I hope to"; - mes "see you again!"; - mes "Bye bye!"; - close2; - if (RENEWAL) - warp "alberta",236,40; - else - warp "alberta",235,45; - end; - } - mes "[Girl]"; - mes "If you like this"; - mes "area, why don't you"; - mes "stay and enjoy the"; - mes "the food and the sights!"; - next; - if (Sex == SEX_MALE) { - mes "[Girl]"; - mes "And by sights..."; - mes "I mean girls!"; - mes "Tee hee~"; - } - else { - mes "[Girl]"; - mes "And the boys here"; - mes "aren't bad looking~"; - } - close; -} - -//== Generic Louyang NPCs ================================== -louyang,297,167,2 script Muscular Woman#lou 4_F_CHNDRESS1,{ - if (Sex == SEX_FEMALE) { - mes "[Zhi Ching Li]"; - mes "All the members of the Maiden Palace, including myself and our master, are all female."; - next; - mes "[Zhi Ching Li]"; - mes "Recently we've had a hard time recruiting new members, so I came here to check if there's any woman who wishes to join us."; - emotion e_dots; - close; - } - mes "[Zhi Ching Li]"; - mes "..."; - next; - mes "[Zhi Ching Li]"; - mes "..."; - mes "......"; - next; - mes "[Zhi Ching Li]"; - mes "Please leave me"; - mes "alone, I'm busy."; - close; -} - -louyang,274,136,4 script Powerful-looking guy#lou 4_M_CHN8GUEK,{ - mes "[Akiira]"; - mes "I am practicing my 'Claw of Dragon.' I not only need to use the power of my fists, I must also 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 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 should first attain knowledge before jumping into the"; - mes "physical training."; - next; - mes "[Akiira]"; - mes "Learn about the martial arts"; - mes "and meditate on life's truths. First, you must find peace of mind before you can hope to master the mind and body."; - close; -} - -louyang,276,136,4 script Fist master#lou 4_M_CHN8GUEK,{ - mes "[Zhiang Xiau Ji]"; - mes "Finally..."; - mes "I have mastered"; - mes "the 'Claw of Dragon!'"; - next; - mes "[Zhiang Xiau Ji]"; - mes "Although there are eight basic steps, I had to learn the history of this art, and meditate, focusing on my spiritual improvement,"; - mes "for three years."; - next; - mes "[Zhiang Xiau Ji]"; - mes "After that, my master finally started to give me the physical training so I could use the eight steps of the Claw of Dragon. I've 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 than I expected. Now, I need to study this form and improve it by correcting its weak points and enhancing its strengths."; - next; - mes "[Zhiang Xiau Ji]"; - mes "I guess that would take me about ten years. But I'm not disheartened by that at all."; - next; - mes "[Zhiang Xiau Ji]"; - mes "When you're learning a martial art, you can't rush yourself and learn everything in a short period of time. It's impossible! Plus, that isn't the essence of art..."; - close; -} - -louyang,276,133,0 script Trainee#1lou::LouTrainee 4_M_CHN8GUEK,{ - mes "[Trainee]"; - mes "Yeeeyap~!"; - mes "Taaaaaah~~!!"; - mes "Hooo~."; - close; -} - -louyang,276,131,0 script Trainee#2lou 4_M_CHN8GUEK,{ - mes "[Trainee]"; - mes "Tah Tah Tah!"; - mes "Taaaaaah~~!!"; - mes "Schwooooooo~"; - close; -} - -louyang,276,129,0 script Trainee#3lou 4_M_CHN8GUEK,{ - mes "[Trainee]"; - mes "Si!"; - mes "Ayah!!"; - close; -} - -louyang,274,133,0 script Trainee#4lou 4_M_CHN8GUEK,{ - mes "[Trainee]"; - mes "Dergh!"; - mes "Dergh!"; - mes "Schwa--!"; - close; -} - -louyang,274,131,0 script Trainee#5lou 4_M_CHN8GUEK,{ - mes "[Trainee]"; - mes "Yah Yah Yah!"; - mes "Taaaaaah~~!!"; - mes "Wataaaaaaaah!"; - close; -} - -louyang,274,129,0 script Trainee#6lou 4_M_CHN8GUEK,{ - mes "[Trainee]"; - mes "Yeeeyap~!"; - mes "Taaaaaah~~!!"; - mes "Hooo~"; - close; -} - -louyang,278,133,0 duplicate(LouTrainee) Trainee#7lou 4_M_CHN8GUEK -louyang,278,131,0 duplicate(LouTrainee) Trainee#8lou 4_M_CHN8GUEK -louyang,278,129,0 duplicate(LouTrainee) Trainee#9lou 4_M_CHN8GUEK -louyang,272,133,0 duplicate(LouTrainee) Trainee#10lou 4_M_CHN8GUEK -louyang,272,131,0 duplicate(LouTrainee) Trainee#11lou 4_M_CHN8GUEK -louyang,272,129,0 duplicate(LouTrainee) Trainee#12lou 4_M_CHN8GUEK - -//== Louyang Viewing Tower ================================= -lou_in01,25,23,5 script Friendly Looking Lady#lo 4_F_CHNDRESS3,{ - mes "[Hong Miao]"; - mes "Welcome."; - next; - mes "[Hong Miao]"; - mes "This is an elevator which leads"; - mes "to the Observation Tower. We are providing you a safe and fast transfer service for an affordable fee. Would you like to use this service?"; - next; - switch(select("Information.", "Yes.", "Maybe next time.")) { - case 1: - mes "[Hong Miao]"; - mes "After many suggestions and proposals were sent to the Louyang tourism office, the Observation Tower was built so tourists can enjoy the sights."; - next; - mes "[Hong Miao]"; - mes "Due to the geographical"; - mes "features of Louyang, it's difficult to enjoy the breath taking view that our land has to offer."; - next; - mes "[Hong Miao]"; - mes "You can come up to the tower by taking the elevator right here. We are providing this quick and safe transfer service for 500 zeny per person."; - close; - case 2: - if (Zeny < 500) { - mes "[Hong Miao]"; - mes "I'm sorry, but you do not have enough zeny. I hope you'll come back later to enjoy the Observation Tower. Have a good day."; - close; - } - mes "[Hong Miao]"; - mes "Thank you for your patronage."; - mes "We are trying to provide you with the best of service. Please"; - mes "come again."; - next; - Zeny -= 500; - warp "lou_in01",17,19; - end; - case 3: - mes "[Hong Miao]"; - mes "Please come"; - mes "back later."; - mes "Have a good day."; - close; - } -} - -louyang,84,254,0 script Exit#lou HIDDEN_NPC,{ - mes "^3355FFThere is some sort"; - mes "of descent apparatus."; - mes "Would you like to use it?^000000"; - next; - if (select("Yes.", "No.") == 1) { - if (rand(1,100) == 34) { - percentheal -99,0; - warp "louyang",86,269; - mapannounce "louyang",""+strnpcinfo(NPC_NAME)+" : Oh God, I'm faaaaaaaaaaaalling~~!!!!",bc_map; - } - else { - warp "lou_in01",10,18; - } - end; - } - close; -} diff --git a/npc/cities/lutie.txt b/npc/cities/lutie.txt deleted file mode 100644 index 9f57cc2dc..000000000 --- a/npc/cities/lutie.txt +++ /dev/null @@ -1,959 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2015 Hercules Dev Team -//= Copyright (C) rAthena Dev Team -//= Copyright (C) eAthena Dev Team -//= Copyright (C) Kisuka -//= Copyright (C) DZeroX -//= Copyright (C) Nexon -//= Copyright (C) Lupus -//= Copyright (C) kobra_k88 -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Lutie Town -//================= Description =========================================== -//= Lutie - City NPCs -//================= Current Version ======================================= -//= 1.7 -//========================================================================= - -//== Teleport to Lutie ===================================== -aldebaran,223,222,4 script Mr. Claus 4_M_SANTA,{ - mes "[Mr. Claus]"; - mes "Ho Ho Ho~"; - mes "Merry Christmas!!"; - mes "I wish all of you joy"; - mes "and Christmas cheer!"; - next; - switch(select("Info about Lutie", "Move to 'Lutie'", "Cancel")) { - case 1: - mes "[Mr. Claus]"; - mes "^3355FFLutie^000000, the fantastic Christmas Town! Always filled with the spirit of giving, Lutie is filled with appetizing cakes, tiny toy soldiers, and all sorts of wonderful things~!"; - next; - mes "[Mr. Claus]"; - mes "Ho Ho Ho~"; - mes "It's an amazing land blessed with the beauty of winter, and a year round atmosphere of festivity!"; - next; - mes "[Mr. Claus]"; - mes "I'm a Santa that will guide people to Lutie, the Christmas Town. Ask me at any time, and I'll magically send you there~"; - close; - case 2: - mes "[Mr. Claus]"; - mes "Ho Ho Ho~"; - mes "The only way to get to Lutie is here in Al de Baran!"; - next; - mes "[Mr. Claus]"; - mes "I keep this place and personally transport people who want to visit Lutie. Please ask Santa Claus over there if you want to leave town. He will let you know the way out of Lutie."; - next; - mes "[Mr. Claus]"; - mes "Ho Ho Ho~"; - mes "Well, are you ready?"; - mes "Have a nice trip!"; - mes "Meeeeerry Christmas!"; - close2; - warp "xmas_fild01",78,68; - end; - case 3: - mes "[Mr. Claus]"; - mes "Ho Ho Ho~"; - mes "Whenever you want to visit Lutie, be my guest. Just let me know when you want to leave."; - next; - mes "[Mr. Claus]"; - mes "Ho ho hooooo!!"; - mes "Haaaaappy Holidays!"; - close; - } -} - -//== Inside Lutie ========================================== -xmas_in,100,96,4 script Santa Claus 4_M_SANTA,{ - mes "[Santa Claus]"; - mes "Ho Ho Ho~"; - mes "Meeeerry Christmas !!"; - next; - mes "^3355FFIt's...^000000"; - mes "^3355FFIt's the original Santa Claus!^000000"; - next; - mes "[Santa Claus]"; - mes "Ho Ho Ho~"; - mes "I'm Santa Claus, and I bring gifts to every good boy and girl on Christmas!"; - next; - mes "[Santa Claus]"; - mes "If you want to leave Lutie, go outside town and head south to the first field that you see. You'll be able to find a magical warp that will take you to Al de Baran."; - next; - mes "[Santa Claus]"; - mes "Ho ho ho~"; - mes "Meeeeeeerry Christmas!"; - close; -} - -xmas_in,167,173,4 script Duffle 4_F_05,{ - if (xmas_npc == 1) { - mes "[Duffle]"; - mes "Merry Christmas!"; - mes "Welcome to Lutie!"; - next; - mes "[Duffle]"; - mes "You got a present"; - mes "from Santa Claus?!"; - mes "Ha ha, you must"; - mes "be really excited!"; - next; - mes "[Duffle]"; - mes "Hey, have you heard that here in Lutie, we have an attraction that's equally as famous as Santa himself?"; - next; - mes "[Duffle]"; - mes "It's ^3355FFSnowysnow^000000,"; - mes "the magical"; - mes "talking snowman!"; - next; - mes "[Duffle]"; - mes "Before you leave, you really should meet and talk to Snowysnow, even if it's only once. He's really a nice guy and fun to talk to."; - next; - mes "[Duffle]"; - mes "Well then..."; - mes "Merry Christmas!!"; - xmas_npc = 2; - close; - } - else if (xmas_npc > 1) { - mes "[Duffle]"; - mes "Have you ever talked to the snowman in front of this town? The lonely snowman who stands in solitude..."; - next; - mes "[Duffle]"; - mes "But he's so warm hearted~! Sometimes, I talk to Snowysnow the snowman. For some weird reason, he can talk just like us!"; - next; - mes "[Duffle]"; - mes "When I talk to Snowysnow, I get to wondering how he came to be. I guess if you talk to him too, you'll feel the same way."; - next; - mes "[Duffle]"; - mes "How he was created, and how he thinks and talks like a human is such a mystery..."; - next; - mes "[Duffle]"; - mes "Where did he come from and what kind of place was it? And how did he come to Lutie without any legs...?"; - next; - mes "[Duffle]"; - mes "Lately, it seems more and more people are coming to this town to see Snowysnow."; - next; - mes "[Duffle]"; - mes "I guess you should talk to the other people living in Lutie if you want to learn more about the mystery of Snowysnow..."; - close; - } - else { - mes "[Duffle]"; - mes "Oh...!"; - mes "While you're here, don't forget to visit the original Santa Claus here in Lutie."; - close; - } -} - -xmas_in,27,103,4 script Lenient Aunt 4_F_GODEMOM,{ - switch (xmas_npc) { - case 5: - mes "[Thachentze]"; - mes "Hmm? The Hairy guy"; - mes "spoke well of me,"; - mes "did he? Well well..."; - next; - mes "[Thachentze]"; - mes "I know what he thinks... Ho ho ho~! He intends to make me feel happy so that I'll give him some free jars of pickles! Oh well~!"; - next; - mes "[Thachentze]"; - mes "He knows me too well. I almost can't stop from giving that man some pickles. Yes, even I know my pickles are the best in town!"; - next; - mes "[Thachentze]"; - mes "Hmmm~?"; - mes "You want to know"; - mes "about ^3355FFSnowysnow^000000?"; - mes "Oh. Yes, yes, I see..."; - next; - mes "[Thachentze]"; - mes "Well, I can't just let anyone know something so important about Snowysnow. Hmmm..."; - next; - mes "[Thachentze]"; - mes "Snowysnow has been holding something for me as a favor, the ^3355FFroughest salt in the world^000000 which I use to pickle cabbages."; - next; - mes "[Thachentze]"; - mes "I suppose if you're really Snowysnow's friend, he will trust you enough to give it to you so you can deliver it to me. And in any case, I'll need more of it soon."; - next; - mes "[Thachentze]"; - mes "Now be a dear"; - mes "and hurry up."; - mes "Come back quickly~"; - xmas_npc = 6; - close; - case 6: - mes "[Thachentze]"; - mes "Hohohoho~"; - mes "You're back!"; - next; - mes "[Thachentze]"; - mes "Did you bring it?"; - mes "Oh goodness...!"; - mes "My cabbages will"; - mes "get sour soon!"; - next; - mes "[Thachentze]"; - mes "You..."; - mes "Don't have it?"; - next; - mes "[Thachentze]"; - mes "*Sigh*"; - mes "You are really a scatter-brained person, my dear. Now hurry over to Snowysnow and bring me the ^3355FFroughest salt in the world^000000."; - next; - mes "[Thachentze]"; - mes "Hurry now, dear,"; - mes "Chop Chop~!"; - close; - case 7: - mes "[Thachentze]"; - mes "Hohohohoh hohohohoho !"; - mes "Let's see, let's see..."; - mes "Thank you dear,Thank you."; - next; - xmas_npc = 8; - mes "^3355FFYou gave her the"; - mes "roughest salt in the world.^000000"; - next; - mes "[Thachentze]"; - mes "Now I am able to pickle my cabbages properly. Thank you, my dear. Thank you..."; - next; - mes "..."; - next; - mes "..."; - mes "......"; - next; - mes "[Thachentze]"; - mes "Oh yes, I'm sorry. I almost forgot what I promised you. You asked me about Snowysnow's magical gift bag, didn't you?"; - next; - mes "[Thachentze]"; - mes "If you already met Uncle Cantata, you must know by now that Snowysnow has been made out of some mysterious snow that covered a thick field of magical flowers."; - next; - mes "[Thachentze]"; - mes "I can't tell you how, but when Snowysnow was revived, there was a reaction between the Alchemist's materials and the energies of Snowysnow's snow."; - next; - mes "[Thachentze]"; - mes "For some reason, Snowysnow's gift bag can now create as many presents as Snowysnow wants, just like Santa Claus."; - next; - mes "[Thachentze]"; - mes "Of course, if this power were to fall into the hands of evil, we would all be in trouble."; - next; - mes "[Thachentze]"; - mes "However, everyone knows that Snowysnow is kind and loving towards others. So we're never worried about Snowysnow's powers."; - next; - mes "[Thachentze]"; - mes "Oh, and I've just heard some shocking news from ^3355FFHashokii^000000 the clown. It's quite an interesting story, actually. Why don't you ask him more about it?"; - close; - default: - mes "[Thachentze]"; - mes "Merry Christmas~"; - mes "Ho! Ho! Ho!"; - next; - mes "[Thachentze]"; - mes "I can feel the Christmas spirit all around me! It's even in the eyes of the young travelers who've come out here all the way to Lutie. Hoho, I wish you a Merry Christmas!"; - next; - mes "[Thachentze]"; - mes "We have a dungeon named"; - mes "'Christmas dungeon' around here. Well, I guess I don't need to tell you much if you've heard about it already."; - mes "Oh well..."; - next; - mes "[Thachentze]"; - mes "I figured something out a few days ago. In the Christmas dungeon, you'll run into creatures that are similar to those outside of town."; - next; - mes "[Thachentze]"; - mes "I'm guessing that monsters wandered here from outside of town, and were changed by the cold weather here. So monsters adapted to live in this environment."; - next; - mes "[Thachentze]"; - mes "..."; - mes "Okay, now I think I better be ready to pickle some cabbages. If you didn't know already, I make the best pickles around! Why don't you visit me later and try some?"; - close; - } -} - -//== Lutie ================================================= -xmas,117,304,4 script Poze 4_M_06,{ - if (xmas_npc == 3 || xmas_npc == 4) { - mes "[Poze]"; - mes "You've gone to"; - mes "^3355FFSnowysnow^000000 and he"; - mes "mentioned me?"; - next; - mes "[Poze]"; - mes "Oh I see..."; - mes "He's a snowman that doesn't have any legs. No wonder he hasn't come to visit me. What a shame, what a shame. I guess I better go visit him instead."; - next; - mes "[Poze]"; - mes "Oh, there is someone who knows how Snowysnow came to be able to speak. That person would be ^3355FFUncle Hairy Cantata^000000..."; - next; - mes "[Poze]"; - mes "One day when apprentice of the great alchemist visted Lutie, I came to listen in on a conversation between him and Uncle Hairy."; - next; - mes "[Poze]"; - mes "Long ago, a great alchemist came by Snowysnow's hometown and happened to meet Snowysnow dying, melting down into water. However, Snowysnow was miraculously revived by that Alchemist."; - next; - mes "[Poze]"; - mes "But that's pretty much all I know. For the actual details, you should ask ^3355FFUncle Hairy Cantata^000000."; - xmas_npc = 4; - close; - } else { - mes "[Poze]"; - mes "Welcome to Lutie,"; - mes "the town which blesses"; - mes "all of its visitors with"; - mes "the spirit of Christmas!"; - mes "Merry Christmas !"; - next; - mes "[Poze]"; - mes "Here in this magical land of fun and fancy, you can enjoy the spirit of Christmas all year round~! Isn't that wonderful?"; - next; - mes "[Poze]"; - mes "Lutie isn't merely just a simple attraction. We have convenient facilities like the other towns, but in a festive environment."; - next; - mes "[Poze]"; - mes "So if you decide to stay here for a while, you should have all the comforts that you need. Merry Christmas~"; - close; - } -} - -xmas,176,236,4 script Uncle Hairy 4_M_05,{ - if (xmas_npc == 4) { - if (countitem(Chinese_Ink) > 0 && countitem(Sticky_Mucus) > 0) { - mes "[Cantata]"; - mes "Oh? Y-y-you've got the stuff? Goooooooood. It's been so long since I've been able to have some of this... G-give it to me!"; - next; - delitem Chinese_Ink,1; // Chinese_Ink - delitem Sticky_Mucus,1; // Sticky_Mucus - mes "^3355FFYou quickly handed him the Squid Ink and Sticky Mucus and watched with a little disgust as he relished the flavor.^000000"; - next; - mes "[Cantata]"; - mes "*Burrrrpppp~*"; - mes "Well, now it's the time for my story. Keep in mind that this is the whole story from what I know. I'm not sure how much you've already heard though..."; - next; - mes "[Cantata]"; - mes "A long time ago,"; - mes "there was a great"; - mes "Alchemist living"; - mes "in the far north."; - mes "His name was"; - mes "^3355FFPhilip Varsez^000000!"; - next; - mes "[Cantata]"; - mes "He was always foremost in the research of alchemy and needed rare materials to conduct his studies. Because of that, he had to travel the world in search of materials containing magical energies..."; - next; - mes "[Cantata]"; - mes "One day, his travels brought him to a northern village known for its freezing weather. But when he arrived, he was welcomed by a smouldering town that had recently been destroyed."; - next; - mes "[Cantata]"; - mes "It was a grim sight: People were lying at the roadside, groaning in agony. As Varsez walked by, each villager would beg, 'K-Kill me...' and plead for him to put them out of their misery."; - next; - mes "[Cantata]"; - mes "Amidst the woeful cries of despair, the wails of two infants reached the ears of Philip Varsez. He rushed to investigate and found two babies cushioned in the bosom of a melting snowman."; - next; - mes "[Cantata]"; - mes "That snowman..."; - mes "was ^3355FFSnowysnow^000000."; - next; - mes "[Cantata]"; - mes "Being the wise Alchemist that he is, Varsez deduced that Snowysnow sacrificed himself to protect those two babies from the great disaster that had destroyed the village."; - next; - mes "[Cantata]"; - mes "Varsez was touched, and was determined to save the life of this snowman with his alchemy. He would then transport him here to Lutie, the safest place in the world."; - next; - mes "[Cantata]"; - mes "Of course, there was another rumor that, in addition to the mercy from that Alchemist, Snowysnow was able to survive due to the special properties of his snow."; - next; - mes "[Cantata]"; - mes "It's believed that Snowysnow's snow used to cover a mysterious field that would be filled with the bloom of magical flowers."; - next; - mes "[Cantata]"; - mes "Muhahaha~"; - mes "Well, that's pretty much all I know. I hope you were able to learn what you wanted from my story! Haw haw haw!"; - next; - mes "[Cantata]"; - mes "Well..."; - mes "Now that I think about it..."; - next; - mes "[Cantata]"; - mes "Snowysnow can not only speak, but he also seems to be able to create an endless supply of Christmas presents. Or at least, that's what I hear."; - next; - mes "[Cantata]"; - mes "^3355FFThachentze^000000, that lovely pickle maker, knows more about it. So if you're curious, you should go talk to her. Alrighty then, Merry Christmas!"; - xmas_npc = 5; - close; - } else { - mes "[Cantata]"; - mes "Oh yeah? Heard about me from Poze, did you? Haw haw haw! Yeah, I know a little bit about Snowysnow. In fact, I may even be his weak point, since..."; - next; - mes "[Cantata]"; - mes "I know"; - mes "the secret of"; - mes "^3355FFSnowysnow's birth^000000!!"; - next; - mes "[Cantata]"; - mes "Are you curious?"; - mes "Heh heh heh~ Well, don't think I'll let you know unless you give me something in return!"; - next; - mes "[Cantata]"; - mes "Living in this"; - mes "town doesn't give me"; - mes "much of a chance to enjoy"; - mes "a man's drink. Hmmm, bring me..."; - next; - mes "[Cantata]"; - mes "^3355FF1 Squid Ink^000000 and"; - mes "^3355FF1 Sticky Muscus^000000!"; - next; - mes "[Cantata]"; - mes "Wahhahaha! What the hell is that look for?! Never you mind my gourmet sense of taste! Now get to work~!"; - close; - } - } - else { - mes "[Cantata]"; - mes "Merry Christmas!"; - mes "Welcome to Lutie!"; - next; - mes "[Cantata]"; - mes "It looks like the cold has brought a rosiness to your cheeks."; - mes "Haw haw haw!"; - next; - mes "[Cantata]"; - mes "Be careful, it wouldn't be good for you to catch the Lutie Flu."; - mes "..."; - next; - mes "[Cantata]"; - mes "*Sigh* That reminds me..."; - mes "My little boy had a terrible case of the Lutie Flu a while ago."; - next; - mes "[Cantata]"; - mes "It was during the night, and there was no place I could get any medicine. It seemed I could do nothing for my little boy."; - next; - mes "[Cantata]"; - mes "I thought the least I could do for my son was get something cold to bring down his fever, but the snow of Lutie kept on melting after being placed on his forehead. He was burning up, and I was failing to relieve him."; - next; - mes "[Cantata]"; - mes "It was then that"; - mes "I knew I needed"; - mes "some magic ice."; - next; - mes "[Cantata]"; - mes "Eventually, I found myself in the Christmas dungeon without any goal in mind. Inside I found, thank God, a certain creature made entirely of ice!"; - next; - mes "[Cantata]"; - mes "It was an ^3355FFIceporing^000000! The local people used to call it 'Icepantzering.' Anyway, I was able to save my boy's life with it. Thank goodness something like that was around in this town."; - next; - mes "[Cantata]"; - mes "Oops, I think I've talked a bit much. Merry Christmas~!"; - close; - } -} - -xmas,134,112,4 script Snowman 4_M_SNOWMAN,{ - if (checkweight(Knife,1) == 0 ) { - cutin "rutie_snownow01.bmp",2; - mes "- Wait a minute !! -"; - mes "- Currently you're carrying -"; - mes "- too many items with you. -"; - mes "- Please try again -"; - mes "- after you loose some weight. -"; - close2; - cutin "",255; - end; - } - cutin "rutie_snownow03.bmp",2; - mes "[Snowysnow]"; - mes "I'm..."; - mes "I'm so lonely!"; - next; - mes "[Snowysnow]"; - mes "Always stuck here..."; - mes "On the same spot..."; - mes "Day after day after day after day after day after day after day after day after day after day..."; - next; - switch(select("^3355FFSnowysnow?^000000", "Info about the Christmas dungeon", "Quit this conversation")) { - case 1: - if (xmas_npc < 2) { - cutin "rutie_snownow01.bmp",2; - mes "[Snowysnow]"; - mes "I was born in an area to the north where it snowed all the time, and was much colder than Lutie, if you can believe that."; - next; - mes "[Snowysnow]"; - mes "I was made with love by a human, and I was really happy there. Life was simple, but it was full of quiet bliss."; - next; - mes "[Snowysnow]"; - mes "I thought I could live the rest of my life in that kind of contentment. But... It was not to be."; - next; - cutin "rutie_snownow01.bmp",2; - mes "[Snowysnow]"; - mes "One fateful day, some ugly old woman came to our town. People say her name was 'Merlophechum,' and that she was from some strange cave town where the weather was always hot."; - next; - mes "[Snowysnow]"; - mes "On the third night she was there, she set the town on fire with frightening magic. Everyone was running in panic amongst the fear and chaos. And somehow, I was knocked out."; - next; - cutin "rutie_snownow02.bmp",2; - mes "[Snowysnow]"; - mes "I didn't notice how much time passed after that, but when I woke up, I was here. Well, I can say that this place, Lutie, is pretty much like heaven."; - next; - mes "[Snowysnow]"; - mes "Everyone here is never worried, and I'm always hearing Christmas carols and stuff."; - next; - cutin "rutie_snownow03.bmp",2; - mes "[Snowysnow]";; - mes "But still..."; - mes "Sometimes all that Christmas joy somehow doesn't cure the dark loneliness that wells deep inside of me."; - next; - mes "[Snowysnow]"; - mes "So will you be my friend? If you do, I'll be your friend too~"; - close2; - cutin "",255; - end; - } else { - switch(xmas_npc) { - case 2: - cutin "rutie_snownow01.bmp",2; - mes "[Snowysnow]"; - mes "Oh...?"; - mes "So you've met Duffle?"; - mes "Yeah, sometimes she"; - mes "stops by and says 'hi...'"; - next; - mes "[Snowysnow]"; - mes "It's weird that the people of Lutie call me a mysterious, magical snowman. I mean, inside, aren't I just the same as regular people?"; - next; - mes "[Snowysnow]"; - mes "*Sniff* S-sometimes,"; - mes "I don't even know what I am. But even so, the people of Lutie try to accept me no matter what."; - next; - mes "[Snowysnow]"; - mes "^3355FFPoze^000000 gave me his glamour photo with his address on it, and told me to visit him whenever I'm feeling blue. I was so happy to hear that..."; - next; - mes "[Snowysnow]"; - mes "But then fate played its cruel joke on me once again, and I realized that I had no legs to visit him with."; - next; - mes "[Snowysnow]"; - mes "How did I ever get to this town? And how in the world am I able to talk?! I-It's not natural, is it? Does... Does that make me a monster?"; - next; - mes "^3355FFSnowysnow is immersed in his deep thoughts, and seems^000000"; - mes "^3355FFfixated on Poze's memento.^000000"; - xmas_npc = 3; - close2; - cutin "",255; - end; - case 3: - cutin "rutie_snownow01.bmp",2; - mes "[Snowysnow]"; - mes "..."; - next; - mes "^3355FFSnowysnow is immersed in his deep thoughts, and seems^000000"; - mes "^3355FFfixated on Poze's memento.^000000"; - close2; - cutin "",255; - end; - case 4: - cutin "rutie_snownow01.bmp",2; - mes "[Snowysnow]"; - mes "Oh goody!"; - mes "You've met Poze!"; - next; - mes "[Snowysnow]"; - mes "He's such an honest, good hearted guy. I hope he and Duffle get together someday."; - next; - mes "[Snowysnow]"; - mes "...Oh no~!"; - mes "Did I say that out loud? That was supposed to stay in my head! I'm soooo sorry! Boy, I can be a real dum-dum head, huh?"; - next; - mes "[Snowysnow]"; - mes "Yeah..."; - mes "Poze is in love with Duffle. And she's kind to everybody, except for Poze."; - next; - mes "[Snowysnow]"; - mes "But I know that's because she likes him a whole whole lot! Hee hee hee!"; - close2; - cutin "",255; - end; - case 5: - cutin "rutie_snownow01.bmp",2; - mes "[Snowysnow]"; - mes "Oh...?"; - mes "You've met"; - mes "^3355FFUncle Hairy Cantata^000000?"; - next; - cutin "rutie_snownow02.bmp",2; - mes "[Snowysnow]"; - mes "Sure, he has a loud voice, doesn't take showers and smells like rotting food. But he's a funny guy with a warm heart. Everybody loves him!"; - next; - mes "[Snowysnow]"; - mes "Of course, he still enjoys drinking strange things. They say it's a miracle that he doesn't have a tummyache. Hee hee~! Oh, I love that guy!"; - close2; - cutin "",255; - end; - case 6: - cutin "rutie_snownow01.bmp",2; - mes "[Snowysnow]"; - mes "Oh...?"; - mes "You've met"; - mes "^3355FFAunt Thachentze^000000?"; - next; - mes "[Snowysnow]"; - mes "Yeah, she's a pickle expert, alright. Oh right, would you give this to her? I've been keeping the roughest salt in the world for her as a bit of a favor."; - next; - xmas_npc = 7; - mes "^3355FFSnowysnow gave you the roughest salt in the world^000000."; - next; - mes "[Snowysnow]"; - mes "I like her cooking because it's soooo delicious! Sometimes, she gives me grape syrup on snow flakes. Anyway, please deliver that salt for me, buddy~!"; - close2; - cutin "",255; - end; - case 7: - cutin "rutie_snownow01.bmp",2; - mes "[Snowysnow]"; - mes "'^3355FFThe roughest"; - mes "salt in the world^000000...'"; - mes "Wow. Now, that's rough! Aunt Tachentze is always making pickles, so she sure could use it soon!"; - close2; - cutin "",255; - end; - case 8: - cutin "rutie_snownow01.bmp",2; - mes "[Snowysnow]"; - mes "Hashokii, the boring clown? At first, he seems kind of dumb and not really that funny. But deep inside, he cares a lot about other people."; - next; - mes "[Snowysnow]"; - mes "He's always trying his best to make those two orphans laugh and forget their troubles..."; - close2; - cutin "",255; - end; - case 9: - cutin "rutie_snownow01.bmp",2; - mes "[Snowysnow]"; - mes "Ah..."; - mes "So you've met Charu Charu? That boy is so full of optimism and always looking forward. When he grows up, he's going to be a big shot!"; - next; - mes "[Snowysnow]"; - mes "I'm sure of it!"; - mes "Hee hee hee~!"; - close2; - cutin "",255; - end; - case 10: - cutin "rutie_snownow01.bmp",2; - mes "[Snowysnow]"; - mes "Thank you for listening to me so far. I really appreciate that you try to understand me, even though you're a stranger here."; - next; - mes "[Snowysnow]"; - mes "Now, you know me better than anyone else in this town. So, in return, I want to give you a small present."; - next; - mes "[Snowysnow]"; - mes "Tah dah!"; - mes "Pick anything"; - mes "you want in here~"; - next; - mes "^3355FFYou gingerly stir"; - mes "your hand around in"; - mes "Snowysnow's magical gift bag^000000."; - .@snownow = rand(1,8); - next; - switch(.@snownow) { - case 1: - xmas_npc = 11; - getitem Candy,5; // Candy - cutin "rutie_snownow02.bmp",2; - mes "[Snowysnow]"; - mes "Wow~!"; - mes "^3355FF5 Candy^000000!"; - mes "Congratulations!"; - break; - case 2: - xmas_npc = 11; - getitem Candy,10; // Candy - cutin "rutie_snownow02.bmp",2; - mes "[Snowysnow]"; - mes "Ooh~!"; - mes "^3355FF10 Candy^000000!"; - break; - case 3: - xmas_npc = 11; - getitem Candy_Striper,5; // Candy_Striper - cutin "rutie_snownow02.bmp",2; - mes "[Snowysnow]"; - mes "Hoooraaaay~!"; - mes "^3355FF5 Candy Cane^000000!"; - break; - case 4: - xmas_npc = 11; - getitem Candy_Striper,10; // Candy_Striper - cutin "rutie_snownow02.bmp",2; - mes "[Snowysnow]"; - mes "Wow, that's so great!"; - mes "^3355FF10 Candy Cane^000000!"; - break; - case 5: - xmas_npc = 11; - getitem Piece_Of_Cake,1; // Piece_Of_Cake - cutin "rutie_snownow02.bmp",2; - mes "[Snowysnow]"; - mes "Aren't you lucky!"; - mes "^3355FF1 Piece Of Cake^000000!"; - break; - case 6: - xmas_npc = 11; - getitem Piece_Of_Cake,2; // Piece_Of_Cake - cutin "rutie_snownow02.bmp",2; - mes "[Snowysnow]"; - mes "Now, isn't that nice?"; - mes "^3355FF2 Piece Of Cake^000000!"; - break; - case 7: - xmas_npc = 11; - getitem Well_Baked_Cookie,5; // Well_Baked_Cookie - cutin "rutie_snownow02.bmp",2; - mes "[Snowysnow]"; - mes "Oh woooooow~!"; - mes "^3355FF5 Cookie^000000!"; - break; - case 8: - xmas_npc = 11; - getitem Well_Baked_Cookie,10; // Well_Baked_Cookie - cutin "rutie_snownow02.bmp",2; - mes "[Snowysnow]"; - mes "*Gasp!* Ooh~"; - mes "^3355FF10 Cookie^000000!"; - break; - } - next; - mes "[Snowysnow]"; - mes "My dear friend, please visit me from time to time, so that we can chitchat, okay? See you soon! And Merry Christmas!"; - close2; - cutin "",255; - end; - case 11: - cutin "rutie_snownow02.bmp",2; - mes "[Snowysnow]"; - mes "Hello hello!"; - next; - mes "[Snowysnow]"; - mes "You're always welcome in Lutie, especially by me, Snowysnow! Happy Kwanza, Happy Hannukah and Merry Christmas~!"; - close2; - cutin "",255; - end; - } - } - case 2: - cutin "rutie_snownow01.bmp",2; - mes "[Snowysnow]"; - mes "Around this wonderful town, eternally blessed with Christmas, there is a horrible dungeon, eternally cursed with Christmas."; - next; - mes "[Snowysnow]"; - mes "I've heard that it's well decorated and looks just like a Toy Factory inside, where everything is so cute and pretty. They are Toy Soldiers and Gift Boxes as far as the eye can see!"; - next; - cutin "rutie_snownow01.bmp",2; - mes "[Snowysnow]"; - mes "Isn't that soooo exciting?! *Sigh* Even if it is a dungeon, I would like to go inside just to look. If only I was a real boy, or even had legs..."; - close2; - cutin "",255; - end; - case 3: - cutin "rutie_snownow03.bmp",2; - mes "[Snowysnow]"; - mes "Bye bye, friend~!"; - mes "Thank you for listening me~"; - mes "I'll see you again, someday! You'll always be in my heart~"; - close2; - cutin "",255; - end; - } -} - -xmas,146,136,4 script Hashokii 4_M_PIERROT,{ - mes "[Hashokii]"; - mes "Meeee~RrrrrYYYY Christmas~!"; - mes "La La La~!"; - mes "Dum di Dum di Dum!"; - next; - switch(select("Yo Clown boy, what's up?", "About Snowysnow", "Quit conversation")) { - case 1: - mes "[Hashokii]"; - mes "La La La~!"; - mes "Dum di Dum di Dum!"; - mes "Ooh, I'm trying to think of a good show to put on for Charu Charu and Marcell!"; - next; - mes "[Hashokii]"; - mes "They are getting smarter and wittier everyday, and now it seems that they don't laugh at my best jokes anymore. How did they get to be so clever?"; - next; - mes "[Hashokii]"; - mes "Well, if I work hard enough, they can't help but laugh at my hilarious jokes! So... I better start inventing better jokes. Like, pronto."; - next; - mes "[Hashokii]"; - mes "La La La~!"; - mes "Dum di Dum di Dum"; - mes "Merry Christmas!"; - close; - case 2: - if (xmas_npc == 8) { - mes "[Hashokii]"; - mes "Dum di Dum di Dum"; - mes "Ah ha! So you wanna learn more about Snowyshow! Let's see..."; - next; - mes "[Hashokii]"; - mes "Well, there are two naughty kids,"; - mes "^3355FF' Charu Charu '^000000 and"; - mes "^3355FF' Marcell '^000000. They attend my show regularly. I'm guessing you've heard the story from Cantata?"; - next; - mes "[Hashokii]"; - mes "Anyway, the two babies that were protected in Snowysnow's bosom? Yup, that's them. But Charu Charu and Marcell don't seem to know that Snowysnow saved them."; - next; - mes "[Hashokii]"; - mes "Snowysnow told me the story of how he let his body fly into the air to block the giant fire ball that was about to hit them when they were babies. For their sake, he was willing to sacrifice himself."; - next; - mes "[Hashokii]"; - mes "Why don't you go meet those 2 children? They might tell you the story we've never got the chance to hear. Okay then, good luck~! Bye bye!"; - xmas_npc = 9; - close; - } else { - mes "[Hashokii]"; - mes "Ah... ^3355FFSnowysnow^000000?"; - mes "Of course I know him! Anyone who doesn't know Snowysnow is a total stranger around here! Sometimes, he and I share a nice chat..."; - next; - mes "[Hashokii]"; - mes "He makes such a a good audience for my show. But to be honest, I'm not sure if he really likes it or not. Most people don't seem to care for my jokes."; - next; - mes "[Hashokii]"; - mes "It totally baffles me! How could they not like the best jokes in the world?! Sheeeeesh~"; - next; - mes "[Hashokii]"; - mes "Hmmm, sorry!"; - mes "Anyway, Snowysnow"; - mes "is a great guy!"; - mes "La La La~!"; - mes "Dum di Dum di Dum"; - mes "Merry Christmas- !!"; - close; - } - case 3: - mes "[Hashokii]"; - mes "La La La~!"; - mes "Dum di Dum di Dum"; - mes "Merry Christmas~!"; - close; - } -} - -xmas,206,168,4 script Little Boy 4_M_KID1,{ - if (xmas_npc == 9) { - mes "[Charu Charu]"; - mes "Errrm?"; - mes "Snowysnow?"; - next; - mes "[Charu Charu]"; - mes "Hmmm, well..."; - mes "He's a nice snowman!"; - mes "You want to know more about Snowysnow? Ummm, I'm not that smart! Ask Marcell!"; - close; - } else { - mes "[Charu Charu]"; - mes "Merry Merry Christmas!"; - mes "Heheheheheh~!"; - next; - mes "[Charu Charu]"; - mes "Did you talk to that clown guy over there? Isn't he soooooo booooring? (-.-)"; - next; - mes "[Charu Charu]"; - mes "When Marcell and I watch his show, we feel like we're getting dumber and dumber~"; - next; - mes "[Marcell]"; - mes "Charu Charu!! Watch your mouth! How dare you say that about poor Hashokii?! He's always trying hard to make us happy!"; - next; - mes "[Charu Charu]"; - mes "Yeah, yeah."; - mes "Whatever~"; - mes "I already know that!"; - mes "But he's not funny at all!"; - mes "I'd rather stay with ^3355FFSnowysnow^000000~"; - next; - mes "[Charu Charu]"; - mes "Oh well, if you didn't visit Snowysnow yet, you should see him at least once. He's funny!"; - next; - mes "[Charu Charu]"; - mes "Merry Christmas!"; - mes "Enjoy your Holiday in Lutie~!"; - close; - } -} - -xmas,208,168,4 script Little Girl 4_F_KID2,{ - if (xmas_npc == 9 || xmas_npc == 10) { - switch(xmas_npc) { - case 9: - mes "[Marcell]"; - mes "You mean Snowysnow?"; - mes "Of course I know him!"; - next; - mes "[Marcell]"; - mes "He's a nice and funny guy!"; - mes "And as Charu Charu always insists, he's funnier than Hashokii~ (But please don't let Hashokii know!)"; - next; - mes "[Marcell]"; - mes "Well, Charu Charu and I are orphans, and don't remember our parents at all. We've been brought up by the people here in Lutie."; - next; - mes "[Marcell]"; - mes "Uncle Cantata and Auntie Thachentze treated us like their own children, and Poze and Duffle have been like a brother and sister to us!"; - next; - mes "[Marcell]"; - mes "They're all nice and generous, and we always appreciate what they've done to take care of us."; - next; - mes "[Marcell]"; - mes "I also heard Snowysnow doesn't have a mommy or daddy too. And I also heard Snowysnow and us weren't born here, but somewhere else."; - next; - mes "[Marcell]"; - mes "I've heard that Snowysnow and us actually come from the same place, although I'm not sure yet. But I know that Snowysnow and me have the same kind of burns on our body."; - next; - mes "[Marcell]"; - mes "Charu Charu and I have these old burns on our backs, and Snowysnow has a dark smudge on his tummy. So I think we got burned all at the same time..."; - next; - mes "[Marcell]"; - mes "Oh, now I see . . . . ."; - mes "You wanna learn all about Snowysnow because you want to become his friend! He'll be so happy to know that! Ooh! Maybe he'll give you a present! Good luck!"; - xmas_npc = 10; - close; - case 10: - mes "[Marcell]"; - mes "More than anybody else, you know the most about Snowysnow! Please talk to Mr.Snowysnow, he'll be happy to know you care about him. Merry Christmas!"; - close; - } - } else { - mes "[Marcell]"; - mes "Merry Christmas~!"; - next; - mes "[Marcell]"; - mes "It's freezing out here...! And Charu Charu makes me colder with his unbearable jokes. And the wind's blowing so hard!"; - next; - mes "[Marcell]"; - mes "You know what? Snowysnow has a special power. He can make as many presents as Santa Claus! Isn't that great?"; - next; - mes "[Marcell]"; - mes "Huh? What's that look on your face for? Snowysnow has a big gift bag inside of his body, and gives gifts whenever he feels like it. What's so hard to believe about that?"; - close; - } -} diff --git a/npc/cities/manuk.txt b/npc/cities/manuk.txt deleted file mode 100644 index db096a6bb..000000000 --- a/npc/cities/manuk.txt +++ /dev/null @@ -1,580 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2015 Hercules Dev Team -//= Copyright (C) L0ne_W0lf -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Manuk Town -//================= Description =========================================== -//= Town-specific NPCs for Manuk. -//================= Current Version ======================================= -//= 1.3 -//========================================================================= - -//== cat_enhance =========================================== -manuk,304,195,5 script Soldier#ep13pa829 4_MAN_PIOM,{ - if (isequipped(2782) == 1) { - mes "[Food Provider]"; - mes "The Manuk family subsists mostly on refining Gray Hollows that were burried a long time ago deep down under the ground."; - close; - } - else { - mes "[Food Provider]"; - mes "Gdiios duuie Dssoas pogggd fdrul fdddoweet"; - close; - } -} - -manuk,274,239,5 script Soldier#ep13_2 4_MAN_PIOM2,{ - if (isequipped(2782) == 1) { - mes "[Injured Manuk Soldier]"; - mes "I can't absorb Bradium Essence anymore because of my fatal injury."; - mes "Those wicked fairies attacked me and left me like this."; - close; - mes "[Injured Manuk Soldier]"; - mes "I wish I could kill all the fairies..."; - close; - } - else { - mes "[Injured Manuk Soldier"; - mes "Bhiio aaas dgwer fdds rrrrrpppp Ee"; - close; - mes "[Injured Manuk Soldier]"; - mes "Foi dsddff gggeeeerr pqowe"; - close; - } -} - -manuk,107,233,5 script Soldier#ep13_3 4_MAN_PIOM,{ - if (isequipped(2782) == 1) { - mes "[Anxious Soldier]"; - mes "Hurry, I am in big trouble. I lost all the Manuk Coins. I think I dropped them somewhere on the snowfield. Gosh, I saw them right before I fell asleep!"; - close; - } - else { - mes "[Anxious Soldier]"; - mes "Qosi dhhui rffd poaner ouh."; - close; - } -} - -//== ep13_2_hiki =========================================== -manuk,100,100,3 script Piom 4_MAN_PIOM,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Piom]"; - mes "You are... tiny. But you don't seem like a Fairy."; - mes "As long as you are not a damned Fairy,"; - mes "then you are not our foe!"; - mes "In this world, there are only friends or foe!"; - close; - } - else { - mes "[Piom]"; - mes "As our wi nueo woud bus"; - mes "Gw pii rooop pishe"; - mes "Fw iusbn podim bn usow "; - mes "Psbh io whe pasn jd"; - close; - } -} - -manuk,188,216,3 script Benknee#ep13_2_1 4_MAN_BENKUNI,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Benknee]"; - mes "What brings you here?"; - mes "Are you a human?"; - mes "If you are human, you shouldn't be here."; - next; - mes "[Benknee]"; - mes "Jotunheim is a blessed and sacred place."; - mes "We, Saphas will be standing with our own feet."; - mes "And rise against oppression!"; - close; - } - else { - mes "[Benknee]"; - mes "Bdf sdio hs ioq"; - mes "Wfn is ao ps od jd"; - mes "No pip dd dow hso le"; - next; - mes "[Benknee]"; - mes "Wsd oup nc xkh d"; - mes "Rww o jsd sp"; - mes "Yd aihd oa sd s dd"; - close; - } -} - -manuk,169,260,3 script Piom#ep13_2_1 4_MAN_PIOM2,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Piom]"; - mes "We, Saphas are always together!"; - mes "Wherever we are. We are always connected to each other."; - mes "I don't know where you are from but, you should learn our spirits."; - close; - } - else { - mes "[Piom]"; - mes "Ng go oois yus dd"; - mes "You ii iaao nfb ud"; - mes "Wqq ifn isp did"; - mes "Uy ydf sd fs wee"; - mes "Mgg gf fs d ff"; - close; - } -} - -manuk,218,163,3 script Galtun#ep13_2_1 4_MAN_GALTUN,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Galtun]"; - mes "Recently, tiny things have been flying around."; - mes "I am not sure if they are flies or not."; - mes "But it is very annoying."; - next; - mes "[Galtun]"; - mes "They can only use their small magic from a long distance."; - mes "But I can kick them off quickly."; - mes "They are so bothersome. But I better not waste my time with them."; - close; - } - else { - mes "[Galtun]"; - mes "Ya sda sdou sh dbi"; - mes "Av bu dgs ldo gp gf "; - mes "Jg gfs dsd fw eerr "; - next; - mes "[Galtun]"; - mes "Mb ih ids oj fd"; - mes "Pg sdf dd sd fff"; - mes "Bq wer jfsd fsd ut yy"; - mes "Nx cxd fsd fs df "; - close; - } -} - -manuk,266,199,5 script Galtun#ep13_2_2 4_MAN_GALTUN,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Galtun]"; - mes "I can relax now that we have those piles of Bradium."; - mes "But I am also worried that we can spend them in a short time."; - close; - } - else { - mes "[Galtun]"; - mes "Bu iu bus sfi a sd"; - mes "Zsd dwo uf sh osad "; - mes "Qdf aih fas io d hoas"; - mes "Nas d iy as di"; - close; - } -} - -manuk,225,129,5 script Benknee#ep13_2_2 4_MAN_BENKUNI,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Benknee]"; - mes "Huh? Who?? Who are you??"; - mes "Oh, you are not a fairy."; - mes "I thought you were a fairy thing."; - mes "Anyway, who are you? Can you speak?"; - close; - } - else { - mes "[Benknee]"; - mes "Bao j pj a sd"; - mes "Gi oh as d"; - mes "Ya sd Yrt sd ad"; - mes "Bq we ojj jd"; - close; - } -} - -manuk,286,147,3 script Piom#ep13_2_2 4_MAN_PIOM,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Piom]"; - mes "I'll never forget the deep-rooted rancor against those traitors."; - mes "I remember how our ancestors died."; - mes "I swear that I would avenge them."; - next; - mes "[Piom]"; - mes "First, I'll kick those bastards."; - mes "Those flying little things bother me so much."; - close; - } - else { - mes "[Piom]"; - mes "Vio hs pf I aps"; - mes "Vs ou oas de ee"; - mes "Bzi sh da opd"; - mes "Mc oju asop dj a ps"; - next; - mes "[Piom]"; - mes "Be juas da sd"; - mes "Eoj ssr owq w e "; - mes "Wps dj i ao sj daasd asd"; - close; - } -} - -manuk,183,185,5 script Piom#ep13_2_3 4_MAN_PIOM,{ - tongyeok = Ring_Of_Wise_King; - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Piom]"; - mes "Our lives exist for Saphas."; - mes "On the other hand,"; - mes "Saphas lives exist for me."; - mes "Hum hahaha!"; - next; - mes "[Piom]"; - mes "We, Saphas are always together!"; - mes "Wherever we are!"; - mes "Cheer for Saphas!"; - close; - } - else { - mes "[Piom]"; - mes "Esd fas hdi as sp ad osd"; - mes "Ns id pie sj idf"; - mes "Rto osd ps ad "; - mes "Mi sho oo pesd"; - next; - mes "[Piom]"; - mes "N sd sou as d "; - mes "Ma asd psh ds ii "; - mes "Qso uf lj dhis id"; - close; - } -} - -manuk,256,143,3 script Galtun#ep13_2_3 4_MAN_GALTUN,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Galtun]"; - mes "I will devote myself to"; - mes "protect my family and Saphas."; - mes "That is all I want..."; - close; - } - else { - mes "[Galtun]"; - mes "Mr ishh qw e ee"; - mes "Baa eou sh ua sd"; - mes "Up idhs ish dk I jsd"; - close; - } -} - -manuk,245,124,3 script Piom#ep13_2_4 4_MAN_PIOM2,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Piom]"; - mes "Human, you think our battle is stupid, don't you?"; - mes "And a waste of time?"; - mes "But it is really depends on this war whether we can survive or not."; - close; - } - else { - mes "[Piom]"; - mes "Nsa dhi pao sdi a jp das"; - mes "Uaa as iijds kn sdg f"; - mes "Bzi hd sia pasd "; - mes "Es do ja pda sj d"; - mes "Bs oju lujdi ni sdgf g "; - next; - mes "[Piom]"; - mes "Us id jd nai dh"; - close; - } -} - -//== ep13_2_npc ============================================ -man_in01,346,135,0 script Worker#ep13bsg1 4_MAN_PIOM,{ - if (isequipped(2782) == 1) { - mes "[Worker]"; - mes "It is dangerous if the valve is not checked properly every day."; - mes "In fact, there was an incident."; - mes "It gives me the creeps just thinking about it."; - close; - } - else { - mes "[Worker]"; - mes "Gs df o aj ud pa"; - mes "N sd asw ewt jj "; - mes "Ud aso pda s "; - close; - } -} - -man_in01,393,134,3 script Worker#ep13bsg2 4_MAN_PIOM,{ - if (isequipped(2782) == 1) { - mes "[Worker]"; - mes "What!! Wh.. Oh... I... I didn't fall asleep!!"; - mes "Let's get back to work... that's right work..."; - close; - } - else { - mes "[Worker]"; - mes "Ns ad jai osd"; - mes "Rt odj as jo dp as"; - close; - } -} - -man_in01,377,143,5 script Worker#ep13bsg3 4_MAN_PIOM,{ - if (isequipped(2782) == 1) { - mes "[Worker]"; - mes "Hmm... It's working just fine... No probems at all..."; - close; - } - else { - mes "[Worker]"; - mes "Mou ii ros oa d d "; - close; - } -} - -man_in01,333,128,5 script Worker#ep13bsg4 4_MAN_PIOM,{ - if (isequipped(2782) == 1) { - mes "[Worker]"; - mes "My eyesight is getting weaker these days."; - close; - } - else { - mes "[Worker]"; - mes "Yw I eus ia d ap s"; - close; - } -} - -man_in01,336,128,5 script Worker#ep13bsg5 4_MAN_PIOM,{ - if (isequipped(2782) == 1) { - mes "[Worker]"; - mes "Isn't this fabulous?"; - close; - } - else { - mes "[Worker]"; - mes "R tt osj dj d"; - close; - } -} - -man_in01,283,288,3 script Worker#ep13bsg6 4_MAN_PIOM,{ - if (isequipped(2782) == 1) { - mes "[Worker]"; - mes "It is fortunate to have lots of fine quality Bradium today."; - next; - mes "[Worker]"; - mes "This is all that is left for us."; - close; - } - else { - mes "[Worker]"; - mes "Qw eI hs pado as d p "; - next; - mes "[Worker]"; - mes "Too fn ish d fd"; - close; - } -} - -//== ep13_2_tre ============================================ -manuk,103,354,5 script Manuk Galtun#door1 4_MAN_GALTUN,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Manuk Galtun]"; - mes "Here is Manuk where the Sapha who is descendant of Hwergelmir lives."; - close; - } - else { - mes "[Manuk Galtun]"; - mes "Zd sng pps fsr"; - close; - } -} - -manuk,122,354,3 script Manuk Galtun#door2 4_MAN_GALTUN,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Manuk Galtun]"; - mes "Here is Manuk where the Sapha who is descendant of Hwergelmir lives."; - close; - } - else { - mes "[Manuk Galtun]"; - mes "To osn dia fg gh gh"; - close; - } -} - -manuk,99,334,5 script Manuk Piom#tre1 4_MAN_PIOM3,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Manuk Piom]"; - mes "Galtuns are brave Sapha warriors."; - mes "I am a Piom class which is general labor."; - next; - mes "[Manuk Piom]"; - mes "By virtue of the braveness of the Galtun, we can stand for a long time from the diversions of the Laphine."; - mes "We always appreciate their efforts."; - close; - } - else { - mes "[Manuk Piom]"; - mes "H dn i sid p sd "; - mes "Nd isjd sapd j s id"; - mes "Bsi o ps dkm jgf"; - mes "Eo oo ptr n sid"; - close; - } -} - -manuk,103,311,3 script Manuk Piom#tre2 4_MAN_PIOM2,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Manuk Piom]"; - mes "My leg..."; - mes "It's time to already."; - close; - } - else { - mes "[Manuk Piom]"; - mes "Fn is d id "; - mes "Yon sdi dh so dps"; - close; - } -} - -manuk,194,189,3 script Manuk Galtun#tre3 4_MAN_GALTUN,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Manuk Galtun]"; - mes "Welcome to Manuk."; - mes "How can I help you?"; - close; - } - end; -} - -manuk,293,203,3 script Manuk Piom#tre4 4_MAN_PIOM,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Manuk Piom]"; - mes "Hey, Be careful!"; - mes "This mineral is Bradium which is the life of our tribe."; - mes "If you don't handle the stone carefully, you'll be in trouble!"; - close; - } - else { - mes "[Manuk Piom]"; - mes "Bmm ish di sd"; - mes "Fii sd ani s a d s k ds "; - mes "Ti h is so so pd"; - close; - } -} - -manuk,253,173,3 script Manuk Benknee#tre5 4_MAN_BENKUNI,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Manuk Benknee]"; - mes "Can you see that statue?"; - mes "He's the Hwergelmir, who is like a legend for us Sapha."; - mes "He was a real majestic and brave man."; - close; - } - else { - mes "[Manuk Piom]"; - mes "Ys oadj oa s d"; - mes "Bni ii osd jo as das"; - mes "Qa oj df isd oo o"; - close; - } -} - -//== ep12_2_dailybs ======================================== -manuk,251,180,5 script Young Villager#ep13bs 4_MAN_PIOM,{ - if (isequipped(2782) == 1) { - mes "[Young Villager]"; - mes "It's past the time of our date, why isn't she here yet!!?"; - close; - } - else { - mes "[Asd]"; - mes "Ywo di pi butfs oui Afbsu "; - close; - } -} - -man_in01,360,137,5 script Mechanic#ep13bs 4_MAN_PIOM,{ - if (isequipped(2782) == 1) { - mes "[Mechanic]"; - mes "Alien races are not allowed to enter."; - mes "It's very dangerous here, please don't come any closer."; - close; - } - else { - mes "[Asoui]"; - mes "Fs iua sdjosow ww "; - mes "Adds wwpq iusnd "; - close; - } -} - -man_in01,68,187,0 script Worker#ep13bs1 4_MAN_PIOM,{ - if (isequipped(2782) == 1) { - mes "[Worker]"; - mes "Hmm, it smells delicious."; - mes "It should be time to turn it around now."; - next; - mes "[Worker]"; - mes "Hardrock Mammoth steak should be eaten slightly raw!"; - close; - } - else { - mes "[Tee]"; - mes "As woue dpi sha we"; - mes "Two psie bu le"; - next; - mes "[Tee]"; - mes "Tr sdou powee wwee "; - close; - } -} - -man_in01,74,181,3 script Worker#ep13bs2 4_MAN_PIOM,{ - if (isequipped(2782) == 1) { - mes "[Worker]"; - mes "Chef Cook, how many plates should I put down?"; - close; - } - else { - mes "[Tee]"; - mes "We pishd bugs ouwwe iro "; - close; - } -} - -man_in01,227,280,5 script Scientist#ep13bs 4_MAN_BENKUNI,{ - if (isequipped(2782) == 1) { - mes "[Scientist]"; - mes "Is there only one way we can survive..?"; - close; - } - else { - mes "[Apti]"; - mes "Dso piey pioit ioep "; - close; - } -} diff --git a/npc/cities/morocc.txt b/npc/cities/morocc.txt deleted file mode 100644 index e4400e7af..000000000 --- a/npc/cities/morocc.txt +++ /dev/null @@ -1,789 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2015 Hercules Dev Team -//= Copyright (C) Lupus -//= Copyright (C) Silent -//= Copyright (C) Vicious_Pucca -//= Copyright (C) MasterOfMuppets -//= Copyright (C) Nexon -//= Copyright (C) L0ne_W0lf -//= Copyright (C) kobra_k88 -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Morroc Town -//================= Description =========================================== -//= Morroc Town NPCs -//================= Current Version ======================================= -//= 2.2 -//========================================================================= - -//== Morroc ================================================ -morocc,150,120,5 script Soldier - Morroc#01::MocSoldier 4_M_MOC_SOLDIER,3,3,{ - mes "[Morroc Soldier]"; - mes "Hey, you! Stop there."; - next; - mes "[Morroc Soldier]"; - mes "This is a restricted area. You can't come any further!"; - close; - -OnTouch: - mes "[Morroc Soldier]"; - mes "Hey, you! Stop there."; - next; - mes "[Morroc Soldier]"; - mes "This is a restricted area. You can't come any further!"; - close; -} - -morocc,202,244,0 script Volunteer - Morroc#01 4_F_CRU,{ - mes "[Morroc Volunteer]"; - mes "After that terrible incident wiped out the entire Morroc, Rune-Midgard Kingdom has gathered us valunteers to help restorations."; - next; - mes "[Morroc Volunteer]"; - mes "As important as it seems, everyone's being careful but there are always some that really don't realize the situation, don't you think?"; - close; -} - -morocc,88,133,3 script Volunteer - Morroc#02 4_M_ALCHE_A,{ - mes "[Morroc Volunteer]"; - mes "We're... We're flooded with work..."; - next; - mes "[Morroc Volunteer]"; - mes "This work's like never-ending, no matter how hard we try!!!"; - mes "People of Rune-Midgard!! Please lend us a helping hand!!"; - next; - mes "[Morroc Volunteer]"; - mes "Haw.... Whew... Ugh..."; - close; -} - -morocc,202,110,0 script Volunteer - Morroc#03 4_M_JOB_ASSASSIN,{ - mes "[Morroc Volunteer]"; - mes "We're still unable to estimate the overall damage."; - next; - mes "[Morroc Volunteer]"; - mes "Adventurers' Union and Prontera Kingdom are putting their efforts on restorations as well as restraints of the original cause of the disaster."; - next; - mes "[Morroc Volunteer]"; - mes "Unless we settle the original cause, the damage will even spread out of Morroc. The only thing left is to get worse."; - close; -} - -morocc,268,287,3 script Volunteer - Morroc#04 4_F_JOB_HUNTER,{ - mes "[Morroc Volunteer]"; - mes "As bad as it seems, we can't even ask for more support."; - mes "This sure must be the worst thing ever happened in Rune-Midgard's history."; - next; - mes "[Morroc Volunteer]"; - mes "I wish I knew how bad the damage is, but we can't even estimate it. It's like shovelling sand against the tide.."; - close; -} - -morocc,37,287,0 script Volunteer - Morroc#05 1_F_PRIEST,{ - mes "[Morroc Volunteer]"; - mes "The town's all shattered, but the real problem is the towners."; - next; - mes "[Morroc Volunteer]"; - mes "It's a real pity to see those victims of the destroyed town, but the witnesses of the disaster are so much shocked. They're simply not normal now."; - next; - mes "[Morroc Volunteer]"; - mes "People are scared to death, but those are fortunate at least.. cause.. many others got mentally ill and stuff.."; - close; -} - -morocc,223,102,0 script Volunteer - Morroc#06::MocVolunteer 2_M_BARD_ORIENT,{ - mes "[Morroc Volunteer]"; - mes "Ugh.. It's kinda spooky, here.. Even this dry wind of the desert seems to have a dark nature."; - next; - mes "[Morroc Volunteer]"; - mes "Ooh!! Something... I can feel something! The dark and gloomy air flowing around this town is actually giving me a musical motiff!"; - next; - mes "[Morroc Volunteer]"; - mes "Right, I think you should hear it! The title is.. 'The Rhapsody of Morroc Satan's Rebirth'!!"; - next; - mes "[Morroc Volunteer]"; - mes "When finally wake up, it's just the same darkness"; - mes "Failed to be reborn at the same place,"; - mes "Gotta try harder and harder, never ever give up,"; - mes "But even after hundreds and thousands of trying,"; - mes "The great Satan of Morroc can't revive~"; - next; - mes "[Morroc Volunteer]"; - mes "My stupid button men are useless,"; - mes "Against those adventurers,"; - mes "This time I must revive,"; - mes "Cracking the time and the space,"; - mes "Will be saved for the last~~~"; - next; - mes "[Ringing Voice]"; - mes "Be quiet! Can't you see what's going on?!"; - specialeffect(EF_HIT2, AREA, getnpcid("Volunteer - Morroc#06")); - next; - mes "[Morroc Volunteer]"; - mes "Heyyy, you're being too harsh, Senyorita. Your fist may be as fragile as you are, but it sure can hurt somebody."; - next; - mes "[Ringing Voice]"; - mes "Anyways, isn't that a crib? I think I heard something like that before.."; - next; - mes "[Morroc Volunteer]"; - mes "No, No way!? It,, sure is not!"; - close; -} - -morocc,226,102,4 duplicate(MocVolunteer) Volunteer - Morroc#07 4_F_JOB_BLACKSMITH - -moc_ruins,123,154,0 script Young Man#moc01 4W_M_03,{ - mes "[Young Man]"; - mes "The town's completely destroyed, but that giant triangular structure hasn't been harmed at all. Maybe it's protected by some kinda special power."; - next; - mes "[Young Man]"; - mes "You know...Those giant, triangular buildings at the NorthWest corner of Morroc known are known to us as Pyramids..."; - next; - mes "[Young Man]"; - mes "Those things have been around here for thousands and thousands of years. No one knows when and why they were built, or who built them."; - next; - mes "[Young Man]"; - mes "All we know is that tons of monsters live inside those weird buildings. You might wanna stay away from those really dangerous places."; - next; - mes "[Young Man]"; - mes "Those monsters in the Pyramid would be very, very sensitive to sweet flash smell of people...."; - close; -} - -moc_ruins,128,153,0 script Grampa#moc 1_M_PUBMASTER,{ - mes "[Old Scholar]"; - mes "I've devoted my life to researching the mysterious pyramids near Morroc. I haven't been able to concretely confirm anything yet, but..."; - next; - mes "[Old Scholar]"; - mes "I'm sure that the largest pyramid contains the tomb of the ancient king, Osiris! I'm willing to stake my life on it!"; - close; -} - -moc_ruins,132,144,0 script Wolf Young Man#moc 4_M_03,{ - mes "[Young Man]"; - mes "I remember I said the bandits of desert are the desert wolves.. Those bastards always roam around in a bunch and they would get so cruel and outrageous if one of them got attacked."; - next; - mes "[Young Man]"; - mes "They are so vicious, and I'm telling ya, I'm no kidding. You can only find some bones and rotten milk in the backpack after these wolves sweep through."; - mes "Those things are so mean and vicious.."; - next; - mes "[Young Man]"; - mes "But the thing is that.. I even kinda feel those merciless cold-blooded monsters are nothing to be afraid of, compared to what has happened in Morroc. Morroc is already a hell."; - close; -} - -moc_ruins,115,144,3 script Muka Young Man#moc 4_M_01,{ - mes "[Young Man]"; - mes "I work in the trading business, so I always have to cross the hot, dry Morroc Desert on business."; - next; - mes "[Young Man]"; - mes "But I can't do that anymore."; - next; - mes "[Young Man]"; - mes "Now that I can't, I kind of miss the old days."; - next; - mes "[Young Man]"; - mes "Like this one time, while I was in the middle of the desert, I got so thirsty that I caught a cactus.. but before I was able to cut it, it slapped me! Then it shot me in the arse with all these needles..."; - next; - mes "[Young Man]"; - mes "Later, I learned that it wasn't a normal cactus I found, but the monster we call 'Muka.'"; - mes "Now I come to think of it, it was fun as much as dangerous."; - close; -} - -moc_ruins,109,138,0 script Diamond Young Man#moc 4W_M_03,{ - mes "[Young Man]"; - mes "The undisputed queen of jewels has to be the Diamond. After looking at it just once, no one can deny its beauty."; - next; - mes "[Young Man]"; - mes "Many factors determine its value, but the most important thing is its size."; - next; - mes "[Young Man]"; - mes "It should also be a perfect crystal, not cracked or chipped, if you want to sell the Diamond for a lot of zeny."; - next; - mes "[Young Man]"; - mes "But look! The hardest stone in the world got broken in two!"; - next; - mes "[Young Man]"; - mes "I know it's not the time to worry about some gemstones but.. this.. was my everything.."; - close; -} - -morocc,54,251,0 script Young Man#moc02 4_M_ORIENT02,{ - mes "[Drunken Young Man]"; - mes "Wait a second..! Are you perhaps an adventurer? Welcome! How's your trip?"; - mes "Heh heh~ Let me tell you a story. You know I just got out of that Tavern, there, huh?"; - next; - mes "[Drunken Young Man]"; - mes "I heard the Satan Morroc has revived. It just got out of cracking the time and the space blar... hic~"; - next; - mes "[Drunken Young Man]"; - mes "Ah... I kinda wanna see that Satan with my own eyes, but! I really shouldn't. I shouldn't even dream of seeing that Satan in person."; - next; - mes "[Drunken Young Man]"; - mes "But I think there'd be nothing to lose if you, a person of bravery, who came through the wile desert try to find it, don't you think? Teehee~ Don't forget to buy me a drink when you find it!"; - mes "Hic!"; - next; - mes "[Drunken Young Man]"; - mes "Anyway, do you know where we are? I just had a little drink at a tavern, but all of a sudden, the whole town's disappeared when I got out.. or, some five hundred years have passed???!"; - close; -} - -moc_ruins,94,117,0 script Pale Looking Young Man 1_M_02,{ - mes "[Pale-looking Young Man]"; - mes "... That day... I saw the bloody moon in the sky. It was too silent that it felt so spooky."; - next; - mes "[Pale-looking Young Man]"; - mes "Not even a whistle of dry wind, and the air so heavy and stuffy, I could hardly breathe."; - next; - mes "[Pale-looking Young Man]"; - mes "But then, Bang! It was right that time that I saw the enormous amount of smoke rising up at the Castle of Morroc with an earsplitting sound."; - next; - mes "[Pale-looking Young Man]"; - mes "All happened so fast. The Oasis of the Castle was all dried up and the town was destroyed. And... and that voice... I heard a voice."; - next; - mes "[Pale-looking Young Man]"; - mes "Blood... Blood is what it takes to pay for the soul... and that dark sound of laughter..."; - mes "Aah!!! It's... It's still ringing in my ears!!! Aahhhhh!!!!"; - next; - mes "- It'd be better not to disturb him anymore -"; - close; -} - -moc_ruins,115,82,0 script Little Girl#moc 4_F_KID2,{ - mes "[Little Girl]"; - mes "-Crying-"; - next; - mes "[Little Girl]"; - mes "I'm so scared! Where's mom and dad...! hhooooo... Where's our house..."; - next; - mes "[Little Boy]"; - mes "Please stop crying, Eliese... You could even faint if you cry all day long, you know..."; - next; - mes "[Little Girl]"; - mes "No! No... Mommy... Daddy...."; - close; -} - -moc_ruins,118,82,1 script Little Boy#moc 4_M_KID1,{ - mes "[Little Boy]"; - mes "............... Let's stop crying, Eliese..."; - next; - mes "[Little Girl]"; - mes "Nooooooo... Mommy... Daddy....!!"; - next; - mes "[Little Boy]"; - mes "Mom and Dad are now..."; - next; - mes "[Little Girl]"; - mes "No...... noooooo..."; - next; - mes "[Little Boy]"; - mes "Right, you love ice-cream, don't you? I.. I can get you an ice-cream if you stop crying. Don't cry, Eliese, please.. Ok? Don't..."; - close; -} - -moc_ruins,121,116,4 script Picky Lady#moc 1_F_01,{ - mes "[Syvia]"; - mes "The fields of Rune-Midgard are infested with wild and dangerous monsters..But, you've got to admit a bunch of them are soooo cute!"; - mes "You know, like how Spore sticks out its tongue after you kill it.."; - next; - mes "[Syvia]"; - mes "Or, how little Picky wears that tiny egg shell sometimes?.."; - next; - mes "[Syvia]"; - mes "I can't believe what just has happened.. Our town used to be the one with those cute little monsters, not that kinda of visious dreadful Evil sleeping in! Whew..."; - next; - mes "[Syvia]"; - mes "I'm so scared... I just wanna ease my mind watching over those cute little Porings..."; - next; - switch(select("What about Angeling?", "How about Ghostring?", "Quit Conversation")) { - case 1: - mes "[Syvia]"; - mes "Ooh! Angeling is just like Poring, except it has angel wings! Of course, I don't know if they can actually fly.."; - next; - mes "[Syvia]"; - mes "Angelings are rarely seen, but can be found among large groups of Porings living in one of the fields south of Prontera."; - mes "Angeling is a high level monster with Holy property, so it's immune to most magic, aside from spells that have Neutral or Shadow attack properties."; - next; - mes "[Syvia]"; - mes "Hehe~ Don't you think I know a lot about Porings? I love them soooo much"; - next; - mes "[Syvia]"; - mes "Hehe... Poring... Hee......"; - close; - case 2: - mes "[Syvia]"; - mes "Ghostring is an evil ghost Poring. It's rarely seen, but can be found among mass groups of Porings living in one of the fields south of Prontera."; - next; - mes "[Syvia]"; - mes "Ghostring is a high-leveled monster with the Ghost property, so it can withstand all physical attacks."; - mes "Damage can only be caused to Ghostring through magic spells or weapons with an a specific property."; - next; - mes "[Syvia]"; - mes "Hehe~ Don't you think I know a lot about Porings? I love them soooo much~"; - next; - mes "[Syvia]"; - mes "Hehe... Poring... Teehee......"; - close; - case 3: - mes "[Syvia]"; - mes "Hehe... Poring... Teehee......"; - close; - } -} - -moc_ruins,155,107,4 script Ant Man#moc 1_M_01,{ - mes "[Akira]"; - mes "Hey, you. Did you cross the desert?"; - next; - mes "[Akira]"; - mes "When you walk through the desert about one map North and 3 maps East, you'll find the entrance to Ant Hell."; - next; - mes "[Akira]"; - mes "There are two different entrances to the Ant Hell. When you get inside, the 1st and the 2nd underground levels of winding looking caves are connected to each other."; - next; - mes "[Akira]"; - mes "I'm really wondered how those entrances are after the horrible destruction, but I can't go out.. If you ever hear anything about it, please get me informed."; - next; - switch(select("About 'Ant Hell'", "About Ants", "End Conversation")) { - case 1: - mes "[Akira]"; - mes "That cave is sure a dangerous hell, sticky and all... There are 2 underground levels."; - mes "Just head East till you see the bridge which connects to the Payon Forest."; - next; - mes "[Akira]"; - mes "In the map right before that bridge, head north to find the entrance to Ant Hell, though I'm not sure if it's still there."; - close; - case 2: - mes "[Akira]"; - mes "Ant Hell is swarming with Ant monsters. You'll notice that they all classed with different names..."; - next; - mes "[Akira]"; - mes "Andre is the weakest, Piere is comparatively average, and Deniro is the strongest Ant. Keep that in mind so you can fight the Ants suitable to your level."; - next; - mes "[Akira]"; - mes "Andre is colored in Ivory, Yellowish Green is Piere, and the Red one is Deniro."; - mes "It's really easy to distinguish those from Bitata, the commen ants because they look very different."; - next; - mes "[Akira]"; - mes "Oh, and those ants are greedy as Porings and will try to steal your items, so keep that in mind."; - next; - mes "[Akira]"; - mes "If you ever, could cross the desert without any disturbances from the Satan..."; - close; - case 3: - mes "[Akira]"; - mes "There's also an old man called Guias, the spirit of the earth. He's pretty hard to deal with."; - next; - mes "[Akira]"; - mes "Sharp teeth and strong jaws of the ants would be something that you should be careful of, but the shovelling skills of that old granpa is very strong that you should watch out."; - next; - mes "[Akira]"; - mes "...Well, what am I talking about? What is left to be afraid when the Satan of Morroc is revived? Huh..huhhuh..."; - close; - } -} - -moc_ruins,143,43,4 script Assassin Boy#moc 2_M_THIEFMASTER,{ - mes "[Slayer Kid]"; - mes "Unbeatable in man-to-man fights, Assassins always overcome their enemies! Erm, always overcome their enemies without a trace."; - next; - mes "[Slayer Kid]"; - mes "But what did they do when this destruction happened in Morroc!!!"; - next; - switch(select("?????", "Where I can find the Assassin clan?", "End Conversation")) { - case 1: - mes "[Slayer Kid]"; - mes "I hear Assassins practice killing people, quietly and stealthfully.."; - next; - mes "[Slayer Kid]"; - mes "I left home three years ago, and have been searching for their secret base ever since..."; - mes "Are they really that invisible?!"; - next; - mes "[Slayer Kid]"; - mes "Well.. Maybe it'd too late now.."; - mes "Now that the whole town's destroyed... I don't even care what happenes next..."; - close; - case 2: - mes "[Slayer Kid]"; - mes "You know what..."; - mes "It seemed to be impossible to find."; - next; - mes "[Slayer Kid]"; - mes "Well, I hear that if you leave this town and go 2 maps east, and then 2 maps South, you should be able to find it.."; - next; - mes "[Slayer Kid]"; - mes "The 'Mirage Tower,' the head building of Sograt Desert, is supposed to appear in this awesome sandstorm! But, I still haven't found it."; - next; - mes "[Slayer Kid]"; - mes "If you find them, and the clan master thinks you're qualified, you can become an Assassin! Or, at least, I think.."; - next; - mes "[Slayer Kid]"; - mes "And I hear the coolest Assassin of them all is the Assassin Cross! But, that's even a bigger mystery~ You won't be able to see them unless you're a great thief!"; - next; - mes "[Slayer Kid]"; - mes "But then... What the hell were they doing when Morroc was destroyed?!!!"; - close; - case 3: - mes "[Slayer Kid]"; - mes "Assassin is one of the advanced jobs for Thief, and specializes in fighting with Neutral and Poison property attacks."; - next; - mes "[Slayer Kid]"; - mes "They're also very sneaky! I hear that they're able to cloak so that no one can see them!"; - next; - mes "[Slayer Kid]"; - mes "But then... What the hell were they doing when Morroc was destroyed?!!!"; - close; - } -} - -moc_ruins,173,141,4 script Dimitri#moc 1_M_03,{ - mes "[Dimitri]"; - mes "The desert of Morroc has the highest average temperature in Midgard. You might as well think twice before you sit on the sand in the middle of the desert, cause your ass will be toasted."; - next; - switch(select("About the desert sands", "About the remedy for Fatigue", "End Conversation")) { - case 1: - mes "[Dimitri]"; - mes "......What I mean is that..."; - mes "It seems like it should be all burnt, but it's not!"; - next; - mes "[Dimitri]"; - mes "You can sit down and take a rest whenever you need to and your ass won't burn. I guess the Morroc sand doesn't conduct heat as much as it should."; - next; - mes "[Dimitri]"; - mes "That's why everyone could recover the HP and SP in the middle of desert."; - next; - mes "[Dimitri]"; - mes "Now I come to think of it, maybe the reason why Morroc has exceptionally high average temperature is because that Satan is sealed within."; - close; - case 2: - mes "[Dimitri]"; - mes "Recovery!"; - mes "That's what the potions are for!"; - mes "Red Potions have become steadily popular since they're so affordable, even though they only recover a little bit of HP."; - next; - mes "[Dimitri]"; - mes "Try this bottle of ice-cold potion when you go into the Oasis around the Pyramid..."; - mes "Yeah.. you want this bad.. but the situation's not good..."; - close; - case 3: - mes "[Dimitri]"; - mes "Sometimes 'Milk' comes out of 'PecoPeco's Egg.' Now.."; - mes "I'm not sure how the cow's milk comes out of some bird's egg..."; - next; - mes "[Dimitri]"; - mes "I may not be a man of science, but how is that even possible?."; - mes "I mean, did the Milk come prepackaged with the egg, or did it get in there somehow?.."; - mes "Oh, whatever.. It's just not the time for this."; - close; - } -} - -moc_ruins,174,120,4 script Fly Man#moc 1_M_JOBGUIDER,{ - mes "[Armani]"; - mes "Ooh, Woooowwww."; - next; - mes "[Armani]"; - mes "I... I really saw it.... The Fly Lord gets shattered in pieces in a blink of an eye..."; - next; - mes "[Armani]"; - mes "What is really going on? Would it be possible for us to survive??"; - next; - switch(select("The Fly Lord?!")) { - case 1: - mes "[Armani]"; - mes "Yes, yes! I'm talking about the Dragon Fly, master of all flies!!"; - mes "The Dragon Fly is a special one that stays in the North-east of the town."; - next; - mes "[Armani]"; - mes "It's so much stronger than the other flies."; - next; - mes "[Armani]"; - mes "And when you kill it, there's even a chance that you might earn a ^880000Clip^000000 item!"; - next; - mes "[Armani]"; - mes "Anyways, don't you think the Satan Morroc is so cruel?"; - mes "They may not be the same kind, but still isn't it cruel to take that monster's soul with a single blow?"; - next; - mes "[Armani]"; - mes "What should we do when this dreadful evil has come to life again!"; - close; - } -} - -moc_ruins,173,70,4 script Uncle Morroc#moc 1_M_02,{ - mes "[Phlanette]"; - mes "Morroc is located in an extremely dry region, surrounded by desert."; - mes "No place in the world is as hot as Morroc."; - next; - mes "[Phlanette]"; - mes "I have a hunch that this hot and dry climate in Morroc is because of that Satan sealed deeper underground for so long."; - next; - switch(select("Tell me about the desert.", "Quit Conversation")) { - case 1: - mes "[Phlanette]"; - mes "Um.. I'll briefly tell ya about the desert if you want to know."; - mes "Due to low annual rainfall, low humidity and high evaporation rate, little vegetation can be found in the desert."; - next; - mes "[Phlanette]"; - mes "Nonetheless, there are a few hardy plants that can survive and grow in the desert."; - next; - mes "[Phlanette]"; - mes "Unfortunately some of those plants growing around Morroc have been mutated into monsters."; - mes "One of those is Muka, the mutated cactus.."; - next; - mes "[Phlanette]"; - mes "However, now that the Satan has revived, no one's sure of what changes would be made in the life cycles of Morroc."; - close; - case 2: - mes "[Phlanette]"; - mes "Here and there!"; - mes "Sand everywhere..."; - mes "Oh, I curse you, the desert of Morroc!!"; - mes "Damn you!"; - next; - mes "[Phlanette]"; - mes "But our of all this hatred, I didn't want it to be completely destroyed..."; - next; - mes "[Phlanette]"; - mes "How come it's never possible to know its value while it's still around?"; - close; - } -} - -moc_fild16,199,212,4 script Uncle Assassin#moc 1_M_JOBTESTER,{ - mes "[Hashisid]"; - mes "...Assassins are trained"; - mes "to approach their enemies steathily,"; - mes " as well as"; - mes "to shroad their intent."; - mes "For this purpose,"; - mes "we never"; - mes "look our targets in the eye."; - next; - switch(select("Notion of Assassin", "Quit Conversation")) { - case 1: - mes "[Hashisid]"; - mes "Well, then.."; - mes "I'll tell you what it is!"; - mes "Assassins .."; - mes "may be commonly known as"; - mes "infiltrators and murderers"; - mes "who kill without remorse."; - next; - mes "[Hashisid]"; - mes "In actuality,"; - mes "the Assassin clan"; - mes "is forbidden to harm innocent people,"; - mes "or at least,"; - mes "not without good reason"; - next; - mes "[Hashisid]"; - mes "Our true directive is to assassinate evil creatures,"; - mes "and to use our stealth to gather intelligence"; - mes "for the good of all Rune-Midgard."; - close; - case 2: - mes "[Hashisid]"; - mes "Once upon a time,"; - mes "our ancestors would"; - mes "smoke tobacco called 'Hashish'"; - mes "before performing their duties."; - mes "However, we no longer do so,"; - mes "since insect or animal monsters are"; - mes "very senstive to the smell."; - next; - mes "[Hashisid]"; - mes "We strictly prohibit"; - mes "smoking or eating"; - mes "anything that has"; - mes "strong smell..."; - mes "If you ever,"; - mes "try eating those"; - mes "smelly garlic bread with spicies,"; - next; - mes "[Hashisid]"; - mes "and try hiding against"; - mes "those wild boars or wolves,"; - mes "believe me,"; - mes "you'll be ripped in pieces."; - close; - } -} - -moc_fild16,211,254,4 script Assassin#07rhea_30 2_M_THIEFMASTER,{ - mes "[La Conte]"; - mes "Once Thiefs are promoted"; - mes "to Assassins, which is very professional"; - mes "they will be able to vary their battle style."; - mes "their battle style."; - mes "There are 2 main battle styles available to Assassins."; - mes "They may either wield dual daggers,"; - mes "or fight with a set of Katars!"; - next; - switch(select("Specialty of Katar", "Specialty of Dual Daggers", "Quit Conversation")) { - case 1: - mes "[La Conte]"; - mes "A set of Katars is"; - mes "worn on both of the hands,"; - mes "and allows Assassins"; - mes "to quickly slash their enemies."; - mes "Anyone can buy a basic set of Katars"; - mes "in Morroc somewhere."; - mes "Of course, only Assassins can use them."; - next; - mes "[La Conte]"; - mes "The right Katar"; - mes "usually does more damage,"; - mes "while the left Katar"; - mes "is used for the follow-through."; - mes "But since Katars are equipped on both hands,"; - mes "you can't equip a shield or an extra weapon."; - next; - mes "[La Conte]"; - mes "Compared to Dual Daggers,"; - mes "Katars have faster attack speed."; - mes "Also, the ^663399Sonic Blow^000000 skill"; - mes "can only be used with Katars."; - next; - mes "[La Conte]"; - mes "You can learn the Sonic Blow skill"; - mes "at ^663399Level 4 Katar Mastery^000000."; - mes "If you're an Assassin,"; - mes "it's a handy skill to know."; - next; - mes "[La Conte]"; - mes "Sonic Blow is the skill"; - mes "that inflicts 8 contineous hits of"; - mes "Neutral damage."; - close; - case 2: - mes "[La Conte]"; - mes "Dual Daggers"; - mes "enables you to equip"; - mes "2 different kinds of Daggers"; - mes "at the same time."; - mes "Of course,"; - mes "there are other weapons you can equip"; - mes "aside from daggers,"; - next; - mes "[La Conte]"; - mes "but they'll probably"; - mes "be lacking in attack speed."; - mes "So I suggest daggers."; - mes "Also, without a dagger"; - mes "in your right hand,"; - mes " you won't be able to use"; - mes "the ^663399Double Attack^000000 skill."; - next; - mes "[La Conte]"; - mes "So with Dual Daggers,"; - mes "you would have a double attack"; - mes "with the right hand dagger,"; - mes " and a single attack with your left hand weapon."; - next; - mes "[La Conte]"; - mes "So that's three strikes"; - mes "in one blow!"; - mes "You can't argue"; - mes "against that kind of damage!"; - close; - case 3: - mes "[La Conte]"; - mes "Hopefully"; - mes "you will make good use of"; - mes "the weapons at your disposal."; - mes "Remember"; - mes "the importance of"; - mes "strategy and"; - mes "planning your attacks."; - close; - } -} - -//== Other NPCs ============================================ -//- Bartender - -/* -morocc_in,166,76,3 script Bartender#02 1_ETC_01,{ - mes "[Bartender]"; - mes "What are you going to order?"; - next; - switch(select("Tropical Sograt", "Vemillion the Beach", "Nothing.")) { - case 1: - if (Zeny >= 1000 ) { - Zeny -= 1000; - getitem 12112,1; - mes "[Bartender]"; - mes "Here you go."; - mes "Fruits are major ingredients,"; - mes "but don't drink too much."; - close; - } - break; - case 2: - if (Zeny >= 1000 ) { - Zeny -= 1000; - getitem 12113,1; - mes "[Bartender]"; - mes "Here you go."; - mes "but don't drink too much."; - close; - } - break; - case 3: - mes "[Bartender]"; - mes "Hmm..."; - close; - } - 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; -} -*/ - -//== Assassin Guild Guards ================================= -moc_fild16,195,281,4 script Assassin Guardian#1::SinGuard 4_M_MOC_SOLDIER,{ - mes "[Assassin Guardian]"; - if(BaseJob == Job_Assassin) { - mes "Welcome."; - close; - } - .@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,204,281,4 duplicate(SinGuard) Assassin Guardian#2 4_M_MOC_SOLDIER -moc_fild16,207,281,4 duplicate(SinGuard) Assassin Guardian#3 4_M_MOC_SOLDIER -moc_fild16,216,281,4 duplicate(SinGuard) Assassin Guardian#4 4_M_MOC_SOLDIER -moc_fild16,200,231,4 duplicate(SinGuard) Assassin Guardian#5 4_M_MOC_SOLDIER -moc_fild16,211,231,4 duplicate(SinGuard) Assassin Guardian#6 4_M_MOC_SOLDIER -moc_fild16,200,257,4 duplicate(SinGuard) Assassin Guardian#7 4_M_MOC_SOLDIER -moc_fild16,211,257,4 duplicate(SinGuard) Assassin Guardian#8 4_M_MOC_SOLDIER diff --git a/npc/cities/moscovia.txt b/npc/cities/moscovia.txt deleted file mode 100644 index c0029a91d..000000000 --- a/npc/cities/moscovia.txt +++ /dev/null @@ -1,153 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2015 Hercules Dev Team -//= Copyright (C) Euphy -//= Copyright (C) Kisuka -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Moscovia Town -//================= Description =========================================== -//= Moscovia Town Script -//================= Current Version ======================================= -//= 1.2 -//========================================================================= - -//== Moscovia Transportation :: mosk_trans ================= -- script ::PR_Officer_moscovia FAKE_NPC,{ - mes "[Moscovia P.R. Officer]"; - mes "Moscovia! Do you know Moscovia?"; - mes "the paradise spreading on the endless seas..."; - mes "Welcome to Moscovia"; - mes "It's adventurous and mystic."; - next; - switch(select("About Moscovia...", "Go to Moscovia.", "Cancel")) { - case 1: - mes "[Moscovia P.R. Officer]"; - mes "Moscovia is a beautiful kingdom"; - mes "on an island located north of Rune"; - mes "Midgarts."; - next; - mes "[Moscovia P.R. Officer]"; - mes "I'm sure that you will be"; - mes "absolutely fascinated"; - mes "by Moscovia's beautiful scenery"; - mes "and gorgeous palace."; - next; - mes "[Moscovia P.R. Officer]"; - mes "Now that our long winter has"; - mes "passed,"; - mes "I'm happy that I can now show you"; - mes "our gorgeous hometown."; - next; - mes "[Moscovia P.R. Officer]"; - mes "If you feel like visiting Moscovia"; - mes "take the chance now!"; - mes "I'll help you to have a nice trip"; - mes "to Moscovia!"; - close; - case 2: - mes "[Moscovia P.R. Officer]"; - mes "Ok then, let us start now."; - mes "You should pay me 10,000 zeny"; - mes "to go to Moscovia."; - mes "But when you come back,"; - mes "you don't have to pay."; - next; - mes "[Moscovia P.R. Officer]"; - mes "Can we leave now?"; - next; - if (select("Let's go!", "Cancel") == 2) { - mes "[Moscovia P.R. Officer]"; - mes "If you're too busy now,"; - mes "please tell me again whenever you want."; - mes "I'm always ready to guide anyone to Moscovia."; - close; - } - if (Zeny < 10000) { - mes "[Moscovia P.R. Officer]"; - mes "I'm sorry but you don't have"; - mes "enough zeny now"; - mes "You need 10,000 zeny"; - mes "to go to Moscovia"; - mes "Thank you."; - close; - } else { - mes "[Moscovia P.R. Officer]"; - mes "Ok then, we're leaving now."; - close2; - Zeny -= 10000; - warp "moscovia",163,55; - end; - } - case 3: - mes "[Moscovia P.R. Officer]"; - mes "If you're too busy now,"; - mes "please tell me again whenever you want."; - mes "I'm always ready to guide anyone to Moscovia."; - close; - } -} - -moscovia,166,53,4 script Moscovia P.R. Officer#2 4_F_RUSWOMAN2,{ - mes "[Moscovia P.R. Officer]"; - mes "How was your trip?"; - mes "Do you have good memories from Moscovia?"; - mes "A ship is now leaving"; - mes "for Rune Midgarts."; - next; - if (select("Return to Alberta", "Cancel") == 2) { - mes "[Moscovia P.R. Officer]"; - mes "If you want to see more"; - mes "please take your time."; - close; - } - mes "[Moscovia P.R. Officer]"; - mes "Please come and visit soon."; - mes "Ok then, Let's get going."; - close2; - if (RENEWAL) - warp "alberta",244,52; - else - warp "alberta",243,67; - end; -} - -//== Moscovia Palace :: mos_swan =========================== -moscovia,253,166,4 script Soldier#mosk1 4_M_RUSKNIGHT,{ - mes "[Soldier]"; - mes "Our dear Csar Alexsay III is in the palace."; - mes "He rules over Moscovia."; - mes "Please be careful not to cause him any trouble."; - close; -} - -- script Soldier#mosk::MoscSoldier 4_M_RUSKNIGHT,{ - mes "[Soldier]"; - mes "Please be silent or the Csar will be angry."; - close; -} -mosk_in,118,66,5 duplicate(MoscSoldier) Soldier#mosk02 4_M_RUSKNIGHT -mosk_in,133,110,3 duplicate(MoscSoldier) Soldier#mosk03 4_M_RUSKNIGHT -mosk_in,133,73,3 duplicate(MoscSoldier) Soldier#mosk04 4_M_RUSKNIGHT -mosk_in,113,124,5 duplicate(MoscSoldier) Soldier#mosk05 4_M_RUSKNIGHT diff --git a/npc/cities/niflheim.txt b/npc/cities/niflheim.txt deleted file mode 100644 index 92e57f434..000000000 --- a/npc/cities/niflheim.txt +++ /dev/null @@ -1,371 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2015 Hercules Dev Team -//= Copyright (C) L0ne_W0lf -//= Copyright (C) Evera -//= Copyright (C) Silent -//= Copyright (C) Vicious_Pucca -//= Copyright (C) Nexon -//= Copyright (C) Lupus -//= Copyright (C) Celest -//= Copyright (C) PKGINGO -//= Copyright (C) Dizzy -//= Copyright (C) Fyrien -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Niflheim Script -//================= Description =========================================== -//= Official NPCs for Niflheim -//================= Current Version ======================================= -//= 1.5 -//========================================================================= - -niflheim,52,147,3 script Keedz#nif 4_M_NFDEADSWDMAN,{ - mes "[Keedz]"; - mes "I don't allow any living person"; - mes "to come in this place!"; - close; -} - -niflheim,195,211,6 script Gigantia#nif 4_M_NFDEADSWDMAN,3,3,{ - if (isequipped(5038) || isequipped(2257) || isequipped(2256)) { - mes "[" + strcharinfo(PC_NAME) + "]"; - mes "What's up?"; - next; - mes "[Gigantia]"; - mes "Just..."; - mes "Come over here."; - mes "I have something"; - mes "I must do for you."; - next; - mes "[Gigantia]"; - mes "Your horn is crooked."; - mes "Always make sure your horn"; - mes "is worn straight and neat."; - mes "The Lord of Death is always"; - mes "looking at you."; - close; - } - mes "[Gigantia]"; - mes "The Lord of Death knows"; - mes "and sees all. It's useless"; - mes "to hide, and escape from"; - mes "Death's sweet embrace."; - close; - -OnTouch: - if (isequipped(5038) || isequipped(2257) || isequipped(2256)) { - mes "[Gigantia]"; - mes "Hey, wait!"; - close; - } - end; -} - -nif_in,16,27,1 script Undead Chicken#nif 4_NFCOCK,{ - percentheal -5,0; - mes "[Undead Chicken]"; - mes "I lived a peaceful life as a normal chicken. But then came the day I was tragically killed and eaten by humans. Well... Heh heh~! Now it's my turn! *Cackles*"; - next; - mes "["+ strcharinfo(PC_NAME) +"]"; - mes "Ouch...!"; - mes "A chicken..."; - mes "It bit me!"; - next; - mes "[Undead Chicken]"; - mes "Ho ho~!"; - mes "I can talk AND feast"; - mes "on living humans!"; - mes "Being a zombie is great!"; - mes "*Cackles*"; - close; -} - -nif_in,16,30,4 script Undead Familiar#nif 4_NFBAT,{ - percentheal -5,0; - mes "[Vatoman]"; - mes "Oooh, how handy, a living"; - mes "human~! Fresh blood is"; - mes "always tasty...! I think I'll just"; - mes "take a liiittle sip."; - next; - mes "[" + strcharinfo(PC_NAME) + "]"; - mes "Ow! My vein!"; - mes "Did you just"; - mes "suck my blood?!"; - next; - mes "[Vatoman]"; - mes "Mwahahaha~"; - mes "Foolish mortal!"; - mes "Beware my powers!"; - close; -} - -nif_in,156,93,5 script Child#niflheim 4_F_NFLOSTGIRL,{ - mes "[Alakina Ann]"; - mes "Where...where am I...?"; - mes "I remember I was sleeping"; - mes "and when I woke up, I was here..."; - mes "Mommy, have you seen my mommy?"; - mes "I wanna go home...*Sob*"; - next; - switch(select("About the witch", "About the curse", "Cancel.")) { - case 1: - mes "[Alakina Ann]"; - mes "Witch...? I've never seen a witch, but I've read about them in books. I'm not sure if they exist or not, but it would be so horrifying if they did..."; - next; - mes "[Alakina Ann]"; - mes "Why is it so cold in here...?"; - mes "A-aren't you cold, or even scared? I wanna go home... It's warm over there. Could you help me get back... Please...? H-help me..."; - close; - case 2: - mes "[Alakina Ann]"; - mes "A c-curse...?"; - mes "My grandma says that there are lots of curses in the world. Some of them, you can tell it's a curse. But there are other curses that follow you throughout life..."; - next; - mes "[Alakina Ann]"; - mes "Grandma says curses can take other forms... Like if someone's always mad at you, and won't forgive you, you can see that as a curse too."; - next; - mes "[Alakina Ann]"; - mes "My grandma told me there's only one spell that can break a strong curse that you can't lift with Blessings..."; - next; - mes "[Alakina Ann]"; - mes "Klaatu..."; - mes "Verata....."; - mes "Ne...ni...umm...?"; - mes "What was the last part?"; - mes "I-I can't remember"; - mes "the last part of the spell!"; - next; - mes "[Alakina Ann]"; - mes "If you repeat the spell in that order, it will release you from someone's anger and hate. And if you do it near a bad spirit, they might get the curse instead."; - next; - mes "[Alakina Ann]"; - mes "Why are you asking me about these scary kind of things...? I just wanna go home..."; - close; - case 3: - mes "[Alakina Ann]"; - mes "It's so cold in here..."; - mes "I'm freezing..."; - mes "And I wanna go home and"; - mes "get away from this scary place..."; - next; - mes "[Alakina Ann]"; - mes "Please... help me."; - mes "Could you take me with you...?"; - close; - } -} - -niflheim,350,258,1 script Cursed Spirit#nif 4_NFWISP,{ - killmonster "niflheim","Cursed Spirit#nif::OnMyMobDead"; - mes "[Ashe Bruce]"; - mes "I sense you're cursed"; - mes "by a powerful spell..."; - mes "Hmm... It's clear what"; - mes "you must be up to...."; - next; - mes "[Ashe Bruce]"; - mes "You wish to get"; - mes "rid of your curse...."; - mes "By giving it to me!!"; - next; - mes "[Ashe Bruce]"; - mes "Just because I'm a cursed spirit, you adventurers think you can just dump your curses on me?!"; - emotion e_an; - next; - mes "[Ashe Bruce]"; - mes "I refuse to let"; - mes "you remain here....."; - mes "Leave now, or I will"; - mes "remove you by force...."; - next; - mes "[Ashe Bruce]"; - mes "....And..."; - mes "....Whatever you do..."; - mes "....Do NOT touch my books..."; - next; - switch(select("Touch the first book.", "Touch the second book.", "Touch the third book.", "Okay, I am leaving.")) { - case 1: - monster "niflheim",349,259,"Rideword",1478,1,"Cursed Spirit#nif::OnMyMobDead"; - mes "[Ashe Bruce]"; - mes "...!..."; - mes "How dare you touch my books"; - mes "when I specifically said"; - mes "'Don't touch my books!'"; - next; - mes "[Ashe Bruce]"; - mes "....!...Grrrrr!"; - mes "I shall tear you apart...!"; - mes "Be bound by an eternal curse...!"; - close; - case 2: - mes "[Ashe Bruce]"; - mes "...!..."; - mes "You dare touch my books?!"; - mes "Right after I said not"; - mes "to touch them...?!"; - mes "Foolish mortal!"; - mes "...BEGONE!"; - close2; - warp "niflheim",34,162; - end; - case 3: - mes "[Ashe Bruce]"; - mes "Muhahahaha...."; - mes "Stubborn mortal~!"; - mes "Fine! I will give you"; - mes "a fighting chance and let"; - mes "you cast a spell."; - next; - mes "[Ashe Bruce]"; - mes "But Blessings won't"; - mes "work with the curse"; - mes "that you have..."; - mes "And the spell to lift"; - mes "your curse has been"; - mes "lost to the ages~!"; - emotion e_gg; - next; - if (select("Clover", "Klaatu", "Klaytos") == 2) { - ++.@spell; - } - if (select("Verit", "Veritas", "Verata") == 3) { - ++.@spell; - } - if (select("Necktie", "Necklace", "Nero", "^FFFFFFNictu!!!^000000") == 4) { - ++.@spell; - } - if (.@spell == 3) { - switch(rand(1,5)) { - case 1: - if (morison_meat < 15) { - morrison_meat = 15; - mes "[Ashe Bruce]"; - mes "You... You broke the curse!"; - mes "How did you know that spell?!"; - next; - mes "[Ashe Bruce]"; - mes "I suppose you expect for me to"; - mes "melt in agony about now, don't"; - mes "you? Well... Sorry to disappoint"; - mes "you, mortal, but I can never die!"; - close; - } - mes "[Ashe Bruce]"; - mes "...! You cast the correct spell?!"; - mes "...!..."; - mes "But...You're still cursed..."; - mes "Umhaaaaaaaaaaaaaaaaa.....!"; - close; - case 2: - if (thai_head == 1) { - thai_head = 2; - mes "[Ashe Bruce]"; - mes "What's..."; - mes "this feeling?"; - next; - mes "[Ashe Bruce]"; - mes "No...!"; - mes "NOOOOOOOOOOOOOOOO!"; - next; - mes "[Ashe Bruce]"; - mes "Why did your spell have to work?!"; - close; - } - mes "[Ashe Bruce]"; - mes "You..."; - mes "cast the correct spell?!"; - next; - mes "[Ashe Bruce]"; - mes "Hoho~"; - mes "But you're still cursed..."; - close; - case 3: - if (thai_head == 8) { - thai_head = 7; - mes "[Ashe Bruce]"; - mes "You... You broke the curse!"; - mes "Who taught you that spell?!"; - next; - mes "[Ashe Bruce]"; - mes "I suppose you expect for me to"; - mes "melt in agony about now, don't"; - mes "you? Well... Sorry to disappoint"; - mes "you, mortal, but I can never die!"; - next; - mes "[Ashe Bruce]"; - mes "So long as I'm..."; - mes "still..."; - mes "cursed."; - next; - mes "[Ashe Bruce]"; - mes "NOOOOOOOOOO!"; - close; - } - mes "[Ashe Bruce]"; - mes "...! You cast the correct spell?!"; - mes "...!..."; - mes "But...You're still cursed..."; - mes "Umhaaaaaaaaaaaaaaaaa.....!"; - close; - case 4: - mes "[Ashe Bruce]"; - mes "...! You cast the correct spell?!"; - mes "...!..."; - mes "But...You're still cursed..."; - mes "Mwahahahaaaa.....!"; - close; - } - } - monster "niflheim",345,259,"Orc Skeleton",1462,1,"Cursed Spirit#nif::OnMyMobDead"; - monster "niflheim",347,261,"Orc Skeleton",1462,1,"Cursed Spirit#nif::OnMyMobDead"; - monster "niflheim",344,253,"Orc Skeleton",1462,1,"Cursed Spirit#nif::OnMyMobDead"; - monster "niflheim",346,251,"Orc Skeleton",1462,1,"Cursed Spirit#nif::OnMyMobDead"; - monster "niflheim",349,249,"Orc Skeleton",1462,1,"Cursed Spirit#nif::OnMyMobDead"; - monster "niflheim",350,260,"Orc Skeleton",1462,1,"Cursed Spirit#nif::OnMyMobDead"; - monster "niflheim",353,256,"Orc Skeleton",1462,1,"Cursed Spirit#nif::OnMyMobDead"; - mes "[Ashe Bruce]"; - mes "Muhahahahahaha!"; - mes "That's not the right spell!"; - mes "Now, death awaits you!"; - mes "You're eternally bound"; - mes "to the curse...!"; - close; - case 4: - mes "[Ashe Bruce]"; - mes "..."; - mes "....."; - next; - mes "[Ashe Bruce]"; - mes "Well then."; - mes "Try not to trip on"; - mes "your feet in your"; - mes "rush to leave."; - close; - } - -OnMyMobDead: - end; -} diff --git a/npc/cities/payon.txt b/npc/cities/payon.txt deleted file mode 100644 index 132ce7331..000000000 --- a/npc/cities/payon.txt +++ /dev/null @@ -1,1087 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2015 Hercules Dev Team -//= Copyright (C) Euphy -//= Copyright (C) Evera -//= Copyright (C) Silent -//= Copyright (C) Nexon -//= Copyright (C) Lupus -//= Copyright (C) L0ne_W0lf -//= Copyright (C) DracoRPG -//= Copyright (C) Darkchild -//= Copyright (C) Muad Dib -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Payon City -//================= Description =========================================== -//= Payon City Npcs -//================= Current Version ======================================= -//= 2.1.1 -//========================================================================= - -//== Payon ================================================= -payon,246,154,0 script Lady#payon 4_F_01,{ - mes "[Lady]"; - mes "A long time ago,"; - mes "when Payon was still"; - mes "developing, many of the"; - mes "villagers lived in poverty."; - next; - mes "[Lady]"; - mes "Many families had to struggle to survive, and often could not even afford to properly bury their dead. Some people threw their dead into the cave near the village."; - next; - mes "[Lady]"; - mes "So in that cave, it is said that there are many walking Zombies,"; - mes "the dead who cannot rest in peace and are unable to pass on to the next world."; - next; - mes "[Lady]"; - mes "The Zombies, upon sensing the warmth of a human, begin to assault them, but that doesn't mean these Undead hold a grudge against"; - mes "the living."; - next; - mes "[Lady]"; - mes "Their rotten bodies can't leave the cold, dark and damp cave, so it's instinctual for them to attack warmth which would speed up the decomposition of their bodies."; - next; - mes "[Lady]"; - mes "The Zombies in the Payon Cave"; - mes "may be spooky, but their story"; - mes "is also kind of tragic."; - close; -} - -payon,134,211,4 script Young Man#payon 1_M_ORIENT01,{ - mes "[Young Man]"; - mes "From your attire,"; - mes "I can see that you"; - mes "are a stranger here."; - mes "Welcome to Payon."; - next; - mes "[Young Man]"; - mes "You must be a well-experienced fighter, otherwise you'd never be able to arrive here after passing the steep, mountainous areas and dangerous creatures surrounding this city."; - next; - mes "[Young Man]"; - mes "I'm no expert at fighting, but someone once told me that sheer strength alone won't be able to win some battles."; - next; - mes "[Young Man]"; - mes "Sometimes, you may encounter creatures protected by a hard-shell that don't be damaged by physical attacks. Only psychic power, like Magic, can easily defeat such creatures."; - next; - mes "[Young Man]"; - mes "Of course, not everyone can study magic. The point is that you should keep different kinds of friends and comrades close to you, as you can't possibly handle every situation by yourself."; - close; -} - -payon,176,85,0 script Young Man#2payon 4_M_ORIENT01,{ - mes "[Young Man]"; - mes "I remember the story my dearly departed grandfather has told me."; - next; - mes "[Young Man]"; - mes "It's about this Amulet that possesses an Evil Power."; - mes "With it, you could awaken"; - mes "the Dead from the Grave."; - next; - mes "[Young Man]"; - mes "Well, I'm not sure if it's true or not. But, I wonder, what would happen if I used it to summon"; - mes "my grandfather from the other realm...."; - next; - mes "[?]"; - mes "^3299CCNever think"; - mes "of such a thing..."; - mes "My son.^000000"; - next; - mes "[Young Man]"; - mes "EEEEEEK-!"; - mes "What was that?!"; - mes "G-grandpa...?"; - next; - mes "..."; - next; - mes "..."; - mes "......"; - mes "[Young Man]"; - mes "..."; - mes "G-God...?"; - close; -} - -payon,158,246,3 script Guardsman#payon 4_M_PAY_SOLDIER,3,3,{ - end; - -OnTouch: - 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 once 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."; - nude; - close; -} - -payon,249,156,1 script Woman#payon 1_F_01,{ - mes "[Woman]"; - mes "Welcome to Payon."; - mes "You must have had"; - mes "a hard time getting"; - mes "through the Payon Forest."; - mes "How was your trip?"; - next; - mes "[Woman]"; - mes "We've been receiving less tourists because of the increasing numbers of monsters outside, so it's quieter nowadays."; - next; - mes "[Woman]"; - mes " To be honest, things are getting tough because of all those monsters. ^666666*Sigh...*^000000"; - next; - mes "[Woman]"; - if (Sex == SEX_MALE) - mes "Whoa~! I just noticed those arms of yours look pretty solid. You look pretty strong, guy. Just how many monsters have you killed?!"; - else - mes "Oooh! I didn't notice before, but you look pretty strong beneath all of that feminine charm."; - next; - mes "[Woman]"; - mes "Hey, I know of a good place for you to hunt. It just so happens that there's a cave in the middle of Payon."; - next; - mes "[Woman]"; - mes "If you're interested, just head North, pass the forest, and go towards the Northwest. You'll know you've arrived when you're in the place filled with the smell of stinky monsters."; - next; - switch(select("It sounds dangerous!", "I better prepare myself...!", "That's a nice dress you're wearing~")) { - case 1: - mes "[Woman]"; - mes "Oh come on, don't be a coward."; - mes "It's just a simple cave filled with normal monsters. It's quite safe. We've even established an Archer Village near that cave to prevent misfortunate incidents. Hohoohoho~ "; - break; - case 2: - mes "[Woman]"; - mes "Oh don't worry about any preparations. There's a Tool Dealer right in front of the cave, so you can purchase anything you need from my husban, er, that guy~"; - break; - case 3: - mes "[Woman]"; - mes "Oh hohohoho!"; - mes "So you've noticed?"; - mes "I hear this is the"; - mes "latest trend in Prontera"; - mes "these days."; - next; - mes "[Woman]"; - mes "Most of the women in this town don't know anything about fashion! My husband bought this for me as"; - mes "a present. He makes quite a lot of money, you know. Hohohoho~"; - break; - } - close; -} - -payon,246,158,5 script Woman#2payon 1_F_01,0,0,{ - mes "[Jim's Mother]"; - mes "Oh boy~"; - mes "There she goes again."; - mes "Without a doubt, that"; - mes "woman is the town gossip."; - next; - mes "[Jim's Mother]"; - mes "Please don't judge the rest"; - mes "of the people living in Payon by her behavior. She's the only loudmouth. I guess she's just too excited about what the fortune teller told her."; - next; - mes "[Jim's Mother]"; - if (Sex == SEX_MALE) { - mes "Ooh...!"; - mes "You've got"; - mes "such broad shoulders!"; - mes "Will you go out with me?"; - mes "I'll treat you to"; - mes "a nice dinner~"; - } - else { - mes "My, you're a pretty girl!"; - mes "I'm sure you're always busy"; - mes "beating the boys away with a stick..."; - mes "Or a well timed insult joke."; - } - next; - if (select("Fortune Teller...? ", "Well, see you later~") == 1) { - mes "[Jim's Mother]"; - mes "Oh yes..."; - mes "There's an extraordinary fortune teller in the Central Palace of Payon. The more Zeny you pay her, the better fortune you'll get!"; - next; - mes "[Jim's Mother]"; - mes "She told me"; - mes "I would meet"; - mes "a nice guy this month."; - mes "Hohohoho~ "; - close; - } - mes "[Jim's Mother]"; - mes "Mmmm...?"; - mes "You don't have"; - mes "any time to stay"; - mes "and chit-chat with me?"; - close; -} - -payon,210,110,1 script Drunkard#payon 2_M_PHARMACIST,{ - if (Class != Job_Archer) { - mes "[Drunkard]"; - mes "Hey..."; - mes "H-Hey...!"; - next; - mes "[Drunkard]"; - mes "I wonder why those"; - mes "stupid Archers even"; - mes "bother trying to aim!"; - mes "You're all weak!"; - mes "Weeeeak!"; - next; - mes "[Drunkard]"; - mes "Bwahahahaha!"; - mes "Buy me a drink?!"; - } else { - mes "[Drunkard]"; - mes "An Archer!"; - mes "Oh man, you guys!"; - mes "You guys are the best!"; - next; - mes "[Drunkard]"; - mes "Bwahahahaha!"; - mes "Buy me a drink?!"; - } - next; - switch(select("Alright, but only one drink.", "No thanks, pal.", "Oh my God! Hell no!")) { - case 1: - Zeny = (Zeny < 100) ? 0 : (Zeny - 100); - mes "[Drunkard]"; - mes "Thanks...!"; - mes "..Brother!"; - next; - mes "[Drunkard]"; - mes "Most people don't even wanna"; - mes "buy me drinks! Maybe cuz I used to fool around too much with the ladies back in my day!"; - next; - mes "[Drunkard]"; - mes "Though, the women I used to play with are grannies now! Hahahaha! One of them still primps herself with makeup and stuff! Can you believe that?!"; - next; - mes "[Drunkard]"; - mes "I'm like..."; - mes "Come on...!"; - mes "Some faces are"; - mes "beyond fixing!"; - mes "Oh? I made a funny!"; - mes "Bwahahahahahah!"; - next; - mes "[Drunkard]"; - mes "^666666*Gulp~ Gulp~*^000000"; - mes "Man, this is great!"; - mes "You the maaaaaaan~!"; - mes "Muhahahahaha!"; - break; - case 2: - mes "[Drunkard]"; - mes "Bah!"; - mes "Kids nowadays!"; - mes "Now respect for"; - mes "their elders! Fine!"; - mes "I'm not gonna beg you!"; - break; - case 3: - mes "[Drunkard]"; - mes "Fine...!"; - mes "Fine by me!"; - break; - } - close; -} - -payon,132,235,3 script Monster Scholar#02 4W_M_02,{ - mes "[Monster Scholar Vuicokk]"; - mes "Nice to meet you."; - mes "I am called Vuicokk."; - mes "I am a scholar in the Monster Research organization of the Rune Midgarts Kingdom. Do you have any questions about monsters?"; - next; - switch(select("Any news?", "Undead Monsters?", "Monster Research Organization?")) { - case 1: - mes "[Monster Scholar Vuicokk]"; - mes "Payon is located deep inside the forest where it can easily be attacked by hordes of monsters. Monsters also come from the dangerous cave located near town."; - next; - mes "[Monster Scholar Vuicokk]"; - mes "Since Undead monsters roam the Payon Cave, it has attracted the attention of the monster academic world. My job here is to analyze their characteristics."; - break; - case 2: - mes "[Monster Scholar Vuicokk]"; - mes "What is most remarkable of the Undead monsters in Payon is their origin Most of them used to be citizens of Payon!"; - next; - mes "[Monster Scholar Vuicokk]"; - mes "However, these souls are"; - mes "unable to rest in peace and still wander about as Undead bound"; - mes "to this world."; - next; - mes "[Monster Scholar Vuicokk]"; - mes "These monsters cannot be classified with other monsters that have mutated from living creatures, so our wise and benevolent ruler, King Tristram III, has taken a great interest in Payon's Undead."; - next; - mes "[Monster Scholar Vuicokk]"; - mes "After all, some of these"; - mes "Undead used to belong to"; - mes "the Rune-Midgarts Kingdom."; - next; - mes "[Monster Scholar Vuicokk]"; - mes "As his subjects,"; - mes "King Tristram III"; - mes "feels some responsbility"; - mes "to release their souls."; - next; - mes "[Monster Scholar Vuicokk]"; - mes "His Majesty has been supporting"; - mes "us in our search to discover how to eliminate all of the Undead in this world. We will try to accomplish this goal as soon as we"; - mes "possibly can."; - next; - mes "[Monster Scholar Vuicokk]"; - mes "For the safety of our people,"; - mes "for the sake of their bereaved families, and in accordance with King Tristram III's order, we must succeed!"; - break; - case 3: - mes "[Monster Scholar Vuicokk]"; - mes "As you may well know,"; - mes "monsters have been endlessly spawning in this world, and the threat of their attacks is grows greater every day."; - next; - mes "[Monster Scholar Vuicokk]"; - mes "In response to this,"; - mes " the Monster Research"; - mes "Organization has been formed."; - next; - mes "[Monster Scholar Vuicokk]"; - mes "Talented people around the world have joined forces in an effort to deduce the origin of monsters, and a way to eliminate them once and for all."; - next; - mes "[Monster Scholar Vuicokk]"; - mes "Of course, it's not"; - mes "as easy as you would may believe. Many have sacrificed their lives in the pursuit of this knowledge."; - next; - mes "[Monster Scholar Vuicokk]"; - mes "In our missions, the number of victims of monster attacks have been countless. Still, nothing can stop us. If our suffering can save humanity, so be it!"; - next; - mes "[Monster Scholar Vuicokk]"; - mes "^666666*Ahem*^000000 My apologies, I get too excited sometimes. But if you happen to meet other scholars such as myself, please treat them well. Our jobs are very difficult!"; - break; - } - close; -} - -//== Inside Payon ========================================== -payon_in01,180,7,2 script Waitress#payon 4_F_01,{ - mes "[Pub Lady]"; - mes "This place is always bustling with busy people. Little Novices come and go to become Archers, and everyone else is buying arrows while I have to stay here in this small shop."; - next; - mes "[Pub Lady]"; - mes "And I'm sick and tired of making this noodle soup. I have to shower all the time so I can get rid of the smell. And it's not so easy"; - mes "to get rid of."; - next; - mes "[Pub Lady]"; - mes "I feel so..."; - mes "Bored."; - mes "And lonely..."; - next; - mes "[Pub Lady]"; - if (Sex == SEX_MALE) - mes "Where I can find the right person, a hot and Sexy hunk who can take me away from here? Um, hey mister, are you listening?"; - else { - mes "Where I can find the right person, a cute, yet hard-bodied hunk who can take me away from here?"; - mes "Um, hey lady, are"; - mes "you listening?"; - } - next; - mes "[Pub Lady]"; - mes "The old fortune teller told me that I'd have great luck in the near future! But what's wrong with me? I'm just living day to day. Maybe I'm just dumb and wishy-washy."; - next; - mes "[Pub Lady]"; - mes "I'm so sorry,"; - mes "I've said too much."; - mes "Now I'm just acting stupid."; - mes "I'm sorry you had to listen"; - mes "to all that."; - next; - mes "[Pub Lady]"; - mes "So..."; - mes "How may I help you? "; - next; - switch(select("Have you ever heard of Zombies?", "Fortune Teller...?", "I needs some booze.")) { - case 1: - mes "[Pub Lady]"; - mes "Of course I've"; - mes "heard of Zombies!"; - mes "This is Payon, after all."; - mes "Zombies are the walking"; - mes "Undead, and you can easily"; - mes "find them around here."; - next; - mes "[Pub Lady]"; - mes "I hear that they fear holiness, so Archers prefer to use arrow made out of silver, a holy metal, against them."; - next; - mes "[Pub Lady]"; - mes "Legend says that the chief of this town used silver arrows against Zombies that used to be his brethren in order to release their souls so that they may rest in peace."; - next; - mes "[Pub Lady]"; - mes "We believe that exorcising"; - mes "Zombies in this way will lead them peacefully to the afterlife. Their souls no longer need to anguish."; - next; - mes "[Pub Lady]"; - mes "You might not share our beliefs, but my grandfather was one of the Undead. I appreciate that the chief was able to free him from being bound to the world of the living."; - break; - case 2: - mes "[Pub Lady]"; - mes "Oh! Our fortune teller is a really extraordinary person. Well, she doesn't hang around here as"; - mes "much as she used to do. "; - next; - mes "[Pub Lady]"; - mes "She used to stay here to tell fortunes for our patrons, but ever since the chief recognized her talents, she now stays in the Central Palace. So you'd better go there if you want to see her."; - break; - case 3: - mes "[Pub Lady]"; - mes "You..."; - mes "needs some"; - mes "booze, eh?"; - mes "Don't we all?"; - next; - mes "[Pub Lady]"; - mes "But I'm so sorry, we sold out."; - mes "And we can't afford to prepare alcohol anymore because of the hostile creatures out there. But please come again later. I'm sorry for the inconvenience."; - break; - } - next; - mes "[Pub Lady]"; - mes "Have a nice"; - mes "day, dearie."; - next; - mes "[Pub Lady]"; - mes "^666666*Sob*^000000"; - mes "When will I be romanced"; - mes "by my perfectly formed,"; - mes "yet well read man?"; - close; -} - -payon_in03,96,116,3 script Chief Guardsman#payon 4_M_PAY_SOLDIER,3,3,{ - end; - -OnTouch: - mes "[Chief Guardsman]"; - mes "What brings"; - mes "you here? "; - next; - mes "[Chief Guardsman]"; - mes "I can see that you are not one of the Payon locals. I would just like to remind you to conduct yourself in an orderly manner. Remember,"; - mes "you are a guest here."; - next; - mes "[Chief Guardsman]"; - mes "In the interest of protecting the public peace, I will disarm your equipment. Thank you for your cooperation."; - nude; - close; -} - -payon_in01,66,64,5 script Archer Zakk#payon 4_M_ORIENT01,{ - mes "[Archer Zakk]"; - mes "I'm kind of worried"; - mes "about one of my pals."; - next; - mes "[Archer Zakk]"; - mes "Even though he's an expert at archery, no one likes his motor mouth. Even our chief is getting fed up with him!"; - next; - switch(select("Your friend?", "Payon has a chief?", " Motor... Mouth?")) { - case 1: - mes "[Archer Zakk]"; - mes "Ah, right. This buddy of mine is the number one archer in Payon."; - mes "He teaches newbie Archers around the Archer Village. It might be a good idea to talk to him at least once."; - break; - case 2: - mes "[Archer Zakk]"; - mes "Our chief lives in the Central Palace. I guess you can say that he's the spiritual guide of Payon."; - next; - mes "[Archer Zakk]"; - mes "He used to menace the monsters in Payon Forest, carrying his Gakkung. I remember watching him fight when I was just a little kid."; - next; - mes "[Archer Zakk]"; - mes "But now he"; - mes "seems old and weak."; - mes "Still, his eyes are as sharp as they used to be during his days"; - mes "of battle, where he'd never miss"; - mes "a target."; - next; - mes "[Archer Zakk]"; - mes "I admire our chief"; - mes "from the bottom"; - mes "of my heart. "; - break; - case 3: - mes "[Archer Zakk]"; - mes "You don't know"; - mes "what a motormouth is...?"; - next; - mes "[Archer Zakk]"; - mes "Motormouth"; - mes "Noun. Some fool who chatters"; - mes "way too much about stuff that doesn't really matter and doesn't know when to stop."; - next; - mes "[Archer Zakk]"; - mes "But yeah, my pal is not only"; - mes "a legend at archery, he's also well known for how long he's let that mouth of his run."; - next; - mes "[Archer Zakk]"; - mes "Anyway, my pal Wolt doesn't have"; - mes "a place of his own, so he stays at the Inn. Why don't you go and meet him? He's actually an okay guy if you can stand all the chatter."; - break; - } - close; -} - -payon_in01,47,59,2 script Archer Wolt#payon 4_M_ORIENT01,{ - mes "[Archer Wolt]"; - mes "Archers should"; - mes "practice as much"; - mes "as they can. Otherwise,"; - mes "they'll never become experts."; - next; - mes "[Archer Wolt]"; - mes "Oh, hey there!"; - mes "I'm Wolt the Archer,"; - mes "but, erm, you can"; - mes "just call me 'Wolt.'"; - next; - mes "[Archer Wolt]"; - mes "I know this is a bit of an unexpected question, but do"; - mes "you tend to spend a lot of your"; - mes "time in idleness?"; - next; - switch(select("Oh, hell no.", "Yeah. I guess...")) { - case 1: - mes "[Archer Wolt]"; - mes "Ooh. That's good. In fact, that's great! If only all of us Archers had that kind of attitude. If you have time to just sit around, then you have the time to go out and practice!"; - next; - mes "[Archer Wolt]"; - mes "Yeah..."; - mes "As Archers, we kind of look"; - mes "down on people who slack off"; - mes "on the training."; - next; - mes "[Archer Wolt]"; - mes "If you don't work hard, then you'll end up being a horrible Archer. No one can depend on your aim!"; - mes "I mean, nobody!"; - next; - mes "[Archer Wolt]"; - mes "Did you ask how we go about"; - mes "our training? Well, the Archers of Payon don't have much time to just play around with their Bows."; - mes "I guess we go out and"; - mes "engage in actual fighting."; - next; - mes "[Archer Wolt]"; - mes "So we just carry out Bows wherever we go, and spend all day looking for monsters to kill. Oh, and after we find some monsters, we"; - mes "kill them of course. That almost goes without saying."; - next; - if (select("I guess you'd need a good Bow. ", "You call that 'practice?!'") == 1) { - mes "[Archer Wolt]"; - mes "That's right!"; - mes "An Archer depends"; - mes "on the strength"; - mes "of his Bow!"; - next; - mes "[Archer Wolt]"; - mes "Bows constructed in Payon"; - mes "are the greatest on this continent! They are light and stout, made out of high quality tree Trunks from Payon Forest!"; - next; - mes "[Archer Wolt]"; - mes "The quality of the wood often determines the quality of the Bow. My lil' sweety was made out of a walnut tree, and is strong enough to bear thousands of pounds"; - mes "of force."; - next; - mes "[Arche Wolt]"; - mes "Oh, oh! And my Bow's stylish as well. It comes in a sophisticated ebony color, and I just look so cool and heroic while I'm killing monsters~!"; - next; - mes "[Archer Wolt]"; - mes "Oh, and the trees in Payon Forest are famous for the quality of their wood. But then, more and more of them have been turning into monsters. Is this the work of evil forces?!"; - next; - mes "[Archer Wolt]"; - mes "It's a pity because the tree monsters used to be beautiful, majestic trees. But then it's okay if we kill them, so that we can make Bows out of their wood."; - next; - mes "[Archer Wolt]"; - mes "And then we use these Bows to kill even more tree monsters... And then make more wood! Mwahahahaha! It's an endless cycle!"; - next; - select("^666666*Ahem!*^000000 Speaking of endless..."); - mes "[Archer Wolt]"; - mes "Yeah..."; - mes "You're right."; - mes "Monsters are everywhere,"; - mes "can you believe it?"; - next; - mes "[Archer Wolt]"; - mes "Do you understand"; - mes "why the Archer Village"; - mes "was built where it is?"; - next; - mes "[Archer Wolt]"; - mes "To the West, near Archer Village, you'll see Payon Cave. Inside the cave, an enormous amount of monster endlessly spawn without showing any sign of slowing down."; - next; - mes "[Archer Wolt]"; - mes "We Archers are here to protect our territory against them, as ordered by our honorable chief!"; - next; - switch(select("Cave, you say?", "Chief...? ", "Oh man, I hate this town!")) { - case 1: - mes "[Archer Wolt]"; - mes "If you head North"; - mes "of town, you'll find"; - mes "Payon Cave."; - next; - mes "[Archer Wolt]"; - mes "Once inside, you'll encounter all sorts lots of ugly monsters. Like those nasty looking Bats, and"; - mes "those Zombies..."; - next; - mes "[Archer Wolt]"; - mes "If we let them out of that place, they'd run all over Payon! So, we gotta get in there and clean that place up of monsters."; - next; - mes "[Archer Wolt]"; - mes "But since these monsters endlessly respawn, sometimes I feel like we're wasting our time and energy for nothing..."; - next; - mes "[Archer Wolt]"; - mes "Whoa..."; - mes "Alright, I think yet my mouth run"; - mes "a marathon again. I better let you go. There's lots of training to do, and plenty of monsters to kill!"; - break; - case 2: - mes "[Archer Wolt]"; - mes "Our chief? Ah, he's such a swell guy. Then again, he's always scolds me for talking too much."; - next; - mes "[Archer Wolt]"; - mes "He always working to make sure"; - mes "that Payon is safe from harm. Lately, I've been worried since he hasn't been coming out the Palace lately. That might be a bad sign."; - next; - mes "[Archer Wolt]"; - mes "A bad sign of what, I'm not really sure. There could be problems with Payon, or maybe he's got something he needs to handle on his own. Anyway, there's always guards in his room for some reason."; - next; - mes "[Archer Wolt]"; - mes "Heh heh heh~"; - mes "I'll get in trouble if he knows"; - mes "I told an outsider know too much about his affairs. Oh well! It's too late. I already told you! There's no use regretting it!"; - next; - mes "[Archer Wolt]"; - mes "But..."; - mes "It's not too late for me to just shut my mouth. Keep it closed. Shutting up now. Quiet as a mouse. Seeya later~!"; - break; - } - close; - } - mes "[Archer Wolt]"; - mes "Hmm...?"; - mes "And you don't?"; - mes "What better practice"; - mes "than the real, honest"; - mes "to goodness thing?"; - next; - mes "[Archer Wolt]"; - mes "Though, you may have a point"; - mes "there. I mean, you should be able to practice without having to suffer serious consequences."; - mes "You know, like death."; - next; - mes "[Archer Wolt]"; - mes "But we've gotta make do"; - mes "with what we've got!"; - mes "An Archer's life is"; - mes "endless training!"; - mes "Endless practice!"; - next; - mes "[Archer Wolt]"; - mes "Hm...?"; - mes "Are you tired of me repeating the same thing over and over again?"; - mes "Oh, just bear with me. Think of it as practicing your patience~"; - break; - case 2: - mes "[Archer Wolt]"; - mes "Eh..."; - mes "I guess it's important"; - mes "to set aside time to rest."; - next; - mes "[Archer Wolt]"; - mes "But it's also a good idea to set aside time for practicing and training, and practicing and training!"; - next; - mes "[Archer Wolt]"; - mes "And it's a very bad idea to rest when you should be alert, or well, when you're supposed to be doing something else."; - next; - mes "[Archer Wolt]"; - mes "That reminds me of the time"; - mes "I set fire to my house during the holidays. It was an accident, of course, but boy, were my folks angry!"; - next; - mes "[Archer Wolt]"; - mes "Hahahaha~"; - mes "It all started when I decided to take a bath. Here, in Payon, we use the old style baths, so we need to make a fire to heat the water. Cold baths are just so uncomfortable."; - next; - mes "[Archer Wolt]"; - mes "But nice, warm baths are veeeery comfortable. That was probably the best bath I had in my life! It was so comfortable, I fell asleep."; - next; - mes "[Archer Wolt]"; - mes "But while I was sleeping,"; - mes "I guess I didn't notice the fire reach the floor, walls and ceiling! Luckily, I was in a tub full of water, so I was okay."; - next; - mes "[Archer Wolt]"; - mes "I would've gotten help if it weren't for the fact that the fire had burned my clothes while I was napping. So, of course, I couldn't just run around town in the nude."; - next; - mes "[Archer Wolt]"; - mes "So..."; - mes "I just sat in the water for about an hour, completely naked, and yelling 'Help me,' until someone could hear me."; - next; - mes "[Archer Wolt]"; - mes "But, it turned out that no one could hear me. Luckily, our roof caved in and totally demolished our walls so that my screams could finally reach passerby. And it was in that way that I survived."; - next; - switch(select("Um, what's the point of that story?", "I guess I better not get lazy then. ", "Blah blah blah. See ya. ")) { - case 1: - mes "[Archer Wolt]"; - mes "Oh..."; - mes "Umm..."; - mes "You mean, like,"; - mes "the moral of the story?"; - next; - mes "[Archer Wolt]"; - mes "Resting during the right times is perfectly fine. Just don't go and take a break when you shouldn't. That kind of behavior would make anyone in our town angry!"; - next; - mes "[Archer Wolt]"; - mes "Our chief is especially annoyed by that kind of irresponsible attitude. I guess, around here, only the town drunkard subscribes to that kind of policy."; - next; - switch(select("Chief?", "Town Drunkard? ", "Man, you talk too much!")) { - case 1: - mes "[Archer Wolt]"; - mes "Our chief? Ah, he's such a swell guy. Then again, he's always scolds me for talking too much."; - next; - mes "[Archer Wolt]"; - mes "He always working to make sure"; - mes "that Payon is safe from harm. Lately, I've been worried since he hasn't been coming out the Palace lately. That might be a bad sign..."; - next; - mes "[Archer Wolt]"; - mes "A bad sign of what, I'm not really sure. There could be problems with Payon, or maybe he's got something he needs to handle on his own. Anyway, there's always guards in his room for some reason."; - next; - mes "[Archer Wolt]"; - mes "Heh heh heh~"; - mes "I'll get in trouble if he knows"; - mes "I told an outsider know too much about his affairs. Oh well! It's too late. I already told you! There's no use regretting it!"; - next; - mes "[Archer Wolt]"; - mes "But..."; - mes "It's not too late for me to just shut my mouth. Complete silence. I'm not even opening my mouth. Starting right about... Now!"; - mes "Seeya later~!"; - break; - case 2: - mes "[Archer Wolt]"; - mes "You know..."; - mes "The guy in the pub."; - mes "Loud, and obnoxious"; - mes "and annoying to liste--"; - next; - mes "[Archer Wolt]"; - mes "Hmm...?"; - mes "What's that look for?"; - mes "Anyway, when I have"; - mes "some spare cash, I try"; - mes "to buy him a drink."; - next; - mes "[Archer Wolt]"; - mes "Still..."; - mes "It's not a good"; - mes "idea to drink so much."; - mes "Or as much as he does..."; - break; - case 3: - mes "[Archer Wolt]"; - mes "...!"; - next; - mes "[Archer Wolt]"; - mes "..."; - mes "I..."; - mes "B-but...!"; - break; - } - break; - case 2: - mes "[Archer Wolt]"; - mes "Oh good~!"; - mes "I guess you got"; - mes "the point of my story!"; - next; - mes "[Archer Wolt]"; - mes "We, as Archers, put a lot of importance on training and practice, so we kind of look"; - mes "down on people who aren't"; - mes "diligent at all."; - next; - mes "[Archer Wolt]"; - mes "Still..."; - mes "I have to admit that, at heart,"; - mes "I'm a pretty lazy guy. I guess it's pretty amazing that someone like"; - mes "me can even be an Archer!"; - next; - mes "[Archer Wolt]"; - mes "In any case,"; - mes "whatever you do"; - mes "in life, do it"; - mes "with passion!"; - break; - case 3: - break; - } - } - close; -} - -payon_in03,99,190,4 script Chief#payon 1_M_PAY_ELDER,2,2,{ - end; - -OnTouch: - if (BaseLevel < 30) { - mes "[Guard]"; - mes "Hey..."; - mes "Hey...!"; - mes "Show your respect"; - mes "to our chief!"; - close; - } - if (BaseLevel > 30) { - .@oldman_random = rand(1,2); - if (.@oldman_random == 1) { - mes "[Guard]"; - mes "Hey..."; - mes "Hey...!"; - mes "Show your respect"; - mes "to our chief!"; - next; - mes "[Guard]"; - mes "Heeeey!"; - mes "I said... "; - next; - mes "[Chief]"; - mes "It's fine, it's fine."; - mes "It's been a long time"; - mes "since I've spoken to"; - mes "such young people."; - next; - } - switch(select("Please tell me about Payon.", "Where are the guards from?", "Please tell me about the cave. ", "What does an Archer do?", "What does a Hunter do?")) { - case 1: - mes "[Chief]"; - mes "Payon is the city of highlanders. As long as our history can relate, our city has been self-sufficient."; - next; - mes "[Chief]"; - mes "Although our ancestors did not enjoy the benefits of cultural exchange with the Rune-Midgarts Kingdom as we do today, they knew how to make a living without"; - mes "any help."; - next; - mes "[Chief]"; - mes "Payon has developed its own cultures and ways. We've invented our own means to protect ourselves against the elements, and Payon men and women train as Archers and Hunters to defend themselves."; - next; - mes "[Chief]"; - mes "I've heard of weak, cowardly"; - mes "young people who fear the fields or dungeons filled with monsters. But to us, battle is a way of life."; - next; - mes "[Chief]"; - mes "That is why his Majesty, King Tristram III wishes for us to train young people how to effectively fight against evil creatures."; - break; - case 2: - mes "[Chief]"; - mes "Even since I was young,"; - mes "Prontera has sent civil"; - mes "servants and envoys to Payon."; - next; - mes "[Chief]"; - mes "Royal troops, Kafra Ladies, Guards... At first, there was conflict brought about by differences in our customs"; - mes "and cultures."; - next; - mes "[Chief]"; - mes "However, as time passed,"; - mes "we've been able to resolve such petty differences. I cannot deny that they've helped us speedily develop our trade with foreign nations."; - next; - mes "[Chief]"; - mes "Now, people who used to be outsiders are now bonifide Payon citizens. When I was young, I would never imagined such a thing possible. Hahahaha~!"; - next; - mes "[Chief]"; - mes "It pleases me to see and meet with them. Even though have come from other places, they have a love for Payon that is as sincere as my own."; - break; - case 3: - mes "[Chief]"; - mes "Ah..."; - mes "I used to go to the cave"; - mes "to the North sometimes. But it"; - mes "is harder now than it was then."; - next; - mes "[Chief]"; - mes "Evil creatures that I've never seen before endlessly respawn in that place. The monsters in Payon Cave today are different than the ones we used to fight with."; - next; - mes "[Chief]"; - mes "Have you ever happened to see"; - mes "the Zombies...? Some of them are warriors who entered the cave to protect this village, but never came back."; - next; - mes "[Chief]"; - mes "Although they are a threat, some of those Undead are also victims of that cave. I'm too old to endure that kind of pain..."; - next; - mes "[Chief]"; - mes "I must do anything I can to stop the Undead, and release their souls from eternal anguish."; - break; - case 4: - mes "[Chief]"; - mes "Ah, it is fortunate that archery is a specialty here in Payon. Because of the surrounding forest, we have an abundant supply of wood to create Bows."; - next; - mes "[Chief]"; - mes "The forest also is a good training place for Archers to learn how to use their environment to impede the advance of their enemies while attacking from a safe distance."; - next; - mes "[Chief]"; - mes "The forest can also be convenient in unexpected ways. When I was young, I ran out of arrows while fighting against monsters in the woods, but arrows dropped by other monsters saved my life! Mwahah!"; - break; - case 5: - mes "[Chief]"; - mes "As foreign cultures were introduced to Payon, changes have been brought about to our battle style."; - next; - mes "[Chief]"; - mes "Technology, especially that of explosives, enabled new methods"; - mes "of battle. We were no longer limited to the use of just bows and arrows."; - next; - mes "[Chief]"; - mes "Trapping skills, which make"; - mes "hunting monsters much easier, were developed enable here in Payon. Experts in the new skills were dubbed 'Hunters' by our previous Chief."; - next; - mes "[Chief]"; - mes "Although highly effective, trapping is a really dangerous skill if not used properly. That's why we do not approve of the inexperienced becoming Hunters."; - next; - mes "[Chief]"; - mes "However, we welcome people"; - mes "who have proven to be capable to take the challange of the Hunter class."; - break; - } - next; - mes "[Chief]"; - mes "So tired..."; - mes "I'd better rest."; - mes "Please, take care"; - mes "of yourself."; - close; - - //This actually never happens on iRO - //if (.@oldman_random == 2) { - // mes "[Guard]"; - // mes "The Chief is"; - // mes "taking a rest."; - // mes "Would you mind"; - // mes "coming back later?"; - //} - } - end; -} - -payon_in03,102,185,5 script Guard#payon 4_M_PAY_SOLDIER,{ - if (BaseLevel < 30) { - mes "[Guard]"; - mes "Hey...!"; - mes "You're not"; - mes "allowed here!"; - mes "Go back outside!"; - close; - } - if (BaseLevel > 30) { - mes "[Guard]"; - mes "I'm sorry,"; - mes "but you're"; - mes "not allowed here."; - mes "Please leave."; - close; - } - end; -} - -//== Payon Archer Village ================================== -pay_arche,77,131,2 script Archer Joe#payon 4_M_ORIENT01,{ - mes "[Archer Joe]"; - mes "Payon!"; - mes "Such a wonderful"; - mes "place! Superb Bows"; - mes "and skillful Archers!"; - next; - mes "[Archer Joe]"; - mes "Hey you~!"; - mes "Have you heard"; - mes "of famous Payon?"; - next; - switch(select("Yeah, of course~! ", "Pay...on?", "...")) { - case 1: - mes "[Archer Joe]"; - mes "Oh! You the man!"; - mes "You know the Archers of Payon!"; - mes "We never miss our target! Even from a distance, the hearts of our foes are unsafe!"; - next; - if (select("So, you like this place, huh? ", "Hahahaha~") == 1) { - mes "[Archer Joe]"; - mes "Yes! I love this place!"; - mes "I love this city so much,"; - mes "I've even been doing research on it! If there's anything you wanna know about Payon, please ask me!"; - next; - switch(select("The people wear unique clothing here.", "What's the building in the middle of town?", "Who's that guy drinking over there? ", "Talk to you later.")) { - case 1: - mes "[Archer Joe]"; - mes "Yes, I agree."; - mes "You must know this place used to be isolated because of the thick forests and the mountainous area."; - next; - mes "[Archer Joe]"; - mes "Because of that, the Payon developed a culture of its own, which is quite different than that of the rest of Rune-Midgard."; - next; - mes "[Archer Joe]"; - mes "This garment is traditional Payon clothing! Why don't you try wearing one? It's very comfortable~"; - break; - case 2: - mes "[Archer Joe]"; - mes "You mean the Central Palace? Strangers aren't allowed to enter that place. People say the royal family and their friends from outside gather there."; - next; - mes "[Archer Joe]"; - mes "I'd like to go there sometime, and see what it's like on the inside!"; - break; - case 3: - mes "[Archer Joe]"; - mes "Oh! That guy's notorious!"; - mes "Whatever you do, don't treat"; - mes "him to any drinks!"; - mes "You'll regret it!"; - break; - case 4: - mes "[Archer Joe]"; - mes "Okay!"; - mes "See ya!"; - mes "Catch you later!"; - break; - } - } - close; - - case 2: - mes "[Archer Joe]"; - mes "What a shame..."; - mes "How have you not"; - mes "heard of the Payon Archers?"; - next; - mes "[Archer Joe]"; - mes "Well, when you "; - mes "learn more about us,"; - mes "let's talk again and I can tell you why the Payon Archers are"; - mes "so great!"; - break; - case 3: - mes "[Archer Joe]"; - mes "Why are"; - mes "you so quiet?"; - mes "You're not shy, are you?"; - mes "Come on, there's no reason"; - mes "to be bashful around me~"; - break; - } - close; -} diff --git a/npc/cities/prontera.txt b/npc/cities/prontera.txt deleted file mode 100644 index bbe6716e7..000000000 --- a/npc/cities/prontera.txt +++ /dev/null @@ -1,772 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2015 Hercules Dev Team -//= Copyright (C) L0ne_W0lf -//= Copyright (C) Silent -//= Copyright (C) MasterOfMuppets -//= Copyright (C) massdriller -//= Copyright (C) Lupus -//= Copyright (C) kobra_k88 -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Prontera Town -//================= Description =========================================== -//= NPCs in Prontera -//================= Current Version ======================================= -//= 2.1 -//========================================================================= - -//== Prontera ============================================== -prontera,160,330,4 script Guard#pront::prtguard 8W_SOLDIER,{ - mes "[Prontera Guard]"; - mes "Welcome to Prontera."; - close; -} -prontera,223,99,1 duplicate(prtguard) Guard#2pront 8W_SOLDIER -prontera,229,104,5 duplicate(prtguard) Guard#3pront 8W_SOLDIER -prontera,47,339,5 duplicate(prtguard) Guard#4pront 8W_SOLDIER - -prontera,101,288,3 script Shuger#pront 4W_M_02,{ - mes "[Shuger]"; - mes "Outside the safety of the city, there is a pink beast known as ^000077Poring^000000."; - next; - mes "[Shuger]"; - mes "Though it's cute in appearance and does not actively harm people, Poring is known to absorb items that are on the ground into its own body."; - next; - mes "[Shuger]"; - mes "So if there's something on the ground that you want to pick up, be careful lest it be consumed by a Poring. Then again... Porings are pretty weak..."; - next; - mes "[Shuger]"; - mes "The green colored ^000077Poporing^000000 is tougher than Poring. Newbies generally make the mistake of attacking it without being aware of its power... So be careful!"; - close; -} - -prontera,54,240,6 script Tono#pront 4W_M_01,{ - mes "[Tono]"; - mes "Did you know?"; - next; - mes "[Tono]"; - mes "The larva of Creamy is Fabre. So, those green little wormy things are actually the babies of those pinkish, purply butterfly things you see around."; - next; - mes "[Tono]"; - mes "But before Fabres can become Creamys, they go into a pupa stage. When that happens, they turn into these dark purple cocoons we call Pupa. Simple, huh?"; - next; - mes "[Tono]"; - mes "There's another monster that goes through a really big change... Pickys."; - next; - mes "[Tono]"; - mes "Pickys are so cute when they're young, but when they grow up, they turn into those big, gawky looking Peco Pecos. Talk about awkward puberty."; - close; -} - -prontera,106,116,6 script Merideth#pront 4_F_02,{ - mes "[Merideth]"; - mes "The weather was nice on my day off so my family and I went for a picnic. We chose to go to a slightly secluded area where I saw something really interesting..."; - next; - mes "[Merideth]"; - mes "It was a large group of Giant Hornets! What was even weirder was that they were all controlled by this one Queen Bee, following her every command."; - next; - mes "[Merideth]"; - mes "They might just be bugs, but I think they've got the right idea. Men really ought to take commands from us women... We do things right!"; - close; -} - -prontera,160,133,2 script YuPi#pront 8_F,{ - mes "[YuPi]"; - mes "Although many monsters may look the same, be careful! There are variations among monsters that have the same basic form."; - next; - mes "[YuPi]"; - mes "One monster, that looks just like a peaceful and weak one that you've already encountered, may actually be wild and ferocious!"; - next; - mes "[YuPi]"; - mes "You can tell these kinds of monsters apart by their body color. Wilder and more powerful monsters have more dangerous looking colors."; - close; -} - -prontera,149,202,2 script YuNa#pront 8_F_GIRL,{ - mes "[YuNa]"; - mes "Behold..."; - mes "Mighty Odin!"; - mes "God of wisdom!"; - mes "God of war!"; - next; - mes "[YuNa]"; - mes "Here, in Rune-Midgard, we serve Odin, the fearsome god who sacrificed one of his eyes in order to acquire wisdom."; - next; - mes "[YuNa]"; - mes "The statue you see behind of me is a sculpture of mighty Odin. But, it's a shame because it's such a bad likeness."; - next; - mes "[YuNa]"; - mes "I mean, this statue is totally different from our image of Odin. I guess the sculptor took too many artistic liberties."; - next; - mes "[YuNa]"; - mes "I bet the first time you saw this statue, you thought, '^3355FFOh, what a nice muscle man on a horse^000000.'"; - next; - mes "[YuNA]"; - mes "But this statue is obviously not muscular enough, not godly enough to fairly represent a god! Maybe if he had a halo?"; - close; -} - -prontera,216,70,2 script Strife#pront 1_M_02,{ - if (Class == Job_Novice) { - if (event_prt_nov_dreamtalk == 0) { - mes "[Strife]"; - mes "Whew!"; - mes "Man oh man..."; - mes "I'm gonna be such"; - mes "an awesome Knight!"; - next; - mes "[Strife]"; - mes "I know, I know..."; - mes "First, I gotta be a Swordie. But if I keep practicing, I can become an awesome Swordie. And then after that..."; - next; - mes "[Strife]"; - mes "I'll be the most"; - mes "awesomest Knight around!"; - mes "It's... It's my most precious dream."; - next; - mes "[Strife]"; - mes "MAGNUM BREAK!"; - next; - if (select("I wanna be strong too!", "Um... Do you best.") == 1) { - event_prt_nov_dreamtalk = 1; - mes "[Strife]"; - mes "Wow...!"; - mes "That's so awesome!"; - mes "We both share the"; - mes "same dream!"; - next; - mes "[Strife]"; - mes "Hey, if you wanna become a Swordie, you gotta go to Izlude. There, you can go ahead and take the Swordman job test. The first time, I, um, failed miserably. But I won't fail again!"; - next; - mes "[Strife]"; - mes "Training! Training! Gotta keep training! You need to be strong too! Once we both get stronger, we'll meet again!"; - close; - } - mes "[Strife]"; - mes "Heh heh! I will for sure! 'Strife, the courageous Knight.' It sounds cool, doesn't it?"; - close; - } - else { - mes "[Strife]"; - mes "Fight...!"; - mes "Fight Fight FIGHT!"; - close; - } - } - else if (Class != Job_Novice) { - if (event_prt_nov_dreamtalk == 1) { - mes "[Strife]"; - mes "Hey...!"; - mes "You look different now. *Gasp* You've gotten... ^993333stronger^000000. Wow, that's so coooool!"; - next; - mes "[Strife]"; - mes "I'm so jealous!"; - mes "I guess that means"; - mes "that now, I gotta"; - mes "train even harder!"; - next; - event_prt_nov_dreamtalk = 2; - getitem Hood,1; - mes "[Strife]"; - mes "This is, well, for you to help you get even stronger. I guess I want to thank you for being such a good example."; - close; - } - else if (event_prt_nov_dreamtalk == 2) { - mes "[Strife]"; - mes "Fight! Fight!"; - close; - } - mes "[Strife]"; - mes "Whew!"; - mes "Man oh man..."; - mes "I'm gonna be such"; - mes "an awesome Knight!"; - next; - mes "[Strife]"; - mes "I know, I know..."; - mes "First, I gotta be a Swordie. But if I keep practicing, I can become an awesome Swordie. And then after that..."; - next; - mes "[Strife]"; - mes "I'll be the most"; - mes "awesomest Knight around!"; - mes "It's... It's my most precious dream."; - next; - if (select("Do your best.", "Quit it, kid.") == 1) { - mes "[Strife]"; - mes "Yes, yes of course! Someday, I'll even be as strong as you! When that day comes, I hope that we can train together!"; - close; - } - mes "[Strife]"; - mes "Wha--?"; - mes "Fine! But I'm gonna keep on training, and we'll see who gets the last laugh!"; - close; - } -} - -prontera,78,150,3 script Dairenne#pront 4_F_01,{ - mes "[Towngirl Dairenne]"; - mes "Ahh..."; - mes "The streets are too crowded these days. *Cough Cough* Look at all this dust, not everything about living in the capital city is good. Anyway, may I help you?"; - next; - if (select("Talk", "Cancel") == 1) { - mes "[Towngirl Dairenne]"; - mes "I wonder if you are interested in parties or dresses. Hehehe. These days, the hot topic is definitely the colorful, extravagent, magnificent dresses you can wear."; - next; - mes "[Towngirl Dairenne]"; - mes "To get such dazzling colors, I heard you have to use a dye that you can only get in Morroc. But I also heard that the price is beyond imagination."; - next; - mes "[Towngirl Dairenne]"; - mes "Aahhhh~ I wish I could wear such a dress. Even if it's just once..."; - close; - } - mes "[Towngirl Dairenne]"; - mes "Eh~? Why talk to me in the first place? What a strange person."; - close; -} - -//== Inside Prontera ======================================= -/* -//This NPC has been disabled officially. -prt_in,178,92,0 script Curator of Library#pront 1_M_LIBRARYMASTER,{ - mes "[Curator Guiss]"; - mes "Here, in the Western branch of the Prontera Library, "; - mes "we keep records of monsters found in various dungeons scattered around the Rune-Midgarts Kingdom."; - next; - mes "[Curator Guiss]"; - mes "You'll find that these Monster Encyclopedias are of great convenience,"; - mes "as creatures are organized by the dungeon in which they reside."; - next; - mes "[Curator Guiss]"; - mes "I must say, this is a most useful reference for you adventurers. When dealing with beasts, it's good to be informed and understand what you're up against."; - mes "If you would like to peruse monster records organized by their properties, please visit the Eastern branch of our library."; - close; -} -*/ - -prt_in,175,50,0 script Library Girl#pront 1_F_LIBRARYGIRL,{ - mes "[Library Girl Ellen]"; - mes "Here in the Eastern branch of the Prontera Library, we provide Monster Encyclopedias in which creatures are organized by their properties. We also have books on Merchant and Blacksmith skills."; - mes "Ooh~! The other branch of our library also has many interesting things to read! So if you get a chance, you just might want to visit."; - close; -} - -prt_in,47,141,0 script An Old Man#pront 1_M_KNIGHTMASTER,{ - mes "[Old Man]"; - mes "The Prontera Culvert sewers have been left unattended for a long time. Now that place is infested with ^000077Thief Bugs^000000!"; - next; - mes "[Old Man]"; - mes "These Thief Bugs seem to quickly grab items dropped on the ground, and then run away with them... They're even more annoying than cockroaches!!"; - close; -} - -prt_in,26,31,0 script An Old Man#2pront 1_M_JOBGUIDER,{ - mes "[Old Man]"; - mes "I dunno if you'll believe me, but I saw the weirdest thing down in the ^000077Culvert Sewers^000000..."; - next; - mes "[Old Man]"; - mes "I've been training in the 3rd level for so long that there isn't anything that I don't know about in that area. But when I finally went to the 4th level..."; - next; - mes "[Old Man]"; - mes "There, I saw a shimmering light. I was completely captivated and went to approach it. It must have been some sort of beautiful fairy..."; - next; - mes "[Old Man]"; - mes "But when I got"; - mes "close enough,"; - mes "I saw it was"; - mes "a ^000077Thief Bug^000000!"; - next; - mes "[Old Man]"; - mes "I've never seen a Thief Bug shining with light before! Man, just when you think you've seen it all..."; - close; -} - -prt_in,180,20,2 script Bartender#pront 1_M_PUBMASTER,{ - mes "[Bartender]"; - mes "Sigh...as more and more people coming into Prontera,"; - mes "better and better my business has become nowadays. But..."; - mes "Well, I am having a hard time to keep a good stock of food ingredients."; - next; - mes "[Bartender]"; - mes "As you see, the numbers of the monsters outside of town has been greatly increased and they have caused trouble to my suppliers to deliver the goods at a right time."; - mes "I cannot make my ultra nice menus with common ingredients because they are super special!"; - next; - mes "[Bartender]"; - mes "So I have been contacting super heavy champion hunters for fresh and special ingredients."; - mes "But the demand has exceeded the supply in these days."; - next; - mes "[Bartender]"; - mes "I can't keep my business busy without my special menu 'Crunch Crunch Sour' and 'Savory Yum Yum'...*Sigh*"; - next; - .@drink = 1; - while(.@drink) { - switch(select("'Cunch Crunch Sour'?", "'Savory Yum Yum'?", "Cancel.")) { - case 1: - mes "[Bartender]"; - mes "The basic ingredients of my Crunch Crunch Sour are the ants roadming inside the Ant Hell in the desert."; - mes "Rumor has it that the numbers of the ants have been greatly increased and they have become more violent, so that no one wants to get in the place."; - next; - mes "[Bartender]"; - mes "*Sigh*...I am afraid that my business days are numbered now."; - next; - break; - case 2: - mes "[Bartender]"; - mes "Savory Yum Yum's basic ingredients are the grasshoppers romping in a place over the west forest. Yeah, it is the best selling menu ever."; - mes "Rumor has it that they have become very violent and Bees have built their habitat in the place, so that no one wants to get in there."; - next; - mes "[Bartender]"; - mes "*Sigh*...I am afraid that my business days are numbered now."; - next; - break; - case 3: - mes "[Bartender]"; - mes "Take care of yourself~."; - close2; - .@drink = 0; - break; - } - - } - end; - -} - -prt_in,173,24,2 script Shevild#pront 4_M_03,{ - mes "[Shevild]"; - mes "Hey, come on over and let's drink! I have lots of interesting stories to tell!"; - mes "I know lots of things about Prontera. I have seen many fine views and I also have explored some monster lairs around this city."; - next; - if (select("How could you enter monster lairs?", "Cancel") == 1) { - mes "[Shevild]"; - mes "I may appear to be a drunken man but I am more than meets the eye."; - mes "Well, I happened to enter the places for carrying weapons for hunters or for delivering stuffs and whatsoever."; - mes "You might think of me as a mere delivery guy,"; - next; - mes "[Shevild]"; - mes "But I am very proud of my job. You know how tough the world has become?"; - mes "No matter how hard a work is, I am not afraid of doing that."; - next; - mes "[Shevild]"; - mes "Anyways, that is how I have explored some strange places like monster lairs..."; - mes "That is also a reason why I keep my job."; - mes "Ah, I just recall being inside the maze and the spooky forest!"; - next; - switch(select("The Maze?", "The Spooky Forest?", "Cancel")) { - case 1: - mes "[Shevild]"; - mes "Yes. Few days ago, I have entered a mysterious maze following a group of hunters at the north of Prontera."; - next; - mes "[Shevild]"; - mes "They said that they could get lots and lots of rare items from the maze even if the maze was filled with awfully strong mosters."; - mes "So we went there but as soon as we entered, we were just stuck inside the maze, you know."; - next; - mes "[Shevild]"; - mes "We were just circling around and then we decided to leave the place. That was one hell of the maze."; - mes "But I made up my mind that I would successfully explore the maze one day."; - next; - if (select("How can I get there?", "Cancel") == 1) { - mes "[Shevild]"; - mes "Err? Haven't you still toured the outside of Prontera?"; - mes "The maze can be found inside a forest at the north of Prontera. Go check the north west side of the forest."; - close; - } - mes "[Shevild]"; - mes "Yeap, be careful when you adventure alone~"; - close; - - case 2: - mes "[Shevild]"; - mes "When you go outside of Prontrea heading to north east, you will arrive at the peaceful ruins. I have been there a while ago, to deliver something to a priest."; - mes "I had to pass a forest on the way to the ruins, and the forest was filled with monkeys and raccoons."; - next; - mes "[Shevild]"; - mes "Be forewarned that the forest is not a place to go on a picnic. If you drop something on the ground, the monkeys come out from nowhere and take away all of your possessions."; - next; - if (select("How can I get there?", "Cancel") == 1) { - mes "[Shevild]"; - mes "There is no road directly leads to the ruins. But if you go north and keep heading to east, you will get there."; - mes "Oh, be careful on your way to the ruins because there are some weird plant things that assault passersby for no reason."; - close; - } - mes "[Shevild]"; - mes "Yeap, be careful when you adventure alone~"; - close; - - case 3: - mes "[Shevild]"; - mes "Yeap, be careful when you adventure alone~"; - close; - } - } - mes "[Shevild]"; - mes "Come back any time~"; - close; -} - -prt_in,177,20,2 script TenSue#pront 4W_M_01,{ - switch(rand(3)) { - case 1: - mes "[TenSue]"; - mes "What...?"; - mes "Sick and tired of killing monsters on fields and in dungeons already? Come on..."; - next; - mes "[TenSue]"; - mes "Hahaha, it seems you're pretty confident of your strength, huh? Hmm... Why don't you go join a guild? I mean, all the tough guys are going it."; - next; - mes "[TenSue]"; - mes "Personally though, I don't know any guilds, so you'll have to ask around. Make some contacts, connections, you know, networking."; - next; - mes "[TenSue]"; - mes "I don't even know if you don't like taking orders, but if that's the case, why don't you make your own guild?"; - close; - - case 2: - mes "[TenSue]"; - mes "One time I walked all the way to Al de Baran, instead of taking a warp. It was pretty dangerous with all those monsters!"; - next; - mes "[TenSue]"; - mes "I almost died! Some of those monsters just kept following me and trying to kill me, even though I did nothing to them! It was pretty crazy."; - next; - mes "[TenSue]"; - mes "Well, still, I feel that taking the scenic route was worth it. There were some pretty magnificent sights on the way."; - next; - mes "[TenSue]"; - mes "Even the city of Al de Baran is a splendid vision to the eyes, with its elegant architecture and romantic canal."; - next; - mes "[TenSue]"; - mes "The headquarters of Kafra Corporation is also located in Al de Baran. You should really stop by and check it out for yourself."; - close; - default: - mes "[TenSue]"; - mes "The kingdom of"; - mes "Rune-Midgarts is ruled"; - mes "by kind and benevolent"; - mes "King Tristram III."; - next; - mes "[TenSue]"; - mes "We really owe the prosperity of Rune-Midgarts to him. He was able to convince the people to welcome outsiders into Prontera, as well as establish trade to foreign lands, like Amatsu and Kunlun."; - next; - mes "[TenSue]"; - mes "But sometimes..."; - mes "It can be hard to believe he's such a brilliant and capable leader."; - next; - mes "[TenSue]"; - mes "After all, the only time I see him is when he's conducting weddings. Even if a wedding isn't going on, he's still kind of loitering around the Prontera church!"; - next; - mes "[TenSue]"; - mes "But..."; - mes "I guess you can get away with a lot of things when you happen to be lord and ruler of an entire nation."; - close; - } -} - -prt_in,177,18,2 script Marvin#pront 1_F_PUBGIRL,{ - mes "[Marvin]"; - mes "Whether it's schmoozing with a member of the opposite sex, or battling monsters, I gotta say, it's all about ^333399skills^000000."; - next; - mes "[Marvin]"; - if (Sex == SEX_MALE) - mes "I can't help you much when it comes to the subject of talking to attractive women such as myself, but I can tell you a little more about skills that help in battle."; - else - mes "I don't really have any advice for skills when it comes to talking to a cute guy, but I can let you in on what I know about skills that help in battle."; - next; - mes "[Marvin]"; - mes "For most skills, the maximum level is level 10. It's easy to stress yourself out, since it takes so many points to completely master a skill. What skills should you choose?!"; - next; - mes "[Marvin]"; - mes "After all, if you spend too many skill points on one skill, you might not be able to learn another. That's right, there's a limit to the number of total skill points you can earn."; - next; - mes "[Marvin]"; - mes "But you know what? Not every skill is mastered at level 10. You can master some skills at only level 5. And even better, some skills are already mastered at level 1 or 2."; - next; - mes "[Marvin]"; - mes "So relax and plan ahead, so you can master all the skills that you really want to master the most. Also, don't just put skill points into anything. Remember to use your skill points wisely."; - close; -} - -prt_in,284,168,3 script Ginedin Rephere#pront 1_M_JOBTESTER,{ - mes "[Tailor Ginedin Rephere]"; - mes "11..."; - mes "12..."; - mes "Mmm, good. I think I'll be able to finish before tonight's party."; - next; - mes "[Tailor Ginedin Rephere]"; - mes "Oh! I didn't realize I had a guest. How may I help you?"; - next; - switch(select("Talk", "Dye Clothing", "Cancel")) { - case 1: - mes "[Tailor Ginedin Rephere]"; - mes "Life may have gotten a little better, but receiving all these orders? *Whew!* Young ladies these days must be very well off, so my services may no longer be a luxury."; - next; - mes "[Tailor Ginedin Rephere]"; - mes "Well, people like them probably further the pursuit of beauty and fashion. But, of course, that's only my opinion."; - next; - mes "[Tailor Ginedin Rephere]"; - mes "I believe for us humans, clothes are one of the few ways to show our personality, style, and beauty."; - next; - mes "[Tailor Ginedin Rephere]"; - mes "Considering this, I personally think my job is very helpful and rather fancy. This in itself makes it all worthwhile. Coarse fabric and rough leather burst with energy and life when colored..."; - next; - mes "[Tailor Ginedin Rephere]"; - mes "It is a very hard and tedious process, but the happiness and delight you feel when your clothes are done makes up for all the hard work."; - close; - case 2: - mes "[Tailor Ginedin Rephere]"; - mes "Ah...!"; - mes "You came to dye"; - mes "your clothes as well."; - next; - mes "[Tailor Ginedin Rephere]"; - mes "But... I'm so sorry."; - mes "I don't have enough time to dye your clothes right now. I have so many orders that are still waiting to be done."; - next; - mes "[Tailor Ginedin Rephere]"; - mes "I'm sorry for the inconvenience, but could you come back again next time?"; - close; - case 3: - mes "[Tailor Ginedin Rephere]"; - mes "Feel free to take your time and relax here. I apologize that I have nothing to serve you, though."; - close; - } -} - -//== Prontera Church ======================================= -prt_church,103,76,0 script Garnet#pront 1_F_02,{ - mes "[Garnet]"; - mes "Hello there~"; - mes "Are you interested in learning more about helping and supporting other people?"; - next; - mes "[Garnet]"; - mes "The Acolytes and Priests trained in this church can heal people, cure them of certain conditions, and even awaken the battle potential of other adventurers."; - next; - mes "[Garnet]"; - mes "Go and ahead and ask if you have any questions about skills for Acolytes and Priests."; - next; - .@SkillChat = 1; - while(.@SkillChat) { - switch(select("About Heal", "About Cure", "About Increase AGI", "About Angelus", "About Blessing", "About Warp Portal", "End Conversation")) { - case 1: - mes "[Garnet]"; - mes "You can recover your own HP with the ^6666CCHeal^000000 skill. Healing is one of the most important ways you can help your friends in battle."; - next; - mes "[Garnet]"; - mes "Even though our powers are usually used to heal others, you can actually use the ^6666CCHeal^000000 skill to hurt Undead monsters."; - next; - mes "[Garnet]"; - mes "Just remember to hold down the ^6666CCShift^000000 key when you use Cure or Heal on Undead monsters. Just be sure to hurt the monsters though, and don't use it to help monsters."; - next; - mes "[Garnet]"; - mes "Later, if you've learned ^6666CCHeal^000000 as an Acolyte, you can learn ^6666CCSanctuary^000000 if you become a Priest."; - next; - mes "[Garnet]"; - mes "Priests use ^6666CCSantuary^000000 to create an area which will restore the HP of you and your friends if you rest within the Sanctuary's area."; - next; - break; - case 2: - mes "[Garnet]"; - mes "Once you reach ^6666CCLevel 2 Heal^000000 as an Acolyte, you can learn ^6666CCCure^000000, which can be used to treat abnormal statuses."; - next; - mes "[Garnet]"; - mes "This skill can be such a life saver, since almost every abnormal status can be cured with the Cure skill. Just remember that you need ^6666CCLevel 2 Heal^000000 before you can learn Cure."; - next; - break; - case 3: - mes "[Garnet]"; - mes "Now, the ^6666CCIncrease AGI^000000 skill can be used on you or your friends. For a while your AGI stat is increased, making you attack faster and dodge monster attacks more easily."; - next; - mes "[Garnet]"; - mes "If you're an Acolyte that wants to learn ^6666CCIncrease AGI^000000, you need to learn ^6666CCLevel 3 Heal^000000 first."; - next; - break; - case 4: - mes "[Garnet]"; - mes "You can use ^6666CCAngelus^000000 to increase your Defense, as well as the Defense of other party members. Remember though, you can only use ^6666CCAngelus^000000 on other people if they are in your party."; - next; - mes "[Garnet]"; - mes "Before you can learn Angelus, you will need to have ^6666CCLevel 3 Divine Protection^000000."; - next; - mes "[Garnet]"; - mes "Also, if you keep learning Angelus, you'll eventually be able to learn ^6666CCKyrie Eleison^000000. That skill helps you evade initial attacks automatically."; - next; - break; - case 5: - mes "[Garnet]"; - mes "^6666CCBlessing^000000 temporarily increases STR, DEX and INT. This skill will give you and your friends a great advantage in battle!"; - next; - mes "[Garnet]"; - mes "Before you can learn Blessing, you must first learn ^6666CCLevel 5 Divine Protection^000000."; - next; - break; - case 6: - mes "[Garnet]"; - mes "^6666CCWarp Portal^000000 is a pretty complex skill, and you need to know some other skills before you can learn it."; - next; - mes "[Garnet]"; - mes "First, you need to learn ^6666CCRuwach^000000 which lets you see invisible monsters. After Ruwach, you will need to learn the ^6666CCTeleport^000000 skill."; - next; - mes "[Garnet]"; - mes "Once you learn ^6666CCWarp Portal^000000, the level of the Warp Portal skill will determine how many warp destinations, or Warp Points, you can memorize."; - next; - mes "[Garnet]"; - mes "If you master the Warp Portal skill, you can have a maximum of 4 different Warp Points. But at least one Warp Point is designated as the Save Point that you've made with a Kafra Employee."; - next; - mes "[Garnet]"; - mes "Well, it's a bit of hassle, but if you want to make a certain place one of your Warp Points, you need to be physically there first. Then, type in ^6666CC/memo^000000 into the command prompt."; - next; - mes "[Garnet]"; - mes "Just so you know, you can't save a Warp Point inside of a dungeon. Oh, and don't forget, each time you make a Warp Portal, you must use 1 ^6666CCBlue Gemstone^000000 as a Catalyst."; - next; - break; - case 7: - mes "["+ strcharinfo(PC_NAME) +"]"; - mes "Alright, I've"; - mes "heard enough."; - close2; - .@SkillChat = 0; - break; - } - } - end; -} - -prt_church,103,71,0 script Henson#pront 2_M_PHARMACIST,{ - mes "[Henson]"; - mes "We Priests and Acolytes are not only limited to easing the suffering of our fellow man..."; - next; - mes "[Henson]"; - mes "We also mete swift and merciless punishment to the forces of evil. Well, purifying any poor souls that may have been turned into the Undead is also another duty."; - next; - mes "[Henson]"; - mes "Did you have any questions about Acolyte and Priest skills?"; - next; - .@SkillChat = 1; - while(.@SkillChat) { - switch(select("About Divine Protection", "About Demon Bane", "About Decrease AGI", "About Signum Crusis ", "About Pneuma", "About Ruwach", "About Teleport", "End conversation.")) { - case 1: - mes "[Henson]"; - mes "If you want to permanently improve your Defense against the Undead, learn ^6666CCDivine Protection^000000."; - next; - mes "[Henson]"; - mes "Learning Divine Protection to certain levels will also allow you to learn other skills, like ^6666CCAngelus^000000 and ^6666CCBlessing^000000, which Garnet can explain."; - next; - mes "[Henson]"; - mes "When you learn ^6666CCLevel 3 Divine Protection^000000, you will then be able to learn the ^6666CCDemon Bane^000000 skill."; - next; - mes "[Henson]"; - mes "With ^6666CCDemon Bane^000000, the damage of your attacks against the Undead will be increased. Permanently."; - next; - break; - case 2: - mes "[Henson]"; - mes "^6666CCDemon Bane^000000 increases the damage you will inflict upon the Undead. Permanently."; - next; - mes "[Henson]"; - mes "First, you'll need to learn ^6666CCLevel 3 Divine Protection^000000 to be able to learn Demon Bane, so keep that in mind."; - next; - mes "[Henson]"; - mes "When you learn ^6666CCLevel 3 Demon Bane^000000, you will be able to learn ^6666CCSignum Crusis^000000, which lowers the Defense of Undead monsters, as well as monsters with the Dark property."; - next; - break; - case 3: - mes "[Henson]"; - mes "Using ^6666CCDecrease AGI^000000 on monsters will slow their movement, attack speed, and the rate at which they can evade your own attacks. That way, you can maim them properly."; - next; - mes "[Henson]"; - mes "Remember, you must first learn ^6666CCLevel 2 Increase AGI^000000 if you want to be able to learn the Decrease AGI skill."; - next; - break; - case 4: - mes "[Henson]"; - mes "The ^6666CCSignum Crusis^000000 skill lowers the Defense of monsters with the Undead or Dark properties. It has a wide range and can be quite powerful."; - next; - mes "[Henson]"; - mes "However, it's a very difficult skill to use, and it has a relatively low success rate. But, do not despair if this skill is not successful all the time."; - next; - mes "[Henson]"; - mes "When it does work, it will give you a great battle advantage. Remember, you will ^6666CCLevel 3 Demon Bane^000000 to acquire this skill."; - next; - break; - case 5: - mes "[Henson]"; - mes "The ^6666CCPneuma^000000 allows you to generate a barrier that will block all long-range attacks in a certain range, creating a zone that will protect you from monsters that attack from a distance."; - next; - mes "[Henson]"; - mes "In order to become ready to learn Pneuma, you must first completely master the ^6666CCWarp Portal^000000 skill."; - next; - break; - case 6: - mes "[Henson]"; - mes "Nothing can escape the eyes of the Holy! ^6666CCRuwach^000000 allows you to see monsters, as well as other adventurers, that are hidden or invisible."; - next; - mes "[Henson]"; - mes "Once you learn Ruwach, you will be able to learn the ^6666CCTeleport^000000 skill."; - next; - break; - case 7: - mes "[Henson]"; - mes "First, you must learn the ^6666CCRuwach^000000 skill in order to learn how to Teleport."; - next; - mes "[Henson]"; - mes "The ^6666CCTeleport^000000 skill teleports you to a random location in the field or city which you are currently in. Teleport will prove useful for quick escapes, but where you may end up is... unpredictable."; - next; - mes "[Henson]"; - mes "Once the Teleport skill is mastered, you can Teleport to the latest Save Point that you have made with a Kafra Employee. I do not know why it is that way, but the Lord works in mysterious ways."; - next; - mes "[Henson]"; - mes "When Teleport is mastered, you can also learn the ^6666CCWarp Portal^000000 skill. Ask Garnet if you wish to know more about Warp Portal."; - next; - break; - case 8: - mes "[Henson]"; - mes "If you wish to understand more about an Acolyte or Priest skill, you are welcome to visit me at any time."; - close2; - .@SkillChat = 0; - break; - } - } - end; -} - -//== Hidden Temple ========================================= -prt_maze02,100,69,0 script Soldier#pront 8W_SOLDIER,{ - mes "[Soldier]"; - mes "H-hey!"; - mes "What are"; - mes "you doing here?!"; - next; - mes "[Soldier]"; - mes "Don't you know there's a Demon living in this forest?! I can't guarantee your safety"; - mes "if you go in!"; - close; -} - -prt_maze02,110,69,0 script Soldier#2pront 8W_SOLDIER,{ - mes "[Soldier]"; - mes "*Sigh...* The last guy that entered this place haven't come back at all. He didn't listen to me and went in to gather Herbs or something dumb like that..."; - next; - mes "[Soldier]"; - mes "Whaaaat a stupid guy. Why would anyone want to throw his life away just to collect some silly Herbs?"; - close; -} diff --git a/npc/cities/rachel.txt b/npc/cities/rachel.txt deleted file mode 100644 index 2fbb92f05..000000000 --- a/npc/cities/rachel.txt +++ /dev/null @@ -1,700 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2015 Hercules Dev Team -//= Copyright (C) Euphy -//= Copyright (C) Lupus -//= Copyright (C) L0ne_W0lf -//= Copyright (C) Harp -//= Copyright (C) Tsuyuki -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Rachel City -//================= Description =========================================== -//= Arunafeltz NPCs -//================= Current Version ======================================= -//= 0.9a -//========================================================================= - -//== Set 1 ================================================= -ice_dun04,33,166,3 script Frozen Boy 4_M_FROZEN,{ - cutin "ra_sboy.bmp",2; - mes "["+strcharinfo(PC_NAME)+"]"; - mes "This boy must be the one who Ktullanux tried to protect."; - next; - mes "- The boy was frozen inside a giant ice pole, and he looks as if he is in sleep rather than dead. -"; - next; - mes "- You felt freezing as you come closer to the giant ice pole that held the boy within,"; - mes "- but for some reason, you felt a mysterious power from the pole. -"; - next; - mes "- The boy appeared to be snowy white, and beautiful from the head to the toe. -"; - next; - mes "- You wondered why a young boy had to be confined within this isolated cave, -"; - mes "- you instinctively knew that no mage in this world would be able to release him from the ice pole."; - next; - mes "["+strcharinfo(PC_NAME)+"]"; - mes "What happened to this boy?"; - close2; - cutin "",255; - end; -} - -ra_san04,137,48,3 script Loomin-1st Class Secret HIDDEN_NPC,{ - mes "^3131FFLoomin, the boy"; - mes "trapped in the Ice Cave.^000000"; - mes "Class: 1st"; - mes " "; - mes " "; - mes " "; - mes "^333333The pope was born together"; - mes "with a twin brother, a fair"; - mes "skinned boy with pale skin"; - mes "and silver blonde hair. This"; - mes "had never happened before"; - mes "and presented a unique problem"; - mes " "; - mes "High Priest Niren acted as"; - mes "their maternity nurse and"; - mes "came to Rachel, where the"; - mes "twins were cared for by the"; - mes "Priests. They all argued"; - mes "over the boy's ultimate fate..."; - mes " "; - mes "No one doubted that the boy"; - mes "was spiritually powerful, but"; - mes "was he a sacred complement to"; - mes "his sister, or a great evil that"; - mes "was in direct opposition to"; - mes "her? It was a grueling debate"; - mes " "; - mes "In the end, the High Priests"; - mes "decided that the boy posed"; - mes "a great risk to their society"; - mes "People may not consider the"; - mes "pope's birth as divine if they"; - mes "knew she had a twin brother."; - mes " "; - mes "However, not wanting to fear"; - mes "the wrath of the gods, the"; - mes "High Priests did not kill the"; - mes "boy. Instead, they sealed"; - mes "him in the Ice Cave."; - mes " "; - mes "The High Priests made"; - mes "a contract with Ktullanux,"; - mes "a fearsome ice monster, to"; - mes "guard the boy's prison, and"; - mes "to insure that no one would."; - close; -} - -rachel,124,132,1 script Citizen#1 4_M_CHILD1,{ - mes "[Citizen]"; - mes "May Freya bless"; - mes "you, and give you an"; - mes "abundance of health,"; - mes "wealth, joy, and happiness!"; - next; - mes "[Citizen]"; - mes "Freya is the goddess of"; - mes "love and beauty. Do you"; - mes "think that if I pray hard"; - mes "enough, she'll help me"; - mes "get a really pretty girlfriend?"; - close; -} - -rachel,74,150,7 script Girl#1 4_F_CHILD,{ - mes "[Girl]"; - mes "I've never seen our pope"; - mes "before, I hear that she has"; - mes "silver blonde hair and really"; - mes "white skin. Daddy says that"; - mes "only one girl is like that"; - mes "in every generation."; - next; - mes "[Girl]"; - mes "My daddy says the pope is"; - mes "very special to us because"; - mes "she's Freya. I mean, Freya"; - mes "is a goddess, but she also"; - mes "becomes people like us to talk"; - mes "to us. Well, just the priests..."; - next; - mes "[Girl]"; - mes "I don't get it all,"; - mes "but it sounds like"; - mes "she's a secret princess."; - mes "Doesn't that sound so nice?"; - mes "But when I tell that to Daddy,"; - mes "he gets so mad at me! Oh, well."; - close; -} - -rachel,144,243,5 script Cheshrumnir Guard::ChesGuard 4_M_RASWORD,{ - mes "[Cheshrumnir Guard]"; - mes "You are at Cheshrumnir,"; - mes "the hallowed grounds occupied"; - mes "by our pope, Freya's mortal"; - mes "incarnation. In respect for"; - mes "her Excellency, I expect you"; - mes "to enter with a pious heart."; - close; -} - -rachel,155,243,3 duplicate(ChesGuard) Cheshrumnir Guard 4_M_RASWORD - - -rachel,209,198,3 script Kinos#aru 4_M_CHILD1,{ - mes "[Kid]"; - mes "If you open this door, you"; - mes "can go inside this house,"; - mes "and live in one of the rooms!"; - mes "Then, you can add your couches"; - mes "and a bed, and all of your stuff!"; - next; - mes "[Kid]"; - mes "All you gotta do is..."; - mes "Ugh! Turn this knob"; - mes "and... Grrrrah! Open"; - mes "this door... But it's"; - mes "almost impossible.."; - close; -} - -rachel,260,175,3 script Anku#aru 4_F_CHILD,{ - mes "[Anku]"; - mes "It's been so long"; - mes "already! I can't find"; - mes "Himuhimu! Hide-and-Seek"; - mes "shouldn't take this long..."; - next; - mes "[Anku]"; - mes "Oh, I'm already hungry..."; - mes "Himuhimu, come out so"; - mes "we can go home and eat!"; - mes "Himuhimu! I give up!"; - mes "H-Himuhimu...?"; - close; -} - -rachel,272,141,3 script Himuhimu#aru 4_M_CHILD1,{ - mes "[Himuhimu]"; - mes "Zzzz...Z..."; - mes "Anku, you'll never"; - mes "find m... never find"; - mes "me here... Zzzzz..."; - mes "... So hungry..."; - close; -} - -rachel,268,120,1 script Rachel Guard#1aru::RaGuard 4_M_RASWORD,{ - mes "[Rachel Guard]"; - mes "Welcome to Rachel"; - mes "the capital of Arunafeltz."; - mes "Please ask our guide"; - mes "at the center of the city"; - mes "for information and"; - mes "guest services."; - close; -} - -rachel,125,33,5 duplicate(RaGuard) Rachel Guard#2aru 4_M_RASWORD - -rachel,31,130,3 duplicate(RaGuard) Rachel Guard#3aru 4_M_RASWORD - -rachel,76,77,3 script Rachel Priest 4_M_MASK,{ - mes "[Rachel Priest]"; - mes "Bwahahaha! Somehow,"; - mes "drinks taste much better"; - mes "during work hours!"; - close; -} - -ra_fild12,45,230,3 script Airship Guide#Fild 4_M_RASWORD,{ - mes "[Airship Guide]"; - mes "The Schwaltzvalt Republic's"; - mes "international Airship service"; - mes "for Arunafeltz can only be"; - mes "accessed in Rachel. Please"; - mes "follow the mark on your"; - mes "Mini-Map to find the Airport."; - viewpoint 1,293,208,1,0xFF0000; - close; -} - -//rachel,201,174,3 script Freya's Follower 4_M_MASK,{ -rachel,201,174,3 script Freya's Follower 4_M_MASK1,{ - mes "[Freya's Follower]"; - mes "All of Arunafeltz believes"; - mes "in the goddess Freya, but"; - mes "there are those of us that"; - mes "are more seriously involved"; - mes "in adoration and worship."; - next; - mes "[Freya's Follower]"; - mes "First, there are ''Freya's"; - mes "Followers,'' men and women"; - mes "like me that dress in holy masks"; - mes "and garments. I realize that our"; - mes "dress may seem a bit peculiar"; - mes "to you, but that is our way."; - next; - mes "[Freya's Follower]"; - mes "Then, there are the Priests"; - mes "who dress in clean, white"; - mes "flowing robes. They work in"; - mes "the temple and serve the"; - mes "community as religious leaders."; - next; - mes "[Freya's Follower]"; - mes "Among these priests are"; - mes "the elite High Priests that"; - mes "directly assist our pope."; - mes "They wear more colorful"; - mes "clothes as a sign of their"; - mes "higher status in Rachel."; - next; - mes "[Freya's Follower]"; - mes "All of us work tirelessly"; - mes "to bring prosperity to"; - mes "Arunafeltz, and to carry"; - mes "out the teachings of our"; - mes "beloved goddess Freya."; - close; -} - -rachel,206,30,3 script Freya's Priest#play 4_F_TRAINEE,{ - mes "[Freya's Priest]"; - mes "This..."; - mes "bores me..."; - next; - mes "[Freya's Priest]"; - mes "You!"; - mes "Entertain me!"; - emotion e_ag; - next; - if (select("What? You can't tell me what to do!", "You got it.") == 1) { - mes "[Freya's Priest]"; - mes "Oh. That much is"; - mes "true, I suppose."; - close; - } - mes "[Freya's Priest]"; - mes "Well, then,"; - mes "what will you be"; - mes "doing to entertain me?"; - next; - if (select("Here's a funny story...", "I will do what you want me to do.") == 1) { - mes "^3355FFYou told her the first"; - mes "funny story that you"; - mes "could think of.^000000"; - specialeffect(EF_TALK_FROSTJOKE, AREA, playerattached()); - next; - mes "[Freya's Priest]"; - mes "That's supposed to"; - mes "be funny? I suppose"; - mes "that I don't understand"; - mes "hoi polloi humor."; - close; - } - mes "[Freya's Priest]"; - mes "Fine, fine~"; - mes "Let me see what these"; - mes "item of yours can do..."; - mes "Oh? Oh! That's wonderful!"; - close2; - .@play = rand(1,10); - if (.@play < 3) - consumeitem 601; //Wing_Of_Fly - else if (.@play < 5) - consumeitem 12016; //Speed_Up_Potion - else - consumeitem 12017; //Slow_Down_Potion - end; -} - -rachel,197,137,3 script Bard#aru 1_M_BARD,{ - mes "[Bard]"; - mes "I've wandered this"; - mes "land, singing my songs~"; - mes "Searching for someone"; - mes "for my heart longs~"; - next; - mes "[Bard]"; - mes "Can I fulfill this hope~?"; - mes "Meeting the girl with"; - mes "skin as white as lillies,"; - mes "eyes sparkling like stars~"; - mes "Yes, I'm talking about the pope~"; - mes "Pope, yeah~ Pope, yeah~"; - next; - mes "["+strcharinfo(PC_NAME)+"]"; - mes "You must be off your"; - mes "rocker singing that"; - mes "kind of song here"; - mes "in Arunafeltz!"; - next; - mes "........."; - mes "........."; - mes "........."; - emotion e_sob; - close; -} - -ra_temple,148,91,3 script Follower Akarna 4_F_MASK1,{ - mes "[Follower Akarna]"; - mes "Cheshrumnir..."; - mes "It is said that one"; - mes "day, our goddess Freya"; - mes "will descend to this place"; - mes "in all of her glory. I hope"; - mes "that I live to see that."; - close; -} - -ra_temple,115,148,7 script Follower Yakum 4_F_MASK1,{ - mes "[Follower Yakum]"; - mes "......"; - mes "........."; - mes "............"; - next; - mes "^3355FFShe is completely"; - mes "immersed in deep,"; - mes "meditative prayer."; - mes "It'd be rude to"; - mes "disturb her now.^000000"; - close; -} - -ra_temin,287,88,7 script Follower Lekua 4_M_MASK1,{ - mes "[Follower Lekua]"; - mes "Look at these flowers."; - mes "Aren't they so beautiful?"; - mes "I've spent a lot of time"; - mes "cultivating this flower garden."; - next; - mes "[Follower Lekua]"; - mes "I think it's Freya's"; - mes "will for us to"; - mes "bring as much beauty into"; - mes "the world as we can. What"; - mes "do you think about that?"; - close; -} - -//ra_temin,228,303,5 script Freya's Follower#in1 4_M_MASK,{ -ra_temin,228,303,5 script Freya's Follower#in1 4_M_MASK1,{ - mes "[Freya's Follower]"; - mes "Once again, I didn't get"; - mes "any sleep yesterday... I'm"; - mes "praying so hard for Freya's"; - mes "second coming. I'm exhausted,"; - mes "but I feel pretty good about"; - mes "making that small sacrifice."; - close; -} - -//ra_temin,230,303,3 script Freya's Follower#in2 4_M_MASK,{ -ra_temin,230,303,3 script Freya's Follower#in2 4_M_MASK1,{ - mes "[Freya's Follower]"; - mes "You have done well,"; - mes "my brother. I am certain"; - mes "that Freya would be proud"; - mes "of all your effots."; - close; -} - -ra_temin,138,64,5 script Child Follower#in1 4_M_CHILD1,{ - mes "[Child Follower]"; - mes "No! My Mingming is dead!"; - next; - select("Mingming?"); - mes "[Child Follower]"; - mes "Mingming is a sick bird"; - mes "I found on the street, and"; - mes "I really wanted it to just"; - mes "rest and be healthy again"; - mes "but it died! Waaaaah!"; - emotion e_sob; - next; - mes "[Child Follower]"; - mes "I... I'm going to"; - mes "try to ask the pope!"; - mes "M-maybe she can bring"; - mes "Mingming back to life!"; - mes "Do you know how I can"; - mes "find our pope?"; - close; -} - -//== Set 2 ================================================= -ra_fild12,283,208,3 script Apprentice Priestess 4_F_CHILD,{ - if ($rachel_donate < 10000) { - mes "[Papaii]"; - mes "Welcome to Arunafeltz,"; - mes "adventurer! Enjoy your stay~"; - next; - if (select("Are you a guide?", "Thanks, have a good day.") == 1) { - mes "[Papaii]"; - mes "Oh, actually, if you"; - mes "want to speak to a guide,"; - mes "head west to Rachel, and"; - mes "then go north from the plaza"; - mes "in the center of the city."; - mes "You'll find one over there."; - next; - mes "[Papaii]"; - mes "My name is Papaii,"; - mes "and I've been sent here to"; - mes "promote the upcoming festival"; - mes "in honor of Freya. I encourage"; - mes "you to donate for our festival"; - mes "if you can spare the zeny."; - next; - mes "[Papaii]"; - mes "If you're interested in"; - mes "learning more, then please"; - mes "visit our temple, which will"; - mes "be accepting donations and"; - mes "hosting the festival, and"; - mes "speak to Priestess Nemma."; - next; - mes "[Papaii]"; - mes "If you donate, you can"; - mes "receive Lottery Tickets"; - mes "that you can redeem for"; - mes "randomly selected items from"; - mes "the temple's storage. May"; - mes "Freya bless you, traveler~"; - close; - } - mes "[Papaii]"; - mes "May Freya bless you."; - mes "If you have time, please"; - mes "visit our temple and make"; - mes "a donation if you can~"; - close; - } - mes "[Papaii]"; - mes "Welcome to Arunafeltz!"; - mes "The city over the rampart"; - mes "is Rachel, the capital of"; - mes "Arunafeltz. If you'd like to"; - mes "rest from your travels, why"; - mes "don't you visit Rachel?"; - next; - if (select("Are you a guide?", "Tell me more about Rachel.") == 1) { - mes "[Papaii]"; - mes "Actually, my name is"; - mes "Papaii, and I'm stationed"; - mes "here on behalf of the temple"; - mes "spread awareness of this our"; - mes "religion to visiting tourists."; - next; - mes "[Papaii]"; - mes "The entire nation of"; - mes "Arunafeltz worships the"; - mes "goddess Freya, and most"; - mes "aspects of our lives are"; - mes "largely influenced by our"; - mes "religion. Did you know that?"; - next; - mes "[Papaii]"; - mes "I invite you to visit"; - mes "our temple if you'd like"; - mes "to learn more about goddess"; - mes "Freya. May Freya guide you"; - mes "in all that you do, and may she"; - mes "protect you in your journeys!"; - next; - mes "[Papaii]"; - mes "Welcome to Arunafeltz!"; - mes "The city over the rampart"; - mes "is Rachel, the capital of"; - mes "Arunafeltz. If you'd like to"; - mes "rest from your travels, why"; - mes "don't you visit Rachel?"; - close; - } - mes "[Papaii]"; - mes "Well, Rachel used to be"; - mes "a barren desert until our"; - mes "goddess led our ancestors to"; - mes "this land. They cultivated the"; - mes "desert by Freya's grace, and"; - mes "made this area habitable."; - next; - mes "[Papaii]"; - mes "Everything that you see here"; - mes "has been artificially created"; - mes "by humans. See? The blessings"; - mes "of Freya truly enable us to"; - mes "do miraculous things. You'll"; - mes "see once you enter the capital."; - close; -} - -rachel,127,117,4 script Child Follower#2 4_F_CHILD,{ - mes "[Deno]"; - mes "Although we pray to"; - mes "the goddess Freya and"; - mes "ask her for all sorts of"; - mes "things, we can't expect"; - mes "her to do everything for us."; - next; - mes "[Deno]"; - mes "As humans, it is our"; - mes "responsibility to do all"; - mes "in our power to conceive"; - mes "our own happiness. We"; - mes "believe that if it is Freya's"; - mes "will, then it shall be realized."; - next; - emotion e_what; - mes "[Deno]"; - mes "I know it might seem"; - mes "a little confusing to"; - mes "an outsider, the idea of"; - mes "being reliant on our goddess"; - mes "while relying our ourselves."; - close; -} - -ra_temple,167,155,4 script Child Follower#3 4_F_CHILD,{ - mes "[Lewei]"; - mes "Shushh!"; - mes "Be quiet."; - next; - mes "[Lewei]"; - mes "......"; - mes "........."; - next; - mes "[Lewei]"; - mes "Go away! If someone!"; - mes "sees you, I'm gonna"; - mes "get caught, you jerk!"; - next; - if (select("What are you doing?", "Alright.") == 1) { - mes "[Lewei]"; - mes "Hellooo~?"; - mes "Can't you see?"; - mes "It's called Hide-and-"; - mes "Go-Seek. Gee whiz!"; - mes "Hurry, get away!"; - close; - } - mes "[Lewei]"; - mes "Hurry, and get"; - mes "outta here!"; - close; -} - -ra_temple,179,161,7 script Child Follower#4 4_M_CHILD1,{ - mes "[Zhikka]"; - mes "Shh! I'm playing"; - mes "Hide-and-Seek. Would"; - mes "you leave me alone, please?"; - mes "I don't wanna get caught again!"; - mes "Maybe it's because I always"; - mes "use the same hiding place..."; - close; -} - -ra_temple,77,114,7 script Child Follower#5 4_M_CHILD1,{ - mes "[Emmet]"; - mes "Oh my Freya! You scared me!"; - mes "I thought you were one of the"; - mes "kids playing Hide-and-Seek!"; - mes "Ack! Get away, get away!"; - mes "Can't let them find me!"; - close; -} - -ra_temple,172,113,5 script Child Follower#6 4_M_CHILD1,{ - mes "[Harse]"; - mes "Where are yoooou~"; - mes "Come out, come out"; - mes "wherever you are~"; - next; - mes "[Harse]"; - mes "What the Freya?"; - mes "What's a grown-up"; - mes "doing around here?"; - mes "Can't you see I'm"; - mes "playing Hide-and-Go-Seek?"; - close; -} - -airplane,238,54,7 script Adventurer 1_M_ORIENT01,{ - if ($rachel_donate < 10000) { - mes "[Adventurer]"; - mes "You know that the temple"; - mes "in Rachel is accepting"; - mes "donations? They're asking"; - mes "for a lot of zeny, but my buddies"; - mes "and I donated anyway. Heck, we"; - mes "wanted to see what we could win~"; - next; - mes "[Adventurer]"; - mes "One of my buddies was"; - mes "real freakin' lucky. He"; - mes "got some kind of album,"; - mes "opened it up and found"; - mes "some kinda card inside."; - mes "Really pretty stuff."; - next; - mes "[Adventurer]"; - mes "Another buddy of mine?"; - mes "Not so lucky. He got a"; - mes "Condensed White Potion..."; - mes "Yeah, I don't blame him for"; - mes "feeling a little gypped, but he"; - mes "donated for a good cause, right?"; - next; - mes "[Adventurer]"; - mes "Me? I got some yellow"; - mes "bell shaped fruit. I didn't"; - mes "really feel like eating it,"; - mes "but after I took a bite,"; - mes "it was like... whoa."; - mes "So refreshing!"; - next; - mes "[Adventurer]"; - mes "Anyway, all the donations"; - mes "will be used to fund some"; - mes "kinda festival. Sooo, I don't"; - mes "think they'll be holding this"; - mes "special lottery anymore once"; - mes "they get enough money, you know?"; - close; - } - mes "[Adventurer]"; - mes "You know, one of the"; - mes "priestesses at the temple"; - mes "in Rachel looked troubled"; - mes "for some reason. I should've"; - mes "asked what was bothering her,"; - mes "and offered my help. Mm, nah."; - close; -} diff --git a/npc/cities/splendide.txt b/npc/cities/splendide.txt deleted file mode 100644 index d49f50ada..000000000 --- a/npc/cities/splendide.txt +++ /dev/null @@ -1,848 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2015 Hercules Dev Team -//= Copyright (C) L0ne_W0lf -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Splendide Town -//================= Description =========================================== -//= Town-specific NPCs for Splendide. -//================= Current Version ======================================= -//= 1.2 -//========================================================================= - -//== cat_enhance =========================================== -splendide,218,193,3 script Fairy#ep13_1 4_F_FAIRYKID6,{ - if (isequipped(2782) == 1) { - mes "[Exhausted Fairy]"; - mes "Wait, don't come any closer. I can't stand your smell, it makes me feel dizzy."; - close; - } - else { - mes "[Exhausted Fairy]"; - mes "OdesKoUor Ko NuffSharUden Ko CyaVenah An NudNuffser An KoRivehAdor Mu LarseorAnu O DorNe"; - close; - } -} - -splendide,180,223,3 script Fairy#ep13_2 4_F_FAIRYKID5,{ - if (isequipped(2782) == 1) { - mes "[Kalua]"; - mes "You don't look sophisticated, but I think you are better than those uncivilized guys who are around the snowfield."; - close; - } - else { - mes "[Kalua]"; - mes "AlahCyamah U MeKoser Ir TimaurRiveh Di LarsRasTi Di AgolKones Or AlahUdenAndu Ee FusRe"; - close; - } -} - -splendide,125,227,3 script Fairy#ep13_3 4_M_FAIRYKID3,{ - if (isequipped(2782) == 1) { - mes "[Flowa]"; - mes "No offense, I was not looking at you with sympathy."; - mes "I just wondered how you could walk with that heavy body..."; - close; - } - else { - mes "[Flowa]"; - mes "AnuFuloUor Ko CyaWosnes Ha WosAnuAsh O WosDuAno O "; - mes "FuloAndueo Ie WosGothLars Ee Tinarmaur Or AlahnahVa Or narAnuFulo So KoCya"; - close; - } -} - -//== ep13_2_hiki =========================================== -splendide,159,164,3 script Fairy#13_2_1 4_M_FAIRYSOLDIER2,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Fairy]"; - mes "It is shame that I have to"; - mes "cope with those fat beasts."; - mes "I am just too delicate to fight with them."; - close; - } - else { - mes "[Fairy]"; - mes "RiniHirDieb Ie nahImanMe Di Mush"; - mes "mahnarAsh So HirAnMod O Ras"; - mes "neaLoDath Ha KoRivehWha So Thusnea"; - close; - } -} - -splendide,229,54,3 script Fairy#13_2_2 4_F_FAIRYKID4,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Fairy]"; - mes "Huh? You are a human."; - mes "You are better than those fat Saphas, but still you are not a beautiful thing also."; - next; - mes "[Fairy]"; - mes "How did you find this wonderful place?"; - mes "This is a sophisticated place."; - mes "I don't think you can be here with us."; - close; - } - else { - mes "[Fairy]"; - mes "ImanAnuUor Yee NeUorVer Ir RivehAshOsa"; - mes "AdorserHir er OsaAlahAno Mu RivehDath"; - next; - mes "[Fairy]"; - mes "LarsFuloSar Yu VilGotheor Yu nes"; - mes "Anuneseor Ie remuSeDieb er "; - mes "WosLoNud Ko NuffDuIman Ir "; - close; - } -} - -splendide,89,235,5 script Fairy#13_2_3 4_M_FAIRYKID5,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Fairy]"; - mes "Lalalalal~Lala~Lalala~"; - mes "Let's sing a song~!"; - mes "My voice is so fantastic!"; - next; - mes "[Fairy]"; - mes "Don't even think about getting close to me!"; - close; - } - else { - mes "[Fairy]"; - mes "WehVeldHir Or ThusNorAnu"; - mes "ReImanWos Yu marFuloNor Yee "; - mes "SharneaVrum Ir Ruff"; - next; - mes "[Fairy]"; - mes "BurKoWeh Ie nesThusLu Ee "; - close; - } -} - -splendide,245,243,3 script Fairy#13_2_4 4_F_FAIRYSOLDIER,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Fairy]"; - mes "This land was such a waste land."; - mes "It was extremely cold and"; - mes "nothing could live here."; - mes "but, once we inhabited this place, it has been changing day by day."; - next; - mes "[Fairy]"; - mes "Now, all the problems are gone."; - mes "Except those ugly fat Saphas."; - mes "How can we be rid of those things?"; - close; - } - else { - mes "[Fairy]"; - mes "DiebVohlWeh Ko RasVeldFar Ie AshVohl"; - mes "neaAmanIman Ie DorDuMe No Hireo"; - mes "tassermaur Yee DorAdorNud Ee "; - mes "NohThorVe O FusImanAman"; - next; - mes "[Fairy]"; - mes "OsaVeldWeh U GothIyazVer Or "; - mes "LarsAnDor Yee TurVeldVil"; - mes "LarsDanaFus An DiebImanmar er Dim"; - mes "tasLoRini Ir WehAndu"; - close; - } -} - -splendide,230,142,3 script Fairy#13_2_5 4_F_FAIRYKID4,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Fairy]"; - mes "Ah-Ha, I am so stunning."; - close; - } - else { - mes "[Fairy]"; - mes "AgolWhaNe O LoRini"; - close; - } -} - -splendide,274,203,3 script Fairy#13_2_6 4_M_FAIRYKID3,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Fairy]"; - mes "Hey, you~! Human! How did you find us?"; - mes "What does your human world look like?"; - mes "Is it fun to be there?"; - close; - } - else { - mes "[Fairy]"; - mes "AnnarNor So marFarAno Di NudThusNei Ir Ir "; - mes "narVaTi Mu SharDimmaur Or Ano"; - mes "WhaModKo Or eoNeiNor Di ImanDunah O O "; - close; - } -} - -splendide,275,141,3 script Fairy#13_2_7 4_M_FAIRYSOLDIER,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Fairy]"; - mes "Don't talk to me. What do you want?"; - mes "I know you will blame something on me right?"; - next; - mes "[Fairy]"; - mes "I don't want to listen to other people..."; - mes "I am perfect as I am!"; - close; - } - else { - mes "[Fairy]"; - mes "narnahNoh Di WehRiniLars Yee ModAnu"; - mes "LuAlahNe Or FarAnduOsa No AgolKo"; - next; - mes "[Fairy]"; - mes "LarsVilDim No WhaVilFus Ha Ash"; - mes "ReLarsShar Mu AnduLoLon Ie Nufftas"; - close; - } -} - -splendide,224,230,3 script Fairy#13_2_8 4_F_FAIRYKID5,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Fairy]"; - mes "Listen carefully and learn more!"; - mes "Let's sing and dance!"; - mes "You can be part of us!"; - mes "Shake your hips!"; - mes "Wow~Woo~Wow~"; - mes "Dance~!"; - close; - } - else { - mes "[Fairy]"; - mes "NuffMushLars Ra WehVilnah Ra DielWeh"; - mes "RivehnarWos Ra YurSharRe"; - mes "TalVaThor O VerWhatas"; - mes "FuloDimIyaz Mu WhaNoreo U "; - mes "AlahNeLo Ra UorOsa"; - mes "SeAnduMush Ur "; - close; - } -} - -splendide,223,36,3 script Fairy#13_2_9 4_F_FAIRYSOLDIER,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Fairy]"; - mes "I don't want to touch them at all."; - mes "But they are ruining my Yggdrasilberries."; - mes "I can't stand it anymore!"; - next; - mes "[Fairy]"; - mes "Fighting is not my thing..."; - mes "But for our glory, I will fight!"; - mes "They should feel honored to be battling with us!"; - close; - } - else { - mes "[Fairy]"; - mes "AshAmanNei Ir LonVeldremu O "; - mes "AnduSarHir No NudAnumaur Ha Veld"; - mes "Semarmah U VeTingDieb Yu "; - mes "mahsertas Ra marAmanAdor Ir "; - next; - mes "[Fairy]"; - mes "TingAgolLu So MushAndumah U neseor"; - mes "WhaDuFulo er ImanThusNe Di Tur"; - mes "DathUornah Ir MemaurDeh Yu Fulo"; - mes "CyaMeDor Ko VeLarsAgol"; - close; - } -} - -splendide,305,129,3 script Fairy#13_2_10 4_F_FAIRYKID,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Fairy]"; - mes "Hu...feel sleepy."; - mes "I am so bored. I have nothing to do."; - mes "Even my friends are fighting with those giants, but it is not really my job to help them."; - next; - mes "[Fairy]"; - mes "I better check my make-up"; - mes "in the dressing room."; - mes "Or should I get more beauty sleep?"; - close; - } - else { - mes "[Fairy]"; - mes "AnduNothUor O eomaurShar Mu AnduVeld"; - mes "AdorFulotas Ko NorAlahAsh Ie Ala"; - mes "KoOsaLon Ha AnuNeiNoh Di Ting"; - mes "tasKoDiel O IyazGoth"; - next; - mes "[Fairy]"; - mes "OdesmahHir Or mahneaLars So "; - mes "HirNudAman O AdorWosDu"; - mes "DimYurVa So DanaRuYur"; - close; - } -} - -splendide,142,315,3 script Fairy#13_2_11 4_F_FAIRYSOLDIER,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Fairy]"; - mes "Flying in the sky is not easy."; - mes "But it is better than a walk on the ground."; - next; - mes "[Fairy]"; - mes "Are you a human? Poor thing..."; - mes "You can't have these beautiful wings?"; - mes "Pathetic lives."; - mes "It is obvious that we are the only ones who are blessed."; - close; - } - else { - mes "[Fairy]"; - mes "WharemuLars Ur SharUdenWha Yu Agol"; - mes "LontasSar Ra DathVeAlah Ee Noh"; - mes "LarsLonnah Ko TalnesIman Ie Diel"; - next; - mes "[Fairy]"; - mes "tasSarNuff Or WehFarDieb Ir FarRu"; - mes "FusYurnah So MeAshnar O Noth"; - mes "YurBurDu Yu VeldVaMush So Thor"; - mes "AgolDiebUor No TurnahAla O "; - close; - } -} - -splendide,181,107,5 script Fairy#13_2_12 4_F_FAIRYSOLDIER,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Fairy]"; - mes "Neatness, tidiness and cleanness!"; - mes "Those are the words."; - mes "that can describe us!"; - mes "Others are so dirty and messy!"; - close; - } - else { - mes "[Fairy]"; - mes "FusYurnah So M "; - mes "WehFarDieb Ir FarRu "; - mes "FusYurnah "; - mes "AgolDiebUor No Tur"; - close; - } -} - -//== ep13_2_tre ============================================ -splendide,188,76,5 script Splendide Soldier#tre1 4_M_FAIRYSOLDIER2,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Splendide Soldier]"; - mes "This is Splendide, the garrison base of the Laphine."; - close; - } - else { - mes "[Splendide Soldier]"; - mes "SeAshLu Di YurDiebTing Ee VeModTur No NuffLarsVa No "; - close; - } -} - -splendide,201,76,3 script Splendide Soldier#tre2 4_M_FAIRYSOLDIER2,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Splendide Soldier]"; - mes "This is Splendide, the garrison base of the Laphine."; - close; - } - else { - mes "[Splendide Soldier]"; - mes "SeAshLu Di YurDiebTing Ee VeModTur No NuffLarsVa No "; - close; - } -} - -splendide,207,97,5 script Middle-Ranked Laphine#1 4_M_FAIRYKID2,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Middle-Ranked Laphine]"; - mes "Haap-!"; - mes "See? Same as a streetlight, right?"; - specialeffect EF_LEVEL99_4; - close; - } - else { - mes "[Middle-Ranked Laphine]"; - mes "sehrVa"; - mes "IyazAnman Di TurHirCya"; - specialeffect EF_LEVEL99_4; - close; - } -} - -splendide,210,95,3 script Middle-Ranked Laphine#2 4_M_FAIRYKID,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Middle-Ranked Laphine]"; - mes "Wow~ Great!!"; - emotion e_no1; - close; - } - else { - mes "[Middle-Ranked Laphine]"; - mes "MushIyazTur Ee YurDana"; - emotion e_no1; - close; - } -} - -spl_in01,190,314,5 script Security Officer#tre 4_M_FAIRYSOLDIER2,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Security Officer]"; - mes "This is the underground prison of Splendide."; - mes "Those who are guilty and prisoners are detained here."; - next; - mes "[Security Officer]"; - mes "If you do something supicious, you must be detained here too, so you'd better to be careful!"; - close; - } - else { - mes "[Security Officer]"; - mes "GothremuAman Ha DimDielNuff"; - mes "GothAnAsh er NohVaAgol Yee CyaOsaDor U Aman U "; - mes "TurOdesVrum Ir TalDathOsa Ie WosAgolVrum Ha neaNudHir Ha SeAnVil Di narAlahLars Yu"; - close; - } -} - -spl_in01,281,329,3 script Splendide Guard#tre 4_M_FAIRYSOLDIER,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Splendide Guard]"; - mes "If you make too much noise, the prisoners will cause trouble. So try to keep quiet at all times."; - close; - } - else { - mes "[Splendide Guard]"; - mes "AnduVeldRe Ko VeldReFulo So LomaurDu So So"; - close; - } -} - -spl_in01,287,306,3 script #spl_prs HIDDEN_NPC,{ - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Manuk Prisoner]"; - mes "My, my body...!!"; - mes "Injection! Please!! Help me!"; - close; - } - else { - mes "[Manuk Prisoner]"; - mes "Gi ha sd I das "; - mes "Yda sod ja si dsa"; - close; - } -} - -spl_in01,265,315,0 script #spl_prs1 FAKE_NPC,5,5,{ -OnTouch: - if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { - mes "[Voice from another side]"; - mes "Sir, Please!!!"; - mes "How can I communicate secretly with Manuk!!"; - mes "I'm innocent. Please."; - close; - } - else { - mes "[Voice from another side]"; - mes "RuffUdeneo Mu VilAsh"; - mes "YurReDur Ha DielTalNe Ko Lars"; - mes "HirVerWeh Yu AnuNud"; - close; - } -} - -//== ep13_spl_extra ======================================== -spl_in01,172,225,3 script Wandering Poet#ep13 1_M_BARD,{ - cutin "god_nelluad02",2; - mes "[Poet Nell]"; - mes "Hi~~ do you hear the beautiful music comeing from afar~?"; - next; - select("Who are you?"); - cutin "god_nelluad01",2; - mes "[Poet Nell]"; - mes "Who, me...?"; - mes "I am just a poet enjoying the ambience..."; - next; - mes "[Poet Nell]"; - mes "I cam here the other day, requesting to take notes of this new world and they allow me to follow the adventurers here."; - next; - mes "[Poet Nell]"; - mes "I became familliar with the Lapine."; - mes "It was quite awkward at first... Since I didn't knew their language."; - mes "But, one I started to play my instruments... they loved it."; - next; - mes "[Poet Nell]"; - mes "They're fairies that know how to enjoy their lives.."; - mes "How happy they are..."; - mes "They are quite curious... I am honored to have met them..."; - next; - mes "[Poet Nell]"; - mes "So do you want to listen to my playing?"; - next; - switch(select("Sure.", "Not really.")) { - case 1: - mes "[Poet Nell]"; - mes "What song do you want??"; - next; - switch(select("Poet of Bragie", "Chaos in Eternity", "Sunset Assassin", "Ring of Nibelungen")) { - case 1: - cutin "god_nelluad02",2; - mes "[Poet Nell]"; - mes "Poet of Bragie!"; - mes "You must have a keen ear."; - soundeffect "bragis_poem.wav",0; - break; - case 2: - cutin "god_nelluad02",2; - mes "[Poet Nell]"; - mes "Chaos in Eternity..."; - mes "This is a great piece but I wouldn't reccomend it while dining..."; - soundeffect "chaos_of_eternity.wav",0; - break; - case 3: - cutin "god_nelluad02",2; - mes "[Poet Nell]"; - mes "Sunset Assassin!"; - mes "Do you like Assassins?"; - mes "This song tells of a legendary Assassin Cross that lived in the desert."; - soundeffect "assassin_of_sunset.wav",0; - break; - case 4: - cutin "god_nelluad02",2; - mes "[Poet Nell]"; - mes "Ring of Nibelungen..."; - mes "This song has quite an interesting story~"; - next; - soundeffect "ring_of_nibelungen.wav",0; - mes "^4d4dff There was a niver named Rhein that"; - mes "that would shine as if made of gold."; - mes "It's secret hidden from all since"; - mes "before this story was told...^000000"; - next; - mes "^4d4dff Valhalla was born from the goddess Freya."; - mes "The envious Rocky destroyed the goddess of beauty.^000000"; - mes "^4d4dff Out of it's depths was born a ring made of fire."; - mes "A ring so strong it held the god's desires~^000000"; - next; - mes "^4d4dff Alberich's treasure now holds that power."; - mes "The power of the ring that held all the god's desires.^000000"; - next; - mes "^4d4dff The treasure was used to buy the world's soul."; - mes "A soul purchased with the weight of gold.^000000"; - next; - mes "^4d4dff Rocky afraid of losing control. transforms poor Alberich to the shape of a toad."; - next; - mes "^4d4dff Alberich swears with the last of his breath, that his treasured ring will curse it's wearer till death."; - next; - mes "^4d4dff Forever will the bearer be, cursed with Rocky's jealousy."; - break; - } - break; - case 2: - cutin "god_nelluad03",2; - mes "[Poet Nell]"; - mes "Why not?"; - mes "Why would you stare at me like that if you didn't want to listen to my playing"; - next; - select("You look like someone I know."); - cutin "god_nelluad04",2; - mes "[Poet Nell]"; - mes "Eh?"; - mes "No way!"; - mes "Maybe you're confused..!"; - next; - mes "[Poet Nell]"; - mes "Yes, I look quite common..."; - mes "But I doubt we've ever met before."; - next; - cutin "god_nelluad01",255; - mes "- Nell seems embarrassed, then starts playing very complicated music -"; - break; - } - close2; - cutin "god_nelluad01",255; - end; -} - -spl_in01,182,213,1 script Resting Laphine#ep13_1 4_F_FAIRYKID3,{ - if ((isequipped(2782) > 0) && (ep13_2_rhea > 99)) { - mes "[Resting Laphine]"; - mes "The poet on the stagie is mysterious."; - mes "The moment you came here..."; - mes "He arrived and started playing music."; - next; - mes "[Resting Laphine]"; - mes "This is music from your country yes?"; - mes "I think it sounds great."; - close; - } - else { - mes "[Resting Laphine]"; - mes "IyazLarsSe Or An."; - mes "marLoOsa Yee NeiBur"; - mes "Rinisehrnea Mu...? "; - close; - } -} - -spl_in01,181,218,5 script Resting Laphine#ep13_2 4_M_FAIRYKID5,{ - if ((isequipped(2782) > 0) && (ep13_2_rhea > 99)) { - mes "- He is nodding his head to the sound of the music -"; - next; - mes "[Resting Laphine]"; - mes "Do you know how to play a similar sound?"; - mes "This tone is unbelievable."; - close; - } - else { - mes "- He is nodding his head to the sound of the music -"; - next; - mes "[Resting Laphine]"; - mes "GothTingNoth Di~ nar.."; - mes "DiebIyazNud Yu FarAn"; - mes "nesFarDor U ~"; - close; - } -} - -spl_in01,161,213,7 script Dining Laphine#ep13 4_M_FAIRYSOLDIER,{ - if ((isequipped(2782) > 0) && (ep13_2_rhea > 99)) { - mes "[Dining Laphine]"; - mes "I got bored eating home cooked food."; - mes "The only thing that keeps me coming here is fruit soup..."; - next; - mes "[Dining Laphine]"; - mes "Hey you!"; - mes "Why are you staring at me eating dinner?"; - close; - } - else { - mes "[Dining Laphine]"; - mes "NothFarLu Ra...? "; - mes "RuffYur..!"; - next; - mes "- He is giving me a odd stare as he eats his dinner -"; - close; - } -} - -spl_in01,162,202,5 script Laphine taking notes#1 4_F_FAIRYKID,{ - if ((isequipped(2782) > 0) && (ep13_2_rhea > 99)) { - mes "[Laphine taking notes]"; - mes "We are quite impressed by the poet."; - mes "We Laphine love music aswell."; - mes "I never imagined that I would ever hear such exotic music."; - next; - mes "[Laphine taking notes]"; - mes "I want to study music someday."; - mes "I plan to write much about the study of instruments and music"; - next; - mes "[Laphine taking notes]"; - mes "Someday you should listen to mu people's music."; - close; - } - else { - mes "[Laphine taking notes]"; - mes "TiTalLars Ur tasThorNoth O AnImanWha."; - mes "FusLuRuff..... Mu TingLuAla Yee AnmanAndu"; - next; - mes "- He seems frustrated that you don't understand him -"; - close; - } -} - -spl_in01,167,207,7 script Silent Laphine#ep13 4_M_FAIRYKID4,{ - mes "- He is almost sleeping but he is still managing to hold a cup with a drink in it. He must be really tired-"; - close; -} - -spl_in01,180,201,3 script Laphine Soldier#ep13_1 4_M_FAIRYSOLDIER2,{ - if ((isequipped(2782) > 0) && (ep13_2_rhea > 99)) { - mes "[Laphine Soldier]"; - mes "You are a stranger here, aren't you?"; - mes "I am watching him to prevent anything bad from happening."; - next; - mes "[Laphine Soldier]"; - mes "Definitely you are involved."; - mes "The upper side people allow you to pass here..."; - mes "But nobody knows what's going to happen in this battlefield."; - next; - mes "[Laphine Soldier]"; - mes "Anyway, whats that instrument over there?"; - mes "We have a similar one..."; - mes "But it sounds totally different."; - close; - } - else { - mes "[Laphine Soldier]"; - mes "FusVohlAnu Ur Lon."; - mes "LoUdenFar Ha Dormaur?"; - mes "...marAmanYur Mu."; - next; - mes "-The Laphine Soldier wants to tell you something, but just stops talking as you give him a blank stare -"; - close; - } -} - -spl_in01,189,207,3 script Laphine Staff#ep13_1 4_F_FAIRYKID4,{ - if ((isequipped(2782) > 0) && (ep13_2_rhea > 99)) { - mes "[Laphine Staff]"; - mes "Hm, what's up?"; - mes "I'm sorry, but we don't sell food to strangers."; - next; - mes "[Laphine Staff]"; - mes "You guys also need to be careful of food here."; - mes "Food is scarce here."; - next; - mes "[Laphine Staff]"; - mes "You're going to have to find food somewhere else."; - close; - } - else { - mes "[Laphine Staff]"; - mes "VeldAnoWeh Or "; - mes "TurWos"; - mes "......ah..."; - next; - mes "- You just grin and smile. It's frustrating not to be able to understand their language. -"; - close; - } -} - -spl_in01,154,207,5 script Laphine Staff#ep13_2 4_F_FAIRYKID5,{ - if ((isequipped(2782) > 0) && (ep13_2_rhea > 99)) { - mes "[Laphine Staff]"; - mes "his camp serves a military purpose. But we also have a need for bars."; - next; - mes "[Laphine Staff]"; - mes "How else can a soldier release stress if not through drinking..."; - next; - mes "[Laphine Staff]"; - mes "We are here to support the laphine soldier by giving good drinks and entertainment."; - close; - } - else { - mes "[Laphine Staff]"; - mes "NorVerNuff Ee Re!"; - mes "remuDurOdes Mu AshFus~!"; - mes "OdesTalWeh Ur??? "; - close; - } -} - -spl_in01,122,314,5 script High-Ranked Soldier#ep13 4_M_FAIRYSOLDIER2,{ - if ((isequipped(2782) > 0) && (ep13_2_rhea > 99)) { - mes "[High-Ranked Soldier]"; - mes "Are ther any new supplies?"; - next; - mes "[Laphine Soldier]"; - mes "This sword just arrived..."; - mes "This is inspired by stars, and we tested it by cutting the thread floating over the water."; - next; - mes "[High-Ranked Soldier]"; - mes "Hmm, we rarely used swords. But it looks great as a decoration."; - next; - mes "- Seems their busy talking about weapons -"; - close; - } - else { - mes "[High-Ranked Soldier]"; - mes "NorVerNuff Ee Re...."; - next; - mes "[Laphine Soldier]"; - mes "FusVerAlah Di "; - mes "ModNorNor U DimVohlWeh O DimAmannea An WosAnoNoh An AnduMeOdes So TalAdor."; - next; - mes "[High-Ranked Soldier]"; - mes "DurNohHir Ha UorVaThus Di AshNuffLon U mahNuffThus U RuAmanAgol Ir NohHir...?"; - close; - } -} - -spl_in01,122,311,1 script Laphine Soldier#ep13_2 4_M_FAIRYSOLDIER,{ - if ((isequipped(2782) > 0) && (ep13_2_rhea > 99)) { - mes "[Laphine Soldier]"; - mes "Are you a stranger?"; - mes "Have you come here to see the Laphine's military storage?"; - next; - mes "[High-Ranked Soldier]"; - mes "Nevermind. These are useless to them..."; - mes "How can this delicate sword be used by those brutes...?"; - next; - mes "[Laphine Soldier]"; - mes "O"; - close; - } - else { - mes "[High-Ranked Soldier]"; - mes "NorVerNuff Ee Re...."; - next; - mes "[Laphine Soldier]"; - mes "FusVerAlah Di "; - mes "ModNorNor U DimVohlWeh O DimAmannea An WosAnoNoh An AnduMeOdes So TalAdor."; - next; - mes "[High-Ranked Soldier]"; - mes "DurNohHir Ha UorVaThus Di AshNuffLon U mahNuffThus U RuAmanAgol Ir NohHir...?"; - close; - } -} - -//== ep33_2_dailybs ======================================== -splendide,121,259,3 script Fairy#ep13bs1 4_F_FAIRYKID,{ - if (isequipped(2782) == 1) { - mes "[Fairy]"; - mes "Have you ever gone to the East side?"; - mes "Theres lots of ice~"; - mes "How cold..."; - close; - } - else { - mes "[nes]"; - mes "VaFuloDor An "; - mes "WosNuffremu Ha TurAshTi"; - mes "VilTiRini O "; - close; - } -} - -splendide,163,264,3 script Fairy#ep13bs2 4_F_FAIRYKID3,{ - if (isequipped(2782) == 1) { - mes "[Fairy]"; - mes "What are you looking at!"; - next; - mes "[Fairy]"; - mes "Oh me! You know beauty when you see it don't you~?!"; - close; - } - else { - mes "[nes]"; - mes "UorVeLars No Ador"; - next; - mes "[nes]"; - mes "SeGothShar An AshDur"; - close; - } -} diff --git a/npc/cities/umbala.txt b/npc/cities/umbala.txt deleted file mode 100644 index a8127c372..000000000 --- a/npc/cities/umbala.txt +++ /dev/null @@ -1,1044 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2015 Hercules Dev Team -//= Copyright (C) L0ne_W0lf -//= Copyright (C) Toms -//= Copyright (C) Evera -//= Copyright (C) Lance -//= Copyright (C) massdriller -//= Copyright (C) Lupus -//= Copyright (C) Darkchild -//= Copyright (C) Muad Dib -//= Copyright (C) Fusion Dev Team -//= Copyright (C) jAthena -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Umbala Town script -//================= Description =========================================== -//= Umbala Town Npcs -//================= Current Version ======================================= -//= 2.1 -//========================================================================= - -comodo,170,137,7 script La Ed#um 4_M_02,{ - end; -} - -comodo,171,137,1 script Haith#um 4_F_03,{ - mes "[La Ed]"; - mes "There MUST be a treasure hidden in that place!"; - next; - mes "[Haith]"; - mes "If we find it, people will no longer think we're losers~!!"; - next; - mes "[La Ed]"; - mes "Finally!"; - next; - mes "[Haith]"; - mes "Let's go find that treasure!"; - next; - mes "[La Ed]"; - mes "Let's do it~ !!"; - emotion e_gg; - next; - mes "[Haith]"; - mes "................"; - next; - mes "[La Ed]"; - mes "By the way...do you think he"; - mes "would tell us about such a"; - mes "great treasure so easily?"; - emotion e_hmm; - emotion e_hmm,0,"La Ed#um"; - next; - select("Hm? What treasure?"); - mes "[La Ed]"; - mes "Wha--?! when did you start listening to us?!"; - next; - mes "[Haith]"; - mes "Huh...seems like you wanna know"; - mes "more about the treasure. Well,"; - mes "this information doesn't come cheap..."; - emotion e_gg; - next; - mes "[La Ed]"; - mes "Plus, we'll need a little"; - mes "a little something in case"; - mes "*cough!* ^555555we don't find"; - mes "anything at all.^000000"; - next; - mes "[La Ed, Haith]"; - mes "If you pay us 1,000 zeny, we will tell you!"; - emotion e_gg; - emotion e_gg,0,"La Ed#um"; - next; - if (select("Pay 1,000 zeny", "Refuse to pay") == 1) { - if (Zeny > 999) { - Zeny -= 1000; - mes "[Haith]"; - mes "Hahahaha! You the man!"; - next; - mes "[La Ed]"; - mes "Okay, not too long ago, a famous"; - mes "adventurer named Niels came back from his travels."; - next; - mes "[Haith]"; - mes "*Whispers*"; - mes "^555555He brought a big box with him.^000000"; - next; - mes "[La Ed]"; - mes "Also, he came back in the middle"; - mes "of the night without telling"; - mes "anyone. So, of course he's got"; - mes "some secret, don't you think?"; - next; - mes "[Haith]"; - mes "What could be inside that box~?"; - mes "It just has to be treasure!!"; - next; - mes "[La Ed]"; - mes "So! We decided to go on a journey to find treasure of our own-!!"; - next; - mes "[Haith]"; - mes "The problem is, we are not sure"; - mes "whether or not Niels would tell"; - mes "us the location of where he"; - mes "found the treasure..."; - emotion e_hmm; - next; - mes "[La Ed]"; - mes "Because Niels always treat us like"; - mes "we're stupid!! Bah~!!"; - next; - select("Where is this Niels person?"); - mes "[La Ed]"; - mes "He's staying at the northern part"; - mes "of this village."; - next; - mes "[Haith]"; - mes "Since we gave you good information,"; - mes "we expect that you pay us back!"; - next; - mes "[La Ed, Haith]"; - mes "Good luck!"; - close; - } - mes "[La Ed]"; - mes "Oh well~! If you don't have the money, then we can't give you the information~"; - close; - } - mes "[Haith]"; - mes "Bah! Whatever~"; - emotion e_hmm; - emotion e_hmm; - close; -} - -cmd_in01,175,120,3 script Iriya#um 1_F_04,{ - mes "[Iriya]"; - mes "Mr. Niels is at the table in the"; - mes "corner. He has many interesting"; - mes "stories about the world."; - next; - mes "[Iriya]"; - mes "I am not sure where he has been"; - mes "this time. He just laughs and"; - mes "says 'I don't think I am fit"; - mes "for this teaching job.'"; - next; - mes "[Iriya]"; - mes "In the meantime, people keep"; - mes "visiting Mr. Niels... and I"; - mes "can't help but wonder..."; - mes "Where has he gone?"; - close; -} - -cmd_in01,164,115,1 script Niels#um 4_M_JOB_BLACKSMITH,{ - mes "[Niels]"; - mes "Hmm? What's that look for?"; - mes "Ah~ You must of heard the rumors"; - mes "of me finding some kind of"; - mes "treasure. Yeah, that's understandable..."; - next; - mes "[Niels]"; - mes "Well, those rumors of me stumbling"; - mes "on some wonderful treasure is"; - mes "just the result of overactive"; - mes "imaginations. All I've found"; - mes "was a little something to add"; - mes "to my collection."; - next; - mes "[Niels]"; - mes "But...since I've proven to myself"; - mes "that 'it' actually exists by"; - mes "seeing it with my own eyes,"; - mes "to me, what I've obtained is a"; - mes "valuable treasure."; - next; - mes "[Niels]"; - mes "This village of Comodo!"; - mes "Don't you think the caves are too"; - mes "small and narrow for some reason?"; - next; - mes "[Niels]"; - mes "So I was thinking about it..."; - mes "And I came to the conclusion that"; - mes "there should be something hidden"; - mes "inside the cave..."; - next; - mes "[Niels]"; - mes "And then!"; - mes "I finally found it."; - mes "The patch to 'the place'"; - mes "that no one has ever found!"; - next; - mes "[Niels]"; - mes "................"; - next; - mes "[Niels]"; - mes ".......Hm?"; - next; - mes "[Niels]"; - mes "I was expecting a spectacular and"; - mes "rather dramatic sound effect"; - mes "for my declaration!"; - mes "Eh, oh well..."; - emotion e_hmm; - next; - mes "[Niels]"; - mes "Well, in the spirit of discovery,"; - mes "don't ever think of asking me"; - mes "about directions to 'the place'"; - mes "or about what is in 'the place.'"; - mes "I wouldn't want to spoil the"; - mes "surprise."; - next; - mes "[Niels]"; - mes "If you're a real adventurer,"; - mes "I expect you to scream at the"; - mes "top of your lungs..."; - next; - mes "[Niels]"; - mes "'Ahhhh! I need to know what it"; - mes "is!!' Kick the door open and run"; - mes "like hell to find this place on"; - mes "your own!!"; - next; - mes "[Niels]"; - mes "Now! Hurry and seek this place"; - mes "out! Will this place be a totally"; - mes "new world, or will it be a trap"; - mes "to hell?! Go forth, meet your"; - mes "destiny, adventurer!"; - close; -} - -umbala,70,106,3 script Utan Kid#um 4_F_UMGIRL,{ - if (event_umbala >= 3) { - mes "[???]"; - mes "Huh?"; - mes "You're not one of us, are you?"; - next; - mes "[???]"; - mes "Heh! Hi!"; - mes "My name is Haatan."; - emotion e_heh; - next; - mes "[Haatan]"; - mes "...*Sigh*"; - mes "I am sorry, but I cannot play with"; - mes "you right now. My parent's house"; - mes "was struck by lightning yesterday"; - mes "and it burned down our roof..."; - emotion e_sob; - next; - mes "[Haatan]"; - mes " . . . !"; - next; - mes "[Haatan]"; - mes "Oh yes! Could you help me?"; - mes "You look pretty well off..."; - mes "Can donate some money for"; - mes "re-constructing my parents' house?"; - mes "You Rune-Midgardians are all"; - mes "richier than Utans! I beg you!"; - emotion e_heh; - next; - if (select("(Nod head)", "(Shake head)") == 1) { - mes "[Haatan]"; - mes "Whoaaaa!!"; - mes "You the man~!"; - mes "Thank you so much, yay~!"; - if (Zeny > 1000) { - Zeny -= 1000; - if (checkweight(Meat,1)) { - getitem Meat,1; - } - emotion e_swt2; - } - else { - next; - mes "[Haatan]"; - mes "Uh..."; - mes "It looks like..."; - mes "You don't have much"; - mes "yourself..."; - emotion e_pif; - close; - } - next; - mes "[Haatan]"; - mes "Thank you so much!"; - emotion e_heh; - close; - } - mes "[Haatan]"; - mes ".............*Sob*..."; - emotion e_sob; - close; - } - else { - mes "[???]"; - mes "Umbah?"; - mes "Umbala umbabah umbah?"; - next; - mes "[???]"; - mes "Umbah! Umbaumbah!"; - mes "Umbahumbah Haatan babah."; - emotion e_sob; - next; - mes "[Haatan]"; - mes "........umbah,"; - mes "Umbah umbah umbaumbumbah umbah umbah"; - mes "Babaum babahum woombah umbah umbabah"; - mes "Umbah umbah"; - mes "..Umbah umbabah umbah..."; - emotion e_heh; - next; - mes "[Haatan]"; - mes " . . . !"; - next; - mes "[Haatan]"; - mes "Umbah!"; - mes "Umbah umbah? Umbah umbahbah"; - mes "abaum babahum woombah!"; - mes "Umbahumbah umbabahumbaumhumbah! Umbah!"; - emotion e_heh; - next; - if (select("(Nod head)", "(Shake head)") == 1) { - mes "[Haatan]"; - mes "Umbaumbah!!"; - mes "Um~bahumbah~ Um~baumbah~"; - mes "Um~baumbah~ um~baumbah~"; - if (Zeny > 1000) { - Zeny -= 1000; - if (checkweight(Meat,1)) { - getitem Meat,1; - } - emotion e_swt2; - } - else { - next; - mes "[Haatan]"; - mes "...umbah? Umbahumbah!! Umbaum!"; - emotion e_pif; - close; - } - next; - mes "[Haatan]"; - mes "Umba umba umbaum."; - emotion e_sob; - close; - } - mes "[Haatan]"; - mes "........umbah.."; - emotion e_heh; - close; - } - close; -} - -umbala,59,243,5 script Utan Kid#1 4_M_UMKID,{ - if (event_umbala >= 3) { - mes "[Kotan]"; - mes "............"; - mes ".........poop!"; - mes ".....me like Meat."; - mes "....gimme a Meat."; - emotion e_rock; - next; - if (select("Give him Meat.", "Refuse.") == 1) { - if (countitem(Meat) > 0) { - mes "[Kotan]"; - mes "Whoa, are you really giving me"; - mes "Meat? Thanks! I will pay you"; - mes "back with these."; - delitem Meat,1; - getitem Jellopy,2; - getitem Fluff,2; - getitem Clover,2; - emotion e_scissors; - close; - } - mes "[Kotan]"; - mes "Hah! You don't have Meat,"; - mes "but pretend that you do?!"; - mes "I hate people who lie"; - mes "to me!!"; - percentheal -20,0; - emotion e_an; - close; - } - mes "[Kotan]"; - mes "........."; - mes ".....hungwee."; - mes ".....I want Meat."; - percentheal -1,0; - emotion e_sob; - close; - } - else { - mes "[???]"; - mes "............"; - mes "........umbah."; - mes ".......umbabah."; - mes "......humbah."; - emotion e_rock; - next; - if (select("Umbah", "Umbaboo") == 1) { - if (countitem(Meat) > 0) { - mes "[???]"; - mes "Umbaumbaumbabababah."; - mes "Umbababahum."; - delitem Meat,1; - getitem Jellopy,2; - getitem Fluff,2; - getitem Clover,2; - emotion e_scissors; - close; - } - mes "[???]"; - mes "Umbahumumhumbubabababah!!"; - mes "Umbahumbababah umbahumboo!"; - percentheal -20,0; - emotion e_an; - close; - } - mes "[???]"; - mes "..........."; - mes "......woong bah."; - mes "....umbabababah."; - emotion e_sob; - percentheal -1,0; - close; - } -} - -umbala,177,153,3 script Pasto#um 4W_M_01,{ - mes "[Pasto]"; - emotion e_gasp; - mes "Oh my god~! Finally,"; - mes "another Rune-Midgardian!"; - mes "I've never seen anyone from"; - mes "home in this place before!"; - mes "Nice to meet you, my name is Pasto!"; - next; - mes "[Pasto]"; - mes "This place is called Umbala."; - mes "The local people in this village"; - mes "have formed a culture that's"; - mes "totally different from other"; - mes "places I've been."; - next; - mes "[Pasto]"; - mes "I guess it's because this"; - mes "place has been isolated from"; - mes "other regions because of its"; - mes "geographical features."; - next; - mes "[Pasto]"; - mes "They look different from us, and"; - mes "use a language that is still very"; - mes "confusing to me. I was also"; - mes "confounded by their different use"; - mes "of facial expression."; - next; - mes "[Pasto]"; - mes "Of course, there are some"; - mes "similarities. However, you might"; - mes "want to be careful about certain"; - mes "issues."; - next; - mes "[Pasto]"; - mes "Sometimes, what you say or do"; - mes "or do could be misinterpreted as"; - mes "having the totally opposite meaning."; - next; - mes "[Pasto]"; - mes "I wish I could speak their"; - mes "language...*Sigh*"; - mes "...Or I wish I could meet more"; - mes "people here that speak my"; - mes "language...I...I'm..."; - mes "So very lonely...*Sob*"; - emotion e_sob; - close; -} - -umbala,80,146,4 script Yuwooki#um 4_M_MONK,{ - mes "[Yuwooki]"; - mes "Umbah umbah woogawoo..."; - mes "oops, sorry! I'm so used"; - mes "to speaking in Utan by now."; - mes "It's a pleasure to meet you."; - next; - mes "[Yuwooki]"; - mes "I never imagined that I would"; - mes "meet another person from"; - mes "the homeland in this village."; - mes "Hahahahah~!"; - next; - mes "[Yuwooki]"; - mes "I came here to seek strong people"; - mes "to help me master my fighting"; - mes "skills. But I was soon frustrated"; - mes "because it took me a long"; - mes "time to learn the language..."; - next; - mes "[Yuwooki]"; - mes "Well, now I am kind of used to my"; - mes "circumstances. Even though it"; - mes "took me a while to used to"; - mes "Utan culture. Hahahaha~!"; - next; - mes "[Yuwooki]"; - mes "But you know what was the weirdest"; - mes "thing I found out about Utan"; - mes "culture? At first the Utan men"; - mes "seemed to have, shall we say, a"; - mes "strong species preservation instinct."; - next; - mes "[Yuwooki]"; - mes "There are many Utan playboys in"; - mes "this village. Some may think"; - mes "the Utans are primitive in"; - mes "this respect, but..."; - next; - mes "[Yuwooki]"; - mes "As I learned more about them,"; - mes "I eventually realized that their"; - mes "courtship rituals are actually"; - mes "more advanced than anything the"; - mes "Rune-Midgard culture has to offer."; - next; - mes "[Yuwooki]"; - mes "It's really quite fascinating."; - mes "I'm actually still learning"; - mes "quite much from the Utan"; - mes "playboys and their awesome methods."; - close; -} - -umbala,140,157,6 script Utan Man#1 4_M_UMDANCEKID2,{ - if (event_umbala >= 3) { - mes "[Jertan]"; - mes "Bungee jumping can be dangerous,"; - mes "and you can risk your life doing"; - mes "it. We Utans have consider"; - mes "bungee jumping an important"; - mes "part of the ceremony of"; - mes "becoming an adult."; - close; - } - else { - mes "[???]"; - mes "Umbaumbah humba."; - mes "Woo umbaumbaumbabah woo humbah"; - mes "Umbababah umba umba."; - close; - } -} - -umbala,146,157,4 script Utan Man#2 4_M_UMDANCEKID,{ - if (event_umbala >= 3) { - mes "[Arotan]"; - mes "Completing the bungee jump"; - mes "is very difficult to do."; - mes "Today, we are here in celebration"; - mes "of the people that made it and"; - mes "have shown their courage."; - close; - } - else { - mes "[???]"; - mes "Woo umbaumbaumbabah woo humbah"; - mes "Umbababah umba umba."; - close; - } -} - -umbala,149,165,4 script Utan Kid#3 4_F_UMGIRL,{ - if (event_umbala >= 3) { - mes "[Klumatan]"; - mes "It's really scary, falling from"; - mes "such a high place..."; - mes "But I guess you have to do it,"; - mes "otherwise no one will ever"; - mes "consider you a grownup."; - next; - mes "[Klumatan]"; - mes "I guess I don't want to"; - mes "be a grownup right away."; - mes "But some kids my age are"; - mes "in too big of a hurry"; - mes "to not be kids anymore."; - close; - } - else { - mes "[???]"; - mes "Umbahumba umumbah."; - mes "Umbahumbah umbabah."; - mes "Umbahumhumbabahum."; - close; - } -} - -umbala,92,159,4 script Bertan#um 4_M_UMDANCEKID2,{ - if (event_umbala >= 3) { - mes "[Bertan]"; - mes "What up, loser!"; - next; - mes "[Bertan]"; - mes "What's the matter,"; - mes "ya big Rune-Midgardian?!?!"; - mes "I just called you a 'loser!'"; - mes "I guess you're too stupid"; - mes "to understand!!"; - mes "Hahahahahahaahahhahaha~!"; - next; - mes "[Bertan]"; - mes "..."; - mes "Uh...oh!"; - next; - mes "[Bertan]"; - mes "It looks like you can understand"; - mes "me--! Good job, good job!"; - mes "Alright, by way of apology,"; - mes "do you want to hear a joke?"; - next; - mes "[Bertan]"; - mes "Alright, alright."; - mes "Here we go."; - mes "Ummmm..."; - mes "Alright, I got one."; - next; - switch(rand(1,6)) { - case 1: - mes "[Bertan]"; - mes "What did the Rune-Midgardian"; - mes "say to the Savage?"; - mes "..."; - next; - mes "[Bertan]"; - mes "I don't know..."; - mes "But they didn't have any"; - mes "trouble understanding"; - mes "each other!!! HAHAHAHA~!"; - mes "Get it? 'Cuz, like,"; - mes "they're both pigs~!"; - next; - mes "[Bertan]"; - mes "Not funny, huh?"; - mes "Oh well. I guess my"; - mes "sense of humor is just"; - mes "too sophisticated."; - close; - case 2: - mes "[Bertan]"; - mes "Okay...what's the best"; - mes "way to tame an Orc Lady?"; - mes "Give up..?"; - next; - mes "[Bertan]"; - mes "With a wedding ring!"; - mes "HAHAHAHAHAHAHHA!"; - mes "Oh God~ I'm hilarious!!"; - next; - mes "[Bertan]"; - mes "..."; - mes "...Wait."; - mes "Wait a minute..."; - next; - mes "[Bertan]"; - mes "That's not even funny..."; - mes "Just incredibly..."; - mes "Scary..."; - mes "Brrr--!"; - mes "She's hideous!!"; - close; - case 3: - mes "[Bertan]"; - mes "Actually...forget it."; - next; - mes "[Bertan]"; - mes "I was going to say a"; - mes "knock knock joke about"; - mes "Isis, but then decided"; - mes "that kind of humor is"; - mes "too low brow."; - mes "...Zing!"; - close; - case 4: - mes "[Bertan]"; - mes "Why are Rune-Midgardians"; - mes "SOOoOOoo..."; - mes "Um, hmmmmm."; - mes "Maybe that joke"; - mes "isn't so good for this"; - mes "situation, yeah?"; - close; - case 5: - mes "[Bertan]"; - mes "Okay, why is it that"; - mes "GMs prefer not to be"; - mes "seen...? Give up?"; - next; - mes "[Bertan]"; - mes "BECAUSE THOSE GUYS WEAR"; - mes "SKIRTS ~! HAHAHA!"; - mes "OH MAN, I MADE A FUNNY!"; - next; - mes "[Bertan]"; - mes "*Whew* Yowza~"; - mes "Oh, man."; - mes "Utterly classic."; - close; - case 6: - mes "[Bertan]"; - mes "A Crusader, an Alchemist and a Novice walk into a bar."; - next; - mes "[Bertan]"; - mes "Inside, they see a sign that"; - mes "says '^CC0000Monster Help Agency:"; - mes "LADIES ONLY.^000000'"; - next; - mes "[Bertan]"; - mes "'^000099Oh!^000000' says the Crusader."; - mes "'^000099It's a lucky thing we are"; - mes "all ladies.^000000' She goes up"; - mes "and says '^000099Gimmie a ride.^000000'"; - mes "Kinda rude for a Crusader,"; - mes "but whatever."; - next; - mes "[Bertan]"; - mes "Out of nowhere, this"; - mes "Grand PecoPeco appears"; - mes "and is all '^CC0000I'll give you"; - mes "a ride, baby. Careful, this"; - mes "road can get buuuuumpy.^000000'"; - mes "And then they're off."; - next; - mes "[Bertan]"; - mes "Next comes the Alchemist"; - mes "and she's like '^330099I need"; - mes "help killing Zombies^000000' and"; - mes "then this Marine Sphere"; - mes "comes from out of"; - mes "nowhere and is all..."; - next; - mes "[Bertan]"; - mes "'^CC0000I got your fire. Careful"; - mes "baby, touch me the wrong"; - mes "way and I might just"; - mes "exploooode.^000000' So then"; - mes "they're off on their"; - mes "merry way too."; - next; - mes "[Bertan]"; - mes "Finally, the Novice"; - mes "comes up and says"; - mes "'^006633I need someone to"; - mes "party with.^000000'"; - next; - mes "[Bertan]"; - mes "Out of nowhere, this"; - mes "Hode pops up and says..."; - next; - mes "[Bertan]"; - mes "'^CC0000I know some people"; - mes "but let me check my"; - mes "Rolodex. HODE on!^000000'"; - mes "...."; - next; - mes "[Bertan]"; - mes "....."; - mes ".........."; - mes "No go?"; - next; - mes "[Bertan]"; - mes "Well, come on!"; - mes "I can't be funny"; - mes "all the time, you know?"; - close; - } - } - else { - mes "[????]"; - mes "Umbaumba Umbaumbah"; - next; - mes "[????]"; - mes "Bwahbwah hahbrah!"; - mes "Umbaumba Umbaumbah"; - mes "Umbaumba Umbaumbah"; - next; - mes "[????]"; - mes "Umbaumba Umbaumbah woo~"; - emotion e_ho; - close; - } - close; -} - -umbala,194,104,4 script Utan Kid#2 4_M_UMKID,{ - if (event_umbala >= 3) { - mes "[Boorkatan]"; - mes "Huh? You're from Rune-Midgard,"; - mes "aren't you? Have you ever been bungee jumping?"; - next; - if (select("Yeah", "No") == 1) { - mes "[Boorkatan]"; - mes "Whoa, what a surprise! I never"; - mes "would have thought someone from"; - mes "outside would know how to do it."; - mes "Okay, I'll take your word for"; - mes "it and welcome you to our village."; - close; - } - mes "[Boorkatan]"; - mes "Er, I see..."; - mes "As part of the ceremony of"; - mes "adulthood, all Utans have to do"; - mes "a bungee jump. When I grow up,"; - mes "I'm gonna do it too, and prove"; - mes "to everybody that I am a man!"; - close; - } - else { - mes "[???]"; - mes "Umbaumbababah umhumba."; - mes "Umbabaumumba umbaumbah?"; - next; - if (select("Yeah", "No") == 1) { - mes "[???]"; - mes "Umba, Umumbah umbabah."; - mes "Umbaumbah umumbabah."; - close; - } - mes "[???]"; - mes "Er, Umbahumba umumbah."; - mes "Umbahumbah umbabah."; - mes "Umbahumhumbabahum."; - close; - } -} - -umbala,193,208,6 script Utan Man#3 4_M_UMSOLDIER,{ - if (event_umbala >= 3) { - mes "[Weitan]"; - mes "I too did the bungee jump when I"; - mes "was young. I remember it well..."; - mes "It was my first time, and the"; - mes "ground rushed up to meet me..."; - mes "For a moment, I thought I was"; - mes "going to get myself killed..."; - next; - mes "[Weitan]"; - mes "But after I made it, I was so"; - mes "proud of myself~"; - mes "Some Utans may not agree, but"; - mes "I think bungee jumping is an"; - mes "important part of the ceremony"; - mes "of adulthood."; - close; - } - else { - mes "[???]"; - mes "Umbahumba umumbah."; - mes "Umbahumbah umbabah."; - mes "Umbahumhumbabahum."; - close; - } -} - -umbala,139,205,4 script Utan Man#5 4_M_UMDANCEKID2,{ - if (event_umbala >= 3) { - mes "[Jooltan]"; - mes "It's been a long time since I last"; - mes "saw a Rune-Midgardian~!"; - mes "Welcome, stranger."; - next; - mes "[Jooltan]"; - mes "We Utans use this place for"; - mes "bungee jumping. Many Utan"; - mes "youngsters have shown their"; - mes "bravery, earned their"; - mes "self-respect, and became"; - mes "adults in this very place."; - next; - mes "[Jooltan]"; - mes "Oh...right. A few unlucky people"; - mes "just fell and died after"; - mes "messing up their bungee jump. And"; - mes "a few had heart attacks while"; - mes "looking at other people jumping down..."; - next; - mes "[Jooltan]"; - mes "So..."; - mes "Be careful when you walk around,"; - mes "You don't want to fall off."; - mes "And if you want to try a bungee"; - mes "jump, you should get yourself ready."; - next; - mes "[Jooltan]"; - mes "Oh...right. Supposedly,"; - mes "there's an unidentified"; - mes "creature living in the water..."; - mes "So if you happen to get dunked,"; - mes "get out of there~!"; - close; - } - else { - mes "[???]"; - mes "Umbah umbah!"; - mes "Umbaumbah bababah umbah."; - mes "Babaumm Utan umbah umbabah"; - mes "Umbaba hum."; - mes "Umumhumbah umbaumbah umbabah."; - next; - mes "[???]"; - mes "Umbaum mahbababh umba,"; - mes "Umbabatan umbaumbah."; - mes "Ba, umbaumbaumumbabaumm."; - mes "Umbabah umbaumumum."; - mes "Umbaumbaubahum."; - close; - } -} - -um_in,158,71,3 script Utan villager#um 4_M_UMKID,{ - if (event_umbala >= 3) { - mes "[Mutakutan]"; - mes "Umbala has many many trees!"; - mes "I, Mutakutan, like trees so much."; - mes "Heh heh~"; - next; - mes "[Mutakutan]"; - mes "There is one special tree I like"; - mes "the most! That is the oldest and"; - mes "biggest tree in Umbala!"; - mes "No wait, I think it is the oldest"; - mes "and biggest in the world..."; - mes "I'm sure it is!"; - next; - mes "[Mutakutan]"; - mes "It's really really big and old!"; - mes "It's so tall, even I haven't seen"; - mes "the top of this tree yet. I tried"; - mes "climbing it before, but I could"; - mes "never reach the top...even though"; - mes "I'm great at tree climbing."; - next; - mes "[Mutakutan]"; - mes "Oh, also the fruits from the tree"; - mes "are very tasty! I bet they are the"; - mes "most delicious fruit in the world~"; - mes "Sweet and sour...eating it just"; - mes "makes you feel refreshed and"; - mes "invigorated~!"; - next; - mes "[Mutakutan]"; - mes "There's an amazing story about"; - mes "this fruit. An old man in my"; - mes "village was suffering from a"; - mes "mortal disease...nothing"; - mes "seemed to help..."; - next; - mes "[Mutakutan]"; - mes "But after he took medicine made"; - mes "from the ground leaves of this"; - mes "tree, he became healthy and sound"; - mes "again! I think God sent us the"; - mes "tree to bless us."; - next; - mes "[Mutakutan]"; - mes "It's at north of my village, so"; - mes "why don't you go see the greatness"; - mes "of this tree for yourself?"; - } - else { - mes "[??????]"; - mes "Umbaumbah umbahbah woomhah!"; - mes "Umbah umbah umbabah umbah"; - mes "Umbah umbah umbah"; - mes "Umbabah umbah umbabbah"; - next; - mes "[??????]"; - mes "...."; - mes "......"; - mes "Umbah balooooga?"; - mes "Umbah balooooooooga?"; - next; - mes "[??????]"; - mes "..."; - mes "Moogahaloo schluloo."; - } - close; -} - -umbala,140,197,1 script Bungee Jump FAKE_NPC,0,0,{ -OnTouch: - switch(rand(1,3)) { - case 1: - Hp = 1; - mapannounce "umbala","Bungee Jump: "+strcharinfo(PC_NAME)+" : Kyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa~~~~~~~",bc_map; - end; - case 2: - percentheal -50,0; - mapannounce "umbala","Bungee Jump: "+strcharinfo(PC_NAME)+" : Wooooooaaaaaaaaaaaaaahhhhhhhhhhhh~~~~~~!",bc_map; - end; - case 3: - if (rand(1,2) == 2) { - Hp = 1; - warp "nif_in",69,15; - } - end; - } -} - -umbala,136,195,0 script #jump FAKE_NPC,1,1,{ -OnTouch: - warp "umbala",145,166; - end; -} diff --git a/npc/cities/veins.txt b/npc/cities/veins.txt deleted file mode 100644 index 5323a2af5..000000000 --- a/npc/cities/veins.txt +++ /dev/null @@ -1,827 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2015 Hercules Dev Team -//= Copyright (C) Kisuka -//= Copyright (C) L0ne_W0lf -//= Copyright (C) Muad_Dib -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Veins Town script -//================= Description =========================================== -//= Veins Town Npcs -//================= Current Version ======================================= -//= 1.1 -//========================================================================= - -//== Veins ================================================= -veins,162,34,5 script Towner#ve1 4_M_DESERT,{ - mes "[Towner]"; - mes "I love cacti. They're"; - mes "the most beautiful plants"; - mes "in the desert. Sometimes,"; - mes "they're the only signs of"; - mes "life in a barren land."; - next; - mes "[Towner]"; - mes "If you feel a stirring"; - mes "in your heart when you"; - mes "look at a cactus, you"; - mes "must appreciate the"; - mes "desert's true beauty."; - next; - mes "[Towner]"; - mes "Well, I don't know if"; - mes "I can find anyone that"; - mes "finds the desert as"; - mes "wonderful and enchanting"; - mes "as I do. It's a pity, really."; - close; -} - -veins,148,41,3 script Towner#ve2 4_F_DESERT,{ - mes "[Towner]"; - mes "Welcome to Veins, the"; - mes "town near the Temple of"; - mes "Cheshrumnir. You may think"; - mes "this is a dreary desert town,"; - mes "but you'll find that it's as"; - mes "lively as any other place."; - next; - mes "[Towner]"; - mes "Sure, there are a few"; - mes "characters in town, like"; - mes "that cactus loving loony"; - mes "over there, but not everyone's"; - mes "like him. There's lots of nice,"; - mes "kind people that you can meet."; - next; - mes "[Towner]"; - mes "Well then, I hope that"; - mes "you enjoy your stay~"; - close; -} - -veins,137,179,5 script Towner#ve3 4_M_DESERT,{ - mes "[Towner]"; - mes "Geez, why is our weapon"; - mes "shop so boring? Nothing"; - mes "there but the same ol'"; - mes "regular junk. Sad to say,"; - mes "there's nothing special."; - next; - mes "[Towner]"; - mes "Wouldn't it be great"; - mes "if there was a shop that"; - mes "sold the legendary godly"; - mes "weapons? Of course, that's"; - mes "asking a bit too much."; - close; -} - -veins,166,91,5 script Towner#ve4 4_M_DST_MASTER,{ - mes "[Towner]"; - mes "Though we're in the"; - mes "middle of the desert,"; - mes "our enemies continue"; - mes "to threaten us. Fools!"; - mes "Goddess Freya will"; - mes "always protect us!"; - next; - mes "[Towner]"; - mes "So long as we continue to"; - mes "train, Freya will watch over"; - mes "us and bless us with victory"; - mes "over our foes. That, friend,"; - mes "is the power of faith."; - close; -} - -veins,138,71,5 script Kid#ve1 4_F_DST_CHILD,{ - mes "[Kid]"; - mes "Whoa, get out of here!"; - mes "Can't you see that I'm"; - mes "playing hide and go seek?!"; - mes "Move before they find me!"; - close; -} - -veins,253,133,3 script Kid#ve2 4_M_DST_CHILD,{ - mes "[Kid]"; - mes "Gosh, where could she"; - mes "be hiding? I hate being"; - mes "it... There's so many places"; - mes "to hide around here. There"; - mes "must be someplace I haven't"; - mes "checked yet... Let's see..."; - close; -} - -veins,270,164,5 script Old Man#ve1 4_M_DST_GRAND,{ - mes "[Old Man]"; - mes "Praise be to Freya"; - mes "for blessing me with"; - mes "long life, but I wonder"; - mes "if I've fully lived life."; - next; - mes "[Old Man]"; - mes "I don't have any regrets"; - mes "or doubts, but maybe there"; - mes "are a few things I missed"; - mes "out on. I guess an old man"; - mes "can't help but think about"; - mes "these sorts of things..."; - close; -} - -veins,310,195,1 script Towner#ve5 4_M_DST_MASTER,{ - mes "[Towner]"; - mes "Cacti are wonderful,"; - mes "they're the most beautiful"; - mes "plants in the desert. Yes, we"; - mes "must cherish and nurture them~"; - next; - mes "[Towner]"; - mes "Regular cacti are "; - mes "pretty uncommon, but"; - mes "I hear there's a kind of"; - mes "cactus that roams the desert"; - mes "and makes loud, obnoxious"; - mes "noises. How can that be true?"; - close; -} - -veins,320,254,5 script Towner#ve6 4_M_DESERT,{ - mes "[Towner]"; - mes "What do you want?"; - mes "Sorry, but I'm just"; - mes "a normal guy with normal"; - mes "problems. Nothing that"; - mes "I can't solve on my own."; - next; - mes "[Towner]"; - mes "Unless... You can do my"; - mes "taxes? Pay off my mortgage?"; - mes "No? Heh. Didn't think so."; - close; -} - -veins,333,318,3 script Towner#ve7 4_F_DESERT,{ - mes "[Towner]"; - mes "What's an adventurer"; - mes "doing here in such an"; - mes "isolated, dreary town?"; - mes "Shouldn't you be looking"; - mes "for adventures? Take it from"; - mes "me, this place if bo-ring."; - close; -} - -veins,218,323,1 script Towner#ve8 4_M_DST_GRAND,{ - mes "[Towner]"; - mes "Whoa, it's been a while"; - mes "seen I've seen tourists"; - mes "in town. You might think"; - mes "there's nothing here, but"; - mes "take a closer look. You"; - mes "might learn something."; - next; - mes "[Towner]"; - mes "Just like people, you"; - mes "can't know everything about"; - mes "a place with only a glance."; - mes "If you give it a chance, I'm"; - mes "sure you'll find something"; - mes "to like about this town."; - mes "and try to find things that mind interest you?"; - next; - mes "[Towner]"; - mes "What do I mean by ''a"; - mes "closer look?'' Heh, you'll"; - mes "see... Maybe. Hahahaha!"; - mes "Oh, forget it, it's not"; - mes "that important anyway."; - mes "May Freya bless you~"; - close; -} - -veins,206,275,3 script Kid#ve3 4_F_DST_CHILD,{ - mes "[Kid]"; - mes "I really want to look"; - mes "inside the temple, but"; - mes "it looks so scary from"; - mes "the outside! I wonder"; - mes "why it's like that?"; - close; -} - -veins,171,256,3 script Towner#ve9 4_M_DESERT,{ - mes "[Towner]"; - mes "Don't get me wrong:"; - mes "I'd give my life in Freya's"; - mes "name, but that so-called"; - mes "temple just looks so strange"; - mes "and suspicious. How can it"; - mes "be a place of worship?"; - close; -} - -veins,197,219,5 script Towner#ve10 4_M_DESERT,{ - mes "[Towner]"; - mes "I guess you can tell"; - mes "from this withered tree"; - mes "that our town is short"; - mes "on water. I guess that's"; - mes "a natural consequence of"; - mes "living here in the desert..."; - close; -} - -veins,232,169,5 script Old lady#ve1 4_F_DST_GRAND,{ - mes "[Old Lady]"; - mes "When I look down on"; - mes "Veins from here, I've"; - mes "come to realize many things."; - mes "I don't think you'd understand"; - mes "no matter how much I explained."; - next; - mes "[Old Lady]"; - mes "I suppose it's one of those"; - mes "things that you learn with age."; - mes "Yes, there's no substitute for"; - mes "experience when it comes to"; - mes "some things. You'll see."; - mes "^FFFFFFYes, like secret knowledge.^000000"; - close; -} - -veins,121,199,3 script Old Man#ve2 4_M_DST_GRAND,{ - mes "[Old Man]"; - mes "This isn't good."; - mes "The elderly outnumber"; - mes "the youth here in Veins."; - mes "We're too close to becoming"; - mes "something of a retirement"; - mes "community. You see it, right?"; - next; - mes "[Old Man]"; - mes "I guess the young people"; - mes "aren't content living here"; - mes "since we lack a lot of the"; - mes "material excitement of other"; - mes "towns. They can't appreciate"; - mes "what's really special here..."; - close; -} - -veins,111,50,3 script Towner#ve11 4_M_DESERT,{ - mes "[Towner]"; - mes "People cherish water"; - mes "around here, but I've"; - mes "something even more"; - mes "precious to me. Yes, even"; - mes "more precious than water..."; - mes "You guessed it--true love."; - next; - mes "[Towner]"; - mes "We actually started dating"; - mes "here, so this place really"; - mes "means a lot to me. It's my"; - mes "favorite spot for spending"; - mes "time with my girl. Hahaha~"; - close; -} - -veins,112,51,3 script Towner#ve12 4_F_DESERT,{ - mes "[Towner]"; - mes "Well, I'm actually"; - mes "a little tired of coming"; - mes "here all the time. I kind"; - mes "of want to try someplace"; - mes "else, but I also know he"; - mes "really loves coming here."; - next; - mes "[Towner]"; - mes "It would actually be"; - mes "kind of sad if we stopped"; - mes "coming here altogether."; - mes "I'm just happy so long"; - mes "as he's with me~ Hoho~"; - close; -} - -veins,191,134,3 script Old Man#ve3 4_M_DST_GRAND,{ - mes "[Old Man]"; - mes "Why don't you take"; - mes "a look at my goods?"; - mes "I've got many things"; - mes "that might interest you~"; - next; - mes "[Old Man]"; - mes "Praise be to Freya,"; - mes "who watches over us,"; - mes "and blesses us with"; - mes "food and drink. Don't"; - mes "you think that's great,"; - mes "young adventurer?"; - close; -} - -veins,177,147,3 script Old Lady#ve2 4_F_DST_GRAND,{ - mes "[Old Lady]"; - mes "Owning a lot of stuff"; - mes "might seem great, but"; - mes "many things aren't that"; - mes "valuable when you think"; - mes "of them in terms of"; - mes "real emotional value."; - next; - mes "[Old Lady]"; - mes "Well, that might have been"; - mes "a dangerous remark when"; - mes "I'm trying to sell things to"; - mes "customers. Still, I wish"; - mes "I could carry a wider"; - mes "selection of goods."; - next; - mes "[Old Lady]"; - mes "Of course, we're here"; - mes "in the middle of the desert,"; - mes "so maybe I'm asking too much."; - close; -} - -veins,223,165,5 script Kid#ve4 4_M_DST_CHILD,{ - mes "[Kid]"; - mes "Hey! Do you think"; - mes "I can reach the bridge"; - mes "over there if I jump"; - mes "from over here? Do"; - mes "you think you can try it?"; - next; - mes "[Kid]"; - mes "What?! You can't do it?"; - mes "Well, I'm gonna be different"; - mes "when I grow up! I'm gonna"; - mes "be the world's best jumper!"; - mes "I'm gonna be able to jump"; - mes "all the way to the mooooon!"; - close; -} - -veins,263,153,5 script Towner#ve13 4_M_DESERT,{ - mes "[Towner]"; - mes "The clothes we make here"; - mes "are high, airy, and sewn"; - mes "with high quality fabric."; - mes "Of course, we need to wear"; - mes "stuff like this since the"; - mes "weather is unbearably hot."; - next; - mes "[Towner]"; - mes "The fabric? Well,"; - mes "I'll give you a hint."; - mes "It's made of something"; - mes "related to camels. Heh!"; - mes "I'll leave you to figure it"; - mes "out on your own. Haha!"; - close; -} - -veins,296,184,3 script Towner#ve14 4_F_DESERT,{ - mes "[Towner]"; - mes "Let me tell you a secret."; - mes "But promise not to tell"; - mes "anyone else about it, okay?"; - next; - mes "[Towner]"; - mes "When the time comes,"; - mes "the Temple of Cheshrumnir"; - mes "will open up and the giant"; - mes "Freya robot will launch!"; - mes "It'll destroy every country"; - mes "except Arunafeltz!"; - next; - mes "[Towner]"; - mes "That robot can blow"; - mes "hurricanes from its mouth,"; - mes "and shoot lightning from"; - mes "its horns, and it can fire"; - mes "its fists away, and its"; - mes "chest is a flame thrower!"; - next; - mes "[Towner]"; - mes ".............................."; - mes "You don't believe me, either."; - mes "What did you just say? Zinger?"; - mes "Amazing Z? The hell's that?"; - close; -} - -veins,291,205,3 script Kid#ve5 4_M_DST_CHILD,{ - mes "[Kid]"; - mes "Argh! I'm a war god"; - mes "protecting Goddess Freya"; - mes "and Arunafeltz! Ahhhhh!"; - mes "Death to all our enemies!"; - next; - mes "[Kid]"; - mes "Burn, heretics, buuurn!"; - mes "Destroy your homes, your"; - mes "families, and build a new"; - mes "perfect world for Freya!"; - next; - mes "[Kid]"; - mes "Hee hee! Doesn't that"; - mes "sound wonderful! When"; - mes "I grow up, I wanna be"; - mes "that kind of hero!"; - close; -} - -veins,291,259,3 script Old Man#ve4 4_M_DST_GRAND,{ - mes "[Old Man]"; - mes "Fr... Fr..."; - next; - mes "[Old Man]"; - mes "Fr..."; - next; - mes "[Old Man]"; - mes "Praise Freya! ^333333*Keck*^000000"; - mes "^333333*Cough cough*^000000 Fre..."; - mes "^333333*Cough*^000000 Praise Freya!"; - mes "Freya! Conquer those"; - mes "that blaspheme you! Let"; - mes "me see it before I die!"; - next; - mes "[Old Man]"; - mes "I have never regretted"; - mes "^333333*Cough*^000000 my faith in you,"; - mes "my goddess! ^333333*Keck*^000000 May"; - mes "the suffering of all our"; - mes "enemies drive them to"; - mes "madness before death!"; - close; -} - -veins,291,284,3 script Old Lady#ve3 4_F_DST_GRAND,{ - mes "[Old Lady]"; - mes "I wonder what my"; - mes "standing with Freya"; - mes "is like. Hopefully, she"; - mes "will take mercy upon me"; - mes "when I leave this world."; - mes "My days here are numbered..."; - close; -} - -veins,248,301,3 script Kid#ve6 4_M_DST_CHILD,{ - mes "[Kid]"; - mes "Huh? You don't live here."; - mes "Are you... Are you a traveler?"; - mes "You musta been to so many"; - mes "other places, huh? What"; - mes "do they look like? I want to"; - mes "travel too when I grow up~"; - next; - mes "[Kid]"; - mes "I like this town, but I want"; - mes "to see how other people live."; - mes "The grown-ups think it's a bad"; - mes "idea, though. They say Freya"; - mes "hates it. Is it that bad that"; - mes "I can't stop wondering?"; - close; -} - -veins,161,63,3 script Old Man#ve5 4_M_DST_GRAND,{ - mes "[Old Man]"; - mes "Oh. You must be"; - mes "sightseeing. Um,"; - mes "Veins is a small town,"; - mes "visit Cheshrumnir Temple?"; - next; - mes "[Old Man]"; - mes "I hope you enjoy"; - mes "your stay. Now if"; - mes "you'll excuse me, I'd"; - mes "like to continue with"; - mes "my prayers to Freya."; - next; - mes "[Old Man]"; - mes "Oh, gracious Freya, your"; - mes "servant humbly beseeches"; - mes "you on bended knee..."; - mes "Heal me of this infirmity!"; - mes "The body is droopingly limp,"; - mes "but the spirit is willing...!"; - mes "must be... Cheshrumnir Temple."; - close; -} - -veins,157,123,3 script Towner#ve15 4_M_DST_MASTER,{ - mes "[Towner]"; - mes "You know what's good"; - mes "about the desert? No?"; - next; - mes "[Towner]"; - mes "The desert makes you"; - mes "stronger. Understand"; - mes "what I mean? Heh, you'll"; - mes "know as you spend more"; - mes "time here in the desert."; - close; -} - -//== Inside Veins ========================================== -ve_in,119,386,3 script Prisoner#ve1 4_M_DST_MASTER,{ - mes "[Prisoner]"; - mes "Unbelievable!"; - mes "What kind of country"; - mes "is this?! How can you"; - mes "lock me up just because"; - mes "I don't believe in Freya?!"; - next; - mes "[Prisoner]"; - mes "This isn't civilized!"; - mes "You're a bunch of savages"; - mes "if you can't respect my"; - mes "beliefs, you know that?"; - mes "Someone, someone help!"; - close; -} - -ve_in,111,379,0 script Ward#ve1 4_M_DST_MASTER,{ - mes "[Ward]"; - mes "This place ensures that"; - mes "dangerous criminals aren't"; - mes "threatening the publi--"; - mes "Wait. Why are you even"; - mes "here?! This place isn't"; - mes "safe for you! Leave!"; - close; -} - -ve_in,126,378,3 script Ward#ve2 4_M_DST_MASTER,{ - mes "[Ward]"; - mes "I'm grateful that our"; - mes "town is relatively peaceful."; - mes "If it were any other place,"; - mes "that tiny cell would be"; - mes "crammed full of criminals."; - next; - mes "[Ward]"; - mes "Thank Freya that I've"; - mes "been assigned to such"; - mes "a peaceful, quiet place."; - close; -} - -ve_in,101,314,1 script Towner#ve16 4_M_DESERT,{ - mes "[Towner]"; - mes "^333333*Pant Pant*^000000"; - mes "I must study as hard as I can"; - mes "for the grace of Goddess Freya."; - next; - mes "[Towner]"; - mes "I really believe that"; - mes "I can serve Freya one of"; - mes "these days if I can just"; - mes "expand my knowledge."; - close; -} - -ve_in,90,298,3 script Towner#ve17 4_M_DIEMAN,{ - mes "[Towner]"; - mes "It's too hot..."; - next; - mes "[Towner]"; - mes "So sweaty..."; - close; -} - -ve_in,361,243,5 script Towner#ve18 4_M_DIEMAN,{ - mes "[Towner]"; - mes "..............."; - mes "..............."; - mes "..............."; - next; - mes "[Towner]"; - mes "..............."; - mes "..............."; - mes "..............."; - next; - mes "[Towner]"; - mes "Tricked you!"; - mes "Thought I was dead,"; - mes "didn't you? Hahaha~"; - close; -} - -ve_in,242,124,3 script Towner#ve19 4_M_DIEMAN,{ - mes "[Towner]"; - mes "The drinks in this"; - mes "town are so... They're..."; - mes "They're so damn strong!"; - next; - mes "[Towner]"; - mes "Why..."; - mes "Why does the ground"; - mes "keep wobbling?! It's..."; - mes "It's like it's trying to"; - mes "betray me! Every time!"; - next; - mes "[Towner]"; - mes "^333333*Hiccup*^000000"; - close; -} - -ve_in,180,232,5 script Towner#ve20 4_M_DST_MASTER,{ - mes "[Towner]"; - mes "It's nice when a town"; - mes "is peaceful and quiet..."; - mes "But it's lame when a"; - mes "tavern is dead like this."; - next; - mes "[Towner]"; - mes "Well, there's good"; - mes "and bad points to"; - mes "everything. Hopefully"; - mes "things will pick up"; - mes "around here as more of"; - mes "you adventurers come visit."; - close; -} - -ve_in,163,212,3 script Towner#ve21 4_F_DESERT,{ - mes "[Towner]"; - mes "There's nothing but"; - mes "old people and children"; - mes "in this town. Where's a"; - mes "decent man worth marrying?"; - mes "There's a few bachelors that"; - mes "are my age, but... Well..."; - next; - mes "[Towner]"; - mes "They're all too hairy or"; - mes "too muscular. I don't think"; - mes "I'll be able to get married"; - mes "anytime soon! Oh, the misery!"; - close; -} - -ve_in,190,215,3 script Towner#ve22 4_M_DST_MASTER,{ - mes "[Towner]"; - mes "Well, our town doesn't"; - mes "have a choice but to"; - mes "defend itself in dangerous"; - mes "times. The young men we"; - mes "have here are all buff and"; - mes "tough to protect us."; - next; - mes "[Town]"; - mes "They may not be beautiful,"; - mes "but they have kind and"; - mes "gentle hearts. It's a pity"; - mes "that the women here"; - mes "are more concerned"; - mes "with appearances."; - next; - mes "[Towner]"; - mes "Don't judge a book"; - mes "by its cover, but"; - mes "by its contents."; - close; -} - -ve_in,318,121,3 script Towner#ve23 4_M_DESERT,{ - mes "[Towner]"; - mes "This storage solely"; - mes "exists for serious drinkers."; - mes "If it's ever shut down,"; - mes "I think everyone in town"; - mes "will riot. Crazy, huh?"; - next; - mes "[Towner]"; - mes "Veins is famous for its"; - mes "wide variety of delicious,"; - mes "irresistable liquor. Just one"; - mes "sip's enough to hook you."; - next; - mes "[Towner]"; - mes "Praise Freya for"; - mes "blessing us with the"; - mes "gift of awesome liquor."; - mes "Her graciousness, her"; - mes "compassion, her liquor"; - mes "is limitless. Let us pray."; - close; -} - -ve_in,222,125,5 script Towner#ve24 4_M_DESERT,{ - mes "[Towner]"; - mes "I really want to"; - mes "ask out the woman"; - mes "right in front of me."; - mes "Do you think she'll...?"; - next; - mes "[Towner]"; - mes "Crap! Did I say that"; - mes "out loud? I-I-I really"; - mes "didn't want her to hear!"; - close; -} - -ve_in,222,122,1 script Towner#ve25 4_F_DESERT,{ - mes "[Towner]"; - mes "I heard all that..."; - mes "Gosh, he's so clueless."; - mes "I don't hate him, but he"; - mes "should show a bit more"; - mes "backbone if he wants"; - mes "to impress me. Hmmm..."; - close; -} - -ve_in,232,135,5 script Towner#ve26 4_M_DST_MASTER,{ - mes "[Towner]"; - mes "If you enjoy a good,"; - mes "stiff drink, then you have"; - mes "to stop by Veins Tavern~"; - next; - mes "[Towner]"; - mes "If you don't love"; - mes "drinking, then Veins"; - mes "Tavern is the perfect"; - mes "place to learn! ...To"; - mes "love... drinking..."; - close; -} - -ve_in,239,135,5 script Towner#ve27 4_M_DST_MASTER,{ - mes "[Towner]"; - mes "Isn't the sun so hot?"; - mes "Doesn't it make you feel"; - mes "so thirsty? Well, you may"; - mes "want to consider quenching"; - mes "that nasty thirst with liquor!"; - next; - mes "[Towner]"; - mes "My job is to serve"; - mes "delicious, life giving"; - mes "liquor to my customers to"; - mes "relieve their parched throats."; - mes "Seeing their drunken smiles"; - mes "really makes my day~"; - close; -} - -ve_in,232,124,5 script Towner#ve28 4_M_DESERT,{ - mes "[Towner]"; - mes "A lone wolf of the desert."; - mes "That's me. Well, that's why"; - mes "I'm drinking here alone."; - next; - mes "[Towner]"; - mes "Sweet Freya, these"; - mes "drinks are so good."; - mes "I could drink all day."; - close; -} - -ve_in,234,105,3 script Towner#ve29 4_M_DST_MASTER,{ - mes "[Towner]"; - mes "Man, the world is just..."; - mes "It's just desires...!"; - mes "Faith? It helps, you"; - mes "know? Cuz-cuz desires"; - mes "are all just nothing!"; - mes "They're nooooooothing!"; - next; - mes "[Towner]"; - mes "Argh! What is life?!"; - mes "I don't know what to"; - mes "believe anymore! Freya!"; - mes "Freya looooves you!"; - close; -} diff --git a/npc/cities/yuno.txt b/npc/cities/yuno.txt deleted file mode 100644 index 944f5e9ae..000000000 --- a/npc/cities/yuno.txt +++ /dev/null @@ -1,405 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2015 Hercules Dev Team -//= Copyright (C) Euphy -//= Copyright (C) Samuray22 -//= Copyright (C) massdriller -//= Copyright (C) L0ne_W0lf -//= Copyright (C) kobra_k88 -//= Copyright (C) KitsuneStarwind -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see . -//========================================================================= -//= Juno City -//================= Description =========================================== -//= NPCs for the City of Juno -//================= Current Version ======================================= -//= 1.5 -//========================================================================= - -//== Juno ================================================== -yuno,184,173,4 script Freidrich#juno 4_F_NOVICE,{ - if (rand(1,5) == 1) { - mes "[Freidrich]"; - mes "^3355FFJuno^000000 is kept aloft in the air by an ancient and mysterious force."; - next; - mes "[Freidrich]"; - mes "This power is said to come from a relic from an ancient civilization called ^3355FFJuperos^000000 which existed here long before Juno."; - next; - mes "[Freidrich]"; - mes "Research revealed that Juno's power source based on ^3355FFPieces of Ymir's Heart^000000. I hear that this power source is found where Juperos used to exist."; - next; - mes "[Freidrich]"; - mes "Since many scholars have been coming to Juno to study and research this power source, our city is basically a well known mecca for scholars."; - close; - } - else { - mes "[Freidrich]"; - mes "The city of Sages,"; - mes "^3355FFJuno,^000000 is made of"; - mes "three islands."; - next; - mes "[Freidrich]"; - mes "These are Solomon, the island of honor, Mineta, the island of prosperity, and Snotora, the island of knowledge."; - next; - mes "[Freidrich]"; - mes "The location of each island is"; - mes "North-west : Solomon"; - mes "North-east : Snotora"; - mes "South : Mineta."; - close; - } -} - -yuno,337,227,4 script Juno Granny#juno 8_F_GRANDMOTHER,{ - mes "[Granny]"; - if (rand(1,50) == 1) { - if (Zeny > 999) { - mes "So, do you enjoy candy?"; - next; - mes "^3355FFGranny hands you some candy^000000."; - next; - mes "[Granny]"; - mes "You've already chosen. It doesn't matter whether or not you get this candy. That doesn't matter at all. You have to understand why it's happened."; - next; - mes "[Granny]"; - mes "Here's ^3355FF1,000 zeny^000000."; - mes "Do you accept this?"; - next; - if (select("Accept", "Do not accept") == 1) { - mes "[Granny]"; - mes "*Giggle*"; - mes "There you go~"; - Zeny -= 1000; - getitem Candy,1; - next; - mes "[Granny]"; - mes "*Giggle*"; - mes "Well then..."; - mes "See you ~"; - close; - } - mes "[Granny]"; - mes "Yes, that's right. Now you must ask yourself why you didn't accept the candy I offered."; - close; - } - else { - mes "*Giggle giggle*"; - mes "The time has come."; - mes "Well then..."; - close; - } - } - else { - mes "I am an old Sage granny who foresees everything..."; - next; - mes "[Granny]"; - mes "Have you heard of a boss monster that has been around Juno for a long time? It's known only as the ^FF3355Lord of the Dead^000000."; - next; - mes "[Granny]"; - mes "It is rumored to be from the realm of the dead. It brings many undead monsters with it, intending to lead living creatures to its cold and icy realm."; - next; - mes "[Granny]"; - mes "You have already chosen whether or not you will challenge the Lord of the Dead. All you need to do right now is understand why you made the decision."; - close; - } -} - -yuno,328,239,4 script Juno Fighter#juno 4_M_JOB_HUNTER,{ - mes "[Sergiof]"; - mes "My name is Sergiof,"; - mes "the fighter who"; - mes "serves Granny."; - next; - mes "[Sergiof]"; - mes "I will tell you about ^3355FFGrand Peco^000000 which is a high level Peco Peco. Grand Peco is faster than Peco Peco and is quite aggressive."; - next; - mes "[Sergiof]"; - mes "It attacks using its strong bill and many Peco Pecos follow it. There's quite a difference in power between Peco Peco and the Grand Peco."; - close; -} - -yuno,343,68,4 script Juno Despot#juno 4_M_JOB_ASSASSIN,{ - mes "[Ninno]"; - if (rand(1,1000) == 1) { - mes "You are very lucky to have me tell you this story. This only happens by ^FF33551 out of a 1,000 chance^000000."; - next; - mes "[Ninno]"; - mes "This world you are experiencing is actually fabricated! It's time for you to see reality for what it is!"; - next; - mes "[Ninno]"; - mes "Open your eyes! Stop being manipulated by virtual reality!"; - close2; - warp "prontera",182,206; - end; - } - mes "Have you ever heard of an Egyptian king who was once believed to be a son of a god? His name is ^3355FFPharoah^000000."; - next; - mes "[Ninno]"; - mes "He was rumored to be a high sorcerer that used his power to curse innocents. It is said that he is still around, placing his curses on people."; - next; - mes "[Ninno]"; - mes "As an adventurer, it's possible that you may see him in your travels. Be careful..."; - close; -} - -yuno,165,111,4 script Juno Sage#juno 2_F_MAGICMASTER,,{ - mes "[Le Morpheus]"; - if (rand(1,50) == 25) { - if (Zeny > 4999) { - mes "Look in my hand. I am holding two different kinds of herbs."; - next; - mes "[Le Morpheus]"; - mes "One is a ^3355FFBlue Herb^000000 which will make you forget about reality and keep you in this virtual reality^000000."; - next; - mes "[Le Morpheus]"; - mes "The other is a ^FF3355Red Herb^000000 which will reveal to you what is true and real."; - next; - mes "[Le Morpheus]"; - mes "Whichever one you choose, you must spend ^3355FF5,000 zeny^000000. Now, please select one."; - next; - if (select("Choose ^FF3355Red Herb^000000", "Choose ^3355FFBlue Herb^000000.") == 1) { - mes "[Le Morpheus]"; - mes "As you have chosen, you will forget everything, and remain in this virtual reality."; - Zeny -= 5000; - getitem Red_Herb,1; - close2; - warp "prontera",182,206; - end; - } - mes "[Le Morpheus]"; - mes "You will see the truth."; - Zeny -= 5000; - getitem Blue_Herb,1; - close2; - warp "pay_dun03",200,222; - end; - } - else { - mes "Hmm. I'm sorry to say you just missed a fortunate chance. However, I can tell you don't have enough wealth to bring this fortune to fruition."; - close; - } - } - else { - mes "^3355FFApocalypse^000000..."; - mes "It is the name of an android that used to guard Juno long ago."; - next; - mes "[Le Morpheus]"; - mes "Because its artificial intelligence has corrupted over the years, it can no longer distinguish comrades from enemies. Sadly, that android is nothing but a mindless monster now."; - close; - } -} - -yuno,157,205,4 script Juno Artisan#juno 1_M_JOBGUIDER,{ - mes "[Artisan]"; - mes "*Mumble mumble...*"; - next; - mes "[Artisan]"; - mes "Oh, hello there. Let me introduce myself. I am an artisan who tries to succeed the rights and duties of item makers in Juno."; - next; - switch(select("About Powerful Equipment", "About Unique Items", "About Authentic Food", "End Conversation")) { - case 1: - mes "[Artisan]"; - mes "Let me suggest the ^3355FFHoly Guard^000000 and ^3355FFHoly Avenger^000000 which are special items for Crusaders."; - next; - mes "[Artisan]"; - mes "These pieces of equipment are very light and have sufficient abilities. They also happen to possess holy power."; - next; - mes "[Artisan]"; - mes "Therefore, this equipment is more powerful over some kinds of monsters such as Ghosts or the Undead."; - next; - mes "[Artisan]"; - mes "However it is rumored that only a few chosen Crusaders are able to obtain those items due of their rarity."; - close; - case 2: - mes "[Artisan]"; - mes "It looks like a simple scroll marked with concentric circles and a star. Although the ^FF3355Worn-Out Magic Scroll^000000 is very old, it's wanted by many Sages for research purposes."; - next; - mes "[Artisan]"; - mes "It seems you can use that item when you chant a high-level magic spell."; - close; - case 3: - mes "[Artisan]"; - mes "^3355FFRice Cake^000000! Yes, it's a traditional food that's favored by a lot of people. There's a lot of nostalgic memories of old fashioned markets that are connected to the Rice Cake."; - next; - mes "[Artisan]"; - mes "Ahhh~"; - mes "I wish I could eat a bit of Rice Cake right now."; - close; - case 4: - mes "[Artisan]"; - mes "Although Juno is known as a city of Sages, I hope you understand that ordinary people live and propser here as well. Please enjoy the unique atmosphere that Juno has to offer."; - close; - } -} - -- script ::JunoSoldier1 FAKE_NPC,{ - mes "[Juno Soldier]"; - mes "Welcome to Juno, the city of noble-mindedness."; - next; - mes "[Juno Soldier]"; - mes "There is a monster near here known as Lava Golem. This golem is made from a stone heart whose power happened to be amplified with magic power when it was swept away by molten rock."; - next; - mes "[Juno Soldier]"; - mes "The lava dripping from its body is so hot that it can melt down armor and weapons made out of high quality steel."; - next; - mes "[Juno Soldier]"; - mes "You'd better be careful when you encounter this monster. It will damage armor and weapons in the twinkling of an eye."; - close; -} - -- script ::JunoSoldier2 FAKE_NPC,{ - mes "[Juno Soldier]"; - mes "Welcome to Juno, the city of noble-mindedness."; - next; - mes "[Juno Soldier]"; - mes "Geographer..."; - mes "That monster looks like a flower blooming from the ground."; - next; - mes "[Juno Soldier]"; - mes "Strangely, it can extend its body a long distance. Even if you're far away from it, it can still pose a threat."; - next; - mes "[Juno Soldier]"; - mes "The name of this monster originated from a story about a poor geographer who, unfortunately, was eaten by this monster while he was immersed in his studies."; - close; -} - -- script ::JunoSoldier3 FAKE_NPC,{ - mes "[Juno Soldier]"; - mes "Welcome to Juno, the city of noble-mindedness."; - next; - mes "[Juno Soldier]"; - mes "Near Juno, there exists a fallen angel named 'False Angel.' It feigns innocence, pretending to bless adventurers and then stabbing them in the back without any warning."; - next; - mes "[Juno Soldier]"; - mes "Don't be fooled by its appearance, or you'll find yourself in trouble."; - close; -} - -- script ::JunoSoldier4 FAKE_NPC,{ - mes "[Juno Soldier]"; - mes "Welcome to Juno, the city of noble-mindedness."; - next; - mes "[Juno Soldier]"; - mes "'Goat' is a monster that was an antelope living in the high mountains that was somehow turned into a monster."; - next; - mes "[Juno Soldier]"; - mes "Even if you manage to dodge to its horns, you still need to be wary of its powerful legs."; - next; - mes "[Juno Soldier]"; - mes "Goat's legs are so strong because it's always climbing cliffs when it's not busy slaughtering the innocent."; - close; -} - -- script ::JunoSoldier5 FAKE_NPC,{ - mes "[Juno Soldier]"; - mes "Welcome to Juno, the city of noble-mindedness."; - next; - mes "[Juno Soldier]"; - mes "Have you ever"; - mes "seen a Large Jellopy?"; - mes "Those things are huuuge!"; - next; - mes "[Juno Soldier]"; - mes "It's hard to believe"; - mes "that such a large and"; - mes "shining jellopy even exists!"; - close; -} - -- script ::JunoSoldier6 FAKE_NPC,{ - mes "[Juno Soldier]"; - mes "Welcome to Juno, the city of noble-mindedness."; - next; - mes "[Juno Soldier]"; - mes "Among the Sage's weapons, there is a 'Dagger of Counter.'"; - next; - mes "[Juno Soldier]"; - mes "Its use is limited to the Sage class, and it increases the chance of inflicting critical attacks. So, for Sages, that dagger can be very useful, as well as make them look stylish in battle."; - close; -} - -- script ::JunoSoldier7 FAKE_NPC,{ - mes "[Juno Soldier]"; - mes "Welcome to Juno, the city of noble-mindedness."; - next; - mes "[Juno Soldier]"; - mes "There is a holy shield named 'Sacred Mission' which can only be used by Crusaders."; - next; - mes "[Juno Soldier]"; - mes "It's a long and narrow shield with an angel wing engraved in the center of the front side. Against Devil and Undead monsters, it is especially powerful."; - close; -} - -yuno,142,183,5 script Airship Representative 4W_SAILOR,{ - mes "[Airship Representative]"; - mes "Good day, I am here to inform you"; - mes "about the Juno Airship which"; - mes "we plan to operate in the near future."; - next; - mes "[Air ship Representative]"; - mes "Unfortunately, it is still in"; - mes "development, and we've yet"; - mes "to complete testing. However,"; - mes "we feel the need to let our"; - mes "eager customers know of our"; - mes "progress."; - next; - mes "[Airship Representative]"; - mes "The Airship we're developing will provide you with convenient travel to any town. You can also enjoy the sights while aloft in the sky. Unique products from various areas will also be provided."; - next; - mes "[Airship Representative]"; - mes "We promise our customers an"; - mes "amazing travel experience"; - mes "once the Airship is in"; - mes "operation. In the meantime,"; - mes "we are providing a special"; - mes "teleport service."; - next; - mes "[Airship Representative]"; - mes "The teleport fee is 1,800 zeny, regardless of where you want to go. Please let me know your desired destination."; - next; - switch(select("Prontera", "Izlude", "Geffen", "Morroc", "Payon", "Alberta", "Comodo", "Cancel")) { - case 1: callsub S_Warp,"prontera",116,72; - case 2: if (RENEWAL) callsub S_Warp,"izlude",128,98; else callsub S_Warp,"izlude",94,103; - case 3: callsub S_Warp,"geffen",120,39; - case 4: callsub S_Warp,"morocc",156,46; - case 5: if (RENEWAL) callsub S_Warp,"payon",162,59; else callsub S_Warp,"payon",69,100; - case 6: callsub S_Warp,"alberta",117,56; - case 7: callsub S_Warp,"comodo",209,143; - case 8: close; - } - -S_Warp: - if (Zeny >= 1800) { - Zeny -= 1800; - warp getarg(0),getarg(1),getarg(2); - end; - } - else { - mes "[Airship Representative]"; - mes "I regret to say that you do not have enough zeny with you."; - mes "Please check the amount of zeny that you have."; - close; - } -} diff --git a/npc/custom/bartershop.txt b/npc/custom/bartershop.txt deleted file mode 100644 index bcb61795e..000000000 --- a/npc/custom/bartershop.txt +++ /dev/null @@ -1,21 +0,0 @@ -//===== Hercules Script ====================================== -//= Barter shop demo -//===== By: ================================================== -//= 4144 -//===== Current Version: ===================================== -//= 1.0 -//===== Description: ========================================= -//= Barter shop demo in prontera. -//============================================================ - -prontera,159,284,4 trader Barter Shop#prt 4_M_KID1,{ -OnInit: - tradertype(NST_BARTER); - sellitem White_Herb, 100, Red_Potion, 2; - sellitem Blue_Herb, 200, Orange_Potion, 3; - sellitem Green_Herb, 100, Red_Potion, 4; - sellitem White_Herb, 100, Orange_Potion, 1; - sellitem Apple, -1, Orange_Potion, 1; - sellitem Praetorian_Shield, 100, Berserk_Potion, 10; - end; -} diff --git a/npc/custom/battleground/bg_common.txt b/npc/custom/battleground/bg_common.txt deleted file mode 100644 index 7ba3eecb0..000000000 --- a/npc/custom/battleground/bg_common.txt +++ /dev/null @@ -1,1328 +0,0 @@ -// ============================================================================== -// BattleGround System - Common NPCs -// ============================================================================== - -// BattleGround Warper - Entrance -// ********************************************************************* - -- script Maroll Battle Recruiter::BatRecruit 4_F_JOB_KNIGHT,{ - mes "[Maroll Battle Recruiter]"; - mes "Good day, adventurer."; - mes "I'm a knight from a far country called Maroll Kingdom."; - next; - mes "[Maroll Battle Recruiter]"; - mes "The two princes of the kingdom are now battling for the throne of Maroll, and are in need of experienced soldiers like you. How would you like to lend your power to one of the princes in the Maroll Kingdom?"; - next; - if( select("Join", "Don't Join") == 2 ) - { - mes "[Maroll Battle Recruiter]"; - mes "I'll always be stationed here for more soldiers. Feel free to come back whenever you're interested."; - close; - } - mes "[Maroll Battle Recruiter]"; - mes "May the war god bless you."; - close2; - warp "bat_room",155,150; - end; -} - -payon,189,104,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit1 4_F_JOB_KNIGHT -prontera,123,83,5 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit2 4_F_JOB_KNIGHT -rachel,149,138,5 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit3 4_F_JOB_KNIGHT -moc_ruins,75,162,5 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit4 4_F_JOB_KNIGHT -aldebaran,146,109,5 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit5 4_F_JOB_KNIGHT -lighthalzen,153,86,5 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit6 4_F_JOB_KNIGHT - -// BattleGround Warper - Exit -// ********************************************************************* - -bat_room,148,150,4 script Teleporter#bat 4_F_TELEPORTER,{ - mes "[Teleporter]"; - mes "Do you wish to leave the battlefield? Use my service to return to town."; - next; - if( select("Leave", "Don't Leave") == 2 ) - { - mes "[Teleporter]"; - mes "I'll be here whenever you're in need of my service."; - close; - } - - set .@spoint$, getsavepoint(0); - set .@x, getsavepoint(1); - set .@y, getsavepoint(2); - mes "[Teleporter]"; - mes "You will be sent back to " + .@spoint$ + "."; - close2; - warp .@spoint$, .@x, .@y; - end; -} - -// Kafra -// ********************************************************************* -bat_room,148,147,4 script Kafra Staff::kaf_bat 4_F_KAFRA9,{ - cutin "kafra_09",2; - callfunc "F_Kafra",0,2,1,150,0; -} - -// General Guillaume -// ********************************************************************* -bat_room,160,159,3 script General Guillaume 4_M_KY_KIYOM,{ - cutin "bat_kiyom2",2; - mes "[General Guillaume]"; - mes "Hot-blooded adventurer, we need your ability to win this battle."; - next; - cutin "bat_kiyom1",2; - mes "[General Guillaume]"; - mes "Our great king, Marcel Marollo VII, is very sick lately. His Majesty has declared that he chosen either me or Prince Croix as the next king amongst his 9 sons."; - next; - mes "[General Guillaume]"; - mes "Two kings can't share a nation!"; - mes "Only the one victorious from His Majesty's appointed battle will be enthroned."; - next; - mes "[General Guillaume]"; - mes "This is however, not just a battle between us. This battle will determine the future of this country. I pledge on my honor to prove that I'm the one who can protect this Maroll from outside threats."; - next; - if( select("Yes, I want to join you.", "End Conversation") == 2 ) - { - mes "[General Guillaume]"; - mes "I'll be the one who will capture the flag!"; - close2; - cutin "",255; - end; - } - cutin "bat_kiyom2",2; - mes "[General Guillaume]"; - mes "Welcome to my army, comrade."; - mes "Your eyes tell me that you're a soldier that I can trust."; - set Bat_Team,1; - next; - mes "[General Guillaume]"; - mes "Now, go upstairs and apply for battle with your comrades. I'm sure they'll welcome you whole-heartedly!"; - close2; - cutin "",255; - end; -} - -// General Croix -// ********************************************************************* -bat_room,160,140,3 script Prince Croix 4_M_CRU_CRUA,{ - cutin "bat_crua1",2; - mes "[Prince Croix]"; - mes "Wise adventurer, why don't you lend us your power for victory?"; - next; - cutin "bat_crua2",2; - mes "[Prince Croix]"; - mes "I do not wish to shed blood, but I have no choice but to fight for the possibility of peace and for the sake of my people."; - next; - mes "[Prince Croix]"; - mes "General Guillaume may have an advantage in this battle as he is the great general of Maroll, but that doesn't automatically mean he'll win. I want to win this battle so that I can grant a better future for my people."; - next; - if( select("Yes, I want to join you!", "End Conversation") == 2 ) - { - mes "[Prince Croix]"; - mes "For Maroll!"; - close2; - cutin "",255; - end; - } - mes "[Prince Croix]"; - mes "Thank you so much. I feel like I can win with the help of adventurers like you. Now, please go downstairs and join your comrades in sharpening their skills to fight the enemy!"; - set Bat_Team,2; - close2; - cutin "",255; - end; -} - -// Time calculation Function -// ********************************************************************* -function script Time2Str { - set .@time_left, getarg(0) - gettimetick(2); - - set .@Days, .@time_left / 86400; - set .@time_left, .@time_left - (.@Days * 86400); - set .@Hours, .@time_left / 3600; - set .@time_left, .@time_left - (.@Hours * 3600); - set .@Minutes, .@time_left / 60; - set .@time_left, .@time_left - (.@Minutes * 60); - - set .@Time$, ""; - if( .@Days > 1 ) - set .@Time$, .@Time$ + .@Days + " days, "; - else if( .@Days > 0 ) - set .@Time$, .@Time$ + .@Days + " day, "; - - if( .@Hours > 1 ) - set .@Time$, .@Time$ + .@Hours + " hours, "; - else if( .@Hours > 0 ) - set .@Time$, .@Time$ + .@Hours + " hour, "; - - if( .@Minutes > 1 ) - set .@Time$, .@Time$ + .@Minutes + " minutes, "; - else if( .@Minutes > 0 ) - set .@Time$, .@Time$ + .@Minutes + " minute, "; - - if( .@time_left > 1 || .@time_left == 0 ) - set .@Time$, .@Time$ + .@time_left + " seconds."; - else if( .@time_left == 1 ) - set .@Time$, .@Time$ + .@time_left + " second."; - - return .@Time$; -} - -// Guillaume Knight - Tierra Valley -// ********************************************************************* -bat_room,159,178,5 script Guillaume Knight#1 4_M_KY_SOLD,{ - mes "[Guillaume Knight]"; - mes "Tierra Gorge is a very steep canyon with two forts residing in the north and south ends of the map."; - next; - mes "[Guillaume Knight]"; - mes "There is a ration depot for the Guillaume and Croix armies at the 11 and 8 o'clock directions."; - next; - mes "[Guillaume Knight]"; - mes "The battle starts at your army's ship, and the goal is to advance and destroy your enemy's rations depot faster than they can destroy yours."; - mes ""; - mes "The army that captures the neutral flag in the center of the battlefield will be rewarded with extra regeneration points, meaning their soldiers will resurrect more than the other side, giving them an advantage."; - next; - mes "[Guillaume Knight]"; - mes "Are you ready for battle? Then apply with the recruiter next to me!"; - close; -} - -// Tierra Officer - Guillaume -// ********************************************************************* -bat_room,156,178,5 script Tierra Valley Officer#1 4_M_KY_KNT,{ - mes "[Tierra Officer]"; - if( Bat_Team == 2 ) - { - mes "Get out of here you stinky Croix!"; - close; - } - - if( Bat_Team == 0 ) - { - mes "Please sign up for an army with Prince Croix or General Guillaume!"; - close; - } - - mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Guillaume Army to those stinky Croixs!"; - next; - if( select("I want to join your army!", "End Conversation") == 2 ) - close; - - mes "[Tierra Officer]"; - if( BG_Delay_Tick >= gettimetick(2) ) - { - mes "You are a Deserter!!"; - mes "Because of running away, you need to wait ^0000FF" + callfunc("Time2Str",BG_Delay_Tick) + "^000000 to join again a BattleGround."; - close; - } - - if (questprogress(2069,PLAYTIME) == 2) - erasequest 2069; - if (questprogress(2069,PLAYTIME)) { - mes "You have received an indicator showing that you've participated in the Battle at Tierra Gorge. I can't let you participate in any other battles until the indicator goes off."; - next; - mes "[Tierra Officer]"; - mes "Stand-by for Tierra Gorge Battle until the time limit passes."; - close; - } - - if( BaseLevel < 80 ) - { - mes "I'm very please you want to join our army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield"; - close; - } - - mes "Good luck!"; - close2; - warp "bat_room",85,224; - end; -} - -// Croix Knight - Tierra Valley -// ********************************************************************* -bat_room,159,121,1 script Croix Knight#1 4_M_CRU_SOLD,{ - mes "[Croix Knight]"; - mes "Tierra Gorge is a very steep canyon with two forts residing in the north and south ends of the map."; - next; - mes "[Croix Knight]"; - mes "There is a ration depot for the Guillaume and Croix armies at the 11 and 8 o'clock directions."; - next; - mes "[Croix Knight]"; - mes "The battle starts at your army's ship, and the goal is to advance and destroy your enemy's rations depot faster than they can destroy yours."; - mes ""; - mes "The army that captures the neutral flag in the center of the battlefield will be rewarded with extra regeneration points, meaning their soldiers will resurrect more than the other side, giving them an advantage."; - next; - mes "[Croix Knight]"; - mes "Are you ready for battle? Then apply with the recruiter next to me!"; - close; -} - -// Tierra Officer - Croix -// ********************************************************************* -bat_room,156,121,1 script Tierra Valley Officer#2 4_M_CRU_KNT,{ - mes "[Tierra Officer]"; - if( Bat_Team == 1 ) - { - mes "Get out of here you stupid Guillaume!"; - close; - } - - if( Bat_Team == 0 ) - { - mes "Please sign up for an army with Prince Croix or General Guillaume!"; - close; - } - - mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Croix Army to those stinky Guillaumes!"; - next; - if( select("I want to join your army!", "End Conversation") == 2 ) - close; - - mes "[Tierra Officer]"; - if( BG_Delay_Tick >= gettimetick(2) ) - { - mes "You are a Deserter!!"; - mes "Because of running away, you need to wait ^0000FF" + callfunc("Time2Str",BG_Delay_Tick) + "^000000 to join again a BattleGround."; - close; - } - - if (questprogress(2069,PLAYTIME) == 2) - erasequest 2069; - if (questprogress(2069,PLAYTIME)) { - mes "You have received an indicator showing that you've participated in the Battle at Tierra Gorge. I can't let you participate in any other battles until the indicator goes off."; - next; - mes "[Tierra Officer]"; - mes "Stand-by for Tierra Gorge Battle until the time limit passes."; - close; - } - - if( BaseLevel < 80 ) - { - mes "I'm very please you want to join our army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield"; - close; - } - - mes "Good luck!"; - close2; - warp "bat_room",85,208; - end; -} - -// Guillaume Knight - Tierra -// ********************************************************************* -bat_room,167,178,5 script Guillaume Knight#2 4_M_KY_SOLD,{ - mes "[Guillaume Knight]"; - mes "Tierra Gorge is a very steep canyon with two forts residing in the north and south ends of the map."; - next; - mes "[Guillaume Knight]"; - mes "There is a ration depot for the Guillaume and Croix armies at the 11 and 8 o'clock directions."; - next; - mes "[Guillaume Knight]"; - mes "The battle starts at your army's ship, and the goal is to advance and destroy your enemy's rations depot faster than they can destroy yours."; - mes ""; - mes "The army that captures the neutral flag in the center of the battlefield will be rewarded with extra regeneration points, meaning their soldiers will resurrect more than the other side, giving them an advantage."; - next; - mes "[Guillaume Knight]"; - mes "Are you ready for battle? Then apply with the recruiter next to me!"; - close; -} - -// Tierra Officer - Guillaume -// ********************************************************************* -bat_room,164,178,5 script Tierra Valley Officer#3 4_M_KY_KNT,{ - mes "[Tierra Officer]"; - if( Bat_Team == 2 ) - { - mes "Get out of here you stinky Croix!"; - close; - } - - if( Bat_Team == 0 ) - { - mes "Please sign up for an army with Prince Croix or General Guillaume!"; - close; - } - - mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Guillaume Army to those stinky Croixs!"; - next; - if( select("I want to join your army!", "End Conversation") == 2 ) - close; - - mes "[Tierra Officer]"; - if( BG_Delay_Tick >= gettimetick(2) ) - { - mes "You are a Deserter!!"; - mes "Because of running away, you need to wait ^0000FF" + callfunc("Time2Str",BG_Delay_Tick) + "^000000 to join again a BattleGround."; - close; - } - - if (questprogress(2069,PLAYTIME) == 2) - erasequest 2069; - if (questprogress(2069,PLAYTIME)) { - mes "You have received an indicator showing that you've participated in the Battle at Tierra Gorge. I can't let you participate in any other battles until the indicator goes off."; - next; - mes "[Tierra Officer]"; - mes "Stand-by for Tierra Gorge Battle until the time limit passes."; - close; - } - - if( BaseLevel < 80 ) - { - mes "I'm very please you want to join our army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield"; - close; - } - - mes "Good luck!"; - close2; - warp "bat_room",57,94; - end; -} - -// Croix Knight - Tierra -// ********************************************************************* -bat_room,167,121,1 script Croix Knight#2 4_M_CRU_SOLD,{ - mes "[Croix Knight]"; - mes "Tierra Gorge is a very steep canyon with two forts residing in the north and south ends of the map."; - next; - mes "[Croix Knight]"; - mes "There is a ration depot for the Guillaume and Croix armies at the 11 and 8 o'clock directions."; - next; - mes "[Croix Knight]"; - mes "The battle starts at your army's ship, and the goal is to advance and destroy your enemy's rations depot faster than they can destroy yours."; - mes ""; - mes "The army that captures the neutral flag in the center of the battlefield will be rewarded with extra regeneration points, meaning their soldiers will resurrect more than the other side, giving them an advantage."; - next; - mes "[Croix Knight]"; - mes "Are you ready for battle? Then apply with the recruiter next to me!"; - close; -} - -// Tierra Officer - Croix -// ********************************************************************* -bat_room,164,121,1 script Tierra Valley Officer#4 4_M_CRU_KNT,{ - mes "[Tierra Officer]"; - if( Bat_Team == 1 ) - { - mes "Get out of here you stupid Guillaume!"; - close; - } - - if( Bat_Team == 0 ) - { - mes "Please sign up for an army with Prince Croix or General Guillaume!"; - close; - } - - mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Croix Army to those stinky Guillaumes!"; - next; - if( select("I want to join your army!", "End Conversation") == 2 ) - close; - - mes "[Tierra Officer]"; - if( BG_Delay_Tick >= gettimetick(2) ) - { - mes "You are a Deserter!!"; - mes "Because of running away, you need to wait ^0000FF" + callfunc("Time2Str",BG_Delay_Tick) + "^000000 to join again a BattleGround."; - close; - } - - if (questprogress(2069,PLAYTIME) == 2) - erasequest 2069; - if (questprogress(2069,PLAYTIME)) { - mes "You have received an indicator showing that you've participated in the Battle at Tierra Gorge. I can't let you participate in any other battles until the indicator goes off."; - next; - mes "[Tierra Officer]"; - mes "Stand-by for Tierra Gorge Battle until the time limit passes."; - close; - } - - if( BaseLevel < 80 ) - { - mes "I'm very please you want to join our army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield"; - close; - } - - mes "Good luck!"; - close2; - warp "bat_room",57,77; - end; -} - -// Guillaune Knight - Flavius -// ********************************************************************* -bat_room,175,178,5 script Guillaume Knight#3 4_M_KY_SOLD,{ - mes "[Guillaume Knight]"; - mes "The objective of the Flavius Battle is to score 2 points before your enemy by destroying their crystal."; - next; - mes "[Guillaume Knight]"; - mes "The crystals for both armies are protected by special barricades that cannot be destroyed by direct attacks."; - next; - mes "[Guillaume Knight]"; - mes "But they can be removed by destroying the Guardians that protect the enemy army base."; - next; - mes "[Guillaume Knight]"; - mes "The crystals are immune to every type of skill; your physical attacks are the only choice for destroying your enemy's crystal."; - next; - mes "[Guillaume Knight]"; - mes "Are you ready for battle? Then apply with the recruiter next to me!"; - close; -} - -// Flavius Officer - Guillaume -// ********************************************************************* -bat_room,172,178,5 script Flavius Officer#1 4_M_KY_KNT,{ - mes "[Flavius Officer]"; - if( Bat_Team == 2 ) - { - mes "Get out of here you stupid Croix!"; - close; - } - - if( Bat_Team == 0 ) - { - mes "Please sign up for an army with Prince Croix or General Guillaume!"; - close; - } - - mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Guillaume Army to those stinky Croixs!"; - next; - if( select("I want to join your army!", "End Conversation") == 2 ) - close; - - mes "[Flavius Officer]"; - if( BG_Delay_Tick >= gettimetick(2) ) - { - mes "You are a Deserter!!"; - mes "Because of running away, you need to wait ^0000FF" + callfunc("Time2Str",BG_Delay_Tick) + "^000000 to join again a BattleGround."; - close; - } - - if (questprogress(2070,PLAYTIME) == 2) - erasequest 2070; - if (questprogress(2070,PLAYTIME)) { - mes "You have received an indicator showing that you've participated in the Battle at Flavius. I can't let you participate in any other battles until the indicator goes off."; - next; - mes "[Flavius Officer]"; - mes "Stand-by for Flavius Battle until the time limit passes."; - close; - } - - if( BaseLevel < 80 ) - { - mes "I'm very please you want to join our army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield"; - close; - } - - mes "Good luck!"; - close2; - warp "bat_room",85,94; - end; -} - -// Croix Knight - Flavius -// ********************************************************************* -bat_room,175,121,1 script Croix Knight#3 4_M_CRU_SOLD,{ - mes "[Croix Knight]"; - mes "The objective of the Flavius Battle is to score 2 points before your enemy by destroying their crystal."; - next; - mes "[Croix Knight]"; - mes "The crystals for both armies are protected by special barricades that cannot be destroyed by direct attacks."; - next; - mes "[Croix Knight]"; - mes "But they can be removed by destroying the Guardians that protect the enemy army base."; - next; - mes "[Croix Knight]"; - mes "The crystals are immune to every type of skill; your physical attacks are the only choice for destroying your enemy's crystal."; - next; - mes "[Croix Knight]"; - mes "Are you ready for battle? Then apply with the recruiter next to me!"; - close; -} - -// Flavius Officerer - Croix -// ********************************************************************* -bat_room,172,121,1 script Flavius Officer#2 4_M_CRU_KNT,{ - mes "[Flavius Officer]"; - if( Bat_Team == 1 ) - { - mes "Get out of here you stupid Guillaume!"; - close; - } - - if( Bat_Team == 0 ) - { - mes "Please sign up for an army with Prince Croix or General Guillaume!"; - close; - } - - mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Croix Army to those stinky Guillaumes!"; - next; - if( select("I want to join your army!", "End Conversation") == 2 ) - close; - - mes "[Flavius Officer]"; - if( BG_Delay_Tick >= gettimetick(2) ) - { - mes "You are a Deserter!!"; - mes "Because of running away, you need to wait ^0000FF" + callfunc("Time2Str",BG_Delay_Tick) + "^000000 to join again a BattleGround."; - close; - } - - if (questprogress(2070,PLAYTIME) == 2) - erasequest 2070; - if (questprogress(2070,PLAYTIME)) { - mes "You have received an indicator showing that you've participated in the Battle at Flavius. I can't let you participate in any other battles until the indicator goes off."; - next; - mes "[Flavius Officer]"; - mes "Stand-by for Flavius Battle until the time limit passes."; - close; - } - - if( BaseLevel < 80 ) - { - mes "I'm very please you want to join our army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield"; - close; - } - - mes "Good luck!"; - close2; - warp "bat_room",85,77; - end; -} - -// Guillaune Knight - Flavius -// ********************************************************************* -bat_room,151,178,5 script Guillaume Knight#4 4_M_KY_SOLD,{ - mes "[Guillaume Knight]"; - mes "The objective of the Flavius Battle is to score 2 points before your enemy by destroying their crystal."; - next; - mes "[Guillaume Knight]"; - mes "The crystals for both armies are protected by special barricades that cannot be destroyed by direct attacks."; - next; - mes "[Guillaume Knight]"; - mes "But they can be removed by destroying the Guardians that protect the enemy army base."; - next; - mes "[Guillaume Knight]"; - mes "The crystals are immune to every type of skill; your physical attacks are the only choice for destroying your enemy's crystal."; - next; - mes "[Guillaume Knight]"; - mes "Are you ready for battle? Then apply with the recruiter next to me!"; - close; -} - -// Flavius Officerer - Guillaume -// ********************************************************************* -bat_room,148,178,5 script Flavius Officer#3 4_M_KY_KNT,{ - mes "[Flavius Officer]"; - if( Bat_Team == 2 ) - { - mes "Get out of here you stupid Croix!"; - close; - } - - if( Bat_Team == 0 ) - { - mes "Please sign up for an army with Prince Croix or General Guillaume!"; - close; - } - - mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Guillaume Army to those stinky Croixs!"; - next; - if( select("I want to join your army!", "End Conversation") == 2 ) - close; - - mes "[Flavius Officer]"; - if( BG_Delay_Tick >= gettimetick(2) ) - { - mes "You are a Deserter!!"; - mes "Because of running away, you need to wait ^0000FF" + callfunc("Time2Str",BG_Delay_Tick) + "^000000 to join again a BattleGround."; - close; - } - - if (questprogress(2070,PLAYTIME) == 2) - erasequest 2070; - if (questprogress(2070,PLAYTIME)) { - mes "You have received an indicator showing that you've participated in the Battle at Flavius. I can't let you participate in any other battles until the indicator goes off."; - next; - mes "[Flavius Officer]"; - mes "Stand-by for Flavius Battle until the time limit passes."; - close; - } - - if( BaseLevel < 80 ) - { - mes "I'm very please you want to join our army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield"; - close; - } - - mes "Good luck!"; - close2; - warp "bat_room",253,94; - end; -} - -// Croix Knight - Flavius -// ********************************************************************* -bat_room,151,121,1 script Croix Knight#4 4_M_CRU_SOLD,{ - mes "[Croix Knight]"; - mes "The objective of the Flavius Battle is to score 2 points before your enemy by destroying their crystal."; - next; - mes "[Croix Knight]"; - mes "The crystals for both armies are protected by special barricades that cannot be destroyed by direct attacks."; - next; - mes "[Croix Knight]"; - mes "But they can be removed by destroying the Guardians that protect the enemy army base."; - next; - mes "[Croix Knight]"; - mes "The crystals are immune to every type of skill; your physical attacks are the only choice for destroying your enemy's crystal."; - next; - mes "[Croix Knight]"; - mes "Are you ready for battle? Then apply with the recruiter next to me!"; - close; -} - -// Flavius Officerer - Croix -// ********************************************************************* -bat_room,148,121,1 script Flavius Officer#4 4_M_CRU_KNT,{ - mes "[Flavius Officer]"; - if( Bat_Team == 1 ) - { - mes "Get out of here you stupid Guillaume!"; - close; - } - - if( Bat_Team == 0 ) - { - mes "Please sign up for an army with Prince Croix or General Guillaume!"; - close; - } - - mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Croix Army to those stinky Guillaumes!"; - next; - if( select("I want to join your army!", "End Conversation") == 2 ) - close; - - mes "[Flavius Officer]"; - if( BG_Delay_Tick >= gettimetick(2) ) - { - mes "You are a Deserter!!"; - mes "Because of running away, you need to wait ^0000FF" + callfunc("Time2Str",BG_Delay_Tick) + "^000000 to join again a BattleGround."; - close; - } - - if (questprogress(2070,PLAYTIME) == 2) - erasequest 2070; - if (questprogress(2070,PLAYTIME)) { - mes "You have received an indicator showing that you've participated in the Battle at Flavius. I can't let you participate in any other battles until the indicator goes off."; - next; - mes "[Flavius Officer]"; - mes "Stand-by for Flavius Battle until the time limit passes."; - close; - } - - if( BaseLevel < 80 ) - { - mes "I'm very please you want to join our army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield"; - close; - } - - mes "Good luck!"; - close2; - warp "bat_room",253,77; - end; -} - -// Guillaume Knight - KvM -// ********************************************************************* -bat_room,143,178,5 script Guillaume Knight#5 4_M_KY_SOLD,{ - mes "[Guillaume Knight]"; - mes "To win the Battle of Kriger Von Midgard you and your team must kill all the other opponents before all of you die."; - next; - mes "[Guillaume Knight]"; - mes "The first team to lose all their soldiers loses."; - next; - mes "[Guillaume Knight]"; - mes "Since you cannot come back to battle after you die, taking care on the battlefield is essential."; - next; - mes "[Guillaume Knight]"; - mes "Are you ready for battle? Then apply with the recruiter next to me!"; - close; -} - -// KvM Officerer - Guillaume -// ********************************************************************* -bat_room,140,178,5 script KVM [80-99] Officer#1 4_M_KY_KNT,{ - mes "[KVM Officer]"; - if( Bat_Team == 2 ) - { - mes "Get out of here you stinky Croix!"; - close; - } - - if( Bat_Team == 0 ) - { - mes "Please sign up for an army with Prince Croix or General Guillaume!"; - close; - } - - mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Guillaume Army to those stinky Croixs!"; - next; - if( select("I want to join your army!", "End Conversation") == 2 ) - close; - - mes "[KVM Officer]"; - if( BG_Delay_Tick >= gettimetick(2) ) - { - mes "You are a Deserter!!"; - mes "Because of running away, you need to wait ^0000FF" + callfunc("Time2Str",BG_Delay_Tick) + "^000000 to join again a BattleGround."; - close; - } - - if (questprogress(6025,PLAYTIME) == 2) - erasequest 6025; - if (questprogress(6025,PLAYTIME)) { - mes "You have received an indicator showing that you've participated in the Battle at KvM. I can't let you participate in any other battles until the indicator goes off."; - next; - mes "[KVM Officer]"; - mes "Stand-by for KvM Battle until the time limit passes."; - close; - } - - if( BaseLevel < 80 ) - { - mes "I'm very please you want to join our army, but I'm sorry: This arena is for players with baselevel from 80 to 99."; - close; - } - - mes "Good luck!"; - close2; - warp "bat_room",253,224; - end; -} - -// Croix Knight - KvM -// ********************************************************************* -bat_room,143,121,1 script Croix Knight#5 4_M_CRU_SOLD,{ - mes "[Croix Knight]"; - mes "To win the Battle of Kriger Von Midgard you and your team must kill all the other opponents before all of you die."; - next; - mes "[Croix Knight]"; - mes "The first team to lose all their soldiers loses."; - next; - mes "[Croix Knight]"; - mes "Since you cannot come back to battle after you die, taking care on the battlefield is essential."; - next; - mes "[Croix Knight]"; - mes "Are you ready for battle? Then apply with the recruiter next to me!"; - close; -} - -// KvM Officer - Croix -// ********************************************************************* -bat_room,140,121,1 script KVM [80-99] Officer#2 4_M_CRU_KNT,{ - mes "[KVM Officer]"; - if( Bat_Team == 1 ) - { - mes "Get out of here you stupid Guillaume!"; - close; - } - - if( Bat_Team == 0 ) - { - mes "Please sign up for an army with Prince Croix or General Guillaume!"; - close; - } - - mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Croix Army to those stinky Guillaumes!"; - next; - if( select("I want to join your army!", "End Conversation") == 2 ) - close; - - mes "[KVM Officer]"; - if( BG_Delay_Tick >= gettimetick(2) ) - { - mes "You are a Deserter!!"; - mes "Because of running away, you need to wait ^0000FF" + callfunc("Time2Str",BG_Delay_Tick) + "^000000 to join again a BattleGround."; - close; - } - - if (questprogress(6025,PLAYTIME) == 2) - erasequest 6025; - if (questprogress(6025,PLAYTIME)) { - mes "You have received an indicator showing that you've participated in the Battle at KvM. I can't let you participate in any other battles until the indicator goes off."; - next; - mes "[KVM Officer]"; - mes "Stand-by for KvM Battle until the time limit passes."; - close; - } - - if( BaseLevel < 80 ) - { - mes "I'm very please you want to join our army, but I'm sorry: This arena is for players with baselevel from 80 to 99."; - close; - } - - mes "Good luck!"; - close2; - warp "bat_room",253,208; - end; -} - -// Guillaume Knight - KvM -// ********************************************************************* -bat_room,135,178,5 script Guillaume Knight#6 4_M_KY_SOLD,{ - mes "[Guillaume Knight]"; - mes "To win the Battle of Kriger Von Midgard you and your team must kill all the other opponents before all of you die."; - next; - mes "[Guillaume Knight]"; - mes "The first team to lose all their soldiers loses."; - next; - mes "[Guillaume Knight]"; - mes "Since you cannot come back to battle after you die, taking care on the battlefield is essential."; - next; - mes "[Guillaume Knight]"; - mes "Are you ready for battle? Then apply with the recruiter next to me!"; - close; -} - -// KvM Officerer - Guillaume -// ********************************************************************* -bat_room,132,178,5 script KVM [60-79] Officer#1 4_M_KY_KNT,{ - mes "[KVM Officer]"; - if( Bat_Team == 2 ) - { - mes "Get out of here you stinky Croix!"; - close; - } - - if( Bat_Team == 0 ) - { - mes "Please sign up for an army with Prince Croix or General Guillaume!"; - close; - } - - mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Guillaume Army to those stinky Croixs!"; - next; - if( select("I want to join your army!", "End Conversation") == 2 ) - close; - - mes "[KVM Officer]"; - if( BG_Delay_Tick >= gettimetick(2) ) - { - mes "You are a Deserter!!"; - mes "Because of running away, you need to wait ^0000FF" + callfunc("Time2Str",BG_Delay_Tick) + "^000000 to join again a BattleGround."; - close; - } - - if (questprogress(6025,PLAYTIME) == 2) - erasequest 6025; - if (questprogress(6025,PLAYTIME)) { - mes "You have received an indicator showing that you've participated in the Battle at KvM. I can't let you participate in any other battles until the indicator goes off."; - next; - mes "[KVM Officer]"; - mes "Stand-by for KvM Battle until the time limit passes."; - close; - } - - if( BaseLevel < 60 || BaseLevel > 79 ) - { - mes "I'm very please you want to join our army, but I'm sorry: This arena is for players with baselevel from 60 to 79."; - close; - } - - mes "Good luck!"; - close2; - warp "bat_room",225,224; - end; -} - -// Croix Knight - KvM -// ********************************************************************* -bat_room,135,121,1 script Croix Knight#6 4_M_CRU_SOLD,{ - mes "[Croix Knight]"; - mes "To win the Battle of Kriger Von Midgard you and your team must kill all the other opponents before all of you die."; - next; - mes "[Croix Knight]"; - mes "The first team to lose all their soldiers loses."; - next; - mes "[Croix Knight]"; - mes "Since you cannot come back to battle after you die, taking care on the battlefield is essential."; - next; - mes "[Croix Knight]"; - mes "Are you ready for battle? Then apply with the recruiter next to me!"; - close; -} - -// KvM Officer - Croix -// ********************************************************************* -bat_room,132,121,1 script KVM [60-79] Officer#2 4_M_CRU_KNT,{ - mes "[KVM Officer]"; - if( Bat_Team == 1 ) - { - mes "Get out of here you stupid Guillaume!"; - close; - } - - if( Bat_Team == 0 ) - { - mes "Please sign up for an army with Prince Croix or General Guillaume!"; - close; - } - - mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Croix Army to those stinky Guillaumes!"; - next; - if( select("I want to join your army!", "End Conversation") == 2 ) - close; - - mes "[KVM Officer]"; - if( BG_Delay_Tick >= gettimetick(2) ) - { - mes "You are a Deserter!!"; - mes "Because of running away, you need to wait ^0000FF" + callfunc("Time2Str",BG_Delay_Tick) + "^000000 to join again a BattleGround."; - close; - } - - if (questprogress(6025,PLAYTIME) == 2) - erasequest 6025; - if (questprogress(6025,PLAYTIME)) { - mes "You have received an indicator showing that you've participated in the Battle at KvM. I can't let you participate in any other battles until the indicator goes off."; - next; - mes "[KVM Officer]"; - mes "Stand-by for KvM Battle until the time limit passes."; - close; - } - - if( BaseLevel < 60 || BaseLevel > 79 ) - { - mes "I'm very please you want to join our army, but I'm sorry: This arena is for players with baselevel from 60 to 79."; - close; - } - - mes "Good luck!"; - close2; - warp "bat_room",225,208; - end; -} - -// Guillaume Knight - KvM -// ********************************************************************* -bat_room,127,178,5 script Guillaume Knight#7 4_M_KY_SOLD,{ - mes "[Guillaume Knight]"; - mes "To win the Battle of Kriger Von Midgard you and your team must kill all the other opponents before all of you die."; - next; - mes "[Guillaume Knight]"; - mes "The first team to lose all their soldiers loses."; - next; - mes "[Guillaume Knight]"; - mes "Since you cannot come back to battle after you die, taking care on the battlefield is essential."; - next; - mes "[Guillaume Knight]"; - mes "Are you ready for battle? Then apply with the recruiter next to me!"; - close; -} - -// KvM Officerer - Guillaume -// ********************************************************************* -bat_room,124,178,5 script KVM [1-59] Officer#1 4_M_KY_KNT,{ - mes "[KVM Officer]"; - if( Bat_Team == 2 ) - { - mes "Get out of here you stinky Croix!"; - close; - } - - if( Bat_Team == 0 ) - { - mes "Please sign up for an army with Prince Croix or General Guillaume!"; - close; - } - - mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Guillaume Army to those stinky Croixs!"; - next; - if( select("I want to join your army!", "End Conversation") == 2 ) - close; - - mes "[KVM Officer]"; - if( BG_Delay_Tick >= gettimetick(2) ) - { - mes "You are a Deserter!!"; - mes "Because of running away, you need to wait ^0000FF" + callfunc("Time2Str",BG_Delay_Tick) + "^000000 to join again a BattleGround."; - close; - } - - if (questprogress(6025,PLAYTIME) == 2) - erasequest 6025; - if (questprogress(6025,PLAYTIME)) { - mes "You have received an indicator showing that you've participated in the Battle at KvM. I can't let you participate in any other battles until the indicator goes off."; - next; - mes "[KVM Officer]"; - mes "Stand-by for KvM Battle until the time limit passes."; - close; - } - - if( BaseLevel > 59 ) - { - mes "I'm very please you want to join our army, but I'm sorry: This arena is for players with baselevel from 1 to 59."; - close; - } - - mes "Good luck!"; - close2; - warp "bat_room",197,224; - end; -} - -// Croix Knight - KvM -// ********************************************************************* -bat_room,127,121,1 script Croix Knight#7 4_M_CRU_SOLD,{ - mes "[Croix Knight]"; - mes "To win the Battle of Kriger Von Midgard you and your team must kill all the other opponents before all of you die."; - next; - mes "[Croix Knight]"; - mes "The first team to lose all their soldiers loses."; - next; - mes "[Croix Knight]"; - mes "Since you cannot come back to battle after you die, taking care on the battlefield is essential."; - next; - mes "[Croix Knight]"; - mes "Are you ready for battle? Then apply with the recruiter next to me!"; - close; -} - -// KvM Officer - Croix -// ********************************************************************* -bat_room,124,121,1 script KVM [1-59] Officer#2 4_M_CRU_KNT,{ - mes "[KVM Officer]"; - if( Bat_Team == 1 ) - { - mes "Get out of here you stupid Guillaume!"; - close; - } - - if( Bat_Team == 0 ) - { - mes "Please sign up for an army with Prince Croix or General Guillaume!"; - close; - } - - mes "Hello " + strcharinfo(PC_NAME) + ", let's show the power of the Croix Army to those stinky Guillaumes!"; - next; - if( select("I want to join your army!", "End Conversation") == 2 ) - close; - - mes "[KVM Officer]"; - if( BG_Delay_Tick >= gettimetick(2) ) - { - mes "You are a Deserter!!"; - mes "Because of running away, you need to wait ^0000FF" + callfunc("Time2Str",BG_Delay_Tick) + "^000000 to join again a BattleGround."; - close; - } - - if (questprogress(6025,PLAYTIME) == 2) - erasequest 6025; - if (questprogress(6025,PLAYTIME)) { - mes "You have received an indicator showing that you've participated in the Battle at KvM. I can't let you participate in any other battles until the indicator goes off."; - next; - mes "[KVM Officer]"; - mes "Stand-by for KvM Battle until the time limit passes."; - close; - } - - if( BaseLevel > 59 ) - { - mes "I'm very please you want to join our army, but I'm sorry: This arena is for players with baselevel from 1 to 59."; - close; - } - - mes "Good luck!"; - close2; - warp "bat_room",197,208; - end; -} - -// Guard Dummy -// ********************************************************************* - -bat_room,161,141,3 script Prince Croix's Aid::bat_aid 4_M_CRU_HEAD,{ end; } -bat_room,161,139,3 duplicate(bat_aid) Prince Croix's Aid::bat_aid2 4_M_CRU_HEAD -bat_room,161,160,3 duplicate(bat_aid) General Guillaume's Aid::bat_aid3 4_M_KY_HEAD -bat_room,161,158,3 duplicate(bat_aid) General Guillaume's Aid::bat_aid4 4_M_KY_HEAD - -// Flags -// ********************************************************************* - -- script Guillaume camp#bat 1_FLAG_LION,{ end; } -- script Croix camp#bat 1_FLAG_EAGLE,{ end; } - -// Exit from Registration -// ********************************************************************* -- script warp2bat_room FAKE_NPC,{ - end; - -OnTouch: - set BG_Delay_Tick, gettimetick(2) + 30; - warp "bat_room",154,149; - end; -} - -// Flavius bat_b02 -bat_room,57,81,0 duplicate(warp2bat_room) bat1 WARPNPC,1,1 -bat_room,57,90,0 duplicate(warp2bat_room) bat2 WARPNPC,1,1 -// Free BG -bat_room,57,220,0 duplicate(warp2bat_room) bat3 WARPNPC,1,1 -bat_room,57,211,0 duplicate(warp2bat_room) bat4 WARPNPC,1,1 -// Tierra Valley bat_a02 -bat_room,85,81,0 duplicate(warp2bat_room) bat5 WARPNPC,1,1 -bat_room,85,90,0 duplicate(warp2bat_room) bat6 WARPNPC,1,1 -// Tierra Valley bat_a01 -bat_room,85,220,0 duplicate(warp2bat_room) bat7 WARPNPC,1,1 -bat_room,85,211,0 duplicate(warp2bat_room) bat8 WARPNPC,1,1 -// Free BG -bat_room,113,81,0 duplicate(warp2bat_room) bat9 WARPNPC,1,1 -bat_room,113,90,0 duplicate(warp2bat_room) bat10 WARPNPC,1,1 -// Free BG -bat_room,113,220,0 duplicate(warp2bat_room) bat11 WARPNPC,1,1 -bat_room,113,211,0 duplicate(warp2bat_room) bat12 WARPNPC,1,1 -// Free BG -bat_room,141,81,0 duplicate(warp2bat_room) bat13 WARPNPC,1,1 -bat_room,141,90,0 duplicate(warp2bat_room) bat14 WARPNPC,1,1 -// Free BG -bat_room,141,220,0 duplicate(warp2bat_room) bat15 WARPNPC,1,1 -bat_room,141,211,0 duplicate(warp2bat_room) bat16 WARPNPC,1,1 -// Free BG -bat_room,169,81,0 duplicate(warp2bat_room) bat17 WARPNPC,1,1 -bat_room,169,90,0 duplicate(warp2bat_room) bat18 WARPNPC,1,1 -// Free BG -bat_room,169,220,0 duplicate(warp2bat_room) bat19 WARPNPC,1,1 -bat_room,169,211,0 duplicate(warp2bat_room) bat20 WARPNPC,1,1 -// Free BG -bat_room,197,81,0 duplicate(warp2bat_room) bat21 WARPNPC,1,1 -bat_room,197,90,0 duplicate(warp2bat_room) bat22 WARPNPC,1,1 -// KvM bat_c03 -bat_room,197,220,0 duplicate(warp2bat_room) bat23 WARPNPC,1,1 -bat_room,197,211,0 duplicate(warp2bat_room) bat24 WARPNPC,1,1 -// Free BG -bat_room,225,81,0 duplicate(warp2bat_room) bat25 WARPNPC,1,1 -bat_room,225,90,0 duplicate(warp2bat_room) bat26 WARPNPC,1,1 -// KvM bat_c02 -bat_room,225,220,0 duplicate(warp2bat_room) bat27 WARPNPC,1,1 -bat_room,225,211,0 duplicate(warp2bat_room) bat28 WARPNPC,1,1 -// Flavius bat_b01 -bat_room,253,81,0 duplicate(warp2bat_room) bat29 WARPNPC,1,1 -bat_room,253,90,0 duplicate(warp2bat_room) bat30 WARPNPC,1,1 -// KvM bat_c01 -bat_room,253,220,0 duplicate(warp2bat_room) bat31 WARPNPC,1,1 -bat_room,253,211,0 duplicate(warp2bat_room) bat32 WARPNPC,1,1 - -// Badges Repairman -// ********************************************************************* - -bat_room,138,144,5 script Repairman#bg 4W_M_03,{ - callfunc "repairmain","Repairman"; - end; -} - -// Badges Exchange -// ********************************************************************* - -bat_room,160,150,3 script Erundek 4_M_MANAGER,{ - mes "[Erundek]"; - mes "Welcome, mighty warrior."; - mes "What can I do for you today ?"; - next; - switch( select("Check the Catalog","Exchange Bravery Badges","Exchange Valor Badges","Exchange Heroism Badges","Hmm, nothing I guess.") ) - { - case 1: - mes "[Erundek]"; - mes "We have many items, so please take a look and purchase deliberately."; - close2; - readbook 11010,1; - end; - case 5: - mes "[Erundek]"; - mes "As you wish."; - mes "See you later."; - close; - case 2: // Bravery Badges - mes "[Erundek]"; - mes "So you want to exchange ^0000FFBravery Badges^000000 from the Battle of Tierra Valley."; - mes "What kind of item do you want to exchange?"; - next; - deletearray .@Item_DB[0],127; - set .@Badge, 7828; - - switch( select("Weapons", "Garment", "Footgear", "Armor", "Accessory") ) - { - case 1: setarray .@Item_DB[0],13036,13411,1425,1632,1634,1543,1924,1978,1574,1824,1183,1380,13305,1279,1739,13108,13172; set .@Value, 100; break; - case 2: setarray .@Item_DB[0],2538,2539,2540; set .@Value, 50; break; - case 3: setarray .@Item_DB[0],2435,2436,2437; set .@Value, 50; break; - case 4: setarray .@Item_DB[0],2376,2377,2378,2379,2380,2381,2382; set .@Value, 80; break; - case 5: setarray .@Item_DB[0],2720,2721,2722,2723,2724,2725,2733; set .@Value, 500; break; - } - - break; - case 3: // Valor Badges - mes "[Erundek]"; - mes "So you want to exchange ^FF0000Valor Badges^000000 from the Battle of Flavius."; - mes "What kind of item do you want to exchange?"; - next; - deletearray .@Item_DB[0],127; - set .@Badge, 7829; - - switch( select("Weapons", "Garment", "Footgear", "Armor", "Accessory") ) - { - case 1: setarray .@Item_DB[0],13037,13410,1633,1635,1542,1923,1977,1575,1823,1184,1482,1379,13306,1280,1738,13171,13173,13174; set .@Value, 100; break; - case 2: setarray .@Item_DB[0],2538,2539,2540; set .@Value, 50; break; - case 3: setarray .@Item_DB[0],2435,2436,2437; set .@Value, 50; break; - case 4: setarray .@Item_DB[0],2376,2377,2378,2379,2380,2381,2382; set .@Value, 80; break; - case 5: setarray .@Item_DB[0],2720,2721,2722,2723,2724,2725,2733; set .@Value, 500; break; - } - - break; - case 4: // Heroism Badge - mes "[Erundek]"; - mes "So you want to exchange ^FFA500Heroism Badges^000000 from the Battle of Kriger Von Midgard."; - mes "This shop is not available at the moment."; - close; - } - - mes "[Erundek]"; - mes "What item do you want to exchange?"; - mes "If you are not sure, check the catalog."; - next; - - set .@menu$, ""; - set .@count, getarraysize(.@Item_DB); - for( set .@i, 0; .@i < .@count; set .@i, .@i + 1 ) - set .@menu$, .@menu$ + getitemname(.@Item_DB[.@i]) + ":"; - - set .@Item_ID, .@Item_DB[select(.@menu$) - 1]; - - mes "[Erundek]"; - mes "Would you like to exchange ^FF0000" + .@Value + " " + getitemname(.@Badge) + "^000000 for a ^0000FF" + getitemname(.@Item_ID) + "^000000?"; - next; - mes "Remember, Battleground Reward Items are ^FF0000Character Bound^000000."; - mes "Are you sure you want this item?"; - next; - - if( select("Yes", "No") == 2 ) - { - mes "[Erundek]"; - mes "Do you need more time to check the items?"; - close; - } - - if( countitem(.@Badge) < .@Value ) - { - mes "[Erundek]"; - mes "I'm sorry, but you don't have enough badges to exchange."; - close; - } - - delitem .@Badge,.@Value; - getitem .@Item_ID,1; - mes "[Erundek]"; - mes "Thank you for exchanging."; - close; -} diff --git a/npc/custom/battleground/bg_flavius_01.txt b/npc/custom/battleground/bg_flavius_01.txt deleted file mode 100644 index 73ab603c9..000000000 --- a/npc/custom/battleground/bg_flavius_01.txt +++ /dev/null @@ -1,424 +0,0 @@ -// ============================================================================== -// BattleGround System - Flavius 1 -// ============================================================================== - -// Registration NPC's -// ********************************************************************* - -bat_room,86,227,4 script Registration::Fl1R_Guillaume 4_M_KY_KNT,{ - end; -OnInit: - waitingroom "Battle Station 10 Players",10,"Flavius_BG1::OnGuillaumeJoin",1; - end; -OnEnterBG: - set $@FlaviusBG1_id1, waitingroom2bg("bat_b01",390,10,"Flavius_BG1::OnGuillaumeQuit",""); - end; -} - -bat_room,85,204,0 script Registration::Fl1R_Croix 4_M_CRU_KNT,{ - end; -OnInit: - waitingroom "Battle Station 10 Players",10,"Flavius_BG1::OnCroixJoin",1; - end; -OnEnterBG: - set $@FlaviusBG1_id2, waitingroom2bg("bat_b01",10,290,"Flavius_BG1::OnCroixQuit",""); - end; -} - -// Battleground Engine -// ********************************************************************* - -- script Flavius_BG1 FAKE_NPC,{ - end; - -OnInit: - disablenpc "Guillaume Vintenar#fl1"; - disablenpc "Croix Vintenar#fl1"; - disablenpc "Therapist in battle#fl11"; - disablenpc "Therapist in battle#fl12"; - end; - -OnGuillaumeQuit: -OnCroixQuit: - set BG_Delay_Tick, gettimetick(2) + 1200; - end; - -OnGuillaumeJoin: -OnCroixJoin: - if( $@FlaviusBG1 == 0 ) - donpcevent "Flavius_BG1::OnReadyCheck"; - end; - -OnReadyCheck: - if( $@FlaviusBG1 ) - end; - set .@Guillaume, getwaitingroomstate(0,"Fl1R_Guillaume"); - set .@Croix, getwaitingroomstate(0,"Fl1R_Croix"); - - if( .@Guillaume < 10 || .@Croix < 10 ) - { - mapannounce "bat_room","Battleground -- Flavius [80-99] G: " + .@Guillaume + "/10, C: " + .@Croix + "/10",1,0x006400; - end; - } - - // BG Variables - set $@FlaviusBG1, 1; - set $@FlaviusBG1_Victory, 0; - set .Guillaume_Score, 0; - set .Guillaume_Loss, 0; - set .Croix_Score, 0; - set .Croix_Loss, 0; - set .Match, 0; - // Prepare NPC - donpcevent "#gfl1_respawn::OnBGStart"; - donpcevent "#cfl1_respawn::OnBGStart"; - enablenpc "Therapist in battle#fl11"; - enablenpc "Therapist in battle#fl12"; - disablenpc "Guillaume Vintenar#fl1"; - disablenpc "Croix Vintenar#fl1"; - // Build and Warp Teams - donpcevent "Fl1R_Guillaume::OnEnterBG"; - donpcevent "Fl1R_Croix::OnEnterBG"; - announce "Battleground -- Flavius [80-99] has started!",0,0x006400; - initnpctimer; - // Start Match!! - -OnRoundStart: - sleep 2000; - if( $@FlaviusBG1 != 1 ) end; - - areapercentheal "bat_b01",382,2,397,17,100,100; - areapercentheal "bat_b01",2,282,17,297,100,100; - bg_warp $@FlaviusBG1_id1,"bat_b01",311,224; - bg_warp $@FlaviusBG1_id2,"bat_b01",87,75; - - sleep 2000; - if( $@FlaviusBG1 != 1 ) end; - - set .Match, .Match + 1; - // Crystal Spawn - set .Guillaume_Crystal, bg_monster($@FlaviusBG1_id1,"bat_b01",328,150,"Crystal Guillaume",1914,"Flavius_BG1::OnGuillaumeBreak"); - setcell "bat_b01",327,151,329,149,cell_basilica,1; - setcell "bat_b01",327,151,329,149,cell_walkable,1; - - set .Croix_Crystal, bg_monster($@FlaviusBG1_id2,"bat_b01",62,150,"Crystal Croix",1915,"Flavius_BG1::OnCroixBreak"); - setcell "bat_b01",62,149,60,151,cell_basilica,1; - setcell "bat_b01",62,149,60,151,cell_walkable,1; - - // Guardian Spawns - bg_monster $@FlaviusBG1_id1,"bat_b01",328,160,"Guillaume Guardian",1949,"Flavius_BG1::OnGuiGuardian"; - bg_monster $@FlaviusBG1_id1,"bat_b01",328,140,"Guillaume Guardian",1950,"Flavius_BG1::OnGuiGuardian"; - set .Guillaume_Guardian, 2; - bg_monster $@FlaviusBG1_id2,"bat_b01",62,160,"Croix Guardian",1949,"Flavius_BG1::OnCroGuardian"; - bg_monster $@FlaviusBG1_id2,"bat_b01",61,140,"Croix Guardian",1950,"Flavius_BG1::OnCroGuardian"; - set .Croix_Guardian, 2; - // Announces - mapannounce "bat_b01","The Battle of Flavius [ " + .Match + " ] Round has begun!!",1,0x006400; - end; - -OnRoundStop: - // Remove Monsters - killmonster "bat_b01","Flavius_BG1::OnGuiGuardian"; - killmonster "bat_b01","Flavius_BG1::OnCroGuardian"; - setcell "bat_b01",327,151,329,149,cell_walkable,0; - setcell "bat_b01",327,151,329,149,cell_basilica,0; - killmonster "bat_b01","Flavius_BG1::OnGuillaumeBreak"; - setcell "bat_b01",62,149,60,151,cell_walkable,0; - setcell "bat_b01",62,149,60,151,cell_basilica,0; - killmonster "bat_b01","Flavius_BG1::OnCroixBreak"; - end; - -OnGuiGuardian: - if( set(.Guillaume_Guardian, .Guillaume_Guardian - 1) <= 0 ) - { - setcell "bat_b01",327,151,329,149,cell_walkable,0; - setcell "bat_b01",327,151,329,149,cell_basilica,0; - mapannounce "bat_b01","The Guillaume Crystal is vulnerable to attack!",1,0x0000FF; - } - end; - -OnCroGuardian: - if( set(.Croix_Guardian, .Croix_Guardian - 1) <= 0 ) - { - setcell "bat_b01",62,149,60,151,cell_walkable,0; - setcell "bat_b01",62,149,60,151,cell_basilica,0; - mapannounce "bat_b01","The Croix Crystal is vulnerable to attack!",1,0xFF0000; - } - end; - -OnGuillaumeBreak: - donpcevent "Flavius_BG1::OnRoundStop"; - set .Guillaume_Loss, .Guillaume_Loss + 1; - if( set(.Croix_Score, .Croix_Score + 1) < 2 ) - { - bg_updatescore "bat_b01",.Guillaume_Score,.Croix_Score; - mapannounce "bat_b01","The Guillaume Crystal has been destroyed!",1,0x0000FF; - donpcevent "Flavius_BG1::OnRoundStart"; - } - else - { - bg_updatescore "bat_b01",.Guillaume_Score,.Croix_Score; - mapannounce "bat_b01","The Croix army has won the Battle of Flavius!",1,0xFF0000; - set $@FlaviusBG1_Victory, 2; - donpcevent "Flavius_BG1::OnMatchEnd"; - } - end; - -OnCroixBreak: - donpcevent "Flavius_BG1::OnRoundStop"; - set .Croix_Loss, .Croix_Loss + 1; - if( set(.Guillaume_Score, .Guillaume_Score + 1) < 2 ) - { - bg_updatescore "bat_b01",.Guillaume_Score,.Croix_Score; - mapannounce "bat_b01","The Croix Crystal has been destroyed!",1,0xFF0000; - donpcevent "Flavius_BG1::OnRoundStart"; - } - else - { - bg_updatescore "bat_b01",.Guillaume_Score,.Croix_Score; - mapannounce "bat_b01","The Guillaume army has won the Battle of Flavius!",1,0x0000FF; - set $@FlaviusBG1_Victory, 1; - donpcevent "Flavius_BG1::OnMatchEnd"; - } - end; - -OnTimer2400000: - mapannounce "bat_b01","Battle of Flavius will ends in 5 minutes",1,0x006400; - end; -OnTimer2640000: - mapannounce "bat_b01","Battle of Flavius will ends in 1 minute",1,0x006400; - end; - -OnTimer2700000: - if( .Croix_Score > .Guillaume_Score ) - { - mapannounce "bat_b01","The Croix army has won the Battle of Flavius!",1,0xFF0000; - set $@FlaviusBG1_Victory, 2; - } - else if( .Croix_Score < .Guillaume_Score ) - { - mapannounce "bat_b01","The Guillaume army has won the Battle of Flavius!",1,0x0000FF; - set $@FlaviusBG1_Victory, 1; - } - else - { - mapannounce "bat_b01","The Battle of Flavius is over. The time is out, this is a Tie",1,0x006400; - set $@FlaviusBG1_Victory, 3; - } - -OnMatchEnd: - set $@FlaviusBG1, 2; - stopnpctimer; - donpcevent "#gfl1_respawn::OnBGStop"; - donpcevent "#cfl1_respawn::OnBGStop"; - disablenpc "Therapist in battle#fl11"; - disablenpc "Therapist in battle#fl12"; - enablenpc "Guillaume Vintenar#fl1"; - enablenpc "Croix Vintenar#fl1"; - sleep 2000; - bg_warp $@FlaviusBG1_id1,"bat_b01",390,10; - bg_warp $@FlaviusBG1_id2,"bat_b01",10,290; - sleep 3000; - mapannounce "bat_b01","Battle of Flavius will close in 1 minute!",1,0x006400; - initnpctimer; - end; - -OnTimer30000: - if( $@FlaviusBG1 == 2 ) - mapannounce "bat_b01","Battle of Flavius will close in 30 seconds!",1,0x006400; - end; -OnTimer50000: - if( $@FlaviusBG1 == 2 ) - mapannounce "bat_b01","Battle of Flavius will close in 10 seconds!",1,0x006400; - end; - -OnTimer60000: - if( $@FlaviusBG1 != 2 ) - end; -OnReset: - stopnpctimer; - donpcevent "Flavius_BG1::OnRoundStop"; - set .Guillaume_Score, 0; - set .Guillaume_Crystal, 0; - set .Guillaume_Loss, 0; - set .Croix_Score, 0; - set .Croix_Crystal, 0; - set .Croix_Loss, 0; - set .Match, 0; - set $@FlaviusBG1_Victory, 0; - // NPC's - disablenpc "Guillaume Vintenar#fl1"; - disablenpc "Croix Vintenar#fl1"; - disablenpc "Therapist in battle#fl11"; - disablenpc "Therapist in battle#fl12"; - - if( $@FlaviusBG1_id1 ) { bg_destroy $@FlaviusBG1_id1; set $@FlaviusBG1_id1, 0; } - if( $@FlaviusBG1_id2 ) { bg_destroy $@FlaviusBG1_id2; set $@FlaviusBG1_id2, 0; } - sleep 1000; - mapwarp "bat_b01","bat_room",155,150; - sleep 2000; - maprespawnguildid "bat_b01",0,3; // Just in case someone else - sleep 2000; - bg_updatescore "bat_b01",0,0; - set $@FlaviusBG1, 0; - donpcevent "Flavius_BG1::OnReadyCheck"; - end; -} - -// Battleground rewards -// ********************************************************************* - -bat_b01,390,13,5 script Guillaume Vintenar#fl1 4_M_KY_HEAD,{ - if( $@FlaviusBG1_Victory ) - { - if( $@FlaviusBG1_Victory == Bat_Team ) - { // Victory - mes "[Swandery]"; - mes "Blessed Guillaume!!"; - mes "Let's enjoy our glorious victory!"; - mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory"; - close2; - set .@reward, 9; - } else { - mes "[Swandery]"; - mes "You lost, but you're dedicated to this battle."; - mes "This is a reward for your great dedication by Guillaume Marollo!"; - mes "Just take this defeat a lesson, and later you would definitely learn."; - close2; - set .@reward, 3; - } - - setquest 2070; - getitem 7829, .@reward; - bg_leave; - warp "bat_room",155,150; - end; - } - end; -} - -bat_b01,10,293,5 script Croix Vintenar#fl1 4_M_CRU_HEAD,{ - if( $@FlaviusBG1_Victory ) - { - if( $@FlaviusBG1_Victory == Bat_Team ) - { // Victory - mes "[Swandery]"; - mes "Blessed Croax!!"; - mes "Let's enjoy our glorious victory!"; - mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory"; - close2; - set .@reward, 9; - } else { - mes "[Swandery]"; - mes "Oh, " + strcharinfo(PC_NAME) + ". Don't be sad."; - mes "Even though we didn't win, we did our best."; - mes "This is a Royal gift from Croix, and please don't forget this battle. We can win the next."; - close2; - set .@reward, 3; - } - - setquest 2070; - getitem 7829, .@reward; - bg_leave; - warp "bat_room",155,150; - end; - } - end; -} - -// Battleground Therapist -// ********************************************************************* - -bat_b01,390,13,5 script Therapist in battle#fl12 4_F_SISTER,{ - mes "[Therapist in battle]"; - mes "Just close your eyes, and take a deep breathe."; - mes "You can be free from pain."; - specialeffect(EF_HEAL, AREA, playerattached()); - close; -} - -bat_b01,10,293,5 script Therapist in battle#fl11 4_F_SISTER,{ - mes "[Therapist in battle]"; - mes "Just close your eyes, and take a deep breathe."; - mes "You can be free from pain."; - specialeffect(EF_HEAL, AREA, playerattached()); - close; -} - -// Battleground Respawn -// ********************************************************************* - -bat_b01,390,10,0 script #gfl1_respawn HIDDEN_WARP_NPC,{ - end; - -OnBGStart: - initnpctimer; - end; - -OnBGStop: - stopnpctimer; - end; - -OnTimer24000: - specialeffect(EF_SANCTUARY); - end; - -OnTimer25000: - areapercentheal "bat_b01",382,2,397,17,100,100; - areawarp "bat_b01",382,2,397,17,"bat_b01",311,224; - initnpctimer; - end; -} - -bat_b01,10,290,0 script #cfl1_respawn HIDDEN_WARP_NPC,{ - end; - -OnBGStart: - initnpctimer; - end; - -OnBGStop: - stopnpctimer; - end; - -OnTimer24000: - specialeffect(EF_SANCTUARY); - end; - -OnTimer25000: - areapercentheal "bat_b01",2,282,17,297,100,100; - areawarp "bat_b01",2,282,17,297,"bat_b01",87,75; - initnpctimer; - end; -} - -// Flags -// ********************************************************************* - -bat_b01,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat1 1_FLAG_LION -bat_b01,319,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat2 1_FLAG_LION -bat_b01,304,218,1 duplicate(Guillaume camp#bat) Guillaume camp#bat3 1_FLAG_LION -bat_b01,319,218,1 duplicate(Guillaume camp#bat) Guillaume camp#bat4 1_FLAG_LION -bat_b01,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat5 1_FLAG_LION -bat_b01,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat6 1_FLAG_LION -bat_b01,335,142,1 duplicate(Guillaume camp#bat) Guillaume camp#bat7 1_FLAG_LION -bat_b01,335,157,1 duplicate(Guillaume camp#bat) Guillaume camp#bat8 1_FLAG_LION -bat_b01,390,16,1 duplicate(Guillaume camp#bat) Guillaume camp#bat9 1_FLAG_LION -bat_b01,292,163,1 duplicate(Guillaume camp#bat) Guillaume camp#bat19 1_FLAG_LION -bat_b01,292,136,1 duplicate(Guillaume camp#bat) Guillaume camp#bat20 1_FLAG_LION -bat_b01,241,185,1 duplicate(Guillaume camp#bat) Guillaume camp#bat21 1_FLAG_LION -bat_b01,247,179,1 duplicate(Guillaume camp#bat) Guillaume camp#bat22 1_FLAG_LION - -bat_b01,96,81,1 duplicate(Croix camp#bat) Croix camp#bat1 1_FLAG_EAGLE -bat_b01,96,68,1 duplicate(Croix camp#bat) Croix camp#bat2 1_FLAG_EAGLE -bat_b01,79,81,1 duplicate(Croix camp#bat) Croix camp#bat3 1_FLAG_EAGLE -bat_b01,79,68,1 duplicate(Croix camp#bat) Croix camp#bat4 1_FLAG_EAGLE -bat_b01,96,81,1 duplicate(Croix camp#bat) Croix camp#bat5 1_FLAG_EAGLE -bat_b01,96,81,1 duplicate(Croix camp#bat) Croix camp#bat6 1_FLAG_EAGLE -bat_b01,59,164,1 duplicate(Croix camp#bat) Croix camp#bat7 1_FLAG_EAGLE -bat_b01,59,137,1 duplicate(Croix camp#bat) Croix camp#bat8 1_FLAG_EAGLE -bat_b01,10,296,1 duplicate(Croix camp#bat) Croix camp#bat9 1_FLAG_EAGLE -bat_b01,110,162,1 duplicate(Croix camp#bat) Croix camp#bat18 1_FLAG_EAGLE -bat_b01,110,137,1 duplicate(Croix camp#bat) Croix camp#bat19 1_FLAG_EAGLE -bat_b01,152,120,1 duplicate(Croix camp#bat) Croix camp#bat20 1_FLAG_EAGLE -bat_b01,158,114,1 duplicate(Croix camp#bat) Croix camp#bat21 1_FLAG_EAGLE diff --git a/npc/custom/battleground/bg_flavius_02.txt b/npc/custom/battleground/bg_flavius_02.txt deleted file mode 100644 index e970a0711..000000000 --- a/npc/custom/battleground/bg_flavius_02.txt +++ /dev/null @@ -1,424 +0,0 @@ -// ============================================================================== -// BattleGround System - Flavius 2 -// ============================================================================== - -// Registration NPC's -// ********************************************************************* - -bat_room,142,227,4 script Registration::Fl2R_Guillaume 4_M_KY_KNT,{ - end; -OnInit: - waitingroom "Battle Station 10 Players",10,"Flavius_BG2::OnGuillaumeJoin",1; - end; -OnEnterBG: - set $@FlaviusBG2_id1, waitingroom2bg("bat_b02",390,10,"Flavius_BG2::OnGuillaumeQuit",""); - end; -} - -bat_room,142,204,0 script Registration::Fl2R_Croix 4_M_CRU_KNT,{ - end; -OnInit: - waitingroom "Battle Station 10 Players",10,"Flavius_BG2::OnCroixJoin",1; - end; -OnEnterBG: - set $@FlaviusBG2_id2, waitingroom2bg("bat_b02",10,290,"Flavius_BG2::OnCroixQuit",""); - end; -} - -// Battleground Engine -// ********************************************************************* - -- script Flavius_BG2 FAKE_NPC,{ - end; - -OnInit: - disablenpc "Guillaume Vintenar#fl2"; - disablenpc "Croix Vintenar#fl2"; - disablenpc "Therapist in battle#fl21"; - disablenpc "Therapist in battle#fl22"; - end; - -OnGuillaumeQuit: -OnCroixQuit: - set BG_Delay_Tick, gettimetick(2) + 1200; - end; - -OnGuillaumeJoin: -OnCroixJoin: - if( $@FlaviusBG2 == 0 ) - donpcevent "Flavius_BG2::OnReadyCheck"; - end; - -OnReadyCheck: - if( $@FlaviusBG2 ) - end; - set .@Guillaume, getwaitingroomstate(0,"Fl2R_Guillaume"); - set .@Croix, getwaitingroomstate(0,"Fl2R_Croix"); - - if( .@Guillaume < 10 || .@Croix < 10 ) - { - mapannounce "bat_room","Battleground -- Flavius [80-99] G: " + .@Guillaume + "/10, C: " + .@Croix + "/10",1,0x808000; - end; - } - - // BG Variables - set $@FlaviusBG2, 1; - set $@FlaviusBG2_Victory, 0; - set .Guillaume_Score, 0; - set .Guillaume_Loss, 0; - set .Croix_Score, 0; - set .Croix_Loss, 0; - set .Match, 0; - // Prepare NPC - donpcevent "#gfl2_respawn::OnBGStart"; - donpcevent "#cfl2_respawn::OnBGStart"; - enablenpc "Therapist in battle#fl21"; - enablenpc "Therapist in battle#fl22"; - disablenpc "Guillaume Vintenar#fl2"; - disablenpc "Croix Vintenar#fl2"; - // Build and Warp Teams - donpcevent "Fl2R_Guillaume::OnEnterBG"; - donpcevent "Fl2R_Croix::OnEnterBG"; - announce "Battleground -- Flavius [80-99] has started!",0,0x808000; - initnpctimer; - // Start Match!! - -OnRoundStart: - sleep 2000; - if( $@FlaviusBG2 != 1 ) end; - - areapercentheal "bat_b02",382,2,397,17,100,100; - areapercentheal "bat_b02",2,282,17,297,100,100; - bg_warp $@FlaviusBG2_id1,"bat_b02",311,224; - bg_warp $@FlaviusBG2_id2,"bat_b02",87,75; - - sleep 2000; - if( $@FlaviusBG2 != 1 ) end; - - set .Match, .Match + 1; - // Crystal Spawn - set .Guillaume_Crystal, bg_monster($@FlaviusBG2_id1,"bat_b02",328,150,"Crystal Guillaume",1914,"Flavius_BG2::OnGuillaumeBreak"); - setcell "bat_b02",327,151,329,149,cell_basilica,1; - setcell "bat_b02",327,151,329,149,cell_walkable,1; - - set .Croix_Crystal, bg_monster($@FlaviusBG2_id2,"bat_b02",62,150,"Crystal Croix",1915,"Flavius_BG2::OnCroixBreak"); - setcell "bat_b02",62,149,60,151,cell_basilica,1; - setcell "bat_b02",62,149,60,151,cell_walkable,1; - - // Guardian Spawns - bg_monster $@FlaviusBG2_id1,"bat_b02",328,160,"Guillaume Guardian",1949,"Flavius_BG2::OnGuiGuardian"; - bg_monster $@FlaviusBG2_id1,"bat_b02",328,140,"Guillaume Guardian",1950,"Flavius_BG2::OnGuiGuardian"; - set .Guillaume_Guardian, 2; - bg_monster $@FlaviusBG2_id2,"bat_b02",62,160,"Croix Guardian",1949,"Flavius_BG2::OnCroGuardian"; - bg_monster $@FlaviusBG2_id2,"bat_b02",61,140,"Croix Guardian",1950,"Flavius_BG2::OnCroGuardian"; - set .Croix_Guardian, 2; - // Announces - mapannounce "bat_b02","The Battle of Flavius [ " + .Match + " ] Round has begun!!",1,0x808000; - end; - -OnRoundStop: - // Remove Monsters - killmonster "bat_b02","Flavius_BG2::OnGuiGuardian"; - killmonster "bat_b02","Flavius_BG2::OnCroGuardian"; - setcell "bat_b02",327,151,329,149,cell_walkable,0; - setcell "bat_b02",327,151,329,149,cell_basilica,0; - killmonster "bat_b02","Flavius_BG2::OnGuillaumeBreak"; - setcell "bat_b02",62,149,60,151,cell_walkable,0; - setcell "bat_b02",62,149,60,151,cell_basilica,0; - killmonster "bat_b02","Flavius_BG2::OnCroixBreak"; - end; - -OnGuiGuardian: - if( set(.Guillaume_Guardian, .Guillaume_Guardian - 1) <= 0 ) - { - setcell "bat_b02",327,151,329,149,cell_walkable,0; - setcell "bat_b02",327,151,329,149,cell_basilica,0; - mapannounce "bat_b02","The Guillaume Crystal is vulnerable to attack!",1,0x0000FF; - } - end; - -OnCroGuardian: - if( set(.Croix_Guardian, .Croix_Guardian - 1) <= 0 ) - { - setcell "bat_b02",62,149,60,151,cell_walkable,0; - setcell "bat_b02",62,149,60,151,cell_basilica,0; - mapannounce "bat_b02","The Croix Crystal is vulnerable to attack!",1,0xFF0000; - } - end; - -OnGuillaumeBreak: - donpcevent "Flavius_BG2::OnRoundStop"; - set .Guillaume_Loss, .Guillaume_Loss + 1; - if( set(.Croix_Score, .Croix_Score + 1) < 2 ) - { - bg_updatescore "bat_b02",.Guillaume_Score,.Croix_Score; - mapannounce "bat_b02","The Guillaume Crystal has been destroyed!",1,0x0000FF; - donpcevent "Flavius_BG2::OnRoundStart"; - } - else - { - bg_updatescore "bat_b02",.Guillaume_Score,.Croix_Score; - mapannounce "bat_b02","The Croix army has won the Battle of Flavius!",1,0xFF0000; - set $@FlaviusBG2_Victory, 2; - donpcevent "Flavius_BG2::OnMatchEnd"; - } - end; - -OnCroixBreak: - donpcevent "Flavius_BG2::OnRoundStop"; - set .Croix_Loss, .Croix_Loss + 1; - if( set(.Guillaume_Score, .Guillaume_Score + 1) < 2 ) - { - bg_updatescore "bat_b02",.Guillaume_Score,.Croix_Score; - mapannounce "bat_b02","The Croix Crystal has been destroyed!",1,0xFF0000; - donpcevent "Flavius_BG2::OnRoundStart"; - } - else - { - bg_updatescore "bat_b02",.Guillaume_Score,.Croix_Score; - mapannounce "bat_b02","The Guillaume army has won the Battle of Flavius!",1,0x0000FF; - set $@FlaviusBG2_Victory, 1; - donpcevent "Flavius_BG2::OnMatchEnd"; - } - end; - -OnTimer2400000: - mapannounce "bat_b02","Battle of Flavius will ends in 5 minutes",1,0x808000; - end; -OnTimer2640000: - mapannounce "bat_b02","Battle of Flavius will ends in 1 minute",1,0x808000; - end; - -OnTimer2700000: - if( .Croix_Score > .Guillaume_Score ) - { - mapannounce "bat_b02","The Croix army has won the Battle of Flavius!",1,0xFF0000; - set $@FlaviusBG2_Victory, 2; - } - else if( .Croix_Score < .Guillaume_Score ) - { - mapannounce "bat_b02","The Guillaume army has won the Battle of Flavius!",1,0x0000FF; - set $@FlaviusBG2_Victory, 1; - } - else - { - mapannounce "bat_b02","The Battle of Flavius is over. The time is out, this is a Tie",1,0x808000; - set $@FlaviusBG2_Victory, 3; - } - -OnMatchEnd: - set $@FlaviusBG2, 2; - stopnpctimer; - donpcevent "#gfl2_respawn::OnBGStop"; - donpcevent "#cfl2_respawn::OnBGStop"; - disablenpc "Therapist in battle#fl21"; - disablenpc "Therapist in battle#fl22"; - enablenpc "Guillaume Vintenar#fl2"; - enablenpc "Croix Vintenar#fl2"; - sleep 2000; - bg_warp $@FlaviusBG2_id1,"bat_b02",390,10; - bg_warp $@FlaviusBG2_id2,"bat_b02",10,290; - sleep 3000; - mapannounce "bat_b02","Battle of Flavius will close in 1 minute!",1,0x808000; - initnpctimer; - end; - -OnTimer30000: - if( $@FlaviusBG2 == 2 ) - mapannounce "bat_b02","Battle of Flavius will close in 30 seconds!",1,0x808000; - end; -OnTimer50000: - if( $@FlaviusBG2 == 2 ) - mapannounce "bat_b02","Battle of Flavius will close in 10 seconds!",1,0x808000; - end; - -OnTimer60000: - if( $@FlaviusBG2 != 2 ) - end; -OnReset: - stopnpctimer; - donpcevent "Flavius_BG2::OnRoundStop"; - set .Guillaume_Score, 0; - set .Guillaume_Crystal, 0; - set .Guillaume_Loss, 0; - set .Croix_Score, 0; - set .Croix_Crystal, 0; - set .Croix_Loss, 0; - set .Match, 0; - set $@FlaviusBG2_Victory, 0; - // NPC's - disablenpc "Guillaume Vintenar#fl2"; - disablenpc "Croix Vintenar#fl2"; - disablenpc "Therapist in battle#fl21"; - disablenpc "Therapist in battle#fl22"; - - if( $@FlaviusBG2_id1 ) { bg_destroy $@FlaviusBG2_id1; set $@FlaviusBG2_id1, 0; } - if( $@FlaviusBG2_id2 ) { bg_destroy $@FlaviusBG2_id2; set $@FlaviusBG2_id2, 0; } - sleep 1000; - mapwarp "bat_b02","bat_room",155,150; - sleep 2000; - maprespawnguildid "bat_b02",0,3; // Just in case someone else - sleep 2000; - bg_updatescore "bat_b02",0,0; - set $@FlaviusBG2, 0; - donpcevent "Flavius_BG2::OnReadyCheck"; - end; -} - -// Battleground rewards -// ********************************************************************* - -bat_b02,390,13,5 script Guillaume Vintenar#fl2 4_M_KY_HEAD,{ - if( $@FlaviusBG2_Victory ) - { - if( $@FlaviusBG2_Victory == Bat_Team ) - { // Victory - mes "[Swandery]"; - mes "Blessed Guillaume!!"; - mes "Let's enjoy our glorious victory!"; - mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory"; - close2; - set .@reward, 9; - } else { - mes "[Swandery]"; - mes "You lost, but you're dedicated to this battle."; - mes "This is a reward for your great dedication by Guillaume Marollo!"; - mes "Just take this defeat a lesson, and later you would definitely learn."; - close2; - set .@reward, 3; - } - - setquest 2070; - getitem 7829, .@reward; - bg_leave; - warp "bat_room",155,150; - end; - } - end; -} - -bat_b02,10,293,5 script Croix Vintenar#fl2 4_M_CRU_HEAD,{ - if( $@FlaviusBG2_Victory ) - { - if( $@FlaviusBG2_Victory == Bat_Team ) - { // Victory - mes "[Swandery]"; - mes "Blessed Croax!!"; - mes "Let's enjoy our glorious victory!"; - mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory"; - close2; - set .@reward, 9; - } else { - mes "[Swandery]"; - mes "Oh, " + strcharinfo(PC_NAME) + ". Don't be sad."; - mes "Even though we didn't win, we did our best."; - mes "This is a Royal gift from Croix, and please don't forget this battle. We can win the next."; - close2; - set .@reward, 3; - } - - setquest 2070; - getitem 7829, .@reward; - bg_leave; - warp "bat_room",155,150; - end; - } - end; -} - -// Battleground Therapist -// ********************************************************************* - -bat_b02,390,13,5 script Therapist in battle#fl22 4_F_SISTER,{ - mes "[Therapist in battle]"; - mes "Just close your eyes, and take a deep breathe."; - mes "You can be free from pain."; - specialeffect(EF_HEAL, AREA, playerattached()); - close; -} - -bat_b02,10,293,5 script Therapist in battle#fl21 4_F_SISTER,{ - mes "[Therapist in battle]"; - mes "Just close your eyes, and take a deep breathe."; - mes "You can be free from pain."; - specialeffect(EF_HEAL, AREA, playerattached()); - close; -} - -// Battleground Respawn -// ********************************************************************* - -bat_b02,390,10,0 script #gfl2_respawn HIDDEN_WARP_NPC,{ - end; - -OnBGStart: - initnpctimer; - end; - -OnBGStop: - stopnpctimer; - end; - -OnTimer24000: - specialeffect(EF_SANCTUARY); - end; - -OnTimer25000: - areapercentheal "bat_b02",382,2,397,17,100,100; - areawarp "bat_b02",382,2,397,17,"bat_b02",311,224; - initnpctimer; - end; -} - -bat_b02,10,290,0 script #cfl2_respawn HIDDEN_WARP_NPC,{ - end; - -OnBGStart: - initnpctimer; - end; - -OnBGStop: - stopnpctimer; - end; - -OnTimer24000: - specialeffect(EF_SANCTUARY); - end; - -OnTimer25000: - areapercentheal "bat_b02",2,282,17,297,100,100; - areawarp "bat_b02",2,282,17,297,"bat_b02",87,75; - initnpctimer; - end; -} - -// Flags -// ********************************************************************* - -bat_b02,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat32 1_FLAG_LION -bat_b02,319,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat33 1_FLAG_LION -bat_b02,304,218,1 duplicate(Guillaume camp#bat) Guillaume camp#bat34 1_FLAG_LION -bat_b02,319,218,1 duplicate(Guillaume camp#bat) Guillaume camp#bat35 1_FLAG_LION -bat_b02,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat36 1_FLAG_LION -bat_b02,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat37 1_FLAG_LION -bat_b02,335,142,1 duplicate(Guillaume camp#bat) Guillaume camp#bat38 1_FLAG_LION -bat_b02,335,157,1 duplicate(Guillaume camp#bat) Guillaume camp#bat39 1_FLAG_LION -bat_b02,390,16,1 duplicate(Guillaume camp#bat) Guillaume camp#bat40 1_FLAG_LION -bat_b02,292,163,1 duplicate(Guillaume camp#bat) Guillaume camp#bat41 1_FLAG_LION -bat_b02,292,136,1 duplicate(Guillaume camp#bat) Guillaume camp#bat42 1_FLAG_LION -bat_b02,241,185,1 duplicate(Guillaume camp#bat) Guillaume camp#bat43 1_FLAG_LION -bat_b02,247,179,1 duplicate(Guillaume camp#bat) Guillaume camp#bat44 1_FLAG_LION - -bat_b02,96,81,1 duplicate(Croix camp#bat) Croix camp#bat30 1_FLAG_EAGLE -bat_b02,96,68,1 duplicate(Croix camp#bat) Croix camp#bat31 1_FLAG_EAGLE -bat_b02,79,81,1 duplicate(Croix camp#bat) Croix camp#bat32 1_FLAG_EAGLE -bat_b02,79,68,1 duplicate(Croix camp#bat) Croix camp#bat33 1_FLAG_EAGLE -bat_b02,96,81,1 duplicate(Croix camp#bat) Croix camp#bat34 1_FLAG_EAGLE -bat_b02,96,81,1 duplicate(Croix camp#bat) Croix camp#bat35 1_FLAG_EAGLE -bat_b02,59,164,1 duplicate(Croix camp#bat) Croix camp#bat36 1_FLAG_EAGLE -bat_b02,59,137,1 duplicate(Croix camp#bat) Croix camp#bat37 1_FLAG_EAGLE -bat_b02,10,296,1 duplicate(Croix camp#bat) Croix camp#bat38 1_FLAG_EAGLE -bat_b02,110,162,1 duplicate(Croix camp#bat) Croix camp#bat39 1_FLAG_EAGLE -bat_b02,110,137,1 duplicate(Croix camp#bat) Croix camp#bat40 1_FLAG_EAGLE -bat_b02,152,120,1 duplicate(Croix camp#bat) Croix camp#bat41 1_FLAG_EAGLE -bat_b02,158,114,1 duplicate(Croix camp#bat) Croix camp#bat42 1_FLAG_EAGLE diff --git a/npc/custom/battleground/bg_kvm01.txt b/npc/custom/battleground/bg_kvm01.txt deleted file mode 100644 index a66e202e3..000000000 --- a/npc/custom/battleground/bg_kvm01.txt +++ /dev/null @@ -1,374 +0,0 @@ -// ============================================================================== -// BattleGround System - KvM 80~99 -// ============================================================================== - -// Registration NPC's -// ********************************************************************* - -bat_room,253,227,4 script Registration::KvM01R_Guillaume 4_M_KY_KNT,{ // KvM Guillaume - end; - -OnInit: - waitingroom "Battle Station 5 Players",5,"KvM01_BG::OnGuillaumeJoin",1; - end; - -OnEnterBG: - set $@KvM01BG_id1, waitingroom2bg("bat_c01",53,128,"KvM01_BG::OnGuillaumeQuit","KvM01_BG::OnGuillaumeDie"); - end; -} - -bat_room,253,204,0 script Registration::KvM01R_Croix 4_M_CRU_KNT,{ // KvM Croix - end; - -OnInit: - waitingroom "Battle Station 5 Players",5,"KvM01_BG::OnCroixJoin",1; - end; - -OnEnterBG: - set $@KvM01BG_id2, waitingroom2bg("bat_c01",146,55,"KvM01_BG::OnCroixQuit","KvM01_BG::OnCroixDie"); - end; -} - -// Light Effects -// ********************************************************************* - -bat_c01,54,123,0 script #bat_c01a HIDDEN_NPC,{ - end; - -OnKvM01LightA: specialeffect(EF_BEGINSPELL2); end; -OnKvM01LightB: specialeffect(EF_BEGINSPELL3); end; -OnKvM01LightC: specialeffect(EF_BEGINSPELL4); end; -} - -bat_c01,56,125,0 duplicate(#bat_c01a) #bat_c01b HIDDEN_NPC -bat_c01,58,127,0 duplicate(#bat_c01a) #bat_c01c HIDDEN_NPC -bat_c01,141,56,0 duplicate(#bat_c01a) #bat_c01d HIDDEN_NPC -bat_c01,143,58,0 duplicate(#bat_c01a) #bat_c01e HIDDEN_NPC -bat_c01,145,60,0 duplicate(#bat_c01a) #bat_c01f HIDDEN_NPC - -// Battleground Engine -// ********************************************************************* - -- script KvM01_BG FAKE_NPC,{ - end; - -OnInit: - setwall "bat_c01",54,122,6,7,0,"batc01wall_a"; - setwall "bat_c01",55,122,5,7,0,"batc01wall_b"; - setwall "bat_c01",140,56,6,7,0,"batc01wall_c"; - setwall "bat_c01",140,57,5,7,0,"batc01wall_d"; - disablenpc "TherapistKvM01a"; - disablenpc "TherapistKvM01b"; - disablenpc "VintenarKvM01a"; - disablenpc "VintenarKvM01b"; - end; - -OnGuillaumeJoin: -OnCroixJoin: - donpcevent "KvM01_BG::OnReadyCheck"; - end; - -OnGuillaumeQuit: - set BG_Delay_Tick, gettimetick(2) + 1200; -OnGuillaumeDie: - if( $@KvM01BG == 2 ) - { - set .Guillaume_Count, .Guillaume_Count - 1; - set .Croix_Score, .Croix_Score + 1; - bg_updatescore "bat_c01",.Guillaume_Score,.Croix_Score; - if( .Guillaume_Count < 1 ) donpcevent "KvM01_BG::OnCroixWin"; - } - end; - -OnCroixQuit: - set BG_Delay_Tick, gettimetick(2) + 1200; -OnCroixDie: - if( $@KvM01BG == 2 ) - { - set .Croix_Count, .Croix_Count - 1; - set .Guillaume_Score, .Guillaume_Score + 1; - bg_updatescore "bat_c01",.Guillaume_Score,.Croix_Score; - if( .Croix_Count < 1 ) donpcevent "KvM01_BG::OnGuillaumeWin"; - } - end; - -OnReadyCheck: - if( $@KvM01BG ) - end; - set .@Guillaume, getwaitingroomstate(0,"KvM01R_Guillaume"); - set .@Croix, getwaitingroomstate(0,"KvM01R_Croix"); - - if( .@Guillaume < 5 || .@Croix < 5 ) - { - if( .@Guillaume > 3 && .@Croix > 3 && !agitcheck() && !agitcheck2() && $@KvM_Flood < gettimetick(2) ) - { - announce "Battleground -- Kreiger Von Midgard [80-99] G: " + .@Guillaume + "/5, C: " + .@Croix + "/5",0,0x696969; - set $@KvM_Flood, gettimetick(2) + 15; - } - else - mapannounce "bat_room","Battleground -- Kreiger Von Midgard [80-99] G: " + .@Guillaume + "/5, C: " + .@Croix + "/5",1,0x696969; - end; - } - - set $@KvM01BG, 1; // Starting - donpcevent "KvM01R_Croix::OnEnterBG"; - donpcevent "KvM01R_Guillaume::OnEnterBG"; - donpcevent "KvM01_BG::OnStart"; - end; - -OnStart: - announce "Battleground -- Kreiger Von Midgard [80-99] has started!",0,0x696969; - enablenpc "TherapistKvM01a"; - enablenpc "TherapistKvM01b"; - disablenpc "VintenarKvM01a"; - disablenpc "VintenarKvM01b"; - set $@KvM01BG_Victory, 0; - sleep 2000; - // Warp Teams - bg_warp $@KvM01BG_id1,"bat_c01",53,128; - bg_warp $@KvM01BG_id2,"bat_c01",146,55; - // ScoreBoard - set .Guillaume_Score, 0; - set .Croix_Score, 0; - initnpctimer; - end; - -OnTimer5000: - areapercentheal "bat_c01",50,123,58,131,100,100; - areapercentheal "bat_c01",141,52,149,60,100,100; - mapannounce "bat_c01","The Battle will start in 25 seconds!!",1,0x696969; - end; - -OnTimer26000: - mapannounce "bat_c01","The Battle will start in 4 seconds!!",1,0x696969; - end; - -OnTimer27000: - donpcevent "::OnKvM01LightA"; - end; - -OnTimer28000: - donpcevent "::OnKvM01LightB"; - end; - -OnTimer29000: - donpcevent "::OnKvM01LightC"; - end; - -OnTimer30000: - // Team Members - set .Guillaume_Count, bg_get_data($@KvM01BG_id1, 0); - set .Croix_Count, bg_get_data($@KvM01BG_id2, 0); - if( .Guillaume_Count < 5 || .Croix_Count < 5 ) - { - set $@KvM01BG_Victory, 3; - set $@KvM01BG, 3; - mapannounce "bat_c01","There are not enough players to start the battle",1,0x696969; - stopnpctimer; - sleep 2000; - donpcevent "KvM01_BG::OnStop"; - end; - } - - set $@KvM01BG, 2; // Playing - areapercentheal "bat_c01",50,123,58,131,100,100; - bg_warp $@KvM01BG_id1,"bat_c01",62,119; - areapercentheal "bat_c01",141,52,149,60,100,100; - bg_warp $@KvM01BG_id2,"bat_c01",137,64; - end; - -OnTimer32000: - mapannounce "bat_c01","The Battle of Kreiger Von Midgard has begun!!",1,0x696969; - end; - -OnTimer300000: - mapannounce "bat_c01","The Battle will ends in 30 seconds!!",1,0x696969; - end; - -OnTimer330000: - if( .Croix_Count > .Guillaume_Count ) - donpcevent "KvM01_BG::OnCroixWin"; - else if( .Croix_Count < .Guillaume_Count ) - donpcevent "KvM01_BG::OnGuillaumeWin"; - else - { // Draw Game - set $@KvM01BG, 3; - set $@KvM01BG_Victory, 3; - - stopnpctimer; - sleep 2000; - mapannounce "bat_c01","The time is out! This is a Tie...",1,0x696969; - donpcevent "KvM01_BG::OnStop"; - } - end; - -OnGuillaumeWin: - set $@KvM01BG, 3; - set $@KvM01BG_Victory, 1; - - stopnpctimer; - sleep 2000; - mapannounce "bat_c01","The Guillaume Army has won the Battle of Kreiger Von Midgard",1,0x0000FF; - donpcevent "KvM01_BG::OnStop"; - end; - -OnCroixWin: - set $@KvM01BG, 3; - set $@KvM01BG_Victory, 2; - - stopnpctimer; - sleep 2000; - mapannounce "bat_c01","The Croix Army has won the Battle of Kreiger Von Midgard",1,0xFF0000; - donpcevent "KvM01_BG::OnStop"; - end; - -OnStop: - disablenpc "TherapistKvM01a"; - disablenpc "TherapistKvM01b"; - enablenpc "VintenarKvM01a"; - enablenpc "VintenarKvM01b"; - // Warp Teams - bg_warp $@KvM01BG_id1,"bat_c01",53,128; - bg_warp $@KvM01BG_id2,"bat_c01",146,55; - donpcevent "KvM01_BG_Out::OnBegin"; - end; - -OnReset: - stopnpctimer; - stopnpctimer "KvM01_BG_Out"; - set .Croix_Count, 0; - set .Guillaume_Count, 0; - set .Croix_Score, 0; - set .Guillaume_Score, 0; - set $@KvM01BG_Victory, 0; - if( $@KvM01BG_id1 ) { bg_destroy $@KvM01BG_id1; set $@KvM01BG_id1, 0; } - if( $@KvM01BG_id2 ) { bg_destroy $@KvM01BG_id2; set $@KvM01BG_id2, 0; } - disablenpc "TherapistKvM01a"; - disablenpc "TherapistKvM01b"; - disablenpc "VintenarKvM01a"; - disablenpc "VintenarKvM01b"; - sleep 1000; - mapwarp "bat_c01","bat_room",155,150; - sleep 2000; - maprespawnguildid "bat_c01",0,3; // Just in case someone else - bg_updatescore "bat_c01",0,0; - sleep 2000; - set $@KvM01BG, 0; - donpcevent "KvM01_BG::OnReadyCheck"; // Maybe a game is ready to start - end; -} - -- script KvM01_BG_Out FAKE_NPC,{ - end; - -OnBegin: - initnpctimer; - end; - -OnTimer3000: - mapannounce "bat_c01","Battle of Kreiger Von Midgard will close in 1 minute!",1,0x696969; - end; -OnTimer30000: - mapannounce "bat_c01","Battle of Kreiger Von Midgard will close in 30 seconds!",1,0x696969; - end; -OnTimer50000: - mapannounce "bat_c01","Battle of Kreiger Von Midgard will close in 10 seconds!",1,0x696969; - end; -OnTimer60000: - donpcevent "KvM01_BG::OnReset"; - end; -} - -// Battleground Therapist -// ********************************************************************* - -bat_c01,51,130,5 script Therapist in battle::TherapistKvM01a 4_F_SISTER,{ - mes "[Therapist in battle]"; - mes "Just close your eyes, and take a deep breathe."; - mes "You can be free from pain."; - specialeffect(EF_HEAL, AREA, playerattached()); - close; -} - -bat_c01,148,53,1 script Therapist in battle::TherapistKvM01b 4_F_SISTER,{ - mes "[Therapist in battle]"; - mes "Just close your eyes, and take a deep breathe."; - mes "You can be free from pain."; - specialeffect(EF_HEAL, AREA, playerattached()); - close; -} - -// Battleground rewards -// ********************************************************************* - -bat_c01,51,130,5 script Guillaume Vintenar::VintenarKvM01a 4_M_KY_HEAD,{ - if( $@KvM01BG_Victory ) - { - if( $@KvM01BG_Victory == 3 ) - { - setquest 6025; - bg_leave; - warp "bat_room",155,150; - end; - } - else if( $@KvM01BG_Victory == Bat_Team ) - { // Victory - set .@reward, 5; - mes "[Swandery]"; - mes "Blessed Guillaume!!"; - mes "Let's enjoy our glorious victory!"; - mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory"; - close2; - } else { - set .@reward, 1; - mes "[Swandery]"; - mes "You lost, but you're dedicated to this battle."; - mes "This is a reward for your great dedication by Guillaume Marollo!"; - mes "Just take this defeat a lesson, and later you would definitely learn."; - close2; - } - - setquest 6025; - getitem 7773, .@reward; - bg_leave; - warp "bat_room",155,150; - end; - } - end; -} - -bat_c01,148,53,1 script Croix Vintenar::VintenarKvM01b 4_M_CRU_HEAD,{ - if( $@KvM01BG_Victory ) - { - if( $@KvM01BG_Victory == 3 ) - { - setquest 6025; - bg_leave; - warp "bat_room",155,150; - end; - } - else if( $@KvM01BG_Victory == Bat_Team ) - { // Victory - set .@reward, 5; - mes "[Swandery]"; - mes "Blessed Croax!!"; - mes "Let's enjoy our glorious victory!"; - mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory"; - close2; - } else { - set .@reward, 1; - mes "[Swandery]"; - mes "Oh, " + strcharinfo(PC_NAME) + ". Don't be sad."; - mes "Even though we didn't win, we did our best."; - mes "This is a Royal gift from Croix, and please don't forget this battle. We can win the next."; - close2; - } - - setquest 6025; - getitem 7773, .@reward; - bg_leave; - warp "bat_room",155,150; - end; - } - end; -} diff --git a/npc/custom/battleground/bg_kvm02.txt b/npc/custom/battleground/bg_kvm02.txt deleted file mode 100644 index f1637069a..000000000 --- a/npc/custom/battleground/bg_kvm02.txt +++ /dev/null @@ -1,374 +0,0 @@ -// ============================================================================== -// BattleGround System - KvM 60~79 -// ============================================================================== - -// Registration NPC's -// ********************************************************************* - -bat_room,225,227,4 script Registration::KvM02R_Guillaume 4_M_KY_KNT,{ // KvM Guillaume - end; - -OnInit: - waitingroom "Battle Station 5 Players",5,"KvM02_BG::OnGuillaumeJoin",1; - end; - -OnEnterBG: - set $@KvM02BG_id1, waitingroom2bg("bat_c02",53,128,"KvM02_BG::OnGuillaumeQuit","KvM02_BG::OnGuillaumeDie"); - end; -} - -bat_room,225,204,0 script Registration::KvM02R_Croix 4_M_CRU_KNT,{ // KvM Croix - end; - -OnInit: - waitingroom "Battle Station 5 Players",5,"KvM02_BG::OnCroixJoin",1; - end; - -OnEnterBG: - set $@KvM02BG_id2, waitingroom2bg("bat_c02",146,55,"KvM02_BG::OnCroixQuit","KvM02_BG::OnCroixDie"); - end; -} - -// Light Effects -// ********************************************************************* - -bat_c02,54,123,0 script #bat_c02a HIDDEN_NPC,{ - end; - -OnKvM02LightA: specialeffect(EF_BEGINSPELL2); end; -OnKvM02LightB: specialeffect(EF_BEGINSPELL3); end; -OnKvM02LightC: specialeffect(EF_BEGINSPELL4); end; -} - -bat_c02,56,125,0 duplicate(#bat_c02a) #bat_c02b HIDDEN_NPC -bat_c02,58,127,0 duplicate(#bat_c02a) #bat_c02c HIDDEN_NPC -bat_c02,141,56,0 duplicate(#bat_c02a) #bat_c02d HIDDEN_NPC -bat_c02,143,58,0 duplicate(#bat_c02a) #bat_c02e HIDDEN_NPC -bat_c02,145,60,0 duplicate(#bat_c02a) #bat_c02f HIDDEN_NPC - -// Battleground Engine -// ********************************************************************* - -- script KvM02_BG FAKE_NPC,{ - end; - -OnInit: - setwall "bat_c02",54,122,6,7,0,"batc02wall_a"; - setwall "bat_c02",55,122,5,7,0,"batc02wall_b"; - setwall "bat_c02",140,56,6,7,0,"batc02wall_c"; - setwall "bat_c02",140,57,5,7,0,"batc02wall_d"; - disablenpc "TherapistKvM02a"; - disablenpc "TherapistKvM02b"; - disablenpc "VintenarKvM02a"; - disablenpc "VintenarKvM02b"; - end; - -OnGuillaumeJoin: -OnCroixJoin: - donpcevent "KvM02_BG::OnReadyCheck"; - end; - -OnGuillaumeQuit: - set BG_Delay_Tick, gettimetick(2) + 1200; -OnGuillaumeDie: - if( $@KvM02BG == 2 ) - { - set .Guillaume_Count, .Guillaume_Count - 1; - set .Croix_Score, .Croix_Score + 1; - bg_updatescore "bat_c02",.Guillaume_Score,.Croix_Score; - if( .Guillaume_Count < 1 ) donpcevent "KvM02_BG::OnCroixWin"; - } - end; - -OnCroixQuit: - set BG_Delay_Tick, gettimetick(2) + 1200; -OnCroixDie: - if( $@KvM02BG == 2 ) - { - set .Croix_Count, .Croix_Count - 1; - set .Guillaume_Score, .Guillaume_Score + 1; - bg_updatescore "bat_c02",.Guillaume_Score,.Croix_Score; - if( .Croix_Count < 1 ) donpcevent "KvM02_BG::OnGuillaumeWin"; - } - end; - -OnReadyCheck: - if( $@KvM02BG ) - end; - set .@Guillaume, getwaitingroomstate(0,"KvM02R_Guillaume"); - set .@Croix, getwaitingroomstate(0,"KvM02R_Croix"); - - if( .@Guillaume < 5 || .@Croix < 5 ) - { - if( .@Guillaume > 3 && .@Croix > 3 && !agitcheck() && !agitcheck2() && $@KvM_Flood < gettimetick(2) ) - { - announce "Battleground -- Kreiger Von Midgard [60-79] G: " + .@Guillaume + "/5, C: " + .@Croix + "/5",0,0x808080; - set $@KvM_Flood, gettimetick(2) + 15; - } - else - mapannounce "bat_room","Battleground -- Kreiger Von Midgard [60-79] G: " + .@Guillaume + "/5, C: " + .@Croix + "/5",1,0x808080; - end; - } - - set $@KvM02BG, 1; // Starting - donpcevent "KvM02R_Croix::OnEnterBG"; - donpcevent "KvM02R_Guillaume::OnEnterBG"; - donpcevent "KvM02_BG::OnStart"; - end; - -OnStart: - announce "Battleground -- Kreiger Von Midgard [60-79] has started!",0,0x808080; - enablenpc "TherapistKvM02a"; - enablenpc "TherapistKvM02b"; - disablenpc "VintenarKvM02a"; - disablenpc "VintenarKvM02b"; - set $@KvM02BG_Victory, 0; - sleep 2000; - // Warp Teams - bg_warp $@KvM02BG_id1,"bat_c02",53,128; - bg_warp $@KvM02BG_id2,"bat_c02",146,55; - // ScoreBoard - set .Guillaume_Score, 0; - set .Croix_Score, 0; - initnpctimer; - end; - -OnTimer5000: - areapercentheal "bat_c02",50,123,58,131,100,100; - areapercentheal "bat_c02",141,52,149,60,100,100; - mapannounce "bat_c02","The Battle will start in 25 seconds!!",1,0x808080; - end; - -OnTimer26000: - mapannounce "bat_c02","The Battle will start in 4 seconds!!",1,0x808080; - end; - -OnTimer27000: - donpcevent "::OnKvM02LightA"; - end; - -OnTimer28000: - donpcevent "::OnKvM02LightB"; - end; - -OnTimer29000: - donpcevent "::OnKvM02LightC"; - end; - -OnTimer30000: - // Team Members - set .Guillaume_Count, bg_get_data($@KvM02BG_id1, 0); - set .Croix_Count, bg_get_data($@KvM02BG_id2, 0); - if( .Guillaume_Count < 5 || .Croix_Count < 5 ) - { - set $@KvM02BG_Victory, 3; - set $@KvM02BG, 3; - mapannounce "bat_c02","There are not enough players to start the battle",1,0x808080; - stopnpctimer; - sleep 2000; - donpcevent "KvM02_BG::OnStop"; - end; - } - - set $@KvM02BG, 2; // Playing - areapercentheal "bat_c02",50,123,58,131,100,100; - bg_warp $@KvM02BG_id1,"bat_c02",62,119; - areapercentheal "bat_c02",141,52,149,60,100,100; - bg_warp $@KvM02BG_id2,"bat_c02",137,64; - end; - -OnTimer32000: - mapannounce "bat_c02","The Battle of Kreiger Von Midgard has begun!!",1,0x808080; - end; - -OnTimer300000: - mapannounce "bat_c02","The Battle will ends in 30 seconds!!",1,0x808080; - end; - -OnTimer330000: - if( .Croix_Count > .Guillaume_Count ) - donpcevent "KvM02_BG::OnCroixWin"; - else if( .Croix_Count < .Guillaume_Count ) - donpcevent "KvM02_BG::OnGuillaumeWin"; - else - { // Draw Game - set $@KvM02BG, 3; - set $@KvM02BG_Victory, 3; - - stopnpctimer; - sleep 2000; - mapannounce "bat_c02","The time is out! This is a Tie...",1,0x808080; - donpcevent "KvM02_BG::OnStop"; - } - end; - -OnGuillaumeWin: - set $@KvM02BG, 3; - set $@KvM02BG_Victory, 1; - - stopnpctimer; - sleep 2000; - mapannounce "bat_c02","The Guillaume Army has won the Battle of Kreiger Von Midgard",1,0x0000FF; - donpcevent "KvM02_BG::OnStop"; - end; - -OnCroixWin: - set $@KvM02BG, 3; - set $@KvM02BG_Victory, 2; - - stopnpctimer; - sleep 2000; - mapannounce "bat_c02","The Croix Army has won the Battle of Kreiger Von Midgard",1,0xFF0000; - donpcevent "KvM02_BG::OnStop"; - end; - -OnStop: - disablenpc "TherapistKvM02a"; - disablenpc "TherapistKvM02b"; - enablenpc "VintenarKvM02a"; - enablenpc "VintenarKvM02b"; - // Warp Teams - bg_warp $@KvM02BG_id1,"bat_c02",53,128; - bg_warp $@KvM02BG_id2,"bat_c02",146,55; - donpcevent "KvM02_BG_Out::OnBegin"; - end; - -OnReset: - stopnpctimer; - stopnpctimer "KvM02_BG_Out"; - set .Croix_Count, 0; - set .Guillaume_Count, 0; - set .Croix_Score, 0; - set .Guillaume_Score, 0; - set $@KvM02BG_Victory, 0; - if( $@KvM02BG_id1 ) { bg_destroy $@KvM02BG_id1; set $@KvM02BG_id1, 0; } - if( $@KvM02BG_id2 ) { bg_destroy $@KvM02BG_id2; set $@KvM02BG_id2, 0; } - disablenpc "TherapistKvM02a"; - disablenpc "TherapistKvM02b"; - disablenpc "VintenarKvM02a"; - disablenpc "VintenarKvM02b"; - sleep 1000; - mapwarp "bat_c02","bat_room",155,150; - sleep 2000; - maprespawnguildid "bat_c02",0,3; // Just in case someone else - bg_updatescore "bat_c02",0,0; - sleep 2000; - set $@KvM02BG, 0; - donpcevent "KvM02_BG::OnReadyCheck"; // Maybe a game is ready to start - end; -} - -- script KvM02_BG_Out FAKE_NPC,{ - end; - -OnBegin: - initnpctimer; - end; - -OnTimer3000: - mapannounce "bat_c02","Battle of Kreiger Von Midgard will close in 1 minute!",1,0x808080; - end; -OnTimer30000: - mapannounce "bat_c02","Battle of Kreiger Von Midgard will close in 30 seconds!",1,0x808080; - end; -OnTimer50000: - mapannounce "bat_c02","Battle of Kreiger Von Midgard will close in 10 seconds!",1,0x808080; - end; -OnTimer60000: - donpcevent "KvM02_BG::OnReset"; - end; -} - -// Battleground Therapist -// ********************************************************************* - -bat_c02,51,130,5 script Therapist in battle::TherapistKvM02a 4_F_SISTER,{ - mes "[Therapist in battle]"; - mes "Just close your eyes, and take a deep breathe."; - mes "You can be free from pain."; - specialeffect(EF_HEAL, AREA, playerattached()); - close; -} - -bat_c02,148,53,1 script Therapist in battle::TherapistKvM02b 4_F_SISTER,{ - mes "[Therapist in battle]"; - mes "Just close your eyes, and take a deep breathe."; - mes "You can be free from pain."; - specialeffect(EF_HEAL, AREA, playerattached()); - close; -} - -// Battleground rewards -// ********************************************************************* - -bat_c02,51,130,5 script Guillaume Vintenar::VintenarKvM02a 4_M_KY_HEAD,{ - if( $@KvM02BG_Victory ) - { - if( $@KvM02BG_Victory == 3 ) - { - setquest 6025; - bg_leave; - warp "bat_room",155,150; - end; - } - else if( $@KvM02BG_Victory == Bat_Team ) - { // Victory - set .@reward, 3; - mes "[Swandery]"; - mes "Blessed Guillaume!!"; - mes "Let's enjoy our glorious victory!"; - mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory"; - close2; - } else { - set .@reward, 1; - mes "[Swandery]"; - mes "You lost, but you're dedicated to this battle."; - mes "This is a reward for your great dedication by Guillaume Marollo!"; - mes "Just take this defeat a lesson, and later you would definitely learn."; - close2; - } - - setquest 6025; - getitem 7773, .@reward; - bg_leave; - warp "bat_room",155,150; - end; - } - end; -} - -bat_c02,148,53,1 script Croix Vintenar::VintenarKvM02b 4_M_CRU_HEAD,{ - if( $@KvM02BG_Victory ) - { - if( $@KvM02BG_Victory == 3 ) - { - setquest 6025; - bg_leave; - warp "bat_room",155,150; - end; - } - else if( $@KvM02BG_Victory == Bat_Team ) - { // Victory - set .@reward, 3; - mes "[Swandery]"; - mes "Blessed Croax!!"; - mes "Let's enjoy our glorious victory!"; - mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory"; - close2; - } else { - set .@reward, 1; - mes "[Swandery]"; - mes "Oh, " + strcharinfo(PC_NAME) + ". Don't be sad."; - mes "Even though we didn't win, we did our best."; - mes "This is a Royal gift from Croix, and please don't forget this battle. We can win the next."; - close2; - } - - setquest 6025; - getitem 7773, .@reward; - bg_leave; - warp "bat_room",155,150; - end; - } - end; -} diff --git a/npc/custom/battleground/bg_kvm03.txt b/npc/custom/battleground/bg_kvm03.txt deleted file mode 100644 index 612047dcb..000000000 --- a/npc/custom/battleground/bg_kvm03.txt +++ /dev/null @@ -1,374 +0,0 @@ -// ============================================================================== -// BattleGround System - KvM 1~59 -// ============================================================================== - -// Registration NPC's -// ********************************************************************* - -bat_room,197,227,4 script Registration::KvM03R_Guillaume 4_M_KY_KNT,{ // KvM Guillaume - end; - -OnInit: - waitingroom "Battle Station 5 Players",5,"KvM03_BG::OnGuillaumeJoin",1; - end; - -OnEnterBG: - set $@KvM03BG_id1, waitingroom2bg("bat_c03",53,128,"KvM03_BG::OnGuillaumeQuit","KvM03_BG::OnGuillaumeDie"); - end; -} - -bat_room,197,204,0 script Registration::KvM03R_Croix 4_M_CRU_KNT,{ // KvM Croix - end; - -OnInit: - waitingroom "Battle Station 5 Players",5,"KvM03_BG::OnCroixJoin",1; - end; - -OnEnterBG: - set $@KvM03BG_id2, waitingroom2bg("bat_c03",146,55,"KvM03_BG::OnCroixQuit","KvM03_BG::OnCroixDie"); - end; -} - -// Light Effects -// ********************************************************************* - -bat_c03,54,123,0 script #bat_c03a HIDDEN_NPC,{ - end; - -OnKvM03LightA: specialeffect(EF_BEGINSPELL2); end; -OnKvM03LightB: specialeffect(EF_BEGINSPELL3); end; -OnKvM03LightC: specialeffect(EF_BEGINSPELL4); end; -} - -bat_c03,56,125,0 duplicate(#bat_c03a) #bat_c03b HIDDEN_NPC -bat_c03,58,127,0 duplicate(#bat_c03a) #bat_c03c HIDDEN_NPC -bat_c03,141,56,0 duplicate(#bat_c03a) #bat_c03d HIDDEN_NPC -bat_c03,143,58,0 duplicate(#bat_c03a) #bat_c03e HIDDEN_NPC -bat_c03,145,60,0 duplicate(#bat_c03a) #bat_c03f HIDDEN_NPC - -// Battleground Engine -// ********************************************************************* - -- script KvM03_BG FAKE_NPC,{ - end; - -OnInit: - setwall "bat_c03",54,122,6,7,0,"batc03wall_a"; - setwall "bat_c03",55,122,5,7,0,"batc03wall_b"; - setwall "bat_c03",140,56,6,7,0,"batc03wall_c"; - setwall "bat_c03",140,57,5,7,0,"batc03wall_d"; - disablenpc "TherapistKvM03a"; - disablenpc "TherapistKvM03b"; - disablenpc "VintenarKvM03a"; - disablenpc "VintenarKvM03b"; - end; - -OnGuillaumeJoin: -OnCroixJoin: - donpcevent "KvM03_BG::OnReadyCheck"; - end; - -OnGuillaumeQuit: - set BG_Delay_Tick, gettimetick(2) + 1200; -OnGuillaumeDie: - if( $@KvM03BG == 2 ) - { - set .Guillaume_Count, .Guillaume_Count - 1; - set .Croix_Score, .Croix_Score + 1; - bg_updatescore "bat_c03",.Guillaume_Score,.Croix_Score; - if( .Guillaume_Count < 1 ) donpcevent "KvM03_BG::OnCroixWin"; - } - end; - -OnCroixQuit: - set BG_Delay_Tick, gettimetick(2) + 1200; -OnCroixDie: - if( $@KvM03BG == 2 ) - { - set .Croix_Count, .Croix_Count - 1; - set .Guillaume_Score, .Guillaume_Score + 1; - bg_updatescore "bat_c03",.Guillaume_Score,.Croix_Score; - if( .Croix_Count < 1 ) donpcevent "KvM03_BG::OnGuillaumeWin"; - } - end; - -OnReadyCheck: - if( $@KvM03BG ) - end; - set .@Guillaume, getwaitingroomstate(0,"KvM03R_Guillaume"); - set .@Croix, getwaitingroomstate(0,"KvM03R_Croix"); - - if( .@Guillaume < 5 || .@Croix < 5 ) - { - if( .@Guillaume > 3 && .@Croix > 3 && !agitcheck() && !agitcheck2() && $@KvM_Flood < gettimetick(2) ) - { - announce "Battleground -- Kreiger Von Midgard [1-59] G: " + .@Guillaume + "/5, C: " + .@Croix + "/5",0,0xC0C0C0; - set $@KvM_Flood, gettimetick(2) + 15; - } - else - mapannounce "bat_room","Battleground -- Kreiger Von Midgard [1-59] G: " + .@Guillaume + "/5, C: " + .@Croix + "/5",1,0xC0C0C0; - end; - } - - set $@KvM03BG, 1; // Starting - donpcevent "KvM03R_Croix::OnEnterBG"; - donpcevent "KvM03R_Guillaume::OnEnterBG"; - donpcevent "KvM03_BG::OnStart"; - end; - -OnStart: - announce "Battleground -- Kreiger Von Midgard [1-59] has started!",0,0xC0C0C0; - enablenpc "TherapistKvM03a"; - enablenpc "TherapistKvM03b"; - disablenpc "VintenarKvM03a"; - disablenpc "VintenarKvM03b"; - set $@KvM03BG_Victory, 0; - sleep 2000; - // Warp Teams - bg_warp $@KvM03BG_id1,"bat_c03",53,128; - bg_warp $@KvM03BG_id2,"bat_c03",146,55; - // ScoreBoard - set .Guillaume_Score, 0; - set .Croix_Score, 0; - initnpctimer; - end; - -OnTimer5000: - areapercentheal "bat_c03",50,123,58,131,100,100; - areapercentheal "bat_c03",141,52,149,60,100,100; - mapannounce "bat_c03","The Battle will start in 25 seconds!!",1,0xC0C0C0; - end; - -OnTimer26000: - mapannounce "bat_c03","The Battle will start in 4 seconds!!",1,0xC0C0C0; - end; - -OnTimer27000: - donpcevent "::OnKvM03LightA"; - end; - -OnTimer28000: - donpcevent "::OnKvM03LightB"; - end; - -OnTimer29000: - donpcevent "::OnKvM03LightC"; - end; - -OnTimer30000: - // Team Members - set .Guillaume_Count, bg_get_data($@KvM03BG_id1, 0); - set .Croix_Count, bg_get_data($@KvM03BG_id2, 0); - if( .Guillaume_Count < 5 || .Croix_Count < 5 ) - { - set $@KvM03BG_Victory, 3; - set $@KvM03BG, 3; - mapannounce "bat_c03","There are not enough players to start the battle",1,0xC0C0C0; - stopnpctimer; - sleep 2000; - donpcevent "KvM03_BG::OnStop"; - end; - } - - set $@KvM03BG, 2; // Playing - areapercentheal "bat_c03",50,123,58,131,100,100; - bg_warp $@KvM03BG_id1,"bat_c03",62,119; - areapercentheal "bat_c03",141,52,149,60,100,100; - bg_warp $@KvM03BG_id2,"bat_c03",137,64; - end; - -OnTimer32000: - mapannounce "bat_c03","The Battle of Kreiger Von Midgard has begun!!",1,0xC0C0C0; - end; - -OnTimer300000: - mapannounce "bat_c03","The Battle will ends in 30 seconds!!",1,0xC0C0C0; - end; - -OnTimer330000: - if( .Croix_Count > .Guillaume_Count ) - donpcevent "KvM03_BG::OnCroixWin"; - else if( .Croix_Count < .Guillaume_Count ) - donpcevent "KvM03_BG::OnGuillaumeWin"; - else - { // Draw Game - set $@KvM03BG, 3; - set $@KvM03BG_Victory, 3; - - stopnpctimer; - sleep 2000; - mapannounce "bat_c03","The time is out! This is a Tie...",1,0xC0C0C0; - donpcevent "KvM03_BG::OnStop"; - } - end; - -OnGuillaumeWin: - set $@KvM03BG, 3; - set $@KvM03BG_Victory, 1; - - stopnpctimer; - sleep 2000; - mapannounce "bat_c03","The Guillaume Army has won the Battle of Kreiger Von Midgard",1,0x0000FF; - donpcevent "KvM03_BG::OnStop"; - end; - -OnCroixWin: - set $@KvM03BG, 3; - set $@KvM03BG_Victory, 2; - - stopnpctimer; - sleep 2000; - mapannounce "bat_c03","The Croix Army has won the Battle of Kreiger Von Midgard",1,0xFF0000; - donpcevent "KvM03_BG::OnStop"; - end; - -OnStop: - disablenpc "TherapistKvM03a"; - disablenpc "TherapistKvM03b"; - enablenpc "VintenarKvM03a"; - enablenpc "VintenarKvM03b"; - // Warp Teams - bg_warp $@KvM03BG_id1,"bat_c03",53,128; - bg_warp $@KvM03BG_id2,"bat_c03",146,55; - donpcevent "KvM03_BG_Out::OnBegin"; - end; - -OnReset: - stopnpctimer; - stopnpctimer "KvM03_BG_Out"; - set .Croix_Count, 0; - set .Guillaume_Count, 0; - set .Croix_Score, 0; - set .Guillaume_Score, 0; - set $@KvM03BG_Victory, 0; - if( $@KvM03BG_id1 ) { bg_destroy $@KvM03BG_id1; set $@KvM03BG_id1, 0; } - if( $@KvM03BG_id2 ) { bg_destroy $@KvM03BG_id2; set $@KvM03BG_id2, 0; } - disablenpc "TherapistKvM03a"; - disablenpc "TherapistKvM03b"; - disablenpc "VintenarKvM03a"; - disablenpc "VintenarKvM03b"; - sleep 1000; - mapwarp "bat_c03","bat_room",155,150; - sleep 2000; - maprespawnguildid "bat_c03",0,3; // Just in case someone else - bg_updatescore "bat_c03",0,0; - sleep 2000; - set $@KvM03BG, 0; - donpcevent "KvM03_BG::OnReadyCheck"; // Maybe a game is ready to start - end; -} - -- script KvM03_BG_Out FAKE_NPC,{ - end; - -OnBegin: - initnpctimer; - end; - -OnTimer3000: - mapannounce "bat_c03","Battle of Kreiger Von Midgard will close in 1 minute!",1,0xC0C0C0; - end; -OnTimer30000: - mapannounce "bat_c03","Battle of Kreiger Von Midgard will close in 30 seconds!",1,0xC0C0C0; - end; -OnTimer50000: - mapannounce "bat_c03","Battle of Kreiger Von Midgard will close in 10 seconds!",1,0xC0C0C0; - end; -OnTimer60000: - donpcevent "KvM03_BG::OnReset"; - end; -} - -// Battleground Therapist -// ********************************************************************* - -bat_c03,51,130,5 script Therapist in battle::TherapistKvM03a 4_F_SISTER,{ - mes "[Therapist in battle]"; - mes "Just close your eyes, and take a deep breathe."; - mes "You can be free from pain."; - specialeffect(EF_HEAL, AREA, playerattached()); - close; -} - -bat_c03,148,53,1 script Therapist in battle::TherapistKvM03b 4_F_SISTER,{ - mes "[Therapist in battle]"; - mes "Just close your eyes, and take a deep breathe."; - mes "You can be free from pain."; - specialeffect(EF_HEAL, AREA, playerattached()); - close; -} - -// Battleground rewards -// ********************************************************************* - -bat_c03,51,130,5 script Guillaume Vintenar::VintenarKvM03a 4_M_KY_HEAD,{ - if( $@KvM03BG_Victory ) - { - if( $@KvM03BG_Victory == 3 ) - { - setquest 6025; - bg_leave; - warp "bat_room",155,150; - end; - } - else if( $@KvM03BG_Victory == Bat_Team ) - { // Victory - set .@reward, 1; - mes "[Swandery]"; - mes "Blessed Guillaume!!"; - mes "Let's enjoy our glorious victory!"; - mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory"; - close2; - } else { - set .@reward, 0; - mes "[Swandery]"; - mes "You lost, but you're dedicated to this battle."; - mes "This is a reward for your great dedication by Guillaume Marollo!"; - mes "Just take this defeat a lesson, and later you would definitely learn."; - close2; - } - - setquest 6025; - getitem 7773, .@reward; - bg_leave; - warp "bat_room",155,150; - end; - } - end; -} - -bat_c03,148,53,1 script Croix Vintenar::VintenarKvM03b 4_M_CRU_HEAD,{ - if( $@KvM03BG_Victory ) - { - if( $@KvM03BG_Victory == 3 ) - { - setquest 6025; - bg_leave; - warp "bat_room",155,150; - end; - } - else if( $@KvM03BG_Victory == Bat_Team ) - { // Victory - set .@reward, 1; - mes "[Swandery]"; - mes "Blessed Croax!!"; - mes "Let's enjoy our glorious victory!"; - mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory"; - close2; - } else { - set .@reward, 0; - mes "[Swandery]"; - mes "Oh, " + strcharinfo(PC_NAME) + ". Don't be sad."; - mes "Even though we didn't win, we did our best."; - mes "Please don't forget this battle. We can win the next."; - close2; - } - - setquest 6025; - getitem 7773, .@reward; - bg_leave; - warp "bat_room",155,150; - end; - } - end; -} diff --git a/npc/custom/battleground/bg_tierra_01.txt b/npc/custom/battleground/bg_tierra_01.txt deleted file mode 100644 index 2640723b3..000000000 --- a/npc/custom/battleground/bg_tierra_01.txt +++ /dev/null @@ -1,471 +0,0 @@ -// ============================================================================== -// BattleGround System - Tierra Valley 1 -// ============================================================================== - -// Registration NPC's -// ********************************************************************* - -bat_room,58,227,4 script Registration::TV1R_Guillaume 4_M_KY_KNT,{ - end; -OnInit: - waitingroom "Battle Station 10 Players",10,"Tierra_BG1::OnGuillaumeJoin",1; - end; -OnEnterBG: - set $@TierraBG1_id1, waitingroom2bg("bat_a01",50,374,"Tierra_BG1::OnGuillaumeQuit",""); - end; -} - -bat_room,58,204,0 script Registration::TV1R_Croix 4_M_CRU_KNT,{ - end; -OnInit: - waitingroom "Battle Station 10 Players",10,"Tierra_BG1::OnCroixJoin",1; - end; -OnEnterBG: - set $@TierraBG1_id2, waitingroom2bg("bat_a01",42,16,"Tierra_BG1::OnCroixQuit",""); - end; -} - -// Battleground Engine -// ********************************************************************* - -- script Tierra_BG1 FAKE_NPC,{ - end; - -OnInit: - disablenpc "Croix Vintenar#tv1"; - disablenpc "Guillaume Vintenar#tv1"; - disablenpc "Therapist in battle#tv11"; - disablenpc "Therapist in battle#tv12"; - end; - -OnGuillaumeQuit: -OnCroixQuit: - set BG_Delay_Tick, gettimetick(2) + 1200; - end; - -OnGuillaumeJoin: -OnCroixJoin: - if( $@TierraBG1 == 0 ) - donpcevent "Tierra_BG1::OnReadyCheck"; - end; - -OnReadyCheck: - if( $@TierraBG1 ) - end; - set .@Guillaume, getwaitingroomstate(0,"TV1R_Guillaume"); - set .@Croix, getwaitingroomstate(0,"TV1R_Croix"); - - if( .@Guillaume < 10 || .@Croix < 10 ) - { - mapannounce "bat_room","Battleground -- Tierra Valley [80-99] G: " + .@Guillaume + "/10, C: " + .@Croix + "/10",1,0xFFA500; - end; - } - - set $@TierraBG1, 1; - donpcevent "TV1R_Croix::OnEnterBG"; - donpcevent "TV1R_Guillaume::OnEnterBG"; - donpcevent "Guillaume_TV1B::OnBuild"; - donpcevent "Croix_TV1B::OnBuild"; - bg_monster $@TierraBG1_id1,"bat_a01",176,345,"Food Depot",1909,"Tierra_BG1::OnGuillaumeBreak"; - bg_monster $@TierraBG1_id2,"bat_a01",167,50,"Food Storage",1910,"Tierra_BG1::OnCroixBreak"; - bg_monster 0,"bat_a01",273,204,"Neutrality Flag",1911,"Tierra_BG1::OnNeutralBreak"; - - set .Neutral_Base, 0; - set $@TierraBG1_Victory, 0; - - set .Guardian_1, 0; - set .Guardian_2, 0; - set .Guardian_3, 0; - - enablenpc "Therapist in battle#tv11"; - enablenpc "Therapist in battle#tv12"; - disablenpc "Croix Vintenar#tv1"; - disablenpc "Guillaume Vintenar#tv1"; - // Respawner - donpcevent "#gtv1_respawn::OnBGStart"; - donpcevent "#ctv1_respawn::OnBGStart"; - donpcevent "#ntv1_respawn::OnBGStart"; - // Warp Teams - announce "Battleground -- Tierra Valley [80-99] has started!",0,0xFFA500; - bg_warp $@TierraBG1_id1,"bat_a01",353,344; - bg_warp $@TierraBG1_id2,"bat_a01",353,52; - // Final Messages - sleep 6000; - mapannounce "bat_a01","Guillaume Vintenar Axl Rose : Let's attack to burn down Croix's food storage",1,0x0000FF; - sleep 2000; - mapannounce "bat_a01","Croix Vintenar Swandery : Master of Valhalla! Let us be gifted with unfailing faith and courage",1,0xFF0000; - - initnpctimer; - end; - -OnNeutralBreak: - if( getcharid(CHAR_ID_BG) == $@TierraBG1_id1 ) - { - mapannounce "bat_a01","Guillaume obtained a neurality banner, so they have an advantage.",1,0x0000FF; - bg_team_setxy $@TierraBG1_id2,42,16; - areawarp "bat_a01",52,208,61,217,"bat_a01",42,16; - } - else if( getcharid(CHAR_ID_BG) == $@TierraBG1_id2 ) - { - mapannounce "bat_a01","Croix obtained a neutrality banner, so they have an advantage.",1,0xFF0000; - bg_team_setxy $@TierraBG1_id1,50,374; - areawarp "bat_a01",52,208,61,217,"bat_a01",50,374; - } - else end; - - set .Neutral_Base, getcharid(CHAR_ID_BG); - bg_team_setxy .Neutral_Base,56,212; - - if( .Guardian_1 == 0 ) - set .Guardian_1, bg_monster(.Neutral_Base,"bat_a01",280,233,"Guardian",1949,"Tierra_BG1::OnGuardian1"); - else - bg_monster_set_team .Guardian_1, .Neutral_Base; - - if( .Guardian_2 == 0 ) - set .Guardian_2, bg_monster(.Neutral_Base,"bat_a01",287,203,"Guardian",1950,"Tierra_BG1::OnGuardian2"); - else - bg_monster_set_team .Guardian_2, .Neutral_Base; - - if( .Guardian_3 == 0 ) - set .Guardian_3, bg_monster(.Neutral_Base,"bat_a01",268,204,"Guardian",1949,"Tierra_BG1::OnGuardian3"); - else - bg_monster_set_team .Guardian_3, .Neutral_Base; - - sleep 10000; - if( $@TierraBG1 != 1 ) end; - - if( .Neutral_Base == $@TierraBG1_id1 ) - bg_monster .Neutral_Base,"bat_a01",273,204,"Guillaume Flag",1912,"Tierra_BG1::OnNeutralBreak"; - else if( .Neutral_Base == $@TierraBG1_id2 ) - bg_monster .Neutral_Base,"bat_a01",273,204,"Croix Flag",1913,"Tierra_BG1::OnNeutralBreak"; - end; - -OnGuardian1: set .Guardian_1, 0; end; -OnGuardian2: set .Guardian_2, 0; end; -OnGuardian3: set .Guardian_3, 0; end; - -OnGuillaumeBreak: - set $@TierraBG1_Victory, 2; - mapannounce "bat_a01","Croix Vintenar Swandery: We destroyed Guillaume's food storehouse. We won that! Wow!",1,0xFF0000; - donpcevent "Tierra_BG1::OnStop"; - end; - -OnCroixBreak: - set $@TierraBG1_Victory, 1; - mapannounce "bat_a01","Guillaume Vintenar Axl Rose: We destroyed Croix's food storehouse. We won that! Wow!",1,0x0000FF; - donpcevent "Tierra_BG1::OnStop"; - end; - -OnTimer2400000: - mapannounce "bat_a01","Battle of Tierra Gorge will ends in 5 minutes",1,0xFFA500; - end; -OnTimer2640000: - mapannounce "bat_a01","Battle of Tierra Gorge will ends in 1 minute",1,0xFFA500; - end; - -OnTimer2700000: - set $@TierraBG1_Victory, 3; // Draw Game - mapannounce "bat_a01","Battle of Tierra Gorge is over. The time is out, this is a Tie",1,0xFFA500; - donpcevent "Tierra_BG1::OnStop"; - end; - -OnStop: - set $@TierraBG1, 2; - disablenpc "Therapist in battle#tv11"; - disablenpc "Therapist in battle#tv12"; - donpcevent "#gtv1_respawn::OnBGStop"; - donpcevent "#ctv1_respawn::OnBGStop"; - donpcevent "#ntv1_respawn::OnBGStop"; - enablenpc "Croix Vintenar#tv1"; - enablenpc "Guillaume Vintenar#tv1"; - killmonster "bat_a01","Tierra_BG1::OnGuillaumeBreak"; - killmonster "bat_a01","Tierra_BG1::OnCroixBreak"; - killmonster "bat_a01","Tierra_BG1::OnNeutralBreak"; - killmonster "bat_a01","Tierra_BG1::OnGuardian1"; - killmonster "bat_a01","Tierra_BG1::OnGuardian2"; - killmonster "bat_a01","Tierra_BG1::OnGuardian3"; - stopnpctimer; - sleep 3000; - bg_warp $@TierraBG1_id1,"bat_a01",50,374; - bg_warp $@TierraBG1_id2,"bat_a01",42,16; - sleep 3000; - mapannounce "bat_a01","Battle of Tierra Gorge will close in 1 minute!",1,0xFFA500; - initnpctimer; - end; - -OnTimer30000: - if( $@TierraBG1 == 2 ) - mapannounce "bat_a01","Battle of Tierra Valley will close in 30 seconds!",1,0xFFA500; - end; -OnTimer50000: - if( $@TierraBG1 == 2 ) - mapannounce "bat_a01","Battle of Tierra Valley will close in 10 seconds!",1,0xFFA500; - end; - -OnTimer60000: - if( $@TierraBG1 != 2 ) - end; -OnReset: - stopnpctimer; - set .Neutral_Base, 0; - disablenpc "Croix Vintenar#tv1"; - disablenpc "Guillaume Vintenar#tv1"; - disablenpc "Therapist in battle#tv11"; - disablenpc "Therapist in battle#tv12"; - donpcevent "#gtv1_respawn::OnBGStop"; - donpcevent "#ctv1_respawn::OnBGStop"; - donpcevent "#ntv1_respawn::OnBGStop"; - - killmonster "bat_a01","Tierra_BG1::OnGuillaumeBreak"; - killmonster "bat_a01","Tierra_BG1::OnCroixBreak"; - killmonster "bat_a01","Tierra_BG1::OnNeutralBreak"; - killmonster "bat_a01","Tierra_BG1::OnGuardian1"; - killmonster "bat_a01","Tierra_BG1::OnGuardian2"; - killmonster "bat_a01","Tierra_BG1::OnGuardian3"; - donpcevent "Guillaume_TV1B::OnDestroy"; - donpcevent "Croix_TV1B::OnDestroy"; - - set $@TierraBG1_Victory, 0; - if( $@TierraBG1_id1 ) { bg_destroy $@TierraBG1_id1; set $@TierraBG1_id1, 0; } - if( $@TierraBG1_id2 ) { bg_destroy $@TierraBG1_id2; set $@TierraBG1_id2, 0; } - sleep 1000; - mapwarp "bat_a01","bat_room",155,150; - sleep 2000; - maprespawnguildid "bat_a01",0,3; // Just in case someone else - sleep 2000; - set $@TierraBG1, 0; - donpcevent "Tierra_BG1::OnReadyCheck"; // Maybe a game is ready to start - end; -} - -// Other Flags -// ********************************************************************* - -bat_a01,148,85,1 duplicate(Croix camp#bat) Croix camp#bat10 1_FLAG_EAGLE -bat_a01,155,85,1 duplicate(Croix camp#bat) Croix camp#bat11 1_FLAG_EAGLE -bat_a01,357,75,1 duplicate(Croix camp#bat) Croix camp#bat12 1_FLAG_EAGLE -bat_a01,348,74,1 duplicate(Croix camp#bat) Croix camp#bat13 1_FLAG_EAGLE -bat_a01,199,49,1 duplicate(Croix camp#bat) Croix camp#bat14 1_FLAG_EAGLE -bat_a01,168,16,1 duplicate(Croix camp#bat) Croix camp#bat15 1_FLAG_EAGLE -bat_a01,138,12,1 duplicate(Croix camp#bat) Croix camp#bat16 1_FLAG_EAGLE -bat_a01,108,35,1 duplicate(Croix camp#bat) Croix camp#bat17 1_FLAG_EAGLE -bat_a01,164,308,1 duplicate(Guillaume camp#bat) Guillaume camp#bat10 1_FLAG_LION -bat_a01,157,308,1 duplicate(Guillaume camp#bat) Guillaume camp#bat11 1_FLAG_LION -bat_a01,359,327,1 duplicate(Guillaume camp#bat) Guillaume camp#bat12 1_FLAG_LION -bat_a01,350,326,1 duplicate(Guillaume camp#bat) Guillaume camp#bat13 1_FLAG_LION -bat_a01,209,344,1 duplicate(Guillaume camp#bat) Guillaume camp#bat14 1_FLAG_LION -bat_a01,173,380,1 duplicate(Guillaume camp#bat) Guillaume camp#bat15 1_FLAG_LION -bat_a01,150,380,1 duplicate(Guillaume camp#bat) Guillaume camp#bat16 1_FLAG_LION -bat_a01,118,357,1 duplicate(Guillaume camp#bat) Guillaume camp#bat17 1_FLAG_LION -bat_a01,119,336,1 duplicate(Guillaume camp#bat) Guillaume camp#bat18 1_FLAG_LION - -// Barricades -// ********************************************************************* - -- script Guillaume_TV1B FAKE_NPC,{ - end; - -OnBuild: - for( set .@i, 0; .@i < 16; set .@i, .@i + 1 ) - bg_monster 0,"bat_a01",170+.@i,130,"Barricade",1906,"Guillaume_TV1B::OnWall"; - - setwall "bat_a01",170,130,16,6,1,"bat_a01_g1"; - set .MyMobCount,16; - end; - -OnDestroy: - killmonster "bat_a01","Guillaume_TV1B::OnWall"; - delwall "bat_a01_g1"; - set .MyMobCount,0; - end; - -OnWall: - if( set(.MyMobCount,.MyMobCount - 1) < 1 ) - { - delwall "bat_a01_g1"; - mapannounce "bat_a01","South Gate : The Gate has been Destroy!!",1,0xFFA500; - } - end; -} - -- script Croix_TV1B FAKE_NPC,{ - end; - -OnBuild: - for( set .@i, 0; .@i < 16; set .@i, .@i + 1 ) - bg_monster 0,"bat_a01",186+.@i,266,"Barricade",1906,"Croix_TV1B::OnWall"; - - setwall "bat_a01",186,266,16,6,1,"bat_a01_c1"; - set .MyMobCount,16; - end; - -OnDestroy: - killmonster "bat_a01","Croix_TV1B::OnWall"; - delwall "bat_a01_c1"; - set .MyMobCount,0; - end; - -OnWall: - if( set(.MyMobCount,.MyMobCount - 1) < 1 ) - { - delwall "bat_a01_c1"; - mapannounce "bat_a01","North Gate : A Gate has been Destroy!!",1,0xFFA500; - } - end; -} - -// Battleground rewards -// ********************************************************************* - -bat_a01,45,19,3 script Croix Vintenar#tv1 4_M_CRU_HEAD,{ - if( $@TierraBG1_Victory ) - { - if( $@TierraBG1_Victory == Bat_Team ) - { // Victory - set .@reward, 3; - mes "[Swandery]"; - mes "Blessed Croax!!"; - mes "Let's enjoy our glorious victory!"; - mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory"; - close2; - } else { - set .@reward, 1; - mes "[Swandery]"; - mes "Oh, " + strcharinfo(PC_NAME) + ". Don't be sad."; - mes "Even though we didn't win, we did our best."; - mes "This is a Royal gift from Croix, and please don't forget this battle. We can win the next."; - close2; - } - - setquest 2069; - getitem 7828, .@reward; - bg_leave; - warp "bat_room",155,150; - end; - } - end; -} - -bat_a01,53,377,3 script Guillaume Vintenar#tv1 4_M_KY_HEAD,{ - if( $@TierraBG1_Victory ) - { - if( $@TierraBG1_Victory == Bat_Team ) - { // Victory - set .@reward, 3; - mes "[Swandery]"; - mes "Blessed Guillaume!!"; - mes "Let's enjoy our glorious victory!"; - mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory"; - close2; - } else { - set .@reward, 1; - mes "[Swandery]"; - mes "You lost, but you're dedicated to this battle."; - mes "This is a reward for your great dedication by Guillaume Marollo!"; - mes "Just take this defeat a lesson, and later you would definitely learn."; - close2; - } - - setquest 2069; - getitem 7828, .@reward; - bg_leave; - warp "bat_room",155,150; - end; - } - end; -} - -// Battleground Therapist -// ********************************************************************* - -bat_a01,60,216,3 script Ghost#tv13 4_GHOSTRING,{ - mes "[Ghost in valley]"; - mes "Boo...Boo..."; - specialeffect(EF_HEAL, AREA, playerattached()); - close; -} - -bat_a01,53,377,3 script Therapist in battle#tv12 4_F_SISTER,{ - mes "[Therapist in battle]"; - mes "Just close your eyes, and take a deep breathe."; - mes "You can be free from pain."; - specialeffect(EF_HEAL, AREA, playerattached()); - close; -} - -bat_a01,45,18,3 script Therapist in battle#tv11 4_F_SISTER,{ - mes "[Therapist in battle]"; - mes "Just close your eyes, and take a deep breathe."; - mes "You can be free from pain."; - specialeffect(EF_HEAL, AREA, playerattached()); - close; -} - -// Battleground Respawn -// ********************************************************************* - -bat_a01,57,213,0 script #ntv1_respawn HIDDEN_WARP_NPC,{ - end; - -OnBGStart: - initnpctimer; - end; - -OnBGStop: - stopnpctimer; - end; - -OnTimer19000: - specialeffect(EF_SANCTUARY); - end; - -OnTimer20000: - areapercentheal "bat_a01",52,208,61,217,100,100; - areawarp "bat_a01",52,208,61,217,"bat_a01",301,208; - initnpctimer; - end; -} - -bat_a01,50,374,0 script #gtv1_respawn HIDDEN_WARP_NPC,{ - end; - -OnBGStart: - initnpctimer; - end; - -OnBGStop: - stopnpctimer; - end; - -OnTimer24000: - specialeffect(EF_SANCTUARY); - end; - -OnTimer25000: - areapercentheal "bat_a01",46,370,54,378,100,100; - areawarp "bat_a01",46,370,54,378,"bat_a01",354,340; - initnpctimer; - end; -} - -bat_a01,42,16,0 script #ctv1_respawn HIDDEN_WARP_NPC,{ - end; - -OnBGStart: - initnpctimer; - end; - -OnBGStop: - stopnpctimer; - end; - -OnTimer24000: - specialeffect(EF_SANCTUARY); - end; - -OnTimer25000: - areapercentheal "bat_a01",38,12,47,21,100,100; - areawarp "bat_a01",38,12,47,21,"bat_a01",354,57; - initnpctimer; - end; -} diff --git a/npc/custom/battleground/bg_tierra_02.txt b/npc/custom/battleground/bg_tierra_02.txt deleted file mode 100644 index 98b604fd7..000000000 --- a/npc/custom/battleground/bg_tierra_02.txt +++ /dev/null @@ -1,471 +0,0 @@ -// ============================================================================== -// BattleGround System - Tierra Valley 2 -// ============================================================================== - -// Registration NPC's -// ********************************************************************* - -bat_room,114,227,4 script Registration::TV2R_Guillaume 4_M_KY_KNT,{ - end; -OnInit: - waitingroom "Battle Station 10 Players",10,"Tierra_BG2::OnGuillaumeJoin",1; - end; -OnEnterBG: - set $@TierraBG2_id1, waitingroom2bg("bat_a02",50,374,"Tierra_BG2::OnGuillaumeQuit",""); - end; -} - -bat_room,114,204,0 script Registration::TV2R_Croix 4_M_CRU_KNT,{ - end; -OnInit: - waitingroom "Battle Station 10 Players",10,"Tierra_BG2::OnCroixJoin",1; - end; -OnEnterBG: - set $@TierraBG2_id2, waitingroom2bg("bat_a02",42,16,"Tierra_BG2::OnCroixQuit",""); - end; -} - -// Battleground Engine -// ********************************************************************* - -- script Tierra_BG2 FAKE_NPC,{ - end; - -OnInit: - disablenpc "Croix Vintenar#tv2"; - disablenpc "Guillaume Vintenar#tv2"; - disablenpc "Therapist in battle#tv21"; - disablenpc "Therapist in battle#tv22"; - end; - -OnGuillaumeQuit: -OnCroixQuit: - set BG_Delay_Tick, gettimetick(2) + 1200; - end; - -OnGuillaumeJoin: -OnCroixJoin: - if( $@TierraBG2 == 0 ) - donpcevent "Tierra_BG2::OnReadyCheck"; - end; - -OnReadyCheck: - if( $@TierraBG2 ) - end; - set .@Guillaume, getwaitingroomstate(0,"TV2R_Guillaume"); - set .@Croix, getwaitingroomstate(0,"TV2R_Croix"); - - if( .@Guillaume < 10 || .@Croix < 10 ) - { - mapannounce "bat_room","Battleground -- Tierra Valley [80-99] G: " + .@Guillaume + "/10, C: " + .@Croix + "/10",1,0xF4A460; - end; - } - - set $@TierraBG2, 1; - donpcevent "TV2R_Croix::OnEnterBG"; - donpcevent "TV2R_Guillaume::OnEnterBG"; - donpcevent "Guillaume_TV2B::OnBuild"; - donpcevent "Croix_TV2B::OnBuild"; - bg_monster $@TierraBG2_id1,"bat_a02",176,345,"Food Depot",1909,"Tierra_BG2::OnGuillaumeBreak"; - bg_monster $@TierraBG2_id2,"bat_a02",167,50,"Food Storage",1910,"Tierra_BG2::OnCroixBreak"; - bg_monster 0,"bat_a02",273,204,"Neutrality Flag",1911,"Tierra_BG2::OnNeutralBreak"; - - set .Neutral_Base, 0; - set $@TierraBG2_Victory, 0; - - set .Guardian_1, 0; - set .Guardian_2, 0; - set .Guardian_3, 0; - - enablenpc "Therapist in battle#tv21"; - enablenpc "Therapist in battle#tv22"; - disablenpc "Croix Vintenar#tv2"; - disablenpc "Guillaume Vintenar#tv2"; - // Respawner - donpcevent "#gtv2_respawn::OnBGStart"; - donpcevent "#ctv2_respawn::OnBGStart"; - donpcevent "#ntv2_respawn::OnBGStart"; - // Warp Teams - announce "Battleground -- Tierra Valley [80-99] has started!",0,0xF4A460; - bg_warp $@TierraBG2_id1,"bat_a02",353,344; - bg_warp $@TierraBG2_id2,"bat_a02",353,52; - // Final Messages - sleep 6000; - mapannounce "bat_a02","Guillaume Vintenar Axl Rose : Let's attack to burn down Croix's food storage",1,0x0000FF; - sleep 2000; - mapannounce "bat_a02","Croix Vintenar Swandery : Master of Valhalla! Let us be gifted with unfailing faith and courage",1,0xFF0000; - - initnpctimer; - end; - -OnNeutralBreak: - if( getcharid(CHAR_ID_BG) == $@TierraBG2_id1 ) - { - mapannounce "bat_a02","Guillaume obtained a neurality banner, so they have an advantage.",1,0x0000FF; - bg_team_setxy $@TierraBG2_id2,42,16; - areawarp "bat_a02",52,208,61,217,"bat_a02",42,16; - } - else if( getcharid(CHAR_ID_BG) == $@TierraBG2_id2 ) - { - mapannounce "bat_a02","Croix obtained a neutrality banner, so they have an advantage.",1,0xFF0000; - bg_team_setxy $@TierraBG2_id1,50,374; - areawarp "bat_a02",52,208,61,217,"bat_a02",50,374; - } - else end; - - set .Neutral_Base, getcharid(CHAR_ID_BG); - bg_team_setxy .Neutral_Base,56,212; - - if( .Guardian_1 == 0 ) - set .Guardian_1, bg_monster(.Neutral_Base,"bat_a02",280,233,"Guardian",1949,"Tierra_BG2::OnGuardian1"); - else - bg_monster_set_team .Guardian_1, .Neutral_Base; - - if( .Guardian_2 == 0 ) - set .Guardian_2, bg_monster(.Neutral_Base,"bat_a02",287,203,"Guardian",1950,"Tierra_BG2::OnGuardian2"); - else - bg_monster_set_team .Guardian_2, .Neutral_Base; - - if( .Guardian_3 == 0 ) - set .Guardian_3, bg_monster(.Neutral_Base,"bat_a02",268,204,"Guardian",1949,"Tierra_BG2::OnGuardian3"); - else - bg_monster_set_team .Guardian_3, .Neutral_Base; - - sleep 10000; - if( $@TierraBG2 != 1 ) end; - - if( .Neutral_Base == $@TierraBG2_id1 ) - bg_monster .Neutral_Base,"bat_a02",273,204,"Guillaume Flag",1912,"Tierra_BG2::OnNeutralBreak"; - else if( .Neutral_Base == $@TierraBG2_id2 ) - bg_monster .Neutral_Base,"bat_a02",273,204,"Croix Flag",1913,"Tierra_BG2::OnNeutralBreak"; - end; - -OnGuardian1: set .Guardian_1, 0; end; -OnGuardian2: set .Guardian_2, 0; end; -OnGuardian3: set .Guardian_3, 0; end; - -OnGuillaumeBreak: - set $@TierraBG2_Victory, 2; - mapannounce "bat_a02","Croix Vintenar Swandery: We destroyed Guillaume's food storehouse. We won that! Wow!",1,0xFF0000; - donpcevent "Tierra_BG2::OnStop"; - end; - -OnCroixBreak: - set $@TierraBG2_Victory, 1; - mapannounce "bat_a02","Guillaume Vintenar Axl Rose: We destroyed Croix's food storehouse. We won that! Wow!",1,0x0000FF; - donpcevent "Tierra_BG2::OnStop"; - end; - -OnTimer2400000: - mapannounce "bat_a02","Battle of Tierra Gorge will ends in 5 minutes",1,0xF4A460; - end; -OnTimer2640000: - mapannounce "bat_a02","Battle of Tierra Gorge will ends in 1 minute",1,0xF4A460; - end; - -OnTimer2700000: - set $@TierraBG2_Victory, 3; // Draw Game - mapannounce "bat_a02","Battle of Tierra Gorge is over. The time is out, this is a Tie",1,0xF4A460; - donpcevent "Tierra_BG2::OnStop"; - end; - -OnStop: - set $@TierraBG2, 2; - disablenpc "Therapist in battle#tv21"; - disablenpc "Therapist in battle#tv22"; - donpcevent "#gtv2_respawn::OnBGStop"; - donpcevent "#ctv2_respawn::OnBGStop"; - donpcevent "#ntv2_respawn::OnBGStop"; - enablenpc "Croix Vintenar#tv2"; - enablenpc "Guillaume Vintenar#tv2"; - killmonster "bat_a02","Tierra_BG2::OnGuillaumeBreak"; - killmonster "bat_a02","Tierra_BG2::OnCroixBreak"; - killmonster "bat_a02","Tierra_BG2::OnNeutralBreak"; - killmonster "bat_a02","Tierra_BG2::OnGuardian1"; - killmonster "bat_a02","Tierra_BG2::OnGuardian2"; - killmonster "bat_a02","Tierra_BG2::OnGuardian3"; - stopnpctimer; - sleep 3000; - bg_warp $@TierraBG2_id1,"bat_a02",50,374; - bg_warp $@TierraBG2_id2,"bat_a02",42,16; - sleep 3000; - mapannounce "bat_a02","Battle of Tierra Gorge will close in 1 minute!",1,0xF4A460; - initnpctimer; - end; - -OnTimer30000: - if( $@TierraBG2 == 2 ) - mapannounce "bat_a02","Battle of Tierra Valley will close in 30 seconds!",1,0xF4A460; - end; -OnTimer50000: - if( $@TierraBG2 == 2 ) - mapannounce "bat_a02","Battle of Tierra Valley will close in 10 seconds!",1,0xF4A460; - end; - -OnTimer60000: - if( $@TierraBG2 != 2 ) - end; -OnReset: - stopnpctimer; - set .Neutral_Base, 0; - disablenpc "Croix Vintenar#tv2"; - disablenpc "Guillaume Vintenar#tv2"; - disablenpc "Therapist in battle#tv21"; - disablenpc "Therapist in battle#tv22"; - donpcevent "#gtv2_respawn::OnBGStop"; - donpcevent "#gtv2_respawn::OnBGStop"; - donpcevent "#ctv2_respawn::OnBGStop"; - - killmonster "bat_a02","Tierra_BG2::OnGuillaumeBreak"; - killmonster "bat_a02","Tierra_BG2::OnCroixBreak"; - killmonster "bat_a02","Tierra_BG2::OnNeutralBreak"; - killmonster "bat_a02","Tierra_BG2::OnGuardian1"; - killmonster "bat_a02","Tierra_BG2::OnGuardian2"; - killmonster "bat_a02","Tierra_BG2::OnGuardian3"; - donpcevent "Guillaume_TV2B::OnDestroy"; - donpcevent "Croix_TV2B::OnDestroy"; - - set $@TierraBG2_Victory, 0; - if( $@TierraBG2_id1 ) { bg_destroy $@TierraBG2_id1; set $@TierraBG2_id1, 0; } - if( $@TierraBG2_id2 ) { bg_destroy $@TierraBG2_id2; set $@TierraBG2_id2, 0; } - sleep 1000; - mapwarp "bat_a02","bat_room",155,150; - sleep 2000; - maprespawnguildid "bat_a02",0,3; // Just in case someone else - sleep 2000; - set $@TierraBG2, 0; - donpcevent "Tierra_BG2::OnReadyCheck"; // Maybe a game is ready to start - end; -} - -// Other Flags -// ********************************************************************* - -bat_a02,148,85,1 duplicate(Croix camp#bat) Croix camp#bat22 1_FLAG_EAGLE -bat_a02,155,85,1 duplicate(Croix camp#bat) Croix camp#bat23 1_FLAG_EAGLE -bat_a02,357,75,1 duplicate(Croix camp#bat) Croix camp#bat24 1_FLAG_EAGLE -bat_a02,348,74,1 duplicate(Croix camp#bat) Croix camp#bat25 1_FLAG_EAGLE -bat_a02,199,49,1 duplicate(Croix camp#bat) Croix camp#bat26 1_FLAG_EAGLE -bat_a02,168,16,1 duplicate(Croix camp#bat) Croix camp#bat27 1_FLAG_EAGLE -bat_a02,138,12,1 duplicate(Croix camp#bat) Croix camp#bat28 1_FLAG_EAGLE -bat_a02,108,35,1 duplicate(Croix camp#bat) Croix camp#bat29 1_FLAG_EAGLE -bat_a02,164,308,1 duplicate(Guillaume camp#bat) Guillaume camp#bat23 1_FLAG_LION -bat_a02,157,308,1 duplicate(Guillaume camp#bat) Guillaume camp#bat24 1_FLAG_LION -bat_a02,359,327,1 duplicate(Guillaume camp#bat) Guillaume camp#bat25 1_FLAG_LION -bat_a02,350,326,1 duplicate(Guillaume camp#bat) Guillaume camp#bat26 1_FLAG_LION -bat_a02,209,344,1 duplicate(Guillaume camp#bat) Guillaume camp#bat27 1_FLAG_LION -bat_a02,173,380,1 duplicate(Guillaume camp#bat) Guillaume camp#bat28 1_FLAG_LION -bat_a02,150,380,1 duplicate(Guillaume camp#bat) Guillaume camp#bat29 1_FLAG_LION -bat_a02,118,357,1 duplicate(Guillaume camp#bat) Guillaume camp#bat30 1_FLAG_LION -bat_a02,119,336,1 duplicate(Guillaume camp#bat) Guillaume camp#bat31 1_FLAG_LION - -// Barricades -// ********************************************************************* - -- script Guillaume_TV2B FAKE_NPC,{ - end; - -OnBuild: - for( set .@i, 0; .@i < 16; set .@i, .@i + 1 ) - bg_monster 0,"bat_a02",170+.@i,130,"Barricade",1906,"Guillaume_TV2B::OnWall"; - - setwall "bat_a02",170,130,16,6,1,"bat_a02_g1"; - set .MyMobCount,16; - end; - -OnDestroy: - killmonster "bat_a02","Guillaume_TV2B::OnWall"; - delwall "bat_a02_g1"; - set .MyMobCount,0; - end; - -OnWall: - if( set(.MyMobCount,.MyMobCount - 1) < 1 ) - { - delwall "bat_a02_g1"; - mapannounce "bat_a02","South Gate : The Gate has been Destroy!!",1,0xF4A460; - } - end; -} - -- script Croix_TV2B FAKE_NPC,{ - end; - -OnBuild: - for( set .@i, 0; .@i < 16; set .@i, .@i + 1 ) - bg_monster 0,"bat_a02",186+.@i,266,"Barricade",1906,"Croix_TV2B::OnWall"; - - setwall "bat_a02",186,266,16,6,1,"bat_a02_c1"; - set .MyMobCount,16; - end; - -OnDestroy: - killmonster "bat_a02","Croix_TV2B::OnWall"; - delwall "bat_a02_c1"; - set .MyMobCount,0; - end; - -OnWall: - if( set(.MyMobCount,.MyMobCount - 1) < 1 ) - { - delwall "bat_a02_c1"; - mapannounce "bat_a02","North Gate : A Gate has been Destroy!!",1,0xF4A460; - } - end; -} - -// Battleground rewards -// ********************************************************************* - -bat_a02,45,19,3 script Croix Vintenar#tv2 4_M_CRU_HEAD,{ - if( $@TierraBG2_Victory ) - { - if( $@TierraBG2_Victory == Bat_Team ) - { // Victory - set .@reward, 3; - mes "[Swandery]"; - mes "Blessed Croax!!"; - mes "Let's enjoy our glorious victory!"; - mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory"; - close2; - } else { - set .@reward, 1; - mes "[Swandery]"; - mes "Oh, " + strcharinfo(PC_NAME) + ". Don't be sad."; - mes "Even though we didn't win, we did our best."; - mes "This is a Royal gift from Croix, and please don't forget this battle. We can win the next."; - close2; - } - - setquest 2069; - getitem 7828, .@reward; - bg_leave; - warp "bat_room",155,150; - end; - } - end; -} - -bat_a02,53,377,3 script Guillaume Vintenar#tv2 4_M_KY_HEAD,{ - if( $@TierraBG2_Victory ) - { - if( $@TierraBG2_Victory == Bat_Team ) - { // Victory - set .@reward, 3; - mes "[Swandery]"; - mes "Blessed Guillaume!!"; - mes "Let's enjoy our glorious victory!"; - mes "" + strcharinfo(PC_NAME) + ", its a sign reflecting victory"; - close2; - } else { - set .@reward, 1; - mes "[Swandery]"; - mes "You lost, but you're dedicated to this battle."; - mes "This is a reward for your great dedication by Guillaume Marollo!"; - mes "Just take this defeat a lesson, and later you would definitely learn."; - close2; - } - - setquest 2069; - getitem 7828, .@reward; - bg_leave; - warp "bat_room",155,150; - end; - } - end; -} - -// Battleground Therapist -// ********************************************************************* - -bat_a02,60,216,3 script Ghost#tv23 4_GHOSTRING,{ - mes "[Ghost in valley]"; - mes "Boo...Boo..."; - specialeffect(EF_HEAL, AREA, playerattached()); - close; -} - -bat_a02,53,377,3 script Therapist in battle#tv22 4_F_SISTER,{ - mes "[Therapist in battle]"; - mes "Just close your eyes, and take a deep breathe."; - mes "You can be free from pain."; - specialeffect(EF_HEAL, AREA, playerattached()); - close; -} - -bat_a02,45,18,3 script Therapist in battle#tv21 4_F_SISTER,{ - mes "[Therapist in battle]"; - mes "Just close your eyes, and take a deep breathe."; - mes "You can be free from pain."; - specialeffect(EF_HEAL, AREA, playerattached()); - close; -} - -// Battleground Respawn -// ********************************************************************* - -bat_a02,57,213,0 script #ntv2_respawn HIDDEN_WARP_NPC,{ - end; - -OnBGStart: - initnpctimer; - end; - -OnBGStop: - stopnpctimer; - end; - -OnTimer19000: - specialeffect(EF_SANCTUARY); - end; - -OnTimer20000: - areapercentheal "bat_a02",52,208,61,217,100,100; - areawarp "bat_a02",52,208,61,217,"bat_a02",301,208; - initnpctimer; - end; -} - -bat_a02,50,374,0 script #gtv2_respawn HIDDEN_WARP_NPC,{ - end; - -OnBGStart: - initnpctimer; - end; - -OnBGStop: - stopnpctimer; - end; - -OnTimer24000: - specialeffect(EF_SANCTUARY); - end; - -OnTimer25000: - areapercentheal "bat_a02",46,370,54,378,100,100; - areawarp "bat_a02",46,370,54,378,"bat_a02",354,340; - initnpctimer; - end; -} - -bat_a02,42,16,0 script #ctv2_respawn HIDDEN_WARP_NPC,{ - end; - -OnBGStart: - initnpctimer; - end; - -OnBGStop: - stopnpctimer; - end; - -OnTimer24000: - specialeffect(EF_SANCTUARY); - end; - -OnTimer25000: - areapercentheal "bat_a02",38,12,47,21,100,100; - areawarp "bat_a02",38,12,47,21,"bat_a02",354,57; - initnpctimer; - end; -} diff --git a/npc/custom/bgqueue/flavius.txt b/npc/custom/bgqueue/flavius.txt deleted file mode 100644 index 21c79f48f..000000000 --- a/npc/custom/bgqueue/flavius.txt +++ /dev/null @@ -1,778 +0,0 @@ -//===== Hercules Script ====================================== -// BattleGround System - Flavius -//===== By: ================================================== -//= L0ne_W0lf -//===== Current Version: ===================================== -//= 1.5b -//===== Description: ========================================= -//= [AEGIS Conversion] -//= Flavius Battleground. -//= - Winning Team: 9 badges -//= - Losing Team: 3 badge -//===== Additional Comments: ================================= -//= 1.0 First Version. -//= 1.1 Fixed pink crystal spawning as blue. [L0ne_W0lf] -//= 1.2 Updated 'waitingroom' to support required zeny/lvl. [Kisuka] -//= 1.3 Removed MaxLvl check in waitingrooms. Replaced setwall with setcell. -//= 1.4 Attempt at implementing BG Queue [Ind/Hercules] -//= 1.5 Attempt at implementing BG Queue team-algorithm [jaBote] -//= 1.5b Adjustments to the team-splitting algorithm [Haruna] -//============================================================ - -//Tacham, while the script is under testings the original will remain, meaning if you wanna test this you need to disable the other, or they'll conflict. -bat_b01,15,15,3 script start#bat_b01 CLEAR_NPC,{ -OnInit: - mapwarp "bat_b01","bat_room",154,150; - end; - -//$@bg_queue_id is cleared after this event ends -OnPlayerListReady: - set $@FlaviusBG1_id1, bg_create_team("bat_b01",10,290); - set $@FlaviusBG1_id2, bg_create_team("bat_b01",390,10); - - set $@Croix_QueueBG1, queue(); - set $@Guill_QueueBG1, queue(); - - queueopt($@Guill_QueueBG1, QUEUEOPT_LOGOUT, "start#bat_b01::OnGuillaumeQuit"); - queueopt($@Croix_QueueBG1, QUEUEOPT_LOGOUT, "start#bat_b01::OnCroixQuit"); - - set .@i, 0; - - copyarray .@bg_member[0],$@bg_member[0],$@bg_member_size; - copyarray .@bg_member_group[0],$@bg_member_group[0],$@bg_member_size; - copyarray .@bg_member_type[0],$@bg_member_type[0],$@bg_member_size; - - freeloop(1); - // Counting all participants and determining sizes, condensing .@bg_member_group - set .@nogroupcount, 0; - for (set .@i, 0; .@i < getarraysize(.@bg_member); set .@i, .@i + 1) { - if (.@bg_member_group[.@i] == 0) { // Just count them - set .@nogroupcount, .@nogroupcount + 1; - continue; - } - // check if .@bg_member_group and .@bg_member_type already exists on these groups. - for (set .@j, 0; .@j < getarraysize(.@bg_groups); set .@j, .@j + 1) { // <= since it has to start working even if the array is still blank - if ( (.@bg_member_group[.@i] == .@bg_groups[.@j]) && (.@bg_member_type[.@i] == .@bg_types[.@j]) ) { - set .@bg_count[.@j], .@bg_count[.@j] + 1; - break; - } - // Else keep running the loop until we find there's a group already made or make a new one - } - if (.@j == (getarraysize(.@bg_groups)) ) { // It isn't there, insert a new entry at j - set .@bg_groups[.@j], .@bg_member_group[.@i]; - set .@bg_types[.@j], .@bg_member_type[.@i]; - set .@bg_count[.@j], 1; - } - } - - // Now, sorting the group arrays from amount of population descending! Bubble sort powers, I call upon thee! - // Type doesn't matter here for precedence checks, but also needs to be sorted the same way along with groups - for (set .@i, 0; .@i < getarraysize(.@bg_groups); set .@i, .@i + 1) { - for (set .@j, 0; .@j < (getarraysize(.@bg_groups) - .@i); set .@j, .@j + 1) { - if (.@bg_count[.@j] < .@bg_count[.@j+1]){ - set .@temp1, .@bg_groups[.@j]; - set .@temp2, .@bg_types[.@j]; - set .@temp3, .@bg_count[.@j]; - set .@bg_groups[.@j], .@bg_groups[.@j+1]; - set .@bg_types[.@j], .@bg_types[.@j+1]; - set .@bg_count[.@j], .@bg_count[.@j+1]; - set .@bg_groups[.@j+1], .@temp1; - set .@bg_types[.@j+1], .@temp2; - set .@bg_count[.@j+1], .@temp3; - } - } - } - - // Add the groups to the queues! :D - for (set .@i, 0; .@i < getarraysize(.@bg_groups); set .@i, .@i + 1){ - if (queuesize($@Croix_QueueBG1) <= queuesize($@Guill_QueueBG1)){ // Catch'em all and add to the queue! - for (set .@j, 0; .@j < getarraysize(.@bg_member); set .@j, .@j + 1) { - if ( (.@bg_groups[.@i] == .@bg_member_group[.@j]) && (.@bg_types[.@i] == .@bg_member_type[.@j]) ) { - bg_join_team($@FlaviusBG1_id1,.@bg_member[.@j]); - queueadd($@Croix_QueueBG1, .@bg_member[.@j]); - } - } - } - else { - for (set .@j, 0; .@j < getarraysize(.@bg_member); set .@j, .@j + 1) { - if ( (.@bg_groups[.@i] == .@bg_member_group[.@j]) && (.@bg_types[.@i] == .@bg_member_type[.@j]) ) { - bg_join_team($@FlaviusBG1_id2,.@bg_member[.@j]); - queueadd($@Guill_QueueBG1, .@bg_member[.@j]); - } - } - } - } - // Don't forget the people that go on their own! - for (set .@i, 0; .@i <= getarraysize(.@bg_member); set .@i, .@i+1) { - if (.@bg_member_group[.@i] == 0) { // Get alone people only - if (queuesize($@Croix_QueueBG1) <= queuesize($@Guill_QueueBG1)) { - bg_join_team($@FlaviusBG1_id1,.@bg_member[.@i]); - queueadd($@Croix_QueueBG1, .@bg_member[.@i]); - } - else { - bg_join_team($@FlaviusBG1_id2,.@bg_member[.@i]); - queueadd($@Guill_QueueBG1, .@bg_member[.@i]); - } - } - } - freeloop(0); - - set $@FlaviusBG1, 1; - set $@FlaviusBG1_Victory, 0; - set $@Croix_ScoreBG1, 0; - set $@Guill_ScoreBG1, 0; - - bg_updatescore "bat_b01",$@Guill_ScoreBG1,$@Croix_ScoreBG1; - - donpcevent "OBJ#bat_b01_a::OnKill"; - donpcevent "OBJ#bat_b01_a::OnEnable"; - donpcevent "OBJ#bat_b01_b::OnKill"; - donpcevent "OBJ#bat_b01_b::OnEnable"; - donpcevent "guardian#bat_b01_a::OnKill"; - donpcevent "guardian#bat_b01_b::OnKill"; - donpcevent "guardian#bat_b01_a::OnEnable"; - donpcevent "guardian#bat_b01_b::OnEnable"; - donpcevent "cell#bat_b01_a::OnRed"; - donpcevent "cell#bat_b01_b::OnRed"; - donpcevent "time#bat_b01::OnEnable"; - disablenpc "Guillaume Vintenar#b01_a"; - disablenpc "Croix Vintenar#b01_b"; - disablenpc "Vintenar#bat_b01_aover"; - disablenpc "Vintenar#bat_b01_bover"; - bg_warp $@FlaviusBG1_id1,"bat_b01",87,75; - bg_warp $@FlaviusBG1_id2,"bat_b01",311,224; - - /* after warp */ - queueopt($@Guill_QueueBG1, QUEUEOPT_MAPCHANGE, "start#bat_b01::OnGuillaumeQuit"); - queueopt($@Croix_QueueBG1, QUEUEOPT_MAPCHANGE, "start#bat_b01::OnCroixQuit"); - - donpcevent "countdown#bat_b01::OnEnable"; - end; - -OnReset: - donpcevent "OBJ#bat_b01_a::OnKill"; - donpcevent "OBJ#bat_b01_a::OnEnable"; - donpcevent "OBJ#bat_b01_b::OnKill"; - donpcevent "OBJ#bat_b01_b::OnEnable"; - donpcevent "guardian#bat_b01_a::OnKill"; - donpcevent "guardian#bat_b01_b::OnKill"; - donpcevent "guardian#bat_b01_a::OnEnable"; - donpcevent "guardian#bat_b01_b::OnEnable"; - donpcevent "cell#bat_b01_a::OnRed"; - donpcevent "cell#bat_b01_b::OnRed"; - donpcevent "time#bat_b01::OnEnable"; - disablenpc "Guillaume Vintenar#b01_a"; - disablenpc "Croix Vintenar#b01_b"; - disablenpc "Vintenar#bat_b01_aover"; - disablenpc "Vintenar#bat_b01_bover"; - bg_warp $@FlaviusBG1_id1,"bat_b01",87,75; - bg_warp $@FlaviusBG1_id2,"bat_b01",311,224; - end; - -OnCroixQuit: - queueremove($@Croix_QueueBG1,getcharid(CHAR_ID_ACCOUNT)); - callsub L_OnPlayerQuit; - end; - -OnGuillaumeQuit: - queueremove($@Guill_QueueBG1,getcharid(CHAR_ID_ACCOUNT)); - callsub L_OnPlayerQuit; - end; - -L_OnPlayerQuit: - bg_leave; - setd $@bg_delay_var$,gettimetick(2); - if( queuesize($@Guill_QueueBG1) == 0 || queuesize($@Croix_QueueBG1) == 0 ) /* todo check score and decide a winner if anyone left */ - callsub OnMatchOver; - end; - -OnMatchOver: - if( $@FlaviusBG1_id1 || $@FlaviusBG1_id2 ) { - queuedel($@Croix_QueueBG1); - queuedel($@Guill_QueueBG1); - bg_match_over("Flavius"); - } - if( $@FlaviusBG1_id1 ) { bg_destroy $@FlaviusBG1_id1; set $@FlaviusBG1_id1, 0; } - if( $@FlaviusBG1_id2 ) { bg_destroy $@FlaviusBG1_id2; set $@FlaviusBG1_id2, 0; } - end; -} - -bat_b01,1,1,3 script OBJ#bat_b01_a CLEAR_NPC,{ -OnEnable: - bg_monster $@FlaviusBG1_id1,"bat_b01",61,150,"Pink Crystal",1915,"OBJ#bat_b01_a::OnMyMobDead"; - end; - -OnKill: - killmonster "bat_b01","OBJ#bat_b01_a::OnMyMobDead"; - end; - -OnMyMobDead: - if (mobcount("bat_b01","OBJ#bat_b01_a::OnMyMobDead") < 1) { - mapannounce "bat_b01", "Guillaume's Crystal has been destroyed.",bc_map,"0xFFCE00"; - if ($@Croix_ScoreBG1 > 0) { - set $@FlaviusBG1_Victory,2; - set $@Croix_ScoreBG1,$@Croix_ScoreBG1+1; - enablenpc "Guillaume Vintenar#b01_a"; - enablenpc "Croix Vintenar#b01_b"; - donpcevent "time#bat_b01::OnStop"; - donpcevent "start#bat_b01::OnMatchOver"; - } - else { - set $@Croix_ScoreBG1,1; - donpcevent "time#bat_b01::OnEnable"; - donpcevent "start#bat_b01::OnReset"; - } - bg_updatescore "bat_b01",$@Guill_ScoreBG1,$@Croix_ScoreBG1; - bg_warp $@FlaviusBG1_id1,"bat_b01",10,290; - bg_warp $@FlaviusBG1_id2,"bat_b01",390,10; - } - end; -} -bat_b01,1,2,3 script OBJ#bat_b01_b CLEAR_NPC,{ -OnEnable: - bg_monster $@FlaviusBG1_id2,"bat_b01",328,150,"Blue Crystal",1914,"OBJ#bat_b01_b::OnMyMobDead"; - end; - -OnKill: - killmonster "bat_b01","OBJ#bat_b01_b::OnMyMobDead"; - end; - -OnMyMobDead: - if (mobcount("bat_b01","OBJ#bat_b01_b::OnMyMobDead") < 1) { - mapannounce "bat_b01", "Croix's Crystal has been destroyed.",bc_map,"0xFFCE00"; - if ($@Guill_ScoreBG1 > 0) { - set $@FlaviusBG1_Victory,1; - set $@Guill_ScoreBG1,$@Guill_ScoreBG1+1; - enablenpc "Guillaume Vintenar#b01_a"; - enablenpc "Croix Vintenar#b01_b"; - donpcevent "time#bat_b01::OnStop"; - donpcevent "start#bat_b01::OnMatchOver"; - } - else { - set $@Guill_ScoreBG1,1; - donpcevent "time#bat_b01::OnEnable"; - donpcevent "start#bat_b01::OnReset"; - } - bg_updatescore "bat_b01",$@Guill_ScoreBG1,$@Croix_ScoreBG1; - bg_warp $@FlaviusBG1_id1,"bat_b01",10,290; - bg_warp $@FlaviusBG1_id2,"bat_b01",390,10; - } - end; -} - -bat_b01,1,3,3 script guardian#bat_b01_a CLEAR_NPC,{ -OnEnable: - bg_monster $@FlaviusBG1_id1,"bat_b01",108,159,"Guillaume Camp Guardian",1949,"guardian#bat_b01_a::OnMyMobDead"; - bg_monster $@FlaviusBG1_id1,"bat_b01",108,141,"Guillaume Camp Guardian",1949,"guardian#bat_b01_a::OnMyMobDead"; - end; - -OnKill: - killmonster "bat_b01","guardian#bat_b01_a::OnMyMobDead"; - end; - -OnMyMobDead: - if (mobcount("bat_b01","guardian#bat_b01_a::OnMyMobDead") < 1) { - donpcevent "cell#bat_b01_a::OnGreen"; - mapannounce "bat_b01", "The Guardian protecting Guillaume's Crystal has been slain.",bc_map,"0xFFCE00"; - } - end; -} - -bat_b01,1,3,3 script guardian#bat_b01_b CLEAR_NPC,{ -OnEnable: - bg_monster $@FlaviusBG1_id2,"bat_b01",307,160,"Croix Camp Guardian",1949,"guardian#bat_b01_b::OnMyMobDead"; - bg_monster $@FlaviusBG1_id2,"bat_b01",307,138,"Croix Camp Guardian",1949,"guardian#bat_b01_b::OnMyMobDead"; - end; - -OnKill: - killmonster "bat_b01","guardian#bat_b01_b::OnMyMobDead"; - end; - -OnMyMobDead: - if (mobcount("bat_b01","guardian#bat_b01_b::OnMyMobDead") < 1) { - donpcevent "cell#bat_b01_b::OnGreen"; - mapannounce "bat_b01", "The Guardian protecting Croix's Crystal has been slain.",bc_map,"0xFFCE00"; - } - end; -} - -bat_b01,1,4,3 script cell#bat_b01_a CLEAR_NPC,{ -OnRed: - setcell "bat_b01",62,149,60,151,cell_basilica,1; - setcell "bat_b01",62,149,60,151,cell_walkable,0; - end; - -OnGreen: - setcell "bat_b01",62,149,60,151,cell_basilica,0; - setcell "bat_b01",62,149,60,151,cell_walkable,1; - end; -} - -bat_b01,1,5,3 script cell#bat_b01_b CLEAR_NPC,{ -OnRed: - setcell "bat_b01",327,151,329,149,cell_basilica,1; - setcell "bat_b01",327,151,329,149,cell_walkable,0; - end; - -OnGreen: - setcell "bat_b01",327,151,329,149,cell_basilica,0; - setcell "bat_b01",327,151,329,149,cell_walkable,1; - end; -} - -bat_b01,1,6,1 script time#bat_b01 CLEAR_NPC,{ -OnEnable: - donpcevent "Battle Therapist#b01_a::OnEnable"; - donpcevent "Battle Therapist#b01_b::OnEnable"; - end; - -OnStop: - donpcevent "Battle Therapist#b01_a::OnStop"; - donpcevent "Battle Therapist#b01_b::OnStop"; - end; -} - -bat_b01,10,294,3 script Battle Therapist#b01_a 4_F_SISTER,{ - specialeffect(EF_HEAL, AREA, playerattached()); - mes "[Battle Therapist]"; - mes "Just close your eyes,"; - mes "and take a deep breath."; - mes "You can be free from pain."; - close; - -OnTimer25000: - specialeffect EF_SANCTUARY; - enablenpc "bat_b01_rp1_a_warp"; - end; - -OnTimer26000: - disablenpc "bat_b01_rp1_a_warp"; - end; - -OnTimer26500: - stopnpctimer; - donpcevent "Battle Therapist#b01_a::OnEnable"; - end; - -OnEnable: - initnpctimer; - enablenpc "Battle Therapist#b01_a"; - end; - -OnStop: - disablenpc "bat_b01_rp1_a_warp"; - disablenpc "Battle Therapist#b01_a"; - stopnpctimer; - end; -} - -bat_b01,10,290,0 script bat_b01_rp1_a_warp WARPNPC,10,10,{ -OnInit: - disablenpc "bat_b01_rp1_a_warp"; - end; - -OnTouch: - percentheal 100,100; - warp "bat_b01",87,73; - end; -} - -bat_b01,389,14,3 script Battle Therapist#b01_b 4_F_SISTER,{ - specialeffect(EF_HEAL, AREA, playerattached()); - mes "[Battle Therapist]"; - mes "Just close your eyes,"; - mes "and take a deep breath."; - mes "You can be free from pain."; - close; - -OnTimer25000: - specialeffect EF_SANCTUARY; - enablenpc "bat_b01_rp1_b_warp"; - end; - -OnTimer26000: - disablenpc "bat_b01_rp1_b_warp"; - end; - -OnTimer26500: - stopnpctimer; - donpcevent "Battle Therapist#b01_b::OnEnable"; - end; - -OnEnable: - initnpctimer; - enablenpc "Battle Therapist#b01_b"; - end; - -OnStop: - disablenpc "bat_b01_rp1_b_warp"; - disablenpc "Battle Therapist#b01_b"; - stopnpctimer; - end; -} - -bat_b01,389,10,0 script bat_b01_rp1_b_warp WARPNPC,9,9,{ -OnInit: - disablenpc "bat_b01_rp1_a_warp"; - end; - -OnTouch: - percentheal 100,100; - warp "bat_b01",312,225; - end; -} - -bat_b01,87,76,0 script A_CODE#bat_b01 FAKE_NPC,5,5,{ -OnTouch: - if (!questprogress(2070)) - setquest 2070; - end; -} - -bat_b01,312,224,0 script B_CODE#bat_b01 FAKE_NPC,5,5,{ -OnTouch: - if (!questprogress(2070)) - setquest 2070; - end; -} - -bat_b01,10,294,3 script Guillaume Vintenar#b01_a 4_M_RASWORD,{ - if ($@FlaviusBG1_id1 == getcharid(CHAR_ID_BG)) { - if ($@FlaviusBG1_Victory == 1) { - set .@your_medal,countitem(BF_Badge2); - set .@medal_gap,500 - .@your_medal; - if (.@medal_gap > 8) { - mes "[Axl Rose]"; - mes "Blessed Guillaume!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(PC_NAME)+", it's a sign reflecting victory."; - close2; - getitem BF_Badge2,9; - } - else { - mes "[Axl Rose]"; - mes "Blessed Guillaume!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(PC_NAME)+", it's a sign reflecting victory."; - close2; - getitem BF_Badge2,.@medal_gap; - } - } - else { - set .@your_medal,countitem(BF_Badge2); - set .@medal_gap,500 - .@your_medal; - if (.@medal_gap > 2) { - mes "[Axl Rose]"; - mes "You lost, but you're dedicated to this battle."; - mes "This is a reward for your great dedication by Guillaume Marollo!"; - mes "Just take this defeat as a lesson, next time you will definitely win."; - close2; - getitem BF_Badge2,3; - } - else { - mes "[Axl Rose]"; - mes "You lost, but you're dedicated to this battle."; - mes "This is a reward for your great dedication by Guillaume Marollo!"; - mes "Just take this defeat as a lesson, next time you will definitely win."; - close2; - getitem BF_Badge2,.@medal_gap; - } - } - } - bg_leave; - warp "bat_room",154,150; - end; - -OnInit: - disablenpc "Guillaume Vintenar#b01_a"; - end; -} - -bat_b01,389,14,3 script Croix Vintenar#b01_b 4_M_RASWORD,{ - if ($@FlaviusBG1_id2 == getcharid(CHAR_ID_BG)) { - if ($@FlaviusBG1_Victory == 2) { - set .@your_medal,countitem(BF_Badge2); - set .@medal_gap,500 - .@your_medal; - if (.@medal_gap > 8) { - mes "[Swandery]"; - mes "Blessed Croix!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(PC_NAME)+", it's a sign reflecting victory."; - close2; - getitem BF_Badge2,9; - } - else { - mes "[Swandery]"; - mes "Blessed Croix!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(PC_NAME)+", it's a sign reflecting victory."; - close2; - getitem BF_Badge2,.@medal_gap; - } - } - else { - set .@your_medal,countitem(BF_Badge2); - set .@medal_gap,500 - .@your_medal; - if (.@medal_gap > 2) { - mes "[Swandery]"; - mes "Oh, "+strcharinfo(PC_NAME)+". Don't be sad."; - mes "Even though we didn't win, we did our best."; - mes "This is a Royal gift from Croix, and please don't forget this battle. We will win the next one."; - close2; - getitem BF_Badge2,3; - } - else { - mes "[Swandery]"; - mes "Oh, "+strcharinfo(PC_NAME)+". Don't be sad."; - mes "Even though we didn't win, we did our best."; - mes "This is a Royal gift from Croix, and please don't forget this battle. We will win the next one."; - close2; - getitem BF_Badge2,.@medal_gap; - } - } - } - bg_leave; - warp "bat_room",154,150; - end; - -OnInit: - disablenpc "Croix Vintenar#b01_b"; - end; -} - -bat_b01,1,5,3 script countdown#bat_b01 CLEAR_NPC,{ -OnInit: - stopnpctimer; - end; - -OnEnable: - stopnpctimer; - initnpctimer; - end; - -OnStop: - stopnpctimer; - end; - -OnTimer7000: - mapannounce "bat_b01", "Guillaume Vintenar Axl Rose : Let's attack to destroy that Crystal!",bc_map,"0xFF9900"; - end; - -OnTimer8000: - mapannounce "bat_b01", "Croix Vintenar Swandery : Even though Guillaume is struggling to win against us, the victory is ours. Let's show them our power.",bc_map,"0xFF99CC"; - end; - -OnTimer1800000: - mapannounce "bat_b01", "Marollo VII : Guillaume Marollo, Croix Marollo! And their followers!",bc_map,"0x99CC00"; - end; - -OnTimer1803000: - mapannounce "bat_b01", "Marollo VII : Both camps are competitive, so it's hard to judge which team is superior.",bc_map,"0x99CC00"; - end; - -OnTimer1808000: - mapannounce "bat_b01", "Marollo VII : This battle of Flavian is such a waste of time. I will decide victory and defeat by your progress.",bc_map,"0x99CC00"; - end; - -OnTimer1822000: - mapannounce "bat_b01", "Marollo VII : If you can't accept the results, try again in another valley battle!",bc_map,"0x99CC00"; - end; - -OnTimer1825000: - mapannounce "bat_b01", "Axl Rose, Swandery : Yes, sir.",bc_map,"0x99CC00"; - end; - -OnTimer1830000: - donpcevent "time#bat_b01::OnStop"; - bg_warp $@FlaviusBG1_id1,"bat_b01",10,290; - bg_warp $@FlaviusBG1_id2,"bat_b01",390,10; - enablenpc "Vintenar#bat_b01_aover"; - enablenpc "Vintenar#bat_b01_bover"; - end; - -OnTimer1900000: - mapwarp "bat_b01","bat_room",154,150; - donpcevent "countdown#bat_b01::OnStop"; - donpcevent "start#bat_b01::OnMatchOver"; - end; -} - -bat_b01,81,83,3 script Guillaume Camp#flag21 1_FLAG_LION,{ end; } -bat_b01,94,83,3 script Guillaume Camp#flag22 1_FLAG_LION,{ end; } -bat_b01,81,66,3 script Guillaume Camp#flag23 1_FLAG_LION,{ end; } -bat_b01,94,66,3 script Guillaume Camp#flag24 1_FLAG_LION,{ end; } -bat_b01,139,142,3 script Guillaume Camp#flag25 1_FLAG_LION,{ end; } -bat_b01,139,158,3 script Guillaume Camp#flag26 1_FLAG_LION,{ end; } -bat_b01,110,161,3 script Guillaume Camp#flag27 1_FLAG_LION,{ end; } -bat_b01,110,137,3 script Guillaume Camp#flag28 1_FLAG_LION,{ end; } -bat_b01,63,135,3 script Guillaume Camp#flag29 1_FLAG_LION,{ end; } -bat_b01,63,165,3 script Guillaume Camp#flag30 1_FLAG_LION,{ end; } -bat_b01,10,296,3 script Guillaume Camp#flag31 1_FLAG_LION,{ end; } - -bat_b01,306,233,3 script Croix Camp#flag21 1_FLAG_EAGLE,{ end; } -bat_b01,317,233,3 script Croix Camp#flag22 1_FLAG_EAGLE,{ end; } -bat_b01,306,216,3 script Croix Camp#flag23 1_FLAG_EAGLE,{ end; } -bat_b01,317,216,3 script Croix Camp#flag24 1_FLAG_EAGLE,{ end; } -bat_b01,257,158,3 script Croix Camp#flag25 1_FLAG_EAGLE,{ end; } -bat_b01,257,141,3 script Croix Camp#flag26 1_FLAG_EAGLE,{ end; } -bat_b01,297,164,3 script Croix Camp#flag27 1_FLAG_EAGLE,{ end; } -bat_b01,297,136,3 script Croix Camp#flag28 1_FLAG_EAGLE,{ end; } -bat_b01,336,161,3 script Croix Camp#flag29 1_FLAG_EAGLE,{ end; } -bat_b01,336,139,3 script Croix Camp#flag30 1_FLAG_EAGLE,{ end; } -bat_b01,389,16,3 script Croix Camp#flag31 1_FLAG_EAGLE,{ end; } - -bat_b01,10,294,3 script Vintenar#bat_b01_aover 4_M_KY_HEAD,{ - set .@A_B_gap,$@Guill_ScoreBG1 - $@Croix_ScoreBG1; - if ($@FlaviusBG1_id1 == getcharid(CHAR_ID_BG)) { - if (.@A_B_gap > 0) { - set .@your_medal,countitem(BF_Badge2); - set .@medal_gap,500 - .@your_medal; - if (.@medal_gap > 8) { - mes "[Axl Rose]"; - mes "Blessed Guillaume!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(PC_NAME)+", it's a sign reflecting victory."; - close2; - getitem BF_Badge2,9; - } - else { - mes "[Axl Rose]"; - mes "Blessed Guillaume!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(PC_NAME)+", it's a sign reflecting victory."; - close2; - getitem BF_Badge2,.@medal_gap; - } - } - else if (.@A_B_gap == 0) { - set .@your_medal,countitem(BF_Badge2); - set .@medal_gap,500 - .@your_medal; - if (.@medal_gap > 2) { - mes "[Axl Rose]"; - mes "You lost, but you're dedicated to this battle."; - mes "This is a reward for your great dedication by Guillaume Marollo!"; - mes "Just take this defeat as a lesson, next time you will definitely win."; - close2; - getitem BF_Badge2,3; - } - else { - mes "[Axl Rose]"; - mes "You lost, but you're dedicated to this battle."; - mes "This is a reward for your great dedication by Guillaume Marollo!"; - mes "Just take this defeat as a lesson, next time you will definitely win."; - close2; - getitem BF_Badge2,.@medal_gap; - } - } - else { - set .@your_medal,countitem(BF_Badge2); - set .@medal_gap,500 - .@your_medal; - if (.@medal_gap > 2) { - mes "[Axl Rose]"; - mes "You lost, but you're dedicated to this battle."; - mes "This is a reward for your great dedication by Guillaume Marollo!"; - mes "Just take this defeat as a lesson, next time you will definitely win."; - close2; - getitem BF_Badge2,3; - } - else { - mes "[Axl Rose]"; - mes "You lost, but you're dedicated to this battle."; - mes "This is a reward for your great dedication by Guillaume Marollo!"; - mes "Just take this defeat as a lesson, next time you will definitely win."; - close2; - getitem BF_Badge2,.@medal_gap; - } - } - } - else { - mes "[Axl Rose]"; - mes "Why are you here, Croix mercenary? I am definitely sure of victory against foolish Croix such as you. Ha!"; - close; - } - bg_leave; - warp "bat_room",154,150; - end; - -OnInit: - disablenpc "Vintenar#bat_b01_aover"; - end; -} - -bat_b01,389,14,3 script Vintenar#bat_b01_bover 4_M_CRU_HEAD,{ - set .@A_B_gap,$@Guill_ScoreBG1 - $@Croix_ScoreBG1; - if ($@FlaviusBG1_id2 == getcharid(CHAR_ID_BG)) { - if (.@A_B_gap > 0) { - set .@your_medal,countitem(BF_Badge2); - set .@medal_gap,500 - .@your_medal; - if (.@medal_gap > 2) { - mes "[Swandery]"; - mes "Oh, "+strcharinfo(PC_NAME)+". Don't be sad."; - mes "Even though we didn't win, we did our best."; - mes "This is a Royal gift from Croix, and please don't forget this battle. We will win the next one."; - close2; - getitem BF_Badge2,3; - } - else { - mes "[Swandery]"; - mes "Oh, "+strcharinfo(PC_NAME)+". Don't be sad."; - mes "Even though we didn't win, we did our best."; - mes "This is a Royal gift from Croix, and please don't forget this battle. We will win the next one."; - close2; - getitem BF_Badge2,.@medal_gap; - } - } - else if (.@A_B_gap == 0) { - set .@your_medal,countitem(BF_Badge2); - set .@medal_gap,500 - .@your_medal; - if (.@medal_gap > 2) { - mes "[Swandery]"; - mes "Oh, "+strcharinfo(PC_NAME)+". Don't be sad."; - mes "Even though we didn't win, we did our best."; - mes "This is a Royal gift from Croix, and please don't forget this battle. We will win the next one."; - close2; - getitem BF_Badge2,3; - } - else { - mes "[Swandery]"; - mes "Oh, "+strcharinfo(PC_NAME)+". Don't be sad."; - mes "Even though we didn't win, we did our best."; - mes "This is a Royal gift from Croix, and please don't forget this battle. We will win the next one."; - close2; - getitem BF_Badge2,.@medal_gap; - } - } - else { - set .@your_medal,countitem(BF_Badge2); - set .@medal_gap,500 - .@your_medal; - if (.@medal_gap > 8) { - mes "[Swandery]"; - mes "Blessed Croix!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(PC_NAME)+", it's a sign reflecting victory."; - close2; - getitem BF_Badge2,9; - } - else { - mes "[Swandery]"; - mes "Blessed Croix!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(PC_NAME)+", it's a sign reflecting victory."; - close2; - getitem BF_Badge2,.@medal_gap; - } - } - } - else { - mes "[Swandery]"; - mes "Why do you come here as a Guillaume? You will be sent to where you should be!"; - close; - } - bg_leave; - warp "bat_room",154,150; - end; - -OnInit: - disablenpc "Vintenar#bat_b01_bover"; - end; -} diff --git a/npc/custom/breeder.txt b/npc/custom/breeder.txt deleted file mode 100644 index 9efb73ac6..000000000 --- a/npc/custom/breeder.txt +++ /dev/null @@ -1,68 +0,0 @@ -//===== Hercules Script ====================================== -//= Universal Rental NPC -//===== By: ================================================== -//= Euphy -//===== Current Version: ===================================== -//= 1.2 -//===== Description: ========================================= -//= One-click automatic mount rentals. -//= Replaced 'close' with 'end' [Streusel] -//= Fixed 'close' issues. [Joseph] -//============================================================ - -prontera,124,201,1 script Universal Rental NPC 4_F_JOB_BLACKSMITH,{ - /* TODO: This can be optimized with just setmount(), as it can - auto-detect the proper mount for the class/skills. */ - if (hascashmount()) { - message strcharinfo(PC_NAME),"You must first remove your mount."; - end; - } else if ((eaclass()&EAJ_THIRDMASK) == EAJ_RANGER && !countitem(Wolfs_Flute)) { - if (!checkfalcon() && getskilllv(HT_FALCON) && !checkwug()) { - if (select(" ~ Falcon", " ~ Warg") == 1) - setfalcon; - else - getitem Wolfs_Flute, 1; - specialeffect(EF_TEIHIT3, AREA, playerattached()); - close; - } else { - getitem Wolfs_Flute,1; - } - } else if ((eaclass()&EAJ_THIRDMASK) == EAJ_MECHANIC && !checkcart() && getskilllv(MC_PUSHCART)) { - if (!checkmount() != MOUNT_MADO && getskilllv(NC_MADOLICENCE)) { - if (select(" ~ Cart", " ~ Mado") == 1) { - setcart; - } else { - setmount(MOUNT_MADO); - } - specialeffect(EF_TEIHIT3, AREA, playerattached()); - close; - } else { - setcart; - } - } else if (!checkcart() && getskilllv(MC_PUSHCART)) { - setcart; - } else if (!checkfalcon() && getskilllv(HT_FALCON) && !checkwug()) { - setfalcon; - } else if (checkmount() != MOUNT_PECO && getskilllv(KN_RIDING)) { - setmount; // Peco or Dragon - } else if (checkmount() != MOUNT_MADO && getskilllv(NC_MADOLICENCE)) { - setmount(MOUNT_MADO); - } else { - message strcharinfo(PC_NAME),"You do not meet requirements to rent."; - end; - } - specialeffect(EF_TEIHIT3, AREA, playerattached()); - end; -} - -//============================================================ -// Old changelog -//============================================================ -//= A Free PecoPeco and Falcon Breeder -//= 1.1 FIXED checkriding/cart/falcon funcs [Lupus] -//= 1.2 Added Rebirth/Advanced Class support [Mass Zero] -//= 1.3 Simplified the checks of job [Silentdragon] -//= 1.3a Fixed a Typo Error. [Samuray22] -//= Thanks to ~AnnieRuru~. -//= 1.4 Optimized Script. No need for 50 million Labels. [Spre] -//============================================================ diff --git a/npc/custom/card_remover.txt b/npc/custom/card_remover.txt deleted file mode 100644 index 077296ac6..000000000 --- a/npc/custom/card_remover.txt +++ /dev/null @@ -1,150 +0,0 @@ -//===== Hercules Script ====================================== -//= Card Removal NPC -//===== By: ================================================== -//= TyrNemesis^ -//===== Current Version: ===================================== -//= 1.2a -//===== Description: ========================================= -//= Removes cards from equipped items. -//===== Additional Comments: ================================= -//= 1.0 First version. [TyrNemesis^] -//= 1.2 Optimized and fixed getequipname menu. [Kisuka] -//= 1.2a Added 'disable_items' command. [Euphy] -//============================================================ - -prt_in,28,73,4 script Wise Old Woman#eAcustom 1_F_ORIENT_04,{ - - set .zenycost,200000; // Set base cost in zeny of the card remover services - set .percardcost,25000; // set cost per card of the card remover services - set .faildestroy,1; // Should the card remover have a chance of failure that destroys items? 1 = Yes, 0 = No. - - disable_items; - 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; - switch(select("Yes, it does.", "What do you charge?", "No thanks.")) { - case 1: - mes "[Wise Old Woman]"; - mes "Very well. Which item shall I examine for you?"; - next; - - setarray .@position$[1], "Head","Body","Left hand","Right hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3"; - set .@menu$,""; - for( set .@i,1; .@i <= 10; set .@i,.@i+1 ) - { - if( getequipisequiped(.@i) ) - set .@menu$, .@menu$ + .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]"; - - set .@menu$, .@menu$ + ":"; - } - set .@part,select(.@menu$); - if(!getequipisequiped(.@part)) { - mes "[Wise Old Woman]"; - mes "Young one... Your not wearing anything there that I can remove cards from."; - close; - } - if(getequipcardcnt(.@part) == 0) { - 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; - } - set .@cardcount,getequipcardcnt(.@part); - - if (!checkweight(Knife_,(.@cardcount+1))) { - mes "^3355FFJust a minute!"; - mes "I can't offer any of my"; - mes "services to you because"; - mes "you're carrying too much"; - mes "stuff. Put your extra items in"; - mes "Kafra Storage and come again~"; - close; - } - mes "[Wise Old Woman]"; - mes "This item has " + .@cardcount + " cards compounded on it. To perform my magic, I will need " + (.zenycost+(.@cardcount * .percardcost)) + " zeny, a ^0000FFStar Crumb^000000, and a ^0000FFYellow Gemstone^000000."; - next; - if(select("Very well. Do it.", "Nevermind.") == 2) { - mes "[Wise Old Woman]"; - mes "Very well. Return at once if you seek my services."; - close; - } - if((Zeny < (.zenycost+(.@cardcount * .percardcost))) || (countitem(Star_Crumb) < 1) || (countitem(Yellow_Gemstone) < 1)) { - 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; - } - 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; - switch(select("I changed my mind about this.", "The item.", "The cards.")) { - case 1: - mes "[Wise Old Woman]"; - mes "Very well. Return at once if you seek my services."; - close; - case 2: - set .@failtype,1; - break; - case 3: - set .@failtype,2; - } - mes "[Wise Old Woman]"; - mes "Very well. I shall begin."; - Zeny -= (.zenycost+(.@cardcount * .percardcost)); - 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 (.faildestroy==1) { - if(.@failchance < 2) { - next; - failedremovecards .@part,0; - mes "[Wise Old Woman]"; - mes "The process was a total failure. I am afraid the item and the cards were destroyed."; - close; - } - - if(.@failchance < 8) { - if (.@failtype == 1) { - next; - failedremovecards .@part,1; - 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; - } - - if (.@failtype == 2) { - next; - failedremovecards .@part,2; - mes "[Wise Old Woman]"; - mes "Most unfortunate. I succeeded at removing the cards, but the item itself was destroyed in the process."; - close; - } - } - } - - if(.@failchance < 10) { - next; - failedremovecards .@part,3; - mes "[Wise Old Woman]"; - mes "I have failed to remove the cards. Luckily, however, both the item and the cards are still okay."; - close; - } - next; - successremovecards .@part; - mes "[Wise Old Woman]"; - mes "The process was a success. Here are your cards and your item. Farewell."; - close; - case 2: - mes "[Wise Old Woman]"; - mes "I charge a flat fee of "+.zenycost+" zeny, plus "+.percardcost+" zeny for each card I remove from the item. In addition, I need a star crumb and a yellow gemstone to work my magic."; - close; - case 3: - mes "[Wise Old Woman]"; - mes "Very well. Return at once if you seek my services."; - close; - } -} diff --git a/npc/custom/etc/airplane.txt b/npc/custom/etc/airplane.txt deleted file mode 100644 index 2487acb1f..000000000 --- a/npc/custom/etc/airplane.txt +++ /dev/null @@ -1,444 +0,0 @@ -//===== Hercules Script ====================================== -//= elRO Airship -//===== By: ================================================== -//= Draike, Bluto, Hephaestus -//===== Current Version: ===================================== -//= 2.2a -//===== 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,103,72,0 warp airs02a 1,1,airplane,102,200" as a warp, remove it. Where it's supposed to go, I have no clue. -//= 2.1 Removed Duplicates [Silent] -//= 2.2 Added missing next;'s [Evera] -//============================================================ - -payon,153,43,5 script itinsetter FAKE_NPC,{ - //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"; - setarray $locationsmap$[1],"prt_fild08"; - setarray $locationsmap$[2],"pay_fild08"; - setarray $locationsmap$[3],"mjolnir_12"; - setarray $locationsmap$[4],"pay_fild03"; - setarray $locationsmap$[5],"gef_fild00"; - setarray $locationsmap$[6],"moc_fild10"; - setarray $locationsmap$[7],"glast_01"; - setarray $locationsmap$[8],"umbala"; - setarray $locationsmap$[9],"comodo"; - setarray $locationsmap$[10],"amatsu"; - setarray $locationsmap$[11],"niflheim"; - setarray $locationsmap$[12],"xmas"; - setarray $locationsmap$[13],"louyang"; - setarray $locationsmap$[14],"gonryun"; - setarray $locationsmap$[15],"yuno"; - setarray $locationsmap$[16],"moc_fild04"; - setarray $locationsmap$[17],"jawaii"; - setarray $locationsmap$[18],"gef_fild10"; - setarray $locationsmap$[19],"mjolnir_02"; - setarray $locationsmap$[20],"gefenia01"; - setarray $locationsmap$[21],"ayothaya"; - setarray $locationsmap$[22],"lighthalzen"; - setarray $locationsmap$[23],"jupe_gate"; - 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?"; - next; - menu "Yes.",L_Yes,"No.",L_Nope,"View Hourly Itinerary.",Itin; - -L_Yes: - if($destination!=getarg(0))goto Notime; - warp "airplane", 105, 72; - specialeffect(EF_CASTSPIN, AREA, playerattached()); -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 == SEX_FEMALE) - mes "Sorry, ma'am, but the plane currently isn't ported. However, you can view the airplane's hourly itinerary."; - else - mes "Sorry, sir, but the plane currently isn't ported. However, you can view the airplane's hourly itinerary."; - next; - menu "Yes, please.",Itin,"No thanks.",L_Nope; - close; - end; - -Itin: - mes "^FF0000[Porter]^000000"; - callfunc "F_Itin"; -} - -airport,153,43,5 script Airport Porter 4_M_TWBOY,{ - callfunc "F_Porter",0; -} -prt_fild08,206,279,5 script Porter#01 4_M_TWBOY,{ - callfunc "F_Porter",1; -} -gef_fild00,50,364,5 script Porter#02 4_M_TWBOY,{ - callfunc "F_Porter",5; -} -moc_fild10,163,173,5 script Porter#03 4_M_TWBOY,{ - callfunc "F_Porter",6; -} -mjolnir_12,61,380,5 script Porter#04 4_M_TWBOY,{ - callfunc "F_Porter",3; -} -pay_fild08,159,91,5 script Porter#05 4_M_TWBOY,{ - callfunc "F_Porter",2; -} -pay_fild03,194,181,5 script Porter#06 4_M_TWBOY,{ - callfunc "F_Porter",4; -} -glast_01,196,326,1 script Porter#07 4_M_TWBOY,{ - callfunc "F_Porter",7; -} -umbala,188,98,3 script Porter#08 4_M_TWBOY,{ - callfunc "F_Porter",8; -} -comodo,203,75,0 script Porter#09 4_M_TWBOY,{ - callfunc "F_Porter",9; -} -amatsu,115,78,0 script Porter#10 4_M_TWBOY,{ - callfunc "F_Porter",10; -} -niflheim,132,242,5 script Porter#11 4_M_TWBOY,{ - callfunc "F_Porter",11; -} -xmas,232,309,5 script Porter#12 4_M_TWBOY,{ - callfunc "F_Porter",12; -} -louyang,35,279,0 script Porter#13 4_M_TWBOY,{ - callfunc "F_Porter",13; -} -gonryun,82,95,7 script Porter#14 4_M_TWBOY,{ - callfunc "F_Porter",14; -} -yuno,58,195,4 script Porter#15 4_M_TWBOY,{ - callfunc "F_Porter",15; -} -moc_fild04,210,326,2 script Porter#16 4_M_TWBOY,{ - callfunc "F_Porter",16; -} -jawaii,247,174,7 script Porter#17 4_M_TWBOY,{ - callfunc "F_Porter",17; -} -gef_fild10,159,95,2 script Porter#18 4_M_TWBOY,{ - callfunc "F_Porter",18; -} -mjolnir_02,76,364,5 script Porter#19 4_M_TWBOY,{ - callfunc "F_Porter",19; -} -gefenia01,97,22,6 script Porter#20 4_M_TWBOY,{ - callfunc "F_Porter",20; -} -ayothaya,182,105,5 script Porter#21 4_M_TWBOY,{ - callfunc "F_Porter",21; -} -lighthalzen,99,241,4 script Porter#22 4_M_TWBOY,{ - callfunc "F_Porter",22; -} -jupe_gate,46,18,7 script Porter#23 4_M_TWBOY,{ - callfunc "F_Porter",23; -} -airport,141,43,5 script Itinerary Schedule 2_BULLETIN_BOARD,{ - mes "^FF0000[Itinerary]^000000"; - callfunc "F_Itin"; -} - -airplane,102,68,5 script Docker 4_M_EIN_SOLDIER,{ - 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?"; - next; - menu "Yes.",Lyes,"No.",Lnope; - -Lyes: - if($destination == 250)goto Notime; - if($destination != @dockky)goto Notime; - warp $locationsmap$[$destination], $locationsx[$destination], $locationsy[$destination]; - specialeffect(EF_CASTSPIN, AREA, playerattached()); - -Lnope: - 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 == SEX_FEMALE) - mes "Sorry, ma'am, but the plane currently isn't docked. Please wait."; - else - 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(GETTIME_HOUR); - 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(GETTIME_HOUR) + 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; -} diff --git a/npc/custom/etc/bank.txt b/npc/custom/etc/bank.txt deleted file mode 100644 index c5bed187b..000000000 --- a/npc/custom/etc/bank.txt +++ /dev/null @@ -1,117 +0,0 @@ -//===== Hercules Script ====================================== -//= Banker Script -//===== By: ================================================== -//= Syrus22 (1.0) -//===== Current Version: ===================================== -//= 2.0 -//===== 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. -//= Version 2.0: Optimized and brought the script up to standard. [Jguy] -//============================================================ - -prontera,132,217,5 script Banker 4_M_MANAGER,{ -set @cost,500; -mes "[Banker]"; -mes "Welcome to the First Bank of Prontera. How can I help you today?"; -next; -switch(select("I'd like to make a deposit.", "I'd like to make a withdrawl.", "What's my current balance?", "Cancel")) { - case 1: - 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) { - mes "[Banker]"; - mes "Oh, and do realize there is a " +@cost + " Zeny charge on all transactions!"; - next; - } - input @deposit; - if (@deposit < 1) { - mes "Make sure you ask me to deposit a real amount."; - close; - } - else if (@deposit > Zeny) { - mes "It does not appear like you have the amount of zeny you're trying to deposit!"; - close; - } - else if (@deposit > (Zeny - @cost)) { - mes "You need " + @cost + " Zeny to cover the transaction fee!"; - close; - } - else { - Zeny -= @deposit; - Zeny -= @cost; - set #bankstorage,#bankstorage + @deposit; - mes "[Banker]"; - mes "Thank you very much... Your zeny is in good hands."; - close; - } - - case 2: - 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) { - mes "[Banker]"; - mes "Oh, and do realize there is a " +@cost + " Zeny charge on all transactions!"; - next; - } - input @withdrawl; - if (@withdrawl < 1) { - mes "Please don't play games. I need a real amount to withdraw."; - close; - } - else if (@withdrawl > #bankstorage) { - mes "I show you only have ^00FF00" + #bankstorage +"^000000 zeny in your account!"; - close; - } - else if ((@cost > Zeny) && ((Zeny + @withdrawl) > @cost)) { - 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; - switch(select("Yes please.", "No, Thanks")){ - case 1: - mes "[Banker]"; - mes "Removing " + @cost + " from your withdrawl to cover the deposit fee..."; - set @withdrawl,@withdrawl - @cost; - set #bankstorage,#bankstorage - @cost; - set @cost,0; - next; - Zeny -= @cost; - Zeny += @withdrawl; - set #bankstorage,#bankstorage - @withdrawl; - mes "[Banker]"; - mes "There's your Zeny. Have a good day."; - close; - case 2: - mes "[Banker]"; - mes "Very well... come again soon."; - close; - } - } - else { - Zeny -= @cost; - Zeny += @withdrawl; - set #bankstorage,#bankstorage - @withdrawl; - mes "[Banker]"; - mes "There's your Zeny. Have a good day."; - close; - } - case 3: - mes "[Banker]"; - mes "Hmmmm let me check some paper work."; - next; - mes "*Rustle, Rustle*"; - next; - mes "[Banker]"; - mes "You currently have " + #bankstorage + " Zeny in your account."; - close; - case 4: - mes "[Banker]"; - mes "Very well... come again soon."; - close; - } -} diff --git a/npc/custom/etc/bank_kafra.txt b/npc/custom/etc/bank_kafra.txt deleted file mode 100644 index 375a9f611..000000000 --- a/npc/custom/etc/bank_kafra.txt +++ /dev/null @@ -1,114 +0,0 @@ -//===== Hercules Script ====================================== -//= The 2nd Bank of Prontera (with daily 0.01% income!) -//===== By: ================================================== -//= Lupus (1.0) -//===== Current Version: ===================================== -//= 1.2a -//===== 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 -// 1.2a Corrected bad duplicate names. (bugreport:921) [Samuray22] -//============================================================ - -- script Bank Clerk::bankg 4_M_ZONDAOYAJI,{ - mes"[Maniss]"; - mes strcharinfo(PC_NAME)+", welcome to the 2nd Bank of Prontera!"; - - set @kb_int,(gettime(GETTIME_MONTH)*31)+gettime(GETTIME_DAYOFMONTH); //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; - if(input(@kafrabank) == 1) goto L_TOO_BIG_AMOUNT; - - if(@kafrabank<1000) goto L_LESS_1000; - if(@kafrabank>Zeny) goto L_NOT_ENOUGH; - 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; - if(input(@kafrabank) == 1) goto L_TOO_BIG_AMOUNT; - - if(@kafrabank<1) goto B_EXIT2; - if(@kafrabank>#kafrabank) goto L_NOT_ENOUGH; - set #kafrabank,#kafrabank-@kafrabank; - 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; -} - -prontera,131,190,1 duplicate(bankg) Bank Clerk#1-1 4_M_ZONDAOYAJI -geffen,125,73,3 duplicate(bankg) Bank Clerk#2-1 4_M_ZONDAOYAJI -izlude,145,107,1 duplicate(bankg) Bank Clerk#3-1 4_M_ZONDAOYAJI -morocc,147,84,7 duplicate(bankg) Bank Clerk#4-1 4_M_ZONDAOYAJI diff --git a/npc/custom/etc/blackjack.txt b/npc/custom/etc/blackjack.txt deleted file mode 100644 index 5baba717e..000000000 --- a/npc/custom/etc/blackjack.txt +++ /dev/null @@ -1,354 +0,0 @@ -//===== Hercules Script ====================================== -//= Black Jack -//===== By: ================================================== -//= kobra_k88 -//===== Current Version: ===================================== -//= 1.1 -//===== 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: ================================= -// 1.0 Release -// 1.1 Prevent player logout from zeny deletion (AnnieRuru) -//============================================================ - -cmd_in02,188,89,1 script Black Jack Dealer 1_M_LIBRARYMASTER,{ - 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 the player will automatically lose 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 useful, 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 received 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; - Zeny -= @bet; - goto L_Cont0; -M_1b: - if(Zeny < 10) goto sL_NotEnuf; - set @bet, 10; - Zeny -= @bet; - goto L_Cont0; -M_1c: - if(Zeny < 20) goto sL_NotEnuf; - set @bet, 20; - Zeny -= @bet; - goto L_Cont0; -M_1d: - if(Zeny < 100) goto sL_NotEnuf; - set @bet, 100; - Zeny -= @bet; - 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 @doubledown, 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 @doubledown, 1; - 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!"; - if ( @doubledown ) - Zeny += @bet *3; - else - Zeny += @bet *2; - next; - goto L_Play; -sL_Lose: - mes "[Dealer]"; - mes "I'm sorry but you've lost."; - next; - goto L_Play; -sL_Push: - mes "[Dealer]"; - mes "Its a push. You tied with the Dealer."; - Zeny += @bet; - 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/etc/floating_rates.txt b/npc/custom/etc/floating_rates.txt deleted file mode 100644 index 109a5217c..000000000 --- a/npc/custom/etc/floating_rates.txt +++ /dev/null @@ -1,41 +0,0 @@ -//===== Hercules Script ====================================== -//= Floating Server Rates -//===== By: ================================================== -//= Lupus -//===== Current Version: ===================================== -//= 1.0 -//===== Description: ========================================= -//= It's a simply example of setbattleflag -//= This script will change your server rates from 1x to 1.5x every 6 hours -//= Note: It doesn't affect Card granted drops, MVP & Treasure Chests drops ^_- -//= It also doesn't affect CARD drops, because they are just 0.01% -//===== Additional Comments: ================================= -//= You can make incredible scripts with 'setbattleflag'! -//============================================================ - -- script FloatingRates FAKE_NPC,{ -OnInit: -//add any other HOURS -OnHour00: -OnHour06: -OnHour12: -OnHour18: -//------------------- - set $@brate,rand(100,150); - set $@jrate,rand(100,150); - set $@drate,rand(100,150); - //Base exp - setbattleflag("base_exp_rate",$@brate); - //Job exp - setbattleflag("job_exp_rate",$@jrate); - //Drops - setbattleflag("item_rate_common",$@drate); - setbattleflag("item_rate_heal",$@drate); - setbattleflag("item_rate_use",$@drate); - setbattleflag("item_rate_equip",$@drate); - //we don't change card drops rate, because these values won't change them anyway - atcommand "@reloadmobdb"; - - announce "Current Rune-Midgard rates are: 1."+($@brate-100)+"x 1."+($@jrate-100)+"x 1."+($@drate-100)+"x",bc_all,0xFF6060; - end; -} diff --git a/npc/custom/etc/lottery.txt b/npc/custom/etc/lottery.txt deleted file mode 100644 index 421fccc78..000000000 --- a/npc/custom/etc/lottery.txt +++ /dev/null @@ -1,452 +0,0 @@ -//===== Hercules Script ====================================== -//= Lottery -//===== By: ================================================== -//= acky -//===== Current Version: ===================================== -//= 1.2.1a -//===== 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 -//============================================================ - -- script lotterygenerator FAKE_NPC,{ -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; -} - -prontera,141,182,5 script Lottery 1_F_ORIENT_02,{ -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() > 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; - 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."; - Zeny += $L_Prize_Money; - announce "Lottery: " + strcharinfo(PC_NAME) + " 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."; - Zeny += $L_Prize_Money_Small; - announce "Lottery: " + strcharinfo(PC_NAME) + " 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; -} diff --git a/npc/custom/etc/marriage.txt b/npc/custom/etc/marriage.txt deleted file mode 100644 index 4e521ec55..000000000 --- a/npc/custom/etc/marriage.txt +++ /dev/null @@ -1,935 +0,0 @@ -//===== Hercules Script ====================================== -//= Wedding Script -//===== By: ================================================== -//= AppleGirl, Evera -//===== Current Version: ===================================== -//= 2.9 -//===== Description: ========================================= -//= Fully working wedding script for all kind of weddings -//===== Additional Comments: ================================= -// 1.1 Lesbian and Gay Weddings [ShadowLady] -// 2.0 Complete Rewrite [Skotlex] -// 2.9 Somewhat iRO-official NPC names [DracoRPG] -//============================================================ - -// Configuration Variables: -- script marriage_init FAKE_NPC,{ -OnInit: - set $@wed_allow, 0; //If 1, allows same sex marriages. - set $@wed_veil, 0; //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 61,62: Priest location, sprite and name. -// Line 437,438: Registration location, sprite and name. -// Line 813,814: 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. -// $wedding_effect_id - When wedding_effect is enabled, sets the ID of the -// player to show the effect on. -// $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 - official iRO sprite & in-dialog name (on-map name not confirmed) -prt_church,100,123,4 script Vomars 1_M_PASTOR,{ - set @name$,"Vomars"; - - function SF_wed_end; - function SF_equip_check; - function SF_Groom; - function SF_Bride; - function SF_AcceptGroom; - function SF_AcceptBride; - function SF_RetrieveRingM; - function SF_RetrieveRingF; - function SF_RingsAccepted; - function SF_StartCeremony; - - if (getpartnerid() > 0) { - mes "["+@name$+"]"; - mes "You have my blessings, have a wonderful married life."; - close; - } - if ($wed_progress == 0) { // Official iRO dialog - mes "["+@name$+"]"; - mes "You must apply for"; - mes "marriage with Happy Marry"; - mes "before you can get married."; - mes "Happy Marry will let you know"; - mes "what else you'll need to do"; - mes "to prepare for marriage"; - close; - } // End official iRO dialog - - if (strcharinfo(PC_NAME) == $wed_groom$) { - SF_Groom(); - end; - } - if (strcharinfo(PC_NAME) == $wed_bride$) { - SF_Bride(); - end; - } - mes "["+@name$+"]"; - if ($wed_groom_progress == 0 || $wed_bride_progress == 0) { - mes "There is a wedding being planned. I would appreciate it if you would not interrupt me."; - close; - } - if ($wed_groom_progress == 6) { - mes "I am wedding "+$wed_groom$+" and "+$wed_bride$+", and it's already too late to object. Please let me continue."; - close; - } - mes "I am going to wed "+$wed_groom$+" and "+$wed_bride$+", do you have an objection to it?"; - if (select("Sorry, please go on.","Yes, I actually do.") == 2) { - //Abort - npctalk "Ladies and gentlemen, "+strcharinfo(PC_NAME)+" has an objection to the wedding!"; - SF_wed_end(); - mes "Why should they not be wed?"; - input $@msg$; - npctalk strcharinfo(PC_NAME)+"'s objection is: "+$@msg$; - emotion e_sob; - mes "I see..."; - } else - mes "Very well, go sit and enjoy the ceremony."; - close; - -function SF_Groom { - if ($wed_bride_progress == 0) { - mes "["+@name$+"]"; - mes "Looks like your bride has yet to arrive and register."; - close; - } - if (SF_equip_check() == 0) - close; - - switch($wed_groom_progress) { - case 1: - SF_AcceptBride(); - break; - case 2: - mes "["+@name$+"]"; - mes "I am waiting for your partner to accept you to start the ceremony."; - close; - case 3: - SF_RetrieveRingM(); - break; - case 4: - 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; - case 5: - mes "["+@name$+"]"; - SF_StartCeremony(); - break; - default: - mes "["+@name$+"]"; - mes "Please don't interrupt me now."; - close; - } -} - -function SF_Bride { - if ($wed_groom_progress == 0) { - mes "["+@name$+"]"; - mes "Looks like your groom has yet to arrive and register."; - close; - } - - if (SF_equip_check() == 0) - close; - - switch ($wed_bride_progress) { - case 1: - SF_AcceptGroom(); - break; - case 2: - mes "["+@name$+"]"; - mes "I am waiting for your partner to accept you to start the ceremony."; - close; - case 3: - SF_RetrieveRingF(); - break; - case 4: - 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; - case 5: - mes "["+@name$+"]"; - SF_StartCeremony(); - break; - default: - mes "["+@name$+"]"; - mes "Please don't interrupt me now."; - close; - } -} - -function SF_AcceptGroom { - mes "["+@name$+"]"; - mes $wed_bride$+", "+$wed_groom$+" has requested to be your husband for the rest of your life. Do you accept?"; - next; - switch(select("I need time to think about it.","No, I don't!","Yes, I do!")) { - case 1: - mes "["+@name$+"]"; - mes "You what!?"; - mes "err.. *cough* *cough* very well... come back after you've made up your mind."; - emotion e_ag; - close; - case 2: - 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$+"!"; - SF_wed_end(); - break; - case 3: - set $wed_bride_progress,2; - if ($wed_groom_progress == 2) { - SF_RingsAccepted(); - break; - } - 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; - } -} - -function SF_AcceptBride { - mes "["+@name$+"]"; - mes $wed_groom$+", "+$wed_bride$+" has requested to be your wife for the rest of your life. Do you accept?"; - next; - switch(select("I need time to think about it.","No, I don't!","Yes, I do!")) { - case 1: - mes "["+@name$+"]"; - mes "You what!?"; - mes "err.. *cough* *cough* very well... come back after you've made up your mind."; - emotion e_ag; - close; - case 2: - 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$+"!"; - SF_wed_end(); - break; - case 3: - set $wed_groom_progress,2; - if ($wed_bride_progress == 2) { - SF_RingsAccepted(); - break; - } - 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; - } -} - -function SF_RingsAccepted { - 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?"; -} - -function SF_RetrieveRingM { - mes "["+@name$+"]"; - if ($@wed_ring && countitem($@wed_ring) < 1) { - mes "What happened to your "+getitemname($@wed_ring)+"? You didn't lose it... did you? We need it to continue with the ceremony!"; - close; - } - if ($wed_bride_sex == SEX_MALE) - @item = 2634; //Groom's wedding ring - else - @item = 2635; //Bride's wedding ring - if (getnameditem(@item,$wed_groom$) == 0) { - 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; - } - 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) - SF_StartCeremony(); - else { - mes "Once your bride retrieves the ring, the ceremony will begin."; - close; - } -} - -function SF_RetrieveRingF { - mes "["+@name$+"]"; - if ($@wed_ring && countitem($@wed_ring) < 1) { - mes "What happened to your "+getitemname($@wed_ring)+"? You didn't lose it... did you? We need it to continue with the ceremony!"; - close; - } - if ($wed_groom_sex == SEX_MALE) - @item = 2634; //Groom's wedding ring - else - @item = 2635; //Bride's wedding ring - - if (getnameditem(@item,$wed_bride$) == 0) { - 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; - } - 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) - SF_StartCeremony(); - else { - mes "Once your groom retrieves the ring, the ceremony will begin."; - close; - } -} - -function SF_StartCeremony { - 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(PC_NAME) == $wed_groom$) - set $@msg$,$wed_bride$; - if (marriage($@msg$) == 0) { - next; - mes "["+@name$+"]"; - mes "Where is "+$@msg$+"?? I can't marry you both if one is missing..."; - close; - } - set $wed_bride_progress,6; - set $wed_groom_progress,6; - initnpctimer; - 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."; - if ($wedding_effect_id && isloggedin($wedding_effect_id)) - { - attachrid($wedding_effect_id); - wedding; - detachrid; - } else - wedding; - SF_wed_end(); - stopnpctimer; - end; - -//Subfunction: Checks that the groom/bride is still wearing their stuff. -function SF_equip_check { - if (Sex == SEX_MALE && getequipid(2) != 7170) { - mes "["+@name$+"]"; - mes "Child, what did you do with your "+getitemname(7170)+"?"; - emotion e_dots; - return 0; - } - if (Sex == SEX_FEMALE && getequipid(2) != 2338) { - mes "["+@name$+"]"; - mes "Child, you are supposed to wear a "+getitemname(2338)+" at all times during the ceremony..."; - emotion e_dots; - return 0; - } - if (Sex == SEX_FEMALE && $@wed_veil && getequipid(1) != 2206) { - mes "["+@name$+"]"; - mes "Child, you can't take off your "+getitemname(2206)+" yet...."; - emotion e_dots; - return 0; - } - return 1; -} - -//Subfunction: Resets wedding variables. -function SF_wed_end { - set $wed_groom$,""; - $wed_groom_sex = -1; - set $wed_bride$,""; - $wed_bride_sex = -1; - set $wed_groom_progress,0; - set $wed_bride_progress,0; - set $wed_progress,0; - set $wedding_effect_id,0; -} - -OnInit: - if ($wed_groom_progress==6) { - SF_wed_end(); - } - end; -} - -//Registration & Status -prt_church,106,99,3 script Happy Marry 1_F_02,{ - set @name$,"Marry"; - if (getpartnerid() > 0) { - mes "["+@name$+"]"; - mes "Isn't marriage beautiful?"; - close; - } - - function SF_WedProgress; - function SF_Principles; - function SF_Procedure; - function SF_Register; - function SF_TryRegister; - - if ($wed_progress) { - SF_WedProgress(); - end; - } - - do { - mes "["+@name$+"]"; - mes "Marriage... is such a beautiful thing."; - mes "Would you like to get married with someone?"; - next; - set @menu, select( - "I'll be single forever!", - "Explain the principles of marriage.", - "Explain the marriage procedure.", - "I want to get married with someone." - ); - switch (@menu) { - case 1: //Quit - mes "["+@name$+"]"; - mes "In that case, enjoy your bachelor's life."; - close; - case 2: //Principles - SF_Principles(); - break; - case 3: //Procedure - SF_Procedure(); - break; - case 4: //Register - SF_Register(); - break; - } - } while (@menu > 1); - end; - -function SF_Register { - if ($@wed_allow) { //Role select - mes "["+@name$+"]"; - mes "Very well, whom would you like to register as?"; - next; - set @submenu, select("Groom","Bride","Cancel"); - } else if (Sex == SEX_MALE) { //Groom - mes "["+@name$+"]"; - mes "Very well, will you register as the Groom?"; - next; - if (select("Yes","I've changed my mind.")==1) - set @submenu, 1; - else - set @submenu, 3; - } else { //Bride - mes "["+@name$+"]"; - mes "Very well, will you register as the Bride?"; - next; - if (select("Yes","I've changed my mind.")==1) - set @submenu, 2; - else - set @submenu, 3; - } - switch (@submenu) { - case 1: //Groom - SF_TryRegister(0); - set $wed_progress,1; - 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; - case 2: //Bride - SF_TryRegister(1); - set $wed_progress,1; - 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; - default: //Cancel - mes "["+@name$+"]"; - mes "Come back when you are ready."; - close; - } -} - -function SF_WedProgress { - if (strcharinfo(PC_NAME) == $wed_groom$) { - mes "["+@name$+"]"; - if ($wed_bride_progress > 0) - mes "The Priest will handle the rest of the ceremony."; - else - mes "Tell your bride to register, what is taking so long? Time is running out."; - close; - } - if (strcharinfo(PC_NAME) == $wed_bride$) { - mes "["+@name$+"]"; - if ($wed_groom_progress > 0) - mes "The Priest will handle the rest of the ceremony."; - else - mes "Tell your groom to register, what is taking so long? Time is running out."; - close; - } - if ($wed_groom_progress == 0 && (Sex == SEX_MALE || $@wed_allow == 1)) { - mes "["+@name$+"]"; - mes $wed_bride$+" is waiting for the groom to register. Are you the one who came to register as groom?"; - next; - if (select("Yes, I am.","Sorry, you got the wrong person.") == 1) { - SF_TryRegister(0); - stopnpctimer; - set $wed_groom_progress,1; - 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; - } else { - mes "["+@name$+"]"; - mes "I see. Sorry to have bothered you then."; - close; - } - - } - if ($wed_bride_progress == 0 && (Sex == SEX_FEMALE || $@wed_allow == 1)) { - mes "["+@name$+"]"; - mes $wed_groom$+" is waiting for the bride to register. Are you the one who came to register as the bride?"; - next; - if(select("Yes, I am.","Sorry, you got the wrong person.") == 1) { - SF_TryRegister(1); - stopnpctimer; - 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; - } else { - mes "["+@name$+"]"; - mes "I see. Sorry to have bothered you then."; - close; - } - } - mes "["+@name$+"]"; - mes "There is a wedding in progress."; - mes "Would you like to know the progress of said wedding?"; - next; - if (select("Yes","No") != 1) { - mes "["+@name$+"]"; - mes "Enjoy the wedding."; - close; - } - //Display Progress - mes "["+@name$+"]"; - switch ($wed_groom_progress) { - case 0: - mes "The groom has not registered yet."; - break; - case 1: - mes "The groom, "+$wed_groom$+", has yet to accept the bride."; - break; - case 2: - mes "The groom, "+$wed_groom$+", is waiting for the bride's acceptance."; - break; - case 3: - mes "The groom, "+$wed_groom$+", has yet to retrieve the ring."; - break; - case 4: - mes "The groom, "+$wed_groom$+", is waiting for the bride to retrieve the ring."; - break; - } - switch ($wed_bride_progress) { - case 0: - mes "The bride has not registered yet."; - break; - case 1: - mes "The bride, "+$wed_bride$+", has yet to confirm the groom."; - break; - case 2: - mes "The bride, "+$wed_bride$+", is waiting for the groom's acceptance."; - break; - case 3: - mes "The bride, "+$wed_bride$+", has yet to retrieve the ring."; - break; - case 4: - mes "The bride, "+$wed_bride$+", is waiting for the groom to retrieve the ring."; - break; - case 5: - mes "We are just waiting for both "+$wed_groom$+" and "+$wed_bride$+" to be together to marry them."; - break; - case 6: - mes $wed_groom$+" and "+$wed_bride$+"'s wedding ceremony is already well on it's way."; - break; - } - mes "Enjoy the remaining of the wedding."; - close; -} - -OnInit: - if ($wed_groom_progress + $wed_bride_progress == 1) - initnpctimer; - end; - -OnTimer60000: - //Registration failed. - if ($wed_bride_progress == 1) - set $@msg$, $wed_bride$; - else - set $@msg$, $wed_groom$; - - npctalk "Registration timed out. Is it that noone wants to marry "+$@msg$+"..?"; - emotion e_hmm; - - set $wed_groom$,""; - $wed_groom_sex = -1; - set $wed_bride$,""; - $wed_bride_sex = -1; - set $wed_groom_progress,0; - set $wed_bride_progress,0; - set $wed_progress,0; - stopnpctimer; - end; - -//Subfunction SF_TryRegister (int bride) -function SF_TryRegister { - 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 (Upper == 2) { - mes "["+@name$+"]"; - mes "Oh dear, you are too young to be thinking of marriage!"; - emotion e_gasp; - close; - } - if (Sex == SEX_MALE) - set @item, 7170; - else - set @item, 2338; - - if (getequipid(2) != @item) { - mes "["+@name$+"]"; - mes "You should be wearing a "+getitemname(@item)+" if you want to get married."; - close; - } - if (Sex == SEX_FEMALE && $@wed_veil && getequipid(1) != 2206) { - mes "["+@name$+"]"; - mes "Where is your "+getitemname(2206)+"? It's a necessary complement to your dress."; - close; - } - if ($@wed_ring && countitem($@wed_ring) < 1) { - mes "["+@name$+"]"; - mes "Where's the ring? You need a "+getitemname($@wed_ring)+" for the ring exchange, dear."; - close; - } - if (@bride) - set @cost, $@wed_bride_reg; - else - set @cost, $@wed_groom_reg; - - if (Zeny < @cost) { - 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; - } - Zeny -= @cost; - sc_start SC_WEDDING,3600000,1; //Start Wedding Effect (SC_WEDDING) - if (@bride) { - set $wed_bride_progress,1; - set $wed_bride$,strcharinfo(PC_NAME); - $wed_bride_sex = Sex; - if ($@wedding_effect == 1) //Store account id for effect. - set $wedding_effect_id, getcharid(CHAR_ID_ACCOUNT); - } else { - set $wed_groom_progress,1; - set $wed_groom$,strcharinfo(PC_NAME); - $wed_groom_sex = Sex; - if ($@wedding_effect == 2) //Store account id for effect. - set $wedding_effect_id, getcharid(CHAR_ID_ACCOUNT); - } -} - -//Explain wedding principles... -function SF_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) - 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."; - else - mes "Males may only wed with females, and females only with males, the church will not consent any other kind of partnerships."; - 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; -} - -//Explain the wedding procedure... -function SF_Procedure { - mes "["+@name$+"]"; - mes "First of all, both groom and bride must register with me."; - next; - if ($@wed_allow == 1) { - 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."; - } else { - 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."; - } - 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) { - 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."; - } - 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; -} -} - -prt_church,94,99,4 script Sister Lisa 1_F_PRIEST,{ - set @name$,"Lisa"; - - function SF_DivorceEnd; - function SF_InProgress; - - if ($@divorce_progress==1) { - goto SF_InProgress; - end; - } - - do { - mes "["+@name$+"]"; - mes "Divorcing can be such a sad event..."; - if (getpartnerid() == 0) { - mes "People shouldn't make shallow vows to others, don't you think?"; - close; - } - mes "You wouldn't want to divorce, by any chance?"; - next; - set @menu, select( - "I am happy as I am, thank you.", - "Explain the divorce.", - "Explain Requirements.", - "I want to divorce." - ); - switch (@menu) { - case 1: - mes "["+@name$+"]"; - mes "Good to hear."; - close; - case 2: //Explanation - 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; - break; - case 3: //Requirement - 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; - break; - case 4: //Divorce - mes "["+@name$+"]"; - mes "You should not regret the choices you've made in life."; - mes "Are you positively sure about getting divorced?"; - next; - if (select("Wait... I need to think about it.","Absolutely") != 2) { - mes "["+@name$+"]"; - mes "You should think this through."; - close; - } - mes "["+@name$+"]"; - set $@divorcee,getpartnerid(); - set $@divorcer$,strcharinfo(PC_NAME); - 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; - } - } while (@menu > 1); -end; - -function SF_InProgress { - if (strcharinfo(PC_NAME) == $@divorcer$) { - mes "["+@name$+"]"; - mes "...I am still waiting for your partner to confirm the divorce procedure."; - close; - } - if (getcharid(CHAR_ID_CHAR) != $@divorcee) { - mes "["+@name$+"]"; - mes "I am in the progress of divorcing "+$@divorcer$+"."; - mes "Do you know who the spouse is?"; - close; - } - //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; - if (select("I don't want to divorce....","Yes, we have agreed to this.")!=2) { - mes "["+@name$+"]"; - mes "I hope you can work things out."; - emotion e_pat; - goto SF_DivorceEnd; - close; - } - if (Zeny < $@wed_divorce_fee) { - 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; - } - if (!(divorce())) { - mes "["+@name$+"]"; - mes "Where has "+$@divorcer$+" gone to? I can't divorce you unless you both are here..."; - emotion e_swt2; - close; - } - Zeny -= $@wed_divorce_fee; - announce $@divorcer$+" has just divorced "+strcharinfo(PC_NAME)+"...", 8; - mes "["+@name$+"]"; - mes "Your divorce has been filed. You are no longer wed."; - emotion e_sob; - goto SF_DivorceEnd; - close; -} - -function SF_DivorceEnd { - stopnpctimer; - set $@divorce_progress,0; - set $@divorcee,0; - set $@divorcer$,""; -} - -OnTimer60000: - npctalk "Divorce confirmation time's is up. Where did "+$@divorcer$+"'s spouse go..."; - emotion e_what; - SF_DivorceEnd(); - end; -} diff --git a/npc/custom/etc/monster_arena.txt b/npc/custom/etc/monster_arena.txt deleted file mode 100644 index 8420cd544..000000000 --- a/npc/custom/etc/monster_arena.txt +++ /dev/null @@ -1,892 +0,0 @@ -//===== Hercules Script ====================================== -//= Monster vs Monster -//===== By: ================================================== -//= acky -//===== Current Version: ===================================== -//= 1.2 -//===== 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] -//= 1.1.3 Removed Duplicate Names [Silent] -//= 1.1.4 Fixed SummonPad syntax. [KarLaeda] -//= 1.1.5 Some cleanup & optimization [KarLaeda] -//= 1.2 Replaced effect numerics with constants. [Samuray22] -//============================================================ - -// Entrance // -prontera,158,193,6 script Monster Arena 4_F_GON,{ - mes "[Monster Arena]"; - mes "Would you like to enter the Monster Arena?"; - mes "Currently ^FF0000" + getmapusers("gon_test") + "^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",56,99; - set @battle,0; - warp "gon_test",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. ---Change to Add Monsters--- // - if (#monster == 10) summon strcharinfo(PC_NAME) + "'s Poring",1002, "OnPoringKilled"; - if (#monster == 20) summon strcharinfo(PC_NAME) + "'s Fabre",1007, "OnFaberKilled"; - if (#monster == 30) summon strcharinfo(PC_NAME) + "'s Lunatic",1063, "OnLunaticKilled"; - if (#monster == 31) summon strcharinfo(PC_NAME) + "'s Drops",1113, "OnDropsKilled"; - if (#monster == 32) summon strcharinfo(PC_NAME) + "'s Picky",1049, "OnPickyKilled"; - if (#monster == 40) summon strcharinfo(PC_NAME) + "'s ChonChon",1011, "OnChonChonKilled"; - if (#monster == 41) summon strcharinfo(PC_NAME) + "'s Super Picky",1050, "OnSPickyKilled"; - if (#monster == 42) summon strcharinfo(PC_NAME) + "'s Willow",1010, "OnWillowKilled"; - if (#monster == 50) summon strcharinfo(PC_NAME) + "'s Roda Frog",1012, "OnRodaKilled"; - if (#monster == 51) summon strcharinfo(PC_NAME) + "'s Condor",1009, "OnCondorKilled"; - if (#monster == 60) summon strcharinfo(PC_NAME) + "'s Thief Bug Larva",1051, "OnThiefKilled"; - if (#monster == 70) summon strcharinfo(PC_NAME) + "'s Savage Babe",1167, "OnSavageKilled"; - if (#monster == 80) summon strcharinfo(PC_NAME) + "'s Familiar",1005, "OnFamiliarKilled"; - if (#monster == 81) summon strcharinfo(PC_NAME) + "'s Hornet",1004, "OnHornetKilled"; - if (#monster == 90) summon strcharinfo(PC_NAME) + "'s Desert Wolf Puppy",1107, "OnPuppyKilled"; - if (#monster == 91) summon strcharinfo(PC_NAME) + "'s Spore",1014, "OnSporeKilled"; - if (#monster == 92) summon strcharinfo(PC_NAME) + "'s Rocker",1052, "OnRockerKilled"; - if (#monster == 100) summon strcharinfo(PC_NAME) + "'s Skeleton",1076, "OnSkeletonKilled"; - if (#monster == 101) summon strcharinfo(PC_NAME) + "'s Plankton",1161, "OnPlanktonKilled"; - if (#monster == 102) summon strcharinfo(PC_NAME) + "'s Antonio",1247, "OnAntonioKilled"; - if (#monster == 103) summon strcharinfo(PC_NAME) + "'s Thief Bug Female",1053, "OnThiefFemaleKilled"; - close; -} - -// Referee // -- script monsterreferee 1_M_PUBMASTER,{ - 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(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled"; - summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled"; - summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled"; - summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled"; - summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled"; - summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled"; - summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled"; - summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled"; - summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled"; - summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled"; - summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled"; - summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled"; - summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled"; - summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled"; - summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled"; - summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled"; - summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled"; - summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled"; - summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled"; - summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled"; - summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled"; - summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled"; - summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled"; - summon strcharinfo(PC_NAME) + "'s Assault Team",1002, "OnPoringKilled"; - close; - -Special2: - summon strcharinfo(PC_NAME) + "'s Mastering",1090, "OnSpecialKilled"; - close; - -Special3: - summon strcharinfo(PC_NAME) + "'s Eclipse",1093, "OnSpecialKilled"; - close; - -Special4: - summon strcharinfo(PC_NAME) + "'s Dragon Fly",1091, "OnSpecialKilled"; - close; - -Special5: - summon strcharinfo(PC_NAME) + "'s Toad",1089, "OnSpecialKilled"; - close; - -L_Exit: - mes "[Referee]"; - mes "Alright"; - close; -} -gon_test,56,91,6 duplicate(monsterreferee) Referee#01 1_M_PUBMASTER - -// Usher // -gon_test,58,94,6 script Usher 4_M_04,{ - 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: - close2; - savepoint "gon_test",56,99; - set @battle,1; - atcommand strcharinfo(PC_NAME) + "@option 64 0 64"; - warp "gon_test",72,87; - end; - -L_4to6: - close2; - savepoint "gon_test",56,99; - set @battle,1; - atcommand strcharinfo(PC_NAME) + "@option 64 0 64"; - warp "gon_test",57,86; - end; - -L_1to3: - close2; - savepoint "gon_test",56,99; - set @battle,1; - atcommand strcharinfo(PC_NAME) + "@option 64 0 64"; - warp "gon_test",43,87; - end; - -L_Exit: - close2; - savepoint "prontera",149,186; - set @battle,0; - atcommand strcharinfo(PC_NAME) + "@option 0 0 0"; - warp "prontera",149,186; - end; - -L_Spec: - close2; - savepoint "gon_test",56,99; - set @battle,0; - atcommand strcharinfo(PC_NAME) + "@option 0 0 0"; - warp "gon_test",57,99; - end; - -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,52,103,6 script Monster Trainer 4_M_BARBER,{ - 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; - 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(PC_NAME) + "."; - 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 - 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,56,91,6 script OnPoringKilled FAKE_NPC,{ - if (@marena == 0) callfunc "illegalkill"; - set #monpoints,#monpoints+1; - announce "You killed a Poring - Gained 1 exp",19; - callfunc "duelkill"; -} - -gon_test,56,91,6 script OnFaberKilled FAKE_NPC,{ - if (@marena == 0) callfunc "illegalkill"; - set #monpoints,#monpoints+2; - announce "You killed a Faber - Gained 2 exp",19; - callfunc "duelkill"; -} - -gon_test,56,91,6 script OnLunaticKilled FAKE_NPC,{ - if (@marena == 0) callfunc "illegalkill"; - set #monpoints,#monpoints+4; - announce "You killed a Lunatic - Gained 4 exp",19; - callfunc "duelkill"; -} - -gon_test,56,91,6 script OnDropsKilled FAKE_NPC,{ - if (@marena == 0) callfunc "illegalkill"; - set #monpoints,#monpoints+4; - announce "You killed a Drops - Gained 4 exp",19; - callfunc "duelkill"; -} - -gon_test,56,91,6 script OnPickyKilled FAKE_NPC,{ - if (@marena == 0) callfunc "illegalkill"; - set #monpoints,#monpoints+4; - announce "You killed a Picky - Gained 4 exp",19; - callfunc "duelkill"; -} - -gon_test,56,91,6 script OnChonChonKilled FAKE_NPC,{ - if (@marena == 0) callfunc "illegalkill"; - set #monpoints,#monpoints+8; - announce "You killed a ChonChon - Gained 8 exp",19; - callfunc "duelkill"; -} - -gon_test,56,91,6 script OnSPickyKilled FAKE_NPC,{ - if (@marena == 0) callfunc "illegalkill"; - set #monpoints,#monpoints+8; - announce "You killed a Super Picky - Gained 8 exp",19; - callfunc "duelkill"; -} - -gon_test,56,91,6 script OnWillowKilled FAKE_NPC,{ - if (@marena == 0) callfunc "illegalkill"; - set #monpoints,#monpoints+8; - announce "You killed a Willow - Gained 8 exp",19; - callfunc "duelkill"; -} - -gon_test,56,91,6 script OnRodaKilled FAKE_NPC,{ - if (@marena == 0) callfunc "illegalkill"; - set #monpoints,#monpoints+16; - announce "You killed a Roda Frog - Gained 16 exp",19; - callfunc "duelkill"; -} - -gon_test,56,91,6 script OnCondorKilled FAKE_NPC,{ - if (@marena == 0) callfunc "illegalkill"; - set #monpoints,#monpoints+16; - announce "You killed a Condor - Gained 16 exp",19; - callfunc "duelkill"; -} - -gon_test,56,91,6 script OnThiefKilled FAKE_NPC,{ - if (@marena == 0) callfunc "illegalkill"; - set #monpoints,#monpoints+32; - announce "You killed a Theif Bug Larva - Gained 32 exp",19; - callfunc "duelkill"; -} - -gon_test,56,91,6 script OnSavageKilled FAKE_NPC,{ - if (@marena == 0) callfunc "illegalkill"; - set #monpoints,#monpoints+64; - announce "You killed a Savage Babe - Gained 64 exp",19; - callfunc "duelkill"; -} - -gon_test,56,91,6 script OnFamiliarKilled FAKE_NPC,{ - if (@marena == 0) callfunc "illegalkill"; - set #monpoints,#monpoints+128; - announce "You killed a Familiar - Gained 128 exp",19; - callfunc "duelkill"; -} - -gon_test,56,91,6 script OnHornetKilled FAKE_NPC,{ - if (@marena == 0) callfunc "illegalkill"; - set #monpoints,#monpoints+128; - announce "You killed a Hornet - Gained 128 exp",19; - callfunc "duelkill"; -} - -gon_test,56,91,6 script OnPuppyKilled FAKE_NPC,{ - if (@marena == 0) callfunc "illegalkill"; - set #monpoints,#monpoints+256; - announce "You killed a Desert Wolf Puppy - Gained 256 exp",19; - callfunc "duelkill"; -} - -gon_test,56,91,6 script OnRockerKilled FAKE_NPC,{ - if (@marena == 0) callfunc "illegalkill"; - set #monpoints,#monpoints+256; - announce "You killed a Rocker - Gained 256 exp",19; - callfunc "duelkill"; -} - -gon_test,56,91,6 script OnSporeKilled FAKE_NPC,{ - if (@marena == 0) callfunc "illegalkill"; - set #monpoints,#monpoints+256; - announce "You killed a Spore - Gained 256 exp",19; - callfunc "duelkill"; -} - -gon_test,56,91,6 script OnSkeletonKilled FAKE_NPC,{ - if (@marena == 0) callfunc "illegalkill"; - set #monpoints,#monpoints+512; - announce "You killed a Skeleton - Gained 512 exp",19; - callfunc "duelkill"; -} - -gon_test,56,91,6 script OnPlanktonKilled FAKE_NPC,{ - if (@marena == 0) callfunc "illegalkill"; - set #monpoints,#monpoints+512; - announce "You killed a Plankton - Gained 512 exp",19; - callfunc "duelkill"; -} - -gon_test,56,91,6 script OnAntonioKilled FAKE_NPC,{ - if (@marena == 0) callfunc "illegalkill"; - set #monpoints,#monpoints+512; - announce "You killed an Antonio - Gained 512 exp",19; - callfunc "duelkill"; -} - -gon_test,56,91,6 script OnThiefFemaleKilled FAKE_NPC,{ - if (@marena == 0) callfunc "illegalkill"; - set #monpoints,#monpoints+512; - announce "You killed a Thief Bug Female - Gained 512 exp",19; - callfunc "duelkill"; -} - -gon_test,56,91,6 script OnSpecialKilled FAKE_NPC,{ - if (@marena == 0) callfunc "illegalkill"; - set #monpoints,#monpoints+512; - announce "You killed a Special Monster - Gained 1024 exp",19; - callfunc "duelkill"; -} - -function script duelkill { - if (strcharinfo(PC_NAME) == $@duelist1$ || strcharinfo(PC_NAME) == $@duelist2$) goto L_Heal; - end; -L_Heal: - announce strcharinfo(PC_NAME) + " won the Duel",1; - set @fighting,0; - set #heal,0; - set @healing,0; - end; -} - -function script illegalkill { - announce "Illegal Kill by " + strcharinfo(PC_NAME) + " Detected",1; - Sp = 0; - unitkill getcharid(CHAR_ID_ACCOUNT); - end; -} - -// Healer // -gon_test,55,103,6 script Nurse 4_F_01,{ - 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; - specialeffect(EF_VALLENTINE2, AREA, playerattached()); - 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 // -gon_test,57,86,5 script Summon Pad 1::SummonPad HIDDEN_NPC,2,2,{ - end; -OnTouch: - set @marena,1; - warp "gon_test",57,99; -} -gon_test,43,87,5 duplicate(SummonPad) Summon Pad 2 HIDDEN_NPC,2,2 -gon_test,72,87,5 duplicate(SummonPad) Summon Pad 3 HIDDEN_NPC,2,2 - -// Skill Disabler // -gon_test mapflag noskill - -// Duel Arena // -gon_test,58,103,5 script Duel Master#01 4_F_03,{ - 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(PC_NAME); - set @battle,1; - announce strcharinfo(PC_NAME) + " [Monster Level: " + $@monster1 + "] is waiting for a duel",1; - atcommand strcharinfo(PC_NAME) + "@option 64 0 64"; - warp "gon_test",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(PC_NAME); - set @battle,1; - announce strcharinfo(PC_NAME) + " [Monster Level: " + $@monster2 + "] has joined the duel",1; - atcommand strcharinfo(PC_NAME) + "@option 64 0 64"; - warp "gon_test",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(PC_NAME) + "@option 64 0 64"; - warp "gon_test",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,42,8,5 script Duel Master#02 4_F_03,{ - mes "[Duel Master]"; - mes "Would you like to return?"; - menu "Yes",L_Leave,"No",-; - mes "Alright"; - close; - -L_Leave: - if ($@duelist1$ == strcharinfo(PC_NAME)) goto L_Leave1; - if ($@duelist2$ == strcharinfo(PC_NAME)) goto L_Leave2; - -L_Leave3: - atcommand strcharinfo(PC_NAME) + "@option 0 0 0"; - set @battle,0; - warp "gon_test",57,99; - close; - -L_Leave1: - set $@duelist1$,$@duelist2$; - set $@monster1,$@monster2; - set $@duel,$@duel-1; - announce strcharinfo(PC_NAME) + " stopped dueling",1; - goto L_Leave3; - -L_Leave2: - set $@duelist2$,""; - set $@monster2,0; - set $@duel,$@duel-1; - announce strcharinfo(PC_NAME) + " stopped dueling",1; - goto L_Leave3; -} - -gon_test,49,5,5 duplicate(SummonPad) Summon Pad 4 HIDDEN_NPC,2,2 -gon_test,55,8,6 duplicate(monsterreferee) Referee#02 1_M_PUBMASTER diff --git a/npc/custom/etc/morroc_raceway.txt b/npc/custom/etc/morroc_raceway.txt deleted file mode 100644 index 745b1d779..000000000 --- a/npc/custom/etc/morroc_raceway.txt +++ /dev/null @@ -1,238 +0,0 @@ -//===== Hercules Script ====================================== -//= Morroc Raceway -//===== By: ================================================== -//= acky -//===== Current Version: ===================================== -//= 1.3 -//===== Description: ========================================= -//= Lets players race around Morroc (pvp_y_1-5) -//===== 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 -//= 1.2 Removed Duplicates [Silent] -//= 1.3 Replaced effect numerics with constants. [Samuray22] -//============================================================ - -//Warps you into race way -morocc,166,105,6 script Race Girl#01 4_F_KAFRA2,{ - mes "[Race Girl]"; - mes "Would you like to visit ^0000FFMorroc Raceway^000000?"; - next; - if (select("Yes", "No") != 1) { - mes "[Race Girl]"; - mes "Alright, talk to me again when you want to go."; - close; - } - warp "pvp_y_1-5",165,256; - close; -} - -//Warps you out of raceway -pvp_y_1-5,169,265,5 script Race Girl#02 4_F_KAFRA2,{ - mes "[Race Girl]"; - mes "Welcome to Morroc Raceway!"; - next; - switch (select("Information", "Leave", "Cancel")) { - case 1: - 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; - case 2: - warp "morocc",165,101; - end; - case 3: - mes "[Race Girl]"; - mes "Come again soon!"; - close; - } -} - -//Counts down and starts race -pvp_y_1-5,145,269,5 script Starter 4_M_JOB_KNIGHT1,{ - 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."; - if (select("Start Race", "Cancel") != 1) - close; - set $@counting,1; - mes "Counting down..."; - addtimer 1000, "Starter::OnCount1000"; - addtimer 2000, "Starter::OnCount2000"; - addtimer 3000, "Starter::OnCount3000"; - addtimer 4000, "Starter::OnCount4000"; - announce strcharinfo(PC_NAME) + "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 EF_CHIMTO; - 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") < 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,144,262,5 script Check Point 1 HIDDEN_NPC,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,73,247,5 script Check Point 2 HIDDEN_NPC,6,6,{ - end; -OnTouch: - if (@race != 1) goto L_Miss; - set @race,2; - announce "[" + strcharinfo(PC_NAME) +"] has reached Checkpoint [1]",1; - end; -L_Miss: - mes "You have missed a Checkpoint. Please go back."; - close; -} - -//Checkpoint 3 -pvp_y_1-5,77,44,5 script Check Point 3 HIDDEN_NPC,6,6,{ - end; -OnTouch: - if (@race != 2) goto L_Miss; - set @race,3; - announce "[" + strcharinfo(PC_NAME) +"] has reached Checkpoint [2]",1; - end; -L_Miss: - mes "You have missed a Checkpoint. Please go back."; - close; -} - -//Checkpoint 3 -pvp_y_1-5,249,60,5 script Check Point 4 HIDDEN_NPC,6,6,{ - end; -OnTouch: - if (@race != 3) goto L_Miss; - set @race,4; - announce "[" + strcharinfo(PC_NAME) +"] has reached Checkpoint [3]",1; - end; -L_Miss: - mes "You have missed a Checkpoint. Please go back."; - close; -} - -//Checkpoint 4 -pvp_y_1-5,255,256,5 script Check Point 5 HIDDEN_NPC,6,6,{ - end; -OnTouch: - if (@race != 4) goto L_Miss; - set @race,5; - announce "[" + strcharinfo(PC_NAME) +"] has reached Checkpoint [4]",1; - end; -L_Miss: - mes "You have missed a Checkpoint. Please go back."; - close; -} - -//Finish Line -pvp_y_1-5,174,244,5 script Finish Line HIDDEN_NPC,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(PC_NAME) +"] 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,144,267,4 script Check Point 1#01 GUILD_FLAG,{ - end; -} -pvp_y_1-5,144,257,4 script Check Point 1#02 GUILD_FLAG,{ - end; -} -pvp_y_1-5,70,252,3 script Check Point 2#01 GUILD_FLAG,{ - end; -} -pvp_y_1-5,77,243,3 script Check Point 2#02 GUILD_FLAG,{ - end; -} -pvp_y_1-5,81,48,1 script Check Point 3#01 GUILD_FLAG,{ - end; -} -pvp_y_1-5,72,40,1 script Check Point 3#02 GUILD_FLAG,{ - end; -} -pvp_y_1-5,244,65,7 script Check Point 4#01 GUILD_FLAG,{ - end; -} -pvp_y_1-5,252,57,7 script Check Point 4#02 GUILD_FLAG,{ - end; -} -pvp_y_1-5,259,260,5 script Check Point 5#01 GUILD_FLAG,{ - end; -} -pvp_y_1-5,251,252,5 script Check Point 5#02 GUILD_FLAG,{ - end; -} -pvp_y_1-5,174,249,4 script Finish Line#01 GUILD_FLAG,{ - end; -} -pvp_y_1-5,174,238,4 script Finish Line#02 GUILD_FLAG,{ - end; -} diff --git a/npc/custom/etc/mvp_arena.txt b/npc/custom/etc/mvp_arena.txt deleted file mode 100644 index a86e64aae..000000000 --- a/npc/custom/etc/mvp_arena.txt +++ /dev/null @@ -1,283 +0,0 @@ -//===== Hercules Script ====================================== -//= MVP Arena -//===== By: ================================================== -//= Darkchild -//===== Current Version: ===================================== -//= 1.4 -//===== Description: ========================================= -//= Rooms containing 16 different MVPs -//===== Additional Comments: ================================= -//= 1.0 - First version of script -//= 1.1 - Optimised The MVP arena [massdriller] -//= 1.2 - NPC in prontera [Silent] -//= 1.3 - Removed Duplicates -//= 1.4 - Optimized, text edited [Euphy] -//============================================================ - -// Entrance -prontera,154,197,3 script MVP Warper 8_M_JPNMASTER,{ - mes "[ ^0065DFMVP Warper^000000 ]"; - mes "Would you like to enter"; - mes "the MVP Arena?"; - if (select("Yes!","No thanks.") == 2) close; - warp "quiz_00",50,24; - close; -} - -// Information -quiz_00,49,31,4 script MVP Arena Guide 4_M_TWTEAMAN,{ - 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."; - next; - switch(select("Information","Heal me!","Return to Prontera","Cancel")) { - case 1: - mes "[ ^0065DFMVP Arena Guide^000000 ]"; - mes "There are four Keepers, and each can spawn four different MVPs."; - mes "There are eight rooms per Keeper, and sixteen MVPs in total."; - close; - case 2: - specialeffect(EF_HEAL2, AREA, playerattached()); - percentheal 100,100; - close; - case 3: - warp "prontera",156,179; - close; - case 4: - close; - } -} - -// Keepers -function script Keeper { - mes "[ ^0065DF"+strnpcinfo(NPC_NAME_VISIBLE)+"^000000 ]"; - mes "Which arena would you"; - mes "like to enter?"; - set .@menu$,""; - for(set .@i,1; .@i<9; set .@i,.@i+1) - set .@menu$, .@menu$+"Arena "+.@i+" ["+getmapusers("pvp_n_"+.@i+"-"+getarg(0))+"/20]:"; - set .@i, select(.@menu$); - if (getmapusers("pvp_n_"+.@i+"-"+getarg(0))>19) { - mes "[ ^0065DF"+strnpcinfo(NPC_NAME_VISIBLE)+"^000000 ]"; - mes "Sorry, this arena is full!"; - close; - } - warp "pvp_n_"+.@i+"-"+getarg(0),102,102; - close; -} -quiz_00,56,31,4 script Alpha MVP 4_F_TWGIRL,{ callfunc "Keeper",2; } -quiz_00,58,31,4 script Beta MVP 4_F_TWMIDWOMAN,{ callfunc "Keeper",3; } -quiz_00,60,31,4 script Theta MVP 4_M_TWBOY,{ callfunc "Keeper",4; } -quiz_00,62,31,4 script Epsilon MVP 4_M_TWMIDMAN,{ callfunc "Keeper",5; } - -// Protectors -function script Protector { - mes "[ ^0065DFMVP-Protector^000000 ]"; - switch(select( ((getarg(0)=="")?"":"Harder Monsters"), "Heal", "Exit")) { - case 1: - warp getarg(0),102,102; - end; - case 2: - specialeffect(EF_HEAL2, AREA, playerattached()); - percentheal 100,100; - close; - case 3: - warp "prontera",156,179; - end; - } -} -pvp_n_1-2,100,100,4 script MVP-Protector#01 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_2-2"; } -pvp_n_2-2,100,100,4 script MVP-Protector#02 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_3-2"; } -pvp_n_3-2,100,100,4 script MVP-Protector#03 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_4-2"; } -pvp_n_4-2,100,100,4 script MVP-Protector#04 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_5-2"; } -pvp_n_5-2,100,100,4 script MVP-Protector#05 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_6-2"; } -pvp_n_6-2,100,100,4 script MVP-Protector#06 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_7-2"; } -pvp_n_7-2,100,100,4 script MVP-Protector#07 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_8-2"; } -pvp_n_8-2,100,100,4 script MVP-Protector#08 4_F_JOB_HUNTER,{ callfunc "Protector",""; } -pvp_n_1-3,100,100,4 script MVP-Protector#09 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_2-3"; } -pvp_n_2-3,100,100,4 script MVP-Protector#10 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_3-3"; } -pvp_n_3-3,100,100,4 script MVP-Protector#11 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_4-3"; } -pvp_n_4-3,100,100,4 script MVP-Protector#12 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_5-3"; } -pvp_n_5-3,100,100,4 script MVP-Protector#13 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_6-3"; } -pvp_n_6-3,100,100,4 script MVP-Protector#14 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_7-3"; } -pvp_n_7-3,100,100,4 script MVP-Protector#15 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_8-3"; } -pvp_n_8-3,100,100,4 script MVP-Protector#16 4_F_JOB_HUNTER,{ callfunc "Protector",""; } -pvp_n_1-4,100,100,4 script MVP-Protector#17 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_2-4"; } -pvp_n_2-4,100,100,4 script MVP-Protector#18 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_3-4"; } -pvp_n_3-4,100,100,4 script MVP-Protector#19 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_4-4"; } -pvp_n_4-4,100,100,4 script MVP-Protector#20 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_5-4"; } -pvp_n_5-4,100,100,4 script MVP-Protector#21 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_6-4"; } -pvp_n_6-4,100,100,4 script MVP-Protector#22 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_7-4"; } -pvp_n_7-4,100,100,4 script MVP-Protector#23 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_8-4"; } -pvp_n_8-4,100,100,4 script MVP-Protector#24 4_F_JOB_HUNTER,{ callfunc "Protector",""; } -pvp_n_1-5,100,100,4 script MVP-Protector#25 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_2-5"; } -pvp_n_2-5,100,100,4 script MVP-Protector#26 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_3-5"; } -pvp_n_3-5,100,100,4 script MVP-Protector#27 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_4-5"; } -pvp_n_4-5,100,100,4 script MVP-Protector#28 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_5-5"; } -pvp_n_5-5,100,100,4 script MVP-Protector#29 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_6-5"; } -pvp_n_6-5,100,100,4 script MVP-Protector#30 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_7-5"; } -pvp_n_7-5,100,100,4 script MVP-Protector#31 4_F_JOB_HUNTER,{ callfunc "Protector","pvp_n_8-5"; } -pvp_n_8-5,100,100,4 script MVP-Protector#32 4_F_JOB_HUNTER,{ callfunc "Protector",""; } - -// Alpha -pvp_n_1-2,0,0,0,0 monster Eddga 1115,3,60000,66000 -pvp_n_1-2,0,0,0,0 monster Mistress 1059,1,60000,66000 -pvp_n_2-2,0,0,0,0 monster Mistress 1059,3,60000,66000 -pvp_n_2-2,0,0,0,0 monster Moonlight 1150,1,60000,66000 -pvp_n_3-2,0,0,0,0 monster Mistress 1059,1,60000,66000 -pvp_n_3-2,0,0,0,0 monster Moonlight 1150,2,60000,66000 -pvp_n_3-2,0,0,0,0 monster Maya 1147,1,60000,66000 -pvp_n_4-2,0,0,0,0 monster Eddga 1115,1,60000,66000 -pvp_n_4-2,0,0,0,0 monster Mistress 1059,1,60000,66000 -pvp_n_4-2,0,0,0,0 monster Moonlight 1150,1,60000,66000 -pvp_n_4-2,0,0,0,0 monster Maya 1147,1,60000,66000 -pvp_n_5-2,0,0,0,0 monster Eddga 1115,1,60000,66000 -pvp_n_5-2,0,0,0,0 monster Mistress 1059,2,60000,66000 -pvp_n_5-2,0,0,0,0 monster Moonlight 1150,1,60000,66000 -pvp_n_5-2,0,0,0,0 monster Maya 1147,2,60000,66000 -pvp_n_6-2,0,0,0,0 monster Eddga 1115,2,60000,66000 -pvp_n_6-2,0,0,0,0 monster Mistress 1059,3,60000,66000 -pvp_n_6-2,0,0,0,0 monster Moonlight 1150,1,60000,66000 -pvp_n_6-2,0,0,0,0 monster Maya 1147,2,60000,66000 -pvp_n_7-2,0,0,0,0 monster Eddga 1115,3,60000,66000 -pvp_n_7-2,0,0,0,0 monster Mistress 1059,3,60000,66000 -pvp_n_7-2,0,0,0,0 monster Moonlight 1150,2,60000,66000 -pvp_n_7-2,0,0,0,0 monster Maya 1147,2,60000,66000 -pvp_n_8-2,0,0,0,0 monster Eddga 1115,3,60000,66000 -pvp_n_8-2,0,0,0,0 monster Mistress 1059,3,60000,66000 -pvp_n_8-2,0,0,0,0 monster Moonlight 1150,3,60000,66000 -pvp_n_8-2,0,0,0,0 monster Maya 1147,3,60000,66000 - -// Beta -pvp_n_1-3,0,0,0,0 monster Phreeoni 1159,3,60000,66000 -pvp_n_1-3,0,0,0,0 monster Turtle General 1312,1,60000,66000 -pvp_n_2-3,0,0,0,0 monster Phreeoni 1159,2,60000,66000 -pvp_n_2-3,0,0,0,0 monster Turtle General 1312,1,60000,66000 -pvp_n_2-3,0,0,0,0 monster Orc Hero 1087,1,60000,66000 -pvp_n_3-3,0,0,0,0 monster Phreeoni 1159,1,60000,66000 -pvp_n_3-3,0,0,0,0 monster Turtle General 1312,1,60000,66000 -pvp_n_3-3,0,0,0,0 monster Orc Hero 1087,1,60000,66000 -pvp_n_3-3,0,0,0,0 monster Orc Lord 1190,1,60000,66000 -pvp_n_4-3,0,0,0,0 monster Phreeoni 1159,2,60000,66000 -pvp_n_4-3,0,0,0,0 monster Turtle General 1312,1,60000,66000 -pvp_n_4-3,0,0,0,0 monster Orc Hero 1087,1,60000,66000 -pvp_n_4-3,0,0,0,0 monster Orc Lord 1190,1,60000,66000 -pvp_n_5-3,0,0,0,0 monster Phreeoni 1159,1,60000,66000 -pvp_n_5-3,0,0,0,0 monster Turtle General 1312,2,60000,66000 -pvp_n_5-3,0,0,0,0 monster Orc Hero 1087,2,60000,66000 -pvp_n_5-3,0,0,0,0 monster Orc Lord 1190,1,60000,66000 -pvp_n_6-3,0,0,0,0 monster Phreeoni 1159,2,60000,66000 -pvp_n_6-3,0,0,0,0 monster Turtle General 1312,1,60000,66000 -pvp_n_6-3,0,0,0,0 monster Orc Hero 1087,2,60000,66000 -pvp_n_6-3,0,0,0,0 monster Orc Lord 1190,2,60000,66000 -pvp_n_7-3,0,0,0,0 monster Phreeoni 1159,3,60000,66000 -pvp_n_7-3,0,0,0,0 monster Turtle General 1312,1,60000,66000 -pvp_n_7-3,0,0,0,0 monster Orc Hero 1087,2,60000,66000 -pvp_n_7-3,0,0,0,0 monster Orc Lord 1190,3,60000,66000 -pvp_n_8-3,0,0,0,0 monster Phreeoni 1159,3,60000,66000 -pvp_n_8-3,0,0,0,0 monster Turtle General 1312,3,60000,66000 -pvp_n_8-3,0,0,0,0 monster Orc Hero 1087,3,60000,66000 -pvp_n_8-3,0,0,0,0 monster Orc Lord 1190,3,60000,66000 - -// Theta -pvp_n_1-4,0,0,0,0 monster Drake 1112,3,60000,66000 -pvp_n_1-4,0,0,0,0 monster Osiris 1038,1,60000,66000 -pvp_n_2-4,0,0,0,0 monster Drake 1112,2,60000,66000 -pvp_n_2-4,0,0,0,0 monster Osiris 1038,1,60000,66000 -pvp_n_2-4,0,0,0,0 monster Doppelganger 1046,1,60000,66000 -pvp_n_3-4,0,0,0,0 monster Drake 1112,1,60000,66000 -pvp_n_3-4,0,0,0,0 monster Osiris 1038,1,60000,66000 -pvp_n_3-4,0,0,0,0 monster Doppelganger 1046,1,60000,66000 -pvp_n_3-4,0,0,0,0 monster Lord of Death 1373,1,60000,66000 -pvp_n_4-4,0,0,0,0 monster Drake 1112,2,60000,66000 -pvp_n_4-4,0,0,0,0 monster Osiris 1038,1,60000,66000 -pvp_n_4-4,0,0,0,0 monster Doppelganger 1046,2,60000,66000 -pvp_n_4-4,0,0,0,0 monster Lord of Death 1373,1,60000,66000 -pvp_n_5-4,0,0,0,0 monster Drake 1112,3,60000,66000 -pvp_n_5-4,0,0,0,0 monster Osiris 1038,2,60000,66000 -pvp_n_5-4,0,0,0,0 monster Doppelganger 1046,2,60000,66000 -pvp_n_5-4,0,0,0,0 monster Lord of Death 1373,1,60000,66000 -pvp_n_6-4,0,0,0,0 monster Drake 1112,3,60000,66000 -pvp_n_6-4,0,0,0,0 monster Osiris 1038,2,60000,66000 -pvp_n_6-4,0,0,0,0 monster Doppelganger 1046,2,60000,66000 -pvp_n_6-4,0,0,0,0 monster Lord of Death 1373,2,60000,66000 -pvp_n_7-4,0,0,0,0 monster Drake 1112,3,60000,66000 -pvp_n_7-4,0,0,0,0 monster Osiris 1038,2,60000,66000 -pvp_n_7-4,0,0,0,0 monster Doppelganger 1046,3,60000,66000 -pvp_n_7-4,0,0,0,0 monster Lord of Death 1373,2,60000,66000 -pvp_n_8-4,0,0,0,0 monster Drake 1112,3,60000,66000 -pvp_n_8-4,0,0,0,0 monster Osiris 1038,3,60000,66000 -pvp_n_8-4,0,0,0,0 monster Doppelganger 1046,3,60000,66000 -pvp_n_8-4,0,0,0,0 monster Lord of Death 1373,3,60000,66000 - -// Epsilon -pvp_n_1-5,0,0,0,0 monster Incantation Samurai 1492,3,60000,66000 -pvp_n_1-5,0,0,0,0 monster Pharoh 1157,1,60000,66000 -pvp_n_2-5,0,0,0,0 monster Incantation Samurai 1492,2,60000,66000 -pvp_n_2-5,0,0,0,0 monster Pharoh 1157,1,60000,66000 -pvp_n_2-5,0,0,0,0 monster Dark Lord 1272,1,60000,66000 -pvp_n_3-5,0,0,0,0 monster Incantation Samurai 1492,1,60000,66000 -pvp_n_3-5,0,0,0,0 monster Pharoh 1157,1,60000,66000 -pvp_n_3-5,0,0,0,0 monster Dark Lord 1272,1,60000,66000 -pvp_n_3-5,0,0,0,0 monster Baphomet 1039,1,60000,66000 -pvp_n_4-5,0,0,0,0 monster Incantation Samurai 1492,3,60000,66000 -pvp_n_4-5,0,0,0,0 monster Pharoh 1157,1,60000,66000 -pvp_n_4-5,0,0,0,0 monster Dark Lord 1272,1,60000,66000 -pvp_n_4-5,0,0,0,0 monster Baphomet 1039,1,60000,66000 -pvp_n_5-5,0,0,0,0 monster Incantation Samurai 1492,2,60000,66000 -pvp_n_5-5,0,0,0,0 monster Pharoh 1157,2,60000,66000 -pvp_n_5-5,0,0,0,0 monster Dark Lord 1272,2,60000,66000 -pvp_n_5-5,0,0,0,0 monster Baphomet 1039,1,60000,66000 -pvp_n_6-5,0,0,0,0 monster Incantation Samurai 1492,2,60000,66000 -pvp_n_6-5,0,0,0,0 monster Pharoh 1157,2,60000,66000 -pvp_n_6-5,0,0,0,0 monster Dark Lord 1272,2,60000,66000 -pvp_n_6-5,0,0,0,0 monster Baphomet 1039,1,60000,66000 -pvp_n_7-5,0,0,0,0 monster Incantation Samurai 1492,2,60000,66000 -pvp_n_7-5,0,0,0,0 monster Pharoh 1157,2,60000,66000 -pvp_n_7-5,0,0,0,0 monster Dark Lord 1272,2,60000,66000 -pvp_n_7-5,0,0,0,0 monster Baphomet 1039,2,60000,66000 -pvp_n_8-5,0,0,0,0 monster Incantation Samurai 1492,3,60000,66000 -pvp_n_8-5,0,0,0,0 monster Pharoh 1157,2,60000,66000 -pvp_n_8-5,0,0,0,0 monster Dark Lord 1272,2,60000,66000 -pvp_n_8-5,0,0,0,0 monster Baphomet 1039,2,60000,66000 - -// Mapflags -pvp_n_1-1 mapflag pvp_nightmaredrop off -pvp_n_2-1 mapflag pvp_nightmaredrop off -pvp_n_3-1 mapflag pvp_nightmaredrop off -pvp_n_4-1 mapflag pvp_nightmaredrop off -pvp_n_5-1 mapflag pvp_nightmaredrop off -pvp_n_6-1 mapflag pvp_nightmaredrop off -pvp_n_7-1 mapflag pvp_nightmaredrop off -pvp_n_8-1 mapflag pvp_nightmaredrop off -pvp_n_1-2 mapflag pvp_nightmaredrop off -pvp_n_2-2 mapflag pvp_nightmaredrop off -pvp_n_3-2 mapflag pvp_nightmaredrop off -pvp_n_4-2 mapflag pvp_nightmaredrop off -pvp_n_5-2 mapflag pvp_nightmaredrop off -pvp_n_6-2 mapflag pvp_nightmaredrop off -pvp_n_7-2 mapflag pvp_nightmaredrop off -pvp_n_8-2 mapflag pvp_nightmaredrop off -pvp_n_1-3 mapflag pvp_nightmaredrop off -pvp_n_2-3 mapflag pvp_nightmaredrop off -pvp_n_3-3 mapflag pvp_nightmaredrop off -pvp_n_4-3 mapflag pvp_nightmaredrop off -pvp_n_5-3 mapflag pvp_nightmaredrop off -pvp_n_6-3 mapflag pvp_nightmaredrop off -pvp_n_7-3 mapflag pvp_nightmaredrop off -pvp_n_8-3 mapflag pvp_nightmaredrop off -pvp_n_1-4 mapflag pvp_nightmaredrop off -pvp_n_2-4 mapflag pvp_nightmaredrop off -pvp_n_3-4 mapflag pvp_nightmaredrop off -pvp_n_4-4 mapflag pvp_nightmaredrop off -pvp_n_5-4 mapflag pvp_nightmaredrop off -pvp_n_6-4 mapflag pvp_nightmaredrop off -pvp_n_7-4 mapflag pvp_nightmaredrop off -pvp_n_8-4 mapflag pvp_nightmaredrop off -pvp_n_1-5 mapflag pvp_nightmaredrop off -pvp_n_2-5 mapflag pvp_nightmaredrop off -pvp_n_3-5 mapflag pvp_nightmaredrop off -pvp_n_4-5 mapflag pvp_nightmaredrop off -pvp_n_5-5 mapflag pvp_nightmaredrop off -pvp_n_6-5 mapflag pvp_nightmaredrop off -pvp_n_7-5 mapflag pvp_nightmaredrop off -pvp_n_8-5 mapflag pvp_nightmaredrop off diff --git a/npc/custom/etc/penal_servitude.txt b/npc/custom/etc/penal_servitude.txt deleted file mode 100644 index 5d1067d05..000000000 --- a/npc/custom/etc/penal_servitude.txt +++ /dev/null @@ -1,189 +0,0 @@ -//===== Hercules Script ====================================== -//= Penal Servitude -//===== By: ================================================== -//= Lupus -//===== Current Version: ===================================== -//= 1.2 -//===== Description: ========================================= -//= A simple Penal Servitude Script. -//= It could cheer up your prisoners a bit. -//===== Additional Comments: ================================= -// This script uses CHEQUES of the 2nd KAFRA_BANK.TXT -// var PRISON - it counts number of your imprisonments. -// 1.1 English translation -// 1.2 Stricted the conditions a bit -//============================================================ - -sec_pri,36,58,1 script Chief Warder 8W_SOLDIER,{ - mes "[Saddeus]"; - emotion 1; - if (Sex == SEX_MALE) - mes "Mr. Prisoner #"+BaseLevel+JobLevel+","; - else - 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; - 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; - next; - mes "[Saddeus]"; - mes "You are free now!"; - next; - savepoint "izlude",105,112; - warp "izlude",105,112; - close; - -M_Q1: - 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]"; - if(checkcart() || checkfalcon() || checkmount()){ - emotion e_hmm; - mes "I'm sorry, you should release your Cart, Mount or Falcon!"; - close; - } - 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",179,76; - warp "sec_in02",179,76; - close; - -L_W2: - savepoint "sec_in02",139,32; - warp "sec_in02",139,32; - close; - -L_W3: - savepoint "sec_in02",100,28; - warp "sec_in02",100,28; - close; - -L_W4: - savepoint "sec_in02",107,75; - warp "sec_in02",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,137,57,1 script Overseer 4_M_PAY_SOLDIER,{ - mes "[Oliver]"; - - delitem Fabre_Card,countitem(Fabre_Card);//Items: Fabre_Card, - delitem Chonchon_Card,countitem(Chonchon_Card);//Items: Chonchon_Card, - delitem Spore_Card,countitem(Spore_Card);//Items: Spore_Card, - delitem Poison_Spore_Card,countitem(Poison_Spore_Card);//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(Mushroom_Of_Thief_1) 1) mes "Hmm... You've been here already... Well-well..."; - - if ( countitem(Mushroom_Of_Thief_1) || countitem(Mushroom_Of_Thief_2) ) mes "Drop these mushrooms!! They are poisonous!";//Items: Orange_Net_Mushroom, Orange_Gooey_Mushroom_, - delitem Mushroom_Of_Thief_1,countitem(Mushroom_Of_Thief_1);//Items: Orange_Net_Mushroom, - delitem Mushroom_Of_Thief_2,countitem(Mushroom_Of_Thief_2);//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 mapflag nomemo -sec_in02 mapflag nosave SavePoint -sec_in02 mapflag noteleport -sec_in02 mapflag nobranch -sec_in02 mapflag nowarp -sec_in02 mapflag nowarpto -sec_in02 mapflag noexp -sec_in02 mapflag noskill -//sec_in02 mapflag pvp -//sec_in02 mapflag pvp_noparty -//sec_in02 mapflag gvg -sec_in02 mapflag pvp_nightmaredrop random,all,300 - -sec_in02,138,55,100,100 monster Toadstool 1182,30,10000,10000,1 -sec_in02,138,55,100,100 monster Fabre 1184,10,20000,20000 -sec_in02,138,55,100,100 monster Chonchon 1183,11,20000,20000 -sec_in02,138,55,100,100 monster Spore 1014,12,20000,20000 -sec_in02,138,55,100,100 monster Poison Spore 1077,3,20000,20000 diff --git a/npc/custom/etc/quest_warper.txt b/npc/custom/etc/quest_warper.txt deleted file mode 100644 index 35b863e9d..000000000 --- a/npc/custom/etc/quest_warper.txt +++ /dev/null @@ -1,1687 +0,0 @@ -//===== Hercules Script ====================================== -//= Quest Warper Script -//===== By: ================================================== -//= DZeroX, Darkchild, Neouni -//===== Current Version: ===================================== -//= 2.3 -//===== Description: ========================================= -//= Warper that works only after locations are unlocked. -//===== Additional Comments: ================================= -//= 1.0 - NPCs created -//= 1.1 - Add Dungeons by sturm -//= 1.2 - Add All char in account unlocked by ace_killer -//= 1.3 - Add new 7 towns and 7 dungeons by escoteiro -// - Correct bug jawaii town by escoteiro -// - Remove some excessive warpras by escoteiro -//= 1.4 - Rewrite of the Warpa system [Neouni] -// - Corrected some bugs caused by autoconverting the old script -//= 1.4a - Rewrite of menu to be custom for each player [Neouni] -// - Dungeon listing rewrite -// - Town listing rewrite -// - GameMaster can Customise Main menu -//= 1.4b - Pricing round [Neouni] -// - GM menu added for pricing -// - Town Warp pricing tags added -// - Dungeon Warp pricing tags added -//= 1.5 - storage functions pricing [Neouni] -// - storage pricing added -// - kafra points setting added -// - kafra storage code security added -// - Healing scripts pricing added -// - Heal Part script added -//= 1.6 - Dungeon warp [Neouni] (beta only) -// - added option to add a extra fee for going down deeper into dungeon -// partly by rebuilding the dungeon warping into variable menu's -//= 1.6a - alot of fixes for beta release [Neouni] (public release) -// - fixed syntax problems -// - fixed missing pyramid gats in @DGat$ array -// - removed the culver level 5 that didn't exist -//= 1.7 - Readability of Dungeon menu building increased [Neouni] -// - Thanatos Tower & Louyang Dungeon added -//= 1.8 - changed around unlock variables [Neouni] -// - Moved warp variables to mark what you have unlocked to an binary array in login based permanent variable -// (warp variables are saved in login database, so all charservers have these unlocked) -// - Town Warp unlock array max 21/(unknown max) items used instead of max account #variables 32 ! -// - Dungeon Warp unlock array 28/(unknown max) items used instead of max account #variables 32 ! -// - (max login ##variables = 16, i used 3) -// - old variables are cleared on next save -// - Extra Variable clear added for every character, just in case (request by Terces) -//= 1.8a - Show amount of users on map [Neouni] -//= 1.8b - Small typo fixed in stampcard script [Neouni] -//= 1.9 - Making it more edit friendly [Neouni] -// - Made Dungeon warp arrays more readable & editable (QWS_Darray) -// - Made town warp arrays more readable & editable (QWS_Tarray) -//= 2.0 - Special Warp menu added [Neouni] -// - when all towns and dungeons are collected a new option on the main menu will show -// - it will only show when you setup the mapname of the warp ! -//= 2.0a - Dungeon Level Limit & Split dungeon fees -// - Limits dungeon based on Depth, access to special setup menu through the GM-Menu -// - Dungeon fees split up based on Basic , Advanced & Overseas -// - Old Dungeon fee system removed, all dungeon fees now set to 0 -//= 2.0b - Special warpname menu option name bug fixed -//= 2.1 - Updated names to fall within retrictions. [L0ne_W0lf] -//= 2.2 - #kafra_code is now stored as is. [brianluau] -//= 2.3 - Added new town maps, cleanup, and removed pre-1.8 backwards fix. [Euphy] -//================================================================= - -//========================Function & Script======================== - -function script Q_Warpra { - mes "[Warpra]"; - mes "Hello,"; - mes "I can warp you to any town or dungeon, but you need to unlock them first by visiting us."; - mes "What do you need?"; - - if(getarg(0) == 0) callfunc "QWS_MMarray",0; - if(getarg(0) == 1) callfunc "QWS_MMarray",1; - - set @MMenu,select(@Mmenulist$[0],@Mmenulist$[1],@Mmenulist$[2],@Mmenulist$[3],@Mmenulist$[4],@Mmenulist$[5],@Mmenulist$[6],@Mmenulist$[7],@Mmenulist$[8],@Mmenulist$[9],@Mmenulist$[10],@Mmenulist$[11]); - - switch(@Mmenuref[@MMenu-1]+1){ - case 1: goto GM_Menu; - case 2: - warp $QW_SP_WarpMap$, $QW_SP_WarpX, $QW_SP_WarpY; - close2; - debugmes "Please check your special warp menu settings on the Warpra."; - end; - case 3: goto L_town; - case 4: goto L_dungeon; - case 5: goto L_FewWarps; - case 6: goto L_NoUnlock; - case 7: goto L_heal_Full; - case 8: goto L_heal_Part; - case 9: goto L_Storage; - case 10: goto L_GStorage; - case 11: - default: - goto L_End; - } - -//=====================GM-Menu=Functions=========================== - -GM_Menu: - next; - mes "Town warping = "+(($QW_TW_OFF)?"^FF0000 Off":"^00FF00 On")+"^000000"; - mes "Dungeon warping = "+(($QW_DW_OFF)?"^FF0000 Off":"^00FF00 On")+"^000000"; - mes "Dungeon Depth limit is "+(($QW_DL)?"^00FF00 On":"^FF0000 Off")+"^000000"; - mes "If on Dungeon Depth limit is set to ^0000FF"+$QW_DDL+"^000000"; - mes "Show Map Users = "+(($QW_MapUserShow)?"^00FF00 On":"^FF0000 Off")+"^000000"; - - if ($QW_HF) mes "Healing full = ^00FF00 On ^000000"; - if ($QW_HP) mes "Healing partly = ^00FF00 On ^000000"; - if (!$QW_HF && !$QW_HP) mes "Healing = ^FF0000 Off ^000000"; - - mes "Storage = "+(($QW_Stor)?"^00FF00 On":"^FF0000 Off")+"^000000"; - mes "Guild Storage = "+(($QW_GStor)?"^00FF00 On":"^FF0000 Off")+"^000000"; - mes "Kafra points collect = "+(($QW_KPoint)?"^00FF00 On":"^FF0000 Off")+"^000000"; - - switch(select("Town Warping","Dungeon Warping","Dungeon Level Limit","Show Map Users","Healing full","Healing partly","Storage","Guild Storage","Kafra points collect","Set Prices","Special Warp","Exit")) { - case 1: set $QW_TW_OFF,($QW_TW_OFF)?0:1; goto GM_Menu; - case 2: set $QW_DW_OFF,($QW_DW_OFF)?0:1; goto GM_Menu; - case 3: goto DungeonLevelLimit; - case 4: set $QW_MapUserShow,($QW_MapUserShow)?0:1; goto GM_Menu; - case 5: - if ($QW_HF == 0) { - set $QW_HF,1; - set $QW_HP,0; - } - else set $QW_HF,0; - goto GM_Menu; - case 6: - if ($QW_HP == 0) { - set $QW_HP,1; - set $QW_HF,0; - } - else set $QW_HP,0; - goto GM_Menu; - case 7: set $QW_Stor,($QW_Stor)?0:1; goto GM_Menu; - case 8: set $QW_GStor,($QW_GStor)?0:1; goto GM_Menu; - case 9: set $QW_KPoint,($QW_KPoint)?0:1; goto GM_Menu; - case 10: goto Setprice; - case 11: goto SpecialWarpMenu; - default: - close; - end; - } - -//======================GM-Menu=Pricing============================ - -Setprice: - if ($QW_DW_FEE != 0) set $QW_DW_FEE,0; - next; - mes "Scroll through the list to see all the options."; - - mes "Basic - Warps are = "+(($QW_BW_PRICE)?"^00FF00"+$QW_BW_PRICE:"^FF0000Free")+"^000000"; - mes "Advanced - Warps are = "+(($QW_AW_PRICE)?"^00FF00"+$QW_AW_PRICE:"^FF0000Free")+"^000000"; - mes "Overseas - Warps are = "+(($QW_OW_PRICE)?"^00FF00"+$QW_OW_PRICE:"^FF0000Free")+"^000000"; - - mes "Basic Dungeon level warp fee = "+(($QW_BW_FEE)?"^00FF00"+$QW_BW_FEE:"^FF0000NO")+"^000000 zeny per level"; - mes "Advanced Dungeon level warp fee = "+(($QW_AW_FEE)?"^00FF00"+$QW_AW_FEE:"^FF0000NO")+"^000000 zeny per level"; - mes "Overseas Dungeon level warp fee = "+(($QW_OW_FEE)?"^00FF00"+$QW_OW_FEE:"^FF0000NO")+"^000000 zeny per level"; - - mes "Full Healing = "+(($QW_HF_PRICE)?"^00FF00"+$QW_HF_PRICE:"^FF0000Free")+"^000000"; - mes "^FF0000HP ^000000Part Healing = "+(($QW_HP_H_PRICE)?"^00FF00"+$QW_HP_H_PRICE+"^000000 a point":"^FF0000Free^000000"); - mes "^FF0000SP ^000000Part Healing = "+(($QW_HP_S_PRICE)?"^00FF00"+$QW_HP_S_PRICE+"^000000 a point":"^FF0000Free^000000"); - - if ($QW_S_PRICE && $QW_S_PRICE != 60) mes "Storage = ^00FF00 "+$QW_S_PRICE+" ^000000"; - if (!$QW_S_PRICE) mes "Storage = ^FF0000 Free ^000000"; - if ($QW_S_PRICE == 60) mes "Storage = ^0000FF Kafra Mode ^000000"; - mes "Guild Storage = "+(($QW_GS_PRICE)?"^00FF00"+$QW_GS_PRICE:"^FF0000Free")+"^000000"; - - switch(select("Basic - Warps","Advanced - Warps","Overseas - Warps","Basic Dungeon warp fee","Advanced Dungeon warp fee","Overseas Dungeon warp fee","Full Healing","Part Healing","Storage","Guild Storage","Back","Exit")) { - case 1: - next; - mes "Basic - Warps are = "+(($QW_BW_PRICE)?"^00FF00"+$QW_BW_PRICE:"^FF0000Free")+"^000000"; - mes "Basic - Warps are starter towns and related dungeons."; - input $QW_BW_PRICE; - goto Setprice; - case 2: - next; - mes "Advanced - Warps are = "+(($QW_AW_PRICE)?"^00FF00"+$QW_AW_PRICE:"^FF0000Free")+"^000000"; - mes "Advanced - Warps are towns and dungeons on the same island but not close to any starter town."; - input $QW_AW_PRICE; - goto Setprice; - case 3: - next; - mes "Overseas - Warps are = "+(($QW_OW_PRICE)?"^00FF00"+$QW_OW_PRICE:"^FF0000Free")+"^000000"; - mes "Overseas - Warps are towns and dungeons overseas reachable by boat from Alberta."; - input $QW_OW_PRICE; - goto Setprice; - case 4: - next; - mes "Basic Dungeon level warp fee = "+(($QW_BW_FEE)?"^00FF00"+$QW_BW_FEE:"^FF0000NO")+"^000000 zeny per level"; - mes "Basic - Warps are starter town related dungeons."; - mes "Dungeon warp fees are calculated by maps away from entrance of the dungeon times Dungeon warp fee."; - mes "These costs are on top of the regular Warp costs."; - input $QW_BW_FEE; - goto Setprice; - case 5: - next; - mes "Advanced Dungeon level warp fee = "+(($QW_AW_FEE)?"^00FF00"+$QW_AW_FEE:"^FF0000NO")+"^000000 zeny per level"; - mes "Advanced - Warps are dungeons not close to any starter town."; - mes "Dungeon warp fees are calculated by maps away from entrance of the dungeon times Dungeon warp fee."; - mes "These costs are on top of the regular Warp costs."; - input $QW_AW_FEE; - goto Setprice; - case 6: - next; - mes "Overseas Dungeon level warp fee = "+(($QW_OW_FEE)?"^00FF00"+$QW_OW_FEE:"^FF0000NO")+"^000000 zeny per level"; - mes "Overseas - Warps are dungeons related to towns overseas reachable by boat from Alberta."; - mes "Dungeon warp fees are calculated by maps away from entrance of the dungeon times Dungeon warp fee."; - mes "These costs are on top of the regular Warp costs."; - input $QW_OW_FEE; - goto Setprice; - case 7: - next; - mes "Full Healing = "+(($QW_HF_PRICE)?"^00FF00"+$QW_HF_PRICE:"^FF0000Free")+"^000000"; - mes "Instant full healing 1 price."; - input $QW_HF_PRICE; - goto Setprice; - case 8: - next; - mes "^FF0000HP ^000000Part Healing = "+(($QW_HP_H_PRICE)?"^00FF00"+$QW_HP_H_PRICE+"^000000 a point":"^FF0000Free^000000"); - mes "^FF0000SP ^000000Part Healing = "+(($QW_HP_S_PRICE)?"^00FF00"+$QW_HP_S_PRICE+"^000000 a point":"^FF0000Free^000000"); - mes "Healing price per 1 HP."; - mes "Healing price per 1 SP."; - mes "2 inputs, first HP then SP."; - input $QW_HP_H_PRICE; - input $QW_HP_S_PRICE; - goto Setprice; - case 9: - next; - if ($QW_S_PRICE && $QW_S_PRICE != 60) mes "Storage = ^00FF00 "+$QW_S_PRICE+" ^000000"; - if (!$QW_S_PRICE) mes "Storage = ^FF0000 Free ^000000"; - if ($QW_S_PRICE == 60) mes "Storage = ^0000FF Kafra Mode ^000000"; - mes "Storage cost, if set to 60 Kafra pricing will be handled."; - input $QW_S_PRICE; - goto Setprice; - case 10: - next; - mes "Guild Storage = "+(($QW_GS_PRICE)?"^00FF00"+$QW_GS_PRICE:"^FF0000Free")+"^000000"; - mes "Guild Storage, free on Guild Kafras."; - input $QW_GS_PRICE; - goto Setprice; - case 11: - goto GM_Menu; - default: - close; - end; - } - -//======================Special=Warp=Menu========================== - -SpecialWarpMenu: - if ($QW_SP_Warpname$ == "") set $QW_SP_Warpname$,"Special Warp"; - next; - mes "Scroll down to see all the information"; - mes "The Special warp menu option will show in the main menu when all towns & dungeons are unlocked"; - mes "And when the map for special warping has been set"; - mes "menu option name set to ^0000FF"+$QW_SP_Warpname$+"^000000"; - if ($QW_SP_WarpMap$ == "") mes "map is currently ^FF0000not^000000 set, and Special warp menu is off"; - if ($QW_SP_WarpMap$ != "") mes "map is currently set to ^0000FF"+$QW_SP_WarpMap$+"^000000 and Special Warp menu is on"; - mes "coords are set to ^0000FF"+$QW_SP_WarpX+","+$QW_SP_WarpY+"^000000"; - switch(select("Set Special Warp name to show in menu", "Set WarpMap","Set Coords","Go Back to GM_Menu","Exit")){ - case 1: - next; - mes "Set the name to show in the menu as option."; - input $QW_SP_Warpname$; - goto SpecialWarpMenu; - case 2: - next; - mes "Set the map in the ^0000FFmapname^000000 format."; - mes "When this warpmap is set the option for players will show once they meet the requirments."; - mes "To disable Special Warp Menu option, clear this!"; - input $QW_SP_WarpMap$; - goto SpecialWarpMenu; - case 3: - next; - mes "First input = Xcoord"; - mes "Second input = Ycoord"; - input $QW_SP_WarpX; - input $QW_SP_WarpY; - goto SpecialWarpMenu; - case 4: - goto GM_Menu; - default: - close; - end; - } - -//======================Dungeon=Level=Limit======================== - -DungeonLevelLimit: - next; - mes "Dungeon Depth limit is "+(($QW_DL)?"^00FF00On":"^FF0000Off")+"^000000"; - mes "If^00FF00 On ^000000Dungeon Depth limit is set to ^0000FF"+$QW_DDL+"^000000"; - - switch(select("Toggle Dungeon Depth Limit","Set Dungeon Depth Limit","Go Back to GM_Menu","Exit")){ - case 1: set $QW_DL,($QW_DL)?0:1; goto DungeonLevelLimit; - case 2: - next; - mes "Set limit of Dungeon Depth 0 = entrance"; - mes "Depth 1 is a map connected to 0 and so on"; - mes "Shortest Route to map counts as depth"; - input $QW_DDL; - goto DungeonLevelLimit; - case 3: goto GM_Menu; - default: - close; - end; - } - -//===========================Towns================================= - -L_town: - callfunc "QWS_Tarray"; - freeloop(1); - set .@menu$,""; - for(set .@i,0; .@i<35; set .@i,.@i+1) // Expected maximum is 35 - set .@menu$,.@menu$+@Tmenulist$[.@i]+":"; - freeloop(0); - set @TWMenu,select(.@menu$); - - if (@Tmenuref[@TWMenu-1] == 57005) goto L_End; // 57005='dead' in hex - - if(Zeny<@pTprice[@Tmenuref[@TWMenu-1]]) callsub L_Short_on_zeny,0; - Zeny -= @pTprice[@Tmenuref[@TWMenu-1]]; - if ($QW_KPoint == 1) set RESRVPTS, RESRVPTS + (@pTprice[@Tmenuref[@TWMenu-1]]/16); - warp @pTmap$[@Tmenuref[@TWMenu-1]],@pTXcoords[@Tmenuref[@TWMenu-1]],@pTYcoords[@Tmenuref[@TWMenu-1]]; - close2; - Zeny += @pTprice[@Tmenuref[@TWMenu-1]]; - end; - -//=========================Dungeons================================ - -L_dungeon: - callfunc "QWS_Darray"; - freeloop(1); - set .@menu$,""; - for(set .@i,0; .@i<35; set .@i,.@i+1) // Expected maximum is 35 - set .@menu$,.@menu$+@Dmenulist$[.@i]+":"; - freeloop(0); - set @DWMenu,select(.@menu$); - - if (@Dmenuref[@DWMenu-1] == 57005) goto L_End; // 57005='dead' in hex - set @DwarpMenu, (@Dmenuref[@DWMenu-1]); - callfunc "QWS_DLarray"; - - next; - mes "[Warpra]"; - mes "Please select where you want to go:"; - freeloop(1); - set .@menu$,""; - for(set .@i,0; .@i<18; set .@i,.@i+1) // Expected maximum is 18 - set .@menu$,.@menu$+@DWLmenulist$[.@i]+":"; - freeloop(0); - set @DWLMenu,select(.@menu$); - - if (@DWLmenuref[@DWLMenu-1] == 57005) goto L_End; // 57005='dead' in hex - - set @Darrayref, @DWLmenuref[@DWLMenu-1]; - set @warpprice, @pDprice[@Dmenuref[@DWMenu-1]]+(getd(@pDfee$[@Dmenuref[@DWMenu-1]])*(@DDepth[@Darrayref])); - - if(Zeny<@warpprice) callsub L_Short_on_zeny,1; - Zeny -= (@warpprice); - if ($QW_KPoint == 1) set RESRVPTS, RESRVPTS + (@warpprice/16); - warp @DGat$[@Darrayref],@DXcoords[@Darrayref],@DYcoords[@Darrayref]; - close2; - Zeny += @pTprice[@Tmenuref[@DWMenu-1]]; - end; - -//=============================Healing============================= - -L_heal_Full: - set @healfee, $QW_HF_PRICE; - if(Zeny<@healfee) callsub L_Short_on_zeny,4; - Zeny -= @healfee; - if ($QW_KPoint == 1) set RESRVPTS, RESRVPTS + (@healfee/500); - next; - mes "[Warpra]"; - mes "Close this window and I will heal you."; - close2; - percentheal 100,100; - end; - -L_heal_Part: - set @healchoice,select("Full heal","Health Points only","Skill Points only","Exit"); - if (@healchoice == 1) callsub PHeal,1,1; - if (@healchoice == 2) callsub PHeal,1,0; - if (@healchoice == 3) callsub PHeal,0,1; - goto L_End; - -PHeal: - next; - set @Hp, MaxHp-Hp; - set @Sp, MaxSp-Sp; - set @HpPrice, @Hp*$QW_HP_H_PRICE; - set @SpPrice, @Sp*$QW_HP_S_PRICE; - mes "[Warpra]"; - if(getarg(0) == 1) mes ""+@HpPrice+" Zeny for "+@Hp+" health points"; - if(getarg(1) == 1) mes ""+@SpPrice+" Zeny for "+@Sp+" skill points"; - set @total, @HpPrice+@SpPrice; - mes "for a total of "+@total+" zeny"; - if (select("Heal me","Let me see the choices again")==2) goto L_heal_Part; - - if(getarg(0) == 1)set @HpPrice, (MaxHp-Hp)*$QW_HP_H_PRICE; - if(getarg(1) == 1)set @SpPrice, (MaxSp-Sp)*$QW_HP_S_PRICE; - set @healfee, @HpPrice+@SpPrice; - if (getarg(0) == 1)&&(getarg(1) == 1)&&(Zeny<@healfee) goto Zeny_Short_Both; - if (getarg(0) == 1)&&(Zeny<@healfee) goto Zeny_short_HP; - if (getarg(1) == 1)&&(Zeny<@healfee) goto Zeny_short_SP; - Zeny -= @healfee; - if (getarg(0) == 1)&&(getarg(1) == 1) percentheal 100,100; - if (getarg(0) == 1) percentheal 100,0; - if (getarg(1) == 1) percentheal 0,100; - close; - end; - -Zeny_Short_Both: - mes "[Warpra]"; - mes "Choose another option, you can afford both."; - mes "I can heal as much as you can afford, too."; - if (select("OK","Exit") == 2) goto L_End; - goto PHeal; - -Zeny_short_HP: - mes "[Warpra]"; - mes "Do you want me to partly heal your HP?"; - if (select("Yes","No") == 2) goto L_End; - set @Hp, Zeny/$QW_HP_H_PRICE; - set @HpPrice, @Hp*$QW_HP_H_PRICE; - if (@Hp == 1) mes "You're not worth the effort."; - if (@Hp == 1) goto L_End; - Zeny -= @HpPrice; - heal @Hp,0; - close; - end; - -Zeny_short_SP: - mes "[Warpra]"; - mes "Do you want me to partly heal your SP?"; - if (select("Yes","No") == 2) goto L_End; - set @Sp, Zeny/$QW_HP_S_PRICE; - set @SpPrice, @Sp*$QW_HP_S_PRICE; - if (@Sp == 1) mes "You're not worth the effort."; - if (@Sp == 1) goto L_End; - Zeny -= @SpPrice; - heal 0,@Sp; - close; - end; - -//=============================Storage============================= - -L_Storage: - next; - if(basicskillcheck() > 0 && getskilllv("NV_BASIC") < 6) goto L_StorageJBlow; - set @fee, $QW_S_PRICE; - if ($QW_S_PRICE == 60)&&(BaseJob == Job_Novice) set @fee, 30; - if ($QW_S_PRICE == 60)&&(BaseJob != Job_Novice) set @fee, 60; - if(Zeny<@fee) callsub L_Short_on_zeny,2; - Zeny -= @fee; - if ($QW_KPoint == 1) set RESRVPTS, RESRVPTS + (@fee/5); - - mes "[Warpra]"; - if(#kafra_code) { - mes "Enter your storage password:"; - set @code_,0; - input @code_; - if(@code_ != #kafra_code) { - dispbottom "Wrong storage password."; - close; - } - set @kafcode_try,0; - set @code_,0; - } - mes "Close this window and I will open your storage."; - close2; - openstorage; - end; - -L_StorageJBlow: - mes "[Warpra]"; - mes "I am sorry but you have to be at least Novice level 6 if you want to use the storage."; - return; - -L_GStorage: - if (!@GID) { - next; - mes "[Warpra]"; - mes "You are not a part of a guild I can't help you."; - close; - end; - } - if (Zeny<$QW_GS_PRICE) callsub L_Short_on_zeny,3; - Zeny -= $QW_GS_PRICE; - if ($QW_KPoint == 1) set RESRVPTS, RESRVPTS + ($QW_GS_PRICE/5); - next; - mes "[Warpra]"; - mes "Close this window and I will open the ^5533FF" + getguildname(@GID) + "^000000 storage."; - close2; - guildopenstorage; - end; - -L_End: - close; - end; - -//============================Few=Warp============================= -L_FewWarps: - next; - mes "[Warpra]"; - mes "You need to unlock locations before they come available to you."; - mes "To unlock a location talk to my colleagues all over the world."; - mes "Each account has its own stamp card."; - mes "Want me to check what stamps you have collected so far?"; - if (select("Yes","No")==1) callsub stampcard; - close; - end; - -//============================No=Unlock============================ -L_NoUnlock: - next; - mes "[Warpra]"; - mes "I don't unlock this location, my assistant deeper in the dungeon will unlock this place."; - close; - end; - -//=========================Short=On=Zeny=========================== -L_Short_on_zeny: - next; - switch(getarg(0)) { - case 0: mes "You don't seem to have "+@pTprice[@Tmenuref[@TWMenu-1]]+" zeny to pay for the warp to "+@pTmenuitems$[@Tmenuref[@TWMenu-1]]+"."; break; - case 1: mes "You don't seem to have "+@warpprice+" zeny to pay for the warp to "+@DLevelName$[@DWLmenuref[@DWLMenu-1]]+" at "+@pDmenuitems$[@Dmenuref[@DWMenu-1]]+"."; break; - case 2: mes "You don't seem to have "+@fee+" zeny to pay the storage fee."; break; - case 3: mes "You don't seem to have "+$QW_GS_PRICE+" zeny to pay the guild storage fee."; break; - case 4: mes "You don't seem to have "+@healfee+" zeny to pay for your healing."; break; - } - close; - end; - -//===========================Stamp=Card============================ -stampcard: -// Counting of the ammount of places you have unlocked - next; - mes "Let me check what Towns you have."; - callfunc "QWS_TownStamps"; - mes "You collected^00FF00 "+@Tstamp+" of "+@MaxTstamp+" ^000000Towns."; - if (@Tstamp == 15) mes "They say there is an island you can only get to when married..."; - if (@Tstamp == 15) emotion 18; - next; - mes "Let me check what dungeons you have."; - callfunc "QWS_DungeonStamps"; - mes "You collected^00FF00 "+@Dstamp+" of "+@MaxDstamp+" ^000000Dungeons."; - mes "To unlock a dungeon, search for my colleagues."; - mes "You can usually find them near the middle or end of the dungeon."; - return; -} - -function script QWS_TownStamps { - set @Tstamp,0; - set @MaxTstamp,30; //maximum number of towns - set @binvalue,1; - set @Tstamploop,0; - do { - if ((@binvalue & ##QWS_T_Unlock) == @binvalue) set @Tstamp,@Tstamp+1; - set @binvalue, @binvalue *2; - set @Tstamploop, @Tstamploop + 1; - } while (@Tstamploop < @MaxTstamp); - return; -} - -function script QWS_DungeonStamps { - set @Dstamp,0; - set @MaxDstamp,29; //maximum number of dungeons - set @binvalue,1; - set @Dstamploop,0; - do { - if ((@binvalue & ##QWS_D_Unlock) == @binvalue) set @Dstamp,@Dstamp+1; - set @binvalue, @binvalue *2; - set @Dstamploop, @Dstamploop + 1; - } while (@Dstamploop < @MaxDstamp); - return; -} - -//======================Main=Menu=Array============================ - -function script QWS_MMarray { - - // Currently 9 items - setarray @pMmenuitems$[0], "GameMaster Menu", $QW_SP_Warpname$, "Warp to Towns", "Warp to Dungeons", "Why so few warps?", "Why don't you unlock this location?", "Heal", "Heal", "Storage", "Guild Storage", "Cancel"; - set @Mi,0; // loop counter - set @Mj,0; // menu line counter - -//----------------GameMaster-Menu - if (getgmlevel()>= 80) { - set @Mmenulist$[@Mj],@pMmenuitems$[@Mi]; - set @Mmenuref[@Mj],@Mi; - set @Mj,@Mj+1; - } - set @Mi,@Mi+1; -//----------------Special-Warp - callfunc "QWS_TownStamps"; - callfunc "QWS_DungeonStamps"; - if (@Tstamp == @MaxTstamp)&&(@Dstamp == @MaxDstamp)&&($QW_SP_WarpMap$ != "") { - set @Mmenulist$[@Mj],@pMmenuitems$[@Mi]; - set @Mmenuref[@Mj],@Mi; - set @Mj,@Mj+1; - } - set @Mi,@Mi+1; -//----------------Town-Warp - if ($QW_TW_OFF == 0) { - set @Mmenulist$[@Mj],@pMmenuitems$[@Mi]; - set @Mmenuref[@Mj],@Mi; - set @Mj,@Mj+1; - } - set @Mi,@Mi+1; -//----------------Dungeon-Warp - if ($QW_DW_OFF == 0) { - set @Mmenulist$[@Mj],@pMmenuitems$[@Mi]; - set @Mmenuref[@Mj],@Mi; - set @Mj,@Mj+1; - } - set @Mi,@Mi+1; -//----------------Why-So-Few-Warps - set @Mmenulist$[@Mj],@pMmenuitems$[@Mi]; - set @Mmenuref[@Mj],@Mi; - set @Mj,@Mj+1; - set @Mi,@Mi+1; -//----------------No-Unlock - if (getarg(0) == 1) { - set @Mmenulist$[@Mj],@pMmenuitems$[@Mi]; - set @Mmenuref[@Mj],@Mi; - set @Mj,@Mj+1; - } - set @Mi,@Mi+1; -//----------------Healfull - if ($QW_HF == 1) { - set @Mmenulist$[@Mj],@pMmenuitems$[@Mi]; - set @Mmenuref[@Mj],@Mi; - set @Mj,@Mj+1; - } - set @Mi,@Mi+1; -//----------------Healpart - if ($QW_HP == 1) { - set @Mmenulist$[@Mj],@pMmenuitems$[@Mi]; - set @Mmenuref[@Mj],@Mi; - set @Mj,@Mj+1; - } - set @Mi,@Mi+1; -//----------------Storage - if ($QW_Stor == 1) { - set @Mmenulist$[@Mj],@pMmenuitems$[@Mi]; - set @Mmenuref[@Mj],@Mi; - set @Mj,@Mj+1; - } - set @Mi,@Mi+1; -//----------------GuildStorage - if ($QW_GStor == 1) { - set @Mmenulist$[@Mj],@pMmenuitems$[@Mi]; - set @Mmenuref[@Mj],@Mi; - set @Mj,@Mj+1; - } - set @Mi,@Mi+1; -//----------------Cancel - set @Mmenulist$[@Mj],@pMmenuitems$[@Mi]; - set @Mmenuref[@Mj],@Mi; - return; -} - -//======================Town=Menu=Array============================ -// Adding a town: -// setarray @pTmenuitems$[@Ti], "Prontera";// Name of Town shown in Town select Menu -// setarray @pTprice[@Ti], $QW_BW_PRICE; // Warp prices: Basic ($QW_BW_PRICE), Advanced ($QW_AW_PRICE), Overseas ($QW_OW_PRICE) -// -// setarray @pTmap$[@Ti], "prontera"; // Map name -// setarray @pTXcoords[@Ti], 156; // X warp coords -// setarray @pTYcoords[@Ti], 187; // Y warp coords -// -// QWS_Make_Town_Menu 0; // Use a free number (last used is 30, Eclage) -// -// Adding a warpra: -// map,x,y,facing script Warpra#example 4_F_KAFRA5,{ -// callfunc "QWS_Town_Warpra",,"Your Town"; -// close; -// } -// Town number is the same as "QWS_Make_Town_Menu". -//================================================================== - -function script QWS_Tarray { - function QWS_Make_Town_Menu; - - set @Ti,0; // loop counter - set @Tj,0; // menu lines counter - -//----------------Prontera - setarray @pTmenuitems$[@Ti], "Prontera"; - setarray @pTprice[@Ti], $QW_BW_PRICE; - - setarray @pTmap$[@Ti], "prontera"; - setarray @pTXcoords[@Ti], 156; - setarray @pTYcoords[@Ti], 187; - - QWS_Make_Town_Menu 0; -//----------------Alberta - setarray @pTmenuitems$[@Ti], "Alberta"; - setarray @pTprice[@Ti], $QW_BW_PRICE; - - setarray @pTmap$[@Ti], "alberta"; - setarray @pTXcoords[@Ti], 27; - setarray @pTYcoords[@Ti], 236; - - QWS_Make_Town_Menu 1; -//----------------Aldebaran - setarray @pTmenuitems$[@Ti], "Aldebaran"; - setarray @pTprice[@Ti], $QW_AW_PRICE; - - setarray @pTmap$[@Ti], "aldebaran"; - setarray @pTXcoords[@Ti], 145; - setarray @pTYcoords[@Ti], 120; - - QWS_Make_Town_Menu 2; -//----------------Amatsu: - setarray @pTmenuitems$[@Ti], "Amatsu"; - setarray @pTprice[@Ti], $QW_OW_PRICE; - - setarray @pTmap$[@Ti], "amatsu"; - setarray @pTXcoords[@Ti], 197; - setarray @pTYcoords[@Ti], 86; - - QWS_Make_Town_Menu 3; -//----------------Ayothaya: - setarray @pTmenuitems$[@Ti], "Ayothaya"; - setarray @pTprice[@Ti], $QW_OW_PRICE; - - setarray @pTmap$[@Ti], "ayothaya"; - setarray @pTXcoords[@Ti], 150; - setarray @pTYcoords[@Ti], 57; - - QWS_Make_Town_Menu 4; -//----------------Brasilis: - setarray @pTmenuitems$[@Ti], "Brasilis"; - setarray @pTprice[@Ti], $QW_OW_PRICE; - - setarray @pTmap$[@Ti], "brasilis"; - setarray @pTXcoords[@Ti], 195; - setarray @pTYcoords[@Ti], 220; - - QWS_Make_Town_Menu 21; -//----------------Comodo: - setarray @pTmenuitems$[@Ti], "Comodo"; - setarray @pTprice[@Ti], $QW_AW_PRICE; - - setarray @pTmap$[@Ti], "comodo"; - setarray @pTXcoords[@Ti], 188; - setarray @pTYcoords[@Ti], 161; - - QWS_Make_Town_Menu 5; -//----------------Dewata: - setarray @pTmenuitems$[@Ti], "Dewata"; - setarray @pTprice[@Ti], $QW_OW_PRICE; - - setarray @pTmap$[@Ti], "dewata"; - setarray @pTXcoords[@Ti], 199; - setarray @pTYcoords[@Ti], 179; - - QWS_Make_Town_Menu 29; -//----------------Eclage: - setarray @pTmenuitems$[@Ti], "Eclage"; - setarray @pTprice[@Ti], $QW_OW_PRICE; - - setarray @pTmap$[@Ti], "eclage"; - setarray @pTXcoords[@Ti], 111; - setarray @pTYcoords[@Ti], 39; - - QWS_Make_Town_Menu 30; -//----------------Einbech: - setarray @pTmenuitems$[@Ti], "Einbech"; - setarray @pTprice[@Ti], $QW_AW_PRICE; - - setarray @pTmap$[@Ti], "einbech"; - setarray @pTXcoords[@Ti], 172; - setarray @pTYcoords[@Ti], 126; - - QWS_Make_Town_Menu 6; -//----------------Einbroch: - setarray @pTmenuitems$[@Ti], "Einbroch"; - setarray @pTprice[@Ti], $QW_AW_PRICE; - - setarray @pTmap$[@Ti], "einbroch"; - setarray @pTXcoords[@Ti], 230; - setarray @pTYcoords[@Ti], 191; - - QWS_Make_Town_Menu 7; -//----------------El Dicastes: - setarray @pTmenuitems$[@Ti], "El Dicastes"; - setarray @pTprice[@Ti], $QW_OW_PRICE; - - setarray @pTmap$[@Ti], "dicastes01"; - setarray @pTXcoords[@Ti], 197; - setarray @pTYcoords[@Ti], 187; - - QWS_Make_Town_Menu 22; -//----------------Geffen: - setarray @pTmenuitems$[@Ti], "Geffen"; - setarray @pTprice[@Ti], $QW_BW_PRICE; - - setarray @pTmap$[@Ti], "geffen"; - setarray @pTXcoords[@Ti], 119; - setarray @pTYcoords[@Ti], 66; - - QWS_Make_Town_Menu 8; -//----------------Gonryun: - setarray @pTmenuitems$[@Ti], "Gonryun"; - setarray @pTprice[@Ti], $QW_OW_PRICE; - - setarray @pTmap$[@Ti], "gonryun"; - setarray @pTXcoords[@Ti], 150; - setarray @pTYcoords[@Ti], 130; - - QWS_Make_Town_Menu 9; -//----------------Hugel: - setarray @pTmenuitems$[@Ti], "Hugel"; - setarray @pTprice[@Ti], $QW_AW_PRICE; - - setarray @pTmap$[@Ti], "hugel"; - setarray @pTXcoords[@Ti], 95; - setarray @pTYcoords[@Ti], 121; - - QWS_Make_Town_Menu 10; -//----------------Izlude: - setarray @pTmenuitems$[@Ti], "Izlude"; - setarray @pTprice[@Ti], $QW_BW_PRICE; - - setarray @pTmap$[@Ti], "izlude"; - setarray @pTXcoords[@Ti], 128; - setarray @pTYcoords[@Ti], 111; - - QWS_Make_Town_Menu 11; -//----------------Jawaii: - setarray @pTmenuitems$[@Ti], "Jawaii"; - setarray @pTprice[@Ti], $QW_AW_PRICE; - - setarray @pTmap$[@Ti], "jawaii"; - setarray @pTXcoords[@Ti], 243; - setarray @pTYcoords[@Ti], 115; - - QWS_Make_Town_Menu 12; -//----------------Lighthalzen: - setarray @pTmenuitems$[@Ti], "Lighthalzen"; - setarray @pTprice[@Ti], $QW_AW_PRICE; - - setarray @pTmap$[@Ti], "lighthalzen"; - setarray @pTXcoords[@Ti], 158; - setarray @pTYcoords[@Ti], 110; - - QWS_Make_Town_Menu 13; -//----------------Louyang: - setarray @pTmenuitems$[@Ti], "Louyang"; - setarray @pTprice[@Ti], $QW_OW_PRICE; - - setarray @pTmap$[@Ti], "louyang"; - setarray @pTXcoords[@Ti], 210; - setarray @pTYcoords[@Ti], 108; - - QWS_Make_Town_Menu 14; -//----------------Lutie - setarray @pTmenuitems$[@Ti], "Lutie"; - setarray @pTprice[@Ti], $QW_AW_PRICE; - - setarray @pTmap$[@Ti], "xmas"; - setarray @pTXcoords[@Ti], 148; - setarray @pTYcoords[@Ti], 131; - - QWS_Make_Town_Menu 15; -//----------------Manuk - setarray @pTmenuitems$[@Ti], "Manuk"; - setarray @pTprice[@Ti], $QW_OW_PRICE; - - setarray @pTmap$[@Ti], "manuk"; - setarray @pTXcoords[@Ti], 260; - setarray @pTYcoords[@Ti], 175; - - QWS_Make_Town_Menu 23; -//----------------Mora - setarray @pTmenuitems$[@Ti], "Mora"; - setarray @pTprice[@Ti], $QW_OW_PRICE; - - setarray @pTmap$[@Ti], "mora"; - setarray @pTXcoords[@Ti], 111; - setarray @pTYcoords[@Ti], 97; - - QWS_Make_Town_Menu 24; -//----------------Morroc: - setarray @pTmenuitems$[@Ti], "Morroc"; - setarray @pTprice[@Ti], $QW_BW_PRICE; - - setarray @pTmap$[@Ti], "morocc"; - setarray @pTXcoords[@Ti], 159; - setarray @pTYcoords[@Ti], 93; - - QWS_Make_Town_Menu 16; -//----------------Moscovia - setarray @pTmenuitems$[@Ti], "Moscovia"; - setarray @pTprice[@Ti], $QW_OW_PRICE; - - setarray @pTmap$[@Ti], "moscovia"; - setarray @pTXcoords[@Ti], 219; - setarray @pTYcoords[@Ti], 193; - - QWS_Make_Town_Menu 25; -//----------------Niflheim: - setarray @pTmenuitems$[@Ti], "Niflheim"; - setarray @pTprice[@Ti], $QW_AW_PRICE; - - setarray @pTmap$[@Ti], "niflheim"; - setarray @pTXcoords[@Ti], 195; - setarray @pTYcoords[@Ti], 186; - - QWS_Make_Town_Menu 17; -//----------------Payon: - setarray @pTmenuitems$[@Ti], "Payon"; - setarray @pTprice[@Ti], $QW_BW_PRICE; - - setarray @pTmap$[@Ti], "payon"; - setarray @pTXcoords[@Ti], 152; - setarray @pTYcoords[@Ti], 75; - - QWS_Make_Town_Menu 18; -//----------------Rachel - setarray @pTmenuitems$[@Ti], "Rachel"; - setarray @pTprice[@Ti], $QW_AW_PRICE; - - setarray @pTmap$[@Ti], "rachel"; - setarray @pTXcoords[@Ti], 130; - setarray @pTYcoords[@Ti], 111; - - QWS_Make_Town_Menu 26; -//----------------Splendide - setarray @pTmenuitems$[@Ti], "Splendide"; - setarray @pTprice[@Ti], $QW_OW_PRICE; - - setarray @pTmap$[@Ti], "splendide"; - setarray @pTXcoords[@Ti], 200; - setarray @pTYcoords[@Ti], 153; - - QWS_Make_Town_Menu 27; -//----------------Umbala: - setarray @pTmenuitems$[@Ti], "Umbala"; - setarray @pTprice[@Ti], $QW_AW_PRICE; - - setarray @pTmap$[@Ti], "umbala"; - setarray @pTXcoords[@Ti], 130; - setarray @pTYcoords[@Ti], 130; - - QWS_Make_Town_Menu 19; -//----------------Veins - setarray @pTmenuitems$[@Ti], "Veins"; - setarray @pTprice[@Ti], $QW_OW_PRICE; - - setarray @pTmap$[@Ti], "veins"; - setarray @pTXcoords[@Ti], 216; - setarray @pTYcoords[@Ti], 123; - - QWS_Make_Town_Menu 28; -//----------------Yuno: - setarray @pTmenuitems$[@Ti], "Yuno"; - setarray @pTprice[@Ti], $QW_AW_PRICE; - - setarray @pTmap$[@Ti], "yuno"; - setarray @pTXcoords[@Ti], 160; - setarray @pTYcoords[@Ti], 168; - - QWS_Make_Town_Menu 20; -//----------------Cancel - setarray @pTmenuitems$[@Ti], "Cancel"; - setarray @pTprice[@Ti], 0; - - set @Tmenulist$[@Tj],@pTmenuitems$[@Ti]; - set @Tmenuref[@Tj],57005; // 57005='dead' in hex - return; - -//----------------Make Town Menu Function - -function QWS_Make_Town_Menu { - set @temptownmenubin,1; - if (getarg(0) == 0) goto menu_item; - set @templooptownmenu,0; - do { - set @temptownmenubin, @temptownmenubin * 2; - set @templooptownmenu, @templooptownmenu + 1; - }while (getarg(0) > @templooptownmenu); -// check marker and make menu item -menu_item: - if ((@temptownmenubin & ##QWS_T_Unlock) != @temptownmenubin) { - set @Ti,@Ti+1; - return; - } - if (@pTprice[@Ti] != 0)&&($QW_MapUserShow == 0) set @Tmenulist$[@Tj], @pTmenuitems$[@Ti]+" -> "+@pTprice[@Ti]; - if (@pTprice[@Ti] == 0)&&($QW_MapUserShow == 0) set @Tmenulist$[@Tj], @pTmenuitems$[@Ti]; - if (@pTprice[@Ti] != 0)&&($QW_MapUserShow == 1) set @Tmenulist$[@Tj], @pTmenuitems$[@Ti]+" ["+getmapusers(@pTmap$[@Ti])+"]"+" -> "+@pTprice[@Ti]; - if (@pTprice[@Ti] == 0)&&($QW_MapUserShow == 1) set @Tmenulist$[@Tj], @pTmenuitems$[@Ti]+" ["+getmapusers(@pTmap$[@Ti])+"]"; - set @Tmenuref[@Tj],@Ti; - set @Tj,@Tj+1; - set @Ti,@Ti+1; - return; -} -} - -//====================Dungeon=Menu=Arrays========================== -// Adding a dungeon: -// setarray @pDmenuitems$[@Di], "Abyss Lake"; // Name of Dungeon shown in Dungeon select Menu -// setarray @pDprice[@Di], $QW_AW_PRICE; // Warp prices: Basic ($QW_BW_PRICE), Advanced ($QW_AW_PRICE), Overseas ($QW_OW_PRICE) -// setarray @pDfee$[@Di], "$QW_AW_FEE"; // Identifier for fee caluclation: Basic ("$QW_BW_FEE"), Advanced ("$QW_AW_FEE"), Overseas ("$QW_OW_FEE") -// setarray @DLevels[@Di], 3; // Number of levels in dungeon -// -// setarray @DGat$[@Dref], "abyss_01", "abyss_02", "abyss_03"; // Map names of dungeon levels -// setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3"; // Name of dungeon levels shown in Menu -// setarray @DXcoords[@Dref], 265, 275, 116; // X warp coords -// setarray @DYcoords[@Dref], 273, 270, 27; // Y warp coords -// setarray @DDepth[@Dref], 0, 1, 2; // Relative depth to entrance, to calculate extra warp fee -// -// QWS_Make_Dungeon_Menu 0; // Use a free number (last used is 28, Kiel Dungeon) -// -// Adding a warpra: -// map,x,y,facing script Warpra Helper#example 4_F_KAFRA6,{ -// callfunc "QWS_Dungeon_Warpra",,"Your Dungeon"; -// close; -// } -// Dungeon number is the same as "QWS_Make_Dungeon_Menu". -//================================================================== - -function script QWS_Darray { - function QWS_Make_Dungeon_Menu; - - set @Di,0; - set @Dj,0; - set @Dref,0; - -//----------------ABYSS LAKE - setarray @pDmenuitems$[@Di], "Abyss Lake"; - setarray @pDprice[@Di], $QW_AW_PRICE; - setarray @pDfee$[@Di], "$QW_AW_FEE"; - setarray @DLevels[@Di], 3; - - setarray @DGat$[@Dref], "abyss_01", "abyss_02", "abyss_03"; - setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3"; - setarray @DXcoords[@Dref], 265, 275, 116; - setarray @DYcoords[@Dref], 273, 270, 27; - setarray @DDepth[@Dref], 0, 1, 2; - - QWS_Make_Dungeon_Menu 0; - -//----------------AMATSU DUNGEON - setarray @pDmenuitems$[@Di], "Amatsu Dungeon"; - setarray @pDprice[@Di], $QW_OW_PRICE; - setarray @pDfee$[@Di], "$QW_OW_FEE"; - setarray @DLevels[@Di], 3; - - setarray @DGat$[@Dref], "ama_dun01", "ama_dun02", "ama_dun03"; - setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3"; - setarray @DXcoords[@Dref], 227, 32, 119; - setarray @DYcoords[@Dref], 10, 43, 15; - setarray @DDepth[@Dref], 0, 1, 2; - - QWS_Make_Dungeon_Menu 1; - -//----------------ANT HELL - setarray @pDmenuitems$[@Di], "Ant Hell Dungeon"; - setarray @pDprice[@Di], $QW_BW_PRICE; - setarray @pDfee$[@Di], "$QW_BW_FEE"; - setarray @DLevels[2], 2; - - setarray @DGat$[@Dref], "anthell01", "anthell02"; - setarray @DLevelName$[@Dref], "Level 1", "Level 2"; - setarray @DXcoords[@Dref], 32, 34; - setarray @DYcoords[@Dref], 262, 263; - setarray @DDepth[@Dref], 0, 1; - - QWS_Make_Dungeon_Menu 2; - -//----------------AYOTAYA - setarray @pDmenuitems$[@Di], "Ayotaya Dungeon"; - setarray @pDprice[@Di], $QW_OW_PRICE; - setarray @pDfee$[@Di], "$QW_OW_FEE"; - setarray @DLevels[3], 2; - - setarray @DGat$[@Dref], "ayo_dun01", "ayo_dun02"; - setarray @DLevelName$[@Dref], "Level 1", "Level 2"; - setarray @DXcoords[@Dref], 275, 150; - setarray @DYcoords[@Dref], 17, 13; - setarray @DDepth[@Dref], 0, 1; - - QWS_Make_Dungeon_Menu 3; - -//----------------BYALAN - setarray @pDmenuitems$[@Di], "Byalan Dungeon"; - setarray @pDprice[@Di], $QW_BW_PRICE; - setarray @pDfee$[@Di], "$QW_BW_FEE"; - setarray @DLevels[4], 5; - - setarray @DGat$[@Dref], "iz_dun00", "iz_dun01", "iz_dun02", "iz_dun03", "iz_dun04"; - setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3", "Level 4", "Level 5"; - setarray @DXcoords[@Dref], 168, 41, 236, 32, 26; - setarray @DYcoords[@Dref], 168, 37, 204, 63, 27; - setarray @DDepth[@Dref], 0, 1, 2, 3, 4; - - QWS_Make_Dungeon_Menu 4; - -//----------------CLOCK TOWER - setarray @pDmenuitems$[@Di], "Clock Tower Dungeon"; - setarray @pDprice[@Di], $QW_AW_PRICE; - setarray @pDfee$[@Di], "$QW_AW_FEE"; - setarray @DLevels[5], 8; - - setarray @DGat$[@Dref], "c_tower1", "c_tower2", "c_tower3", "c_tower4", "alde_dun01", "alde_dun02", "alde_dun03", "alde_dun04"; - setarray @DLevelName$[@Dref], "Clock Tower Level 1", "Clock Tower Level 2", "Clock Tower Level 3", "Clock Tower Level 4", "Basement 1F", "Basement 2F", "Basement 3F", "Basement 4F"; - setarray @DXcoords[@Dref], 200, 268, 64, 32, 197, 262, 276, 122; - setarray @DYcoords[@Dref], 163, 26, 148, 63, 25, 41, 53, 125; - setarray @DDepth[@Dref], 0, 1, 2, 3, 1, 2, 3, 4; - - QWS_Make_Dungeon_Menu 5; - -//----------------COAL MINE - setarray @pDmenuitems$[@Di], "Coal Mine Dungeon"; - setarray @pDprice[@Di], $QW_AW_PRICE; - setarray @pDfee$[@Di], "$QW_AW_FEE"; - setarray @DLevels[6], 3; - - setarray @DGat$[@Dref], "mjo_dun01", "mjo_dun02", "mjo_dun03"; - setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3"; - setarray @DXcoords[@Dref], 52, 381, 302; - setarray @DYcoords[@Dref], 17, 343, 261; - setarray @DDepth[@Dref], 0, 1, 2; - - QWS_Make_Dungeon_Menu 6; - -//----------------CULVERT - setarray @pDmenuitems$[@Di], "Culvert Dungeon"; - setarray @pDprice[@Di], $QW_BW_PRICE; - setarray @pDfee$[@Di], "$QW_BW_FEE"; - setarray @DLevels[7], 4; - - setarray @DGat$[@Dref], "prt_sewb1", "prt_sewb2", "prt_sewb3", "prt_sewb4"; - setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3", "Level 4"; - setarray @DXcoords[@Dref], 132, 19, 180, 100; - setarray @DYcoords[@Dref], 248, 19, 169, 92; - setarray @DDepth[@Dref], 0, 1, 2, 3; - - QWS_Make_Dungeon_Menu 7; - -//----------------EINBECH DUNGEON - setarray @pDmenuitems$[@Di], "Einbech Dungeon"; - setarray @pDprice[@Di], $QW_AW_PRICE; - setarray @pDfee$[@Di], "$QW_AW_FEE"; - setarray @DLevels[8], 2; - - setarray @DGat$[@Dref], "ein_dun01", "ein_dun02"; - setarray @DLevelName$[@Dref], "Level 1", "Level 2"; - setarray @DXcoords[@Dref], 22, 292; - setarray @DYcoords[@Dref], 14, 290; - setarray @DDepth[@Dref], 0, 1; - - QWS_Make_Dungeon_Menu 8; - -//----------------GEFENIA DUNGEON - setarray @pDmenuitems$[@Di], "Gefenia Dungeon"; - setarray @pDprice[@Di], $QW_BW_PRICE; - setarray @pDfee$[@Di], "$QW_BW_FEE"; - setarray @DLevels[9], 4; - - setarray @DGat$[@Dref], "gefenia01", "gefenia02", "gefenia03", "gefenia04"; - setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3", "Level 4"; - setarray @DXcoords[@Dref], 59, 201, 264, 33; - setarray @DYcoords[@Dref], 167, 35, 236, 270; - setarray @DDepth[@Dref], 0, 1, 2, 3; - - QWS_Make_Dungeon_Menu 9; - -//----------------GEFFEN DUNGEON - setarray @pDmenuitems$[@Di], "Geffen Dungeon"; - setarray @pDprice[@Di], $QW_BW_PRICE; - setarray @pDfee$[@Di], "$QW_BW_FEE"; - setarray @DLevels[@Di], 4; - - setarray @DGat$[@Dref], "gef_dun00", "gef_dun01", "gef_dun02", "gef_dun03"; - setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3", "Level 4"; - setarray @DXcoords[@Dref], 104, 115, 106, 203; - setarray @DYcoords[@Dref], 100, 236, 132, 200; - setarray @DDepth[@Dref], 0, 1, 2, 3; - - QWS_Make_Dungeon_Menu 10; - -//----------------GLAST HEIM - setarray @pDmenuitems$[@Di], "Glast Heim Dungeon"; - setarray @pDprice[@Di], $QW_BW_PRICE; - setarray @pDfee$[@Di], "$QW_BW_FEE"; - setarray @DLevels[@Di], 17; - - setarray @DGat$[@Dref], "glast_01", "gl_church", "gl_chyard", "gl_in01", "gl_cas01", "gl_cas02", "gl_knt01", "gl_knt02", "gl_prison", "gl_prison1", "gl_step", "gl_sew01", "gl_sew02", "gl_sew03", "gl_sew04", "gl_dun01", "gl_dun02"; - setarray @DLevelName$[@Dref], "Glast Heim Entrance", "St. Abbey", "Churchyard", "Inside Glast Heim", "Castle 1", "Castle 2", "Chivalry 1", "Chivalry 2", "Prison 1", "Prison 2", "Steps", "Sewers 1", "Sewers 2", "Sewers 3", "Sewers 4", "Lowest Cave 1", "Lowest Cave 2"; - setarray @DXcoords[@Dref], 370, 156, 147, 121, 199, 104, 150, 157, 14, 150, 117, 258, 108, 171, 68, 133, 224; - setarray @DYcoords[@Dref], 300, 8, 15, 59, 29, 25, 10, 287, 70, 14, 124, 255, 291, 273, 277, 271, 274; - setarray @DDepth[@Dref], 0, 1, 2, 1, 1, 2, 1, 2, 2, 3, 1, 4, 2, 3, 4, 5, 6; - - QWS_Make_Dungeon_Menu 11; - -//----------------GONRYUN DUNGEON - setarray @pDmenuitems$[@Di], "Gonryun Dungeon"; - setarray @pDprice[@Di], $QW_OW_PRICE; - setarray @pDfee$[@Di], "$QW_OW_FEE"; - setarray @DLevels[@Di], 3; - - setarray @DGat$[@Dref], "gon_dun01", "gon_dun02", "gon_dun03"; - setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3"; - setarray @DXcoords[@Dref], 143, 17, 68; - setarray @DYcoords[@Dref], 59, 114, 9; - setarray @DDepth[@Dref], 0, 1, 2; - - QWS_Make_Dungeon_Menu 12; - -//----------------HIDDEN DUNGEON - setarray @pDmenuitems$[@Di], "Hidden Dungeon"; - setarray @pDprice[@Di], $QW_BW_PRICE; - setarray @pDfee$[@Di], "$QW_BW_FEE"; - setarray @DLevels[@Di], 3; - - setarray @DGat$[@Dref], "prt_maze01", "prt_maze02", "prt_maze03"; - setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3"; - setarray @DXcoords[@Dref], 176, 94, 23; - setarray @DYcoords[@Dref], 6, 19, 8; - setarray @DDepth[@Dref], 0, 1, 2; - - QWS_Make_Dungeon_Menu 13; - -//----------------JUPEROS CAVE - setarray @pDmenuitems$[@Di], "Juperos Cave"; - setarray @pDprice[@Di], $QW_AW_PRICE; - setarray @pDfee$[@Di], "$QW_AW_FEE"; - setarray @DLevels[@Di], 2; - - setarray @DGat$[@Dref], "juperos_01", "juperos_02"; - setarray @DLevelName$[@Dref], "Level 1", "Level 2"; - setarray @DXcoords[@Dref], 53, 36; - setarray @DYcoords[@Dref], 247, 60; - setarray @DDepth[@Dref], 0, 1; - - QWS_Make_Dungeon_Menu 14; - -//----------------KIEL DUNGEON - setarray @pDmenuitems$[@Di], "Kiel Dungeon"; - setarray @pDprice[@Di], $QW_AW_PRICE; - setarray @pDfee$[@Di], "$QW_AW_FEE"; - setarray @DLevels[@Di], 2; - - setarray @DGat$[@Dref], "kh_dun01", "kh_dun02"; - setarray @DLevelName$[@Dref], "1st Floor", "2nd Floor"; - setarray @DXcoords[@Dref], 63, 42; - setarray @DYcoords[@Dref], 10, 197; - setarray @DDepth[@Dref], 0, 1; - - QWS_Make_Dungeon_Menu 28; - -//----------------LIGHTHALZEN BIO LAB - setarray @pDmenuitems$[@Di], "Lighthalzen Bio Lab"; - setarray @pDprice[@Di], $QW_AW_PRICE; - setarray @pDfee$[@Di], "$QW_AW_FEE"; - setarray @DLevels[@Di], 3; - - setarray @DGat$[@Dref], "lhz_dun01", "lhz_dun02", "lhz_dun03"; - setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3"; - setarray @DXcoords[@Dref], 150, 150, 140; - setarray @DYcoords[@Dref], 287, 18, 137; - setarray @DDepth[@Dref], 0, 1, 2; - - QWS_Make_Dungeon_Menu 15; - -//----------------LOUYANG DUNGEON - setarray @pDmenuitems$[@Di], "Louyang Dungeon"; - setarray @pDprice[@Di], $QW_OW_PRICE; - setarray @pDfee$[@Di], "$QW_OW_FEE"; - setarray @DLevels[@Di], 2; - - setarray @DGat$[@Dref], "lou_dun02", "lou_dun03"; - setarray @DLevelName$[@Dref], "Royal Tomb Level 1", "Royal Tomb Level 2"; - setarray @DXcoords[@Dref], 282, 165; - setarray @DYcoords[@Dref], 20, 38; - setarray @DDepth[@Dref], 0, 1; - - QWS_Make_Dungeon_Menu 16; - -//----------------MAGMA DUNGEON - setarray @pDmenuitems$[@Di], "Magma Dungeon"; - setarray @pDprice[@Di], $QW_AW_PRICE; - setarray @pDfee$[@Di], "$QW_AW_FEE"; - setarray @DLevels[@Di], 2; - - setarray @DGat$[@Dref], "mag_dun01", "mag_dun02"; - setarray @DLevelName$[@Dref], "Level 1", "Level 2"; - setarray @DXcoords[@Dref], 126, 47; - setarray @DYcoords[@Dref], 69, 32; - setarray @DDepth[@Dref], 0, 1; - - QWS_Make_Dungeon_Menu 17; - -//----------------ODIN TEMPLE - setarray @pDmenuitems$[@Di], "Odin Temple"; - setarray @pDprice[@Di], $QW_AW_PRICE; - setarray @pDfee$[@Di], "$QW_AW_FEE"; - setarray @DLevels[@Di], 1; - - setarray @DGat$[@Dref], "odin_tem01"; - setarray @DLevelName$[@Dref], "Level 1"; - setarray @DXcoords[@Dref], 96; - setarray @DYcoords[@Dref], 145; - setarray @DDepth[@Dref], 0; - - QWS_Make_Dungeon_Menu 18; - -//----------------ORC DUNGEON - setarray @pDmenuitems$[@Di], "Orc Dungeon"; - setarray @pDprice[@Di], $QW_BW_PRICE; - setarray @pDfee$[@Di], "$QW_BW_FEE"; - setarray @DLevels[@Di], 2; - - setarray @DGat$[@Dref], "orcsdun01", "orcsdun02"; - setarray @DLevelName$[@Dref], "Level 1", "Level 2"; - setarray @DXcoords[@Dref], 32, 21; - setarray @DYcoords[@Dref], 169, 185; - setarray @DDepth[@Dref], 0, 1; - - QWS_Make_Dungeon_Menu 19; - -//----------------PAYON DUNGEON - setarray @pDmenuitems$[@Di], "Payon Dungeon"; - setarray @pDprice[@Di], $QW_BW_PRICE; - setarray @pDfee$[@Di], "$QW_BW_FEE"; - setarray @DLevels[@Di], 5; - - setarray @DGat$[@Dref], "pay_dun00", "pay_dun01", "pay_dun02", "pay_dun03", "pay_dun04"; - setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3", "Level 4", "Level 5"; - setarray @DXcoords[@Dref], 22, 19, 19, 155, 201; - setarray @DYcoords[@Dref], 180, 33, 63, 159, 204; - setarray @DDepth[@Dref], 0, 1, 2, 3, 4; - - QWS_Make_Dungeon_Menu 20; - -//----------------PYRAMIDS - setarray @pDmenuitems$[@Di], "Pyramids Dungeon"; - setarray @pDprice[@Di], $QW_BW_PRICE; - setarray @pDfee$[@Di], "$QW_BW_FEE"; - setarray @DLevels[@Di], 6; - - setarray @DGat$[@Dref], "moc_pryd01", "moc_pryd02", "moc_pryd03", "moc_pryd04", "moc_pryd05", "moc_pryd06"; - setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3", "Level 4", "Basement 1", "Basement 2"; - setarray @DXcoords[@Dref], 192, 10, 100, 181, 94, 192; - setarray @DYcoords[@Dref], 9, 192, 92, 11, 96, 8; - setarray @DDepth[@Dref], 0, 1, 2, 3, 1, 2; - - QWS_Make_Dungeon_Menu 21; - -//----------------SPHINX - setarray @pDmenuitems$[@Di], "Sphinx Dungeon"; - setarray @pDprice[@Di], $QW_BW_PRICE; - setarray @pDfee$[@Di], "$QW_BW_FEE"; - setarray @DLevels[@Di], 5; - - setarray @DGat$[@Dref], "in_sphinx1", "in_sphinx2", "in_sphinx3", "in_sphinx4", "in_sphinx5"; - setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3", "Level 4", "Level 5"; - setarray @DXcoords[@Dref], 192, 149, 210, 10, 100; - setarray @DYcoords[@Dref], 9, 81, 54, 222, 99; - setarray @DDepth[@Dref], 0, 1, 2, 3, 4; - - QWS_Make_Dungeon_Menu 22; - -//----------------SUNKEN SHIP - setarray @pDmenuitems$[@Di], "Sunken Ship Dungeon"; - setarray @pDprice[@Di], $QW_BW_PRICE; - setarray @pDfee$[@Di], "$QW_BW_FEE"; - setarray @DLevels[@Di], 2; - - setarray @DGat$[@Dref], "treasure01", "treasure02"; - setarray @DLevelName$[@Dref], "Level 1", "Level 2"; - setarray @DXcoords[@Dref], 69, 102; - setarray @DYcoords[@Dref], 24, 27; - setarray @DDepth[@Dref], 0, 1; - - QWS_Make_Dungeon_Menu 23; - -//----------------THANATOS TOWER - setarray @pDmenuitems$[@Di], "Thanatos Tower"; - setarray @pDprice[@Di], $QW_AW_PRICE; - setarray @pDfee$[@Di], "$QW_AW_FEE"; - setarray @DLevels[@Di], 13; - - setarray @DGat$[@Dref], "tha_t01", "tha_t02", "tha_t03", "tha_t04", "tha_t05", "tha_t06", "tha_t07", "tha_t08", "tha_t09", "tha_t10", "tha_t11", "tha_t12", "thana_boss"; - setarray @DLevelName$[@Dref], "Level 1", "Level 2", "Level 3", "Level 4", "Level 5", "Level 6", "Level 7", "Level 8", "Level 9", "Level 10", "Level 11", "Level 12", "Thanatos Boss"; - setarray @DXcoords[@Dref], 150, 150, 220, 59, 62, 206, 35, 105, 88, 168, 90, 129, 85; - setarray @DYcoords[@Dref], 35, 136, 158, 143, 11, 8, 166, 44, 145, 138, 36, 83, 76; - setarray @DDepth[@Dref], 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12; - - QWS_Make_Dungeon_Menu 24; - -//----------------TOY FACTORY - setarray @pDmenuitems$[@Di], "Toy Factory Dungeon"; - setarray @pDprice[@Di], $QW_AW_PRICE; - setarray @pDfee$[@Di], "$QW_AW_FEE"; - setarray @DLevels[@Di], 2; - - setarray @DGat$[@Dref], "xmas_dun01", "xmas_dun02"; - setarray @DLevelName$[@Dref], "Factory Warehouse", "Classifying Room"; - setarray @DXcoords[@Dref], 205, 129; - setarray @DYcoords[@Dref], 16, 133; - setarray @DDepth[@Dref], 0, 1; - - QWS_Make_Dungeon_Menu 25; - -//----------------TURTLE ISTLAND - setarray @pDmenuitems$[@Di], "Turtle Island Dungeon"; - setarray @pDprice[@Di], $QW_AW_PRICE; - setarray @pDfee$[@Di], "$QW_AW_FEE"; - setarray @DLevels[@Di], 4; - - setarray @DGat$[@Dref], "tur_dun01", "tur_dun02", "tur_dun03", "tur_dun04"; - setarray @DLevelName$[@Dref], "Outside", "Level 1", "Level 2", "Level 3"; - setarray @DXcoords[@Dref], 161, 148, 132, 100; - setarray @DYcoords[@Dref], 34, 256, 190, 192; - setarray @DDepth[@Dref], 0, 0, 1, 2; - - QWS_Make_Dungeon_Menu 26; - -//----------------UMBALA - setarray @pDmenuitems$[@Di], "Umbala Dungeon"; - setarray @pDprice[@Di], $QW_OW_PRICE; - setarray @pDfee$[@Di], "$QW_OW_FEE"; - setarray @DLevels[@Di], 3; - - setarray @DGat$[@Dref], "um_dun01", "um_dun02", "yggdrasil01"; - setarray @DLevelName$[@Dref], "Carpenter's Shop in The Tree", "Passage to a Foreign World", "Hvergelmir's Fountain"; - setarray @DXcoords[@Dref], 205, 48, 40; - setarray @DYcoords[@Dref], 26, 30, 63; - setarray @DDepth[@Dref], 0, 1, 2; - - QWS_Make_Dungeon_Menu 27; - -//----------------Cancel - setarray @pDmenuitems$[@Di], "Cancel"; - setarray @pDprice[@Di], 0; - - set @Dmenulist$[@Dj],@pDmenuitems$[@Di]; - set @Dmenuref[@Dj],57005; // 57005='dead' in hex - return; - -//----------------Make Dungeon Menu Function - -function QWS_Make_Dungeon_Menu { - set @tempdungeonmenubin,1; - if (getarg(0) == 0) goto menu_item; - set @temploopdungeonmenu,0; - do { - set @tempdungeonmenubin, @tempdungeonmenubin * 2; - set @temploopdungeonmenu, @temploopdungeonmenu + 1; - }while (getarg(0) > @temploopdungeonmenu); -// check marker and make menu item -menu_item: - if ((@tempdungeonmenubin & ##QWS_D_Unlock) != @tempdungeonmenubin) { - setarray @DLocRef[@Di], @Dref; - set @Dref, @Dref+@DLevels[@Di]; - set @Di,@Di+1; - return; - } - if ($QW_MapUserShow == 1) { - set @tempmapusers,0; - set @mapusersloop,0; - do { - set @tempmapusers,(getmapusers(@DGat$[@Dref+@mapusersloop]) + @tempmapusers); - set @mapusersloop, (@mapusersloop + 1); - } while (@DLevels[@Di] > @mapusersloop); - if (@pDprice[@Di] != 0) set @Dmenulist$[@Dj], @pDmenuitems$[@Di]+" ["+@tempmapusers+"] -> "+@pDprice[@Di]; - if (@pDprice[@Di] == 0) set @Dmenulist$[@Dj], @pDmenuitems$[@Di]+" ["+@tempmapusers+"]"; - set @Dmenuref[@Dj],@Di; - set @Dj,@Dj+1; - setarray @DLocRef[@Di], @Dref; - set @Dref, @Dref+@DLevels[@Di]; - set @Di,@Di+1; - return; - } - if (@pDprice[@Di] != 0) set @Dmenulist$[@Dj], @pDmenuitems$[@Di]+" -> "+@pDprice[@Di]; - if (@pDprice[@Di] == 0) set @Dmenulist$[@Dj], @pDmenuitems$[@Di]; - set @Dmenuref[@Dj],@Di; - set @Dj,@Dj+1; - setarray @DLocRef[@Di], @Dref; - set @Dref, @Dref+@DLevels[@Di]; - set @Di,@Di+1; - return; -} -} - -function script QWS_DLarray { -//----------------Start building Menu - set @DWref,@DLocRef[@DwarpMenu]; // reference to the arrays with leveldata - set @DWi,0; // loop counter - set @DWj,0; // menu lines counter - cleararray @DWLmenulist$[0],"",20; // Clearing the array to get rid off ghost items in menu - do { - if ($QW_DL == 0)||($QW_DDL >= @DDepth[@DWref]) { - set @warpprice, (@pDprice[@DwarpMenu]+ (getd(@pDfee$[@DwarpMenu])*@DDepth[@DWref])); - if (@warpprice != 0)&&($QW_MapUserShow == 0) set @DWLmenulist$[@DWj], @DLevelName$[@DWref]+" -> "+@warpprice; - if (@warpprice == 0)&&($QW_MapUserShow == 0) set @DWLmenulist$[@DWj], @DLevelName$[@DWref]; - if (@warpprice != 0)&&($QW_MapUserShow == 1) set @DWLmenulist$[@DWj], @DLevelName$[@DWref]+" ["+getmapusers(@DGat$[@DWref])+"] -> "+@warpprice; - if (@warpprice == 0)&&($QW_MapUserShow == 1) set @DWLmenulist$[@DWj], @DLevelName$[@DWref]+" ["+getmapusers(@DGat$[@DWref])+"]"; - set @DWLmenuref[@DWj],@DWref; - set @DWj,@DWj+1; - } - set @DWref, @DWref+1; - set @DWi,@DWi+1; - } while (@DWi < @DLevels[@DwarpMenu]); - set @DWLmenulist$[@DWj], "Exit"; - set @DWLmenuref[@DWj],57005; // 57005='dead' in hex - return; -} - -//================Dungeon=Warpras=That=Only=Unlock================= - -function script QWS_Dungeon_Warpra { - function QWS_D_getbin; - function QWS_D_setbin; - - if ((QWS_D_getbin(getarg(0)) == 0) && (getarg(1) != "")) { - mes "[Warpra]"; - mes getarg(1)+" unlocked!"; - QWS_D_setbin(getarg(0)); - return; - } else if (QWS_D_getbin(getarg(0)) == 1) { - mes "[Warpra]"; - mes "Sorry, I can only unlock this location."; - } else - debugmes "QWS_Dungeon_Warpra error, improper syntax?"; - return; - -function QWS_D_setbin { - set @tempsetbindata,1; - if (getarg(0) == 0) goto binset; - set @temploopsetbin,0; - do { - set @tempsetbindata, @tempsetbindata * 2; - set @temploopsetbin, @temploopsetbin + 1; - } while (getarg(0) > @temploopsetbin); -binset: - set ##QWS_D_Unlock,(##QWS_D_Unlock | @tempsetbindata); - return; -} - -function QWS_D_getbin { - set @tempgetbindata,1; - if (getarg(0) == 0) goto binget; - set @temploopgetbin,0; - do { - set @tempgetbindata, @tempgetbindata * 2; - set @temploopgetbin, @temploopgetbin + 1; - } while (getarg(0) > @temploopgetbin); -binget: - if ((@tempgetbindata & ##QWS_D_Unlock) == @tempgetbindata) return 1; - return 0; -} -} - -//==========================Town=Warpras=========================== - -function script QWS_Town_Warpra { - function QWS_T_getbin; - function QWS_T_setbin; - - if ((QWS_T_getbin(getarg(0)) == 0) && (getarg(1) != "")) { - mes "[Warpra]"; - mes getarg(1)+" unlocked!"; - QWS_T_setbin(getarg(0)); - return; - } else if (QWS_T_getbin(getarg(0)) == 1) { - callfunc "Q_Warpra",0; - } else - debugmes "QWS_Town_Warpra error, improper syntax ?"; - return; - -function QWS_T_setbin { - set @tempsetbindata,1; - if (getarg(0) == 0) goto binset; - set @temploopsetbin,0; - do { - set @tempsetbindata, @tempsetbindata * 2; - set @temploopsetbin, @temploopsetbin + 1; - } while (getarg(0) > @temploopsetbin); -binset: - set ##QWS_T_Unlock,(##QWS_T_Unlock | @tempsetbindata); - return; -} - -function QWS_T_getbin { - set @tempgetbindata,1; - if (getarg(0) == 0) goto binget; - set @temploopgetbin,0; - do { - set @tempgetbindata, @tempgetbindata * 2; - set @temploopgetbin, @temploopgetbin + 1; - } while (getarg(0) > @temploopgetbin); -binget: - if ((@tempgetbindata & ##QWS_T_Unlock) == @tempgetbindata) return 1; - return 0; -} -} -//============================Warpras============================== - -- script Warpra#0 FAKE_NPC,{ callfunc "Q_Warpra",1; } -alb2trea,73,101,4 duplicate(Warpra#0) Warpra#1 4_F_KAFRA5 -ama_fild01,178,325,1 duplicate(Warpra#0) Warpra#2 4_F_KAFRA5 -gef_fild10,71,339,4 duplicate(Warpra#0) Warpra#3 4_F_KAFRA5 -izlu2dun,104,82,4 duplicate(Warpra#0) Warpra#4 4_F_KAFRA5 -mjolnir_02,85,363,4 duplicate(Warpra#0) Warpra#5 4_F_KAFRA5 -moc_fild04,207,331,4 duplicate(Warpra#0) Warpra#6 4_F_KAFRA5 -moc_fild19,106,97,4 duplicate(Warpra#0) Warpra#7 4_F_KAFRA5 -moc_ruins,64,166,4 duplicate(Warpra#0) Warpra#8 4_F_KAFRA5 -niflheim,197,192,3 duplicate(Warpra#0) Warpra#9 4_F_KAFRA5 -pay_arche,39,135,4 duplicate(Warpra#0) Warpra#10 4_F_KAFRA5 -prt_fild05,273,215,4 duplicate(Warpra#0) Warpra#11 4_F_KAFRA5 -tur_dun01,148,239,4 duplicate(Warpra#0) Warpra#12 4_F_KAFRA5 -valkyrie,48,35,0 duplicate(Warpra#0) Warpra#13 4_F_KAFRA5 -yuno_fild03,37,135,4 duplicate(Warpra#0) Warpra#14 4_F_KAFRA5 - -alberta,32,240,4 script Warpra#15 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",1,"Alberta Town"; close; } -aldebaran,146,118,4 script Warpra#16 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",2,"Aldebaran Town"; close; } -ayothaya,216,171,5 script Warpra#17 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",4,"Ayotaya Town"; close; } -amatsu,193,81,1 script Warpra#18 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",3,"Amatsu Town"; close; } -comodo,195,158,4 script Warpra#19 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",5,"Comodo Town"; close; } -einbroch,229,196,5 script Warpra#20 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",7,"Einbroch Town"; close; } -einbech,173,131,5 script Warpra#21 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",6,"Einbech Town"; close; } -geffen,116,66,4 script Warpra#22 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",8,"Geffen Town"; close; } -gonryun,152,130,4 script Warpra#23 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",9,"Gonryun Town"; close; } -hugel,90,127,5 script Warpra#24 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",10,"Hugel Town"; close; } -jawaii,107,182,5 script Warpra#25 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",12,"Jawaii Town"; close; } -izlude,132,116,4 script Warpra#26 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",11,"Izlude Town"; close; } -lighthalzen,153,100,5 script Warpra#27 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",13,"Lighthalzen Town"; close; } -louyang,211,106,4 script Warpra#28 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",14,"Louyang Town"; close; } -morocc,157,95,4 script Warpra#29 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",16,"Morroc Town"; close; } -nif_fild01,319,77,1 script Warpra#30 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",17,"Niflheim Town"; close; } -payon,183,110,4 script Warpra#31 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",18,"Payon Town"; close; } -prontera,147,172,5 script Warpra#32 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",0,"Prontera Town"; close; } -umbala,133,130,4 script Warpra#33 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",19,"Umbala Town"; close; } -xmas,151,136,4 script Warpra#34 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",15,"Lutie Town"; close; } -yuno,138,162,4 script Warpra#35 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",20,"Yuno Town"; close; } -brasilis,201,222,4 script Warpra#36 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",21,"Brasilis Town"; close; } -dicastes01,194,194,6 script Warpra#37 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",22,"El Dicastes Town"; close; } -manuk,262,177,4 script Warpra#38 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",23,"Manuk Town"; close; } -mora,110,100,4 script Warpra#39 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",24,"Mora Town"; close; } -moscovia,216,196,6 script Warpra#40 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",25,"Moscovia Town"; close; } -rachel,135,116,4 script Warpra#41 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",26,"Rachel Town"; close; } -splendide,205,153,4 script Warpra#42 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",27,"Splendide Town"; close; } -veins,214,123,4 script Warpra#43 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",28,"Veins Town"; close; } -dewata,194,178,6 script Warpra#44 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",29,"Dewata Town"; close; } -eclage,107,37,4 script Warpra#45 4_F_KAFRA5,{ callfunc "QWS_Town_Warpra",30,"Eclage Town"; close; } - -abyss_02,274,266,1 script Warpra Helper#0 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",0,"Abyss Lake"; close; } -ama_dun02,192,118,5 script Warpra Helper#1 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",1,"Amatsu Dungeon"; close; } -anthell02,170,165,3 script Warpra Helper#2 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",2,"Ant Hell Dungeon"; close; } -ayo_dun02,258,193,5 script Warpra Helper#3 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",3,"Ayotaya Dungeon"; close; } -ein_dun02,292,282,1 script Warpra Helper#4 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",8,"Einbech Dungeon"; close; } -iz_dun03,202,47,2 script Warpra Helper#5 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",4,"Byalan Dungeon"; close; } -c_tower3,129,106,4 script Warpra Helper#6 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",5,"Clock Tower Dungeon"; close; } -mjo_dun02,39,25,4 script Warpra Helper#7 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",6,"Coal Mine Dungeon"; close; } -prt_sewb2,176,30,3 script Warpra Helper#8 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",7,"Culvert Dungeon"; close; } -gefenia03,137,34,0 script Warpra Helper#9 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",9,"Gefenia Dungeon"; close; } -gef_dun02,218,61,2 script Warpra Helper#10 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",10,"Gefen Dungeon"; close; } -glast_01,371,308,3 script Warpra Helper#11 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",11,"Glast Heim Dungeon"; close; } -gon_dun01,167,273,4 script Warpra Helper#12 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",12,"Gonryun Dungeon"; close; } -juperos_02,127,154,5 script Warpra Helper#13 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",14,"Juperos Cave"; close; } -kh_dun01,14,224,3 script Warpra Helper#14 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",28,"Kiel Dungeon"; close; } -lhz_dun02,156,151,5 script Warpra Helper#15 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",15,"Lighthalzen Bio Lab"; close; } -lou_dun02,168,264,4 script Warpra Helper#16 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",16,"Louyang Dungeon"; close; } -mag_dun02,46,41,3 script Warpra Helper#17 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",17,"Magma Dungeon"; close; } -odin_tem01,115,148,3 script Warpra Helper#18 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",18,"Odin Temple"; close; } -orcsdun01,185,11,3 script Warpra Helper#19 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",19,"Orc Dungeon"; close; } -pay_dun03,162,143,3 script Warpra Helper#20 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",20,"Payon Dungeon"; close; } -moc_pryd02,101,95,3 script Warpra Helper#21 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",21,"Pyramides Dungeon"; close; } -in_sphinx2,274,268,1 script Warpra Helper#22 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",22,"Sphinx Dungeon"; close; } -tha_t07,111,162,3 script Warpra Helper#23 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",24,"Thanatos Tower"; close; } -treasure02,104,40,3 script Warpra Helper#24 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",23,"Sunken Ship Dungeon"; close; } -xmas_dun02,124,131,3 script Warpra Helper#25 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",25,"Toy Factory Dungeon"; close; } -um_dun02,44,28,3 script Warpra Helper#26 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",27,"Umbala Dungeon"; close; } -tur_dun02,162,23,3 script Warpra Helper#27 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",26,"Turtle Island Dungeon"; close; } -prt_maze02,102,69,4 script Warpra Helper#28 4_F_KAFRA6,{ callfunc "QWS_Dungeon_Warpra",13,"Hidden Dungeon"; close; } diff --git a/npc/custom/etc/rpsroulette.txt b/npc/custom/etc/rpsroulette.txt deleted file mode 100644 index 331c0f0af..000000000 --- a/npc/custom/etc/rpsroulette.txt +++ /dev/null @@ -1,127 +0,0 @@ -//===== Hercules Script ====================================== -//= Rock Scissors Roulette -//===== By: ================================================== -//= acky -//===== Current Version: ===================================== -//= 1.2 -//===== Compatible With: ===================================== -//= Hercules SVN -//===== Description: ========================================= -//= Plays a hybrid Russian Roulette Rock Scissors Paper game. -//===== Additional Comments: ================================= -//= Prizes customizable, Added emotions. -//= 1.2 Fixes by Blackthunder and me [Poki#3] -//============================================================ - -cmd_in02,182,126,2 script Crazy Boris 4_M_03,{ - mes "Hey you! Up for Rock Scissors Roulette?"; - next; - switch (select("Let me play.","Explain the rules.","Leave")) { - case 1: - break; - case 2: - 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."; - next; - if (select("Let me play.","No thanks.") == 1) { - mes "Ok here we go..."; - break; - } - // else fall through - case 3: - mes "Pansy."; - close; - } - .@counter = 1; - while(true) { - mes "Rock... Paper..."; - - .@choice = select("^0000FFROCK!","^0000FFSCISSORS!","^0000FFPAPER!"); - if (.@lastchoice == .@choice) { - if (.@lastchoice == 1) - .@opponent = rand(1,3); - else if (.@lastchoice == 2) - .@opponent = rand(1,2); - else - .@opponent = rand(2,3); - } else { - .@opponent = rand(1,3); - } - .@lastchoice = .@choice; - - if (.@opponent == 1) - emotion e_rock; - else if (.@opponent == 2) - emotion e_scissors; - else - emotion e_paper; - - if (.@opponent == .@choice) { - // SAME - mes "Draw! Again!"; - continue; - } - - if ((.@choice == 1 && .@opponent == 3) - || (.@choice == 2 && .@opponent == 1) - || (.@choice == 3 && .@opponent == 2) - ) { - // LOSE - emotion e_heh; - mes "Boorah! You Lose!"; - next; - .@win = false; - } else { - //WIN - mes "Damnit, You Win!"; - emotion e_swt2; - next; - .@win = true; - } - - mes .@counter +" of 6"; - if (.@counter == 6) - mes "Say your prayers"; - .@pull = rand(1, 7 - .@counter); - ++.@counter; - next; - if (.@pull > 1) { - emotion e_pif; - mes "*^0000FFClick^000000* whew..."; - continue; - } - if (!.@win) { - specialeffect EF_SUI_EXPLOSION; - mes "*^0000FFClick^000000* *^FF0000BANG^000000*"; - mes "You're dead!"; - emotion e_gg; - Sp = 0; - unitkill getcharid(CHAR_ID_ACCOUNT); - close; - } - specialeffect EF_SUI_EXPLOSION; - mes "*^0000FFClick^000000* *^FF0000BANG^000000*"; - mes "OWWW @#$%^!! THAT HURT LIKE HELL!!"; - emotion e_omg; - next; - mes "Congratulations! You have won..."; - switch (rand(1,10)) { - case 1: setarray .@reward[0], 10,984; break; - case 3: setarray .@reward[0],100,601; break; // 100x Fly Wings - case 4: setarray .@reward[0], 8,603; break; // 8x Old Blue Box - case 5: setarray .@reward[0], 4,617; break; // 4x Old Violet Box - case 6: setarray .@reward[0], 1,616; break; // 1x Old Card Album - case 7: setarray .@reward[0], 10,604; break; // 10x Dead Branch - case 8: setarray .@reward[0], 3,969; break; // 3x Gold - case 10: setarray .@reward[0],20,505; break; // 20x Blue Potion - case 2: - case 9: - setarray .@reward[0], 10,985; - } - mes .@reward[0] +"x "+ getitemname(.@reward[1]) +"!"; - getitem .@reward[1], .@reward[0]; - close; - } - end; -} diff --git a/npc/custom/etc/shifty_assassin.txt b/npc/custom/etc/shifty_assassin.txt deleted file mode 100644 index 4acf7c8ac..000000000 --- a/npc/custom/etc/shifty_assassin.txt +++ /dev/null @@ -1,188 +0,0 @@ -//===== Hercules Script ====================================== -//= Shifty Assassin -//===== By: ================================================== -//= acky -//===== Current Version: ===================================== -//= 1.1.2 -//===== Description: ========================================= -//= Players buy ninjas to assassinate other players -//===== Additional Comments: ================================= -//= 1.1.1 Changed all gmcommand to atcommand as Poki#3 suggested. [Vicious] -//= 1.1.2 Updated WoE Check. [Paradox924X] -//============================================================ - -morocc,148,86,5 script Shifty Assassin 4_F_JOB_ASSASSIN,{ - set $ninja_price,250000; - - freeloop(true); - while (true) { - mes "[Shifty Assassin]"; - mes "What do you want?"; - next; - switch (select("Buy Ninjas", "Assassinate somebody", "Check your Ninjas", getgmlevel() > 90 ? "Add Ninjas" : "", "Cancel")) { - case 1: - 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) { - mes "[Shifty Assassin]"; - mes "There are no ninjas left to buy."; - close; - } - if ($ninja_avail < @buy) { - mes "[Shifty Assassin]"; - mes "There aren't that many ninjas to buy."; - next; - continue; - } - set @price,@buy*$ninja_price; - if (Zeny < @price ) { - mes "[Shifty Assassin]"; - mes "You do not have enough zeny."; - close; - } - - mes "[Shifty Assassin]"; - mes "That will cost you ^0000FF" + @price + " zeny^000000."; - next; - if (select("Continue", "Cancel") != 1) { - callsub(OnExit); - end; - } - Zeny -= @price; - set #ninjas,#ninjas+@buy; - set $ninja_avail,$ninja_avail-@buy; - - mes "[Shifty Assassin]"; - mes "Thank you."; - close; - case 2: - if (agitcheck()) { - // NINJAS BUSY FOR WOE // - mes "[Shifty Assassin]"; - mes "Sorry, all my ninjas are busy doing War of Emperium."; - close; - } - 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; - if (select("Continue", "Cancel") != 1) { - callsub(OnExit); - end; - } - 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) { - mes "[Shifty Assassin]"; - mes "You can't kill anyone without ninjas."; - next; - continue; - } - if (@number > #ninjas) { - mes "[Shifty Assassin]"; - mes "You do not have that many ninjas."; - next; - continue; - } - if (@number > 10) { - mes "[Shifty Assassin]"; - mes "You can only send 10 ninjas max."; - next; - continue; - } - set @chance,rand (1,12); - set #ninjas,#ninjas-@number; - set #ninjas,#ninjas+#ninjasr; - set #ninjasr,0; - if (@number < @chance) { - // FAILED ATTACK // - 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(PC_NAME) +"'s Ninja attack.",8; - close; - } - // 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(PC_NAME) + "@kill "+@name$; - announce @name$+" has been assassinated by " + strcharinfo(PC_NAME) +"'s Ninjas.",bc_npc; - close; - case 3: - mes "[Shifty Assassin]"; - mes "You have:"; - mes "^FF0000" + #ninjas + "^000000 Active Ninjas."; - mes "^0000FF" + #ninjasr + "^000000 Resting Ninjas."; - next; - continue; - case 4: - if (getgmlevel() <= 90) - end; - 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; - case 5: - callsub(OnExit); - end; - } - end; - } - -OnExit: - 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; -} diff --git a/npc/custom/etc/stock_market.txt b/npc/custom/etc/stock_market.txt deleted file mode 100644 index 465840dfe..000000000 --- a/npc/custom/etc/stock_market.txt +++ /dev/null @@ -1,782 +0,0 @@ -//===== Hercules Script ====================================== -//= Stock Market Game -//===== By: ================================================== -//= acky -//===== Current Version: ===================================== -//= 1.3.1 -//===== 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 -//============================================================ - -- script sharenames FAKE_NPC,{ - 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; -} - -prontera,140,181,5 script Stock Market::stockmarket 4_M_MANAGER,{ - // 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) { - mes "[Stock Market]"; - mes "Trading is currently closed."; - if (getgmlevel() > 90) - callsub(OnGMOpen); - close; - } - - freeloop(true); - while (true) { - 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() > 90) { - if (select("GM Menu", "Normal Menu") == 1) - callsub(OnGMMenu); - } - switch (select("Portfolio", "Buy Shares", "Sell Shares", "Cancel")) { - case 1: - mes "[Stock Market]"; - if (#S1 >= 1) { - set @S1,#S1*$S1; - mes $S1N$ + ": " + #S1 + " x " + $S1 + "z = " + @S1 + "z"; - } - if (#S2 >= 1) { - set @S2,#S2*$S2; - mes $S2N$ + ": " + #S2 + " x " + $S2 + "z = " + @S2 + "z"; - } - if (#S3 >= 1) { - set @S3,#S3*$S3; - mes $S3N$ + ": " + #S3 + " x " + $S3 + "z = " + @S3 + "z"; - } - if (#S4 >= 1) { - set @S4,#S4*$S4; - mes $S4N$ + ": " + #S4 + " x " + $S4 + "z = " + @S4 + "z"; - } - if (#S5 >= 1) { - set @S5,#S5*$S5; - mes $S5N$ + ": " + #S5 + " x " + $S5 + "z = " + @S5 + "z"; - } - if (#S6 >= 1) { - set @S6,#S6*$S6; - mes $S6N$ + ": " + #S6 + " x " + $S6 + "z = " + @S6 + "z"; - } - if (#S7 >= 1) { - set @S7,#S7*$S7; - mes $S7N$ + ": " + #S7 + " x " + $S7 + "z = " + @S7 + "z"; - } - if (#S8 >= 1) { - set @S8,#S8*$S8; - mes $S8N$ + ": " + #S8 + " x " + $S8 + "z = " + @S8 + "z"; - } - if (#S9 >= 1) { - set @S9,#S9*$S9; - mes $S9N$ + ": " + #S9 + " x " + $S9 + "z = " + @S9 + "z"; - } - if (#S10 >= 1) { - set @S10,#S10*$S10; - mes $S10N$ + ": " + #S10 + " x " + $S10 + "z = " + @S10 + "z"; - } - set @total,@S1 + @S2 + @S3 + @S4 + @S5 + @S6 + @S7 + @S8 + @S9 + @S10; - mes "Total value: "+@total+"z"; - next; - continue; - case 2: - 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; - if (select("Continue", "Cancel") != 1) - continue; - - 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) { - mes "^FF0000Minimum of " + $S_BuyMin + " shares can be bought at a time.^000000"; - next; - continue; - } - if (@buyamount > $S_BuyMax) { - mes "^FF0000Maximum number of " + $S_BuyMax + " shares can be bought at a time.^000000"; - next; - continue; - } - if (Zeny < $S_Trans) { - callsub(OnNoZeny); - continue; - } - Zeny -= $S_Trans; - - if (@buyname$ == $S1N$) { - set @price,@buyamount*$S1; - if (Zeny < @price) { - callsub(OnNoZeny); - continue; - } - set #S1,#S1+@buyamount; - set @price,@buyamount*$S1; - Zeny -= @price; - mes "Bought " + @buyamount + " " + $S1N$ + " shares."; - mes "Lost ^0000FF"+@price+"z^000000."; - next; - } else if (@buyname$ == $S2N$) { - set @price,@buyamount*$S2; - if (Zeny < @price) { - callsub(OnNoZeny); - continue; - } - set #S2,#S2+@buyamount; - Zeny -= @price; - mes "Bought " + @buyamount + " " + $S2N$ + " shares."; - mes "Lost ^0000FF"+@price+"z^000000."; - next; - } else if (@buyname$ == $S3N$) { - set @price,@buyamount*$S3; - if (Zeny < @price) { - callsub(OnNoZeny); - continue; - } - set #S3,#S3+@buyamount; - Zeny -= @price; - mes "Bought " + @buyamount + " " + $S3N$ + " shares."; - mes "Lost ^0000FF"+@price+"z^000000."; - next; - } else if (@buyname$ == $S4N$) { - set @price,@buyamount*$S4; - if (Zeny < @price) { - callsub(OnNoZeny); - continue; - } - set #S4,#S4+@buyamount; - Zeny -= @price; - mes "Bought " + @buyamount + " " + $S4N$ + " shares."; - mes "Lost ^0000FF"+@price+"z^000000."; - next; - } else if (@buyname$ == $S5N$) { - set @price,@buyamount*$S5; - if (Zeny < @price) { - callsub(OnNoZeny); - continue; - } - set #S5,#S5+@buyamount; - Zeny -= @price; - mes "Bought " + @buyamount + " " + $S5N$ + " shares."; - mes "Lost ^0000FF"+@price+"z^000000."; - next; - } else if (@buyname$ == $S6N$) { - set @price,@buyamount*$S6; - if (Zeny < @price) { - callsub(OnNoZeny); - continue; - } - set #S6,#S6+@buyamount; - Zeny -= @price; - mes "Bought " + @buyamount + " " + $S6N$ + " shares."; - mes "Lost ^0000FF"+@price+"z^000000."; - next; - } else if (@buyname$ == $S7N$) { - set @price,@buyamount*$S7; - if (Zeny < @price) { - callsub(OnNoZeny); - continue; - } - set #S7,#S7+@buyamount; - Zeny -= @price; - mes "Bought " + @buyamount + " " + $S7N$ + " shares."; - mes "Lost ^0000FF"+@price+"z^000000."; - next; - } else if (@buyname$ == $S8N$) { - set @price,@buyamount*$S8; - if (Zeny < @price) { - callsub(OnNoZeny); - continue; - } - set #S8,#S8+@buyamount; - Zeny -= @price; - mes "Bought " + @buyamount + " " + $S8N$ + " shares."; - mes "Lost ^0000FF"+@price+"z^000000."; - next; - } else if (@buyname$ == $S9N$) { - set @price,@buyamount*$S9; - if (Zeny < @price) { - callsub(OnNoZeny); - continue; - } - set #S9,#S9+@buyamount; - Zeny -= @price; - mes "Bought " + @buyamount + " " + $S9N$ + " shares."; - mes "Lost ^0000FF"+@price+"z^000000."; - next; - } else if (@buyname$ == $S10N$) { - set @price,@buyamount*$S10; - if (Zeny < @price) { - callsub(OnNoZeny); - continue; - } - set #S10,#S10+@buyamount; - Zeny -= @price; - mes "Bought " + @buyamount + " " + $S10N$ + " shares."; - mes "Lost ^0000FF"+@price+"z^000000."; - next; - } else { - mes "^FF0000Invalid share name.^000000"; - next; - continue; - } - continue; - case 3: - 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) { - mes "^FF0000Invalid integer.^000000"; - next; - continue; - } - - if (Zeny < $S_Trans) { - callsub(OnNoZeny); - continue; - } - Zeny -= $S_Trans; - if (@sellname$ == $S1N$) { - if (@sellamount > #S1) { - callsub(OnSellTooHigh); - continue; - } - set @price,@sellamount*$S1; - set #S1,#S1-@sellamount; - Zeny += @price; - next; - mes "Sold " + @sellamount + " " + $S1N$ + " shares."; - mes "Earned ^0000FF"+@price+"z^000000."; - next; - } else if (@sellname$ == $S2N$) { - if (@sellamount > #S2) { - callsub(OnSellTooHigh); - continue; - } - set @price,@sellamount*$S2; - set #S2,#S2-@sellamount; - Zeny += @price; - next; - mes "Sold " + @sellamount + " " + $S2N$ + " shares."; - mes "Earned ^0000FF"+@price+"z^000000."; - next; - } else if (@sellname$ == $S3N$) { - if (@sellamount > #S3) { - callsub(OnSellTooHigh); - continue; - } - set @price,@sellamount*$S3; - set #S3,#S3-@sellamount; - Zeny += @price; - next; - mes "Sold " + @sellamount + " " + $S3N$ + " shares."; - mes "Earned ^0000FF"+@price+"z^000000."; - next; - } else if (@sellname$ == $S4N$) { - if (@sellamount > #S4) { - callsub(OnSellTooHigh); - continue; - } - set @price,@sellamount*$S4; - set #S4,#S4-@sellamount; - Zeny += @price; - next; - mes "Sold " + @sellamount + " " + $S4N$ + " shares."; - mes "Earned ^0000FF"+@price+"z^000000."; - next; - } else if (@sellname$ == $S5N$) { - if (@sellamount > #S5) { - callsub(OnSellTooHigh); - continue; - } - set @price,@sellamount*$S5; - set #S5,#S5-@sellamount; - Zeny += @price; - next; - mes "Sold " + @sellamount + " " + $S5N$ + " shares."; - mes "Earned ^0000FF"+@price+"z^000000."; - next; - } else if (@sellname$ == $S6N$) { - if (@sellamount > #S6) { - callsub(OnSellTooHigh); - continue; - } - set @price,@sellamount*$S6; - set #S6,#S6-@sellamount; - Zeny += @price; - next; - mes "Sold " + @sellamount + " " + $S6N$ + " shares."; - mes "Earned ^0000FF"+@price+"z^000000."; - next; - } else if (@sellname$ == $S7N$) { - if (@sellamount > #S7) { - callsub(OnSellTooHigh); - continue; - } - set @price,@sellamount*$S7; - set #S7,#S7-@sellamount; - Zeny += @price; - next; - mes "Sold " + @sellamount + " " + $S7N$ + " shares."; - mes "Earned ^0000FF"+@price+"z^000000."; - next; - } else if (@sellname$ == $S8N$) { - if (@sellamount > #S8) { - callsub(OnSellTooHigh); - continue; - } - set @price,@sellamount*$S8; - set #S8,#S8-@sellamount; - Zeny += @price; - next; - mes "Sold " + @sellamount + " " + $S8N$ + " shares."; - mes "Earned ^0000FF"+@price+"z^000000."; - next; - } else if (@sellname$ == $S9N$) { - if (@sellamount > #S9) { - callsub(OnSellTooHigh); - continue; - } - set @price,@sellamount*$S9; - set #S9,#S9-@sellamount; - Zeny += @price; - next; - mes "Sold " + @sellamount + " " + $S9N$ + " shares."; - mes "Earned ^0000FF"+@price+"z^000000."; - next; - } else if (@sellname$ == $S10N$) { - if (@sellamount > #S10) { - callsub(OnSellTooHigh); - continue; - } - set @price,@sellamount*$S10; - set #S10,#S10-@sellamount; - Zeny += @price; - next; - mes "Sold " + @sellamount + " " + $S10N$ + " shares."; - mes "Earned ^0000FF"+@price+"z^000000."; - next; - } else { - mes "^FF0000Invalid Share Name.^000000"; - next; - } - continue; - case 4: - mes "[Stock Market]"; - mes "Goodbye."; - close; - } - } - end; - -OnSellTooHigh: - mes "^FF0000You don't have that many shares.^000000"; - next; - return; - -OnNoZeny: - mes "^FF0000You do not have enough zeny.^000000"; - next; - return; - - // GM MENU // -OnGMMenu: - freeloop(true); - while (true) { - mes "[Stock Market]"; - mes "Master, do you require anything?"; - switch (select("Fluctuate Market", "Reset Prices", "Nothing")) { - case 1: - 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; - case 2: - callsub(OnGMOpen); - continue; - case 3: - break; - } - break; - } - return; - -OnGMOpen: - if (select("Set prices to...", "Cancel") != 1) { - mes "Farewell."; - close; - } - mes "Are you sure you want to reset?"; - mes "^FF0000All share values will become the same.^000000"; - next; - if (select("Yes", "No") != 1) - return; - 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; -} diff --git a/npc/custom/events/cluckers.txt b/npc/custom/events/cluckers.txt deleted file mode 100644 index 7047ca00e..000000000 --- a/npc/custom/events/cluckers.txt +++ /dev/null @@ -1,114 +0,0 @@ -//===== Hercules Script ======================================= -//= Cluck! Cluck! Boom! -//===== By: ================================================== -//= Keale -//===== Current Version: ===================================== -//= 1.2a -//===== Description: ========================================= -//= Click the chicken and try retrieve the item at a low -//= chance. If you fail he will nuke, freeze, stone, -//= stun, or make you fall asleep. -//= The prize is configurable and triggered by the NPC. -//===== Additional Comments: ================================= -//= 1.0 First release. -//= 1.1 Using 'switch rand' instead. -//= 1.2 Cleaned and standardized. [Euphy] -//= 1.2a Switched 'atcommand' to 'unitskilluseid'. -//============================================================ - -prontera,156,219,4 script Cluckers 4_NFCOCK,{ - - set .@GMAccess,80; // GM level required to access NPC - - if (.startcluck) { - specialeffect(EF_HIT3, AREA, playerattached()); - switch(rand(15)) { - case 0: npctalk "CLUUUUUUCK!!!"; unitskilluseid getcharid(CHAR_ID_ACCOUNT),"NPC_SELFDESTRUCTION",1; emotion 23; break; - case 1: npctalk "Cluuuuuck!~"; break; - case 2: unitskilluseid getcharid(CHAR_ID_ACCOUNT),"NPC_SELFDESTRUCTION",1; break; - case 3: sc_start SC_FREEZE,10000,0; break; - case 4: npctalk "CLUUUUUUUUUCK!!!"; unitskilluseid getcharid(CHAR_ID_ACCOUNT),"NPC_SELFDESTRUCTION",1; emotion 23; break; - case 5: sc_start SC_SLEEP,10000,0; break; - case 6: sc_start SC_STONE,10000,0; emotion 29; break; - case 7: npctalk "CLUUUUUUCK!!!"; unitskilluseid getcharid(CHAR_ID_ACCOUNT),"NPC_SELFDESTRUCTION",1; emotion 23; break; - case 8: npctalk "Cluck! CLUUUCK!!"; unitskilluseid getcharid(CHAR_ID_ACCOUNT),"NPC_SELFDESTRUCTION",1; emotion 23; break; - case 9: sc_start SC_STUN,10000,0; break; - case 10: sc_start SC_SLEEP,10000,0; emotion 29; break; - case 11: npctalk "Cluck! Cluck!"; break; - case 12: sc_start SC_STUN,10000,0; break; - case 13: unitskilluseid getcharid(CHAR_ID_ACCOUNT),"NPC_SELFDESTRUCTION",1; break; - default: - if (rand(50) < 4) { - npctalk "WOOF!..........."; - specialeffect(EF_SPHERE, AREA, playerattached()); - announce "[Cluck! Cluck! Boom!] " + strcharinfo(PC_NAME) + " squeezed out the prize! Well done!",0; - getitem $cluck_item_id,$cluck_item_amount; - set .startcluck,0; - } else { - npctalk "Cluck! CLUUUCK!!"; - unitskilluseid getcharid(CHAR_ID_ACCOUNT),"NPC_SELFDESTRUCTION",1; - } - break; - } - end; - } - mes "[Cluckers]"; - if (getgmlevel() >= .@GMAccess) { - mes "Cluck cluck! Cluuuuuck? ^FF0000~Hi GM " + strcharinfo(PC_NAME) + ", Wanna play today?~^000000"; - mes "Cluck cluck... CLUCK! ^FF0000~Just tell me what to do!~^000000"; - next; - while(1) switch(select("Start Event", "Check Prize", "Set Prize", "Not today Cluckers")) { - case 1: - mes "[Cluckers]"; - mes "CLUCK! ^FF0000~Sure thing!~^000000"; - emotion 33; - close2; - announce "[Cluck! Cluck! Boom!] is about to start in Prontera!",bc_blue; - initnpctimer; - end; - case 2: - mes "[Cluckers]"; - mes "Cluck, cluck cluck... Cluck! ^FF0000~The current prize is^000000 ^008000"+ $cluck_item_amount +" "+ getitemname($cluck_item_id) +".^000000"; - next; - break; - case 3: - mes "[Cluckers]"; - mes "Cluck cluck? Cluck??? ^FF0000~What should the prize for winning be? Please input the ID.~^000000"; - input $cluck_item_id; - next; - mes "[Cluckers]"; - mes "Cluck? cluuuck? ^FF0000~How many if this item should I give away?~^000000"; - input $cluck_item_amount; - next; - mes "[Cluckers]"; - mes "Cluck cluck..? Cluck. ^FF0000~So, the prize is^000000 ^008000"+ $cluck_item_amount +" "+ getitemname($cluck_item_id) +"^000000? ^FF0000Great.~^000000"; - emotion 33; - next; - break; - case 4: - mes "[Cluckers]"; - mes "Cluck cluck cluck..."; - close; - } - } - mes "Cluck cluck! Cluuuuuck?"; - mes "Cluck...."; - close; - -OnTimer10000: - announce "Please hurry behind the fountain if you want to play with the crazy chicken!",bc_blue; - end; -OnTimer20000: - announce "Cluckers has eaten one of my items! I'm too scared to retrieve it!",bc_blue; - end; -OnTimer30000: - announce "Click the insane chicken and try squeeze out the item, if you're lucky you'll win! Are you ready?",bc_blue; - end; -OnTimer40000: - announce "GO! Click the chicken to get the prize!",bc_blue; - stopnpctimer; - if (!$cluck_item_id) set $cluck_item_id,512; - if (!$cluck_item_amount) set $cluck_item_amount,1; - set .startcluck,1; - end; -} diff --git a/npc/custom/events/disguise.txt b/npc/custom/events/disguise.txt deleted file mode 100644 index fde5e544a..000000000 --- a/npc/custom/events/disguise.txt +++ /dev/null @@ -1,258 +0,0 @@ -//===== Hercules Script ====================================== -//= Disguise Event -//===== By: ================================================== -//= GmOcean -//===== Current Version: ===================================== -//= 5.1 -//===== Additional Comments: ================================= -//= Note: This script requires PCRE to run properly. -//= 5.0 Last update by GmOcean. -//= 5.1 Cleaned and standardized, mostly. [Euphy] -//= 5.2 Fix a bug that causes this event run indefinitely [AnnieRuru] -//============================================================ - -prontera,160,155,4 script Disguise Event 4_M_NFDEADMAN,{ - - // Currently set to run every two hours. - // To change times, edit the OnClock labels below. - - set .@GMLevel,60; // GM level required to access NPC. - set .@n$,"[^0000FFDisguise NPC^000000]"; - - if (getgmlevel()>=.@GMLevel) { - mes .@n$; - mes "Select an option."; - next; - switch(select("Turn ON/OFF Event", "Event Settings")) { - case 1: - mes .@n$; - if (.EventON) { - mes "The Event is currently: [^0000FFON^000000]"; - mes "Would you like to turn it OFF?"; - } else { - mes "The Event is currently: [^FF0000OFF^000000]"; - mes "Would you like to turn it ON?"; - } - if(select("Yes", "No")==2) close; - if (.EventON) { - set .EventON,0; set .Timer,0; - setnpctimer 0; stopnpctimer; - announce "A GM has decided to turn the Disguise Event off. As a result no further prizes will be given.",bc_map | bc_blue; - deletepset 1; - setnpcdisplay "Disguise Event", 4_M_NFDEADMAN; - close; - } - set .EventON,1; set .Timer,1; setnpctimer 0; initnpctimer; - set .ResetCounter,.ResetCounter+1; - announce "The Disguise Event will begin in 3 minutes.",bc_all | bc_blue; - announce "The Event is being held in Prontera.",bc_all | bc_blue; - close; - case 2: - mes .@n$; - mes "Pick a setting to modify."; - next; - switch(select("Monster Display", "Number of Rounds", "Prize Settings")) { - case 1: - setarray .@r$[0],"Disguise as all monsters.","Disguise as MVPs only."; - mes .@n$; - mes "Choose a disguise rule."; - next; - set .Rule, select(implode(.@r$,":")); - mes .@n$; - mes "The Disguise Rule has been set:"; - mes " > ^0055FF"+.@r$[.Rule-1]+"^000000"; - close; - case 2: - mes .@n$; - mes "Input the number of rounds you want the event to last."; - mes "Current number: [^0000FF"+.Rounds+"^000000]"; - next; - input .@Rounds; - set .Rounds,.@Rounds; - mes .@n$; - mes "The number of rounds has been changed to "+.Rounds+"."; - close; - case 3: - mes .@n$; - mes "Input the Item ID of the prize given each round."; - mes "Current item: [^0000FF"+getitemname(.Prize)+"^000000] (ID #"+.Prize+")"; - next; - input .@Prize; - mes .@n$; - if (getitemname(.@Prize)=="" || getitemname(.@Prize)=="null") { - mes "That item does not exist. Please try again."; - close; - } - set .Prize,.@Prize; - mes "Input the amount to be given."; - next; - input .@amount; - mes .@n$; - if (.@amount<=0 || .@amount>=10000) { - mes "That amount is invalid. Using default ammount of 1."; - set .@amount,1; - next; - mes .@n$; - } - set .PrizeAmt,.@amount; - mes "The Prize has been changed successfully."; - mes "Prize: "+.PrizeAmt+"x [^0000FF"+getitemname(.Prize)+"^000000]"; - close; - } - } - } - if (.EventON) end; - mes .@n$; - mes "Welcome."; - mes "How may I be of assistance?"; - if(select("Information", "Nothing, just passing through.")==2) close; - next; - mes .@n$; - mes "This event is quite simple."; - mes "At the start of the event, I will"; - mes "disguise myself as a random"; - mes "monster. You have to shout"; - mes "that monter's name out loud."; - next; - mes "If you are correct, you will receive"; - mes "a prize. If not, keep trying!"; - mes "That's all that there is to this event."; - close; - -OnInit: - set .EventON,0; - set .Wait,0; - set .Winner,0; - set .ResetCounter,0; - set .Rounds,10; - set .Prize,512; - set .PrizeAmt,1; - set .Rule,1; - setarray .MVP[0], OSIRIS, BAPHOMET, DOPPELGANGER, MISTRESS, GOLDEN_BUG, ORK_HERO, DRAKE, EDDGA, MAYA, MOONLIGHT, - PHARAOH, PHREEONI, ORC_LORD, KNIGHT_OF_WINDSTORM, GARM, DARK_LORD, TURTLE_GENERAL, LORD_OF_DEATH, DRACULA, EVENT_BAPHO, - DARK_SNAKE_LORD, INCANTATION_SAMURAI, PORING_V, AMON_RA, TAO_GUNKA, RSX_0806, BACSOJIN_, B_SEYREN, B_EREMES, B_HARWORD, - B_MAGALETA, B_SHECIL, B_KATRINN, B_YGNIZEM, APOCALIPS_H, LADY_TANEE, THANATOS, DETALE, KIEL_, RANDGRIS, - GLOOMUNDERNIGHT, KTULLANUX, ATROCE, G_MAGALETA_, IFRIT, FALLINGBISHOP, BEELZEBUB_, GOPINICH, MOROCC_, KUBLIN, - S_NYDHOG, BOITATA; - if (RENEWAL){ - setarray .MVP[getarraysize(.MVP)], QUEEN_SCARABA, LOST_DRAGON, LEAK, I_QUEEN_SCARABA; - } - set .Blacklist$, "1003,1006,1017,1021,1022,1027,1043,1075,1136,1137,1168," + - "1171,1172,1173,1181,1187,1210,1217,1218,1222,1223,1224,1225,1226,1227,1228," + - "1233,1284,1407,1411,1414,1495,1501,1900,1996,2000,2001,2002,2003,2004," + - "2005,2006,2007,2011,2012,2025,2028,2029,2030,2031,2032,2033,2034,2035," + - "2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2049," + - "2050,2051,2052,2053,2054,2055,2056,2057,2058,2059,2060,2061,2062,2063," + - "2064,2065,2066,2067,2075,2076,2077,2078,2079,2080,2081,2083,2084,2085," + - "2086,2087,2088,2089,2090,2091,2092,2093,2094,2095,2096,2097,2098,2099," + - "2100,2101,2012,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113," + - "2114,2115,2116,2117,2118,2119,2120,2121,2123,2124,2125,1496,"; - end; -OnClock0000: -OnClock0200: -OnClock0400: -OnClock0600: -OnClock0800: -OnClock1000: -OnClock1200: -OnClock1400: -OnClock1600: -OnClock1800: -OnClock2000: -OnClock2200: - set .ResetCounter,.ResetCounter+1; - set .EventON,1; - set .Timer,1; - set .Wait,1; - announce "The Disguise Event will begin in 3 minutes.",bc_all | bc_blue; - announce "The Event is being held in Prontera.",bc_all | bc_blue; - setnpctimer 0; - initnpctimer; - end; -OnTimer10000: - if (.Timer || .Change) end; - set .Wait,0; - goto iDisguise; - end; -OnTimer30000: - if (.Timer) end; - set .Change,0; - setnpcdisplay "Disguise Event", 4_M_NFDEADMAN; - npctalk "You took too long to guess what I was. Please wait 10 seconds while I disguise again."; - specialeffect EF_DETECT2; - set $MonsterName$,""; - deletepset 1; - stopnpctimer; - setnpctimer 0; - ++.RoundCount; - if (.RoundCount >= .Rounds) { - setnpcdisplay "Disguise Event", 4_M_NFDEADMAN; - .RoundCount = 0; - .Change = 0; - .EventON = 0; - npctalk "Thank you all for playing. That was the last round of the Disguise Event. Come play again later."; - end; - } - initnpctimer; - end; -OnTimer60000: - if (.Timer!=1) end; - announce "The Disguise Event will begin in 2 minutes.",bc_all | bc_blue; - announce "The Event is being held in Prontera.",bc_all | bc_blue; - end; -OnTimer120000: - if (.Timer!=1) end; - announce "The Disguise Event will begin 1 minute.",bc_all | bc_blue; - announce "The Event is being held in Prontera.",bc_all | bc_blue; - end; -OnTimer180000: - if (.Timer!=1) end; - announce "The Disguise Event has begun!",bc_all | bc_blue; - announce "The Event is being held in Prontera.",bc_all | bc_blue; - set .Timer,0; stopnpctimer; - setnpctimer 0; initnpctimer; -iDisguise: - if (.Rule==1) { - set .Winner,0; - set .@monster, rand(SCORPION, PINGUICULA); - if (compare(","+.Blacklist$+"," , ","+.@monster+",")) goto iDisguise; - if (.@monster==.LastMonster) goto iDisguise; - set .LastMonster,.@monster; - set $MonsterName$,getmonsterinfo(.@monster,0); - } - if (.Rule==2) { - set .Winner,0; - set .@monster, rand(getarraysize(.MVP)); - set $MonsterName$,getmonsterinfo(.MVP[.@monster],0); - } - deletepset 1; - defpattern 1,"([^:]+):.\\s*"+$MonsterName$+".*", "iCorrect"; - activatepset 1; - if (.Rule==1) setnpcdisplay "Disguise Event",.@monster; - if (.Rule==2) setnpcdisplay "Disguise Event",.MVP[.@monster]; - set .Change,1; - setnpctimer 0; - end; -iCorrect: - if (.Winner) { - dispbottom "Someone has already won this round."; - end; - } - set .Winner,1; - set .RoundCount,.RoundCount+1; - deletepset 1; - activatepset 1; - getitem .Prize,.PrizeAmt; - announce strcharinfo(PC_NAME)+" is correct! I was disguised as: "+$MonsterName$+"",bc_map | bc_blue; - if (.RoundCount>=.Rounds) { - setnpcdisplay "Disguise Event", 4_M_NFDEADMAN; - set .RoundCount,0; set .Change,0; set .EventON,0; - setnpctimer 0; stopnpctimer; - npctalk "Thank you all for playing. That was the last round of the Disguise Event. Come play again later."; - end; - } - setnpcdisplay "Disguise Event", 4_M_NFDEADMAN; - set .Change,0; - setnpctimer 0; - end; -} diff --git a/npc/custom/events/hallow06.txt b/npc/custom/events/hallow06.txt deleted file mode 100644 index 7ecfdb817..000000000 --- a/npc/custom/events/hallow06.txt +++ /dev/null @@ -1,121 +0,0 @@ -//===== Hercules Script ====================================== -//= Custom Halloween Event 2006 -//===== By: ================================================== -//= Stryker -//===== Current Version: ===================================== -//= 1.2 -//===== Description: ========================================= -//= Halloween Event Script -//===== Additional Comments: ================================= -//= 1.1 - Added trick to script -//= 1.2 fixed bugs, optimized. Now uses 1 var instead of 3 [Lupus] -//============================================================ - -prontera,151,190,5 script Hallows' Eve Event 1_M_SIGNMCNT,{ - mes "[Hallows' Eve Event]"; - if(Class == Job_Novice){ - mes "I am sorry but you have to got a job to complete the event."; - emotion e_swt,1; - close; - } - if(EVENT_HALWN06&1 && EVENT_HALWN06&2){ - mes "I am sorry but you have already completed the event."; - emotion e_sry; - close; - } - mes "Greetings fellow lively human."; - next; - mes "[Hallows' Eve Event]"; - mes "Halloween is upon us and it is almost time to adventure out into places few dare go."; - next; - mes "[Hallows' Eve Event]"; - mes "Trick or treat, which do you prefer?"; - next; - if (select("Trick", "Treat") == 1) { - mes "[Hallows' Eve Event]"; - if(EVENT_HALWN06&2){ - mes "I'm sorry but you have already had a trick. Why don't you go pick a treat now."; - emotion e_sry; - close; - } - mes "Give me a min..."; - next; - set BaseExp,BaseExp+BaseLevel*1000; - set EVENT_HALWN06,EVENT_HALWN06|2; - - mes "[Hallows' Eve Event]"; - mes "Here is your treat. Your Base EXP has been slightly increased."; - next; - mes "[Hallows' Eve Event]"; - mes "I hope you enjoy your trick and Happy Halloween!"; - close; - } - - mes "[Hallows' Eve Event]"; - if(EVENT_HALWN06&1){ - mes "I'm sorry but you have already had a treat. Why don't you go pick a trick now."; - emotion e_sry; - close; - } - if(!(EVENT_HALWN06&4)){ - mes "Great! This shall be so much fun."; - next; - mes "[Hallows' Eve Event]"; - mes "I will be sending you on a scavenger hunt for items."; - next; - mes "[Hallows' Eve Event]"; - mes "Bring back all the necessary items, and I will create you a treat."; - next; - mes "[Hallows' Eve Event]"; - mes "Not just any normal treat either that you can eat, but it is something you can wear on your head."; - next; - mes "[Hallows' Eve Event]"; - mes "But with all things made, some items are required first."; - mes "The list:"; - mes "1 Hat,"; - mes "30 Pumpkin, and"; - mes "20 Black Piece of Cloth"; - next; - mes "[Hallows' Eve Event]"; - mes "Hurry along now."; - set EVENT_HALWN06,EVENT_HALWN06|4; - close; - } - mes "Did you get the items I requested or do you need to see the list again?"; - next; - switch (select("Got'em", "Don't Have", "See List")) { - case 1: - mes "[Hallows' Eve Event]"; - if((countitem(Hat) < 1) || (countitem(Pumpkin) < 30) || (countitem(Piece_Of_Black_Cloth) < 20)){ - mes "You don't have enough items. Come back when you do."; - emotion e_sry; - close; - } - delitem 2220,1; - delitem 535,30; - delitem 7205,20; - getitem 5134,1; - set EVENT_HALWN06,EVENT_HALWN06|1; - mes "Good job! I hope you are happy with your item."; - emotion e_grat; - next; - mes "[Hallows' Eve Event]"; - mes "Enjoy the rest of your halloween."; - emotion e_scissors,1; - close; - case 2: - mes "[Hallows' Eve Event]"; - mes "Go back out and search for them. Would you like to view the list?"; - next; - if (select("No", "Yes") == 1) - close; - // Fall through - case 3: - mes "[Hallows' Eve Event]"; - mes "I require the following items:"; - mes "1 Hat,"; - mes "30 Pumpkin, and"; - mes "20 Black Piece of Cloth."; - close; - } -} diff --git a/npc/custom/events/mushroom_event.txt b/npc/custom/events/mushroom_event.txt deleted file mode 100644 index b9c54c09e..000000000 --- a/npc/custom/events/mushroom_event.txt +++ /dev/null @@ -1,60 +0,0 @@ -//===== Hercules Script ====================================== -//= Find the Mushroom -//===== By: ================================================== -//= Mysterious -//===== Current Version: ===================================== -//= 3.6a -//===== Description: ========================================= -//= Find the Mushroom - random amount of Mushrooms spawns in random maps. -//= Players need to find these mushrooms and kill them to gain prizes! -//===== Additional Comments: ================================= -//= 3.0 Fully Functional with Rewritten script. [Mysterious] -//= 3.6a Slightly edited. [Euphy] -//============================================================ - -prontera,142,228,6 script Find the Mushroom BLACK_MUSHROOM,{ - mes "[ Find The Mushroom ]"; - if (!.status) - mes "There is no event at the moment!"; - else { - mes "There are "+.Spawn+" Mushrooms left in "+.Map$+"!"; - mes "Find and kill the mushrooms to gain "+getitemname(.Prize)+"!"; - } - if (.status || getgmlevel() < .GM) close; - mes "Start the event?"; - next; - if(select("- No", "- Yes") == 1) close; - donpcevent strnpcinfo(NPC_NAME)+"::OnMinute10"; - mes "[ Find The Mushroom ]"; - mes "Event started!"; - close; - -OnInit: - set .Prize,512; // Reward item ID - set .Amount,10; // Reward item amount - set .GM,60; // GM level required to access NPC - setarray .maps$[0],"izlude","geffen","morocc","prontera"; // Possible maps - end; - -OnMinute10: // Start time (every hour) - if (.status) end; - set .status,1; - set .Spawn,rand(1,10); // How many Mushrooms should spawn? - set .Map$,.maps$[rand(getarraysize(.maps$))]; - killmonster .Map$,"All"; - monster .Map$,0,0,"Please don't kill me!",1084,.Spawn,strnpcinfo(NPC_NAME)+"::OnMobKilled"; - announce "Find the Mushroom : Total of "+.Spawn+" Mushrooms have been spawned in "+.Map$+"!",0; - sleep 2500; - announce "Find the Mushroom : Every Mushroom you kill will give you "+getitemname(.Prize)+"!",0; - end; - -OnMobKilled: - set .Spawn, .Spawn - 1; - getitem .Prize, .Amount; - if (.Spawn) announce "[ "+strcharinfo(PC_NAME)+" ] has killed a Mushroom. There are now "+.Spawn+" Mushroom(s) left.",bc_map; - else { - announce "The Find the Mushroom Event has ended. All the Mushrooms have been killed.",0; - set .status,0; - } - end; -} diff --git a/npc/custom/events/uneasy_cemetery.txt b/npc/custom/events/uneasy_cemetery.txt deleted file mode 100644 index a2e746f20..000000000 --- a/npc/custom/events/uneasy_cemetery.txt +++ /dev/null @@ -1,136 +0,0 @@ -//===== Hercules Script ====================================== -//= Uneasy Prontera Cemetery Quest -//===== By: ================================================== -//= Lupus -//===== Current Version: ===================================== -//= 1.2a (Tested and fully working!) -//===== Description: ========================================= -//= A periodical quest of the Uneasy Cemetery (Kill undead / Prevent their appearance) -//= Every day, at the midnight Prontera receive 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 -//= 1.2a Changed item names to item IDs. [Samuray22] -//============================================================ - -prontera,3,3,3 script Uneasy_Check FAKE_NPC,{ - 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: - killmonster "prontera", "Uneasy_Check::OnZombieDead"; //The Sun kills undead in the morning - end; - -OnHour01: - if ($@UNEASY_MOB > 0) mapannounce "prontera","[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(PC_NAME); - if (Sex == SEX_MALE) - mapannounce "prontera","[Mother Mathana]: Brave "+$UNEASY_H$+" has just killed the last undead in Prontera!",0; - else - mapannounce "prontera","[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: - killmonster "prontera", "Uneasy_Check::OnZombieDead"; //kills any left monsters - enablenpc "Mother Mathana"; -//call some monsters in the city - set $@UNEASY_MOB, 65; - areamonster "prontera",0,0,0,0,"Zombie",1015,30,"Uneasy_Check::OnZombieDead"; -//in the Cemetery - monster "prontera",268,349,"Zombie",1015,30,"Uneasy_Check::OnZombieDead"; - monster "prontera",269,350,"Ghoul",1036,5,"Uneasy_Check::OnZombieDead"; -//announce - mapannounce "prontera","[Mother Mathana]: The cememtery has become restless! In the name of Odin, hurry to the Sanctuary! Save the city of Prontera!",0; -} - -prontera,257,313,5 script Mother Mathana 1_F_PRIEST,{ - 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(PC_NAME)) mes "But thanks to you, "+$UNEASY_H$+", we'll be able to sleep " + $UNEASY_DL + " nights!"; - if ($UNEASY_H$!=strcharinfo(PC_NAME)) 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(PC_NAME)) mes "Thank you, "+$UNEASY_H$+"! Now we'll manage to rest till the next midnight!"; - if ($UNEASY_DL == 0 && $UNEASY_H$!=strcharinfo(PC_NAME)) 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; - switch (select("Yes, have all my Holy Water!", "Nope, I need it.", "I don't have any.")) { - case 1: - if (countitem(Holy_Water) < 1) - break; // Not enough - set $UNEASY_BL,$UNEASY_BL-countitem(Holy_Water); - delitem 523,countitem(Holy_Water); - - if ($UNEASY_BL > 0) { - mes "[Mother Mathana]"; - mes "Thank you, good "+strcharinfo(PC_NAME)+", but we still need " + $UNEASY_BL + " more Holy Water bottles."; - close; - } - //set quiet days!!! no more undead for this period! - set $UNEASY_DL,5+((0-$UNEASY_BL)/30); - set $UNEASY_H$,strcharinfo(PC_NAME); - 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; - killmonster "prontera", "Uneasy_Check::OnZombieDead"; //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 == SEX_MALE) - mapannounce "prontera","[Mother Mathana]: In the name of Odin we declare handsom "+$UNEASY_H$+" as a Prontera savior!",0; - else - mapannounce "prontera","[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; - case 2: - 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; - case 3: - break; // Not enough - } - // Not enough - 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/custom/events/valentinesdayexp.txt b/npc/custom/events/valentinesdayexp.txt deleted file mode 100644 index 33339dcd9..000000000 --- a/npc/custom/events/valentinesdayexp.txt +++ /dev/null @@ -1,276 +0,0 @@ -//===== Hercules Script ====================================== -//= Valentine Event Script + EXP bonus -//===== By: ================================================== -//= Lupus (based on Muad_Dib's work) -//===== Current Version: ===================================== -//= 1.1 -//===== Description: ========================================= -// Close to other official stValentine event (added white chocolate) -// Custom: Handmade choco gives some EXP bonuses to married people -//===== Additional Comments: ================================= -//= WARNING!! To use this event, disable original valentinesday.txt -//= You can use this event from 12 till 16 February 8) [Lupus] -//= 1.1 Removed Duplicates [Silent] -//============================================================ - -// Tine - Valentine Event Chocolate Even Guide ------------------ -prontera,156,172,4 script Tine 1_M_MERCHANT,{ -// Debug info for item effects and tricky conditions 8) -// mes "@dsv: "+@dsv; -// mes "ispartneron()=="+ispartneron(); -// mes "sex == "+Sex; -// if(@dsv == gettime(GETTIME_HOUR)+1) mes "@dsv == gettime(GETTIME_HOUR)+1"; - - mes "[Tine]"; - mes "The legend says that on 14th February... on the Day of Saint Valentine..."; - mes "Only in Run-Midgard kingdom..."; - next; - specialeffect EF_HITBODY; - mes "[Tine]"; - mes "Some married chocolate lovers almost double their experience at trainings!"; - mes "But everything isn't so simply..."; - next; - if (select("Wow! Tell me more!", "Marri... what?") == 2) { - mes "[Tine]"; - mes "Are you a single?"; - mes "Today is a great date to ask your beloved half for marriage!"; - next; - mes "[Tine]"; - mes "The Marriage fee is ridiculous low these days!"; - close; - } - mes "[Tine]"; - mes "The magic effect posesses only handmade chocolate from grand-grand-grand-whoever recipes!"; - next; - mes "[Tine]"; - mes "It being known that Black Handmade Chocolate works on married guys... And the White one on the married girls!"; - mes "If you lose your wedding ring... then alas, it won't work on you."; - next; - mes "[Tine]"; - mes "On having a Chocolate, you should put off your ring then... put it back... And if your partner is online, then magc would last till the next hour!"; - next; - mes "[Tine]"; - mes "Rumors bark that guys and gals have +50% EXP bonuses on FIVE different races of the monsters... Exluding bloody bosses, of course."; - next; - mes "[Tine]"; - mes "There's a fameous confectioner in the Castle of Prontera! He's the one you need."; - close; - -OnInit: - //559,Hand-made_Chocolate - setitemscript 559,"{ itemheal 50,50; if(Sex==0 || @dsv == gettime(GETTIME_HOUR)+1 || ispartneron()==0)end; set @dsv,gettime(GETTIME_HOUR)+1; specialeffect(EF_MAGNUS, AREA, playerattached()); }"; - //560,Hand-made_White_Chocolate - setitemscript 560,"{ itemheal 50,50; if(Sex || @dsv == gettime(GETTIME_HOUR)+1 || ispartneron()==0)end; set @dsv,gettime(GETTIME_HOUR)+1; specialeffect(EF_MAGNUS, AREA, playerattached()); }"; - - //2634,Wedding_Ring_M,Wedding Ring,5,,10,0,,0,,0,127918079,7,1,136,,0,0,0,{ skill 334,1; skill 335,1; skill 336,1; } - setitemscript 2634,"{ skill 334,1; skill 335,1; skill 336,1; if(@dsv == gettime(GETTIME_HOUR)+1 && ispartneron()){ bonus2 bExpAddRace,5,50; bonus2 bExpAddRace,6,50; bonus2 bExpAddRace,7,50; bonus2 bExpAddRace,8,50; bonus2 bExpAddRace,1,50; } }"; - //2635,Wedding_Ring_F,Wedding Ring,5,,10,0,,0,,0,127918079,7,0,136,,0,0,0,{ skill 334,1; skill 335,1; skill 336,1; } - setitemscript 2635,"{ skill 334,1; skill 335,1; skill 336,1; if(@dsv == gettime(GETTIME_HOUR)+1 && ispartneron()){ bonus2 bExpAddRace,0,50; bonus2 bExpAddRace,9,50; bonus2 bExpAddRace,2,50; bonus2 bExpAddRace,3,50; bonus2 bExpAddRace,4,50; } }"; - end; -} - -// Stephen - Valentine Event Chocolate seller ------------------ -alberta,26,243,4 script Stephen#val1 1_M_MERCHANT,{ - 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; - if (select("I want some chocolate!", "No thanks.") != 1) { - 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; - } - 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 you 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; - 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 you that many."; -L_NONE: - close; - -L_NOTENO: - mes "[Stephen]"; - mes "I'm sorry but it seems you can't afford to buy these of me."; - close; -} - -// Jainie -- Gives information about Valentine Event ------------------------ -alberta,29,243,4 script Jainie#val1 1_M_INNKEEPER,{ - mes "[Jainie]"; - mes "You know what? The chocolate that my boyfriend sells are from me!"; - mes "I made them by myself. Now I need some Milk for my special White Chocolate."; - 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 white chocolates for a while so..."; - next; - if (select("I want some white chocolate!", "No thanks.") != 1) { - mes "[Jainie]"; - mes "You don't like white chocolate?"; - mes "Then buy some Stephen's black one!"; - close; - } - mes "[Jainie]"; - mes "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 you want? 1 portion is 4500z + 1 Milk."; - 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*4500; - if (Zeny < @needmon) goto L_NOTENO; - if (countitem(Milk) < @flag_num) goto L_NOMILK; - Zeny -= @needmon; - delitem 519,@flag_num; - getitem 561,@flag_num; - mes "[Jainie]"; - 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 "[Jainie]"; - mes "I'm sorry but I can't give you that many."; -L_NONE: - close; - -L_NOTENO: - mes "[Jainie]"; - mes "I'm sorry but it seems you can't afford to buy these of me."; - close; - -L_NOMILK: - mes "[Jainie]"; - mes "You need "+@flag_num+" Milk for "+@flag_num+" portions of my special White Chocolate..."; - close; -} - -// Carl Orleans -- Valentine Event Chocolate maker ------------------ -prt_castle,54,34,4 script Carl Orleans#val1 1_M_01,{ - mes "[Carl Orleans]"; - mes "Yes? What can I cook for you?"; - next; - switch (select("Black handmade Chocolate, please", "I want a White handmade Chocolate...", "I'm lost, sorry to bother you.")) { - case 1: - mes "[Carl Orleans]"; - mes "Well, I just might be able to fulfill your needs..."; - next; - if (countitem(Chocolate)<3) { - mes "[Carl Orleans]"; - mes "I'm sorry you do not have enough Chocolate Bars to do this."; - if(rand(2))mes "They say Stephen from Alberta used to sell good Chocolate."; - close; - } - delitem 558,3; - mes "[Carl Orleans]"; - mes "You got 3 pieces of pure chocolate I see."; - mes "Give them to me..."; - next; - mes "[Carl Orleans]"; - mes "Ok, now I will only create my special handmade chocolates if you promise to use it wisely."; - next; - mes "[Carl Orleans]"; - mes "....Hmmmmmm....."; - mes "Well..."; - next; - getitem 559,1; - mes "[Carl Orleans]"; - mes "Here."; - if(rand(2))close; - 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 "[Carl Orleans]"; - mes "Enjoy."; - close; - case 2: - mes "[Carl Orleans]"; - mes "Well, I just might be able to fulfill your needs..."; - next; - if (countitem(White_Chocolate)<3) { - mes "[Carl Orleans]"; - mes "I'm sorry you do not have enough White Chocolate Bars to do this."; - if(rand(2))mes "They say Jainie from Alberta used to sell good White Chocolate."; - close; - } - delitem 561,3; - mes "[Carl Orleans]"; - mes "You got 3 pieces of pure white chocolate I see."; - mes "Give them to me..."; - next; - mes "[Carl Orleans]"; - mes "Ok, now I will only create my special handmade chocolates if you promise to use it wisely."; - next; - mes "[Carl Orleans]"; - mes "....Hmmmmmm....."; - mes "Well..."; - next; - getitem 560,1; - mes "[Carl Orleans]"; - mes "Here."; - if(rand(2))close; - 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 "[Carl Orleans]"; - mes "Enjoy."; - close; - case 3: - mes "[Carl Orleans]"; - mes "Oh.. well, if you want me to make some of my special handmade Chocolate...."; - mes "You will need to give me at least ^0000FF 3 Chocolates^000000 or ^0000FF 3 White Chocolates^000000."; - if(rand(2))close; - next; - mes "[Carl Orleans]"; - mes "That's right, only ^0000FF 3 Chocolates^000000 or ^0000FF 3 White Chocolates^000000."; - mes "Bring them to me and you'll get what you came for."; - if(rand(2))close; - next; - mes "[Carl Orleans]"; - mes "See You."; - close; - } -} diff --git a/npc/custom/events/xmas_rings_event.txt b/npc/custom/events/xmas_rings_event.txt deleted file mode 100644 index 633f09cf7..000000000 --- a/npc/custom/events/xmas_rings_event.txt +++ /dev/null @@ -1,190 +0,0 @@ -//===== Hercules Script ====================================== -//= Karachun Event (Xmas Rings Quest) -//===== By: ================================================== -//= Lupus (1.0) -//===== Current Version: ===================================== -//= 1.2 -//===== 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] -//= 1.2 Fixed double quotes not being escaped [brianluau] -//============================================================ - -prontera,156,174,4 script Snower 4_M_06,{ - 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; - switch (select("Where are your sisters?", "What holidays?", "What gifts?", "May I help you?")) { - case 1: - 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; - case 2: - 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; - break; // Quest - case 3: - 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; - if (select("Wrap them, please!", "No, thanks.") != 1) - break; // Quest - set @prizes, countitem(Gift_Box_1)+countitem(Gift_Box_2)+countitem(Gift_Box_3)+countitem(Gift_Box_4); - if( @prizes == 0){ - mes "[Snower]"; - mes "I don't see any gifts in fancy boxes on you..."; - if(countitem(Gift_Box))mes "You've got only gray boxes."; - close; - } - delitem 664,countitem(Gift_Box_1); - delitem 665,countitem(Gift_Box_2); - delitem 666,countitem(Gift_Box_3); - delitem 667,countitem(Gift_Box_4); - getitem 644,@prizes; - - mes "[Snower]"; - mes "*shuffle* Here you go."; - next; - break; - case 4: - break; // Quest - } - - // 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(GETTIME_MINUTE))end; set @xmr,gettime(GETTIME_MINUTE); specialeffect(EF_RAINBOW, AREA, playerattached()); end;} if(isequipped(2636)){if(@xmr == gettime(GETTIME_MINUTE))end; set @xmr,gettime(GETTIME_MINUTE); specialeffect(EF_SPHERE, AREA, playerattached());} if(isequipped(2637)){if(@xmr == gettime(GETTIME_MINUTE))end; set @xmr,gettime(GETTIME_MINUTE); specialeffect(EF_ANGEL2, AREA, playerattached());}}"; -//Gold Xmas Ring - setitemscript 2636,"{ bonus bLoseSPWhenUnequip,30; if(isequipped(2236)==0)end; if(getskilllv(\"AL_HEAL\")){skill \"TF_HIDING\",4+isequipped(2637);}else{skill \"AL_HEAL\",1+4*isequipped(2637);} }"; -//Silver Xmas Ring - setitemscript 2637,"{ bonus bDamageWhenUnequip,40; if(isequipped(2236)==0)end; if(getskilllv(\"AL_TELEPORT\")){skill \"MC_IDENTIFY\",1;}else{skill \"AL_TELEPORT\",1+isequipped(2636);} }"; - end; -} - -louyang,224,249,4 script Sneewy 4_F_KID3,{ - 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; - if (select("Here are your 4 Gift Boxes", "I don't know any Snowhatevers...") != 1) { - mes "[Sneewy]"; - mes "Pity... I've got a magic Santa's ring... I'd exchange it for 4 Gift Boxes..."; - emotion e_swt; - close; - } - - mes "[Sneewy]"; - if(countitem(Gift_Box)<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(PC_NAME); - 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; -} - -izlu2dun,133,160,2 script Snoowy 4_F_06,{ - 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; - if (select("Have these gifts!", "I need a li'l something in return") != 1) { - mes "[Snoowy]"; - mes "I'd exchange a GOLD magic ring for 3 gift boxes..."; - emotion e_swt; - close; - } - mes "[Snoowy]"; - if(countitem(Gift_Box)<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(PC_NAME); - 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; -} diff --git a/npc/custom/healer.txt b/npc/custom/healer.txt deleted file mode 100644 index 9e0d4abe4..000000000 --- a/npc/custom/healer.txt +++ /dev/null @@ -1,78 +0,0 @@ -//===== Hercules Script ====================================== -//= Healer -//===== By: ================================================== -//= Euphy -//===== Current Version: ===================================== -//= 1.2 -//===== Description: ========================================= -//= Basic healer script. -//===== Additional Comments: ================================= -//= 1.0 Initial script. -//= 1.1 Aligned coordinates with @go. -//= 1.2 Fix variables and character stuck at healing -//============================================================ - -- script Healer FAKE_NPC,{ - - .@price = 0; // Zeny required for heal - .@Buffs = 0; // Also buff players? (1: yes / 0: no) - .@Delay = 0; // Heal delay, in seconds - - if (@HD > gettimetick(2)) end; - if (.@price) { - message strcharinfo(PC_NAME),"Healing costs "+.@price+" Zeny."; - if (Zeny < .@price) end; - if(select("^0055FFHeal^000000", "^777777Cancel^000000") == 2) close; - Zeny -= .@price; - } - specialeffect(EF_HEAL2, AREA, playerattached()); percentheal 100,100; - if (.@Buffs) { - specialeffect(EF_INCAGILITY, AREA, playerattached()); sc_start SC_INC_AGI,240000,10; - specialeffect(EF_BLESSING, AREA, playerattached()); sc_start SC_BLESSING,240000,10; - } - if (.@Delay) @HD = gettimetick(2)+.@Delay; - end; -} - - -// Duplicates -//============================================================ -alberta,25,240,6 duplicate(Healer) Healer#alb 4_PORING -aldebaran,135,118,6 duplicate(Healer) Healer#alde 4_PORING -amatsu,200,79,4 duplicate(Healer) Healer#ama 4_PORING -ayothaya,207,169,6 duplicate(Healer) Healer#ayo 4_PORING -comodo,184,158,6 duplicate(Healer) Healer#com 4_PORING -einbech,57,36,6 duplicate(Healer) Healer#einbe 4_PORING -einbroch,57,202,6 duplicate(Healer) Healer#einbr 4_PORING -geffen,115,72,6 duplicate(Healer) Healer#gef 4_PORING -gonryun,156,122,6 duplicate(Healer) Healer#gon 4_PORING -hugel,89,150,6 duplicate(Healer) Healer#hug 4_PORING -izlude,125,118,5 duplicate(Healer) Healer#izl 4_PORING -jawaii,250,139,4 duplicate(Healer) Healer#jaw 4_PORING -lighthalzen,152,100,6 duplicate(Healer) Healer#lhz 4_PORING -louyang,226,103,4 duplicate(Healer) Healer#lou 4_PORING -manuk,272,144,6 duplicate(Healer) Healer#man 4_PORING -mid_camp,203,289,6 duplicate(Healer) Healer#mid 4_PORING -moc_ruins,72,164,4 duplicate(Healer) Healer#moc 4_PORING -morocc,153,97,6 duplicate(Healer) Healer#mor 4_PORING -moscovia,220,191,4 duplicate(Healer) Healer#mos 4_PORING -niflheim,212,182,5 duplicate(Healer) Healer#nif 4_PORING -payon,179,106,4 duplicate(Healer) Healer#pay 4_PORING -prontera,162,193,4 duplicate(Healer) Healer#prt 4_PORING -rachel,125,116,6 duplicate(Healer) Healer#rac 4_PORING -splendide,201,153,4 duplicate(Healer) Healer#spl 4_PORING -thor_camp,249,74,4 duplicate(Healer) Healer#thor 4_PORING -umbala,105,148,3 duplicate(Healer) Healer#umb 4_PORING -veins,217,121,4 duplicate(Healer) Healer#ve 4_PORING -xmas,143,136,4 duplicate(Healer) Healer#xmas 4_PORING -yuno,164,45,4 duplicate(Healer) Healer#yuno 4_PORING - -// Duplicates (Renewal) -//============================================================ -brasilis,194,221,6 duplicate(Healer) Healer#bra 4_PORING -dewata,195,187,4 duplicate(Healer) Healer#dew 4_PORING -dicastes01,201,194,4 duplicate(Healer) Healer#dic 4_PORING -ecl_in01,45,60,4 duplicate(Healer) Healer#ecl 4_PORING -malangdo,132,114,6 duplicate(Healer) Healer#mal 4_PORING -malaya,205,205,6 duplicate(Healer) Healer#ma 4_PORING -mora,55,152,4 duplicate(Healer) Healer#mora 4_PORING diff --git a/npc/custom/item_signer.txt b/npc/custom/item_signer.txt deleted file mode 100644 index 6c12926e5..000000000 --- a/npc/custom/item_signer.txt +++ /dev/null @@ -1,132 +0,0 @@ -//===== Hercules Script ====================================== -//= Sign Your Items -//===== By: ================================================== -//= Lupus -//===== Current Version: ===================================== -//= 1.1a -//===== Description: ========================================= -//= Write you name on your rare equipment or weapon ^_- -//===== Additional Comments: ================================= -//= 1.1 Cleaned and edited for general use. [Euphy] -//= 1.1a Added 'disable_items' command. [Euphy] -//============================================================ - -prt_in,24,61,7 script Perchik 1_M_01,{ - setarray .@item[0],644,3; // Item requirements: ,{,...} (0 to disable) - setarray .@cost[0],0,5000; // Zeny requirements: , - - disable_items; - mes "[Perchik]"; - mes "I can ^0055FFsign your name^000000 on almost any rare item you hold."; - next; - if(select("Tell me more...", "Sign my items, please!") == 1) { - mes "[Perchik]"; - mes "I can put your name on any slotless equipment or weapon."; - emotion e_ic; - next; - mes "[Perchik]"; - if (getarraysize(.@item) || getarraysize(.@cost)) { - mes "For my work I accept:"; - if (getarraysize(.@item)) for(set .@i,0; .@i4000 && .@slot[0]<5000) { - mes "A card? Here?!"; - mes "As I said before, I don't sign items with cards."; - emotion e_hmm; - close; - } - if (getiteminfo(.@id, ITEMINFO_SLOTS) > 0) { - mes "Sorry, I don't sign slotted items."; - emotion e_sry; - close; - } - getinventorylist; - for(set .@i,0; .@i<@inventorylist_count; set .@i,.@i+1) - if (@inventorylist_expire[.@i] != 0) { - mes "Sorry, I don't sign rental items!"; - emotion e_hmm; - close; - } - set .@price, .@cost[0]+(.@cost[1]*.@ref); - if (getarraysize(.@item) || .@price) { - mes "I will need:"; - if (getarraysize(.@item)) for(set .@i,0; .@i>16)&0xffff; - equip .@id; - close; -} diff --git a/npc/custom/itembind.txt b/npc/custom/itembind.txt deleted file mode 100644 index 7d95afdfc..000000000 --- a/npc/custom/itembind.txt +++ /dev/null @@ -1,134 +0,0 @@ -//===== Hercules Script ======================================= -//= Item Bind Script -//===== By: ================================================== -//= Akinari -//===== Compatible With: ===================================== -//= Revision 17351+ (rAthena) -//= Revision 12949+ (Hercules) -//===== Description: ========================================= -//= Item Bind Script -//= Allows users to pay a price to make an item bound to -//= Account, Character, or Guild -//============================================================ - -prontera,144,174,4 script Bound Items 4_M_JP_MID,{ - - mes "I can bind your items to your account, guild, or character"+((.bindprice)?" for a ^0000FF"+.bindprice+"^000000 zeny fee":"")+"."; - next; - mes "With this, you can rest assured your items are safe."; - next; - mes "What would you like to do?"; - if(select("Bind", "Unbind") == 1) { - if(Zeny < .bindprice) { - mes "You don't have enough zeny to bind an item."; - close; - } - mes "What kind of bind?"; - .@boundtype = 1 << (select("Account", "Guild", "Character")-1); - if(.@boundtype == 2 && (!getcharid(CHAR_ID_GUILD) || getguildmaster(getcharid(CHAR_ID_GUILD)) != strcharinfo(PC_NAME))) { - mes "In order for me to bind an item to a guild you must be the master of one."; - close; - } - getinventorylist(); - for(.@i = 0; .@i < @inventorylist_count; .@i++) { - //We only show the items that you allow to be bound - //Allows equipment (default) or non-rental item - if (@inventorylist_bound[.@i] || @inventorylist_expire[.@i]) - continue; - .@itemtype = getiteminfo(@inventorylist_id[.@i], ITEMINFO_TYPE); - if (((.allowbind & 1) != 0 && (.@itemtype == IT_WEAPON || .@itemtype == IT_ARMOR)) - || ((.allowbind & 2) != 0 && (.@itemtype == IT_HEALING || .@itemtype == IT_USABLE || .@itemtype == IT_DELAYCONSUME || .@itemtype == IT_CASH)) - || ((.allowbind & 4) != 0 && (.@itemtype == IT_ETC || .@itemtype == IT_CARD || .@itemtype == IT_PETEGG || .@itemtype == IT_PETARMOR || .@itemtype == IT_AMMO)) - ) { - set .@bindlist$, .@bindlist$ + ":" + getitemname(@inventorylist_id[.@i]) + " - " + @inventorylist_id[.@i]; - set .@bindlist[.@j],.@i; - .@j++; - } - } - .@item = .@bindlist[select(.@bindlist$)-2]; - next; - mes "Before I continue, I want you to know I can't tell the difference between multiple items. If you have a specific item you want bounded, please remove any duplicates from inventory."; - if(select("I understand, continue", "Wait a minute") == 2) { - next; - mes "I'll be here when you're ready."; - close; - } - next; - mes "Are you sure you'd like to bind your "+ getitemname(@inventorylist_id[.@item]) +" to your "+.boundtypes$[.@boundtype]+"?"; - if(select("Yes", "No") == 1) { - Zeny -= .bindprice; - delitem2 @inventorylist_id[.@item],@inventorylist_amount[.@item],@inventorylist_identify[.@item],@inventorylist_refine[.@item],@inventorylist_attribute[.@item],@inventorylist_card1[.@item],@inventorylist_card2[.@item],@inventorylist_card3[.@item],@inventorylist_card4[.@item]; - getitembound2 @inventorylist_id[.@item],@inventorylist_amount[.@item],@inventorylist_identify[.@item],@inventorylist_refine[.@item],@inventorylist_attribute[.@item],@inventorylist_card1[.@item],@inventorylist_card2[.@item],@inventorylist_card3[.@item],@inventorylist_card4[.@item],.@boundtype; - mes "All done!"; - if(.logbinds) - logmes "Bound "+ @inventorylist_amount[.@item]+" "+@inventorylist_id[.@item]+" as "+.boundtypes$[.@boundtype]+" type."; - } - } else { - if(!countbound()) { - mes "You don't have any bound items in your inventory. Not much I can do here."; - close; - } - countbound(2); - if(.unbindprice) { - mes "Unbinding an item has a fee of ^0000FF"+.unbindprice+"^000000 zeny."; - if(Zeny < .unbindprice) { - mes "You don't have enough to unbind an item."; - close; - } - } - getinventorylist(); - for(.@i = 0; .@i < @inventorylist_count; .@i++) { - if(@inventorylist_bound[.@i]) { - set .@bindlist$, .@bindlist$ + ":" + getitemname(@inventorylist_id[.@i]) + " - " + @inventorylist_id[.@i]; - set .@bindlist[.@j],.@i; - .@j++; - } - } - .@item = .@bindlist[select(.@bindlist$)-2]; - next; - for(.@i = 0; .@i < getarraysize(@bound_items); .@i++) { - if(@inventorylist_id[.@item] == @bound_items[.@i] && - (!getcharid(CHAR_ID_GUILD) || getguildmaster(getcharid(CHAR_ID_GUILD)) != strcharinfo(PC_NAME)) - ) { - mes "I will only unbind guild bound items that the guild master requests."; - close; - } - } - mes "Before I continue, I want you to know I can't tell the difference between multiple items. If you have a specific item you want unbounded, please remove any duplicates from inventory."; - if(select("I understand, continue", "Wait a minute") == 2) { - next; - mes "I'll be here when you're ready."; - close; - } - next; - mes "Are you sure you'd like to unbind your "+ getitemname(@inventorylist_id[.@item]) +"?"; - if(select("Yes", "No") == 1) { - Zeny -= .unbindprice; - delitem2 @inventorylist_id[.@item],@inventorylist_amount[.@item],@inventorylist_identify[.@item],@inventorylist_refine[.@item],@inventorylist_attribute[.@item],@inventorylist_card1[.@item],@inventorylist_card2[.@item],@inventorylist_card3[.@item],@inventorylist_card4[.@item]; - getitem2 @inventorylist_id[.@item],@inventorylist_amount[.@item],@inventorylist_identify[.@item],@inventorylist_refine[.@item],@inventorylist_attribute[.@item],@inventorylist_card1[.@item],@inventorylist_card2[.@item],@inventorylist_card3[.@item],@inventorylist_card4[.@item]; - mes "All done!"; - if(.logbinds) - logmes "Unbound "+ @inventorylist_amount[.@item]+" "+@inventorylist_id[.@item]+"."; - } - } - close; - -OnInit: - //* Configuration *\\ - //Price - .bindprice = 0; - .unbindprice = 100000; - - //What to allow to be bound - Add as necessary - //1 = Equipment - 2 = Consumables - 4 = Etc - .allowbind = 1; - - //Log binds via NPC? - .logbinds = 1; - - //Other stuff - .boundtypes$[1] = "account"; - .boundtypes$[2] = "guild"; - .boundtypes$[4] = "character"; - end; -} diff --git a/npc/custom/itemmall.txt b/npc/custom/itemmall.txt deleted file mode 100644 index 7e1aa1199..000000000 --- a/npc/custom/itemmall.txt +++ /dev/null @@ -1,42 +0,0 @@ -//===== Hercules Script ====================================== -//= Shop Street -//===== By: ================================================== -//= Masao -//===== Current Version: ===================================== -//= 1.0 -//===== Description: ========================================= -//= Street shops in Prontera. -//============================================================ - -prontera,147,240,5 shop Armor 4W_M_03,2304:10000,2306:20000,2308:20000,2310:50000,2311:50000,2313:50000,2315:75000,2317:100000,2322:20000,2326:60000,2331:75000,2342:100000,2353:75000,2364:150000,2367:100000,2399:50000 -prontera,147,242,5 shop Shield 4W_M_03,2102:10000,2106:60000,2108:60000,2110:85000,2114:30000,2116:30000,2123:50000,2124:50000 -prontera,147,244,5 shop Footgear 4W_M_03,2404:10000,2406:20000,2409:30000,2412:50000,2417:50000,2418:50000,2424:50000,2425:20000 -prontera,147,246,5 shop Mace 4W_M_03,1502:10000,1505:20000,1511:20000,1514:-1,1517:-1,1520:50000,1522:100000,1523:25000,1528:50000,1529:50000,1531:50000 -prontera,147,248,5 shop Knuckle 4_M_ROKI,1802:20000,1804:50000,1806:60000,1808:75000,1810:70000,1812:60000,1813:100000,1814:100000,1822:150000 -prontera,147,250,5 shop Whips 4_M_ROKI,1951:10000,1953:20000,1955:30000,1962:20000,1963:50000,1972:10000,1974:10000,1976:50000 -prontera,147,252,5 shop Instruments 4_M_ROKI,1902:10000,1904:20000,1906:-1,1908:50000,1913:50000,1914:50000,1915:50000,1916:50000,1917:50000 -prontera,147,254,5 shop Books 4_M_ROKI,1550:30000,1551:60000,1552:51000,1559:25000,1561:75000,1564:25000,1568:70000,1569:70000,1570:70000,1571:70000,1572:50000 -prontera,147,256,5 shop Guns 4_M_CATMAN1,13103:60000,13105:100000,13106:200000,13101:10000,13150:6000,13152:30000,13153:50000,13155:60000,13156:100000,13154:30000,13159:250000,13157:150000,13161:300000,13162:500000 -prontera,147,258,5 shop Fuuma Shuriken 4_M_CATMAN1,7522:500,7521:500,7523:500 -prontera,147,260,5 shop One-Handed Swords 4_M_CATMAN1,1108:10000,1117:10000,1120:100000,1124:50000,1130:100000,1131:50000,1133:50000,1138:200000,1139:200000,1145:-1,1149:50000 -prontera,147,262,5 shop Two-Handed Swords 4_M_CATMAN1,1155:50000,1158:90000,1163:120000,1164:50000,1165:50000,1166:75000,1168:50000,1169:500000,1172:200000,1175:75000 -prontera,147,264,5 shop Spears 4_M_JOB_BLACKSMITH,1405:20000,1408:50000,1415:100000,1417:75000,1421:75000,1422:25000 -prontera,147,238,1 shop Dagger 4_M_JOB_BLACKSMITH,1208:20000,1211:20000,1217:20000,1223:50000,1231:75000,1235:75000,1236:75000,1237:75000 -prontera,164,264,4 shop Axes 4_M_JOB_BLACKSMITH,1302:10000,1306:20000,1307:45000,1309:75000,1352:20000,1355:30000,1358:75000,1363:50000,1364:50000,1365:50000,1366:50000,1371:100000 -prontera,164,262,4 shop Accessories 4_M_JOB_BLACKSMITH,2621:-1,2622:-1,2624:30000,2618:10000,2625:30000,2626:30000,2674:10000,2648:50000,2649:50000,2627:-1,2701:75000 -prontera,164,260,4 shop Bows 4_M_JOB_BLACKSMITH,1702:20000,1705:50000,1708:20000,1720:50000,1723:75000,1724:75000,1725:75000 -prontera,164,258,4 shop Staffs / Rods 4_M_JOB_BLACKSMITH,1602:20000,1605:20000,1608:20000,1611:45000,1618:85000,1620:85000,1622:50000,1624:50000,1625:50000,1626:50000 -prontera,164,256,4 shop Garments 4_M_YOUNGKNIGHT,2504:10000,2506:40000,2507:82000,2508:56000,2514:50000,2518:60000,2519:60000,2528:85000,2531:10000,2553:10000 -prontera,164,254,4 shop Katars 4_M_YOUNGKNIGHT,1251:50000,1253:100000,1255:75000,1261:125000,1262:20000,1263:20000,1265:100000,1275:100000,1276:100000,1277:100000,1278:100000 -prontera,164,252,4 shop Lower Headgear 4_M_YOUNGKNIGHT,2218:10000,5054:30000,2267:5000,5107:100000,2265:5000,2266:50000,2269:50000,2270:50000 -prontera,164,250,4 shop Middle Headgear 4_M_YOUNGKNIGHT,2201:5000,2203:4000,2205:3500,2212:5000,2225:10000,2229:50000,2231:50000,2234:50000,2235:50000,2281:25000,2292:50000,2296:50000 -prontera,164,248,4 shop Upper Headgear 4_M_YOUNGKNIGHT,2210:1000,2211:1000,2213:10000,2214:20000,2217:10000,2221:5000,2223:10000,2246:75000,2256:75000,2264:100000,2280:20000,2299:30000 -prontera,164,246,4 shop Headgear 01 4_M_REIDIN_KURS,5380:40000,5382:40000,2269:5000,2270:5000,5107:15000,5110:15000,2247:30000:5206:10000,2245:30000,2286:35000,2296:15000,2258:45000,5161:200000,5104:40000,2295:20000,5026:30000,5032:100000,5038:30000,5229:65000,5227:65000,5228:65000,5198:50000,5058:300000,5253:80000,5252:60000,5296:100000,5231:300000,5232:300000,5233:300000,5230:300000,5234:300000,5076:50000 -prontera,164,244,4 shop Headgear 02 4_M_REIDIN_KURS,5059:100000,5235:75000,5236:75000,5237:75000,5293:150000,5303:35000,5304:65000,5312:65000,5315:45000,5317:45000,5319:75000,5320:120000,5323:588888,5336:50000,5337:50000,5338:50000,5339:50000,5346:50000 -prontera,164,242,4 shop Headgear 03 4_M_REIDIN_KURS,5181:300000,5102:500000,5016:75000,5349:150000,5013:700000,5022:500000,5171:1250000,5135:500000,5029:50000,5033:65000,5040:100000,5047:35000,5065:65000,5068:50000,5074:50000,5084:75000,5086:150000,5108:350000,5121:100000,5133:50000,5137:100000,5138:150000,5140:55000,5146:75000,5151:75000,5152:150000,5170:150000,5173:75000,5174:75000,5175:75000,5184:50000,5185:45000,5187:75000,5188:50000,5191:25000,5192:25000,5193:25000,5194:25000,5195:25000,5196:25000,5197:25000 -prontera,164,240,4 shop Headgear 04 4_M_REIDIN_KURS,5200:75000,5205:100000,5211:75000,5226:50000,5238:75000,5239:75000,5240:75000,5241:75000,5242:75000,5243:50000,5325:75000,5254:100000,5255:65000,5257:50000,5297:100000,2202:45000,5258:35000,5298:50000,5276:50000,5273:50000,5275:50000,5274:50000,5259:50000,5271:250000,5272:50000,5284:50000,5286:75000,5288:50000,5289:50000,5291:55000,5292:55000,5294:55000,5352:50000,5324:100000,5359:50000,5360:50000 -prontera,164,238,4 shop Headgear 05 4_M_REIDIN_KURS,5340:50000,5341:50000,5342:50000,5343:50000,5344:50000,5345:50000,5354:50000,5355:50000,5361:65000,5365:50000,5373:75000,5374:350000,5379:50000,5383:60000,5384:88888,5390:88888,5388:50000,5411:50000,5393:75000,5397:35000,5399:50000,5800:175000,5801:300000,5802:150000 -prontera,151,284,4 shop Ammunition 4_M_MASKMAN,1766:50,1755:20,1750:10,1754:20,1761:20,1752:20,1760:20,1759:20,1772:100,1757:30,1770:20,1769:30,1765:40,1763:30,1762:30,1767:30,1764:30,1751:20,1768:30,1753:30,1756:30,1758:30,1771:1000,13200:50,13202:100,13201:300,13206:500,13203:500,13207:500,13204:500,13205:500,13252:50,13254:500,13251:100,13253:300,13250:50,13256:50,13259:50,13258:50,13255:50,13257:50 -prontera,153,284,4 shop Alchemist Dealer 4_M_MASKMAN,715:600,716:600,717:600,1025:200,7136:500,7135:500,7137:500,7138:500,7139:500 -prontera,155,284,4 shop Street Dealer 4_M_MASKMAN,678:5000,505:-1,506:40,610:4000,545:150,546:600,547:1650 -prontera,157,284,4 shop Sheepy Gonzales 4_F_KHELLY,12028:1000,12262:500,12016:750 diff --git a/npc/custom/jobmaster.txt b/npc/custom/jobmaster.txt deleted file mode 100644 index 4b56a36e5..000000000 --- a/npc/custom/jobmaster.txt +++ /dev/null @@ -1,262 +0,0 @@ -//===== Hercules Script ====================================== -//= Job Master -//===== By: ================================================== -//= Euphy -//===== Current Version: ===================================== -//= 1.4 -//===== Description: ========================================= -//= A fully functional job changer. -//===== Additional Comments: ================================= -//= 1.1 Fixed reset on Baby job change. [Euphy] -//= 1.2 Added Expanded Super Novice support and initial Kagerou/Oboro support. [Euphy] -//= 1.3 Kagerou/Oboro added. [Euphy] -//= 1.4 Improved legibility (renamed variables, replaced -// numbers with constants; Changed syntax to match -// Hercules standards; Fixed status point exploit upon -// Baby Novice job change. [Haru] -//============================================================ - -prontera,153,193,6 script Job Master 2_F_MAGICMASTER,{ - function Job_Menu; function A_An; - - mes "[Job Master]"; - if (Class > Job_Soul_Linker) { - mes "No more jobs are available."; - close; - } - if (checkfalcon() || checkcart() || checkmount() || hascashmount()) { - mes "Please remove your "+((checkfalcon())?"falcon":"")+((checkcart())?"cart":"")+((checkmount() || hascashmount())?"mount":"") - +" before proceeding."; - close; - } - if (.skill_point_check && SkillPoint > 0) { - mes "Please use all your skill points before proceeding."; - close; - } - - .@eac = eaclass(); - .@base = .third_classes ? roclass(.@eac&EAJ_UPPERMASK) : Class; - if (.@base >= Job_Knight && .@base <= Job_Crusader2) { - if (BaseLevel < .rebirth_blevel || JobLevel < .rebirth_jlevel) { - .@blvl = .rebirth_blevel - BaseLevel; - .@jlvl = .rebirth_jlevel - JobLevel; - mes "You need " - + (BaseLevel < .rebirth_blevel ? ((.rebirth_blevel - BaseLevel) +" more base levels "+ (JobLevel < .rebirth_jlevel ? "and " : "")) : "") - + (JobLevel < .rebirth_jlevel ? (.rebirth_jlevel - JobLevel) +" more job levels " : "") - + "to continue."; - close; - } - if (Class > Job_Crusader2) { - mes "Switch to third class?"; - next; - Job_Menu(roclass(.@eac|EAJL_THIRD)); - close; - } - while (true) { - mes "Select an option."; - next; - .@choice = select(" ~ ^0055FFRebirth^000000", (.third_classes ? " ~ ^FF0000Third Class^000000":""), " ~ ^777777Cancel^000000"); - if (.@choice == 3) - close; - mes "[Job Master]"; - mes "Are you sure?"; - next; - if (.@choice == 1) - Job_Menu(Job_Novice_High); - else - Job_Menu(roclass(.@eac|EAJL_THIRD)); - mes "[Job Master]"; - } - } - .@job1 = roclass(.@eac|EAJL_2_1); - .@job2 = roclass(.@eac|EAJL_2_2); - if ((.@eac&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE) { - .@newclass = roclass(.@eac|EAJL_THIRD); - .@required_jlevel = 99; - } else if (Class == Job_Ninja || Class == Job_Gunslinger) { - .@newclass = .@job1; - .@required_jlevel = 70; - } - if (.@newclass && .third_classes) { - if (BaseLevel < .rebirth_blevel || JobLevel < .@required_jlevel) { - mes "You need " - + (BaseLevel < .rebirth_blevel ? ((.rebirth_blevel - BaseLevel) +" more base levels "+ (JobLevel < .@required_jlevel ? "and " : "")) : "") - + (JobLevel < .@required_jlevel ? (.@required_jlevel - JobLevel) +" more job levels " : "") - + "to continue."; - close; - } - mes "Switch to "+jobname(.@newclass)+"?"; - next; - Job_Menu(.@newclass); - close; - } - if (.@eac&EAJL_2) - if (.@eac&(EAJL_UPPER|EAJL_BABY) || roclass(.@eac|EAJL_UPPER) == -1) { - mes "No more jobs are available."; - close; - } - if ((.@eac&EAJ_BASEMASK) == EAJ_NOVICE) { - if (JobLevel < .jobchange_first) { - mes "A job level of "+.jobchange_first+" is required to change into the 1st Class."; - } else if (Class == Job_Novice_High && .linear_jobchange && lastJob) { - mes "Switch classes now?"; - next; - Job_Menu(roclass((eaclass(lastJob)&EAJ_BASEMASK)|EAJL_UPPER)); - } else if (Class == Job_Novice) { - Job_Menu(Job_Swordman, Job_Mage, Job_Archer, Job_Acolyte, Job_Merchant, Job_Thief, - Job_SuperNovice, Job_Taekwon, Job_Gunslinger, Job_Ninja, Job_Baby); - } else if (Class == Job_Novice_High) { - Job_Menu(Job_Swordman_High, Job_Mage_High, Job_Archer_High, Job_Acolyte_High, Job_Merchant_High, Job_Thief_High); - } else if (Class == Job_Baby) { - Job_Menu(Job_Baby_Swordman, Job_Baby_Mage, Job_Baby_Archer, Job_Baby_Acolyte, Job_Baby_Merchant, Job_Baby_Thief, - Job_Super_Baby); - } else { - mes "An error has occurred."; - } - close; - } - if (roclass(.@eac|EAJL_2_1) == -1 || roclass(.@eac|EAJL_2_2) == -1) { - mes "No more jobs are available."; - } else if (!(.@eac&EAJL_2) && JobLevel < .jobchange_second) { - mes "A job level of "+.jobchange_second+" is required to change into the 2nd Class."; - } else if (.linear_jobchange && lastJob && (.@eac&EAJL_UPPER)) { - mes "Switch classes now?"; - next; - Job_Menu(lastJob+Job_Novice_High); - } else { - Job_Menu(.@job1, .@job2); - } - close; - -function Job_Menu { - while (true) { - if (getargcount() > 1) { - mes "Select a job."; - .@menu$ = ""; - for (.@i = 0; .@i < getargcount(); ++.@i) - .@menu$ += " ~ "+jobname(getarg(.@i))+":"; - .@menu$ += " ~ ^777777Cancel^000000"; - next; - .@newjob = getarg(select(.@menu$)-1, 0); - if (!.@newjob) close; - if ((.@newjob == Job_SuperNovice || .@newjob == Job_Super_Baby) && BaseLevel < .supernovice_level) { - mes "[Job Master]"; - mes "A base level of "+.supernovice_level+" is required to turn into a "+jobname(.@newjob)+"."; - close; - } - mes "[Job Master]"; - mes "Are you sure?"; - next; - } else { - .@newjob = getarg(0); - } - if (select(" ~ Change into ^0055FF"+ jobname(.@newjob) +"^000000 class", " ~ ^777777"+(getargcount() > 1 ? "Go back": "Cancel")+"^000000") == 1) { - mes "[Job Master]"; - mes "You are now "+A_An(jobname(.@newjob))+"!"; - if (.@newjob == Job_Novice_High && .linear_jobchange) - lastJob = Class; // Note: This is incompatible with the Valkyrie rebirth script. - jobchange .@newjob; - if (.@newjob == Job_Novice_High) - resetlvl(1); - if (.@newjob == Job_Baby) { - resetlvl(4); - SkillPoint = 0; - } - specialeffect(EF_ANGEL2, AREA, playerattached()); - specialeffect(EF_ELECTRIC, AREA, playerattached()); - if (.platinum) - callsub Get_Platinum; - close; - } - if (getargcount() == 1) - return; - mes "[Job Master]"; - } - end; -} - -function A_An { - setarray .@vowels$, "a", "e", "i", "o", "u"; - .@firstletter$ = strtolower(charat(getarg(0), 0)); - for (.@i = 0; .@i < getarraysize(.@vowels); ++.@i) { - if (.@vowels$[.@i] == .@firstletter$) - return "an "+getarg(0); - } - return "a "+getarg(0); -} - -Get_Platinum: - skill NV_FIRSTAID, 1, 0; - if (BaseClass == Job_Novice) { - if (Class != Job_SuperNovice) - skill NV_TRICKDEAD, 1, 0; - } else if (BaseClass == Job_Swordman) { - skill SM_MOVINGRECOVERY, 1, 0; - skill SM_FATALBLOW, 1, 0; - skill SM_AUTOBERSERK, 1, 0; - } else if (BaseClass == Job_Mage) { - skill MG_ENERGYCOAT, 1, 0; - } else if (BaseClass == Job_Archer) { - skill AC_MAKINGARROW, 1, 0; - skill AC_CHARGEARROW, 1, 0; - } else if (BaseClass == Job_Acolyte) { - skill AL_HOLYLIGHT, 1, 0; - } else if (BaseClass == Job_Merchant) { - skill MC_CARTREVOLUTION, 1, 0; - skill MC_CHANGECART, 1, 0; - skill MC_LOUD, 1, 0; - } else if (BaseClass == Job_Thief) { - skill TF_SPRINKLESAND, 1, 0; - skill TF_BACKSLIDING, 1, 0; - skill TF_PICKSTONE, 1, 0; - skill TF_THROWSTONE, 1, 0; - } - - if (BaseJob == Job_Knight) { - skill KN_CHARGEATK, 1, 0; - } else if (BaseJob == Job_Priest) { - skill PR_REDEMPTIO, 1, 0; - } else if (BaseJob == Job_Wizard) { - skill WZ_SIGHTBLASTER, 1, 0; - } else if (BaseJob == Job_Blacksmith) { - skill BS_UNFAIRLYTRICK, 1, 0; - skill BS_GREED, 1, 0; - } else if (BaseJob == Job_Hunter) { - skill HT_PHANTASMIC, 1, 0; - } else if (BaseJob == Job_Assassin) { - skill AS_SONICACCEL, 1, 0; - skill AS_VENOMKNIFE, 1, 0; - } else if (BaseJob == Job_Crusader) { - skill CR_SHRINK, 1, 0; - } else if (BaseJob == Job_Monk) { - skill MO_KITRANSLATION, 1, 0; - skill MO_BALKYOUNG, 1, 0; - } else if (BaseJob == Job_Sage) { - skill SA_CREATECON, 1, 0; - skill SA_ELEMENTWATER, 1, 0; - skill SA_ELEMENTGROUND, 1, 0; - skill SA_ELEMENTFIRE, 1, 0; - skill SA_ELEMENTWIND, 1, 0; - } else if (BaseJob == Job_Rogue) { - skill RG_CLOSECONFINE, 1, 0; - } else if (BaseJob == Job_Alchemist) { - skill AM_BIOETHICS, 1, 0; - } else if (BaseJob == Job_Bard) { - skill BA_PANGVOICE, 1, 0; - } else if (BaseJob == Job_Dancer) { - skill DC_WINKCHARM, 1, 0; - } - return; - -OnInit: - .rebirth_blevel = 99; // Minimum base level to reborn OR change to third class - .rebirth_jlevel = 50; // Minimum base job level to reborn OR change to third class - .jobchange_first = 10; // Minimum job level to turn into 1st class - .jobchange_second = 40; // Minimum job level to turn into 2nd class - .third_classes = 1; // Enable third classes/Extended Classes? (1: yes / 0: no) - .supernovice_level = 45; // Minimum base level to turn into Super Novice - .linear_jobchange = 1; // Enforce linear class changes? (1: yes / 0: no) - .skill_point_check = 1; // Force player to use up all skill points? (1: yes / 0: no) - .platinum = 1; // Get platinum skills automatically? (1: yes / 0: no) - end; -} diff --git a/npc/custom/platinum_skills.txt b/npc/custom/platinum_skills.txt deleted file mode 100644 index 3cd85f873..000000000 --- a/npc/custom/platinum_skills.txt +++ /dev/null @@ -1,61 +0,0 @@ -//===== Hercules Script ====================================== -//= Platinum Skills -//===== By: ================================================== -//= Keichii, DarkChild -//===== Current Version: ===================================== -//= 2.8 -//===== Description: ========================================= -//= Single NPC that assigns quests skills for all classes -//===== Additional Comments: ================================= -//= 2.0 Added advanced classes by ShadowLady. -//= 2.1 Added baby clases by Midas -//= 2.2 Simplified Job Checks [Silentdragon] -//= 2.3 Thehell? Cleaned up script removed the nastiness. Also added rebirth skills. [Spre] -//= 2.4 Added Advanced skills. [Spre] -//= 2.5 Added dialog for if the user is none of the listed jobs. [Kisuka] -//= 2.6 Fixed 2nd advanced classes not being able to get their advanced skills. [Ancyker] -//= 2.7 Rewrote to give all correct skills to all proper classes. [Paradox924X] -//= 2.8 Clustered conditionals replaced with switch to include all Upper types. [Euphy] -//============================================================ - -prontera,128,200,6 script Platinum Skill NPC 4_F_MAID,{ - mes "[Platinum Skill NPC]"; - mes "I can give you the special skills available to your job."; - mes "Would you like these skills now?"; - next; - if (select("Yes Please", "No") == 2) { - mes "[Platinum Skill NPC]"; - mes "Have a nice day... >.>"; - close; - } - skill 142,1,0; - switch(BaseClass) { - case 0: if (Class !=23) skill 143,1,0; break; - case 1: skill 144,1,0; skill 145,1,0; skill 146,1,0; break; - case 2: skill 157,1,0; break; - case 3: skill 147,1,0; skill 148,1,0; break; - case 4: skill 156,1,0; break; - case 5: skill 153,1,0; skill 154,1,0; skill 155,1,0; break; - case 6: skill 149,1,0; skill 150,1,0; skill 151,1,0; skill 152,1,0; break; - default: break; - } - switch(BaseJob) { - case 7: skill 1001,1,0; break; - case 8: skill 1014,1,0; break; - case 9: skill 1006,1,0; break; - case 10: skill 1012,1,0; skill 1013,1,0; break; - case 11: skill 1009,1,0; break; - case 12: skill 1003,1,0; skill 1004,1,0; break; - case 14: skill 1002,1,0; break; - case 15: skill 1015,1,0; skill 1016,1,0; break; - case 16: skill 1007,1,0; skill 1008,1,0; skill 1017,1,0; skill 1018,1,0; skill 1019,1,0; break; - case 17: skill 1005,1,0; break; - case 18: skill 238,1,0; break; - case 19: skill 1010,1,0; break; - case 20: skill 1011,1,0; break; - default: break; - } - mes "[Platinum Skill NPC]"; - mes "There you go!"; - close; -} diff --git a/npc/custom/quests/bandit_beard.txt b/npc/custom/quests/bandit_beard.txt deleted file mode 100644 index 9f9e509f4..000000000 --- a/npc/custom/quests/bandit_beard.txt +++ /dev/null @@ -1,231 +0,0 @@ -//===== Hercules Script ====================================== -//= Bandit Beard Quest -//===== By: ================================================== -//= Mega Man Expert & Lupus -//===== Current Version: ===================================== -//= 1.3 -//===== 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 -//= 1.2 fixed donpcevent label [Lupus] -//= 1.3 Removed duplicates [L0ne_W0lf] -//============================================================ - -umbala,126,129,4 script Bearded Man#bandit 2_M_PHARMACIST,{ - 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; - if (select("Yes, I'd like some facial hair!", "No thanks, thats gross!") != 1) { - mes "[Bearded Man]"; - mes "Fine, be that way!"; - emotion 7; - close; - } - - 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; - -L_DONE: - mes "[Bearded Man]"; - mes "Sorry, I can only make one per person."; - mes "We don't want too many beards now. Right?"; - emotion 29; - close; - -L_MAKE: - mes "[Bearded Man]"; - mes "Let's make you your beard!"; - next; - if(countitem(Flexible_String) < 1 || countitem(Animals_Skin) < 1 || countitem(Black_Dyestuffs) < 1 || countitem(Granpa_Beard) < 1 || - countitem(Sticky_Mucus) < 100 || countitem(Counteragent) < 1 || countitem(Crystal_Jewel_) < 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,123,175,4 script Master Tailor#bandit 1_M_04,{ - 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,70,179,5 script Karfa Clerk#bandit 4_F_KAFRA5,{ - 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; - - if (select("What's in the boxes?", "Nothing.") != 1) - close; - mes "[Karfa Clerk]"; - mes "They're empty."; - 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,65,123,6 script Man#bandit 4_M_03,{ - 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; - if (select("Yes", "No") != 1) { - mes "[Thread Merchant]"; - mes "What to do..."; - close; - } - 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::OnStart"; - 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; -} - -//mobsummons ------- -alberta,1,1,1 script BRDQ_MOBS FAKE_NPC,{ -OnStart: - set $@beardmob,10; - set $@beardMobD,0; - monster "alberta",65,120,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie"; - monster "alberta",66,120,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie"; - monster "alberta",67,120,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie"; - monster "alberta",68,120,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie"; - monster "alberta",66,121,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie"; - monster "alberta",67,121,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie"; - monster "alberta",68,121,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie"; - monster "alberta",66,122,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie"; - monster "alberta",67,122,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie"; - monster "alberta",68,122,"Thef Bug Male",1054,1,"BRDQ_MOBS::OnDie"; - end; -OnDie: - set $@beardmob, $@beardmob - 1; - if($@beardmob > 0) end; - set $@beardMobD,1; - end; -OnClock1201: -OnClock0001: - set $@beardmob,0; - set $@beardMobD,0; - end; -} diff --git a/npc/custom/quests/berzebub.txt b/npc/custom/quests/berzebub.txt deleted file mode 100644 index 5590a1911..000000000 --- a/npc/custom/quests/berzebub.txt +++ /dev/null @@ -1,62 +0,0 @@ -//===== Hercules Script ====================================== -//= Berzebub Card Quest -//===== By: ================================================== -//= jabs -//===== Current Version: ===================================== -//= 1.1 -//===== Description: ========================================= -//= Quest to get the Berzebub Card -//===== Additional Comments: ================================= -//= 1.1 Fixed ingredients. Was too exploitable [Lupus] -//= 1.2 Optimized. [Euphy] -//============================================================ - -prontera,165,178,0 script Old Woman 8_F_GRANDMOTHER,{ - - setarray .@items[0],714,25,1061,100,1095,200,618,10,1551,2,1614,1,727,20; - set .@n$,"[Old Woman]"; - - mes .@n$; - if(BerzQuest == 1) { - mes "Hey, I remember you! I already told you that you may only complete this quest once."; - close; } - mes "Greeting, lad. I found a really nifty item while I was picking mushrooms near Glast Heim."; - next; - if(select("Keep Talking", "Leave")==2) goto M_Leave; - - mes .@n$; - mes "I have never seen an item like this before. I am told it can be placed inside any accessory with a slot available."; - next; - mes .@n$; - mes "If you're interested in this item, 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, you may not do it again."; - next; - if(select("Tell me more about it", "Nah, I don't care about it")==2) goto M_Leave; - - mes .@n$; - mes "I believe the item is called a ^FF0000Berzebub Card^000000. It makes you cast spells really fast!"; - next; - mes .@n$; - mes "I need all of the following items:"; - for(set .@i,0; .@i gettimetick(2) && .Delay) { - set .@i, #Mission_Delay-gettimetick(2); - if (.@i > 3600) set .@j$, (.@i/3600)+" hour"+(((.@i/3600) == 1)?"":"s"); - else if (.@i > 60) set .@j$, (.@i/60)+" minute"+(((.@i/60) == 1)?"":"s"); - else set .@j$, (.@i)+" second"+((.@i == 1)?"":"s"); - mes "I'm afraid you'll have to wait "+.@j$+" before taking another mission."; - close; - } - mes "You must hunt:"; - query_sql("SELECT ID FROM `mob_db` WHERE left(Sprite, 4) != 'meta' AND left(Sprite, 2) != 'E_' AND ~Mode & 32 AND EXP > 0 AND MVP1id = 0 AND DropCardid > 4000 AND DropCardid < 5000 AND ID < 2000 AND instr('"+.Blacklist$+"',ID) = 0 ORDER BY rand() LIMIT "+.Quests, .@mob); - for (set .@i,0; .@i<.Quests; set .@i,.@i+1) { - setd "Mission"+.@i, .@mob[.@i]; - setd "Mission"+.@i +"_",0; - } - set #Mission_Count, rand(.Count[0],.Count[1]); - callsub Mission_Status; - next; - mes "[Hunting Missions]"; - mes "Report back when"; - mes "you've finished."; - mes "Good luck!"; - close; - case 2: - mes "[Hunting Missions]"; - mes "Mission status:"; - callsub Mission_Status; - close; - case 3: - mes "[Hunting Missions]"; - mes "Do you really want to"; - mes "abandon your mission?"; - if (.Reset < 0 && .Delay) - mes "Your delay time will not be reset."; - else if (.Reset > 0) - mes "It will cost "+Cm(.Reset)+" Zeny."; - next; - switch(select(" ~ Abandon...", " ~ ^777777Cancel^000000")) { - case 1: - if (.Reset > 0) { - if (Zeny < .Reset) { - mes "[Hunting Missions]"; - mes "You don't have enough"; - mes "Zeny to drop this mission."; - emotion e_sry; - close; - } - Zeny -= .Reset; - emotion e_cash; - } - mes "[Hunting Missions]"; - mes "Alright, I've dropped"; - mes "your current mission."; - specialeffect(EF_STORMKICK4, AREA, playerattached()); - for(set .@i,0; .@i<.Quests; set .@i,.@i+1) { - setd "Mission"+.@i,0; - setd "Mission"+.@i+"_",0; - } - set #Mission_Count,0; - if (.Reset < 0 && .Delay) set #Mission_Delay, gettimetick(2)+(.Delay*3600); - close; - case 2: - mes "[Hunting Missions]"; - mes "I knew you were kidding!"; - mes "Keep up the good work."; - emotion e_heh; - close; - } - case 4: - callsub Mission_Info; - close; - case 5: - mes "[Hunting Missions]"; - mes "You have ^0055FF"+#Mission_Points+"^000000 Mission Points."; - mes "Use them well!"; - callshop "mission_shop",1; - npcshopattach "mission_shop"; - end; - case 6: - mes "[Hunting Missions]"; - mes "The top hunters are:"; - query_sql("SELECT char_id AS id, (SELECT `name` FROM `char` WHERE char_id = id),`value` FROM `char_reg_num_db` WHERE `key` = 'Mission_Total' ORDER BY `value` DESC LIMIT 5",.@id,.@name$,.@val); - for(set .@i,0; .@i<5; set .@i,.@i+1) - mes " [Rank "+(.@i+1)+"] "+((.@name$[.@i] == "")?"^777777none":"^0055FF"+.@name$[.@i]+"^000000 : ^FF0000"+.@val[.@i]+" pt.")+"^000000"; - close; - case 7: - mes "[Hunting Missions]"; - mes "Nothing? Okay..."; - emotion e_hmm; - close; - } - -Mission_Status: - set @f,0; - deletearray .@j[0], getarraysize(.@j); - for(set .@i,0; .@i<.Quests; set .@i,.@i+1) { - set .@j[.@i], getd("Mission"+.@i); - set .@j[.Quests], .@j[.Quests]+strmobinfo(3,.@j[.@i]); - set .@j[.Quests+1], .@j[.Quests+1]+(strmobinfo(6,.@j[.@i])/(getbattleflag("base_exp_rate")/100)*.Modifier[0]); - set .@j[.Quests+2], .@j[.Quests+2]+(strmobinfo(7,.@j[.@i])/(getbattleflag("job_exp_rate")/100)*.Modifier[1]); - mes " > "+Chk(getd("Mission"+.@i+"_"),#Mission_Count)+strmobinfo(1,.@j[.@i])+" ("+getd("Mission"+.@i+"_")+"/"+#Mission_Count+")^000000"; - } - - // Reward formulas: - set .@Mission_Points, 3+(.@j[.Quests]/.Quests/6); - set .@Base_Exp, #Mission_Count*.@j[.Quests+1]/5; - set .@Job_Exp, #Mission_Count*.@j[.Quests+2]/5; - set .@zeny, #Mission_Count*.Quests*.@j[.@i]*.Modifier[2]; - - next; - mes "[Hunting Missions]"; - mes "Mission rewards:"; - mes " > Mission Points: ^0055FF"+.@Mission_Points+"^000000"; - mes " > Base Experience: ^0055FF"+Cm(.@Base_Exp)+"^000000"; - mes " > Job Experience: ^0055FF"+Cm(.@Job_Exp)+"^000000"; - mes " > Zeny: ^0055FF"+Cm(.@zeny)+"^000000"; - if (@f) { set @f,0; return; } - next; - mes "[Hunting Missions]"; - mes "Oh, you're done!"; - mes "Good work."; - mes "Here's your reward."; - emotion e_no1; - specialeffect(EF_ANGEL, AREA, playerattached()); - specialeffect(EF_TRUESIGHT, AREA, playerattached()); - set #Mission_Points, #Mission_Points+.@Mission_Points; - set BaseExp, BaseExp+.@Base_Exp; - set JobExp, JobExp+.@Job_Exp; - Zeny += .@zeny; - for(set .@i,0; .@i<.Quests; set .@i,.@i+1) { - setd "Mission"+.@i,0; - setd "Mission"+.@i+"_",0; - } - set #Mission_Count,0; - if (.Delay) set #Mission_Delay, gettimetick(2)+(.Delay*3600); - set Mission_Total, Mission_Total+1; - if (Mission_Total == 1) query_sql("INSERT INTO `char_reg_num_db` (`char_id`,`key`,`index`,`value`) VALUES ("+getcharid(CHAR_ID_CHAR)+",'Mission_Total','0',1)"); - else query_sql("UPDATE `char_reg_num_db` SET `value` = "+Mission_Total+" WHERE `char_id` = "+getcharid(CHAR_ID_CHAR)+" AND `key` = 'Mission_Total'"); - close; - -Mission_Info: - mes "[Hunting Missions]"; - mes "If you so choose, I can assign"; - mes "you a random hunting quest."; - mes "Some are easier than others, but"; - mes "the rewards increase with difficulty."; - next; - mes "[Hunting Missions]"; - mes "Missions points are shared"; - mes "amongst all your characters."; - if (.Delay) mes "Delay time is, too."; - mes "You can't take missions on"; - mes "multiple characters at once."; - next; - mes "[Hunting Missions]"; - mes "You can start a quest"; - if (.Delay) mes "every "+((.Delay == 1)?"hour.":.Delay+" hours."); - else mes "whenever you want."; - mes "That's everything~"; - return; - -function Chk { - if (getarg(0) < getarg(1)) { set @f,1; return "^FF0000"; } - else return "^00FF00"; } - -function Cm { - set .@str$, getarg(0); - for(set .@i,getstrlen(.@str$)-3; .@i>0; set .@i,.@i-3) - set .@str$, insertchar(.@str$,",",.@i); - return .@str$; } - -OnBuyItem: - set @cost,0; - for(set .@i,0; .@i #Mission_Points) mes "You don't have enough Mission Points."; - else { - for(set .@i,0; .@i 0) { - getmapxy(.@map2$, .@x2, .@y2, UNITTYPE_PC); - if ((.@map1$ == .@map2$ || .Party == 1) && (distance(.@x1,.@y1,.@x2,.@y2) <= 30 || .Party < 3)) { - for(set .@j,0; .@j<.Quests; set .@j,.@j+1) { - if (strmobinfo(1,.@mob) == strmobinfo(1,getd("Mission"+.@j))) { - if (getd("Mission"+.@j+"_") < #Mission_Count) { - dispbottom "[Hunting Mission] Killed "+(set(getd("Mission"+.@j+"_"),getd("Mission"+.@j+"_")+1))+" of "+#Mission_Count+" "+strmobinfo(1,.@mob)+"."; - break; - } - } - } - } - } - } - } - } - end; - -OnInit: - set .Delay,12; // Quest delay, in hours (0 to disable). - set .Quests,4; // Number of subquests per mission (increases rewards). - set .Party,3; // Party options: 0 (exclude party kills), 1 (include party kills), 2 (same map only), 3 (screen area only) - set .Reset,-1; // Reset options: -1 (abandoning mission sets delay time), 0 (no delay time), [Zeny] (cost to abandon mission, no delay time) - setarray .Count[0], // Min and max monsters per subquest (increases rewards). - 40,70; - setarray .Modifier[0], // Multipliers for Base Exp, Job Exp, and Zeny rewards. - getbattleflag("base_exp_rate")/100,getbattleflag("job_exp_rate")/100,60; - setarray .Shop[0], // Reward items: , (about 10~20 points per hunt). - 512,1,513,1,514,1,538,5,539,5,558,10,561,10; - set .Blacklist$, // Blacklisted mob IDs. - "1062,1088,1183,1186,1200,1212,1220,1221,1234,1235,"+ - "1244,1245,1250,1268,1290,1293,1294,1296,1298,1299,"+ - "1300,1301,1303,1304,1305,1306,1308,1309,1311,1313,"+ - "1515,1588,1618,1676,1677,1678,1679,1796,1797,1974,"+ - "1975,1976,1977,1978,1979"; - - npcshopdelitem "mission_shop",512; - for(set .@i,0; .@i{,{,...}}}; -//============================================================ -prontera,164,203,6 script Quest Shop#1 4_M_MOCASS2,{ callfunc "qshop"; } - - -// Script Core -//============================================================ -- script quest_shop FAKE_NPC,{ -function Add; function Chk; function Slot; function A_An; -OnInit: - freeloop(1); - -// ----------------------------------------------------------- -// Basic shop settings. -// ----------------------------------------------------------- - - set .Announce,1; // Announce quest completion? (1: yes / 0: no) - set .ShowSlot,1; // Show item slots? (2: all equipment / 1: if slots > 0 / 0: never) - set .ShowID,0; // Show item IDs? (1: yes / 0: no) - set .ShowZeny,0; // Show Zeny cost, if any? (1: yes / 0: no) - set .MaxStack,100; // Max number of quest items purchased at one time. - -// ----------------------------------------------------------- -// Points variable -- optional quest requirement. -// setarray .Points$[0],"",""; -// ----------------------------------------------------------- - - setarray .Points$[0],"#CASHPOINTS","Cash Points"; - -// ----------------------------------------------------------- -// Shop IDs -- to add shops, copy dummy data at bottom of file. -// setarray .Shops$[1],"",""{,...}; -// ----------------------------------------------------------- - - setarray .Shops$[1],"Headgears","Weapons","Other"; - -// ----------------------------------------------------------- -// Quest items -- do NOT use a reward item more than once! -// Add(,,, -// ,, -// ,{,...}); -// ----------------------------------------------------------- - - Add(1,5022,1,0,0,7086,1,969,10,999,40,1003,50,984,2); - Add(1,5032,1,0,0,1059,250,2221,1,2227,1,7063,600); - Add(1,5027,1,0,0,2252,1,1036,400,7001,50,4052,1); - Add(1,5045,1,0,0,2252,1,1054,450,943,1200); - - Add(2,1224,1,0,0,7297,30,969,10,999,50,714,10); - Add(2,1225,1,0,0,7292,30,969,10,999,50,714,10); - - Add(3,531,1,3,0,512,1,713,1); - Add(3,532,1,3,0,513,1,713,1); - Add(3,533,1,3,0,514,1,713,1); - Add(3,534,1,3,0,515,1,713,1); - -// ----------------------------------------------------------- - - freeloop(0); - set .menu$,""; - for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) { - set .menu$, .menu$+.Shops$[.@i]+":"; - npcshopdelitem "qshop"+.@i,909; - } - end; - -OnMenu: - set .@size, getarraysize(@i); - if (!.@size) set .@i, select(.menu$); - else if (.@size == 1) set .@i, @i[0]; - else { - for(set .@j,0; .@j<.@size; set .@j,.@j+1) - set .@menu$, .@menu$+.Shops$[@i[.@j]]+":"; - set .@i, @i[select(.@menu$)-1]; - } - deletearray @i[0],getarraysize(@i); - if (.Shops$[.@i] == "") { - message strcharinfo(PC_NAME),"An error has occurred."; - end; - } - dispbottom "Select one item at a time."; - callshop "qshop"+.@i,1; - npcshopattach "qshop"+.@i; - end; - -OnBuyItem: - // .@q[] : RewardID, BoughtAmt, RewardAmt, BaseAmt, ReqZeny, ReqPts, { ReqItem, ReqAmt, ... } - setarray .@q[0],@bought_nameid[0],((@bought_quantity[0] > .MaxStack)?.MaxStack:@bought_quantity[0]); - copyarray .@q[3],getd(".q_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+.@q[0])); - set .@q[2],.@q[1]*.@q[3]; - if (!.@q[2] || .@q[2] > 30000) { - message strcharinfo(PC_NAME),"You can't purchase that many "+getitemname(.@q[0])+"."; - end; - } - mes "[Quest Shop]"; - mes "Reward: ^0055FF"+((.@q[2] > 1)?.@q[2]+"x ":"")+Slot(.@q[0])+"^000000"; - mes "Requirements:"; - if (.@q[4]) mes " > "+Chk(Zeny,.@q[4]*.@q[1])+(.@q[4]*.@q[1])+" Zeny^000000"; - if (.@q[5]) mes " > "+Chk(getd(.Points$[0]),.@q[5]*.@q[1])+(.@q[5]*.@q[1])+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+(.@q[5]*.@q[1])+")^000000"; - if (.@q[6]) for(set .@i,6; .@i "+Chk(countitem(.@q[.@i]),.@q[.@i+1]*.@q[1])+((.ShowID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+(.@q[.@i+1]*.@q[1])+")^000000"; - next; - setarray @qe[1], getiteminfo(.@q[0], ITEMINFO_LOC), getiteminfo(.@q[0], ITEMINFO_VIEWSPRITE); - if (@qe[2] > 0 && ((@qe[1] & EQP_HEAD_LOW) || (@qe[1] & EQP_HEAD_TOP) || (@qe[1] & EQP_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_TOP) || (@qe[1] & EQP_COSTUME_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_LOW) || (@qe[1] & EQP_GARMENT) || (@qe[1] & EQP_COSTUME_GARMENT))) - set .@preview,1; - addtimer 1000, strnpcinfo(NPC_NAME)+"::OnEnd"; - while(1) { - switch(select(" ~ Purchase ^0055FF"+ getitemname(.@q[0]) +"^000000", ((.@preview && !@qe[7])?" ~ Preview...": ""), " ~ ^777777Cancel^000000")) { - case 1: - if (@qe[0]) { - mes "[Quest Shop]"; - mes "You're missing one or more quest requirements."; - close; - } - if (!checkweight(.@q[0],.@q[2])) { - mes "[Quest Shop]"; - mes "^FF0000You need "+(((.@q[2] * getiteminfo(.@q[0], ITEMINFO_WEIGHT)) + Weight - MaxWeight) / 10)+" additional weight capacity to complete this trade.^000000"; - close; - } - if (.@q[4]) Zeny -= (.@q[4]*.@q[1]); - if (.@q[5]) setd .Points$[0], getd(.Points$[0])-(.@q[5]*.@q[1]); - if (.@q[6]) for(set .@i,6; .@i 1)?.@q[2]+"x "+getitemname(.@q[0]):A_An(getitemname(.@q[0])))+"!",0; - specialeffect(EF_FLOWERLEAF, AREA, playerattached()); - close; - case 2: - setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), getlook(LOOK_ROBE), 1; - if ((@qe[1] & 1) || (@qe[1] & 4096)) changelook LOOK_HEAD_BOTTOM, @qe[2]; - else if ((@qe[1] & 256) || (@qe[1] & 1024)) changelook LOOK_HEAD_TOP, @qe[2]; - else if ((@qe[1] & 512) || (@qe[1] & 2048)) changelook LOOK_HEAD_MID, @qe[2]; - else if ((@qe[1] & 4) || (@qe[1] & 8192)) changelook LOOK_ROBE, @qe[2]; - break; - case 3: - close; - } - } - -OnEnd: - if (@qe[7]) { - changelook LOOK_HEAD_BOTTOM, @qe[3]; - changelook LOOK_HEAD_TOP, @qe[4]; - changelook LOOK_HEAD_MID, @qe[5]; - changelook LOOK_ROBE, @qe[6]; - } - deletearray @qe[0],8; - end; - -function Add { - if (getitemname(getarg(1)) == "null") { - debugmes "Quest reward #"+getarg(1)+" invalid (skipped)."; - return; - } - setarray .@j[0],getarg(2),getarg(3),getarg(4); - for(set .@i,5; .@i= getd("." +.@selection+"_collectionmin") && BaseLevel <= getd("." +.@selection+"_collectionmax")) - { - mes "[^FF7700Questboard^000000]"; - mes "Quest accepted."; - set c_run, 1; - set currentquest$, .@selection; - close; - } - else - { - mes "[^FF7700Questboard^000000]"; - mes "You don't have the required"; - mes "level to do this quest."; - close; - } - - case 2: - set .@huntmenu$, ""; - for( set .@i,0; .@i < .huntingquestcount; set .@i,.@i+1) { - if (.@i) set .@huntmenu$,.@huntmenu$+":"; - set .@huntmenu$, .@huntmenu$ + "[" + getd("." +(.@i+1)+"_huntingmin") + " - " + getd("." +(.@i+1)+"_huntingmax") + "] " + getd("." + (.@i+1) + "_huntingname$"); - } - set .@selection,select(.@huntmenu$); - if(gettimetick(2) < getd(.@selection + "_hunting_delay")){ - set .@time_left, getd(.@selection + "_hunting_delay")-gettimetick(2); - mes "[^FF7700Questboard^000000]"; - if(.@time_left < 60) mes "You have to wait ^0000FF"+.@time_left+" seconds^000000 to do this quest again."; - if(.@time_left < 3600) mes "You have to wait ^0000FF"+.@time_left/60+" minutes^000000 to do this quest again."; - mes "You have to wait ^0000FF"+.@time_left/60/60+" hours^000000 to do this quest again."; - close; - } - mes "[^FF7700Questboard^000000]"; - mes "^0000FF"+getd("." + .@selection + "_huntingname$")+"^000000"; - mes "--------------------------------"; - for( set .@j, 0; .@j < getarraysize(getd("."+ .@selection + "_huntingmob")); set .@j,.@j+2) { - mes "^FF0000"+strmobinfo(1,getd("."+.@selection+"_huntingmob["+.@j+"]"))+" - "+getd("."+.@selection+"_huntingmob["+(.@j+1)+"]")+" ea.^000000"; - } - mes "--------------------------------"; - mes "[Reward]"; - mes "Item: ^0000FF"+((getd("." +.@selection+"_huntingprize"))?getitemname(getd("." +.@selection+"_huntingprize"))+" - "+getd("." +.@selection+"_huntingamount")+" ea.^000000":"Nothing^000000"); - mes "Zeny: ^0000FF"+getd("." +.@selection+"_huntingzeny")+"^000000"; - mes "Base EXP: ^0000FF"+getd("." +.@selection+"_huntingexp["+0+"]")+"^000000"; - mes "Job EXP: ^0000FF"+getd("." +.@selection+"_huntingexp["+1+"]")+"^000000"; - next; - if(select("Accept", "Decline") == 2){ - close; - } - if(BaseLevel >= getd("." +.@selection+"_huntingmin") && BaseLevel <= getd("." +.@selection+"_huntingmax")) - { - mes "[^FF7700Questboard^000000]"; - mes "Quest accepted."; - set h_run, 1; - set currentquest$, .@selection; - close; - } - else - { - mes "[^FF7700Questboard^000000]"; - mes "You don't have the required"; - mes "level to do this quest."; - close; - } - case 3: - close; - } - -L_checkitems: - for( set .@k,0; .@k < getarraysize(getd("."+currentquest$+"_collectionitem")); set .@k,.@k+2) { - if(countitem(getd("."+currentquest$+"_collectionitem["+.@k+"]"))>=getd("."+currentquest$+"_collectionitem["+(.@k+1)+"]")){ - set .@checkitem,.@checkitem+2; - } - } - if(.@checkitem=getd("."+currentquest$+"_huntingmob["+.@i+"]")) end; - setd(currentquest$+"_"+.@currentmob+"_"+.@i+"_killcount", getd(currentquest$+"_"+.@currentmob+"_"+.@i+"_killcount")+1); - dispbottom getd("."+currentquest$+"_huntingname$")+": ["+strmobinfo(1,.@currentmob)+"] ("+ getd(currentquest$+"_"+.@currentmob+"_"+.@i+"_killcount")+"/"+getd("."+currentquest$+"_huntingmob["+.@i+"]")+")"; - end; - } - continue; - } - end; - -OnInit: - function AddCollection; - function AddHunting; - - //Activate/Deactive quest categories here - set .collection, 1; - set .hunting, 1; - - //Quest Delay (seconds) - //24 hours = 86400 seconds - set .quest_delay, 0; - - //Checks if quests are loaded (prevents out of index) - if(.questsloaded==1) end; - set .questsloaded, 1; - - //Add Collection Quests here - //AddCollection("",,,,,,,,,,...); - - //Add Hunting Quests here - //AddHunting("",,,,,,,,,,...); - - end; - -function AddCollection { - set .collectionquestcount,.collectionquestcount+1; - setd ("." +.collectionquestcount+"_collectionname$", getarg(0)); - setd ("." +.collectionquestcount+"_collectionmin", getarg(1)); - setd ("." +.collectionquestcount+"_collectionmax", getarg(2)); - setd ("." +.collectionquestcount+"_collectionprize", getarg(3)); - setd ("." +.collectionquestcount+"_collectionamount", getarg(4)); - setd ("." +.collectionquestcount+"_collectionzeny", getarg(5)); - set .@argcount, 6; - set .@size, getarraysize(getd("."+ .collectionquestcount + "_collectionexp")); - setd ("." +.collectionquestcount+"_collectionexp["+.@size+"]",getarg(.@argcount)); - setd ("." +.collectionquestcount+"_collectionexp["+(.@size+1)+"]",getarg(.@argcount+1)); - set .@argcount, .@argcount+2; - while(getarg(.@argcount,-1)!=-1 && getarg(.@argcount+1,-1)!=-1) { - set .@size, getarraysize(getd("."+ .collectionquestcount + "_collectionitem")); - setd ("."+.collectionquestcount+"_collectionitem["+.@size+"]",getarg(.@argcount)); - setd ("."+.collectionquestcount+"_collectionitem["+(.@size+1)+"]",getarg(.@argcount+1)); - set .@argcount,.@argcount+2; - } - return; -} - -function AddHunting { - set .huntingquestcount,.huntingquestcount+1; - setd ("." +.huntingquestcount+"_huntingname$", getarg(0)); - setd ("." +.huntingquestcount+"_huntingmin", getarg(1)); - setd ("." +.huntingquestcount+"_huntingmax", getarg(2)); - setd ("." +.huntingquestcount+"_huntingprize", getarg(3)); - setd ("." +.huntingquestcount+"_huntingamount", getarg(4)); - setd ("." +.huntingquestcount+"_huntingzeny", getarg(5)); - set .@size, getarraysize(getd("."+ .huntingquestcount + "_huntingexp")); - set .@argcount, 6; - setd ("." +.huntingquestcount+"_huntingexp["+.@size+"]",getarg(.@argcount)); - setd ("." +.huntingquestcount+"_huntingexp["+(.@size+1)+"]",getarg(.@argcount+1)); - set .@argcount, .@argcount+2; - while(getarg(.@argcount,-1)!=-1 && getarg(.@argcount+1,-1)!=-1) { - set .@size, getarraysize(getd("."+ .huntingquestcount + "_huntingmob")); - setd ("."+.huntingquestcount+"_huntingmob["+.@size+"]",getarg(.@argcount)); - setd ("."+.huntingquestcount+"_huntingmob["+(.@size+1)+"]",getarg(.@argcount+1)); - set .@argcount, .@argcount+2; - } - return; -} -} diff --git a/npc/custom/quests/sphinx_mask.txt b/npc/custom/quests/sphinx_mask.txt deleted file mode 100644 index f7e1023c4..000000000 --- a/npc/custom/quests/sphinx_mask.txt +++ /dev/null @@ -1,50 +0,0 @@ -//===== Hercules Script ====================================== -//= Sphinx Mask Quest (custom) -//===== By: ================================================== -//= sabernet09 -//===== Current Version: ===================================== -//= 1.3 -//===== Description: ========================================= -//= This quest is related to Umbalian Chief. -//= 1.1 Removed it from official Umbala quests [Lupus] -//= 1.2 Added a missing variable (sphmask_q) [erKURITA] -//= 1.3 Optimized, and coordinates moved. [Euphy] -//============================================================ - -morocc,208,90,6 script Turban Thief 1_M_MERCHANT,{ - mes "[Turban Thief]"; - if(event_umbala < 2) { - mes "What do you wan te withz me? Be gone!"; - close; } - if(sphmask_q) { - mes "You have no more business with me, go away!"; - close; } - 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; - callsub L_Menu,1,"1,000,000",1000000; - callsub L_Menu,2,"750,000",750000; - callsub L_Menu,3,"500,000",500000; - next; - mes "[Turban Thief]"; - mes "Ack! Forgez it! I can do bettaz en elsez where!"; - set sphmask_q,1; - close; - -L_Menu: - mes "[Turban Thief]"; - switch(getarg(0)) { - case 1: 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?"; break; - case 2: mes "Ahh a business man are you no? Fine, how about..."; break; - case 3: mes "Hmmm... you drive a hard bargain, ok... my final offer..."; break; } - next; - if(select("Pay "+getarg(1)+"z", "No deal")==2) return; - mes "[Turban Thief]"; - if (Zeny < getarg(2)) { - mes "Are youz playin wit me? You don't have ze money!"; - close; } - Zeny -= getarg(2); - mes "O ho ho, it's a deal, then!"; - getitem 7114,1; - set sphmask_q,1; - close; -} diff --git a/npc/custom/quests/sunglasses.txt b/npc/custom/quests/sunglasses.txt deleted file mode 100644 index 416dcb571..000000000 --- a/npc/custom/quests/sunglasses.txt +++ /dev/null @@ -1,106 +0,0 @@ -//===== Hercules Script ====================================== -//= Slotted Sunglasses Quest -//===== By: ================================================== -//= amichan -//===== Current Version: ===================================== -//= 1.8 -//===== Description: ========================================= -//= Quest to get Slotted Sunglasses. -//= Will reset after quest completion. -//===== Additional Comments: ================================= -//= 1.0 by Aegis 1.1 by aichan 1.2 by x[tsk] 1.3 by Darkchild -//= 1.5 Fixed Exploit [Lupus] -//= 1.6 Fixed Exploit [KarLaeda] -//= 1.7 Relocated 'Maseph' to moc_fild07. [Kisuka] -//= 1.8 Cleaning. [Euphy] -//============================================================ - -alberta,88,193,5 script Sunglasses Trader 1_F_MERCHANT_01,{ - mes "[Sunglasses Trader]"; - if(SG_QUEST1 == 1) { - mes "There is nothing more I can tell you."; - next; - mes "[Sunglasses Trader]"; - mes "Go see Maseph. She is somewhere north of Morroc."; - close; } - mes "Hello. What can I do for you?"; - next; - if(select("I heard that you can make ^0000FFSlotted Sunglasses^000000.", "Nothing, sorry to bother you.")==2) { - mes "[Sunglasses Trader]"; - mes "Come back to me than you are ready."; - close; } - 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; - if(select("How much?", "No way, I will find her myself!")==2) { - 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; } - 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 " - ^000088100000z^000000"; - next; - if(select("Alright, here.", "That's too much!")==2) { - mes "[Sunglasses Trader]"; - mes "Suit yourself."; - close; } - mes "[Sunglasses Trader]"; - if (countitem(Crystal_Jewel) < 1 || countitem(Feather) < 50 || Zeny < 100000) { - mes "You're missing something. Come back when you've gathered all the materials."; - close; } - delitem 730,1; - delitem 949,50; - Zeny -= 100000; - set SG_QUEST1,1; - mes "[Sunglasses Trader]"; - mes "Great. Now, listen carefully."; - next; - mes "[Sunglasses Trader]"; - mes "Look for someone named Maseph somewhere north of Morroc."; - mes "I will send her a message to let her know that you are coming."; - close; -} - -moc_fild07,334,186,5 script Maseph 4_F_GON,{ - mes "[Maseph]"; - if(SG_QUEST1 != 1) { - mes "Lovely day, isn't it ?"; - close; } - mes "Hello there."; - mes "You came for the ^000088Slotted Sunglasses^000000, right?"; - next; - if(select("Yes", "No, sorry to bother you.")==2) { - mes "[Maseph]"; - mes "Off you go, then."; - close; } - mes "[Maseph]"; - mes "To make one, I will need one pair of ^000088Sunglasses^000000 and 400000z."; - next; - if(select("Here you go.", "No, thanks.")==2) { - mes "[Maseph]"; - mes "As you wish."; - close; } - mes "[Maseph]"; - if (countitem(Sunglasses) < 1) { - mes "I need one pair of ^000088Sunglasses^000000. Come back to me when you have one."; - close; } - if (Zeny < 400000) { - mes "You do not have enough Zeny. Come back to me when you do."; - close; } - delitem 2201,1; - Zeny -= 400000; - mes "Thank you. I will get on it right away..."; - next; - mes "[Maseph]"; - mes "Here you go, my friend."; - mes "Enjoy your ^000088Slotted Sunglasses^000000."; - getitem 2202,1; - set SG_QUEST1,0; - close; -} diff --git a/npc/custom/quests/tha_statues.txt b/npc/custom/quests/tha_statues.txt deleted file mode 100644 index 83630355a..000000000 --- a/npc/custom/quests/tha_statues.txt +++ /dev/null @@ -1,266 +0,0 @@ -//===== Hercules Script ====================================== -//= Custom Thanatos Tower Quest -//===== By: ================================================== -//= Bibilol, Moryagorn -//===== Current Version: ===================================== -//= 1.1 -//===== Description: ========================================= -//= Custom Thanatos Tower Quest -//===== Additional Comments: ================================= -//= 1.1 Fixed wrong NPC names in their dialogues, added -//= Justin84's gems check in Sox NPC [Lupus] -//============================================================ - -//Statue (NPC)(U: UP, D: DOWN, R: RIGHT, L: LEFT) : -// Explain Npc -tha_t08,69,106,4 script Statue HIDDEN_NPC,{ - 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,17,158,4 -//(Mediane)(D,R)-->tha_t09,84,99,4 -//Script: - -tha_t09,17,158,4 script Thalos HIDDEN_NPC,{ - 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,84,99,4 script Mediane HIDDEN_NPC,{ - 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", 165, 138; - close; -nook: - mes "[Mediane]"; - mes "You must talk with the Spirit in the 1st Statue."; - close; -} - -//Tha_t10 : -//(Melkor)(U)-->tha_t10,130,159,4 -//(Zebrus)(D,R)-->tha_t10,160,98,4 -//(Veriaelle)(D,L)-->tha_t10,99,97,4 -//Script: - -tha_t10,130,159,4 script Melkor HIDDEN_NPC,{ - 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,160,98,4 script Zebrus HIDDEN_NPC,{ - 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,99,97,4 script Veriaelle HIDDEN_NPC,{ - 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", 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,16,85,4 -//(Klermaz)(D,R)-->tha_t11,85,16,4 -//(Mihane)(D,L)-->tha_t11,16,16,4 -//(Seranes)(U,R)-->tha_t11,85,85,4 -//Script: - -tha_t11,16,85,4 script Throtre HIDDEN_NPC,{ - 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,85,16,4 script Klermaz HIDDEN_NPC,{ - 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,16,16,4 script Mihane HIDDEN_NPC,{ - 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,85,85,4 script Seranes HIDDEN_NPC,{ - 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", 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,103,18,4 -//(Vox)(R)-->tha_t12,162,58,4 -//(Hox)(L)-->tha_t12,96,57,4 -//(Dox)(D,R)-->tha_t12,153,17,4 -//(Sox)(U)-->tha_t12,128,88,4 -//Script: - -tha_t12,103,18,4 script Nox HIDDEN_NPC,{ - 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,162,58,4 script Vox HIDDEN_NPC,{ - 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,96,57,4 script Hox HIDDEN_NPC,{ - 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 Vox."; - next; - set TSQ_CHK,0; - close; -} - -tha_t12,153,17,4 script Dox HIDDEN_NPC,{ - 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 Hox."; - next; - set TSQ_CHK,0; - close; -} - -tha_t12,128,88,4 script Sox HIDDEN_NPC,{ - if(TSQ_CHK != 4 ) goto nook; - mes "[Sox]"; - mes "You have just passed the test successfully."; - next; - mes "[Sox]"; - mes "You have to give me Red Magic Stone, Yellow Magic Stone, Blue Magic Stone & Green Magic Stone."; - next; - if(countitem(Magic_Gem_Red) < 1 || countitem(Magic_Gem_Yellow) < 1 || countitem(Magic_Gem_Blue) < 1 || countitem(Magic_Gem_Green) < 1) goto nostone; - delitem 7426,1; - delitem 7427,1; - delitem 7428,1; - delitem 7429,1; - mes "[Sox]"; - mes "I will now warp you to steps of Fate."; - mes "Good-bye."; - next; - set TSQ_CHK,0; - warp "thana_step", 186, 223; - close; - -nostone: - mes "[Sox]"; - mes "Oh well, seems you don't have enough stones."; - close; - -nook: - mes "[Sox]"; - mes "Sorry, Go back and talk to Dox."; - next; - set TSQ_CHK,0; - close; -} diff --git a/npc/custom/quests/thq/THQS_ChatingNPC.txt b/npc/custom/quests/thq/THQS_ChatingNPC.txt deleted file mode 100644 index 2ea65e3c9..000000000 --- a/npc/custom/quests/thq/THQS_ChatingNPC.txt +++ /dev/null @@ -1,93 +0,0 @@ -//===== Hercules Script ====================================== -//= Treasure Hunter Quests -//===== By: ================================================== -//= Fredzilla -//===== Current Version: ===================================== -//= 1.0 -//===== Description: ========================================= -//= Start for Treasure hunter quests -//===== Additional Comments: ================================= -//= Event_THQS - Used to check if you have already registered -//= #Treasure_Token - used to keep track of tokens -//============================================================ - -//Entrance Flags -yuno,48,101,6 script Notice GUILD_FLAG,{ - 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,32,178,3 script Ahlma 4_F_MAID,{ - mes "[Ahlma]"; - if (Event_THQS == 0) goto N_Member; - mes "Welcome to The Treasure Hunter Guild."; - mes "How may I help you?"; - next; - if (select("Save", "Quit") != 1) { - mes "[Ahlma]"; - mes "Well if you think you are safe, good on you."; - close; - } - mes "[Ahlma]"; - mes "Ok, saved. Thank you ~ See you soon~"; - savepoint "yuno_in01",34,176; - close; -N_Member: - mes "Sorry, members only."; - close; -} -//Retired Smile mask girl; -yuno_in01,33,162,3 script Smile Helper 4_F_03,{ - 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,22,162,6 script Female Assasin 4_F_JOB_ASSASSIN,{ - 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(PC_NAME)+"."; - mes "Did you hear about that brave man that went into Glast Heim alone?! He must be crazy."; - close; -N_Chat2: - mes ""+strcharinfo(PC_NAME)+" don't you have something better you could be doing? Like a quest."; - close; -} -//another usless member -yuno_in01,25,162,6 script Female Wizard 2_F_MAGICMASTER,{ - 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(PC_NAME)+"."; - 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(PC_NAME)+" don't you have something better you could be doing? Like a quest."; - close; -} diff --git a/npc/custom/quests/thq/THQS_GuildNPC.txt b/npc/custom/quests/thq/THQS_GuildNPC.txt deleted file mode 100644 index 5a7c4883b..000000000 --- a/npc/custom/quests/thq/THQS_GuildNPC.txt +++ /dev/null @@ -1,89 +0,0 @@ -//===== Hercules Script ====================================== -//= Treasure Hunter Quests -//===== By: ================================================== -//= Fredzilla -//===== Current Version: ===================================== -//= 1.0 -//===== Description: ========================================= -//= Start for Treasure hunter quests -//===== Additional Comments: ================================= -//= Event_THQS - Used to check if you have already registered -//= #Treasure_Token - used to keep track of tokens -//============================================================ - -yuno_in01,124,164,6 script Guild Leader 1_M_PRON_KING,{ - mes "[Keegan]"; - mes "What brings you here? Have something to say?"; - next; - switch (select("I want to be a Treasure Hunter", "Take a New Quest.", "Take me to the Official Shop.", "Nevermind.",N_NVM)) { - case 1: - if (Event_THQS==1) - goto N_AlreadyReg; - mes "[Keegan]"; - mes "Well "+strcharinfo(PC_NAME)+" 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; - if (select("Pay ^FF000025,000z^000000.", "Thats way to high!!") != 1) { - mes "[Keegan]"; - mes "Well if you can't afford a small ^FF000025,000z^000000 you shouldent be a Treasure Hunter yet."; - close; - } - if (Zeny < 25000) - goto N_NoZeny; - Zeny -= 25000; - //getitem 7950, 1; - //getitem 7951, 1; - Event_THQS = 1; - mes "[Keegan]"; - mes "Congratulations!"; - emotion(e_grat); - 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; - case 2: - if (Event_THQS!=1) - goto A_NeedReg; - mes "[Keegan]"; - mes "Well "+strcharinfo(PC_NAME)+" if you wish to take a quest go talk to the fellow Treasure Hunter in the other room there."; - close; - case 3: - if (Event_THQS!=1) - goto N_NeedMem; - mes "[Keegan]"; - mes "Yes "+strcharinfo(PC_NAME)+" I will take you to our shop right away!"; - next; - warp "prt_in",166,171; - close; - case 4: - mes "[Keegan]"; - mes "Alright come back when you have the free time to spare."; - close; - } -N_NoZeny: - mes "[Keegan]"; - mes "Hmmm you don't seem to have ^FF000025,000z^000000 "+strcharinfo(PC_NAME)+". Please come back when you do."; - close; -N_AlreadyReg: - mes "[Keegan]"; - mes "Ha ha ha...you are already a member."; - 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_NeedMem: - mes "[Keegan]"; - mes "Im sorry only members may visit our private shop."; - close; -} diff --git a/npc/custom/quests/thq/THQS_QuestNPC.txt b/npc/custom/quests/thq/THQS_QuestNPC.txt deleted file mode 100644 index 1bbe8fd7a..000000000 --- a/npc/custom/quests/thq/THQS_QuestNPC.txt +++ /dev/null @@ -1,549 +0,0 @@ -//===== Hercules Script ====================================== -//= Treasure Hunter Quests -//===== By: ================================================== -//= Fredzilla -//===== Current Version: ===================================== -//= 1.4 -//===== Description: ========================================= -//= Start for Treasure hunter quests -//===== Additional Comments: ================================= -//= Event_THQS - Used to check if you have already registered -//= #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] -//= 1.3 Changed some bad RGB Codes. (bugreport:211) [Samuray22] -//= 1.4 Fixed typos. (bugreport:2607) [Kisuka] -//============================================================ - -yuno_in01,112,151,6 script Quest Manager 1_M_SIZ,{ - mes "[Guy]"; - mes "Welcome to the Treasure Hunters Guild "+strcharinfo(PC_NAME)+"."; - next; - if (On_Quest == 0) goto N_NewQuest; - mes "[Guy]"; - mes "Look " +strcharinfo(PC_NAME)+ ", 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; - if (select("No, never would I leave a quest!", "Yah I'm pathetic... Pay 2500z") == 1) { - mes("[Guy]"); - mes("Good well get back out there."); - close(); - } - 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; - Zeny -= 2500; - //add time delay penalty. You can get another quest after 2 - 3 hours. [Lupus] - set #THQ_DELAY, (gettime(GETTIME_YEAR)*12*31*24+gettime(GETTIME_MONTH)*31*24+gettime(GETTIME_DAYOFMONTH)*24+gettime(GETTIME_HOUR)+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(GETTIME_YEAR)*12*31*24 + gettime(GETTIME_MONTH)*31*24 + gettime(GETTIME_DAYOFMONTH)*24 + gettime(GETTIME_HOUR)) ) 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; - if (select("Yes I would like a Quest Please.", "Sorry Guy no time today.") == 2) { - mes("[Guy]"); - mes("Alright maybe next time."); - emotion(e_hmm); - close; - } - - 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(GETTIME_YEAR)*12*31*24+gettime(GETTIME_MONTH)*31*24+gettime(GETTIME_DAYOFMONTH)*24+gettime(GETTIME_HOUR) + 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_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(GETTIME_YEAR)*12*31*24+gettime(GETTIME_MONTH)*31*24+gettime(GETTIME_DAYOFMONTH)*24+gettime(GETTIME_HOUR)) )+" 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; - switch (select("Lost Old Man.", "Master needs his Bow.", "The Hit List.", "^FF0000The Sad Widow.^000000")) { - case 1: - 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."); - one_qset = 1; - break; - case 2: - 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(Delivery_Message, 1); //Delivery_Box - one_qset = 2; - break; - case 3: - 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 waiting 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!."); - one_qset = 3; - break; - case 4: - 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."); - one_qset = 4; - break; - } - goto(L_QuestGiven); - -///////Job list 2/////// -N_JobList2: - mes "[Guy]"; - mes "Ok you have a couple quests that can be done here."; - next; - switch (select("The Strange Letter", "Jur for Jeramiah", "Bee Keepers Hunny", "^FF0000The Wander Man^000000")) { - case 1: - 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."); - getitem(Delivery_Message, 1); - two_qset = 1; - break; - case 2: - 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); - two_qset = 2; - break; - case 3: - 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."); - two_qset = 3; - break; - case 4: - 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."); - two_qset = 4; - break; - } - goto(L_QuestGiven); - -///////Job list 3/////// -N_JobList3: - mes "[Guy]"; - mes "Ok you have a couple quests that can be done here."; - next; - switch (select("Damn Pixies!", "Package Delivery", "Prontera Culvert", "^FF0000Trouble at the Coal Mine^000000")) { - case 1: - 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."); - three_qset = 1; - break; - case 2: - 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(Merchant_Box_2, 1); //Delivery_Box_ - three_qset = 2; - break; - case 3: - 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."); - three_qset = 3; - break; - case 4: - 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."); - three_qset = 4; - break; - } - goto(L_QuestGiven); - -///////Job list 4/////// -N_JobList4: - mes "[Guy]"; - mes "Ok you have a couple quests that can be done here."; - next; - switch (select("Zombie Attack", "Mystic Wizard", "Aww shoot!", "^FF0000Emperium^000000")) { - case 1: - 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."); - four_qset = 1; - break; - case 2: - 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); - four_qset = 2; - break; - case 3: - 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."); - four_qset = 3; - break; - case 4: - 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."); - four_qset = 4; - break; - } - goto(L_QuestGiven); - -///////Job list 5/////// -N_JobList5: - mes "[Guy]"; - mes "Ok you have a couple quests that can be done here."; - next; - switch (select("Savage Land", "Pyramid's part 1", "Thinking first", "^FF0000The not so friendly ghost^000000")) { - case 1: - 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"); - five_qset = 1; - break; - case 2: - 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 waiting for you. He did no give us his name but he asked for you to hurry."); - five_qset = 2; - break; - case 3: - 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(Bunch_Of_Flowers, 1); //Bouquet - five_qset = 3; - break; - case 4: - 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."); - five_qset = 4; - break; - } - goto(L_QuestGiven); - -///////Job list 6/////// -N_JobList6: - mes "[Guy]"; - mes "Ok you have a couple quests that can be done here."; - next; - switch (select("Package for thiefs", "Pyramid's part 2", "Special delivery", "^FF0000Geffenia^000000")) { - case 1: - mes("^FF0000Package for thiefs^000000"); - mes("^FF0000------------------^000000"); - mes("How ironic."); - mes(" "); - mes("Deliver this Box to the Thiefs guild."); - getitem(Merchant_Box_3, 1); //Delivery_Box__ - six_qset = 1; - break; - case 2: - 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."); - six_qset = 2; - break; - case 3: - 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."); - getitem(Merchant_Box_3, 1); //Delivery_Box__ - six_qset = 3; - break; - case 4: - 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."); - six_qset = 4; - break; - } - goto(L_QuestGiven); - -///////Job list 7/////// -N_JobList7: - mes "[Guy]"; - mes "Ok you have a couple quests that can be done here."; - next; - switch (select("Apple Juice", "Delivery", "^FF0000Golden Thief Bug^000000", "^FF0000Evil Pirates^000000")) { - case 1: - 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."); - seven_qset = 1; - break; - case 2: - 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(Merchant_Box_2, 1); //Delivery_Box_ - seven_qset = 2; - break; - case 3: - 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."); - seven_qset = 3; - break; - case 4: - 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 waiting outside the Ghost Ship.There have been reports of evil undead pirates lurking around inside the ship."); - seven_qset = 4; - break; - } - goto(L_QuestGiven); - -///////Job list 8/////// -N_JobList8: - mes "[Guy]"; - mes "Ok you have a couple quests that can be done here."; - next; - switch (select("Banana Juice", "Another Delivery", "^FF0000Baphomet!^000000", "My lost beeds")) { - case 1: - mes("^FF0000Banana Juice^000000"); - mes("^FF0000------------^000000"); - 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."); - eight_qset = 1; - break; - case 2: - mes("^FF0000Another Delivery^000000"); - mes("^FF0000----------------^000000"); - 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."); - getitem(Merchant_Box_1, 1); //Delivery_Box - eight_qset = 2; - break; - case 3: - mes("^FF0000Baphomet!^000000"); - mes("^FF0000*********^000000"); - 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."); - eight_qset = 3; - break; - case 4: - mes("^FF0000My lost Beeds^000000"); - mes("^FF0000-------------^000000"); - 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."); - eight_qset = 4; - break; - } - goto(L_QuestGiven); - -///////Job list 9/////// -N_JobList9: - mes "[Guy]"; - mes "Ok you have a couple quests that can be done here."; - next; - switch (select("Smelly Box", "^FF0000Sohee's Everywere!^000000", "^FF0000Moonlight Flower^000000", "Payon Cave")) { - case 1: - mes("^FF0000Smelly Box^000000"); - mes("^FF0000----------^000000"); - 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(Merchant_Box_2, 1); //Delivery_Box_ - nine_qset = 1; - break; - case 2: - mes("^FF0000Sohee's Everywere!^000000"); - mes("^FF0000******************^000000" ); - 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."); - nine_qset = 2; - break; - case 3: - mes("^FF0000Moonlight Flower^000000"); - mes("^FF0000****************^000000" ); - 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."); - nine_qset = 3; - break; - case 4: - mes("^FF0000Payon Cave^000000"); - mes("^FF0000----------^000000" ); - 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."); - nine_qset = 4; - break; - } - goto(L_QuestGiven); - -///////Job list 10/////// -N_JobList10: - mes "[Guy]"; - mes "Ok you have a couple quests that can be done here."; - next; - switch (select("The Blank Box", "^FF0000Eddga^000000", "^FF0000Phreeoni^000000", "^FF0000Maya^000000")) { - case 1: - mes("^FF0000The Blank Box^000000"); - mes("^FF0000-------------^000000"); - mes("Package to Morroc"); - mes(" "); - mes("There is nothing writen on this box but a notice to deliver it to a man Kreg."); - getitem(Merchant_Box_2, 1); //Delivery_Box_ - ten_qset = 1; - break; - case 2: - mes("^FF0000Eddga^000000"); - mes("^FF0000*****^000000"); - 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."); - ten_qset = 2; - break; - case 3: - mes("^FF0000Phreeoni^000000"); - mes("^FF0000********^000000"); - 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."); - ten_qset = 3; - break; - case 4: - mes("^FF0000Maya^000000"); - mes("^FF0000****^000000"); - 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."); - ten_qset = 4; - break; - } - goto(L_QuestGiven); -} diff --git a/npc/custom/quests/thq/THQS_Quests.txt b/npc/custom/quests/thq/THQS_Quests.txt deleted file mode 100644 index c0eb1427a..000000000 --- a/npc/custom/quests/thq/THQS_Quests.txt +++ /dev/null @@ -1,1050 +0,0 @@ -//===== Hercules Script ====================================== -//= Treasure Hunter Quests -//===== By: ================================================== -//= Fredzilla -//===== Current Version: ===================================== -//= 1.6 -//===== Description: ========================================= -//= Start for Treasure hunter quests -//===== Additional Comments: ================================= -//= Event_THQS - Used to check if you have already registered -//= #Treasure_Token - used to keep track of tokens -//= 1.0 - Straight conversionof Aegis NPC file -//= 1.2 some bugfixes, typos [Lupus] -//= 1.3 Removed Duplicates [Silent] -//= 1.4 Further removed duplicates. [L0ne_W0lf] -//= 1.5 Fixed name collision with 'Little Girl' in cities/lutie.txt [Ai4rei] -//= 1.6 Changed "Caral" coordinates because moc_fild04 no longer exists. [Euphy] -//============================================================ - -///////Job list 1/////// -//1-1 -mjolnir_09,187,189,6 script Old Man 1_M_PAY_ELDER,{ - 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,86,129,6 script Archer 4_M_JOB_HUNTER,{ - 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]"; - if (countitem(Delivery_Message) < 1) { - mes "Weren't you supposed to deliver me a box? Where is it?"; - close; - } - 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."; - delitem 1072,1; - set one_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+1; - close; -} -//1-3 -prt_fild06,37,192,6 script Farmer 4_M_TELEPORTER,{ - if (one_qset == 3 && countitem(Jellopy) > 19 && countitem(Worm_Peelings) > 19 && countitem(Fluff) > 19 && countitem(Clover) > 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."; - delitem 909,20; - delitem 955,20; - delitem 914,20; - delitem 705,20; - set one_qset,0; - set #Treasure_Token,#Treasure_Token+2; - set On_Quest,0; - 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,264,353,6 script Old Lady#thq 8_F_GRANDMOTHER,{ - if (one_qset == 4 && countitem(Mementos) > 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."; - delitem 934,15; - set #Treasure_Token,#Treasure_Token+3; - 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,59,109,6 script Erika 8_F_GIRL,{ - if (two_qset == 1 && countitem(Delivery_Message) > 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,15,30,6 script Jeramiah 4_M_JOB_ASSASSIN,{ - 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."; - delitem 1998,1; - set two_qset,0; - set On_Quest,0; - 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,316,263,6 script Marsh Man 4_M_02,{ - if (two_qset == 3 && countitem(Honey) > 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,161,72,6 script Molly 4_F_06,{ - if (two_qset == 4 && countitem(Skull) > 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."; - delitem 7005,1; - set two_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+3; - 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,208,322,6 script Clark 1_M_YOUNGKNIGHT,{ - if (three_qset == 1 && countitem(Elder_Pixies_Beard) > 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."; - delitem 1040,30; - set #Treasure_Token,#Treasure_Token+2; - 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,186,162,6 script Flank 1_F_MERCHANT_01,{ - if (three_qset == 2 && countitem(Merchant_Box_2) > 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"; - delitem 1082,1; - set three_qset,0; - 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,120,245,6 script Sewer Managment Knight 4_M_GEF_SOLDIER,{ - if (three_qset == 3 && countitem(Worm_Peelings) > 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,87,357,6 script Man#01 1_M_BARD,{ - if (three_qset == 4 && countitem(Lantern) > 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."; - delitem 1041,50; - set three_qset,0; - set On_Quest,0; - 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,45,138,6 script Flora 4_F_07,{ - if (four_qset == 1 && countitem(Decayed_Nail) > 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."; - delitem 957,50; - set #Treasure_Token,#Treasure_Token+2; - set four_qset,0; - set On_Quest,0; - killmonster "pay_dun00","Flora::OnMobDead"; - 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",0,0,"Flaming Bastard",1072,1,"Flora::OnMobDead"; - monster "pay_dun00",0,0,"Flaming Bastard",1072,1,"Flora::OnMobDead"; - close; -OnMobDead: - end; -} -//4-2; -yuno,45,138,6 script Zed 4_M_JOB_WIZARD,{ - 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."; - delitem 1999,1; - set On_Quest,0; - set four_qset,0; - set #Treasure_Token,#Treasure_Token+1; - close; -N_QuestStart: - mes "[Zed]"; - mes "Where's my staff?"; - close; -} -//4-3; -prontera,176,204,6 script Dassy 4_F_SISTER,{ - if (four_qset == 3 && countitem(Shoot) > 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."; - delitem 711,20; - set On_Quest,0; - set four_qset,0; - 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,157,99,6 script Czhore 4_M_CRU_OLD,{ - if (four_qset == 4 && countitem(Emperium) > 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(PC_NAME)+"."; - next; - mes "[Czhore]"; - mes "Here have these 2 Treasure Tokens."; - mes "And some of my old treasure..."; - delitem 714,1; - monster "prt_gld",155,99,"Old Man's Treasure",1324,1; - set four_qset,0; - set On_Quest,0; - 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,18,184,6 script Lithin#01 4_M_CRU_OLD,{ - if (five_qset == 1 && countitem(Wild_Boars_Mane) > 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"; - delitem 1028,15; - set five_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+2; - 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,75,167,6 script Lithin#02 4_M_BARBER,{ - if (five_qset == 2 && countitem(Skel_Bone) > 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."; - delitem 932,30; - set #Treasure_Token,#Treasure_Token+2; - set five_qset,0; - set On_Quest,0; - 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,57,130,6 script Blonde Girl 4_F_07,{ - if (five_qset == 3 && countitem(Bunch_Of_Flowers) > 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,49,27,6 script Wizard#01 4_M_JOB_WIZARD,{ - if (five_qset == 4 && countitem(Transparent_Cloth) > 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."; - delitem 1059,50; - set five_qset,0; - set On_Quest,0; - 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 haven't 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,47,132,6 script Thief 1_M_02,{ - if (six_qset == 1 && countitem(Merchant_Box_3) > 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."; - delitem 1083,1; - set six_qset,0; - 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(Rotten_Bandage) > 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."; - delitem 930,30; - set #Treasure_Token,#Treasure_Token+3; - set On_Quest,0; - set six_qset,0; - close; -} -//6-3; -xmas,144,136,6 script Chirach 1_M_02,{ - if (six_qset == 3 && countitem(Merchant_Box_3) > 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."; - delitem 1083,1; - set six_qset,0; - 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,52,87,6 script Wizard#02 4_M_JOB_WIZARD,{ - if (six_qset == 4 && countitem(Horseshoe) > 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."; - delitem 944,20; - set six_qset,0; - set On_Quest,0; - 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",42,89,"Evil Nightmare",1061,1; - 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,123,208,6 script Little Girl#thq 4_F_KID3,{ - if (seven_qset == 1 && countitem(Apple_Juice) > 4) goto N_QuestComp; - if (seven_qset == 1) goto N_QuestStart; - if (eight_qset == 1) goto N_QuestStart2; - mes "[Girl]"; - mes "Hello mister "+strcharinfo(PC_NAME)+"."; - close; -N_QuestComp: - mes "[Girl]"; - mes "Thank you so much!"; - next; - mes "[Girl]"; - mes "Have these 1 Treasure Tokens."; - delitem 531,5; - set seven_qset,0; - set On_Quest,0; - 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,101,84,6 script Charles 1_M_02,{ - if (seven_qset == 2 && countitem(Merchant_Box_2) > 0) goto N_QuestComp; - if (seven_qset == 2) goto N_QuestStart; - mes "[Charles]"; - mes "Hello "+strcharinfo(PC_NAME)+" 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."; - delitem 1082,1; - set seven_qset,0; - 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(Gold) > 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."; - delitem 969,1; - set seven_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+4; - close; -} -//7-4; -alb2trea,94,102,6 script Scarlet 4_F_JOB_ASSASSIN,{ - if (seven_qset == 4 && countitem(Saber_) > 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."; - delitem 1127,1; - set seven_qset,0; - set On_Quest,0; - 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(Banana_Juice) > 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."; - delitem 532,5; - set eight_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+1; - close; -} -//8-2; -morocc,165,55,6 script Klye 1_M_02,{ - if (eight_qset == 2 && countitem(Merchant_Box_1) > 0) goto N_QuestComp; - if (eight_qset == 2) goto N_QuestStart; - mes "[Klye]"; - mes "Hello "+strcharinfo(PC_NAME)+"."; - close; -N_QuestComp: - mes "[Klye]"; - mes "Thank you for this delivery."; - next; - mes "[Klye]"; - mes "Here take this Treasure Token as a reward."; - delitem 1081,1; - set eight_qset,0; - 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,103,86,6 script Zack 4_M_CRU,{ - if (eight_qset == 3 && countitem(Evil_Horn) > 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."; - delitem 923,1; - set eight_qset,0; - set On_Quest,0; - 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,136,129,6 script Flower 4_F_KID2,{ - if (eight_qset == 4 && countitem(Glass_Bead) > 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."; - delitem 746,10; - set eight_qset,0; - set On_Quest,0; - 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,168,124,6 script Mage 1_M_02,{ - if (nine_qset == 1 && countitem(Merchant_Box_2) > 0) goto N_QuestComp; - if (nine_qset == 1) goto N_QuestStart; - mes "[Mage]"; - mes "Hello "+strcharinfo(PC_NAME)+" 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."; - delitem 1082,1; - set nine_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+1; - close; -N_QuestStart: - mes "[Mage]"; - mes "Hello "+strcharinfo(PC_NAME)+", Where is my box of Toad Tounges?."; - close; -} -//9-2; -pay_arche,98,74,6 script School Girl 4_F_KID2,{ - if (nine_qset == 2 && countitem(Long_Hair) > 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."; - delitem 1020,20; - set nine_qset,0; - set On_Quest,0; - 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,19,33,6 script Jack 2_M_ALCHE,{ - if (nine_qset == 3 && countitem(Fox_Tail) > 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."; - delitem 1022,1; - set nine_qset,0; - set On_Quest,0; - 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(Danggie) > 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."; - delitem 901,40; - set nine_qset,0; - set On_Quest,0; - set #Treasure_Token,#Treasure_Token+3; - close; -} -///////Job list 10/////// -//10-1 -morocc,193,51,6 script Kreg 1_M_02,{ - if (ten_qset == 1 && countitem(Merchant_Box_2) > 0) goto N_QuestComp; - if (ten_qset == 1) goto N_QuestStart; - mes "[Kreg]"; - mes "Hello "+strcharinfo(PC_NAME)+" 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."; - delitem 1082,1; - set ten_qset,0; - 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,145,252,6 script Man#02 2_M_DYEINGER,{ - if (ten_qset == 2 && countitem(Tigers_Skin) > 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."; - delitem 1029,1; - set ten_qset,0; - set On_Quest,0; - 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; -cmd_fild08,328,349,4 script Caral 2_M_SWORDMASTER,{ - if (ten_qset == 3 && countitem(Thin_N_Long_Tongue) > 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."; - delitem 1015,1; - set ten_qset,0; - set On_Quest,0; - 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,250,251,6 script Jeni 4_F_JOB_HUNTER,{ - if (ten_qset == 4 && countitem(Round_Shell) > 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."; - delitem 1096,1; - set ten_qset,0; - set On_Quest,0; - 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 deleted file mode 100644 index 96e7346d3..000000000 --- a/npc/custom/quests/thq/THQS_TTShop.txt +++ /dev/null @@ -1,204 +0,0 @@ -//===== Hercules Script ====================================== -//= Treasure Hunter Quests -//===== By: ================================================== -//= Fredzilla -//===== Current Version: ===================================== -//= 1.2a -//===== Description: ========================================= -//= Start for Treasure hunter quests -//===== Additional Comments: ================================= -//= Event_THQS - Used to check if you have already registered -//= #Treasure_Token - used to keep track of tokens -//= 1.0 - Straight conversion of Aegis NPC file -//= 1.1 - balanced some prices, fixed 1 missing label -//= removed Executioner&Mysteltain swords [Lupus] -//= 1.2 - Optmized and fixed small error [Panikon] -//= 1.2a - Fixed zeny formula [Panikon] -//============================================================ - -prt_in,159,172,0 warp thqwrp 3,3,yuno_in01,123,155 - -// Main configuration object -- script THQS#Configuration FAKE_NPC,{ -OnInit: - // Axes - setarray $THQS_menu_weapons_1[0], Sabbath, Slaughter, Tomahawk, Great_Axe, Guillotine; - setarray $THQS_menu_price_1[0], 160, 160, 180, 200, 200; - // One Handed Swords - setarray $THQS_menu_weapons_2[0], Edge, Solar_Sword, Scissores_Sword, Nagan, Immaterial_Sword, Excalibur, Byeorrun_Gum, Tale_Fing_; - setarray $THQS_menu_price_2[0], 130, 150, 170, 180, 200, 200, 240, 320; - // Two Handed Swords - setarray $THQS_menu_weapons_3[0],Dragon_Slayer, Schweizersabel, Katzbalger, Muramasa, Masamune, Balmung; - setarray $THQS_menu_price_3[0], 140,200,300,300,400,2000; - // Books - setarray $THQS_menu_weapons_4[0],Book_Of_Blazing_Sun, Book_Of_Billows, Book_Of_Gust_Of_Wind, Book_Of_Mother_Earth, Book_Of_The_Apocalypse, Bible, Tablet; - setarray $THQS_menu_price_4[0], 80, 80, 80, 80, 80, 90, 120; - // Bows - setarray $THQS_menu_weapons_5[0], Bow_Of_Rudra, Bow_Of_Roguemaster; - setarray $THQS_menu_price_5[0], 150, 150; - // Katars - setarray $THQS_menu_weapons_6[0], Katar_Of_Cold_Icicle,Katar_Of_Thornbush,Katar_Of_Raging_Blaze,Katar_Of_Piercing_Wind,Ghoul_Leg,Infiltrator; - setarray $THQS_menu_price_6[0],70,70,70,70,125,150; - // Knuckles - setarray $THQS_menu_weapons_7[0],Kaiser_Knuckle,Berserk; - setarray $THQS_menu_price_7[0],75,75; - // Maces - setarray $THQS_menu_weapons_8[0],Spike,Slash,Grand_Cross,Quadrille,Mjolnir; - setarray $THQS_menu_price_8[0],65,90,100,110,1000; - // Whips - setarray $THQS_menu_weapons_9[0],Rapture_Rose,Chemeti; - setarray $THQS_menu_price_9[0],50,65; - // Wands - setarray $THQS_menu_weapons_10[0],Mighty_Staff,Wizardy_Staff,Bone_Wand,Staff_Of_Soul; - setarray $THQS_menu_price_10[0],90,150,110,120; - // Cards - setarray $THQS_menu_cards[0],Poring_Card, Pasana_Card, Dokebi_Card, Sword_Fish_Card, Sand_Man_Card, Drainliar_Card, - Kaho_Card,Mandragora_Card,Vadon_Card,Mummy_Card,Zenorc_Card,Condor_Card, Zombie_Card; - setarray $THQS_menu_price[0],2,420,420,420,420,360,360,360,360,540,240,240,210; - end; -} - -// Trades tokens -// getarg(0) - number of tokens to be traded -function script thqs_trade_token { - @type = getarg(0); - if( @type == 4 ) - close; - - // 10^0, 10^1, 10^2 - @type -= 1; - @price = (10 ** @type); - - // 10^3, 10^4, 10^5 - @type += 3; // So we can use pow later to determine the qt of Zeny - @prize = (10 ** @type); - - if( #Treasure_Token < @price ) { - mes "You don't have enough tokens!"; - close; - } - - if( Zeny == MAX_ZENY ) { - mes "You can't add more zeny to your character"; - close; - } - - Zeny += @prize; - #Treasure_Token -= @price; - close; -} - -// Creates a buying menu -// getarg(0) - .@mw$ -> ID -// getarg(1) - .@mp$ -> PRICE -function script thqs_menu_buy { - if( getargcount() != 2 ) { - debugmes "thqs_menu_buy: Wrong number of arguments!!"; - close; - } - - .@mw$ = getarg(0); - .@mp$ = getarg(1); - - if( getarraysize( getd(.@mw$) ) != getarraysize( getd(.@mp$) ) ) { - debugmes "thqs_menu_buy: Missing entries in data!"; - close; - } - - // Dynamic menu - // Uses a dynamic string and then applies it to a *select - .@select_menu$ = ""; - for( .@i = 0; .@i < getarraysize( getd(.@mw$) ); .@i++ ) { - .@price = getd(.@mp$+"["+.@i+"]"); - - if( .@select_menu$ != "") - .@select_menu$ = .@select_menu$+":"+getitemname( getd(.@mw$+"["+.@i+"]") )+" - "+.@price+"T"; - else - .@select_menu$ = getitemname( getd(.@mw$+"["+.@i+"]") )+" - "+.@price+"T"; - } - .@select_menu$ = .@select_menu$ + ":Nevermind"; - select(.@select_menu$); - - if( @menu == (.@i+1) ) - close; - - @index = @menu - 1; // Arrays are 0 indexed while our menu is not - @item_id = getd(.@mw$+"["+@index+"]"); - @price = getd(.@mp$+"["+@index+"]"); - if( #Treasure_Token < @price ) { - mes "You don't have enough tokens!"; - close; - } - #Treasure_Token -= @price; - logmes "Treasure Token: Bought a "+getitemname(@item_id); - getitem @item_id,1; - close; -} - -// Creates the first weapon menu -// getarg(0) - @menu -function script ths_menu_weapons { - @first_option = getarg(0); - if( @first_option == 11 ) - close; - mes "[Ash]"; - mes "This is what we have to offer."+@first_option; - next; - // Array names so they can be used by thqs_menu_buy - .@mw$ = "$THQS_menu_weapons_"+@first_option; - .@mp$ = "$THQS_menu_price_"+@first_option; - - thqs_menu_buy(.@mw$,.@mp$); -} - -// Main script -prt_in,164,174,1 script Treasure Hunter's Shop 1_M_YOUNGKNIGHT,{ - mes "[Ash]"; - mes "Ahh, "+strcharinfo(PC_NAME)+"! Welcome to the Offical Treasure Hunter's Guild Shop."; - mes "You currently have ^FF0000"+#Treasure_Token+"^000000 treasure tokens!!!"; - next; - switch( select("How does this place work?","What do you have in stock?","Nevermind") ) { - case 1: - 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; - case 2: - break; - case 3: - close; - } - - mes "[Ash]"; - mes "Ok here is our Big list of goods."; - mes " "; - mes "(Note T stands for a Treasure Token.)"; - next; - mes "[Ash]"; - mes "This is what we have to offer."; - next; - switch( select("Trade for zeny", "Trade for Weapons", "Trade for Cards", "Nevermind") ) { - case 1: - select("1000z - 1T","10000z - 10T","100000z - 100T","Nevermind"); - thqs_trade_token(@menu); - case 2: - mes "[Ash]"; - mes "This is what we have to offer."; - next; - select("Axe's","1 Handed Swords","2 Handed Swords","Book's","Bow's","Katar's","Knuckle's","Mace's","Whips","Wands","Nevermind"); - ths_menu_weapons(@menu); - case 3: - mes "[Ash]"; - mes "This is what we have to offer."; - next; - thqs_menu_buy("$THQS_menu_cards","$THQS_menu_price"); - case 4: - close; - } - end; -} diff --git a/npc/custom/quests/umbalian_language.txt b/npc/custom/quests/umbalian_language.txt deleted file mode 100644 index ba3517879..000000000 --- a/npc/custom/quests/umbalian_language.txt +++ /dev/null @@ -1,195 +0,0 @@ -//===== Hercules Script ====================================== -//= Custom Umbalian Language Quest -//===== By: ================================================== -//= sabernet09 -//===== Current Version: ===================================== -//= 1.1 -//===== Description: ========================================= -//= 1.1 Removed it from offical Umbala Quests [Lupus] -//============================================================ - -prontera,145,290,5 script Mason 2_M_SAGE_B,{ - 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?"; - if (select("Yes", "No") != 1) { - mes "Oh.. Ok.. Thanks anyways."; - close; - } - mes "Oooo, could you please tell me where she's at? I'd be really appreciative."; - next; - switch (select("Swordsman Association", "Sanctuary", "Prontera Chivalry", "Trading Post", "Kit Shop", "Inn", "Armory", "Library", "Job Agency", "Prontera Castle", "City Hall")) { - case 1: - mes "[Mason]"; - mes "Hmm... I dunno why she would be there... guess I'll take a look."; - close; - case 2: - mes "[Mason]"; - mes "Wow I never knew she was a religious person... I'll see to it thanks."; - close; - case 3: - mes "[Mason]"; - mes "Hmm.... are you sure about that?"; - close; - case 4: - mes "[Mason]"; - mes "Why would she need to go there? I think you might be mistaken."; - close; - case 5: - 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; - case 6: - mes "[Mason]"; - mes "I don't think she needs to be there, she LIVES here in Prontera."; - close; - case 7: - 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(Rent_Spell_Book, 1);//Items: Torn Spell Book, - umb_mason = 1; - close; - case 8: - mes "[Mason]"; - mes "Ah I see, if she's studying then I don't want to bother her. Thanks anyways."; - close; - case 9: - 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; - case 10: - 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; - case 11: - 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; - } - -L_AGAIN: - emotion e_thx; - 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; -} - -aldebaran,153,212,1 script Mojo 2_M_ALCHE,{ - 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 e_what; - mes "I lost my teacher's book! What am I going to do..."; - close; -} - -amatsu,267,189,4 script Marie 4_F_ALCHE,{ - mes "[Marie]"; - if(umb_lang==0) goto L_NOT_GOT_QUEST; - if(umb_lang==2 || umb_marie==1) goto L_AGAIN; - if(countitem(Poring_Egg)>0 && countitem(Pet_Incubator)>0) goto L_DONE;//Items: Poring Egg, Pet Incubator, - mes "Hello, is there something you need?"; - next; - if (select("No nothing at all.", "Your teacher sent me.") != 2 ) { - mes "[Marie]"; - mes "Hrrmm okay? Cya then.."; - close; - } - mes "[Marie]"; - mes "What does he want from me?"; - emotion e_what; - 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 e_what; - mes "Hi! What do you want from me?"; - close; - -L_DONE: - mes "Heyyy there, you have a poring egg and the pet incubator to go with it! Are those for me?"; - if (select("Yep!", "Sorry, no.") != 1) { - mes "Oh.. pooo... sigh..."; - close; - } - mes "[Marie]"; - if (countitem(Poring_Egg) == 0 && countitem(Pet_Incubator) == 0) { - mes "Oh.. pooo... sigh..."; - close; - } - mes "Yatta! Here's a lil something in return."; - delitem Poring_Egg,1;//Items: Poring Egg, - delitem Pet_Incubator,1;//Items: Pet Incubator, - getitem Rent_Scroll,1;//Items: Torn Scroll, - set umb_marie,1; //got Torn Scroll - close; - -L_AGAIN: - emotion e_thx; - mes "Yay! I love Porings!"; - close; -} - -yuno,157,366,2 script Wise Man Fabius 2_M_SAGE_OLD,{ - 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(Old_Magic_Book) < 1) || (countitem(Rent_Scroll) < 1) || (countitem(Rent_Spell_Book) < 1)) goto L_DONE;//Items: Old Magic Book, Torn Scroll, Torn Spell Book, - delitem Old_Magic_Book,1; //Items: Old Magic Book, - delitem Rent_Scroll,1; //Items: Torn Scroll, - delitem Rent_Spell_Book,1;//Items: Torn Spell Book, - emotion e_thx; - 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; -} diff --git a/npc/custom/quests/valhallen.txt b/npc/custom/quests/valhallen.txt deleted file mode 100644 index 1a2b45968..000000000 --- a/npc/custom/quests/valhallen.txt +++ /dev/null @@ -1,66 +0,0 @@ -//===== Hercules Script ====================================== -//= Valhallen Items Quests NPC -//===== By: ================================================== -//= Avaji -//===== Current Version: ===================================== -//= 1.1 -//===== Description: ========================================= -//= All-in-one: Mjolnir,Sleipnir,Brisingamen,Gleipnir,Megingjard -//= Custom quest, ingredients based on official RO FAQ -//===== Additional Comments: ================================= -//= 1.1 Optimized. [Euphy] -//============================================================ - -prontera,147,171,5 script Lenneth 4_F_VALKYRIE,{ - 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; - switch(select("Mjolnir", "Sleipnir", "Brisingamen", "Gleipnir", "Megingjard")) { - case 1: - mes "[Lenneth]"; - mes "^3355FFMjolnir^000000 is the mighty Hammer of Thor."; - setarray .@items[0],1530,1531,2,984,20,985,5,969,40,7074,2,7075,4,7078,5,7087,5,7089,5; - break; - case 2: - mes "[Lenneth]"; - mes "^3355FFSleipnir^000000 are boots made after Odin's War Horse."; - setarray .@items[0],2410,2406,2,984,1,969,20,985,10,7076,3,7079,5,7083,3,7086,3; - break; - case 3: - mes "[Lenneth]"; - mes "^3355FFBrisingammen^000000 is the magical Necklace of Freyja, goddess of Beauty."; - setarray .@items[0],2630,2603,1,726,2,722,3,727,10,723,5,969,20,7073,4,7077,4,7088,3,7090,3,7092,3; - break; - case 4: - mes "[Lenneth]"; - mes "The ^3355FFGleipnir^000000 is a light yet strong rope required to make ^3355FFMegingjard^000000"; - setarray .@items[0],7058,7080,4,7081,5,7082,4,7084,3,7085,3; - break; - case 5: - mes "[Lenneth]"; - mes "The ^3355FFMegingjard^000000 is the powerful Belt of Thor."; - setarray .@items[0],2629,7058,1,2627,1,969,10,726,10,984,5; - break; } - mes "^FF0000The items I need are as follows:^000000"; - for(set .@i,1; .@i",,); -// ~ Warps directly to a map. -// -// * Disp("",,); -// * Pick(""{,}); -// ~ Dynamic menu and map selection (auto-numbered). -// -// * Disp("