From 8849df9b4c331f4078bdbedc375e333a4e48397f Mon Sep 17 00:00:00 2001 From: iriyoka Date: Mon, 16 May 2016 03:15:42 +0700 Subject: [PATCH] --- airports/lighthalzen.txt | 54 +- airports/yuno.txt | 134 +- battleground/bg_common.txt | 61 +- battleground/flavius/flavius01.txt | 238 +- battleground/flavius/flavius02.txt | 238 +- battleground/kvm/kvm01.txt | 159 +- battleground/kvm/kvm02.txt | 160 +- battleground/kvm/kvm03.txt | 173 +- battleground/kvm/kvm_enter.txt | 4 +- battleground/tierra/tierra01.txt | 183 +- battleground/tierra/tierra02.txt | 183 +- cities/comodo.txt | 8 +- cities/geffen.txt | 4 +- cities/lighthalzen.txt | 26 +- cities/lutie.txt | 5 +- cities/prontera.txt | 2 +- cities/rachel.txt | 2 +- cities/veins.txt | 2 +- custom/battleground/bg_emp.txt | 148 + custom/battleground/bg_pvp.txt | 127 + custom/battleground/unofficial/bg_common.txt | 1292 ++ .../battleground/unofficial/bg_flavius_01.txt | 428 + .../battleground/unofficial/bg_flavius_02.txt | 428 + custom/battleground/unofficial/bg_kvm01.txt | 378 + custom/battleground/unofficial/bg_kvm02.txt | 378 + custom/battleground/unofficial/bg_kvm03.txt | 378 + .../battleground/unofficial/bg_tierra_01.txt | 475 + .../battleground/unofficial/bg_tierra_02.txt | 475 + custom/breeder.txt | 16 +- custom/card_remover.txt | 12 +- custom/card_seller.txt | 72 + custom/etc/airplane.txt | 4 +- custom/etc/autopot.txt | 188 + custom/etc/bank.txt | 31 +- custom/etc/bank_kafra.txt | 10 +- custom/etc/blackjack.txt | 19 +- custom/etc/marriage.txt | 52 +- custom/etc/monster_arena.txt | 45 +- custom/etc/mvp_arena.txt | 12 +- custom/etc/mvp_room.txt | 401 + custom/etc/penal_servitude.txt | 34 +- custom/etc/quest_warper.txt | 7 +- custom/etc/rpsroulette.txt | 310 +- custom/etc/shifty_assassin.txt | 90 +- custom/events/cluckers.txt | 29 +- custom/events/devil_square.txt | 235 + custom/events/disguise.txt | 19 +- custom/events/holiday/hallow06.txt | 124 + custom/events/holiday/uneasy_cemetery.txt | 133 + custom/events/holiday/valentinesdayexp.txt | 285 + custom/events/holiday/xmas_rings_event.txt | 194 + custom/events/mvp_ladder.txt | 319 + custom/healer.txt | 31 +- custom/item_signer.txt | 8 +- custom/jobmaster.txt | 285 +- custom/platinum_skills.txt | 108 +- custom/quests/berzebub.txt | 2 +- custom/quests/hunting_missions.txt | 225 +- custom/quests/jewel_case.txt | 2 +- custom/quests/kaho_balmung.txt | 2 +- custom/quests/kahohorn.txt | 4 +- custom/quests/kings_items.txt | 20 +- custom/quests/quest_shop.txt | 35 +- custom/quests/sphinx_mask.txt | 2 +- custom/quests/sunglasses.txt | 2 +- custom/quests/thq/THQS_ChattingNPC.txt | 95 + custom/resetnpc.txt | 26 +- custom/stylist.txt | 33 +- custom/warper.txt | 181 +- custom/woe_controller.txt | 6 +- events/RWC_2012.txt | 12 +- events/bossnia.txt | 109 +- events/christmas_2005.txt | 2 +- events/christmas_2013.txt | 1711 ++ events/event_skill_reset.txt | 4 +- events/valentinesday_2012.txt | 2 +- instances/EndlessTower.txt | 14 +- instances/NydhoggsNest.txt | 2 +- instances/OrcsMemory.txt | 110 +- instances/SealedShrine.txt | 15 +- jobs/1-1e/gunslinger.txt | 2 +- jobs/1-1e/ninja.txt | 7 +- jobs/1-1e/taekwon.txt | 4 +- jobs/2-1/blacksmith.txt | 31 +- jobs/2-1/hunter.txt | 6 +- jobs/2-1/wizard.txt | 6 +- jobs/2-1e/StarGladiator.txt | 10 +- jobs/2-2/alchemist.txt | 13 +- jobs/2-2/crusader.txt | 6 +- jobs/2-2a/Creator.txt | 116 +- jobs/novice/supernovice.txt | 2 +- jobs/valkyrie.txt | 4 +- kafras/cool_event_corp.txt | 324 +- kafras/functions_kafras.txt | 57 +- kafras/kafras.txt | 4 +- mapflag/gvg.txt | 44 + mapflag/nosave.txt | 2 +- mapflag/noteleport.txt | 1 + mapflag/skill_duration.txt | 25 + mapflag/skill_modifier.txt | 22 + merchants/advanced_refiner.txt | 22 +- merchants/ammo_boxes.txt | 65 +- merchants/ammo_dealer.txt | 54 +- merchants/buying_shops.txt | 19 +- merchants/coin_exchange.txt | 6 +- merchants/refine.txt | 147 +- merchants/renters.txt | 13 +- merchants/shops.txt | 10 +- merchants/socket_enchant.txt | 29 +- merchants/socket_enchant2.txt | 7 +- mobs/jail.txt | 2 +- other/CashShop_Functions.txt | 14 +- other/Global_Functions.txt | 414 +- other/acolyte_warp.txt | 18 +- other/arena/arena_aco.txt | 2 +- other/arena/arena_lvl80.txt | 2 +- other/auction.txt | 40 +- other/books.txt | 2445 +-- other/bulletin_boards.txt | 165 +- other/card_trader.txt | 302 +- other/comodo_gambling.txt | 574 +- other/fortune.txt | 6042 +++-- other/gm_npcs.txt | 13 +- other/gympass.txt | 2 + other/hugel_bingo.txt | 24 +- other/marriage.txt | 136 +- other/mercenary_rent.txt | 104 +- other/monster_race.txt | 889 +- other/turbo_track.txt | 12 +- pre-re/cities/alberta.txt | 1 + pre-re/cities/lutie.txt | 16 + pre-re/guides/guides_comodo.txt | 4 +- pre-re/guides/guides_payon.txt | 4 +- pre-re/jobs/1-1/acolyte.txt | 10 +- pre-re/jobs/1-1/archer.txt | 10 +- pre-re/jobs/1-1/mage.txt | 8 +- pre-re/jobs/1-1/merchant.txt | 40 +- pre-re/jobs/1-1/swordman.txt | 14 +- pre-re/jobs/1-1/thief.txt | 14 +- pre-re/jobs/novice/novice.txt | 4 +- pre-re/merchants/shops.txt | 9 +- pre-re/other/bulletin_boards.txt | 167 +- .../collection/quest_disguiseloliruri.txt | 3 +- pre-re/quests/quests_13_1.txt | 2 +- pre-re/quests/quests_nameless.txt | 1 + pre-re/quests/skills/swordman_skills.txt | 15 + pre-re/scripts_athena.conf | 1 + pre-re/scripts_jobs.conf | 4 + pre-re/scripts_main.conf | 2 +- quests/bard_quest.txt | 2 +- quests/bunnyband.txt | 4 +- quests/cooking_quest.txt | 2 +- quests/dandelion_request.txt | 18 +- quests/doomed_swords.txt | 42 +- quests/doomed_swords_quest.txt | 4 +- quests/first_class/tu_acolyte.txt | 346 +- quests/first_class/tu_archer.txt | 435 +- quests/first_class/tu_ma_th01.txt | 1898 +- quests/first_class/tu_magician01.txt | 209 +- quests/first_class/tu_merchant.txt | 1557 +- quests/first_class/tu_sword.txt | 221 +- quests/first_class/tu_thief01.txt | 385 +- quests/gunslinger_quests.txt | 13 +- quests/lvl4_weapon_quest.txt | 20 +- quests/newgears/2004_headgears.txt | 1 - quests/newgears/2006_headgears.txt | 4 +- quests/newgears/2008_headgears.txt | 2 +- quests/ninja_quests.txt | 4 +- quests/partyrelay.txt | 2 +- quests/quests_13_1.txt | 111 +- quests/quests_13_2.txt | 169 +- quests/quests_airship.txt | 2266 +- quests/quests_alberta.txt | 2 +- quests/quests_ayothaya.txt | 82 +- quests/quests_comodo.txt | 52 +- quests/quests_ein.txt | 2 +- quests/quests_hugel.txt | 114 +- quests/quests_juperos.txt | 4 +- quests/quests_lighthalzen.txt | 148 +- quests/quests_louyang.txt | 6 +- quests/quests_morocc.txt | 4 +- quests/quests_moscovia.txt | 5012 ++--- quests/quests_nameless.txt | 724 +- quests/quests_niflheim.txt | 2 +- quests/quests_prontera.txt | 6 +- quests/quests_rachel.txt | 9 +- quests/quests_umbala.txt | 4 +- quests/quests_veins.txt | 4 +- quests/skills/alchemist_skills.txt | 36 +- quests/skills/assassin_skills.txt | 16 +- quests/skills/bard_skills.txt | 16 +- quests/skills/blacksmith_skills.txt | 12 +- quests/skills/crusader_skills.txt | 4 +- quests/skills/dancer_skills.txt | 4 +- quests/skills/knight_skills.txt | 8 +- quests/skills/monk_skills.txt | 10 +- quests/skills/priest_skills.txt | 6 +- quests/skills/rogue_skills.txt | 22 +- quests/skills/sage_skills.txt | 6 +- quests/skills/swordman_skills.txt | 165 +- quests/skills/wizard_skills.txt | 6 +- quests/thana_quest.txt | 11 +- quests/the_sign_quest.txt | 6 +- re/cities/alberta.txt | 1 + re/cities/brasilis.txt | 29 +- re/cities/dewata.txt | 33 +- re/cities/dicastes.txt | 78 +- re/cities/dimensional_crack.txt | 1038 + re/cities/eclage.txt | 450 +- re/cities/izlude.txt | 144 +- re/cities/jawaii.txt | 2 +- re/cities/lutie.txt | 16 + re/cities/mora.txt | 6 +- re/events/halloween_2013.txt | 1136 + re/events/halloween_2014.txt | 2568 +++ re/guides/guides_eclage.txt | 2 +- re/guides/guides_izlude.txt | 2 - re/guides/guides_payon.txt | 6 +- re/instances/BakonawaLake.txt | 19 +- re/instances/BangungotHospital.txt | 1067 +- re/instances/BuwayaCave.txt | 4 + re/instances/EclageInterior.txt | 473 + re/instances/HazyForest.txt | 11 +- re/instances/MalangdoCulvert.txt | 8 +- re/instances/NightmarishJitterbug.txt | 5886 +++++ re/instances/OctopusCave.txt | 4 +- re/instances/OldGlastHeim.txt | 2342 +- re/instances/Sara'sMemory.txt | 2115 ++ re/instances/WolfchevLaboratory.txt | 3176 +++ re/jobs/1-1/acolyte.txt | 8 +- re/jobs/1-1/archer.txt | 10 +- re/jobs/1-1/mage.txt | 8 +- re/jobs/1-1/merchant.txt | 12 +- re/jobs/1-1/swordman.txt | 12 +- re/jobs/1-1/thief.txt | 14 +- re/jobs/2e/kagerou_oboro.txt | 2874 +++ re/jobs/3-1/archbishop.txt | 11 +- re/jobs/3-1/guillotine_cross.txt | 21 +- re/jobs/3-1/mechanic.txt | 11 +- re/jobs/3-1/ranger.txt | 9 +- re/jobs/3-1/rune_knight.txt | 9 +- re/jobs/3-1/warlock.txt | 15 +- re/jobs/3-2/genetic.txt | 9 +- re/jobs/3-2/minstrel.txt | 9 +- re/jobs/3-2/royal_guard.txt | 9 +- re/jobs/3-2/shadow_chaser.txt | 11 +- re/jobs/3-2/sorcerer.txt | 9 +- re/jobs/3-2/sura.txt | 19 +- re/jobs/3-2/wanderer.txt | 9 +- re/jobs/novice/novice.txt | 30 +- re/jobs/novice/supernovice_ex.txt | 22 +- re/jobs/repair.txt | 5 + re/mapflag/nobranch.txt | 3 + re/mapflag/noicewall.txt | 3 + re/mapflag/nomemo.txt | 24 +- re/mapflag/nosave.txt | 6 +- re/mapflag/noteleport.txt | 25 +- re/mapflag/nowarpto.txt | 3 + re/merchants/3rd_trader.txt | 110 +- re/merchants/advanced_refiner.txt | 2 + re/merchants/alchemist.txt | 2 + re/merchants/ammo_boxes.txt | 11 +- re/merchants/ammo_dealer.txt | 13 +- re/merchants/blessed_refiner.txt | 16 +- re/merchants/card_exchange.txt | 515 + re/merchants/card_separation.txt | 11 +- re/merchants/cash_trader-idRO.txt | 349 + re/merchants/catalog.txt | 2 + re/merchants/coin_exchange.txt | 510 +- re/merchants/diamond.txt | 2 + re/merchants/enchan_ko.txt | 528 + re/merchants/enchan_mal.txt | 31 +- re/merchants/enchan_mora.txt | 19 +- re/merchants/enchan_upg.txt | 21 +- re/merchants/flute.txt | 4 + re/merchants/hd_refiner.txt | 24 +- re/merchants/quivers.txt | 2 + re/merchants/refine.txt | 26 +- re/merchants/renters.txt | 27 +- re/merchants/shadow_refiner.txt | 182 + re/merchants/shops.txt | 23 +- re/merchants/ticket_refiner.txt | 8 +- re/mobs/academy.txt | 138 + re/mobs/dungeons/abbey.txt | 4 + re/mobs/dungeons/abyss.txt | 3 + re/mobs/dungeons/alde_dun.txt | 4 + re/mobs/dungeons/ama_dun.txt | 3 + re/mobs/dungeons/anthell.txt | 2 + re/mobs/dungeons/ayo_dun.txt | 2 + re/mobs/dungeons/beach_dun.txt | 3 + re/mobs/dungeons/bra_dun.txt | 2 + re/mobs/dungeons/c_tower.txt | 33 +- re/mobs/dungeons/dew_dun.txt | 4 +- re/mobs/dungeons/dic_dun.txt | 31 +- re/mobs/dungeons/ecl_tdun.txt | 32 +- re/mobs/dungeons/ein_dun.txt | 2 + re/mobs/dungeons/gef_dun.txt | 4 + re/mobs/dungeons/gefenia.txt | 4 + re/mobs/dungeons/glastheim.txt | 36 + re/mobs/dungeons/gld_dunSE.txt | 4 +- re/mobs/dungeons/gld_re.txt | 40 +- re/mobs/dungeons/gon_dun.txt | 3 + re/mobs/dungeons/ice_dun.txt | 3 + re/mobs/dungeons/in_sphinx.txt | 5 + re/mobs/dungeons/iz_dun.txt | 14 +- re/mobs/dungeons/juperos.txt | 3 + re/mobs/dungeons/kh_dun.txt | 3 + re/mobs/dungeons/lhz_dun.txt | 35 +- re/mobs/dungeons/lou_dun.txt | 3 + re/mobs/dungeons/ma_dun.txt | 10 +- re/mobs/dungeons/mag_dun.txt | 2 + re/mobs/dungeons/mal_dun.txt | 3 +- re/mobs/dungeons/mjo_dun.txt | 3 + re/mobs/dungeons/moc_pryd.txt | 25 +- re/mobs/dungeons/mosk_dun.txt | 3 + re/mobs/dungeons/nyd_dun.txt | 1 + re/mobs/dungeons/odin.txt | 3 + re/mobs/dungeons/orcsdun.txt | 2 + re/mobs/dungeons/pay_dun.txt | 5 + re/mobs/dungeons/prt_maze.txt | 4 + re/mobs/dungeons/prt_sew.txt | 4 + re/mobs/dungeons/ra_san.txt | 5 + re/mobs/dungeons/tha_t.txt | 12 + re/mobs/dungeons/thor_v.txt | 3 + re/mobs/dungeons/treasure.txt | 4 +- re/mobs/dungeons/tur_dun.txt | 5 + re/mobs/dungeons/xmas_dun.txt | 2 + re/mobs/fields/amatsu.txt | 3 +- re/mobs/fields/ayothaya.txt | 2 + re/mobs/fields/bifrost.txt | 18 +- re/mobs/fields/brasilis.txt | 1 + re/mobs/fields/comodo.txt | 8 + re/mobs/fields/dewata.txt | 1 + re/mobs/fields/dicastes.txt | 2 + re/mobs/fields/eclage.txt | 8 +- re/mobs/fields/einbroch.txt | 11 +- re/mobs/fields/geffen.txt | 12 + re/mobs/fields/gonryun.txt | 1 + re/mobs/fields/hugel.txt | 5 + re/mobs/fields/lighthalzen.txt | 3 + re/mobs/fields/louyang.txt | 1 + re/mobs/fields/lutie.txt | 1 + re/mobs/fields/malaya.txt | 21 +- re/mobs/fields/manuk.txt | 3 + re/mobs/fields/mjolnir.txt | 12 + re/mobs/fields/morocc.txt | 13 + re/mobs/fields/moscovia.txt | 1 + re/mobs/fields/niflheim.txt | 3 + re/mobs/fields/payon.txt | 9 + re/mobs/fields/prontera.txt | 29 +- re/mobs/fields/rachel.txt | 7 + re/mobs/fields/splendide.txt | 5 +- re/mobs/fields/umbala.txt | 18 +- re/mobs/fields/veins.txt | 5 + re/mobs/fields/yuno.txt | 10 + re/mobs/towns.txt | 12 +- re/other/CashShop_Functions.txt | 47 + re/other/Item_Functions.txt | 143 + re/other/adven_boards.txt | 3341 +++ re/other/bulletin_boards.txt | 16 +- re/other/item_merge.txt | 5 +- re/other/mercenary_rent.txt | 23 +- re/other/resetskill.txt | 2 + re/other/stone_change.txt | 34 +- re/quests/cupet.txt | 71 +- re/quests/eden/100-111.txt | 1231 ++ re/quests/eden/11-25.txt | 87 +- re/quests/eden/111-120.txt | 1148 + re/quests/eden/121-130.txt | 807 + re/quests/eden/131-140.txt | 585 + re/quests/eden/eden_common.txt | 64 +- re/quests/eden/eden_iro.txt | 439 +- re/quests/eden/eden_quests.txt | 5659 +++-- re/quests/eden/eden_service.txt | 6 +- re/quests/eden/eden_tutorial.txt | 12 +- re/quests/homun_s.txt | 2 +- re/quests/magic_books.txt | 390 +- re/quests/newgears/2010_headgears.txt | 1107 + re/quests/newgears/2012_headgears.txt | 605 + re/quests/ninja_quests.txt | 361 + re/quests/pile_bunker.txt | 2 + re/quests/quests_13_1.txt | 10 +- re/quests/quests_academy.txt | 13027 +++++++++++ re/quests/quests_aldebaran.txt | 244 + re/quests/quests_brasilis.txt | 746 +- re/quests/quests_dicastes.txt | 19 +- re/quests/quests_eclage.txt | 18198 ++++++++++++++-- re/quests/quests_lighthalzen.txt | 576 +- re/quests/quests_malangdo.txt | 76 +- re/quests/quests_malaya.txt | 314 +- re/quests/quests_mora.txt | 2 +- re/quests/quests_morocc.txt | 2 +- re/quests/quests_nameless.txt | 1 + re/quests/skills/swordman_skills.txt | 15 + re/scripts_athena.conf | 31 +- re/scripts_jobs.conf | 9 +- re/scripts_main.conf | 4 +- re/scripts_monsters.conf | 1 + re/scripts_warps.conf | 3 +- re/scripts_woe.conf | 8 + re/warps/cities/dimensional_crack.txt | 20 + re/warps/cities/eclage.txt | 60 +- re/warps/dungeons/ecl_dun.txt | 26 + re/warps/dungeons/iz_dun.txt | 4 +- re/warps/fields/hugel_fild.txt | 4 +- re/woe-fe/invest_main.txt | 1672 ++ re/woe-fe/invest_npc.txt | 67 + scripts_athena.conf | 1 + scripts_custom.conf | 46 +- scripts_jobs.conf | 1 - scripts_mapflags.conf | 2 + scripts_woe.conf | 55 + warps/dungeons/lhz_dun.txt | 2 +- warps/dungeons/mosk_dun.txt | 119 +- warps/fields/jawaii.txt | 2 +- woe-fe/agit_controller.txt | 79 + woe-fe/agit_main.txt | 1357 ++ woe-fe/aldeg_cas01.txt | 143 + woe-fe/aldeg_cas02.txt | 137 + woe-fe/aldeg_cas03.txt | 140 + woe-fe/aldeg_cas04.txt | 140 + woe-fe/aldeg_cas05.txt | 139 + woe-fe/gefg_cas01.txt | 131 + woe-fe/gefg_cas02.txt | 132 + woe-fe/gefg_cas03.txt | 135 + woe-fe/gefg_cas04.txt | 131 + woe-fe/gefg_cas05.txt | 131 + woe-fe/payg_cas01.txt | 134 + woe-fe/payg_cas02.txt | 135 + woe-fe/payg_cas03.txt | 134 + woe-fe/payg_cas04.txt | 135 + woe-fe/payg_cas05.txt | 134 + woe-fe/prtg_cas01.txt | 137 + woe-fe/prtg_cas02.txt | 139 + woe-fe/prtg_cas03.txt | 137 + woe-fe/prtg_cas04.txt | 137 + woe-fe/prtg_cas05.txt | 135 + woe-fe/trs_rp.txt | 58 + woe-se/agit_main_se.txt | 1834 ++ woe-se/agit_start_se.txt | 45 + woe-se/arug_cas01.txt | 77 + woe-se/arug_cas02.txt | 82 + woe-se/arug_cas03.txt | 74 + woe-se/arug_cas04.txt | 83 + woe-se/arug_cas05.txt | 83 + woe-se/guild_flags.txt | 105 + woe-se/schg_cas01.txt | 74 + woe-se/schg_cas02.txt | 66 + woe-se/schg_cas03.txt | 74 + woe-se/schg_cas04.txt | 74 + woe-se/schg_cas05.txt | 76 + 451 files changed, 98367 insertions(+), 25786 deletions(-) create mode 100644 custom/battleground/bg_emp.txt create mode 100644 custom/battleground/bg_pvp.txt create mode 100644 custom/battleground/unofficial/bg_common.txt create mode 100644 custom/battleground/unofficial/bg_flavius_01.txt create mode 100644 custom/battleground/unofficial/bg_flavius_02.txt create mode 100644 custom/battleground/unofficial/bg_kvm01.txt create mode 100644 custom/battleground/unofficial/bg_kvm02.txt create mode 100644 custom/battleground/unofficial/bg_kvm03.txt create mode 100644 custom/battleground/unofficial/bg_tierra_01.txt create mode 100644 custom/battleground/unofficial/bg_tierra_02.txt create mode 100644 custom/card_seller.txt create mode 100644 custom/etc/autopot.txt create mode 100644 custom/etc/mvp_room.txt create mode 100644 custom/events/devil_square.txt create mode 100644 custom/events/holiday/hallow06.txt create mode 100644 custom/events/holiday/uneasy_cemetery.txt create mode 100644 custom/events/holiday/valentinesdayexp.txt create mode 100644 custom/events/holiday/xmas_rings_event.txt create mode 100644 custom/events/mvp_ladder.txt create mode 100644 custom/quests/thq/THQS_ChattingNPC.txt create mode 100644 events/christmas_2013.txt create mode 100644 mapflag/skill_duration.txt create mode 100644 mapflag/skill_modifier.txt create mode 100644 pre-re/cities/lutie.txt create mode 100644 pre-re/quests/skills/swordman_skills.txt create mode 100644 re/cities/dimensional_crack.txt create mode 100644 re/cities/lutie.txt create mode 100644 re/events/halloween_2013.txt create mode 100644 re/events/halloween_2014.txt create mode 100644 re/instances/EclageInterior.txt create mode 100644 re/instances/NightmarishJitterbug.txt create mode 100644 re/instances/Sara'sMemory.txt create mode 100644 re/instances/WolfchevLaboratory.txt create mode 100644 re/jobs/2e/kagerou_oboro.txt create mode 100644 re/merchants/card_exchange.txt create mode 100644 re/merchants/cash_trader-idRO.txt create mode 100644 re/merchants/enchan_ko.txt create mode 100644 re/merchants/shadow_refiner.txt create mode 100644 re/mobs/academy.txt create mode 100644 re/other/CashShop_Functions.txt create mode 100644 re/other/Item_Functions.txt create mode 100644 re/other/adven_boards.txt create mode 100644 re/quests/eden/100-111.txt create mode 100644 re/quests/eden/111-120.txt create mode 100644 re/quests/eden/121-130.txt create mode 100644 re/quests/eden/131-140.txt create mode 100644 re/quests/newgears/2010_headgears.txt create mode 100644 re/quests/newgears/2012_headgears.txt create mode 100644 re/quests/ninja_quests.txt create mode 100644 re/quests/quests_academy.txt create mode 100644 re/quests/quests_aldebaran.txt create mode 100644 re/quests/skills/swordman_skills.txt create mode 100644 re/scripts_woe.conf create mode 100644 re/warps/cities/dimensional_crack.txt create mode 100644 re/warps/dungeons/ecl_dun.txt create mode 100644 re/woe-fe/invest_main.txt create mode 100644 re/woe-fe/invest_npc.txt create mode 100644 scripts_woe.conf create mode 100644 woe-fe/agit_controller.txt create mode 100644 woe-fe/agit_main.txt create mode 100644 woe-fe/aldeg_cas01.txt create mode 100644 woe-fe/aldeg_cas02.txt create mode 100644 woe-fe/aldeg_cas03.txt create mode 100644 woe-fe/aldeg_cas04.txt create mode 100644 woe-fe/aldeg_cas05.txt create mode 100644 woe-fe/gefg_cas01.txt create mode 100644 woe-fe/gefg_cas02.txt create mode 100644 woe-fe/gefg_cas03.txt create mode 100644 woe-fe/gefg_cas04.txt create mode 100644 woe-fe/gefg_cas05.txt create mode 100644 woe-fe/payg_cas01.txt create mode 100644 woe-fe/payg_cas02.txt create mode 100644 woe-fe/payg_cas03.txt create mode 100644 woe-fe/payg_cas04.txt create mode 100644 woe-fe/payg_cas05.txt create mode 100644 woe-fe/prtg_cas01.txt create mode 100644 woe-fe/prtg_cas02.txt create mode 100644 woe-fe/prtg_cas03.txt create mode 100644 woe-fe/prtg_cas04.txt create mode 100644 woe-fe/prtg_cas05.txt create mode 100644 woe-fe/trs_rp.txt create mode 100644 woe-se/agit_main_se.txt create mode 100644 woe-se/agit_start_se.txt create mode 100644 woe-se/arug_cas01.txt create mode 100644 woe-se/arug_cas02.txt create mode 100644 woe-se/arug_cas03.txt create mode 100644 woe-se/arug_cas04.txt create mode 100644 woe-se/arug_cas05.txt create mode 100644 woe-se/guild_flags.txt create mode 100644 woe-se/schg_cas01.txt create mode 100644 woe-se/schg_cas02.txt create mode 100644 woe-se/schg_cas03.txt create mode 100644 woe-se/schg_cas04.txt create mode 100644 woe-se/schg_cas05.txt diff --git a/airports/lighthalzen.txt b/airports/lighthalzen.txt index 9378a97..b3ec48c 100644 --- a/airports/lighthalzen.txt +++ b/airports/lighthalzen.txt @@ -14,21 +14,21 @@ lhz_airport,143,43,5 script Airport Staff#lhz_air1a::lhz_airport1 90,{ mes "[Airport Staff]"; - mes "Selamat datang di"; - mes "Bandara Lighthalzen,"; - mes "dimana kami menawarkan"; - mes "penerbangan nonstop ke Einbroch, Juno dan Hugel."; + mes "Welcome to the"; + mes "Lighthalzen Airport,"; + mes "where we offer nonstop"; + mes "flights to Einbroch, Juno and Hugel."; next; if (select("Board the Airship.:Cancel.") == 1) { mes "[Airport Staff]"; - mes "Biaya penerbangannya adalah"; - mes "1,200 zeny, tetapi kamu dapat"; - mes "dibebaskan biaya jika menukarkan"; - mes "sebuah tiket gratis untuk penerbangan ini."; + mes "The boarding fee is"; + mes "1,200 zeny, but you can"; + mes "waive the fee if you redeem"; + mes "a Free Ticket for Airship."; next; if (select("Yes:No") == 1) { if (countitem(7311) > 0) { - delitem 7311,1; //Tiket_Gratis_Kapal_Udara + delitem 7311,1; //Free_Flying_Ship_Ticket warp "lhz_airport",148,51; end; } @@ -38,16 +38,16 @@ lhz_airport,143,43,5 script Airport Staff#lhz_air1a::lhz_airport1 90,{ end; } mes "[Airship Staff]"; - mes "Maaf, tetapi kamu tidak mempunyai"; - mes "1,200 zeny"; - mes "untuk biaya penerbangannya."; + mes "I'm sorry, but you don't"; + mes "have 1,200 zeny to pay"; + mes "for the boarding fee."; close; } } mes "[Airport Staff]"; - mes "Terima kasih dan"; - mes "silakan datang kembali."; - mes "Semoga harimu menyenangkan~"; + mes "Thank you and"; + mes "please come again."; + mes "Have a good day~"; close; } @@ -56,17 +56,17 @@ lhz_airport,126,43,5 duplicate(lhz_airport1) Airship Staff#lhz_air1c 90 lhz_airport,143,49,3 script Arrival Staff#lhz_air2a::lhz_airport2 90,{ mes "[Arrival Staff]"; - mes "Selamat datang di bandara Lighthalzen."; - mes "Izinkan saya untuk memandu kamu ke"; - mes "terminal utama jika kamu tiba dari penerbangan. Jika tidak"; - mes "silahkan naik ke pesawat yang hendak berangkat untuk mencapai tujuan yang kamu inginkan.."; + mes "Welcome to Lighthalzen Airport."; + mes "Please let me guide you to the"; + mes "main terminal if you are arriving from your flight. Otherwise, please"; + mes "board the departing Airship to reach your intended destination."; next; if (select("Exit to main terminal.:Cancel.") == 1) { mes "[Arrival Staff]"; - mes "Setelah kamu berada di terminal utama, kamu akan dikenakan tambahan biaya lagi"; - mes "untuk naik pesawat. kamu sebaiknya"; - mes "keluar jika Lighthalzen adalah tujuan yang kamu maksudkan. Bagaimana kalau kita"; - mes "lanjutkan untuk terminal utama?"; + mes "Once you're in the main terminal, you will need to pay the fee again"; + mes "to board an Airship. You should"; + mes "only exit if Lighthalzen is your intended destination. Shall we"; + mes "proceed to the main terminal?"; next; if (select("Yes:No") == 1) { warp "lhz_airport",142,40; @@ -74,10 +74,10 @@ lhz_airport,143,49,3 script Arrival Staff#lhz_air2a::lhz_airport2 90,{ } } mes "[Arrival Staff]"; - mes "Baiklah, terima kasih"; - mes "atas dukungannya"; - mes "dan saya harap kamu memiliki"; - mes "penerbangan yang menyenangkan~"; + mes "Alright, thank you"; + mes "for your patronage"; + mes "and I hope you have"; + mes "a pleasant flight~"; close; } diff --git a/airports/yuno.txt b/airports/yuno.txt index 9ba7b78..730176a 100644 --- a/airports/yuno.txt +++ b/airports/yuno.txt @@ -14,20 +14,20 @@ y_airport,143,43,5 script Airport Staff#y_air1a::y_airport1 90,{ mes "[Airport Staff]"; - mes "Selamat datang di bandara Juno di mana kami menawarkan penerbangan domestik ke Einbroch, Lighthalzen dan Hugel"; - mes "dan penerbangan internasional ke Izlude dan Rachel."; - mes "Ada yang bisa aku bantu?"; + mes "Welcome to Juno Airport where we offer domestic flights to Einbroch, Lighthalzen and Hugel,"; + mes "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 "Biaya untuk semua penerbangan"; - mes "adalah 1,200 zeny. Jika kamu"; - mes "menggunakan tiket gratis untuk penerbangan,"; - mes "biaya penerbangan akan dibebaskan. Jadi apakah kamu ingin berangkat?"; + mes "The boarding fee for all"; + mes "flights is 1,200 zeny. If you"; + mes "use a Free Ticket for Airship,"; + mes "the boarding fee will be waived.So would you like to depart?"; next; if (select("Yes:No") == 1) { if (countitem(7311) > 0) { - delitem 7311,1; //Tiket_Gratis_Kapal_Udara + delitem 7311,1; //Free_Flying_Ship_Ticket warp "y_airport",148,51; end; } @@ -37,15 +37,15 @@ y_airport,143,43,5 script Airport Staff#y_air1a::y_airport1 90,{ end; } mes "[Airport Staff]"; - mes "Maaf, tetapi kamu tidak mempunyai"; - mes "1,200 zeny"; - mes "untuk biaya penerbangannya."; + mes "I'm sorry, but you don't"; + mes "have 1,200 zeny to pay"; + mes "for the boarding fee."; close; } } mes "[Airport Staff]"; - mes "Terimakasih dan, "; - mes "semoga harimu menyenangkan."; + mes "Thank you and"; + mes "have a nice day."; close; } @@ -54,16 +54,16 @@ y_airport,126,43,5 duplicate(y_airport1) Airport Staff#y_air1c 90 y_airport,143,49,3 script Arrival Staff#y_air2a::y_airport2 90,{ mes "[Airport Staff]"; - mes "Selamat datang di bandara Juno. Jika Kamu baru saja tiba dari"; - mes "penerbangan, biarkan saya memandu kamu ke terminal utama.. Jika tidak, silahkan"; - mes "naik ke pesawat yang hendak berangkat untuk mencapai tujuan yang kamu inginkan.."; + mes "Welcome to Juno Airport. If you've just arrived from your"; + mes "flight, let me guide you to the main terminal. Otherwise, please"; + mes "board the departing Airship to reach your intended destination."; next; if (select("Exit to main terminal:Cancel") == 1) { mes "[Airport Staff]"; - mes "Ketika kamu berada di terminal utama, kamu akan dikenakan tambahan biaya lagi"; - mes "untuk naik pesawat. Kamu sebaiknya keluar jika"; - mes "tujuanya adalah Juno. Lanjutkan"; - mes "untuk keluar ke terminal utama?"; + mes "Once you're in the main terminal, you must pay the fee once again"; + mes "to board a departing Airship. You should only exit if your intended"; + mes "destination is Juno. Proceed to"; + mes "exit to the main terminal?"; next; if (select("Yes:No") == 1) { warp "y_airport",142,40; @@ -71,10 +71,10 @@ y_airport,143,49,3 script Arrival Staff#y_air2a::y_airport2 90,{ } } mes "[Airport Staff]"; - mes "Baiklah, terima kasih"; - mes "atas dukungannya"; - mes "dan saya harap kamu memiliki"; - mes "penerbangan yang menyenangkan~"; + mes "Alright, thank you"; + mes "for your patronage"; + mes "and I hope you have"; + mes "a pleasant flight~"; close; } @@ -83,79 +83,79 @@ y_airport,158,50,3 duplicate(y_airport2) Arrival Staff#y_air2c 90 y_airport,145,63,5 script Domestic Boarding 91,{ mes "[Boarding Staff]"; - mes "Apakah kamu ingin naik"; - mes "pesawat dengan tujuan penerbangan ke Einbroch,"; - mes "Lighthalzen dan Hugel? Jika iya,"; - mes "izinkan saya membimbing kamu ke"; - mes "Area penerbangan."; + mes "Would you like to board the"; + mes "Airship that flies to Einbroch,"; + mes "Lighthalzen and Hugel? If so,"; + mes "please let me guide you to that"; + mes "Airship's boarding area."; next; if (select("Yes:No") == 1) { warp "yuno",59,244; end; } mes "[Boarding Staff]"; - mes "Baiklah kalau begitu."; - mes "Terimakasih atas"; - mes "dukungannya, dan saya berharap"; - mes "kamu bisa menikmati perjalanannya~"; + mes "Very well, then."; + mes "Thank you for your"; + mes "patronage, and I hope"; + mes "you enjoy your travels~"; close; } y_airport,140,63,5 script International Boarding 91,{ mes "[Boarding Staff]"; - mes "Apakah kamu ingin naik; - mes "pesawat dengan tujuan penerbangan ke"; - mes "Juno, Izlude dan Rachel?"; - mes "izinkan saya membimbing kamu ke"; - mes "Area penerbangan."; + mes "Would you like to board"; + mes "the Airship which flies to"; + mes "Juno, Izlude and Rachel?"; + mes "If so, let me guide"; + mes "you to the boarding area."; next; if (select("Yes:No") == 1) { warp "yuno",47,244; end; } mes "[Boarding Staff]"; - mes "Baiklah kalau begitu."; - mes "Terimakasih telah terbang"; - mes "bersama kami,dan saya harap"; - mes "kamu dapat menikmati perjalanan dengan"; - mes "menggunakan layanan kami."; + mes "Alright, then."; + mes "Thank you for flying"; + mes "with us, and I hope you"; + mes "enjoy your travels on our"; + mes "state of the art Airships."; close; } yuno,14,262,5 script Airship Staff#yuno01 91,{ mes "[Airship Staff]"; - mes "Selamat datang di bandara Juno."; - mes "Silahkan gunakan pintu ini untuk"; - mes "naik pesawat yang akan"; - mes "terbang ke Izlude"; - mes "di Kerajaan Rune Midgard,"; - mes "dan Rachel di"; - mes "Republik Arunafeltz."; + mes "Welcome to Juno Airport."; + mes "Please use this door to"; + mes "board the Airship that will"; + mes "be flying all the way to Izlude"; + mes "in the Rune-Midgarts Kingdom,"; + mes "and to Rachel in the Arunafeltz"; + mes "Republic."; next; mes "[Airship Staff]"; - mes "Sebaliknya, Jika Juno"; - mes "adalah tujuan yang kamu maksud,"; - mes "silahkan turuni tangga"; - mes "dan tanya staff kami untuk membimbing kamu"; - mes "ke terminal utama. terima kasih,"; - mes "dan selamat menikmati perjalanannya."; + mes "Otherwise, if Juno is"; + mes "your intended destination,"; + mes "please head down the stairs"; + mes "and ask the Arrival Staff to lead"; + mes "you to the main terminal. Thank"; + mes "you, and enjoy your travels."; close; } yuno,88,263,3 script Airship Staff#yuno02 91,{ mes "[Airship Staff]"; - mes "Selamat datang di bandara Juno."; - mes "Silahkan gunakan pintu ini untuk"; - mes "naik ke pesawat yang berhenti di"; - mes "sekitar Einbroch, Lighthalzen dan"; - mes "Hugel di Republik Schwaltzvalt."; + mes "Welcome to Juno Airport."; + mes "Please use this door to"; + mes "board the Airship which stops"; + mes "over Einbroch, Lighthalzen and"; + mes "Hugel in the Schwaltzvalt Republic."; next; mes "[Airship Staff]"; - mes "Sebaliknya, jika Juno adalah"; - mes "tujuan yang kamu maksud,"; - mes "silahkan turuni tangga"; - mes "dan tanya staff kami untuk membimbing kamu"; - mes "ke terminal utama. terima kasih,"; - mes "dan selamat menikmati perjalanannya."; + mes "Otherwise, if Juno is"; + mes "your intended destination,"; + mes "please head down the stairs"; + mes "and ask the Arrival Staff to lead"; + mes "you to the main terminal. Thank"; + mes "you, and enjoy your travels."; close; } diff --git a/battleground/bg_common.txt b/battleground/bg_common.txt index ec4729e..d9070ba 100644 --- a/battleground/bg_common.txt +++ b/battleground/bg_common.txt @@ -3,16 +3,16 @@ //===== By: ================================================== //= ????, L0ne_W0lf //===== Current Version: ===================================== -//= 1.4 +//= 1.5 //===== Compatible With: ===================================== -//= rAthena 1.0 +//= rAthena SVN //===== Description: ========================================= //= [Official Conversion] //= Battleground NPCs: //= - Generals and Aides //= - Battleground Warper //= - Kafra and Repairman. -//= - GM Management NPC (disabled by default) +//= - GM Management NPC //= - Badge Exchanger (Tierra and Flavius) //===== Additional Comments: ================================= //= 1.0 First Version. @@ -20,6 +20,7 @@ //= 1.2 Updated Repairman NPC //= 1.3 Optimized "Erundek" NPC. [Euphy] //= 1.4 Added GM management function. [Euphy] +//= 1.5 Added VIP features and created a reward function. [Euphy] //============================================================ // Generals @@ -562,3 +563,57 @@ bat_room,160,150,3 script Erundek 109,{ } close; } + +// Badge Reward Function +//============================================================ +function script F_BG_Badge { + + if (getarg(2) == "Tierra") { + set .@badge,7828; //BF_Badge1 + set .@amount_win,3; + set .@amount_lose,1; + } else if (getarg(2) == "Flavius") { + set .@badge,7829; //BF_Badge2 + set .@amount_win,9; + set .@amount_lose,3; + } else + return; + + if (getarg(0) == 1) { + set .@amount, .@amount_win; + if (getarg(1) == "Guillaume") { + mes "[Axl Rose]"; + mes "Blessed Guillaume!"; + } else if (getarg(1) == "Croix") { + mes "[Swandery]"; + mes "Blessed Croix!"; + } + mes "Let's enjoy our glorious victory!"; + mes strcharinfo(0)+", it's a sign reflecting victory."; + } else { + set .@amount, .@amount_lose; + if (getarg(1) == "Guillaume") { + 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."; + } else if (getarg(1) == "Croix") { + mes "[Swandery]"; + mes "Oh, "+strcharinfo(0)+" 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; + + // If the VIP system is enabled, VIP players receive an extra 2 badges. + if (VIP_SCRIPT && vip_status(1)) + set .@amount, .@amount+2; + + set .@medal_gap, 500 - countitem(.@badge); + if (.@medal_gap >= .@amount) + getitem .@badge,.@amount; + else + getitem .@badge,.@medal_gap; + return; +} diff --git a/battleground/flavius/flavius01.txt b/battleground/flavius/flavius01.txt index 4e4953d..f4e1381 100644 --- a/battleground/flavius/flavius01.txt +++ b/battleground/flavius/flavius01.txt @@ -3,14 +3,14 @@ //===== By: ================================================== //= L0ne_W0lf //===== Current Version: ===================================== -//= 1.5 +//= 1.7 //===== Compatible With: ===================================== -//= rAthena 1.0 +//= rAthena SVN //===== Description: ========================================= //= [Official Conversion] //= Flavius Battleground. -//= - Winning Team: 9 badges -//= - Losing Team: 3 badge +//= - Winning Team: 9 badges (11 if VIP) +//= - Losing Team: 3 badges (5 if VIP) //===== Additional Comments: ================================= //= 1.0 First Version. //= 1.1 Fixed pink crystal spawning as blue. [L0ne_W0lf] @@ -18,6 +18,8 @@ //= 1.3 Removed MaxLvl check in waitingrooms. Replaced setwall with setcell. //= 1.4 Label standardization. [Euphy] //= 1.5 Added GM management function. [Euphy] +//= 1.6 Added VIP features and created a reward function. [Euphy] +//= 1.7 Made Crystals immune to attacks until Guardians are defeated. [Cydh/Aleos] //============================================================ // Waiting Room NPCs @@ -151,7 +153,8 @@ OnTimer10000: bat_b01,1,1,3 script OBJ#bat_b01_a 844,{ OnEnable: - bg_monster $@FlaviusBG1_id1,"bat_b01",61,150,"Pink Crystal",1915,"OBJ#bat_b01_a::OnMyMobDead"; + $@FlavBG1_C1_ID = bg_monster($@FlaviusBG1_id1,"bat_b01",61,150,"Pink Crystal",1915,"OBJ#bat_b01_a::OnMyMobDead"); + setunitdata $@FlavBG1_C1_ID,30,1; // Make Crystal immune to damage until Guardians are defeated end; OnKill: @@ -184,7 +187,8 @@ OnMyMobDead: bat_b01,1,2,3 script OBJ#bat_b01_b 844,{ OnEnable: - bg_monster $@FlaviusBG1_id2,"bat_b01",328,150,"Blue Crystal",1914,"OBJ#bat_b01_b::OnMyMobDead"; + $@FlavBG1_C2_ID = bg_monster($@FlaviusBG1_id2,"bat_b01",328,150,"Blue Crystal",1914,"OBJ#bat_b01_b::OnMyMobDead"); + setunitdata $@FlavBG1_C2_ID,30,1; // Make Crystal immune to damage until Guardians are defeated end; OnKill: @@ -229,6 +233,7 @@ 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"; + setunitdata $@FlavBG1_C1_ID,30,0; // Make Crystal damageable again } end; } @@ -247,6 +252,7 @@ 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"; + setunitdata $@FlavBG1_C2_ID,30,0; // Make Crystal damageable again } end; } @@ -393,46 +399,10 @@ OnTouch: bat_b01,10,294,3 script Guillaume Vintenar#b01_a 934,{ if ($@FlaviusBG1_id1 == getcharid(4)) { - if ($@FlaviusBG1_Victory == 1) { - set .@your_medal,countitem(7829); - 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(0)+", it's a sign reflecting victory."; - close2; - getitem 7829,9; //BF_Badge2 - } - else { - mes "[Axl Rose]"; - mes "Blessed Guillaume!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign reflecting victory."; - close2; - getitem 7829,.@medal_gap; //BF_Badge2 - } - } - else { - set .@your_medal,countitem(7829); - 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 7829,3; //BF_Badge2 - } - 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 7829,.@medal_gap; //BF_Badge2 - } - } + if ($@FlaviusBG1_Victory == 1) + callfunc "F_BG_Badge",1,"Guillaume","Flavius"; + else + callfunc "F_BG_Badge",0,"Guillaume","Flavius"; } bg_leave; warp "bat_room",154,150; @@ -445,46 +415,10 @@ OnInit: bat_b01,389,14,3 script Croix Vintenar#b01_b 934,{ if ($@FlaviusBG1_id2 == getcharid(4)) { - if ($@FlaviusBG1_Victory == 2) { - set .@your_medal,countitem(7829); - set .@medal_gap,500 - .@your_medal; - if (.@medal_gap > 8) { - mes "[Swandery]"; - mes "Blessed Croix!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign reflecting victory."; - close2; - getitem 7829,9; //BF_Badge2 - } - else { - mes "[Swandery]"; - mes "Blessed Croix!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign reflecting victory."; - close2; - getitem 7829,.@medal_gap; //BF_Badge2 - } - } - else { - set .@your_medal,countitem(7829); - set .@medal_gap,500 - .@your_medal; - if (.@medal_gap > 2) { - mes "[Swandery]"; - mes "Oh, "+strcharinfo(0)+". 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 7829,3; //BF_Badge2 - } - else { - mes "[Swandery]"; - mes "Oh, "+strcharinfo(0)+". 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 7829,.@medal_gap; //BF_Badge2 - } - } + if ($@FlaviusBG1_Victory == 2) + callfunc "F_BG_Badge",1,"Croix","Flavius"; + else + callfunc "F_BG_Badge",0,"Croix","Flavius"; } bg_leave; warp "bat_room",154,150; @@ -578,66 +512,12 @@ bat_b01,389,16,3 script Croix Camp#flag31 974,{ end; } bat_b01,10,294,3 script Vintenar#bat_b01_aover 419,{ set .@A_B_gap,$@Guill_ScoreBG1 - $@Croix_ScoreBG1; if ($@FlaviusBG1_id1 == getcharid(4)) { - if (.@A_B_gap > 0) { - set .@your_medal,countitem(7829); - 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(0)+", it's a sign reflecting victory."; - close2; - getitem 7829,9; //BF_Badge2 - } - else { - mes "[Axl Rose]"; - mes "Blessed Guillaume!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign reflecting victory."; - close2; - getitem 7829,.@medal_gap; //BF_Badge2 - } - } - else if (.@A_B_gap == 0) { - set .@your_medal,countitem(7829); - 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 7829,3; //BF_Badge2 - } - 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 7829,.@medal_gap; //BF_Badge2 - } - } - else { - set .@your_medal,countitem(7829); - 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 7829,3; //BF_Badge2 - } - 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 7829,.@medal_gap; //BF_Badge2 - } - } + if (.@A_B_gap > 0) + callfunc "F_BG_Badge",1,"Guillaume","Flavius"; + else if (.@A_B_gap == 0) + callfunc "F_BG_Badge",0,"Guillaume","Flavius"; + else + callfunc "F_BG_Badge",0,"Guillaume","Flavius"; } else { mes "[Axl Rose]"; @@ -656,66 +536,12 @@ OnInit: bat_b01,389,14,3 script Vintenar#bat_b01_bover 415,{ set .@A_B_gap,$@Guill_ScoreBG1 - $@Croix_ScoreBG1; if ($@FlaviusBG1_id2 == getcharid(4)) { - if (.@A_B_gap > 0) { - set .@your_medal,countitem(7829); - set .@medal_gap,500 - .@your_medal; - if (.@medal_gap > 2) { - mes "[Swandery]"; - mes "Oh, "+strcharinfo(0)+". 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 7829,3; //BF_Badge2 - } - else { - mes "[Swandery]"; - mes "Oh, "+strcharinfo(0)+". 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 7829,.@medal_gap; //BF_Badge2 - } - } - else if (.@A_B_gap == 0) { - set .@your_medal,countitem(7829); - set .@medal_gap,500 - .@your_medal; - if (.@medal_gap > 2) { - mes "[Swandery]"; - mes "Oh, "+strcharinfo(0)+". 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 7829,3; //BF_Badge2 - } - else { - mes "[Swandery]"; - mes "Oh, "+strcharinfo(0)+". 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 7829,.@medal_gap; //BF_Badge2 - } - } - else { - set .@your_medal,countitem(7829); - set .@medal_gap,500 - .@your_medal; - if (.@medal_gap > 8) { - mes "[Swandery]"; - mes "Blessed Croix!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign reflecting victory."; - close2; - getitem 7829,9; //BF_Badge2 - } - else { - mes "[Swandery]"; - mes "Blessed Croix!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign reflecting victory."; - close2; - getitem 7829,.@medal_gap; //BF_Badge2 - } - } + if (.@A_B_gap > 0) + callfunc "F_BG_Badge",1,"Croix","Flavius"; + else if (.@A_B_gap == 0) + callfunc "F_BG_Badge",0,"Croix","Flavius"; + else + callfunc "F_BG_Badge",1,"Croix","Flavius"; } else { mes "[Swandery]"; diff --git a/battleground/flavius/flavius02.txt b/battleground/flavius/flavius02.txt index 2c76b2e..b40f263 100644 --- a/battleground/flavius/flavius02.txt +++ b/battleground/flavius/flavius02.txt @@ -3,14 +3,14 @@ //===== By: ================================================== //= L0ne_W0lf //===== Current Version: ===================================== -//= 1.6 +//= 1.8 //===== Compatible With: ===================================== -//= rAthena 1.0 +//= rAthena SVN //===== Description: ========================================= //= [Official Conversion] //= Flavius Battleground. -//= - Winning Team: 9 badges -//= - Losing Team: 3 badge +//= - Winning Team: 9 badges (11 if VIP) +//= - Losing Team: 3 badges (5 if VIP) //===== Additional Comments: ================================= //= 1.0 First Version. //= 1.1 Fixed NPCs being called for waiting rooms. (bugreport:4395) @@ -19,6 +19,8 @@ //= 1.4 Removed MaxLvl check in waitingrooms. Replaced setwall with setcell. //= 1.5 Label standardization. [Euphy] //= 1.6 Added GM management function. [Euphy] +//= 1.7 Added VIP features and created a reward function. [Euphy] +//= 1.8 Made Crystals immune to attacks until Guardians are defeated. [Cydh/Aleos] //============================================================ // Waiting Room NPCs @@ -152,7 +154,8 @@ OnTimer10000: bat_b02,1,1,3 script OBJ#bat_b02_a 844,{ OnEnable: - bg_monster $@FlaviusBG2_id1,"bat_b02",61,150,"Pink Crystal",1915,"OBJ#bat_b02_a::OnMyMobDead"; + $@FlavBG2_C1_ID = bg_monster($@FlaviusBG2_id1,"bat_b02",61,150,"Pink Crystal",1915,"OBJ#bat_b02_a::OnMyMobDead"); + setunitdata $@FlavBG2_C1_ID,30,1; // Make Crystal immune to damage until Guardians are defeated end; OnKill: @@ -185,7 +188,8 @@ OnMyMobDead: bat_b02,1,2,3 script OBJ#bat_b02_b 844,{ OnEnable: - bg_monster $@FlaviusBG2_id2,"bat_b02",328,150,"Blue Crystal",1914,"OBJ#bat_b02_b::OnMyMobDead"; + $@FlavBG2_C2_ID = bg_monster($@FlaviusBG2_id2,"bat_b02",328,150,"Blue Crystal",1914,"OBJ#bat_b02_b::OnMyMobDead"); + setunitdata $@FlavBG2_C2_ID,30,1; // Make Crystal immune to damage until Guardians are defeated end; OnKill: @@ -230,6 +234,7 @@ 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"; + setunitdata $@FlavBG2_C1_ID,30,0; // Make Crystal damageable again } end; } @@ -248,6 +253,7 @@ 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"; + setunitdata $@FlavBG2_C2_ID,30,0; // Make Crystal damageable again } end; } @@ -394,46 +400,10 @@ OnTouch: bat_b02,10,294,3 script Guillaume Vintenar#b02_a 934,{ if ($@FlaviusBG2_id1 == getcharid(4)) { - if ($@FlaviusBG2_Victory == 1) { - set .@your_medal,countitem(7829); - 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(0)+", it's a sign reflecting victory."; - close2; - getitem 7829,9; //BF_Badge2 - } - else { - mes "[Axl Rose]"; - mes "Blessed Guillaume!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign reflecting victory."; - close2; - getitem 7829,.@medal_gap; //BF_Badge2 - } - } - else { - set .@your_medal,countitem(7829); - 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 7829,3; //BF_Badge2 - } - 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 7829,.@medal_gap; //BF_Badge2 - } - } + if ($@FlaviusBG2_Victory == 1) + callfunc "F_BG_Badge",1,"Guillaume","Flavius"; + else + callfunc "F_BG_Badge",0,"Guillaume","Flavius"; } bg_leave; warp "bat_room",154,150; @@ -446,46 +416,10 @@ OnInit: bat_b02,389,14,3 script Croix Vintenar#b02_b 934,{ if ($@FlaviusBG2_id2 == getcharid(4)) { - if ($@FlaviusBG2_Victory == 2) { - set .@your_medal,countitem(7829); - set .@medal_gap,500 - .@your_medal; - if (.@medal_gap > 8) { - mes "[Swandery]"; - mes "Blessed Croix!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign reflecting victory."; - close2; - getitem 7829,9; //BF_Badge2 - } - else { - mes "[Swandery]"; - mes "Blessed Croix!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign reflecting victory."; - close2; - getitem 7829,.@medal_gap; //BF_Badge2 - } - } - else { - set .@your_medal,countitem(7829); - set .@medal_gap,500 - .@your_medal; - if (.@medal_gap > 2) { - mes "[Swandery]"; - mes "Oh, "+strcharinfo(0)+". 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 7829,3; //BF_Badge2 - } - else { - mes "[Swandery]"; - mes "Oh, "+strcharinfo(0)+". 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 7829,.@medal_gap; //BF_Badge2 - } - } + if ($@FlaviusBG2_Victory == 2) + callfunc "F_BG_Badge",1,"Croix","Flavius"; + else + callfunc "F_BG_Badge",0,"Croix","Flavius"; } bg_leave; warp "bat_room",154,150; @@ -579,66 +513,12 @@ bat_b02,389,16,3 script Croix Camp#flag42 974,{ end; } bat_b02,10,294,3 script Vintenar#bat_b02_aover 419,{ set .@A_B_gap,$@Guill_ScoreBG2 - $@Croix_ScoreBG2; if ($@FlaviusBG2_id1 == getcharid(4)) { - if (.@A_B_gap > 0) { - set .@your_medal,countitem(7829); - 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(0)+", it's a sign reflecting victory."; - close2; - getitem 7829,9; //BF_Badge2 - } - else { - mes "[Axl Rose]"; - mes "Blessed Guillaume!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign reflecting victory."; - close2; - getitem 7829,.@medal_gap; //BF_Badge2 - } - } - else if (.@A_B_gap == 0) { - set .@your_medal,countitem(7829); - 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 7829,3; //BF_Badge2 - } - 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 7829,.@medal_gap; //BF_Badge2 - } - } - else { - set .@your_medal,countitem(7829); - 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 7829,3; //BF_Badge2 - } - 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 7829,.@medal_gap; //BF_Badge2 - } - } + if (.@A_B_gap > 0) + callfunc "F_BG_Badge",1,"Guillaume","Flavius"; + else if (.@A_B_gap == 0) + callfunc "F_BG_Badge",0,"Guillaume","Flavius"; + else + callfunc "F_BG_Badge",0,"Guillaume","Flavius"; } else { mes "[Axl Rose]"; @@ -657,66 +537,12 @@ OnInit: bat_b02,389,14,3 script Vintenar#bat_b02_bover 415,{ set .@A_B_gap,$@Guill_ScoreBG2 - $@Croix_ScoreBG2; if ($@FlaviusBG2_id2 == getcharid(4)) { - if (.@A_B_gap > 0) { - set .@your_medal,countitem(7829); - set .@medal_gap,500 - .@your_medal; - if (.@medal_gap > 2) { - mes "[Swandery]"; - mes "Oh, "+strcharinfo(0)+". 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 7829,3; //BF_Badge2 - } - else { - mes "[Swandery]"; - mes "Oh, "+strcharinfo(0)+". 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 7829,.@medal_gap; //BF_Badge2 - } - } - else if (.@A_B_gap == 0) { - set .@your_medal,countitem(7829); - set .@medal_gap,500 - .@your_medal; - if (.@medal_gap > 2) { - mes "[Swandery]"; - mes "Oh, "+strcharinfo(0)+". 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 7829,3; //BF_Badge2 - } - else { - mes "[Swandery]"; - mes "Oh, "+strcharinfo(0)+". 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 7829,.@medal_gap; //BF_Badge2 - } - } - else { - set .@your_medal,countitem(7829); - set .@medal_gap,500 - .@your_medal; - if (.@medal_gap > 8) { - mes "[Swandery]"; - mes "Blessed Croix!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign reflecting victory."; - close2; - getitem 7829,9; //BF_Badge2 - } - else { - mes "[Swandery]"; - mes "Blessed Croix!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign reflecting victory."; - close2; - getitem 7829,.@medal_gap; //BF_Badge2 - } - } + if (.@A_B_gap > 0) + callfunc "F_BG_Badge",1,"Croix","Flavius"; + else if (.@A_B_gap == 0) + callfunc "F_BG_Badge",0,"Croix","Flavius"; + else + callfunc "F_BG_Badge",1,"Croix","Flavius"; } else { mes "[Swandery]"; diff --git a/battleground/kvm/kvm01.txt b/battleground/kvm/kvm01.txt index 5ad3626..202297f 100644 --- a/battleground/kvm/kvm01.txt +++ b/battleground/kvm/kvm01.txt @@ -1,45 +1,42 @@ -//===== rAthena Script ======================================= +//===== rAthena Script ======================================= //= BattleGround System - KvM 80-99 -//===== By: ================================================== -//= ???, L0ne_W0lf -//===== Current Version: ===================================== -//= 1.2 -//===== Compatible With: ===================================== -//= rAthena 1.0 -//===== Description: ========================================= +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= //= [Official Conversion] //= Kreiger Von Midgard Battleground for levels 80 to 99 //= - Winning Team: 5 points //= - Losing Team: 1 point -//===== Additional Comments: ================================= +//===== Additional Comments: ================================= //= 1.0 First Version. //= 1.1 Updated using official Aegis files. [L0ne_W0lf] //= 1.2 Upated some announces and dialogs from iRO. //= Changed how the scoreboard works slightly. //= Removed the areapercentheals, and minor things. +//= 1.3 Fixed donpcevent labels. [Patskie] //============================================================ // Waiting Room NPCs //============================================================ bat_room,169,226,5 script KVM Waiting Room#a::KvM01R_Guillaume 418,{ end; - OnInit: - waitingroom "Battle Station 5 Players",6,"KvM01_BG::OnGuillaumeJoin",1; + waitingroom "Battle Station 5 Players",6,"KvM01_BG_Out::OnGuillaumeJoin",1; end; - OnEnterBG: set $@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 414,{ end; OnInit: - waitingroom "Battle Station 5 Players",6,"KvM01_BG::OnCroixJoin",1; + waitingroom "Battle Station 5 Players",6,"KvM01_BG_Out::OnCroixJoin",1; end; OnEnterBG: @@ -47,18 +44,17 @@ OnEnterBG: end; } +bat_room,169,220,0 warp #kvm801 2,2,bat_room,154,150 bat_room,169,211,0 warp #kvm802 2,2,bat_room,154,150 // Starting Line //============================================================ - script KVM01::CellEffect -1,{ end; - -OnKvM01One: +OnKvM01One: specialeffect EF_CHANGECOLD; end; - -OnKvM01Two: +OnKvM01Two: specialeffect EF_CHANGEPOISON; end; } @@ -81,19 +77,15 @@ bat_c01,142,58,3 duplicate(CellEffect) #RedcellB7-1 139 bat_c01,54,128,3 script #A_camp_start01 139,4,4,{ end; - OnInit: disablenpc "#A_camp_start01"; end; - OnEnable: enablenpc "#A_camp_start01"; end; - OnDisable: disablenpc "#A_camp_start01"; end; - OnTouch: set Bat_Team,1; setquest 6025; @@ -102,19 +94,15 @@ OnTouch: bat_c01,146,56,3 script #B_camp_start01 139,4,4,{ end; - OnInit: disablenpc "#B_camp_start01"; end; - OnEnable: enablenpc "#B_camp_start01"; end; - OnDisable: disablenpc "#B_camp_start01"; end; - OnTouch: set Bat_Team,2; setquest 6025; @@ -135,11 +123,6 @@ OnInit: disablenpc "KVM Officer#KVM01B"; end; -OnGuillaumeJoin: -OnCroixJoin: - donpcevent "KvM01_BG::OnReadyCheck"; - end; - OnGuillaumeQuit: //set BG_Delay_Tick, gettimetick(2) + 1200; OnGuillaumeDie: @@ -170,21 +153,6 @@ OnCroixDie: } end; -OnReadyCheck: - if( $@KvM01BG ) - end; - set .@Guillaume, getwaitingroomstate(0,"KvM01R_Guillaume"); - set .@Croix, getwaitingroomstate(0,"KvM01R_Croix"); - - if( .@Guillaume < 5 || .@Croix < 5 ) - end; - - set $@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"; @@ -221,22 +189,22 @@ OnTimer30000: OnTimer45000: mapannounce "bat_c01", "15 seconds remaining to start KVM battle.",bc_map,"0x00ff00"; - donpcevent "::OnKvM01One"; + donpcevent "CellEffect::OnKvM01One"; end; OnTimer50000: mapannounce "bat_c01", "10 seconds remaining to start KVM battle.",bc_map,"0x00ff00"; - donpcevent "::OnKvM01Two"; + donpcevent "CellEffect::OnKvM01Two"; end; OnTimer55000: mapannounce "bat_c01", "5 seconds remaining to start KVM battle.",bc_map,"0x00ff00"; - donpcevent "::OnKvM01One"; + donpcevent "CellEffect::OnKvM01One"; end; OnTimer59000: mapannounce "bat_c01", "KVM is now commencing.",bc_map,"0x00ff00"; - donpcevent "::OnKvM01Two"; + donpcevent "CellEffect::OnKvM01Two"; end; OnTimer61000: @@ -321,21 +289,6 @@ OnStop: bg_warp $@KvM01BG_id2,"bat_c01",146,55; donpcevent "KvM01_BG_Out::OnBegin"; end; - -OnReset: - set .Croix_Count, 0; - set .Guillaume_Count, 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 "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; - set $@KvM01BG, 0; - donpcevent "KvM01_BG::OnReadyCheck"; // Maybe a game is ready to start - end; } - script KvM01_BG_Out -1,{ @@ -359,72 +312,64 @@ OnTimer5000: mapannounce "bat_c01", "Please be careful.",bc_map,"0x00ff00"; end; -OnTimer:55000: +OnTimer55000: mapannounce "bat_c01", "You will be sent back.",bc_map,"0x00ff00"; end; OnTimer60000: stopnpctimer; - donpcevent "KvM01_BG::OnReset"; + set getvariableofnpc(.Croix_Count,"KvM01_BG"), 0; + set getvariableofnpc(.Guillaume_Count,"KvM01_BG"), 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 "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; + set $@KvM01BG, 0; + +OnGuillaumeJoin: +OnCroixJoin: + if( $@KvM01BG ) + end; + set .@Guillaume, getwaitingroomstate(0,"KvM01R_Guillaume"); + set .@Croix, getwaitingroomstate(0,"KvM01R_Croix"); + + if( .@Guillaume < 5 || .@Croix < 5 ) + end; + + set $@KvM01BG, 1; // Starting + donpcevent "KvM01R_Croix::OnEnterBG"; + donpcevent "KvM01R_Guillaume::OnEnterBG"; + donpcevent "KvM01_BG::OnStart"; end; } // Battleground rewards //============================================================ bat_c01,51,130,5 script KVM Officer#KVM01A 419,{ - if( $@KvM01BG_Victory ) - { - if( $@KvM01BG_Victory == Bat_Team ) - { // Victory - set kvm_point,kvm_point + 5; - mes "[KVM Officer]"; + if( $@KvM01BG_Victory ) { + mes "[KVM Officer]"; + if( $@KvM01BG_Victory == Bat_Team ) { mes "Good Game."; mes "May the glory of KVM be with you."; mes "You aquire the winning points: 5"; close2; - } - else - { // - set kvm_point,kvm_point + 1; - 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; - set Bat_Team,0; - warp "bat_room",154,150; - end; - } - end; -} - -bat_c01,148,53,1 script KVM Officer#KVM01B 415,{ - if( $@KvM01BG_Victory ) - { - if( $@KvM01BG_Victory == Bat_Team ) - { // Victory set kvm_point,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 - { // - set kvm_point,kvm_point + 1; - mes "[KVM Officer]"; + else { mes "I am so sorry."; mes "I wish you better luck next time."; mes "You aquire the losing points: 1"; close2; + set kvm_point,kvm_point + 1; } bg_leave; set Bat_Team,0; warp "bat_room",154,150; - end; } end; } +bat_c01,148,53,1 duplicate(KVM Officer#KVM01A) KVM Officer#KVM01B 415 diff --git a/battleground/kvm/kvm02.txt b/battleground/kvm/kvm02.txt index 5504f51..71f3d01 100644 --- a/battleground/kvm/kvm02.txt +++ b/battleground/kvm/kvm02.txt @@ -1,17 +1,17 @@ -//===== rAthena Script ======================================= +//===== rAthena Script ======================================= //= BattleGround System - KvM 1-59 -//===== By: ================================================== -//= ???, L0ne_W0lf -//===== Current Version: ===================================== -//= 1.3 -//===== Compatible With: ===================================== -//= rAthena 1.0 -//===== Description: ========================================= +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.4 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= //= [Official Conversion] //= Kreiger Von Midgard Battleground for levels 1 to 59 //= - Winning Team: 1 point -//= - Losing Team: 0 points -//===== Additional Comments: ================================= +//= - Losing Team: 0 point +//===== Additional Comments: ================================= //= 1.0 First Version. //= 1.1 Updated using official Aegis files. [L0ne_W0lf] //= 1.2 Upated some announces and dialogs from iRO. @@ -19,48 +19,42 @@ //= Removed the areapercentheals, and minor things. //= 1.3 Fixed wrong names for disablenpc/enablenpc. [Ai4rei] //= Fixed points in text and actual points differing. +//= 1.4 Fixed donpcevent labels. [Patskie] //============================================================ // Waiting Room NPCs //============================================================ bat_room,197,226,5 script KVM Waiting Room#a2::KvM02R_Guillaume 418,{ end; - OnInit: - waitingroom "Battle Station 5 Players",6,"KvM02_BG::OnGuillaumeJoin",1; + waitingroom "Battle Station 5 Players",6,"KvM02_BG_Out::OnGuillaumeJoin",1; end; - OnEnterBG: set $@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 414,{ end; - OnInit: - waitingroom "Battle Station 5 Players",6,"KvM02_BG::OnCroixJoin",1; + waitingroom "Battle Station 5 Players",6,"KvM02_BG_Out::OnCroixJoin",1; end; - OnEnterBG: set $@KvM02BG_id2, waitingroom2bg("bat_c02",147,55,"KvM02_BG::OnCroixQuit","KvM02_BG::OnCroixDie"); end; } +bat_room,197,220,0 warp #kvm601 2,2,bat_room,154,150 bat_room,197,211,0 warp #kvm602 2,2,bat_room,154,150 // Starting Line //============================================================ - script KVM02::CellEffect2 -1,{ end; - -OnKvM02One: +OnKvM02One: specialeffect EF_CHANGECOLD; end; - -OnKvM02Two: +OnKvM02Two: specialeffect EF_CHANGEPOISON; end; } @@ -83,19 +77,15 @@ bat_c02,142,58,3 duplicate(CellEffect2) #RedcellB7-2 139 bat_c02,54,128,3 script #A_camp_start02 139,4,4,{ end; - OnInit: disablenpc "#A_camp_start02"; end; - OnEnable: enablenpc "#A_camp_start02"; end; - OnDisable: disablenpc "#A_camp_start03"; end; - OnTouch: set Bat_Team,1; setquest 6025; @@ -104,19 +94,15 @@ OnTouch: bat_c02,146,56,3 script #B_camp_start02 139,4,4,{ end; - OnInit: disablenpc "#B_camp_start02"; end; - OnEnable: enablenpc "#B_camp_start02"; end; - OnDisable: disablenpc "#B_camp_start02"; end; - OnTouch: set Bat_Team,2; setquest 6025; @@ -137,11 +123,6 @@ OnInit: disablenpc "KVM Officer#KVM02B"; end; -OnGuillaumeJoin: -OnCroixJoin: - donpcevent "KvM02_BG::OnReadyCheck"; - end; - OnGuillaumeQuit: //set BG_Delay_Tick, gettimetick(2) + 1200; OnGuillaumeDie: @@ -172,21 +153,6 @@ OnCroixDie: } end; -OnReadyCheck: - if( $@KvM02BG ) - end; - set .@Guillaume, getwaitingroomstate(0,"KvM02R_Guillaume"); - set .@Croix, getwaitingroomstate(0,"KvM02R_Croix"); - - if( .@Guillaume < 5 || .@Croix < 5 ) - end; - - set $@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"; @@ -223,22 +189,22 @@ OnTimer30000: OnTimer45000: mapannounce "bat_c02", "15 seconds remaining to start KVM battle.",bc_map,"0x00ff00"; - donpcevent "::OnKvM01One"; + donpcevent "CellEffect2::OnKvM02One"; end; OnTimer50000: mapannounce "bat_c02", "10 seconds remaining to start KVM battle.",bc_map,"0x00ff00"; - donpcevent "::OnKvM01Two"; + donpcevent "CellEffect2::OnKvM02Two"; end; OnTimer55000: mapannounce "bat_c02", "5 seconds remaining to start KVM battle.",bc_map,"0x00ff00"; - donpcevent "::OnKvM01One"; + donpcevent "CellEffect2::OnKvM02One"; end; OnTimer59000: mapannounce "bat_c02", "KVM is now commencing.",bc_map,"0x00ff00"; - donpcevent "::OnKvM01Two"; + donpcevent "CellEffect2::OnKvM02Two"; end; OnTimer61000: @@ -323,21 +289,6 @@ OnStop: bg_warp $@KvM02BG_id2,"bat_c02",146,55; donpcevent "KvM02_BG_Out::OnBegin"; end; - -OnReset: - set .Croix_Count, 0; - set .Guillaume_Count, 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 "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; - set $@KvM02BG, 0; - donpcevent "KvM02_BG::OnReadyCheck"; // Maybe a game is ready to start - end; } - script KvM02_BG_Out -1,{ @@ -361,61 +312,54 @@ OnTimer5000: mapannounce "bat_c02", "Please be careful.",bc_map,"0x00ff00"; end; -OnTimer:55000: +OnTimer55000: mapannounce "bat_c02", "You will be sent back.",bc_map,"0x00ff00"; end; OnTimer60000: stopnpctimer; - donpcevent "KvM02_BG::OnReset"; + set getvariableofnpc(.Croix_Count,"KvM02_BG"), 0; + set getvariableofnpc(.Guillaume_Count,"KvM02_BG"), 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 "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; + set $@KvM02BG, 0; + +OnGuillaumeJoin: +OnCroixJoin: + if( $@KvM02BG ) + end; + set .@Guillaume, getwaitingroomstate(0,"KvM02R_Guillaume"); + set .@Croix, getwaitingroomstate(0,"KvM02R_Croix"); + + if( .@Guillaume < 5 || .@Croix < 5 ) + end; + + set $@KvM02BG, 1; // Starting + donpcevent "KvM02R_Croix::OnEnterBG"; + donpcevent "KvM02R_Guillaume::OnEnterBG"; + donpcevent "KvM02_BG::OnStart"; end; } // Battleground rewards //============================================================ bat_c02,51,130,5 script KVM Officer#KVM02A 419,{ - if( $@KvM01BG_Victory ) - { - if( $@KvM02BG_Victory == Bat_Team ) - { // Victory - set kvm_point,kvm_point + 1; - mes "[KVM Officer]"; + if( $@KvM02BG_Victory ) { + mes "[KVM Officer]"; + if( $@KvM02BG_Victory == Bat_Team ) { 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; - set Bat_Team,0; - warp "bat_room",154,150; - end; - } - end; -} - -bat_c02,148,53,1 script KVM Officer#KVM02B 415,{ - if( $@KvM01BG_Victory ) - { - if( $@KvM02BG_Victory == Bat_Team ) - { // Victory set kvm_point,kvm_point + 1; - 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]"; + else { mes "I am so sorry."; mes "I wish you better luck next time."; mes "You aquire the losing points: 0"; @@ -426,5 +370,5 @@ bat_c02,148,53,1 script KVM Officer#KVM02B 415,{ warp "bat_room",154,150; end; } - end; } +bat_c02,148,53,1 duplicate(KVM Officer#KVM02A) KVM Officer#KVM02B 415 diff --git a/battleground/kvm/kvm03.txt b/battleground/kvm/kvm03.txt index 2c63f89..a8df73c 100644 --- a/battleground/kvm/kvm03.txt +++ b/battleground/kvm/kvm03.txt @@ -1,53 +1,49 @@ -//===== rAthena Script ======================================= +//===== rAthena Script ======================================= //= BattleGround System - KvM 60-80 -//===== By: ================================================== -//= ???, L0ne_W0lf -//===== Current Version: ===================================== -//= 1.3 -//===== Compatible With: ===================================== -//= rAthena 1.0 -//===== Description: ========================================= +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.4 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= //= [Official Conversion] //= Kreiger Von Midgard Battleground for levels 60 to 80 //= - Winning Team: 2 points //= - Losing Team: 1 point -//===== Additional Comments: ================================= +//===== Additional Comments: ================================= //= 1.0 First Version. //= 1.1 Updated using official Aegis files. [L0ne_W0lf] //= 1.2 Upated some announces and dialogs from iRO. //= Changed how the scoreboard works slightly. //= Removed the areapercentheals, and minor things. //= 1.3 Fixed wrong names for disablenpc/enablenpc. [Ai4rei] +//= 1.4 Fixed donpcevent labels. [Patskie] //============================================================ // Waiting Room NPCs //============================================================ bat_room,225,226,5 script KVM Waiting Room#a3::KvM03R_Guillaume 418,{ end; - OnInit: - waitingroom "Battle Station 5 Players",6,"KvM03_BG::OnGuillaumeJoin",1; + waitingroom "Battle Station 5 Players",6,"KvM03_BG_Out::OnGuillaumeJoin",1; end; - OnEnterBG: set $@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 414,{ end; - OnInit: - waitingroom "Battle Station 5 Players",6,"KvM03_BG::OnCroixJoin",1; + waitingroom "Battle Station 5 Players",6,"KvM03_BG_Out::OnCroixJoin",1; end; - OnEnterBG: set $@KvM03BG_id2, waitingroom2bg("bat_c03",147,55,"KvM03_BG::OnCroixQuit","KvM03_BG::OnCroixDie"); end; } +bat_room,225,220,0 warp #kvm701 2,2,bat_room,154,150 bat_room,225,211,0 warp #kvm702 2,2,bat_room,154,150 // Starting Line @@ -55,11 +51,11 @@ bat_room,225,211,0 warp #kvm702 2,2,bat_room,154,150 - script KVM03::CellEffect3 -1,{ end; -OnKvM03One: +OnKvM03One: specialeffect EF_CHANGECOLD; end; -OnKvM03Two: +OnKvM03Two: specialeffect EF_CHANGEPOISON; end; } @@ -82,19 +78,15 @@ bat_c03,142,58,3 duplicate(CellEffect3) #RedcellB7-3 139 bat_c03,54,128,3 script #A_camp_start03 139,4,4,{ end; - OnInit: disablenpc "#A_camp_start03"; end; - OnEnable: enablenpc "#A_camp_start03"; end; - OnDisable: disablenpc "#A_camp_start03"; end; - OnTouch: set Bat_Team,1; setquest 6025; @@ -103,19 +95,15 @@ OnTouch: bat_c03,146,56,3 script #B_camp_start03 139,4,4,{ end; - OnInit: disablenpc "#B_camp_start03"; end; - OnEnable: enablenpc "#B_camp_start03"; end; - OnDisable: disablenpc "#B_camp_start03"; end; - OnTouch: set Bat_Team,2; setquest 6025; @@ -136,19 +124,14 @@ OnInit: disablenpc "KVM Officer#KVM03B"; end; -OnGuillaumeJoin: -OnCroixJoin: - donpcevent "KvM03_BG::OnReadyCheck"; - end; - OnGuillaumeQuit: //set BG_Delay_Tick, gettimetick(2) + 1200; OnGuillaumeDie: - if( $@KvM03BG == 2 ) - { + if( $@KvM03BG == 2 ) { set .Guillaume_Count, .Guillaume_Count - 1; bg_updatescore "bat_c03",.Guillaume_Count,.Croix_Count; - if( .Guillaume_Count < 1 ) donpcevent "KvM03_BG::OnCroixWin"; + if( .Guillaume_Count < 1 ) + donpcevent "KvM03_BG::OnCroixWin"; else { mapannounce "bat_c03", "The number of Guillaumes is "+.Guillaume_Count+".",bc_map,"0x00ff00"; mapannounce "bat_c03", "The number of Croixes is "+.Croix_Count+".",bc_map,"0x00ff00"; @@ -159,11 +142,11 @@ OnGuillaumeDie: OnCroixQuit: //set BG_Delay_Tick, gettimetick(2) + 1200; OnCroixDie: - if( $@KvM03BG == 2 ) - { + if( $@KvM03BG == 2 ) { set .Croix_Count, .Croix_Count - 1; bg_updatescore "bat_c03",.Guillaume_Count,.Croix_Count; - if( .Croix_Count < 1 ) donpcevent "KvM03_BG::OnGuillaumeWin"; + if( .Croix_Count < 1 ) + donpcevent "KvM03_BG::OnGuillaumeWin"; else { mapannounce "bat_c03", "The number of Guillaumes is "+.Guillaume_Count+".",bc_map,"0x00ff00"; mapannounce "bat_c03", "The number of Croixes is "+.Croix_Count+".",bc_map,"0x00ff00"; @@ -171,25 +154,10 @@ OnCroixDie: } end; -OnReadyCheck: - if( $@KvM03BG ) - end; - set .@Guillaume, getwaitingroomstate(0,"KvM03R_Guillaume"); - set .@Croix, getwaitingroomstate(0,"KvM03R_Croix"); - - if( .@Guillaume < 5 || .@Croix < 5 ) - end; - - set $@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"; - set $@KvM01BG_Victory, 0; + set $@KvM03BG_Victory, 0; // Warp Teams bg_warp $@KvM03BG_id1,"bat_c03",53,128; bg_warp $@KvM03BG_id2,"bat_c03",146,55; @@ -222,22 +190,22 @@ OnTimer30000: OnTimer45000: mapannounce "bat_c03", "15 seconds remaining to start KVM battle.",bc_map,"0x00ff00"; - donpcevent "::OnKvM01One"; + donpcevent "CellEffect3::OnKvM03One"; end; OnTimer50000: mapannounce "bat_c03", "10 seconds remaining to start KVM battle.",bc_map,"0x00ff00"; - donpcevent "::OnKvM01Two"; + donpcevent "CellEffect3::OnKvM03Two"; end; OnTimer55000: mapannounce "bat_c03", "5 seconds remaining to start KVM battle.",bc_map,"0x00ff00"; - donpcevent "::OnKvM01One"; + donpcevent "CellEffect3::OnKvM03One"; end; OnTimer59000: mapannounce "bat_c03", "KVM is now commencing.",bc_map,"0x00ff00"; - donpcevent "::OnKvM01Two"; + donpcevent "CellEffect3::OnKvM03Two"; end; OnTimer61000: @@ -322,21 +290,6 @@ OnStop: bg_warp $@KvM03BG_id2,"bat_c03",146,55; donpcevent "KvM03_BG_Out::OnBegin"; end; - -OnReset: - set .Croix_Count, 0; - set .Guillaume_Count, 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 "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; - set $@KvM03BG, 0; - donpcevent "KvM03_BG::OnReadyCheck"; // Maybe a game is ready to start - end; } - script KvM03_BG_Out -1,{ @@ -360,72 +313,64 @@ OnTimer5000: mapannounce "bat_c03", "Please be careful.",bc_map,"0x00ff00"; end; -OnTimer:55000: +OnTimer55000: mapannounce "bat_c03", "You will be sent back.",bc_map,"0x00ff00"; end; OnTimer60000: stopnpctimer; - donpcevent "KvM03_BG::OnReset"; + set getvariableofnpc(.Croix_Count,"KvM03_BG"), 0; + set getvariableofnpc(.Guillaume_Count,"KvM03_BG"), 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 "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; + set $@KvM03BG, 0; + +OnGuillaumeJoin: +OnCroixJoin: + if( $@KvM03BG ) + end; + set .@Guillaume, getwaitingroomstate(0,"KvM03R_Guillaume"); + set .@Croix, getwaitingroomstate(0,"KvM03R_Croix"); + + if( .@Guillaume < 5 || .@Croix < 5 ) + end; + + set $@KvM03BG, 1; // Starting + donpcevent "KvM03R_Croix::OnEnterBG"; + donpcevent "KvM03R_Guillaume::OnEnterBG"; + donpcevent "KvM03_BG::OnStart"; end; } // Battleground rewards //============================================================ bat_c03,51,130,5 script KVM Officer#KVM03A 419,{ - if( $@KvM01BG_Victory ) - { - if( $@KvM03BG_Victory == Bat_Team ) - { // Victory - set kvm_point,kvm_point + 2; - mes "[KVM Officer]"; + if( $@KvM03BG_Victory ) { + mes "[KVM Officer]"; + if( $@KvM03BG_Victory == Bat_Team ) { mes "Good Game."; mes "May the glory of KVM be with you."; mes "You aquire the winning points: 2"; close2; - } - else - { // - set kvm_point,kvm_point + 1; - 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; - set Bat_Team,0; - warp "bat_room",154,150; - end; - } - end; -} - -bat_c03,148,53,1 script KVM Officer#KVM03B 415,{ - if( $@KvM01BG_Victory ) - { - if( $@KvM03BG_Victory == Bat_Team ) - { // Victory set kvm_point,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 - { // - set kvm_point,kvm_point + 1; - mes "[KVM Officer]"; + else { mes "I am so sorry."; mes "I wish you better luck next time."; mes "You aquire the losing points: 1"; close2; + set kvm_point,kvm_point + 1; } bg_leave; set Bat_Team,0; warp "bat_room",154,150; - end; } end; } +bat_c03,148,53,1 duplicate(KVM Officer#KVM03A) KVM Officer#KVM03B 415 diff --git a/battleground/kvm/kvm_enter.txt b/battleground/kvm/kvm_enter.txt index 62d32df..dbe3434 100644 --- a/battleground/kvm/kvm_enter.txt +++ b/battleground/kvm/kvm_enter.txt @@ -49,7 +49,7 @@ bat_room,164,178,5 script KVM Mercenary Officer#1 418,{ if (BaseLevel > 79) warp "bat_room",169,223; else if (BaseLevel < 60) warp "bat_room",197,223; else warp "bat_room",225,223; - close; + end; case 2: mes "[Guillaume Mercenary Officer]"; mes "We will win!"; @@ -149,7 +149,7 @@ bat_room,164,121,1 script KVM Mercenary Officer#2 414,{ if (BaseLevel > 79) warp "bat_room",169,207; else if (BaseLevel < 60) warp "bat_room",197,207; else warp "bat_room",225,207; - close; + end; case 2: mes "[Croix Mercenary Officer]"; mes "We will win!"; diff --git a/battleground/tierra/tierra01.txt b/battleground/tierra/tierra01.txt index 609898c..ec7064b 100644 --- a/battleground/tierra/tierra01.txt +++ b/battleground/tierra/tierra01.txt @@ -3,14 +3,14 @@ //===== By: ================================================== //= L0ne_W0lf //===== Current Version: ===================================== -//= 1.5 +//= 1.6 //===== Compatible With: ===================================== //= rAthena 1.0 //===== Description: ========================================= //= [Official Conversion] //= Tierra Gorge Battleground. -//= - Winning Team: 3 badges -//= - Losing Team: 1 badge +//= - Winning Team: 3 badges (5 if VIP) +//= - Losing Team: 1 badge (3 if VIP) //===== Additional Comments: ================================= //= 1.0 First Version. //= 1.1 Corrected setwalls for barricades. [L0ne_W0lf] @@ -18,6 +18,7 @@ //= 1.3 Removed MaxLvl check in waitingrooms. //= 1.4 Label standardization. [Euphy] //= 1.5 Added GM management function. [Euphy] +//= 1.6 Added VIP features and created a reward function. [Euphy] //============================================================ // Waiting Room NPCs @@ -684,88 +685,16 @@ bat_a01,348,74,3 script Croix Camp#flag9 974,{ end; } bat_a01,53,377,3 script Guillaume Vintenar#a01_a 419,{ if (getcharid(4) == $@TierraBG1_id1) { - if ($@TierraBG1_Victory == 1) { - set .@your_medal,countitem(7828); - set .@medal_gap, 500 - .@your_medal; - if (.@medal_gap > 2) { - mes "[Axl Rose]"; - mes "Blessed Guillaume!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign reflecting victory."; - close2; - getitem 7828,3; //BF_Badge1 - } - else { - mes "[Axl Rose]"; - mes "Blessed Guillaume!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign reflecting victory."; - close2; - getitem 7828,.@medal_gap; //BF_Badge1 - } - } - else { - set .@your_medal,countitem(7828); - set .@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 7828,1; //BF_Badge1 - } - 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 7828,.@medal_gap; //BF_Badge1 - } - } + if ($@TierraBG1_Victory == 1) + callfunc "F_BG_Badge",1,"Guillaume","Tierra"; + else + callfunc "F_BG_Badge",0,"Guillaume","Tierra"; } else { - if ($@TierraBG1_Victory == 2) { - set .@your_medal,countitem(7828); - set .@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 7828,1; //BF_Badge1 - } - 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 7828,.@medal_gap; //BF_Badge1 - } - } - else { - set .@your_medal,countitem(7828); - set .@medal_gap, 500 - .@your_medal; - if (.@medal_gap > 2) { - mes "[Axl Rose]"; - mes "Blessed Guillaume!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign reflecting victory."; - close2; - getitem 7828,3; //BF_Badge1 - } - else { - mes "[Axl Rose]"; - mes "Blessed Guillaume!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign of victory."; - close2; - getitem 7828,.@medal_gap; //BF_Badge1 - } - } + if ($@TierraBG1_Victory == 2) + callfunc "F_BG_Badge",0,"Guillaume","Tierra"; + else + callfunc "F_BG_Badge",1,"Guillaume","Tierra"; } bg_leave; warp "bat_room",154,150; @@ -778,88 +707,16 @@ OnInit: bat_a01,45,19,3 script Croix Vintenar#a01_b 415,{ if (getcharid(4) == $@TierraBG1_id2) { - if ($@TierraBG1_Victory == 2) { - set .@your_medal,countitem(7828); - set .@medal_gap, 500 - .@your_medal; - if (.@medal_gap > 2) { - mes "[Swandery]"; - mes "Blessed Croix!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign reflecting victory."; - close2; - getitem 7828,3; //BF_Badge1 - } - else { - mes "[Swandery]"; - mes "Blessed Croix!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign reflecting victory."; - close2; - getitem 7828,.@medal_gap; //BF_Badge1 - } - } - else { - set .@your_medal,countitem(7828); - set .@medal_gap, 500 - .@your_medal; - if (.@medal_gap > 0) { - mes "[Swandery]"; - mes "Oh, "+strcharinfo(0)+" 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 7828,1; //BF_Badge1 - } - else { - mes "[Swandery]"; - mes "Oh, "+strcharinfo(0)+" 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 7828,.@medal_gap; //BF_Badge1 - } - } + if ($@TierraBG1_Victory == 2) + callfunc "F_BG_Badge",1,"Croix","Tierra"; + else + callfunc "F_BG_Badge",0,"Croix","Tierra"; } else { - if ($@TierraBG1_Victory == 1) { - set .@your_medal,countitem(7828); - set .@medal_gap, 500 - .@your_medal; - if (.@medal_gap > 0) { - mes "[Swandery]"; - mes "Oh, "+strcharinfo(0)+" 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 7828,1; //BF_Badge1 - } - else { - mes "[Swandery]"; - mes "Oh, "+strcharinfo(0)+" 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 7828,.@medal_gap; //BF_Badge1 - } - } - else { - set .@your_medal,countitem(7828); - set .@medal_gap, 500 - .@your_medal; - if (.@medal_gap > 2) { - mes "[Swandery]"; - mes "Blessed Croix!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign reflecting victory."; - close2; - getitem 7828,3; //BF_Badge1 - } - else { - mes "[Swandery]"; - mes "Blessed Croix!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign reflecting victory."; - close2; - getitem 7828,.@medal_gap; //BF_Badge1 - } - } + if ($@TierraBG1_Victory == 1) + callfunc "F_BG_Badge",0,"Croix","Tierra"; + else + callfunc "F_BG_Badge",1,"Croix","Tierra"; } bg_leave; warp "bat_room",154,150; diff --git a/battleground/tierra/tierra02.txt b/battleground/tierra/tierra02.txt index b1b7b32..b4285bd 100644 --- a/battleground/tierra/tierra02.txt +++ b/battleground/tierra/tierra02.txt @@ -3,20 +3,21 @@ //===== By: ================================================== //= L0ne_W0lf //===== Current Version: ===================================== -//= 1.4 +//= 1.5 //===== Compatible With: ===================================== //= rAthena 1.0 //===== Description: ========================================= //= [Official Conversion] //= Second Tierra Gorge Battleground. -//= - Winning Team: 3 badges -//= - Losing Team: 1 badge +//= - Winning Team: 3 badges (5 if VIP) +//= - Losing Team: 1 badge (3 if VIP) //===== Additional Comments: ================================= //= 1.0 First Version. //= 1.1 Updated 'waitingroom' to support required zeny/lvl. [Kisuka] //= 1.2 Removed MaxLvl check in waitingrooms. //= 1.3 Label standardization. [Euphy] //= 1.4 Added GM management function. [Euphy] +//= 1.5 Added VIP features and created a reward function. [Euphy] //============================================================ // Waiting Room NPCs @@ -683,88 +684,16 @@ bat_a02,348,74,3 script Croix Camp#flag19 974,{ end; } bat_a02,53,377,3 script Guillaume Vintenar#a02_a 419,{ if (getcharid(4) == $@TierraBG2_id1) { - if ($@TierraBG2_Victory == 1) { - set .@your_medal,countitem(7828); - set .@medal_gap, 500 - .@your_medal; - if (.@medal_gap > 2) { - mes "[Axl Rose]"; - mes "Blessed Guillaume!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign reflecting victory."; - close2; - getitem 7828,3; //BF_Badge1 - } - else { - mes "[Axl Rose]"; - mes "Blessed Guillaume!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign reflecting victory."; - close2; - getitem 7828,.@medal_gap; //BF_Badge1 - } - } - else { - set .@your_medal,countitem(7828); - set .@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 7828,1; //BF_Badge1 - } - 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 7828,.@medal_gap; //BF_Badge1 - } - } + if ($@TierraBG2_Victory == 1) + callfunc "F_BG_Badge",1,"Guillaume","Tierra"; + else + callfunc "F_BG_Badge",0,"Guillaume","Tierra"; } else { - if ($@TierraBG2_Victory == 2) { - set .@your_medal,countitem(7828); - set .@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 7828,1; //BF_Badge1 - } - 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 7828,.@medal_gap; //BF_Badge1 - } - } - else { - set .@your_medal,countitem(7828); - set .@medal_gap, 500 - .@your_medal; - if (.@medal_gap > 2) { - mes "[Axl Rose]"; - mes "Blessed Guillaume!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign reflecting victory."; - close2; - getitem 7828,3; //BF_Badge1 - } - else { - mes "[Axl Rose]"; - mes "Blessed Guillaume!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign of victory."; - close2; - getitem 7828,.@medal_gap; //BF_Badge1 - } - } + if ($@TierraBG2_Victory == 2) + callfunc "F_BG_Badge",0,"Guillaume","Tierra"; + else + callfunc "F_BG_Badge",1,"Guillaume","Tierra"; } bg_leave; warp "bat_room",154,150; @@ -777,88 +706,16 @@ OnInit: bat_a02,45,19,3 script Croix Vintenar#a02_b 415,{ if (getcharid(4) == $@TierraBG2_id2) { - if ($@TierraBG2_Victory == 2) { - set .@your_medal,countitem(7828); - set .@medal_gap, 500 - .@your_medal; - if (.@medal_gap > 2) { - mes "[Swandery]"; - mes "Blessed Croix!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign reflecting victory."; - close2; - getitem 7828,3; //BF_Badge1 - } - else { - mes "[Swandery]"; - mes "Blessed Croix!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign reflecting victory."; - close2; - getitem 7828,.@medal_gap; //BF_Badge1 - } - } - else { - set .@your_medal,countitem(7828); - set .@medal_gap, 500 - .@your_medal; - if (.@medal_gap > 0) { - mes "[Swandery]"; - mes "Oh, "+strcharinfo(0)+" 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 7828,1; //BF_Badge1 - } - else { - mes "[Swandery]"; - mes "Oh, "+strcharinfo(0)+" 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 7828,.@medal_gap; //BF_Badge1 - } - } + if ($@TierraBG2_Victory == 2) + callfunc "F_BG_Badge",1,"Croix","Tierra"; + else + callfunc "F_BG_Badge",0,"Croix","Tierra"; } else { - if ($@TierraBG2_Victory == 1) { - set .@your_medal,countitem(7828); - set .@medal_gap, 500 - .@your_medal; - if (.@medal_gap > 0) { - mes "[Swandery]"; - mes "Oh, "+strcharinfo(0)+" 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 7828,1; //BF_Badge1 - } - else { - mes "[Swandery]"; - mes "Oh, "+strcharinfo(0)+" 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 7828,.@medal_gap; //BF_Badge1 - } - } - else { - set .@your_medal,countitem(7828); - set .@medal_gap, 500 - .@your_medal; - if (.@medal_gap > 2) { - mes "[Swandery]"; - mes "Blessed Croix!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign reflecting victory."; - close2; - getitem 7828,3; //BF_Badge1 - } - else { - mes "[Swandery]"; - mes "Blessed Croix!"; - mes "Let's enjoy our glorious victory!"; - mes ""+strcharinfo(0)+", it's a sign reflecting victory."; - close2; - getitem 7828,.@medal_gap; //BF_Badge1 - } - } + if ($@TierraBG2_Victory == 1) + callfunc "F_BG_Badge",0,"Croix","Tierra"; + else + callfunc "F_BG_Badge",1,"Croix","Tierra"; } bg_leave; warp "bat_room",154,150; diff --git a/cities/comodo.txt b/cities/comodo.txt index 1cc1298..f650980 100644 --- a/cities/comodo.txt +++ b/cities/comodo.txt @@ -132,7 +132,7 @@ cmd_in02,172,105,4 script G . J#cmd 86,{ 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^FFFFFF ^000000 money to make more of it, right?"; + 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"; @@ -217,7 +217,7 @@ cmd_in02,57,62,4 script Moo#cmd 109,{ 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^FFFFFF ^000000 your visit here is unforgettable."; + mes "needs, doing all we can so that your visit here is unforgettable."; next; mes "[Moo]"; mes "All of our guests can enjoy"; @@ -251,7 +251,7 @@ cmd_fild04,188,74,4 script Zyosegirl#cmd 93,{ 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^FFFFFF ^000000 know, and I've got dreams"; + mes "to the city. I'm still young, you know, and I've got dreams"; mes "that I want to fulfill~"; close; } @@ -408,7 +408,7 @@ moc_fild12,35,303,4 script Serutero#cmd 59,{ 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^FFFFFF ^000000 you must beware of its dangers..."; + 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: diff --git a/cities/geffen.txt b/cities/geffen.txt index bfc053f..561611b 100644 --- a/cities/geffen.txt +++ b/cities/geffen.txt @@ -125,7 +125,7 @@ geffen,147,26,0 script Ralphie 97,{ } geffen,111,48,0 script Stacey 101,{ - if (getequipid(1) == 2299) { + if (getequipid(EQI_HEAD_TOP) == 2299) { mes "[Stacey]"; mes "Oh...!"; mes "Is that an Orc Helm you're wearing?! That's so cool! Wow..."; @@ -141,7 +141,7 @@ geffen,111,48,0 script Stacey 101,{ } close; } - else if (getequipid(1) == 5094) { + else if (getequipid(EQI_HEAD_TOP) == 5094) { mes "[Stacey]"; mes "Oh..."; mes "Wow..."; diff --git a/cities/lighthalzen.txt b/cities/lighthalzen.txt index 219e378..9254644 100644 --- a/cities/lighthalzen.txt +++ b/cities/lighthalzen.txt @@ -333,7 +333,7 @@ lighthalzen,230,182,4 script Klaubis#zen3 866,{ 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^FFFFFF ^000000 hometown if you couldn't, right?"; + mes "come back. It wouldn't be your hometown if you couldn't, right?"; close; case 2: mes "[Klaubis]"; @@ -461,7 +461,7 @@ lighthalzen,132,103,5 script Sefith#li_01 734,{ mes "Good looks. Intelligence."; mes "Excellent manners. A strong,"; mes "manly chin and overpowering,"; - mes "piercing eyes. Perfectly balanced^FFFFFF ^000000 passion and charimsma. All the"; + mes "piercing eyes. Perfectly balanced passion and charimsma. All the"; mes "good things that ladies want."; next; mes "[Sefith]"; @@ -1084,8 +1084,8 @@ OnTouch: mes "[Beggar]"; mes "What you can see and"; mes "understand might not match"; - mes "with reality. Like the stars that^FFFFFF ^000000 are always there, but not visible"; - mes "during the day, we'll always have^FFFFFF ^000000 hope, even if we can't see it."; + 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(0) + "]"; emotion e_dots,1; @@ -1113,7 +1113,7 @@ OnTouch: 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^FFFFFF ^000000 one end and tragedy on the other."; + mes "own spectrum with miracle on one end and tragedy on the other."; next; mes "[Beggar]"; mes "So each day has the capacity"; @@ -1133,7 +1133,7 @@ OnTouch: next; mes "[Beggar]"; mes "Stand up when you're down"; - mes "and live your life with passion.^FFFFFF ^000000 The capacity for miracles will"; + 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?"; @@ -1174,14 +1174,14 @@ OnTouch: 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^FFFFFF ^000000 forgot your birthday? No biggie."; + 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.^FFFFFF ^000000 Be honest without hurting anyone."; + mes "still upset, vent appropriately. Be honest without hurting anyone."; next; mes "[Beggar]"; mes "The second kind of anger"; @@ -1204,7 +1204,7 @@ OnTouch: 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^FFFFFF ^000000 a bully. Know the difference."; + mes "born of frustration will make you a bully. Know the difference."; next; mes "[" + strcharinfo(0) + "]"; emotion e_dots,1; @@ -1383,7 +1383,7 @@ lhz_in01,139,40,7 script Enoz#oz 53,{ mes "[Enoz]"; mes "So, the novel I ordered from"; mes "the Rune-Midgarts Kingdom"; - mes "just recently arrived. It's real^FFFFFF ^000000 good, by the guy who wrote"; + mes "just recently arrived. It's real good, by the guy who wrote"; mes "''Roda Frog Adventure''"; mes "years ago. Remember?"; next; @@ -2592,7 +2592,7 @@ lighthalzen,107,107,3 script Kosit#zen1 869,{ 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^FFFFFF ^000000 and all. But these rules..."; + mes "I mean, it's relatively peaceful and all. But these rules..."; next; mes "[Kosit]"; mes "It's good to be safe,"; @@ -2669,7 +2669,7 @@ lighthalzen,364,282,3 script Bodger#zen5 870,{ 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^FFFFFF ^000000 an exaggeration. 'Cuz if it"; + mes "times a day! Hopefully it's just an exaggeration. 'Cuz if it"; mes "wasn't, I'd be so mad..."; close; } @@ -2986,7 +2986,7 @@ lhz_in01,139,48,7 script Leimi#mimir 73,{ mes "[Leimi]"; mes "Oh, you're an Assassin!"; mes "Oh, you boys are soooo cute!"; - mes "And so cool and so mysterious^FFFFFF ^000000 all at the same time! I love you!"; + mes "And so cool and so mysterious all at the same time! I love you!"; } else { next; diff --git a/cities/lutie.txt b/cities/lutie.txt index aafef4d..28c19be 100644 --- a/cities/lutie.txt +++ b/cities/lutie.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= rAthena Dev Team //===== Current Version: ===================================== -//= 1.7 +//= 1.8 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -17,11 +17,12 @@ //= 1.5 Fixed a bug that could reset Lutie quest state [Lupus] //= 1.6 Heavy optimization to all the NPCs [DZeroX] //= 1.7 Updated to match AEGIS script. [Kisuka] +//= 1.8 Moved Mr. Claus to pre-re/re paths. [exneval] //============================================================ // Teleport to Lutie //============================================================ -aldebaran,223,222,4 script Mr. Claus 718,{ +- script ::Mr_Claus_alde -1,{ mes "[Mr. Claus]"; mes "Ho Ho Ho~"; mes "Merry Christmas!!"; diff --git a/cities/prontera.txt b/cities/prontera.txt index 6f9ac6a..5e7ab5d 100644 --- a/cities/prontera.txt +++ b/cities/prontera.txt @@ -25,7 +25,7 @@ // Prontera //============================================================ -prontera,160,330,0 script Guard#pront::prtguard 105,{ +prontera,160,330,4 script Guard#pront::prtguard 105,{ mes "[Prontera Guard]"; mes "Welcome to Prontera."; close; diff --git a/cities/rachel.txt b/cities/rachel.txt index 5c03580..e620eef 100644 --- a/cities/rachel.txt +++ b/cities/rachel.txt @@ -310,7 +310,7 @@ rachel,206,30,3 script Freya's Priest#play 920,{ close2; set .@play,rand(1,10); if (.@play < 3) - consumeitem 601; //Wing_Of_Fly + warp "Random",0,0; else if (.@play < 5) consumeitem 12016; //Speed_Up_Potion else diff --git a/cities/veins.txt b/cities/veins.txt index a2d3918..fba4044 100644 --- a/cities/veins.txt +++ b/cities/veins.txt @@ -553,7 +553,7 @@ ve_in,119,386,3 script Prisoner#ve1 946,{ close; } -ve_in,111,379,8 script Ward#ve1 946,{ +ve_in,111,379,0 script Ward#ve1 946,{ mes "[Ward]"; mes "This place ensures that"; mes "dangerous criminals aren't"; diff --git a/custom/battleground/bg_emp.txt b/custom/battleground/bg_emp.txt new file mode 100644 index 0000000..f3212fd --- /dev/null +++ b/custom/battleground/bg_emp.txt @@ -0,0 +1,148 @@ +//===== rAthena Script ======================================= +//= Battleground: Emperium +//===== By: ================================================== +//= AnnieRuru +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= A simple battleground script: +//= Destroy the opponent's Emperium to win the match. +//===== Additional Comments: ================================= +//= 1.0 First version, edited. [Euphy] +//============================================================ + +- script bg_emp#control -1,{ +OnInit: + .minplayer2start = 1; // minimum players to start (ex. if 3vs3, set to 3) + .eventlasting = 20*60; // event duration before auto-reset (20 minutes * seconds) + setarray .rewarditem[0], // rewards for the winning team: ,,... + 501, 10; + + .team1name$ = "Red"; + .team2name$ = "Blue"; + end; +OnStart: + if ( getwaitingroomstate( 0, .rednpcname$ ) < .minplayer2start || getwaitingroomstate( 0, .bluenpcname$ ) < .minplayer2start ) + end; + + // create Battleground and teams + .red = waitingroom2bg( "bat_a01", 157,347, strnpcinfo(0)+"::OnRedQuit", strnpcinfo(0)+"::OnRedDead", .rednpcname$ ); + copyarray .team1aid, $@arenamembers, $@arenamembersnum; + .team1count = .minplayer2start; + .blue = waitingroom2bg( "bat_a01", 142,51, strnpcinfo(0)+"::OnBlueQuit", strnpcinfo(0)+"::OnBlueDead", .bluenpcname$ ); + copyarray .team2aid, $@arenamembers, $@arenamembersnum; + .team2count = .minplayer2start; + delwaitingroom .rednpcname$; + delwaitingroom .bluenpcname$; + disablenpc .rednpcname$; + disablenpc .bluenpcname$; + setwall "bat_a01", 164,347, 6, 4, 0, "bg_emp_town_red"; + setwall "bat_a01", 154,51, 6, 4, 0, "bg_emp_town_blue"; + bg_warp .red, "bat_a01", 171,346; + bg_warp .blue, "bat_a01", 162,50; + bg_updatescore "bat_a01", 0, 0; + + // delay before match begins + sleep 6000; + mapannounce "bat_a01", "The rules are simple. The first team to break the opponent's Emperium wins!", bc_map; + sleep 3000; + for ( .@i = 5; .@i > 0; .@i-- ) { + mapannounce "bat_a01", "["+ .@i +"]", bc_map; + sleep 1000; + } + mapannounce "bat_a01", "Start!", bc_map; + + // spawn Emperiums + bg_monster .red,"bat_a01",171,346, "--ja--",1915, strnpcinfo(3)+"::OnRedDown"; + bg_monster .blue,"bat_a01",162,50, "--ja--",1914, strnpcinfo(3)+"::OnBlueDown"; + delwall "bg_emp_town_red"; + delwall "bg_emp_town_blue"; + + // match duration + sleep .eventlasting * 1000; + + // end match, destroy Battleground, reset NPCs + killmonster "bat_a01", strnpcinfo(3)+"::OnRedDown"; + killmonster "bat_a01", strnpcinfo(3)+"::OnBlueDown"; + if ( .winside ) { + mapannounce "bat_a01", "- "+ getd( ".team"+ .winside +"name$" ) +" Team is victorious! -", bc_map; + for ( .@i = 0; .@i < getd(".team"+ .winside +"count"); .@i++ ) + getitem .rewarditem[0], .rewarditem[1], getd(".team"+ .winside +"aid["+ .@i +"]" ); + } else + mapannounce "bat_a01", "- The match has ended in a draw! -", bc_map; + sleep 5000; + bg_warp .red, "prontera", 155,182; + bg_warp .blue, "prontera", 158,182; + bg_destroy .red; + bg_destroy .blue; + delwall "bg_emp_town_red"; + delwall "bg_emp_town_blue"; + deletearray .team1aid; + deletearray .team2aid; + .winside = .team1count = .team2count = 0; + enablenpc .rednpcname$; + enablenpc .bluenpcname$; + donpcevent .rednpcname$ +"::OnStart"; + donpcevent .bluenpcname$ +"::OnStart"; + end; + +// Emperium destroyed +OnRedDown: callsub L_EmpDown, 1, 2; +OnBlueDown: callsub L_EmpDown, 2, 1; +L_EmpDown: + mapannounce "bat_a01", strcharinfo(0) +" has destroyed "+ getd( ".team"+ getarg(0) +"name$" ) +" Team's Emperium.", bc_map; + .winside = getarg(1); + awake strnpcinfo(0); + end; + +// "OnDeath" event +OnRedDead: +OnBlueDead: + sleep2 1250; + percentheal 100,100; + end; + +// "OnQuit" event +OnRedQuit: callsub L_Quit, 1, 2; +OnBlueQuit: callsub L_Quit, 2, 1; +L_Quit: + percentheal 100, 100; + while ( getd( ".team"+ getarg(0) +"aid["+ .@i +"]" ) != getcharid(3) && .@i < getd(".team"+ getarg(0) +"count") ) .@i++; + deletearray getd( ".team"+ getarg(0) +"aid["+ .@i +"]" ), 1; + setd ".team"+ getarg(0) +"count", getd(".team"+ getarg(0) +"count") -1; + if ( getd(".team"+ getarg(0) +"count") ) end; + mapannounce "bat_a01", "All "+ getd( ".team"+ getarg(0) +"name$" ) +" team members have quit!", bc_map, 0xff3333; + end; +} + +prontera,155,182,5 script Red Team#bg_emp 733,{ + end; +OnInit: + sleep 1; + set getvariableofnpc( .rednpcname$, "bg_emp#control" ), strnpcinfo(0); +OnStart: + waitingroom "Red Team", getvariableofnpc( .minplayer2start, "bg_emp#control" ) +1, "bg_emp#control::OnStart", getvariableofnpc( .minplayer2start, "bg_emp#control" ); + end; +} + +prontera,158,182,5 script Blue Team#bg_emp 734,{ + end; +OnInit: + sleep 1; + set getvariableofnpc( .bluenpcname$, "bg_emp#control" ), strnpcinfo(0); +OnStart: + waitingroom "Blue Team", getvariableofnpc( .minplayer2start, "bg_emp#control" ) +1, "bg_emp#control::OnStart", getvariableofnpc( .minplayer2start, "bg_emp#control" ); + end; +} + +bat_a01 mapflag battleground +bat_a01 mapflag nosave SavePoint +bat_a01 mapflag nowarp +bat_a01 mapflag nowarpto +bat_a01 mapflag noteleport +bat_a01 mapflag nomemo +bat_a01 mapflag nopenalty +bat_a01 mapflag nobranch +bat_a01 mapflag noicewall diff --git a/custom/battleground/bg_pvp.txt b/custom/battleground/bg_pvp.txt new file mode 100644 index 0000000..bd1af58 --- /dev/null +++ b/custom/battleground/bg_pvp.txt @@ -0,0 +1,127 @@ +//===== rAthena Script ======================================= +//= Battleground: PVP +//===== By: ================================================== +//= AnnieRuru +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= A simple battleground script: +//= Kill players from the other team. +//===== Additional Comments: ================================= +//= 1.0 First version, edited. [Euphy] +//============================================================ + +- script bg_pvp#control -1,{ +OnInit: + .minplayer2start = 2; // minimum players to start (ex. if 3vs3, set to 3) + .eventlasting = 20*60; // event duration before auto-reset (20 minutes * seconds) + setarray .rewarditem[0], // rewards for the winning team: ,,... + 501, 10; + end; +OnStart: + if ( getwaitingroomstate( 0, .rednpcname$ ) < .minplayer2start || getwaitingroomstate( 0, .bluenpcname$ ) < .minplayer2start ) + end; + + // create Battleground and teams + .red = waitingroom2bg( "guild_vs3", 13,50, strnpcinfo(0)+"::OnRedQuit", strnpcinfo(0)+"::OnRedDead", .rednpcname$ ); + copyarray .team1aid, $@arenamembers, $@arenamembersnum; + .team1count = .minplayer2start; + .blue = waitingroom2bg( "guild_vs3", 86,50, strnpcinfo(0)+"::OnBlueQuit", strnpcinfo(0)+"::OnBlueDead", .bluenpcname$ ); + copyarray .team2aid, $@arenamembers, $@arenamembersnum; + .team2count = .minplayer2start; + delwaitingroom .rednpcname$; + delwaitingroom .bluenpcname$; + bg_warp .red, "guild_vs3", 13,50; + bg_warp .blue, "guild_vs3", 86,50; + .score[1] = .score[2] = .minplayer2start; + bg_updatescore "guild_vs3", .score[1], .score[2]; + + // match duration + sleep .eventlasting * 1000; + + // end match, destroy Battleground, reset NPCs + if ( .score[1] > .score[2] ) { + mapannounce "guild_vs3", "- Red Team is victorious! -", bc_map; + callsub L_Reward, 1; + } + else if ( .score[1] < .score[2] ) { + mapannounce "guild_vs3", "- Blue Team is victorious! -", bc_map; + callsub L_Reward, 2; + } + else + mapannounce "guild_vs3", "- The match has ended in a draw! -", bc_map; + bg_warp .red, "prontera",152,178; + bg_warp .blue, "prontera",154,178; + bg_destroy .red; + bg_destroy .blue; + donpcevent .rednpcname$ +"::OnStart"; + donpcevent .bluenpcname$ +"::OnStart"; + end; + +L_Reward: + for ( .@i = 0; .@i < getd(".team"+ getarg(0) +"count"); .@i++ ) + getitem .rewarditem[0], .rewarditem[1], getd(".team"+ getarg(0) +"aid["+ .@i +"]" ); + return; + +// "OnDeath" event +OnRedDead: callsub L_Dead, 1; +OnBlueDead: callsub L_Dead, 2; +L_Dead: + .score[ getarg(0) ]--; + bg_updatescore "guild_vs3", .score[1], .score[2]; + while ( getd( ".team"+ getarg(0) +"aid["+ .@i +"]" ) != getcharid(3) && .@i < getd(".team"+ getarg(0) +"count") ) .@i++; + deletearray getd( ".team"+ getarg(0) +"aid["+ .@i +"]" ), 1; + setd ".team"+ getarg(0) +"count", getd(".team"+ getarg(0) +"count") -1; + bg_leave; + if ( !.score[ getarg(0) ] ) + awake strnpcinfo(0); + sleep2 1250; + percentheal 100,100; + end; + +// "OnQuit" event +OnRedQuit: callsub L_Quit, 1; +OnBlueQuit: callsub L_Quit, 2; +L_Quit: + .score[ getarg(0) ]--; + bg_updatescore "guild_vs3", .score[1], .score[2]; + percentheal 100, 100; + while ( getd( ".team"+ getarg(0) +"aid["+ .@i +"]" ) != getcharid(3) && .@i < getd(".team"+ getarg(0) +"count") ) .@i++; + deletearray getd( ".team"+ getarg(0) +"aid["+ .@i +"]" ), 1; + setd ".team"+ getarg(0) +"count", getd(".team"+ getarg(0) +"count") -1; + if ( !.score[ getarg(0) ] ) + awake strnpcinfo(0); + end; +} + +prontera,152,178,5 script Red Team#bg_pvp 733,{ + end; +OnInit: + sleep 1; + set getvariableofnpc( .rednpcname$, "bg_pvp#control" ), strnpcinfo(0); +OnStart: + waitingroom "Red Team", getvariableofnpc( .minplayer2start, "bg_pvp#control" ) +1, "bg_pvp#control::OnStart", getvariableofnpc( .minplayer2start, "bg_pvp#control" ); + end; +} + +prontera,154,178,5 script Blue Team#bg_pvp 734,{ + end; +OnInit: + sleep 1; + set getvariableofnpc( .bluenpcname$, "bg_pvp#control" ), strnpcinfo(0); +OnStart: + waitingroom "Blue Team", getvariableofnpc( .minplayer2start, "bg_pvp#control" ) +1, "bg_pvp#control::OnStart", getvariableofnpc( .minplayer2start, "bg_pvp#control" ); + end; +} + +guild_vs3 mapflag battleground 2 +guild_vs3 mapflag nosave SavePoint +guild_vs3 mapflag nowarp +guild_vs3 mapflag nowarpto +guild_vs3 mapflag noteleport +guild_vs3 mapflag nomemo +guild_vs3 mapflag nopenalty +guild_vs3 mapflag nobranch +guild_vs3 mapflag noicewall diff --git a/custom/battleground/unofficial/bg_common.txt b/custom/battleground/unofficial/bg_common.txt new file mode 100644 index 0000000..8707df9 --- /dev/null +++ b/custom/battleground/unofficial/bg_common.txt @@ -0,0 +1,1292 @@ +// ============================================================================== +// BattleGround System - Common NPCs +// ============================================================================== + +// BattleGround Warper - Entrance +// ********************************************************************* + +- script Maroll Battle Recruiter::BatRecruit 728,{ + 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 728 +prontera,123,83,5 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit2 728 +rachel,149,138,5 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit3 728 +moc_ruins,75,162,5 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit4 728 +aldebaran,146,109,5 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit5 728 +lighthalzen,153,86,5 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit6 728 + +// BattleGround Warper - Exit +// ********************************************************************* + +bat_room,148,150,4 script Teleporter#bat 124,{ + 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 861,{ + cutin "kafra_09",2; + callfunc "F_Kafra",0,2,1,150,0; +} + +// General Guillaume +// ********************************************************************* +bat_room,160,159,3 script General Guillaume 420,{ + 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 416,{ + 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; +} + +// Guillaume Knight - Tierra Valley +// ********************************************************************* +bat_room,159,178,5 script Guillaume Knight#1 417,{ + 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 418,{ + 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(0) + ", 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( checkquest(2069,PLAYTIME) == 2 ) erasequest 2069; + if( checkquest(2069,PLAYTIME) != -1 ) + { + 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 413,{ + 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 414,{ + 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(0) + ", 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( checkquest(2069,PLAYTIME) == 2 ) erasequest 2069; + if( checkquest(2069,PLAYTIME) != -1 ) + { + 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 417,{ + 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 418,{ + 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(0) + ", 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( checkquest(2069,PLAYTIME) == 2 ) erasequest 2069; + if( checkquest(2069,PLAYTIME) != -1 ) + { + 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 413,{ + 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 414,{ + 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(0) + ", 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( checkquest(2069,PLAYTIME) == 2 ) erasequest 2069; + if( checkquest(2069,PLAYTIME) != -1 ) + { + 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 417,{ + 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 418,{ + 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(0) + ", 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( checkquest(2070,PLAYTIME) == 2 ) erasequest 2070; + if( checkquest(2070,PLAYTIME) != -1 ) + { + 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 413,{ + 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 414,{ + 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(0) + ", 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( checkquest(2070,PLAYTIME) == 2 ) erasequest 2070; + if( checkquest(2070,PLAYTIME) != -1 ) + { + 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 417,{ + 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 418,{ + 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(0) + ", 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( checkquest(2070,PLAYTIME) == 2 ) erasequest 2070; + if( checkquest(2070,PLAYTIME) != -1 ) + { + 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 413,{ + 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 414,{ + 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(0) + ", 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( checkquest(2070,PLAYTIME) == 2 ) erasequest 2070; + if( checkquest(2070,PLAYTIME) != -1 ) + { + 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 417,{ + 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 418,{ + 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(0) + ", 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( checkquest(6025,PLAYTIME) == 2 ) erasequest 6025; + if( checkquest(6025,PLAYTIME) != -1 ) + { + 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 413,{ + 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 414,{ + 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(0) + ", 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( checkquest(6025,PLAYTIME) == 2 ) erasequest 6025; + if( checkquest(6025,PLAYTIME) != -1 ) + { + 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 417,{ + 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 418,{ + 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(0) + ", 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( checkquest(6025,PLAYTIME) == 2 ) erasequest 6025; + if( checkquest(6025,PLAYTIME) != -1 ) + { + 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 413,{ + 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 414,{ + 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(0) + ", 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( checkquest(6025,PLAYTIME) == 2 ) erasequest 6025; + if( checkquest(6025,PLAYTIME) != -1 ) + { + 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 417,{ + 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 418,{ + 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(0) + ", 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( checkquest(6025,PLAYTIME) == 2 ) erasequest 6025; + if( checkquest(6025,PLAYTIME) != -1 ) + { + 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 413,{ + 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 414,{ + 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(0) + ", 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( checkquest(6025,PLAYTIME) == 2 ) erasequest 6025; + if( checkquest(6025,PLAYTIME) != -1 ) + { + 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 415,{ end; } +bat_room,161,139,3 duplicate(bat_aid) Prince Croix's Aid::bat_aid2 415 +bat_room,161,160,3 duplicate(bat_aid) General Guillaume's Aid::bat_aid3 419 +bat_room,161,158,3 duplicate(bat_aid) General Guillaume's Aid::bat_aid4 419 + +// Flags +// ********************************************************************* + +- script Guillaume camp#bat 973,{ end; } +- script Croix camp#bat 974,{ end; } + +// Exit from Registration +// ********************************************************************* +- script warp2bat_room -1,{ + 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 45,1,1 +bat_room,57,90,0 duplicate(warp2bat_room) bat2 45,1,1 +// Free BG +bat_room,57,220,0 duplicate(warp2bat_room) bat3 45,1,1 +bat_room,57,211,0 duplicate(warp2bat_room) bat4 45,1,1 +// Tierra Valley bat_a02 +bat_room,85,81,0 duplicate(warp2bat_room) bat5 45,1,1 +bat_room,85,90,0 duplicate(warp2bat_room) bat6 45,1,1 +// Tierra Valley bat_a01 +bat_room,85,220,0 duplicate(warp2bat_room) bat7 45,1,1 +bat_room,85,211,0 duplicate(warp2bat_room) bat8 45,1,1 +// Free BG +bat_room,113,81,0 duplicate(warp2bat_room) bat9 45,1,1 +bat_room,113,90,0 duplicate(warp2bat_room) bat10 45,1,1 +// Free BG +bat_room,113,220,0 duplicate(warp2bat_room) bat11 45,1,1 +bat_room,113,211,0 duplicate(warp2bat_room) bat12 45,1,1 +// Free BG +bat_room,141,81,0 duplicate(warp2bat_room) bat13 45,1,1 +bat_room,141,90,0 duplicate(warp2bat_room) bat14 45,1,1 +// Free BG +bat_room,141,220,0 duplicate(warp2bat_room) bat15 45,1,1 +bat_room,141,211,0 duplicate(warp2bat_room) bat16 45,1,1 +// Free BG +bat_room,169,81,0 duplicate(warp2bat_room) bat17 45,1,1 +bat_room,169,90,0 duplicate(warp2bat_room) bat18 45,1,1 +// Free BG +bat_room,169,220,0 duplicate(warp2bat_room) bat19 45,1,1 +bat_room,169,211,0 duplicate(warp2bat_room) bat20 45,1,1 +// Free BG +bat_room,197,81,0 duplicate(warp2bat_room) bat21 45,1,1 +bat_room,197,90,0 duplicate(warp2bat_room) bat22 45,1,1 +// KvM bat_c03 +bat_room,197,220,0 duplicate(warp2bat_room) bat23 45,1,1 +bat_room,197,211,0 duplicate(warp2bat_room) bat24 45,1,1 +// Free BG +bat_room,225,81,0 duplicate(warp2bat_room) bat25 45,1,1 +bat_room,225,90,0 duplicate(warp2bat_room) bat26 45,1,1 +// KvM bat_c02 +bat_room,225,220,0 duplicate(warp2bat_room) bat27 45,1,1 +bat_room,225,211,0 duplicate(warp2bat_room) bat28 45,1,1 +// Flavius bat_b01 +bat_room,253,81,0 duplicate(warp2bat_room) bat29 45,1,1 +bat_room,253,90,0 duplicate(warp2bat_room) bat30 45,1,1 +// KvM bat_c01 +bat_room,253,220,0 duplicate(warp2bat_room) bat31 45,1,1 +bat_room,253,211,0 duplicate(warp2bat_room) bat32 45,1,1 + +// Badges Repairman +// ********************************************************************* + +bat_room,138,144,5 script Repairman#bg 99,{ + callfunc "repairmain","Repairman"; + end; +} + +// Badges Exchange +// ********************************************************************* + +bat_room,160,150,3 script Erundek 109,{ + 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/custom/battleground/unofficial/bg_flavius_01.txt b/custom/battleground/unofficial/bg_flavius_01.txt new file mode 100644 index 0000000..51413ad --- /dev/null +++ b/custom/battleground/unofficial/bg_flavius_01.txt @@ -0,0 +1,428 @@ +// ============================================================================== +// BattleGround System - Flavius 1 +// ============================================================================== + +// Registration NPC's +// ********************************************************************* + +bat_room,86,227,4 script Registration::Fl1R_Guillaume 418,{ + 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 414,{ + 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 -1,{ + 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 419,{ + if( $@FlaviusBG1_Victory ) + { + if( $@FlaviusBG1_Victory == Bat_Team ) + { // Victory + mes "[Swandery]"; + mes "Blessed Guillaume!!"; + mes "Let's enjoy our glorious victory!"; + mes "" + strcharinfo(0) + ", 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 415,{ + if( $@FlaviusBG1_Victory ) + { + if( $@FlaviusBG1_Victory == Bat_Team ) + { // Victory + mes "[Swandery]"; + mes "Blessed Croax!!"; + mes "Let's enjoy our glorious victory!"; + mes "" + strcharinfo(0) + ", its a sign reflecting victory"; + close2; + set .@Reward, 9; + } + else + { // + mes "[Swandery]"; + mes "Oh, " + strcharinfo(0) + ". 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 95,{ + mes "[Therapist in battle]"; + mes "Just close your eyes, and take a deep breathe."; + mes "You can be free from pain."; + specialeffect2 312; + close; +} + +bat_b01,10,293,5 script Therapist in battle#fl11 95,{ + mes "[Therapist in battle]"; + mes "Just close your eyes, and take a deep breathe."; + mes "You can be free from pain."; + specialeffect2 312; + close; +} + +// Battleground Respawn +// ********************************************************************* + +bat_b01,390,10,0 script #gfl1_respawn 139,{ + end; + +OnBGStart: + initnpctimer; + end; + +OnBGStop: + stopnpctimer; + end; + +OnTimer24000: + misceffect 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 139,{ + end; + +OnBGStart: + initnpctimer; + end; + +OnBGStop: + stopnpctimer; + end; + +OnTimer24000: + misceffect 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 973 +bat_b01,319,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat2 973 +bat_b01,304,218,1 duplicate(Guillaume camp#bat) Guillaume camp#bat3 973 +bat_b01,319,218,1 duplicate(Guillaume camp#bat) Guillaume camp#bat4 973 +bat_b01,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat5 973 +bat_b01,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat6 973 +bat_b01,335,142,1 duplicate(Guillaume camp#bat) Guillaume camp#bat7 973 +bat_b01,335,157,1 duplicate(Guillaume camp#bat) Guillaume camp#bat8 973 +bat_b01,390,16,1 duplicate(Guillaume camp#bat) Guillaume camp#bat9 973 +bat_b01,292,163,1 duplicate(Guillaume camp#bat) Guillaume camp#bat19 973 +bat_b01,292,136,1 duplicate(Guillaume camp#bat) Guillaume camp#bat20 973 +bat_b01,241,185,1 duplicate(Guillaume camp#bat) Guillaume camp#bat21 973 +bat_b01,247,179,1 duplicate(Guillaume camp#bat) Guillaume camp#bat22 973 + +bat_b01,96,81,1 duplicate(Croix camp#bat) Croix camp#bat1 974 +bat_b01,96,68,1 duplicate(Croix camp#bat) Croix camp#bat2 974 +bat_b01,79,81,1 duplicate(Croix camp#bat) Croix camp#bat3 974 +bat_b01,79,68,1 duplicate(Croix camp#bat) Croix camp#bat4 974 +bat_b01,96,81,1 duplicate(Croix camp#bat) Croix camp#bat5 974 +bat_b01,96,81,1 duplicate(Croix camp#bat) Croix camp#bat6 974 +bat_b01,59,164,1 duplicate(Croix camp#bat) Croix camp#bat7 974 +bat_b01,59,137,1 duplicate(Croix camp#bat) Croix camp#bat8 974 +bat_b01,10,296,1 duplicate(Croix camp#bat) Croix camp#bat9 974 +bat_b01,110,162,1 duplicate(Croix camp#bat) Croix camp#bat18 974 +bat_b01,110,137,1 duplicate(Croix camp#bat) Croix camp#bat19 974 +bat_b01,152,120,1 duplicate(Croix camp#bat) Croix camp#bat20 974 +bat_b01,158,114,1 duplicate(Croix camp#bat) Croix camp#bat21 974 diff --git a/custom/battleground/unofficial/bg_flavius_02.txt b/custom/battleground/unofficial/bg_flavius_02.txt new file mode 100644 index 0000000..dd4949b --- /dev/null +++ b/custom/battleground/unofficial/bg_flavius_02.txt @@ -0,0 +1,428 @@ +// ============================================================================== +// BattleGround System - Flavius 2 +// ============================================================================== + +// Registration NPC's +// ********************************************************************* + +bat_room,142,227,4 script Registration::Fl2R_Guillaume 418,{ + 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 414,{ + 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 -1,{ + 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 419,{ + if( $@FlaviusBG2_Victory ) + { + if( $@FlaviusBG2_Victory == Bat_Team ) + { // Victory + mes "[Swandery]"; + mes "Blessed Guillaume!!"; + mes "Let's enjoy our glorious victory!"; + mes "" + strcharinfo(0) + ", 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 415,{ + if( $@FlaviusBG2_Victory ) + { + if( $@FlaviusBG2_Victory == Bat_Team ) + { // Victory + mes "[Swandery]"; + mes "Blessed Croax!!"; + mes "Let's enjoy our glorious victory!"; + mes "" + strcharinfo(0) + ", its a sign reflecting victory"; + close2; + set .@Reward, 9; + } + else + { // + mes "[Swandery]"; + mes "Oh, " + strcharinfo(0) + ". 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 95,{ + mes "[Therapist in battle]"; + mes "Just close your eyes, and take a deep breathe."; + mes "You can be free from pain."; + specialeffect2 312; + close; +} + +bat_b02,10,293,5 script Therapist in battle#fl21 95,{ + mes "[Therapist in battle]"; + mes "Just close your eyes, and take a deep breathe."; + mes "You can be free from pain."; + specialeffect2 312; + close; +} + +// Battleground Respawn +// ********************************************************************* + +bat_b02,390,10,0 script #gfl2_respawn 139,{ + end; + +OnBGStart: + initnpctimer; + end; + +OnBGStop: + stopnpctimer; + end; + +OnTimer24000: + misceffect 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 139,{ + end; + +OnBGStart: + initnpctimer; + end; + +OnBGStop: + stopnpctimer; + end; + +OnTimer24000: + misceffect 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 973 +bat_b02,319,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat33 973 +bat_b02,304,218,1 duplicate(Guillaume camp#bat) Guillaume camp#bat34 973 +bat_b02,319,218,1 duplicate(Guillaume camp#bat) Guillaume camp#bat35 973 +bat_b02,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat36 973 +bat_b02,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat37 973 +bat_b02,335,142,1 duplicate(Guillaume camp#bat) Guillaume camp#bat38 973 +bat_b02,335,157,1 duplicate(Guillaume camp#bat) Guillaume camp#bat39 973 +bat_b02,390,16,1 duplicate(Guillaume camp#bat) Guillaume camp#bat40 973 +bat_b02,292,163,1 duplicate(Guillaume camp#bat) Guillaume camp#bat41 973 +bat_b02,292,136,1 duplicate(Guillaume camp#bat) Guillaume camp#bat42 973 +bat_b02,241,185,1 duplicate(Guillaume camp#bat) Guillaume camp#bat43 973 +bat_b02,247,179,1 duplicate(Guillaume camp#bat) Guillaume camp#bat44 973 + +bat_b02,96,81,1 duplicate(Croix camp#bat) Croix camp#bat30 974 +bat_b02,96,68,1 duplicate(Croix camp#bat) Croix camp#bat31 974 +bat_b02,79,81,1 duplicate(Croix camp#bat) Croix camp#bat32 974 +bat_b02,79,68,1 duplicate(Croix camp#bat) Croix camp#bat33 974 +bat_b02,96,81,1 duplicate(Croix camp#bat) Croix camp#bat34 974 +bat_b02,96,81,1 duplicate(Croix camp#bat) Croix camp#bat35 974 +bat_b02,59,164,1 duplicate(Croix camp#bat) Croix camp#bat36 974 +bat_b02,59,137,1 duplicate(Croix camp#bat) Croix camp#bat37 974 +bat_b02,10,296,1 duplicate(Croix camp#bat) Croix camp#bat38 974 +bat_b02,110,162,1 duplicate(Croix camp#bat) Croix camp#bat39 974 +bat_b02,110,137,1 duplicate(Croix camp#bat) Croix camp#bat40 974 +bat_b02,152,120,1 duplicate(Croix camp#bat) Croix camp#bat41 974 +bat_b02,158,114,1 duplicate(Croix camp#bat) Croix camp#bat42 974 diff --git a/custom/battleground/unofficial/bg_kvm01.txt b/custom/battleground/unofficial/bg_kvm01.txt new file mode 100644 index 0000000..488460d --- /dev/null +++ b/custom/battleground/unofficial/bg_kvm01.txt @@ -0,0 +1,378 @@ +// ============================================================================== +// BattleGround System - KvM 80~99 +// ============================================================================== + +// Registration NPC's +// ********************************************************************* + +bat_room,253,227,4 script Registration::KvM01R_Guillaume 418,{ // 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 414,{ // 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 111,{ + 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 111 +bat_c01,58,127,0 duplicate(#bat_c01a) #bat_c01c 111 +bat_c01,141,56,0 duplicate(#bat_c01a) #bat_c01d 111 +bat_c01,143,58,0 duplicate(#bat_c01a) #bat_c01e 111 +bat_c01,145,60,0 duplicate(#bat_c01a) #bat_c01f 111 + +// Battleground Engine +// ********************************************************************* + +- script KvM01_BG -1,{ + 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 "#bat_c01a::OnKvM01LightA"; + end; + +OnTimer28000: + donpcevent "#bat_c01a::OnKvM01LightB"; + end; + +OnTimer29000: + donpcevent "#bat_c01a::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 -1,{ + 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 95,{ + mes "[Therapist in battle]"; + mes "Just close your eyes, and take a deep breathe."; + mes "You can be free from pain."; + specialeffect2 312; + close; +} + +bat_c01,148,53,1 script Therapist in battle::TherapistKvM01b 95,{ + mes "[Therapist in battle]"; + mes "Just close your eyes, and take a deep breathe."; + mes "You can be free from pain."; + specialeffect2 312; + close; +} + +// Battleground rewards +// ********************************************************************* + +bat_c01,51,130,5 script Guillaume Vintenar::VintenarKvM01a 419,{ + 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(0) + ", 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 415,{ + 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(0) + ", its a sign reflecting victory"; + close2; + } + else + { // + set .@Reward, 1; + mes "[Swandery]"; + mes "Oh, " + strcharinfo(0) + ". 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/custom/battleground/unofficial/bg_kvm02.txt b/custom/battleground/unofficial/bg_kvm02.txt new file mode 100644 index 0000000..04b675b --- /dev/null +++ b/custom/battleground/unofficial/bg_kvm02.txt @@ -0,0 +1,378 @@ +// ============================================================================== +// BattleGround System - KvM 60~79 +// ============================================================================== + +// Registration NPC's +// ********************************************************************* + +bat_room,225,227,4 script Registration::KvM02R_Guillaume 418,{ // 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 414,{ // 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 111,{ + 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 111 +bat_c02,58,127,0 duplicate(#bat_c02a) #bat_c02c 111 +bat_c02,141,56,0 duplicate(#bat_c02a) #bat_c02d 111 +bat_c02,143,58,0 duplicate(#bat_c02a) #bat_c02e 111 +bat_c02,145,60,0 duplicate(#bat_c02a) #bat_c02f 111 + +// Battleground Engine +// ********************************************************************* + +- script KvM02_BG -1,{ + 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 "#bat_c02a::OnKvM02LightA"; + end; + +OnTimer28000: + donpcevent "#bat_c02a::OnKvM02LightB"; + end; + +OnTimer29000: + donpcevent "#bat_c02a::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 -1,{ + 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 95,{ + mes "[Therapist in battle]"; + mes "Just close your eyes, and take a deep breathe."; + mes "You can be free from pain."; + specialeffect2 312; + close; +} + +bat_c02,148,53,1 script Therapist in battle::TherapistKvM02b 95,{ + mes "[Therapist in battle]"; + mes "Just close your eyes, and take a deep breathe."; + mes "You can be free from pain."; + specialeffect2 312; + close; +} + +// Battleground rewards +// ********************************************************************* + +bat_c02,51,130,5 script Guillaume Vintenar::VintenarKvM02a 419,{ + 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(0) + ", 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 415,{ + 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(0) + ", its a sign reflecting victory"; + close2; + } + else + { // + set .@Reward, 1; + mes "[Swandery]"; + mes "Oh, " + strcharinfo(0) + ". 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/custom/battleground/unofficial/bg_kvm03.txt b/custom/battleground/unofficial/bg_kvm03.txt new file mode 100644 index 0000000..a6caf9d --- /dev/null +++ b/custom/battleground/unofficial/bg_kvm03.txt @@ -0,0 +1,378 @@ +// ============================================================================== +// BattleGround System - KvM 1~59 +// ============================================================================== + +// Registration NPC's +// ********************************************************************* + +bat_room,197,227,4 script Registration::KvM03R_Guillaume 418,{ // 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 414,{ // 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 111,{ + 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 111 +bat_c03,58,127,0 duplicate(#bat_c03a) #bat_c03c 111 +bat_c03,141,56,0 duplicate(#bat_c03a) #bat_c03d 111 +bat_c03,143,58,0 duplicate(#bat_c03a) #bat_c03e 111 +bat_c03,145,60,0 duplicate(#bat_c03a) #bat_c03f 111 + +// Battleground Engine +// ********************************************************************* + +- script KvM03_BG -1,{ + 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 "#bat_c03a::OnKvM03LightA"; + end; + +OnTimer28000: + donpcevent "#bat_c03a::OnKvM03LightB"; + end; + +OnTimer29000: + donpcevent "#bat_c03a::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 -1,{ + 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 95,{ + mes "[Therapist in battle]"; + mes "Just close your eyes, and take a deep breathe."; + mes "You can be free from pain."; + specialeffect2 312; + close; +} + +bat_c03,148,53,1 script Therapist in battle::TherapistKvM03b 95,{ + mes "[Therapist in battle]"; + mes "Just close your eyes, and take a deep breathe."; + mes "You can be free from pain."; + specialeffect2 312; + close; +} + +// Battleground rewards +// ********************************************************************* + +bat_c03,51,130,5 script Guillaume Vintenar::VintenarKvM03a 419,{ + 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(0) + ", 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 415,{ + 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(0) + ", its a sign reflecting victory"; + close2; + } + else + { // + set .@Reward, 0; + mes "[Swandery]"; + mes "Oh, " + strcharinfo(0) + ". 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/custom/battleground/unofficial/bg_tierra_01.txt b/custom/battleground/unofficial/bg_tierra_01.txt new file mode 100644 index 0000000..7836fc0 --- /dev/null +++ b/custom/battleground/unofficial/bg_tierra_01.txt @@ -0,0 +1,475 @@ +// ============================================================================== +// BattleGround System - Tierra Valley 1 +// ============================================================================== + +// Registration NPC's +// ********************************************************************* + +bat_room,58,227,4 script Registration::TV1R_Guillaume 418,{ + 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 414,{ + 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 -1,{ + 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(4) == $@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(4) == $@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(4); + 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 974 +bat_a01,155,85,1 duplicate(Croix camp#bat) Croix camp#bat11 974 +bat_a01,357,75,1 duplicate(Croix camp#bat) Croix camp#bat12 974 +bat_a01,348,74,1 duplicate(Croix camp#bat) Croix camp#bat13 974 +bat_a01,199,49,1 duplicate(Croix camp#bat) Croix camp#bat14 974 +bat_a01,168,16,1 duplicate(Croix camp#bat) Croix camp#bat15 974 +bat_a01,138,12,1 duplicate(Croix camp#bat) Croix camp#bat16 974 +bat_a01,108,35,1 duplicate(Croix camp#bat) Croix camp#bat17 974 +bat_a01,164,308,1 duplicate(Guillaume camp#bat) Guillaume camp#bat10 973 +bat_a01,157,308,1 duplicate(Guillaume camp#bat) Guillaume camp#bat11 973 +bat_a01,359,327,1 duplicate(Guillaume camp#bat) Guillaume camp#bat12 973 +bat_a01,350,326,1 duplicate(Guillaume camp#bat) Guillaume camp#bat13 973 +bat_a01,209,344,1 duplicate(Guillaume camp#bat) Guillaume camp#bat14 973 +bat_a01,173,380,1 duplicate(Guillaume camp#bat) Guillaume camp#bat15 973 +bat_a01,150,380,1 duplicate(Guillaume camp#bat) Guillaume camp#bat16 973 +bat_a01,118,357,1 duplicate(Guillaume camp#bat) Guillaume camp#bat17 973 +bat_a01,119,336,1 duplicate(Guillaume camp#bat) Guillaume camp#bat18 973 + +// Barricades +// ********************************************************************* + +- script Guillaume_TV1B -1,{ + 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 -1,{ + 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 415,{ + 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(0) + ", its a sign reflecting victory"; + close2; + } + else + { // + set .@Reward, 1; + mes "[Swandery]"; + mes "Oh, " + strcharinfo(0) + ". 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 419,{ + 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(0) + ", 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 950,{ + mes "[Ghost in valley]"; + mes "Boo...Boo..."; + specialeffect2 312; + close; +} + +bat_a01,53,377,3 script Therapist in battle#tv12 95,{ + mes "[Therapist in battle]"; + mes "Just close your eyes, and take a deep breathe."; + mes "You can be free from pain."; + specialeffect2 312; + close; +} + +bat_a01,45,18,3 script Therapist in battle#tv11 95,{ + mes "[Therapist in battle]"; + mes "Just close your eyes, and take a deep breathe."; + mes "You can be free from pain."; + specialeffect2 312; + close; +} + +// Battleground Respawn +// ********************************************************************* + +bat_a01,57,213,0 script #ntv1_respawn 139,{ + end; + +OnBGStart: + initnpctimer; + end; + +OnBGStop: + stopnpctimer; + end; + +OnTimer19000: + misceffect 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 139,{ + end; + +OnBGStart: + initnpctimer; + end; + +OnBGStop: + stopnpctimer; + end; + +OnTimer24000: + misceffect 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 139,{ + end; + +OnBGStart: + initnpctimer; + end; + +OnBGStop: + stopnpctimer; + end; + +OnTimer24000: + misceffect 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/custom/battleground/unofficial/bg_tierra_02.txt b/custom/battleground/unofficial/bg_tierra_02.txt new file mode 100644 index 0000000..ff423fc --- /dev/null +++ b/custom/battleground/unofficial/bg_tierra_02.txt @@ -0,0 +1,475 @@ +// ============================================================================== +// BattleGround System - Tierra Valley 2 +// ============================================================================== + +// Registration NPC's +// ********************************************************************* + +bat_room,114,227,4 script Registration::TV2R_Guillaume 418,{ + 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 414,{ + 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 -1,{ + 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(4) == $@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(4) == $@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(4); + 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 974 +bat_a02,155,85,1 duplicate(Croix camp#bat) Croix camp#bat23 974 +bat_a02,357,75,1 duplicate(Croix camp#bat) Croix camp#bat24 974 +bat_a02,348,74,1 duplicate(Croix camp#bat) Croix camp#bat25 974 +bat_a02,199,49,1 duplicate(Croix camp#bat) Croix camp#bat26 974 +bat_a02,168,16,1 duplicate(Croix camp#bat) Croix camp#bat27 974 +bat_a02,138,12,1 duplicate(Croix camp#bat) Croix camp#bat28 974 +bat_a02,108,35,1 duplicate(Croix camp#bat) Croix camp#bat29 974 +bat_a02,164,308,1 duplicate(Guillaume camp#bat) Guillaume camp#bat23 973 +bat_a02,157,308,1 duplicate(Guillaume camp#bat) Guillaume camp#bat24 973 +bat_a02,359,327,1 duplicate(Guillaume camp#bat) Guillaume camp#bat25 973 +bat_a02,350,326,1 duplicate(Guillaume camp#bat) Guillaume camp#bat26 973 +bat_a02,209,344,1 duplicate(Guillaume camp#bat) Guillaume camp#bat27 973 +bat_a02,173,380,1 duplicate(Guillaume camp#bat) Guillaume camp#bat28 973 +bat_a02,150,380,1 duplicate(Guillaume camp#bat) Guillaume camp#bat29 973 +bat_a02,118,357,1 duplicate(Guillaume camp#bat) Guillaume camp#bat30 973 +bat_a02,119,336,1 duplicate(Guillaume camp#bat) Guillaume camp#bat31 973 + +// Barricades +// ********************************************************************* + +- script Guillaume_TV2B -1,{ + 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 -1,{ + 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 415,{ + 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(0) + ", its a sign reflecting victory"; + close2; + } + else + { // + set .@Reward, 1; + mes "[Swandery]"; + mes "Oh, " + strcharinfo(0) + ". 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 419,{ + 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(0) + ", 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 950,{ + mes "[Ghost in valley]"; + mes "Boo...Boo..."; + specialeffect2 312; + close; +} + +bat_a02,53,377,3 script Therapist in battle#tv22 95,{ + mes "[Therapist in battle]"; + mes "Just close your eyes, and take a deep breathe."; + mes "You can be free from pain."; + specialeffect2 312; + close; +} + +bat_a02,45,18,3 script Therapist in battle#tv21 95,{ + mes "[Therapist in battle]"; + mes "Just close your eyes, and take a deep breathe."; + mes "You can be free from pain."; + specialeffect2 312; + close; +} + +// Battleground Respawn +// ********************************************************************* + +bat_a02,57,213,0 script #ntv2_respawn 139,{ + end; + +OnBGStart: + initnpctimer; + end; + +OnBGStop: + stopnpctimer; + end; + +OnTimer19000: + misceffect 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 139,{ + end; + +OnBGStart: + initnpctimer; + end; + +OnBGStop: + stopnpctimer; + end; + +OnTimer24000: + misceffect 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 139,{ + end; + +OnBGStart: + initnpctimer; + end; + +OnBGStop: + stopnpctimer; + end; + +OnTimer24000: + misceffect 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/custom/breeder.txt b/custom/breeder.txt index a3d822a..3bd88d2 100644 --- a/custom/breeder.txt +++ b/custom/breeder.txt @@ -14,20 +14,20 @@ prontera,124,201,1 script Universal Rental NPC 726,{ if (ismounting()) { message strcharinfo(0),"You must first remove your mount."; end; - } else if ((eaclass()&EAJ_THIRDMASK==EAJ_RANGER) && !countitem(6124)) { - if (!checkfalcon() && getskilllv("HT_FALCON") && !checkoption(Option_Wug) && !checkoption(Option_Wugrider)) { + } else if ((eaclass()&EAJ_THIRDMASK)==EAJ_RANGER && !countitem(6124)) { + if (!checkfalcon() && getskilllv("HT_FALCON") && !checkwug()) { if(select(" ~ Falcon: ~ Warg")==1) setfalcon; - else getitem 6124,1; - } else getitem 6124,1; - } else if ((eaclass()&EAJ_THIRDMASK==EAJ_MECHANIC) && !checkcart() && getskilllv("MC_PUSHCART")) { + else getitem 6124,1; //Wolf's_Flute + } else getitem 6124,1; //Wolf's_Flute + } else if ((eaclass()&EAJ_THIRDMASK)==EAJ_MECHANIC && !checkcart() && getskilllv("MC_PUSHCART")) { if (!checkmadogear() && getskilllv("NC_MADOLICENCE")) { if(select(" ~ Cart: ~ Mado")==1) setcart; else setmadogear; } else setcart; } else if (!checkcart() && getskilllv("MC_PUSHCART")) setcart; - else if (!checkfalcon() && getskilllv("HT_FALCON") && !checkoption(Option_Wug) && !checkoption(Option_Wugrider)) setfalcon; - else if (!checkriding() && getskilllv("KN_RIDING")) { - if (eaclass()&EAJ_THIRDMASK==EAJ_RUNE_KNIGHT) setdragon; + else if (!checkfalcon() && getskilllv("HT_FALCON") && !checkwug()) setfalcon; + else if (!checkriding() && !checkdragon() && getskilllv("KN_RIDING")) { + if ((eaclass()&EAJ_THIRDMASK)==EAJ_RUNE_KNIGHT) setdragon; else setriding; } else if (!checkmadogear() && getskilllv("NC_MADOLICENCE")) setmadogear; else { diff --git a/custom/card_remover.txt b/custom/card_remover.txt index 7de3b17..0599979 100644 --- a/custom/card_remover.txt +++ b/custom/card_remover.txt @@ -16,9 +16,9 @@ prt_in,28,73,4 script Wise Old Woman#eAcustom 78,{ - 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. + set .zenycost,200000; // base cost of the card remover services (in Zeny) + set .percardcost,25000; // cost per card of the card remover services (in Zeny) + 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]"; @@ -91,8 +91,8 @@ prt_in,28,73,4 script Wise Old Woman#eAcustom 78,{ mes "[Wise Old Woman]"; mes "Very well. I shall begin."; set Zeny, Zeny - (.zenycost+(.@cardcount * .percardcost)); - delitem 1000,1; - delitem 715,1; + delitem 1000,1; //Star_Crumb + delitem 715,1; //Yellow_Gemstone // 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) @@ -142,7 +142,7 @@ prt_in,28,73,4 script Wise Old Woman#eAcustom 78,{ 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."; + mes "I charge a flat fee of "+callfunc("F_InsertComma",.zenycost)+" zeny, plus "+callfunc("F_InsertComma",.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]"; diff --git a/custom/card_seller.txt b/custom/card_seller.txt new file mode 100644 index 0000000..3b6eccd --- /dev/null +++ b/custom/card_seller.txt @@ -0,0 +1,72 @@ +//===== rAthena Script ======================================= +//= Card Seller A-Z +//===== By: ================================================== +//= AnnieRuru +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Sells all cards dropped by mobs, grouped alphabetically. +//= MVP cards are excluded from the list. +//= +//= NOTE: Requires SQL item and mob databases. +//===== Additional Comments: ================================= +//= 1.0 First version, edited. [Euphy] +//============================================================ + +prontera,155,177,5 script Card Seller 100,{ + mes "[Card Seller]"; + mes "Welcome!"; + mes "I can sell you any normal monster card in the game. Would you like to have a look?"; + next; + .@s = select( .alphabet_menu$ ) -1; + close2; + callshop "card_mob#"+ .alphabet$[.@s], 1; + end; +OnInit: + if (checkre(0)) { + .@mob_db$ = "mob_db_re"; + .@item_db$ = "item_db_re"; + } else { + .@mob_db$ = "mob_db"; + .@item_db$ = "item_db"; + } + freeloop 1; + .@total = query_sql( "SELECT DISTINCT LEFT( `name_japanese`, 1 ) AS alphabets FROM `"+ .@item_db$ +"` RIGHT JOIN `"+ .@mob_db$ +"` ON `"+ .@item_db$ +"`.`id` = `"+ .@mob_db$ +"`.`dropcardid` WHERE ~(`MODE`) & 32 AND `type` = 6 GROUP BY `name_japanese` ORDER BY alphabets;", .alphabet$ ); + for ( .@i = 0; .@i < .@total; .@i++ ) { + .alphabet_menu$ = .alphabet_menu$ + .alphabet$[.@i] +" Cards:"; + .@nb = query_sql( "SELECT `"+ .@item_db$ +"`.`id` FROM `"+ .@item_db$ +"` RIGHT JOIN `"+ .@mob_db$ +"` ON `"+ .@item_db$ +"`.`id` = `"+ .@mob_db$ +"`.`dropcardid` WHERE ~(`MODE`) & 32 AND `type` = 6 AND LEFT( `name_japanese`, 1 ) = '"+ .alphabet$[.@i] +"' GROUP BY `name_japanese` ORDER BY `name_japanese` LIMIT 128;", .@id ); + npcshopdelitem "card_mob#"+ .alphabet$[.@i], 501; + for ( .@j = 0; .@j < .@nb; .@j++ ) + npcshopadditem "card_mob#"+ .alphabet$[.@i], .@id[.@j], 1000000; + } + freeloop 0; + end; +} +- shop card_mob#A -1,501:1000 +- shop card_mob#B -1,501:1000 +- shop card_mob#C -1,501:1000 +- shop card_mob#D -1,501:1000 +- shop card_mob#E -1,501:1000 +- shop card_mob#F -1,501:1000 +- shop card_mob#G -1,501:1000 +- shop card_mob#H -1,501:1000 +- shop card_mob#I -1,501:1000 +- shop card_mob#J -1,501:1000 +- shop card_mob#K -1,501:1000 +- shop card_mob#L -1,501:1000 +- shop card_mob#M -1,501:1000 +- shop card_mob#N -1,501:1000 +- shop card_mob#O -1,501:1000 +- shop card_mob#P -1,501:1000 +- shop card_mob#Q -1,501:1000 +- shop card_mob#R -1,501:1000 +- shop card_mob#S -1,501:1000 +- shop card_mob#T -1,501:1000 +- shop card_mob#U -1,501:1000 +- shop card_mob#V -1,501:1000 +- shop card_mob#W -1,501:1000 +- shop card_mob#X -1,501:1000 +- shop card_mob#Y -1,501:1000 +- shop card_mob#Z -1,501:1000 diff --git a/custom/etc/airplane.txt b/custom/etc/airplane.txt index b93af96..321551e 100644 --- a/custom/etc/airplane.txt +++ b/custom/etc/airplane.txt @@ -246,7 +246,7 @@ Board: L_Yes: if($destination!=getarg(0))goto Notime; warp "airplane", 105, 72; - specialeffect2 501; + specialeffect2 EF_CASTSPIN; L_Nope: mes "^FF0000[Porter]^000000"; mes "Have a good day. Thank you for traveling with Airship."; @@ -356,7 +356,7 @@ Lyes: if($destination == 250)goto Notime; if($destination != @dockky)goto Notime; warp $locationsmap$[$destination], $locationsx[$destination], $locationsy[$destination]; - specialeffect2 501; + specialeffect2 EF_CASTSPIN; Lnope: mes "^FF0000[Airplane Attendant]^000000"; diff --git a/custom/etc/autopot.txt b/custom/etc/autopot.txt new file mode 100644 index 0000000..2a48d73 --- /dev/null +++ b/custom/etc/autopot.txt @@ -0,0 +1,188 @@ +//===== rAthena Script ======================================= +//= Auto-Potion +//===== By: ================================================== +//= Euphy +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena Project +//===== Description: ========================================= +//= Provides an @autopot command to automatically use potions +//= when hit (i.e. 'autobonus2'). +//===== Additional Comments: ================================= +//= 1.0 First version. [Euphy] +//============================================================ + +- script #autopot -1,{ +OnInit: + bindatcmd("autopot",strnpcinfo(0)+"::OnCommand"); + end; + +L_Help: + dispbottom "Available commands:"; + dispbottom " @autopot { {}}"; + dispbottom " @autopot "; + dispbottom " @autopot list"; + dispbottom " @autopot info"; + dispbottom " @autopot help"; + return; + +L_Info: + dispbottom "------ Auto-Potion Information ------"; + dispbottom "POTION: " + getitemname(@autopot_id) + " (" + @autopot_id + ")"; + dispbottom "MIN HP: " + @autopot_min + " %"; + dispbottom "DELAY: " + @autopot_delay + " ms"; + dispbottom "---------------------------------------------"; + return; + +L_Start: + .@potion = getarg(0); + .@min = getarg(1); + .@delay = getarg(2); + if (.@min < 1 || .@min > 100) .@min = 90; + if (.@delay < 50 || .@delay > 1000) .@delay = 50; // lower values will increase server strain + switch (.@potion) { + case 501: + case 507: + case 545: + case 569: .@effect = EF_POTION1; break; + case 502: .@effect = EF_POTION2; break; + case 503: + case 508: + case 546: + case 579: + case 11500: .@effect = EF_POTION3; break; + case 504: + case 509: + case 547: + case 11501: + case 11503: + case 11548: .@effect = EF_POTION4; break; + case 512: + case 513: + case 515: + case 516: + case 548: + case 549: + case 550: + case 582: + case 607: .@effect = EF_POTION7; break; + default: .@effect = EF_EXIT; break; + } + + if (BaseLevel < getiteminfo(.@potion,12)) { + message strcharinfo(0), "Your base level is too low to use '" + getitemname(.@potion) + "'."; + end; + } + + @autopot_id = .@potion; + @autopot_min = .@min; + @autopot_delay = .@delay; + @autopot_eff = .@effect; + @autopot_none = 0; + bonus_script "{ callfunc \"start_autopot\"; }",86400,8,0,SI_INCHEALRATE; + + message strcharinfo(0), "Auto-Potion started."; + callsub L_Info; + return; + +OnCommand: + if (!getarraysize(.@atcmd_parameters$)) { + message strcharinfo(0), "Invalid syntax."; + callsub L_Help; + end; + } + + .@command$ = strtolower(.@atcmd_parameters$[0]); + + if (.@command$ == "on") { + if (@autopot_min) + message strcharinfo(0), "Auto-Potion is already on."; + else if (@autopot_min_) { + @autopot_min = @autopot_min_; + @autopot_min_ = 0; + message strcharinfo(0), "Auto-Potion enabled."; + callsub L_Info; + } else { + message strcharinfo(0), "Auto-Potion has not been set."; + callsub L_Help; + } + end; + } else if (.@command$ == "off") { + if (!@autopot_min) + message strcharinfo(0), "Auto-Potion is already off."; + else { + @autopot_min_ = @autopot_min; + @autopot_min = 0; + message strcharinfo(0), "Auto-Potion disabled."; + } + end; + } else if (.@command$ == "list") { // credits to AnnieRuru + getinventorylist; + for (; .@i < @inventorylist_count; .@i++) { + if (getiteminfo(@inventorylist_id[.@i],2) == IT_HEALING) { + .@items[.@count] = @inventorylist_id[.@i]; + .@menu$ = .@menu$ + sprintf("~ ^0055FF%s^000000 (%dx):", getitemname(@inventorylist_id[.@i]), countitem(@inventorylist_id[.@i])); + .@count++; + } + } + if (.@count) { // 'mes' window needed if player is hit during selection + mes "[ Auto-Potion ]"; + mes "Select a healing item."; + .@select = select(.@menu$ + " ^777777Cancel^000000") - 1; + if (.@select != .@count) + callsub L_Start, .@items[.@select], 0, 0; + close2; + } else + message strcharinfo(0), "There are no healing items in your inventory."; + end; + } else if (.@command$ == "info") { + if (@autopot_min) { + message strcharinfo(0), "Auto-Potion information is displayed below."; + callsub L_Info; + } else + message strcharinfo(0), "Auto-Potion is not enabled."; + end; + } else if (.@command$ == "help") { + message strcharinfo(0), "List of commands is displayed below."; + callsub L_Help; + end; + } else { + .@potion = atoi(.@atcmd_parameters$[0]); + if (getiteminfo(.@potion,2) != IT_HEALING) { + message strcharinfo(0), getitemname(.@potion) + " is not a healing item."; + end; + } + callsub L_Start, .@potion, atoi(.@atcmd_parameters$[1]), atoi(.@atcmd_parameters$[2]); + end; + } +} + +function script start_autopot { + if (@autopot_active) end; + @autopot_active = 1; + while (Hp && Hp * 100 / MaxHp < @autopot_min) { + if (!countitem(@autopot_id)) { + if (@autopot_none <= gettimetick(2)) { + @autopot_none = gettimetick(2) + 10; + dispbottom "There are no '" + getitemname(@autopot_id) + "' in your inventory."; + } + break; + } + if (getstatus(SC_BERSERK) || getstatus(SC_SATURDAYNIGHTFEVER) || getstatus(SC_GRAVITATION) || + getstatus(SC_TRICKDEAD) || getstatus(SC_HIDING) || getstatus(SC__SHADOWFORM) || getstatus(SC__INVISIBILITY) || + getstatus(SC__MANHOLE) || getstatus(SC_KAGEHUMI) || getstatus(SC_HEAT_BARREL_AFTER)) + break; + if (getstatus(SC_STONE) || getstatus(SC_FREEZE) || getstatus(SC_STUN) || getstatus(SC_SLEEP)) + ; + else { + delitem @autopot_id,1; + consumeitem @autopot_id; + specialeffect2 @autopot_eff; + } + sleep2 @autopot_delay; + } + @autopot_active = 0; + autobonus2 "{}",10000,1,BF_WEAPON|BF_MAGIC; + end; +} diff --git a/custom/etc/bank.txt b/custom/etc/bank.txt index ed514c9..a950eae 100644 --- a/custom/etc/bank.txt +++ b/custom/etc/bank.txt @@ -5,7 +5,7 @@ //===== Current Version: ===================================== //= 2.0 //===== Compatible With: ===================================== -//= Any rAthena version with Account variables. +//= rAthena SVN //===== Description: ========================================= //= An account wide Banker to store Zeny //===== Additional Comments: ================================= @@ -16,11 +16,11 @@ //============================================================ prontera,132,217,5 script Banker 109,{ -set @cost,500; -mes "[Banker]"; -mes "Welcome to the First Bank of Prontera. How can I help you today?"; -next; -switch(select("I'd like to make a deposit.:I'd like to make a withdrawl.:What's my current balance?:Cancel")) { + 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."; @@ -44,14 +44,13 @@ switch(select("I'd like to make a deposit.:I'd like to make a withdrawl.:What's close; } else { - set Zeny,Zeny - @deposit; - set Zeny,Zeny - @cost; - set #bankstorage,#bankstorage + @deposit; - mes "[Banker]"; - mes "Thank you very much... Your zeny is in good hands."; - close; + set Zeny,Zeny - @deposit; + set Zeny,Zeny - @cost; + set #bankstorage,#bankstorage + @deposit; + mes "[Banker]"; + mes "Thank you very much... Your zeny is in good hands."; + close; } - 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"; @@ -67,7 +66,7 @@ switch(select("I'd like to make a deposit.:I'd like to make a withdrawl.:What's close; } else if (@withdrawl > #bankstorage) { - mes "I show you only have ^00FF00" + #bankstorage +"^000000 zeny in your account!"; + mes "You only have ^00FF00" + callfunc("F_InsertComma",#bankstorage) +"^000000 zeny in your account!"; close; } else if ((@cost > Zeny) && ((Zeny + @withdrawl) > @cost)) { @@ -104,12 +103,12 @@ switch(select("I'd like to make a deposit.:I'd like to make a withdrawl.:What's } case 3: mes "[Banker]"; - mes "Hmmmm let me check some paper work."; + mes "Hmmmm... let me check some paper work."; next; mes "*Rustle, Rustle*"; next; mes "[Banker]"; - mes "You currently have " + #bankstorage + " Zeny in your account."; + mes "You currently have " + callfunc("F_InsertComma",#bankstorage) + " Zeny in your account."; close; case 4: mes "[Banker]"; diff --git a/custom/etc/bank_kafra.txt b/custom/etc/bank_kafra.txt index 27e4e21..6dc6a13 100644 --- a/custom/etc/bank_kafra.txt +++ b/custom/etc/bank_kafra.txt @@ -35,9 +35,9 @@ 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."; + if(@income>0) mes "Today's income: ^135445" + callfunc("F_InsertComma",@income) + "^000000 zeny."; set #kafrabank,#kafrabank+@income; - if(#kafrabank>0) mes "Your account: ^135445" + #kafrabank + "^000000 zeny."; + if(#kafrabank>0) mes "Your account: ^135445" + callfunc("F_InsertComma",#kafrabank) + "^000000 zeny."; mes "What would you like?"; next; if(#kafrabank==0) menu "-Open an account",-,"-Quit",B_EXIT2; @@ -53,7 +53,7 @@ L_NoIncomeToday: set Zeny, Zeny-@kafrabank; set #kafrabank,#kafrabank+@kafrabank; mes"[Maniss]"; - mes "You've made a deposit of ^135445" + @kafrabank + "z^000000."; + mes "You've made a deposit of ^135445" + callfunc("F_InsertComma",@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; @@ -61,7 +61,7 @@ L_NoIncomeToday: M_WITHDRAW: if(#kafrabank==0) goto L_ZERO_ACCOUNT; mes"[Maniss]"; - mes "Your account: ^135445" + #kafrabank + "^000000 zeny."; + mes "Your account: ^135445" + callfunc("F_InsertComma",#kafrabank) + "^000000 zeny."; mes "How much zeny would you like to withdraw?"; next; if(input(@kafrabank) == 1) goto L_TOO_BIG_AMOUNT; @@ -71,7 +71,7 @@ M_WITHDRAW: set #kafrabank,#kafrabank-@kafrabank; set Zeny, Zeny+@kafrabank; mes"[Maniss]"; - mes "Here is your ^135445" + @kafrabank + "z^000000, put your sign here..."; + mes "Here is your ^135445" + callfunc("F_InsertComma",@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; diff --git a/custom/etc/blackjack.txt b/custom/etc/blackjack.txt index 951af3f..d879d54 100644 --- a/custom/etc/blackjack.txt +++ b/custom/etc/blackjack.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= kobra_k88 //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -14,7 +14,8 @@ //= Currently does not allow for "insurance", or "splitting" //= of pairs. //===== Additional Comments: ================================= -//= +//= 1.0 First version. +//= 1.1 Prevent player logout from zeny deletion [AnnieRuru] //============================================================ cmd_in02,188,89,1 script Black Jack Dealer 57,{ @@ -73,7 +74,7 @@ sM_0b: mes "3.) If you have a point total of 21 with the first 2 cards, you"; mes "will automatically win the round. This is called a ^5533FF'Black Jack'^000000"; mes "and happens when you get an 'Ace' and a '10 valued' card. If the"; - mes "dealer gets a Black Jack he/she will automatically win the round."; + 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"; @@ -135,18 +136,22 @@ L_Play: 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: @@ -159,6 +164,7 @@ L_Cont0: next; deletearray $@card[0],13; set @dealerTurn, 0; + set @doubledown, 0; set @numP, 0; set @numD, 0; set @pAce, 0; @@ -221,7 +227,7 @@ M_Double: mes "doubled, and you will only be able to pull 1 extra card."; next; set @dealerTurn, 1; - set @bet, @bet*2; + set @doubledown, 1; callsub sF_GetCards, @numP, @playCard[@numP], @playCard$[@numP], @pAce; goto L_Start; @@ -234,18 +240,19 @@ L_Check: sL_Win: mes "[Dealer]"; mes "Congratulations, you've won!"; + if(@doubledown) Zeny += @bet * 3; + else Zeny += @bet * 2; next; - set Zeny, Zeny + @bet; goto L_Play; sL_Lose: mes "[Dealer]"; mes "I'm sorry but you've lost."; - set Zeny, Zeny - @bet; next; goto L_Play; sL_Push: mes "[Dealer]"; mes "Its a push. You tied with the Dealer."; + Zeny += @bet; next; goto L_Play; diff --git a/custom/etc/marriage.txt b/custom/etc/marriage.txt index 86369b6..a2a092d 100644 --- a/custom/etc/marriage.txt +++ b/custom/etc/marriage.txt @@ -104,11 +104,11 @@ prt_church,100,123,4 script Vomars 60,{ 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(0)+" has an objection to the wedding!"; + npctalk @name$+" : Ladies and gentlemen, "+strcharinfo(0)+" has an objection to the wedding!"; SF_wed_end(); mes "Why should they not be wed?"; input $@msg$; - npctalk strcharinfo(0)+"'s objection is: "+$@msg$; + npctalk @name$+" : "+ strcharinfo(0) +"'s objection is: "+$@msg$; emotion e_sob; mes "I see..."; } else @@ -203,7 +203,7 @@ function SF_AcceptGroom { 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$+"!"; + npctalk @name$+" : Ladies and gentlemen, "+$wed_bride$+" has rejected to marry "+$wed_groom$+"!"; SF_wed_end(); break; case 3: @@ -236,7 +236,7 @@ function SF_AcceptBride { 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$+"!"; + npctalk @name$+" : Ladies and gentlemen, "+$wed_groom$+" has rejected to marry "+$wed_bride$+"!"; SF_wed_end(); break; case 3: @@ -260,7 +260,7 @@ function SF_RingsAccepted { 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?"; + npctalk @name$+" : May the groom and bride please step forward and retrieve their rings?"; } function SF_RetrieveRingM { @@ -336,51 +336,51 @@ function SF_StartCeremony { } OnTimer1000: - npctalk "Ladies and Gentlemen, We will now join in holy matrimony these two lovers."; + npctalk @name$+" : 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."; + npctalk @name$+" : 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."; + npctalk @name$+" : 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."; + npctalk @name$+" : 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."; + npctalk @name$+" : 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."; + npctalk @name$+" : 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."; + npctalk @name$+" : 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."; + npctalk @name$+" : 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,"; + npctalk @name$+" : "+ $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."; + npctalk @name$+" : 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..."; + npctalk @name$+" : 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."; + npctalk @name$+" : 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); @@ -394,19 +394,19 @@ OnTimer55000: //Subfunction: Checks that the groom/bride is still wearing their stuff. function SF_equip_check { - if (Sex && getequipid(2) != 7170) { + if (Sex && getequipid(EQI_ARMOR) != 7170) { mes "["+@name$+"]"; mes "Child, what did you do with your "+getitemname(7170)+"?"; emotion e_dots; return 0; } - if (Sex == 0 && getequipid(2) != 2338) { + if (Sex == 0 && getequipid(EQI_ARMOR) != 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 == 0 && $@wed_veil && getequipid(1) != 2206) { + if (Sex == 0 && $@wed_veil && getequipid(EQI_HEAD_TOP) != 2206) { mes "["+@name$+"]"; mes "Child, you can't take off your "+getitemname(2206)+" yet...."; emotion e_dots; @@ -561,7 +561,7 @@ function SF_WedProgress { 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."; + npctalk @name$+" : Registration finished. "+$wed_groom$+" and "+$wed_bride$+", please reaffirm your vows with the Priest."; emotion e_no1; end; } else { @@ -582,7 +582,7 @@ function SF_WedProgress { 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."; + npctalk @name$+" : Registration finished. "+$wed_groom$+" and "+$wed_bride$+", please reaffirm your vows with the Priest."; emotion e_no1; end; } else { @@ -658,7 +658,7 @@ OnTimer60000: else set $@msg$, $wed_groom$; - npctalk "Registration timed out. Is it that noone wants to marry "+$@msg$+"..?"; + npctalk @name$+" : Registration timed out. Is it that noone wants to marry "+$@msg$+"..?"; emotion e_hmm; set $wed_groom$,""; @@ -692,12 +692,12 @@ function SF_TryRegister { else set @item, 2338; - if (getequipid(2) != @item) { + if (getequipid(EQI_ARMOR) != @item) { mes "["+@name$+"]"; mes "You should be wearing a "+getitemname(@item)+" if you want to get married."; close; } - if (Sex == 0 && $@wed_veil && getequipid(1) != 2206) { + if (Sex == 0 && $@wed_veil && getequipid(EQI_HEAD_TOP) != 2206) { mes "["+@name$+"]"; mes "Where is your "+getitemname(2206)+"? It's a necessary complement to your dress."; close; @@ -930,7 +930,7 @@ function SF_DivorceEnd { } OnTimer60000: - npctalk "Divorce confirmation time's is up. Where did "+$@divorcer$+"'s spouse go..."; + npctalk @name$+" : Divorce confirmation time's is up. Where did "+$@divorcer$+"'s spouse go..."; emotion e_what; SF_DivorceEnd(); end; diff --git a/custom/etc/monster_arena.txt b/custom/etc/monster_arena.txt index 1fbe6cb..c973cd0 100644 --- a/custom/etc/monster_arena.txt +++ b/custom/etc/monster_arena.txt @@ -225,7 +225,7 @@ L_High: close2; savepoint "gon_test",56,99; set @battle,1; - atcommand strcharinfo(0) + "@option 64 0 64"; + atcommand "@option 64 0 64"; warp "gon_test",72,87; end; @@ -233,7 +233,7 @@ L_4to6: close2; savepoint "gon_test",56,99; set @battle,1; - atcommand strcharinfo(0) + "@option 64 0 64"; + atcommand "@option 64 0 64"; warp "gon_test",57,86; end; @@ -241,7 +241,7 @@ L_1to3: close2; savepoint "gon_test",56,99; set @battle,1; - atcommand strcharinfo(0) + "@option 64 0 64"; + atcommand "@option 64 0 64"; warp "gon_test",43,87; end; @@ -249,7 +249,7 @@ L_Exit: close2; savepoint "prontera",149,186; set @battle,0; - atcommand strcharinfo(0) + "@option 0 0 0"; + atcommand "@option 0 0 0"; warp "prontera",149,186; end; @@ -257,7 +257,7 @@ L_Spec: close2; savepoint "gon_test",56,99; set @battle,0; - atcommand strcharinfo(0) + "@option 0 0 0"; + atcommand "@option 0 0 0"; warp "gon_test",57,99; end; @@ -325,13 +325,13 @@ L_Sell: mes "You have: ^FF0000" + #monpoints + "^000000 experience points"; mes "How many would you like to sell?"; next; - input @sellexp; - if (@sellexp > #monpoints) goto L_NoExp; - set #monpoints,#monpoints-@sellexp; - set @sellearn,100*@sellexp; // Price of exp - set Zeny, Zeny+@sellearn; + input .@sellexp; + if (.@sellexp > #monpoints) goto L_NoExp; + set #monpoints,#monpoints-.@sellexp; + set .@sellearn,100*.@sellexp; // Price of exp + set Zeny, Zeny+.@sellearn; mes "[Monster Trainer]"; - mes "You earned ^0000FF" + @sellearn + "^000000z."; + mes "You earned ^0000FF" + .@sellearn + "^000000z."; close; @@ -716,9 +716,7 @@ gon_test,56,91,6 script OnSpecialKilled -1,{ } function script duelkill { - if (strcharinfo(0) == $@duelist1$ || strcharinfo(0) == $@duelist2$) goto L_Heal; - end; -L_Heal: + if (strcharinfo(0) != $@duelist1$ && strcharinfo(0) != $@duelist2$) end; announce strcharinfo(0) + " won the Duel",1; set @fighting,0; set #heal,0; @@ -744,8 +742,8 @@ gon_test,55,103,6 script Nurse 90,{ end; L_Heal: - set @healrate,140 / #monster; //Rate of heal per click - set @healing,@healing + @healrate; + set .@healrate,140 / #monster; //Rate of heal per click + set @healing,@healing + .@healrate; end; L_NoHeal: @@ -770,8 +768,7 @@ gon_test mapflag noskill // Duel Arena // gon_test,58,103,5 script Duel Master#01 92,{ - if ($@duelist1$ == "") set @duel,0; - if ($@monster1 == "") set @duel,0; + if ($@duelist1$ == "" || $@monster1 == 0) set $@duel,0; set @marena,1; if (#monster == 0) goto L_NoMon; mes "[Duel Master]"; @@ -799,7 +796,7 @@ gon_test,58,103,5 script Duel Master#01 92,{ set $@duelist1$,strcharinfo(0); set @battle,1; announce strcharinfo(0) + " [Monster Level: " + $@monster1 + "] is waiting for a duel",1; - atcommand strcharinfo(0) + "@option 64 0 64"; + atcommand "@option 64 0 64"; warp "gon_test",49,5; close; @@ -827,7 +824,7 @@ L_Duel2: set $@duelist2$,strcharinfo(0); set @battle,1; announce strcharinfo(0) + " [Monster Level: " + $@monster2 + "] has joined the duel",1; - atcommand strcharinfo(0) + "@option 64 0 64"; + atcommand "@option 64 0 64"; warp "gon_test",49,5; close; @@ -840,7 +837,7 @@ L_Dueling: L_Spec: set @battle,0; - atcommand strcharinfo(0) + "@option 64 0 64"; + atcommand "@option 64 0 64"; warp "gon_test",49,5; close; @@ -873,14 +870,14 @@ L_Leave: if ($@duelist2$ == strcharinfo(0)) goto L_Leave2; L_Leave3: - atcommand strcharinfo(0) + "@option 0 0 0"; + atcommand "@option 0 0 0"; set @battle,0; warp "gon_test",57,99; close; L_Leave1: - set $@duelist1$,$@duelist2$; - set $@monster1,$@monster2; + set $@duelist1$,""; + set $@monster1,0; set $@duel,$@duel-1; announce strcharinfo(0) + " stopped dueling",1; goto L_Leave3; diff --git a/custom/etc/mvp_arena.txt b/custom/etc/mvp_arena.txt index 4a860e7..27714d4 100644 --- a/custom/etc/mvp_arena.txt +++ b/custom/etc/mvp_arena.txt @@ -38,7 +38,7 @@ quiz_00,49,31,4 script MVP Arena Guide 778,{ mes "There are eight rooms per Keeper, and sixteen MVPs in total."; close; case 2: - specialeffect2 313; + specialeffect2 EF_HEAL2; percentheal 100,100; close; case 3: @@ -51,19 +51,19 @@ quiz_00,49,31,4 script MVP Arena Guide 778,{ // Keepers function script Keeper { + set .@arg, getarg(0); mes "[ ^0065DF"+strnpcinfo(1)+"^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 .@menu$, .@menu$+"Arena "+.@i+" ["+getmapusers("pvp_n_"+.@i+"-"+.@arg)+"/20]:"; set .@i, select(.@menu$); - if (getmapusers("pvp_n_"+.@i+"-"+getarg(0))>19) { + if (getmapusers("pvp_n_"+.@i+"-"+ .@arg)>19) { mes "[ ^0065DF"+strnpcinfo(1)+"^000000 ]"; mes "Sorry, this arena is full!"; close; } - warp "pvp_n_"+.@i+"-"+getarg(0),102,102; + warp "pvp_n_"+.@i+"-"+ .@arg,102,102; close; } quiz_00,56,31,4 script Alpha MVP 770,{ callfunc "Keeper",2; } @@ -78,7 +78,7 @@ function script Protector { warp getarg(0),102,102; end; case 2: - specialeffect2 313; + specialeffect2 EF_HEAL2; percentheal 100,100; end; case 3: diff --git a/custom/etc/mvp_room.txt b/custom/etc/mvp_room.txt new file mode 100644 index 0000000..1a970a1 --- /dev/null +++ b/custom/etc/mvp_room.txt @@ -0,0 +1,401 @@ +//===== rAthena Script ======================================= +//= Private MVP & Branch Room +//===== By: ================================================== +//= AnnieRuru +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena Project +//===== Description: ========================================= +//= Allows players to rent an MVP room for personal use, +//= or for a party or guild. +//===== Additional Comments: ================================= +//= 1.0 First version, edited. [Euphy] +//============================================================ + +prontera,148,174,5 script Private MVP Room 100,{ + mes "[Private MVP Room]"; + mes "Please select a private MVP room."; + if ( getvariableofnpc( .rentcost, "MVP Summoner" ) ) + mes "The cost to rent a room for "+ getvariableofnpc( .timeout, "MVP Summoner" ) +" minutes is "+ callfunc("F_InsertComma", getvariableofnpc( .rentcost, "MVP Summoner" ) ) +" zeny."; + else + mes "You can only use the room for only "+ getvariableofnpc( .timeout, "MVP Summoner" ) +" minutes."; + mes " "; + for ( .@i = 1; .@i <= 8; .@i++ ) + if ( getvariableofnpc( .renttime[.@i], "MVP Summoner" ) ) + mes "Room #"+ .@i +" = "+ .color$[ .type[.@i] ] + .whoinuse$[.@i] +"^000000"; + next; + .@room = select( + "MVP Room 1 ["+ getmapusers("06guild_01") +"]", + "MVP Room 2 ["+ getmapusers("06guild_02") +"]", + "MVP Room 3 ["+ getmapusers("06guild_03") +"]", + "MVP Room 4 ["+ getmapusers("06guild_04") +"]", + "MVP Room 5 ["+ getmapusers("06guild_05") +"]", + "MVP Room 6 ["+ getmapusers("06guild_06") +"]", + "MVP Room 7 ["+ getmapusers("06guild_07") +"]", + "MVP Room 8 ["+ getmapusers("06guild_08") +"]"); + if ( getvariableofnpc( .renttime[.@room], "MVP Summoner" ) ) { + if ( .inuseid[.@room] == getcharid( .type[.@room] ) ) { + warp "06guild_0"+ .@room, 0,0; + close; + } else { + mes "[Private MVP Room]"; + mes "This room is reserved for "; + mes .color$[ .type[.@room] ] + .whoinuse$[.@room] +"^000000."; + mes "Please select another."; + close; + } + } + mes "[Private MVP Room]"; + mes "Reserve this room for..."; + next; + set .@type, select( "For my party members", "For my guild members", "For personal account use" ); + if ( !getcharid(.@type) ) { + mes "[Private MVP Room]"; + mes "You do not own a "+( ( .@type == 1 )? "Party" : "Guild" )+"."; + close; + } + else if ( Zeny < getvariableofnpc( .rentcost, "MVP Summoner" ) ) { + mes "You don't have enough zeny to rent a room."; + close; + } + else if ( getvariableofnpc( .renttime[.@room], "MVP Summoner" ) ) { + mes "[Private MVP Room]"; + mes "I'm sorry, somebody else has already registered this room faster than you."; + close; + } + for ( .@i = 1; .@i <= 8; .@i++ ) { + if ( ( getvariableofnpc( .renttime[.@i], "MVP Summoner" ) ) && .@type == .type[.@i] && getcharid(.@type) == .inuseid[.@i] ) { + mes "[Private MVP Room]"; + mes "You already rented Room#"+ .@i +". Use that room instead."; + close; + } + } + set .type[.@room], .@type; + set .inuseid[.@room], getcharid(.@type); + set .whoinuse$[.@room], strcharinfo( ( .@type == 3 )? 0 : .@type ); + Zeny -= getvariableofnpc( .rentcost, "MVP Summoner" ); + warp "06guild_0"+ .@room, 0,0; + killmonsterall "06guild_0"+ .@room; + donpcevent "MVP Summoner#"+ .@room +"::OnEnterMap"; + close; +OnInit: + .color$[1] = "^EE8800"; // party color + .color$[2] = "^70CC11"; // guild color + .color$[3] = "^0000FF"; // account color + end; +} + +- script MVP Summoner -1,{ + mes "[MVP Summoner]"; + mes "Time left: " + callfunc( "Time2Str", .renttime[ atoi( strnpcinfo(2) ) ] + .timeout * 60 ); + mes "Hi, what can I do for you?"; + next; + switch ( select(.menu$) ) { + case 1: + mes "[MVP Summoner]"; + if ( mobcount( "this", strnpcinfo(3)+"::OnMobDead" ) ) { + mes "I cannot offer heal service when there are monsters around."; + close; + } + sc_end SC_STONE; + sc_end SC_SLOWDOWN; + sc_end SC_FREEZE; + sc_end SC_SLEEP; + sc_end SC_CURSE; + sc_end SC_SILENCE; + sc_end SC_CONFUSION; + sc_end SC_BLIND; + sc_end SC_BLEEDING; + sc_end SC_DECREASEAGI; + sc_end SC_POISON; + sc_end SC_HALLUCINATION; + sc_end SC_STRIPWEAPON; + sc_end SC_STRIPARMOR; + sc_end SC_STRIPHELM; + sc_end SC_STRIPSHIELD; + sc_end SC_CHANGEUNDEAD; + sc_end SC_ORCISH; + sc_end SC_BERSERK; + sc_end SC_SKE; + sc_end SC_SWOO; + sc_end SC_SKA; + percentheal 100,100; + specialeffect2 EF_HEAL; + mes "You are completely healed."; + close; + case 2: + if ( mobcount( "this", strnpcinfo(3)+"::OnMobDead" ) ) { + mes "[MVP Summoner]"; + mes "I cannot summon another MVP when there are monsters around."; + close; + } else if ( .mvpcost ) { + mes "[MVP Summoner]"; + mes "The cost to summon an MVP is "+ callfunc( "F_InsertComma", .mvpcost ) +" zeny."; + next; + set .@menu, select(.mvpid_menu$) -1; + mes "[MVP Summoner]"; + if ( Zeny < .mvpcost ) { + mes "You don't have enough zeny to summon an MVP."; + close; + } + } else { + set .@menu, select(.mvpid_menu$) -1; + mes "[MVP Summoner]"; + } + mes "Please get ready."; + close2; + if ( Zeny < .mvpcost ) end; + Zeny -= .mvpcost; + monster "this", 0, 0, "--ja--", .mvpid[.@menu], 1, strnpcinfo(3)+"::OnMobDead"; + end; + case 3: + if ( mobcount( "this", strnpcinfo(3)+"::OnMobDead" ) ) { + mes "[MVP Summoner]"; + mes "I cannot summon another mini-boss when there are monsters around."; + close; + } else if ( .bosscost ) { + mes "[MVP Summoner]"; + mes "The cost to summon a mini-boss is "+ callfunc( "F_InsertComma", .bosscost ) +" zeny."; + next; + set .@menu, select(.bossid_menu$) -1; + mes "[MVP Summoner]"; + if ( Zeny < .bosscost ) { + mes "You doesn't have enough zeny to summon a mini-boss."; + close; + } + } else { + set .@menu, select(.bossid_menu$) -1; + mes "[MVP Summoner]"; + } + mes "Please get ready."; + close2; + if ( Zeny < .bosscost ) end; + Zeny -= .bosscost; + monster "this", 0, 0, "--ja--", .bossid[.@menu], 1, strnpcinfo(3)+"::OnMobDead"; + end; + case 4: + if ( mobcount( "this", strnpcinfo(3)+"::OnMobDead" ) > 0 ) { + mes "[MVP Summoner]"; + mes "I cannot offer this service when there are monsters around."; + close; + } + close2; + callshop "MVP room#branch", 1; + end; + case 5: + mes "[MVP Summoner]"; + mes "Are you sure you want to leave this room?"; + next; + if ( select( "Yes:No") == 1 ) + warp .respawnmap$, .respawnx, .respawny; + close; + case 6: + mes "[MVP Summoner]"; + if ( getmapusers( strcharinfo(3) ) > 1 ) { + mes "There are still some players in this room. Make sure you are the last member in this room to use this option."; + close; + } + mes "Are you sure you want to give up this room?"; + if ( .rentcost ) + mes "You will need to pay again to enter this room."; + next; + if ( select( "Yes", "No" ) == 2 ) close; + awake strnpcinfo(0); + end; + } + close; + +OnMobDead: + end; + +OnEnterMap: + .@id = atoi( strnpcinfo(2) ); + .renttime[.@id] = gettimetick(2); + sleep .timeout * 60000; + mapwarp strnpcinfo(4), .respawnmap$, .respawnx, .respawny; + .renttime[.@id] = 0; + killmonsterall strnpcinfo(4); + end; + +OnInit: + if ( !getstrlen( strnpcinfo(2) ) ) { + +// Config --------------------------------------------------------------------------------------- + + // Room rental time, in minutes. + // When time runs out, all players inside the room will be kicked out. + // Do NOT set this to zero! + set .timeout, 60; + + set .rentcost, 100000; // Zeny cost for renting a room (0 = free) + set .mvpcost, 100000; // Zeny cost to summon an MVP (0 = free) + set .bosscost, 50000; // Zeny cost to summon a boss monster (0 = free) + + // Options setting inside MVP room + set .@menu[1], 1; // Turn Heal option On/Off + set .@menu[2], 1; // Turn MVP Summoning On/Off + set .@menu[3], 1; // Turn Mini boss Summoning On/Off + set .@menu[4], 0; // Sell items (branches) On/Off (see shop below, before the mapflags) + + // Respawn point when players leave the room + set .respawnmap$, "prontera"; + set .respawnx, 150; + set .respawny, 174; + + setarray .mvpid[0], + 1511,// Amon Ra + 1647,// Assassin Cross Eremes + 1785,// Atroce + 1630,// Bacsojin + 1039,// Baphomet + 1874,// Beelzebub + 1272,// Dark Lord + 1719,// Datale + 1046,// Doppelgangger + 1389,// Dracula + 1112,// Drake + 1115,// Eddga + 1418,// Evil Snake Lord + 1871,// Fallen Bishop + 1252,// Garm + 1768,// Gloom Under Night + 1086,// Golden Thief Bug + 1885,// Gopinich + 1649,// High Priest Magaleta + 1651,// High Wizard Katrinn + 1832,// Ifrit + 1492,// Incantation Samurai + 1734,// Kiel D-01 + 1251,// Knight of Windstorm + 1779,// Ktullanux + 1688,// Lady Tanee + 1646,// Lord Knight Seyren + 1373,// Lord of Death + 1147,// Maya + 1059,// Mistress + 1150,// Moonlight Flower + 1087,// Orc Hero + 1190,// Orc Lord + 1038,// Osiris + 1157,// Pharaoh + 1159,// Phreeoni + 1623,// RSX 0806 + 1650,// Sniper Shecil + 1583,// Tao Gunka + 1708,// Thanatos + 1312,// Turtle General + 1751,// Valkyrie Randgris + 1685,// Vesper + 1648,// Whitesmith Harword + 1917,// Wounded Morroc + 1658;// Ygnizem + + setarray .bossid[0], + 1096,// Angeling + 1388,// Archangeling + 1795,// Bloody Knight + 1830,// Bow Guardian + 1839,// Byorgue + 1309,// Cat O' Nine Tail + 1283,// Chimera + 1302,// Dark Illusion + 1198,// Dark Priest + 1582,// Deviling + 1091,// Dragon Fly + 1093,// Eclipse + 1205,// Executioner + 1783,// Galion + 1592,// Gangster + 1120,// Ghostring + 1259,// Gryphon + 1720,// Hydro + 1090,// Mastering + 1289,// Maya Purple + 1262,// Mutant Dragon + 1203,// Mysteltainn + 1870,// Necromancer + 1295,// Owl Baron + 1829,// Sword Guardian + 1204,// Tirfing + 1089,// Toad + 1092,// Vagabond Wolf + 1765;// Valkyrie + +// Config Ends ------------------------------------------------------------------------ + + if ( !.timeout ) set .timeout, 60; + .menu$ = ( .@menu[1] ? "Heal" : "" ) +":" ; + .menu$ = .menu$ + ( .@menu[2] ? "Summon MVP" : "" ) +":"; + .menu$ = .menu$ + ( .@menu[3] ? "Summon Mini-boss" : "" ) +":"; + .menu$ = .menu$ + ( .@menu[4] ? "Buy branches" : "" ) +":"; + .menu$ = .menu$ + "Leave this room:Give up this room"; + if ( .@menu[2] ) { + .@size = getarraysize( .mvpid ); + for ( .@i = 0; .@i < .@size; .@i++ ) + .mvpid_menu$ = .mvpid_menu$ + getmonsterinfo( .mvpid[.@i], MOB_NAME ) +":"; + } + if ( .@menu[3] ) { + .@size = getarraysize( .bossid ); + for ( .@i = 0; .@i < .@size; .@i++ ) + .bossid_menu$ = .bossid_menu$ + getmonsterinfo( .bossid[.@i], MOB_NAME ) +":"; + } + } + else { + mapannounce strnpcinfo(4), "An administrator has refreshed the server. Please re-register this room.", bc_map; + mapwarp strnpcinfo(4), .respawnmap$, .respawnx, .respawny; + } + end; +} + +- shop MVP room#branch -1,604:100000,12103:1000000 + +06guild_01,49,49,4 duplicate(MVP Summoner) MVP Summoner#1 116 +06guild_02,49,49,4 duplicate(MVP Summoner) MVP Summoner#2 116 +06guild_03,49,49,4 duplicate(MVP Summoner) MVP Summoner#3 116 +06guild_04,49,49,4 duplicate(MVP Summoner) MVP Summoner#4 116 +06guild_05,49,49,4 duplicate(MVP Summoner) MVP Summoner#5 116 +06guild_06,49,49,4 duplicate(MVP Summoner) MVP Summoner#6 116 +06guild_07,49,49,4 duplicate(MVP Summoner) MVP Summoner#7 116 +06guild_08,49,49,4 duplicate(MVP Summoner) MVP Summoner#8 116 + +06guild_01 mapflag nowarpto +06guild_02 mapflag nowarpto +06guild_03 mapflag nowarpto +06guild_04 mapflag nowarpto +06guild_05 mapflag nowarpto +06guild_06 mapflag nowarpto +06guild_07 mapflag nowarpto +06guild_08 mapflag nowarpto +06guild_01 mapflag nomemo +06guild_02 mapflag nomemo +06guild_03 mapflag nomemo +06guild_04 mapflag nomemo +06guild_05 mapflag nomemo +06guild_06 mapflag nomemo +06guild_07 mapflag nomemo +06guild_08 mapflag nomemo +06guild_01 mapflag noteleport +06guild_02 mapflag noteleport +06guild_03 mapflag noteleport +06guild_04 mapflag noteleport +06guild_05 mapflag noteleport +06guild_06 mapflag noteleport +06guild_07 mapflag noteleport +06guild_08 mapflag noteleport +06guild_01 mapflag nosave SavePoint +06guild_02 mapflag nosave SavePoint +06guild_03 mapflag nosave SavePoint +06guild_04 mapflag nosave SavePoint +06guild_05 mapflag nosave SavePoint +06guild_06 mapflag nosave SavePoint +06guild_07 mapflag nosave SavePoint +06guild_08 mapflag nosave SavePoint +06guild_01 mapflag nopenalty +06guild_02 mapflag nopenalty +06guild_03 mapflag nopenalty +06guild_04 mapflag nopenalty +06guild_05 mapflag nopenalty +06guild_06 mapflag nopenalty +06guild_07 mapflag nopenalty +06guild_08 mapflag nopenalty \ No newline at end of file diff --git a/custom/etc/penal_servitude.txt b/custom/etc/penal_servitude.txt index 25cae1e..70fa77a 100644 --- a/custom/etc/penal_servitude.txt +++ b/custom/etc/penal_servitude.txt @@ -19,23 +19,19 @@ sec_pri,36,58,1 script Chief Warder 105,{ mes "[Saddeus]"; emotion e_what; - if (Sex) { - mes "Mr. Prisoner #"+BaseLevel+JobLevel+","; - } else { - mes "Ms. Prisoner #"+BaseLevel+JobLevel+","; - } + mes (Sex?"Mr.":"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."; + set .@MUSTPAY,(PRISON+1)*1000000; + if (.@MUSTPAY<1000000) set .@MUSTPAY,1000000; + if (.@MUSTPAY>100000000) set .@MUSTPAY,100000000; + if (PRISON==0) mes "I can't remember you. Is it your 1st time?"; + if (PRISON>0) mes "You again? Somebody 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.",-; @@ -44,8 +40,8 @@ M_PAY: close; M_PAYCASH: - if (@MUSTPAY>Zeny) goto L_NOCASH; - set Zeny,Zeny-@MUSTPAY; + if (.@MUSTPAY>Zeny) goto L_NOCASH; + set Zeny,Zeny-.@MUSTPAY; mes "[Saddeus]"; mes "OK, sing here and there."; goto L_RELEASE; @@ -56,8 +52,8 @@ L_NOCASH: close; M_PAYBANK: - if (@MUSTPAY>#kafrabank) goto L_NOBANK; - set #kafrabank,#kafrabank-@MUSTPAY; + 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; @@ -96,10 +92,10 @@ M_Q1: nude; - set @rw,rand(1,4); - if (@rw==2) goto L_W2; - if (@rw==3) goto L_W3; - if (@rw==4) goto L_W4; + 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; diff --git a/custom/etc/quest_warper.txt b/custom/etc/quest_warper.txt index 988aec6..e273908 100644 --- a/custom/etc/quest_warper.txt +++ b/custom/etc/quest_warper.txt @@ -454,7 +454,7 @@ Zeny_short_SP: L_Storage: next; - if(basicskillcheck() > 0 && getskilllv("NV_BASIC") < 6) goto L_StorageJBlow; + if(!callfunc("F_CanOpenStorage")) 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; @@ -481,7 +481,10 @@ L_Storage: 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."; + if (Class == Job_Summoner) + mes "I am sorry but you must have the New Basic Skill if you want to use the storage."; + else + mes "I am sorry but you must have the Basic Skill at least level 6 if you want to use the storage."; return; L_GStorage: diff --git a/custom/etc/rpsroulette.txt b/custom/etc/rpsroulette.txt index 2dc8c73..a04e028 100644 --- a/custom/etc/rpsroulette.txt +++ b/custom/etc/rpsroulette.txt @@ -14,270 +14,112 @@ //============================================================ cmd_in02,182,126,2 script Crazy Boris 85,{ - mes "Crazy Boris"; - set @counter,1; + set .@counter,1; mes "Hey you! Up for Rock Scissors Roulette?"; next; menu "Let me play.",PLAY,"Explain the rules.",RULES,"Leave",LEAVE; - SAME: +SAME: mes "Draw! Again!"; next; - goto PLAY; +PLAY: + mes "Rock... Paper..."; + set .@opp, rand(1,3); + menu "^0000FFROCK!",-,"^FF0000SCISSORS!",SCISSORS,"^00FF00PAPER!^000000",PAPER; + + if (.@lastchoice == 1) set .@opp, rand(1,3); + if (.@opp == 1) emotion e_rock; + else if (.@opp == 2) emotion e_scissors; + else emotion e_paper; + set .@lastchoice,1; + if (.@opp == 1) goto SAME; + if (.@opp == 2) goto WIN; + goto LOSE; + +SCISSORS: + if (.@lastchoice == 2) set .@opp,rand(1,2); + if (.@opp == 1) emotion e_rock; + else if (.@opp == 2) emotion e_scissors; + else emotion e_paper; + set .@lastchoice,2; + if (.@opp == 1) goto LOSE; + if (.@opp == 2) goto SAME; + goto WIN; + +PAPER: + if (.@lastchoice == 3) set .@opp,rand(2,3); + if (.@opp == 1) emotion e_rock; + else if (.@opp == 2) emotion e_scissors; + else emotion e_paper; + set .@lastchoice,3; + if (.@opp == 1) goto WIN; + if (.@opp == 2) goto LOSE; + goto SAME; WIN: mes "Damnit, You Win!"; emotion e_swt2; next; - goto OPPPULL; + set .@win, 1; + goto YOUPULL; LOSE: emotion e_heh; mes "Boorah! You Lose!"; next; - goto YOUPULL; - -PLAY: - mes "Rock... Paper..."; - set @opp,rand (1,3); - menu "^0000FFROCK!",ROCK,"^FF0000SCISSORS!",SCISSORS,"^00FF00PAPER!^000000",PAPER; - -ROCK: - if (@lastchoice == 1) set @opp,rand (1,3); - if (@opp == 1) emotion e_rock; - if (@opp == 2) emotion e_scissors; - if (@opp == 3) emotion paper; - set @lastchoice,1; - if (@opp == 1) goto SAME; - if (@opp == 2) goto WIN; - if (@opp == 3) goto LOSE; - -SCISSORS: - if (@lastchoice == 2) set @opp,rand (1,2); - if (@opp == 1) emotion e_rock; - if (@opp == 2) emotion e_scissors; - if (@opp == 3) emotion paper; - set @lastchoice,2; - if (@opp == 1) goto LOSE; - if (@opp == 2) goto SAME; - if (@opp == 3) goto WIN; - -PAPER: - if (@lastchoice == 3) set @opp,rand (2,3); - if (@opp == 1) emotion e_rock; - if (@opp == 2) emotion e_scissors; - if (@opp == 3) emotion paper; - set @lastchoice,3; - if (@opp == 1) goto WIN; - if (@opp == 2) goto LOSE; - if (@opp == 3) goto SAME; + set .@win, 0; YOUPULL: - if (@counter == 1) goto ONE; - if (@counter == 2) goto TWO; - if (@counter == 3) goto THREE; - if (@counter == 4) goto FOUR; - if (@counter == 5) goto FIVE; - if (@counter == 6) goto SIX; - -OPPPULL: - if (@counter == 1) goto ONEa; - if (@counter == 2) goto TWOa; - if (@counter == 3) goto THREEa; - if (@counter == 4) goto FOURa; - if (@counter == 5) goto FIVEa; - if (@counter == 6) goto SIXa; - -ONE: - set @counter,2; - mes "1 of 6"; - set @pull,rand (1,6); - next; - if (@pull == 1) goto DIE; - if (@pull != 1) goto SAFE; - -TWO: - set @counter,3; - mes "2 of 6"; - set @pull,rand (1,5); - next; - if (@pull == 1) goto DIE; - if (@pull != 1) goto SAFE; - -THREE: - set @counter,4; - mes "3 of 6"; - set @pull,rand (1,4); - next; - if (@pull == 1) goto DIE; - if (@pull != 1) goto SAFE; - -FOUR: - set @counter,5; - mes "4 of 6"; - set @pull,rand (1,3); - next; - if (@pull == 1) goto DIE; - if (@pull != 1) goto SAFE; - -FIVE: - set @counter,6; - mes "5 of 6"; - set @pull,rand (1,2); - if (@pull == 1) set @pull,rand (1,2); - next; - if (@pull == 1) goto DIE; - if (@pull != 1) goto SAFE; - -SIX: - mes "6 of 6"; - mes "Say your prayers"; - set @pull,1; - next; - if (@pull == 1) goto DIE; - if (@pull != 1) goto SAFE; - -ONEa: - set @counter,2; - mes "1 of 6"; - set @pull,rand (1,6); - next; - if (@pull == 1) goto KILL; - if (@pull != 1) goto SAFE; - -TWOa: - set @counter,3; - mes "2 of 6"; - set @pull,rand (1,5); - next; - if (@pull == 1) goto KILL; - if (@pull != 1) goto SAFE; - -THREEa: - set @counter,4; - mes "3 of 6"; - set @pull,rand (1,4); - next; - if (@pull == 1) goto KILL; - if (@pull != 1) goto SAFE; - -FOURa: - set @counter,5; - mes "4 of 6"; - set @pull,rand (1,3); - next; - if (@pull == 1) goto KILL; - if (@pull != 1) goto SAFE; - -FIVEa: - set @counter,6; - mes "5 of 6"; - set @pull,rand (1,2); - next; - if (@pull == 1) goto KILL; - if (@pull != 1) goto SAFE; - -SIXa: - mes "6 of 6"; - mes "Say your prayers"; - set @pull,1; - next; - if (@pull == 1) goto KILL; - if (@pull != 1) goto SAFE; - -SAFE: + mes .@counter +" of 6"; + if ( .@counter == 6 ) + mes "Say your prayers"; + set .@pull, rand( 1,( 7 -.@counter ) ); + set .@counter, .@counter +1; + next; + if ( .@pull == 1 ) { + if ( .@win ) goto KILL; + specialeffect2 EF_SUI_EXPLOSION; + emotion e_gg; + percentheal -100,-100; + mes "*^0000FFClick^000000* *^FF0000BANG^000000*"; + mes "You're dead!"; + close; + } emotion e_pif; mes "*^0000FFClick^000000* whew..."; goto PLAY; -DIE: - specialeffect2 EF_SUI_EXPLOSION; - emotion e_gg; - percentheal -100,-100; - mes "*^0000FFClick^000000* *^FF0000BANG^000000*"; - mes "You're dead!"; - close; - -KILL: - specialeffect EF_SUI_EXPLOSION; - emotion e_omg; - mes "*^0000FFClick^000000* *^FF0000BANG^000000*"; - mes "OWWW @#$%^!! THAT HURT LIKE HELL!!"; - next; - goto PRIZE; - RULES: mes "Ok here are the rules:"; mes "I have with me a ^FF00006^000000 chamber pistol with ^FF00001^000000 round. First we play ^FF0000Scissors ^00FF00Paper ^0000FFRock^000000. The loser pulls the trigger. The winner is whoever comes out best."; mes "Beat me to win a prize."; - menu "Let me play.",CONT,"No thanks.",LEAVE; - -CONT: + next; + menu "Let me play.",-,"No thanks.",LEAVE; mes "Ok here we go..."; next; goto PLAY; -PRIZE: +KILL: + specialeffect EF_SUI_EXPLOSION; + emotion e_omg; + mes "*^0000FFClick^000000* *^FF0000BANG^000000*"; + mes "OWWW @#$%^!! THAT HURT LIKE HELL!!"; + next; mes "Congratulations! You have won..."; - set @prize,rand (1,10); - if (@prize == 1) goto P1; - if (@prize == 2) goto P2; - if (@prize == 3) goto P3; - if (@prize == 4) goto P4; - if (@prize == 5) goto P5; - if (@prize == 6) goto P6; - if (@prize == 7) goto P7; - if (@prize == 8) goto P8; - if (@prize == 9) goto P9; - if (@prize == 10) goto P10; - -P1: - mes "10x Oridicon!"; - getitem 984,10; - close; - -P2: - mes "10x Elunium!"; - getitem 985,10; - close; - -P3: - mes "100x Fly Wings!"; - getitem 601,100; - close; - -P4: - mes "8x Old Blue Box!"; - getitem 603,8; - close; - -P5: - mes "4x Old Violet Box!"; - getitem 617,4; - close; - -P6: - mes "1x Old Card Album!"; - getitem 616,1; - close; - -P7: - mes "10x Dead Branch!"; - getitem 604,10; - close; - -P8: - mes "3x Gold!"; - getitem 969,3; - close; - -P9: - mes "10x Elunium!"; - getitem 985,10; - close; - -P10: - mes "20x Blue Potion!"; - getitem 505,20; + 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; LEAVE: diff --git a/custom/etc/shifty_assassin.txt b/custom/etc/shifty_assassin.txt index f93cb32..9ef0f03 100644 --- a/custom/etc/shifty_assassin.txt +++ b/custom/etc/shifty_assassin.txt @@ -14,27 +14,22 @@ //============================================================ morocc,148,86,5 script Shifty Assassin 725,{ - set $ninja_price,250000; + set .@ninja_price,250000; // STARTS THE MENU // M_Start: mes "[Shifty Assassin]"; mes "What do you want?"; next; - if (getgmlevel() > 90) goto M_GM; - menu "Buy Ninjas",M_Buy,"Assassinate somebody",M_Kill,"Check your Ninjas",M_Check,"Cancel",M_Exit; -M_GM: - menu "Buy Ninjas",M_Buy,"Assassinate somebody",M_Kill,"Check your Ninjas",M_Check,"Add Ninjas",M_Add,"Cancel",M_Exit; + menu "Buy Ninjas",M_Buy,"Assassinate somebody",M_Kill,"Check your Ninjas",M_Check, ( getgmlevel() > 90 ? "Add Ninjas" : "" ),-,"Cancel",M_Exit; // GM MENU TO ADD NINJAS // -M_Add: mes "[Shifty Assassin]"; mes "How many ninjas do you want to make available?"; next; - set @add,0; - input @add; - set $ninja_avail,$ninja_avail+@add; - mes @add + " ninjas added."; + input .@add; + set $ninja_avail, $ninja_avail+.@add; + mes .@add +" ninjas added."; close; // BUY NINJAS // @@ -42,24 +37,23 @@ M_Buy: mes "[Shifty Assassin]"; mes "How many ninjas do you want buy?"; mes "There are ^0000FF" + $ninja_avail + "^000000 ninjas available."; - mes "They cost ^0000FF" + $ninja_price + " zeny ^000000each."; + mes "They cost ^0000FF" + .@ninja_price + " zeny ^000000each."; - set @buy,0; - input @buy; + input .@buy; next; if ($ninja_avail < 1) goto NoNinjas; - if ($ninja_avail < @buy) goto NotEnoughNinjas; - set @price,@buy*$ninja_price; - if (Zeny < @price) goto NoZeny; + if ($ninja_avail < .@buy) goto NotEnoughNinjas; + set .@price, .@buy*.@ninja_price; + if (Zeny < .@price) goto NoZeny; mes "[Shifty Assassin]"; - mes "That will cost you ^0000FF" + @price + " zeny^000000."; + mes "That will cost you ^0000FF"+ .@price +" zeny^000000."; next; menu "Continue",-,"Cancel",M_Exit; - set Zeny, Zeny-@price; - set #ninjas,#ninjas+@buy; - set $ninja_avail,$ninja_avail-@buy; + set Zeny, Zeny - .@price; + set #ninjas, #ninjas + .@buy; + set $ninja_avail, $ninja_avail - .@buy; mes "[Shifty Assassin]"; mes "Thank you."; @@ -73,34 +67,38 @@ M_Kill: mes "^FF0000Type the name exactly, otherwise I won't be able to find the victim.^000000"; next; menu "Continue",-,"Cancel",M_Exit; - set @name$,"0"; - input @name$; + input .@name$; + if ( !getcharid( 3,.@name$ ) ) { + mes "[Shifty Assassin]"; + mes .@name$ +" is not online."; + close; + } next; mes "[Shifty Assassin]"; mes "Active Ninjas: "+#ninjas; mes "Resting Ninjas: "+#ninjasr; mes "How many do you want to send?"; - set @number,0; - input @number; - if (@number < 1) goto NoNinjasSent; - if (@number > #ninjas) goto NotEnoughNinjas1; - if (@number > 10) goto TooManyNinjas; - set @chance,rand (1,12); - set #ninjas,#ninjas-@number; + input .@number; + if (.@number < 1) goto NoNinjasSent; + if (.@number > #ninjas) goto NotEnoughNinjas1; + if (.@number > 10) goto TooManyNinjas; + set .@chance, rand(1,12); + set #ninjas,#ninjas-.@number; set #ninjas,#ninjas+#ninjasr; set #ninjasr,0; - if (@number < @chance) goto M_Failure; + if (.@number < .@chance) goto M_Failure; // SUCCESSFUL ATTACK // mes "Sending ninjas now."; next; mes "[Shifty Assassin]"; - set @ninjasurvived,rand (1,@number); - set #ninjasr,@number-@ninjasurvived; + set .@ninjasurvived, rand(1,.@number); + set #ninjasr,.@number-.@ninjasurvived; mes "Your attack succeeded but only ^FF0000" + #ninjasr + "^000000 Ninjas survived."; - - atcommand strcharinfo(0) + "@kill "+@name$; - announce @name$+" has been assassinated by " + strcharinfo(0) +"'s Ninjas.",bc_npc; + set .@acc_id, getcharid( 3,.@name$ ); + if ( .@acc_id ) + unitkill .@acc_id; + announce .@name$ +" has been assassinated by " + strcharinfo(0) +"'s Ninjas.",bc_npc; close; // FAILED ATTACK // @@ -108,11 +106,11 @@ M_Failure: mes "Sending ninjas now."; next; mes "[Shifty Assassin]"; - set @ninjasurvived,rand (1,@number); - set #ninjasr,@number-@ninjasurvived; + set .@ninjasurvived, rand(1,.@number); + set #ninjasr, .@number-.@ninjasurvived; mes "Your attack failed and only ^FF0000" + #ninjasr + "^000000 Ninjas survived."; - announce @name$+" has survived " + strcharinfo(0) +"'s Ninja attack.",8; + announce .@name$+" has survived " + strcharinfo(0) +"'s Ninja attack.",8; close; // NINJAS BUSY FOR WOE // @@ -173,26 +171,16 @@ M_Exit: // 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; +OnClock1800: + set $ninja_avail,$ninja_avail+3; + end; OnInit: set $ninja_avail,$ninja_avail+1; end; diff --git a/custom/events/cluckers.txt b/custom/events/cluckers.txt index 6ad1d55..cd705fe 100644 --- a/custom/events/cluckers.txt +++ b/custom/events/cluckers.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Keale //===== Current Version: ===================================== -//= 1.2a +//= 1.3 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -16,6 +16,7 @@ //= 1.1 Using 'switch rand' instead. //= 1.2 Cleaned and standardized. [Euphy] //= 1.2a Switched 'atcommand' to 'unitskilluseid'. +//= 1.3 Switched 'unitskilluseid' to 'unitkill'. //============================================================ prontera,156,219,4 script Cluckers 800,{ @@ -23,32 +24,32 @@ prontera,156,219,4 script Cluckers 800,{ set .@GMAccess,80; // GM level required to access NPC if (.startcluck) { - specialeffect2 2; + specialeffect2 EF_HIT3; switch(rand(15)) { - case 0: npctalk "CLUUUUUUCK!!!"; unitskilluseid getcharid(3),"NPC_SELFDESTRUCTION",1; emotion e_omg; break; - case 1: npctalk "Cluuuuuck!~"; break; - case 2: unitskilluseid getcharid(3),"NPC_SELFDESTRUCTION",1; break; + case 0: npctalk "Cluckers : CLUUUUUUCK!!!"; unitkill getcharid(3); skilleffect "NPC_SELFDESTRUCTION",1; emotion e_omg; break; + case 1: npctalk "Cluckers : Cluuuuuck!~"; break; + case 2: unitkill getcharid(3); skilleffect "NPC_SELFDESTRUCTION",1; break; case 3: sc_start SC_Freeze,10000,0; break; - case 4: npctalk "CLUUUUUUUUUCK!!!"; unitskilluseid getcharid(3),"NPC_SELFDESTRUCTION",1; emotion e_omg; break; + case 4: npctalk "Cluckers : CLUUUUUUUUUCK!!!"; unitkill getcharid(3); skilleffect "NPC_SELFDESTRUCTION",1; emotion e_omg; break; case 5: sc_start SC_Sleep,10000,0; break; case 6: sc_start SC_Stone,10000,0; emotion e_gg; break; - case 7: npctalk "CLUUUUUUCK!!!"; unitskilluseid getcharid(3),"NPC_SELFDESTRUCTION",1; emotion e_omg; break; - case 8: npctalk "Cluck! CLUUUCK!!"; unitskilluseid getcharid(3),"NPC_SELFDESTRUCTION",1; emotion e_omg; break; + case 7: npctalk "Cluckers : CLUUUUUUCK!!!"; unitkill getcharid(3); skilleffect "NPC_SELFDESTRUCTION",1; emotion e_omg; break; + case 8: npctalk "Cluckers : Cluck! CLUUUCK!!"; unitkill getcharid(3); skilleffect "NPC_SELFDESTRUCTION",1; emotion e_omg; break; case 9: sc_start SC_Stun,10000,0; break; case 10: sc_start SC_Sleep,10000,0; emotion e_gg; break; - case 11: npctalk "Cluck! Cluck!"; break; + case 11: npctalk "Cluckers : Cluck! Cluck!"; break; case 12: sc_start SC_Stun,10000,0; break; - case 13: unitskilluseid getcharid(3),"NPC_SELFDESTRUCTION",1; break; + case 13: unitkill getcharid(3); skilleffect "NPC_SELFDESTRUCTION",1; break; default: if (rand(50) < 4) { - npctalk "WOOF!..........."; - specialeffect2 72; + npctalk "Cluckers : WOOF!..........."; + specialeffect2 EF_SPHERE; announce "[Cluck! Cluck! Boom!] " + strcharinfo(0) + " squeezed out the prize! Well done!",0; getitem $cluck_item_id,$cluck_item_amount; set .startcluck,0; } else { - npctalk "Cluck! CLUUUCK!!"; - unitskilluseid getcharid(3),"NPC_SELFDESTRUCTION",1; + npctalk "Cluckers : Cluck! CLUUUCK!!"; + unitkill getcharid(3); skilleffect "NPC_SELFDESTRUCTION",1; } break; } diff --git a/custom/events/devil_square.txt b/custom/events/devil_square.txt new file mode 100644 index 0000000..e2f2ff4 --- /dev/null +++ b/custom/events/devil_square.txt @@ -0,0 +1,235 @@ +//===== rAthena Script ======================================= +//= Devil Square +//===== By: ================================================== +//= Kirlein, Stillhard (translation), AnnieRuru (rewrite) +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Devil Square, based on the event in MU Online. +//= Defeat three waves of monsters for treasure. +//===== Additional Comments: ================================= +//= 1.0 First version, edited. [Euphy] +//============================================================ + +prontera,156,185,5 script Devil Square Guardian#1 406,{ + set .@gm_level, 99; // GM level required to start/stop the event + + mes "[Devil Square Guardian]"; + mes "This is the entrance to ^FF0000Devil Square^000000."; + mes "If you fail or die, the door will close and you must wait until the event starts again to re-enter."; + next; + switch(select("Enter.:Information.:" + ((getgmlevel() >= .@gm_level) ? "GM Menu." : "") + ":Cancel.")) { + case 1: + if (.start != 1) { // registration period + mes "[Devil Square Guardian]"; + mes "Devil Square is now closed."; + mes "It will open at these times:"; + mes "00:00 , 02:00 , 04:00 , 06:00"; // display your times here + mes "08:00 , 10:00 , 12:00 , 14:00"; + mes "16:00 , 18:00 , 20:00 , 22:00"; + close; + } + if (BaseLevel < 70 || Zeny < 20000) { // requirements + mes "[Devil Square Guardian]"; + mes "You do not meet the requirements to enter Devil Square."; + mes " "; + mes "Requirements:"; + mes " - Base Level 70"; + mes " - Registration fee 20,000z"; + close; + } + Zeny -= 20000; + announce strcharinfo(0)+" has entered Devil Square.", bc_npc; + percentheal 100,100; + warp "ordeal_1-1",183,182; + close; + case 2: + mes "[Devil Square Guardian]"; + mes "Inside, you will encounter 3 waves of monsters. The monsters will grow stronger with each wave."; + next; + mes "[Devil Square Guardian]"; + mes "If you defeat all the enemies, you will be given the opportunity to open 10 Treasure Chests with items, equipment, and rare cards inside!"; + close; + case 3: + mes "[Devil Square Guardian]"; + switch (.start) { // event states + case 0: mes "Devil Square has not yet started."; break; + case 1: mes "Devil Square is currently accepting participants."; break; + case 2: mes "Devil Square Event is currently running on Round "+ .round +" with "+ .mob +" monsters remaining."; break; + } + next; + switch(select("Start event.:Stop event.:Cancel.")) { + case 1: + mes "[Devil Square Guardian]"; + if (.start) + mes "Devil Square has already started."; + else { + mes "Starting Devil Square..."; + donpcevent strnpcinfo(0)+"::OnStartEvent"; + } + close; + case 2: + mes "[Devil Square Guardian]"; + if (!.start) + mes "Devil Square has not yet started."; + else { + mes "Stopping Devil Square..."; + donpcevent strnpcinfo(0)+"::OnStopEvent"; + } + close; + case 3: + break; + } + break; + case 4: + break; + } + mes "[Devil Square Guardian]"; + mes "Farewell."; + close; + +OnStartEvent: +OnClock0000: +OnClock0200: +OnClock0400: +OnClock0600: +OnClock0800: +OnClock1000: +OnClock1200: +OnClock1400: +OnClock1600: +OnClock1800: +OnClock2000: +OnClock2200: + .start = 1; + disablenpc "ord11-12"; //from npc/warps/pvp.txt + disablenpc "Devil Square Guardian#2"; + mapannounce "ordeal_1-1","Devil Square is now closed.", bc_map; + getmapxy .@map$, .@x, .@y, 1; + mapwarp "ordeal_1-1", .@map$, .@x, .@y; + killmonsterall "ordeal_1-1"; + announce "Devil Square is OPEN. The event will begin in 5 minutes.", bc_all; + sleep 60000; + announce "Devil Square will begin in 4 minutes.", bc_all; + sleep 60000; + announce "Devil Square will begin in 3 minutes.", bc_all; + sleep 60000; + announce "Devil Square will begin in 2 minutes.", bc_all; + sleep 60000; + announce "Devil Square will begin in 1 minute.", bc_all; + sleep 60000; + announce "Devil Square has STARTED!", bc_all; + if ( !getmapusers("ordeal_1-1") ) + goto OnStopEvent; + .start = 2; + .round = 1; + .mob = 75; + areamonster "ordeal_1-1",183,182,246,244,"[DS] SOLDIER SKELETON",1028,10,strnpcinfo(0)+"::OnDevilDead"; + areamonster "ordeal_1-1",183,182,246,244,"[DS] ORC ARCHER",1189,15,strnpcinfo(0)+"::OnDevilDead"; + areamonster "ordeal_1-1",183,182,246,244,"[DS] SANDMAN",1165,10,strnpcinfo(0)+"::OnDevilDead"; + areamonster "ordeal_1-1",183,182,246,244,"[DS] ARCHER SKELETON",1016,15,strnpcinfo(0)+"::OnDevilDead"; + areamonster "ordeal_1-1",183,182,246,244,"[DS] MINOROUS",1149,15,strnpcinfo(0)+"::OnDevilDead"; + areamonster "ordeal_1-1",183,182,246,244,"[DS] REQUIEM",1164,10,strnpcinfo(0)+"::OnDevilDead"; + end; + +OnDevilDead: + .mob--; + if ( .mob == 25 || .mob == 5 ) + announce "Devil Square : "+ .mob +" monsters remaining in round 1.", bc_map; + else if ( .mob <= 0 ) { + announce "Devil Square is entering round 2...", bc_map; + goto OnDevil2; + } + end; + +OnDevil2: + .round = 2; + .mob = 70; + areamonster "ordeal_1-1",183,182,246,244,"[DS] GARGOYLE",1253,15,strnpcinfo(0)+"::OnDevilDead2"; + areamonster "ordeal_1-1",183,182,246,244,"[DS] ALARM",1193,10,strnpcinfo(0)+"::OnDevilDead2"; + areamonster "ordeal_1-1",183,182,246,244,"[DS] HIGH ORC",1213,10,strnpcinfo(0)+"::OnDevilDead2"; + areamonster "ordeal_1-1",183,182,246,244,"[DS] INJUSTICE",1257,10,strnpcinfo(0)+"::OnDevilDead2"; + areamonster "ordeal_1-1",183,182,246,244,"[DS] MIMIC",1191,15,strnpcinfo(0)+"::OnDevilDead2"; + areamonster "ordeal_1-1",183,182,246,244,"[DS] WRAITH",1192,10,strnpcinfo(0)+"::OnDevilDead2"; + end; + +OnDevilDead2: + .mob--; + if ( .mob == 25 || .mob == 5 ) + announce "Devil Square : "+ .mob +" monsters remaining in round 2.", bc_map; + else if ( .mob <= 0 ) { + announce "Devil Square is entering round 3...", bc_map; + goto OnDevil3; + } + end; + +OnDevil3: + .round = 3; + .mob = 58; + areamonster "ordeal_1-1",183,182,246,244,"[DS] ANOLIAN",1206,15,strnpcinfo(0)+"::OnDevilDead3"; + areamonster "ordeal_1-1",183,182,246,244,"[DS] WANDERER",1208,15,strnpcinfo(0)+"::OnDevilDead3"; + areamonster "ordeal_1-1",183,182,246,244,"[DS] DEVIRUCHI",1109,10,strnpcinfo(0)+"::OnDevilDead3"; + areamonster "ordeal_1-1",183,182,246,244,"[DS] JOKER",1131,15,strnpcinfo(0)+"::OnDevilDead3"; + areamonster "ordeal_1-1",183,182,246,244,"[DS] MOONLIGHT",1150,2,strnpcinfo(0)+"::OnDevilDead3"; + areamonster "ordeal_1-1",183,182,246,244,"[DS] DARK ILLUSION",1302,1,strnpcinfo(0)+"::OnDevilDead3"; + end; + +OnDevilDead3: + .mob--; + if ( .mob == 25 || .mob == 5 ) + announce "Devil Square : "+ .mob +" monsters remaining in the final round.", bc_map; + else if ( .mob <= 0 ) { + announce "Devil Square : CONGRATULATIONS. These 10 Treasure Chests are yours.", bc_map; + goto OnDevil4; + } + end; + +OnDevil4: + .round = 4; + .mob = 10; + monster "ordeal_1-1",231,250,"Treasure Chest",1324,1,strnpcinfo(0)+"::OnTreasureDead"; + monster "ordeal_1-1",234,247,"Treasure Chest",1328,1,strnpcinfo(0)+"::OnTreasureDead"; + monster "ordeal_1-1",237,244,"Treasure Chest",1332,1,strnpcinfo(0)+"::OnTreasureDead"; + monster "ordeal_1-1",240,241,"Treasure Chest",1336,1,strnpcinfo(0)+"::OnTreasureDead"; + monster "ordeal_1-1",243,238,"Treasure Chest",1340,1,strnpcinfo(0)+"::OnTreasureDead"; + monster "ordeal_1-1",246,235,"Treasure Chest",1344,1,strnpcinfo(0)+"::OnTreasureDead"; + monster "ordeal_1-1",249,232,"Treasure Chest",1348,1,strnpcinfo(0)+"::OnTreasureDead"; + monster "ordeal_1-1",252,229,"Treasure Chest",1352,1,strnpcinfo(0)+"::OnTreasureDead"; + monster "ordeal_1-1",249,241,"Treasure Chest",1356,1,strnpcinfo(0)+"::OnTreasureDead"; + monster "ordeal_1-1",240,249,"Treasure Chest",1360,1,strnpcinfo(0)+"::OnTreasureDead"; + end; + +OnTreasureDead: + .mob--; + announce "Devil Square : "+ strcharinfo(0) +" has opened the Treasure Chest at Devil Square.", bc_all; + if ( .mob <= 0 ) + goto OnStopEvent; + end; + +OnStopEvent: + killmonsterall "ordeal_1-1"; + enablenpc "ord11-12"; //from npc/warps/pvp.txt + enablenpc "Devil Square Guardian#2"; + .start = .round = .mob = 0; + end; +} + +ordeal_1-1,246,245,7 script Devil Square Guardian#2 406,{ + mes "[Exit]"; + mes "Farewell."; + close2; + warp "SavePoint",0,0; + end; +} + +ordeal_1-1 mapflag nowarp +ordeal_1-1 mapflag nowarpto +ordeal_1-1 mapflag noteleport +ordeal_1-1 mapflag monster_noteleport +ordeal_1-1 mapflag nosave SavePoint +ordeal_1-1 mapflag nomemo +ordeal_1-1 mapflag nobranch +ordeal_1-1 mapflag nopenalty +ordeal_1-1 mapflag noicewall diff --git a/custom/events/disguise.txt b/custom/events/disguise.txt index 31fbadb..7dacece 100644 --- a/custom/events/disguise.txt +++ b/custom/events/disguise.txt @@ -4,10 +4,13 @@ //= GmOcean //===== Current Version: ===================================== //= 5.1 -//===== Compatible With: ===================================== +//===== Compatible With: ===================================== //= rAthena SVN -//===== Additional Comments: ================================= -//= Note: This script requires PCRE to run properly. +//===== Description: ========================================= +//= Guess a monster name correctly for prizes. +//= +//= NOTE: Requires PCRE library installed. +//===== Additional Comments: ================================= //= 5.0 Last update by GmOcean. //= 5.1 Cleaned and standardized, mostly. [Euphy] //============================================================ @@ -130,9 +133,9 @@ OnInit: set .PrizeAmt,1; set .Rule,1; setarray .MVP[0],1038,1039,1046,1059,1086,1087,1112,1115,1147,1150,1157,1159,1190,1251,1252,1272,1312,1373, - 1389,1399,1418,1492,1502,1511,1583,1623,1630,1646,1647,1648,1649,1650,1651,1658,1685,1688, - 1708,1719,1734,1751,1768,1779,1785,1802,1832,1871,1874,1885,1917,1980,2022,2068,2087,2131, - 2156,2165; + 1389,1399,1418,1492,1502,1511,1583,1623,1630,1646,1647,1648,1649,1650,1651,1658,1685,1688, + 1708,1719,1734,1751,1768,1779,1785,1802,1832,1871,1874,1885,1917,1980,2022,2068; + if (checkre(0)) setarray .MVP[getarraysize(.MVP)],2087,2131,2156,2165; 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," + @@ -174,7 +177,7 @@ OnTimer30000: if (.Timer) end; set .Change,0; setnpcdisplay "Disguise Event",795; - npctalk "You took too long to guess what I was. Please wait 10 seconds while I disguise again."; + npctalk "Disguise Event : You took too long to guess what I was. Please wait 10 seconds while I disguise again."; specialeffect EF_DETECT2; set $MonsterName$,""; deletepset 1; @@ -235,7 +238,7 @@ iCorrect: setnpcdisplay "Disguise Event",795; 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."; + npctalk "Disguise Event : Thank you all for playing. That was the last round of the Disguise Event. Come play again later."; end; } setnpcdisplay "Disguise Event",795; diff --git a/custom/events/holiday/hallow06.txt b/custom/events/holiday/hallow06.txt new file mode 100644 index 0000000..57c4ebd --- /dev/null +++ b/custom/events/holiday/hallow06.txt @@ -0,0 +1,124 @@ +//===== rAthena Script ======================================= +//= Custom Halloween Event 2006 +//===== By: ================================================== +//= Stryker +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== 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 807,{ + 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; + menu "Trick",-, "Treat",L_Treat; + + 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; + +L_Treat: + 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; + menu "Got'em",-, "Don't Have",L_Dont_Have, "See List",L_List; + + mes "[Hallows' Eve Event]"; + if((countitem(2220) < 1) || (countitem(535) < 30) || (countitem(7205) < 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; + +L_Dont_Have: + mes "[Hallows' Eve Event]"; + mes "Go back out and search for them. Would you like to view the list?"; + next; + menu "No",-, "Yes",L_List; + close; + +L_List: + 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/custom/events/holiday/uneasy_cemetery.txt b/custom/events/holiday/uneasy_cemetery.txt new file mode 100644 index 0000000..b64f52f --- /dev/null +++ b/custom/events/holiday/uneasy_cemetery.txt @@ -0,0 +1,133 @@ +//===== rAthena Script ======================================= +//= Uneasy Prontera Cemetery Quest +//===== By: ================================================== +//= Lupus +//===== Current Version: ===================================== +//= 1.2a (Tested and fully working!) +//===== Compatible With: ===================================== +//= rAthena SVN +//===== 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 -1,{ + end; + +OnHour00: + set $UNEASY_DL,$UNEASY_DL-1; + set $UNEASY_BL,$UNEASY_BL+30; //add need of HW for 30 bottles per day + if ($UNEASY_BL>666) set $UNEASY_BL,666; //keep needed bottles not <=666 + if ($UNEASY_DL < 0) goto L_Start_Undead; +//The Cemetery is OK yet. + disablenpc "Mother Mathana"; + end; +OnInit: + if ($UNEASY_DL >= 0) disablenpc "Mother Mathana"; + end; + +OnHour06: + killmonsterall "prontera"; //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(0); + if (Sex==1) mapannounce "prontera","[Mother Mathana]: Brave "+$UNEASY_H$+" has just killed the last undead in Prontera!",0; + if (Sex==0) 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: + killmonsterall "prontera"; //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 79,{ + mes "[Mother Mathana]"; + if ($UNEASY_DL <= 0) goto L_Undead_Walk; + mes "I'm afraid there's something wrong with our old cemetery..."; + if ($UNEASY_H$==strcharinfo(0)) mes "But thanks to you, "+$UNEASY_H$+", we'll be able to sleep " + $UNEASY_DL + " nights!"; + if ($UNEASY_H$!=strcharinfo(0)) mes "But thanks to "+$UNEASY_H$+"'s support, we've got " + $UNEASY_DL + " easy nights!"; + emotion e_gasp; + close; + +L_Undead_Walk: + if ($UNEASY_DL == 0) mes "THEY could return tomorrow's night again!"; + if ($UNEASY_DL == 0 && $UNEASY_H$==strcharinfo(0)) mes "Thank you, "+$UNEASY_H$+"! Now we'll manage to rest till the next midnight!"; + if ($UNEASY_DL == 0 && $UNEASY_H$!=strcharinfo(0)) mes "But due to "+$UNEASY_H$+"'s help we'll manage to rest till the next midnight!"; + mes "To calm down the restless cemetery, we should pour all these graves with the Holy Water. But our sisters and broters have run out of it."; + mes "Could you supply us with Holy Water?"; + next; + menu "Yes, have all my Holy Water!",-, "Nope, I need it.",M_NO, "I don't have any.",M_DONT_HAVE; + + if ( countitem(523)<1 ) goto M_DONT_HAVE; + set $UNEASY_BL,$UNEASY_BL-countitem(523); + delitem 523,countitem(523); + + if ( $UNEASY_BL > 0 ) goto L_NEED_MORE; +//set quiet days!!! no more undead for this period! + set $UNEASY_DL,5+((0-$UNEASY_BL)/30); + set $UNEASY_H$,strcharinfo(0); + mes "[Mother Mathana]"; + mes "Thank you, "+$UNEASY_H$+"! Now we've got enough Holy Water!"; + next; + mes "[Mother Mathana]"; + mes "Upon pouring the cemetery with that water we'll get " + $UNEASY_DL + " safe nights!"; + next; + killmonsterall "prontera"; //kills any left monsters + mes "[Mother Mathana]"; + mes "See, "+ $UNEASY_H$ +"? They all are gone now!"; + next; + mes "[Mother Mathana]"; + mes "Our Church is going to thank you personally..."; + next; + if (Sex==1) mapannounce "prontera","[Mother Mathana]: In the name of Odin we declare handsom "+$UNEASY_H$+" as a Prontera savior!",0; + if (Sex==0) 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 505,1; //Blue_Potion + set JobExp,JobExp+100; + set BaseExp,BaseExp+50; + close; + +L_NEED_MORE: + mes "[Mother Mathana]"; + mes "Thank you, good "+strcharinfo(0)+", but we still need " + $UNEASY_BL + " more Holy Water bottles."; + close; + +M_NO: + mes "[Mother Mathana]"; + mes "I'm afraid the old cemetery is going out of control soon... Please, get us all the Holy Water you can get."; + close; + +M_DONT_HAVE: + mes "[Mother Mathana]"; + mes "Alas! We still need " + $UNEASY_BL + " more bottles of Holy Water... Why don't you go and ask other people for some extra Holy Water?"; + mes "The old cemetery is going out of control soon..."; + mes "Please, in the name of Odin, help Prontera city."; + close; +} diff --git a/custom/events/holiday/valentinesdayexp.txt b/custom/events/holiday/valentinesdayexp.txt new file mode 100644 index 0000000..e42717e --- /dev/null +++ b/custom/events/holiday/valentinesdayexp.txt @@ -0,0 +1,285 @@ +//===== rAthena Script ======================================= +//= Valentine Event Script + EXP bonus +//===== By: ================================================== +//= Lupus (based on Muad_Dib's work) +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== 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 58,{ +// Debug info for item effects and tricky conditions 8) +// mes "@dsv: "+@dsv; +// mes "ispartneron()=="+ispartneron(); +// mes "Sex == "+Sex; +// if(@dsv == gettime(3)+1) mes "@dsv == gettime(3)+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; + menu "Wow! Tell me more!",M_INFO,"Marri... what?",-; + + 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; + +M_INFO: + 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(3)+1 || ispartneron()==0)end; set @dsv,gettime(3)+1; misceffect 113; }"; + //560,Hand-made_White_Chocolate + setitemscript 560,"{ itemheal 50,50; if(Sex || @dsv == gettime(3)+1 || ispartneron()==0)end; set @dsv,gettime(3)+1; misceffect 113; }"; + + //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(3)+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(3)+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 58,{ + mes "[Stephen]"; + mes "Guess what I've got?"; + mes "A tasty treat not easily found in Rune-Midgard...."; + next; + mes "[Stephen]"; + mes "Chocolate!"; + mes "That's right, don't you love chocolate.... I do."; + mes "And you are in luck, because I'm selling them for only 5,000 zeny a piece!"; + next; + menu "I want some chocolate!",M_CHOCO,"No thanks.",-; + + mes "[Stephen]"; + mes "You don't want any chocolate?"; + mes "I'm telling you! You'll regret it!"; + mes "You better get some now... you won't come across Chocolate like this ever again!"; + mes "Think it over and visit me again sometime."; + close; + +M_CHOCO: + mes "[Stephen]"; + mes "Hah!"; + mes "I knew it!"; + mes "But I can't sell you more then 5 at once....but, if you really need more...."; + mes "you can come back again."; + mes "So how many do 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; + set Zeny,Zeny - @needmon; + getitem 558,@flag_num; + mes "[Stephen]"; + mes "There you go!"; + mes "You can give that to someone as a gift, or enjoy it yourself!"; + mes "Mmm....sweet chocolate..."; + mes "Visit me anytime...!"; + close; + +L_ERR: + mes "[Stephen]"; + mes "I'm sorry but I can't give 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 53,{ + 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; + menu "I want some white chocolate!",M_CHOCO,"No thanks.",-; + + mes "[Jainie]"; + mes "You don't like white chocolate?"; + mes "Then buy some Stephen's black one!"; + close; + +M_CHOCO: + 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(519) < @flag_num) goto L_NOMILK; + set Zeny,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 47,{ + mes "[Carl Orleans]"; + mes "Yes? What can I cook for you?"; + next; + menu "Black handmade Chocolate, please",-,"I want a White handmade Chocolate...",M_WHITE,"I'm lost, sorry to bother you.",M_END; + + mes "[Carl Orleans]"; + mes "Well, I just might be able to fulfill your needs..."; + next; + if (countitem(558)<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; + +M_WHITE: + mes "[Carl Orleans]"; + mes "Well, I just might be able to fulfill your needs..."; + next; + if (countitem(561)<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; + +M_END: + 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/custom/events/holiday/xmas_rings_event.txt b/custom/events/holiday/xmas_rings_event.txt new file mode 100644 index 0000000..44255a8 --- /dev/null +++ b/custom/events/holiday/xmas_rings_event.txt @@ -0,0 +1,194 @@ +//===== rAthena Script ======================================= +//= Karachun Event (Xmas Rings Quest) +//===== By: ================================================== +//= Lupus (1.0) +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== 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 713,{ + mes "[Snower]"; + if (Q_XMSRINGS == 2) { + mes "Oh... is it true? You've helped my sis Sneewy? Thank you."; + } else if (Q_XMSRINGS == 3) { + mes "Snoowy's sent me a bird with a message. She told me about your help..."; + mes "I'll tell you a secret of the magic rings."; + emotion e_no1; + next; + mes "[Snower]"; + mes "They have magic power only from 8 December till 8 January."; + next; + mes "[Snower]"; + mes "By the way, just put on Santa's Hat to discover their true power."; + next; + mes "[Snower]"; + mes "If you put on both rings their power would be doubled."; + mes "Have a nice day!"; + close; + } else { + mes "Hi! Two my sisters and I are preparing gifts for the whole 3 holidays!"; + } + emotion e_sob; + next; + menu "Where are your sisters?",-, "What holidays?",M_PR,"What gifts?",M_WRAP,"May I help you?",M_QUEST; + + mes "[Snower]"; + mes "My younger sis Sneewy's left to some faraway land to prepare gifts for their poor children... I don't know where. You should ask my elder sis and her birdies."; + next; + mes "[Snower]"; + mes "My elder sis? Her name's Snoowy. She's sailed to some green island... She's talking about some gifts for dolphins or something..."; + close; + +M_PR: + mes "[Snower]"; + mes "The whole three holidays? Well they come one after another!"; + mes "^000080The Christmas^000000, ^FF0000Karachun^000000 and ^008000New Year Eve^000000!"; + next; + mes "[Snower]"; + mes "^FF0000Karachun^000000? Heh... This is an old pagans festival. They used to celebrate it before the appearance of HNY and XMas, you know."; + next; + goto M_QUEST; + +M_WRAP: + mes "[Snower]"; + mes "My sisters say that all the gifts should look the same way. Or else some children might fight for fancy ones!"; + next; + mes "[Snower]"; + mes "Would you like me to wrap your fancy gift boxes with a gray paper?"; + next; + menu "Wrap them, please!",-, "No, thanks.",M_QUEST; + + set @prizes, countitem(664)+countitem(665)+countitem(666)+countitem(667); + if (@prizes == 0) { + mes "[Snower]"; + mes "I don't see any gifts in fancy boxes on you..."; + if(countitem(644))mes "You've got only gray boxes."; + close; + } + delitem 664,countitem(664); + delitem 665,countitem(665); + delitem 666,countitem(666); + delitem 667,countitem(667); + getitem 644,@prizes; + + mes "[Snower]"; + mes "*shuffle* Here you go."; + next; + +M_QUEST: + mes "[Snower]"; + mes "I wish you find my sisters ASAP... They need help."; + if (Q_XMSRINGS == 0) set Q_XMSRINGS,1; + close; + +OnInit: +//Santa's Hat + setitemscript 2236,"{ bonus bMdef,1; bonus bLuk,1; if(isequipped(2636,2637)){if(@xmr == gettime(2))end; set @xmr,gettime(2); misceffect 410; end;} if(isequipped(2636)){if(@xmr == gettime(2))end; set @xmr,gettime(2); misceffect 72;} if(isequipped(2637)){if(@xmr == gettime(2))end; set @xmr,gettime(2); misceffect 338;}}"; +//Gold Xmas Ring + setitemscript 2636,"{ bonus bLoseSPWhenUnequip,30; if(isequipped(2236)==0)end; if(getskilllv(\"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 717,{ + mes "[Sneewy]"; + if (Q_XMSRINGS == 0) { + mes "Hi! I'm waithing for my sister's birdy with mail..."; + emotion e_sob; + close; + } + if (Q_XMSRINGS == 1) { + mes "I wish I had 4 more gray Gift Boxes for native children..."; + emotion e_sob; + next; + mes "[Sneewy]"; + mes "Oh, hello. Has my brother Snower told you everything?"; + next; + menu "Here are your 4 Gift Boxes",-, "I don't know any Snowhatevers...",M_END; + + mes "[Sneewy]"; + if (countitem(644) < 4) { + mes "Gimme 4 gifts for poor kids... Wait, you haven't got 4 of them!"; + emotion e_sry; + close; + } + set Q_XMSRINGS,2; + delitem 644,4; + getnameditem 2637,strcharinfo(0); + emotion e_kis2; + mes "Thank you! Here's my li'l something for you!"; + next; + mes "[Sneewy]"; + mes "By the way, if you put on 2 different rings then your holidays leveling would be easier!"; + close; + } + emotion e_thx; + mes "Thanks again! No children will meet the holidays without the gifts!"; + close; + +M_END: + mes "[Sneewy]"; + mes "Pity... I've got a magic Santa's ring... I'd exchange it for 4 Gift Boxes..."; + emotion e_swt; + close; +} + +izlu2dun,133,160,2 script Snoowy 714,{ + mes "[Snoowy]"; + if (Q_XMSRINGS == 0) { + mes "Helloooou! Do you know my bro and sis? How so? My brother Snower's well known in Prontera!! Just ask any child there."; + emotion e_hmm; + close; + } + if (Q_XMSRINGS == 1) { + mes "Darn... How could poor children be more important than the marine folks.. Am I wrong?"; + next; + mes "[Snoowy]"; + mes "Errr. Helloou there. My sister Sneewy's sent me a birdie message. The letter was wet and I couldn't read anything but some ending letters of her address..."; + next; + mes "[Snoowy]"; + mes "Look, it's something like 'yang' in the very end... Hmm... She must be misspelled 'Al Doo Boryang'..."; + close; + } + if (Q_XMSRINGS == 2) { + mes "You've helped my sis? It's just great!"; + next; + mes "[Snoowy]"; + mes "But I too need 3 more gifts for my marine folk friends..."; + next; + menu "Have these gifts!",-, "I need a li'l something in return",M_END; + + mes "[Snoowy]"; + if (countitem(644) < 3) { + mes "Oops!! You haven't got 3 gray gift boxes on you."; + emotion e_sry; + close; + } + set Q_XMSRINGS,3; + delitem 644,3; + getnameditem 2636,strcharinfo(0); + emotion e_kis; + mes "Thaank yoouu! Have this magic ring!"; + close; + } + emotion e_thx; + mes "Oh... the whole marine folk send you their thanks! They love presents so much!!!"; + if (rand(2)) + mes "Didn't you know that Santa's Hat reveals the real power of the rings?"; + close; + +M_END: + mes "[Snoowy]"; + mes "I'd exchange a GOLD magic ring for 3 gift boxes..."; + emotion e_swt; + close; +} diff --git a/custom/events/mvp_ladder.txt b/custom/events/mvp_ladder.txt new file mode 100644 index 0000000..8a8f43c --- /dev/null +++ b/custom/events/mvp_ladder.txt @@ -0,0 +1,319 @@ +//===== rAthena Script ======================================= +//= MVP Ladder Game +//===== By: ================================================== +//= aftermath, AnnieRuru (rewrite) +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Gather a party and kill every MVP in ascending order. +//===== Additional Comments: ================================= +//= 1.0 First version, edited. [Euphy] +//============================================================ + +prontera,164,171,3 script MvP Ladder Warper 56,{ + mes "[MvP Ladder Warper]"; + mes "Say... do you want to play the MvP Ladder game?"; + next; + switch(select("Yes, let's get it on!:Information.:Show me the best record.:No.")) { + case 1: + break; + case 2: + mes "[MvP Ladder Warper]"; + mes "In this game, your party has to kill every single MvP monster in ascending order, from the weakest to strongest."; + if ( .finish_item_amount ) + mes "If your party can finish the MVP ladder game, each member will earn "+ callfunc("F_InsertPlural", .finish_item_amount, getitemname( .finish_item_id )) +"."; + if ( .register_cost ) + mes "But the entrance fee is "+ callfunc( "F_InsertComma", .register_cost ) +" zeny."; + next; + mes "[MvP Ladder Warper]"; + mes "You lose the game if you can't finish in "+ .timeout +" minutes, or if your entire party is killed."; + mes "Good luck!"; + close; + case 3: + mes "[MvP Ladder Warper]"; + if ( !$mvpladdderparty_time ) { + mes "Nobody has finished this game yet."; + close; + } + mes "The best record is"; + mes "[ "+( $mvpladdderparty_time / 60 )+" min "+( $mvpladdderparty_time % 60 )+" sec ]"; + mes "By the party ^FF0000"+ $mvpladdderparty_name$ +"^000000."; + .@size = getarraysize( $mvpladderparty_member$ ); + for ( .@i = 0; .@i < .@size; .@i++ ) + mes "^000000"+ ( .@i +1 ) +". ^0000FF"+ $mvpladderparty_member$[.@i]; + if ( getgmlevel() < .gmlvlreset ) close; + next; + if ( select( "Close.", "Reset the record." ) == 1 ) close; + if ( select( "Never mind.", "I really want to reset it." ) == 1 ) close; + $mvpladdderparty_time = 0; + $mvpladdderparty_name$ = ""; + deletearray $mvpladderparty_member$[.@i]; + mes "[MvP Ladder Warper]"; + mes "Record reset successfully."; + close; + case 4: + mes "[MvP Ladder Warper]"; + mes "When you are strong enough to complete the game, please come back."; + close; + } + if ( !getcharid(1) ) { + mes "[MvP Ladder Warper]"; + mes "You have to form a party to play."; + close; + } + if ( getpartyleader( getcharid(1), 2 ) != getcharid(0) ) { + mes "[MvP Ladder Warper]"; + mes "Only the party leader can register."; + close; + } + .@origin = getcharid(3); + getpartymember getcharid(1), 1; + getpartymember getcharid(1), 2; + for ( .@i = 0; .@i < $@partymembercount; .@i++ ) { + if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { + attachrid $@partymemberaid[.@i]; + if ( strcharinfo(3) == strnpcinfo(4) ) + .@online++; + } + } + attachrid .@origin; + if ( $@partymembercount != .register_min ) { + mes "[MvP Ladder Warper]"; + mes "You have to form a party with exactly "+ .register_min +" members to play."; + close; + } + else if ( .@online != .register_min ) { + mes "[MvP Ladder Warper]"; + mes "Your party must have "+ .register_min +" members online on map '"+ strnpcinfo(4) +"'."; + close; + } + else if ( .register_cost && Zeny < .register_cost ) { + mes "[MvP Ladder Warper]"; + mes "You don't have enough zeny. Please come back when you do."; + close; + } + else if ( .party_id ) { + mes "[MvP Ladder Warper]"; + mes "I'm sorry, but a party is currently playing the game. Please standby until the party is finished."; + mes "Thank you."; + close; + } + Zeny -= .register_cost; + announce "The party ["+ strcharinfo(1) +"] has started the MvP ladder game.", bc_all; + set .party_id, getcharid(1); + set .@time_enter, gettimetick(2); + for ( .@i = 0; .@i < $@partymembercount; .@i++ ) { + if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { + attachrid $@partymemberaid[.@i]; + if ( strcharinfo(3) == strnpcinfo(4) ) { + announce "You have "+ .timeout +" minutes to complete "+ .totalround +" rounds.", bc_self; + .@name$[.@c] = strcharinfo(0); + .@c++; + } + } + } + cleanmap .eventmap$; + warpparty .eventmap$, 0,0, .party_id, strnpcinfo(4); + donpcevent strnpcinfo(0)+"::OnMvpDead"; + sleep .timeout * 60000; + if ( .round == .totalround +1 ) { + getpartymember .party_id, 1; + getpartymember .party_id, 2; + mapannounce .eventmap$, "Congratulations... You were able to defeat all the MVPs!", bc_map; + for ( .@i = 0; .@i < $@partymembercount; .@i++ ) { + if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { + attachrid $@partymemberaid[.@i]; + if ( strcharinfo(3) == .eventmap$ ) + getitem .finish_item_id, .finish_item_amount; + } + } + set .@timeused, gettimetick(2) - .@time_enter; + if ( .bonus_item_amount && .@timeused < .bonus_time * 60 ) { + mapannounce .eventmap$, "You are rewarded a bonus item for completing the ladder within "+ .bonus_time +" minutes.", bc_map; + for ( .@i = 0; .@i < $@partymembercount; .@i++ ) { + if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { + attachrid $@partymemberaid[.@i]; + if ( strcharinfo(3) == .eventmap$ ) + getitem .bonus_item_id, .bonus_item_amount; + } + } + } + + if ( !$mvpladdderparty_time || .@timeused < $mvpladdderparty_time ) { + mapannounce .eventmap$, "And you broke the record! [ "+( .@timeused / 60 )+" min "+( .@timeused % 60 )+" sec ]", bc_map; + set $mvpladdderparty_time, .@timeused; + set $mvpladdderparty_name$, getpartyname( .party_id ); + copyarray $mvpladderparty_member$, .@name$, .register_min; + } + else + mapannounce .eventmap$, "Time used [ "+( .@timeused / 60 )+" min "+( .@timeused % 60 )+" sec ]", bc_map; + sleep 10000; + announce "The party ["+ getpartyname( .party_id ) +"] has finished the MvP ladder game!", bc_all; + } + else + announce "The party ["+ getpartyname( .party_id ) +"] has failed to finish the MvP ladder game.", bc_all; + mapwarp .eventmap$, .map$, .x, .y; + killmonsterall .eventmap$; + .party_id = .round = 0; + end; + +OnMvpDead: + .round++; + if ( .round >= 2 && .round != .totalround +1 && .round_item_amount ) { + for ( .@i = 0; .@i < $@partymembercount; .@i++ ) { + if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { + attachrid $@partymemberaid[.@i]; + if ( strcharinfo(3) == .eventmap$ ) + getitem .round_item_id, .round_item_amount; + } + } + } + if ( .round == .totalround +1 ) { + awake strnpcinfo(0); + end; + } + else if ( .round == .totalround ) + mapannounce .eventmap$, "The final Round will begin in "+ .delay +" seconds...", bc_map; + else + mapannounce .eventmap$, "Starting round "+ .round +" in "+ .delay +" seconds...", bc_map; + sleep .delay * 1000; + if ( .mvpid[.round] == 1646 ) // pick random Bio3 MVP + .mvpid[.round] = rand(1646,1651); + monster .eventmap$,0,0, "--ja--", .mvpid[.round], 1, strnpcinfo(0)+"::OnMvpDead"; + mapannounce .eventmap$, getmonsterinfo( .mvpid[.round], MOB_NAME ) +" has spawned!", bc_map|bc_blue; + end; + +OnPCLogoutEvent: + if ( hp > 0 ) + .@less_one = 1; + else + end; +OnPCDieEvent: + if ( strcharinfo(3) != .eventmap$ || !getcharid(1) ) end; + if ( getcharid(1) != .party_id ) end; + getpartymember .party_id, 1; + getpartymember .party_id, 2; + for ( .@i = 0; .@i < $@partymembercount; .@i++ ) { + if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { + attachrid $@partymemberaid[.@i]; + if ( strcharinfo(3) == .eventmap$ && hp > 0 ) + .@alive++; + } + } + if ( .@less_one ) + .@alive--; + if ( !.@alive ) { + mapannounce .eventmap$, "Party wiped!", bc_map; + sleep 10000; + awake strnpcinfo(0); + } + end; + +OnInit: +// Configurations ----------------------------------------------------- + + // Time limit (in minutes) + // When time runs out, all players inside the room will be kicked out. + // Do NOT set this to zero! + set .timeout, 60; + + // entrance fee (in Zeny) + set .register_cost, 100000; + + // exact amount of party members needed to start the game + set .register_min, 2; + + // id of each mvp. you can add more + setarray .mvpid[1], + 1086,// Golden Thief Bug 64 + 1115,// Eddga 65 + 1150,// Moonlight Flower 67 + 1159,// Phreeoni 69 + 1112,// Drake 70 + 1583,// Tao Gunka 70 + 1492,// Incantation Samurai 71 + 1046,// Doppelgangger 72 + 1252,// Garm 73 + 1418,// Evil Snake Lord 73 + 1059,// Mistress 74 + 1190,// Orc Lord 74 + 1087,// Orc Hero 77 + 1251,// Knight of Windstorm 77 + 1038,// Osiris 78 + 1658,// Ygnizem 79 + 1272,// Dark Lord 80 + 1871,// Fallen Bishop 80 + 1039,// Baphomet 81 + 1147,// Maya 81 + 1785,// Atroce 82 + 1389,// Dracula 85 + 1630,// Bacsojin 85 + 1885,// Gorynych 85 + 1623,// RSX 0806 86 + 1511,// Amon Ra 88 + 1688,// Lady Tanee 89 + 1768,// Gloom Under Night 89 + 1719,// Datale 90 + 1734,// Kiel D-01 90 + 1157,// Pharaoh 93 + 1373,// Lord of Death 94 + 1312,// Turtle General 97 + 1779,// Ktullanux 98 + 1874,// Beelzebub 98 + 1646,// Bio3 placeholder 99 + 1708,// Thanatos 99 + 1751,// Valkyrie Randgris 99 + 1832;// Ifrit 99 + + // number of rounds (default: 39) + set .totalround, getarraysize(.mvpid) -1; + + // item reward for completing each round + set .round_item_id, 512; + set .round_item_amount, 1; + + // item reward for completing the entire ladder + set .finish_item_id, 501; + set .finish_item_amount, 10; + + // bonus reward if ladder completed within a certain time (in minutes) + set .bonus_time, 45; // if completed within 45 minutes, this reward is given + set .bonus_item_id, 504; + set .bonus_item_amount, 10; + + // time delay between rounds, in seconds (default: 3) + set .delay, 5; + + // minimum GM level to reset the best record + set .gmlvlreset, 99; + + // event map + set .eventmap$, "guild_vs2-2"; + + // mapflag configuration + setarray .@mapflag, + mf_nowarp, + mf_nowarpto, + mf_nosave, + mf_nomemo, + mf_noteleport, +// mf_nopenalty, // disable exp loss + mf_noreturn, +// mf_nobranch, +// mf_nomobloot, // disable monster drop loots, +// mf_nomvploot, // 2 of these + mf_partylock; + +// Config Ends -------------------------------------------------------------- + + mapannounce .eventmap$, "An administrator has refreshed the server. Please re-register. We apologize for the inconvenience.", bc_map; + getmapxy .map$, .x, .y, 1; + mapwarp .eventmap$, .map$, .x, .y; + killmonsterall .eventmap$; + .@size = getarraysize( .@mapflag ); + for ( .@i = 0; .@i < .@size; .@i++ ) + setmapflag .eventmap$, .@mapflag[.@i]; + end; +} diff --git a/custom/healer.txt b/custom/healer.txt index 3b3fc9f..37a5a59 100644 --- a/custom/healer.txt +++ b/custom/healer.txt @@ -15,23 +15,30 @@ - script Healer -1,{ - set .@Price,0; // Zeny required for heal - set .@Buffs,0; // Also buff players? (1: yes / 0: no) - set .@Delay,0; // Heal delay, in seconds + .@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 (@HD > gettimetick(2)) + end; if (.@Price) { - message strcharinfo(0),"Healing costs "+.@Price+" Zeny."; - if (Zeny < .@Price) end; - if(select("^0055FFHeal^000000:^777777Cancel^000000") == 2) end; - set Zeny, Zeny-.@Price; + message strcharinfo(0), "Healing costs " + callfunc("F_InsertComma",.@Price) + " Zeny."; + if (Zeny < .@Price) + end; + if (select("^0055FFHeal^000000:^777777Cancel^000000") == 2) + end; + Zeny -= .@Price; } - specialeffect2 EF_HEAL2; percentheal 100,100; + specialeffect2 EF_HEAL2; + percentheal 100,100; if (.@Buffs) { - specialeffect2 EF_INCAGILITY; sc_start SC_INCREASEAGI,240000,10; - specialeffect2 EF_BLESSING; sc_start SC_BLESSING,240000,10; + specialeffect2 EF_INCAGILITY; + sc_start SC_INCREASEAGI,240000,10; + specialeffect2 EF_BLESSING; + sc_start SC_BLESSING,240000,10; } - if (.@Delay) set @HD, gettimetick(2)+.@Delay; + if (.@Delay) + @HD = gettimetick(2) + .@Delay; end; } diff --git a/custom/item_signer.txt b/custom/item_signer.txt index 96c33ba..938db07 100644 --- a/custom/item_signer.txt +++ b/custom/item_signer.txt @@ -32,8 +32,8 @@ prt_in,24,61,7 script Perchik 47,{ mes "For my work I accept:"; if (getarraysize(.@Item)) for(set .@i,0; .@i 4049) { + if (Class > Job_Soul_Linker) { mes "No more jobs are available."; close; } if (checkfalcon() || checkcart() || checkriding() || ismounting()) { - mes "Please remove your "+((checkfalcon())?"falcon":"")+((checkcart())?"cart":"")+((checkriding())?"Peco":"")+((ismounting())?"mount":"")+" before proceeding."; + mes "Please remove your " + + ((checkfalcon()) ? "falcon" : "") + + ((checkcart()) ? "cart" : "") + + ((checkriding()) ? "Peco" : "") + + ((ismounting()) ? "mount" : "") + + " before proceeding."; close; } if (.SkillPointCheck && SkillPoint) { @@ -32,15 +38,18 @@ function Job_Menu; function A_An; close; } - set .@eac, eaclass(); - set .@i, ((.ThirdClass)?roclass(.@eac&EAJ_UPPERMASK):Class); - if (.@i > 6 && .@i < 22) { + .@eac = eaclass(); + .@i = ((.ThirdClass) ? roclass(.@eac&EAJ_UPPERMASK) : Class); + if (.@i >= Job_Knight && .@i <= Job_Crusader2) { if (BaseLevel < .Rebirth[0] || JobLevel < .Rebirth[1]) { - set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .Rebirth[1]-JobLevel; - mes "You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue."; + .@blvl = .Rebirth[0] - BaseLevel; + .@jlvl = .Rebirth[1] - JobLevel; + mes "You need " + + ((.@blvl > 0) ? .@blvl + " more base levels " + ((.@jlvl > 0) ? "/ " : "") : "") + + ((.@jlvl > 0) ? .@jlvl + " more job levels " : "") + "to continue."; close; } - if (Class > 21) { + if (Class > Job_Crusader2) { mes "Switch to third class?"; next; Job_Menu(roclass(.@eac|EAJL_THIRD)); @@ -49,25 +58,32 @@ function Job_Menu; function A_An; while(1) { mes "Select an option."; next; - set .@i, select(" ~ ^0055FFRebirth^000000:"+((.ThirdClass)?" ~ ^FF0000Third Class^000000":"")+": ~ ^777777Cancel^000000"); - if (.@i==3) close; + .@i = select(" ~ ^0055FFRebirth^000000:" + ((.ThirdClass) ? " ~ ^FF0000Third Class^000000" : "") + ": ~ ^777777Cancel^000000"); + if (.@i == 3) + close; mes "[Job Master]"; mes "Are you sure?"; next; - Job_Menu(((.@i==1)?4001:roclass(.@eac|EAJL_THIRD))); + Job_Menu(((.@i == 1) ? Job_Novice_High : roclass(.@eac|EAJL_THIRD))); mes "[Job Master]"; } } - set .@j1, roclass(.@eac|EAJL_2_1); set .@j2,roclass(.@eac|EAJL_2_2); - if ((.@eac&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE) setarray .@exp[0],roclass(.@eac|EAJL_THIRD),99; - if (Class == Job_Ninja) setarray .@exp[0],.@j1,70; - if (.@exp[0] && .ThirdClass) { + .@j1 = roclass(.@eac|EAJL_2_1); + .@j2 = roclass(.@eac|EAJL_2_2); + if ((.@eac&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE) + setarray .@exp[0], roclass(.@eac|EAJL_THIRD), 99; + if (Class == Job_Ninja || Class == Job_Gunslinger) + setarray .@exp[0], .@j1, 70; + if (.@exp[0] && .SecondExpanded) { if (BaseLevel < .Rebirth[0] || JobLevel < .@exp[1]) { - set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .@exp[1]-JobLevel; - mes "You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue."; + .@blvl = .Rebirth[0] - BaseLevel; + .@jlvl = .@exp[1] - JobLevel; + mes "You need " + + ((.@blvl > 0) ? .@blvl + " more base levels " + ((.@jlvl > 0) ? "/ " : "") : "") + + ((.@jlvl > 0) ? .@jlvl + " more job levels " : "") + "to continue."; close; } - mes "Switch to "+jobname(.@exp[0])+"?"; + mes "Switch to " + jobname(.@exp[0]) + "?"; next; Job_Menu(.@exp[0]); close; @@ -79,113 +95,212 @@ function Job_Menu; function A_An; } if ((.@eac&EAJ_BASEMASK) == EAJ_NOVICE) { if (JobLevel < .JobReq[0]) - mes "A job level of "+.JobReq[0]+" is required to change into the 1st Class."; - else if (Class == 4001 && .LastJob && lastJob) { + mes "A job level of " + .JobReq[0] + " is required to change into the 1st Class."; + else if (Class == Job_Novice_High && .LastJob && lastJob) { mes "Switch classes now?"; next; Job_Menu(roclass((eaclass(lastJob)&EAJ_BASEMASK)|EAJL_UPPER)); - } else switch(Class) { - case 0: Job_Menu(1,2,3,4,5,6,23,4046,24,25,4023); - case 4001: Job_Menu(4002,4003,4004,4005,4006,4007); - case 4023: Job_Menu(4024,4025,4026,4027,4028,4029,4045); - default: mes "An error has occurred."; break; + } else { + switch(Class) { + case 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 + ); + break; + case Job_Novice_High: + Job_Menu( + Job_Swordman_High, + Job_Mage_High, + Job_Archer_High, + Job_Acolyte_High, + Job_Merchant_High, + Job_Thief_High + ); + break; + case 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 + ); + break; + default: + mes "An error has occurred."; + break; + } } 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 < .JobReq[1]) - mes "A job level of "+.JobReq[1]+" is required to change into the 2nd Class."; + mes "A job level of " + .JobReq[1] + " is required to change into the 2nd Class."; else if (.LastJob && lastJob && (.@eac&EAJL_UPPER)) { mes "Switch classes now?"; next; - Job_Menu(lastJob+4001); + Job_Menu(lastJob + Job_Novice_High); } else - Job_Menu(.@j1,.@j2); + Job_Menu(.@j1, .@j2); close; function Job_Menu { while(1) { if (getargcount() > 1) { mes "Select a job."; - set .@menu$,""; - for(set .@i,0; .@i 1)?"Go back":"Cancel")+"^000000") == 1) { + .@i = getarg(0); + if (select(" ~ Change into ^0055FF" + jobname(.@i) + "^000000 class: ~ ^777777" + ((getargcount() > 1) ? "Go back" : "Cancel") + "^000000") == 1) { mes "[Job Master]"; - mes "You are now "+A_An(jobname(.@i))+"!"; - if (.@i==4001 && .LastJob) set lastJob, Class; + mes "You are now " + callfunc("F_InsertArticle", jobname(.@i)) + "!"; + if (.@i == Job_Novice_High && .LastJob) + lastJob = Class; jobchange .@i; - if (.@i==4001 || .@i==4023) resetlvl(1); - specialeffect2 338; specialeffect2 432; - if (.Platinum) callsub Get_Platinum; + if (.@i == Job_Novice_High) + resetlvl(1); + else if (.@i == Job_Baby) { + resetstatus; + resetskill; + set SkillPoint,0; + } + specialeffect2 EF_ANGEL2; + specialeffect2 EF_ELECTRIC; + if (.Platinum) + callsub Get_Platinum; close; } - if (getargcount() == 1) return; + if (getargcount() == 1) + return; mes "[Job Master]"; } end; } -function A_An { - setarray .@A$[0],"a","e","i","o","u"; - set .@B$, "_"+getarg(0); - for(set .@i,0; .@i<5; set .@i,.@i+1) - if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0); - return "a "+getarg(0); -} - Get_Platinum: - 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; + skill "NV_FIRSTAID",1,0; + switch (BaseClass) { + case Job_Novice: + if (Class != Job_SuperNovice) + skill "NV_TRICKDEAD",1,0; + break; + case Job_Swordman: + skill "SM_MOVINGRECOVERY",1,0; + skill "SM_FATALBLOW",1,0; + skill "SM_AUTOBERSERK",1,0; + break; + case Job_Mage: + skill "MG_ENERGYCOAT",1,0; + break; + case Job_Archer: + skill "AC_MAKINGARROW",1,0; + skill "AC_CHARGEARROW",1,0; + break; + case Job_Acolyte: + skill "AL_HOLYLIGHT",1,0; + break; + case Job_Merchant: + skill "MC_CARTREVOLUTION",1,0; + skill "MC_CHANGECART",1,0; + skill "MC_LOUD",1,0; + break; + case Job_Thief: + skill "TF_SPRINKLESAND",1,0; + skill "TF_BACKSLIDING",1,0; + skill "TF_PICKSTONE",1,0; + skill "TF_THROWSTONE",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; + switch (BaseJob) { + case Job_Knight: + skill "KN_CHARGEATK",1,0; + break; + case Job_Priest: + skill "PR_REDEMPTIO",1,0; + break; + case Job_Wizard: + skill "WZ_SIGHTBLASTER",1,0; + break; + case Job_Blacksmith: + skill "BS_UNFAIRLYTRICK",1,0; + skill "BS_GREED",1,0; + break; + case Job_Hunter: + skill "HT_PHANTASMIC",1,0; + break; + case Job_Assassin: + skill "AS_SONICACCEL",1,0; + skill "AS_VENOMKNIFE",1,0; + break; + case Job_Crusader: + skill "CR_SHRINK",1,0; + break; + case Job_Monk: + skill "MO_KITRANSLATION",1,0; + skill "MO_BALKYOUNG",1,0; + break; + case 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; + break; + case Job_Rogue: + skill "RG_CLOSECONFINE",1,0; + break; + case Job_Alchemist: + skill "AM_BIOETHICS",1,0; + break; + case Job_Bard: + skill "BA_PANGVOICE",1,0; + break; + case Job_Dancer: + skill "DC_WINKCHARM",1,0; + break; + default: + break; } return; OnInit: setarray .Rebirth[0],99,50; // Minimum base level, job level to rebirth OR change to third class setarray .JobReq[0],10,40; // Minimum job level to turn into 1st class, 2nd class - set .ThirdClass,1; // Enable third classes? (1: yes / 0: no) - set .SNovice,45; // Minimum base level to turn into Super Novice - set .LastJob,1; // Enforce linear class changes? (1: yes / 0: no) - set .SkillPointCheck,1; // Force player to use up all skill points? (1: yes / 0: no) - set .Platinum,1; // Get platinum skills automatically? (1: yes / 0: no) + .ThirdClass = 1; // Enable third classes? (1: yes / 0: no) + .SecondExpanded = 1; // Enable new expanded second classes: Ex. Super Novice, Kagerou/Oboro, Rebellion? (1: yes / 0: no) + .SNovice = 45; // Minimum base level to turn into Super Novice + .LastJob = 1; // Enforce linear class changes? (1: yes / 0: no) + .SkillPointCheck = 1; // Force player to use up all skill points? (1: yes / 0: no) + .Platinum = 1; // Get platinum skills automatically? (1: yes / 0: no) end; } \ No newline at end of file diff --git a/custom/platinum_skills.txt b/custom/platinum_skills.txt index 4de7428..c794005 100644 --- a/custom/platinum_skills.txt +++ b/custom/platinum_skills.txt @@ -30,32 +30,90 @@ prontera,128,200,6 script Platinum Skill NPC 94,{ 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; + skill "NV_FIRSTAID",1,0; + switch (BaseClass) { + case Job_Novice: + if (Class != Job_SuperNovice) + skill "NV_TRICKDEAD",1,0; + break; + case Job_Swordman: + skill "SM_MOVINGRECOVERY",1,0; + skill "SM_FATALBLOW",1,0; + skill "SM_AUTOBERSERK",1,0; + break; + case Job_Mage: + skill "MG_ENERGYCOAT",1,0; + break; + case Job_Archer: + skill "AC_MAKINGARROW",1,0; + skill "AC_CHARGEARROW",1,0; + break; + case Job_Acolyte: + skill "AL_HOLYLIGHT",1,0; + break; + case Job_Merchant: + skill "MC_CARTREVOLUTION",1,0; + skill "MC_CHANGECART",1,0; + skill "MC_LOUD",1,0; + break; + case Job_Thief: + skill "TF_SPRINKLESAND",1,0; + skill "TF_BACKSLIDING",1,0; + skill "TF_PICKSTONE",1,0; + skill "TF_THROWSTONE",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; + switch (BaseJob) { + case Job_Knight: + skill "KN_CHARGEATK",1,0; + break; + case Job_Priest: + skill "PR_REDEMPTIO",1,0; + break; + case Job_Wizard: + skill "WZ_SIGHTBLASTER",1,0; + break; + case Job_Blacksmith: + skill "BS_UNFAIRLYTRICK",1,0; + skill "BS_GREED",1,0; + break; + case Job_Hunter: + skill "HT_PHANTASMIC",1,0; + break; + case Job_Assassin: + skill "AS_SONICACCEL",1,0; + skill "AS_VENOMKNIFE",1,0; + break; + case Job_Crusader: + skill "CR_SHRINK",1,0; + break; + case Job_Monk: + skill "MO_KITRANSLATION",1,0; + skill "MO_BALKYOUNG",1,0; + break; + case 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; + break; + case Job_Rogue: + skill "RG_CLOSECONFINE",1,0; + break; + case Job_Alchemist: + skill "AM_BIOETHICS",1,0; + break; + case Job_Bard: + skill "BA_PANGVOICE",1,0; + break; + case Job_Dancer: + skill "DC_WINKCHARM",1,0; + break; + default: + break; } mes "[Platinum Skill NPC]"; mes "There you go!"; diff --git a/custom/quests/berzebub.txt b/custom/quests/berzebub.txt index cfaf789..9863e1d 100644 --- a/custom/quests/berzebub.txt +++ b/custom/quests/berzebub.txt @@ -61,4 +61,4 @@ M_Leave: mes .@n$; mes "Such a great item I have right here..."; close; -} \ No newline at end of file +} diff --git a/custom/quests/hunting_missions.txt b/custom/quests/hunting_missions.txt index c1525b2..d9c164f 100644 --- a/custom/quests/hunting_missions.txt +++ b/custom/quests/hunting_missions.txt @@ -3,12 +3,14 @@ //===== By: ================================================== //= Euphy //===== Current Version: ===================================== -//= 1.3a +//= 1.4 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Random hunting missions. //= Rewards are based on quest difficulty. +//= +//= NOTE: Requires SQL mob database. //===== Additional Comments: ================================= //= 1.0 Initial script. //= 1.1 Small improvements and fixes. @@ -16,12 +18,15 @@ //= SQL query, both thanks to AnnieRuru. //= 1.3 Re-added a blacklist adapted for the SQL query. //= 1.3a Added mission reset options. +//= 1.3b Function updates. +//= 1.4 Check for deleted characters, thanks to AnnieRuru. +//= Syntax updates and style cleaning. //============================================================ prontera,152,187,6 script Hunting Missions 951,{ -function Chk; function Cm; +function Chk; mes "[Hunting Missions]"; - mes "Hello, "+strcharinfo(0)+"!"; + mes "Hello, " + strcharinfo(0) + "!"; if (!#Mission_Delay) { next; mes "[Hunting Missions]"; @@ -31,38 +36,50 @@ function Chk; function Cm; next; callsub Mission_Info; emotion e_go; - set #Mission_Delay,1; + #Mission_Delay = 1; close; } - mes rand(2)?"Working hard, as always...":"Not slacking, I hope..."; + mes rand(2) ? "Working hard, as always..." : "Not slacking, I hope..."; mes "Is there anything I can help"; mes "you with?"; mes " "; - mes "^777777~ You've completed ^0055FF"+Mission_Total+"^777777 mission"+((Mission_Total == 1)?"":"s")+". ~^000000"; + mes "^777777~ You've completed " + callfunc("F_InsertPlural",Mission_Total,"mission",0,"^0055FF%d^777777 %s") + ". ~^000000"; next; - switch(select(((!Mission0)?" ~ New Mission::":": ~ Mission Status: ~ Abandon Mission")+": ~ Information: ~ Mission Shop: ~ View Top Hunters: ~ ^777777Cancel^000000")) { + switch(select( + ((!Mission0) ? " ~ New Mission::" : ": ~ Mission Status: ~ Abandon Mission") + + ": ~ Information: ~ Mission Shop: ~ View Top Hunters: ~ ^777777Cancel^000000" + )) { case 1: mes "[Hunting Missions]"; if (#Mission_Count) { mes "You've started a mission"; mes "on another character."; + if (!@hm_char_del_check) { // check for deleted character + query_sql("SELECT 1 FROM `global_reg_value` WHERE `str` = 'Mission0' AND `char_id` IN(SELECT `char_id` FROM `char` WHERE `account_id` = " + getcharid(3) + ")", .@i); + if (!.@i) { + next; + mes "[Hunting Missions]"; + mes "I can't seem to find any records"; + mes "for that character, though..."; + mes "One moment, please."; + emotion e_hmm; + #Mission_Count = 0; + } + @hm_char_del_check = 1; + } close; } if (#Mission_Delay > 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."; + mes "I'm afraid you'll have to wait " + callfunc("Time2Str",#Mission_Delay) + " 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; + 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 (.@i = 0; .@i < .Quests; .@i++) { + setd "Mission" + .@i, .@mob[.@i]; + setd "Mission" + .@i +"_", 0; } - set #Mission_Count, rand(.Count[0],.Count[1]); + #Mission_Count = rand(.Count[0], .Count[1]); callsub Mission_Status; next; mes "[Hunting Missions]"; @@ -82,7 +99,7 @@ function Chk; function Cm; if (.Reset < 0 && .Delay) mes "Your delay time will not be reset."; else if (.Reset > 0) - mes "It will cost "+Cm(.Reset)+" Zeny."; + mes "It will cost " + callfunc("F_InsertComma",.Reset) + " Zeny."; next; switch(select(" ~ Abandon...: ~ ^777777Cancel^000000")) { case 1: @@ -94,19 +111,20 @@ function Chk; function Cm; emotion e_sry; close; } - set Zeny, Zeny-.Reset; + Zeny -= .Reset; emotion e_cash; } mes "[Hunting Missions]"; mes "Alright, I've dropped"; mes "your current mission."; specialeffect2 EF_STORMKICK4; - for(set .@i,0; .@i<.Quests; set .@i,.@i+1) { - setd "Mission"+.@i,0; - setd "Mission"+.@i+"_",0; + for (.@i = 0; .@i < .Quests; .@i++) { + setd "Mission"+.@i, 0; + setd "Mission"+.@i+"_", 0; } - set #Mission_Count,0; - if (.Reset < 0 && .Delay) set #Mission_Delay, gettimetick(2)+(.Delay*3600); + #Mission_Count = 0; + if (.Reset < 0 && .Delay) + #Mission_Delay = gettimetick(2) + (.Delay * 3600); close; case 2: mes "[Hunting Missions]"; @@ -120,7 +138,7 @@ function Chk; function Cm; close; case 5: mes "[Hunting Missions]"; - mes "You have ^0055FF"+#Mission_Points+"^000000 Mission Points."; + mes "You have ^0055FF" + #Mission_Points + "^000000 Mission Points."; mes "Use them well!"; callshop "mission_shop",1; npcshopattach "mission_shop"; @@ -128,9 +146,9 @@ function Chk; function Cm; 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 `global_reg_value` WHERE str = 'Mission_Total' ORDER BY CAST(`value` AS SIGNED) 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"; + query_sql("SELECT char_id AS id, (SELECT `name` FROM `char` WHERE char_id = id),`value` FROM `global_reg_value` WHERE str = 'Mission_Total' ORDER BY CAST(`value` AS SIGNED) DESC LIMIT 5", .@id, .@name$, .@val); + for (.@i = 0; .@i < 5; .@i++) + mes " [Rank " + (.@i+1) + "] " + ((.@name$[.@i] == "") ? "^777777none" : "^0055FF" + .@name$[.@i]+"^000000 : ^FF0000" + .@val[.@i] + " pt.") + "^000000"; close; case 7: mes "[Hunting Missions]"; @@ -138,32 +156,36 @@ function Chk; function Cm; emotion e_hmm; close; } + end; Mission_Status: - set @f,0; + @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"; + for (.@i = 0; .@i < .Quests; .@i++) { + .@j[.@i] = getd("Mission" + .@i); + .@j[.Quests] = .@j[.Quests] + strmobinfo(3,.@j[.@i]); + .@j[.Quests+1] = .@j[.Quests+1] + (strmobinfo(6,.@j[.@i]) / (getbattleflag("base_exp_rate") / 100) * .Modifier[0]); + .@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]; + .@Mission_Points = 3 + (.@j[.Quests] / .Quests / 6); + .@Base_Exp = #Mission_Count * .@j[.Quests+1] / 5; + .@Job_Exp = #Mission_Count * .@j[.Quests+2] / 5; + .@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; } + mes " > Mission Points: ^0055FF" + .@Mission_Points + "^000000"; + mes " > Base Experience: ^0055FF" + callfunc("F_InsertComma",.@Base_Exp) + "^000000"; + mes " > Job Experience: ^0055FF" + callfunc("F_InsertComma",.@Job_Exp) + "^000000"; + mes " > Zeny: ^0055FF" + callfunc("F_InsertComma",.@Zeny) + "^000000"; + if (@f) { + @f = 0; + return; + } next; mes "[Hunting Missions]"; mes "Oh, you're done!"; @@ -172,19 +194,22 @@ Mission_Status: emotion e_no1; specialeffect2 EF_ANGEL; specialeffect2 EF_TRUESIGHT; - set #Mission_Points, #Mission_Points+.@Mission_Points; - set BaseExp, BaseExp+.@Base_Exp; - set JobExp, JobExp+.@Job_Exp; - set Zeny, Zeny+.@Zeny; - for(set .@i,0; .@i<.Quests; set .@i,.@i+1) { - setd "Mission"+.@i,0; - setd "Mission"+.@i+"_",0; + #Mission_Points += .@Mission_Points; + BaseExp += .@Base_Exp; + JobExp += .@Job_Exp; + Zeny += .@Zeny; + for (.@i = 0; .@i < .Quests; .@i++) { + 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 `global_reg_value` (`char_id`,`str`,`value`,`type`,`account_id`) VALUES ("+getcharid(0)+",'Mission_Total','1',3,0)"); - else query_sql("UPDATE `global_reg_value` SET `value` = "+Mission_Total+" WHERE char_id = "+getcharid(0)+" AND `str` = 'Mission_Total'"); + #Mission_Count = 0; + if (.Delay) + #Mission_Delay = gettimetick(2) + (.Delay * 3600); + Mission_Total++; + if (Mission_Total == 1) + query_sql("INSERT INTO `global_reg_value` (`char_id`,`str`,`value`,`type`,`account_id`) VALUES (" + getcharid(0) + ",'Mission_Total','1',3,0)"); + else + query_sql("UPDATE `global_reg_value` SET `value` = " + Mission_Total + " WHERE char_id = " + getcharid(0) + " AND `str` = 'Mission_Total'"); close; Mission_Info: @@ -197,47 +222,46 @@ Mission_Info: mes "[Hunting Missions]"; mes "Missions points are shared"; mes "amongst all your characters."; - if (.Delay) mes "Delay time is, too."; + 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 (.Delay ? "every " + ((.Delay == 1) ? "hour." : .Delay + " hours.") : "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$; } + if (getarg(0) < getarg(1)) { + @f = 1; + return "^FF0000"; + } else + return "^00FF00"; +} OnBuyItem: - set @cost,0; - for(set .@i,0; .@i #Mission_Points) mes "You don't have enough Mission Points."; + if (@cost > #Mission_Points) + mes "You don't have enough Mission Points."; else { - for(set .@i,0; .@i 0) { + set .@Mission_Count, getvar(#Mission_Count, $@partymembercid[.@i]); + set .@Mission0, getvar(Mission0, $@partymembercid[.@i]); + set .@HP, getvar(HP, $@partymembercid[.@i]); + + if (.@Mission_Count && .@Mission0 && .@HP > 0) { getmapxy(.@map2$,.@x2,.@y2,0); 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)+"."; + for (.@j = 0; .@j < .Quests; .@j++) { + if (strmobinfo(1,.@mob) == strmobinfo(1,getvar(getd("Mission"+.@j), $@partymembercid[.@i]))) { + if (getvar(getd("Mission"+.@j+"_"), $@partymembercid[.@i]) < .@Mission_Count) { + dispbottom "[Hunting Mission] Killed " + (set(getvar(getd("Mission" + .@j + "_"), $@partymembercid[.@i]), getvar(getd("Mission" + .@j + "_") + 1, $@partymembercid[.@i]))) + + " of " + .@Mission_Count + " " + strmobinfo(1,.@mob) + "."; break; } } @@ -280,17 +309,19 @@ OnNPCKillEvent: 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). + .Delay = 12; // Quest delay, in hours (0 to disable). + .Quests = 4; // Number of subquests per mission (increases rewards). + .Party = 3; // Party options: 0 (exclude party kills), 1 (include party kills), 2 (same map only), 3 (screen area only) + .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. + 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). + .mob_db$ = // Table name of SQL mob database + (checkre(0))?"mob_db_re":"mob_db"; + 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. + .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,"+ @@ -298,7 +329,7 @@ OnInit: "1975,1976,1977,1978,1979"; npcshopdelitem "mission_shop",512; - for(set .@i,0; .@i .MaxStack)?.MaxStack:@bought_quantity[0]); - copyarray .@q[3],getd(".q_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+.@q[0])); + copyarray .@q[3],getd(".q_"+@shop_index+"_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+@shop_index+"_"+.@q[0])); set .@q[2],.@q[1]*.@q[3]; if (!.@q[2] || .@q[2] > 30000) { message strcharinfo(0),"You can't purchase that many "+getitemname(.@q[0])+"."; @@ -147,7 +148,7 @@ OnBuyItem: if (.@q[6]) for(set .@i,6; .@i 1)?.@q[2]+"x "+getitemname(.@q[0]):A_An(getitemname(.@q[0])))+"!",0; + if (.Announce) announce strcharinfo(0)+" has created "+((.@q[2] > 1)?.@q[2]+"x "+getitemname(.@q[0]):callfunc("F_InsertArticle",getitemname(.@q[0])))+"!",0; specialeffect2 EF_FLOWERLEAF; close; case 2: @@ -185,7 +186,7 @@ function Add { } else setarray .@j[.@i-2],getarg(.@i),getarg(.@i+1); } - copyarray getd(".q_"+getarg(1)+"[0]"),.@j[0],getarraysize(.@j); + copyarray getd(".q_"+getarg(0)+"_"+getarg(1)+"[0]"),.@j[0],getarraysize(.@j); npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0); return; } @@ -206,14 +207,6 @@ function Slot { default: return .@s$; } } - -function A_An { - setarray .@A$[0],"a","e","i","o","u"; - set .@B$, "_"+getarg(0); - for(set .@i,0; .@i<5; set .@i,.@i+1) - if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0); - return "a "+getarg(0); -} } function script qshop { @@ -231,4 +224,4 @@ function script qshop { - shop qshop2 -1,909:-1 - shop qshop3 -1,909:-1 - shop qshop4 -1,909:-1 -- shop qshop5 -1,909:-1 \ No newline at end of file +- shop qshop5 -1,909:-1 diff --git a/custom/quests/sphinx_mask.txt b/custom/quests/sphinx_mask.txt index 0091042..1a4a695 100644 --- a/custom/quests/sphinx_mask.txt +++ b/custom/quests/sphinx_mask.txt @@ -49,4 +49,4 @@ L_Menu: getitem 7114,1; set sphmask_q,1; close; -} \ No newline at end of file +} diff --git a/custom/quests/sunglasses.txt b/custom/quests/sunglasses.txt index fb33535..329801a 100644 --- a/custom/quests/sunglasses.txt +++ b/custom/quests/sunglasses.txt @@ -105,4 +105,4 @@ moc_fild07,334,186,5 script Maseph 702,{ getitem 2202,1; set SG_QUEST1,0; close; -} \ No newline at end of file +} diff --git a/custom/quests/thq/THQS_ChattingNPC.txt b/custom/quests/thq/THQS_ChattingNPC.txt new file mode 100644 index 0000000..55971e5 --- /dev/null +++ b/custom/quests/thq/THQS_ChattingNPC.txt @@ -0,0 +1,95 @@ +//===== rAthena Script ======================================= +//= Treasure Hunter Quests +//===== By: ================================================== +//= Fredzilla +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== 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 722,{ + mes "^FF0000[ Treasure Hunter Guild House ]^000000"; + mes " "; + mes "Welcome to the Treasure Hunter's Guild House."; + mes "Feel free to drop in and look around"; + mes "and feel free to become a memeber if you wish."; + mes " "; + mes "For membership applications please talk to Keegan"; + mes "up the stairs and down the hall."; + close; +} +//Saver Girl; +yuno_in01,32,178,3 script Ahlma 94,{ + mes "[Ahlma]"; + if (Event_THQS == 0) goto N_Member; + mes "Welcome to The Treasure Hunter Guild."; + mes "How may I help you?"; + next; + menu "Save",-,"Quit",N_Quit; + mes "[Ahlma]"; + mes "Ok, saved. Thank you ~ See you soon~"; + savepoint "yuno_in01",34,176; + close; +N_Quit: + mes "[Ahlma]"; + mes "Well if you think you are safe, good on you."; + close; +N_Member: + mes "Sorry, members only."; + close; +} +//Retired Smile mask girl; +yuno_in01,33,162,3 script Smile Helper 92,{ + mes "[Smile Gal]"; + mes "Oh man...I am so sick of"; + mes "trading Mr. Smile masks for crap."; + mes " "; + mes "You ask me for one and you'll find yourself 10 pounds lighter!"; + close; +} +//Usless Female Assasin; +yuno_in01,22,162,6 script Female Assasin 725,{ + mes "[Sharlet]"; + if (Event_THQS > 0) goto N_Member; + mes "Umm sorry I'm not gona waste my time talking to you if you arn't even a member!"; + close; +N_Member: + set @TEMP,rand(1,2); + if (@TEMP == 1) goto N_Chat1; + if (@TEMP == 2) goto N_Chat2; + mes "How are you reading this???"; + mes "Well unless you are reading the code :)"; + close; +N_Chat1: + mes "Ahh welcome fellow Treasure Hunter "+strcharinfo(0)+"."; + mes "Did you hear about that brave man that went into Glast Heim alone?! He must be crazy."; + close; +N_Chat2: + mes ""+strcharinfo(0)+" don't you have something better you could be doing? Like a quest."; + close; +} +//another usless member +yuno_in01,25,162,6 script Female Wizard 123,{ + mes "[Sasha]"; + if (Event_THQS > 0) goto N_Member; + mes "Umm sorry I'm not gona waste my time talking to you if you arn't even a member!"; + close; +N_Member: + set @TEMP,rand(2); + if (@TEMP == 1) goto N_Chat; + mes "Ahh welcome fellow Treasure Hunter "+strcharinfo(0)+"."; + mes "Did you hear about that goat man running around in the trees?"; + mes " "; + mes "Aperently his name is Baphomet and he has been runing around the Forest Maze out side of prontera for quite some time now."; + close; +N_Chat: + mes ""+strcharinfo(0)+" don't you have something better you could be doing? Like a quest."; + close; +} diff --git a/custom/resetnpc.txt b/custom/resetnpc.txt index eb34137..21a62a6 100644 --- a/custom/resetnpc.txt +++ b/custom/resetnpc.txt @@ -17,15 +17,15 @@ prontera,150,193,4 script Reset Girl 124,{ - set .@ResetStat,5000; // Zeny for stat reset - set .@ResetSkill,5000; // Zeny for skill reset - set .@ResetBoth,9000; // Zeny for resetting both together + .@ResetStat = 5000; // Zeny for stat reset + .@ResetSkill = 5000; // Zeny for skill reset + .@ResetBoth = 9000; // Zeny for resetting both together mes "[Reset Girl]"; mes "I am the Reset Girl."; - mes "Reset Stats: "+ .@ResetStat +"z"; - mes "Reset Skills: "+ .@ResetSkill +"z"; - mes "Reset Both: "+ .@ResetBoth +"z"; + mes "Reset Stats: " + callfunc("F_InsertComma", .@ResetStat) + "z"; + mes "Reset Skills: " + callfunc("F_InsertComma", .@ResetSkill) + "z"; + mes "Reset Both: " + callfunc("F_InsertComma", .@ResetBoth) + "z"; mes "Please select the service you want:"; next; switch(select("^FF3355Reset Skills:Reset Stats:Reset Both^000000:Cancel")) { @@ -35,9 +35,9 @@ prontera,150,193,4 script Reset Girl 124,{ mes "Sorry, you don't have enough Zeny."; close; } - set Zeny, Zeny-.@ResetSkill; + Zeny -= .@ResetSkill; sc_end SC_ALL; - ResetSkill; + resetskill; mes "There you go!"; close; case 2: @@ -46,8 +46,8 @@ prontera,150,193,4 script Reset Girl 124,{ mes "Sorry, you don't have enough Zeny."; close; } - set Zeny, Zeny-.@ResetStat; - ResetStatus; + Zeny -= .@ResetStat; + resetstatus; mes "There you go!"; close; case 3: @@ -56,10 +56,10 @@ prontera,150,193,4 script Reset Girl 124,{ mes "Sorry, you don't have enough Zeny."; close; } - set Zeny, Zeny-.@ResetBoth; + Zeny -= .@ResetBoth; sc_end SC_ALL; - ResetSkill; - ResetStatus; + resetskill; + resetstatus; mes "There you go!"; close; case 4: diff --git a/custom/stylist.txt b/custom/stylist.txt index 94132b2..0d6d543 100644 --- a/custom/stylist.txt +++ b/custom/stylist.txt @@ -14,8 +14,14 @@ //============================================================ prontera,170,180,1 script Stylist#custom_stylist 122,{ - setarray .@Styles[1],getbattleflag("max_cloth_color"),getbattleflag("max_hair_style"),getbattleflag("max_hair_color"); - setarray .@Look[1],7,1,6; + setarray .@Styles[1], + getbattleflag("max_cloth_color"), + getbattleflag("max_hair_style"), + getbattleflag("max_hair_color"); + setarray .@Look[1], + LOOK_CLOTHES_COLOR, + LOOK_HAIR, + LOOK_HAIR_COLOR; set .@s, select(" ~ Cloth color: ~ Hairstyle: ~ Hair color"); set .@Revert, getlook(.@Look[.@s]); set .@Style,1; @@ -24,13 +30,22 @@ prontera,170,180,1 script Stylist#custom_stylist 122,{ message strcharinfo(0),"This is style #"+.@Style+"."; set .@menu$, " ~ Next (^0055FF"+((.@Style!=.@Styles[.@s])?.@Style+1:1)+"^000000): ~ Previous (^0055FF"+((.@Style!=1)?.@Style-1:.@Styles[.@s])+"^000000): ~ Jump to...: ~ Revert to original (^0055FF"+.@Revert+"^000000)"; switch(select(.@menu$)) { - case 1: set .@Style, ((.@Style!=.@Styles[.@s])?.@Style+1:1); break; - case 2: set .@Style, ((.@Style!=1)?.@Style-1:.@Styles[.@s]); break; - case 3: message strcharinfo(0),"Choose a style between 1 - "+.@Styles[.@s]+"."; - input .@Style,0,.@Styles[.@s]; - if (!.@Style) set .@Style, rand(1,.@Styles[.@s]); - break; - case 4: set .@Style, .@Revert; setlook .@Look[.@s], .@Revert; break; + case 1: + set .@Style, ((.@Style != .@Styles[.@s]) ? .@Style+1 : 1); + break; + case 2: + set .@Style, ((.@Style != 1) ? .@Style-1 : .@Styles[.@s]); + break; + case 3: + message strcharinfo(0),"Choose a style between 1 - "+.@Styles[.@s]+"."; + input .@Style,0,.@Styles[.@s]; + if (!.@Style) + set .@Style, rand(1,.@Styles[.@s]); + break; + case 4: + set .@Style, .@Revert; + setlook .@Look[.@s], .@Revert; + break; } } } diff --git a/custom/warper.txt b/custom/warper.txt index f96700f..2eab894 100644 --- a/custom/warper.txt +++ b/custom/warper.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Euphy //===== Current Version: ===================================== -//= 1.4 +//= 1.4d //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -16,6 +16,10 @@ //= 1.3 Added Renewal checks and Instances menu. //= Aligned coordinates with @go. //= 1.4 Added new Guild Dungeons. +//= 1.4a Slight edits. +//= 1.4b Added Clock Tower Nightmare Mode warp. +//= 1.4c Added Wolfchev's Laboratory warp. +//= 1.4d Added Glast Heim Nightmare Mode warp. //============================================================ - script Warper -1,{ @@ -26,9 +30,13 @@ function Go; function Disp; function Pick; function Restrict; // -------------------------------------------------- menu "Last Warp ^777777["+lastwarp$+"]^000000",-, - " ~ Towns",Towns, " ~ Fields",Fields, " ~ Dungeons",Dungeons, - " ~ Guild Castles",Castles, " ~ Guild Dungeons",Guild_Dungeons, - " ~ Instances",Instances, " ~ Special Areas",Special; + " ~ Towns",Towns, + " ~ Fields",Fields, + " ~ Dungeons",Dungeons, + " ~ Guild Castles",Castles, + " ~ Guild Dungeons",Guild_Dungeons, + " ~ Instances",Instances, + " ~ Special Areas",Special; if (lastwarp$ == "") message strcharinfo(0),"You haven't warped anywhere yet."; @@ -60,8 +68,10 @@ menu "Last Warp ^777777["+lastwarp$+"]^000000",-, // -------------------------------------------------- function Go { + set lastwarp$, getarg(0); + set lastwarpx, getarg(1,0); + set lastwarpy, getarg(2,0); warp getarg(0),getarg(1,0),getarg(2,0); - getmapxy(lastwarp$,lastwarpx,lastwarpy,0); end; } function Disp { @@ -69,7 +79,7 @@ function Disp { set @menu$, getarg(0); else { set @menu$,""; - for(set .@i,getarg(1); .@i<=getarg(2); set .@i,.@i+1) + for (set .@i,getarg(1); .@i<=getarg(2); set .@i,.@i+1) set @menu$, @menu$+getarg(0)+" "+.@i+":"; } return; @@ -77,12 +87,11 @@ function Disp { function Pick { set .@warp_block,@warp_block; set @warp_block,0; + set .@select, select(@menu$); if (getarg(0) == "") { - set .@select, select(@menu$); set .@i, .@select; set .@map$, getarg(.@i); } else { - set .@select, select(@menu$); set .@i, .@select-getarg(1,0); set .@map$, getarg(0)+((.@i<10)?"0":"")+.@i; } @@ -90,16 +99,16 @@ function Pick { message strcharinfo(0),"This map is not enabled in "+((checkre(0))?"":"Pre-")+"Renewal."; end; } - warp .@map$,@c[.@i*2],@c[.@i*2+1]; - getmapxy(lastwarp$,lastwarpx,lastwarpy,0); + set .@x, @c[.@i*2]; + set .@y, @c[.@i*2+1]; deletearray @c[0],getarraysize(@c); - end; + Go(.@map$,.@x,.@y); } function Restrict { if ((getarg(0) == "RE" && !checkre(0)) || (getarg(0) == "Pre-RE" && checkre(0))) { if (getarg(1,0)) { set @warp_block,0; - for(set .@i,1; .@i 5) { getitem .@slotted,1; @@ -113,7 +118,6 @@ prontera,147,59,3 script Goldberg#pron 878,{ mes "Alright, then, see you next time..."; close; } - set .@equip_refine, getequiprefinerycnt(.@part); setarray .@equip_card[0], getequipcardid(.@part,0),getequipcardid(.@part,1),getequipcardid(.@part,2),getequipcardid(.@part,3); if (.@select == 1) { switch(getequipid(.@part)) { @@ -257,6 +261,11 @@ prontera,147,59,3 script Goldberg#pron 878,{ else if (.@i < 301) set .@enchant, .@enc[2]; else set .@enchant,9; + // anti-hack + if (callfunc("F_IsEquipIDHack", .@part, .@equip_id) || + callfunc("F_IsEquipCardHack", .@part, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3])) + close; + set .@equip_card[.@slot], .@enchant; if (.@slot == 2 && .@enchant == 0) { set .@equip_card[3],0; @@ -269,6 +278,7 @@ prontera,147,59,3 script Goldberg#pron 878,{ set .@equip_card[3],0; } + set .@equip_refine, getequiprefinerycnt(.@part); delequip .@part; if (.@enchant == 9) { mes "[Goldberg]"; diff --git a/events/bossnia.txt b/events/bossnia.txt index 8085889..1e7f5e6 100644 --- a/events/bossnia.txt +++ b/events/bossnia.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Masao //===== Current Version: ===================================== -//= 1.2 +//= 1.3 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -12,6 +12,7 @@ //= 1.0 Converted from the official script. //= 1.1 Optimized. [Euphy] //= 1.2 Moved spawns and warps (by Masao) to this file. [Euphy] +//= 1.3 Added VIP features. [Euphy] //============================================================ // Entrance NPCs @@ -62,26 +63,66 @@ prontera,132,125,4 script Bossnia Staff#1 908,{ mes "Although you know the place, you want to go in..."; mes "Good, I will send you there."; mes "But after you went there, don't hold"; - mes "a grudge against me. Also it costs 5,000 zeny."; - next; - if (Zeny > 4999) { - mes "[Riss]"; - mes "Would you really like to take the challenge?"; - mes "Ok, just choose the course."; + + // If the VIP system is enabled, players pay a Reset Stone for 5 entrances (with a choice of warps). + // If it's disabled, players pay 5,000z per entrance. + if (VIP_SCRIPT) { + mes "a grudge against me. It'll cost you 1 Reset Stone for 5 access."; next; - set .@i, select("First","Second","Third","Fourth"); mes "[Riss]"; - mes "Take care, boy~"; - mes "Don't hold a grudge against me."; - close2; - set Zeny, Zeny - 5000; - warp "bossnia_0"+.@i,rand(202,204),rand(202,204); - end; + if (bossnia_event > 0) { + set .@type,1; + mes "Remaining access: "+bossnia_event; + } else if (countitem(6320)) { + set .@type,2; + mes "Do you want to go?"; + } else { + mes "You don't have a ticket now....."; + mes "So come to me again with a Reset Stone later."; + close; + } + next; + if(select("Enter:Leave") == 2) + close; + set .@i, select("First:Second:Third:Fourth"); + switch(select("Warp 1:Warp 2:Warp 3:Warp 4")) { + case 1: set .@x,31; set .@y,208; break; + case 2: set .@x,31; set .@y,31; break; + case 3: set .@x,208; set .@y,31; break; + case 4: set .@x,208; set .@y,208; break; + } + if (.@type == 1) + set bossnia_event, bossnia_event-1; + else { + delitem 6320,1; //Premium_Reset_Stone + set bossnia_event,4; + } + specialeffect2 EF_MAXPOWER; + warp "bossnia_0"+.@i,.@x,.@y; + close; + } else { + mes "a grudge against me. Also it costs 5,000 zeny."; + next; + if (Zeny > 4999) { + mes "[Riss]"; + mes "Would you really like to take the challenge?"; + mes "Ok, just choose the course."; + next; + set .@i, select("First:Second:Third:Fourth"); + mes "[Riss]"; + mes "Take care, boy~"; + mes "Don't hold a grudge against me."; + close2; + set Zeny, Zeny - 5000; + warp "bossnia_0"+.@i,rand(202,204),rand(202,204); + end; + } else { + mes "[Riss]"; + mes "You don't have enough money..."; + mes "Come back when you have at least 5,000 zeny."; + close; + } } - mes "[Riss]"; - mes "You don't have enough money..."; - mes "Come back when you have at least 5,000 zeny."; - close; } geffen,124,169,4 duplicate(Bossnia Staff#1) Bossnia Staff#2 908 payon,165,150,4 duplicate(Bossnia Staff#1) Bossnia Staff#3 908 @@ -111,7 +152,6 @@ bossnia_01,0,0,0,0 monster Drake 1112,10,1800000,0,1 bossnia_01,0,0,0,0 monster Detale 1719,2,7200000,0,1 bossnia_01,0,0,0,0 monster Maya 1147,10,1800000,0,1 bossnia_01,0,0,0,0 monster Mistress 1059,1,1800000,0,1 -bossnia_01,0,0,0,0 monster Baphomet 1039,10,1800000,0,1 bossnia_01,0,0,0,0 monster Egnigem Cenia 1658,10,1800000,0,1 bossnia_01,0,0,0,0 monster Amon Ra 1511,1,1800000,0,1 bossnia_01,0,0,0,0 monster Atroce 1785,10,1800000,0,1 @@ -137,11 +177,12 @@ bossnia_01,0,0,0,0 monster Golden Thief Bug 1086,10,3600000,0,1 bossnia_01,0,0,0,0 monster Evil Snake Lord 1418,10,7200000,0,1 bossnia_01,0,0,0,0 monster RSX-0806 1623,5,7200000,0,1 bossnia_01,0,0,0,0 monster Assassin Cross Eremes 1647,1,0,0,1 +bossnia_01,0,0,0,0 monster Nidhoggr's Shadow 2022,1,28800000,0,1 bossnia_01,137,118,1,1 monster Whitesmith Howard 1648,1,0,0,1 bossnia_01,122,195,1,1 monster Beelzebub 1873,1,0,0,1 -bossnia_01,45,118,1,1 monster Beelzebub 1873,1,0,0,1 -bossnia_01,196,122,1,1 monster Valkyrie Randgris 1751,1,0,0,1 -bossnia_01,142,61,1,1 monster Ifrit 1832,1,0,0,1 +bossnia_01,142,61,1,1 monster Beelzebub 1873,1,0,0,1 +bossnia_01,34,34,1,1 monster Valkyrie Randgris 1751,1,0,0,1 +bossnia_01,45,118,1,1 monster Ifrit 1832,1,0,0,1 //---------------------------------------------------------------------------- // bossnia_02 - Bossnia @@ -155,7 +196,6 @@ bossnia_02,0,0,0,0 monster Drake 1112,10,1800000,0,1 bossnia_02,0,0,0,0 monster Detale 1719,2,7200000,0,1 bossnia_02,0,0,0,0 monster Maya 1147,10,1800000,0,1 bossnia_02,0,0,0,0 monster Mistress 1059,1,1800000,0,1 -bossnia_02,0,0,0,0 monster Baphomet 1039,10,1800000,0,1 bossnia_02,0,0,0,0 monster Egnigem Cenia 1658,10,1800000,0,1 bossnia_02,0,0,0,0 monster Amon Ra 1511,1,1800000,0,1 bossnia_02,0,0,0,0 monster Atroce 1785,10,1800000,0,1 @@ -181,11 +221,12 @@ bossnia_02,0,0,0,0 monster Golden Thief Bug 1086,10,3600000,0,1 bossnia_02,0,0,0,0 monster Evil Snake Lord 1418,10,7200000,0,1 bossnia_02,0,0,0,0 monster RSX-0806 1623,5,7200000,0,1 bossnia_02,0,0,0,0 monster Assassin Cross Eremes 1647,1,0,0,1 +bossnia_02,0,0,0,0 monster Nidhoggr's Shadow 2022,1,28800000,0,1 bossnia_02,137,118,1,1 monster Whitesmith Howard 1648,1,0,0,1 bossnia_02,122,195,1,1 monster Beelzebub 1873,1,0,0,1 -bossnia_02,45,118,1,1 monster Beelzebub 1873,1,0,0,1 -bossnia_02,196,122,1,1 monster Valkyrie Randgris 1751,1,0,0,1 -bossnia_02,142,61,1,1 monster Ifrit 1832,1,0,0,1 +bossnia_02,142,61,1,1 monster Beelzebub 1873,1,0,0,1 +bossnia_02,34,34,1,1 monster Valkyrie Randgris 1751,1,0,0,1 +bossnia_02,45,118,1,1 monster Ifrit 1832,1,0,0,1 //---------------------------------------------------------------------------- // bossnia_03 - Bossnia @@ -199,7 +240,6 @@ bossnia_03,0,0,0,0 monster Drake 1112,10,1800000,0,1 bossnia_03,0,0,0,0 monster Detale 1719,2,7200000,0,1 bossnia_03,0,0,0,0 monster Maya 1147,10,1800000,0,1 bossnia_03,0,0,0,0 monster Mistress 1059,1,1800000,0,1 -bossnia_03,0,0,0,0 monster Baphomet 1039,10,1800000,0,1 bossnia_03,0,0,0,0 monster Egnigem Cenia 1658,10,1800000,0,1 bossnia_03,0,0,0,0 monster Amon Ra 1511,1,1800000,0,1 bossnia_03,0,0,0,0 monster Atroce 1785,10,1800000,0,1 @@ -225,11 +265,12 @@ bossnia_03,0,0,0,0 monster Golden Thief Bug 1086,10,3600000,0,1 bossnia_03,0,0,0,0 monster Evil Snake Lord 1418,10,7200000,0,1 bossnia_03,0,0,0,0 monster RSX-0806 1623,5,7200000,0,1 bossnia_03,0,0,0,0 monster Assassin Cross Eremes 1647,1,0,0,1 +bossnia_03,0,0,0,0 monster Nidhoggr's Shadow 2022,1,28800000,0,1 bossnia_03,137,118,1,1 monster Whitesmith Howard 1648,1,0,0,1 bossnia_03,122,195,1,1 monster Beelzebub 1873,1,0,0,1 -bossnia_03,45,118,1,1 monster Beelzebub 1873,1,0,0,1 -bossnia_03,196,122,1,1 monster Valkyrie Randgris 1751,1,0,0,1 -bossnia_03,142,61,1,1 monster Ifrit 1832,1,0,0,1 +bossnia_03,142,61,1,1 monster Beelzebub 1873,1,0,0,1 +bossnia_03,34,34,1,1 monster Valkyrie Randgris 1751,1,0,0,1 +bossnia_03,45,118,1,1 monster Ifrit 1832,1,0,0,1 //---------------------------------------------------------------------------- // bossnia_04 - Bossnia @@ -243,7 +284,6 @@ bossnia_04,0,0,0,0 monster Drake 1112,10,1800000,0,1 bossnia_04,0,0,0,0 monster Detale 1719,2,7200000,0,1 bossnia_04,0,0,0,0 monster Maya 1147,10,1800000,0,1 bossnia_04,0,0,0,0 monster Mistress 1059,1,1800000,0,1 -bossnia_04,0,0,0,0 monster Baphomet 1039,10,1800000,0,1 bossnia_04,0,0,0,0 monster Egnigem Cenia 1658,10,1800000,0,1 bossnia_04,0,0,0,0 monster Amon Ra 1511,1,1800000,0,1 bossnia_04,0,0,0,0 monster Atroce 1785,10,1800000,0,1 @@ -269,8 +309,9 @@ bossnia_04,0,0,0,0 monster Golden Thief Bug 1086,10,3600000,0,1 bossnia_04,0,0,0,0 monster Evil Snake Lord 1418,10,7200000,0,1 bossnia_04,0,0,0,0 monster RSX-0806 1623,5,7200000,0,1 bossnia_04,0,0,0,0 monster Assassin Cross Eremes 1647,1,0,0,1 +bossnia_04,0,0,0,0 monster Nidhoggr's Shadow 2022,1,28800000,0,1 bossnia_04,137,118,1,1 monster Whitesmith Howard 1648,1,0,0,1 bossnia_04,122,195,1,1 monster Beelzebub 1873,1,0,0,1 -bossnia_04,45,118,1,1 monster Beelzebub 1873,1,0,0,1 -bossnia_04,196,122,1,1 monster Valkyrie Randgris 1751,1,0,0,1 -bossnia_04,142,61,1,1 monster Ifrit 1832,1,0,0,1 +bossnia_04,142,61,1,1 monster Beelzebub 1873,1,0,0,1 +bossnia_04,34,34,1,1 monster Valkyrie Randgris 1751,1,0,0,1 +bossnia_04,45,118,1,1 monster Ifrit 1832,1,0,0,1 diff --git a/events/christmas_2005.txt b/events/christmas_2005.txt index 54d0604..eb15297 100644 --- a/events/christmas_2005.txt +++ b/events/christmas_2005.txt @@ -159,7 +159,7 @@ xmas_in,89,92,5 script Louise Kim#designer 714,{ else { mes "[Designer Louise Kim]"; mes "Come on~If you just get me the materials,"; - mes "I won't chage anything,"; + mes "I won't charge anything,"; mes "Call me if you change your mind."; emotion e_lv; close; diff --git a/events/christmas_2013.txt b/events/christmas_2013.txt new file mode 100644 index 0000000..c0e40dd --- /dev/null +++ b/events/christmas_2013.txt @@ -0,0 +1,1711 @@ +//===== rAthena Script ======================================= +//= iRO/kRO 2013 Christmas Event +//===== By: ================================================== +//= Euphy +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena Project +//===== Description: ========================================= +//= [Official Conversion] +//= Join the Singles Union Army to break up couples and hunt +//= raccoons for rewards. +//===== Additional Comments: ================================= +//= 1.0 First version. [Euphy] +//============================================================ + +// Main Quest :: 2013_xmas_en +//============================================================ +xmas,10,1,5 script 2013questreset2#xmas 10086,{ + if (callfunc("F_GM_NPC",1854,0) == 1) { + setarray .@quests[0], 15055,15056,15057,15059,15060,15061,15062,15063,15064; + for (set .@i,0; .@i<=getarraysize(.@quests); set .@i,.@i+1) + if (isbegin_quest(.@i)) erasequest .@i; + } + end; +} + +xmas,150,134,3 script Union Commander Cliff 10086,{ + if (BaseLevel < 40) { + mes "[Union Commander Cliff]"; + mes "No words for noob!! Level 40 below cannot join Singles Union Army!"; + close; + } + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 1) { + mes "^ff0000You are overweight. Check your inventory and speak to me later.^000000"; + close; + } + set .@playtime, checkquest(15059,PLAYTIME); + if (.@playtime == 0 || .@playtime == 1) { + mes "- You can repeat this quest after 24 hours."; + close; + } else if (checkquest(15059,PLAYTIME) > 1) { + erasequest 15059; + set xmas2013_01,0; + } + set .@que_allmem, isbegin_quest(15060) + isbegin_quest(15061) + isbegin_quest(15062) + isbegin_quest(15063) + isbegin_quest(15064); + if (isbegin_quest(15057) == 1) { + if (countitem(7909) < 10 || countitem(7910) < 10 || countitem(6682) < 10) { + mes "[Union Commander Cliff]"; + mes "We need more materials to hold a Christmas party for the Singles Union Army!"; + next; + mes "[Union Commander Cliff]"; + mes "Bring ^ff000010 Stolen Cookie, 10 Stolen Candy, and 10 Bag Of Selling Goods^000000 from those damn raccoons!"; + close; + } + mes "[Union Commander Cliff]"; + mes "Did you kick the ass of the Raccoon Hooray team? Oh! You've brought all the items we need. We will be able to feel some Christmas mood with it!"; + next; + mes "[Union Commander Cliff]"; + mes "I will take ALL the items you brought. For that, I'll give you an exclusive reward only for Singles Union Army. You-must-open-it-ALONE!"; + next; + mes "[Union Commander Cliff]"; + mes "Seize the holiday!"; + mes "Glory to the Singles Union Army! hihihi HAHAHAHA!!"; + delitem 7909, countitem(7909); //Stolen_Cookie + delitem 7910, countitem(7910); //Stolen_Candy + delitem 6682, countitem(6682); //Bag_Of_Selling_Goods + erasequest 15057; + setquest 15059; + getitem 22685,1; //Solo_Christmas_Gift + specialeffect2 EF_MAGICALATTHIT; + specialeffect2 EF_POTION2; + specialeffect2 EF_ANGEL2; + close; + } else if (isbegin_quest(15056) == 1 && xmas2013_01 < 5) { + mes "[Union Commander Cliff]"; + mes "You have a total of " + xmas2013_01 + " couple breaking points."; + mes "Break up at least 5 couples and come back to me!"; + close; + } else if (isbegin_quest(15056) == 1 && xmas2013_01 > 4) { + mes "[Union Commander Cliff]"; + mes "Yes! You did it!! More and more are joining the Singles Union Army!! hihihi HAHAHA-HAK! Victory is ours!!"; + erasequest 15056; + setquest 15057; + getitem 22686,5; //Solo_Cookie + next; + mes "[Union Commander Cliff]"; + mes "BUT!!! While we're busy breaking up couples, those damn Raccoon Hooray brats stole most of our items. Without it, we cannot get the feel of Christmas mood."; + next; + mes "[Union Commander Cliff]"; + mes "It's time to punish them and reclaim the items for the Singles Union Army!!"; + next; + mes "[Union Commander Cliff]"; + mes "^ff0000>10 Stolen Cookie, 10 Stolen Candy and 10 Bag Of Selling Goods^000000 should be enough for the party. Find the raccoons on field maps and dungeons!"; + next; + mes "[Union Commander Cliff]"; + mes "It doesn't matter if you brought more, I will take them ALL!!"; + close; + } else if (isbegin_quest(15055) == 0) { + mes "[Union Commander Cliff]"; + mes "Hey you!! Yes! You right there! You!!"; + next; + mes "[Union Commander Cliff]"; + mes "Let me ask you bluntly."; + mes "You must be single. I've got a feeling. Right?!??"; + next; + if(select("- ...maybe...?:WHAT! I'm in a relationship!!") == 2) { + mes "[Union Commander Cliff]"; + mes "What? ...in a relationship?!!"; + mes "...Not single, but a couple..."; + mes "......"; + mes "Damn you! Taste the wrath of the Singles Union Army!!!"; + close2; + specialeffect2 EF_MAGICALATTHIT; + specialeffect2 EF_POTION2; + specialeffect2 EF_CRASHEARTH; + specialeffect2 EF_COIN; + end; + } + mes "[Union Commander Cliff]"; + mes "hihihi HAHAHA-HAK!"; + mes "I knew it! First glance I can tell!"; + mes "Don't underestimate me, I've been single all my life! hihihi HAHAHA-HAK!"; + mes "My name is Union Commander Cliff!"; + next; + mes "[Union Commander Cliff]"; + mes "Anyway, this December, the day is coming...."; + next; + mes "[Union Commander Cliff]"; + mes "Christmas songs everywhere, bright colored lights, pouring white snow, and couples seeing each other with smile on their faces...couples...COUPPPLEEES...!!!!"; + next; + mes "[Union Commander Cliff]"; + mes "In the beginning was a celebration of the birth of our Lord! Then, why...how...when did it became a day for couples??!"; + next; + mes "[Union Commander Cliff]"; + mes "I can't stand this...."; + mes "I will not forgive them for the happiness they bring only for themselves!!"; + next; + mes "[Union Commander Cliff]"; + mes "Christmas for couples?"; + mes "No way! This Christmas will be a day for singles!!"; + next; + mes "[Union Commander Cliff]"; + mes "However, I will need members to stand against them. Its name would be, Singles Union Army!!"; + next; + mes "[Union Commander Cliff]"; + mes "What do you think? Would you join my Singles Union Army and make Christmas day for singles?"; + next; + select("Count me in!:I'll help.:I can't say no, can I?"); + mes "[Union Commander Cliff]"; + mes "Yeah! That's it! but we need more members to stand against couples."; + next; + mes "[Union Commander Cliff]"; + mes "Here is your first mission!"; + mes "Go find someone in Lutie and make them join us. 5 singles should be enough, now gogogo~!"; + mes "hihihi HAHAHA-HAK!"; + close2; + setquest 15055; + end; + } else if (isbegin_quest(15055) == 1 && .@que_allmem < 10) { + mes "[Union Commander Cliff]"; + mes "No time to waste!"; + mes "Go find 5 singles in Lutie and make them join!"; + close; + } else if (isbegin_quest(15055) == 1 && .@que_allmem > 9) { + mes "[Union Commander Cliff]"; + mes "Good job! I've met them all! They are worthy to join our cause hihihi HAHAHA-HAK!!"; + next; + mes "[Union Commander Cliff]"; + mes "While you were gathering more Singles Union Army members, I've made badges.."; + next; + mes "[Union Commander Cliff]"; + mes "It might not be useful but this kind of small token can make our bonds solid and strong!"; + next; + mes "[Union Commander Cliff]"; + mes "Well, take this! Now you are the proud member of Singles Union Army!!"; + set xmas2013_01,0; + completequest 15055; + getitem 6821,1; //Solo_Troops_Badge + next; + mes "[Union Commander Cliff]"; + mes "Now it is time to show our power to couples as we've got enough members!!"; + next; + mes "[Union Commander Cliff]"; + mes "On to the second mission!"; + mes "Go to Lutie and make couples separate. Doesn't matter how you do it, just them break up!!"; + mes "hihihi HAHAHA-HAK!"; + next; + mes "[Union Commander Cliff]"; + mes "Well there is one more thing..."; + mes "When you disturb couple, if they broke up, you will gain 2 point, in case of just simple argument will grant you 1 point."; + mes "But if they become more into each others, your score will be minus 1 point. So when you got 5 points and come here for report, it means mission accomplished."; + next; + mes "[Union Commander Cliff]"; + mes "Surely you won't have minus score so don't worry."; + setquest 15056; + close; + } else if (isbegin_quest(15055) == 2) { + mes "[Union Commander Cliff]"; + mes "Now it is time to show our power to couples as we've got enough troops!!"; + next; + mes "[Union Commander Cliff]"; + mes "Let's go for second mission!"; + mes "Go to Lutie and make couples separated. Whatever they are just make them break up!! "; + next; + mes "[Union Commander Cliff]"; + mes "Well there is one more thing..."; + mes "When you disturb couple, if they broke up, you will gain 2 point, in case of just simple argument will grant you 1 point. "; + mes "But if they become more into each others, your score will be minus 1 point. So when you got 5 points and come here for report, it means mission accomplished."; + next; + mes "[Union Commander Cliff]"; + mes "Surely you won't have minus score so don't worry."; + setquest 15056; + close; + } + end; +} + +xmas,172,126,3 script Lonely Kwami#xmas 10089,{ + if (isbegin_quest(15055) == 0) { + mes "[Kwami]"; + mes "Haa.....breaking up right before Christmas....I'm alone...a single! ...AM I??!!"; + close; + } else if (isbegin_quest(15055) == 1 && isbegin_quest(15060) == 0) { + mes "[Kwami]"; + mes "Haa.....breaking up right before Christmas....I'm alone...a single! ...AM I??!!"; + next; + mes "[Kwami]"; + mes "Who are you!?"; + mes "What's your business with me?"; + next; + select("- Singles Union Army has come to you. -"); + mes "[Kwami]"; + mes "err? Singles Union Army? What is that?"; + next; + select("- Explain about the club -"); + mes "[Kwami]"; + mes "...yeah. You're right!"; + next; + mes "[Kwami]"; + mes "As I'm single! I'd never let couples enjoy this Christmas!!"; + next; + mes "[Kwami]"; + mes "I will join to the Singles Union Army!!"; + next; + mes "- Kwami has become a member of Singles Union Army. -"; + setquest 15060; + completequest 15060; + close; + } else { + mes "[Singles Union Kwami]"; + mes "First of all, I've got to have revenge on my ex...No?"; + close; + } +} + +xmas,113,161,5 script Lonely Willer#xmas 10090,{ + if (isbegin_quest(15055) == 0) { + mes "[Willer]"; + mes "Hoooooo... it is so boring to play alone...."; + close; + } else if (isbegin_quest(15055) == 1 && isbegin_quest(15061) == 0) { + mes "[Willer]"; + mes "Hoooooo... it is so boring to play alone...."; + next; + mes "[Willer]"; + mes "Isn't there anything exciting?"; + mes "...hey, would you play with me??"; + next; + select("- Singles Union Army has come to you. -"); + mes "[Willer]"; + mes "Singles Union what? Why come to me?"; + next; + select("- Explain about the club -"); + mes "[Willer]"; + mes "Sooo..."; + mes "Break up couples and make Christmas party only for singles?"; + next; + mes "[Willer]"; + mes "That must be fun! I don't understand exactly but I will join, I'm in!!"; + next; + mes "- Willer has become a member of Singles Union Army. -"; + setquest 15061; + completequest 15061; + close; + } else { + mes "[Singles Union Willer]"; + mes "Break up couples...this should be fun!!"; + close; + } +} + +xmas,131,97,5 script Lonely Rinka#xmas 10091,{ + if (isbegin_quest(15055) == 0) { + mes "[Rinka]"; + mes "Ewww! darn... what kind of friend would only boast about her boyfriend, disgusting! Does she really think that I can't have one?!?"; + close; + } else if (isbegin_quest(15055) == 1 && isbegin_quest(15062) == 0) { + mes "[Rinka]"; + mes "Ewww! Darn... what kind of friend would only boast about her boyfriend, disgusting! Does she really think that I can't have one?!?"; + next; + mes "[Rinka]"; + mes "- sobbing -"; + next; + mes "[Rinka]"; + mes "I can't... in fact, there is no one... I have no one!!!!!!!!!!!!!!"; + next; + select("- Singles Union Army has come to you. -"); + mes "[Rinka]"; + mes "EEeepp! Wow!!"; + mes "You surprised me. What are you talking about, what is that?!"; + next; + select("- Explain about the club -"); + mes "[Rinka]"; + mes "Hoho...there's something like that?"; + mes "Breaking up couples..."; + mes "Okay! Let me join!"; + next; + mes "[Rinka]"; + mes "Is there room for another member?"; + mes "...soon another member will join!"; + mes "Wait for it~ my friend!! ..."; + next; + mes "- Rinka has become a member of Singles Union Army. -"; + setquest 15062; + completequest 15062; + close; + } else { + mes "[Singles Union Rinka]"; + mes "Wait for it~ my friend!! You will... join soon!!"; + close; + } +} + +xmas,121,127,5 script Lonely Jee#xmas 10088,{ + if (isbegin_quest(15055) == 0) { + mes "[Jee]"; + mes "How beautiful to be single..."; + close; + } else if ((isbegin_quest(15055) == 1) && (isbegin_quest(15063) == 0)) { + mes "[Jee]"; + mes "How beautiful to be single..."; + next; + mes "[Jee]"; + mes "There is no one to bother you. No one to take care of. No more extra work from others. More time to spend it alone."; + next; + mes "[Jee]"; + mes "Why are people giving up this advantage and want to be couples??"; + next; + select("- Singles Union Army has come to you. -"); + mes "[Jee]"; + mes "Yeah, I've heard of it recently. I knew that you would come to me."; + next; + mes "[Jee]"; + mes "No more words necessary. I will spread the advantage of being single!"; + next; + mes "- Jee has become a member of Singles Union Army. -"; + setquest 15063; + completequest 15063; + close; + } else { + mes "[Singles Union Jee]"; + mes "I will spread the advantage of being single!"; + close; + } +} + +xmas,150,169,3 script Lonely Marty#xmas 10087,{ + if (isbegin_quest(15055) == 0) { + mes "[Marty]"; + mes "umm... Zzz ... nyam-nyam..."; + close; + } else if (isbegin_quest(15055) == 1 && isbegin_quest(15064) == 0) { + mes "[Marty]"; + mes "umm... Zzz ... nyamnyam..."; + next; + select("- Singles Union Army has come to you. -"); + mes "[Marty]"; + mes "nyam.... nyamnyam... Grrr... Zzz"; + next; + select("- Explain about the club -"); + mes "[Marty]"; + mes "Huum... nyaaa.... Zzz"; + next; + mes "- ...you may consider him to agree to join. -"; + next; + mes "- Marty has become a member of Singles Union Army. -"; + setquest 15064; + completequest 15064; + close; + } else { + mes "[Singles Union Marty]"; + mes "nyam.... nyamnyam... Grrrr... Zzz"; + close; + } +} + +xmas,108,149,5 script Drop Machine#xmas 562,{ + if (isbegin_quest(15056) == 0) { + mes "[Drop Machine]"; + mes "Dingding dong Ding!~"; + emotion e_lv; + next; + mes "[Slot Machine]"; + mes "!~"; + emotion e_lv,0,"Slot Machine#xmas"; + close; + } else if (isbegin_quest(15056) == 1 && xmas2013_01 < 5) { + mes "[Drop Machine]"; + mes "Dingdingding ding!~"; + emotion e_lv; + next; + mes "[Slot Machine]"; + mes "Charrrrr Sharrrrrrrr Ding!~"; + emotion e_lv,0,"Slot Machine#xmas"; + next; + mes "- Oh no, another couple!"; + mes "- Even though they're just machines..."; + mes "- I cannot bear to see this!"; + next; + select("- Run the machine to full power. -"); + mes "[Drop Machine]"; + mes "Ding ding ding dong ding ding ding dong Ding ding ding dong ding ding ding dong"; + next; + mes "[Slot Machine]"; + mes "Krrrrrrrrrr Dingding dong Krrrrrr Dingding Krrrrrrrrrrr ding Krrrrrrrrr"; + next; + set .@cu_bre, rand(1,10); + if (.@cu_bre < 3) { + mes "- I..."; + mes "- I think I broke them both!"; + mes "- Successfully broke up a couple!"; + mes "- 2 Points for a great job!"; + set xmas2013_01, xmas2013_01 + 2; + } else if (.@cu_bre > 7) { + mes "- I ran the machine for a while"; + mes "- But the sound of the machine"; + mes "- seems to grow louder."; + mes "- Failed to break them, minus 1 point!"; + if (xmas2013_01 > 0) + set xmas2013_01, xmas2013_01 - 1; + } else { + mes "- After running the machine for a while"; + mes "- I think I finally broke one of them!"; + mes "- Here's 1 point for a good job!"; + set xmas2013_01, xmas2013_01 + 1; + } + mes "- Current couple breaking point is " + xmas2013_01 + "."; + hideonnpc "Drop Machine#xmas"; + hideonnpc "Slot Machine#xmas"; + initnpctimer; + close; + } else if (isbegin_quest(15056) == 1 && xmas2013_01 > 4) { + mes "- Couple breaking point"; + mes "- is now more than 5."; + mes "- I should go back to Union Commander Cliff."; + close; + } + end; +OnTimer100000: + hideoffnpc "Drop Machine#xmas"; + hideoffnpc "Slot Machine#xmas"; + stopnpctimer; + end; +} +xmas,111,149,3 script Slot Machine#xmas 563,{ end; } + +xmas,181,150,5 script Frightened Man#xmas 711,{ + if (isbegin_quest(15056) == 0) { + mes "[Frightened Man]"; + mes "It's my fault, I'm sorry. Please don't be mad."; + emotion e_sry; + next; + mes "[Angry Woman]"; + mes "You're sorry? Do you know what you did? Do you have any idea why I'm mad?"; + emotion e_an,0,"Angry Woman#xmas"; + close; + } else if (isbegin_quest(15056) == 1 && xmas2013_01 < 5) { + mes "[Frightened Man]"; + mes "It's my bad, I'm sorry. Please don't be mad"; + emotion e_sry; + next; + mes "[Angry Woman]"; + mes "You're sorry? Do you know what you did? Do you have any idea why I'm mad?"; + emotion e_an,0,"Angry Woman#xmas"; + next; + mes "[Frightened Man]"; + mes "Well, I just feel like everything's my fault"; + next; + mes "[Angry Woman]"; + mes "You're always like this!"; + mes "You never know what you should apologize for!!"; + next; + mes "[Frightened Man]"; + mes "Ah... What should I do?"; + mes "Hey, what do you think I should say to my girlfriend?"; + next; + select("- Tell her 'We should stop seeing each other'!"); + mes "[Frightened Man]"; + mes "Maybe we.. should stop seeing each other?"; + mes "Oh no, I just said it out loud!"; + next; + set .@cu_bre, rand(1,10); + if (.@cu_bre < 3) { + mes "[Angry Woman]"; + mes "What? What did you just say? We should stop seeing each other? How could you say that to me?! You're the one who's done everything wrong! Okay, you know what? Let's just break up! I'm sick of all this!"; + set xmas2013_01, xmas2013_01 + 2; + hideonnpc "Frightened Man#xmas"; + hideonnpc "Angry Woman#xmas"; + initnpctimer; + next; + mes "[Frightened Man]"; + mes "No, that's not what I... okay, that's it! I'm sick of this too, sick of you whining all the time! Let's just end this today!!"; + next; + mes "- Successfully broke up a couple!!"; + mes "- 2 Points!"; + } else if (.@cu_bre > 7) { + mes "[Angry Woman]"; + mes "What? ...What did you just say? We should stop seeing each other?"; + if (xmas2013_01 > 0) + set xmas2013_01, xmas2013_01 - 1; + hideonnpc "Frightened Man#xmas"; + hideonnpc "Angry Woman#xmas"; + initnpctimer; + next; + mes "[Angry Woman]"; + mes "I can't believe you can be such a hot, tough guy! It's like I'm falling in love all over again!"; + next; + mes "[Angry Woman]"; + mes "Honey, can you say that again, more in a rough way?"; + next; + mes "[Frightened Man]"; + mes "Huh? sure... Let's... let's just end this!!!"; + next; + mes "[Angry Woman]"; + mes "Hahahaha! You're awesome! Awesome! Say it again! Say it!"; + next; + mes "[Frightened Man]"; + mes "Let's just break up! I'm leaving you!!"; + next; + mes "[Angry Woman]"; + mes "Hahahahahahaha! Yay! You're the best!"; + next; + mes "- ...These people aren't normal."; + mes "- minus 1 point for the failure!"; + } else { + set xmas2013_01, xmas2013_01 + 1; + hideonnpc "Frightened Man#xmas"; + hideonnpc "Angry Woman#xmas"; + initnpctimer; + mes "[Angry Woman]"; + mes "What? ...What did you just say? We should stop seeing each other?"; + next; + mes "[Angry Woman]"; + mes "...I think we're both too upset now. Let's just talk about it later..."; + next; + mes "[Frightened Man]"; + mes "Hmm?... ah, yes, you're right... Goodbye, get home safely..."; + next; + mes "- Here's 1 point for ruining their date!"; + } + mes "- Current couple breaking point is " + xmas2013_01 + "."; + close; + } else if (isbegin_quest(15056) == 1 && xmas2013_01 > 4) { + mes "- Couple breaking point"; + mes "- is now more than 5."; + mes "- I should go back to Union Commander Cliff."; + close; + } + end; +OnTimer100000: + hideoffnpc "Frightened Man#xmas"; + hideoffnpc "Angry Woman#xmas"; + stopnpctimer; + end; +} +xmas,183,150,3 script Angry Woman#xmas 714,{ end; } + +xmas_in,32,99,5 script Singles Union Kwami 10089,{ + if (isbegin_quest(15056) == 0) { + mes "[Singles Union Kwami]"; + mes "Rinka. It's a huge mystery how such a pretty girl like you ended up in this Singles Union Army."; + emotion e_lv; + next; + mes "[Singles Union Rinka]"; + mes "You think I'm pretty? hoho... It's mystery for me too, that a handsome man like you joined the Singles Union Army."; + emotion e_lv,0,"Singles Union Rinka"; + close; + } else if (isbegin_quest(15056) == 1 && xmas2013_01 < 5) { + mes "[Singles Union Kwami]"; + mes "Rinka. It's a huge mystery how such a pretty girl like you ended up in this Singles Union Army."; + emotion e_lv; + next; + mes "[Singles Union Rinka]"; + mes "You think I'm pretty? hoho... It's mystery for me too, that a handsome man like you joined the Singles Union Army."; + emotion e_lv,0,"Singles Union Rinka"; + next; + mes "[Singles Union Kwami]"; + mes "Well, isn't it a shame we should spend Christmas alone? What do you say, Rinka, you and me..."; + next; + select("- To be a couple is to be a betrayer! You betray us, you die!!!"); + set xmas2013_01, xmas2013_01 + 1; + hideonnpc "Singles Union Kwami"; + hideonnpc "Singles Union Rinka"; + initnpctimer; + mes "[Singles Union Rinka]"; + mes "Argh!!!!! Who is this?!"; + mes "Isn't this the one who dragged us to the Singles Union Army?!"; + next; + mes "[Singles Union Kwami]"; + mes "Were you.. eavesdropping?!"; + mes "I just wanted to say we should find more members for the Club! Hahahahaha!"; + next; + mes "[Singles Union Kwami]"; + mes "I'll see you later, Rinka. I am going out to hunt down more couples. Don't tell the boss!"; + next; + mes "[Singles Union Rinka]"; + mes "Hmm, I guess I should get going to. See you later Kwami, goodbye to you too~"; + next; + mes "- Successfully stopped a couple from forming!"; + mes "- 1 Point for the good job!"; + mes "- Current couple breaking point is " + xmas2013_01 + "."; + close; + } else if (isbegin_quest(15056) == 1 && xmas2013_01 > 4) { + mes "- Couple breaking point"; + mes "- is now more than 5."; + mes "- I should go back to Union Commander Cliff."; + close; + } + end; +OnTimer300000: + hideoffnpc "Singles Union Kwami"; + hideoffnpc "Singles Union Rinka"; + stopnpctimer; + end; +} +xmas_in,34,99,3 script Singles Union Rinka 10091,{ end; } + +xmas,156,109,5 script Poor Alchemist#xmas 749,{ + if (isbegin_quest(15056) == 0) { + mes "[Poor Alchemist]"; + mes "Oh, hello."; + emotion e_swt2; + next; + mes "[Florist]"; + mes "Hello, Mr. Alchemist."; + mes "Are you working today, too?"; + emotion e_ho,0,"Florist#xmas"; + close; + } else if (isbegin_quest(15056) == 1 && xmas2013_01 < 5) { + mes "[Poor Alchemist]"; + mes "Oh, hello."; + emotion e_swt2; + next; + mes "[Florist]"; + mes "Hello, Mr. Alchemist."; + mes "Are you working today, too?"; + emotion e_ho,0,"Florist#xmas"; + next; + mes "[Poor Alchemist]"; + mes "Actually, I have something to tell you."; + mes "It's very important so please listen carefully."; + next; + mes "[Florist]"; + mes "Oh, sure, please speak freely."; + next; + mes "[Poor Alchemist]"; + mes "Biologically speaking, limbic system in the cerebrum enables us to be sociable, to communicate with people, to entertain etc."; + next; + mes "[Poor Alchemist]"; + mes "So when you see a beautiful woman, the information such as her appearance, her scent, the tone of her voice etc. goes to the limbic area."; + next; + mes "[Poor Alchemist]"; + mes "The limbic system then evaluates the information, to see if this lady is friendly, agressive, or charming, etc."; + next; + mes "[Poor Alchemist]"; + mes "When the evaluation is done, the limbic system immediately begins to secrete the chemicals."; + next; + mes "[Poor Alchemist]"; + mes "So if you're attracted to this lady, a hormone calls Dopamine is secreted and it makes you feel slightly happy."; + next; + mes "[Poor Alchemist]"; + mes "When that stage ends, you get the Adrenaline pumping, then you become more direct and enthusiastic."; + next; + mes "[Poor Alchemist]"; + mes "I'm in that stage now towards you! In other word, I am very...!!"; + next; + select("- Very hungry, right?!"); + mes "[Florist]"; + mes "Huh? Is that right?"; + mes "Are you hungry now, Mr. Alchemist?"; + next; + mes "[Poor Alchemist]"; + mes "Ah.. yes.. I think I am..."; + mes "...very hungry.."; + next; + set .@cu_bre, rand(1,10); + if (.@cu_bre < 3) { + mes "[Florist]"; + mes "There's a nice restaurant near here. Why don't you go there and have a meal?"; + set xmas2013_01, xmas2013_01 + 2; + hideonnpc "Poor Alchemist#xmas"; + hideonnpc "Florist#xmas"; + initnpctimer; + next; + mes "[Poor Alchemist]"; + mes "...Sure, thank you. Have a good day..."; + next; + mes "- Successfully stopped a couple from forming!"; + mes "- 2 points for the great job!"; + } else if (.@cu_bre > 7) { + mes "[Florist]"; + mes "I see. I understand what you mean."; + if (xmas2013_01 > 0) + set xmas2013_01, xmas2013_01 - 1; + hideonnpc "Poor Alchemist#xmas"; + hideonnpc "Florist#xmas"; + initnpctimer; + next; + mes "[Florist]"; + mes "Can I cook some nice meal for you, then?"; + next; + mes "[Florist]"; + mes "...For the rest of my life, if you want..."; + next; + mes "[Poor Alchemist]"; + mes "Okay..."; + mes "......"; + mes "Wait, what?????"; + next; + mes "[Poor Alchemist]"; + mes "......"; + mes "...... Yes! I want!!!!!!!!"; + next; + mes "- Failed to break up a couple"; + mes "- minus 1 point for the failure!"; + } else { + set xmas2013_01, xmas2013_01 + 1; + hideonnpc "Poor Alchemist#xmas"; + hideonnpc "Florist#xmas"; + initnpctimer; + mes "[Florist]"; + mes "There's some food in the store, please come in."; + next; + mes "[Poor Alchemist]"; + mes "Ah... yes, thank you."; + next; + mes "- You did interrupt the couple in a way. Here's 1 point for you!"; + } + mes "- Current couple breaking point is " + xmas2013_01 + "."; + close; + } else if (isbegin_quest(15056) == 1 && xmas2013_01 > 4) { + mes "- Couple breaking point"; + mes "- is now more than 5."; + mes "- I should go back to Union Commander Cliff."; + close; + } + end; +OnTimer100000: + hideoffnpc "Poor Alchemist#xmas"; + hideoffnpc "Florist#xmas"; + stopnpctimer; + end; +} +xmas,158,109,3 script Florist#xmas 91,{ end; } + +xmas,166,164,5 script Raffini Boy#xmas 443,{ + if (isbegin_quest(15056) == 0) { + mes "[Raffini Boy]"; + mes "This is Lutie village..."; + emotion e_no; + next; + mes "[Raffini Girl]"; + mes "So much beautiful white snow flakes."; + mes "But it's too cold here..."; + emotion e_sob,0,"Raffini Girl#xmas"; + close; + } else if (isbegin_quest(15056) == 1 && xmas2013_01 < 5) { + mes "[Raffini Boy]"; + mes "This is Lutie village..."; + emotion e_no; + next; + mes "[Raffini Girl]"; + mes "So much beautiful white snow flakes."; + mes "But it's too cold here..."; + emotion e_sob,0,"Raffini Girl#xmas"; + next; + mes "[Raffini Boy]"; + mes "But it's you who wanted to see the snow this Christmas."; + next; + mes "[Raffini Girl]"; + mes "Oh but I didn't know how much cold it is...oops..."; + next; + mes "[Raffini Boy]"; + mes "Well, ok I see...Just come closer to me."; + next; + mes "[Raffini Girl]"; + mes "What? I cannot hear you. What were you saying?"; + next; + mes "[Raffini Boy]"; + mes "...Come closer to me. To my side."; + next; + mes "[Raffini Girl]"; + mes "Ohh ok..."; + next; + mes "- Hmm...there is no space at all"; + mes "- for me to interrupt..."; + next; + hideonnpc "Raffini Boy#xmas"; + hideonnpc "Raffini Girl#xmas"; + initnpctimer; + set .@cu_bre, rand(1,10); + if (.@cu_bre < 6) { + set xmas2013_01, xmas2013_01 + 1; + mes "[Raffini Girl]"; + mes "....But it's still too cold! I don't want to be here any more."; + next; + mes "[Raffini Girl]"; + mes "I want to go back to Eclage!"; + next; + mes "[Raffini Boy]"; + mes "Oh? Hey...we finally just got here, but you will go back right now?"; + next; + mes "[Raffini Boy]"; + mes "Hey! Let's go together!!"; + next; + mes "- No sweat at all, but everything is going alright."; + mes "- Get 1 score point!"; + } else { + if (xmas2013_01 > 0) + set xmas2013_01, xmas2013_01 - 1; + mes "[Raffini Girl]"; + mes "Oh! It's much warmer than before...hehe"; + next; + mes "[Raffini Boy]"; + mes "D..don't be too close to me!"; + next; + mes "[Raffini Girl]"; + mes "Why not? Who cares. Let's go to grab something yummy."; + next; + mes "[Raffini Boy]"; + mes "You're too close too me! I, I can feel your..um..hey!"; + next; + mes "- Oops, I was attacked by that couple even without doing anything."; + mes "- Failed, got -1 score point!"; + } + mes "- Current couple breaking point is " + xmas2013_01 + "."; + close; + } else if (isbegin_quest(15056) == 1 && xmas2013_01 > 4) { + mes "- Couple breaking point"; + mes "- is now more than 5."; + mes "- I should go back to Union Commander Cliff."; + close; + } + end; +OnTimer100000: + hideoffnpc "Raffini Boy#xmas"; + hideoffnpc "Raffini Girl#xmas"; + stopnpctimer; + end; +} +xmas,168,164,3 script Raffini Girl#xmas 438,{ end; } + +xmas,147,123,5 script Angeling#xmas 948,{ + if (isbegin_quest(15056) == 0) { + mes "[Angeling]"; + mes "Kkuing~"; + emotion e_lv; + next; + mes "[Arc Angeling]"; + mes "Kkuing Kkuing~"; + emotion e_lv,0,"Arc Angeling#xmas"; + close; + } else if (isbegin_quest(15056) == 1 && xmas2013_01 < 5) { + mes "[Angeling]"; + mes "Kkuing~"; + emotion e_lv; + next; + mes "[Arc Angeling]"; + mes "Kkuing Kkuing~"; + emotion e_lv,0,"Arc Angeling#xmas"; + next; + mes "- I cannot bother them though."; + mes "- Can't even talk to them,"; + mes "- oh well."; + next; + mes "- Just hunt them?"; + mes "- ......No way."; + close; + } else if (isbegin_quest(15056) == 1 && xmas2013_01 > 4) { + mes "- Couple breaking point"; + mes "- is now more than 5."; + mes "- I should go back to Union Commander Cliff."; + close; + } + end; +} +xmas,149,123,3 script Arc Angeling#xmas 949,{ end; } + +xmas,129,115,5 script Prenetan#xmas 783,{ + if (isbegin_quest(15056) == 0) { + mes "[Prenetan]"; + mes "Umba~ Umba Umba!"; + mes "Umba Umumumum!"; + next; + mes "[Prenetan]"; + mes "Finally got you, huh? You are cheating on me until now and even made me chase after you? I'll kill you boy!"; + emotion e_an; + next; + mes "[Umpoucoriotan]"; + mes "Ooohh... my wife is too violent. Ohh...it hurts!"; + emotion e_sob,0,"Umpoucoriotan#xmas"; + close; + } else if (isbegin_quest(15056) == 1 && xmas2013_01 < 5) { + mes "[Prenetan]"; + mes "Umba~ Umba umba!"; + mes "Umba umumumum!"; + next; + mes "[Prenetan]"; + mes "Finally got you, huh? You are cheating on me until now and even made me chase after you? I'll kill you boy!"; + emotion e_an; + next; + mes "[Umpoucoriotan]"; + mes "Ooohh... my wife is too violent. Ohh...it hurts!"; + emotion e_sob,0,"Umpoucoriotan#xmas"; + next; + mes "[Umpoucoriotan]"; + mes "Wenathan, berzthan, Chabimathan"; + mes "Oooh... The girls of Umbala are here... They're waiting for me now....Arg! Don't touch me!"; + next; + mes "[Prenetan]"; + mes "How stupid you are!"; + mes "Those girls never wanted to see you and that's just a lie that they would come here!!"; + next; + select("- No. They are all here!"); + hideonnpc "Prenetan#xmas"; + hideonnpc "Umpoucoriotan#xmas"; + initnpctimer; + set .@cu_bre, rand(1,10); + if (.@cu_bre < 6) { + set xmas2013_01, xmas2013_01 + 1; + mes "[Umpoucoriotan]"; + mes "Umm...yeah I know..Is it true those girls are here?"; + next; + mes "[Umpoucoriotan]"; + mes "...Oh I got a stomachache... Did I have something wrong... Darling, just a second. I'll be right back soon to go to the restroom! Just wait for a while here!"; + next; + mes "[Prenetan]"; + mes "Hey you idiot! Stop right there! Stop! ...STOP!!!"; + next; + mes "- Well, things are quite easy. Got 1 score point!"; + } else { + set xmas2013_01, xmas2013_01 + 1; + mes "[Prenetan]"; + mes "Who's there? You want to be killed, too?"; + next; + mes "- Oops"; + next; + mes "[Prenetan]"; + mes "You still don't understand anything. Come here, I'm taking you back to Umbala!"; + next; + mes "[Umpoucoriotan]"; + mes "ARG! ....Arrrrrrrrg!! It hurts! Noooo!!! They're waiting for me!!!"; + next; + mes "- Well, he just made it harder for himself. Got 1 score point!"; + } + mes "- Current couple breaking point is " + xmas2013_01 + "."; + close; + } else if (isbegin_quest(15056) == 1 && xmas2013_01 > 4) { + mes "- Couple breaking point"; + mes "- is now more than 5."; + mes "- I should go back to Union Commander Cliff."; + close; + } + end; +OnTimer100000: + hideoffnpc "Prenetan#xmas"; + hideoffnpc "Umpoucoriotan#xmas"; + stopnpctimer; + end; +} +xmas,131,115,3 script Umpoucoriotan#xmas 789,{ end; } + +xmas,138,174,5 script Dark Lord#xmas 737,{ + if (isbegin_quest(15056) == 0) { + mes "[Dark Lord]"; + mes "Whahahahaha the world will turn into darkness soon and everyone will kneel down before me!!"; + emotion e_gasp; + next; + mes "[Succubus]"; + mes "My master. All worlds will follow your will."; + emotion e_lv,0,"Succubus#xmas"; + close; + } else if (isbegin_quest(15056) == 1 && xmas2013_01 < 5) { + mes "[Dark Lord]"; + mes "Whahahahaha the world will turn into darkness soon and everyone will kneel down before me!!"; + emotion e_gasp; + next; + mes "[Succubus]"; + mes "My master. All worlds will follow your will."; + emotion e_lv,0,"Succubus#xmas"; + next; + mes "[Dark Lord]"; + mes "You've been loyal to me even though I've been giving difficult orders. You deserve a reward. What do you want for now? I'll definitely make it for you. I can even give you more power!"; + next; + mes "[Succubus]"; + mes "......"; + mes "Could you really give me anything that I want...?"; + next; + mes "[Succubus]"; + mes "What I really need is..."; + mes "......"; + mes "Only you, my master."; + next; + mes "[Dark Lord]"; + mes "......"; + mes "?!!!!!"; + next; + mes "[Succubus]"; + mes "I've been in love with you..."; + mes "for a very long time..."; + next; + mes "[Dark Lord]"; + mes "......"; + next; + mes "[Dark Lord]"; + mes "It's not that I didn't know about that."; + next; + mes "[Dark Lord]"; + mes "I also..."; + next; + mes "[Dark Lord]"; + mes "...But we're demons. Demons choosing a path towards love?! Ridiculous, the dark world will never forgive us! We will be hiding for the rest of our lives!"; + next; + mes "[Succubus]"; + mes "It doesn't matter as long as I am with you, my master..."; + next; + select("- I'm sorry to bother you... but weren't you discussing about conquering the world?"); + hideonnpc "Dark Lord#xmas"; + hideonnpc "Succubus#xmas"; + initnpctimer; + set .@cu_bre, rand(1,10); + if (.@cu_bre < 5) { + set xmas2013_01, xmas2013_01 + 2; + mes "[Dark Lord]"; + mes "Ye..yes. That's right, succubus! We've already had such a high goal!"; + next; + mes "[Dark Lord]"; + mes "I appreciated the thought but know your place! Just be my subordinate as you already are."; + next; + mes "[Succubus]"; + mes "Oh yes...my master, please forgive me. I'll try my best to make your the world yours."; + next; + mes "[Dark Lord]"; + mes "Yes! There is nothing better than turning this world into darkness. Everyone will kneel down before me. Hahahahahahahahah!!!"; + next; + mes "- Even though the world will"; + mes "- be engulfed in darkness soon..."; + mes "- I got a big success to break up a couple!"; + mes "- 2 score points!"; + } else { + if (xmas2013_01 > 0) + set xmas2013_01, xmas2013_01 - 1; + mes "[Dark Lord]"; + mes "Conquering the world... It's useless compared to what we've feeling right now."; + mes "Dear Succubus, can you really overcome any kind of agony if you are with me?"; + next; + mes "[Succubus]"; + mes "...Master!"; + next; + mes "[Succubus]"; + mes "Of course, I'm prepared and will keep going... I'll follow you forever even if I shall be in any kind of agony."; + next; + mes "[Succubus]"; + mes "I'll be yours forever!"; + next; + mes "[Dark Lord]"; + mes "I see...I can feel your heart now. Ok, let's go together... no matter how hard it will be!!"; + next; + mes "- I saved this world from darkess."; + mes "- though a couple was formed!"; + mes "- very sad..."; + mes "- Failed, -1 score point!"; + } + mes "- Current couple breaking point is " + xmas2013_01 + "."; + close; + } else if (isbegin_quest(15056) == 1 && xmas2013_01 > 4) { + mes "- Couple breaking point"; + mes "- is now more than 5."; + mes "- I should go back to Union Commander Cliff."; + close; + } + end; +OnTimer100000: + hideoffnpc "Dark Lord#xmas"; + hideoffnpc "Succubus#xmas"; + stopnpctimer; + end; +} +xmas,141,174,3 script Succubus#xmas 1370,{ end; } + +// Monster Spawns :: EventMonster-131209_xmas +//============================================================ +gld_dun01_2,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gld_dun02_2,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gld_dun03_2,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gld_dun04_2,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gld2_ald,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gld2_gef,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gld2_pay,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gld2_prt,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +lhz_dun04,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +iz_dun05,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +mal_dun01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +dic_dun03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +dew_fild01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +dew_dun01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +dew_dun02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +mal_dun01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +iz_dun05,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +man_fild01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +man_fild03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +spl_fild02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +spl_fild03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +man_fild02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +spl_fild01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +nyd_dun01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +bra_fild01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +bra_dun01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +bra_dun02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +dic_fild01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +dic_fild02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +dic_dun01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +dic_dun02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +bif_fild01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +bif_fild02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +abbey01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +abbey02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +abbey03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +abyss_01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +abyss_02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +abyss_03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +alde_dun01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +alde_dun02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +alde_dun03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +alde_dun04,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ama_dun01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ama_dun02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ama_dun03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ama_fild01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +anthell01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +anthell02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ayo_dun01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ayo_dun02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ayo_fild01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ayo_fild02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +beach_dun,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +beach_dun2,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +beach_dun3,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +c_tower1,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +c_tower2,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +c_tower3,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +c_tower4,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +cmd_fild01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +cmd_fild02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +cmd_fild03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +cmd_fild04,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +cmd_fild06,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +cmd_fild07,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +cmd_fild08,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +cmd_fild09,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ein_dun01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ein_dun02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ein_fild03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ein_fild04,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ein_fild05,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ein_fild06,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ein_fild07,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ein_fild08,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ein_fild09,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gef_dun00,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gef_dun01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gef_dun02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gef_fild00,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gef_fild01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gef_fild02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gef_fild03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gef_fild04,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gef_fild05,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gef_fild06,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gef_fild07,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gef_fild08,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gef_fild09,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gef_fild10,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gef_fild11,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gef_fild13,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gefenia01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gefenia02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gefenia03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gefenia04,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gl_cas01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gl_cas02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gl_church,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gl_chyard,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gl_dun01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gl_dun02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gl_in01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gl_knt01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gl_knt02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gl_prison,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gl_prison1,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gl_sew01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gl_sew02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gl_sew03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gl_sew04,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gl_step,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +glast_01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gon_dun01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gon_dun02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gon_dun03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gon_fild01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +hu_fild01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +hu_fild02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +hu_fild04,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +hu_fild05,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +hu_fild06,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ice_dun01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ice_dun02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ice_dun03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +in_sphinx1,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +in_sphinx2,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +in_sphinx3,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +in_sphinx4,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +in_sphinx5,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +iz_dun00,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +iz_dun01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +iz_dun02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +iz_dun03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +iz_dun04,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +jupe_core,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +juperos_01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +juperos_02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +kh_dun01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +kh_dun02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +lhz_dun01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +lhz_dun02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +lhz_dun03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +lhz_fild01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +lhz_fild02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +lhz_fild03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +lou_dun01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +lou_dun02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +lou_dun03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +lou_fild01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +mag_dun01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +mag_dun02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +man_fild02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +mjo_dun01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +mjo_dun02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +mjo_dun03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +mjolnir_01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +mjolnir_02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +mjolnir_03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +mjolnir_04,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +mjolnir_05,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +mjolnir_06,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +mjolnir_07,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +mjolnir_08,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +mjolnir_09,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +mjolnir_10,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +mjolnir_11,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +mjolnir_12,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +moc_fild01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +moc_fild02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +moc_fild03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +moc_fild04,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +moc_fild05,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +moc_fild06,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +moc_fild07,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +moc_fild08,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +moc_fild09,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +moc_fild10,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +moc_fild11,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +moc_fild12,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +moc_fild13,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +moc_fild14,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +moc_fild15,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +moc_fild16,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +moc_fild17,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +moc_fild18,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +moc_pryd01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +moc_pryd02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +moc_pryd03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +moc_pryd04,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +moc_pryd05,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +moc_pryd06,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +nameless_n,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +nif_fild01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +nif_fild02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +nyd_dun01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +odin_tem01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +odin_tem02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +odin_tem03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +orcsdun01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +orcsdun02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +pay_dun00,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +pay_dun01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +pay_dun02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +pay_dun03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +pay_dun04,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +pay_fild01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +pay_fild02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +pay_fild03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +pay_fild04,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +pay_fild06,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +pay_fild07,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +pay_fild08,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +pay_fild09,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +pay_fild10,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +prt_fild00,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +prt_fild01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +prt_fild02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +prt_fild03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +prt_fild04,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +prt_fild05,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +prt_fild06,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +prt_fild07,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +prt_fild08,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +prt_fild09,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +prt_fild10,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +prt_fild11,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +prt_maze01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +prt_maze02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +prt_maze03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +prt_sewb1,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +prt_sewb2,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +prt_sewb3,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ra_fild01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ra_fild03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ra_fild04,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ra_fild05,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ra_fild06,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ra_fild08,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ra_fild12,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ra_san01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ra_san02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ra_san03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ra_san04,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ra_san05,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +spl_fild01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +tha_t01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +tha_t02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +tha_t03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +tha_t04,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +tha_t05,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +tha_t06,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +tha_t07,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +tha_t08,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +tha_t09,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +tha_t10,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +tha_t11,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +tha_t12,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +thor_v01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +thor_v02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +thor_v03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +treasure01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +treasure02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +tur_dun01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +tur_dun02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +tur_dun03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +tur_dun04,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +um_fild01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +um_fild02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +um_fild03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +um_fild04,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ve_fild01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ve_fild02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ve_fild03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ve_fild04,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ve_fild05,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ve_fild07,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +xmas_dun01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +xmas_dun02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +xmas_fild01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +yuno_fild01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +yuno_fild02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +yuno_fild03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +yuno_fild04,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +yuno_fild06,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +yuno_fild07,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +yuno_fild08,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +yuno_fild09,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +yuno_fild10,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +yuno_fild12,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gld_dun01_2,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gld_dun02_2,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gld_dun03_2,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gld_dun04_2,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gld2_ald,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gld2_gef,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gld2_pay,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gld2_prt,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +lhz_dun04,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +iz_dun05,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +mal_dun01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +dic_dun03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +dew_fild01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +dew_dun01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +dew_dun02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +mal_dun01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +iz_dun05,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +man_fild01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +man_fild03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +spl_fild02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +spl_fild03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +man_fild02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +spl_fild01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +nyd_dun01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +bra_fild01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +bra_dun01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +bra_dun02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +dic_fild01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +dic_fild02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +dic_dun01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +dic_dun02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +bif_fild01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +bif_fild02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +abbey01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +abbey02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +abbey03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +abyss_01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +abyss_02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +abyss_03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +alde_dun01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +alde_dun02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +alde_dun03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +alde_dun04,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ama_dun01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ama_dun02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ama_dun03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ama_fild01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +anthell01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +anthell02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ayo_dun01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ayo_dun02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ayo_fild01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ayo_fild02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +beach_dun,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +beach_dun2,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +beach_dun3,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +c_tower1,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +c_tower2,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +c_tower3,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +c_tower4,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +cmd_fild01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +cmd_fild02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +cmd_fild03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +cmd_fild04,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +cmd_fild06,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +cmd_fild07,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +cmd_fild08,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +cmd_fild09,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ein_dun01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ein_dun02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ein_fild03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ein_fild04,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ein_fild05,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ein_fild06,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ein_fild07,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ein_fild08,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ein_fild09,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gef_dun00,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gef_dun01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gef_dun02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gef_fild00,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gef_fild01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gef_fild02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gef_fild03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gef_fild04,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gef_fild05,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gef_fild06,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gef_fild07,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gef_fild08,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gef_fild09,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gef_fild10,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gef_fild11,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gef_fild13,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gefenia01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gefenia02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gefenia03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gefenia04,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gl_cas01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gl_cas02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gl_church,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gl_chyard,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gl_dun01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gl_dun02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gl_in01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gl_knt01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gl_knt02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gl_prison,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gl_prison1,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gl_sew01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gl_sew02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gl_sew03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gl_sew04,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gl_step,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +glast_01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gon_dun01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gon_dun02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gon_dun03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gon_fild01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +hu_fild01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +hu_fild02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +hu_fild04,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +hu_fild05,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +hu_fild06,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ice_dun01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ice_dun02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ice_dun03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +in_sphinx1,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +in_sphinx2,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +in_sphinx3,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +in_sphinx4,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +in_sphinx5,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +iz_dun00,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +iz_dun01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +iz_dun02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +iz_dun03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +iz_dun04,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +jupe_core,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +juperos_01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +juperos_02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +kh_dun01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +kh_dun02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +lhz_dun01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +lhz_dun02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +lhz_dun03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +lhz_fild01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +lhz_fild02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +lhz_fild03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +lou_dun01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +lou_dun02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +lou_dun03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +lou_fild01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +mag_dun01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +mag_dun02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +man_fild02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +mjo_dun01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +mjo_dun02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +mjo_dun03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +mjolnir_01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +mjolnir_02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +mjolnir_03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +mjolnir_04,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +mjolnir_05,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +mjolnir_06,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +mjolnir_07,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +mjolnir_08,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +mjolnir_09,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +mjolnir_10,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +mjolnir_11,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +mjolnir_12,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +moc_fild01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +moc_fild02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +moc_fild03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +moc_fild04,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +moc_fild05,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +moc_fild06,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +moc_fild07,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +moc_fild08,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +moc_fild09,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +moc_fild10,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +moc_fild11,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +moc_fild12,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +moc_fild13,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +moc_fild14,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +moc_fild15,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +moc_fild16,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +moc_fild17,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +moc_fild18,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +moc_pryd01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +moc_pryd02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +moc_pryd03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +moc_pryd04,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +moc_pryd05,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +moc_pryd06,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +nameless_n,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +nif_fild01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +nif_fild02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +nyd_dun01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +odin_tem01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +odin_tem02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +odin_tem03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +orcsdun01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +orcsdun02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +pay_dun00,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +pay_dun01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +pay_dun02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +pay_dun03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +pay_dun04,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +pay_fild01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +pay_fild02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +pay_fild03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +pay_fild04,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +pay_fild06,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +pay_fild07,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +pay_fild08,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +pay_fild09,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +pay_fild10,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +prt_fild00,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +prt_fild01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +prt_fild02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +prt_fild03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +prt_fild04,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +prt_fild05,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +prt_fild06,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +prt_fild07,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +prt_fild08,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +prt_fild09,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +prt_fild10,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +prt_fild11,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +prt_maze01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +prt_maze02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +prt_maze03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +prt_sewb1,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +prt_sewb2,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +prt_sewb3,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ra_fild01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ra_fild03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ra_fild04,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ra_fild05,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ra_fild06,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ra_fild08,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ra_fild12,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ra_san01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ra_san02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ra_san03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ra_san04,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ra_san05,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +spl_fild01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +tha_t01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +tha_t02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +tha_t03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +tha_t04,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +tha_t05,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +tha_t06,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +tha_t07,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +tha_t08,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +tha_t09,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +tha_t10,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +tha_t11,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +tha_t12,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +thor_v01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +thor_v02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +thor_v03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +treasure01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +treasure02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +tur_dun01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +tur_dun02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +tur_dun03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +tur_dun04,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +um_fild01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +um_fild02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +um_fild03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +um_fild04,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ve_fild01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ve_fild02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ve_fild03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ve_fild04,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ve_fild05,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ve_fild07,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +xmas_dun01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +xmas_dun02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +xmas_fild01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +yuno_fild01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +yuno_fild02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +yuno_fild03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +yuno_fild04,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +yuno_fild06,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +yuno_fild07,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +yuno_fild08,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +yuno_fild09,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +yuno_fild10,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +yuno_fild12,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ecl_fild01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ecl_fild01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ecl_tdun01,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ecl_tdun01,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ecl_tdun02,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ecl_tdun02,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +ecl_tdun03,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +ecl_tdun03,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +//ecl_tdun04,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +//ecl_tdun04,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +moc_prydn1,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +moc_prydn1,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +moc_prydn2,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +moc_prydn2,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +prt_fild08a,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +prt_fild08a,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +prt_fild08b,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +prt_fild08b,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +prt_fild08c,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +prt_fild08c,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +prt_fild08d,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +prt_fild08d,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gl_chyard_,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gl_chyard_,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 +gl_cas02_,0,0,0,0 monster Gift Stealing Raccoon 2380,5,5000,0,0 +gl_cas02_,0,0,0,0 monster Sock Stealing Raccoon 2379,5,5000,0,0 diff --git a/events/event_skill_reset.txt b/events/event_skill_reset.txt index d5f7fbf..67feeeb 100644 --- a/events/event_skill_reset.txt +++ b/events/event_skill_reset.txt @@ -5,7 +5,7 @@ //===== Current Version: ===================================== //= 1.02 //===== Compatible With: ===================================== -//= rAthena 1.0 +//= rAthena SVN //===== Description: ========================================= //= 2006 - Edition Skill Reset NPC //= 2006/11/16: 1.0 Release and fully working. [$ephiroth] @@ -104,6 +104,6 @@ L_Reset: mes @npcname$; mes "Thank you."; emotion e_thx; - logmes "SKILL RESET EVENT"; +// logmes "SKILL RESET EVENT"; close; } diff --git a/events/valentinesday_2012.txt b/events/valentinesday_2012.txt index a92b243..7a617c1 100644 --- a/events/valentinesday_2012.txt +++ b/events/valentinesday_2012.txt @@ -118,7 +118,7 @@ mosk_in,21,244,3 script Baker Extraordinaire 410,{ close; } else if(#V_QUE12==1) { mes .@n$; - if (getequipid(1) == 5024 && getequiprefinerycnt(1) >= 8) { + if (getequipid(EQI_HEAD_TOP) == 5024 && getequiprefinerycnt(EQI_HEAD_TOP) >= 8) { mes "Ah, so Pinkamenia told you"; mes "to bring me the +8 Cake"; mes "Hat. Now I'm going"; diff --git a/instances/EndlessTower.txt b/instances/EndlessTower.txt index ace43e6..8a865a1 100644 --- a/instances/EndlessTower.txt +++ b/instances/EndlessTower.txt @@ -851,7 +851,7 @@ function script F_Tower_Monster { areamonster .@map$,181,9,191,45,"Aliza",1737,10,.@label$; areamonster .@map$,181,9,191,45,"Zealotus",1200,5,.@label$; areamonster .@map$,181,9,191,45,"Alice",1275,5,.@label$; - areamonster .@map$,181,9,191,45,"Green Maiden",1631,10,.@label$; + areamonster .@map$,181,9,191,45,"Green Maiden",1519,10,.@label$; break; case 74: areamonster .@map$,267,9,277,45,"Dimik",1671,6,.@label$; @@ -1271,23 +1271,15 @@ OnMyMobDead: initnpctimer; //SetItemPartyInMap in_102floor .@level } else - mapannounce .@map$, "Remaining Monsters on the "+callsub(L_Display,.@level)+" Level - "+.@mob_dead_num,bc_map,"0x00ff99"; + mapannounce .@map$, "Remaining Monsters on the "+callfunc("F_GetNumSuffix",.@level)+" Level - "+.@mob_dead_num,bc_map,"0x00ff99"; end; OnTimer5000: set .@level, atoi(replacestr(strnpcinfo(0),"FGate102tower","")) + 1; - mapannounce strnpcinfo(4), "All Monsters on the "+callsub(L_Display,.@level)+" Level have been defeated.",bc_map,"0xffff00"; + mapannounce strnpcinfo(4), "All Monsters on the "+callfunc("F_GetNumSuffix",.@level)+" Level have been defeated.",bc_map,"0xffff00"; donpcevent instance_npcname(.@level+"FGate102tower")+"::OnEnable"; stopnpctimer; end; - -L_Display: - // Display level properly. - set .@mod, getarg(0) % 10; - if (.@mod == 1 && getarg(0) != 11) return getarg(0)+"st"; - else if (.@mod == 2 && getarg(0) != 12) return getarg(0)+"nd"; - else if (.@mod == 3 && getarg(0) != 13) return getarg(0)+"rd"; - else return getarg(0)+"th"; } 1@tower,96,393,0 duplicate(1FGate102tower) 2FGate102tower 45,2,2 1@tower,184,393,0 duplicate(1FGate102tower) 3FGate102tower 45,2,2 diff --git a/instances/NydhoggsNest.txt b/instances/NydhoggsNest.txt index 229249b..873193f 100644 --- a/instances/NydhoggsNest.txt +++ b/instances/NydhoggsNest.txt @@ -884,7 +884,7 @@ spl_in01,109,60,3 script Commander Lebiordirr#edq 435,3,3,{ mes "His Highness, the World Tree Yggdrasil, said that?"; next; mes "[Commander Lebiordirr]"; - mes "The reason behind all of this... is not because of the Sapha tribe, but because of the sudden leave of the Guardian? And the Guaridan has given up on his identity?"; + mes "The reason behind all of this... is not because of the Sapha tribe, but because of the sudden leave of the Guardian? And the Guardian has given up on his identity?"; next; mes "[Commander Lebiordirr]"; mes "This must be reported... reported to the High Priest of Alfheim... Unbelievable."; diff --git a/instances/OrcsMemory.txt b/instances/OrcsMemory.txt index 11f2fef..174cffd 100644 --- a/instances/OrcsMemory.txt +++ b/instances/OrcsMemory.txt @@ -36,22 +36,49 @@ // Entrance //============================================================ gef_fild10,242,202,0 script Dimensional Gorge Piece 406,{ - - set .@party_id,getcharid(1); - set .@p_name$,getpartyname(.@party_id); - set .@md_name$,"Orc's Memory"; - - if (!instance_check_party(.@party_id,2,30,80)) { + if (BaseLevel < 30 || BaseLevel > 80) { mes "Only users between Levels ^ff000030 ~ 80^000000 can enter this Dungeon."; close; } - + set .@party_id,getcharid(1); + set .@ins_mas,getpartyleader(.@party_id,2); + set .@p_name$,getpartyname(.@party_id); + set .@md_name$,"Orc's Memory"; set .@orctime,checkquest(12059,PLAYTIME); - if (.@orctime == -1) { - if (getcharid(0) == getpartyleader(.@party_id,2)) { - mes "Party status confirmed. Would you like to book entrance to the "+.@md_name$+"?"; + if(instance_check_party(.@party_id,2)) { + if (.@orctime == 0 || .@orctime == 1) { + mes "You can enter the Dungeon if it has been generated."; next; - switch(select("Reserve the "+.@md_name$+":Enter the Dungeon:Cancel")) { + if (select("Enter the Dungeon "+.@md_name$+":Cancel") == 2) + close; + switch (instance_enter(.@md_name$)) { + case 3: + mes "An unknown error has occurred."; + close; + case 2: + mes "Memorial Dungeon "+.@md_name$+" does not exist."; + mes "Memorial Dungeon has been destroyed by the Party Leader, or because of the time limit. Please try again after 2 hours."; + close; + case 1: + mes "Only a member of the party can enter the Memorial Dungeon."; + close; + case 0: + mapannounce "gef_fild10",.@p_name$+" party's member "+strcharinfo(0)+" has entered the "+.@md_name$+".",bc_map,"0x00ff99"; + //warp "1@orcs",179,15; + close; + } + } else if (.@orctime == 2) { + mes "^0000ffAll records and after-effects related to the Orc's Memory Dungeon are deleted. You can now regenerate or re-enter the dungeon.^000000"; + erasequest 12059; + close; + } else if (.@orctime == -1) { + if (getcharid(0) == .@ins_mas) { + mes "Party status confirmed. Would you like to book entrance to the "+.@md_name$+"?"; + next; + set .@menu$,"Reserve the "+.@md_name$+":Enter the Dungeon:Cancel"; + } else + set .@menu$,":Enter the Dungeon "+.@md_name$+":Cancel"; + switch(select(.@menu$)) { case 1: if (instance_create(.@md_name$) < 0) { mes "Party Name: "+.@p_name$; @@ -59,51 +86,38 @@ gef_fild10,242,202,0 script Dimensional Gorge Piece 406,{ mes "^0000ff"+.@md_name$+" ^000000 - Reservation Failed."; close; } - mes "^0000ff"+.@md_name$+"^000000- Attempting to book an entrance"; + mes "^0000ff"+.@md_name$+"^000000- Attempting to book an entrance."; mes "After making a reservation, you have to select 'Enter the Dungeon' from the menu if you wish to enter the "+.@md_name$+"."; close; case 2: - callsub L_Enter,0; + switch (instance_enter(.@md_name$)) { + case 3: + mes "An unknown error has occurred."; + close; + case 2: + mes "Memorial Dungeon "+.@md_name$+" does not exist."; + mes "The party leader has not reserved entrance to the dungeon yet."; + next; + mes "Once reservation is complete, the dungeon will be generated."; + mes "If your dungeon has been destroyed you must wait 2 hours before re-entering."; + close; + case 1: + mes "Only a member of the party can enter the Memorial Dungeon."; + close; + case 0: + mapannounce "gef_fild10",.@p_name$+" party's member "+strcharinfo(0)+" has entered the "+.@md_name$+".",bc_map,"0x00ff99"; + setquest 12059; + //warp "1@orcs",179,15; + end; + } case 3: - close; + end; } } - if(select(.@md_name$ + " Enter the Memorial Dungeon:Cancel") == 2) - end; - callsub L_Enter,1; - } else if (.@orctime == 0 || .@orctime == 1) { - mes "You can enter the Dungeon if it has been generated."; - next; - if(select("Enter the Dungeon "+.@md_name$+":Cancel") == 2) - close; - callsub L_Enter,0; - } else if (.@orctime == 2) { - mes "^0000ffAll records and after-effects related to the Orc's Memory Dungeon are deleted. You can now regenerate or re-enter the dungeon.^000000"; - erasequest 12059; - close; - } - mes "In order to generate a dungeon you must be the Party Leader and have at least 2 members in the party."; - close; -L_Enter: - switch(instance_enter("Orc's Memory")) { - case 3: - mes "An unknown error has occurred."; - close; - case 2: - mes "Memorial Dungeon Orc's Memory does not exist."; - mes "Memorial Dungeon has been destroyed by the Party Leader, or because of the time limit. Please try again after 2 hours."; - close; - case 1: - mes "Only a member of the party can enter the Memorial Dungeon."; + } else { + mes "In order to generate a dungeon you must be the Party Leader and have at least 2 members in the party."; close; - case 0: - mapannounce "gef_fild10",.@p_name$+" party's member "+strcharinfo(0)+" has entered the Orc's Memory.",bc_map,"0x00ff99"; - if (checkquest(12059) == -1) setquest 12059; - //warp "1@orcs",179,15; - if (getarg(0) == 0) close; - else end; } - } gef_fild10,238,202,6 script Mad Scientist#orc 865,{ diff --git a/instances/SealedShrine.txt b/instances/SealedShrine.txt index 034188b..4270321 100644 --- a/instances/SealedShrine.txt +++ b/instances/SealedShrine.txt @@ -263,7 +263,7 @@ prt_monk,261,91,3 script Rust Blackhand#edq 826,{ mes "[Rust Blackhand]"; mes "Did you bring all of the ingredients?"; next; - if ((countitem(6004) > 0) && (countitem(2256) > 0) && (countitem(7799) > 29) && (countitem(7798) > 49) && (Zeny > 990000)) { + if ((countitem(6004) > 0) && (countitem(2256) > 0) && (countitem(7799) > 29) && (countitem(7798) > 49) && (Zeny >= 990000)) { mes "[Rust Blackhand]"; mes "kkk... You prepared the ingredients well. Why don't you leave it there and wait?"; next; @@ -339,7 +339,8 @@ prt_monk,261,91,3 script Rust Blackhand#edq 826,{ next; mes "[Rust Blackhand]"; mes "You'll never know how great this hat is until you get one. If you understood, go and get the ingredients."; - changequest 3042,3043; + if (isbegin_quest(3042) == 1) + changequest 3042,3043; close; case 2: mes "[Rust Blackhand]"; @@ -394,8 +395,8 @@ prt_monk,261,91,3 script Rust Blackhand#edq 826,{ next; mes "[Rust Blackhand]"; mes "You'll never know how great this hat is until you get one. If you understood, go and get the ingredients."; - //recall_completequest 3043 - changequest 3042,3043; + if (isbegin_quest(3042) == 1) + changequest 3042,3043; close; case 2: mes "[Rust Blackhand]"; @@ -424,8 +425,8 @@ prt_monk,261,91,3 script Rust Blackhand#edq 826,{ OnInstanceInit: // Pick one "true" Gravestone and 12 "false" Gravestones. set .@true, rand(1,13); - for(set .@i,1; .@i<13; set .@i,.@i+1) { - disablenpc instance_npcname("Gravestone#1F_1"+((.@i == .@true)?"F":"T")); + for(set .@i,1; .@i<=13; set .@i,.@i+1) { + disablenpc instance_npcname("Gravestone#1F_"+.@i+((.@i == .@true)?"F":"T")); } disablenpc instance_npcname("ins_baphomet_lotto"); end; @@ -433,7 +434,7 @@ OnInstanceInit: 1@cata,3,2,0 script ins_baphomet_lotto2 -1,{ OnEnable: - for(set .@i,1; .@i<12; set .@i,.@i+1) + for(set .@i,1; .@i<13; set .@i,.@i+1) enablenpc instance_npcname("Bobbing Torch#"+.@i); end; } diff --git a/jobs/1-1e/gunslinger.txt b/jobs/1-1e/gunslinger.txt index ad24224..044dbb4 100644 --- a/jobs/1-1e/gunslinger.txt +++ b/jobs/1-1e/gunslinger.txt @@ -39,7 +39,7 @@ que_ng,152,167,3 script Master Miller 901,{ close; } if (Class == Job_Novice) { - if (JobLevel < 10 || getskilllv("NV_BASIC") < 9) { + if (!callfunc("F_CanChangeJob")) { mes "[Master Miller]"; mes "Interested in becoming"; mes "a Gunslinger, eh? You've"; diff --git a/jobs/1-1e/ninja.txt b/jobs/1-1e/ninja.txt index c45297b..fa07096 100644 --- a/jobs/1-1e/ninja.txt +++ b/jobs/1-1e/ninja.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Legionaire, Kisuka //===== Current Version: ===================================== -//= 1.6 +//= 1.7 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -15,6 +15,7 @@ //= 1.4 Fixed a minor bug [SinSloth] //= 1.5 Updated to match AEGIS script and Added Quest Log commands. [Kisuka] //= 1.6 Fixed AEGIS amatsu warp typo. [Kisuka] +//= 1.7 Kagerou/Oboro support (Class -> BaseClass) [Euphy] //============================================================ alberta,30,65,3 script Akagi 730,{ @@ -351,7 +352,7 @@ que_ng,30,65,3 script Cougar#nq 730,{ close; } } else { - if (Class == Job_Ninja) { + if (BaseClass == Job_Ninja) { mes "[Cougar]"; mes "How have you been?"; mes "Train hard: you want"; @@ -565,7 +566,7 @@ einbroch,184,194,3 script Suspicious Man#nq 881,{ mes "to beat him in a fair fight~"; close; } - else if (NINJ_Q == 5 && Class == Job_Ninja) { + else if (NINJ_Q == 5 && BaseClass == Job_Ninja) { mes "[Red Leopard Joe]"; mes "Oh, you're a Ninja~"; mes "I hope you continue to"; diff --git a/jobs/1-1e/taekwon.txt b/jobs/1-1e/taekwon.txt index 6d74853..b1c2e8e 100644 --- a/jobs/1-1e/taekwon.txt +++ b/jobs/1-1e/taekwon.txt @@ -80,7 +80,7 @@ payon,157,141,5 script Phoenix#TKJobChange 753,{ mes "art. It won't be easy, but it will lead you to great strength..."; next; if(select("Okay, I will join you.","No, thank you.") == 1) { - if(getskilllv("NV_BASIC") < 9) { + if(!callfunc("F_CanChangeJob")) { mes "[Phoenix]"; mes "How unfortunate!"; mes "You're not yet ready to"; @@ -393,7 +393,7 @@ payon,157,141,5 script Phoenix#TKJobChange 753,{ mes "uniform and guard set: make"; mes "good use of these gifts. As"; mes "you travel and train, enlighten"; - mes "others about our art and learn^FFFFFF ^000000 what you can from them in return."; + mes "others about our art and learn what you can from them in return."; next; mes "[Phoenix]"; mes "It is now time for you to"; diff --git a/jobs/2-1/blacksmith.txt b/jobs/2-1/blacksmith.txt index a6d8c54..70fc756 100644 --- a/jobs/2-1/blacksmith.txt +++ b/jobs/2-1/blacksmith.txt @@ -7,7 +7,7 @@ //= Optimized and further edited by kobra_k88. //= Further bugfixed and tested by Lupus //===== Current Version: ===================================== -//= 2.8 +//= 2.9 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -40,6 +40,7 @@ //= 2.6a Typo fix [Yommy] //= 2.7 Added Quest Log commands. [Kisuka] //= 2.8 Removed the need for use of 'goto.' [L0ne_W0lf] +//= 2.9 Updated with some extra conditions. [Euphy] //============================================================== ein_in01,18,28,4 script Guildsman#BLS 731,{ @@ -72,20 +73,29 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ mes "and passion of our souls into"; mes "our craft. Our skills of melting metal into new weapons"; mes "and tools is truly a form of art!"; + if (BaseClass >= Job_Thief) close; // Custom expanded class check. next; + + // Third class check - precedes other BaseClass dialogue. + if (Class >= Job_Rune_Knight && Class <= Job_Baby_Mechanic2) { + mes "[Altiregen]"; + mes "You... look like a stranger. But somehow it seems that you're related to our guild. Haha~"; + mes "Am I right?"; + close; + } + if (BaseClass == Job_Novice) { + mes "[Altiregen]"; if (Sex == 0) { - mes "[Altiregen]"; mes "Oh~"; mes "what a very"; mes "pretty lady!"; - mes "Are you interested in"; - mes "becoming a Blacksmith?"; - next; - mes "[Altiregen]"; - mes "First, you must become a Merchant before you can become a Blacksmith. Go to the city of Alberta to learn the Merchant trade."; - close; } + mes "Are you interested in"; + mes "becoming a Blacksmith?"; + next; + mes "[Altiregen]"; + mes "First, you must become a Merchant before you can become a Blacksmith. Go to the city of Alberta to learn the Merchant trade."; close; } else if (BaseClass == Job_Swordman) { @@ -249,6 +259,11 @@ ein_in01,18,28,4 script Guildsman#BLS 731,{ } else if (BSMITH_Q == 17 && countitem(1005) > 0 && JobLevel > 39) { mes "[Altiregen]"; + if (ismounting()) { + mes "You are on a riding pet, so you cannot change your job."; + mes "Please unequip your riding pet and try again!"; + close; + } mes "Excellent, I can tell by the twinkle in your eye that you were successful. I can now bestow upon you the gift of the smithing, the art of the Blacksmith."; if (checkquest(2015) != -1) { changequest 2015,2016; diff --git a/jobs/2-1/hunter.txt b/jobs/2-1/hunter.txt index 32e7725..a0410eb 100644 --- a/jobs/2-1/hunter.txt +++ b/jobs/2-1/hunter.txt @@ -1259,9 +1259,11 @@ OnTouch: set HNTR_Q,16; changequest 4011,4012; savepoint "payon",104,99; - if (rand(1)) + if (rand(2)) warp "payon_in02",21,27; - warp "payon_in03",128,7; + else + warp "payon_in03",128,7; + end; } // Hunter Job test traps. diff --git a/jobs/2-1/wizard.txt b/jobs/2-1/wizard.txt index 26f77ce..7a622eb 100644 --- a/jobs/2-1/wizard.txt +++ b/jobs/2-1/wizard.txt @@ -157,7 +157,7 @@ gef_tower,111,37,4 script Wizard Guildsman 70,{ set wizard_m1,rand(1,2); mes "[Catherine]"; mes "The items you must collect are..."; - if (rand(1)) { + if (rand(2)) { set WIZ_Q,1; setquest 9013; mes "^3355FFRed Gemstone^000000 10 each,"; @@ -1414,7 +1414,7 @@ OnTimer60000: end; OnTimer61000: - donpcevent "Room of Earth#Failed::OnEnable"; + enablenpc "Room of Earth#Failed"; end; OnTimer62000: @@ -1520,7 +1520,7 @@ OnTimer183000: end; OnTimer184000: - donpcevent "Room of Fire#Failed::OnEnable"; + enablenpc "Room of Fire#Failed"; end; OnTimer185000: diff --git a/jobs/2-1e/StarGladiator.txt b/jobs/2-1e/StarGladiator.txt index 4db33e7..088f459 100644 --- a/jobs/2-1e/StarGladiator.txt +++ b/jobs/2-1e/StarGladiator.txt @@ -100,7 +100,7 @@ payon,215,102,3 script Moohyun#job_star 828,3,3,{ mes "[Moohyun]"; mes "Alright, you can find Moogang"; mes "in Comodo, supposedly at the"; - mes "place that's closest to the sky.^FFFFFF ^000000 In the meantime, I'll write a"; + mes "place that's closest to the sky. In the meantime, I'll write a"; mes "letter of recommendation that"; mes "I'll send to him for you."; set STGL_Q,1; @@ -383,7 +383,7 @@ comodo,172,230,3 script Wandering Master#job_sta 730,{ mes "and improve your Taekwon Girl"; else mes "and improve your Taekwon Boy"; - mes "skills. When you are finished,^FFFFFF ^000000 come back here for your training."; + mes "skills. When you are finished, come back here for your training."; close; } mes "[Moogang]"; @@ -481,7 +481,7 @@ comodo,172,230,3 script Wandering Master#job_sta 730,{ mes "the nature of the universe"; mes "comes the respect for nature"; mes "and all things. Now, when you"; - mes "are ready for the next test, then^FFFFFF ^000000"; + mes "are ready for the next test, then"; mes "I shall guide you to the altar."; delitem 996,1; //Rough_Wind delitem 997,1; //Great_Nature @@ -889,7 +889,7 @@ job_star,29,33,0 script Daru#job_star 59,{ mes "Ah, yes. The warmth"; mes "of the sun brings comfort."; mes "And without comfort, is life"; - mes "truly worth living? Good answer. ^FFFFFF ^000000"; + mes "truly worth living? Good answer."; set .@sun_point,.@sun_point+10; break; case 3: @@ -1561,7 +1561,7 @@ job_star,161,33,0 script Cheehee#job_star 77,{ mes "gentle moonlight, and the"; mes "melancholic twinkling of the"; mes "stars are unique from each"; - mes "other. Please enjoy the starlight^FFFFFF ^000000 in this room as long as you like."; + mes "other. Please enjoy the starlight in this room as long as you like."; next; mes "[Cheehee]"; mes "When you are ready,"; diff --git a/jobs/2-2/alchemist.txt b/jobs/2-2/alchemist.txt index c84038c..b8d6ed3 100644 --- a/jobs/2-2/alchemist.txt +++ b/jobs/2-2/alchemist.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= nestor_zulueta (Fusion), converted by Darkchild //===== Current Version: ===================================== -//= 3.0 +//= 3.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -17,6 +17,7 @@ //= 2.8 Fixed minor typo in test section. [L0ne_W0lf] //= 2.9 Added Quest Log commands. [Kisuka] //= 3.0 Removed the need for use of 'goto.' [L0ne_W0lf] +//= 3.1 Added missing changequest commands. [Kisuka] //============================================================ alde_alche,27,185,5 script Alchemist Guildsman#am 744,{ @@ -288,7 +289,7 @@ alde_alche,27,185,5 script Alchemist Guildsman#am 744,{ mes "Aren't you ready?"; mes "Like I said before,"; mes "you must bring"; - mes "^551A8B"+.@items[1]+" "+getitemname(.@items[0])+"s^000000."; + mes "^551A8B"+callfunc("F_InsertPlural",.@items[1],getitemname(.@items[0]))+"^000000."; next; mes "[Parmy Gianino]"; mes "Come back when you"; @@ -467,6 +468,7 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 749,{ mes "He'll teach you how to do the experiments. Just tell him that"; mes "I sent you."; set ALCH_Q,6; + changequest 2031,2032; close; } else { @@ -1092,6 +1094,7 @@ alde_alche,13,15,7 script Studying Man#am 750,{ mes "and cast away the last"; mes "vestiges of Merchant life!!"; set ALCH_Q,40; + changequest 2033,2034; close; } else if (countitem(7134) > 2 && countitem(713) > 2 && countitem(507) > 0 && countitem(508) > 0 && countitem(509) > 0) { @@ -1686,9 +1689,12 @@ alde_alche,101,184,4 script Master Alchemist#am 122,{ cutin "",255; end; } - if(checkquest(2039) != -1) { + if (checkquest(2039) != -1) { changequest 2039,2040; } + if (checkquest(2034) != -1) { + changequest 2034,2040; + } mes "Ah, well done."; mes "I can see that you"; mes "have learned all of"; @@ -1705,7 +1711,6 @@ alde_alche,101,184,4 script Master Alchemist#am 122,{ mes "illustrious Union."; mes "I hope you learn a lot..."; next; - if (.@jlevel == 50) { getitem 7133,1; //Slim_Potion_Create_Book mes "[Vincent Carsciallo]"; diff --git a/jobs/2-2/crusader.txt b/jobs/2-2/crusader.txt index a958e72..b83f588 100644 --- a/jobs/2-2/crusader.txt +++ b/jobs/2-2/crusader.txt @@ -360,7 +360,7 @@ prt_castle,164,32,1 script Man in Anguish 733,{ mes "Let me take"; mes "a look at your face."; next; - if(getequipid(7) != 2608 && getequipid(8) != 2608) { + if(getequipid(EQI_ACC_L) != 2608 && getequipid(EQI_ACC_R) != 2608) { mes "[Murnak Mijoul]"; mes "Hmm. You wish to become a Crusader, but do not wear a Rosary? I have no business with you if you cannot uphold our customs."; close; @@ -401,7 +401,7 @@ prt_castle,164,32,1 script Man in Anguish 733,{ mes "I'll let you retake the test as much as you like. But if you continuously fail, there's an inherent problem with your"; mes "state of mind."; next; - if(getequipid(7) != 2608 && getequipid(8) != 2608) { + if(getequipid(EQI_ACC_L) != 2608 && getequipid(EQI_ACC_R) != 2608) { mes "[Murnak Mijoul]"; mes "Wait..."; mes "Where have you left your Rosary? You can't let that lie around just anywhere. We are supposed to be warriors of holiness."; @@ -888,7 +888,7 @@ prt_castle,35,151,5 script Patron Knight 751,{ } next; if (select("I would like to begin.:Give me some time to prepare.") == 1) { - if(getequipid(7) != 2608 && getequipid(8) != 2608) { + if(getequipid(EQI_ACC_L) != 2608 && getequipid(EQI_ACC_R) != 2608) { mes "[Bliant Piyord]"; mes "Just a second, you do not have a Rosary equipped. As a Crusader, you must always have a Rosary on your person."; next; diff --git a/jobs/2-2a/Creator.txt b/jobs/2-2a/Creator.txt index 73547ce..cf56667 100644 --- a/jobs/2-2a/Creator.txt +++ b/jobs/2-2a/Creator.txt @@ -2,23 +2,24 @@ //= Advance Class jobchanger after kRO Normals. //===== By: ================================================== //= Nana -//= finished, optimized and tested by Lupus +//= Finished, optimized and tested by Lupus //===== Current Version: ===================================== -//= 1.3 +//= 1.5 //===== Compatible With: ===================================== -//= rAthena 1.0 + +//= rAthena SVN //===== Description: ========================================= //= Advance Class jobchanger after kRO Normals. //===== Additional Comments: ================================= //= 1.1 Made all into functions, additional checks, etc. [Lupus] //= 1.2 Made numbers into constants. [Vicious] //= 1.3 Now saves/restores all the quest skills [Lupus] +//= 1.4 Corrected check for the Bioethics quest variable [Haru] +//= 1.5 Fixed issue resulting in never regaining Bioethics. [Kisuka] //============================================================ valkyrie,53,50,3 script Biochemist#Valkyrie 122,{ - if (ADVJOB == 0 || Upper != 1) { - set .@karma_d,rand(1,10); - if (.@karma_d > 4) { + if (ADVJOB == 0 && Upper != 1) { + if (rand(1,10) > 4) { mes "[Biochemist]"; mes "Congratulations."; mes "Honor to the warriors!"; @@ -39,8 +40,7 @@ valkyrie,53,50,3 script Biochemist#Valkyrie 122,{ mes "fought that earned me"; mes "a place in Valhalla..."; close; - } - else if (ADVJOB == Job_Creator && Class == Job_Merchant_High && JobLevel > 39) { + } else if (ADVJOB == Job_Creator && Class == Job_Merchant_High && JobLevel > 39) { mes "[Biochemist]"; mes "Yes..."; mes "It's about time."; @@ -73,64 +73,60 @@ valkyrie,53,50,3 script Biochemist#Valkyrie 122,{ mes "vast knowledge for the"; mes "right purposes."; close; - } - else { - if (Class == Job_Creator && MISC_QUEST & 64 && getskilllv("AM_BIOETHICS") == 0) { + } else if (Class == Job_Creator && bioeth == 13 && getskilllv("AM_BIOETHICS") == 0) { + mes "[Biochemist]"; + mes "Ah, have you come to"; + mes "retrieve the memories"; + mes "lost to you? Yes, you"; + mes "must be here for the"; + mes "secrets of life that"; + mes "were once yours..."; + next; + if (select("Yes:No") == 1) { mes "[Biochemist]"; - mes "Ah, have you come to"; - mes "retrieve the memories"; - mes "lost to you? Yes, you"; - mes "must be here for the"; - mes "secrets of life that"; - mes "were once yours..."; + mes "Close your eyes and"; + mes "put your mind at rest."; + mes "We will return to your"; + mes "past to recollect the"; + mes "fragments of your lost"; + mes "memories."; next; - if (select("Yes:No") == 1) { - mes "[Biochemist]"; - mes "Close your eyes and"; - mes "put your mind at rest."; - mes "We will return to your"; - mes "past to recollect the"; - mes "fragments of your lost"; - mes "memories."; - next; - mes "[Biochemist]"; - mes "When you open your eyes,"; - mes "you will clearly remember"; - mes "the secret of life. You will"; - mes "also remember the weight of"; - mes "responsibility in using these"; - mes "secrets for the right ends..."; - next; - skill 238,1,0; - mes "[Biochemist]"; - mes "Open your eyes..."; - mes "Now that you have"; - mes "remembered how to"; - mes "create artificial life, I only"; - mes "ask that you treat all of your"; - mes "creations with respect."; - close; - } mes "[Biochemist]"; - mes "If you wish to"; - mes "retrieve your lost"; - mes "memories, please"; - mes "come back to me."; - mes "The secret to creating"; - mes "life is no trifling thing..."; + mes "When you open your eyes,"; + mes "you will clearly remember"; + mes "the secret of life. You will"; + mes "also remember the weight of"; + mes "responsibility in using these"; + mes "secrets for the right ends..."; + next; + skill "AM_BIOETHICS",1,0; + mes "[Biochemist]"; + mes "Open your eyes..."; + mes "Now that you have"; + mes "remembered how to"; + mes "create artificial life, I only"; + mes "ask that you treat all of your"; + mes "creations with respect."; close; } mes "[Biochemist]"; - mes "Welcome"; - mes "to Valhalla,"; - mes "the Hall of Honor."; - next; - mes "[Biochemist]"; - mes "Please make"; - mes "yourself comfortable"; - mes "while you are here."; - mes "Honor to the warriors!"; + mes "If you wish to"; + mes "retrieve your lost"; + mes "memories, please"; + mes "come back to me."; + mes "The secret to creating"; + mes "life is no trifling thing..."; close; } + mes "[Biochemist]"; + mes "Welcome"; + mes "to Valhalla,"; + mes "the Hall of Honor."; + next; + mes "[Biochemist]"; + mes "Please make"; + mes "yourself comfortable"; + mes "while you are here."; + mes "Honor to the warriors!"; + close; } - diff --git a/jobs/novice/supernovice.txt b/jobs/novice/supernovice.txt index 3c05dee..f74cd22 100644 --- a/jobs/novice/supernovice.txt +++ b/jobs/novice/supernovice.txt @@ -142,7 +142,7 @@ aldeba_in,223,167,3 script Tzerero#sn 709,{ next; switch(select("Accept his offer.:Reject his offer.:Listen more carefully.")) { case 1: - if (getskilllv("NV_BASIC") < 9) { + if (!callfunc("F_CanChangeJob")) { mes "[Tzerero]"; mes "Hmm...But do you truly"; mes "appreciate the value of"; diff --git a/jobs/valkyrie.txt b/jobs/valkyrie.txt index 627bb35..a435c3a 100644 --- a/jobs/valkyrie.txt +++ b/jobs/valkyrie.txt @@ -151,8 +151,8 @@ valkyrie,48,86,4 script Valkyrie# 811,{ jobchange Job_Novice_High; resetlvl(1); set MISC_QUEST,MISC_QUEST | 1024; //<-reset Skill Reset Event - skill 142,1,0; - skill 143,1,0; + skill "NV_FIRSTAID",1,0; + skill "NV_TRICKDEAD",1,0; completequest 1000; next; mes "[Valkyrie]"; diff --git a/kafras/cool_event_corp.txt b/kafras/cool_event_corp.txt index 53e49b2..22d93d8 100644 --- a/kafras/cool_event_corp.txt +++ b/kafras/cool_event_corp.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Gepard //===== Current Version: ===================================== -//= 1.5 +//= 1.6 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -18,9 +18,11 @@ //= until we got a client/packet based password support [Lupus] //= 1.4 Added Veins Cool Event Corp. Staff. [L0ne_W0lf] //= 1.5 Cool Event Corp staff is now more iRO like. [L0ne_W0lf] +//= 1.6 Wrote a basic function and added VIP features. [Euphy] //============================================================ -hugel,88,168,4 script Cool Event Corp. Staff::CoolEventCorpStaffHugel 874,{ +//callfunc "F_CoolEventCorp","","","",,,""; +function script F_CoolEventCorp { cutin "zonda_01",2; mes "[Cool Event Corp. Staff]"; mes "Welcome to Cool Event Corp."; @@ -29,139 +31,28 @@ hugel,88,168,4 script Cool Event Corp. Staff::CoolEventCorpStaffHugel 874,{ mes "for quality service. So how"; mes "may I assist you today?"; next; - switch(select("Save:Use Storage:Rent a Pushcart:Storage Password Service:Cancel")){ + switch(select(getarg(0))) { case 1: mes "[Cool Event Corp. Staff]"; mes "Your Respawn Point"; mes "has been saved here"; - mes "in the village of Hugel."; + mes getarg(1)+"."; mes "Thank you for using the"; mes "Cool Event Corp. service~"; - savepoint "hugel",96,155; + savepoint getarg(2),getarg(3),getarg(4); close2; break; case 2: mes "[Cool Event Corp. Staff]"; - if(basicskillcheck() && getskilllv("NV_BASIC") < 6){ + if(!callfunc("F_CanOpenStorage")){ mes "I'm sorry, but you"; - mes "need the Novice's"; - mes "Basic Skill Level 6 to"; - mes "use the Storage Service."; - close2; - break; - } - if(Zeny < 40){ - mes "I'm sorry, but you don't"; - mes "have enough Zeny to use"; - mes "the Storage Service. Our"; - mes "Storage access fee is 40 Zeny."; - close2; - break; - } - set Zeny, Zeny - 40; - mes "Let me open your personal"; - mes "storage for you right away."; - mes "Thanks for supporting Cool"; - mes "Event Corp. by using our"; - mes "services. Have a good day~"; - callfunc("F_CheckKafCode"); //check your storage password, if set - close2; - openstorage; - break; - case 3: - mes "[Cool Event Corp. Staff]"; - if(BaseClass != Job_Merchant){ - mes "I'm sorry, but the"; - mes "Pushcart rental service"; - mes "is only available to Merchants,"; - mes "Blacksmiths, White Smiths,"; - mes "Alchemists and Creators."; - close2; - break; - } - if(getskilllv("MC_PUSHCART") == 0){ - mes "You can only rent a cart after"; - mes "learning the Pushcart Skill."; - close2; - break; - } - if(checkcart() == 1){ - mes "You already have"; - mes "a Pushcart equipped."; - mes "Unfortunately, we can't"; - mes "rent more than one to"; - mes "each customer at a time."; - close2; - break; - } - if(countitem(7061)){ - delitem 7061,1; - setcart; - close2; - break; - } - mes "The Pushcart rental"; - mes "fee is 800 Zeny. Would"; - mes "you like to rent a Pushcart?"; - next; - if(select("Rent a Pushcart:Cancel") == 1){ - if(Zeny < 800){ - mes "[Cool Event Corp. Staff]"; - mes "I'm sorry, but you"; - mes "don't have enough"; - mes "Zeny to pay the Pushcart"; - mes "rental fee of 800 Zeny."; - } else { - set Zeny, Zeny - 800; - setcart; + if(Class == Job_Summoner) { + mes "need the New Basic Skill to"; + } + else { + mes "need the Novice's"; + mes "Basic Skill Level 6 to"; } - } - close2; - break; - case 4: - callfunc("F_SetKafCode","[Cool Event Corp. Staff]","Cool Event Corp."); - //the function closes msg and remoes cutins - case 5: - default: - mes "[Cool Event Corp. Staff]"; - mes "Cool Event Corp. is always"; - mes "striving to provide the best"; - mes "services for our customers."; - mes "Help us become the best by"; - mes "providing us with your opinions"; - mes "and honest feedback. Thank you."; - close2; - } - cutin "", 255; - end; -} - -rachel,109,138,5 script Cool Event Corp. Staff::CoolEventCorpStaffRachel 874,{ - cutin "zonda_01",2; - mes "[Cool Event Corp. Staff]"; - mes "Welcome to Cool Event Corp."; - mes "Our staff is always working"; - mes "to surpass your expactations"; - mes "for quality service. So how"; - mes "may I assist you today?"; - next; - switch(select("Save:Use Storage:Teleport Service:Rent a Pushcart:Storage Password Service:Cancel")){ - case 1: - mes "[Cool Event Corp. Staff]"; - mes "Your Respawn Point"; - mes "has been saved here"; - mes "in the town of Rachel."; - mes "Thank you for using the"; - mes "Cool Event Corp. service~"; - savepoint "rachel",113,137; - close2; - break; - case 2: - mes "[Cool Event Corp. Staff]"; - if(basicskillcheck() && getskilllv("NV_BASIC") < 6){ - mes "I'm sorry, but you"; - mes "need the Novice's"; - mes "Basic Skill Level 6 to"; mes "use the Storage Service."; close2; break; @@ -188,15 +79,20 @@ rachel,109,138,5 script Cool Event Corp. Staff::CoolEventCorpStaffRachel 874,{ mes "Please choose"; mes "your destination."; next; - if (select("Veins -> 2200 z:Cancel") == 1) { - if ((countitem(7060) != 0) || (Zeny >= 2200)) { + if (VIP_SCRIPT && !vip_status(1)) + set .@cost,4400; + else + set .@cost,2200; + if (select(getarg(5)+" -> "+.@cost+" z:Cancel") == 1) { + if ((countitem(7060) != 0) || (Zeny >= .@cost)) { if (countitem(7060) != 0) { - delitem 7060,1; + delitem 7060,1; //Warp_Free_Ticket } else { - set Zeny,Zeny-2200; + set Zeny,Zeny-.@cost; } - warp "veins",205,101; + if (getarg(5) == "Veins") warp "veins",205,101; + else if (getarg(5) == "Rachel") warp "rachel",115,125; cutin "",255; end; } @@ -205,7 +101,7 @@ rachel,109,138,5 script Cool Event Corp. Staff::CoolEventCorpStaffRachel 874,{ mes "I'm sorry, but you don't have"; mes "enough zeny for the Teleport"; mes "Service. The fee to teleport"; - mes "to Rachel is 2200 zeny."; + mes "to "+getarg(5)+" is "+.@cost+" zeny."; } } close2; @@ -215,9 +111,13 @@ rachel,109,138,5 script Cool Event Corp. Staff::CoolEventCorpStaffRachel 874,{ if(BaseClass != Job_Merchant){ mes "I'm sorry, but the"; mes "Pushcart rental service"; - mes "is only available to Merchants,"; - mes "Blacksmiths, White Smiths,"; - mes "Alchemists and Creators."; + if (checkre(0)) + mes "is only available to Merchant classes."; + else { + mes "is only available to Merchants,"; + mes "Blacksmiths, White Smiths,"; + mes "Alchemists and Creators."; + } close2; break; } @@ -237,7 +137,7 @@ rachel,109,138,5 script Cool Event Corp. Staff::CoolEventCorpStaffRachel 874,{ break; } if(countitem(7061)){ - delitem 7061,1; + delitem 7061,1; //Cart_Free_Ticket setcart; close2; break; @@ -262,7 +162,7 @@ rachel,109,138,5 script Cool Event Corp. Staff::CoolEventCorpStaffRachel 874,{ break; case 5: callfunc("F_SetKafCode","[Cool Event Corp. Staff]","Cool Event Corp."); - //the function closes msg and remoes cutins + //the function closes msg and removes cutins case 6: default: mes "[Cool Event Corp. Staff]"; @@ -278,145 +178,23 @@ rachel,109,138,5 script Cool Event Corp. Staff::CoolEventCorpStaffRachel 874,{ end; } +hugel,88,168,4 script Cool Event Corp. Staff::CoolEventCorpStaffHugel 874,{ + callfunc "F_CoolEventCorp", + "Save:Use Storage::Rent a Pushcart:Storage Password Service:Cancel", + "in the village of Hugel","hugel",96,155; + end; +} + +rachel,109,138,5 script Cool Event Corp. Staff::CoolEventCorpStaffRachel 874,{ + callfunc "F_CoolEventCorp", + "Save:Use Storage:Teleport Service:Rent a Pushcart:Storage Password Service:Cancel", + "in the town of Rachel","rachel",113,137,"Veins"; + end; +} + veins,208,128,5 script Cool Event Corp. Staff::CoolEventCorpStaffVeins 874,{ - cutin "zonda_01",2; - mes "[Cool Event Corp. Staff]"; - mes "Welcome to Cool Event Corp."; - mes "Our staff is always working"; - mes "to surpass your expactations"; - mes "for quality service. So how"; - mes "may I assist you today?"; - next; - switch(select("Save:Use Storage:Teleport Service:Rent a Pushcart:Storage Password Service:Cancel")){ - case 1: - mes "[Cool Event Corp. Staff]"; - mes "Your Respawn Point"; - mes "has been saved here"; - mes "in the town of Veins."; - mes "Thank you for using the"; - mes "Cool Event Corp. service~"; - savepoint "veins",204,103; - close2; - break; - case 2: - mes "[Cool Event Corp. Staff]"; - if(basicskillcheck() && getskilllv("NV_BASIC") < 6){ - mes "I'm sorry, but you"; - mes "need the Novice's"; - mes "Basic Skill Level 6 to"; - mes "use the Storage Service."; - close2; - break; - } - if(Zeny < 40){ - mes "I'm sorry, but you don't"; - mes "have enough Zeny to use"; - mes "the Storage Service. Our"; - mes "Storage access fee is 40 Zeny."; - close2; - break; - } - set Zeny, Zeny - 40; - mes "Let me open your personal"; - mes "storage for you right away."; - mes "Thanks for supporting Cool"; - mes "Event Corp. by using our"; - mes "services. Have a good day~"; - callfunc("F_CheckKafCode"); //check your storage password, if set - close2; - openstorage; - break; - case 3: - mes "Please choose"; - mes "your destination."; - next; - if (select("Rachel -> 2200 z:Cancel") == 1) { - if ((countitem(7060) != 0) || (Zeny >= 2200)) { - if (countitem(7060) != 0) { - delitem 7060,1; - } - else { - set Zeny,Zeny-2200; - } - warp "rachel",115,125; - cutin "",255; - end; - } - else { - mes "[Cool Event Corp. Staff]"; - mes "I'm sorry, but you don't have"; - mes "enough zeny for the Teleport"; - mes "Service. The fee to teleport"; - mes "to Rachel is 2200 zeny."; - } - } - close2; - break; - case 4: - mes "[Cool Event Corp. Staff]"; - if(BaseClass != Job_Merchant){ - mes "I'm sorry, but the"; - mes "Pushcart rental service"; - mes "is only available to Merchants,"; - mes "Blacksmiths, White Smiths,"; - mes "Alchemists and Creators."; - close2; - break; - } - if(getskilllv("MC_PUSHCART") == 0){ - mes "You can only rent a cart after"; - mes "learning the Pushcart Skill."; - close2; - break; - } - if(checkcart() == 1){ - mes "You already have"; - mes "a Pushcart equipped."; - mes "Unfortunately, we can't"; - mes "rent more than one to"; - mes "each customer at a time."; - close2; - break; - } - if(countitem(7061)){ - delitem 7061,1; - setcart; - close2; - break; - } - mes "The Pushcart rental"; - mes "fee is 800 Zeny. Would"; - mes "you like to rent a Pushcart?"; - next; - if(select("Rent a Pushcart:Cancel") == 1){ - if(Zeny < 800){ - mes "[Cool Event Corp. Staff]"; - mes "I'm sorry, but you"; - mes "don't have enough"; - mes "Zeny to pay the Pushcart"; - mes "rental fee of 800 Zeny."; - close2; - } else { - set Zeny, Zeny - 800; - setcart; - } - } - close2; - break; - case 5: - callfunc("F_SetKafCode","[Cool Event Corp. Staff]","Cool Event Corp."); - //the function closes msg and remoes cutins - case 6: - default: - mes "[Cool Event Corp. Staff]"; - mes "Cool Event Corp. is always"; - mes "striving to provide the best"; - mes "services for our customers."; - mes "Help us become the best by"; - mes "providing us with your opinions"; - mes "and honest feedback. Thank you."; - close2; - } - cutin "", 255; + callfunc "F_CoolEventCorp", + "Save:Use Storage:Teleport Service:Rent a Pushcart:Storage Password Service:Cancel", + "in the town of Veins","veins",204,103,"Rachel"; end; } diff --git a/kafras/functions_kafras.txt b/kafras/functions_kafras.txt index f378fa3..92c5942 100644 --- a/kafras/functions_kafras.txt +++ b/kafras/functions_kafras.txt @@ -5,7 +5,7 @@ //= Darlskies, Darkchild, Syrus22, Lupus, kobra_k88 (2.0) //= L0ne_W0lf //===== Current Version: ===================================== -//= 6.7 +//= 6.8 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -62,6 +62,7 @@ //= 6.5 Optimized. [Joseph] //= 6.6 Added Warp Points / View Points Function. [Joseph] //= 6.7 Added Rune Knight Kafra. [Euphy] +//= 6.8 Updated some functions and added VIP features. [Euphy] //============================================================ //=== Main Function ======================================================== @@ -214,19 +215,28 @@ function script F_KafStor { close; } // Unable to access Normal Storage (Insufficient Basic Skills) - if(basicskillcheck() && getskilllv("NV_BASIC") < 6){ + if(!callfunc("F_CanOpenStorage")){ mes "[Kafra Employee]"; // Niflheim Specific Message if (getarg(2) == 1) { mes "^666666S-s-ssoooorry,"; - mes "y-you're a-a-aaaa"; - mes "Nooviiice... N-neeeds"; - mes "B-basic sssskill l-level 6...^000000"; + if(Class == Job_Summoner) { + mes "y-you n-neeed"; + mes "N-new b-basic sssskill...^000000"; + } else { + mes "y-you're a-a-aaaa"; + mes "Nooviiice... N-neeeds"; + mes "B-basic sssskill l-level 6...^000000"; + } return; } mes "I'm sorry, but you"; - mes "need the Novice's"; - mes "Basic Skill Level 6 to"; + if(Class == Job_Summoner) + mes "need the New Basic Skill to"; + else { + mes "need the Novice's"; + mes "Basic Skill Level 6 to"; + } mes "use the Storage Service."; return; } @@ -292,7 +302,7 @@ function script F_KafTele { mes "your destination."; next; set .@menu$, ""; - for (set .@i, 0; .@i <= 6; set .@i, .@i + 1) + for (set .@i, 0; .@i <= getarraysize(@wrpD$); set .@i, .@i + 1) set .@menu$, .@menu$ + @wrpC$[.@i] + ":"; set .@j, select (.@menu$) - 1; if (@wrpC$[.@j] == "Cancel") return; @@ -340,9 +350,13 @@ function script F_KafCart { mes "[Kafra Employee]"; mes "I'm sorry, but the"; mes "Pushcart rental service"; - mes "is only available to Merchants,"; - mes "Blacksmiths, Master Smiths,"; - mes "Alchemists and Biochemists."; + if (checkre(0)) + mes "is only available to Merchant classes."; + else { + mes "is only available to Merchants,"; + mes "Blacksmiths, Master Smiths,"; + mes "Alchemists and Biochemists."; + } return 1; } // Make sure the invoking character does not have a cart already @@ -355,6 +369,12 @@ function script F_KafCart { mes "each customer at a time."; return 1; } + // Check if the player has the Pushcart skill + else if(getskilllv("MC_PUSHCART") == 0) { + mes "[Kafra Employee]"; + mes "You can only rent a cart after learning the \"Push Cart\" skill."; + return 1; + } // Consume "Free Ticket for the Cart Service" if available. // Do not consume if in Guild castle. if(countitem(7061) > 0 && getarg(0) != 2) delitem 7061,1; @@ -567,7 +587,7 @@ function script F_EntKafCode { set @kafcode_try,@kafcode_try+1; if(@kafcode_try>10) { set @kafcode_try,0; - logmes "Hack: Tried to fit storage password."; + logmes "Tried to fit storage password."; } if(input(@code_) == 1) { mes "You can't use such big password."; @@ -591,7 +611,7 @@ function script F_KafSet { cleararray @viewpY[0],"",getarraysize(@viewpY); if (strnpcinfo(4) == "prontera") { setarray @wrpD$[0], "Izlude", "Geffen", "Payon", "Morroc", "Orc Dungeon", "Alberta"; - setarray @wrpP[0], 600, 1200, 1200, 1200, 1200, 1800; + setarray @wrpP[0], 600, 1200, 1200, 1200, 1700, 1800; setarray @viewpX[0], 151, 29, 282, 152; setarray @viewpY[0], 29, 207, 200, 326; } else if (strnpcinfo(4) == "alberta") { @@ -610,7 +630,7 @@ function script F_KafSet { setarray @wrpP[0], 1200, 1200; } else if (strnpcinfo(4) == "geffen") { setarray @wrpD$[0], "Prontera", "Al De Baran", "Orc Dungeon", "Mjolnir Dead Pit"; - setarray @wrpP[0], 1200, 1200, 1200, 1700; + setarray @wrpP[0], 1200, 1200, 1700, 1700; setarray @viewpX[0], 120, 203; setarray @viewpY[0], 62, 123; } else if (strnpcinfo(4) == "izlude") { @@ -636,8 +656,15 @@ function script F_KafSet { setarray @wrpD$[0], "Izlude", "Geffen", "Payon", "Morroc", "Alberta"; setarray @wrpP[0], 600, 1200, 1200, 1200, 1800; } + + // VIP pricing varies across the regional servers; this is most practical. + if (VIP_SCRIPT && !vip_status(1)) { + for (set .@i, 0; .@i < getarraysize(@wrpD$); set .@i, .@i + 1) + setd "@wrpP["+.@i+"]",getd("@wrpP["+.@i+"]") * 2; + } + for (set .@i, 0; .@i < getarraysize(@wrpD$); set .@i, .@i + 1) - setd "@wrpC$["+.@i+"]",getd("@wrpD$["+.@i+"]")+" -> "+getd("@wrpP["+.@i+"]"); + setd "@wrpC$["+.@i+"]",getd("@wrpD$["+.@i+"]")+" -> "+getd("@wrpP["+.@i+"]")+" z"; setd "@wrpC$["+getarraysize(@wrpC$)+"]","Cancel"; return; } \ No newline at end of file diff --git a/kafras/kafras.txt b/kafras/kafras.txt index a278999..cbb718e 100644 --- a/kafras/kafras.txt +++ b/kafras/kafras.txt @@ -415,7 +415,7 @@ cmd_fild07,136,134,4 script Kafra Employee::kaf_cmd_fild07 721,{ mes "How may I assist you?"; callfunc "F_Kafra",5,0,1,40,820; if (checkre(0)) - savepoint strnpcinfo(4),129,97; + areasavepoint strnpcinfo(4),127,140,129,142; else savepoint "izlude",94,103; callfunc "F_KafEnd",0,1,"in the city of Izlude"; @@ -598,7 +598,7 @@ niflheim,202,180,3 script Kafra Employee::kaf_niflheim 791,{ // Dungeons and Fields //============================================================ // - Byalan Island -izlu2dun,106,58,8 script Kafra Employee::kaf_izlu2dun 115,{ +izlu2dun,106,58,0 script Kafra Employee::kaf_izlu2dun 115,{ cutin "kafra_03",2; if (!checkre(0) && BaseJob == Job_Novice && job_merchant_q2 > 0) { // Merchant Job Change Quest diff --git a/mapflag/gvg.txt b/mapflag/gvg.txt index 5f6aef9..773af12 100644 --- a/mapflag/gvg.txt +++ b/mapflag/gvg.txt @@ -10,6 +10,7 @@ //= Players can attack other guilds, and will have their guild //= icons shown. WoE damage reductions will also take place. //= gvg: Turns on GvG mode. +//= gvg_noparty: Ignores party alliances on GVG-enabled maps. //= gvg_castle: Describes castle maps for WoE. //= gvg_dungeon: Describes dungeon maps for WoE. //===== Additional Comments: ================================= @@ -25,6 +26,12 @@ guild_vs3 mapflag gvg guild_vs4 mapflag gvg guild_vs5 mapflag gvg +guild_vs1 mapflag gvg_noparty +guild_vs2 mapflag gvg_noparty +guild_vs3 mapflag gvg_noparty +guild_vs4 mapflag gvg_noparty +guild_vs5 mapflag gvg_noparty + // Guild Castles ========== aldeg_cas01 mapflag gvg_castle aldeg_cas02 mapflag gvg_castle @@ -57,6 +64,37 @@ arug_cas03 mapflag gvg_castle arug_cas04 mapflag gvg_castle arug_cas05 mapflag gvg_castle +aldeg_cas01 mapflag gvg_noparty +aldeg_cas02 mapflag gvg_noparty +aldeg_cas03 mapflag gvg_noparty +aldeg_cas04 mapflag gvg_noparty +aldeg_cas05 mapflag gvg_noparty +gefg_cas01 mapflag gvg_noparty +gefg_cas02 mapflag gvg_noparty +gefg_cas03 mapflag gvg_noparty +gefg_cas04 mapflag gvg_noparty +gefg_cas05 mapflag gvg_noparty +payg_cas01 mapflag gvg_noparty +payg_cas02 mapflag gvg_noparty +payg_cas03 mapflag gvg_noparty +payg_cas04 mapflag gvg_noparty +payg_cas05 mapflag gvg_noparty +prtg_cas01 mapflag gvg_noparty +prtg_cas02 mapflag gvg_noparty +prtg_cas03 mapflag gvg_noparty +prtg_cas04 mapflag gvg_noparty +prtg_cas05 mapflag gvg_noparty +schg_cas01 mapflag gvg_noparty +schg_cas02 mapflag gvg_noparty +schg_cas03 mapflag gvg_noparty +schg_cas04 mapflag gvg_noparty +schg_cas05 mapflag gvg_noparty +arug_cas01 mapflag gvg_noparty +arug_cas02 mapflag gvg_noparty +arug_cas03 mapflag gvg_noparty +arug_cas04 mapflag gvg_noparty +arug_cas05 mapflag gvg_noparty + //Uncomment to disable monsters teleporting (prevents them from "escaping" when rude attacked) //aldeg_cas01 mapflag monster_noteleport //aldeg_cas02 mapflag monster_noteleport @@ -96,6 +134,12 @@ nguild_gef mapflag gvg_castle nguild_pay mapflag gvg_castle nguild_prt mapflag gvg_castle +//n_castle mapflag gvg_noparty +nguild_alde mapflag gvg_noparty +nguild_gef mapflag gvg_noparty +nguild_pay mapflag gvg_noparty +nguild_prt mapflag gvg_noparty + //nguild_alde mapflag monster_noteleport //nguild_gef mapflag monster_noteleport //nguild_pay mapflag monster_noteleport diff --git a/mapflag/nosave.txt b/mapflag/nosave.txt index 26c0251..3296ea0 100644 --- a/mapflag/nosave.txt +++ b/mapflag/nosave.txt @@ -31,7 +31,7 @@ job_cru mapflag nosave SavePoint job_duncer mapflag nosave SavePoint job_monk mapflag nosave SavePoint monk_test mapflag nosave SavePoint -monk_in mapflag nosave SavePoint +//monk_in mapflag nosave SavePoint in_rogue mapflag nosave SavePoint job_sage mapflag nosave SavePoint // Ext diff --git a/mapflag/noteleport.txt b/mapflag/noteleport.txt index 6f348cd..f9a723f 100644 --- a/mapflag/noteleport.txt +++ b/mapflag/noteleport.txt @@ -391,6 +391,7 @@ schg_que01 mapflag noteleport arug_que01 mapflag noteleport man_in01 mapflag noteleport spl_in01 mapflag noteleport +spl_in02 mapflag noteleport //Orc's Memory =================== 1@orcs mapflag noteleport diff --git a/mapflag/skill_duration.txt b/mapflag/skill_duration.txt new file mode 100644 index 0000000..8b5e813 --- /dev/null +++ b/mapflag/skill_duration.txt @@ -0,0 +1,25 @@ +//===== rAthena Script ======================================= +//= Mapflag: Adjust Skill Duration. +//===== By: ================================================== +//= rAthena Dev Team +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= This mapflag allows you to control the duration of unit +//= skills in any map. +//= Example (1): +//= prontera mapflag adjust_unit_duration PR_SANCTUARY 50 +//= Halves the duration of Sanctuary in Prontera. +//= +//= Example (2): +//= prontera mapflag adjust_unit_duration WZ_QUAGMIRE 250 +//= Increases duration of Quagmire by 2.5 times in Prontera. +//===== Disclaimer: ========================================== +//= Be aware that some skill units have their visual effect +//= durations not controlled by the server (e.g. Storm Gust). +//===== Additional Comments: ================================= +//= 1.0 - Initial script. +//============================================================ + diff --git a/mapflag/skill_modifier.txt b/mapflag/skill_modifier.txt new file mode 100644 index 0000000..8c747ca --- /dev/null +++ b/mapflag/skill_modifier.txt @@ -0,0 +1,22 @@ +//===== rAthena Script ======================================= +//= Mapflag: Adjust Skill Damage. +//===== By: ================================================== +//= rAthena Dev Team +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= This mapflag allows you to modify the damage of any skill +//= in any map. +//= Example (1): +//= prontera mapflag adjust_skill_damage MG_FIREBOLT 50 +//= Halves the damage of Firebolt in Prontera. +//= +//= Example (2): +//= prontera mapflag adjust_skill_damage MG_FIREBOLT 200 +//= Doubles the damage of Firebolt in Prontera. +//===== Additional Comments: ================================= +//= 1.0 - Initial script. +//============================================================ + diff --git a/merchants/advanced_refiner.txt b/merchants/advanced_refiner.txt index 2baa30e..36ae63b 100644 --- a/merchants/advanced_refiner.txt +++ b/merchants/advanced_refiner.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= L0ne_W0lf //===== Current Version: ===================================== -//= 1.5 +//= 1.6 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -25,6 +25,7 @@ //= 1.4a Added 'disable_items' command. [Euphy] //= 1.4b Fixed coordinates. [Euphy] //= 1.5 Some official script updates. [Euphy] +//= 1.6 Added VIP features. [Euphy] //============================================================ payon,157,146,6 script Suhnbi#cash 85,{ @@ -100,10 +101,23 @@ payon,157,146,6 script Suhnbi#cash 85,{ close; S_RefineValidate: + set .@price, getarg(2); + + // If the VIP system is enabled, the prices for non-VIP players are considerably higher. + if (VIP_SCRIPT && !vip_status(1)) { + switch(getarg(0)){ + case 0: set .@price, .@price * 10; break; + case 1: set .@price, .@price * 40; break; + case 2: set .@price, .@price * 50; break; + case 3: set .@price, .@price * 2; break; + case 4: set .@price, .@price * 2; break; + } + } + mes "[Suhnbi]"; if (getarg(0)) mes "You want to refine a level " + getarg(0) + " weapon?"; - mes "To refine that, you'll need to have one ^ff9999" + getitemname(getarg(1)) + "^000000 and " + getarg(2) + " zeny."; + mes "To refine that, you'll need to have one ^ff9999" + getitemname(getarg(1)) + "^000000 and " + .@price + " zeny."; mes "Would you like to continue?"; next; if(select("Yes:No") == 1) { @@ -147,9 +161,9 @@ S_RefineValidate: } } } - if (countitem(getarg(1)) > 0 && Zeny > getarg(2)) { + if (countitem(getarg(1)) > 0 && Zeny > .@price) { delitem getarg(1),1; - set Zeny, Zeny - getarg(2); + set Zeny, Zeny - .@price; return; } mes "[Suhnbi]"; diff --git a/merchants/ammo_boxes.txt b/merchants/ammo_boxes.txt index 59db248..db83dd4 100644 --- a/merchants/ammo_boxes.txt +++ b/merchants/ammo_boxes.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= rAthena Dev Team //===== Current Version: ===================================== -//= 1.5 +//= 2.0a //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -16,11 +16,13 @@ //= 1.3 Updated to match AEGIS script. [Kisuka] //= 1.4 Updated to match AEGIS script again. [Masao] //= 1.5 Moved Izlude duplicate to pre-re/re paths. [Euphy] +//= 2.0 Clean-up. [Capuche] +//= 2.0a Rebellion support (BaseJob -> BaseClass) [exneval] //============================================================ -alberta,118,157,3 script Magazine Dealer Kenny::mdk 83,{ - if (BaseJob == Job_Gunslinger) { - mes "[Kenny]"; +alberta,118,157,3 script Magazine Dealer Kenny::mdk 4_M_01,{ + mes "[Kenny]"; + if (BaseClass == Job_Gunslinger) { mes "Welcome to my Magazine Shop."; mes "As you may know, large numbers"; mes "of bullets can be carried more"; @@ -28,14 +30,14 @@ alberta,118,157,3 script Magazine Dealer Kenny::mdk 83,{ mes "anything in particular?"; next; switch(select("Wind Sphere Pack:Shadow Sphere Pack:Poison Sphere Pack:Water Sphere Pack:Fire Sphere Pack:Cartridge:Blood Cartridge:Silver Cartridge:Cancel")) { - case 1: callfunc "Func_Casing",13204,12144; break; - case 2: callfunc "Func_Casing",13206,12145; break; - case 3: callfunc "Func_Casing",13205,12146; break; - case 4: callfunc "Func_Casing",13207,12147; break; - case 5: callfunc "Func_Casing",13203,12148; break; - case 6: callfunc "Func_Casing",13200,12149; break; - case 7: callfunc "Func_Casing",13202,12150; break; - case 8: callfunc "Func_Casing",13201,12151; break; + case 1: callsub S_Casing,13204,12144;// , + case 2: callsub S_Casing,13206,12145; + case 3: callsub S_Casing,13205,12146; + case 4: callsub S_Casing,13207,12147; + case 5: callsub S_Casing,13203,12148; + case 6: callsub S_Casing,13200,12149; + case 7: callsub S_Casing,13202,12150; + case 8: callsub S_Casing,13201,12151; case 9: mes "[Kenny]"; mes "Well, if you ever find"; @@ -46,7 +48,6 @@ alberta,118,157,3 script Magazine Dealer Kenny::mdk 83,{ close; } } - mes "[Kenny]"; mes "Welcome to my shop."; mes "Here, I provide Magazines"; mes "and Cartridges for Gunslingers."; @@ -60,19 +61,21 @@ alberta,118,157,3 script Magazine Dealer Kenny::mdk 83,{ mes "them my way. You can never"; mes "have too many bullets."; close; -} -function script Func_Casing { +S_Casing: + .@bullet_id = getarg(0); + .@pack_id = getarg(1); + mes "[Kenny]"; mes "Now, you can trade"; - mes "500 "+getitemname(getarg(0))+"s"; - mes "and 500 zeny for 1 "+getitemname(getarg(1))+", so make sure"; + mes callfunc("F_InsertPlural",500,getitemname(.@bullet_id)); + mes "and 500 zeny for 1 "+getitemname(.@pack_id)+", so make sure"; mes "you have sufficient bullets"; mes "and zeny for this exchange."; next; mes "[Kenny]"; - mes "You can exchange 500 "+getitemname(getarg(0))+"s and 500 zeny"; - mes "with 1 "+getitemname(getarg(1))+"."; + mes "You can exchange "+callfunc("F_InsertPlural",500,getitemname(.@bullet_id))+" and 500 zeny"; + mes "with 1 "+getitemname(.@pack_id)+"."; next; mes "[Kenny]"; mes "Remember that I can't give"; @@ -82,56 +85,48 @@ function script Func_Casing { mes "want to receive. If you want to cancel, then just enter ''0.''"; next; input .@amount; + mes "[Kenny]"; if (.@amount > 50 || .@amount == 0) { - mes "[Kenny]"; mes "Hey, I can't give you"; mes "that many Magazines."; mes "Please try again, and"; mes "enter a number no"; mes "greater than 50."; - close; } - if (countitem(getarg(0)) >= (500*.@amount)) { + else if (countitem(.@bullet_id) >= (500*.@amount)) { if (Zeny >= (500*.@amount)) { - if (checkweight(getarg(1),.@amount) == 0) { - mes "[Kenny]"; + if (checkweight(.@pack_id,.@amount) == 0) { mes "Hey, you've got a lot"; mes "of junk crammed in your"; mes "Inventory. Free up some"; mes "space, and then come back"; mes "and trade your bullets for"; mes "some Magazines later, okay?"; - close; - }else{ - mes "[Kenny]"; + } else { mes "Alright, here are"; mes "your Magazines. Thanks"; mes "for visiting my shop, and"; mes "I hope that you use all"; mes "of your ammo wisely."; - set Zeny,Zeny-500*.@amount; - delitem getarg(0),500*.@amount; - getitem getarg(1),.@amount; - close; + Zeny = Zeny -500*.@amount; + delitem .@bullet_id,(500*.@amount); + getitem .@pack_id,.@amount; } } else { - mes "[Kenny]"; mes "Sorry, but you don't"; mes "have enough zeny for"; mes "this Magazine exchange."; mes "Come back to my shop"; mes "after you've saved up"; mes "some more money."; - close; } } else { - mes "[Kenny]"; mes "Sorry, but you don't"; mes "have enough bullets for"; mes "this Magazine exchange."; mes "Maybe you should double"; mes "check your Inventory, and"; mes "then come back to me later."; - close; } + close; } diff --git a/merchants/ammo_dealer.txt b/merchants/ammo_dealer.txt index 2a56253..5ef2311 100644 --- a/merchants/ammo_dealer.txt +++ b/merchants/ammo_dealer.txt @@ -3,7 +3,7 @@ //===== By =================================================== //= Playtester, Paradox924X //===== Version ============================================== -//= 1.5 +//= 2.0a //===== Compatible With ====================================== //= rAthena SVN //===== Description ========================================== @@ -17,11 +17,13 @@ //= 1.4 Updated to match AEGIS script. [Kisuka] //= 1.5 Updated to match AEGIS script again. [Masao] //= 1.6 Moved Izlude duplicate to pre-re/re paths. [Euphy] +//= 2.0 Clean-up. [Capuche] +//= 2.0a Rebellion support (BaseJob -> BaseClass) [exneval] //============================================================ -alberta,118,160,3 script Bullet Dealer Tony#alb::bdt 86,{ - if (BaseJob == Job_Gunslinger) { - mes "[Tony]"; +alberta,118,160,3 script Bullet Dealer Tony#alb::bdt 4_M_04,{ + mes "[Tony]"; + if (BaseClass == Job_Gunslinger) { mes "I'm Tony, the Bullet Dealer."; mes "Come to me whenever you're"; mes "short on ammo. Just bring me"; @@ -29,11 +31,11 @@ alberta,118,160,3 script Bullet Dealer Tony#alb::bdt 86,{ mes "you the bullets you need."; next; switch(select("Poison Sphere:Flare Sphere:Lighting Sphere:Blind Sphere:Freezing Sphere:Cancel")) { - case 1: callfunc "Bullet_Trade",937,10,13205; break; - case 2: callfunc "Bullet_Trade",7097,2,13203; break; - case 3: callfunc "Bullet_Trade",7053,3,13204; break; - case 4: callfunc "Bullet_Trade",1024,5,13206; break; - case 5: callfunc "Bullet_Trade",7054,2,13207; break; + case 1: callsub S_BulletTrade,937,10,13205;// , , + case 2: callsub S_BulletTrade,7097,2,13203; + case 3: callsub S_BulletTrade,7053,3,13204; + case 4: callsub S_BulletTrade,1024,5,13206; + case 5: callsub S_BulletTrade,7054,2,13207; case 6: mes "[Tony]"; mes "Changed your mind?"; @@ -45,7 +47,6 @@ alberta,118,160,3 script Bullet Dealer Tony#alb::bdt 86,{ close; } } - mes "[Tony]"; mes "Hey, I'm Tony. I'm in"; mes "charge of distributing"; mes "and making bullets for"; @@ -59,16 +60,19 @@ alberta,118,160,3 script Bullet Dealer Tony#alb::bdt 86,{ mes "I can only do business with"; mes "fully fledged Gunslingers."; close; -} -function script Bullet_Trade { +S_BulletTrade: + .@required_id = getarg(0); + .@required_amount = getarg(1); + .@bullet_id = getarg(2); + mes "[Tony]"; mes "For every set of"; - mes "30 "+getitemname(getarg(2))+"s,"; + mes callfunc("F_InsertPlural",30,getitemname(.@bullet_id))+","; mes "you must give me"; mes "1 Emveretarcon,"; mes "1 Phracon, and"; - mes ""+getarg(1)+" "+getitemname(getarg(0))+"."; + mes callfunc("F_InsertPlural",.@required_amount,getitemname(.@required_id))+"."; next; mes "[Tony]"; mes "Remember that I can give"; @@ -79,47 +83,41 @@ function script Bullet_Trade { mes "cancel, then just enter ''0.''"; next; input .@amount; + mes "[Tony]"; if (.@amount < 1 || .@amount > 500) { - mes "[Tony]"; mes "Hey, I can't give you"; mes "that many bullets. Don't"; mes "forget to enter a number"; mes "that's no higher than 500"; mes "if you want to trade your"; mes "items for some bullets."; - close; } - if (countitem(1010) >= .@amount && countitem(1011) >= .@amount && countitem(getarg(0)) >= (.@amount*getarg(1))) { - if (checkweight(getarg(2),.@amount * 30) == 0) { - mes "[Tony]"; + else if (countitem(1010) >= .@amount && countitem(1011) >= .@amount && countitem(.@required_id) >= (.@amount*.@required_amount)) { + if (checkweight(.@bullet_id,.@amount * 30) == 0) { mes "Eh? Your Inventory doesn't"; mes "have enough space for this"; mes "many bullets. Come back later"; mes "after you make more space"; mes "available. Try putting some of"; mes "your things into Kafra Storage."; - close; } else { - mes "[Tony]"; mes "Great, everything seems"; mes "to be in order. Let me take"; mes "these materials, and here are"; mes "your bullets. It's a pleasure"; mes "to do business with you~"; - delitem 1010,.@amount; - delitem 1011,.@amount; - delitem getarg(0),.@amount * getarg(1); - getitem getarg(2),.@amount * 30; - close; + delitem 1010,.@amount; //Phracon + delitem 1011,.@amount; //Emveretarcon + delitem .@required_id,.@amount * .@required_amount; + getitem .@bullet_id,.@amount * 30; } } else { - mes "[Tony]"; mes "Huh. It looks like you"; mes "don't have enough materials"; mes "for that many bullets. Well,"; mes "it's no problem. Just come"; mes "back after gathering everything"; mes "that you need, okay?"; - close; } + close; } diff --git a/merchants/buying_shops.txt b/merchants/buying_shops.txt index 5c27443..7498f93 100644 --- a/merchants/buying_shops.txt +++ b/merchants/buying_shops.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.1a +//= 1.1b //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -12,11 +12,18 @@ //= 1.0 First version. [Kisuka] //= 1.1 Added Catalog Magician. [Euphy] //= 1.1a Moved Catalog Magician to Renewal path. [Euphy] +//= 1.1b Added missing weight checks. [Euphy] //============================================================ -// Black Marketeer (Buy Licenses - Non-Merchant Classes) +// Black Marketeer (Buy Licenses - Non-Merchant Classes) :: qskill_buy_store //============================================================ que_job01,68,84,1 script Black Marketeer#Buying 881,{ + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 2400) { + mes "[Mr. Jass]"; + mes "You're too greedy, even compared to someone like me!"; + mes "Why don't you go lighten your bag first?"; + close; + } if (getskilllv("ALL_BUYING_STORE") == 1) { mes "[Mr. Jass]"; mes "Hey, you already made a contract with Hugh."; @@ -63,7 +70,7 @@ que_job01,68,84,1 script Black Marketeer#Buying 881,{ mes "Ha... Ha ha ha!"; mes "Mr. Hugh, I'll take over your license business. You'll see!"; mes "*Giggle Giggle*"; - getitem 12548,.@input; //Shabby_Purchase_Street + getitem 12548,.@input; //Buy_Market_Permit2 set Zeny,Zeny-(.@input*500); } close; @@ -95,6 +102,10 @@ que_job01,68,84,1 script Black Marketeer#Buying 881,{ // Purchasing Team (Learn Skill - Merchant Classes) //============================================================ alberta_in,58,52,4 script Purchasing Team#Buying 59,{ + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 2400) { + mes "- You cannot converse or perform the quest because you are carrying too many items. -"; + close; + } mes "[Mr. Hugh]"; if (BaseClass == Job_Merchant && getskilllv("MC_VENDING") >= 1) { if (getskilllv("ALL_BUYING_STORE") == 1) { @@ -127,7 +138,7 @@ alberta_in,58,52,4 script Purchasing Team#Buying 59,{ mes "but you don't seem to have enough money."; } else { mes "Thank you for your patronage."; - getitem 6377,.@input; //Buy_Stall_Permit + getitem 6377,.@input; //Buy_Market_Permit set Zeny,Zeny-(.@input*200); } close; diff --git a/merchants/coin_exchange.txt b/merchants/coin_exchange.txt index b5894be..360ecfd 100644 --- a/merchants/coin_exchange.txt +++ b/merchants/coin_exchange.txt @@ -22,8 +22,8 @@ mes .@n$; if (isequipped(2782) && ep13_2_rhea == 100) { if (!checkweight(1201,1)) { - mes "It looks like you're carrying too many things."; - mes "Why not put some of your items in storage and come back?"; + mes "You look like a traveller."; + mes "You look carrying too much, why don't lighten your body first?"; close; } mes "Hello."; @@ -86,4 +86,4 @@ } } man_in01,286,16,1 duplicate(merchant_13_2) Merchant of Manuk 454 -spl_in01,110,326,5 duplicate(merchant_13_2) Merchant of Splendide 439 \ No newline at end of file +spl_in01,110,326,5 duplicate(merchant_13_2) Merchant of Splendide 439 diff --git a/merchants/refine.txt b/merchants/refine.txt index 0ef0486..751c6ff 100644 --- a/merchants/refine.txt +++ b/merchants/refine.txt @@ -3,64 +3,19 @@ //===== By: ================================================== //= Syrus22 (1.1) dafide18 (1.4) Skotlex (1.5) //===== Current Version: ===================================== -//= 3.3 +//= 3.4 //===== Compatible With: ===================================== -//= Any Athena Version +//= rAthena SVN //===== Description: ========================================= //= Refining NPCs and Metal Salesmen. //===== Additional Comments: ================================= -//= 1.0 by A bunch of people! -//= Syrus22 - Completely redid the script using functions... also -//= added the option for auto safe refining and multiple refining. -//= 1.1 Negative input bug fixed [Lupus] -//= 1.2 Added additional reparimen in morroc and payon. Added -//= Christopher the blacksmith in Geffen. Edited some dialogue [kobra_k88] -//= 1.3 New Payon Locations [Darkchild] -//= Corrected zeny subtraction thx to jpnmania77.[kobra_k88] -//= 1.3a Temporary corrected an exploit. Need to check sources -//= to fully fix bug [Shinigami] -//= Fixed repairman prices [shadowlady] -//= Fixed bug that skips requirements thanks to sir_loon [massdriller] -//= Fixed itemid error thanks to -Vitamin- [massdriller] -//= 1.4 check again item in refining procedure to avoid -//= hacker that can change item [dafide18] -//= 1.5 Fixed crashing due to badly used callfunc's [Skotlex] -//= Lupus, don't rollback this important fix again! >.< -//= 1.5a Corrected an unneeded callfunc, fixed the anti-bot -//= exploit ruining the safe refine loop. [Skotlex] -//= 1.5b Fixed Spelling mistakes. [Nexon] -//= 1.6 Replaced all breaks for ends as per the new script engine [Skotlex] -//= 1.7 Added Einbroch Refiners (Custom names ^^;) and a duplicated BS Shop. [Poki#3] -//= 1.8 Added Lighthalzen Refiners (Custom names again ^^;) [Poki#3] -//= 1.8a Fixed wrong indication thanks to NeoSaro [Lupus] -//= 1.9 Rewrote repairman, removed the Steel from repair cost [DracoRPG] -//= 2.0 Fixed missed equppment presence check. Thx2 Coltaro [Lupus] -//= 2.0a Added weight checks thanks to Neouni [Playtester] -//= 2.0b Fixed the names of Lighthalzen and Einbroch refiners thanks to Maud_Dib [Kargha] -//= 2.1 Removed Duplicates [Silent] -//= 2.2 Changed name from "Emvertacon" to "Emveretarcon". [Samuray22] -//= Thanks to Barron-Monster. -//= 2.2b Changed name from "Pharacon" to "Phracon". [Samuray22] -//= Thanks to Barron-Monster. -//= 2.3 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf] -//= 2.4 Updated Refiner function. cleaner, and less dated. [L0ne_w0lf] -//= 2.5 Rather large update to the refiner and merchants. :D [L0ne_W0lf] -//= 2.6 Fixed a few bugs with creating pure stones. [L0ne_W0lf] -//= 2.7 Refiner function accepts additional paramater. [L0ne_W0lf] -//= 0 = No special features; 1 = new refining features -//= Updated Repairmen and function. No longer shows menu. -//= 2.7a A couple touch-ups to the repairman function. [L0ne_w0lf] -//= 2.8 Changed the nonexistent variable .@matname$ for getitemname(.@material). (bugreport:2340) [Samuray22] -//= 2.8 Added proper Blacksmith Supplier to Einroch. [L0ne_W0lf] -//= Updated dated features comment to reflect new usage. -//= 2.8a Small bugfix. (bugreport:2418) [Paradox924X] -//= 2.9 Moved Morroc repairman to Morroc Ruins. [L0ne_W0lf] //= 3.0 Updated several NPC names and locations. [Xantara] //= Added WoE map Refiners. //= 3.1 Added the new refinement & Ore creation NPC's for +11 and above Refinement. [Masao] //= 3.2 Moved some scripts to Renewal file, other minor changes. [Euphy] //= 3.2a Added 'disable_items' command. [Euphy] //= 3.3 Some official script updates. [Euphy] +//= 3.4 Added VIP features. [Euphy] //============================================================ // Christopher: Geffen Blacksmith @@ -657,35 +612,48 @@ function script refinemain { switch(getequipweaponlv(.@part)){ case 0: //Refine Armor set .@price,2000; - set .@material,985; + set .@material,985; //Elunium set .@safe,4; break; case 1: //Refine Level 1 Weapon set .@price,50; - set .@material,1010; - set .@safe,7; + set .@material,1010; //Phracon + set .@safe,7; break; case 2: //Refine Level 2 Weapon set .@price,200; - set .@material,1011; - set .@safe,6; + set .@material,1011; //Emveretarcon + set .@safe,6; break; case 3: //Refine Level 3 Weapon set .@price,5000; - set .@material,984; - set .@safe,5; + set .@material,984; //Oridecon + set .@safe,5; break; case 4: //Refine Level 4 Weapon set .@price,20000; - set .@material,984; - set .@safe,4; + set .@material,984; //Oridecon + set .@safe,4; break; case 5: //Refine other stuff? set .@price,2000; - set .@material,985; - set .@safe,4; + set .@material,985; //Elunium + set .@safe,4; break; } + + // If the VIP system is enabled, the prices for non-VIP players are considerably higher. + if (VIP_SCRIPT && !vip_status(1)) { + switch(getequipweaponlv(.@part)) { + case 0: set .@price, .@price * 10; break; + case 1: set .@price, .@price * 40; break; + case 2: set .@price, .@price * 50; break; + case 3: set .@price, .@price * 2; break; + case 4: set .@price, .@price * 2; break; + case 5: set .@price, .@price * 10; break; + } + } + if(.@features != 1) { mes "[" + getarg(0) + "]"; mes "To refine this I need"; @@ -740,13 +708,9 @@ function script refinemain { set Zeny, Zeny-.@price; delitem .@material,1; - //custom checks - if(getequipisequiped(.@part) == 0) { // hacker has removed the item (not changed, why?) - mes "[" + getarg(0) + "]"; - mes "Look here... you don't have any Items on..."; - close; - } - if(getequiprefinerycnt(.@part) != .@refinerycnt || getequipid(.@part) != .@refineitemid) { // hacker has changed the item + // anti-hack + if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) || + callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt)) { mes "[" + getarg(0) + "]"; emotion e_an; mes "Wait a second..."; @@ -1269,3 +1233,54 @@ function script repairmain { close; } } + +//============================================================ +// Old changelog +//============================================================ +//= 1.0 by A bunch of people! +//= Syrus22 - Completely redid the script using functions... also +//= added the option for auto safe refining and multiple refining. +//= 1.1 Negative input bug fixed [Lupus] +//= 1.2 Added additional reparimen in morroc and payon. Added +//= Christopher the blacksmith in Geffen. Edited some dialogue [kobra_k88] +//= 1.3 New Payon Locations [Darkchild] +//= Corrected zeny subtraction thx to jpnmania77.[kobra_k88] +//= 1.3a Temporary corrected an exploit. Need to check sources +//= to fully fix bug [Shinigami] +//= Fixed repairman prices [shadowlady] +//= Fixed bug that skips requirements thanks to sir_loon [massdriller] +//= Fixed itemid error thanks to -Vitamin- [massdriller] +//= 1.4 check again item in refining procedure to avoid +//= hacker that can change item [dafide18] +//= 1.5 Fixed crashing due to badly used callfunc's [Skotlex] +//= Lupus, don't rollback this important fix again! >.< +//= 1.5a Corrected an unneeded callfunc, fixed the anti-bot +//= exploit ruining the safe refine loop. [Skotlex] +//= 1.5b Fixed Spelling mistakes. [Nexon] +//= 1.6 Replaced all breaks for ends as per the new script engine [Skotlex] +//= 1.7 Added Einbroch Refiners (Custom names ^^;) and a duplicated BS Shop. [Poki#3] +//= 1.8 Added Lighthalzen Refiners (Custom names again ^^;) [Poki#3] +//= 1.8a Fixed wrong indication thanks to NeoSaro [Lupus] +//= 1.9 Rewrote repairman, removed the Steel from repair cost [DracoRPG] +//= 2.0 Fixed missed equppment presence check. Thx2 Coltaro [Lupus] +//= 2.0a Added weight checks thanks to Neouni [Playtester] +//= 2.0b Fixed the names of Lighthalzen and Einbroch refiners thanks to Maud_Dib [Kargha] +//= 2.1 Removed Duplicates [Silent] +//= 2.2 Changed name from "Emvertacon" to "Emveretarcon". [Samuray22] +//= Thanks to Barron-Monster. +//= 2.2b Changed name from "Pharacon" to "Phracon". [Samuray22] +//= Thanks to Barron-Monster. +//= 2.3 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf] +//= 2.4 Updated Refiner function. cleaner, and less dated. [L0ne_w0lf] +//= 2.5 Rather large update to the refiner and merchants. :D [L0ne_W0lf] +//= 2.6 Fixed a few bugs with creating pure stones. [L0ne_W0lf] +//= 2.7 Refiner function accepts additional paramater. [L0ne_W0lf] +//= 0 = No special features; 1 = new refining features +//= Updated Repairmen and function. No longer shows menu. +//= 2.7a A couple touch-ups to the repairman function. [L0ne_w0lf] +//= 2.8 Changed the nonexistent variable .@matname$ for getitemname(.@material). (bugreport:2340) [Samuray22] +//= 2.8 Added proper Blacksmith Supplier to Einroch. [L0ne_W0lf] +//= Updated dated features comment to reflect new usage. +//= 2.8a Small bugfix. (bugreport:2418) [Paradox924X] +//= 2.9 Moved Morroc repairman to Morroc Ruins. [L0ne_W0lf] +//============================================================ diff --git a/merchants/renters.txt b/merchants/renters.txt index 3cd0a61..e951be3 100644 --- a/merchants/renters.txt +++ b/merchants/renters.txt @@ -26,7 +26,8 @@ //= 2.2 Added warg checks. [Euphy] //============================================================ -// PecoPeco Breeder (for Knights)------------------------------------------- +// PecoPeco Breeder (for Knights) :: breeder +//============================================================ prontera,55,350,5 script Peco Peco Breeder#knt 105,{ if(Upper==0) set .@price,2500; //Normal Peco - default price if(Upper==1) set .@price,2500; //Armored Peco @@ -89,7 +90,8 @@ prontera,55,350,5 script Peco Peco Breeder#knt 105,{ } } -// Grand PecoPeco Breeder (for Crusaders)------------------------------------------- +// Grand PecoPeco Breeder (for Crusaders) +//============================================================ prontera,232,318,3 script Peco Peco Breeder#cru 105,{ if(Upper==0) set .@price,3500; //Normal Peco - default price if(Upper==1) set .@price,3500; //Armored Peco @@ -151,7 +153,8 @@ prontera,232,318,3 script Peco Peco Breeder#cru 105,{ } } -// Falcon Master-------------------------------------------------------------- +// Falcon Master :: breeder +//============================================================ hu_in01,381,304,5 script Falcon Breeder#hnt 105,{ if(Upper==0) set .@price,2500; //Normal Falcon - default price if(Upper==1) set .@price,2500; //Scarf Falcon @@ -159,7 +162,7 @@ hu_in01,381,304,5 script Falcon Breeder#hnt 105,{ mes "[Falcon Breeder]"; if (BaseJob == Job_Hunter) { - if (checkoption(Option_Wug) || checkoption(Option_Wugrider)) { + if (checkwug()) { mes "Um..."; mes "You can't rent a Falcon"; mes "until you dismiss your warg first!"; @@ -172,7 +175,7 @@ hu_in01,381,304,5 script Falcon Breeder#hnt 105,{ next; switch(select("Rent Falcon:Cancel")) { case 1: - if (checkoption(Option_Wug) || checkoption(Option_Wugrider)) { + if (checkwug()) { mes "[Falcon Breeder]"; mes "Um..."; mes "You can't rent a Falcon"; diff --git a/merchants/shops.txt b/merchants/shops.txt index 0e97652..a42e66c 100644 --- a/merchants/shops.txt +++ b/merchants/shops.txt @@ -3,9 +3,9 @@ //===== By: ================================================== //= rAthena Dev Team //===== Current Version: ===================================== -//= 3.4 +//= 3.5 //===== Compatible With: ===================================== -//= rAthena 1.0+ +//= rAthena SVN //===== Description: ========================================= //= Town shop NPCs. //===== Additional Comments: ================================= @@ -38,6 +38,7 @@ //= 3.2 Added Missing Items to the pet Groomers in prontera, payon, and yuno. BugReport:6680[Spre] //= 3.3 Moved more shops to Renewal file. [Euphy] //= 3.4 Moved Izlude shops to pre-re/re paths. [Streusel] +//= 3.5 Moved Ninja shops to Pre-RE/RE paths. [Euphy] //============================================================ //======================================================= @@ -66,9 +67,6 @@ alde_alche,38,184,3 shop Material Seller#alche 755,7143:-1,7141:-1,7140:-1,6248: ama_in01,89,28,5 shop Armor Dealer#ama 757,2211:-1,2401:-1,2403:-1,2501:-1,2503:-1,2101:-1,2103:-1,2305:-1,2321:-1,2332:-1,2328:-1,2627:-1 ama_in01,102,28,3 shop Weapon Dealer#ama 766,1207:-1,1216:-1,1107:-1,1122:-1,1116:-1,1154:-1,1407:-1,1457:-1,1354:-1,1519:-1 ama_in01,24,30,5 shop Tool Dealer#ama 763,1750:-1,1770:-1,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,1065:-1 -// Ninja Shops -que_ng,72,31,2 shop Boonji#nin 83,13250:-1,13251:-1,13252:-1,13253:-1,13254:-1 -que_ng,73,26,5 shop Boonray#nin 83,2117:-1,7521:-1,7522:-1,7523:-1,7524:-1 //======================================================= // Ayothaya @@ -143,7 +141,7 @@ hu_in01,94,313,3 shop Armor Dealer#hu 86,2224:-1,2232:-1,2226:-1,2101:-1,2103:-1 // Izlude //======================================================= izlude_in,60,127,4 shop Weapon Dealer#iz 72,1750:-1,1751:-1,1701:-1,1601:-1,1201:-1,1204:-1,1207:-1,1101:-1,1104:-1,1107:-1,1116:-1,1151:-1,1154:-1,1157:-1,1160:-1,1301:-1 -izlude_in,70,127,4 shop Armor Dealer#iz 62,2103:-1,2105:-1,2403:-1,2405:-1,2503:-1,2505:-1,2226:-1,2228:-1,2303:-1,2305:-1,2328:-1,2307:-1,2309:-1,2312:-1,2314:-1,2316:-1,2628:-1 +izlude_in,70,127,4 shop Armor Dealer#iz 62,2103:-1,2105:-1,2403:-1,2405:-1,2503:-1,2505:-1,2226:-1,2228:-1,2301:-1,2303:-1,2305:-1,2328:-1,2307:-1,2309:-1,2312:-1,2314:-1,2316:-1,2628:-1 //======================================================= // Jawaii diff --git a/merchants/socket_enchant.txt b/merchants/socket_enchant.txt index 82a8415..dbfdbb8 100644 --- a/merchants/socket_enchant.txt +++ b/merchants/socket_enchant.txt @@ -93,17 +93,23 @@ mes "This is some high risk territory!"; mes "Alright, which weapon would you like me to try adding a Slot?"; next; - switch(select("Hunter Bow:Survivor's Rod(INT):Zweihander:Flamberge:Infiltrator:Ballista:Stunner:Berserk:Claymore")) + switch(select("Hunter Bow:Survivor's Rod(INT):Zweihander:Flamberge:Infiltrator:Ballista:Stunner:Berserk:Claymore"+(checkre(0)?":Altea & Ares:RAG203:Peace Breaker:Tempest:Southern Cross:Blood Tears":""))) { - case 1: callfunc "Func_Socket",1718,1726,40,61,500,984,2,999,10; - case 2: callfunc "Func_Socket",1619,1620,40,61,500,984,5,999,10; - case 3: callfunc "Func_Socket",1168,1171,40,61,800,984,5,999,10; - case 4: callfunc "Func_Socket",1129,1149,40,61,500,984,2,999,10; - case 5: callfunc "Func_Socket",1261,1266,40,61,700,984,5,999,10; - case 6: callfunc "Func_Socket",1722,1727,40,61,500,984,5,999,10; - case 7: callfunc "Func_Socket",1522,1532,40,61,500,984,2,999,10; - case 8: callfunc "Func_Socket",1814,1816,40,61,500,984,5,999,10; - case 9: callfunc "Func_Socket",1163,1172,40,61,500,984,2,999,10; // NPC says "5 Oridecon" (Aegis) but takes only 2 + case 1: callfunc "Func_Socket", 1718, 1726,40,61,500,984,2,999,10; + case 2: callfunc "Func_Socket", 1619, 1620,40,61,500,984,5,999,10; + case 3: callfunc "Func_Socket", 1168, 1171,40,61,800,984,5,999,10; + case 4: callfunc "Func_Socket", 1129, 1149,40,61,500,984,2,999,10; + case 5: callfunc "Func_Socket", 1261, 1266,40,61,700,984,5,999,10; + case 6: callfunc "Func_Socket", 1722, 1727,40,61,500,984,5,999,10; + case 7: callfunc "Func_Socket", 1522, 1532,40,61,500,984,2,999,10; + case 8: callfunc "Func_Socket", 1814, 1816,40,61,500,984,5,999,10; + case 9: callfunc "Func_Socket", 1163, 1172,40,61,500,984,2,999,10; // NPC says "5 Oridecon" (Aegis) but takes only 2 + case 10: callfunc "Func_Socket",13122,13124,40,61,500,984,2,999,10; + case 11: callfunc "Func_Socket",13195,13190,40,61,500,984,2,999,10; + case 12: callfunc "Func_Socket",13194,13196,40,61,500,984,2,999,10; + case 13: callfunc "Func_Socket",13198,13199,40,61,700,984,5,999,10; + case 14: callfunc "Func_Socket",28201,28202,40,61,500,984,2,999,10; + case 15: callfunc "Func_Socket", 1271, 1295,40,61,500,984,5,999,10; } case 4: mes "[Seiyablem]"; @@ -112,7 +118,7 @@ mes "It'd be a near miracle if I can actually pull this off."; mes "Okay... Which weapon shall we try adding a Slot to?"; next; - switch(select("Gungnir:Poison Knife:Ice Pick:Sucsamad:Ginnungagap:Cutlas:Crescent Scythe:Survivor's Rod(DEX)")) + switch(select("Gungnir:Poison Knife:Ice Pick:Sucsamad:Ginnungagap:Cutlas:Crescent Scythe:Survivor's Rod(DEX)"+(checkre(0)?":Thorn Staff of Darkness":""))) { case 1: callfunc "Func_Socket", 1413, 1418,40,51,1000,984,5,999,10; case 2: callfunc "Func_Socket", 1239,13016,40,51,1000,984,5,999,10; @@ -122,6 +128,7 @@ case 6: callfunc "Func_Socket", 1135,13400,40,51,1000,984,5,999,10; case 7: callfunc "Func_Socket", 1466, 1476,40,51,1000,984,5,999,10; case 8: callfunc "Func_Socket", 1617, 1618,40,51,2000,984,5,999,10; + case 9: callfunc "Func_Socket", 1636, 1664,40,51,2000,984,5,999,10; } } case 2: diff --git a/merchants/socket_enchant2.txt b/merchants/socket_enchant2.txt index 05bed72..7daeba4 100644 --- a/merchants/socket_enchant2.txt +++ b/merchants/socket_enchant2.txt @@ -33,10 +33,10 @@ mes "what I do, and take pride in it."; next; mes "[Leablem]"; - mes "I've learned most of the things from my brother, Seyablem,"; + mes "I've learned most of the things from my brother, Seiyablem,"; mes "but I think I still have a lot to learn."; mes "So please understand my slotting services are limited,"; - mes "unlike my brother Seyablem."; + mes "unlike my brother Seiyablem."; next; mes "[Leablem]"; mes "My brother wasn't so happy to teach me"; @@ -171,10 +171,11 @@ mes "A class? You seem to want little too much. But, no problem."; mes "So, what kind of armor do you have?"; next; - switch(select("Pirate Bandana:Black Leather Boots")) + switch(select("Pirate Bandana:Black Leather Boots"+(checkre(0)?":Special Ninja Suit":""))) { case 1: callfunc "Func_Socket2",2287,5350,50,61,500,985,1; // 50,61 - it's not a typo case 2: callfunc "Func_Socket2",2425,2434,40,51,500,985,1; + case 3: callfunc "Func_Socket2",15053,15056,50,61,500,985,1; } case 4: mes "[Leablem]"; diff --git a/mobs/jail.txt b/mobs/jail.txt index 4ff6b0b..3a7e3a8 100644 --- a/mobs/jail.txt +++ b/mobs/jail.txt @@ -10,7 +10,7 @@ //= Spawns monsters in Jail. //============================================================ -sec_in02,139,80,20 monster Poring 1002,10,0,0,0 +sec_in02,139,80,20,20 monster Poring 1002,10,0,0,0 sec_in02,138,54,20,20 monster Marin 1242,5,0,0,0 sec_in02,161,46,15,15 monster Poporing 1031,5,0,0,0 sec_in02,114,47,10,10 monster Drops 1113,5,0,0,0 diff --git a/other/CashShop_Functions.txt b/other/CashShop_Functions.txt index 64d609e..2dbe336 100644 --- a/other/CashShop_Functions.txt +++ b/other/CashShop_Functions.txt @@ -3,11 +3,11 @@ //===== By: ================================================== //= L0ne_W0lf //===== Current Version: ===================================== -//= 1.7 +//= 1.8 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= Used explicitly in the Item Database for Cash shop items +//= Used for Cash shop items: //= - Kafra Card //= - Giant Fly Wing //= - Neuralizer @@ -17,13 +17,16 @@ //= F_CashPartyCall Optimized by Trancid. //= 1.1 Updated Dungeon Teleport Scroll. [L0ne_W0lf] //= Added Town Teleport Scroll Function -//= Added Seige Teleport Scroll Function +//= Added Siege Teleport Scroll Function //= 1.2 Updated the dungeon teleport scroll menu. [L0ne_w0lf] //= 1.3 Implemented Aozi Giant Flywing Fix. (bugreport:4242) [L0ne_w0lf] //= 1.4 Simplified Giant Flywing function using warpparty. [L0ne_w0lf] //= 1.5 Neuralizer is no longer consumed upon failure. [Euphy] //= 1.6 Updated Teleport functions and added Curious_Snowball. [Euphy] //= 1.7 Added Dungeon Teleport Scroll II maps. [Euphy] +//= 1.8 Added VIP function. [Euphy] +//= 1.9 Added checkdragon() in F_CashReset. [Capuche] +//= 2.0 Moved VIP_Third_Class function into other/re/CashShop_Functions. [Capuche] //============================================================ // Kafra Card @@ -41,7 +44,6 @@ function script F_CashStore { return; } - // Giant Fly Wing //============================================================ // - Warp party leader to random spot on the map. @@ -61,7 +63,7 @@ function script F_CashPartyCall { // - Reset players skills. Weight must be 0, options must be off. // - No arguments. function script F_CashReset { - if (Class != Job_Novice && Weight == 0 && !checkriding() && !checkfalcon() && !checkcart() && !ismounting()) { + if (Class != Job_Novice && Weight == 0 && !checkriding() && !checkfalcon() && !checkcart() && !ismounting() && !checkdragon()) { resetskill; sc_end SC_ALL; if (countitem(12213)) delitem 12213,1; @@ -235,7 +237,7 @@ function script F_CashTele { //============================================================ // - Warp player to selected guild castle. // - No arguments. -function script F_CashSeigeTele { +function script F_CashSiegeTele { switch(select("Neuschwanstein (aldeg_cas01):Hohenschwangau (aldeg_cas02):Nuernberg (aldeg_cas03):Wuerzburg (aldeg_cas04):Rothenburg (aldeg_cas05):Repherion (gefg_cas01):Eeyorbriggar (gefg_cas02):Yesnelph (gefg_cas03):Bergel (gefg_cas04):Mersetzdeitz (gefg_cas05):Bright Arbor (payg_cas01):Sacred Altar (payg_cas02):Holy Shadow (payg_cas03):Scarlet Palace (payg_cas04):Bamboo Grove Hill (payg_cas05):Kriemhild (prtg_cas01):Swanhild (prtg_cas02):Fadhgridh (prtg_cas03):Skoegul (prtg_cas04):Gondul (prtg_cas05)")) { case 1: warp "alde_gld",48,91; end; case 2: warp "alde_gld",103,245; end; diff --git a/other/Global_Functions.txt b/other/Global_Functions.txt index 152ab93..0fb3ae2 100644 --- a/other/Global_Functions.txt +++ b/other/Global_Functions.txt @@ -3,9 +3,9 @@ //===== By: ================================================== //= Lupus, kobra_k88 //===== Current Version: ===================================== -//= 2.18 +//= 2.26 //===== Compatible With: ===================================== -//= rAthena 1.0 +//= rAthena SVN //===== Description: ========================================= //= General script functions. //===== Additional Comments: ================================= @@ -41,13 +41,20 @@ //= 2.16 Added F_GetWeaponType, and F_GetArmorType. [L0ne_W0lf] //= 2.17 Renamed 'F_RandMes' to 'F_Rand'. [Euphy] //= 2.18 Removed useless 'getJobName' function. [Euphy] +//= 2.2 Added "F_GetPlural", "F_InsertPlural", "F_InsertArticle", "F_InsertComma", "F_GetNumSuffix". [Euphy] +//= Standardized descriptions, updated 'F_GetArmorType'. +//= 2.21 Added format string to "F_InsertPlural" and more checks to "F_GetPlural". [Euphy] +//= 2.22 Further improvements to "F_GetPlural". [Euphy] +//= 2.23 Completed article function and added "F_GetArticle". [Euphy] +//= 2.24 Added functions to check for equipment swap hacks. [Euphy] +//= 2.25 Improved 'F_InsertComma' function. [Emistry] +//= 2.26 Added "F_CanOpenStorage" and "F_CanChangeJob". [secretdataz] //============================================================ - ////////////////////////////////////////////////////////////////////////////////// -// Function that clears job quest variables +// Clears job quest variables. +// -- callfunc "F_ClearJobVar" ////////////////////////////////////////////////////////////////////////////////// - function script F_ClearJobVar { // Misc --------------------------------- set JBLVL,0; @@ -88,6 +95,11 @@ function script F_ClearJobVar { return; } + +////////////////////////////////////////////////////////////////////////////////// +// Clears other unused variables. +// -- callfunc "F_ClearGarbage" +////////////////////////////////////////////////////////////////////////////////// function script F_ClearGarbage { // Clear outdated global VARS //Clear TURTLE var if the Turtle Islans Quest is already done @@ -96,7 +108,7 @@ function script F_ClearGarbage { //Clear previously saved Quest Skills (now it isn't used) set ADV_QSK,0; set ADV_QSK2,0; - //Old Seset Skill Event used to use RES_SKILL var + //Old Reset Skill Event used to use RES_SKILL var set RES_SKILL,0; //Here you put outdated variables from your outdated EVENTS //e.g. Is XMAS done? Add the EVENT var clearing code here. @@ -122,16 +134,15 @@ function script F_ClearGarbage { return; } + ////////////////////////////////////////////////////////////////////////////////// -// Used in REBIRTH scripts -// Class = Internal Class ID -// BaseJob = Base Job (0..23) -// Upper : 0 - Default, 1 - Advanced, 2 - Baby +// Job change based on Upper value (normal, advanced, baby). +// -- callfunc "Job_Change",; +// See Job_* constants in 'db/const.txt' for Class values. ////////////////////////////////////////////////////////////////////////////////// - function script Job_Change { - jobchange getarg(0),Upper; //Jobchange based on Upper - logmes "CLASS CHANGE: " +strcharinfo(0)+ " become a "+jobname(Class); + jobchange getarg(0),Upper; +// logmes "CLASS CHANGE: " +strcharinfo(0)+ " become a "+jobname(Class); return; } @@ -141,72 +152,61 @@ function script Job_Change { ////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////// -// *** Function "F_Rand" +// Returns a random argument. +// -- callfunc "F_Rand",arg0,arg1,... +// Example: +// // You can use it to pick a random number from a list: +// set @itemIDfromList, callfunc("F_Rand",1129,1222,1163,1357,1360,1522,1811,1410); ////////////////////////////////////////////////////////////////////////////////// -//returns random argument -// Example: check F_Bye or F_Hi functions -// READ AND THINK: You can use it to pick a random number from a list: -// set @itemIDfromList, callfunc("F_Rand",1129,1222,1163,1357,1360,1522,1811,1410); - function script F_Rand { return getarg(rand(getargcount())); } ////////////////////////////////////////////////////////////////////////////////// -// *** Function "F_Sex" +// Returns 1st argument if female, 2nd argument if male. +// -- callfunc "F_Sex",argFemale,argMale +// Example: +// mes callfunc("F_Sex","What a beautiful lady!","What a handsome man!"); ////////////////////////////////////////////////////////////////////////////////// -//returns 1st argument if female, 2nd argument otherwise -// Example: mes callfunc("F_Sex","What a beautiful lady!","What a handsome man!"); - function script F_SexMes { return getarg(Sex); } ////////////////////////////////////////////////////////////////////////////////// -// *** Function "F_Hi" +// Returns random "hello" and "goodbye" messages. +// -- callfunc "F_Hi" +// -- callfunc "F_Bye" ////////////////////////////////////////////////////////////////////////////////// -//returns random HELLO message - function script F_Hi { return callfunc("F_Rand","Hi!","Hello!","Good day!","How are you?","Hello there."); } - - -////////////////////////////////////////////////////////////////////////////////// -// *** Function "F_Bye" -////////////////////////////////////////////////////////////////////////////////// -//returns random BYE message - function script F_Bye { return callfunc("F_Rand","Bye. See you again.","Later.","Goodbye.","Good luck!","Have a nice day!","Byebye!!!"); } ////////////////////////////////////////////////////////////////////////////////// -// *** Function "F_ItemName" +// Returns expanded item name string. +// -- callfunc "F_ItemName",,{{,{,}}} +// Elements: 0=none, 1=Ice, 2=Earth, 3=Fire, 4=Wind +// Example: +// // Displays "Show me your ^000090+5 VVS Fire Knife^000000..." +// mes "Show me your "+callfunc("F_ItemName",1201,1,2,5)+"..."; ////////////////////////////////////////////////////////////////////////////////// -// Returns expanded item name string -//Argumentss -// 0 - Item ID -// 1 - Element N (0=none,1=Ice,2=Earth,3=Fire,4=Wind) -// 2 - VVS meter 0...3 -// 3 - Refine -// Example: mes "Show me your "+callfunc("F_ItemName",1201,1,2,5)+"..."; -// is equal to: mes "Show me your ^000090 +5 VVS Fire Knife ^000000..." - function script F_ItemName { - if(getarg(3)) - set .@t$,.@t$+"+"+getarg(3)+" "; - switch(getarg(2)) { + if (getarg(3,0)) + set .@t$,"+"+getarg(3)+" "; + switch (getarg(2,0)) { case 0: break; case 1: set .@t$,.@t$+"VS "; break; case 2: set .@t$,.@t$+"VVS "; break; case 3: set .@t$,.@t$+"VVVS "; break; default: set .@t$,.@t$+getarg(2)+"xVS "; break; } - switch(getarg(1)) { + switch (getarg(1,0)) { + case 0: break; case 1: set .@t$,.@t$+"Ice "; break; case 2: set .@t$,.@t$+"Earth "; break; case 3: set .@t$,.@t$+"Fire "; break; @@ -216,8 +216,16 @@ function script F_ItemName { return "^000090"+.@t$+getitemname(getarg(0))+"^000000"; } + ////////////////////////////////////////////////////////////////////////////////// -// *** Function "F_SaveQuestSkills": Store learnt quest skills +// Stores learnt quest skills as variables ADV_QSK and ADV_QSK2. +// -- callfunc "F_SaveQuestSkills" +// +// Restores learnt 1st class quest skills. +// -- callfunc "F_Load1Skills" +// +// Restores learnt 2nd class quest skills. +// -- callfunc "F_Load2Skills" ////////////////////////////////////////////////////////////////////////////////// function script F_SaveQuestSkills { set ADV_QSK,0; set ADV_QSK2,0; @@ -231,24 +239,14 @@ function script F_SaveQuestSkills { } return; } - -////////////////////////////////////////////////////////////////////////////////// -// *** Function "F_Load1Skills": Restore learnt 1st class quest skills -////////////////////////////////////////////////////////////////////////////////// function script F_Load1Skills { - //1st classes quest skills for(set .@i, 0; .@i < 14; set .@i, .@i + 1){ if(ADV_QSK|pow(2,.@i) == ADV_QSK) skill 144+.@i,1,0; } set ADV_QSK,0; //Clear var return; } - -////////////////////////////////////////////////////////////////////////////////// -// *** Function "F_Load2Skills": Restore learnt 2nd class quest skills -////////////////////////////////////////////////////////////////////////////////// function script F_Load2Skills { - //2nd classes quest skills for(set .@i, 0; .@i < 19; set .@i, .@i + 1){ if(ADV_QSK2|pow(2,.@i) == ADV_QSK2) skill 1001+.@i,1,0; } @@ -256,8 +254,13 @@ function script F_Load2Skills { return; } + ////////////////////////////////////////////////////////////////////////////////// -// *** Function "F_GetWeaponType": Determine weapon type by view +// Returns weapon type, based on view. +// -- callfunc "F_GetWeaponType", +// +// Returns equipment type, based on equip location. +// -- callfunc "F_GetArmorType", ////////////////////////////////////////////////////////////////////////////////// function script F_GetWeaponType { switch(getiteminfo(getarg(0),11)) { @@ -283,33 +286,50 @@ function script F_GetWeaponType { case 20: return "Shotgun"; break; case 21: return "Grenade Launcher"; break; case 22: return "Shuriken"; break; - default: return "Unable to Determine Equip Type"; break; + default: return "Unknown Weapon"; break; } end; } - -////////////////////////////////////////////////////////////////////////////////// -// *** Function "F_GetArmorType": Determine equipment type by equip location -////////////////////////////////////////////////////////////////////////////////// function script F_GetArmorType { switch(getiteminfo(getarg(0),5)) { case 001: return "Lower Headgear"; break; - case 2: return "Weapon"; break; + case 2: return callfunc("F_GetWeaponType",getarg(0)); break; case 4: return "Garment"; break; case 8: return "Accessory"; break; case 16: return "Armor"; break; case 32: return "Shield"; break; case 64: return "Shoes"; break; case 128: return "Accessory"; break; + case 136: return "Accessory"; break; //8+128 case 256: return "Upper Headgear"; break; case 512: return "Middle Headgear"; break; - default: return "Unable to Determine Equip Location"; break; + case 1024: return "Costume Upper Headgear"; break; + case 2048: return "Costume Midle Headgear"; break; + case 4096: return "Costume Lower Headgear"; break; + case 8192: return "Costume Garment"; break; + case 32768: return "Ammo"; break; + case 65536: return "Shadow Armor"; break; + case 131072: return "Shadow Weapon"; break; + case 262144: return "Shadow Shield"; break; + case 524288: return "Shadow Shoes"; break; + case 1048576: return "Shadow Accessory"; break; + case 2097152: return "Shadow Accessory"; break; + case 3145728: return "Shadow Accessory"; break; //1048576+2097152 + default: return "Unknown Equip"; break; } end; } -// Time calculation Function -// ********************************************************************* + +////////////////////////////////////////////////////////////////////////////////// +// Returns time remaining in a readable format. +// The argument is subtracted from UNIX epoch time, or 'gettimetick(2)'. +// -- callfunc "Time2Str", +// Example: +// // Displays "Time left: 1 day, 1 hour, 8 minutes, 20 seconds" +// set .@Timer, gettimetick(2) + 90500; +// mes "Time left: " + callfunc("Time2Str",.@Timer); +////////////////////////////////////////////////////////////////////////////////// function script Time2Str { set .@Time_Left, getarg(0) - gettimetick(2); @@ -343,3 +363,261 @@ function script Time2Str { return .@Time$; } + + +////////////////////////////////////////////////////////////////////////////////// +// Checks if equipment has been swapped (i.e. via hacks). +// The function checks the current equipment at a position against the supplied +// values, and logs any mismatches. +// Returns 0 if match, 1 if mismatch. +// -- callfunc "F_IsEquipIDHack",, +// -- callfunc "F_IsEquipRefineHack",, +// -- callfunc "F_IsEquipCardHack",,,,, +////////////////////////////////////////////////////////////////////////////////// +function script F_IsEquipIDHack { + set .@id_chk, getequipid(getarg(0)); + set .@id, getarg(1); + if (.@id != .@id_chk) { + logmes "Hack: Tried to swap equip " + getitemname(.@id) + " for " + getitemname(.@id_chk) + "."; + return 1; + } + return 0; +} +function script F_IsEquipRefineHack { + set .@refine_chk, getequiprefinerycnt(getarg(0)); + set .@refine, getarg(1); + if (.@refine != .@refine_chk) { + logmes "Hack: Tried to swap equip with refine +" + .@refine + " for +" + .@refine_chk + "."; + return 1; + } + return 0; +} +function script F_IsEquipCardHack { + set .@pos, getarg(0); + for (set .@i,0; .@i < 4; set .@i, .@i+1) { + set .@card, getarg(.@i + 1); + set .@card_chk, getequipcardid(.@pos, .@i); + if (.@card != .@card_chk) { + logmes "Hack: Tried to swap card " + getitemname(.@card) + " for " + getitemname(.@card_chk) + "."; + return 1; + } + } + return 0; +} + + +////////////////////////////////////////////////////////////////////////////////// +// Functions for text manipulation [Euphy] +////////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////////// +// Returns the plural of a noun - works in most cases, but not for everything! +// -- callfunc "F_GetPlural",""{,<0:normal/1:uppercase>} +// Examples: +// callfunc("F_GetPlural","dog") // returns "dogs" +// callfunc("F_GetPlural","fox",1) // returns "FOXES" +// callfunc("F_GetPlural","knife") // returns "knives" +// callfunc("F_GetPlural","Piece of Cake") // returns "Pieces of Cake" +// +// Returns the plural of a noun if the given number is not 1. +// -- callfunc "F_InsertPlural",,""{,<0:normal/1:uppercase>{,""}} +// Format string uses sprintf(), and MUST contain %d (arg0) and %s (arg1), in that order. +// Examples: +// callfunc("F_InsertPlural",1,"dog") // returns "1 dog" +// callfunc("F_InsertPlural",3,"fox",1) // returns "3 FOXES" +// // returns "^FF00005^000000 knives" +// callfunc("F_InsertPlural",5,"knife",0,"^FF0000%d^000000 %s") +////////////////////////////////////////////////////////////////////////////////// +function script F_GetPlural { + set .@str$, getarg(0); + + if (countstr(.@str$," ")) { // multiple words + explode(.@tmp$,.@str$," "); + set .@size, getarraysize(.@tmp$); + + // if format is "... of|in|on ...", pluralize preceding word; else pluralize last word + if (compare(.@str$," of ") || compare(.@str$," in ") || compare(.@str$," on ")) { + for (set .@i,1; .@i<.@size; set .@i,.@i+1) { + if (getstrlen(.@tmp$[.@i]) == 2 && compare("of|in|on",.@tmp$[.@i])) + break; + set .@index, .@index + 1; + } + } else + set .@index, .@size - 1; + + set .@str$, .@tmp$[.@index]; + set .@tmp$[.@index],"%s"; + set .@format$, implode(.@tmp$," "); + } else + set .@format$, "%s"; + + set .@strlen, getstrlen(.@str$); + if (.@strlen < 3) // prevent errors + return ((getarg(1,0)) ? strtoupper(sprintf(.@format$,.@str$)) : sprintf(.@format$,.@str$)); + + setarray .@suffix$[0], charat(.@str$,.@strlen - 1), substr(.@str$,.@strlen - 2,.@strlen - 1); + if (!compare("abcdefghijklmnopqrstuvwxyz",.@suffix$[0])) { // last character is not a letter + set .@result$, .@str$; + } + + // common exceptions --> singular form == plural form + else if (compare("fish|glasses|sunglasses|clothes|boots|shoes|greaves|sandals|wings|ears",.@str$)) { + set .@result$, .@str$; + } + + // ends in -s, -x, -z, -ch, -sh --> add -es + else if (.@suffix$[0] == "s" || .@suffix$[0] == "x" || .@suffix$[0] == "z" || + .@suffix$[1] == "ch" || .@suffix$[1] == "sh") { + set .@result$, .@str$ + "es"; + } + + // ends in -f, -fe --> remove -f, -fe --> add -ves + else if ((.@suffix$[0] == "f" || .@suffix$[1] == "fe") && .@suffix$[1] != "ff") { + if (compare("belief|cliff|chief|dwarf|grief|gulf|proof|roof",.@str$)) + set .@result$, .@str$ + "s"; // exceptions --> add -s + else + set .@result$, substr(.@str$,0,.@strlen - 2 - (.@suffix$[1] == "fe")) + "ves"; + } + + // ends in consonant + -y --> remove -y --> add -ies + else if (.@suffix$[0] == "y" && !compare("aeiou",charat(.@suffix$[1],0))) { + set .@result$, delchar(.@str$,.@strlen - 1) + "ies"; + } + + // ends in -o --> exceptions --> add -es + else if (.@suffix$[0] == "o" && + compare("buffalo|domino|echo|grotto|halo|hero|mango|mosquito|potato|tomato|tornado|torpedo|veto|volcano",.@str$)) { + set .@result$, .@str$ + "es"; + } + + // default --> add -s + else { + set .@result$, .@str$ + "s"; + } + + return ((getarg(1,0)) ? strtoupper(sprintf(.@format$,.@result$)) : sprintf(.@format$,.@result$)); +} +function script F_InsertPlural { + return sprintf(getarg(3,"%d %s"), getarg(0), ((getarg(0) == 1) ? getarg(1) : callfunc("F_GetPlural",getarg(1),getarg(2,0)))); +} + + +////////////////////////////////////////////////////////////////////////////////// +// Returns 'a' or 'an' based on a word. +// -- callfunc "F_GetArticle",""; +// Examples: +// callfunc("F_GetArticle","Apple") // returns "an" +// callfunc("F_GetArticle","dog") // returns "a" +// +// Returns 'a' or 'an' based on a word, followed by the word. +// -- callfunc "F_InsertArticle",""{,<0:lowercase a/1:uppercase A>} +// Examples: +// callfunc("F_InsertArticle","Apple") // returns "an Apple" +// callfunc("F_InsertArticle","dog",1) // returns "A dog" +////////////////////////////////////////////////////////////////////////////////// +function script F_GetArticle { + set .@str$, strtolower(getarg(0)); + + // not a word + if (!charisalpha(.@str$,0)) + return "a"; + + // 1-letter words + if (getstrlen(.@str$) == 1) { + if (strpos("aefhilmnorsx",.@str$) > -1) + return "an"; + else + return "a"; + } + + // special cases + if (preg_match("(euler|hour(?!i)|heir|honest|hono)",.@str$)) + return "an"; + + // consonants + if (preg_match("^[^aeiouy]",.@str$)) + return "a"; + + // special vowel forms + if (preg_match("^e[uw]",.@str$) || preg_match("^onc?e\b",.@str$) || preg_match("^uni([^nmd]|mo)",.@str$) || preg_match("^u[bcfhjkqrst][aeiou]",.@str$)) + return "a"; + if (preg_match("^ut[th]",.@str$)) + return "an"; + + // special capitals (rare) + //if (preg_match("^U[NK][AIEO]?",getarg(0))) + // return "a"; + + // vowels + if (preg_match("^[aeiou]",.@str$)) + return "an"; + + // y... (rare) + //if (preg_match("^(y(b[lor]|cl[ea]|fere|gg|p[ios]|rou|tt))",.@str$)) + // return "an"; + + return "a"; +} +function script F_InsertArticle { + set .@article$, callfunc("F_GetArticle",getarg(0)); + return sprintf("%s %s", ((getarg(1,0)) ? replacestr(.@article$,"a","A") : .@article$), getarg(0)); +} + + +////////////////////////////////////////////////////////////////////////////////// +// Returns a number with commas based on precision of digits and custom separator. +// -- callfunc "F_InsertComma",{,,} +// Examples: +// callfunc("F_InsertComma",7777777{,,}) // returns "7,777,777" +// callfunc("F_InsertComma",1000000000,3,",") // returns "1,000,000,000" +// callfunc("F_InsertComma",1000000000,3,"_") // returns "1_000_000_000" +// callfunc("F_InsertComma",1000000000,4) // returns "10,0000,0000" +////////////////////////////////////////////////////////////////////////////////// +function script F_InsertComma { + set .@value, getarg(0); + set .@precision, getarg(1,3); + set .@separator$, getarg(2,","); + + set .@str$, "" + .@value; + set .@is_negative, (.@value < 0); + + set .@length, getstrlen(.@str$) - .@precision - .@is_negative; + while (.@length > 0) { + set .@str$, insertchar(.@str$, .@separator$, (.@length + .@is_negative)); + set .@length, .@length - .@precision; + } + return .@str$; +} + + +////////////////////////////////////////////////////////////////////////////////// +// Returns a number with a '-st', '-nd', '-rd', or '-th' suffix. +// -- callfunc "F_GetNumSuffix", +// Examples: +// callfunc("F_GetNumSuffix",1) // returns "1st" +// callfunc("F_GetNumSuffix",11) // returns "11th" +// callfunc("F_GetNumSuffix",32) // returns "32nd" +////////////////////////////////////////////////////////////////////////////////// +function script F_GetNumSuffix { + set .@n, getarg(0); + set .@mod, .@n % 10; + if (.@mod == 1 && .@n != 11) return .@n+"st"; + else if (.@mod == 2 && .@n != 12) return .@n+"nd"; + else if (.@mod == 3 && .@n != 13) return .@n+"rd"; + else return .@n+"th"; +} + +////////////////////////////////////////////////////////////////////////////////// +// Indicate if attached player can open storage +////////////////////////////////////////////////////////////////////////////////// +function script F_CanOpenStorage { + return (!basicskillcheck() || !(getskilllv("NV_BASIC") < 6 && getskilllv("SU_BASIC_SKILL") < 1)); +} + +////////////////////////////////////////////////////////////////////////////////// +// Indicate if attached player can advance to class 1 by checking +// basic skill level 9. +////////////////////////////////////////////////////////////////////////////////// +function script F_CanChangeJob { + return (!basicskillcheck() || getskilllv("NV_BASIC") > 8); +} diff --git a/other/acolyte_warp.txt b/other/acolyte_warp.txt index 21d3816..1607e0f 100644 --- a/other/acolyte_warp.txt +++ b/other/acolyte_warp.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Euphy //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -12,13 +12,21 @@ //===== Additional Comments: ================================= //= 1.0 First version. [Euphy] //= Unsure if this is on kRO, so disabled for now. +//= 1.1 Added iRO VIP features. [Euphy] +//= The function is located in re/quests/eden/eden_vip.txt. //============================================================ +// Warpers :: acolyte_warp +//============================================================ prontera,98,121,4 script Acolyte#Prtclear 90,{ mes "[Keiki]"; mes "Hello there, adventurer."; mes "I've been studying magic from all over Rune-Midgard to upgrade what I believe to be one of the greatest skills available to the acolyte class."; next; + + if (is_function("VIP_iRO_Acolyte")) + callfunc "VIP_iRO_Acolyte","[Keiki]","Juno"; + mes "[Keiki]"; mes "I am the one and only Acolyte that has attained the Level 10 Warp Portal skill!"; emotion e_dots,1; @@ -40,7 +48,6 @@ prontera,98,121,4 script Acolyte#Prtclear 90,{ next; setarray .@towns$[0], "Izlude", "Geffen", "Payon", "Morroc", "Alberta", "Al De Baran", "Comodo", "Umbala", "Juno"; - setarray .@maps$[0], "izlude", "geffen", "payon", "morocc", "alberta", "aldebaran", "comodo", "umbala", "yuno"; setarray .@cost[0], 600, 1200, 1200, 1200, 1800, 2200, 2200, 2200, 1800; set .@size, getarraysize(.@towns$); @@ -84,6 +91,10 @@ yuno,142,184,6 script Acolyte#Junoclear 90,{ mes "Hello, adventurer."; mes "My companion Keiki and I have discovered a way to increase our warp portal abilities."; next; + + if (is_function("VIP_iRO_Acolyte")) + callfunc "VIP_iRO_Acolyte","[Isalei]","Prontera"; + mes "[Isalei]"; mes "Though I have not mastered up to the level that she has, I have been able to attain Level 5."; emotion e_dots,1; @@ -103,7 +114,6 @@ yuno,142,184,6 script Acolyte#Junoclear 90,{ next; setarray .@towns$[0], "Einbroch", "Lighthalzen", "Hugel", "Rachel", "Prontera"; - setarray .@maps$[0], "einbroch", "lighthalzen", "hugel", "rachel", "prontera"; setarray .@cost[0], 2200, 2200, 2200, 2200, 1800; set .@size, getarraysize(.@towns$); @@ -113,7 +123,7 @@ yuno,142,184,6 script Acolyte#Junoclear 90,{ if (.@i == .@size) close; if (Zeny < .@cost[.@i]) { - mes "[Isalei]"; + mes "[Isalei]"; mes "I'm sorry, but you don't have"; mes "enough zeny for the Teleport"; mes "Service. The fee to teleport"; diff --git a/other/arena/arena_aco.txt b/other/arena/arena_aco.txt index e1650b8..cc93fec 100644 --- a/other/arena/arena_aco.txt +++ b/other/arena/arena_aco.txt @@ -1086,7 +1086,7 @@ prt_are_in,25,31,3 script Staff#aco-2 67,{ set .@hour_endaco, .@end_timeaco / 10000; set .@min_endaco, ((.@end_timeaco % 10000) / 100); set .@sec_endaco, .@end_timeaco % 100; - if ((.@hour_startaco == 23) & (.@hour_endaco == 0)) { + if ((.@hour_startaco == 23) && (.@hour_endaco == 0)) { set .@hour_endaco,24; } set .@st_to_secaco, ((.@hour_startaco * 3600) + (.@min_startaco * 60) + (.@sec_startaco)); diff --git a/other/arena/arena_lvl80.txt b/other/arena/arena_lvl80.txt index c4012e6..2f2940f 100644 --- a/other/arena/arena_lvl80.txt +++ b/other/arena/arena_lvl80.txt @@ -19,7 +19,7 @@ arena_room,147,42,1 script Lv80 Waiting Room 124,{ end; OnInit: - waitingroom "Individual; Level 80 to "+(checkre(0)?"160":"99"),50,"Lv80 Waiting Room::OnStartArena",1,1000,80; + waitingroom "Individual; Level 80 to " + MAX_LEVEL,50,"Lv80 Waiting Room::OnStartArena",1,1000,80; enablewaitingroomevent; end; diff --git a/other/auction.txt b/other/auction.txt index 67060f3..e92d6e7 100644 --- a/other/auction.txt +++ b/other/auction.txt @@ -94,26 +94,32 @@ auction_02,43,17,0 warp auction_enterance_lhz 1,1,lighthalzen,209,169 // Auction House NPCs //============================================================ - script Auction Broker#dum::AuctionBroker -1,{ - mes "[Auction Broker]"; - mes "Welcome to the Auction Hall."; - mes "Would you like to view the goods?"; - next; - if (select("Yes:No") == 1) { + if (getbattleflag("feature.auction")) { + mes "[Auction Broker]"; + mes "Welcome to the Auction Hall."; + mes "Would you like to view the goods?"; + next; + if (select("Yes:No") == 1) { + mes "[Auction Broker]"; + mes "Very well."; + mes "Please take"; + mes "a look, and see"; + mes "What's being offered~"; + OpenAuction; + close; + } mes "[Auction Broker]"; - mes "Very well."; - mes "Please take"; - mes "a look, and see"; - mes "What's being offered~"; - OpenAuction; + mes "Very well, then."; + mes "If you change your"; + mes "mind, then please"; + mes "come and check"; + mes "out the auctions~"; + close; + } else { + mes "[Auction Broker]"; + mes "Sorry, we are closed."; close; } - mes "[Auction Broker]"; - mes "Very well, then."; - mes "If you change your"; - mes "mind, then please"; - mes "come and check"; - mes "out the auctions~"; - close; } auction_01,182,68,6 duplicate(AuctionBroker) Auction Broker#moc1 98 diff --git a/other/books.txt b/other/books.txt index fce46ee..c33409d 100644 --- a/other/books.txt +++ b/other/books.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= L0ne_W0lf //===== Current Version: ===================================== -//= 1.1 +//= 1.2 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -12,1244 +12,1206 @@ //===== Additional Comments: ================================= //= 1.0 First Version, rescripted to Aegis 10.3 standard. [L0ne_W0lf] //= 1.1 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf] +//= 1.2 Little clean-up. [Capuche] //============================================================ -prt_in,168,56,4 script Monster Encyclopedia#prt 111,{ +prt_in,168,56,4 script Monster Encyclopedia#prt HIDDEN_NPC,{ mes "^FF0000[Monster Encyclopedia]^000000"; mes "This is a Monster Encyclopedia"; mes "containing information on Water,"; mes "Wind and Ghost property monsters."; next; - set .@loop1,1; - while(.@loop1) { - set .@loop2,1; - switch(select("Water Property Monsters:Wind Property Monsters:Spritual Property Monsters:Cancel")) { - case 1: - while(.@Loop2) { - switch(select("Small Sized Monsters:Medium Sized Monsters:Great Sized Monsters:Cancel")) { - case 1: - mes "^FF0000[Vol. 1: Small Water Monsters]^000000"; - mes "1. Plankton"; - mes "Even though they seem"; - mes "insignificantly small, be careful"; - mes "not to step on them. Plankton are"; - mes "light and can drift on the water."; - mes "^0099FFItem Drops^000000: Single Cell, Garlet,"; - mes "Sticky Mucus, Empty Bottle"; - next; - mes "^FF0000[Vol. 1: Small Water Monsters]^000000"; - mes "2. Kukre"; - mes "Kukre look better than Thief Bugs"; - mes "but basically loot items just the"; - mes "same. Luckily, they don't attack"; - mes "players in a group."; - mes "^0099FFItem Drops^000000: Worm Peeling, Garlet,"; - mes "Monster's Feed, Red Herb, Insect"; - mes "Feeler"; - next; - mes "^FF0000[Vol. 1: Small Water Monsters]^000000"; - mes "3. Hydra"; - mes "Vegetable Monstesr that live near"; - mes "water or in the deep sea that"; - mes "attack using tentacles. As a group,"; - mes "they're a pain in the ass."; - mes "^0099FFItem Drops^000000: Tentacle, Sticky Mucus,"; - mes "Meat."; - next; - mes "^FF0000[Vol. 1: Small Water Monsters]^000000"; - mes "4. Vadon"; - mes "Covered in a thick, protective"; - mes "shell, Vadons attack with powerful"; - mes "pincers. Although they look like"; - mes "crabs, their meat can't be eaten."; - mes "^0099FFItem Drops^000000: Nipper, Garlet, Solid"; - mes "Shell, Shell"; - next; - mes "^FF0000[Vol. 1: Small Water Monsters]^000000"; - mes "5. Marina"; - mes "Transparent jellyfish that attack"; - mes "by stretching their flexible bodies"; - mes "in a whip-like fashion. They live"; - mes "in cool places near water."; - mes "^0099FFItem Drops^000000: Single Cell, Sticky"; - mes "Mucus"; - next; - mes "^FF0000[Vol. 1: Small Water Monsters]^000000"; - mes "6. Cornutus"; - mes "Benign monsters that conceal"; - mes "themselves in hard, turban shaped"; - mes "shells. They try to live as"; - mes "peacefully as they can in this"; - mes "crazy, crazy world."; - mes "^0099FFItem Drops^000000: Conch, Scell, Solid"; - mes "Shell"; - next; - mes "^FF0000[Vol. 1: Small Water Monsters]^000000"; - mes "7. Magnolia"; - mes "Cute looking creatures that appear"; - mes "as large frying pans cooking an"; - mes "egg. They mercilessly spank all"; - mes "that oppose them."; - mes "^0099FFItem Drops^000000: Jellopy, Garlet, Scell"; - next; - mes "^FF0000[Vol. 1: Small Water Monsters]^000000"; - mes "8. Marine Sphere"; - mes "Strange, round-shaped monsters that"; - mes "pulse with destructive energy."; - mes "Gathering their Detonators may be"; - mes "useful for Alchemists."; - mes "^0099FFItem Drops^000000: Tendon, Detonator"; - next; - break; - case 2: - mes "^FF0000[Vol. 2: Medium Water Monsters]^000000"; - mes "1. Poring"; - mes "Small, pink monsters that are made"; - mes "of a living gelatinous substance."; - mes "They're cute, and move by"; - mes "bouncing."; - mes "^0099FFItem Drops^000000: Jellopy, Sticky Mucus,"; - mes "Apple, Empty Bottle, Red Herb"; - next; - mes "^FF0000[Vol. 2: Medium Water Monsters]^000000"; - mes "2. Roda Frog"; - mes "Amphibious frogs that have an"; - mes "annoying croak. In some countries,"; - mes "their legs are a delicacy."; - mes "^0099FFItem Drops^000000: Sticky Webfoot, Spawn,"; - mes "Green Herb, Empty Bottle"; - next; - mes "^FF0000[Vol. 2: Medium Water Monsters]^000000"; - mes "3. Spore"; - mes "Mushroom-like monsters that utilise"; - mes "mycelial reproduction. Usually live"; - mes "in forests or dungeons."; - mes "^0099FFItem Drops^000000: Spore, Red Herb, Blue"; - mes "Herb"; - next; - mes "^FF0000[Vol. 2: Medium Water Monsters]^000000"; - mes "4. Goblin"; - mes "Small, mask wearing monsters that"; - mes "viciously attack passerby's. There"; - mes "seem to be different types that use"; - mes "different weapons."; - mes "^0099FFItem Drops^000000: Yellow Herb, Red"; - mes "Herb"; - next; - mes "^FF0000[Vol. 2: Medium Water Monsters]^000000"; - mes "5. Thara Frog"; - mes "Red Frogs that are much stronger"; - mes "than the green Roda Frogs. They"; - mes "also produce an annoying croaking"; - mes "noise."; - mes "^0099FFItem Drops^000000: Spawn, Scell, Sticky"; - mes "Webfoot"; - next; - mes "^FF0000[Vol. 2: Medium Water Monsters]^000000"; - mes "6. Phen"; - mes "A blue fish with a pointed nose and"; - mes "sad, incredibly sad, vacant eyes."; - mes "^0099FFItem Drops^000000: Fish Tail, Sharp Scale,"; - mes "Meat, Fin"; - next; - mes "^FF0000[Vol. 2: Medium Water Monsters]^000000"; - mes "7. Marse"; - mes "A miniature squid with miniature"; - mes "tentacles. How it moves through"; - mes "water with those tiny things is"; - mes "still a scientific mystery."; - mes "^0099FFItem Drops^000000: Squid Ink, Tentacle"; - next; - mes "^FF0000[Vol. 2: Medium Water Monsters]^000000"; - mes "8. Obeaune"; - mes "A female Mermaid that attacks with"; - mes "its wild, flowing hair. Whether or"; - mes "not its male version is Merman is"; - mes "still under debate."; - mes "^0099FFItem Drops^000000: Heart of Mermaid, Fin"; - next; - mes "^FF0000[Vol. 2: Medium Water Monsters]^000000"; - mes "9. Sohee"; - mes "A female Ghost that harbours a deep"; - mes "grudge. Although she is usually"; - mes "crying, she can become fierce upon"; - mes "encountering the living."; - mes "^0099FFItem Drops^000000: Black Hair, Red Herb"; - next; - mes "^FF0000[Vol. 2: Medium Water Monsters]^000000"; - mes "10. Marc"; - mes "A proud looking Sea Horse that sort"; - mes "of looks like a dragon."; - mes "Unfortunately, you can't ride it."; - mes "^0099FFItem Drops^000000: Gill, Fin"; - next; - mes "^FF0000[Vol. 2: Medium Water Monsters]^000000"; - mes "11. Deviace"; - mes "Fish monster with a big mouth"; - mes "attached to a suction cup. Small,"; - mes "strong, and sort of looks like a"; - mes "watermelon."; - mes "^0099FFItem Drops^000000: Ancient Tooth, Ancient"; - mes "Lips"; - next; - break; - case 3: - mes "^FF0000[Vol. 3: Great Water Monsters]^000000"; - mes "1. Ambernite"; - mes "A snail shaped monster, it is"; - mes "highly strong offense and defense."; - mes "However, it is incredibly slow like"; - mes "all other snails."; - mes "^0099FFItem Drops^000000: Snail's Shell,"; - mes "Garlet, Shell, Solid Shell"; - next; - mes "^FF0000[Vol. 3: Great Water Monsters]^000000"; - mes "2. Sword Fish"; - mes "Fish Monster with a sharp, long nose"; - mes "that's just like a sword. Although it"; - mes "has googly eyes, it's a dangerous"; - mes "monster. Why wasn't it named Sword"; - mes "Nose Fish?"; - mes "^0099FFItem Drops^000000: Sharp Scale, Gill"; - next; - break; - case 4: - close2; - set .@loop2,0; - end; - } + switch(select("Water Property Monsters:Wind Property Monsters:Spritual Property Monsters:Cancel")) { + case 1: + while(1) { + switch(select("Small Sized Monsters:Medium Sized Monsters:Great Sized Monsters:Cancel")) { + case 1: + mes "^FF0000[Vol. 1: Small Water Monsters]^000000"; + mes "1. Plankton"; + mes "Even though they seem"; + mes "insignificantly small, be careful"; + mes "not to step on them. Plankton are"; + mes "light and can drift on the water."; + mes "^0099FFItem Drops^000000: Single Cell, Garlet,"; + mes "Sticky Mucus, Empty Bottle"; + next; + mes "^FF0000[Vol. 1: Small Water Monsters]^000000"; + mes "2. Kukre"; + mes "Kukre look better than Thief Bugs"; + mes "but basically loot items just the"; + mes "same. Luckily, they don't attack"; + mes "players in a group."; + mes "^0099FFItem Drops^000000: Worm Peeling, Garlet,"; + mes "Monster's Feed, Red Herb, Insect"; + mes "Feeler"; + next; + mes "^FF0000[Vol. 1: Small Water Monsters]^000000"; + mes "3. Hydra"; + mes "Vegetable Monstesr that live near"; + mes "water or in the deep sea that"; + mes "attack using tentacles. As a group,"; + mes "they're a pain in the ass."; + mes "^0099FFItem Drops^000000: Tentacle, Sticky Mucus,"; + mes "Meat."; + next; + mes "^FF0000[Vol. 1: Small Water Monsters]^000000"; + mes "4. Vadon"; + mes "Covered in a thick, protective"; + mes "shell, Vadons attack with powerful"; + mes "pincers. Although they look like"; + mes "crabs, their meat can't be eaten."; + mes "^0099FFItem Drops^000000: Nipper, Garlet, Solid"; + mes "Shell, Shell"; + next; + mes "^FF0000[Vol. 1: Small Water Monsters]^000000"; + mes "5. Marina"; + mes "Transparent jellyfish that attack"; + mes "by stretching their flexible bodies"; + mes "in a whip-like fashion. They live"; + mes "in cool places near water."; + mes "^0099FFItem Drops^000000: Single Cell, Sticky"; + mes "Mucus"; + next; + mes "^FF0000[Vol. 1: Small Water Monsters]^000000"; + mes "6. Cornutus"; + mes "Benign monsters that conceal"; + mes "themselves in hard, turban shaped"; + mes "shells. They try to live as"; + mes "peacefully as they can in this"; + mes "crazy, crazy world."; + mes "^0099FFItem Drops^000000: Conch, Scell, Solid"; + mes "Shell"; + next; + mes "^FF0000[Vol. 1: Small Water Monsters]^000000"; + mes "7. Magnolia"; + mes "Cute looking creatures that appear"; + mes "as large frying pans cooking an"; + mes "egg. They mercilessly spank all"; + mes "that oppose them."; + mes "^0099FFItem Drops^000000: Jellopy, Garlet, Scell"; + next; + mes "^FF0000[Vol. 1: Small Water Monsters]^000000"; + mes "8. Marine Sphere"; + mes "Strange, round-shaped monsters that"; + mes "pulse with destructive energy."; + mes "Gathering their Detonators may be"; + mes "useful for Alchemists."; + mes "^0099FFItem Drops^000000: Tendon, Detonator"; + next; + break; + case 2: + mes "^FF0000[Vol. 2: Medium Water Monsters]^000000"; + mes "1. Poring"; + mes "Small, pink monsters that are made"; + mes "of a living gelatinous substance."; + mes "They're cute, and move by"; + mes "bouncing."; + mes "^0099FFItem Drops^000000: Jellopy, Sticky Mucus,"; + mes "Apple, Empty Bottle, Red Herb"; + next; + mes "^FF0000[Vol. 2: Medium Water Monsters]^000000"; + mes "2. Roda Frog"; + mes "Amphibious frogs that have an"; + mes "annoying croak. In some countries,"; + mes "their legs are a delicacy."; + mes "^0099FFItem Drops^000000: Sticky Webfoot, Spawn,"; + mes "Green Herb, Empty Bottle"; + next; + mes "^FF0000[Vol. 2: Medium Water Monsters]^000000"; + mes "3. Spore"; + mes "Mushroom-like monsters that utilise"; + mes "mycelial reproduction. Usually live"; + mes "in forests or dungeons."; + mes "^0099FFItem Drops^000000: Spore, Red Herb, Blue"; + mes "Herb"; + next; + mes "^FF0000[Vol. 2: Medium Water Monsters]^000000"; + mes "4. Goblin"; + mes "Small, mask wearing monsters that"; + mes "viciously attack passerby's. There"; + mes "seem to be different types that use"; + mes "different weapons."; + mes "^0099FFItem Drops^000000: Yellow Herb, Red"; + mes "Herb"; + next; + mes "^FF0000[Vol. 2: Medium Water Monsters]^000000"; + mes "5. Thara Frog"; + mes "Red Frogs that are much stronger"; + mes "than the green Roda Frogs. They"; + mes "also produce an annoying croaking"; + mes "noise."; + mes "^0099FFItem Drops^000000: Spawn, Scell, Sticky"; + mes "Webfoot"; + next; + mes "^FF0000[Vol. 2: Medium Water Monsters]^000000"; + mes "6. Phen"; + mes "A blue fish with a pointed nose and"; + mes "sad, incredibly sad, vacant eyes."; + mes "^0099FFItem Drops^000000: Fish Tail, Sharp Scale,"; + mes "Meat, Fin"; + next; + mes "^FF0000[Vol. 2: Medium Water Monsters]^000000"; + mes "7. Marse"; + mes "A miniature squid with miniature"; + mes "tentacles. How it moves through"; + mes "water with those tiny things is"; + mes "still a scientific mystery."; + mes "^0099FFItem Drops^000000: Squid Ink, Tentacle"; + next; + mes "^FF0000[Vol. 2: Medium Water Monsters]^000000"; + mes "8. Obeaune"; + mes "A female Mermaid that attacks with"; + mes "its wild, flowing hair. Whether or"; + mes "not its male version is Merman is"; + mes "still under debate."; + mes "^0099FFItem Drops^000000: Heart of Mermaid, Fin"; + next; + mes "^FF0000[Vol. 2: Medium Water Monsters]^000000"; + mes "9. Sohee"; + mes "A female Ghost that harbours a deep"; + mes "grudge. Although she is usually"; + mes "crying, she can become fierce upon"; + mes "encountering the living."; + mes "^0099FFItem Drops^000000: Black Hair, Red Herb"; + next; + mes "^FF0000[Vol. 2: Medium Water Monsters]^000000"; + mes "10. Marc"; + mes "A proud looking Sea Horse that sort"; + mes "of looks like a dragon."; + mes "Unfortunately, you can't ride it."; + mes "^0099FFItem Drops^000000: Gill, Fin"; + next; + mes "^FF0000[Vol. 2: Medium Water Monsters]^000000"; + mes "11. Deviace"; + mes "Fish monster with a big mouth"; + mes "attached to a suction cup. Small,"; + mes "strong, and sort of looks like a"; + mes "watermelon."; + mes "^0099FFItem Drops^000000: Ancient Tooth, Ancient"; + mes "Lips"; + next; + break; + case 3: + mes "^FF0000[Vol. 3: Great Water Monsters]^000000"; + mes "1. Ambernite"; + mes "A snail shaped monster, it is"; + mes "highly strong offense and defense."; + mes "However, it is incredibly slow like"; + mes "all other snails."; + mes "^0099FFItem Drops^000000: Snail's Shell,"; + mes "Garlet, Shell, Solid Shell"; + next; + mes "^FF0000[Vol. 3: Great Water Monsters]^000000"; + mes "2. Sword Fish"; + mes "Fish Monster with a sharp, long nose"; + mes "that's just like a sword. Although it"; + mes "has googly eyes, it's a dangerous"; + mes "monster. Why wasn't it named Sword"; + mes "Nose Fish?"; + mes "^0099FFItem Drops^000000: Sharp Scale, Gill"; + next; + break; + case 4: + close; } + } - case 2: - while(.@loop2) { - switch(select("Small Sized Monsters:Medium Sized Monsters:Great Sized Monsters:Cancel")) { - case 1: - mes "^FF0000[Vol. 4: Small Wind Monsters]^000000"; - mes "1. Chonchon"; - mes "Fly monsters that move with great"; - mes "speed. Amazingly, they can heal in"; - mes "the presense of fecal matter."; - mes "^0099FFItem Drops^000000: Shell, Jellopy, Fly"; - mes "Wing"; - next; - mes "^FF0000[Vol. 4: Small Wind Monsters]^000000"; - mes "2. Hornet"; - mes "Usually benign, they will attack in"; - mes "groups if one of them is harmed."; - mes "^0099FFItem Drops^000000: Bee Sting, Jellopy,"; - mes "Green Herb"; - next; - mes "^FF0000[Vol. 4: Small Wind Monsters]^000000"; - mes "3. Creamy"; - mes "A flying monster with beautiful"; - mes "wings. It will escape by"; - mes "teleporting if it thinks that it is"; - mes "in grave danger."; - mes "^0099FFItem Drops^000000: Powder of Butterfly,"; - mes "Honey, Butterfly Wing, Flower"; - next; - mes "^FF0000[Vol. 4: Small Wind Monsters]^000000"; - mes "4. Stainer"; - mes "Tiny little insect with a splended,"; - mes "ladybug-like shell. It can sense"; - mes "magic and will attack once a spell"; - mes "begins casting."; - mes "^0099FFItem Drops^000000: Rainbow Shell, Garlet"; - mes "Shell, Solid Shell"; - next; - mes "^FF0000[Vol. 4: Small Wind Monsters]^000000"; - mes "5. Steel Chonchon"; - mes "Similar to Chonchon, but is yellow"; - mes "and green. It picks up everything"; - mes "from the ground, so be careful not"; - mes "to drop items."; - mes "^0099FFItem Drops^000000: Garlet, Shell, Solid"; - mes "Shell"; - next; - mes "^FF0000[Vol. 4: Small Wind Monsters]^000000"; - mes "6. Dustiness"; - mes "This flying monsters has a high"; - mes "dodge rate, so if you have low"; - mes "attack accuracy, you may want to"; - mes "leave it alone."; - mes "^0099FFItem Drops^000000: Moth Dust, Moth Wing"; - mes "Insect Feeler, Red Herb"; - next; - mes "^FF0000[Vol. 4: Small Wind Monsters]^000000"; - mes "7. Hunter Fly"; - mes "Winged insect covered in the blood"; - mes "of innocents. It's incredibly"; - mes "quick, as well as strong. Novices"; - mes "must flee from this monster at all"; - mes "cost."; - mes "^0099FFItem Drops^000000: Solid Shell, Zargon"; - next; - break; - case 2: - mes "^FF0000[Vol. 5: Medium Wind Monsters]^000000"; - mes "1. Condor"; - mes "A bald, funny looking vulture-like"; - mes "bird. They tend to attack in a"; - mes "group if one of them is"; - mes "threatened."; - mes "^0099FFItem Drops^000000: Talon, Arrow, Meat,"; - mes "Feather of Birds"; - next; - mes "^FF0000[Vol. 5: Medium Wind Monsters]^000000"; - mes "2. Cobold the 1st"; - mes "A monster looks like a baby wolf,"; - mes "but it is smart enough to make and"; - mes "use tools. Although Kobolds are"; - mes "cute, they're actually quite"; - mes "hostile."; - mes "^0099FFItem Drops^000000: Blue Hair, Zargon,"; - mes "Yellow Herb"; - next; - mes "^FF0000[Vol. 5: Medium Wind Monsters]^000000"; - mes "3. Petite"; - mes "A tiny, cute flying Dragon. There"; - mes "is another kind of Petite that"; - mes "walks, but it is of the Earth"; - mes "property."; - mes "^0099FFItem Drops^000000: Dragon Canine, Dragon"; - mes "Tail, Zargon"; - next; - break; - case 3: - mes "^FF0000[Vol. 6: Great Wind Monsters]^000000"; - mes "1. Joker"; - mes "A large, enchanted playing card. If"; - mes "you don't have good attack"; - mes "accuracy, the stakes are against"; - mes "you when fighting Joker."; - mes "^0099FFItem Drops^000000: High Heels"; - next; - break; - case 4: - close2; - set .@loop2,0; - end; - } + case 2: + while(1) { + switch(select("Small Sized Monsters:Medium Sized Monsters:Great Sized Monsters:Cancel")) { + case 1: + mes "^FF0000[Vol. 4: Small Wind Monsters]^000000"; + mes "1. Chonchon"; + mes "Fly monsters that move with great"; + mes "speed. Amazingly, they can heal in"; + mes "the presense of fecal matter."; + mes "^0099FFItem Drops^000000: Shell, Jellopy, Fly"; + mes "Wing"; + next; + mes "^FF0000[Vol. 4: Small Wind Monsters]^000000"; + mes "2. Hornet"; + mes "Usually benign, they will attack in"; + mes "groups if one of them is harmed."; + mes "^0099FFItem Drops^000000: Bee Sting, Jellopy,"; + mes "Green Herb"; + next; + mes "^FF0000[Vol. 4: Small Wind Monsters]^000000"; + mes "3. Creamy"; + mes "A flying monster with beautiful"; + mes "wings. It will escape by"; + mes "teleporting if it thinks that it is"; + mes "in grave danger."; + mes "^0099FFItem Drops^000000: Powder of Butterfly,"; + mes "Honey, Butterfly Wing, Flower"; + next; + mes "^FF0000[Vol. 4: Small Wind Monsters]^000000"; + mes "4. Stainer"; + mes "Tiny little insect with a splended,"; + mes "ladybug-like shell. It can sense"; + mes "magic and will attack once a spell"; + mes "begins casting."; + mes "^0099FFItem Drops^000000: Rainbow Shell, Garlet"; + mes "Shell, Solid Shell"; + next; + mes "^FF0000[Vol. 4: Small Wind Monsters]^000000"; + mes "5. Steel Chonchon"; + mes "Similar to Chonchon, but is yellow"; + mes "and green. It picks up everything"; + mes "from the ground, so be careful not"; + mes "to drop items."; + mes "^0099FFItem Drops^000000: Garlet, Shell, Solid"; + mes "Shell"; + next; + mes "^FF0000[Vol. 4: Small Wind Monsters]^000000"; + mes "6. Dustiness"; + mes "This flying monsters has a high"; + mes "dodge rate, so if you have low"; + mes "attack accuracy, you may want to"; + mes "leave it alone."; + mes "^0099FFItem Drops^000000: Moth Dust, Moth Wing"; + mes "Insect Feeler, Red Herb"; + next; + mes "^FF0000[Vol. 4: Small Wind Monsters]^000000"; + mes "7. Hunter Fly"; + mes "Winged insect covered in the blood"; + mes "of innocents. It's incredibly"; + mes "quick, as well as strong. Novices"; + mes "must flee from this monster at all"; + mes "cost."; + mes "^0099FFItem Drops^000000: Solid Shell, Zargon"; + next; + break; + case 2: + mes "^FF0000[Vol. 5: Medium Wind Monsters]^000000"; + mes "1. Condor"; + mes "A bald, funny looking vulture-like"; + mes "bird. They tend to attack in a"; + mes "group if one of them is"; + mes "threatened."; + mes "^0099FFItem Drops^000000: Talon, Arrow, Meat,"; + mes "Feather of Birds"; + next; + mes "^FF0000[Vol. 5: Medium Wind Monsters]^000000"; + mes "2. Cobold the 1st"; + mes "A monster looks like a baby wolf,"; + mes "but it is smart enough to make and"; + mes "use tools. Although Kobolds are"; + mes "cute, they're actually quite"; + mes "hostile."; + mes "^0099FFItem Drops^000000: Blue Hair, Zargon,"; + mes "Yellow Herb"; + next; + mes "^FF0000[Vol. 5: Medium Wind Monsters]^000000"; + mes "3. Petite"; + mes "A tiny, cute flying Dragon. There"; + mes "is another kind of Petite that"; + mes "walks, but it is of the Earth"; + mes "property."; + mes "^0099FFItem Drops^000000: Dragon Canine, Dragon"; + mes "Tail, Zargon"; + next; + break; + case 3: + mes "^FF0000[Vol. 6: Great Wind Monsters]^000000"; + mes "1. Joker"; + mes "A large, enchanted playing card. If"; + mes "you don't have good attack"; + mes "accuracy, the stakes are against"; + mes "you when fighting Joker."; + mes "^0099FFItem Drops^000000: High Heels"; + next; + break; + case 4: + close; } + } - case 3: - while(.@loop2) { - switch(select("Small Sized Monsters:Medium Sized Monsters:Great Sized Monsters:Cancel")) { - case 1: - mes "^FF0000[Vol. 7: Small Ghost Monsters]^000000"; - mes "1. Whisper"; - mes "A piece of living fabric that gives"; - mes "off spooky vibes. Sometimes, it"; - mes "likes to turn invisible..."; - mes "^0099FFItem Drops^000000: Fabric"; - next; - mes "^FF0000[Vol. 7: Small Ghost Monsters]^000000"; - mes "2. Marionette"; - mes "A monster reborn as a cursed doll"; - mes "that is bound to strings attached"; - mes "to wooden sticks."; - mes "^0099FFItem Drops^000000: Golden Hair, Trunk"; - next; - break; - case 2: - mes "^FF0000[Vol. 8: Medium Ghost Monsters]^000000"; - mes "1. Eggyra"; - mes "A weird, robotic egg looking thing"; - mes "that waddles when it walks. No one"; - mes "knows where these things come"; - mes "from."; - mes "^0099FFItem Drops^000000: Scell, Sticky Mucus,"; - mes "Red Herb"; - next; - break; - case 3: - mes "^FF0000[Vol. 9: Great Ghost Monsters]^000000"; - mes "1. Nightmare"; - mes "A ghostly horse that radiates a"; - mes "violet aura of evil."; - mes "^0099FFItem Drops^000000: Horseshoe, Blue Herb"; - next; - mes "^FF0000[Vol. 9: Great Ghost Monsters]^000000"; - mes "2. Medusa"; - mes "Monster with hair composed of"; - mes "snakes. It is rumoured to turn"; - mes "people into stone if they look into"; - mes "her eyes."; - mes "^0099FFItem Drops^000000: Medusa Head, Horrendous"; - mes "Hair, White Herb"; - next; - break; - case 4: - close2; - set .@loop2,0; - end; - } + case 3: + while(1) { + switch(select("Small Sized Monsters:Medium Sized Monsters:Great Sized Monsters:Cancel")) { + case 1: + mes "^FF0000[Vol. 7: Small Ghost Monsters]^000000"; + mes "1. Whisper"; + mes "A piece of living fabric that gives"; + mes "off spooky vibes. Sometimes, it"; + mes "likes to turn invisible..."; + mes "^0099FFItem Drops^000000: Fabric"; + next; + mes "^FF0000[Vol. 7: Small Ghost Monsters]^000000"; + mes "2. Marionette"; + mes "A monster reborn as a cursed doll"; + mes "that is bound to strings attached"; + mes "to wooden sticks."; + mes "^0099FFItem Drops^000000: Golden Hair, Trunk"; + next; + break; + case 2: + mes "^FF0000[Vol. 8: Medium Ghost Monsters]^000000"; + mes "1. Eggyra"; + mes "A weird, robotic egg looking thing"; + mes "that waddles when it walks. No one"; + mes "knows where these things come"; + mes "from."; + mes "^0099FFItem Drops^000000: Scell, Sticky Mucus,"; + mes "Red Herb"; + next; + break; + case 3: + mes "^FF0000[Vol. 9: Great Ghost Monsters]^000000"; + mes "1. Nightmare"; + mes "A ghostly horse that radiates a"; + mes "violet aura of evil."; + mes "^0099FFItem Drops^000000: Horseshoe, Blue Herb"; + next; + mes "^FF0000[Vol. 9: Great Ghost Monsters]^000000"; + mes "2. Medusa"; + mes "Monster with hair composed of"; + mes "snakes. It is rumoured to turn"; + mes "people into stone if they look into"; + mes "her eyes."; + mes "^0099FFItem Drops^000000: Medusa Head, Horrendous"; + mes "Hair, White Herb"; + next; + break; + case 4: + close; + } + } + case 4: + close; + } +} + +prt_in,159,56,4 script Monster Encyclopedia#2pr HIDDEN_NPC,{ + mes "^FF0000[Monster Encyclopedia]^000000"; + mes "This is a Monster Encyclopedia"; + mes "containing information on Earth,"; + mes "Fire and Neutral property"; + mes "monsters."; + next; + switch(select("Earth Property Monsters:Fire Property Monsters:Neutral Property Monsters:Cancel")) { + case 1: + while(1) { + switch(select("Small Sized Monsters:Medium Sized Monsters:Great Sized Monsters:Cancel")) { + case 1: + mes "^FF0000[Vol. 10: Small Earth Monsters]^000000"; + mes "1. Fabre"; + mes "The weak and small larva of Creamy."; + mes "Although some say it is cute, the"; + mes "author must disagree."; + mes "Whole-heartedly."; + mes "^0099FFItem Drops^000000: Feather, Fluff, Green"; + mes "Herb, Clover"; + next; + mes "^FF0000[Vol. 10: Small Earth Monsters]^000000"; + mes "2. Pupa"; + mes "Monster that is the pupal stage of"; + mes "Fabre. It doesn't attack at all, so"; + mes "it's easy to kill for Novices."; + mes "^0099FFItem Drops^000000: Chrysalis, Sticky"; + mes "Mucus"; + next; + mes "^FF0000[Vol. 10: Small Earth Monsters]^000000"; + mes "3. Martin"; + mes "An adorable mole wearing a safety"; + mes "helmet. He's deathly afraid of"; + mes "cave-ins and occasionally stops to"; + mes "cower in fear."; + mes "^0099FFItem Drops^000000: Mole Whiskers, Mole"; + mes "Claw"; + next; + mes "^FF0000[Vol. 10: Small Earth Monsters]^000000"; + mes "4. Savage Bebe"; + mes "Tiny, pink baby Savage. It's"; + mes "disheartening to know that it grows"; + mes "up to become ugly-looking."; + mes "^0099FFItem Drops^000000: Animal Skin, Meat,"; + mes "Arrow, Feather"; + next; + mes "^FF0000[Vol. 10: Small Earth Monsters]^000000"; + mes "5. Andre"; + mes "A kind of worker ant, Andres are"; + mes "yellow, very diligent and gather"; + mes "everything in sight for the Queen"; + mes "Ant."; + mes "^0099FFItem Drops^000000: Worm Peeling, Garlet,"; + mes "Sticky Mucus, Shell"; + next; + mes "^FF0000[Vol. 10: Small Earth Monsters]^000000"; + mes "6. Coco"; + mes "A small Squirrel with dark"; + mes "piercing eyes. It's always holding"; + mes "an Acorn, and would be cute if it"; + mes "didn't always have a look of utter"; + mes "contempt."; + mes "^0099FFItem Drops^000000: Acorn, Fluff, Animal"; + mes "Skin, Sweet Potato"; + next; + mes "^FF0000[Vol. 10: Small Earth Monsters]^000000"; + mes "7. Piere"; + mes "Pieres are green worker ants that"; + mes "are subtly different than Andres."; + mes "^0099FFItem Drops^000000: Worm Peeling, Garlet,"; + mes "Sticky Mucus, Shell"; + next; + mes "^FF0000[Vol. 10: Small Earth Monsters]^000000"; + mes "8. Smokie"; + mes "A chubby little raccoon that loves"; + mes "nothing better than to scamper."; + mes "It's rumored to use a magic leaf to"; + mes "become invisible!"; + mes "^0099FFItem Drops^000000: Raccoon Leaf, Animal"; + mes "Skin, Sweet Potato"; + next; + mes "^FF0000[Vol. 10: Small Earth Monsters]^000000"; + mes "9. Deniro"; + mes "Red worker ants that live to serve"; + mes "the Queen Ant. If there's anything"; + mes "on the ground, they'll pick it up."; + mes "^0099FFItem Drops^000000: Worm Peeling, Garlet,"; + mes "Sticky Mucus, Shell"; + next; + mes "^FF0000[Vol. 10: Small Earth Monsters]^000000"; + mes "10. Yoyo"; + mes "A naughty monkey that picks up"; + mes "anything from the ground. They're"; + mes "very quick and will gang up on you"; + mes "if you attack just one of them."; + mes "^0099FFItem Drops^000000: Yoyo Tail, Banana,"; + mes "Yellow Herb, Animal Skin"; + next; + mes "^FF0000[Vol. 10: Small Earth Monsters]^000000"; + mes "11. Vitata"; + mes "Plump worker ants that heal the"; + mes "other ants in their colony. When"; + mes "killed their bodies leak... honey?"; + mes "^0099FFItem Drops^000000: Worm Peeling, Scell,"; + mes "Honey"; + next; + mes "^FF0000[Vol. 10: Small Earth Monsters]^000000"; + mes "12. Caramel"; + mes "An adorable porcupine with tiny"; + mes "spiky quills. However, it gets"; + mes "incredibly angry when touched."; + mes "^0099FFItem Drops^000000: Porcupine Quill,"; + mes "Animal Skin"; + next; + mes "^FF0000[Vol. 10: Small Earth Monsters]^000000"; + mes "13. Giearth"; + mes "An elderly pixie that wanders caves"; + mes "to gather ores. They're incredible"; + mes "chain smokers."; + mes "^0099FFItem Drops^000000: Old Pixie's Moustache"; + next; + break; + case 2: + mes "^FF0000[Vol. 11: Medium Earth Monsters]^000000"; + mes "1. Willow"; + mes "Creature reborn from an old tree."; + mes "Its features and the sounds it"; + mes "makes are incredibly eerie."; + mes "^0099FFItem Drops^000000: Tree Root, Trunk, Red"; + mes "Herb, Sweet Potato"; + next; + mes "^FF0000[Vol. 11: Medium Earth Monsters]^000000"; + mes "2. Rocker"; + mes "A lazy grasshopper that loves to"; + mes "play the violin, just like in"; + mes "Aesop's fable."; + mes "^0099FFItem Drops^000000: Grasshopper's Leg,"; + mes "Jellopy"; + next; + mes "^FF0000[Vol. 11: Medium Earth Monsters]^000000"; + mes "3. Mandragora"; + mes "Although it stays in the same"; + mes "place, it can attack passerby from"; + mes "a distance using underground"; + mes "stalks."; + mes "^0099FFItem Drops^000000: Stem, Green Herb,"; + mes "Shoot"; + next; + mes "^FF0000[Vol. 11: Medium Earth Monsters]^000000"; + mes "4. Wolf"; + mes "Wild, roving wolves with blue"; + mes "manes. They tend to attack as a"; + mes "pack when even one of them is"; + mes "threatened."; + mes "^0099FFItem Drops^000000: Wolf Claw, Meat,"; + mes "Monster's Feed, Animal Skin"; + next; + mes "^FF0000[Vol. 11: Medium Earth Monsters]^000000"; + mes "5. Snake"; + mes "Green snake that lives in the"; + mes "forests and deserts. They're not"; + mes "poisonous, but their bites still"; + mes "hurt."; + mes "^0099FFItem Drops^000000: Snake Scale, Red Herb"; + next; + mes "^FF0000[Vol. 11: Medium Earth Monsters]^000000"; + mes "6. Horn"; + mes "Although it looks fierce, it's"; + mes "actually a peaceful insect. It"; + mes "roams around fields with a"; + mes "crunching sound."; + mes "^0099FFItem Drops^000000: Horn, Shell, Solid"; + mes "Shell"; + next; + mes "^FF0000[Vol. 11: Medium Earth Monsters]^000000"; + mes "7. Orc Warrior"; + mes "A warrior of the proud race of"; + mes "Orcs. At one time, Orcs and humans"; + mes "were allies, but now they are"; + mes "bitter enemies."; + mes "^0099FFItem Drops^000000: Orcish Voucher"; + next; + mes "^FF0000[Vol. 11: Medium Earth Monsters]^000000"; + mes "8. Hode"; + mes "A huge earthworm that usually hides"; + mes "under the ground. It can usually be"; + mes "found in the desert."; + mes "^0099FFItem Drops^000000: Earthworm Peeling,"; + mes "Sticky Mucus"; + next; + mes "^FF0000[Vol. 11: Medium Earth Monsters]^000000"; + mes "9. Mantis"; + mes "It wanders about fields, waving a"; + mes "tiny fan. An entire martial arts"; + mes "style is based on the movements of"; + mes "this insect."; + mes "^0099FFItem Drops^000000: Mantis Scythe, Scell"; + mes "Solid Shell, Red Herb"; + next; + mes "^FF0000[Vol. 11: Medium Earth Monsters]^000000"; + mes "10. Savage"; + mes "A wild boar that walks around,"; + mes "grunting restlessly. Its rough"; + mes "looking tusks make it hard to"; + mes "believe it was cute as a baby."; + mes "^0099FFItem Drops^000000: Mane, Animal Skin"; + next; + mes "^FF0000[Vol. 11: Medium Earth Monsters]^000000"; + mes "11. Petite"; + mes "Cute, walking Dragon. There is"; + mes "another kind of Petite that flys,"; + mes "but it is of the Wind property."; + mes "^0099FFItem Drops^000000: Dragon Canine, Dragon"; + mes "Tail, Zargon"; + next; + break; + case 3: + mes "^FF0000[Vol. 12: Great Earth Monsters]^000000"; + mes "1. Worm Tail"; + mes "A strange monster that uses"; + mes "whiping attacks with a tail that"; + mes "looks like a blade of grass."; + mes "^0099FFItem Drops^000000: Pointed Scale, Yellow"; + mes "Herb"; + next; + mes "^FF0000[Vol. 12: Great Earth Monsters]^000000"; + mes "2. Muka"; + mes "Cute Cactus commonly found in the"; + mes "desert. It tries to threaten"; + mes "passerby with its growls, but its"; + mes "noises are too funny to be scary."; + mes "^0099FFItem Drops^000000: Cactus Needle, Empty"; + mes "Bottle, Green Herb, Red Herb"; + next; + mes "^FF0000[Vol. 12: Great Earth Monsters]^000000"; + mes "3. Bigfoot"; + mes "Although its name may be"; + mes "misleading, Bigfoot is actually a"; + mes "large bera. It walks like it owns"; + mes "the forest, and it does."; + mes "^0099FFItem Drops^000000: Bear's Foot Skin,"; + mes "Animal Skin, Sweet Potato"; + next; + mes "^FF0000[Vol. 12: Great Earth Monsters]^000000"; + mes "4. Flora"; + mes "A man-eating plant. Its parts are"; + mes "considered useful for Alchemists to"; + mes "make monsters of their own..."; + mes "^0099FFItem Drops^000000: Maneater Blossom, Stem"; + next; + break; + case 4: + close; + } + } + + case 2: + while(1) { + switch(select("Small Sized Monsters:Medium Sized Monsters:Great Sized Monsters:Cancel")) { + case 1: + mes "^FF0000[Vol. 13: Small Fire Monsters]^000000"; + mes "1. Picky"; + mes "Cute little chick that may grow up"; + mes "to be a Peco Peco, unless, of"; + mes "course, you kill it."; + mes "^0099FFItem Drops^000000: Feather of Birds,"; + mes "Feather, Red Herb, Milk"; + next; + mes "^FF0000[Vol. 13: Small Fire Monsters]^000000"; + mes "2. Baby Desert Wolf"; + mes "A Baby Desert Wolf that tires to"; + mes "threaten adventurers with its cute,"; + mes "little yelps."; + mes "^0099FFItem Drops^000000: Animal Skin, Meat"; + next; + mes "^FF0000[Vol. 13: Small Fire Monsters]^000000"; + mes "3. Horong,"; + mes "An eerie-looking, violent fireball."; + mes "It's useless to use hiding skills"; + mes "near this vengeful spirit."; + mes "^0099FFItem Drops^000000: Stone Heart, Zargon,"; + mes "Fire Arrow"; + next; + break; + case 2: + mes "^FF0000[Vol. 14: Medium Fire Monsters]^000000"; + mes "1. Drops"; + mes "The desert version of the Poring"; + mes "that has a pale orange colour. It"; + mes "seems a tiny bit stronger than"; + mes "Poring, though."; + mes "^0099FFItem Drops^000000: Jellopy, Sticky Mucus,"; + mes "Apple, Empty Bottle, Red Herb"; + next; + mes "^FF0000[Vol. 14: Medium Fire Monsters]^000000"; + mes "2. Elder Willow"; + mes "The elderly version of the Willow"; + mes "monster. It's red and can even use"; + mes "some magic."; + mes "^0099FFItem Drops^000000: Resin, Trunk, Sweet"; + mes "Potato"; + next; + mes "^FF0000[Vol. 14: Medium Fire Monsters]^000000"; + mes "3. Metaller"; + mes "The evolved form of Rocker. It is"; + mes "dim brown and lives in the desert."; + mes "This cricket will pick items up"; + mes "from the ground."; + mes "^0099FFItem Drops^000000: Red Blood,"; + mes "Grasshopper's Leg, Scell, Shell"; + next; + mes "^FF0000[Vol. 14: Medium Fire Monsters]^000000"; + mes "4. Zerom"; + mes "An undead slave. Sadly, not even"; + mes "death will bring peace to the"; + mes "abusive hours of labor Zerom"; + mes "suffers from his Pharaoh."; + mes "^0099FFItem Drops^000000: Panties"; + next; + mes "^FF0000[Vol. 14: Medium Fire Monsters]^000000"; + mes "5. Scorpion"; + mes "Scorpions can be found in areas"; + mes "where there is desert. It has a"; + mes "beautiful colour, but can be"; + mes "dangerous."; + mes "^0099FFItem Drops^000000: Scorpion Tail, Green"; + mes "Herb, Yellow Herb"; + next; + mes "^FF0000[Vol. 14: Medium Fire Monsters]^000000"; + mes "6. Desert Wolf"; + mes "Wolves in the desert are much"; + mes "stronger than those living in the"; + mes "forset. If you strike one, you'll"; + mes "have to deal with the whole pack."; + mes "Item Drops; Animal Skin, Mink"; + mes "Coat, Meat, Wolf Claw"; + next; + mes "^FF0000[Vol. 14: Medium Fire Monsters]^000000"; + mes "7. Frilldora"; + mes "Lizard with a frilly, fan-like"; + mes "neck. Although it looks rediculous,"; + mes "it's actually pretty strong."; + mes "^0099FFItem Drops^000000: Frill, Reptile Tongue,"; + mes "Red Herb, Zargon"; + next; + mes "^FF0000[Vol. 14: Medium Fire Monsters]^000000"; + mes "8. Cobold the 3rd"; + mes "A blue, wolf-like monster that is"; + mes "amazingly cuddly. However, all"; + mes "Kobolds have sworn to hate humans."; + mes "There are different kinds of"; + mes "Kobolds that use different"; + mes "weapons."; + mes "^0099FFItem Drops^000000: Blue Hair, Zargon,"; + mes "Yellow Herb"; + next; + mes "^FF0000[Vol. 14: Medium Fire Monsters]^000000"; + mes "9. Jakk"; + mes "A spooky, Pumpkin-headed monster"; + mes "that dresses in a slick formal"; + mes "suit. It's been known to invade"; + mes "Prontera on St. Hallow's Eve in the"; + mes "past."; + mes "^0099FFItem Drops^000000: Jack'o'Pumpkin, Zargon"; + next; + break; + case 3: + mes "^FF0000[Vol. 15: Great Fire Monsters]^000000"; + mes "1. Peco Peco"; + mes "Nowadays peco peco is popular as a"; + mes "vehicle for Knights and Crusaders."; + mes "They live in the Desert or Forest"; + mes "and will also attack in packs if"; + mes "one of them is threatened."; + mes "^0099FFItem Drops^000000: Bill of Birds, Yellow"; + mes "Herb, Red Herb"; + next; + mes "^FF0000[Vol. 15: Great Fire Monsters]^000000"; + mes "2. Marduk"; + mes "A gangly wizard of darkness. Look"; + mes "out, it knows magic!"; + mes "^0099FFItem Drops^000000: Flame Heart"; + next; + break; + case 4: + close; } - - case 4: - close2; - set .@loop1,0; - end; } - } -} - -prt_in,159,56,4 script Monster Encyclopedia#2pr 111,{ - mes "^FF0000[Monster Encyclopedia]^000000"; - mes "This is a Monster Encyclopedia"; - mes "containing information on Earth,"; - mes "Fire and Neutral property"; - mes "monsters."; - next; - set .@loop1,1; - while(.@loop1) { - set .@loop2,1; - switch(select("Earth Property Monsters:Fire Property Monsters:Neutral Property Monsters:Cancel")) { - case 1: - while(.@loop2) { - switch(select("Small Sized Monsters:Medium Sized Monsters:Great Sized Monsters:Cancel")) { - case 1: - mes "^FF0000[Vol. 10: Small Earth Monsters]^000000"; - mes "1. Fabre"; - mes "The weak and small larva of Creamy."; - mes "Although some say it is cute, the"; - mes "author must disagree."; - mes "Whole-heartedly."; - mes "^0099FFItem Drops^000000: Feather, Fluff, Green"; - mes "Herb, Clover"; - next; - mes "^FF0000[Vol. 10: Small Earth Monsters]^000000"; - mes "2. Pupa"; - mes "Monster that is the pupal stage of"; - mes "Fabre. It doesn't attack at all, so"; - mes "it's easy to kill for Novices."; - mes "^0099FFItem Drops^000000: Chrysalis, Sticky"; - mes "Mucus"; - next; - mes "^FF0000[Vol. 10: Small Earth Monsters]^000000"; - mes "3. Martin"; - mes "An adorable mole wearing a safety"; - mes "helmet. He's deathly afraid of"; - mes "cave-ins and occasionally stops to"; - mes "cower in fear."; - mes "^0099FFItem Drops^000000: Mole Whiskers, Mole"; - mes "Claw"; - next; - mes "^FF0000[Vol. 10: Small Earth Monsters]^000000"; - mes "4. Savage Bebe"; - mes "Tiny, pink baby Savage. It's"; - mes "disheartening to know that it grows"; - mes "up to become ugly-looking."; - mes "^0099FFItem Drops^000000: Animal Skin, Meat,"; - mes "Arrow, Feather"; - next; - mes "^FF0000[Vol. 10: Small Earth Monsters]^000000"; - mes "5. Andre"; - mes "A kind of worker ant, Andres are"; - mes "yellow, very diligent and gather"; - mes "everything in sight for the Queen"; - mes "Ant."; - mes "^0099FFItem Drops^000000: Worm Peeling, Garlet,"; - mes "Sticky Mucus, Shell"; - next; - mes "^FF0000[Vol. 10: Small Earth Monsters]^000000"; - mes "6. Coco"; - mes "A small Squirrel with dark"; - mes "piercing eyes. It's always holding"; - mes "an Acorn, and would be cute if it"; - mes "didn't always have a look of utter"; - mes "contempt."; - mes "^0099FFItem Drops^000000: Acorn, Fluff, Animal"; - mes "Skin, Sweet Potato"; - next; - mes "^FF0000[Vol. 10: Small Earth Monsters]^000000"; - mes "7. Piere"; - mes "Pieres are green worker ants that"; - mes "are subtly different than Andres."; - mes "^0099FFItem Drops^000000: Worm Peeling, Garlet,"; - mes "Sticky Mucus, Shell"; - next; - mes "^FF0000[Vol. 10: Small Earth Monsters]^000000"; - mes "8. Smokie"; - mes "A chubby little raccoon that loves"; - mes "nothing better than to scamper."; - mes "It's rumored to use a magic leaf to"; - mes "become invisible!"; - mes "^0099FFItem Drops^000000: Raccoon Leaf, Animal"; - mes "Skin, Sweet Potato"; - next; - mes "^FF0000[Vol. 10: Small Earth Monsters]^000000"; - mes "9. Deniro"; - mes "Red worker ants that live to serve"; - mes "the Queen Ant. If there's anything"; - mes "on the ground, they'll pick it up."; - mes "^0099FFItem Drops^000000: Worm Peeling, Garlet,"; - mes "Sticky Mucus, Shell"; - next; - mes "^FF0000[Vol. 10: Small Earth Monsters]^000000"; - mes "10. Yoyo"; - mes "A naughty monkey that picks up"; - mes "anything from the ground. They're"; - mes "very quick and will gang up on you"; - mes "if you attack just one of them."; - mes "^0099FFItem Drops^000000: Yoyo Tail, Banana,"; - mes "Yellow Herb, Animal Skin"; - next; - mes "^FF0000[Vol. 10: Small Earth Monsters]^000000"; - mes "11. Vitata"; - mes "Plump worker ants that heal the"; - mes "other ants in their colony. When"; - mes "killed their bodies leak... honey?"; - mes "^0099FFItem Drops^000000: Worm Peeling, Scell,"; - mes "Honey"; - next; - mes "^FF0000[Vol. 10: Small Earth Monsters]^000000"; - mes "12. Caramel"; - mes "An adorable porcupine with tiny"; - mes "spiky quills. However, it gets"; - mes "incredibly angry when touched."; - mes "^0099FFItem Drops^000000: Porcupine Quill,"; - mes "Animal Skin"; - next; - mes "^FF0000[Vol. 10: Small Earth Monsters]^000000"; - mes "13. Giearth"; - mes "An elderly pixie that wanders caves"; - mes "to gather ores. They're incredible"; - mes "chain smokers."; - mes "^0099FFItem Drops^000000: Old Pixie's Moustache"; - next; - break; - case 2: - mes "^FF0000[Vol. 11: Medium Earth Monsters]^000000"; - mes "1. Willow"; - mes "Creature reborn from an old tree."; - mes "Its features and the sounds it"; - mes "makes are incredibly eerie."; - mes "^0099FFItem Drops^000000: Tree Root, Trunk, Red"; - mes "Herb, Sweet Potato"; - next; - mes "^FF0000[Vol. 11: Medium Earth Monsters]^000000"; - mes "2. Rocker"; - mes "A lazy grasshopper that loves to"; - mes "play the violin, just like in"; - mes "Aesop's fable."; - mes "^0099FFItem Drops^000000: Grasshopper's Leg,"; - mes "Jellopy"; - next; - mes "^FF0000[Vol. 11: Medium Earth Monsters]^000000"; - mes "3. Mandragora"; - mes "Although it stays in the same"; - mes "place, it can attack passerby from"; - mes "a distance using underground"; - mes "stalks."; - mes "^0099FFItem Drops^000000: Stem, Green Herb,"; - mes "Shoot"; - next; - mes "^FF0000[Vol. 11: Medium Earth Monsters]^000000"; - mes "4. Wolf"; - mes "Wild, roving wolves with blue"; - mes "manes. They tend to attack as a"; - mes "pack when even one of them is"; - mes "threatened."; - mes "^0099FFItem Drops^000000: Wolf Claw, Meat,"; - mes "Monster's Feed, Animal Skin"; - next; - mes "^FF0000[Vol. 11: Medium Earth Monsters]^000000"; - mes "5. Snake"; - mes "Green snake that lives in the"; - mes "forests and deserts. They're not"; - mes "poisonous, but their bites still"; - mes "hurt."; - mes "^0099FFItem Drops^000000: Snake Scale, Red Herb"; - next; - mes "^FF0000[Vol. 11: Medium Earth Monsters]^000000"; - mes "6. Horn"; - mes "Although it looks fierce, it's"; - mes "actually a peaceful insect. It"; - mes "roams around fields with a"; - mes "crunching sound."; - mes "^0099FFItem Drops^000000: Horn, Shell, Solid"; - mes "Shell"; - next; - mes "^FF0000[Vol. 11: Medium Earth Monsters]^000000"; - mes "7. Orc Warrior"; - mes "A warrior of the proud race of"; - mes "Orcs. At one time, Orcs and humans"; - mes "were allies, but now they are"; - mes "bitter enemies."; - mes "^0099FFItem Drops^000000: Orcish Voucher"; - next; - mes "^FF0000[Vol. 11: Medium Earth Monsters]^000000"; - mes "8. Hode"; - mes "A huge earthworm that usually hides"; - mes "under the ground. It can usually be"; - mes "found in the desert."; - mes "^0099FFItem Drops^000000: Earthworm Peeling,"; - mes "Sticky Mucus"; - next; - mes "^FF0000[Vol. 11: Medium Earth Monsters]^000000"; - mes "9. Mantis"; - mes "It wanders about fields, waving a"; - mes "tiny fan. An entire martial arts"; - mes "style is based on the movements of"; - mes "this insect."; - mes "^0099FFItem Drops^000000: Mantis Scythe, Scell"; - mes "Solid Shell, Red Herb"; - next; - mes "^FF0000[Vol. 11: Medium Earth Monsters]^000000"; - mes "10. Savage"; - mes "A wild boar that walks around,"; - mes "grunting restlessly. Its rough"; - mes "looking tusks make it hard to"; - mes "believe it was cute as a baby."; - mes "^0099FFItem Drops^000000: Mane, Animal Skin"; - next; - mes "^FF0000[Vol. 11: Medium Earth Monsters]^000000"; - mes "11. Petite"; - mes "Cute, walking Dragon. There is"; - mes "another kind of Petite that flys,"; - mes "but it is of the Wind property."; - mes "^0099FFItem Drops^000000: Dragon Canine, Dragon"; - mes "Tail, Zargon"; - next; - break; - case 3: - mes "^FF0000[Vol. 12: Great Earth Monsters]^000000"; - mes "1. Worm Tail"; - mes "A strange monster that uses"; - mes "whiping attacks with a tail that"; - mes "looks like a blade of grass."; - mes "^0099FFItem Drops^000000: Pointed Scale, Yellow"; - mes "Herb"; - next; - mes "^FF0000[Vol. 12: Great Earth Monsters]^000000"; - mes "2. Muka"; - mes "Cute Cactus commonly found in the"; - mes "desert. It tries to threaten"; - mes "passerby with its growls, but its"; - mes "noises are too funny to be scary."; - mes "^0099FFItem Drops^000000: Cactus Needle, Empty"; - mes "Bottle, Green Herb, Red Herb"; - next; - mes "^FF0000[Vol. 12: Great Earth Monsters]^000000"; - mes "3. Bigfoot"; - mes "Although its name may be"; - mes "misleading, Bigfoot is actually a"; - mes "large bera. It walks like it owns"; - mes "the forest, and it does."; - mes "^0099FFItem Drops^000000: Bear's Foot Skin,"; - mes "Animal Skin, Sweet Potato"; - next; - mes "^FF0000[Vol. 12: Great Earth Monsters]^000000"; - mes "4. Flora"; - mes "A man-eating plant. Its parts are"; - mes "considered useful for Alchemists to"; - mes "make monsters of their own..."; - mes "^0099FFItem Drops^000000: Maneater Blossom, Stem"; - next; - break; - case 4: - close2; - set .@loop2,0; - end; - } - } - case 2: - while(.@loop2) { - switch(select("Small Sized Monsters:Medium Sized Monsters:Great Sized Monsters:Cancel")) { - case 1: - mes "^FF0000[Vol. 13: Small Fire Monsters]^000000"; - mes "1. Picky"; - mes "Cute little chick that may grow up"; - mes "to be a Peco Peco, unless, of"; - mes "course, you kill it."; - mes "^0099FFItem Drops^000000: Feather of Birds,"; - mes "Feather, Red Herb, Milk"; - next; - mes "^FF0000[Vol. 13: Small Fire Monsters]^000000"; - mes "2. Baby Desert Wolf"; - mes "A Baby Desert Wolf that tires to"; - mes "threaten adventurers with its cute,"; - mes "little yelps."; - mes "^0099FFItem Drops^000000: Animal Skin, Meat"; - next; - mes "^FF0000[Vol. 13: Small Fire Monsters]^000000"; - mes "3. Horong,"; - mes "An eerie-looking, violent fireball."; - mes "It's useless to use hiding skills"; - mes "near this vengeful spirit."; - mes "^0099FFItem Drops^000000: Stone Heart, Zargon,"; - mes "Fire Arrow"; - next; - break; - case 2: - mes "^FF0000[Vol. 14: Medium Fire Monsters]^000000"; - mes "1. Drops"; - mes "The desert version of the Poring"; - mes "that has a pale orange colour. It"; - mes "seems a tiny bit stronger than"; - mes "Poring, though."; - mes "^0099FFItem Drops^000000: Jellopy, Sticky Mucus,"; - mes "Apple, Empty Bottle, Red Herb"; - next; - mes "^FF0000[Vol. 14: Medium Fire Monsters]^000000"; - mes "2. Elder Willow"; - mes "The elderly version of the Willow"; - mes "monster. It's red and can even use"; - mes "some magic."; - mes "^0099FFItem Drops^000000: Resin, Trunk, Sweet"; - mes "Potato"; - next; - mes "^FF0000[Vol. 14: Medium Fire Monsters]^000000"; - mes "3. Metaller"; - mes "The evolved form of Rocker. It is"; - mes "dim brown and lives in the desert."; - mes "This cricket will pick items up"; - mes "from the ground."; - mes "^0099FFItem Drops^000000: Red Blood,"; - mes "Grasshopper's Leg, Scell, Shell"; - next; - mes "^FF0000[Vol. 14: Medium Fire Monsters]^000000"; - mes "4. Zerom"; - mes "An undead slave. Sadly, not even"; - mes "death will bring peace to the"; - mes "abusive hours of labor Zerom"; - mes "suffers from his Pharaoh."; - mes "^0099FFItem Drops^000000: Panties"; - next; - mes "^FF0000[Vol. 14: Medium Fire Monsters]^000000"; - mes "5. Scorpion"; - mes "Scorpions can be found in areas"; - mes "where there is desert. It has a"; - mes "beautiful colour, but can be"; - mes "dangerous."; - mes "^0099FFItem Drops^000000: Scorpion Tail, Green"; - mes "Herb, Yellow Herb"; - next; - mes "^FF0000[Vol. 14: Medium Fire Monsters]^000000"; - mes "6. Desert Wolf"; - mes "Wolves in the desert are much"; - mes "stronger than those living in the"; - mes "forset. If you strike one, you'll"; - mes "have to deal with the whole pack."; - mes "Item Drops; Animal Skin, Mink"; - mes "Coat, Meat, Wolf Claw"; - next; - mes "^FF0000[Vol. 14: Medium Fire Monsters]^000000"; - mes "7. Frilldora"; - mes "Lizard with a frilly, fan-like"; - mes "neck. Although it looks rediculous,"; - mes "it's actually pretty strong."; - mes "^0099FFItem Drops^000000: Frill, Reptile Tongue,"; - mes "Red Herb, Zargon"; - next; - mes "^FF0000[Vol. 14: Medium Fire Monsters]^000000"; - mes "8. Cobold the 3rd"; - mes "A blue, wolf-like monster that is"; - mes "amazingly cuddly. However, all"; - mes "Kobolds have sworn to hate humans."; - mes "There are different kinds of"; - mes "Kobolds that use different"; - mes "weapons."; - mes "^0099FFItem Drops^000000: Blue Hair, Zargon,"; - mes "Yellow Herb"; - next; - mes "^FF0000[Vol. 14: Medium Fire Monsters]^000000"; - mes "9. Jakk"; - mes "A spooky, Pumpkin-headed monster"; - mes "that dresses in a slick formal"; - mes "suit. It's been known to invade"; - mes "Prontera on St. Hallow's Eve in the"; - mes "past."; - mes "^0099FFItem Drops^000000: Jack'o'Pumpkin, Zargon"; - next; - break; - case 3: - mes "^FF0000[Vol. 15: Great Fire Monsters]^000000"; - mes "1. Peco Peco"; - mes "Nowadays peco peco is popular as a"; - mes "vehicle for Knights and Crusaders."; - mes "They live in the Desert or Forest"; - mes "and will also attack in packs if"; - mes "one of them is threatened."; - mes "^0099FFItem Drops^000000: Bill of Birds, Yellow"; - mes "Herb, Red Herb"; - next; - mes "^FF0000[Vol. 15: Great Fire Monsters]^000000"; - mes "2. Marduk"; - mes "A gangly wizard of darkness. Look"; - mes "out, it knows magic!"; - mes "^0099FFItem Drops^000000: Flame Heart"; - next; - break; - case 4: - close2; - set .@loop2,0; - end; - } - } - - case 3: - while(.@loop2) { - switch(select("Small Sized Monsters:Medium Sized Monsters:Great Sized Monsters:Cancel")) { - case 1: - mes "^FF0000[Vol. 16: Small Neutral Monsters]^000000"; - mes "1. Lunatic"; - mes "A shaggy monster that looks kind of"; - mes "like a rabbit. Although some may"; - mes "think it's cute, the author"; - mes "believes it to be absolutely"; - mes "hideous. Perhaps that is because of"; - mes "his alleriges."; - mes "^0099FFItem Drops^000000: Clover, Feather,"; - mes "Carrot, Red Herb"; - next; - mes "^FF0000[Vol. 16: Small Neutral Monsters]^000000"; - mes "2. Peco Peco Egg"; - mes "The egg of a Peco Peco. It's small,"; - mes "and defenseless, making it a"; - mes "perfect target for Novices."; - mes "^0099FFItem Drops^000000: Shell, Red Herb,"; - mes "Empty Bottle"; - next; - mes "^FF0000[Vol. 16: Small Neutral Monsters]^000000"; - mes "3. Ant Egg"; - mes "An Ant Egg that is also"; - mes "defenseless. Some of them actually"; - mes "hatch, though."; - mes "^0099FFItem Drops^000000: Shell, Jellopy, Sticky"; - mes "Mucus, Empty Bottle"; - next; - mes "^FF0000[Vol. 16: Small Neutral Monsters]^000000"; - mes "4. Baby Thief Bug"; - mes "Dirty, filthy Creatures that tend"; - mes "to work in groups. Whatever you do,"; - mes "don't let them pollute the Prontera"; - mes "Culvert, it'd be a disaster!"; - mes "^0099FFItem Drops^000000: Worm Peeling, Red Herb,"; - mes "Jellopy"; - next; - break; - case 2: - mes "^FF0000[Vol. 17: Medium Neutral Monsters]^000000"; - mes "^0099FF...^000000"; - next; - mes "^FF0000[Vol. 17: Medium Neutral Monsters]^000000"; - mes "^0099FF...^000000"; - mes "^0099FF......^000000"; - next; - mes "^0099FFSome pages seem to have been ripped^000000"; - mes "^0099FFout of this book, and replaced with^000000"; - mes "^0099FFpinups of the Isis monster. It^000000"; - mes "^0099FFlooks like you'll need to learn^000000"; - mes "^0099FFabout Neutral, medium sizd^000000"; - mes "^0099FFmonsters on your own.^000000"; - next; - break; - case 3: - mes "^FF0000[Vol. 18: Great Neutral Monsters]^000000"; - mes "1. Golem"; - mes "A being of living stone that has"; - mes "been enchanted with black magic. It"; - mes "can recognise spell casting, but"; - mes "moves incredibly slowly due to its"; - mes "weight problem."; - mes "^0099FFItem Drops^000000: Scell"; - next; - break; - case 4: - close2; - set .@loop2,0; - end; - } + case 3: + while(1) { + switch(select("Small Sized Monsters:Medium Sized Monsters:Great Sized Monsters:Cancel")) { + case 1: + mes "^FF0000[Vol. 16: Small Neutral Monsters]^000000"; + mes "1. Lunatic"; + mes "A shaggy monster that looks kind of"; + mes "like a rabbit. Although some may"; + mes "think it's cute, the author"; + mes "believes it to be absolutely"; + mes "hideous. Perhaps that is because of"; + mes "his alleriges."; + mes "^0099FFItem Drops^000000: Clover, Feather,"; + mes "Carrot, Red Herb"; + next; + mes "^FF0000[Vol. 16: Small Neutral Monsters]^000000"; + mes "2. Peco Peco Egg"; + mes "The egg of a Peco Peco. It's small,"; + mes "and defenseless, making it a"; + mes "perfect target for Novices."; + mes "^0099FFItem Drops^000000: Shell, Red Herb,"; + mes "Empty Bottle"; + next; + mes "^FF0000[Vol. 16: Small Neutral Monsters]^000000"; + mes "3. Ant Egg"; + mes "An Ant Egg that is also"; + mes "defenseless. Some of them actually"; + mes "hatch, though."; + mes "^0099FFItem Drops^000000: Shell, Jellopy, Sticky"; + mes "Mucus, Empty Bottle"; + next; + mes "^FF0000[Vol. 16: Small Neutral Monsters]^000000"; + mes "4. Baby Thief Bug"; + mes "Dirty, filthy Creatures that tend"; + mes "to work in groups. Whatever you do,"; + mes "don't let them pollute the Prontera"; + mes "Culvert, it'd be a disaster!"; + mes "^0099FFItem Drops^000000: Worm Peeling, Red Herb,"; + mes "Jellopy"; + next; + break; + case 2: + mes "^FF0000[Vol. 17: Medium Neutral Monsters]^000000"; + mes "^0099FF...^000000"; + next; + mes "^FF0000[Vol. 17: Medium Neutral Monsters]^000000"; + mes "^0099FF...^000000"; + mes "^0099FF......^000000"; + next; + mes "^0099FFSome pages seem to have been ripped^000000"; + mes "^0099FFout of this book, and replaced with^000000"; + mes "^0099FFpinups of the Isis monster. It^000000"; + mes "^0099FFlooks like you'll need to learn^000000"; + mes "^0099FFabout Neutral, medium sizd^000000"; + mes "^0099FFmonsters on your own.^000000"; + next; + break; + case 3: + mes "^FF0000[Vol. 18: Great Neutral Monsters]^000000"; + mes "1. Golem"; + mes "A being of living stone that has"; + mes "been enchanted with black magic. It"; + mes "can recognise spell casting, but"; + mes "moves incredibly slowly due to its"; + mes "weight problem."; + mes "^0099FFItem Drops^000000: Scell"; + next; + break; + case 4: + close; } - - case 4: - close2; - set .@loop1,0; - end; } + case 4: + close; } } -prt_in,161,50,4 script Monster Encyclopedia#3pr 111,{ +prt_in,161,50,4 script Monster Encyclopedia#3pr HIDDEN_NPC,{ mes "^FF0000[Monster Encyclopedia]^000000"; mes "This is a Monster Encyclopedia"; mes "containing information on Dark,"; mes "Poison and Undead monsters."; next; - set .@loop1,1; - while(.@loop1) { - set .@loop2,1; - switch(select("Dark Property Monsters:Poison Property Monsters:Undead Property Monsters:Cancel")) { - case 1: - while(.@loop2) { - switch(select("Small Sized Monsters:Medium Sized Monsters:Great Sized Monsters:Cancel")) { - case 1: - mes "^FF0000[Vol. 19: Small Dark Monsters]^000000"; - mes "1. Thief Bug Egg"; - mes "A filthy egg from a filthy Thief"; - mes "Bug. They make horrible omelets."; - mes "^0099FFItem Drops^000000: Chrysalis, Sticky"; - mes "Mucus"; - next; - mes "^FF0000[Vol. 19: Small Dark Monsters]^000000"; - mes "2. Familiar"; - mes "A gray bat that's not very strong,"; - mes "but really annoying because it"; - mes "attacks very fast and relentlessly"; - mes "pursues passerby."; - mes "^0099FFItem Drops^000000: Tooth of Bat, Fly Wing,"; - mes "Grape, Red Herb"; - next; - mes "^FF0000[Vol. 19: Small Dark Monsters]^000000"; - mes "3. Tarou"; - mes "A tiny, little white mouse. Its"; - mes "squeaks can be heard in the Dead"; - mes "Pit and the Prontera Culvert."; - mes "^0099FFItem Drops^000000: Rat Tail, Animal"; - mes "Skin, Feather, Monster's Feed"; - next; - mes "^FF0000[Vol. 19: Small Dark Monsters]^000000"; - mes "4. Drainliar"; - mes "A blood red bat that's much"; - mes "stronger than Familiar. It also"; - mes "tends to pursue any human it"; - mes "finds."; - mes "^0099FFItem Drops^000000: Tooth of Bat, Red Herb"; - next; - mes "^FF0000[Vol. 19: Small Dark Monsters]^000000"; - mes "5. Dokkaebi"; - mes "A traditional Korean demon with the"; - mes "power to generate wealth. Using"; - mes "Mammonite is no big deal to them."; - mes "^0099FFItem Drops^000000: Dokkaebi Horn"; - next; - mes "^FF0000[Vol. 19: Small Dark Monsters]^000000"; - mes "6. Deviruchi"; - mes "A miniature demon that repeatedly"; - mes "stabs umans with its pitchfork."; - mes "It's cute, but nonetheless a true"; - mes "fiend of darkness."; - mes "^0099FFItem Drops^000000: Little Evil Horn,"; - mes "Little Evil Wing, Zargon"; - next; - break; - case 2: - mes "^FF0000[Vol. 20: Medium Dark Monsters]^000000"; - mes "1. Female Thief Bug"; - mes "Large, brown insects that are"; - mes "gruesome to the eye and disgusting"; - mes "to the touch. Notorious for quickly"; - mes "grabbing whatever drops to the"; - mes "ground."; - mes "^0099FFItem Drops^000000: Worm Peeling, Red Herb,"; - mes "Jellopy, Garlet, Insect Feeler"; - next; - mes "^FF0000[Vol. 20: Medium Dark Monsters]^000000"; - mes "2. Male Thief Bug"; - mes "A large, green insect, the Male"; - mes "Thief Bug is considerably powerful."; - mes "They're also very aggressive"; - mes "towards humans."; - mes "^0099FFItem Drops^000000: Worm Peeling, Red Herb,"; - mes "Jellopy, Garlet, Insect Feeler,"; - mes "Yellow Herb"; - next; - mes "^FF0000[Vol. 20: Medium Dark Monsters]^000000"; - mes "3. Matyr"; - mes "A hound saturated with evil. It's"; - mes "always sleeping, but springs to"; - mes "action after smelling an"; - mes "adventurer."; - mes "^0099FFItem Drops^000000: Monster's Feed,"; - mes "Animal Skin"; - next; - mes "^FF0000[Vol. 20: Medium Dark Monsters]^000000"; - mes "4. Zenorc"; - mes "A dishonourable Orc whose body has"; - mes "been cursed. They continue their"; - mes "shameful ways by looting items that"; - mes "have been dropped to the ground."; - mes "^0099FFItem Drops^000000: Zenorc's Fang, Sticky"; - mes "Mucus, Yellow Herb"; - next; - mes "^FF0000[Vol. 20: Medium Dark Monsters]^000000"; - mes "5. Requiem"; - mes "An ancient slave that carries a"; - mes "heavy coffin on its back. Weary"; - mes "from its labour, Requiem simply"; - mes "collapses, hoping the coffing will"; - mes "hit its mark, when attacking"; - mes "^0099FFItem Drops^000000: Old Blue Box"; - next; - mes "^FF0000[Vol. 20: Medium Dark Monsters]^000000"; - mes "6. Bathory"; - mes "A wart-nosed Witch wearing bunny"; - mes "boxers that will attack anything"; - mes "prettier that her. In other words,"; - mes "she attacks everyone."; - mes "^0099FFItem Drops^000000: Witch Starsand"; - next; - break; - case 3: - mes "^FF0000[Vol. 21: Great Dark Monsters]^000000"; - mes "1. Isis"; - mes "A monster that is half serpent and"; - mes "half woman, as well as one of"; - mes "Osiris' trusted champions."; - mes "^0099FFItem Drops^000000: Scale Skin, Shining"; - mes "Scale"; - next; - mes "^FF0000[Vol. 21: Great Dark Monsters]^000000"; - mes "2. Raydric"; - mes "The soul of a castle guard bound to"; - mes "a living suit of armour through a"; - mes "curse."; - mes "^0099FFItem Drops^000000: Elunium, Chivalry"; - mes "Emblem"; - next; - break; - case 4: - close2; - set .@loop2,0; - end; - } + switch(select("Dark Property Monsters:Poison Property Monsters:Undead Property Monsters:Cancel")) { + case 1: + while(1) { + switch(select("Small Sized Monsters:Medium Sized Monsters:Great Sized Monsters:Cancel")) { + case 1: + mes "^FF0000[Vol. 19: Small Dark Monsters]^000000"; + mes "1. Thief Bug Egg"; + mes "A filthy egg from a filthy Thief"; + mes "Bug. They make horrible omelets."; + mes "^0099FFItem Drops^000000: Chrysalis, Sticky"; + mes "Mucus"; + next; + mes "^FF0000[Vol. 19: Small Dark Monsters]^000000"; + mes "2. Familiar"; + mes "A gray bat that's not very strong,"; + mes "but really annoying because it"; + mes "attacks very fast and relentlessly"; + mes "pursues passerby."; + mes "^0099FFItem Drops^000000: Tooth of Bat, Fly Wing,"; + mes "Grape, Red Herb"; + next; + mes "^FF0000[Vol. 19: Small Dark Monsters]^000000"; + mes "3. Tarou"; + mes "A tiny, little white mouse. Its"; + mes "squeaks can be heard in the Dead"; + mes "Pit and the Prontera Culvert."; + mes "^0099FFItem Drops^000000: Rat Tail, Animal"; + mes "Skin, Feather, Monster's Feed"; + next; + mes "^FF0000[Vol. 19: Small Dark Monsters]^000000"; + mes "4. Drainliar"; + mes "A blood red bat that's much"; + mes "stronger than Familiar. It also"; + mes "tends to pursue any human it"; + mes "finds."; + mes "^0099FFItem Drops^000000: Tooth of Bat, Red Herb"; + next; + mes "^FF0000[Vol. 19: Small Dark Monsters]^000000"; + mes "5. Dokkaebi"; + mes "A traditional Korean demon with the"; + mes "power to generate wealth. Using"; + mes "Mammonite is no big deal to them."; + mes "^0099FFItem Drops^000000: Dokkaebi Horn"; + next; + mes "^FF0000[Vol. 19: Small Dark Monsters]^000000"; + mes "6. Deviruchi"; + mes "A miniature demon that repeatedly"; + mes "stabs umans with its pitchfork."; + mes "It's cute, but nonetheless a true"; + mes "fiend of darkness."; + mes "^0099FFItem Drops^000000: Little Evil Horn,"; + mes "Little Evil Wing, Zargon"; + next; + break; + case 2: + mes "^FF0000[Vol. 20: Medium Dark Monsters]^000000"; + mes "1. Female Thief Bug"; + mes "Large, brown insects that are"; + mes "gruesome to the eye and disgusting"; + mes "to the touch. Notorious for quickly"; + mes "grabbing whatever drops to the"; + mes "ground."; + mes "^0099FFItem Drops^000000: Worm Peeling, Red Herb,"; + mes "Jellopy, Garlet, Insect Feeler"; + next; + mes "^FF0000[Vol. 20: Medium Dark Monsters]^000000"; + mes "2. Male Thief Bug"; + mes "A large, green insect, the Male"; + mes "Thief Bug is considerably powerful."; + mes "They're also very aggressive"; + mes "towards humans."; + mes "^0099FFItem Drops^000000: Worm Peeling, Red Herb,"; + mes "Jellopy, Garlet, Insect Feeler,"; + mes "Yellow Herb"; + next; + mes "^FF0000[Vol. 20: Medium Dark Monsters]^000000"; + mes "3. Matyr"; + mes "A hound saturated with evil. It's"; + mes "always sleeping, but springs to"; + mes "action after smelling an"; + mes "adventurer."; + mes "^0099FFItem Drops^000000: Monster's Feed,"; + mes "Animal Skin"; + next; + mes "^FF0000[Vol. 20: Medium Dark Monsters]^000000"; + mes "4. Zenorc"; + mes "A dishonourable Orc whose body has"; + mes "been cursed. They continue their"; + mes "shameful ways by looting items that"; + mes "have been dropped to the ground."; + mes "^0099FFItem Drops^000000: Zenorc's Fang, Sticky"; + mes "Mucus, Yellow Herb"; + next; + mes "^FF0000[Vol. 20: Medium Dark Monsters]^000000"; + mes "5. Requiem"; + mes "An ancient slave that carries a"; + mes "heavy coffin on its back. Weary"; + mes "from its labour, Requiem simply"; + mes "collapses, hoping the coffing will"; + mes "hit its mark, when attacking"; + mes "^0099FFItem Drops^000000: Old Blue Box"; + next; + mes "^FF0000[Vol. 20: Medium Dark Monsters]^000000"; + mes "6. Bathory"; + mes "A wart-nosed Witch wearing bunny"; + mes "boxers that will attack anything"; + mes "prettier that her. In other words,"; + mes "she attacks everyone."; + mes "^0099FFItem Drops^000000: Witch Starsand"; + next; + break; + case 3: + mes "^FF0000[Vol. 21: Great Dark Monsters]^000000"; + mes "1. Isis"; + mes "A monster that is half serpent and"; + mes "half woman, as well as one of"; + mes "Osiris' trusted champions."; + mes "^0099FFItem Drops^000000: Scale Skin, Shining"; + mes "Scale"; + next; + mes "^FF0000[Vol. 21: Great Dark Monsters]^000000"; + mes "2. Raydric"; + mes "The soul of a castle guard bound to"; + mes "a living suit of armour through a"; + mes "curse."; + mes "^0099FFItem Drops^000000: Elunium, Chivalry"; + mes "Emblem"; + next; + break; + case 4: + close; } - case 2: - while(.@loop2) { - switch(select("Small Sized Monsters:Medium Sized Monsters:Great Sized Monsters:Cancel")) { - case 1: - mes "^FF0000[Vol. 22: Small Poison Monsters]^000000"; - mes "^0099FF...^000000"; - next; - mes "^FF0000[Vol. 22: Small Posion Monsters]^000000"; - mes "^0099FF...^000000"; - mes "^0099FF......^000000"; - next; - mes "^0099FFThere are^000000"; - mes "^0099FFPoring stickers^000000"; - mes "^0099FFall over these pages!^000000"; - next; - mes "^0099FFIt looks like you'll have to learn^000000"; - mes "^0099FFabout small, poisonous monsters all^000000"; - mes "^0099FFon your own.^000000"; - next; - break; - case 2: - mes "^FF0000[Vol. 23: Medium Posion Monsters]^000000"; - mes "1. Poporing"; - mes "A light green Poring with the"; - mes "Poison property. It's much stronger"; - mes "than Poring, but still moves by"; - mes "means of bouncing."; - mes "^0099FFItem Drops^000000: Sticky Mucus, Garlet,"; - mes "Green Herb"; - next; - mes "^FF0000[Vol. 23: Medium Posion Monsters]^000000"; - mes "2. Poison Spore"; - mes "A black capped mushroom. It attacks"; - mes "adventurers in fear of being eaten,"; - mes "despite being poisonous and not"; - mes "delicious."; - mes "^0099FFItem Drops^000000: Spore, Green Herb"; - next; - mes "^FF0000[Vol. 23: Medium Posion Monsters]^000000"; - mes "3. Cobold the 2nd"; - mes "A small, wolf-like monster that's"; - mes "intelligent enough to use weapons."; - mes "Look out, though, he's pretty mean"; - mes "for a little guy."; - mes "^0099FFItem Drops^000000: Blue Hair, Zargon,"; - mes "Yellow Herb"; - next; - mes "^FF0000[Vol. 23: Medium Posion Monsters]^000000"; - mes "4. Side Winder"; - mes "A dark coloured snake that hates"; - mes "people. Be careful, and kill them"; - mes "before they can poison you."; - mes "^0099FFItem Drops^000000: Shining Scale, Zargon,"; - mes "Poisonous Canine, Snake Scale"; - next; - break; - case 3: - mes "^FF0000[Vol. 24: Great Poison Monsters]^000000"; - mes "1. Argos"; - mes "A monstrous spider that will attack"; - mes "adventurers on sight. It's too big"; - mes "for adventurers to squish with"; - mes "their feet."; - mes "^0099FFItem Drops^000000: Cobweb, Scell, Bug Leg,"; - mes "Green Herb, Yellow Herb"; - next; - mes "^FF0000[Vol. 24: Great Poison Monsters]^000000"; - mes "2. Argriope"; - mes "A segmented, millipede type monster"; - mes "that will attack passerby with"; - mes "poison."; - mes "^0099FFItem Drops^000000: Bug Leg, Zargon, Green"; - mes "Herb"; - next; - mes "^FF0000[Vol. 24: Great Poison Monsters]^000000"; - mes "3. Myst"; - mes "A strange, monster made of mist"; - mes "that is attached to a phantom"; - mes "window."; - mes "^0099FFItem Drops^000000: Trunk, Gas Mask"; - next; - break; - case 4: - close2; - set .@loop2,0; - end; - } + } + case 2: + while(1) { + switch(select("Small Sized Monsters:Medium Sized Monsters:Great Sized Monsters:Cancel")) { + case 1: + mes "^FF0000[Vol. 22: Small Poison Monsters]^000000"; + mes "^0099FF...^000000"; + next; + mes "^FF0000[Vol. 22: Small Posion Monsters]^000000"; + mes "^0099FF...^000000"; + mes "^0099FF......^000000"; + next; + mes "^0099FFThere are^000000"; + mes "^0099FFPoring stickers^000000"; + mes "^0099FFall over these pages!^000000"; + next; + mes "^0099FFIt looks like you'll have to learn^000000"; + mes "^0099FFabout small, poisonous monsters all^000000"; + mes "^0099FFon your own.^000000"; + next; + break; + case 2: + mes "^FF0000[Vol. 23: Medium Posion Monsters]^000000"; + mes "1. Poporing"; + mes "A light green Poring with the"; + mes "Poison property. It's much stronger"; + mes "than Poring, but still moves by"; + mes "means of bouncing."; + mes "^0099FFItem Drops^000000: Sticky Mucus, Garlet,"; + mes "Green Herb"; + next; + mes "^FF0000[Vol. 23: Medium Posion Monsters]^000000"; + mes "2. Poison Spore"; + mes "A black capped mushroom. It attacks"; + mes "adventurers in fear of being eaten,"; + mes "despite being poisonous and not"; + mes "delicious."; + mes "^0099FFItem Drops^000000: Spore, Green Herb"; + next; + mes "^FF0000[Vol. 23: Medium Posion Monsters]^000000"; + mes "3. Cobold the 2nd"; + mes "A small, wolf-like monster that's"; + mes "intelligent enough to use weapons."; + mes "Look out, though, he's pretty mean"; + mes "for a little guy."; + mes "^0099FFItem Drops^000000: Blue Hair, Zargon,"; + mes "Yellow Herb"; + next; + mes "^FF0000[Vol. 23: Medium Posion Monsters]^000000"; + mes "4. Side Winder"; + mes "A dark coloured snake that hates"; + mes "people. Be careful, and kill them"; + mes "before they can poison you."; + mes "^0099FFItem Drops^000000: Shining Scale, Zargon,"; + mes "Poisonous Canine, Snake Scale"; + next; + break; + case 3: + mes "^FF0000[Vol. 24: Great Poison Monsters]^000000"; + mes "1. Argos"; + mes "A monstrous spider that will attack"; + mes "adventurers on sight. It's too big"; + mes "for adventurers to squish with"; + mes "their feet."; + mes "^0099FFItem Drops^000000: Cobweb, Scell, Bug Leg,"; + mes "Green Herb, Yellow Herb"; + next; + mes "^FF0000[Vol. 24: Great Poison Monsters]^000000"; + mes "2. Argriope"; + mes "A segmented, millipede type monster"; + mes "that will attack passerby with"; + mes "poison."; + mes "^0099FFItem Drops^000000: Bug Leg, Zargon, Green"; + mes "Herb"; + next; + mes "^FF0000[Vol. 24: Great Poison Monsters]^000000"; + mes "3. Myst"; + mes "A strange, monster made of mist"; + mes "that is attached to a phantom"; + mes "window."; + mes "^0099FFItem Drops^000000: Trunk, Gas Mask"; + next; + break; + case 4: + close; } + } - case 3: - while(.@loop2) { - switch(select("Small Sized Monsters:Medium Sized Monsters:Great Sized Monsters:Cancel")) { - case 1: - mes "^FF0000[Vol. 25: Small Undead Monsters]^000000"; - mes "^0099FF...^000000"; - next; - mes "^FF0000[Vol. 25: Small Undead Monsters]^000000"; - mes "^0099FF...^000000"; - mes "^0099FF......^000000"; - next; - mes "^0099FF...!^000000"; - mes "^0099FFSome stupid kid scribbled pictures^000000"; - mes "^0099FFall over this chapter! It looks^000000"; - mes "^0099FFlike you'll have to learn about^000000"; - mes "^0099FFsmall Undead monsters^000000"; - mes "^0099FFon your very own.^000000"; - next; - break; - case 2: - mes "^FF0000[Vol. 26: Medium Undead Monsters]^000000"; - mes "1. Zombie"; - mes "An innocent human that has been"; - mes "raised from the dead through black"; - mes "magic."; - mes "^0099FFItem Drops^000000: Decayed Nail, Sticky"; - mes "Mucus, Horrendous Mouth"; - next; - mes "^FF0000[Vol. 26: Medium Undead Monsters]^000000"; - mes "2. Megalodon"; - mes "An animated fish skeleton that"; - mes "roams the seas. Although it looks"; - mes "scary, it's actually benign."; - mes "^0099FFItem Drops^000000: Stinky Scale,"; - mes "Skel-Bone"; - next; - mes "^FF0000[Vol. 26: Medium Undead Monsters]^000000"; - mes "3. Orc Zombie"; - mes "Orcs that have risen back from the"; - mes "dead. The honourable fighting spirit"; - mes "of the Orc Warrior never dies!"; - mes "^0099FFItem Drops^000000: Orc Claw, Sticky Mucus"; - next; - mes "^FF0000[Vol. 26: Medium Undead Monsters]^000000"; - mes "4. Pirate Skel"; - mes "A topless pirate skeleton that"; - mes "skips around in purple socks."; - mes "Scourge of the seven seas."; - mes "^0099FFItem Drops^000000: Skel-Bone"; - next; - mes "^FF0000[Vol. 26: Medium Undead Monsters]^000000"; - mes "5. Orc Skeleton"; - mes "The skeleton of an Orc that has"; - mes "been brought back to life. Even in"; - mes "death, Orcs continue to do battle."; - mes "^0099FFItem Drops^000000: Orc's Fang, Green"; - mes "Herb"; - next; - mes "^FF0000[Vol. 26: Medium Undead Monsters]^000000"; - mes "6. Soldier Skeleton"; - mes "A skeleton soldier that wields two"; - mes "swords at once. He must have been a"; - mes "badass when he was alive."; - mes "^0099FFItem Drops^000000: Skel-Bone, Red Herb"; - next; - mes "^FF0000[Vol. 26: Medium Undead Monsters]^000000"; - mes "7. Munak"; - mes "A beautiful zombie that seems to be"; - mes "linked to Bongun somehow."; - mes "^0099FFItem Drops^000000: Daenggie, Munak Turban"; - next; - mes "^FF0000[Vol. 26: Medium Undead Monsters]^000000"; - mes "8. Skel Worker"; - mes "A reanimated skeleton of a miner"; - mes "that has died without receiving its"; - mes "severance pay."; - mes "^0099FFItem Drops^000000: Iron, Lantern"; - next; - mes "^FF0000[Vol. 26: Medium Undead Monsters]^000000"; - mes "9. Archer Skeleton"; - mes "Despite not having actual eyes,"; - mes "Archer Skeletons have great aim."; - mes "^0099FFItem Drops^000000: Skel-Bone, Fire Arrow,"; - mes "Red Herb"; - next; - mes "^FF0000[Vol. 26: Medium Undead Monsters]^000000"; - mes "10. Mummy"; - mes "A walking corpse covered with"; - mes "bandages. It probably used to be"; - mes "beautiful once."; - mes "^0099FFItem Drops^000000: Rotten Bandage"; - next; - mes "^FF0000[Vol. 26: Medium Undead Monsters]^000000"; - mes "11. Verit"; - mes "A mummified dog that will pick up"; - mes "anything dropped to the ground."; - mes "Although it's a zombie, it seems"; - mes "happy to be alive again."; - mes "^0099FFItem Drops^000000: Immortal Heart, Zargon"; - mes "Rotten Bandage"; - next; - mes "^FF0000[Vol. 26: Medium Undead Monsters]^000000"; - mes "12. Ghoul"; - mes "Similar to a Zombie, but Ghouls are"; - mes "green and much stronger. Its"; - mes "retching is offensive in more ways"; - mes "than one."; - mes "^0099FFItem Drops^000000: Horrendous Mouth"; - next; - break; - case 3: - mes "^FF0000[Vol. 27: Great Undead Monsters]^000000"; - mes "1. Evil Druid"; - mes "A flamboyantly evil druid. It's"; - mes "always using a floating spellbook"; - mes "that crackles with energy to cause"; - mes "misery to adventurers"; - mes "^0099FFItem Drops^000000: Amulet, White Herb"; - next; - break; - case 4: - close2; - set .@loop2,0; - end; - } + case 3: + while(1) { + switch(select("Small Sized Monsters:Medium Sized Monsters:Great Sized Monsters:Cancel")) { + case 1: + mes "^FF0000[Vol. 25: Small Undead Monsters]^000000"; + mes "^0099FF...^000000"; + next; + mes "^FF0000[Vol. 25: Small Undead Monsters]^000000"; + mes "^0099FF...^000000"; + mes "^0099FF......^000000"; + next; + mes "^0099FF...!^000000"; + mes "^0099FFSome stupid kid scribbled pictures^000000"; + mes "^0099FFall over this chapter! It looks^000000"; + mes "^0099FFlike you'll have to learn about^000000"; + mes "^0099FFsmall Undead monsters^000000"; + mes "^0099FFon your very own.^000000"; + next; + break; + case 2: + mes "^FF0000[Vol. 26: Medium Undead Monsters]^000000"; + mes "1. Zombie"; + mes "An innocent human that has been"; + mes "raised from the dead through black"; + mes "magic."; + mes "^0099FFItem Drops^000000: Decayed Nail, Sticky"; + mes "Mucus, Horrendous Mouth"; + next; + mes "^FF0000[Vol. 26: Medium Undead Monsters]^000000"; + mes "2. Megalodon"; + mes "An animated fish skeleton that"; + mes "roams the seas. Although it looks"; + mes "scary, it's actually benign."; + mes "^0099FFItem Drops^000000: Stinky Scale,"; + mes "Skel-Bone"; + next; + mes "^FF0000[Vol. 26: Medium Undead Monsters]^000000"; + mes "3. Orc Zombie"; + mes "Orcs that have risen back from the"; + mes "dead. The honourable fighting spirit"; + mes "of the Orc Warrior never dies!"; + mes "^0099FFItem Drops^000000: Orc Claw, Sticky Mucus"; + next; + mes "^FF0000[Vol. 26: Medium Undead Monsters]^000000"; + mes "4. Pirate Skel"; + mes "A topless pirate skeleton that"; + mes "skips around in purple socks."; + mes "Scourge of the seven seas."; + mes "^0099FFItem Drops^000000: Skel-Bone"; + next; + mes "^FF0000[Vol. 26: Medium Undead Monsters]^000000"; + mes "5. Orc Skeleton"; + mes "The skeleton of an Orc that has"; + mes "been brought back to life. Even in"; + mes "death, Orcs continue to do battle."; + mes "^0099FFItem Drops^000000: Orc's Fang, Green"; + mes "Herb"; + next; + mes "^FF0000[Vol. 26: Medium Undead Monsters]^000000"; + mes "6. Soldier Skeleton"; + mes "A skeleton soldier that wields two"; + mes "swords at once. He must have been a"; + mes "badass when he was alive."; + mes "^0099FFItem Drops^000000: Skel-Bone, Red Herb"; + next; + mes "^FF0000[Vol. 26: Medium Undead Monsters]^000000"; + mes "7. Munak"; + mes "A beautiful zombie that seems to be"; + mes "linked to Bongun somehow."; + mes "^0099FFItem Drops^000000: Daenggie, Munak Turban"; + next; + mes "^FF0000[Vol. 26: Medium Undead Monsters]^000000"; + mes "8. Skel Worker"; + mes "A reanimated skeleton of a miner"; + mes "that has died without receiving its"; + mes "severance pay."; + mes "^0099FFItem Drops^000000: Iron, Lantern"; + next; + mes "^FF0000[Vol. 26: Medium Undead Monsters]^000000"; + mes "9. Archer Skeleton"; + mes "Despite not having actual eyes,"; + mes "Archer Skeletons have great aim."; + mes "^0099FFItem Drops^000000: Skel-Bone, Fire Arrow,"; + mes "Red Herb"; + next; + mes "^FF0000[Vol. 26: Medium Undead Monsters]^000000"; + mes "10. Mummy"; + mes "A walking corpse covered with"; + mes "bandages. It probably used to be"; + mes "beautiful once."; + mes "^0099FFItem Drops^000000: Rotten Bandage"; + next; + mes "^FF0000[Vol. 26: Medium Undead Monsters]^000000"; + mes "11. Verit"; + mes "A mummified dog that will pick up"; + mes "anything dropped to the ground."; + mes "Although it's a zombie, it seems"; + mes "happy to be alive again."; + mes "^0099FFItem Drops^000000: Immortal Heart, Zargon"; + mes "Rotten Bandage"; + next; + mes "^FF0000[Vol. 26: Medium Undead Monsters]^000000"; + mes "12. Ghoul"; + mes "Similar to a Zombie, but Ghouls are"; + mes "green and much stronger. Its"; + mes "retching is offensive in more ways"; + mes "than one."; + mes "^0099FFItem Drops^000000: Horrendous Mouth"; + next; + break; + case 3: + mes "^FF0000[Vol. 27: Great Undead Monsters]^000000"; + mes "1. Evil Druid"; + mes "A flamboyantly evil druid. It's"; + mes "always using a floating spellbook"; + mes "that crackles with energy to cause"; + mes "misery to adventurers"; + mes "^0099FFItem Drops^000000: Amulet, White Herb"; + next; + break; + case 4: + close; } - - case 4: - close2; - set .@loop,0; - end; } + + case 4: + close; } } -prt_in,172,96,4 script Monster Encyclopedia#4pr 111,{ +prt_in,172,96,4 script Monster Encyclopedia#4pr HIDDEN_NPC,{ mes "^FF0000[Dungeon Monster Encyclopedia]^000000"; mes "This is an Encyclopedia describing"; mes "monsters living in Dungeons."; next; - set .@loop1,1; switch(select("Ant Hell:Geffen Tower:Sphinx:Cancel")) { case 1: - while(.@loop1) { + while(1) { switch(select("1F:2F:Cancel")) { case 1: mes "^FF0000[Ant Hell 1F Monsters]^000000"; @@ -1351,14 +1313,12 @@ prt_in,172,96,4 script Monster Encyclopedia#4pr 111,{ next; break; case 3: - close2; - set .@loop1,0; - end; + close; } } case 2: - while(.@loop1) { + while(1) { switch(select("1F:2F:3F:4F:Cancel")) { case 1: mes "^FF0000[Geffen Dungeon 1F Monsters]^000000"; @@ -1548,14 +1508,12 @@ prt_in,172,96,4 script Monster Encyclopedia#4pr 111,{ next; break; case 5: - close2; - set .@loop1,0; - end; + close; } } case 3: - while(.@loop1) { + while(1) { switch(select("1F:2F:3F:4F:5F:Cancel")) { case 1: mes "^FF0000[Sphinx 1F Monsters]^000000"; @@ -1711,27 +1669,23 @@ prt_in,172,96,4 script Monster Encyclopedia#4pr 111,{ next; break; case 6: - close2; - set .@loop1,0; - end; + close; } } - case 4: close; } } -prt_in,164,96,4 script Monster Encyclopedia#5pr 111,{ +prt_in,164,96,4 script Monster Encyclopedia#5pr HIDDEN_NPC,{ mes "^FF0000[Dungeon Monster Encyclopedia]^000000"; mes "This is an Encyclopedia describing"; mes "Monsters living in Dungeons."; next; - set .@loop1,1; switch(select("Orc Dungeon:Byalan Cave near Izlude:Prontera Culvert")){ case 1: - while(.@loop1) { + while(1) { switch(select("1F:2F:Cancel")) { case 1: mes "^FF0000[Orc Dungeon 1F Monsters]^000000"; @@ -1804,14 +1758,12 @@ prt_in,164,96,4 script Monster Encyclopedia#5pr 111,{ next; break; case 3: - close2; - set .@loop1,0; - end; + close; } } case 2: - while(.@loop1) { + while(1) { switch(select("1F:2F:3F:4F:5F:Cancel")) { case 1: mes "^FF0000[Byalan Cave 1F Monsters]^000000"; @@ -2066,14 +2018,12 @@ prt_in,164,96,4 script Monster Encyclopedia#5pr 111,{ next; break; case 6: - close2; - set .@loop1,0; - end; + close; } } case 3: - while(.@loop1) { + while(1) { switch(select("1F.:2F.:3F.:4F.:Cancel.")) { case 1: mes "^FF0000[Prontera Culvert 1F Monsters]^000000"; @@ -2291,9 +2241,7 @@ prt_in,164,96,4 script Monster Encyclopedia#5pr 111,{ next; break; case 5: - close2; - set .@loop1,0; - end; + close; } } case 4: @@ -2301,15 +2249,14 @@ prt_in,164,96,4 script Monster Encyclopedia#5pr 111,{ } } -prt_in,172,102,4 script Monster Encyclopedia#6pr 111,{ +prt_in,172,102,4 script Monster Encyclopedia#6pr HIDDEN_NPC,{ mes "^FF0000[Dungeon Monster Encyclopedia]^000000"; mes "This is an Encyclopedia describing"; mes "Monsters living in Dungeons."; next; - set .@loop1,1; switch(select("Mjolnir Dead Pit:Payon Cave:Pyramid")) { case 1: - while(.@loop1) { + while(1) { switch(select("1F:2F:3F:Cancel")) { case 1: mes "^FF0000[Dead Pit 1F Monsters]^000000"; @@ -2406,14 +2353,12 @@ prt_in,172,102,4 script Monster Encyclopedia#6pr 111,{ next; break; case 4: - close2; - set .@loop1,0; - end; + close; } } case 2: - while(.@loop1) { + while(1) { switch(select("1F:2F:3F:4F:5F:Cancel")) { case 1: mes "^FF0000[Payon Cave 1F Monsters]^000000"; @@ -2584,14 +2529,12 @@ prt_in,172,102,4 script Monster Encyclopedia#6pr 111,{ next; break; case 6: - close2; - set .@loop1,0; - end; + close; } } case 3: - while(.@loop1) { + while(1) { switch(select("1F:2F:3F:4F:5F:6F:Cancel")) { case 1: mes "^FF0000[Pyramid 1F Monsters]^000000"; @@ -2798,26 +2741,22 @@ prt_in,172,102,4 script Monster Encyclopedia#6pr 111,{ next; break; case 7: - close2; - set .@loop1,0; - end; + close; } } - case 4: close; } } -prt_in,164,102,4 script Monster Encyclopedia#7pr 111,{ +prt_in,164,102,4 script Monster Encyclopedia#7pr HIDDEN_NPC,{ mes "^FF0000[Dungeon Monster Encyclopedia]^000000"; mes "This is an Encyclopedia describing"; mes "Monsters living in Dungeons."; next; - set .@loop1,1; switch(select("Sunken Ship near Alberta:Prontera Maze")) { case 1: - while(.@loop1) { + while(1) { switch(select("1F:2F:Cancel")) { case 1: mes "^FF0000[Sunken Ship 1F Monsters]^000000"; @@ -2948,14 +2887,12 @@ prt_in,164,102,4 script Monster Encyclopedia#7pr 111,{ next; break; case 3: - close2; - set .@loop1,0; - end; + close; } } case 2: - while(.@loop1) { + while(1) { switch(select("1F:3F:Cancel")) { case 1: mes "^FF0000[Prontera Maze 1F Monsters]^000000"; @@ -3443,18 +3380,15 @@ prt_in,164,102,4 script Monster Encyclopedia#7pr 111,{ next; break; case 3: - close2; - set .@loop1,0; - end; + close; } } - case 3: close; } } -prt_in,162,68,4 script Vending Guide#pront 111,{ +prt_in,162,68,4 script Vending Guide#pront HIDDEN_NPC,{ mes "^FF0000[Vending Guide for Dummies]^000000"; mes "So you want to open your own shop"; mes "so that you can sell items to other"; @@ -3551,7 +3485,7 @@ prt_in,162,68,4 script Vending Guide#pront 111,{ close; } -prt_in,168,68,4 script Blacksmith Guide#pront 111,{ +prt_in,168,68,4 script Blacksmith Guide#pront HIDDEN_NPC,{ mes "^FF0000[Blacksmith Guide for Dummies]^000000"; mes "This is a useful guide detailing"; mes "the process of Ore Refining and"; @@ -3655,7 +3589,6 @@ prt_in,168,68,4 script Blacksmith Guide#pront 111,{ mes "smithing fails, any items used to"; mes "create the new weapon will still be"; mes "consumed. Good luck!"; - close; case 3: close; } diff --git a/other/bulletin_boards.txt b/other/bulletin_boards.txt index 06c5ba2..2c69dc6 100644 --- a/other/bulletin_boards.txt +++ b/other/bulletin_boards.txt @@ -3,9 +3,9 @@ //===== By: ================================================== //= MasterOfMuppets //===== Current Version: ===================================== -//= 1.9 +//= 2.0 //===== Compatible With: ===================================== -//= Any Athena Version +//= rAthena SVN //===== Description: ========================================= //= Bulletin Boards for beginners. //===== Additional Comments: ================================= @@ -23,6 +23,7 @@ //= 1.7 Updated Morroc NPCs to reflect episode 12.1 changes. [L0ne_W0lf] //= 1.8 Updated Payon Cave Bulletion Board Locations. [Masao] //= 1.9 Moved Izlude NPC to Pre-RE path. [Euphy] +//= 2.0 Moved some NPC to Pre-re path. [Capuche] //============================================================ alberta,111,59,5 script Bulletin Board#1 837,{ @@ -68,22 +69,6 @@ geffen,124,65,5 script Bulletin Board#2 837,{ close; } -gef_fild10,69,340,5 script Bulletin Board#3 837,{ - mes "[Orc Dungeon]"; - mes "^6B1312Caution!^000000"; - mes "The Orc Dungeon is comprised of 2 levels. Although not very strong individually, the monsters here attack in groups. Be careful."; - next; - mes "[Orc Dungeon]"; - mes "Only in this dungeon will you be able to encounter Orc Skeletons, Zenorcs and Orc Zombies."; - next; - mes "[Orc Dungeon]"; - mes "Holy attribute weapons will greatly aid you in this place, since most of the monsters in this dungeon are Undead."; - next; - mes "[Orc Dungeon]"; - mes "If you don't have a Holy Weapon and you're teamed with a Priest, the Priest's Aspersio spell would be of tremendous help."; - close; -} - izlu2dun,104,92,5 script Bulletin Board#4 837,{ mes "[Byalan Island]"; mes "^6B1312Caution!^000000"; @@ -131,16 +116,6 @@ pay_arche,79,31,5 script Bulletin Board#07 837,{ close; } -pay_arche,39,134,5 script Bulletin Board#08 837,{ - mes "[Payon Cave]"; - mes "^6B1312Caution!^000000"; - mes "Payon Cave consists of 5 levels full of Undead and Demon monsters. Beware of swarms of Hydra in the third and fourth levels."; - next; - mes "[Payon Cave]"; - mes "In the fifth level, there is a pretty, yet dreadful boss monster known as ^6B1312Moonlight^000000 that spawns at certain times. Approach with extreme caution."; - close; -} - prontera,148,49,5 script Bulletin Board#09 837,{ mes "[Prontera: Capital of the]"; mes "[Rune-Midgards Kingdom]"; @@ -173,16 +148,6 @@ prontera,148,49,5 script Bulletin Board#09 837,{ close; } -mjolnir_02,76,362,5 script Bulletin Board#10 837,{ - mes "[Coal Mine]"; - mes "^6B1312Caution!^000000"; - mes "The Coal Mine consists of a total of 3 levels. This dungeon is suited to both new and experienced adventurers, depending on the dungeon level."; - next; - mes "[Coal Mine]"; - mes "In the third level, monsters tend to attack adventurers in swarms, so avoid being surrounded. Since this area is a mine, many Ores can be found within the depths of this dungeon."; - close; -} - morocc,152,110,5 script Bulletin Board#11 837,{ mes "[Morroc: The Frontier Town]"; mes "Welcome to Morroc, the City of the Desert. Morroc was built on an oasis, so this town can accomodate its many visitors and travelers."; @@ -311,29 +276,6 @@ gef_fild10,109,23,5 script Bulletin Board#15 836,{ close; } -prt_fild05,278,220,5 script Bulletin Board#16 837,{ - mes "[Culvert]"; - mes "Culvert is comprised of a total of"; - mes "4 levels, and is a good training"; - mes "ground for new adventurers."; - next; - mes "[Culvert]"; - mes "In order to access the Culver, you"; - mes "must volunteer as a monster"; - mes "exterminator at the Prontera"; - mes "Chivalry. Remember that the"; - mes "monsters here may attack in"; - mes "swarms."; - next; - mes "[Culvert]"; - mes "In the fourth level of the Prontera"; - mes "Culvert, you may encounter the boss"; - mes "monster known as the ^6B1312Golden Thief"; - mes "^6B1312Bug^000000. New adventurers should"; - mes "exercise caution."; - close; -} - yuno,154,112,5 script Bulletin Board#17 837,{ mes "[Juno: Capital of]"; mes "[The Schwarzwald Republic]"; @@ -408,66 +350,6 @@ aldebaran,145,105,5 script Bulletin Board#18 837,{ close; } -aldebaran,136,133,5 script Bulletin Board#19 837,{ - mes "[Clock Tower]"; - mes "^6B1312Caution!^000000"; - mes "Only well-experienced adventurers"; - mes "should consider entering the Clock"; - mes "Tower. There are a total of 8"; - mes "levels: 4 beneath the ground and 4 above the earth."; - next; - mes "[Clock Tower]"; - mes "The main monsters of the Clock"; - mes "Tower are Clocks, Alarms and"; - mes "Bathories. Beware of the Clock"; - mes "Tower Keepers on patrol."; - next; - mes "[Clock Tower]"; - mes "The paths in the Clock Tower are"; - mes "winding and complicated, so please"; - mes "be careful and avoid getting"; - mes "lost."; - close; -} - -moc_fild19,107,101,5 script Bulletin Board#20 837,{ - mes "[Sphinx]"; - mes "^6B1312Caution!^000000"; - mes "The Sphinx consists of 5 levels."; - mes "This dungeon is suited for training"; - mes "well-experienced adventurers."; - next; - mes "[Sphinx]"; - mes "There are many aggressive monsters"; - mes "residing in the Sphinx, and it is"; - mes "advised to run away if you happen"; - mes "to be surrounded by them."; - next; - mes "[Sphinx]"; - mes "In the fifth level, the boss"; - mes "monster ^6B1312Pharaoh^000000 will appear at"; - mes "certain times. Exorcise with"; - mes "extreme prejudice."; - close; -} - -gef_tower,55,142,5 script Bulletin Board#21 837,{ - mes "[Geffen Dungeon]"; - mes "^6B1312Caution!^000000"; - mes "Geffen dungeon is consisted of 3 levels"; - mes "is too difficult for new adventurers to venture."; - mes "As main monsters constantly appear,"; - mes "there are ^6B1312Hunter Flies^000000, ^6B1312Nightmares^000000 and ^6B1312Jakks^000000."; - mes "Nightmares and Jakks only appear in this dungeon."; - next; - mes "[Geffen Dungeon]"; - mes "On the 2nd level of this dungeon,"; - mes "^6B1312Ogretooth^000000, the creature of a doomed sword and ^6B1312Dracula^000000,"; - mes "the boss monster appear without warning."; - mes "On the 3rd level, ^6B1312Doppelganger^000000 one of the strongest boss monster appears at certain time."; - close; -} - xmas_fild01,75,80,5 script Bulletin Board#22 837,{ mes "[Winter Town, Lutie]"; mes "Welcome to Lutie, the town of snowfall."; @@ -483,34 +365,6 @@ xmas_fild01,75,80,5 script Bulletin Board#22 837,{ close; } -xmas,147,311,5 script Bulletin Board#23 837,{ - mes "[Toy Factory]"; - mes "^6B1312Caution!^000000"; - mes "Toy Factory is consisting of 2 levels."; - mes "This dungeon is not that difficult to venture for new adventurers,"; - mes "but there are 3 dangerous boss monsters spawn at certain time."; - next; - mes "[Toy Factory]"; - mes "In 1st level, you will encounter a boss monster, ^6B1312Angeling^000000."; - mes "In 2nd level, you will encounter 2 dangrous boss monsters which are"; - mes "^6B1312Stormy Knight^000000 and ^6B1312Hatii^000000. It is advised to be attentive while venturing."; - mes "For your reference, ^6B1312Myst Cases^000000, ^6B1312Cruisers^000000 and ^6B1312Cookies^000000 only appear in this dungeon."; - close; -} - -yuno_fild03,37,143,5 script Bulletin Board#24 837,{ - mes "[The Magma Dungeon, Nogg Road]"; - mes "^6B1312Caution!^000000"; - mes "Nogg Road is filled with very dangerous creatures."; - mes "It is limited to enter only to well-experienced adventurers."; - next; - mes "[The Magma Dungeon, Nogg Road]"; - mes "Main Monsters of this dungeon is"; - mes "^6B1312Kahos^000000 and ^6B1312Nightmare Terrors^000000."; - mes "Please be attentive."; - close; -} - niflheim,200,191,5 script Bulletin Board#25 837,{ mes "[City of the Dead, Nifflheim]"; mes "Welcome to Nifflheim, the City of the Dead."; @@ -552,19 +406,6 @@ moc_fild15,267,264,5 script Bulletin Board#26 837,{ } */ -moc_ruins,61,164,5 script Bulletin Board#27 837,{ - mes "[Pyramids]"; - mes "^6B1312Caution!^000000"; - mes "Pyramids is consisting of total 7 levels as 4 levels on the earth and the rest under the ground."; - mes "First few levels are suited for new adventurers to venture, but as deeper you go down, you will encounter stronger monsters."; - next; - mes "[Pyramids]"; - mes "In first level, there is the thief guild where people can change their jobs into Thief."; - mes "In the 4:th level, a boss monster called ^6B1312Osiris^000000 appears at certain time."; - mes "In the 3:d basement, ^6B1312Amon Ra^000000 appears at certain time."; - close; -} - glast_01,369,308,5 script Bulletin Board#28 837,{ mes "[Glast Heim]"; mes "Glast Heim is an enormous dungeon with countless levels."; diff --git a/other/card_trader.txt b/other/card_trader.txt index 51eecbc..5e40d89 100644 --- a/other/card_trader.txt +++ b/other/card_trader.txt @@ -5,7 +5,7 @@ //===== Current Version: ===================================== //= 1.4 //===== Compatible With: ===================================== -//= rAthena SVN r15340+ +//= rAthena SVN //===== Description: ========================================= //= Card and Points Trader //===== Additional Comments: ================================= @@ -14,52 +14,51 @@ //= 1.2 Fixed char being stuck with breaks [Elias] (bugreport:5374) //= 1.3 Optimized: reduced from 123kb to 7kb! [Euphy] //= 1.4 Variables don't need to load OnInit. [Euphy] +//= 1.4a Misc. [Capuche] //============================================================ -prontera,115,90,0 script Putty 90,{ - if (!.card[1]) { - setarray .card1[0], 4001,4006,4009,4019,4075,4033,4012,4016,4026,4022, - 4027,4028,4038,4025,4021,4050,4079,4081,4090,4094, - 4101,4104,4110,4114,4119,4108,4095,4231,4280,4008, - 4011,4013,4014,4015,4020,4032,4037,4039,4041,4045, - 4046,4010,4023,4029,4052,4048,4056,4071,4093,4031, - 4036,4034,4042,4055,4061,4087,4096,4116,4122,4170, - 4215,4220,4228,4226,4212,4227,4267,4257,4278,4286, - 4287,4292,4311,4315,4319,4322,4084,4078,4113,4149, - 4153,4196,4240,4247,4256,4057,4066,4067,4112,4150, - 4152,4186,4187,4181,4173,4167,4162,4176,4195,4193, - 4200,4223,4194,4190,4189,4192,4224,4244,4248,4261, - 4260,4259,4274,4275,4313,4299,4304,4294,4076,4127, - 4154,4157,4156,4213,4214,4225,4235; - setarray .card2[0], 4293,4297,4288,4283,4295,4307,4308,4309,4132,4326, - 4341,4335,4337,4345,4344,4331,4333,4332,4089,4161, - 4177,4178,4180,4184,4191,4206,4199,4273,4282,4268, - 4289,4321,4316,4343,4339,4369,4377,4385,4383,4382, - 4380,4381,4378,4379,4390,4389,4388,4391,4405,4400, - 4401,4402,4404,4002,4003,4004,4005,4007,4017,4024, - 4030,4035,4040,4043,4044,4049,4051,4053,4058,4060, - 4062,4063,4064,4065,4068,4069,4070,4072,4073,4074, - 4077,4080,4082,4083,4085,4086,4088,4091,4092,4097, - 4098,4099,4100,4102,4103,4106,4107,4109,4111,4115, - 4117,4118,4120,4124,4125,4126,4138,4139,4141,4151, - 4158,4164,4165,4182,4185,4159,4160,4166,4172,4175, - 4188,4201,4202,4204,4205,4208,4209; - setarray .card3[0], 4120,4216,4217,4219,4221,4222,4230,4234,4233,4232, - 4237,4238,4242,4243,4245,4246,4249,4252,4255,4258, - 4262,4264,4276,4270,4271,4218,4239,4251,4253,4269, - 4334,4105,4133,4136,4229,4272,4277,4279,4281,4284, - 4285,4290,4296,4298,4301,4310,4314,4317,4325,4327, - 4328,4329,4338,4340,4346,4347,4348,4349,4350,4351, - 4353,4354,4355,4356,4358,4360,4362,4364,4366,4368, - 4370,4371,4373,4375,4387,4406,4129,4155,4291,4392, - 4393,4394,4409,4410,4411,4412,4413,4414,4415,4416, - 4417,4418,4420,4421,4422,4423,4424,4427,4427,4428, - 4429,4431,4432,4433,4434,4435,4436,4437,4438,4439, - 4440,4442,4443,4444,4445,4447,4448,4449,4450,4452, - 4453; - setarray .card[1], getarraysize(.card1), getarraysize(.card2), getarraysize(.card3); - } - set .@points,oversea_event9; +prontera,115,90,0 script Putty 4_F_01,{ + setarray .@card1[0], 4001,4006,4009,4019,4075,4033,4012,4016,4026,4022, + 4027,4028,4038,4025,4021,4050,4079,4081,4090,4094, + 4101,4104,4110,4114,4119,4108,4095,4231,4280,4008, + 4011,4013,4014,4015,4020,4032,4037,4039,4041,4045, + 4046,4010,4023,4029,4052,4048,4056,4071,4093,4031, + 4036,4034,4042,4055,4061,4087,4096,4116,4122,4170, + 4215,4220,4228,4226,4212,4227,4267,4257,4278,4286, + 4287,4292,4311,4315,4319,4322,4084,4078,4113,4149, + 4153,4196,4240,4247,4256,4057,4066,4067,4112,4150, + 4152,4186,4187,4181,4173,4167,4162,4176,4195,4193, + 4200,4223,4194,4190,4189,4192,4224,4244,4248,4261, + 4260,4259,4274,4275,4313,4299,4304,4294,4076,4127, + 4154,4157,4156,4213,4214,4225,4235; + setarray .@card2[0], 4293,4297,4288,4283,4295,4307,4308,4309,4132,4326, + 4341,4335,4337,4345,4344,4331,4333,4332,4089,4161, + 4177,4178,4180,4184,4191,4206,4199,4273,4282,4268, + 4289,4321,4316,4343,4339,4369,4377,4385,4383,4382, + 4380,4381,4378,4379,4390,4389,4388,4391,4405,4400, + 4401,4402,4404,4002,4003,4004,4005,4007,4017,4024, + 4030,4035,4040,4043,4044,4049,4051,4053,4058,4060, + 4062,4063,4064,4065,4068,4069,4070,4072,4073,4074, + 4077,4080,4082,4083,4085,4086,4088,4091,4092,4097, + 4098,4099,4100,4102,4103,4106,4107,4109,4111,4115, + 4117,4118,4120,4124,4125,4126,4138,4139,4141,4151, + 4158,4164,4165,4182,4185,4159,4160,4166,4172,4175, + 4188,4201,4202,4204,4205,4208,4209; + setarray .@card3[0], 4120,4216,4217,4219,4221,4222,4230,4234,4233,4232, + 4237,4238,4242,4243,4245,4246,4249,4252,4255,4258, + 4262,4264,4276,4270,4271,4218,4239,4251,4253,4269, + 4334,4105,4133,4136,4229,4272,4277,4279,4281,4284, + 4285,4290,4296,4298,4301,4310,4314,4317,4325,4327, + 4328,4329,4338,4340,4346,4347,4348,4349,4350,4351, + 4353,4354,4355,4356,4358,4360,4362,4364,4366,4368, + 4370,4371,4373,4375,4387,4406,4129,4155,4291,4392, + 4393,4394,4409,4410,4411,4412,4413,4414,4415,4416, + 4417,4418,4420,4421,4422,4423,4424,4427,4427,4428, + 4429,4431,4432,4433,4434,4435,4436,4437,4438,4439, + 4440,4442,4443,4444,4445,4447,4448,4449,4450,4452, + 4453; + setarray .@size_card[1], getarraysize(.@card1), getarraysize(.@card2), getarraysize(.@card3); + .@points = oversea_event9; if (!.@points) { mes "[Putty]"; mes "Hi there."; @@ -70,23 +69,22 @@ prontera,115,90,0 script Putty 90,{ mes "they are no longer using."; next; switch(select("Ask for more information!","I don't have any cards right now.")) { - case 1: - mes "[Putty]"; - mes "I am giving 1 point for each card that you bring me."; - mes "The points can be used to exchange for items that I have."; - next; - mes "[Putty]"; - mes "For ^CC0000100 points^000000: ^0000CC1 Old Card Album^000000."; - mes "For ^CC000050 points^000000: ^0000CC20 Yggdrasil Berry^000000."; - mes "For ^CC000020 points^000000: ^0000CC10 Blue Potion^000000."; - mes "For ^CC00001 point^000000: ^0000CC4 Honey^000000."; - next; - break; - case 2: - mes "[Putty]"; - mes "Well, remember this offer!"; - close; + case 1: + mes "[Putty]"; + mes "I am giving 1 point for each card that you bring me."; + mes "The points can be used to exchange for items that I have."; + next; + mes "[Putty]"; + mes "For ^CC0000100 points^000000: ^0000CC1 Old Card Album^000000."; + mes "For ^CC000050 points^000000: ^0000CC20 Yggdrasil Berry^000000."; + mes "For ^CC000020 points^000000: ^0000CC10 Blue Potion^000000."; + mes "For ^CC00001 point^000000: ^0000CC4 Honey^000000."; + next; break; + case 2: + mes "[Putty]"; + mes "Well, remember this offer!"; + close; } } else { mes "[Putty]"; @@ -100,99 +98,101 @@ prontera,115,90,0 script Putty 90,{ next; } switch(select("I would like to exchange cards.","Can I exchange the points?")) { - case 1: - mes "[Putty]"; - mes "Please tell me what card you want to exchange."; + case 1: + mes "[Putty]"; + mes "Please tell me what card you want to exchange."; + next; + input .@i$; + .@input$ = "_"+.@i$; + freeloop(1); + for(.@j = 1; .@j<4; .@j++) { + for(.@i = 0; .@i<.@size_card[.@j]; .@i++) + if (compare(.@input$,"_"+getitemname(getd(".@card"+.@j+"["+.@i+"]")))) { + .@card = getd(".@card"+.@j+"["+.@i+"]"); + break; + } + sleep2 10; // For good measure + if (.@card) break; + } + freeloop(0); + mes "[Putty]"; + if (!.@card) mes "Please, come back here if you want to exchange a monster card."; + else { + .@count = countitem(.@card); + if (!.@count) { + mes "You don't have any ^0055FF"+callfunc("F_GetPlural",getitemname(.@card))+"^000000 with you!"; + close; + } + mes "You've got ^0055FF"+callfunc("F_InsertPlural",.@count,getitemname(.@card))+"^000000."; + mes " "; + mes "Would you like to exchange 1 point for each of them?"; next; - input .@i$; - set .@input$, "_"+.@i$; - set .@card,0; - freeloop(1); - for(set .@j,1; .@j<4; set .@j,.@j+1) { - for(set .@i,0; .@i<.card[.@j]; set .@i,.@i+1) - if (compare(.@input$,"_"+getitemname(getd(".card"+.@j+"["+.@i+"]")))) { - set .@card, getd(".card"+.@j+"["+.@i+"]"); break; } - sleep2 10; // For good measure - if (.@card) break; } - freeloop(0); + switch(select("Yes, please!","No, thank you.")) { + case 1: + delitem .@card,.@count; + oversea_event9 = (.@points+.@count); + mes "[Putty]"; + mes "Alright, you have received ^CC0000"+.@count+"^000000 points."; + break; + case 2: + mes "[Putty]"; + mes "Okay, let me know if I can help you with something else."; + break; + } + } + close; + case 2: + if (.@points) { mes "[Putty]"; - if (!.@card) mes "Please, come back here if you want to exchange a monster card."; - else { - set .@count, countitem(.@card); - if (!.@count) { - mes "You don't have any ^0055FF"+getitemname(.@card)+"s^000000 with you!"; - close; } - mes "You've got ^0055FF"+.@count+" "+getitemname(.@card)+((.@count>1)?"s":"")+"^000000."; - mes " "; - mes "Would you like to exchange 1 point for each of them?"; - next; - switch(select("Yes, please!","No, thank you.")) { - case 1: - delitem .@card,.@count; - set oversea_event9, (.@points+.@count); - mes "[Putty]"; - mes "Alright, you have received ^CC0000"+.@count+"^000000 points."; - break; - case 2: - mes "[Putty]"; - mes "Okay, let me know if I can help you with something else."; - break; + mes "These are the items that I have."; + next; + switch(select("1 Old Card Album - 50 Points","20 Yggdrasil Berry - 50 Points","10 Blue Potion - 20 Points","4 Honey - 1 Point","^777777Nerver mind.^000000")) { + case 1: + if (.@points < 100) break; + mes "[Putty]"; + mes "Great, I wish you the best"; + mes "of luck with this album. I have a"; + mes "very good feeling about this one!"; + oversea_event9 = .@points - 100; + getitem 616,1; + close; + case 2: + if (.@points < 50) break; + mes "[Putty]"; + mes "Oh, you must like adventures."; + mes "Here you go, just what you need!"; + oversea_event9 = .@points - 50; + getitem 607,20; + close; + case 3: + if (.@points < 20) break; + mes "[Putty]"; + mes "Blue Potions? Are you sure?"; + mes "If that's what you want, here they are!"; + oversea_event9 = .@points - 20; + getitem 505,10; + close; + case 4: + if (.@points < 1) break; + mes "[Putty]"; + mes "It took many bees"; + mes "to make all of this."; + mes "Make good use of it."; + oversea_event9 = .@points - 1; + getitem 518,4; + close; + case 5: + mes "[Putty]"; + mes "Alright, come back when you have more points."; + close; } - } + mes "[Putty]"; + mes "Sorry, but you don't have enough points."; + close; + } else { + mes "[Putty]"; + mes "You have 0 points. You need at least 1 point to exchange."; close; - case 2: - if (.@points) { - mes "[Putty]"; - mes "These are the items that I have."; - next; - switch(select("1 Old Card Album - 50 Points","20 Yggdrasil Berry - 50 Points","10 Blue Potion - 20 Points","4 Honey - 1 Point","^777777Nerver mind.^000000")) { - case 1: - if (.@points < 100) break; - mes "[Putty]"; - mes "Great, I wish you the best"; - mes "of luck with this album. I have a"; - mes "very good feeling about this one!"; - set oversea_event9, .@points - 100; - getitem 616,1; - close; - case 2: - if (.@points < 50) break; - mes "[Putty]"; - mes "Oh, you must like adventures."; - mes "Here you go, just what you need!"; - set oversea_event9, .@points - 50; - getitem 607,20; - close; - case 3: - if (.@points < 20) break; - mes "[Putty]"; - mes "Blue Potions? Are you sure?"; - mes "If that's what you want, here they are!"; - set oversea_event9, .@points - 20; - getitem 505,10; - close; - case 4: - if (.@points < 1) break; - mes "[Putty]"; - mes "It took many bees"; - mes "to make all of this."; - mes "Make good use of it."; - set oversea_event9, .@points - 1; - getitem 518,4; - close; - case 5: - mes "[Putty]"; - mes "Alright, come back when you have more points."; - close; - } - mes "[Putty]"; - mes "Sorry, but you don't have enough points."; - close; - } else { - mes "[Putty]"; - mes "You have 0 points. You need at least 1 point to exchange."; - } - break; } - close; + } } \ No newline at end of file diff --git a/other/comodo_gambling.txt b/other/comodo_gambling.txt index 670a475..67f978c 100644 --- a/other/comodo_gambling.txt +++ b/other/comodo_gambling.txt @@ -3,9 +3,9 @@ //===== By: ================================================== //= Reddozen, Cypress, Zefris //===== Current Version: ===================================== -//= 1.4a +//= 1.4c //===== Compatible With: ===================================== -//= Any rAthena SVN +//= rAthena SVN //===== Description: ========================================= //= Comodo Gambling: Win random Items with 3 Carat Diamonds. //===== Additional Comments: ================================= @@ -24,10 +24,11 @@ //= 1.3 Added missing item. [Kisuka] //= 1.4 Updated Script to match AEGIS file. [Masao] //= 1.4a Minor script updates. [Euphy] +//= 1.4b Minor fix about Weight and miscs updates. [Capuche] +//= 1.4c Another clean-up. [Capuche] //============================================================ -comodo,219,158,6 script Kachua 91,{ - +comodo,219,158,6 script Kachua 4_F_02,{ if (checkweight(1201,1) == 0) { mes "^3355FFWait a second! Right now, you're carrying too many items with you. Please come back after putting some of your things into Kafra Storage.^000000"; close; @@ -41,7 +42,6 @@ comodo,219,158,6 script Kachua 91,{ mes "showed me that diamond,"; mes "it's been all I think about!"; next; - if (select("Would you like to have mine?", "Ah, what a shame...") == 2) { mes "[Kachua]"; mes "Yes, I know..."; @@ -52,7 +52,6 @@ comodo,219,158,6 script Kachua 91,{ cutin "katsua01.bmp",255; end; } - if (countitem(732) == 0) { cutin "katsua01.bmp",255; cutin "katsua03.bmp",2; @@ -64,7 +63,6 @@ comodo,219,158,6 script Kachua 91,{ cutin "katsua03.bmp",255; end; } - mes "[Kachua]"; mes "Are you sure you don't mind"; mes "giving this to me? Thank you"; @@ -73,7 +71,6 @@ comodo,219,158,6 script Kachua 91,{ mes "you something from one of my"; mes "collections~"; next; - if (MaxWeight - Weight < 5500) { cutin "katsua01.bmp",255; cutin "katsua03.bmp",2; @@ -86,304 +83,298 @@ comodo,219,158,6 script Kachua 91,{ cutin "katsua03.bmp",255; end; } - if (countitem(732) == 0) { // anti-hack logmes "Hack: Tried to bypass item check."; cutin "katsua01.bmp",255; close; } delitem 732,1; - mes "[Kachua]"; mes "So what would"; mes "you like to have?"; next; - switch (select("Weapon", "Armor", "Garment", "Helmet", "Shoes", "Shield")) { - case 1: // Weapons - set .@gamble1,rand(1,1000); - if ((.@gamble1 > 920) && (.@gamble1 < 931)) { - set .@gamble2,rand(1,85); - if (.@gamble2 == 1) set .@item,1128; // Haedonggum[2] - else if (.@gamble2 == 2) set .@item,1120; // Tsurugi[2] - else if (.@gamble2 == 3) set .@item,1127; // Saber[3] - else if (.@gamble2 == 4) set .@item,1158; // Two-Handed Sword[2] - else if (.@gamble2 == 5) set .@item,1155; // Bastard Sword[3] - else if (.@gamble2 == 6) set .@item,1220; // Gladius[3] - else if (.@gamble2 == 7) set .@item,1222; // Damascus[1] - else if (.@gamble2 == 8) set .@item,1253; // Katar[2] - else if (.@gamble2 == 9) set .@item,1529; // Iron Driver - else if (.@gamble2 == 10) set .@item,1251; // Jur[3] - else if (.@gamble2 == 11) set .@item,1361; // Two-Handed Axe[2] - else if (.@gamble2 == 12) set .@item,1258; // Katar of Raging Blaze - else if (.@gamble2 == 13) set .@item,1257; // Katar of Quaking - else if (.@gamble2 == 14) set .@item,1256; // Katar of Frozen Icicle - else if (.@gamble2 == 15) set .@item,1259; // Katar of Piercing Wind - else if (.@gamble2 == 16) set .@item,1260; // Sharpened Legbone of Ghoul - else if (.@gamble2 == 17) set .@item,1716; // Gakkung Bow[2] - else if (.@gamble2 == 18) set .@item,1715; // Arbalest[2] - else if (.@gamble2 == 19) set .@item,1711; // Crossbow[3] - else if (.@gamble2 == 20) set .@item,1702; // Bow[4] - else if (.@gamble2 == 21) set .@item,1520; // Chain[3] - else if (.@gamble2 == 22) set .@item,1610; // Arc Wand[1] - else if (.@gamble2 == 23) set .@item,1615; // Evil Bone Wand - else if (.@gamble2 == 24) set .@item,1602; // Rod[4] - else if (.@gamble2 == 25) set .@item,1461; // Trident[3] - else if (.@gamble2 == 26) set .@item,1402; // Javelin[4] - else if (.@gamble2 == 27) set .@item,1961; // Whip[2] - else if (.@gamble2 == 28) set .@item,1957; // Rante Whip[1] - else if (.@gamble2 == 29) set .@item,1552; // Tablet[1] - else if (.@gamble2 == 30) set .@item,1551; // Bible[2] - else if (.@gamble2 == 31) set .@item,1553; // Book of Billows - else if (.@gamble2 == 32) set .@item,1554; // Book of Mother Earth - else if (.@gamble2 == 33) set .@item,1555; // Book of the Blazing Sun - else if (.@gamble2 == 34) set .@item,1556; // Book of Gust of Wind - else if (.@gamble2 == 35) set .@item,1951; // Rope[4] - else if (.@gamble2 == 36) set .@item,1959; // Tail Whip[2] - else if (.@gamble2 == 37) set .@item,1953; // Whip[3] - else if (.@gamble2 == 38) set .@item,1955; // Wire Whip[3] - else if (.@gamble2 == 39) set .@item,1810; // Claw[2] - else if (.@gamble2 == 40) set .@item,1910; // Harp[2] - else if (.@gamble2 == 41) set .@item,1906; // Lute[3] - else if (.@gamble2 == 42) set .@item,1902; // Violin[4] - else if (.@gamble2 == 43) set .@item,1904; // Mandolin[3] - else if (.@gamble2 == 44) set .@item,1912; // Gumoongoh[2] - else if (.@gamble2 == 45) set .@item,1908; // Guitar[1] - else if (.@gamble2 == 46) set .@item,1808; // Fist[1] - else if (.@gamble2 == 47) set .@item,1802; // Waghnak[4] - else if (.@gamble2 == 48) set .@item,1812; // Finger[2] - else if (.@gamble2 == 49) set .@item,1806; // Studded Knuckles[3] - else if (.@gamble2 == 50) set .@item,1804; // Knuckle Duster[3] - else if (.@gamble2 == 51) set .@item,1550; // Book[3] - else if (.@gamble2 == 52) set .@item,1246; // Cinquedea[2] - else if (.@gamble2 == 53) set .@item,1147; // Town Sword - else if (.@gamble2 > 53 && .@gamble2 < 56) set .@item,1264; // Specialty Jur[4] - else if (.@gamble2 > 55 && .@gamble2 < 58) set .@item,1262; // Loki's Nail - else if (.@gamble2 > 57 && .@gamble2 < 60) set .@item,1622; // Hypnotist's Staff[2] - else if (.@gamble2 == 60) set .@item,1723; // Luna Bow[2] - else if (.@gamble2 > 60 && .@gamble2 < 63) set .@item,1965; // Red Flame Whip - else if (.@gamble2 > 62 && .@gamble2 < 65) set .@item,1966; // Icicle Whip - else if (.@gamble2 > 64 && .@gamble2 < 67) set .@item,1967; // Gaia Whip - else if (.@gamble2 > 66 && .@gamble2 < 69) set .@item,1968; // Skipping Rope - else if (.@gamble2 > 68 && .@gamble2 < 71) set .@item,1914; // Burning Passion Guitar - else if (.@gamble2 > 70 && .@gamble2 < 73) set .@item,1915; // Loner's Guitar - else if (.@gamble2 > 72 && .@gamble2 < 75) set .@item,1916; // Green Acre Guitar - else if (.@gamble2 > 74 && .@gamble2 < 77) set .@item,1917; // Gentle Breeze Guitar - else if (.@gamble2 > 76 && .@gamble2 < 79) set .@item,13004; // Cowardice Blade[2] - else if (.@gamble2 > 78 && .@gamble2 < 81) set .@item,1307; // Windhawk - else if (.@gamble2 == 81) set .@item,1560; // Sage's Diary[2] - else if (.@gamble2 == 82) set .@item,1618; // Survivor's Rod[1] - else if (.@gamble2 == 83) set .@item,1620; // Survivor's Rod[1] - else if (.@gamble2 > 83 && .@gamble2 < 86) set .@item,1971; // Electric Wire - } - else if ((.@gamble1 > 0) && (.@gamble1 < 201)) set .@item,1201; // Knife[3] - else if ((.@gamble1 > 200) && (.@gamble1 < 301)) set .@item,1101; // Sword[3] - else if ((.@gamble1 > 300) && (.@gamble1 < 401)) set .@item,1601; // Rod[3] - else if ((.@gamble1 > 400) && (.@gamble1 < 501)) set .@item,1116; // Katana[3] - else if ((.@gamble1 > 500) && (.@gamble1 < 601)) set .@item,1250; // Jur[2] - else if ((.@gamble1 > 600) && (.@gamble1 < 701)) set .@item,1301; // Axe[3] - else if ((.@gamble1 > 700) && (.@gamble1 < 801)) set .@item,1701; // Bow[3] - else if ((.@gamble1 > 800) && (.@gamble1 < 851)) set .@item,1504; // Mace[3] - else if ((.@gamble1 > 850) && (.@gamble1 < 901)) set .@item,1604; // Wand[2] - else if ((.@gamble1 > 900) && (.@gamble1 < 911)) set .@item,1108; // Blade[4] - else if ((.@gamble1 > 910) && (.@gamble1 < 921)) set .@item,1163; // Claymore - else if ((.@gamble1 > 930) && (.@gamble1 < 961)) set .@item,1522; // Stunner - else if ((.@gamble1 > 960) && (.@gamble1 < 971)) set .@item,1608; // Staff[3] - else if ((.@gamble1 > 970) && (.@gamble1 < 981)) set .@item,1408; // Pike[4] - else if ((.@gamble1 > 980) && (.@gamble1 < 991)) set .@item,1452; // Guisarme[3] - else if ((.@gamble1 > 990) && (.@gamble1 < 1001)) set .@item,1208; // Main Gauche[4] - break; + .@gamble1 = rand(1,1000); + if (.@gamble1 > 920 && .@gamble1 < 931) { + .@gamble2 = rand(1,85); + if (.@gamble2 == 1) .@item = 1128; // Haedonggum[2] + else if (.@gamble2 == 2) .@item = 1120; // Tsurugi[2] + else if (.@gamble2 == 3) .@item = 1127; // Saber[3] + else if (.@gamble2 == 4) .@item = 1158; // Two-Handed Sword[2] + else if (.@gamble2 == 5) .@item = 1155; // Bastard Sword[3] + else if (.@gamble2 == 6) .@item = 1220; // Gladius[3] + else if (.@gamble2 == 7) .@item = 1222; // Damascus[1] + else if (.@gamble2 == 8) .@item = 1253; // Katar[2] + else if (.@gamble2 == 9) .@item = 1529; // Iron Driver + else if (.@gamble2 == 10) .@item = 1251; // Jur[3] + else if (.@gamble2 == 11) .@item = 1361; // Two-Handed Axe[2] + else if (.@gamble2 == 12) .@item = 1258; // Katar of Raging Blaze + else if (.@gamble2 == 13) .@item = 1257; // Katar of Quaking + else if (.@gamble2 == 14) .@item = 1256; // Katar of Frozen Icicle + else if (.@gamble2 == 15) .@item = 1259; // Katar of Piercing Wind + else if (.@gamble2 == 16) .@item = 1260; // Sharpened Legbone of Ghoul + else if (.@gamble2 == 17) .@item = 1716; // Gakkung Bow[2] + else if (.@gamble2 == 18) .@item = 1715; // Arbalest[2] + else if (.@gamble2 == 19) .@item = 1711; // Crossbow[3] + else if (.@gamble2 == 20) .@item = 1702; // Bow[4] + else if (.@gamble2 == 21) .@item = 1520; // Chain[3] + else if (.@gamble2 == 22) .@item = 1610; // Arc Wand[1] + else if (.@gamble2 == 23) .@item = 1615; // Evil Bone Wand + else if (.@gamble2 == 24) .@item = 1602; // Rod[4] + else if (.@gamble2 == 25) .@item = 1461; // Trident[3] + else if (.@gamble2 == 26) .@item = 1402; // Javelin[4] + else if (.@gamble2 == 27) .@item = 1961; // Whip[2] + else if (.@gamble2 == 28) .@item = 1957; // Rante Whip[1] + else if (.@gamble2 == 29) .@item = 1552; // Tablet[1] + else if (.@gamble2 == 30) .@item = 1551; // Bible[2] + else if (.@gamble2 == 31) .@item = 1553; // Book of Billows + else if (.@gamble2 == 32) .@item = 1554; // Book of Mother Earth + else if (.@gamble2 == 33) .@item = 1555; // Book of the Blazing Sun + else if (.@gamble2 == 34) .@item = 1556; // Book of Gust of Wind + else if (.@gamble2 == 35) .@item = 1951; // Rope[4] + else if (.@gamble2 == 36) .@item = 1959; // Tail Whip[2] + else if (.@gamble2 == 37) .@item = 1953; // Whip[3] + else if (.@gamble2 == 38) .@item = 1955; // Wire Whip[3] + else if (.@gamble2 == 39) .@item = 1810; // Claw[2] + else if (.@gamble2 == 40) .@item = 1910; // Harp[2] + else if (.@gamble2 == 41) .@item = 1906; // Lute[3] + else if (.@gamble2 == 42) .@item = 1902; // Violin[4] + else if (.@gamble2 == 43) .@item = 1904; // Mandolin[3] + else if (.@gamble2 == 44) .@item = 1912; // Gumoongoh[2] + else if (.@gamble2 == 45) .@item = 1908; // Guitar[1] + else if (.@gamble2 == 46) .@item = 1808; // Fist[1] + else if (.@gamble2 == 47) .@item = 1802; // Waghnak[4] + else if (.@gamble2 == 48) .@item = 1812; // Finger[2] + else if (.@gamble2 == 49) .@item = 1806; // Studded Knuckles[3] + else if (.@gamble2 == 50) .@item = 1804; // Knuckle Duster[3] + else if (.@gamble2 == 51) .@item = 1550; // Book[3] + else if (.@gamble2 == 52) .@item = 1246; // Cinquedea[2] + else if (.@gamble2 == 53) .@item = 1147; // Town Sword + else if (.@gamble2 < 56) .@item = 1264; // Specialty Jur[4] + else if (.@gamble2 < 58) .@item = 1262; // Loki's Nail + else if (.@gamble2 < 60) .@item = 1622; // Hypnotist's Staff[2] + else if (.@gamble2 == 60) .@item = 1723;// Luna Bow[2] + else if (.@gamble2 < 63) .@item = 1965; // Red Flame Whip + else if (.@gamble2 < 65) .@item = 1966; // Icicle Whip + else if (.@gamble2 < 67) .@item = 1967; // Gaia Whip + else if (.@gamble2 < 69) .@item = 1968; // Skipping Rope + else if (.@gamble2 < 71) .@item = 1914; // Burning Passion Guitar + else if (.@gamble2 < 73) .@item = 1915; // Loner's Guitar + else if (.@gamble2 < 75) .@item = 1916; // Green Acre Guitar + else if (.@gamble2 < 77) .@item = 1917; // Gentle Breeze Guitar + else if (.@gamble2 < 79) .@item = 13004; // Cowardice Blade[2] + else if (.@gamble2 < 81) .@item = 1307; // Windhawk + else if (.@gamble2 == 81) .@item = 1560; // Sage's Diary[2] + else if (.@gamble2 == 82) .@item = 1618; // Survivor's Rod[1] + else if (.@gamble2 == 83) .@item = 1620; // Survivor's Rod[1] + else if (.@gamble2 < 86) .@item = 1971; // Electric Wire + } + else if (.@gamble1 < 201) .@item = 1201; // Knife[3] + else if (.@gamble1 < 301) .@item = 1101; // Sword[3] + else if (.@gamble1 < 401) .@item = 1601; // Rod[3] + else if (.@gamble1 < 501) .@item = 1116; // Katana[3] + else if (.@gamble1 < 601) .@item = 1250; // Jur[2] + else if (.@gamble1 < 701) .@item = 1301; // Axe[3] + else if (.@gamble1 < 801) .@item = 1701; // Bow[3] + else if (.@gamble1 < 851) .@item = 1504; // Mace[3] + else if (.@gamble1 < 901) .@item = 1604; // Wand[2] + else if (.@gamble1 < 911) .@item = 1108; // Blade[4] + else if (.@gamble1 < 921) .@item = 1163; // Claymore + else if (.@gamble1 < 961) .@item = 1522; // Stunner + else if (.@gamble1 < 971) .@item = 1608; // Staff[3] + else if (.@gamble1 < 981) .@item = 1408; // Pike[4] + else if (.@gamble1 < 991) .@item = 1452; // Guisarme[3] + else if (.@gamble1 < 1001) .@item = 1208; // Main Gauche[4] + break; case 2: // Armors - set .@gamble1,rand(1,500); - if ((.@gamble1 > 299) && (.@gamble1 < 303)) { - set .@gamble2,rand(1,30); - if ((.@gamble2 > 0) && (.@gamble2 < 3)) set .@item,2315; // Chain Mail[1] - else if ((.@gamble2 > 2) && (.@gamble2 < 5)) set .@item,2336; // Thief Clothes[1] - else if ((.@gamble2 > 4) && (.@gamble2 < 7)) set .@item,2318; // Lord's Clothes[1] - else if ((.@gamble2 > 6) && (.@gamble2 < 9)) set .@item,2326; // Saint's Robe[1] - else if ((.@gamble2 > 8) && (.@gamble2 < 11)) set .@item,2327; // Holy Robe - else if ((.@gamble2 > 10) && (.@gamble2 < 13)) set .@item,2342; // Legion Plate Armor[1] - else if ((.@gamble2 > 12) && (.@gamble2 < 15)) set .@item,2331; // Tights[1] - else if ((.@gamble2 > 14) && (.@gamble2 < 17)) set .@item,2342; // Legion Plate Armor[1] - else if ((.@gamble2 > 16) && (.@gamble2 < 19)) set .@item,2311; // Mink Coat[1] - else if ((.@gamble2 > 18) && (.@gamble2 < 21)) set .@item,2320; // Formal Suit[1] - else if ((.@gamble2 > 20) && (.@gamble2 < 23)) set .@item,2319; // Glittering Jacket[1] - else if ((.@gamble2 > 22) && (.@gamble2 < 25)) set .@item,2344; // Lucius's Fierce Armor of Volcano - else if ((.@gamble2 > 24) && (.@gamble2 < 27)) set .@item,2346; // Saphien's Armor of Ocean - else if ((.@gamble2 > 26) && (.@gamble2 < 29)) set .@item,2348; // Aebeccee's Raging Typhoon Armor - else if ((.@gamble2 > 28) && (.@gamble2 < 31)) set .@item,2350; // Claytos Cracking Earth Armor - } - else if ((.@gamble1 > 0) && (.@gamble1 < 51)) set .@item,2301; // Cotton Shirt - else if ((.@gamble1 > 50) && (.@gamble1 < 101)) set .@item,2302; // Cotton Shirt[1] - else if ((.@gamble1 > 100) && (.@gamble1 < 151)) set .@item,2303; // Jacket - else if ((.@gamble1 > 150) && (.@gamble1 < 201)) set .@item,2304; // Jacket[1] - else if ((.@gamble1 > 200) && (.@gamble1 < 251)) set .@item,2305; // Adventurer's Suit - else if ((.@gamble1 > 250) && (.@gamble1 < 300)) set .@item,2301; // Cotton Shirt - else if ((.@gamble1 > 301) && (.@gamble1 < 351)) set .@item,2307; // Mantle - else if ((.@gamble1 > 350) && (.@gamble1 < 401)) set .@item,2309; // Coat - else if ((.@gamble1 > 400) && (.@gamble1 < 402)) set .@item,2322; // Silk Robe[1] - else if ((.@gamble1 > 401) && (.@gamble1 < 403)) set .@item,2310; // Coat[1] - else if ((.@gamble1 > 402) && (.@gamble1 < 411)) set .@item,2306; // Adventurer's Suit[1] - else if ((.@gamble1 > 410) && (.@gamble1 < 416)) set .@item,2308; // Mantle[1] - else if ((.@gamble1 > 415) && (.@gamble1 < 421)) set .@item,2313; // Padded Armor[1] - else if ((.@gamble1 > 420) && (.@gamble1 < 426)) set .@item,2337; // Ninja Suit - else if ((.@gamble1 > 425) && (.@gamble1 < 431)) set .@item,2341; // Legion Plate Armor - else if ((.@gamble1 > 430) && (.@gamble1 < 436)) set .@item,2325; // Saint's Robe - else if ((.@gamble1 > 435) && (.@gamble1 < 441)) set .@item,2317; // Full Plate - else if ((.@gamble1 > 440) && (.@gamble1 < 446)) set .@item,2330; // Tights - else if ((.@gamble1 > 445) && (.@gamble1 < 451)) set .@item,2314; // Chain Mail - else if ((.@gamble1 > 450) && (.@gamble1 < 456)) set .@item,2335; // Thief Clothes - else if ((.@gamble1 > 455) && (.@gamble1 < 461)) set .@item,2324; // Scapulare[1] - else if ((.@gamble1 > 460) && (.@gamble1 < 466)) set .@item,2329; // Wooden Mail[1] - else if ((.@gamble1 > 465) && (.@gamble1 < 471)) set .@item,2340; // Novice Breastplate[1] - else if ((.@gamble1 > 470) && (.@gamble1 < 476)) set .@item,2312; // Padded Armor - else if ((.@gamble1 > 475) && (.@gamble1 < 481)) set .@item,2339; // Pantie - else if ((.@gamble1 > 480) && (.@gamble1 < 486)) set .@item,2328; // Wooden Mail - else if ((.@gamble1 > 485) && (.@gamble1 < 491)) set .@item,2321; // Silk Robe - else if ((.@gamble1 > 490) && (.@gamble1 < 501)) set .@item,2323; // Scapulare - break; + .@gamble1 = rand(1,500); + if (.@gamble1 > 299 && .@gamble1 < 303) { + .@gamble2 = rand(1,30); + if (.@gamble2 < 3) .@item = 2315; // Chain Mail[1] + else if (.@gamble2 < 5) .@item = 2336; // Thief Clothes[1] + else if (.@gamble2 < 7) .@item = 2318; // Lord's Clothes[1] + else if (.@gamble2 < 9) .@item = 2326; // Saint's Robe[1] + else if (.@gamble2 < 11) .@item = 2327; // Holy Robe + else if (.@gamble2 < 13) .@item = 2342; // Legion Plate Armor[1] + else if (.@gamble2 < 15) .@item = 2331; // Tights[1] + else if (.@gamble2 < 17) .@item = 2342; // Legion Plate Armor[1] + else if (.@gamble2 < 19) .@item = 2311; // Mink Coat[1] + else if (.@gamble2 < 21) .@item = 2320; // Formal Suit[1] + else if (.@gamble2 < 23) .@item = 2319; // Glittering Jacket[1] + else if (.@gamble2 < 25) .@item = 2344; // Lucius's Fierce Armor of Volcano + else if (.@gamble2 < 27) .@item = 2346; // Saphien's Armor of Ocean + else if (.@gamble2 < 29) .@item = 2348; // Aebeccee's Raging Typhoon Armor + else if (.@gamble2 < 31) .@item = 2350; // Claytos Cracking Earth Armor + } + else if (.@gamble1 < 51) .@item = 2301; // Cotton Shirt + else if (.@gamble1 < 101) .@item = 2302; // Cotton Shirt[1] + else if (.@gamble1 < 151) .@item = 2303; // Jacket + else if (.@gamble1 < 201) .@item = 2304; // Jacket[1] + else if (.@gamble1 < 251) .@item = 2305; // Adventurer's Suit + else if (.@gamble1 < 300) .@item = 2301; // Cotton Shirt + else if (.@gamble1 < 351) .@item = 2307; // Mantle + else if (.@gamble1 < 401) .@item = 2309; // Coat + else if (.@gamble1 < 402) .@item = 2322; // Silk Robe[1] + else if (.@gamble1 < 403) .@item = 2310; // Coat[1] + else if (.@gamble1 < 411) .@item = 2306; // Adventurer's Suit[1] + else if (.@gamble1 < 416) .@item = 2308; // Mantle[1] + else if (.@gamble1 < 421) .@item = 2313; // Padded Armor[1] + else if (.@gamble1 < 426) .@item = 2337; // Ninja Suit + else if (.@gamble1 < 431) .@item = 2341; // Legion Plate Armor + else if (.@gamble1 < 436) .@item = 2325; // Saint's Robe + else if (.@gamble1 < 441) .@item = 2317; // Full Plate + else if (.@gamble1 < 446) .@item = 2330; // Tights + else if (.@gamble1 < 451) .@item = 2314; // Chain Mail + else if (.@gamble1 < 456) .@item = 2335; // Thief Clothes + else if (.@gamble1 < 461) .@item = 2324; // Scapulare[1] + else if (.@gamble1 < 466) .@item = 2329; // Wooden Mail[1] + else if (.@gamble1 < 471) .@item = 2340; // Novice Breastplate[1] + else if (.@gamble1 < 476) .@item = 2312; // Padded Armor + else if (.@gamble1 < 481) .@item = 2339; // Pantie + else if (.@gamble1 < 486) .@item = 2328; // Wooden Mail + else if (.@gamble1 < 491) .@item = 2321; // Silk Robe + else if (.@gamble1 < 501) .@item = 2323; // Scapulare + break; case 3: // Garments - set .@gamble1,rand(1,500); - if ((.@gamble1 > 200) && (.@gamble1 < 204)) { - set .@gamble2,rand(1,16); - if ((.@gamble2 > 0) && (.@gamble2 < 3)) set .@item,2506; // Manteau[1] - else if ((.@gamble2 > 2) && (.@gamble2 < 5)) set .@item,2504; // Muffler[1] - else if ((.@gamble2 > 4) && (.@gamble2 < 8)) set .@item,2508; // Ragamuffin Manteau - else if ((.@gamble2 > 7) && (.@gamble2 < 11)) set .@item,2507; // Ancient Cape - else if (.@gamble2 == 11) set .@item,2513; // Heavenly Maiden Robe[1] - else if (.@gamble2 == 12) set .@item,2514; // Pauldron[1] - else if (.@gamble2 == 13) set .@item,2523; // Undershirt[1] - else if (.@gamble2 == 14) set .@item,2530; // Rider Insigna[1] - else if (.@gamble2 == 15) set .@item,2509; // Survivor's Manteau - else if (.@gamble2 == 16) set .@item,2515; // Eagle Wing[1] - } - else if ((.@gamble1 > 0) && (.@gamble1 < 101)) set .@item,2503; // Muffler - else if ((.@gamble1 > 100) && (.@gamble1 < 201)) set .@item,2505; // Manteau - else if ((.@gamble1 > 203) && (.@gamble1 < 451)) set .@item,2501; // Hood - else if ((.@gamble1 > 450) && (.@gamble1 < 501)) set .@item,2502; // Hood[1] - break; + .@gamble1 = rand(1,500); + if (.@gamble1 > 200 && .@gamble1 < 204) { + .@gamble2 = rand(1,16); + if (.@gamble2 < 3) .@item = 2506; // Manteau[1] + else if (.@gamble2 < 5) .@item = 2504; // Muffler[1] + else if (.@gamble2 < 8) .@item = 2508; // Ragamuffin Manteau + else if (.@gamble2 < 11) .@item = 2507; // Ancient Cape + else if (.@gamble2 == 11) .@item = 2513; // Heavenly Maiden Robe[1] + else if (.@gamble2 == 12) .@item = 2514; // Pauldron[1] + else if (.@gamble2 == 13) .@item = 2523; // Undershirt[1] + else if (.@gamble2 == 14) .@item = 2530; // Rider Insigna[1] + else if (.@gamble2 == 15) .@item = 2509; // Survivor's Manteau + else if (.@gamble2 == 16) .@item = 2515; // Eagle Wing[1] + } + else if (.@gamble1 < 101) .@item = 2503; // Muffler + else if (.@gamble1 < 201) .@item = 2505; // Manteau + else if (.@gamble1 < 451) .@item = 2501; // Hood + else if (.@gamble1 < 501) .@item = 2502; // Hood[1] + break; case 4: // Headgears - set .@gamble1,rand(1,1000); - if ((.@gamble1 > 299) && (.@gamble1 < 304)) { - set .@gamble2,rand(1,93); - if ((.@gamble2 > 0) && (.@gamble2 < 3)) set .@item,2251; // Monk Hat - else if ((.@gamble2 > 2) && (.@gamble2 < 5)) set .@item,2285; // Apple of Archer - else if ((.@gamble2 > 4) && (.@gamble2 < 7)) set .@item,2255; // Evil Wing - else if ((.@gamble2 > 6) && (.@gamble2 < 9)) set .@item,5045; // Magician Hat - else if ((.@gamble2 > 8) && (.@gamble2 < 11)) set .@item,2233; // Circlet[1] - else if ((.@gamble2 > 10) && (.@gamble2 < 13)) set .@item,2231; // Gemmed Sallet[1] - else if ((.@gamble2 > 12) && (.@gamble2 < 15)) set .@item,2217; // Biretta[1] - else if ((.@gamble2 > 14) && (.@gamble2 < 17)) set .@item,2206; // Wedding Veil - else if ((.@gamble2 > 16) && (.@gamble2 < 19)) set .@item,2246; // Golden Gear - else if ((.@gamble2 > 18) && (.@gamble2 < 21)) set .@item,2261; // Army Cap - else if ((.@gamble2 > 20) && (.@gamble2 < 23)) set .@item,2287; // Pirate Bandana - else if ((.@gamble2 > 22) && (.@gamble2 < 25)) set .@item,5012; // Ph.D Hat - else if ((.@gamble2 > 24) && (.@gamble2 < 27)) set .@item,2244; // Big Ribbon - else if ((.@gamble2 > 26) && (.@gamble2 < 29)) set .@item,2213; // Kitty Band - else if ((.@gamble2 > 28) && (.@gamble2 < 31)) set .@item,2248; // Western Grace - else if ((.@gamble2 > 30) && (.@gamble2 < 33)) set .@item,2223; // Turban[1] - else if ((.@gamble2 > 32) && (.@gamble2 < 35)) set .@item,2247; // Romantic Gent - else if ((.@gamble2 > 34) && (.@gamble2 < 37)) set .@item,2245; // Sweet Gent - else if ((.@gamble2 > 36) && (.@gamble2 < 39)) set .@item,5003; // Joker Jester - else if ((.@gamble2 > 38) && (.@gamble2 < 41)) set .@item,2225; // Goggles[1] - else if ((.@gamble2 > 40) && (.@gamble2 < 43)) set .@item,5017; // Bone Helm - else if ((.@gamble2 > 42) && (.@gamble2 < 45)) set .@item,5030; // Panda Hat - else if ((.@gamble2 > 44) && (.@gamble2 < 47)) set .@item,5035; // Poring Hat - else if ((.@gamble2 > 46) && (.@gamble2 < 49)) set .@item,2250; // Cute Ribbon - else if ((.@gamble2 > 48) && (.@gamble2 < 51)) set .@item,2277; // Nurse Cap - else if ((.@gamble2 > 50) && (.@gamble2 < 53)) set .@item,5011; // Aerial - else if ((.@gamble2 > 52) && (.@gamble2 < 55)) set .@item,2290; // Funeral Hat - else if ((.@gamble2 > 54) && (.@gamble2 < 57)) set .@item,5010; // Indian Fillet - else if ((.@gamble2 > 56) && (.@gamble2 < 60)) set .@item,2259; // Mini Propeller - else if ((.@gamble2 > 59) && (.@gamble2 < 62)) set .@item,5008; // Puppy Love - else if ((.@gamble2 > 61) && (.@gamble2 < 63)) set .@item,2249; // Coronet - else if ((.@gamble2 > 62) && (.@gamble2 < 65)) set .@item,2229; // Helm[1] - else if (.@gamble2 == 65) set .@item,2258; // Spiky Band - else if (.@gamble2 == 66) set .@item,2274; // Ghost Bandana - else if (.@gamble2 == 67) set .@item,5019; // Corsair - else if (.@gamble2 == 68) set .@item,2254; // Angel Wing - else if (.@gamble2 == 69) set .@item,5007; // Grand Circlet - else if (.@gamble2 == 70) set .@item,5066; // Succubus Horn - else if (.@gamble2 == 71) set .@item,2235; // Crown - else if (.@gamble2 == 72) set .@item,2234; // Tiara - else if (.@gamble2 == 73) set .@item,2256; // Majestic Goat - else if (.@gamble2 == 74) set .@item,5093; // Coif[1] - else if (.@gamble2 == 75) set .@item,5072; // Incubus Horn - else if (.@gamble2 == 76) set .@item,5002; // Jewel Crown - else if (.@gamble2 > 76 && .@gamble2 < 80) set .@item,5118; // Puppy Headband - else if (.@gamble2 > 79 && .@gamble2 < 83) set .@item,5120; // Bucket Hat[1] - else if (.@gamble2 > 82 && .@gamble2 < 86) set .@item,5111; // Galapago Cap - else if (.@gamble2 > 85 && .@gamble2 < 89) set .@item,5116; // Banana Hat - else if (.@gamble2 > 88 && .@gamble2 < 92) set .@item,5119; // Super Novice Hat[1] - else if (.@gamble2 > 91 && .@gamble2 < 94) set .@item,5141; // Marionetta Doll[1] - } - else if ((.@gamble1 > 0) && (.@gamble1 < 101)) set .@item,2226; // Cap - else if ((.@gamble1 > 100) && (.@gamble1 < 201)) set .@item,2211; // Bandana - else if ((.@gamble1 > 200) && (.@gamble1 < 300)) set .@item,2209; // Ribbon[1] - else if ((.@gamble1 > 303) && (.@gamble1 < 401)) set .@item,2220; // Hat - else if ((.@gamble1 > 400) && (.@gamble1 < 501)) set .@item,2232; // Circlet - else if ((.@gamble1 > 500) && (.@gamble1 < 601)) set .@item,2216; // Biretta - else if ((.@gamble1 > 600) && (.@gamble1 < 701)) set .@item,2230; // Gemmed Sallet - else if ((.@gamble1 > 700) && (.@gamble1 < 801)) set .@item,2224; // Goggles - else if ((.@gamble1 > 800) && (.@gamble1 < 901)) set .@item,2222; // Turban - else if ((.@gamble1 > 900) && (.@gamble1 < 906)) set .@item,2228; // Helm - else if ((.@gamble1 > 905) && (.@gamble1 < 911)) set .@item,2252; // Wizard Hat - else if ((.@gamble1 > 910) && (.@gamble1 < 916)) set .@item,2227; // Cap[1] - else if ((.@gamble1 > 915) && (.@gamble1 < 921)) set .@item,2221; // Hat[1] - else if ((.@gamble1 > 920) && (.@gamble1 < 926)) set .@item,2299; // Orc Helm - else if ((.@gamble1 > 925) && (.@gamble1 < 931)) set .@item,2236; // Santa Hat - else if ((.@gamble1 > 930) && (.@gamble1 < 936)) set .@item,2275; // Red Bandana - else if ((.@gamble1 > 935) && (.@gamble1 < 941)) set .@item,5015; // Egg Shell - else if ((.@gamble1 > 940) && (.@gamble1 < 946)) set .@item,2215; // Flower Band - else if ((.@gamble1 > 945) && (.@gamble1 < 951)) set .@item,5092; // Coif - else if ((.@gamble1 > 950) && (.@gamble1 < 1001)) set .@item,2226; // Cap - break; + .@gamble1 = rand(1,1000); + if (.@gamble1 > 299 && .@gamble1 < 304) { + .@gamble2 = rand(1,93); + if (.@gamble2 < 3) .@item = 2251; // Monk Hat + else if (.@gamble2 < 5) .@item = 2285; // Apple of Archer + else if (.@gamble2 < 7) .@item = 2255; // Evil Wing + else if (.@gamble2 < 9) .@item = 5045; // Magician Hat + else if (.@gamble2 < 11) .@item = 2233; // Circlet[1] + else if (.@gamble2 < 13) .@item = 2231; // Gemmed Sallet[1] + else if (.@gamble2 < 15) .@item = 2217; // Biretta[1] + else if (.@gamble2 < 17) .@item = 2206; // Wedding Veil + else if (.@gamble2 < 19) .@item = 2246; // Golden Gear + else if (.@gamble2 < 21) .@item = 2261; // Army Cap + else if (.@gamble2 < 23) .@item = 2287; // Pirate Bandana + else if (.@gamble2 < 25) .@item = 5012; // Ph.D Hat + else if (.@gamble2 < 27) .@item = 2244; // Big Ribbon + else if (.@gamble2 < 29) .@item = 2213; // Kitty Band + else if (.@gamble2 < 31) .@item = 2248; // Western Grace + else if (.@gamble2 < 33) .@item = 2223; // Turban[1] + else if (.@gamble2 < 35) .@item = 2247; // Romantic Gent + else if (.@gamble2 < 37) .@item = 2245; // Sweet Gent + else if (.@gamble2 < 39) .@item = 5003; // Joker Jester + else if (.@gamble2 < 41) .@item = 2225; // Goggles[1] + else if (.@gamble2 < 43) .@item = 5017; // Bone Helm + else if (.@gamble2 < 45) .@item = 5030; // Panda Hat + else if (.@gamble2 < 47) .@item = 5035; // Poring Hat + else if (.@gamble2 < 49) .@item = 2250; // Cute Ribbon + else if (.@gamble2 < 51) .@item = 2277; // Nurse Cap + else if (.@gamble2 < 53) .@item = 5011; // Aerial + else if (.@gamble2 < 55) .@item = 2290; // Funeral Hat + else if (.@gamble2 < 57) .@item = 5010; // Indian Fillet + else if (.@gamble2 < 60) .@item = 2259; // Mini Propeller + else if (.@gamble2 < 62) .@item = 5008; // Puppy Love + else if (.@gamble2 < 63) .@item = 2249; // Coronet + else if (.@gamble2 < 65) .@item = 2229; // Helm[1] + else if (.@gamble2 == 65) .@item = 2258; // Spiky Band + else if (.@gamble2 == 66) .@item = 2274; // Ghost Bandana + else if (.@gamble2 == 67) .@item = 5019; // Corsair + else if (.@gamble2 == 68) .@item = 2254; // Angel Wing + else if (.@gamble2 == 69) .@item = 5007; // Grand Circlet + else if (.@gamble2 == 70) .@item = 5066; // Succubus Horn + else if (.@gamble2 == 71) .@item = 2235; // Crown + else if (.@gamble2 == 72) .@item = 2234; // Tiara + else if (.@gamble2 == 73) .@item = 2256; // Majestic Goat + else if (.@gamble2 == 74) .@item = 5093; // Coif[1] + else if (.@gamble2 == 75) .@item = 5072; // Incubus Horn + else if (.@gamble2 == 76) .@item = 5002; // Jewel Crown + else if (.@gamble2 < 80) .@item = 5118; // Puppy Headband + else if (.@gamble2 < 83) .@item = 5120; // Bucket Hat[1] + else if (.@gamble2 < 86) .@item = 5111; // Galapago Cap + else if (.@gamble2 < 89) .@item = 5116; // Banana Hat + else if (.@gamble2 < 92) .@item = 5119; // Super Novice Hat[1] + else if (.@gamble2 < 94) .@item = 5141; // Marionetta Doll[1] + } + else if (.@gamble1 < 101) .@item = 2226; // Cap + else if (.@gamble1 < 201) .@item = 2211; // Bandana + else if (.@gamble1 < 300) .@item = 2209; // Ribbon[1] + else if (.@gamble1 < 401) .@item = 2220; // Hat + else if (.@gamble1 < 501) .@item = 2232; // Circlet + else if (.@gamble1 < 601) .@item = 2216; // Biretta + else if (.@gamble1 < 701) .@item = 2230; // Gemmed Sallet + else if (.@gamble1 < 801) .@item = 2224; // Goggles + else if (.@gamble1 < 901) .@item = 2222; // Turban + else if (.@gamble1 < 906) .@item = 2228; // Helm + else if (.@gamble1 < 911) .@item = 2252; // Wizard Hat + else if (.@gamble1 < 916) .@item = 2227; // Cap[1] + else if (.@gamble1 < 921) .@item = 2221; // Hat[1] + else if (.@gamble1 < 926) .@item = 2299; // Orc Helm + else if (.@gamble1 < 931) .@item = 2236; // Santa Hat + else if (.@gamble1 < 936) .@item = 2275; // Red Bandana + else if (.@gamble1 < 941) .@item = 5015; // Egg Shell + else if (.@gamble1 < 946) .@item = 2215; // Flower Band + else if (.@gamble1 < 951) .@item = 5092; // Coif + else if (.@gamble1 < 1001) .@item = 2226; // Cap + break; case 5: // Footgear - set .@gamble1,rand(1,500); - if ((.@gamble1 > 299) && (.@gamble1 < 303)) { - set .@gamble2,rand(1,10); - if ((.@gamble2 > 0) && (.@gamble2 < 3)) set .@item,2406; // Boots[1] - else if ((.@gamble2 > 2) && (.@gamble2 < 5)) set .@item,2412; // Greaves[1] - else if ((.@gamble2 > 4) && (.@gamble2 < 8)) set .@item,2404; // Shoes[1] - else if ((.@gamble2 > 7) && (.@gamble2 < 11)) set .@item,2407; // Crystal Pumps - } - else if ((.@gamble1 > 0) && (.@gamble1 < 201)) set .@item,2401; // Sandals - else if ((.@gamble1 > 200) && (.@gamble1 < 300)) set .@item,2408; // Shackles - else if ((.@gamble1 > 302) && (.@gamble1 < 351)) set .@item,2411; // Greaves - else if ((.@gamble1 > 350) && (.@gamble1 < 401)) set .@item,2403; // Shoes - else if ((.@gamble1 > 400) && (.@gamble1 < 451)) set .@item,2405; // Boots - else if ((.@gamble1 > 450) && (.@gamble1 < 476)) set .@item,2409; // High Heels - else if ((.@gamble1 > 475) && (.@gamble1 < 501)) set .@item,2402; // Sandals[1] - break; + .@gamble1 = rand(1,500); + if (.@gamble1 > 299 && .@gamble1 < 303) { + .@gamble2 = rand(1,10); + if (.@gamble2 < 3) .@item = 2406; // Boots[1] + else if (.@gamble2 < 5) .@item = 2412; // Greaves[1] + else if (.@gamble2 < 8) .@item = 2404; // Shoes[1] + else if (.@gamble2 < 11) .@item = 2407; // Crystal Pumps + } + else if (.@gamble1 < 201) .@item = 2401; // Sandals + else if (.@gamble1 < 300) .@item = 2408; // Shackles + else if (.@gamble1 < 351) .@item = 2411; // Greaves + else if (.@gamble1 < 401) .@item = 2403; // Shoes + else if (.@gamble1 < 451) .@item = 2405; // Boots + else if (.@gamble1 < 476) .@item = 2409; // High Heels + else if (.@gamble1 < 501) .@item = 2402; // Sandals[1] + break; case 6: // Shields - set .@gamble1,rand(1,500); - if ((.@gamble1 > 200) && (.@gamble1 < 205)) { - set .@gamble2,rand(1,10); - if ((.@gamble2 > 0) && (.@gamble2 < 3)) set .@item,2104; // Buckler[1] - else if ((.@gamble2 > 2) && (.@gamble2 < 5)) set .@item,2106; // Shield[1] - else if ((.@gamble2 > 4) && (.@gamble2 < 7)) set .@item,2102; // Guard[1] - else if ((.@gamble2 > 6) && (.@gamble2 < 9)) set .@item,2111; // Sacred Mission - else if ((.@gamble2 > 8) && (.@gamble2 < 11)) set .@item,2109; // Memory Book - } - else if ((.@gamble1 > 0) && (.@gamble1 < 201)) set .@item,2101; // Guard - else if ((.@gamble1 > 204) && (.@gamble1 < 301)) set .@item,2103; // Buckler - else if ((.@gamble1 > 300) && (.@gamble1 < 401)) set .@item,2107; // Mirror Shield - else if ((.@gamble1 > 401) && (.@gamble1 < 481)) set .@item,2105; // Shield - else if ((.@gamble1 > 480) && (.@gamble1 < 501)) set .@item,2108; // Mirror Shield[1] - break; + .@gamble1 = rand(1,500); + if (.@gamble1 > 200 && .@gamble1 < 205) { + .@gamble2 = rand(1,10); + if (.@gamble2 < 3) .@item = 2104; // Buckler[1] + else if (.@gamble2 < 5) .@item = 2106; // Shield[1] + else if (.@gamble2 < 7) .@item = 2102; // Guard[1] + else if (.@gamble2 < 9) .@item = 2111; // Sacred Mission + else if (.@gamble2 < 11) .@item = 2109; // Memory Book + } + else if (.@gamble1 < 201) .@item = 2101; // Guard + else if (.@gamble1 < 301) .@item = 2103; // Buckler + else if (.@gamble1 < 401) .@item = 2107; // Mirror Shield + else if (.@gamble1 < 481) .@item = 2105; // Shield + else if (.@gamble1 < 501) .@item = 2108; // Mirror Shield[1] + break; default: // Cancel button / hack - cutin "katsua01.bmp",255; - close; - break; + cutin "katsua01.bmp",255; + close; + break; } - getitem .@item,1; - cutin "katsua01.bmp",255; cutin "katsua02.bmp",2; mes "[Kachua]"; @@ -394,8 +385,7 @@ comodo,219,158,6 script Kachua 91,{ end; } -comodo,204,148,7 script Devellin 90,{ - +comodo,204,148,7 script Devellin 4_F_01,{ mes "[Devellin]"; mes "It seems some traveller showed"; mes "a huge diamond to Kachua a while ago. Ever since then, all she's been talking about is diamonds and how much she wants them."; @@ -408,8 +398,7 @@ comodo,204,148,7 script Devellin 90,{ close; } -comodo,210,154,2 script Suspicious Guy#cmd 118,{ - +comodo,210,154,2 script Suspicious Guy#cmd 2_M_THIEFMASTER,{ if (BaseClass == Job_Thief){ mes "[Cain]"; mes "Heeeey..."; @@ -476,7 +465,7 @@ comodo,210,154,2 script Suspicious Guy#cmd 118,{ next; mes "[Cain]"; mes "I guess it can't hurt to gather some Diamonds there and try to exchange them for whatever the old lady's got. Take care, pal~"; - set Zeny,Zeny-500; + Zeny = Zeny-500; close; } mes "[Cain]"; @@ -491,8 +480,7 @@ comodo,210,154,2 script Suspicious Guy#cmd 118,{ } } -mjolnir_02,85,362,3 script Blacksmith Miner 726,{ - +mjolnir_02,85,362,3 script Blacksmith Miner 4_F_JOB_BLACKSMITH,{ if (checkweight(1201,1) == 0) { mes "^3355FFWait a second! Right now, you're carrying too many items with you. Please come back after putting some of your things into Kafra Storage.^000000"; close; @@ -538,8 +526,8 @@ mjolnir_02,85,362,3 script Blacksmith Miner 726,{ mes "Please enter 500 or less."; close; } - set .@cost,.@amount * 55000; - set .@weight,.@amount * 100; + .@cost = .@amount * 55000; + .@weight = .@amount * 100; if (Zeny < .@cost){ mes "[Dwayne]"; mes "Errr..."; @@ -549,14 +537,14 @@ mjolnir_02,85,362,3 script Blacksmith Miner 726,{ mes "I sell them at that price."; close; } - if (Weight < .@weight){ + if ((MaxWeight - Weight) < .@weight){ mes "[Dwayne]"; mes "Errr..."; mes "You're carrying too many items."; mes "I don't think give you anything if there's no room in your inventory. Why don't you put some of your stuff into Kafra Storage?"; close; } - set Zeny,Zeny - .@cost; + Zeny = Zeny - .@cost; getitem 732,.@amount; mes "[Dwayne]"; mes "Thank you for"; diff --git a/other/fortune.txt b/other/fortune.txt index 0f3d31d..a9845c6 100644 --- a/other/fortune.txt +++ b/other/fortune.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= L0ne_W0lf //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -11,3528 +11,2620 @@ //= Fortune teller NPC. Displays random Card image. //===== Additional Comments: ================================= //= 1.0 First version. [L0ne_W0lf] +//= 1.1 Little clean-up. [Capuche] //============================================================ -payon_in03,117,128,5 script Fortune Teller 704,{ +payon_in03,117,128,5 script Fortune Teller 4_M_BIBI,{ mes "[Lhimetorra]"; mes "You're an adventurer of this world... " +strcharinfo(0)+ ", right? So, what can an old person like me do for you?"; next; - switch(select("I would like a tarot card reading.:What's a tarot card reading?")) { + if (select("I would like a tarot card reading.:What's a tarot card reading?") == 2) { + mes "[Lhimetorra]"; + mes " Monster card reading uses the cards of familiar monsters around us to get advice about our future, love, and many other things. "; + mes " A fortuneteller like me takes a question from a person and asks the card. The card answers and I tell the person. "; + next; + mes "[Lhimetorra]"; + mes " You should not get more than one card reading a day, and don't get one often since the card can get angry or confused. "; + mes " Also, it can have a bad influence on your life, too! "; + next; + mes "[Lhimetorra]"; + mes " And... one more thing. "; + mes " A card reading is only a reading... No matter how extraordinary the result may be, don't get too caught up with it. Bear that in mind. "; + close; + } + mes "[Lhimetorra]"; + mes "Is that so...?"; + mes "Well, if you want a monster card reading, you must first show me your faith. Otherwise, the monster spirits will grow angry and place a curse on you."; + next; + mes "[Lhimetorra]"; + mes "So, would you like a monster card reading? "; + next; + if (select("Yes.:I would like to think it over once more.") == 2) { + mes "[Lhimetorra]"; + mes " Ok then. Young adventurer, may luck be with you... "; + close; + } + mes "[Lhimetorra]"; + mes "Then..."; + mes "Please pay your fee with all of your sincerity."; + next; + input .@input; + if (.@input == 0) { + mes "[Lhimetorra]"; + mes "Ah...?!"; + mes "You have angered the monster spirits!"; + close; + } + else if (.@input > zeny) { + mes "[Lhimetorra]"; + mes "There's no need to overdo it. Just give with all your heart... *Tsk tsk*"; + close; + } + else { + mes "[Lhimetorra]"; + mes "I accept your heart and your devotion with my gratitude. Thoughts are more important than the amount when paying a fortune teller."; + Zeny = Zeny-.@input; + } + next; + mes "[Lhimetorra]"; + mes "Then, I will begin to tell the fortune of your wish. Concentrate on yourself..."; + next; + mes "[Lhimetorra]"; + mes "..."; + mes "Clear your mind... "; + next; + mes "[Lhimetorra]"; + mes "..."; + mes "Once you have emptied your mind, think of the thing you most wish to know."; + next; + switch(select(" (I would like to know my love fortune.) "," (How rich will I be?) "," (I need advice about my future.) "," (Can I get a warning of any dangers awaiting?) ")) { case 1: mes "[Lhimetorra]"; - mes "Is that so...?"; - mes "Well, if you want a monster card reading, you must first show me your faith. Otherwise, the monster spirits will grow angry and place a curse on you."; + mes " I see it... I see a sign of love... "; + next; + .@card_1_love = rand(1,74); + if (.@card_1_love < 5) cutin "°¡À̾ƽºÄ«µå",4; // Giearth Card + else if (.@card_1_love < 10) cutin "´õ½ºÆ¼³×½ºÄ«µå",4;// Dustiness Card + else if (.@card_1_love < 18) cutin "µå¶óÅ¥¶óÄ«µå",4; // Dracula Card + else if (.@card_1_love < 26) cutin "¸¶¸®³ªÄ«µå",4; // Marina Card + else if (.@card_1_love < 30) cutin "¸ÞµÎ»çÄ«µå",4; // Medusa Card + else if (.@card_1_love < 35) cutin "¹ÙÆ÷¸ÞƮīµå",4; // Baphomet Card + else if (.@card_1_love < 39) cutin "»÷µå¸ÇÄ«µå",4; // Sandman Card + else if (.@card_1_love < 43) cutin "¼ÒÈñÄ«µå",4; // Sohee Card + else if (.@card_1_love < 51) cutin "½ºÄÌ¿öÄ¿Ä«µå",4; // Skel Worker Card + else if (.@card_1_love < 55) cutin "¾Æ´©ºñ½ºÄ«µå",4; // Anubis Card + else if (.@card_1_love < 59) cutin "¿ÀÅ©·ÎµåÄ«µå",4; // Orc Lord Card + else if (.@card_1_love < 63) cutin "ÀèÄ«µå",4; // Jakk Card + else if (.@card_1_love < 67) cutin "Á¶Ä¿Ä«µå",4; // Joker Card + else if (.@card_1_love < 71) cutin "È£µåÄ«µå",4; // Hode Card + else cutin "Ȳ¼ÒÄ«µå",4;// Minorous Card + + mes "[Lhimetorra]"; + switch(.@card_1_love) { + case 1: + mes " You are afraid to show yourself working, to your loved one.. "; + mes " But that is not love. Do not be afraid to show different sides of yourself to your loved one.. "; + next; + mes "[Lhimetorra]"; + mes " So do not worry and move on. "; + break; + case 2: + mes " Maybe you are using love as an excuse to work? The card is saying to try observing love from a different perspective. "; + next; + mes "[Lhimetorra]"; + mes " Shoveling requires skills as well. "; + break; + case 3: + mes " How about taking a break from love and giving yourself time to relax.. I agree with what the card is saying. "; + next; + mes "[Lhimetorra]"; + mes " Love is not meant to be so hard. "; + break; + case 4: + mes " A shovel..? "; + next; + mes "[Lhimetorra]"; + mes " Strange that this would come up about love.. bizarre.. You aren't using this shovel to take revenge on someone, are you?? "; + mes " Don't get malicious thoughts. Keep a kind heart. "; + next; + mes "[Lhimetorra]"; + mes " How about taking a break from love and giving yourself time to relax.. I agree with this card. "; + break; + case 5:// Dustiness Card + mes " Its pure eyes look at a loved one but cannot recognize them, the wings flutter towards the loved one, but it helplessly stays in one place, "; + mes " it calls its loved one, but they cannot hear.. "; + next; + mes "[Lhimetorra]"; + mes " What a sad fortune.. "; + mes " Indeed, it is sad love... it might be hard to overcome. "; + break; + case 6: + mes " The passion of love like a raging wave... You can't even hide it. "; + mes " With such passionate love, isn't there only one way..? "; + next; + mes "[Lhimetorra]"; + mes " Passionate love is nearby. It is a good sign. "; + break; + case 7: + mes " The teeth of dustiness are very strong. This means.. use your teeth for victory?! "; + break; + case 8: + mes " The card is telling me, 'Fly to your loved one as you were a butterfly and shoot at it as you were a star.' "; + mes "..even though it doesn't sound like something a moth would say. "; + next; + mes "[Lhimetorra]"; + mes " The passion of love like a raging wave.. You can't even hide it. "; + break; + case 9: + mes " Perhaps the person you believe to be a butterfly is actually a moth. This fortune is awaiting a prudent judgement. "; + next; + mes "[Lhimetorra]"; + mes " Love is indeed a subject to be dealt with prudence. Keep that in mind young one. "; + break; + case 10: // Dracula Card + mes " The one you love will give you a kiss of death. "; + mes " The irresistable kiss.. It is up to you to decide whether to avoid it or not. "; + next; + mes "[Lhimetorra]"; + mes " Charisma... is the sweetest poison. "; + break; + case 11: + mes " You are looking at a wonderful person, but their eyes are fixed in darkness. "; + mes " How about trying to grab their attention? "; + next; + mes "[Lhimetorra]"; + mes " so, you need to try something other than charisma. "; + break; + case 12: + mes " Your love needs fresh blood. Healthy exercises and eating habits are necessary! "; + mes " You must change your living pattern first. "; + next; + mes "[Lhimetorra]"; + mes " Health is the best. "; + break; + case 13: + mes " Don't you think you are infatuated by outer appearance and gambling with love? You might have to be more careful about it this time. "; + next; + mes "[Lhimetorra]"; + mes " Beauty is only skin deep. "; + break; + case 14: + mes " Become a pirate of love! It is a simple, yet strong fortune! "; + break; + case 15: + mes " No matter how romantic and beautiful love is, it is not rightful, it is undesirable.. "; + mes " is what this card means. "; + next; + mes "[Lhimetorra]"; + mes " I hope you are not disappointed by the moral of this fortune. "; + break; + case 16: + mes " In the rough sea called the world, only pirates, the outlaws of love, are the law. "; + mes " This card supports strong love. "; + next; + mes "[Lhimetorra]"; + mes " You must overcome it - no matter how strong the wave is. "; + break; + case 17: + mes " It is a warning not to get involved in false love like pirated editions! "; + mes " You may have to reconsider your love right now. "; + next; + mes "[Lhimetorra]"; + mes " Illegal copying is not love! "; + break; + case 18:// Marina Card + mes " This is praising the type of love that is always there, yet barely has a form as it does not exist. "; + mes " Are you involved this type of love? "; + next; + mes "[Lhimetorra]"; + mes " Love's form is obscure. "; + break; + case 19: + mes " You must be careful. Love is quietly approaching and spreading poison. Be careful of the poison of love. "; + next; + mes "[Lhimetorra]"; + mes " There is no cure for this poison! "; + break; + case 20: + mes " Aren't you already caught in love that you cannot run away from? Look around you. "; + mes " You might be captured inside invisible walls. "; + next; + mes "[Lhimetorra]"; + mes " You have been blinded by love and became a prisoner! Shouldn't you escape? "; + break; + case 21: + mes " This fortune is saying that love is.. approaching wobbly and softly~ and then bam~ embracing it. "; + mes " Very romantic. Hehe. "; + next; + mes "[Lhimetorra]"; + mes " Romance is the best part of love~ "; + break; + case 22: + mes " This card is warning you to not treat your loved one like a puppet. "; + mes " You're not doing this, are you? "; + next; + mes "[Lhimetorra]"; + mes " Love is not supposed to be about controlling and restraining~ mm~ "; + break; + case 23: + mes " Dolls understand a human's heart more than a human. Try treating your loved one as they were a doll. "; + next; + mes "[Lhimetorra]"; + mes " Your loved one can't be worse than a doll, can they? "; + break; + case 24: + mes " you are afraid to look into a doll's eyes, that is because there is a dark shadow covering your love. "; + mes " Rid yourselves of that shadow. Then the doll will smile as well. "; + next; + mes "[Lhimetorra]"; + mes " That is what love is. "; + break; + case 25: + mes " Dolls become accustomed to the owner the more they are handled. Give your doll more attention. "; + mes " The doll is craving attention. A lot of attention. "; + next; + mes "[Lhimetorra]"; + mes " Delicate treatment and attention is the best in love. "; + break; + case 26:// Medusa Card + mes " Do you fear the snake hair of a Medusa? However, love cannot be achieved with fear. "; + mes " You must move forward! "; + next; + mes "[Lhimetorra]"; + mes " Love must be pushed forward! "; + break; + case 27: + mes " Warriors that hastily attacked the Medusa all failed, but the one hero that used a mirror succeeded. "; + mes " You cannot succeed in love with brute force. You must use wisdom. "; + next; + mes "[Lhimetorra]"; + mes " Do you understand what I mean young one? "; + break; + case 28: + mes " Must you love the one that has hair of snakes? Reconsider this love and think about it earnestly. "; + next; + mes "[Lhimetorra]"; + mes " What do you think? Isn't this a great opportunity to ponder about the relationship. "; + break; + case 29: + mes " It is a hint saying that a strong hairstyle is the key to turning over the situation. Change your hairstyle! "; + next; + mes "[Lhimetorra]"; + mes " Fashion is in the hands of those who are ahead! "; + break; + case 30:// Baphomet Card + mes " Love must have two things: great strength and the will to live. Have you thought about whether or not you can overcome this with your current self? "; + next; + mes "[Lhimetorra]"; + mes " Know love and know thyself! "; + break; + case 31: + mes " A scythe may seem burdensome but a strong Baphomet can freely use it. "; + mes " It is the same concept. you are ready, any type of love is possible. There is no such thing as impossible. "; + next; + mes "[Lhimetorra]"; + mes " Love requires preparation as well! "; + break; + case 32: + mes " Love must have two things: great strength and the will to live. Have you thought about whether or not you can overcome this with your current self? "; + next; + mes "[Lhimetorra]"; + mes " Know love and know thyself! "; + break; + case 33: + mes " There are those who are born, destined to run into this wall, an obstacle. Your love seems to have reached that wall.. It must be hard. "; + next; + mes "[Lhimetorra]"; + mes " What a pity. "; + break; + case 34: + mes " This Baphomet looks as it is having a hard time. The person must be exhausted even it may not seem so. "; + next; + mes "[Lhimetorra]"; + mes " Approach then with affection. "; + break; + case 35:// Sandman Card + mes " Can't you hear the cry of the card? It is suffering. Love is like that.. "; + next; + mes "[Lhimetorra]"; + mes " So don't be upset about it! "; + break; + case 36: + mes " Your love right now is so bored that it is yawning. How about trying something fresh and new? "; + next; + mes "[Lhimetorra]"; + mes " Try changing your dating style. "; + break; + case 37: + mes " Deep sleep brings happiness and dreams. I think what you need right now is sleep. "; + next; + mes "[Lhimetorra]"; + mes " Get some sleep. "; + break; + case 38: + mes " I feel some sort of emptiness.. Maybe there is a gap in your love? "; + next; + mes "[Lhimetorra]"; + mes " Take a close look. "; + break; + case 39:// Sohee Card + mes " Even a traditional beauty can seem cold to others. Try looking at your loved one from a different point of view. "; + next; + mes "[Lhimetorra]"; + mes " Look at love from a different perspective. You never know when you'll be able to discover something. "; + break; + case 40: + mes " They may seem dreary and ominous but their attire is spotless. They show devotion to the other. "; + mes " Even though you are not satisfied with your love right now, take a look at their attire. "; + next; + mes "[Lhimetorra]"; + mes " it is carefully worn, their heart for you can be seen in it as well.. "; + break; + case 41: + mes " There is a person you must not deal with thoughtlessly nearby. Don't say or do anything carelessly. You must be careful when dealing with this person. "; + next; + mes "[Lhimetorra]"; + mes " Bear that in mind. "; + break; + case 42: + mes " Even the wind blows and the trail of her clothes flutter, her posture never changes. Loving a person with that type of heart will bring goodwill and happiness. "; + next; + mes "[Lhimetorra]"; + mes " Keep a righteous heart and mind. "; + break; + case 43:// Skel Worker Card + mes " That lightens and attacks with a pickaxe! You must aggressively move forward. What do you think? Your fortune is a good one. "; + next; + mes "[Lhimetorra]"; + mes " Is your heart ready young one? "; + break; + case 44: + mes " The card only shows gaunt bones, but notice how it has all the necessary tools?"; + mes " Even though your love right now may seem as there is nothing to it, it has everything you need. "; + next; + mes "[Lhimetorra]"; + mes " Don't get too greedy about things. "; + break; + case 45: + mes " It has a lantern on its back and even in its hand.. it believes one light is insufficient. "; + mes " you are only shining one type of light to your loved one, shining another might help. "; + next; + mes "[Lhimetorra]"; + mes " They might be feeling that one is not enough. "; + break; + case 46: + mes " You know the smile of Mona Lisa.. Perhaps the person you are looking at has the same expression? "; + next; + mes "[Lhimetorra]"; + mes " Don't try to gaze straight them. Make an effort to approach them. "; + break; + case 47: + mes " A knight on a horse is a fantasy in every person's heart. Make it so that this fantasy becomes real. "; + next; + mes "[Lhimetorra]"; + mes " Then there will surely be progress. "; + break; + case 48: + mes " Is that soldier waiting to attack? I can feel great tension between the horse and knight. "; + mes " Don't run forward carelessly. Raise your sword and wait for your chance. "; + next; + mes "[Lhimetorra]"; + mes " This means now is a time to wait. How about it, would you like to wait a while? "; + break; + case 49: + mes " He is falling asleep awaiting a battle. Is it because he is laid back, or simply pathetic? Depends on the situation I suppose. "; + mes " But you've got to give him credit for his boldness. "; + next; + mes "[Lhimetorra]"; + mes " How about becoming a brave warrior in the battle of love? "; + break; + case 50: + mes " Very favorable. It's to a point that I can feel strong energy from the card. I will give some of this energy to you. "; + next; + mes "[Lhimetorra]"; + mes " Devote that energy to love..! "; + break; + case 51:// Anubis Card + mes " What does the god of death have to say about love? It is something ominous for sure. "; + next; + mes "[Lhimetorra]"; + mes " I think it is trying to give a warning. Be careful. "; + break; + case 52: + mes " Hmm. How about giving a cute puppy as a gift? One with a round nose. Then they will surely be happy. "; + next; + mes "[Lhimetorra]"; + mes " But can't help it they don't like puppies. "; + break; + case 53: + mes " I can tell what it was doing from the way it is crying while holding an axe with blood. It is deeply wounded by love. "; + next; + mes "[Lhimetorra]"; + mes " that wound isn't cured soon, it will become as Anubis wanted. "; + break; + case 54: + mes " The pattern of the clothes symbolizes a warning. It is saying to be careful of love. "; + next; + mes "[Lhimetorra]"; + mes "Be cautious. "; + break; + case 55:// Orc Lord Card + mes " He is a warning you not to drool over someone else. "; + next; + mes "[Lhimetorra]"; + mes " That's bad! You will be punished! "; + break; + case 56: + mes " Who is he so fiercly gazing at with those grand muscles? He is looking at someone else for sure. "; + next; + mes "[Lhimetorra]"; + mes " Don't get sidetracked and look elsewhere! You will be cursed! "; + break; + case 57: + mes " Strengthen your body and observe the target. That is the step to success. "; + next; + mes "[Lhimetorra]"; + mes " you want love as well, why don't you take the card's advice and prepare yourself first? "; + break; + case 58: + mes " His navel is very pretty. You have to meet someone with that type of navel to be happy. "; + next; + mes "[Lhimetorra]"; + mes " Ok? Keep that in mind~ "; + break; + case 59:// Jakk Card + mes " You'll get hurt you mess around. This card is giving you a piece of advice. "; + next; + mes "[Lhimetorra]"; + mes " You did something wrong to your loved one, didn't you? Make an effort to make up for it~! "; + break; + case 60: + mes " From the way he is massaging its back because of a shoulder cramp, maybe your love is seeking someone to massage them. Love starts from little thoughts."; + next; + mes "[Lhimetorra]"; + mes " Next time you meet them, give them a massage. Start with the little things. "; + break; + case 61: + mes " His expression is in awe. When encountering an absurd incident, his face and expression becomes peculiarly distorted. "; + mes " I think the one you are looking towards has that type of expression. "; + next; + mes "[Lhimetorra]"; + mes " Did you do something absurd to that person? Are you sure? Think about it~ "; + break; + case 62: + mes " the lover does something wrong he pokes them with a needle. How scary.. "; + break; + case 63:// Joker Card + mes " A person's heart is like this card. you flip it over nobody can tell what is behind it. Try turning the person's card over. "; + next; + mes "[Lhimetorra]"; + mes " You must approach their true heart. Understand? "; + break; + case 64: + mes " Jokers are sly, but that is just because it is their habit. "; + mes " The reason the person may seem capricious or cunning is partially because they are born like that. "; + next; + mes "[Lhimetorra]"; + mes " Will you be able to approach them regardless? To do so, you must prepare you heart.. mm.. "; + break; + case 65: + mes " The joker can't use any of his strength because he is tied to a card. Perhaps the person is caught in something and can't show their true merit? "; + next; + mes "[Lhimetorra]"; + mes " you love them, free them from the chains tying them down.. That is consideration.. and love "; + break; + case 66: + mes " Don't get fooled by tricks. They are a person, too. They know how to lie once in a while. Search for the trick calmly and carefully. "; + next; + mes "[Lhimetorra]"; + mes " And then search for a different route. That is the wise decision. "; + break; + case 67:// Hode Card + mes " It is saying that daring action is necessary, such as that of the Hode that strikes up from the sand. "; + next; + mes "[Lhimetorra]"; + mes " Maybe you are discouraged a little too much right now. Be brave and daring young one. "; + break; + case 68: + mes " Seeing that the Hode spits out sand to those who bother them, you must have done something to bother the person somehow. "; + next; + mes "[Lhimetorra]"; + mes " Maybe you are being troublesome? Make an effort to relax a little more. "; + break; + case 69: + mes " The Hode has a very strong will to live. It is to survive in the forest. It is suggesting dating with that kind of will."; + next; + mes "[Lhimetorra]"; + mes " Hmm, try love with more spirit. You will get good results. "; + break; + case 70: + mes " Ah.. there is a noble person up north. North it is. This direction will never change. "; + next; + mes "[Lhimetorra]"; + mes " Trust me and go for it. "; + break; + case 71:// Minorous Card + mes " A walking bull is rare. The person you are looking towards is that rare. Don't let go of them. You may never see them again.. "; + next; + mes "[Lhimetorra]"; + mes " The card is saying this. "; + break; + case 72: + mes " Can you see the strong muscles that even arrows cannot pierce? The person is like that, too. "; + next; + mes "[Lhimetorra]"; + mes " To attack with love.. you will need a stronger attack.. Mmm.. "; + break; + case 73: + mes " The scariest thing is not the hammer nor horn. It is the massive legs that support its heavy weight. Nobody can survive a hit by those legs. The person is also probably hiding the most dangerous part. "; + next; + mes "[Lhimetorra]"; + mes " You must love but be careful at the same time. You never know when you will be hit by the hind legs. "; + break; + case 74: + mes " No matter how fearful the bull may be, it has a nose ring, it has already been tamed by humans. No matter how astonishing that person may be, taming is your responsibility. "; + next; + mes "[Lhimetorra]"; + mes " Approach them with more sincerity and consideration. "; + break; + } + next; + mes "[Lhimetorra]"; + mes " You seeked advice about love. "; + mes " Even if you may not pleased with it, consider it calmly and make an effort to find true happiness. "; + cutin "",255; + next; + mes "[Lhimetorra]"; + mes " Then... "; + close; + //=================================================================Assets? === + case 2: + mes "[Lhimetorra]"; + mes " Ooh... something about your fortune is starting to show... "; + next; + .@card_1_money = rand(1,73); + if (.@card_1_money < 5) cutin "°¡À̾ƽºÄ«µå",4; // Giearth Card + else if (.@card_1_money < 10) cutin "´õ½ºÆ¼³×½ºÄ«µå",4; // Dustiness Card + else if (.@card_1_money < 13) cutin "µå¶óÅ¥¶óÄ«µå",4; // Dracula Card + else if (.@card_1_money < 16) cutin "µå·¹ÀÌÅ©Ä«µå",4; // Drake Card + else if (.@card_1_money < 20) cutin "¸¶¸®³ªÄ«µå",4; // Marina Card + else if (.@card_1_money < 24) cutin "¸¶¸®¿À³×Ʈīµå",4; // Marionette Card + else if (.@card_1_money < 29) cutin "¸ÞµÎ»çÄ«µå",4; // Medusa Card + else if (.@card_1_money < 33) cutin "¹ÙÆ÷¸ÞƮīµå",4; // Baphomet Card + else if (.@card_1_money < 37) cutin "»÷µå¸ÇÄ«µå",4; // Sandman Card + else if (.@card_1_money < 41) cutin "¼ÒÈñÄ«µå",4; // Sohee Card + else if (.@card_1_money < 45) cutin "½ºÄÌ¿öÄ¿Ä«µå",4; // Skel Worker Card + else if (.@card_1_money < 50) cutin "½ºÄ̳ªÀÌƮīµå",4; // Khalitzburg Card + else if (.@card_1_money < 54) cutin "¾Æ´©ºñ½ºÄ«µå",4; // Anubis Card + else if (.@card_1_money < 58) cutin "¿ÀÅ©·ÎµåÄ«µå",4; // Orc Lord Card + else if (.@card_1_money < 62) cutin "ÀèÄ«µå",4; // Jakk Card + else if (.@card_1_money < 66) cutin "Á¶Ä¿Ä«µå",4; // Joker Card + else if (.@card_1_money < 70) cutin "È£µåÄ«µå",4; // Hode Card + else cutin "Ȳ¼ÒÄ«µå",4; // Minorous Card + + mes "[Lhimetorra]"; + switch(.@card_1_money) { + case 1: + mes " You must work hard to become wealthy. Don't think of other things.. Focus on and put effort into achieving your goals. "; + next; + mes "[Lhimetorra]"; + mes " Then good luck and try your best. "; + break; + case 2: + mes " Something very rare may come your way. A gold mine has been the dream of many since ancient times. You have a gold mine right in front of you. "; + next; + mes "[Lhimetorra]"; + mes " All in all, a big fortune is right in front of your eyes. I'll be looking forward to it. "; + break; + case 3: + mes " In the stomach pocket, there must be a secret treasure. There may be something in your pocket as well. "; + next; + mes "[Lhimetorra]"; + mes " Are you hiding things from other people? You should get rid of them. They may bring bad luck. "; + break; + case 4: + mes " The card says that you should not be too greedy, for that may cause you to dig your own grave. "; + next; + mes "[Lhimetorra]"; + mes " You may not feel good about it, but you should accept the card's advice..! "; + break; + case 5:// Dustiness Card + mes " Did you know that a moth's wings has infinite amounts of powder on it? A moth symbolizes wealth in the sense that it can gather wealth just as the powder on its wings. "; + next; + mes "[Lhimetorra]"; + mes " Young one, you will gather much wealth. "; + break; + case 6: + mes " You must work hard to become wealthy. Don't think of other things. Simply focusing on your goals putting effort into it will help. "; + next; + mes "[Lhimetorra]"; + mes " Good luck and try your best. "; + break; + case 7: + mes " There is a common saying that when a moth flaps its wings, wealth will fly away as well. It's not a very good sign. "; + next; + mes "[Lhimetorra]"; + mes " Be careful not to lose your assets. Take good care of your wallet. "; + break; + case 8: + mes " Dustiness teeth are very strong. This means.. "; + next; + mes "[Lhimetorra]"; + mes " Your tooth will become a gold tooth?! "; + break; + case 9: + mes " When a dustiness flies around, a big expense comes up. You may need to spend some money soon. "; + next; + mes "[Lhimetorra]"; + mes " You might want to set up a budget to prepare for this expense. "; + break; + case 10:// Dracula Card + mes " Dracula brings in money. Maybe it is the moral influence from when it was a count. It is expensive to be a vampire, but I've never seen a poor one before. "; + next; + mes "[Lhimetorra]"; + mes " You don't need to worry about money. "; + break; + case 11: + mes " To Dracula, money is not important. Blood is more valuable. To you, money must not be that important. You don't need to be concerned about money. "; + next; + mes "[Lhimetorra]"; + mes " How about it? Try being a little more casual about money. "; + break; + case 12: + mes " Dracula mocks human's money. To him it is worthless. "; + next; + mes "[Lhimetorra]"; + mes " You should not be so concerned about money and assets, too. "; + break; + case 13:// Drake Card + mes " No matter what, stealing is wrong! Even a Drake blesses you in the name of pirates! Stealing is forbidden! "; + next; + mes "[Lhimetorra]"; + mes " Noooooooo stealing! "; + break; + case 14: + mes " You will gather good fortune in a secretive and peculiar way.. Although, there seems to be shadows over some parts of your life. "; + next; + mes "[Lhimetorra]"; + mes " It's an uneasy fortune. Are you ready? "; + break; + case 15: + mes " The reason pirates indulge in others assets in the vast rough ocean, is because it is the only way to let the people of the land know of their existence. "; + next; + mes "[Lhimetorra]"; + mes " But those who live on land do not need to do so. Don't look over other people's belongings. It is the advice of a pirate. "; + break; + case 16:// Marina Card + mes " Marina prefers clean funds. It hates suspicious money. Your possessions should be clean as well. "; + next; + mes "[Lhimetorra]"; + mes " Why? The Marina might get rid of it all. "; + break; + case 17: + mes " The Marina gathers money quietly, little by little, and freely roaming at the same time. That's the real way to make money. The Marina is suggesting this method to you. "; + next; + mes "[Lhimetorra]"; + mes " You should take a shot at it. You've got nothing to lose. "; + break; + case 18: + mes " The Marina is not interested in money. The card suggests that you will resemble these traits as well. You will enjoy life apart from money. "; + next; + mes "[Lhimetorra]"; + mes " That's the fortune from a Marina card. "; + break; + case 19: + mes " You will gather money swiftly and quietly, then boom~ blow it all at once. "; + next; + mes "[Lhimetorra]"; + mes " Very witty, hoho. "; + break; + case 20:// Marionette Card + mes " The Marionette treasures art over wealth. Bear that in mind. Honor over assets. "; + next; + mes "[Lhimetorra]"; + mes " What an important lesson.. Mmm... "; + break; + case 21: + mes " The Marionette likes shiny money. Not dull money, but the shiny kind. "; + next; + mes "[Lhimetorra]"; + mes " Anyways, search for that type of money. "; + break; + case 22: + mes " The Marionette requires lots of money. Its expenditures are enormous. You must have many expenditures ahead of you. "; + next; + mes "[Lhimetorra]"; + mes " A gloomy fortune. How about being cautious? "; + break; + case 23: + mes " The Marionette uses a lot of money. There is someone around you that is like that, too. "; + next; + mes "[Lhimetorra]"; + mes " There is a person like that for sure. You should watch out. "; + break; + case 24:// Medusa Card + mes " The hair of the Medusa symbolizes the amount of wealth. Seems as something good will happen to you, young one. "; + next; + mes "[Lhimetorra]"; + mes " You can look forward to it. "; + break; + case 25: + mes " The hair of the Medusa are all snakes. Snakes symbolize greed and slyness. When gathering things, it seems as a cunning force will join you. It's not exactly a bright sign.. "; + next; + mes "[Lhimetorra]"; + mes " But you surely will get money. Hmm.. "; + break; + case 26: + mes " The Medusa is strongly recommending saving. This card is telling you to save. It says to put many savings accounts in your hair and make yourself resemble its head shape. "; + next; + mes "[Lhimetorra]"; + mes " That is what it believes to be wealth. Oooh! "; + break; + case 28: + mes " The Medusa does not enjoy playing with money. you are attempting to use money other than the way it should be used, you should stop. Why? "; + next; + mes "[Lhimetorra]"; + mes " Because there can be a curse of the Medusa. "; + break; + case 29:// Baphomet Card + mes " The great strength of the Baphomet brings in fortune. It seems as you will be able to gather much wealth with the aid of the Baphomet's force! "; + next; + mes "[Lhimetorra]"; + mes " It's a good sign! Congratulations! "; + break; + case 30: + mes " The scythe of the Baphomet means a strong tool to gather wealth. you have a strong tool like his, it should be easy to gather wealth. "; + next; + mes "[Lhimetorra]"; + mes " What the Baphomet is trying to say is, find a mean that can help you like his tool. "; + break; + case 31: + mes " How about getting involved in raising cattle? It seems like you can gather much wealth through it. "; + break; + case 32: + mes " The Baphomet would like a tribute. He is saying that you do, he will return great benefits. "; + next; + mes "[Lhimetorra]"; + mes " So try offering a part of your assets to the Baphomet. "; + break; + case 33:// Sandman Card + mes " The Sandman cries with sadness when money comes up. It is sad because money does not possess love or affection. "; + next; + mes "[Lhimetorra]"; + mes " I wonder the meaning of money will slowly disappear from your life as well. "; + break; + case 34: + mes " The Sandman is screaming because it saw too much money. It saw the money in the hands of your future. I wonder what all that money is? "; + next; + mes "[Lhimetorra]"; + mes " I wonder.. Aren't you curious? "; + break; + case 35: + mes " The Sandman's body is empty inside. Your wallet seems to be emtpy, too. You should save up some money. "; + next; + mes "[Lhimetorra]"; + mes " The Sandman likes to save, too. Even a monster likes to save, but when a human doesn't... "; + break; + case 36: + mes " Money is like sand. Even you save it, once the wind blows, it disappears. This card shows the emptiness of money. "; + next; + mes "[Lhimetorra]"; + mes " Indeed, money is futile. "; + break; + case 37:// Sohee Card + mes " Sohee is wearing a fine article. To wear something like that, you would need plenty of money. Do you know what the secret is? Sohee saved very much when she was once alive. "; + next; + mes "[Lhimetorra]"; + mes " So you should start saving, too. "; + break; + case 38: + mes " Sohee hates misers. She believes she has become like that because of a miser. Don't be stingy in front of Sohee! "; + next; + mes "[Lhimetorra]"; + mes " That type of stinginess will spite other people. Use money when it is necessary. "; + break; + case 39: + mes " Sohee dislikes the wealthy. They try to gather money, but never use it for others. you don't want to be cursed by Sohee, you need to learn how to be generous with money. "; + next; + mes "[Lhimetorra]"; + mes " So you have malicious desires, forget them. An ill heart easily gathers misfortune. "; + break; + case 40: + mes " Sohee likes foreign money. They are cute and pretty. you have foreign currency, Sohee will love you. "; + next; + mes "[Lhimetorra]"; + mes " Keep an eye out for foreign currency. It will bring you luck. "; + break; + case 41:// Skel Worker Card + mes " Those who work hard will gather great fortune. The Skeleton says diligent work will help greatly in gathering wealth. "; + next; + mes "[Lhimetorra]"; + mes " Hmm~ a ghost is saying strange things. "; + break; + case 42: + mes " Its youth is gone after a lifetime of chasing after gold. It became a monster with only bones left. No matter how much you like money and your work, look after your life as well. "; + next; + mes "[Lhimetorra]"; + mes " There is much more to life than wealth. "; + break; + case 43: + mes " To become rich, you must work hard as you became a skeleton. The Skeleton is saying to work hard until you become a skeleton. "; + next; + mes "[Lhimetorra]"; + mes " Then not only the Skeleton, but many people will repay you greatly. "; + break; + case 44: + mes " The Skeleton says that you can make money by going north. Go north. "; + next; + mes "[Lhimetorra]"; + mes " There must be great fortune in that direction. "; + break; + case 45:// Khalitzburg Card + mes " A knight is a job that requires a lot of money. A hint of a big expense. You might want to tighten your belt. "; + next; + mes "[Lhimetorra]"; + mes " That is, you don't want go to bankrupt. "; + break; + case 46: + mes " Knights do not fight for money. they did, they would be a mercenary. A knight reaches for something higher. What the knight wants to tell you is the way to live. "; + next; + mes "[Lhimetorra]"; + mes " Set a goal higher than money and wealth. Do you understand, young one? "; + break; + case 47: + mes " A knight values honor more than fortune. They consider discussing wealth itself dirty not worthy. How would you be able to ask such a knight a fortune about wealth? "; + next; + mes "[Lhimetorra]"; + mes " The knight says that a new road of life will open once you look away from fortune. "; + break; + case 48: + mes " You need to think of an ideal more noble than money. The fortune the knight suggests is this: Knights never speak of ways to make money. "; + next; + mes "[Lhimetorra]"; + mes " Compared to life, they believe money is foolish. The knight would like to understand these ideas of life. "; + break; + case 49: + mes " Working hard is the only way to gather wealth; don't get sidetracked and put effort into working will help your fortune. "; + next; + mes "[Lhimetorra]"; + mes " So do your best. "; + break; + case 50:// Anubis Card + mes " What does the god of death have to say about wealth? It is surely a bad omen. It is trying to warn something. "; + next; + mes "[Lhimetorra]"; + mes " Be careful. It is the word of the god of death. "; + break; + case 51: + mes " The Anubis is very interested in the sacrifices offered. The offerings he likes are youth and effort. "; + next; + mes "[Lhimetorra]"; + mes " you offer these two things, the Anubis says he will bring you wealth. "; + break; + case 52: + mes " The Anubis is giving a warning of the west. There is a being there that can break away your wealth. "; + next; + mes "[Lhimetorra]"; + mes " you want to protect your assets, beware of the west. "; + break; + case 53: + mes " The Anubis hates those who try to gather money for his death. He believes it's a waste of money. Don't make the mistake of gathering money for death. "; + next; + mes "[Lhimetorra]"; + mes " This is the true advice of a Anubis. "; + break; + case 54:// Orc Lord Card + mes " The Orc Lord possesses much wealth. It's because of greed. Greed is essential in collecting money. The desire and greediness to make money is not something to be ashamed about. Be diligent and go make money. "; + next; + mes "[Lhimetorra]"; + mes " But, too much greed is forbidden. "; + break; + case 55: + mes " The Orc Lord starts drooling about anything involving money. He targets anybody with money. "; + next; + mes "[Lhimetorra]"; + mes " Therefore, don't speak of money to the Orc Lord. "; + next; + mes "[Lhimetorra]"; + mes " Same goes for humans. Be wary of those who are avaricious like the Orc Lord. "; + break; + case 56: + mes " There should be great wealth awaiting in the direction the Orc Lord's horn is pointing. The card is directing towards.. "; + next; + mes "[Lhimetorra]"; + mes " The northwest? Would you like to try your luck in that direction? "; + break; + case 57: + mes " The Orc Lord likes gold. Of all the treasures, gold is the best. Closely watch gold. "; + next; + mes "[Lhimetorra]"; + mes " Gold is rather peculiar compared to other assets. "; + break; + case 58: // Jakk Card + mes " Jack makes money through jokes. Others' happiness is the key to his wealth. "; + next; + mes "[Lhimetorra]"; + mes " Why don't you learn how to make others happy? It should be of great help. "; + break; + case 59: + mes " Jack likes fun money. He detests sad and burdensome money. "; + mes " He always says this. Light-hearted and easy money isn't dangerous even it piles up. "; + next; + mes "[Lhimetorra]"; + mes " As Jack's advice says, stay closer to light money. It is safer and better. "; + break; + case 60: + mes " Jack thinks of money as a foolish item. But somehow he makes that kind of money. "; + mes " That's why those who are controlled by fools consider the other a fool, too. "; + next; + mes "[Lhimetorra]"; + mes " you don't want to be considered a fool by Jack, don't be controlled by money. "; + mes " Or else, Jack will attack. "; + break; + case 61: + mes " Jack is asking for money. Don't be stingy about paying those who bring entertainment and fun. "; + next; + mes "[Lhimetorra]"; + mes " Then, Jack will reward you in return. "; + break; + case 62:// Joker Card + mes " Do you know what a joker's specialty is? It is tricking others and making money. Be wary of the joker. "; + next; + mes "[Lhimetorra]"; + mes " Jokers do not exist in one form. They will aim for your money in several different ways. "; + break; + case 63: + mes " The Joker says you let him borrow money, he will repay you with more. You're going to refuse, right? But the Joker's temptation does not end after one try. "; + mes " He will linger around you as a neighbor, or a rare item and ask for money. "; + next; + mes "[Lhimetorra]"; + mes " Act wisely! You'll be in trouble you are tricked easily! "; + break; + case 64: + mes " Even a joker asks for change, never give any to him. He will ask for change, then end up ask for a big sum of money. "; + mes " Jokers are like that. They have the ability to turn a small mistake into a big calamity. "; + next; + mes "[Lhimetorra]"; + mes " That's why you should be more careful about it. "; + break; + case 65: + mes " There is only one reason a Joker requests money.. to take yours. "; + mes " His goal is not to become rich. A real foul playful one. "; + next; + mes "[Lhimetorra]"; + mes " But losing money isn't a joke now, is it? You should be careful. "; + break; + case 66:// Hode Card + mes " Hodes do not know about money. They just gobble everything up. But that might be the shortcut to gaining great wealth. "; + next; + mes "[Lhimetorra]"; + mes " Don't focus too much on money. Just work at it. It's saying that it is the best method. "; + break; + case 67: + mes " Hodes do not know anything about money. But they do not forgive those who have an eye on their things. "; + mes " Not being greedy and taking care of your share is the wisest way to manage your wealth. "; + next; + mes "[Lhimetorra]"; + mes " Indeed, the Hode is right. Do you understand as well? "; + break; + case 68: + mes " The Hode knows nothing about money. But a very rare item drops from a Hode's body. "; + mes " It has a treasure in it without knowing. "; + next; + mes "[Lhimetorra]"; + mes " Take a careful look around you. Treasures are hidden all over. "; + break; + case 69: + mes " Hodes are strong even though they live in the desert. Just because the environment is poor, doesn't mean that you can't gather wealth. "; + next; + mes "[Lhimetorra]"; + mes " Don't blame the environment. That excuse is only for whiners. "; + break; + case 70:// Minorous Card + mes " Do you know the saying that says those who work like bulls become rich? Working hard is the best way. "; + next; + mes "[Lhimetorra]"; + mes " Just like a bull. "; + break; + case 71: + mes " Bulls only know how to work, but the bull itself has a lot to offer. Meat, leather, horn.. "; + next; + mes "[Lhimetorra]"; + mes " You, too, should look after yourself and not just work. You have many hidden values. "; + break; + case 72: + mes " Bulls continue to work even on gloomy days. Then they can gather a lot of things. "; + next; + mes "[Lhimetorra]"; + mes " Don't be picky about the days you work. You will be able to make more money. "; + break; + case 73: + mes " Bulls do not like working for money. They are disgruntled when others consider labor as money. "; + mes " Shouldn't you reconsider working against your will just for money? "; + next; + mes "[Lhimetorra]"; + mes " It is a serious problem. It is your life, so ponder about it young one. "; + break; + } + next; + mes "[Lhimetorra]"; + mes " Most people are curious about money. "; + mes " It is a very humanly and common curiosity. Cards are very stingy about fortunes regarding wealth. "; + next; + cutin "",255; + mes "[Lhimetorra]"; + mes " Therefore, getting a fortune like this is considered being lucky. Use this fortune to prosper. "; + close; + //=================================================================Future === + case 3: + mes "[Lhimetorra]"; + mes " Future... the card that sees the future is beginning to speak...... Prepare yourself... "; + next; + .@card_1_future = rand(1,67); + if (.@card_1_future < 5) cutin "°¡À̾ƽºÄ«µå",4; // Giearth Card + else if (.@card_1_future < 10) cutin "´õ½ºÆ¼³×½ºÄ«µå",4; // Dustiness Card + else if (.@card_1_future < 13) cutin "µå¶óÅ¥¶óÄ«µå",4; // Dracula Card + else if (.@card_1_future < 16) cutin "µå·¹ÀÌÅ©Ä«µå",4; // Drake Card + else if (.@card_1_future < 19) cutin "¸¶¸®³ªÄ«µå",4; // Marina Card + else if (.@card_1_future < 23) cutin "¸¶¸®¿À³×Ʈīµå",4; // Marionette Card + else if (.@card_1_future < 27) cutin "¸ÞµÎ»çÄ«µå",4; // Medusa Card + else if (.@card_1_future < 31) cutin "¹ÙÆ÷¸ÞƮīµå",4; // Baphomet Card + else if (.@card_1_future < 35) cutin "»÷µå¸ÇÄ«µå",4; // Sandman Card + else if (.@card_1_future == 35) cutin "¼ÒÈñÄ«µå",4; // Sohee Card + else if (.@card_1_future < 40) cutin "½ºÄÌ¿öÄ¿Ä«µå",4; // Skel Worker Card + else if (.@card_1_future < 44) cutin "½ºÄ̳ªÀÌƮīµå",4; // Khalitzburg Card + else if (.@card_1_future < 48) cutin "¾Æ´©ºñ½ºÄ«µå",4; // Anubis Card + else if (.@card_1_future < 52) cutin "¿ÀÅ©·ÎµåÄ«µå",4; // Orc Lord Card + else if (.@card_1_future < 57) cutin "ÀèÄ«µå",4; // Jakk Card + else if (.@card_1_future < 61) cutin "Á¶Ä¿Ä«µå",4; // Joker Card + else if (.@card_1_future < 63 || .@card_1_future == 67) cutin "È£µåÄ«µå",4; // Hode Card + else cutin "Ȳ¼ÒÄ«µå",4; // Minorous Card + + mes "[Lhimetorra]"; + switch(.@card_1_future) { + case 1: + mes " Youth is not eternal. At one point when you wake up, you realize you are already a middle-aged worker. "; + mes " Even reminiscing about the past over a cup of coffee can't bring back time. "; + next; + mes "[Lhimetorra]"; + mes " Treasure the present.. is what the card is saying. "; + break; + case 2: + mes " This fortune is foreshadowing that you will become a strong and healthy worker in the future. "; + mes " Not a normal worker, but one that has great strength and might.. "; + next; + mes "[Lhimetorra]"; + mes " You should prepare for your future. "; + break; + case 3: + mes " Smoking in a mine is an imprudent, life-threatening thing to do. You are wasting your precious life with that kind of behavior. "; + next; + mes "[Lhimetorra]"; + mes " Act with a little more wisdom for your future. "; + break; + case 4: + mes " You may be shoveling in the future. In a dark dark place, shoveling that requires great strength. You must be careful young one. "; + next; + mes "[Lhimetorra]"; + mes " This type of fortune is never wrong. "; + break; + case 5:// Dustiness Card + mes " The moth is used when it is a caterpillar and ignored after it becomes a moth, by humans. "; + mes " Which is better? "; + next; + mes "[Lhimetorra]"; + mes " Check to see if there is an aspect of your life that is like the moth. "; + break; + case 6: + mes " The moth flies around without worrying about the future. It is telling you to fly freely rather than getting anxious about the future.. "; + next; + mes "[Lhimetorra]"; + mes " This is the fortune from this card. "; + break; + case 7: + mes " Dustiness' teeth are very strong. This means... "; + next; + mes "[Lhimetorra]"; + mes " To live the future with strong teeth?! "; + break; + case 8: + mes " The moth says that this is not a time to think about wealth and prosperity. It says that someone important has appeared near you. "; + next; + mes "[Lhimetorra]"; + mes " Any ideas who that may be? "; + break; + case 9: + mes " Dustiness symbolizes a hazy future. It is similar to your mind right now. It says it is obvious. "; + mes " It says that there is no set path in the future. Isn't a relief in a way? "; + next; + mes "[Lhimetorra]"; + mes " It is not good nor bad, so there is always room for new possibilities. "; + break; + case 10:// Dracula Card + mes " Sometime in your future, a future like Dracula awaits you. "; + next; + mes "[Lhimetorra]"; + mes " If you hope for that type of future, it is no problem, but you should be careful nonetheless. "; + break; + case 11: + mes " If the condition is just right, vampires can live forever. But, when that perfect condition is disrupted, they meet a tragic end. "; + next; + mes "[Lhimetorra]"; + mes " This means that if you go after fame and eternal life, tragedy awaits you in the end. They are not the important things in life. "; + break; + case 12: + mes " The Dracula says to be true to the present. Indeed, thinking and being true to the present is much more important than trying to figure out your future. "; + next; + mes "[Lhimetorra]"; + mes " Unfortunately, I agree with it young one. "; + break; + case 13:// Drake Card + mes " Pirates do not have a future. That doesn't mean you do not have one. But.. you simply need to make more prudent decisions. "; + next; + mes "[Lhimetorra]"; + mes " How about changing your lifestyle? That's what this means. "; + break; + case 14: + mes " In this world, being a pirate out in the rough seas is very dangerous. But, they do not regret their decisions. "; + next; + mes "[Lhimetorra]"; + mes " Because they find their meaning of life in the process. Young one, how about searching for the meaning of your life? "; + break; + case 15: + mes " Pirates are remembered as pirates even after they pass away. A person's name is beyond the matter of life and death. "; + next; + mes "[Lhimetorra]"; + mes " You should live with that aspect in mind."; + break; + case 16:// Marina Card + mes " The Marina does not think of its future.. But I can tell you one thing. Survival. The Marina only thinks about survival and life. "; + next; + mes "[Lhimetorra]"; + mes " You.. no, all of us should learn and do the same. "; + break; + case 17: + mes " The Marina doesn't think of its future.. but I can tell you one thing. Freedom. The Marina swims freely. "; + next; + mes "[Lhimetorra]"; + mes " How about living like that, too? "; + break; + case 18: + mes " Leave your future to the Marina. The Marina treasures its precious ocean. The sea will be of great significance in your future, too. "; + next; + mes "[Lhimetorra]"; + mes " A fisherman? Oceanographer? Pirate? Although I do not know which job it is... "; + break; + case 19:// Marionette Card + mes " A Marionette is a Marionette forever. Its past and future never changes. Its present is its future. Don't you think it is rather sad? "; + next; + mes "[Lhimetorra]"; + mes " But that could also be a good thing. This is the meaning of a Marionette. "; + break; + case 20: + mes " A Marionette is restrained but it has hope that it will be freed one day. "; + next; + mes "[Lhimetorra]"; + mes " Very nice. This fortune signifies 'hope'. "; + break; + case 21: + mes " The eyes of a Marionette symbolize 'challenge.' Challenge will mean a lot in your future. "; + next; + mes "[Lhimetorra]"; + mes " ...to the point where that challenge will change your life. "; + break; + case 22: + mes " The Marionette believes the present is more important than the future. Basically, asking about the future is pointless. "; + next; + mes "[Lhimetorra]"; + mes " The Marionette devotes everything into the present. It suggests that type of attitude to you, too. "; + break; + case 23:// Medusa Card + mes " The Medusa symbolizes the absolute one who accepts everyone's challenge. Your future will be in a position that is challenged by many. "; + next; + mes "[Lhimetorra]"; + mes " It could be good and bad. It is also a very tiring position. "; + break; + case 24: + mes " The Medusa symbolizes the absolute one who accepts everyone's challenge. Your future must be filled with challenges! "; + next; + mes "[Lhimetorra]"; + mes " Always challenge others! It is alright to fail, since challenge itself will become life. "; + break; + case 25: + mes " The Medusa says that there will be great chaos in the future. Chaos... I'm not sure what type of chaos it means, but it is definitely something that has never happened before. "; + next; + mes "[Lhimetorra]"; + mes " There is something that you must fight.. and win, in your future. "; + break; + case 26: + mes " The hair of the Medusa are sticking up. It is nervous about the big change that is going to happen. A change that even makes the scary Medusa worried. "; + next; + mes "[Lhimetorra]"; + mes " How about preparing yourself as well? "; + break; + case 27:// Baphomet Card + mes " The Baphomet doesn't care about a human's future. They simply observe quietly. Hmm... It seems like it has nothing to say about your future as well... "; + next; + mes "[Lhimetorra]"; + mes " It has an unconcerned expression. "; + break; + case 28: + mes " The scythe the Baphomet is holding signifies the strong will to conquer the future. "; + mes " What you need is not someone else's help or wisdom, but strong willpower. "; + next; + mes "[Lhimetorra]"; + mes " Once you have that type of willpower, the road to the future will be very broad and promising. "; + break; + case 29: + mes " The Baphomet says that humans have no future. It says that their greed and selfishness shows no hope. "; + mes " The future will only open to those that go beyond human's greed. "; + next; + mes "[Lhimetorra]"; + mes " The card expects something like that from you. "; + break; + case 30: + mes " The Baphomet is facing the future. No matter how much effort you put in, without an eye that looks towards the future, it is pointless. "; + mes " The Baphomet is telling you to look towards the future. "; + next; + mes "[Lhimetorra]"; + mes " To know your position right now and where to aim in the future. "; + break; + case 31:// Sandman Card + mes " A sand's future is simply sand. Not a rock, nor mud. Some things just don't change young one. "; + next; + mes "[Lhimetorra]"; + mes " What the Sandman card is trying to say is to treasure your present self. "; + break; + case 32: + mes " A sand dune changes its shape even after a day. The Sandman card is speaking of a future with many changes. "; + next; + mes "[Lhimetorra]"; + mes " It says not to be too caught up with the present, because the future is always changing. "; + break; + case 33: + mes " You will have a son in the future. Hmm? What'd you say? No plans for a baby? "; + next; + mes "[Lhimetorra]"; + mes " That's why it is the future. Unexpected things happen every once in a while in the future. Lala~ "; + break; + case 34: + mes " There are rare and precious treasures in the sand. The Sandman says that in the vast sand of the world, a treasure, will be discovered. That treasure is you young one."; + next; + mes "[Lhimetorra]"; + mes " Hmm... Expecting a lot. Hehe~ "; + break; + case 35:// Sohee Card + mes " Do you know what a Sohee thinks the most pitiful thing is? The future. It is because she was not able to live her future. "; + mes " That is why you cannot bring up the subject of future in front of Sohee. I'm very sorry I cannot help. "; + next; + mes "[Lhimetorra]"; + mes " But isn't it better than a curse. Just think of it as that and forget about it. "; + break; + case 36:// Skel Worker Card + mes " Even in darkness you will shine for your goal. "; + mes " The Skeleton is encouraging you to not lose your light even in a life in dark and damp places. "; + next; + mes "[Lhimetorra]"; + mes " You must feel good, getting a word of encouragement from the Skeleton. Lala~ "; + break; + case 37: + mes " The story I heard from the skeleton goes like this. I am the king of the future. What in the world is that supposed to mean? "; + next; + mes "[Lhimetorra]"; + mes " I don't know. Maybe it is saying that a scrawny person will do something great in the future? "; + break; + case 38: + mes " If you want to do something great in the future, you must express your thankfulness to the Skeleton. "; + mes " Then the Skeleton will help you. How do you express your thankfulness? "; + next; + mes "[Lhimetorra]"; + mes " If you see someone that resembles the Skeleton, help them. "; + mes " Then the Skeleton will think that you helped itself and be happy. What a silly monster. Haha. "; + break; + case 39: + mes " The Skeleton has the ability to dig where it feels the future, rather than looking into it. "; + mes " It is digging in the east right now. How about it, won't you try going there? "; + next; + mes "[Lhimetorra]"; + mes " Who knows, the key to the future may be lying in the east. "; + break; + case 40:// Khalitzburg Card + mes " A knight's future leads to death. An honorable death on the battlefield. "; + mes " One cannot live as a knight without being proud of that type of future. "; + next; + mes "[Lhimetorra]"; + mes " The knight wants you to be proud of yourself. "; + mes " It says what you need is pride. Not honor, wealth, or love.. but pride. "; + break; + case 41: + mes " A knight commenting about a person's future is very rare. "; + mes " It says nothing for you in particular. Nothing ominous. "; + next; + mes "[Lhimetorra]"; + mes " It is a very good thing. Means a bright and clear future. Hohoho~ "; + break; + case 42: + mes " A knight commenting about a person's future is very rare. "; + mes " It says it will say one thing for you. Dark clouds can be seen beyond the clear skies. "; + next; + mes "[Lhimetorra]"; + mes " You must find out for yourself what those clouds mean. Anyways, you must be careful. "; + break; + case 43: + mes " It is necessary to reflect upon the past and present in order to look into the future. This card says to look carefully into your past. "; + next; + mes "[Lhimetorra]"; + mes " ..with the attitude of reflecting upon yourself. What do you think? Don't you think you lived too much looking into the future? "; + break; + case 44: + mes " What does the god of death want to say about the future? It is definitely an ominous sign. "; + next; + mes "[Lhimetorra]"; + mes " It is trying to warn something about the future. Be careful. "; + break; + case 45: + mes " The Anubis likes comedy despite people's expectations. It looks forward to comedy. Comedy must be important in the future. "; + next; + mes "[Lhimetorra]"; + mes " In your case, it would be wise to grow your sense of humor. "; + break; + case 46: + mes " The Anubis is the god of death, but it expresses more interest in the future than death. "; + next; + mes "[Lhimetorra]"; + mes " Even the Anubis doesn't think about death, so why should you be thinking about it? Expect a good future young one. "; + break; + case 47: + mes " The Anubis says it has no interest in you. It is a good sign. "; + next; + mes "[Lhimetorra]"; + mes " What can be better than being ignored by the god of death? "; + break; + case 48:// Orc Lord Card + mes " The Orc Lord says that dairy farming will develop in the future. Why don't you invest in it as well? "; + next; + mes "[Lhimetorra]"; + mes " A business looking into the future? "; + break; + case 49: + mes " The Orc Lord says you need great strength in the future. Strength that is three, four times greater than now. "; + next; + mes "[Lhimetorra]"; + mes " Make yourself stronger in any form. In the future, you will need it. "; + break; + case 50: + mes " The Orc Lord says that love for your companions will become great strength in the future. "; + mes " Your strength is not enough. "; + next; + mes "[Lhimetorra]"; + mes " To become a Lord, you will need colleagues. You should take the Orc Lord's advice! "; + break; + case 51: + mes " The Orc Lord is expressing opposition in being too curious about the future. "; + mes " Pay a little more attention to the present. "; + next; + mes "[Lhimetorra]"; + mes " Respect his opinion young one. You have nothing to lose. "; + break; + case 52:// Jakk Card + mes " Jack says something interesting will happen in the future. According to him, the future will be more fun than the present. "; + next; + mes "[Lhimetorra]"; + mes " Are you looking forward to it? "; + break; + case 53: + mes " Jack says, in order to prepare for the future, a delightful preparation is necessary. "; + mes " Delightful preparation? I don't understand.. I suppose I am too old. Maybe young ones get it.. "; + next; + mes "[Lhimetorra]"; + mes " What do you think? Any assumptions? "; + break; + case 54: + mes " Jack is jealous because a splendid person is headed your way in the future. "; + mes " I wonder what type of person it is to make that Jack jealous! "; + next; + mes "[Lhimetorra]"; + mes " One thing for sure is that you will be very happy! Congratulations young one! "; + break; + case 56: + mes " Jack says you may be frustrated in the future. "; + mes " He says to overcome the frustration, it is necessary to think of happy thoughts. "; + next; + mes "[Lhimetorra]"; + mes " Meaning your future will become a battle between happiness and frustration.. "; + break; + case 57:// Joker Card + mes " The Joker is trying to trick you. This card has all different types of ominous fortunes. "; + mes " He wants to enjoy watching you tremble with anxiety. "; + next; + mes "[Lhimetorra]"; + mes " Sadness, failure, darkness, loneliness.. you may feel all of these emotions, but they are not fatal. Don't worry. "; + break; + case 58: + mes " Jokers don't just appear and go away. They come back in the future. "; + mes " They will seduce you numerous times. "; + next; + mes "[Lhimetorra]"; + mes " So train yourself not to be tempted. "; + mes " Or else you will face frustration or commit a blunder. "; + break; + case 59: + mes " Do you see the thing that looks like a leaf flying around the Joker? That is the spade mark. "; + mes " Spades means death. Jokers leave those kinds of marks on purpose. "; + next; + mes "[Lhimetorra]"; + mes " Don't get disturbed by the mark of death. It's merely a Joker's joke. "; + break; + case 60: + mes " Joker offers a nice insurance and says to prepare for the future, but most of it is a waste of time. "; + next; + mes "[Lhimetorra]"; + mes " Don't prepare for the future carelessly. A loose measure is worse than a prepared adventure. "; + break; + case 61:// Hode Card + mes " Hodes do not know about tomorrow. But though they are quiet, they endanger other living things. "; + mes " Effort into oneself puts great power into the mere existence of one. "; + next; + mes "[Lhimetorra]"; + mes " Don't forget that you must think about yorsrelf the most. "; + break; + case 62: + mes " Hodes do not know about tomorrow, but they still know about death. "; + mes " Even though you may be honest and simple, in a time of a crisis, you must be alert. "; + next; + mes "[Lhimetorra]"; + mes " Or else you will really be a simple and honest fool. That may be troublesome. "; + next; + mes "[Lhimetorra]"; + mes " Hodes do not ponder about life, but their will to live is very strong."; + mes " You can gain a lot simply through the will to hold on to life. "; + next; + mes "[Lhimetorra]"; + mes " Be thankful that you are alive. Thankfullness itself should help greatly. "; + break; + case 63: + mes " Hodes are afraid of crises. You should try not to be afraid of crises either. "; + next; + mes "[Lhimetorra]"; + mes " Don't think of them too much. A crisis is simply a crisis. "; + break; + case 64:// Minorous Card + mes " Before, bulls used to be thought of as foolishly honest workers, but these days bulls are great strong fighters. "; + next; + mes "[Lhimetorra]"; + mes " Finding different sides of oneself is the way to improve. Study about yourself. "; + break; + case 65: + mes " Do bulls leave leather when they pass away? Or was it the tiger? "; + mes " Anyways, he is jealous of the humans that leave their name in history. "; + next; + mes "[Lhimetorra]"; + mes " If you don't leave your name, he may bear hatred against you for wasting your life. "; + mes " So, to not be cursed, make an effort to leave your name in history. "; + break; + case 66: + mes " It might seem funny that a bull will look into the future, but the bull is looking into your future right now. "; + mes " He says your future is mixed with storms and fall weather. "; + next; + mes "[Lhimetorra]"; + mes " It may be difficult if you are caught up with one situation. In good times, prepare for the bad, and in bad times look forward to good luck. "; + break; + case 67:// Hode Card + mes " The bull thinks of the happiness awaiting in the future, but it doesn't like reduced efficiency because of that happiness. "; + next; + mes "[Lhimetorra]"; + mes " Even though happiness may be on its way, don't let it affect your work right now. "; + mes " This is the bull's thought and your fortune. "; + break; + } + next; + mes "[Lhimetorra]"; + mes " Speaking of the future is as dangerous act. "; + mes " Humans may face disaster if speaking of the future carelessly. That's why we ask cards about the future. "; next; + cutin "",255; + mes "[Lhimetorra]"; + mes " Your fortune is a rather good one. There are some in this world who get more horrible fortunes. "; + mes " Use this fortune as a support in your life. Ok? "; + close; + //================================================================= Warning === + case 4: mes "[Lhimetorra]"; - mes "So, would you like a monster card reading? "; + mes " Someone that knows of the dangers you do not, will warn you in the form of cards... so listen carefully-! "; next; - switch(select("Yes.:I would like to think it over once more.")) { + .@card_1_warning = rand(1,70); + if (.@card_1_warning < 5) cutin "°¡À̾ƽºÄ«µå",4; // Giearth Card + else if (.@card_1_warning < 9) cutin "´õ½ºÆ¼³×½ºÄ«µå",4; // Dustiness Card + else if (.@card_1_warning < 13) cutin "µå¶óÅ¥¶óÄ«µå",4; // Dracula Card + else if (.@card_1_warning < 16) cutin "µå·¹ÀÌÅ©Ä«µå",4; // Drake Card + else if (.@card_1_warning < 20) cutin "¸¶¸®³ªÄ«µå",4; // Marina Card + else if (.@card_1_warning < 24) cutin "¸¶¸®¿À³×Ʈīµå",4; // Marionette Card + else if (.@card_1_warning < 28) cutin "¸ÞµÎ»çÄ«µå",4; // Medusa Card + else if (.@card_1_warning < 32) cutin "¹ÙÆ÷¸ÞƮīµå",4; // Baphomet Card + else if (.@card_1_warning < 36) cutin "»÷µå¸ÇÄ«µå",4; // Sandman Card + else if (.@card_1_warning < 40) cutin "¼ÒÈñÄ«µå",4; // Sohee Card + else if (.@card_1_warning < 44) cutin "½ºÄÌ¿öÄ¿Ä«µå",4; // Skel Worker Card + else if (.@card_1_warning < 48) cutin "½ºÄ̳ªÀÌƮīµå",4; // Khalitzburg Card + else if (.@card_1_warning < 52) cutin "¾Æ´©ºñ½ºÄ«µå",4; // Anubis Card + else if (.@card_1_warning < 56) cutin "¿ÀÅ©·ÎµåÄ«µå",4; // Orc Lord Card + else if (.@card_1_warning < 59) cutin "ÀèÄ«µå",4; // Jakk Card + else if (.@card_1_warning < 63) cutin "Á¶Ä¿Ä«µå",4; // Joker Card + else if (.@card_1_warning < 68) cutin "È£µåÄ«µå",4; // Hode Card + else cutin "Ȳ¼ÒÄ«µå",4; // Minorous Card + + mes "[Lhimetorra]"; + switch(.@card_1_warning) { case 1: + mes " Do you see the forbidden mark on its shoulder? It is telling you to not do something. "; + next; mes "[Lhimetorra]"; - mes "Then..."; - mes "Please pay your fee with all of your sincerity."; - next; - input .@input; - if (.@input == 0) { - mes "[Lhimetorra]"; - mes "Ah...?!"; - mes "You have angered the monster spirits!"; - close; - } - else if (.@input > zeny) { - mes "[Lhimetorra]"; - mes "There's no need to overdo it. Just give with all your heart... *Tsk tsk*"; - close; - } - else { - mes "[Lhimetorra]"; - mes "I accept your heart and your devotion with my gratitude. Thoughts are more important than the amount when paying a fortune teller."; - set Zeny, Zeny-.@input; - } - next; - mes "[Lhimetorra]"; - mes "Then, I will begin to tell the fortune of your wish. Concentrate on yourself..."; - next; - mes "[Lhimetorra]"; - mes "..."; - mes "Clear your mind... "; - next; - mes "[Lhimetorra]"; - mes "..."; - mes "Once you have emptied your mind, think of the thing you most wish to know."; - next; - switch(select(" (I would like to know my love fortune.) : (How rich will I be?) : (I need advice about my future.) : (Can I get a warning of any dangers awaiting?) ")) { - case 1: - mes "[Lhimetorra]"; - mes " I see it... I see a sign of love... "; - next; - set .@card_1_love,rand(1,74); - if (.@card_1_love == 1) { - cutin "°¡À̾ƽºÄ«µå",4; // Giearth Card - mes "[Lhimetorra]"; - mes " You are afraid to show yourself working, to your loved one.. "; - mes " But that is not love. Do not be afraid to show different sides of yourself to your loved one.. "; - next; - mes "[Lhimetorra]"; - mes " So do not worry and move on. "; - next; - } - if (.@card_1_love == 2) { - cutin "°¡À̾ƽºÄ«µå",4; // Giearth Card - mes "[Lhimetorra]"; - mes " Maybe you are using love as an excuse to work? The card is saying to try observing love from a different perspective. "; - next; - mes "[Lhimetorra]"; - mes " Shoveling requires skills as well. "; - next; - } - if (.@card_1_love == 3) { - cutin "°¡À̾ƽºÄ«µå",4; // Giearth Card - mes "[Lhimetorra]"; - mes " How about taking a break from love and giving yourself time to relax.. I agree with what the card is saying. "; - next; - mes "[Lhimetorra]"; - mes " Love is not meant to be so hard. "; - next; - } - if (.@card_1_love == 4) { - cutin "°¡À̾ƽºÄ«µå",4; // Giearth Card - mes "[Lhimetorra]"; - mes " A shovel..? "; - next; - mes "[Lhimetorra]"; - mes " Strange that this would come up about love.. bizarre.. You aren't using this shovel to take revenge on someone, are you?? "; - mes " Don't get malicious thoughts. Keep a kind heart. "; - next; - mes "[Lhimetorra]"; - mes " How about taking a break from love and giving yourself time to relax.. I agree with this card. "; - next; - } - if (.@card_1_love == 5) { - cutin "´õ½ºÆ¼³×½ºÄ«µå",4; // Dustiness Card - mes "[Lhimetorra]"; - mes " Its pure eyes look at a loved one but cannot recognize them, the wings flutter towards the loved one, but it helplessly stays in one place, "; - mes " it calls its loved one, but they cannot hear.. "; - next; - mes "[Lhimetorra]"; - mes " What a sad fortune.. "; - mes " Indeed, it is sad love... it might be hard to overcome. "; - next; - } - if (.@card_1_love == 6) { - cutin "´õ½ºÆ¼³×½ºÄ«µå",4; // Dustiness Card - mes "[Lhimetorra]"; - mes " The passion of love like a raging wave... You can't even hide it. "; - mes " With such passionate love, isn't there only one way..? "; - next; - mes "[Lhimetorra]"; - mes " Passionate love is nearby. It is a good sign. "; - next; - } - if (.@card_1_love == 7) { - cutin "´õ½ºÆ¼³×½ºÄ«µå",4; // Dustiness Card - mes "[Lhimetorra]"; - mes " The teeth of dustiness are very strong. This means.. use your teeth for victory?! "; - next; - } - if (.@card_1_love == 8) { - cutin "´õ½ºÆ¼³×½ºÄ«µå",4; // Dustiness Card - mes "[Lhimetorra]"; - mes " The card is telling me, 'Fly to your loved one as if you were a butterfly and shoot at it as if you were a star.' "; - mes "..even though it doesn't sound like something a moth would say. "; - next; - mes "[Lhimetorra]"; - mes " The passion of love like a raging wave.. You can't even hide it. "; - next; - } - if (.@card_1_love == 9) { - cutin "´õ½ºÆ¼³×½ºÄ«µå",4; // Dustiness Card - mes "[Lhimetorra]"; - mes " Perhaps the person you believe to be a butterfly is actually a moth. This fortune is awaiting a prudent judgement. "; - next; - mes "[Lhimetorra]"; - mes " Love is indeed a subject to be dealt with prudence. Keep that in mind young one. "; - next; - } - if (.@card_1_love == 10) { - cutin "µå¶óÅ¥¶óÄ«µå",4; // Dracula Card - mes "[Lhimetorra]"; - mes " The one you love will give you a kiss of death. "; - mes " The irresistable kiss.. It is up to you to decide whether to avoid it or not. "; - next; - mes "[Lhimetorra]"; - mes " Charisma... is the sweetest poison. "; - next; - } - if (.@card_1_love == 11) { - cutin "µå¶óÅ¥¶óÄ«µå",4; // Dracula Card - mes "[Lhimetorra]"; - mes " You are looking at a wonderful person, but their eyes are fixed in darkness. "; - mes " How about trying to grab their attention? "; - next; - mes "[Lhimetorra]"; - mes " If so, you need to try something other than charisma. "; - next; - } - if (.@card_1_love == 12) { - cutin "µå¶óÅ¥¶óÄ«µå",4; // Dracula Card - mes "[Lhimetorra]"; - mes " Your love needs fresh blood. Healthy exercises and eating habits are necessary! "; - mes " You must change your living pattern first. "; - next; - mes "[Lhimetorra]"; - mes " Health is the best. "; - next; - } - if (.@card_1_love == 13) { - cutin "µå¶óÅ¥¶óÄ«µå",4; // Dracula Card - mes "[Lhimetorra]"; - mes " Don't you think you are infatuated by outer appearance and gambling with love? You might have to be more careful about it this time. "; - next; - mes "[Lhimetorra]"; - mes " Beauty is only skin deep. "; - next; - } - if (.@card_1_love == 14) { - cutin "µå·¹ÀÌÅ©Ä«µå",4; // Dracula Card - mes "[Lhimetorra]"; - mes " Become a pirate of love! It is a simple, yet strong fortune! "; - next; - } - if (.@card_1_love == 15) { - cutin "µå·¹ÀÌÅ©Ä«µå",4; // Dracula Card - mes "[Lhimetorra]"; - mes " No matter how romantic and beautiful love is, if it is not rightful, it is undesirable.. "; - mes " is what this card means. "; - next; - mes "[Lhimetorra]"; - mes " I hope you are not disappointed by the moral of this fortune. "; - next; - } - if (.@card_1_love == 16) { - cutin "µå·¹ÀÌÅ©Ä«µå",4; // Dracula Card - mes "[Lhimetorra]"; - mes " In the rough sea called the world, only pirates, the outlaws of love, are the law. "; - mes " This card supports strong love. "; - next; - mes "[Lhimetorra]"; - mes " You must overcome it - no matter how strong the wave is. "; - next; - } - if (.@card_1_love == 17) { - cutin "µå·¹ÀÌÅ©Ä«µå",4; // Dracula Card - mes "[Lhimetorra]"; - mes " It is a warning not to get involved in false love like pirated editions! "; - mes " You may have to reconsider your love right now. "; - next; - mes "[Lhimetorra]"; - mes " Illegal copying is not love! "; - next; - } - if (.@card_1_love == 18) { - cutin "¸¶¸®³ªÄ«µå",4; // Marina Card - mes "[Lhimetorra]"; - mes " This is praising the type of love that is always there, yet barely has a form as if it does not exist. "; - mes " Are you involved this type of love? "; - next; - mes "[Lhimetorra]"; - mes " Love's form is obscure. "; - next; - } - if (.@card_1_love == 19) { - cutin "¸¶¸®³ªÄ«µå",4; // Marina Card - mes "[Lhimetorra]"; - mes " You must be careful. Love is quietly approaching and spreading poison. Be careful of the poison of love. "; - next; - mes "[Lhimetorra]"; - mes " There is no cure for this poison! "; - next; - } - if (.@card_1_love == 20) { - cutin "¸¶¸®³ªÄ«µå",4; // Marina Card - mes "[Lhimetorra]"; - mes " Aren't you already caught in love that you cannot run away from? Look around you. "; - mes " You might be captured inside invisible walls. "; - next; - mes "[Lhimetorra]"; - mes " You have been blinded by love and became a prisoner! Shouldn't you escape? "; - next; - } - if (.@card_1_love == 21) { - cutin "¸¶¸®³ªÄ«µå",4; // Marina Card - mes "[Lhimetorra]"; - mes " This fortune is saying that love is.. approaching wobbly and softly~ and then bam~ embracing it. "; - mes " Very romantic. Hehe. "; - next; - mes "[Lhimetorra]"; - mes " Romance is the best part of love~ "; - next; - } - if (.@card_1_love == 22) { - cutin "¸¶¸®¿À³×Ʈīµå",4; // Marina Card - mes "[Lhimetorra]"; - mes " This card is warning you to not treat your loved one like a puppet. "; - mes " You're not doing this, are you? "; - next; - mes "[Lhimetorra]"; - mes " Love is not supposed to be about controlling and restraining~ mm~ "; - next; - } - if (.@card_1_love == 23) { - cutin "¸¶¸®¿À³×Ʈīµå",4; // Marina Card - mes "[Lhimetorra]"; - mes " Dolls understand a human's heart more than a human. Try treating your loved one as if they were a doll. "; - next; - mes "[Lhimetorra]"; - mes " Your loved one can't be worse than a doll, can they? "; - next; - } - if (.@card_1_love == 24) { - cutin "¸¶¸®¿À³×Ʈīµå",4; // Marina Card - mes "[Lhimetorra]"; - mes " If you are afraid to look into a doll's eyes, that is because there is a dark shadow covering your love. "; - mes " Rid yourselves of that shadow. Then the doll will smile as well. "; - next; - mes "[Lhimetorra]"; - mes " That is what love is. "; - next; - } - if (.@card_1_love == 25) { - cutin "¸¶¸®¿À³×Ʈīµå",4; // Marina Card - mes "[Lhimetorra]"; - mes " Dolls become accustomed to the owner the more they are handled. Give your doll more attention. "; - mes " The doll is craving attention. A lot of attention. "; - next; - mes "[Lhimetorra]"; - mes " Delicate treatment and attention is the best in love. "; - next; - } - if (.@card_1_love == 26) { - cutin "¸ÞµÎ»çÄ«µå",4; // Medusa Card - mes "[Lhimetorra]"; - mes " Do you fear the snake hair of a Medusa? However, love cannot be achieved with fear. "; - mes " You must move forward! "; - next; - mes "[Lhimetorra]"; - mes " Love must be pushed forward! "; - next; - } - if (.@card_1_love == 27) { - cutin "¸ÞµÎ»çÄ«µå",4; // Medusa Card - mes "[Lhimetorra]"; - mes " Warriors that hastily attacked the Medusa all failed, but the one hero that used a mirror succeeded. "; - mes " You cannot succeed in love with brute force. You must use wisdom. "; - next; - mes "[Lhimetorra]"; - mes " Do you understand what I mean young one? "; - next; - } - if (.@card_1_love == 28) { - cutin "¸ÞµÎ»çÄ«µå",4; // Medusa Card - mes "[Lhimetorra]"; - mes " Must you love the one that has hair of snakes? Reconsider this love and think about it earnestly. "; - next; - mes "[Lhimetorra]"; - mes " What do you think? Isn't this a great opportunity to ponder about the relationship. "; - next; - } - if (.@card_1_love == 29) { - cutin "¸ÞµÎ»çÄ«µå",4; // Medusa Card - mes "[Lhimetorra]"; - mes " It is a hint saying that a strong hairstyle is the key to turning over the situation. Change your hairstyle! "; - next; - mes "[Lhimetorra]"; - mes " Fashion is in the hands of those who are ahead! "; - next; - } - if (.@card_1_love == 30) { - cutin "¹ÙÆ÷¸ÞƮīµå",4; // Baphomet Card - mes "[Lhimetorra]"; - mes " Love must have two things: great strength and the will to live. Have you thought about whether or not you can overcome this with your current self? "; - next; - mes "[Lhimetorra]"; - mes " Know love and know thyself! "; - next; - } - if (.@card_1_love == 31) { - cutin "¹ÙÆ÷¸ÞƮīµå",4; // Baphomet Card - mes "[Lhimetorra]"; - mes " A scythe may seem burdensome but a strong Baphomet can freely use it. "; - mes " It is the same concept. If you are ready, any type of love is possible. There is no such thing as impossible. "; - next; - mes "[Lhimetorra]"; - mes " Love requires preparation as well! "; - next; - } - if (.@card_1_love == 32) { - cutin "¹ÙÆ÷¸ÞƮīµå",4; // Baphomet Card - mes "[Lhimetorra]"; - mes " Love must have two things: great strength and the will to live. Have you thought about whether or not you can overcome this with your current self? "; - next; - mes "[Lhimetorra]"; - mes " Know love and know thyself! "; - next; - } - if (.@card_1_love == 33) { - cutin "¹ÙÆ÷¸ÞƮīµå",4; // Baphomet Card - mes "[Lhimetorra]"; - mes " There are those who are born, destined to run into this wall, an obstacle. Your love seems to have reached that wall.. It must be hard. "; - next; - mes "[Lhimetorra]"; - mes " What a pity. "; - next; - } - if (.@card_1_love == 34) { - cutin "¹ÙÆ÷¸ÞƮīµå",4; // Baphomet Card - mes "[Lhimetorra]"; - mes " This Baphomet looks as if it is having a hard time. The person must be exhausted even if it may not seem so. "; - next; - mes "[Lhimetorra]"; - mes " Approach then with affection. "; - next; - } - if (.@card_1_love == 35) { - cutin "»÷µå¸ÇÄ«µå",4; // Sandman Card - mes "[Lhimetorra]"; - mes " Can't you hear the cry of the card? It is suffering. Love is like that.. "; - next; - mes "[Lhimetorra]"; - mes " So don't be upset about it! "; - next; - } - if (.@card_1_love == 36) { - cutin "»÷µå¸ÇÄ«µå",4; // Sandman Card - mes "[Lhimetorra]"; - mes " Your love right now is so bored that it is yawning. How about trying something fresh and new? "; - next; - mes "[Lhimetorra]"; - mes " Try changing your dating style. "; - next; - } - if (.@card_1_love == 37) { - cutin "»÷µå¸ÇÄ«µå",4; // Sandman Card - mes "[Lhimetorra]"; - mes " Deep sleep brings happiness and dreams. I think what you need right now is sleep. "; - next; - mes "[Lhimetorra]"; - mes " Get some sleep. "; - next; - } - if (.@card_1_love == 38) { - cutin "»÷µå¸ÇÄ«µå",4; // Sandman Card - mes "[Lhimetorra]"; - mes " I feel some sort of emptiness.. Maybe there is a gap in your love? "; - next; - mes "[Lhimetorra]"; - mes " Take a close look. "; - next; - } - if (.@card_1_love == 39) { - cutin "¼ÒÈñÄ«µå",4; // Sohee Card - mes "[Lhimetorra]"; - mes " Even a traditional beauty can seem cold to others. Try looking at your loved one from a different point of view. "; - next; - mes "[Lhimetorra]"; - mes " Look at love from a different perspective. You never know when you'll be able to discover something. "; - next; - } - if (.@card_1_love == 40) { - cutin "¼ÒÈñÄ«µå",4; // Sohee Card - mes "[Lhimetorra]"; - mes " They may seem dreary and ominous but their attire is spotless. They show devotion to the other. "; - mes " Even though you are not satisfied with your love right now, take a look at their attire. "; - next; - mes "[Lhimetorra]"; - mes " If it is carefully worn, their heart for you can be seen in it as well.. "; - next; - } - if (.@card_1_love == 41) { - cutin "¼ÒÈñÄ«µå",4; // Sohee Card - mes "[Lhimetorra]"; - mes " There is a person you must not deal with thoughtlessly nearby. Don't say or do anything carelessly. You must be careful when dealing with this person. "; - next; - mes "[Lhimetorra]"; - mes " Bear that in mind. "; - next; - } - if (.@card_1_love == 42) { - cutin "¼ÒÈñÄ«µå",4; // Sohee Card - mes "[Lhimetorra]"; - mes " Even if the wind blows and the trail of her clothes flutter, her posture never changes. Loving a person with that type of heart will bring goodwill and happiness. "; - next; - mes "[Lhimetorra]"; - mes " Keep a righteous heart and mind. "; - next; - } - if (.@card_1_love == 43) { - cutin "½ºÄÌ¿öÄ¿Ä«µå",4; // Skel Worker Card - mes "[Lhimetorra]"; - mes " That lightens and attacks with a pickaxe! You must aggressively move forward. What do you think? Your fortune is a good one. "; - next; - mes "[Lhimetorra]"; - mes " Is your heart ready young one? "; - next; - } - if (.@card_1_love == 44) { - cutin "½ºÄÌ¿öÄ¿Ä«µå",4; // Skel Worker Card - mes "[Lhimetorra]"; - mes " The card only shows gaunt bones, but notice how it has all the necessary tools?"; - mes " Even though your love right now may seem as if there is nothing to it, it has everything you need. "; - next; - mes "[Lhimetorra]"; - mes " Don't get too greedy about things. "; - next; - } - if (.@card_1_love == 45) { - cutin "½ºÄÌ¿öÄ¿Ä«µå",4; // Skel Worker Card - mes "[Lhimetorra]"; - mes " It has a lantern on its back and even in its hand.. it believes one light is insufficient. "; - mes " If you are only shining one type of light to your loved one, shining another might help. "; - next; - mes "[Lhimetorra]"; - mes " They might be feeling that one is not enough. "; - next; - } - if (.@card_1_love == 46) { - cutin "½ºÄÌ¿öÄ¿Ä«µå",4; // Skel Worker Card - mes "[Lhimetorra]"; - mes " You know the smile of Mona Lisa.. Perhaps the person you are looking at has the same expression? "; - next; - mes "[Lhimetorra]"; - mes " Don't try to gaze straight them. Make an effort to approach them. "; - next; - } - if (.@card_1_love == 47) { - cutin "½ºÄ̳ªÀÌƮīµå",4; // Skel Worker Card - mes "[Lhimetorra]"; - mes " A knight on a horse is a fantasy in every person's heart. Make it so that this fantasy becomes real. "; - next; - mes "[Lhimetorra]"; - mes " Then there will surely be progress. "; - next; - } - if (.@card_1_love == 48) { - cutin "½ºÄ̳ªÀÌƮīµå",4; // Skel Worker Card - mes "[Lhimetorra]"; - mes " Is that soldier waiting to attack? I can feel great tension between the horse and knight. "; - mes " Don't run forward carelessly. Raise your sword and wait for your chance. "; - next; - mes "[Lhimetorra]"; - mes " This means now is a time to wait. How about it, would you like to wait a while? "; - next; - } - if (.@card_1_love == 49) { - cutin "½ºÄ̳ªÀÌƮīµå",4; // Skel Worker Card - mes "[Lhimetorra]"; - mes " He is falling asleep awaiting a battle. Is it because he is laid back, or simply pathetic? Depends on the situation I suppose. "; - mes " But you've got to give him credit for his boldness. "; - next; - mes "[Lhimetorra]"; - mes " How about becoming a brave warrior in the battle of love? "; - next; - } - if (.@card_1_love == 50) { - cutin "½ºÄ̳ªÀÌƮīµå",4; // Skel Worker Card - mes "[Lhimetorra]"; - mes " Very favorable. It's to a point that I can feel strong energy from the card. I will give some of this energy to you. "; - next; - mes "[Lhimetorra]"; - mes " Devote that energy to love..! "; - next; - } - if (.@card_1_love == 51) { - cutin "¾Æ´©ºñ½ºÄ«µå",4; // Anubis Card - mes "[Lhimetorra]"; - mes " What does the god of death have to say about love? It is something ominous for sure. "; - next; - mes "[Lhimetorra]"; - mes " I think it is trying to give a warning. Be careful. "; - next; - } - if (.@card_1_love == 52) { - cutin "¾Æ´©ºñ½ºÄ«µå",4; // Anubis Card - mes "[Lhimetorra]"; - mes " Hmm. How about giving a cute puppy as a gift? One with a round nose. Then they will surely be happy. "; - next; - mes "[Lhimetorra]"; - mes " But can't help it if they don't like puppies. "; - next; - } - if (.@card_1_love == 53) { - cutin "¾Æ´©ºñ½ºÄ«µå",4; // Anubis Card - mes "[Lhimetorra]"; - mes " I can tell what it was doing from the way it is crying while holding an axe with blood. It is deeply wounded by love. "; - next; - mes "[Lhimetorra]"; - mes " If that wound isn't cured soon, it will become as Anubis wanted. "; - next; - } - if (.@card_1_love == 54) { - cutin "¾Æ´©ºñ½ºÄ«µå",4; // Anubis Card - mes "[Lhimetorra]"; - mes " The pattern of the clothes symbolizes a warning. It is saying to be careful of love. "; - next; - mes "[Lhimetorra]"; - mes "Be cautious. "; - next; - } - if (.@card_1_love == 55) { - cutin "¿ÀÅ©·ÎµåÄ«µå",4; // Orc Lord Card - mes "[Lhimetorra]"; - mes " He is a warning you not to drool over someone else. "; - next; - mes "[Lhimetorra]"; - mes " That's bad! You will be punished! "; - next; - } - if (.@card_1_love == 56) { - cutin "¿ÀÅ©·ÎµåÄ«µå",4; // Orc Lord Card - mes "[Lhimetorra]"; - mes " Who is he so fiercly gazing at with those grand muscles? He is looking at someone else for sure. "; - next; - mes "[Lhimetorra]"; - mes " Don't get sidetracked and look elsewhere! You will be cursed! "; - next; - } - if (.@card_1_love == 57) { - cutin "¿ÀÅ©·ÎµåÄ«µå",4; // Orc Lord Card - mes "[Lhimetorra]"; - mes " Strengthen your body and observe the target. That is the step to success. "; - next; - mes "[Lhimetorra]"; - mes " If you want love as well, why don't you take the card's advice and prepare yourself first? "; - next; - } - if (.@card_1_love == 58) { - cutin "¿ÀÅ©·ÎµåÄ«µå",4; // Orc Lord Card - mes "[Lhimetorra]"; - mes " His navel is very pretty. You have to meet someone with that type of navel to be happy. "; - next; - mes "[Lhimetorra]"; - mes " Ok? Keep that in mind~ "; - next; - } - if (.@card_1_love == 59) { - cutin "ÀèÄ«µå",4; // Jakk Card - mes "[Lhimetorra]"; - mes " You'll get hurt if you mess around. This card is giving you a piece of advice. "; - next; - mes "[Lhimetorra]"; - mes " You did something wrong to your loved one, didn't you? Make an effort to make up for it~! "; - next; - } - if (.@card_1_love == 60) { - cutin "ÀèÄ«µå",4; // Jakk Card - mes "[Lhimetorra]"; - mes " From the way he is massaging its back because of a shoulder cramp, maybe your love is seeking someone to massage them. Love starts from little thoughts."; - next; - mes "[Lhimetorra]"; - mes " Next time you meet them, give them a massage. Start with the little things. "; - next; - } - if (.@card_1_love == 61) { - cutin "ÀèÄ«µå",4; // Jakk Card - mes "[Lhimetorra]"; - mes " His expression is in awe. When encountering an absurd incident, his face and expression becomes peculiarly distorted. "; - mes " I think the one you are looking towards has that type of expression. "; - next; - mes "[Lhimetorra]"; - mes " Did you do something absurd to that person? Are you sure? Think about it~ "; - next; - } - if (.@card_1_love == 62) { - cutin "ÀèÄ«µå",4; // Jakk Card - mes "[Lhimetorra]"; - mes " If the lover does something wrong he pokes them with a needle. How scary.. "; - next; - } - if (.@card_1_love == 63) { - cutin "Á¶Ä¿Ä«µå",4; // Joker Card - mes "[Lhimetorra]"; - mes " A person's heart is like this card. If you flip it over nobody can tell what is behind it. Try turning the person's card over. "; - next; - mes "[Lhimetorra]"; - mes " You must approach their true heart. Understand? "; - next; - } - if (.@card_1_love == 64) { - cutin "Á¶Ä¿Ä«µå",4; // Joker Card - mes "[Lhimetorra]"; - mes " Jokers are sly, but that is just because it is their habit. "; - mes " The reason the person may seem capricious or cunning is partially because they are born like that. "; - next; - mes "[Lhimetorra]"; - mes " Will you be able to approach them regardless? To do so, you must prepare you heart.. mm.. "; - next; - } - if (.@card_1_love == 65) { - cutin "Á¶Ä¿Ä«µå",4; // Joker Card - mes "[Lhimetorra]"; - mes " The joker can't use any of his strength because he is tied to a card. Perhaps the person is caught in something and can't show their true merit? "; - next; - mes "[Lhimetorra]"; - mes " If you love them, free them from the chains tying them down.. That is consideration.. and love "; - next; - } - if (.@card_1_love == 66) { - cutin "Á¶Ä¿Ä«µå",4; // Joker Card - mes "[Lhimetorra]"; - mes " Don't get fooled by tricks. They are a person, too. They know how to lie once in a while. Search for the trick calmly and carefully. "; - next; - mes "[Lhimetorra]"; - mes " And then search for a different route. That is the wise decision. "; - next; - } - if (.@card_1_love == 67) { - cutin "È£µåÄ«µå",4; // Hode Card - mes "[Lhimetorra]"; - mes " It is saying that daring action is necessary, such as that of the Hode that strikes up from the sand. "; - next; - mes "[Lhimetorra]"; - mes " Maybe you are discouraged a little too much right now. Be brave and daring young one. "; - next; - } - if (.@card_1_love == 68) { - cutin "È£µåÄ«µå",4; // Hode Card - mes "[Lhimetorra]"; - mes " Seeing that the Hode spits out sand to those who bother them, you must have done something to bother the person somehow. "; - next; - mes "[Lhimetorra]"; - mes " Maybe you are being troublesome? Make an effort to relax a little more. "; - next; - } - if (.@card_1_love == 69) { - cutin "È£µåÄ«µå",4; // Hode Card - mes "[Lhimetorra]"; - mes " The Hode has a very strong will to live. It is to survive in the forest. It is suggesting dating with that kind of will."; - next; - mes "[Lhimetorra]"; - mes " Hmm, try love with more spirit. You will get good results. "; - next; - } - if (.@card_1_love == 70) { - cutin "È£µåÄ«µå",4; // Hode Card - mes "[Lhimetorra]"; - mes " Ah.. there is a noble person up north. North it is. This direction will never change. "; - next; - mes "[Lhimetorra]"; - mes " Trust me and go for it. "; - next; - } - if (.@card_1_love == 71) { - cutin "Ȳ¼ÒÄ«µå",4; // Minorous Card - mes "[Lhimetorra]"; - mes " A walking bull is rare. The person you are looking towards is that rare. Don't let go of them. You may never see them again.. "; - next; - mes "[Lhimetorra]"; - mes " The card is saying this. "; - next; - } - if (.@card_1_love == 72) { - cutin "Ȳ¼ÒÄ«µå",4; // Minorous Card - mes "[Lhimetorra]"; - mes " Can you see the strong muscles that even arrows cannot pierce? The person is like that, too. "; - next; - mes "[Lhimetorra]"; - mes " To attack with love.. you will need a stronger attack.. Mmm.. "; - next; - } - if (.@card_1_love == 73) { - cutin "Ȳ¼ÒÄ«µå",4; // Minorous Card - mes "[Lhimetorra]"; - mes " The scariest thing is not the hammer nor horn. It is the massive legs that support its heavy weight. Nobody can survive a hit by those legs. The person is also probably hiding the most dangerous part. "; - next; - mes "[Lhimetorra]"; - mes " You must love but be careful at the same time. You never know when you will be hit by the hind legs. "; - next; - } - if (.@card_1_love == 74) { - cutin "Ȳ¼ÒÄ«µå",4; // Minorous Card - mes "[Lhimetorra]"; - mes " No matter how fearful the bull may be, if it has a nose ring, it has already been tamed by humans. No matter how astonishing that person may be, taming is your responsibility. "; - next; - mes "[Lhimetorra]"; - mes " Approach them with more sincerity and consideration. "; - next; - } - mes "[Lhimetorra]"; - mes " You seeked advice about love. "; - mes " Even if you may not pleased with it, consider it calmly and make an effort to find true happiness. "; - cutin "°¡À̾ƽºÄ«µå",255; // Giearth Card - next; - mes "[Lhimetorra]"; - mes " Then... "; - break; - //=================================================================Assets? === - case 2: - mes "[Lhimetorra]"; - mes " Ooh... something about your fortune is starting to show... "; - next; - set .@card_1_money,rand(1,73); - if (.@card_1_money == 1) { - cutin "°¡À̾ƽºÄ«µå",4; // Giearth Card - mes "[Lhimetorra]"; - mes " You must work hard to become wealthy. Don't think of other things.. Focus on and put effort into achieving your goals. "; - next; - mes "[Lhimetorra]"; - mes " Then good luck and try your best. "; - next; - } - if (.@card_1_money == 2) { - cutin "°¡À̾ƽºÄ«µå",4; // Giearth Card - mes "[Lhimetorra]"; - mes " Something very rare may come your way. A gold mine has been the dream of many since ancient times. You have a gold mine right in front of you. "; - next; - mes "[Lhimetorra]"; - mes " All in all, a big fortune is right in front of your eyes. I'll be looking forward to it. "; - next; - } - if (.@card_1_money == 3) { - cutin "°¡À̾ƽºÄ«µå",4; // Giearth Card - mes "[Lhimetorra]"; - mes " In the stomach pocket, there must be a secret treasure. There may be something in your pocket as well. "; - next; - mes "[Lhimetorra]"; - mes " Are you hiding things from other people? You should get rid of them. They may bring bad luck. "; - next; - } - if (.@card_1_money == 4) { - cutin "°¡À̾ƽºÄ«µå",4; // Giearth Card - mes "[Lhimetorra]"; - mes " The card says that you should not be too greedy, for that may cause you to dig your own grave. "; - next; - mes "[Lhimetorra]"; - mes " You may not feel good about it, but you should accept the card's advice..! "; - next; - } - if (.@card_1_money == 5) { - cutin "´õ½ºÆ¼³×½ºÄ«µå",4; // Dustiness Card - mes "[Lhimetorra]"; - mes " Did you know that a moth's wings has infinite amounts of powder on it? A moth symbolizes wealth in the sense that it can gather wealth just as the powder on its wings. "; - next; - mes "[Lhimetorra]"; - mes " Young one, you will gather much wealth. "; - next; - } - if (.@card_1_money == 6) { - cutin "´õ½ºÆ¼³×½ºÄ«µå",4; // Dustiness Card - mes "[Lhimetorra]"; - mes " You must work hard to become wealthy. Don't think of other things. Simply focusing on your goals putting effort into it will help. "; - next; - mes "[Lhimetorra]"; - mes " Good luck and try your best. "; - next; - } - if (.@card_1_money == 7) { - cutin "´õ½ºÆ¼³×½ºÄ«µå",4; // Dustiness Card - mes "[Lhimetorra]"; - mes " There is a common saying that when a moth flaps its wings, wealth will fly away as well. It's not a very good sign. "; - next; - mes "[Lhimetorra]"; - mes " Be careful not to lose your assets. Take good care of your wallet. "; - next; - } - if (.@card_1_money == 8) { - cutin "´õ½ºÆ¼³×½ºÄ«µå",4; // Dustiness Card - mes "[Lhimetorra]"; - mes " Dustiness teeth are very strong. This means.. "; - next; - mes "[Lhimetorra]"; - mes " Your tooth will become a gold tooth?! "; - next; - } - if (.@card_1_money == 9) { - cutin "´õ½ºÆ¼³×½ºÄ«µå",4; // Dustiness Card - mes "[Lhimetorra]"; - mes " When a dustiness flies around, a big expense comes up. You may need to spend some money soon. "; - next; - mes "[Lhimetorra]"; - mes " You might want to set up a budget to prepare for this expense. "; - next; - } - if (.@card_1_money == 10) { - cutin "µå¶óÅ¥¶óÄ«µå",4; // Dracula Card - mes "[Lhimetorra]"; - mes " Dracula brings in money. Maybe it is the moral influence from when it was a count. It is expensive to be a vampire, but I've never seen a poor one before. "; - next; - mes "[Lhimetorra]"; - mes " You don't need to worry about money. "; - next; - } - if (.@card_1_money == 11) { - cutin "µå¶óÅ¥¶óÄ«µå",4; // Dracula Card - mes "[Lhimetorra]"; - mes " To Dracula, money is not important. Blood is more valuable. To you, money must not be that important. You don't need to be concerned about money. "; - next; - mes "[Lhimetorra]"; - mes " How about it? Try being a little more casual about money. "; - next; - } - if (.@card_1_money == 12) { - cutin "µå¶óÅ¥¶óÄ«µå",4; // Dracula Card - mes "[Lhimetorra]"; - mes " Dracula mocks human's money. To him it is worthless. "; - next; - mes "[Lhimetorra]"; - mes " You should not be so concerned about money and assets, too. "; - next; - } - if (.@card_1_money == 13) { - cutin "µå·¹ÀÌÅ©Ä«µå",4; // Drake Card - mes "[Lhimetorra]"; - mes " No matter what, stealing is wrong! Even if a Drake blesses you in the name of pirates! Stealing is forbidden! "; - next; - mes "[Lhimetorra]"; - mes " Noooooooo stealing! "; - next; - } - if (.@card_1_money == 14) { - cutin "µå·¹ÀÌÅ©Ä«µå",4; // Drake Card - mes "[Lhimetorra]"; - mes " You will gather good fortune in a secretive and peculiar way.. Although, there seems to be shadows over some parts of your life. "; - next; - mes "[Lhimetorra]"; - mes " It's an uneasy fortune. Are you ready? "; - next; - } - if (.@card_1_money == 15) { - cutin "µå·¹ÀÌÅ©Ä«µå",4; // Drake Card - mes "[Lhimetorra]"; - mes " The reason pirates indulge in others assets in the vast rough ocean, is because it is the only way to let the people of the land know of their existence. "; - next; - mes "[Lhimetorra]"; - mes " But those who live on land do not need to do so. Don't look over other people's belongings. It is the advice of a pirate. "; - next; - } - if (.@card_1_money == 16) { - cutin "¸¶¸®³ªÄ«µå",4; // Marina Card - mes "[Lhimetorra]"; - mes " Marina prefers clean funds. It hates suspicious money. Your possessions should be clean as well. "; - next; - mes "[Lhimetorra]"; - mes " Why? The Marina might get rid of it all. "; - next; - } - if (.@card_1_money == 17) { - cutin "¸¶¸®³ªÄ«µå",4; // Marina Card - mes "[Lhimetorra]"; - mes " The Marina gathers money quietly, little by little, and freely roaming at the same time. That's the real way to make money. The Marina is suggesting this method to you. "; - next; - mes "[Lhimetorra]"; - mes " You should take a shot at it. You've got nothing to lose. "; - next; - } - if (.@card_1_money == 18) { - cutin "¸¶¸®³ªÄ«µå",4; // Marina Card - mes "[Lhimetorra]"; - mes " The Marina is not interested in money. The card suggests that you will resemble these traits as well. You will enjoy life apart from money. "; - next; - mes "[Lhimetorra]"; - mes " That's the fortune from a Marina card. "; - next; - } - if (.@card_1_money == 19) { - cutin "¸¶¸®³ªÄ«µå",4; // Marina Card - mes "[Lhimetorra]"; - mes " You will gather money swiftly and quietly, then boom~ blow it all at once. "; - next; - mes "[Lhimetorra]"; - mes " Very witty, hoho. "; - next; - } - if (.@card_1_money == 20) { - cutin "¸¶¸®¿À³×Ʈīµå",4; // Marionette Card - mes "[Lhimetorra]"; - mes " The Marionette treasures art over wealth. Bear that in mind. Honor over assets. "; - next; - mes "[Lhimetorra]"; - mes " What an important lesson.. Mmm... "; - next; - } - if (.@card_1_money == 21) { - cutin "¸¶¸®¿À³×Ʈīµå",4; // Marionette Card - mes "[Lhimetorra]"; - mes " The Marionette likes shiny money. Not dull money, but the shiny kind. "; - next; - mes "[Lhimetorra]"; - mes " Anyways, search for that type of money. "; - next; - } - if (.@card_1_money == 22) { - cutin "¸¶¸®¿À³×Ʈīµå",4; // Marionette Card - mes "[Lhimetorra]"; - mes " The Marionette requires lots of money. Its expenditures are enormous. You must have many expenditures ahead of you. "; - next; - mes "[Lhimetorra]"; - mes " A gloomy fortune. How about being cautious? "; - next; - } - if (.@card_1_money == 23) { - cutin "¸¶¸®¿À³×Ʈīµå",4; // Marionette Card - mes "[Lhimetorra]"; - mes " The Marionette uses a lot of money. There is someone around you that is like that, too. "; - next; - mes "[Lhimetorra]"; - mes " There is a person like that for sure. You should watch out. "; - next; - } - if (.@card_1_money == 24) { - cutin "¸ÞµÎ»çÄ«µå",4; // Medusa Card - mes "[Lhimetorra]"; - mes " The hair of the Medusa symbolizes the amount of wealth. Seems as if something good will happen to you, young one. "; - next; - mes "[Lhimetorra]"; - mes " You can look forward to it. "; - next; - } - if (.@card_1_money == 25) { - cutin "¸ÞµÎ»çÄ«µå",4; // Medusa Card - mes "[Lhimetorra]"; - mes " The hair of the Medusa are all snakes. Snakes symbolize greed and slyness. When gathering things, it seems as if a cunning force will join you. It's not exactly a bright sign.. "; - next; - mes "[Lhimetorra]"; - mes " But you surely will get money. Hmm.. "; - next; - } - if (.@card_1_money == 26) { - cutin "¸ÞµÎ»çÄ«µå",4; // Medusa Card - mes "[Lhimetorra]"; - mes " The Medusa is strongly recommending saving. This card is telling you to save. It says to put many savings accounts in your hair and make yourself resemble its head shape. "; - next; - mes "[Lhimetorra]"; - mes " That is what it believes to be wealth. Oooh! "; - next; - } - if (.@card_1_money == 28) { - cutin "¸ÞµÎ»çÄ«µå",4; // Medusa Card - mes "[Lhimetorra]"; - mes " The Medusa does not enjoy playing with money. If you are attempting to use money other than the way it should be used, you should stop. Why? "; - next; - mes "[Lhimetorra]"; - mes " Because there can be a curse of the Medusa. "; - next; - } - if (.@card_1_money == 29) { - cutin "¹ÙÆ÷¸ÞƮīµå",4; // Baphomet Card - mes "[Lhimetorra]"; - mes " The great strength of the Baphomet brings in fortune. It seems as if you will be able to gather much wealth with the aid of the Baphomet's force! "; - next; - mes "[Lhimetorra]"; - mes " It's a good sign! Congratulations! "; - next; - } - if (.@card_1_money == 30) { - cutin "¹ÙÆ÷¸ÞƮīµå",4; // Baphomet Card - mes "[Lhimetorra]"; - mes " The scythe of the Baphomet means a strong tool to gather wealth. If you have a strong tool like his, it should be easy to gather wealth. "; - next; - mes "[Lhimetorra]"; - mes " What the Baphomet is trying to say is, find a mean that can help you like his tool. "; - next; - } - if (.@card_1_money == 31) { - cutin "¹ÙÆ÷¸ÞƮīµå",4; // Baphomet Card - mes "[Lhimetorra]"; - mes " How about getting involved in raising cattle? It seems like you can gather much wealth through it. "; - next; - } - if (.@card_1_money == 32) { - cutin "¹ÙÆ÷¸ÞƮīµå",4; // Baphomet Card - mes "[Lhimetorra]"; - mes " The Baphomet would like a tribute. He is saying that if you do, he will return great benefits. "; - next; - mes "[Lhimetorra]"; - mes " So try offering a part of your assets to the Baphomet. "; - next; - } - if (.@card_1_money == 33) { - cutin "»÷µå¸ÇÄ«µå",4; // Sandman Card - mes "[Lhimetorra]"; - mes " The Sandman cries with sadness when money comes up. It is sad because money does not possess love or affection. "; - next; - mes "[Lhimetorra]"; - mes " I wonder if the meaning of money will slowly disappear from your life as well. "; - next; - } - if (.@card_1_money == 34) { - cutin "»÷µå¸ÇÄ«µå",4; // Sandman Card - mes "[Lhimetorra]"; - mes " The Sandman is screaming because it saw too much money. It saw the money in the hands of your future. I wonder what all that money is? "; - next; - mes "[Lhimetorra]"; - mes " I wonder.. Aren't you curious? "; - next; - } - if (.@card_1_money == 35) { - cutin "»÷µå¸ÇÄ«µå",4; // Sandman Card - mes "[Lhimetorra]"; - mes " The Sandman's body is empty inside. Your wallet seems to be emtpy, too. You should save up some money. "; - next; - mes "[Lhimetorra]"; - mes " The Sandman likes to save, too. Even a monster likes to save, but when a human doesn't... "; - next; - } - if (.@card_1_money == 36) { - cutin "»÷µå¸ÇÄ«µå",4; // Sandman Card - mes "[Lhimetorra]"; - mes " Money is like sand. Even if you save it, once the wind blows, it disappears. This card shows the emptiness of money. "; - next; - mes "[Lhimetorra]"; - mes " Indeed, money is futile. "; - next; - } - if (.@card_1_money == 37) { - cutin "¼ÒÈñÄ«µå",4; // Sohee Card - mes "[Lhimetorra]"; - mes " Sohee is wearing a fine article. To wear something like that, you would need plenty of money. Do you know what the secret is? Sohee saved very much when she was once alive. "; - next; - mes "[Lhimetorra]"; - mes " So you should start saving, too. "; - next; - } - if (.@card_1_money == 38) { - cutin "¼ÒÈñÄ«µå",4; // Sohee Card - mes "[Lhimetorra]"; - mes " Sohee hates misers. She believes she has become like that because of a miser. Don't be stingy in front of Sohee! "; - next; - mes "[Lhimetorra]"; - mes " That type of stinginess will spite other people. Use money when it is necessary. "; - next; - } - if (.@card_1_money == 39) { - cutin "¼ÒÈñÄ«µå",4; // Sohee Card - mes "[Lhimetorra]"; - mes " Sohee dislikes the wealthy. They try to gather money, but never use it for others. If you don't want to be cursed by Sohee, you need to learn how to be generous with money. "; - next; - mes "[Lhimetorra]"; - mes " So if you have malicious desires, forget them. An ill heart easily gathers misfortune. "; - next; - } - if (.@card_1_money == 40) { - cutin "¼ÒÈñÄ«µå",4; // Sohee Card - mes "[Lhimetorra]"; - mes " Sohee likes foreign money. They are cute and pretty. If you have foreign currency, Sohee will love you. "; - next; - mes "[Lhimetorra]"; - mes " Keep an eye out for foreign currency. It will bring you luck. "; - next; - } - if (.@card_1_money == 41) { - cutin "½ºÄÌ¿öÄ¿Ä«µå",4; // Skel Worker Card - mes "[Lhimetorra]"; - mes " Those who work hard will gather great fortune. The Skeleton says diligent work will help greatly in gathering wealth. "; - next; - mes "[Lhimetorra]"; - mes " Hmm~ a ghost is saying strange things. "; - next; - } - if (.@card_1_money == 42) { - cutin "½ºÄÌ¿öÄ¿Ä«µå",4; // Skel Worker Card - mes "[Lhimetorra]"; - mes " Its youth is gone after a lifetime of chasing after gold. It became a monster with only bones left. No matter how much you like money and your work, look after your life as well. "; - next; - mes "[Lhimetorra]"; - mes " There is much more to life than wealth. "; - next; - } - if (.@card_1_money == 43) { - cutin "½ºÄÌ¿öÄ¿Ä«µå",4; // Skel Worker Card - mes "[Lhimetorra]"; - mes " To become rich, you must work hard as if you became a skeleton. The Skeleton is saying to work hard until you become a skeleton. "; - next; - mes "[Lhimetorra]"; - mes " Then not only the Skeleton, but many people will repay you greatly. "; - next; - } - if (.@card_1_money == 44) { - cutin "½ºÄÌ¿öÄ¿Ä«µå",4; // Skel Worker Card - mes "[Lhimetorra]"; - mes " The Skeleton says that you can make money by going north. Go north. "; - next; - mes "[Lhimetorra]"; - mes " There must be great fortune in that direction. "; - next; - } - if (.@card_1_money == 45) { - cutin "½ºÄ̳ªÀÌƮīµå",4; // Khalitzburg Card - mes "[Lhimetorra]"; - mes " A knight is a job that requires a lot of money. A hint of a big expense. You might want to tighten your belt. "; - next; - mes "[Lhimetorra]"; - mes " That is, if you don't want go to bankrupt. "; - next; - } - if (.@card_1_money == 46) { - cutin "½ºÄ̳ªÀÌƮīµå",4; // Khalitzburg Card - mes "[Lhimetorra]"; - mes " Knights do not fight for money. If they did, they would be a mercenary. A knight reaches for something higher. What the knight wants to tell you is the way to live. "; - next; - mes "[Lhimetorra]"; - mes " Set a goal higher than money and wealth. Do you understand, young one? "; - next; - } - if (.@card_1_money == 47) { - cutin "½ºÄ̳ªÀÌƮīµå",4; // Khalitzburg Card - mes "[Lhimetorra]"; - mes " A knight values honor more than fortune. They consider discussing wealth itself dirty not worthy. How would you be able to ask such a knight a fortune about wealth? "; - next; - mes "[Lhimetorra]"; - mes " The knight says that a new road of life will open once you look away from fortune. "; - next; - } - if (.@card_1_money == 48) { - cutin "½ºÄ̳ªÀÌƮīµå",4; // Khalitzburg Card - mes "[Lhimetorra]"; - mes " You need to think of an ideal more noble than money. The fortune the knight suggests is this: Knights never speak of ways to make money. "; - next; - mes "[Lhimetorra]"; - mes " Compared to life, they believe money is foolish. The knight would like to understand these ideas of life. "; - next; - } - if (.@card_1_money == 49) { - cutin "½ºÄ̳ªÀÌƮīµå",4; // Khalitzburg Card - mes "[Lhimetorra]"; - mes " Working hard is the only way to gather wealth; don't get sidetracked and put effort into working will help your fortune. "; - next; - mes "[Lhimetorra]"; - mes " So do your best. "; - next; - } - if (.@card_1_money == 50) { - cutin "¾Æ´©ºñ½ºÄ«µå",4; // Anubis Card - mes "[Lhimetorra]"; - mes " What does the god of death have to say about wealth? It is surely a bad omen. It is trying to warn something. "; - next; - mes "[Lhimetorra]"; - mes " Be careful. It is the word of the god of death. "; - next; - } - if (.@card_1_money == 51) { - cutin "¾Æ´©ºñ½ºÄ«µå",4; // Anubis Card - mes "[Lhimetorra]"; - mes " The Anubis is very interested in the sacrifices offered. The offerings he likes are youth and effort. "; - next; - mes "[Lhimetorra]"; - mes " If you offer these two things, the Anubis says he will bring you wealth. "; - next; - } - if (.@card_1_money == 52) { - cutin "¾Æ´©ºñ½ºÄ«µå",4; // Anubis Card - mes "[Lhimetorra]"; - mes " The Anubis is giving a warning of the west. There is a being there that can break away your wealth. "; - next; - mes "[Lhimetorra]"; - mes " If you want to protect your assets, beware of the west. "; - next; - } - if (.@card_1_money == 53) { - cutin "¾Æ´©ºñ½ºÄ«µå",4; // Anubis Card - mes "[Lhimetorra]"; - mes " The Anubis hates those who try to gather money for his death. He believes it's a waste of money. Don't make the mistake of gathering money for death. "; - next; - mes "[Lhimetorra]"; - mes " This is the true advice of a Anubis. "; - next; - } - if (.@card_1_money == 54) { - cutin "¿ÀÅ©·ÎµåÄ«µå",4; // Orc Lord Card - mes "[Lhimetorra]"; - mes " The Orc Lord possesses much wealth. It's because of greed. Greed is essential in collecting money. The desire and greediness to make money is not something to be ashamed about. Be diligent and go make money. "; - next; - mes "[Lhimetorra]"; - mes " But, too much greed is forbidden. "; - next; - } - if (.@card_1_money == 55) { - cutin "¿ÀÅ©·ÎµåÄ«µå",4; // Orc Lord Card - mes "[Lhimetorra]"; - mes " The Orc Lord starts drooling about anything involving money. He targets anybody with money. "; - next; - mes "[Lhimetorra]"; - mes " Therefore, don't speak of money to the Orc Lord. "; - next; - mes "[Lhimetorra]"; - mes " Same goes for humans. Be wary of those who are avaricious like the Orc Lord. "; - next; - } - if (.@card_1_money == 56) { - cutin "¿ÀÅ©·ÎµåÄ«µå",4; // Orc Lord Card - mes "[Lhimetorra]"; - mes " There should be great wealth awaiting in the direction the Orc Lord's horn is pointing. The card is directing towards.. "; - next; - mes "[Lhimetorra]"; - mes " The northwest? Would you like to try your luck in that direction? "; - next; - } - if (.@card_1_money == 57) { - cutin "¿ÀÅ©·ÎµåÄ«µå",4; // Orc Lord Card - mes "[Lhimetorra]"; - mes " The Orc Lord likes gold. Of all the treasures, gold is the best. Closely watch gold. "; - next; - mes "[Lhimetorra]"; - mes " Gold is rather peculiar compared to other assets. "; - next; - } - if (.@card_1_money == 58) { - cutin "ÀèÄ«µå",4; // Jakk Card - mes "[Lhimetorra]"; - mes " Jack makes money through jokes. Others' happiness is the key to his wealth. "; - next; - mes "[Lhimetorra]"; - mes " Why don't you learn how to make others happy? It should be of great help. "; - next; - } - if (.@card_1_money == 59) { - cutin "ÀèÄ«µå",4; // Jakk Card - mes "[Lhimetorra]"; - mes " Jack likes fun money. He detests sad and burdensome money. "; - mes " He always says this. Light-hearted and easy money isn't dangerous even if it piles up. "; - next; - mes "[Lhimetorra]"; - mes " As Jack's advice says, stay closer to light money. It is safer and better. "; - next; - } - if (.@card_1_money == 60) { - cutin "ÀèÄ«µå",4; // Jakk Card - mes "[Lhimetorra]"; - mes " Jack thinks of money as a foolish item. But somehow he makes that kind of money. "; - mes " That's why those who are controlled by fools consider the other a fool, too. "; - next; - mes "[Lhimetorra]"; - mes " If you don't want to be considered a fool by Jack, don't be controlled by money. "; - mes " Or else, Jack will attack. "; - next; - } - if (.@card_1_money == 61) { - cutin "ÀèÄ«µå",4; // Jakk Card - mes "[Lhimetorra]"; - mes " Jack is asking for money. Don't be stingy about paying those who bring entertainment and fun. "; - next; - mes "[Lhimetorra]"; - mes " Then, Jack will reward you in return. "; - next; - } - if (.@card_1_money == 62) { - cutin "Á¶Ä¿Ä«µå",4; // Joker Card - mes "[Lhimetorra]"; - mes " Do you know what a joker's specialty is? It is tricking others and making money. Be wary of the joker. "; - next; - mes "[Lhimetorra]"; - mes " Jokers do not exist in one form. They will aim for your money in several different ways. "; - next; - } - if (.@card_1_money == 63) { - cutin "Á¶Ä¿Ä«µå",4; // Joker Card - mes "[Lhimetorra]"; - mes " The Joker says if you let him borrow money, he will repay you with more. You're going to refuse, right? But the Joker's temptation does not end after one try. "; - mes " He will linger around you as a neighbor, or a rare item and ask for money. "; - next; - mes "[Lhimetorra]"; - mes " Act wisely! You'll be in trouble if you are tricked easily! "; - next; - } - if (.@card_1_money == 64) { - cutin "Á¶Ä¿Ä«µå",4; // Joker Card - mes "[Lhimetorra]"; - mes " Even if a joker asks for change, never give any to him. He will ask for change, then end up ask for a big sum of money. "; - mes " Jokers are like that. They have the ability to turn a small mistake into a big calamity. "; - next; - mes "[Lhimetorra]"; - mes " That's why you should be more careful about it. "; - next; - } - if (.@card_1_money == 65) { - cutin "Á¶Ä¿Ä«µå",4; // Joker Card - mes "[Lhimetorra]"; - mes " There is only one reason a Joker requests money.. to take yours. "; - mes " His goal is not to become rich. A real foul playful one. "; - next; - mes "[Lhimetorra]"; - mes " But losing money isn't a joke now, is it? You should be careful. "; - next; - } - if (.@card_1_money == 66) { - cutin "È£µåÄ«µå",4; // Hode Card - mes "[Lhimetorra]"; - mes " Hodes do not know about money. They just gobble everything up. But that might be the shortcut to gaining great wealth. "; - next; - mes "[Lhimetorra]"; - mes " Don't focus too much on money. Just work at it. It's saying that it is the best method. "; - next; - } - if (.@card_1_money == 67) { - cutin "È£µåÄ«µå",4; // Hode Card - mes "[Lhimetorra]"; - mes " Hodes do not know anything about money. But they do not forgive those who have an eye on their things. "; - mes " Not being greedy and taking care of your share is the wisest way to manage your wealth. "; - next; - mes "[Lhimetorra]"; - mes " Indeed, the Hode is right. Do you understand as well? "; - next; - } - if (.@card_1_money == 68) { - cutin "È£µåÄ«µå",4; // Hode Card - mes "[Lhimetorra]"; - mes " The Hode knows nothing about money. But a very rare item drops from a Hode's body. "; - mes " It has a treasure in it without knowing. "; - next; - mes "[Lhimetorra]"; - mes " Take a careful look around you. Treasures are hidden all over. "; - next; - } - if (.@card_1_money == 69) { - cutin "È£µåÄ«µå",4; // Hode Card - mes "[Lhimetorra]"; - mes " Hodes are strong even though they live in the desert. Just because the environment is poor, doesn't mean that you can't gather wealth. "; - next; - mes "[Lhimetorra]"; - mes " Don't blame the environment. That excuse is only for whiners. "; - next; - } - if (.@card_1_money == 70) { - cutin "Ȳ¼ÒÄ«µå",4; // Minorous Card - mes "[Lhimetorra]"; - mes " Do you know the saying that says those who work like bulls become rich? Working hard is the best way. "; - next; - mes "[Lhimetorra]"; - mes " Just like a bull. "; - next; - } - if (.@card_1_money == 71) { - cutin "Ȳ¼ÒÄ«µå",4; // Minorous Card - mes "[Lhimetorra]"; - mes " Bulls only know how to work, but the bull itself has a lot to offer. Meat, leather, horn.. "; - next; - mes "[Lhimetorra]"; - mes " You, too, should look after yourself and not just work. You have many hidden values. "; - next; - } - if (.@card_1_money == 72) { - cutin "Ȳ¼ÒÄ«µå",4; // Minorous Card - mes "[Lhimetorra]"; - mes " Bulls continue to work even on gloomy days. Then they can gather a lot of things. "; - next; - mes "[Lhimetorra]"; - mes " Don't be picky about the days you work. You will be able to make more money. "; - next; - } - if (.@card_1_money == 73) { - cutin "Ȳ¼ÒÄ«µå",4; // Minorous Card - mes "[Lhimetorra]"; - mes " Bulls do not like working for money. They are disgruntled when others consider labor as money. "; - mes " Shouldn't you reconsider working against your will just for money? "; - next; - mes "[Lhimetorra]"; - mes " It is a serious problem. It is your life, so ponder about it young one. "; - } - mes "[Lhimetorra]"; - mes " Most people are curious about money. "; - mes " It is a very humanly and common curiosity. Cards are very stingy about fortunes regarding wealth. "; - next; - cutin "°¡À̾ƽºÄ«µå",255; // Giearth Card - mes "[Lhimetorra]"; - mes " Therefore, getting a fortune like this is considered being lucky. Use this fortune to prosper. "; - break; - //=================================================================Future === - case 3: - mes "[Lhimetorra]"; - mes " Future... the card that sees the future is beginning to speak...... Prepare yourself... "; - next; - set .@card_1_future,rand(1,67); - if (.@card_1_future == 1) { - cutin "°¡À̾ƽºÄ«µå",4; // Giearth Card - mes "[Lhimetorra]"; - mes " Youth is not eternal. At one point when you wake up, you realize you are already a middle-aged worker. "; - mes " Even reminiscing about the past over a cup of coffee can't bring back time. "; - next; - mes "[Lhimetorra]"; - mes " Treasure the present.. is what the card is saying. "; - next; - } - if (.@card_1_future == 2) { - cutin "°¡À̾ƽºÄ«µå",4; // Giearth Card - mes "[Lhimetorra]"; - mes " This fortune is foreshadowing that you will become a strong and healthy worker in the future. "; - mes " Not a normal worker, but one that has great strength and might.. "; - next; - mes "[Lhimetorra]"; - mes " You should prepare for your future. "; - next; - } - if (.@card_1_future == 3) { - cutin "°¡À̾ƽºÄ«µå",4; // Giearth Card - mes "[Lhimetorra]"; - mes " Smoking in a mine is an imprudent, life-threatening thing to do. You are wasting your precious life with that kind of behavior. "; - next; - mes "[Lhimetorra]"; - mes " Act with a little more wisdom for your future. "; - next; - } - if (.@card_1_future == 4) { - cutin "°¡À̾ƽºÄ«µå",4; // Giearth Card - mes "[Lhimetorra]"; - mes " You may be shoveling in the future. In a dark dark place, shoveling that requires great strength. You must be careful young one. "; - next; - mes "[Lhimetorra]"; - mes " This type of fortune is never wrong. "; - next; - } - if (.@card_1_future == 5) { - cutin "´õ½ºÆ¼³×½ºÄ«µå",4; // Dustiness Card - mes "[Lhimetorra]"; - mes " The moth is used when it is a caterpillar and ignored after it becomes a moth, by humans. "; - mes " Which is better? "; - next; - mes "[Lhimetorra]"; - mes " Check to see if there is an aspect of your life that is like the moth. "; - next; - } - if (.@card_1_future == 6) { - cutin "´õ½ºÆ¼³×½ºÄ«µå",4; // Dustiness Card - mes "[Lhimetorra]"; - mes " The moth flies around without worrying about the future. It is telling you to fly freely rather than getting anxious about the future.. "; - next; - mes "[Lhimetorra]"; - mes " This is the fortune from this card. "; - next; - } - if (.@card_1_future == 7) { - cutin "´õ½ºÆ¼³×½ºÄ«µå",4; // Dustiness Card - mes "[Lhimetorra]"; - mes " Dustiness' teeth are very strong. This means... "; - next; - mes "[Lhimetorra]"; - mes " To live the future with strong teeth?! "; - next; - } - if (.@card_1_future == 8) { - cutin "´õ½ºÆ¼³×½ºÄ«µå",4; // Dustiness Card - mes "[Lhimetorra]"; - mes " The moth says that this is not a time to think about wealth and prosperity. It says that someone important has appeared near you. "; - next; - mes "[Lhimetorra]"; - mes " Any ideas who that may be? "; - next; - } - if (.@card_1_future == 9) { - cutin "´õ½ºÆ¼³×½ºÄ«µå",4; // Dustiness Card - mes "[Lhimetorra]"; - mes " Dustiness symbolizes a hazy future. It is similar to your mind right now. It says it is obvious. "; - mes " It says that there is no set path in the future. Isn't a relief in a way? "; - next; - mes "[Lhimetorra]"; - mes " It is not good nor bad, so there is always room for new possibilities. "; - next; - } - if (.@card_1_future == 10) { - cutin "µå¶óÅ¥¶óÄ«µå",4; // Dracula Card - mes "[Lhimetorra]"; - mes " Sometime in your future, a future like Dracula awaits you. "; - next; - mes "[Lhimetorra]"; - mes " If you hope for that type of future, it is no problem, but you should be careful nonetheless. "; - next; - } - if (.@card_1_future == 11) { - cutin "µå¶óÅ¥¶óÄ«µå",4; // Dracula Card - mes "[Lhimetorra]"; - mes " If the condition is just right, vampires can live forever. But, when that perfect condition is disrupted, they meet a tragic end. "; - next; - mes "[Lhimetorra]"; - mes " This means that if you go after fame and eternal life, tragedy awaits you in the end. They are not the important things in life. "; - next; - } - if (.@card_1_future == 12) { - cutin "µå¶óÅ¥¶óÄ«µå",4; // Dracula Card - mes "[Lhimetorra]"; - mes " The Dracula says to be true to the present. Indeed, thinking and being true to the present is much more important than trying to figure out your future. "; - next; - mes "[Lhimetorra]"; - mes " Unfortunately, I agree with it young one. "; - next; - } - if (.@card_1_future == 13) { - cutin "µå·¹ÀÌÅ©Ä«µå",4; // Drake Card - mes "[Lhimetorra]"; - mes " Pirates do not have a future. That doesn't mean you do not have one. But.. you simply need to make more prudent decisions. "; - next; - mes "[Lhimetorra]"; - mes " How about changing your lifestyle? That's what this means. "; - next; - } - if (.@card_1_future == 14) { - cutin "µå·¹ÀÌÅ©Ä«µå",4; // Drake Card - mes "[Lhimetorra]"; - mes " In this world, being a pirate out in the rough seas is very dangerous. But, they do not regret their decisions. "; - next; - mes "[Lhimetorra]"; - mes " Because they find their meaning of life in the process. Young one, how about searching for the meaning of your life? "; - next; - } - if (.@card_1_future == 15) { - cutin "µå·¹ÀÌÅ©Ä«µå",4; // Drake Card - mes "[Lhimetorra]"; - mes " Pirates are remembered as pirates even after they pass away. A person's name is beyond the matter of life and death. "; - next; - mes "[Lhimetorra]"; - mes " You should live with that aspect in mind."; - next; - } - if (.@card_1_future == 16) { - cutin "¸¶¸®³ªÄ«µå",4; // Marina Card - mes "[Lhimetorra]"; - mes " The Marina does not think of its future.. But I can tell you one thing. Survival. The Marina only thinks about survival and life. "; - next; - mes "[Lhimetorra]"; - mes " You.. no, all of us should learn and do the same. "; - next; - } - if (.@card_1_future == 17) { - cutin "¸¶¸®³ªÄ«µå",4; // Marina Card - mes "[Lhimetorra]"; - mes " The Marina doesn't think of its future.. but I can tell you one thing. Freedom. The Marina swims freely. "; - next; - mes "[Lhimetorra]"; - mes " How about living like that, too? "; - next; - } - if (.@card_1_future == 18) { - cutin "¸¶¸®³ªÄ«µå",4; // Marina Card - mes "[Lhimetorra]"; - mes " Leave your future to the Marina. The Marina treasures its precious ocean. The sea will be of great significance in your future, too. "; - next; - mes "[Lhimetorra]"; - mes " A fisherman? Oceanographer? Pirate? Although I do not know which job it is... "; - next; - } - if (.@card_1_future == 19) { - cutin "¸¶¸®¿À³×Ʈīµå",4; // Marionette Card - mes "[Lhimetorra]"; - mes " A Marionette is a Marionette forever. Its past and future never changes. Its present is its future. Don't you think it is rather sad? "; - next; - mes "[Lhimetorra]"; - mes " But that could also be a good thing. This is the meaning of a Marionette. "; - next; - } - if (.@card_1_future == 20) { - cutin "¸¶¸®¿À³×Ʈīµå",4; // Marionette Card - mes "[Lhimetorra]"; - mes " A Marionette is restrained but it has hope that it will be freed one day. "; - next; - mes "[Lhimetorra]"; - mes " Very nice. This fortune signifies 'hope'. "; - next; - } - if (.@card_1_future == 21) { - cutin "¸¶¸®¿À³×Ʈīµå",4; // Marionette Card - mes "[Lhimetorra]"; - mes " The eyes of a Marionette symbolize 'challenge.' Challenge will mean a lot in your future. "; - next; - mes "[Lhimetorra]"; - mes " ...to the point where that challenge will change your life. "; - next; - } - if (.@card_1_future == 22) { - cutin "¸¶¸®¿À³×Ʈīµå",4; // Marionette Card - mes "[Lhimetorra]"; - mes " The Marionette believes the present is more important than the future. Basically, asking about the future is pointless. "; - next; - mes "[Lhimetorra]"; - mes " The Marionette devotes everything into the present. It suggests that type of attitude to you, too. "; - next; - } - if (.@card_1_future == 23) { - cutin "¸ÞµÎ»çÄ«µå",4; // Medusa Card - mes "[Lhimetorra]"; - mes " The Medusa symbolizes the absolute one who accepts everyone's challenge. Your future will be in a position that is challenged by many. "; - next; - mes "[Lhimetorra]"; - mes " It could be good and bad. It is also a very tiring position. "; - next; - } - if (.@card_1_future == 24) { - cutin "¸ÞµÎ»çÄ«µå",4; // Medusa Card - mes "[Lhimetorra]"; - mes " The Medusa symbolizes the absolute one who accepts everyone's challenge. Your future must be filled with challenges! "; - next; - mes "[Lhimetorra]"; - mes " Always challenge others! It is alright to fail, since challenge itself will become life. "; - next; - } - if (.@card_1_future == 25) { - cutin "¸ÞµÎ»çÄ«µå",4; // Medusa Card - mes "[Lhimetorra]"; - mes " The Medusa says that there will be great chaos in the future. Chaos... I'm not sure what type of chaos it means, but it is definitely something that has never happened before. "; - next; - mes "[Lhimetorra]"; - mes " There is something that you must fight.. and win, in your future. "; - next; - } - if (.@card_1_future == 26) { - cutin "¸ÞµÎ»çÄ«µå",4; // Medusa Card - mes "[Lhimetorra]"; - mes " The hair of the Medusa are sticking up. It is nervous about the big change that is going to happen. A change that even makes the scary Medusa worried. "; - next; - mes "[Lhimetorra]"; - mes " How about preparing yourself as well? "; - next; - } - if (.@card_1_future == 27) { - cutin "¹ÙÆ÷¸ÞƮīµå",4; // Baphomet Card - mes "[Lhimetorra]"; - mes " The Baphomet doesn't care about a human's future. They simply observe quietly. Hmm... It seems like it has nothing to say about your future as well... "; - next; - mes "[Lhimetorra]"; - mes " It has an unconcerned expression. "; - next; - } - if (.@card_1_future == 28) { - cutin "¹ÙÆ÷¸ÞƮīµå",4; // Baphomet Card - mes "[Lhimetorra]"; - mes " The scythe the Baphomet is holding signifies the strong will to conquer the future. "; - mes " What you need is not someone else's help or wisdom, but strong willpower. "; - next; - mes "[Lhimetorra]"; - mes " Once you have that type of willpower, the road to the future will be very broad and promising. "; - next; - } - if (.@card_1_future == 29) { - cutin "¹ÙÆ÷¸ÞƮīµå",4; // Baphomet Card - mes "[Lhimetorra]"; - mes " The Baphomet says that humans have no future. It says that their greed and selfishness shows no hope. "; - mes " The future will only open to those that go beyond human's greed. "; - next; - mes "[Lhimetorra]"; - mes " The card expects something like that from you. "; - next; - } - if (.@card_1_future == 30) { - cutin "¹ÙÆ÷¸ÞƮīµå",4; // Baphomet Card - mes "[Lhimetorra]"; - mes " The Baphomet is facing the future. No matter how much effort you put in, without an eye that looks towards the future, it is pointless. "; - mes " The Baphomet is telling you to look towards the future. "; - next; - mes "[Lhimetorra]"; - mes " To know your position right now and where to aim in the future. "; - next; - } - if (.@card_1_future == 31) { - cutin "»÷µå¸ÇÄ«µå",4; // Sandman Card - mes "[Lhimetorra]"; - mes " A sand's future is simply sand. Not a rock, nor mud. Some things just don't change young one. "; - next; - mes "[Lhimetorra]"; - mes " What the Sandman card is trying to say is to treasure your present self. "; - next; - } - if (.@card_1_future == 32) { - cutin "»÷µå¸ÇÄ«µå",4; // Sandman Card - mes "[Lhimetorra]"; - mes " A sand dune changes its shape even after a day. The Sandman card is speaking of a future with many changes. "; - next; - mes "[Lhimetorra]"; - mes " It says not to be too caught up with the present, because the future is always changing. "; - next; - } - if (.@card_1_future == 33) { - cutin "»÷µå¸ÇÄ«µå",4; // Sandman Card - mes "[Lhimetorra]"; - mes " You will have a son in the future. Hmm? What'd you say? No plans for a baby? "; - next; - mes "[Lhimetorra]"; - mes " That's why it is the future. Unexpected things happen every once in a while in the future. Lala~ "; - next; - } - if (.@card_1_future == 34) { - cutin "»÷µå¸ÇÄ«µå",4; // Sandman Card - mes "[Lhimetorra]"; - mes " There are rare and precious treasures in the sand. The Sandman says that in the vast sand of the world, a treasure, will be discovered. That treasure is you young one."; - next; - mes "[Lhimetorra]"; - mes " Hmm... Expecting a lot. Hehe~ "; - next; - } - if (.@card_1_future == 35) { - cutin "¼ÒÈñÄ«µå",4; // Sohee Card - mes "[Lhimetorra]"; - mes " Do you know what a Sohee thinks the most pitiful thing is? The future. It is because she was not able to live her future. "; - mes " That is why you cannot bring up the subject of future in front of Sohee. I'm very sorry I cannot help. "; - next; - mes "[Lhimetorra]"; - mes " But isn't it better than a curse. Just think of it as that and forget about it. "; - next; - } - if (.@card_1_future == 36) { - cutin "½ºÄÌ¿öÄ¿Ä«µå",4; // Skel Worker Card - mes "[Lhimetorra]"; - mes " Even in darkness you will shine for your goal. "; - mes " The Skeleton is encouraging you to not lose your light even in a life in dark and damp places. "; - next; - mes "[Lhimetorra]"; - mes " You must feel good, getting a word of encouragement from the Skeleton. Lala~ "; - next; - } - if (.@card_1_future == 37) { - cutin "½ºÄÌ¿öÄ¿Ä«µå",4; // Skel Worker Card - mes "[Lhimetorra]"; - mes " The story I heard from the skeleton goes like this. I am the king of the future. What in the world is that supposed to mean? "; - next; - mes "[Lhimetorra]"; - mes " I don't know. Maybe it is saying that a scrawny person will do something great in the future? "; - next; - } - if (.@card_1_future == 38) { - cutin "½ºÄÌ¿öÄ¿Ä«µå",4; // Skel Worker Card - mes "[Lhimetorra]"; - mes " If you want to do something great in the future, you must express your thankfulness to the Skeleton. "; - mes " Then the Skeleton will help you. How do you express your thankfulness? "; - next; - mes "[Lhimetorra]"; - mes " If you see someone that resembles the Skeleton, help them. "; - mes " Then the Skeleton will think that you helped itself and be happy. What a silly monster. Haha. "; - next; - } - if (.@card_1_future == 39) { - cutin "½ºÄÌ¿öÄ¿Ä«µå",4; // Skel Worker Card - mes "[Lhimetorra]"; - mes " The Skeleton has the ability to dig where it feels the future, rather than looking into it. "; - mes " It is digging in the east right now. How about it, won't you try going there? "; - next; - mes "[Lhimetorra]"; - mes " Who knows, the key to the future may be lying in the east. "; - next; - } - if (.@card_1_future == 40) { - cutin "½ºÄ̳ªÀÌƮīµå",4; // Khalitzburg Card - mes "[Lhimetorra]"; - mes " A knight's future leads to death. An honorable death on the battlefield. "; - mes " One cannot live as a knight without being proud of that type of future. "; - next; - mes "[Lhimetorra]"; - mes " The knight wants you to be proud of yourself. "; - mes " It says what you need is pride. Not honor, wealth, or love.. but pride. "; - next; - } - if (.@card_1_future == 41) { - cutin "½ºÄ̳ªÀÌƮīµå",4; // Khalitzburg Card - mes "[Lhimetorra]"; - mes " A knight commenting about a person's future is very rare. "; - mes " It says nothing for you in particular. Nothing ominous. "; - next; - mes "[Lhimetorra]"; - mes " It is a very good thing. Means a bright and clear future. Hohoho~ "; - next; - } - if (.@card_1_future == 42) { - cutin "½ºÄ̳ªÀÌƮīµå",4; // Khalitzburg Card - mes "[Lhimetorra]"; - mes " A knight commenting about a person's future is very rare. "; - mes " It says it will say one thing for you. Dark clouds can be seen beyond the clear skies. "; - next; - mes "[Lhimetorra]"; - mes " You must find out for yourself what those clouds mean. Anyways, you must be careful. "; - next; - } - if (.@card_1_future == 43) { - cutin "½ºÄ̳ªÀÌƮīµå",4; // Khalitzburg Card - mes "[Lhimetorra]"; - mes " It is necessary to reflect upon the past and present in order to look into the future. This card says to look carefully into your past. "; - next; - mes "[Lhimetorra]"; - mes " ..with the attitude of reflecting upon yourself. What do you think? Don't you think you lived too much looking into the future? "; - next; - } - if (.@card_1_future == 44) { - cutin "¾Æ´©ºñ½ºÄ«µå",4; // Anubis Card - mes "[Lhimetorra]"; - mes " What does the god of death want to say about the future? It is definitely an ominous sign. "; - next; - mes "[Lhimetorra]"; - mes " It is trying to warn something about the future. Be careful. "; - next; - } - if (.@card_1_future == 45) { - cutin "¾Æ´©ºñ½ºÄ«µå",4; // Anubis Card - mes "[Lhimetorra]"; - mes " The Anubis likes comedy despite people's expectations. It looks forward to comedy. Comedy must be important in the future. "; - next; - mes "[Lhimetorra]"; - mes " In your case, it would be wise to grow your sense of humor. "; - next; - } - if (.@card_1_future == 46) { - cutin "¾Æ´©ºñ½ºÄ«µå",4; // Anubis Card - mes "[Lhimetorra]"; - mes " The Anubis is the god of death, but it expresses more interest in the future than death. "; - next; - mes "[Lhimetorra]"; - mes " Even the Anubis doesn't think about death, so why should you be thinking about it? Expect a good future young one. "; - next; - } - if (.@card_1_future == 47) { - cutin "¾Æ´©ºñ½ºÄ«µå",4; // Anubis Card - mes "[Lhimetorra]"; - mes " The Anubis says it has no interest in you. It is a good sign. "; - next; - mes "[Lhimetorra]"; - mes " What can be better than being ignored by the god of death? "; - next; - } - if (.@card_1_future == 48) { - cutin "¿ÀÅ©·ÎµåÄ«µå",4; // Orc Lord Card - mes "[Lhimetorra]"; - mes " The Orc Lord says that dairy farming will develop in the future. Why don't you invest in it as well? "; - next; - mes "[Lhimetorra]"; - mes " A business looking into the future? "; - next; - } - if (.@card_1_future == 49) { - cutin "¿ÀÅ©·ÎµåÄ«µå",4; // Orc Lord Card - mes "[Lhimetorra]"; - mes " The Orc Lord says you need great strength in the future. Strength that is three, four times greater than now. "; - next; - mes "[Lhimetorra]"; - mes " Make yourself stronger in any form. In the future, you will need it. "; - next; - } - if (.@card_1_future == 50) { - cutin "¿ÀÅ©·ÎµåÄ«µå",4; // Orc Lord Card - mes "[Lhimetorra]"; - mes " The Orc Lord says that love for your companions will become great strength in the future. "; - mes " Your strength is not enough. "; - next; - mes "[Lhimetorra]"; - mes " To become a Lord, you will need colleagues. You should take the Orc Lord's advice! "; - next; - } - if (.@card_1_future == 51) { - cutin "¿ÀÅ©·ÎµåÄ«µå",4; // Orc Lord Card - mes "[Lhimetorra]"; - mes " The Orc Lord is expressing opposition in being too curious about the future. "; - mes " Pay a little more attention to the present. "; - next; - mes "[Lhimetorra]"; - mes " Respect his opinion young one. You have nothing to lose. "; - next; - } - if (.@card_1_future == 52) { - cutin "ÀèÄ«µå",4; // Jakk Card - mes "[Lhimetorra]"; - mes " Jack says something interesting will happen in the future. According to him, the future will be more fun than the present. "; - next; - mes "[Lhimetorra]"; - mes " Are you looking forward to it? "; - next; - } - if (.@card_1_future == 53) { - cutin "ÀèÄ«µå",4; // Jakk Card - mes "[Lhimetorra]"; - mes " Jack says, in order to prepare for the future, a delightful preparation is necessary. "; - mes " Delightful preparation? I don't understand.. I suppose I am too old. Maybe young ones get it.. "; - next; - mes "[Lhimetorra]"; - mes " What do you think? Any assumptions? "; - next; - } - if (.@card_1_future == 54) { - cutin "ÀèÄ«µå",4; // Jakk Card - mes "[Lhimetorra]"; - mes " Jack is jealous because a splendid person is headed your way in the future. "; - mes " I wonder what type of person it is to make that Jack jealous! "; - next; - mes "[Lhimetorra]"; - mes " One thing for sure is that you will be very happy! Congratulations young one! "; - next; - } - if (.@card_1_future == 56) { - cutin "ÀèÄ«µå",4; // Jakk Card - mes "[Lhimetorra]"; - mes " Jack says you may be frustrated in the future. "; - mes " He says to overcome the frustration, it is necessary to think of happy thoughts. "; - next; - mes "[Lhimetorra]"; - mes " Meaning your future will become a battle between happiness and frustration.. "; - next; - } - if (.@card_1_future == 57) { - cutin "Á¶Ä¿Ä«µå",4; // Joker Card - mes "[Lhimetorra]"; - mes " The Joker is trying to trick you. This card has all different types of ominous fortunes. "; - mes " He wants to enjoy watching you tremble with anxiety. "; - next; - mes "[Lhimetorra]"; - mes " Sadness, failure, darkness, loneliness.. you may feel all of these emotions, but they are not fatal. Don't worry. "; - next; - } - if (.@card_1_future == 58) { - cutin "Á¶Ä¿Ä«µå",4; // Joker Card - mes "[Lhimetorra]"; - mes " Jokers don't just appear and go away. They come back in the future. "; - mes " They will seduce you numerous times. "; - next; - mes "[Lhimetorra]"; - mes " So train yourself not to be tempted. "; - mes " Or else you will face frustration or commit a blunder. "; - next; - } - if (.@card_1_future == 59) { - cutin "Á¶Ä¿Ä«µå",4; // Joker Card - mes "[Lhimetorra]"; - mes " Do you see the thing that looks like a leaf flying around the Joker? That is the spade mark. "; - mes " Spades means death. Jokers leave those kinds of marks on purpose. "; - next; - mes "[Lhimetorra]"; - mes " Don't get disturbed by the mark of death. It's merely a Joker's joke. "; - next; - } - if (.@card_1_future == 60) { - cutin "Á¶Ä¿Ä«µå",4; // Joker Card - mes "[Lhimetorra]"; - mes " Joker offers a nice insurance and says to prepare for the future, but most of it is a waste of time. "; - next; - mes "[Lhimetorra]"; - mes " Don't prepare for the future carelessly. A loose measure is worse than a prepared adventure. "; - next; - } - if (.@card_1_future == 61) { - cutin "È£µåÄ«µå",4; // Hode Card - mes "[Lhimetorra]"; - mes " Hodes do not know about tomorrow. But though they are quiet, they endanger other living things. "; - mes " Effort into oneself puts great power into the mere existence of one. "; - next; - mes "[Lhimetorra]"; - mes " Don't forget that you must think about yorsrelf the most. "; - next; - } - if (.@card_1_future == 62) { - cutin "È£µåÄ«µå",4; // Hode Card - mes "[Lhimetorra]"; - mes " Hodes do not know about tomorrow, but they still know about death. "; - mes " Even though you may be honest and simple, in a time of a crisis, you must be alert. "; - next; - mes "[Lhimetorra]"; - mes " Or else you will really be a simple and honest fool. That may be troublesome. "; - next; - } - if (.@card_1_future == 62) { - cutin "È£µåÄ«µå",4; // Hode Card - mes "[Lhimetorra]"; - mes " Hodes do not ponder about life, but their will to live is very strong."; - mes " You can gain a lot simply through the will to hold on to life. "; - next; - mes "[Lhimetorra]"; - mes " Be thankful that you are alive. Thankfullness itself should help greatly. "; - next; - } - if (.@card_1_future == 63) { - cutin "È£µåÄ«µå",4; // Hode Card - mes "[Lhimetorra]"; - mes " Hodes are afraid of crises. You should try not to be afraid of crises either. "; - next; - mes "[Lhimetorra]"; - mes " Don't think of them too much. A crisis is simply a crisis. "; - next; - } - if (.@card_1_future == 64) { - cutin "Ȳ¼ÒÄ«µå",4; // Minorous Card - mes "[Lhimetorra]"; - mes " Before, bulls used to be thought of as foolishly honest workers, but these days bulls are great strong fighters. "; - next; - mes "[Lhimetorra]"; - mes " Finding different sides of oneself is the way to improve. Study about yourself. "; - next; - } - if (.@card_1_future == 65) { - cutin "Ȳ¼ÒÄ«µå",4; // Minorous Card - mes "[Lhimetorra]"; - mes " Do bulls leave leather when they pass away? Or was it the tiger? "; - mes " Anyways, he is jealous of the humans that leave their name in history. "; - next; - mes "[Lhimetorra]"; - mes " If you don't leave your name, he may bear hatred against you for wasting your life. "; - mes " So, to not be cursed, make an effort to leave your name in history. "; - next; - } - if (.@card_1_future == 66) { - cutin "Ȳ¼ÒÄ«µå",4; // Minorous Card - mes "[Lhimetorra]"; - mes " It might seem funny that a bull will look into the future, but the bull is looking into your future right now. "; - mes " He says your future is mixed with storms and fall weather. "; - next; - mes "[Lhimetorra]"; - mes " It may be difficult if you are caught up with one situation. In good times, prepare for the bad, and in bad times look forward to good luck. "; - next; - } - if (.@card_1_future == 67) { - cutin "È£µåÄ«µå",4; // Hode Card - mes "[Lhimetorra]"; - mes " The bull thinks of the happiness awaiting in the future, but it doesn't like reduced efficiency because of that happiness. "; - next; - mes "[Lhimetorra]"; - mes " Even though happiness may be on its way, don't let it affect your work right now. "; - mes " This is the bull's thought and your fortune. "; - next; - } - mes "[Lhimetorra]"; - mes " Speaking of the future is as dangerous act. "; - mes " Humans may face disaster if speaking of the future carelessly. That's why we ask cards about the future. "; - next; - cutin "°¡À̾ƽºÄ«µå",255; // Giearth Card - mes "[Lhimetorra]"; - mes " Your fortune is a rather good one. There are some in this world who get more horrible fortunes. "; - mes " Use this fortune as a support in your life. Ok? "; - break; - //================================================================= Warning === - case 4: - mes "[Lhimetorra]"; - mes " Someone that knows of the dangers you do not, will warn you in the form of cards... so listen carefully-! "; - next; - set .@card_1_warning,rand(1,70); - if (.@card_1_warning == 1) { - cutin "°¡À̾ƽºÄ«µå",4; // Giearth Card - mes "[Lhimetorra]"; - mes " Do you see the forbidden mark on its shoulder? It is telling you to not do something. "; - next; - mes "[Lhimetorra]"; - mes " If you are thinking of something right now, stop your movement. Or else disaster may be headed your way. "; - next; - } - if (.@card_1_warning == 2) { - cutin "°¡À̾ƽºÄ«µå",4; // Giearth Card - mes "[Lhimetorra]"; - mes " Someone is after you. The person is very strong like the picture. They might be holding grudges against you. "; - next; - mes "[Lhimetorra]"; - mes " Look around you. Of course, look for anyone you might have spited.. "; - next; - } - if (.@card_1_warning == 3) { - cutin "°¡À̾ƽºÄ«µå",4; // Giearth Card - mes "[Lhimetorra]"; - mes " It is saying to be careful not to burn your mustache with a cigarette. When you do something, something is always at risk.. It is probably warning about that. "; - next; - } - if (.@card_1_warning == 4) { - cutin "°¡À̾ƽºÄ«µå",4; // Giearth Card - mes "[Lhimetorra]"; - mes " 'Be careful of shoveling'.. You might get hit by a shovel. Should you be careful around a construction site? "; - next; - } - if (.@card_1_warning == 5) { - cutin "´õ½ºÆ¼³×½ºÄ«µå",4; // Dustiness Card - mes "[Lhimetorra]"; - mes " The sound of a moth's wings fluttering means chaos. A chaotic event may occur around you. "; - next; - mes "[Lhimetorra]"; - mes " The moth is warning you of this. You should be careful. "; - next; - } - if (.@card_1_warning == 6) { - cutin "´õ½ºÆ¼³×½ºÄ«µå",4; // Dustiness Card - mes "[Lhimetorra]"; - mes " Be aware of the wings. Wings symbolize flight, adventure, and fickleness of a player. "; - next; - mes "[Lhimetorra]"; - mes " If a word strikes you, be wary of that. Maybe.. a player? "; - next; - } - if (.@card_1_warning == 7) { - cutin "´õ½ºÆ¼³×½ºÄ«µå",4; // Dustiness Card - mes "[Lhimetorra]"; - mes " The teeth of Dustiness are very strong. This means.. Someone may attempt to bite you with their teeth?! "; - next; - } - if (.@card_1_warning == 8) { - cutin "´õ½ºÆ¼³×½ºÄ«µå",4; // Dustiness Card - mes "[Lhimetorra]"; - mes " The moth's warning: 'Dangerous!'. A very simple, yet obvious warning. "; - next; - } - if (.@card_1_warning == 9) { - cutin "µå¶óÅ¥¶óÄ«µå",4; // Dracula Card - mes "[Lhimetorra]"; - mes " Dracula says, 'Be careful in the streets at night.' "; - next; - } - if (.@card_1_warning == 10) { - cutin "µå¶óÅ¥¶óÄ«µå",4; // Dracula Card - mes "[Lhimetorra]"; - mes " Dracula says, 'Don't be too picky.' "; - next; - } - if (.@card_1_warning == 11) { - cutin "µå¶óÅ¥¶óÄ«µå",4; // Dracula Card - mes "[Lhimetorra]"; - mes " Dracula says, 'Brush your teeth 3 times a day.' Make sure you brush your teeth! "; - next; - } - if (.@card_1_warning == 12) { - cutin "µå¶óÅ¥¶óÄ«µå",4; // Dracula Card - mes "[Lhimetorra]"; - mes " Dracula says, 'Study the important points first.' Cramming will not work! "; - next; - } - if (.@card_1_warning == 13) { - cutin "µå·¹ÀÌÅ©Ä«µå",4; // Drake Card - mes "[Lhimetorra]"; - mes " If you see the flag of a pirate, either run or do as they say. Pirates do not give more than one warning. "; - next; - mes "[Lhimetorra]"; - mes " It is the same in life. "; - next; - } - if (.@card_1_warning == 14) { - cutin "µå·¹ÀÌÅ©Ä«µå",4; // Drake Card - mes "[Lhimetorra]"; - mes " Pirates give warnings about many things. But right now, this card is speaking of betrayal. "; - next; - mes "[Lhimetorra]"; - mes " To pirates, betrayal means tragic death. Be careful of betrayals. "; - next; - } - if (.@card_1_warning == 15) { - cutin "µå·¹ÀÌÅ©Ä«µå",4; // Drake Card - mes "[Lhimetorra]"; - mes " The pirate is warning you of your beauty. Don't show off your beauty too much. Pirates are very jealous of appearance, as well. "; - next; - } - if (.@card_1_warning == 16) { - cutin "¸¶¸®³ªÄ«µå",4; // Marina Card - mes "[Lhimetorra]"; - mes " The Marina is warning of a hot stinging poison. Be cautious of poison. "; - next; - } - if (.@card_1_warning == 17) { - cutin "¸¶¸®³ªÄ«µå",4; // Marina Card - mes "[Lhimetorra]"; - mes " The Marina is warning about a lazy lifestyle. It says such a lifestyle will lead to something like itself. "; - next; - } - if (.@card_1_warning == 18) { - cutin "¸¶¸®³ªÄ«µå",4; // Marina Card - mes "[Lhimetorra]"; - mes " The Marina doesn't really think about anything else.. But it will say one thing. Food. The Marina loves food. "; - next; - mes "[Lhimetorra]"; - mes " Eating is happiness. Same goes for humans as well. Value food and enjoy eating. "; - next; - } - if (.@card_1_warning == 19) { - cutin "¸¶¸®³ªÄ«µå",4; // Marina Card - mes "[Lhimetorra]"; - mes " The Marina is warning about a big belly. It's not happy because it resembles itself.. How about losing some weight? "; - next; - } - if (.@card_1_warning == 20) { - cutin "¸¶¸®¿À³×Ʈīµå",4; // Marionette Card - mes "[Lhimetorra]"; - mes " The Marionette says that you must not rely on violence and to use a different method. "; - mes " I'm not quite sure, but it may become an important word of advice to you..? "; - next; - } - if (.@card_1_warning == 21) { - cutin "¸¶¸®¿À³×Ʈīµå",4; // Marionette Card - mes "[Lhimetorra]"; - mes " The Marionette is warning about ominous activities. If you did something recently, you should settle it soon. "; - next; - mes "[Lhimetorra]"; - mes " A bad result may come your way. "; - next; - } - if (.@card_1_warning == 22) { - cutin "¸¶¸®¿À³×Ʈīµå",4; // Marionette Card - mes "[Lhimetorra]"; - mes " The Marionette's eyes are warning about your falsehood. Lies, deceit, fake calculations and actions.. The Marionette is warning about all of them. "; - next; - mes "[Lhimetorra]"; - mes " This is all for you young one. Therefore, follow this fortune and rid yourself of falsehood. "; - next; - } - if (.@card_1_warning == 23) { - cutin "¸¶¸®¿À³×Ʈīµå",4; // Marionette Card - mes "[Lhimetorra]"; - mes " The Marionette is emphasizing a proper diet. Don't rely too much on meat. "; - next; - mes "[Lhimetorra]"; - mes " Take the Marionette's advice. She never says anything wrong. Hoho... "; - next; - } - if (.@card_1_warning == 24) { - cutin "¸ÞµÎ»çÄ«µå",4; // Medusa Card - mes "[Lhimetorra]"; - mes " The Medusa punishes those who challenge it without warning. Unexpected punishment. "; - next; - mes "[Lhimetorra]"; - mes " That is a Medusa. You should be careful. The warning ended a long time ago. "; - next; - } - if (.@card_1_warning == 25) { - cutin "¸ÞµÎ»çÄ«µå",4; // Medusa Card - mes "[Lhimetorra]"; - mes " The Medusa is warning you to be nice to others, or else it will turn you into stone."; - next; - mes "[Lhimetorra]"; - mes " What a rightful Medusa. Hmm... "; - next; - } - if (.@card_1_warning == 26) { - cutin "¸ÞµÎ»çÄ«µå",4; // Medusa Card - mes "[Lhimetorra]"; - mes " The Medusa is warning you to return anything you borrow on time. "; - mes " Saying it will not forgive those who use other's things like a black hole.. borrowing and never returning "; - next; - mes "[Lhimetorra]"; - mes " Are you sure you returned everything you have borrowed? Better take care of everything before you get punished. "; - next; - } - if (.@card_1_warning == 27) { - cutin "¸ÞµÎ»çÄ«µå",4; // Medusa Card - mes "[Lhimetorra]"; - mes " The Medusa is warning about a person near you. Of their existence.. and the relationship, "; - next; - mes "[Lhimetorra]"; - mes " The Medusa's warning is very stern. Take a close look around you. "; - next; - } - if (.@card_1_warning == 28) { - cutin "¹ÙÆ÷¸ÞƮīµå",4; // Baphomet Card - mes "[Lhimetorra]"; - mes " The Baphomet says to beware when intervening with others' issues. "; - next; - mes "[Lhimetorra]"; - mes " He is very angry about intruding in others' spaces. Accept the Baphomet's warning. "; - next; - } - if (.@card_1_warning == 29) { - cutin "¹ÙÆ÷¸ÞƮīµå",4; // Baphomet Card - mes "[Lhimetorra]"; - mes " The Baphomet is warning about arrogance. Even a strong and wise warrior must show respect to a Baphomet, "; - mes " Arrogance takes away that respect. The Baphomet hates that type of arrogance. "; - next; - mes "[Lhimetorra]"; - mes " Maybe it means he sees that type of arrogance in you? Since the Baphomet is warning you.. "; - next; - } - if (.@card_1_warning == 30) { - cutin "¹ÙÆ÷¸ÞƮīµå",4; // Baphomet Card - mes "[Lhimetorra]"; - mes " The Baphomet is warning about the laziness that stops one from sharpening the scythe. "; - mes " That laziness will cause you to lose your life in an instant. "; - next; - mes "[Lhimetorra]"; - mes " Laziness is more dangerous than the monster in front of you. Don't forget about this warning. "; - next; - } - if (.@card_1_warning == 31) { - cutin "¹ÙÆ÷¸ÞƮīµå",4; // Baphomet Card - mes "[Lhimetorra]"; - mes " The Baphomet says it has nothing to say. I wonder why? Isn't it a very good sign?!! "; - next; - } - if (.@card_1_warning == 32) { - cutin "»÷µå¸ÇÄ«µå",4; // Sandman Card - mes "[Lhimetorra]"; - mes " Sand is an instant cure of athlete's foot. He says to beware of athlete's foot and that he hates those rubbing their infected feet into his body. "; - next; - mes "[Lhimetorra]"; - mes " A Sandman's warning is very stern. Wash your feet regularly, young one. "; - next; - } - if (.@card_1_warning == 33) { - cutin "»÷µå¸ÇÄ«µå",4; // Sandman Card - mes "[Lhimetorra]"; - mes " A chicken puts sand in its mouth to aid its insufficient digestion system. "; - mes " The Sandman says to watch out before you become like a chicken. "; - next; - mes "[Lhimetorra]"; - mes " And don't eat too much spicy and salty food, alcohol, etc. What a thoughtful Sandman. "; - next; - } - if (.@card_1_warning == 34) { - cutin "»÷µå¸ÇÄ«µå",4; // Sandman Card - mes "[Lhimetorra]"; - mes " The Sandman says over-sleepers will be punished by society! "; - next; - mes "[Lhimetorra]"; - mes " Oooh, a stern warning about the future! Young one, bear this in mind. "; - next; - } - if (.@card_1_warning == 35) { - cutin "»÷µå¸ÇÄ«µå",4; // Sandman Card - mes "[Lhimetorra]"; - mes " One warning from the Sandman, respect your parents. "; - next; - mes "[Lhimetorra]"; - mes " If you don't, you will end up like him. Listen to the Sandman. "; - next; - } - if (.@card_1_warning == 36) { - cutin "¼ÒÈñÄ«µå",4; // Sohee Card - mes "[Lhimetorra]"; - mes " Sohee dislikes stinky feet. Don't forget to wash your feet. "; - next; - mes "[Lhimetorra]"; - mes " Bah, don't laugh about it! This is a solemn warning. "; - next; - } - if (.@card_1_warning == 37) { - cutin "¼ÒÈñÄ«µå",4; // Sohee Card - mes "[Lhimetorra]"; - mes " Sohee stands on the tip of her toes. It is because her toes are very strong. "; - mes " No matter what a person does, physical strength is the most important. Exercise and get stronger. "; - next; - mes "[Lhimetorra]"; - mes " If you sit around all day, even the things that were going to work won't. Got it? Exercise, exercise! "; - next; - } - if (.@card_1_warning == 38) { - cutin "¼ÒÈñÄ«µå",4; // Sohee Card - mes "[Lhimetorra]"; - mes " Look at Sohee's hairstyle. Isn't it splendid. "; - mes " Sohee likes to take care of her appearance. If you don't, Sohee will get mad at you. "; - next; - mes "[Lhimetorra]"; - mes " Making yourself look presentable is just as important as keeping a good heart. "; - mes " Take care of your appearance. And get that pepper out from between your teeth! "; - next; - } - if (.@card_1_warning == 39) { - cutin "¼ÒÈñÄ«µå",4; // Sohee Card - mes "[Lhimetorra]"; - mes " Once, Sohee didn't get her change back when she asked a baby ghost to run an errand. "; - mes " No can do! Always return the change. "; - next; - mes "[Lhimetorra]"; - mes " No matter how little the amount, you must not just keep it. Sohee greatly dislikes it. "; - next; - } - if (.@card_1_warning == 40) { - cutin "½ºÄÌ¿öÄ¿Ä«µå",4; // Skel Worker Card - mes "[Lhimetorra]"; - mes " Even though it is a skeleton with only bones, it has all the safety gear needed. "; - next; - mes "[Lhimetorra]"; - mes " What the skeleton wants to say is, be aware of 'safety'. Being ignorant about safety is dangerous. "; - next; - } - if (.@card_1_warning == 41) { - cutin "½ºÄÌ¿öÄ¿Ä«µå",4; // Skel Worker Card - mes "[Lhimetorra]"; - mes " The skeleton card has a gray tone. If you read the grey, you can see the darkness. "; - mes " It seems like darkness is on its way. Be careful, this darkness isn't ordinary. "; - next; - mes "[Lhimetorra]"; - mes " Hmm.. would you like an amulet? "; - next; - } - if (.@card_1_warning == 42) { - cutin "½ºÄÌ¿öÄ¿Ä«µå",4; // Skel Worker Card - mes "[Lhimetorra]"; - mes " The skeleton is warning you about an irregular eating pattern. "; - mes " It says it became like that because of a bad eating habit. "; - next; - mes "[Lhimetorra]"; - mes " Eat the right food at the right time. That's the only way your body will survive. You can't afford to become like a skeleton. "; - next; - } - if (.@card_1_warning == 43) { - cutin "½ºÄÌ¿öÄ¿Ä«µå",4; // Skel Worker Card - mes "[Lhimetorra]"; - mes " The skeleton's pickaxe is very strong. Even though its body seems weak, with the right tools, it can do great things. "; - next; - mes "[Lhimetorra]"; - mes " So don't blame your body right now and go search for the right tools. Then you will have a good result. "; - next; - } - if (.@card_1_warning == 44) { - cutin "½ºÄ̳ªÀÌƮīµå",4; // Khalitzburg Card - mes "[Lhimetorra]"; - mes " The knight is warning you of reckless driving. Do you ride a Pecopeco by any chance? "; - mes " Anyhow, you should avoid reckless driving.. If a knight is saying that, it is a big problem. "; - next; - } - if (.@card_1_warning == 45) { - cutin "½ºÄ̳ªÀÌƮīµå",4; // Khalitzburg Card - mes "[Lhimetorra]"; - mes " The knight is warning you of cruelty. It could be yours or that of someone around you. "; - next; - mes "[Lhimetorra]"; - mes " Anyhow, cruelty will harm you for sure. Be cautious of it. "; - next; - } - if (.@card_1_warning == 46) { - cutin "½ºÄ̳ªÀÌƮīµå",4; // Khalitzburg Card - mes "[Lhimetorra]"; - mes " The misfortune shown in the knight card is hastiness. That is also what takes away a knight's life, too. "; - next; - mes "[Lhimetorra]"; - mes " This knight is warning you from the bottom of his heart, "; - mes " so that you don't repeat his mistake. Be ware of hastiness. "; - next; - } - if (.@card_1_warning == 47) { - cutin "½ºÄ̳ªÀÌƮīµå",4; // Khalitzburg Card - mes "[Lhimetorra]"; - mes " This knight is warning you of loneliness. He doesn't have a person to help his horse, "; - mes " nor a lover awaiting him, so loneliness hits him in the heart. "; - next; - mes "[Lhimetorra]"; - mes " Loneliness is not simply sadness. It is a formless devil eating your life. Stay away from loneliness. "; - next; - } - if (.@card_1_warning == 48) { - cutin "¾Æ´©ºñ½ºÄ«µå",4; // Anubis Card - mes "[Lhimetorra]"; - mes " The warning of the god of death is death itself. "; - next; - mes "[Lhimetorra]"; - mes " Be cautious of death.. death that can be your turn, or maybe someone else. "; - next; - } - if (.@card_1_warning == 49) { - cutin "¾Æ´©ºñ½ºÄ«µå",4; // Anubis Card - mes "[Lhimetorra]"; - mes " The Anubis says to be careful of darkness. In darkness, death lingers in the dark. "; - next; - mes "[Lhimetorra]"; - mes " Take the Anubis's advice and avoid the dark. That is the wisest choice. "; - next; - } - if (.@card_1_warning == 50) { - cutin "¾Æ´©ºñ½ºÄ«µå",4; // Anubis Card - mes "[Lhimetorra]"; - mes " The Anubis doesn't like foul language. You don't have a foul mouth, do you? "; - mes " Watch your mouth. The Anubis is after those that say foul language."; - next; - mes "[Lhimetorra]"; - mes " Humans have a problem with their mouths. Mmm~ Agh. Me, too?! "; - next; - } - if (.@card_1_warning == 51) { - cutin "¾Æ´©ºñ½ºÄ«µå",4; // Anubis Card - mes "[Lhimetorra]"; - mes " The Anubis is warning you of hatred. Hatred only brings upon death. "; - mes " The Anubis must not like being busy these days. "; - next; - mes "[Lhimetorra]"; - mes " Seeing that he is warning about hatred. Don't you think it's a good idea to avoid his eyes at a time like this? "; - next; - } - if (.@card_1_warning == 52) { - cutin "¿ÀÅ©·ÎµåÄ«µå",4; // Orc Lord Card - mes "[Lhimetorra]"; - mes " The Orc Lord is warning you of self-righteousness. It is the most dangerous noxious bug that will feed on you. "; - next; - mes "[Lhimetorra]"; - mes " Learn how to accept others' opinions. How about starting from accepting the Orc Lord's? "; - next; - } - if (.@card_1_warning == 53) { - cutin "¿ÀÅ©·ÎµåÄ«µå",4; // Orc Lord Card - mes "[Lhimetorra]"; - mes " The Orc Lord is warning you about freedom. Isn't freedom a good thing? "; - mes " Not always! Too much freedom can lead to self-indulgence! "; - next; - mes "[Lhimetorra]"; - mes " He knows about the danger of freedom as a lord. "; - next; - } - if (.@card_1_warning == 54) { - cutin "¿ÀÅ©·ÎµåÄ«µå",4; // Orc Lord Card - mes "[Lhimetorra]"; - mes " The Orc Lord warning you of the opposite sex. Yes. They are poisonous. Keep your distance. "; - next; - mes "[Lhimetorra]"; - mes " Especially a young one like you... You are too close to one. Cough. "; - next; - } - if (.@card_1_warning == 55) { - cutin "¿ÀÅ©·ÎµåÄ«µå",4; // Orc Lord Card - mes "[Lhimetorra]"; - mes " The Orc Lord is warning about destruction. He knows destruction very well because he is a master of destruction. "; - next; - mes "[Lhimetorra]"; - mes " That's why he knows about the danger and misfortune destruction brings. Don't destroy thoughtlessly. You will end up destroying yourself as well. "; - next; - } - if (.@card_1_warning == 56) { - cutin "ÀèÄ«µå",4; // Jakk Card - mes "[Lhimetorra]"; - mes " Jack is warning you of lame jokes. When he finds one saying them, he tends to hit them with his stick. "; - next; - mes "[Lhimetorra]"; - mes " If you don't want to be hit, stop your lame jokes! "; - next; - } - if (.@card_1_warning == 57) { - cutin "ÀèÄ«µå",4; // Jakk Card - mes "[Lhimetorra]"; - mes " Jack is warning you about others' anger and that anger takes away happiness and kills a joke. "; - next; - mes "[Lhimetorra]"; - mes " Anger only exhausts you. Keep your distance from anger and befriend jokes. Jack's word. "; - next; - } - if (.@card_1_warning == 58) { - cutin "ÀèÄ«µå",4; // Jakk Card - mes "[Lhimetorra]"; - mes " It seems like Jack is worried about excessive jokes. "; - mes " Jokes are fun, but too much will turn you into a ghost like him. "; - next; - mes "[Lhimetorra]"; - mes " Be careful. When Jack speaks like this, he playfulness is gone. "; - next; - } - if (.@card_1_warning == 59) { - cutin "Á¶Ä¿Ä«µå",4; // Joker Card - mes "[Lhimetorra]"; - mes " Jokers enjoy giving opposite warnings. He says to enjoy sleeping in."; - next; - mes "[Lhimetorra]"; - mes " I think you should wake up early. "; - next; - } - if (.@card_1_warning == 60) { - cutin "Á¶Ä¿Ä«µå",4; // Joker Card - mes "[Lhimetorra]"; - mes " Jokers enjoy giving opposite warnings. He says to enjoy a midnight snack. "; - next; - mes "[Lhimetorra]"; - mes " Don't eat anything at night. Your stomach will hurt. "; - next; - } - if (.@card_1_warning == 61) { - cutin "Á¶Ä¿Ä«µå",4; // Joker Card - mes "[Lhimetorra]"; - mes " Jokers enjoy giving opposite warnings. "; - mes " He says if someone has something you want, make it yours. "; - next; - mes "[Lhimetorra]"; - mes " Need I say more? That's a dangerous thought!! "; - next; - } - if (.@card_1_warning == 62) { - cutin "Á¶Ä¿Ä«µå",4; // Joker Card - mes "[Lhimetorra]"; - mes " Joker enjoys giving opposite warnings. "; - mes " What he is telling you is to not fear death. "; - next; - mes "[Lhimetorra]"; - mes " If a Joker is saying this, be careful. There is no cure for thoughtless fools. "; - next; - } - if (.@card_1_warning == 63) { - cutin "È£µåÄ«µå",4; // Hode Card - mes "[Lhimetorra]"; - mes " The Hode can forgive others, but not those who hurt it. "; - mes " You should also only not forgive those who hurt you. "; - next; - mes "[Lhimetorra]"; - mes " A small territory will ensure great happiness. "; - next; - } - if (.@card_1_warning == 64) { - cutin "È£µåÄ«µå",4; // Hode Card - mes "[Lhimetorra]"; - mes " The Hode is warning you of voracious eating that made it sluggish. "; - mes " Eating is good, but the wild is a dangerous place. Leave your stomach partially empty. "; - next; - mes "[Lhimetorra]"; - mes " So you can quickly respond to crises. "; - next; - } - if (.@card_1_warning == 65) { - cutin "È£µåÄ«µå",4; // Hode Card - mes "[Lhimetorra]"; - mes " The Hode is warning you of voracious eating that made it sluggish. "; - mes " Eating is good, but the wild is a dangerous place. Leave your stomach partially empty."; - next; - mes "[Lhimetorra]"; - mes " So you can quickly respond to crises. "; - next; - } - if (.@card_1_warning == 66) { - cutin "È£µåÄ«µå",4; // Hode Card - mes "[Lhimetorra]"; - mes " If you are to the point of being warned by a Hode.. you must be one considerable person. "; - next; - mes "[Lhimetorra]"; - mes " It says to do better.. I have no idea what it means. "; - next; - } - if (.@card_1_warning == 67) { - cutin "È£µåÄ«µå",4; // Hode Card - mes "[Lhimetorra]"; - mes " The Bull warns of corruption. A lazy hedonist that is not diligent. "; - mes " He believes that is like a cancer cell that can't be removed. "; - next; - mes "[Lhimetorra]"; - mes " Be careful to not have that kind of cell stuck on you. "; - next; - } - if (.@card_1_warning == 68) { - cutin "Ȳ¼ÒÄ«µå",4; // Minorous Card - mes "[Lhimetorra]"; - mes " The bull is warning about ignorance about a crisis. "; - mes " Not knowing that a crisis is a crisis is the most dangerous of all. "; - next; - mes "[Lhimetorra]"; - mes " You will need to learn how to read danger. Accept the bull's advice. "; - next; - } - if (.@card_1_warning == 69) { - cutin "Ȳ¼ÒÄ«µå",4; // Minorous Card - mes "[Lhimetorra]"; - mes " The bull is warning of something that will make life sad. "; - mes " Sadness is a natural feeling, but don't let that put you down. "; - next; - mes "[Lhimetorra]"; - mes " A bull is an honest worker that cries even while it works. It knows that it must not be lazy about what it needs to do, even when expressing sadness. "; - mes " It seems like he wants to tell you this. "; - next; - } - if (.@card_1_warning == 70) { - cutin "Ȳ¼ÒÄ«µå",4; // Minorous Card - mes "[Lhimetorra]"; - mes " The bull is warning about meat from watered cows. "; - mes " Saying that, that type of behavior will surely bring upon monsters' curses. "; - next; - mes "[Lhimetorra]"; - mes " I don't know why he would warn you about it.. Do you raise cattle by any chance? "; - next; - } - mes "[Lhimetorra]"; - mes " A warning is always a useful fortune. You can never lose anything. "; - next; - cutin "°¡À̾ƽºÄ«µå",255; // Giearth Card - mes "[Lhimetorra]"; - mes " I hope you will be able to avoid misfortune with this warning. Then... "; - close; - } - close; + mes " If you are thinking of something right now, stop your movement. Or else disaster may be headed your way. "; + break; case 2: + mes " Someone is after you. The person is very strong like the picture. They might be holding grudges against you. "; + next; + mes "[Lhimetorra]"; + mes " Look around you. Of course, look for anyone you might have spited.. "; + break; + case 3: + mes " It is saying to be careful not to burn your mustache with a cigarette. When you do something, something is always at risk.. It is probably warning about that. "; + break; + case 4: + mes " 'Be careful of shoveling'.. You might get hit by a shovel. Should you be careful around a construction site? "; + break; + case 5:// Dustiness Card + mes " The sound of a moth's wings fluttering means chaos. A chaotic event may occur around you. "; + next; + mes "[Lhimetorra]"; + mes " The moth is warning you of this. You should be careful. "; + break; + case 6: + mes " Be aware of the wings. Wings symbolize flight, adventure, and fickleness of a player. "; + next; + mes "[Lhimetorra]"; + mes " If a word strikes you, be wary of that. Maybe.. a player? "; + break; + case 7: + mes " The teeth of Dustiness are very strong. This means.. Someone may attempt to bite you with their teeth?! "; + break; + case 8: + mes " The moth's warning: 'Dangerous!'. A very simple, yet obvious warning. "; + break; + case 9:// Dracula Card + mes " Dracula says, 'Be careful in the streets at night.' "; + break; + case 10: + mes " Dracula says, 'Don't be too picky.' "; + break; + case 11: + mes " Dracula says, 'Brush your teeth 3 times a day.' Make sure you brush your teeth! "; + break; + case 12: + mes " Dracula says, 'Study the important points first.' Cramming will not work! "; + break; + case 13:// Drake Card + mes " If you see the flag of a pirate, either run or do as they say. Pirates do not give more than one warning. "; + next; + mes "[Lhimetorra]"; + mes " It is the same in life. "; + break; + case 14: + mes " Pirates give warnings about many things. But right now, this card is speaking of betrayal. "; + next; + mes "[Lhimetorra]"; + mes " To pirates, betrayal means tragic death. Be careful of betrayals. "; + break; + case 15: + mes " The pirate is warning you of your beauty. Don't show off your beauty too much. Pirates are very jealous of appearance, as well. "; + break; + case 16:// Marina Card + mes " The Marina is warning of a hot stinging poison. Be cautious of poison. "; + break; + case 17: + mes " The Marina is warning about a lazy lifestyle. It says such a lifestyle will lead to something like itself. "; + break; + case 18: + mes " The Marina doesn't really think about anything else.. But it will say one thing. Food. The Marina loves food. "; + next; + mes "[Lhimetorra]"; + mes " Eating is happiness. Same goes for humans as well. Value food and enjoy eating. "; + break; + case 19: + mes " The Marina is warning about a big belly. It's not happy because it resembles itself.. How about losing some weight? "; + break; + case 20:// Marionette Card + mes " The Marionette says that you must not rely on violence and to use a different method. "; + mes " I'm not quite sure, but it may become an important word of advice to you..? "; + break; + case 21: + mes " The Marionette is warning about ominous activities. If you did something recently, you should settle it soon. "; + next; + mes "[Lhimetorra]"; + mes " A bad result may come your way. "; + break; + case 22: + mes " The Marionette's eyes are warning about your falsehood. Lies, deceit, fake calculations and actions.. The Marionette is warning about all of them. "; + next; + mes "[Lhimetorra]"; + mes " This is all for you young one. Therefore, follow this fortune and rid yourself of falsehood. "; + break; + case 23: + mes " The Marionette is emphasizing a proper diet. Don't rely too much on meat. "; + next; + mes "[Lhimetorra]"; + mes " Take the Marionette's advice. She never says anything wrong. Hoho... "; + break; + case 24:// Medusa Card + mes " The Medusa punishes those who challenge it without warning. Unexpected punishment. "; + next; + mes "[Lhimetorra]"; + mes " That is a Medusa. You should be careful. The warning ended a long time ago. "; + break; + case 25: + mes " The Medusa is warning you to be nice to others, or else it will turn you into stone."; + next; + mes "[Lhimetorra]"; + mes " What a rightful Medusa. Hmm... "; + break; + case 26: + mes " The Medusa is warning you to return anything you borrow on time. "; + mes " Saying it will not forgive those who use other's things like a black hole.. borrowing and never returning "; + next; + mes "[Lhimetorra]"; + mes " Are you sure you returned everything you have borrowed? Better take care of everything before you get punished. "; + break; + case 27: + mes " The Medusa is warning about a person near you. Of their existence.. and the relationship, "; + next; + mes "[Lhimetorra]"; + mes " The Medusa's warning is very stern. Take a close look around you. "; + break; + case 28:// Baphomet Card + mes " The Baphomet says to beware when intervening with others' issues. "; + next; + mes "[Lhimetorra]"; + mes " He is very angry about intruding in others' spaces. Accept the Baphomet's warning. "; + break; + case 29: + mes " The Baphomet is warning about arrogance. Even a strong and wise warrior must show respect to a Baphomet, "; + mes " Arrogance takes away that respect. The Baphomet hates that type of arrogance. "; + next; + mes "[Lhimetorra]"; + mes " Maybe it means he sees that type of arrogance in you? Since the Baphomet is warning you.. "; + break; + case 30: + mes " The Baphomet is warning about the laziness that stops one from sharpening the scythe. "; + mes " That laziness will cause you to lose your life in an instant. "; + next; + mes "[Lhimetorra]"; + mes " Laziness is more dangerous than the monster in front of you. Don't forget about this warning. "; + break; + case 31: + mes " The Baphomet says it has nothing to say. I wonder why? Isn't it a very good sign?!! "; + break; + case 32:// Sandman Card + mes " Sand is an instant cure of athlete's foot. He says to beware of athlete's foot and that he hates those rubbing their infected feet into his body. "; + next; + mes "[Lhimetorra]"; + mes " A Sandman's warning is very stern. Wash your feet regularly, young one. "; + break; + case 33: + mes " A chicken puts sand in its mouth to aid its insufficient digestion system. "; + mes " The Sandman says to watch out before you become like a chicken. "; + next; + mes "[Lhimetorra]"; + mes " And don't eat too much spicy and salty food, alcohol, etc. What a thoughtful Sandman. "; + break; + case 34: + mes " The Sandman says over-sleepers will be punished by society! "; + next; + mes "[Lhimetorra]"; + mes " Oooh, a stern warning about the future! Young one, bear this in mind. "; + break; + case 35: + mes " One warning from the Sandman, respect your parents. "; + next; + mes "[Lhimetorra]"; + mes " If you don't, you will end up like him. Listen to the Sandman. "; + break; + case 36:// Sohee Card + mes " Sohee dislikes stinky feet. Don't forget to wash your feet. "; + next; + mes "[Lhimetorra]"; + mes " Bah, don't laugh about it! This is a solemn warning. "; + break; + case 37: + mes " Sohee stands on the tip of her toes. It is because her toes are very strong. "; + mes " No matter what a person does, physical strength is the most important. Exercise and get stronger. "; + next; + mes "[Lhimetorra]"; + mes " If you sit around all day, even the things that were going to work won't. Got it? Exercise, exercise! "; + break; + case 38: + mes " Look at Sohee's hairstyle. Isn't it splendid. "; + mes " Sohee likes to take care of her appearance. If you don't, Sohee will get mad at you. "; + next; + mes "[Lhimetorra]"; + mes " Making yourself look presentable is just as important as keeping a good heart. "; + mes " Take care of your appearance. And get that pepper out from between your teeth! "; + break; + case 39: + mes " Once, Sohee didn't get her change back when she asked a baby ghost to run an errand. "; + mes " No can do! Always return the change. "; + next; + mes "[Lhimetorra]"; + mes " No matter how little the amount, you must not just keep it. Sohee greatly dislikes it. "; + break; + case 40:// Skel Worker Card + mes " Even though it is a skeleton with only bones, it has all the safety gear needed. "; + next; + mes "[Lhimetorra]"; + mes " What the skeleton wants to say is, be aware of 'safety'. Being ignorant about safety is dangerous. "; + break; + case 41: + mes " The skeleton card has a gray tone. If you read the grey, you can see the darkness. "; + mes " It seems like darkness is on its way. Be careful, this darkness isn't ordinary. "; + next; + mes "[Lhimetorra]"; + mes " Hmm.. would you like an amulet? "; + break; + case 42: + mes " The skeleton is warning you about an irregular eating pattern. "; + mes " It says it became like that because of a bad eating habit. "; + next; + mes "[Lhimetorra]"; + mes " Eat the right food at the right time. That's the only way your body will survive. You can't afford to become like a skeleton. "; + break; + case 43: + mes " The skeleton's pickaxe is very strong. Even though its body seems weak, with the right tools, it can do great things. "; + next; + mes "[Lhimetorra]"; + mes " So don't blame your body right now and go search for the right tools. Then you will have a good result. "; + break; + case 44:// Khalitzburg Card + mes " The knight is warning you of reckless driving. Do you ride a Pecopeco by any chance? "; + mes " Anyhow, you should avoid reckless driving.. If a knight is saying that, it is a big problem. "; + break; + case 45: + mes " The knight is warning you of cruelty. It could be yours or that of someone around you. "; + next; + mes "[Lhimetorra]"; + mes " Anyhow, cruelty will harm you for sure. Be cautious of it. "; + break; + case 46: + mes " The misfortune shown in the knight card is hastiness. That is also what takes away a knight's life, too. "; + next; + mes "[Lhimetorra]"; + mes " This knight is warning you from the bottom of his heart, "; + mes " so that you don't repeat his mistake. Be ware of hastiness. "; + break; + case 47: + mes " This knight is warning you of loneliness. He doesn't have a person to help his horse, "; + mes " nor a lover awaiting him, so loneliness hits him in the heart. "; + next; + mes "[Lhimetorra]"; + mes " Loneliness is not simply sadness. It is a formless devil eating your life. Stay away from loneliness. "; + break; + case 48:// Anubis Card + mes " The warning of the god of death is death itself. "; + next; + mes "[Lhimetorra]"; + mes " Be cautious of death.. death that can be your turn, or maybe someone else. "; + break; + case 49: + mes " The Anubis says to be careful of darkness. In darkness, death lingers in the dark. "; + next; + mes "[Lhimetorra]"; + mes " Take the Anubis's advice and avoid the dark. That is the wisest choice. "; + break; + case 50: + mes " The Anubis doesn't like foul language. You don't have a foul mouth, do you? "; + mes " Watch your mouth. The Anubis is after those that say foul language."; + next; + mes "[Lhimetorra]"; + mes " Humans have a problem with their mouths. Mmm~ Agh. Me, too?! "; + break; + case 51: + mes " The Anubis is warning you of hatred. Hatred only brings upon death. "; + mes " The Anubis must not like being busy these days. "; + next; + mes "[Lhimetorra]"; + mes " Seeing that he is warning about hatred. Don't you think it's a good idea to avoid his eyes at a time like this? "; + break; + case 52:// Orc Lord Card + mes " The Orc Lord is warning you of self-righteousness. It is the most dangerous noxious bug that will feed on you. "; + next; + mes "[Lhimetorra]"; + mes " Learn how to accept others' opinions. How about starting from accepting the Orc Lord's? "; + break; + case 53: + mes " The Orc Lord is warning you about freedom. Isn't freedom a good thing? "; + mes " Not always! Too much freedom can lead to self-indulgence! "; + next; + mes "[Lhimetorra]"; + mes " He knows about the danger of freedom as a lord. "; + break; + case 54: + mes " The Orc Lord warning you of the opposite sex. Yes. They are poisonous. Keep your distance. "; + next; + mes "[Lhimetorra]"; + mes " Especially a young one like you... You are too close to one. Cough. "; + break; + case 55: + mes " The Orc Lord is warning about destruction. He knows destruction very well because he is a master of destruction. "; + next; + mes "[Lhimetorra]"; + mes " That's why he knows about the danger and misfortune destruction brings. Don't destroy thoughtlessly. You will end up destroying yourself as well. "; + break; + case 56:// Jakk Card + mes " Jack is warning you of lame jokes. When he finds one saying them, he tends to hit them with his stick. "; + next; + mes "[Lhimetorra]"; + mes " If you don't want to be hit, stop your lame jokes! "; + break; + case 57: + mes " Jack is warning you about others' anger and that anger takes away happiness and kills a joke. "; + next; + mes "[Lhimetorra]"; + mes " Anger only exhausts you. Keep your distance from anger and befriend jokes. Jack's word. "; + break; + case 58: + mes " It seems like Jack is worried about excessive jokes. "; + mes " Jokes are fun, but too much will turn you into a ghost like him. "; + next; + mes "[Lhimetorra]"; + mes " Be careful. When Jack speaks like this, he playfulness is gone. "; + break; + case 59:// Joker Card + mes " Jokers enjoy giving opposite warnings. He says to enjoy sleeping in."; + next; + mes "[Lhimetorra]"; + mes " I think you should wake up early. "; + break; + case 60: + mes " Jokers enjoy giving opposite warnings. He says to enjoy a midnight snack. "; + next; + mes "[Lhimetorra]"; + mes " Don't eat anything at night. Your stomach will hurt. "; + break; + case 61: + mes " Jokers enjoy giving opposite warnings. "; + mes " He says if someone has something you want, make it yours. "; + next; + mes "[Lhimetorra]"; + mes " Need I say more? That's a dangerous thought!! "; + break; + case 62: + mes " Joker enjoys giving opposite warnings. "; + mes " What he is telling you is to not fear death. "; + next; + mes "[Lhimetorra]"; + mes " If a Joker is saying this, be careful. There is no cure for thoughtless fools. "; + break; + case 63:// Hode Card + mes " The Hode can forgive others, but not those who hurt it. "; + mes " You should also only not forgive those who hurt you. "; + next; + mes "[Lhimetorra]"; + mes " A small territory will ensure great happiness. "; + break; + case 64: + mes " The Hode is warning you of voracious eating that made it sluggish. "; + mes " Eating is good, but the wild is a dangerous place. Leave your stomach partially empty. "; + next; + mes "[Lhimetorra]"; + mes " So you can quickly respond to crises. "; + break; + case 65: + mes " The Hode is warning you of voracious eating that made it sluggish. "; + mes " Eating is good, but the wild is a dangerous place. Leave your stomach partially empty."; + next; + mes "[Lhimetorra]"; + mes " So you can quickly respond to crises. "; + break; + case 66: + mes " If you are to the point of being warned by a Hode.. you must be one considerable person. "; + next; + mes "[Lhimetorra]"; + mes " It says to do better.. I have no idea what it means. "; + break; + case 67: + mes " The Bull warns of corruption. A lazy hedonist that is not diligent. "; + mes " He believes that is like a cancer cell that can't be removed. "; + next; + mes "[Lhimetorra]"; + mes " Be careful to not have that kind of cell stuck on you. "; + break; + case 68:// Minorous Card + mes " The bull is warning about ignorance about a crisis. "; + mes " Not knowing that a crisis is a crisis is the most dangerous of all. "; + next; + mes "[Lhimetorra]"; + mes " You will need to learn how to read danger. Accept the bull's advice. "; + break; + case 69: + mes " The bull is warning of something that will make life sad. "; + mes " Sadness is a natural feeling, but don't let that put you down. "; + next; mes "[Lhimetorra]"; - mes " Ok then. Young adventurer, may luck be with you... "; - close; + mes " A bull is an honest worker that cries even while it works. It knows that it must not be lazy about what it needs to do, even when expressing sadness. "; + mes " It seems like he wants to tell you this. "; + break; + case 70: + mes " The bull is warning about meat from watered cows. "; + mes " Saying that, that type of behavior will surely bring upon monsters' curses. "; + next; + mes "[Lhimetorra]"; + mes " I don't know why he would warn you about it.. Do you raise cattle by any chance? "; + break; } - close; - case 2: - mes "[Lhimetorra]"; - mes " Monster card reading uses the cards of familiar monsters around us to get advice about our future, love, and many other things. "; - mes " A fortuneteller like me takes a question from a person and asks the card. The card answers and I tell the person. "; next; mes "[Lhimetorra]"; - mes " You should not get more than one card reading a day, and don't get one often since the card can get angry or confused. "; - mes " Also, it can have a bad influence on your life, too! "; + mes " A warning is always a useful fortune. You can never lose anything. "; next; + cutin "",255; mes "[Lhimetorra]"; - mes " And... one more thing. "; - mes " A card reading is only a reading... No matter how extraordinary the result may be, don't get too caught up with it. Bear that in mind. "; + mes " I hope you will be able to avoid misfortune with this warning. Then... "; close; } } -payon_in03,75,129,5 script Poring Fortune Teller 704,{ +payon_in03,75,129,5 script Poring Fortune Teller 4_M_BIBI,{ mes "[Chocarle]"; mes " Welcome, welcome~!! " +strcharinfo(0)+ "~!"; mes " What brings you here today!? "; next; - switch(select(" I would like a Poring card reading. : What is a Poring card reading? ")) { + if (select(" I would like a Poring card reading. : What is a Poring card reading? ") == 2) { + mes "[Chocarle]"; + mes " Poring card readings focus on cards with cute Porings..! "; + mes " Poke~poke~ they tell you your fortune! It is not traditional, but the liveliness is the best! "; + next; + mes "[Chocarle]"; + mes " The fortunes are simple and refreshing. It is perfect when you would like your fortune told with a light heart and not be burdensome! "; + close; + } + mes "[Chocarle]"; + mes " Ah~ is that so! "; + mes " Solving the wonders of the future with these cute and adorable Poring cards! "; + mes " It is 1000z for each fortune! Shall we begin? "; + next; + if (select(" Yes. : I would like to think about it once more. ") == 2) { + mes "[Chocarle]"; + mes " Ok then! Come again next time! We'll do a good job! Bye-bye~! "; + close; + } + if (Zeny < 1000) { + mes "[Chocarle]"; + mes "You don't even have 1000 zeny!"; + mes "Nope, I can read cards for you!"; + mes "Nope!"; + close; + } + Zeny = Zeny -1000; + mes "[Chocarle]"; + mes " Thank you~! Then we shall look into your fortune! "; + mes " First, clear your mind! Just like washing when you wash dishes! "; + next; + mes "[Chocarle]"; + mes " Then~ gently think of your wish! "; + next; + switch(select(" (I'm curious about love!) : (I would like to do well in school!) : (Will my friendship be intact?) : (I want to know about my future self!) : (Will I make a lot of money?) ")) { case 1: mes "[Chocarle]"; - mes " Ah~ is that so! "; - mes " Solving the wonders of the future with these cute and adorable Poring cards! "; - mes " It is 1000z for each fortune! Shall we begin? "; + mes " Ohh! Cute love fortune! Heh! Lets look at the cards! "; next; - switch(select(" Yes. : I would like to think about it once more. ")) { - //=================================================================Fortune Teller === + .@card_2_love = rand(1,33); + callsub L_displaycutin, .@card_2_love; + + mes "[Chocarle]"; + switch(.@card_2_love) { case 1: - if (Zeny < 1000) { - mes "[Chocarle]"; - mes "You don't even have 1000 zeny!"; - mes "Nope, I can read cards for you!"; - mes "Nope!"; - close; - } - set Zeny, Zeny-1000; - mes "[Chocarle]"; - mes " Thank you~! Then we shall look into your fortune! "; - mes " First, clear your mind! Just like washing when you wash dishes! "; - next; - mes "[Chocarle]"; - mes " Then~ gently think of your wish! "; - next; - switch(select(" (I'm curious about love!) : (I would like to do well in school!) : (Will my friendship be intact?) : (I want to know about my future self!) : (Will I make a lot of money?) ")) { - //=================================================================Love === - case 1: - mes "[Chocarle]"; - mes " Ohh! Cute love fortune! Heh! Lets look at the cards! "; - next; - mes "[Chocarle]"; - set .@card_2_love,rand(1,33); - if (.@card_2_love == 1) { - cutin "°í½ºÆ®¸µÄ«µå",4; // Ghostring Card - mes " Oh! Your lover is about to leave your side! Hold on tight! "; - } - if (.@card_2_love == 2) { - cutin "°í½ºÆ®¸µÄ«µå",4; // Ghostring Card - mes " Agh! You're about to give your soul to your loved one! Take it down a notch! "; - } - if (.@card_2_love == 3) { - cutin "°í½ºÆ®¸µÄ«µå",4; // Ghostring Card - mes " No! Your heart is about to leave your love! Catch it! "; - } - if (.@card_2_love == 4) { - cutin "µå·ÓÇÁ½ºÄ«µå",4; // Drops Card - mes " Love is like juice in the forest! It is refreshing! Take care of your loved one! "; - } - if (.@card_2_love == 5) { - cutin "µå·ÓÇÁ½ºÄ«µå",4; // Drops Card - mes " Uh! You didn't share your juice with your loved one! What a shame! Take care of your loved one! "; - } - if (.@card_2_love == 6) { - cutin "µå·ÓÇÁ½ºÄ«µå",4; // Drops Card - mes " Why not share with your loved one? Don't be too greedy and try to keep it all! "; - } - if (.@card_2_love == 7) { - cutin "¸ÇƼ½ºÄ«µå",4; // Mantis Card - mes " Your love is going to have a crisis! Protect your love! "; - } - if (.@card_2_love == 8) { - cutin "¸ÇƼ½ºÄ«µå",4; // Mantis Card - mes " Hee! Go after your love like a mole! Puhahaha! "; - } - if (.@card_2_love == 9) { - cutin "¸ÇƼ½ºÄ«µå",4; // Mantis Card - mes " Oh no! Your love is in danger! Run away from the menace! "; - } - if (.@card_2_love == 10) { - cutin "¹«³«Ä«µå",4; // Munak Card - mes " Oh no! You lost your loved one. And, nobody similar around you. Cheer up! "; - } - if (.@card_2_love == 11) { - cutin "¹«³«Ä«µå",4; // Munak Card - mes " Ah! A sexy rival has appeared! Don't get sidetracked! "; - } - if (.@card_2_love == 12) { - cutin "¹«³«Ä«µå",4; // Munak Card - mes " You are desperately searching for love! If you go beyond this desert, you can find love! "; - } - if (.@card_2_love == 13) { - cutin "»êŸÆ÷¸µÄ«µå",4; // Santa Poring Card - mes " Prepare an event of love! They will be flying with happiness! "; - } - if (.@card_2_love == 14) { - cutin "»êŸÆ÷¸µÄ«µå",4; // Santa Poring Card - mes " Love is sweet! Be careful not to get cavities! "; - } - if (.@card_2_love == 15) { - cutin "»êŸÆ÷¸µÄ«µå",4; // Santa Poring Card - mes " Prepare a present for your love! They might get a heart attack because they will be overwhelmed with happiness! "; - } - if (.@card_2_love == 16) { - cutin "¼ÖÁ®½ºÄÌÅæÄ«µå",4; // Soldier Skeleton Card - mes " Don't be shy in front of your loved one! Love transcends everything! "; - } - if (.@card_2_love == 17) { - cutin "¼ÖÁ®½ºÄÌÅæÄ«µå",4; // Soldier Skeleton Card - mes " Embrace every aspect of your loved one! That is true love! "; - } - if (.@card_2_love == 18) { - cutin "¼ÖÁ®½ºÄÌÅæÄ«µå",4; // Soldier Skeleton Card - mes " Love will blossom with a totally different person! Wow, so cool! "; - } - if (.@card_2_love == 19) { - cutin "½ºÄÌ·¹ÅæÄ«µå",4; // Skeleton Card - mes " No matter what other people say, run towards your loved one! One-track love! "; - } - if (.@card_2_love == 20) { - cutin "½ºÄÌ·¹ÅæÄ«µå",4; // Skeleton Card - mes " Go to your loved one with a present! They will be very happy! "; - } - if (.@card_2_love == 21) { - cutin "½ºÄÌ·¹ÅæÄ«µå",4; // Skeleton Card - mes " Love requires health and strength! Exercise to become stronger! Power and love! "; - } - if (.@card_2_love == 22) { - cutin "¿¡µå°¡Ä«µå",4; // Eddga Card - mes " Even if you wish to approach your loved one, your body is discomforted! Take a break and rest! "; - } - if (.@card_2_love == 23) { - cutin "¿¡µå°¡Ä«µå",4; // Eddga Card - mes " Love is bending yourself for someone! Service! Sacrifice! "; - } - if (.@card_2_love == 24) { - cutin "¿¡µå°¡Ä«µå",4; // Eddga Card - mes " You will be meeting your lover's parents! Prepare well! "; - } - if (.@card_2_love == 25) { - cutin "¿£Á©¸µÄ«µå",4; // Angeling Card - mes " Your relationship must be very happy as it seems you two are flying amongst the clouds! Very jealous! "; - } - if (.@card_2_love == 26) { - cutin "¿£Á©¸µÄ«µå",4; // Angeling Card - mes " Make an opportunity to be alone with each other! It will bring much happiness! "; - } - if (.@card_2_love == 27) { - cutin "¿£Á©¸µÄ«µå",4; // Angeling Card - mes " Uh oh! Someone is peeping at your love! Go scold them! "; - } - if (.@card_2_love == 28) { - cutin "Æ÷¸µÄ«µå",4; // Poring Card - mes " Love blossoms from the foundation! Be true to the basics! "; - } - if (.@card_2_love == 29) { - cutin "Æ÷¸µÄ«µå",4; // Poring Card - mes " When your loved one is hurt, be by them! They will be very happy! "; - } - if (.@card_2_love == 30) { - cutin "Æ÷¸µÄ«µå",4; // Poring Card - mes " One day, when you wake up, your loved one will leave a present! Be happy! "; - } - if (.@card_2_love == 31) { - cutin "Æ÷Æ÷¸µÄ«µå",4; // Poporing Card - mes " Give lots~~ of presents to your loved one! Then you will experience many~ many good things! "; - } - if (.@card_2_love == 32) { - cutin "Æ÷Æ÷¸µÄ«µå",4; // Poporing Card - mes " Lean against a wall and await your love! *Boom* Love will appear! "; - } - if (.@card_2_love == 33) { - cutin "Æ÷Æ÷¸µÄ«µå",4; // Poporing Card - mes " You must be lonely! It's ok, cheer up! "; - } - next; - mes "[Chocarle]"; - mes " A fortune of love was told! What do you think! Do you like it? "; - mes " Even if you did not get the fortune you wished for, don't be do upset and simply go for your love! "; - cutin "°¡À̾ƽºÄ«µå",255; // Giearth Card - next; - mes "[Chocarle]"; - mes " Then, see you next time~~~~~ "; - break; - //=================================================================Study === - case 2: - mes "[Chocarle]"; - mes " Issues about studying is a serious matter! Lets take a look! Yap! "; - next; - mes "[Chocarle]"; - set .@card_2_study,rand(1,33); - if (.@card_2_study == 1) { - cutin "°í½ºÆ®¸µÄ«µå",4; // Ghostring Card - mes " Agh! Don't die from studying! Take breaks while you're at it! You need some rest! "; - } - if (.@card_2_study == 2) { - cutin "°í½ºÆ®¸µÄ«µå",4; // Ghostring Card - mes " Oh, no! You're missing the main points! Figure out the essentials! "; - } - if (.@card_2_study == 3) { - cutin "°í½ºÆ®¸µÄ«µå",4; // Ghostring Card - mes " Mmph! You're dying not to study! At times like this, a break is the best! "; - } - if (.@card_2_study == 4) { - cutin "µå·ÓÇÁ½ºÄ«µå",4; // Drops Card - mes " Studying is just like hunting a monster in the desert. Resting for a little is the best. Understand? "; - } - if (.@card_2_study == 5) { - cutin "µå·ÓÇÁ½ºÄ«µå",4; // Drops Card - mes " A nice cup of cold juice under the hot sun! Studying should be done like that, too! "; - } - if (.@card_2_study == 6) { - cutin "µå·ÓÇÁ½ºÄ«µå",4; // Drops Card - mes " Even though it is the desert, you seem to have a relaxed smile! Maybe you need to relax like this when studying as well! "; - } - if (.@card_2_study == 7) { - cutin "¸ÇƼ½ºÄ«µå",4; // Mantis Card - mes " Your grades are in danger! You must study harder! "; - } - if (.@card_2_study == 8) { - cutin "¸ÇƼ½ºÄ«µå",4; // Mantis Card - mes " There may be a big crisis! Don't get too stressed just because you can't study! "; - } - if (.@card_2_study == 9) { - cutin "¸ÇƼ½ºÄ«µå",4; // Mantis Card - mes " It is saying studying in the dark night can be dangerous! Careful when studying at night! "; - } - if (.@card_2_study == 10) { - cutin "¹«³«Ä«µå",4; // Munak Card - mes " Studying came to a strange place! It needs to find its original path! You can do it! "; - } - if (.@card_2_study == 11) { - cutin "¹«³«Ä«µå",4; // Munak Card - mes " You're gazing at a smart friend with the eyes of a Poring! Heehee! Doing good! "; - } - if (.@card_2_study == 12) { - cutin "¹«³«Ä«µå",4; // Munak Card - mes " Eh? You're too smart! You're at a much higher level than your friends! Take a break! "; - } - if (.@card_2_study == 13) { - cutin "»êŸÆ÷¸µÄ«µå",4; // Santa Poring Card - mes " You will be rewarded for your accomplishments! It was worth the effort! "; - } - if (.@card_2_study == 14) { - cutin "»êŸÆ÷¸µÄ«µå",4; // Santa Poring Card - mes " Forget about studying for a moment and enjoy the party! It should be refreshing~! "; - } - if (.@card_2_study == 15) { - cutin "»êŸÆ÷¸µÄ«µå",4; // Santa Poring Card - mes " Study something that will make people happy! Future set! "; - } - if (.@card_2_study == 16) { - cutin "¼ÖÁ®½ºÄÌÅæÄ«µå",4; // Soldier Skeleton Card - mes " If you're not sure of something, ask a friend! It's not something to be ashamed about! You can do it! "; - } - if (.@card_2_study == 17) { - cutin "¼ÖÁ®½ºÄÌÅæÄ«µå",4; // Soldier Skeleton Card - mes " Don't think that your head is empty! Because, you are smart! You can do it! "; - } - if (.@card_2_study == 18) { - cutin "¼ÖÁ®½ºÄÌÅæÄ«µå",4; // Soldier Skeleton Card - mes " There's a phenomenon you don't understand! Do a little more research! You'll be able to figure it out soon! "; - } - if (.@card_2_study == 19) { - cutin "½ºÄÌ·¹ÅæÄ«µå",4; // Skeleton Card - mes " Don't get lazy about studying wherever you go! Seek the road of truth and go down it to find the answer! "; - } - if (.@card_2_study == 20) { - cutin "½ºÄÌ·¹ÅæÄ«µå",4; // Skeleton Card - mes " You need strength to study! Get stronger! Running is a start! "; - } - if (.@card_2_study == 21) { - cutin "½ºÄÌ·¹ÅæÄ«µå",4; // Skeleton Card - mes " You will become an admirable person because of all the effort put into studying! You must feel very worth while! "; - } - if (.@card_2_study == 22) { - cutin "¿¡µå°¡Ä«µå",4; // Eddga Card - mes " Try studying the history of our country! From when the tiger started smoking! "; - } - if (.@card_2_study == 23) { - cutin "¿¡µå°¡Ä«µå",4; // Eddga Card - mes " You must be having a hard time studying because of all the pressure! Go out and get some fresh air! "; - } - if (.@card_2_study == 24) { - cutin "¿¡µå°¡Ä«µå",4; // Eddga Card - mes " Your head seems to be heavy because of studying! You need a diversion! Put studying aside for a moment! "; - } - if (.@card_2_study == 25) { - cutin "¿£Á©¸µÄ«µå",4; // Angeling Card - mes " Try studying aerospace or meteorology! Don't you think it would be fun? "; - } - if (.@card_2_study == 26) { - cutin "¿£Á©¸µÄ«µå",4; // Angeling Card - mes " How about studying theology? You even get to study about angels! "; - } - if (.@card_2_study == 27) { - cutin "¿£Á©¸µÄ«µå",4; // Angeling Card - mes " Study little by little and make yourself feel lighter! You can't study if you're overloaded with words! "; - } - if (.@card_2_study == 28) { - cutin "Æ÷¸µÄ«µå",4; // Poring Card - mes " When studying, you should have a snack! It may seem trivial, but it is rather important! "; - } - if (.@card_2_study == 29) { - cutin "Æ÷¸µÄ«µå",4; // Poring Card - mes " Even when you are sick, don't forget about studying! Where there is effort, there is bound to be good results! "; - } - if (.@card_2_study == 30) { - cutin "Æ÷¸µÄ«µå",4; // Poring Card - mes " Newton discovered gravity through a falling apple! Be wary of even the little things in your surroundings! "; - } - if (.@card_2_study == 31) { - cutin "Æ÷Æ÷¸µÄ«µå",4; // Poporing Card - mes " Green is good for studying! Color your walls green or get a green drink! The lucky color! Green! "; - } - if (.@card_2_study == 32) { - cutin "Æ÷Æ÷¸µÄ«µå",4; // Poporing Card - mes " There is a jewel in your mind! You need to bring all the wisdom to life! Don't study bad things! "; - } - if (.@card_2_study == 33) { - cutin "Æ÷Æ÷¸µÄ«µå",4; // Poporing Card - mes " You will receive good results from studying! You can focus on your current studies! "; - } - next; - mes "[Chocarle]"; - mes " You've been told your study fortune! Was it a good one? "; - mes " But in studying, effort is more important than any type of fortune! "; - next; - cutin "",255; - mes "[Chocarle]"; - mes " Try your best. Then, see you again! Byyyyyyyyyyyyyyyyeeeee~~byyyyeeee~ "; - break; - //=================================================================Friends === - case 3: - mes "[Chocarle]"; - mes " Relationships among friends is more difficult than people think! Let's use the cards to try and solve this complicated puzzle of friendship! "; - next; - mes "[Chocarle]"; - set .@card_2_buddy,rand(1,33); - if (.@card_2_buddy == 1) { - cutin "°í½ºÆ®¸µÄ«µå",4; // Ghostring Card - mes " Ah! Your friend has gone crazy! They need the heal of friendship! "; - } - if (.@card_2_buddy == 2) { - cutin "°í½ºÆ®¸µÄ«µå",4; // Ghostring Card - mes " Mmm! You both have gone crazy. You must overcome it through conversations! "; - } - if (.@card_2_buddy == 3) { - cutin "°í½ºÆ®¸µÄ«µå",4; // Ghostring Card - mes " Agh! You are suffering because of your friend! Try opening your heart and be more lenient! "; - } - if (.@card_2_buddy == 4) { - cutin "µå·ÓÇÁ½ºÄ«µå",4; // Drops Card - mes " You even split a pea between friends! Don't be so cruel. Reflect upon yourself and apologize! "; - } - if (.@card_2_buddy == 5) { - cutin "µå·ÓÇÁ½ºÄ«µå",4; // Drops Card - mes " Oh no! Your friend is ignoring you! Offer a bottle of juice to your friend! Your friendship may come back? "; - } - if (.@card_2_buddy == 6) { - cutin "µå·ÓÇÁ½ºÄ«µå",4; // Drops Card - mes " Eh!? What kind of friendship is this?! Hurry up and make up! "; - } - if (.@card_2_buddy == 7) { - cutin "¸ÇƼ½ºÄ«µå",4; // Mantis Card - mes "Oh no?! This person is not your friend, but an enemy! You must be careful! "; - } - if (.@card_2_buddy == 8) { - cutin "¸ÇƼ½ºÄ«µå",4; // Mantis Card - mes " Your friend is in danger! You must help your friend! "; - } - if (.@card_2_buddy == 9) { - cutin "¸ÇƼ½ºÄ«µå",4; // Mantis Card - mes " Your friendship is on the verge of falling apart! Cast a shield around your friendship! "; - } - if (.@card_2_buddy == 10) { - cutin "¹«³«Ä«µå",4; // Munak Card - mes " One person is left out amongst your friends! Be more friendly! "; - } - if (.@card_2_buddy == 11) { - cutin "¹«³«Ä«µå",4; // Munak Card - mes " Your friend hit you! Don't cry even if it may hurt! Hurry and make up! "; - } - if (.@card_2_buddy == 12) { - cutin "¹«³«Ä«µå",4; // Munak Card - mes " You must be alone! It must be hard to make friends! Try putting on a brighter face! "; - } - if (.@card_2_buddy == 13) { - cutin "»êŸÆ÷¸µÄ«µå",4; // Santa Poring Card - mes " Give your friends a present! Your friendship will become deeper! "; - } - if (.@card_2_buddy == 14) { - cutin "»êŸÆ÷¸µÄ«µå",4; // Santa Poring Card - mes " Prepare a hat to cover your friend's large head! They will be moved by your care! "; - } - if (.@card_2_buddy == 15) { - cutin "»êŸÆ÷¸µÄ«µå",4; // Santa Poring Card - mes " A friend is waiting for you! Be nice to your friend! "; - } - if (.@card_2_buddy == 16) { - cutin "¼ÖÁ®½ºÄÌÅæÄ«µå",4; // Soldier Skeleton Card - mes " Being close friends despite differences is true friendship! Shelter each other's differences! "; - } - if (.@card_2_buddy == 17) { - cutin "¼ÖÁ®½ºÄÌÅæÄ«µå",4; // Soldier Skeleton Card - mes " Your misunderstandings will be removed if you take the time to talk! Go have a conversation with your friend! "; - } - if (.@card_2_buddy == 18) { - cutin "¼ÖÁ®½ºÄÌÅæÄ«µå",4; // Soldier Skeleton Card - mes " When a friend is sick, visit them! They will be happy! For sure! "; - } - if (.@card_2_buddy == 19) { - cutin "½ºÄÌ·¹ÅæÄ«µå",4; // Skeleton Card - mes " Go out and have some fun with your friend! Your friendship will surely get stronger! "; - } - if (.@card_2_buddy == 20) { - cutin "½ºÄÌ·¹ÅæÄ«µå",4; // Skeleton Card - mes " Give your friend a present! They'll go bragging around town?! "; - } - if (.@card_2_buddy == 21) { - cutin "½ºÄÌ·¹ÅæÄ«µå",4; // Skeleton Card - mes " Share your bone with your friend! Sacrifices in friendship are beautiful! "; - } - if (.@card_2_buddy == 22) { - cutin "¿¡µå°¡Ä«µå",4; // Eddga Card - mes " Do anything for your friend! With all your heart and soul! Your friend will be delighted! "; - } - if (.@card_2_buddy == 23) { - cutin "¿¡µå°¡Ä«µå",4; // Eddga Card - mes " No smoking, even with a friend! Stop smoking for your health! "; - } - if (.@card_2_buddy == 24) { - cutin "¿¡µå°¡Ä«µå",4; // Eddga Card - mes " You and your friend will encounter hardships! Combine your powers and overcome it! "; - } - if (.@card_2_buddy == 25) { - cutin "¿£Á©¸µÄ«µå",4; // Angeling Card - mes " Go on a trip with your friend! Friendship can get stronger in new environments! "; - } - if (.@card_2_buddy == 26) { - cutin "¿£Á©¸µÄ«µå",4; // Angeling Card - mes " Give your friend a ride in a plane! They'll probably fly with joy!? "; - } - if (.@card_2_buddy == 27) { - cutin "¿£Á©¸µÄ«µå",4; // Angeling Card - mes " Don't forget your friend in heaven! Friendship is eternal! "; - } - if (.@card_2_buddy == 28) { - cutin "Æ÷¸µÄ«µå",4; // Poring Card - mes " Help your friend's scar. Your friend would greatly appreciate it! "; - } - if (.@card_2_buddy == 29) { - cutin "Æ÷¸µÄ«µå",4; // Poring Card - mes " You even split a slice of an apple among friends! Share more things with your friend! Something good will happen! "; - } - if (.@card_2_buddy == 30) { - cutin "Æ÷¸µÄ«µå",4; // Poring Card - mes " When your friend is sleeping, think of them! Then there will be progress in your friendship! What do you think~ it means~?! "; - } - if (.@card_2_buddy == 31) { - cutin "Æ÷Æ÷¸µÄ«µå",4; // Poporing Card - mes " Don't measure friendship with money! If you do, be careful for there will be a crack in your friendship! "; - } - if (.@card_2_buddy == 32) { - cutin "Æ÷Æ÷¸µÄ«µå",4; // Poporing Card - mes " It seems as if your friend will give you many presents! Look forward to it! "; - } - if (.@card_2_buddy == 33) { - cutin "Æ÷Æ÷¸µÄ«µå",4; // Poporing Card - mes " You must be lonely without a friend! A good friend will come along soon! "; - } - next; - mes "[Chocarle]"; - mes " Poring fortunetelling works very well when it is about friendship! "; - mes " It is the heart of the poring card that earnestly hopes for good friendships! "; - next; - cutin "",255; - mes "[Chocarle]"; - mes " Did you like it? Next time invite your friend! Then byebye!! "; - break; - //=================================================================Future === - case 4: - mes "[Chocarle]"; - mes " If you say fortunetelling! Of course it is about the future! Let's try to figure this out! "; - next; - mes "[Chocarle]"; - set .@card_2_future,rand(1,33); - if (.@card_2_future == 1) { - cutin "°í½ºÆ®¸µÄ«µå",4; // Ghostring Card - mes " Oh no! You are not confident about the future! Trust yourself a little more! Hope! "; - } - if (.@card_2_future == 2) { - cutin "°í½ºÆ®¸µÄ«µå",4; // Ghostring Card - mes " Oh! Do you keep on thinking about your death in the future! First, forget about death and live your life! "; - } - if (.@card_2_future == 3) { - cutin "°í½ºÆ®¸µÄ«µå",4; // Ghostring Card - mes " Cut! You are filled with uncertainty about the future! Let's get rid of this! Wee! It's gone! "; - } - if (.@card_2_future == 4) { - cutin "µå·ÓÇÁ½ºÄ«µå",4; // Drops Card - mes " Life may seem like a hot and dry desert, but in the future, delicious juice and rest awaits you! "; - } - if (.@card_2_future == 5) { - cutin "µå·ÓÇÁ½ºÄ«µå",4; // Drops Card - mes " Even in a hot and dry desert, isn't the future happier since you can encounter sweet juice? Put forth your strength! "; - } - if (.@card_2_future == 6) { - cutin "µå·ÓÇÁ½ºÄ«µå",4; // Drops Card - mes " Don't your troubles disappear watching a poring smile? Your future must be filled with good things! "; - } - if (.@card_2_future == 7) { - cutin "¸ÇƼ½ºÄ«µå",4; // Mantis Card - mes " There is danger waiting ahead! You should avoid it for now! Take care of yourself! "; - } - if (.@card_2_future == 8) { - cutin "¸ÇƼ½ºÄ«µå",4; // Mantis Card - mes " You must be fearing your future!? Don't worry too much! Think of happy thoughts! "; - } - if (.@card_2_future == 9) { - cutin "¸ÇƼ½ºÄ«µå",4; // Mantis Card - mes " You may endanger someone in the future! Don't become a bad person~! "; - } - if (.@card_2_future == 10) { - cutin "¹«³«Ä«µå",4; // Munak Card - mes " You may have to stand alone in the future! Prepare yourself right now! "; - } - if (.@card_2_future == 11) { - cutin "¹«³«Ä«µå",4; // Munak Card - mes " Many hardships await you in the future! But you can overcome them! "; - } - if (.@card_2_future == 12) { - cutin "¹«³«Ä«µå",4; // Munak Card - mes " You might not even be able to buy summer clothes in the future! Don't waste your money! "; - } - if (.@card_2_future == 13) { - cutin "»êŸÆ÷¸µÄ«µå",4; // Santa Poring Card - mes " Something exciting may happen! What can it be? Fun! Fun! "; - } - if (.@card_2_future == 14) { - cutin "»êŸÆ÷¸µÄ«µå",4; // Santa Poring Card - mes " Something good might happen on this nice day! You can look forward to it! Yay! "; - } - if (.@card_2_future == 15) { - cutin "»êŸÆ÷¸µÄ«µå",4; // Santa Poring Card - mes " A splendid event will be held! Go get ready! Look forward to it! "; - } - if (.@card_2_future == 16) { - cutin "¼ÖÁ®½ºÄÌÅæÄ«µå",4; // Soldier Skeleton Card - mes " You will meet someone new! It will be very interesting! "; - } - if (.@card_2_future == 17) { - cutin "¼ÖÁ®½ºÄÌÅæÄ«µå",4; // Soldier Skeleton Card - mes " If you go little by little, something good will happen! Sit and take a look around you! "; - } - if (.@card_2_future == 18) { - cutin "¼ÖÁ®½ºÄÌÅæÄ«µå",4; // Soldier Skeleton Card - mes " You get a headache from thinking about the future? Empty your mind! You will feel refreshed! "; - } - if (.@card_2_future == 19) { - cutin "½ºÄÌ·¹ÅæÄ«µå",4; // Skeleton Card - mes " You will become a respectable person in the future! Good job! "; - } - if (.@card_2_future == 20) { - cutin "½ºÄÌ·¹ÅæÄ«µå",4; // Skeleton Card - mes " I can see you working hard in the future! What a lively future! "; - } - if (.@card_2_future == 21) { - cutin "½ºÄÌ·¹ÅæÄ«µå",4; // Skeleton Card - mes " You have a very busy future! Take care of your health! "; - } - if (.@card_2_future == 22) { - cutin "¿¡µå°¡Ä«µå",4; // Eddga Card - mes " Pick a job where you can work with other people! It will be very rewarding, right? "; - } - if (.@card_2_future == 23) { - cutin "¿¡µå°¡Ä«µå",4; // Eddga Card - mes " Try doing some volunteer work! It is worthwhile and you will feel good about it, too! "; - } - if (.@card_2_future == 24) { - cutin "¿¡µå°¡Ä«µå",4; // Eddga Card - mes " You may become a commander! Mmm~! Kind of scary! "; - } - if (.@card_2_future == 25) { - cutin "¿£Á©¸µÄ«µå",4; // Angeling Card - mes " Choose a job that involves flying! You show potential! "; - } - if (.@card_2_future == 26) { - cutin "¿£Á©¸µÄ«µå",4; // Angeling Card - mes " Scrumptious ice cream that could even be eaten in heaven! Challenge yourself and get involved in a job making things of that sort! "; - } - if (.@card_2_future == 27) { - cutin "¿£Á©¸µÄ«µå",4; // Angeling Card - mes " In the future, things that cannot be done right now will be accomplished! You can look forward to it! "; - } - if (.@card_2_future == 28) { - cutin "Æ÷¸µÄ«µå",4; // Poring Card - mes " Little things in life will bring you happiness and joy in the future! Even more than now! "; - } - if (.@card_2_future == 29) { - cutin "Æ÷¸µÄ«µå",4; // Poring Card - mes " Do what you have to do. Live life to the fullest, even though the world may end tomorrow! "; - } - if (.@card_2_future == 30) { - cutin "Æ÷¸µÄ«µå",4; // Poring Card - mes " You will deal with fruits in the future! How about preparing yourself? "; - } - if (.@card_2_future == 31) { - cutin "Æ÷Æ÷¸µÄ«µå",4; // Poporing Card - mes " Your future self will encounter a high wall! Although, I'm not sure what type of building it may be! "; - } - if (.@card_2_future == 32) { - cutin "Æ÷Æ÷¸µÄ«µå",4; // Poporing Card - mes " Green symbolizes peace! Your future seems as if it will be very peaceful! It's a good thing, right? "; - } - if (.@card_2_future == 33) { - cutin "Æ÷Æ÷¸µÄ«µå",4; // Poporing Card - mes " Romance lays ahead in your future! Relax yourself and prepare yourself! "; - } - next; - mes "[Chocarle]"; - mes " What do you think? Has your anxiety been relieved after hearing your fortune? "; - mes " This is only a small part of your future! You must discover the rest! "; - next; - cutin "",255; - mes "[Chocarle]"; - mes " Am I cheesy? I'm just like that! Then, bye~~~~ye~~~ye~~~~!! "; - break; + mes " Oh! Your lover is about to leave your side! Hold on tight! "; + break; + case 2: + mes " Agh! You're about to give your soul to your loved one! Take it down a notch! "; + break; + case 3: + mes " No! Your heart is about to leave your love! Catch it! "; + break; + case 4:// Drops Card + mes " Love is like juice in the forest! It is refreshing! Take care of your loved one! "; + break; + case 5: + mes " Uh! You didn't share your juice with your loved one! What a shame! Take care of your loved one! "; + break; + case 6: + mes " Why not share with your loved one? Don't be too greedy and try to keep it all! "; + break; + case 7:// Mantis Card + mes " Your love is going to have a crisis! Protect your love! "; + break; + case 8: + mes " Hee! Go after your love like a mole! Puhahaha! "; + break; + case 9: + mes " Oh no! Your love is in danger! Run away from the menace! "; + break; + case 10:// Munak Card + mes " Oh no! You lost your loved one. And, nobody similar around you. Cheer up! "; + break; + case 11: + mes " Ah! A sexy rival has appeared! Don't get sidetracked! "; + break; + case 12: + mes " You are desperately searching for love! If you go beyond this desert, you can find love! "; + break; + case 13:// Santa Poring Card + mes " Prepare an event of love! They will be flying with happiness! "; + break; + case 14: + mes " Love is sweet! Be careful not to get cavities! "; + break; + case 15: + mes " Prepare a present for your love! They might get a heart attack because they will be overwhelmed with happiness! "; + break; + case 16:// Soldier Skeleton Card + mes " Don't be shy in front of your loved one! Love transcends everything! "; + break; + case 17: + mes " Embrace every aspect of your loved one! That is true love! "; + break; + case 18: + mes " Love will blossom with a totally different person! Wow, so cool! "; + break; + case 19:// Skeleton Card + mes " No matter what other people say, run towards your loved one! One-track love! "; + break; + case 20: + mes " Go to your loved one with a present! They will be very happy! "; + break; + case 21: + mes " Love requires health and strength! Exercise to become stronger! Power and love! "; + break; + case 22:// Eddga Card + mes " Even if you wish to approach your loved one, your body is discomforted! Take a break and rest! "; + break; + case 23: + mes " Love is bending yourself for someone! Service! Sacrifice! "; + break; + case 24: + mes " You will be meeting your lover's parents! Prepare well! "; + break; + case 25:// Angeling Card + mes " Your relationship must be very happy as it seems you two are flying amongst the clouds! Very jealous! "; + break; + case 26: + mes " Make an opportunity to be alone with each other! It will bring much happiness! "; + break; + case 27: + mes " Uh oh! Someone is peeping at your love! Go scold them! "; + break; + case 28:// Poring Card + mes " Love blossoms from the foundation! Be true to the basics! "; + break; + case 29: + mes " When your loved one is hurt, be by them! They will be very happy! "; + break; + case 30: + mes " One day, when you wake up, your loved one will leave a present! Be happy! "; + break; + case 31:// Poporing Card + mes " Give lots~~ of presents to your loved one! Then you will experience many~ many good things! "; + break; + case 32: + mes " Lean against a wall and await your love! *Boom* Love will appear! "; + break; + case 33: + mes " You must be lonely! It's ok, cheer up! "; + break; + } + next; + mes "[Chocarle]"; + mes " A fortune of love was told! What do you think! Do you like it? "; + mes " Even if you did not get the fortune you wished for, don't be do upset and simply go for your love! "; + cutin "",255; + next; + mes "[Chocarle]"; + mes " Then, see you next time~~~~~ "; + close; + case 2:// Study + mes "[Chocarle]"; + mes " Issues about studying is a serious matter! Lets take a look! Yap! "; + next; + .@card_2_study = rand(1,33); + callsub L_displaycutin, .@card_2_study; + + mes "[Chocarle]"; + switch(.@card_2_study) { + case 1: + mes " Agh! Don't die from studying! Take breaks while you're at it! You need some rest! "; + break; + case 2: + mes " Oh, no! You're missing the main points! Figure out the essentials! "; + break; + case 3: + mes " Mmph! You're dying not to study! At times like this, a break is the best! "; + break; + case 4:// Drops Card + mes " Studying is just like hunting a monster in the desert. Resting for a little is the best. Understand? "; + break; + case 5: + mes " A nice cup of cold juice under the hot sun! Studying should be done like that, too! "; + break; + case 6: + mes " Even though it is the desert, you seem to have a relaxed smile! Maybe you need to relax like this when studying as well! "; + break; + case 7:// Mantis Card + mes " Your grades are in danger! You must study harder! "; + break; + case 8: + mes " There may be a big crisis! Don't get too stressed just because you can't study! "; + break; + case 9: + mes " It is saying studying in the dark night can be dangerous! Careful when studying at night! "; + break; + case 10:// Munak Card + mes " Studying came to a strange place! It needs to find its original path! You can do it! "; + break; + case 11: + mes " You're gazing at a smart friend with the eyes of a Poring! Heehee! Doing good! "; + break; + case 12: + mes " Eh? You're too smart! You're at a much higher level than your friends! Take a break! "; + break; + case 13:// Santa Poring Card + mes " You will be rewarded for your accomplishments! It was worth the effort! "; + break; + case 14: + mes " Forget about studying for a moment and enjoy the party! It should be refreshing~! "; + break; + case 15: + mes " Study something that will make people happy! Future set! "; + break; + case 16:// Soldier Skeleton Card + mes " If you're not sure of something, ask a friend! It's not something to be ashamed about! You can do it! "; + break; + case 17: + mes " Don't think that your head is empty! Because, you are smart! You can do it! "; + break; + case 18: + mes " There's a phenomenon you don't understand! Do a little more research! You'll be able to figure it out soon! "; + break; + case 19:// Skeleton Card + mes " Don't get lazy about studying wherever you go! Seek the road of truth and go down it to find the answer! "; + break; + case 20: + mes " You need strength to study! Get stronger! Running is a start! "; + break; + case 21: + mes " You will become an admirable person because of all the effort put into studying! You must feel very worth while! "; + break; + case 22:// Eddga Card + mes " Try studying the history of our country! From when the tiger started smoking! "; + break; + case 23: + mes " You must be having a hard time studying because of all the pressure! Go out and get some fresh air! "; + break; + case 24: + mes " Your head seems to be heavy because of studying! You need a diversion! Put studying aside for a moment! "; + break; + case 25:// Angeling Card + mes " Try studying aerospace or meteorology! Don't you think it would be fun? "; + break; + case 26: + mes " How about studying theology? You even get to study about angels! "; + break; + case 27: + mes " Study little by little and make yourself feel lighter! You can't study if you're overloaded with words! "; + break; + case 28:// Poring Card + mes " When studying, you should have a snack! It may seem trivial, but it is rather important! "; + break; + case 29: + mes " Even when you are sick, don't forget about studying! Where there is effort, there is bound to be good results! "; + break; + case 30: + mes " Newton discovered gravity through a falling apple! Be wary of even the little things in your surroundings! "; + break; + case 31:// Poporing Card + mes " Green is good for studying! Color your walls green or get a green drink! The lucky color! Green! "; + break; + case 32: + mes " There is a jewel in your mind! You need to bring all the wisdom to life! Don't study bad things! "; + break; + case 33: + mes " You will receive good results from studying! You can focus on your current studies! "; + break; + } + next; + mes "[Chocarle]"; + mes " You've been told your study fortune! Was it a good one? "; + mes " But in studying, effort is more important than any type of fortune! "; + next; + cutin "",255; + mes "[Chocarle]"; + mes " Try your best. Then, see you again! Byyyyyyyyyyyyyyyyeeeee~~byyyyeeee~ "; + close; + case 3:// Friends + mes "[Chocarle]"; + mes " Relationships among friends is more difficult than people think! Let's use the cards to try and solve this complicated puzzle of friendship! "; + next; + .@card_2_buddy = rand(1,33); + callsub L_displaycutin, .@card_2_buddy; + + mes "[Chocarle]"; + switch(.@card_2_buddy) { + case 1: + mes " Ah! Your friend has gone crazy! They need the heal of friendship! "; + break; + case 2: + mes " Mmm! You both have gone crazy. You must overcome it through conversations! "; + break; + case 3: + mes " Agh! You are suffering because of your friend! Try opening your heart and be more lenient! "; + break; + case 4:// Drops Card + mes " You even split a pea between friends! Don't be so cruel. Reflect upon yourself and apologize! "; + break; + case 5: + mes " Oh no! Your friend is ignoring you! Offer a bottle of juice to your friend! Your friendship may come back? "; + break; + case 6: + mes " Eh!? What kind of friendship is this?! Hurry up and make up! "; + break; + case 7:// Mantis Card + mes "Oh no?! This person is not your friend, but an enemy! You must be careful! "; + break; + case 8: + mes " Your friend is in danger! You must help your friend! "; + break; + case 9: + mes " Your friendship is on the verge of falling apart! Cast a shield around your friendship! "; + break; + case 10:// Munak Card + mes " One person is left out amongst your friends! Be more friendly! "; + break; + case 11: + mes " Your friend hit you! Don't cry even if it may hurt! Hurry and make up! "; + break; + case 12: + mes " You must be alone! It must be hard to make friends! Try putting on a brighter face! "; + break; + case 13:// Santa Poring Card + mes " Give your friends a present! Your friendship will become deeper! "; + break; + case 14: + mes " Prepare a hat to cover your friend's large head! They will be moved by your care! "; + break; + case 15: + mes " A friend is waiting for you! Be nice to your friend! "; + break; + case 16:// Soldier Skeleton Card + mes " Being close friends despite differences is true friendship! Shelter each other's differences! "; + break; + case 17: + mes " Your misunderstandings will be removed if you take the time to talk! Go have a conversation with your friend! "; + break; + case 18: + mes " When a friend is sick, visit them! They will be happy! For sure! "; + break; + case 19:// Skeleton Card + mes " Go out and have some fun with your friend! Your friendship will surely get stronger! "; + break; + case 20: + mes " Give your friend a present! They'll go bragging around town?! "; + break; + case 21: + mes " Share your bone with your friend! Sacrifices in friendship are beautiful! "; + break; + case 22:// Eddga Card + mes " Do anything for your friend! With all your heart and soul! Your friend will be delighted! "; + break; + case 23: + mes " No smoking, even with a friend! Stop smoking for your health! "; + break; + case 24: + mes " You and your friend will encounter hardships! Combine your powers and overcome it! "; + break; + case 25:// Angeling Card + mes " Go on a trip with your friend! Friendship can get stronger in new environments! "; + break; + case 26: + mes " Give your friend a ride in a plane! They'll probably fly with joy!? "; + break; + case 27: + mes " Don't forget your friend in heaven! Friendship is eternal! "; + break; + case 28:// Poring Card + mes " Help your friend's scar. Your friend would greatly appreciate it! "; + break; + case 29: + mes " You even split a slice of an apple among friends! Share more things with your friend! Something good will happen! "; + break; + case 30: + mes " When your friend is sleeping, think of them! Then there will be progress in your friendship! What do you think~ it means~?! "; + break; + case 31:// Poporing Card + mes " Don't measure friendship with money! If you do, be careful for there will be a crack in your friendship! "; + break; + case 32: + mes " It seems as if your friend will give you many presents! Look forward to it! "; + break; + case 33: + mes " You must be lonely without a friend! A good friend will come along soon! "; + break; + } + next; + mes "[Chocarle]"; + mes " Poring fortunetelling works very well when it is about friendship! "; + mes " It is the heart of the poring card that earnestly hopes for good friendships! "; + next; + cutin "",255; + mes "[Chocarle]"; + mes " Did you like it? Next time invite your friend! Then byebye!! "; + close; + case 4:// Future + mes "[Chocarle]"; + mes " If you say fortunetelling! Of course it is about the future! Let's try to figure this out! "; + next; + .@card_2_future = rand(1,33); + callsub L_displaycutin, .@card_2_future; - //=================================================================Fortune === - case 5: - mes "[Chocarle]"; - mes " Mmm! The long awaited time has come! Asking a question about money to the cute Poring! "; - mes " Ok! Let's try it! "; - next; - mes "[Chocarle]"; - set .@card_2_fortune,rand(1,33); - if (.@card_2_fortune == 1) { - cutin "°í½ºÆ®¸µÄ«µå",4; // Ghostring Card - mes " Uh oh! You're about to be robbed! You must save a little first! "; - } - if (.@card_2_fortune == 2) { - cutin "°í½ºÆ®¸µÄ«µå",4; // Ghostring Card - mes " Kek! Your mind goes blank when you think about money! Think of other thoughts! Forget about money for a while! "; - } - if (.@card_2_fortune == 3) { - cutin "°í½ºÆ®¸µÄ«µå",4; // Ghostring Card - mes " Bah! This isn't a time to think about money. Calm down and put your mind at ease! "; - } - if (.@card_2_fortune == 4) { - cutin "µå·ÓÇÁ½ºÄ«µå",4; // Drops Card - mes " If you look carefully, it is not drinking juice, but underground water through a straw in the ground! Money is hidden where nobody expects! Good luck searching! "; - } - if (.@card_2_fortune == 5) { - cutin "µå·ÓÇÁ½ºÄ«µå",4; // Drops Card - mes " As you can quench your thirst in the dry desert, you can gather money even in this difficult world! "; - } - if (.@card_2_fortune == 6) { - cutin "µå·ÓÇÁ½ºÄ«µå",4; // Drops Card - mes " Just like the juice inside the needles of a cactus, you can still gather wealth though you may be in anguish. You can do it! "; - } - if (.@card_2_fortune == 7) { - cutin "¸ÇƼ½ºÄ«µå",4; // Mantis Card - mes "Agh! Someone is after your possessions! Be careful! "; - } - if (.@card_2_fortune == 8) { - cutin "¸ÇƼ½ºÄ«µå",4; // Mantis Card - mes " Uh oh! Someone is after your money! Take good care of it! "; - } - if (.@card_2_fortune == 9) { - cutin "¸ÇƼ½ºÄ«µå",4; // Mantis Card - mes " It says you might be tempted to do something bad to gather money! Don't forget about a kind heart! "; - } - if (.@card_2_fortune == 10) { - cutin "¹«³«Ä«µå",4; // Munak Card - mes " You have hidden money in your clothes! Hidden rich one! Be careful not to be caught! "; - } - if (.@card_2_fortune == 11) { - cutin "¹«³«Ä«µå",4; // Munak Card - mes " In the future, it seems like you will be kicking money around with your feet like those Porings! Congratulations! "; - } - if (.@card_2_fortune == 12) { - cutin "¹«³«Ä«µå",4; // Munak Card - mes " You must be exhausted! Making money is not the easiest thing to do! But it will be that much more valuable! "; - } - if (.@card_2_fortune == 13) { - cutin "»êŸÆ÷¸µÄ«µå",4; // Santa Poring Card - mes " Your tendency to spend money is growing! Be careful! Don't be left empty-handed! "; - } - if (.@card_2_fortune == 14) { - cutin "»êŸÆ÷¸µÄ«µå",4; // Santa Poring Card - mes " Use your money to buy something fun! Then good luck will be headed your way! "; - } - if (.@card_2_fortune == 15) { - cutin "»êŸÆ÷¸µÄ«µå",4; // Santa Poring Card - mes " Use your money on something exciting! It looks as if good luck will be headed your way! "; - } - if (.@card_2_fortune == 16) { - cutin "¼ÖÁ®½ºÄÌÅæÄ«µå",4; // Soldier Skeleton Card - mes " It seems like you will have two lucky offerings! Don't miss these two opportunities! "; - } - if (.@card_2_fortune == 17) { - cutin "¼ÖÁ®½ºÄÌÅæÄ«µå",4; // Soldier Skeleton Card - mes " Doesn't it seem like there should be money in the small wallet? You will have some small income! Save money wisely! "; - } - if (.@card_2_fortune == 18) { - cutin "¼ÖÁ®½ºÄÌÅæÄ«µå",4; // Soldier Skeleton Card - mes " So~ empty. Upsetting, but don't worry too much about money! Something better ought to happen! "; - } - if (.@card_2_fortune == 19) { - cutin "½ºÄÌ·¹ÅæÄ«µå",4; // Skeleton Card - mes " Someone will return something you lost! What a relief! "; - } - if (.@card_2_fortune == 20) { - cutin "½ºÄÌ·¹ÅæÄ«µå",4; // Skeleton Card - mes " No need to worry about osteoporosis! Wasn't it a good thing to eat so much calcium? Oops! This isn't about money?! "; - } - if (.@card_2_fortune == 21) { - cutin "½ºÄÌ·¹ÅæÄ«µå",4; // Skeleton Card - mes " Seeing that you work so hard, seems like you will make lots of money! Congratz~! "; - } - if (.@card_2_fortune == 22) { - cutin "¿¡µå°¡Ä«µå",4; // Eddga Card - mes " Even if you save money, it disappears like smoke. Don't get too caught up with it! "; - } - if (.@card_2_fortune == 23) { - cutin "¿¡µå°¡Ä«µå",4; // Eddga Card - mes " It's hard to make money, isn't it? But don't forget the good deeds in life! "; - } - if (.@card_2_fortune == 24) { - cutin "¿¡µå°¡Ä«µå",4; // Eddga Card - mes " Going around to collect money might lead you to a scary person! Be very careful! "; - } - if (.@card_2_fortune == 25) { - cutin "¿£Á©¸µÄ«µå",4; // Angeling Card - mes " Forget about money and fly~fly! You will feel very refreshed! "; - } - if (.@card_2_fortune == 26) { - cutin "¿£Á©¸µÄ«µå",4; // Angeling Card - mes " Money is like clouds! Instead of money, think about a happy life! "; - } - if (.@card_2_fortune == 27) { - cutin "¿£Á©¸µÄ«µå",4; // Angeling Card - mes " Even if it may seem pointless, if you persist, you will be able to make lots of money! You can do it! "; - } - if (.@card_2_fortune == 28) { - cutin "Æ÷¸µÄ«µå",4; // Poring Card - mes " Don't neglect the trivial things on the floor! If you keep an open heart like that, you will be able to collect money! "; - } - if (.@card_2_fortune == 29) { - cutin "Æ÷¸µÄ«µå",4; // Poring Card - mes " If you work with something that is related to mushrooms or apples, a good fortune awaits you! What kind of work would that be? "; - } - if (.@card_2_fortune == 30) { - cutin "Æ÷¸µÄ«µå",4; // Poring Card - mes " How can you think of money looking at such a peaceful card! That's not nice! Sniff..sniffles! Anyhow, it seems like you will gather much fortune! "; - } - if (.@card_2_fortune == 31) { - cutin "Æ÷Æ÷¸µÄ«µå",4; // Poporing Card - mes " You have many fine stones! You will prosper if you are involved in this industry! "; - } - if (.@card_2_fortune == 32) { - cutin "Æ÷Æ÷¸µÄ«µå",4; // Poporing Card - mes " It is an indication that you will prosper! No need to worry now! "; - } - if (.@card_2_fortune == 33) { - cutin "Æ÷Æ÷¸µÄ«µå",4; // Poporing Card - mes " You will collect many treasures! But the problem is protecting all of it! "; - } - next; - mes "[Chocarle]"; - mes " There is something you need to keep in mind after being told a fortune about wealth! "; - mes " Money does not automatically come to one without effort! No matter how good the fortune, you must work diligently! "; - next; - cutin "",255; - mes "[Chocarle]"; - mes " Bear that in mind! Then, until we meet again.. *poof*! "; + mes "[Chocarle]"; + switch(.@card_2_future) { + case 1: + mes " Oh no! You are not confident about the future! Trust yourself a little more! Hope! "; + break; + case 2: + mes " Oh! Do you keep on thinking about your death in the future! First, forget about death and live your life! "; + break; + case 3: + mes " Cut! You are filled with uncertainty about the future! Let's get rid of this! Wee! It's gone! "; + break; + case 4:// Drops Card + mes " Life may seem like a hot and dry desert, but in the future, delicious juice and rest awaits you! "; break; - } + case 5: + mes " Even in a hot and dry desert, isn't the future happier since you can encounter sweet juice? Put forth your strength! "; + break; + case 6: + mes " Don't your troubles disappear watching a poring smile? Your future must be filled with good things! "; + break; + case 7:// Mantis Card + mes " There is danger waiting ahead! You should avoid it for now! Take care of yourself! "; + break; + case 8: + mes " You must be fearing your future!? Don't worry too much! Think of happy thoughts! "; + break; + case 9: + mes " You may endanger someone in the future! Don't become a bad person~! "; + break; + case 10:// Munak Card + mes " You may have to stand alone in the future! Prepare yourself right now! "; + break; + case 11: + mes " Many hardships await you in the future! But you can overcome them! "; + break; + case 12: + mes " You might not even be able to buy summer clothes in the future! Don't waste your money! "; + break; + case 13:// Santa Poring Card + mes " Something exciting may happen! What can it be? Fun! Fun! "; + break; + case 14: + mes " Something good might happen on this nice day! You can look forward to it! Yay! "; + break; + case 15: + mes " A splendid event will be held! Go get ready! Look forward to it! "; + break; + case 16:// Soldier Skeleton Card + mes " You will meet someone new! It will be very interesting! "; + break; + case 17: + mes " If you go little by little, something good will happen! Sit and take a look around you! "; + break; + case 18: + mes " You get a headache from thinking about the future? Empty your mind! You will feel refreshed! "; + break; + case 19:// Skeleton Card + mes " You will become a respectable person in the future! Good job! "; + break; + case 20: + mes " I can see you working hard in the future! What a lively future! "; + break; + case 21: + mes " You have a very busy future! Take care of your health! "; + break; + case 22:// Eddga Card + mes " Pick a job where you can work with other people! It will be very rewarding, right? "; + break; + case 23: + mes " Try doing some volunteer work! It is worthwhile and you will feel good about it, too! "; + break; + case 24: + mes " You may become a commander! Mmm~! Kind of scary! "; + break; + case 25:// Angeling Card + mes " Choose a job that involves flying! You show potential! "; + break; + case 26: + mes " Scrumptious ice cream that could even be eaten in heaven! Challenge yourself and get involved in a job making things of that sort! "; + break; + case 27: + mes " In the future, things that cannot be done right now will be accomplished! You can look forward to it! "; + break; + case 28:// Poring Card + mes " Little things in life will bring you happiness and joy in the future! Even more than now! "; + break; + case 29: + mes " Do what you have to do. Live life to the fullest, even though the world may end tomorrow! "; + break; + case 30: + mes " You will deal with fruits in the future! How about preparing yourself? "; + break; + case 31:// Poporing Card + mes " Your future self will encounter a high wall! Although, I'm not sure what type of building it may be! "; + break; + case 32: + mes " Green symbolizes peace! Your future seems as if it will be very peaceful! It's a good thing, right? "; + break; + case 33: + mes " Romance lays ahead in your future! Relax yourself and prepare yourself! "; + break; + } + next; + mes "[Chocarle]"; + mes " What do you think? Has your anxiety been relieved after hearing your fortune? "; + mes " This is only a small part of your future! You must discover the rest! "; + next; + cutin "",255; + mes "[Chocarle]"; + mes " Am I cheesy? I'm just like that! Then, bye~~~~ye~~~ye~~~~!! "; + close; + case 5:// Fortune + mes "[Chocarle]"; + mes " Mmm! The long awaited time has come! Asking a question about money to the cute Poring! "; + mes " Ok! Let's try it! "; + next; + .@card_2_fortune = rand(1,33); + callsub L_displaycutin, .@card_2_fortune; + + mes "[Chocarle]"; + switch(.@card_2_fortune) { + case 1: + mes " Uh oh! You're about to be robbed! You must save a little first! "; break; case 2: - mes "[Chocarle]"; - mes " Ok then! Come again next time! We'll do a good job! Bye-bye~! "; + mes " Kek! Your mind goes blank when you think about money! Think of other thoughts! Forget about money for a while! "; + break; + case 3: + mes " Bah! This isn't a time to think about money. Calm down and put your mind at ease! "; + break; + case 4:// Drops Card + mes " If you look carefully, it is not drinking juice, but underground water through a straw in the ground! Money is hidden where nobody expects! Good luck searching! "; + break; + case 5: + mes " As you can quench your thirst in the dry desert, you can gather money even in this difficult world! "; + break; + case 6: + mes " Just like the juice inside the needles of a cactus, you can still gather wealth though you may be in anguish. You can do it! "; + break; + case 7:// Mantis Card + mes "Agh! Someone is after your possessions! Be careful! "; + break; + case 8: + mes " Uh oh! Someone is after your money! Take good care of it! "; + break; + case 9: + mes " It says you might be tempted to do something bad to gather money! Don't forget about a kind heart! "; + break; + case 10:// Munak Card + mes " You have hidden money in your clothes! Hidden rich one! Be careful not to be caught! "; + break; + case 11: + mes " In the future, it seems like you will be kicking money around with your feet like those Porings! Congratulations! "; + break; + case 12: + mes " You must be exhausted! Making money is not the easiest thing to do! But it will be that much more valuable! "; + break; + case 13:// Santa Poring Card + mes " Your tendency to spend money is growing! Be careful! Don't be left empty-handed! "; + break; + case 14: + mes " Use your money to buy something fun! Then good luck will be headed your way! "; + break; + case 15: + mes " Use your money on something exciting! It looks as if good luck will be headed your way! "; + break; + case 16:// Soldier Skeleton Card + mes " It seems like you will have two lucky offerings! Don't miss these two opportunities! "; + break; + case 17: + mes " Doesn't it seem like there should be money in the small wallet? You will have some small income! Save money wisely! "; + break; + case 18: + mes " So~ empty. Upsetting, but don't worry too much about money! Something better ought to happen! "; + break; + case 19:// Skeleton Card + mes " Someone will return something you lost! What a relief! "; + break; + case 20: + mes " No need to worry about osteoporosis! Wasn't it a good thing to eat so much calcium? Oops! This isn't about money?! "; + break; + case 21: + mes " Seeing that you work so hard, seems like you will make lots of money! Congratz~! "; + break; + case 22:// Eddga Card + mes " Even if you save money, it disappears like smoke. Don't get too caught up with it! "; + break; + case 23: + mes " It's hard to make money, isn't it? But don't forget the good deeds in life! "; + break; + case 24: + mes " Going around to collect money might lead you to a scary person! Be very careful! "; + break; + case 25:// Angeling Card + mes " Forget about money and fly~fly! You will feel very refreshed! "; + break; + case 26: + mes " Money is like clouds! Instead of money, think about a happy life! "; + break; + case 27: + mes " Even if it may seem pointless, if you persist, you will be able to make lots of money! You can do it! "; + break; + case 28:// Poring Card + mes " Don't neglect the trivial things on the floor! If you keep an open heart like that, you will be able to collect money! "; + break; + case 29: + mes " If you work with something that is related to mushrooms or apples, a good fortune awaits you! What kind of work would that be? "; + break; + case 30: + mes " How can you think of money looking at such a peaceful card! That's not nice! Sniff..sniffles! Anyhow, it seems like you will gather much fortune! "; + break; + case 31:// Poporing Card + mes " You have many fine stones! You will prosper if you are involved in this industry! "; + break; + case 32: + mes " It is an indication that you will prosper! No need to worry now! "; + break; + case 33: + mes " You will collect many treasures! But the problem is protecting all of it! "; break; } - break; - case 2: + next; mes "[Chocarle]"; - mes " Poring card readings focus on cards with cute Porings..! "; - mes " Poke~poke~ they tell you your fortune! It is not traditional, but the liveliness is the best! "; + mes " There is something you need to keep in mind after being told a fortune about wealth! "; + mes " Money does not automatically come to one without effort! No matter how good the fortune, you must work diligently! "; next; + cutin "",255; mes "[Chocarle]"; - mes " The fortunes are simple and refreshing. It is perfect when you would like your fortune told with a light heart and not be burdensome! "; - break; + mes " Bear that in mind! Then, until we meet again.. *poof*! "; + close; } - close; + +L_displaycutin: + .@arg = getarg(0); + if (.@arg < 4) cutin "°í½ºÆ®¸µÄ«µå",4; // Ghostring Card + else if (.@arg < 7) cutin "µå·ÓÇÁ½ºÄ«µå",4; // Drops Card + else if (.@arg < 10) cutin "¸ÇƼ½ºÄ«µå",4; // Mantis Card + else if (.@arg < 13) cutin "¹«³«Ä«µå",4; // Munak Card + else if (.@arg < 16) cutin "»êŸÆ÷¸µÄ«µå",4; // Santa Poring Card + else if (.@arg < 19) cutin "¼ÖÁ®½ºÄÌÅæÄ«µå",4;// Soldier Skeleton Card + else if (.@arg < 22) cutin "½ºÄÌ·¹ÅæÄ«µå",4; // Skeleton Card + else if (.@arg < 25) cutin "¿¡µå°¡Ä«µå",4; // Eddga Card + else if (.@arg < 28) cutin "¿£Á©¸µÄ«µå",4; // Angeling Card + else if (.@arg < 31) cutin "Æ÷¸µÄ«µå",4; // Poring Card + else cutin "Æ÷Æ÷¸µÄ«µå",4;// Poporing Card + return; } -payon_in03,118,119,1 script Ascetic 101,2,2,{ +payon_in03,118,119,1 script Ascetic 4W_F_01,2,2,{ mes "[Kissy-Kissy]"; mes "NyangNyangNyang~"; mes "NyaNyangNyaNyag~"; next; mes "[Kissy-Kissy]"; - mes "I decided to become a fortuneteller"; + mes "I decided to become a fortune teller"; mes "when I was young and came to the city"; mes "and devoted myself to training."; mes "I was in agony because of my slow progress."; diff --git a/other/gm_npcs.txt b/other/gm_npcs.txt index 85f0fab..185ff85 100644 --- a/other/gm_npcs.txt +++ b/other/gm_npcs.txt @@ -39,7 +39,7 @@ function script F_GM_NPC { if (getarg(1) == 0) { // Integer password if (getarg(3,0)) { - set .@error, input(.@input,getarg(2),getarg(3)); + .@error = input(.@input,getarg(2),getarg(3)); if (.@error) return -2; } else @@ -100,6 +100,8 @@ List of GM Management NPCs (incomplete) - sorcereryal - Button Girl#wl - Button Girl#sura +- Battle Test Control#ko +- Guide#ko_helper -------------------------- - Soul Linker Var - 1st Job Quest Reset @@ -116,6 +118,9 @@ List of GM Management NPCs (incomplete) - Field Bush Switch - Bakonawa Intro Helper - Pintados Manager#pin +- #pa0829Reactor11 +- New Oz Image#1 +- Professor Aide#worm -------------------------- - Allied Manager#gm - #timer_alba01 @@ -148,5 +153,9 @@ List of GM Management NPCs (incomplete) -------------------------- - Monster Race Manager - Vote Globalvar Girl#yuno (disabled) - +- 2013questreset2#xmas (event, disabled) +-------------------------- +- Mercenary Switch#Spear +- Mercenary Switch#Bow +- Mercenary Switch#Sword */ diff --git a/other/gympass.txt b/other/gympass.txt index a924a8f..c3b39ed 100644 --- a/other/gympass.txt +++ b/other/gympass.txt @@ -148,3 +148,5 @@ payon,173,141,4 script Ripped Cabus#GymPass 899,{ } } } + +prt_in,95,54,4 duplicate(Ripped Cabus#GymPass) Ripped Camus#prt 899 diff --git a/other/hugel_bingo.txt b/other/hugel_bingo.txt index 410b830..a0fcd8f 100644 --- a/other/hugel_bingo.txt +++ b/other/hugel_bingo.txt @@ -860,17 +860,13 @@ function script Func_Bingo { } function script Func_BingoResult { - if (getarg(0) == 1 || getarg(0) == 21) set .@str$,"st"; - else if (getarg(0) == 2 || getarg(0) == 22) set .@str$,"nd"; - else if (getarg(0) == 3 || getarg(0) == 23) set .@str$,"rd"; - else set .@str$,"th"; - mapannounce "que_bingo","Eukran: The "+getarg(0)+.@str$+" number is "+$bingo[getarg(0) -1]+". Please check your Bingo Plate.",4,0xFFAB54; - enablenpc ""+getarg(0)+"a#bingo"; - enablenpc ""+getarg(0)+"b#bingo"; - enablenpc ""+getarg(0)+"c#bingo"; - enablenpc ""+getarg(0)+"d#bingo"; - enablenpc ""+getarg(0)+"e#bingo"; - set getarg(0),getarg(0) +1; + mapannounce "que_bingo","Eukran: The "+callfunc("F_GetNumSuffix",getarg(0))+" number is "+$bingo[getarg(0) - 1]+". Please check your Bingo Plate.",4,0xFFAB54; + enablenpc getarg(0)+"a#bingo"; + enablenpc getarg(0)+"b#bingo"; + enablenpc getarg(0)+"c#bingo"; + enablenpc getarg(0)+"d#bingo"; + enablenpc getarg(0)+"e#bingo"; + set $@bingoresult, $@bingoresult + 1; end; } @@ -953,7 +949,7 @@ que_bingo,54,17,5 script Arcade Owner 712,{ mes "game, you will be rewarded"; mes "with ''Marvelous Medals,''"; mes "which can only be used within"; - mes "this arcade. You also can't^FFFFFF ^000000 trade medals with other players."; + mes "this arcade. You also can't trade medals with other players."; next; mes "[Arcade Owner]"; mes "You usually get 1 Marvelous"; @@ -966,8 +962,8 @@ que_bingo,54,17,5 script Arcade Owner 712,{ mes "[Arcade Owner]"; mes "Collect as many Marvelous"; mes "Medals as you can, and trade"; - mes "them for products in the Monster^FFFFFF ^000000 Racing Arena. I hear there's also"; - mes "a place in Einbroch where you can^FFFFFF ^000000 use them, but I wouldn't know."; + mes "them for products in the Monster Racing Arena. I hear there's also"; + mes "a place in Einbroch where you can use them, but I wouldn't know."; close; } } diff --git a/other/marriage.txt b/other/marriage.txt index 33655c0..ef786c1 100644 --- a/other/marriage.txt +++ b/other/marriage.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= L0ne_W0lf //===== Current Version: ===================================== -//= 1.4 +//= 1.5 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -22,10 +22,26 @@ //= 1.3 Changed permanent global variables to temporary ones. [Euphy] //= Added GM NPCs (commented). //= 1.4 Added GM management function. [Euphy] +//= 1.5 Added Marriage Covenant item and VIP features. [Euphy] //============================================================ prt_church,97,100,4 script Wedding Staff#w 71,{ cutin "wedding_marry01",2; + if (countitem(6026) == 0) { + + // If the VIP system is enabled: + // - Non-VIP players must use a Marriage Covenant to get married. + // - VIP players may either pay the Zeny fee or use a Marriage Covenant. + if (VIP_SCRIPT && !vip_status(1)) { + mes "[Marry Happy]"; + mes "Sorry but you can't get married right now."; + mes "The wedding is only available for subscribed players."; + mes "But if you have a ^FF0000Marriage Covenant^000000, then you'll be able to get married!"; + goto L_End; + } + + } else + set .@covenant,1; if (Upper == 2) { mes "[Marry Happy]"; mes "Hello~"; @@ -93,7 +109,6 @@ prt_church,97,100,4 script Wedding Staff#w 71,{ mes "life with, you might want to pop the question. I hope everyone"; mes "finds their perfect match~"; break; - case 2: mes "[Marry Happy]"; mes "The first part of the"; @@ -115,7 +130,7 @@ prt_church,97,100,4 script Wedding Staff#w 71,{ mes "speak to the Bishop and tell"; mes "him the name of her groom."; mes "If these names are correctly"; - mes "told to the Biship, they will"; + mes "told to the Bishop, they will"; mes "be able to exchange rings."; next; mes "[Marry Happy]"; @@ -181,24 +196,40 @@ prt_church,97,100,4 script Wedding Staff#w 71,{ mes "submit your application."; mes "I'll see you later, adventurer~"; break; - case 3: cutin "wedding_marry02",2; + if (VIP_SCRIPT) { + mes "[Marry Happy]"; + mes "^FF0000Wait!^000000"; + mes "^FF0000If your account in not a premium, you must have a Marriage Covenant to get married.^000000"; + mes "^FF0000Please check the current state of your account, and the one of your lover, before register for a wedding.^000000"; + next; + } if (Sex) { mes "[Marry Happy]"; mes "So you'd like to get married?"; mes "As a groom, you need to prepare"; - mes "^3377FF1 Tuxedo^000000 and pay ^3377FF1,300,000 zeny^000000."; - mes "Brides have to provide their own Wedding Dresses and pay a fee"; - mes "of 1,200,000 zeny."; - } - else { + if (.@covenant) { + mes "^3377FF1 Tuxedo^000000 and give me your ^3377FF1 Marriage Covenant^000000."; + mes "Brides have to provide their own Wedding Dresses and pay a fee"; + mes "of 1,200,000 zeny or also bring a Marriage Covenant."; + } else { + mes "^3377FF1 Tuxedo^000000 and pay ^3377FF1,300,000 zeny^000000."; + mes "Brides have to provide their own Wedding Dresses and pay a fee"; + mes "of 1,200,000 zeny."; + } + } else { mes "[Marry Happy]"; mes "So you'd like to get married?"; mes "As a bride, you need to prepare"; - mes "1 Wedding Dress and pay a fee"; - mes "of 1,200,000 zeny. Grooms must"; - mes "bring a Tuxedo and pay 1,300,000 zeny to get married."; + if (.@covenant) { + mes "^3377FF1 Wedding Dress^000000 and give me your ^3377FFMarriage Covenant^000000."; + mes "Grooms must bring a Tuxedo and pay"; + mes "1,300,000 zeny or also bring a Marriage Covenant."; + } else { + mes "^3377FF1 Wedding Dress^000000 and pay a fee of 1,200,000 zeny. Grooms must"; + mes "bring a Tuxedo and pay 1,300,000 zeny to get married."; + } } next; mes "[Marry Happy]"; @@ -259,33 +290,13 @@ prt_church,97,100,4 script Wedding Staff#w 71,{ mes "back after you find it, okay?"; goto L_End; } - else if (Sex) { - if (Zeny < 1300000) { - mes "[Marry Happy]"; - mes "I'm sorry, but you don't"; - mes "have the 1,300,000 zeny"; - mes "that all grooms must pay"; - mes "for the wedding ceremony."; - mes "Did you misplace your money?"; - goto L_End; - } - else if (countitem(7170) < 1) { - mes "[Marry Happy]"; - mes "Where's your Tuxedo?"; - mes "You absolutely have to"; - mes "wear it during the wedding"; - mes "ceremony! Find it, bring it"; - mes "to me, and then we can finally"; - mes "begin the wedding, okay?"; - goto L_End; - } - } else if (Sex == 0) { - if (Zeny < 1200000) { + if (countitem(6026) == 0 && Zeny < 1200000) { mes "[Marry Happy]"; mes "I'm sorry, but all brides"; mes "must pay the 1,200,000"; - mes "zeny fee to proceed with the"; + mes "zeny fee or bring a Marriage"; + mes "Covenant to proceed with the"; mes "wedding ceremony. Perhaps"; mes "you could ask your partner"; mes "to help you with the funds?"; @@ -302,6 +313,28 @@ prt_church,97,100,4 script Wedding Staff#w 71,{ goto L_End; } } + else if (Sex == 1) { + if (countitem(6026) == 0 && Zeny < 1300000) { + mes "[Marry Happy]"; + mes "I'm sorry, but you don't"; + mes "have the 1,300,000 zeny"; + mes "or the Marriage Covenant"; + mes "that all grooms must pay"; + mes "for the wedding ceremony."; + mes "Did you misplace your money?"; + goto L_End; + } + else if (countitem(7170) < 1) { + mes "[Marry Happy]"; + mes "Where's your Tuxedo?"; + mes "You absolutely have to"; + mes "wear it during the wedding"; + mes "ceremony! Find it, bring it"; + mes "to me, and then we can finally"; + mes "begin the wedding, okay?"; + goto L_End; + } + } mes "[Marry Happy]"; mes "Well, it looks like you"; mes "have everything ready."; @@ -346,26 +379,32 @@ prt_church,97,100,4 script Wedding Staff#w 71,{ emotion e_lv; next; mes "[Marry Happy]"; - if (Sex) { - mes "Since you're the groom,"; - mes "you need to speak to the"; - mes "Bishop first. When you're"; - mes "finished, it will be your"; - mes "bride's turn to speak to"; - mes "Bishop Vomars."; - set Zeny, Zeny-1300000; - delitem 7170,1; //Tuxedo - } - else { + if (Sex == 0) { mes "Since you're the bride,"; mes "you need to wait for the"; mes "groom to speak to Bishop"; mes "Vomars first. When he's"; mes "finished, it'll be your turn"; mes "to speak to Bishop Vomars."; - set Zeny, Zeny-1200000; + if (.@covenant) + delitem 6026,1; //Marriage_Covenant + else + set Zeny, Zeny-1200000; delitem 2338,1; //Wedding_Dress } + else { + mes "Since you're the groom,"; + mes "you need to speak to the"; + mes "Bishop first. When you're"; + mes "finished, it will be your"; + mes "bride's turn to speak to"; + mes "Bishop Vomars."; + if (.@covenant) + delitem 6026,1; //Marriage_Covenant + else + set Zeny, Zeny-1300000; + delitem 7170,1; //Tuxedo + } delitem 2613,1; //Diamond_Ring set wedding_sign,1; goto L_End; @@ -378,7 +417,6 @@ prt_church,97,100,4 script Wedding Staff#w 71,{ mes "me so that you can apply,"; mes "okay? Have a good day~"; break; - case 4: cutin "wedding_marry02",2; donpcevent "Single Army#Prontera::OnEnable"; @@ -791,7 +829,7 @@ S_Busy: mes "I'm conducting a wedding"; mes "for another couple now, so"; mes "please wait patiently for your"; - mes "turn. Thanks for understanding... ^FFFFFF ^000000"; + mes "turn. Thanks for understanding..."; goto L_End; OnStop: diff --git a/other/mercenary_rent.txt b/other/mercenary_rent.txt index 7d5b02f..dd4184b 100644 --- a/other/mercenary_rent.txt +++ b/other/mercenary_rent.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= L0ne_W0lf //===== Current Version: ===================================== -//= 1.4 +//= 1.5 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -16,41 +16,43 @@ //= 1.2 Removed redundent input. [L0ne_W0lf] //= 1.3 Duplicates now spawned from floating NPCs. [L0ne_W0lf] //= 1.4 Optimized and fixed wrong item id. [Joseph] +//= 1.5 Added Mercenary Guild Switch & fixed a bug +//= in izlude duplicate. [Capuche] +//= 1.5a Change to F_GM_NPC function in Mercenary Guild Switch //============================================================ - script Mercenary Manager#main -1,{ setarray .@name$, "Spear", "Sword", "Bow"; setarray .@faith$, "SPEAR_MERC_GUILD", "SWORD_MERC_GUILD", "ARCH_MERC_GUILD"; setarray .@item, 12182, 12172, 12162; - set .@npc$, strnpcinfo(2); - for (set .@size, getarraysize(.@name$); .@i < .@size; set .@i, .@i + 1) - if (.@npc$ == .@name$[.@i]) set .@type, .@i; - set .@faith_merc, mercenary_get_faith(getd(.@faith$[.@type])); + .@npc$ = strnpcinfo(2); + for (.@size = getarraysize(.@name$); .@type < .@size; .@type++) + if( compare( .@npc$,.@name$[.@type] ) ) break; + .@faith_merc = mercenary_get_faith(getd(.@faith$[.@type])); mes "[Mercenary Manager]"; mes "Welcome to the"; - mes .@npc$ + " Mercenary Guild."; + mes .@name$[.@type] + " Mercenary Guild."; mes "What can I do for you?"; next; switch(select("Hire Mercenary:Mercenary Info:Nothing:10th Grade Mercenaries")) { case 1: mes "[Mercenary Manager]"; mes "You want to hire a"; - mes .@npc$ + " Mercenary?"; + mes .@name$[.@type] + " Mercenary?"; mes "Which Grade were you"; mes "interested in hiring?"; next; - setarray .@suffix$, "th","st","nd","rd"; - for (set .@i, 1; .@i <= 9; set .@i, .@i + 1) - set .@menu$, .@menu$ + .@i + .@suffix$[((.@i <= 3)? .@i : 0)] + " Grade " + .@npc$ + " Mercenary:"; - set .@Grade, select(.@menu$); - set .@BaseLevel, 5 + (.@Grade * 10); - set .@BaseLevel, (.@val > 90)? 90 : .@BaseLevel; - set .@ZenyCost, 7 * .@Grade; + for (.@i = 1; .@i <= 9; .@i++) + .@menu$ = .@menu$ + callfunc("F_GetNumSuffix",.@i) + " Grade " + .@name$[.@type] + " Mercenary:"; + .@Grade = select(.@menu$); + .@BaseLevel = 5 + (.@Grade * 10); + .@BaseLevel = (.@val > 90)? 90 : .@BaseLevel; + .@ZenyCost = 7 * .@Grade; setarray .@FaithCost[7], 50,100,300; - set .@FaithCost, .@FaithCost[.@Grade]; + .@FaithCost = .@FaithCost[.@Grade]; mes "[Mercenary Manager]"; - mes "So you want to hire a " + .@Grade + .@suffix$[((.@Grade <= 3)? .@i : 0)]; - mes "Grade " + .@npc$ + " Mercenary?"; + mes "So you want to hire a " + callfunc("F_GetNumSuffix",.@Grade); + mes "Grade " + .@name$[.@type] + " Mercenary?"; mes "You need to have attained"; mes "Base Level " + .@BaseLevel + " or higher, and"; mes "must pay the " + .@ZenyCost + ",000 zeny fee."; @@ -67,7 +69,7 @@ else if(.@FaithCost && .@faith_merc < .@FaithCost) { mes "[Mercenary Manager]"; mes "Oh... Your Loyalty rating"; - mes "with the " + .@npc$ + " Mercenary"; + mes "with the " + .@name$[.@type] + " Mercenary"; mes "Guild isn't high enough to"; mes "hire this Mercenary. Please"; mes "come back after you earn"; @@ -96,7 +98,7 @@ mes "Summoned Mercenaries will"; mes "offer their support to you for"; mes "30 minutes. Take care now."; - set Zeny, Zeny - (.@ZenyCost * 1000); + Zeny = Zeny - (.@ZenyCost * 1000); getitem .@item[.@type] - 10 + .@Grade, 1; } close; @@ -208,8 +210,8 @@ close; } } -prontera,41,337,5 duplicate(Mercenary Manager#main) Mercenary Manager#Spear 105 -pay_arche,99,167,4 duplicate(Mercenary Manager#main) Mercenary Manager#Bow 732 +prontera,41,337,5 duplicate(Mercenary Manager#main) Mercenary Manager#Spear 8W_SOLDIER +pay_arche,99,167,4 duplicate(Mercenary Manager#main) Mercenary Manager#Bow 4_M_JOB_HUNTER // Mercenary Merchant NPCs //============================================================ @@ -223,12 +225,12 @@ pay_arche,99,167,4 duplicate(Mercenary Manager#main) Mercenary Manager#Bow 732 next; setarray .@item, 12184, 12185, 12241, 12242, 12243; setarray .@cost, 1750, 3000, 560, 1050, 2100; - for (set .@size, getarraysize(.@item); .@i < .@size; set .@i, .@i + 1) - set .@menu$, .@menu$ + getitemname(.@item[.@i]) + ":"; - set .@m, select(.@menu$)-1; - set .@str$, .@cost[.@m] + ""; - set .@len, getstrlen(.@str$); - set .@str_cost$, (.@len <= 3)? .@str$ : insertchar(.@str$,",",.@len-3); + for (.@size = getarraysize(.@item); .@i < .@size; .@i++) + .@menu$ = .@menu$ + getitemname(.@item[.@i]) + ":"; + .@m = select(.@menu$)-1; + .@str$ = .@cost[.@m] + ""; + .@len = getstrlen(.@str$); + .@str_cost$ = (.@len <= 3)? .@str$ : insertchar(.@str$,",",.@len-3); mes "[Mercenary Goods Merchant]"; mes getitemname(.@item[.@m]); mes "each cost " + .@str_cost$ + " zeny."; @@ -277,14 +279,54 @@ pay_arche,99,167,4 duplicate(Mercenary Manager#main) Mercenary Manager#Bow 732 mes "Here's your " + getitemname(.@item[.@m]) + "."; else { mes "Here you are, this is exactly"; - mes .@input + " " + getitemname(.@item[.@m]) + "s."; + mes callfunc("F_InsertPlural",.@input,getitemname(.@item[.@m])) + "."; } mes "Thank you, and please come"; mes "again when you need more"; mes "potions for your Mercenaries."; - set Zeny, Zeny - .@total_po; + Zeny = Zeny - .@total_po; getitem .@item[.@m], .@input; close; } -prontera,30,337,4 duplicate(MercMerchant) Mercenary Merchant#Spear 700 -pay_arche,102,167,5 duplicate(MercMerchant) Mercenary Merchant#Bow 879 +prontera,30,337,4 duplicate(MercMerchant) Mercenary Merchant#Spear 8_F_GIRL +pay_arche,102,167,5 duplicate(MercMerchant) Mercenary Merchant#Bow 4_F_CAPEGIRL + +// Mercenary Switch NPCs +//============================================================ +- script Mercenary_Switch -1,{ + + setarray .@name$, "Spear","Sword","Bow"; + .@npc$ = strnpcinfo(2); + for (.@size = getarraysize(.@name$); .@type < .@size; .@type++) + if (.@npc$ == .@name$[.@type]) break; + + mes "[Checker]"; + mes "Please input a password."; + next; + .@i = callfunc("F_GM_NPC",1854,0,0,10000); + mes "[Checker]"; + if (.@i == -2) + mes "Error."; + else if (.@i == 0) + mes "Wrong number"; + else if (.@i == 1) { + mes "Please select."; + next; + switch( select( "Turn off Mercenary NPC","Turn on Mercenary NPC" ) ) { + case 1: + mes "NPCs are turned off."; + disablenpc "Mercenary Manager#" + .@name$[.@type]; + disablenpc "Mercenary Merchant#" + .@name$[.@type]; + break; + case 2: + mes "NPCs are turned on."; + enablenpc "Mercenary Manager#" + .@name$[.@type]; + enablenpc "Mercenary Merchant#" + .@name$[.@type]; + break; + } + } + close; +} +prontera,299,379,5 duplicate(Mercenary_Switch) Mercenary Switch#Spear 8W_SOLDIER +pay_arche,170,185,5 duplicate(Mercenary_Switch) Mercenary Switch#Bow 4_F_CAPEGIRL +izlude,245,250,4 duplicate(Mercenary_Switch) Mercenary Switch#Sword 4_F_HUWOMAN diff --git a/other/monster_race.txt b/other/monster_race.txt index 513e756..271f5c3 100644 --- a/other/monster_race.txt +++ b/other/monster_race.txt @@ -3,9 +3,9 @@ //===== By: ================================================== //= L0ne_W0lf //===== Current Version: ===================================== -//= 2.0 +//= 2.2 //===== Compatible With: ===================================== -//= rAthena SVN (Trunk, r12752+) +//= rAthena SVN //===== Description: ========================================= //= [Official Conversion] //= - Hugel Monster Races (Single and Double) @@ -24,162 +24,126 @@ //= Fixed Medal Distributor (Dual Race) disappears accordingly. [Joseph] //= 1.9 Updated RE/Pre-RE EXP. [Euphy] //= 2.0 Added GM management NPC. [Euphy] +//= 2.1 Fixed prize in dual race and optimization. [Capuche] +//= 2.2 Fixed Double Monster Race 'never ends' and win ordering. [exneval] //============================================================ // Monster Race - Single Monster Race //============================================================ hugel,51,61,0 script #race_timer1-1 -1,{ -OnInit: OnEnable: enablenpc "#race_timer1-1"; - set $@mon_time_1_1,2; +OnInit: + $@mon_time_1_1 = 2; initnpctimer; end; -OnDisable: - disablenpc "#race_timer1-1"; - stopnpctimer; - end; - OnTimer10000: mapannounce "hugel","The Single Monster Race will soon begin. We hope to see many of you participate!",bc_map,"0x87ceeb"; end; - OnTimer30000: mapannounce "hugel","The Single Monster Race Arena has just opened.",bc_map,"0x87ceeb"; - set $@mon_time_1_1,1; + $@mon_time_1_1 = 1; donpcevent "Race Progress Timer::OnEnable"; end; - OnTimer90000: mapannounce "hugel","The Single Monster Race arena is now open. Participants should enter the Arena as soon as they can.",bc_map,"0x87ceeb"; end; - OnTimer210000: mapannounce "hugel","The entrance to the Single Monster Race Arena will close shortly. Participants, please enter the arena now.",bc_map,"0x87ceeb"; end; - OnTimer270000: mapannounce "hugel","The Single Monster Race Arena's entrance will soon close.",bc_map,"0x87ceeb"; end; - OnTimer272000: mapannounce "hugel","Participants, please enter the Arena before the doors close.",bc_map,"0x87ceeb"; end; - OnTimer330000: mapannounce "hugel","The race is now starting. If you missed your chance to enter this race, please try again next time~!",bc_map,"0x87ceeb"; - set $@mon_time_1_1,0; - donpcevent "#race_timer1-1::OnDisable"; + $@mon_time_1_1 = 0; + disablenpc "#race_timer1-1"; stopnpctimer; end; } p_track01,58,0,0 script Race Progress Timer -1,{ OnEnable: - enablenpc "Race Progress Timer"; initnpctimer; - for (set .@i, 1; .@i <= 6; set .@i, .@i + 1) - enablenpc "starting#"+.@i; - set .@c, 1; - while (.@c <= 6) { - setd ".@line_"+.@c,rand(1,70); - if (getd(".@line_"+.@c) <= 10) { - setd "$@mr_1_luk"+.@c,getd(".@line_"+.@c); + enablenpc "Race Progress Timer"; + for ( .@c = 1; .@c < 7; .@c++ ) { + .@line = rand(1,70); + enablenpc "starting#"+.@c; + enablenpc "Tire"+.@c+"#1"; + if ( .@line <= 10 ) { + .@tired = rand(50,60); enablenpc "Luk"+.@c+"#5"; enablenpc "Luk"+.@c+"#6"; - setd "$@mr_1_tire"+.@c,rand(50,60); - enablenpc "Tire"+.@c+"#1"; - } else if (getd(".@line_"+.@c) <= 30) { - setd "$@mr_1_luk"+.@c,getd(".@line_"+.@c); + } else if ( .@line <= 30 ) { + .@tired = rand(40,60); enablenpc "Luk"+.@c+"#5"; - set getd(".@tired"+.@c),rand(40,60); - setd "$@mr_1_tire"+.@c,getd(".@tired"+.@c); - enablenpc "Tire"+.@c+"#1"; - if (getd(".@tired"+.@c) >= 50) enablenpc "Tire"+.@c+"#2"; - } else if (getd(".@line_"+.@c) <= 40) { - setd "$@mr_1_luk"+.@c,getd(".@line_"+.@c); + if (.@tired >= 50) enablenpc "Tire"+.@c+"#2"; + } else if ( .@line <= 40 ) { + .@tired = rand(30,50); enablenpc "Luk"+.@c+"#1"; - set getd(".@tired"+.@c),rand(30,50); - setd "$@mr_1_tire"+.@c,getd(".@tired"+.@c); - enablenpc "Tire"+.@c+"#1"; enablenpc "Tire"+.@c+"#2"; - if (getd(".@tired"+.@c) < 40) enablenpc "Tire"+.@c+"#3"; - } else if (getd(".@line_"+.@c) <= 50) { - setd "$@mr_1_luk"+.@c,getd(".@line_"+.@c); + if ( .@tired < 40 ) enablenpc "Tire"+.@c+"#3"; + } else if (.@line <= 50) { + .@tired = rand(20,40); enablenpc "Luk"+.@c+"#1"; enablenpc "Luk"+.@c+"#2"; - set getd(".@tired"+.@c),rand(20,40); - setd "$@mr_1_tire"+.@c,getd(".@tired"+.@c); - for (set .@i, 1; .@i <= 3; set .@i, .@i + 1) - enablenpc "Tire"+.@c+"#"+.@i; - if (getd(".@tired"+.@c) < 30) enablenpc "Tire"+.@c+"#4"; - } else if (getd(".@line_"+.@c)) <= 60 { - setd "$@mr_1_luk"+.@c,getd(".@line_"+.@c); - for (set .@i, 1; .@i <= 3; set .@i, .@i + 1) + enablenpc "Tire"+.@c+"#2"; + enablenpc "Tire"+.@c+"#3"; + if (.@tired < 30) enablenpc "Tire"+.@c+"#4"; + } else if (.@line <= 60) { + .@tired = rand(10,30); + for ( .@i = 1; .@i <= 3; .@i++ ) enablenpc "Luk"+.@c+"#"+.@i; - set getd(".@tired"+.@c),rand(10,30); - setd "$@mr_1_tire"+.@c,getd(".@tired"+.@c); - for (set .@i, 1; .@i <= 4; set .@i, .@i + 1) + for ( .@i = 2; .@i <= 4; .@i++ ) enablenpc "Tire"+.@c+"#"+.@i; - if (getd(".@tired"+.@c) < 20) enablenpc "Tire"+.@c+"#5"; - } else if (getd(".@line_"+.@c) <= 70) { - setd "$@mr_1_luk"+.@c,getd(".@line_"+.@c); - for (set .@i, 1; .@i <= 4; set .@i, .@i + 1) + if ( .@tired < 20) enablenpc "Tire"+.@c+"#5"; + } else if (.@line <= 70) { + .@tired = rand(0,20); + for ( .@i = 1; .@i <= 4; .@i++ ) enablenpc "Luk"+.@c+"#"+.@i; - set getd(".@tired"+.@c),rand(0,20); - setd "$@mr_1_tire"+.@c,getd(".@tired"+.@c); - for (set .@i, 1; .@i <= 5; set .@i, .@i + 1) + for ( .@i = 2; .@i <= 5; .@i++ ) enablenpc "Tire"+.@c+"#"+.@i; - if (getd(".@tired"+.@c) < 10) enablenpc "Tire"+.@c+"#6"; + if (.@tired < 10) enablenpc "Tire"+.@c+"#6"; } - set .@c, .@c + 1; + setd "$@mr_1_luk"+.@c, .@line; + setd "$@mr_1_tire"+.@c, .@tired; } end; - -OnDisable: - disablenpc "Race Progress Timer"; - stopnpctimer; - end; - OnTimer1000: enablenpc "Ticket Helper#single"; end; - OnTimer7000: mapannounce "p_track01","Welcome to the Monster Race Arena.",bc_map,"0xffb6c1"; end; - OnTimer10000: mapannounce "p_track01","Feel free to inquire at the help desk whenever you have questions.",bc_map,"0xffb6c1"; end; - OnTimer120000: mapannounce "p_track01","The Single Monster Race will start in 3 minutes.",bc_map,"0xffb6c1"; end; - OnTimer123000: mapannounce "p_track01","Please ask a Ticket Helper if you wish to wager on the race.",bc_map,"0xffb6c1"; end; - OnTimer240000: mapannounce "p_track01","The Single Monster Race will start shortly.",bc_map,"0xffb6c1"; end; - OnTimer243000: mapannounce "p_track01","Please ask a Ticket Helper if you wish to wager on the race.",bc_map,"0xffb6c1"; end; - OnTimer300000: mapannounce "p_track01","The Monster Race has already begun. Good luck to all the participants.",bc_map,"0xffb6c1"; - set $@mon_time_1_1,0; - set $@monster_race,0; + $@monster_race = 0; disablenpc "Ticket Helper#single"; - for (set .@i, 1; .@i <= 6; set .@i, .@i + 1) - donpcevent "Runner No. "+.@i+"::OnEnable"; + for ( .@i = 1; .@i <= 6; .@i++ ) + donpcevent "Runner No. "+.@i+"#"+.@i+"::OnEnable"; stopnpctimer; end; - + +OnDisable: OnInit: disablenpc "Race Progress Timer"; end; @@ -194,7 +158,7 @@ p_track01,73,22,1 script Ticket Helper#single 899,{ mes "then please select 1 out of"; mes "the 6 monsters from the list."; next; - if (!checkweight(908,200)) { + if (!checkweight("Spawn",200)) { mes "[Ticket Helper]"; mes "Wait, wait..."; mes "I can't give you"; @@ -203,11 +167,9 @@ p_track01,73,22,1 script Ticket Helper#single 899,{ mes "too many things..."; close; } - for (set .@i, 1; .@i <= 6; set .@i, .@i + 1) - set .@m$, .@m$ + "Monster "+.@i+":"; - set .@m, select ("Monster Status:"+.@m$) - 1; - if (!.@m) { - for (set .@i, 1; .@i <= 6; set .@i, .@i + 1) + .@m = select ("Monster Status", "Monster 1", "Monster 2", "Monster 3", "Monster 4", "Monster 5", "Monster 6") - 1; + if (.@m == 0) { + for ( .@i = 1; .@i <= 6; .@i++ ) mes "Monster "+.@i+" [^CC6600Luck^000000: " + getd("$@mr_1_luk"+.@i) + "] [^EE0000HP^000000: " + getd("$@mr_1_tire"+.@i) + "]"; close; } else { @@ -229,7 +191,7 @@ p_track01,73,22,1 script Ticket Helper#single 899,{ mes "announced. If the monster you"; mes "picked wins, then please use this ticket to redeem your prize."; getitem 7514,1; //Monster_Ticket - set monster_race_1,.@m; + monster_race_1 = .@m; close; } mes "[Ticket Helper]"; @@ -244,14 +206,14 @@ OnInit: end; } -- script Runner#main -1,{ - function WN; +- script Runner_main -1,{ OnEnable: emotion e_gasp; enablenpc strnpcinfo(0); getmapxy(.@m$,.@x,.@y,1); setarray .@mob[1], 1725,1726,1727,1728,1730,1729; - monster "p_track01",58,.@y,"The "+WN(1)+" Racer",.@mob[WN(0)],1,strnpcinfo(0)+"::OnMyMobDead"; + .@n = atoi( strnpcinfo(2) ); + monster "p_track01",58,.@y,"The "+ callfunc("F_GetNumSuffix",.@n) +" Racer",.@mob[.@n],1,strnpcinfo(0)+"::OnMyMobDead"; end; OnDisable: @@ -260,58 +222,40 @@ OnDisable: end; OnTouchNPC: - initnpctimer; - set .@n, WN(0); - set $@monster_race,.@n; - for (set .@i, 1; .@i <= 6; set .@i, .@i + 1) { + .@n = atoi( strnpcinfo(2) ); + $@monster_race = .@n; + for ( .@i = 1; .@i <= 6; .@i++ ) { if (.@n == .@i) continue; - donpcevent "Runner No. "+.@i+"::OnDisable"; + donpcevent "Runner No. "+.@i+"#"+.@i+"::OnDisable"; } - end; - -OnTimer1000: + sleep 1000; mapannounce "p_track01","We have a winner...!",bc_map,"0x33FF66"; - end; - -OnTimer2000: - mapannounce "p_track01","Monster "+WN(0)+" is the winner of this race!",bc_map,"0x33FF66"; - end; - -OnTimer6000: - mapannounce "p_track01","If you wagered on Monster "+WN(0)+" in this race, talk to the Medal Distributor to receive your prize!",bc_map,"0x33FF66"; - end; - -OnTimer8000: + sleep 1000; + mapannounce "p_track01","Monster "+.@n+" is the winner of this race!",bc_map,"0x33FF66"; + sleep 4000; + mapannounce "p_track01","If you wagered on Monster "+.@n+" in this race, talk to the Medal Distributor to receive your prize!",bc_map,"0x33FF66"; + sleep 2000; mapannounce "p_track01","Please remember that we can distribute Prize Medals for only 5 minutes after each race.",bc_map,"0x33FF66"; - end; - -OnTimer9000: + sleep 1000; donpcevent "Medal Distributor#single::OnEnable"; donpcevent strnpcinfo(0)+"::OnDisable"; killmonster "p_track01",strnpcinfo(0)+"::OnMyMobDead"; - stopnpctimer; end; - function WN { - set .@n, charat(strnpcinfo(0),getstrlen(strnpcinfo(0))-1); - if (!getarg(0)) return .@n; - return ((.@n <= 3)?((.@n == 1)?"1st":((.@n == 2)?"2nd":"3rd")):.@n+"th"); - } - OnInit: - if (compare(strnpcinfo(0),"main")) end; - disablenpc strnpcinfo(0); + if (strnpcinfo(2) != "" ) + disablenpc strnpcinfo(0); end; } -p_track01,30,38,0 duplicate(Runner#main) Runner No. 1 -1,1,0 -p_track01,30,36,0 duplicate(Runner#main) Runner No. 2 -1,1,0 -p_track01,30,34,0 duplicate(Runner#main) Runner No. 3 -1,1,0 -p_track01,30,32,0 duplicate(Runner#main) Runner No. 4 -1,1,0 -p_track01,30,30,0 duplicate(Runner#main) Runner No. 5 -1,1,0 -p_track01,30,28,0 duplicate(Runner#main) Runner No. 6 -1,1,0 +p_track01,30,38,0 duplicate(Runner_main) Runner No. 1#1 -1,1,0 +p_track01,30,36,0 duplicate(Runner_main) Runner No. 2#2 -1,1,0 +p_track01,30,34,0 duplicate(Runner_main) Runner No. 3#3 -1,1,0 +p_track01,30,32,0 duplicate(Runner_main) Runner No. 4#4 -1,1,0 +p_track01,30,30,0 duplicate(Runner_main) Runner No. 5#5 -1,1,0 +p_track01,30,28,0 duplicate(Runner_main) Runner No. 6#6 -1,1,0 p_track01,67,45,5 script Medal Distributor#single 845,{ - if (!checkweight(908,200)) { + if (!checkweight("Spawn",200)) { mes "[Medal Distributor]"; mes "I'm sorry, but I can't"; mes "reward you with any medals"; @@ -319,8 +263,7 @@ p_track01,67,45,5 script Medal Distributor#single 845,{ mes "available in your Inventory."; close; } - set .@insa,rand(1,1000); - if (countitem(7514)) { + if (countitem("Monster_Ticket")) {// 7514 mes "[Medal Distributor]"; mes "Hello there~"; mes "If you've wagered on the"; @@ -362,6 +305,7 @@ p_track01,67,45,5 script Medal Distributor#single 845,{ next; input .@input$; if (.@input$ == strcharinfo(0)) { + .@insa = rand(1,1000); mes "[Medal Distributor]"; mes "Ah, "+strcharinfo(0)+"."; mes "You can exchange this"; @@ -370,7 +314,7 @@ p_track01,67,45,5 script Medal Distributor#single 845,{ mes "number now. Your ticket"; mes "exchange number is ^FF0000" + .@insa + "^000000."; next; - input .@input; //,0,1000; + input .@input; if (!.@input) { mes "[Medal Distributor]"; mes "Oh? You don't want"; @@ -391,7 +335,7 @@ p_track01,67,45,5 script Medal Distributor#single 845,{ mes "Wayne in Hugel for some"; mes "interesting items. Thank you~"; delitem 7514,1; //Monster_Ticket - set monster_race_1,0; + monster_race_1 = 0; getitem 7515,4; //Marvelous_Medal close; } @@ -437,80 +381,60 @@ p_track01,67,45,5 script Medal Distributor#single 845,{ close; OnEnable: - emotion e_gasp; enablenpc "Medal Distributor#single"; + emotion e_gasp; initnpctimer; end; OnTimer1000: mapannounce "p_track01","The Monster Race is finished! Congratulations to all the winners!",bc_map,"0xFFFF00"; end; - OnTimer4000: mapannounce "p_track01","Please give your Racing Ticket to the Medal Distributor if you bet on the winning monster.",bc_map,"0xFFFF00"; end; - OnTimer7000: mapannounce "p_track01","You have 5 minutes to exchange a winning ticket for Prize Medals from the Medal Distributor.",bc_map,"0xFFFF00"; end; - OnTimer10000: mapannounce "p_track01","All tickets become void after this 5 minute period, so winners should claim their prize now.",bc_map,"0xFFFF00"; end; - OnTimer13000: mapannounce "p_track01","Please leave the Race Arena before this 5 minute period elapses. Thank you.",bc_map,"0xFFFF00"; end; - OnTimer240000: mapannounce "p_track01","Attention. We will being preparing for the next race shortly...",bc_map,"0xFFFF00"; end; - OnTimer243000: mapannounce "p_track01","We will close the Racing Arena in 1 minute to prepare for the next race.",bc_map,"0xFFFF00"; end; - OnTimer246000: mapannounce "p_track01","Participants in the last race should leave the arena as soon as possible.",bc_map,"0xFFFF00"; end; - OnTimer249000: mapannounce "p_track01","Thank you for your cooperation.",bc_map,"0xFFFF00"; end; - OnTimer252000: mapannounce "p_track01","We hope that you enjoyed the Monster Race arena. Come back again soon~",bc_map,"0xFFFF00"; - for (set .@i, 1; .@i <= 6; set .@i, .@i + 1) { - donpcevent "starting#"+.@i+"::OnDisable"; + $@mr_1_luk1 = $@mr_1_tire1 = 0; + for ( .@i = 1; .@i <= 6; .@i++ ) { + for ( .@j = 1; .@j <= 6; .@j++ ) { + disablenpc "Tire"+.@i+"#"+.@j; + disablenpc "Luk"+.@i+"#"+.@j; + } + enablenpc "Luk1#"+.@i; + enablenpc "Tire1#"+.@i; setd "$@mr_1_luk"+.@i,0; setd "$@mr_1_tire"+.@i,0; } - set .@c, 1; - while (.@c <= 6) { - for (set .@i, 1; .@i <= 6; set .@i, .@i + 1) { - disablenpc "Tire"+.@c+"#"+.@i; - disablenpc "Luk"+.@c+"#"+.@i; - } - set .@c, .@c + 1; - } end; - OnTimer300000: donpcevent "#race_timer1-1::OnEnable"; - set $@mon_time_1_1,2; - set $@monster_race,0; + $@monster_race = 0; mapwarp "p_track01","hugel",63,73; end; -OnTimer306000: - donpcevent "Race Progress Timer::OnEnable"; - end; - OnTimer342000: - disablenpc "Medal Distributor#single"; stopnpctimer; - end; - OnInit: disablenpc "Medal Distributor#single"; end; @@ -554,7 +478,7 @@ p_track01,76,36,1 script Exit Guide#single 798,{ mes "here in the Monster Race Arena."; delitem 7514,1; //Monster_Ticket } - set monster_race_1,0; + monster_race_1 = 0; close2; warp "hugel",63,73; end; @@ -628,7 +552,7 @@ hugel,58,72,6 script Eckar Ellebird#single 798,{ mes "in the Monster Race Arena~"; close; } - if (!checkweight(908,700)) { + if (!checkweight("Spawn",700)) { mes "[Eckar Ellebird]"; mes "Oh, wow. You're carrying"; mes "an awful lot of stuff... Yeah,"; @@ -644,7 +568,7 @@ hugel,58,72,6 script Eckar Ellebird#single 798,{ mes "2,000 zeny entrance fee. "; close; } - if (countitem(7514)) { + if (countitem("Monster_Ticket")) { mes "[Eckar Ellebird]"; mes "Hm? What are you doing"; mes "with an expired Racing Ticket?"; @@ -653,49 +577,48 @@ hugel,58,72,6 script Eckar Ellebird#single 798,{ delitem 7514,1; //Monster_Ticket next; if ($@mon_time_1_1 == 1) { + if (Zeny < 2000) { + mes "[Eckar Ellebird]"; + mes "I'm sorry, but you"; + mes "don't have enough"; + mes "money to pay the"; + mes "2,000 zeny entrance fee. "; + close; + } mes "[Eckar Ellebird]"; mes "Alright, I think you"; mes "should be all set. I hope"; mes "that you enjoy the race~"; mes "Let me guide you inside"; mes "the Monster Race Arena now."; - set Zeny, Zeny-2000; - set monster_race_1,0; - close2; - warp "p_track01",75,41; - end; - } else if ($@mon_time_1_1 == 2) { - mes "[Eckar Ellebird]"; - mes "We're still finishing our"; - mes "preparations for the next"; - mes "Single Monster Race, so"; - mes "we ask that you please"; - mes "wait a little while longer."; - close; - } - } else { - if ($@mon_time_1_1 == 1) { - mes "[Eckar Ellebird]"; - mes "Thanks, I hope that"; - mes "you enjoy this race."; - mes "Let me guide you now"; - mes "to the Monster Race Arena."; - set Zeny, Zeny-2000; - set monster_race_1,0; + Zeny -= 2000; + monster_race_1 = 0; close2; warp "p_track01",75,41; end; - } else if ($@mon_time_1_1 == 2) { - mes "[Eckar Ellebird]"; - mes "We're still finishing our"; - mes "preparations for the next"; - mes "Single Monster Race, so"; - mes "we ask that you please"; - mes "wait a little while longer..."; - close; } + } else if ($@mon_time_1_1 == 1) { + mes "[Eckar Ellebird]"; + mes "Thanks, I hope that"; + mes "you enjoy this race."; + mes "Let me guide you now"; + mes "to the Monster Race Arena."; + Zeny -= 2000; + monster_race_1 = 0; + close2; + warp "p_track01",75,41; + end; + } + if ($@mon_time_1_1 == 2) { + mes "[Eckar Ellebird]"; + mes "We're still finishing our"; + mes "preparations for the next"; + mes "Single Monster Race, so"; + mes "we ask that you please"; + mes "wait a little while longer..."; + close; } - if (!.@monster_race) { + if ($@monster_race == 0) { mes "[Eckar Ellebird]"; mes "Right now, a Monster Race"; mes "is in progress. It's too late to place a wager, but if you'd like"; @@ -717,8 +640,8 @@ hugel,58,72,6 script Eckar Ellebird#single 798,{ mes "Thank you~"; mes "I hope you enjoy"; mes "watching this race!"; - set Zeny, Zeny-500; - set monster_race_1,0; + Zeny -= 500; + monster_race_1 = 0; close2; warp "p_track01",75,41; end; @@ -844,44 +767,35 @@ p_track01,39,49,3 script Game Guide#single 845,{ } - script starting_1 -1,{ -OnDisable: - for(set .@i,1; .@i<7; set .@i,.@i+1) - enablenpc "Luk1#"+.@i; - for(set .@i,1; .@i<7; set .@i,.@i+1) - enablenpc "Tire1#"+.@i; - setd "$@mr_1_luk"+strnpcinfo(2),0; - setd "$@mr_1_tire"+strnpcinfo(2),0; - end; - OnTouchNPC: - set .@start,rand(1,100); - if (.@start < 11) set .@speed,60; - else if (.@start < 21) set .@speed,70; - else if (.@start < 31) set .@speed,80; - else if (.@start < 41) set .@speed,90; - else if (.@start < 51) set .@speed,100; - else if (.@start < 61) set .@speed,110; - else if (.@start < 71) set .@speed,120; - else if (.@start < 81) set .@speed,130; - else if (.@start < 91) set .@speed,140; - else set .@speed,150; + // .@speed = 10 * ( 6 + rand(100)/10 );// speed 60-150 + .@start = rand(1,100); + if (.@start < 11) .@speed = 60; + else if (.@start < 21) .@speed = 70; + else if (.@start < 31) .@speed = 80; + else if (.@start < 41) .@speed = 90; + else if (.@start < 51) .@speed = 100; + else if (.@start < 61) .@speed = 110; + else if (.@start < 71) .@speed = 120; + else if (.@start < 81) .@speed = 130; + else if (.@start < 91) .@speed = 140; + else .@speed = 150; sc_start SC_WALKSPEED,5000,.@speed; end; OnInit: disablenpc strnpcinfo(0); end; - } - script Luk_1 -1,{ OnTouchNPC: - set .@start,rand(1,100); - if (.@start < 61) set .@speed,110; - else if (.@start < 71) set .@speed,120; - else if (.@start < 81) set .@speed,130; - else if (.@start < 91) set .@speed,140; - else set .@speed,150; + .@start = rand(1,100); + if (.@start < 61) .@speed = 110; + else if (.@start < 71) .@speed = 120; + else if (.@start < 81) .@speed = 130; + else if (.@start < 91) .@speed = 140; + else .@speed = 150; sc_start SC_WALKSPEED,10000,.@speed; end; @@ -892,11 +806,11 @@ OnInit: - script Luk_2 -1,{ OnTouchNPC: - set .@start,rand(1,100); - if (.@start < 61) set .@time,1000; - else if (.@start < 71) set .@time,2000; - else if (.@start < 81) set .@time,3000; - else if (.@start < 91) set .@time,4000; + .@start = rand(1,100); + if (.@start < 61) .@time = 1000; + else if (.@start < 71) .@time = 2000; + else if (.@start < 81) .@time = 3000; + else if (.@start < 91) .@time = 4000; if (.@time) sc_start SC_STUN,.@time,0; end; @@ -907,11 +821,11 @@ OnInit: - script Tire_1 -1,{ OnTouchNPC: - set .@start,rand(1,100); - if (.@start < 61) set .@time,1000; - else if (.@start < 71) set .@time,2000; - else if (.@start < 81) set .@time,3000; - else if (.@start < 91) set .@time,4000; + .@start = rand(1,100); + if (.@start < 61) .@time = 1000; + else if (.@start < 71) .@time = 2000; + else if (.@start < 81) .@time = 3000; + else if (.@start < 91) .@time = 4000; if (.@time) sc_start SC_SLEEP,.@time,0; end; @@ -1007,25 +921,21 @@ p_track01,47,28,0 duplicate(Tire_1) Tire6#6 -1,0,0 hugel,47,56,0 script #race_timer2-1 -1,{ OnEnable: enablenpc "#race_timer2-1"; - set $@mon_time_2_1,2; +OnInit: + $@mon_time_2_1 = 2; initnpctimer; end; -OnDisable: - disablenpc "#race_timer2-1"; - stopnpctimer; - end; - OnTimer10000: mapannounce "hugel","The Dual Monster Race will soon begin. We hope to see many of you participate!",bc_map,"0xffb6c1"; end; OnTimer30000: mapannounce "hugel","The Dual Monster Race Arena has just opened.",bc_map,"0xffb6c1"; - set $@mon_time_2_1,1; + $@mon_time_2_1 = 1; donpcevent "#race_timer2-2::OnEnable"; - enablenpc "Ticket Helper#2"; donpcevent "TrapGlobal#race02::OnEnable"; + enablenpc "Ticket Helper#2"; end; OnTimer90000: @@ -1046,30 +956,19 @@ OnTimer272000: OnTimer330000: mapannounce "hugel","The race is now starting. If you missed your chance to enter this race, please try again next time~!",bc_map,"0xffb6c1"; - set $@mon_time_2_1,0; - donpcevent "#race_timer2-1::OnDisable"; + $@mon_time_2_1 = 0; + disablenpc "#race_timer2-1"; stopnpctimer; end; - -OnInit: - enablenpc "#race_timer2-1"; - set $@mon_time_2_1,2; - initnpctimer; - end; } p_track02,42,23,0 script #race_timer2-2 -1,{ OnEnable: enablenpc "#race_timer2-2"; - set $@mon_time_2_2,0; + $@mon_time_2_2 = 0; initnpctimer; end; -OnDisable: - disablenpc "#race_timer2-2"; - stopnpctimer; - end; - OnTimer5000: mapannounce "p_track02","Welcome to the Monster Race Arena.",bc_map,"0x87ceeb"; end; @@ -1096,9 +995,7 @@ OnTimer242000: OnTimer300000: mapannounce "p_track02","The Monster Race is starting now. Good luck, everybody!",bc_map,"0x87ceeb"; - set $@mon_time_2_2,1; - set $@mon_race_2_1,0; - set $@mon_race_2_2,0; + $@mon_time_2_2 = 1; disablenpc "Ticket Helper#2"; donpcevent "#poring1::OnEnable"; donpcevent "#lunatic1::OnEnable"; @@ -1107,29 +1004,21 @@ OnTimer300000: donpcevent "#deviruchi1::OnEnable"; donpcevent "#baphomet1::OnEnable"; stopnpctimer; + disablenpc "#race_timer2-2"; end; - + OnInit: disablenpc "#race_timer2-2"; - set $@mon_time_2_2,0; + $@mon_time_2_2 = 0; end; } p_track02,80,43,0 script #race_timer2-3 -1,{ -OnInit: - disablenpc "#race_timer2-3"; - end; - OnEnable: enablenpc "#race_timer2-3"; initnpctimer; end; -OnDisable: - disablenpc "#race_timer2-3"; - stopnpctimer; - end; - OnTimer3000: mapannounce "p_track02","The Monster Race is finished! Congratulations to all the winners!",bc_map,"0xFFFF00"; end; @@ -1174,10 +1063,10 @@ OnTimer300000: mapwarp "p_track02","hugel",63,73; disablenpc "Medal Distributor#medal"; donpcevent "#race_timer2-1::OnEnable"; - set $@mon_race_2_1,0; - set $@mon_race_2_2,0; - donpcevent "#race_timer2-3::OnDisable"; stopnpctimer; +OnInit: + $@mon_race_2_1 = $@mon_race_2_2 = 0; + disablenpc "#race_timer2-3"; end; } @@ -1250,7 +1139,7 @@ hugel,62,69,1 script Eckar Erenes#double 798,{ mes "in the Monster Race Arena~"; close; } - if (!checkweight(909,700)) { + if (!checkweight("Jellopy",700)) { mes "[Eckar Erenes]"; mes "Hmm... You're toting"; mes "too many things with you"; @@ -1283,9 +1172,8 @@ hugel,62,69,1 script Eckar Erenes#double 798,{ mes "that you enjoy the race~"; mes "Let me guide you inside"; mes "the Monster Race Arena now."; - set Zeny, Zeny-2000; - set monster_race_2_1,0; - set monster_race_2_2,0; + Zeny -= 2000; + monster_race_2_1 = monster_race_2_2 = 0; close2; warp "p_track02",75,41; end; @@ -1306,9 +1194,8 @@ hugel,62,69,1 script Eckar Erenes#double 798,{ mes "you enjoy this race."; mes "Let me guide you now"; mes "to the Monster Race Arena."; - set Zeny, Zeny-2000; - set monster_race_2_1,0; - set monster_race_2_2,0; + Zeny -= 2000; + monster_race_2_1 = monster_race_2_2 = 0; close2; warp "p_track02",75,41; end; @@ -1322,7 +1209,7 @@ hugel,62,69,1 script Eckar Erenes#double 798,{ close; } } - if (!$@mon_time_2_1 || !$@mon_time_2_2) { + if (!$@mon_time_2_2) { mes "[Eckar Erenes]"; mes "Right now, a Monster Race"; mes "is in progress. It's too late to place a wager, but if you'd like"; @@ -1344,9 +1231,8 @@ hugel,62,69,1 script Eckar Erenes#double 798,{ mes "Thank you~"; mes "I hope you enjoy"; mes "watching this race!"; - set Zeny, Zeny-500; - set monster_race_2_1,0; - set monster_race_2_2,0; + Zeny -= 500; + monster_race_2_1 = monster_race_2_2 = 0; close2; warp "p_track02",75,41; end; @@ -1374,7 +1260,7 @@ OnDisable: } p_track02,73,22,1 script Ticket Helper#2 899,{ - if (!checkweight(908,200)) { + if (!checkweight("Spawn",200)) { mes "[Ticket Helper]"; mes "Welcome to the"; mes "Monster Race Arena."; @@ -1402,7 +1288,7 @@ p_track02,73,22,1 script Ticket Helper#2 899,{ next; switch(select("Check Monster Status:Wager on Race:Monster Race?:Cancel")) { case 1: - for (set .@i, 1; .@i <= 6; set .@i, .@i + 1) + for ( .@i = 1; .@i <= 6; .@i++ ) mes "Monster "+.@i+" [^CC6600Luck^000000: " + getd("$@mon_r02_Luk"+.@i) + "] [^EE0000HP^000000: " + getd("$@mon_r02_tire"+.@i) + "]"; close; case 2: @@ -1420,26 +1306,27 @@ p_track02,73,22,1 script Ticket Helper#2 899,{ mes "of the monsters that"; mes "will win this race."; next; + for ( .@i = 1; .@i <= 6; .@i++ ) + .@menu$ = .@menu$ + "Monster "+ .@i +":"; while (1) { - set .@m$, ""; - for (set .@i, 1; .@i <= 6; set .@i, .@i + 1) - set .@m$, .@m$ + ((.@i != .@m1)?"Monster "+.@i:"")+":"; - set .@m, 0; - set .@m, select (.@m$); + if ( .@m1 > 0 ) + .@menu$ = replacestr( .@menu$, "Monster "+ .@m1, "" ); + .@m = select (.@menu$); switch (.@m) { - case 1: setarray .@w$, "a friendly","Poring type monster"; break; - case 2: setarray .@w$, "an adorable","Lunatic type monster"; break; - case 3: setarray .@w$, "a darling","Savage Babe monster"; break; - case 4: setarray .@w$, "a gentle baby","Desert Wolf monster"; break; - case 5: setarray .@w$, "a small, yet","demonic, Deviruchi"; break; - case 6: setarray .@w$, "a naughty","Baphomet Jr. monster"; break; + case 1: setarray .@string$, "a friendly","Poring type monster"; break; + case 2: setarray .@string$, "an adorable","Lunatic type monster"; break; + case 3: setarray .@string$, "a darling","Savage Babe monster"; break; + case 4: setarray .@string$, "a gentle baby","Desert Wolf monster"; break; + case 5: setarray .@string$, "a small, yet","demonic, Deviruchi"; break; + case 6: setarray .@string$, "a naughty","Baphomet Jr. monster"; break; } mes "[Ticket Helper]"; mes "You've chosen"; - mes "^0000FFMonster "+.@m+"^000000, "+.@w$[0]; - mes .@w$[1]+"."; + mes "^0000FFMonster "+.@m+"^000000, "+.@string$[0]; + mes .@string$[1]+"."; mes "Are you sure you want"; - mes "to choose this monster?"; + mes "to choose this monster?"; + next; if (select("Yes:No") == 2) { mes "[Ticket Helper]"; mes "You have canceled"; @@ -1449,8 +1336,7 @@ p_track02,73,22,1 script Ticket Helper#2 899,{ mes "checking the monsters first?"; close; } - next; - if (!.@m1) { + if (.@m1 == 0) { mes "[Ticket Helper]"; mes "Now, please make"; mes "your second choice"; @@ -1458,7 +1344,7 @@ p_track02,73,22,1 script Ticket Helper#2 899,{ mes "you think will place"; mes "1st or 2nd in this race."; next; - set .@m1, .@m; + .@m1 = .@m; } else { if (!$@mon_time_2_2) { mes "[Ticket Helper]"; @@ -1468,18 +1354,17 @@ p_track02,73,22,1 script Ticket Helper#2 899,{ mes "I really hope that the odds"; mes "work out in your favor~"; emotion e_kis; - set monster_race_2_1,.@m1; - set monster_race_2_2,.@m; + monster_race_2_1 = .@m1; + monster_race_2_2 = .@m; getitem 7514,1; //Monster_Ticket - close; } else { mes "[Ticket Helper]"; mes "I'm very sorry, but a"; mes "monster race is underway."; mes "Please wait, and then place"; mes "your wager for the next race."; - close; } + close; } } case 3: @@ -1494,7 +1379,7 @@ p_track02,73,22,1 script Ticket Helper#2 899,{ mes "two types of monster races. First, we have the Single Monster Race,"; mes "in which those that wagered on the 1st place monster are rewarded."; next; - mes "[Eclar Ellbird]"; + mes "[Ticket Helper]"; mes "Then, we have the Dual Monster"; mes "Race in which those that wagered on the 1st and 2nd place monsters"; mes "are equally rewarded. The house"; @@ -1660,7 +1545,7 @@ p_track02,39,49,3 script Game Guide#double 845,{ } p_track02,67,45,5 script Medal Distributor#medal 845,{ - if (!checkweight(909,20)) { + if (!checkweight("Jellopy",20)) { mes "[Medal Distributor]"; mes "I'm sorry, but I can't"; mes "reward you with any medals"; @@ -1694,7 +1579,8 @@ p_track02,67,45,5 script Medal Distributor#medal 845,{ mes "Medals may be given to Wayne"; mes "in Hugel in exchange for items."; next; - if (monster_race_2_1 == $@mon_race_2_1 && monster_race_2_2 == $@mon_race_2_2) { + if ((monster_race_2_1 == $@mon_race_2_1 && monster_race_2_2 == $@mon_race_2_2) || //The order they finish + (monster_race_2_1 == $@mon_race_2_2 && monster_race_2_2 == $@mon_race_2_1)) { //doesn't matter mes "[Medal Distributor]"; mes "Congratulations! It's really"; mes "difficult to guess the winners"; @@ -1711,9 +1597,8 @@ p_track02,67,45,5 script Medal Distributor#medal 845,{ mes "medals for items, please"; mes "visit Wayne in Hugel. We hope"; mes "you enjoyed the Monster Race~"; + monster_race_2_1 = monster_race_2_2 = 7; delitem 7514,1; //Monster_Ticket - set monster_race_2_1,7; - set monster_race_2_2,7; getitem 7515,15; //Marvelous_Medal close; } @@ -1746,7 +1631,7 @@ p_track02,67,45,5 script Medal Distributor#medal 845,{ mes "you get lucky next time~"; close; } - + OnInit: disablenpc "Medal Distributor#medal"; end; @@ -1790,41 +1675,43 @@ p_track02,76,38,1 script Exit Guide#double 798,{ mes "here in the Monster Race Arena."; delitem 7514,1; //Monster_Ticket } - set monster_race_2_1,0; - set monster_race_2_2,0; + monster_race_2_1 = monster_race_2_2 = 0; close2; warp "hugel",63,73; end; } - script mob1#main -1,{ - function MN; +function MN { + setarray .@n$[1], "poring","lunatic","savagebebe","desertwolf","deviruchi","baphomet"; + for ( .@i = 1; .@i <= 6; .@i++ ) { + if (compare(strnpcinfo(0),.@n$[.@i])) + break; + } + return .@i; +} + OnEnable: enablenpc strnpcinfo(0); setarray .@n[1], 1725,1726,1727,1728,1730,1729; getmapxy(.@m$,.@x,.@y,1); - set .@i, MN; + .@i = MN; monster "p_track02",58,.@y,"Monster "+.@i,.@n[.@i],1,strnpcinfo(0)+"::OnMyMobDead"; end; -OnDisable: - killmonster "p_track02",strnpcinfo(0)+"::OnMyMobDead"; - disablenpc strnpcinfo(0); - end; - OnTouchNPC: - set .@i, MN; + .@i = MN; if (!$@mon_race_2_1) { emotion e_lv; specialeffect EF_MVP; mapannounce "p_track02","Monster "+.@i+" has reached the Finish Line!",bc_map,"0x66FFCC"; - set $@mon_race_2_1,1; + $@mon_race_2_1 = .@i; donpcevent strnpcinfo(0)+"::OnDisable"; } else { emotion e_lv; specialeffect EF_MVP; mapannounce "p_track02","The race is over! Monster "+.@i+" has reached the Finish Line!",bc_map,"0x66FFCC"; - set $@mon_race_2_2,1; + $@mon_race_2_2 = .@i; donpcevent "#poring1::OnDisable"; donpcevent "#lunatic1::OnDisable"; donpcevent "#savagebebe1::OnDisable"; @@ -1835,102 +1722,80 @@ OnTouchNPC: enablenpc "Medal Distributor#medal"; donpcevent "#race_timer2-3::OnEnable"; } - end; - OnMyMobDead: end; - - function MN { - setarray .@n$[1], "poring","lunatic","savagebebe","desertwolf","deviruchi","baphomet"; - for (set .@i, 1; .@i <= getarraysize(.@n$); set .@i, .@i + 1) { - if (compare(strnpcinfo(0),.@n$[.@i])) - break; - } - return .@i; - } + +OnDisable: + killmonster "p_track02",strnpcinfo(0)+"::OnMyMobDead"; OnInit: - if (compare(strnpcinfo(0),"main")) end; - disablenpc strnpcinfo(0); + if ( strnpcinfo(2) != "main" ) + disablenpc strnpcinfo(0); end; } -p_track02,30,38,0 duplicate(mob1#main) #poring1 139,0,0 -p_track02,30,36,0 duplicate(mob1#main) #lunatic1 139,0,0 -p_track02,30,34,0 duplicate(mob1#main) #savagebebe1 139,0,0 -p_track02,30,32,0 duplicate(mob1#main) #desertwolf1 139,0,0 -p_track02,30,30,0 duplicate(mob1#main) #deviruchi1 139,0,0 -p_track02,30,28,0 duplicate(mob1#main) #baphomet1 139,0,0 + +p_track02,30,38,0 duplicate(mob1#main) #poring1 -1,1,0 +p_track02,30,36,0 duplicate(mob1#main) #lunatic1 -1,1,0 +p_track02,30,34,0 duplicate(mob1#main) #savagebebe1 -1,1,0 +p_track02,30,32,0 duplicate(mob1#main) #desertwolf1 -1,1,0 +p_track02,30,30,0 duplicate(mob1#main) #deviruchi1 -1,1,0 +p_track02,30,28,0 duplicate(mob1#main) #baphomet1 -1,1,0 p_track02,19,48,0 script TrapGlobal#race02 -1,{ OnEnable: - enablenpc "TrapGlobal#race02"; - for (set .@i, 1; .@i <= 6; set .@i, .@i + 1) - enablenpc "starting#race02_"+.@i; - set .@c, 1; - while (.@c <= 6) { - setd ".@line_"+.@c,rand(1,70); - if (getd(".@line_"+.@c) <= 10) { - setd "$@mon_r02_luk"+.@c,getd(".@line_"+.@c); + enablenpc "TrapGlobal#race02"; + for ( .@c = 1; .@c <= 6; .@c++ ) { + .@line = rand(1,70); + enablenpc "starting#race02_"+.@c; + enablenpc "Tire#race02_"+.@c+"_1"; + if (.@line <= 10) { + .@tired = rand(50,60); enablenpc "Luk#race02_"+.@c+"_5"; enablenpc "Luk#race02_"+.@c+"_6"; - setd ".@tired_"+.@c,rand(50,60); - setd "$@mon_r02_tire"+.@c,getd(".@tired_"+.@c); - enablenpc "Tire#race02_"+.@c+"_1"; - } else if (getd(".@line_"+.@c) <= 30) { - setd "$@mon_r02_luk"+.@c,getd(".@line_"+.@c); + } else if (.@line <= 30) { + .@tired = rand(40,60); enablenpc "Luk#race02_"+.@c+"_5"; - setd ".@tired_"+.@c,rand(40,60); - setd "$@mon_r02_tire"+.@c,getd(".@tired_"+.@c); - enablenpc "Tire#race02_"+.@c+"_1"; - if (getd(".@tired_"+.@c) < 50) enablenpc "Tire#race02_"+.@c+"_2"; - } else if (getd(".@line_"+.@c) <= 40) { - setd "$@mon_r02_luk"+.@c,getd(".@line_"+.@c); + if ( .@tired < 50 ) enablenpc "Tire#race02_"+.@c+"_2"; + } else if (.@line <= 40) { + .@tired = rand(30,50); enablenpc "Luk#race02_"+.@c+"_1"; - setd ".@tired_"+.@c,rand(30,50); - setd "$@mon_r02_tire"+.@c,getd(".@tired_"+.@c); - enablenpc "Tire#race02_"+.@c+"_1"; enablenpc "Tire#race02_"+.@c+"_2"; - if (getd(".@tired_"+.@c) < 40) enablenpc "Tire#race02_"+.@c+"_3"; - } else if (getd(".@line_"+.@c) <= 50) { - setd "$@mon_r02_luk"+.@c,getd(".@line_"+.@c); + if ( .@tired < 40 ) enablenpc "Tire#race02_"+.@c+"_3"; + } else if (.@line <= 50) { + .@tired = rand(20,40); enablenpc "Luk#race02_"+.@c+"_1"; enablenpc "Luk#race02_"+.@c+"_2"; - setd ".@tired_"+.@c,rand(20,40); - setd "$@mon_r02_tire"+.@c,getd(".@tired_"+.@c); - for (set .@i, 1; .@i <= 3; set .@i, .@i + 1) - enablenpc "Tire#race02_"+.@c+"_"+.@i; - if (getd(".@tired_"+.@c) < 30) enablenpc "Tire#race02_"+.@c+"_4"; - } else if (getd(".@line_"+.@c) <= 60) { - setd "$@mon_r02_luk"+.@c,getd(".@line_"+.@c); - for (set .@i, 1; .@i <= 3; set .@i, .@i + 1) + enablenpc "Tire#race02_"+.@c+"_2"; + enablenpc "Tire#race02_"+.@c+"_3"; + if ( .@tired < 30 ) enablenpc "Tire#race02_"+.@c+"_4"; + } else if (.@line <= 60) { + .@tired = rand(10,30); + for ( .@i = 1; .@i <= 3; .@i++ ) enablenpc "Luk#race02_"+.@c+"_"+.@i; - setd ".@tired_"+.@c,rand(10,30); - setd "$@mon_r02_tire"+.@c,getd(".@tired_"+.@c); - for (set .@i, 1; .@i <= 4; set .@i, .@i + 1) + for ( .@i = 2; .@i <= 4; .@i++ ) enablenpc "Tire#race02_"+.@c+"_"+.@i; - if (getd(".@tired_"+.@c) < 20) enablenpc "Tire#race02_"+.@c+"_5"; - } else if (getd(".@line_"+.@c) <= 70) { - setd "$@mon_r02_luk"+.@c,getd(".@line_"+.@c); - for (set .@i, 1; .@i <= 4; set .@i, .@i + 1) + if ( .@tired < 20 ) enablenpc "Tire#race02_"+.@c+"_5"; + } else if (.@line <= 70) { + .@tired = rand(0,20); + for ( .@i = 1; .@i <= 4; .@i++ ) enablenpc "Luk#race02_"+.@c+"_"+.@i; - setd ".@tired_"+.@c,rand(0,20); - setd "$@mon_r02_tire"+.@c,getd(".@tired_"+.@c); - for (set .@i, 1; .@i <= 5; set .@i, .@i + 1) + for ( .@i = 2; .@i <= 5; .@i++ ) enablenpc "Tire#race02_"+.@c+"_"+.@i; - if (getd(".@tired_"+.@c) < 10) enablenpc "Tire#race02_"+.@c+"_6"; + if ( .@tired < 10 ) enablenpc "Tire#race02_"+.@c+"_6"; } - set .@c, .@c + 1; + setd "$@mon_r02_luk"+.@c, .@line; + setd "$@mon_r02_tire"+.@c, .@tired; } end; OnDisable: disablenpc "TrapGlobal#race02"; - for (set .@i, 1; .@i <= 6; set .@i, .@i + 1) + for ( .@i = 1; .@i <= 6; .@i++ ) donpcevent "starting#race02_"+.@i+"::OnDisable"; end; OnInit: - for (set .@i, 1; .@i <= 6; set .@i, .@i + 1) { + for ( .@i = 1; .@i <= 6; .@i++ ) { setd "$@mon_r02_luk"+.@i,0; setd "$@mon_r02_tire"+.@i,0; } @@ -1938,28 +1803,26 @@ OnInit: } - script starting_2 -1,{ -OnDisable: - disablenpc strnpcinfo(0); - for(set .@i,1; .@i<7; set .@i,.@i+1) - disablenpc "Luk#"+strnpcinfo(2)+"_"+.@i; - for(set .@i,1; .@i<7; set .@i,.@i+1) - disablenpc "Tire#"+strnpcinfo(2)+"_"+.@i; - end; - OnTouchNPC: - set .@start,rand(1,100); - if (.@start < 11) set .@speed,60; - else if (.@start < 21) set .@speed,70; - else if (.@start < 31) set .@speed,80; - else if (.@start < 41) set .@speed,90; - else if (.@start < 51) set .@speed,100; - else if (.@start < 61) set .@speed,110; - else if (.@start < 71) set .@speed,120; - else if (.@start < 81) set .@speed,130; - else if (.@start < 91) set .@speed,140; - else set .@speed,150; + .@start = rand(1,100); + if (.@start < 11) .@speed = 60; + else if (.@start < 21) .@speed = 70; + else if (.@start < 31) .@speed = 80; + else if (.@start < 41) .@speed = 90; + else if (.@start < 51) .@speed = 100; + else if (.@start < 61) .@speed = 110; + else if (.@start < 71) .@speed = 120; + else if (.@start < 81) .@speed = 130; + else if (.@start < 91) .@speed = 140; + else .@speed = 150; sc_start SC_WALKSPEED,5000,.@speed; end; + +OnDisable: + for( .@i = 1; .@i < 7; .@i++ ) { + disablenpc "Luk#"+strnpcinfo(2)+"_"+.@i; + disablenpc "Tire#"+strnpcinfo(2)+"_"+.@i; + } OnInit: disablenpc strnpcinfo(0); @@ -2084,7 +1947,7 @@ ein_in01,85,208,5 script Ei'felle#repay01 854,{ mes "but so far, none of us have"; mes "been able to get any medals..."; next; - if (countitem(7515)) { + if (countitem("Marvelous_Medal")) {//7515 mes "["+ strcharinfo(0) +"]"; mes "Oh! Are you talking"; mes "about the medals that"; @@ -2120,7 +1983,7 @@ ein_in01,85,208,5 script Ei'felle#repay01 854,{ mes "research. Still, I need more"; mes "and more of them everyday..."; next; - if (countitem(7515)) { + if (countitem("Marvelous_Medal")) { mes "[Ei'felle]"; mes "The other Blacksmith"; mes "Guildsmen are doing their"; @@ -2141,7 +2004,7 @@ ein_in01,85,208,5 script Ei'felle#repay01 854,{ mes "you for your kindness..."; close; } - if (!checkweight(1201,1)) { + if (!checkweight("Knife",1)) {//1201 mes "[Ei'felle]"; mes "Goodness, you're carrying"; mes "so many things with you!"; @@ -2169,7 +2032,7 @@ ein_in01,85,208,5 script Ei'felle#repay01 854,{ mes "as my way of repaying you?"; next; if (select("Accept:Wait for Further Development") == 1) { - callsub S_BonusReward,500,2319; + callsub S_BonusReward,500,2319;//Glittering_Clothes end; } mes "[Ei'felle]"; @@ -2206,10 +2069,10 @@ ein_in01,85,208,5 script Ei'felle#repay01 854,{ mes "you like your armor to have?"; next; switch(select("Fire Property:Earth Property:Wind Property:Water Property")) { - case 1: callsub S_BonusReward,1000,2345; end; - case 2: callsub S_BonusReward,1000,2351; end; - case 3: callsub S_BonusReward,1000,2349; end; - case 4: callsub S_BonusReward,1000,2347; end; + case 1: callsub S_BonusReward,1000,2345; end;// Flame_Sprits_Armor_ + case 2: callsub S_BonusReward,1000,2351; end;// Earth_Sprits_Armor_ + case 3: callsub S_BonusReward,1000,2349; end;// Wind_Sprits_Armor_ + case 4: callsub S_BonusReward,1000,2347; end;// Water_Sprits_Armor_ } case 2: mes "[Ei'felle]"; @@ -2234,7 +2097,7 @@ ein_in01,85,208,5 script Ei'felle#repay01 854,{ break; } } - if (countitem(7515)) { + if (countitem("Marvelous_Medal")) { mes "[Ei'felle]"; mes "The other Blacksmith"; mes "Guildsmen are doing their"; @@ -2284,74 +2147,74 @@ ein_in01,85,208,5 script Ei'felle#repay01 854,{ case 3: callsub S_BonusReward,1000,2351; end; case 4: callsub S_BonusReward,1000,2349; end; case 5: callsub S_BonusReward,1000,2347; end; - case 6: close; + case 6: end; } } - setarray .@m$, "Dagger","One Handed Sword","Two Handed Sword","Axe","Mace","Bow","Staff","Book","Spear","Katar","Knuckle","Whip","Musical Instrument"; - set .@m, select (implode(.@m$,":")) - 1; + setarray .@type$, "Dagger","One Handed Sword","Two Handed Sword","Axe","Mace","Bow","Staff","Book","Spear","Katar","Knuckle","Whip","Musical Instrument"; + .@m = select( implode(.@type$,":") ) - 1; mes "[Ei'felle]"; mes "So you'd like to have a"; - mes .@m$[.@m]+"? Please choose"; + mes .@type$[.@m]+"? Please choose"; mes "which Level 4 Weapon"; mes "that you want me to create."; next; - switch (.@m) { + switch(.@m) { case 0: - setarray .@mw$, "Ginnungagap:Grimtooth:Dragon Killer:Mail Breaker:Bazerald:Sword Breaker:Ice Pick:Sucsamad:Kitchen Knife:Azoth:Exorciser:Assassin Dagger:Moonlight Dagger:Weeder Knife:Cursed Dagger:Dagger of Counter:Combat Knife:Fortune Sword"; - setarray .@mw, 13002,1237,13001,1225,1231,1224,1230,1236,1229,1235,1233,1232,1234,1227,1241,1242,1228,1223; + .@weapon$ = "Ginnungagap:Grimtooth:Dragon Killer:Mail Breaker:Bazerald:Sword Breaker:Ice Pick:Sucsamad:Kitchen Knife:Azoth:Exorciser:Assassin Dagger:Moonlight Dagger:Weeder Knife:Cursed Dagger:Dagger of Counter:Combat Knife:Fortune Sword"; + setarray .@weapon_id, 13002,1237,13001,1225,1231,1224,1230,1236,1229,1235,1233,1232,1234,1227,1241,1242,1228,1223; break; case 1: - setarray .@mw$, "Nagan:Immaterial Sword:Mysteltainn:Byeollungum:Star Dust Blade:Caesar's Sword:Ice Falchion:Excalibur:Edge:Cutlus:Solar Sword:Tirfing:Fireblend"; - setarray .@mw, 1130,1141,1138,1140,1148,1134,1131,1137,1132,1135,1136,1139,1133; + .@weapon$ = "Nagan:Immaterial Sword:Mysteltainn:Byeollungum:Star Dust Blade:Caesar's Sword:Ice Falchion:Excalibur:Edge:Cutlus:Solar Sword:Tirfing:Fireblend"; + setarray .@weapon_id, 1130,1141,1138,1140,1148,1134,1131,1137,1132,1135,1136,1139,1133; break; case 2: - setarray .@mw$, "Dragon Slayer:Masamune:Muramasa:Schweizersabel:Executioner:Zweihander:Katzbalger"; - setarray .@mw, 1166,1165,1164,1167,1169,1168,1170; + .@weapon$ = "Dragon Slayer:Masamune:Muramasa:Schweizersabel:Executioner:Zweihander:Katzbalger"; + setarray .@weapon_id, 1166,1165,1164,1167,1169,1168,1170; break; case 3: - setarray .@mw$, "Great Axe:Guillotine:Light Epsilon:Bloody Axe:Sabbath:Slaughter:Cleaver:Tomahawk"; - setarray .@mw, 1364,1369,1366,1363,1365,1367,1305,1368; + .@weapon$ = "Great Axe:Guillotine:Light Epsilon:Bloody Axe:Sabbath:Slaughter:Cleaver:Tomahawk"; + setarray .@weapon_id, 1364,1369,1366,1363,1365,1367,1305,1368; break; case 4: - setarray .@mw$, "Golden Mace:Grand Cross:Long Mace:Spike:Slash:Quadrille"; - setarray .@mw, 1524,1528,1525,1523,1526,1527; + .@weapon$ = "Golden Mace:Grand Cross:Long Mace:Spike:Slash:Quadrille"; + setarray .@weapon_id, 1524,1528,1525,1523,1526,1527; break; case 5: - setarray .@mw$, "Roguemaster's Bow:Dragon Wing:Rudra's Bow:Ballista"; - setarray .@mw, 1719,1724,1720,1722; + .@weapon$ = "Roguemaster's Bow:Dragon Wing:Rudra's Bow:Ballista"; + setarray .@weapon_id, 1719,1724,1720,1722; break; case 6: - setarray .@mw$, "Wing Staff:Wizardry Staff"; - setarray .@mw, 1616,1473; + .@weapon$ = "Wing Staff:Wizardry Staff"; + setarray .@weapon_id, 1616,1473; case 7: - setarray .@mw$, "Legacy of Dragon:Book of the Apocalypse:Girl's Diary:Hardcover Book"; - setarray .@mw, 1559,1557,1558,1561; + .@weapon$ = "Legacy of Dragon:Book of the Apocalypse:Girl's Diary:Hardcover Book"; + setarray .@weapon_id, 1559,1557,1558,1561; break; case 8: - setarray .@mw$, "Gae Bolg:Gelerdria:Gungnir:Skewer:Longinus's Spear:Brionac:Bill Guisarme:Zephyrus:Crescent Scythe:Tjungkuletti:Hellfire"; - setarray .@mw, 1474,1414,1413,1415,1469,1470,1467,1468,1466,1416,1471; + .@weapon$ = "Gae Bolg:Gelerdria:Gungnir:Skewer:Longinus's Spear:Brionac:Bill Guisarme:Zephyrus:Crescent Scythe:Tjungkuletti:Hellfire"; + setarray .@weapon_id, 1474,1414,1413,1415,1469,1470,1467,1468,1466,1416,1471; break; case 9: - setarray .@mw$, "Infiltrator:Bloody Roar:Unholy Touch"; - setarray .@mw, 1261,1265,1263; + .@weapon$ = "Infiltrator:Bloody Roar:Unholy Touch"; + setarray .@weapon_id, 1261,1265,1263; break; case 10: - setarray .@mw$, "Hatii Claw:Berserk:Kaiser Knuckle"; - setarray .@mw, 1815,1814,1813; + .@weapon$ = "Hatii Claw:Berserk:Kaiser Knuckle"; + setarray .@weapon_id, 1815,1814,1813; break; case 11: - setarray .@mw$, "Lariat:Rapture Rose:Blade Whip:Chemeti:Queen's Whip"; - setarray .@mw, 1962,1963,1969,1964,1970; + .@weapon$ = "Lariat:Rapture Rose:Blade Whip:Chemeti:Queen's Whip"; + setarray .@weapon_id, 1962,1963,1969,1964,1970; break; case 12: - setarray .@mw$, "Oriental Lute:Electric Guitar"; - setarray .@mw, 1918,1913; + .@weapon$ = "Oriental Lute:Electric Guitar"; + setarray .@weapon_id, 1918,1913; break; } - set .@j, select (.@mw$+":Cancel") - 1; - explode(.@mw$,.@mw$,":"); - if (.@j == getarraysize(.@mw$)) close; - callsub S_BonusReward,1500,.@mw[.@j]; + .@j = select (.@weapon$+":Cancel") - 1; + explode(.@weapon$,.@weapon$,":"); + if (.@j == getarraysize(.@weapon$)) close; + callsub S_BonusReward,1500,.@weapon_id[.@j]; end; } @@ -2583,9 +2446,9 @@ S_Reward: mes "advance my research,"; mes "and I promise to repay"; mes "you as soon as I can!"; - set .@medals,countitem(7515); - delitem 7515,.@medals; //Marvelous_Medal - set ein_medal01,ein_medal01+.@medals; + .@medals = countitem("Marvelous_Medal"); + delitem 7515, .@medals; //Marvelous_Medal + ein_medal01 += .@medals; close; case 2: mes "[Ei'felle]"; @@ -2615,7 +2478,7 @@ S_Reward: next; } else break; } - if (countitem(7515) < .@input) { + if (countitem("Marvelous_Medal") < .@input) { mes "[Ei'felle]"; mes "I'm sorry, but I don't"; mes "think you have that many"; @@ -2632,8 +2495,8 @@ S_Reward: mes "advance my research,"; mes "and I promise to repay"; mes "you as soon as I can!"; - delitem 7515,.@input; //Marvelous_Medal - set ein_medal01,ein_medal01+.@input; + delitem 7515, .@input; //Marvelous_Medal + ein_medal01 += .@input; close; } case 3: @@ -2664,25 +2527,26 @@ S_Reward: S_BonusReward: mes "[Ei'felle]"; - if (getarg(1) == 2319) { + .@arg1 = getarg(1); + if (.@arg1 == 2319) { mes "Do you really want"; - mes "this "+getitemname(getarg(1))+"?"; + mes "this "+getitemname(.@arg1)+"?"; mes "You may want to forego this"; mes "reward in favor of getting"; mes "something better later..."; - } else if ((getarg(1) == 2345) || (getarg(1) == 2347) || (getarg(1) == 2349) || (getarg(1) == 2351)) { + } else if (.@arg1 == 2345 || .@arg1 == 2347 || .@arg1 == 2349 || .@arg1 == 2351) { mes "Are you sure that you want"; mes "to accept this set of slotted"; - if (getarg(1) == 2345) mes "Fire property Armor? If you do,"; - else if (getarg(1) == 2351) mes "Earth property Armor? If you do,"; - else if (getarg(1) == 2349) mes "Wind property Armor? If you do,"; - else if (getarg(1) == 2347) mes "Water property Armor? If you do,"; + if (.@arg1 == 2345) mes "Fire property Armor? If you do,"; + else if (.@arg1 == 2351) mes "Earth property Armor? If you do,"; + else if (.@arg1 == 2349) mes "Wind property Armor? If you do,"; + else if (.@arg1 == 2347) mes "Water property Armor? If you do,"; mes "I'll need more medals from you"; mes "to make further advancements"; mes "in my manufacturing research."; } else { mes "So you wish to have a"; - mes getitemname(getarg(1))+"? If you choose"; + mes getitemname(.@arg1)+"? If you choose"; mes "to have this Level 4 Weapon,"; mes "I'll need to melt many of the"; mes "medals that you've donated"; @@ -2697,7 +2561,7 @@ S_BonusReward: mes "me a reward later?"; next; mes "[Ei'felle]"; - if (!getiteminfo(getarg(1),13)) { //use item level to determine if the item is armor (no weapon level) + if (!getiteminfo(.@arg1,13)) { //use item level to determine if the item is armor (no weapon level) mes "Of course, of course."; mes "Remember, if you donate"; mes "more medals to me, then"; @@ -2711,20 +2575,19 @@ S_BonusReward: close; } mes "[Ei'felle]"; - if (getarg(1) == 2319) { + if (.@arg1 == 2319) { mes "Here you are, I trust that"; - mes "this "+getitemname(getarg(1))+" will"; + mes "this "+getitemname(.@arg1)+" will"; mes "serve you well. Thank you"; mes "for your help, and I hope that"; mes "you'll continue to donate your"; mes "medals for my metal research~"; - } - else if ((getarg(1) == 2345) || (getarg(1) == 2347) || (getarg(1) == 2349) || (getarg(1) == 2351)) { + } else if (.@arg1 == 2345 || .@arg1 == 2347 || .@arg1 == 2349 || .@arg1 == 2351) { mes "Great choice! I'm sure"; - if (getarg(1) == 2345) mes "that this set of slotted Fire"; - else if (getarg(1) == 2351) mes "that this set of slotted Earth"; - else if (getarg(1) == 2349) mes "that this set of slotted Wind"; - else if (getarg(1) == 2347) mes "that this set of slotted Water"; + if (.@arg1 == 2345) mes "that this set of slotted Fire"; + else if (.@arg1 == 2351) mes "that this set of slotted Earth"; + else if (.@arg1 == 2349) mes "that this set of slotted Wind"; + else if (.@arg1 == 2347) mes "that this set of slotted Water"; mes "property Armor will serve you"; mes "well. Thank you for your help,"; mes "and if you get more medals,"; @@ -2737,13 +2600,13 @@ S_BonusReward: mes "difficult. In any case, I would"; mes "appreciate your continued help~"; } - set ein_medal01,ein_medal01-getarg(0); - getitem getarg(1),1; + ein_medal01 -= getarg(0); + getitem .@arg1,1; close; } hugel,71,83,4 script Wayne 900,{ - if (!checkweight(1201,1)) { + if (!checkweight("Knife",1)) { mes "[Wayne]"; mes "Hold on a second..."; mes "If you want to exchange"; @@ -2784,7 +2647,7 @@ hugel,71,83,4 script Wayne 900,{ mes "all your effort, you know?"; close; } - if (!checkweight(909,550)) { + if (!checkweight("Jellopy",550)) { mes "[Wayne]"; mes "Hold on a second..."; mes "If you want to exchange"; @@ -2802,51 +2665,52 @@ hugel,71,83,4 script Wayne 900,{ mes "more Prize Medals at a time."; next; setarray .@pm, 1,3,7,8,16,25,42,59; - for (set .@i, 0; .@i < getarraysize(.@pm); set .@i, .@i + 1) - set .@m$, .@m$ + .@pm[.@i] + " Prize medal:"; - set .@m, select (.@m$) - 1; + .@total_pm = getarraysize(.@pm); + for ( .@i = 0; .@i < .@total_pm; .@i++ ) + .@menu$ = .@menu$ + .@pm[.@i] + " Prize medal:"; + .@m = select(.@menu$) - 1; switch (.@m) { case 0: - setarray .@mr$, "2 Hinale Leaflets:2 Aloe Leaflets:1 Mastela Fruit:5 Witch Starsands:4 Condensed Red Potions"; - setarray .@mr, 520,2,521,2,522,1,1061,5,545,4; + .@items$ = "2 Hinale Leaflets:2 Aloe Leaflets:1 Mastela Fruit:5 Witch Starsands:4 Condensed Red Potions"; + setarray .@item_array, 520,2,521,2,522,1,1061,5,545,4; break; case 1: - setarray .@mr$, "1 Royal Jelly:6 Holy Waters"; - setarray .@mr, 526,1,523,6; + .@items$ = "1 Royal Jelly:6 Holy Waters"; + setarray .@item_array, 526,1,523,6; break; case 2: - setarray .@mr$, "1 Cookie Bag:1 First Aid Kit"; - setarray .@mr, 12130,1,12110,1; + .@items$ = "1 Cookie Bag:1 First Aid Kit"; + setarray .@item_array, 12130,1,12110,1; break; case 3: - set .@mr$, "1 Gift Box"; - setarray .@mr, 644,1; + .@items$ = "1 Gift Box"; + setarray .@item_array, 644,1; break; case 4: - set .@mr$, "1 Old Blue Box"; - setarray .@mr, 603,1; + .@items$ = "1 Old Blue Box"; + setarray .@item_array, 603,1; break; case 5: - set .@mr$, "1 Taming Gift Set"; - setarray .@mr, 12105,1; + .@items$ = "1 Taming Gift Set"; + setarray .@item_array, 12105,1; break; case 6: - set .@mr$, "1 Old Purple Box"; - setarray .@mr, 617,1; + .@items$ = "1 Old Purple Box"; + setarray .@item_array, 617,1; break; case 7: - set .@mr$, "1 Poring Box"; - setarray .@mr, 12109,1; + .@items$ = "1 Poring Box"; + setarray .@item_array, 12109,1; break; } mes "[Wayne]"; mes "Now, please choose"; mes "which of the following item"; mes "sets that you'd like to receive"; - mes "in exchange for "+.@pm[.@m]+" Prize Medal."+((getarraysize(.@mr)<3)?" Well, we have only 1 set, but...":""); + mes "in exchange for "+.@pm[.@m]+" Prize Medal."+((getarraysize(.@item_array)<3)?" Well, we have only 1 set, but...":""); next; - set .@m2, select (.@mr$) - 1; - if (countitem(7515) < .@pm[.@m]) { + .@m2 = ( select(.@items$) -1 ) *2; + if (countitem("Marvelous_Medal") < .@pm[.@m]) { mes "[Wayne]"; mes "Hey, you don't have"; mes "enough Prize Medals with"; @@ -2862,8 +2726,8 @@ hugel,71,83,4 script Wayne 900,{ mes "you come visit me again"; mes "soon. Enjoy the monster"; mes "races, fair adventurer~"; - delitem 7515,.@pm[.@m]; - getitem .@mr[.@m2*2],.@mr[((.@m2*2)+1)]; + delitem 7515,.@pm[.@m];// Marvelous_Medal + getitem .@item_array[.@m2], .@item_array[(.@m2+1)]; close; } } @@ -3076,23 +2940,19 @@ hugel,5,5,3 script Monster Race Manager 868,{ mes "Entry NPCs for the Single"; mes "and Dual Monster Races."; next; - set .@select, select("Single Race Entry - ON:Dual Race Entry - ON:Single Race Entry - OFF:Dual Race Entry - OFF"); + .@select = select("Single Race Entry - ON:Dual Race Entry - ON:Single Race Entry - OFF:Dual Race Entry - OFF"); mes "[Monster Race Manager]"; mes "Please enter"; mes "the password."; next; - set .@i, callfunc("F_GM_NPC",1854,0,0,2000); + .@i = callfunc("F_GM_NPC",1854,0,0,2000); if (.@i == -2) { mes "[Monster Race Manager]"; mes "Error."; - close; } else if (.@i == -1) { mes "[Monster Race Manager]"; mes "Incorrect password."; - close; - } else if (.@i == 0) { - close; - } else { + } else if (.@i == 1) { mes "[Monster Race Manager]"; switch(.@select) { case 1: @@ -3117,4 +2977,5 @@ hugel,5,5,3 script Monster Race Manager 868,{ close; } } + close; } diff --git a/other/turbo_track.txt b/other/turbo_track.txt index 643c402..3665268 100644 --- a/other/turbo_track.txt +++ b/other/turbo_track.txt @@ -1920,7 +1920,7 @@ turbo_n_1,222,45,0 duplicate(TurboHint_4#tt_main) #n1NoWayOut5 -1,1,1 turbo_n_1,222,61,0 duplicate(TurboHint_4#tt_main) #n1NoWayOut6 -1,1,1 turbo_n_1,222,65,0 duplicate(TurboHint_4#tt_main) #n1NoWayOut7 -1,1,1 -- script cos_end#tt_main 01,{ +- script cos_end#tt_main -1,{ function GetNumber; OnTouch: set .@w$,callfunc("F_tt"); @@ -1977,7 +1977,7 @@ OnTouch: mapannounce strnpcinfo(4),strcharinfo(0) +" is second to reach the Finish Line! Congratulations!",bc_map,"0xFFFF00"; if (.@w$ == "e8" || .@w$ == "n8") setarray .@pts, 28961,40; if (.@w$ == "e16" || .@w$ == "n16") setarray .@pts, 28951,50; - if (tt_points < .@pts[0]) set tt_point,tt_point+.@pts[1]; + if (tt_point < .@pts[0]) set tt_point,tt_point+.@pts[1]; warp "turbo_room",72,89; disablenpc "#cos_"+.@w$+"_end2"; enablenpc "#cos_"+.@w$+"_end3"; @@ -4257,9 +4257,9 @@ turbo_room,93,117,5 script Point Exchange Helper 125,{ } set tt_point,tt_point-40; if (BaseLevel < 70) getexp 3000,0; - else if (BaseLevel < 80) getexp 9000,0; - else if (BaseLevel < 90) getexp 10000,0; - else if (BaseLevel < 100) getexp 30000,0; + else if (BaseLevel < 80) getexp (checkre(3))?900:9000,0; + else if (BaseLevel < 90) getexp (checkre(3))?1000:10000,0; + else if (BaseLevel < MAX_LEVEL) getexp (checkre(3))?3000:30000,0; mes "[Item Exchange Helper]"; mes "Thank you, your"; mes "Turbo Track Points"; @@ -4602,7 +4602,7 @@ OnTouch: mes "things using the Kafra Service.^000000"; close; } - if ((BaseJob == Job_Knight || BaseJob == Job_Crusader) && checkriding()) { + if ((BaseJob == Job_Knight || BaseJob == Job_Crusader) && (checkriding() || checkdragon())) { if (MaxWeight-Weight < 20000) { if (!(eaclass()&EAJL_THIRD)) { set .@mount$,(BaseJob == Job_Knight)?"Peco Peco":"Grand Peco"; diff --git a/pre-re/cities/alberta.txt b/pre-re/cities/alberta.txt index 1707502..d7eccee 100644 --- a/pre-re/cities/alberta.txt +++ b/pre-re/cities/alberta.txt @@ -37,6 +37,7 @@ alberta,245,66,4 duplicate(PR_Officer_moscovia) Moscovia P.R. Officer#1 960 //============================================================ alberta,247,122,4 duplicate(Sailor_alberta) Sailor#tur 709 alberta,248,89,4 duplicate(Turtle_Scholar_alberta) Turtle Island Scholar 121 +alberta,248,93,4 duplicate(Voyage_log_alberta) Voyage log#tur 111 // quests/skills/merchant_skills.txt //============================================================ diff --git a/pre-re/cities/lutie.txt b/pre-re/cities/lutie.txt new file mode 100644 index 0000000..aac80d0 --- /dev/null +++ b/pre-re/cities/lutie.txt @@ -0,0 +1,16 @@ +//===== rAthena Script ======================================= +//= Lutie Town Pre-Renewal +//===== By: ================================================== +//= rAthena Dev Team +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Lutie town NPCs. +//===== Additional Comments: ================================= +//= 1.0 First Version. +//============================================================ + +aldebaran,223,222,4 duplicate(Mr_Claus_alde) Mr. Claus#alde 718 diff --git a/pre-re/guides/guides_comodo.txt b/pre-re/guides/guides_comodo.txt index 75b6bc4..46eadee 100644 --- a/pre-re/guides/guides_comodo.txt +++ b/pre-re/guides/guides_comodo.txt @@ -80,7 +80,7 @@ function script F_CmdGuide { mes "Please refer to the cross mark,"; mes "^3355FF+^000000, on your Mini-Map to find the"; mes "Tourist Shop where you can "; - mes "buy gifts that can only be found^FFFFFF ^000000 in the Comodo region~"; + mes "buy gifts that can only be found in the Comodo region~"; close; case 6: viewpoint 1,136,202,5,0xFF5555; @@ -88,7 +88,7 @@ function script F_CmdGuide { mes "^FF5555+^000000, on your Mini-Map to find the"; mes "Western branch of the Kafra"; mes "Corporation. They offer some"; - mes "pretty important services that^FFFFFF ^000000 you may want to check out later."; + mes "pretty important services that you may want to check out later."; close; case 7: viewpoint 1,114,294,5,0xFF5555; diff --git a/pre-re/guides/guides_payon.txt b/pre-re/guides/guides_payon.txt index 65eb350..a3a0f5e 100644 --- a/pre-re/guides/guides_payon.txt +++ b/pre-re/guides/guides_payon.txt @@ -186,7 +186,7 @@ payon,162,67,4 script Guide#pay 708,{ break; } } - cutin "pay_soldier",255; + cutin "",255; end; } @@ -291,6 +291,6 @@ pay_arche,85,30,2 script Guide#2pay 708,{ break; } } - cutin "pay_soldier",255; + cutin "",255; end; } diff --git a/pre-re/jobs/1-1/acolyte.txt b/pre-re/jobs/1-1/acolyte.txt index d2ed7cf..6670a5c 100644 --- a/pre-re/jobs/1-1/acolyte.txt +++ b/pre-re/jobs/1-1/acolyte.txt @@ -38,7 +38,7 @@ prt_church,184,41,4 script Cleric#aco 60,{ mes "Ah, I sense you have endured"; mes "a past life experience. You must have learned many things before entering Valhalla."; next; - if (getskilllv("NV_BASIC") < 9) { + if (!callfunc("F_CanChangeJob")) { mes "[Father Mareusis]"; mes "Unfortunately, I don't think you're ready to become an Acolyte yet. Please finish learning all of the Basic Skills first."; next; @@ -56,9 +56,9 @@ prt_church,184,41,4 script Cleric#aco 60,{ mes "wish you luck on your"; mes "new life's journey."; next; - skill 143,0,0; + skill "NV_TRICKDEAD",0,0; jobchange Job_Acolyte_High; - skill 156,1,0; + skill "AL_HOLYLIGHT",1,0; mes "[Father Mareusis]"; mes "Now, venture forth and seek those who need your help. May God light your path."; close; @@ -137,7 +137,7 @@ prt_church,184,41,4 script Cleric#aco 60,{ mes "Oh, you've come back. Let me check and see if you are ready to serve God. Let's see..."; next; mes "[Father Mareusis]"; - if (getskilllv("NV_BASIC") < 9) { + if (!callfunc("F_CanChangeJob")) { mes "Good Lord! Haven't you accomplished the Basic Training yet?! It's important that you finish that!"; next; mes "[Father Mareusis]"; @@ -181,7 +181,7 @@ prt_church,184,41,4 script Cleric#aco 60,{ mes "[Father Mareusis]"; mes "I am proud to say that you are now ready to become an Acolyte!"; next; - skill 143,0,0; + skill "NV_TRICKDEAD",0,0; callfunc "Job_Change",Job_Acolyte; callfunc "F_ClearJobVar"; if(checkquest(1001) != -1) { diff --git a/pre-re/jobs/1-1/archer.txt b/pre-re/jobs/1-1/archer.txt index 7d08670..a84e950 100644 --- a/pre-re/jobs/1-1/archer.txt +++ b/pre-re/jobs/1-1/archer.txt @@ -37,7 +37,7 @@ payon_in02,64,71,4 script Archer Guildsman#archer 85,{ mes "to Valhalla and been reborn."; mes "Wow, that's so impressive!"; next; - if (getskilllv("NV_BASIC") < 9) { + if (!callfunc("F_CanChangeJob")) { mes "[Archer Guildsman]"; mes "Err..."; mes "You'd better learn all the Basic Skills first before you can become an Archer."; @@ -51,10 +51,10 @@ payon_in02,64,71,4 script Archer Guildsman#archer 85,{ mes "need to say anything else."; mes "I know you'll make a great Archer..."; next; - skill 143,0,0; + skill "NV_TRICKDEAD",0,0; jobchange Job_Archer_high; - skill 147,1,0; - skill 148,1,0; + skill "AC_MAKINGARROW",1,0; + skill "AC_CHARGEARROW",1,0; mes "[Archer Guildsman]"; mes "Although there's no special"; mes "reward for you this time, I hope you understand. Take care of yourself."; @@ -125,7 +125,7 @@ payon_in02,64,71,4 script Archer Guildsman#archer 85,{ mes "[Archer Guildsman]"; mes "Are you..." + strcharinfo(0) + "?"; next; - if (getskilllv("NV_BASIC") < 9) { + if (!callfunc("F_CanChangeJob")) { mes "[Archer Guildsman]"; mes "Well, you're not at the right job level. Please check the requirements again."; next; diff --git a/pre-re/jobs/1-1/mage.txt b/pre-re/jobs/1-1/mage.txt index 03aa963..4a509c6 100644 --- a/pre-re/jobs/1-1/mage.txt +++ b/pre-re/jobs/1-1/mage.txt @@ -35,7 +35,7 @@ geffen_in,164,124,4 script Mage Guildsman 123,{ mes "[Mage Guildsman]"; mes "Ah, you must have been reborn. Well, I'm glad to have you back."; next; - if (getskilllv("NV_BASIC") < 9) { + if (!callfunc("F_CanChangeJob")) { mes "[Mage Guildsman]"; mes "I'm sorry, but I don't think you're ready to learn magic yet. Why don't you go finish learning the Basic Skills first?"; next; @@ -46,9 +46,9 @@ geffen_in,164,124,4 script Mage Guildsman 123,{ mes "[Mage Guildsman]"; mes "Well, since you have passed the Mage test once, I will not question your qualification. You want to have your magic skills back immediately, don't you?"; next; - skill 143,0,0; + skill "NV_TRICKDEAD",0,0; jobchange Job_Mage_High; - skill 157,1,0; + skill "MG_ENERGYCOAT",1,0; mes "[Mage Guildsman]"; mes "Wow, for some reason, you look way better than you did before. Anyway, I believe you will do a better job being a Mage as well."; close; @@ -139,7 +139,7 @@ geffen_in,164,124,4 script Mage Guildsman 123,{ close; } mes "Yeah? Ready...?"; - if (getskilllv("NV_BASIC") < 9) { + if (!callfunc("F_CanChangeJob")) { mes "Oh, what a bummer. You haven't met the requirements yet."; next; mes "[Mage Guildsman]"; diff --git a/pre-re/jobs/1-1/merchant.txt b/pre-re/jobs/1-1/merchant.txt index 1763626..80d25db 100644 --- a/pre-re/jobs/1-1/merchant.txt +++ b/pre-re/jobs/1-1/merchant.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= kobra_k88; L0ne_W0lf //===== Current Version: ===================================== -//= 2.3 +//= 2.4 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -28,6 +28,7 @@ //= 2.1 Fixed mistake in condition check. [L0ne_W0lf] //= 2.2 Added Quest Log commands. [L0ne_W0lf] //= 2.3 Fixed an issue with completequest by adding checkquest. [Kisuka] +//= 2.4 Quest log fixes. [Euphy] //============================================================ alberta_in,53,43,6 script Merchant#mer 86,{ @@ -43,7 +44,7 @@ alberta_in,53,43,6 script Merchant#mer 86,{ mes "Whoa..."; mes "You've actually been to Valhalla?! Wow, you've come a long way..."; next; - if (getskilllv("NV_BASIC") < 9) { + if (!callfunc("F_CanChangeJob")) { mes "[Chief Mahnsoo]"; mes "Hmmm..."; mes "It seems that you're not ready to become a Merchant again. Go finish learning the Basic Novice Skills first."; @@ -55,11 +56,11 @@ alberta_in,53,43,6 script Merchant#mer 86,{ mes "[Chief Mahnsoo]"; mes "I guess it's destiny that we meet like this once more. Alright. Once again, let me change you into a Merchant!"; next; - skill 143,0,0; + skill "NV_TRICKDEAD",0,0; jobchange Job_Merchant_High; - skill 153,1,0; - skill 154,1,0; - skill 155,1,0; + skill "MC_CARTREVOLUTION",1,0; + skill "MC_CHANGECART",1,0; + skill "MC_LOUD",1,0; mes "[Chief Mahnsoo]"; mes "Ah~ How nostalgic. Just like old times! Alright, do your best!"; close; @@ -198,12 +199,10 @@ alberta_in,53,43,6 script Merchant#mer 86,{ if (job_merchant_q2 == 1) { mes "[Chief Mahnsoo]"; mes "Remember, the Serial Number of the package is ^3355FF2485741^000000."; - setquest 1009; } else { mes "[Chief Mahnsoo]"; mes "Remember, the Serial Number of the package is ^3355FF2328137^000000."; - setquest 1009; } } else if (job_merchant_q2 == 3 || job_merchant_q2 == 4) { @@ -212,12 +211,10 @@ alberta_in,53,43,6 script Merchant#mer 86,{ if (job_merchant_q2 == 3) { mes "[Chief Mahnsoo]"; mes "When you get there, give the package to the Mage Guildsman in charge. Remember, the packages Serial Number is ^3355FF2989396^000000."; - setquest 1010; } else { mes "[Chief Mahnsoo]"; mes "When you get there, give the package to the Mage Guildsman in charge. Remember, the packages Serial Number is ^3355FF2191737^000000."; - setquest 1010; } } else if (job_merchant_q2 == 5 || job_merchant_q2 == 6) { @@ -229,12 +226,10 @@ alberta_in,53,43,6 script Merchant#mer 86,{ if (job_merchant_q2 == 5) { mes "[Chief Mahnsoo]"; mes "But he's a little forgetful, so give it to one of his students. Remember, the package's Serial Number is ^3355FF3012685^000000."; - setquest 1011; } else { mes "[Chief Mahnsoo]"; mes "But he's a little forgetful, give it to one of his students. Remember, the package's Serial Number is ^3355FF3487372^000000."; - setquest 1011; } } else if (job_merchant_q2 == 7 || job_merchant_q2 == 8) { @@ -243,12 +238,10 @@ alberta_in,53,43,6 script Merchant#mer 86,{ if (job_merchant_q2 == 7) { mes "[Chief Mahnsoo]"; mes "Remember, the package's Serial Number is ^3355FF3318702^000000."; - setquest 1012; } else { mes "[Chief Mahnsoo]"; mes "Remember, the package's Serial Number is ^3355FF3543625^000000."; - setquest 1012; } } if (job_merchant_q2 == 7 || job_merchant_q2 == 8) { @@ -295,7 +288,7 @@ alberta_in,53,43,6 script Merchant#mer 86,{ mes "be a Merchant?"; mes "Well..."; next; - if (getskilllv("NV_BASIC") < 9) { + if (!callfunc("F_CanChangeJob")) { mes "[Chief Mahnsoo]"; mes "First, you have to be a Novice with Job Level 10. Once you do that, make sure you learn all of the Basic Skills."; next; @@ -402,22 +395,22 @@ alberta_in,53,43,6 script Merchant#mer 86,{ mes "[Chief Mahnsoo]"; mes "When you get there, visit the Kafra Employee stationed there. Her name is Blossom. Did you get"; mes "all of that?"; - callsub S_GiveSerial,2485741,1,2328137,2; + callsub S_GiveSerial,2485741,1,2328137,2,1009; break; case 2: mes "First, get the delivery package from the storehouse, and then go to the Mage Guild in Geffen. When you get there, visit the Mage Guildsman in charge."; - callsub S_GiveSerial,2989396,3,2191737,4; + callsub S_GiveSerial,2989396,3,2191737,4,1010; break; case 3: mes "First, get the delivery package from the storehouse, and then go to Morroc. There you must find Java Dullihan, the dyemaker."; next; mes "[Chief Mahnsoo]"; mes "He's a bit forgetful, so you should probably give the package to one of his students."; - callsub S_GiveSerial,3012685,5,3487372,6; + callsub S_GiveSerial,3012685,5,3487372,6,1011; break; case 4: mes "First, get the delivery package from the storehouse, and then give it to the Kafra Employee stationed on Byalan Island."; - callsub S_GiveSerial,3318702,7,3543625,8; + callsub S_GiveSerial,3318702,7,3543625,8,1012; next; mes "[Chief Mahnsoo]"; mes "Ummmm..."; @@ -496,18 +489,17 @@ S_GiveSerial: next; mes "[Chief Mahnsoo]"; mes "Remember..."; - if (rand(1)) { - mes "The package's"; - mes "Serial Number is"; + mes "The package's"; + mes "Serial Number is"; + if (rand(2)) { mes "^3355FF"+getarg(0)+"^000000."; set job_merchant_q2,getarg(1); } else { - mes "The package's"; - mes "Serial Number is"; mes "^3355FF"+getarg(2)+"^000000."; set job_merchant_q2,getarg(3); } + setquest getarg(4); return; } diff --git a/pre-re/jobs/1-1/swordman.txt b/pre-re/jobs/1-1/swordman.txt index 55f350a..a1d65e4 100644 --- a/pre-re/jobs/1-1/swordman.txt +++ b/pre-re/jobs/1-1/swordman.txt @@ -48,7 +48,7 @@ izlude_in,74,172,4 script Swordman#swd_1 119,{ mes "[Swordman]"; mes "I see you're retreading the path of the Swordman! Once you've gotten used to brandishing a sword, you can never go back!!"; next; - if (getskilllv("NV_BASIC") < 9) { + if (!callfunc("F_CanChangeJob")) { mes "[Swordman]"; mes "Hmm? Ah, you must first master the Basic Skills before you are ready to become a Swordman."; next; @@ -59,11 +59,11 @@ izlude_in,74,172,4 script Swordman#swd_1 119,{ mes "[Swordman]"; mes "Excellent! Let me promote you to a Swordman right away!"; next; - skill 143,0,0; + skill "NV_TRICKDEAD",0,0; jobchange Job_Swordman_High; - skill 144,1,0; - skill 145,1,0; - skill 146,1,0; + skill "SM_MOVINGRECOVERY",1,0; + skill "SM_FATALBLOW",1,0; + skill "SM_AUTOBERSERK",1,0; mes "[Swordman]"; mes "Hmm... You look like a well-experienced Swordman. Still, I'm sure that you must train to improve your skills and gain strength!"; close; @@ -138,7 +138,7 @@ izlude_in,74,172,4 script Swordman#swd_1 119,{ } } mes "[Swordman]"; - if (getskilllv("NV_BASIC") < 9) { + if (!callfunc("F_CanChangeJob")) { mes "Hm, you still haven't learned all of the Basic Skills. You need to do that before you can become a Swordman."; next; mes "[Swordman]"; @@ -213,7 +213,7 @@ izlude_in,62,170,6 script Swordman#swd_2 85,{ mes "Who the hell are you?! Nobody, other than Novices, is permitted to come in here!"; close; } - else if (getskilllv("NV_BASIC") < 9) { + else if (!callfunc("F_CanChangeJob")) { mes "Stop! I can't let you in until you learn all of the Basic Skills. The Test Hall isn't for goofing off!"; close; } diff --git a/pre-re/jobs/1-1/thief.txt b/pre-re/jobs/1-1/thief.txt index fe54ad4..297d07a 100644 --- a/pre-re/jobs/1-1/thief.txt +++ b/pre-re/jobs/1-1/thief.txt @@ -29,7 +29,7 @@ moc_prydb1,39,129,2 script Thief Guide 69,{ mes "[Thief Guide]"; mes "Huh? Do I know you? It's creepy that you seem so familiar. You don't have a twin, do you?"; next; - if (getskilllv("NV_BASIC") < 9) { + if (!callfunc("F_CanChangeJob")) { mes "[Thief Guide]"; mes "What, do you want to be a Thief? I'm sorry, but you look like you need more training."; next; @@ -40,12 +40,12 @@ moc_prydb1,39,129,2 script Thief Guide 69,{ mes "[Thief Guide]"; mes "Well, I got this feeling like you've been through a lifetime of fighting, so I'm promoting you to a Thief right this minute. I better give you tough guys what you want..."; next; - skill 143,0,0; + skill "NV_TRICKDEAD",0,0; jobchange Job_Thief_High; - skill 149,1,0; - skill 150,1,0; - skill 151,1,0; - skill 152,1,0; + skill "TF_SPRINKLESAND",1,0; + skill "TF_BACKSLIDING",1,0; + skill "TF_PICKSTONE",1,0; + skill "TF_THROWSTONE",1,0; mes "[Thief Guide]"; mes "Since you've become a Thief, live as a Thief. Now, go for it! Next~"; close; @@ -290,7 +290,7 @@ moc_prydb1,39,129,2 script Thief Guide 69,{ mes strcharinfo(0) + "? Um, where is it? Ah, here it is. Let's see..."; next; mes "[Thief Guide]"; - if (getskilllv("NV_BASIC") < 9) { + if (!callfunc("F_CanChangeJob")) { mes "Isn't that cute? I can see you're ambitious, but you gotta learn all of the Basic Skills before you can become a Thief."; close; } diff --git a/pre-re/jobs/novice/novice.txt b/pre-re/jobs/novice/novice.txt index b6a805b..2cfafb4 100644 --- a/pre-re/jobs/novice/novice.txt +++ b/pre-re/jobs/novice/novice.txt @@ -5,7 +5,7 @@ //===== Current Version: ===================================== //= 2.4 //===== Compatible With: ===================================== -//= rAthena SVN 3422+(Requires jA Script System) +//= rAthena SVN //===== Description: ========================================= //= [Official Conversion] //= Novice Training Grounds @@ -753,7 +753,7 @@ new_1-2,83,111,3 script Skill Tutor#nv 753,{ next; mes "^3355FFYou have learned"; mes "the ^4A708BFirst Aid^3355FF skill.^000000"; - skill 142,1,0; //NV_FIRSTAID + skill "NV_FIRSTAID",1,0; set NOV_SK,3; set nov_get_item03,11; next; diff --git a/pre-re/merchants/shops.txt b/pre-re/merchants/shops.txt index fc2f4a3..1a31fbb 100644 --- a/pre-re/merchants/shops.txt +++ b/pre-re/merchants/shops.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Daegaladh //===== Current Version: ===================================== -//= 1.1 +//= 1.2 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -11,6 +11,7 @@ //===== Additional Comments: ================================= //= 1.0 First version. //= 1.1 Moved Izlude shops to pre-re/re paths. [Streusel] +//= 1.2 Moved Ninja shops to Pre-RE/RE paths. [Euphy] //============================================================ //======================================================= @@ -22,3 +23,9 @@ izlude,105,92,7 shop Vendor from Milk Ranch#i 90,519:-1 izlude,164,138,4 shop Pet Groomer#iz 124,537:-1,643:-1,10013:-1,10014:-1,554:-1,6113:-1,6114:-1,6115:-1 izlude_in,115,61,0 shop Tool Dealer#iz 47,611:-1,501:-1,502:-1,503:-1,504:-1,506:-1,645:-1,656:-1,601:-1,602:-1,1065:-1,1750:-1 izlude_in,121,64,3 shop Trading Merchant#iz 900,13200:-1,13201:-1,13202:-1,13150:-1,13102:-1,13151:-1,13154:-1,13155:-1,13163:-1,13165:-1,13168:-1 + +//======================================================= +// Ninja Shops +//======================================================= +que_ng,72,31,2 shop Boonji#nin 83,13250:-1,13251:-1,13252:-1,13253:-1,13254:-1 +que_ng,73,26,5 shop Boonray#nin 83,2117:-1,7521:-1,7522:-1,7523:-1,7524:-1 diff --git a/pre-re/other/bulletin_boards.txt b/pre-re/other/bulletin_boards.txt index 5c15786..1e27433 100644 --- a/pre-re/other/bulletin_boards.txt +++ b/pre-re/other/bulletin_boards.txt @@ -3,13 +3,14 @@ //===== By: ================================================== //= Euphy //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== -//= Any Athena Version -//===== Description: ========================================= +//= rAthena SVN +//===== Description: ========================================= //= Bulletin Boards for beginners. //===== Additional Comments: ================================= //= 1.0 Moved Izlude NPCs to Pre-RE/RE paths. +//= 1.1 Updated. [Capuche] //============================================================ izlude,131,116,4 script Bulletin Board#5 837,{ @@ -27,3 +28,163 @@ izlude,131,116,4 script Bulletin Board#5 837,{ mes "Enjoy your travels in the Rune-Midgarts Kingdom."; close; } + +gef_tower,55,142,5 script Bulletin Board#21 837,{ + mes "[Geffen Dungeon]"; + mes "^6B1312Caution!^000000"; + mes "Geffen dungeon is consisted of 3 levels"; + mes "is too difficult for new adventurers to venture."; + mes "As main monsters constantly appear,"; + mes "there are ^6B1312Hunter Flies^000000, ^6B1312Nightmares^000000 and ^6B1312Jakks^000000."; + mes "Nightmares and Jakks only appear in this dungeon."; + next; + mes "[Geffen Dungeon]"; + mes "On the 2nd level of this dungeon,"; + mes "^6B1312Ogretooth^000000, the creature of a doomed sword and ^6B1312Dracula^000000,"; + mes "the boss monster appear without warning."; + mes "On the 3rd level, ^6B1312Doppelganger^000000 one of the strongest boss monster appears at certain time."; + close; +} + +yuno_fild03,37,143,5 script Bulletin Board#24 837,{ + mes "[The Magma Dungeon, Nogg Road]"; + mes "^6B1312Caution!^000000"; + mes "Nogg Road is filled with very dangerous creatures."; + mes "It is limited to enter only to well-experienced adventurers."; + next; + mes "[The Magma Dungeon, Nogg Road]"; + mes "Main Monsters of this dungeon is"; + mes "^6B1312Kahos^000000 and ^6B1312Nightmare Terrors^000000."; + mes "Please be attentive."; + close; +} + +mjolnir_02,76,362,5 script Bulletin Board#10 837,{ + mes "[Coal Mine]"; + mes "^6B1312Caution!^000000"; + mes "The Coal Mine consists of a total of 3 levels. This dungeon is suited to both new and experienced adventurers, depending on the dungeon level."; + next; + mes "[Coal Mine]"; + mes "In the third level, monsters tend to attack adventurers in swarms, so avoid being surrounded. Since this area is a mine, many Ores can be found within the depths of this dungeon."; + close; +} + +moc_fild19,107,101,5 script Bulletin Board#20 837,{ + mes "[Sphinx]"; + mes "^6B1312Caution!^000000"; + mes "The Sphinx consists of 5 levels."; + mes "This dungeon is suited for training"; + mes "well-experienced adventurers."; + next; + mes "[Sphinx]"; + mes "There are many aggressive monsters"; + mes "residing in the Sphinx, and it is"; + mes "advised to run away if you happen"; + mes "to be surrounded by them."; + next; + mes "[Sphinx]"; + mes "In the fifth level, the boss"; + mes "monster ^6B1312Pharaoh^000000 will appear at"; + mes "certain times. Exorcise with"; + mes "extreme prejudice."; + close; +} + +aldebaran,136,133,5 script Bulletin Board#19 837,{ + mes "[Clock Tower]"; + mes "^6B1312Caution!^000000"; + mes "Only well-experienced adventurers"; + mes "should consider entering the Clock"; + mes "Tower. There are a total of 8"; + mes "levels: 4 beneath the ground and 4 above the earth."; + next; + mes "[Clock Tower]"; + mes "The main monsters of the Clock"; + mes "Tower are Clocks, Alarms and"; + mes "Bathories. Beware of the Clock"; + mes "Tower Keepers on patrol."; + next; + mes "[Clock Tower]"; + mes "The paths in the Clock Tower are"; + mes "winding and complicated, so please"; + mes "be careful and avoid getting"; + mes "lost."; + close; +} + +gef_fild10,69,340,5 script Bulletin Board#3 837,{ + mes "[Orc Dungeon]"; + mes "^6B1312Caution!^000000"; + mes "The Orc Dungeon is comprised of 2 levels. Although not very strong individually, the monsters here attack in groups. Be careful."; + next; + mes "[Orc Dungeon]"; + mes "Only in this dungeon will you be able to encounter Orc Skeletons, Zenorcs and Orc Zombies."; + next; + mes "[Orc Dungeon]"; + mes "Holy attribute weapons will greatly aid you in this place, since most of the monsters in this dungeon are Undead."; + next; + mes "[Orc Dungeon]"; + mes "If you don't have a Holy Weapon and you're teamed with a Priest, the Priest's Aspersio spell would be of tremendous help."; + close; +} + +xmas,147,311,5 script Bulletin Board#23 837,{ + mes "[Toy Factory]"; + mes "^6B1312Caution!^000000"; + mes "Toy Factory is consisting of 2 levels."; + mes "This dungeon is not that difficult to venture for new adventurers,"; + mes "but there are 3 dangerous boss monsters spawn at certain time."; + next; + mes "[Toy Factory]"; + mes "In 1st level, you will encounter a boss monster, ^6B1312Angeling^000000."; + mes "In 2nd level, you will encounter 2 dangrous boss monsters which are"; + mes "^6B1312Stormy Knight^000000 and ^6B1312Hatii^000000. It is advised to be attentive while venturing."; + mes "For your reference, ^6B1312Myst Cases^000000, ^6B1312Cruisers^000000 and ^6B1312Cookies^000000 only appear in this dungeon."; + close; +} + +pay_arche,39,134,5 script Bulletin Board#08 837,{ + mes "[Payon Cave]"; + mes "^6B1312Caution!^000000"; + mes "Payon Cave consists of 5 levels full of Undead and Demon monsters. Beware of swarms of Hydra in the third and fourth levels."; + next; + mes "[Payon Cave]"; + mes "In the fifth level, there is a pretty, yet dreadful boss monster known as ^6B1312Moonlight^000000 that spawns at certain times. Approach with extreme caution."; + close; +} + +moc_ruins,61,164,5 script Bulletin Board#27 837,{ + mes "[Pyramids]"; + mes "^6B1312Caution!^000000"; + mes "Pyramids is consisting of total 7 levels as 4 levels on the earth and the rest under the ground."; + mes "First few levels are suited for new adventurers to venture, but as deeper you go down, you will encounter stronger monsters."; + next; + mes "[Pyramids]"; + mes "In first level, there is the thief guild where people can change their jobs into Thief."; + mes "In the 4:th level, a boss monster called ^6B1312Osiris^000000 appears at certain time."; + mes "In the 3:d basement, ^6B1312Amon Ra^000000 appears at certain time."; + close; +} + +prt_fild05,278,220,5 script Bulletin Board#16 837,{ + mes "[Culvert]"; + mes "Culvert is comprised of a total of"; + mes "4 levels, and is a good training"; + mes "ground for new adventurers."; + next; + mes "[Culvert]"; + mes "In order to access the Culver, you"; + mes "must volunteer as a monster"; + mes "exterminator at the Prontera"; + mes "Chivalry. Remember that the"; + mes "monsters here may attack in"; + mes "swarms."; + next; + mes "[Culvert]"; + mes "In the fourth level of the Prontera"; + mes "Culvert, you may encounter the boss"; + mes "monster known as the ^6B1312Golden Thief"; + mes "^6B1312Bug^000000. New adventurers should"; + mes "exercise caution."; + close; +} diff --git a/pre-re/quests/collection/quest_disguiseloliruri.txt b/pre-re/quests/collection/quest_disguiseloliruri.txt index d922a0c..4548e08 100644 --- a/pre-re/quests/collection/quest_disguiseloliruri.txt +++ b/pre-re/quests/collection/quest_disguiseloliruri.txt @@ -13,8 +13,7 @@ //= 1.0 First version. //============================================================ -nif_fild02,332,327,4 script Deadman 795,{ - +nif_fild01,332,327,4 script Deadman 795,{ if (checkquest(60173) != -1) { if (checkquest(60173,HUNTING) != 2 ) { mes "[Deadman]"; diff --git a/pre-re/quests/quests_13_1.txt b/pre-re/quests/quests_13_1.txt index fc90e70..8972142 100644 --- a/pre-re/quests/quests_13_1.txt +++ b/pre-re/quests/quests_13_1.txt @@ -12,4 +12,4 @@ //= 1.0 Moved Izlude NPC to pre-re/re paths. [Euphy] //============================================================ -izlude,101,173,6 duplicate(PromotionalStaff_izlude) Promotional Staff#iz 100 +izlude,101,173,6 duplicate(PromotionalStaff_izlude) Promotional Staff#iz 100,3,3 diff --git a/pre-re/quests/quests_nameless.txt b/pre-re/quests/quests_nameless.txt index 995d254..a695c93 100644 --- a/pre-re/quests/quests_nameless.txt +++ b/pre-re/quests/quests_nameless.txt @@ -15,3 +15,4 @@ //============================================================ izlude_in,110,64,3 duplicate(Dorian_izlude) Dorian 878,2,2 +izlude_in,113,66,0 duplicate(StrangeMachine_izlude) Strange Machine 111 diff --git a/pre-re/quests/skills/swordman_skills.txt b/pre-re/quests/skills/swordman_skills.txt new file mode 100644 index 0000000..12be2ef --- /dev/null +++ b/pre-re/quests/skills/swordman_skills.txt @@ -0,0 +1,15 @@ +//===== rAthena Script ======================================= +//= Swordsman Skills Quests +//===== By: ================================================== +//= Euphy +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Quests for skills: Mobile HP Recovery +//===== Additional Comments: ================================= +//= 1.0 Moved Izlude NPC to pre-re/re paths. +//============================================================ + +izlude_in,175,130,2 duplicate(KnightDeThomas) Knight De Thomas 98,4,4 diff --git a/pre-re/scripts_athena.conf b/pre-re/scripts_athena.conf index 1a6c0cd..30a27c7 100644 --- a/pre-re/scripts_athena.conf +++ b/pre-re/scripts_athena.conf @@ -9,6 +9,7 @@ npc: npc/pre-re/airports/izlude.txt npc: npc/pre-re/cities/alberta.txt npc: npc/pre-re/cities/izlude.txt npc: npc/pre-re/cities/jawaii.txt +npc: npc/pre-re/cities/lutie.txt npc: npc/pre-re/cities/yuno.txt // --------------------------- Guides --------------------------- diff --git a/pre-re/scripts_jobs.conf b/pre-re/scripts_jobs.conf index 4c554e0..0052b47 100644 --- a/pre-re/scripts_jobs.conf +++ b/pre-re/scripts_jobs.conf @@ -12,3 +12,7 @@ npc: npc/pre-re/jobs/1-1/swordman.txt npc: npc/pre-re/jobs/1-1/thief.txt // - Novice npc: npc/pre-re/jobs/novice/novice.txt + +// ------------------------ Skill Quests ------------------------ +npc: npc/pre-re/quests/skills/novice_skills.txt +npc: npc/pre-re/quests/skills/swordman_skills.txt diff --git a/pre-re/scripts_main.conf b/pre-re/scripts_main.conf index cf11957..2dc4d93 100644 --- a/pre-re/scripts_main.conf +++ b/pre-re/scripts_main.conf @@ -27,7 +27,7 @@ npc: npc/other/CashShop_Functions.txt // ------------------- Common Script Files ---------------------- import: npc/scripts_athena.conf -import: npc/scripts_guild.conf +import: npc/scripts_woe.conf import: npc/scripts_jobs.conf import: npc/scripts_mapflags.conf import: npc/scripts_monsters.conf diff --git a/quests/bard_quest.txt b/quests/bard_quest.txt index 639dc3b..c1dccab 100644 --- a/quests/bard_quest.txt +++ b/quests/bard_quest.txt @@ -1929,7 +1929,7 @@ morocc,134,111,3 script Bard#3 741,{ mes "There's no reason to be afraid of this riffraff, your Uncle Kino is here, okay?"; } else if (BaseClass == Job_Assassin) { mes "There's no reason to be afraid. I know that person looks scary, but you're a good girl, so you'll be okay."; - } else if (BaeClass == Job_Blacksmith) { + } else if (BaseClass == Job_Blacksmith) { mes "There's no reason to be scared, honey. It's just a Blacksmith."; } else { mes "There's no reason to be scared. See...? That person won't hurt you."; diff --git a/quests/bunnyband.txt b/quests/bunnyband.txt index 434cf08..0e1dc15 100644 --- a/quests/bunnyband.txt +++ b/quests/bunnyband.txt @@ -40,7 +40,7 @@ alberta,26,229,0 script Kafra Employee#bunny 83,{ mes "Ooh, I'm sorry"; mes "but you need to"; mes "bring at least"; - mes .@Items[.@i+1]+" "+getitemname(.@Items[.@i])+((!.@i)?"s.":"."); + mes callfunc("F_InsertPlural",.@Items[.@i+1],getitemname(.@Items[.@i]))+"."; close; } mes "[Kafra Employee]"; @@ -57,7 +57,7 @@ alberta,26,229,0 script Kafra Employee#bunny 83,{ mes "Hm? I'm sorry,"; mes "but I actually can't"; mes "make this right now. You"; - mes "need "+.@Items[.@i+1]+" "+getitemname(.@Items[.@i])+((!.@i)?"s":""); + mes "need "+callfunc("F_InsertPlural",.@Items[.@i+1],getitemname(.@Items[.@i])); mes "in order for me to put this"; mes "Bunny Band together..."; close; diff --git a/quests/cooking_quest.txt b/quests/cooking_quest.txt index 476992d..24b2c18 100644 --- a/quests/cooking_quest.txt +++ b/quests/cooking_quest.txt @@ -79,7 +79,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 878,{ mes "the stairs for me, alright?"; goto L_End; } - else if (getequipid(1) != 5026) { + else if (getequipid(EQI_HEAD_TOP) != 5026) { if (Sex) { cutin "orleans_5",0; emotion e_an; diff --git a/quests/dandelion_request.txt b/quests/dandelion_request.txt index bb9d14f..d4ac70f 100644 --- a/quests/dandelion_request.txt +++ b/quests/dandelion_request.txt @@ -226,7 +226,7 @@ izlude,103,106,3 script Guildsman#1 48,3,3,{ mes "you'll need to meet with your"; mes "contact from the Assassin"; mes "Guild near a hut at the west"; - mes "side of the Oasis inside Morroc.^FFFFFF ^000000 So keep an eye out for him."; + mes "side of the Oasis inside Morroc. So keep an eye out for him."; next; mes "[Guildsman]"; mes "I doubt you'll have"; @@ -4100,7 +4100,7 @@ que_job01,84,17,3 script Lin#2-1 885,{ mes "If I can obtain that,"; mes "people would be able to"; mes "take Satan Morroc's threat"; - mes "more seriously. And Thanatos^FFFFFF ^000000 Tower wouldn't be a tourist area."; + mes "more seriously. And Thanatos Tower wouldn't be a tourist area."; next; mes "[R. Moore]"; mes "I'm begging you, please"; @@ -4327,7 +4327,7 @@ que_job01,79,15,1 script R 880,{ mes "attacked me because they"; mes "did not want me to repair"; mes "Morroc's elemental equilibrium."; - mes "At least, that's what I believe. ^FFFFFF ^000000"; + mes "At least, that's what I believe."; set mao_request,109; next; mes "[R. Moore]"; @@ -4369,7 +4369,7 @@ que_job01,79,15,1 script R 880,{ mes "You should be able to find"; mes "the element regulation device"; mes "behind one of the pyramids in"; - mes "the field west of Morroc. Please^FFFFFF ^000000"; + mes "the field west of Morroc. Please"; mes "use an enchanted stone to"; mes "boost the crest's power."; close2; @@ -5003,7 +5003,7 @@ que_job01,91,83,3 script Kidd#hall 884,{ mes "types of those elemental"; mes "stones. Anyway, you already"; mes "know where the west crest is."; - mes "The south crest is in the lowest^FFFFFF ^000000 part of the field south of Morroc."; + mes "The south crest is in the lowest part of the field south of Morroc."; next; mes "[Kidd]"; mes "As for the north and east"; @@ -5199,7 +5199,7 @@ que_job01,91,83,3 script Kidd#hall 884,{ mes "are supposed to protect some"; mes "seal beneath Morroc Castle"; mes "that keeps this monster, Satan"; - mes "Morroc, from invading our world.^FFFFFF ^000000 It might be just a legend, but..."; + mes "Morroc, from invading our world. It might be just a legend, but..."; next; mes "[" + strcharinfo(0) + "]"; mes "The assistant told me that"; @@ -5589,7 +5589,7 @@ que_job01,89,85,5 script Dandelion Member 880,{ mes "Ah, so you already know"; mes "about us? I feel so ashamed..."; mes "We let that Raiyan Moore kidnap"; - mes "the children that were entrusted^FFFFFF ^000000 to our care. I don't know if we"; + mes "the children that were entrusted to our care. I don't know if we"; mes "can ever forgive ourselves."; close2; break; @@ -5607,7 +5607,7 @@ que_job01,89,85,5 script Dandelion Member 880,{ mes "streets, repair homes for"; mes "lower income households, and"; mes "even operated a day care center."; - mes "However, Raiyan Moore kidnapped^FFFFFF ^000000 all the children under our care..."; + mes "However, Raiyan Moore kidnapped all the children under our care..."; next; mes "[Dandelion Member]"; mes "I can only imagine the"; @@ -6147,7 +6147,7 @@ yuno_in04,180,106,3 script Reading Girl 73,{ mes "the organized documents did"; mes "so on Mr. Moore's behalf. Then,"; mes "she quickly vanished before"; - mes "I could ask her for her name or^FFFFFF ^000000 Mr. Moore's contact information."; + mes "I could ask her for her name or Mr. Moore's contact information."; next; mes "[" + strcharinfo(0) + "]"; mes "Damn! That information"; diff --git a/quests/doomed_swords.txt b/quests/doomed_swords.txt index 89e10b2..6e6b70a 100644 --- a/quests/doomed_swords.txt +++ b/quests/doomed_swords.txt @@ -37,8 +37,8 @@ prt_in,162,11,2 script Ghatu#magum 86,{ mes "[Ghatu]"; mes "Rumor has it that he's"; mes "hiding in the mountains"; - mes "since too many people want^FFFFFF ^000000 to use his talents for the wrong"; - mes "purposes. Apparently, there is^FFFFFF ^000000 a godly quality to his weapons..."; + mes "since too many people want to use his talents for the wrong"; + mes "purposes. Apparently, there is a godly quality to his weapons..."; set event_magum,1; close; } @@ -63,7 +63,7 @@ prt_in,162,11,2 script Ghatu#magum 86,{ mes "That smith used to be"; mes "a pretty easy going guy"; mes "until he was forced to work"; - mes "against his will. Slowly, he^FFFFFF ^000000 became gloomy and intimidating..."; + mes "against his will. Slowly, he became gloomy and intimidating..."; next; mes "[Ghatu]"; mes "But I suppose blacksmiths"; @@ -97,7 +97,7 @@ prt_in,162,11,2 script Ghatu#magum 86,{ mes "That smith used to be"; mes "a pretty easy going guy"; mes "until he was forced to work"; - mes "against his will. Slowly, he^FFFFFF ^000000 became gloomy and intimidating..."; + mes "against his will. Slowly, he became gloomy and intimidating..."; next; mes "[Ghatu]"; mes "But I suppose blacksmiths"; @@ -233,13 +233,13 @@ izlude_in,173,88,2 script Nain#magum 102,{ mes "more criminals, the rage and"; mes "bloodlust of its victims began"; mes "to accumulate upon the blade."; - mes "Although the sword gained great^FFFFFF ^000000 strength, it was tainted by evil."; + mes "Although the sword gained great strength, it was tainted by evil."; next; mes "[Nain]"; mes "The last person to wield"; mes "the Executioner almost lost"; - mes "his mind to the sword. He saved^FFFFFF ^000000 himself by giving it to a talented"; - mes "blacksmith who would destroy^FFFFFF ^000000 it for him, thus saving his soul."; + mes "his mind to the sword. He saved himself by giving it to a talented"; + mes "blacksmith who would destroy it for him, thus saving his soul."; next; mes "[Nain]"; mes "This mysterious blacksmith"; @@ -418,7 +418,7 @@ pay_fild08,218,283,2 script Mysterious Man#magum 89,{ mes "[Mysterious Blacksmith]"; mes "Freyja suspected nothing and"; mes "told Loki about the secret of"; - mes "Mysteltainn. The next time the^FFFFFF ^000000 gods played their game of throwing"; + mes "Mysteltainn. The next time the gods played their game of throwing"; mes "objects at Baldur, Loki was there with a small Mysteltainn twig."; next; mes "[Mysterious Blacksmith]"; @@ -469,7 +469,7 @@ pay_fild08,218,283,2 script Mysterious Man#magum 89,{ mes "I can tell that you don't know"; mes "enough about the Mysteltainn"; mes "to fully understand all of the"; - mes "risks that come with wielding^FFFFFF ^000000 that sword. Yes, you're too green."; + mes "risks that come with wielding that sword. Yes, you're too green."; next; mes "[Mysterious Blacksmith]"; mes "I can't take the risk"; @@ -486,7 +486,7 @@ pay_fild08,218,283,2 script Mysterious Man#magum 89,{ mes "wondering how such a small"; mes "dagger can contain such power."; mes "It's simple. I cast forbidden"; - mes "curse magic to inbue the dagger^FFFFFF ^000000 with its awesome destructiveness."; + mes "curse magic to inbue the dagger with its awesome destructiveness."; next; mes "[Mysterious Blacksmith]"; mes "The curse I cast is so"; @@ -501,7 +501,7 @@ pay_fild08,218,283,2 script Mysterious Man#magum 89,{ mes "fair to warn you that"; mes "the power of the curse"; mes "is such that the more you"; - mes "use the Grimtooth, the more^FFFFFF ^000000 it burns away at your very soul..."; + mes "use the Grimtooth, the more it burns away at your very soul..."; next; mes "[Mysterious Blacksmith]"; mes "I am willing to forge"; @@ -565,7 +565,7 @@ pay_fild08,218,283,2 script Mysterious Man#magum 89,{ mes "I created this sword asked"; mes "me to destroy it, fearing that"; mes "it would corrupt his mind with"; - mes "its bloodlust. But if you think^FFFFFF ^000000 you can endure, I may forge it..."; + mes "its bloodlust. But if you think you can endure, I may forge it..."; next; mes "[Mysterious Blacksmith]"; mes "Just bring me..."; @@ -702,7 +702,7 @@ pay_fild08,218,283,2 script Mysterious Man#magum 89,{ mes "You've forgotten"; mes "to bring ^0099FF1 Young Twig^000000,"; mes "the embodiment of the"; - mes "Mysteltainn twig used to^FFFFFF ^000000 kill Baldur. Hurry and bring it..."; + mes "Mysteltainn twig used to kill Baldur. Hurry and bring it..."; close; } if (countitem(7019) < 1) { @@ -711,7 +711,7 @@ pay_fild08,218,283,2 script Mysterious Man#magum 89,{ mes "^0099FF1 Loki's Whispers^000000. We need"; mes "that to imbue the sword with"; mes "immense, evil power. Go and"; - mes "find that as quickly as you can! ^FFFFFF ^000000"; + mes "find that as quickly as you can!"; close; } if (countitem(7020) < 1) { @@ -719,7 +719,7 @@ pay_fild08,218,283,2 script Mysterious Man#magum 89,{ mes "Hm, you still need to"; mes "bring ^0099FF1 Mother's Nightmare^000000"; mes "to instill the power of misery"; - mes "and grave portent to this blade... ^FFFFFF ^000000"; + mes "and grave portent to this blade..."; close; } if (countitem(7021) < 1) { @@ -728,7 +728,7 @@ pay_fild08,218,283,2 script Mysterious Man#magum 89,{ mes "bring ^0099FF1 Foolishness"; mes "of the Blind^000000 to instill the"; mes "energy of tragic regret into"; - mes "the curse imbued into the blade... ^FFFFFF ^000000"; + mes "the curse imbued into the blade..."; close; } if (countitem(714) < 1) { @@ -834,7 +834,7 @@ pay_fild08,218,283,2 script Mysterious Man#magum 89,{ mes "[Mysterious Blacksmith]"; mes "Freyja suspected nothing and"; mes "told Loki about the secret of"; - mes "Mysteltainn. The next time the^FFFFFF ^000000 gods played their game of throwing"; + mes "Mysteltainn. The next time the gods played their game of throwing"; mes "objects at Baldur, Loki was there with a small Mysteltainn twig."; next; mes "[Mysterious Blacksmith]"; @@ -884,7 +884,7 @@ pay_fild08,218,283,2 script Mysterious Man#magum 89,{ mes "Mysteltainn, I advise you"; mes "to learn more about it. You"; mes "must know the risks involved"; - mes "in wielding that sort of power... ^FFFFFF ^000000"; + mes "in wielding that sort of power..."; close; case 2: if (dmdswrd_Q2 & 16) { @@ -982,7 +982,7 @@ pay_fild08,218,283,2 script Mysterious Man#magum 89,{ mes "wondering how such a small"; mes "dagger can contain such power."; mes "It's simple. I cast forbidden"; - mes "curse magic to inbue the dagger^FFFFFF ^000000 with its awesome destructiveness."; + mes "curse magic to inbue the dagger with its awesome destructiveness."; next; mes "[Mysterious Blacksmith]"; mes "The curse I cast is so"; @@ -997,7 +997,7 @@ pay_fild08,218,283,2 script Mysterious Man#magum 89,{ mes "fair to warn you that"; mes "the power of the curse"; mes "is such that the more you"; - mes "use the Grimtooth, the more^FFFFFF ^000000 it burns away at your very soul..."; + mes "use the Grimtooth, the more it burns away at your very soul..."; next; mes "[Mysterious Blacksmith]"; mes "I am willing to forge"; @@ -1137,7 +1137,7 @@ pay_fild08,218,283,2 script Mysterious Man#magum 89,{ mes "I created this sword asked"; mes "me to destroy it, fearing that"; mes "it would corrupt his mind with"; - mes "its bloodlust. But if you think^FFFFFF ^000000 you can endure, I may forge it..."; + mes "its bloodlust. But if you think you can endure, I may forge it..."; next; mes "[Mysterious Blacksmith]"; mes "Just bring me..."; diff --git a/quests/doomed_swords_quest.txt b/quests/doomed_swords_quest.txt index 473952a..ac17661 100644 --- a/quests/doomed_swords_quest.txt +++ b/quests/doomed_swords_quest.txt @@ -842,7 +842,7 @@ morocc,248,159,4 script Young Man#magum1 86,{ mes "appreciate it, but this"; mes "pentagram has really good"; mes "craftsmanship! Now, if my"; - mes "older brothers have already^FFFFFF ^000000 helped you, I shall do the same."; + mes "older brothers have already helped you, I shall do the same."; next; mes "[Huey]"; mes "My older brothers are even"; @@ -856,7 +856,7 @@ morocc,248,159,4 script Young Man#magum1 86,{ mes "would have been for nothing."; mes "And then... They might just"; mes "come looking for me. Morf"; - mes "especially. Oh, right! Materials!^FFFFFF ^000000 I need these for the pentagram!"; + mes "especially. Oh, right! Materials! I need these for the pentagram!"; next; mes "[Huey]"; mes "Please bring me"; diff --git a/quests/first_class/tu_acolyte.txt b/quests/first_class/tu_acolyte.txt index c40cb48..1f63563 100644 --- a/quests/first_class/tu_acolyte.txt +++ b/quests/first_class/tu_acolyte.txt @@ -1,17 +1,17 @@ -//===== rAthena Script ======================================= +//===== rAthena Script ======================================= //= Acolyte Class Tutorial and Job Specific Quest -//===== By: ================================================== +//===== By: ================================================== //= Fix up by Jukka -//===== Current Version: ===================================== -//= 1.9 -//===== Compatible With: ===================================== +//===== Current Version: ===================================== +//= 2.0 +//===== Compatible With: ===================================== //= rAthena SVN -//===== Description: ========================================= +//===== Description: ========================================= //= [Official Conversion] //= Acolyte training quest. -//===== Additional Comments: ================================= -//= 1.0 Fully working -//= 1.1 optimized [Lupus] +//===== Additional Comments: ================================= +//= 1.0 Fully working. +//= 1.1 Optimized. [Lupus] //= 1.2 Fixed experience gains to match upcoming rate adjustments. [SinSloth] //= 1.3 Fixed bad NPC header data to comply with rev. 11603. [L0ne_W0lf] //= 1.4 Misc. updates. [L0ne_W0lf] @@ -21,14 +21,15 @@ //= 1.7 Fixed exp, texts, and requirements in pre-renewal [Daegaladh] //= 1.8 Updated to match the official script. [Euphy] //= 1.9 Added GM management function. [Euphy] -//============================================================ +//= 2.0 Clean-up and little fix in Cleope Verce. [Capuche] +//============================================================ // Priest Praupin //============================================================ -prt_church,179,15,1 script Priest Praupin 110,{ +prt_church,179,15,1 script Priest Praupin 4_M_MINISTER,{ mes "[Priest Praupin]"; - if(BaseJob != Job_Acolyte){ - if(tu_acolyte01 == 25){ + if(BaseJob != Job_Acolyte) { + if(tu_acolyte01 == 25) { mes "Oh...!"; mes "You're "+strcharinfo(0)+" !"; mes "You've grown so much!"; @@ -39,7 +40,7 @@ prt_church,179,15,1 script Priest Praupin 110,{ } close; } - switch(tu_acolyte01){ + switch(tu_acolyte01) { case 0: mes "Welcome, little one."; mes "Fate must have brought"; @@ -51,7 +52,7 @@ prt_church,179,15,1 script Priest Praupin 110,{ mes "you may not know what to do"; mes "as an Acolyte from here on..."; next; - switch(select("I'm not worried.:What should I do?")){ + switch(select("I'm not worried.:What should I do?")) { case 1: mes "[Priest Praupin]"; mes "Seeing your eyes filled with such determination assures me. But if you run into any trouble, feel free to ask me for help. Good bye for now, blessed child."; @@ -65,9 +66,9 @@ prt_church,179,15,1 script Priest Praupin 110,{ mes "[Priest Praupin]"; mes "I look forward to seeing you"; mes "become a better Acolyte after learning from Sister Asthe's instructions. If you like, I can send you to the convent."; - set tu_acolyte01, 1; + tu_acolyte01 = 1; next; - if(select("Go to the convent.:Do not go.")==1){ + if(select("Go to the convent.:Do not go.") == 1) { mes "[Priest Praupin]"; mes "Please say hello"; mes "to Sister Asthe for me."; @@ -94,7 +95,7 @@ prt_church,179,15,1 script Priest Praupin 110,{ mes "Ah, he's away at the convent right now. If you want to meet Bishop Maugins in the Saint Capitolina Convent, travel ^3131FFnorth^000000, ^3131FFeast^000000, ^3131FFeast^000000 and then ^3131FFeast^000000 from Prontera."; close; case 22: - if(countitem(7181) > 0){ // Receipt_01 + if(countitem(7181) > 0) { //Receipt_01 emotion e_gasp; mes "Oh my, you seem"; mes "to be growing quickly"; @@ -119,25 +120,18 @@ prt_church,179,15,1 script Priest Praupin 110,{ mes "I know I'm not offering much,"; mes "but they were quite helpful to me when I was a young Acolyte like yourself."; next; - switch(select("Wand:Flail")) { - case 1: - delitem 7181,1; //Receipt_01 - set tu_acolyte01,23; + if (select("Wand:Flail") == 1) getitem 1604,1; //Wand - break; - case 2: - delitem 7181,1; //Receipt_01 - set tu_acolyte01,23; + else getitem 1510,1; //Flail - break; - } + delitem 7181,1; //Receipt_01 + tu_acolyte01 = 23; close; } else { mes "You are such a good person,"; mes "a true child of the light. I hope that many others will benefit from the purity of your heart and mind."; close; } - break; case 25: mes "You must now find"; mes "your own path and become"; @@ -155,7 +149,7 @@ prt_church,179,15,1 script Priest Praupin 110,{ mes "[Priest Praupin]"; mes "Would you like me to send you to the convent so that you can learn from this wonderful teacher?"; next; - if(select("Yes, please.:No thanks.")==1){ + if(select("Yes, please.:No thanks.") == 1) { mes "[Priest Praupin]"; mes "Please say hello"; mes "to Sister Asthe for me."; @@ -176,9 +170,9 @@ prt_church,179,15,1 script Priest Praupin 110,{ // Asthe //============================================================ -prt_monk,230,106,3 script Asthe#tu 79,{ +prt_monk,230,106,3 script Asthe#tu 1_F_PRIEST,{ mes "[Asthe]"; - switch(tu_acolyte01){ + switch(tu_acolyte01) { case 1: mes "Oh my..."; mes "How did such"; @@ -186,11 +180,11 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "manage to reach"; mes "this remote place?"; next; - if(select("I came for fun.:Priest Praupin suggested I come here.")==1){ + if(select("I came for fun.:Priest Praupin suggested I come here.") == 1) { mes "[Asthe]"; mes "This convent is always quiet and peaceful. Sitting on the benches and feeling the almighty presense all around you is such a relaxing, meditative experience."; - close; - } else { + } + else { mes "[Asthe]"; mes "Priest Praupin?"; mes "He's a very kind man"; @@ -203,10 +197,9 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "why don't you rest"; mes "for a little bit? You must be tired after traveling all the way here. When you're ready, just come"; mes "see me, okay?"; - set tu_acolyte01, 2; - close; + tu_acolyte01 = 2; } - break; + close; case 2: mes "This castle, Saint Capitolina Convent, is a beautiful and peaceful place that brings"; mes "calm to any heart."; @@ -220,7 +213,7 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes ""+strcharinfo(0)+","; mes "have you thought about what kind of Acolyte you would like to become? It's very important that you plan for the future that you want."; next; - if(select("One that supports others.:One that punishes evil.")==1){ + if(select("One that supports others.:One that punishes evil.") == 1) { mes "[Asthe]"; mes "Ah, you have such"; mes "a generous heart!"; @@ -249,13 +242,12 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "is the most necessary"; mes "skill for an Acolyte?"; next; - switch(select("Heal:Aqua Benedicta:Teleport")){ + switch(select("Heal:Aqua Benedicta:Teleport")) { case 1: mes "[Asthe]"; mes "Ah, yes."; mes "^3131FFHeal ^000000 is a basic, yet important skill for people like us. It can recover your own health as"; mes "well as that of others."; - next; break; case 2: mes "[Asthe]"; @@ -268,7 +260,6 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "^3131FFHeal^000000 is the most important"; mes "skill that an Acolyte can learn. It's a special ability that can save others and defeat the"; mes "monsters borne of darkness."; - next; break; case 3: mes "[Asthe]"; @@ -278,10 +269,9 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "In my opinion,"; mes "^3131FFHeal^000000 is the most important skill that an Acolyte can learn. It's a special ability that can save others and defeat the"; mes "monsters borne of darkness."; - next; break; } - + next; mes "[Asthe]"; mes "You can use the holy power"; mes "in the Heal skill to attack Undead monsters (^3131FFShift + Heal^000000). The light of truth protects the righteous and destroys the wicked."; @@ -294,8 +284,8 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "[Asthe]"; mes "HEAL !!"; npcskill "AL_HEAL",11,99,60; - set tu_acolyte01, 3; - if(getskilllv("AL_HEAL") == 0){ + tu_acolyte01 = 3; + if(getskilllv("AL_HEAL") == 0) { getexp 0,100; specialeffect2 EF_CONE; } @@ -305,7 +295,7 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "think? I believe learning the basics is your most important"; mes "task for now."; next; - if(getskilllv("AL_HEAL") < 3){ + if(getskilllv("AL_HEAL") < 3) { mes "[Asthe]"; mes "Well then, learn"; mes "the Heal skill up to"; @@ -332,12 +322,12 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "Well then,"; mes "I hope you"; mes "have a safe trip."; - set tu_acolyte01,4; + tu_acolyte01 = 4; getitem 1504,1; //Mace getitem 602,1; //Wing_Of_Butterfly savepoint "prt_monk",30,250; - close; - } else { + } + else { mes "[Asthe]"; mes "Oh my!"; mes "You've already"; @@ -350,13 +340,12 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "ready for me to discuss"; mes "the next subject. Now,"; mes "let's see... Hmm..."; - set tu_acolyte01, 5; - close; + tu_acolyte01 = 5; } - break; + close; case 4: - if(getskilllv("AL_HEAL") > 2){ - if(countitem(1504) > 0){ + if(getskilllv("AL_HEAL") > 2) { + if(countitem(1504) > 0) { //Mace mes "Oh my!"; mes "Welcome back~"; mes "I see that you've"; @@ -382,18 +371,15 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "Thank you so much."; mes "You have returned the Mace."; emotion e_heh; - set tu_acolyte01, 5; - delitem 1504, 1; //Mace - if(Class == Job_Acolyte_High) { + tu_acolyte01 = 5; + delitem 1504,1; //Mace + if(Class == Job_Acolyte_High) getexp 2000,1000; - specialeffect2 EF_CONE; - close; - } else { + else getexp 1000,500; - specialeffect2 EF_CONE; - close; - } - } else { + specialeffect2 EF_CONE; + } + else { mes "Oh my!"; mes "Welcome back~"; mes "I see that you've"; @@ -401,8 +387,8 @@ prt_monk,230,106,3 script Asthe#tu 79,{ next; mes "[Asthe]"; mes "But you must have forgotten the Mace I've lent you. Would you bring it back so that I can return it to the church?"; - close; } + close; } mes "Are you having"; mes "a hard time training"; @@ -435,7 +421,7 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "[Asthe]"; mes "Did you undertand all that?"; mes "Ho ho ho~ No need to try to remember everything right now. You'll get the hang of it."; - set tu_acolyte01, 6; + tu_acolyte01 = 6; close; case 6: mes ""+strcharinfo(0)+","; @@ -446,7 +432,7 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "[Asthe]"; mes "However, I'm a little busy with"; mes "my work right now, so would you deliver this to Priest Gardron in the next building for me?"; - set tu_acolyte01,7; + tu_acolyte01 = 7; getitem 7148,1; //Mother_Letter close; case 7: @@ -494,7 +480,7 @@ prt_monk,230,106,3 script Asthe#tu 79,{ next; mes "^3355FFSister Asthe gives"; mes "you some dog food.^000000"; - set tu_acolyte01, 10; + tu_acolyte01 = 10; close; case 11: case 12: @@ -515,7 +501,7 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "know the answer."; mes "Think carefully"; mes "and it will come."; - set tu_acolyte01, 12; + tu_acolyte01 = 12; close; case 13: mes "You remember that"; @@ -544,7 +530,7 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "Let's take a break before"; mes "we proceed to the next lesson,"; mes "alright? I'll be right here."; - set tu_acolyte01, 14; + tu_acolyte01 = 14; close; case 14: mes "Now it's time"; @@ -566,7 +552,7 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "[Asthe]"; mes "Try it for"; mes "yourself, okay?"; - set tu_acolyte01, 15; + tu_acolyte01 = 15; npcskill "AL_INCAGI",10,0,0; close; case 15: @@ -577,7 +563,7 @@ prt_monk,230,106,3 script Asthe#tu 79,{ next; mes "[Asthe]"; mes "Like you'd expect, Decrease AGI slows down enemies, reducing their agility, Movement Speed, Dodge Rate and Attack Speed. Its effect is the exact reverse of Increase AGI."; - set tu_acolyte01, 15; + tu_acolyte01 = 15; next; mes "[Asthe]"; mes "The last skill in the Heal skill tree is ^3131FFCure^000000. You can learn Cure after learning Level 2 Heal."; @@ -593,7 +579,7 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "For now, don't forget that the Increase AGI, Decrease AGI and"; mes "Cure skills can only be learned"; mes "by learning the Heal skill."; - set tu_acolyte01, 16; + tu_acolyte01 = 16; close; case 16: mes "You've been learning"; @@ -651,7 +637,7 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "Now, we've covered some"; mes "pretty complicated material in this lesson. Would you like to hear this again?"; next; - if(select("Listen again.:Move to the next topic.")==1){ + if(select("Listen again.:Move to the next topic.") == 1) { mes "[Asthe]"; mes "Alright,"; mes "give me a moment"; @@ -660,7 +646,7 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "[Asthe]"; mes "Ho ho!"; mes "What a smart Acolyte~"; - set tu_acolyte01, 17; + tu_acolyte01 = 17; } close; case 17: @@ -684,7 +670,7 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "[Asthe]"; mes "Oh, and this last delivery is a receipt for ^3131FFPriest Praupin^000000, the priest who told you about me."; mes "Here you go, the letters and packages..."; - if(MaxWeight - Weight < 2430){ + if(MaxWeight - Weight < 2430) { next; mes "[Asthe]"; mes "Oh...!"; @@ -693,7 +679,7 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "to carry everything."; mes "Why don't you put some of your things in Kafra Storage first?"; } else { - set tu_acolyte01, 18; + tu_acolyte01 = 18; getitem 7183,1; //Sister_Letter getitem 7181,1; //Receipt_01 getitem 1081,2; //Merchant_Box_1 @@ -743,7 +729,7 @@ prt_monk,230,106,3 script Asthe#tu 79,{ mes "the next time we"; mes "meet, I will give"; mes "you my final lesson."; - set tu_acolyte01, 24; + tu_acolyte01 = 24; close; case 24: mes "The last skill"; @@ -777,8 +763,8 @@ prt_monk,230,106,3 script Asthe#tu 79,{ next; mes "[Asthe]"; mes "Well, please don't forget what I've taught you. I hope you look back with fondness at our time together amongst these beautiful flowers. May God bless you~"; - set tu_acolyte01, 25; - if (checkre(3)) + tu_acolyte01 = 25; + if(checkre(3)) getexp 1000,1000; else getexp 5000,3000; @@ -802,10 +788,10 @@ prt_monk,230,106,3 script Asthe#tu 79,{ // Priest Gardron //============================================================ -monk_in,18,38,6 script Priest Gardron#tu 110,{ +monk_in,18,38,6 script Priest Gardron#tu 4_M_MINISTER,{ mes "[Priest Gardron]"; - if(tu_acolyte01 == 7){ - if(countitem(7148) >= 1){ + if(tu_acolyte01 == 7) { + if(countitem(7148) >= 1) { //Mother_Letter mes "Hmm...?"; mes "What's that?"; mes "You have something for me?"; @@ -820,8 +806,7 @@ monk_in,18,38,6 script Priest Gardron#tu 110,{ mes "she is getting old now, but I'm relieved to hear that her health"; mes "is good. We are truly blessed..."; delitem 7148,1; //Mother_Letter - set tu_acolyte01,8; - close; + tu_acolyte01 = 8; } else { mes "Hmm...?"; mes "What's that?"; @@ -832,10 +817,10 @@ monk_in,18,38,6 script Priest Gardron#tu 110,{ mes "Well, it seems that"; mes "you must have forgotten"; mes "it or misplaced it somewhere."; - close; } - } else if(tu_acolyte01 == 8){ - if(countitem((checkre(0)?939:957)) > 4){ + close; + } else if(tu_acolyte01 == 8) { + if(countitem((checkre(0)?939:957)) > 4) { //Bee_Sting mes "Oh...!"; mes "You've returned!"; mes "Let's see... One..."; @@ -855,9 +840,9 @@ monk_in,18,38,6 script Priest Gardron#tu 110,{ mes "should return to Sister"; mes "Asthe to continue your"; mes "Acolyte training."; - set tu_acolyte01, 9; + tu_acolyte01 = 9; percentheal 100,100; - if (checkre(3)) + if(checkre(3)) getexp 1000,1000; else getexp 2000,2000; @@ -865,7 +850,7 @@ monk_in,18,38,6 script Priest Gardron#tu 110,{ //getitem 505,1; //Blue_Potion close; } else { - if (checkre(0)) { + if(checkre(0)) { mes "A few days ago, a sister in Prontera"; mes "sent me a telegram that citizens had been harmed"; mes "by Hornets in the western field,"; @@ -930,7 +915,7 @@ monk_in,18,38,6 script Priest Gardron#tu 110,{ mes "Now then..."; mes "Will you go to Payon?"; next; - if(select("Let's go to Payon!:Um, let me get ready first.")==1) { + if(select("Let's go to Payon!:Um, let me get ready first.") == 1) { mes "[Priest Gardron]"; mes "Good, good."; mes "I shall send you"; @@ -954,17 +939,17 @@ monk_in,18,38,6 script Priest Gardron#tu 110,{ // Dog //============================================================ -prt_monk,235,245,5 script Dog#tu 81,{ +prt_monk,235,245,5 script Dog#tu 4_DOG01,{ mes "[Dog]"; mes "^CDB79EBark bark!"; mes "Woof woof!^000000"; next; - if(tu_acolyte01 == 10){ + if(tu_acolyte01 == 10) { while(1) { - switch(select("Give a treat.:Pet the dog.:End actions.")){ + switch(select("Give a treat.:Pet the dog.:End actions.")) { case 1: - set .@dog_food, .@dog_food + 1; - if(.@dog_food > 4){ + .@dog_food++; + if(.@dog_food > 4) { mes "[Dog]"; mes "^CDB79EGrrrrrr...!^000000"; emotion e_an; @@ -972,26 +957,23 @@ prt_monk,235,245,5 script Dog#tu 81,{ mes "^3355FFThe dog grinds"; mes "its teeth and glares"; mes "at you menacingly.^000000"; - next; } else { mes "[Dog]"; mes "^CDB79ERoof roof!^000000"; emotion e_lv; - next; } break; case 2: mes "[Dog]"; mes "^CDB79ERoof roof~^000000"; emotion e_lv; - next; break; case 3: mes "[Dog]"; mes "^CDB79ERoof roof!^000000"; - next; break; } + next; } } mes "["+strcharinfo(0)+"]"; @@ -1001,9 +983,9 @@ prt_monk,235,245,5 script Dog#tu 81,{ // Boy //============================================================ -prt_monk,243,238,5 script Boy#boy_voi 139,5,5,{ +prt_monk,243,238,5 script Boy#boy_voi HIDDEN_WARP_NPC,5,5,{ OnTouch_: - if(tu_acolyte01 != 10)end; + if(tu_acolyte01 != 10) end; mes "[??]"; mes "^333333*Sniff*^000000"; mes "Sister..."; @@ -1012,9 +994,9 @@ OnTouch_: // Ill Girl //============================================================ -prt_monk,226,257,6 script Ill Girl#tu 93,{ +prt_monk,226,257,6 script Ill Girl#tu 4_F_04,{ mes "[Angelic]"; - if(tu_acolyte01 > 12){ + if(tu_acolyte01 > 12) { mes "Thanks for helping me."; mes "I'm sad my older sister is no longer with me, but I oughta"; mes "cheer up, right? I'll try my best!"; @@ -1025,7 +1007,7 @@ prt_monk,226,257,6 script Ill Girl#tu 93,{ mes "^333333*Sniff* *Cough cough!*^000000"; mes "It h-hurts so... much...!"; mes "Sis...ter..."; - if(tu_acolyte01 == 10){ + if(tu_acolyte01 == 10) { next; mes "[Angelic]"; mes "^333333*Sniff...*^000000"; @@ -1087,22 +1069,22 @@ prt_monk,226,257,6 script Ill Girl#tu 93,{ mes "["+strcharinfo(0)+"]"; mes "I'll cure you..."; mes "For sure."; - set tu_acolyte01, 11; - close; - } else if(tu_acolyte01 == 11){ + tu_acolyte01 = 11; + } + else if(tu_acolyte01 == 11) { next; mes "[Angelic]"; mes "It hurts...!"; mes "I... I can't...!"; - close; - } else if(tu_acolyte01 == 12){ + } + else if(tu_acolyte01 == 12) { next; mes "^3355FFYou go towards"; mes "the girl, place your hands"; mes "on her back and perform"; mes "a holy spell...^000000"; next; - switch(select("Heal!:Blessing!:Cure!:Recovery!:Signum Crucis!:B.S Sacramenti!")){ + switch(select("Heal!:Blessing!:Cure!:Recovery!:Signum Crucis!:B.S Sacramenti!")) { case 1: mes "["+strcharinfo(0)+"]"; mes "H..."; @@ -1112,15 +1094,14 @@ prt_monk,226,257,6 script Ill Girl#tu 93,{ mes "^3355FFNothing happened."; mes "It doesn't look like"; mes "that skill will work.^000000"; - close; - break; + close; case 2: - if(getskilllv("AL_BLESSING") > 0){ + if(getskilllv("AL_BLESSING") > 0) { mes "["+strcharinfo(0)+"]"; mes "B..."; mes "Blessing!"; next; - if(rand(100) < getskilllv("AL_BLESSING")*10){ + if(rand(100) < getskilllv("AL_BLESSING")*10) { specialeffect EF_BLESSING; mes "["+strcharinfo(0)+"]"; mes "I..."; @@ -1131,8 +1112,8 @@ prt_monk,226,257,6 script Ill Girl#tu 93,{ mes "practice your abilities!"; mes "It seemed that this good"; mes "deed has improved your skills.^000000"; - set tu_acolyte01, 13; - if (checkre(3)) + tu_acolyte01 = 13; + if(checkre(3)) getexp 0,500; else getexp 0,1000; @@ -1153,9 +1134,8 @@ prt_monk,226,257,6 script Ill Girl#tu 93,{ mes "not able to use it for now.^000000"; close; } - break; case 3: - if(getskilllv("AL_CURE") > 0){ + if(getskilllv("AL_CURE") > 0) { mes "["+strcharinfo(0)+"]"; mes "C-Cure...!"; specialeffect EF_CURE; @@ -1163,19 +1143,19 @@ prt_monk,226,257,6 script Ill Girl#tu 93,{ mes "^3355FFNothing happened."; mes "It doesn't look like"; mes "that skill will work.^000000"; - close; - } else { + } + else { mes "^3355FFYou didn't learn"; mes "this skill yet, so you're"; mes "not able to use it for now.^000000"; - close; } + close; case 4: mes "^3355FFThis isn't a skill"; mes "that Acolytes can use...^000000"; close; case 5: - if(getskilllv("AL_CRUCIS") > 0){ + if(getskilllv("AL_CRUCIS") > 0) { mes "["+strcharinfo(0)+"]"; mes "S-Signum..."; mes "Signum Crucis!"; @@ -1184,19 +1164,18 @@ prt_monk,226,257,6 script Ill Girl#tu 93,{ mes "^3355FFNothing happened."; mes "It doesn't look like"; mes "that skill will work.^000000"; - close; - } else { + } + else { mes "^3355FFYou didn't learn"; mes "this skill yet, so you're"; mes "not able to use it for now.^000000"; - close; } + close; case 6: mes "^3355FFThis isn't a skill"; mes "that Acolytes can use...^000000"; close; } - mes "[Angelic]"; mes "Ah..."; mes "I feel..."; @@ -1214,9 +1193,9 @@ prt_monk,226,257,6 script Ill Girl#tu 93,{ // Veiner //============================================================ -prt_monk,197,228,3 script Veiner 89,{ +prt_monk,197,228,3 script Veiner 4_M_ORIENT02,{ mes "[Veiner]"; - if(countitem(1081) && tu_acolyte01 == 18){ + if(countitem(1081) && tu_acolyte01 == 18) { //Merchant_Box_1 mes "So very exhausted..."; mes "Should I just go back home?"; next; @@ -1238,34 +1217,35 @@ prt_monk,197,228,3 script Veiner 89,{ mes "Oh right!"; mes "Thank you very much for delivering this to me. Sorry, but I'm always excited to hear from my cutie pie~"; emotion e_thx; - set tu_acolyte01,19; + tu_acolyte01 = 19; delitem 1081,1; //Merchant_Box_1 - close; - } else if(tu_acolyte01 > 18){ + } + else if(tu_acolyte01 > 18) { mes "I can't wait"; mes "to see her again!"; mes "Bibi...! I loooove you!"; emotion e_kis2; - close; } - mes "So very"; - mes "exhausted..."; - mes "Would you help"; - mes "me carry my stuff?"; - mes "P-please..."; + else { + mes "So very"; + mes "exhausted..."; + mes "Would you help"; + mes "me carry my stuff?"; + mes "P-please..."; + } close; } // Hedrick //============================================================ -prt_monk,28,260,5 script Hedrick 50,{ +prt_monk,28,260,5 script Hedrick 1_M_04,{ mes "[Hedrick]"; mes "^333333*Whew!*^000000"; mes "Man I worked hard today!"; mes "And so efficiently too!"; mes "Awesome job as usual,"; mes "Hedrick. You're number one!"; - if(countitem(7148)==0 || tu_acolyte01 != 19) close; + if(countitem(7148) == 0 || tu_acolyte01 != 19) close; //Mother_Letter next; mes "[Hedrick]"; mes "Oh...?"; @@ -1287,16 +1267,16 @@ prt_monk,28,260,5 script Hedrick 50,{ mes "you have one of the"; mes "cookies she sent me?"; delitem 7148,1; //Mother_Letter - set tu_acolyte01,20; + tu_acolyte01 = 20; getitem 538,1; //Well_Baked_Cookie close; } // Weapon Merchant //============================================================ -prt_monk,136,261,0 script Weapon Merchant#tu 139,9,9,{ +prt_monk,136,261,0 script Weapon Merchant#tu HIDDEN_WARP_NPC,9,9,{ OnTouch: - if(tu_acolyte01 != 20 || countitem(1081)==0) end; + if(tu_acolyte01 != 20 || countitem(1081) == 0) end; //Merchant_Box_1 mes "[Weapon Merchant]"; mes "The stuff I requested from the guild is finally here!"; mes "It's pretty tough to keep everything in stock since this is such a remote place."; @@ -1306,18 +1286,18 @@ OnTouch: mes "Oh, and come here if"; mes "you need anything, okay?"; delitem 1081,1; //Merchant_Box_1 - set tu_acolyte01,21; + tu_acolyte01 = 21; close; } // Karven //============================================================ -monk_in,103,176,7 script Karven 60,{ +monk_in,103,176,7 script Karven 1_M_PASTOR,{ mes "[Karven]"; mes "May you rest"; - if(tu_acolyte01 == 21 && countitem(7183)){ - delitem 7183, 1; - set tu_acolyte01, 22; + if(tu_acolyte01 == 21 && countitem(7183)) { + delitem 7183, 1; //Sister_Letter + tu_acolyte01 = 22; mes "in peace forever..."; next; mes "[Karven]"; @@ -1346,9 +1326,9 @@ monk_in,103,176,7 script Karven 60,{ // Gloria //============================================================ -prt_monk,219,164,3 script Gloria#tu 95,{ +prt_monk,219,164,3 script Gloria#tu 4_F_SISTER,{ mes "[Gloria]"; - if(BaseJob != Job_Acolyte){ + if(BaseJob != Job_Acolyte) { mes "Hi, hi~"; mes "I'm Gloria."; mes "You wanna know"; @@ -1365,7 +1345,7 @@ prt_monk,219,164,3 script Gloria#tu 95,{ mes "you, but I like my name very much. I mean, it's not like my parents named me after that weapon, right?"; close; } - if(tu_acolyte01 > 0 && tu_acolyte01 < 25){ + if(tu_acolyte01 > 0 && tu_acolyte01 < 25) { mes "I'm still"; mes "a young Acolyte"; mes "in training and I'm"; @@ -1390,7 +1370,7 @@ prt_monk,219,164,3 script Gloria#tu 95,{ mes "send you to Prontera."; mes "Just let me know, okay?"; next; - switch(select("I'm okay for now.:Send me to Prontera.")){ + switch(select("I'm okay for now.:Send me to Prontera.")) { case 1: mes "[Gloria]"; mes "In order to use"; @@ -1419,12 +1399,12 @@ prt_monk,219,164,3 script Gloria#tu 95,{ // Cleope Verce //============================================================ -prt_monk,153,210,3 script Cleope Verce 95,{ +prt_monk,153,210,3 script Cleope Verce 4_F_SISTER,{ mes "[Cleope Verce]"; - if(BaseJob != Job_Acolyte){ + if(BaseJob == Job_Acolyte) { if (JobLevel < 40) { if (BaseLevel < 26) { - mes "Oh my.. "; + mes "Oh my.. "; mes "A newbie Acolyte?"; mes "It doesn't even seem"; mes "like you've learned"; @@ -1434,7 +1414,7 @@ prt_monk,153,210,3 script Cleope Verce 95,{ mes "Ho ho~!"; mes "In my days"; mes "as an Acolyte,"; - switch(rand(1,4)){ + switch(rand(1,4)) { case 1: mes "I trained by attacking"; mes "^3131FFgreen frogs^000000 till my knuckles"; @@ -1465,8 +1445,8 @@ prt_monk,153,210,3 script Cleope Verce 95,{ mes "Good luck..."; mes "Rookie."; close; - } else if(BaseLevel < 36){ - mes "Oh my.. "; + } else if(BaseLevel < 36) { + mes "Oh my.. "; mes "A young Acolyte?"; mes "You seem to have just"; mes "started learning your skills?"; @@ -1475,7 +1455,7 @@ prt_monk,153,210,3 script Cleope Verce 95,{ mes "Ho ho~!"; mes "When I was"; mes "around your age,"; - switch(rand(1,5)){ + switch(rand(1,5)) { case 1: mes "I'd fight with those ^3131FFwhite"; mes "mice^000000 and ^3131FFbig roaches^000000~"; @@ -1516,8 +1496,8 @@ prt_monk,153,210,3 script Cleope Verce 95,{ mes "Good luck,"; mes "young friend."; close; - } else if(BaseLevel < 46){ - mes "Well, well, well~"; + } else if(BaseLevel < 46) { + mes "Well, well, well~"; mes "Hello, young Acolyte."; mes "You're still kind of"; mes "green, but I guess you're"; @@ -1526,7 +1506,7 @@ prt_monk,153,210,3 script Cleope Verce 95,{ mes "[Cleope Verce]"; mes "I remember that when"; mes "I was your age, I used to"; - switch(rand(1,6)){ + switch(rand(1,6)) { case 1: mes "fight these ^3131FFfearsome evil spirits^000000 all the time in that castle ^3131FFwest of Geffen^000000. I wonder how I survived"; mes "all that?"; @@ -1593,10 +1573,10 @@ prt_monk,153,210,3 script Cleope Verce 95,{ } // Range NPC //============================================================ -prt_monk,217,123,0 script #tu_monk 139,10,10,{ +prt_monk,217,123,0 script #tu_monk HIDDEN_WARP_NPC,10,10,{ OnTouch_: - if(BaseJob == Job_Acolyte){ - switch(tu_acolyte01){ + if(BaseJob == Job_Acolyte) { + switch(tu_acolyte01) { case 4: case 10: case 25: @@ -1614,12 +1594,12 @@ OnTouch_: // Eavesdrop //============================================================ -prt_monk,223,123,3 script Eavesdrop#tu 111,{ - if(BaseJob != Job_Acolyte){ +prt_monk,223,123,3 script Eavesdrop#tu HIDDEN_NPC,{ + if(BaseJob != Job_Acolyte) { mes "^3355FFThere's nothing here.^000000"; close; } - if(tu_acolyte01 > 3 && tu_acolyte01 < 10){ + if(tu_acolyte01 > 3 && tu_acolyte01 < 10) { mes "[Voices from Window]"; mes "^A68064Sir..."; mes "Something doesn't"; @@ -1643,8 +1623,8 @@ prt_monk,223,123,3 script Eavesdrop#tu 111,{ mes "^A68064 Alright, sir."; mes "Still, I can't help"; mes "but feel uneasy...^000000"; - close; - } else if(tu_acolyte01 > 9 && tu_acolyte01 < 25){ + } + else if(tu_acolyte01 > 9 && tu_acolyte01 < 25) { mes "[Voices from Window]"; mes "^A68064I heard from an"; mes "official at the palace"; @@ -1674,8 +1654,8 @@ prt_monk,223,123,3 script Eavesdrop#tu 111,{ next; mes "[Voices from Window]"; mes "^CD6600Thank you...^000000"; - close; - } else if(tu_acolyte01 > 24){ + } + else if(tu_acolyte01 > 24) { mes "[Voices from Window]"; mes "^A68064...Sir, do you know anything about the ^855E42curse of the Gaebolg family^A68064?^000000"; next; @@ -1776,34 +1756,34 @@ prt_monk,223,123,3 script Eavesdrop#tu 111,{ mes "[Voice from Window]"; mes "^CD6600Oh dear God."; mes "Please expel the darkness that approaches the Rune-Midgarts Kingdom. Please protect us with your light and compassion.^000000"; - close; } + close; } -sec_in02,17,156,3 script 1st Job Quest Reset 726,{ +sec_in02,17,156,3 script 1st Job Quest Reset 4_F_JOB_BLACKSMITH,{ callfunc "F_GM_NPC"; mes "[1st Job Quest]"; mes "Which would you like to reset?"; next; switch(select("Swordsman:Merchant:Archer:Acolyte:Thief:Mage")) { case 1: - set tu_swordman,0; + tu_swordman = 0; break; case 2: - set tu_merchant,0; + tu_merchant = 0; break; case 3: - set tu_archer01,0; - set tu_archer02,0; + tu_archer01 = 0; + tu_archer02 = 0; break; case 4: - set tu_acolyte01,0; + tu_acolyte01 = 0; break; case 5: - set tu_thief01,0; + tu_thief01 = 0; break; case 6: - set tu_magician01,0; + tu_magician01 = 0; break; } mes "Completed."; diff --git a/quests/first_class/tu_archer.txt b/quests/first_class/tu_archer.txt index e60bdf6..f64c80d 100644 --- a/quests/first_class/tu_archer.txt +++ b/quests/first_class/tu_archer.txt @@ -1,19 +1,19 @@ -//===== rAthena Script ======================================= +//===== rAthena Script ======================================= //= Archer Class Tutorial and Job Specific Quest -//===== By: ================================================== +//===== By: ================================================== //= Fix up by Jukka -//===== Current Version: ===================================== -//= 2.0 -//===== Compatible With: ===================================== +//===== Current Version: ===================================== +//= 3.0 +//===== Compatible With: ===================================== //= rAthena SVN -//===== Description: ========================================= +//===== Description: ========================================= //= [Official Conversion] //= Archer training quest. -//===== Additional Comments: ================================= -//= 1.0 Fully working -//= 1.1 optimized [Lupus] -//= 1.2 fixed Weight check -//= 1.3 Moved Master Kavaruk (overlapped Phantasmic Arrow +//===== Additional Comments: ================================= +//= 1.0 Fully working. +//= 1.1 Optimized. [Lupus] +//= 1.2 Fixed Weight check. +//= 1.3 Moved Master Kavaruk. (Overlapped Phantasmic Arrow //= Skill quest NPC) [Lupus] //= 1.4 Fixed experience gains to match upcoming rate adjustments. [SinSloth] //= 1.5 Fixed bad NPC header data to comply with rev. 11603. [L0ne_W0lf] @@ -24,11 +24,12 @@ //= 1.9a Added 'npcskill' command. [Euphy] //= 2.0 Updated to match the official script. [Euphy] //= Added Pre-Renewal support. -//============================================================ +//= 3.0 Clean-up. [Capuche] +//============================================================ // Bard Jet //============================================================ -payon_in02,67,65,3 script Bard Jet#tu 51,{ +payon_in02,67,65,3 script Bard Jet#tu 1_M_BARD,{ mes "[Jet]"; mes "Every god never grows old"; mes "Because of beautiful"; @@ -37,7 +38,7 @@ payon_in02,67,65,3 script Bard Jet#tu 51,{ mes "Goddess of immortality."; next; mes "[Jet]"; - if(Class == Job_Archer || Class == Job_Baby_Archer || Class == Job_Archer_High){ + if (BaseJob == Job_Archer) { mes "Ooh, you're an Archer?"; mes "There was a time when I too"; mes "was an Archer. But I've changed jobs, so now I entertain the masses with my songs and humor."; @@ -103,8 +104,7 @@ payon_in02,67,65,3 script Bard Jet#tu 51,{ mes "everything and change"; mes "jobs so that you can"; mes "come play with me!"; - close; - } else if(Class == Job_Bard || Class == Job_Clown || Class == Job_Baby_Bard){ //CHECK + } else if (BaseJob == Job_Bard) { mes "Ooh...!"; mes "You're...!"; next; @@ -130,15 +130,13 @@ payon_in02,67,65,3 script Bard Jet#tu 51,{ mes "and the word Mammonite"; mes "sounds-- wait. It's not funny"; mes "if I have to explain it, huh?"; - close; - } else if(Class == Job_Dancer || Class == Job_Gypsy || Class == Job_Baby_Dancer){ + } else if (BaseJob == Job_Dancer) { mes "Ooh...!"; mes "Hello, hello!"; mes "Wouldn't it be"; mes "nice if we could"; mes "perform together"; mes "one of these days?"; - close; } else { mes "You look bored..."; mes "Is life really that"; @@ -164,7 +162,7 @@ payon_in02,67,65,3 script Bard Jet#tu 51,{ // Sign //============================================================ -pay_arche,127,154,4 script Sign#arc 835,{ +pay_arche,127,154,4 script Sign#arc 2_BOARD1,{ mes " "; mes " Archer Job Change Office ---> "; mes " <--- Icarus "; @@ -174,7 +172,7 @@ pay_arche,127,154,4 script Sign#arc 835,{ // Master Kavaruk //============================================================ -payon_in02,54,13,3 script Master Kavaruk 55,{ +payon_in02,54,13,3 script Master Kavaruk 1_M_JOBTESTER,{ mes "[Master Kavaruk]"; mes "Hello, young one."; mes "I am Master Kavaruk"; @@ -200,25 +198,22 @@ payon_in02,54,13,3 script Master Kavaruk 55,{ mes "The members of our guild are those who not only wish to be brave, but to reach out for our dreams like Icarus did. Our members are aspiring Archers, former Archers and current Archers."; next; mes "[Master Kavaruk]"; - if(Class == Job_Novice || Class == Job_Baby){ + if (Class == Job_Novice) { mes "If you'd like to become an Archer, why don't you go around and learn"; mes "a few things about the profession? I'm sure you'll be able to hear plenty of stories around here."; - close; - - } else if(Class == Job_Archer){ + } + else if(Class == Job_Archer) { mes "Since you're an Archer, you might"; mes "benefit from going around and listening to everyone else's battle experiences. Becoming familiar with different fight scenarios will help you in the future."; - close; - - } else if(Class == Job_Hunter || Class == Job_Sniper || Class == Job_Baby_Hunter){ //CHECK + } + else if (BaseJob == Job_Hunter) { mes "[Master Kavaruk]"; mes "Arpesto is waiting"; mes "outside. Since he's a"; mes "veteran hunter, he can"; mes "be of great help to you."; - close; - - } else if(Class == Job_Dancer || Class == Job_Gypsy || Class == Job_Baby_Dancer){ //CHECK + } + else if (BaseJob == Job_Dancer) { mes "In fact, a few of our"; mes "members specialize in"; mes "capturing the fascination"; @@ -230,25 +225,24 @@ payon_in02,54,13,3 script Master Kavaruk 55,{ mes "any of them around here right now. They never seem to remain in one"; mes "place for very long. Still, I'm sure of them will turn up here"; mes "one of these days."; - close; - - } else if(Class == Job_Bard || Class == Job_Clown || Class == Job_Baby_Bard){ //CHECK + } + else if (BaseJob == Job_Bard) { mes "In fact, a few of our members"; mes "are highly skilled in singing and entertaining their allies, much in the same way you do."; next; mes "[Master Kavaruk]"; mes "...But I don't seem to see any of them around here right now. They always wander wherever the wind takes them, but I'm sure one of them will wander back here one"; mes "of these days."; - close; } - mes "They happen to know a lot of information about jobs related to Archers. Why don't you speak to them and learn more about"; - mes "these other jobs?"; + else { + mes "They happen to know a lot of information about jobs related to Archers. Why don't you speak to them and learn more about"; + mes "these other jobs?"; + } close; - break; case 2: mes "[Master Kavaruk]"; - if(Class == Job_Archer || Class == Job_Baby_Archer || Class == Job_Archer_High){ - if(tu_archer02 == 0){ + if (BaseJob == Job_Archer) { + if(tu_archer02 == 0) { mes "Oh, it's a good thing"; mes "you're here, "+strcharinfo(0)+"."; mes "I've just received request for support from the Alchemist"; @@ -267,10 +261,8 @@ payon_in02,54,13,3 script Master Kavaruk 55,{ next; mes "[Master Kavaruk]"; mes "If you're interested, it would probably be best to speak to the Alchemist Guild member who is waiting to hear from us at the ^3131FFshop next to the road south of Icarus^000000."; - set tu_archer02,1; - close; - - } else if(tu_archer02 == 1){ + tu_archer02 = 1; + } else if(tu_archer02 == 1) { mes "Hmmm..."; mes ".........."; next; @@ -293,27 +285,23 @@ payon_in02,54,13,3 script Master Kavaruk 55,{ mes "[Master Kavaruk]"; mes "Please find out if he is all right and help him with whatever he"; mes "may need. In the meantime, I will be waiting to hear from you. Thank you very much."; - set tu_archer02, 2; - close; - - } else if(tu_archer02 == 2){ + tu_archer02 = 2; + } else if(tu_archer02 == 2) { mes "Find Arthail"; mes "of the Wind for me."; mes "He must be somewhere"; mes "in Prontera..."; - close; - - } else if(tu_archer02 == 9){ + } else if(tu_archer02 == 9) { mes "Hmmm, I see. Thank you"; mes "for bringing me the news. As Arthail has said, I shall wait until he has more news for me."; mes "You should also train and prepare for the future as well."; - set tu_archer02, 10; - if (checkre(3)) + tu_archer02 = 10; + if(checkre(3)) getexp 1000,1000; else getexp 2000,1000; - close; } + close; } mes "I don't know..."; mes "Recently, I haven't heard any noteworthy news. For now, the warmth of the sun seems to be protecting the peace here."; @@ -323,31 +311,26 @@ payon_in02,54,13,3 script Master Kavaruk 55,{ mes "any interesting rumors,"; mes "I will let you know."; close; - break; - case 3: mes "[Master Kavaruk]"; - if(tu_archer01 < 1){ - if(Class == Job_Novice || Class == Job_Baby){ + if(tu_archer01 < 1) { + if(Class == Job_Novice || Class == Job_Baby) { mes "Ah..."; mes "So are you"; mes "interested in"; mes "becoming an Archer?"; - - } else if(BaseClass == Job_Archer){ + } else if (Class == Job_Archer_High || BaseJob == Job_Dancer || BaseJob == Job_Bard) { mes "Although I can't deny that you're an expert, I suppose it is a good idea to review the basics of archery from time to time. Would you like to try some refresher training?"; - } else if(Class == Job_Hunter || Class == Job_Sniper){ //CHECK + } else if (BaseJob == Job_Hunter) { mes "[Master Kavaruk]"; mes "Arpesto is waiting"; mes "outside. Since he's a"; mes "veteran hunter, he can"; mes "be of great help to you."; close; - - } else if(Class == Job_Archer || Class == Job_Baby_Archer){ + } else if(Class == Job_Archer || Class == Job_Baby_Archer) { mes "As an Archer, I can see that you'd want to make sure that you have a strong grasp on the fundamentals"; mes "of our job. Would you like some specialized instruction?"; - } else { mes "Although you may not be able"; mes "to directly apply archery related knowledge, it's a good idea to understand the capabilities of"; @@ -358,9 +341,9 @@ payon_in02,54,13,3 script Master Kavaruk 55,{ mes "some specialized instruction to learn more about the Archer job?"; } next; - switch(select("Yes:No")){ + switch(select("Yes:No")) { case 1: - set tu_archer01, 1; + tu_archer01 = 1; mes "[Master Kavaruk]"; mes "Ah yes. Well then, please"; mes "take this message over to ^3131FFSeisner^000000 who is in the Training Grounds west of Icarus."; @@ -384,32 +367,29 @@ payon_in02,54,13,3 script Master Kavaruk 55,{ mes "free to come back."; close; } - } else if(tu_archer01 == 1 || tu_archer01 == 2){ + } else if(tu_archer01 == 1 || tu_archer01 == 2) { mes "Hmm...?"; mes "What are you still"; mes "doing here? Go to the"; mes "hills west of Icarus and"; mes "talk to ^3131FFSeisner^000000 to begin your special training."; close; - - } else if(tu_archer01 == 3){ + } else if(tu_archer01 == 3) { mes "So "+strcharinfo(0)+","; mes "Did you have a good experience? Learning theory alone is never too enjoyable, but it is necessary."; next; mes "[Master Kavaruk]"; - if(Class == Job_Archer || Class == Job_Archer_High || Class == Job_Baby_Archer){ + if (BaseJob == Job_Archer) { mes "Now it is time to experience the principles you've just learned firsthand. Go speak to ^3131FFReidin Corse^000000, who is just outside of this building, and he'll tell you about the different skills."; - set tu_archer01, 4; + tu_archer01 = 4; } else { mes "Still, there's no need for you to do any field training since only Archers can actually participate"; mes "in that."; } close; - - } else if(tu_archer01 == 4){ + } else if(tu_archer01 == 4 && BaseJob == Job_Archer) { mes "Reidin Corse is just outside of this building. Didn't you see him on your way in?"; close; - } } mes "You're great"; @@ -420,17 +400,23 @@ payon_in02,54,13,3 script Master Kavaruk 55,{ // Reidin Corse //============================================================ -pay_arche,103,165,5 script Reidin Corse#tu 832,{ +pay_arche,103,165,5 script Reidin Corse#tu 4_M_REIDIN_KURS,{ mes "[Reidin Corse]"; - if(MaxWeight - Weight < 2000){ + if (checkweight(1201,1) == 0) { + mes "[Reidin Corse]"; + mes "Why are you carrying"; + mes "so much stuff? You better put everything you don't need into Kafra Storage."; + close; + } + if(MaxWeight - Weight < 2000) { mes "Hey, you're carrying an"; mes "awful lot of stuff. You ought"; mes "to put some of your things"; mes "into Kafra Storage..."; close; } - if(tu_archer01 > 0){ - if(tu_archer01 == 4){ + if(tu_archer01 > 0 && (BaseJob != Job_Hunter && BaseJob != Job_Bard && BaseJob != Job_Dancer || Upper == 2)) { + if(tu_archer01 == 4) { mes "Ah, what is it?"; mes "Can I help you"; mes "with something?"; @@ -493,28 +479,26 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "^3355FFReidin Corse narrows his experienced eyes and sizes you up.^000000"; next; mes "[Reidin Corse]"; - if(JobLevel > 39){ + if(JobLevel > 39) mes "Hey! You're ready to change jobs, aren't you? Don't waste time here and just get a new job already! Eh, or you can ask Master Kavaruk for something to do."; - close; - } else if(JobLevel < 5){ + else if(JobLevel < 5) { mes "Alright! We got a fresh Archer here! You're lucky you came to me, I'm the best teacher you can find! But let me warn you, I teach at a really fast pace, so try to keep"; mes "up. Okay? Good."; next; - set tu_archer01, 5; + tu_archer01 = 5; mes "[Reidin Corse]"; mes "Okay, I'm ready to begin the lessons! Come back over here once you've got your bow and arrows and everything else ready, got it?"; - close; } else { mes "Okay. It looks like you know"; mes "some stuff. But even if you're"; mes "a little experienced, there's still room for you to learn. So try and keep up, got it?"; next; - set tu_archer01, 5; + tu_archer01 = 5; mes "[Reidin Corse]"; mes "Well, I'm ready to teach whenever you're ready to learn. Come back once your bow and arrows and everything else is ready, alright?"; - close; } - } else if(tu_archer01 == 5){ + close; + } else if(tu_archer01 == 5) { mes "You ready? I think it's fair to remind you that I won't tolerate any complaining! Just do what"; mes "I say and you'll be the second best Archer in the world! After me, of course~"; next; @@ -544,12 +528,12 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "if you can't aim at your targets, you'd be horrible at archery, right? You gotta have Accuracy!"; next; mes "[Reidin Corse]"; - set .@skill_owl, getskilllv("AC_OWL"); - if(.@skill_owl < 3){ - set tu_archer01, 6; + .@skill_owl = getskilllv("AC_OWL"); + if(.@skill_owl < 3) { + tu_archer01 = 6; mes "Now, your first assignment"; mes "is to learn ^3131FFLevel 3 Owl's Eye^000000!"; - if (checkre(0)) + if(checkre(0)) mes "From Morroc, if you travel south, you can fight Condors for your training."; else mes "From Prontera, if you travel south, south and then west, you can fight Condors for your training."; @@ -562,7 +546,7 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ switch(select("I'll follow your advice, Chief!:I'll hunt somewhere else...")) { case 1: mes "[Reidin Corse]"; - if (checkre(0)) { + if(checkre(0)) { mes "I'll send you to"; mes "Morroc for now,"; mes "so don't forget the"; @@ -591,7 +575,7 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "[Reidin Corse]"; mes "Okay...!"; mes "Off you go!"; - if (checkre(0)) { + if(checkre(0)) { mes "To Morroc!"; close2; warp "morocc",156,46; @@ -624,7 +608,7 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ } else { emotion e_ag; mes "Huh. So you already know a little about Owl's Eye already, huh? Well then, I guess I oughta talk about something you don't know about!"; - set tu_archer01, 7; + tu_archer01 = 7; getexp 500,0; close; } @@ -638,9 +622,9 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "archery secrets!"; close; } - } else if(tu_archer01 == 6){ - set .@owl, getskilllv(43); - if(.@owl > 2){ + } else if(tu_archer01 == 6) { + .@owl = getskilllv(43); + if(.@owl > 2) { mes "Ah, you're"; mes "finally back."; mes "You've kept me"; @@ -651,7 +635,7 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "Ah, but your eyes look a lot sharper than they used to be."; mes "Here, this is a small, special reward for you."; specialeffect2 EF_WIND; - set tu_archer01, 7; + tu_archer01 = 7; getexp 500,0; next; emotion e_pif; @@ -675,7 +659,7 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "else by accident, okay?"; close; } - } else if(tu_archer01 == 7){ + } else if(tu_archer01 == 7) { mes "Alright, open"; mes "your Skill Window."; mes "Since you have Level 3"; @@ -730,10 +714,9 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "so they're perfect for target"; mes "practice from a distance!"; next; - - set .@eagle, getskilllv("AC_VULTURE"); - if(.@eagle < 3){ - if (checkre(0)) + .@eagle = getskilllv("AC_VULTURE"); + if(.@eagle < 3) { + if(checkre(0)) mes "Alright, Mandagora usually live around Geffen. I can send you to Geffen, so just travel north from there to find"; else mes "Alright, Mandagora usually live around Mt. Mjolnir. I can send you to Prontera, so just travel north, then east from there to find"; @@ -742,19 +725,18 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "[Reidin Corse]"; mes "Remember, the most"; mes "important thing is to level the Vulture's Eye skill and test the distance of your attack range."; - if(MaxWeight - Weight < 1000){ + if(MaxWeight - Weight < 1000) { mes "You've got plenty of arrows"; mes "for that, so go for it!"; - set tu_archer01, 8; - next; + tu_archer01 = 8; } else { next; mes "[Reidin Corse]"; mes "Here's a little something to encourage you. Since Mandagora are Earth property monsters, these Fire Arrows will work really well."; - set tu_archer01,8; + tu_archer01 = 8; getitem 1752,300; //Fire_Arrow - next; } + next; mes "[Reidin Corse]"; mes "Alright~"; mes "Ready to go?"; @@ -765,7 +747,7 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "Alright...!"; mes "Get a move on!"; close2; - if (checkre(0)) + if(checkre(0)) warp "geffen",120,39; else warp "prontera",116,72; @@ -786,14 +768,14 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "You already"; mes "learned Vulture's Eye!"; mes "Why did I spend so much time explaining about it? Well, I guess we're ready to move on to the next lesson..."; - set tu_archer01,9; + tu_archer01 = 9; getitem 1752,500; //Fire_Arrow close; } - } else if(tu_archer01 == 8){ - set .@eagle, getskilllv("AC_VULTURE"); - if(.@eagle < 3){ - if (checkre(0)) + } else if(tu_archer01 == 8) { + .@eagle = getskilllv("AC_VULTURE"); + if(.@eagle < 3) { + if(checkre(0)) mes "Mandagora lives in the area north of Geffen. Learn up to Level 3 Vulture's Eye and get acquainted with your attack range."; else mes "Mandagora lives in the area north and east of Prontera. Learn up to Level 3 Vulture's Eye and get acquainted with your attack range."; @@ -809,7 +791,7 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "Alright...!"; mes "Get a move on!"; close2; - if (checkre(0)) + if(checkre(0)) warp "geffen",120,39; else warp "prontera",116,72; @@ -824,11 +806,11 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ } else { mes "Ah, so you've learned"; mes "a little something about Vulture's Eye! What do you think about it now? Ah, and here's a little reward for you before I start the next lesson~"; - set tu_archer01,9; + tu_archer01 = 9; getitem 1752,500; //Fire_Arrow close; } - } else if(tu_archer01 == 9){ + } else if(tu_archer01 == 9) { mes "Okay..."; mes "Up till now we've"; mes "studied Passive Skills."; @@ -846,8 +828,8 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "Whaddya think?"; mes "Exciting, yes?"; next; - set .@eagle, getskilllv("AC_DOUBLE"); - if(.@eagle > 2){ + .@eagle = getskilllv("AC_DOUBLE"); + if(.@eagle > 2) { mes "["+strcharinfo(0)+"]"; mes "I..."; mes "I already know"; @@ -860,7 +842,7 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "[Reidin Corse]"; mes "^333333*Sigh*^000000"; mes "Next lesson..."; - set tu_archer01, 10; + tu_archer01 = 10; close; } else { mes "[Reidin Corse]"; @@ -876,9 +858,9 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "might! Practice Double Strafe"; mes "enough and you'll get used to it!"; next; - if(.@eagle == 0){ + if(.@eagle == 0) { specialeffect2 EF_WIND; - set tu_archer01, 10; + // tu_archer01 = 10; getexp 0,500; } emotion e_no1; @@ -892,8 +874,8 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ emotion e_heh; close; } - } else if(tu_archer01 == 10){ - if (checkre(0)) { + } else if(tu_archer01 == 10) { + if(checkre(0)) { mes "Now, I've taught you a lot of stuff and I wanna make sure you retain all of it. That's why I want you to take this midterm. Your mission: ^FF0000Attack the Rockers^000000!"; emotion e_no1; next; @@ -928,10 +910,10 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "[Reidin Corse]"; mes "It's easier to find Izlude if you pass by Prontera, so head towards the fields near Prontera. Alright, off you go, " + strcharinfo(0) + "~"; } - set tu_archer01,11; + tu_archer01 = 11; close; - } else if(tu_archer01 == 11){ - if (checkre(0) && countitem(940) < 10) { + } else if(tu_archer01 == 11) { //Grasshopper's_Leg + if(checkre(0) && countitem(940) < 10) { mes "Hey..."; mes "You gotta bring"; mes "^3131FF10 Grasshopper's Leg^000000 to pass my midterm! Go back to the southwest area of Prontera and get them!"; @@ -943,7 +925,7 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "^3131FF1 Crystal Blue^000000 to pass my midterm! Go back to the dungeon on Byalan Island and get them!"; close; } - if(MaxWeight - Weight < 1000){ + if(MaxWeight - Weight < 1000) { mes "Why are you carrying"; mes "so much stuff? You better put everything you don't need into Kafra Storage."; close; @@ -956,14 +938,14 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "Good! You pass."; mes "Don't forget that you gotta keep training and improve your skills. Before you know it, you'll be an expert almost as good as me!"; specialeffect2 EF_WIND; - set tu_archer01, 12; - if (checkre(0)) + tu_archer01 = 12; + if(checkre(0)) delitem 940,10; //Grasshopper's_Leg getexp 1000,1000; getitem 1707,1; //Great_Bow close; } - } else if(tu_archer01 == 12){ + } else if(tu_archer01 == 12) { mes "Alright, now there's only"; mes "one more skill you need to know about. Personally, I think this one is crucial for every Archer..."; next; @@ -984,9 +966,9 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "[Reidin Corse]"; mes "You might not be able"; mes "to see it now, but as you become more skilled, you'll eventually recognize all the benefits of this skill."; - set tu_archer01, 13; + tu_archer01 = 13; close; - } else if(tu_archer01 == 13){ + } else if(tu_archer01 == 13) { mes "^333333*Sigh*^000000"; mes "It was a pain in the"; mes "ass, but we're finally"; @@ -1003,7 +985,7 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "no need for you to fret."; next; mes "[Reidin Corse]"; - if (checkre(0)) { + if(checkre(0)) { mes "Now, go into the forest east of Payon and hunt Spores and Wormtails. Your test will be to bring back ^3131FF10 Mushroom Spores^000000 and"; mes "^3131FF10 Pointed Scales^000000."; } else { @@ -1021,7 +1003,7 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "Take some of these."; next; mes "[Reidin Corse]"; - if(MaxWeight - Weight < 2100){ + if(MaxWeight - Weight < 2100) { mes "H-hey!"; mes "Why are you carrying"; mes "so much stuff? You better put everything you don't need into Kafra Storage."; @@ -1029,14 +1011,14 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ } else { mes "This stuff is just a little something to encourage you, so don't take it the wrong way! Now hurry up, get what I asked for,"; mes "and come back!"; - set tu_archer01,14; + tu_archer01 = 14; getitem 601,10; //Wing_Of_Fly getitem 501,10; //Red_Potion getitem 602,1; //Wing_Of_Butterfly close; } - } else if((tu_archer01 == 14) || (tu_archer01 == 15)){ - if (checkre(0) && (countitem(906) < 10 || countitem(921) < 10)) { + } else if((tu_archer01 == 14) || (tu_archer01 == 15)) { + if(checkre(0) && (countitem(906) < 10 || countitem(921) < 10)) { //Pointed_Scale, Mushroom_Spore mes "Remember, you"; mes "need to head into"; mes "the forest east of Payon and get me"; @@ -1089,8 +1071,8 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "my final exam! Here, take"; mes "this little reward!"; specialeffect2 EF_WIND; - set tu_archer01,16; - if (checkre(3)) + tu_archer01 = 16; + if(checkre(3)) getexp 1000,1000; else getexp 3000,3000; @@ -1111,7 +1093,7 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ mes "It'd make me really happy if you get to the point where you develop a true love for the art of archery. I'll see you sometime, okay?"; emotion e_no1; close; - } else if(tu_archer01 == 16){ + } else if(tu_archer01 == 16) { mes "I really like this town."; mes "There's so much lush greenery"; mes "and the birds are always singing. Payon really is peaceful."; @@ -1189,7 +1171,7 @@ pay_arche,103,165,5 script Reidin Corse#tu 832,{ // Seisner //============================================================ -pay_arche,84,139,3 script Seisner 727,{ +pay_arche,84,139,3 script Seisner 4_F_JOB_HUNTER,{ specialeffect EF_HIT2,"#Target"; mes "[Seisner]"; mes "Aaaah!"; @@ -1205,7 +1187,7 @@ pay_arche,84,139,3 script Seisner 727,{ mes "Now, there are some"; mes "Thief class people who also use arrows, but they're better suited to using Knives. We Archers are"; mes "the arrow specialists!"; - if(tu_archer01 == 1 || tu_archer01 > 2){ + if(tu_archer01 == 1 || tu_archer01 > 2) { next; mes "^3355FFYou show Seisner"; mes "the letter that Master"; @@ -1216,9 +1198,9 @@ pay_arche,84,139,3 script Seisner 727,{ mes "So Master Kavaruk"; mes "wants me to teach you"; mes "about Archers and Archery? Alright, what would you like to know more about?"; - next; - while(1){ - switch(select("About Archers.:Stats for Archers:End Conversation.")){ + while(1) { + next; + switch(select("About Archers.:Stats for Archers:End Conversation.")) { case 1: mes "[Seisner]"; mes "Archers specialize"; @@ -1243,8 +1225,7 @@ pay_arche,84,139,3 script Seisner 727,{ next; mes "[Seisner]"; mes "Hunters can ultimately transcend into ^3131FFSnipers^000000, Bards into ^3131FFMinstrels^000000, and Dancers into ^3131FFGypsies^000000. I know that's pretty complex."; - if(tu_archer01 == 1) set tu_archer01, 2; - next; + if(tu_archer01 == 1) tu_archer01 = 2; break; case 2: mes "[Seisner]"; @@ -1270,8 +1251,8 @@ pay_arche,84,139,3 script Seisner 727,{ mes "increase the amount of weight"; mes "that any character can carry. So if you have more STR, you can carry around more arrows."; next; - if(tu_archer01 == 1) set tu_archer01, 2; - break; + if(tu_archer01 == 1) tu_archer01 = 2; + continue; case 2: mes "[Seisner]"; mes "^FF3131AGI^000000 as you know, "; @@ -1281,8 +1262,8 @@ pay_arche,84,139,3 script Seisner 727,{ mes "[Seisner]"; mes "One of the drawbacks of being an Archer is having weaker strength and lower Dodge Rate. However, the Dodge Rate disadvantage is lessened by increasing your ^FF3131AGI^000000."; next; - if(tu_archer01 == 1) set tu_archer01, 2; - break; + if(tu_archer01 == 1) tu_archer01 = 2; + continue; case 3: mes "[Seisner]"; mes "^3131FFVIT^000000 will increase"; @@ -1297,8 +1278,8 @@ pay_arche,84,139,3 script Seisner 727,{ mes "VIT might be helpful"; mes "depending on how you use it. Still, I wouldn't recommend focusing too much on increasing your VIT if you're an Archer."; next; - if(tu_archer01 == 1) set tu_archer01, 2; - break; + if(tu_archer01 == 1) tu_archer01 = 2; + continue; case 4: mes "[Seisner]"; mes "^FF0000INT^000000 is more"; @@ -1313,8 +1294,8 @@ pay_arche,84,139,3 script Seisner 727,{ mes "[Seisner]"; mes "For Hunters, one of the Second Job Classes for Archers, having higher INT will increase the damage inflicted by ^3131FFFalcons^000000."; next; - if(tu_archer01 == 1) set tu_archer01, 2; - break; + if(tu_archer01 == 1) tu_archer01 = 2; + continue; case 5: mes "[Seisner]"; mes "Now DEX is almost"; @@ -1332,8 +1313,8 @@ pay_arche,84,139,3 script Seisner 727,{ mes "[Seisner]"; mes "Just like any other class, ^FF3131DEX^000000 increases ^3131FFAccuracy (HIT)^000000 and slightly enhances Attack Speed (ASPD)."; next; - if(tu_archer01 == 1) set tu_archer01, 2; - break; + if(tu_archer01 == 1) tu_archer01 = 2; + continue; case 6: mes "[Seisner]"; mes "^FF0000LUK^000000 affects your"; @@ -1343,18 +1324,16 @@ pay_arche,84,139,3 script Seisner 727,{ mes "[Seisner]"; mes "For Hunters, one of the Second Classes for the Archer, LUK increases the chance of ^3131FFBlitz Beat^000000 occurring automatically. So Hunters who rely on their Falcons might want to invest in LUK."; next; - if(tu_archer01 == 1) set tu_archer01, 2; - break; + if(tu_archer01 == 1) tu_archer01 = 2; + continue; case 7: mes "[Seisner]"; mes "So is there"; mes "anything else that"; mes "you want to ask me?"; - next; - set .@exitwhile,1; break; } - if (.@exitwhile) break; + break; } break; case 3: @@ -1367,7 +1346,7 @@ pay_arche,84,139,3 script Seisner 727,{ close; } } - } else if(tu_archer01 == 2){ + } else if(tu_archer01 == 2) { next; mes "[Seisner]"; mes "Thanks for listening."; @@ -1378,12 +1357,12 @@ pay_arche,84,139,3 script Seisner 727,{ mes "If you feel comfortable enough with the knowledge I've taught you, you should go back to Master Kavaruk. But if you still have questions, you can always come and ask me."; close2; specialeffect2 EF_WIND; - set tu_archer01, 3; - if(JobLevel == 1){ + tu_archer01 = 3; + if(JobLevel == 1) { getexp 0,30; - } else if((JobLevel > 1) && (JobLevel < 11)){ + } else if((JobLevel > 1) && (JobLevel < 11)) { getexp 0,80; - } else if((JobLevel > 10) && (JobLevel < 21)){ + } else if((JobLevel > 10) && (JobLevel < 21)) { getexp 0,100; } else { getexp 0,120; @@ -1395,14 +1374,14 @@ pay_arche,84,139,3 script Seisner 727,{ // Target //============================================================ -pay_arche,76,135,3 script #Target 111,{ end; } +pay_arche,76,135,3 script #Target HIDDEN_NPC,{ end; } // Acolyte //============================================================ - script ::Acolyte_Tu -1,{ mes "[Acolyte]"; - if(tu_archer01 == 14){ - if(gettime(3) >= 18 && gettime(3) < 22){ + if(tu_archer01 == 14) { + if(gettime(3) >= 18 && gettime(3) < 22) { mes "H-hello!"; mes "Umm, umm..."; mes "Are you R-Reidin Corse's"; @@ -1431,7 +1410,7 @@ pay_arche,76,135,3 script #Target 111,{ end; } mes "Wow!"; mes "Thank you, thank you!"; mes "I''ll try my very best!"; - set tu_archer01, 15; + tu_archer01 = 15; close; case 2: mes "[Acolyte]"; @@ -1451,13 +1430,11 @@ pay_arche,76,135,3 script #Target 111,{ end; } mes "he already has a girlfriend..."; next; mes "[Acolyte]"; - if(Sex){ + if(Sex) { mes "W-wait!"; mes "Y-you're a man!"; mes "D-d-d-don't tease me"; mes "like that! I'm serious!"; - set tu_archer01, 15; - close; } else { mes "And he's so brave"; mes "and funny and smart."; @@ -1468,12 +1445,12 @@ pay_arche,76,135,3 script #Target 111,{ end; } mes "^333333*Sniffle*^000000"; mes "I'll d-do my best to help you!"; mes "I wish you both happiness! (Waaaaaah~!)"; - set tu_archer01, 15; - close; } + tu_archer01 = 15; + close; } - end; - } else { + } + else { mes "^666666Zzzzz...^000000"; mes "Wh-wha...?"; mes "Who are you?"; @@ -1487,7 +1464,6 @@ pay_arche,76,135,3 script #Target 111,{ end; } case 0: npcskill "AL_HEAL",3,90,62; break; case 1: npcskill "AL_HEAL",9,90,62; break; case 2: npcskill "AL_HEAL",8,90,62; break; - case 3: break; } switch(rand(3)) { case 0: npcskill "AL_INCAGI",1,0,0; break; @@ -1501,8 +1477,9 @@ pay_arche,76,135,3 script #Target 111,{ end; } } close; } - } else if(tu_archer01 == 15){ - if((gettime(3) >= 18) && (gettime(3) < 22)){ + } + else if(tu_archer01 == 15) { + if((gettime(3) >= 18) && (gettime(3) < 22)) { mes "^666666Zzzzz...^000000"; mes "Wh-wha...?"; mes "Who are you?"; @@ -1528,7 +1505,6 @@ pay_arche,76,135,3 script #Target 111,{ end; } case 0: npcskill "AL_HEAL",3,90,62; break; case 1: npcskill "AL_HEAL",10,90,62; break; case 2: npcskill "AL_HEAL",8,90,62; break; - case 3: break; } switch(rand(3)) { case 0: npcskill "AL_INCAGI",1,0,0; break; @@ -1553,10 +1529,10 @@ pay_arche,76,135,3 script #Target 111,{ end; } // Alchemist Guildmember //============================================================ -pay_arche,130,113,3 script Alchemist Guildmember#tu 740,{ +pay_arche,130,113,3 script Alchemist Guildmember#tu 2_M_ALCHE,{ mes "[Alchemist Guildmember]"; - if(tu_archer02 > 0){ - if((countitem(1032) > 0) || (countitem(905) > 0 )){ // Blossom_Of_Maneater & Stem + if(tu_archer02 > 0) { + if((countitem(1032) > 0) || (countitem(905) > 0 )) { //Blossom_Of_Maneater & Stem mes "Great...!"; mes "I've been waiting"; mes "for the Icarus Guild"; @@ -1580,20 +1556,14 @@ pay_arche,130,113,3 script Alchemist Guildmember#tu 740,{ mes "Flora field! I really"; mes "appreciate your help~"; - set .@alche_f,countitem(1032); // Blossom_Of_Maneater - set .@alche_s,countitem(905); // Stem - set .@f_zeny, .@alche_f * 130; - set .@s_zeny, .@alche_s * 30; - set .@total_zeny, .@f_zeny + .@s_zeny; - if(countitem(1032) == 0){ - delitem 905, .@alche_s; //Stem - } else if(countitem(905) == 0){ - delitem 1032, .@alche_f; //Blossom_Of_Maneater - } else { + .@alche_f = countitem(1032); //Blossom_Of_Maneater + .@alche_s = countitem(905); //Stem + .@total_zeny = .@alche_f * 130 + .@alche_s * 30; + if (countitem(1032)) delitem 1032, .@alche_f; //Blossom_Of_Maneater + if (countitem(905)) delitem 905, .@alche_s; //Stem - } - set Zeny,Zeny+.@total_zeny; + Zeny = Zeny+.@total_zeny; close; case 2: mes "[Alchemist Guildmember]"; @@ -1627,9 +1597,9 @@ pay_arche,130,113,3 script Alchemist Guildmember#tu 740,{ // Arthail //============================================================ -prontera,126,335,5 script Arthail 51,{ +prontera,126,335,5 script Arthail 1_M_BARD,{ mes "[Arthail]"; - if(tu_archer02 < 3){ + if(tu_archer02 < 3) { mes "I am the Bard"; mes "who sings only for"; mes "himself. The gentle"; @@ -1679,16 +1649,15 @@ prontera,126,335,5 script Arthail 51,{ next; mes "[Arthail]"; mes "Would you please go and see if there's any news being spread around in that area for me?"; - set tu_archer02, 3; + tu_archer02 = 3; } - close; - } else if(tu_archer02 == 3){ + } + else if(tu_archer02 == 3) { mes "I'm ashamed to ask,"; mes "but would you go the fountain in Prontera's central plaza and see"; mes "if there's any news?"; - close; - - } else if(tu_archer02 == 4){ + } + else if(tu_archer02 == 4) { mes "I see..."; mes "Nothing much."; mes "Another person"; @@ -1767,14 +1736,11 @@ prontera,126,335,5 script Arthail 51,{ mes "I can't help it then."; mes "I'd better go check"; mes "this out on my own."; - set tu_archer02, 5; - close; - - } else if(tu_archer02 > 4 && tu_archer02 < 7){ + tu_archer02 = 5; + } + else if(tu_archer02 > 4 && tu_archer02 < 7) mes "^333333Zzzzz...^000000"; - close; - - } else if(tu_archer02 == 8){ + else if(tu_archer02 == 8) { mes "Where did you go?"; mes "I thought you might have been kidnapped since you weren't"; mes "here when I woke up."; @@ -1798,17 +1764,18 @@ prontera,126,335,5 script Arthail 51,{ mes "I guess I'll finally"; mes "have a song that"; mes "I can share with you."; - set tu_archer02, 9; - close; + tu_archer02 = 9; + } + else { + mes "..."; + mes "......"; } - mes "..."; - mes "......"; close; } // New Guild Master //============================================================ -prontera,167,281,3 script New Guild Master#tu 753,{ +prontera,167,281,3 script New Guild Master#tu 4_M_MONK,{ mes "[New Guild Master]"; mes "Hearken, all"; mes "of you who seek"; @@ -1825,13 +1792,13 @@ prontera,167,281,3 script New Guild Master#tu 753,{ mes "those who call themselves"; mes "my comrades will never"; mes "know the taste of defeat!"; - if(tu_archer02 == 3) set tu_archer02, 4; + if(tu_archer02 == 3) tu_archer02 = 4; close; } // Mage //============================================================ -prontera,144,301,5 script Mage#tu 123,{ +prontera,144,301,5 script Mage#tu 2_F_MAGICMASTER,{ mes "[Mage]"; mes "Did you see that"; mes "new guild master?"; @@ -1859,13 +1826,13 @@ prontera,144,301,5 script Mage#tu 123,{ // Minister //============================================================ -prt_castle,76,165,6 script Minister#tu 55,{ +prt_castle,76,165,6 script Minister#tu 1_M_JOBTESTER,{ mes "[Minister]"; mes "The royal family"; mes "is extremely busy"; mes "at the moment, handling"; mes "our nation's administration."; - if(tu_archer02 == 5){ + if(tu_archer02 == 5) { next; mes "["+strcharinfo(0)+"]"; mes "I heard screams"; @@ -1878,15 +1845,15 @@ prt_castle,76,165,6 script Minister#tu 55,{ next; mes "[Minister]"; mes "Ah, there are a few stray cats running around, those Wild Roses, so those noises you heard must have been them. Everything is fine here in the palace."; - set tu_archer02, 6; - close; - } else if(tu_archer02 == 7){ + tu_archer02 = 6; + } + else if(tu_archer02 == 7) { next; mes "^3355FFThe urgency that the Minister expressed earlier has been"; mes "replaced with a stone cold feeling of sternness. He probably won't tell you much more information,"; mes "no matter how much you ask him."; - close; - } else if(tu_acolyte01 == 25){ + } + else if(tu_acolyte01 == 25) { next; mes "["+strcharinfo(0)+"]"; mes "Um..."; @@ -1913,20 +1880,20 @@ prt_castle,76,165,6 script Minister#tu 55,{ next; mes "[Minister]"; mes "As a holy servant, I'm sure that you'll find plenty of other people who have need of your help and abilities outside of the palace."; - } + } close; } // Range NPC //============================================================ -prt_castle,94,150,4 script #sound_tu 139,6,6,{ +prt_castle,94,150,4 script #sound_tu HIDDEN_WARP_NPC,6,6,{ OnTouch_: if(tu_archer02 == 6) { mes "[Minister]"; mes "Contact the"; mes "Prontera Church."; mes "Hurry, this is urgent!"; - set tu_archer02, 7; + tu_archer02 = 7; close; } end; @@ -1934,9 +1901,9 @@ OnTouch_: // Bishop Maugins //============================================================ -monk_in,19,43,1 script Bishop Maugins 60,{ +monk_in,19,43,1 script Bishop Maugins 1_M_PASTOR,{ mes "[Bishop Maugins]"; - if(tu_archer02 == 7){ + if(tu_archer02 == 7) { mes "Greetings."; mes "I doubt that you're here to change to the Monk job, but may I help you with something? Perhaps you're"; mes "here for a confession?"; @@ -1947,8 +1914,7 @@ monk_in,19,43,1 script Bishop Maugins 60,{ mes "charge of that area. So"; mes "how may I help you?"; next; - switch(select("Has something happened to the Kingdom?:Nothing.")) { - case 1: + if (select("Has something happened to the Kingdom?:Nothing.") == 1) { mes "[Bishop Maugins]"; mes "...!!"; next; @@ -1961,8 +1927,7 @@ monk_in,19,43,1 script Bishop Maugins 60,{ mes "Of course not!"; mes "The king and I regularly write to each other, but I haven't heard of anything in particular. Please don't worry yourself."; next; - set tu_archer02, 8; - break; + tu_archer02 = 8; } mes "[Bishop Maugins]"; mes "Good luck on"; diff --git a/quests/first_class/tu_ma_th01.txt b/quests/first_class/tu_ma_th01.txt index ffbab2e..ab3ff7a 100644 --- a/quests/first_class/tu_ma_th01.txt +++ b/quests/first_class/tu_ma_th01.txt @@ -1,1336 +1,796 @@ -//===== rAthena Script ======================================= +//===== rAthena Script ======================================= //= Thief Mage Quest Story Mode -//===== By: ================================================== +//===== By: ================================================== //= Fix up by Jukka -//===== Current Version: ===================================== -//= 1.3 -//===== Compatible With: ===================================== +//===== Current Version: ===================================== +//= 2.0 +//===== Compatible With: ===================================== //= rAthena SVN -//===== Description: ========================================= +//===== Description: ========================================= //= [Official Conversion] //= Battle Traces from Thief and Magician training quests. -//===== Additional Comments: ================================= -//= 1.0 Fully working -//= 1.1 optimized [Lupus] +//===== Additional Comments: ================================= +//= 1.0 Fully working. +//= 1.1 Optimized. [Lupus] //= 1.2 Changed "battle_trace" to "Trace of Battle". [L0ne_W0lf] //= 1.3 Misc. updates. [L0ne_W0lf] -//============================================================ +//= 2.0 Clean-up. [Capuche] +//============================================================ // Battle Traces 1 //============================================================ -moc_fild12,166,369,0 script Trace of Battle#1 844,{ - if(BaseClass == Job_Thief){ - if(tu_thief01 < 5){ - mes "^3355FFYou find traces of poison"; - mes "used in a battle. You sense"; - mes "its potency and decide not"; - mes "to get too close to it.^000000"; - close; - } else if(tu_thief01 == 5){ - mes "^3355FFYou find traces of poison"; - mes "used in a battle. A feeling"; - mes "of acute dizziness overcomes"; - mes "you after examining the scene.^000000"; - set tu_thief01, 6; - sc_start SC_Poison,60000,0; - specialeffect EF_VENOMDUST2; - close; - } else if(tu_thief01 == 6){ - mes "^3355FFYou find traces of poison"; - mes "used in a battle. A feeling"; - mes "of acute dizziness overcomes"; - mes "you after examining the scene.^000000"; - sc_start SC_Poison,60000,0; - specialeffect EF_VENOMDUST2; - close; - } else if(tu_thief01 == 7){ - mes "^3355FFYou find traces of poison"; - mes "used in a battle. You sense"; - mes "its potency and decide not"; - mes "to get too close to it.^000000"; - close; - } else if(tu_thief01 == 8){ - mes "^3355FFThere are traces of a battle"; - mes "that seem to be leading in"; - mes "different directions. From the"; - mes "peculiar smell that permeates"; - mes "the area, it seems that some"; - mes "kind of lethal poison was used.^000000"; - next; - mes "^3355FFStill..."; - mes "The trail of this"; - mes "battle decidedly"; - mes "heads southward.^000000"; - set tu_thief01, 9; - close; - } else { - mes "^3355FFYou find signs of"; - mes "a heated pursuit"; - mes "that head south."; - close; - } - } - if(BaseClass == Job_Mage){ - if(tu_magician01 < 8){ - mes "^3355FFYou find traces of poison"; - mes "used in a battle. You sense"; - mes "its potency and decide not"; - mes "to get too close to it.^000000"; +moc_fild12,166,369,0 script Trace of Battle#1 CLEAR_NPC,{ + .@class_thief = ( BaseClass == Job_Thief ); + .@class_mage = ( BaseClass == Job_Mage ); + if (.@class_thief == 0 && .@class_mage == 0 || eaclass()&EAJL_BABY) { + mes "^3355FFThere are signs that show"; + mes "that some violent scuffle"; + mes "might have occurred here,"; + mes "but you can't tell what had"; + mes "happened exactly...^000000"; + } else if (tu_thief01 < 5 && .@class_thief || .@class_mage && tu_magician01 < 8) { + mes "^3355FFYou find traces of poison"; + mes "used in a battle. You sense"; + mes "its potency and decide not"; + mes "to get too close to it.^000000"; + if (.@class_mage) specialeffect EF_VENOMDUST2; - close; - } else if(tu_magician01 == 8){ - mes "^3355FFThere are traces of a battle"; - mes "that seem to be leading in"; - mes "different directions. From the"; - mes "peculiar smell that permeates"; - mes "the area, it seems that some"; - mes "kind of lethal poison was used.^000000"; - next; - mes "^3355FFStill..."; - mes "The trail of this"; - mes "battle decidedly"; - mes "heads southward.^000000"; - set tu_magician01, 9; - close; - } else { - mes "^3355FFYou find signs of"; - mes "a heated pursuit"; - mes "that head south."; - close; - } + } else if (tu_thief01 == 5 && .@class_thief) { + mes "^3355FFYou find traces of poison"; + mes "used in a battle. A feeling"; + mes "of acute dizziness overcomes"; + mes "you after examining the scene.^000000"; + tu_thief01 = 6; + sc_start SC_Poison,60000,0; + specialeffect EF_VENOMDUST2; + } else if (tu_thief01 == 6 && .@class_thief) { + mes "^3355FFYou find traces of poison"; + mes "used in a battle. A feeling"; + mes "of acute dizziness overcomes"; + mes "you after examining the scene.^000000"; + sc_start SC_Poison,60000,0; + specialeffect EF_VENOMDUST2; + } else if (tu_thief01 == 7 && .@class_thief) { + mes "^3355FFYou find traces of poison"; + mes "used in a battle. You sense"; + mes "its potency and decide not"; + mes "to get too close to it.^000000"; + } else if (.@class_thief && tu_thief01 == 8 || .@class_mage && tu_magician01 == 8) { + mes "^3355FFThere are traces of a battle"; + mes "that seem to be leading in"; + mes "different directions. From the"; + mes "peculiar smell that permeates"; + mes "the area, it seems that some"; + mes "kind of lethal poison was used.^000000"; + next; + mes "^3355FFStill..."; + mes "The trail of this"; + mes "battle decidedly"; + mes "heads southward.^000000"; + if (tu_magician01 == 8) + tu_magician01 = 9; + else + tu_thief01 = 9; + } else { + mes "^3355FFYou find signs of"; + mes "a heated pursuit"; + mes "that head south."; } - mes "^3355FFThere are signs that show"; - mes "that some violent scuffle"; - mes "might have occurred here,"; - mes "but you can't tell what had"; - mes "happened exactly...^000000"; close; } // Battle Traces 2 //============================================================ -moc_fild12,173,215,0 script Trace of Battle#2 844,{ - if(BaseClass == Job_Thief){ - if(tu_thief01 < 9){ - mes "^3355FFThere are signs"; - mes "that many people"; - mes "have traveled through"; - mes "this particular area.^000000"; - close; - } else if(tu_thief01 == 9){ - mes "^3355FFYou've found traces"; - mes "of the pursuit which"; - mes "continue eastward.^000000"; - set tu_thief01, 10; - close; - } else { - mes "^3355FFThese traces of"; - mes "the pursuit lead"; - mes "towards the east.^000000"; - close; - } - } else if(BaseClass == Job_Mage){ - if(tu_magician01 < 9){ - mes "^3355FFThere are signs"; - mes "that many people"; - mes "have traveled through"; - mes "this particular area.^000000"; - close; - } else if(tu_magician01 == 9){ - mes "^3355FFYou've found traces"; - mes "of the pursuit which"; - mes "continue eastward.^000000"; - set tu_magician01, 10; - close; - } else { - mes "^3355FFThese traces of"; - mes "the pursuit lead"; - mes "towards the east.^000000"; - close; - } +moc_fild12,173,215,0 script Trace of Battle#2 CLEAR_NPC,{ + .@class_thief = ( BaseClass == Job_Thief ); + .@class_mage = ( BaseClass == Job_Mage ); + if (.@class_thief == 0 && .@class_mage == 0 || eaclass()&EAJL_BABY) { + mes "^3355FFThere are signs that show"; + mes "that some violent scuffle"; + mes "might have occurred here,"; + mes "but you can't tell what had"; + mes "happened exactly...^000000"; + } else if (tu_thief01 < 9 && .@class_thief || tu_magician01 < 9 && .@class_mage) { + mes "^3355FFThere are signs"; + mes "that many people"; + mes "have traveled through"; + mes "this particular area.^000000"; + } else if (tu_thief01 == 9 && .@class_thief || tu_magician01 == 9 && .@class_mage) { + mes "^3355FFYou've found traces"; + mes "of the pursuit which"; + mes "continue eastward.^000000"; + if (tu_magician01 == 9) + tu_magician01 = 10; + else + tu_thief01 = 10; + } else { + mes "^3355FFThese traces of"; + mes "the pursuit lead"; + mes "towards the east.^000000"; } - mes "^3355FFThere are signs that show"; - mes "that some violent scuffle"; - mes "might have occurred here,"; - mes "but you can't tell what had"; - mes "happened exactly...^000000"; close; } // Battle Traces 3 //============================================================ -moc_fild12,276,165,0 script Trace of Battle#3 844,{ - if(BaseClass == Job_Thief){ - if(tu_thief01 < 10){ - mes "^3355FFThere are signs"; - mes "that many people"; - mes "have traveled through"; - mes "this particular area.^000000"; - close; - } else if(tu_thief01 == 10){ - mes "^3355FFYou examine these traces"; - mes "and notice that one set of"; - mes "footprints looks almost too"; - mes "pronounced, as if it had been"; - mes "made for somebody to find.^000000"; - set tu_thief01, 11; - close; - } else { - mes "^3355FFIt's a very"; - mes "strange looking"; - mes "set of footprints.^000000"; - close; - } - } else if(BaseClass == Job_Mage){ - if(tu_magician01 < 10){ - mes "^3355FFThere are signs"; - mes "that many people"; - mes "have traveled through"; - mes "this particular area.^000000"; - close; - } else if(tu_magician01 == 10){ - mes "^3355FFYou examine these traces"; - mes "and notice that one set of"; - mes "footprints looks almost too"; - mes "pronounced, as if it had been"; - mes "made for somebody to find.^000000"; - set tu_magician01, 11; - close; - } else { - mes "^3355FFIt's a very"; - mes "strange looking"; - mes "set of footprints.^000000"; - close; - } +moc_fild12,276,165,0 script Trace of Battle#3 CLEAR_NPC,{ + .@class_thief = ( BaseClass == Job_Thief ); + .@class_mage = ( BaseClass == Job_Mage ); + if (.@class_thief == 0 && .@class_mage == 0 || eaclass()&EAJL_BABY) { + mes "^3355FFThese look like"; + mes "traces of some kind"; + mes "of pursuit or battle, but"; + mes "you can't really tell for sure.^000000"; + } else if (tu_thief01 < 10 && .@class_thief || tu_magician01 < 10 && .@class_mage) { + mes "^3355FFThere are signs"; + mes "that many people"; + mes "have traveled through"; + mes "this particular area.^000000"; + } else if (tu_thief01 == 10 && .@class_thief || tu_magician01 == 10 && .@class_mage) { + mes "^3355FFYou examine these traces"; + mes "and notice that one set of"; + mes "footprints looks almost too"; + mes "pronounced, as if it had been"; + mes "made for somebody to find.^000000"; + if (tu_magician01 == 10) + tu_magician01 = 11; + else + tu_thief01 = 11; + } else { + mes "^3355FFIt's a very"; + mes "strange looking"; + mes "set of footprints.^000000"; } - mes "^3355FFThese look like"; - mes "traces of some kind"; - mes "of pursuit or battle, but"; - mes "you can't really tell for sure.^000000"; close; } // Battle Traces 4 //============================================================ -moc_fild11,39,163,0 script Trace of Battle#4 844,{ - if(BaseClass == Job_Thief){ - if(tu_thief01 < 11){ - mes "^3355FFThere are signs"; - mes "that many people"; - mes "have traveled through"; - mes "this particular area.^000000"; - close; - } else if(tu_thief01 == 11){ - mes "^3355FFFrom these traces,"; - mes "you see that another"; - mes "set of footprints has"; - mes "been added. It looks like"; - mes "someone } else got involved."; - mes "These prints are distinctly"; - mes "clearer and much smaller.^000000"; - set tu_thief01, 12; - close; - } else { - mes "^3355FFFrom these traces,"; - mes "you see that another"; - mes "person has gotten involved"; - mes "in this heated scuffle.^000000"; - close; - } - } else if(BaseClass == Job_Mage){ - if(tu_magician01 < 11){ - mes "^3355FFThere are signs"; - mes "that many people"; - mes "have traveled through"; - mes "this particular area.^000000"; - close; - } else if(tu_magician01 == 11){ - mes "^3355FFFrom these traces,"; - mes "you see that another"; - mes "set of footprints has"; - mes "been added. It looks like"; - mes "someone } else got involved."; - mes "These prints are distinctly"; - mes "clearer and much smaller.^000000"; - set tu_magician01, 12; - close; - } else { - mes "^3355FFFrom these traces,"; - mes "you see that another"; - mes "person has gotten involved"; - mes "in this heated scuffle.^000000"; - close; - } +moc_fild11,39,163,0 script Trace of Battle#4 CLEAR_NPC,{ + .@class_thief = ( BaseClass == Job_Thief ); + .@class_mage = ( BaseClass == Job_Mage ); + if (.@class_thief == 0 && .@class_mage == 0 || eaclass()&EAJL_BABY) { + mes "^3355FFThere are signs that show"; + mes "that some violent scuffle"; + mes "might have occurred here,"; + mes "but you can't tell what had"; + mes "happened exactly...^000000"; + } else if (tu_thief01 < 11 && .@class_thief || tu_magician01 < 11 && .@class_mage) { + mes "^3355FFThere are signs"; + mes "that many people"; + mes "have traveled through"; + mes "this particular area.^000000"; + } else if (tu_thief01 == 11 && .@class_thief || tu_magician01 == 11 && .@class_mage) { + mes "^3355FFFrom these traces,"; + mes "you see that another"; + mes "set of footprints has"; + mes "been added. It looks like"; + mes "someone else got involved."; + mes "These prints are distinctly"; + mes "clearer and much smaller.^000000"; + if (tu_magician01 == 11) + tu_magician01 = 12; + else + tu_thief01 = 12; + } else { + mes "^3355FFFrom these traces,"; + mes "you see that another"; + mes "person has gotten involved"; + mes "in this heated scuffle.^000000"; } - mes "^3355FFThere are signs that show"; - mes "that some violent scuffle"; - mes "might have occurred here,"; - mes "but you can't tell what had"; - mes "happened exactly...^000000"; close; } // Battle Traces 5 //============================================================ -moc_fild11,205,52,0 script Trace of Battle#5 844,{ - if(BaseClass == Job_Thief){ - if(tu_thief01 < 12){ - mes "^3355FFThere are signs"; - mes "that many people"; - mes "have traveled through"; - mes "this particular area.^000000"; - close; - } else if(tu_thief01 == 12){ - mes "^3355FFThe traces of the battle"; - mes "now split and head towards"; - mes "the north and south. However,^000000"; - if(countitem(506) == 0){ - mes "^3355FFthere is a puddle of strong poison that you must neutralize before you can investigate this scene.^000000"; +moc_fild11,205,52,0 script Trace of Battle#5 CLEAR_NPC,{ + .@class_thief = ( BaseClass == Job_Thief ); + .@class_mage = ( BaseClass == Job_Mage ); + if (.@class_thief == 0 && .@class_mage == 0 || eaclass()&EAJL_BABY) { + mes "^3355FFThese look like"; + mes "traces of some kind"; + mes "of pursuit or battle, but"; + mes "you can't really tell for sure.^000000"; + } else if (tu_thief01 < 12 && .@class_thief || tu_magician01 < 12 && .@class_mage) { + mes "^3355FFThere are signs"; + mes "that many people"; + mes "have traveled through"; + mes "this particular area.^000000"; + } else if (tu_thief01 == 12 && .@class_thief || tu_magician01 == 12 && .@class_mage) { + mes "^3355FFThe traces of the battle"; + mes "now split and head towards"; + mes "the north and south. However,^000000"; + if (countitem(506) == 0) { //Green_Potion + mes "^3355FFthere is a puddle of strong poison that you must neutralize before you can investigate this scene.^000000"; + close; + } + mes "^3355FFthere is a puddle of strong poison that you must neutralize before you can investigate this scene.^000000"; + next; + mes "^3355FFFortunately, you can"; + mes "temporarily nullify the"; + mes "poison by using one"; + mes "of your Green Potions.^000000"; + next; + switch(select("Use Green Potion.:Don't use it.")) { + case 1: + mes "^3355FFThe poison weakens"; + mes "and some of it evaporates,"; + mes "revealing a piece of cloth that"; + mes "was hidden in that puddle.^000000"; + next; + switch(select("Don't investigate.:Investigate.")) { + case 1: + mes "["+strcharinfo(0)+"]"; + mes "A piece of cloth"; + mes "is nothing to be"; + mes "concerned about."; close; - } else { - mes "^3355FFthere is a puddle of strong poison that you must neutralize before you can investigate this scene.^000000"; - next; - mes "^3355FFFortunately, you can"; - mes "temporarily nullify the"; - mes "poison by using one"; - mes "of your Green Potions.^000000"; + case 2: + mes "["+strcharinfo(0)+"]"; + mes "Hey... There's"; + mes "blood on this cloth"; + mes "and some writing on"; + mes "it that I can't recognize."; + mes "Hopefully, this'll provide"; + mes "some sort of clue to all this?"; + if (tu_thief01 == 12) + tu_thief01 = 13; + else + tu_magician01 = 13; next; - switch(select("Use Green Potion.:Don't use it.")){ - case 1: - mes "^3355FFThe poison weakens"; - mes "and some of it evaporates,"; - mes "revealing a piece of cloth that"; - mes "was hidden in that puddle.^000000"; - next; - switch(select("Don't investigate.:Investigate.")){ - case 1: - mes "["+strcharinfo(0)+"]"; - mes "A piece of cloth"; - mes "is nothing to be"; - mes "concerned about."; - close; - case 2: - mes "["+strcharinfo(0)+"]"; - mes "Hey... There's"; - mes "blood on this cloth"; - mes "and some writing on"; - mes "it that I can't recognize."; - mes "Hopefully, this'll provide"; - mes "some sort of clue to all this?"; - set tu_thief01, 13; - next; - mes "^3355FFYou take the piece"; - mes "of cloth from the puddle"; - mes "of poison and keep it with you.^000000"; - close; - } - case 2: - mes "["+strcharinfo(0)+"]"; - mes "Hmm..."; - mes "It'll probably be"; - mes "faster if I follow this"; - mes "trail, rather than stop to"; - mes "investigate this scene."; - close; - } - } - } else { - mes "^3355FFYou can't find"; - mes "anything } else here,"; - mes "aside from the traces"; - mes "that split and lead both"; - mes "northward and southward.^000000"; - close; - } - } else if(BaseClass == Job_Mage){ - if(tu_magician01 < 12){ - mes "^3355FFThere are signs"; - mes "that many people"; - mes "have traveled through"; - mes "this particular area.^000000"; - close; - } else if(tu_magician01 == 12){ - mes "^3355FFThe traces of the battle"; - mes "now split and head towards"; - mes "the north and south. However,^000000"; - if(countitem(506) == 0){ - mes "^3355FFthere is a puddle of strong poison that you must neutralize before you can investigate this scene.^000000"; + mes "^3355FFYou take the piece"; + mes "of cloth from the puddle"; + mes "of poison and keep it with you.^000000"; close; - } else { - mes "^3355FFthere is a puddle of strong poison that you must neutralize before you can investigate this scene.^000000"; - next; - mes "^3355FFFortunately, you can"; - mes "temporarily nullify the"; - mes "poison by using one"; - mes "of your Green Potions.^000000"; - next; - switch(select("Use Green Potion.:Don't use it.")){ - case 1: - mes "^3355FFThe poison weakens"; - mes "and some of it evaporates,"; - mes "revealing a piece of cloth that"; - mes "was hidden in that puddle.^000000"; - next; - switch(select("Don't investigate.:Investigate.")){ - case 1: - mes "["+strcharinfo(0)+"]"; - mes "A piece of cloth"; - mes "is nothing to be"; - mes "concerned about."; - close; - case 2: - mes "["+strcharinfo(0)+"]"; - mes "Hey... There's"; - mes "blood on this cloth"; - mes "and some writing on"; - mes "it that I can't recognize."; - mes "Hopefully, this'll provide"; - mes "some sort of clue to all this?"; - set tu_magician01,13; - next; - mes "^3355FFYou take the piece"; - mes "of cloth from the puddle"; - mes "of poison and keep it with you.^000000"; - close; - } - case 2: - mes "["+strcharinfo(0)+"]"; - mes "Hmm..."; - mes "It'll probably be"; - mes "faster if I follow this"; - mes "trail, rather than stop to"; - mes "investigate this scene."; - close; - } } - } else { - mes "^3355FFYou can't find"; - mes "anything } else here,"; - mes "aside from the traces"; - mes "that split and lead both"; - mes "northward and southward.^000000"; - close; - } + case 2: + mes "["+strcharinfo(0)+"]"; + mes "Hmm..."; + mes "It'll probably be"; + mes "faster if I follow this"; + mes "trail, rather than stop to"; + mes "investigate this scene."; + close; + } + } else { + mes "^3355FFYou can't find"; + mes "anything else here,"; + mes "aside from the traces"; + mes "that split and lead both"; + mes "northward and southward.^000000"; } - mes "^3355FFThese look like"; - mes "traces of some kind"; - mes "of pursuit or battle, but"; - mes "you can't really tell for sure.^000000"; close; } // Battle Traces 6 //============================================================ -moc_fild11,226,235,0 script Trace of Battle#6 844,{ - if(BaseClass == Job_Thief){ - if(tu_thief01 < 13){ - mes "^3355FFThere are signs"; - mes "that many people"; - mes "have traveled through"; - mes "this particular area.^000000"; - close; - } else { - mes "^3355FFThese footprints"; - mes "look like they're"; - mes "heading towards the"; - mes "north from the south."; - mes "But you can't really"; - mes "be sure just yet.^000000"; - close; - } - } else if(BaseClass == Job_Mage){ - if(tu_magician01 < 13){ - mes "^3355FFThere are signs"; - mes "that many people"; - mes "have traveled through"; - mes "this particular area.^000000"; - close; - } else { - mes "^3355FFThese footprints"; - mes "look like they're"; - mes "heading towards the"; - mes "north from the south."; - mes "But you can't really"; - mes "be sure just yet.^000000"; - close; - } +moc_fild11,226,235,0 script Trace of Battle#6 CLEAR_NPC,{ + .@class_thief = ( BaseClass == Job_Thief ); + .@class_mage = ( BaseClass == Job_Mage ); + if (.@class_thief == 0 && .@class_mage == 0 || eaclass()&EAJL_BABY) { + mes "^3355FFThese look like"; + mes "traces of some kind"; + mes "of pursuit or battle, but"; + mes "you can't really tell for sure.^000000"; + } else if (tu_thief01 < 13 && .@class_thief || tu_magician01 < 13 && .@class_mage) { + mes "^3355FFThere are signs"; + mes "that many people"; + mes "have traveled through"; + mes "this particular area.^000000"; + } else { + mes "^3355FFThese footprints"; + mes "look like they're"; + mes "heading towards the"; + mes "north from the south."; + mes "But you can't really"; + mes "be sure just yet.^000000"; } - mes "^3355FFThese look like"; - mes "traces of some kind"; - mes "of pursuit or battle, but"; - mes "you can't really tell for sure.^000000"; close; } // Battle Traces 7 //============================================================ -moc_fild11,184,342,0 script Trace of Battle#7 844,{ - if(BaseClass == Job_Thief){ - if(tu_thief01 < 13){ - mes "^3355FFThere are signs"; - mes "that many people"; - mes "have traveled through"; - mes "this particular area.^000000"; - close; - } else { - mes "^3355FFThe trail here looks pretty"; - mes "muddled, since it looks like"; - mes "they battled here for quite a"; - mes "while. But the footprints are"; - mes "definitely heading south.^000000"; - close; - } - } else if(BaseClass == Job_Mage){ - if(tu_magician01 < 13){ - mes "^3355FFThere are signs"; - mes "that many people"; - mes "have traveled through"; - mes "this particular area.^000000"; - close; - } else { - mes "^3355FFThe trail here looks pretty"; - mes "muddled, since it looks like"; - mes "they battled here for quite a"; - mes "while. But the footprints are"; - mes "definitely heading south.^000000"; - close; - } +moc_fild11,184,342,0 script Trace of Battle#7 CLEAR_NPC,{ + .@class_thief = ( BaseClass == Job_Thief ); + .@class_mage = ( BaseClass == Job_Mage ); + if (.@class_thief == 0 && .@class_mage == 0 || eaclass()&EAJL_BABY) { + mes "^3355FFThese look like"; + mes "traces of some kind"; + mes "of pursuit or battle, but"; + mes "you can't really tell for sure.^000000"; + } else if (tu_thief01 < 13 && .@class_thief || tu_magician01 < 13 && .@class_mage) { + mes "^3355FFThere are signs"; + mes "that many people"; + mes "have traveled through"; + mes "this particular area.^000000"; + } else { + mes "^3355FFThe trail here looks pretty"; + mes "muddled, since it looks like"; + mes "they battled here for quite a"; + mes "while. But the footprints are"; + mes "definitely heading south.^000000"; } - mes "^3355FFThese look like"; - mes "traces of some kind"; - mes "of pursuit or battle, but"; - mes "you can't really tell for sure.^000000"; close; } // Battle Traces 8 //============================================================ -moc_fild17,213,358,0 script Trace of Battle#8 844,{ - if(BaseClass == Job_Thief){ - if(tu_thief01 < 13){ - mes "^3355FFThere are two"; - mes "distinct sets of"; - mes "footprints in this"; - mes "area, but they don't"; - mes "hold any significance"; - mes "right about now.^000000"; - close; - } else if(tu_thief01 == 13){ - mes "^3355FFAround here, it"; - mes "looks like there are"; - mes "only two sets of footprints."; - mes "What happened to the other"; - mes "set that you found earlier?^000000"; - set tu_thief01, 14; - close; - } else { - mes "^3355FFFrom the evidence"; - mes "that you've found here,"; - mes "it looks like the battle"; - mes "involves only two people"; - mes "from this point onward.^000000"; - close; - } - } else if(BaseClass == Job_Mage){ - if(tu_magician01 < 13){ - mes "^3355FFThere are two"; - mes "distinct sets of"; - mes "footprints in this"; - mes "area, but they don't"; - mes "hold any significance"; - mes "right about now.^000000"; - close; - } else if(tu_magician01 == 13){ - mes "^3355FFAround here, it"; - mes "looks like there are"; - mes "only two sets of footprints."; - mes "What happened to the other"; - mes "set that you found earlier?^000000"; - set tu_magician01, 14; - close; - } else { - mes "^3355FFFrom the evidence"; - mes "that you've found here,"; - mes "it looks like the battle"; - mes "involves only two people"; - mes "from this point onward.^000000"; - close; - } +moc_fild17,213,358,0 script Trace of Battle#8 CLEAR_NPC,{ + .@class_thief = ( BaseClass == Job_Thief ); + .@class_mage = ( BaseClass == Job_Mage ); + if (.@class_thief == 0 && .@class_mage == 0 || eaclass()&EAJL_BABY) { + mes "^3355FFThese look like"; + mes "traces of some kind"; + mes "of pursuit or battle, but"; + mes "you can't really tell for sure.^000000"; + } else if (tu_thief01 < 13 && .@class_thief || tu_magician01 < 13 && .@class_mage) { + mes "^3355FFThere are two"; + mes "distinct sets of"; + mes "footprints in this"; + mes "area, but they don't"; + mes "hold any significance"; + mes "right about now.^000000"; + } else if (tu_thief01 == 13 && .@class_thief || tu_magician01 == 13 && .@class_mage) { + mes "^3355FFAround here, it"; + mes "looks like there are"; + mes "only two sets of footprints."; + mes "What happened to the other"; + mes "set that you found earlier?^000000"; + if (tu_magician01 == 13) + tu_magician01 = 14; + else + tu_thief01 = 14; + } else { + mes "^3355FFFrom the evidence"; + mes "that you've found here,"; + mes "it looks like the battle"; + mes "involves only two people"; + mes "from this point onward.^000000"; } - mes "^3355FFThese look like"; - mes "traces of some kind"; - mes "of pursuit or battle, but"; - mes "you can't really tell for sure.^000000"; close; } // Battle Traces 9 //============================================================ -moc_fild17,228,274,0 script Trace of Battle#9 844,{ - if(BaseClass == Job_Thief){ - if(tu_thief01 < 14){ - mes "^3355FFTraces of some"; - mes "sort of battle are"; - mes "scattered all over"; - mes "this particular area.^000000"; - close; - } else if(tu_thief01 == 14){ - mes "^3355FFYou follow the trail"; - mes "and although traces from"; - mes "the north and southeast mix"; - mes "together, it looks like the battle continues towards the east."; - mes "But you should check this"; - mes "spot a little bit more...^000000"; - set tu_thief01, 15; - close; - } else if(tu_thief01 == 15){ - set .@seek_tm, rand(1,10); - if(.@seek_tm == 7){ - mes "^3355FFAfter investigating this"; - mes "area more thoroughly,"; - mes "you find another piece of"; - mes "cloth stained with blood."; - mes "You decide to keep it with"; - mes "you, hoping that it will"; - mes "provide more clues.^000000"; - set tu_thief01, 16; - close; - } else { - mes "^3355FFYou don't find anything,"; - mes "but you still can't shake"; - mes "the feeling that there is"; - mes "some important clue that"; - mes "you have to find here. It won't hurt to keep investigating here.^000000"; - close; - } - } else { - mes "^3355FFYou better continue"; - mes "following this trail"; - mes "which leads westward.^000000"; - close; - } - } else if(BaseClass == Job_Mage){ - if(tu_magician01 < 14){ - mes "^3355FFTraces of some"; - mes "sort of battle are"; - mes "scattered all over"; - mes "this particular area.^000000"; - close; - } else if(tu_magician01 == 14){ - mes "^3355FFYou follow the trail"; - mes "and although traces from"; - mes "the north and southeast mix"; - mes "together, it looks like the battle continues towards the east."; - mes "But you should check this"; - mes "spot a little bit more...^000000"; - set tu_magician01, 15; - close; - } else if(tu_magician01 == 15){ - set .@seek_tm1, rand(1,10); - if(.@seek_tm1 == 7){ - mes "^3355FFAfter investigating this"; - mes "area more thoroughly,"; - mes "you find another piece of"; - mes "cloth stained with blood."; - mes "You decide to keep it with"; - mes "you, hoping that it will"; - mes "provide more clues.^000000"; - set tu_magician01, 16; - close; - } else { - mes "^3355FFYou don't find anything,"; - mes "but you still can't shake"; - mes "the feeling that there is"; - mes "some important clue that"; - mes "you have to find here. It won't hurt to keep investigating here.^000000"; - close; - } - } else { - mes "^3355FFYou better continue"; - mes "following this trail"; - mes "which leads westward.^000000"; - close; - } +moc_fild17,228,274,0 script Trace of Battle#9 CLEAR_NPC,{ + .@class_thief = ( BaseClass == Job_Thief ); + .@class_mage = ( BaseClass == Job_Mage ); + if (.@class_thief == 0 && .@class_mage == 0 || eaclass()&EAJL_BABY) { + mes "^3355FFThese look like"; + mes "traces of some kind"; + mes "of pursuit or battle, but"; + mes "you can't really tell for sure.^000000"; + } else if (tu_thief01 < 14 && .@class_thief || tu_magician01 < 14 && .@class_mage) { + mes "^3355FFTraces of some"; + mes "sort of battle are"; + mes "scattered all over"; + mes "this particular area.^000000"; + } else if (tu_thief01 == 14 && .@class_thief || tu_magician01 == 14 && .@class_mage) { + mes "^3355FFYou follow the trail"; + mes "and although traces from"; + mes "the north and southeast mix"; + mes "together, it looks like the battle continues towards the east."; + mes "But you should check this"; + mes "spot a little bit more...^000000"; + if (tu_magician01 == 14) + tu_magician01 = 15; + else + tu_thief01 = 15; + } else if (tu_thief01 == 15 && .@class_thief || tu_magician01 == 15 && .@class_mage) { + if (rand(1,10) == 7) { + mes "^3355FFAfter investigating this"; + mes "area more thoroughly,"; + mes "you find another piece of"; + mes "cloth stained with blood."; + mes "You decide to keep it with"; + mes "you, hoping that it will"; + mes "provide more clues.^000000"; + if (tu_magician01 == 15) + tu_magician01 = 16; + else + tu_thief01 = 16; + } else { + mes "^3355FFYou don't find anything,"; + mes "but you still can't shake"; + mes "the feeling that there is"; + mes "some important clue that"; + mes "you have to find here. It won't hurt to keep investigating here.^000000"; + } + } else { + mes "^3355FFYou better continue"; + mes "following this trail"; + mes "which leads westward.^000000"; } - mes "^3355FFThese look like"; - mes "traces of some kind"; - mes "of pursuit or battle, but"; - mes "you can't really tell for sure.^000000"; close; } // Battle Traces 10 //============================================================ -moc_fild17,34,292,0 script Trace of Battle#10 844,{ - if(BaseClass == Job_Thief){ - if(tu_thief01 < 16){ - mes "^3355FFThere are signs"; - mes "showing that a lot"; - mes "of people were in"; - mes "this area earlier.^000000"; - close; - } else if(tu_thief01 == 16){ - mes "^3355FFThe lead set of footprints,"; - mes "probably belonging to the one"; - mes "who was being pursued, look"; - mes "more erratic, as if exhaustion"; - mes "and desperation were setting in. These traces lead to the west.^000000"; - set tu_thief01, 17; - close; - } else { - mes "^3355FFThe trail from"; - mes "this point heads"; - mes "towards the west.^000000"; - close; - } - } else if(BaseClass == Job_Mage){ - if(tu_magician01 < 16){ - mes "^3355FFThere are signs"; - mes "showing that a lot"; - mes "of people were in"; - mes "this area earlier.^000000"; - close; - } else if(tu_magician01 == 16){ - mes "^3355FFThe lead set of footprints,"; - mes "probably belonging to the one"; - mes "who was being pursued, look"; - mes "more erratic, as if exhaustion"; - mes "and desperation were setting in. These traces lead to the west.^000000"; - set tu_magician01, 17; - close; - } else { - mes "^3355FFThe trail from"; - mes "this point heads"; - mes "towards the west.^000000"; - close; - } +moc_fild17,34,292,0 script Trace of Battle#10 CLEAR_NPC,{ + .@class_thief = ( BaseClass == Job_Thief ); + .@class_mage = ( BaseClass == Job_Mage ); + if (.@class_thief == 0 && .@class_mage == 0 || eaclass()&EAJL_BABY) { + mes "^3355FFThese look like"; + mes "traces of some kind"; + mes "of pursuit or battle, but"; + mes "you can't really tell for sure.^000000"; + } else if (tu_thief01 < 16 && .@class_thief || tu_magician01 < 16 && .@class_mage) { + mes "^3355FFThere are signs"; + mes "showing that a lot"; + mes "of people were in"; + mes "this area earlier.^000000"; + } else if (tu_thief01 == 16 && .@class_thief || tu_magician01 == 16 && .@class_mage) { + mes "^3355FFThe lead set of footprints,"; + mes "probably belonging to the one"; + mes "who was being pursued, look"; + mes "more erratic, as if exhaustion"; + mes "and desperation were setting in. These traces lead to the west.^000000"; + if (tu_magician01 == 16) + tu_magician01 = 17; + else + tu_thief01 = 17; + } else { + mes "^3355FFThe trail from"; + mes "this point heads"; + mes "towards the west.^000000"; } - mes "^3355FFThese look like"; - mes "traces of some kind"; - mes "of pursuit or battle, but"; - mes "you can't really tell for sure.^000000"; close; } // Battle Traces 11 //============================================================ -moc_fild18,346,296,0 script Trace of Battle#11 844,{ - if(BaseClass == Job_Thief){ - if(tu_thief01 < 17){ - mes "^3355FFThere are signs"; - mes "showing that a lot"; - mes "of people were in"; - mes "this area earlier.^000000"; - close; - } else if(tu_thief01 == 17){ - mes "^3355FFFollowing the"; - mes "trail, you see signs"; - mes "that blood was spilled"; - mes "in this area. It looks like"; - mes "someone was injured"; - mes "pretty badly around here.^000000"; - set tu_thief01, 18; - close; - } else { - mes "^3355FFSince someone involved"; - mes "in this conflict was bleeding,"; - mes "further traces of this pursuit"; - mes "might be easier to find now.^000000"; - close; - } - } else if(BaseClass == Job_Mage){ - if(tu_magician01 < 17){ - mes "^3355FFThere are signs"; - mes "showing that a lot"; - mes "of people were in"; - mes "this area earlier.^000000"; - close; - } else if(tu_magician01 == 17){ - mes "^3355FFFollowing the"; - mes "trail, you see signs"; - mes "that blood was spilled"; - mes "in this area. It looks like"; - mes "someone was injured"; - mes "pretty badly around here.^000000"; - set tu_magician01, 18; - close; - } else { - mes "^3355FFSince someone involved"; - mes "in this conflict was bleeding,"; - mes "further traces of this pursuit"; - mes "might be easier to find now.^000000"; - close; - } +moc_fild18,346,296,0 script Trace of Battle#11 CLEAR_NPC,{ + .@class_thief = ( BaseClass == Job_Thief ); + .@class_mage = ( BaseClass == Job_Mage ); + if (.@class_thief == 0 && .@class_mage == 0 || eaclass()&EAJL_BABY) { + mes "^3355FFThese look like"; + mes "traces of some kind"; + mes "of pursuit or battle, but"; + mes "you can't really tell for sure.^000000"; + } else if (tu_thief01 < 17 && .@class_thief || tu_magician01 < 17 && .@class_mage) { + mes "^3355FFThere are signs"; + mes "showing that a lot"; + mes "of people were in"; + mes "this area earlier.^000000"; + } else if (tu_thief01 == 17 && .@class_thief || tu_magician01 == 17 && .@class_mage) { + mes "^3355FFFollowing the"; + mes "trail, you see signs"; + mes "that blood was spilled"; + mes "in this area. It looks like"; + mes "someone was injured"; + mes "pretty badly around here.^000000"; + if (tu_magician01 == 17) + tu_magician01 = 18; + else + tu_thief01 = 18; + } else { + mes "^3355FFSince someone involved"; + mes "in this conflict was bleeding,"; + mes "further traces of this pursuit"; + mes "might be easier to find now.^000000"; } - mes "^3355FFThese look like"; - mes "traces of some kind"; - mes "of pursuit or battle, but"; - mes "you can't really tell for sure.^000000"; close; } // Battle Traces 12 //============================================================ -moc_fild18,309,257,0 script Trace of Battle#12 844,{ - if(BaseClass == Job_Thief){ - if(tu_thief01 < 18){ - mes "^3355FFThere are signs"; - mes "showing that a lot"; - mes "of people were in"; - mes "this area earlier.^000000"; - close; - } else if(tu_thief01 == 18){ - mes "^3355FFThese traces lead"; - mes "northward and it looks"; - mes "like whoever is doing"; - mes "the chasing is getting"; - mes "much closer to his prey.^000000"; - set tu_thief01, 19; - close; - } else { - mes "^3355FFThe trail of this"; - mes "pursuit now leads"; - mes "towards the north.^000000"; - close; - } - } else if(BaseClass == Job_Mage){ - if(tu_magician01 < 18){ - mes "^3355FFThere are signs"; - mes "showing that a lot"; - mes "of people were in"; - mes "this area earlier.^000000"; - close; - } else if(tu_magician01 == 18){ - mes "^3355FFThese traces lead"; - mes "northward and it looks"; - mes "like whoever is doing"; - mes "the chasing is getting"; - mes "much closer to his prey.^000000"; - set tu_magician01, 19; - close; - } else { - mes "^3355FFThe trail of this"; - mes "pursuit now leads"; - mes "towards the north.^000000"; - close; - } +moc_fild18,309,257,0 script Trace of Battle#12 CLEAR_NPC,{ + .@class_thief = ( BaseClass == Job_Thief ); + .@class_mage = ( BaseClass == Job_Mage ); + if (.@class_thief == 0 && .@class_mage == 0 || eaclass()&EAJL_BABY) { + mes "^3355FFThese look like"; + mes "traces of some kind"; + mes "of pursuit or battle, but"; + mes "you can't really tell for sure.^000000"; + } else if (tu_thief01 < 18 && .@class_thief || tu_magician01 < 18 && .@class_mage) { + mes "^3355FFThere are signs"; + mes "showing that a lot"; + mes "of people were in"; + mes "this area earlier.^000000"; + } else if (tu_thief01 == 18 && .@class_thief || tu_magician01 == 18 && .@class_mage) { + mes "^3355FFThese traces lead"; + mes "northward and it looks"; + mes "like whoever is doing"; + mes "the chasing is getting"; + mes "much closer to his prey.^000000"; + if (tu_magician01 == 18) + tu_magician01 = 19; + else + tu_thief01 = 19; + } else { + mes "^3355FFThe trail of this"; + mes "pursuit now leads"; + mes "towards the north.^000000"; } - mes "^3355FFThese look like"; - mes "traces of some kind"; - mes "of pursuit or battle, but"; - mes "you can't really tell for sure.^000000"; close; } // Battle Traces 13 //============================================================ -moc_fild18,177,333,0 script Trace of Battle#13 844,{ - if(BaseClass == Job_Thief){ - if(tu_thief01 < 19){ - mes "^3355FFThere are signs"; - mes "showing that a lot"; - mes "of people were in"; - mes "this area earlier.^000000"; - close; - } else if(tu_thief01 == 19){ - mes "^3355FFJudging from these"; - mes "traces, it looks like"; - mes "even more people have"; - mes "joined the battle which"; - mes "now seems to be leading"; - mes "in the southwest direction.^000000"; - set tu_thief01, 20; - close; - } else { - mes "^3355FFIt looks like"; - mes "the battle heads"; - mes "towards the southwest"; - mes "from this particular point.^000000"; - close; - } - } else if(BaseClass == Job_Mage){ - if(tu_magician01 < 19){ - mes "A large group of people seem to have gone by."; - close; - } else if(tu_magician01 == 19){ - mes "^3355FFJudging from these"; - mes "traces, it looks like"; - mes "even more people have"; - mes "joined the battle which"; - mes "now seems to be leading"; - mes "in the southwest direction.^000000"; - set tu_magician01, 20; - close; - } else { - mes "^3355FFIt looks like"; - mes "the battle heads"; - mes "towards the southwest"; - mes "from this particular point.^000000"; - close; - } +moc_fild18,177,333,0 script Trace of Battle#13 CLEAR_NPC,{ + .@class_thief = ( BaseClass == Job_Thief ); + .@class_mage = ( BaseClass == Job_Mage ); + if (.@class_thief == 0 && .@class_mage == 0 || eaclass()&EAJL_BABY) { + mes "^3355FFThese look like"; + mes "traces of some kind"; + mes "of pursuit or battle, but"; + mes "you can't really tell for sure.^000000"; + } else if (tu_thief01 < 19 && .@class_thief) { + mes "^3355FFThere are signs"; + mes "showing that a lot"; + mes "of people were in"; + mes "this area earlier.^000000"; + } else if (tu_magician01 < 19 && .@class_mage) { + mes "A large group of people seem to have gone by."; + } else if (tu_thief01 == 19 && .@class_thief || tu_magician01 == 19 && .@class_mage) { + mes "^3355FFJudging from these"; + mes "traces, it looks like"; + mes "even more people have"; + mes "joined the battle which"; + mes "now seems to be leading"; + mes "in the southwest direction.^000000"; + if (tu_magician01 == 19) + tu_magician01 = 20; + else + tu_thief01 = 20; + } else { + mes "^3355FFIt looks like"; + mes "the battle heads"; + mes "towards the southwest"; + mes "from this particular point.^000000"; } - mes "^3355FFThese look like"; - mes "traces of some kind"; - mes "of pursuit or battle, but"; - mes "you can't really tell for sure.^000000"; close; } // Battle Traces 14 //============================================================ -moc_fild18,111,303,0 script Trace of Battle#14 844,{ - if(BaseClass == Job_Thief){ - if(tu_thief01 < 20){ - mes "^3355FFThere are signs"; - mes "showing that a lot"; - mes "of people were in"; - mes "this area earlier.^000000"; - close; - } else if(tu_thief01 == 20){ - mes "^3355FFIn this area, it looks"; - mes "like even more people"; - mes "joined in this battle and"; - mes "the pursuit clearly heads"; - mes "towards the south.^000000"; - set tu_thief01, 21; - close; - } else { - mes "^3355FFThe trail of"; - mes "this battle heads"; - mes "towards the south.^000000"; - close; - } - } else if(BaseClass == Job_Mage){ - if(tu_magician01 < 20){ - mes "^3355FFThere are signs"; - mes "showing that a lot"; - mes "of people were in"; - mes "this area earlier.^000000"; - close; - } else if(tu_magician01 == 20){ - mes "^3355FFIn this area, it looks"; - mes "like even more people"; - mes "joined in this battle and"; - mes "the pursuit clearly heads"; - mes "towards the south.^000000"; - set tu_magician01, 21; - close; - } else { - mes "^3355FFThe trail of"; - mes "this battle heads"; - mes "towards the south.^000000"; - close; - } +moc_fild18,111,303,0 script Trace of Battle#14 CLEAR_NPC,{ + .@class_thief = ( BaseClass == Job_Thief ); + .@class_mage = ( BaseClass == Job_Mage ); + if (.@class_thief == 0 && .@class_mage == 0 || eaclass()&EAJL_BABY) { + mes "^3355FFThese look like"; + mes "traces of some kind"; + mes "of pursuit or battle, but"; + mes "you can't really tell for sure.^000000"; + } else if (tu_thief01 < 20 && .@class_thief || tu_magician01 < 20 && .@class_mage) { + mes "^3355FFThere are signs"; + mes "showing that a lot"; + mes "of people were in"; + mes "this area earlier.^000000"; + } else if (tu_thief01 == 20 && .@class_thief || tu_magician01 == 20 && .@class_mage) { + mes "^3355FFIn this area, it looks"; + mes "like even more people"; + mes "joined in this battle and"; + mes "the pursuit clearly heads"; + mes "towards the south.^000000"; + if (tu_magician01 == 20) + tu_magician01 = 21; + else + tu_thief01 = 21; + } else { + mes "^3355FFThe trail of"; + mes "this battle heads"; + mes "towards the south.^000000"; } - mes "^3355FFThese look like"; - mes "traces of some kind"; - mes "of pursuit or battle, but"; - mes "you can't really tell for sure.^000000"; close; } // Battle Traces 15 //============================================================ -moc_fild18,109,197,0 script Trace of Battle#15 844,{ - if(BaseClass == Job_Thief){ - if(tu_thief01 < 21){ - mes "^3355FFThere are signs"; - mes "showing that a lot"; - mes "of people were in"; - mes "this area earlier.^000000"; - close; - } else if(tu_thief01 == 21){ - mes "^3355FFThis area is clearly"; - mes "marked with signs"; - mes "of a violent battle, with"; - mes "traces of poison strewn"; - mes "all over the ground.^000000"; +moc_fild18,109,197,0 script Trace of Battle#15 CLEAR_NPC,{ + .@class_thief = ( BaseClass == Job_Thief ); + .@class_mage = ( BaseClass == Job_Mage ); + if (.@class_thief == 0 && .@class_mage == 0 || eaclass()&EAJL_BABY) { + mes "^3355FFThese look like"; + mes "traces of some kind"; + mes "of pursuit or battle, but"; + mes "you can't really tell for sure.^000000"; + } else if (tu_thief01 < 21 && .@class_thief) { + mes "^3355FFThere are signs"; + mes "showing that a lot"; + mes "of people were in"; + mes "this area earlier.^000000"; + } else if (tu_magician01 < 21 && .@class_mage) + mes "A large group of people seem to have gone by."; + else if (tu_thief01 == 21 && .@class_thief || tu_magician01 == 21 && .@class_mage) { + mes "^3355FFThis area is clearly"; + mes "marked with signs"; + mes "of a violent battle, with"; + mes "traces of poison strewn"; + mes "all over the ground.^000000"; + next; + switch(select("Continue following the traces.:Further investigate the area.")) { + case 1: + mes "^3355FFYou examine the"; + mes "trail, but can't really"; + mes "discern the direction"; + mes "in which the battle"; + mes "continues...^000000"; + close; + case 2: + mes "^3355FFYou find a bunch of"; + mes "traps that use different"; + mes "kinds of poison. The ones"; + mes "that have been set off are"; + mes "mixed with the ones which"; + mes "haven't been triggered.^000000"; + if (tu_thief01 == 21) + tu_thief01 = 22; + else + tu_magician01 = 22; + close; + } + } else if (tu_thief01 == 22 && .@class_thief || tu_magician01 == 22 && .@class_mage) { + if (rand(1,3) == 3) { + mes "^3355FFOne trap in particular"; + mes "stands out to you more"; + mes "than the rest. Perhaps"; + mes "you should pour some"; + mes "Green Potion on it to"; + mes "neutralize it first.^000000"; next; - switch(select("Continue following the traces.:Further investigate the area.")){ + switch(select("Pour Green Potion.:Don't use Green Potion.")) { case 1: - mes "^3355FFYou examine the"; - mes "trail, but can't really"; - mes "discern the direction"; - mes "in which the battle"; - mes "continues...^000000"; - close; - case 2: - mes "^3355FFYou find a bunch of"; - mes "traps that use different"; - mes "kinds of poison. The ones"; - mes "that have been set off are"; - mes "mixed with the ones which"; - mes "haven't been triggered.^000000"; - set tu_thief01, 22; - close; - } - } else if(tu_thief01 == 22){ - set .@trap_tm, rand(1,3); - if(.@trap_tm == 3){ - mes "^3355FFOne trap in particular"; - mes "stands out to you more"; - mes "than the rest. Perhaps"; - mes "you should pour some"; - mes "Green Potion on it to"; - mes "neutralize it first.^000000"; - next; - switch(select("Pour Green Potion.:Don't use Green Potion.")){ - case 1: - if(countitem(506) < 1){ - mes "^3355FFUnfortunately, you"; - mes "don't have a Green"; - mes "Potion that you can"; - mes "use to pour on this trap...^000000"; - close; - } else { - mes "^3355FFPouring that"; - mes "Green Potion didn't"; - mes "really make anything"; - mes "happen. Perhaps you"; - mes "should try something else.^000000"; - delitem 506,1; //Green_Potion - set tu_thief01, 23; - close; - } - case 2: - mes "["+strcharinfo(0)+"]"; - mes "I guess..."; - mes "I'll try investigating"; - mes "this area a little more?"; - close; - } - } else { - mes "^3355FFBy sheer accident,"; - mes "you set off one of"; - mes "the traps in the area.^000000"; - sc_start SC_Poison,60000,0; - specialeffect EF_VENOMDUST2; - percentheal -30,0; - close; - } - } else if(tu_thief01 == 23){ - if(countitem(511) > 0 || countitem(716) > 0){ - if(countitem(511) > 0 && countitem(716) > 0){ - mes "^3355FFYou try grinding"; - mes "a Green Herb and"; - mes "sprinkling it on the"; - mes "trap and then place"; - mes "a Red Gemstone on it."; - mes "The gem glows and"; - mes "slowly melts away...^000000"; - next; - mes "^3355FFAlthough you don't"; - mes "fully understand the"; - mes "science of using poisons"; - mes "or antidotes, you managed"; - mes "to successfully dismantle"; - mes "the trap. Now you can safely"; - mes "check what might be inside.^000000"; - delitem 511,1; //Green_Herb - delitem 716,1; //Red_Gemstone - set tu_thief01, 24; - close; - } else if(countitem(511) > 0){ - mes "^3355FFYou should try to"; - mes "dismantle this trap"; - mes "by using other catalysts"; - mes "related to the curing or"; - mes "use of poison. You do have"; - mes "a Green Herb on you, so you"; - mes "try sprinkling it on the trap.^000000"; - next; - mes "^3355FFHowever, nothing"; - mes "happens. It seems that"; - mes "you need another catalyst"; - mes "in addition to the Green Herb"; - mes "that you have in order to"; - mes "dismantle this trap.^000000"; + if (countitem(506) < 1) { //Green_Potion + mes "^3355FFUnfortunately, you"; + mes "don't have a Green"; + mes "Potion that you can"; + mes "use to pour on this trap...^000000"; close; } else { - mes "^3355FFYou should try to"; - mes "dismantle this trap"; - mes "by using other catalysts"; - mes "related to the curing or use"; - mes "of poison. You do have a"; - mes "Red Gemstone, so you grind"; - mes "it and sprinkle it on the trap.^000000"; - next; - mes "^3355FFHowever, nothing"; - mes "happens. It seems that"; - mes "you need another catalyst to"; - mes "use with the Red Gemstone"; - mes "that you have in order to"; - mes "dismantle this trap.^000000"; + mes "^3355FFPouring that"; + mes "Green Potion didn't"; + mes "really make anything"; + mes "happen. Perhaps you"; + mes "should try something else.^000000"; + delitem 506,1; //Green_Potion + if (tu_thief01 == 22) + tu_thief01 = 23; + else + tu_magician01 = 23; close; } - } else { - mes "^3355FFYou should try to"; - mes "dismantle this trap"; - mes "by using other catalysts"; - mes "related to the curing or"; - mes "use of poison. But what"; - mes "items should you bring?^000000"; - close; - } - } else if(tu_thief01 == 24){ - mes "^3355FFInside the dismantled"; - mes "trap, you find another"; - mes "piece of strange cloth"; - mes "that's stained with blood."; - mes "You take it with you in"; - mes "hopes that it provides"; - mes "some kind of evidence.^000000"; - set tu_thief01, 25; - close; - } else { - mes "^3355FFYou examine the area"; - mes "a little further and guess"; - mes "that the battle might head"; - mes "towards the south.^000000"; - close; - } - } else if(BaseClass == Job_Mage){ - if(tu_magician01 < 21){ - mes "A large group of people seem to have gone by."; - close; - } else if(tu_magician01 == 21){ - mes "^3355FFThis area is clearly"; - mes "marked with signs"; - mes "of a violent battle, with"; - mes "traces of poison strewn"; - mes "all over the ground.^000000"; - next; - switch(select("Continue following the traces.:Further investigate the area.")){ - case 1: - mes "^3355FFYou examine the"; - mes "trail, but can't really"; - mes "discern the direction"; - mes "in which the battle"; - mes "continues...^000000"; - close; case 2: - mes "^3355FFYou find a bunch of"; - mes "traps that use different"; - mes "kinds of poison. The ones"; - mes "that have been set off are"; - mes "mixed with the ones which"; - mes "haven't been triggered.^000000"; - set tu_magician01, 22; - close; - } - } else if(tu_magician01 == 22){ - set .@trap_tm, rand(1,3); - if(.@trap_tm == 3){ - mes "^3355FFOne trap in particular"; - mes "stands out to you more"; - mes "than the rest. Perhaps"; - mes "you should pour some"; - mes "Green Potion on it to"; - mes "neutralize it first.^000000"; - next; - switch(select("Pour Green Potion.:Don't use Green Potion.")){ - case 1: - if(countitem(506) < 1){ - mes "^3355FFUnfortunately, you"; - mes "don't have a Green"; - mes "Potion that you can"; - mes "use to pour on this trap...^000000"; - close; - } else { - mes "^3355FFPouring that"; - mes "Green Potion didn't"; - mes "really make anything"; - mes "happen. Perhaps you"; - mes "should try something else.^000000"; - delitem 506,1; //Green_Potion - set tu_magician01, 23; - close; - } - case 2: - mes "["+strcharinfo(0)+"]"; - mes "I guess..."; - mes "I'll try investigating"; - mes "this area a little more?"; - close; - } - } else { - mes "^3355FFBy sheer accident,"; - mes "you set off one of"; - mes "the traps in the area.^000000"; - sc_start SC_Poison,60000,0; - specialeffect EF_VENOMDUST2; - percentheal -30,0; - close; - } - } else if(tu_magician01 == 23){ - if(countitem(511) > 0 || countitem(716) > 0){ - if(countitem(511) > 0 && countitem(716) > 0){ - mes "^3355FFYou try grinding"; - mes "a Green Herb and"; - mes "sprinkling it on the"; - mes "trap and then place"; - mes "a Red Gemstone on it."; - mes "The gem glows and"; - mes "slowly melts away...^000000"; - next; - mes "^3355FFAlthough you don't"; - mes "fully understand the"; - mes "science of using poisons"; - mes "or antidotes, you managed"; - mes "to successfully dismantle"; - mes "the trap. Now you can safely"; - mes "check what might be inside.^000000"; - delitem 511,1; //Green_Herb - delitem 716,1; //Red_Gemstone - set tu_magician01, 24; - close; - } else if(countitem(511) > 0){ - mes "^3355FFYou should try to"; - mes "dismantle this trap"; - mes "by using other catalysts"; - mes "related to the curing or"; - mes "use of poison. You do have"; - mes "a Green Herb on you, so you"; - mes "try sprinkling it on the trap.^000000"; - next; - mes "^3355FFHowever, nothing"; - mes "happens. It seems that"; - mes "you need another catalyst"; - mes "in addition to the Green Herb"; - mes "that you have in order to"; - mes "dismantle this trap.^000000"; - close; - } else { - mes "^3355FFYou should try to"; - mes "dismantle this trap"; - mes "by using other catalysts"; - mes "related to the curing or use"; - mes "of poison. You do have a"; - mes "Red Gemstone, so you grind"; - mes "it and sprinkle it on the trap.^000000"; - next; - mes "^3355FFHowever, nothing"; - mes "happens. It seems that"; - mes "you need another catalyst to"; - mes "use with the Red Gemstone"; - mes "that you have in order to"; - mes "dismantle this trap.^000000"; - close; - } - } else { - mes "^3355FFYou should try to"; - mes "dismantle this trap"; - mes "by using other catalysts"; - mes "related to the curing or"; - mes "use of poison. But what"; - mes "items should you bring?^000000"; + mes "["+strcharinfo(0)+"]"; + mes "I guess..."; + mes "I'll try investigating"; + mes "this area a little more?"; close; } - } else if(tu_magician01 == 24){ - mes "^3355FFInside the dismantled"; - mes "trap, you find another"; - mes "piece of strange cloth"; - mes "that's stained with blood."; - mes "You take it with you in"; - mes "hopes that it provides"; - mes "some kind of evidence.^000000"; - set tu_magician01, 25; - close; } else { - mes "^3355FFYou examine the area"; - mes "a little further and guess"; - mes "that the battle might head"; - mes "towards the south.^000000"; - close; - } - + mes "^3355FFBy sheer accident,"; + mes "you set off one of"; + mes "the traps in the area.^000000"; + sc_start SC_Poison,60000,0; + specialeffect EF_VENOMDUST2; + percentheal -30,0; + } + } else if (tu_thief01 == 23 && .@class_thief || tu_magician01 == 23 && .@class_mage) { + if (countitem(511) > 0 && countitem(716) > 0) { + mes "^3355FFYou try grinding"; + mes "a Green Herb and"; + mes "sprinkling it on the"; + mes "trap and then place"; + mes "a Red Gemstone on it."; + mes "The gem glows and"; + mes "slowly melts away...^000000"; + next; + mes "^3355FFAlthough you don't"; + mes "fully understand the"; + mes "science of using poisons"; + mes "or antidotes, you managed"; + mes "to successfully dismantle"; + mes "the trap. Now you can safely"; + mes "check what might be inside.^000000"; + delitem 511,1; //Green_Herb + delitem 716,1; //Red_Gemstone + if (tu_thief01 == 23) + tu_thief01 = 24; + else + tu_magician01 = 24; + } else if (countitem(511) > 0) { + mes "^3355FFYou should try to"; + mes "dismantle this trap"; + mes "by using other catalysts"; + mes "related to the curing or"; + mes "use of poison. You do have"; + mes "a Green Herb on you, so you"; + mes "try sprinkling it on the trap.^000000"; + next; + mes "^3355FFHowever, nothing"; + mes "happens. It seems that"; + mes "you need another catalyst"; + mes "in addition to the Green Herb"; + mes "that you have in order to"; + mes "dismantle this trap.^000000"; + } else if (countitem(716) > 0) { + mes "^3355FFYou should try to"; + mes "dismantle this trap"; + mes "by using other catalysts"; + mes "related to the curing or use"; + mes "of poison. You do have a"; + mes "Red Gemstone, so you grind"; + mes "it and sprinkle it on the trap.^000000"; + next; + mes "^3355FFHowever, nothing"; + mes "happens. It seems that"; + mes "you need another catalyst to"; + mes "use with the Red Gemstone"; + mes "that you have in order to"; + mes "dismantle this trap.^000000"; + } else { + mes "^3355FFYou should try to"; + mes "dismantle this trap"; + mes "by using other catalysts"; + mes "related to the curing or"; + mes "use of poison. But what"; + mes "items should you bring?^000000"; + } + } else if (tu_thief01 == 24 && .@class_thief || tu_magician01 == 24 && .@class_mage) { + mes "^3355FFInside the dismantled"; + mes "trap, you find another"; + mes "piece of strange cloth"; + mes "that's stained with blood."; + mes "You take it with you in"; + mes "hopes that it provides"; + mes "some kind of evidence.^000000"; + if (tu_thief01 == 24) + tu_thief01 = 25; + else + tu_magician01 = 25; + } else { + mes "^3355FFYou examine the area"; + mes "a little further and guess"; + mes "that the battle might head"; + mes "towards the south.^000000"; } - mes "^3355FFThese look like"; - mes "traces of some kind"; - mes "of pursuit or battle, but"; - mes "you can't really tell for sure.^000000"; close; } // Battle Traces 16 //============================================================ -moc_fild18,156,96,0 script Trace of Battle#16 844,{ - if(BaseClass == Job_Thief){ - if(tu_thief01 < 25){ - mes "^3355FFThere are signs"; - mes "that a large group"; - mes "of people have been in"; - mes "this area for some reason.^000000"; - close; - } else if(tu_thief01 == 25){ - mes "^3355FFThese traces lead"; - mes "to the edge of the cliff."; - mes "marking the end of the trail."; - mes "Apparently, the one who was"; - mes "being chased met his fate here.^000000"; - next; - mes "^3355FFThere are many footprints"; - mes "leading to the edge of the"; - mes "cliff and all of them leave"; - mes "this scene, save for the set"; - mes "of footprints that distinctly"; - mes "belong to the person who"; - mes "was pursued all this time...^3355FF"; - next; - mes "^3355FFIt looks like you've"; - mes "learned all that you can"; - mes "from this investigation. You"; - mes "better return and report your"; - mes "findings to Yierhan soon.^000000"; - set tu_thief01, 26; - close; - } else { - mes "^3355FFThis is the end"; - mes "of the trail. There"; - mes "aren't any more traces"; - mes "of the battle left to find.^000000"; - close; - } - } else if(BaseClass == Job_Mage){ - if(tu_magician01 < 25){ - mes "^3355FFThere are signs"; - mes "that a large group"; - mes "of people have been in"; - mes "this area for some reason.^000000"; - close; - } else if(tu_magician01 == 25){ - mes "^3355FFThese traces lead"; - mes "to the edge of the cliff."; - mes "marking the end of the trail."; - mes "Apparently, the one who was"; - mes "being chased met his fate here.^000000"; - next; - mes "^3355FFThere are many footprints"; - mes "leading to the edge of the"; - mes "cliff and all of them leave"; - mes "this scene, save for the set"; - mes "of footprints that distinctly"; - mes "belong to the person who"; - mes "was pursued all this time...^3355FF"; - next; - mes "^3355FFIt looks like you've"; - mes "learned all that you can"; - mes "from this investigation. You"; - mes "better return and report your"; - mes "findings to Yierhan soon.^000000"; - set tu_magician01, 26; - close; - } else { - mes "^3355FFThis is the end"; - mes "of the trail. There"; - mes "aren't any more traces"; - mes "of the battle left to find.^000000"; - close; - } +moc_fild18,156,96,0 script Trace of Battle#16 CLEAR_NPC,{ + .@class_thief = ( BaseClass == Job_Thief ); + .@class_mage = ( BaseClass == Job_Mage ); + if (.@class_thief == 0 && .@class_mage == 0 || eaclass()&EAJL_BABY) { + mes "^3355FFThese look like"; + mes "traces of some kind"; + mes "of pursuit or battle, but"; + mes "you can't really tell for sure.^000000"; + } else if (tu_thief01 < 25 && .@class_thief || tu_magician01 < 25 && .@class_mage) { + mes "^3355FFThere are signs"; + mes "that a large group"; + mes "of people have been in"; + mes "this area for some reason.^000000"; + } else if (tu_thief01 == 25 && .@class_thief || tu_magician01 == 25 && .@class_mage) { + mes "^3355FFThese traces lead"; + mes "to the edge of the cliff."; + mes "marking the end of the trail."; + mes "Apparently, the one who was"; + mes "being chased met his fate here.^000000"; + next; + mes "^3355FFThere are many footprints"; + mes "leading to the edge of the"; + mes "cliff and all of them leave"; + mes "this scene, save for the set"; + mes "of footprints that distinctly"; + mes "belong to the person who"; + mes "was pursued all this time...^3355FF"; + next; + mes "^3355FFIt looks like you've"; + mes "learned all that you can"; + mes "from this investigation. You"; + mes "better return and report your"; + mes "findings to Yierhan soon.^000000"; + if (tu_magician01 == 25) + tu_magician01 = 26; + else + tu_thief01 = 26; + } else { + mes "^3355FFThis is the end"; + mes "of the trail. There"; + mes "aren't any more traces"; + mes "of the battle left to find.^000000"; } - mes "^3355FFThese look like"; - mes "traces of some kind"; - mes "of pursuit or battle, but"; - mes "you can't really tell for sure.^000000"; close; -} +} \ No newline at end of file diff --git a/quests/first_class/tu_magician01.txt b/quests/first_class/tu_magician01.txt index 808da49..de79c6b 100644 --- a/quests/first_class/tu_magician01.txt +++ b/quests/first_class/tu_magician01.txt @@ -1,35 +1,35 @@ -//===== rAthena Script ======================================= +//===== rAthena Script ======================================= //= Magician Class Tutorial and Job Specific Quest -//===== By: ================================================== +//===== By: ================================================== //= Fix up by Jukka -//===== Current Version: ===================================== -//= 1.4 -//===== Compatible With: ===================================== +//===== Current Version: ===================================== +//= 2.0 +//===== Compatible With: ===================================== //= rAthena SVN -//===== Description: ========================================= +//===== Description: ========================================= //= [Official Conversion] //= Magician training quest. -//===== Additional Comments: ================================= -//= 1.0 Fully working -//= 1.1 Optimized [Lupus] +//===== Additional Comments: ================================= +//= 1.0 Fully working. +//= 1.1 Optimized. [Lupus] //= 1.2 Fixed experience gains to match upcoming rate adjustments. [SinSloth] //= 1.3 Misc. updates. [L0ne_W0lf] //= 1.4 Updated to match the official script. [Euphy] -//============================================================ +//= 2.0 Replaced occurrence of PcName and clean-up. [Capuche] +//============================================================ // Sign //============================================================ -geffen,61,174,4 script Sign#M 111,{ +geffen,61,174,4 script Sign#M HIDDEN_NPC,{ mes "- Mage Job Change -"; close; } // New Mage Manager //============================================================ -geffen,67,180,4 script New Mage Manager#M 102,{ +geffen,67,180,4 script New Mage Manager#M 8_F,{ mes "[Mana]"; - if(Class == Job_Novice){ - mes "[Mana]"; + if(Class == Job_Novice) { mes "You're not ready for"; mes "any of the training I have"; mes "to offer. You'll have to train"; @@ -37,7 +37,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "a Mage first. Alright, dear?"; close; } - if(BaseClass != Job_Mage){ + if(BaseClass != Job_Mage || eaclass()&EAJL_BABY) { mes "You know, sometimes"; mes "other jobs might look a"; mes "little better in some battle"; @@ -46,8 +46,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "anyone can do what you do~"; close; } - if(eaclass()&(EAJL_UPPER|EAJL_2|EAJL_THIRD) && tu_magician01 < 7){ - mes "[Mana]"; + if(Class != Job_Mage && tu_magician01 < 7) { mes "Although I offer magic"; mes "training, it's not very helpful"; mes "if you're already experienced"; @@ -56,7 +55,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "own self to hone your skills."; close; } - switch(tu_magician01){ + switch(tu_magician01) { case 0: mes "Ah, welcome~"; mes "My name is Mana,"; @@ -133,8 +132,8 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "sitting! I'm bushed, so it's"; mes "time for a break. But we'll"; mes "continue this later, okay?"; - set tu_magician01, 1; - if (checkre(3)) + tu_magician01 = 1; + if(checkre(3)) getexp BaseLevel*3,BaseLevel*2; else getexp BaseLevel*30,BaseLevel*15; @@ -165,9 +164,9 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "In other words, even the same properties"; mes "have different features that must be considered."; mes "I will explain the properties now."; - next; - while((1)){ - switch(select("^ff0000Fire^000000", "^5C4033Earth^000000", "^93DB70Wind^000000", "^0000FFWater^000000", "^CFB53BGhost^000000", "Quit.")){ + while((1)) { + next; + switch(select("^ff0000Fire^000000", "^5C4033Earth^000000", "^93DB70Wind^000000", "^0000FFWater^000000", "^CFB53BGhost^000000", "Quit.")) { case 1: mes "[Mana]"; mes "Monsters with the ^ff0000Fire^000000"; @@ -211,8 +210,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "only slightly injured and the"; mes "Fire Wall won't necessarily"; mes "block its approach. So beware!"; - set .@eread_1,1; - next; + .@eread_1 = 1; break; case 2: mes "[Mana]"; @@ -246,8 +244,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "afterwards, like Fire Bolt and"; mes "Fire Ball, to take advantage of"; mes "the monster's Earth property."; - set .@eread_2,1; - next; + .@eread_2 = 1; break; case 3: mes "[Mana]"; @@ -284,8 +281,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "the ^93DB70Wind^000000 property skills"; mes "that we Mages can use are"; mes "Lighning Bolt and Thunder Storm."; - set .@eread_3,1; - next; + .@eread_3 = 1; break; case 4: mes "[Mana]"; @@ -321,8 +317,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "actually freeze monsters."; mes "While monsters are frozen by"; mes "Frost Diver, they're considered Water monsters. Interesting, huh?"; - set .@eread_4,1; - next; + .@eread_4 = 1; break; case 5: mes "[Mana]"; @@ -354,8 +349,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "shield against long range"; mes "attacks or strong property"; mes "attacks, so be really careful!"; - set .@eread_5,1; - next; + .@eread_5 = 1; break; case 6: mes "[Mana]"; @@ -371,18 +365,15 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "Alrighty, we'll"; mes "move on to the next"; mes "subject then. Ho ho ho~!"; - set tu_magician01,2; + tu_magician01 = 2; specialeffect2 EF_HIT5; - if(.@eread_1) getexp 150,70; - if(.@eread_2) getexp 150,70; - if(.@eread_3) getexp 150,70; - if(.@eread_4) getexp 150,70; - if(.@eread_5) getexp 150,70; + .@total = .@eread_1 + .@eread_2 + .@eread_3 + .@eread_4 + .@eread_5; + if (.@total) getexp (.@total*150),(.@total*70); + close; } - close; + break; } } - break; case 2: mes "I know that the concept"; mes "of properties might be"; @@ -458,75 +449,66 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "until you've collected"; mes "10 Chrysalis from them."; mes "Then bring them to me, okay?"; - set tu_magician01, 3; + tu_magician01 = 3; getexp 400,200; specialeffect2 EF_HIT5; close; case 3: - mes "Ah, you're back?"; - mes "Let's see if you gathered"; - mes "all 10 Chrysalis from hunting"; - mes "all of those Pupa. Hmmmm..."; - next; - if (countitem(915) < 10) { - mes "[Mana]"; - mes "Aw, you don't"; - mes "have enough of"; - mes "them yet. Head west"; - mes "from here and hunt Pupa"; - mes "to get more Chrysalis, okay?"; - mes "For now, I'll just heal you up."; - set tu_magician01, 4; - percentheal 100,100; - close; - } else { - mes "[Mana]"; - mes "...Nine, ten."; - mes "Alright, you pass!"; - mes "By now, you must be more"; - mes "used to using your skills, huh?"; - mes "Anyway, let me know when you're ready for the next lesson, okay?"; - set tu_magician01, 5; - getexp 400,200; - specialeffect2 EF_HIT5; - close; - } case 4: - mes "So..."; - mes "Did you get"; - mes "10 Chrysalis"; - mes "from hunting Pupa"; - mes "like I asked? I hope so..."; - mes "Because I'm going to check~"; + if (tu_magician01 == 3) { + mes "Ah, you're back?"; + mes "Let's see if you gathered"; + mes "all 10 Chrysalis from hunting"; + mes "all of those Pupa. Hmmmm..."; + } + else { + mes "So..."; + mes "Did you get"; + mes "10 Chrysalis"; + mes "from hunting Pupa"; + mes "like I asked? I hope so..."; + mes "Because I'm going to check~"; + } next; - if(countitem(915) < 10){ - mes "[Mana]"; - mes "Whoa, you need"; - mes "more than just this."; - mes "I know you can do it..."; - mes "Pupas are completely"; - mes "defenseless monsters!"; - close; - } else { - mes "[Mana]"; + mes "[Mana]"; + if (countitem(915) < 10) { //Chrysalis + if (tu_magician01 == 3) { + mes "Aw, you don't"; + mes "have enough of"; + mes "them yet. Head west"; + mes "from here and hunt Pupa"; + mes "to get more Chrysalis, okay?"; + mes "For now, I'll just heal you up."; + tu_magician01 = 4; + percentheal 100,100; + } + else { + mes "Whoa, you need"; + mes "more than just this."; + mes "I know you can do it..."; + mes "Pupas are completely"; + mes "defenseless monsters!"; + } + } + else { mes "...Nine, ten."; mes "Alright, you pass!"; mes "By now, you must be more"; mes "used to using your skills, huh?"; mes "Anyway, let me know when you're ready for the next lesson, okay?"; - set tu_magician01, 5; + tu_magician01 = 5; getexp 400,200; specialeffect2 EF_HIT5; - close; } + close; case 5: mes "Now I'll tell you"; mes "what I know about the"; mes "more advanced Mage"; mes "skills. Which one would"; mes "you like me to explain?"; - next; - while(1){ + while(1) { + next; switch(select("Soul Strike:Safety Wall:Fire Ball:Frost Diver:Thunderstorm:Fire Wall:Energy Coat:Quit.")) { case 1: mes "[Mana]"; @@ -544,8 +526,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "of Soul Strike and increase"; mes "that skill's level, it will grow in strength and you'll be able"; mes "to cast it much more quickly."; - set .@skill_e1,1; - next; + .@skill_e1 = 1; break; case 2: mes "[Mana]"; @@ -564,8 +545,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "certain number of attacks,"; mes "depending on the level of the"; mes "Safety Wall skill that you use."; - set .@skill_e2,1; - next; + .@skill_e2 = 1; break; case 3: mes "[Mana]"; @@ -583,8 +563,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "the range of the skill. Make"; mes "good use of the destructive"; mes "power of the Fire Ball!"; - next; - set .@skill_e3,1; + .@skill_e3 = 1; break; case 4: mes "[Mana]"; @@ -610,8 +589,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "skill, its damage and chance"; mes "of freezing monsters will also"; mes "increase. Pretty dangerous, eh? ^FFFFFFkamenriderblack^000000"; - set .@skill_e4,1; - next; + .@skill_e4 = 1; break; case 5: mes "[Mana]"; @@ -629,8 +607,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "within a certain range."; mes "It's an incredibly potent"; mes "ground targeting attack."; - set .@skill_e5,1; - next; + .@skill_e5 = 1; break; case 6: mes "[Mana]"; @@ -655,8 +632,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "Fire Well strategically"; mes "and effectively, it can"; mes "be a very powerful skill~"; - set .@skill_e6,1; - next; + .@skill_e6 = 1; break; case 7: mes "[Mana]"; @@ -674,8 +650,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "learn Energy Coat, I'm"; mes "sure Blizardis will tell"; mes "you all you need to know."; - set .@skill_e7,1; - next; + .@skill_e7 = 1; break; case 8: mes "[Mana]"; @@ -692,19 +667,12 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "you to help you in your"; mes "training. I hope it comes"; mes "in handy when fighting..."; - set tu_magician01, 6; + tu_magician01 = 6; getitem 1604,1; //Wand specialeffect2 EF_HIT5; - if(.@skill_e1) getexp 300,100; - if(.@skill_e2) getexp 300,100; - if(.@skill_e3) getexp 300,100; - if(.@skill_e4) getexp 300,100; - if(.@skill_e5) getexp 300,100; - if(.@skill_e6) getexp 300,100; - if(.@skill_e7) getexp 300,100; + .@total = .@skill_e1 + .@skill_e2 + .@skill_e3 + .@skill_e4 + .@skill_e5; + if (.@total) getexp (.@total*300),(.@total*100); close; - default: - break; } } close; @@ -739,7 +707,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "done with what Yierhan"; mes "has you do, come back"; mes "and report to me, okay?"; - set tu_magician01, 7; + tu_magician01 = 7; emotion e_heh; warp "morocc",182,286; close; @@ -764,7 +732,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "a message, saying that"; mes "you've done a great job in"; mes "completing your mission."; - mes "Very nice work, "+PcName+"~"; + mes "Very nice work, "+strcharinfo(0)+"~"; next; mes "[Mana]"; mes "It seems like there are"; @@ -786,13 +754,13 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "a little reward for helping"; mes "out both of our guilds. Once"; mes "again, thanks very much~"; - set tu_magician01, 28; + tu_magician01 = 28; getitem 2321,1; //Silk_Robe - set Zeny, Zeny + 3000; + Zeny = Zeny + 3000; getexp 3000,1000; close; default: - if(tu_magician01 < 27){ + if(tu_magician01 < 27) { mes "So..."; mes "It looks like something is"; mes "going on in the Rune-Midgarts"; @@ -804,7 +772,6 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "keep up the good"; mes "work. And, um, is"; mes "Yierhan doing well?"; - close; } else { mes "You seem to be well"; mes "experienced now and there"; @@ -812,7 +779,7 @@ geffen,67,180,4 script New Mage Manager#M 102,{ mes "really teach you. Now it's up"; mes "to you to find ways to master"; mes "the ways of magic on your own."; - close; } + close; } } diff --git a/quests/first_class/tu_merchant.txt b/quests/first_class/tu_merchant.txt index 4781f24..74a491c 100644 --- a/quests/first_class/tu_merchant.txt +++ b/quests/first_class/tu_merchant.txt @@ -1,27 +1,29 @@ -//===== rAthena Script ======================================= +//===== rAthena Script ======================================= //= Merchant Class Tutorial and Job Specific Quest -//===== By: ================================================== +//===== By: ================================================== //= Fix up by Jukka -//===== Current Version: ===================================== -//= 1.3 -//===== Compatible With: ===================================== +//===== Current Version: ===================================== +//= 3.0 +//===== Compatible With: ===================================== //= rAthena SVN -//===== Description: ========================================= +//===== Description: ========================================= //= [Official Conversion] //= Merchant training quest. -//===== Additional Comments: ================================= -//= 1.0 Fully working -//= 1.1 Fixed bugs, optimized [Lupus] -//= 1.2 fixed Weight check +//===== Additional Comments: ================================= +//= 1.0 Fully working. +//= 1.1 Fixed bugs, optimized. [Lupus] +//= 1.2 Fixed Weight check. //= 1.2 Fixed experience gains to match upcoming rate adjustments. [SinSloth] //= 1.3 Misc. updates. [L0ne_W0lf] -//============================================================ +//= 2.0 Clean-up. [Capuche] +//= 3.0 Removed quest commands. [exneval] +//============================================================ // Guarnien //============================================================ -alberta_in,70,51,5 script Guarnien 98,{ +alberta_in,70,51,5 script Guarnien 4W_M_02,{ mes "[Guarnien]"; - if(Class != Job_Merchant && Class != Job_Baby_Merchant){ + if(Class != Job_Merchant) { mes "Hello stranger."; mes "I wish I could"; mes "offer you help"; @@ -29,14 +31,14 @@ alberta_in,70,51,5 script Guarnien 98,{ next; mes "[Guarnien]"; mes "However, what I have to teach would only benefit Merchants. Trading and money making are my areas of expertise. If you have any Merchant friends, send them to me."; - if(Class == Job_Merchant_High){ + if(Class == Job_Merchant_High) { next; mes "[Guarnien]"; mes "Technically, yes, you're a Merchant, but I know an expert when I see one. You've been through the Merchant life before, I can tell!"; } close; } - switch(tu_merchant){ + switch(tu_merchant) { case 17: mes "We can't even begin"; mes "to fathom the number"; @@ -49,106 +51,77 @@ alberta_in,70,51,5 script Guarnien 98,{ mes "If you can be sincerely kind to everyone that you meet, you'll"; mes "have no problem."; close; + case 15: case 16: - mes "So..."; - mes "How much have"; - mes "you learned"; - mes "about Vending?"; - next; - set .@chk_vend, getskilllv("MC_VENDING"); - if((.@chk_vend > 3) && (.@chk_vend < 10)){ - mes "[Guarnien]"; - mes "Excellent!"; - mes "You've taught yourself well. Here, you've earned this little reward~"; - set tu_merchant, 17; - completequest 8240; - getexp 186,43; + .@chk_vend = getskilllv("MC_VENDING"); + if (tu_merchant == 15) { + mes "I believe it's time"; + mes "for my final lecture."; + mes "I'll discuss the definitive"; + mes "skill of the Merchant: ^871F78Vending^000000. Please listen carefully."; next; - } else if(.@chk_vend == 10){ mes "[Guarnien]"; - mes "Oh, I see that you're very serious about being a Merchant. I'm proud that you've managed to master this skill! Here, you deserve this reward!"; - set tu_merchant, 17; - completequest 8240; - getexp 199,69; + mes "The Vending skill is an active skill which allows you to open your own shop where you stand. Vending allows you to do real business with other people."; next; - } else { mes "[Guarnien]"; - mes "Hmm..."; - mes "Haven't learned Level 4 Vending yet, huh? Just keep in mind that being able to vend things is one"; - mes "of the defining characteristics of being a Merchant!"; - close; - } - mes "[Guarnien]"; - mes "Ah, now you have mastered the fundamentals of the Merchant class. Just keep practicing the basic principles, like researching the market for item prices, and you should be fine."; - next; - mes "[Guarnien]"; - mes "Although everything we do is for money, never forget customer needs and always sell your products at a suitably fair price. Otherwise, no one may buy your goods!"; - next; - mes "[Guarnien]"; - mes "Well, there's nothing more I can teach you for now. Go out into the world and make your mark as a Merchant."; - next; - mes "[Guarnien]"; - mes "And feel free to"; - mes "visit me whenever"; - mes "the mood strikes you."; - mes "Good luck to you~"; - close; - case 15: - mes "I believe it's time"; - mes "for my final lecture."; - mes "I'll discuss the definitive"; - mes "skill of the Merchant: ^871F78Vending^000000. Please listen carefully."; - next; - mes "[Guarnien]"; - mes "The Vending skill is an active skill which allows you to open your own shop where you stand. Vending allows you to do real business with other people."; - next; - mes "[Guarnien]"; - mes "However, you can only vend items that are stored in your PushCart,"; - mes "so you'll need one of those. The maximum price you can set for"; - mes "each item is 99,990,000 Zeny."; - next; - mes "[Guarnien]"; - mes "Basically, you've got to learn the Push Cart skill first before you can learn the Vending skill."; - next; - mes "[Guarnien]"; - mes "The higher the level of the Vending skill, the more items you can vend at one time. Vending is mastered at Skill Level 10."; - next; - mes "[Guarnien]"; - mes "Level 1 Vending allows you"; - mes "to vend a total of 3 items at one time. Each time you level up the Vending skill, the total number of items you can vend will"; - mes "increase by one."; - next; - set .@chk_vend, getskilllv("MC_VENDING"); - if((.@chk_vend > 3) && (.@chk_vend < 10)){ + mes "However, you can only vend items that are stored in your PushCart,"; + mes "so you'll need one of those. The maximum price you can set for"; + mes "each item is 99,990,000 Zeny."; + next; mes "[Guarnien]"; - mes "But I see that you must already know that, huh? Well, seeing as you're so clever, I think you've earned this little prize~"; - set tu_merchant, 17; - completequest 8239; - getexp 186,60; + mes "Basically, you've got to learn the Push Cart skill first before you can learn the Vending skill."; next; - } else if(.@chk_vend == 10){ mes "[Guarnien]"; - mes "But it looks like I just put my foot in my mouth. I'm sorry, I didn't notice that you already mastered the Vending skill..."; + mes "The higher the level of the Vending skill, the more items you can vend at one time. Vending is mastered at Skill Level 10."; next; mes "[Guarnien]"; - mes "You're such an"; - mes "excellent student!"; - mes "Please, take this"; - mes "little reward for"; - mes "all your efforts~"; - set tu_merchant, 17; - completequest 8239; - getexp 199,69; + mes "Level 1 Vending allows you"; + mes "to vend a total of 3 items at one time. Each time you level up the Vending skill, the total number of items you can vend will"; + mes "increase by one."; next; - } else { mes "[Guarnien]"; - mes "For your final assignment, I will ask you to learn the Vending skill up to Skill Level 4. Of course, once you do, I'll give you a little reward. I'll be waiting, so do your best~"; - set tu_merchant, 16; - erasequest 8239; - setquest 8240; - close; + if((.@chk_vend > 3) && (.@chk_vend < 10)) { + mes "But I see that you must already know that, huh? Well, seeing as you're so clever, I think you've earned this little prize~"; + getexp 186,60; + } else if(.@chk_vend == 10) { + mes "But it looks like I just put my foot in my mouth. I'm sorry, I didn't notice that you already mastered the Vending skill..."; + next; + mes "[Guarnien]"; + mes "You're such an"; + mes "excellent student!"; + mes "Please, take this"; + mes "little reward for"; + mes "all your efforts~"; + getexp 199,69; + } else { + mes "For your final assignment, I will ask you to learn the Vending skill up to Skill Level 4. Of course, once you do, I'll give you a little reward. I'll be waiting, so do your best~"; + tu_merchant = 16; + close; + } } - + else { + mes "So..."; + mes "How much have"; + mes "you learned"; + mes "about Vending?"; + next; + mes "[Guarnien]"; + if((.@chk_vend > 3) && (.@chk_vend < 10)) { + mes "Excellent!"; + mes "You've taught yourself well. Here, you've earned this little reward~"; + getexp 186,43; + } else if(.@chk_vend == 10) { + mes "Oh, I see that you're very serious about being a Merchant. I'm proud that you've managed to master this skill! Here, you deserve this reward!"; + getexp 199,69; + } else { + mes "Hmm..."; + mes "Haven't learned Level 4 Vending yet, huh? Just keep in mind that being able to vend things is one"; + mes "of the defining characteristics of being a Merchant!"; + close; + } + } + tu_merchant = 17; + next; mes "[Guarnien]"; mes "Ah, now you have mastered the fundamentals of the Merchant class. Just keep practicing the basic principles, like researching the market for item prices, and you should be fine."; next; @@ -164,200 +137,151 @@ alberta_in,70,51,5 script Guarnien 98,{ mes "the mood strikes you."; mes "Good luck to you~"; close; + case 13: case 14: - mes "So, have you"; - mes "learned Push Cart up"; - mes "to Level 4 like I asked?"; - next; - set .@chk_cart, getskilllv("MC_PUSHCART"); - if(.@chk_cart > 3 && .@chk_cart < 10){ - mes "[Guarnien]"; - mes "Well done~"; - mes "You've been a very"; - mes "cooperative student."; - mes "You deserve a little"; - mes "reward for your effort~"; - set tu_merchant, 15; - erasequest 8238; - setquest 8239; - getexp 162,52; - next; - mes "[Guarnien]"; - mes "Next time, I'll talk about the skill that sets Merchants apart from all the other classes: ^871F78Vending^000000. So don't miss it!"; - close; - } else if(.@chk_cart == 10){ - mes "[Guarnien]"; - mes "Excellent!"; - mes "You've actually went above and beyond mastered the Push Cart skill. Great work!"; - set tu_merchant, 15; - erasequest 8238; - setquest 8239; - getexp 186,60; + .@chk_cart = getskilllv("MC_PUSHCART"); + if (tu_merchant == 13) { + mes "Now to talk about"; + mes "^871F78Push Cart^000000. First off, you need to know Level 5 Increase Weight Limit before you can even learn the Push Cart skill."; next; mes "[Guarnien]"; - mes "Next time, I'll talk about the skill that sets Merchants apart from all the other classes: ^871F78Vending^000000. So don't miss it!"; - close; - } else { - mes "[Guarnien]"; - mes "Still not there, huh?"; - mes "Well, remember that you need"; - mes "Level 5 Increase Weight Limit before you can learn the Push"; - mes "Cart skill. I hope that helps."; - close; - } - case 13: - mes "Now to talk about"; - mes "^871F78Push Cart^000000. First off, you need to know Level 5 Increase Weight Limit before you can even learn the Push Cart skill."; - next; - mes "[Guarnien]"; - mes "Push Cart can be mastered at"; - mes "Skill Level 10. This skill allows you to carry a Push Cart with you. You can carry a maximum of 100 different kinds of items that weigh less than 8,000."; - next; - mes "[Guarnien]"; - mes "As you can see, this skill is an advanced form of the Increase Weight Limit skill. You can procure a PushCart from most Kafra Ladies for a certain fee."; - next; - mes "[Guarnien]"; - mes "Once you have rented a Cart, you can hold on to it so long as you don't take it off. The disadvantage to using a PushCart is that your movement speed is reduced to"; - mes "almost half! Horrible, isn't it?"; - next; - mes "[Guarnien]"; - mes "Fortunately, when you increase"; - mes "the level of the Push Cart skill, your movement speed will slowly be restored. With Push Cart Level 10, a PushCart won't slow you"; - mes "down at all!"; - next; - set .@chk_cart, getskilllv("MC_PUSHCART"); - if(.@chk_cart > 3 && .@chk_cart < 10){ - mes "[Guarnien]"; - mes "Ah, and I see that you've been focusing on learning Push Cart. Although you might still have a problem with your movement"; - mes "speed, it shouldn't be a big deal."; - mes "Well done~"; - set tu_merchant, 15; - erasequest 8237; - setquest 8238; - getexp 162,52; + mes "Push Cart can be mastered at"; + mes "Skill Level 10. This skill allows you to carry a Push Cart with you. You can carry a maximum of 100 different kinds of items that weigh less than 8,000."; next; mes "[Guarnien]"; - mes "Next time, I'll talk about the skill that sets Merchants apart from all the other classes: ^871F78Vending^000000. So don't miss it!"; - close; - } else if(.@chk_cart == 10){ - mes "[Guarnien]"; - mes "Wonderful! You've already"; - mes "mastered the Push Cart skill."; - mes "You truly deserve a little bit of a reward~"; - set tu_merchant, 15; - erasequest 8237; - setquest 8238; - getexp 186,60; + mes "As you can see, this skill is an advanced form of the Increase Weight Limit skill. You can procure a PushCart from most Kafra Ladies for a certain fee."; next; mes "[Guarnien]"; - mes "Next time, I'll talk about the skill that sets Merchants apart from all the other classes: ^871F78Vending^000000. So don't miss it!"; - close; - } else { - mes "[Guarnien]"; - mes "For now, why don't"; - mes "you learn the Push Cart"; - mes "skill up to Level 4? Once"; - mes "you do that, I can go on to"; - mes "my next lecture."; - set tu_merchant, 14; - close; - } - case 12: - mes "So..."; - mes "How is it going"; - mes "with learning that"; - mes "^871F78Over Charge^000000 skill?"; - next; - set .@chk_over, getskilllv("MC_OVERCHARGE"); - if(.@chk_over > 3 && .@chk_over < 10){ - mes "[Guarnien]"; - mes "Nice work!"; - mes "I can tell that"; - mes "you've done just"; - mes "as I asked. Please,"; - mes "take this little reward~"; - set tu_merchant, 13; - erasequest 8236; - setquest 8237; - getexp 126,27; + mes "Once you have rented a Cart, you can hold on to it so long as you don't take it off. The disadvantage to using a PushCart is that your movement speed is reduced to"; + mes "almost half! Horrible, isn't it?"; next; mes "[Guarnien]"; - mes "Next time, I'll discuss the Push Cart skill. Be ready for this lecture, as Push Cart is one of the more important skills for a Merchant."; - close; - } else if(.@chk_over == 10){ - mes "[Guarnien]"; - mes "Whoa..."; - mes "You actually"; - mes "mastered Over Charge?"; - mes "Most impressive! You deserve a small reward for your work!"; - set tu_merchant, 13; - erasequest 8236; - setquest 8237; - getexp 142,33; + mes "Fortunately, when you increase"; + mes "the level of the Push Cart skill, your movement speed will slowly be restored. With Push Cart Level 10, a PushCart won't slow you"; + mes "down at all!"; next; + .@chk_cart = getskilllv("MC_PUSHCART"); mes "[Guarnien]"; - mes "Next time, I'll discuss the Push Cart skill. Be ready for this lecture, as Push Cart is one of the more important skills for a Merchant."; - close; - } else { - mes "[Guarnien]"; - mes "Mm? You haven't"; - mes "learned Over Charge"; - mes "up to Skill Level 4 yet?"; - mes "There's no rush, but I won't be able to lecture on anything until you finish this little task."; - close; + if(.@chk_cart > 3 && .@chk_cart < 10) { + mes "Ah, and I see that you've been focusing on learning Push Cart. Although you might still have a problem with your movement"; + mes "speed, it shouldn't be a big deal."; + mes "Well done~"; + getexp 162,52; + } else if(.@chk_cart == 10) { + mes "Wonderful! You've already"; + mes "mastered the Push Cart skill."; + mes "You truly deserve a little bit of a reward~"; + getexp 186,60; + } else { + mes "For now, why don't"; + mes "you learn the Push Cart"; + mes "skill up to Level 4? Once"; + mes "you do that, I can go on to"; + mes "my next lecture."; + tu_merchant = 14; + close; + } } - case 11: - mes "Ah, ready to"; - mes "learn already,"; - mes "are you? Alright,"; - mes "let me tell you"; - mes "about ^871F78Over Charge^000000."; - next; - mes "[Guarnien]"; - mes "Like Discount, Over Charge is a Passive skill that can be mastered at Skill Level 10. Therefore, it doesn't require SP to use it."; + else { + mes "So, have you"; + mes "learned Push Cart up"; + mes "to Level 4 like I asked?"; + next; + mes "[Guarnien]"; + if(.@chk_cart > 3 && .@chk_cart < 10) { + mes "Well done~"; + mes "You've been a very"; + mes "cooperative student."; + mes "You deserve a little"; + mes "reward for your effort~"; + getexp 162,52; + } else if(.@chk_cart == 10) { + mes "Excellent!"; + mes "You've actually went above and beyond mastered the Push Cart skill. Great work!"; + getexp 186,60; + } else { + mes "Still not there, huh?"; + mes "Well, remember that you need"; + mes "Level 5 Increase Weight Limit before you can learn the Push"; + mes "Cart skill. I hope that helps."; + close; + } + } + tu_merchant = 15; next; mes "[Guarnien]"; - mes "Over Charge allows you to sell items to NPC shops for more Zeny. The higher your Over Charge Skill Level, the more Zeny you'll receive for items sold to NPCs."; - next; - set .@chk_over, getskilllv("MC_OVERCHARGE"); - if(.@chk_over > 3 && .@chk_over < 10){ - mes "[Guarnien]"; - mes "Ah, you've already learned Level 4 Over Charge. Perfect! Let me give you a little reward~"; - set tu_merchant, 13; - erasequest 8235; - setquest 8236; - getexp 126,27; + mes "Next time, I'll talk about the skill that sets Merchants apart from all the other classes: ^871F78Vending^000000. So don't miss it!"; + close; + case 11: + case 12: + .@chk_over = getskilllv("MC_OVERCHARGE"); + if (tu_merchant == 11) { + mes "Ah, ready to"; + mes "learn already,"; + mes "are you? Alright,"; + mes "let me tell you"; + mes "about ^871F78Over Charge^000000."; next; mes "[Guarnien]"; - mes "Next time, I'll discuss the"; - mes "Push Cart skill. Be ready for this lecture, as Push Cart is one of the more important skills for a Merchant."; - close; - } else if(.@chk_over == 10){ - mes "[Guarnien]"; - mes "Amazing! You've already mastered the Over Charge skill! You must have wanted this reward badly~"; - set tu_merchant, 13; - erasequest 8235; - setquest 8236; - getexp 142,33; + mes "Like Discount, Over Charge is a Passive skill that can be mastered at Skill Level 10. Therefore, it doesn't require SP to use it."; next; mes "[Guarnien]"; - mes "Next time, I'll discuss the"; - mes "Push Cart skill. Be ready for this lecture, as Push Cart is one of the more important skills for a Merchant."; - close; - } else { - mes "[Guarnien]"; - mes "Personally, I think you should learn this skill for sure! For your next assignment, learn Over Charge up to Level 4. It shouldn't be too difficult to do."; - set tu_merchant, 12; - erasequest 8235; - setquest 8236; + mes "Over Charge allows you to sell items to NPC shops for more Zeny. The higher your Over Charge Skill Level, the more Zeny you'll receive for items sold to NPCs."; next; mes "[Guarnien]"; - mes "Once you do that,"; - mes "we can talk about"; - mes "more advanced stuff."; - mes "Do your best~"; - close; + .@chk_over = getskilllv("MC_OVERCHARGE"); + if(.@chk_over > 3 && .@chk_over < 10) { + mes "Ah, you've already learned Level 4 Over Charge. Perfect! Let me give you a little reward~"; + getexp 126,27; + } else if(.@chk_over == 10) { + mes "Amazing! You've already mastered the Over Charge skill! You must have wanted this reward badly~"; + getexp 142,33; + } else { + mes "Personally, I think you should learn this skill for sure! For your next assignment, learn Over Charge up to Level 4. It shouldn't be too difficult to do."; + tu_merchant = 12; + next; + mes "[Guarnien]"; + mes "Once you do that,"; + mes "we can talk about"; + mes "more advanced stuff."; + mes "Do your best~"; + close; + } + } + else { + mes "So..."; + mes "How is it going"; + mes "with learning that"; + mes "^871F78Over Charge^000000 skill?"; + next; + mes "[Guarnien]"; + if(.@chk_over > 3 && .@chk_over < 10) { + mes "Nice work!"; + mes "I can tell that"; + mes "you've done just"; + mes "as I asked. Please,"; + mes "take this little reward~"; + getexp 126,27; + } else if(.@chk_over == 10) { + mes "Whoa..."; + mes "You actually"; + mes "mastered Over Charge?"; + mes "Most impressive! You deserve a small reward for your work!"; + getexp 142,33; + } else { + mes "Mm? You haven't"; + mes "learned Over Charge"; + mes "up to Skill Level 4 yet?"; + mes "There's no rush, but I won't be able to lecture on anything until you finish this little task."; + close; + } } + tu_merchant = 13; + next; + mes "[Guarnien]"; + mes "Next time, I'll discuss the"; + mes "Push Cart skill. Be ready for this lecture, as Push Cart is one of the more important skills for a Merchant."; + close; case 10: mes "Let me see those"; mes "Red Potions. Now,"; @@ -376,13 +300,12 @@ alberta_in,70,51,5 script Guarnien 98,{ next; mes "[Guarnien]"; mes "Now, why don't you go to Prontera and try to buy 10 Red Potions from an NPC for the cheapest price again?"; - set tu_merchant, rand(6,8); + tu_merchant = rand(6,8); close; case 9: mes "Let me see those"; mes "Red Potions. Ah, it seems you researched the market and bought the cheapest ones! Great work!"; - set tu_merchant, 11; - changequest 8234,8235; + tu_merchant = 11; getexp 112,22; next; mes "[Guarnien]"; @@ -419,99 +342,75 @@ alberta_in,70,51,5 script Guarnien 98,{ mes "Prontera's a bit far from here, isn't it? I'll just use this Kafra Warp-- Mahnsoo has a bunch for"; mes "some reason --to send you there right now. Get ready...!"; next; - set tu_merchant, rand(6,8); + tu_merchant = rand(6,8); warp "prontera",155,46; end; - case 4: - mes "So, how is it going with learning the Discount skill? Like I always say, if you can't make a bargain, you can't be a Merchant!"; - next; - mes "[Guarnien]"; - set .@chk_disc, getskilllv("MC_DISCOUNT"); - if(.@chk_disc > 3 && .@chk_disc < 10){ - mes "Ah, you've learned"; - mes "how to use the Discount skill"; - mes "well enough. Good, here's a little reward for your hard work~"; - set tu_merchant, 5; - erasequest 8232; - setquest 8233; - getexp 83,11; - next; - mes "[Guarnien]"; - mes "Alright, my next lesson will hopefully offer you a bit more of a challenge. Come back when you think you're ready, alright?"; - close; - } else if(.@chk_disc == 10){ - mes "Incredible!"; - mes "You've actually mastered the Discount skill! You're such a great student. You deserve a bit of a reward!"; - set tu_merchant, 5; - erasequest 8232; - setquest 8233; - getexp 97,18; - next; - mes "[Guarnien]"; - mes "Alright, my next lesson will hopefully offer you a bit more of a challenge. Come back when you think you're ready, alright?"; - close; - } else { - mes "Not yet, huh?"; - mes "Well, you should be able to reach that goal soon. After all, it's one of the basics of being a Merchant!"; - close; - } case 3: - mes "Ah, you're back!"; - mes "Now, I was going"; - mes "to tell you about"; - mes "the Discount skill, right?"; - next; - mes "[Guarnien]"; - mes "The ^871F78Discount^000000 skill allows you to buy items at lower prices from NPC shops. It is a ^871F78Passive Skill^000000 which is always in effect and does not consume SP."; - next; - mes "[Guarnien]"; - mes "The Discount skill is"; - mes "mastered at ^871F78Level 10^000000. The higher the skill level, the less you have to pay for items at NPC shops."; - next; - mes "[Guarnien]"; - set .@chk_disc, getskilllv("MC_DISCOUNT"); - if(.@chk_disc > 3 && .@chk_disc < 10){ - mes "Oooh, good work."; - mes "I see that you've"; - mes "raised your Discount"; - mes "to Level 4 already."; - mes "Here, take this"; - mes "small reward~"; - set tu_merchant, 5; - erasequest 8231; - setquest 8232; - getexp 83,11; - next; - mes "[Guarnien]"; - mes "Alright, my next lesson will hopefully offer you a bit more of a challenge. Come back when you"; - mes "think you're ready, alright?"; - close; - } else if(.@chk_disc == 10){ - mes "Incredible!"; - mes "You've actually mastered the Discount skill! You're such a great student. You deserve a bit of a reward!"; - set tu_merchant, 5; - erasequest 8231; - setquest 8232; - getexp 97,18; + case 4: + .@chk_disc = getskilllv("MC_DISCOUNT"); + if (tu_merchant == 3) { + mes "Ah, you're back!"; + mes "Now, I was going"; + mes "to tell you about"; + mes "the Discount skill, right?"; next; mes "[Guarnien]"; - mes "Alright, my next lesson will hopefully offer you a bit more of a challenge. Come back when you"; - mes "think you're ready, alright?"; - close; - } else { - mes "Alright! Now, in order to become closer towards becoming a true Merchant, I want you to learn the Discount skill up to Level 4."; + mes "The ^871F78Discount^000000 skill allows you to buy items at lower prices from NPC shops. It is a ^871F78Passive Skill^000000 which is always in effect and does not consume SP."; next; mes "[Guarnien]"; - mes "It'd be nicer if you could"; - mes "master it, but you might be more interested in devoting your time to other skills."; + mes "The Discount skill is"; + mes "mastered at ^871F78Level 10^000000. The higher the skill level, the less you have to pay for items at NPC shops."; next; mes "[Guarnien]"; - mes "Still, you can't ignore the fact that bargaining is an essential skill for a Merchant! Come back to me when you're ready~"; - set tu_merchant, 4; - erasequest 8231; - setquest 8232; - close; + if(.@chk_disc > 3 && .@chk_disc < 10) { + mes "Oooh, good work."; + mes "I see that you've"; + mes "raised your Discount"; + mes "to Level 4 already."; + mes "Here, take this"; + mes "small reward~"; + getexp 83,11; + } else if(.@chk_disc == 10) { + mes "Incredible!"; + mes "You've actually mastered the Discount skill! You're such a great student. You deserve a bit of a reward!"; + getexp 97,18; + } else { + mes "Alright! Now, in order to become closer towards becoming a true Merchant, I want you to learn the Discount skill up to Level 4."; + next; + mes "[Guarnien]"; + mes "It'd be nicer if you could"; + mes "master it, but you might be more interested in devoting your time to other skills."; + next; + mes "[Guarnien]"; + mes "Still, you can't ignore the fact that bargaining is an essential skill for a Merchant! Come back to me when you're ready~"; + tu_merchant = 4; + close; + } } + else { + mes "So, how is it going with learning the Discount skill? Like I always say, if you can't make a bargain, you can't be a Merchant!"; + next; + mes "[Guarnien]"; + if(.@chk_disc > 3 && .@chk_disc < 10) { + mes "Ah, you've learned"; + mes "how to use the Discount skill"; + mes "well enough. Good, here's a little reward for your hard work~"; + getexp 83,11; + } else if(.@chk_disc == 10) { + mes "Incredible!"; + mes "You've actually mastered the Discount skill! You're such a great student. You deserve a bit of a reward!"; + getexp 97,18; + } else { + mes "Not yet, huh?"; + mes "Well, you should be able to reach that goal soon. After all, it's one of the basics of being a Merchant!"; + close; + } + } + tu_merchant = 5; + next; + mes "[Guarnien]"; + mes "Alright, my next lesson will hopefully offer you a bit more of a challenge. Come back when you think you're ready, alright?"; + close; case 2: mes "Ah, you've come back to learn more. Let's see, what was I going to tell you about... Right, Mammonite!"; next; @@ -525,15 +424,13 @@ alberta_in,70,51,5 script Guarnien 98,{ mes "So if you use this skill too often, you might end up bankrupt! So be really careful. Also, as the Skill Level for Mammonite increases, so does the attack strength and Zeny consumption."; next; mes "[Guarnien]"; - set .@chk_mam, getskilllv("MC_MAMMONITE"); - if(.@chk_mam > 3 && .@chk_mam < 10){ + .@chk_mam = getskilllv("MC_MAMMONITE"); + if(.@chk_mam > 3 && .@chk_mam < 10) { mes "Ah, I see that you've already tried this skill. How much money have you wasted using Mammonite? Not too much, I hope."; next; mes "[Guarnien]"; mes "Well, since you're still green, I feel awfully sorry if you've wasted Zeny. Why don't you take this as compensation?"; - set tu_merchant, 3; - erasequest 8230; - setquest 8231; + tu_merchant = 3; getexp 70,12; next; mes "[Guarnien]"; @@ -541,9 +438,7 @@ alberta_in,70,51,5 script Guarnien 98,{ close; } else { mes "Okay. Now I think we're ready for me to discuss the ^871F78Discount^000000 skill. Come back when you'd like me to tell you more about it, okay?"; - set tu_merchant, 3; - erasequest 8230; - setquest 8231; + tu_merchant = 3; close; } case 1: @@ -554,8 +449,8 @@ alberta_in,70,51,5 script Guarnien 98,{ mes "like I asked?"; next; mes "[Guarnien]"; - set .@chk_soji, getskilllv("MC_INCCARRY"); - if(.@chk_soji > 3 && .@chk_soji < 10){ + .@chk_soji = getskilllv("MC_INCCARRY"); + if(.@chk_soji > 3 && .@chk_soji < 10) { mes "Ah. I can tell that you have. Not bad! By now you should be able to learn the ^871F78Discount^000000 skill, but I'll teach you about that later."; next; mes "[Guarnien]"; @@ -567,12 +462,10 @@ alberta_in,70,51,5 script Guarnien 98,{ mes "[Guarnien]"; mes "This skill works exactly like a ^871F78Magnifier^000000, so you won't have to spend any Zeny on them. Also, this skill is mastered at ^871F78Level 1^000000."; next; - if(getskilllv("MC_IDENTIFY")){ + if(getskilllv("MC_IDENTIFY")) { mes "[Guarnien]"; mes "I see in your eyes that you've already learned to appraise items. Haha, although having that knowledge is reward in itself, let me give you something extra!"; - set tu_merchant, 2; - erasequest 8229; - setquest 8230; + tu_merchant = 2; getexp 58,11; getitem 1351,1; //Battle_Axe next; @@ -581,7 +474,7 @@ alberta_in,70,51,5 script Guarnien 98,{ mes "I'll talk about the Mammonite skill. For now, let me take a little bit of a break from all of this arduous lecture. ^666666*Whew!*^000000"; close; } - } else { + } else { mes "No? That's fine."; mes "But I can't teach you"; mes "much more if you can't grasp these simple basics, so hurry and learn those skills, okay?"; @@ -589,24 +482,16 @@ alberta_in,70,51,5 script Guarnien 98,{ } mes "Alright, next time"; mes "I'll talk about the Mammonite skill. For now, let me take a little bit of a break from all of this arduous lecture. ^666666*Whew!*^000000"; - set tu_merchant, 2; - erasequest 8229; - setquest 8230; + tu_merchant = 2; close; } - mes "You've just started out as a Merchant, haven't you? How would you like to learn the fundamentals of business from an experienced colleague?"; next; - if(select("Sure!:I'll make it on my own!")==1){ - set tu_merchant, 1; - if(getskilllv("MC_INCCARRY") < 4){ - setquest 8229; + if (select("Sure!:I'll make it on my own!") == 1) { + if(getskilllv("MC_INCCARRY") < 4) { + tu_merchant = 1; mes "[Guarnien]"; - if(Sex == 1){ - mes "Atta boy~!"; - } else { - mes "Atta girl~!"; - } + mes callfunc("F_Sex","Atta girl~!","Atta boy~!"); mes "But first things first!"; mes "You better learn the"; mes "^871F78Increase Weight Limit^000000 skill!"; @@ -637,11 +522,9 @@ alberta_in,70,51,5 script Guarnien 98,{ mes "This skill works exactly like a ^871F78Magnifier^000000, so you won't have to spend any Zeny on them. Also, this skill is mastered at ^871F78Level 1^000000."; next; mes "[Guarnien]"; - if(getskilllv("MC_IDENTIFY")){ + if(getskilllv("MC_IDENTIFY")) { mes "I see in your eyes that you've already learned to appraise items. Haha, although having that knowledge is reward in itself, let me give you something extra!"; - set tu_merchant, 2; - erasequest 8229; - setquest 8230; + tu_merchant = 2; getexp 58,11; getitem 1351,1; //Battle_Axe next; @@ -659,9 +542,7 @@ alberta_in,70,51,5 script Guarnien 98,{ mes "more about the Discount"; mes "skill later. I always manage"; mes "to forget about that!"; - set tu_merchant,2; - erasequest 8229; - setquest 8230; + tu_merchant = 2; close; } } else { @@ -678,150 +559,14 @@ alberta_in,70,51,5 script Guarnien 98,{ // Sagle //============================================================ -prontera,66,111,3 script Sagle 82,{ +prontera,66,111,3 script Sagle 4_KID01,{ mes "[Sagle]"; - if(tu_merchant == 8){ - mes "Hello, hello~"; - mes "Why don't you buy"; - mes "some Red Potions?"; - mes "They're essential for travel, and these Red Potions are the best for newer adventurers~"; - next; - mes "[Sagle]"; - mes "I will sell you 10 Red Potions for ^871F78420 zeny^000000. You'd better get them now while they're still here!"; - next; - switch(select("Buy:Cancel")){ - case 1: - mes "[Sagle]"; - mes "Excellent!"; - mes "You certainly have an eye for bargains. Here you go, 10 Red Potions fresh from the... Potioner..."; - if(Zeny < 420){ - next; - mes "[Sagle]"; - mes "Whoa, hold on!"; - mes "You can't afford"; - mes "these potions..."; - mes "Please come back"; - mes "when you have enough"; - mes "Zeny, alright?"; - close; - } - if(MaxWeight - Weight < 71){ - next; - mes "[Sagle]"; - mes "Whoa, hold on!"; - mes "There's no way you carry all of this! Why don't you put some of your stuff in Kafra Storage before coming back?"; - close; - } else { - set Zeny, Zeny - 420; - set tu_merchant, 10; - getitem 501,10; //Red_Potion - close; - } - case 2: - mes "[Sagle]"; - mes "Alright..."; - mes "But don't"; - mes "complain if"; - mes "these potions"; - mes "are sold out!"; - close; - } - } - if(tu_merchant == 7){ - mes "Hello, hello~"; - mes "Why don't you buy"; - mes "some Red Potions?"; - mes "They're essential for travel, and these Red Potions are the best for newer adventurers~"; - next; - mes "[Sagle]"; - mes "I will sell you 10 Red Potions for ^871F78410 zeny^000000. You'd better get them now while they're still here!"; - next; - switch(select("Buy:Cancel")){ - case 1: - mes "[Sagle]"; - mes "Excellent!"; - mes "You certainly have an eye for bargains. Here you go, 10 Red Potions fresh from the... Potioner..."; - if(Zeny < 410){ - next; - mes "[Sagle]"; - mes "Whoa, hold on!"; - mes "You can't afford"; - mes "these potions..."; - mes "Please come back"; - mes "when you have enough"; - mes "Zeny, alright?"; - close; - } - if(MaxWeight - Weight < 71){ - next; - mes "[Sagle]"; - mes "Whoa, hold on!"; - mes "There's no way you carry all of this! Why don't you put some of your stuff in Kafra Storage before coming back?"; - close2; - end; - } else { - set Zeny, Zeny - 410; - set tu_merchant, 10; - getitem 501,10; //Red_Potion - close; - } - case 2: - mes "[Sagle]"; - mes "Alright..."; - mes "But don't"; - mes "complain if"; - mes "these potions"; - mes "are sold out!"; - close; - } - } - if(tu_merchant == 6){ - mes "Hello, hello~"; - mes "Why don't you buy"; - mes "some Red Potions?"; - mes "They're essential for travel, and these Red Potions are the best for newer adventurers~"; - next; - mes "[Sagle]"; - mes "I will sell you 10 Red Potions for ^871F78390 zeny^000000. You'd better get them now while they're still here!"; - next; - switch(select("Buy:Cancel")){ - case 1: - mes "[Sagle]"; - mes "Excellent!"; - mes "You certainly have an eye for bargains. Here you go, 10 Red Potions fresh from the... Potioner..."; - if(Zeny < 390){ - next; - mes "[Sagle]"; - mes "Whoa, hold on!"; - mes "You can't afford"; - mes "these potions..."; - mes "Please come back"; - mes "when you have enough"; - mes "Zeny, alright?"; - close; - } - if(MaxWeight - Weight < 71){ - next; - mes "[Sagle]"; - mes "Whoa, hold on!"; - mes "There's no way you carry all of this! Why don't you put some of your stuff in Kafra Storage before coming back?"; - close; - } else { - set Zeny, Zeny - 390; - set tu_merchant, 9; - getitem 501,10; //Red_Potion - close; - } - case 2: - mes "[Sagle]"; - mes "Alright..."; - mes "But don't"; - mes "complain if"; - mes "these potions"; - mes "are sold out!"; - close; - } - } + if (tu_merchant == 6) + callsub L_Potions, 390,9; //, + else if (tu_merchant == 7) + callsub L_Potions, 410,10; + else if (tu_merchant == 8) + callsub L_Potions, 420,10; mes "It's on the tip"; mes "of my tongue, but"; mes "I can't quite remember..."; @@ -833,129 +578,65 @@ prontera,66,111,3 script Sagle 82,{ mes "It's none of my business, but it's good to know what's going on in"; mes "the world, particularly if it'll affect the markets."; close; -} -// Kellion -//============================================================ -prontera,93,330,3 script Kellion 97,{ - mes "[Kellion]"; - if(tu_merchant == 8){ - mes "I'm selling sets of"; - mes "10 Red Potions for 340 Zeny."; - mes "Would you like some?"; - next; - switch(select("Buy:Cancel")){ - case 1: - mes "[Kellion]"; - mes "Good choice~"; - mes "Thank you for"; - mes "using my shop."; - if(Zeny < 340){ - next; - mes "[Kellion]"; - mes "Ooops!"; - mes "I'm sorry, but you don't have enough Zeny. I've got to stay in business somehow, you know?"; - close; - } - if(MaxWeight - Weight < 71){ - next; - mes "[Kellion]"; - mes "...Huh?"; - mes "You better put some of your stuff in Kafra Storage, you can't carry much else!"; - close; - } else { - set Zeny, Zeny - 340; - set tu_merchant, 10; - getitem 569,10; //Novice_Potion - close; - } - case 2: - mes "[Kellion]"; - mes "Well, I'm sorry"; - mes "to hear that. But"; - mes "I guess I'll see"; - mes "you later."; - close; - } - } - if(tu_merchant == 7){ - mes "I'm selling sets of"; - mes "10 Red Potions for 390 Zeny."; - mes "Would you like some?"; - next; - switch(select("Buy:Cancel")){ - case 1: - mes "[Kellion]"; - mes "Good choice~"; - mes "Thank you for"; - mes "using my shop."; - if(Zeny < 390){ - next; - mes "[Kellion]"; - mes "Ooops!"; - mes "I'm sorry, but you don't have enough Zeny. I've got to stay in business somehow, you know?"; - close; - } - if(MaxWeight - Weight < 71){ - next; - mes "[Kellion]"; - mes "...Huh?"; - mes "You better put some of your stuff in Kafra Storage, you can't carry much else!"; - close; - } else { - set Zeny, Zeny - 390; - set tu_merchant, 9; - getitem 501,10; //Red_Potion - close; - } - case 2: - mes "[Kellion]"; - mes "Well, I'm sorry"; - mes "to hear that. But"; - mes "I guess I'll see"; - mes "you later."; +L_Potions: + .@cost = getarg(0); + mes "Hello, hello~"; + mes "Why don't you buy"; + mes "some Red Potions?"; + mes "They're essential for travel, and these Red Potions are the best for newer adventurers~"; + next; + mes "[Sagle]"; + mes "I will sell you 10 Red Potions for ^871F78"+ .@cost +" zeny^000000. You'd better get them now while they're still here!"; + next; + switch(select("Buy:Cancel")) { + case 1: + mes "[Sagle]"; + mes "Excellent!"; + mes "You certainly have an eye for bargains. Here you go, 10 Red Potions fresh from the... Potioner..."; + if(Zeny < .@cost) { + next; + mes "[Sagle]"; + mes "Whoa, hold on!"; + mes "You can't afford"; + mes "these potions..."; + mes "Please come back"; + mes "when you have enough"; + mes "Zeny, alright?"; close; } - } - if(tu_merchant == 6){ - mes "I'm selling sets of"; - mes "10 Red Potions for 400 Zeny."; - mes "Would you like some?"; - next; - switch(select("Buy:Cancel")){ - case 1: - mes "[Kellion]"; - mes "Good choice~"; - mes "Thank you for"; - mes "using my shop."; - if(Zeny < 400){ - next; - mes "[Kellion]"; - mes "Ooops!"; - mes "I'm sorry, but you don't have enough Zeny. I've got to stay in business somehow, you know?"; - close; - } - if(MaxWeight - Weight < 71){ - next; - mes "[Kellion]"; - mes "...Huh?"; - mes "You better put some of your stuff in Kafra Storage, you can't carry much else!"; - close; - } else { - set Zeny, Zeny - 400; - set tu_merchant, 10; - getitem 501,10; //Red_Potion - close; - } - case 2: - mes "[Kellion]"; - mes "Well, I'm sorry"; - mes "to hear that. But"; - mes "I guess I'll see"; - mes "you later."; - close; + if(MaxWeight - Weight < 71) { + next; + mes "[Sagle]"; + mes "Whoa, hold on!"; + mes "There's no way you carry all of this! Why don't you put some of your stuff in Kafra Storage before coming back?"; + } else { + Zeny = Zeny - .@cost; + tu_merchant = getarg(1); + getitem 501,10; //Red_Potion } + close; + case 2: + mes "[Sagle]"; + mes "Alright..."; + mes "But don't"; + mes "complain if"; + mes "these potions"; + mes "are sold out!"; + close; } +} + +// Kellion +//============================================================ +prontera,93,330,3 script Kellion 4W_M_01,{ + mes "[Kellion]"; + if (tu_merchant == 6) + callsub L_Potions, 400,10; //, + else if (tu_merchant == 7) + callsub L_Potions, 390,9; + else if (tu_merchant == 8) + callsub L_Potions, 340,10; mes "Recently, I hear that something"; mes "has happened to the royal family."; next; @@ -967,297 +648,118 @@ prontera,93,330,3 script Kellion 97,{ mes "Now that's some morbid news!"; mes "Well, hopefully, there's no truth to it whatsoever. None at all..."; close; -} - -// Aigie -//============================================================ -prt_in,169,11,3 script Aigie 92,{ - if(tu_merchant == 8){ - mes "[Aigie]"; - mes "Welcome to my shop."; - mes "I'm just a young girl who's a victim of circumstance, forced to sell potions on the street for dirt cheap prices."; - next; - mes "[Aigie]"; - mes "Would you like"; - mes "to buy 10 Red Potions"; - mes "for 390 Zeny, kind adventurer?"; - next; - switch(select("Buy:Cancel")){ - case 1: - mes "[Aigie]"; - mes "Thank you so much."; - mes "Now I can finally"; - mes "afford food again..."; - if(Zeny < 390){ - next; - mes "[Aigie]"; - mes "Wait, wait!"; - mes "I am sorry, but you don't have enough money. Would you please get some more Zeny before coming back?"; - close; - } - if(MaxWeight - Weight < 71){ - next; - mes "[Aigie]"; - mes "Wait, wait!"; - mes "You can't possibly carry any more items. Why don't you put your things in Kafra Storage first?"; - close; - } else { - set Zeny, Zeny - 390; - set tu_merchant, 9; - getitem 501,10; //Red_Potion - close; - } - case 2: - mes "[Aigie]"; - mes "I understand."; - mes "But I hope you"; - mes "see that I'm offering"; - mes "you a really good price."; - mes "^666666*Sniff Sniff*^000000"; - close; - } - } - if(tu_merchant == 7){ - mes "[Aigie]"; - mes "Welcome to my shop."; - mes "I'm just a young girl who's a victim of circumstance, forced to sell potions on the street for dirt cheap prices."; - next; - mes "[Aigie]"; - mes "Would you like"; - mes "to buy 10 Red Potions"; - mes "for 420 Zeny, kind adventurer?"; - next; - switch(select("Buy:Cancel")){ - case 1: - mes "[Aigie]"; - mes "Thank you so much."; - mes "Now I can finally"; - mes "afford food again..."; - if(Zeny < 420){ - next; - mes "[Aigie]"; - mes "Wait, wait!"; - mes "I am sorry, but you don't have enough money. Would you please get some more Zeny before coming back?"; - close; - } - if(MaxWeight - Weight < 71){ - next; - mes "[Aigie]"; - mes "Wait, wait!"; - mes "You can't possibly carry any more items. Why don't you put your things in Kafra Storage first?"; - close; - } else { - set Zeny, Zeny - 420; - set tu_merchant, 10; - getitem 501,10; //Red_Potion - close; - } - case 2: - mes "[Aigie]"; - mes "I understand."; - mes "But I hope you"; - mes "see that I'm offering"; - mes "you a really good price."; - mes "^666666*Sniff Sniff*^000000"; + +L_Potions: + .@cost = getarg(0); + mes "I'm selling sets of"; + mes "10 Red Potions for "+ .@cost +" Zeny."; + mes "Would you like some?"; + next; + switch(select("Buy:Cancel")) { + case 1: + mes "[Kellion]"; + mes "Good choice~"; + mes "Thank you for"; + mes "using my shop."; + if(Zeny < .@cost) { + next; + mes "[Kellion]"; + mes "Ooops!"; + mes "I'm sorry, but you don't have enough Zeny. I've got to stay in business somehow, you know?"; close; } - } - if(tu_merchant == 6){ - mes "[Aigie]"; - mes "Welcome to my shop."; - mes "I'm just a young girl who's a victim of circumstance, forced to sell potions on the street for dirt cheap prices."; - next; - mes "[Aigie]"; - mes "Would you like"; - mes "to buy 10 Red Potions"; - mes "for 340 Zeny, kind adventurer?"; - next; - switch(select("Buy:Cancel")){ - case 1: - mes "[Aigie]"; - mes "Thank you so much."; - mes "Now I can finally"; - mes "afford food again..."; - if(Zeny < 340){ - next; - mes "[Aigie]"; - mes "Wait, wait!"; - mes "I am sorry, but you don't have enough money. Would you please get some more Zeny before coming back?"; - close; - } - if(MaxWeight - Weight < 71){ - next; - mes "[Aigie]"; - mes "Wait, wait!"; - mes "You can't possibly carry any more items. Why don't you put your things in Kafra Storage first?"; - close; - } else { - set Zeny, Zeny - 340; - set tu_merchant, 10; - getitem 569,10; //Novice_Potion - close; - } - case 2: - mes "[Aigie]"; - mes "I understand."; - mes "But I hope you"; - mes "see that I'm offering"; - mes "you a really good price."; - mes "^666666*Sniff Sniff*^000000"; - close; + if(MaxWeight - Weight < 71) { + next; + mes "[Kellion]"; + mes "...Huh?"; + mes "You better put some of your stuff in Kafra Storage, you can't carry much else!"; + } else { + Zeny = Zeny - .@cost; + tu_merchant = getarg(1); + getitem 501,10; //Red_Potion } + close; + case 2: + mes "[Kellion]"; + mes "Well, I'm sorry"; + mes "to hear that. But"; + mes "I guess I'll see"; + mes "you later."; + close; } +} + +// Aigie +//============================================================ +prt_in,169,11,3 script Aigie 4_F_03,{ mes "[Aigie]"; + if (tu_merchant == 6) + callsub L_Potions, 340,10; //, + else if (tu_merchant == 7) + callsub L_Potions, 420,10; + else if (tu_merchant == 8) + callsub L_Potions, 390,9; mes "It's true that money isn't everything. I'm sure other things are important to have in order to be happy."; next; mes "[Aigie]"; mes "However, money can be much more dependable than some people I know. You can rely on money more than anything else in this world."; close; -} - -// Jayon -//============================================================ -prontera,247,129,3 script Jayon 85,{ - if(tu_merchant == 8){ - mes "[Jayon]"; - mes "If you've checked out the market for Red Potions, you know that my price is the best. I'm offering 10 Red Potions for only 410 Zeny!"; - next; - switch(select("Buy:Cancel")){ - case 1: - mes "[Jayon]"; - mes "Heh heh...!"; - mes "It looks like"; - mes "you know your"; - mes "stuff. You're a"; - mes "Merchant yourself,"; - mes "aren't you?"; - if(Zeny < 410){ - next; - mes "[Jayon]"; - mes "But sorry buddy."; - mes "Rules are rules."; - mes "You gotta meet my price"; - mes "if you want these potions."; - close; - } - if(MaxWeight - Weight < 71){ - next; - mes "[Jayon]"; - mes "But sorry buddy. I can't let you carry more than you can handle."; - mes "You ought to free up some of your inventory space when you get the chance."; - close; - } else { - set Zeny, Zeny - 410; - set tu_merchant, 10; - getitem 501,10; //Red_Potion - close; - } - case 2: - mes "[Jayon]"; - mes "Just looking"; - mes "around, eh?"; - mes "I understand."; - mes "But you better take"; - mes "advantage of a real"; - mes "deal when you see one!"; - close; - } - } - - if(tu_merchant == 7){ - mes "[Jayon]"; - mes "If you've checked out the market for Red Potions, you know that my price is the best. I'm offering 10 Red Potions for only 400 Zeny!"; - next; - switch(select("Buy:Cancel")){ - case 1: - mes "[Jayon]"; - mes "Heh heh...!"; - mes "It looks like"; - mes "you know your"; - mes "stuff. You're a"; - mes "Merchant yourself,"; - mes "aren't you?"; - if(Zeny < 400){ - next; - mes "[Jayon]"; - mes "But sorry buddy."; - mes "Rules are rules."; - mes "You gotta meet my price"; - mes "if you want these potions."; - close; - } - if(MaxWeight - Weight < 71){ - next; - mes "[Jayon]"; - mes "But sorry buddy. I can't let you carry more than you can handle."; - mes "You ought to free up some of your inventory space when you get the chance."; - close; - } else { - set Zeny, Zeny - 400; - set tu_merchant, 10; - getitem 501,10; //Red_Potion - close; - } - case 2: - mes "[Jayon]"; - mes "Just looking"; - mes "around, eh?"; - mes "I understand."; - mes "But you better take"; - mes "advantage of a real"; - mes "deal when you see one!"; - close2; - end; - } - } - if(tu_merchant == 6){ - mes "[Jayon]"; - mes "If you've checked out the market for Red Potions, you know that my price is the best. I'm offering 10 Red Potions for only 410 Zeny!"; - next; - switch(select("Buy:Cancel")){ - case 1: - mes "[Jayon]"; - mes "Heh heh...!"; - mes "It looks like"; - mes "you know your"; - mes "stuff. You're a"; - mes "Merchant yourself,"; - mes "aren't you?"; - if(Zeny < 410){ - next; - mes "[Jayon]"; - mes "But sorry buddy."; - mes "Rules are rules."; - mes "You gotta meet my price"; - mes "if you want these potions."; - close; - } - if(MaxWeight - Weight < 71){ - next; - mes "[Jayon]"; - mes "But sorry buddy. I can't let you carry more than you can handle."; - mes "You ought to free up some of your inventory space when you get the chance."; - close; - } else { - set Zeny, Zeny - 410; - set tu_merchant, 10; - getitem 501,10; //Red_Potion - close; - } - case 2: - mes "[Jayon]"; - mes "Just looking"; - mes "around, eh?"; - mes "I understand."; - mes "But you better take"; - mes "advantage of a real"; - mes "deal when you see one!"; +L_Potions: + .@cost = getarg(0); + mes "Welcome to my shop."; + mes "I'm just a young girl who's a victim of circumstance, forced to sell potions on the street for dirt cheap prices."; + next; + mes "[Aigie]"; + mes "Would you like"; + mes "to buy 10 Red Potions"; + mes "for "+ .@cost +" Zeny, kind adventurer?"; + next; + switch(select("Buy:Cancel")) { + case 1: + mes "[Aigie]"; + mes "Thank you so much."; + mes "Now I can finally"; + mes "afford food again..."; + if(Zeny < .@cost) { + next; + mes "[Aigie]"; + mes "Wait, wait!"; + mes "I am sorry, but you don't have enough money. Would you please get some more Zeny before coming back?"; close; } + if(MaxWeight - Weight < 71) { + next; + mes "[Aigie]"; + mes "Wait, wait!"; + mes "You can't possibly carry any more items. Why don't you put your things in Kafra Storage first?"; + } else { + Zeny = Zeny - .@cost; + tu_merchant = getarg(1); + getitem 501,10; //Red_Potion + } + close; + case 2: + mes "[Aigie]"; + mes "I understand."; + mes "But I hope you"; + mes "see that I'm offering"; + mes "you a really good price."; + mes "^666666*Sniff Sniff*^000000"; + close; } +} +// Jayon +//============================================================ +prontera,247,129,3 script Jayon 4_M_03,{ mes "[Jayon]"; + if (tu_merchant == 6) + callsub L_Potions, 410,10; //, + else if (tu_merchant == 7) + callsub L_Potions, 400,10; + else if (tu_merchant == 8) + callsub L_Potions, 410,10; mes "The Schwaltzvalt Republic..."; mes "It's a really interesting country. There's Juno and a few other places worth looking around. "; next; @@ -1265,118 +767,62 @@ prontera,247,129,3 script Jayon 85,{ mes "They may not be the best places"; mes "for sight seeing, but I'm sure they'll offer something of interest to you adventurers."; close; -} -// Maos -//============================================================ -prt_in,251,129,3 script Maos 709,{ - if(tu_merchant == 8){ - mes "[Maos]"; - mes "Don't say anything."; - mes "I know what you want."; - mes "10 Red Potions, right?"; - mes "I'll sell them to you"; - mes "for the low price of 420 Zeny~"; - next; - switch(select("Buy:Cancel")){ - case 1: - mes "[Maos]"; - mes "Excellent choice!"; - mes "Good products at affordable prices! That's my ethic as a merchant."; - if(Zeny < 420){ - next; - mes "[Maos]"; - mes "Ooh, but you don't even have enough Zeny to purchase these potions. I'm sorry, but I can't sell these just to lose money, you know?"; - close; - } - if(MaxWeight - Weight < 71){ - next; - mes "[Maos]"; - mes "Ooh, but it doesn't look like you've got enough inventory space to carry any more items."; - close; - } else { - set Zeny, Zeny - 420; - set tu_merchant, 10; - getitem 501,10; //Red_Potion - close; - } - case 2: - mes "[Maos]"; - mes "Well, I can't force you to buy these, but I'm telling you that you're passing up a real bargain!"; - close; - } - } - if(tu_merchant == 7){ - mes "[Maos]"; - mes "Don't say anything."; - mes "I know what you want."; - mes "10 Red Potions, right?"; - mes "I'll sell them to you"; - mes "for the low price of 340 Zeny~"; - next; - switch(select("Buy:Cancel")){ - case 1: - mes "[Maos]"; - mes "Excellent choice!"; - mes "Good products at affordable prices! That's my ethic as a merchant."; - if(Zeny < 340){ - next; - mes "[Maos]"; - mes "Ooh, but you don't even have enough Zeny to purchase these potions. I'm sorry, but I can't sell these just to lose money, you know?"; - close; - } - if(MaxWeight - Weight < 71){ - mes "[Maos]"; - mes "Ooh, but it doesn't look like you've got enough inventory space to carry any more items."; - close; - } else { - set Zeny, Zeny - 340; - set tu_merchant, 10; - getitem 501,10; //Red_Potion - close; - } - case 2: - mes "[Maos]"; - mes "Well, I can't force you to buy these, but I'm telling you that you're passing up a real bargain!"; +L_Potions: + .@cost = getarg(0); + mes "If you've checked out the market for Red Potions, you know that my price is the best. I'm offering 10 Red Potions for only "+ .@cost +" Zeny!"; + next; + switch(select("Buy:Cancel")) { + case 1: + mes "[Jayon]"; + mes "Heh heh...!"; + mes "It looks like"; + mes "you know your"; + mes "stuff. You're a"; + mes "Merchant yourself,"; + mes "aren't you?"; + if(Zeny < .@cost) { + next; + mes "[Jayon]"; + mes "But sorry buddy."; + mes "Rules are rules."; + mes "You gotta meet my price"; + mes "if you want these potions."; close; } - } - if(tu_merchant == 6){ - mes "[Maos]"; - mes "Don't say anything."; - mes "I know what you want."; - mes "10 Red Potions, right?"; - mes "I'll sell them to you"; - mes "for the low price of 400 Zeny~"; - next; - switch(select("Buy:Cancel")){ - case 1: - mes "[Maos]"; - mes "Excellent choice!"; - mes "Good products at affordable prices! That's my ethic as a merchant."; - if(Zeny < 400){ - next; - mes "[Maos]"; - mes "Ooh, but you don't even have enough Zeny to purchase these potions. I'm sorry, but I can't sell these just to lose money, you know?"; - close; - } - if(MaxWeight - Weight < 71){ - mes "[Maos]"; - mes "Ooh, but it doesn't look like you've got enough inventory space to carry any more items."; - close; - } else { - set Zeny, Zeny - 400; - set tu_merchant, 10; - getitem 501,10; //Red_Potion - close; - } - case 2: - mes "[Maos]"; - mes "Well, I can't force you to buy these, but I'm telling you that you're passing up a real bargain!"; - close; + if(MaxWeight - Weight < 71) { + next; + mes "[Jayon]"; + mes "But sorry buddy. I can't let you carry more than you can handle."; + mes "You ought to free up some of your inventory space when you get the chance."; + } else { + Zeny = Zeny - .@cost; + tu_merchant = getarg(1); + getitem 501,10; //Red_Potion } + close; + case 2: + mes "[Jayon]"; + mes "Just looking"; + mes "around, eh?"; + mes "I understand."; + mes "But you better take"; + mes "advantage of a real"; + mes "deal when you see one!"; + close; } +} + +// Maos +//============================================================ +prt_in,251,129,3 script Maos 4_M_SEAMAN,{ mes "[Maos]"; + if (tu_merchant == 6) + callsub L_Potions, 400,10; //, + else if (tu_merchant == 7) + callsub L_Potions, 340,10; + else if (tu_merchant == 8) + callsub L_Potions, 420,10; mes "I see too many people struggling to scrape every penny and put it all into their savings..."; next; mes "[Maos]"; @@ -1389,4 +835,39 @@ prt_in,251,129,3 script Maos 709,{ mes "when your time's up,"; mes "you know?"; close; + +L_Potions: + .@cost = getarg(0); + mes "Don't say anything."; + mes "I know what you want."; + mes "10 Red Potions, right?"; + mes "I'll sell them to you"; + mes "for the low price of "+ .@cost +" Zeny~"; + next; + switch(select("Buy:Cancel")) { + case 1: + mes "[Maos]"; + mes "Excellent choice!"; + mes "Good products at affordable prices! That's my ethic as a merchant."; + if(Zeny < .@cost) { + next; + mes "[Maos]"; + mes "Ooh, but you don't even have enough Zeny to purchase these potions. I'm sorry, but I can't sell these just to lose money, you know?"; + close; + } + if(MaxWeight - Weight < 71) { + next; + mes "[Maos]"; + mes "Ooh, but it doesn't look like you've got enough inventory space to carry any more items."; + } else { + Zeny = Zeny - .@cost; + tu_merchant = getarg(1); + getitem 501,10; //Red_Potion + } + close; + case 2: + mes "[Maos]"; + mes "Well, I can't force you to buy these, but I'm telling you that you're passing up a real bargain!"; + close; + } } diff --git a/quests/first_class/tu_sword.txt b/quests/first_class/tu_sword.txt index 84d7477..8b05a60 100644 --- a/quests/first_class/tu_sword.txt +++ b/quests/first_class/tu_sword.txt @@ -3,27 +3,28 @@ //===== By: ================================================== //= Fix up by Jukka //===== Current Version: ===================================== -//= 1.6 +//= 2.0 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= [Official Conversion] //= Swordman training quest. //===== Additional Comments: ================================= -//= 1.0 Fully working -//= 1.1 optimized [Lupus] +//= 1.0 Fully working. +//= 1.1 Optimized. [Lupus] //= 1.2 Fixed a typo on NPC name. [SinSloth] //= 1.3 Fixed experience gains to match upcoming rate adjustments. [SinSloth] //= 1.4 Misc. updates. [L0ne_W0lf] //= 1.5 Added Renewal Izlude coordinates. //= 1.6 Added Pre-Renewal support. [Euphy] +//= 2.0 Removed quest commands. [exneval] //============================================================ // Shurank //============================================================ izlude_in,82,163,3 script Shurank 733,{ mes "[Shurank]"; - if(Class == Job_Novice || Class == Job_Baby){ + if(Class == Job_Novice || Class == Job_Baby) { mes "Still wondering"; mes "what to do with"; mes "your future, eh?"; @@ -43,7 +44,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "come back to me..."; close; } - if(BaseClass == Job_Swordman && eaclass()&(EAJL_2|EAJL_UPPER|EAJL_THIRD)){ + if(BaseClass == Job_Swordman && eaclass()&(EAJL_2|EAJL_UPPER|EAJL_THIRD)) { mes "From your raiment,"; mes "I see that you are"; if(Sex) @@ -57,7 +58,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "There's nothing that I can actually offer to teach you. But if you know any new Swordmen that show potential, please direct them to me."; close; } - if(BaseClass != Job_Swordman){ + if(BaseClass != Job_Swordman) { mes "Greetings adventurer."; mes "If you happen to know"; mes "any new Swordmen,"; @@ -72,7 +73,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "Foreign to me."; close; } - switch(tu_swordman){ + switch(tu_swordman) { case 23: mes "Greetings, my friend."; mes "There is nothing more"; @@ -101,7 +102,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "when surrounded by foes, but also keep in mind that it also inflicts a little damage on its caster."; next; set .@chk_magnum, getskilllv("SM_MAGNUM"); - if(.@chk_magnum > 5){ + if(.@chk_magnum > 5) { mes "[Shurank]"; mes "I see that you've been training in the use of Magnum Break. Although it is an awesome skill, it's not for every Swordman. Still, there's no harm in learning it."; next; @@ -109,8 +110,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "Here is a humble reward for"; mes "your great efforts. But do not let your talents allow you to grow arrogant!"; set tu_swordman, 23; - completequest 8228; - if (checkre(3)) + if(checkre(3)) getexp 186,0; else getexp 1860,0; @@ -168,7 +168,6 @@ izlude_in,82,163,3 script Shurank 733,{ mes "Before you go, please take this."; mes "I hope that you make good use of it as you train to become stronger and stronger. Good luck out there."; set tu_swordman, 23; - completequest 8228; getitem 1113,1; //Scimiter close; case 21: @@ -190,7 +189,7 @@ izlude_in,82,163,3 script Shurank 733,{ next; set .@chk_hanson, getskilllv("SM_SWORD"); set .@chk_yangson, getskilllv("SM_TWOHAND"); - if((.@chk_hanson > 9) || (.@chk_yangson > 9)){ + if((.@chk_hanson > 9) || (.@chk_yangson > 9)) { mes "[Shurank]"; mes "Ah, from the way you handle your Sword, I see that you have mastered a Sword Mastery. I'm thoroughly impressed."; next; @@ -200,8 +199,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "in recognition of"; mes "your accomplishment."; set tu_swordman, 22; - changequest 8227,8228; - if (checkre(3)) + if(checkre(3)) getexp 186,0; else getexp 1860,0; @@ -225,13 +223,11 @@ izlude_in,82,163,3 script Shurank 733,{ mes "skill coming along?"; next; set .@chk_endure, getskilllv("SM_ENDURE"); - if(.@chk_endure > 1){ + if(.@chk_endure > 1) { mes "[Shurank]"; mes "From that gleen of toughness upon your skin, I see now that I was foolish to ask. Well done~"; set tu_swordman, 13; - erasequest 8221; - setquest 8222; - if (checkre(3)) + if(checkre(3)) getexp 126,0; else getexp 1260,0; @@ -259,7 +255,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "the Endure skill yet?"; next; set .@chk_endure, getskilllv("SM_ENDURE"); - if((.@chk_endure > 0) && (.@chk_endure < 2)){ + if((.@chk_endure > 0) && (.@chk_endure < 2)) { mes "[Shurank]"; mes "I see that you"; mes "know how to use the"; @@ -277,8 +273,6 @@ izlude_in,82,163,3 script Shurank 733,{ next; mes "[Shurank]"; mes "Since you've learned the Endure skill already, I don't think I need to explain it any further. You've done well."; - erasequest 8221; - setquest 8222; set tu_swordman, 13; next; mes "[Shurank]"; @@ -290,13 +284,11 @@ izlude_in,82,163,3 script Shurank 733,{ mes "Hurry and meet with Dequ'ee and return to me when you complete whatever it is that he wishes for you to do."; close2; end; - } else if(.@chk_endure > 1){ + } else if(.@chk_endure > 1) { mes "[Shurank]"; mes "From that gleen of toughness upon your skin, I see now that I was foolish to ask. Well done~"; set tu_swordman, 13; - erasequest 8221; - setquest 8222; - if (checkre(3)) + if(checkre(3)) getexp 126,0; else getexp 1260,0; @@ -322,7 +314,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "the Endure skill."; next; set .@chk_endure, getskilllv("SM_ENDURE"); - if(.@chk_endure == 0){ + if(.@chk_endure == 0) { mes "[Shurank]"; mes "As you've noticed, receiving any damage causes you to reel in pain, stunning you for an instant. Thus, rapidly attacking enemies are dangerous since it's difficult to counter or escape them."; next; @@ -338,9 +330,8 @@ izlude_in,82,163,3 script Shurank 733,{ mes "if you can endure attacks"; mes "from your enemies!"; set tu_swordman, 11; - changequest 8220,8221; close; - } else if((.@chk_endure > 0) && (.@chk_endure < 2)){ + } else if((.@chk_endure > 0) && (.@chk_endure < 2)) { mes "[Shurank]"; mes "I see that you"; mes "know how to use the"; @@ -359,8 +350,6 @@ izlude_in,82,163,3 script Shurank 733,{ mes "[Shurank]"; mes "Since you've learned the Endure skill already, I don't think I need to explain it any further. You've done well."; set tu_swordman, 13; - erasequest 8221; - setquest 8222; next; mes "[Shurank]"; mes "Ah, once again, I have"; @@ -370,13 +359,11 @@ izlude_in,82,163,3 script Shurank 733,{ mes "[Shurank]"; mes "Hurry and meet with Dequ'ee and return to me when you complete whatever it is that he wishes for you to do."; close; - } else if(.@chk_endure > 1){ + } else if(.@chk_endure > 1) { mes "[Shurank]"; mes "Hm. But judging from the gleen of toughness on your skin, I suppose teaching you about Endure would be a waste of your time. Well done!"; set tu_swordman, 13; - erasequest 8221; - setquest 8222; - if (checkre(3)) + if(checkre(3)) getexp 126,0; else getexp 1260,0; @@ -396,11 +383,11 @@ izlude_in,82,163,3 script Shurank 733,{ mes "the use of the Provoke skill?"; next; set .@chk_provoke, getskilllv("SM_PROVOKE"); - if((.@chk_provoke > 4) && (.@chk_provoke < 10)){ + if((.@chk_provoke > 4) && (.@chk_provoke < 10)) { mes "[Shurank]"; mes "Ah, I see that you have a fairly good understanding of the Provoke skill. Let me reward you in this small way for your efforts."; set tu_swordman, 10; - if (checkre(3)) + if(checkre(3)) getexp 112,0; else getexp 1120,0; @@ -408,7 +395,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "[Shurank]"; mes "Next time we speak, I will tell you what I know about the ^5D478BEndure^000000 skill. When you're ready to learn, come back to me."; close; - } else if(.@chk_provoke == 10){ + } else if(.@chk_provoke == 10) { mes "[Shurank]"; mes "Y-you've mastered"; mes "Provoke? Impressive!"; @@ -417,7 +404,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "an outstanding Swordman."; mes "Here is a small reward..."; set tu_swordman, 10; - if (checkre(3)) + if(checkre(3)) getexp 126,0; else getexp 1260,0; @@ -439,7 +426,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "skill been progressing?"; next; set .@chk_provoke, getskilllv("SM_PROVOKE"); - if((.@chk_provoke > 0) && (.@chk_provoke < 5)){ + if((.@chk_provoke > 0) && (.@chk_provoke < 5)) { mes "[Shurank]"; mes "Ah, now I can see that you"; mes "know how to use it. That's a vast improvement over not being able to use it at all. Let me refesh you on Provoke's details."; @@ -465,11 +452,11 @@ izlude_in,82,163,3 script Shurank 733,{ mes "Alright, come back to me when you become sufficiently skilled in the use of Provoke. In the meantime, keep training."; set tu_swordman, 9; close; - } else if((.@chk_provoke > 4) && (.@chk_provoke < 10)){ + } else if((.@chk_provoke > 4) && (.@chk_provoke < 10)) { mes "[Shurank]"; mes "Ah, I see that you have a fairly good understanding of the Provoke skill. Let me reward you in this small way for your efforts."; set tu_swordman, 10; - if (checkre(3)) + if(checkre(3)) getexp 112,0; else getexp 1120,0; @@ -477,7 +464,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "[Shurank]"; mes "Next time we speak, I will tell you what I know about the ^5D478BEndure^000000 skill. When you're ready to learn, come back to me."; close; - } else if(.@chk_provoke == 10){ + } else if(.@chk_provoke == 10) { mes "[Shurank]"; mes "Y-you've mastered"; mes "Provoke? Impressive!"; @@ -486,7 +473,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "an outstanding Swordman."; mes "Here is a small reward..."; set tu_swordman, 10; - if (checkre(3)) + if(checkre(3)) getexp 126,0; else getexp 1260,0; @@ -509,7 +496,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "of that, let me continue your instruction on Swordman skills. This time, we'll cover Provoke."; next; set .@chk_provoke, getskilllv("SM_PROVOKE"); - if(.@chk_provoke == 0){ + if(.@chk_provoke == 0) { mes "[Shurank]"; mes "You haven't"; mes "learned Provoke yet?"; @@ -537,9 +524,8 @@ izlude_in,82,163,3 script Shurank 733,{ mes "Now I ask that you train yourself in the use of Provoke. Come back"; mes "to me when you have a sufficient understanding of the use of the Provoke skill."; set tu_swordman, 8; - changequest 8217,8218; close; - } else if((.@chk_provoke > 0) && (.@chk_provoke < 5)){ + } else if((.@chk_provoke > 0) && (.@chk_provoke < 5)) { mes "[Shurank]"; mes "Hm. You seem to have a basic understanding of Provoke, but let me give you a few details so that you can better understand the use of that skill."; next; @@ -564,14 +550,12 @@ izlude_in,82,163,3 script Shurank 733,{ mes "Now I ask that you train yourself in the use of Provoke. Come back"; mes "to me when you have a sufficient understanding of the use of the Provoke skill."; set tu_swordman, 9; - changequest 8218,8219; close; - } else if((.@chk_provoke > 4) && (.@chk_provoke < 10)){ + } else if((.@chk_provoke > 4) && (.@chk_provoke < 10)) { mes "[Shurank]"; mes "Ah, I see that you have a fairly good understanding of the Provoke skill. Let me reward you in this small way for your efforts."; set tu_swordman, 10; - changequest 8219,8220; - if (checkre(3)) + if(checkre(3)) getexp 112,0; else getexp 1120,0; @@ -579,7 +563,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "[Shurank]"; mes "Next time we speak, I will tell you what I know about the ^5D478BEndure^000000 skill. When you're ready to learn, come back to me."; close; - } else if(.@chk_provoke == 10){ + } else if(.@chk_provoke == 10) { mes "[Shurank]"; mes "Y-you've mastered"; mes "Provoke? Impressive!"; @@ -588,11 +572,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "an outstanding Swordman."; mes "Here is a small reward..."; set tu_swordman, 10; - completequest 8218; - completequest 8219; - completequest 8220; - setquest 8221; - if (checkre(3)) + if(checkre(3)) getexp 126,0; else getexp 1260,0; @@ -648,7 +628,6 @@ izlude_in,82,163,3 script Shurank 733,{ mes "Although there's a Warp service,"; mes "I recommend traveling by foot. You cannot grow strong without testing your strength and practicing your skills!"; set tu_swordman, 6; - changequest 8215,8216; close; case 4: mes "Since you've mastered Bash,"; @@ -660,7 +639,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "able to both take it and dish it out."; next; set .@chk_hp, getskilllv("SM_RECOVERY"); - if(.@chk_hp == 0){ + if(.@chk_hp == 0) { mes "[Shurank]"; mes "But judging from that"; mes "scrawny frame of yours,"; @@ -679,12 +658,12 @@ izlude_in,82,163,3 script Shurank 733,{ mes "learn this skill! Of course, there are other Swordman skills that are just as important, though..."; set tu_swordman, 5; next; - } else if(.@chk_hp == 10){ + } else if(.@chk_hp == 10) { mes "[Shurank]"; mes "Ah! That healthy glow!"; mes "I see that you've mastered this skill already. Let me give you a little reward for your hard training!"; set tu_swordman, 5; - if (checkre(3)) + if(checkre(3)) getexp 112,0; else getexp 1120,0; @@ -718,7 +697,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "you as a fellow Swordman."; next; set .@chk_bash, getskilllv("SM_BASH"); - if(.@chk_bash == 10){ + if(.@chk_bash == 10) { mes "[Shurank]"; mes "Those calluses...!"; mes "Only a master of the Bash skill has those kinds of hands. Great work, Swordman. I'm very impressed."; @@ -727,7 +706,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "Here's a small prize in recognition of your efforts thus far. But don't relax yet! You still have a long way to go before grasping"; mes "all of the basics."; set tu_swordman, 4; - if (checkre(3)) + if(checkre(3)) getexp 97,0; else getexp 970,0; @@ -746,7 +725,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "need to master this skill."; next; set .@chk_bash, getskilllv("SM_BASH"); - if((.@chk_bash > 4) && (.@chk_bash < 10)){ + if((.@chk_bash > 4) && (.@chk_bash < 10)) { mes "[Shurank]"; mes "Hm. It doesn't look like you've gained mastery of Bash, but it seems like you're trying hard."; next; @@ -765,12 +744,12 @@ izlude_in,82,163,3 script Shurank 733,{ mes "Here's a little reward for all of your hard work. I hope you realize the importance of using Bash as"; mes "you grow stronger."; set tu_swordman, 3; - if (checkre(3)) + if(checkre(3)) getexp 83,0; else getexp 830,0; close; - } else if(.@chk_bash == 10){ + } else if(.@chk_bash == 10) { mes "[Shurank]"; mes "Those calluses...!"; mes "Only a master of the Bash skill has those kinds of hands. Great work, Swordman. I'm very impressed."; @@ -779,7 +758,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "Here's a small prize in recognition of your efforts thus far. But don't relax yet! You still have a long way to go before grasping"; mes "all of the basics."; set tu_swordman, 4; - if (checkre(3)) + if(checkre(3)) getexp 97,0; else getexp 970,0; @@ -796,7 +775,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "the art of using Bash? I fervently believe that the Bash skill is the essense of Swordmanship!"; next; set .@chk_bash, getskilllv("SM_BASH"); - if((.@chk_bash > 0) && (.@chk_bash < 5)){ + if((.@chk_bash > 0) && (.@chk_bash < 5)) { mes "[Shurank]"; mes "I see that you understand"; mes "a little bit about the Bash skill. But still, it's not enough. Let me explain in detail..."; @@ -817,12 +796,12 @@ izlude_in,82,163,3 script Shurank 733,{ mes "Still, for your training efforts, let me give you a humble reward. But remember, we still have more"; mes "of the fundamentals to cover!"; set tu_swordman, 2; - if (checkre(3)) + if(checkre(3)) getexp 58,0; else getexp 580,0; close; - } else if((.@chk_bash > 4) && (.@chk_bash < 10)){ + } else if((.@chk_bash > 4) && (.@chk_bash < 10)) { mes "[Shurank]"; mes "Hmm..."; mes "Still haven't mastered Bash, eh? Well, in any case, I think you've made some progress."; @@ -849,8 +828,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "[Shurank]"; mes "For your efforts and patience, I offer you this small reward. Please take it and grow even stronger..."; set tu_swordman, 3; - setquest 8211; - if (checkre(3)) + if(checkre(3)) getexp 83,0; else getexp 830,0; @@ -858,7 +836,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "[Shurank]"; mes "I believe that every true Swordman should master the Bash skill. If you ever do master the skill as a Swordman, come back to me."; close; - } else if(.@chk_bash == 10){ + } else if(.@chk_bash == 10) { mes "[Shurank]"; mes "Those calluses...!"; mes "Only a master of the Bash skill has those kinds of hands. Great work, Swordman. I'm very impressed."; @@ -867,7 +845,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "Here's a small prize in recognition of your efforts thus far. But don't relax yet! You still have a long way to go before grasping"; mes "all of the basics."; set tu_swordman, 4; - if (checkre(3)) + if(checkre(3)) getexp 97,0; else getexp 970,0; @@ -895,7 +873,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "which is the ^5D478BBash^000000 skill."; next; set .@chk_bash, getskilllv("SM_BASH"); - if(.@chk_bash == 0){ + if(.@chk_bash == 0) { mes "[Shurank]"; mes "^333333*Gasp*^000000"; mes "Those soft, delicate hands! You've never learned how to use Bash, haven't you?! How do you expect to lead battles without knowing Bash?"; @@ -903,13 +881,12 @@ izlude_in,82,163,3 script Shurank 733,{ mes "[Shurank]"; mes "Now, if you wish to become a true Swordman, you must learn the Bash skill. There's no question about it: You've got to know these basics! Take this, and learn to Bash!"; set tu_swordman, 1; - if (checkre(3)) + if(checkre(3)) getexp 49,0; else getexp 490,0; - setquest 8211; close; - } else if((.@chk_bash > 0) && (.@chk_bash < 5)){ + } else if((.@chk_bash > 0) && (.@chk_bash < 5)) { mes "[Shurank]"; mes "I see that you understand"; mes "a little bit about the Bash skill. But still, it's not enough. Let me explain in detail..."; @@ -930,13 +907,12 @@ izlude_in,82,163,3 script Shurank 733,{ mes "Still, for your training efforts, let me give you a humble reward. But remember, we still have more"; mes "of the fundamentals to cover!"; set tu_swordman, 2; - changequest 8211,8212; - if (checkre(3)) + if(checkre(3)) getexp 58,0; else getexp 580,0; close; - } else if((.@chk_bash > 4) && (.@chk_bash < 10)){ + } else if((.@chk_bash > 4) && (.@chk_bash < 10)) { mes "[Shurank]"; mes "I see that you've gained some proficiency with the Bash skill. But still, it's not enough. Let me explain..."; next; @@ -956,8 +932,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "Still, for your training efforts, let me give you a humble reward. But remember, we still have more"; mes "of the fundamentals to cover!"; set tu_swordman, 3; - changequest 8212,8213; - if (checkre(3)) + if(checkre(3)) getexp 83,0; else getexp 830,0; @@ -965,7 +940,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "[Shurank]"; mes "But if you wish to become an expert Swordman in my eyes, you must master Bash!"; close; - } else if(.@chk_bash == 10){ + } else if(.@chk_bash == 10) { mes "[Shurank]"; mes "Those calluses...!"; mes "Only a master of the Bash skill has those kinds of hands. Great work, Swordman. I'm very impressed."; @@ -974,11 +949,7 @@ izlude_in,82,163,3 script Shurank 733,{ mes "Here's a small prize in recognition of your efforts thus far. But don't relax yet! You still have a long way to go before grasping"; mes "all of the basics."; set tu_swordman, 4; - completequest 8211; - completequest 8212; - completequest 8213; - setquest 8214; - if (checkre(3)) + if(checkre(3)) getexp 97,0; else getexp 970,0; @@ -994,7 +965,7 @@ izlude_in,82,163,3 script Shurank 733,{ // Daqu'ee //============================================================ geffen,154,143,3 script Dequ'ee 734,{ - if(BaseJob == Job_Novice){ + if(BaseJob == Job_Novice) { mes "[Dequ'ee]"; mes "Hey there."; mes "Frustrated with"; @@ -1012,7 +983,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "I don't know how you want to live your life, but you should give the Swordman job some serious thought..."; close; } - if(BaseClass == Job_Swordman && eaclass()&(EAJL_2|EAJL_UPPER)){ + if(BaseClass == Job_Swordman && eaclass()&(EAJL_2|EAJL_UPPER)) { mes "[Dequ'ee]"; mes "Ah..."; mes "A fellow sword wielder!"; @@ -1023,7 +994,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "depend on the strength of your blade. It's an awesome responsibility, but we can never let our allies down in battle..."; close; } - if(BaseClass != Job_Swordman){ + if(BaseClass != Job_Swordman) { mes "[Dequ'ee]"; mes "Hello there."; mes "Not a fan of swords, are you?"; @@ -1038,7 +1009,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "Pretty boring..."; close; } - if(tu_swordman > 20){ + if(tu_swordman > 20) { mes "[Dequ'ee]"; mes "I hope you continue"; mes "to train yourself in"; @@ -1047,7 +1018,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "wielding a blade..."; close; } - if(tu_swordman == 20){ + if(tu_swordman == 20) { mes "[Dequ'ee]"; mes "Huh...?"; mes "Aren't you supposed"; @@ -1072,15 +1043,14 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "Why don't you report back to Shurank now? I guess he still"; mes "wants to show you the ropes of Swordmanship."; set tu_swordman, 21; - changequest 8226,8227; close2; - if (checkre(0)) + if(checkre(0)) warp "izlude",127,100; else warp "izlude",35,78; end; } - if(tu_swordman == 19){ + if(tu_swordman == 19) { mes "[Dequ'ee]"; mes "What are still doing here?"; mes "Hurry and check on Bankley!"; @@ -1088,15 +1058,15 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "he might be up to!"; close; } - if((tu_swordman == 17) || (tu_swordman == 18)){ + if((tu_swordman == 17) || (tu_swordman == 18)) { mes "[Dequ'ee]"; - if(tu_swordman == 17){ + if(tu_swordman == 17) { mes "TheisWesomeof"; mes "ConBanfoevidehi"; mes "victkleyundncem"; mes "hekdlfiDrindkelsd"; next; - } else if(tu_swordman == 18){ + } else if(tu_swordman == 18) { mes "hekdlfiDrindkelsd"; mes "TheisWesomeof"; mes "ConBanfoevidehi"; @@ -1133,8 +1103,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "[Dequ'ee]"; mes "Hurry over to Morroc and monitor Bankley in case he does anything desperate. If something happens, report to me right away!"; set tu_swordman, 19; - changequest 8224,8225; - if (checkre(3)) + if(checkre(3)) getexp 162,0; else getexp 1620,0; @@ -1161,7 +1130,7 @@ geffen,154,143,3 script Dequ'ee 734,{ close; } } - if(tu_swordman == 16){ + if(tu_swordman == 16) { mes "[Dequ'ee]"; mes "I guess these codes need to be arranged in a certain order before we can figure out its secrets."; next; @@ -1851,7 +1820,7 @@ geffen,154,143,3 script Dequ'ee 734,{ break; } } - if(tu_swordman == 15){ + if(tu_swordman == 15) { set .@hans$, "victkleyundncem"; set .@bang$, "hekdlfiDrindkelsd"; set .@mutr$, "ConBanfoevidehi"; @@ -1872,7 +1841,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "tell me the code that Hans had."; next; input .@inputstr$; - if(.@inputstr$ == .@hans$){ + if(.@inputstr$ == .@hans$) { mes "[Dequ'ee]"; mes "victkleyundncem?"; mes "That's certainly"; @@ -1880,7 +1849,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "Now, tell me Bankley's."; next; input .@inputstr$; - if(.@inputstr$ == .@bang$){ + if(.@inputstr$ == .@bang$) { mes "[Dequ'ee]"; mes "hekdlfiDrindkelsd.."; mes "What the hell is that...?"; @@ -1888,7 +1857,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "What about Muetro's?"; next; input .@inputstr$; - if(.@inputstr$ == .@mutr$){ + if(.@inputstr$ == .@mutr$) { mes "[Dequ'ee]"; mes "ConBanfoevidehi."; mes "This is going to"; @@ -1897,7 +1866,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "tell me Geil's."; next; input .@inputstr$; - if(.@inputstr$ == .@geil$){ + if(.@inputstr$ == .@geil$) { mes "[Dequ'ee]"; mes "TheisWesomeof..."; mes "Alright, great."; @@ -1913,7 +1882,6 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "out, it's the only clue"; mes "that we have..."; set tu_swordman, 16; - changequest 8223,8224; close; } else { mes "[Dequ'ee]"; @@ -1946,7 +1914,7 @@ geffen,154,143,3 script Dequ'ee 734,{ } } - if(tu_swordman == 14){ + if(tu_swordman == 14) { mes "[Dequ'ee]"; mes "Didn't I ask you"; mes "to interrogate the"; @@ -1956,7 +1924,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "as possible!"; close; } - if(tu_swordman == 13){ + if(tu_swordman == 13) { mes "[Dequ'ee]"; mes "Ah, you're here!"; mes "Shurank must have"; @@ -1989,11 +1957,10 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "near that city."; next; set tu_swordman, 14; - changequest 8222,8223; warp "moc_fild07",359,201; close; } - if((tu_swordman > 7) && (tu_swordman < 13)){ + if((tu_swordman > 7) && (tu_swordman < 13)) { mes "[Dequ'ee]"; mes "Hmm..."; mes "Still receiving"; @@ -2005,7 +1972,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "Swordmen nowadays are getting sloppier and sloppier. Someone has to keep the new guys in line and on their toes!"; close; } - if(tu_swordman == 7){ + if(tu_swordman == 7) { mes "[Dequ'ee]"; mes "What are you"; mes "still doing here?"; @@ -2020,7 +1987,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "out who he is."; close; } - if(tu_swordman == 6){ + if(tu_swordman == 6) { mes "[Dequ'ee]"; mes "Ah...!"; mes "Are you the Swordman"; @@ -2182,8 +2149,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "[Dequ'ee]"; mes "Thank you for taking the trouble to come this far. Let me reward you with some experience points."; set tu_swordman, 7; - changequest 8216,8217; - if (checkre(3)) + if(checkre(3)) getexp 112,0; else getexp 1120,0; @@ -2193,7 +2159,7 @@ geffen,154,143,3 script Dequ'ee 734,{ mes "of yourself,"; mes "brave Swordman."; next; - if (checkre(0)) + if(checkre(0)) warp "izlude",127,100; else warp "izlude",35,78; @@ -2259,7 +2225,7 @@ geffen,154,143,3 script Dequ'ee 734,{ //============================================================ morocc_in,51,101,3 script Geil 89,{ mes "[Geil]"; - if(tu_swordman == 15){ + if(tu_swordman == 15) { mes "Were you sent by the authorities? Quit giving me such a hard time! I'm not the murderer! I don't even know who was killed. I'm not the one you're looking for!"; next; mes "[Geil]"; @@ -2277,7 +2243,7 @@ morocc_in,51,101,3 script Geil 89,{ mes "What's so important about this code, and why do you guys keep hounding me about the murder?!"; close; } - if(tu_swordman == 14){ + if(tu_swordman == 14) { mes "Were you sent by the authorities? Quit giving me such a hard time! I'm not the murderer! I don't even know who was killed. I'm not the one you're looking for!"; next; mes "[Geil]"; @@ -2310,7 +2276,7 @@ morocc_in,51,101,3 script Geil 89,{ //============================================================ morocc,82,292,5 script Muetro 84,{ mes "[Muetro]"; - if(tu_swordman == 15){ + if(tu_swordman == 15) { mes "You're just"; mes "like all the others."; mes "You want the code"; @@ -2323,7 +2289,7 @@ morocc,82,292,5 script Muetro 84,{ mes "catch the murderer."; close; } - if(tu_swordman == 14){ + if(tu_swordman == 14) { mes "You're just"; mes "like all the others."; mes "You want the code"; @@ -2351,7 +2317,7 @@ morocc,82,292,5 script Muetro 84,{ //============================================================ morocc,240,72,3 script Hans 86,{ mes "[Hans]"; - if(tu_swordman == 15){ + if(tu_swordman == 15) { mes "Help me!"; mes "Please help me!"; mes "I'm no murderer!"; @@ -2375,7 +2341,7 @@ morocc,240,72,3 script Hans 86,{ mes "It's like he used magic or something to make it stick out in my brain. Please leave me alone, this is all I know!"; close; } - if(tu_swordman == 14){ + if(tu_swordman == 14) { mes "Help me!"; mes "Please help me!"; mes "I'm no murderer!"; @@ -2408,13 +2374,13 @@ morocc,240,72,3 script Hans 86,{ // Bankley //============================================================ morocc_in,12,156,3 script Bankley 97,{ - if(tu_swordman > 19){ + if(tu_swordman > 19) { mes "^3355FFBankley had a pitiable"; mes "expression on his face.^000000"; mes "^3355FFHis body is completely lifeless. There's a long, deep wound in his chest, and a blood drenched knife is clenched in his right hand.^000000"; close; } - if(tu_swordman == 19){ + if(tu_swordman == 19) { mes "..."; mes "......"; next; @@ -2423,11 +2389,10 @@ morocc_in,12,156,3 script Bankley 97,{ mes "^3355FFBankley had a sad, pitiable expression on his face. Since the color is still fresh in his cheeks, he died only a little while ago."; mes "^3355FFThere is a long, deep wound in his chest, and a blood drenched knife is clenched in his right hand.^000000"; set tu_swordman, 20; - changequest 8225,8226; close; } mes "[Bankley]"; - if(tu_swordman == 15){ + if(tu_swordman == 15) { mes "I didn't kill anybody...!"; mes "I'm innocent and don't"; mes "have anything to hide!"; @@ -2454,7 +2419,7 @@ morocc_in,12,156,3 script Bankley 97,{ mes "for the real culprit!"; close; } - if(tu_swordman == 14){ + if(tu_swordman == 14) { mes "I didn't kill anybody...!"; mes "I'm innocent and don't"; mes "have anything to hide!"; diff --git a/quests/first_class/tu_thief01.txt b/quests/first_class/tu_thief01.txt index 080a38a..c15e307 100644 --- a/quests/first_class/tu_thief01.txt +++ b/quests/first_class/tu_thief01.txt @@ -1,28 +1,29 @@ -//===== rAthena Script ======================================= +//===== rAthena Script ======================================= //= Thief Class Tutorial and Job Specific Quest -//===== By: ================================================== +//===== By: ================================================== //= Fix up by Jukka -//===== Current Version: ===================================== -//= 1.5 -//===== Compatible With: ===================================== +//===== Current Version: ===================================== +//= 2.0 +//===== Compatible With: ===================================== //= rAthena SVN -//===== Description: ========================================= +//===== Description: ========================================= //= [Official Conversion] //= Thief training quest. -//===== Additional Comments: ================================= +//===== Additional Comments: ================================= //= 1.0 Fully working //= 1.1 optimized [Lupus] //= 1.2 Fixed experience gains to match upcoming rate adjustments. [SinSloth] //= 1.3 Fixed a few minor mistakes [Playtester] //= 1.4 Misc. updates. [L0ne_W0lf] //= 1.5 Added Pre-Renewal support. [Euphy] -//============================================================ +//= 2.0 Fixed a wrong exp value & clean-up. [Capuche] +//============================================================ // Thief Trainer //============================================================ -moc_ruins,66,164,4 script Thief Trainer#T 84,{ +moc_ruins,66,164,4 script Thief Trainer#T 4_M_02,{ mes "[Yierhan]"; - if(Class == Job_Novice){ + if(Class == Job_Novice) { mes "Eh...?"; mes "A Novice?"; mes "Still thinking"; @@ -34,31 +35,29 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ mes "Listen, if you ever decide to become a Thief--a smart choice"; mes "I might add--come and talk to me. I'll show you the ropes!"; close; - - } else if(Class == Job_Thief || Class == Job_Thief_High || Class == Job_Assassin || Class ==Job_Assassin_Cross || Class == Job_Rogue || Class == Job_Stalker){ - if(Class == Job_Thief_High || Class == Job_Assassin || Class == Job_Assassin_Cross || Class == Job_Rogue || Class == Job_Stalker){ - if(tu_thief01 < 8){ - mes "Whaaaat are you"; - mes "doin' here? There's"; - mes "nothing I can teach you!"; - mes "You're waaay beyond me!"; - next; - mes "[Yierhan]"; - mes "In fact, I think"; - mes "you're qualified"; - mes "to teach me some stuff!"; - mes "Come on! I need new moves!"; - close; - } + } + else if (BaseClass == Job_Thief && Upper != 2) { + if (Class != Job_Thief && tu_thief01 < 8) { + mes "Whaaaat are you"; + mes "doin' here? There's"; + mes "nothing I can teach you!"; + mes "You're waaay beyond me!"; + next; + mes "[Yierhan]"; + mes "In fact, I think"; + mes "you're qualified"; + mes "to teach me some stuff!"; + mes "Come on! I need new moves!"; + close; } - if(tu_thief01 == 0){ + if(tu_thief01 == 0) { mes "Heya pal."; mes "I'm Yierhan."; mes "I happen to be"; mes "the guy in charge"; mes "of training new Thieves."; next; - switch(select("Training?:Training? Right now?")){ + switch(select("Training?:Training? Right now?")) { case 1: mes "[Yierhan]"; mes "Yeah, training. I mean, this kind of stuff is second nature to some people, but other guys need a little more help. So this is one of those 'just in case' things."; @@ -78,7 +77,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ mes "So for melee attacks, which stat increases your damage? Come on"; mes "now, you should know this if you didn't skip the Novice Training Grounds."; next; - switch(select("^6B8E23INT^000000:^2F4F2FSTR^000000:^23238EDEX^000000")){ + switch(select("^6B8E23INT^000000:^2F4F2FSTR^000000:^23238EDEX^000000")) { case 1: mes "[Yierhan]"; mes "Say whaaat? ^6B8E23INT^000000 affects magic damage, magic defense and some skills. Thieves don't even work with magic!"; @@ -88,10 +87,8 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ next; mes "[Yierhan]"; mes "So if you're feeling like the damage you're making is pretty weak, you might want more stat points in ^2F4F2FSTR^000000. How high your raise your own STR is really up to you."; - set tu_thief01, 1; getexp 200,100; - specialeffect2 EF_HIT5; - close; + break; case 2: mes "[Yierhan]"; mes "Yeah, that's right! If you wanna increase your damage, you need"; @@ -104,10 +101,8 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ mes "[Yierhan]"; mes "Sure, ^23238EDEX^000000 and LUK can"; mes "also increase your attack damage, but they're insignificant compared to STR. I repeat: ^660000insignificant^000000."; - set tu_thief01, 1; getexp 400,200; - specialeffect2 EF_HIT5; - close; + break; case 3: mes "[Yierhan]"; mes "Say whaaat? ^23238EDEX^000000 affects"; @@ -119,129 +114,131 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ next; mes "[Yierhan]"; mes "So if you're feeling like the damage you're making is pretty weak, you might want more stat points in ^2F4F2FSTR^000000. How high your raise your own STR is really up to you."; - set tu_thief01, 1; getexp 200,100; - specialeffect2 EF_HIT5; - close; } - } else if(tu_thief01 == 1){ + tu_thief01 = 1; + specialeffect2 EF_HIT5; + close; + } + else if(tu_thief01 == 1) { mes "Alright, enough about stats."; mes "You know what? I think I'll just talk to you about the skills that we Thieves use."; next; mes "[Yierhan]"; mes "So level up your skills, learn a few new ones if you want, and"; mes "then come back over here."; - set tu_thief01, 2; + tu_thief01 = 2; close; - } else if(tu_thief01 == 2){ + } + else if(tu_thief01 == 2) { mes "Okay, let me see your skills. You know you gotta change your battle strategy depending on what skills you have, right? Skills are just as important as stats!"; next; - set .@chk_th_skill1, getskilllv("TF_DOUBLE"); - set .@chk_th_skill2, getskilllv("TF_MISS"); - set .@chk_th_skill3, getskilllv("TF_STEAL"); - set .@chk_th_skill4, getskilllv("TF_HIDING"); - set .@chk_th_skill5, getskilllv("TF_POISON"); - set .@chk_th_skill6, getskilllv("TF_DETOXIFY"); + .@chk_th_skill1 = getskilllv("TF_DOUBLE"); + .@chk_th_skill2 = getskilllv("TF_MISS"); + .@chk_th_skill3 = getskilllv("TF_STEAL"); + .@chk_th_skill4 = getskilllv("TF_HIDING"); + .@chk_th_skill5 = getskilllv("TF_POISON"); + .@chk_th_skill6 = getskilllv("TF_DETOXIFY"); - if(.@chk_th_skill1 == 0 && .@chk_th_skill2 == 0 && .@chk_th_skill3 == 0 && .@chk_th_skill4 == 0 && .@chk_th_skill5 == 0 && .@chk_th_skill6 == 0){ + if(.@chk_th_skill1 == 0 && .@chk_th_skill2 == 0 && .@chk_th_skill3 == 0 && .@chk_th_skill4 == 0 && .@chk_th_skill5 == 0 && .@chk_th_skill6 == 0) { mes "[Yierhan]"; mes "You haven't learned any skills yet? Come on, it's your skills that'll set you apart from Novices and everyone else!"; close; - } else { - if(.@chk_th_skill1 > 0){ - mes "[Yierhan]"; - mes "Ah, so you've learned"; - mes "Level "+.@chk_th_skill1+" Double Attack."; - mes "Nice! This skill gives you the chance to attack twice in one"; - mes "attack. Wicked!"; - next; - mes "[Yierhan]"; - mes "It's a Passive skill, so it's always in effect and won't have to use any SP to use it. The higher your Double Attack skill level, the more double attacks you'll do."; - next; - } - if(.@chk_th_skill2 > 0){ - mes "[Yierhan]"; - mes "Let's see..."; - mes "Level "+.@chk_th_skill2+" Increase Dodge?"; - mes "That increases your Flee Rate, meaning you've got a better chance of dodging attacks from your enemies."; - next; - mes "[Yierhan]"; - mes "Just like the Double Attack skill, Increase Dodge is a Passive skill. It won't use SP and it's always in"; - mes "effect. If you don't like to bruise, this is your skill."; - next; - } - if(.@chk_th_skill3 > 0){ - mes "[Yierhan]"; - mes "Whoa, so you've"; - mes "got Level "+.@chk_th_skill3+" Steal~"; - mes "Now that's the skill which gives our job its name! You can't use"; - mes "it against people, though..."; - next; - mes "[Yierhan]"; - mes "But you can use Steal to take items from monsters. If you're lucky, you can get some good items that way. Oh, and Steal doesn't affect monster drop rates."; - next; - } - if(.@chk_th_skill4 > 0){ - mes "[Yierhan]"; - mes "You've learned"; - mes "Level "+.@chk_th_skill4+" Hiding?"; - mes "Let's see, you can only learn"; - mes "that after learning the Steal skill up to a certain level."; - next; - mes "[Yierhan]"; - mes "Of course, you use "; - mes "the Hiding skill to hide underground in an emergency, like when you're surrounded by tough enemies. Be careful though..."; - next; - mes "[Yierhan]"; - mes "Certain monsters will still be able to find you, no matter how well you hide. There are even a few monsters that can flush you out of hiding!"; - next; - } - if(.@chk_th_skill5 > 0){ - mes "[Yierhan]"; - mes "Alright, I see that you"; - mes "know Level "+.@chk_th_skill5+" Envenom."; - mes "You like being dangerous,"; - mes "don't you?"; - next; - mes "[Yierhan]"; - mes "This attack skill has the chance"; - mes "to poison your enemy for a set amount of time. While poisoned, an enemy will constantly lose its HP and will have decreased defense."; - next; - mes "[Yierhan]"; - mes "Eh, but remember."; - mes "If the monster's too strong for you, you might not be able to poison it. So don't go crazy."; - next; - } - if(.@chk_th_skill6 > 0){ - mes "[Yierhan]"; - mes "Level "+.@chk_th_skill6+" Detoxify."; - mes "If you took the trouble to learn that, you must be the cautious"; - mes "type or something."; - next; - mes "[Yierhan]"; - mes "You can only learn Detoxify"; - mes "after you learn the Envenom skill. Detoxify allows you to counteract the effects of poison on a target."; - next; - } + } + if(.@chk_th_skill1 > 0) { + mes "[Yierhan]"; + mes "Ah, so you've learned"; + mes "Level "+.@chk_th_skill1+" Double Attack."; + mes "Nice! This skill gives you the chance to attack twice in one"; + mes "attack. Wicked!"; + next; + mes "[Yierhan]"; + mes "It's a Passive skill, so it's always in effect and won't have to use any SP to use it. The higher your Double Attack skill level, the more double attacks you'll do."; + next; + } + if(.@chk_th_skill2 > 0) { + mes "[Yierhan]"; + mes "Let's see..."; + mes "Level "+.@chk_th_skill2+" Increase Dodge?"; + mes "That increases your Flee Rate, meaning you've got a better chance of dodging attacks from your enemies."; + next; + mes "[Yierhan]"; + mes "Just like the Double Attack skill, Increase Dodge is a Passive skill. It won't use SP and it's always in"; + mes "effect. If you don't like to bruise, this is your skill."; + next; + } + if(.@chk_th_skill3 > 0) { + mes "[Yierhan]"; + mes "Whoa, so you've"; + mes "got Level "+.@chk_th_skill3+" Steal~"; + mes "Now that's the skill which gives our job its name! You can't use"; + mes "it against people, though..."; + next; + mes "[Yierhan]"; + mes "But you can use Steal to take items from monsters. If you're lucky, you can get some good items that way. Oh, and Steal doesn't affect monster drop rates."; + next; + } + if(.@chk_th_skill4 > 0) { + mes "[Yierhan]"; + mes "You've learned"; + mes "Level "+.@chk_th_skill4+" Hiding?"; + mes "Let's see, you can only learn"; + mes "that after learning the Steal skill up to a certain level."; + next; + mes "[Yierhan]"; + mes "Of course, you use "; + mes "the Hiding skill to hide underground in an emergency, like when you're surrounded by tough enemies. Be careful though..."; + next; + mes "[Yierhan]"; + mes "Certain monsters will still be able to find you, no matter how well you hide. There are even a few monsters that can flush you out of hiding!"; + next; + } + if(.@chk_th_skill5 > 0) { + mes "[Yierhan]"; + mes "Alright, I see that you"; + mes "know Level "+.@chk_th_skill5+" Envenom."; + mes "You like being dangerous,"; + mes "don't you?"; + next; + mes "[Yierhan]"; + mes "This attack skill has the chance"; + mes "to poison your enemy for a set amount of time. While poisoned, an enemy will constantly lose its HP and will have decreased defense."; + next; + mes "[Yierhan]"; + mes "Eh, but remember."; + mes "If the monster's too strong for you, you might not be able to poison it. So don't go crazy."; + next; + } + if(.@chk_th_skill6 > 0) { + mes "[Yierhan]"; + mes "Level "+.@chk_th_skill6+" Detoxify."; + mes "If you took the trouble to learn that, you must be the cautious"; + mes "type or something."; + next; + mes "[Yierhan]"; + mes "You can only learn Detoxify"; + mes "after you learn the Envenom skill. Detoxify allows you to counteract the effects of poison on a target."; + next; } mes "[Yierhan]"; mes "Alright, I guess"; mes "if you want to know"; mes "about any other skills,"; mes "I can explain real quick."; - set tu_thief01, 3; + tu_thief01 = 3; getexp BaseLevel*30,BaseLevel*15; specialeffect2 EF_HIT5; close; - } else if(tu_thief01 == 3){ + } + else if(tu_thief01 == 3) { mes "So..."; mes "Are there any"; mes "skills you want"; mes "explained or is this"; mes "pretty much stuff you"; mes "already know?"; - next; - while(1){ + while(1) { + next; switch(select("Double Attack:Increase Dodge:Steal:Hiding:Envenom:Detoxify:I know enough.")) { case 1: mes "[Yierhan]"; @@ -250,8 +247,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ next; mes "[Yierhan]"; mes "It's a Passive skill, so it's always in effect and won't have to use any SP to use it. The higher your Double Attack skill level, the more double attacks you'll do."; - set .@read_d, 1; - next; + .@read_d = 1; break; case 2: mes "[Yierhan]"; @@ -265,8 +261,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ mes "[Yierhan]"; mes "Just like the Double Attack skill, Increase Dodge is a Passive skill. It won't use SP and it's always in"; mes "effect. If you don't like to bruise, this is your skill."; - set .@read_f, 1; - next; + .@read_f = 1; break; case 3: mes "[Yierhan]"; @@ -276,8 +271,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ specialeffect2 EF_STEAL; mes "[Yierhan]"; mes "But you can use Steal to take items from monsters! If you're lucky, you can get some good items that way. Oh, and Steal doesn't affect monster drop rates."; - set .@read_s, 1; - next; + .@read_s = 1; break; case 4: mes "[Yierhan]"; @@ -289,8 +283,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ next; mes "[Yierhan]"; mes "Certain monsters will still be able to find you, no matter how well you hide. There are even a few monsters that can flush you out of hiding!"; - set .@read_p, 1; - next; + .@read_p = 1; break; case 5: mes "[Yierhan]"; @@ -300,8 +293,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ mes "This attack skill has the chance"; mes "to poison your enemy for a set amount of time. While poisoned, an enemy will constantly lose its HP and will have decreased defense."; mes "Remember that."; - set .@read_h, 1; - next; + .@read_h = 1; break; case 6: mes "[Yierhan]"; @@ -314,10 +306,9 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ mes "[Yierhan]"; mes "You can learn Detoxify"; mes "after you learn the Envenom skill. Detoxify allows you to counteract the effects of poison on a target."; - set .@read_r, 1; + .@read_r = 1; next; specialeffect2 EF_DETOXICATION; - next; break; case 7: mes "[Yierhan]"; @@ -327,18 +318,16 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ next; mes "[Yierhan]"; mes "Now that you're such an expert on skills, I want you to level up your skills and come back, got it?"; - set tu_thief01, 4; + tu_thief01 = 4; specialeffect2 EF_HIT5; - if(.@read_d) getexp 300,100; - if(.@read_f) getexp 300,100; - if(.@read_s) getexp 300,100; - if(.@read_p) getexp 300,100; - if(.@read_h) getexp 300,100; - if(.@read_r) getexp 300,100; + .@total = .@read_d + .@read_f + .@read_s + .@read_p + .@read_h + .@read_r; + if (.@total) + getexp (.@total*300),(.@total*100); close; } } - } else if(tu_thief01 == 4){ + } + else if(tu_thief01 == 4) { mes "Alright, we studied the skills and you've been practicing a little, right? You better have..."; next; mes "[Yierhan]"; @@ -348,7 +337,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ mes "Go and get me"; mes "10 ^ff0000Feather of Birds^000000."; mes "You can go ahead and kill Pickies to get those. It really shouldn't be that hard. Oh, and use this Wing thingee to come back."; - set tu_thief01, 5; + tu_thief01 = 5; savepoint "moc_ruins",80,164; getitem 602,1; //Wing_Of_Butterfly getexp 100,50; @@ -356,14 +345,16 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ close2; warp "moc_fild12",158,373; end; - } else if(tu_thief01 == 5 || tu_thief01 == 6){ - if(countitem(916) < 10){ + } + else if(tu_thief01 == 5 || tu_thief01 == 6) { + if(countitem(916) < 10) { mes "'Ey, you don't have the 10 ^ff0000Feather of Birds^000000 I asked you for! You gotta apply what you know, you know."; mes "Now hurry up and do it!"; close2; warp "moc_fild07",203,38; end; - } else { + } + else { mes "Alright...!"; mes "Nice work, pal."; mes "Seeing as you got these feathers, you must be really gung-ho about becoming a good Thief."; @@ -375,7 +366,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ mes "Always do your best! Oh,"; mes "and do you have any questions?"; next; - if(tu_thief01 == 6){ + if(tu_thief01 == 6) { switch(select("About those traces...:Nope.")) { case 1: mes "[Yierhan]"; @@ -407,7 +398,7 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ mes "not to get too close"; mes "to the poison! That stuff"; mes "is pretty strong!"; - set tu_thief01, 8; + tu_thief01 = 8; getitem 1207,1; //Main_Gauche getexp 1000,500; specialeffect2 EF_HIT5; @@ -417,13 +408,14 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ mes "Good!"; mes "Less work for me!"; mes "Alright, you better get stronger the next time I see you. Oh, and you can have this stuff. You know, since you're so gangster and all."; - set tu_thief01, 7; + tu_thief01 = 7; getitem 1207,1; //Main_Gauche getexp 500,200; specialeffect2 EF_HIT5; close; } - } else { + } + else { switch(select("It was nice to meet you.:Nope.")) { case 1: mes "[Yierhan]"; @@ -436,22 +428,24 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ mes "you so much, kid,"; mes "you can have this."; mes "Take it, it's yours!"; + getexp 500,200; break; case 2: mes "[Yierhan]"; mes "Good!"; mes "Less work for me!"; mes "Alright, you better get stronger the next time I see you. Oh, and you can have this stuff. You know, since you're so gangster and all."; + getexp 50,20; break; } - set tu_thief01, 7; + tu_thief01 = 7; getitem 1207,1; //Main_Gauche - getexp 500,200; specialeffect2 EF_HIT5; close; } } - } else if(tu_thief01 == 7){ + } + else if(tu_thief01 == 7) { mes "[Yierhan]"; mes "You know..."; mes "There was this"; @@ -488,11 +482,12 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ mes "decide to check it"; mes "out, be real careful"; mes "other there, okay?"; - set tu_thief01, 8; + tu_thief01 = 8; getexp 200,100; specialeffect2 EF_HIT5; close; - } else if(tu_thief01 == 8){ + } + else if(tu_thief01 == 8) { mes "Heya pal."; mes "You doin' alright?"; next; @@ -504,7 +499,8 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ mes "It's a good policy to just be really careful on your adventures. Look out for monsters and look"; mes "out for people! Got it?"; close; - } else if(tu_thief01 < 26){ + } + else if(tu_thief01 < 26) { mes "I heard there was"; mes "this one Assassin"; mes "that went on a mission"; @@ -520,7 +516,8 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ mes "Anyway, take"; mes "care of yourself."; close; - } else if(tu_thief01 == 26){ + } + else if(tu_thief01 == 26) { mes "'Ey, did you"; mes "complete your mission?"; mes "I know, I know, the thing you've gotta do is pretty rough."; @@ -570,13 +567,14 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ next; mes "[Yierhan]"; mes "Hey, this stuff is yours. Think of it as a reward for helping us out. Take care of yourself now~"; - set tu_thief01, 27; + tu_thief01 = 27; getitem 2307,1; //Mantle - set Zeny, Zeny + 5000; + Zeny = Zeny + 5000; getexp 8000,3000; close; } - } else { + } + else { mes "[Yierhan]"; mes "Hey..."; mes "You got dreams,"; @@ -589,8 +587,9 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ mes "I just like telling people to follow their dreams. So do it. Life without anything to look forward to is pretty boring, doncha think?"; close; } - } else if(Class == Job_Mage || Class == Job_Mage_High || Class == Job_Wizard || Class == Job_High_Wizard || Class == Job_Sage || Class == Job_Professor){ - if(tu_magician01 < 7){ + } + else if (BaseClass == Job_Mage && Upper != 2) { + if(tu_magician01 < 7) { mes "[Yierhan]"; mes "Heya."; mes "I'm the Thief trainer around here. Sure, it looks like we don't got much in common, but..."; @@ -599,31 +598,31 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ mes "I actually got a few magic using friends here and there. That mystic stuff is waaay over my head, but"; mes "I got a lotta respect for it."; close; - } else if(tu_magician01 == 7){ + } + else if(tu_magician01 == 7) { mes "Hm...?"; mes "That's weird, usually only"; mes "Thieves hang around this joint. What's someone like you doing"; mes "here? Unless..."; next; - switch(select("I'm here on behalf of 'Mana.'")) { - case 1: - mes "[Yierhan]"; - mes "Right, you must be the help that Mana sent! You came just at the right time. You see, we found something weird in South Morroc."; - next; - mes "[Yierhan]"; - mes "Basically, we found traces of poison that were used in a fight. We were going to investigate it, but we've been swamped with all this other work."; - next; - mes "[Yierhan]"; - mes "That's why we've been asking"; - mes "for help from the Mage Guild. Fortunately, I'm pals with Mana, so..."; - next; - mes "[Yierhan]"; - mes "Anyway, head over to"; - mes "South Morroc since it seems to be a good place to start investigating. You'll see what we found right outside the South Morroc gate."; - set tu_magician01, 8; - break; - } - } else if(tu_magician01 < 26){ + select("I'm here on behalf of 'Mana.'"); + mes "[Yierhan]"; + mes "Right, you must be the help that Mana sent! You came just at the right time. You see, we found something weird in South Morroc."; + next; + mes "[Yierhan]"; + mes "Basically, we found traces of poison that were used in a fight. We were going to investigate it, but we've been swamped with all this other work."; + next; + mes "[Yierhan]"; + mes "That's why we've been asking"; + mes "for help from the Mage Guild. Fortunately, I'm pals with Mana, so..."; + next; + mes "[Yierhan]"; + mes "Anyway, head over to"; + mes "South Morroc since it seems to be a good place to start investigating. You'll see what we found right outside the South Morroc gate."; + tu_magician01 = 8; + close; + } + else if(tu_magician01 < 26) { mes "I heard there was"; mes "this one Assassin"; mes "that went on a mission"; @@ -641,7 +640,8 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ mes "might be related to"; mes "that mysterious Assassin..."; close; - } else if(tu_magician01 == 26){ + } + else if(tu_magician01 == 26) { mes "So how's the"; mes "investigation"; mes "coming along?"; @@ -694,12 +694,13 @@ moc_ruins,66,164,4 script Thief Trainer#T 84,{ next; mes "[Yierhan]"; mes "Hey, this stuff is yours. Think of it as a reward for helping us out. Right, and I'll let Mana know you did a great job. Take care of yourself now~"; - set tu_magician01, 27; - set Zeny, Zeny + 5000; + tu_magician01 = 27; + Zeny = Zeny + 5000; getexp 5000,2000; close; } - } else { + } + else { mes "Just as I thought,"; mes "more than one group"; mes "was involved in all this."; diff --git a/quests/gunslinger_quests.txt b/quests/gunslinger_quests.txt index b144d58..c894fc6 100644 --- a/quests/gunslinger_quests.txt +++ b/quests/gunslinger_quests.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Playtester //===== Current Version: ===================================== -//= 1.7 +//= 1.7a //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -22,11 +22,12 @@ //= 1.6b Changed item names to item IDs on some scripts. [Samuray22] //= 1.6c Corrected a bad delitem. (bugreport:763) [Samuray22] //= 1.7 Removed all 'menu' and 'goto'. [Euphy] +//= 1.7a Rebellion support (BaseJob -> BaseClass) [exneval] //============================================================ que_ng,182,85,3 script Garrison 109,{ - if(BaseJob != Job_Gunslinger) + if(BaseClass != Job_Gunslinger) { mes "[Garrison]"; mes "You're not a gunslinger."; @@ -428,7 +429,7 @@ lighthalzen,322,247,6 script Ravey 86,{ que_ng,187,163,3 script Ingrid 744,{ - if(BaseJob != Job_Gunslinger) + if(BaseClass != Job_Gunslinger) { mes "[Ingrid]"; mes "How are you!"; @@ -601,7 +602,7 @@ SubInferno: que_ng,185,180,3 script Vanessa 726,{ - if(BaseJob != Job_Gunslinger) + if(BaseClass != Job_Gunslinger) { mes "[Vanessa]"; mes "Hah !Hah !!"; @@ -1236,7 +1237,7 @@ que_ng,149,178,4 script Lab Director 744,{ mes "My name is 'Lab Director'."; mes "Do you need something?"; next; - if (BaseJob != Job_Gunslinger){ + if (BaseClass != Job_Gunslinger){ select("Talk to him."); mes "[N. A]"; mes "If you see Gunslingers around,"; @@ -1541,7 +1542,7 @@ lighthalzen,205,284,6 script F. Harrison 85,{ close; } else if(gun_na == 0){ - if(BaseJob != Job_Gunslinger) { + if(BaseClass != Job_Gunslinger) { mes "[F. Harrison]"; mes "Man, I'm so bored..."; mes "I wonder if there's anything"; diff --git a/quests/lvl4_weapon_quest.txt b/quests/lvl4_weapon_quest.txt index 351d3e3..18fc92e 100644 --- a/quests/lvl4_weapon_quest.txt +++ b/quests/lvl4_weapon_quest.txt @@ -5,7 +5,7 @@ //===== Current Version: ===================================== //= 1.6 //===== Compatible With: ===================================== -//= rAthena SVN 3422+(Requires jA Script System) +//= rAthena SVN //===== Description: ========================================= //= [Official Conversion] //= Grade A and Grade S weapon quests @@ -1960,7 +1960,7 @@ niflheim,240,193,3 script Kayron#lv4 794,{ if (.@shobu > 1) { mes "[Kayron]"; mes "Let's see..."; - mes "You won " + shobu + " times."; + mes "You won " + .@shobu + " times."; mes "You must be really"; mes "Without a doubt, you've"; mes "got some pretty good luck~"; @@ -2809,13 +2809,13 @@ niflheim,187,280,3 script Hein#lv4 795,{ mes "[Hein]"; mes "Ready? This is"; mes "what I wrote down..."; - if (.@npchand == 1) { + if (.@npchand1 == 1) { mes "Scissors"; } - else if (.@npchand == 2) { + else if (.@npchand1 == 2) { mes "Rock"; } - else if (.@npchand == 3) { + else if (.@npchand1 == 3) { mes "Paper"; } if (.@npchand2 == 1) { @@ -2872,7 +2872,7 @@ niflheim,187,280,3 script Hein#lv4 795,{ if (.@shobu > 1) { mes "[Hein]"; mes "Let's see..."; - mes "You won " + shobu + " times."; + mes "You won " + .@shobu + " times."; mes "You're really good at game!"; mes "Yes, your luck is at its highest!"; next; @@ -3275,13 +3275,13 @@ niflheim,331,72,3 script Waltboughst#lv4 795,{ mes "[Waltboughst]"; mes "Okay..."; mes "I wrote down..."; - if (.@npchand == 1) { + if (.@npchand1 == 1) { mes "Scissors"; } - else if (.@npchand == 2) { + else if (.@npchand1 == 2) { mes "Rock"; } - else if (.@npchand == 3) { + else if (.@npchand1 == 3) { mes "Paper"; } if (.@npchand2 == 1) { @@ -3335,7 +3335,7 @@ niflheim,331,72,3 script Waltboughst#lv4 795,{ next; if (.@shobu > 1) { mes "[Waltboughst]"; - mes "Excellent. You won " + shobu + " times,"; + mes "Excellent. You won " + .@shobu + " times,"; mes "so your luck must be really high."; mes "That means we can begin~!"; next; diff --git a/quests/newgears/2004_headgears.txt b/quests/newgears/2004_headgears.txt index f1dc61e..2b2a316 100644 --- a/quests/newgears/2004_headgears.txt +++ b/quests/newgears/2004_headgears.txt @@ -1140,7 +1140,6 @@ xmas,175,156,3 script Fuzzy Fuzz#1 712,{ mes "You can learn a lot about telling good people from the naughty after working for Santa for a loooong time..."; } else { - mes "[Fuzzy Fuzz]"; mes "I sense that you are an adventurer with a good heart, and that a sweet girl like you deserves a nice gift."; next; mes "[Fuzzy Fuzz]"; diff --git a/quests/newgears/2006_headgears.txt b/quests/newgears/2006_headgears.txt index b3ae4b7..d776ff2 100644 --- a/quests/newgears/2006_headgears.txt +++ b/quests/newgears/2006_headgears.txt @@ -1,5 +1,5 @@ //===== rAthena Script ======================================= -//= 2006 Headgear +//= 2006 Headgear Quests //===== By: ================================================== //= DiviniaRO members, cleaned by reddozen //===== Current Version: ===================================== @@ -26,7 +26,7 @@ // Censor Bar //============================================================ -rachel,91,273,8 script ? 930,{ +rachel,91,273,0 script ? 930,{ if (countitem(983) > 0 && countitem(7111) > 99 && countitem(938) > 98 && Zeny > 99999) { mes "[?]"; mes "Giggle giggle...isn't it my partner, eh?"; diff --git a/quests/newgears/2008_headgears.txt b/quests/newgears/2008_headgears.txt index e320ed6..e6d7682 100644 --- a/quests/newgears/2008_headgears.txt +++ b/quests/newgears/2008_headgears.txt @@ -1,5 +1,5 @@ //===== rAthena Script ======================================= -//= 2008 Headgear +//= 2008 Headgear Quests //===== By: ================================================== //= Masao //= Credits: Muad_Dib diff --git a/quests/ninja_quests.txt b/quests/ninja_quests.txt index 1c6d4b5..ad220d7 100644 --- a/quests/ninja_quests.txt +++ b/quests/ninja_quests.txt @@ -1,5 +1,5 @@ //===== rAthena Script ======================================= -//= Ninja quests +//= Ninja Equipment Quests //===== By: ================================================== //= Playtester //===== Current Version: ===================================== @@ -7,7 +7,7 @@ //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= Ninja quests +//= Quests for Ninja weapons and armor. //===== Additional Comments: ================================= //= 1.0 Ninja Arm Guards only yet [Playtester] //= 1.1 Added Kaibara [Playtester] diff --git a/quests/partyrelay.txt b/quests/partyrelay.txt index e6beeb9..8c48034 100644 --- a/quests/partyrelay.txt +++ b/quests/partyrelay.txt @@ -285,7 +285,7 @@ payon,103,113,3 script Ledrion#payon::RelayLedrion 109,{ mes "a meaningful contribution"; mes "to all of Rune Midgard, which"; mes "brings me to why I am here."; - mes "There are many adventurers^FFFFFF ^000000 like you, but we have a problem."; + mes "There are many adventurers like you, but we have a problem."; next; mes "[Ledrion]"; mes "So many adventurers have"; diff --git a/quests/quests_13_1.txt b/quests/quests_13_1.txt index 5f93a10..6eb6674 100644 --- a/quests/quests_13_1.txt +++ b/quests/quests_13_1.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= L0ne_W0lf //===== Current Version: ===================================== -//= 3.4 +//= 3.5 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -27,6 +27,7 @@ //= 3.3 Updated to match the latest official script. [Euphy] //= 3.3a Added Izlude RE coordinates. [Euphy] //= 3.4 Added GM management function and NPC. [Euphy] +//= 3.5 Updated turn-in requirements for Tripatriate Union's Feud. [Euphy] //============================================================ // Onward to the New World :: ep13_gogo @@ -81,9 +82,13 @@ function script Promotional_Staff { } } -prontera,163,53,3 script Promotional Staff#prt 100,{ +prontera,163,53,3 script Promotional Staff#prt 100,3,3,{ callfunc "Promotional_Staff"; end; + +OnTouch: + emotion e_what,1; + end; } prt_castle,121,51,3 script Alliance Manager#prt 752,{ @@ -352,7 +357,7 @@ prt_castle,83,67,5 script Recruiter for the Brave 109,{ } } -aldebaran,127,138,3 script Promotional Staff#alde 100,{ +aldebaran,127,138,3 script Promotional Staff#alde 100,3,3,{ if (ep13_ryu > 3) { mes "[Promotional Staff]"; mes "Did you try out for the test, or are you already enjoying your adventures?"; @@ -450,9 +455,13 @@ aldebaran,127,138,3 script Promotional Staff#alde 100,{ } callfunc "Promotional_Staff"; end; + +OnTouch: + emotion e_what,1; + end; } -geffen,90,67,3 script Promotional Staff#gef 100,{ +geffen,90,67,3 script Promotional Staff#gef 100,3,3,{ if (ep13_ryu > 6) { mes "[Promotional Staff]"; mes "Did you take the test?"; @@ -566,6 +575,10 @@ geffen,90,67,3 script Promotional Staff#gef 100,{ } callfunc "Promotional_Staff"; end; + +OnTouch: + emotion e_what,1; + end; } - script ::PromotionalStaff_izlude -1,{ @@ -699,6 +712,10 @@ geffen,90,67,3 script Promotional Staff#gef 100,{ } callfunc "Promotional_Staff"; end; + +OnTouch: + emotion e_what,1; + end; } lighthalzen,220,292,3 script Guide#ep13_1 899,{ @@ -5948,7 +5965,7 @@ mid_camp,165,245,0 script Ryosen#ep131_rhea01 748,{ mes "I heard you can get this thing from a monster named, 'Cornus' found in the fields."; next; mes "[Ryosen]"; - mes "Or... do you have any ^0000ffMystic Horns^000000 with you? Of course, I'm not saying that I want it for free. If you'd give me 5 ^0000ff5 Mystic Horns^000000, I'd give you my Rune-Midgart's Strawberry Cake."; + mes "Or... do you have any ^0000ffMystic Horns^000000 with you? Of course, I'm not saying that I want it for free. If you'd give me ^0000ff2 Mystic Horns^000000, I'd give you my Rune-Midgart's Strawberry Cake."; next; switch(select("I haven't seen such a thing.:Oh, ok, I'll give you!")) { case 1: @@ -5979,7 +5996,7 @@ mid_camp,165,245,0 script Ryosen#ep131_rhea01 748,{ mes "[Ryosen]"; mes "... Haha, I'm joking..."; next; - if (countitem(6023) > 4) { + if (countitem(6023) > 1) { mes "[Ryosen]"; mes "Are you really, honestly, positively sure you want to exchange them for my cake?"; next; @@ -5997,7 +6014,7 @@ mid_camp,165,245,0 script Ryosen#ep131_rhea01 748,{ next; mes "[Ryosen]"; mes "I heard you could extract some magical energy form Mystic Horns and use it. Anyway, thank you!"; - delitem 6023,5; //Mystic_Horn + delitem 6023,2; //Mystic_Horn getitem 12319,1; //Strawberry_Cake close; } @@ -6345,7 +6362,7 @@ mid_camp,247,255,1 script Hue#ep131_rhea02 868,{ next; mes "[Hue]"; mes "Could you bring ^0000ffFur^000000 if you get some? I'm not asking it for free."; - mes "I'll give you my Pineapple Jubilee from Schwartzvalt, if you bring me ^0000ff5 Furs^000000."; + mes "I'll give you my Pineapple Jubilee from Schwartzvalt, if you bring me ^0000ff2 Furs^000000."; next; switch(select("I don't have any, right now.:Oh, I'll give you Fur.")) { case 1: @@ -6372,7 +6389,7 @@ mid_camp,247,255,1 script Hue#ep131_rhea02 868,{ mes "[Hue]"; mes "Ah, are you sure you want to exchange?"; next; - if (countitem(6020) > 4) { + if (countitem(6020) > 1) { mes "[Hue]"; mes "Oh, so it's the thing called, Fur??"; next; @@ -6392,7 +6409,7 @@ mid_camp,247,255,1 script Hue#ep131_rhea02 868,{ next; mes "[Hue]"; mes "I always needed this because the weather here is colder then I expected. I'm sure this will keep me warm."; - delitem 6020,5; //Fur + delitem 6020,2; //Fur getitem 12320,1; //Pineapple_Juice close; } @@ -6808,7 +6825,7 @@ mid_camp,222,218,3 script Hansenne#ep131_rhea03 931,{ next; mes "[Hansenne]"; mes "Can you give me a ^0000ffPeaked Hat^000000 if you have any? I'm not asking for free."; - mes "For ^0000ff5 Peaked Hats^000000, I'll give you my special dessert!"; + mes "For ^0000ff2 Peaked Hats^000000, I'll give you my special dessert!"; next; switch(select("No way.:Sure.")) { case 1: @@ -6837,7 +6854,7 @@ mid_camp,222,218,3 script Hansenne#ep131_rhea03 931,{ mes "[Hansenne]"; mes "Ah!!! You have it?"; next; - if (countitem(6021) > 4) { + if (countitem(6021) > 1) { mes "[Hansenne]"; mes "Oh, you really have those!"; next; @@ -6858,7 +6875,7 @@ mid_camp,222,218,3 script Hansenne#ep131_rhea03 931,{ mes "Ehhmmm, thank you!"; mes "Geeeee, thank you!"; mes "Haha, hahaha, hahahahahahahahaha."; - delitem 6021,5; //Peaked_Hat + delitem 6021,2; //Peaked_Hat getitem 12321,1; //Spicy_Sandwich close; } @@ -7654,11 +7671,15 @@ function Catwarp; mes "You can now directly return to this camp."; close; case 2: - if(basicskillcheck() && getskilllv("NV_BASIC") < 6){ + if(!callfunc("F_CanOpenStorage")){ mes "[Cat Hand Agent]"; mes "I'm sorry, but you"; - mes "need the Novice's"; - mes "Basic Skill Level 6 to"; + if(Class == Job_Summoner) + mes "need the New Basic Skill to"; + else { + mes "need the Novice's"; + mes "Basic Skill Level 6 to"; + } mes "use the Storage Service."; close; } @@ -7701,11 +7722,15 @@ function Catwarp; mes "You can now directly return to this camp."; close; case 2: - if(basicskillcheck() && getskilllv("NV_BASIC") < 6){ + if(!callfunc("F_CanOpenStorage")){ mes "[Cat Hand Agent]"; mes "I'm sorry, but you"; - mes "need the Novice's"; - mes "Basic Skill Level 6 to"; + if(Class == Job_Summoner) + mes "need the New Basic Skill to"; + else { + mes "need the Novice's"; + mes "Basic Skill Level 6 to"; + } mes "use the Storage Service."; close; } @@ -7823,11 +7848,15 @@ function Catwarp; mes "You can now directly return to this camp."; close; case 2: - if(basicskillcheck() && getskilllv("NV_BASIC") < 6){ + if(!callfunc("F_CanOpenStorage")){ mes "[Cat Hand Agent]"; mes "I'm sorry, but you"; - mes "need the Novice's"; - mes "Basic Skill Level 6 to"; + if(Class == Job_Summoner) + mes "need the New Basic Skill to"; + else { + mes "need the Novice's"; + mes "Basic Skill Level 6 to"; + } mes "use the Storage Service."; close; } @@ -8319,7 +8348,7 @@ spl_fild02,321,169,0 duplicate(Fishinghole) School of Fish#2 844 spl_fild02,326,171,0 duplicate(Fishinghole) School of Fish#3 844 mid_camp,75,135,0 duplicate(Fishinghole) School of Fish#4 844 -mid_camp,66,122,55 script Henry Clifford 712,{ +mid_camp,66,122,7 script Henry Clifford 712,{ if (countitem(6049) > 0) { mes "[Henry Clifford]"; mes "Congratulations, you've caught a precious Marlin."; @@ -8369,7 +8398,7 @@ mid_camp,66,122,55 script Henry Clifford 712,{ } } -mid_camp,88,100,55 script Cat Hand Mining Agent 876,{ +mid_camp,88,100,7 script Cat Hand Mining Agent 876,{ if (checkquest(12062,PLAYTIME) == -1) { if ((countitem(6048) > 2) && (ep13_yong1 > 9)) { mes "[Cat Hand Mining Agent]"; @@ -8554,7 +8583,7 @@ mid_campin,90,121,5 script Hibba Agip 459,{ } else if (ep13_1_edq == 2) { mes "[Hibba Agip]"; - mes "Oh yes, right... You're" + strcharinfo(0) + ", right? Abidal has told me good things about you."; + mes "Oh yes, right... You're " + strcharinfo(0) + ", right? Abidal has told me good things about you."; next; mes "[Hibba Agip]"; mes "We're lucky to have you, my friend... I hope you're as good as the stories play you up to be."; @@ -8836,27 +8865,11 @@ mid_campin,90,121,5 script Hibba Agip 459,{ cutin "ep13_captin_edq",255; close; } - else if ((ep13_1_edq == 9) && (countitem(11012) < 3)) { - mes "[Hibba Agip]"; - mes "Is something wrong? Alright, we'll write another report for you."; - next; - delitem 11012,1; //Expedition_Report - delitem 11012,1; //Expedition_Report - delitem 11012,1; //Expedition_Report - getitem 11012,3; //Expedition_Report - mes "[Hibba Agip]"; - mes "Let me remind you again. The officials are these three people: ^0000FFMinister Laur^000000 of the Rune Midgarts Kingdom, ^0000FFPriest Nuria^000000 of Arunafeltz and ^0000FFGerhart^000000 of the Schwaltzvalt Republic."; - next; - mes "[Hibba Agip]"; - mes "Make sure to deliver the report to them without fail. Come back in one piece, alright?"; - cutin "ep13_captin_edq",255; - close; - } - else if ((ep13_1_edq == 9) && (countitem(11012) > 3)) { + else if ((ep13_1_edq == 9) && (countitem(11012) != 3)) { mes "[Hibba Agip]"; mes "Is something wrong? Alright, we'll write another report for you."; next; - delitem 11012,20; //Expedition_Report + delitem 11012,countitem(11012); //Expedition_Report getitem 11012,3; //Expedition_Report mes "[Hibba Agip]"; mes "Let me remind you again. The officials are these three people: ^0000FFMinister Laur^000000 of the Rune Midgarts Kingdom, ^0000FFPriest Nuria^000000 of Arunafeltz and ^0000FFGerhart^000000 of the Schwaltzvalt Republic."; @@ -12024,7 +12037,7 @@ OnTouch: que_job01,6,94,0 warp morocc#01 2,2,morocc,45,103 que_job01,17,48,0 warp que_job01#02 2,2,que_job01,68,92 -que_job01,68,96,0 warp que_job01#03 2,2,que_job01,17,53; +que_job01,68,96,0 warp que_job01#03 2,2,que_job01,17,53 que_job01,82,95,3 script Bar Master#moc2_01 46,{ if (checkweight(1201,1) == 0) { @@ -12685,7 +12698,7 @@ OnStop: donpcevent "#room2_1_warp::OnDisable"; donpcevent "#room2_2_warp::OnDisable"; donpcevent "Rin#moc_room2_2::OnDisable"; - donpcevent "Rin#moc_room2_1::OnDisable"; + //donpcevent "Rin#moc_room2_1::OnDisable"; donpcevent "Rayan#moc_room2_2::OnDisable"; donpcevent "que_job01#room_2::OnReset"; stopnpctimer; @@ -12700,7 +12713,7 @@ OnTimer245000: donpcevent "#room2_1_warp::OnDisable"; donpcevent "#room2_2_warp::OnDisable"; donpcevent "Rin#moc_room2_2::OnDisable"; - donpcevent "Rin#moc_room2_1::OnDisable"; + //donpcevent "Rin#moc_room2_1::OnDisable"; donpcevent "Rayan#moc_room2_2::OnDisable"; end; @@ -13827,7 +13840,8 @@ OnTouch: set mao_morocc2,18; changequest 7026,7027; close2; - consumeitem 602; //Wing_Of_Butterfly + //consumeitem 602; //Wing_Of_Butterfly + warp "SavePoint",0,0; end; } else if (mao_morocc2 == 19) { @@ -13919,7 +13933,8 @@ que_dan02,115,53,3 script Man#moc2_crazyR01 456,{ set mao_morocc2,20; changequest 7028,7029; close2; - consumeitem 602; //Wing_Of_Butterfly + //consumeitem 602; //Wing_Of_Butterfly + warp "SavePoint",0,0; donpcevent "Mr. Kidd#moc_extra01::OnDisable"; } else { diff --git a/quests/quests_13_2.txt b/quests/quests_13_2.txt index 023f7c3..e942ece 100644 --- a/quests/quests_13_2.txt +++ b/quests/quests_13_2.txt @@ -99,11 +99,15 @@ spl_fild02,25,211,4 script Cat Hand Agent#spl 421,{ mes "You can now directly return to this camp."; close; case 2: - if(basicskillcheck() && getskilllv("NV_BASIC") < 6){ + if(!callfunc("F_CanOpenStorage")){ mes "[Cat Hand Agent]"; mes "I'm sorry, but you"; - mes "need the Novice's"; - mes "Basic Skill Level 6 to"; + if(Class == Job_Summoner) + mes "need the New Basic Skill to"; + else { + mes "need the Novice's"; + mes "Basic Skill Level 6 to"; + } mes "use the Storage Service."; close; } @@ -146,11 +150,15 @@ spl_fild02,25,211,4 script Cat Hand Agent#spl 421,{ mes "You can now directly return to this camp."; close; case 2: - if(basicskillcheck() && getskilllv("NV_BASIC") < 6){ + if(!callfunc("F_CanOpenStorage")){ mes "[Cat Hand Agent]"; mes "I'm sorry, but you"; - mes "need the Novice's"; - mes "Basic Skill Level 6 to"; + if(Class == Job_Summoner) + mes "need the New Basic Skill to"; + else { + mes "need the Novice's"; + mes "Basic Skill Level 6 to"; + } mes "use the Storage Service."; close; } @@ -267,11 +275,15 @@ spl_fild02,25,211,4 script Cat Hand Agent#spl 421,{ mes "You can now directly return to this camp."; close; case 2: - if(basicskillcheck() && getskilllv("NV_BASIC") < 6){ + if(!callfunc("F_CanOpenStorage")){ mes "[Cat Hand Agent]"; mes "I'm sorry, but you"; - mes "need the Novice's"; - mes "Basic Skill Level 6 to"; + if(Class == Job_Summoner) + mes "need the New Basic Skill to"; + else { + mes "need the Novice's"; + mes "Basic Skill Level 6 to"; + } mes "use the Storage Service."; close; } @@ -535,11 +547,7 @@ spl_fild01,170,74,0 duplicate(FishingHole_spl3) School of Fish#14 844 //============================================================ spl_in01,32,306,3 script Splendide Guard#ep13md01 447,2,2,{ if (checkweight(1201,2) == 0) { - mes "Wait a moment!!"; - mes "You have too many items."; - mes "You can't receive this."; - mes "Lighten your weight and"; - mes "try again."; + mes "- You have too many items to proceed with the quest. -"; close; } if ((isequipped(2782) == 1) && (ep13_2_rhea > 99)) { @@ -1101,11 +1109,7 @@ OnTouch: nyd_dun01,58,223,0 script Petrified Sapha#ep13md03 844,{ if (checkweight(1201,2) == 0) { - mes "Wait a moment!!"; - mes "You have too many items."; - mes "You can't receive this."; - mes "Lighten your weight and"; - mes "try again."; + mes "- Can not proceed with the quest with too many items in the inventory. -"; close; } if (ep13_mdrama == 6) { @@ -1351,13 +1355,10 @@ OnTouch: close; } } + manuk,278,177,5 script Villager#ep13_11 454,{ if (checkweight(1201,2) == 0) { - mes "Wait a moment!!"; - mes "You have too many items."; - mes "You can't receive this."; - mes "Lighten your weight and"; - mes "try again."; + mes "- You have too many items to proceed with the quest. -"; close; } if (isequipped(2782) == 1) { @@ -1451,11 +1452,7 @@ manuk,278,177,5 script Villager#ep13_11 454,{ manuk,281,177,3 script Villager#ep13_12 449,{ if (checkweight(1201,2) == 0) { - mes "Wait a moment!!"; - mes "You have too many items."; - mes "You can't receive this."; - mes "Lighten your weight and"; - mes "try again."; + mes "- You have too many items to proceed with the quest. -"; close; } if (isequipped(2782) == 1) { @@ -1553,11 +1550,7 @@ manuk,281,177,3 script Villager#ep13_12 449,{ man_in01,175,59,5 script Snorren#ep13_13 454,{ if (checkweight(1201,2) == 0) { - mes "Wait a moment!!"; - mes "You have too many items."; - mes "You can't receive this."; - mes "Lighten your weight and"; - mes "try again."; + mes "- You have too many items to proceed with the quest. -"; close; } if (isequipped(2782) == 1) { @@ -1885,11 +1878,7 @@ man_in01,65,125,0 warp to_out2#ep13mdwarp03 1,1,man_in01,179,58 man_in01,22,126,3 script Captured Laphine#ep13md 441,{ if (checkweight(1201,2) == 0) { - mes "Wait a moment!!"; - mes "You have too many items."; - mes "You can't receive this."; - mes "Lighten your weight and"; - mes "try again."; + mes "- You have too many items to proceed with the quest. -"; close; } if (isequipped(2782) == 1) { @@ -2060,11 +2049,7 @@ man_in01,22,126,3 script Captured Laphine#ep13md 441,{ man_in01,17,128,5 script Snorren#ep13md_15 454,{ if (checkweight(1201,2) == 0) { - mes "Wait a moment!!"; - mes "You have too many items."; - mes "You can't receive this."; - mes "Lighten your weight and"; - mes "try again."; + mes "- You have too many items to proceed with the quest. -"; close; } if (isequipped(2782) == 1) { @@ -2190,11 +2175,7 @@ man_in01,17,128,5 script Snorren#ep13md_15 454,{ man_in01,19,126,3 script Luik#ep13md16 450,{ if (checkweight(1201,2) == 0) { - mes "Wait a moment!!"; - mes "You have too many items."; - mes "You can't receive this."; - mes "Lighten your weight and"; - mes "try again."; + mes "- You have too many items to proceed with the quest. -"; close; } if (isequipped(2782) == 1) { @@ -2367,11 +2348,7 @@ OnTouch: spl_in02,236,92,5 script Arc#ep13md_l02 447,{ if (checkweight(1201,2) == 0) { - mes "Wait a moment!!"; - mes "You have too many items."; - mes "You can't receive this."; - mes "Lighten your weight and"; - mes "try again."; + mes "- You have too many items to proceed with the quest. -"; close; } if (isequipped(2782) == 1) { @@ -2548,15 +2525,11 @@ OnTouch: } } -spl_in02,236,86,0 warp terrashome_out 1,1,splendide,285,139; +spl_in02,236,86,0 warp terrashome_out 1,1,splendide,285,139 spl_fild01,357,44,0 script ???#ep13mdf01 844,{ if (checkweight(1201,2) == 0) { - mes "Wait a moment!!"; - mes "You have too many items."; - mes "You can't receive this."; - mes "Lighten your weight and"; - mes "try again."; + mes "- You have too many items to proceed with the quest. -"; close; } if (ep13_mdrama == 14) { @@ -2601,11 +2574,7 @@ spl_fild01,357,44,0 script ???#ep13mdf01 844,{ spl_fild01,312,79,0 script ???#ep13mdf02 844,{ if (checkweight(1201,2) == 0) { - mes "Wait a moment!!"; - mes "You have too many items."; - mes "You can't receive this."; - mes "Lighten your weight and"; - mes "try again."; + mes "- You have too many items to proceed with the quest. -"; close; } if (ep13_mdrama == 15) { @@ -2650,11 +2619,7 @@ spl_fild01,312,79,0 script ???#ep13mdf02 844,{ spl_fild01,329,29,0 script ???#ep13mdf03 844,{ if (checkweight(1201,2) == 0) { - mes "Wait a moment!!"; - mes "You have too many items."; - mes "You can't receive this."; - mes "Lighten your weight and"; - mes "try again."; + mes "- You have too many items to proceed with the quest. -"; close; } if (ep13_mdrama == 16) { @@ -2707,11 +2672,7 @@ spl_fild01,329,29,0 script ???#ep13mdf03 844,{ //============================================================ manuk,252,116,3 script Manuk Galtun#ep13_2day 450,{ if (checkweight(1201,2) == 0) { - mes "Wait a moment!!"; - mes "You have too many items."; - mes "You can't receive this."; - mes "Lighten your weight and"; - mes "try again."; + mes "- You can't start quest since you are overweighed. -"; close; } if ((isequipped(2782) == 1) && (ep13_2_rhea > 99)) { @@ -2823,11 +2784,7 @@ manuk,252,116,3 script Manuk Galtun#ep13_2day 450,{ //============================================================ man_in01,378,276,3 script Manuk Engineer#ep13_2 453,{ if (checkweight(1201,2) == 0) { - mes "Wait a moment!!"; - mes "You have too many items."; - mes "You can't receive this."; - mes "Lighten your weight and"; - mes "try again."; + mes "- You can't start quest since you are overweighed. -"; close; } if ((isequipped(2782) == 1) && (ep13_2_rhea > 99)) { @@ -2930,11 +2887,7 @@ man_in01,378,276,3 script Manuk Engineer#ep13_2 453,{ spl_in01,97,313,3 script Laphine Craftsman#ep13 446,{ if (checkweight(1201,2) == 0) { - mes "Wait a moment!!"; - mes "You have too many items."; - mes "You can't receive this."; - mes "Lighten your weight and"; - mes "try again."; + mes "- You can't start quest since you are overweighed. -"; close; } if ((isequipped(2782) == 1) && (ep13_2_rhea > 99)) { @@ -3049,11 +3002,7 @@ spl_in01,97,313,3 script Laphine Craftsman#ep13 446,{ mid_camp,146,306,3 script Pet Breeder#ep13_eden01 982,{ if (checkweight(1201,2) == 0) { - mes "Wait a moment!!"; - mes "You have too many items."; - mes "You can't receive this."; - mes "Lighten your weight and"; - mes "try again."; + mes "- You can't start quest since you are overweighed. -"; close; } if (ep13_mdrama < 6) { @@ -3279,7 +3228,7 @@ mid_camp,192,239,4 script Wanted Sign#ep13_2ect01 857,{ - script Dragon Egg#ep13_degg_0 -1,{ if (checkweight(1201,2) == 0) { - mes "- You're carrying too many items. -"; + mes "- You can't start quest since you are overweighed. -"; close; } if ((ep13_2_dayegg == 1) && (countitem(6093) < 10)) { @@ -3314,7 +3263,7 @@ nyd_dun01,59,185,0 duplicate(Dragon Egg#ep13_degg_0) Dragon Egg#ep13_degg06 463 nyd_dun02,68,256,0 script Dragon Egg#ep13_degg_1 463,{ if (checkweight(1201,2) == 0) { - mes "- You're carrying too many items. -"; + mes "- You can't start quest since you are overweighed. -"; close; } if ((ep13_2_dayegg == 1) && (countitem(6093) < 10)) { @@ -3345,7 +3294,7 @@ nyd_dun02,200,165,0 duplicate(Dragon Egg#ep13_degg_1) Dragon Egg#ep13_degg13 463 nyd_dun02,201,166,0 script Dragon Egg#ep13_degg_2 463,{ if (checkweight(1201,2) == 0) { - mes "- You're carrying too many items. -"; + mes "- You can't start quest since you are overweighed. -"; close; } if ((ep13_2_dayegg == 1) && (countitem(6093) < 10)) { @@ -4470,6 +4419,10 @@ mid_camp,147,256,3 script Rune Midgarts Magician#1 735,{ } function script jewel_13_2 { + if (checkweight(1201,2) == 0) { + mes "- You can't start quest since you are overweighed. -"; + close; + } if (ep13_2_rhea < 5) { mes "- Under a round pile of earth, -"; mes "- there's a "+getarg(0)+" Gem -"; @@ -4714,8 +4667,8 @@ man_in01,372,221,5 script Scientist#lifeguard 449,{ } else if ((ep13_2_tre == 1) || (ep13_2_tre == 100)) { if (checkweight(1201,1) == 0) { - mes "It looks like you're carrying too many things."; - mes "Why not put some of your items in storage and come back?"; + mes "You look like a traveller."; + mes "You look carrying too much, why don't lighten your body first?"; close; } set .@dayq_chk,checkquest(2182,PLAYTIME); @@ -5463,8 +5416,8 @@ spl_in01,30,324,3 script High Laphine#grenouille 446,{ if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { if (checkweight(1201,1) == 0) { mes "[Grenouille]"; - mes "It looks like you're carrying too many things."; - mes "Why not put some of your items in storage and come back?"; + mes "You look like a traveller."; + mes "You look carrying too much, why don't lighten your body first?"; close; } set .@dayq_chk,checkquest(2186,PLAYTIME); @@ -5697,8 +5650,8 @@ spl_in02,139,65,3 script Middle-Ranked Laphine#la 438,{ if ((isequipped(2782) == 1) && (ep13_2_rhea == 100)) { if (checkweight(1201,1) == 0) { mes "[Flowery]"; - mes "It looks like you're carrying too many things."; - mes "Why not put some of your items in storage and come back?"; + mes "You look like a traveller."; + mes "And you look so heavy, too."; close; } if (ep13_2_tre1 == 1) { @@ -6226,11 +6179,19 @@ OnTimer60000: //============================================================ mid_camp,283,198,5 script Bazett Teablack#ep13bs 883,{ if (checkweight(1201,1) == 0) { - mes " - Hold on!! -"; - mes " - You are carrying too many different items - "; - mes " - You cannot receive the reward - "; - mes " - Please use the Kafra service - "; - mes " - And try again. - "; + mes "- Wait a minute!! -"; + mes "- You already have lots of items. -"; + mes "- You can't get more. -"; + mes "- Make your weight more lightly -"; + mes "- then try again. -"; + close; + } + if (MaxWeight < 1000) { + mes "- Wait a minute!! -"; + mes "- You don't have extra weight. -"; + mes "- You can't get more. -"; + mes "- Make your weight more lightly -"; + mes "- then try again. -"; close; } if (ep13_2_rhea < 100) { diff --git a/quests/quests_airship.txt b/quests/quests_airship.txt index 52d5216..54b125f 100644 --- a/quests/quests_airship.txt +++ b/quests/quests_airship.txt @@ -1,23 +1,23 @@ -//===== rAthena Script ======================================= +//===== rAthena Script ======================================= //= Airship Related Quests -//===== By: ================================================== +//===== By: ================================================== //= Samuray22 -//===== Current Version: ===================================== -//= 2.1 -//===== Compatible With: ===================================== +//===== Current Version: ===================================== +//= 3.0 +//===== Compatible With: ===================================== //= rAthena SVN -//===== Description: ========================================= +//===== Description: ========================================= //= Quest from the airplane to einbroch and einbech. //= Reward: -Free Ticket for Flyship. -//= -Free System to Repair. +//= -Free System to Repair. //= Quest about how work the airship //= Reward: -Base Experience 200,000 -//= -Job Experience 10,000 -//===== Additional Comments: ================================= +//= -Job Experience 10,000 +//===== Additional Comments: ================================= //= 1.0 First Beta. //= 1.1 Added Heart Fragment quest. [SinSloth] //= 1.2 Change the laboratory code text to make it easier to -//= understand. [SinSloth] +//= understand. [SinSloth] //= 1.3 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf] //= 1.3a Corrected a Typo error ";;". [Samuray22] //= 1.4 Fixed incorrect variable type used. [L0ne_W0lf] @@ -25,115 +25,97 @@ //= 1.6 Changed some variables to scope instead of permanent char. [brianluau] //= 1.7 some minor cleanup updates to the airship invasion. [L0ne_W0lf] //= 1.8 Added quest log entries for: -//= - Airship Ticket Quest -//= - How the Airship Works +//= - Airship Ticket Quest +//= - How the Airship Works //= 1.9 Fixed missing checks for How the Airship Works quest. [Joseph] //= 2.0 Updated RE/Pre-RE EXP. [Euphy] //= 2.1 Updated Airship Ticket Quest with some missing parts. [Euphy] -//============================================================ +//= 3.0 Updated to match official version & clean-up. [Capuche] +//============================================================ // Airship Ticket Quest :: ein_tre //============================================================ -/* Note: this is an iRO conversion, and does not exactly match the official script. */ - //---------------------------------------------------------------------------- // Kain Himere //---------------------------------------------------------------------------- -airplane,47,61,7 script Crewman 833,{ +airplane,47,61,7 script Crewman 4_M_ZONDAOYAJI,{ + mes "[Kain Himere]"; if (kain_ticket == 4) { - mes "[Kain Himere]"; mes "Ah..."; mes "Here it is!"; next; mes "[Kain Himere]"; - mes "A few days ago, a customer from Einbroch left this on the Airship. He contacted us later to let us know that he can't come back to the Airship to get it."; + mes "A few days ago, a customer"; + mes "from Einbroch left this on the"; + mes "Airship. He called and let us"; + mes "know that he can't come back"; + mes "to get it, but he is staying"; + mes "over at the Einbroch Hotel."; next; mes "[Kain Himere]"; - mes "His name is Defru Ark. Currently, he's staying at the Einbroch Hotel. Would you be willing to deliver this for me?"; - next; - mes "[Kain Himere]"; - mes "It's a strange favor to ask, but I'll pay you back as soon as you return."; + mes "I know it's a strange"; + mes "favor to ask, but would"; + mes "you deliver this to Defru"; + mes "Ark at the Einbroch Hotel?"; + mes "Of course, I'll repay you"; + mes "upon your return."; next; setquest 2079; - set kain_ticket, 5; + kain_ticket = 5; mes "^3355FFKain Himere has given you a small box.^000000"; close; } - mes "[Kain Himere]"; - mes "Welcome to the Airship. If you have any questions or need any assistnace, please don't hesisitate to let me or one of the other crewman know."; + mes "Welcome to the Airship~"; + mes "If you have questions or"; + mes "need any assistance, please"; + mes "don't hesitate to ask me or"; + mes "any one of the other crewmen."; next; - if (kain_ticket == 0) { - switch(select("About the Airship...:Leave a Comment")) { + if (kain_ticket == 0 || kain_ticket == 1) { + switch(select("About the Airship...", "Leave a Comment" )) { case 1: - set kain_ticket, 1; - mes "[Kain Himere]"; - mes "Is this your first time flying? Hahaha, I understand how nervous you might be since I used to feel the same way."; - next; - mes "[Kain Himere]"; - mes "Our country has made rapid progress in the field of science. Scientific advances have obviously affected our way of life, sort of like how magic improved life in Rune-Migarts."; - next; - mes "[Kain Himere]"; - mes "In the Schwaltzwald Republic, we have many scholars who've invented a ship that can fly between towns."; - next; - mes "[Kain Himere]"; - mes "It's powered through just a little piece from the Heart of Ymir. This flying ship is a source of pride and joy for our nation."; - next; - mes "["+strcharinfo(0)+"]"; - mes "Is there any other transportation?"; - next; - mes "[Kain Himere]"; - mes "Weeeell, there's a train that runs between Einbech and Einbroch. But other than that, I guess you'd have to walk. Hahahaha~"; - close; - case 2: mes "[Kain Himere]"; - mes "You wish to leave"; - mes "a comment about our"; - mes "service? Tell me your"; - mes "message and I'll report"; - mes "it to the higher ups."; - mes "To cancel, press '0'."; - next; - input .@comment$; - if (.@comment$ == "kafra") { + kain_ticket++; + if (kain_ticket == 1) { + mes "Is this your first time flying?"; + mes "I understand if you feel nervous. Before I worked here, I used to feel the same way. Still, this"; + mes "Airship is pretty amazing. It's incredible what science can do..."; + next; mes "[Kain Himere]"; - mes "K-Kafra...?"; - mes "Hmm, maybe I better"; - mes "not send this up after all..."; - emotion e_an; - close; - } else if (.@comment$ == "0") { + mes "I hear from the scholars"; + mes "who developed the Airship"; + mes "technology that just a little"; + mes "piece of the heart of Ymir"; + mes "generates the power for"; + mes "this ship to fly. Incredible..."; + next; mes "[Kain Himere]"; - mes "Ah, well, if you"; - mes "have any helpful criticism about our service, feel free to leave me with your comments at any time."; - close; - } else { - mes "["+strcharinfo(0)+"]"; - mes .@comment$+"."; + mes "You know, scientific research"; + mes "has made living easier and more"; + mes "comfortable in the Schwaltzvalt"; + mes "Republic, much in the way magic"; + mes "research has changed life in the Rune-Midgarts Kingdom."; + } + else { + mes "You want to hear more"; + mes "about the Airship? Hmm,"; + mes "there's not too much that"; + mes "I know, but let me see..."; next; mes "[Kain Himere]"; - mes "Hmmmm..."; - mes "I see. Well, I'll"; - mes "send your message"; - mes "to my superiors as"; - mes "soon as possible."; - mes "Thank you very much."; - close; + mes "Well, it's rumored that this"; + mes "really big corporation runs"; + mes "this Airship. Supposedly,"; + mes "they've got their hands in"; + mes "all sorts of enterprises."; + next; + mes "[Kain Himere]"; + mes "Since the Airships are our"; + mes "form of national transportation,"; + mes "the higher-ups must be making"; + mes "a ton of money. It's pretty crazy."; } - } - } else if (kain_ticket == 1) { - switch(select("About the Airship...:Make a remark")) { - case 1: - set kain_ticket, 2; - mes "[Kain Himere]"; - mes "You want to hear more"; - mes "about the Airship? Hmm, I don't know too many stories that I could tell you."; - next; - mes "[Kain Himere]"; - mes "Well, it's rumored that this really huge corporation runs this Airship. Supposedly, they've got their hands in all sorts of enterprises."; - next; - mes "[Kain Himere]"; - mes "Since the Airships are our form of national transportation, I guess that corporation makes a lot of money. Good news for them, huh?"; close; case 2: mes "[Kain Himere]"; @@ -151,12 +133,12 @@ airplane,47,61,7 script Crewman 833,{ mes "Hmm, maybe I better"; mes "not send this up after all..."; emotion e_an; - close; } else if (.@comment$ == "0") { mes "[Kain Himere]"; - mes "Ah, well, if you"; - mes "have any helpful criticism about our service, feel free to leave me with your comments at any time."; - close; + mes "Ah, well, if you have any"; + mes "helpful criticism about our"; + mes "service, feel free to leave"; + mes "me a comment at any time."; } else { mes "["+strcharinfo(0)+"]"; mes .@comment$+"."; @@ -168,166 +150,177 @@ airplane,47,61,7 script Crewman 833,{ mes "to my superiors as"; mes "soon as possible."; mes "Thank you very much."; - close; } - } - } else if (kain_ticket == 2) { - mes "["+strcharinfo(0)+"]"; - mes "About the Airship..."; - next; - mes "[Kain Himere]"; - mes "You must really want to know all about the Airship, don't you? I'm sorry, but I don't know much more than what I've already told you."; - next; - mes "[Kain Himere]"; - mes "I guess if you'd want to know more, you should study to become a Sage in Juno and do your own Airship research..."; - next; - mes "[Kain Himere]"; - mes "^666666*Sob...*^000000"; - mes "E-excuse me..."; - mes "^666666*Sniff*^000000"; - next; - switch(select("What the hell...?:What's wrong?")) { - case 1: - mes "[Kain Himere]"; - mes "Oh, no there's no"; - mes "need to apologize. I've kept you long enough as it is. I hope you travel safely, adventurer."; close; - case 2: - mes "[Kain Himere]"; - mes "You..."; - mes "I'm sorry, it's"; - mes "a long story."; - mes "But... if you understand me, thanks a lot to listen my story."; - next; - mes "[Kain Himere]"; - mes "Oh alright."; - mes "I might as well"; - mes "get this off my chest."; - mes "I guess my story begins"; - mes "when I was a very young man..."; - next; - mes "[Kain Himere]"; - mes "I..."; - mes "I used to be a miner in Einbech, a small mining town beside of Einbroch. I was hot-blooded and short-tempered."; - next; - mes "[Kain Himere]"; - mes "But working with my friends and staking our lives on our mining picks brought me peace of mind. It was good, hard work."; - next; - mes "[Kain Himere]"; - mes "The lode of Einvech is so huge, it even connects to Mount Mjolnir in Rune-Midgard. It's full of ores and that lode used to be everything to our little town..."; - next; - mes "[Kain Himere]"; - mes "Then the factories started popping up. All the ores were mined were moved to those factories, and the smokestacks never stopped churning."; - next; - mes "[Kain Himere]"; - mes "More miners moved to the factories and the work got a little lonelier. But I kept at it-- I loved working on the land that much."; - next; - mes "[Kain Himere]"; - mes "But then, the accident happened and I couldn't use my right arm the way I used to. So I had to quit my job as a miner..."; - next; - mes "["+strcharinfo(0)+"]"; - mes "I'm sorry to hear that."; - next; - mes "[Kain Himere]"; - mes "Yeah..."; - mes "I felt horrible when it happened. That was the worst time in my life..."; - next; - mes "[Kain Himere]"; - mes "Right after I quit mining, I was deeply depressed. I couldn't think of life without mining and suffered from depression."; - next; - mes "[Kain Himere]"; - mes "I pretty much lost my enthusiasm for life. I started turning to drink and away from my family. It was such a stupid thing to do."; - next; - mes "[Kain Himere]"; - mes "My wife was so supportive. Even though I spent my days drinking, so took on a job and tried her best to sooth my sorrow."; - next; - mes "[Kain Himere]"; - mes "^666666*Sob*^000000"; - mes "I only realized how much I made her suffer after she died."; - next; - mes "[Kain Himere]"; - mes "Then it was me and just my daughter. I had to leave her behind with a neighbor while I tried to find work and inner peace."; - next; - mes "[Kain Himere]"; - mes "I wandered from town to town and lived a pretty wild life before I could pick myself back up again."; - next; - mes "[Kain Himere]"; - mes "Finally, I became a crewman on this Airship. It's been twenty years... I can't even remember my daughter's name."; - next; - mes "["+strcharinfo(0)+"]"; - mes "Where is she by now?"; - next; + } + } else if (kain_ticket == 2 || kain_ticket == 3) { + if (kain_ticket == 3) { mes "[Kain Himere]"; - mes "I went to the house where my neighbor lived, but they're not there anymore. But it's not like I deserve to see her again..."; + mes "Oh, how are you?"; + mes "If you don't mind me"; + mes "asking, where are you"; + mes "headed this time?"; + } else { + select("About the Airship..."); next; mes "[Kain Himere]"; - mes "^666666*Sob*^000000 I've lived such a terrible life! But thank you for listening to me."; + mes "You must really want to know all about the Airship, don't you? I'm sorry, but I don't know much more than what I've already told you."; next; mes "[Kain Himere]"; - mes "I'm sorry that you had to hear all of that. Now tell me, where are you headed?"; + mes "I guess if you'd want to know more, you should study to become a Sage in Juno and do your own Airship research..."; next; mes "[Kain Himere]"; - mes "By the way, where are you heading to?"; + mes "^666666*Sob...*^000000"; + mes "E-excuse me..."; + mes "^666666*Sniff*^000000"; next; - switch(select("Einbroch:Juno")) { + switch(select("What the hell...?:What's wrong?")) { case 1: - set kain_ticket, 4; - mes "["+strcharinfo(0)+"]"; - mes "I'm heading"; - mes "to Einbroch."; - next; mes "[Kain Himere]"; - mes "Perfect...!"; - mes "Now, let me find"; - mes "that thing. Hold on..."; + mes "I-I'm sorry..."; + mes "That was so"; + mes "unprofessional."; + mes "H-have a safe trip"; + mes "and th-thank you for"; + mes "using the Airship! ^333333*Sob*^000000"; close; case 2: - set kain_ticket, 3; - mes "["+strcharinfo(0)+"]"; - mes "I'm heading"; - mes "to Juno."; + mes "[Kain Himere]"; + mes "I'm sorry, but it's"; + mes "a long story. Plus,"; + mes "you wouldn't understand..."; next; + select("I have time for a long story."); mes "[Kain Himere]"; - mes "Ah, I see..."; - mes "There was something"; - mes "I needed sent to Einbroch. Anyway, I hope you have a good trip. Oh, and thanks for listening."; - close; + mes "Alright, I might as well get"; + mes "this off my chest. I guess it"; + mes "all started when I was a young"; + mes "man living in Einbech."; + next; + mes "[Kain Himere]"; + mes "Those days, I was pretty hot"; + mes "headed and short tempered,"; + mes "but working as a miner used to"; + mes "always bring me a sense of peace. Staking my life with my friends, mining pick in hand. Yeah..."; + next; + mes "[Kain Himere]"; + mes "It might have been dangerous,"; + mes "but it was good, hard and honest work. You know, the mines that connected to the Einbech lode"; + mes "used to be everything to our little town. But then, things changed..."; + next; + mes "[Kain Himere]"; + mes "The factories started popping"; + mes "up and all the ores were moved"; + mes "to where the smokestacks never"; + mes "stopped churning. More miners"; + mes "started working in the factories and the mines became lonelier..."; + next; + mes "[Kain Himere]"; + mes "But I loved working on the"; + mes "land so much, I kept at it"; + mes "until the accident happened."; + mes "Now I can't use my right arm"; + mes "the way I used to, so I had to"; + mes "quit my job as a miner..."; + next; + select("I'm sorry to hear that."); + next; + mes "[Kain Himere]"; + mes "Yeah..."; + mes "I was really devastated"; + mes "when it happened. Those"; + mes "were probably the worst"; + mes "years of my entire life."; + next; + mes "[Kain Himere]"; + mes "I couldn't think about"; + mes "life without mining and"; + mes "I just lost all enthusiasm"; + mes "for life. I developed a drinking problem and started shutting out my family. I was so stupid..."; + next; + mes "[Kain Himere]"; + mes "I still can't believe how"; + mes "supportive my wife was during"; + mes "those days. Even when I was at"; + mes "my lowest, she tried to sooth my sorrow and even took on a job"; + mes "to support me and our daughter."; + next; + mes "[Kain Himere]"; + mes "^666666*Sob*^000000 It was only after she"; + mes "died that I realized how much"; + mes "she must have suffered. To make"; + mes "matters worse, I had to leave my daughter behind with a neighbor"; + mes "while I searched for work..."; + next; + mes "[Kain Himere]"; + mes "I spent years wandering"; + mes "from town to town, living"; + mes "a pretty wild life until I could pick myself up again. And finally, I became an Airship crewman."; + next; + mes "[Kain Himere]"; + mes "It's been twenty years"; + mes "since I've lost my family."; + mes "My daughter is somewhere"; + mes "out there, but I can't even"; + mes "remember her name..."; + next; + select("Have you tried looking for her?"); + mes "[Kain Himere]"; + mes "I tried going to the house"; + mes "where my neighbor had lived,"; + mes "but they moved out years ago."; + mes "I really have no clue where she"; + mes "could be. But I don't deserve to see her. I was a horrible father!"; + next; + mes "[Kain Himere]"; + mes "^666666*Sob*^000000 I'm sorry you"; + mes "had to hear all of that,"; + mes "but I really appreciate that"; + mes "you've listened to me. Now"; + mes "tell me, where are you headed?"; + break; } } - } else if (kain_ticket == 3) { - mes "[Kain Himere]"; - mes "Oh, how are you?"; - mes "Right, there's a favor I have to ask of you. Where are you heading?"; next; switch(select("Einbroch:Juno")) { case 1: - set kain_ticket, 4; + kain_ticket = 4; mes "["+strcharinfo(0)+"]"; mes "I'm heading"; mes "to Einbroch."; next; mes "[Kain Himere]"; mes "Perfect...!"; - mes "Now, let me find"; - mes "that thing. Hold on..."; + mes "If you don't mind,"; + mes "would you do a favor"; + mes "for me? First, let me"; + mes "find that package..."; close; case 2: + kain_ticket = 3; mes "["+strcharinfo(0)+"]"; - mes "I am heading to Juno."; + mes "I'm heading"; + mes "to Juno."; next; mes "[Kain Himere]"; mes "Ah, I see..."; mes "There was something"; - mes "I needed sent to Einbroch. If you're not going there, then don't worry about it."; + mes "I needed sent to Einbroch."; + mes "Anyway, have a good trip."; + mes "Oh, and thanks for listening."; close; } } else if (kain_ticket > 4 && kain_ticket < 10) { mes "[Kain Himere]"; mes "Oh hello!"; - mes "Things are a little busy right now, but did you delive-- Oh! Wait, mister!"; - next; - mes "^3355FFKain seems too busy to speak to you right now...^000000"; - close; + mes "Things are a little"; + mes "hectic right now, but"; + mes "did you delive-- Oh!"; + mes "Wait, excuse me! Sir--!"; + next; + mes "^3355FFKain seems too"; + mes "busy to speak to"; + mes "you right now...^000000"; } else if (kain_ticket == 10) { mes "[Kain Himere]"; mes "Welcome back to the Airship. So did you deliver that little box safely?"; @@ -339,73 +332,124 @@ airplane,47,61,7 script Crewman 833,{ mes "Oh..."; mes "What should I do now? Oh well, sorry for putting you through so much trouble."; next; - switch(select("Do you know 'Miner's Song?':Do you remember 'Tarsha?'")) { + switch(select("Casually mention Miner's Song", "Suavely mention Tarsha")) { case 1: - mes "[Kain Himere]"; - mes "'Miner's Song...'"; - mes "I miss that singing that at the mines. It was my very favorite when I was young."; - next; - mes "[Kain Himere]"; - mes "I think that when I used to sing it, my daughter would run to me and sing along. Yeah..."; - close; - case 2: - mes "[Kain Himere]"; - mes "T-Tarsha?"; - mes "Why is that name"; - mes "so familiar...?"; - next; - mes "["+strcharinfo(0)+"]"; - mes "I met a little girl in Einbroch who was singing 'Miner's Song.' Apparently, her mother, Tarsha, taught it to her."; - next; - mes "[Kain Himere]"; - mes "Interesting."; - mes "But usually only"; - mes "miners know that"; - mes "song. What does this"; - mes "have to do with me?"; - next; - mes "["+strcharinfo(0)+"]"; - mes "Well, Tarsha remembers her father singing her song, so it's possible that ^000066he^000000 was a miner. And since her father disappeared years ago..."; + mes "["+ strcharinfo(0) +"]"; + mes "While we're on the topic"; + mes "of boxes and deliveries,"; + mes "have you ever heard of"; + mes "the ''Miner's Song?''"; next; mes "[Kain Himere]"; - mes "Poor girl...!"; - mes "Her father"; - mes "just left her?"; - mes "Why, she's just like..."; + mes "''Miner's Song...''"; + mes "I miss singing that"; + mes "while working the mines."; + mes "I used to sing it all the time"; + mes "when I was younger, actually."; next; mes "[Kain Himere]"; - mes "Wait..."; - mes "Sweet Christ..."; - mes "The miner who taught Tarsha that song might have been ^0000FFme^000000."; - next; - mes "["+strcharinfo(0)+"]"; - mes "I guess we can't be too sure for now. Do you have anything that might prove you're Tarsha's father?"; - next; - mes "[Kain Himere]"; - mes "Ehhmmm..."; - mes "Before I left town, I buried some of my stuff ^3131FFunderneath a tree in Einbech^000000. I can't remember where, but I did bury my wife's journal with my things."; - next; - mes "[Kain Himere]"; - mes "Since she kept track of everything, I think there'd be something about our daughter in there. I'm sorry, but I can't leave the Airship."; + mes "I think I sang it so"; + mes "much, I even got my little"; + mes "daughter to sing it with me~"; + mes "(But what was her name?!)"; + break; + case 2: + mes "["+ strcharinfo(0) +"]"; + mes "^333333*Cough cough*"; + mes "*Cou--TARSHA--Cough*^000000"; next; mes "[Kain Himere]"; - mes "Would be so kind as to help me by finding that journal and seeing if Tarsha is my daughter?"; - changequest 2081,2082; - set kain_ticket, 11; - close; + mes "What the...?"; + mes "Wait. T-Tarsha..."; + mes "Why does it feel like that"; + mes "name means something?"; + break; } + next; + mes "["+strcharinfo(0)+"]"; + mes "You know..."; + mes "I met a little girl in Einbroch"; + mes "who was singing the ''Miner's"; + mes "Song.'' It seems her mother"; + mes "Tarsha had taught it to her."; + next; + mes "[Kain Himere]"; + mes "Interesting. But usually,"; + mes "only miners would know "; + mes "that song. Does this have"; + mes "anything to do with me?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Well, this little girl's mother, Tarsha, learned the song from"; + mes "her father who might have been"; + mes "a miner. But he mysteriously"; + mes "disappeared years ago..."; + next; + mes "[Kain Himere]"; + mes "Poor girl...!"; + mes "Her father just"; + mes "left her?! Why,"; + mes "she's just like..."; + next; + mes "[Kain Himere]"; + mes "Wait..."; + mes "Sweet Christ..."; + mes "The miner who taught"; + mes "Tarsha that song might"; + mes "have been... ^0000FFme^000000."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Well, for now, we can't"; + mes "be too sure. Do you have"; + mes "anything that might prove"; + mes "you're Tarsha's father?"; + next; + mes "[Kain Himere]"; + mes "Ehhmmm..."; + mes "Before I left own, I buried"; + mes "some of my stuff underneath"; + mes "a tree in Einbech. I can't exactly remember where, but my wife's"; + mes "journal should be there."; + next; + mes "[Kain Himere]"; + mes "Since my wife kept track"; + mes "of everything in her journal,"; + mes "she should have written enough"; + mes "about our daughter for us to know whether or not this Tarsha could be my long lost daughter."; + next; + mes "[Kain Himere]"; + mes "Now, I can't really leave"; + mes "the Airship, so would you help"; + mes "me by finding that journal and"; + mes "seeing if Tarsha is really related to me somehow? I'd be grateful"; + mes "if you could do that for me..."; + changequest 2081,2082; + kain_ticket = 11; } else if (kain_ticket == 11 || kain_ticket == 12) { mes "[Kain Himere]"; - mes "My wife's journal is buried ^3131FFunderneath a tree in Einbech^000000. Please find it and see if Tarsha is my daughter."; - close; + mes "Would you find my wife's"; + mes "journal and see if Tarsha"; + mes "is really my daughter? The"; + mes "journal should be buried"; + mes "underneath a tree in Einbech."; } else if (kain_ticket == 13) { - mes "^3355FFYou better fulfill Kain's request to find his wife's journal in Einbech before you speak to him again.^000000"; - close; + mes "^3355FFYou better fulfill Kain's"; + mes "request by finding his wife's"; + mes "journal and confronting Tarsha"; + mes "before you speak to him again.^000000"; } else if (kain_ticket == 14) { - if (countitem(7276)==1) { - mes "^3355FFYou gave Kain his wife's journal and told him that Tarsha really is is daughter, and currently has a job in Einbech.^000000"; - next; - mes "^3355FFKain's eyes welled with tears as he trembled with joy.^000000"; + if (countitem(7276) == 1) {// Picture_Letter + mes "^3355FFYou give his wife's"; + mes "journal to Kain and tell"; + mes "him that you learn that Tarsha"; + mes "is really his daughter and that"; + mes "she is happily married and is"; + mes "an inventor in Einbroch.^000000"; + next; + mes "^3355FFKain's eyes well"; + mes "with tears and his"; + mes "entire body trembles"; + mes "with unrestrainable joy."; next; mes "[Kain Himere]"; mes "She must have"; @@ -416,26 +460,35 @@ airplane,47,61,7 script Crewman 833,{ mes "[Kain Himere]"; mes "Rashelle?"; mes "Can you see me?"; - mes "Can I be this happy?"; - mes "I'm so sorry, my love..."; - mes "^666666*Sob...*^000000"; + mes "Can I really be this"; + mes "happy? I'm so sorry,"; + mes "my love... ^666666*Sob...*^000000"; next; mes "[Kain Himere]"; - mes "Thank you for all of your help, youngster. And please take this as a token of my gratitude."; + mes "Thank you for all of"; + mes "your help, youngster."; + mes "And please, take this"; + mes "as a token of my gratitude."; next; mes "[Kain Himere]"; - mes "I know this isn't much, but please understand that it's all I can give you. God bless you for your all your help!"; - delitem 7276, 1; + mes "I know this isn't"; + mes "much, but please"; + mes "understand that it's"; + mes "all I have to give you."; + mes "God bless you for all"; + mes "you've done for me~"; completequest 2085; - set kain_ticket, 15; - getitem 7311, 4; - close; + kain_ticket = 15; + delitem 7276,1;// Picture_Letter + getitem 7311,4;// Free_Flying_Ship_Ticket } else { mes "^3355FFHmmm..."; - mes "It would be better if you approached Kain and bring the Doodled Letter that you received.^000000"; - close; + mes "It would be better"; + mes "if you approached"; + mes "Kain with the Doodled"; + mes "Letter that you received.^000000"; } - } else if (kain_ticket >= 15) { + } else { mes "[Kain Himere]"; mes "Oh, how are you"; mes "lately, my friend?"; @@ -443,8 +496,8 @@ airplane,47,61,7 script Crewman 833,{ mes "especially since you've"; mes "helped me find my daughter."; mes "Enjoy your travels~"; - close; } + close; } //---------------------------------------------------------------------------- @@ -453,7 +506,7 @@ airplane,47,61,7 script Crewman 833,{ ein_in01,227,279,3 script #door_ein -1,5,5,{ OnTouch: if (kain_ticket == 5) { - set kain_ticket, 6; + kain_ticket = 6; mes "["+strcharinfo(0)+"]"; mes "Excuse me...?"; next; @@ -462,13 +515,37 @@ OnTouch: mes "["+strcharinfo(0)+"]"; mes "This must be the room..."; mes "But where the hell is he?"; - mes "I can't just leave this stuff here if he won't come back."; + mes "I can't just leave this stuff"; + mes "here if he won't come back."; next; - mes "["+strcharinfo(0)+"]"; + mes "["+ strcharinfo(0) +"]"; mes "Oh well..."; mes "I guess I can"; mes "just give this"; - mes "back to Kain."; + mes "back to Kain"; + mes "on the Airship."; + next; + mes "["+strcharinfo(0)+"]"; + mes "While I'm in Einbroch,"; + mes "I may as well take a look"; + mes "around here and see if I can"; + mes "find anything interesting. Still, I can't help but think of Kain"; + mes "Himere's long lost daughter... "; + next; + mes "["+strcharinfo(0)+"]"; + mes "Maybe..."; + mes "Just maybe..."; + mes "I can find some"; + mes "sort of clue about"; + mes "where she is. She might"; + mes "even live here in Einbroch."; + next; + mes "["+strcharinfo(0)+"]"; + mes "I think I'll do that."; + mes "Maybe even right this"; + mes "minute. Treat it like"; + mes "sort of quest or something."; + mes "Yeah, that could work."; close; } } @@ -476,7 +553,7 @@ OnTouch: //---------------------------------------------------------------------------- // Elle Cherno //---------------------------------------------------------------------------- -ein_in01,261,241,3 script Elle Cherno 703,3,3,{ +ein_in01,261,241,3 script Elle Cherno 4_F_KID2,3,3,{ OnTouch: mes "[Elle Cherno]"; mes "Let's get to work"; @@ -495,65 +572,73 @@ OnTouch: next; mes "[Elle Cherno]"; mes "I like this song lots!"; - mes "Especially when I yell"; - mes "out 'comrades!'"; + mes "Especially when I yell out"; + mes "''comrades!'' COMRADES!"; close; case 2: changequest 2079,2080; - set kain_ticket, 7; + kain_ticket = 7; mes "[Elle Cherno]"; mes "This...?"; - mes "It's the Miner's Song!"; - next; - mes "[Elle Cherno]"; - mes "Daddy doesn't like it too much, but mommy likes it a lot and she sings it too!"; + mes "It's the ''Miner's Song!''"; + mes "My mommy taught it to me"; + mes "and she sings it a lot. Daddy"; + mes "says it's too noisy, though."; next; mes "[Elle Cherno]"; - mes "I think my mommy remembers something about this song. I think it's something sad."; + mes "Mmm, when my mommy sings"; + mes "this song, sometimes she looks"; + mes "a little sad. Jus' today she sang it a little and looked like she was gonna cry. ^666666*Gasp!*^000000 Wait, do you"; + mes "think maybe Mommy's sick?"; next; mes "[Elle Cherno]"; - mes "Jus' today she heard it and she looked like she was going to cry. ^333333*Gasp!*^000000 Do you think she's sick?!"; - next; - mes "[Elle Cherno]"; - mes "Oh no! Hey, you're a grownup! Can see if my mommy is sick for me? Please?"; - next; - mes "[Elle Cherno]"; - mes "Our house is behind the Hotel. So can see my mommy and tell me if she's not feeling good?"; + mes "Oh no, oh no..."; + mes "Hey, will you go see"; + mes "if my mommy's okay for me?"; + mes "Please? Our house is behind"; + mes "the Hotel, so tell me if she's"; + mes "not feeling good, promise?"; close; } } else if (kain_ticket == 7) { next; mes "[Elle Cherno]"; - mes "Our house is"; - mes "right behind"; - mes "the Hotel. Will"; - mes "you go and see"; - mes "my mommy for me?"; - close; + mes "Our house is right"; + mes "behind of the Hotel."; + mes "Will you go there and"; + mes "see my mommy for me,"; + mes "please? I'm worried..."; } else if (kain_ticket == 13) { next; if (checkweight(7276,1) == 0) { mes "[Elle Cherno]"; - mes "Hey! I have something to give you, but you have too much stuff already. Will you come back later?"; - close; - } else { - mes "[Elle Cherno]"; - mes "You saw my grandpa?"; - mes "You're his friend,"; - mes "right? A-are you"; - mes "gonna see him later?"; - next; - mes "[Elle Cherno]"; - mes "I made something for him. I don't know how to write, but I made this letter as best I can. Will you promise to give this to him for me? Please?"; - next; - mes "^3355FFElle put a big"; - mes "doodled message"; - mes "in your hand.^000000"; - changequest 2084,2085; - set kain_ticket, 14; - getitem 7276, 1; //Picture_Letter + mes "Hey! I have something"; + mes "to give you, but you have"; + mes "tooooo much stuff! Hey,"; + mes "come back later so I can"; + mes "give it to you, okay?"; close; } + mes "[Elle Cherno]"; + mes "You saw my grandpa?"; + mes "You're his friend, right?"; + mes "A-are you gonna see"; + mes "him later? 'Cuz... cuz..."; + next; + mes "[Elle Cherno]"; + mes "I made this for him."; + mes "I don't know how to write,"; + mes "but I made Grampa a letter"; + mes "as best as I can. Will you"; + mes "promise to give this to him"; + mes "for me, pleeeeeease?"; + next; + mes "^3355FFElle put a big"; + mes "doodled message"; + mes "into your hands.^000000"; + changequest 2084,2085; + kain_ticket = 14; + getitem 7276, 1; //Picture_Letter } close; } @@ -561,130 +646,173 @@ OnTouch: //---------------------------------------------------------------------------- // Theo Cherno //---------------------------------------------------------------------------- -ein_in01,123,94,1 script Theo Cherno 851,{ +ein_in01,123,94,1 script Theo Cherno 4_M_REPAIR,{ if (kain_ticket == 7) { callfunc "F_Cherno"; - set kain_ticket, 8; - close; + kain_ticket = 8; } else if (kain_ticket > 7 && kain_ticket < 10) { mes "[Theo Cherno]"; - mes "You are very kind."; - close; + mes "You're very kind,"; + mes "adventurer. There"; + mes "should be more people"; + mes "in the world like you."; } else if (kain_ticket > 9 && kain_ticket < 13) { mes "[Theo Cherno]"; mes "Are you sure"; mes "that you can find"; - mes "her father? Oh...!"; - mes "You're a godsend!"; - close; + mes "Tarsha's father? Oh,"; + mes "you must be a godsend!"; } else if (kain_ticket > 12) { emotion e_heh; mes "[Theo Cherno]"; mes "I'm so happy"; - mes "for my wife."; - mes "I... I don't know"; - mes "how to thank you."; - close; + mes "for my wife. I...."; + mes "I don't know how"; + mes "I can thank you..."; } else { mes "[Theo Cherno]"; mes "Hmm..."; - mes "Shall we talk"; - mes "later? I'm pretty"; - mes "busy trying to fix"; - mes "this thing at the moment."; - close; + mes "Can we talk later?"; + mes "I'm pretty busy trying"; + mes "to fix this thing at"; + mes "the moment."; } + close; } //---------------------------------------------------------------------------- // Tarsha Cherno //---------------------------------------------------------------------------- -ein_in01,125,99,3 script Tarsha Cherno 850,{ +ein_in01,125,99,3 script Tarsha Cherno 4_F_EINWOMAN,{ if (kain_ticket == 7) { callfunc "F_Cherno"; - set kain_ticket, 8; - close; + kain_ticket = 8; } else if (kain_ticket == 8) { mes "[Tarsha Cherno]"; - mes "Although these contraptions aren't worth showing off, we've put a lot of work into inventing these machines."; - close; - } else if (kain_ticket == 9) { - mes "["+strcharinfo(0)+"]"; - mes "Ma'am, you have a scar on your shoulder. Is that from an accident?"; + mes "Although most of these"; + mes "contraptions aren't worth"; + mes "showing off, we've put a lot"; + mes "of work in inventing these"; + mes "machines. So, of course,"; + mes "they give us pride~"; next; mes "[Tarsha Cherno]"; - mes "Oh this...?"; - mes "It's from years ago."; - mes "I guess I was quite"; - mes "the trouble maker to"; - mes "the people who raised me."; + mes "Maybe all these little"; + mes "projects might not be"; + mes "that impressive, but I like"; + mes "to think of them as stepping"; + mes "stones to future achievements."; + } else if (kain_ticket == 9) { + mes "["+strcharinfo(0)+"]"; + mes "Excuse me, ma'am,"; + mes "but you have a scar"; + mes "on your shoulder. Is"; + mes "that from an accident?"; next; mes "[Tarsha Cherno]"; - mes "You see, I lose my parents when I was very young. It was only later that I realized that I was raised by foster parents."; + mes "Oh, that's an old"; + mes "injury that happened"; + mes "years ago. I suppose"; + mes "I was quite the trouble"; + mes "maker to the people"; + mes "who raised me..."; next; mes "[Tarsha Cherno]"; - mes "My foster-mother told me that my real mother died long ago, but no one's sure if my real father is still alive."; + mes "You see, I lost my parents"; + mes "when I was very young. It"; + mes "was only later when I realized"; + mes "I was raised by foster parents."; + mes "I learned that my real mother"; + mes "died a long time ago..."; next; mes "[Tarsha Cherno]"; - mes "I tried my best to make my foster-mother happy, but sadly, I was too hot headed and rebellious."; + mes "As for my father, no"; + mes "one knows if he's dead"; + mes "or alive. I tried my best"; + mes "to my foster parents happy,"; + mes "but I ended up being too rebellious and giving them grief."; next; mes "[Tarsha Cherno]"; - mes "In the end, I left home and studied mechanics. That's how I met my husband. Meeting him is the greating thing that's ever happened to me!"; - next; - mes "["+strcharinfo(0)+"]"; - mes "By the way,"; - mes "I heard your"; - mes "daughter singing"; + mes "I finally left home and"; + mes "studied mechanics. I met"; + mes "my husband in school and"; + mes "it was the greatest thing that"; + mes "ever happened to me~"; + emotion e_lv,0,"Theo Cherno"; + next; + mes "["+ strcharinfo(0) +"]"; + mes "By the way, I heard"; + mes "your daughter singing"; mes "some sort of Miner's Song."; + mes "Did you teach her that?"; + emotion e_omg,0,"Tarsha Cherno"; + emotion e_omg,0,"Theo Cherno"; next; mes "[Theo Cherno]"; mes "I don't understand"; - mes "why that she likes"; - mes "such a robust song"; - mes "for men! Haha, this"; - mes "is all your fault, Tarsha."; - emotion e_gg; + mes "why little Elle likes"; + mes "such a rowdy, man song."; + mes "This is all your fault, Tarsha!"; + emotion e_ag,0,"Theo Cherno"; next; + emotion e_heh,0,"Tarsha Cherno"; mes "[Tarsha Cherno]"; - mes "Hoho."; - mes "I was too young to remember it clearly, but I'm sure my real father loved that song."; + mes "Oh~hohohoho~"; + mes "I was too young to"; + mes "remember it clearly,"; + mes "but I'm sure my real"; + mes "father loved that song."; next; mes "[Tarsha Cherno]"; - mes "I barely recall that he used to sing it while cleaning our old house. Yes, I don't remember what he looked like, but he must have been a miner."; - next; - mes "["+strcharinfo(0)+"]"; + mes "I barely recall that"; + mes "he used to sing it while"; + mes "cleaning our old house."; + mes "Yes, I don't remember what"; + mes "he looked like, but he must"; + mes "have been a miner at one time."; + next; + mes "["+ strcharinfo(0) +"]"; mes "A miner...?"; - mes "(Wait, that crewman, Kain Himere! He's a miner who lost his daughter!)"; - next; - mes "["+strcharinfo(0)+"]"; - mes " !!!!!!"; - next; - mes "["+strcharinfo(0)+"]"; + mes "(Wait, that crewman,"; + mes "Kain Himere! He was"; + mes "a miner who lost his"; + mes "daughter! Just maybe...)"; + next; + emotion e_gasp; + mes "["+ strcharinfo(0) +"]"; + mes "...!"; mes "Tarsha..."; mes "Your father"; - mes "may still be"; - mes "alive!"; + mes "may still be alive!"; next; mes "[Tarsha Cherno]"; mes "...What?"; next; - mes "["+strcharinfo(0)+"]"; - mes "I've got to go check something now, but hopefully I'll be back soon with good news!"; + mes "["+ strcharinfo(0) +"]"; + mes "I've got to go check"; + mes "something now, but"; + mes "hopefully I'll be back"; + mes "soon with good news!"; changequest 2080,2081; - set kain_ticket, 10; - close; + kain_ticket = 10; } else if (kain_ticket == 10 || kain_ticket == 11) { mes "["+strcharinfo(0)+"]"; - mes "I know someone who might be your father! Just wait for me, hopefully I'll bering good news soon!"; - close; + mes "Tarsha, I know someone"; + mes "who might be your father!"; + mes "Just wait for me and hopefully"; + mes "I'll bring back good news soon!"; } else if (kain_ticket == 12) { mes "[Tarsha Cherno]"; - mes "Oh, welcome back."; - mes "So did you bring"; - mes "good news...?"; + mes "Oh, welcome back~"; + mes "So were you able to"; + mes "bring back good news?"; + emotion e_heh,0,"Tarsha Cherno"; next; mes "["+strcharinfo(0)+"]"; - mes "Yes, speaking of which, allow me to... Check something."; + mes "Why, yes."; + mes "Speaking of which,"; + mes "allow me to... check"; + mes "something first..."; next; switch(select("Check her neck.:Check her hands.:Check her legs.:Check her forehead.")) { case 1: @@ -697,7 +825,7 @@ ein_in01,125,99,3 script Tarsha Cherno 850,{ mes "man's wife...?!"; next; specialeffect2 EF_PIERCE; - percentheal -30,0; + percentheal -10,0; close; case 2: mes "^3355FFYou found"; @@ -705,9 +833,14 @@ ein_in01,125,99,3 script Tarsha Cherno 850,{ mes "her hand.^000000"; next; mes "["+strcharinfo(0)+"]"; - mes "That's it! Tarsha, your father's name is Kain. He's working for the Airship as a crewman."; - next; - mes "["+strcharinfo(0)+"]"; + mes "That's it!"; + mes "Tarsha, your"; + mes "father's name is"; + mes "Kain Himere and he's"; + mes "working on the Airship"; + mes "as one of the crewmen."; + next; + mes "["+ strcharinfo(0) +"]"; mes "He misses you"; mes "a lot and hopes"; mes "that you can forgive"; @@ -718,28 +851,43 @@ ein_in01,125,99,3 script Tarsha Cherno 850,{ mes "Are you serious?"; mes "My father's alive!"; mes "Oh thank god! Thank"; - mes "you so much!"; + mes "you so much, adventurer!"; next; mes "[Tarsha Cherno]"; mes "..........."; - mes "That means, my"; + mes "So that means, my"; mes "real name would be"; - mes "^3131FFTarsha Himere^000000."; + mes "^3131FFTarsha Himere Cherno^000000."; next; mes "[Tarsha Cherno]"; - mes "Oh, you're a godsend! I'll never forgot what you've done for me! I must repay you, but all I know is mechanical engineering!"; + mes "Oh, you're a godsend!"; + mes "I'll never forget what you've"; + mes "done for me! I must repay"; + mes "you somehow! But all I know"; + mes "is mechanical engineering..."; next; mes "[Tarsha Cherno]"; - mes "Oh, if you have ^3131FFany broken equipment^000000, I can fix it with this ^FF0000^000000. It's one of our best inventions!"; + mes "Oh, I know~"; + mes "If you have any"; + mes "^3131FFbroken equipment^000000,"; + mes "I can fix it with this"; + mes "Expert Repairman. It's"; + mes "one of our best inventions!"; next; mes "[Tarsha Cherno]"; - mes "Oh, I must go see my real father soon! I've missed him for years! Thank you for all your help!"; + mes "I must go and see"; + mes "my real father soon!"; + mes "I've missed him for years!"; + mes "Thank you again for all"; + mes "you've done for my family~"; next; mes "[Tarsha Cherno]"; - mes "Ah, right."; - mes "Elle wants to see you again. Would you be so kind as to see her before you go?"; + mes "Oh, and before you"; + mes "go, would you go see"; + mes "Elle again? She wanted to"; + mes "talk to you for some reason."; changequest 2083,2084; - set kain_ticket, 13; + kain_ticket = 13; close; case 3: mes "^3355FFUh oh..."; @@ -768,22 +916,20 @@ ein_in01,125,99,3 script Tarsha Cherno 850,{ } } else if (kain_ticket > 12) { mes "[Tarsha Cherno]"; - mes "I've been feeling"; - mes "great after all you've"; - mes "done for us. Once again,"; - mes "I'd like to thank you,"; - mes "kind adventurer."; - close; + mes "I've been feeling great"; + mes "after all you've done for"; + mes "us. Once again, I'd like to"; + mes "thank you, kind adventurer."; } else { mes "[Tarsha Cherno]"; mes "I'm sorry, but"; mes "we're pretty busy."; mes "Please excuse us~"; - close; } + close; } -ein_in01,127,94,3 script #exp_ein 111,{ end; } +ein_in01,127,94,3 script #exp_ein HIDDEN_NPC,{ end; } function script F_Cherno { specialeffect EF_COMBOATTACK1,AREA,"#exp_ein"; @@ -797,7 +943,7 @@ function script F_Cherno { next; specialeffect EF_POISONATTACK,AREA,"#exp_ein"; mes "^33355F*Crash!*^000000"; - mes "....."; + mes "....."; emotion e_swt,0,"Theo Cherno"; emotion e_swt,0,"Tarsha Cherno"; next; @@ -808,75 +954,105 @@ function script F_Cherno { mes "problem with the joint."; next; mes "[Tarsha Cherno]"; - mes "I think they're"; - mes "not connected right..."; + mes "They must not"; + mes "be connected right."; + mes "Maybe if we... Hmmm."; next; mes "[Theo Cherno]"; mes "Well, let's call"; mes "it a day and finish"; - mes "this tomorrow."; + mes "this tomorrow, yeah?"; next; emotion e_what,0,"Tarsha Cherno"; mes "[Tarsha Cherno]"; - mes "Elle is playing outside."; - mes "Oh, I didn't know we had"; - mes "a guest? Hello, how are you?"; + mes "Oh~"; + mes "I didn't know we"; + mes "had a guest. Hello,"; + mes "how are you doing?"; + mes "Are you interested in"; + mes "any of our inventions?"; next; switch(select("Nothing.:Your daughter asked me to visit you.")) { case 1: mes "[Theo Cherno]"; - mes "As you see, my wife and I are pretty"; - mes "busy to study a research."; - mes "If you do not have any urgent business,"; - mes "will you please leave us alone?"; + mes "Oh yes, my wife are"; + mes "I are keeping ourselves"; + mes "busy by conducting research."; + mes "We're trying to invent new"; + mes "things for better living."; + mes "It's what we do..."; close; case 2: emotion e_swt,0,"Tarsha Cherno"; emotion e_swt,0,"Theo Cherno"; mes "[Tarsha Cherno]"; - mes "Excuse me?"; - mes "What did she say?"; + mes "Hahaha, Elle?"; + mes "Why would our"; + mes "daughter send"; + mes "you to visit us?"; next; mes "["+strcharinfo(0)+"]"; mes "Well, uh..."; - mes "She wanted to me"; - mes "to check if her mom"; + mes "She wanted me to"; + mes "check if her mom"; mes "was sick or sad"; mes "...Or something?"; next; emotion e_omg,0,"Tarsha Cherno"; mes "[Tarsha Cherno]"; mes "Oh my god...!"; - mes "What is she"; - mes "thinking...?"; + mes "What is she thinking?"; + mes "I apologize for troubling"; + mes "you over this kind of silly"; + mes "mistake, adventurer!"; next; mes "[Theo Cherno]"; - mes "wait, darling."; - mes "I agree that sometimes you look sad and lonely, gazing out that window with those wistful eyes."; + mes "But wait, darling."; + mes "I agree that sometimes"; + mes "you look like the loneliest"; + mes "person in the world, gazing"; + mes "out that window with those"; + mes "impossibly wistful eyes."; next; mes "[Tarsha Cherno]"; - mes "Oh, I must be making my family very anxious. But don't you worry, love. I'm very happy with you and Elle."; + mes "Oh, I must be"; + mes "making my family"; + mes "very anxious. But"; + mes "don't you worry, love."; + mes "I'm very happy with"; + mes "you and Elle."; next; mes "[Tarsha Cherno]"; mes "And..."; mes "Kind adventurer,"; - mes "May I ask your name?"; + mes "may I ask your name?"; next; - mes "["+strcharinfo(0)+"]"; + mes "["+ strcharinfo(0) +"]"; mes "I am called,"; - mes strcharinfo(0)+"."; + mes ""+ strcharinfo(0) +"."; + emotion e_heh; next; mes "[Tarsha Cherno]"; - mes strcharinfo(0)+","; - mes "I appreciate your concerns~ Would you please stay for a cup of tea?"; + mes ""+ strcharinfo(0) +","; + mes "I appreciate your"; + mes "concern for us. Would"; + mes "you stay for a cup of tea?"; next; mes "[Tarsha Cherno]"; - mes "My husband and I have been studying mechanical engineering. You see, there are many Einbech miners risking their lives everyday."; + mes "Now, please pardon the"; + mes "mess. My husband and I are"; + mes "mechanical engineers focused"; + mes "on creating machines that would"; + mes "reduce the risk of mining ores."; next; mes "[Tarsha Cherno]"; - mes "If we could create a machine that could reduce the risk of mining ores, we could really help them. But we're pretty far from reaching that goal."; + mes "Since we work at home, we"; + mes "can't avoid having machine"; + mes "parts lying here and there"; + mes "sometimes. In any case, we're"; + mes "hoping we create a machine that could make miners' lives safer..."; next; - mes "["+strcharinfo(0)+"]"; + mes "["+ strcharinfo(0) +"]"; mes "Ah..."; mes "So that's why"; mes "there's so many"; @@ -893,7 +1069,7 @@ function script F_Cherno { //---------------------------------------------------------------------------- // Unidentified Machine //---------------------------------------------------------------------------- -ein_in01,122,103,5 script Unidentified Machine#ein 111,{ +ein_in01,122,103,5 script Unidentified Machine#ein HIDDEN_NPC,{ mes "^3355FFIt's..."; mes "It's a really"; mes "strange looking"; @@ -905,15 +1081,24 @@ ein_in01,122,103,5 script Unidentified Machine#ein 111,{ //---------------------------------------------------------------------------- // Mirror //---------------------------------------------------------------------------- -ein_in01,121,99,3 script Mirror#ein 111,{ +ein_in01,121,99,3 script Mirror#ein HIDDEN_NPC,{ if (kain_ticket == 8) { mes "^3355FFIt's a mirror."; mes "So, of course the"; mes "first thing you'll"; mes "see is yourself."; next; - if (Sex) { - switch(rand(1,5)) { + .@r = rand(1,5); + if (.@r == 5) { + mes "["+strcharinfo(0)+"]"; + mes "Oh wow..."; + mes "I look pretty good."; + mes "No wait. Really, really"; + mes "good. So this must be"; + mes "why I get such great"; + mes "service at restaurants..."; + } else if (Sex) { + switch(.@r) { case 1: mes "["+strcharinfo(0)+"]"; mes "Man..."; @@ -945,18 +1130,9 @@ ein_in01,121,99,3 script Mirror#ein 111,{ mes "effects! I mean, it's not"; mes "fair to everyone else..."; break; - case 5: - mes "["+strcharinfo(0)+"]"; - mes "Oh wow..."; - mes "I look pretty good."; - mes "No wait. Really, really"; - mes "good. So this must be"; - mes "why I get such great"; - mes "service at restaurants..."; - break; } } else { - switch(rand(1,5)) { + switch(.@r) { case 1: mes "["+strcharinfo(0)+"]"; mes "Oh. Wow."; @@ -1005,22 +1181,20 @@ ein_in01,121,99,3 script Mirror#ein 111,{ mes "freakin' immaculate! And"; mes "it's like, I'm almost too sexy!"; break; - case 5: - mes "["+strcharinfo(0)+"]"; - mes "Oh wow..."; - mes "I look pretty good."; - mes "No wait. Really, really"; - mes "good. So this must be"; - mes "why I get such great"; - mes "service at restaurants..."; - break; } } next; - mes "^3355FFAfter enjoying that little epiphany, you see a reflection of Tarsha's neck as you set the mirror back down.^000000"; - next; - mes "^3355FFAs you take a closer look, you find that there's a strange mark around her neck...^000000"; - set kain_ticket, 9; + mes "^3355FFAfter enjoying that"; + mes "little epiphany, you"; + mes "see a reflection of"; + mes "Tarsha's neck as you"; + mes "set the mirror back down.^000000"; + next; + mes "^3355FFAs you take a closer"; + mes "look, you find that there's"; + mes "a strange mark around her"; + mes "neck. What ever could it mean?^000000"; + kain_ticket = 9; close; } } @@ -1028,7 +1202,7 @@ ein_in01,121,99,3 script Mirror#ein 111,{ //---------------------------------------------------------------------------- // Tree from Einbech //---------------------------------------------------------------------------- -einbech,45,113,5 script Tree#t1-1::Tree 111,{ +einbech,45,113,5 script Tree#t1-1::Tree HIDDEN_NPC,{ if (kain_ticket == 11) { mes "^3355FFYou crouch down"; mes "under the tree and"; @@ -1042,15 +1216,17 @@ einbech,45,113,5 script Tree#t1-1::Tree 111,{ mes "......"; mes "........."; next; - set .@find_diary,rand(1,100); + .@find_diary = rand(1,100); if (.@find_diary > 10) { mes "^3355ffUnfortunately,"; mes "you weren't able"; mes "to find anything.^000000"; - close; } else { - mes "^3355ffYou have found a ^3131FFJournal^3355ff among some other articles buried for safekeeping.^000000"; - next; + mes "^3355FFYou have found a journal"; + mes "among some other articles"; + mes "that have been buried by Kain."; + mes "You open the journal and begin"; + mes "to read what's written inside.^000000"; callsub L_Diary; next; mes "..."; @@ -1058,96 +1234,169 @@ einbech,45,113,5 script Tree#t1-1::Tree 111,{ next; mes "^3355FFThat was the last page of the journal. You picked it up so that you can bring it over to ^3131FFTarsha.^000000"; changequest 2082,2083; - set kain_ticket, 12; - close; + kain_ticket = 12; } } else if (kain_ticket == 12) { + mes "^3355FFYou open"; + mes "the journal"; + mes "and begin to read...^000000"; callsub L_Diary; - close; } + else + end; + close; L_Diary: - mes "^3355FFYou open"; - mes "the journal"; - mes "and begin to read...^000000"; next; mes "..."; mes "......"; next; mes ""; - mes "^333333I'm sooo happy"; + mes "^856363I'm sooo happy"; mes "to be with Kain."; mes "He's such an honest,"; mes "sincere man, even if"; mes "he is quiet sometimes."; next; - mes "^333333Although he's a good husband, I'm not so good at being a housewife. But I'll do my best.^000000"; + mes "^856363Although he's a very"; + mes "good husband to me,"; + mes "I'm not so good at being"; + mes "a housewife. But I'll do"; + mes "my very best for us both."; next; mes ""; - mes "^333333I fell asleep while fixing dinner and burned all food. Awww, why am I so careless? But Kain ate every bite, even if he had to pretend that he liked it.^000000"; + mes "^856363I fell asleep while"; + mes "fixing dinner and burned"; + mes "all the food. How can I be"; + mes "so careless? But Kain ate"; + mes "every bite, even if he had"; + mes "to pretend that he liked it.^000000"; next; mes ""; - mes "^333333Kain and I will be having a child soon! I'm so happy, but I'm also a little worried sometimes. Kain is all smiles though and he gives me relief.^000000"; + mes "^856363Kain and I will be having"; + mes "a child soon! I'm so happy,"; + mes "but I'm also a little worried"; + mes "sometimes. Kain is all smiles"; + mes "though, and he gives me relief.^000000"; next; mes ""; - mes "^333333More people have been leaving the mines to work for the new factory. It seems Kain's pride has been really wounded lately. How can I help him...?^000000"; + mes "^856363More people have been"; + mes "leaving the mines to work"; + mes "for the new factories, many"; + mes "of them Kain's friends. I think"; + mes "Kain's pride was pretty hurt."; + mes "I wonder how I can help him?^000000"; next; mes ""; - mes "^333333Kain and I are now the proud parents of a beautiful baby girl. We named her ^3131FFTarsha^000000 and she has her father's eyes. I'm going to be the best mother I can for her.^000000"; + mes "^856363Kain and I are now the"; + mes "proud parents of a beautiful"; + mes "baby girl. We named her ^000000Tarsha^856363"; + mes "and she has her father's eyes."; + mes "I'm going to be the best mother"; + mes "that I can possibly be for her."; next; mes ""; - mes "^333333Tarsha called me 'mom' for the first time! It's a miracle! I want nothing else in the world but for her to be happy and healthy.^000000"; + mes "^856363Tarsha called me"; + mes "''Mommy'' for the first"; + mes "time! It's a miracle!"; + mes "I want nothing else in"; + mes "the world but for her to"; + mes "be happy and healthy.^000000"; next; mes ""; - mes "^333333Kain got into an accident. While the miners were digging ores, toxic gas was released. It wasn't lethal, but Kain's arm has been partly paralyzed and the doctor says it might affect his memories later.^000000"; + mes "^856363Kain got into an accident"; + mes "at the mine. While they were"; + mes "digging ores, toxic gas was"; + mes "released somehow. It wasn't"; + mes "lethal, but Kain's arm has"; + mes "been partly paralyzed...^000000"; next; - mes "^333333He's so depressed. I tried to make him feel better by making his favorite soup. He smiled and thanked me, but I could tell he was feeling more desperate.^000000"; + mes "^856363When the doctor said that"; + mes "it may even affect his memories"; + mes "later, he became so depressed."; + mes "I tried to make him feel better"; + mes "by making his favorite soup."; + mes "He smiled, but I could tell...^000000"; next; - mes "^333333I hope he feels better soon. His despair is as great as his passion for his job.^000000"; + mes "^856363I could tell he's"; + mes "not alright with this."; + mes "I hope he feels better"; + mes "soon. His despair is"; + mes "at least as great as his"; + mes "passion for his job.^000000"; next; mes "..."; mes "......"; next; mes ""; - mes "^333333Lately, Kain has been drunk too often and he always screams and yells when he comes home. There's too much anger in him!^000000"; - next; - mes "^333333He's not the same anymore. What ever happened to the kind man that I married?^000000"; + mes "^856363Kain's drinking is"; + mes "getting worse. He comes"; + mes "home too often screaming"; + mes "and yelling. There's too"; + mes "much anger in him and he's"; + mes "not the same anymore..."; next; mes "..."; mes "......"; next; mes ""; - mes "^333333Tarsha got her hand scalded from boiling water while playing in the kitchen. Although she was treated, there'll always be a ^3131FFburn mark^333333 on her hand.^000000"; + mes "^856363Tarsha got her hand"; + mes "scalded from boiling"; + mes "water while playing in"; + mes "the kitchen. Although she"; + mes "was treated, she'll always"; + mes "have that ^000000burn mark^856363.^000000"; next; - mes "^333333After we got home, Tarsha laughed and played with her doll as if nothing happened. But I couldn't stop crying for some reason.^000000"; + mes "^856363After we got home from"; + mes "the doctor's, Tarsha laughed"; + mes "and played with her doll as if"; + mes "nothing ever happened. But for"; + mes "some reason, I couldn't stop"; + mes "myself from crying...^000000"; next; mes "..."; mes "......"; next; mes ""; - mes "^333333Kain comes home less nowadays. I've had to start working in the store after we spent all of Kain's savings.^000000"; + mes "^856363Kain comes home less"; + mes "nowadays. I've had to"; + mes "start working in the store"; + mes "after we spent all of our"; + mes "savings. It's tough working"; + mes "and taking care of the family."; next; - mes "^333333It's tough working and taking care of the family at the same time, but Tarsha's beautiful smile makes everything worth it. Still, I can't help but worry about Kain...^000000"; + mes "^856363Still, it's all worth"; + mes "it to see Tarsha's smile."; + mes "But I can never stop worrying"; + mes "about my poor, dear Kain..."; next; mes "..."; mes "......"; next; mes ""; - mes "^333333Everyday, I get weaker and weaker. I wanted to finally tell Kain today, but he was definitely not in the mood to talk.^000000"; + mes "^856363Everyday, I feel weaker"; + mes "and weaker, as if I die"; + mes "just a little more each day."; + mes "I wanted to tell Kain about"; + mes "what the doctor said, but he's"; + mes "not ready for this news yet...^000000"; next; - mes "^333333Lately Tarsha cries a lot. My poor baby loves her father so much, but he's always so cold. Sometimes I see him smile at Tarsha.^000000"; - next; - mes "^333333But those moments grow fewer the more he drinks. When will he finally overcome his pain?^000000"; + mes "^856363Lately, Tarsha cries"; + mes "a lot. My poor baby loves"; + mes "her father, but he's always"; + mes "so distant. But sometimes,"; + mes "I see him sadly smile for"; + mes "Tarsha, if only for a moment.^000000"; return; } -einbech,36,100,5 duplicate(Tree) Tree#t1-2 111 -einbech,44,90,5 duplicate(Tree) Tree#t1-3 111 -einbech,53,94,5 duplicate(Tree) Tree#t1-4 111 +einbech,36,100,5 duplicate(Tree) Tree#t1-2 HIDDEN_NPC +einbech,44,90,5 duplicate(Tree) Tree#t1-3 HIDDEN_NPC +einbech,53,94,5 duplicate(Tree) Tree#t1-4 HIDDEN_NPC //---------------------------------------------------------------------------- // Expert Repairman //---------------------------------------------------------------------------- -ein_in01,117,80,5 script Unidentified Machine#as 111,{ +ein_in01,117,80,5 script Unidentified Machine#as HIDDEN_NPC,{ if (kain_ticket > 12) { mes "["+strcharinfo(0)+"]"; mes "This is the"; @@ -1155,40 +1404,45 @@ ein_in01,117,80,5 script Unidentified Machine#as 111,{ mes "It looks like it"; mes "needs repairs itself..."; next; - if (getbrokenid(1) == 0) { - mes "[Expert Repairman]"; - mes "*Beep-*"; - mes "Please check"; - mes "your items again."; - close; - } else { - set .@choice, select(getitemname(getbrokenid(1)),getitemname(getbrokenid(2)), - getitemname(getbrokenid(3)),getitemname(getbrokenid(4)),getitemname(getbrokenid(5)), - getitemname(getbrokenid(6)),getitemname(getbrokenid(7)),getitemname(getbrokenid(8)), - getitemname(getbrokenid(9)),getitemname(getbrokenid(10))); - mes "[Expert Repairman]"; - mes "You're gonna repair " + getitemname(getbrokenid(.@choice)) + "."; - mes "Continue?"; - next; - switch(select("Yes:No")) { - case 1: - repair(.@choice); - next; - mes "[Expert Repairman]"; + if (select("Fix an Item", "Cancel.") == 1) { + if (getbrokenid(1) == 0) { mes "*Beep-*"; - mes "Task is"; - mes "complete."; + mes "You have"; + mes "nothing to fix."; close; - case 2: - mes "[Expert Repairman]"; - mes "You decided to quit it."; + } + getinventorylist; + for (.@i = 0; .@i < @inventorylist_count; .@i++) + .@total = .@total + @inventorylist_attribute[.@i]; + mes "*Beep-*"; + mes "You have a total"; + mes "of " + .@total + " damaged items."; + mes "Shall I repair them?"; + next; + if (select("Yes", "No") == 1) { + getinventorylist; + for (.@i = 0; .@i < @inventorylist_count; .@i++) + .@total2 = .@total2 + @inventorylist_attribute[.@i]; + if (.@total == .@total2) { + repairall; + mes "*Beep-*"; + mes "Repair complete."; + } else { + mes "*Beep-*"; + mes "Please check"; + mes "your items again."; + } close; } } + mes "You have chosen to stop."; } else { - mes "^3355FFIt's some sort of strange machine. What ever could it do?^000000"; - close; + mes "^3355FFIt's some sort of"; + mes "strange machine."; + mes "Its function and purpose"; + mes "is completely undiscernable.^000000"; } + close; } // "How Does The Airship Work" Quest :: lght_air & lght_ymir @@ -1224,62 +1478,23 @@ OnTimer48000: monster "airplane_01",234,56,"Beholder",1633,1,"Airship#airplane02::OnMyMobDead"; monster "airplane_01",227,49,"Beholder",1633,1,"Airship#airplane02::OnMyMobDead"; monster "airplane_01",233,41,"Beholder",1633,1,"Airship#airplane02::OnMyMobDead"; - switch(rand(1,5)) { - case 1: monster "airplane_01",251,47,"Drainliar",1111,1,"Airship#airplane02::OnMyMobDead"; break; - case 2: monster "airplane_01",251,47,"Rotar Zairo",1392,1,"Airship#airplane02::OnMyMobDead"; break; - case 3: monster "airplane_01",251,47,"Farmiliar",1005,1,"Airship#airplane02::OnMyMobDead"; break; - case 4: monster "airplane_01",251,47,"Picky",1049,1,"Airship#airplane02::OnMyMobDead"; break; - case 5: monster "airplane_01",251,47,"Steel Chonchon",1042,1,"Airship#airplane02::OnMyMobDead"; break; - } - switch(rand(1,5)) { - case 1: monster "airplane_01",245,53,"Drainliar",1111,1,"Airship#airplane02::OnMyMobDead"; break; - case 2: monster "airplane_01",245,53,"Rotar Zairo",1392,1,"Airship#airplane02::OnMyMobDead"; break; - case 3: monster "airplane_01",245,53,"Farmiliar",1005,1,"Airship#airplane02::OnMyMobDead"; break; - case 4: monster "airplane_01",245,53,"Picky",1049,1,"Airship#airplane02::OnMyMobDead"; break; - case 5: monster "airplane_01",245,53,"Steel Chonchon",1042,1,"Airship#airplane02::OnMyMobDead"; break; - } - switch(rand(1,5)) { - case 1: monster "airplane_01",234,46,"Drainliar",1111,1,"Airship#airplane02::OnMyMobDead"; break; - case 2: monster "airplane_01",234,46,"Rotar Zairo",1392,1,"Airship#airplane02::OnMyMobDead"; break; - case 3: monster "airplane_01",234,46,"Farmiliar",1005,1,"Airship#airplane02::OnMyMobDead"; break; - case 4: monster "airplane_01",234,46,"Picky",1049,1,"Airship#airplane02::OnMyMobDead"; break; - case 5: monster "airplane_01",234,46,"Steel Chonchon",1042,1,"Airship#airplane02::OnMyMobDead"; break; - } - switch(rand(1,5)) { - case 1: monster "airplane_01",233,58,"Drainliar",1111,1,"Airship#airplane02::OnMyMobDead"; break; - case 2: monster "airplane_01",233,58,"Rotar Zairo",1392,1,"Airship#airplane02::OnMyMobDead"; break; - case 3: monster "airplane_01",233,58,"Farmiliar",1005,1,"Airship#airplane02::OnMyMobDead"; break; - case 4: monster "airplane_01",233,58,"Picky",1049,1,"Airship#airplane02::OnMyMobDead"; break; - case 5: monster "airplane_01",233,58,"Steel Chonchon",1042,1,"Airship#airplane02::OnMyMobDead"; break; + setarray .@x[0], 251,245,234,233; + setarray .@y[0], 47, 53, 46, 58; + for (.@i = 0; .@i < 4; .@i++) { + switch(rand(1,5)) { + case 1: monster "airplane_01",.@x[.@i],.@y[.@i],"Drainliar",1111,1,"Airship#airplane02::OnMyMobDead"; break; + case 2: monster "airplane_01",.@x[.@i],.@y[.@i],"Rotar Zairo",1392,1,"Airship#airplane02::OnMyMobDead"; break; + case 3: monster "airplane_01",.@x[.@i],.@y[.@i],"Farmiliar",1005,1,"Airship#airplane02::OnMyMobDead"; break; + case 4: monster "airplane_01",.@x[.@i],.@y[.@i],"Picky",1049,1,"Airship#airplane02::OnMyMobDead"; break; + case 5: monster "airplane_01",.@x[.@i],.@y[.@i],"Steel Chonchon",1042,1,"Airship#airplane02::OnMyMobDead"; break; + } } // it's possible this is an error, but in aegis it stops resetting the random var. - switch(rand(1,5)) { - case 1: - monster "airplane_01",243,60,"Drainliar",1111,1,"Airship#airplane02::OnMyMobDead"; - monster "airplane_01",228,54,"Drainliar",1111,1,"Airship#airplane02::OnMyMobDead"; - monster "airplane_01",232,41,"Drainliar",1111,1,"Airship#airplane02::OnMyMobDead"; - break; - case 2: - monster "airplane_01",243,60,"Rotar Zairo",1392,1,"Airship#airplane02::OnMyMobDead"; - monster "airplane_01",228,54,"Rotar Zairo",1392,1,"Airship#airplane02::OnMyMobDead"; - monster "airplane_01",232,41,"Rotar Zairo",1392,1,"Airship#airplane02::OnMyMobDead"; - break; - case 3: - monster "airplane_01",243,60,"Farmiliar",1005,1,"Airship#airplane02::OnMyMobDead"; - monster "airplane_01",228,54,"Farmiliar",1005,1,"Airship#airplane02::OnMyMobDead"; - monster "airplane_01",232,41,"Farmiliar",1005,1,"Airship#airplane02::OnMyMobDead"; - break; - case 4: - monster "airplane_01",243,60,"Picky",1049,1,"Airship#airplane02::OnMyMobDead"; - monster "airplane_01",228,54,"Picky",1049,1,"Airship#airplane02::OnMyMobDead"; - monster "airplane_01",232,41,"Picky",1049,1,"Airship#airplane02::OnMyMobDead"; - break; - case 5: - monster "airplane_01",243,60,"Steel Chonchon",1042,1,"Airship#airplane02::OnMyMobDead"; - monster "airplane_01",228,54,"Steel Chonchon",1042,1,"Airship#airplane02::OnMyMobDead"; - monster "airplane_01",232,41,"Steel Chonchon",1042,1,"Airship#airplane02::OnMyMobDead"; - break; - } + setarray .@mob_list[0], 1111, 1392, 1005, 1049, 1042; + .@mob_id = .@mob_list[ rand(5) ]; + monster "airplane_01",243,60,"--ja--",.@mob_id,1,"Airship#airplane02::OnMyMobDead"; + monster "airplane_01",228,54,"--ja--",.@mob_id,1,"Airship#airplane02::OnMyMobDead"; + monster "airplane_01",232,41,"--ja--",.@mob_id,1,"Airship#airplane02::OnMyMobDead"; end; OnTimer48010: monster "airplane_01",238,56,"Gremlin",1632,1,"Airship#airplane02::OnCaptainMobDead"; @@ -1513,7 +1728,7 @@ OnTimer410000: mapannounce "airplane_01","We will arrive in Izlude shortly.",bc_map,"0x00ff00"; end; OnTimer420000: - set $@airplanelocation2,1; + $@airplanelocation2 = 1; donpcevent "#AirshipWarp-3::OnUnhide"; donpcevent "#AirshipWarp-4::OnUnhide"; mapannounce "airplane_01","Welcome to Izlude. Have a safe trip.",bc_map,"0x00ff00"; @@ -1533,7 +1748,7 @@ OnTimer490000: mapannounce "airplane_01","We will arrive in Juno shortly.",bc_map,"0x70dbdb"; end; OnTimer500000: - set $@airplanelocation2,2; + $@airplanelocation2 = 2; donpcevent "#AirshipWarp-3::OnUnhide"; donpcevent "#AirshipWarp-4::OnUnhide"; mapannounce "airplane_01","Welcome to Juno. Have a safe trip.",bc_map,"0x70dbdb"; @@ -1553,7 +1768,7 @@ OnTimer570000: mapannounce "airplane_01","We will arrive in Rachel shortly.",bc_map,"0xFF8200"; end; OnTimer580000: - set $@airplanelocation2,0; + $@airplanelocation2 = 0; donpcevent "#AirshipWarp-3::OnUnhide"; donpcevent "#AirshipWarp-4::OnUnhide"; mapannounce "airplane_01","Welcome to Rachel. Have a safe trip.",bc_map,"0xFF8200"; @@ -1575,7 +1790,7 @@ OnCaptainMobDead: end; } -airplane_01,246,54,3 script Airship Captain#02 873,{ +airplane_01,246,54,3 script Airship Captain#02 4_M_REINDEER,{ cutin "fly_felrock",2; mes "[Tarlock]"; mes "I am Tarlock,"; @@ -1592,22 +1807,22 @@ OnInit: end; } -airplane_01,249,50,0 script boom0#airplane 139,{ end; } -airplane_01,239,62,0 script boom1#airplane 139,{ end; } -airplane_01,244,55,0 script boom2#airplane 139,{ end; } -airplane_01,239,50,0 script boom3#airplane 139,{ end; } -airplane_01,245,59,0 script boom4#airplane 139,{ end; } -airplane_01,245,48,0 script boom5#airplane 139,{ end; } -airplane_01,235,39,0 script boom6#airplane 139,{ end; } -airplane_01,252,41,0 script boom7#airplane 139,{ end; } -airplane_01,252,63,0 script boom8#airplane 139,{ end; } -airplane_01,234,65,0 script boom9#airplane 139,{ end; } -airplane_01,227,67,0 script boom10#airplane 139,{ end; } +airplane_01,249,50,0 script boom0#airplane HIDDEN_WARP_NPC,{ end; } +airplane_01,239,62,0 script boom1#airplane HIDDEN_WARP_NPC,{ end; } +airplane_01,244,55,0 script boom2#airplane HIDDEN_WARP_NPC,{ end; } +airplane_01,239,50,0 script boom3#airplane HIDDEN_WARP_NPC,{ end; } +airplane_01,245,59,0 script boom4#airplane HIDDEN_WARP_NPC,{ end; } +airplane_01,245,48,0 script boom5#airplane HIDDEN_WARP_NPC,{ end; } +airplane_01,235,39,0 script boom6#airplane HIDDEN_WARP_NPC,{ end; } +airplane_01,252,41,0 script boom7#airplane HIDDEN_WARP_NPC,{ end; } +airplane_01,252,63,0 script boom8#airplane HIDDEN_WARP_NPC,{ end; } +airplane_01,234,65,0 script boom9#airplane HIDDEN_WARP_NPC,{ end; } +airplane_01,227,67,0 script boom10#airplane HIDDEN_WARP_NPC,{ end; } //---------------------------------------------------------------------------- // Captain Tarlock :: lght_air //---------------------------------------------------------------------------- -airplane_01,238,154,3 script Airship Captain#01 873,{ +airplane_01,238,154,3 script Airship Captain#01 4_M_REINDEER,{ cutin "fly_felrock",2; mes "[Tarlock]"; mes "I am Tarlock,"; @@ -1616,13 +1831,13 @@ airplane_01,238,154,3 script Airship Captain#01 873,{ mes "have a question?"; next; if (lght_air >= 0 && lght_air <= 3 || lght_air == 7) { - set .@question$, "How does this Airship fly?"; + .@question$ = "How does this Airship fly?"; } else if (lght_air == 4) { - set .@question$, "I handed the letter to Captain Ferlock."; + .@question$ = "I handed the letter to Captain Ferlock."; } else if (lght_air == 5) { - set .@question$, "You finished reading the letter?"; + .@question$ = "You finished reading the letter?"; } else if (lght_air == 6) { - set .@question$, "Already finished reading?"; + .@question$ = "Already finished reading?"; } switch (select("Y-you're a reindeer?!", .@question$, "No, not really.")) { case 1: @@ -1641,23 +1856,18 @@ airplane_01,238,154,3 script Airship Captain#01 873,{ mes "and the loyalty of my crew."; mes "We'll do everything we can to"; mes "make sure your flight is safe."; - close2; - cutin "",255; - end; + break; case 2: + mes "[Tarlock]"; if (lght_air == 1) { if (BaseLevel <= 59) { - mes "[Tarlock]"; mes "Mm...?"; mes "Didn't you ask me that"; mes "before? Well, in any case"; mes "I apologize, but I'm still not"; mes "allowed to tell you that secret."; - close2; - cutin "",255; - end; + break; } else { - mes "[Tarlock]"; mes "Mm...?"; mes "Didn't you ask me that"; mes "before? Are you just curious"; @@ -1671,9 +1881,7 @@ airplane_01,238,154,3 script Airship Captain#01 873,{ mes "figure out how this Airship"; mes "is able to stay aloft and"; mes "fly through the skies."; - close2; - cutin "",255; - end; + break; case 2: mes "[Tarlock]"; mes "In all honestly, the"; @@ -1699,12 +1907,10 @@ airplane_01,238,154,3 script Airship Captain#01 873,{ mes "to ask you to do anything"; mes "that you can't handle. Come"; mes "back after you decide, alright?"; - close2; - cutin "",255; - end; + break; case 2: setquest 8032; - set lght_air, 2; + lght_air = 2; mes "[Tarlock]"; mes "Ha-hah! I like you"; mes "already! Alright, here's"; @@ -1731,28 +1937,22 @@ airplane_01,238,154,3 script Airship Captain#01 873,{ mes "Captain Tarlock's letter"; mes "to deliver to his younger"; mes "brother, Captain Ferlock."; - close2; - cutin "",255; - end; + break; } + break; } } } else if (lght_air == 4) { - set lght_air, 5; + lght_air = 5; changequest 8034,8035; - mes "[Tarlock]"; mes "Oh!"; mes "And he answer you? Really?!"; mes "In fact, I wasn't"; mes "expecting that too much..."; mes "Please wait a little,"; mes "I'll read his letter."; - close2; - cutin "",255; - end; } else if (lght_air == 5) { - set lght_air, 6; - mes "[Tarlock]"; + lght_air = 6; mes "Um... Ha ha ha~!"; mes "This guy, he is a real lover!"; mes "But his true inner man"; @@ -1762,11 +1962,7 @@ airplane_01,238,154,3 script Airship Captain#01 873,{ next; mes "^3131ffHe continue reading"; mes "the letter.^000000"; - close2; - cutin "",255; - end; } else if (lght_air == 6) { - mes "[Tarlock]"; mes "Yes, I finished."; mes "Even if I understand him"; mes "I've a totally different"; @@ -1837,131 +2033,113 @@ airplane_01,238,154,3 script Airship Captain#01 873,{ mes "and writing those long"; mes "letters."; completequest 8035; - set lght_air, 7; + lght_air = 7; if (checkre(3)) getexp 20000,1000; else getexp 200000,10000; - close2; - cutin "",255; - end; } else if (lght_air == 7) { - mes "[Tarlock]"; mes "Didn't I teach you before?"; mes "I won't explain such a long"; mes "tale again!"; - close2; - cutin "",255; - end; } else if (lght_air == 2 || lght_air == 3) { - mes "[Tarlock]"; mes "Hahahah! Don't worry, I'll"; mes "tell you know this Airship"; mes "flies once you deliver that"; mes "letter to my brother, Ferlock,"; mes "and bring back his reply."; - close2; - cutin "",255; - end; + } else { + mes "Hahaha! How this"; + mes "Airship flies? Yes, it's"; + mes "quite wonderful, isn't it?"; + mes "Although that's a secret,"; + mes "let me assure you that it's"; + mes "nothing weird or dangerous."; + lght_air = 1; } - mes "[Tarlock]"; - mes "Hahaha! How this"; - mes "Airship flies? Yes, it's"; - mes "quite wonderful, isn't it?"; - mes "Although that's a secret,"; - mes "let me assure you that it's"; - mes "nothing weird or dangerous."; - set lght_air, 1; - close2; - cutin "",255; - end; + break; case 3: mes "[Tarlock]"; mes "Alright, then."; mes "Thanks for flying"; mes "with us, and I hope"; mes "you enjoy your travels."; - close2; - cutin "",255; - end; + break; } + close2; + cutin "",255; + end; } //---------------------------------------------------------------------------- // Captain Ferlock :: lght_ymir //---------------------------------------------------------------------------- -airplane,236,163,5 script Airship Captain#03 873,{ +airplane,236,163,5 script Airship Captain#03 4_M_REINDEER,{ cutin "fly_trock.bmp",2; + mes "[Ferlock]"; if (hg_ma1 == 3 || hg_ma1 == 4) { - mes "[Ferlock]"; - mes "Welcome to the airship. I am Ferlock, captain of this airship. What do you want from me? "; + mes "Welcome to the airship. I am the captain Ferlock."; + mes "Is there anything that I can help you with today?"; next; - select("Ask him about Thierry"); + select("I am looking for a man named Thierry."); mes "[Ferlock]"; - mes "Hmm, this is the first time I hear of this name. I'm sure he's not the employee of this place."; + mes "Thierry? Well, I do not think that I know that person."; + mes "I can guarantee you at least that he is not working for me."; next; - select("Request for the passenger list."); + select("Will you let me check the history of passenger lists?"); mes "[Ferlock]"; - mes "The passenger list is not opened to public unfortunately. Sorry I couldn't help you. "; - if (hg_ma1 == 3) - close; + mes "I am sorry, but I cannot release such personal information to an unauthorized person."; + if (hg_ma1 == 3) close; next; - select("Follow Kaci's request and tell him the story."); - mes "^3355FFWhen you tell him why you need to find Thierry, the captain listens to you quietly and nods his head.^000000"; + mes "- Captain Ferlock was carefully listening to you while you were explaining the reason why you have been looking for Thierry. -"; next; mes "[Ferlock]"; - mes "Hmm... I understand what you mean. However, the rules says that the passenger list cannot be showed to public."; + mes "Ummm....I see, I fully understand the siatuation. But, this is my situation that I am not allowed to release our passenger lists to unauthorized people..."; next; mes "[Ferlock]"; - mes "......However, rules can be broken which brings greater value than its existence. Ok, I will help you. Please wait for a while."; - next; - mes "^3355FFThe captain takes out a book and writes the name of 'Thierry' on the first page where nothing is written. The entry slowly disappears and the pages of the book start to flip magically^000000"; + mes "*Sigh*....I guess that rules exist only to be broken one of these days... Okay, I will let you check our passenger lists. Please give me a moment."; next; - mes "^3355FFThe book continues to flip and finally stops at one page. You see the record of Thierry boarding the airship on that page^000000"; + mes "- Captain Ferlock took out a heavy book from somewhere, and wrote the name 'Thierry' on the first blank page. -"; + mes "- As the letters slowly disappeared, pages of the book started being turned by themselves. -"; next; - mes "[Ferlock]"; - mes "Haha, does it frighten you? This is a magically enchanted book. Once you've written the name in it, you will be able to find the answer you want in an instant."; + mes "- The pages stopped turning at a page that the name 'Thierry' was written on. -"; next; mes "[Ferlock]"; - mes "It must have surprised you to find that the people of Schwaltzvalt make use of magical items too."; + mes "Haha, you must be surprised by this, huh? As you see, this book is a magic book which you do not need to turn the pages to find a specific page."; + mes "Well, this is how we, Schwaltzvalt Republicans adopt magic in their lives."; next; mes "[Ferlock]"; - mes "This is something I acquired from an old friend.... Hmm, but that has nothing to do with this."; + mes "My old friend has given me this....well, it is not important at this moment anyways."; next; mes "[Ferlock]"; - mes "Thierry... Let's see. He boarded the airship a month ago and headed for Hugel. Looks like he took the ship to Hugel the first day this flight was implemented."; + mes "Let's see, Thierry, Thierry.... Yes, he was in the airship about a month ago. He was heading to Hugel, and he was one of the very first passengers of the Hugel route."; next; mes "[Ferlock]"; - mes "....Oh, didn't you say that this friend of yours is involved with a research job? I remember now. It's that young man."; + mes "....Oh, did you say that he was good at researching stuffs? Now I remember him, he was the guy!"; next; mes "[Ferlock]"; - mes "The flight to Hugel which had just been added to the schedule faced a great danger the first day since the airship had not prepared any counter-measures for sudden attacks by the dragons."; + mes "It was the very first day that we operated the Hugel route. While we were heading to Hugel, a group of dragons raided our airship. "; + mes "We were unprepared for a such attack, so basically we were at the very dangerous moment."; next; mes "[Ferlock]"; - mes "To think about it, I have to admit that I made a mistake by not taking the fact that the dragons make approaching Hugel dangerous into consideration."; + mes "It was all my fault because I knew that dragons were one of the reasons why people had not dared to visit Hugel."; + mes "How stupid of me! Even until then, I did not even think twice about preparing our crews for those brutal dragons' attacks."; next; mes "[Ferlock]"; - mes "Anyway, the ship was in critical condition due to an unexpected mechanical failure. Fortunately, a young skillful man managed to solve the problem. Now I remember his name; Thierry."; + mes "So the dragons seriously damaged our airship, and we were about to fall into the ground. Then this young man came forward and repaired the airship as if he knew that it would be coming."; + mes "I am very sure that Thierry was that guy who saved our lives."; next; mes "[Ferlock]"; - mes "Now I can tell why he was so quiet and had such a sad face. You know where he was heading now. So, please bring the news to his fiance."; + mes "At that time, I wondered what made him look so sad and depressed. And now I know why."; + mes "I am so glad that I decided to help you in finding this amazing guy. Now you can go tell his fiance where he is."; next; mes "[Ferlock]"; - mes "And if you ever meet him, please send him my gratitude and regards."; + mes "If you meet him, please send my regard to him."; changequest 8045,8046; - set hg_ma1,5; - close2; - cutin "",255; - end; - } else if (hg_ma1 == 5) { - mes "[Ferlock]"; - mes "You better get going and send the news to the fiance."; - close2; - cutin "",255; - end; - } - if (lght_air == 7 && lhz_heart == 11) { - mes "[Ferlock]"; + hg_ma1 = 5; + } else if (hg_ma1 == 5) + mes "Please tell his fiance where he is."; + else if (lght_air == 7 && lhz_heart == 11) { mes "Ah, thank you for coming."; mes "Now, I wanted to ask you"; mes "why you were investigating"; @@ -1978,9 +2156,7 @@ airplane,236,163,5 script Airship Captain#03 873,{ mes "risks that you have already"; mes "taken. You should be more "; mes "careful in the future..."; - close2; - cutin "",255; - end; + break; case 2: mes "[Ferlock]"; mes "Well, I shouldn't be"; @@ -2072,13 +2248,10 @@ airplane,236,163,5 script Airship Captain#03 873,{ mes "my breath before"; mes "I continue? Yes,"; mes "there's a little more..."; - set lhz_heart,12; - close2; - cutin "",255; - end; + lhz_heart = 12; + break; } } else if (lght_air == 7 && lhz_heart == 12) { - mes "[Ferlock]"; mes "Now, "+strcharinfo(0)+","; mes "you must be wondering"; mes "why I'm telling you all"; @@ -2156,7 +2329,7 @@ airplane,236,163,5 script Airship Captain#03 873,{ close2; specialeffect2 EF_ABSORBSPIRITS; completequest 8043; - set lhz_heart,13; + lhz_heart = 13; if (checkre(3)) getexp 70000,40000; else @@ -2164,190 +2337,159 @@ airplane,236,163,5 script Airship Captain#03 873,{ cutin "",255; end; } else if (lght_air == 7 && lhz_heart == 13) { - mes "[Ferlock]"; mes "I'll be quite busy with my"; mes "captaining duties and my"; mes "private investigation of the"; mes "attempted Rune Stone robberies."; mes "Hopefully, we'll be able to meet again later. For now, take care."; - close2; - cutin "",255; - end; - } - mes "[Ferlock]"; - mes "Hey there, welcome"; - mes "aboard the Airship. I'm"; - mes "Ferlock, your captain"; - mes "on this flight. How can"; - mes "I be of service to you?"; - next; - if (lght_air == 2) { - set .@question2$, "Give him Tarlock's Letter."; - set .@question3$, "Cancel."; - } else if (lght_air == 3) { - set .@question2$, "Here are the items I've found."; - set .@question3$, "Cancel."; } else { - set .@question2$, "Cancel."; - } - switch(select("How does this Airship fly?", .@question2$, .@question3$)) { - case 1: - mes "[Ferlock]"; - mes "I'm sorry, but I can't"; - mes "give you that kind of"; - mes "classified information."; - mes "It's too important to the"; - mes "security and safety of"; - mes "this Airship, you see."; - close2; - cutin "",255; - end; - case 2: - if (lght_air == 2) { - changequest 8032,8033; - set lght_air, 3; - mes "^3131FFYou give Captain Ferlock"; - mes "the letter that his brother"; - mes "Tarlock has written for him.^000000"; - next; - mes "[Ferlock]"; - mes "Oh, this is from my"; - mes "brother? Hey, thanks so"; - mes "much for bringing this to"; - mes "me for him. Ah, give me"; - mes "a minute to read all of"; - mes "this, would you now?"; - next; - mes "[Ferlock]"; - mes "..."; - mes "So that's what he's been"; - mes "up to. Huh. Hahaha! Oh, that's"; - mes "funny. Ah, it's always good to"; - mes "hear from Tarlock. Anyway,"; - mes "I'm sorry to make you wait."; - next; - mes "[Ferlock]"; - mes "Anyway, my brother wrote"; - mes "about the usual stuff, but"; - mes "he mentioned that he was"; - mes "hoping to finally return a few"; - mes "things he borrowed from me."; - mes "However, he lost them..."; - next; - mes "[Ferlock]"; - mes "It turns that those nasty"; - mes "gremlins that sometimes"; - mes "attack his ship stole my"; - mes "things, so was he actually"; - mes "hoping that you would"; - mes "help me get them back."; - next; - mes "[Ferlock]"; - mes "Yeah, yeah. He specifically"; - mes "mentioned that I shouldn't"; - mes "give you my reply until you"; - mes "hunt those monsters and get"; - mes "my stuff back. I'm sorry, but"; - mes "I guess you owe big bro, huh?"; - next; - mes "[Ferlock]"; - mes "Well, if you're willing to"; - mes "help me, would you get my"; - mes "^ff00002 Will of the Darkness^000000 and"; - mes "^ff00002 Prickly Fruit^000000 back for me?"; - next; + mes "Hey there, welcome"; + mes "aboard the Airship. I'm"; + mes "Ferlock, your captain"; + mes "on this flight. How can"; + mes "I be of service to you?"; + next; + if (lght_air == 2) + .@question2$ = "Give him Tarlock's Letter."; + else if (lght_air == 3) + .@question2$ = "Here are the items I've found."; + switch(select("How does this Airship fly?", .@question2$, "Cancel.")) { + case 1: mes "[Ferlock]"; - mes "The monsters that attack"; - mes "Tarlock's Airship should"; - mes "have them. I'd appreciate"; - mes "it if you'd help me out on"; - mes "this, adventurer. Thanks"; - mes "in advance and good luck~"; - close2; - cutin "",255; - end; - } else if (lght_air == 3) { - if (countitem(7340) >= 2 && countitem(576) >= 2) { - delitem 7340, 2; - delitem 576, 2; - changequest 8033,8034; - set lght_air, 4; + mes "I'm sorry, but I can't"; + mes "give you that kind of"; + mes "classified information."; + mes "It's too important to the"; + mes "security and safety of"; + mes "this Airship, you see."; + break; + case 2: + if (lght_air == 2) { + changequest 8032,8033; + lght_air = 3; + mes "^3131FFYou give Captain Ferlock"; + mes "the letter that his brother"; + mes "Tarlock has written for him.^000000"; + next; mes "[Ferlock]"; - mes "You brought the items!"; - mes "Thank you very much."; - mes "Here, take this letter"; - mes "to my brother and give it"; - mes "to him."; + mes "Oh, this is from my"; + mes "brother? Hey, thanks so"; + mes "much for bringing this to"; + mes "me for him. Ah, give me"; + mes "a minute to read all of"; + mes "this, would you now?"; next; - mes "^3131ffYou received a letter from the Captain.^000000"; + mes "[Ferlock]"; + mes "..."; + mes "So that's what he's been"; + mes "up to. Huh. Hahaha! Oh, that's"; + mes "funny. Ah, it's always good to"; + mes "hear from Tarlock. Anyway,"; + mes "I'm sorry to make you wait."; next; mes "[Ferlock]"; - mes "Please give the best regards"; - mes "to my big brother."; - mes "Well then, good bye."; - close2; - cutin "",255; - end; + mes "Anyway, my brother wrote"; + mes "about the usual stuff, but"; + mes "he mentioned that he was"; + mes "hoping to finally return a few"; + mes "things he borrowed from me."; + mes "However, he lost them..."; + next; + mes "[Ferlock]"; + mes "It turns that those nasty"; + mes "gremlins that sometimes"; + mes "attack his ship stole my"; + mes "things, so was he actually"; + mes "hoping that you would"; + mes "help me get them back."; + next; + mes "[Ferlock]"; + mes "Yeah, yeah. He specifically"; + mes "mentioned that I shouldn't"; + mes "give you my reply until you"; + mes "hunt those monsters and get"; + mes "my stuff back. I'm sorry, but"; + mes "I guess you owe big bro, huh?"; + next; + mes "[Ferlock]"; + mes "Well, if you're willing to"; + mes "help me, would you get my"; + mes "^ff00002 Will of the Darkness^000000 and"; + mes "^ff00002 Prickly Fruit^000000 back for me?"; + next; + mes "[Ferlock]"; + mes "The monsters that attack"; + mes "Tarlock's Airship should"; + mes "have them. I'd appreciate"; + mes "it if you'd help me out on"; + mes "this, adventurer. Thanks"; + mes "in advance and good luck~"; + } else if (lght_air == 3) { + if (countitem(7340) >= 2 && countitem(576) >= 2) {// Will_Of_Darkness, Prickly_Fruit + delitem 7340, 2; + delitem 576, 2; + changequest 8033,8034; + lght_air = 4; + mes "[Ferlock]"; + mes "Oh this is great! Finally,"; + mes "I have my stuff back! Still,"; + mes "I have no idea why Tarlock"; + mes "wanted these things to begin"; + mes "with. Oh well. Would you please take this reply to Tarlock for me?"; + next; + mes "[Ferlock]"; + mes "Thanks again"; + mes "for all of your help!"; + mes "I don't think I'd ever"; + mes "see these things again"; + mes "if it weren't for you~"; + next; + mes "^3355FFYou have received"; + mes "Captain Ferlock's letter"; + mes "to deliver to his elder"; + mes "brother, Captain Tarlock.^000000"; + } else { + mes "[Ferlock]"; + mes "Oh, I'm sorry, but it looks"; + mes "like you're missing something."; + mes "Would you please go and find"; + mes "^ff00002 Will of the Darkness^000000 and"; + mes "^ff00002 Prickly Fruit^000000? Thanks,"; + mes "brave adventurer~"; + } } + break; + case 3: mes "[Ferlock]"; - mes "Oh, I'm sorry, but it looks"; - mes "like you're missing something."; - mes "Would you please go and find"; - mes "^ff00002 Will of the Darkness^000000 and"; - mes "^ff00002 Prickly Fruit^000000? Thanks,"; - mes "brave adventurer~"; - close2; - cutin "",255; - end; + mes "Well, I hope that"; + mes "you enjoy your time"; + mes "here on the Airship"; + mes "and that you have a"; + mes "very pleasant journey."; + break; } - mes "[Ferlock]"; - mes "Well, I hope that"; - mes "you enjoy your time"; - mes "here on the Airship"; - mes "and that you have a"; - mes "very pleasant journey."; - close2; - cutin "",255; - end; - case 3: - mes "[Ferlock]"; - mes "Well, I hope that"; - mes "you enjoy your time"; - mes "here on the Airship"; - mes "and that you have a"; - mes "very pleasant journey."; - close2; - cutin "",255; - end; } + close2; + cutin "",255; + end; } // Heart Fragment Quest :: lght_ymir //============================================================ -airplane,236,63,4 script Hallen 706,{ - if (hg_ma1 == 3) { - mes "[Hallen]"; - mes "Sha Sha~ "; - next; - mes "[Hallen]"; - mes "Just let me handle this! Hehe. "; - next; - select("Ask whether he knows Thierry"); - mes "[Hallen]"; - mes "Hmm?! Thierry?! I'm not sure. Why don't you ask the crew of the airship."; - mes "Kaci might know this person."; - close; - } - if (BaseLevel < 60) { - mes "[Hallen]"; +airplane,236,63,4 script Hallen 4_M_KID1,{ + mes "[Hallen]"; + if (hg_ma1 == 3 || BaseLevel < 60) { mes "If you need me to"; mes "do anything, just"; mes "give me a holler."; mes "Bweh heh... hollah~"; - close; - } - if (!lhz_heart) { - mes "[Hallen]"; + if (hg_ma1 == 3) { + next; + select("Hey, do you know a guy named Thierry?"); + mes "[Hallen]"; + mes "Thierry? Um...I don't think so. Why don't you go ask Kaci? She might know."; + } + } else if (!lhz_heart) { mes "Howdy, howdy~"; mes "Welcome to the Airship."; next; @@ -2376,7 +2518,6 @@ airplane,236,63,4 script Hallen 706,{ mes "on my break, I can play a"; mes "little game for Apples with"; mes "Kaci. That's how I roll, yo."; - next; break; case 2: mes "[Hallen]"; @@ -2386,9 +2527,9 @@ airplane,236,63,4 script Hallen 706,{ mes "I get stuck with the lamest"; mes "jobs. But once I'm done, it's"; mes "Dice time with Kaci. Oh yeah~"; - next; break; } + next; select("Kaci?"); mes "[Hallen]"; mes "Kaci... You know, the"; @@ -2406,10 +2547,9 @@ airplane,236,63,4 script Hallen 706,{ mes "believe that? Yeah... Kaci"; mes "doesn't like him so much..."; close2; - set lhz_heart,1; + lhz_heart = 1; end; } else if (lhz_heart == 1) { - mes "[Hallen]"; mes "Oh hey, it's you~"; mes "We talked earlier,"; mes "didn't we? Yeah..."; @@ -2456,7 +2596,7 @@ airplane,236,63,4 script Hallen 706,{ mes "Mawong's letter to"; mes "be delivered to Kaci.^000000"; setquest 8036; - set lhz_heart,2; + lhz_heart = 2; next; mes "[Hallen]"; mes "Hey, thanks a lot, pal~"; @@ -2465,7 +2605,6 @@ airplane,236,63,4 script Hallen 706,{ close; } } else if (lhz_heart == 2) { - mes "[Hallen]"; mes "^333333*Sigh...*^000000"; mes "I'm so sick and"; mes "tired of sweeping."; @@ -2480,18 +2619,14 @@ airplane,236,63,4 script Hallen 706,{ mes "I think it's pretty"; mes "important, so try not"; mes "to take too long, okay?"; - close; } else if (lhz_heart == 3) { - mes "[Hallen]"; mes "^333333*Sigh...*^000000"; mes "I'm so sick and"; mes "tired of sweeping."; mes "It's like I'm some"; mes "kinda lame cabin boy."; mes "But... I guess I am!"; - close; } else if (lhz_heart == 4) { - mes "[Hallen]"; mes "Hey, thanks for delivering"; mes "that letter to Kaci for me."; mes "She wasn't too happy that"; @@ -2512,7 +2647,8 @@ airplane,236,63,4 script Hallen 706,{ mes "I can't think"; mes "that you really"; mes "believe that..."; - set lhz_heart,5; + lhz_heart = 5; + changequest 8038,8039; close; case 2: mes "[Hallen]"; @@ -2531,8 +2667,8 @@ airplane,236,63,4 script Hallen 706,{ mes "too much stuff right now..."; close; } - set lhz_heart,5; - getitem 501,1; + lhz_heart = 5; + getitem 501,1;// Red_Potion mes "[Hallen]"; mes "I know this isn't"; mes "much, but I'd like you"; @@ -2543,7 +2679,6 @@ airplane,236,63,4 script Hallen 706,{ close; } } else if (lhz_heart == 5) { - mes "[Hallen]"; mes "Hey, hey~ How's it going?"; mes "I know, I know, I'm supposed"; mes "to be sweeping, and I'm not"; @@ -2604,11 +2739,10 @@ airplane,236,63,4 script Hallen 706,{ mes "is it even possible? Well, if"; mes "you could find out for me, "; mes "it'd be a really big help."; - changequest 8038,8039; - set lhz_heart,6; - close; + if (isbegin_quest(8039) == 0) + changequest 8038,8039; + lhz_heart = 6; } else if (lhz_heart == 6) { - mes "[Hallen]"; mes "Hey, have you learned"; mes "what makes such a big,"; mes "heavy Airship like this fly"; @@ -2657,8 +2791,7 @@ airplane,236,63,4 script Hallen 706,{ mes "have I heard about that"; mes "before? Mm, let me think..."; changequest 8039,8040; - set lhz_heart,7; - close; + lhz_heart = 7; } else { select("Actually..."); mes "[Hallen]"; @@ -2675,10 +2808,8 @@ airplane,236,63,4 script Hallen 706,{ mes "classified information, but if"; mes "anyone can wrest those secrets,"; mes "it'll be one of you adventurers. So please help me out here..."; - close; } } else if (lhz_heart == 7) { - mes "[Hallen]"; mes "So the Rune Stone"; mes "is an imitation of just"; mes "a piece of Ymir's Heart."; @@ -2721,9 +2852,13 @@ airplane,236,63,4 script Hallen 706,{ mes "in your inventory for me, okay?"; close; } - if (Shinokas_Quest > 9) set lhz_heart,9; - else set lhz_heart,8; - changequest 8040,8041; + if (Shinokas_Quest > 9) { + lhz_heart = 9; + changequest 8040,8042; + } else { + lhz_heart = 8; + changequest 8040,8041; + } getitem 501,1; mes "[Hallen]"; mes "Here you go~"; @@ -2732,35 +2867,34 @@ airplane,236,63,4 script Hallen 706,{ mes "you adventurers usually get,"; mes "but hey... It's my thought that"; mes "counts, right? See you later~"; - close; } else if (lhz_heart == 8) { - mes "[Hallen]"; mes "Hey, why don't you"; mes "ask Kaci about that"; mes "drunkard that's always"; mes "playing her Dice game?"; mes "You might learn more about"; mes "Ymir's Heart Piece, you know?"; - close; } else { - mes "[Hallen]"; mes "Thanks for helping me"; mes "out that last time. I guess"; mes "learning about the Rune Stone"; mes "kinda inspired me to build an"; mes "Airship of my own someday..."; - close; } + close; } -airplane,33,69,4 script Kaci 73,{ +airplane,33,69,4 script Kaci 1_F_MERCHANT_01,{ + mes "[Kaci]"; if (hg_ma1 == 3) { - mes "[Kaci]"; - mes "Hello there. My name is Kaci. If you feel bored boarding the airship, why don't you play a game of dice with me."; + mes "You must be sooo"; + mes "bored, adventurer~"; + mes "How would you like"; + mes "to play a game of Dice?"; next; - select("Ask whether she knows Thierry"); + select("Do you know a guy named Thierry?"); mes "[Kaci]"; - mes "Thierry ....That name sounds familiar..."; + mes "Thierry? Um...that sounds familiar..."; next; mes "[Kaci]"; mes "...................."; @@ -2769,54 +2903,56 @@ airplane,33,69,4 script Kaci 73,{ mes "..."; next; mes "[Kaci]"; - mes "Ahhh! Thierry Thierry Thierry !!"; + mes "Oh, right! Thierry, Thierry, Thierry! Right?"; next; - mes "^3355FFShe seems to recall something and starts to call out the name loudly.^000000"; + mes "[Kaci]"; + mes "- She suddenly called out the name several times, -"; + mes "- so you were startled and dropped your half eaten apple. -"; next; mes "[Kaci]"; - mes "Hahaha, I'm sorry about that. It has been a while since I last heard that name..."; + mes "Oops, sorry, if I startled you. I could not remember the name because it has been a while since I heard of his name the last time."; next; mes "[Kaci]"; - mes "He was the youngster who lived beside my master when I was learning how games work. I still remember that he is very bright and that he did different kinds of researches."; + mes "Thierry was a guy living in the next door while I was learning games and tricks from Mr. Mawong."; + mes "I remember that he was a very smart guy and was doing many research stuffs."; next; mes "[Kaci]"; - mes "I also recall that he likes the Euslan's sister who's being taught about the game by my master too. I wonder how the two of them are getting along nowadays."; + mes "Oh yeah, and he was in love with Eukran's sister."; + mes "And Eukran and I were studying games together under Mr. Mawong at that time."; + mes "Hmm...I wonder how they have been doing."; next; - mes "^3355FFI tell the girl that Euslan has engaged with Thierry and in order to cure Euslan, Thierry boarded an airship but his whereabouts is a mystery now.^000000"; + mes "- You told her that Euslan and Thierry got engaged, but Thierry had to leave her to find medicine for her illness. -"; next; mes "[Kaci]"; - mes "Oh, how could Euslan fall sick? Oh..."; + mes "Oh...gosh...I can't believe that Euslan is has become ill....Oh......"; next; - mes "^3355FFKaci is so shocked to learn about Thierry that she loses herself in her thoughts for a while until regaining conciousness.^000000"; + mes "- Kaci seemed to be shocked by such devastating news. -"; + mes "- She was mumbling something for a while, and then came back to her senses again. -"; next; mes "[Kaci]"; - mes "Honestly, I would like to help but I haven't heard anything new from them since we haven't seen eachother for such a long time."; + mes "I am so sorry for her...I really want to give here some help...but, it has been a while for me since I saw them. So, I don't know where he is."; next; mes "[Kaci]"; - mes "Isn't there any other way?"; + mes "But, let me think if..."; next; mes "[Kaci]"; - mes "Ah...! The captain might know something. He is the one who manages the list of the passengers."; + mes "Oh, right! The airship captain might be able to help you, because he is the one who is in charge of the passenger list."; next; mes "[Kaci]"; - mes "However, the passenger list cannot be shown to the public..."; + mes "Although the passenger list is classified and strictly restricted from releasing to public..."; next; mes "[Kaci]"; - mes "However, I think the captain will be willing to help if you tell him the whole story. You should give it a try."; + mes "But, if you tell him the story, he might be able to help you. Please go ask him if you can."; next; mes "[Kaci]"; - mes "As for Euslan, please tell her about me and let her know that I hope she gets well soon."; + mes "And if you see Euslan again, please send my regard and blessing to her."; next; - mes "^3355FFSince she's begging, I guess I should send her message."; + mes "- You promised her to send her regards and blessings to Euslan. -"; changequest 8044,8045; - set hg_ma1,4; - close; - } else if (hg_ma1 == 4) { - mes "[Kaci]"; - mes "You can ask the captain for the whereabouts of Thierry. I am sure that the captain will be willing to help if you tell him what happened."; - close; - } else if (lhz_heart == 2) { - mes "[Kaci]"; + hg_ma1 = 4; + } else if (hg_ma1 == 4) + mes "The airship captain might be able to help you in finding Thierry's whereabouts."; + else if (lhz_heart == 2) { mes "You must be sooo"; mes "bored, adventurer~"; mes "How would you like"; @@ -2832,16 +2968,14 @@ airplane,33,69,4 script Kaci 73,{ mes "But still, he's really busy..."; next; changequest 8036,8037; - set lhz_heart,3; + lhz_heart = 3; mes "[Kaci]"; mes "Thank you for bringing"; mes "this to me. If you ever"; mes "need a little favor from"; mes "me, feel free to ask me,"; mes "alright? See you later~"; - close; } else if (lhz_heart == 3) { - mes "[Kaci]"; mes "Oh, hello. Thanks for"; mes "delivering that letter from"; mes "Mr. Mawong to me, especially"; @@ -2849,88 +2983,88 @@ airplane,33,69,4 script Kaci 73,{ mes "do it himself. Reading that"; mes "letter really made my day~"; next; -L_Ask: - switch(select("Ask about Hallen:Ask about Mawong:Ask about the Airship")) { - case 1: - set .@mesa,1; - mes "[Kaci]"; - mes "Hallen? Well, he and I are"; - mes "pretty close. Did you know"; - mes "that we're cousins? In fact,"; - mes "his dad, my uncle, brought"; - mes "me as a child after my father"; - mes "passed away 20 years ago."; - next; - mes "[Kaci]"; - mes "There was some kind of"; - mes "mine explosion accident in"; - mes "Einbech. I don't remember."; - mes "Anyway, me and Hallen are"; - mes "like sister and brother, and"; - mes "we always stick together."; - next; - mes "[Kaci]"; - mes "When Captain Ferlock saw me"; - mes "host a Dice game by coincidence"; - mes "and then hired me to work on his Airship, Hallen insisted on coming"; - mes "along. He's stubborn like that,"; - mes "but he's also very sweet."; - next; - break; - case 2: - set .@mesb,1; - mes "[Kaci]"; - mes "Mr. Mawong? Oh, don't get"; - mes "the wrong idea! He's my"; - mes "mentor, the one who taught"; - mes "me how to play all of these"; - mes "wonderful games. He's pretty"; - mes "famous around Juno, you know."; - next; - mes "[Kaci]"; - mes "I used to be so depressed,"; - mes "not caring about the world"; - mes "at all, after my father died."; - mes "Then, I ran into Mr. Mawong,"; - mes "and he taught me how to find"; - mes "the joy in life once again."; - next; - mes "[Kaci]"; - mes "Because of him, I decided"; - mes "to learn his games and to"; - mes "help people forget their"; - mes "worries and just enjoy"; - mes "themselves, even if it's"; - mes "just for a little while."; - next; - break; - case 3: - set .@mesc,1; - mes "[Kaci]"; - mes "The Airship? It's so"; - mes "huge and beautiful, and"; - mes "I'm always amazed that it"; - mes "can fly so gracefully through"; - mes "the air. I've always wanted to live someplace close to the sky..."; - next; - mes "[Kaci]"; - mes "A place where I can see"; - mes "the clouds and bask in the"; - mes "sun. So, when Captain Ferlock"; - mes "invited me to work here, it was"; - mes "like a dream come true~"; + while (.@a == 0 || .@b == 0 || .@c == 0) { + if (.@a || .@b || .@c) { + mes "[Kaci]"; + mes "Please don't hesitate"; + mes "to ask me anything if"; + mes "you need a small favor,"; + mes "or if you're just curious"; + mes "about me in general~"; + next; + } + switch(select("Ask about Hallen:Ask about Mawong:Ask about the Airship")) { + case 1: + .@a = 1; + mes "[Kaci]"; + mes "Hallen? Well, he and I are"; + mes "pretty close. Did you know"; + mes "that we're cousins? In fact,"; + mes "his dad, my uncle, brought"; + mes "me as a child after my father"; + mes "passed away 20 years ago."; + next; + mes "[Kaci]"; + mes "There was some kind of"; + mes "mine explosion accident in"; + mes "Einbech. I don't remember."; + mes "Anyway, me and Hallen are"; + mes "like sister and brother, and"; + mes "we always stick together."; + next; + mes "[Kaci]"; + mes "When Captain Ferlock saw me"; + mes "host a Dice game by coincidence"; + mes "and then hired me to work on his Airship, Hallen insisted on coming"; + mes "along. He's stubborn like that,"; + mes "but he's also very sweet."; + break; + case 2: + .@b = 1; + mes "[Kaci]"; + mes "Mr. Mawong? Oh, don't get"; + mes "the wrong idea! He's my"; + mes "mentor, the one who taught"; + mes "me how to play all of these"; + mes "wonderful games. He's pretty"; + mes "famous around Juno, you know."; + next; + mes "[Kaci]"; + mes "I used to be so depressed,"; + mes "not caring about the world"; + mes "at all, after my father died."; + mes "Then, I ran into Mr. Mawong,"; + mes "and he taught me how to find"; + mes "the joy in life once again."; + next; + mes "[Kaci]"; + mes "Because of him, I decided"; + mes "to learn his games and to"; + mes "help people forget their"; + mes "worries and just enjoy"; + mes "themselves, even if it's"; + mes "just for a little while."; + break; + case 3: + .@c = 1; + mes "[Kaci]"; + mes "The Airship? It's so"; + mes "huge and beautiful, and"; + mes "I'm always amazed that it"; + mes "can fly so gracefully through"; + mes "the air. I've always wanted to live someplace close to the sky..."; + next; + mes "[Kaci]"; + mes "A place where I can see"; + mes "the clouds and bask in the"; + mes "sun. So, when Captain Ferlock"; + mes "invited me to work here, it was"; + mes "like a dream come true~"; + break; + } next; - break; } mes "[Kaci]"; - mes "Please don't hesitate"; - mes "to ask me anything if"; - mes "you need a small favor,"; - mes "or if you're just curious"; - mes "about me in general~"; - next; - if (!.@mesa || !.@mesb || !.@mesc) goto L_Ask; - mes "[Kaci]"; mes "By the way, if Hallen"; mes "bothers you with another"; mes "request, please refuse to"; @@ -2944,10 +3078,8 @@ L_Ask: mes "Have a nice day,"; mes "and I'll see you later~"; changequest 8037,8038; - set lhz_heart,4; - close; + lhz_heart = 4; } else if (lhz_heart == 8) { - mes "[Kaci]"; mes "Hello, "+strcharinfo(0)+"."; mes "It's nice to see you again."; mes "So is there anything I can"; @@ -2990,24 +3122,22 @@ L_Ask: mes "as soon as I can, even if it's"; mes "a heavily restricted area.^000000)"; changequest 8041,8042; - set lhz_heart,9; - close; + lhz_heart = 9; + } else { + mes "You must be sooo"; + mes "bored, adventurer~"; + mes "How would you like"; + mes "to play a game of Dice?"; + next; + callfunc "applegamble","Kaci"; } - mes "[Kaci]"; - mes "You must be sooo"; - mes "bored, adventurer~"; - mes "How would you like"; - mes "to play a game of Dice?"; - next; - callfunc "applegamble","Kaci"; - end; + close; } -ein_in01,279,25,0 script #lab01_heart 139,1,1,{ +ein_in01,279,25,0 script #lab01_heart HIDDEN_WARP_NPC,1,1,{ end; OnTouch: - if (lhz_heart == 9) - { + if (lhz_heart == 9) { mes "["+strcharinfo(0)+"]"; mes "(^333333I've... I've just"; mes "got to investigate"; @@ -3018,11 +3148,10 @@ OnTouch: } } -ein_in01,264,17,0 script #lab02_heart 139,1,1,{ +ein_in01,264,17,0 script #lab02_heart HIDDEN_WARP_NPC,1,1,{ end; OnTouch: - if (lhz_heart == 9) - { + if (lhz_heart == 9) { mes "["+strcharinfo(0)+"]"; mes "What the..."; mes "It's some sort of"; @@ -3035,17 +3164,12 @@ OnTouch: mes "the Password Checker"; mes "device with you into"; mes "the laboratory.^000000"; - set lhz_heart,10; + lhz_heart = 10; close; } } -ein_in01,263,35,3 script Ferlock#lab 873,{ - end; - -OnInit: - disablenpc "Ferlock#lab"; - stopnpctimer; +ein_in01,263,35,3 script Ferlock#lab 4_M_REINDEER,{ end; OnEnter: @@ -3054,11 +3178,13 @@ OnEnter: end; OnTimer120000: - donpcevent "Ferlock#lab::OnInit"; +OnInit: + disablenpc "Ferlock#lab"; + stopnpctimer; end; } -ein_in01,261,35,0 script lab03#heart 139,1,1,{ +ein_in01,261,35,0 script lab03#heart HIDDEN_WARP_NPC,1,1,{ end; OnTouch: if (lhz_heart == 9) { @@ -3083,22 +3209,16 @@ OnTouch: mes "not enter any number"; mes "more than once. Make"; mes "sure the password is 3 digits."; - set @retry,0; - next; - while (1) { - set @yagu100,rand(1,9); - set @yagu10,rand(1,9); - set @yagu1,rand(1,9); - if (((@yagu100 != @yagu10) && (@yagu100 != @yagu1)) && (@yagu10 != @yagu1)) { - break; - } + while (.@yagu100 == .@yagu10 || .@yagu100 == .@yagu1 || .@yagu10 == .@yagu1) { + .@yagu100 = rand(1,9); + .@yagu10 = rand(1,9); + .@yagu1 = rand(1,9); } while (1) { while (1) { -L_Retry: next; - input @input; - if (@input < 100 || @input > 999) { + input .@input; + if (.@input < 100 || .@input > 999) { mes "[Security System]"; mes "^FF0000Error."; mes "The password entered"; @@ -3107,37 +3227,30 @@ L_Retry: mes "3 digit passwords.^000000"; close; } - set @input100,@input / 100; - set @input10,(@input % 100) / 10; - if (((@input100 > 0) && (@input10 > 0)) && ((@input % 10) > 0)) { - if ((@input100 != @input10) && (@input100 != (@input % 10)) && (@input10 != (@input % 10))) { - break; - } + .@input100 = .@input / 100; + .@input10 = (.@input % 100) / 10; + .@input1 = .@input % 10; + if ((.@input100 + .@input10 + .@input1 == 0) || .@input100 == .@input10 || .@input100 == .@input1 || .@input10 == .@input1) { mes "[Security System]"; mes "^FF0000Error."; mes "You cannot enter the"; mes "number 0, or use any"; mes "other number more than"; mes "once. Please try again.^000000"; - next; + continue; } + break; } - set @retry,@retry+1; + .@retry++; mes "[Security System]"; - mes "^ff0000"+strcharinfo(0)+"^000000"; + mes "^ff0000"+ strcharinfo(0) +"^000000"; mes "has entered the following:"; - mes "^0000ff"+@yagu100+"^000000 - ^0000ff"+@yagu10+"^000000 - ^0000ff"+@yagu1+"^000000."; + mes "^0000ff"+ .@input100 +"^000000 - ^0000ff"+ .@input10 +"^000000 - ^0000ff"+ .@input1 +"^000000."; mes "Please wait for authorization to complete."; next; - set @strike,0; - set @ball,0; - if (@yagu100 == @input100) set @strike,@strike+1; - if (@yagu10 == @input10) set @strike,@strike+1; - if (@yagu1 == (@input % 10)) set @strike,@strike+1; - if ((@yagu100 == @input10) || (@yagu100 == (@input % 10))) set .@ball,.@ball+1; - if ((@yagu10 == @input100) || (@yagu10 == (@input % 10))) set @ball,@ball+1; - if ((@yagu1 == @input100) || (@yagu1 == @input10)) set @ball,@ball+1; - if (@strike == 3) { + .@strike = (.@yagu100 == .@input100) + (.@yagu10 == .@input10) + (.@yagu1 == .@input1); + .@ball = (.@yagu100 == .@input10 || .@yagu100 == .@input1) + (.@yagu10 == .@input100 || .@yagu10 == .@input1) + (.@yagu1 == .@input100 || .@yagu1 == .@input10); + if (.@strike == 3) { mes "[Security System]"; mes "Authorization complete."; mes "Archive access granted."; @@ -3206,22 +3319,22 @@ L_Retry: close2; donpcevent "Ferlock#lab::OnInit"; changequest 8042,8043; - set lhz_heart,11; + lhz_heart = 11; end; } mes "[Password Checker]"; mes " "; mes "^333333Total of correct numbers"; - mes "in correct sequence: ^ff0000"+@strike+"^333333"; - mes "Total of correct numbers misplaced: ^ff0000"+@ball+"^333333."; + mes "in correct sequence: ^ff0000"+.@strike+"^333333"; + mes "Total of correct numbers misplaced: ^ff0000"+.@ball+"^333333."; mes "Please use these results"; mes "to make a more accurate guess.^000000"; next; - if (@retry > 4) { + if (.@retry > 4) { mes "[Security System]"; mes "^FF0000The correct password"; mes "for this session was"; - mes "^000000"+@yagu100+"^FF0000 - ^000000"+@yagu10+"^000000 - ^000000"+@yagu1+"^FF0000."; + mes "^000000"+.@yagu100+"^FF0000 - ^000000"+.@yagu10+"^000000 - ^000000"+.@yagu1+"^FF0000."; mes "Password will now be reset.^000000"; close; } @@ -3229,13 +3342,12 @@ L_Retry: mes "Beeeeep!"; mes "Incorrect password."; mes " "; - switch (@retry) { + switch (.@retry) { case 1: mes "Initialing 2nd attempt...^000000"; break; case 2: mes "Initialing 3rd attempt...^000000"; break; case 3: mes "Initialing 4th attempt...^000000"; break; case 4: mes "Initialing final attempt...^000000"; break; } - goto L_Retry; } } end; diff --git a/quests/quests_alberta.txt b/quests/quests_alberta.txt index 9770cdc..b5694de 100644 --- a/quests/quests_alberta.txt +++ b/quests/quests_alberta.txt @@ -1341,7 +1341,7 @@ alberta_in,18,102,4 script Letter#tur 111,{ close; } -alberta,248,93,4 script Voyage log#tur 111,{ +- script ::Voyage_log_alberta -1,{ if (rand(2)) { mes "[Voyage log]"; mes "03:20 am"; diff --git a/quests/quests_ayothaya.txt b/quests/quests_ayothaya.txt index 79fffc9..51635ba 100644 --- a/quests/quests_ayothaya.txt +++ b/quests/quests_ayothaya.txt @@ -3,7 +3,7 @@ //===== By =================================================== //= Fredzilla, MasterOfMuppets //===== Version ============================================== -//= 2.5 +//= 2.6 //===== Compatible With ====================================== //= rAthena SVN //===== Description ========================================== @@ -31,6 +31,7 @@ //= 2.3 Replaced effect numerics with constants. [Samuray22] //= 2.4 Updated RE/Pre-RE EXP. [Euphy] //= 2.5 Added questlog support. [Euphy] +//= 2.6 Added Renewal quest items. [Euphy] //============================================================ // Ayothaya Ring Quest :: ayo_ring @@ -1305,7 +1306,6 @@ ayothaya,83,132,0 script Dusit#thai 843,{ mes "[Dusit]"; mes "Ah well, you'll see what I'm talking about. I hope he'll help you learn more about that evil creature."; set ayodunquest,1; - setquest 12035; close; } mes "[Dusit]"; @@ -1329,6 +1329,15 @@ ayothaya,83,132,0 script Dusit#thai 843,{ } ayo_in01,181,193,4 script Shaman#thai 840,{ + + // For both parts of the quest: + // - Pre-Renewal requires Needle Packet and Spool. + // - Renewal requires Fabric and Nine Tails. + if (checkre(0)) + setarray .@items[0],1059,1022; //Transparent_Cloth, Fox_Tail + else + setarray .@items[0],7213,7217; //Needle_Pouch, Spool + if (ayodunquest == 1) { mes "[Boonthom]"; mes "You...!"; @@ -1443,8 +1452,8 @@ ayo_in01,181,193,4 script Shaman#thai 840,{ mes "containing this holy power if you wish. In order to make it, I will need some materials."; next; mes "[Boonthom]"; - mes "^3366991 Needle Packet^000000,"; - mes "^3366991 Spool^000000,"; + mes "^3366991 "+getitemname(.@items[0])+"^000000,"; + mes "^3366991 "+getitemname(.@items[1])+"^000000,"; mes "^3366991 Solid Husk^000000 and"; mes "^3366991 Holy Water^000000..."; mes "That's all I need."; @@ -1454,7 +1463,7 @@ ayo_in01,181,193,4 script Shaman#thai 840,{ mes "when you prepare all"; mes "the materials."; set ayodunquest,2; - changequest 12035,12036; + setquest 12035; close; } mes "[Boonthom]"; @@ -1467,7 +1476,7 @@ ayo_in01,181,193,4 script Shaman#thai 840,{ mes "............"; close; } else if (ayodunquest == 2) { - if (countitem(7213) > 0 && countitem(7217) > 0 && countitem(7190) > 0 && countitem(523) > 0) { + if (countitem(.@items[0]) > 0 && countitem(.@items[1]) > 0 && countitem(7190) > 0 && countitem(523) > 0) { mes "[Boonthom]"; mes "Excellent!"; mes "Now you have brought"; @@ -1488,12 +1497,12 @@ ayo_in01,181,193,4 script Shaman#thai 840,{ mes "Here you go."; mes "Please take these holy threads."; mes "With this, you will be able to enter the ruins with less worry."; - delitem 7213,1; //Needle_Pouch - delitem 7217,1; //Spool + delitem .@items[0],1; + delitem .@items[1],1; delitem 7190,1; //Solid_Peeling delitem 523,1; //Holy_Water set ayodunquest,3; - changequest 12036,12037; + completequest 12035; getitem 7285,1; //Thread_Skein next; mes "[Boonthom]"; @@ -1503,6 +1512,7 @@ ayo_in01,181,193,4 script Shaman#thai 840,{ mes "[Boonthom]"; mes "The ancient building consists"; mes "of 2 levels. Before you enter the 2nd underground level, please return to me so that I can tell you how to enter that place."; + close; } mes "[Boonthom]"; mes "Did you forget what materials"; @@ -1510,8 +1520,8 @@ ayo_in01,181,193,4 script Shaman#thai 840,{ mes "carefully this time."; next; mes "[Boonthom]"; - mes "^3366991 Needle Packet^000000,"; - mes "^3366991 Spool^000000,"; + mes "^3366991 "+getitemname(.@items[0])+"^000000,"; + mes "^3366991 "+getitemname(.@items[1])+"^000000,"; mes "^3366991 Solid Husk^000000 and"; mes "^3366991 Holy Water^000000."; next; @@ -1519,7 +1529,7 @@ ayo_in01,181,193,4 script Shaman#thai 840,{ mes "See you later."; close; } else if (ayodunquest == 3) { - if (countitem(7213) > 0 && countitem(7217) > 0 && countitem(7190) > 0 && countitem(523) > 0) { + if (countitem(.@items[0]) > 0 && countitem(.@items[1]) > 0 && countitem(7190) > 0 && countitem(523) > 0) { mes "[Boonthom]"; mes "Excellent! Now you have brought everything I need, let me make the thing for you as I promised..."; next; @@ -1537,8 +1547,8 @@ ayo_in01,181,193,4 script Shaman#thai 840,{ mes "Here you go."; mes "Please take these holy threads."; mes "With this, you will be able to enter the ruins with less worry."; - delitem 7213,1; //Needle_Pouch - delitem 7217,1; //Spool + delitem .@items[0],1; + delitem .@items[1],1; delitem 7190,1; //Solid_Peeling delitem 523,1; //Holy_Water getitem 7285,1; //Thread_Skein @@ -1551,8 +1561,8 @@ ayo_in01,181,193,4 script Shaman#thai 840,{ mes "If you lose the holy threads, don't worry. I can make some more for you. Just gather the following items."; next; mes "[Boonthom]"; - mes "^3366991 Needle Packet^000000,"; - mes "^3366991 Spool^000000,"; + mes "^3366991 "+getitemname(.@items[0])+"^000000,"; + mes "^3366991 "+getitemname(.@items[1])+"^000000,"; mes "^3366991 Solid Husk^000000 and"; mes "^3366991 Holy Water^000000."; next; @@ -1601,10 +1611,10 @@ ayo_in01,181,193,4 script Shaman#thai 840,{ mes "[Boonthom]"; mes "^3366992 Holy Water^000000,"; mes "^3366991 Yggdrasil Leaf^000000,"; - mes "^3366992 Needle Packet^000000 and"; - mes "^3366992 Spool^000000."; + mes "^3366992 "+getitemname(.@items[0])+"^000000 and"; + mes "^3366992 "+getitemname(.@items[0])+"^000000."; set ayodunquest,10; - changequest 12037,12038; + changequest 12036,12037; next; mes "[Boonthom]"; mes "Return to me"; @@ -1612,7 +1622,7 @@ ayo_in01,181,193,4 script Shaman#thai 840,{ mes "gathered everything."; close; } else if (ayodunquest == 10) { - if (countitem(523) > 1 && countitem(610) > 0 && countitem(7213) > 1 && countitem(7217) > 1) { + if (countitem(523) > 1 && countitem(610) > 0 && countitem(.@items[0]) > 1 && countitem(.@items[1]) > 1) { mes "[Boonthom]"; mes "Hmm~"; mes "You've brought"; @@ -1634,13 +1644,13 @@ ayo_in01,181,193,4 script Shaman#thai 840,{ mes "Here you go."; mes "Please take these holy threads."; mes "With this, you will be able to enter the ruins with less worry."; - delitem 7213,2; //Needle_Pouch - delitem 7217,2; //Spool + delitem .@items[0],2; + delitem .@items[1],2; delitem 610,1; //Leaf_Of_Yggdrasil delitem 523,2; //Holy_Water set ayodunquest,11; getitem 7287,1; //Thread_Skein_ - changequest 12038,12039; + changequest 12037,12038; next; mes "[Boonthom]"; mes "Even if you lose this, don't worry. Just bring me the materials, and"; @@ -1657,8 +1667,8 @@ ayo_in01,181,193,4 script Shaman#thai 840,{ mes "[Boonthom]"; mes "^3366992 Holy Water^000000,"; mes "^3366991 Yggdrasil Leaf^000000,"; - mes "^3366992 Needle Packet^000000 and"; - mes "^3366992 Spool^000000."; + mes "^3366992 "+getitemname(.@items[0])+"^000000 and"; + mes "^3366992 "+getitemname(.@items[1])+"^000000."; next; mes "[Boonthom]"; mes "Return to me"; @@ -1677,7 +1687,7 @@ ayo_in01,181,193,4 script Shaman#thai 840,{ mes "to you to defend yourself"; mes "from monster attacks, okay?"; close; - } else if (countitem(523) > 1 && countitem(610) > 0 && countitem(7213) > 1 && countitem(7217) > 1 && countitem(7287) == 0) { + } else if (countitem(523) > 1 && countitem(610) > 0 && countitem(.@items[0]) > 1 && countitem(.@items[1]) > 1 && countitem(7287) == 0) { mes "[Boonthom]"; mes "Ooooohmmmmm..."; next; @@ -1692,8 +1702,8 @@ ayo_in01,181,193,4 script Shaman#thai 840,{ mes "Here you go."; mes "Please take these holy threads."; mes "With this, you will be able to enter the ruins with less worry."; - delitem 7213,2; //Needle_Pouch - delitem 7217,2; //Spool + delitem .@items[0],2; + delitem .@items[1],2; delitem 610,1; //Leaf_Of_Yggdrasil delitem 523,2; //Holy_Water getitem 7287,1; //Thread_Skein_ @@ -1709,8 +1719,8 @@ ayo_in01,181,193,4 script Shaman#thai 840,{ mes "[Boonthom]"; mes "^3366992 Holy Water^000000,"; mes "^3366991 Yggdrasil Leaf^000000,"; - mes "^3366992 Needle Packet^000000 and"; - mes "^3366992 Spool^000000."; + mes "^3366992 "+getitemname(.@items[0])+"^000000 and"; + mes "^3366992 "+getitemname(.@items[1])+"^000000."; close; } else if (ayodunquest == 12) { mes "[Boonthom]"; @@ -1748,7 +1758,7 @@ ayo_in01,181,193,4 script Shaman#thai 840,{ mes "expeditions, brave"; mes "adventurer~"; close; - } else if (countitem(523) > 1 && countitem(610) > 0 && countitem(7213) > 1 && countitem(7217) > 1 && countitem(7287) == 0) { + } else if (countitem(523) > 1 && countitem(610) > 0 && countitem(.@items[0]) > 1 && countitem(.@items[1]) > 1 && countitem(7287) == 0) { mes "[Boonthom]"; mes "Lost the"; mes "holy threads"; @@ -1771,8 +1781,8 @@ ayo_in01,181,193,4 script Shaman#thai 840,{ mes "Here you go."; mes "Please take these holy threads."; mes "With this, you will be able to enter the ruins with less worry."; - delitem 7213,2; //Needle_Pouch - delitem 7217,2; //Spool + delitem .@items[0],2; + delitem .@items[1],2; delitem 610,1; //Leaf_Of_Yggdrasil delitem 523,2; //Holy_Water getitem 7287,1; //Thread_Skein_ @@ -1788,8 +1798,8 @@ ayo_in01,181,193,4 script Shaman#thai 840,{ mes "[Boonthom]"; mes "^3366992 Holy Water^000000,"; mes "^3366991 Yggdrasil Leaf^000000,"; - mes "^3366992 Needle Packet^000000 and"; - mes "^3366992 Spool^000000."; + mes "^3366992 "+getitemname(.@items[0])+"^000000 and"; + mes "^3366992 "+getitemname(.@items[1])+"^000000."; close; } mes "[Boonthom]"; @@ -2083,7 +2093,7 @@ ayo_dun02,268,108,0 script #reward_tiger 111,{ mes "^3355FFYou pick"; mes "up the box.^000000"; set ayodunquest,12; - completequest 12039; + changequest 12038,12039; getitem 603,1; //Old_Blue_Box close; } diff --git a/quests/quests_comodo.txt b/quests/quests_comodo.txt index 148c2c0..b0a2ac1 100644 --- a/quests/quests_comodo.txt +++ b/quests/quests_comodo.txt @@ -534,8 +534,8 @@ comodo,206,310,4 script Campground Boy#cmd 704,{ mes "[Rochito]"; mes "Long before Comodo was"; mes "built inside this huge cave,"; - mes "this witch used to live in here.^FFFFFF ^000000 A lot of people died trying to"; - mes "get rid of her, but there're^FFFFFF ^000000 rumors that she's still around..."; + mes "this witch used to live in here. A lot of people died trying to"; + mes "get rid of her, but there're rumors that she's still around..."; break; case 1: mes "[Rochito]"; @@ -690,7 +690,7 @@ comodo,204,310,4 script Camping Youth#cmd 65,{ mes "that wine to Tausupa, the"; mes "Village Chief, would you let"; mes "him know that we miss the guy?"; - mes "He may be busy, but he'll always^FFFFFF ^000000 be our irreplaceable buddy."; + mes "He may be busy, but he'll always be our irreplaceable buddy."; break; case 4: mes "[Rockha]"; @@ -732,7 +732,7 @@ comodo,204,310,4 script Camping Youth#cmd 65,{ mes "would make our barbeque"; mes "absolutely perfect--having"; mes "the Village Chief here, and"; - mes "some of that legendary Comodo^FFFFFF ^000000 Cheese that ^3355FFToruna^000000 told me about."; + mes "some of that legendary Comodo Cheese that ^3355FFToruna^000000 told me about."; break; } close; @@ -1005,8 +1005,8 @@ cmd_in02,32,140,4 script Chief#cmd 49,{ mes "[Tausupa]"; mes "Greetings, adventurer,"; mes "I am Tausupa, the Chief of"; - mes "Comodo, a city famous for its^FFFFFF ^000000 beauty and nightlife. I hope you"; - mes "enjoy your stay, whether you are^FFFFFF ^000000 seeking excitement or relaxation~"; + mes "Comodo, a city famous for its beauty and nightlife. I hope you"; + mes "enjoy your stay, whether you are seeking excitement or relaxation~"; next; switch(select("About Casino:About Banished Witch:Cancel")) { case 1: @@ -1015,7 +1015,7 @@ cmd_in02,32,140,4 script Chief#cmd 49,{ mes "famous for its Casino. There"; mes "are many games that you can"; mes "enjoy, but you'll need to use"; - mes "the Casino's special Eulwo^FFFFFF ^000000 currency and conversion system..."; + mes "the Casino's special Eulwo currency and conversion system..."; break; case 2: switch (dmdswrd_Q) { @@ -1033,7 +1033,7 @@ cmd_in02,32,140,4 script Chief#cmd 49,{ mes "of BBQ meat on your clothes,"; mes "I'm guessing that you ran into"; mes "Rochito in the campgrounds, "; - mes "right? He must have told you^FFFFFF ^000000 that old story about the witch..."; + mes "right? He must have told you that old story about the witch..."; next; mes "[Tausupa]"; mes "I'd like nothing better"; @@ -1067,7 +1067,7 @@ cmd_in02,32,140,4 script Chief#cmd 49,{ mes "Koserserah seasoning to"; mes "my friend ^3355FFRochito^000000 at the"; mes "barbeque campground. Thanks"; - mes "again for your help, adventurer. ^FFFFFF ^000000"; + mes "again for your help, adventurer."; break; } break; @@ -1142,7 +1142,7 @@ comodo,88,97,4 script Toruna#cmd 109,{ mes "Yes, that is rather"; mes "peculiar. What's also"; mes "strange is this rumor I've"; - mes "been hearing about. Now, are^FFFFFF ^000000 you familiar with Comodo Cheese?"; + mes "been hearing about. Now, are you familiar with Comodo Cheese?"; next; mes "[Toruna]"; mes "It's this urban legend"; @@ -1191,7 +1191,7 @@ comodo,88,97,4 script Toruna#cmd 109,{ mes "before it was an exotic"; mes "village of excitement and"; mes "leisure, Comodo was once"; - mes "a haven for evil creatures, ruled^FFFFFF ^000000 by a witch named Meropusum?"; + mes "a haven for evil creatures, ruled by a witch named Meropusum?"; next; mes "[Toruna]"; mes "This witch lay dormant for"; @@ -1303,7 +1303,7 @@ comodo,169,284,4 script Kichiri#cmd 98,{ mes "got me wondering! I mean,"; mes "just because I've never seen"; mes "Comodo Cheese doesn't mean"; - mes "it doesn't exist, right? Curses!^FFFFFF ^000000 Now I'm thinking about it too!"; + mes "it doesn't exist, right? Curses! Now I'm thinking about it too!"; break; default: mes "[Kichiri]"; @@ -1434,7 +1434,7 @@ cmd_in02,189,99,4 script Manzi#cmd 85,{ mes "Ah, she won't take you"; mes "very seriously unless you"; mes "show her this. Magatsu gave"; - mes "you his lucky bottle cap, so I'm^FFFFFF ^000000 gonna give you my lucky coin!"; + mes "you his lucky bottle cap, so I'm gonna give you my lucky coin!"; mes "The old crone'll recognize it~"; next; set dmdswrd_Q,10; @@ -1467,7 +1467,7 @@ cmd_in02,189,99,4 script Manzi#cmd 85,{ mes "Hey, have a good time in"; mes "the Casino, but don't go buck"; mes "wild. You wanna walk out of"; - mes "here with the shirt on your back,^FFFFFF ^000000 you know? Some people don't"; + mes "here with the shirt on your back, you know? Some people don't"; mes "even leave here with that..."; break; } @@ -1524,7 +1524,7 @@ comodo,187,153,4 script Hullaris#cmd 701,{ mes "Comodo Cheese does exist,"; mes "and it's as precious as the"; mes "legends say. However, it's"; - mes "not a true cheese, although^FFFFFF ^000000 you may think so from its taste."; + mes "not a true cheese, although you may think so from its taste."; next; mes "[Hullaris]"; mes "Yes, it's a very rare, natural"; @@ -1750,7 +1750,7 @@ beach_dun3,30,220,4 script Nigirboran#cmd 704,{ mes "I'd expect nothing less of"; mes "a brave and daring adventurer."; mes "Now hold still as I gauge your"; - mes "body's internal energies and see^FFFFFF ^000000 if it can handle Comodo Cheese..."; + mes "body's internal energies and see if it can handle Comodo Cheese..."; next; mes "[Nigirboran]"; mes "Alright."; @@ -1847,7 +1847,7 @@ beach_dun3,30,220,4 script Nigirboran#cmd 704,{ mes "but I do know that you'll need"; mes "the ^3355FFAwakening Stone^000000, the ^3355FFBook^000000"; mes "^3355FFof the Lamb^000000 and the ^3355FFSlate of^000000"; - mes "^3355FFMurniel^000000 to even have a chance^FFFFFF ^000000 of obtaining one of those swords."; + mes "^3355FFMurniel^000000 to even have a chance of obtaining one of those swords."; next; mes "[Nigirboran]"; mes "Let's see... After you"; @@ -2042,7 +2042,7 @@ aldebaran,44,53,4 script Meteurengut#cmd 64,{ mes "sooner, but I need to prepare"; mes "all of these stones, and I need"; mes "the freshest Cobwebs I can get."; - mes "I'll make sure that these stones^FFFFFF ^000000 are ready when you return."; + mes "I'll make sure that these stones are ready when you return."; close; } mes "[Meteurengut]"; @@ -2101,14 +2101,14 @@ aldebaran,44,53,4 script Meteurengut#cmd 64,{ mes "that artifact, and its secrets"; mes "are as well guarded as that of"; mes "the Slate of Muriniel. However,"; - mes "I do know that a man in Morroc^FFFFFF ^000000 can create the Book of the Lamb..."; + mes "I do know that a man in Morroc can create the Book of the Lamb..."; next; mes "[Meteurengut]"; mes "If that man is still in"; mes "Morroc, then he will probably"; mes "recognize the subtle emanation"; mes "of the Awakening Stone and the"; - mes "Slate of Muriniel from you. Best^FFFFFF ^000000 of luck to you, adventurer..."; + mes "Slate of Muriniel from you. Best of luck to you, adventurer..."; close; } mes "[Meteurengut]"; @@ -2147,7 +2147,7 @@ aldebaran,44,53,4 script Meteurengut#cmd 64,{ next; mes "[Meteurengut]"; mes "I'm responsible for guarding"; - mes "the secrets of its creation, but^FFFFFF ^000000 I must also share the power"; + mes "the secrets of its creation, but I must also share the power"; mes "of the slate with those that"; mes "prove themselves worthy of it."; next; @@ -2179,7 +2179,7 @@ morocc,201,30,4 script Zaka#cmd 99,{ mes "those that seek to own one"; mes "of the doomed swords would"; mes "trouble themselve to obtain"; - mes "those items. All that is left for^FFFFFF ^000000 you is the Book of the Lamb..."; + mes "those items. All that is left for you is the Book of the Lamb..."; next; mes "[Zaka]"; mes "I've been waiting for so"; @@ -2371,7 +2371,7 @@ morocc,201,30,4 script Zaka#cmd 99,{ mes "Ogretooth, and Executioner"; mes "have all been sealed away."; mes "Only a truly great adventurer"; - mes "can release these doomed^FFFFFF ^000000 swords and actually wield them..."; + mes "can release these doomed swords and actually wield them..."; break; } close; @@ -2392,7 +2392,7 @@ comodo,232,87,4 script Won#cmd 106,{ mes "presenses of the Book of the"; mes "Lamb, the Slate of Muriniel,"; mes "and one that has eaten of the"; - mes "Awakening Stone are unmistakable. ^FFFFFF ^000000"; + mes "Awakening Stone are unmistakable."; next; mes "[Won]"; mes "Now, listen. I personally"; @@ -2415,7 +2415,7 @@ comodo,232,87,4 script Won#cmd 106,{ mes "a look into your eyes..."; mes "Yeah, alright. You seem to"; mes "understand the value of the"; - mes "Awakening Stone, Book of the^FFFFFF ^000000 Lamb, and the Slate of Muriniel."; + mes "Awakening Stone, Book of the Lamb, and the Slate of Muriniel."; next; mes "[Won]"; mes "Yeah, I can't sense any"; @@ -2498,7 +2498,7 @@ comodo,232,87,4 script Won#cmd 106,{ mes "Comodo can afford to relax"; mes "so easily. I, for one, have"; mes "the responsibility of seeking"; - mes "out those that are worthy of,^FFFFFF ^000000 well, I don't know if I can say..."; + mes "out those that are worthy of, well, I don't know if I can say..."; next; mes "[Won]"; mes "You just have to"; diff --git a/quests/quests_ein.txt b/quests/quests_ein.txt index fc6f1d8..02b7327 100644 --- a/quests/quests_ein.txt +++ b/quests/quests_ein.txt @@ -387,7 +387,7 @@ einbech,97,167,5 script Cavitar 847,{ switch(select("Sure~!:No, thanks.")) { case 1: set Zeny,Zeny-1000; - set $einamanoama,$einamanoama + 1; + set $ein_amano,$ein_amano + 1; set ein_gear1,1; mes "[Cavitar]"; mes "Great...!"; diff --git a/quests/quests_hugel.txt b/quests/quests_hugel.txt index 8233e5f..f80ec59 100644 --- a/quests/quests_hugel.txt +++ b/quests/quests_hugel.txt @@ -47,14 +47,14 @@ hu_in01,387,245,0 script Allen Schuwell 849,2,2,{ mes "I've got. He used to be such"; mes "a good obedient kid, but now"; mes "I doubt whether he cares about"; - mes "his father! I told that lazy kid^FFFFFF ^000000 to hurry and bring me my meds..."; + mes "his father! I told that lazy kid to hurry and bring me my meds..."; next; mes "[Allen]"; mes "But does he worry about"; mes "his father's suffering?! No!"; mes "I bet you he's hanging out with"; mes "his no good hoodlum friends!"; - mes "Argh! The pain is getting worse!^FFFFFF ^000000 I... I need my medication!"; + mes "Argh! The pain is getting worse! I... I need my medication!"; next; mes "[Allen]"; mes "Oh! I can definitely feel"; @@ -172,7 +172,7 @@ hu_in01,387,245,0 script Allen Schuwell 849,2,2,{ mes "Wh-what if I have another"; mes "ulcer attack before Postell"; mes "can bring my meds?! I might"; - mes "not survive! A-adventurer, would^FFFFFF ^000000 you please stay by my side until"; + mes "not survive! A-adventurer, would you please stay by my side until"; mes "my son arrives? P-please?"; next; set hg_herb,3; @@ -997,7 +997,7 @@ ein_in01,16,36,3 script Morriphen 86,{ mes "[Morriphen]"; mes "You're such a kind person..."; mes "You save my life and my wife's"; - mes "life. I'll do anything you ask me^FFFFFF ^000000 to do to repay you! Consider me"; + mes "life. I'll do anything you ask me to do to repay you! Consider me"; mes "your humble servant from now on. What is your command, oh master?"; next; mes "["+strcharinfo(0)+"]"; @@ -1042,7 +1042,7 @@ ein_in01,16,36,3 script Morriphen 86,{ mes "since childhood. We did almost"; mes "everything together. Even when"; mes "we started our professional"; - mes "careers, we both decided to work^FFFFFF ^000000 for the Rekenber Corporation."; + mes "careers, we both decided to work for the Rekenber Corporation."; next; mes "[Morriphen]"; mes "Dono eventually became in"; @@ -1070,7 +1070,7 @@ ein_in01,16,36,3 script Morriphen 86,{ mes "[Morriphen]"; mes "He told me not to be so"; mes "curious, but I didn't listen."; - mes "Ever since then, I went to his^FFFFFF ^000000 office as often as I could, making"; + mes "Ever since then, I went to his office as often as I could, making"; mes "stupid excuses to see her. I just couldn't help it. I was in love."; next; mes "[Morriphen]"; @@ -1085,7 +1085,7 @@ ein_in01,16,36,3 script Morriphen 86,{ mes "There was a snowstorm"; mes "that night, but I braved the"; mes "freezing cold to sneak into the"; - mes "Rekenber Laboratory. I broke her^FFFFFF ^000000 out of her test tube, set the lab"; + mes "Rekenber Laboratory. I broke her out of her test tube, set the lab"; mes "on fire, and got the hell out."; next; mes "[Morriphen]"; @@ -1109,7 +1109,7 @@ ein_in01,16,36,3 script Morriphen 86,{ mes "man right before I fainted. He"; mes "said something about bringing"; mes "us to Hugel, a resting place"; - mes "for the lost, those born from^FFFFFF ^000000 Odin's shadow. It was strange..."; + mes "for the lost, those born from Odin's shadow. It was strange..."; next; mes "[Morriphen]"; mes "I couldn't see his face."; @@ -1124,7 +1124,7 @@ ein_in01,16,36,3 script Morriphen 86,{ mes "accomdating, welcome, and"; mes "friendly. They also didn't"; mes "ask us any questions: we were"; - mes "just accepted. The girl I saved^FFFFFF ^000000 didn't know how to speak then..."; + mes "just accepted. The girl I saved didn't know how to speak then..."; next; mes "[Morriphen]"; mes "As soon as I got better,"; @@ -1151,7 +1151,7 @@ ein_in01,16,36,3 script Morriphen 86,{ mes "You know, Siria was supposed"; mes "to become a mass murder weapon."; mes "The reason why Dono's experiment failed was became she resisted"; - mes "their plans. She's more than just^FFFFFF ^000000 an experiment or weapon, you know."; + mes "their plans. She's more than just an experiment or weapon, you know."; next; mes "[Morriphen]"; mes "If everything had turned out"; @@ -1161,7 +1161,7 @@ ein_in01,16,36,3 script Morriphen 86,{ mes "cutting edge weapons at the pinnacle of military development."; next; mes "[Morriphen]"; - mes "While I was working for Rekenber,^FFFFFF ^000000 I was working on mass producing"; + mes "While I was working for Rekenber, I was working on mass producing"; mes "imitations of the legendary sword, ''Executioner.'' They wouldn't be"; mes "perfect copies, but imagine what would've happened if I succeeded."; next; @@ -1485,7 +1485,7 @@ lighthalzen,88,79,7 script Dono 85,{ mes "[Dono]"; mes "I have the medicine, but it's"; mes "not enough for one person, much"; - mes "less the two of them. I need you^FFFFFF ^000000 to help me make some more."; + mes "less the two of them. I need you to help me make some more."; mes "Now, listen carefully, these"; mes "are the ingredients I need..."; next; @@ -1524,7 +1524,7 @@ lighthalzen,88,79,7 script Dono 85,{ mes "I know I'm pushing you"; mes "hard, but I've got no choice."; mes "If you don't hurry, then"; - mes "those two will die, simple^FFFFFF ^000000 as that. I'll wait for you here."; + mes "those two will die, simple as that. I'll wait for you here."; set hg_bio,3; changequest 11010,11011; close; @@ -1582,7 +1582,7 @@ lighthalzen,88,79,7 script Dono 85,{ mes "[Dono]"; mes "Go to the Lighthalzen"; mes "Makkie. Tell him I sent you"; - mes "to get some Red Plant Stem^FFFFFF ^000000 Powder for Morriphen's medicine."; + mes "to get some Red Plant Stem Powder for Morriphen's medicine."; next; mes "[Dono]"; mes "Look, I know it's a pain,"; @@ -1624,7 +1624,7 @@ lighthalzen,88,79,7 script Dono 85,{ mes "to find Makkie inside the"; mes "pub across the street. Hurry"; mes "up and bring me some Red"; - mes "Plant Stem Power from him.^FFFFFF ^000000 Come on, Morriphen's in trouble!"; + mes "Plant Stem Power from him. Come on, Morriphen's in trouble!"; close; } else if (hg_bio == 5) { mes "[Dono]"; @@ -1752,7 +1752,7 @@ lhz_in03,193,28,3 script Makkie 83,{ mes "it to prepare medicine for"; mes "Morriphen and Siria, am"; mes "I right? Okay, just give me"; - mes "a moment. While you're waiting,^FFFFFF ^000000 go ahead and relax, look around..."; + mes "a moment. While you're waiting, go ahead and relax, look around..."; next; mes "^3355FFMakkie sifted the powder"; mes "into a bag for you, you see"; @@ -1795,7 +1795,7 @@ lhz_in03,193,28,3 script Makkie 83,{ mes "up at our current jobs."; mes "Strangely enough, Morriphen"; mes "disappeared at the same time."; - mes "I don't know what happened to^FFFFFF ^000000 him since our days at Rekenber..."; + mes "I don't know what happened to him since our days at Rekenber..."; next; mes "[Makkie]"; mes "Anyway, when Morriphen"; @@ -4270,7 +4270,7 @@ hugel,191,172,3 script Manainne 892,1,{ mes "I used to get along when"; mes "he dated my older sister,"; mes "Kanainne. In fact, they'd"; - mes "always spend time together^FFFFFF ^000000 right under that tree. Weird, huh?"; + mes "always spend time together right under that tree. Weird, huh?"; next; mes "[Manainne]"; mes "Then, well, Kanainne"; @@ -4439,13 +4439,13 @@ hugel,191,172,3 script Manainne 892,1,{ mes "[Manainne]"; mes "''In my dream, your"; mes "eyes held the reflection"; - mes "of the ocean's clear waters...^FFFFFF ^000000 Someday I'll show them to you.''"; + mes "of the ocean's clear waters... Someday I'll show them to you.''"; next; mes "[Manainne]"; mes "''Your lovely face,"; mes "your enticing smile..."; mes "They're forever be in my"; - mes "heart, so I'll never be lonely.'' ^FFFFFF ^000000"; + mes "heart, so I'll never be lonely.''"; next; mes "[El Schatt]"; mes "Manainne..."; @@ -4604,8 +4604,8 @@ hugel,100,103,3 script Perfitz 866,{ mes "[Perfitz]"; mes "It's funny how things"; mes "change. You know, El Schatt"; - mes "actually used to protest against^FFFFFF ^000000 my idea of building shops in the"; - mes "area when that tree grows. Hmm...^FFFFFF ^000000 I wonder, what happened to him?"; + mes "actually used to protest against my idea of building shops in the"; + mes "area when that tree grows. Hmm... I wonder, what happened to him?"; close; } else { mes "[Perfitz]"; @@ -4656,7 +4656,7 @@ hugel,196,164,3 script El Schatt 50,{ mes "[El Schatt]"; mes "My father's been wanting to"; mes "build a shop here for so long,"; - mes "and now, I think it's about time.^FFFFFF ^000000 And this business will help the"; + mes "and now, I think it's about time. And this business will help the"; mes "entire community. We should've"; mes "done this a long time ago..."; next; @@ -4700,7 +4700,7 @@ hugel,196,164,3 script El Schatt 50,{ mes "to think differently..."; mes "I'd protect that old tree"; mes "with my life, I won't deny"; - mes "it. But that's an old story that^FFFFFF ^000000 should be buried in the past..."; + mes "it. But that's an old story that should be buried in the past..."; changequest 8060,8061; close; } else if (hg_memory == 5) { @@ -5045,7 +5045,7 @@ hugel,107,67,3 script Torpy 706,{ mes "I'm older to have a girlfriend."; mes "I mean, what if the girl I pick"; mes "now gets uglier when she"; - mes "grows up? Or what if she gets^FFFFFF ^000000 really fat? I better be careful..."; + mes "grows up? Or what if she gets really fat? I better be careful..."; next; mes "^3355FFTorpy is still a young,"; mes "naive child that has much"; @@ -5503,7 +5503,7 @@ hu_in01,15,372,3 script Cellette Lavit 74,{ mes "[Cellette]"; mes "Oh, thank you so much!"; mes "You can't imagine how busy"; - mes "I've been, and how much I need^FFFFFF ^000000 the help! Now, let's get started~"; + mes "I've been, and how much I need the help! Now, let's get started~"; next; switch(rand(1,4)) { case 1: @@ -5512,7 +5512,7 @@ hu_in01,15,372,3 script Cellette Lavit 74,{ mes "order of Fish Cake Soup to"; mes "my friend Neha. I'm grateful"; mes "that she's a regular customer--"; - mes "she's a good friend, but I'm sure^FFFFFF ^000000 that she loves the soup as well."; + mes "she's a good friend, but I'm sure that she loves the soup as well."; set hg_odeng,1; setquest 8064; getitem 584,1; //Fish_Ball_Soup @@ -5523,7 +5523,7 @@ hu_in01,15,372,3 script Cellette Lavit 74,{ mes "of Fish Cake Soup to Maewan,"; mes "another one of my regulars."; mes "He's been buying my soup ever"; - mes "since I helped him start his^FFFFFF ^000000 business. Nice of him, isn't it?"; + mes "since I helped him start his business. Nice of him, isn't it?"; set hg_odeng,2; setquest 8065; getitem 584,1; //Fish_Ball_Soup @@ -5732,7 +5732,7 @@ hu_in01,15,372,3 script Cellette Lavit 74,{ mes "leave now and deliver"; mes "that Fish Cake Soup to"; mes "Erjan before he can think"; - mes "of something to complain about.^FFFFFF ^000000 Although it's probably too late..."; + mes "of something to complain about. Although it's probably too late..."; close; } else { mes "[Cellette]"; @@ -5912,7 +5912,7 @@ hugel,87,139,3 script Maewan 86,{ mes "Oh, finally, I've been"; mes "waiting for my order of"; mes "Fish Cake Soup from Cellette!"; - mes "Aaaah, it smells oh so delicious~ ^FFFFFF ^000000"; + mes "Aaaah, it smells oh so delicious~"; next; mes "[Maewan]"; mes "Argh, but you're late!"; @@ -6026,7 +6026,7 @@ hugel,84,125,3 script Layoma 700,{ mes "count on you to work"; mes "for my roommate Cellette"; mes "a little while longer. Oh, and"; - mes "please tell her to not to come^FFFFFF ^000000 home so late all the time, okay?"; + mes "please tell her to not to come home so late all the time, okay?"; delitem 921,1; //Mushroom_Spore delitem 584,1; //Fish_Ball_Soup set hg_odeng,10; @@ -6061,7 +6061,7 @@ hugel,102,161,3 script Erjan 100,{ mes "never come to deliver"; mes "my Fish Cake Soup. You're"; mes "awfully late, you know that?"; - mes "Still, the smell is just so^FFFFFF ^000000 appetizing, I can barely resist..."; + mes "Still, the smell is just so appetizing, I can barely resist..."; next; mes "[Erjan]"; mes "Hm, but as the first son"; @@ -6273,7 +6273,7 @@ yuno,111,156,3 script Euslan 90,{ mes "My fiancee was planning on"; mes "searching the Schwaltzvalt"; mes "Republic, so maybe the crewmen"; - mes "on the Schwaltzvalt Republic^FFFFFF ^000000 domestic flights might know him."; + mes "on the Schwaltzvalt Republic domestic flights might know him."; next; mes "[Euslan]"; mes "If you manage to find"; @@ -6342,7 +6342,7 @@ yuno,111,156,3 script Euslan 90,{ mes "My fiancee was planning on"; mes "searching the Schwaltzvalt"; mes "Republic, so maybe the crewmen"; - mes "on the Schwaltzvalt Republic^FFFFFF ^000000 domestic flights might know him."; + mes "on the Schwaltzvalt Republic domestic flights might know him."; next; mes "[Euslan]"; mes "If you manage to find"; @@ -6419,7 +6419,7 @@ yuno,111,156,3 script Euslan 90,{ mes "please visit my brother"; mes "Eukran in Hugel, and ask"; mes "him where my Thierry might be."; - mes "Thank you again for your kindness. ^FFFFFF ^000000"; + mes "Thank you again for your kindness."; close; } else if (hg_ma1 == 8 || hg_ma1 == 9 || hg_ma1 == 10 || hg_ma1 == 11) { mes "^3355FFEuslan is waiting for"; @@ -6446,7 +6446,7 @@ yuno,111,156,3 script Euslan 90,{ mes "such a wonderful man. Why"; mes "did that silly fool go through"; mes "so much trouble for a useless"; - mes "woman like me. *Cough* I still^FFFFFF ^000000 don't understand it... I don't..."; + mes "woman like me. *Cough* I still don't understand it... I don't..."; next; mes "[Euslan]"; mes "Thank you so much for"; @@ -6540,7 +6540,7 @@ que_bingo,53,190,7 script Eukran 778,{ mes "there that can help my"; mes "sister recover. Why else"; mes "would Thierry go to such a"; - mes "dangerous place? No one goes^FFFFFF ^000000 to the Odin Shrine for no reason."; + mes "dangerous place? No one goes to the Odin Shrine for no reason."; close2; set hg_ma1,8; changequest 8047,8048; @@ -6762,7 +6762,7 @@ odin_tem01,130,134,4 script Young Man#Hu_Quest 774,{ mes "been using their guardians to"; mes "gather the ingredients needed"; mes "for my fiancee's medicine. But"; - mes "if they're planning to get rid of^FFFFFF ^000000 me, I've just run out of time."; + mes "if they're planning to get rid of me, I've just run out of time."; next; mes "[Thierry]"; mes "It doesn't matter what"; @@ -6869,7 +6869,7 @@ OnTouch: mes "[Suspicious Man]"; mes "Thierry seems to have"; mes "caught on to what we're"; - mes "really up to. I think that's why^FFFFFF ^000000 he's slowing down on his"; + mes "really up to. I think that's why he's slowing down on his"; mes "research. We better get rid"; mes "of him before it's too late."; next; @@ -7240,7 +7240,7 @@ hu_fild06,217,270,3 script Burupu 896,3,3,{ mes "Airship landed in our"; mes "town, and I saw all those"; mes "Swordmen, I knew it'd be"; - mes "my destiny! Forget ranching,^FFFFFF ^000000 I'm gonna wield a frickin' sword!"; + mes "my destiny! Forget ranching, I'm gonna wield a frickin' sword!"; set hg_milk,4; close; } else if (hg_milk == 4) { @@ -7257,7 +7257,7 @@ hu_fild06,217,270,3 script Burupu 896,3,3,{ mes "Booboo the cow if you can get"; mes "me some proper Swordman"; mes "equipment. Let's see... Why not"; - mes "give me 1 Rapier with 2 Slots?^FFFFFF ^000000 That's not too much to ask, right?"; + mes "give me 1 Rapier with 2 Slots? That's not too much to ask, right?"; next; switch(select("Alright.:Whoa, that's too much!")) { case 1: @@ -7313,7 +7313,7 @@ hu_fild06,217,270,3 script Burupu 896,3,3,{ mes "I hid my secret instructions"; mes "for milking Booboo the cow"; mes "under the ground just northeast"; - mes "of her. Read them carefully, and^FFFFFF ^000000 you should be able to milk her"; + mes "of her. Read them carefully, and you should be able to milk her"; mes "yourself. You can do it, right?"; next; mes "[Burupu]"; @@ -7338,7 +7338,7 @@ hu_fild06,217,270,3 script Burupu 896,3,3,{ mes "best Swordman in the"; mes "world! But first, I gotta"; mes "learn how to use this thing!"; - mes "Heeeeee-YAH! How's that? That^FFFFFF ^000000 was almost a Magnum Break, right?"; + mes "Heeeeee-YAH! How's that? That was almost a Magnum Break, right?"; emotion e_swt2,0; close; } @@ -7761,7 +7761,7 @@ hu_in01,19,161,0 script Alex 803,{ mes "Our main goal in this"; mes "excavation is to retrieve"; mes "some extremely valuable"; - mes "item inside the shrine. However,^FFFFFF ^000000 it's too dangerous to go in there"; + mes "item inside the shrine. However, it's too dangerous to go in there"; mes "if you're not strong enough."; next; mes "[Alex]"; @@ -7810,7 +7810,7 @@ hu_in01,19,161,0 script Alex 803,{ mes "Anyway, I have to accept"; mes "them to help international"; mes "relations or something silly"; - mes "like that. They say they're here^FFFFFF ^000000 to research religious relics,"; + mes "like that. They say they're here to research religious relics,"; mes "but I just don't trust them."; next; cutin "hu_alex04.bmp",2; @@ -8214,7 +8214,7 @@ hu_in01,14,11,4 script Laura 70,{ mes "Perfect! Now, you first"; mes "you need to go to the shrine"; mes "and survey the area for your"; - mes "own benefit. Talk to the Boatman,^FFFFFF ^000000 and he'll take you there, okay?"; + mes "own benefit. Talk to the Boatman, and he'll take you there, okay?"; mes "Hurry up and come back soon!"; set hg_odin,12; setquest 11003; @@ -8260,7 +8260,7 @@ hu_in01,14,11,4 script Laura 70,{ mes "Sorry, let me introduce"; mes "myself. I'm Laura Laurence,"; mes "the leader of the Odin Shrine"; - mes "expedition for the Rune Midgarts^FFFFFF ^000000 Kingdom. Ashe Milton is my"; + mes "expedition for the Rune Midgarts Kingdom. Ashe Milton is my"; mes "assistant for this excavation."; next; emotion e_heh,0,"Ashe"; @@ -8302,7 +8302,7 @@ hu_in01,14,11,4 script Laura 70,{ mes "to spy on that snobby girl,"; mes "Alex of the Schwaltzvalt"; mes "Republic office, and report"; - mes "what she's actually doing to me. ^FFFFFF ^000000"; + mes "what she's actually doing to me."; next; cutin "hu_laura03.bmp",2; mes "[Laura]"; @@ -8345,7 +8345,7 @@ hu_in01,14,11,4 script Laura 70,{ mes "Ask the Boatman to take"; mes "you to the Odin Shrine so"; mes "that you can actually see it"; - mes "for yourself. If you don't think^FFFFFF ^000000 you can handle the expedition,"; + mes "for yourself. If you don't think you can handle the expedition,"; mes "then you can just let me know."; close2; cutin "hu_laura02.bmp",255; @@ -8498,8 +8498,8 @@ hu_in01,14,11,4 script Laura 70,{ mes "[Laura]"; mes "This isn't really one"; mes "of those jobs where you"; - mes "can take your time. Sure,^FFFFFF ^000000 I didn't give you a deadline, but"; - mes "we can't make progress on our^FFFFFF ^000000 research until you make progress."; + mes "can take your time. Sure, I didn't give you a deadline, but"; + mes "we can't make progress on our research until you make progress."; close2; cutin "hu_laura03.bmp",255; end; @@ -8547,7 +8547,7 @@ hu_in01,14,11,4 script Laura 70,{ mes "Schwaltzvalt snobs are doing?"; mes "They must think this project"; mes "is an excuse for them to relax"; - mes "and slack off! They can afford^FFFFFF ^000000 to, obviously. Hmpf! Rich people!"; + mes "and slack off! They can afford to, obviously. Hmpf! Rich people!"; next; cutin "hu_laura03.bmp",2; mes "[Laura]"; @@ -8690,7 +8690,7 @@ hu_in01,14,11,4 script Laura 70,{ mes "to spy on that snobby girl,"; mes "Alex of the Schwaltzvalt"; mes "Republic office, and report"; - mes "what she's actually doing to me. ^FFFFFF ^000000"; + mes "what she's actually doing to me."; next; cutin "hu_laura04.bmp",2; mes "[Laura]"; @@ -8898,7 +8898,7 @@ hu_in01,18,167,4 script Julian 86,{ mes "Basically, each of our teams"; mes "is conducting its own research"; mes "for now. Now, we need your help"; - mes "to find any relics from the Odin ^FFFFFF ^000000 Shrine. We'd appreciate it if you"; + mes "to find any relics from the Odin Shrine. We'd appreciate it if you"; mes "brought as many as you can!"; close; } else if (hg_odin == 2) { @@ -8998,7 +8998,7 @@ hu_in01,16,20,4 script Ashe 95,{ mes "Now, we should be working"; mes "together with the Schwaltvalt"; mes "Republic's Research Team, but"; - mes "our leaders aren't getting along^FFFFFF ^000000 at all. There's just a huge"; + mes "our leaders aren't getting along at all. There's just a huge"; mes "clash of personalities..."; next; mes "[Ashe]"; @@ -9223,7 +9223,7 @@ hu_in01,159,84,3 script Laura#2 70,{ mes "be equal partners in the same"; mes "expedition? That's what I heard"; mes "at the beginning! But you guys"; - mes "have something different in mind! ^FFFFFF ^000000"; + mes "have something different in mind!"; next; cutin "hu_laura03.bmp",2; mes "[Laura]"; @@ -9240,7 +9240,7 @@ hu_in01,159,84,3 script Laura#2 70,{ mes "I-I don't know what you're"; mes "talking about! J-Julian must"; mes "have gotten some mission, and"; - mes "has been carrying it out without^FFFFFF ^000000 my consent! Don't go twisting"; + mes "has been carrying it out without my consent! Don't go twisting"; mes "the facts, you... you thief!"; next; cutin "hu_laura03.bmp",2; diff --git a/quests/quests_juperos.txt b/quests/quests_juperos.txt index e5fc86d..3ef3db7 100644 --- a/quests/quests_juperos.txt +++ b/quests/quests_juperos.txt @@ -1723,7 +1723,7 @@ OnMyMobDead: mapannounce "juperos_02","Have you come seeking Juperos?! It no longer exists...",bc_map,"0xFF0000"; else if (.MyMobs == 0) { mapannounce "juperos_02","Have you come to see me? Fine! Find me first!",bc_map,"0xFF0000"; - specialeffect2 563; + specialeffect2 EF_SCREEN_QUAKE; soundeffectall "earth_quake.wav",0; disablenpc "3F Gate Switch#jupe"; donpcevent "Restricted Area#jupe::OnEnable"; @@ -4315,7 +4315,7 @@ jupe_ele_r,51,98,0 script Switch#ufe 844,{ disablenpc "Switch#ufe"; enablenpc "Switch On#ufe"; initnpctimer; - specialeffect2 563; + specialeffect2 EF_SCREEN_QUAKE; soundeffectall "earth_quake.wav",0; close2; cutin "5-1",255; diff --git a/quests/quests_lighthalzen.txt b/quests/quests_lighthalzen.txt index 676c7d3..0d0f184 100644 --- a/quests/quests_lighthalzen.txt +++ b/quests/quests_lighthalzen.txt @@ -913,7 +913,7 @@ lhz_cube,237,183,0 script Barrel#cube 111,{ mes "you can only enter single"; mes "digit numbers at one time...^000000"; next; - for( set $@i, 0; .@i < 9; set .@i, .@i + 1 ) + for( set .@i, 0; .@i < 9; set .@i, .@i + 1 ) input .@input; mes "^3355FFNothing happened...^000000"; close; @@ -930,7 +930,7 @@ lhz_cube,237,183,0 script Barrel#cube 111,{ mes "metal plate on top of the box"; mes "you found inside the keg.^000000"; next; - for( set $@i, 0; .@i < 9; set .@i, .@i + 1 ) { + for( set .@i, 0; .@i < 9; set .@i, .@i + 1 ) { input .@input; if (.@input == .@numbers[.@i]) set .@number_line,.@number_line+1; } @@ -2518,9 +2518,9 @@ lhz_in02,201,210,5 script Digotz 869,{ } lighthalzen,337,232,3 script Maku 870,{ + mes "[Maku]"; if (friendship > 14) { cutin "lhz_macu07",2; - mes "[Maku]"; mes "Why is this guy so"; mes "late? Once he shows"; mes "up, I swear, I'm gonna...!"; @@ -2532,24 +2532,16 @@ lighthalzen,337,232,3 script Maku 870,{ mes "I've been saving a whole"; mes "six pack of kickass to open,"; mes "just for him. Heh heh heh~"; - close2; - cutin "lhz_macu07",255; - end; } - if (friendship == 14) { + else if (friendship == 14) { cutin "lhz_macu05",2; - mes "[Maku]"; mes "Why is Digotz"; mes "so late? This isn't"; mes "like him at all. Maybe"; mes "something's wrong?"; - close2; - cutin "lhz_macu05",255; - end; } - if (friendship == 13 && countitem(7351) > 0) { + else if (friendship == 13 && countitem(7351) > 0) { cutin "lhz_macu06",2; - mes "[Maku]"; mes "Hey, what is that? You want"; mes "I should read this journal?"; mes "Er, okay, but I'm none too"; @@ -2590,7 +2582,7 @@ lighthalzen,337,232,3 script Maku 870,{ mes "wings and Digotz always"; mes "wanted to wear them too."; next; - cutin "lhz_macu03",255; + cutin "",255; mes "[Benkaistein's Journal]"; mes "^856363Maku, Digotz and me went"; mes "outside of town. Of course,"; @@ -2616,7 +2608,7 @@ lighthalzen,337,232,3 script Maku 870,{ mes "But I gotta say, he was also"; mes "the most fearless of us."; next; - cutin "lhz_macu03",255; + cutin "",255; mes "[Benkaistein's Journal]"; mes "^856363Digot's been sick for three"; mes "days now. It's just a normal"; @@ -2633,7 +2625,7 @@ lighthalzen,337,232,3 script Maku 870,{ mes "that, uh, horrible disease. No"; mes "one should have that one!"; next; - cutin "lhz_macu04",255; + cutin "",255; mes "[Benkaistein's Journal]"; mes "^856363Mom and dad keep telling"; mes "me not to hang out with Maku"; @@ -2654,7 +2646,7 @@ lighthalzen,337,232,3 script Maku 870,{ mes "..."; mes "......"; next; - cutin "lhz_macu01",255; + cutin "",255; mes "[Benkaistein's Journal]"; mes "^856363Today, the three of us"; mes "made an oath of brotherhood,"; @@ -2713,13 +2705,9 @@ lighthalzen,337,232,3 script Maku 870,{ mes "Um, now I gotta get"; mes "ready for something."; mes "^333333(But not to see Digotz!)^000000"; - close2; - cutin "lhz_macu04",255; - end; } - if (friendship > 5 && friendship < 13) { + else if (friendship > 5 && friendship < 13) { cutin "lhz_macu06",2; - mes "[Maku]"; mes "Arrrrgh! Whenever I hear"; mes "about that Digotz, I get so"; mes "peeved! Is that guy giving"; @@ -2733,12 +2721,8 @@ lighthalzen,337,232,3 script Maku 870,{ mes "all those freakin' guards!"; mes "Arrrrrrrgh! Man, where's"; mes "Benkaistein when I need him?"; - close2; - cutin "lhz_macu06",255; - end; } - if (friendship == 5) { - mes "[Maku]"; + else if (friendship == 5) { mes "RrrrRrrrr...."; mes "RrrrrRRRrrRR...."; mes "GGGGGRRRRR..."; @@ -2793,13 +2777,9 @@ lighthalzen,337,232,3 script Maku 870,{ mes "I could just go over and"; mes "kick Digotz's ass! I swear,"; mes "if it weren't for them...!"; - close2; - cutin "lhz_macu06",255; - end; } - if (friendship == 4) { + else if (friendship == 4) { cutin "lhz_macu05",2; - mes "[Maku]"; mes "What the hell are you"; mes "still doing around here?"; mes "You must have better things"; @@ -2895,13 +2875,9 @@ lighthalzen,337,232,3 script Maku 870,{ mes "him carefully enough? It's"; mes "been a while, but I know"; mes "how Digotz talks, man."; - close2; - cutin "lhz_macu01",255; - end; } - if (friendship == 3) { + else if (friendship == 3) { cutin "lhz_macu03",2; - mes "[Maku]"; mes "Man, I need to blow off some"; mes "steam! Sure, me and Digotz"; mes "were buds before and maybe"; @@ -2923,12 +2899,8 @@ lighthalzen,337,232,3 script Maku 870,{ mes "I mean, I'm not the one"; mes "holding a grudge. It's all"; mes "that guy's fault! Sheeeesh!"; - close2; - cutin "lhz_macu03",255; - end; } - if (friendship == 2) { - mes "[Maku]"; + else if (friendship == 2) { mes "Hey, what are you"; mes "doing back over here?"; mes "I thought I recommended"; @@ -2946,7 +2918,6 @@ lighthalzen,337,232,3 script Maku 870,{ mes "who usedta be my buddy,"; mes "but obviously not anymore."; next; - cutin "lhz_macu05",255; cutin "lhz_macu02",2; mes "[Maku]"; mes "Sure, we were real close"; @@ -2965,13 +2936,9 @@ lighthalzen,337,232,3 script Maku 870,{ mes "I hate the guy, one hundred"; mes "percent! The next time I see"; mes "him, I'll beat him to a pulp!"; - close2; - cutin "lhz_macu02",255; - end; } - if (friendship == 1) { + else { cutin "lhz_macu01",2; - mes "[Maku]"; mes "Hey, you're one of"; mes "those adventurers, eh?"; mes "Welcome to the ghetto."; @@ -3011,7 +2978,8 @@ lighthalzen,337,232,3 script Maku 870,{ mes "anyway? Sure, we all"; mes "do it, but still..."; set friendship,1; - setquest 12000; + if (isbegin_quest(12000) == 0) + setquest 12000; next; mes "[Maku]"; mes "Well, when you get"; @@ -3020,67 +2988,9 @@ lighthalzen,337,232,3 script Maku 870,{ mes "out the rich section of town."; mes "I'm bitter, but I'll also admit"; mes "it's way nicer than this place."; - close2; - cutin "lhz_macu01",255; - end; } - cutin "lhz_macu01",2; - mes "[Maku]"; - mes "Hey, you're one of"; - mes "those adventurers, eh?"; - mes "Welcome to the ghetto."; - mes "Nothing too adventurous"; - mes "here, but hey, you can"; - mes "explore all you want."; - next; - mes "[Maku]"; - mes "I don't know if you know,"; - mes "but actually, the people who"; - mes "live here ain't allowed to"; - mes "explore this whole city. It's"; - mes "kind of taboo to talk about,"; - mes "but what do I care, right?"; - next; - mes "[Maku]"; - mes "Yeah, basically the rich"; - mes "people here are too afraid"; - mes "of the poor people comin' to"; - mes "see them, so the security in"; - mes "this city is pretty tight! Those"; - mes "upper class guys are trash..."; - next; - mes "[Maku]"; - mes "I didn't used to think"; - mes "this way. I actually used"; - mes "to have a pretty rich friend"; - mes "till I found out he's not all"; - mes "I thought he was. That"; - mes "moron! Why's he like that?!"; - next; - mes "[Maku]"; - mes "Eh, forget about it."; - mes "Why am I even talking"; - mes "about my personal life"; - mes "to someone I just met"; - mes "anyway? Sure, we all"; - mes "do it, but still..."; - set friendship,1; - next; - mes "[Maku]"; - mes "Well, when you get"; - mes "bored of the ghetto,"; - mes "you really oughta check"; - mes "out the rich section of town."; - mes "I'm bitter, but I'll also admit"; - mes "it's way nicer than this place."; close2; - cutin "lhz_macu01",255; - cutin "lhz_macu02",255; - cutin "lhz_macu03",255; - cutin "lhz_macu04",255; - cutin "lhz_macu05",255; - cutin "lhz_macu06",255; - cutin "lhz_macu07",255; + cutin "",255; end; } @@ -6734,7 +6644,7 @@ lighthalzen,179,170,4 script Ordinary Man 98,{ { case 1: break; - + case 2: mes "[Ghalstein]"; mes "Very good."; @@ -7056,7 +6966,7 @@ OnTouch: mes "awfully familiar..."; mes "But what do I care?)"; close; - + case 2: mes "["+strcharinfo(0)+"]"; mes "(This is too weird."; @@ -9097,7 +9007,7 @@ lhz_fild02,228,214,0 script Wounded Man 849,{ mes "Jargeah just passed"; mes "out in a very ugly way."; close; - + case 2: mes "^3355FFAnd so you left the"; mes "wounded man alone. Not"; @@ -11180,7 +11090,7 @@ einbroch,55,52,3 script Laboratory Guard#reken 852,{ changequest 12008,12010; close; } - + case 2: mes "[" + strcharinfo(0) + "]"; mes "Whoa, I'm leaving!"; @@ -11829,7 +11739,7 @@ airplane_01,1,1,1 script #bully1 -1,{ OnInit: disablenpc "#bully1"; end; - + OnEnter: enablenpc "#bully1"; initnpctimer; @@ -11837,7 +11747,7 @@ OnEnter: monster "airplane_01",87,47,"Thug",1592,1,"#bully1::OnMyMobDead"; set .bullymobs,2; end; - + OnReset: killmonster "airplane_01","#bully1::OnMyMobDead"; end; @@ -11858,7 +11768,7 @@ OnMyMobDead: stopnpctimer; } end; - + OnTimer120000: donpcevent "#bully1::OnReset"; donpcevent "#bully1::OnInit"; @@ -11872,7 +11782,7 @@ airplane_01,2,2,1 script #bully2 -1,{ OnInit: disablenpc "#bully2"; end; - + OnEnter: enablenpc "#bully2"; initnpctimer; @@ -11881,7 +11791,7 @@ OnEnter: monster "airplane_01",97,43,"Thug",1592,1,"#bully2::OnMyMobDead"; set .bullymobs,3; end; - + OnReset: killmonster "airplane_01","#bully2::OnMyMobDead"; end; @@ -11901,7 +11811,7 @@ OnMyMobDead: stopnpctimer; } end; - + OnTimer120000: donpcevent "#bully2::OnReset"; donpcevent "#bully2::OnInit"; @@ -11912,7 +11822,7 @@ OnTimer120000: airplane_01,99,47,3 script #packidentity 139,2,2,{ end; - + OnInit: disablenpc "#packidentity"; end; diff --git a/quests/quests_louyang.txt b/quests/quests_louyang.txt index b40ec69..435af3c 100644 --- a/quests/quests_louyang.txt +++ b/quests/quests_louyang.txt @@ -2409,9 +2409,9 @@ lou_in02,192,170,0 script Supply Stack#2 111,{ close; } -louyang,129,121,0 warp Storage Warp#1 1,1,lou_in02,203,161; -louyang,125,121,0 warp Storage Warp#2 1,1,lou_in02,198,161; -lou_in02,198,159,0 warp Storage Warp#3 1,1,louyang,124,118; +louyang,129,121,0 warp Storage Warp#1 1,1,lou_in02,203,161 +louyang,125,121,0 warp Storage Warp#2 1,1,lou_in02,198,161 +lou_in02,198,159,0 warp Storage Warp#3 1,1,louyang,124,118 lou_in02,203,159,0 warp Storage Warp#4 1,1,louyang,129,118 // Poison King Quest :: poison_king diff --git a/quests/quests_morocc.txt b/quests/quests_morocc.txt index 9bf4d00..0128237 100644 --- a/quests/quests_morocc.txt +++ b/quests/quests_morocc.txt @@ -3646,8 +3646,8 @@ que_ba,181,14,7 script Researcher#bpast_2_2 865,{ close; } -que_ba,183,25,0 warp #bpast_2to3_1 1,1,que_ba,72,25; -que_ba,183,52,0 warp #bpast_2to3_2 1,1,que_ba,72,51; +que_ba,183,25,0 warp #bpast_2to3_1 1,1,que_ba,72,25 +que_ba,183,52,0 warp #bpast_2to3_2 1,1,que_ba,72,51 que_ba,102,56,0 script #3room_barmunt -1,3,3,{ //OnTouch2: diff --git a/quests/quests_moscovia.txt b/quests/quests_moscovia.txt index 560adb1..750756b 100644 --- a/quests/quests_moscovia.txt +++ b/quests/quests_moscovia.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 2.3 +//= 3.0 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -27,6 +27,7 @@ //= 2.1 Fixed incorrect use of 'close'. [Joseph] //= 2.2 Updated RE/Pre-RE EXP. [Euphy] //= 2.3 Added GM management NPC. [Euphy] +//= 3.0 Bug fixes. Added questlog support. [Capuche] //============================================================ // The Moving Island :: mos_whale_edq @@ -35,7 +36,7 @@ //---------------------------------------------------------------------------- // Berbayeff - Starting Point //---------------------------------------------------------------------------- -moscovia,171,71,3 script Berbayeff#npc 968,{ +moscovia,171,71,3 script Berbayeff#npc 4_M_RUSMAN2,{ if (!mos_whale_edq) { emotion e_an; mes "[Berbayeff]"; @@ -56,6 +57,8 @@ moscovia,171,71,3 script Berbayeff#npc 968,{ mes "be interested in my story."; mes "All the villagers are blockheads,"; mes "so they treat me like an idiot."; + if (isbegin_quest(18100) == 0) + setquest 18100; next; if(select("I'm not interested in any story.:Tell me.") == 1) { mes "[Berbayeff]"; @@ -174,10 +177,11 @@ moscovia,171,71,3 script Berbayeff#npc 968,{ mes "And on that day,"; mes "I'll definitely go up to that"; mes "island... and verify it with my own eyes!"; - set mos_whale_edq,1; + changequest 18100,18101; + mos_whale_edq = 1; close; } else if (mos_whale_edq == 1) { - set .@speak,rand(1,5); + .@speak = rand(1,5); if (.@speak < 3) { mes "[Berbayeff]"; mes "Clearly, I want to prove"; @@ -221,8 +225,9 @@ moscovia,171,71,3 script Berbayeff#npc 968,{ mes "If you want to find the island"; mes "by ship, go to Mr. Ibanoff"; mes "and ask for a favor."; + changequest 18101,18102; close; - } else if (mos_whale_edq > 12 && mos_whale_edq < 42) { + } else if (mos_whale_edq > 2 && mos_whale_edq < 42) { emotion e_omg; mes "[Berbayeff]"; mes "Are you serious? Did you say"; @@ -251,7 +256,7 @@ moscovia,171,71,3 script Berbayeff#npc 968,{ //---------------------------------------------------------------------------- // Bulletin Board - List Tide Times //---------------------------------------------------------------------------- -moscovia,135,52,0 script Bulletin Board#npc 837,{ +moscovia,135,52,0 script Bulletin Board#npc 2_BULLETIN_BOARD,{ mes "[Charabel Schedule]"; mes "NOTICE, due to the varying"; mes "tides here in Moscovia,"; @@ -271,7 +276,7 @@ moscovia,135,52,0 script Bulletin Board#npc 837,{ //---------------------------------------------------------------------------- // Mr. Ibanoff - Docks //---------------------------------------------------------------------------- -moscovia,135,49,5 script Mr. Ibanoff#npc 964,{ +moscovia,135,49,5 script Mr. Ibanoff#npc 4_M_RUSBALD,{ if (mos_whale_edq == 0) { mes "[Mr. Ibanoff]"; mes "You are also an adventurer from another province. I also was a great adventurer."; @@ -341,6 +346,10 @@ moscovia,135,49,5 script Mr. Ibanoff#npc 964,{ mes "What did you think?"; mes "Next... Let's talk about"; mes "the haunting of a Goblin mob...!"; + if (isbegin_quest(18102)) + changequest 18102,18103; + else if (isbegin_quest(18101)) + changequest 18101,18103; next; if(select("I'll listen next time...:Interesting. Keep talking.") == 1) { mes "[Mr. Ibanoff]"; @@ -388,7 +397,9 @@ moscovia,135,49,5 script Mr. Ibanoff#npc 964,{ mes "adventure story... eh? ~"; mes "If you ever need anything,"; mes "come talk to me whenever, hahaha!"; - set mos_whale_edq,2; + mos_whale_edq = 2; + if (isbegin_quest(18103)) + changequest 18103,18104; close; } if (mos_whale_edq == 2) { @@ -441,7 +452,8 @@ moscovia,135,49,5 script Mr. Ibanoff#npc 964,{ mes "When you've prepared all the"; mes "materials, bring them to me. I'll"; mes "repair the ship."; - set mos_whale_edq,3; + mos_whale_edq = 3; + changequest 18104,18105; close; } emotion e_ag; @@ -456,6 +468,10 @@ moscovia,135,49,5 script Mr. Ibanoff#npc 964,{ mes "that I have a ship..."; mes "Anyway, I can't lend my ship"; mes "willingly to strangers."; + if (isbegin_quest(18102)) + changequest 18102,18103; + else if (isbegin_quest(18101)) + changequest 18101,18103; close; } else if (mos_whale_edq == 3) { mes "[Mr. Ibanoff]"; @@ -468,11 +484,11 @@ moscovia,135,49,5 script Mr. Ibanoff#npc 964,{ mes "Oh! You got the all materials."; mes "It's enough."; next; - delitem 7167,10; //Mystery_Iron_Bit - delitem 7317,10; //Screw - delitem 7325,5; //Tube - delitem 7312,10; //Jubilee - set mos_whale_edq,4; + delitem 7167,10; // Mystery_Iron_Bit + delitem 7317,10; // Screw + delitem 7325,5; // Tube + delitem 7312,10; // Jubilee + mos_whale_edq = 4; mes "[Mr. Ibanoff]"; mes "Okay, we are at the ready."; mes "When would you like to depart?"; @@ -494,8 +510,9 @@ moscovia,135,49,5 script Mr. Ibanoff#npc 964,{ mes "raging waves."; next; mes "[Mr. Ibanoff]"; - mes "If you are ready to depart, talk to"; - mes "me before the sun sets."; + mes "If you are ready to depart, tell"; + mes "me, and we can check the tides."; + changequest 18105,18106; close; } mes "[Mr. Ibanoff]"; @@ -511,6 +528,20 @@ moscovia,135,49,5 script Mr. Ibanoff#npc 964,{ mes "Oh. Are you ready to depart?"; mes "Good, let's see..."; next; + if ((gettime(3) >= 0 && gettime(3) < 3) || (gettime(3) >= 6 && gettime(3) < 9) || (gettime(3) >= 12 && gettime(3) < 15) || (gettime(3) >= 18 && gettime(3) < 21)) { + // if (isbegin_quest(18106)) + // changequest 18106,18107; + mes "[Mr. Ibanoff]"; + mes "Hmm. It's not a bad time."; + mes "We should hurry up"; + mes "while the tides are low."; + mes "The ship is prepared already"; + mes "at a dock nearby, so we can depart"; + mes "right away."; + close2; + warp "mosk_ship",94,110; + end; + } } else if (mos_whale_edq < 15) { mes "[Mr. Ibanoff]"; mes "That last sailing was tough..."; @@ -521,8 +552,7 @@ moscovia,135,49,5 script Mr. Ibanoff#npc 964,{ mes "[Mr. Ibanoff]"; mes "If you keep a mind to"; mes "depart again... tell me"; - mes "before the sun sets."; - mes "while the sun rises."; + mes "and we can check the tides."; next; mes "[Mr. Ibanoff]"; mes "Will you depart?"; @@ -532,6 +562,19 @@ moscovia,135,49,5 script Mr. Ibanoff#npc 964,{ mes "When you are ready to depart, tell me."; close; } + if ((gettime(3) >= 0 && gettime(3) < 3) || (gettime(3) >= 6 && gettime(3) < 9) || (gettime(3) >= 12 && gettime(3) < 15) || (gettime(3) >= 18 && gettime(3) < 21)) { + mos_whale_edq = 4; + mes "[Mr. Ibanoff]"; + mes "Hmm. It's not a bad time."; + mes "We should hurry up"; + mes "while the tides are low."; + mes "The ship is prepared already"; + mes "at a dock nearby, so we can depart"; + mes "right away."; + close2; + warp "mosk_ship",94,110; + end; + } } else if (mos_whale_edq == 15) { mes "[Mr. Ibanoff]"; mes "Hey you... You are alive!"; @@ -543,57 +586,58 @@ moscovia,135,49,5 script Mr. Ibanoff#npc 964,{ mes "Anyway, where were you all this time?"; next; select("Explain the whole story."); - mes "[Mr. Ibanoff]"; - mes "Oh... that's really marvelous."; - mes "Well I never..."; - mes "The island truly exists...?"; - next; - mes "[Mr. Ibanoff]"; - mes "What's more..."; - mes "The island is not an island?!?"; - mes "It's a gigantic whale???"; - next; - mes "[Mr. Ibanoff]"; - mes "And trees grow... and water"; - mes "streams... along the whale's"; - mes "back!!?"; - next; - mes "[Mr. Ibanoff]"; - mes "That's unbelievable!"; - mes "The most marvelous incident I have"; - mes "ever heard in my lifetime!"; - next; - mes "[Mr. Ibanoff]"; - mes "Also, I am surprised at the"; - mes "presence of an aged person on Whale"; - mes "Island!"; - next; - mes "[Mr. Ibanoff]"; - mes "He must be a man strong in"; - mes "spirit... with experience and high"; - mes "discipline."; - next; - mes "[Mr. Ibanoff]"; - mes "The story of the island has"; - mes "advanced enough until this part."; - mes "Why don't you announce your"; - mes "findings to our dearest Csar"; - mes "and receive aid to find Whale"; - mes "Island?"; - next; - mes "[Mr. Ibanoff]"; - mes "Our dear Csar likes it very"; - mes "much to hear stories about"; - mes "valuable things, so if he"; - mes "listens to your story, he may give"; - mes "you a prize..."; - next; - mes "[Mr. Ibanoff]"; - mes "And if you have any plans to go"; - mes "back to the island, I want to go"; - mes "together with you! Eh? Hahaha!"; - set mos_whale_edq,16; - close; + mes "[Mr. Ibanoff]"; + mes "Oh... that's really marvelous."; + mes "Well I never..."; + mes "The island truly exists...?"; + next; + mes "[Mr. Ibanoff]"; + mes "What's more..."; + mes "The island is not an island?!?"; + mes "It's a gigantic whale???"; + next; + mes "[Mr. Ibanoff]"; + mes "And trees grow... and water"; + mes "streams... along the whale's"; + mes "back!!?"; + next; + mes "[Mr. Ibanoff]"; + mes "That's unbelievable!"; + mes "The most marvelous incident I have"; + mes "ever heard in my lifetime!"; + next; + mes "[Mr. Ibanoff]"; + mes "Also, I am surprised at the"; + mes "presence of an aged person on Whale"; + mes "Island!"; + next; + mes "[Mr. Ibanoff]"; + mes "He must be a man strong in"; + mes "spirit... with experience and high"; + mes "discipline."; + next; + mes "[Mr. Ibanoff]"; + mes "The story of the island has"; + mes "advanced enough until this part."; + mes "Why don't you announce your"; + mes "findings to our dearest Csar"; + mes "and receive aid to find Whale"; + mes "Island?"; + next; + mes "[Mr. Ibanoff]"; + mes "Our dear Csar likes it very"; + mes "much to hear stories about"; + mes "valuable things, so if he"; + mes "listens to your story, he may give"; + mes "you a prize..."; + next; + mes "[Mr. Ibanoff]"; + mes "And if you have any plans to go"; + mes "back to the island, I want to go"; + mes "together with you! Eh? Hahaha!"; + mos_whale_edq = 16; + changequest 18111,18112; + close; } else if (mos_whale_edq < 18) { mes "[Mr. Ibanoff]"; mes "If our dear Csar listens to this"; @@ -629,7 +673,8 @@ moscovia,135,49,5 script Mr. Ibanoff#npc 964,{ next; mes "[Mr. Ibanoff]"; mes "Again, let's get the ship ready and sail before the sun sets!"; - set mos_whale_edq,19; + mos_whale_edq = 19; + changequest 18113,18114; close; } mes "[Mr. Ibanoff]"; @@ -654,6 +699,20 @@ moscovia,135,49,5 script Mr. Ibanoff#npc 964,{ mes "When you are ready to depart, tell me."; close; } + if ((gettime(3) >= 0 && gettime(3) < 3) || (gettime(3) >= 6 && gettime(3) < 9) || (gettime(3) >= 12 && gettime(3) < 15) || (gettime(3) >= 18 && gettime(3) < 21)) { + mes "[Mr. Ibanoff]"; + mes "Hmm. It's not a bad time."; + mes "We should hurry up"; + mes "while the tides are low."; + mes "The ship is prepared already"; + mes "at a dock nearby, so we can depart"; + mes "right away."; + close2; + // if (isbegin_quest(18114)) + // changequest 18114,18115; + warp "mosk_ship",94,110; + end; + } } else if (mos_whale_edq < 32) { mes "[Mr. Ibanoff]"; mes "What a surprise!!"; @@ -665,12 +724,25 @@ moscovia,135,49,5 script Mr. Ibanoff#npc 964,{ mes "I don't care... Wherever you have"; mes "been, it's very good to see you"; mes "again."; - set mos_whale_edq,19; + mos_whale_edq = 19; + // changequest 18113,18114; next; mes "[Mr. Ibanoff]"; mes "I can guess you'd like to go to"; mes "Whale Island once again..."; next; + if ((gettime(3) >= 0 && gettime(3) < 3) || (gettime(3) >= 6 && gettime(3) < 9) || (gettime(3) >= 12 && gettime(3) < 15) || (gettime(3) >= 18 && gettime(3) < 21)) { + mes "[Mr. Ibanoff]"; + mes "Hmm. It's not a bad time."; + mes "We should hurry up"; + mes "while the tides are low."; + mes "The ship is prepared already"; + mes "at a dock nearby, so we can depart"; + mes "right away."; + close2; + warp "mosk_ship",94,110; + end; + } } else if (mos_whale_edq == 32) { mes "[Mr. Ibanoff]"; mes "Oh. You came back!"; @@ -691,7 +763,7 @@ moscovia,135,49,5 script Mr. Ibanoff#npc 964,{ mes "directions. Let's leave"; mes "immediately, as soon as you are"; mes "ready."; - set mos_whale_edq,33; + mos_whale_edq = 33; close; } else if (mos_whale_edq < 39) { mes "[Mr. Ibanoff]"; @@ -743,27 +815,15 @@ moscovia,135,49,5 script Mr. Ibanoff#npc 964,{ mes "[Mr. Ibanoff]"; mes "What's going on?"; mes "You should ride a ship now? Let's ready to leave hurry up."; - set mos_whale_edq,4; + mos_whale_edq = 4; close; } else if (mos_whale_edq > 200 && mos_whale_edq < 300) { mes "[Mr. Ibanoff]"; mes "What's going on?"; mes "You should ride a ship now? Let's ready to leave hurry up."; - set mos_whale_edq,19; + mos_whale_edq = 19; close; } - if ((gettime(3) >= 0 && gettime(3) < 3) || (gettime(3) >= 6 && gettime(3) < 9) || (gettime(3) >= 12 && gettime(3) < 15) || (gettime(3) >= 18 && gettime(3) < 21)) { - mes "[Mr. Ibanoff]"; - mes "Hmm. It's not a bad time."; - mes "We should hurry up"; - mes "while the tides are low."; - mes "The ship is prepared already"; - mes "at a dock nearby, so we can depart"; - mes "right away."; - close2; - warp "mosk_ship",94,110; - end; - } mes "[Mr. Ibanoff]"; mes "Gee. The tide is too high."; mes "It's too dangerous to depart"; @@ -780,7 +840,7 @@ moscovia,135,49,5 script Mr. Ibanoff#npc 964,{ //---------------------------------------------------------------------------- // Mr. Ibanoff - Ship //---------------------------------------------------------------------------- -mosk_ship,98,110,3 script Mr. Ibanoff#npc2 964,{ +mosk_ship,98,110,3 script Mr. Ibanoff#npc2 4_M_RUSBALD,{ if (mos_whale_edq == 4) { mes "[Mr. Ibanoff]"; mes "What a time for sailing!"; @@ -809,7 +869,9 @@ mosk_ship,98,110,3 script Mr. Ibanoff#npc2 964,{ mes "[Mr. Ibanoff]"; mes "At first, hold the rudder to go"; mes "forward, to the east."; - set mos_whale_edq,5; + mos_whale_edq = 5; + if (isbegin_quest(18106)) + changequest 18106,18107; close; } else if (mos_whale_edq == 5) { mes "[Mr. Ibanoff]"; @@ -818,13 +880,13 @@ mosk_ship,98,110,3 script Mr. Ibanoff#npc2 964,{ mes "East."; close; } else if (mos_whale_edq == 6 || mos_whale_edq == 21) { - set .@r,(mos_whale_edq == 21)?3:4; + .@r = (mos_whale_edq == 21)?3:4; if (rand(1,.@r) == 3) { mes "[Mr. Ibanoff]"; mes "Hm. The sea currents have changed."; mes "Adjust the rudder forward to the"; mes "North, to follow the currents."; - set mos_whale_edq,mos_whale_edq+1; + mos_whale_edq++; close; } mes "[Mr. Ibanoff]"; @@ -862,7 +924,9 @@ mosk_ship,98,110,3 script Mr. Ibanoff#npc2 964,{ mes "that... Hey! You..."; mes "Go around the deck to look more"; mes "carefully! Go!"; - set mos_whale_edq,12; + mos_whale_edq = 12; + if (isbegin_quest(18107)) + changequest 18107,18108; donpcevent "#findship::OnEnable"; close; } else if (mos_whale_edq == 12) { @@ -892,7 +956,9 @@ mosk_ship,98,110,3 script Mr. Ibanoff#npc2 964,{ mes "[Mr. Ibanoff]"; mes "At first, hold the rudder to go"; mes "forward, to the east."; - set mos_whale_edq,20; + mos_whale_edq = 20; + if (isbegin_quest(18114)) + changequest 18114,18115; close; } else if (mos_whale_edq == 20) { mes "[Mr. Ibanoff]"; @@ -902,14 +968,17 @@ mosk_ship,98,110,3 script Mr. Ibanoff#npc2 964,{ close; } else if (mos_whale_edq == 23 || mos_whale_edq == 25) callsub S_D_1,5,241,242,243,244; - else if (mos_whale_edq == 241 || mos_whale_edq == 243 || mos_whale_edq == 244) callsub S_D_2,0; - else if (mos_whale_edq == 242) callsub S_D_2,1; + //else if (mos_whale_edq == 241 || mos_whale_edq == 243 || mos_whale_edq == 244) callsub S_D_2,0; + //else if (mos_whale_edq == 242) callsub S_D_2,1; + else if (mos_whale_edq >= 241 && mos_whale_edq <= 244) callsub S_D_2, (mos_whale_edq -241); else if (mos_whale_edq == 26) { mes "[Mr. Ibanoff]"; mes "Look there!"; mes "There is a moving island!"; mes "We have done well!"; next; + // if (isbegin_quest(18115)) + // changequest 18115,18116; mes "[Mr. Ibanoff]"; mes "Oh...my..."; mes "It really is there..."; @@ -936,9 +1005,11 @@ mosk_ship,98,110,3 script Mr. Ibanoff#npc2 964,{ mes "can return without problems."; mes "I will pray for you."; mes "See you next time."; - set mos_whale_edq,30; + mos_whale_edq = 30; close2; warp "mosk_fild01",93,94; + if (isbegin_quest(18115)) + changequest 18115,18116; end; } mes "[Mr. Ibanoff]"; @@ -952,13 +1023,13 @@ mosk_ship,98,110,3 script Mr. Ibanoff#npc2 964,{ S_D_1: if (rand(1,getarg(0)) == 3) { - set .@ship2,rand(4); + .@ship2 = rand(4); setarray .@d$[0],"East","West","South","North"; mes "[Mr. Ibanoff]"; mes "Hm. The sea currents have changed."; mes "Adjust the rudder forward to the"; mes .@d$[.@ship2]+", to follow the currents."; - set mos_whale_edq,getarg(.@ship2+1); + mos_whale_edq = getarg(.@ship2+1); close; } mes "[Mr. Ibanoff]"; @@ -969,7 +1040,7 @@ S_D_1: mes "[Mr. Ibanoff]"; mes "We had better keep sailing on this heading for now."; close; - + S_D_2: setarray .@d$[0],"East","West","South","North"; mes "[Mr. Ibanoff]"; @@ -983,10 +1054,10 @@ S_D_2: //---------------------------------------------------------------------------- // Rudder //---------------------------------------------------------------------------- -mosk_ship,101,111,4 script rudder#ship 111,{ - if (mos_whale_edq == 5) { +mosk_ship,101,111,4 script rudder#ship HIDDEN_NPC,{ + if (mos_whale_edq == 5) callsub S_Rud1,1,0; - } else if (mos_whale_edq == 4) { + else if (mos_whale_edq == 4) { mes "[Mr. Ibanoff]"; mes "You don't have to adjust the rudder for now."; mes "Wait for my direction."; @@ -997,53 +1068,22 @@ mosk_ship,101,111,4 script rudder#ship 111,{ mes "Only when I order you to,"; mes "you adjust the rudder."; close; - } else if (mos_whale_edq == 7 && $@mos1_edq == 0) { - callsub S_Rud1,4,1; - } else if (mos_whale_edq == 7 && $@mos1_edq > 0) { + } else if ($@mos1_edq > 0) { mes "[Mr. Ibanoff]"; mes "We should make sure to kill any"; mes "monsters onboard."; close; - } else if (mos_whale_edq == 8 && $@mos1_edq == 0) { + } else if (mos_whale_edq == 7) + callsub S_Rud1,4,1; + else if (mos_whale_edq == 8 || mos_whale_edq == 21 || mos_whale_edq == 23) { mes "[Mr. Ibanoff]"; mes "Do not yet adjust the rudder."; mes "Only when I order you to,"; mes "you adjust the rudder."; close; - } else if (mos_whale_edq == 8 && $@mos1_edq > 0) { - mes "[Mr. Ibanoff]"; - mes "We should make sure to kill any"; - mes "monsters onboard."; - close; - } else if (mos_whale_edq == 91 && $@mos1_edq == 0) { - callsub S_Rud1,1,2; - } else if (mos_whale_edq == 92 && $@mos1_edq == 0) { - callsub S_Rud1,2,2; - } else if (mos_whale_edq == 93 && $@mos1_edq == 0) { - callsub S_Rud1,3,2; - } else if (mos_whale_edq == 94 && $@mos1_edq == 0) { - callsub S_Rud1,4,2; - } else if (mos_whale_edq == 7 && $@mos1_edq > 0) { - mes "[Mr. Ibanoff]"; - mes "We should make sure to kill any"; - mes "monsters onboard."; - close; - } else if (mos_whale_edq == 8 && $@mos1_edq > 0) { - mes "[Mr. Ibanoff]"; - mes "We should make sure to kill any"; - mes "monsters onboard."; - close; - } else if (mos_whale_edq == 10 && $@mos1_edq > 0) { - mes "[Mr. Ibanoff]"; - mes "We should make sure to kill any"; - mes "monsters onboard."; - close; - } else if (mos_whale_edq == 11 && $@mos1_edq > 0) { - mes "[Mr. Ibanoff]"; - mes "We should make sure to kill any"; - mes "monsters onboard."; - close; - } else if (mos_whale_edq > 10 && mos_whale_edq < 13) { + } else if (mos_whale_edq >= 91 && mos_whale_edq <= 94) + callsub S_Rud1, (mos_whale_edq -90), 2; + else if (mos_whale_edq > 10 && mos_whale_edq < 13) { mes "[Mr. Ibanoff]"; mes "Look... Beyond the sea!"; mes "Do you see something moving"; @@ -1055,51 +1095,15 @@ mosk_ship,101,111,4 script rudder#ship 111,{ mes "Go around the deck to look more"; mes "carefully! Go!"; close; - } else if (mos_whale_edq > 89 && mos_whale_edq < 100 && $@mos1_edq > 0) { - mes "[Mr. Ibanoff]"; - mes "We should make sure to kill any"; - mes "monsters onboard."; - close; - } else if (mos_whale_edq == 20) { + } else if (mos_whale_edq == 20) callsub S_Rud1,1,0; - } else if (mos_whale_edq == 21) { - mes "[Mr. Ibanoff]"; - mes "Do not yet adjust the rudder."; - mes "Only when I order you to,"; - mes "you adjust the rudder."; - close; - } else if (mos_whale_edq == 22 && $@mos1_edq == 0) { + else if (mos_whale_edq == 22) callsub S_Rud1,4,1; - } else if (mos_whale_edq == 22 && $@mos1_edq > 0) { - mes "[Mr. Ibanoff]"; - mes "We should make sure to kill any"; - mes "monsters onboard."; - close; - } else if (mos_whale_edq == 23 && $@mos1_edq == 0) { - mes "[Mr. Ibanoff]"; - mes "Do not yet adjust the rudder."; - mes "Only when I order you to,"; - mes "you adjust the rudder."; - close; - } else if (mos_whale_edq == 23 && $@mos1_edq > 0) { - mes "[Mr. Ibanoff]"; - mes "We should make sure to kill any"; - mes "monsters onboard."; - close; - } else if (mos_whale_edq == 241 && $@mos1_edq == 0) { - callsub S_Rud1,1,2; - } else if (mos_whale_edq == 242 && $@mos1_edq == 0) { - callsub S_Rud1,2,2; - } else if (mos_whale_edq == 243 && $@mos1_edq == 0) { - callsub S_Rud1,3,2; - } else if (mos_whale_edq == 244 && $@mos1_edq == 0) { + else if (mos_whale_edq >= 241 && mos_whale_edq <= 243) + callsub S_Rud1, (mos_whale_edq -240), 2; + else if (mos_whale_edq == 244) callsub S_Rud1,4,1; - } else if ($@mos1_edq > 0) { - mes "[Mr. Ibanoff]"; - mes "We should make sure to kill any"; - mes "monsters onboard."; - close; - } else if (mos_whale_edq == 25 && $@mos1_edq == 0) { + else if (mos_whale_edq == 25) { mes "[Mr. Ibanoff]"; mes "You can adjust the rudder,"; mes "under my direction."; @@ -1109,7 +1113,8 @@ mosk_ship,101,111,4 script rudder#ship 111,{ mes "Hey! Listen to what I am saying."; mes "How come you go there without my"; mes "permission..."; - next; + //next; + close; } mes "[Mr. Ibanoff]"; mes "What? How did you get on"; @@ -1117,22 +1122,22 @@ mosk_ship,101,111,4 script rudder#ship 111,{ mes "I'll forgive you this once, but go"; mes "back now."; close2; - //set mos_whale_edq,4; lol, why is this here? + //mos_whale_edq = 4; warp "moscovia",162,56; end; - + S_Rud1: mes "Which way?"; next; setarray .@d$[1],"East","West","South","North"; - set .@j, select(implode(.@d$,":")) - 1; + .@j = select(implode(.@d$,":")) -1; if (.@j == getarg(0)) { mes "[Mr. Ibanoff]"; mes "Good. Firstly, we should"; mes "keep heading "+strtolower(.@d$[getarg(0)])+" this way."; mes "When I give the order,"; mes "please adjust the rudder again."; - if (getarg(1) == 2) set .@r,rand(1,4); + if (getarg(1) == 2) .@r = rand(1,4); if (getarg(1) == 2 && .@r == 3) { next; mes "[Mr. Ibanoff]"; @@ -1145,34 +1150,37 @@ S_Rud1: mes "These monsters are like none I have"; mes "ever encountered! Be careful! We"; mes "must repulse these monsters!"; - set $@mos1_edq,$@mos1_edq+1; - donpcevent "Baehideun3#ship::OnEnable"; + $@mos1_edq++; + if (mos_whale_edq >= 241) + donpcevent "Baehideun4#ship::OnEnable"; + else + donpcevent "Baehideun3#ship::OnEnable"; } - set mos_whale_edq,(getarg(1) == 2)?((mos_whale_edq >= 241)?((.@r != 3)?26:25):((.@r != 3)?10:11)):mos_whale_edq + 1; + mos_whale_edq = (getarg(1) == 2)?((mos_whale_edq >= 241)?((.@r != 3)?26:25):((.@r != 3)?10:11)):(mos_whale_edq + 1); close; - } + } mes "[Mr. Ibanoff]"; mes "I said that we should go "+.@d$[getarg(0)]+"!"; mes "You should sail in the right"; mes "direction! To the "+strtolower(.@d$[getarg(0)])+"!"; if (getarg(1) >= 1) { - set .@r,(getarg(1) == 1)?5:4; + .@r = (getarg(1) == 1)?5:4; if (rand(1,.@r) <= 2) { next; mes "[Mr. Ibanoff]"; mes "Oh no! Monsters have appeared!"; mes "Let's get ready to fight! Hurry!"; - set $@mos1_edq,$@mos1_edq+1; + $@mos1_edq++; donpcevent "Baehideun1#ship::OnEnable"; } } - close; + close; } //---------------------------------------------------------------------------- // Aged Stranger - Whale Island //---------------------------------------------------------------------------- -mosk_fild01,86,104,3 script Aged Stranger#npc 963,{ +mosk_fild01,86,104,3 script Aged Stranger#npc 4_M_GUSLIMAN,{ if ((MaxWeight-Weight) < 2000) { mes "[Aged Stranger]"; mes "You're carrying too many items."; @@ -1222,6 +1230,8 @@ mosk_fild01,86,104,3 script Aged Stranger#npc 963,{ mes "Right. We are standing on"; mes "the back of a gigantic whale!"; mes "That's why I call it Whale Island!"; + // if (isbegin_quest(18109)) + // changequest 18109,18110; next; mes "["+strcharinfo(0)+"]"; mes "How...? How is it possible"; @@ -1261,14 +1271,16 @@ mosk_fild01,86,104,3 script Aged Stranger#npc 963,{ mes "You can relax."; next; callsub S_AS_3; - set mos_whale_edq,14; + mos_whale_edq = 14; + if (isbegin_quest(18109)) + changequest 18109,18110; close2; sleep2 20000; - set mos_whale_edq,15; + mos_whale_edq = 15; end; } else if (mos_whale_edq == 14) { callsub S_AS_3; - set mos_whale_edq,15; + mos_whale_edq = 15; close; } else if (mos_whale_edq == 15) { mes "[Aged Stranger]"; @@ -1297,6 +1309,7 @@ mosk_fild01,86,104,3 script Aged Stranger#npc 963,{ mes "want to come again to meet me, you"; mes "can endure the same seas as last"; mes "time. I won't stop you. Hehehe."; + changequest 18110,18111; close2; warp "moscovia",163,54; end; @@ -1403,7 +1416,9 @@ mosk_fild01,86,104,3 script Aged Stranger#npc 963,{ mes "Tell me whenever you're ready, and"; mes "I'll send you back to the"; mes "mainland."; - set mos_whale_edq,31; + if (isbegin_quest(18116)) + changequest 18116,18117; + mos_whale_edq = 31; close; } else if (mos_whale_edq == 31) { mes "[Aged Stranger]"; @@ -1421,7 +1436,7 @@ mosk_fild01,86,104,3 script Aged Stranger#npc 963,{ mes "[Aged Stranger]"; mes "I see. If so, let's go."; next; - set mos_whale_edq,32; + mos_whale_edq = 32; callsub S_AS_3; close2; warp "moscovia",162,56; @@ -1441,7 +1456,8 @@ mosk_fild01,86,104,3 script Aged Stranger#npc 963,{ delitem 7197,20; //Tough_Vines delitem 7106,20; //Goat's_Horn delitem 7065,10; //Sea_Otter_Leather - set mos_whale_edq,34; + mos_whale_edq = 34; + changequest 18117,18118; mes "[Aged Stranger]"; mes "Wait for a moment until I make the"; mes "instrument successfully."; @@ -1487,7 +1503,7 @@ mosk_fild01,86,104,3 script Aged Stranger#npc 963,{ mes "which comes from a faraway land of"; mes "the ancestors of Moscovia."; getitem 2707,1; - set mos_whale_edq,35; + mos_whale_edq = 35; next; mes "[Aged Stranger]"; mes "I am the last person who has"; @@ -1504,6 +1520,7 @@ mosk_fild01,86,104,3 script Aged Stranger#npc 963,{ mes "island. Everything is going to be"; mes "well."; next; + changequest 18118,18119; } callsub S_AS_2,1; } else if (mos_whale_edq == 36) { @@ -1511,7 +1528,7 @@ mosk_fild01,86,104,3 script Aged Stranger#npc 963,{ mes "Are you ready to learn the Gusli?"; mes "Please equip the Gusli."; next; - if (getequipid(EQI_ACC_L) || getequipid(EQI_ACC_R) == 2707) { + if (isequipped(2707)) { mes "[Aged Stranger]"; mes "Hm... Very well."; mes "At first, look at me how I play,"; @@ -1534,11 +1551,17 @@ mosk_fild01,86,104,3 script Aged Stranger#npc 963,{ mes "[Aged Stranger]"; mes "This may go faster than I expected."; next; + mes "[Aged Stranger]"; + mes "Okay, it's time for your turn. Play it. Play the song that I played."; + next; + callsub S_AS_1,3;// chance success + } + else { + mes "[Aged Stranger]"; + mes "Okay, it's time for your turn. Play it. Play the song that I played."; + next; + callsub S_AS_1,6; } - mes "[Aged Stranger]"; - mes "Okay, it's time for your turn. Play it. Play the song that I played."; - next; - callsub S_AS_1; } mes "[Aged Stranger]"; mes "Um... Your preparations are not"; @@ -1554,7 +1577,7 @@ mosk_fild01,86,104,3 script Aged Stranger#npc 963,{ mes "[Aged Stranger]"; mes "Are you ready to learn the Gusli?"; next; - if (getequipid(EQI_ACC_L) || getequipid(EQI_ACC_R) == 2707) { + if (isequipped(2707)) { mes "[Aged Stranger]"; mes "Um... You did well."; next; @@ -1564,12 +1587,19 @@ mosk_fild01,86,104,3 script Aged Stranger#npc 963,{ mes "absolutely play it wonderfully."; mes "Cheer up."; next; + mes "[Aged Stranger]"; + mes "Good. Let's play again. Play the"; + mes "song that I played."; + next; + callsub S_AS_1, 3; } + else { mes "[Aged Stranger]"; mes "Good. Let's play again. Play the"; mes "song that I played."; next; - callsub S_AS_1; + callsub S_AS_1, 6; + } } mes "[Aged Stranger]"; mes "Um... Your preparations are not"; @@ -1581,9 +1611,9 @@ mosk_fild01,86,104,3 script Aged Stranger#npc 963,{ mes "Tell me again when you are prepared"; mes "to play the Gusli correctly."; close; - } else if (mos_whale_edq == 38) { + } else if (mos_whale_edq == 38) callsub S_AS_2,0; - } else if (mos_whale_edq > 38) { + else if (mos_whale_edq > 38) { mes "[Aged Stranger]"; mes "This is the Whale Island."; mes "I don't know how you came here."; @@ -1598,7 +1628,6 @@ mosk_fild01,86,104,3 script Aged Stranger#npc 963,{ mes "Well, well... Do as you please."; mes "If so, I will take a rest."; close; - break; case 2: mes "[Aged Stranger]"; mes "I see. If so, let's go."; @@ -1607,7 +1636,6 @@ mosk_fild01,86,104,3 script Aged Stranger#npc 963,{ close2; warp "moscovia",162,56; end; - break; case 3: mes "[Aged Stranger]"; mes "Oh, if you want, I can"; @@ -1635,39 +1663,37 @@ mosk_fild01,86,104,3 script Aged Stranger#npc 963,{ warp "mosk_fild02",204,54; end; } - } else { - mes "[Aged Stranger]"; - mes "Long time, no see!"; - mes "You probably like the island, don't you?"; - mes "Please stay and take a rest."; - next; - mes "[Aged Stranger]"; - mes "Or if you want, I can send you back"; - mes "to the mainland. What'll it be?"; - next; - if(select("Look around.:Go back to the mainland.") == 1) { - mes "[Aged Stranger]"; - mes "Well, well... Do as you please."; - mes "If so, I will take a rest."; - close; - } + } + mes "[Aged Stranger]"; + mes "Long time, no see!"; + mes "You probably like the island, don't you?"; + mes "Please stay and take a rest."; + next; + mes "[Aged Stranger]"; + mes "Or if you want, I can send you back"; + mes "to the mainland. What'll it be?"; + next; + if(select("Look around.:Go back to the mainland.") == 1) { mes "[Aged Stranger]"; - mes "Good. I will go to the place"; - mes "right way."; - next; - soundeffect "mos_gusli1.wav",0; - mes "A old man started to play a instrument"; - mes "closing his eyes."; - mes "And then he didn't any answer so, looks like"; - mes "falling down to only his world."; - close2; - warp "moscovia",162,56; - end; + mes "Well, well... Do as you please."; + mes "If so, I will take a rest."; + close; } + mes "[Aged Stranger]"; + mes "Good. I will go to the place"; + mes "right way."; + next; + soundeffect "mos_gusli1.wav",0; + mes "A old man started to play a instrument"; + mes "closing his eyes."; + mes "And then he didn't any answer so, looks like"; + mes "falling down to only his world."; + close2; + warp "moscovia",162,56; end; S_AS_1: - if (rand(1,3) == 2) { + if (rand(1,getarg(0)) == 2) { soundeffect "mos_gusli1.wav",0; emotion e_no1; specialeffect2 EF_EXIT; @@ -1688,7 +1714,11 @@ S_AS_1: mes "[Aged Stranger]"; mes "With your ability to play, surely"; mes "you can win the admiration of all."; - set mos_whale_edq,38; + mos_whale_edq = 38; + if (isbegin_quest(18119)) + changequest 18119,18120; + else if (isbegin_quest(18118))// debug + changequest 18118,18120; close; } mes "[Aged Stranger]"; @@ -1702,7 +1732,7 @@ S_AS_1: mes "I will check on you again."; mes "If you practice, you will be good"; mes "at it in no time."; - set mos_whale_edq,37; + mos_whale_edq = 37; close; S_AS_2: @@ -1756,7 +1786,7 @@ S_AS_2: mes "[Aged Stranger]"; mes "Okay. If you are ready to play the"; mes "Gusli, let me know."; - set mos_whale_edq,36; + mos_whale_edq = 36; close; case 3: mes "[Aged Stranger]"; @@ -1784,12 +1814,7 @@ S_AS_2: mes "with this island. Only if you are a"; mes "friend... heheh."; next; - soundeffect "mos_gusli1.wav",0; - mes "-The old man starts to play"; - mes "his instrument, with eyes closed."; - mes "He is unresponsive..."; - mes "like having fallen into a world"; - mes "only his own.-"; + callsub S_AS_3; close2; warp "moscovia",162,56; end; @@ -1808,7 +1833,7 @@ S_AS_3: //---------------------------------------------------------------------------- // Csar Alexsay III - Moscovia Palace //---------------------------------------------------------------------------- -mosk_in,131,92,3 script Csar Alexsay III#npc 965,{ +mosk_in,131,92,3 script Csar Alexsay III#npc 4_M_RUSKING,7,7,{ if ((MaxWeight-Weight) < 2000) { mes "[Csar Alexsay III]"; mes "You're carrying too many items."; @@ -1885,7 +1910,8 @@ mosk_in,131,92,3 script Csar Alexsay III#npc 965,{ mes "And, when you succeed in"; mes "banishing winter with magic,"; mes "announce that to me immediately."; - set mos_nowinter,14; + mos_nowinter = 14; + changequest 18076,18077; close; } } @@ -1893,9 +1919,10 @@ mosk_in,131,92,3 script Csar Alexsay III#npc 965,{ mes "I said to bring me"; mes "40 Yaga's Pestles"; mes "from the Baba Yaga."; - set mos_nowinter,13; + mos_nowinter = 13; close; - } else if (mos_nowinter == 13) { + } + else if (mos_nowinter == 13) { mes "[Csar Alexsay III]"; mes "Did you bring some evidence to"; mes "resolve your issue of doubt, traveler?"; @@ -1928,7 +1955,8 @@ mosk_in,131,92,3 script Csar Alexsay III#npc 965,{ mes "[Csar Alexsay III]"; mes "If you do that, I will arrest you immediately!"; mes "So take care of yourself."; - set mos_nowinter,14; + mos_nowinter = 14; + changequest 18076,18077; close; } mes "[Csar Alexsay III]"; @@ -1998,8 +2026,9 @@ mosk_in,131,92,3 script Csar Alexsay III#npc 965,{ mes "Here, take it."; mes "I give it as an atonement"; mes "to make my people happy."; - set mos_nowinter,21; - getitem 603,1; + mos_nowinter = 21; + completequest 18079; + getitem 603,1;// Old_Blue_Box next; mes "[Csar Alexsay III]"; mes "Stay here as long as you want, and"; @@ -2105,7 +2134,8 @@ mosk_in,131,92,3 script Csar Alexsay III#npc 965,{ mes "You got it, traveler?"; mes "You have a heavy responsibility."; mes "Bring evidence of this whale island to me, to provide me with some relief. Now go."; - set mos_whale_edq,18; + mos_whale_edq = 18; + changequest 18112,18113; close; } else if (mos_whale_edq > 17 && mos_whale_edq < 35) { mes "[Csar Alexsay III]"; @@ -2125,7 +2155,7 @@ mosk_in,131,92,3 script Csar Alexsay III#npc 965,{ mes "A Gooselri? Which only exists"; mes "in the whale island? Let's see."; next; - if (getequipid(EQI_ACC_L) || getequipid(EQI_ACC_R) == 2707 || countitem(2707) > 0) { + if (countitem(2707) > 0) { mes "[Csar Alexsay III]"; mes "Oh... Is this instrument... a Gooselri?"; next; @@ -2191,7 +2221,10 @@ mosk_in,131,92,3 script Csar Alexsay III#npc 965,{ mes "Even though I regard as your effort for the time so, award you. Take it and go out."; getitem 12702,1; //Old_Bleu_Box getexp (checkre(3))?50000:500000,0; - set mos_whale_edq,39; + mos_whale_edq = 39; + if (isbegin_quest(18118))// debug + changequest 18118,18119; + completequest 18119; close; } mes "[Csar Alexsay III]"; @@ -2219,7 +2252,10 @@ mosk_in,131,92,3 script Csar Alexsay III#npc 965,{ mes "Even though I regard as your effort for the time so, award you. Take it."; getitem 12702,1; //Old_Bleu_Box getexp (checkre(3))?70000:700000,0; - set mos_whale_edq,40; + mos_whale_edq = 40; + if (isbegin_quest(18118))// debug + changequest 18118,18119; + completequest 18119; close; } mes "[Csar Alexsay III]"; @@ -2235,7 +2271,7 @@ mosk_in,131,92,3 script Csar Alexsay III#npc 965,{ mes "something to satisfy me"; mes "at the whale island?"; next; - if (getequipid(EQI_ACC_L) || getequipid(EQI_ACC_R) == 2707 || countitem(2707)) { + if (countitem(2707)) { mes "[Csar Alexsay III]"; mes "Oh... Is this instrument... a Gooselri?"; next; @@ -2301,7 +2337,8 @@ mosk_in,131,92,3 script Csar Alexsay III#npc 965,{ mes "efforts, in the name of the Csar."; getitem 617,1; //Old_Violet_Box getexp (checkre(3))?100000:1200000,0; - set mos_whale_edq,41; + mos_whale_edq = 41; + completequest 18120; close; } mes "[Csar Alexsay III]"; @@ -2338,12 +2375,95 @@ mosk_in,131,92,3 script Csar Alexsay III#npc 965,{ mes "Go back to your hometown and tell everyone about the beauty of Moscovia,"; mes "and my great government."; close; + +OnTouch: + if (mos_nowinter != 12) end; + mes "[Csar Alexsay III]"; + mes "You!!!"; + mes "So many people saw you"; + mes "meet with Baba Yaga!"; + next; + mes "[Csar Alexsay III]"; + mes "The guilt which must be felt, when"; + mes "meeting secretly with a witch..."; + next; + mes "[Csar Alexsay III]"; + mes "For that, we indict capital"; + mes "punishment without any just trial!"; + next; + mes "[Csar Alexsay III]"; + mes "But you are a stranger to these"; + mes "lands... So I will hold you in special trial."; + next; + mes "[Csar Alexsay III]"; + mes "If you have anything to say..."; + mes "spare me no detail."; + next; + select("Explain the circumstances."); + mes "-Talk about what happened with Baba"; + mes "Yaga, and move forward with the plan.-"; + next; + mes "[Csar Alexsay III]"; + mes "Hm-hm, that's an embarrassing story..."; + mes "But if you are telling the"; + mes "truth, my people will be pleased."; + next; + mes "[Csar Alexsay III]"; + mes "Okay, Bring to me"; + mes "any evidence, to believe"; + mes "what you are saying."; + next; + mes "[Csar Alexsay III]"; + mes "You killed the Baba Yaga!!"; + mes "If this is true, bring"; + mes "me Yaga's Pestles."; + mes "If you do, I will make"; + mes "sure no one ever doubts you."; + next; + if (countitem(7762) > 39) { + if(select("Show the Yaga's Pestles.:Do nothing.") == 1) { + mes "[" + strcharinfo(0) + "]"; + mes "Yes, Here you are."; + next; + mes "-Offered the Yaga's Pestles.-"; + delitem 7762,40; + next; + mes "[Csar Alexsay III]"; + mes "Hm.. You do have them."; + mes "For the time being, I will admit"; + mes "that you are coming and going to"; + mes "hunt Baba Yaga."; + next; + mes "[Csar Alexsay III]"; + mes "But do not engage in doubtable"; + mes "behavior that would instigate my"; + mes "people to act in a strange way!"; + next; + mes "[Csar Alexsay III]"; + mes "If you do that, I will arrest you immediately!"; + mes "So take care of yourself."; + next; + mes "[Csar Alexsay III]"; + mes "And, when you succeed in"; + mes "banishing winter with magic,"; + mes "announce that to me immediately."; + mos_nowinter = 14; + changequest 18076,18077; + close; + } + } + mes "[Csar Alexsay III]"; + mes "I said to bring me"; + mes "40 Yaga's Pestles"; + mes "from the Baba Yaga."; + mos_nowinter = 13; + close; } //---------------------------------------------------------------------------- // Prime Minister Dmitree - Moscovia Palace //---------------------------------------------------------------------------- -mosk_in,127,89,3 script Prime Minister Dmitree#m 967,{ +mosk_in,127,89,3 script Prime Minister Dmitree#m 4_M_RUSMAN1,{ if (mos_nowinter > 11 && mos_nowinter < 14) { mes "[Prime Minister Dmitree]"; mes "You are in trouble if"; @@ -2424,7 +2544,7 @@ mosk_in,127,89,3 script Prime Minister Dmitree#m 967,{ next; mes "[Prime Minister Dmitree]"; mes "I will admit you. If our dear Csar is satisfied with your story, he will give you a big prize."; - set mos_whale_edq,17; + mos_whale_edq = 17; close; } else if (mos_whale_edq == 17) { mes "[Prime Minister Dmitree]"; @@ -2467,7 +2587,7 @@ mosk_in,127,89,3 script Prime Minister Dmitree#m 967,{ //---------------------------------------------------------------------------- // Island Trigger - Docks //---------------------------------------------------------------------------- -moscovia,136,46,4 script Find#ship 844,4,4,{ +moscovia,136,46,4 script Find#ship CLEAR_NPC,4,4,{ end; OnTouch: @@ -2480,7 +2600,7 @@ OnTouch: mes "Stop by the whale island?"; next; if(select("Go to Whale Island.:Stay put.") == 1) { - if (getequipid(EQI_ACC_L) == 2707 || getequipid(EQI_ACC_R) == 2707) { + if (isequipped(2707)) { soundeffect "mos_gusli2.wav",0; mes "-Slowly, your hands are on the"; mes "Gusli, and the playing starts..."; @@ -2507,8 +2627,8 @@ OnTouch: mes "The aged stranger said that when I"; mes "want to go to Whale Island again, I"; mes "should play the Gusli from this place..."; - close; } + close; } mes "["+strcharinfo(0)+"]"; mes "I can go some other time."; @@ -2519,31 +2639,21 @@ OnTouch: //---------------------------------------------------------------------------- // Triggers //---------------------------------------------------------------------------- - -mosk_ship,1,1,4 script Baehideun#ship -1,{ -OnInit: - set $@mos1_edq,0; - end; -} - -mosk_ship,81,110,0 script #findship 844,5,5,{ -OnInit: - disablenpc "#findship"; - stopnpctimer; - end; - +mosk_ship,81,110,0 script #findship CLEAR_NPC,5,5,{ OnEnable: enablenpc "#findship"; initnpctimer; end; -OnDisable: +OnTimer300000: + stopnpctimer; +OnInit: + $@mos1_edq = 0; disablenpc "#findship"; - set $@mos1_edq,0; end; OnTouch: - if (mos_whale_edq != 12) end; + if (mos_whale_edq == 12) { mes "seeewaaaaaaaaaaa"; next; mes "[Mr. Ibanoff]"; @@ -2559,70 +2669,63 @@ OnTouch: mes "[Mr. Ibanoff]"; mes "Watch out! "+strcharinfo(0)+"!"; mes "Ah... That... That is... What..."; - set mos_whale_edq,13; + mos_whale_edq = 13; + if (isbegin_quest(18108)) + changequest 18108,18109; close2; warp "mosk_fild01",95,93; - end; - -OnTimer300000: - donpcevent "#findship::OnDisable"; + } end; } - script Baehideun#main -1,{ OnInit: - if (compare(strnpcinfo(0),"main")) end; disablenpc strnpcinfo(0); - stopnpctimer; end; - + OnEnable: enablenpc strnpcinfo(0); - set .@c,charat(strnpcinfo(0),9); + .@c = charat(strnpcinfo(0),9); switch (.@c) { - case 1: setarray .@m, 89,112,1425,85,110,1425; break; - case 2: setarray .@m, 89,112,1425,80,110,1426,83,114,1426,85,110,1425; break; - case 3: setarray .@m, 85,111,1451,89,112,1543,90,106,1543; break; - case 4: setarray .@m, 85,111,1451,89,112,1543,90,106,1543; break; + case 1: setarray .@m, 89,112,1551,85,110,1579; break;// G_MARSE, G_HYDRA + case 2: setarray .@m, 89,112,1425,80,110,1254,83,114,1254,85,110,1425; break;// G_OBEAUNE, RAGGLER + case 3: setarray .@m, 85,111,1451,89,112,1543,90,106,1543; break;// G_MERMAN, G_KAPHA + case 4: setarray .@m, 85,111,1069,89,112,1543,90,106,1543; break;// SWORD_FISH, G_KAPHA } - for (set .@i, 0; .@i < getarraysize(.@m); set .@i, .@i + 3) + for (.@i = 0; .@i < getarraysize(.@m); .@i += 3) monster "mosk_ship",.@m[.@i],.@m[.@i+1],"Sea Monster",.@m[.@i+2],1,strnpcinfo(0)+"::OnMyMobDead"; initnpctimer; end; +OnTimer300000: + killmonster "mosk_ship",strnpcinfo(0)+"::OnMyMobDead"; OnDisable: - set $@mos1_edq,0; + $@mos1_edq = 0; stopnpctimer; disablenpc strnpcinfo(0); end; OnMyMobDead: if (!mobcount("mosk_ship",strnpcinfo(0)+"::OnMyMobDead")) { - set $@mos1_edq,0; + $@mos1_edq = 0; mes "[Mr. Ibanoff]"; mes "Now that all the monsters are gone,"; mes "we can start sailing again"; mes "normally."; - set .@c,charat(strnpcinfo(0),9); + .@c = charat(strnpcinfo(0),9); switch (.@c) { - case 1: break; + case 1: case 2: break; - case 3: set mos_whale_edq,11; break; - case 4: set mos_whale_edq,26; break; + case 3: mos_whale_edq = 11; break; + case 4: mos_whale_edq = 26; break; } donpcevent strnpcinfo(0)+"::OnDisable"; close; } end; - -OnTimer300000: - killmonster "mosk_ship",strnpcinfo(0)+"::OnMyMobDead"; - set $@mos1_edq,0; - donpcevent strnpcinfo(0)+"::OnDisable"; - end; } mosk_ship,2,2,4 duplicate(Baehideun#main) Baehideun1#ship -1 -mosk_ship,3,3,4 duplicate(Baehideun#main) Baehideun2#ship -1 +// mosk_ship,3,3,4 duplicate(Baehideun#main) Baehideun2#ship -1 mosk_ship,5,5,4 duplicate(Baehideun#main) Baehideun3#ship -1 mosk_ship,15,15,4 duplicate(Baehideun#main) Baehideun4#ship -1 @@ -2701,11 +2804,12 @@ function script F_MOS_1 { mes "Oh, God, You're so kind"; mes "Mikhail is such a timid boy. I guess he didn't leave this village."; mes "Please bring him to me, then~"; - set mos_swan,1; + mos_swan = 1; + setquest 18060; close; } -mosk_in,144,279,5 script Gallina#mos 959,{ +mosk_in,144,279,5 script Gallina#mos 4_F_RUSWOMAN1,{ if (!mos_swan) { callfunc("F_MOS_1"); } else if (mos_swan == 1) { @@ -2713,7 +2817,7 @@ mosk_in,144,279,5 script Gallina#mos 959,{ mes "Mikhail, my timid son must still be in this village."; mes "I'm sorry if he's shy and timid like his father."; close; - } else if (mos_swan > 1 && mos_swan < 25) { + } else if (mos_swan < 25) { mes "["+strcharinfo(0)+"]"; mes "Mikhail hasn't come yet?"; next; @@ -2755,7 +2859,8 @@ mosk_in,144,279,5 script Gallina#mos 959,{ mes "[Gallina]"; mes "Well, now I have to get to work!"; mes "I'll make you my hotcakes someday. Please visit me later"; - set mos_swan,100; + mos_swan = 100; + completequest 18069; getexp (checkre(3))?90000:1000000,0; close; } @@ -2769,7 +2874,7 @@ mosk_in,144,279,5 script Gallina#mos 959,{ //---------------------------------------------------------------------------- // Anna - Sister //---------------------------------------------------------------------------- -mosk_in,148,274,1 script Anna#mos 958,{ +mosk_in,148,274,1 script Anna#mos 4_F_RUSCHILD,{ if (!mos_swan) { callfunc("F_MOS_1"); } else if (mos_swan == 1) { @@ -2795,7 +2900,6 @@ mosk_in,148,274,1 script Anna#mos 958,{ emotion e_swt,1; mes "["+strcharinfo(0)+"]"; mes "Hahaha, you're right."; - next; break; case 2: mes "["+strcharinfo(0)+"]"; @@ -2810,7 +2914,6 @@ mosk_in,148,274,1 script Anna#mos 958,{ mes "["+strcharinfo(0)+"]"; mes "You seem very courageous."; mes "I can understand why your mother worries about him."; - next; break; case 3: mes "["+strcharinfo(0)+"]"; @@ -2870,8 +2973,10 @@ mosk_in,148,274,1 script Anna#mos 958,{ next; mes "["+strcharinfo(0)+"]"; mes "It's the only clue, I guess I'll go to ^3131FFInn 'Sticky Herb Tree'^000000?"; - if (mos_swan == 2) set mos_swan,3; - next; + if (mos_swan == 2) { + mos_swan = 3; + changequest 18060,18061; + } break; case 4: mes "["+strcharinfo(0)+"]"; @@ -2886,20 +2991,16 @@ mosk_in,148,274,1 script Anna#mos 958,{ if (.@AnnaInfo$ == "Gravity") { mes "[Anna]"; mes "I know that they have a game called RAGNAROK Online 2... and they like... what am I saying now... right?"; - next; } else if (.@AnnaInfo$ == "Gallina") { mes "[Anna]"; mes "Mom's hotcakes are so delicious! Oh, it's sweet flavor!"; mes "Everyone in this village likes Mom's hotcakes. Hehe."; - next; } else if (.@AnnaInfo$ == "Mikhail") { mes "[Anna]"; mes "Mikhail is a timid fool!"; - next; } else { mes "[Anna]"; mes "I have no idea about that thing."; - next; } break; case 5: @@ -2910,12 +3011,13 @@ mosk_in,148,274,1 script Anna#mos 958,{ mes "She doesn't want to talk to me -"; close; } + next; } } else if (mos_swan == 3) { mes "["+strcharinfo(0)+"]"; mes "Ok, I got a clue from Anna and one thing that I have to do is go to ^3131FFInn 'Sticky Herb Tree'^000000."; close; - } else if (mos_swan > 3 && mos_swan < 12) { + } else if (mos_swan < 12) { mes "[Anna]"; mes "Mikhail is foolish, timid and a coward!"; close; @@ -2951,7 +3053,7 @@ mosk_in,148,274,1 script Anna#mos 958,{ //---------------------------------------------------------------------------- // Bed //---------------------------------------------------------------------------- -mosk_in,136,279,3 script Bed#mos1 111,{ +mosk_in,136,279,3 script Bed#mos1 HIDDEN_NPC,{ mes "- There are sheets and a pillow which seem so neat and soft that I'll probably fall asleep as soon as I lie down on them. -"; if (mos_swan != 11) close; next; @@ -2961,22 +3063,26 @@ mosk_in,136,279,3 script Bed#mos1 111,{ } mes "- You come near the bed to look it over. -"; next; - while (.@c < 2) { - for (set .@i, 0; .@i < 4; set .@i, .@i + 1) - mes " .............. "; - set .@c, .@c + 1; - next; - } + mes " .............. "; + mes " .............. "; + mes " .............. "; + mes " .............. "; + next; + mes " .............. "; + mes " .............. "; + mes " .............. "; + mes " .............. "; + mes " .............. "; + next; mes "- You didn't find anything -"; close; } - -mosk_in,161,279,3 duplicate(Bed#mos1) Bed#mos2 111 +mosk_in,161,279,3 duplicate(Bed#mos1) Bed#mos2 HIDDEN_NPC //---------------------------------------------------------------------------- // Fire pot + Mikhail //---------------------------------------------------------------------------- -mosk_in,205,268,3 script Fire pot#mos 111,{ +mosk_in,205,268,3 script Fire pot#mos HIDDEN_NPC,{ if (!mos_swan) { mes "- It's a fire pot to heat the room or bake something -"; close; @@ -2984,9 +3090,9 @@ mosk_in,205,268,3 script Fire pot#mos 111,{ mes "- It's a fire pot that is used when Gallina bakes hotcakes."; mes "It seems that this has not been used for a long time."; mes "I think I should ask his family where he might have fun off to -"; - set mos_swan,2; + mos_swan = 2; close; - } else if (mos_swan > 1 && mos_swan < 11) { + } else if (mos_swan < 11) { mes "- It's a fire pot that is used when Gallina bakes hotcakes."; mes "It seems that it was used a long time ago. -"; close; @@ -3000,12 +3106,17 @@ mosk_in,205,268,3 script Fire pot#mos 111,{ } mes "- You come near the pot to look it over. -"; next; - while (.@c < 2) { - for (set .@i, 0; .@i < 4; set .@i, .@i + 1) - mes " .............. "; - set .@c, .@c + 1; - next; - } + mes " .............. "; + mes " .............. "; + mes " .............. "; + mes " .............. "; + next; + mes " .............. "; + mes " .............. "; + mes " .............. "; + mes " .............. "; + mes " .............. "; + next; mes "- As you look it over very carefully, you find some pieces of bread on the floor around the fire pot! -"; next; switch(select("Mikhail is in the fire pot.:Mikhail is around the fire pot.:There's nothing between pieces of bread and Mikhail.")) { @@ -3094,19 +3205,18 @@ mosk_in,205,268,3 script Fire pot#mos 111,{ next; mes "- I need to know what's required for the paste."; mes "I'll ask that guy ^3131FFMr. Victor^000000 about them. -"; - set mos_swan,12; + mos_swan = 12; + changequest 18064,18065; close; - break; case 2: mes "- I guess he's near the fire pot. Where can I find him? -"; close; - break; case 3: mes "- I guess pieces of bread have nothing to do with Mikhail. -"; close; } } else if (mos_swan == 12) { - mes "- Ok, what I have to do first is ask Mr.Victor what I need for the paste. -"; + mes "- Ok, what I have to do first is ask Mr. Victor what I need for the paste. -"; close; } else if (mos_swan == 24) { mes "["+strcharinfo(0)+"]"; @@ -3149,15 +3259,16 @@ mosk_in,205,268,3 script Fire pot#mos 111,{ mes "[Mikhail]"; mes "Now I'm gonna give this back to Mom."; donpcevent "Mikhail#mos::OnInit"; - set mos_swan,25; - delitem 7764,1; + mos_swan = 25; + delitem 7764,1;// High_Strength_Adhesive + changequest 18068,18069; close; } mes "- It's a fire pot to heat the room or bake something -"; close; } -mosk_in,202,269,5 script Mikhail#mos 962,{ +mosk_in,202,269,5 script Mikhail#mos 4_M_RUSCHILD,{ end; OnInit: OnEnable: @@ -3168,184 +3279,166 @@ OnEnable: //---------------------------------------------------------------------------- // Sticky Herb Tree Inn NPCs //---------------------------------------------------------------------------- -mosk_in,135,191,5 script Landlord#mos 961,{ +mosk_in,135,191,5 script Landlord#mos 4_F_RUSWOMAN3,{ mes "[Landlord]"; mes "Oh, welcome to the Inn 'Sticky Herb Tree'."; mes "It is the most comfortable and calmest place in all of Moscovia."; next; - if (mos_swan == 3) { - switch(select("Save:Stay the night - 5000z:Ask her about Mikhail.")) { + if (mos_swan == 4 || mos_swan == 5) { + mes "[Landlord]"; + mes "You're up already?"; + mes "Well since you're young you've probably already recovered all of your strength."; + mes "Hohoho."; + next; + while(1) { + switch(select("Ask her about the inn:Ask her about Mikhail.:End the conversation")) { case 1: mes "[Landlord]"; - mes "Your respawn point has been saved."; - mes "Hope we can see you again next time hoho."; - savepoint "mosk_in",142,189; - close; + mes "The name of our inn came from a big apple tree which is outside of the village."; + mes "I hope our inn will be the most famous place in Moscovia like the apple tree that distinguishes itself in the thick wood."; + next; + break; case 2: - if (Zeny > 4999) { - mes "[Landlord]"; - mes "Ok, I'll bring you the best room."; - mes "Please have a rest, young adventurer."; - close2; - set Zeny,Zeny-5000; - percentheal 100,100; - warp "mosk_in",215,181; - end; - } mes "[Landlord]"; - mes "The service charge is 5000z."; - mes "Please make sure you have enough money for the service."; - close; - case 3: + mes "Mikhail?"; + mes "Ah! You're talking about a cute boy, Mr. Ibanoff's son?"; + mes "Yes I saw him. He was here a few hours ago."; + next; mes "[Landlord]"; - emotion e_lv; - mes "Oh~! You look great! Look at the "+((Sex)?"solid muscle":"fair skin")+"!"; - mes "But you look tired. Is it because of a long journey?"; + mes "He looked pale and asked me for a high-strength adhesive. He might've broken something important."; next; mes "[Landlord]"; - mes "We've got a room available just for you. "+((Sex)?"It's the best in town. How about staying the night?":"It's like a princess' room."); - mes (Sex)?"I'll charge you at reasonable price for you, handsome guy.":"How about staying the night? I'll mark down the price for you, beautiful lady."; + mes "I felt sorry for him because he was so tense. He's such a sweet boy. I'd like to make him my son."; + mes "Hohoho"; next; mes "["+strcharinfo(0)+"]"; - mes "Oh, I'm sorry but I didn't come to stay here."; - mes "I'm looking for a kid and I've got something to ask you..."; + mes "So what happened?"; + mes "Did Mikhail get it?"; next; - emotion e_omg; mes "[Landlord]"; - mes "What!?!?"; + mes "Hoho, I don't really know. Maybe my husband does..."; + mes "He's not much to look at, but he's good at repairing and making stuff! hoho"; next; mes "[Landlord]"; - mes "Hey~ You've heard about 'give and take'?"; - mes "Haven't you?"; - mes "If you're my customer, I could offer you what you want but you're not!"; + mes "But it's been a long time since he was out of Moscovia so I can't ask him how to make adhesives now..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "......And then?"; next; mes "[Landlord]"; - mes "If you promise me to stay overnight, I'll tell you about what you want to know. Deal?"; + mes "I told him to go to the pub over there."; + mes "I also told him not to drink what those guys offer to him!"; + mes "Cause he's such a cute boy!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "So, did he go there?"; next; - if(select("Refuse.:Stay overnight and get the info. - 5000z") == 1) { - emotion e_ag; - mes "[Landlord]"; - mes "Well, get the info by yourself then."; - close; - } - if (Zeny < 5000) { - mes "[Landlord]"; - mes "No way. You don't have enough money."; - mes "Go away! I can't offer you a room."; - close; - } mes "[Landlord]"; - mes "Oh, God! You're as great as you look~"; - mes "Ok, I'll bring you to the room in a bit!!"; + mes "Yes he did-."; + mes "As he's a good boy, he would go there."; + mes "He's really gentle."; + next; + mes "["+strcharinfo(0)+"]"; + mes "OK. Thank you for your answers!"; next; mes "[Landlord]"; - mes "Come on, please follow me with your luggage."; - mes "Oh, let me carry them. Hohoho, you must be exhausted."; - mes "I wish you a good night's rest. Hohoho."; - set mos_swan,4; - close2; - set Zeny,Zeny-5000; - percentheal 100,100; - warp "mosk_in",215,181; - end; - } - } else if (mos_swan == 4 || mos_swan == 5) { - mes "[Landlord]"; - mes "You're up already?"; - mes "Well since you're young you've probably already recovered all of your strength."; - mes "Hohoho."; - next; - while(1) { - switch(select("Ask her about the inn:Ask her about Mikhail.:End the conversation")) { - case 1: - mes "[Landlord]"; - mes "The name of our inn came from a big apple tree which is outside of the village."; - mes "I hope our inn will be the most famous place in Moscovia like the apple tree that distinguishes itself in the thick wood."; - next; - break; - case 2: - mes "[Landlord]"; - mes "Mikhail?"; - mes "Ah! You're talking about a cute boy, Mr. Ibanoff's son?"; - mes "Yes I saw him. He was here a few hours ago."; - next; - mes "[Landlord]"; - mes "He looked pale and asked me for a high-strength adhesive. He might've broken something important."; - next; - mes "[Landlord]"; - mes "I felt sorry for him because he was so tense. He's such a sweet boy. I'd like to make him my son."; - mes "Hohoho"; - next; - mes "["+strcharinfo(0)+"]"; - mes "So what happened?"; - mes "Did Mikhail get it?"; - next; - mes "[Landlord]"; - mes "Hoho, I don't really know. Maybe my husband does..."; - mes "He's not much to look at, but he's good at repairing and making stuff! hoho"; - next; - mes "[Landlord]"; - mes "But it's been a long time since he was out of Moscovia so I can't ask him how to make adhesives now..."; - next; - mes "["+strcharinfo(0)+"]"; - mes "......And then?"; - next; - mes "[Landlord]"; - mes "I told him to go to the pub over there."; - mes "I also told him not to drink what those guys offer to him!"; - mes "Cause he's such a cute boy!"; - next; - mes "["+strcharinfo(0)+"]"; - mes "So, did he go there?"; - next; - mes "[Landlord]"; - mes "Yes he did-."; - mes "As he's a good boy, he would go there."; - mes "He's really gentle."; - next; - mes "["+strcharinfo(0)+"]"; - mes "OK. Thank you for your answers!"; - next; - mes "[Landlord]"; - mes "I was unkind to make you stay here but wasn't it easier for you? hoho."; - mes "When it gets dark, promise me to come here again. Hoho"; - set mos_swan,7; - close; - break; - case 3: - mes "[Landlord]"; - mes "When you need to take a rest, where will you go?"; - next; - mes "[Landlord]"; - mes "You should come back here to Inn 'Sticky Herb Tree'. Ok?"; - mes "I'll offer you better service next time."; - close; + mes "I was unkind to make you stay here but wasn't it easier for you? hoho."; + mes "When it gets dark, promise me to come here again. Hoho"; + mos_swan = 7; + changequest 18061,18062; + close; + case 3: + mes "[Landlord]"; + mes "When you need to take a rest, where will you go?"; + next; + mes "[Landlord]"; + mes "You should come back here to Inn 'Sticky Herb Tree'. Ok?"; + mes "I'll offer you better service next time."; + close; } } } - if(select("Save:Stay the night - 5000z") == 1) { + switch(select("Save", "Stay the night - 5000z", ( mos_swan == 3 ? "Ask her about Mikhail." : "" ))) { + case 1: mes "[Landlord]"; mes "Your respawn point has been saved."; mes "Hope we can see you again next time hoho."; savepoint "mosk_in",142,189; close; - } - if (Zeny> 4999) { + case 2: + if (Zeny > 4999) { + mes "[Landlord]"; + if (mos_swan == 3) { + mes "Ok, I'll bring you the best room."; + mes "Please have a rest, young adventurer."; + } + else { + mes "[Landlord]"; + mes "Please be comfortable."; + } + break; + } mes "[Landlord]"; - mes "Please be comfortable."; - close2; - set Zeny,Zeny-5000; - percentheal 100,100; - warp "mosk_in",215,181; - end; + mes "The service charge is 5000z."; + mes "Please make sure you have enough money for the service."; + close; + case 3: + mes "[Landlord]"; + emotion e_lv; + mes "Oh~! You look great! Look at the "+((Sex)?"solid muscle":"fair skin")+"!"; + mes "But you look tired. Is it because of a long journey?"; + next; + mes "[Landlord]"; + mes "We've got a room available just for you. "+((Sex)?"It's the best in town. How about staying the night?":"It's like a princess' room."); + mes (Sex)?"I'll charge you at reasonable price for you, handsome guy.":"How about staying the night? I'll mark down the price for you, beautiful lady."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Oh, I'm sorry but I didn't come to stay here."; + mes "I'm looking for a kid and I've got something to ask you..."; + next; + emotion e_omg; + mes "[Landlord]"; + mes "What!?!?"; + next; + mes "[Landlord]"; + mes "Hey~ You've heard about 'give and take'?"; + mes "Haven't you?"; + mes "If you're my customer, I could offer you what you want but you're not!"; + next; + mes "[Landlord]"; + mes "If you promise me to stay overnight, I'll tell you about what you want to know. Deal?"; + next; + if(select("Refuse.:Stay overnight and get the info. - 5000z") == 1) { + emotion e_ag; + mes "[Landlord]"; + mes "Well, get the info by yourself then."; + close; + } + if (Zeny < 5000) { + mes "[Landlord]"; + mes "No way. You don't have enough money."; + mes "Go away! I can't offer you a room."; + close; + } + mes "[Landlord]"; + mes "Oh, God! You're as great as you look~"; + mes "Ok, I'll bring you to the room in a bit!!"; + next; + mes "[Landlord]"; + mes "Come on, please follow me with your luggage."; + mes "Oh, let me carry them. Hohoho, you must be exhausted."; + mes "I wish you a good night's rest. Hohoho."; + mos_swan = 4; + break; } - mes "[Landlord]"; - mes "The service charge is 5000z."; - mes "Please make sure you have enough money for the service."; - close; + close2; + Zeny = Zeny -5000; + percentheal 100,100; + warp "mosk_in",215,181; + end; } -mosk_in,141,212,3 script Pub Owner#mos 964,{ +mosk_in,141,212,3 script Pub Owner#mos 4_M_RUSBALD,{ if ((MaxWeight-Weight) < 2000) { mes "- Please stop here!! -"; mes "- You're carrying too many items -"; @@ -3387,23 +3480,27 @@ mosk_in,141,212,3 script Pub Owner#mos 964,{ next; mes "[Pub Owner]"; mes "You're welcome."; - set mos_swan,8; + mos_swan = 8; + // changequest 18062,18063; close; } mes "[Pub Owner]"; mes "Although you may be an experienced adventurer, you look so young."; mes "I recommend you these drinks. Which one will you take?"; next; - set .@j, select("Milk - 1000z:Sticky_Herb juice - 1000z:They are all expensive!") - 1; + .@j = select("Milk - 1000z:Sticky_Herb juice - 1000z:They are all expensive!") - 1; if (.@j == 2) { mes "[Pub Owner]"; mes "Hahaha, too much for you eh cheapskate."; close; } if (Zeny > 999) { - set Zeny,Zeny-1000; - set mos_swan,9; - if (!.@j) getitem 519,1; else getitem 531,1; + Zeny = Zeny -1000; + mos_swan = 9; + if (.@j == 0) + getitem 519,1; + else + getitem 531,1; mes "[Pub Owner]"; mes "Here you are. This is what you ordered."; mes "How do you like Moscovia?"; @@ -3461,40 +3558,28 @@ mosk_in,141,212,3 script Pub Owner#mos 964,{ mes "Well, do you have some stories for me? or you've got something to ask me."; mes "I recommend you those drinks."; next; - switch(select("Milk - 1000z:Apple juice - 1000z:They are all expensive!")) { - case 1: - if (Zeny > 999) { - set Zeny,Zeny-1000; - set mos_swan,9; - getitem 519,1; - mes "[Pub Owner]"; - mes "Here you are. This is what you ordered."; - mes "Enjoy yourself."; - close; - } - mes "[Pub Owner]"; - mes "You'll need a lot of money while you're traveling."; - mes "If you don't have enough money, I'll offer you a glass of water."; - close; - case 2: - if (Zeny > 999) { - set Zeny,Zeny-1000; - set mos_swan,9; - getitem 531,1; - mes "[Pub Owner]"; - mes "Here you are. This is what you ordered."; - mes "Enjoy yourself."; - close; - } - mes "[Pub Owner]"; - mes "You'll need a lot of money while you're traveling."; - mes "If you don't have enough money, I'll offer you a glass of water."; - close; - case 3: - mes "[Pub Owner]"; - mes "Hahaha, Here is the sightseeing place."; - close; + .@s = select( "Milk - 1000z:Apple juice - 1000z:They are all expensive!" ); + if (.@s == 3) { + mes "[Pub Owner]"; + mes "Hahaha, Here is the sightseeing place."; + close; + } + if (Zeny > 999) { + Zeny = Zeny -1000; + mos_swan = 9; + if (.@s == 1) + getitem 519,1; + else + getitem 531,1; + mes "[Pub Owner]"; + mes "Here you are. This is what you ordered."; + mes "Enjoy yourself."; + close; } + mes "[Pub Owner]"; + mes "You'll need a lot of money while you're traveling."; + mes "If you don't have enough money, I'll offer you a glass of water."; + close; } else if (mos_swan == 9) { mes "[Pub Owner]"; mes "Have you spoken to Victor?"; @@ -3507,7 +3592,7 @@ mosk_in,141,212,3 script Pub Owner#mos 964,{ close; } -mosk_in,147,202,3 script Victor#mos 968,{ +mosk_in,147,202,3 script Victor#mos 4_M_RUSMAN2,{ if ((MaxWeight-Weight) < 2000) { mes "- Please stop here!! -"; mes "- You're carrying too many items -"; @@ -3603,7 +3688,8 @@ mosk_in,147,202,3 script Victor#mos 968,{ next; mes "[Victor]"; mes "He might've just hidden himself somewhere, haha!"; - set mos_swan,10; + mos_swan = 10; + changequest 18062,18063; close; } else if (mos_swan == 10 || mos_swan == 11) { mes "[Victor]"; @@ -3640,7 +3726,8 @@ mosk_in,147,202,3 script Victor#mos 968,{ next; mes "[Victor]"; mes "You should bring ^3131FF'10 sticky herbs'^000000 and ^3131FF 1 medicine bowl^000000 to me."; - set mos_swan,13; + mos_swan = 13; + changequest 18065,18066; close; } else if (mos_swan > 12 && mos_swan < 23) { mes "[Victor]"; @@ -3659,20 +3746,21 @@ mosk_in,147,202,3 script Victor#mos 968,{ mes "[Victor]"; mes "Give me the stuff! I'll make it quickly. You're annoying me!"; next; - for (set .@i, 0; .@i < 3; set .@i, .@i + 1) + for (.@i = 0; .@i < 3; .@i++) mes "- He's making adhesive with a crunching sound -"; next; - for (set .@i, 0; .@i < 4; set .@i, .@i + 1) + for (.@i = 0; .@i < 4; .@i++) mes "- And he may be rubbing something -"; next; mes "[Victor]"; mes "Ok, done!"; mes "I don't want you to bother me any longer!"; mes "Please leave!"; - delitem 7763,10; - delitem 7134,1; - set mos_swan,24; - getitem 7764,1; + delitem 7763,10;// Sticky_Herb + delitem 7134,1;// Medicine_Bowl + mos_swan = 24; + getitem 7764,1;// High_Strength_Adhesive + changequest 18067,18068; close; } mes "[Victor]"; @@ -3699,35 +3787,35 @@ mosk_in,215,181,0 script #swan_inn -1,1,1,{ end; OnTouch: if (mos_swan != 4) end; - mes ".................."; - mes ".................."; - next; - mes ".................."; - mes ".................."; - mes ".................."; - next; - mes ".................."; - mes ".................."; - mes ".................."; - mes ".................."; - next; - mes "["+strcharinfo(0)+"]"; - mes "Oh, I got a good night's sleep. How long did I sleep?"; - next; - mes "["+strcharinfo(0)+"]"; - mes "Although I was forced to stay here, it's true that it's got great facilities."; - mes "I feel refreshed."; - next; - mes "["+strcharinfo(0)+"]"; - mes "Ok, I guess I will go to the landlord to get some info."; - set mos_swan,5; - close; + mes ".................."; + mes ".................."; + next; + mes ".................."; + mes ".................."; + mes ".................."; + next; + mes ".................."; + mes ".................."; + mes ".................."; + mes ".................."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Oh, I got a good night's sleep. How long did I sleep?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Although I was forced to stay here, it's true that it's got great facilities."; + mes "I feel refreshed."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ok, I guess I will go to the landlord to get some info."; + mos_swan = 5; + close; } //---------------------------------------------------------------------------- // Swamp //---------------------------------------------------------------------------- -mosk_dun03,153,90,3 script Bubbling Swamp#mos1 844,{ +mosk_dun03,153,90,3 script Bubbling Swamp#mos1 CLEAR_NPC,{ if ((MaxWeight-Weight) < 2000) { mes "- Your bag is very heavy today -"; close; @@ -3739,7 +3827,8 @@ mosk_dun03,153,90,3 script Bubbling Swamp#mos1 844,{ next; mes "["+strcharinfo(0)+"]"; mes "I don't see any traces of Mikhail. I think I should go back and check his house one more time."; - set mos_swan,11; + mos_swan = 11; + changequest 18063,18064; close; } else if (mos_swan == 11 && mos_swan == 12) { mes "- You can see a small muddy swamp -"; @@ -3755,13 +3844,10 @@ mosk_dun03,153,90,3 script Bubbling Swamp#mos1 844,{ next; if (rand(1,10) < 6) { mes "- You have pricked your finger on a Sticky Herb. -"; - if (mos_swan == 22) { - getitem 7763,1; - set mos_swan,23; - close; - } getitem 7763,1; - set mos_swan,mos_swan+1; + mos_swan++; + if (mos_swan == 23) + changequest 18066,18067; close; } mes "- You have pricked your finger on a Green Herb. -"; @@ -3777,7 +3863,7 @@ mosk_dun03,153,90,3 script Bubbling Swamp#mos1 844,{ //---------------------------------------------------------------------------- // Larissa - Hotcake Quests //---------------------------------------------------------------------------- -mosk_in,211,259,5 script Larissa#mos_01 960,{ +mosk_in,211,259,5 script Larissa#mos_01 4_F_RUSWOMAN2,{ if ((MaxWeight-Weight) < 2000) { mes "- Please stop here !! -"; mes "- You're carrying too many items -"; @@ -3787,16 +3873,16 @@ mosk_in,211,259,5 script Larissa#mos_01 960,{ } if (mos_swan == 100) { mes "[Larissa]"; - mes "Oh, you're the adventurer that Madame told me about ."; + mes "Oh, you're the adventurer that Madame told me about."; mes "Did you find her son?"; mes "I'm so glad. He's a good kid."; next; mes "[Larissa]"; mes "Here you are. This special pancake is for you."; mes "It will be very delicious."; - set mos_swan,101; - getitem 592,5; - getitem 593,5; + mos_swan = 101; + getitem 592,5;// Jam_Pancake + getitem 593,5;// Honey_Pancake next; mes "[Larissa]"; mes "Whenever you'd like to eat these pancake, you come on by."; @@ -3828,19 +3914,17 @@ mosk_in,211,259,5 script Larissa#mos_01 960,{ mes "Oh, my! What are you doing now?"; mes "I'm going to do that from the beginning."; mes "Look, pass it through a sieve."; - next; break; case 2: mes "[Larissa]"; mes "There you go. Just do it slowly while tapping the sides, sifting the sugar and baking powder through the sieve together."; - next; break; case 3: mes "[Larissa]"; mes "If we don't have the sieve, we can use our fist but we've got one. So we might as well use it right?"; - next; break; } + next; mes "[Larissa]"; mes "That way, it will mix well."; mes "And then I'm adding an egg, some milk and a white potion."; @@ -3849,12 +3933,11 @@ mosk_in,211,259,5 script Larissa#mos_01 960,{ if(select("Stir it up with great speed.:Do the same as she said.") == 1) { mes "[Larissa]"; mes "No, you don't have to do that way. It won't rise properly if you stir it too fast."; - next; } else { mes "[Larissa]"; mes "You're very good at this!"; - next; } + next; mes "[Larissa]"; mes "It'll rise while baking if you stir it properly"; mes "Ok, let me bake now. Let's pour it on our pan and spread it around."; @@ -3868,13 +3951,12 @@ mosk_in,211,259,5 script Larissa#mos_01 960,{ mes "No, you don't do that."; mes "You'll burn it up."; mes "Wait for a while."; - next; } else { mes "[Larissa]"; mes "Hmm let's see. It's good."; mes "You were good at it."; - next; } + next; mes "[Larissa]"; mes "Ok, turn it over. Oh it looks delicious"; mes "What should I top it with? First I put some cheese but the rest is up to you..."; @@ -3914,10 +3996,10 @@ mosk_in,211,259,5 script Larissa#mos_01 960,{ setarray .@n, 594,1; break; } - setarray .@di,7031,1,519,2,504,2,548,1,1019,1,518,1; - for (set .@i, 0; .@i < getarraysize(.@di); set .@i, .@i + 2) + setarray .@di[0],7031,1,519,2,504,2,548,1,1019,1,518,1; + for (.@i = 0; .@i < getarraysize(.@di); .@i += 2) delitem .@n[.@i],.@n[.@i+1]; - getitem .@n,.@n[1]; + getitem .@n[0],.@n[1]; close; } mes "[Larissa]"; @@ -3946,7 +4028,7 @@ mosk_in,211,259,5 script Larissa#mos_01 960,{ //---------------------------------------------------------------------------- // Acorn Dealer - Sells Acorns //---------------------------------------------------------------------------- -moscovia,208,182,7 script Acorn Dealer#mos 967,{ +moscovia,208,182,7 script Acorn Dealer#mos 4_M_RUSMAN1,{ mes "[Acorn Dealer]"; mes "We have very fresh acorns. Everyone will like them!"; mes "You can buy one acorn for 100zeny!"; @@ -3968,7 +4050,7 @@ moscovia,208,182,7 script Acorn Dealer#mos 967,{ mes "I'll bet you that they are very fresh!"; mes "How many acorns do you need?"; next; - while(.@input <= 0 || .@input > 500) { + while(.@input == 0 || .@input > 500) { input .@input; if (.@input <= 0) { mes "[Acorn Dealer]"; @@ -3991,7 +4073,7 @@ moscovia,208,182,7 script Acorn Dealer#mos 967,{ mes "right here."; close; } - set .@price, .@input * 100; + .@price = .@input * 100; if (Zeny < .@price) { mes "[Acorn Dealer]"; mes "Hello? You've turned pale! Are you ok??"; @@ -4001,7 +4083,7 @@ moscovia,208,182,7 script Acorn Dealer#mos 967,{ mes "[Acorn Dealer]"; mes "Oh, thank you..."; mes "What do you think of them? They're fresh, aren't they?"; - set Zeny,Zeny - .@price; + Zeny = Zeny - .@price; getitem 1026,.@input; close; } @@ -4009,8 +4091,7 @@ moscovia,208,182,7 script Acorn Dealer#mos 967,{ //---------------------------------------------------------------------------- // Big Squirrel - Trade Acorns for Gems //---------------------------------------------------------------------------- -- script Squirrel#mos_main -1,{ - if (compare(strnpcinfo(0),"mos_sq")) end; +mosk_fild01,113,108,3 script Big Squirrel#mos HIDDEN_NPC,2,2,{ OnTouch: if ((MaxWeight-Weight) < 2000) { mes "- Please stop here!! -"; @@ -4036,54 +4117,61 @@ OnTouch: next; mes "- After eating the acorn up, the squirrel dances around wildly. Suddenly it curls its body and throws something up with a spit-spit sound -"; delitem 1026,20; - set .@cyworld,rand(1,1000); - set .@stworld,rand(1,150); - if (.@cyworld > 0 && .@cyworld < 100) getitem 733,1; - else if (.@cyworld == 100) { - if (.@stworld > 0 && .@stworld < 90) callsub S_BS_1,.@stworld; - else if (.@stworld > 89 && .@stworld < 100) getitem 730,1; - else getitem 7289,1; - } else if (.@cyworld == 200) { - if (.@stworld > 0 && .@stworld < 90) callsub S_BS_1,.@stworld; - else if (.@stworld > 89 && .@stworld < 100) getitem 731,1; - else set .@stonez1,rand(1,10); - if (.@stonez1 < 6) getitem 7290,1; - else if (.@stonez1 > 5 && .@stonez1 < 8) getitem 7297,1; - else getitem 7292,1; - } else if (.@cyworld == 300) { - if (.@stworld > 0 && .@stworld < 90) callsub S_BS_1,.@stworld; - else if (.@stworld > 89 && .@stworld < 100) getitem 732,1; - else set .@stonez2,rand(1,10); - if (.@stonez2 < 6) getitem 7291,1; - else getitem 7294,1; - } else if (.@cyworld == 400) { - if (.@stworld > 0 && .@stworld < 90) callsub S_BS_1,.@stworld; - else if (.@stworld > 89 && .@stworld < 100) getitem 730,1; - else getitem 7295,1; - } else if (.@cyworld == 500) { - if (.@stworld > 0 && .@stworld < 90) callsub S_BS_1,.@stworld; - else if (.@stworld > 89 && .@stworld < 100) getitem 731,1; - else getitem 7293,1; - } else if (.@cyworld == 600) { - if (.@stworld > 0 && .@stworld < 90) callsub S_BS_1,.@stworld; - else if (.@stworld > 89 && .@stworld < 100) getitem 732,1; - else getitem 7292,1; - } else if (.@cyworld == 700) { - if (.@stworld > 0 && .@stworld < 90) callsub S_BS_1,.@stworld; - else if (.@stworld > 89 && .@stworld < 100) getitem 730,1; - else getitem 7290,1; - } else if (.@cyworld == 800) { - if (.@stworld > 0 && .@stworld < 90) callsub S_BS_1,.@stworld; - else if (.@stworld > 89 && .@stworld < 100) getitem 731,1; - else getitem 7296,1; - } else if (.@cyworld == 900) { - if (.@stworld > 0 && .@stworld < 90) callsub S_BS_1,.@stworld; - else if (.@stworld > 89 && .@stworld < 100) getitem 732,1; - else getitem 7297,1; - } else if (.@cyworld == 1000) getitem 727,1; - else if (.@cyworld > 100 && .@cyworld < 500) getitem 733,1; - else if (.@cyworld > 500 && .@cyworld < 900) getitem 724,1; - else getitem 724,1; + .@cyworld = rand(1,1000); + .@stworld = rand(1,150); + if (.@cyworld % 100 == 0 && .@cyworld < 1000) { + if (.@stworld < 90) { + if (.@stworld < 10) getitem 718,1;// Dark_Red_Jewel + else if (.@stworld < 20) getitem 719,1;// Violet_Jewel + else if (.@stworld < 30) getitem 720,1;// Skyblue_Jewel + else if (.@stworld < 40) getitem 721,1;// Azure_Jewel + else if (.@stworld < 50) getitem 722,1;// Scarlet_Jewel + else if (.@stworld < 60) getitem 723,1;// Cardinal_Jewel + else if (.@stworld < 70) getitem 725,1;// Red_Jewel + else if (.@stworld < 80) getitem 728,1;// Golden_Jewel + else getitem 729,1;// Bluish_Green_Jewel + } + else if (.@stworld < 100) { + if (.@cyworld == 100 || .@cyworld == 400 || .@cyworld == 700) + getitem 730,1;// Crystal_Jewel + else if (.@cyworld == 200 || .@cyworld == 500 || .@cyworld == 800) + getitem 731,1;// Crystal_Jewel_ + else + getitem 732,1;// Crystal_Jewel__ + } + else { + switch(.@cyworld) { + case 200: + .@stonez1 = rand(1,10); + if (.@stonez1 < 6) + getitem 7290,1;// Phlogopite + else if (.@stonez1 < 8) + getitem 7297,1;// Biotite + else + getitem 7292,1;// Muscovite + break; + case 300: + if (rand(1,10) < 6) + getitem 7291,1;// Agate + else + getitem 7294,1;// Turquoise + break; + case 100: getitem 7289,1; break;// Olivine + case 400: getitem 7295,1; break;// Citrine + case 500: getitem 7293,1; break;// Rose_Quartz + case 600: getitem 7292,1; break;// Muscovite + case 700: getitem 7290,1; break;// Phlogopite + case 800: getitem 7296,1; break;// Pyroxene + case 900: getitem 7297,1; break;// Biotite + } + } + } + else if (.@cyworld == 1000) + getitem 727,1;// White_Jewel + else if (.@cyworld < 500) + getitem 733,1;// Crystal_Jewel___ + else + getitem 724,1;// Cardinal_Jewel_ close; case 2: mes "["+strcharinfo(0)+"]"; @@ -4105,22 +4193,8 @@ OnTouch: } mes "- The squirrel looks at the acorn which you held for a while but it turned its head with indifference. -"; close; - -S_BS_1: - set .@stworld, getarg(0); - if (.@stworld < 10) getitem 718,1; - else if (.@stworld < 20) getitem 719,1; - else if (.@stworld < 30) getitem 720,1; - else if (.@stworld < 40) getitem 721,1; - else if (.@stworld < 50) getitem 722,1; - else if (.@stworld < 60) getitem 723,1; - else if (.@stworld < 70) getitem 725,1; - else if (.@stworld < 80) getitem 728,1; - else if (.@stworld < 90) getitem 729,1; - return; } -mosk_fild01,113,108,3 duplicate(Squirrel#mos_main) Big Squirrel#mos 111 -mosk_fild01,113,108,5 duplicate(Squirrel#mos_main) #mos_sq 1104,2,2 +mosk_fild01,113,108,5 script #mos_sq 1104,{ end; } // Banish Winter :: mos_nowinter //============================================================ @@ -4128,98 +4202,7 @@ mosk_fild01,113,108,5 duplicate(Squirrel#mos_main) #mos_sq 1104,2,2 //---------------------------------------------------------------------------- // Baba Yaga, the Horrible - Starting Point //---------------------------------------------------------------------------- -mosk_in,215,46,5 script #babayaga -1,7,7,{ - end; -OnTouch: - if (!mos_nowinter) { - if (countitem(7762) > 39 && BaseLevel > 59) { - set mos_nowinter,2; - mes "[Baba Yaga, the Horrible]"; - mes "Who the hell are you?"; - mes "You want me to kick your ass!"; - next; - mes "[Baba Yaga, the Horrible]"; - mes "No. They are..."; - next; - mes "[Baba Yaga, the Horrible]"; - mes "You have our Yaga Pestles!"; - mes "You have so many of them..."; - next; - mes "[Baba Yaga, the Horrible]"; - mes "Who, who are you?"; - close; - } else if (countitem(7762) > 39 && BaseLevel < 60) { - mes "[Baba Yaga, the Horrible]"; - mes "Hohoho~"; - mes "You cannot beat my friends!"; - mes "I don't know where you got"; - mes "those Yaga Pestles, but"; - mes "give them back to me!"; - set mos_nowinter,1; - set .@getback,rand(1,20); - delitem 7762,.@getback; - close2; - warp "mosk_dun02",53,217; - end; - } - mes "[Baba Yaga, the Horrible]"; - mes "Who the hell are you?"; - mes "You want me to kick your ass!"; - set mos_nowinter,1; - close2; - warp "mosk_dun02",53,217; - end; - } else if (mos_nowinter == 1) { - if (countitem(7762) > 39 && BaseLevel > 59) { - set mos_nowinter,2; - mes "[Baba Yaga, the Horrible]"; - mes "Who the hell are you."; - mes "You want me to kick your ass!"; - next; - mes "[Baba Yaga, the Horrible]"; - mes "No. They are..."; - next; - mes "[Baba Yaga, the Horrible]"; - mes "You have our Yaga Pestles!"; - mes "You have so many of them..."; - next; - mes "[Baba Yaga, the Horrible]"; - mes "Who, who are you?"; - close; - } else if (countitem(7762) > 39 && BaseLevel < 60) { - mes "[Baba Yaga, the Horrible]"; - mes "You, chicken,"; - mes "I need to kick your ass more."; - next; - if (Sex) { - mes "[Baba Yaga, the Horrible]"; - mes "I will bewitch"; - mes "and enslave you."; - mes "Come here, Heeee!"; - } else { - mes "[Baba Yaga, the Horrible]"; - mes "Recently, I have no appetite."; - mes "But you will be"; - mes "a good appetizer."; - mes "Come here, Heeeeeeeee."; - } - close2; - warp "mosk_dun02",53,217; - end; - } - mes "[Baba Yaga, the Horrible]"; - mes "I need to kick your ass more."; - mes "Come here"; - mes "to play a game"; - mes "Heeeeeeeeeeee"; - close2; - warp "mosk_dun02",53,217; - end; - } - end; -} - -mosk_in,215,46,5 script Baba Yaga, the Horrible 970,{ +mosk_in,215,46,5 script Baba Yaga, the Horrible 4_F_BABAYAGA,7,7,{ if (!mos_nowinter || mos_nowinter == 1) { mes "[Baba Yaga, the Horrible]"; mes "Hohoho"; @@ -4305,14 +4288,14 @@ mosk_in,215,46,5 script Baba Yaga, the Horrible 970,{ mes "Please, don't kill me..."; next; mes "'Hmmm, what should I do...'"; - set mos_nowinter,4; + mos_nowinter = 4; close; } mes "[Baba Yaga, the Horrible]"; mes "Akkk... What on earth did you do to me..."; next; mes "Hmm... What do you want..."; - set mos_nowinter,3; + mos_nowinter = 3; close; } else if (mos_nowinter == 3) { mes "[Baba Yaga, the Horrible]"; @@ -4357,7 +4340,7 @@ mosk_in,215,46,5 script Baba Yaga, the Horrible 970,{ mes "Please, don't kill me..."; next; mes "'Hmm... what should I do...'"; - set mos_nowinter,4; + mos_nowinter = 4; close; } mes "[Baba Yaga, the Horrible]"; @@ -4423,8 +4406,7 @@ mosk_in,215,46,5 script Baba Yaga, the Horrible 970,{ mes "Cough, cough,"; mes "I am coughing now, so do not disturb me,"; mes "you write them down."; - set .@plus1,1; - next; + .@plus1 = 1; } else { mes "[Baba Yaga, the Horrible]"; mes "No, It just..."; @@ -4434,8 +4416,8 @@ mosk_in,215,46,5 script Baba Yaga, the Horrible 970,{ mes "Hey, relax your hand and"; mes "keep writing."; mes "Forget the Sticky Mucus..."; - next; } + next; mes "[Baba Yaga, the Horrible]"; mes "Where were we..."; mes "Cough, cough, cough!"; @@ -4462,8 +4444,8 @@ mosk_in,215,46,5 script Baba Yaga, the Horrible 970,{ mes "a 1, 2, or 3 carat"; mes "^ff0000Diamond^000000."; next; + mes "[Baba Yaga, the Horrible]"; if (.@plus1 == 1) { - mes "[Baba Yaga, the Horrible]"; mes "Ok, I am repeating the items."; mes "Eh, they are..."; next; @@ -4481,10 +4463,9 @@ mosk_in,215,46,5 script Baba Yaga, the Horrible 970,{ mes "10 Burning Heart^000000 and,"; mes "a 1, 2, or 3 carat"; mes "^ff00001 Diamond^000000."; - set mos_nowinter,6; - next; + mos_nowinter = 6; + changequest 18070,18071; } else { - mes "[Baba Yaga, the Horrible]"; mes "Ok, I am repeating the items."; mes "Eh, they are..."; next; @@ -4501,36 +4482,45 @@ mosk_in,215,46,5 script Baba Yaga, the Horrible 970,{ mes "10 Burning Heart^000000 and,"; mes "a 1, 2, or 3 carat"; mes "^ff0000Diamond^000000."; - set mos_nowinter,7; - next; + mos_nowinter = 7; + changequest 18070,18072; } + next; mes "[Baba Yaga, the Horrible]"; mes "I am preparing to make it,"; mes "you should get me them quickly. Cough, cough!"; close; - } else if (mos_nowinter == 6) { + } else if (mos_nowinter == 6 || mos_nowinter == 7) { mes "[Baba Yaga, the Horrible]"; - mes "Ehhh... You came back early."; + mes "Ehhh... You came back earlier."; next; mes "[Baba Yaga, the Horrible]"; mes "I'm almost prepared.."; mes "Did you get"; mes "all of the items?"; next; - setarray .@n, 940,20,908,5,7006,20,1061,10,7041,10,938,10,1051,1,990,5,7097,10; - for (set .@i, 0; .@i < getarraysize(.@n); set .@i, .@i + 2) { - if (countitem(.@n[.@i]) < .@n[.@i+1]) { - set .@f, 1; - break; - } - } - if (!.@f && (countitem(730) || countitem(731) || countitem(732))) { - for (set .@i, 0; .@i < getarraysize(.@n); set .@i, .@i + 2) - delitem .@n[.@i],.@n[.@i+1]; - if (countitem(730)) delitem 730,1; - else if (countitem(731)) delitem 731,1; - else if (countitem(732)) delitem 732,1; - set mos_nowinter,8; + setarray .@item[0], 940,20,908,5,7006,20,1061,10,7041,10,1051,1,990,5,7097,10; + .@size = getarraysize(.@item); + if (mos_nowinter == 6) { + setarray .@item[.@size], 938,10; + .@size += 2; + } + for (.@i = 0; .@i < .@size; .@i += 2) + if (countitem(.@item[.@i]) < .@item[.@i+1]) break; + if (.@i >= .@size && (countitem(730) || countitem(731) || countitem(732))) { + for (.@i = 0; .@i < .@size; .@i += 2) + delitem .@item[.@i],.@item[.@i+1]; + if (countitem(730)) + delitem 730,1; // Crystal_Jewel + else if (countitem(731)) + delitem 731,1; // Crystal_Jewel_ + else if (countitem(732)) + delitem 732,1; // Crystal_Jewel__ + if (mos_nowinter == 6) + changequest 18071,18073; + else + changequest 18072,18073; + mos_nowinter = 8; mes "[Baba Yaga, the Horrible]"; mes "Right, you got them all."; mes "With this amount.. For some time..."; @@ -4587,7 +4577,8 @@ mosk_in,215,46,5 script Baba Yaga, the Horrible 970,{ mes "^ff000020 Grasshopper's Legs,"; mes "5 Spawn,"; mes "20 Wings Of Red Bat"; - mes "10 Sticky Mucus,"; + if (mos_nowinter == 6) + mes "10 Sticky Mucus,"; mes "10 Witch Starsand^000000..."; next; mes "[Baba Yaga, the Horrible]"; @@ -4603,129 +4594,35 @@ mosk_in,215,46,5 script Baba Yaga, the Horrible 970,{ mes "Hu, I talked so much"; mes "that it hurts me, Kaaaak~"; close; - } else if (mos_nowinter == 7) { + } else if (mos_nowinter == 8) { mes "[Baba Yaga, the Horrible]"; - mes "Ehhh... You came back earlier."; + mes "It is very, very hard to return alive"; + mes "from a lair of a dragon"; + mes "without strength and courage."; next; mes "[Baba Yaga, the Horrible]"; - mes "I almost prepared"; - mes "Did you get"; - mes "all of them?"; - next; - setarray .@n, 940,20,908,5,7006,20,1061,10,7041,10,1051,1,990,5,7097,10; - for (set .@i, 0; .@i < getarraysize(.@n); set .@i, .@i + 2) { - if (countitem(.@n[.@i]) < .@n[.@i+1]) { - set .@f, 1; - break; - } - } - if (!.@f && (countitem(730) || countitem(731) || countitem(732))) { - for (set .@i, 0; .@i < getarraysize(.@n); set .@i, .@i + 2) - delitem .@n[.@i],.@n[.@i+1]; - if (countitem(730)) delitem 730,1; - else if (countitem(731)) delitem 731,1; - else if (countitem(732)) delitem 732,1; - set mos_nowinter,8; + mes "Unless you want to be killed,"; + mes "you'd better forget"; + mes "the magic gourd bottle, cough!"; + close; + } else if (mos_nowinter == 9) { + if (countitem(7761)) {// Magic_Gourd_Bottle mes "[Baba Yaga, the Horrible]"; - mes "Right, you got them all."; - mes "With this amount.. For some time......"; - mes "No, to make the Secret Medicine."; - mes "These are enough, cough."; + mes "Akkkk?"; + mes "Did you really bring it"; + mes "from the lair of the dragon...?"; next; mes "[Baba Yaga, the Horrible]"; - mes "Let me see, we have all"; - mes "that we need..."; + mes "You are superbly great."; + mes "I don't know whether"; + mes "you killed the dragon or"; + mes "you just stole it from the dragon,"; + mes "either way I don't care."; next; mes "[Baba Yaga, the Horrible]"; - mes "Ehhh..."; - mes "Huk!"; - next; - mes "[Baba Yaga, the Horrible]"; - mes "Cough, cough, cough!"; - mes "Eh... I mean..."; - next; - mes "[Baba Yaga, the Horrible]"; - mes "Have you heard the story of"; - mes "a dragon sleeping for a long time?"; - mes "Next thing that I need is"; - mes "something from that dragon, kkkk."; - next; - mes "[Baba Yaga, the Horrible]"; - mes "You can find a funny-shaped bottle"; - mes "in the dragon's lair."; - mes "It's a gourd bottle that can"; - mes "contain people's speech."; - mes "I must have this."; - next; - mes "[Baba Yaga, the Horrible]"; - mes "I don't know how strong you are,"; - mes "but I would like to recommend that"; - mes "you avoid fighting that dragon, Kaaaaak~"; - next; - mes "[Baba Yaga, the Horrible]"; - mes "Then, release me."; - mes "I want to do something,"; - mes "...but, my life is the priority. Yes, it is... Cough, cough!"; - close; - } - mes "[Baba Yaga, the Horrible]"; - mes "I think"; - mes "I need more, cough, cough!"; - next; - mes "[Baba Yaga, the Horrible]"; - mes "I am not able to do"; - mes "anything without them."; - mes "I am repeating the items in the list,"; - mes "you should get them all, kaaaaak!"; - next; - mes "[Baba Yaga, the Horrible]"; - mes "^ff000020 Grasshopper's Legs,"; - mes "5 Spawn,"; - mes "20 Wings Of Red Bat,"; - mes "10 Witch Starsand^000000..."; - next; - mes "[Baba Yaga, the Horrible]"; - mes "^ff000010 Fine Grit,"; - mes "1 Detonator,"; - mes "5 Red Blood,"; - mes "10 Burning Hearts^000000 and"; - mes "a 1, 2, or 3 carat"; - mes "^ff0000Diamond^000000."; - next; - mes "[Baba Yaga, the Horrible]"; - mes "Cough, cough."; - mes "Hu, I talked so much"; - mes "that it hurts me, Kaaaak~"; - close; - } else if (mos_nowinter == 8) { - mes "[Baba Yaga, the Horrible]"; - mes "It is very, very hard to return alive"; - mes "from a lair of a dragon"; - mes "without strength and courage."; - next; - mes "[Baba Yaga, the Horrible]"; - mes "Unless you want to be killed,"; - mes "you'd better forget"; - mes "the magic gourd bottle, cough!"; - close; - } else if (mos_nowinter == 9) { - if (countitem(7761)) { - mes "[Baba Yaga, the Horrible]"; - mes "Akkkk?"; - mes "Did you really bring it"; - mes "from the lair of the dragon...?"; - next; - mes "[Baba Yaga, the Horrible]"; - mes "You are superbly great."; - mes "I don't know whether"; - mes "you killed the dragon or"; - mes "you just stole it from the dragon,"; - mes "either way I don't care."; - next; - mes "[Baba Yaga, the Horrible]"; - mes "It is great that"; - mes "you've returned alive"; - mes "from the lair of the dragon, cough!"; + mes "It is great that"; + mes "you've returned alive"; + mes "from the lair of the dragon, cough!"; next; mes "[Baba Yaga, the Horrible]"; mes "Here, I told you before that"; @@ -4762,7 +4659,8 @@ mosk_in,215,46,5 script Baba Yaga, the Horrible 970,{ next; mes "[Baba Yaga, the Horrible]"; mes "Take care of yourself, cough, cough."; - set mos_nowinter,10; + mos_nowinter = 10; + changequest 18074,18075; close; } mes "[Baba Yaga, the Horrible]"; @@ -4812,7 +4710,7 @@ mosk_in,215,46,5 script Baba Yaga, the Horrible 970,{ mes "what I told"; mes "you to do?"; next; - if (!countitem(7761)) { + if (!countitem(7761)) {// Magic_Gourd_Bottle mes "[Baba Yaga, the Horrible]"; mes "Where is the Gourd Bottle?"; mes "I can't do anything without it."; @@ -4860,7 +4758,7 @@ mosk_in,215,46,5 script Baba Yaga, the Horrible 970,{ mes "The magic is complete."; mes "Do your best,"; mes "Cough!"; - set mos_nowinter,15; + mos_nowinter = 15; close; } else if (mos_nowinter == 15 || mos_nowinter == 16) { mes "[Baba Yaga, the Horrible]"; @@ -4888,7 +4786,7 @@ mosk_in,215,46,5 script Baba Yaga, the Horrible 970,{ mes "[Baba Yaga, the Horrible]"; mes "Well, try it again."; mes "We still have enough materials."; - set mos_nowinter,16; + mos_nowinter = 16; close; } else if (mos_nowinter == 18) { mes "[Baba Yaga, the Horrible]"; @@ -4909,8 +4807,9 @@ mosk_in,215,46,5 script Baba Yaga, the Horrible 970,{ mes "If you do this, what the villagers want"; mes "will be happening,"; mes "forever."; - getitem 7765,1; - set mos_nowinter,19; + getitem 7765,1;// Yaga_Secret_Medicine + mos_nowinter = 19; + changequest 18077,18078; close; } else if (mos_nowinter == 19) { mes "[Baba Yaga, the Horrible]"; @@ -4955,14 +4854,78 @@ S_BY_1: mes "I don't remember"; mes "where it is."; mes "Could you please come back later?"; - set mos_nowinter,5; + mos_nowinter = 5; + setquest 18070; close; + +OnTouch: + if (mos_nowinter == 0 || mos_nowinter == 1) { + mes "[Baba Yaga, the Horrible]"; + if (countitem(7762) > 39 && BaseLevel > 59) {// Yaga_Pestle + mos_nowinter = 2; + mes "Who the hell are you."; + mes "You want me to kick your ass!"; + next; + mes "[Baba Yaga, the Horrible]"; + mes "No. They are..."; + next; + mes "[Baba Yaga, the Horrible]"; + mes "You have our Yaga Pestles!"; + mes "You have so many of them..."; + next; + mes "[Baba Yaga, the Horrible]"; + mes "Who, who are you?"; + close; + } + if (mos_nowinter == 0) { + mos_nowinter = 1; + if (countitem(7762) > 39 && BaseLevel < 60) { + mes "Hohoho~"; + mes "You cannot beat my friends!"; + mes "I don't know where you got"; + mes "those Yaga Pestles, but"; + mes "give them back to me!"; + delitem 7762, rand(1,20); + } + else { + mes "Who the hell are you?"; + mes "You want me to kick your ass!"; + } + } + else { + if (countitem(7762) > 39 && BaseLevel < 60) { + mes "You, chicken,"; + mes "I need to kick your ass more."; + next; + mes "[Baba Yaga, the Horrible]"; + if (Sex) { + mes "I will bewitch"; + mes "and enslave you."; + mes "Come here, Heeee!"; + } else { + mes "Recently, I have no appetite."; + mes "But you will be"; + mes "a good appetizer."; + mes "Come here, Heeeeeeeee."; + } + } + else { + mes "I need to kick your ass more."; + mes "Come here"; + mes "to play a game"; + mes "Heeeeeeeeeeee"; + } + } + close2; + warp "mosk_dun02",53,217; + } + end; } //---------------------------------------------------------------------------- // Book //---------------------------------------------------------------------------- -mosk_in,217,45,0 script #book_russia 111,{ +mosk_in,217,45,0 script #book_russia HIDDEN_NPC,{ if (mos_nowinter == 15) { mes "-Beside the pot,"; mes "There is an unusually large book."; @@ -5026,7 +4989,7 @@ mosk_in,217,45,0 script #book_russia 111,{ mes "I'll mark this spot."; mes "so I can easily find the mixing"; mes "process next time..."; - set mos_nowinter,16; + mos_nowinter = 16; next; mes "^0000ffSeasonal Magic^000000:^ff0000Eternal Summer^000000"; mes "First of all, you need to put and"; @@ -5209,7 +5172,7 @@ mosk_in,217,45,0 script #book_russia 111,{ //---------------------------------------------------------------------------- // Mixing Pot //---------------------------------------------------------------------------- -mosk_in,221,43,0 script #bowl 111,{ +mosk_in,221,43,0 script #bowl HIDDEN_NPC,{ if (mos_nowinter != 16) end; mes "-It is a very dirty pot."; mes "Something is boiling"; @@ -5217,55 +5180,55 @@ mosk_in,221,43,0 script #bowl 111,{ mes "with it."; mes "Well, let's get it started.-"; next; - setarray .@m$, "Powder Of Wing Of Bat","Liquid Of Spawn","Grasshopper's Leg","Starsand Of Witch","Fine Grit"; - while(1) { + setarray .@menu$[0], "Powder Of Wing Of Bat","Liquid Of Spawn","Grasshopper's Leg","Starsand Of Witch","Fine Grit"; + .@implode$ = implode( .@menu$,":" ); + while( .@nankai < 3 ) { mes "-Something is still being boiled in the pot."; mes "What am I going to do?-"; next; switch(select("Put the materials in it.:Pour water in it.:Stir it up.:It is over!")) { case 1: - set .@m, select (implode(.@m$,":")) - 1; - if ((!.@m && .@bat) || (.@m == 1 && .@mush) || (.@m == 2 && .@locker)) specialeffect EF_POISONHIT; + .@m = select( .@implode$ ) -1; + if ((!.@m && .@bat) || (.@m == 1 && .@mush) || (.@m == 2 && .@locker)) + specialeffect EF_POISONHIT; else { specialeffect EF_SMOKE; - if (!.@m) set .@bat,.@bat+1; - if (.@m == 1) set .@mush,.@mush+1; - if (.@m == 2) set .locker,.@locker+1; - set .@maho,.@maho+1; + if (.@m == 0) .@bat++; + if (.@m == 1) .@mush++; + if (.@m == 2) .locker++; + .@maho++;; } - if (.@m >= 3) specialeffect EF_POISONHIT; - set .@nankai,.@nankai+1; - mes "-I put the "+.@m$[.@m]+" in the pot."; + if (.@m >= 3) + specialeffect EF_POISONHIT; + .@nankai++; + mes "-I put the "+ .@menu$[.@m] +" in the pot."; mes "Its smell slightly changes.-"; - next; break; case 2: specialeffect EF_POISONHIT; - set .@nankai,.@nankai+1; + .@nankai++; mes "-I pour water in the pot a little."; mes "The liquid has become thin."; mes "No other remarkable changes"; mes "have happened.-"; - next; break; case 3: specialeffect EF_POISONHIT; - set .@nankai,.@nankai+1; + .@nankai++; mes "-I stir it up"; mes "with a stick several times."; mes "No other remarkable changes"; mes "have happened.-"; - next; break; case 4: specialeffect EF_POISONATTACK; mes "["+strcharinfo(0)+"]"; mes "I will tell Baba Yaga that"; mes "the work has been done."; - set mos_nowinter,17; + mos_nowinter = 17; close; } - if (.@nankai == 3) break; + next; } specialeffect EF_BUBBLE; mes "-The liquid has been changed"; @@ -5276,32 +5239,39 @@ mosk_in,221,43,0 script #bowl 111,{ mes "-Anyway, the first step is done"; mes "let's go on the next stage.-"; next; - while(1) { + while( .@nankai < 7 ) { mes "-Well, What am I going to do?-"; next; switch(select("Put the materials in it.:Pour water in it.:Stir it up.:It is over!")) { case 1: - set .@m, select (implode(.@m$,":")) - 1; + .@w = 0; + .@m = select( implode( .@menu$,":" ) ) -1; if (.@m >= 3) { if (.@nankai == 5 || .@nankai == 6) { - if ((.@m == 3 && .@star) || (.@m == 4 && .@sand)) specialeffect EF_POISONHIT; + if ((.@m == 3 && .@star) || (.@m == 4 && .@sand)) + specialeffect EF_POISONHIT; else { specialeffect EF_SMOKE; - set .@maho,.@maho+1; - if (.@m == 3) set .@star,.@star+1; - if (.@m == 4) set .@sand,.@sand+1; - set .@w, 1; + .@maho++; + if (.@m == 3) .@star++; + if (.@m == 4) .@sand++; + .@w = 1; } } else { specialeffect EF_POISONHIT; - if (.@m == 3) set .@star,.@star+1; - if (.@m == 4) set .@sand,.@sand+1; + if (.@m == 3) .@star++; + if (.@m == 4) .@sand++; } next; - } else specialeffect EF_POISONHIT; - set .@nankai,.@nankai+1; - mes "-I put the "+.@m$[.@m]+" in the pot."; - mes (.@m <= 2)?"It's smell drastically changes.-":"Its "+((.@w)?"smell":"color")+" slightly changes.-"; + } + else + specialeffect EF_POISONHIT; + .@nankai++; + mes "-I put the "+ .@menu$[.@m] +" in the pot."; + if (.@m <= 2) + mes "It's smell drastically changes.-"; + else + mes "Its "+ ( .@w ? "smell" : "color" ) +" slightly changes.-"; break; case 2: if (.@nankai == 3) { @@ -5310,15 +5280,12 @@ mosk_in,221,43,0 script #bowl 111,{ mes "something in the cloudy liquid"; mes "has changed.-"; specialeffect EF_DRAGONSMOKE; - set .@maho,.@maho+1; - set .@nankai,.@nankai+1; - next; + .@maho++; } else { specialeffect EF_POISONHIT; mes "-I pour water in the pot and, the liquid gets thin.-"; - set .@nankai,.@nankai+1; - next; } + .@nankai++; break; case 3: if (.@nankai == 4) { @@ -5335,43 +5302,38 @@ mosk_in,221,43,0 script #bowl 111,{ mes "brighter and"; mes "its smell gets"; mes "more bearable."; - set .@maho,.@maho+1; - set .@nankai,.@nankai+1; - next; - } else if (!.@input) { + .@maho++; + .@nankai++; + } else if (!.@input) mes "-I won't stir it up.-"; - next; - } else if (.@input > 100) { + else if (.@input > 100) { mes "-It won't be able"; mes "to stir so many times."; mes "Let me think again.-"; - next; } else { mes "-Yes, it must be " + .@input + " times.-"; next; mes "-I stir it up really hard."; mes "It is boiled.-"; - set .@nankai,.@nankai+1; - next; + .@nankai++; } } else { mes "-Bubble, bubble-"; next; mes "["+strcharinfo(0)+"]"; mes "Something changed?"; - set .@nankai,.@nankai+1; - next; + .@nankai++; } break; case 4: mes "["+strcharinfo(0)+"]"; mes "I will tell Baba Yaga that"; mes "it has been done."; - set mos_nowinter,17; + mos_nowinter = 17; specialeffect EF_POISONATTACK; close; } - if (.@nankai == 7) break; + next; } mes "-I am sure that the book told me"; mes "to wait for some time.-"; @@ -5384,45 +5346,53 @@ mosk_in,221,43,0 script #bowl 111,{ mes "the pot has changed enough."; mes "Let's go on to the next stage.-"; next; - set .@w, 0; + setarray .@menu2$, "Witched Starsand","Fine Grit","Detonator","Red Blood","Burning Heart"; + setarray .@menu3$, "Witched Starsand","Fine Grit","Detonator","Red Blood","Burning Heart","Piece Of Diamond"; + .@implode2$ = implode( .@menu2$,":" ); + .@implode3$ = implode( .@menu3$,":" ); while(1) { mes "-Well, What am I going to do?-"; next; switch(select("Put the materials in it.:Pour water in it.:Stir it up.:It is over!")) { case 1: + .@w = 0; if (.@nankai != 11) { - setarray .@m2$, "Witched Starsand","Fine Grit","Detonator","Red Blood","Burning Heart"; - set .@m, select (implode(.@m2$,":")) - 1; + .@m = select( .@implode2$ ) -1; if ((.@m == 2 && .@nankai == 9) || (.@m == 3 && .@nankai == 8) || (.@m == 4 && .@nankai == 10)) { specialeffect EF_SMOKE; - set .@maho,.@maho+1; + .@maho++; } else { specialeffect EF_POISONHIT; - set .@w, 1; + .@w = 1; } - if (.@m <= 1) specialeffect EF_POISONHIT; - set .@nankai,.@nankai+1; - mes "-I put the "+.@m2$[.@m]+" in the pot."; - mes (.@m <= 1)?"Its smell slightly changes.-":((.@w)?"The smell gets worse.-":"The smell has been changed a little.-"); + if (.@m <= 1) + specialeffect EF_POISONHIT; + .@nankai++; + mes "-I put the "+ .@menu2$[.@m] +" in the pot."; + if (.@m <= 1) + mes "Its smell slightly changes.-"; + else + mes ( .@w ? "The smell gets worse.-" : "The smell has been changed a little.-" ); } else { - setarray .@m3$, "Witched Starsand","Fine Grit","Detonator","Red Blood","Burning Heart","Piece Of Diamond"; - set .@m, select (implode(.@m3$,":")) - 1; - if (.@m != 5) specialeffect EF_POISONHIT; + .@m = select( .@implode3$ ) -1; + if (.@m != 5) + specialeffect EF_POISONHIT; else { - set .@maho,.@maho+1; + .@maho++; specialeffect EF_SMOKE; } - set .@nankai,.@nankai+1; - mes "-I put "+((.@m == 5)?"a":"the")+" "+.@m3$[.@m]+" in the pot."; - mes (.@m == 5)?"The solution alters in color.-":"The smell gets worse.-"; + .@nankai++; + mes "-I put "+((.@m == 5)?"a":"the")+" "+ .@menu3$[.@m] +" in the pot."; + if (.@m == 5) + mes "The solution alters in color.-"; + else + mes "The smell gets worse.-"; } - next; break; case 2: - set .@nankai,.@nankai+1; + .@nankai++; mes "-I pour water in the pot a little."; mes "The smell gets better.-"; - next; break; case 3: if (.@nankai == 7) { @@ -5437,55 +5407,51 @@ mosk_in,221,43,0 script #bowl 111,{ specialeffect EF_WIND; mes "-Stirring up makes it"; mes "brighter.-"; - set .@maho,.@maho+1; - set .@nankai,.@nankai+1; - next; - } else if (.@input == 0) { + .@maho++; + .@nankai++; + } else if (.@input == 0) mes "-I won't stir it up.-"; - next; - } else if (.@input > 100) { + else if (.@input > 100) { mes "-It won't be to"; mes "stir so many times."; mes "Let me think again.-"; - next; } else { mes "-Yes, it must be " + .@input + " times.-"; next; mes "-I stir it up really hard."; mes "It is boiled.-"; - set .@nankai,.@nankai+1; - next; + .@nankai++; } } else { mes "-Bubble, bubble-"; next; mes "["+strcharinfo(0)+"]"; mes "Something changed?"; - set .@nankai,.@nankai+1; - next; + .@nankai++; } break; case 4: mes "-It seems that the work is over."; mes "I need to show this to Baba Yaga.-"; if (.@maho == 12) { - set mos_nowinter,18; + mos_nowinter = 18; specialeffect EF_GASPUSH; close; } specialeffect EF_POISONATTACK; - set mos_nowinter,17; + mos_nowinter = 17; close; } + next; } } //---------------------------------------------------------------------------- // Center of Town //---------------------------------------------------------------------------- -moscovia,224,190,0 script #nowinterplz 844,{ +moscovia,224,190,0 script #nowinterplz CLEAR_NPC,{ if (mos_nowinter != 19) end; - if (countitem(7765)) { + if (countitem(7765)) {// Yaga_Secret_Medicine mes "["+strcharinfo(0)+"]"; mes "This place must be"; mes "the center of town..."; @@ -5498,7 +5464,8 @@ moscovia,224,190,0 script #nowinterplz 844,{ mes "Secret Medicine.-"; delitem 7765,1; specialeffect EF_BARRIER; - set mos_nowinter,20; + mos_nowinter = 20; + changequest 18078,18079; next; mes "-You feel like your"; mes "body is heating up."; @@ -5523,38 +5490,32 @@ moscovia,224,190,0 script #nowinterplz 844,{ //---------------------------------------------------------------------------- // Villagers //---------------------------------------------------------------------------- -moscovia,252,203,5 script A Little Girl#mos1 958,{ +moscovia,252,203,5 script A Little Girl#mos1 4_F_RUSCHILD,{ if (mos_nowinter == 10) { - if (mos_kid == 1) { + if (mos_kid == 0) { + .@kid = rand(1,100); + select("Do you like the warm weather, little girl?"); mes "[Yosefina]"; - mes "Baba Yaga, the Horrible Cannibal"; - mes "is living outside the town."; + if (.@kid > 70) { + mes "Yes, I like it very much~"; + mes "I never want it to leave. I don't want winter to come."; + specialeffect2 EF_SUMMONSLAVE; + mos_kid = 1; + if (mos_middle == 1 && mos_elder == 1) { + mos_nowinter = 11; + changequest 18075,18076; + } + close; + } + mes "Yes, I like it very much~"; + mes "But, as soon as the sun sets I must go back home."; next; mes "[Yosefina]"; - mes "My mom told me."; - mes "that she is real."; + mes "Baba Yaga kidnaps"; + mes "bad kids wandering"; + mes "in the night, I heard."; close; } - set .@kid,rand(1,100); - select("Do you like the warm weather, little girl?"); - if (.@kid > 70) { - mes "[Yosefina]"; - mes "Yes, I like it very much~"; - mes "I never want it to leave. I don't want winter to come."; - specialeffect2 EF_SUMMONSLAVE; - set mos_kid,1; - if (mos_middle == 1 && mos_elder == 1) set mos_nowinter,11; - close; - } - mes "[Yosefina]"; - mes "Yes, I like it very much~"; - mes "But, as soon as the sun sets I must go back home."; - next; - mes "[Yosefina]"; - mes "Baba Yaga kidnaps"; - mes "bad kids wandering"; - mes "in the night, I heard."; - close; } mes "[Yosefina]"; mes "Baba Yaga, the Horrible Cannibal"; @@ -5566,35 +5527,32 @@ moscovia,252,203,5 script A Little Girl#mos1 958,{ close; } -moscovia,233,204,3 script A Young Man#mos2 968,{ +moscovia,233,204,3 script A Young Man#mos2 4_M_RUSMAN2,{ if (mos_nowinter == 10) { - if (mos_middle == 1) { + if (mos_middle == 0) { + select("You don't like winter, do you?"); + .@kid = rand(1,100); mes "[Fedor]"; - mes "Finally, winter is over."; - mes "Spring is coming"; - mes "to my mind..."; - close; - } - select("You don't like winter, do you?"); - set .@kid,rand(1,100); - if (.@kid > 70) { + if (.@kid > 70) { + mes "No, I don't like the cold winter."; + mes "And I get angry when"; + mes "seeing couples."; + specialeffect2 EF_SUMMONSLAVE; + mos_middle = 1; + if (mos_kid == 1 && mos_elder == 1) { + mos_nowinter = 11; + changequest 18075,18076; + } + close; + } + mes "Huuuu, I wish I could have a girlfriend"; + mes "I would be able to enjoy the warm sunlight better..."; + next; mes "[Fedor]"; - mes "No, I don't like the cold winter."; - mes "And I get angry when"; - mes "seeing couples."; - specialeffect2 EF_SUMMONSLAVE; - set mos_middle,1; - if (mos_kid == 1 && mos_elder == 1) set mos_nowinter,11; + mes "Who are you?"; + mes "Don't make matters worse!"; close; } - mes "[Fedor]"; - mes "Huuuu, I wish I could have a girlfriend"; - mes "I would be able to enjoy the warm sunlight better..."; - next; - mes "[Fedor]"; - mes "Who are you?"; - mes "Don't make matters worse!"; - close; } mes "[Fedor]"; mes "Finally, winter is over."; @@ -5603,37 +5561,30 @@ moscovia,233,204,3 script A Young Man#mos2 968,{ close; } -moscovia,219,229,5 script A Middle-Aged Man#mos3 964,{ +moscovia,219,229,5 script A Middle-Aged Man#mos3 4_M_RUSBALD,{ if (mos_nowinter == 10) { - if (mos_elder == 1) { - mes "[Viktor]"; - mes "Our people are very, very"; - mes "proud of their strength and"; - mes "invincible spirits."; - next; - mes "[Viktor]"; - mes "It doesn't matter to us"; - mes "how cold the winter is!"; - close; - } - select("Whoever likes the winter?"); - if (rand(1,100) > 70) { + if (mos_elder == 0) { + select("Whoever likes the winter?"); mes "[Viktor]"; - mes "Tell me about it!"; - mes "Everyone will be sad"; - mes "when it comes again."; - mes "I don't want winter to come."; - specialeffect2 EF_SUMMONSLAVE; - set mos_elder,1; - if (mos_kid == 1 && mos_middle == 1) set mos_nowinter,11; + if (rand(1,100) > 70) { + mes "Tell me about it!"; + mes "Everyone will be sad"; + mes "when it comes again."; + mes "I don't want winter to come."; + specialeffect2 EF_SUMMONSLAVE; + mos_elder = 1; + if (mos_kid == 1 && mos_middle == 1) { + mos_nowinter = 11; + changequest 18075,18076; + } + close; + } + mes "Hmm, do you think so..."; + mes "I am too familiar with both"; + mes "summer and winter to care much for"; + mes "one over the other."; close; } - mes "[Viktor]"; - mes "Hmm, do you think so..."; - mes "I am too familiar with both"; - mes "summer and winter to care much for"; - mes "one over the other."; - close; } mes "[Viktor]"; mes "Our people are very, very"; @@ -5646,68 +5597,56 @@ moscovia,219,229,5 script A Middle-Aged Man#mos3 964,{ close; } -moscovia,255,203,3 script A Little Boy#mos4 962,{ +moscovia,255,203,3 script A Little Boy#mos4 4_M_RUSCHILD,{ + mes "[Vasili]"; + mes "Wow, he is"; + mes "an adventurer, an adventurer!!"; + next; if (mos_nowinter == 10) { - if (mos_kid == 1) { + if (mos_kid == 0) { mes "[Vasili]"; - mes "Wow, he is"; - mes "an adventurer, an adventurer!!"; - next; - mes "[Vasili]"; - mes "Tell me your exciting story."; - mes "Have you fought a dragon?"; - mes "Where is your gold-shining sword and shield?"; - mes "Where?"; - close; - } - mes "[Vasili]"; - mes "Wow, he is"; - mes "an adventurer, an adventurer!!"; - next; - mes "[Vasili]"; - mes "Why did you come here?"; - mes "Don't you have any colleague?"; - mes "I heard that the heroes in epics were tall,"; - mes "but, why are you so small?"; - mes "Where is your gold-shining sword?"; - mes "I heard that the armor glittered white,"; - mes "but, why don't you have on the armor?"; - mes "Won't you go for another adventure?"; - mes "How can you do it in the cold and snowy winter?"; - next; - select("I will go if it gets warm."); - if (rand(1,100) > 70) { + mes "Why did you come here?"; + mes "Don't you have any colleague?"; + mes "I heard that the heroes in epics were tall,"; + mes "but, why are you so small?"; + mes "Where is your gold-shining sword?"; + mes "I heard that the armor glittered white,"; + mes "but, why don't you have on the armor?"; + mes "Won't you go for another adventure?"; + mes "How can you do it in the cold and snowy winter?"; + next; + select("I will go if it gets warm."); mes "[Vasili]"; - mes "Will you? I will also"; - mes "go out for adventures"; - mes "with shining armor and"; - mes "a long and heavy sword"; - mes "some day."; + if (rand(1,100) > 70) { + mes "Will you? I will also"; + mes "go out for adventures"; + mes "with shining armor and"; + mes "a long and heavy sword"; + mes "some day."; + next; + specialeffect2 EF_SUMMONSLAVE; + mes "[Vasili]"; + mes "If winter is gone,"; + mes "it is much easier to go on adventures."; + mos_kid = 1; + if (mos_middle == 1 && mos_elder == 1) { + mos_nowinter = 11; + changequest 18075,18076; + } + close; + } + mes "Ah, when are you leaving?"; + mes "Where are you going this time?"; next; - specialeffect2 EF_SUMMONSLAVE; mes "[Vasili]"; - mes "If winter is gone,"; - mes "it is much easier to go on adventures."; - set mos_kid,1; - if (mos_middle == 1 && mos_elder == 1) set mos_nowinter,11; + mes "Will you go to slay the dragon,"; + mes "that breathes fire and can"; + mes "exterminates 10 men by flapping"; + mes "its wings once?"; close; } - mes "[Vasili]"; - mes "Ah, when are you leaving?"; - mes "Where are you going this time?"; - next; - mes "[Vasili]"; - mes "Will you go to slay the dragon,"; - mes "that breathes fire and can"; - mes "exterminates 10 men by flapping"; - mes "its wings once?"; - close; } mes "[Vasili]"; - mes "Wow, he is"; - mes "an adventurer, an adventurer!!"; - next; - mes "[Vasili]"; mes "Tell me your exciting story."; mes "Have you fought a dragon?"; mes "Where is your gold-shining sword and shield?"; @@ -5715,38 +5654,34 @@ moscovia,255,203,3 script A Little Boy#mos4 962,{ close; } -moscovia,204,188,5 script A Lady#mos5 959,{ +moscovia,204,188,5 script A Lady#mos5 4_F_RUSWOMAN1,{ if (mos_nowinter == 10) { - if (mos_middle == 1) { - mes "[Katya]"; - mes "The spring has come~"; - next; - mes "[Katya]"; - mes "A million sunflowers are blooming~"; - close; - } - select("You look good today."); - if (rand(1,100) > 70) { + if (mos_middle == 0) { + select("You look good today."); mes "[Katya]"; + if (rand(1,100) > 70) { + mes "Yes, I feel good."; + mes "When it gets warm, sunflowers bloom."; + mes "The sunflower is the symbol"; + mes "of this province."; + next; + specialeffect2 EF_SUMMONSLAVE; + mes "[Katya]"; + mes "I wish that winter never comes back and"; + mes "I could see sunflowers everyday."; + mos_middle = 1; + if (mos_kid == 1 && mos_elder == 1) { + mos_nowinter = 11; + changequest 18075,18076; + } + close; + } mes "Yes, I feel good."; mes "When it gets warm, sunflowers bloom."; mes "The sunflower is the symbol"; mes "of this province."; - next; - specialeffect2 EF_SUMMONSLAVE; - mes "[Katya]"; - mes "I wish that winter never comes back and"; - mes "I could see sunflowers everyday."; - set mos_middle,1; - if (mos_kid == 1 && mos_elder == 1) set mos_nowinter,11; close; } - mes "[Katya]"; - mes "Yes, I feel good."; - mes "When it gets warm, sunflowers bloom."; - mes "The sunflower is the symbol"; - mes "of this province."; - close; } mes "[Katya]"; mes "The spring has come~"; @@ -5756,42 +5691,36 @@ moscovia,204,188,5 script A Lady#mos5 959,{ close; } -moscovia,167,97,3 script A Lady#mos6 961,{ +moscovia,167,97,3 script A Lady#mos6 4_F_RUSWOMAN3,{ if (mos_nowinter == 10) { - if (mos_elder == 1) { - mes "[Roza]"; - mes "Naughty children get too"; - mes "excited in the warm days."; - next; + if (mos_elder == 0) { + select("The weather is getting warmer."); mes "[Roza]"; - mes "Where is the sun?"; - mes "Where is it hiding?"; - close; - } - select("The weather is getting warmer."); - if (rand(1,100) > 70) { - mes "[Roza]"; - mes "Yes, kids like it and"; - mes "flowers are blooming."; + if (rand(1,100) > 70) { + mes "Yes, kids like it and"; + mes "flowers are blooming."; + next; + specialeffect2 EF_SUMMONSLAVE; + mes "[Roza]"; + mes "Whoever likes the cold and dark winter?"; + mes "I hope this weather last forever."; + mos_elder = 1; + if (mos_kid == 1 && mos_middle == 1) { + mos_nowinter = 11; + changequest 18075,18076; + } + close; + } + mes "In the warm days,"; + mes "I'm in trouble."; + mes "It's too hard to control"; + mes "the children."; next; - specialeffect2 EF_SUMMONSLAVE; mes "[Roza]"; - mes "Whoever likes the cold and dark winter?"; - mes "I hope this weather last forever."; - set mos_elder,1; - if (mos_kid == 1 && mos_middle == 1) set mos_nowinter,11; + mes "I think"; + mes "I need winter again."; close; } - mes "[Roza]"; - mes "In the warm days,"; - mes "I'm in trouble."; - mes "It's too hard to control"; - mes "the children."; - next; - mes "[Roza]"; - mes "I think"; - mes "I need winter again."; - close; } mes "[Roza]"; mes "Naughty children get too"; @@ -5803,51 +5732,35 @@ moscovia,167,97,3 script A Lady#mos6 961,{ close; } -moscovia,202,102,3 script A Little Boy#mos7 962,{ +moscovia,202,102,3 script A Little Boy#mos7 4_M_RUSCHILD,{ if (mos_nowinter == 10) { - if (mos_kid == 1) { - mes "[Feliks]"; - mes "This is the story"; - mes "about a terrible dragon."; - next; - mes "[Feliks]"; - mes "It is sleeping"; - mes "in its lair,"; - mes "but, it destroys everything"; - mes "around it when it awakes."; - next; - mes "[Feliks]"; - mes "This came from my grandma's"; - mes "grandma's grandma's"; - mes "grandma's grandma's"; - mes "grandma's grandma."; - close; - } - select("Do you like mysterious stories?"); - if (rand(1,100) > 70) { + if (mos_kid == 0) { + select("Do you like mysterious stories?"); mes "[Feliks]"; - mes "Yes, I love them."; - mes "But, in winter,"; - mes "nobody comes out of their homes."; - mes "So it's not very fun."; - next; - specialeffect2 EF_SUMMONSLAVE; - mes "[Feliks]"; - mes "If winter never comes"; - mes "I can have"; - mes "fun all the time..."; - set mos_kid,1; - if (mos_middle == 1 && mos_elder == 1) { - set mos_nowinter,11; + if (rand(1,100) > 70) { + mes "Yes, I love them."; + mes "But, in winter,"; + mes "nobody comes out of their homes."; + mes "So it's not very fun."; + next; + specialeffect2 EF_SUMMONSLAVE; + mes "[Feliks]"; + mes "If winter never comes"; + mes "I can have"; + mes "fun all the time..."; + mos_kid = 1; + if (mos_middle == 1 && mos_elder == 1) { + mos_nowinter = 11; + changequest 18075,18076; + } + close; } + mes "Yes, my Grandma told me"; + mes "fairy-tales."; + mes "The winter is cold, but"; + mes "it is fun to hear them."; close; } - mes "[Feliks]"; - mes "Yes, my Grandma told me"; - mes "fairy-tales."; - mes "The winter is cold, but"; - mes "it is fun to hear them."; - close; } mes "[Feliks]"; mes "This is the story"; @@ -5867,86 +5780,74 @@ moscovia,202,102,3 script A Little Boy#mos7 962,{ close; } -moscovia,220,172,3 script A Young Man#mos8 968,{ +moscovia,220,172,3 script A Young Man#mos8 4_M_RUSMAN2,{ + mes "[Ilyav]"; + mes "I am going to adventure"; + mes "to experience new worlds"; + mes "as you do."; if (mos_nowinter == 10) { - if (mos_middle == 1) { - mes "[Ilyav]"; - mes "I am going to adventure"; - mes "to experience new worlds"; - mes "as you do."; - close; - } - mes "[Ilyav]"; - mes "I am going to adventure"; - mes "to experience new worlds"; - mes "as you do."; - next; - select("When do you feel good?"); - if (rand(1,100) > 70) { - mes "[Ilyav]"; - mes "When the weather is as good as recently"; - mes "I feel an impulse to adventure"; - mes "many times a day."; + if (mos_middle == 0) { next; - specialeffect2 EF_SUMMONSLAVE; + select("When do you feel good?"); mes "[Ilyav]"; - mes "But, I don't want to in the cold winter."; - mes "Hu, if the weather everday was as good as lately,"; - mes "I would like to go out a lot more."; - mes "I hate winter..."; - set mos_middle,1; - if (mos_kid == 1 && mos_elder == 1) set mos_nowinter,11; - close; + if (rand(1,100) > 70) { + mes "When the weather is as good as recently"; + mes "I feel an impulse to adventure"; + mes "many times a day."; + next; + specialeffect2 EF_SUMMONSLAVE; + mes "[Ilyav]"; + mes "But, I don't want to in the cold winter."; + mes "Hu, if the weather everday was as good as lately,"; + mes "I would like to go out a lot more."; + mes "I hate winter..."; + mos_middle = 1; + if (mos_kid == 1 && mos_elder == 1) { + mos_nowinter = 11; + changequest 18075,18076; + } + close; + } + mes "Well..."; + mes "I don't know."; + mes "I just am sometimes."; } - mes "[Ilyav]"; - mes "Well..."; - mes "I don't know."; - mes "I just am sometimes."; - close; } - mes "[Ilyav]"; - mes "I am going to adventure"; - mes "to experience new worlds"; - mes "as you do."; close; } -moscovia,253,175,3 script A Man#mos9 964,{ +moscovia,253,175,3 script A Man#mos9 4_M_RUSBALD,{ if (mos_nowinter == 10) { - if (mos_elder == 1) { - mes "[Orek]"; - mes "The present Csar is a bit strict and"; - mes "terrible, but"; - mes "he actually loves"; - mes "his people."; - close; - } - select("What do you usually do in winter?"); - if (rand(1,100) > 70) { + if (mos_elder == 0) { + select("What do you usually do in winter?"); mes "[Orek]"; - mes "It is too cold in winter so I don't go outside."; - mes "There's so much snow that it makes it hard to go"; - mes "around here and there."; + if (rand(1,100) > 70) { + mes "It is too cold in winter so I don't go outside."; + mes "There's so much snow that it makes it hard to go"; + mes "around here and there."; + next; + specialeffect2 EF_SUMMONSLAVE; + mes "[Orek]"; + mes "In winter, fishing is more difficult,"; + mes "anyway, it is bad for us."; + mes "I think it would be ok if we never had winter again."; + mos_elder = 1; + if (mos_kid == 1 && mos_middle == 1) { + mos_nowinter = 11; + changequest 18075,18076; + } + close; + } + mes "It snows a lot in winter and"; + mes "gets too cold."; + mes "So, we don't go outside"; + mes "without a particular reason."; next; - specialeffect2 EF_SUMMONSLAVE; mes "[Orek]"; - mes "In winter, fishing is more difficult,"; - mes "anyway, it is bad for us."; - mes "I think it would be ok if we never had winter again."; - set mos_elder,1; - if (mos_kid == 1 && mos_middle == 1) set mos_nowinter,11; + mes "My family just sits beside the pechka and talks,"; + mes "hoping that winter passes by soon."; close; } - mes "[Orek]"; - mes "It snows a lot in winter and"; - mes "gets too cold."; - mes "So, we don't go outside"; - mes "without a particular reason."; - next; - mes "[Orek]"; - mes "My family just sits beside the pechka and talks,"; - mes "hoping that winter passes by soon."; - close; } mes "[Orek]"; mes "The present Csar is a bit strict and"; @@ -5956,49 +5857,7 @@ moscovia,253,175,3 script A Man#mos9 964,{ close; } -moscovia,168,135,3 script A Lady#mos10 961,{ - if (mos_nowinter == 10) { - if (mos_elder == 1) { - mes "[Kyra]"; - mes "I've seen many people"; - mes "from other provinces recently."; - next; - mes "[Kyra]"; - mes "This used to not"; - mes "be a tourist town."; - mes "What happened...?"; - close; - } - mes "[Kyra]"; - mes "I've seen many people"; - mes "from other provinces recently."; - next; - mes "[Kyra]"; - mes "This used to not"; - mes "be a tourist town."; - mes "What happened...?"; - next; - select("Here it is warm and good."); - if (rand(1,100) > 70) { - mes "[Kyra]"; - mes "Hohoho, that may be true now."; - mes "But, you don't even know how cold it gets here in winter."; - mes "You wouldn't even want to go outside."; - next; - specialeffect2 EF_SUMMONSLAVE; - mes "[Kyra]"; - mes "It is good to stay with my family, but"; - mes "nobody likes the cold winter."; - set mos_elder,1; - if (mos_kid == 1 && mos_middle == 1) set mos_nowinter,11; - close; - } - mes "[Kyra]"; - mes "Hohoho, that may be true now."; - mes "But, you don't even know how cold it gets here in winter."; - mes "You wouldn't even want to go outside."; - close; - } +moscovia,168,135,3 script A Lady#mos10 4_F_RUSWOMAN3,{ mes "[Kyra]"; mes "I've seen many people"; mes "from other provinces recently."; @@ -6007,103 +5866,76 @@ moscovia,168,135,3 script A Lady#mos10 961,{ mes "This used to not"; mes "be a tourist town."; mes "What happened...?"; + if (mos_nowinter == 10) { + if (mos_elder == 0) { + next; + select("Here it is warm and good."); + mes "[Kyra]"; + if (rand(1,100) > 70) { + mes "Hohoho, that may be true now."; + mes "But, you don't even know how cold it gets here in winter."; + mes "You wouldn't even want to go outside."; + next; + specialeffect2 EF_SUMMONSLAVE; + mes "[Kyra]"; + mes "It is good to stay with my family, but"; + mes "nobody likes the cold winter."; + mos_elder = 1; + if (mos_kid == 1 && mos_middle == 1) { + mos_nowinter = 11; + changequest 18075,18076; + } + close; + } + mes "Hohoho, that may be true now."; + mes "But, you don't even know how cold it gets here in winter."; + mes "You wouldn't even want to go outside."; + } + } close; } -moscovia,192,80,3 script A Lady#mos11 959,{ +moscovia,192,80,3 script A Lady#mos11 4_F_RUSWOMAN1,{ + mes "[Sabina]"; + mes "Sunflowers are squeezed for oil and"; + mes "their bodies are used for medicinal purposes."; + mes "They are very useful."; if (mos_nowinter == 10) { - if (mos_middle == 1) { - mes "[Sabina]"; - mes "Sunflowers are squeezed for oil and"; - mes "their bodies are used for medicinal purposes."; - mes "They are very useful."; - close; - } - mes "[Sabina]"; - mes "Sunflowers are squeezed for oil and"; - mes "their bodies are used for medicinal purposes."; - mes "They are very useful."; - next; - select("When do sunflowers bloom?"); - if (rand(1,100) > 70) { + if (mos_middle == 0) { + next; + select("When do sunflowers bloom?"); mes "[Sabina]"; + if (rand(1,100) > 70) { + mes "They start to bloom"; + mes "from the late summer."; + mes "You cannot help being"; + mes "attracted to sunflowers,"; + mes "if you see the spectacular scene"; + mes "of a field filled up with them."; + next; + mes "[Sabina]"; + mes "If the summer continues to last,"; + mes "I can see them all the time..."; + specialeffect2 EF_SUMMONSLAVE; + mos_middle = 1; + if (mos_kid == 1 && mos_elder == 1) { + mos_nowinter = 11; + changequest 18075,18076; + } + close; + } mes "They start to bloom"; mes "from the late summer."; mes "You cannot help being"; mes "attracted to sunflowers,"; mes "if you see the spectacular scene"; mes "of a field filled up with them."; - next; - mes "[Sabina]"; - mes "If the summer continues to last,"; - mes "I can see them all the time..."; - specialeffect2 EF_SUMMONSLAVE; - set mos_middle,1; - if (mos_kid == 1 && mos_elder == 1) set mos_nowinter,11; - close; } - mes "[Sabina]"; - mes "They start to bloom"; - mes "from the late summer."; - mes "You cannot help being"; - mes "attracted to sunflowers,"; - mes "if you see the spectacular scene"; - mes "of a field filled up with them."; - close; } - mes "[Sabina]"; - mes "Sunflowers are squeezed for oil and"; - mes "their bodies are used for medicinal purposes."; - mes "They are very useful."; close; } -moscovia,211,215,5 script A Young Man#mos12 967,{ - if (mos_nowinter == 10) { - if (mos_middle == 1) { - mes "[Izlof]"; - mes "There is a old saying,"; - mes "'an opportunity is a chance.'"; - next; - mes "[Izlof]"; - mes "It is best to confess"; - mes "to ladies in the warm weather,"; - mes "when their minds wander"; - mes "like right now!"; - close; - } - mes "[Izlof]"; - mes "There is a old saying,"; - mes "'an opportunity is a chance.'"; - next; - mes "[Izlof]"; - mes "It is best to confess"; - mes "to ladies in the warm weather,"; - mes "when their minds wander"; - mes "right now!"; - next; - select("It's good to have warm weather."); - if (rand(1,100) > 70) { - mes "[Izlof]"; - mes "Of course."; - mes "From now on, it is my golden age of opportunity!"; - next; - specialeffect2 EF_SUMMONSLAVE; - mes "[Izlof]"; - mes "If it is the summer all the time,"; - mes "my life will be in an amorous mood."; - mes "Hahaha!"; - mes "I don't want winter to come."; - set mos_middle,1; - if (mos_kid == 1 && mos_elder == 1) set mos_nowinter,11; - close; - } - mes "[Izlof]"; - mes "Of course."; - mes "The cold winter has gone."; - mes "From now on, it is my golden age!"; - close; - } +moscovia,211,215,5 script A Young Man#mos12 4_M_RUSMAN1,{ mes "[Izlof]"; mes "There is a old saying,"; mes "'an opportunity is a chance.'"; @@ -6113,101 +5945,107 @@ moscovia,211,215,5 script A Young Man#mos12 967,{ mes "to ladies in the warm weather,"; mes "when their minds wander"; mes "right now!"; + if (mos_nowinter == 10) { + if (mos_middle == 0) { + next; + select("It's good to have warm weather."); + mes "[Izlof]"; + if (rand(1,100) > 70) { + mes "Of course."; + mes "From now on, it is my golden age of opportunity!"; + next; + specialeffect2 EF_SUMMONSLAVE; + mes "[Izlof]"; + mes "If it is the summer all the time,"; + mes "my life will be in an amorous mood."; + mes "Hahaha!"; + mes "I don't want winter to come."; + mos_middle = 1; + if (mos_kid == 1 && mos_elder == 1) { + mos_nowinter = 11; + changequest 18075,18076; + } + close; + } + mes "Of course."; + mes "The cold winter has gone."; + mes "From now on, it is my golden age!"; + } + } close; } -moscovia,149,112,3 script A Man#mos13 964,{ +moscovia,149,112,3 script A Man#mos13 4_M_RUSBALD,{ + mes "[Lev]"; + mes "I was once like you,"; + mes "with a hot heart and cool reason,"; + mes "adventuring everywhere and"; + mes "coping with all the troubles..."; if (mos_nowinter == 10) { - if (mos_elder == 1) { - mes "[Lev]"; - mes "I was once like you,"; - mes "with a hot heart and cool reason,"; - mes "adventuring everywhere and"; - mes "coping with all the troubles..."; - close; - } - mes "[Lev]"; - mes "I was once like you,"; - mes "with a hot heart and cool reason,"; - mes "adventuring everywhere and"; - mes "coping with all the troubles..."; - next; - select("You need to take a rest."); - if (rand(1,100) > 70) { + if (mos_elder == 0) { + next; + select("You need to take a rest."); mes "[Lev]"; + if (rand(1,100) > 70) { + mes "Yes, under the warm sunlight,"; + mes "I like to rest."; + next; + specialeffect2 EF_SUMMONSLAVE; + mes "[Lev]"; + mes "I hope that this warm weather"; + mes "will last forever."; + mes "I hate the cold winter."; + mos_elder = 1; + if (mos_kid == 1 && mos_middle == 1) { + mos_nowinter = 11; + changequest 18075,18076; + } + close; + } mes "Yes, under the warm sunlight,"; mes "I like to rest."; next; - specialeffect2 EF_SUMMONSLAVE; mes "[Lev]"; - mes "I hope that this warm weather"; - mes "will last forever."; - mes "I hate the cold winter."; - set mos_elder,1; - if (mos_kid == 1 && mos_middle == 1) set mos_nowinter,11; - close; + mes "But, I am still alive!"; + mes "I don't want to hear talk"; + mes "like that from you."; } - mes "[Lev]"; - mes "Yes, under the warm sunlight,"; - mes "I like to rest."; - next; - mes "[Lev]"; - mes "But, I am still alive!"; - mes "I don't want to hear talk"; - mes "like that from you."; - close; } - mes "[Lev]"; - mes "I was once like you,"; - mes "with a hot heart and cool reason,"; - mes "adventuring everywhere and"; - mes "coping with all the troubles..."; close; } -moscovia,196,71,3 script A Young Man#mos14 968,{ +moscovia,196,71,3 script A Young Man#mos14 4_M_RUSMAN2,{ + mes "[Fredek]"; + mes "The men here grow up"; + mes "after going through tough waves in"; + mes "the vast sea"; if (mos_nowinter == 10) { - if (mos_middle == 1) { - mes "[Fredek]"; - mes "The men here grow up"; - mes "after going through tough waves in"; - mes "the vast sea"; + if (mos_middle == 0) { next; + select("However, if winter comes..."); mes "[Fredek]"; - mes "Do you like"; - mes "sailing?"; - close; - } - mes "[Fredek]"; - mes "The men here grow up"; - mes "after going through tough waves in"; - mes "the vast sea"; - next; - select("However, if winter comes..."); - if (rand(1,100) > 70) { - mes "[Fredek]"; - mes "Yes, in winter the"; - mes "sea is frozen, so it"; - mes "is impossible to sail."; - next; - specialeffect2 EF_SUMMONSLAVE; - mes "[Fredek]"; - mes "I hope that winter never comes."; - mes "It is my dream."; - set mos_middle,1; - if (mos_kid == 1 && mos_elder == 1) set mos_nowinter,11; + if (rand(1,100) > 70) { + mes "Yes, in winter the"; + mes "sea is frozen, so it"; + mes "is impossible to sail."; + next; + specialeffect2 EF_SUMMONSLAVE; + mes "[Fredek]"; + mes "I hope that winter never comes."; + mes "It is my dream."; + mos_middle = 1; + if (mos_kid == 1 && mos_elder == 1) { + mos_nowinter = 11; + changequest 18075,18076; + } + close; + } + mes "Although I won't be able"; + mes "to sail, my passion is not"; + mes "cooled down from winter."; close; } - mes "[Fredek]"; - mes "Although I won't be able"; - mes "to sail, my passion is not"; - mes "cooled down from winter."; - close; } - mes "[Fredek]"; - mes "The men here grow up"; - mes "after going through tough waves in"; - mes "the vast sea"; next; mes "[Fredek]"; mes "Do you like"; @@ -6215,95 +6053,80 @@ moscovia,196,71,3 script A Young Man#mos14 968,{ close; } -moscovia,234,168,5 script A Man#mos15 964,{ +moscovia,234,168,5 script A Man#mos15 4_M_RUSBALD,{ + mes "[Gavrel]"; + mes "Don't you think that the castle is magnificent?"; + mes "It was built by my great great grandfather."; if (mos_nowinter == 10) { - if (mos_elder == 1) { + if (mos_elder == 0) { + next; mes "[Gavrel]"; - mes "Don't you think that the castle is magnificent?"; - mes "It was built by my great great grandfather."; - close; - } - mes "[Gavrel]"; - mes "Don't you think that the castle is magnificent?"; - mes "It was built by my great great grandfather."; - next; - mes "[Gavrel]"; - mes "It is very strong and"; - mes "it is warm inside of it."; - mes "I am very proud of it."; - next; - select("Is it cold much in winter?"); - if (rand(1,100) > 70) { + mes "It is very strong and"; + mes "it is warm inside of it."; + mes "I am very proud of it."; + next; + select("Is it cold much in winter?"); mes "[Gavrel]"; + if (rand(1,100) > 70) { + mes "Yes, it is very cold."; + mes "If you didn't prepare,"; + mes "it would be hard for you."; + next; + specialeffect2 EF_SUMMONSLAVE; + mes "[Gavrel]"; + mes "It would be a lot better"; + mes "if winter never came again."; + mes "But, design of coldness is"; + mes "winter itself, isn't it?"; + mos_elder = 1; + if (mos_kid == 1 && mos_middle == 1) { + mos_nowinter = 11; + changequest 18075,18076; + } + close; + } mes "Yes, it is very cold."; mes "If you didn't prepare,"; mes "it would be hard for you."; - next; - specialeffect2 EF_SUMMONSLAVE; - mes "[Gavrel]"; - mes "It would be a lot better"; - mes "if winter never came again."; - mes "But, design of coldness is"; - mes "winter itself, isn't it?"; - set mos_elder,1; - if (mos_kid == 1 && mos_middle == 1) set mos_nowinter,11; - close; } - mes "[Gavrel]"; - mes "Yes, it is very cold."; - mes "If you didn't prepare,"; - mes "it would be hard for you."; - close; } - mes "[Gavrel]"; - mes "Don't you think that the castle is magnificent?"; - mes "It was built by my great great grandfather."; close; } -moscovia,228,80,3 script A Little Boy#mos16 962,{ +moscovia,228,80,3 script A Little Boy#mos16 4_M_RUSCHILD,{ if (mos_nowinter == 10) { - if (mos_kid == 1) { - mes "[Rurik]"; - mes "It's hard to look up at you."; - mes "Come lower so I can see your eyes."; - next; - mes "[Rurik]"; - mes "Hmm, that's better."; - mes "Children are the future."; - mes "I won't have a future if I fall"; - mes "back and hurt my neck"; - mes "while looking up at you."; - close; - } - select("Do you like summer?"); - if (rand(1,100) > 70) { + if (mos_kid == 0) { + select("Do you like summer?"); mes "[Rurik]"; - mes "Ah, move a bit to the side."; - mes "a bit more... Yes."; - mes "Ah, stop there."; - next; - mes "[Rurik]"; - mes "I certainly like the summer."; - mes "Unless the sunlight is too strong,"; - mes "it is much better than the cold winter."; - next; - specialeffect2 EF_SUMMONSLAVE; - mes "[Rurik]"; - mes "By the way, what is this for?"; - mes "It is natural to like the summer."; - mes "Do you think"; - mes "the winter should come again?"; - set mos_kid,1; - if (mos_middle == 1 && mos_elder == 1) set mos_nowinter,11; + if (rand(1,100) > 70) { + mes "Ah, move a bit to the side."; + mes "a bit more... Yes."; + mes "Ah, stop there."; + next; + mes "[Rurik]"; + mes "I certainly like the summer."; + mes "Unless the sunlight is too strong,"; + mes "it is much better than the cold winter."; + next; + specialeffect2 EF_SUMMONSLAVE; + mes "[Rurik]"; + mes "By the way, what is this for?"; + mes "It is natural to like the summer."; + mes "Do you think"; + mes "the winter should come again?"; + mos_kid = 1; + if (mos_middle == 1 && mos_elder == 1) { + mos_nowinter = 11; + changequest 18075,18076; + } + close; + } + mes "Sure, I like the summer."; + mes "Why are you asking"; + mes "such a question so suddenly?"; close; } - mes "[Rurik]"; - mes "Sure, I like the summer."; - mes "Why are you asking"; - mes "such a question so suddenly?"; - close; } mes "[Rurik]"; mes "It's hard to look up at you."; @@ -6321,7 +6144,7 @@ moscovia,228,80,3 script A Little Boy#mos16 962,{ //---------------------------------------------------------------------------- // Magic Bottle //---------------------------------------------------------------------------- -mosk_dun03,225,233,0 script Pile of skeletons#mosk 111,{ +mosk_dun03,225,233,0 script Pile of skeletons#Magic HIDDEN_NPC,5,5,{ if (mos_nowinter == 8) { mes "-There are ugly skulls"; mes "all over here but, "; @@ -6333,10 +6156,7 @@ mosk_dun03,225,233,0 script Pile of skeletons#mosk 111,{ } mes "-The ugly skulls are gathered.-"; close; -} -mosk_dun03,225,233,0 script #Magic_Bottle -1,5,5,{ - end; OnTouch: if (mos_nowinter == 8) { mes "-She said that the Magic Gourd Bottle that"; @@ -6355,20 +6175,22 @@ OnTouch: next; while(1) { if(select("Look for it.:I will try next time.") == 1) { - if (BaseJob == Job_Thief) { + if (BaseClass == Job_Thief) { mes "["+strcharinfo(0)+"]"; mes "Here it is."; mes "That was easy to find."; - set mos_nowinter,9; + mos_nowinter = 9; getitem 7761,1; + changequest 18073,18074; close; } if (rand(1,20) > 14) { mes "["+strcharinfo(0)+"]"; mes "Ah, I got it!"; mes "I better get out of here quickly."; - set mos_nowinter,9; - getitem 7761,1; + mos_nowinter = 9; + getitem 7761,1;// Magic_Gourd_Bottle + changequest 18073,18074; close; } mes "............"; @@ -6385,103 +6207,9 @@ OnTouch: } } -//---------------------------------------------------------------------------- -// Csar Alexsay III -//---------------------------------------------------------------------------- -mosk_in,131,92,3 script #Csar -1,7,7,{ - if (mos_nowinter == 12) { - mes "[Csar Alexsay III]"; - mes "You!!!"; - mes "So many people saw you"; - mes "meet with Baba Yaga!"; - next; - mes "[Csar Alexsay III]"; - mes "The guilt which must be felt, when"; - mes "meeting secretly with a witch..."; - next; - mes "[Csar Alexsay III]"; - mes "For that, we indict capital"; - mes "punishment without any just trial!"; - next; - mes "[Csar Alexsay III]"; - mes "But you are a stranger to these"; - mes "lands... So I will hold you in special trial."; - next; - mes "[Csar Alexsay III]"; - mes "If you have anything to say..."; - mes "spare me no detail."; - next; - select("Explain the circumstances."); - mes "-Talk about what happened with Baba"; - mes "Yaga, and move forward with the plan.-"; - next; - mes "[Csar Alexsay III]"; - mes "Hm-hm, that's an embarrassing story..."; - mes "But if you are telling the"; - mes "truth, my people will be pleased."; - next; - mes "[Csar Alexsay III]"; - mes "Okay, Bring to me"; - mes "any evidence, to believe"; - mes "what you are saying."; - next; - mes "[Csar Alexsay III]"; - mes "You killed the Baba Yaga!!"; - mes "If this is true, bring"; - mes "me Yaga's Pestles."; - mes "If you do, I will make"; - mes "sure no one ever doubts you."; - next; - if (countitem(7762) > 39) { - if(select("Show the Yaga's Pestles.:Do nothing.") == 1) { - mes "[" + strcharinfo(0) + "]"; - mes "Yes, Here you are."; - next; - mes "-Offered the Yaga's Pestles.-"; - delitem 7762,40; - next; - mes "[Csar Alexsay III]"; - mes "Hm.. You do have them."; - mes "For the time being, I will admit"; - mes "that you are coming and going to"; - mes "hunt Baba Yaga."; - next; - mes "[Csar Alexsay III]"; - mes "But do not engage in doubtable"; - mes "behavior that would instigate my"; - mes "people to act in a strange way!"; - next; - mes "[Csar Alexsay III]"; - mes "If you do that, I will arrest you immediately!"; - mes "So take care of yourself."; - next; - mes "[Csar Alexsay III]"; - mes "And, when you succeed in"; - mes "banishing winter with magic,"; - mes "announce that to me immediately."; - set mos_nowinter,14; - close; - } - mes "[Csar Alexsay III]"; - mes "I said to bring me"; - mes "40 Yaga's Pestles"; - mes "from the Baba Yaga."; - set mos_nowinter,13; - close; - } - mes "[Csar Alexsay III]"; - mes "I said to bring me"; - mes "40 Yaga's Pestles"; - mes "from the Baba Yaga."; - set mos_nowinter,13; - close; - } - end; -} - // Shafka Hat :: mos_whale_edq //============================================================ -moscovia,211,93,3 script Irina#edq 958,{ +moscovia,211,93,3 script Irina#edq 4_F_RUSCHILD,{ if (!checkweight(1201,1)) { mes "Wait a moment!!"; mes "You have too many items."; @@ -6547,6 +6275,8 @@ moscovia,211,93,3 script Irina#edq 958,{ mes "If you bring the materials,"; mes "we can make one immediately!"; mes "The materials are: ^0000FFNine Tails 20, Yarn 10, Soft Silk 10, Sea-otter Fur 20, Spool 1^000000."; + if (isbegin_quest(18121) == 0) + setquest 18121; next; if (countitem(1022) > 19 && countitem(7038) > 9 && countitem(7166) > 9 && countitem(7065) > 19 && countitem(7217)) { mes "[Irina]"; @@ -6559,6 +6289,7 @@ moscovia,211,93,3 script Irina#edq 958,{ delitem 7065,20; //Sea_Otter_Leather delitem 7217,1; //Spool getitem 5243,1; //Chullos + completequest 18121; mes "[Irina]"; mes "Good, I made it. So, how about it?"; mes "Do you like it?"; @@ -6594,7 +6325,7 @@ moscovia,211,93,3 script Irina#edq 958,{ //---------------------------------------------------------------------------- // Sage - Starting Point //---------------------------------------------------------------------------- -mosk_fild02,198,252,3 script Sage#rus01 755,{ +mosk_fild02,198,252,3 script Sage#rus01 4_M_SAGE_C,{ if (!rhea_rus_main) { mes "[Sage]"; mes "Ah, a foreigner,"; @@ -6659,7 +6390,8 @@ mosk_fild02,198,252,3 script Sage#rus01 755,{ next; mes "[Sage]"; mes "But, don't worry about me. I know my way around here and am not afraid of monsters, haha."; - set rhea_rus_main,1; + rhea_rus_main = 1; + // setquest 8136; close; } mes "[Sage]"; @@ -6682,11 +6414,11 @@ mosk_fild02,198,252,3 script Sage#rus01 755,{ //---------------------------------------------------------------------------- // Mysterious Stone //---------------------------------------------------------------------------- -mosk_dun01,169,162,0 script Mysterious Stone#rus02 111,{ +mosk_dun01,169,162,0 script Mysterious Stone#rus02 HIDDEN_NPC,{ if (!rhea_rus_main) { mes "- The road forks here -"; close; - } else if (rhea_rus_main && rhea_rus_main < 3) { + } else if (rhea_rus_main < 3) { mes "- Words are engraved -"; mes "- on the stone -"; next; @@ -6716,8 +6448,8 @@ mosk_dun01,169,162,0 script Mysterious Stone#rus02 111,{ warp "mosk_dun01",190,47; end; case 2: + mes "["+ strcharinfo(0) +"]"; if (!checkriding()) { - mes "["+ strcharinfo(0) +"]"; mes "...What about the left...?"; next; mes "- You decide to go to the left -"; @@ -6727,24 +6459,21 @@ mosk_dun01,169,162,0 script Mysterious Stone#rus02 111,{ next; mes "- An unknown force has -"; mes "- cursed your body -"; - sc_start SC_CURSE,60000,0; - close2; - warp "mosk_dun01",190,47; - end; } - mes "["+ strcharinfo(0) +"]"; - mes "...What about the left...?"; - next; - mes "- You decide to go to the left -"; - next; - mes "- !!!!!! -"; - emotion e_omg,1; - next; - mes "- Your trusty Pecopeco senses -"; - mes "- an unknown force and tries -"; - mes "- to run away!! -"; + else { + mes "...What about the left...?"; + next; + mes "- You decide to go to the left -"; + next; + mes "- !!!!!! -"; + emotion e_omg,1; + next; + mes "- Your trusty Pecopeco senses -"; + mes "- an unknown force and tries -"; + mes "- to run away!! -"; + setriding 0; + } sc_start SC_CURSE,60000,0; - setriding 0; close2; warp "mosk_dun01",190,47; end; @@ -6758,7 +6487,9 @@ mosk_dun01,169,162,0 script Mysterious Stone#rus02 111,{ mes "- !!!!!! -"; emotion e_omg,1; donpcevent "Gray Wolf#rus03::OnEnable"; - set rhea_rus_main,2; + rhea_rus_main = 2; + // if (isbegin_quest(8136)) + // changequest 8136,8137; close; } } else if (rhea_rus_main == 3 || rhea_rus_main == 4) { @@ -6771,7 +6502,8 @@ mosk_dun01,169,162,0 script Mysterious Stone#rus02 111,{ next; mes "- You carefully read the stone -"; mes "- and decide to wait -"; - if (rhea_rus_main == 3) set rhea_rus_main,4; + if (rhea_rus_main == 3) + rhea_rus_main = 4; donpcevent "Gray Wolf#rus03::OnEnable"; close; } @@ -6780,7 +6512,7 @@ mosk_dun01,169,162,0 script Mysterious Stone#rus02 111,{ //---------------------------------------------------------------------------- // Gray Wolf //---------------------------------------------------------------------------- -mosk_dun01,167,160,3 script Gray Wolf#rus03 972,{ +mosk_dun01,167,160,3 script Gray Wolf#rus03 4_RUS_DWOLF,{ if (rhea_rus_main < 2) { mes "[Gray Wolf]"; mes "... Turn back, adventurer..."; @@ -6810,7 +6542,8 @@ mosk_dun01,167,160,3 script Gray Wolf#rus03 972,{ mes "[Gray Wolf]"; mes "I'm warning you again!"; mes "Unless you want to be killed, leave now."; - set rhea_rus_main,3; + rhea_rus_main = 3; + // changequest 8137,8138; emotion e_omg,1; specialeffect2 EF_HIT2; percentheal -50,0; @@ -6873,44 +6606,38 @@ mosk_dun01,167,160,3 script Gray Wolf#rus03 972,{ next; mes "- He turns his back to me -"; mes "- I jump up and suddenly -"; - set rhea_rus_main,5; + rhea_rus_main = 5; + // changequest 8138,8139; donpcevent "Gray Wolf#rus03::OnDisable"; close2; - warp "mosk_dun01",46,253; + warp "mosk_dun01",45,257; end; } -OnInit: - disablenpc "Gray Wolf#rus03"; - end; - OnEnable: enablenpc "Gray Wolf#rus03"; initnpctimer; end; -OnDisable: - disablenpc "Gray Wolf#rus03"; - stopnpctimer - end; - OnTimer120000: +OnDisable: stopnpctimer; - donpcevent "Gray Wolf#rus03::OnDisable"; +OnInit: + disablenpc "Gray Wolf#rus03"; end; } //---------------------------------------------------------------------------- // Wall (Maria Morebna, Gray Wolf, Koshei) //---------------------------------------------------------------------------- -mosk_dun01,45,259,0 script Wall#rus04 111,{ +mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{ if (rhea_rus_main < 5) { mes "["+ strcharinfo(0) +"]"; mes "...?!"; emotion e_what,1; close; } else if (rhea_rus_main == 5) { - set .@speak01,rand(1,3); + .@speak01 = rand(1,3); if (.@speak01 == 3) { mes "["+ strcharinfo(0) +"]"; mes "...?!"; @@ -6960,7 +6687,8 @@ mosk_dun01,45,259,0 script Wall#rus04 111,{ mes "[Girl's Voice]"; mes "Please don't forget about me."; donpcevent "Gray Wolf#rus05::OnDisable"; - set rhea_rus_main,6; + rhea_rus_main = 6; + // changequest 8139,8140; close; } else if (rhea_rus_main > 5 && rhea_rus_main < 8) { mes "[Girl's Voice]"; @@ -6972,12 +6700,10 @@ mosk_dun01,45,259,0 script Wall#rus04 111,{ close; } else if (rhea_rus_main == 8) { if (rhea_rus_quiz < 3) { - if (getequipid(EQI_SHOES) != 2429) { - if (getequipid(EQI_SHOES) != 2430) { - mes "["+ strcharinfo(0) +"]"; - mes "...Hmm, did I forget to wear something...?"; - close; - } + if (getequipid(EQI_SHOES) != 2429 && getequipid(EQI_SHOES) != 2430) { + mes "["+ strcharinfo(0) +"]"; + mes "...Hmm, did I forget to wear something...?"; + close; } mes "[Girl's Voice]"; mes "Did you get the key?"; @@ -7032,13 +6758,13 @@ mosk_dun01,45,259,0 script Wall#rus04 111,{ mes "If you gather all the things necessary, go to Moscovia and find the keymaker. Do me this favor, please."; close; } else if (rhea_rus_main == 47) { - if (countitem(7876)) { + if (countitem(7876)) {// Gold_Key if ($@rus_req02 == 1) { mes "[Girl's Voice]"; mes "I can feel Koshei's energy.. It is not a time to use the key..."; close; } - set $@rus_req02,1; + $@rus_req02 = 1; mes "[Girl's Voice]"; mes "Did you get the key?"; next; @@ -7069,7 +6795,7 @@ mosk_dun01,45,259,0 script Wall#rus04 111,{ next; mes "[Girl's Voice]"; mes "You must've said it wrong..."; - set $@rus_req02,0; + $@rus_req02 = 0; close; } mes "- The wind disappears and -"; @@ -7126,7 +6852,8 @@ mosk_dun01,45,259,0 script Wall#rus04 111,{ mes "[Koshei, the Immortal]"; mes "Stop! Where do you think you're going?!!!"; delitem 7876,1; - set rhea_rus_main,48; + rhea_rus_main = 48; + // changequest 8176,8177; monster "mosk_dun01",45,256,"Koshei, the Immortal",1890,1,"Wall#rus04::OnMyMobDead"; donpcevent "Koshei#rus47::OnEnable"; close; @@ -7166,7 +6893,8 @@ mosk_dun01,45,259,0 script Wall#rus04 111,{ next; mes "[Gray Wolf]"; mes "I can't keep her alive for much longer. You must find Baba Yaga."; - set rhea_rus_main,49; + rhea_rus_main = 49; + // changequest 8177,8178; close2; donpcevent "Gray Wolf#rus05::OnDisable"; end; @@ -7297,29 +7025,31 @@ mosk_dun01,45,259,0 script Wall#rus04 111,{ next; mes "[Maria Morebna]"; mes "Please accept my poor reward, I hope that it will be of some help for such a brave adventurer. I hope that the gods will bless you on your journey."; + // completequest 8180; next; mes "[Maria Morebna]"; mes "It's been a long time since I've felt the sunlight, fresh wind and the scent of grass. I'm so grateful."; - set rhea_rus_main,52; - set .@rus_food,rand(1,6); + rhea_rus_main = 52; + // completequest 8171; + .@rus_food = rand(1,6); switch (rand(1,6)) { - case 1: getitem 12093,1; break; - case 2: getitem 12088,1; break; - case 3: getitem 12073,1; break; - case 4: getitem 12078,1; break; - case 5: getitem 12083,1; break; - case 6: getitem 12098,1; break; + case 1: getitem 12093,1; break;// Dex_Dish08 + case 2: getitem 12088,1; break;// Agi_Dish08 + case 3: getitem 12073,1; break;// Str_Dish08 + case 4: getitem 12078,1; break;// Int_Dish08 + case 5: getitem 12083,1; break;// Vit_Dish08 + case 6: getitem 12098,1; break;// Luk_Dish08 } if (checkre(3)) { - if (BaseLevel < 56) getexp 5700,500; - else if (BaseLevel < 61) getexp 6700,800; - else if (BaseLevel < 66) getexp 8000,1000; - else if (BaseLevel < 71) getexp 13000,1200; - else if (BaseLevel < 76) getexp 17000,1400; - else if (BaseLevel < 81) getexp 20000,1700; - else if (BaseLevel < 86) getexp 45000,2000; - else if (BaseLevel < 91) getexp 75000,3000; - else if (BaseLevel < 160) getexp 200000,4000; + if (BaseLevel < 56) getexp 1300,350; + else if (BaseLevel < 61) getexp 2460,615; + else if (BaseLevel < 66) getexp 4242,1060; + else if (BaseLevel < 71) getexp 6489,1622; + else if (BaseLevel < 76) getexp 16491,4123; + else if (BaseLevel < 81) getexp 27629,6907; + else if (BaseLevel < 86) getexp 34041,8510; + else if (BaseLevel < 91) getexp 41846,10462; + else if (BaseLevel < MAX_LEVEL) getexp 88814,22204; else getitem 617,1; //Old_Violet_Box } else { if (BaseLevel < 56) getexp 13000,3500; @@ -7355,23 +7085,17 @@ mosk_dun01,45,259,0 script Wall#rus04 111,{ } OnInit: - enablenpc "Wall#rus04"; - set $@rus_req02,0; - end; - + $@rus_req02 = 0; OnEnable: enablenpc "Wall#rus04"; end; -OnDisable: - disablenpc "Wall#rus04"; - end; - OnMyMobDead: - donpcevent "Koshei#rus47::OnDisable"; - set $@rus_req02,0; - stopnpctimer; + $@rus_req02 = 0; + // stopnpctimer; announce "Koshei, the Immortal : Keeeek, you, cursed human.. I'll never give up!!! We'll see who's smiling in the end!!!",bc_map,0xCE3131; +OnDisable: + disablenpc "Wall#rus04"; end; } @@ -7417,33 +7141,26 @@ OnTimer300000: //---------------------------------------------------------------------------- - script mos_rus#main -1,{ end; -OnInit: - if (compare(strnpcinfo(0),"main")) end; - disablenpc strnpcinfo(0); - end; OnEnable: initnpctimer; enablenpc strnpcinfo(0); end; +OnTimer120000: OnDisable: stopnpctimer; +OnInit: disablenpc strnpcinfo(0); end; - -OnTimer120000: - stopnpctimer; - donpcevent strnpcinfo(0)+"::OnDisable"; - end; } -mosk_dun01,50,256,3 duplicate(mos_rus#main) Gray Wolf#rus05 972 -mosk_dun01,46,256,3 duplicate(mos_rus#main) Maria Morebna#rus46 958 +mosk_dun01,50,256,3 duplicate(mos_rus#main) Gray Wolf#rus05 4_RUS_DWOLF +mosk_dun01,46,256,3 duplicate(mos_rus#main) Maria Morebna#rus46 4_F_RUSCHILD //---------------------------------------------------------------------------- // The Blacksmith (Golden Key) //---------------------------------------------------------------------------- -moscovia,178,127,0 script The Blacksmith#rus06 63,{ +moscovia,178,127,0 script The Blacksmith#rus06 1_M_SMITH,{ if ((MaxWeight-Weight) < 3500) { mes "[The Blacksmith]"; mes "Why are you carrying that much?"; @@ -7523,10 +7240,11 @@ moscovia,178,127,0 script The Blacksmith#rus06 63,{ mes "[The Blacksmith]"; mes "Bahahaha~"; mes "I promise you, I'll explain when you bring the ^0000ff25 Steel^000000 to me. Please just get the Steel and come back."; - set rhea_rus_main,7; + rhea_rus_main = 7; + // changequest 8140,8141; close; } else if (rhea_rus_main == 7) { - if (countitem(999) > 24) { + if (countitem(999) > 24) {// Steel mes "[The Blacksmith]"; mes "Ohhh, that was faster than I expected!"; next; @@ -7566,14 +7284,20 @@ moscovia,178,127,0 script The Blacksmith#rus06 63,{ next; mes "[The Blacksmith]"; mes "You need ^0000ff2 Cursed Ruby, 3 Gold, 1 Red Ring, 2 Lusalka's Hair, 10 Golden Thread^000000 to make the key."; + // changequest 8141,8142; next; mes "[The Blacksmith]"; mes "Well, you know what to do now. I will be waiting here."; mes "Bahahaha~"; mes "And don't forget to wear these!"; - delitem 999,25; - set rhea_rus_main,8; - if (BaseClass == Job_Merchant || BaseClass == Job_Swordman || BaseClass == Job_Thief || BaseClass == Job_Archer || BaseClass == Job_Ninja || BaseClass == Job_Gunslinger) getitem 2429,1; else getitem 2430,1; close; + delitem 999,25;// Steel + rhea_rus_main = 8; + // changequest 8138,8139; + if (BaseClass == Job_Merchant || BaseClass == Job_Swordman || BaseClass == Job_Thief || BaseClass == Job_Archer || BaseClass == Job_Ninja || BaseClass == Job_Gunslinger) + getitem 2429,1;// Iron_Boots01 + else + getitem 2430,1;// Iron_Boots02 + close; } mes "[The Blacksmith]"; mes "What are you doing? First, you must get me ^0000ff25 Steel^000000."; @@ -7582,14 +7306,12 @@ moscovia,178,127,0 script The Blacksmith#rus06 63,{ mes "The faster you get me the materials, The faster you can help Maria Morebna."; close; } else if (rhea_rus_main == 8) { - if (countitem(724) > 1 && countitem(969) > 2 && countitem(7877) && countitem(7878) > 1 && countitem(7879) > 9) { + if (countitem(724) > 1 && countitem(969) > 2 && countitem(7877) && countitem(7878) > 1 && countitem(7879) > 9) {// Cardinal_Jewel_, Gold, Red_Ring, Lusalka_Hair, Golden_Thread if (rhea_rus_ring > 8 && rhea_rus_hair > 8 && rhea_rus_quiz > 29) { - if (getequipid(EQI_SHOES) != 2429) { - if (getequipid(EQI_SHOES) != 2430) { - mes "["+ strcharinfo(0) +"]"; - mes "...Hmm, did I forget to wear something...?"; - close; - } + if (getequipid(EQI_SHOES) != 2429 && getequipid(EQI_SHOES) != 2430) { + mes "["+ strcharinfo(0) +"]"; + mes "...Hmm, did I forget to wear something...?"; + close; } mes "[The Blacksmith]"; mes "So, you got all the materials. I can't believe it."; @@ -7628,20 +7350,23 @@ moscovia,178,127,0 script The Blacksmith#rus06 63,{ mes "[The Blacksmith]"; mes "This spell protects you from any curse the keymaker might try to use. Remember the words of the spell. It won't last very long because I am just a blacksmith."; next; - if (countitem(2429) || countitem(2430)) { - mes "[The Blacksmith]"; + mes "[The Blacksmith]"; + if (countitem(2429)) + delitem 2429,1; + else if (countitem(2430)) + delitem 2430,1; + else { mes "The forest is dangerous. Be very careful in there!"; - mes "Ah and you shouldn't be needing those Steel Boots anymore. Good luck!"; - if (countitem(2429)) delitem 2429,1; else delitem 2430,1; - set rhea_rus_main,9; + mes "Ah, and your steel boots..?"; + next; + mes "[The Blacksmith]"; + mes "Where are they?"; close; } - mes "[The Blacksmith]"; mes "The forest is dangerous. Be very careful in there!"; - mes "Ah, and your steel boots..?"; - next; - mes "[The Blacksmith]"; - mes "Where are they?"; + mes "Ah and you shouldn't be needing those Steel Boots anymore. Good luck!"; + rhea_rus_main = 9; + // changequest 8142,8158; close; } } @@ -7717,7 +7442,7 @@ moscovia,178,127,0 script The Blacksmith#rus06 63,{ //---------------------------------------------------------------------------- // Vassili Grandpapa (Red Ring) //---------------------------------------------------------------------------- -moscovia,206,81,0 script Vassili Grandpapa#rus07 712,{ +moscovia,206,81,0 script Vassili Grandpapa#rus07 4_M_05,{ if ((MaxWeight-Weight) < 3500) { mes "[Vassili Grandpapa]"; mes "Why are you carring that much?"; @@ -7739,13 +7464,11 @@ moscovia,206,81,0 script Vassili Grandpapa#rus07 712,{ mes "Eeee, I don't want to experience that coldness any more."; close; } else if (rhea_rus_main == 8) { - if (rhea_rus_ring < 1) { - if (getequipid(EQI_SHOES) != 2429) { - if (getequipid(EQI_SHOES) != 2430) { - mes "["+ strcharinfo(0) +"]"; - mes "...Hmm, did I forget to wear something...?"; - close; - } + if (rhea_rus_ring == 0) { + if (getequipid(EQI_SHOES) != 2429 && getequipid(EQI_SHOES) != 2430) { + mes "["+ strcharinfo(0) +"]"; + mes "...Hmm, did I forget to wear something...?"; + close; } mes "[Vassili Grandpapa]"; mes "Hmm, are you an adventurer? So, how do you like it here?"; @@ -7803,9 +7526,10 @@ moscovia,206,81,0 script Vassili Grandpapa#rus07 712,{ next; mes "[Vassili Grandpapa]"; mes "She disappeared soon... after Now all I have is Ryubaba. She is also pretty and smart but nothing can relieve the sadnesss in my heart from losing Mashenka..."; - set rhea_rus_ring,1; + rhea_rus_ring = 1; + // setquest 8143; close; - } else if (rhea_rus_ring && rhea_rus_ring < 8) { + } else if (rhea_rus_ring < 8) { mes "[Vassili Grandpapa]"; mes "I can still remember how happy she was when I gave it to her."; next; @@ -7813,12 +7537,10 @@ moscovia,206,81,0 script Vassili Grandpapa#rus07 712,{ mes "She disappeared soon... after Now all I have is Ryubaba. She is also pretty and smart but nothing can relieve the sadnesss in my heart from losing Mashenka..."; close; } else if (rhea_rus_ring == 8) { - if (getequipid(EQI_SHOES) != 2429) { - if (getequipid(EQI_SHOES) != 2430) { - mes "["+ strcharinfo(0) +"]"; - mes "...Hmm, did I forget to wear something...?"; - close; - } + if (getequipid(EQI_SHOES) != 2429 && getequipid(EQI_SHOES) != 2430) { + mes "["+ strcharinfo(0) +"]"; + mes "...Hmm, did I forget to wear something...?"; + close; } mes "[Vassili Grandpapa]"; mes "Ehh? you are the adventurer that I met before. Something to tell me?"; @@ -7826,7 +7548,7 @@ moscovia,206,81,0 script Vassili Grandpapa#rus07 712,{ mes "["+ strcharinfo(0) +"]"; mes "...Listen to... this."; next; - if (countitem(7883)) { + if (countitem(7883)) {// Pointed_Wooden_Flute mes "- You play the flute -"; next; mes "^ff0000Red ring that my father gave me^000000"; @@ -7925,36 +7647,39 @@ moscovia,206,81,0 script Vassili Grandpapa#rus07 712,{ mes "[Vassili Grandpapa]"; mes "You said you needed this ring, right? Take it..."; mes "It has brought me nothing but grief."; + // if (isbegin_quest(8147) == 1) + // completequest 8147; next; mes "[Vassili Grandpapa]"; mes "...It is my fault that this tragedy between my daughters happened. I will spend the rest of my life trying to make up for it..."; - delitem 7883,1; //Pointed_Wooden_Flute - set rhea_rus_ring,10; - getitem 7877,1; //Red_Ring + delitem 7883,1; // Pointed_Wooden_Flute + getitem 7877,1; // Red_Ring + rhea_rus_ring = 10; + // completequest 8144; if (checkre(3)) { if (BaseLevel < 56) getexp 470,0; - else if (BaseLevel > 55 && BaseLevel < 61) getexp 615,0; - else if (BaseLevel > 60 && BaseLevel < 66) getexp 750,0; - else if (BaseLevel > 65 && BaseLevel < 71) getexp 1000,0; - else if (BaseLevel > 70 && BaseLevel < 76) getexp 1500,0; - else if (BaseLevel > 75 && BaseLevel < 81) getexp 2000,0; - else if (BaseLevel > 80 && BaseLevel < 86) getexp 4500,0; - else if (BaseLevel > 85 && BaseLevel < 91) getexp 8500,0; - else if (BaseLevel > 90 && BaseLevel < 99) getexp 30000,0; + else if (BaseLevel < 61) getexp 615,0; + else if (BaseLevel < 66) getexp 750,0; + else if (BaseLevel < 71) getexp 1000,0; + else if (BaseLevel < 76) getexp 1500,0; + else if (BaseLevel < 81) getexp 2000,0; + else if (BaseLevel < 86) getexp 4500,0; + else if (BaseLevel < 91) getexp 8500,0; + else if (BaseLevel < MAX_LEVEL) getexp 30000,0; else { getitem 607,1; //Yggdrasilberry getexp 30000,0; } } else { if (BaseLevel < 56) getexp 4700,0; - else if (BaseLevel > 55 && BaseLevel < 61) getexp 6150,0; - else if (BaseLevel > 60 && BaseLevel < 66) getexp 10605,0; - else if (BaseLevel > 65 && BaseLevel < 71) getexp 16223,0; - else if (BaseLevel > 70 && BaseLevel < 76) getexp 41227,0; - else if (BaseLevel > 75 && BaseLevel < 81) getexp 69073,0; - else if (BaseLevel > 80 && BaseLevel < 86) getexp 85102,0; - else if (BaseLevel > 85 && BaseLevel < 91) getexp 104615,0; - else if (BaseLevel > 90 && BaseLevel < 99) getexp 222035,0; + else if ( BaseLevel < 61) getexp 6150,0; + else if (BaseLevel < 66) getexp 10605,0; + else if (BaseLevel < 71) getexp 16223,0; + else if (BaseLevel < 76) getexp 41227,0; + else if (BaseLevel < 81) getexp 69073,0; + else if (BaseLevel < 86) getexp 85102,0; + else if (BaseLevel < 91) getexp 104615,0; + else if (BaseLevel < 99) getexp 222035,0; else getitem 607,1; //Yggdrasilberry } close; @@ -7985,7 +7710,7 @@ moscovia,206,81,0 script Vassili Grandpapa#rus07 712,{ //---------------------------------------------------------------------------- // Ryubaba (Red Ring) //---------------------------------------------------------------------------- -moscovia,213,216,3 script Ryubaba#rus08 960,{ +moscovia,213,216,3 script Ryubaba#rus08 4_F_RUSWOMAN2,{ if ((MaxWeight-Weight) < 3500) { mes "[Ryubaba]"; mes "What on earth do you have in your bag?"; @@ -8011,12 +7736,10 @@ moscovia,213,216,3 script Ryubaba#rus08 960,{ emotion e_heh; close; } else if (rhea_rus_ring == 1) { - if (getequipid(EQI_SHOES) != 2429) { - if (getequipid(EQI_SHOES) != 2430) { - mes "["+ strcharinfo(0) +"]"; - mes "...Hmm, did I forget to wear something...?"; - close; - } + if (getequipid(EQI_SHOES) != 2429 && getequipid(EQI_SHOES) != 2430) { + mes "["+ strcharinfo(0) +"]"; + mes "...Hmm, did I forget to wear something...?"; + close; } mes "[Ryubaba]"; mes "Ah, how beautiful I am."; @@ -8028,11 +7751,10 @@ moscovia,213,216,3 script Ryubaba#rus08 960,{ mes "["+ strcharinfo(0) +"]"; mes "Are you crazy!? Don't you know how wide the world is and how many beautiful people there are? You're pretty full of it, country girl!"; next; - if (!Sex) { - mes "["+ strcharinfo(0) +"]"; + mes "["+ strcharinfo(0) +"]"; + if (!Sex) mes "Besides, if there was a most beautiful girl in the world it would be me, me, me!"; - } else { - mes "["+ strcharinfo(0) +"]"; + else { mes "Have you seen dancers dancing? Have you seen beautiful and pure priests?!"; mes "And nothing is like the kind Kafra Employees!!!"; } @@ -8040,7 +7762,7 @@ moscovia,213,216,3 script Ryubaba#rus08 960,{ mes "[Ryubaba]"; mes "What!? You bastard!!"; mes "I hate you! Get out of my face!"; - set rhea_rus_ring,2; + rhea_rus_ring = 2; close2; warp "moscovia",220,210; end; @@ -8051,8 +7773,8 @@ moscovia,213,216,3 script Ryubaba#rus08 960,{ next; mes "[Ryubaba]"; mes "Huhu, oh you jest. You know what you're talking about. Ah, this is a Choco drink that I have made. Give it a taste, isn't it good?"; - set rhea_rus_ring,4; - getitem 573,1; + rhea_rus_ring = 4; + getitem 573,1;// Chocolate_Drink close; } else if (rhea_rus_ring == 2) { mes "[Ryubaba]"; @@ -8062,30 +7784,32 @@ moscovia,213,216,3 script Ryubaba#rus08 960,{ warp "moscovia",220,210; end; } else if (rhea_rus_ring == 3) { - if (countitem(748) > 0 || countitem(749) > 0) { + if (countitem(748) > 0 || countitem(749) > 0) {// Witherless_Rose, Frozen_Rose mes "[Ryubaba]"; mes "What? Why are you here? You get of my..."; next; mes "[Ryubaba]"; mes "...Is that for me?"; next; - if (countitem(748) || countitem(749)) { + mes "[Ryubaba]"; + if (countitem(748)) + delitem 748,1; + else if (countitem(749)) + delitem 749,1; + else { + mes "Well, I forgive.. eh?"; + next; mes "[Ryubaba]"; - mes "Ok. Well, I forgive you."; - if (countitem(748)) delitem 748,1; else delitem 749,1; - set rhea_rus_ring,4; - close; + mes "What? Are you trying to trick me!?"; + mes "I have never met a person ruder than you!"; + mes "I hate you! Get out of my face!"; + close2; + warp "moscovia",220,210; + end; } - mes "[Ryubaba]"; - mes "Well, I forgive.. eh?"; - next; - mes "[Ryubaba]"; - mes "What? Are you trying to trick me!?"; - mes "I have never met a person ruder than you!"; - mes "I hate you! Get out of my face!"; - close2; - warp "moscovia",220,210; - end; + mes "Ok. Well, I forgive you."; + rhea_rus_ring = 4; + close; } mes "[Ryubaba]"; mes "I have never met a person ruder than you!"; @@ -8107,12 +7831,11 @@ moscovia,213,216,3 script Ryubaba#rus08 960,{ mes "Why are you here?"; next; input .@input$; + mes "[Ryubaba]"; if (.@input$ == "Red Ring") { - mes "[Ryubaba]"; mes "A Red Ring?!"; next; } else { - mes "[Ryubaba]"; mes "Heh, what are you talking about? What is that?"; close; } @@ -8125,7 +7848,8 @@ moscovia,213,216,3 script Ryubaba#rus08 960,{ next; mes "[Ryubaba]"; mes "Right... Let me finish talking. We tried searching for her but we couldn't find her. She must have been wearing the ring when she disappeared around the marsh."; - set rhea_rus_ring,5; + rhea_rus_ring = 5; + // changequest 8143,8144; close; } else if (rhea_rus_ring > 4 && rhea_rus_ring < 7) { mes "[Ryubaba]"; @@ -8139,12 +7863,10 @@ moscovia,213,216,3 script Ryubaba#rus08 960,{ mes "Right... Let me finish talking. We tried searching for her but we couldn't find her. She must have been wearing the ring when she disappeared around the marsh."; close; } else if (rhea_rus_ring == 7) { - if (getequipid(EQI_SHOES) != 2429) { - if (getequipid(EQI_SHOES) != 2430) { - mes "["+ strcharinfo(0) +"]"; - mes "...Hmm, did I forget to wear something...?"; - close; - } + if (getequipid(EQI_SHOES) != 2429 && getequipid(EQI_SHOES) != 2430) { + mes "["+ strcharinfo(0) +"]"; + mes "...Hmm, did I forget to wear something...?"; + close; } mes "[Ryubaba]"; mes "Ah, you come here again. What can I do for you?"; @@ -8152,7 +7874,7 @@ moscovia,213,216,3 script Ryubaba#rus08 960,{ mes "["+ strcharinfo(0) +"]"; mes "... Listen to this song."; next; - if (countitem(7883) > 0) { + if (countitem(7883) > 0) {// Pointed_Wooden_Flute mes "- You play the flute -"; next; mes "^ff0000Red ring that my father gave me^000000"; @@ -8236,43 +7958,46 @@ moscovia,213,216,3 script Ryubaba#rus08 960,{ next; mes "[Ryubaba]"; mes "W, wait!!!"; - set rhea_rus_ring,8; + rhea_rus_ring = 8; + // changequest 8146,8147; close2; warp "moscovia",203,80; end; } mes "[Ryubaba]"; mes "Are you sure!? Thank you!"; + // completequest 8146; next; mes "[Ryubaba]"; mes "I have to repent for my sins and atone for them for the rest of my life."; - delitem 7883,1; //Pointed_Wooden_Flute - set rhea_rus_ring,9; - getitem 7877,1; //Red_Ring + delitem 7883,1; // Pointed_Wooden_Flute + getitem 7877,1; // Red_Ring + rhea_rus_ring = 9; + // // completequest 8143; if (checkre(3)) { if (BaseLevel < 56) getexp 470,0; - else if (BaseLevel > 55 && BaseLevel < 61) getexp 615,0; - else if (BaseLevel > 60 && BaseLevel < 66) getexp 750,0; - else if (BaseLevel > 65 && BaseLevel < 71) getexp 1000,0; - else if (BaseLevel > 70 && BaseLevel < 76) getexp 1500,0; - else if (BaseLevel > 75 && BaseLevel < 81) getexp 2000,0; - else if (BaseLevel > 80 && BaseLevel < 86) getexp 4500,0; - else if (BaseLevel > 85 && BaseLevel < 91) getexp 8500,0; - else if (BaseLevel > 90 && BaseLevel < 99) getexp 30000,0; + else if (BaseLevel < 61) getexp 615,0; + else if (BaseLevel < 66) getexp 750,0; + else if (BaseLevel < 71) getexp 1000,0; + else if (BaseLevel < 76) getexp 1500,0; + else if (BaseLevel < 81) getexp 2000,0; + else if (BaseLevel < 86) getexp 4500,0; + else if (BaseLevel < 91) getexp 8500,0; + else if (BaseLevel < MAX_LEVEL) getexp 30000,0; else { getitem 607,1; //Yggdrasilberry getexp 30000,0; } } else { if (BaseLevel < 56) getexp 4700,0; - else if (BaseLevel > 55 && BaseLevel < 61) getexp 6150,0; - else if (BaseLevel > 60 && BaseLevel < 66) getexp 10605,0; - else if (BaseLevel > 65 && BaseLevel < 71) getexp 16223,0; - else if (BaseLevel > 70 && BaseLevel < 76) getexp 41227,0; - else if (BaseLevel > 75 && BaseLevel < 81) getexp 69073,0; - else if (BaseLevel > 80 && BaseLevel < 86) getexp 85102,0; - else if (BaseLevel > 85 && BaseLevel < 91) getexp 104615,0; - else if (BaseLevel > 90 && BaseLevel < 99) getexp 222035,0; + else if (BaseLevel < 61) getexp 6150,0; + else if (BaseLevel < 66) getexp 10605,0; + else if (BaseLevel < 71) getexp 16223,0; + else if (BaseLevel < 76) getexp 41227,0; + else if (BaseLevel < 81) getexp 69073,0; + else if (BaseLevel < 86) getexp 85102,0; + else if (BaseLevel < 91) getexp 104615,0; + else if (BaseLevel < 99) getexp 222035,0; else getitem 607,1; //Yggdrasilberry } close; @@ -8314,7 +8039,7 @@ moscovia,213,216,3 script Ryubaba#rus08 960,{ //---------------------------------------------------------------------------- // Little Boy (Ryubaba Info) //---------------------------------------------------------------------------- -moscovia,223,210,3 script Little Boy#rus09 962,{ +moscovia,223,210,3 script Little Boy#rus09 4_M_RUSCHILD,{ if (rhea_rus_main < 8) { mes "[Little Boy]"; mes "I will be an adventer and will marry the most beautiful bride!"; @@ -8332,7 +8057,7 @@ moscovia,223,210,3 script Little Boy#rus09 962,{ mes "[Little Boy]"; mes "I don't like her cause she doesn't give me candies or cookies. Although she is beautiful, her temper is so bad..."; next; - if (countitem(529) || countitem(538)) { + if (countitem(529) || countitem(538)) {// Candy, Well_Baked_Cookie mes "[Little Boy]"; mes "Ah, do you have candies or cookies?"; next; @@ -8349,16 +8074,18 @@ moscovia,223,210,3 script Little Boy#rus09 962,{ mes "[Little Boy]"; mes "Ah, I will inform you of something!"; next; - if (countitem(529)) { - mes "[Little Boy]"; - mes "Sister Ryubaba likes presents! Especially flowers such as roses. She believes that they resemble her."; - if (countitem(529)) delitem 529,1; else delitem 538,1; - set rhea_rus_ring,3; + mes "[Little Boy]"; + if (countitem(529)) + delitem 529,1; + else if (countitem(538)) + delitem 538,1; + else { + mes "Sister Ryubaba likes.. eh?"; + mes "Don't you have candies or cookies? Don't you want to give them to me?"; close; } - mes "[Little Boy]"; - mes "Sister Ryubaba likes.. eh?"; - mes "Don't you have candies or cookies? Don't you want to give them to me?"; + mes "Sister Ryubaba likes presents! Especially flowers such as roses. She believes that they resemble her."; + rhea_rus_ring = 3; close; } mes "[Little Boy]"; @@ -8379,7 +8106,7 @@ moscovia,223,210,3 script Little Boy#rus09 962,{ //---------------------------------------------------------------------------- // Shepherdess (Wooden Flute for Red Ring) //---------------------------------------------------------------------------- -mosk_fild02,157,233,0 script Shepherdess#rus10 69,{ +mosk_fild02,157,233,0 script Shepherdess#rus10 1_F_04,{ if (rhea_rus_main < 8) { mes "[Shepherdess]"; mes "Haaaa, boring, boring! Herding sheep is really boring!"; @@ -8396,12 +8123,10 @@ mosk_fild02,157,233,0 script Shepherdess#rus10 69,{ mes "I wish that I could listen to music all the time."; close; } else if (rhea_rus_ring == 5) { - if (getequipid(EQI_SHOES) != 2429) { - if (getequipid(EQI_SHOES) != 2430) { - mes "["+ strcharinfo(0) +"]"; - mes "...Hmm, did I forget to wear something...?"; - close; - } + if (getequipid(EQI_SHOES) != 2429 && getequipid(EQI_SHOES) != 2430) { + mes "["+ strcharinfo(0) +"]"; + mes "...Hmm, did I forget to wear something...?"; + close; } mes "[Shepherdess]"; mes "Haaaa, boring, boring! Herding sheep is really boring!"; @@ -8423,16 +8148,15 @@ mosk_fild02,157,233,0 script Shepherdess#rus10 69,{ next; mes "[Shepherdess]"; mes "I am an excellent flute player! If you get me enough Pointed Branches, I will make a flute from them and play beautiful music for you. Please~!"; - set rhea_rus_ring,6; + rhea_rus_ring = 6; + // changequest 8144,8145; close; } else if (rhea_rus_ring == 6) { - if (countitem(7882) > 24) { - if (getequipid(EQI_SHOES) != 2429) { - if (getequipid(EQI_SHOES) != 2430) { - mes "["+ strcharinfo(0) +"]"; - mes "...Hmm, did I forget to wear something...?"; - close; - } + if (countitem(7882) > 24) {// Pointed_Branch + if (getequipid(EQI_SHOES) != 2429 && getequipid(EQI_SHOES) != 2430) { + mes "["+ strcharinfo(0) +"]"; + mes "...Hmm, did I forget to wear something...?"; + close; } mes "[Shepherdess]"; mes "Wow, did you get the Pointed Branches!?"; @@ -8477,8 +8201,9 @@ mosk_fild02,157,233,0 script Shepherdess#rus10 69,{ mes "- ^0000ffShepherdess gives me the^000000 -"; mes "- ^0000ff'Pointed Wooden Flute'!!^000000 -"; delitem 7882,25; - set rhea_rus_ring,7; - getitem 7883,1; + rhea_rus_ring = 7; + getitem 7883,1;// Pointed_Wooden_Flute + // changequest 8145,8146; close; } mes "[Shepherdess]"; @@ -8510,12 +8235,12 @@ mosk_fild02,157,233,0 script Shepherdess#rus10 69,{ //---------------------------------------------------------------------------- - script PTree#rusmain -1,{ if (rhea_rus_ring == 6) { - if (countitem(7882) < 50) { + if (countitem(7882) < 50) {// Pointed_Branch if (rand(1,3) == 2) { mes "- I avoid the thorns and -"; mes "- cut off a branch!! -"; getitem 7882,1; - donpcevent "Pointed Tree#rus11::OnDisable"; + donpcevent strnpcinfo(0) +"::OnDisable"; close; } mes "- My hand is pricked by thorns! -"; @@ -8524,38 +8249,32 @@ mosk_fild02,157,233,0 script Shepherdess#rus10 69,{ close; } } - -OnInit: - enablenpc "Pointed Tree#rus11"; - end; - -OnEnable: - stopnpctimer; - enablenpc "Pointed Tree#rus11"; end; OnDisable: initnpctimer; - disablenpc "Pointed Tree#rus11"; + disablenpc strnpcinfo(0); end; OnTimer60000: - donpcevent "Pointed Tree#rus11::OnEnable"; +OnEnable: + stopnpctimer; + enablenpc strnpcinfo(0); end; } -mosk_fild02,151,188,0 duplicate(PTree#rusmain) Pointed Tree#rus11 111 -mosk_fild02,160,227,0 duplicate(PTree#rusmain) Pointed Tree#rus12 111 -mosk_fild02,160,179,0 duplicate(PTree#rusmain) Pointed Tree#rus13 111 -mosk_fild02,142,247,0 duplicate(PTree#rusmain) Pointed Tree#rus14 111 -mosk_fild02,149,223,0 duplicate(PTree#rusmain) Pointed Tree#rus15 111 -mosk_fild02,114,223,0 duplicate(PTree#rusmain) Pointed Tree#rus16 111 -mosk_fild02,101,197,0 duplicate(PTree#rusmain) Pointed Tree#rus17 111 -mosk_fild02,125,182,0 duplicate(PTree#rusmain) Pointed Tree#rus18 111 +mosk_fild02,151,188,0 duplicate(PTree#rusmain) Pointed Tree#rus11 HIDDEN_NPC +mosk_fild02,160,227,0 duplicate(PTree#rusmain) Pointed Tree#rus12 HIDDEN_NPC +mosk_fild02,160,179,0 duplicate(PTree#rusmain) Pointed Tree#rus13 HIDDEN_NPC +mosk_fild02,142,247,0 duplicate(PTree#rusmain) Pointed Tree#rus14 HIDDEN_NPC +mosk_fild02,149,223,0 duplicate(PTree#rusmain) Pointed Tree#rus15 HIDDEN_NPC +mosk_fild02,114,223,0 duplicate(PTree#rusmain) Pointed Tree#rus16 HIDDEN_NPC +mosk_fild02,101,197,0 duplicate(PTree#rusmain) Pointed Tree#rus17 HIDDEN_NPC +mosk_fild02,125,182,0 duplicate(PTree#rusmain) Pointed Tree#rus18 HIDDEN_NPC //---------------------------------------------------------------------------- // Worried Mother (Lusalka's Hair) //---------------------------------------------------------------------------- -moscovia,166,145,1 script Worried Mother#rus19 961,{ +moscovia,166,145,1 script Worried Mother#rus19 4_F_RUSWOMAN3,{ if (rhea_rus_main < 8) { mes "[Worried Mother]"; mes "Where is she..."; @@ -8568,12 +8287,10 @@ moscovia,166,145,1 script Worried Mother#rus19 961,{ close; } else if (rhea_rus_main == 8) { if (rhea_rus_hair < 1) { - if (getequipid(EQI_SHOES) != 2429) { - if (getequipid(EQI_SHOES) != 2430) { - mes "["+ strcharinfo(0) +"]"; - mes "...Hmm, did I forget to wear something...?"; - close; - } + if (getequipid(EQI_SHOES) != 2429 && getequipid(EQI_SHOES) != 2430) { + mes "["+ strcharinfo(0) +"]"; + mes "...Hmm, did I forget to wear something...?"; + close; } mes "[Worried Mother]"; mes "Where is she..."; @@ -8604,7 +8321,8 @@ moscovia,166,145,1 script Worried Mother#rus19 961,{ next; mes "[Worried Mother]"; mes "Please, please find my daughter."; - set rhea_rus_hair,1; + rhea_rus_hair = 1; + // setquest 8148; close; } else if (rhea_rus_hair == 1) { mes "[Worried Mother]"; @@ -8627,7 +8345,8 @@ moscovia,166,145,1 script Worried Mother#rus19 961,{ next; mes "[Worried Mother]"; mes "I'm not sure where she would be but it has to be somewhere near water. Please, find where my daughter is. I beg of you."; - set rhea_rus_hair,2; + rhea_rus_hair = 2; + // changequest 8148,8149; close; } else if (rhea_rus_hair > 1 && rhea_rus_hair < 9) { mes "[Worried Mother]"; @@ -8658,13 +8377,13 @@ moscovia,166,145,1 script Worried Mother#rus19 961,{ //---------------------------------------------------------------------------- // Marsh Warning Signs //---------------------------------------------------------------------------- -- script Caution#07rus::NoSwim 837,{ +- script Caution#07rus::NoSwim -1,{ mes " WARNING !! "; mes "No Swimming"; close; } -mosk_fild02,101,204,0 duplicate(NoSwim) Caution#rus01 837 -mosk_fild02,101,200,0 duplicate(NoSwim) Caution#rus02 837 +mosk_fild02,101,204,0 duplicate(NoSwim) Caution#rus01 2_BULLETIN_BOARD +mosk_fild02,101,200,0 duplicate(NoSwim) Caution#rus02 2_BULLETIN_BOARD //---------------------------------------------------------------------------- // Lusalka Trigger (Lusalka's Hair) @@ -8672,15 +8391,15 @@ mosk_fild02,101,200,0 duplicate(NoSwim) Caution#rus02 837 mosk_fild02,116,202,3 script Lusalka#07russai_22 -1,3,3,{ end; OnTouch: - if (rhea_rus_main != 8) { + if (rhea_rus_main != 8 || rhea_rus_hair < 2) { emotion e_what,1; end; } if (rhea_rus_hair == 2) { - if (gettime(3)>=23 || gettime(3)<=5) { + if (gettime(3) >= 17 || gettime(3) <= 6) { mes "- Splash !! -"; next; - if (countitem(523) > 0) { + if (countitem(523) > 0) {// Holy_Water mes "- You hear a splashing sound -"; mes "- and see something gleaming -"; donpcevent "Lusalka#rus23::OnEnable"; @@ -8691,7 +8410,7 @@ OnTouch: mes "- seems to stare at you!! -"; next; specialeffect2 EF_FLASHER; - percentheal -100,0; + percentheal -60,0; close; } } else if (rhea_rus_hair > 2 && rhea_rus_hair < 7) { @@ -8702,7 +8421,7 @@ OnTouch: mes "And please, tell him to stop suffering and to be happy. This is my request."; close; } else if (rhea_rus_hair == 7) { - if (gettime(3)>=23 || gettime(3)<=5) { + if (gettime(3) >= 17 || gettime(3) <= 6) { mes "- Splash !! -"; next; if (countitem(523) > 0) { @@ -8712,7 +8431,7 @@ OnTouch: } mes "-You seem to hear the splash but something gleaming raids on you!!-"; specialeffect2 EF_FLASHER; - percentheal -100,0; + percentheal -60,0; close; } } else if (rhea_rus_hair == 8) { @@ -8732,8 +8451,10 @@ OnTouch: mes "- As soon as you touch the -"; mes "- cool damp hair, you seem -"; mes "- the feel the sadness within -"; - set rhea_rus_hair,9; + rhea_rus_hair = 9; getitem 7878,2; + // // completequest 8150; + // completequest 8153; close; } else if (rhea_rus_hair > 8) { mes "- You feel that someone -"; @@ -8752,8 +8473,8 @@ OnTouch: //---------------------------------------------------------------------------- // Lusalka (Lusalka's Hair) //---------------------------------------------------------------------------- -mosk_fild02,124,202,3 script Lusalka#rus23 971,{ - if (countitem(523)) { +mosk_fild02,124,202,3 script Lusalka#rus23 4_F_RUSGREEN,{ + if (countitem(523)) {// Holy_Water if (rhea_rus_main < 8) { mes "[Lusalka]"; mes "...Your alive..."; @@ -8762,17 +8483,16 @@ mosk_fild02,124,202,3 script Lusalka#rus23 971,{ close; } else if (rhea_rus_main == 8) { if (rhea_rus_hair < 2) { + mes "[Lusalka]"; mes "...Your alive..."; mes "My stare didn't..."; mes "What are you doing here...?"; close; } else if (rhea_rus_hair == 2) { - if (getequipid(EQI_SHOES) != 2429) { - if (getequipid(EQI_SHOES) != 2430) { - mes "["+ strcharinfo(0) +"]"; - mes "...Hmm, did I forget to wear something...?"; - close; - } + if (getequipid(EQI_SHOES) != 2429 && getequipid(EQI_SHOES) != 2430) { + mes "["+ strcharinfo(0) +"]"; + mes "...Hmm, did I forget to wear something...?"; + close; } mes "...Your alive..."; mes "My stare didn't..."; @@ -8846,7 +8566,8 @@ mosk_fild02,124,202,3 script Lusalka#rus23 971,{ mes "- ^0000ffI recieve the^000000 -"; mes "- ^0000ffgolden earrings^000000 -"; mes "- ^0000fffrom Lusalka!^000000 -"; - set rhea_rus_hair,3; + rhea_rus_hair = 3; + // changequest 8149,8150; donpcevent "Lusalka#rus23::OnDisable"; close; } else if (rhea_rus_hair > 2 && rhea_rus_hair < 7) { @@ -8857,12 +8578,10 @@ mosk_fild02,124,202,3 script Lusalka#rus23 971,{ mes "And please, tell him to stop suffering and to be happy. This is my request."; close; } else if (rhea_rus_hair == 7) { - if (getequipid(EQI_SHOES) != 2429) { - if (getequipid(EQI_SHOES) != 2430) { - mes "["+ strcharinfo(0) +"]"; - mes "...Hmm, did I forget to wear something...?"; - close; - } + if (getequipid(EQI_SHOES) != 2429 && getequipid(EQI_SHOES) != 2430) { + mes "["+ strcharinfo(0) +"]"; + mes "...Hmm, did I forget to wear something...?"; + close; } mes "[Lusalka]"; mes "Have you seen him? How was he?"; @@ -8926,7 +8645,9 @@ mosk_fild02,124,202,3 script Lusalka#rus23 971,{ mes "["+ strcharinfo(0) +"]"; mes "W, who are you!? Ahkkk!!"; sc_start SC_BLIND,10000,0; - set rhea_rus_hair,8; + rhea_rus_hair = 8; + // // completequest 8150; + // completequest 8153; donpcevent "Lusalka#rus23::OnDisable"; close; } else if (rhea_rus_hair > 7) { @@ -8952,34 +8673,27 @@ mosk_fild02,124,202,3 script Lusalka#rus23 971,{ } mes "-When Lusalka watches you, you are blacked out-"; specialeffect2 EF_FLASHER; - percentheal -100,0; + percentheal -60,0; donpcevent "Lusalka#rus23::OnDisable"; close; -OnInit: - disablenpc "Lusalka#rus23"; - end; - OnEnable: initnpctimer; enablenpc "Lusalka#rus23"; end; +OnTimer300000: OnDisable: stopnpctimer; +OnInit: disablenpc "Lusalka#rus23"; end; - -OnTimer300000: - stopnpctimer; - donpcevent "Lusalka#rus23::OnDisable"; - end; } //---------------------------------------------------------------------------- // Wanderer (Lusalka's Hair) //---------------------------------------------------------------------------- -prontera,228,279,3 script Wanderer#rus24 968,{ +prontera,228,279,3 script Wanderer#rus24 4_M_RUSMAN2,{ if (rhea_rus_main < 8) { mes "[A Wanderer from a strange land]"; mes "Hey, there are so many adventurers around here. I can see why this is the capital of the Rune Midgarts Kingdom!"; @@ -8996,12 +8710,10 @@ prontera,228,279,3 script Wanderer#rus24 968,{ mes "In your free time, come to see me! The weather here is even more favorable than our the best summer back home."; close; } else if (rhea_rus_hair == 3) { - if (getequipid(EQI_SHOES) != 2429) { - if (getequipid(EQI_SHOES) != 2430) { - mes "["+ strcharinfo(0) +"]"; - mes "...Hmm, did I forget to wear something...?"; - close; - } + if (getequipid(EQI_SHOES) != 2429 && getequipid(EQI_SHOES) != 2430) { + mes "["+ strcharinfo(0) +"]"; + mes "...Hmm, did I forget to wear something...?"; + close; } mes "[A Wanderer from a strange land]"; mes "Hey, there are so many adventurers around here. I can see why this is the capital of the Rune Midgarts Kingdom!"; @@ -9058,7 +8770,8 @@ prontera,228,279,3 script Wanderer#rus24 968,{ mes "Though, he did tell"; mes "me that he wanted"; mes "to travel to a desert."; - set rhea_rus_hair,4; + rhea_rus_hair = 4; + // changequest 8150,8151; close; } else if (rhea_rus_hair > 3 && rhea_rus_hair < 7) { mes "[A Wanderer from a strange land]"; @@ -9084,7 +8797,7 @@ prontera,228,279,3 script Wanderer#rus24 968,{ //---------------------------------------------------------------------------- // Morroc Villager (Lusalka's Hair) //---------------------------------------------------------------------------- -morocc,165,82,0 script Morroc Villager#rus25 48,{ +morocc,165,82,0 script Morroc Villager#rus25 1_M_02,{ if (rhea_rus_main < 8) { mes "[Morroc Villager]"; mes "Huh, more and more adventurers are settling here recently, so it's hard to tell who is a villager or an adventurer."; @@ -9101,12 +8814,10 @@ morocc,165,82,0 script Morroc Villager#rus25 48,{ mes "But natives, like me, can tell the difference."; close; } else if (rhea_rus_hair == 4) { - if (getequipid(EQI_SHOES) != 2429) { - if (getequipid(EQI_SHOES) != 2430) { - mes "["+ strcharinfo(0) +"]"; - mes "...Hmm, did I forget to wear something...?"; - close; - } + if (getequipid(EQI_SHOES) != 2429 && getequipid(EQI_SHOES) != 2430) { + mes "["+ strcharinfo(0) +"]"; + mes "...Hmm, did I forget to wear something...?"; + close; } mes "[Morroc Villager]"; mes "Huh, more and more adventurers are settling here recently, so it's hard to tell who is a villager or an adventurer."; @@ -9138,7 +8849,8 @@ morocc,165,82,0 script Morroc Villager#rus25 48,{ next; mes "[Morroc Villager]"; mes "Yep that's gotta be who you're looking for. I can see his gloomy face right now... that poor sad man."; - set rhea_rus_hair,5; + rhea_rus_hair = 5; + // changequest 8151,8152; close; } else if (rhea_rus_hair > 4 && rhea_rus_hair < 7) { mes "[Morroc Villager]"; @@ -9157,7 +8869,7 @@ morocc,165,82,0 script Morroc Villager#rus25 48,{ //---------------------------------------------------------------------------- // Soldier/Igor (Lusalka's Hair) //---------------------------------------------------------------------------- -moc_pryd04,126,120,0 script Soldier#rus26 967,{ +moc_pryd04,126,120,0 script Soldier#rus26 4_M_RUSMAN1,{ if (rhea_rus_main < 8) { mes "[A gloomy looking soldier]"; mes "............................"; @@ -9168,12 +8880,11 @@ moc_pryd04,126,120,0 script Soldier#rus26 967,{ mes "............................"; close; } else if (rhea_rus_hair == 4 || rhea_rus_hair == 5) { - if (getequipid(EQI_SHOES) != 2429) { - if (getequipid(EQI_SHOES) != 2430) { - mes "["+ strcharinfo(0) +"]"; - mes "...Hmm, did I forget to wear something...?"; - close; - } + .@player_name$ = strcharinfo(0); + if (getequipid(EQI_SHOES) != 2429 && getequipid(EQI_SHOES) != 2430) { + mes "["+ .@player_name$ +"]"; + mes "...Hmm, did I forget to wear something...?"; + close; } mes "[A gloomy looking soldier]"; mes "............................"; @@ -9181,25 +8892,25 @@ moc_pryd04,126,120,0 script Soldier#rus26 967,{ mes "[A gloomy looking soldier]"; mes "...I don't know who you are. Just get outta my face. I don't want to talk..."; next; - mes "["+ strcharinfo(0) +"]"; + mes "["+ .@player_name$ +"]"; mes "It's pretty dangerous here. There are fierce monsters all over the place."; next; mes "[A gloomy looking soldier]"; mes "... Good. Let them come. I want to die here alone."; next; - mes "["+ strcharinfo(0) +"]"; + mes "["+ .@player_name$ +"]"; mes "A-Are you Igor? What're you talking about? Have you gone nuts?"; next; - mes "["+ strcharinfo(0) +"]"; + mes "["+ .@player_name$ +"]"; mes "Do you have any idea how much your lover is suffering?"; next; mes "[A gloomy looking soldier]"; mes "My... lover...?"; next; - mes "["+ strcharinfo(0) +"]"; + mes "["+ .@player_name$ +"]"; mes "I brought a message from her. She says not to suffer anymore and to just be happy..."; next; - mes "["+ strcharinfo(0) +"]"; + mes "["+ .@player_name$ +"]"; mes "The more you suffer, the deeper she sinks into sadness. Don't think that you're the only one that's suffering..."; next; mes "[A gloomy looking soldier]"; @@ -9214,10 +8925,10 @@ moc_pryd04,126,120,0 script Soldier#rus26 967,{ mes "T, this is Svetlana's...?!"; mes "H, how did you!?"; next; - mes "["+ strcharinfo(0) +"]"; + mes "["+ .@player_name$ +"]"; mes "I met her by accident. She became Lusalka in the marsh of Moscovia."; next; - mes "["+ strcharinfo(0) +"]"; + mes "["+ .@player_name$ +"]"; mes "She told me that you wouldn't believe me so she gave me these earrings as proof... The present that you gave to her."; next; mes "[A gloomy looking soldier]"; @@ -9242,15 +8953,13 @@ moc_pryd04,126,120,0 script Soldier#rus26 967,{ mes "[A gloomy looking soldier]"; mes "I, I was a coward. I was too afraid of drowning to pull her out of the marsh. Too afraid of...."; mes "Oh... Svetlana!!!"; - set rhea_rus_hair,6; + rhea_rus_hair = 6; close; } else if (rhea_rus_hair == 6) { - if (getequipid(EQI_SHOES) != 2429) { - if (getequipid(EQI_SHOES) != 2430) { - mes "["+ strcharinfo(0) +"]"; - mes "...Hmm, did I forget to wear something...?"; - close; - } + if (getequipid(EQI_SHOES) != 2429 && getequipid(EQI_SHOES) != 2430) { + mes "["+ strcharinfo(0) +"]"; + mes "...Hmm, did I forget to wear something...?"; + close; } mes "[A gloomy looking soldier]"; mes "I knew that she had become the cursed nymph Lusalka. But, I still went every night... to find her. I just wanted to see her and talk to her."; @@ -9278,7 +8987,8 @@ moc_pryd04,126,120,0 script Soldier#rus26 967,{ next; mes "[A gloomy looking soldier]"; mes "Before the full moon, I will be back to Moscovia and meet her. I will come back so strong and happy that when I go to see her she will not suffer anymore."; - set rhea_rus_hair,7; + rhea_rus_hair = 7; + // changequest 8152,8153; close; } else if (rhea_rus_hair == 7) { mes "[A gloomy looking soldier]"; @@ -9300,30 +9010,22 @@ moc_pryd04,126,120,0 script Soldier#rus26 967,{ //---------------------------------------------------------------------------- // Marozka's Dungeon (Golden Thread) //---------------------------------------------------------------------------- -mosk_dun01,45,250,3 script 1#rus27 45,3,3,{ +mosk_dun01,45,250,3 script 1#rus27 WARPNPC,3,3,{ end; OnTouch: warp "mosk_que",49,22; end; -OnInit: - disablenpc "1#rus27"; - end; - OnEnable: initnpctimer; specialeffect EF_PORTAL2; enablenpc "1#rus27"; end; -OnDisable: - stopnpctimer; - disablenpc "1#rus27"; - end; - OnTimer30000: stopnpctimer; - donpcevent "1#rus27::OnDisable"; +OnInit: + disablenpc "1#rus27"; end; } mosk_que,0,0,0,0 monster Freezer 1887,10,20000,0,0 @@ -9364,7 +9066,8 @@ OnTouch: next; mes "[Voice unidentified]"; mes "Show me what you can do."; - set rhea_rus_quiz,1; + rhea_rus_quiz = 1; + // setquest 8155; close; } } @@ -9372,15 +9075,13 @@ OnTouch: close; } -mosk_que,45,131,0 script Stone Furnace#rus28 111,{ +mosk_que,45,131,0 script Stone Furnace#rus28 HIDDEN_NPC,{ if (rhea_rus_main == 8) { if (rhea_rus_quiz == 1) { - if (getequipid(EQI_SHOES) != 2429) { - if (getequipid(EQI_SHOES) != 2430) { - mes "["+ strcharinfo(0) +"]"; - mes "...Hmm, did I forget to wear something...?"; - close; - } + if (getequipid(EQI_SHOES) != 2429 && getequipid(EQI_SHOES) != 2430) { + mes "["+ strcharinfo(0) +"]"; + mes "...Hmm, did I forget to wear something...?"; + close; } mes "- You can see the -"; mes "- well baked cookies. -"; @@ -9407,51 +9108,42 @@ mosk_que,45,131,0 script Stone Furnace#rus28 111,{ percentheal -5,0; close; } + mes "[Marozka's Guard]"; + mes "How did this rat get inside the cave?!"; + announce "Marozka's Guard : Invader! Search the whole cave!!",bc_map,0x87CEEB; + rhea_rus_quiz = 2; if (!$@rus_req01) { - mes "[Marozka's Guard]"; - mes "How did this rat get inside the cave?!"; - announce "Marozka's Guard : Invader! Search the whole cave!!",bc_map,0x87CEEB; - set rhea_rus_quiz,2; initnpctimer; monster "mosk_que",49,156,"Marozka's Guard",1889,1,"Stone Furnace#rus28::OnMyMobDead"; - set $@rus_req01,1; - close; + $@rus_req01 = 1; } - mes "[Marozka's Guard]"; - mes "How did this rat get inside the cave?!"; - announce "Marozka's Guard : Invader! Search the whole cave!!",bc_map,0x87CEEB; - set rhea_rus_quiz,2; close; } } emotion e_what,1; close; -OnInit: - set $@rus_req01,0; - end; - OnMyMobDead: stopnpctimer; - set $@rus_req01,0; + $@rus_req01 = 0; announce "Mazroka : You are truly brave. When you get the cookies and apples, come to see me.",bc_map,0x87CEEB; end; OnTimer300000: - set $@rus_req01,0; killmonster "mosk_que","Stone Furnace#rus28::OnMyMobDead"; + stopnpctimer; +OnInit: + $@rus_req01 = 0; end; } -mosk_que,56,202,0 script Occult Apple Tree#rus29 111,{ +mosk_que,56,202,0 script Occult Apple Tree#rus29 HIDDEN_NPC,{ if (rhea_rus_main == 8) { if (rhea_rus_quiz == 2) { - if (getequipid(EQI_SHOES) != 2429) { - if (getequipid(EQI_SHOES) != 2430) { - mes "["+ strcharinfo(0) +"]"; - mes "...Hmm, did I forget to wear something...?"; - close; - } + if (getequipid(EQI_SHOES) != 2429 && getequipid(EQI_SHOES) != 2430) { + mes "["+ strcharinfo(0) +"]"; + mes "...Hmm, did I forget to wear something...?"; + close; } mes "- There are Ripe Apples -"; mes "- growing in clusters. -"; @@ -9473,7 +9165,7 @@ mosk_que,56,202,0 script Occult Apple Tree#rus29 111,{ } mes "- ^0000ff You get 100 Apples !!^000000 -"; announce "Mazroka : You are truly brave. When you get the cookies and apples, come to see me.",bc_map,0x87CEEB; - set rhea_rus_quiz,3; + rhea_rus_quiz = 3; close; } } @@ -9481,12 +9173,12 @@ mosk_que,56,202,0 script Occult Apple Tree#rus29 111,{ close; } -mosk_que,47,217,0 warp Escape#rus30 1,1,mosk_fild02,237,266 +mosk_que,47,217,0 warp Escape#rus30 3,3,mosk_fild02,237,266 //---------------------------------------------------------------------------- // Marozka (Golden Thread) //---------------------------------------------------------------------------- -mosk_fild02,243,270,0 script Marozka#rus31 866,{ +mosk_fild02,243,270,0 script Marozka#rus31 4_M_LGTGRAND,{ if (rhea_rus_main < 8) { mes "[Marozka]"; mes "..........................."; @@ -9497,12 +9189,10 @@ mosk_fild02,243,270,0 script Marozka#rus31 866,{ mes "..........................."; close; } else if (rhea_rus_quiz == 3) { - if (getequipid(EQI_SHOES) != 2429) { - if (getequipid(EQI_SHOES) != 2430) { - mes "["+ strcharinfo(0) +"]"; - mes "...Hmm, did I forget to wear something...?"; - close; - } + if (getequipid(EQI_SHOES) != 2429 && getequipid(EQI_SHOES) != 2430) { + mes "["+ strcharinfo(0) +"]"; + mes "...Hmm, did I forget to wear something...?"; + close; } mes "[Marozka]"; mes ".....................you came."; @@ -9520,16 +9210,17 @@ mosk_fild02,243,270,0 script Marozka#rus31 866,{ next; mes "[Marozka]"; mes "I will begin making it now... let me see... Could you please come back to me in an hour?"; - set rhea_rus_quiz,4; - set rus_time01,gettime(3); - set rus_time02,gettime(4); + rhea_rus_quiz = 4; + rus_time01 = gettime(3); + rus_time02 = gettime(4); + // changequest 8155,8156; close; } else if (rhea_rus_quiz == 4) { - if (rus_time01 < gettime(3) || rus_time02 < gettime(4) || (rus_time02 == 6 && gettime(4) == 0)) { + if (rus_time01 != gettime(3) || rus_time02 != gettime(4)) { mes "[Marozka]"; mes "Ah, just in time."; mes "I have finally finished making the 'Golden Thread'. Just wait one more second and it'll be ready."; - set rhea_rus_quiz,28; + rhea_rus_quiz = 28; close; } mes "[Marozka]"; @@ -9561,15 +9252,14 @@ mosk_fild02,243,270,0 script Marozka#rus31 866,{ next; mes "[Marozka]"; mes "That was a test of your strength. Now you must pass the test of mind and wisdom."; - set rhea_rus_quiz,29; + rhea_rus_quiz = 29; + // changequest 8156,8157; close; } else if (rhea_rus_quiz == 29) { - if (getequipid(EQI_SHOES) != 2429) { - if (getequipid(EQI_SHOES) != 2430) { - mes "["+ strcharinfo(0) +"]"; - mes "...Hmm, did I forget to wear something...?"; - close; - } + if (getequipid(EQI_SHOES) != 2429 && getequipid(EQI_SHOES) != 2430) { + mes "["+ strcharinfo(0) +"]"; + mes "...Hmm, did I forget to wear something...?"; + close; } mes "[Marozka]"; mes "...So? Have you decided?"; @@ -9582,32 +9272,31 @@ mosk_fild02,243,270,0 script Marozka#rus31 866,{ mes "[Marozka]"; mes "You will... Ok, let's get to it. You must answer all of these questions correctly in order to pass the test."; next; - set .@rus_quiz01,0; mes "[Marozka]"; mes "What is deaf, dumb, and blind and always tells the truth?"; next; - set .@j,select("A Poring:A Picky:A Mirror:A Tree"); - set .@rus_quiz01,(.@j==3)?.@rus_quiz01+1:.@rus_quiz01; + .@j = select("A Poring:A Picky:A Mirror:A Tree"); + .@rus_quiz01 = (.@j==3) ? 1 : 0; mes "[Marozka]"; mes "If 4 cats can catch 4 mice every 4 minutes, what is the minimum number of cats needed to get 10 mice in 10 minutes?"; next; - set .@j,select("4:5:6:10"); - set .@rus_quiz01,(.@j==1)?.@rus_quiz01+1:.@rus_quiz01; + .@j = select("4:5:6:10"); + .@rus_quiz01 = (.@j==1)?.@rus_quiz01+1:.@rus_quiz01; mes "[Marozka]"; mes "Which of these gets shorter during winter and longer during summer?"; next; - set .@j,select("Sky:Day:Waves:Wind"); - set .@rus_quiz01,(.@j==2)?.@rus_quiz01+1:.@rus_quiz01; + .@j = select("Sky:Day:Waves:Wind"); + .@rus_quiz01 = (.@j==2)?.@rus_quiz01+1:.@rus_quiz01; mes "[Marozka]"; mes "Doris Etticoat, wears a petticoat and has a red nose; the longer she stands, the shorter she grows. What is she?"; next; - set .@j,select("A Star:A Candle:A Sword:The Moon"); - set .@rus_quiz01,(.@j==2)?.@rus_quiz01+1:.@rus_quiz01; + .@j = select("A Star:A Candle:A Sword:The Moon"); + .@rus_quiz01 = (.@j==2)?.@rus_quiz01+1:.@rus_quiz01; mes "[Marozka]"; mes "My top and bottom are twins of a kind. The middle of me makes one body combined. If I stand tall and still, run faster I will. What am I?"; next; - set .@j,select("A Woman:Valkyrie:The Moon:An Hourglass"); - set .@rus_quiz01,(.@j==4)?.@rus_quiz01+1:.@rus_quiz01; + .@j = select("A Woman:Valkyrie:The Moon:An Hourglass"); + .@rus_quiz01 = (.@j==4)?.@rus_quiz01+1:.@rus_quiz01; mes "[Marozka]"; mes "Now let's see how you did."; next; @@ -9628,8 +9317,9 @@ mosk_fild02,243,270,0 script Marozka#rus31 866,{ next; mes "[Marozka]"; mes "I hope you help Maria with your strength and kindness."; - set rhea_rus_quiz,30; - getitem 7879,10; + rhea_rus_quiz = 30; + getitem 7879,10;// Golden_Thread + // completequest 8157; close; } } @@ -9644,7 +9334,7 @@ mosk_fild02,243,270,0 script Marozka#rus31 866,{ //---------------------------------------------------------------------------- // Baba Yaga (Golden Key) //---------------------------------------------------------------------------- -mosk_dun02,48,214,5 script Baba Yaga#rus32 970,{ +mosk_dun02,48,214,5 script Baba Yaga#rus32 4_F_BABAYAGA,{ if (rhea_rus_main < 9) { mes "[Baba Yaga]"; mes "..........................."; @@ -9653,10 +9343,11 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 970,{ emotion e_omg,1; close; } else if (rhea_rus_main == 9) { + .@player_name$ = strcharinfo(0); mes "[Baba Yaga]"; mes "Why are you here, you yummy looking human? If you lotter around here any longer, I will make myself some tasty human soup! Hehehehehe"; next; - mes "["+ strcharinfo(0) +"]"; + mes "["+ .@player_name$ +"]"; mes "I, ah, I.. Gold.. golden..."; next; mes "[Baba Yaga]"; @@ -9676,18 +9367,18 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 970,{ mes "[Baba Yaga]"; mes "Leave now, or I will curse you again! 'Presto...'"; next; - mes "["+ strcharinfo(0) +"]"; + mes "["+ .@player_name$ +"]"; mes "Eh, eh.. I mean.. I say.. spell..."; next; input .@input$; if (.@input$ == "Spellshield Protection") { - mes "["+ strcharinfo(0) +"]"; + mes "["+ .@player_name$ +"]"; mes "Eh, eh.. I mean.. I say.. spell..."; mes ""+ .@input$ +" !!!"; specialeffect2 EF_ABSORBSPIRITS; next; } else { - mes "["+ strcharinfo(0) +"]"; + mes "["+ .@player_name$ +"]"; mes "Eh, eh.. I mean.. I say.. spell..."; mes ""+ .@input$ +" !!!"; next; @@ -9701,20 +9392,20 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 970,{ mes "[Baba Yaga]"; mes "Ho, you are protected by a Protection Spell. You are no ordinary kid."; next; - mes "["+ strcharinfo(0) +"]"; + mes "["+ .@player_name$ +"]"; mes "I heard that you are able to make the 'Golden Key' and that's why I am here!"; next; mes "[Baba Yaga]"; mes "'Golden Key'? Why do you need it?"; next; - mes "["+ strcharinfo(0) +"]"; + mes "["+ .@player_name$ +"]"; mes "I need it to release Maria Mobrena from her dark wall prison."; next; mes "[Baba Yaga]"; mes "...Maria Morebna..."; mes "Are you fighting against Koshei?"; next; - mes "["+ strcharinfo(0) +"]"; + mes "["+ .@player_name$ +"]"; mes "If he gets in my way of keeping my promise to her, I guess that I will fight him."; next; mes "[Baba Yaga]"; @@ -9743,7 +9434,7 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 970,{ delitem 7877,1; delitem 7878,2; delitem 7879,10; - set rhea_rus_main,10; + rhea_rus_main = 10; close; } else if (rhea_rus_main == 10) { mes "[Baba Yaga]"; @@ -9761,7 +9452,8 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 970,{ next; mes "[Baba Yaga]"; mes "Ok! Move, move! You better be quick or I will find a way to punish you. Ehehehehehe."; - set rhea_rus_main,11; + rhea_rus_main = 11; + // changequest 8158,8159; close; } else if (BaseClass == Job_Acolyte) { mes "[Baba Yaga]"; @@ -9769,7 +9461,8 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 970,{ next; mes "[Baba Yaga]"; mes "Ok! Move, move! You better be quick or I will find a way to punish you. Ehehehehehe."; - set rhea_rus_main,16; + rhea_rus_main = 16; + // changequest 8158,8161; close; } else if (BaseClass == Job_Thief) { mes "[Baba Yaga]"; @@ -9777,7 +9470,8 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 970,{ next; mes "[Baba Yaga]"; mes "Ok! Move, move! You better be quick or I will find a way to punish you. Ehehehehehe."; - set rhea_rus_main,21; + rhea_rus_main = 21; + // changequest 8158,8163; close; } else if (BaseClass == Job_Mage) { mes "[Baba Yaga]"; @@ -9785,7 +9479,8 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 970,{ next; mes "[Baba Yaga]"; mes "Ok! Move, move! You better be quick or I will find a way to punish you. Ehehehehehe."; - set rhea_rus_main,26; + rhea_rus_main = 26; + // changequest 8158,8169; close; } else if (BaseClass == Job_Swordman) { mes "[Baba Yaga]"; @@ -9793,7 +9488,8 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 970,{ next; mes "[Baba Yaga]"; mes "Ok! Move, move! You better be quick or I will find a way to punish you. Ehehehehehe."; - set rhea_rus_main,31; + rhea_rus_main = 31; + // changequest 8158,8171; close; } mes "[Baba Yaga]"; @@ -9801,7 +9497,8 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 970,{ next; mes "[Baba Yaga]"; mes "Ok! Move, move! You better be quick or I will find a way to punish you. Ehehehehehe."; - set rhea_rus_main,36; + rhea_rus_main = 36; + // changequest 8158,8173; close; } else if (rhea_rus_main > 10 && rhea_rus_main < 16) { mes "[Baba Yaga]"; @@ -9845,7 +9542,7 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 970,{ mes "'Keep off the grass!!!'"; specialeffect EF_BEGINSPELL4; delitem 7881,1; - set rhea_rus_main,28; + rhea_rus_main = 28; monster "mosk_dun02",52,210,"Violent Gardener",1493,1,"Baba Yaga#rus32::OnMyMobDead"; monster "mosk_dun02",53,210,"Dangerous Gardener",1500,1,"Baba Yaga#rus32::OnMyMobDead"; monster "mosk_dun02",54,210,"Brutal Gardener",1497,1,"Baba Yaga#rus32::OnMyMobDead"; @@ -9871,7 +9568,7 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 970,{ mes "[Baba Yaga]"; mes "'There is an order for you to open your eyes!!!'"; specialeffect2 EF_BEGINSPELL3; - set rhea_rus_main,29; + rhea_rus_main = 29; monster "mosk_dun02",52,210,"Alarm to 5 minutes",1193,1,"Baba Yaga#rus32::OnMyMobDead"; monster "mosk_dun02",53,210,"Alarm on time",1193,1,"Baba Yaga#rus32::OnMyMobDead"; monster "mosk_dun02",54,210,"Alarm past 5 minutes",1193,1,"Baba Yaga#rus32::OnMyMobDead"; @@ -9903,7 +9600,8 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 970,{ next; mes "[Baba Yaga]"; mes "Huh, I can make it for you right now. You have a violent temper."; - set rhea_rus_main,44; + rhea_rus_main = 44; + // changequest 8161,8162; close; } else if (rhea_rus_main > 30 && rhea_rus_main < 36) { mes "[Baba Yaga]"; @@ -9928,8 +9626,9 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 970,{ next; mes "[Baba Yaga]"; mes "Here, help Maria with this key and watch out for Koshei. He is very dangerous. Kehehehehehe."; - set rhea_rus_main,47; + rhea_rus_main = 47; getitem 7876,1; + // changequest 8160,8176; close; } else if (rhea_rus_main == 42) { mes "["+ strcharinfo(0) +"]"; @@ -9943,7 +9642,8 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 970,{ next; mes "[Baba Yaga]"; mes "Here, help Maria with this key and watch out for Koshei. He is very dangerous. Kehehehehehe."; - set rhea_rus_main,47; + // changequest 8162,8176; + rhea_rus_main = 47; getitem 7876,1; close; } else if (rhea_rus_main == 43) { @@ -9960,7 +9660,8 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 970,{ mes "[Baba Yaga]"; mes "Here, help Maria with this key and watch out for Koshei. He is very dangerous. Kehehehehehe."; delitem 7880,1; - set rhea_rus_main,47; + rhea_rus_main = 47; + // changequest 8168,8176; getitem 7876,1; close; } @@ -9985,7 +9686,8 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 970,{ next; mes "[Baba Yaga]"; mes "Here, help Maria with this key and watch out for Koshei. He is very dangerous. Kehehehehehe."; - set rhea_rus_main,47; + rhea_rus_main = 47; + // changequest 8170,8176; getitem 7876,1; close; } else if (rhea_rus_main == 45) { @@ -10000,7 +9702,9 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 970,{ next; mes "[Baba Yaga]"; mes "Here, help Maria with this key and watch out for Koshei. He is very dangerous. Kehehehehehe."; - set rhea_rus_main,47; + rhea_rus_main = 47; + // changequest 8164,8167; + // changequest 8172,8176; getitem 7876,1; close; } else if (rhea_rus_main == 46) { @@ -10015,7 +9719,8 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 970,{ next; mes "[Baba Yaga]"; mes "Here, help Maria with this key and watch out for Koshei. He is very dangerous. Kehehehehehe."; - set rhea_rus_main,47; + rhea_rus_main = 47; + // changequest 8175,8176; getitem 7876,1; close; } else if (rhea_rus_main > 46 && rhea_rus_main < 49) { @@ -10053,7 +9758,8 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 970,{ next; mes "[Baba Yaga]"; mes "Bring them to me quickly! Time is running out!"; - set rhea_rus_main,50; + rhea_rus_main = 50; + // changequest 8178,8179; close; } else if (rhea_rus_main == 50) { if (countitem(523) && countitem(12020) && countitem(610) > 1 && countitem(520) > 9) { @@ -10105,7 +9811,8 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 970,{ delitem 12020,1; delitem 610,2; delitem 520,10; - set rhea_rus_main,51; + rhea_rus_main = 51; + // changequest 8179,8180; close; } mes "[Baba Yaga]"; @@ -10157,7 +9864,7 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 970,{ next; mes "[Baba Yaga]"; mes "Whenever you come to me, I will make you potions with just a few materials and a small fee. I hope that this will be of help to you. Kehehehehehe."; - set rhea_rus_main,53; + rhea_rus_main = 53; close; } else if (rhea_rus_main > 52) { mes "[Baba Yaga]"; @@ -10165,200 +9872,90 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 970,{ next; switch(select("Condensed Red Potion:Condensed Yellow Potion:Cancel")) { case 1: - if (countitem(501) > 0 && countitem(1092) > 0 && countitem(7134) > 0 && countitem(512) > 4) { - if (Zeny > 19) { - set .@red_potion01,countitem(501); - set .@red_tube01,countitem(1092); - set .@red_cup01,countitem(7134); - set .@red_apple01,countitem(512); - set .@red_zeny01,Zeny; - while(1) { - if (!.@red_potion01 || !.@red_tube01 || !.@red_cup01 || .@red_apple01 < 5 || .@red_zeny01 < 20) break; - else { - set .@red_slim01,.@red_slim01+1; - set .@red_potion01,.@red_potion01-1; - set .@redpotion_send,.@redpotion_send+1; - set .@red_tube01,.@red_tube01-1; - set .@redtube_send,.@redtube_send+1; - set .@red_cup01,.@red_cup01-1; - set .@redcup_send,.@redcup_send+1; - set .@red_apple01,.@red_apple01-5; - set .@redapple_send,.@redapple_send+5; - set .@red_zeny01,.@red_zeny01-20; - set .@redzeny_sen,.@redzeny_send+20; - } - } - mes "[Baba Yaga]"; - mes "To make Condensed Red Potions, I need ^0000ff1 Red Potion, 1 Empty Test Tube, 1 Medicine Bowl, 5 Apples and 20 Zeny^000000."; - next; - mes "[Baba Yaga]"; - mes "With your materials, I can make ^0000ff"+ red_slim01 +"^000000 Condensed Red Potions."; - next; - mes "[Baba Yaga]"; - mes "How many do you want me to make? I can only make 100 at a time. If you don't want any, then just say '0'. Kehehehehe."; - next; - while(1) { - input .@input; - if (!.@input) { - mes "[Baba Yaga]"; - mes "You don't want it?"; - next; - mes "[Baba Yaga]"; - mes "I don't understand you. What do you want? Kehehehehe."; - close; - } else if (.@input > 100) { - mes "[Baba Yaga]"; - mes "I said no more then 100 at a time. Kehehehehe."; - next; - } else break; - } - set .@redpotion_send,.@input; - set .@redtube_send,.@input; - set .@redcup_send,.@input; - set .@redapple_send,.@input * 5; - set .@redzeny_send,.@input * 20; - set .@total_red01,.@input; - if (countitem(501) < .@redpotion_send || countitem(1092) < .@redtube_send || countitem(7134) < .@redcup_send || countitem(512) < .@redapple_send || Zeny < .@redzeny_send) { - mes "[Baba Yaga]"; - mes "Where are the materials?"; - mes "They are not enough! Check them and come back again! Kehehehehe."; - close; - } - mes "[Baba Yaga]"; - mes "Ho, you want "+ .@input +". Ok, wait here for a while."; - next; - mes "- Baba Yaga grinds the Apples -"; - mes "- and pours the Red Potion -"; - mes "- into the Medicine Bowl, -"; - mes "- boils and cools it down -"; - mes "- and puts it in the Test Tube -"; - next; - mes "[Baba Yaga]"; - mes "Here, done!"; - specialeffect EF_PHARMACY_OK; - next; - mes "[Baba Yaga]"; - mes "Whenever you want more, come to me."; - delitem 501,.@redpotion_send; - delitem 1092,.@redtube_send; - delitem 7134,.@redcup_send; - delitem 512,.@redapple_send; - set Zeny,Zeny-.@redzeny_send; - getitem 545,.@total_red01; - close; - } - } + .@item = 545; + .@zeny_req = 20; + setarray .@item_req[0], 501,1092,7134,512; + setarray .@amount[0], 1,1,1,5; + .@string$ = "I can only make 100 at a time. If you don't want any, then just say '0'"; + break; + case 2: + .@item = 546; + .@zeny_req = 50; + setarray .@item_req[0], 503,1092,7134,513; + setarray .@amount[0], 1,1,1,10; + .@string$ = "Tell me the number less than 100. If you don't want, tell me zero"; + break; + case 3: + mes "[Baba Yaga]"; + mes "You don't want anything?"; + next; mes "[Baba Yaga]"; - mes "To make Condensed Red Potions, I need ^0000ff1 Red Potion, 1 Empty Test Tube, 1 Medicine Bowl, 5 Apples and 20 Zeny^000000."; + mes "I don't understand you. What do you want? kehehehehe."; close; - case 2: - if (countitem(503) && countitem(1092) && countitem(7134) && countitem(513) > 9) { - if (Zeny > 49) { - set .@yell_potion01,countitem(503); - set .@yell_tube01,countitem(1092); - set .@yell_cup01,countitem(7134); - set .@yell_banana01,countitem(513); - set .@yell_zeny01,Zeny; - while(1) { - if (!.@yell_potion01 || !.@yell_tube01 || !.@yell_cup01 || .@yell_banana01 < 10 || .@yell_zeny01 < 50) break; - else { - set .@yell_slim01,.@yell_slim01+1; - set .@yell_potion01,.@yell_potion01-1; - set .@yellpotion_send,.@yellpotion_send+1; - set .@yell_tube01,.@yell_tube01-1; - set .@yelltube_send,.@yelltube_send+1; - set .@yell_cup01,.@yell_cup01-1; - set .@yellcup_send,.@yellcup_send+1; - set .@yell_banana01,.@yell_banana01-10; - set .@yellbanana_send,.@yellbanana_send+10; - set .@yell_zeny01,.@yell_zeny01-50; - set .@yellzeny_send,.@yellzeny_send+50; - } - } - mes "[Baba Yaga]"; - mes "To make Condensed Yellow Potions, I need ^0000ff1 Yellow Potion, 1 Test Tube, 1 Medicine_Bowl, 10 Bananas and 50 Zeny^000000."; - next; - mes "[Baba Yaga]"; - mes "With your materials, I can make ^0000ff"+ .@yell_slim01+"^000000."; - next; - mes "[Baba Yaga]"; - mes "How many do you want me to make? Tell me the number less than 100. If you don't want, tell me zero. Kehehehehe."; - next; - while(1) { - input .@input; - if (!.@input) { - mes "[Baba Yaga]"; - mes "You don't want it?"; - next; - mes "[Baba Yaga]"; - mes "I don't understand you. What do you want? Kehehehehe."; - close; - } else if (.@input > 100) { - mes "[Baba Yaga]"; - mes "I said no more then 100 at a time. Kehehehehe."; - next; - } else break; - } - set .@yellpotion_send,.@input; - set .@yelltube_send,.@input; - set .@yellcup_send,.@input; - set .@yellbanana_send,.@input*10; - set .@yellzeny_send,.@input*50; - set .@total_yell01,.@input; - if (countitem(503) < .@yellpotion_send || countitem(1092) < .@yelltube_send || countitem(7134) < .@yellcup_send || countitem(513) < .@yellbanana_send || Zeny < .@yellzeny_send) { - mes "[Baba Yaga]"; - mes "Where are the materials?"; - mes "They are not enough! Check them and come back again! Kehehehehe."; - close; - } - mes "[Baba Yaga]"; - mes "Ho, you want "+ .@input +". Ok, wait here for a while."; - next; - mes "- Baba Yaga grinds the Banannas -"; - mes "- and pours the Yellow Potion -"; - mes "- into the Medicine Bowl, -"; - mes "- boils and cools it down -"; - mes "- and puts it in the Test Tube -"; - next; - mes "[Baba Yaga]"; - mes "Here, done!"; - specialeffect EF_PHARMACY_OK; + } + mes "[Baba Yaga]"; + mes sprintf( "To make %s, I need ^0000ff%d %s, %d %s, %d %s, %d %s and %d Zeny^000000.", getitemname(.@item), .@amount[0], getitemname(.@item_req[0]), .@amount[1], getitemname(.@item_req[1]), .@amount[2], getitemname(.@item_req[2]), .@amount[3], getitemname(.@item_req[3]), .@zeny_req ); + if (Zeny >= .@zeny_req && countitem(.@item_req[0]) >= .@amount[0] && countitem(.@item_req[1]) >= .@amount[1] && countitem(.@item_req[2]) >= .@amount[2] && countitem(.@item_req[3]) >= .@amount[3]) { + .@total = countitem(.@item_req[0])/.@amount[0]; + .@total = ( .@total <= ( countitem(.@item_req[1])/.@amount[1] ) ) ? .@total : ( countitem(.@item_req[1])/.@amount[1] ); + .@total = ( .@total <= ( countitem(.@item_req[2])/.@amount[2] ) ) ? .@total : ( countitem(.@item_req[2])/.@amount[2] )); + .@total = ( .@total <= ( countitem(.@item_req[3])/.@amount[3] ) ) ? .@total : ( countitem(.@item_req[3])/.@amount[3] ); + .@total = ( .@total <= ( Zeny/.@zeny_req ) ) ? .@total : ( Zeny/.@zeny_req ); + next; + mes "[Baba Yaga]"; + mes "With your materials, I can make ^0000ff"+ .@total +"^000000 "+ getitemname(.@item) +"."; + next; + mes "[Baba Yaga]"; + mes "How many do you want me to make? "+ .@string$ +". Kehehehehe."; + next; + while(1) { + input .@input; + mes "[Baba Yaga]"; + if (!.@input) { + mes "You don't want it?"; next; mes "[Baba Yaga]"; - mes "Whenever you want more, come to me."; - delitem 503,.@yellpotion_send; - delitem 1092,.@yelltube_send; - delitem 7134,.@yellcup_send; - delitem 513,.@yellbanana_send; - set Zeny,Zeny-.@yellzeny_send; - getitem 546,.@total_yell01; + mes "I don't understand you. What do you want? Kehehehehe."; close; - } + } else if (.@input > 100) { + mes "I said no more then 100 at a time. Kehehehehe."; + next; + } else break; + } + if (Zeny < ( .@zeny_req *.@input ) || countitem(.@item_req[0]) < ( .@amount[0] *.@input ) || countitem(.@item_req[1]) < ( .@amount[1] *.@input ) || countitem(.@item_req[2]) < (.@amount[2] *.@input ) || countitem(.@item_req[3]) < (.@amount[3] *.@input )) { + mes "[Baba Yaga]"; + mes "Where are the materials?"; + mes "They are not enough! Check them and come back again! Kehehehehe."; + close; } mes "[Baba Yaga]"; - mes "To make Condensed Yellow Potions, I need ^0000ff1 Yellow Potion, 1 Test Tube, 1 Medicine_Bowl, 10 Bananas and 50 Zeny^000000."; - close; - case 3: + mes "Ho, you want "+ .@input +". Ok, wait here for a while."; + next; + mes "- Baba Yaga grinds the "+ getitemname(.@item_req[3]) +" -"; + mes "- and pours the "+ getitemname(.@item_req[0]) +" -"; + mes "- into the Medicine Bowl, -"; + mes "- boils and cools it down -"; + mes "- and puts it in the Test Tube -"; + next; mes "[Baba Yaga]"; - mes "You don't want anything?"; + mes "Here, done!"; + specialeffect EF_PHARMACY_OK; next; mes "[Baba Yaga]"; - mes "I don't understand you. What do you want? kehehehehe."; - close; + mes "Whenever you want more, come to me."; + delitem .@item_req[0], ( .@amount[0] *.@input ); + delitem .@item_req[1], ( .@amount[1] *.@input ); + delitem .@item_req[2], ( .@amount[2] *.@input ); + delitem .@item_req[3], ( .@amount[3] *.@input ); + Zeny = Zeny - (.@input*.@zeny_req); + getitem .@item, .@input; } + close; } mes "[Baba Yaga]"; mes "What are you, human child."; close; -OnInit: - enablenpc "Baba Yaga#rus32"; - end; - -OnEnable: - enablenpc "Baba Yaga#rus32"; - end; - OnDisable: initnpctimer; disablenpc "Baba Yaga#rus32"; @@ -10367,133 +9964,21 @@ OnDisable: OnTimer180000: stopnpctimer; killmonster "mosk_dun02","Baba Yaga#rus32::OnMyMobDead"; - donpcevent "Baba Yaga#rus32::OnEnable"; - end; OnMyMobDead: - donpcevent "Baba Yaga#rus32::OnEnable"; + enablenpc "Baba Yaga#rus32"; end; } //---------------------------------------------------------------------------- // Baba Yaga's Tasks (Golden Key) //---------------------------------------------------------------------------- -mosk_dun02,257,193,0 script Cow#rus33 889,3,3,{ - end; -OnInit: - enablenpc "Cow#rus33"; - end; - -OnEnable: - enablenpc "Cow#rus33"; - end; - -OnDisable: - disablenpc "Cow#rus33"; +mosk_dun02,257,193,0 script Cow#rus33 4_BULL,3,3,{ end; - OnTouch: - if (rhea_rus_main == 11) { - mes "[Cow]"; - mes "Moo.."; - next; - mes "["+ strcharinfo(0) +"]"; - mes "Hah, t, that is Baba Yaga's cow?!"; - mes "Y, you..."; - next; - mes "- You approach to the cow carefully and hold its nape -"; - next; - mes "["+ strcharinfo(0) +"]"; - mes "You! Go home now!"; - emotion e_omg; - next; - mes "- The cow seems surprised, jumps and tries to attack you !! -"; - next; - if (rand(1,4) == 3) { - mes "- You almost get hit and dodge its attack and cast the spell !! -"; - next; - input .@input$; - if (.@input$ == "Good feed is orange-flavored") { - mes "["+ strcharinfo(0) +"]"; - mes ""+ .@input$ +" !!!"; - specialeffect EF_TELEPORTATION2; - next; - mes "- You cast the spell in a hurry and the cow is surronded by the light and disappears !! -"; - donpcevent "Cow#rus33::OnDisable"; - donpcevent "Cow#rus34::OnEnable"; - next; - } else { - mes "["+ strcharinfo(0) +"]"; - mes ""+ .@input$ +" !!!"; - next; - mes "[Cow]"; - mes "...Moo..."; - emotion e_dots; - next; - mes "- The cow, seems to gibe at you, looks at you quickly and runs to bushes !! -"; - if (rand(1,2) == 1) { - donpcevent "Cow#rus33::OnDisable"; - donpcevent "Cow#rus34::OnEnable"; - } else { - donpcevent "Cow#rus33::OnDisable"; - donpcevent "Cow#rus35::OnEnable"; - } - close; - } - } else { - mes "["+ strcharinfo(0) +"]"; - mes "Akkkk?! Eh!? The s-spell..."; - next; - mes "- You hesitate, the cow, seems to gibe at you, passes by you and runs to bushes !! -"; - if (rand(1,2) == 1) { - donpcevent "Cow#rus33::OnDisable"; - donpcevent "Cow#rus34::OnEnable"; - } else { - donpcevent "Cow#rus33::OnDisable"; - donpcevent "Cow#rus35::OnEnable"; - } - close; - } - mes "["+ strcharinfo(0) +"]"; - mes "What a surprise. The cow is bad like its owner."; - next; - mes "["+ strcharinfo(0) +"]"; - mes "Ok, then. Let's get back to Baba Yaga..."; - set rhea_rus_main,41; - close; - } else if (rhea_rus_main == 41) { - mes "[Cow]"; - mes "Moo..."; - next; - mes "- The cow is tied around its neck and eats grass comfortably -"; - next; - mes "["+ strcharinfo(0) +"]"; - mes "I must return to Baba Yaga..."; - close; - } mes "[Cow]"; mes "Moo..."; - close; -} - -mosk_dun02,257,193,0 script Cow#rus34 889,3,3,{ - end; -OnInit: - enablenpc "Cow#rus34"; - end; - -OnEnable: - enablenpc "Cow#rus34"; - end; - -OnDisable: - disablenpc "Cow#rus34"; - end; - -OnTouch: if (rhea_rus_main == 11) { - mes "[Cow]"; - mes "Moo.."; next; mes "["+ strcharinfo(0) +"]"; mes "Hah, t, that is Baba Yaga's cow?!"; @@ -10507,129 +9992,38 @@ OnTouch: next; mes "- The cow seems surprised, jumps and tries to attack you !! -"; next; + .@npc_num = atoi( charat( strnpcinfo(2),4 ) ); + if (.@npc_num == 3) + setarray .@other_npc[0],4,5; + else if (.@npc_num == 4) + setarray .@other_npc[0],3,5; + else + setarray .@other_npc[0],3,4; if (rand(1,4) == 3) { mes "- You almost get hit and dodge its attack and cast the spell !! -"; next; input .@input$; - if (.@input$ == "Good feed is orange-flavored") { - mes "["+ strcharinfo(0) +"]"; - mes ""+ .@input$ +" !!!"; - specialeffect EF_TELEPORTATION2; - next; - mes "- You cast the spell in a hurry and the cow is surronded by the light and disappears !! -"; - donpcevent "Cow#rus34::OnDisable"; - donpcevent "Cow#rus34::OnEnable"; - next; - } else { - mes "["+ strcharinfo(0) +"]"; - mes ""+ .@input$ +" !!!"; - next; - mes "[Cow]"; - mes "...Moo..."; - emotion e_dots; - next; - mes "- The cow, seems to gibe at you, looks at you quickly and runs to bushes !! -"; - if (rand(1,2) == 1) { - donpcevent "Cow#rus34::OnDisable"; - donpcevent "Cow#rus34::OnEnable"; - } else { - donpcevent "Cow#rus34::OnDisable"; - donpcevent "Cow#rus35::OnEnable"; - } - close; - } - } else { mes "["+ strcharinfo(0) +"]"; - mes "Akkkk?! Eh!? The s-spell..."; - next; - mes "- You hesitate, the cow, seems to gibe at you, passes by you and runs to bushes !! -"; - if (rand(1,2) == 1) { - donpcevent "Cow#rus34::OnDisable"; - donpcevent "Cow#rus34::OnEnable"; - } else { - mes "- You hesitate, the cow, seems to gibe at you, passes by you and runs to bushes !! -"; - donpcevent "Cow#rus34::OnDisable"; - donpcevent "Cow#rus35::OnEnable"; - } - close; - } - mes "["+ strcharinfo(0) +"]"; - mes "What a surprise. The cow is bad like its owner."; - next; - mes "["+ strcharinfo(0) +"]"; - mes "Ok, then. Let's get back to Baba Yaga..."; - set rhea_rus_main,41; - close; - } else if (rhea_rus_main == 41) { - mes "[Cow]"; - mes "Moo..."; - next; - mes "- The cow is tied around its neck and eats grass comfortably -"; - next; - mes "["+ strcharinfo(0) +"]"; - mes "I must return to Baba Yaga..."; - close; - } - mes "[Cow]"; - mes "Moo..."; - close; -} - -mosk_dun02,257,193,0 script Cow#rus35 889,3,3,{ - end; -OnInit: - enablenpc "Cow#rus35"; - end; - -OnEnable: - enablenpc "Cow#rus35"; - end; - -OnDisable: - disablenpc "Cow#rus35"; - end; - -OnTouch: - if (rhea_rus_main == 11) { - mes "[Cow]"; - mes "Moo.."; - next; - mes "["+ strcharinfo(0) +"]"; - mes "Hah, t, that is Baba Yaga's cow?!"; - mes "Y, you..."; - next; - mes "- You approach to the cow carefully and hold its nape -"; - next; - mes "["+ strcharinfo(0) +"]"; - mes "You! Go home now!"; - emotion e_omg; - next; - mes "- The cow seems surprised, jumps and tries to attack you !! -"; - next; - if (rand(1,4) == 3) { - mes "- You almost get hit and dodge its attack and cast the spell !! -"; - next; - input .@input$; + mes ""+ .@input$ +" !!!"; if (.@input$ == "Good feed is orange-flavored") { - mes "["+ strcharinfo(0) +"]"; - mes ""+ .@input$ +" !!!"; specialeffect EF_TELEPORTATION2; next; mes "- You cast the spell in a hurry and the cow is surronded by the light and disappears !! -"; - donpcevent "Cow#rus35::OnDisable"; - donpcevent "Cow#rus35::OnEnable"; + disablenpc strnpcinfo(0); + enablenpc "Cow#rus3"+ .@other_npc[0]; next; } else { - mes "["+ strcharinfo(0) +"]"; - mes ""+ .@input$ +" !!!"; next; mes "[Cow]"; mes "...Moo..."; emotion e_dots; next; mes "- The cow, seems to gibe at you, looks at you quickly and runs to bushes !! -"; - donpcevent "Cow#rus35::OnDisable"; - donpcevent "Cow#rus35::OnEnable"; + disablenpc strnpcinfo(0); + if (rand(2)) + enablenpc "Cow#rus3"+ .@other_npc[0]; + else + enablenpc "Cow#rus3"+ .@other_npc[1]; close; } } else { @@ -10637,8 +10031,11 @@ OnTouch: mes "Akkkk?! Eh!? The s-spell..."; next; mes "- You hesitate, the cow, seems to gibe at you, passes by you and runs to bushes !! -"; - donpcevent "Cow#rus35::OnDisable"; - donpcevent "Cow#rus35::OnEnable"; + disablenpc strnpcinfo(0); + if (rand(2)) + enablenpc "Cow#rus3"+ .@other_npc[0]; + else + enablenpc "Cow#rus3"+ .@other_npc[1]; close; } mes "["+ strcharinfo(0) +"]"; @@ -10646,37 +10043,29 @@ OnTouch: next; mes "["+ strcharinfo(0) +"]"; mes "Ok, then. Let's get back to Baba Yaga..."; - set rhea_rus_main,41; + rhea_rus_main = 41; + // changequest 8159,8160; close; } else if (rhea_rus_main == 41) { - mes "[Cow]"; - mes "Moo..."; next; mes "- The cow is tied around its neck and eats grass comfortably -"; next; mes "["+ strcharinfo(0) +"]"; mes "I must return to Baba Yaga..."; - close; } - mes "[Cow]"; - mes "Moo..."; close; } +mosk_dun02,146,247,4 duplicate(Cow#rus33) Cow#rus34 4_BULL,3,3 +mosk_dun02,102,107,4 duplicate(Cow#rus33) Cow#rus35 4_BULL,3,3 -mosk_dun02,65,232,0 script Noisy Coffin#rus36 801,{ - if (rhea_rus_main < 16) { - mes "[Noisy Coffin]"; - mes "Isn't it good to be alive? Isn't it good to live?"; - next; - mes "[Noisy Coffin]"; - mes "Don't you want to exchange lives with me? Exchange with me, exchange!"; - close; - } else if (rhea_rus_main > 15 && rhea_rus_main < 19) { +mosk_dun02,65,232,0 script Noisy Coffin#rus36 4_NFCOFFIN,{ + if (rhea_rus_main < 19) { mes "[Noisy Coffin]"; mes "Isn't it good to be alive? Isn't it to live?"; next; mes "[Noisy Coffin]"; mes "Don't you want to exchange lives with me? Exchange with me, exchange!"; + if (rhea_rus_main < 16) close; next; mes "["+ strcharinfo(0) +"]"; mes "Ehh, that's one noisy coffin."; @@ -10688,98 +10077,70 @@ mosk_dun02,65,232,0 script Noisy Coffin#rus36 801,{ mes "["+ strcharinfo(0) +"]"; mes "... How can I silence him..."; next; - while(1) { + while (.@break_while == 0) { switch(select("Pray:Sing a hymn:Pour Holy Water on him:Kick him")) { case 1: + mes "["+ strcharinfo(0) +"]"; + mes "...I'll pray."; + next; + mes "["+ strcharinfo(0) +"]"; + mes "Heaven, earth, and wind belong to God, there is no place for evil."; + specialeffect EF_BLESSING; + next; + mes "[Noisy Coffin]"; if (rhea_rus_main == 17) { - mes "["+ strcharinfo(0) +"]"; - mes "...I'll pray."; - next; - mes "["+ strcharinfo(0) +"]"; - mes "Heaven, earth, and wind belong to God, there is no place for evil."; - specialeffect EF_BLESSING; - next; - mes "[Noisy Coffin]"; mes "Heek, heeee! Heeeeeek!"; - set rhea_rus_main,18; - next; + rhea_rus_main = 18; } else { - mes "["+ strcharinfo(0) +"]"; - mes "...I'll pray."; - next; - mes "["+ strcharinfo(0) +"]"; - mes "Heaven, earth, and wind belong to God, there is no place for evil."; - specialeffect EF_BLESSING; - next; - mes "[Noisy Coffin]"; mes "What was that? What was that for? Was it fun?"; next; mes "["+ strcharinfo(0) +"]"; mes "......................................"; - next; + .@break_while = 1; } break; case 2: + mes "["+ strcharinfo(0) +"]"; + mes "Hmm, hmm! I'll sing a hymn. The first phrase 'Holy god against evils'!!"; + next; + mes "["+ strcharinfo(0) +"]"; + mes "- The covetous, the perverse -"; + mes "- All the evils hateful -"; + mes "- Will be droven off this land -"; + specialeffect EF_GLORIA; + next; + mes "[Noisy Coffin]"; if (rhea_rus_main == 18) { - mes "["+ strcharinfo(0) +"]"; - mes "Hmm, hmm! I'll sing a hymn. The first phrase 'Holy god against evils'!!"; - next; - mes "["+ strcharinfo(0) +"]"; - mes "- The covetous, the perverse -"; - mes "- All the evils hateful -"; - mes "- Will be droven off this land -"; - specialeffect EF_GLORIA; - next; - mes "[Noisy Coffin]"; mes "Heek, heeee! Heeeeeek!"; - set rhea_rus_main,19; - next; + rhea_rus_main = 19; } else { - mes "["+ strcharinfo(0) +"]"; - mes "Hmm, hmm! I'll sing a hymn. The first phrase 'Good looks down at us'!!"; - next; - mes "["+ strcharinfo(0) +"]"; - mes "- The covetous, the perverse -"; - mes "- All the evils hateful -"; - mes "- Will be droven off this land -"; - specialeffect EF_GLORIA; - next; - mes "[Noisy Coffin]"; mes "Perverse! The perverse!! Drive away!! What was that song?! Was it fun?!"; next; mes "["+ strcharinfo(0) +"]"; mes "......................................"; - next; + .@break_while = 1; } break; case 3: if (countitem(523)) { + mes "["+ strcharinfo(0) +"]"; + mes "If you don't shut up, I will pour Holy Water on you!"; + next; + mes "- You open the bottle of Holy Water and pour it around the coffin carefully !! -"; + specialeffect EF_SPHERE; + next; + mes "[Noisy Coffin]"; if (rhea_rus_main == 16) { - mes "["+ strcharinfo(0) +"]"; - mes "If you don't shut up, I will pour Holy Water on you!"; - next; - mes "- You open the bottle of Holy Water and pour it around the coffin carefully !! -"; - specialeffect EF_SPHERE; - next; - mes "[Noisy Coffin]"; mes "Heek, heeee! Heeeeeek!"; delitem 523,1; - set rhea_rus_main,17; - next; + rhea_rus_main = 17; } else { - mes "["+ strcharinfo(0) +"]"; - mes "If you don't shut up, I will pour Holy Water on you!"; - next; - mes "- You open the bottle of Holy Water and pour it around the coffin carefully !! -"; - specialeffect EF_SPHERE; - next; - mes "[Noisy Coffin]"; mes "Ah, cold! No, it's cool! Was it fun? Was it fun?!"; delitem 523,1; next; mes "["+ strcharinfo(0) +"]"; mes "......................................"; - next; + .@break_while = 1; } } else { mes "["+ strcharinfo(0) +"]"; @@ -10790,44 +10151,36 @@ mosk_dun02,65,232,0 script Noisy Coffin#rus36 801,{ next; mes "["+ strcharinfo(0) +"]"; mes "......................................"; - next; + .@break_while = 1; } break; case 4: + mes "["+ strcharinfo(0) +"]"; + mes "...If you don't shut up..."; + mes "......I will kick you!!"; + next; + mes "- You close your eyes, take a deep breathe and kick the coffin with the might of God !! -"; + next; + mes "[Noisy Coffin]"; if (rhea_rus_main == 19) { - mes "["+ strcharinfo(0) +"]"; - mes "...If you don't shut up..."; - mes "......I will kick you!!"; - next; - mes "- You close your eyes, take a deep breathe and kick the coffin with the might of God !! -"; - next; - mes "[Noisy Coffin]"; mes "Heeeek! Heeeeeee!!!! I am scared! Stop it!!"; specialeffect EF_HOLYHIT; - set rhea_rus_main,20; - next; + rhea_rus_main = 20; } else { - mes "["+ strcharinfo(0) +"]"; - mes "...If you don't shut up..."; - mes "......I will kick you!!"; - next; - mes "- You close your eyes, take a deep breathe and kick the coffin with the might of God !! -"; - specialeffect EF_HOLYHIT; - next; - mes "[Noisy Coffin]"; mes "Slam! Slam! I like noise! Do it more, more, more!"; next; mes "["+ strcharinfo(0) +"]"; mes "......................................"; - next; } + .@break_while = 1; break; } + next; } if (rhea_rus_main < 20) { mes "["+ strcharinfo(0) +"]"; mes "... Not effective..."; - set rhea_rus_main,16; + rhea_rus_main = 16; close; } mes "["+ strcharinfo(0) +"]"; @@ -10840,7 +10193,8 @@ mosk_dun02,65,232,0 script Noisy Coffin#rus36 801,{ mes "["+ strcharinfo(0) +"]"; mes "Hu, the job has been done."; mes "Let's get back to Baba Yaga."; - set rhea_rus_main,42; + rhea_rus_main = 42; + // changequest 8161,8162; close; } else if (rhea_rus_main == 20) { mes "["+ strcharinfo(0) +"]"; @@ -10853,7 +10207,7 @@ mosk_dun02,65,232,0 script Noisy Coffin#rus36 801,{ mes "["+ strcharinfo(0) +"]"; mes "Hu, the job has been done."; mes "Let's get back to Baba Yaga."; - set rhea_rus_main,42; + rhea_rus_main = 42; close; } else if (rhea_rus_main == 42) { mes "["+ strcharinfo(0) +"]"; @@ -10873,7 +10227,7 @@ mosk_dun02,65,232,0 script Noisy Coffin#rus36 801,{ close; } -treasure01,165,58,0 script Old Treasure Box#rus37 111,{ +treasure01,165,58,0 script Old Treasure Box#rus37 HIDDEN_NPC,{ if ((MaxWeight-Weight) < 3500) { mes "You are carrying too much!"; mes "Lose some weight and try again."; @@ -10911,7 +10265,8 @@ treasure01,165,58,0 script Old Treasure Box#rus37 111,{ mes "- The light reflected goes to the woman shape and fumes comes from the box and it opens !! -"; next; mes "- ^0000ff You find Baba Yaga's spoon !!^000000 -"; - set rhea_rus_main,43; + // changequest 8167,8168; + rhea_rus_main = 43; getitem 7880,1; close; } else if (rhea_rus_main == 43) { @@ -10920,10 +10275,6 @@ treasure01,165,58,0 script Old Treasure Box#rus37 111,{ } end; -OnInit: - enablenpc "Old Treasure Box#rus37"; - end; - OnCall: initnpctimer; monster "treasure01",164,58,"Medusa",1148,1,"Old Treasure Box#rus37::OnMyMobDead"; @@ -10933,56 +10284,45 @@ OnCall: monster "treasure01",168,59,"Obeaune",1044,1,"Old Treasure Box#rus37::OnMyMobDead"; end; -OnReset: - stopnpctimer; - killmonster "treasure01","Old Treasure Box#rus37::OnMyMobDead"; - end; - -OnEnable: - enablenpc "Old Treasure Box#rus37"; - end; - OnDisable: initnpctimer; disablenpc "Old Treasure Box#rus37"; end; -OnMyMobDead: - donpcevent "Old Treasure Box#rus37::OnEnable"; - end; - OnTimer180000: stopnpctimer; - donpcevent "Old Treasure Box#rus37::OnReset"; - donpcevent "Old Treasure Box#rus37::OnEnable"; + killmonster "treasure01","Old Treasure Box#rus37::OnMyMobDead"; + +OnMyMobDead: + enablenpc "Old Treasure Box#rus37"; end; } -treasure01,24,39,0 script Old Bed#rus38 111,{ - if (rhea_rus_main == 21) { +treasure01,24,39,0 script Old Bed#rus38 HIDDEN_NPC,{ + if (rhea_rus_main >= 21 && rhea_rus_main < 26) { mes "- An old bed covered with dust and must -"; next; switch(select("On the bed:Under the bed:Bed sheet")) { - case 1: - mes "- Mushrooms grow on the bed -"; - next; - mes "["+ strcharinfo(0) +"]"; - mes "...Life......"; - close; - break; - case 2: - mes "- You look at the under the bed -"; - next; - mes "["+ strcharinfo(0) +"]"; - mes "Ouch?!"; - specialeffect2 EF_HIT2; - percentheal -5,0; - next; - mes "- Something unidentified bites your hand !! -"; - close; - break; - case 3: - break; + case 1: + mes "- Mushrooms grow on the bed -"; + next; + mes "["+ strcharinfo(0) +"]"; + mes "...Life......"; + close; + case 2: + mes "- You look at the under the bed -"; + next; + mes "["+ strcharinfo(0) +"]"; + mes "Ouch?!"; + specialeffect2 EF_HIT2; + percentheal -5,0; + next; + mes "- Something unidentified bites your hand !! -"; + close; + } + if (rhea_rus_main != 21) { + mes "- While running in a hurry, the sheet is a bit torn -"; + close; } mes "- You raise the dirty sheet that has many holes -"; next; @@ -11008,56 +10348,32 @@ treasure01,24,39,0 script Old Bed#rus38 111,{ next; mes "["+ strcharinfo(0) +"]"; mes "Eek, it would be best to run away now!"; - set rhea_rus_main,22; + rhea_rus_main = 22; + // changequest 8163,8164; close2; warp "treasure01",68,28; - end; - } else if (rhea_rus_main > 21 && rhea_rus_main < 26) { - mes "- An old bed covered with dust and must -"; - next; - switch(select("On the bed:Under the bed:Bed sheet")) { - case 1: - mes "- Mushrooms grow on the bed -"; - next; - mes "["+ strcharinfo(0) +"]"; - mes "...Life......"; - close; - break; - case 2: - mes "- You look at the under the bed -"; - next; - mes "["+ strcharinfo(0) +"]"; - mes "Ouch?!"; - specialeffect2 EF_HIT2; - percentheal -5,0; - next; - mes "- Something unidentified bites your hand !! -"; - close; - break; - case 3: - break; - } - mes "- While running in a hurry, the sheet is a bit torn -"; - close; } end; } -treasure01,98,119,0 script Dirty Wall#rus39 111,{ - if (rhea_rus_main == 22 || (rhea_rus_main > 22 && rhea_rus_main < 26)) { +treasure01,98,119,0 script Dirty Wall#rus39 HIDDEN_NPC,{ + if (rhea_rus_main >= 22 && rhea_rus_main < 26) { mes "- Something is engraved on the wall -"; next; mes "- ^ff0000Her... careful.. Mermaid's song.. sleeping.. the eyes.. protect your.. mirror^000000 -"; next; mes "["+ strcharinfo(0) +"]"; mes "...What is this talking about...?"; - if (rhea_rus_main == 22) set rhea_rus_main,23; + if (rhea_rus_main == 22) { + rhea_rus_main = 23; + // changequest 8164,8165; + } close; } end; } -treasure01,61,183,0 script Old_Wooden_Box#rus40 111,{ +treasure01,61,183,0 script Old_Wooden_Box#rus40 HIDDEN_NPC,{ if (rhea_rus_main == 23) { mes "- Something is glimmering inside of the box -"; next; @@ -11066,7 +10382,8 @@ treasure01,61,183,0 script Old_Wooden_Box#rus40 111,{ mes "- You take out something glimmering from the box -"; next; mes "- ^0000ffYou find the handle of a broken key !!^000000 -"; - set rhea_rus_main,24; + rhea_rus_main = 24; + // changequest 8165,8166; close; } mes "- You try to put your hand inside it but the gap is too small to do it -"; @@ -11080,7 +10397,7 @@ treasure01,61,183,0 script Old_Wooden_Box#rus40 111,{ end; } -treasure01,27,115,0 script Opened Treasure Chest#41 111,{ +treasure01,27,115,0 script Opened Treasure Chest#41 HIDDEN_NPC,{ if (rhea_rus_main == 24) { mes "- You open the box, junk is in it -"; next; @@ -11092,11 +10409,8 @@ treasure01,27,115,0 script Opened Treasure Chest#41 111,{ mes "["+ strcharinfo(0) +"]"; mes "...!? What is this?!"; next; - set .@russ_key02,rand(1,7); - if (rand(1,7) == 3) { - mes "- ^0000ffYou find the handle of a broken key in the junk !!^000000 -"; - next; - } else { + .@russ_key02 = rand(1,7); + if (.@russ_key02 != 3) { switch (.@russ_key02) { case 1: mes "- You find the cuticle of Kukre !! -"; break; case 2: mes "- You find the egg of a Theif Bug !! -"; break; @@ -11111,11 +10425,14 @@ treasure01,27,115,0 script Opened Treasure Chest#41 111,{ emotion e_omg,1; close; } + mes "- ^0000ffYou find the handle of a broken key in the junk !!^000000 -"; + next; mes "["+ strcharinfo(0) +"]"; mes "Eh, this may be..."; next; mes "- You adjust the piece of the broken key with the its handle and they make a sound and become a key !!-"; - set rhea_rus_main,25; + rhea_rus_main = 25; + // changequest 8166,8167; close; } else if (rhea_rus_main > 24 && rhea_rus_main < 26) { mes "- The junk box containig the piece of the broken key -"; @@ -11124,7 +10441,7 @@ treasure01,27,115,0 script Opened Treasure Chest#41 111,{ end; } -amatsu,233,234,3 script Momotoro Publisher#rus42 757,{ +amatsu,233,234,3 script Momotoro Publisher#rus42 4_F_JPN,{ if ((MaxWeight-Weight) < 3500) { mes "[Momotoro Publisher]"; mes "What on earth do you have in your bag?"; @@ -11186,9 +10503,10 @@ amatsu,233,234,3 script Momotoro Publisher#rus42 757,{ } mes "[Momotoro Publisher]"; mes "Thank you for buying our books. If you need more books, contact us please."; - set Zeny,Zeny-5000; - set rhea_rus_main,27; getitem 7881,1; + Zeny = Zeny -5000; + rhea_rus_main = 27; + // changequest 8169,8170; close; } else if (rhea_rus_main > 26 && rhea_rus_main < 31) { mes "[Momotoro Publisher]"; @@ -11203,7 +10521,7 @@ amatsu,233,234,3 script Momotoro Publisher#rus42 757,{ close; } -mosk_dun02,57,220,0 script House Ghost Jar#rus43 111,{ +mosk_dun02,57,220,0 script House Ghost Jar#rus43 HIDDEN_NPC,{ if (rhea_rus_main == 31) { mes "["+ strcharinfo(0) +"]"; mes "... Is it in here..? Hey, hey..."; @@ -11223,7 +10541,7 @@ mosk_dun02,57,220,0 script House Ghost Jar#rus43 111,{ mes "- You kick the jar -"; mes "- it rolls to the floor -"; mes "- as bugs come out!! -"; - set rhea_rus_main,32; + rhea_rus_main = 32; monster "mosk_dun02",58,220,"Thief Bug Male",1054,1,"House Ghost Jar#rus43::OnMyMobDead"; monster "mosk_dun02",59,220,"Ancient Worm",1305,1,"House Ghost Jar#rus43::OnMyMobDead"; monster "mosk_dun02",60,220,"Thief Bug Male",1054,1,"House Ghost Jar#rus43::OnMyMobDead"; @@ -11253,17 +10571,17 @@ mosk_dun02,57,220,0 script House Ghost Jar#rus43 111,{ if(select("Can I play with you?:So what can I do for you?") == 1) { mes "[House Ghost]"; mes "Ehhh, are you sure?"; - next; } else { mes "[House Ghost]"; mes "Hmm, can you do something for me? It won't take much time."; - next; } + next; mes "[House Ghost]"; mes "What about a card game? I was good at those games! Ah, where are my cards? Wait here! I'll find them!"; - set rhea_rus_main,33; + rhea_rus_main = 33; close; } else if (rhea_rus_main == 33) { + .@player_name$ = strcharinfo(0); mes "[House Ghost]"; mes "Hehe, what about a card game? I have an Angeling, Ghostring and a Poring Card."; mes "All you have to do is just guess which card I pick up!"; @@ -11271,12 +10589,11 @@ mosk_dun02,57,220,0 script House Ghost Jar#rus43 111,{ mes "[House Ghost]"; mes "Let's play best out of 5. So if you win 3 games, I promise to stay quiet!"; next; - mes "["+ strcharinfo(0) +"]"; + mes "["+ .@player_name$ +"]"; mes "Ok! It will be fun. Let's do it."; next; - set .@rugame_turn01,0; - set .@ruuser_score01,0; - while(.@rugame_turn01 != 5) { + setarray .@card$[0], "Poring","Angeling","Ghostring"; + while(.@rugame_turn01 < 5 && .@ruuser_score01 < 3) { mes "[House Ghost]"; mes "Ok, first let me shuffle these cards around."; mes "Ready!"; @@ -11303,148 +10620,83 @@ mosk_dun02,57,220,0 script House Ghost Jar#rus43 111,{ mes "What is this card?"; cutin "sorry.bmp",4; next; - set .@rucard_game01,rand(1,3); - switch(select("Poring:Angeling:Ghostring")) { + .@rucard_game01 = rand(1,3); + .@s = select("Poring:Angeling:Ghostring") -1; + + mes "["+ .@player_name$ +"]"; + mes "Hmmm, I think it is the "+ .@card$[.@s] +" Card!"; + next; + mes "[House Ghost]"; + mes "Ok, time to find out!"; + mes "One! Two! Three!!"; + next; + cutin "",255; + switch( .@rucard_game01 ) { case 1: - mes "["+ strcharinfo(0) +"]"; - mes "Hmmm, I think it is the Poring Card!"; - next; - mes "[House Ghost]"; - mes "Ok, time to find out!"; - mes "One! Two! Three!!"; - next; - if (.@rucard_game01 == 1) { - cutin "Æ÷¸µÄ«µå",4; // Poring Card - emotion e_gasp; - emotion e_ic,1; - next; - mes "[House Ghost]"; - mes "You got it right. You are good."; - mes "Can you do it next time?"; - set .@rugame_turn01,.@rugame_turn01+1; - set .@ruuser_score01,.@ruuser_score01+1; - cutin "",255; - next; - } else { - if (.@rucard_game01 == 2) - cutin "¿£Á©¸µÄ«µå",4; // Angeling Card - else - cutin "°í½ºÆ®¸µÄ«µå",4; // Ghostring Card - emotion e_gasp; - emotion e_omg,1; - next; - mes "[House Ghost]"; - mes "Huuu..."; - mes "Better luck next time!"; - set .@rugame_turn01,.@rugame_turn01+1; - cutin "",255; - next; - } + cutin "Æ÷¸µÄ«µå",4; // Poring Card + .@win_string$ = "You are good. Can you do it next time?"; break; case 2: - mes "["+ strcharinfo(0) +"]"; - mes "Hmmm, I think it is the Angeling Card!"; - next; - mes "[House Ghost]"; - mes "Ok, time to find out!"; - mes "One! Two! Three!!"; - next; - if (.@rucard_game01 == 2) { - cutin "°í½ºÆ®¸µÄ«µå",4; // Angeling Card - emotion e_gasp; - emotion e_ic,1; - next; - mes "[House Ghost]"; - mes "You got it right. You are good."; - mes "Can you do it next time?"; - set .@rugame_turn01,.@rugame_turn01+1; - set .@ruuser_score01,.@ruuser_score01+1; - cutin "",255; - next; - } else { - if (.@rucard_game01 == 1) - cutin "Æ÷¸µÄ«µå",4; // Poring Card - else - cutin "°í½ºÆ®¸µÄ«µå",4; // Ghostring Card - emotion e_gasp; - emotion e_omg,1; - next; - mes "[House Ghost]"; - mes "Huuu..."; - mes "Better luck next time!"; - set .@rugame_turn01,.@rugame_turn01+1; - cutin "",255; - next; - } + cutin "¿£Á©¸µÄ«µå",4; // Angeling Card + .@win_string$ = "You are pretty good at this. Ok, but can you do it again?"; break; case 3: - mes "["+ strcharinfo(0) +"]"; - mes "Hmmm, I think it is the Ghostring Card!"; + cutin "°í½ºÆ®¸µÄ«µå",4; // Ghostring Card + .@win_string$ = "You are pretty good at this. Ok, but can you do it again?"; + break; + } + emotion e_gasp; + if (.@rucard_game01 == .@s +1) { + emotion e_ic,1; next; mes "[House Ghost]"; - mes "Ok, time to find out!"; - mes "One! Two! Three!!"; + mes "You got it right."; + mes .@win_string$; + .@ruuser_score01++; + } + else { + emotion e_omg,1; next; - if (.@rucard_game01 == 3) { - cutin "°í½ºÆ®¸µÄ«µå",4; // Ghostring Card - emotion e_gasp; - emotion e_ic,1; - next; - mes "[House Ghost]"; - mes "You got it right. You are good."; - mes "Can you do it next time?"; - set .@rugame_turn01,.@rugame_turn01+1; - set .@ruuser_score01,.@ruuser_score01+1; - cutin "",255; - next; - } else { - if (.@rucard_game01 == 1) - cutin "Æ÷¸µÄ«µå",4; // Poring Card - else - cutin "°í½ºÆ®¸µÄ«µå",4; // Angeling Card - emotion e_gasp; - emotion e_omg,1; - next; - mes "[House Ghost]"; - mes "Huuu..."; - mes "Better luck next time!"; - set .@rugame_turn01,.@rugame_turn01+1; - cutin "",255; - next; - } + mes "[House Ghost]"; + mes "Huuu..."; + mes "Better luck next time!"; } + .@rugame_turn01++; + cutin "",255; + next; } if (.@ruuser_score01 == 3) { mes "[House Ghost]"; mes "You are better than I thought."; - set rhea_rus_main,34; + rhea_rus_main = 34; close; } - mes "["+ strcharinfo(0) +"]"; + mes "["+ .@player_name$ +"]"; mes "I was not thinking correctly! Let's do it again!"; next; mes "[House Ghost]"; mes "Huhu, ok. Let's do it again?"; close; } else if (rhea_rus_main == 34) { + .@player_name$ = strcharinfo(0); mes "[House Ghost]"; mes "Ah, it was fun. It has been a long time since I've been able to play a game like that."; next; mes "[House Ghost]"; mes "As promised, I will be quiet now. Thank you for playing with me."; next; - mes "["+ strcharinfo(0) +"]"; + mes "["+ .@player_name$ +"]"; mes "Oh and by the way, I have a present for you!"; next; if (countitem(519)) { - mes "["+ strcharinfo(0) +"]"; + mes "["+ .@player_name$ +"]"; mes "You said you like milk. Here, take this."; next; } else { - mes "["+ strcharinfo(0) +"]"; + mes "["+ .@player_name$ +"]"; mes "You said you like milk. Here, take.. Eh?"; next; - mes "["+ strcharinfo(0) +"]"; + mes "["+ .@player_name$ +"]"; mes "W, where is this? Wait here. I will bring it soon!!"; close; } @@ -11457,7 +10709,8 @@ mosk_dun02,57,220,0 script House Ghost Jar#rus43 111,{ next; mes "[House Ghost]"; mes "I will never forget your kindness of entertaining me."; - set rhea_rus_main,45; + rhea_rus_main = 45; + // changequest 8171,8172; close; } else if (rhea_rus_main == 45) { mes "[House Ghost]"; @@ -11470,14 +10723,6 @@ mosk_dun02,57,220,0 script House Ghost Jar#rus43 111,{ } end; -OnInit: - enablenpc "House Ghost Jar#rus43"; - end; - -OnEnable: - enablenpc "House Ghost Jar#rus43"; - end; - OnDisable: initnpctimer; disablenpc "House Ghost Jar#rus43"; @@ -11486,15 +10731,13 @@ OnDisable: OnTimer180000: stopnpctimer; killmonster "mosk_dun02","House Ghost Jar#rus43::OnMyMobDead"; - donpcevent "House Ghost Jar#rus43::OnEnable"; - end; OnMyMobDead: - donpcevent "House Ghost Jar#rus43::OnEnable"; + enablenpc "House Ghost Jar#rus43"; end; } -payon,65,119,0 script Broom Grandma#rus44 78,{ +payon,65,119,0 script Broom Grandma#rus44 1_F_ORIENT_04,{ if (rhea_rus_main < 36) { mes "[Broom Grandma]"; mes "A broom from Payon is the best!"; @@ -11523,7 +10766,8 @@ payon,65,119,0 script Broom Grandma#rus44 78,{ next; mes "[Broom Grandma]"; mes "Ah.. What should I do..."; - set rhea_rus_main,37; + rhea_rus_main = 37; + // changequest 8173,8174; close; } else if (rhea_rus_main > 36 && rhea_rus_main < 41) { mes "[Broom Grandma]"; @@ -11551,7 +10795,7 @@ payon,65,119,0 script Broom Grandma#rus44 78,{ close; } -pay_dun04,163,186,0 script Ghost Tree#rus45 111,{ +pay_dun04,163,186,0 script Ghost Tree#rus45 HIDDEN_NPC,{ if (rhea_rus_main == 37) { mes "[Ghost Tree]"; mes "Errr, a human? What are you doing here? Do you want to play with me?"; @@ -11579,7 +10823,7 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 111,{ next; mes "[Ghost Tree]"; mes "Eh.. Let's see. This will be a good start! Let's get started if you are ready!"; - set rhea_rus_main,38; + rhea_rus_main = 38; close; } else if (rhea_rus_main == 38) { mes "[Ghost Tree]"; @@ -11609,85 +10853,32 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 111,{ mes "[Ghost Tree]"; mes "Ok then, who was the first?!"; next; - set .@rus_kafra01,0; - input .@input$; - if (.@input$ == "Curly Sue") { - set .@rus_kafra01,.@rus_kafra01+1; - mes "["+ strcharinfo(0) +"]"; - mes ""+ .@input$ +" !!"; - next; - } else { - set .@rus_kafra01,.@rus_kafra01; - mes "["+ strcharinfo(0) +"]"; - mes ""+ .@input$ +"!!"; - next; - } + .@rus_kafra01 = callsub( S_Question, "Curly Sue" ); mes "[Ghost Tree]"; mes "Who was the second?"; next; - input .@input$; - if (.@input$ == "Jasmine") { - set .@rus_kafra01,.@rus_kafra01+1; - mes "["+ strcharinfo(0) +"]"; - mes ""+ .@input$ +" !!"; - next; - } else { - set .@rus_kafra01,.@rus_kafra01; - mes "["+ strcharinfo(0) +"]"; - mes ""+ .@input$ +"!!"; - next; - } + .@rus_kafra01 += callsub( S_Question, "Jasmine" ); mes "[Ghost Tree]"; mes "Who was the third?"; next; - input .@input$; - if (.@input$ == "Roxie") { - set .@rus_kafra01,.@rus_kafra01+1; - mes "["+ strcharinfo(0) +"]"; - mes ""+ .@input$ +" !!"; - next; - } else { - set .@rus_kafra01,.@rus_kafra01; - mes "["+ strcharinfo(0) +"]"; - mes ""+ .@input$ +"!!"; - next; - } + .@rus_kafra01 += callsub( S_Question, "Roxie" ); mes "[Ghost Tree]"; mes "And then who was the forth?"; next; - input .@input$; - if (.@input$ == "Pavianne") { - set .@rus_kafra01,.@rus_kafra01+1; - mes "["+ strcharinfo(0) +"]"; - mes ""+ .@input$ +" !!"; - next; - } else { - set .@rus_kafra01,.@rus_kafra01; - mes "["+ strcharinfo(0) +"]"; - mes ""+ .@input$ +"!!"; - next; - } + .@rus_kafra01 += callsub( S_Question, "Pavianne" ); mes "[Ghost Tree]"; mes "And who was the last?!"; next; - input .@input$; - if (.@input$ == "Blossom") { - set .@rus_kafra01,.@rus_kafra01+1; - mes "["+ strcharinfo(0) +"]"; - mes ""+ .@input$ +" !!"; - next; - } else { - set .@rus_kafra01,.@rus_kafra01; - mes "["+ strcharinfo(0) +"]"; - mes ""+ .@input$ +"!!"; - next; - } + .@rus_kafra01 += callsub( S_Question, "Blossom" ); + mes "[Ghost Tree]"; if (.@rus_kafra01 > 4) { - mes "[Ghost Tree]"; mes "Ho, you are good!"; next; - } else { mes "[Ghost Tree]"; + mes "Ok, let's see if you are good next time."; + mes "Gear yourself up!"; + rhea_rus_main = 39; + } else { mes "Ah, you are wrong, wrong!"; mes "Do you really think that you can take the brooms back?"; next; @@ -11696,21 +10887,17 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 111,{ next; mes "[Ghost Tree]"; mes "Kuhuhu, ok. Let's do it again. Try your best."; - close; } - mes "[Ghost Tree]"; - mes "Ok, let's see if you are good next time."; - mes "Gear yourself up!"; - set rhea_rus_main,39; close; } else if (rhea_rus_main == 39) { + .@player_name$ = strcharinfo(0); mes "[Ghost Tree]"; mes "The second question. Listen carefully and answer!"; next; mes "[Ghost Tree]"; - mes "One day, you, "+ strcharinfo(0) +", upgraded your 'Hat of the Sun God', your ancestral treasure."; + mes "One day, you, "+ .@player_name$ +", upgraded your 'Hat of the Sun God', your ancestral treasure."; next; - mes "["+ strcharinfo(0) +"]"; + mes "["+ .@player_name$ +"]"; mes "Eh? I didn't..."; next; mes "[Ghost Tree]"; @@ -11736,19 +10923,15 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 111,{ mes "Have you heard all of them? Who broke the 'Hat of the Sun God'?!"; next; input .@input$; - if (.@input$ == "Antonio") { - mes "["+ strcharinfo(0) +"]"; - mes ""+ .@input$ +" !!"; - next; - } else { - mes "["+ strcharinfo(0) +"]"; - mes ""+ .@input$ +"!!"; - next; + mes "["+ .@player_name$ +"]"; + mes ""+ .@input$ +" !!"; + next; + if (.@input$ != "Antonio") { mes "[Ghost Tree]"; mes "You are wrong, wrong!"; mes "Look at this. In this way, it will take you a million years to take them back!"; next; - mes "["+ strcharinfo(0) +"]"; + mes "["+ .@player_name$ +"]"; mes "I was not thinking correctly!!!"; mes "Again, again!"; next; @@ -11761,9 +10944,10 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 111,{ next; mes "[Ghost Tree]"; mes "Gear yourself up and come to me again!"; - set rhea_rus_main,40; + rhea_rus_main = 40; close; } else if (rhea_rus_main == 40) { + .@player_name$ = strcharinfo(0); mes "[Ghost Tree]"; mes "Kuhuhu, you did good until now. If you win over me, I will give the brooms as promisied."; next; @@ -11773,53 +10957,49 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 111,{ mes "[Ghost Tree]"; mes "Cast 3 times if you win once, I will give you what you want."; next; - mes "["+ strcharinfo(0) +"]"; + mes "["+ .@player_name$ +"]"; mes "Ok! I will do it!"; next; - set .@rustree_turn01,0; - set .@rususer_score01,0; - while(.@rustree_turn01 != 3) { + setarray .@emo[1],58,59,60,61,62,63; + while (.@rustree_turn01 < 3 && .@rususer_score01 == 0) { mes "[Ghost Tree]"; mes "I cast first."; next; mes "- Ghost Tree casts a dice. The dice falls down, rotates and stops there-"; specialeffect EF_STUNATTACK; next; - set .@tree_dice01,rand(1,6); - setarray .@emo[1], 58,59,60,61,62,63; + .@tree_dice01 = rand(1,6); mes "[Ghost Tree]"; - mes "I've got ^0000ffNumber "+.@tree_dice01+"^000000."; + mes "I've got ^0000ffNumber "+ .@tree_dice01 +"^000000."; emotion .@emo[.@tree_dice01]; next; - mes "["+ strcharinfo(0) +"]"; + mes "["+ .@player_name$ +"]"; mes "Ok, it is my turn?"; next; mes "-You cast a dice. The dice falls down, rotates and stops there-"; specialeffect2 EF_STUNATTACK; next; - set .@rus_dice01,rand(1,6); - mes "["+ strcharinfo(0) +"]"; + .@rus_dice01 = rand(1,6); + mes "["+ .@player_name$ +"]"; mes "Let's see..."; next; emotion .@emo[.@rus_dice01],1; - mes "["+ strcharinfo(0) +"]"; + mes "["+ .@player_name$ +"]"; if (.@rus_dice01 == .@tree_dice01) { - mes "Let's see... Wow, I got it! I've got ^0000ffNumber "+.@rus_dice01+"^000000!"; + mes "Let's see... Wow, I got it! I've got ^0000ffNumber "+ .@rus_dice01 +"^000000!"; emotion e_gasp; next; mes "[Ghost Tree]"; mes "You seem lucky..."; - set .@rustree_turn01,.@rustree_turn01+1; - set .@rususer_score01,.@rususer_score01+1; - next; + .@rususer_score01 = 1; } else { - mes "Let's see................... It is ^0000ff "+.@rus_dice01+" ^000000..."; + mes "Let's see................... It is ^0000ff "+ .@rus_dice01 +" ^000000..."; mes "[Ghost Tree]"; mes "Huuu..."; emotion e_heh; - set .@rustree_turn01,.@rustree_turn01+1; - next; } + .@rustree_turn01++; + next; } if (.@rususer_score01) { mes "[Ghost Tree]"; @@ -11832,13 +11012,14 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 111,{ mes "I can say that you are fun. If possible, play with me again. And take them."; next; mes "- ^0000ff You receive the best broom from Payon !!^000000 - "; - set rhea_rus_main,46; + rhea_rus_main = 46; + // changequest 8174,8175; close; } mes "[Ghost Tree]"; mes "Kuhuhu, nobody is worse than you. Remember that you have to win over me to get what you want"; next; - mes "["+ strcharinfo(0) +"]"; + mes "["+ .@player_name$ +"]"; mes "I was not what I am! Let's do it again!"; next; mes "[Ghost Tree]"; @@ -11850,13 +11031,19 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 111,{ close; } end; +S_Question: + input .@input$; + mes "["+ strcharinfo(0) +"]"; + mes ""+ .@input$ +" !!"; + next; + return ( (.@input$ == getarg(0)) ? 1 : 0 ); } -mosk_dun01,3,3,3 script Koshei GlobalVar#admin 958,{ +mosk_dun01,3,3,3 script Koshei GlobalVar#admin 4_F_RUSCHILD,{ callfunc "F_GM_NPC"; mes "[Koshei GlobalVar]"; mes "Please enter the password"; - set .@i, callfunc("F_GM_NPC","orchid",1); + .@i = callfunc("F_GM_NPC","orchid",1); next; if (.@i == 0) { mes "[Koshei GlobalVar]"; @@ -11890,15 +11077,14 @@ mosk_dun01,3,3,3 script Koshei GlobalVar#admin 958,{ case 1: mes "[Koshei GlobalVar]"; mes "GlobalVar $@rus_req02 will now be set to '0'"; - set $@rus_req02,0; + $@rus_req02 = 0; donpcevent "Koshei#rus47::OnDisable"; close; case 2: mes "[Koshei GlobalVar]"; mes "GlobalVar $@rus_req02 will now be set to '1'"; - set $@rus_req02,1; - donpcevent "Koshei#rus47::OnEnable"; - close; + $@rus_req02 = 1; + donpcevent "Koshei#rus47::OnEnable";; case 3: close; } diff --git a/quests/quests_nameless.txt b/quests/quests_nameless.txt index 6cec96e..2ccaa6c 100644 --- a/quests/quests_nameless.txt +++ b/quests/quests_nameless.txt @@ -4058,7 +4058,7 @@ cmd_fild01,55,160,0 script Heap of Earth 844,{ set diamond_edq,6; close; } - if (diamond_edq) == 9 { + if (diamond_edq == 9) { mes "[Dorian]"; mes "Ah, did you bring all"; mes "the materials I need to"; @@ -4152,7 +4152,7 @@ cmd_fild01,55,160,0 script Heap of Earth 844,{ close; } } - if (diamond_edq) == 10 { + if (diamond_edq == 10) { mes "[Dorian]"; mes "Did you already forget"; mes "my instructions for fixing my"; @@ -4216,18 +4216,18 @@ cmd_fild01,55,160,0 script Heap of Earth 844,{ close; } } - if (diamond_edq) == 11 { + if (diamond_edq == 11) { mes "[Dorian]"; mes "Ah, so you failed to"; mes "fix the Mystic Dryer de"; mes "Elegance? That's expected:"; - mes "I didn't really design it for the^FFFFFF ^000000 common user in mind. Well,"; + mes "I didn't really design it for the common user in mind. Well,"; mes "why don't you try it again?"; - erasequest 3106; + changequest 3106,3105; set diamond_edq,10; close; } - if (diamond_edq) == 12 { + if (diamond_edq == 12) { mes "[Dorian]"; mes "Ah, I underestimated you."; mes "You really repaired the"; @@ -4241,8 +4241,7 @@ cmd_fild01,55,160,0 script Heap of Earth 844,{ mes "is insert the damaged"; mes "document and press the"; mes "switch. Simple, yes?"; - erasequest 3106; - changequest 3105,3108; + changequest 3107,3108; set diamond_edq,13; next; mes "[Dorian]"; @@ -4254,7 +4253,7 @@ cmd_fild01,55,160,0 script Heap of Earth 844,{ mes "your kind of help. Farewell~"; close; } - if (diamond_edq) > 12 { + if (diamond_edq > 12) { mes "[Dorian]"; mes "Ah, hello! How have"; mes "you been? Are you in need"; @@ -4265,7 +4264,7 @@ cmd_fild01,55,160,0 script Heap of Earth 844,{ //OnTouch2: OnTouch: - if (diamond_edq) < 9 { + if (diamond_edq < 9) { mes "[Dorian]"; mes "Wh-what are you doing?"; mes "D-don't sully my wonderful"; @@ -4273,7 +4272,7 @@ OnTouch: mes "uncultured hands!"; close; } - if (diamond_edq) == 9 { + if (diamond_edq == 9) { mes "[Dorian]"; mes "Can't you see that the"; mes "machine won't work without"; @@ -4284,7 +4283,7 @@ OnTouch: end; } -izlude_in,113,66,0 script Strange Machine 111,{ +- script ::StrangeMachine_izlude -1,{ if (checkweight(907,200) == 0) { mes "[Dorian]"; mes "Ugh, just like a member"; @@ -4295,7 +4294,7 @@ izlude_in,113,66,0 script Strange Machine 111,{ mes "goods to Kafra Storage, please."; close; } - if (diamond_edq) == 10 { + if (diamond_edq == 10) { set .@bolt_rand,rand(2,5); mes "^3355FFThis must be Dorian's"; mes "Mystic Dryer de Elegance."; @@ -4322,7 +4321,7 @@ izlude_in,113,66,0 script Strange Machine 111,{ next; set .@engine,.@engine+1; } - else if (engine > 0) { + else if (.@engine > 0) { mes "^3355FFThe ruby in the"; mes "engine has already"; mes "been replaced.^000000"; @@ -4358,7 +4357,7 @@ izlude_in,113,66,0 script Strange Machine 111,{ mes "The joint is broken..."; mes "You should go back"; mes "to Dorian for help.^000000"; - setquest 3106; + changequest 3105,3106; set diamond_edq,11; close; } @@ -4396,7 +4395,7 @@ izlude_in,113,66,0 script Strange Machine 111,{ mes "^3355FFYou should tell Dorian"; mes "first so that you can"; mes "use this machine.^000000"; - setquest 3107; + changequest 3105,3107; set diamond_edq,12; close; } @@ -4419,8 +4418,8 @@ izlude_in,113,66,0 script Strange Machine 111,{ mes "and vibrated violently"; mes "before coming to a sudden"; mes "stop. That was the wrong"; - mes "switch. You'd better ask Dorian... ^FFFFFF ^000000"; - setquest 3106; + mes "switch. You'd better ask Dorian..."; + changequest 3105,3106; set diamond_edq,11; close; case 1: @@ -4445,8 +4444,8 @@ izlude_in,113,66,0 script Strange Machine 111,{ mes "and vibrated violently"; mes "before coming to a sudden"; mes "stop. That was the wrong"; - mes "switch. You'd better ask Dorian... ^FFFFFF ^000000"; - setquest 3106; + mes "switch. You'd better ask Dorian..."; + changequest 3105,3106; set diamond_edq,11; close; } @@ -4471,8 +4470,8 @@ izlude_in,113,66,0 script Strange Machine 111,{ mes "and vibrated violently"; mes "before coming to a sudden"; mes "stop. That was the wrong"; - mes "switch. You'd better ask Dorian... ^FFFFFF ^000000"; - setquest 3106; + mes "switch. You'd better ask Dorian..."; + changequest 3105,3106; set diamond_edq,11; close; case 2: @@ -4497,8 +4496,8 @@ izlude_in,113,66,0 script Strange Machine 111,{ mes "and vibrated violently"; mes "before coming to a sudden"; mes "stop. That was the wrong"; - mes "switch. You'd better ask Dorian... ^FFFFFF ^000000"; - setquest 3106; + mes "switch. You'd better ask Dorian..."; + changequest 3105,3106; set diamond_edq,11; close; } @@ -4522,8 +4521,8 @@ izlude_in,113,66,0 script Strange Machine 111,{ mes "and vibrated violently"; mes "before coming to a sudden"; mes "stop. That was the wrong"; - mes "switch. You'd better ask Dorian... ^FFFFFF ^000000"; - setquest 3106; + mes "switch. You'd better ask Dorian..."; + changequest 3105,3106; set diamond_edq,11; close; case 3: @@ -4548,8 +4547,8 @@ izlude_in,113,66,0 script Strange Machine 111,{ mes "and vibrated violently"; mes "before coming to a sudden"; mes "stop. That was the wrong"; - mes "switch. You'd better ask Dorian... ^FFFFFF ^000000"; - setquest 3106; + mes "switch. You'd better ask Dorian..."; + changequest 3105,3106; set diamond_edq,11; close; } @@ -4574,8 +4573,8 @@ izlude_in,113,66,0 script Strange Machine 111,{ mes "and vibrated violently"; mes "before coming to a sudden"; mes "stop. That was the wrong"; - mes "switch. You'd better ask Dorian... ^FFFFFF ^000000"; - setquest 3106; + mes "switch. You'd better ask Dorian..."; + changequest 3105,3106; set diamond_edq,11; close; case 4: @@ -4600,8 +4599,8 @@ izlude_in,113,66,0 script Strange Machine 111,{ mes "and vibrated violently"; mes "before coming to a sudden"; mes "stop. That was the wrong"; - mes "switch. You'd better ask Dorian... ^FFFFFF ^000000"; - setquest 3106; + mes "switch. You'd better ask Dorian..."; + changequest 3105,3106; set diamond_edq,11; close; } @@ -7202,7 +7201,7 @@ in_rogue,359,116,3 script Marybell 747,{ mes "[Marybell]"; mes "Oh, Gooho decoded everything?"; mes "Let's see... Something about"; - mes "the Book of Forbidden Mystery...^FFFFFF ^000000 Ah. There we go! The location"; + mes "the Book of Forbidden Mystery... Ah. There we go! The location"; mes "of the Z Gang's hideout!"; mes "Heh heh! We got 'em!"; next; @@ -8046,500 +8045,229 @@ payon,192,176,3 script Gooho Ahn 903,{ close; } -moc_ruins,90,67,3 script Suspicious Man#1 99,2,2,{ - if ((zdan_edq == 9) && ($@zdan == 0)) { - set $@zdan,1; - initnpctimer; - mes "[????]"; - mes "I know you've"; - mes "been pursuing us!"; - mes "Grrrr... DIE NOW!"; - specialeffect EF_STEAL; - next; - mes "[" + strcharinfo(0) + "]"; - mes "Wh-who are you?"; - next; - mes "[????]"; - mes "Y-you're stronger"; - mes "than I thought!"; - mes "Run awaaaaay!"; - hideoffnpc "Suspicious Man#2"; - hideonnpc "Suspicious Man#1"; - set $@zdan,0; - stopnpctimer; - next; - mes "[" + strcharinfo(0) + "]"; - mes "Huh? That man must"; - mes "have dropped this"; - mes "note in his haste"; - mes "to get away from here."; - mes "Let's see what it says..."; - next; - mes "^FFFFFF ^000000"; - mes "^FFFFFF ^000000"; - mes "^666666Kill " + strcharinfo(0) + ", meow."; - mes "That arrogant do-gooder"; - mes "is looking into us too much."; - mes "Fail to kill him, and death"; - mes "will be too good for you, meow.^000000"; - next; - mes "[" + strcharinfo(0) + "]"; - mes "That must have been"; - mes "an informer for the Z Gang."; - mes "He can't have gotten too far:"; - mes "I have a chance to catch him!"; - changequest 3126,3127; - set zdan_edq,10; - close; - } - if ((zdan_edq == 9) && ($@zdan > 0)) { - mes "[Suspicious Man]"; - mes "..............................."; - mes "..............................."; - mes "............................... "; - next; - mes "[" + strcharinfo(0) + "]"; - mes "Something's not quite"; - mes "right. I should come back"; - mes "and investigate this area"; - mes "later when there are fewer"; - mes "people watching..."; - close; - } - if ((zdan_edq == 10) && ($@zdan > 0)) { - mes "[" + strcharinfo(0) + "]"; - mes "Nuts! I was supposed"; - mes "to try to do this secretly!"; - mes "I better try to investigate"; - mes "this area again when no"; - mes "one is around here."; - close; +moc_ruins,90,67,3 script Suspicious Man#1 4W_M_03,4,4,{ + if (zdan_edq == 9) { + if ($@zdan == 0) + callsub S_Quest; + else { + mes "[Suspicious Man]"; + if (strnpcinfo(2) == "1") { + mes "..............................."; + mes "..............................."; + mes "............................... "; + } + else + mes "... ..."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Something's not quite"; + mes "right. I should come back"; + mes "and investigate this area"; + mes "later when there are fewer"; + mes "people watching..."; + } } - if ((zdan_edq == 10) && ($@zdan == 0 )) { - set $@zdan,1; - initnpctimer; - mes "[????]"; - mes "Eeek...!"; - next; - mes "[" + strcharinfo(0) + "]"; - mes "Haha! Got you!"; - mes "You're an informer for"; - mes "the Z Gang, aren't you?"; - next; - mes "[????]"; - mes "I... I... d-don't"; - mes "know what you're"; - mes "talking about!"; - mes "I'm innocent!"; - next; - mes "[" + strcharinfo(0) + "]"; - mes "Then you're telling"; - mes "me this note didn't"; - mes "just fall out of your"; - mes "pocket? What's this"; - mes "about trying to kill me?"; - next; - mes "[????]"; - mes "Th-that's..."; - mes "I'm not--That...!"; - next; - mes "[" + strcharinfo(0) + "]"; - mes "You better confess, or"; - mes "I'll drag you over to the"; - mes "Prontera Knightage or the"; - mes "Rogue Guild to take care"; - mes "of you. In fact, let's just"; - mes "head over to Prontera..."; - next; - mes "[Z Gang Informer]"; - mes "N-no! I'll tell you"; - mes "everything! Please!"; - mes "My mother's old! I've"; - mes "got kids to feed!"; - mes "I... I can't go to jail!"; - next; - mes "[" + strcharinfo(0) + "]"; - mes "Alright."; - mes "Let's start by you"; - mes "telling me where"; - mes "I can find the Z Gang."; - next; - mes "[Z Gang Informer]"; - mes "I... I really don't"; - mes "know where to find them."; - mes "I'm at the bottom of the"; - mes "food chain, I just follow"; - mes "their written instructions."; - next; - mes "[" + strcharinfo(0) + "]"; - mes "You know what?"; - mes "Never mind. I'm won't"; - mes "take you to be jailed by"; - mes "the Prontera Knights."; - mes "I'll drop you off"; - mes "at the Rogues."; - next; - mes "[Z Gang Informer]"; - mes "..............................."; - mes "Their secret hideout is in"; - mes "South Morroc, and you can't"; - mes "enter the place without the"; - mes "secret password."; - next; - mes "[" + strcharinfo(0) + "]"; - mes "Nice. Now, you better"; - mes "stop running with the"; - mes "Z Gang. Otherwise, I'm"; - mes "not going to be so merciful"; - mes "the next time I see you."; - next; - mes "[Z Gang Informer]"; - mes "Anything you want!"; - mes "J-just let me liiive!"; - next; - mes "[" + strcharinfo(0) + "]"; - mes "I should head back to"; - mes "Marybell, and see if she's"; - mes "learned any new information."; - changequest 3127,3128; - set zdan_edq,11; - set $@zdan,0; - stopnpctimer; - close; + else if (zdan_edq == 10) { + if ($@zdan > 0) { + mes "[" + strcharinfo(0) + "]"; + mes "Nuts! I was supposed"; + mes "to try to do this secretly!"; + mes "I better try to investigate"; + mes "this area again when no"; + mes "one is around here."; + } + else { + set $@zdan,1; + initnpctimer; + mes "[????]"; + mes "Eeek...!"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Haha! Got you!"; + mes "You're an informer for"; + mes "the Z Gang, aren't you?"; + next; + mes "[????]"; + mes "I... I... d-don't"; + mes "know what you're"; + mes "talking about!"; + mes "I'm innocent!"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Then you're telling"; + mes "me this note didn't"; + mes "just fall out of your"; + mes "pocket? What's this"; + mes "about trying to kill me?"; + next; + mes "[????]"; + mes "Th-that's..."; + mes "I'm not--That...!"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "You better confess, or"; + mes "I'll drag you over to the"; + mes "Prontera Knightage or the"; + mes "Rogue Guild to take care"; + mes "of you. In fact, let's just"; + mes "head over to Prontera..."; + next; + mes "[Z Gang Informer]"; + mes "N-no! I'll tell you"; + mes "everything! Please!"; + mes "My mother's old! I've"; + mes "got kids to feed!"; + mes "I... I can't go to jail!"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Alright."; + mes "Let's start by you"; + mes "telling me where"; + mes "I can find the Z Gang."; + next; + mes "[Z Gang Informer]"; + mes "I... I really don't"; + mes "know where to find them."; + mes "I'm at the bottom of the"; + mes "food chain, I just follow"; + mes "their written instructions."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "You know what?"; + mes "Never mind. I'm won't"; + mes "take you to be jailed by"; + mes "the Prontera Knights."; + mes "I'll drop you off"; + mes "at the Rogues."; + next; + mes "[Z Gang Informer]"; + mes "..............................."; + mes "Their secret hideout is in"; + mes "South Morroc, and you can't"; + mes "enter the place without the"; + mes "secret password."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Nice. Now, you better"; + mes "stop running with the"; + mes "Z Gang. Otherwise, I'm"; + mes "not going to be so merciful"; + mes "the next time I see you."; + next; + mes "[Z Gang Informer]"; + mes "Anything you want!"; + mes "J-just let me liiive!"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "I should head back to"; + mes "Marybell, and see if she's"; + mes "learned any new information."; + changequest 3127,3128; + set zdan_edq,11; + set $@zdan,0; + stopnpctimer; + } } - if (zdan_edq < 9) { - mes "[Suspicious Man]"; + else if (zdan_edq < 9) { + if (strnpcinfo(2) == "1") + mes "[Suspicious Man]"; + else + mes "[Thug]"; mes "What? Get lost!"; mes "Listen, you don't"; mes "want to mess with"; mes "me. Just. Don't."; - close; } - if ((zdan_edq > 10) && (zdan_edq < 15)) { + else if (zdan_edq > 10 && zdan_edq < 15) { mes "[Z Gang Informer]"; mes "Whoa, leave me alone!"; mes "I'm just standing here"; mes "on the road, I didn't"; mes "do anything wrong!"; - close; } - if (zdan_edq > 14) { + else if (zdan_edq > 14) { mes "[Former Z Gang Informer]"; mes "You don't have to"; mes "worry about me anymore."; mes "I've turned over a new"; mes "leaf, got a real job,"; mes "that sort of deal."; - close; } - mes "[Suspicious Man]"; - mes "What? Get lost!"; - mes "Listen, you don't"; - mes "want to mess with"; - mes "me. Just. Don't."; - close; - -OnTimer30000: - set $@zdan,0; - end; - -OnTouch: - if ((zdan_edq == 9) && ($@zdan == 0)) { - set $@zdan,1; - initnpctimer; - mes "[????]"; - mes "I know you've"; - mes "been pursuing us!"; - mes "Grrrr... DIE NOW!"; - specialeffect EF_STEAL; - next; - mes "[" + strcharinfo(0) + "]"; - mes "Wh-who are you?"; - next; - mes "[????]"; - mes "Y-you're stronger"; - mes "than I thought!"; - mes "Run awaaaaay!"; - hideoffnpc "Suspicious Man#2"; - hideonnpc "Suspicious Man#1"; - set $@zdan,0; - stopnpctimer; - next; - mes "[" + strcharinfo(0) + "] "; - mes "Huh? That man must"; - mes "have dropped this"; - mes "note in his haste"; - mes "to get away from here."; - mes "Let's see what it says..."; - next; - mes "^FFFFFF ^000000"; - mes "^FFFFFF ^000000"; - mes "^666666Kill " + strcharinfo(0) + ", meow."; - mes "That arrogant do-gooder"; - mes "is looking into us too much."; - mes "Fail to kill him, and death"; - mes "will be too good for you, meow.^000000"; - next; - mes "[" + strcharinfo(0) + "]"; - mes "That must have been"; - mes "an informer for the Z Gang."; - mes "He can't have gotten too far:"; - mes "I have a chance to catch him!"; - changequest 3126,3127; - set zdan_edq,10; - close; - } - end; -} - -//Incorrect position. -moc_ruins,78,167,3 script Suspicious Man#2 99,2,2,{ - if ((zdan_edq == 9) && ($@zdan == 0)) { - set $@zdan,1; - initnpctimer; - mes "[????]"; - mes "I know you've"; - mes "been pursuing us!"; - mes "Grrrr... DIE NOW!"; - specialeffect EF_STEAL; - next; - mes "[" + strcharinfo(0) + "]"; - mes "Wh-who are you?"; - next; - mes "[????]"; - mes "Y-you're stronger"; - mes "than I thought!"; - mes "Run awaaaaay!"; - hideoffnpc "Suspicious Man#1"; - hideonnpc "Suspicious Man#2"; - set $@zdan,0; - stopnpctimer; - next; - mes "[" + strcharinfo(0) + "] "; - mes "Huh? That man must"; - mes "have dropped this"; - mes "note in his haste"; - mes "to get away from here."; - mes "Let's see what it says..."; - next; - mes "^FFFFFF ^000000"; - mes "^FFFFFF ^000000"; - mes "^666666Kill " + strcharinfo(0) + ", meow."; - mes "That arrogant do-gooder"; - mes "is looking into us too much."; - mes "Fail to kill him, and death"; - mes "will be too good for you, meow.^000000"; - next; - mes "[" + strcharinfo(0) + "]"; - mes "That must have been"; - mes "an informer for the Z Gang."; - mes "He can't have gotten too far:"; - mes "I have a chance to catch him!"; - changequest 3126,3127; - set zdan_edq,10; - close; - } - if ((zdan_edq == 10) && ($@zdan == 0)) { - set $@zdan,1; - initnpctimer; - mes "[????]"; - mes "Eeek...!"; - next; - mes "[" + strcharinfo(0) + "]"; - mes "Haha! Got you!"; - mes "You're an informer for"; - mes "the Z Gang, aren't you?"; - next; - mes "[????]"; - mes "I... I... d-don't"; - mes "know what you're"; - mes "talking about!"; - mes "I'm innocent!"; - next; - mes "[" + strcharinfo(0) + "]"; - mes "Then you're telling"; - mes "me this note didn't"; - mes "just fall out of your"; - mes "pocket? What's this"; - mes "about trying to kill me?"; - next; - mes "[????]"; - mes "Th-that's..."; - mes "I'm not--That...!"; - next; - mes "[" + strcharinfo(0) + "]"; - mes "You better confess, or"; - mes "I'll drag you over to the"; - mes "Prontera Knightage or the"; - mes "Rogue Guild to take care"; - mes "of you. In fact, let's just"; - mes "head over to Prontera..."; - next; - mes "[Z Gang Informer]"; - mes "N-no! I'll tell you"; - mes "everything! Please!"; - mes "My mother's old! I've"; - mes "got kids to feed!"; - mes "I... I can't go to jail!"; - next; - mes "[" + strcharinfo(0) + "]"; - mes "Alright."; - mes "Let's start by you"; - mes "telling me where"; - mes "I can find the Z Gang."; - next; - mes "[Z Gang Informer]"; - mes "I... I really don't"; - mes "know where to find them."; - mes "I'm at the bottom of the"; - mes "food chain, I just follow"; - mes "their written instructions."; - next; - mes "[" + strcharinfo(0) + "]"; - mes "You know what?"; - mes "Never mind. I'm won't"; - mes "take you to be jailed by"; - mes "the Prontera Knights."; - mes "I'll drop you off"; - mes "at the Rogues."; - next; - mes "[Z Gang Informer]"; - mes "..............................."; - mes "Their secret hideout is in"; - mes "South Morroc, and you can't"; - mes "enter the place without the"; - mes "secret password."; - next; - mes "[" + strcharinfo(0) + "]"; - mes "Nice. Now, you better"; - mes "stop running with the"; - mes "Z Gang. Otherwise, I'm"; - mes "not going to be so merciful"; - mes "the next time I see you."; - next; - mes "[Z Gang Informer]"; - mes "Anything you want!"; - mes "J-just let me liiive!"; - next; - mes "[" + strcharinfo(0) + "]"; - mes "I should head back to"; - mes "Marybell, and see if she's"; - mes "learned any new information."; - changequest 3127,3128; - set zdan_edq,11; - set $@zdan,0; - stopnpctimer; - close; - } - if ((zdan_edq == 9) && ($@zdan > 0)) { - mes "[Suspicious Man]"; - mes "... ..."; - next; - mes "[" + strcharinfo(0) + "]"; - mes "Something's not quite"; - mes "right. I should come back"; - mes "and investigate this area"; - mes "later when there are fewer"; - mes "people watching..."; - close; - } - if ((zdan_edq == 10) && ($@zdan > 0)) { - mes "[" + strcharinfo(0) + "]"; - mes "Nuts! I was supposed"; - mes "to try to do this secretly!"; - mes "I better try to investigate"; - mes "this area again when no"; - mes "one is around here."; - close; - } - if (zdan_edq < 9) { - mes "[Thug]"; + else { + if (strnpcinfo(2) == "1") + mes "[Suspicious Man]"; + else + mes "[Thug]"; mes "What? Get lost!"; mes "Listen, you don't"; mes "want to mess with"; mes "me. Just. Don't."; - close; - } - if ((zdan_edq > 10) && (zdan_edq < 15)) { - mes "[Z Gang Informer]"; - mes "Whoa, leave me alone!"; - mes "I'm just standing here"; - mes "on the road, I didn't"; - mes "do anything wrong!"; - close; - } - if (zdan_edq > 14) { - mes "[Former Z Gang Informer]"; - mes "You don't have to"; - mes "worry about me anymore."; - mes "I've turned over a new"; - mes "leaf, got a real job,"; - mes "that sort of deal."; - close; } - mes "[Thug]"; - mes "What? Get lost!"; - mes "Listen, you don't"; - mes "want to mess with"; - mes "me. Just. Don't."; close; +OnTimer30000: + set $@zdan,0; + end; + OnInit: hideonnpc "Suspicious Man#2"; end; -OnTimer30000: - set $@zdan,0; +OnTouch: + if (zdan_edq == 9 && $@zdan == 0) + callsub S_Quest; end; -OnTouch: - if ((zdan_edq == 9) && ($@zdan == 0)) { - set $@zdan,1; - initnpctimer; - mes "[????]"; - mes "I know you've"; - mes "been pursuing us!"; - mes "Grrrr... DIE NOW!"; - specialeffect EF_STEAL; - next; - mes "[" + strcharinfo(0) + "]"; - mes "Wh-who are you?"; - next; - mes "[????]"; - mes "Y-you're stronger"; - mes "than I thought!"; - mes "Run awaaaaay!"; - hideoffnpc "Suspicious Man#1"; +S_Quest: + set $@zdan,1; + initnpctimer; + mes "[????]"; + mes "I know you've"; + mes "been pursuing us!"; + mes "Grrrr... DIE NOW!"; + specialeffect EF_STEAL; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Wh-who are you?"; + next; + mes "[????]"; + mes "Y-you're stronger"; + mes "than I thought!"; + mes "Run awaaaaay!"; + if (strnpcinfo(2) == "1") { + hideonnpc "Suspicious Man#1"; + hideoffnpc "Suspicious Man#2"; + } + else { hideonnpc "Suspicious Man#2"; - set $@zdan,0; - stopnpctimer; - next; - mes "[" + strcharinfo(0) + "] "; - mes "Huh? That man must"; - mes "have dropped this"; - mes "note in his haste"; - mes "to get away from here."; - mes "Let's see what it says..."; - next; - mes "^FFFFFF ^000000"; - mes "^FFFFFF ^000000"; - mes "^666666Kill " + strcharinfo(0) + ", meow."; - mes "That arrogant do-gooder"; - mes "is looking into us too much."; - mes "Fail to kill him, and death"; - mes "will be too good for you, meow.^000000"; - next; - mes "[" + strcharinfo(0) + "]"; - mes "That must have been"; - mes "an informer for the Z Gang."; - mes "He can't have gotten too far:"; - mes "I have a chance to catch him!"; - changequest 3126,3127; - set zdan_edq,10; - close; + hideoffnpc "Suspicious Man#1"; } - end; + set $@zdan,0; + stopnpctimer; + next; + mes "[" + strcharinfo(0) + "] "; + mes "Huh? That man must"; + mes "have dropped this"; + mes "note in his haste"; + mes "to get away from here."; + mes "Let's see what it says..."; + next; + mes "^666666Kill " + strcharinfo(0) + ", meow."; + mes "That arrogant do-gooder"; + mes "is looking into us too much."; + mes "Fail to kill him, and death"; + mes "will be too good for you, meow.^000000"; + next; + mes "[" + strcharinfo(0) + "]"; + mes "That must have been"; + mes "an informer for the Z Gang."; + mes "He can't have gotten too far:"; + mes "I have a chance to catch him!"; + changequest 3126,3127; + set zdan_edq,10; + close; } +moc_ruins,75,171,3 duplicate(Suspicious Man#1) Suspicious Man#2 4W_M_03,4,4 moc_fild17,209,235,0 script Odd Slab 111,4,4,{ if (((zdan_edq == 15) || (zdan_edq == 16) || (zdan_edq == 17)) && ($@door2 == 0)) { @@ -9404,7 +9132,7 @@ morocc,143,63,3 script Ragged Man#nd 929,{ mes "the hands of someone like"; mes "you than a rival treasure"; mes "hunter. This hunter that"; - mes "stays north in town apparently^FFFFFF ^000000 confirmed the treasure's location."; + mes "stays north in town apparently confirmed the treasure's location."; next; mes "[Ragged Man]"; mes "Now, I hear that this guy"; @@ -9475,7 +9203,7 @@ morocc,143,63,3 script Ragged Man#nd 929,{ mes "he hands of someone like"; mes "you than a rival treasure"; mes "hunter. This hunter that"; - mes "stays north in town apparently^FFFFFF ^000000 confirmed the treasure's location."; + mes "stays north in town apparently confirmed the treasure's location."; next; mes "[Ragged Man]"; mes "Now, I hear that this guy"; @@ -9509,7 +9237,7 @@ morocc,143,63,3 script Ragged Man#nd 929,{ mes "Ah, you must be having"; mes "trouble finding that guy"; mes "I was talking about. He's"; - mes "just in the northern part of^FFFFFF ^000000 this town. It can't be that hard."; + mes "just in the northern part of this town. It can't be that hard."; close; } else if (treasure_nd > 10) { @@ -9534,7 +9262,7 @@ morocc,143,63,3 script Ragged Man#nd 929,{ mes "So how's the treasure"; mes "hunt coming along? I hope"; mes "you have better luck than"; - mes "I did. Still, I've got a pretty^FFFFFF ^000000 good feeling that you'll find it."; + mes "I did. Still, I've got a pretty good feeling that you'll find it."; close; } } @@ -10337,7 +10065,7 @@ comodo,139,184,3 script Scholar#zgang 742,{ mes "jewel came into a rich man's"; mes "possession. However, he lost"; mes "his fortune and was completely"; - mes "ruined after obtaining it. Hence ^FFFFFF ^000000 the moniker, ''Unlucky Emerald.''"; + mes "ruined after obtaining it. Hence the moniker, ''Unlucky Emerald.''"; next; mes "[Scholar]"; mes "Then the emerald came into"; @@ -11207,7 +10935,7 @@ prontera,140,304,5 script Old Soldier 901,{ else if ((BaseLevel > 80) && (BaseLevel < 86)) getexp 36000,0; else if ((BaseLevel > 85) && (BaseLevel < 91)) getexp 50000,0; else if ((BaseLevel > 90) && (BaseLevel < 96)) getexp 80000,0; - else if ((BaseLevel > 95) && (BaseLevel < 160)) getexp 100000,0; + else if ((BaseLevel > 95) && (BaseLevel < MAX_LEVEL)) getexp 100000,0; else getitem 617,1; //Old_Violet_Box } else { if (BaseLevel < 66) getitem 607,1; //Yggdrasilberry @@ -11262,7 +10990,7 @@ prontera,140,304,5 script Old Soldier 901,{ else if ((BaseLevel > 80) && (BaseLevel < 86)) getexp 15000,0; else if ((BaseLevel > 85) && (BaseLevel < 91)) getexp 20000,0; else if ((BaseLevel > 90) && (BaseLevel < 96)) getexp 40000,0; - else if ((BaseLevel > 95) && (BaseLevel < 160)) getexp 50000,0; + else if ((BaseLevel > 95) && (BaseLevel < MAX_LEVEL)) getexp 50000,0; else getitem 617,1; //Old_Violet_Box } else { if (BaseLevel < 66) getitem 607,1; //Yggdrasilberry diff --git a/quests/quests_niflheim.txt b/quests/quests_niflheim.txt index 2577d2e..21c4af2 100644 --- a/quests/quests_niflheim.txt +++ b/quests/quests_niflheim.txt @@ -650,7 +650,7 @@ niflheim,153,215,3 script Feylin 794,{ mes "more that you expect..."; next; if (select("I'm willing to do this.:I don't think I can do this.") == 1) { - if (BaseLevel > 79 && BaseLevel < 100) { + if (BaseLevel > 79) { mes "[Feylin]"; mes "Alright, but you must promise"; mes "me that you will not let other"; diff --git a/quests/quests_prontera.txt b/quests/quests_prontera.txt index a661013..4935e90 100644 --- a/quests/quests_prontera.txt +++ b/quests/quests_prontera.txt @@ -565,6 +565,7 @@ S_GetBooks: mes "thanks for doing this for me."; mes "I was really at my wit's end..."; set prt_curse,3; + setquest 18030; //Custom addition to make the script consistent getitem 7431,1; //Books close; } @@ -864,6 +865,7 @@ yuno,311,195,3 script Historian#prt01 754,{ mes "somewhere in that desert town."; set prt_curse,6; getitem 7342,1; //File01 + changequest 18030,18031; //Custom addition to make the script consistent close; } else if (prt_curse == 6) { @@ -2896,7 +2898,7 @@ prt_church,185,106,3 script Father Bamph 60,{ mes "to cover your Airship fee."; mes "Thank you, and good luck."; set aru_monas,6; - set Zeny, Zeny + (checkre(0))?5000:1500; + set Zeny, Zeny + (checkre(0)?5000:1500); changequest 17002,17003; close; } @@ -3392,7 +3394,7 @@ moc_fild16,201,295,5 script Assassin Guildsman#poiso 884,{ mes "......"; mes "........."; next; - mes "[Assassin Guildsman"; + mes "[Assassin Guildsman]"; mes "Listen carefully."; mes "I will only tell this"; mes "to you one time."; diff --git a/quests/quests_rachel.txt b/quests/quests_rachel.txt index fda54af..80fd917 100644 --- a/quests/quests_rachel.txt +++ b/quests/quests_rachel.txt @@ -350,7 +350,7 @@ ra_in01,384,246,3 script Vincent#ra_in01 47,{ mes "Jenny about Phobe?"; mes "Sure, sure, I'll do that."; set lost_boy,10; - changequest 8097,8097; + changequest 8096,8097; close; } else if (lost_boy == 10) { @@ -6082,6 +6082,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 932,{ mes "on business. She is highly"; mes "loved by the people, you know."; set aru_em,9; + changequest 2131,2132; // unconfirmed } else if ((aru_em == 9) || (aru_em == 10)) { mes "[High Priest Zhed]"; @@ -7064,7 +7065,7 @@ OnTimer120000: ra_temin,293,144,0 script out1#rachel -1,3,3,{ OnTouch: - if (ra_tem_q == 18) { + if (isbegin_quest(8102) == 1) { mes "^3355FFIt sounds like they're"; mes "still talking. It'd be"; mes "best to patient and wait"; @@ -7076,6 +7077,7 @@ OnTouch: mes "you can hear them a little"; mes "better if you listen from"; mes "the left side of the wall.^000000"; + set ra_tem_q_18,1; close2; warp "ra_temin",300,153; end; @@ -7085,7 +7087,7 @@ OnTouch: ra_temin,288,151,0 script hidden1#rachel -1,1,6,{ OnTouch: - if (ra_tem_q == 18) { + if (ra_tem_q_18 == 1) { mes "^3355FFAt this distance you"; mes "can cleartly hear the"; mes "voices from the other"; @@ -7238,6 +7240,7 @@ OnTouch: mes "What could she possibly mean?"; mes "For now, you may as well"; mes "talk to High Priest Zhed.^000000"; + set ra_tem_q_18,2; set ra_tem_q,19; changequest 8102,8103; close; diff --git a/quests/quests_umbala.txt b/quests/quests_umbala.txt index ae98fe6..bfc1080 100644 --- a/quests/quests_umbala.txt +++ b/quests/quests_umbala.txt @@ -461,12 +461,12 @@ um_in,44,71,2 script Utan Shaman 782,{ set event_umbala,7; close; case 7: - mes "[Putsuchiritan]"; + mes "[Puchuchartan]"; mes "I don't know whether my talents"; mes "will be useful to you, but I'll"; mes "help you anyway."; next; - mes "[Putsuchiritan]"; + mes "[Puchuchartan]"; mes "I can create elemental essence from natural objects,"; mes "or, dismantle elemental stones into their component essences."; mes "Which would you like to do?"; diff --git a/quests/quests_veins.txt b/quests/quests_veins.txt index 40d71a4..53642f5 100644 --- a/quests/quests_veins.txt +++ b/quests/quests_veins.txt @@ -4453,7 +4453,7 @@ veins,115,59,5 script Saraman 847,{ mes "Sadly, Silk Sand Camels"; mes "are almost extinct, so I only"; mes "have one on this farm. That's"; - mes "why we have a special contract^FFFFFF ^000000 with Ms. Ivory to make her soap."; + mes "why we have a special contract with Ms. Ivory to make her soap."; next; mes "[Camel Farm Owner Saraman]"; mes "Say... I wasn't expecting"; @@ -4775,7 +4775,7 @@ veins,78,226,5 script Camel#camelcc1::VeinsCamel 938,{ veins,72,227,3 duplicate(VeinsCamel) Camel#camelcc3 938 veins,81,222,1 duplicate(VeinsCamel) Camel#camelcc4 938 veins,77,219,5 duplicate(VeinsCamel) Camel#camelcc5 938 -veins,73,215,8 duplicate(VeinsCamel) Camel#camelcc6 938 +veins,73,215,0 duplicate(VeinsCamel) Camel#camelcc6 938 veins,68,215,5 duplicate(VeinsCamel) Camel#camelcc7 938 ve_fild07,235,42,3 script Silk Sand Camel 938,{ diff --git a/quests/skills/alchemist_skills.txt b/quests/skills/alchemist_skills.txt index 3a514f7..95dc3ce 100644 --- a/quests/skills/alchemist_skills.txt +++ b/quests/skills/alchemist_skills.txt @@ -141,7 +141,7 @@ yuno_in04,33,108,4 script Pisruik#qsk_al 883,{ mes "5 Yellow Gemstones."; mes "That's what I needed."; mes "I'm sure there was more,"; - mes "but what I can't recall exactly... ^FFFFFF ^000000"; + mes "but what I can't recall exactly..."; next; if (select("10 Hearts of Mermaid:10 Large Jellopies") == 1) { mes "[Pisruik]"; @@ -642,7 +642,7 @@ yuno_in04,33,108,4 script Pisruik#qsk_al 883,{ mes "20 Maneater Blossoms."; mes "If I weren't so sickly, I'd get"; mes "them myself, but--*Cough* as"; - mes "you can see, I don't feel so well. ^FFFFFF ^000000"; + mes "you can see, I don't feel so well."; set ALCHE_SK,6; next; mes "[Pisruik]"; @@ -761,7 +761,7 @@ yuno_in04,33,108,4 script Pisruik#qsk_al 883,{ mes "Actually, I miscalculated"; mes "the number of Maneater"; mes "Blossoms that I need. Would"; - mes "you bring me one more? Sorry,^FFFFFF ^000000 I know it's kind of troublesome..."; + mes "you bring me one more? Sorry, I know it's kind of troublesome..."; close; } else if (ALCHE_SK == 8) { @@ -853,7 +853,7 @@ yuno_in04,33,108,4 script Pisruik#qsk_al 883,{ mes "Actually, I miscalculated"; mes "the number of Maneater"; mes "Blossoms that I need. Would"; - mes "you bring me one more? Sorry,^FFFFFF ^000000 I know it's kind of troublesome..."; + mes "you bring me one more? Sorry, I know it's kind of troublesome..."; close; } } @@ -1135,7 +1135,7 @@ yuno_in04,27,107,4 script Degas#qsk_al 748,{ mes "always coughing. Between"; mes "the two of them, it's far too"; mes "noisy to focus on my research!"; - mes "If only I could work in my very^FFFFFF ^000000 own private, secret laboratory..."; + mes "If only I could work in my very own private, secret laboratory..."; close; } @@ -1179,12 +1179,12 @@ lhz_in01,224,140,3 script Kellasus#qsk_al 57,{ mes "to see if your Homunculus"; mes "is tired or hungry, or if it's"; mes "been hurt. You must also take"; - mes "into account your Homunculus's^FFFFFF ^000000 feelings towards you, its owner."; + mes "into account your Homunculus's feelings towards you, its owner."; next; mes "[Kellasus]"; mes "When that nurturing attitude"; mes "becomes second nature to you,"; - mes "you will have mastered Bioethics.^FFFFFF ^000000 It sounds simple, but you can only"; + mes "you will have mastered Bioethics. It sounds simple, but you can only"; mes "understand a relationship with a Homunculus through experience."; next; mes "[Kellasus]"; @@ -1527,7 +1527,7 @@ lhz_in01,224,140,3 script Kellasus#qsk_al 57,{ mes "brings you this way?"; mes "As your senior in the"; mes "field of Alchemy, I can"; - mes "give you some advice if you're^FFFFFF ^000000 stumped by a particular problem..."; + mes "give you some advice if you're stumped by a particular problem..."; next; if (select("Teach me the Homunculus Skills.:No, nothing.") == 1) { mes "[" + strcharinfo(0) + "]"; @@ -1557,7 +1557,7 @@ lhz_in01,224,140,3 script Kellasus#qsk_al 57,{ mes "[Kellasus]"; mes "Perhaps I never should"; mes "have mentioned that subject."; - mes "But I still don't understand why^FFFFFF ^000000 you would suddenly want to "; + mes "But I still don't understand why you would suddenly want to "; mes "learn those skills. Yes, it's"; mes "true that I could teach you..."; next; @@ -1631,8 +1631,8 @@ lhz_in01,224,140,3 script Kellasus#qsk_al 57,{ mes "[Kellasus]"; mes "I only fear that your quest"; mes "for knowledge, your insatiable"; - mes "curiosity to reveal the unknown,^FFFFFF ^000000 may lead you on the path of the"; - mes "Homunculus. For your own sake,^FFFFFF ^000000 don't bother considering the idea."; + mes "curiosity to reveal the unknown, may lead you on the path of the"; + mes "Homunculus. For your own sake, don't bother considering the idea."; next; set bioeth,3; mes "[Kellasus]"; @@ -1640,7 +1640,7 @@ lhz_in01,224,140,3 script Kellasus#qsk_al 57,{ mes "precious. If your motives"; mes "are good, and untainted by"; mes "the desire for fame or fortune,"; - mes "and if you work for the greater^FFFFFF ^000000 good of mankind, you'll be fine."; + mes "and if you work for the greater good of mankind, you'll be fine."; close; } if (BaseJob == Job_Alchemist && bioeth == 1) { @@ -1688,7 +1688,7 @@ lhz_in01,224,140,3 script Kellasus#qsk_al 57,{ mes "exciting vastness of Alchemy,"; mes "there is no turning back. Do"; mes "your best to learn all that you"; - mes "can, and never forget that you^FFFFFF ^000000 have responsibilities to mankind."; + mes "can, and never forget that you have responsibilities to mankind."; close; } if (BaseJob == Job_Alchemist) { @@ -1748,7 +1748,7 @@ lhz_in01,225,122,5 script Skrajjad#qsk_al 754,{ mes "I've taught you everything"; mes "I can about the Homunculi."; mes "I hope that I've been of some"; - mes "help in your quest for knowledge^FFFFFF ^000000 and understanding of our universe."; + mes "help in your quest for knowledge and understanding of our universe."; next; mes "[Skrajjad]"; mes "If you haven't already done"; @@ -2079,7 +2079,7 @@ lhz_in03,106,34,3 script Koring#qsk_al 706,{ mes "He's always trying hard"; mes "to make me happy and to "; mes "help me when I have problems."; - mes "Like the time I was really sick... ^FFFFFF ^000000"; + mes "Like the time I was really sick..."; next; mes "[Koring]"; mes "Daddy did his best to make"; @@ -2152,15 +2152,15 @@ lhz_in03,109,31,5 script Beninne#qsk_al 90,{ lighthalzen,226,210,3 script Nannan#qsk_al 86,{ mes "[Nannan]"; - mes "You know, I always thought^FFFFFF ^000000 that all Alchemists were bookish,"; + mes "You know, I always thought that all Alchemists were bookish,"; mes "scholarly types, their faces always buried in books and studying. But"; mes "I managed to find one who doesn't 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^FFFFFF ^000000 discovered the secret of turning"; - mes "water into Grade A booze. But^FFFFFF ^000000 at least he's not the stuffy type."; + mes "his time drinking. I guess he discovered the secret of turning"; + mes "water into Grade A booze. But at least he's not the stuffy type."; next; mes "[Nannan]"; mes "I don't know how much"; diff --git a/quests/skills/assassin_skills.txt b/quests/skills/assassin_skills.txt index 2479a1a..9eb508d 100644 --- a/quests/skills/assassin_skills.txt +++ b/quests/skills/assassin_skills.txt @@ -170,7 +170,7 @@ in_moc_16,14,27,5 script Assassin#realman 884,{ mes "the Venom Knife skill from"; mes "me first. Then, you can talk"; mes "to Esmille, the beautiful"; - mes "Assassin Cross right next to^FFFFFF ^000000 me, to learn Sonic Acceleration."; + mes "Assassin Cross right next to me, to learn Sonic Acceleration."; next; break; case 2: @@ -186,7 +186,7 @@ in_moc_16,14,27,5 script Assassin#realman 884,{ mes "This Venom Knife skill was"; mes "developed with this weakness"; mes "in long range attacking in mind. Basically, we use the Envenom"; - mes "skill on a knife and throw it at^FFFFFF ^000000 a distant enemy to poison them."; + mes "skill on a knife and throw it at a distant enemy to poison them."; next; break; case 3: @@ -309,7 +309,7 @@ in_moc_16,23,27,5 script Assassin#realgirl 885,{ mes "Sonic Blow skill. The skill"; mes "I will teach you is completely"; mes "useless unless you learn how"; - mes "to perform a Sonic Blow. I shall^FFFFFF ^000000 be waiting right here till then."; + mes "to perform a Sonic Blow. I shall be waiting right here till then."; close; } mes "[Esmille]"; @@ -486,8 +486,8 @@ in_moc_16,23,27,5 script Assassin#realgirl 885,{ mes "[Esmille]"; mes "That jewel is yours"; mes "to keep. In truth, I don't"; - mes "really need any treasure, just^FFFFFF ^000000 some proof of your qualification."; - mes "It looks like you're ready for me^FFFFFF ^000000 to teach you Sonic Acceleration."; + mes "really need any treasure, just some proof of your qualification."; + mes "It looks like you're ready for me to teach you Sonic Acceleration."; set ASSN_SK,6; next; mes "[Esmille]"; @@ -538,7 +538,7 @@ in_moc_16,23,27,5 script Assassin#realgirl 885,{ mes "Yes, that's it...!"; mes "Very well executed."; mes "Good work, "+ strcharinfo(0) +"."; - skill 1003,1,0; + skill "AS_SONICACCEL",1,0; set ASSN_SK,7; next; mes "[Esmille]"; @@ -642,7 +642,7 @@ in_moc_16,23,27,5 script Assassin#realgirl 885,{ mes "that you're so enthusiastic"; mes "about learning this skill."; mes "But first, there we need to"; - mes "take care of the prerequisites... ^FFFFFF ^000000"; + mes "take care of the prerequisites..."; next; if (getskilllv("AS_SONICBLOW") == 0) { mes "[Esmille]"; @@ -650,7 +650,7 @@ in_moc_16,23,27,5 script Assassin#realgirl 885,{ mes "Sonic Blow skill. The skill"; mes "I will teach you is completely"; mes "useless unless you learn how"; - mes "to perform a Sonic Blow. I shall^FFFFFF ^000000 be waiting right here till then."; + mes "to perform a Sonic Blow. I shall be waiting right here till then."; close; } mes "[Esmille]"; diff --git a/quests/skills/bard_skills.txt b/quests/skills/bard_skills.txt index 043526d..adf91f8 100644 --- a/quests/skills/bard_skills.txt +++ b/quests/skills/bard_skills.txt @@ -420,7 +420,7 @@ morocc_in,169,72,7 script Spiteful-Looking Bard#bs 741,3,3,{ mes "fiercely into the eyes of"; mes "your target, and focus on"; mes "thoughts of dominance. This"; - mes "is the basis for mesmerization.^FFFFFF ^000000 Now listen to this incantation..."; + mes "is the basis for mesmerization. Now listen to this incantation..."; next; mes "[Riott]"; mes "Uuuummm Baaalaaaa"; @@ -434,7 +434,7 @@ morocc_in,169,72,7 script Spiteful-Looking Bard#bs 741,3,3,{ mes "[Riott]"; mes "Pang's Voice is used to"; mes "confuse people and disrupt"; - mes "control of their bodies. It's not^FFFFFF ^000000 a fatal skill, but it is effective"; + mes "control of their bodies. It's not a fatal skill, but it is effective"; mes "in mentally upsetting your enemy. Make very wise use of this skill."; skill "BA_PANGVOICE",1,0; close; @@ -478,7 +478,7 @@ morocc_in,169,72,7 script Spiteful-Looking Bard#bs 741,3,3,{ mes "fiercely into the eyes of"; mes "your target, and focus on"; mes "thoughts of dominance. This"; - mes "is the basis for mesmerization.^FFFFFF ^000000 Now listen to this incantation..."; + mes "is the basis for mesmerization. Now listen to this incantation..."; next; mes "[Riott]"; mes "''Toad's leg, Verit's heart,"; @@ -519,7 +519,7 @@ morocc_in,169,72,7 script Spiteful-Looking Bard#bs 741,3,3,{ mes "your use of this skill! Don't"; mes "use it recklessly, or people"; mes "will come to hate you as they"; - mes "hate me. But ''Pang Voice'' can^FFFFFF ^000000 be welcome is certain situations."; + mes "hate me. But ''Pang Voice'' can be welcome is certain situations."; next; mes "[Riott]"; mes "Subject your enemies to"; @@ -544,7 +544,7 @@ morocc_in,169,72,7 script Spiteful-Looking Bard#bs 741,3,3,{ mes "some fresh eggs laid by"; mes "Yhelle, just like I asked."; mes "I'm sure it was dangerous"; - mes "going to Nifflheim, but the^FFFFFF ^000000 flavor of these eggs is worth it."; + mes "going to Nifflheim, but the flavor of these eggs is worth it."; next; next; mes "[Riott]"; @@ -560,7 +560,7 @@ morocc_in,169,72,7 script Spiteful-Looking Bard#bs 741,3,3,{ mes "fiercely into the eyes of"; mes "your target, and focus on"; mes "thoughts of dominance. This"; - mes "is the basis for mesmerization.^FFFFFF ^000000 Now listen to this incantation..."; + mes "is the basis for mesmerization. Now listen to this incantation..."; next; mes "[Riott]"; mes "''Toad's leg, Verit's heart,"; @@ -571,7 +571,7 @@ morocc_in,169,72,7 script Spiteful-Looking Bard#bs 741,3,3,{ mes "spinning, head spinning...!''"; specialeffect2 EF_TALK_FROSTJOKE; delitem 574,5; //Egg - skill 1010,1,0; + skill "BA_PANGVOICE",1,0; set qskill_bard,9; next; mes "[Riott]"; @@ -601,7 +601,7 @@ morocc_in,169,72,7 script Spiteful-Looking Bard#bs 741,3,3,{ mes "your use of this skill! Don't"; mes "use it recklessly, or people"; mes "will come to hate you as they"; - mes "hate me. But ''Pang Voice'' can^FFFFFF ^000000 be welcome is certain situations."; + mes "hate me. But ''Pang Voice'' can be welcome is certain situations."; next; mes "[Riott]"; mes "Subject your enemies to"; diff --git a/quests/skills/blacksmith_skills.txt b/quests/skills/blacksmith_skills.txt index c77fd49..595025a 100644 --- a/quests/skills/blacksmith_skills.txt +++ b/quests/skills/blacksmith_skills.txt @@ -27,7 +27,7 @@ geffen,178,72,3 script Akkie#qsk_bs 726,{ mes "[Akkie]"; mes "Actually, let me jog your"; mes "memory with this counterfeit"; - mes "zeny that we made the last time.^FFFFFF ^000000 Do you remember how to perform"; + mes "zeny that we made the last time. Do you remember how to perform"; mes "Dubious Salesmanship? You"; mes "should be able to use it now..."; set BLACK_SK,8; @@ -537,7 +537,7 @@ geffen,172,52,1 script Goodman#qsk_bs 826,{ mes "the Greed skill automatically"; mes "picks up all items in a 5*5"; mes "cell area around the caster."; - mes "It's handy for picking up clumps^FFFFFF ^000000 of goods from looting monsters."; + mes "It's handy for picking up clumps of goods from looting monsters."; next; mes "[Goodman]"; mes "First thing's first. I need to"; @@ -569,7 +569,7 @@ geffen,172,52,1 script Goodman#qsk_bs 826,{ mes "Back already, eh?"; mes "Alright, let me check"; mes "the things you're carrying."; - mes "Let's see, Inventory, Inventory... ^FFFFFF ^000000"; + mes "Let's see, Inventory, Inventory..."; next; mes "[Goodman]"; mes "Good work: you pass."; @@ -587,9 +587,9 @@ geffen,172,52,1 script Goodman#qsk_bs 826,{ mes "artisans. Being rich and famous"; mes "is merely a side effect of that."; if (Upper == 1) - mes "Honorable Master Smiths know^FFFFFF ^000000 value is in the craftsmanship..."; + mes "Honorable Master Smiths know value is in the craftsmanship..."; else - mes "Honorable Blacksmiths know^FFFFFF ^000000 value is in the craftsmanship..."; + mes "Honorable Blacksmiths know value is in the craftsmanship..."; next; if (Upper == 1) { mes "[Goodman]"; @@ -617,7 +617,7 @@ geffen,172,52,1 script Goodman#qsk_bs 826,{ mes "Hm. You've come back"; mes "too early. And you didn't"; mes "complete the objective that"; - mes "I set for you. Listen carefully. ^FFFFFF ^000000"; + mes "I set for you. Listen carefully."; next; mes "[Goodman]"; mes "Go fill your Inventory"; diff --git a/quests/skills/crusader_skills.txt b/quests/skills/crusader_skills.txt index e9e0a05..50623c3 100644 --- a/quests/skills/crusader_skills.txt +++ b/quests/skills/crusader_skills.txt @@ -153,7 +153,7 @@ geffen,110,117,3 script Ford#11 752,{ mes "Goodness, there's blood all"; mes "over the paper! Let's see..."; mes "Oh no. This is an emergency"; - mes "situation! I need to report this^FFFFFF ^000000 to Sir Arga and request for"; + mes "situation! I need to report this to Sir Arga and request for"; mes "backup immediately!"; next; mes "["+ strcharinfo(0) +"]"; @@ -400,7 +400,7 @@ gef_fild13,297,242,3 script Soldier#277 751,{ mes "^333333(I better bring him"; mes "a Red Potion, otherwise"; mes "I have no hope of getting"; - mes "that report without hurting him!) ^FFFFFF ^000000"; + mes "that report without hurting him!)"; close; } } diff --git a/quests/skills/dancer_skills.txt b/quests/skills/dancer_skills.txt index be06b72..18e9985 100644 --- a/quests/skills/dancer_skills.txt +++ b/quests/skills/dancer_skills.txt @@ -94,7 +94,7 @@ comodo,204,172,5 script Canell#qsk_dan01 724,{ mes "Ho-ho~ It's good that you"; mes "recognize that you have much"; mes "to learn. Well, let's not waste"; - mes "any time. Your first lesson will^FFFFFF ^000000 be on image training and self"; + mes "any time. Your first lesson will be on image training and self"; mes "visualization. Now, for that..."; next; mes "[Canell]"; @@ -259,7 +259,7 @@ comodo,204,172,5 script Canell#qsk_dan01 724,{ mes "proper winking is to allow"; mes "your eyelid to seductively"; mes "move to a natural rhythm."; - mes "Close your eye for a second,^FFFFFF ^000000 then open it slowly to this count."; + mes "Close your eye for a second, then open it slowly to this count."; next; mes "[Canell]"; mes "Un, deux, trois~"; diff --git a/quests/skills/knight_skills.txt b/quests/skills/knight_skills.txt index 3283096..8a95ea9 100644 --- a/quests/skills/knight_skills.txt +++ b/quests/skills/knight_skills.txt @@ -236,7 +236,7 @@ prt_in,85,99,3 script Knight#kabuto 734,{ mes "I forget all about my old"; mes "fashioned ideals. I guess"; mes "times have changed, and that"; - mes "my idea of chivalry may be dead. ^FFFFFF ^000000"; + mes "my idea of chivalry may be dead."; close; } if (KNGT_SK == 1) { @@ -278,7 +278,7 @@ prt_in,85,99,3 script Knight#kabuto 734,{ mes "more active, there are too"; mes "many regulations that hamper"; mes "the good we can do. Over time,"; - mes "the situation has grown much^FFFFFF ^000000 worse. But don't take my word..."; + mes "the situation has grown much worse. But don't take my word..."; next; mes "[Essofeit]"; mes "Perhaps it will be better"; @@ -365,7 +365,7 @@ prontera,72,352,7 script Grand Master 733,{ mes "men! I know training can"; mes "be tough, but it'll make"; mes "you harder, better, faster and"; - mes "stronger! Prontera's safety is^FFFFFF ^000000 your responsibility, Knights!"; + mes "stronger! Prontera's safety is your responsibility, Knights!"; next; mes "[Grand Master]"; mes "..."; @@ -487,7 +487,7 @@ prontera,66,358,5 script Knight#gattack 733,{ mes "Gosh, I'm sick and tired of"; mes "him talking about Knighthood."; mes "Essofeit insists that all Knights, even complete rookies, should be"; - mes "able to obtain 5 Candy Canes and^FFFFFF ^000000 3 Witherless Roses from hunting."; + mes "able to obtain 5 Candy Canes and 3 Witherless Roses from hunting."; next; mes "[Gatack]"; mes "Hell, I just hate to hear"; diff --git a/quests/skills/monk_skills.txt b/quests/skills/monk_skills.txt index c92ddfe..42c8493 100644 --- a/quests/skills/monk_skills.txt +++ b/quests/skills/monk_skills.txt @@ -101,7 +101,7 @@ prt_monk,270,198,3 script Apprentice Monk#qsk_mo 753,{ mes "[Monk]"; mes "My test may seem too strict,"; mes "but it is impossible to learn"; - mes "Spiritual Bestowment without^FFFFFF ^000000 the right discipline. As with all"; + mes "Spiritual Bestowment without the right discipline. As with all"; mes "things, readiness and preparation precede all forms of realization."; next; mes "[Monk]"; @@ -164,7 +164,7 @@ prt_monk,270,198,3 script Apprentice Monk#qsk_mo 753,{ mes "meaning of selflessness?"; mes "When you abandon greed"; mes "and the desires of the world,"; - mes "you will be ready for my teaching. ^FFFFFF ^000000"; + mes "you will be ready for my teaching."; close; } } @@ -180,7 +180,7 @@ prt_monk,270,198,3 script Apprentice Monk#qsk_mo 753,{ mes "[Monk]"; mes "Hm? To what purpose have"; mes "you come to visit me? Ah, so"; - mes "you wish to learn the skill that^FFFFFF ^000000 I have developed. My colleague"; + mes "you wish to learn the skill that I have developed. My colleague"; mes "was right: more and more people have been wanting to learn this."; next; mes "[Monk]"; @@ -305,7 +305,7 @@ monk_test,316,69,5 script Monk#qsk_mo 823,{ mes "innocents terrorized by"; mes "the aggressive Mandragoras."; mes "If you bring me ^FF000020 Stems^000000 and"; - mes "^FF00003 Shoots^000000, I will be satisfied^FFFFFF ^000000 with this proof of your ability."; + mes "^FF00003 Shoots^000000, I will be satisfied with this proof of your ability."; next; mes "[Monk]"; mes "Do you understand now?"; @@ -366,7 +366,7 @@ monk_test,316,69,5 script Monk#qsk_mo 823,{ mes "living in seclusion that"; mes "can teach the Spiritual"; mes "Bestowment skill. However,"; - mes "he is stubborn, and has refused^FFFFFF ^000000 many who wish to learn from him."; + mes "he is stubborn, and has refused many who wish to learn from him."; next; mes "[Monk]"; mes "It would be good if"; diff --git a/quests/skills/priest_skills.txt b/quests/skills/priest_skills.txt index 7c0aa4b..ece7fdd 100644 --- a/quests/skills/priest_skills.txt +++ b/quests/skills/priest_skills.txt @@ -91,7 +91,7 @@ prt_church,111,112,1 script Sister Linus 79,{ next; mes "[Sister Linus]"; mes "One day, a group of adventurers"; - mes "came to Prontera Church in hopes^FFFFFF ^000000 of hiring a Priest to accompany"; + mes "came to Prontera Church in hopes of hiring a Priest to accompany"; mes "them to ^3131DDGlast Heim^000000. It must have been fate that she was the only"; mes "Priest that was available."; next; @@ -116,7 +116,7 @@ prt_church,111,112,1 script Sister Linus 79,{ mes "Surrounded by Wanderers,"; mes "the adventurers quickly fell"; mes "in defeat, one by one. Soon,"; - mes "the young nun was the only^FFFFFF ^000000 one of the group still standing."; + mes "the young nun was the only one of the group still standing."; next; mes "[Sister Linus]"; mes "Alone against impossible"; @@ -195,7 +195,7 @@ prt_church,111,112,1 script Sister Linus 79,{ mes "running my mouth! I'm"; mes "sorry to keep you, did you"; mes "have somewhere to go? Well,"; - mes "I'll be praying for your safety~ ^FFFFFF ^000000"; + mes "I'll be praying for your safety~"; next; mes "["+ strcharinfo(0) +"]"; mes "Before I go, would you"; diff --git a/quests/skills/rogue_skills.txt b/quests/skills/rogue_skills.txt index da8dd45..73987dd 100644 --- a/quests/skills/rogue_skills.txt +++ b/quests/skills/rogue_skills.txt @@ -140,7 +140,7 @@ in_rogue,355,179,0 script Haijara Greg#rogueguild 46,{ mes "eh? Then I will teach you the"; mes "Close Confine skill once again."; specialeffect2 EF_LIGHTSPHERE; - skill 1005,1,0; + skill "RG_CLOSECONFINE",1,0; set ROG_SK,13; close; } @@ -207,7 +207,7 @@ in_rogue,355,179,0 script Haijara Greg#rogueguild 46,{ mes "but after transcending, he"; mes "somehow became a Stalker."; mes "Retaining his knowledge of"; - mes "the Monk's Root skill, he adapted^FFFFFF ^000000 it for the purposes of the Rogues."; + mes "the Monk's Root skill, he adapted it for the purposes of the Rogues."; next; mes "[Haijara Greg]"; mes "Chae Takbae recorded the"; @@ -386,7 +386,7 @@ in_rogue,355,179,0 script Haijara Greg#rogueguild 46,{ mes "supposed to be in the"; mes "middle of training to learn"; mes "that skill? Please speak to"; - mes "Thor and complete your training. ^FFFFFF ^000000"; + mes "Thor and complete your training."; close; } else if (ROG_SK == 8) { @@ -491,9 +491,9 @@ in_rogue,355,179,0 script Haijara Greg#rogueguild 46,{ mes "you about Close Confine."; mes "I hope that you can learn"; mes "more about this skill through"; - mes "practice, and that you become^FFFFFF ^000000 as great a legend as Chae Takbae."; + mes "practice, and that you become as great a legend as Chae Takbae."; set ROG_SK,12; - skill 1005,1,0; + skill "RG_CLOSECONFINE",1,0; specialeffect2 EF_LIGHTSPHERE; close; } @@ -505,7 +505,7 @@ in_rogue,355,179,0 script Haijara Greg#rogueguild 46,{ mes "practice. Good luck, and"; mes "thanks again for your help."; set ROG_SK,12; - skill 1005,1,0; + skill "RG_CLOSECONFINE",1,0; specialeffect2 EF_LIGHTSPHERE; close; } @@ -750,7 +750,7 @@ in_rogue,268,125,2 script Thor Greg#rogueguild 86,{ mes "out with Antonio Jr. here"; mes "inside the Rogue Guild. "; mes "Please bring him the letter"; - mes "I've written as soon as possible! ^FFFFFF ^000000"; + mes "I've written as soon as possible!"; close; } else if (ROG_SK == 5) { @@ -792,7 +792,7 @@ in_rogue,268,125,2 script Thor Greg#rogueguild 86,{ mes "training partner. Approach her"; mes "closely and make sure that you"; mes "predict and block her movements"; - mes "to the left, right or backward.^FFFFFF ^000000 Get ready, I'm sending you now..."; + mes "to the left, right or backward. Get ready, I'm sending you now..."; close2; warp "in_rogue",89,114; end; @@ -823,7 +823,7 @@ in_rogue,268,125,2 script Thor Greg#rogueguild 86,{ mes "training partner. Approach her"; mes "closely and make sure that you"; mes "predict and block her movements"; - mes "to the left, right or backward.^FFFFFF ^000000 Get ready, I'm sending you now..."; + mes "to the left, right or backward. Get ready, I'm sending you now..."; set ROG_SK,6; close2; warp "in_rogue",89,114; @@ -843,7 +843,7 @@ in_rogue,268,125,2 script Thor Greg#rogueguild 86,{ mes "that you've completed your"; mes "training. Congratulations!"; mes "Now, please speak to my"; - mes "father so that he can explain^FFFFFF ^000000 the Close Confine skill in detail."; + mes "father so that he can explain the Close Confine skill in detail."; set ROG_SK,9; close; } @@ -852,7 +852,7 @@ in_rogue,268,125,2 script Thor Greg#rogueguild 86,{ mes "Please talk to my father"; mes "so that he can explain the"; mes "nuances of the Close Confine"; - mes "skill to you. He should still be^FFFFFF ^000000 in the Rogue Guild's panic room."; + mes "skill to you. He should still be in the Rogue Guild's panic room."; close; } else if (ROG_SK == 11) { diff --git a/quests/skills/sage_skills.txt b/quests/skills/sage_skills.txt index b3af8f2..0e8c156 100644 --- a/quests/skills/sage_skills.txt +++ b/quests/skills/sage_skills.txt @@ -185,14 +185,14 @@ yuno_in03,176,24,3 script Mischna 755,{ mes "The first is called ^FF0000Elemental"; mes "Change^000000, which enables you"; mes "to change a monster's attribute"; - mes "according to the specific element^FFFFFF ^000000 of the Elemental Change skill"; + mes "according to the specific element of the Elemental Change skill"; mes "that you have learned."; next; mes "[Mishuna]"; mes "The second is called"; mes "Elemental Converter Creation,"; mes "which enables you to create"; - mes "converter items that are required^FFFFFF ^000000 to use the Elemental Change skill."; + mes "converter items that are required to use the Elemental Change skill."; next; mes "[Mishuna]"; mes "Although the knowledge of"; @@ -238,7 +238,7 @@ yuno_in03,176,24,3 script Mischna 755,{ mes "nexting here for your"; mes "return. Remember that we"; mes "need these items to create"; - mes "a converter so that you can^FFFFFF ^000000 learn the skill from my example..."; + mes "a converter so that you can learn the skill from my example..."; set SAG_SK,1; close; } diff --git a/quests/skills/swordman_skills.txt b/quests/skills/swordman_skills.txt index 04eca31..d4c0a30 100644 --- a/quests/skills/swordman_skills.txt +++ b/quests/skills/swordman_skills.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= kobra_k88 //===== Current Version: ===================================== -//= 1.8 +//= 1.9 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -13,22 +13,95 @@ //= 1.6 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] //= 1.7 Updated to latest available official file. [Masao] //= 1.8 Fixed JobLevel requirements. [Euphy] +//= 1.9 Moved Izlude NPC to pre-re/re paths. [Euphy] +//= Updated "Knight De Thomas" NPC to latest version. //============================================================ -izlude_in,175,130,2 script Knight De Thomas 98,4,4,{ - if ((BaseClass == Job_Swordman) && (sm_movingrecovery_x < 1)) { +- script ::KnightDeThomas 98,4,4,{ + if ((BaseClass == Job_Swordman) && (JobLevel >= 35 || (BaseJob == Job_Knight || BaseJob == Job_Crusader))) { + if (getskilllv("SM_MOVINGRECOVERY") == 1) { + mes "[De Thomas]"; + mes "Oh, it's you?"; + mes "Long time no see!"; + mes "You seem healthier than before."; + mes "Hahahaha!"; + mes "Take care! See you again!"; + close; + } else if (countitem(713) >= 200 && countitem(1058) >= 1) { + mes "[De Thomas]"; + mes "Welcome back..."; + mes "Are you ready to learn Body Movin'?"; + next; + switch (select("Yes.:No, I'm not ready yet.")) { + case 1: + mes "[De Thomas]"; + mes "Let's see....."; + next; + mes "[De Thomas]"; + mes "Ok! I shall now teach you..."; + mes "...The Body Movin' skill!"; + next; + delitem 713,200; //Empty_Bottle + delitem 1058,1; //Wing_Of_Moth + skill "SM_MOVINGRECOVERY",1,0; + mes "[De Thomas]"; + mes "There you go!"; + mes "Try it yourself."; + mes "But don't overdo it."; + next; + mes "[De Thomas]"; + mes "Oh yeah, I won't be needing your"; + mes "armor so you can keep it."; + mes "Good luck now!"; + close; + case 2: + mes "[De Thomas]"; + mes "Is that so?"; + mes "Then come when you are prepared."; + close; + } + } else { + mes "[De Thomas]"; + mes "Hmmm... He's a swordsman..."; + mes "You know that I am De Thomas Carlos, right?"; + mes "Knight of Prontera's 3rd Calvary."; + mes "De Thomas Carlos!"; + next; + mes "[De Thomas]"; + + // bug: official script always states that job level is too low + //mes "Wait a second, your Job level isn't above ^00880035^000000!"; + //mes "Come back when it is."; + + // custom: old dialog + mes "You do not have all the items I asked for."; + next; + mes "[De Thomas]"; + mes "Remember, I need ^008800200 empty bottles^000000, your armor, and a ^008800Moth Wing^000000. Come back when you have it all."; + close; + } + } else { + mes "[De Thomas]"; + mes "My name is De Thomas Carlos."; + mes "Knight of Prontera's 3rd Calvary."; + mes "I have a certain duty these days."; + mes "Ehem! Need I say more."; + close; + } + end; + +OnTouch: + if ((BaseClass == Job_Swordman) && (JobLevel >= 35 || (BaseJob == Job_Knight || BaseJob == Job_Crusader))) { mes "[De Thomas]"; mes "Oh, no! You must have been hurt! Are you ok?"; mes "You must have fought hard to get such serious injuries.."; mes "Being a swordsman must come with a lot of responsibility and sacrifice."; next; mes "[De Thomas]"; - if (Sex == 0) { + if (Sex == 0) mes "For these swordsmen and knights, there is a wonderful skill."; - } - else { + else mes "For these swordswomen and knights, there is a wonderful skill young lady."; - } mes "I present to you - HP Recovery While Moving!"; mes "Body moving is a splendid skill"; mes "that allows you to regain strength(HP)"; @@ -66,8 +139,6 @@ izlude_in,175,130,2 script Knight De Thomas 98,4,4,{ mes "Don't you think it is pitiful that I have to stay in once place everyday, not being able to go outside?"; mes "Please, find me one...*sniffsniff*"; mes "If you don't..."; - set sm_movingrecovery_x,1; - mes "You won't get anything! Muahahaha."; close; case 2: mes "[De Thomas]"; @@ -75,82 +146,10 @@ izlude_in,175,130,2 script Knight De Thomas 98,4,4,{ close; } } - else if ((BaseClass == Job_Swordman) && (sm_movingrecovery_x > 1)) { - mes "[De Thomas]"; - mes "Oh, it's you?"; - mes "Long time no see!"; - mes "You seem healthier than before."; - mes "Hahahaha!"; - mes "Take care! See you again!"; - close; - } - else if ((BaseClass == Job_Swordman) && (sm_movingrecovery_x == 1)) { - mes "[De Thomas]"; - mes "Welcome back..."; - mes "are you ready to learn Body Movin'?"; - next; - switch (select("Yes.:No, I'm not ready yet.")) { - case 1: - if ((JobLevel > 34 || (BaseJob == Job_Knight || BaseJob == Job_Crusader)) && (countitem(713) > 199) && (countitem(1058) > 0)) { - mes "[De Thomas]"; - mes "Let's see....."; - next; - mes "[De Thomas]"; - mes "Ok! I shall now teach you..."; - mes "...The Body Movin' skill!"; - next; - delitem 713,200; //Empty_Bottle - delitem 1058,1; //Wing_Of_Moth - skill "SM_MOVINGRECOVERY",1,0; - set sm_movingrecovery_x,2; - mes "[De Thomas]"; - mes "There you go!"; - mes "Try it yourself."; - mes "But don't overdo it."; - next; - mes "[De Thomas]"; - mes "Oh yeah, I won't be needing your"; - mes "armor so you can keep it."; - mes "Good luck now!"; - close; - } - else if (JobLevel < 35 && (BaseJob != Job_Knight && BaseJob != Job_Crusader)) { - mes "[De Thomas]"; - mes "Wait a second, your Job level isn't above ^00880035^000000!"; - mes "Come back when it is."; - close; - } - else if ((countitem(713) < 200) || (countitem(1058) < 1)) { - mes "[De Thomas]"; - mes "You do not have all the items I asked for."; - next; - mes "[De Thomas]"; - mes "Remember I need, ^008800200 empty bottles^000000, your armor, and a ^008800Moth Wing^000000. Come back when you have it all."; - close; - } - mes "[De Thomas]"; - mes "You do not have all the items I asked for."; - next; - mes "[De Thomas]"; - mes "Remember I need, ^008800200 empty bottles^000000, your armor, and a ^008800Moth Wing^000000. Come back when you have it all."; - close; - case 2: - mes "[De Thomas]"; - mes "Is that so?"; - mes "Then come when you are prepared."; - close; - } - } - mes "[De Thomas]"; - mes "My name is De Thomas Carlos."; - mes "Knight of Prontera's 3rd Calvary."; - mes "I have a certain duty these days."; - mes "Ehem! Need I say more."; - close; + end; } prt_in,75,88,5 script Leon Von Frich 85,3,3,{ - if ((BaseClass == Job_Swordman) && (JobLevel >= 25 || (BaseJob == Job_Knight || BaseJob == Job_Crusader))) { if (getskilllv("SM_FATALBLOW") == 1) { mes "[Leon]"; @@ -303,7 +302,7 @@ OnTouch: close; } -prt_in,94,57,3 script Juan 85,4,4,{ +prt_in,94,57,3 script Juan 85,{ if (BaseClass == Job_Swordman) { if (getskilllv("SM_AUTOBERSERK") == 1) { mes "[Juan]"; diff --git a/quests/skills/wizard_skills.txt b/quests/skills/wizard_skills.txt index f431c71..ea096f9 100644 --- a/quests/skills/wizard_skills.txt +++ b/quests/skills/wizard_skills.txt @@ -102,7 +102,7 @@ gef_tower,115,36,4 script Meow#q_wiz 876,{ mes "teaching Wizards this new"; mes "skill on behalf of the Wizard"; mes "Guild. Although I don't really"; - mes "want to, I pretty much don't have^FFFFFF ^000000 a choice. So what do you say?"; + mes "want to, I pretty much don't have a choice. So what do you say?"; next; if (select("Nah, I'm too sleepy...:Sure, I'd like to learn a new skill.") == 1) { mes "[Meow]"; @@ -368,7 +368,7 @@ prt_in,82,98,3 script Simon Mayace#q_wiz 46,{ mes "I'm surprised that you chose"; mes "to practice magic: judging"; mes "from your build, I'd say that"; - mes "you'd be well suited to wielding^FFFFFF ^000000 a sword. Haha, but that's just"; + mes "you'd be well suited to wielding a sword. Haha, but that's just"; mes "a humble Knight's opinion."; close; } @@ -418,7 +418,7 @@ prt_in,82,98,3 script Simon Mayace#q_wiz 46,{ mes "pushing as best as I can."; mes "Concentrate and practice the"; mes "theory on your own, and you"; - mes "should be able to do it. Good^FFFFFF ^000000luck on your travels, adventurer~"; + mes "should be able to do it. Good luck on your travels, adventurer~"; set WIZ_SK,2; close; } diff --git a/quests/thana_quest.txt b/quests/thana_quest.txt index cc7e79b..462b05e 100644 --- a/quests/thana_quest.txt +++ b/quests/thana_quest.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Muad_Dib //===== Current Version: ===================================== -//= 1.0a +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -12,6 +12,7 @@ //===== Additional Comments: ================================= //= 1.0 Adapted from official release. [Euphy] //= 1.0a Added 'npcskill' command. [Euphy] +//= 1.1 Kagerou/Oboro support (Class -> BaseClass) [Euphy] //============================================================ hu_fild01,140,163,5 script Tower Keeper 852,3,3,{ @@ -462,7 +463,7 @@ tha_t01,140,78,4 script Guide#reward 831,{ mes "[Liei]"; if (!countitem(.@Items[.@i])) { mes "I'm sorry, but you are not"; - mes "carrying any "+getitemname(.@Items[.@i])+"s."; + mes "carrying any "+callfunc("F_GetPlural",getitemname(.@Items[.@i]))+"."; mes "Please check your inventory"; mes "one more time, and then come"; mes "to me to redeem your items"; @@ -478,7 +479,7 @@ tha_t01,140,78,4 script Guide#reward 831,{ set .@zeny_tt,(countitem(.@Items[.@i]) * 1000); //set .@exp_tt,(countitem(.@Items[.@i]) * 2000); mes "[Liei]"; - mes countitem(.@Items[.@i])+" "+getitemname(.@Items[.@i])+"s, then"; + mes callfunc("F_InsertPlural",countitem(.@Items[.@i]),getitemname(.@Items[.@i]))+", then"; mes "you will receive a total of..."; mes " "; mes ""+.@zeny_tt+" zeny"; @@ -486,7 +487,7 @@ tha_t01,140,78,4 script Guide#reward 831,{ next; mes "[Liei]"; mes "Would you like to exchange"; - mes "all of your "+getitemname(.@Items[.@i])+"s"; + mes "all of your "+callfunc("F_GetPlural",getitemname(.@Items[.@i])); mes "for your reward right now?"; next; switch(select("Yes:No")) { @@ -2291,7 +2292,7 @@ tha_t04,81,36,0 warp to 5th Floor 1,1,tha_t05,62,8 tha_t06,119,120,0 script to 7th Floor 45,1,1,{ end; OnTouch: - if (eaclass()&(EAJL_2|EAJL_UPPER) || eaclass()&EAJL_THIRD || ((Class == Job_SuperNovice || Class == Job_Taekwon || Class == Job_Star_Gladiator || Class == Job_Soul_Linker || Class == Job_Ninja || Class == Job_Gunslinger) && BaseLevel > 94)) { + if (eaclass()&(EAJL_2|EAJL_UPPER) || eaclass()&EAJL_THIRD || ((Class == Job_SuperNovice || Class == Job_Taekwon || Class == Job_Star_Gladiator || Class == Job_Soul_Linker || BaseClass == Job_Ninja || Class == Job_Gunslinger) && BaseLevel > 94)) { if (countitem(7425) > 0) { mes "The shadow of a Black Key is gleaming in the center of the portal."; mes "To pass this way, looks like I need something."; diff --git a/quests/the_sign_quest.txt b/quests/the_sign_quest.txt index ca7d1c0..70418da 100644 --- a/quests/the_sign_quest.txt +++ b/quests/the_sign_quest.txt @@ -3095,7 +3095,7 @@ OnTouch: /* Currently broken. prt_maze02,25,161,0 script #music -1,7,7,{ OnTouch: - soundeffect "effect\\¼®¾çÀÇ ¾î½Ø½Å.wav",1; + soundeffect "effect\\¼®¾çÀÇ ¾î½Ø½Å.wav",1; end; } */ @@ -8811,7 +8811,7 @@ que_sign01,197,195,4 script Serin#witch 90,{ getexp (checkre(3))?20000:200000,0; set $@sign_w1,0; close2; - warp "umbala,",132,203; + warp "umbala",132,203; end; } } @@ -12611,7 +12611,7 @@ function script F_UpdateSignVars { set sign_fail,0; set gaananpoint,0; set gaanantest,0; - set arianstest,0; + set ariantest,0; set SignJore,0; set ScareAlchSign,0; set dearles_test,0; diff --git a/re/cities/alberta.txt b/re/cities/alberta.txt index 7cd510a..53aa505 100644 --- a/re/cities/alberta.txt +++ b/re/cities/alberta.txt @@ -37,6 +37,7 @@ alberta,246,51,4 duplicate(PR_Officer_moscovia) Moscovia P.R. Officer#1 960 //============================================================ alberta,244,118,4 duplicate(Sailor_alberta) Sailor#tur 709 alberta,246,114,4 duplicate(Turtle_Scholar_alberta) Turtle Island Scholar 121 +alberta,246,117,4 duplicate(Voyage_log_alberta) Voyage log#tur 111 // quests/skills/merchant_skills.txt //============================================================ diff --git a/re/cities/brasilis.txt b/re/cities/brasilis.txt index 0f55ba5..d12a31f 100644 --- a/re/cities/brasilis.txt +++ b/re/cities/brasilis.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= L0ne_W0lf //===== Current Version: ===================================== -//= 1.3 +//= 1.4 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -14,9 +14,10 @@ //= 1.1 Fixed Zeny not being removed for payment. [Kisuka] //= 1.2 Updated dialog, added Ice Cream Maker. [L0ne_W0lf] //= 1.3 Moved Alberta NPC to pre-re/re paths. [Euphy] +//= 1.4 Added VIP features. [Euphy] //============================================================ -// Brasilis Transportation +// Brasilis Transportation :: brasilis_trans //============================================================ /* Pre-Renewal coordinates: alberta,247,115,3 */ alberta,246,82,3 script Crewman#bra2 100,{ @@ -26,23 +27,29 @@ alberta,246,82,3 script Crewman#bra2 100,{ next; mes "[Crewman]"; mes "We recently found a new ocean route to get there easily."; - mes "It's just 10,000 zeny for a round trip! So do you want to go?"; + if (VIP_SCRIPT) { + set .@cost, vip_status(1)?1000:10000; + mes "It's just 10,000 zeny for a round trip, and 1,000 for VIP! So do you want to go?"; //custom translation (VIP) + } else { + set .@cost,10000; + mes "It's just 10,000 zeny for a round trip! So do you want to go?"; + } next; switch(select("Take me to Brasilis!:I'll stay here.")) { case 1: - if (Zeny > 9999) { + if (Zeny < .@cost) { + mes "[Crewman]"; + mes "I said "+callfunc("F_InsertComma",.@cost)+" zeny."; + close; + } + else { mes "[Crewman]"; mes "Cool~!! Let's go~!"; - set Zeny, Zeny-10000; + set Zeny, Zeny-.@cost; close2; warp "brasilis",314,60; end; } - else { - mes "[Crewman]"; - mes "I said 10,000 zeny."; - close; - } case 2: mes "[Crewman]"; mes "Well if you're ever interested, let me know and I can take you there."; @@ -71,7 +78,7 @@ brasilis,316,57,3 script Crewman#bra1 100,{ } } -// Generic Brasilis NPCs +// Generic Brasilis NPCs :: brazil_tre //============================================================ brasilis,155,165,3 script Signpost#bra1 858,{ mes ":: Art Museum ::"; diff --git a/re/cities/dewata.txt b/re/cities/dewata.txt index de8b5ae..5f190ef 100644 --- a/re/cities/dewata.txt +++ b/re/cities/dewata.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Gennosuke Kouga, Muad_Dib //===== Current Version: ===================================== -//= 1.3 +//= 1.4 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -14,24 +14,31 @@ //= 1.1 Standardized. [Euphy] //= 1.2 Fixed Zeny check. [Joseph] //= 1.3 Updated to match the official script. [Lemongrass/Euphy] +//= 1.4 Added VIP features. [Euphy] //============================================================ -// Dewata Transportation +// Dewata Transportation :: dewata_trans //============================================================ alberta,212,202,4 script Dewata Sailor#alberta 536,{ mes "[Dewata Sailor]"; mes "Do you want to visit ^8B4513Dewata Island^000000?"; - mes "With it's dazzling waves and charming views it's a great place to relax."; - mes "The transit fee is 10,000 Zeny."; + mes "With its dazzling waves and charming vistas it's a great place to relax."; + if (VIP_SCRIPT) { + set .@cost, vip_status(1)?1000:10000; + mes "The transit fee is 10,000 Zeny and 1,000 for VIP."; + } else { + set .@cost,10000; + mes "The transit fee is 10,000 Zeny."; + } next; switch(select("Yes!:No.")) { case 1: - if (Zeny >= 10000) { + if (Zeny >= .@cost) { mes "[Dewata Sailor]"; mes "^8B4513Dewata^000000 is a beautiful and peaceful island country."; mes "Have a nice trip~"; close2; - set Zeny, Zeny - 10000; + set Zeny, Zeny - .@cost; warp "dewata",232,53; end; } else { @@ -69,7 +76,7 @@ dewata,229,49,6 script Alberta Sailor#dewata 536,{ } } -// Generic Dewata NPCs +// Generic Dewata NPCs :: dewata_npc //============================================================ dewata,221,237,5 script Young Man#dew-1 536,{ mes "[Fruit Fancier]"; @@ -420,7 +427,7 @@ dewata,99,203,4 script Tourist#dew4 755,{ close; } -dewata,67,186,8 script Monk#dew1 834,{ +dewata,67,186,0 script Monk#dew1 834,{ mes "[Monk]"; mes "I am a monk, content to spend my days in religious study."; next; @@ -432,7 +439,7 @@ dewata,67,186,8 script Monk#dew1 834,{ close; } -dewata,65,188,8 script Monk#dew2 834,{ +dewata,65,188,0 script Monk#dew2 834,{ mes "[Monk]"; mes "Borobudur temple is one of few temples left for worshiping the Great Buddha."; next; @@ -441,7 +448,7 @@ dewata,65,188,8 script Monk#dew2 834,{ close; } -dewata,63,190,8 script Monk#dew3 834,{ +dewata,63,190,0 script Monk#dew3 834,{ mes "[Monk]"; mes "Are you a Tourist? You can make an offering and a wish to one of the shrines."; next; @@ -450,7 +457,7 @@ dewata,63,190,8 script Monk#dew3 834,{ close; } -dewata,62,192,8 script Monk#dew4 834,{ +dewata,62,192,0 script Monk#dew4 834,{ mes "[Monk]"; mes "Our great Buddha is the king of souls and the leader of all good Gods."; next; @@ -659,7 +666,7 @@ OnTouch: close; } -dewata,233,263,8 script Sweet Married Couple#1 828,2,3,{ +dewata,233,263,0 script Sweet Married Couple#1 828,2,3,{ OnTouch: mes "[Sweet Husband]"; mes "You are the most beautiful thing in the world baby~"; @@ -679,7 +686,7 @@ OnTouch: close; } -dewata,234,263,8 script Sweet Married Couple#2 727,2,3,{ +dewata,234,263,0 script Sweet Married Couple#2 727,2,3,{ OnTouch: mes "[Sweet Wife]"; mes "Baby~ You know what flower that is~?"; diff --git a/re/cities/dicastes.txt b/re/cities/dicastes.txt index 9d890c8..87204a6 100644 --- a/re/cities/dicastes.txt +++ b/re/cities/dicastes.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Gennosuke Kouga, Muad_Dib //===== Current Version: ===================================== -//= 1.2a +//= 1.3 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -14,6 +14,7 @@ //= 1.1 Standardized. [Euphy] //= 1.2 Updated to match the official script. [Joseph] //= 1.2a Moved Guide to a separate file. [Euphy] +//= 1.3 Updated to match official script. [SkittleNugget] //============================================================ dicastes01,194,159,5 script Excited Galten#a 492,{ @@ -77,8 +78,8 @@ dicastes01,194,95,5 script Sentinel#b 450,{ } dicastes01,234,158,0 script Training Galten#a 450,{ + mes "[Training Galten]"; if (isequipped(2782)) { - mes "[Training Galten]"; mes "I'll be ready for anything"; mes "if I keep up with my training every day."; close; @@ -91,8 +92,8 @@ dicastes01,234,158,0 script Training Galten#a 450,{ } dicastes01,244,166,0 script Training Galten#b 450,{ + mes "[Training Galten]"; if (isequipped(2782)) { - mes "[Training Galten]"; mes "I wonder if Ahat knows how"; mes "hard I am training."; close; @@ -135,6 +136,20 @@ dicastes01,248,129,0 script Training Galten#d 450,{ close; } +/* +dicastes01,271,152,0 script Training Galten#e 450,{ + mes "[Training Galten]"; + if (isequipped(2782)) { + mes "I will get great results"; + mes "if I do my best, right?"; + close; + } + mes "¡ø¢²¡û ¡ô ¢£¢³¡ô"; + mes "¡ü¡ô"; + close; +} +*/ + dic_in01,349,282,4 script Waiting Galten#in_1 492,{ if (isequipped(2782)) { mes "[Waiting Galten]"; @@ -267,8 +282,8 @@ dic_in01,168,116,5 script Tired Piom#c 491,{ mes "[Tired Piom]"; if (isequipped(2782)) { mes "If you need any"; - mes "information, you'd should try your"; - mes "luck with the Cat Merchant rather than wander around here."; + mes "information, you'd have better"; + mes "luck with the Cat Merchant than wandering around here."; mes "But of course you'll have to pay the price."; close; } @@ -300,17 +315,18 @@ dic_in01,149,104,5 script Tired Piom#b 455,{ dic_in01,341,113,3 script Tired Piom#a 491,{ mes "[Tired Piom]"; if (isequipped(2782)) { - mes "Ahat is the one"; - mes "and only Sapha pride."; - mes "We have plenty of Bradium"; - mes "because of him!"; + mes "[Tired Piom]"; + mes "I think I look better in"; + mes "robes than in leather."; + mes "I may have to change to knitting."; + mes "But mining does seem to suit me."; next; - mes "[Thrilled Piom]"; + mes "[Tired Piom]"; mes "..."; next; - mes "[Thrilled Piom]"; - mes "You don't feel his"; - mes "blessing?"; + emotion e_swt; + mes "[Tired Piom]"; + mes "I'll be rejected again, right?"; close; } mes "¡÷¡ò¡û ¡ó ¡ó¡Ð¢±"; @@ -321,6 +337,7 @@ dic_in01,341,113,3 script Tired Piom#a 491,{ mes "[Tired Piom]"; mes "¡þ"; next; + emotion e_swt; mes "[Tired Piom]"; mes "¡ø¡ú¡ø ¢± ¡ö¡ò"; close; @@ -338,7 +355,7 @@ dic_in01,252,103,3 script Eating Adventurer#tre 711,{ next; mes "[Eating Adventurer]"; mes "I really would like a nice hot meal."; - mes "I go to this great little restaurant in Geffen often, and I really miss that place now."; + mes "I go to this great little restaurant in Geffen often and I really miss that place now."; close; } @@ -369,7 +386,8 @@ dic_in01,372,116,3 script Thrilled Piom#a 490,{ mes "[Thrilled Piom]"; mes "You don't feel his"; mes "blessing?"; - close; } + close; + } mes "¡ò¡õ¢³ ¡õ ¡ô"; mes "¢£¡ó¡ø ¢² ¡ô¡÷"; mes "¡ò¡ô¢³ ¡ù ¢±¡ó¢± ¡õ"; @@ -445,7 +463,7 @@ dic_in01,42,250,5 script Guide#diel_1 489,{ close; } -dic_in01,335,34,0 script Talkative Piom#a 490,{ +dic_in01,335,34,5 script Talkative Piom#a 490,{ mes "[Talkative Piom]"; if (isequipped(2782)) { mes "At my factory"; @@ -481,7 +499,7 @@ dicastes01,282,210,4 script Free Knit#a 453,{ mes "[Free Knit]"; if (isequipped(2782)) { mes "As long as we have a steady"; - mes "supply of Bradium,"; + mes "supply of Bradium"; mes "Saphas can live forever."; mes "Our childhood lasts 10 years,"; mes "which is short."; @@ -495,7 +513,7 @@ dicastes01,282,210,4 script Free Knit#a 453,{ close; } -dicastes01,246,210,4 script Free Venknick#a 449,{ +dicastes01,246,210,3 script Free Venknick#a 449,{ mes "[Free Venknick]"; if (isequipped(2782)) { mes "At least we have plenty of Bradium."; @@ -540,14 +558,12 @@ dicastes01,235,245,4 script Excited Piom#a 490,{ close; } -dicastes01,284,262,4 script Favorable Knit#a 453,{ +dicastes01,284,262,3 script Favorable Knit#a 453,{ mes "[Favorable Knit]"; if (isequipped(2782)) { - mes "Unlike the Laphine, we Saphas"; + mes "Unlike the Raphine, we Saphas"; mes "are a very close community."; mes "We start by living together in common facilities after we are born."; - next; - mes "[Favorable Knit]"; mes "That is why all Saphas are like family."; mes "We never have any quarrels between classes."; close; @@ -561,8 +577,8 @@ dicastes01,284,262,4 script Favorable Knit#a 453,{ } dicastes01,164,180,4 script Limpy Piom#a 489,{ + mes "[Limpy Piom]"; if (isequipped(2782)) { - mes "[Limpy Piom]"; mes "They say there is a"; mes "war going on with the Splendide in Manuk."; mes "I hope everything goes well."; @@ -592,8 +608,8 @@ dicastes01,191,202,4 script Complaining Galten#fihs 450,{ next; if(select("No:Yes") == 1) { mes "[Complaining Galten]"; - mes "You don't know about the legend behind the statue?"; - mes "Then I don't know what to talk about it with you."; + mes "Then you don't know about the legend behind the statue?"; + mes "Then, I don't know what to talk about with you."; close; } emotion e_gg,0,"Crazy Venknick#fihsing1"; @@ -644,21 +660,25 @@ dicastes01,202,197,4 script Crazy Venknick#fihsing1 449,{ mes "Thanks."; emotion e_gg,0,"Complaining Galten#fihs"; next; - select("What is the sad legend?"); + mes "["+strcharinfo(0)+"]"; + mes "What is the sad legend?"; + next; emotion e_dots; - select("I asked what the sad legend is about!"); + mes "["+strcharinfo(0)+"]"; + mes "I asked what the sad legend is about!"; next; mes "[Crazy Venknick]"; mes "I don't believe in legends."; next; emotion e_dots,1; - select("Was I tricked?"); + mes "["+strcharinfo(0)+"]"; + mes "Was I tricked?"; sc_start SC_Blind,20000,0; next; mes "You feel outraged at being tricked."; close; } - mes "[???¨²?¨´ ¡é3 ]"; + mes "[¡ö¡ú¡ù ¢³ ]"; mes "¢²¡û¡ó ¡ó ¡ù¢¤¡ø"; mes "¢¤¡ð¢² ¢± ¡ñ¡ö¢² ¡ø ¡ï¡ö¡ü"; next; diff --git a/re/cities/dimensional_crack.txt b/re/cities/dimensional_crack.txt new file mode 100644 index 0000000..0dcfa29 --- /dev/null +++ b/re/cities/dimensional_crack.txt @@ -0,0 +1,1038 @@ +//===== rAthena Script ======================================= +//= Dimensional Crack +//===== By: ================================================== +//= Ziu +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Dimensional Crack Script +//===== Additional Comments: ================================= +//= 1.0 First version, edited. [exneval] +//============================================================ + +mid_camp,207,290,5 script Time Travel Guide#camp 852,{ + mes "[Expedition Guard Phil]"; + mes "Are you going to enter the"; + mes "dimensional gap of time and space?"; + mes "Please use this device you see here"; + mes "to do so."; + next; + switch(select("What's the dimensional gap?","End Conversation")) + { + case 1: + mes "[Expedition Guard Phil]"; + mes "Haven't we already traveled here"; + mes "from Rune Midgard?"; + mes "I guess this is a lost area that we"; + mes "haven't been to yet."; + next; + mes "[Expedition Guard Phil]"; + mes "All these researchers seem to have"; + mes "found a way to travel through time"; + mes "and space with these devices."; + next; + mes "[Expedition Guard Phil]"; + mes "I guess it's making our exploration"; + mes "duties easier for us."; + mes "Travel to all the new areas is way"; + mes "faster than walking or even riding"; + mes "a Peco."; + next; + mes "[Expedition Guard Phil]"; + mes "Time distorted here because of"; + mes "all these special rifts."; + mes "Make sure you only use the devices"; + mes "of the researchers or you might get"; + mes "lost forever."; + next; + mes "[Expedition Guard Phil]"; + mes "Hundreds of others have fallen into"; + mes "unexplored gaps and have never been"; + mes "seen again."; + close; + case 2: + close; + } +} + +mid_camp,212,290,3 script Time Travel Guide#camp2 852,{ + mes "[Expedition Guard Jackson]"; + mes "Please use the Dimensional Devices"; + mes "to travel through the time gaps."; + mes "Many places are unexplored so be"; + mes "careful of where you go."; + close; +} + +mid_camp,210,291,0 script Dimensional Device#camp 10007,{ + mes "Enter the Dimensional Gap of time"; + mes "and space?"; + next; + switch(select("Yes","No")) + { + case 1: + close2; + warp "dali",141,82; + end; + case 2: + close; + } +OnPCLoadMapEvent: + if(strcharinfo(3)=="mid_camp") showevent 0,1; + end; +} + +bif_fild01,314,154,5 script Expedition Guide#bi 852,{ + mes "[Expedition Guard Paul]"; + mes "Are you going to enter the"; + mes "dimensional gap of time and space?"; + mes "Please use this device you see here"; + mes "to do so."; + next; + switch(select("What's the dimensional gap?","There is a stranger nearby","End Conversation")) + { + case 1: + mes "[Expedition Guard Paul]"; + mes "Haven't we already traveled here"; + mes "from Rune Midgard?"; + mes "I guess this is a lost area that we"; + mes "haven't been to yet."; + next; + mes "[Expedition Guard Paul]"; + mes "All these researchers seem to have"; + mes "found a way to travel through time"; + mes "and space with these devices."; + next; + mes "[Expedition Guard Paul]"; + mes "I guess it's making our exploration"; + mes "duties easier for us."; + mes "Travel to all the new areas is way"; + mes "faster than walking or even riding"; + mes "a Peco."; + next; + mes "[Expedition Guard Paul]"; + mes "Time distorted here because of"; + mes "all these special rifts."; + mes "Make sure you only use the devices"; + mes "of the researchers or you might get"; + mes "lost forever."; + next; + mes "[Expedition Guard Paul]"; + mes "Hundreds of others have fallen into"; + mes "unexplored gaps and have never been"; + mes "seen again."; + close; + case 2: + mes "[Expedition Guard Paul]"; + mes "A stranger?"; + mes "That person was sent to research"; + mes "this area by a person of influence"; + mes "from El Dicastes."; + next; + mes "[Expedition Guard Paul]"; + mes "It has to do with avoiding a"; + mes "conflict with the Laphine people."; + mes "I don't really know about the"; + mes "details."; + close; + case 3: + close; + } +} + +bif_fild01,320,154,3 script Expedition Guide#bi2 852,{ + mes "[Expedition Guard Pierce]"; + mes "Please use the Dimensional Devices"; + mes "to travel through the time gaps."; + mes "Many places are unexplored so be"; + mes "careful of where you go."; + close; +} + +bif_fild01,318,159,0 script Dimensional Device#bi 10007,{ + mes "Enter the Dimensional Gap of time"; + mes "and space?"; + next; + switch(select("Yes","No")) + { + case 1: + close2; + warp "dali",43,92; + end; + case 2: + close; + } +OnPCLoadMapEvent: + if(strcharinfo(3)=="bif_fild01") showevent 0,1; + end; +} + +dic_fild02,236,33,3 script Expedition Guide#dic 852,{ + mes "[Expedition Guard Chris]"; + mes "Are you going to enter the"; + mes "dimensional gap of time and space?"; + mes "Please use this device you see here"; + mes "to do so."; + next; + switch(select("What's the dimensional gap?","End Conversation")) + { + case 1: + mes "[Expedition Guard Chris]"; + mes "Haven't we already traveled here"; + mes "from Rune Midgard?"; + mes "I guess this is a lost area that we"; + mes "haven't been to yet."; + next; + mes "[Expedition Guard Chris]"; + mes "All these researchers seem to have"; + mes "found a way to travel through time"; + mes "and space with these devices."; + next; + mes "[Expedition Guard Chris]"; + mes "I guess it's making our exploration"; + mes "duties easier for us."; + mes "Travel to all the new areas is way"; + mes "faster than walking or even riding"; + mes "a Peco."; + next; + mes "[Expedition Guard Chris]"; + mes "Time distorted here because of"; + mes "all these special rifts."; + mes "Make sure you only use the devices"; + mes "of the researchers or you might get"; + mes "lost forever."; + next; + mes "[Expedition Guard Chris]"; + mes "Hundreds of others have fallen into"; + mes "unexplored gaps and have never been"; + mes "seen again."; + close; + case 2: + close; + } +} + +dic_fild02,239,36,5 script Expedition Guide#dic2 852,{ + mes "[Expedition Guard Paul]"; + mes "Please use the Dimensional Devices"; + mes "to travel through the time gaps."; + mes "Many places are unexplored so be"; + mes "careful of where you go."; + close; +} + +dic_fild02,241,31,0 script Dimensional Device#dic 10007,{ + mes "Enter the Dimensional Gap of time"; + mes "and space?"; + next; + switch(select("Yes","No")) + { + case 1: + close2; + warp "dali",41,134; + end; + case 2: + close; + } +OnPCLoadMapEvent: + if(strcharinfo(3)=="dic_fild02") showevent 0,1; + end; +} + +moc_fild22b,225,198,5 script Expedition Guide#moc 852,{ + mes "[Expedition Guard Derek]"; + mes "Are you going to enter the"; + mes "dimensional gap of time and space?"; + mes "Please use this device you see here"; + mes "to do so."; + next; + switch(select("What's the dimensional gap?","End Conversation")) + { + case 1: + mes "[Expedition Guard Derek]"; + mes "Haven't we already traveled here"; + mes "from Rune Midgard?"; + mes "I guess this is a lost area that we"; + mes "haven't been to yet."; + next; + mes "[Expedition Guard Derek]"; + mes "All these researchers seem to have"; + mes "found a way to travel through time"; + mes "and space with these devices."; + next; + mes "[Expedition Guard Derek]"; + mes "I guess it's making our exploration"; + mes "duties easier for us."; + mes "Travel to all the new areas is way"; + mes "faster than walking or even riding"; + mes "a Peco."; + next; + mes "[Expedition Guard Derek]"; + mes "Time distorted here because of"; + mes "all these special rifts."; + mes "Make sure you only use the devices"; + mes "of the researchers or you might get"; + mes "lost forever."; + next; + mes "[Expedition Guard Derek]"; + mes "Hundreds of others have fallen into"; + mes "unexplored gaps and have never been"; + mes "seen again."; + close; + case 2: + close; + } +} + +moc_fild22b,223,203,3 script Expedition Guide#moc2 852,{ + mes "[Expedition Guard Fisher]"; + mes "Please use the Dimensional Devices"; + mes "to travel through the time gaps."; + mes "Many places are unexplored so be"; + mes "careful of where you go."; + close; +} + +moc_fild22b,221,201,0 script Dimensional Device#moc 10007,{ + mes "Enter the Dimensional Gap of time"; + mes "and space?"; + next; + switch(select("Yes","No")) + { + case 1: + close2; + warp "dali",119,56; + end; + case 2: + close; + } +OnPCLoadMapEvent: + if(strcharinfo(3)=="moc_fild22b") showevent 0,1; + end; +} + +//Dimensional Crack NPCS +dali,137,87,3 script Allied Forces Staff 997,{ + mes "[Allied Forces Staff]"; + mes "The dimensional gap is connected to"; + mes "the Midgard Alliance camp in Jotenheim."; + mes "Do not worry, hundreds of tests"; + mes "were done to ensure safe"; + mes "transport."; + close; +} + +dali,115,85,3 script Party Leader#SWDMASTER2 119,{ + end; +OnInit: + hideonnpc "Party Leader#SWDMASTER2"; + end; +OnChat1: + npctalk "Attention!!!"; + end; +OnChat2: + npctalk "Wait. Be quiet and stand in line!"; + end; +OnChat3: + npctalk "We are inside of the dimensional crack now, where shall we go first?"; + end; +OnChat4: + npctalk "Anyone have an opinion?"; + end; +OnChat29: + npctalk "Excuse me..... everyone.............?"; + end; +OnChat31: + emotion e_sob; + npctalk "Please listen...."; + end; +OnChat32: + hideonnpc "Party Leader#SWDMASTER2"; + hideoffnpc "Party Leader#SWDMASTER"; + end; +} + +dali,119,76,7 script Party Member#SHADOW 482,{ + end; +OnChat12: + npctalk "Woke up?"; + end; +OnChat16: + npctalk "I have no idea. There might be an accident up front."; + end; +OnChat23: + npctalk "Right.. I should have entered with another group!"; + end; +OnChat31: + npctalk "Take a nap. I am sleepy too then let's shift later."; + end; +} + +dali,120,77,4 script Party Member#SURA 484,{ + end; +OnChat10: + emotion e_yawn; + npctalk "Oh? What? You didn't get in yet?"; + end; +OnChat13: + emotion e_an; + npctalk "Why are you still here?"; + end; +OnChat19: + emotion e_an; + end; +OnChat20: + npctalk "Damn! I am pissed off! I came here because I heard only a party is allowed to get in!"; + end; +OnChat22: + emotion e_an; + end; +OnChat27: + emotion e_yawn; + npctalk "Bah, I do not care. I'm gonna take a nap so wake me up when we're ready."; + end; +} + +dali,119,78,2 script Party Member#GUILLOTINE 466,{ + end; +OnChat5: + npctalk "You want to eat again?"; + end; +OnChat9: + npctalk "I just saw a street trader passing by... Where is he?"; + end; +OnChat13: + npctalk "Wait for a moment. A street trader will pass by."; + end; +OnChat18: + npctalk "Give me a sip of juice."; + end; +OnChat23: + npctalk "So mean.. I won't eat then."; + end; +OnChat25: + npctalk "Not at all."; + end; +OnChat30: + emotion e_ag; + npctalk "No!!!!!!!!!"; + end; +} + +dali,117,79,5 script Party Member#CRU 745,{ + end; +OnChat4: + npctalk "Well, I am kind of hungry... Can we get something warm to eat?"; + end; +OnChat7: + npctalk "I need to eat something before doing anything."; + end; +OnChat11: + npctalk "Can I come back after having a meal?"; + end; +OnChat15: + npctalk "I want to buy cold grape juice~"; + end; +OnChat21: + npctalk "You pay for your food."; + end; +OnChat24: + emotion e_gg; + npctalk "Hey. Are you pissed off?"; + end; +OnChat28: + emotion e_gg; + npctalk "You are upset!!"; + end; +OnChat31: + npctalk "I'm so pissed off right now..."; + end; +} + +dali,120,81,3 script Party Member#EINOLD 847,{ + end; +OnChat18: + npctalk "Cough~ Cough~"; + end; +OnChat28: + npctalk "What? You, we gotta talk! I've been too nice to you!"; + end; +} + +dali,117,81,7 script Party Member#WANDERER 485,{ + end; +OnChat2: + npctalk "We heard about a magic competition being held here!"; + end; +OnChat6: + npctalk "I am just wondering about the tournament.."; + end; +OnChat13: + npctalk "Can you catch that?"; + end; +OnChat17: + npctalk "What? Is that what you think?"; + end; +OnChat23: + npctalk "I will let it go."; + end; +OnChat28: + npctalk "Can I get back before I die..."; + end; +} + +dali,118,83,3 script Party Member#MONK 746,{ + end; +OnChat1: + npctalk "I heard about some magic swordman. Let's go find him."; + end; +OnChat3: + npctalk "Where is it?!"; + end; +OnChat8: + npctalk "By the way, I also heard about something called the Devil's Tower."; + end; +OnChat10: + npctalk "I am curious about the faceworms I heard from a Laphine."; + end; +OnChat14: + npctalk "That is your wish...."; + end; +OnChat21: + npctalk "Are you going to hit me? Do it!"; + emotion e_ag; + end; +OnChat26: + emotion e_gg; + npctalk "You are scared huh... chuckling~"; + end; +OnChat30: + npctalk "Whatever~"; + end; +} + +dali,115,85,3 script Party Leader#SWDMASTER 119,{ + donpcevent "Party Leader#SWDMASTER2::OnChat1"; + donpcevent "#dalichat::OnEnable"; + end; +} + +dali,115,85,0 script #dalichat -1,{ + end; +OnInit: + disablenpc "#dalichat"; + end; +OnEnable: + enablenpc "#dalichat"; + initnpctimer; + end; +OnTimer1000: + hideonnpc "Party Leader#SWDMASTER"; + hideoffnpc "Party Leader#SWDMASTER2"; + end; +OnTimer2000: + donpcevent "Party Leader#SWDMASTER2::OnChat2"; + end; +OnTimer3000: + donpcevent "Party Leader#SWDMASTER2::OnChat3"; + end; +OnTimer4000: + donpcevent "Party Leader#SWDMASTER2::OnChat4"; + end; +OnTimer6000: + donpcevent "Party Member#MONK::OnChat1"; + end; +OnTimer7500: + donpcevent "Party Member#WANDERER::OnChat2"; + end; +OnTimer9000: + donpcevent "Party Member#MONK::OnChat3"; + end; +OnTimer10500: + donpcevent "Party Member#CRU::OnChat4"; + end; +OnTimer12000: + donpcevent "Party Member#GUILLOTINE::OnChat5"; + end; +OnTimer13500: + donpcevent "Party Member#WANDERER::OnChat6"; + end; +OnTimer15000: + donpcevent "Party Member#CRU::OnChat7"; + end; +OnTimer16500: + donpcevent "Party Member#MONK::OnChat8"; + end; +OnTimer18000: + donpcevent "Party Member#GUILLOTINE::OnChat9"; + end; +OnTimer19500: + donpcevent "Party Member#SURA::OnChat10"; + end; +OnTimer20000: + donpcevent "Party Member#MONK::OnChat10"; + end; +OnTimer21000: + donpcevent "Party Member#CRU::OnChat11"; + end; +OnTimer22500: + donpcevent "Party Member#SHADOW::OnChat12"; + end; +OnTimer24000: + donpcevent "Party Member#WANDERER::OnChat13"; + donpcevent "Party Member#SURA::OnChat13"; + end; +OnTimer24500: + donpcevent "Party Member#GUILLOTINE::OnChat13"; + end; +OnTimer25500: + donpcevent "Party Member#MONK::OnChat14"; + end; +OnTimer27000: + donpcevent "Party Member#CRU::OnChat15"; + end; +OnTimer28500: + donpcevent "Party Member#SHADOW::OnChat16"; + end; +OnTimer30000: + donpcevent "Party Member#WANDERER::OnChat17"; + end; +OnTimer31500: + donpcevent "Party Member#GUILLOTINE::OnChat18"; + end; +OnTimer32000: + donpcevent "Party Member#EINOLD::OnChat18"; + end; +OnTimer33000: + donpcevent "Party Member#SURA::OnChat19"; + end; +OnTimer34000: + donpcevent "Party Member#SURA::OnChat20"; + end; +OnTimer34500: + donpcevent "Party Member#MONK::OnChat21"; + end; +OnTimer36000: + donpcevent "Party Member#CRU::OnChat21"; + end; +OnTimer37500: + donpcevent "Party Member#SURA::OnChat22"; + end; +OnTimer39000: + donpcevent "Party Member#GUILLOTINE::OnChat23"; + donpcevent "Party Member#SHADOW::OnChat23"; + donpcevent "Party Member#WANDERER::OnChat23"; + end; +OnTimer40500: + donpcevent "Party Member#CRU::OnChat24"; + end; +OnTimer42000: + donpcevent "Party Member#GUILLOTINE::OnChat25"; + end; +OnTimer43500: + donpcevent "Party Member#MONK::OnChat26"; + end; +OnTimer45000: + donpcevent "Party Member#SURA::OnChat27"; + end; +OnTimer46500: + donpcevent "Party Member#CRU::OnChat28"; + donpcevent "Party Member#WANDERER::OnChat28"; + donpcevent "Party Member#EINOLD::OnChat28"; + end; +OnTimer48000: + donpcevent "Party Leader#SWDMASTER2::OnChat29"; + end; +OnTimer49500: + donpcevent "Party Member#GUILLOTINE::OnChat30"; + donpcevent "Party Member#MONK::OnChat30"; + end; +OnTimer51000: + donpcevent "Party Member#SHADOW::OnChat31"; + donpcevent "Party Member#CRU::OnChat31"; + donpcevent "Party Leader#SWDMASTER2::OnChat31"; + end; +OnTimer52500: + donpcevent "Party Leader#SWDMASTER2::OnChat32"; + stopnpctimer; + disablenpc "#dalichat"; + end; +} + +dali,102,83,5 script Merchant Prince#HUMERC 900,2,2,{ + mes "[Prince Canet]"; + mes "Who're you?"; + next; + mes "[Prince Canet]"; + mes "What do you want?"; + mes "You looking something in"; + mes "particular?"; + next; + mes "[Prince Canet]"; + mes "So some enforcers have been"; + mes "cracking down on merchants lately."; + mes "I can not sell anything."; + next; + mes "[Prince Canet]"; + mes "Come here..."; + next; + mes "[Jumpy Knight]"; + mes "I knew you would be here!!"; + mes "No illegal trading is allowed"; + mes "here!"; + mes "Don't you know?"; + hideoffnpc "Jumpy Knight#JP_RUN"; + next; + mes "[Prince Canet]"; + mes "Says who?"; + next; + mes "[Jumpy Knight]"; + mes "Ok, then show me your permit."; + next; + mes "[Prince Canet]"; + mes "Permit?"; + mes "No one's in charge here!"; + next; + mes "[Prince Canet]"; + mes "You! If you need anything come to"; + mes "me ok?"; + next; + mes "[Jumpy Knight]"; + mes "I will catch you!"; + hideonnpc "Merchant Prince#HUMERC"; + close2; + hideonnpc "Jumpy Knight#JP_RUN"; + enablenpc "Merchant Prince#HUMERC2"; + hideoffnpc "Merchant Prince#HUMERC2"; + disablenpc "Merchant Prince#HUMERC"; + end; +OnTouch: + mes "[Prince Canet]"; + mes "Cold juice!"; + mes "Apple, grape, orange~"; + mes "Anything you want!"; + next; + mes "[Prince Canet]"; + mes "Sweet potato, dumpling~"; + mes "Here we have delicious desserts~"; + close; +} + +dali,105,82,1 script Jumpy Knight#JP_RUN 430,{ + end; +OnInit: + hideonnpc "Jumpy Knight#JP_RUN"; + end; +} + +dali,63,112,7 script Merchant Prince#HUMERC2 900,2,2,{ + mes "[Prince Canet]"; + mes "You need to pay a tool to get past."; + next; + switch(select("What tool?")) + { + case 1: + mes "[Prince Canet]"; + mes "You did not know?"; + mes "500 zeny"; + next; + mes "[Jumpy Knight]"; + mes "You there!"; + mes "Stop right there!"; + hideoffnpc "Jumpy Knight#JP_RUN2"; + next; + mes "[Prince Canet]"; + mes "Ugh! How are you always following"; + mes "me?"; + mes "Got some kind of crush on me or"; + mes "something?"; + mes "I don't think you and I make a good"; + mes "match..."; + next; + mes "[Jumpy Knight]"; + mes "Why don't we find out then?"; + next; + mes "[Prince Canet]"; + mes "That's it no more talking."; + mes "I'm outta here~"; + next; + mes "[Jumpy Knight]"; + mes "Keep running you sneaky coward!"; + hideonnpc "Merchant Prince#HUMERC2"; + close2; + hideonnpc "Jumpy Knight#JP_RUN2"; + hideoffnpc "Merchant Prince#HUMERC3"; + disablenpc "Merchant Prince#HUMERC2"; + end; + } +OnInit: + disablenpc "Merchant Prince#HUMERC2"; + end; +OnTouch: + mes "[Prince Canet]"; + mes "500 zeny"; + close; +} + +dali,67,113,3 script Jumpy Knight#JP_RUN2 430,{ + end; +OnInit: + hideonnpc "Jumpy Knight#JP_RUN2"; + end; +} + +dali,89,97,3 script Merchant Prince#HUMERC3 900,{ + mes "[Prince Canet]"; + mes "You are lucky that you have met up"; + mes "with me."; + mes "Who am I?"; + mes "I'm here to become a merchant"; + mes "King."; + next; + mes "[Prince Canet]"; + mes "I might be working a street stall"; + mes "now but I'll have an actual shop"; + mes "some day."; + next; + mes "[Prince Canet]"; + mes "It's my first day so I'm having a"; + mes "major sale."; + next; + mes "[Prince Canet]"; + mes "Let's see I've got a..."; + mes "Ring of something!"; + mes "Sword of stuff!"; + mes "A backpack of some sort!"; + next; + mes "[Prince Canet]"; + mes "Tell me if you need anything,"; + hideoffnpc "Jumpy Knight#JP_RUN3"; + next; + mes "[Prince Canet]"; + mes "What are you doing here?"; + mes "This is my spot for a shop"; + mes "Get outta my turf!"; + next; + mes "[Jumpy Knight]"; + mes "Bah!!"; + mes "You're gonna regret those words!"; + next; + mes "[Prince Canet]"; + mes "I'm shaking..."; + hideonnpc "Merchant Prince#HUMERC3"; + close2; + hideonnpc "Jumpy Knight#JP_RUN3"; + enablenpc "Merchant Prince#HUMERC"; + hideoffnpc "Merchant Prince#HUMERC"; + end; +OnInit: + hideonnpc "Merchant Prince#HUMERC3"; + end; +} + +dali,89,94,7 script Jumpy Knight#JP_RUN3 430,{ + end; +OnInit: + hideonnpc "Jumpy Knight#JP_RUN3"; + end; +} + +//Usefull NPC & Warps +dali,112,96,3 script Cat Hand Storage 496,{ + mes "[Logistics Manager]"; + mes "Welcome."; + mes "I am in charge of taking care of"; + mes "storage in this weird place."; + mes "Do you need to access your"; + mes "storage?"; + next; + switch(select("Use Storage -> 200z","Cancel.")) + { + case 1: + if (Zeny < 200) { + mes "[Logistics Manager]"; + mes "The charge for using storage is"; + mes "200z"; + close; + } + set Zeny, Zeny - 200; + mes "[Logistics Manager]"; + mes "Have a good time~ Mew~"; + callfunc("F_CheckKafCode"); + close2; + openstorage; + end; + case 2: + mes "[Logistics Manager]"; + mes "Or you may use our service next"; + mes "time."; + close; + } +} + +dali,56,126,3 script Dispatched Sapha#BENKUNI 449,{ + mes "[Benkuni Miyo]"; + mes "This part of the dimensional gap is"; + mes "connected to the south of the"; + mes "Kamidal mountain range in El"; + mes "Dicastes."; + mes "I just dropped by here to do some"; + mes "research. Isn't it incredible?"; + next; + mes "[Benkuni Miyo]"; + mes "And it's so close to the"; + mes "Laphine..."; + mes ".......Hmm"; + mes "Do not worry. I do not want to"; + mes "fight in such a place."; + close; +} + +dali,51,104,5 script Splendide Soldier#FAIRY 447,{ + mes "[Splendide Soldier]"; + mes "This area is connected to the south"; + mes "of the Bifrost bridge."; + mes "It enable swift movement to the"; + mes "Splendide frontline."; + next; + mes "[Splendide Soldier]"; + mes "If we use it properly, we can"; + mes "advance quickly to the capital of"; + mes "the Sapha."; + next; + mes "[Splendide Soldier]"; + mes "The Mayor is asking us to cooperate"; + mes "instead of fighting..."; + mes "We have a common enemy so the Sapha"; + mes "are safe for now..."; + close; +} + +dali,122,60,3 script Morocc Soldier#MOC_SLDR 707,{ + mes "[Morocc Soldier]"; + mes "This place is connected to Morocc"; + mes "in Rune Midgard."; + mes "This is the fastest gateway back"; + mes "home."; + close; +} + +dali02,58,123,3 script Curious Knight#KY_KNT 418,{ + mes "[Curious Knight]"; + mes "The royal guard was desperate for"; + mes "help."; + mes "We entered through a secret place"; + mes "in the palace."; + next; + mes "[Curious Knight]"; + mes "We were whisked away here..."; + mes "No idea where I am but I have to"; + mes "establish a base here for the"; + mes "Knighthood."; + close; +} + +dali02,51,112,5 script Confused Thief#DST_SOL 939,{ + mes "[Confused Thief]"; + mes "One minute I'm in a bar..."; + mes "The next minute I'm here..."; + mes "What is this place?"; + next; + mes "[Confused Thief]"; + mes "There's no night or day in here."; + mes "Hmm, something has to be valuable"; + mes "in this place..."; + close; +} + +dali02,65,115,5 script Adventurous Rafflesia#ra 516,{ + mes "[Adventurous Rafflesia]"; + mes "No no this has to be Thanatos"; + mes "Tower..."; + mes "I sense dark magic here."; + next; + mes "[Guide]"; + mes "Oh, we're back here again."; + mes "I cannot find a way out!"; + mes "We are trapped in this maze!"; + next; + mes "[Tourist]"; + mes "Is this place the famous Prontera?"; + mes "It is dark just like a big city!"; + next; + mes "[Traveller]"; + mes "I hear a ticking clock."; + mes "This place must be Geffen!"; + close; +} + +dali02,68,117,5 script Guide#ra 516,{ + mes "[Guide]"; + mes "Oh, we're back here again."; + mes "I cannot find a way out!"; + mes "We are trapped in this maze!"; + next; + mes "[Tourist]"; + mes "Is this place the famous Prontera?"; + mes "It is dark just like a big city!"; + next; + mes "[Traveller]"; + mes "I hear a ticking clock."; + mes "This place must be Geffen!"; + next; + mes "[Adventurous Rafflesia]"; + mes "No no this has to be Thanatos"; + mes "Tower..."; + mes "I sense dark magic here."; + close; +} + +dali02,65,119,5 script Tourist#ra 516,{ + mes "[Tourist]"; + mes "Is this place the famous Prontera?"; + mes "It is dark just like a big city!"; + next; + mes "[Adventurous Rafflesia]"; + mes "No no this has to be Thanatos"; + mes "Tower..."; + mes "I sense dark magic here."; + next; + mes "[Guide]"; + mes "Oh, we're back here again."; + mes "I cannot find a way out!"; + mes "We are trapped in this maze!"; + next; + mes "[Traveller]"; + mes "I hear a ticking clock."; + mes "This place must be Geffen!"; + close; +} + +dali02,69,122,5 script Traveller#ra 516,{ + mes "[Traveller]"; + mes "I hear a ticking clock."; + mes "This place must be Geffen!"; + next; + mes "[Guide]"; + mes "Oh, we're back here again."; + mes "I cannot find a way out!"; + mes "We are trapped in this maze!"; + next; + mes "[Tourist]"; + mes "Is this place the famous Prontera?"; + mes "It is dark just like a big city!"; + next; + mes "[Adventurous Rafflesia]"; + mes "No no this has to be Thanatos"; + mes "Tower..."; + mes "I sense dark magic here."; + close; +} + +mid_camp mapflag loadevent +bif_fild01 mapflag loadevent +dic_fild02 mapflag loadevent +moc_fild22b mapflag loadevent diff --git a/re/cities/eclage.txt b/re/cities/eclage.txt index 901d21e..ed0c30c 100644 --- a/re/cities/eclage.txt +++ b/re/cities/eclage.txt @@ -1,469 +1,89 @@ //===== rAthena Script ======================================= //= Eclage Town //===== By: ================================================== -//= Euphy +//= Dastgir //===== Current Version: ===================================== -//= 1.0 +//= 2.0 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= +//= [Official Conversion] //= Eclage Town Script //===== Additional Comments: ================================= -//= 1.0 Nearly complete iRO town NPCs. [Euphy] +//= 1.0 Generic NPC place holders. [Euphy] +//= 2.0 Converted from the official Aegis script. [Dastgir] //============================================================ -// Generic Eclage NPCs - Set 1 -//============================================================ -ecl_fild01,92,316,4 script Tourist#ep14_2f2 545,{ - mes "[Tourist]"; - mes "I can't believe I have to wait this long......"; - mes "When is it going to be my turn?"; - emotion e_sob; - close; -} - -ecl_fild01,106,312,4 script Tourist#ep14_2f3 525,{ - mes "[Tourist]"; - mes "I'm actually done with my documentation, but I'm just sticking around to appreciate all of these flowers."; - emotion e_lv2; - next; - mes "[Tourist]"; - mes "I'm just getting through the night with my sleeping bag!"; - mes "It's alright as long as you can withstand the security guard's annoyance with you."; - close; -} - -ecl_fild01,108,320,6 script Tourist#ep14_2f4 941,{ - mes "[Tourist]"; - mes "I wonder how beautiful of a city Eclage would be."; - mes "It just makes my heart beat thinking about it."; - emotion e_lv; - close; -} - -ecl_fild01,105,320,2 script Tourist#ep14_2f5 436,{ - mes "[Tourist]"; - mes "No, I'm not a visitor. I'm an Eclage citizen!"; - emotion e_an; - next; - mes "[Tourist]"; - mes "I can't believe I can't even enter because of all these tourists!"; - emotion e_omg; - close; -} - -ecl_fild01,103,319,4 script Tourist#ep14_2f6 900,{ - mes "[Tourist]"; - mes "I hear their acorns are delicious without a hint of bitterness."; - next; - mes "[Tourist]"; - mes "You could probably make the world's best acorn jello."; - emotion e_omg; - close; -} - -ecl_fild01,110,316,2 script Tourist#ep14_2f7 896,{ - mes "[Tourist]"; - mes "It's important to keep your belongings light when traveling."; - next; - mes "[Tourist]"; - mes "It's going to increase as you go along anyways."; - next; - mes "[Tourist]"; - mes "Perhaps you could consider it as the weight of life?"; - emotion e_awsm,0; - close; -} - -ecl_fild01,92,318,4 script Tourist#ep14_2f8 517,{ - mes "[Tourist]"; - mes "Cool cool."; - close; -} - -ecl_fild01,93,318,2 script Tourist#ep14_2f9 107,{ - mes "[Tourist]"; - mes "Snorrrreee....Erhem...."; - next; - mes "[Tourist]"; - mes "Err.... No....."; - mes "Curry.... Curry rice.... Snorrreeeee"; - emotion e_hlp; - close; -} - -ecl_fild01,94,313,4 script Tourist#ep14_2f10 715,{ - mes "[Tourist]"; - mes "Oh! Are you also from Midgard?"; - next; - mes "[Tourist]"; - mes "It's encouraging to see so many Midgard people nowadays."; - emotion e_com; - close; -} - -ecl_fild01,101,320,4 script Tourist#ep14_2f11 522,{ - mes "[Tourist]"; - mes "Ow.... My legs..."; - mes "You're saying I have to wait after all this traveling through Bifrost?!"; - emotion e_an; - close; -} - -ecl_fild01,88,315,4 script Tourist#ep14_2f12 957,{ - mes "[Tourist]"; - mes "Ahh..."; - mes "Why are there so many people...?"; - next; - mes "[Tourist]"; - mes "I want to be alone......Sniff!"; - emotion e_otl; - close; -} - -// Generic Eclage NPCs - Set 2 -//============================================================ -ecl_fild01,183,190,4 script Catering#eclbig 447,{ - mes "[Catering]"; - mes "Wahahaha! How do you do!"; - mes "It's perfect weather for a picnic, no?"; - next; - emotion e_wah; - mes "[Catering]"; - mes "You say it's hard to pack for a picnic?"; - next; - emotion e_no1; - mes "[Catering]"; - mes "Don't you worry!"; - next; - emotion e_gasp; - mes "[Catering]"; - mes "This is a specialty combining acorns with 7 different kinds and 7 different levels of flavor collected by squirrels of Eclage!"; - next; - emotion e_cash; - mes "[Catering]"; - mes "This specialty to-go box is only 2,999 coins!!!"; - next; - emotion e_omg; - mes "[Catering]"; - mes "Such a remarkable price!"; - next; - emotion e_lv; - mes "[Catering]"; - mes "If you order now, we also give you a disposable fork that feels like new even with a hundred uses!"; - close; -} - -ecl_fild01,134,109,4 script Warao#eclbig 446,{ - mes "[Warao]"; - mes "Ah~ I'm so hungry. What should I eat today?"; - next; - mes "[Warao]"; - mes "Come to think of it, I wonder how this foreigner will taste?"; - next; - emotion e_gg; - mes "[Warao]"; - mes "Hey hey, you know I'm kidding, right?"; - close; -} - -ecl_fild01,70,285,4 script Giranni#eclbig 611,{ - mes "[Giranni]"; - mes "I wonder where he went. It should be around here..."; - close; -} - -eclage,106,61,4 script Markoza#eclbig 444,{ - mes "[Markoza]"; - mes "I also want to visit foreign lands."; - next; - mes "[Markoza]"; - mes "But would foreigners leave me be when I am this adorable?"; - next; - emotion e_pif; - mes "[Markoza]"; - mes "Man, wherever I go, my cuteness just complicates everything..."; - close; -} - -eclage,101,130,5 script Wutapoa#eclbig 435,{ - mes "[Wutapoa]"; - mes "I recently moved out of my parent's place!"; - mes "I am so glad I finally have my own Yai!"; - next; - mes "[Wutapoa]"; - mes "I'm going to make it the most decorative, beautiful Yai in Eclage!"; - next; - emotion e_heh; - mes "[Wutapoa]"; - mes "Yay, woohoo!!!"; - close; -} - -eclage,200,272,4 script Masione#eclbig 437,{ - mes "[Masione]"; - mes "Whoa! Hey!"; - mes "Would you please stop appearing out of nowhere?"; - emotion e_omg; - next; - mes "[Masione]"; - mes "I'm a fragile, sensitive being!"; - close; -} - -ecl_in01,55,25,3 script Mijani#eclbig 520,{ - mes "[Mijani]"; - mes "You are not from around here?"; - mes "Welcome."; - next; - mes "[Mijani]"; - mes "Of course, as long as you don't disrupt Eclage."; - close; -} - -ecl_in01,38,37,4 script A kneeling boy#eclbig 441,{ - mes "[A kneeling boy]"; - mes "Why am I kneeling like this?"; - next; - mes "[A kneeling boy]"; - mes "At first, it was because it was comfortable. Now it's because I can't stretch my legs out anymore."; - next; - emotion e_sob; - mes "[A kneeling boy]"; - mes "I try to stretch them out, and my legs are all asleep!!"; - mes "Does that mean I have to fly around with my legs flexed like this?"; - close; -} - -ecl_in02,168,41,2 script Pambo#eclbig 438,{ - mes "[Pambo]"; - mes "Do you like things that twinkle?"; - next; - emotion e_lv2; - mes "[Pambo]"; - mes "I love them so much!"; - next; - mes "[Pambo]"; - mes "Twinkle twinkle~ Twinkle twinkle~"; - next; - mes "[Pambo]"; - mes "Twinkle twinkle~ Twinkle twinkle~"; - mes "Sparkle sparkle~ Sparkle sparkle~"; - next; - mes "[Pambo]"; - mes "Twinkle twinkle~ Twinkle twinkle~"; - mes "Sparkle sparkle~ Sparkle sparkle~"; - mes "Mmhahah~ Hahaha~ Hehehe~"; - mes "Heh heh heh~ Huhuhe~ Hoho~"; - mes "Kehehe~ Halala~ Fufu~"; - next; - emotion e_sob; - mes "[Pambo]"; - mes "But there's nothing twinkling here..."; - close; -} - -ecl_in01,41,103,1 script A blushing girl#eclbig 439,{ - mes "[A blushing girl]"; - mes "Do you see this balcony up top?"; - mes "Mayor Jun appears there everytime there is an important occasion!"; - next; - emotion e_lv2; - mes "[A blushing girl]"; - mes "He's so handome!! Ahhh~"; - close; -} - -ecl_in01,53,92,4 script Lafiki#eclbig 444,{ - mes "[Lafiki]"; - mes "My fashion sense today is excellent as usual. Heh-"; - next; - emotion e_lv2; - mes "[Lafiki]"; - mes "Hello~ My beautiful body~"; - mes "Every strand of hair is so beautiful!"; - next; - mes "[Dandy]"; - mes "Yes, it's definitely your garbage fashion sense that wreaks of trash as usual."; - emotion e_gg,0,"Dandy#eclbig"; - close; -} - -ecl_in01,54,91,2 script Dandy#eclbig 443,{ - mes "[Dandy]"; - mes "Take a look at me! How's this? Am I not so fabulous?"; - next; - mes "[Dandy]"; - mes "A Laphine can freely change in between different clothes, but not any Laphine looks this great!"; - next; - mes "[Lafiki]"; - mes "What nonsensical nonsense are you saying? No matter who looks at it, this region's best looker is me!"; - emotion e_pif,0,"Lafiki#eclbig"; - close; -} - -ecl_in01,52,102,4 script Choir Conductor#eclbig 442,{ - mes "[Choir conductor]"; - mes "We are Eclage's Tree Wing Choir~"; - mes "We bring you heavenly harmonies~"; - next; - mes "[Choir conductor]"; - mes "Hello foreigner, we'll give you a taste of our harmony~"; - next; - emotion e_ho; - mes "[Choir]"; - mes "Aaa~"; - next; - emotion e_ho,0,"Choir member#eclbig01"; - mes "[Choir]"; - mes "Aaa~~"; - mes "Aaa~"; - next; - emotion e_ho,0,"Choir member#eclbig02"; - mes "[Choir]"; - mes "Aaa~~~"; - mes "Aaa~~"; - mes "Aaa~"; - next; - emotion e_ho,0,"Choir member#eclbig03"; - mes "[Choir]"; - mes "Aaa~~~~"; - mes "Aaa~~~"; - mes "Aaa~~"; - mes "Aaa~"; - next; - emotion e_ho,0,"Choir member#eclbig04"; - mes "[Choir]"; - mes "Aaa~~~~~"; - mes "Aaa~~~~"; - mes "Aaa~~~"; - mes "Aaa~~"; - mes "Aaa~"; - next; - emotion e_ho,0,"Choir member#eclbig05"; - mes "[Choir]"; - mes "Aaa~~~~~~"; - mes "Aaa~~~~~"; - mes "Aaa~~~~"; - mes "Aaa~~~"; - mes "Aaa~~"; - mes "Aaa~"; - next; - emotion e_ho; - emotion e_ho,0,"Choir member#eclbig01"; - emotion e_ho,0,"Choir member#eclbig02"; - emotion e_ho,0,"Choir member#eclbig03"; - emotion e_ho,0,"Choir member#eclbig04"; - emotion e_ho,0,"Choir member#eclbig05"; - mes "[Choir]"; - mes "Uhhurukukuruhuuhhurukukuruhuuh"; - mes "Try to feel this~ The melody that flows~"; - next; - mes "[Choir conductor]"; - mes "How is it!! Our harmony!!"; - close; -} - -ecl_in01,51,103,4 script Choir member#eclbig01 442,{ - mes "[Choir member]"; - mes "Aaa~"; - emotion e_ho; - close; -} -ecl_in01,53,103,4 duplicate(Choir member#eclbig01) Choir member#eclbig02 442 -ecl_in01,50,104,4 duplicate(Choir member#eclbig01) Choir member#eclbig03 442 -ecl_in01,52,104,4 duplicate(Choir member#eclbig01) Choir member#eclbig04 442 -ecl_in01,54,104,4 duplicate(Choir member#eclbig01) Choir member#eclbig05 442 - -// Generic Eclage NPCs - Set 3 -//============================================================ -ecl_fild01,190,93,4 script Fili#1 617,{ - mes "[Fili]"; - mes "Looking at this beautiful field, the song sings itself~"; - emotion e_ho; - close; -} - -ecl_fild01,83,263,4 script Watering Laphine#1 444,{ - mes "[Watering Laphine]"; - mes "I think the earth is running dry."; - close; -} - -ecl_fild01,163,196,4 script Dancing Laphine#1 438,{ - mes "[Dancing Laphine]"; - mes "It's important to warm up like this before you start dancing. One, two, three, four...."; +ecl_in02,96,22,3 script sign#prison_inn 545,{ + mes "[North] Prison"; + mes "[West] Clinic"; close; } -// Eclage Prison & Clinic -//============================================================ -ecl_in01,8,71,4 script Eclage Guard#pri_inn 447,{ +ecl_in01,8,71,5 script Eclage Guard#pri_inn 447,{ mes "[Eclage Guard]"; mes "This path will take you to the lower parts of Eclage. You'll find a prison and a clinic there."; close; } -ecl_in02,96,22,2 script Sign#prison_inn 835,{ - mes "[North] Prison"; - mes "[West] Clinic"; - close; -} - -ecl_in02,164,56,2 script Receptionist#Laphine 437,{ +ecl_in02,164,56,3 script Receptionist#Laphine 835,{ mes "[Receptionist]"; mes "Welcome to Eclage Clinic."; next; - switch(select("Save Location:Rest:Finish the conversation")) { + switch (select("Save Location:Rest:Finish the conversation")) { case 1: mes "[Receptionist]"; mes "Clinic has been set as your save point. Be careful though~"; - savepoint "ecl_in02",162,49; + savepoint "ecl_in02",162,50; close; case 2: mes "[Receptionist]"; mes "Restore your mind and body at our clinic. It's filled with Eclage's clean energy."; - mes "We charge 1 Splendide Coin normally, but we offer a special discount for travelers. Your total is 5,000 zeny."; + mes "We charge 1 Splendide Coin normally, but we offer a special discount for travelers. Your total is 5,000 zeny. "; next; - switch(select("Pay with Splendide Coin:Pay with Zeny:Forget it")) { + switch (select("Pay with Splendide Coin:Pay with Zeny:Forget it")) { case 1: - if (countitem(6081) == 0) { + if (!countitem(6081)) { mes "[Receptionist]"; mes "It seems like you don't have enough coins. Would you check your account again, please?"; close; } - delitem 6081,1; //Splendide_Coin - break; + mes "[Receptionist]"; + mes "Make yourself at home~"; + close2; + delitem 6081,1; //6081 + percentheal 100,100; + warp "ecl_in02",167,49; + end; case 2: if (Zeny < 5000) { mes "[Receptionist]"; - mes "It seems like you don't have enough zeny. Would you check your account again, please?"; + mes "Looks like you don't have enough resources to proceed. Do you mind checking your account again?"; close; } - set Zeny, Zeny-5000; - break; + mes "[Receptionist]"; + mes "Make yourself at home~"; + close2; + Zeny = Zeny - 5000; + percentheal 100,100; + warp "ecl_in02",167,49; + end; case 3: close; } - mes "[Receptionist]"; - mes "Make yourself at home~"; - close2; - percentheal 100,100; - warp "ecl_in02",167,49; - end; case 3: close; } } -ecl_in02,137,44,2 script Doctor Laphine#doctor 442,{ +ecl_in02,135,45,5 script Injured Laphine 442,{ mes "[Injured Laphine]"; mes "Ooww..."; mes "Where...am...I?"; next; mes "[Doctor]"; mes "You're at a clinic. Don't worry."; - mes "We stopped the bleeding and casted emergency spells."; + mes "We stopped the bleeding and cast emergency spells."; mes "You were bleeding a lot. That was close, you know."; next; mes "[Injured Laphine]"; @@ -474,14 +94,14 @@ ecl_in02,137,44,2 script Doctor Laphine#doctor 442,{ mes "Umm...the arrow damaged your wing pretty badly..."; next; mes "[Injured Laphine]"; - mes "...what do you mean??"; + mes "...what do you mean?"; next; mes "[Doctor]"; - mes "Well...I was going to tell you after you recover, but you should know. You can't decorate the Yai anymore."; + mes "Well...I was going to tell you after you recover, but you should know. You can't decorate the Yai anymore. "; mes "In other words, you injured your wing. The arrow went through the most critical part in the wing."; next; mes "[Injured Laphine]"; mes "What? No way...please...doctor!! No!!"; close; } -ecl_in02,135,45,4 duplicate(Doctor Laphine#doctor) Injured Laphine 441 +ecl_in02,137,44,3 duplicate(Injured Laphine) Doctor Laphine#doctor 441 diff --git a/re/cities/izlude.txt b/re/cities/izlude.txt index 8018acb..9e094fe 100644 --- a/re/cities/izlude.txt +++ b/re/cities/izlude.txt @@ -8,7 +8,7 @@ //= rAthena SVN //===== Description: ========================================= //= [Official Conversion] -//= Izlude town NPCs. +//= Izlude Town NPCs. //===== Additional Comments: ================================= //= 1.0 First Version. Still missing many new NPCs and their dialogues. [Masao] //= 1.1 Updated to match the official script. [Euphy] @@ -17,91 +17,99 @@ // Izlude //============================================================ -izlude,197,205,1 duplicate(Sailor_izlude) Sailor#izlude 100 -izlude_a,197,205,1 duplicate(Sailor_izlude) Sailor#izlude_a 100 -izlude_b,197,205,1 duplicate(Sailor_izlude) Sailor#izlude_b 100 -izlude_c,197,205,1 duplicate(Sailor_izlude) Sailor#izlude_c 100 -izlude_d,197,205,1 duplicate(Sailor_izlude) Sailor#izlude_d 100 +izlude,197,205,1 duplicate(Sailor_izlude) Sailor#izlude 4W_SAILOR +izlude_a,197,205,1 duplicate(Sailor_izlude) Sailor#izlude_a 4W_SAILOR +izlude_b,197,205,1 duplicate(Sailor_izlude) Sailor#izlude_b 4W_SAILOR +izlude_c,197,205,1 duplicate(Sailor_izlude) Sailor#izlude_c 4W_SAILOR +izlude_d,197,205,1 duplicate(Sailor_izlude) Sailor#izlude_d 4W_SAILOR -izlude,71,92,2 duplicate(Bonne_izlude) Bonne#izlude 90 -izlude_a,71,92,2 duplicate(Bonne_izlude) Bonne#izlude_a 90 -izlude_b,71,92,2 duplicate(Bonne_izlude) Bonne#izlude_b 90 -izlude_c,71,92,2 duplicate(Bonne_izlude) Bonne#izlude_c 90 -izlude_d,71,92,2 duplicate(Bonne_izlude) Bonne#izlude_d 90 +izlude,71,92,2 duplicate(Bonne_izlude) Bonne#izlude 4_F_01 +izlude_a,71,92,2 duplicate(Bonne_izlude) Bonne#izlude_a 4_F_01 +izlude_b,71,92,2 duplicate(Bonne_izlude) Bonne#izlude_b 4_F_01 +izlude_c,71,92,2 duplicate(Bonne_izlude) Bonne#izlude_c 4_F_01 +izlude_d,71,92,2 duplicate(Bonne_izlude) Bonne#izlude_d 4_F_01 -izlude,172,215,4 duplicate(Charfri_izlude) Charfri#izlude 91 -izlude_a,172,215,4 duplicate(Charfri_izlude) Charfri#izlude_a 91 -izlude_b,172,215,4 duplicate(Charfri_izlude) Charfri#izlude_b 91 -izlude_c,172,215,4 duplicate(Charfri_izlude) Charfri#izlude_c 91 -izlude_d,172,215,4 duplicate(Charfri_izlude) Charfri#izlude_d 91 +izlude,172,215,4 duplicate(Charfri_izlude) Charfri#izlude 4_F_02 +izlude_a,172,215,4 duplicate(Charfri_izlude) Charfri#izlude_a 4_F_02 +izlude_b,172,215,4 duplicate(Charfri_izlude) Charfri#izlude_b 4_F_02 +izlude_c,172,215,4 duplicate(Charfri_izlude) Charfri#izlude_c 4_F_02 +izlude_d,172,215,4 duplicate(Charfri_izlude) Charfri#izlude_d 4_F_02 -izlude,174,164,4 duplicate(Cuskoal_izlude) Cuskoal#izlude 124 -izlude_a,174,164,4 duplicate(Cuskoal_izlude) Cuskoal#izlude_a 124 -izlude_b,174,164,4 duplicate(Cuskoal_izlude) Cuskoal#izlude_b 124 -izlude_c,174,164,4 duplicate(Cuskoal_izlude) Cuskoal#izlude_c 124 -izlude_d,174,164,4 duplicate(Cuskoal_izlude) Cuskoal#izlude_d 124 +izlude,174,164,4 duplicate(Cuskoal_izlude) Cuskoal#izlude 4_F_TELEPORTER +izlude_a,174,164,4 duplicate(Cuskoal_izlude) Cuskoal#izlude_a 4_F_TELEPORTER +izlude_b,174,164,4 duplicate(Cuskoal_izlude) Cuskoal#izlude_b 4_F_TELEPORTER +izlude_c,174,164,4 duplicate(Cuskoal_izlude) Cuskoal#izlude_c 4_F_TELEPORTER +izlude_d,174,164,4 duplicate(Cuskoal_izlude) Cuskoal#izlude_d 4_F_TELEPORTER -izlude,85,103,4 duplicate(Dega_izlude) Dega#izlude 84 -izlude_a,85,103,4 duplicate(Dega_izlude) Dega#izlude_a 84 -izlude_b,85,103,4 duplicate(Dega_izlude) Dega#izlude_b 84 -izlude_c,85,103,4 duplicate(Dega_izlude) Dega#izlude_c 84 -izlude_d,85,103,4 duplicate(Dega_izlude) Dega#izlude_d 84 +izlude,85,103,4 duplicate(Dega_izlude) Dega#izlude 4_M_02 +izlude_a,85,103,4 duplicate(Dega_izlude) Dega#izlude_a 4_M_02 +izlude_b,85,103,4 duplicate(Dega_izlude) Dega#izlude_b 4_M_02 +izlude_c,85,103,4 duplicate(Dega_izlude) Dega#izlude_c 4_M_02 +izlude_d,85,103,4 duplicate(Dega_izlude) Dega#izlude_d 4_M_02 -izlude,140,186,4 duplicate(Kylick_izlude) Kylick#izlude 97 -izlude_a,140,186,4 duplicate(Kylick_izlude) Kylick#izlude_a 97 -izlude_b,140,186,4 duplicate(Kylick_izlude) Kylick#izlude_b 97 -izlude_c,140,186,4 duplicate(Kylick_izlude) Kylick#izlude_c 97 -izlude_d,140,186,4 duplicate(Kylick_izlude) Kylick#izlude_d 97 +izlude,140,186,4 duplicate(Kylick_izlude) Kylick#izlude 4W_M_01 +izlude_a,140,186,4 duplicate(Kylick_izlude) Kylick#izlude_a 4W_M_01 +izlude_b,140,186,4 duplicate(Kylick_izlude) Kylick#izlude_b 4W_M_01 +izlude_c,140,186,4 duplicate(Kylick_izlude) Kylick#izlude_c 4W_M_01 +izlude_d,140,186,4 duplicate(Kylick_izlude) Kylick#izlude_d 4W_M_01 -izlude,57,159,2 duplicate(Red_izlude) Red#izlude 85 -izlude_a,57,159,2 duplicate(Red_izlude) Red#izlude_a 85 -izlude_b,57,159,2 duplicate(Red_izlude) Red#izlude_b 85 -izlude_c,57,159,2 duplicate(Red_izlude) Red#izlude_c 85 -izlude_d,57,159,2 duplicate(Red_izlude) Red#izlude_d 85 +izlude,57,159,2 duplicate(Red_izlude) Red#izlude 4_M_03 +izlude_a,57,159,2 duplicate(Red_izlude) Red#izlude_a 4_M_03 +izlude_b,57,159,2 duplicate(Red_izlude) Red#izlude_b 4_M_03 +izlude_c,57,159,2 duplicate(Red_izlude) Red#izlude_c 4_M_03 +izlude_d,57,159,2 duplicate(Red_izlude) Red#izlude_d 4_M_03 -izlude,55,159,2 duplicate(Cebalis_izlude) Cebalis#izlude 98 -izlude_a,55,159,2 duplicate(Cebalis_izlude) Cebalis#izlude_a 98 -izlude_b,55,159,2 duplicate(Cebalis_izlude) Cebalis#izlude_b 98 -izlude_c,55,159,2 duplicate(Cebalis_izlude) Cebalis#izlude_c 98 -izlude_d,55,159,2 duplicate(Cebalis_izlude) Cebalis#izlude_d 98 +izlude,55,159,2 duplicate(Cebalis_izlude) Cebalis#izlude 4W_M_02 +izlude_a,55,159,2 duplicate(Cebalis_izlude) Cebalis#izlude_a 4W_M_02 +izlude_b,55,159,2 duplicate(Cebalis_izlude) Cebalis#izlude_b 4W_M_02 +izlude_c,55,159,2 duplicate(Cebalis_izlude) Cebalis#izlude_c 4W_M_02 +izlude_d,55,159,2 duplicate(Cebalis_izlude) Cebalis#izlude_d 4W_M_02 -izlude,165,156,2 duplicate(Soldier_izlude) Soldier#izlude 105 -izlude_a,165,156,2 duplicate(Soldier_izlude) Soldier#izlude_a 105 -izlude_b,165,156,2 duplicate(Soldier_izlude) Soldier#izlude_b 105 -izlude_c,165,156,2 duplicate(Soldier_izlude) Soldier#izlude_c 105 -izlude_d,165,156,2 duplicate(Soldier_izlude) Soldier#izlude_d 105 +izlude,165,156,2 duplicate(Soldier_izlude) Soldier#izlude 8W_SOLDIER +izlude_a,165,156,2 duplicate(Soldier_izlude) Soldier#izlude_a 8W_SOLDIER +izlude_b,165,156,2 duplicate(Soldier_izlude) Soldier#izlude_b 8W_SOLDIER +izlude_c,165,156,2 duplicate(Soldier_izlude) Soldier#izlude_c 8W_SOLDIER +izlude_d,165,156,2 duplicate(Soldier_izlude) Soldier#izlude_d 8W_SOLDIER - script ::Guard_izlude -1,{ - mes "[Izlude Guard]"; - mes "Welcome to Izlude."; + mes "[Guard]"; + mes "Beyond this point is the town of Izlude."; close; } -prt_fild08,350,219,4 duplicate(Guard_izlude) Guard#izlude 105 -prt_fild08a,350,219,4 duplicate(Guard_izlude) Guard#izlude_a 105 -prt_fild08b,350,219,4 duplicate(Guard_izlude) Guard#izlude_b 105 -prt_fild08c,350,219,4 duplicate(Guard_izlude) Guard#izlude_c 105 -prt_fild08d,350,219,4 duplicate(Guard_izlude) Guard#izlude_d 105 +prt_fild08,347,216,3 duplicate(Guard_izlude) Guard#izlude 8W_SOLDIER +prt_fild08a,347,216,3 duplicate(Guard_izlude) Guard#izlude_a 8W_SOLDIER +prt_fild08b,347,216,3 duplicate(Guard_izlude) Guard#izlude_b 8W_SOLDIER +prt_fild08c,347,216,3 duplicate(Guard_izlude) Guard#izlude_c 8W_SOLDIER +prt_fild08d,347,216,3 duplicate(Guard_izlude) Guard#izlude_d 8W_SOLDIER -// Channel Warper +- script ::Guard_izlude2 -1,{ + end; +} +prt_fild08,347,209,3 duplicate(Guard_izlude2) Guard#izlude2 8W_SOLDIER +prt_fild08a,347,209,3 duplicate(Guard_izlude2) Guard#izlude2_a 8W_SOLDIER +prt_fild08b,347,209,3 duplicate(Guard_izlude2) Guard#izlude2_b 8W_SOLDIER +prt_fild08c,347,209,3 duplicate(Guard_izlude2) Guard#izlude2_c 8W_SOLDIER +prt_fild08d,347,209,3 duplicate(Guard_izlude2) Guard#izlude2_d 8W_SOLDIER + +// Channel Warper :: channel //============================================================ function script F_IzludeChannel { - mes "[Izlude Copy Warper]"; - mes "Izlude is a verly lively place is it not?"; - mes "I am here to help make Izlude feel more smooth!"; - mes "I can send you to another copy of Izlude."; - mes "Do you want to go to another copy?"; + mes "[Channel Teleporter]"; + mes "Is the Izlude area too crowded?"; + mes "I came to help you to pass by more smoothly~!"; + mes "Here we are at channel "+strnpcinfo(2)+"."; + mes "Will you teleport to other channel?"; next; - set .@i, select(getarg(0)+":Never mind"); - if (.@i < 6) { + set .@i,select(getarg(0)+":Don't teleport."); + if(.@i < 6) { setarray .@maps$[1],"izlude","izlude_a","izlude_b","izlude_c","izlude_d"; - savepoint .@maps$[.@i],128,98; + areasavepoint .@maps$[.@i],127,97,129,99; warp .@maps$[.@i],128,98; - end; } close; } -izlude,122,105,5 script Izlude Copy Warper 64,{ callfunc "F_IzludeChannel",":Go to copy 2:Go to copy 3:Go to copy 4:Go to copy 5"; } -izlude_a,122,105,5 script Izlude Copy Warper#_a 64,{ callfunc "F_IzludeChannel","Go to copy 1::Go to copy 3:Go to copy 4:Go to copy 5"; } -izlude_b,122,105,5 script Izlude Copy Warper#_b 64,{ callfunc "F_IzludeChannel","Go to copy 1:Go to copy 2::Go to copy 4:Go to copy 5"; } -izlude_c,122,105,5 script Izlude Copy Warper#_c 64,{ callfunc "F_IzludeChannel","Go to copy 1:Go to copy 2:Go to copy 3::Go to copy 5"; } -izlude_d,122,105,5 script Izlude Copy Warper#_d 64,{ callfunc "F_IzludeChannel","Go to copy 1:Go to copy 2:Go to copy 3:Go to copy 4:"; } +izlude,122,105,5 script Channel Teleporter#1 64,{ callfunc "F_IzludeChannel",":Teleport to channel 2:Teleport to channel 3:Teleport to channel 4:Teleport to channel 5"; } +izlude_a,122,105,5 script Channel Teleporter#2 64,{ callfunc "F_IzludeChannel","Teleport to channel 1::Teleport to channel 3:Teleport to channel 4:Teleport to channel 5"; } +izlude_b,122,105,5 script Channel Teleporter#3 64,{ callfunc "F_IzludeChannel","Teleport to channel 1:Teleport to channel 2::Teleport to channel 4:Teleport to channel 5"; } +izlude_c,122,105,5 script Channel Teleporter#4 64,{ callfunc "F_IzludeChannel","Teleport to channel 1:Teleport to channel 2:Teleport to channel 3::Teleport to channel 5"; } +izlude_d,122,105,5 script Channel Teleporter#5 64,{ callfunc "F_IzludeChannel","Teleport to channel 1:Teleport to channel 2:Teleport to channel 3:Teleport to channel 4:"; } diff --git a/re/cities/jawaii.txt b/re/cities/jawaii.txt index 6544799..8b6d665 100644 --- a/re/cities/jawaii.txt +++ b/re/cities/jawaii.txt @@ -8,7 +8,7 @@ //= rAthena SVN //===== Description: ========================================= //= [Official Conversion] -//= Jawaii town NPCs. +//= Jawaii Town NPCs. //===== Additional Comments: ================================= //= 1.0 First Version. Renewal coordinates by Masao. //= 1.1 Moved "Honeymoon Helper" NPC. diff --git a/re/cities/lutie.txt b/re/cities/lutie.txt new file mode 100644 index 0000000..f2faed2 --- /dev/null +++ b/re/cities/lutie.txt @@ -0,0 +1,16 @@ +//===== rAthena Script ======================================= +//= Lutie Town Renewal +//===== By: ================================================== +//= rAthena Dev Team +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Lutie Town NPCs. +//===== Additional Comments: ================================= +//= 1.0 First Version. +//============================================================ + +aldebaran,168,168,4 duplicate(Mr_Claus_alde) Mr. Claus#alde 718 diff --git a/re/cities/mora.txt b/re/cities/mora.txt index f656bed..7cbd45b 100644 --- a/re/cities/mora.txt +++ b/re/cities/mora.txt @@ -1064,7 +1064,7 @@ mora,132,184,5 script Mora Villager#sleep6 522,{ mora,133,184,1 script Mora Villager#sleep4 1790,{ mes "[Mora Villager]"; mes "Moan..."; - end; + close; } mora,134,184,1 script Mora Villager#sleep3 516,{ @@ -1082,7 +1082,7 @@ mora,132,183,7 script Mora Villager#sleep7 524,{ mora,133,183,7 script Mora Villager#sleep8 518,{ mes "[Mora Villager]"; mes "z Z"; - end; + close; } mora,134,183,1 script Mora Villager#sleep9 522,{ @@ -1166,7 +1166,7 @@ mora,43,127,3 script Innkeeper#mora_inn 522,{ } mora,48,128,0 script Drawer#mora_warehouse 111,{ - if(basicskillcheck() && getskilllv("NV_BASIC") < 6) { + if(!callfunc("F_CanOpenStorage")) { mes "- You don't remember how to open the warehouse. -"; close; } diff --git a/re/events/halloween_2013.txt b/re/events/halloween_2013.txt new file mode 100644 index 0000000..6c981ed --- /dev/null +++ b/re/events/halloween_2013.txt @@ -0,0 +1,1136 @@ +//===== rAthena Script ======================================= +//= Official iRO Halloween Event 2013 +//===== By: ================================================== +//= Akkarin +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= This event ran on iRO from 16th Oct to 6th Nov (3 weeks) +//===== Additional Comments: ================================= +//= 1.0 Conversion from official script -> rAthena. [Akkarin] +//= 1.1 Some cleanup. [Euphy] +//= 1.2 Added monster spawns [Akkarin] +//============================================================ + +// Main Quest :: 2013e_hallow_en_1015 +//============================================================ +prontera,154,136,5 script Suspicious Coffin#2013HE 801,{ + if (eve_bs < 1) { + mes "- The coffin seems very suspicious. -"; + next; + switch(select("Leave it:Knock-knock.")) { + case 1: + mes "- You left though with doubt. -"; + close; + case 2: + mes "- tap tap tap -"; + next; + mes "[???]"; + mes "Awwww!!!"; + mes "W......Who are you!!!"; + next; + mes "- chunk -"; + mes "- thump -"; + next; + mes "[???]"; + mes "Ouch, my head!!!"; + next; + mes "[???]"; + mes "Are you okay? Trick?"; + next; + mes "[Trick]"; + mes "I'm fine!"; + mes "This is not a big deal!"; + mes "Treat."; + next; + mes "[Treat]"; + mes "Your head is pumping out strawberry jam!"; + mes "Trick."; + next; + mes "[Trick]"; + mes "Awwww!"; + mes "Ugh!!!!"; + mes "I'm gonna die!!!"; + mes "Oh, no...!!!"; + next; + mes "[Trick]"; + mes "koff, koff..."; + mes "I was happy with you.....though it was short time..."; + mes "Treat...."; + next; + mes "[Trick]"; + mes "I die......."; + next; + mes "[Treat]"; + mes "..."; + next; + mes "[Treat]"; + mes "Trick."; + next; + mes "[Treat]"; + mes "we never die..."; + mes "we'd died before."; + next; + mes "[Trick]"; + mes "Yipee, yeah, that's true!"; + next; + mes "[Trick]"; + mes "I forget everytime as I died for a long time ago."; + next; + mes "[Trick]"; + mes "Yow!!!"; + mes "By the way!!!!"; + mes "We are not supposed to waste time like this!"; + mes "Treat."; + next; + mes "[Trick]"; + mes "We will die if we dont get back to master with ^ff9000'that'^000000..."; + next; + mes "[Treat]"; + mes "We are dead already..."; + mes "Trick."; + next; + mes "[Treat]"; + mes "We will be bothered by him until we lose his temper at the most."; + next; + mes "[Trick]"; + mes "Ah... no..."; + mes "Hurry!"; + mes "Let's go find 'that' !"; + mes "Treat."; + next; + mes "[Treat]"; + mes "Now..."; + next; + mes "[Trick]"; + mes "^ff9000Ugh, awww, hik, heck!!!!!!!!^000000"; + next; + mes "[Treat]"; + mes "We gonna die with sun burn if we leave now."; + mes "Trick."; + next; + mes "[Trick]"; + mes "You MUST say that much important thing in advance!!!!!!!!!"; + next; + mes "[Treat]"; + mes "This world was good only we were alive."; + next; + mes "[Trick]"; + mes "Hey!"; + mes "You!"; + next; + mes "[Trick]"; + mes "You are the first man made my head pump out strawberry jam."; + mes "Would you love... me...?"; + next; + mes "- Crash! -"; + next; + mes "- There is more jam coming out under the coffin. -"; + next; + mes "[Treat]"; + mes "He is little bit strange as for the jam he bleeded."; + mes "Trick.."; + next; + mes "[Trick]"; + mes "No, treat."; + mes "Now I feel very refreshed, would you put down that club??"; + next; + mes "[Trick]"; + mes "Hey you!"; + mes "I don't blame you for making my head like this but would you help us?"; + next; + mes "[Trick]"; + mes "Don't feel pressured."; + mes "The strawberry thing will be recovered after few days of illness."; + next; + switch(select("Help them.:Leave it.")) { + case 1: + mes "[Trick]"; + mes "Haha!"; + mes "Thanks!"; + next; + select("listen their story."); + mes "[Trick]"; + mes "It is secret..."; + mes "Well, we are dead."; + next; + mes "- kaboom! -"; + next; + mes "[Trick]"; + mes "It hurts."; + mes "Treat."; + next; + mes "[Trick]"; + mes "I will explain properly, just put that down."; + next; + callsub L_Explanation; + set eve_bs,1; + setquest 11378; + close; + case 2: + mes "[Trick]"; + mes "Ooops!"; + mes "Well, then we have to go out Treat!"; + next; + mes "[Treat]"; + mes "Don't worry treat."; + mes "We just will be sent back to Niflheim in the worst case."; + close; + } + } + } else if (eve_bs == 1) { + callsub L_Explanation; + close; + } else if (eve_bs == 2) { + if (isbegin_quest(11378)) { + mes "[Trick]"; + mes "^ff9000Pumpkins are any of field. Please collect organic or non-organic pumpkins for 30 people and bring them to Chef Candycon at Niflheim.^000000"; + next; + mes "[Trick]"; + mes "Organic pumpkin has more value."; + mes "It is three times as useful!"; + close; + } else { + mes "[Trick]"; + mes "Thanks! We won't die from sun burn!"; + next; + mes "[Treat]"; + mes "Thanks."; + next; + mes "[Trick]"; + mes "And if you don't mind, would you please help more?"; + mes "Pumpkin cake is still deficient."; + next; + mes "[Trick]"; + mes "Last time when I visited there, I saw piled up pumpkin cake which was taller than castle... how much should we make more?"; + next; + switch(select("Help them:Leave it.")) { + case 1: + mes "[Trick]"; + mes "^ff9000Pumpkins are any of field. Please collect organic or non-organic pumpkins for 30 people and bring them to Chef Candycon at Niflheim.^000000"; + next; + mes "[Trick]"; + mes "Organic pumpkin has more value."; + mes "It is three times as useful!"; + setquest 11378; + close; + case 2: + mes "[Trick]"; + mes "Ooops!"; + mes "Well, then we have to go out Treat!"; + next; + mes "[Treat]"; + mes "Don't worry treat."; + mes "We just will be sent back to Niflheim in the worst case."; + close; + } + } + } + end; + +L_Explanation: + mes "[Trick]"; + mes "We are from ^ff9000'town of the dead' Niflheim^000000."; + next; + mes "[Trick]"; + mes "^ff9000The pumpkins for Halloween event on Niflheim^000000 were all disappeared."; + next; + mes "[Trick]"; + mes "First we are preparing another cake but Sir, Hell loves pumpkin cake....... Halloween without pumpkin cake is like vampire without fang..."; + next; + mes "[Trick]"; + mes "We came to search pumpkin as our chef is too busy to do with other things,"; + next; + mes "[Trick]"; + mes "Far from searching them, we are at risk for leaving this coffin..."; + next; + mes "[Trick]"; + mes "^ff9000Pumpkins are any of field. Please collect organic or non-organic pumpkins for 30 people and bring them to Chef Candycon at Niflheim.^000000"; + next; + mes "[Trick]"; + mes "Organic pumpkin has more value."; + mes "It is three times as useful!"; + return; +} + +niflheim,181,173,5 script Chef Candycon#2013HE 796,{ + set .@pumpum, countitem(6805) + (countitem(6804)*3); + if (eve_bs == 1) { + if (.@pumpum > 29) { + mes "[Chef Candycon]"; + mes "clang~clang~!"; + next; + mes "[Chef Candycon]"; + mes "Phew... when is the end of making this cake? ...feel like eternal..."; + next; + mes "[Chef Candycon]"; + mes "Holy mother! I will hang anyone who suggest to make pumpkin cake on tree from next time."; + next; + mes "[Chef Candycon]"; + mes "Though Sir, Hell like this but he doesn't care what pumpkin used. He said he is good with normal but..."; + next; + mes "[Chef Candycon]"; + mes "ALWAYS saying this pumpkin is not good....only the organic is good...what the heck, are you a cook!? If you know cooking that much why don't you do it by yourself!!"; + next; + mes "[Chef Candycon]"; + mes "And never helped me for escaping pumpkins and pretend busy? UGH! tut~"; + next; + mes "[Chef Candycon]"; + mes "My lord!!!"; + mes "Hu....Human!!"; + mes "hub~ (deep breath).."; + next; + mes "[Chef Candycon]"; + mes "li.....ving....h....u.... m....a....n...."; + next; + mes "[Chef Candycon]"; + mes "how...........do....you......come......"; + mes "to.....town.......... of......... the dead......."; + mes "Ni....fle.......he...im........"; + next; + mes "[Chef Candycon]"; + mes "he....re...."; + mes "is.........not........"; + mes "for.................."; + mes "li..ving....crea...ture......."; + next; + select("Tell him about pumpkins."); + mes "[Chef Candycon]"; + mes ".....Pu...........m............ki....n....."; + next; + mes "[Chef Candycon]"; + mes "It...has...been...."; + mes "O.....ver....but...."; + mes "ca...me......a...gain...."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "Why don't you speak normally."; + next; + mes "[Chef Candycon]"; + mes "......"; + next; + mes "[Chef Candycon]"; + mes "May....may I??"; + next; + mes "[Chef Candycon]"; + mes "Ah... I'm not supposed to speak like this... we also have image making issue...."; + next; + mes "[Chef Candycon]"; + mes "Speaking like this is way better to scare people...heww..however, I can't bare it as it is too stuffy."; + next; + mes "[Chef Candycon]"; + mes "Anyway! It won't be delayed if those pumpkins didn't escape to Midgarts."; + next; + mes "[Chef Candycon]"; + mes "Obviously, we are dead so we are pretty weak to the sun. We would be a pile of ash if we searched during daytime."; + next; + mes "[Trick]"; + mes "Did you know?! How could you send us to search for pumpkins?!"; + next; + mes "[Chef Candycon]"; + mes "What? You can walk around after sunset. And you got wings and night vision... and what? Ultra sonic...?!!!!"; + next; + mes "[Treat]"; + mes "So I didn't leave the coffin."; + next; + mes "[Trick]"; + mes "Ah...?!"; + next; + mes "[Chef Candycon]"; + mes "Gosh. How fortune we are for your effort, considering the process after bringing pumpkins."; + next; + select("Give pumpkins."); + mes "[Chef Candycon]"; + mes "Let me see! Correct? Yeah that's it! Hold on a sec."; + next; + callsub L_GivePumpkins; + end; + } else { + mes "[Chef Candycon]"; + mes "li.....ving....h....u.... m....a....n...."; + next; + mes "[Chef Candycon]"; + mes "how...........do....you......come......"; + mes "to.....town.......... of......... the dead......."; + mes "Ni....ffle.......he...im........"; + next; + mes "[Chef Candycon]"; + mes "he....re...."; + mes "is.........not........"; + mes "for.................."; + mes "li..ving....crea...ture......."; + close; + } + } else if (eve_bs == 2) { + if (isbegin_quest(11378)) { + mes "[Chef Candycon]"; + mes "Eh! More pumpkins??"; + mes "Heck... seriously... How many more left?"; + next; + mes "[Chef Candycon]"; + mes "Well, ^ff9000I need all the pumpkins^000000!"; + mes "If we don't work fast, we will late for the festival."; + next; + mes "^ff9000*****WARNING*****^000000"; + mes "^ff9000You will give all of pumpkin, [ALL]!^000000"; + mes "^ff9000Will you proceed?^000000"; + callsub L_GivePumpkins; + end; + } else { + mes "[Chef Candycon]"; + mes "Yo! Thanks to your delivery, baking cake day and night."; + mes "Laying on the tomb will not guarantee eternal sleeping. T.T "; + close; + } + } else { + mes "[Chef Candycon]"; + mes "li.....ving....h....u.... m....a....n...."; + next; + mes "[Chef Candycon]"; + mes "how...........do....you......come......"; + mes "to.....town.......... of......... the dead......."; + mes "Ni....fle.......he...im........"; + next; + mes "[Chef Candycon]"; + mes "he....re...."; + mes "is.........not........"; + mes "for.................."; + mes "li..ving....crea...ture......."; + close; + } + end; + +L_GivePumpkins: + mes "[Chef Candycon]"; + mes "Well, ^ff9000I need all the pumpkins^000000!"; + mes "If we don't work fast, we will be late for the festival."; + next; + mes "^ff9000*****WARNING*****^000000"; + mes "^ff9000You will give all of pumpkin, [ALL]!^000000"; + mes "^ff9000Will you proceed?^000000"; + switch(select("Give all pumpkins.:Cancel.")) { + case 1: + set .@pumpum, countitem(6805) + (countitem(6804)*3); + if (.@pumpum > 29){ + if (countitem(6805)) delitem 6805,countitem(6805); //INORGANIC_PUMPKIN + if (countitem(6804)) delitem 6804,countitem(6804); //ORGANIC_PUMPKIN + set eve_bs,2; + getitem 22669,1; //HALLOWEEN_G_BOX + erasequest 11378; + mes "[Chef Candycon]"; + mes "Okay! Dig out the inside of pumpkin and like this~ and that~!"; + next; + mes "[Chef Candycon]"; + mes "Cool! Pumpkin has been carved just in shape? This is it for Halloween! Halloween without Jack'o lantern can't be real Halloween!"; + next; + mes "[Chef Candycon]"; + mes "Take this, it's a reward for bringing pumpkins! Open it, there might be some fun stuff..."; + close; + } else { + mes "[Chef Candycon]"; + mes "Ooops where is pumpkin? Escaped again?"; + mes "Oh, boy...no... you should go to get them again..."; + close; + } + case 2: + mes "[Chef Candycon]"; + mes "eeh~~ You have no use of those pumpkins~~"; + close; + } +} + +niflheim,182,177,3 script Trick#2013HE 799,{ + if (eve_bs == 1) { + mes "[Trick]"; + mes "It's really fresh, outside of coffin?"; + mes "Have you got 30 pumpkins?"; + next; + mes "[Trick]"; + mes "If you brought them all, deliver them to the chef there."; + close; + } else if (eve_bs > 1) { + mes "[Trick]"; + mes "What would happen without your help?~"; + next; + mes "[Treat]"; + mes "Maybe, Sir, Hell would have grilled bat, instead of pumpkin cake."; + next; + mes "[Trick]"; + mes "Gosh...."; + close; + } else { + mes "[Trick]"; + mes "I don't need sweets!!"; + mes "As I will just mess up everything! Wahahahaa!"; + close; + } + end; +} + +niflheim,183,176,3 script Treat#2013HE 799,{ + if (eve_bs == 1) { + mes "[Treat]"; + mes "......"; + close; + } else if (eve_bs > 1) { + mes "[Treat]"; + mes "Doing good...?"; + close; + } else { + mes "[Treat]"; + mes "-giggle-"; + close; + } +} + +niflheim,179,168,5 script Kentucky#2013HE 800,{ + mes "[Kentucky]"; + mes "Ho.. these seeds have really deep taste."; + mes "I will be able to have this kind of seeds no matter how much."; + close; +} + +niflheim,177,166,8 script Chicken#2013HE 800,{ + mes "[Chicken]"; + mes "Hey Kentucky!!"; + mes "You are eating alone too much!"; + close; +} + +niflheim,198,175,5 script Wandering soul#2013HE 802,{ + mes "[Wandering soul]"; + mes "-giggle-"; + mes "The festival is about to begin..."; + close; +} + +niflheim,191,180,3 script Wandering soul#2013HE2 802,{ + mes "[Wandering soul]"; + mes "Living creatures can't participate in the festival of Niflheim. -giggle-"; + close; +} + +niflheim,181,181,5 script Wandering soul#2013HE3 802,{ + mes "[Wandering soul]"; + mes "The festival brought vitality to 'city of the dead'...."; + mes "Doesn't it seem like something is wrong??"; + close; +} + +niflheim,183,162,5 script Wandering soul#2013HE4 802,{ + mes "[Wandering soul]"; + mes "Soon, the festival of souls will be here!"; + close; +} + +// Monster Spawns :: EventMonster-131022 +//============================================================ +gld_dun01_2,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gld_dun02_2,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gld_dun03_2,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gld_dun04_2,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gld2_ald,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gld2_gef,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gld2_pay,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gld2_prt,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +lhz_dun04,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +iz_dun05,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +mal_dun01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +dic_dun03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +dew_fild01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +dew_dun01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +dew_dun02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +mal_dun01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +iz_dun05,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +man_fild01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +man_fild03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +spl_fild02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +spl_fild03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +man_fild02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +spl_fild01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +nyd_dun01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +bra_fild01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +bra_dun01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +bra_dun02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +dic_fild01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +dic_fild02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +dic_dun01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +dic_dun02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +bif_fild01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +bif_fild02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +abbey01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +abbey02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +abbey03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +abyss_01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +abyss_02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +abyss_03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +alde_dun01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +alde_dun02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +alde_dun03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +alde_dun04,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ama_dun01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ama_dun02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ama_dun03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ama_fild01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +anthell01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +anthell02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ayo_dun01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ayo_dun02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ayo_fild01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ayo_fild02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +beach_dun,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +beach_dun2,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +beach_dun3,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +c_tower1,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +c_tower2,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +c_tower3,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +c_tower4,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +cmd_fild01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +cmd_fild02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +cmd_fild03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +cmd_fild04,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +cmd_fild06,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +cmd_fild07,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +cmd_fild08,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +cmd_fild09,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ein_dun01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ein_dun02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ein_fild03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ein_fild04,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ein_fild05,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ein_fild06,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ein_fild07,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ein_fild08,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ein_fild09,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gef_dun00,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gef_dun01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gef_dun02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gef_fild00,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gef_fild01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gef_fild02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gef_fild03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gef_fild04,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gef_fild05,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gef_fild06,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gef_fild07,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gef_fild08,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gef_fild09,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gef_fild10,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gef_fild11,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gef_fild13,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gefenia01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gefenia02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gefenia03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gefenia04,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gl_cas01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gl_cas02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gl_church,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gl_chyard,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gl_dun01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gl_dun02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gl_in01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gl_knt01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gl_knt02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gl_prison,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gl_prison1,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gl_sew01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gl_sew02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gl_sew03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gl_sew04,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gl_step,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +glast_01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gon_dun01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gon_dun02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gon_dun03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gon_fild01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +hu_fild01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +hu_fild02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +hu_fild04,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +hu_fild05,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +hu_fild06,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ice_dun01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ice_dun02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ice_dun03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +in_sphinx1,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +in_sphinx2,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +in_sphinx3,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +in_sphinx4,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +in_sphinx5,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +iz_dun00,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +iz_dun01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +iz_dun02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +iz_dun03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +iz_dun04,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +jupe_core,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +juperos_01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +juperos_02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +kh_dun01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +kh_dun02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +lhz_dun01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +lhz_dun02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +lhz_dun03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +lhz_fild01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +lhz_fild02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +lhz_fild03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +lou_dun01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +lou_dun02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +lou_dun03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +lou_fild01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +mag_dun01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +mag_dun02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +man_fild02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +mjo_dun01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +mjo_dun02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +mjo_dun03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +mjolnir_01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +mjolnir_02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +mjolnir_03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +mjolnir_04,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +mjolnir_05,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +mjolnir_06,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +mjolnir_07,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +mjolnir_08,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +mjolnir_09,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +mjolnir_10,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +mjolnir_11,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +mjolnir_12,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +moc_fild01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +moc_fild02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +moc_fild03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +moc_fild04,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +moc_fild05,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +moc_fild06,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +moc_fild07,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +moc_fild08,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +moc_fild09,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +moc_fild10,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +moc_fild11,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +moc_fild12,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +moc_fild13,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +moc_fild14,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +moc_fild15,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +moc_fild16,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +moc_fild17,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +moc_fild18,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +moc_pryd01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +moc_pryd02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +moc_pryd03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +moc_pryd04,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +moc_pryd05,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +moc_pryd06,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +nameless_n,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +nif_fild01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +nif_fild02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +nyd_dun01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +odin_tem01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +odin_tem02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +odin_tem03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +orcsdun01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +orcsdun02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +pay_dun00,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +pay_dun01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +pay_dun02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +pay_dun03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +pay_dun04,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +pay_fild01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +pay_fild02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +pay_fild03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +pay_fild04,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +pay_fild06,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +pay_fild07,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +pay_fild08,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +pay_fild09,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +pay_fild10,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +prt_fild00,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +prt_fild01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +prt_fild02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +prt_fild03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +prt_fild04,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +prt_fild05,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +prt_fild06,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +prt_fild07,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +prt_fild08,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +prt_fild09,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +prt_fild10,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +prt_fild11,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +prt_maze01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +prt_maze02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +prt_maze03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +prt_sewb1,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +prt_sewb2,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +prt_sewb3,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ra_fild01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ra_fild03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ra_fild04,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ra_fild05,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ra_fild06,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ra_fild08,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ra_fild12,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ra_san01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ra_san02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ra_san03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ra_san04,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ra_san05,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +spl_fild01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +tha_t01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +tha_t02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +tha_t03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +tha_t04,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +tha_t05,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +tha_t06,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +tha_t07,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +tha_t08,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +tha_t09,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +tha_t10,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +tha_t11,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +tha_t12,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +thor_v01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +thor_v02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +thor_v03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +treasure01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +treasure02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +tur_dun01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +tur_dun02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +tur_dun03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +tur_dun04,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +um_fild01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +um_fild02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +um_fild03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +um_fild04,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ve_fild01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ve_fild02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ve_fild03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ve_fild04,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ve_fild05,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ve_fild07,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +xmas_dun01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +xmas_dun02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +xmas_fild01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +yuno_fild01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +yuno_fild02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +yuno_fild03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +yuno_fild04,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +yuno_fild06,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +yuno_fild07,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +yuno_fild08,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +yuno_fild09,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +yuno_fild10,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +yuno_fild12,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ecl_fild01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ecl_tdun01,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ecl_tdun02,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +ecl_tdun03,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +moc_prydn1,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +moc_prydn2,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +prt_fild08a,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +prt_fild08b,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +prt_fild08c,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +prt_fild08d,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gl_chyard_,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gl_cas02_,0,0,0,0 monster Organic Pumpkin 3202,1,5000,0,0 +gld_dun01_2,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gld_dun02_2,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gld_dun03_2,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gld_dun04_2,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gld2_ald,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gld2_gef,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gld2_pay,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gld2_prt,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +lhz_dun04,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +iz_dun05,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +mal_dun01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +dic_dun03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +dew_fild01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +dew_dun01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +dew_dun02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +mal_dun01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +iz_dun05,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +man_fild01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +man_fild03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +spl_fild02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +spl_fild03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +man_fild02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +spl_fild01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +nyd_dun01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +bra_fild01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +bra_dun01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +bra_dun02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +dic_fild01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +dic_fild02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +dic_dun01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +dic_dun02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +bif_fild01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +bif_fild02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +abbey01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +abbey02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +abbey03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +abyss_01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +abyss_02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +abyss_03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +alde_dun01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +alde_dun02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +alde_dun03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +alde_dun04,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ama_dun01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ama_dun02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ama_dun03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ama_fild01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +anthell01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +anthell02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ayo_dun01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ayo_dun02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ayo_fild01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ayo_fild02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +beach_dun,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +beach_dun2,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +beach_dun3,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +c_tower1,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +c_tower2,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +c_tower3,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +c_tower4,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +cmd_fild01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +cmd_fild02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +cmd_fild03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +cmd_fild04,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +cmd_fild06,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +cmd_fild07,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +cmd_fild08,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +cmd_fild09,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ein_dun01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ein_dun02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ein_fild03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ein_fild04,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ein_fild05,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ein_fild06,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ein_fild07,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ein_fild08,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ein_fild09,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gef_dun00,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gef_dun01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gef_dun02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gef_fild00,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gef_fild01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gef_fild02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gef_fild03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gef_fild04,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gef_fild05,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gef_fild06,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gef_fild07,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gef_fild08,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gef_fild09,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gef_fild10,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gef_fild11,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gef_fild13,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gefenia01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gefenia02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gefenia03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gefenia04,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gl_cas01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gl_cas02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gl_church,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gl_chyard,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gl_dun01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gl_dun02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gl_in01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gl_knt01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gl_knt02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gl_prison,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gl_prison1,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gl_sew01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gl_sew02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gl_sew03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gl_sew04,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gl_step,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +glast_01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gon_dun01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gon_dun02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gon_dun03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gon_fild01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +hu_fild01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +hu_fild02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +hu_fild04,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +hu_fild05,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +hu_fild06,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ice_dun01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ice_dun02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ice_dun03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +in_sphinx1,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +in_sphinx2,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +in_sphinx3,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +in_sphinx4,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +in_sphinx5,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +iz_dun00,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +iz_dun01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +iz_dun02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +iz_dun03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +iz_dun04,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +jupe_core,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +juperos_01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +juperos_02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +kh_dun01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +kh_dun02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +lhz_dun01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +lhz_dun02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +lhz_dun03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +lhz_fild01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +lhz_fild02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +lhz_fild03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +lou_dun01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +lou_dun02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +lou_dun03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +lou_fild01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +mag_dun01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +mag_dun02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +man_fild02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +mjo_dun01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +mjo_dun02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +mjo_dun03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +mjolnir_01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +mjolnir_02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +mjolnir_03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +mjolnir_04,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +mjolnir_05,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +mjolnir_06,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +mjolnir_07,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +mjolnir_08,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +mjolnir_09,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +mjolnir_10,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +mjolnir_11,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +mjolnir_12,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +moc_fild01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +moc_fild02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +moc_fild03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +moc_fild04,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +moc_fild05,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +moc_fild06,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +moc_fild07,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +moc_fild08,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +moc_fild09,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +moc_fild10,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +moc_fild11,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +moc_fild12,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +moc_fild13,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +moc_fild14,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +moc_fild15,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +moc_fild16,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +moc_fild17,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +moc_fild18,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +moc_pryd01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +moc_pryd02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +moc_pryd03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +moc_pryd04,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +moc_pryd05,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +moc_pryd06,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +nameless_n,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +nif_fild01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +nif_fild02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +nyd_dun01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +odin_tem01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +odin_tem02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +odin_tem03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +orcsdun01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +orcsdun02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +pay_dun00,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +pay_dun01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +pay_dun02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +pay_dun03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +pay_dun04,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +pay_fild01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +pay_fild02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +pay_fild03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +pay_fild04,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +pay_fild06,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +pay_fild07,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +pay_fild08,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +pay_fild09,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +pay_fild10,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +prt_fild00,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +prt_fild01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +prt_fild02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +prt_fild03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +prt_fild04,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +prt_fild05,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +prt_fild06,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +prt_fild07,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +prt_fild08,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +prt_fild09,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +prt_fild10,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +prt_fild11,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +prt_maze01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +prt_maze02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +prt_maze03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +prt_sewb1,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +prt_sewb2,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +prt_sewb3,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ra_fild01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ra_fild03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ra_fild04,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ra_fild05,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ra_fild06,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ra_fild08,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ra_fild12,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ra_san01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ra_san02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ra_san03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ra_san04,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ra_san05,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +spl_fild01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +tha_t01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +tha_t02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +tha_t03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +tha_t04,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +tha_t05,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +tha_t06,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +tha_t07,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +tha_t08,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +tha_t09,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +tha_t10,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +tha_t11,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +tha_t12,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +thor_v01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +thor_v02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +thor_v03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +treasure01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +treasure02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +tur_dun01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +tur_dun02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +tur_dun03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +tur_dun04,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +um_fild01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +um_fild02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +um_fild03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +um_fild04,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ve_fild01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ve_fild02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ve_fild03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ve_fild04,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ve_fild05,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ve_fild07,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +xmas_dun01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +xmas_dun02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +xmas_fild01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +yuno_fild01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +yuno_fild02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +yuno_fild03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +yuno_fild04,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +yuno_fild06,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +yuno_fild07,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +yuno_fild08,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +yuno_fild09,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +yuno_fild10,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +yuno_fild12,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ecl_fild01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ecl_tdun01,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ecl_tdun02,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +ecl_tdun03,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +moc_prydn1,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +moc_prydn2,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +prt_fild08a,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +prt_fild08b,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +prt_fild08c,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +prt_fild08d,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gl_chyard_,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 +gl_cas02_,0,0,0,0 monster Inorganic Pumpkin 3203,4,5000,0,0 diff --git a/re/events/halloween_2014.txt b/re/events/halloween_2014.txt new file mode 100644 index 0000000..01729a3 --- /dev/null +++ b/re/events/halloween_2014.txt @@ -0,0 +1,2568 @@ +//===== rAthena Script ======================================= +//= Halloween Event (2014) +//===== By: ================================================== +//= Kisuka +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Help an Exhausted Priest collect souls in exchange for Candy Holders. +//= Help some spirits in Niflheim figure out which one among them isn't dead. +//= Collect 10 Red Scarf and 10 Hanging Doll for a spirit by the name of Loru. +//= Hunt 20 Hylozoists and 20 Bloody Murderers for a spirit by the name of Devi. +//===== Additional Comments: ================================= +//= 1.0 First version, edited. [exneval] +//============================================================ + +//= Exhausted Priest +//============================================================================== +- script Exhausted Priest#14hal::Hal14Priest 4_M_MINISTER,{ + if (!checkweight("Orcish_Axe", 3)) { + mes "[Exhausted Priest]"; + mes "Why don't you reduce your weight to catch the soul?"; + mes "They are faster than you think."; + close; + } + if (BaseLevel < 50) { + mes "[Mighty Priest]"; + mes "I.. I am too exhausted!"; + mes "Oh.. Dear Odin, why have you caused this pain for me..."; + next; + mes "[Mighty Priest]"; + mes "I hope that someone very strong and patient will help me.."; + close; + } else { + if (checkquest(14450) == 2) { + mes "[Mighty Priest]"; + mes ""+(Sex ? "Brother" : "Sister")+", it's good to see you again!"; + mes "came here to see me because of that?"; + next; + mes "[Mighty Priest]"; + mes "You brought the Soul, right?"; + mes "Let's take a look at it."; + next; + if (countitem(6915) > 4 && countitem(6914) > 0) { + mes "[Mighty Priest]"; + mes "Wow, this is so strong!"; + mes "You may be better than our priests!"; + next; + mes "[Mighty Priest]"; + mes "Let's keep doing this!"; + mes "Here you are. See you next time!"; + close2; + delitem 6915, 5; //Captured_Soul + delitem 6914, 1; //Black_Soul + getitem 22838, 1; //Something_Candy_Holder + getitem 22670, 1; //DARK_INVITATION + end; + } else { + mes "[Mighty Priest]"; + mes "Oh.. it's weird... did they run away??"; + mes "You should hold them firmly, or else they will get away."; + next; + mes "[Mighty Priest]"; + mes "Well, can you catch them again?"; + mes "You need to bring ^0000cd5 Captured Souls^000000 from Wandering Soul, and ^0000cd1 Black Soul^000000 from Dark Soul."; + next; + mes "[Mighty Priest]"; + mes "How is that?"; + mes "Too easy, huh?"; + close; + } + } else if (checkquest(14450) == 1) { + if (countitem(6915) > 2 && countitem(6914) > 0) { + mes "[Mighty Priest]"; + mes "Welcome! Did you bring the soul?"; + mes "Let me see~"; + next; + mes "[Mighty Priest]"; + mes "Wow, you captured a crucial one!"; + mes "I knew you would do well!"; + next; + mes "[Mighty Priest]"; + mes "Didn't I say I would give you some gift?"; + mes "Let me give you some snacks from the order..."; + next; + mes "[Mighty Priest]"; + mes "I feel a bit uncomfortable for this though... oops.. no! It got a lot of sweets!!"; + mes "Please take this invitation too. This is a Niflheim Express Ticket."; + next; + mes "[Mighty Priest]"; + mes "It would be a great chance to go sight seeing there."; + mes "However, I'm too busy to go there myself."; + next; + mes "[Mighty Priest]"; + mes "Oops! I almost forgot to say this."; + mes "If you bring 5 Captured Souls and 1 Black Soul next time, I will give you another invitation and Candy Holder."; + next; + mes "[Mighty Priest]"; + mes "You might think that you got more gifts next time, but it's just not, actually!"; + emotion e_heh, 0; + next; + mes "[Mighty Priest]"; + mes "You can get them from any of the other priests in town."; + mes "See you next time!"; + close2; + delitem 6915, 3; //Captured_Soul + delitem 6914, 1; //Black_Soul + getitem 22838, 1; //Something_Candy_Holder + getitem 22670, 1; //DARK_INVITATION + completequest 14450; + end; + } else { + mes "[Mighty Priest]"; + mes "Welcome! Did you bring the soul?"; + mes "Let me see~"; + next; + mes "[Mighty Priest]"; + mes "Oh.. it's weird... did they run away??"; + mes "You should hold them firmly, or else they will get away."; + next; + mes "[Mighty Priest]"; + mes "Well, can you catch them again?"; + mes "You need to bring ^0000cd3 Captured Souls^000000 from Wandering Soul, and ^0000cd 1 Black Soul^000000 from Dark Soul."; + next; + mes "[Mighty Priest]"; + mes "How is that?"; + mes "Too easy, huh?"; + close; + } + } else if (checkquest(14450) == -1) { + mes "[Mighty Priest]"; + mes "Ha... no time to rest!"; + mes "My arms and legs hurt~"; + next; + mes "["+strcharinfo(0)+"]"; + mes "If you're so tired... why don't you heal?"; + next; + mes "[Mighty Priest]"; + mes "Wow!! You're a genius!!!"; + mes "Hold on..."; + next; + mes "[Mighty Priest]"; + mes "Dear Odin, show me your love!"; + mes "Heal me with your love! Great!! Bam!!!!!"; + if (strnpcinfo(4) == "alberta") { + specialeffect EF_HEAL2,AREA,"Exhausted Priest#albe14h"; + } else if (strnpcinfo(4) == "aldebaran") { + specialeffect EF_HEAL2,AREA,"Exhausted Priest#alde14h"; + } else if (strnpcinfo(4) == "geffen") { + specialeffect EF_HEAL2,AREA,"Exhausted Priest#gef14h"; + } else if (strnpcinfo(4) == "morocc") { + specialeffect EF_HEAL2,AREA,"Exhausted Priest#moc14h"; + } else if (strnpcinfo(4) == "payon") { + specialeffect EF_HEAL2,AREA,"Exhausted Priest#pay14h"; + } else if (strnpcinfo(4) == "prontera") { + specialeffect EF_HEAL2,AREA,"Exhausted Priest#pron14h"; + } else if (strnpcinfo(4) == "yuno") { + specialeffect EF_HEAL2,AREA,"Exhausted Priest#yuno14h"; + } + emotion e_swt, 1; + next; + mes "[Mighty Priest]"; + mes "I feel much better now!"; + mes ""+(Sex ? "Brother" : "Sister")+", thank you so much for waking me up."; + next; + mes "["+strcharinfo(0)+"]"; + mes "What made you so tired?"; + next; + mes "[Mighty Priest]"; + mes ""+(Sex ? "Brother" : "Sister")+", you didn't have any damage yet?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "What happened to you?"; + next; + mes "[Mighty Priest]"; + mes "Ha? You don't know?"; + mes "You don't know about the power of the dead in Niflheim during Halloween?"; + next; + mes "[Mighty Priest]"; + mes "It doesn't matter if just normal dead people came here..."; + next; + mes "[Mighty Priest]"; + mes "But the problem is... dangerous people are coming here too."; + next; + mes "[Mighty Priest]"; + mes "We priests have been given an order to capture all the dangerous one."; + next; + mes "[Mighty Priest]"; + mes "However, our forces are so limited. We're getting very exhausted."; + next; + mes "[Mighty Priest]"; + mes "Oh, right!!"; + mes "Could you maybe help me out?"; + next; + mes "[Mighty Priest]"; + mes "They would not damage you at all, "+(Sex ? "brother" : "sister")+"."; + mes "I would also give you a reward for the trouble."; + next; + mes "[Mighty Priest]"; + mes "What do you think?"; + mes "Do you want to help out this pitiful priest?"; + next; + if(select("Yes I want to help.", "No, I don't think so.") == 2) { + emotion e_sob, "Exhausted Priest#pron14hal"; + mes "[Mighty Priest]"; + mes "Well now..."; + mes "You could have said it more kindly... even if you don't want to..."; + next; + mes "[Mighty Priest]"; + mes "I'm sorry for disturbing you."; + mes "Excuse me while I go capture more dangerous dead people now."; + close; + } + mes "[Mighty Priest]"; + mes "Faith in humanity restored!!"; + mes "So, may I ask a favor of you?"; + next; + mes "[Mighty Priest]"; + mes "Can you find ^0000cdWandering Souls^000000 in the fields? They should not be here."; + next; + mes "[Mighty Priest]"; + mes "They got the fake skin to come to land of the living, so you don't have to capture them directly."; + next; + mes "[Mighty Priest]"; + mes "If you killed them, they will drop a Captured Soul. You need to bring the ^0000cdCaptured Souls^000000."; + mes "Also, if you kill any Black Souls, then you should bring ^0000cdBlack Souls^000000 too."; + next; + mes "[Mighty Priest]"; + mes "Let me see... since this is your first attempt, I want you to bring back only a small amount."; + mes "^0000cd3 Captured Souls, 1 Black Soul^000000!"; + mes "How is that? Can you do this??"; + next; + mes "[Mighty Priest]"; + mes "See you soon! I will wait for your return."; + close2; + setquest 14450; + end; + } + } +} + +alberta,114,66,5 duplicate(Hal14Priest) Exhausted Priest#albe14h 4_M_MINISTER +aldebaran,147,117,3 duplicate(Hal14Priest) Exhausted Priest#alde14h 4_M_MINISTER +geffen,123,75,3 duplicate(Hal14Priest) Exhausted Priest#gef14h 4_M_MINISTER +morocc,150,103,5 duplicate(Hal14Priest) Exhausted Priest#moc14h 4_M_MINISTER +payon,179,107,3 duplicate(Hal14Priest) Exhausted Priest#pay14h 4_M_MINISTER +prontera,156,194,3 duplicate(Hal14Priest) Exhausted Priest#pron14h 4_M_MINISTER +yuno,162,192,3 duplicate(Hal14Priest) Exhausted Priest#yuno14h 4_M_MINISTER + +//= Bolak +//============================================================================== +niflheim,196,185,3 script Bolak#14hal 4_M_DRAKE,{ + if (!checkweight("Orcish_Axe", 3)) { + mes "[Bolak]"; + mes "You have too many items."; + mes "Please come back after making space in your inventory!"; + close; + } + if (BaseLevel < 50) { + mes "[Bolak]"; + mes "Only dead people can be here."; + mes "Or someone strong..."; + next; + mes "[Bolak]"; + mes "It seems you are neither."; + close; + } else { + if (checkquest(14457) == 2) { + mes "[Bolak]"; + mes "Are you enjoying the festival?"; + mes "Maybe it's too hard for you to enjoy?"; + next; + mes "[Bolak]"; + mes "If you come back again later, come and find me."; + mes "I will give you a job."; + close; + } else if (checkquest(14457) == 1) { + mes "[Jack]"; + mes "Someone's coming!"; + next; + mes "[Bolak]"; + mes "Who?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "I came back!"; + next; + mes "[Bolak]"; + mes "Oh, have you arrived?"; + next; + mes "[Loru]"; + mes "You know, that guy, fake-dead man, he suddenly-"; + next; + mes "[Devi]"; + mes "Disappeared."; + next; + mes "[Loru]"; + mes "I was going to say that!"; + mes "Don't interrupt me when I'm speaking!"; + next; + mes "[Jack]"; + mes "I am wondering what have done-"; + next; + mes "[Bolak]"; + mes "Yeah, you've done it? Right??"; + next; + mes "[Nathan]"; + mes "Aww~"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Yes, I've had help from church this time as well."; + mes "His body is still alive. His soul is not supposed to come here yet."; + next; + mes "[Bolak]"; + mes "Huh, that is great!"; + next; + mes "[Nathan]"; + mes "Mama~"; + next; + mes "[Loru]"; + mes "Are you jealous??"; + next; + mes "[Bolak]"; + mes "No way!"; + next; + mes "[Jack]"; + mes "The suffering continues day in, and day out"; + next; + mes "[Bolak]"; + mes "I like this place, look how peaceful and joyful this place is!"; + next; + mes "[Devi]"; + mes "It seems like you're jealous."; + next; + mes "[Bolak]"; + mes "No, I said no! Anyway, maybe having hard time for good deed."; + next; + mes "["+strcharinfo(0)+"]"; + mes "By the way, that guy.. Richard? Why is he still here?"; + next; + mes "[Loru]"; + mes "Ah.. no need to bother."; + mes "Ah.. Bolak put that thing there, he feels like it is a bit weird without having Richard around here."; + next; + mes "[Devi]"; + mes "He complains that he's fake, but he seems to be attached to him a lot."; + next; + mes "[Jack]"; + mes "Hmm, it is weird-"; + next; + mes "[Bolak]"; + mes "Ah you know, look at us standing now, in a perfect circle."; + mes "If one person is missing, the shape would look weird!!!"; + next; + mes "[Loru]"; + mes "We would just need to move a bit..."; + mes "Don't make excuses."; + next; + mes "[Bolak]"; + mes "Stop saying nonsense!"; + mes "Hey! Give me something of yours!"; + next; + mes "[Loru]"; + mes "Why??"; + next; + mes "[Bolak]"; + mes "We, of course, need to give a reward to this person who had a hard time!"; + next; + mes "[Loru]"; + mes "Are you blackmailing us??"; + next; + mes "[Devi]"; + mes "I don't have much..."; + next; + mes "[Jack]"; + mes "Come empty.. return empty...-"; + next; + mes "[Nathan]"; + mes "Bba...bba..."; + next; + mes "[Bolak]"; + mes "Nathan you are okay, I will do it for you."; + mes "Hey, show what you have!"; + next; + mes "[Loru]"; + mes "The only thing I have is this. Take it."; + next; + mes "[Devi]"; + mes "Yeah, me too."; + next; + mes "[Bolak]"; + mes "Sorry to give you such a small gift, please take this as a sign of our gratitude."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Wow... I don't know what to say..."; + next; + mes "[Bolak]"; + mes "It's nothing special, just take it!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Thank you so much, see you around."; + next; + mes "[Loru]"; + mes "Hey, wait!"; + mes "Before you go, ^0000cdcome here and talk with me.^000000"; + next; + mes "[Devi]"; + mes "^0000cdYeah, talk with me as well!^000000"; + next; + mes "[Bolak]"; + mes "What are you guys going to talk about?!"; + next; + mes "[Jack]"; + mes "The suffering continues day in, and day out..."; + getitem 22838, 7; //Something_Candy_Holder + getitem 11592, 5; //Trans_Candy_Red + getitem 11593, 5; //Trans_Candy_Blue + getitem 11594, 5; //Trans_Candy_Yellow + getitem 11595, 5; //Trans_Candy_Green + completequest 14457; + setquest 14458; + setquest 14459; + close; + } else if (checkquest(14456) == 1 || checkquest(14455) == 1 || checkquest(14454) == 1) { + mes "[Bolak]"; + mes "How's it going with the thing?"; + mes "You are not going to run away, are you?"; + next; + mes "[Bolak]"; + mes "I prefer a person who has done their work well."; + mes "and don't want to be in chaos anymore."; + close; + } else if (checkquest(14453) == 1) { + if (countitem(6913) > 0) { + mes "["+strcharinfo(0)+"]"; + mes "Will this really work...?"; + next; + mes "[Jack]"; + mes "Something is coming.. something fierce..!"; + next; + mes "[Bolak]"; + mes "What is coming?"; + next; + mes "[Nathan]"; + mes "Aww!!!"; + next; + mes "[Bolak]"; + mes "Huh???"; + next; + mes "[Loru]"; + mes "Ah, There! There! that thing working off something weird spirit!"; + next; + mes "[Devi]"; + mes "Go away!! They've brought a ^0000cdhalidom^000000 to kill us!!!"; + mes "Go away!!!"; + emotion e_omg, 0, "Bolak#14hal"; + emotion e_an, 0, "Devi#14hal"; + emotion e_omg, 0, "Nathan#14hal"; + emotion e_omg, 0, "Loru#14hal"; + emotion e_what, 0, "Richard#14hal01"; + emotion e_omg, 0, "Jack#14hal"; + next; + mes "[Bolak]"; + mes "What is your intention bringing us a halidom?!"; + mes "I asked you to way to distinguish dead men with living one!! You are going to kill us!!!"; + next; + mes "[Jack]"; + mes "Dead men are already dead-"; + next; + mes "["+strcharinfo(0)+"]"; + mes "W..wait, there's a situation!!"; + mes "Calm down..!"; + next; + mes "[Nathan]"; + mes "Aww.... a..h.... bba..bba!!"; + next; + mes "[Bolak]"; + mes "Whatever situation it is, get that thing out of my sight!!"; + next; + mes "[Richard]"; + mes "What is going on? what happened?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "^0000cdThat man is a living man^000000!!!"; + mes "Living men don't react to a halidom!"; + next; + mes "[Loru]"; + mes "Anyway, get that thing out of my sight!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Okay."; + mes "I will get that thing away from here."; + specialeffect2 EF_SPRINKLESAND; + next; + mes "[Bolak]"; + mes "Much better."; + mes "Anyway, I knew this man was living!"; + next; + mes "[Loru]"; + mes "Well.. that's why he is a bit weird."; + mes "Are you showing off that you are living man?"; + next; + mes "[Devi]"; + mes "Execute him!!!"; + mes "Make him a dead man!!!"; + next; + mes "[Jack]"; + mes "Hey guys, let him talk."; + next; + mes "[Nathan]"; + mes "Mamang....."; + next; + mes "[Richard]"; + mes "This is unfair!!!"; + mes "I.. I came here yesterday!"; + next; + mes "[Richard]"; + mes "Ah... I... I... was dead..."; + mes "I died for sure... I came here... where strong warriors go..."; + next; + mes "[Richard]"; + mes "I died!! The fact that I am here is proof!"; + mes "Isn't that a fake halidom?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hey, calm down. Thaink clearly."; + next; + mes "[Richard]"; + mes "I was really a dead man..?"; + mes "But how come I died?"; + next; + mes "[Jack]"; + mes "He's speaking nonsense."; + next; + mes "[Bolak]"; + mes "Hey, Do you really think we believe in your poor acting?"; + mes "Do you think we haven't seen a guy like you?"; + next; + mes "[Richard]"; + mes "Really... it's true! Why would I lie to you guys?!"; + mes "I died!!! I'm dead... I came here yesterday!"; + next; + mes "[Jack]"; + mes "If you came here yesterday, there would be ^0000cdsomeone you might know in living man's country^000000, is that so?"; + next; + mes "[Bolak]"; + mes "True, if you were dead and came here yesterday, there must be, ^0000cdsomeone who knows about you^000000."; + mes "It will be more clear once we ask them."; + next; + mes "[Bolak]"; + mes "But in any case, I am not going to the world of the living."; + mes "Neither is Nathan."; + next; + mes "[Nathan]"; + mes "Da..d?"; + next; + mes "[Loru]"; + mes "Me neither."; + next; + mes "[Devi]"; + mes "Me neither!"; + next; + mes "[Richard]"; + mes "I won't go either! You guys just want to kick me out of this place!!!"; + next; + mes "[Jack]"; + mes "There may be someone we can ask a favor from..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Why... why are you guys looking at me like that?"; + next; + mes "[Bolak]"; + mes "I am sorry but, you should go there for us."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Why should I?"; + next; + mes "[Loru]"; + mes "Which makes more sense? A living soul goes to the world of the living, or a dead man?"; + next; + mes "[Devi]"; + mes "Totally."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hold on! I am here traveling."; + mes "I'm just trying to have fun!"; + next; + mes "[Jack]"; + mes "You will come here again anyway once you die..."; + next; + mes "[Nathan]"; + mes "Aww~"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hmm... it seems like I have no choice. I'll go, but where am I going?"; + next; + mes "[Richard]"; + mes "I... I... died."; + next; + mes "[Bolak]"; + mes "Hey, you are asking us where to go?"; + mes "Where did you live when you were alive?"; + next; + mes "[Jack]"; + mes "It's ruined..."; + next; + mes "[Richard]"; + mes "A cold place... snow all year long..."; + mes "^0000cdWarm place... behind Lutie Santa Clause..^000000"; + next; + mes "["+strcharinfo(0)+"]"; + mes "I will go find it."; + next; + mes "[Jack]"; + mes "Hey babe, I will be waiting for you~"; + next; + mes "[Loru]"; + mes "What kind of joke is that?"; + next; + mes "[Jack]"; + mes "Just kidding."; + delitem 6913, 1; //Sacred_Rosary + erasequest 14453; + setquest 14454; + close; + } else { + mes "[Bolak]"; + mes "Have you been there? Did you find a solution?"; + mes "What have you brought? Nothing?"; + next; + mes "[Bolak]"; + mes "How can you figure out? huh? Is there any way to figure out?"; + close; + } + } else if (checkquest(14452) == 1 || checkquest(14451) == 1) { + mes "[Bolak]"; + mes "Have you been there? did you find a solution?"; + next; + mes "[Jack]"; + mes "I saw... They didn't go any where, they've just been wandering around..."; + next; + mes "[Devi]"; + mes "Don't go to the cathedral but stay here."; + next; + mes "[Bolak]"; + mes "What are you talking about?"; + mes "Go there! I want to have fun at the festival!"; + close; + } else if (checkquest(14451) == -1) { + mes "[Bolak]"; + mes "Is that you?"; + next; + emotion e_an, 0, "Devi#14hal"; + mes "[Devi]"; + mes "I am not!!! ^0000cdI am not!!!^000000"; + mes "How dare you!"; + next; + mes "[Bolak]"; + mes "Then is that you?"; + next; + emotion e_pif, 0, "Richard#14hal01"; + mes "[Richard]"; + mes "Huh.. I think it's you. I am suspicious when I see someone fussing around all the time."; + next; + emotion e_ok, 0, "Loru#14hal"; + mes "[Loru]"; + mes "That is true!!!"; + next; + mes "[Bolak]"; + mes "It's impossible I am a dead man. I've been dead for ^0000cd568 years^000000!"; + mes "You've been with me this entire time! You know that."; + next; + mes "[Loru]"; + mes "You could be a 'fake'!"; + next; + mes "[Nathan]"; + mes "Da...d?"; + next; + mes "[Bolak]"; + mes "Nathan!! Even you doubt your own father?"; + mes "Come on!"; + next; + mes "[Nathan]"; + mes "Ma..ma...?"; + next; + mes "[Bolak]"; + mes "No, I am not your mother!"; + mes "I am your father!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "What is all this about?"; + next; + mes "[Loru]"; + mes "Wow, a living man! Isn't that him?"; + next; + mes "[Devi]"; + mes "No, he is different."; + next; + mes "[Bolak]"; + mes "Ah yeah, we can ask to him!"; + mes "As you can see, this place is ^0000cdthe land of the dead^000000."; + next; + mes "[Bolak]"; + mes "During this time of year, there's no boundary between the land of the living and the dead."; + mes "We can come and go freely, but only dead men are accepted here."; + mes "But a foreign substance has come."; + next; + mes "[Jack]"; + mes "We don't call people substances."; + next; + mes "[Devi]"; + mes "There is a ^0000cdliving man^000000 among us."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Who is that?"; + next; + mes "[Loru]"; + mes "If we knew, don't you think we would have done something?"; + next; + mes "[Bolak]"; + mes "Normally it is distinguishable. But we can't figure it out this time."; + mes "They all say they are dead men. I really can't find the truth."; + next; + mes "[Richard]"; + mes "It's really bizarre that a living man is in a group of dead men."; + next; + mes "[Nathan]"; + mes "Aww~"; + next; + mes "[Bolak]"; + mes "You are not, you are my son. I know you've been a dead man for ^0000cd568 years^000000. I know that."; + next; + mes "[Loru]"; + mes "How about that newbie, Richard...?"; + next; + mes "[Richard]"; + mes "No way... I don't have an arm! You are insulting me! I was fighting with ^0000cd17 men and died^000000!"; + next; + mes "[Devi]"; + mes "Hmm well, I have a doubt with Loru. You look like a ^0000cdliving man^000000. Don't you?"; + next; + mes "[Loru]"; + mes "What? Then you are definitely a dead man."; + mes "You look like such a mess."; + next; + mes "[Devi]"; + mes "Are you insulting me?"; + next; + mes "[Jack]"; + mes "Well... What do you think about me?"; + next; + mes "[Bolak]"; + mes "Hey! We've seen each other ^0000cdfor more than 500 years^000000. Come on."; + mes "You want to be a newbie?"; + next; + mes "[Jack]"; + mes "Nah... I am just saying it because nobody has mentioned me.."; + next; + mes "[Bolak]"; + mes "So who do you think is a living soul among us?"; + next; + switch(select("Bolak", "Jack", "Loru", "Devi", "Richard")) { + case 1: + mes "[Bolak]"; + mes "What? You think I am a living soul? This is so humiliating!"; + next; + mes "[Nathan]"; + mes "Da..d....?"; + next; + mes "[Bolak]"; + mes "Nathan, I told you already, I am your father!"; + next; + break; + case 2: + mes "[Jack]"; + mes "It's such an honor to be chosen as a living soul.."; + next; + mes "[Bolak]"; + mes "No! He's not! I can guarantee you!!!"; + next; + break; + case 3: + mes "[Loru]"; + mes "Wow, you are saying I am living soul? Do you think I look that attractive?"; + next; + mes "[Devi]"; + mes "Get away from me!!!!"; + next; + break; + case 4: + mes "[Devi]"; + mes "I am not a living soul!"; + next; + mes "[Loru]"; + mes "You really think Devi is living soul? haha!!"; + next; + break; + case 5: + mes "[Richard]"; + mes "Look at my arm!!!"; + next; + mes "[Jack]"; + mes "True... without his arm, he looks like a undead soul."; + next; + break; + } + mes "["+strcharinfo(0)+"]"; + mes "Hmm.. everyone.. please calm down."; + next; + mes "[Loru]"; + mes "We'll never reach a decision! Never!"; + next; + mes "[Devi]"; + mes "Halloween will be over by the time we finish arguing about this!"; + next; + mes "[Richard]"; + mes "Ah.. I expected so much from Halloween. It's my first Halloween."; + next; + mes "[Nathan]"; + mes "Mo..m....."; + next; + mes "[Bolak]"; + mes "Hey, you adventurer. You figure out how to distinguish ^0000cddead men with living men in living men's country^000000."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Me? why??"; + next; + mes "[Bolak]"; + mes "Because we don't want to leave here, and you know many things as you are a living soul."; + mes "You know many things about the ^0000cdCathedral^000000 as well."; + next; + mes "[Loru]"; + mes "Yeah that is true."; + next; + mes "[Devi]"; + mes "What? Cathedral? It will kill us all!!!!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hmm, okay then I will go and figure this out."; + next; + mes "[Nathan]"; + mes "D..ad..a..-"; + next; + mes "[Jack]"; + mes "Such a good boy. Look after yourself."; + setquest 14451; + close; + } else { + mes "[Bolak]"; + mes "Hmm. Some unpleasant smell..."; + mes "something unpleasant."; + close; + } + } +} + +//= Nathan +//============================================================================== +niflheim,195,183,1 script Nathan#14hal 4_LUDE,{ + mes "[Nathan]"; + mes "Ma?"; + mes "Dada!!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "How cute!!~"; + next; + mes "[Nathan]"; + mes "What are you looking at? Are you look down on me since I look like a baby?"; + next; + mes "[Nathan]"; + mes "I've been living here much more than you."; + next; + mes "[Nathan]"; + mes "Get your hands off and go away before I get really mad."; + close; +} + +//= Jack +//============================================================================== +niflheim,192,182,7 script Jack#14hal 4_JACK,{ + mes "[Jack]"; + mes "Come empty, return empty..."; + mes "The suffering continues, day in, day out."; + next; + mes "[Jack]"; + mes "Don't you want to have a peaceful life here?"; + close; +} + +//= Richard +//============================================================================== +niflheim,190,185,5 script Richard#14hal01 4_M_NFDEADSWDMAN,{ + if (checkquest(14457) > -1) { + mes "A doll which resembles Richard."; + } else { + mes "[Richard]"; + mes "Me having only one arm is like a badge of honor!"; + } + close; +} + +//= Loru +//============================================================================== +niflheim,194,189,3 script Loru#14hal 4_LOLI_RURI,{ + if (!checkweight("Orcish_Axe", 3)) { + mes "[Loru]"; + mes "Why are you carrying so much? If you have something good, give it to me~"; + mes "Or take these things out of my sight!"; + close; + } + if (checkquest(14464) == 1) { + if (!checkquest(14464, PLAYTIME)) { + mes "[Loru]"; + mes "Hmm, why do you come here?"; + mes "Time is not over yet?"; + next; + mes "[Loru]"; + mes "I told you to come again after a day."; + mes "Idiot!"; + close; + } else { + mes "[Loru]"; + mes "You've come here again."; + mes "Well.. can I ask you one more favor?"; + next; + if(select("Yes", "No") == 2) { + mes "[Loru]"; + mes "Yeah? okay."; + mes "I don't know why you can't accept my favor.."; + next; + mes "[Loru]"; + mes "Come visit me again if you are willing to accept my favor!"; + close; + } else { + if (BaseLevel < 100) { + mes "[Loru]"; + mes "Wow!!!"; + mes "I like you!! You accept all my favors!"; + next; + mes "[Loru]"; + mes "Then please hunt ^0000cd10 wandering soul^000000!"; + mes "Once you hunt them all, Niflheim comes along as well. get me 10 of them."; + next; + mes "[Loru]"; + mes "Thank you! I will wait for you!"; + erasequest 14464; + setquest 14460; + close; + } else { + mes "[Loru]"; + mes "Wow!!!"; + mes "I like you!! you accept all my favors!"; + next; + mes "[Loru]"; + mes "Please bring me ^0000cd 10 Red Scarf and 10 Hanging Doll!^000000?"; + mes "Thank you! I will wait for you!"; + erasequest 14464; + setquest 14461; + close; + } + } + } + } else { + if (checkquest(14461) == 1 || checkquest(14460) == 1) { + if (checkquest(14461) == 1) { + mes "[Loru]"; + mes "Hey you are here. How's going with what I asked??"; + mes "Huh? You are not going to disappoint me, aren't you?"; + next; + if (countitem(7216) > 9 && countitem(7212) > 9) { + mes "[Loru]"; + mes "Hmm, let me see.. wow!"; + mes "You bring all I asked?"; + next; + mes "[Loru]"; + mes "In additon, it looks more special and beautiful?"; + mes "You selected beautiful ones for me? huh??"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hmm.. no..t.. really..."; + next; + mes "[Loru]"; + mes "Haha, hey."; + mes "You can just say yes! Is did.?"; + next; + mes "[Loru]"; + mes "Anyway, thank you."; + mes "Here's your reward. Then, see you ^0000cd tomorrow^000000!."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Tomorrow? Again??"; + next; + mes "[Loru]"; + mes "Ah, you didn't know. Here, we give away decoration when people leave the party."; + mes "We should put new decoration everyday."; + next; + mes "["+strcharinfo(0)+"]"; + mes "I've never heard of it.."; + next; + mes "[Loru]"; + mes "Of course, you haven't. This place is dead man's country."; + mes "Keep what I said in your mind as you will come here someday. Bye!~"; + delitem 7216, 10; //Red_Scarf + delitem 7212, 10; //Hanging_Doll + getitem 11594, 10; //Trans_Candy_Yellow + getitem 11595, 10; //Trans_Candy_Green + erasequest 14461; + setquest 14464; + close; + } else { + mes "[Loru]"; + mes "You return empty-handed?"; + mes "Have you forgotten? or are you messing around with me??"; + next; + mes "[Loru]"; + mes "I want to have joyful and luxurious party~"; + mes "So, Please bring me ^0000cd 10 Red Scarf and 10 Hanging Doll^000000."; + close; + } + } else { + if (checkquest(14460, HUNTING) == 2) { + mes "[Loru]"; + mes "Wow~ Welcome!"; + mes "The party gets more excited, thank you!!"; + next; + mes "[Loru]"; + mes "Everyone seems to enjoy the most of it."; + mes "So.. I want to repay your effort."; + next; + mes "[Loru]"; + mes "It's not much but hope you like it! Then see you ^0000cdtomorrow^000000 again!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Tomorrow.. again??"; + next; + mes "[Loru]"; + mes "Yeah, when the party is over, everyone will leave."; + mes "They won't come again voluntarily, so we should make them. Then bye bye~"; + erasequest 14460; + setquest 14464; + getitem 11594, 10; //Trans_Candy_Yellow + getitem 11595, 10; //Trans_Candy_Green + close; + } else { + mes "[Loru]"; + mes "Why so early? You haven't done it yet?"; + mes "You forget what to do?"; + next; + mes "[Loru]"; + mes "^0000cd10 Wandering Soul!^000000"; + mes "The more people there is, the funnier party will be!"; + next; + mes "[Loru]"; + mes "Please go and find them."; + mes "They will be nice once you hit them a bit."; + close; + } + } + } else if (checkquest(14458) == 1) { + mes "[Loru]"; + mes "You didn't forget to come?"; + mes "Hey.. I have a favor to ask. You seem to be a good. Would you do my favor??"; + next; + if(select("Yes", "No") == 2) { + mes "[Loru]"; + mes "Then why do you come and talk to me?"; + mes "Go!! Go away!!!"; + close; + } else { + mes "[Loru]"; + mes "You know, everyone gets really excited because of Halloween?"; + mes "And people here are just gathering around and having fun."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Yes."; + next; + if (BaseLevel < 100) { + mes "[Loru]"; + mes "But people, who were supposed to have party together, have gone to living man's country."; + mes "You know, party is fun when there's many people. so... Could you bring them here."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Who? and how many??"; + next; + mes "[Loru]"; + mes "Oh, You do my favor?? ^0000cd10 Wandering Soul^000000!"; + mes "Once you hunt them all, Niflheim comes along as well. get me 10 of them."; + next; + mes "["+strcharinfo(0)+"]"; + mes "I can do that."; + next; + mes "[Loru]"; + mes "Thank you so much, i will wait for you!"; + erasequest 14458; + setquest 14460; + close; + } else { + mes "[Loru]"; + mes "Look around. It looks so empty."; + mes "Nobody would dance and have fun in a place like this?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "What can I do for you?"; + next; + mes "[Loru]"; + mes "^0000cd10 Red Scarf and 10 Hanging Doll^000000! Could you bring me all this??"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Are you decorating with those? Your taste... seems...."; + next; + mes "[Loru]"; + mes "What? Do you have any problem with that!"; + mes "You don't know nothing about latest trend. You've been living only for decades!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Sorry, I made a mistake."; + mes "So, 10 Red Scarf and 10 Hanging Doll, right??"; + next; + mes "[Loru]"; + mes "Yes! See you!!!"; + erasequest 14458; + setquest 14461; + close; + } + } + } else { + mes "[Loru]"; + mes "Hmm.. I am bored. How come it is so boring! It's Halloween?"; + mes "Boring! Boring!!!"; + close; + } + } +} + +//= Devi +//============================================================================== +niflheim,191,188,5 script Devi#14hal 4_DEVIRUCHI,{ + if (!checkweight("Orcish_Axe", 3)) { + mes "[Devi]"; + mes "Why do you carry so much? If you have something awesome, give it to me."; + mes "Otherwise, go and organize your inventory!"; + close; + } + if (checkquest(14465) == 1) { + if (!checkquest(14465, PLAYTIME)) { + mes "[Devi]"; + mes "Why? Do you have something to talk about?"; + mes "Hmm, It's not because of what I said yesterday, is it?"; + next; + mes "[Devi]"; + mes "Hey, a day hasn't passed yet"; + mes "I am not a living man but i know what 'a day' means?"; + next; + mes "[Devi]"; + mes "Come back again when you have time."; + close; + } else { + mes "[Devi]"; + mes "Oh, you again."; + mes "You are going to help me like you did yesterday, aren't you?"; + next; + mes "[Devi]"; + mes "That's why you are here for, right??"; + next; + if(select("Yes", "No") == 2) { + mes "[Devi]"; + mes "Yeah? Hmm.. okay."; + mes "Hmm.. it's a shame."; + next; + mes "[Devi]"; + mes "Not me, you! ."; + close; + } else { + mes "[Devi]"; + mes "It seems to be in the middle of chaos, today and yesterday as well."; + next; + if (BaseLevel < 100) { + mes "[Devi]"; + mes "You escape from here and bring troublemakers in living man's country."; + mes "I can't go anywhere as I am too busy."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Okay. I don't want dead men create chaos in living man's country."; + next; + mes "[Devi]"; + mes "You got it. Cool."; + mes "Then please bring ^0000cd 10 Dark Soul^000000. Once you hunt them, they will come here."; + next; + mes "[Devi]"; + mes "Thank you in advance."; + erasequest 14465; + setquest 14462; + close; + } else { + mes "[Devi]"; + mes "Please catch them. They are making a chaos."; + mes "I can't go anywhere as I am too busy."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Okay."; + next; + mes "[Devi]"; + mes "You got it. Cool."; + mes "Then, please bring ^0000cd20 Hylozoist and 20 Bloody Murderer^000000."; + next; + mes "[Devi]"; + mes "Thank you in advance."; + erasequest 14465; + setquest 14463; + close; + } + } + } + } else { + if (checkquest(14463) == 1 || checkquest(14462) == 1) { + mes "[Devi]"; + mes "Oh, it's you."; + mes "You come here earlier than I thought you would."; + next; + if (checkquest(14463) == 1) { + if (checkquest(14463, HUNTING) == 2) { + mes "[Devi]"; + mes "And you've done when you have to do perfectly."; + mes "Good, Very well done."; + next; + mes "[Devi]"; + mes "So, if you are not busy, please come again ^0000cdtomorrow^000000."; + mes "I want you to do this job."; + next; + mes "[Devi]"; + mes "Then, we will see again tomorrow."; + mes "See you."; + erasequest 14463; + setquest 14465; + getitem 11592, 10; //Trans_Candy_Red + getitem 11593, 10; //Trans_Candy_Blue + close; + } else { + mes "[Devi]"; + mes "But you haven't done what I asked as you rush too much?"; + mes "Take your time and get them."; + next; + mes "[Devi]"; + mes "^0000cd20 Hylozoist and 20 Bloody Murderer.^000000"; + mes "It's not a big deal, isn't it?"; + close; + } + } else { + if (checkquest(14462, HUNTING) == 2) { + mes "[Devi]"; + mes "And you've done when you have to do perfectly."; + mes "Good, Very well done."; + next; + mes "[Devi]"; + mes "So, if you are not busy, please come again ^0000cdtomorrow^000000."; + mes "I want you to do this job."; + next; + mes "[Devi]"; + mes "Then, we will see again tomorrow."; + mes "See you."; + erasequest 14462; + setquest 14465; + getitem 11592, 10; //Trans_Candy_Red + getitem 11593, 10; //Trans_Candy_Blue + close; + } else { + mes "[Devi]"; + mes "But you haven't done what I asked as you rush too much?"; + mes "Take your time and get them."; + next; + mes "[Devi]"; + mes "^0000cd10 Black Soul!^000000"; + mes "It's not a big deal, isn't it?"; + close; + } + } + } else if (checkquest(14459) == 1) { + mes "[Devi]"; + mes "Oh, you really came back. I didn't expect you to come."; + mes "I am just kidding, you know that"; + next; + mes "[Devi]"; + mes "Yes, I have one favor to ask."; + mes "Hope you don't reject it.."; + next; + if(select("Okay", "No, I want to reject.") == 2) { + mes "[Devi]"; + mes "Yeah? Hmm.. okay."; + mes "Hmm.. it's a shame."; + next; + mes "[Devi]"; + mes "Not me! you!"; + close; + } else { + mes "[Devi]"; + mes "Good, very good."; + mes "Apparently, I am kind of a leader here."; + next; + mes "[Devi]"; + mes "You know what it takes."; + mes "It's hard to control when there are too many people in a group."; + next; + if (BaseLevel < 100) { + mes "[Devi]"; + mes "You escape from here and bring troublemakers in living man's country."; + mes "I can't go anywhere as I am too busy."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Okay. I don't want dead men create chaos in living man's country."; + next; + mes "[Devi]"; + mes "You got it. Cool."; + mes "Then please bring ^0000cd 10 Dark Soul^000000. Once you hunt them, they will come here."; + next; + mes "[Devi]"; + mes "Thank you in advance."; + erasequest 14459; + setquest 14462; + close; + } else { + mes "[Devi]"; + mes "Please catch them. they are making a chaos."; + mes "I can't go anywhere as I am too busy."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Okay."; + next; + mes "[Devi]"; + mes "You got it. Cool."; + mes "Then, please bring ^0000cd20 Hylozoist and 20 Bloody Murderer^000000."; + next; + mes "[Devi]"; + mes "Thank you in advance."; + erasequest 14459; + setquest 14463; + close; + } + } + } else { + mes "[Devi]"; + mes "It's hard, really hard.."; + mes "whatever it is,, It is too hard."; + close; + } + } +} + +//= Bonfire +//============================================================================== +niflheim,193,186,6 script Bonfire Spirit#14hal 4_TRACE,{ + mes "[Bonfire Spirit]"; + mes "Ahahah! Don't touch me with such cold hands!!!"; + mes "Fire, fire might die!!!"; + close; + + OnInit: + initnpctimer; + end; + + OnEnable: + stopnpctimer; + initnpctimer; + end; + + OnTimer1000: + OnTimer3000: + OnTimer21000: + OnTimer23000: + OnTimer25000: + specialeffect EF_TORCH,AREA,"Bonfire Spirit#14hal"; + specialeffect EF_DRAGONSMOKE,AREA,"Bonfire Spirit#14hal"; + end; + + OnTimer5000: + OnTimer8000: + OnTimer10000: + OnTimer13000: + OnTimer14000: + OnTimer16000: + specialeffect EF_DRAGONSMOKE,AREA,"Bonfire Spirit#14hal"; + end; + + OnTimer19000: + npctalk "Oh, No! The fire is dying!!!! Fire!!!!!!!!!!!!"; + specialeffect EF_DRAGONSMOKE,AREA,"Bonfire Spirit#14hal"; + end; + + OnTimer20000: + specialeffect EF_SIGHTRASHER,AREA,"Bonfire Spirit#14hal"; + end; + + OnTimer27000: + donpcevent "Bonfire Spirit#14hal::OnEnable"; + end; +} + +//= Sister / Nun +//============================================================================== +prt_church,96,91,4 script Spiritual Sister#14hal 1_F_PRIEST,5,5,{ + if (!checkweight("Orcish_Axe", 3)) { + mes "[Spiritual Sister]"; + mes "What do you carry that so heavily? it looks really heavy."; + mes "When you come here you should empty your body and mind."; + close; + } + if (checkquest(14456) == 1) { + mes "[Sister Haley]"; + mes "Oh? Haven't you left yet?"; + mes "Did you forget what you need to prepare?"; + next; + mes "[Sister Haley]"; + mes "^0000cd1 of Leaf Of Yggdrasil and 1 Live Coal^000000 should be prepared and breathe in the smoke from burning leaves."; + mes "And never forget to pray to the soul to return."; + close; + } else if (checkquest(14455) == 1) { + mes "[Sister Haley]"; + mes "I hope all is well with everyone visiting here~"; + mes "Oh! Is it you, "+(Sex ? "brother" : "sister")+"? How is it going with the thing you need to do?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Well.. I could identify the live ones."; + next; + mes "[Sister Haley]"; + mes "I knew it! Any side effects?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "But then there was another problem."; + mes "This is the reason I came here.."; + next; + mes "[Sister Haley]"; + mes "Oh? What happen?"; + mes "Tell me anything!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "There was a person who did not react on the halidom, but he insisted that he is dead."; + mes "So I went the place he lived, the body is alive. Just in a comma."; + next; + mes "[I told her what happened in Niflheim and story I heard from Lutie.]"; + next; + mes "[Sister Haley]"; + mes "Oh, dear, I can't believe it!!"; + mes "Sometimes the soul is separated from the body if there was some big impact on the body, and ^0000cdsome spirits think they forget they are alive and move to the death's land^000000."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Is there anything I can do about?"; + next; + mes "[Sister Haley]"; + mes "Simple! "; + mes "Make them to realize that they have their living body."; + next; + mes "["+strcharinfo(0)+"]"; + mes "So, How.."; + mes "They believe they are dead, but I should talk to them to make them return?"; + next; + mes "[Sister Haley]"; + mes "Of course not. There are secret method in this church."; + mes "We have been trough lots of stuff, we have all kinds of solution."; + next; + mes "["+strcharinfo(0)+"]"; + mes "So How.."; + next; + mes "[Sister Haley]"; + mes "You know Leaf Of Yggdrasil is good for resurrection?"; + mes "Leaf Of Yggdrasil is a leaf from Yggdrasil and has a strong power of life."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Well, that is like common sense, so just tell me the materials and method to do that.."; + next; + mes "[Sister Haley]"; + mes "There is nothing else than Leaf of Yggdrasil to resurrect the character."; + mes "Even our priest used Leaf Of Yggdrasil!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "So, I mean! Tell me the material I need and the method!"; + next; + mes "[Sister Haley]"; + mes "Oh.. my my."; + mes "I just want to explain you how good it is."; + next; + mes "[Sister Haley]"; + mes "The material and the method is quite simple."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Yes, I like simple thing, so tell me briefly."; + next; + mes "[Sister Haley]"; + mes "^0000cd1 Leaf Of Yggdrasil and 1 live Coal^000000 are what you need."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Only that?"; + next; + mes "[Sister Haley]"; + mes "Of course not~ ^0000cdyour prayer^000000 that is so desperate to bring the soul near death to here!"; + mes "Bring these 3 things and burn the Leaf Of Yggdrasil."; + next; + mes "[Sister Haley]"; + mes "Once they breathe in the smoke, they will remember where their bodies are and come back to real life."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Is that all?"; + next; + mes "[Sister Haley]"; + mes "Yes. Indeed~"; + mes "One think you must remember: The longer the soul left their body, the less chance he will get to come back."; + next; + mes "["+strcharinfo(0)+"]"; + mes "You should have told me earlier!"; + next; + mes "[Sister Haley]"; + mes "When you need my help, come and visit me anytime~"; + erasequest 14455; + setquest 14456; + close; + } else if (checkquest(14454) == 1) { + mes "[Sister Haley]"; + mes "Did you experience the holy Rosary effect?"; + mes "We often use it since it is simple. Of course, it make evils not to approach."; + close; + } else if (checkquest(14453) == 1) { + mes "[Sister Haley]"; + mes "How is it? the holy Rosary?"; + mes "did you use it?"; + next; + mes "[Sister Haley]"; + mes "If you have any problem, please come to me any time."; + close; + } else if (checkquest(14452) == 1) { + if ((countitem(2626) > 0 || countitem(2608) > 0) && countitem(523) > 5) { + mes "[Sister Haley]"; + mes "Did you prepare all?"; + mes "Even if you hide it, I can see it~"; + next; + mes "[Sister Haley]"; + mes "Well.. 1 Rosary and.... 6 Holy.. Water.."; + mes "Oops, you spilled the holy water little bit. but that is fine."; + next; + mes "[Sister Haley]"; + mes "This is enough. I can make it soon."; + mes "Odin Crystal power! with Holy light!!!!"; + next; + specialeffect EF_HOLYHIT,AREA,"Spiritual Sister#14hal"; + mes "[Sister Haley]"; + mes "Whoa~ It's done."; + mes "Hold ^0000cd this in your pocket^000000 and go to the crowd with live and dead ones, you will see who is dead or live."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Is that it? Awesome."; + mes "But.. Um.. you know.. is.. it affecting to me.. like in bad way?"; + next; + mes "[Sister Haley]"; + mes "Of course not!"; + mes "if ^0000cdHoly Rosary^000000 were a dangerous stuff, we would not be alive."; + next; + mes "[Sister Haley]"; + mes "But, for those who are dead.. oh! I don't mean it's deadly threat, but it will give them little bit of pain."; + mes "So use it carefully not to damage the good dead people."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ok."; + mes "Thank you for making this!"; + next; + mes "[Sister Haley]"; + mes "No worries!"; + mes "Please come back again if you need my help!"; + if (countitem(2608) > 0) + delitem 2608, 1; //Rosary + else + delitem 2626, 1; //Rosary_ + delitem 523, 6; //Holy_Water + getitem 6913, 1; //Sacred_Rosary + erasequest 14452; + setquest 14453; + close; + } else { + mes "[Sister Haley]"; + mes "Did you prepare all?"; + mes "Even if you hide it, I can see it~"; + next; + mes "[Sister Haley]"; + mes "Oh, Look. You are not ready."; + mes "Please bring ^0000cd 1 Rosary and 6 Holy Water^000000."; + next; + mes "[Sister Haley]"; + mes "With our church's secret, I will make more holy halidom."; + close; + } + } else if (checkquest(14451) == 1) { + mes "[Sister Haley]"; + mes "I hope all is well with everyone visiting here~"; + mes "What makes you come here, "+(Sex ? "brother" : "sister")+"?"; + next; + mes "[I told her what happened in Nifflheim.]"; + next; + mes "["+strcharinfo(0)+"]"; + mes "So I came here."; + mes "But, I cannot tell who is dead and who is alive, is there any way ^0000cdto check that^000000?"; + next; + mes "[Sister Haley]"; + mes "Of course, there is. Very ^0000cdgood method^000000!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Really? I was not sure if I found the right place."; + mes "I think I found well!"; + next; + mes "[Sister Haley]"; + mes "We study everything to make dead and live ones to peace."; + mes "There is secret way to do that, it kept secretly in our church."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Tell me the way.."; + next; + mes "[Sister Haley]"; + mes "That is simple! Make ^0000cdspecial halidom^000000!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "S, so how..?"; + next; + mes "[Sister Haley]"; + mes "How you make it? Bring ^0000cd1 Rosary and 6 Holy Water^000000 to me."; + mes "Then I will make it for you. It's simple"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Y, yes!!"; + erasequest 14451; + setquest 14452; + close; + } else { + mes "[Sister Haley]"; + mes "I hope all is well with everyone visiting here~"; + close; + } + + OnTouch: + if (checkquest(14451) == 1) { + mes "[Sister Haley]"; + mes "I hope all is well with everyone visiting here~"; + mes "If anyone needs help, please come to me~ I will do my best to help you."; + close; + } + end; +} + +//= Richard's Wife +//============================================================================== +xmas_in,160,175,1 script Worried Wife#14hal 4_F_05,{ + if (checkquest(14456) == 1) { + if (countitem(610) > 0 && countitem(7098) > 0) { + mes "[Richard's Daughter]"; + mes "Dad, Dad~ Wake up! It's time to wake up!"; + mes "I even made the stew for you. Wake and eat it."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Everyone, I am here."; + next; + mes "[Richard's Wife]"; + mes "Oh, dear, Adventurer! Welcome!"; + mes "Did you find the way to make him back?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Yes! But I need your help to do this."; + next; + mes "[Richard's Wife]"; + mes "How can I help you?"; + mes "I will do my best to do it!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Just pray hard to get him back."; + next; + mes "[Richard's Daughter]"; + mes "I will do it!"; + mes "I can do it!!!"; + next; + mes "[Richard's Wife]"; + mes "I will pray hard!"; + mes "Please!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Well, So I will burn.. this."; + specialeffect2 EF_TORCH; + sleep2 1000; + specialeffect2 EF_SMOKE; + sleep2 1000; + specialeffect2 EF_SMOKE; + sleep2 1000; + specialeffect2 EF_SMOKE; + next; + mes "["+strcharinfo(0)+"]"; + mes "It's almost ran out.. Why not he wakes up.."; + mes "Oh!!"; + specialeffect EF_RESURRECTION,AREA,"Richard#14hal02"; + next; + mes "[Richard]"; + mes "Uhh.. umm.."; + mes "My arm.. ugh.."; + emotion e_an, 0, "Richard#14hal02"; + next; + mes "[Richard's Wife]"; + mes "Honey!! Can you see me?"; + next; + mes "[Richard's Daughter]"; + mes "Dad! is it you?"; + mes "Are you really my dad? Are you alright?"; + next; + mes "[Richard]"; + mes "I, I was dead.. where.."; + mes "I was dead.. .."; + next; + mes "[Richard's Wife]"; + mes "You didn't die!"; + mes "This is your house! It's your daughter and I!"; + next; + mes "[Richard's Daughter]"; + mes "Dad! Your home!"; + next; + mes "[Richard]"; + mes "H.. ome..? Home..?"; + mes "Am.. I.. alive..?"; + next; + mes "[Richard's Wife]"; + mes "What?"; + mes "Maybe.. it's like.. a side effect..?"; + next; + mes "[Richard's Daughter]"; + mes "Dad!!!"; + specialeffect EF_SONICBLOWHIT,AREA,"Richard#14hal02"; + next; + mes "[Richard]"; + mes "O, Ouch!!!"; + mes "I told you not to hit me!"; + next; + mes "[Richard's Daughter]"; + mes "Do you really see me now?"; + mes "It's your home!"; + next; + mes "[Richard]"; + mes "Home.. home!!!"; + mes "What.. what about my arm??"; + next; + mes "[Richard's Wife]"; + mes "You have been injured, but it's okay."; + mes "I am so happy that you are awake! Really.."; + next; + mes "[Richard]"; + mes "I.. came back."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Thank God. Seriously."; + mes "It would have been really dangerous if I was a little late."; + next; + mes "[Richard]"; + mes "You saved me?"; + mes "Thank you! Thank you!"; + next; + mes "[Richard's Daughter]"; + mes "Dad! Mom and I also helped!!"; + next; + mes "[Richard]"; + mes "Yes, yes. You and your mom are the best!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "You can go to Niflheim later."; + mes "Why were you in a rush? You have a family."; + next; + mes "[Richard]"; + mes "I know. How could I forget my family?"; + mes "Anyway I could not even say good bye when I leave.."; + next; + mes "["+strcharinfo(0)+"]"; + mes "I will go and send your regards."; + next; + mes "[Richard]"; + mes "Thank you so much!"; + next; + mes "[Richard's Wife]"; + mes "I am really appreciated. There is no words to thank you on this."; + next; + mes "[Richard's Daughter]"; + mes "Thank you!"; + delitem 7098, 1; //Live_Coal + delitem 610, 1; //Leaf_Of_Yggdrasil + erasequest 14456; + setquest 14457; + close; + } else { + mes "[Richard's Daughter]"; + mes "Dad, Dad~ Wake up! It's time to wake up!"; + mes "I even made the stew for you. Wake and eat it."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Everyone, I am here."; + next; + mes "[Richard's Wife]"; + mes "Oh, dear, Adventurer! Welcome!"; + mes "Did you find a way to bring him back?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Yes! Oh, w.wait.."; + mes "There is something missing. I will get it and come back."; + close; + } + } else if (checkquest(14455) == 1) { + mes "[Richard's Wife]"; + mes "How was the meeting with the sister in Prontera?"; + mes "My sweet heart.. can he come back?"; + close; + } else if (checkquest(14454) == 1) { + mes "["+strcharinfo(0)+"]"; + mes "If it's correct, it should be around here.."; + next; + mes "[Richard's Wife]"; + mes "Honey, Wake up."; + mes "It's.. time to wake up."; + emotion e_sob, 0, "Worried Wife#14hal"; + next; + mes "[Richard's Daughter]"; + mes "Dad, I want to see your eyes."; + mes "Play with me~"; + emotion e_sob, 0, "Worried Daughter#14hal"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hi, Is this Richard's house?"; + mes "I think I am right.."; + next; + mes "[Richard's Wife]"; + mes "Who is this?"; + next; + mes "[Richard's Daughter]"; + mes "Who..?"; + next; + mes "[Richard's Wife]"; + mes "Did you find my husband?"; + mes "But he is right now.. he hasn't waken up since after the accident.."; + next; + mes "["+strcharinfo(0)+"]"; + mes "So, he is still alive?"; + mes "And.. his... arm is attached to his body?"; + next; + mes "[Richard's Wife]"; + mes "Huh? Of course.. he is badly injured but ^0000cddidn't lose his arm.^000000"; + mes "But for some reason ^0000cdhe won't wake up.^000000"; + next; + mes "[Richard's Daughter]"; + mes "How can you treat my ^0000cdliving dad^000000 as if he is dead?!"; + mes "You're mean!"; + next; + mes "[Richard's Wife]"; + mes "Is there anything I can help you with..?"; + mes "You seem to know my husband.. Do you know something?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "I think we should find out why he is like this."; + next; + mes "[Richard's Wife]"; + mes "He used to be a swordsman. He had a dream to become the best swordsman in the world."; + mes "But he met me and we had a daughter, so he had to leave his dream for awhile."; + next; + mes "[Richard's Wife]"; + mes "Here, he fixes train rails."; + mes "Whether it is used or not, he did his best."; + next; + mes "[Richard's Wife]"; + mes "But the weather here isn't good."; + mes "There was snow storm coming, and he fell off from the rail."; + next; + mes "[Richard's Wife]"; + mes "I told him not to go, but he eventually went there and did not come back for long time."; + mes "and then.."; + next; + mes "[Richard's Wife]"; + mes "Luckily he only injured his arm, but otherwise he was fine."; + mes "But for some reason, he is not waking up."; + mes "The doctor said it's nothing but a concussion and that he'll wake up soon.."; + next; + mes "["+strcharinfo(0)+"]"; + mes "I see."; + mes "His soul is in Niflhiem. He thinks he is dead."; + next; + mes "[Richard's Daughter]"; + mes "^0000cdNiflhiem?!^000000"; + mes "The strong dead soldier's land?!"; + next; + mes "[Richard's Wife]"; + mes "Oh my god.. Niflhiem.. He always said he want to go there after he died.."; + next; + mes "[Richard's Wife]"; + mes "He wanted to be a swordsman.. He must have wanted it so deeply."; + mes "He never showed it to us.."; + next; + mes "["+strcharinfo(0)+"]"; + mes "It seems he went there even though he is not dead."; + mes "Something must be wrong."; + next; + mes "[Richard's Wife]"; + mes "Can.. can he come back?"; + mes "He is still alive here.."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hmm.. what should I do..?"; + mes "Oh, yes! I should go to ^0000cdProntera Church^000000."; + next; + mes "[Richard's Daughter]"; + mes "Prontera?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "There is ^0000cda nun I get help from sometimes^000000, I should ask if she can help me."; + next; + mes "[Richard's Wife]"; + mes "Please bring him back."; + mes "Please."; + erasequest 14454; + setquest 14455; + close; + } else { + mes "[Richard's Wife]"; + mes "My sweet heart, you are the best husband and dad ever."; + mes "I hope he can smile again."; + close; + } +} + +//= Richard's Daughter +//============================================================================== +xmas_in,163,178,3 script Worried Daughter#14hal 4_F_NFLOSTGIRL,{ + mes "[Richard's Daughter]"; + if (checkquest(14457) == 1 || checkquest(14457) == 2) { + mes "Thank you for helping my dad and mom."; + mes "You really are a nice person."; + } else if (checkquest(14456) == 1 || checkquest(14455) == 1) { + mes "Can you fix my dad if you go prontera?"; + mes "I wish he could wake up again."; + } else if (checkquest(14454) == 1) { + mes "My dad.. he won't wake up."; + mes "We are waiting for him to wake up..."; + } else { + mes "Dad, wake up and play with me~"; + mes "I even made a paper doll for you."; + } + close; +} + +//= Richard +//============================================================================== +xmas_in,160,178,3 script Richard#14hal02 4_M_DIEMAN,{ + mes "[Richard]"; + if (checkquest(14457) == 2) { + mes "I am happy to hear that everyone is doing well."; + mes "I am doing good here as well with my wife and daughter. Thank god to be alive."; + } else if (checkquest(14457) == 1) { + mes "Please send my regards to everyone in Niflheim."; + mes "I feel like I messed up."; + } else { + mes "......"; + mes "......"; + } + close; +} + +//= Event Monsters +//============================================================================== +gld_dun01_2,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gld_dun02_2,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gld_dun03_2,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gld_dun04_2,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gld2_ald,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gld2_gef,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gld2_pay,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gld2_prt,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +lhz_dun04,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +iz_dun05,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +mal_dun01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +dic_dun03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +dew_fild01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +dew_dun01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +dew_dun02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +mal_dun01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +iz_dun05,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +man_fild01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +man_fild03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +spl_fild02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +spl_fild03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +man_fild02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +spl_fild01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +nyd_dun01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +bra_fild01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +bra_dun01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +bra_dun02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +dic_fild01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +dic_fild02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +dic_dun01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +dic_dun02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +bif_fild01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +bif_fild02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +abbey01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +abbey02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +abbey03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +abyss_01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +abyss_02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +abyss_03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +alde_dun01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +alde_dun02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +alde_dun03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +alde_dun04,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ama_dun01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ama_dun02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ama_dun03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ama_fild01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +anthell01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +anthell02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ayo_dun01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ayo_dun02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ayo_fild01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ayo_fild02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +beach_dun,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +beach_dun2,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +beach_dun3,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +c_tower1,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +c_tower2,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +c_tower3,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +c_tower4,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +cmd_fild01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +cmd_fild02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +cmd_fild03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +cmd_fild04,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +cmd_fild06,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +cmd_fild07,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +cmd_fild08,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +cmd_fild09,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ein_dun01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ein_dun02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ein_fild03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ein_fild04,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ein_fild05,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ein_fild06,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ein_fild07,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ein_fild08,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ein_fild09,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gef_dun00,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gef_dun01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gef_dun02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gef_fild00,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gef_fild01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gef_fild02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gef_fild03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gef_fild04,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gef_fild05,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gef_fild06,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gef_fild07,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gef_fild08,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gef_fild09,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gef_fild10,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gef_fild11,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gef_fild13,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gefenia01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gefenia02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gefenia03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gefenia04,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gl_cas01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gl_cas02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gl_church,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gl_chyard,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gl_dun01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gl_dun02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gl_in01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gl_knt01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gl_knt02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gl_prison,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gl_prison1,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gl_sew01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gl_sew02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gl_sew03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gl_sew04,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gl_step,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +glast_01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gon_dun01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gon_dun02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gon_dun03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gon_fild01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +hu_fild01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +hu_fild02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +hu_fild04,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +hu_fild05,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +hu_fild06,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ice_dun01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ice_dun02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ice_dun03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +in_sphinx1,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +in_sphinx2,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +in_sphinx3,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +in_sphinx4,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +in_sphinx5,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +iz_dun00,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +iz_dun01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +iz_dun02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +iz_dun03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +iz_dun04,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +jupe_core,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +juperos_01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +juperos_02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +kh_dun01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +kh_dun02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +lhz_dun01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +lhz_dun02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +lhz_dun03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +lhz_fild01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +lhz_fild02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +lhz_fild03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +lou_dun01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +lou_dun02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +lou_dun03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +lou_fild01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +mag_dun01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +mag_dun02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +man_fild02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +mjo_dun01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +mjo_dun02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +mjo_dun03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +mjolnir_01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +mjolnir_02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +mjolnir_03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +mjolnir_04,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +mjolnir_05,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +mjolnir_06,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +mjolnir_07,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +mjolnir_08,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +mjolnir_09,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +mjolnir_10,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +mjolnir_11,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +mjolnir_12,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +moc_fild01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +moc_fild02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +moc_fild03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +moc_fild04,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +moc_fild05,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +moc_fild06,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +moc_fild07,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +moc_fild08,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +moc_fild09,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +moc_fild10,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +moc_fild11,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +moc_fild12,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +moc_fild13,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +moc_fild14,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +moc_fild15,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +moc_fild16,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +moc_fild17,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +moc_fild18,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +moc_pryd01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +moc_pryd02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +moc_pryd03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +moc_pryd04,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +moc_pryd05,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +moc_pryd06,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +nameless_n,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +nif_fild01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +nif_fild02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +nyd_dun01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +odin_tem01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +odin_tem02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +odin_tem03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +orcsdun01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +orcsdun02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +pay_dun00,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +pay_dun01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +pay_dun02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +pay_dun03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +pay_dun04,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +pay_fild01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +pay_fild02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +pay_fild03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +pay_fild04,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +pay_fild06,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +pay_fild07,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +pay_fild08,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +pay_fild09,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +pay_fild10,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +prt_fild00,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +prt_fild01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +prt_fild02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +prt_fild03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +prt_fild04,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +prt_fild05,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +prt_fild06,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +prt_fild07,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +prt_fild08,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +prt_fild09,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +prt_fild10,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +prt_fild11,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +prt_maze01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +prt_maze02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +prt_maze03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +prt_sewb1,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +prt_sewb2,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +prt_sewb3,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ra_fild01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ra_fild03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ra_fild04,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ra_fild05,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ra_fild06,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ra_fild08,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ra_fild12,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ra_san01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ra_san02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ra_san03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ra_san04,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ra_san05,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +spl_fild01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +tha_t01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +tha_t02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +tha_t03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +tha_t04,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +tha_t05,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +tha_t06,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +tha_t07,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +tha_t08,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +tha_t09,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +tha_t10,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +tha_t11,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +tha_t12,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +thor_v01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +thor_v02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +thor_v03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +treasure01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +treasure02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +tur_dun01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +tur_dun02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +tur_dun03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +tur_dun04,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +um_fild01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +um_fild02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +um_fild03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +um_fild04,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ve_fild01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ve_fild02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ve_fild03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ve_fild04,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ve_fild05,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ve_fild07,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +xmas_dun01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +xmas_dun02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +xmas_fild01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +yuno_fild01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +yuno_fild02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +yuno_fild03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +yuno_fild04,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +yuno_fild06,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +yuno_fild07,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +yuno_fild08,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +yuno_fild09,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +yuno_fild10,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +yuno_fild12,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ecl_fild01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ecl_tdun01,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ecl_tdun02,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ecl_tdun03,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +ecl_tdun04,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +moc_prydn1,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +moc_prydn2,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +prt_fild08a,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +prt_fild08b,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +prt_fild08c,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +prt_fild08d,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gl_chyard_,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gl_cas02_,0,0,0,0 monster Dark Soul 3381,2,5000,0,0 +gld_dun01_2,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gld_dun02_2,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gld_dun03_2,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gld_dun04_2,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gld2_ald,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gld2_gef,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gld2_pay,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gld2_prt,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +lhz_dun04,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +iz_dun05,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +mal_dun01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +dic_dun03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +dew_fild01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +dew_dun01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +dew_dun02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +mal_dun01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +iz_dun05,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +man_fild01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +man_fild03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +spl_fild02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +spl_fild03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +man_fild02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +spl_fild01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +nyd_dun01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +bra_fild01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +bra_dun01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +bra_dun02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +dic_fild01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +dic_fild02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +dic_dun01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +dic_dun02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +bif_fild01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +bif_fild02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +abbey01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +abbey02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +abbey03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +abyss_01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +abyss_02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +abyss_03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +alde_dun01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +alde_dun02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +alde_dun03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +alde_dun04,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ama_dun01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ama_dun02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ama_dun03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ama_fild01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +anthell01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +anthell02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ayo_dun01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ayo_dun02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ayo_fild01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ayo_fild02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +beach_dun,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +beach_dun2,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +beach_dun3,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +c_tower1,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +c_tower2,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +c_tower3,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +c_tower4,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +cmd_fild01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +cmd_fild02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +cmd_fild03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +cmd_fild04,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +cmd_fild06,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +cmd_fild07,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +cmd_fild08,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +cmd_fild09,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ein_dun01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ein_dun02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ein_fild03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ein_fild04,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ein_fild05,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ein_fild06,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ein_fild07,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ein_fild08,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ein_fild09,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gef_dun00,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gef_dun01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gef_dun02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gef_fild00,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gef_fild01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gef_fild02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gef_fild03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gef_fild04,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gef_fild05,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gef_fild06,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gef_fild07,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gef_fild08,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gef_fild09,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gef_fild10,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gef_fild11,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gef_fild13,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gefenia01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gefenia02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gefenia03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gefenia04,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gl_cas01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gl_cas02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gl_church,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gl_chyard,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gl_dun01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gl_dun02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gl_in01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gl_knt01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gl_knt02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gl_prison,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gl_prison1,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gl_sew01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gl_sew02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gl_sew03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gl_sew04,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gl_step,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +glast_01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gon_dun01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gon_dun02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gon_dun03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gon_fild01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +hu_fild01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +hu_fild02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +hu_fild04,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +hu_fild05,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +hu_fild06,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ice_dun01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ice_dun02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ice_dun03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +in_sphinx1,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +in_sphinx2,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +in_sphinx3,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +in_sphinx4,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +in_sphinx5,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +iz_dun00,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +iz_dun01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +iz_dun02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +iz_dun03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +iz_dun04,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +jupe_core,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +juperos_01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +juperos_02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +kh_dun01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +kh_dun02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +lhz_dun01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +lhz_dun02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +lhz_dun03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +lhz_fild01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +lhz_fild02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +lhz_fild03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +lou_dun01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +lou_dun02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +lou_dun03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +lou_fild01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +mag_dun01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +mag_dun02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +man_fild02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +mjo_dun01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +mjo_dun02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +mjo_dun03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +mjolnir_01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +mjolnir_02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +mjolnir_03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +mjolnir_04,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +mjolnir_05,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +mjolnir_06,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +mjolnir_07,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +mjolnir_08,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +mjolnir_09,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +mjolnir_10,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +mjolnir_11,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +mjolnir_12,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +moc_fild01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +moc_fild02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +moc_fild03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +moc_fild04,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +moc_fild05,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +moc_fild06,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +moc_fild07,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +moc_fild08,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +moc_fild09,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +moc_fild10,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +moc_fild11,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +moc_fild12,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +moc_fild13,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +moc_fild14,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +moc_fild15,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +moc_fild16,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +moc_fild17,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +moc_fild18,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +moc_pryd01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +moc_pryd02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +moc_pryd03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +moc_pryd04,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +moc_pryd05,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +moc_pryd06,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +nameless_n,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +nif_fild01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +nif_fild02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +nyd_dun01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +odin_tem01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +odin_tem02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +odin_tem03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +orcsdun01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +orcsdun02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +pay_dun00,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +pay_dun01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +pay_dun02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +pay_dun03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +pay_dun04,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +pay_fild01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +pay_fild02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +pay_fild03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +pay_fild04,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +pay_fild06,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +pay_fild07,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +pay_fild08,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +pay_fild09,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +pay_fild10,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +prt_fild00,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +prt_fild01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +prt_fild02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +prt_fild03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +prt_fild04,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +prt_fild05,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +prt_fild06,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +prt_fild07,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +prt_fild08,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +prt_fild09,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +prt_fild10,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +prt_fild11,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +prt_maze01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +prt_maze02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +prt_maze03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +prt_sewb1,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +prt_sewb2,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +prt_sewb3,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ra_fild01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ra_fild03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ra_fild04,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ra_fild05,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ra_fild06,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ra_fild08,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ra_fild12,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ra_san01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ra_san02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ra_san03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ra_san04,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ra_san05,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +spl_fild01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +tha_t01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +tha_t02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +tha_t03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +tha_t04,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +tha_t05,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +tha_t06,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +tha_t07,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +tha_t08,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +tha_t09,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +tha_t10,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +tha_t11,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +tha_t12,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +thor_v01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +thor_v02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +thor_v03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +treasure01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +treasure02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +tur_dun01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +tur_dun02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +tur_dun03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +tur_dun04,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +um_fild01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +um_fild02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +um_fild03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +um_fild04,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ve_fild01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ve_fild02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ve_fild03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ve_fild04,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ve_fild05,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ve_fild07,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +xmas_dun01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +xmas_dun02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +xmas_fild01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +yuno_fild01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +yuno_fild02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +yuno_fild03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +yuno_fild04,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +yuno_fild06,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +yuno_fild07,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +yuno_fild08,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +yuno_fild09,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +yuno_fild10,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +yuno_fild12,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ecl_fild01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ecl_tdun01,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ecl_tdun02,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ecl_tdun03,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +ecl_tdun04,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +moc_prydn1,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +moc_prydn2,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +prt_fild08a,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +prt_fild08b,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +prt_fild08c,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +prt_fild08d,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gl_chyard_,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 +gl_cas02_,0,0,0,0 monster Wandering Soul 3382,2,5000,0,0 diff --git a/re/guides/guides_eclage.txt b/re/guides/guides_eclage.txt index 1842a85..4d456d5 100644 --- a/re/guides/guides_eclage.txt +++ b/re/guides/guides_eclage.txt @@ -12,7 +12,7 @@ //= 1.0 First version. [Euphy] //============================================================ -ecl_in01,48,60,4 script Eclage Guard#obb 447,{ +ecl_in01,48,60,5 script Eclage Guard#obb 447,{ mes "[Eclage Guard]"; mes "Welcome, Adventurer. This is the plaza of Eclage, a great and sacred tree. How can I help you?"; next; diff --git a/re/guides/guides_izlude.txt b/re/guides/guides_izlude.txt index 3eb3729..0dccf25 100644 --- a/re/guides/guides_izlude.txt +++ b/re/guides/guides_izlude.txt @@ -205,5 +205,3 @@ izlude_a,133,113,4 duplicate(GuideIzlude) Guide#02izlude_a 105 izlude_b,133,113,4 duplicate(GuideIzlude) Guide#02izlude_b 105 izlude_c,133,113,4 duplicate(GuideIzlude) Guide#02izlude_c 105 izlude_d,133,113,4 duplicate(GuideIzlude) Guide#02izlude_d 105 - -//izlude,120,206,4 duplicate(GuideIzlude) Guide#03izlude 105 diff --git a/re/guides/guides_payon.txt b/re/guides/guides_payon.txt index 670da11..ca0224f 100644 --- a/re/guides/guides_payon.txt +++ b/re/guides/guides_payon.txt @@ -178,8 +178,8 @@ payon,163,64,3 script Guide#01payon::GuidePayon 708,{ case 4: mes "[Payon Guide]"; mes "Enjoy your stay."; - close; - cutin "pay_soldier",255; + close2; + cutin "",255; end; } } @@ -287,7 +287,7 @@ pay_arche,86,33,4 script Guide#05payon 708,{ mes "[Payon Guide]"; mes "Enjoy your stay."; close2; - cutin "pay_soldier",255; + cutin "",255; end; } } diff --git a/re/instances/BakonawaLake.txt b/re/instances/BakonawaLake.txt index e51dd52..406db34 100644 --- a/re/instances/BakonawaLake.txt +++ b/re/instances/BakonawaLake.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Euphy //===== Current Version: ===================================== -//= 1.1 +//= 1.2 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -13,8 +13,11 @@ //===== Additional Comments: ================================= //= 1.0 First version. [Euphy] //= 1.1 Added GM management NPC. [Euphy] +//= 1.2 Added VIP features. [Euphy] //============================================================ +// Instance Creation :: ma_baku +//============================================================ ma_scene01,174,179,4 script Taho 541,{ disable_items; if (checkweight(1201,1) == 0) { @@ -74,7 +77,7 @@ ma_scene01,174,179,4 script Taho 541,{ switch(instance_enter(.@md_name$)) { case 3: mes "[Taho]"; - mes "An unknown error occured."; + mes "An unknown error occurred."; close; case 2: mes "[Taho]"; @@ -85,7 +88,7 @@ ma_scene01,174,179,4 script Taho 541,{ mes "Civilians cannot enter."; close; case 0: - mapannounce "ma_scene01","A party memeber, "+strcharinfo(0)+" of the party "+getpartyname(.@party_id)+" is entering the dungeon, "+.@md_name$+".",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0 + mapannounce "ma_scene01","A party member, "+strcharinfo(0)+" of the party "+getpartyname(.@party_id)+" is entering the dungeon, "+.@md_name$+".",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0 setquest 12278; //warp "1@ma_b",64,51; close; @@ -118,6 +121,8 @@ sec_in02,26,26,4 script Bakonawa's Rage 541,{ close; } +// Instance Scripts :: in_baku01 +//============================================================ 1@ma_b,62,52,4 script Taho#nf 541,{ mes "[Taho]"; mes "Heehee, I could join the Bakonawa hunt, but I'd rather hide behind that rock and cheer you guys on."; @@ -474,10 +479,10 @@ OnMobSpawn: erasequest 12279; mes "[Taho]"; mes "This was found from Bakonawa's corpse. It would be better if you take this."; -// if (IsPremiumPcCafe == 10) + if (!VIP_SCRIPT || vip_status(1)) getitem 6499,7; //Ancient_Grudge -// else -// getitem 6499,5; //Ancient_Grudge + else + getitem 6499,5; //Ancient_Grudge getexp 0,100000; next; } @@ -513,7 +518,7 @@ OnTimer10000: mes "[Taho]"; mes "Are we going to try again?"; next; - switch(select("Hold on a sec!:Of couse! We cannot stand back now!")) { + switch(select("Hold on a sec!:Of course! We cannot stand back now!")) { case 1: mes "[Taho]"; mes "AWW... I almost brought him out."; diff --git a/re/instances/BangungotHospital.txt b/re/instances/BangungotHospital.txt index 3612670..d7675a5 100644 --- a/re/instances/BangungotHospital.txt +++ b/re/instances/BangungotHospital.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Euphy //===== Current Version: ===================================== -//= 1.1 +//= 1.3 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -13,17 +13,18 @@ //===== Additional Comments: ================================= //= 1.0 First version. [Euphy] //= 1.1 Added GM management function. [Euphy] +//= 1.2 Added VIP features. [Euphy] +//= 1.3 Fixed and cleaned Up. [exneval] //============================================================ -// Instance Creation +// Instance Creation :: ma_hos_enter //============================================================ -ma_dun01,147,10,5 script Nurse#ma_dun01 569,{ - if (BaseLevel < 100) end; - +ma_dun01,147,10,5 script Nurse#ma_dun01 4_F_NURSE,{ + if (BaseLevel < 100) + end; set .@party_id,getcharid(1); - cutin "malaya_nurseB",2; if (checkquest(9223) == -1) { - set .@quest, checkquest(9222); + set .@quest,checkquest(9222); if (.@quest == -1) { if (!.@party_id) { if (malaya_bang == 30) @@ -34,15 +35,17 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 569,{ goto L_NoParty; } if (checkquest(11309,HUNTING) < 2) { - set .@playtime, checkquest(9224,PLAYTIME); + set .@playtime,checkquest(9224,PLAYTIME); if (.@playtime == -1) { if (malaya_bang == 30) callsub L_Closed,1; else if (malaya_bang == 31) callsub L_Closed,0; - else if (malaya_bang > 39) + else if (malaya_bang > 39) { + cutin "malaya_nurseB",2; callsub L_Enter,(getcharid(0) == getpartyleader(.@party_id,2))?1:0,0,0; - else { + } else { + cutin "malaya_nurseB",2; mes "[Nurse Maenne]"; mes ".........."; close2; @@ -50,6 +53,7 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 569,{ end; } } else if (.@playtime == 0 || .@playtime == 1) { + cutin "malaya_nurseB",2; if (checkquest(11309) == -1) { mes "[Nurse Maenne]"; mes "This is a fatal situation."; @@ -72,10 +76,11 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 569,{ end; } } else { - set .@quest2, checkquest(11309); + set .@quest2,checkquest(11309); if (.@quest2 == -1) { callsub L_Closed,0; } else if (.@quest2 == 0 || .@quest2 == 1) { + cutin "malaya_nurseB",2; callsub L_Complete; completequest 9224; erasequest 9224; @@ -83,7 +88,7 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 569,{ cutin "",255; end; } else { - //if (!.@party_id) goto L_NoParty; //unneeded + cutin "malaya_nurseB",2; if (malaya_bang > 39) callsub L_Enter,(getcharid(0) == getpartyleader(.@party_id,2))?1:0,1,1; else { @@ -96,8 +101,9 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 569,{ } } } else { + cutin "malaya_nurseB",2; mes "[Nurse Maenne]"; - mes "You got rid of Bangungot!"; //? + mes "You got rid of Bangungot!"; mes "The nurse might be waiting for you"; mes "in front of the hospital!"; close2; @@ -106,17 +112,17 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 569,{ } } else if (.@quest == 0 || .@quest == 1) { if (!.@party_id) goto L_NoParty; + cutin "malaya_nurseB",2; if (malaya_bang > 39) { - set .@hunting, checkquest(9222,HUNTING); + set .@hunting,checkquest(9222,HUNTING); if (.@hunting == 0 || .@hunting == 1) { - set .@playtime, checkquest(9224,PLAYTIME); + set .@playtime,checkquest(9224,PLAYTIME); if (.@playtime == 0 || .@playtime == 1) { mes "[Nurse Maenne]"; mes "Do you want go up to the second floor again?"; next; - callsub L_Enter,0,0; + callsub L_Enter,(getcharid(0) == getpartyleader(.@party_id,2))?1:0,1,1; } else if (.@playtime == 2) { - //if (!.@party_id) goto L_NoParty; //unneeded if (malaya_bang > 39) callsub L_Enter,(getcharid(0) == getpartyleader(.@party_id,2))?1:0,1,1; else { @@ -160,10 +166,10 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 569,{ erasequest 9224; setquest 9223; getexp 500000,0; -// if (IsPremiumPcCafe == 10) + if (!VIP_SCRIPT || vip_status(1)) getitem 6499,7; //Ancient_Grudge -// else -// getitem 6499,5; //Ancient_Grudge + else + getitem 6499,5; //Ancient_Grudge close2; cutin "",255; end; @@ -178,6 +184,7 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 569,{ end; } } else { + cutin "malaya_nurseB",2; callsub L_Complete; completequest 9222; erasequest 9222; @@ -190,12 +197,14 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 569,{ } } else { if (checkquest(9223,PLAYTIME) == 0 || checkquest(9223,PLAYTIME) == 1) { + cutin "malaya_nurseB",2; callsub L_Complete; close2; cutin "",255; end; } else { if (!.@party_id) goto L_NoParty; + cutin "malaya_nurseB",2; if (malaya_bang > 39) callsub L_Enter,(getcharid(0) == getpartyleader(.@party_id,2))?1:0,1,1; else { @@ -209,7 +218,6 @@ ma_dun01,147,10,5 script Nurse#ma_dun01 569,{ } L_Closed: - mes "[Nurse Maenne]"; mes "- The door is closed to 1st floor"; mes "When this Nurse came in?"; mes "I call her behind, but"; @@ -218,18 +226,14 @@ L_Closed: set malaya_bang,31; changequest 11302,11303; } - close2; - cutin "",255; - end; + close; L_NoParty: mes "- I guess..."; mes "I can't talk him alone."; mes "After registering a party"; mes "let me try to say something. -"; - close2; - cutin "",255; - end; + close; L_Enter: set .@md_name$,"Bangungot Hospital 2F"; @@ -256,80 +260,80 @@ L_Enter: } next; switch(select(((getarg(0))?"Prepare to enter the second floor.":"")+":Enter the second floor.:Do not enter.")) { - case 1: - if (instance_create(.@md_name$) < 0) { + case 1: + if (instance_create(.@md_name$) < 0) { + mes "[Nurse Maenne]"; + mes "A critical situation has happened."; + mes "You can't go up to the 2nd floor."; + close2; + cutin "",255; + end; + } mes "[Nurse Maenne]"; - mes "A critical situation has happened."; - mes "You can't go up to the 2nd floor."; - close2; - cutin "",255; - end; - } - mes "[Nurse Maenne]"; - mes "We are preparing to go up"; - mes "to the second floor."; - mes "At the second floor"; - mes "there is a chaotic rumor that"; - mes "the dead do not die."; - mes "Please refer to this story."; - next; - mes "[Nurse Maenne]"; - mes "When you finish everything,"; - mes "please talk to me again."; - mes "I really appreciate it."; - close2; - cutin "",255; - end; - case 2: - switch(instance_enter(.@md_name$)) { - case 3: + mes "We are preparing to go up"; + mes "to the second floor."; + mes "At the second floor"; + mes "there is a chaotic rumor that"; + mes "the dead do not die."; + mes "Please refer to this story."; + next; mes "[Nurse Maenne]"; - mes "A critical situation has happened."; - mes "You can't go up to the 2nd floor."; + mes "When you finish everything,"; + mes "please talk to me again."; + mes "I really appreciate it."; close2; cutin "",255; end; case 2: + switch(instance_enter(.@md_name$)) { + case 3: + mes "[Nurse Maenne]"; + mes "A critical situation has happened."; + mes "You can't go up to the 2nd floor."; + close2; + cutin "",255; + end; + case 2: + mes "[Nurse Maenne]"; + mes "You can't go up to"; + mes "the 2nd floor now."; + close2; + cutin "",255; + end; + case 1: + mes "[Nurse Maenne]"; + mes "It's too dangerous to go"; + mes "up to the 2nd floor alone."; + mes "Please come here with"; + mes "several people."; + close2; + cutin "",255; + end; + case 0: + mapannounce "ma_dun01", getpartyname(getcharid(1))+" party's "+strcharinfo(0)+" member entered "+.@md_name$+".",bc_map,"0x00ff99"; + if (getarg(1)) { + if (checkquest(9223) > -1) { + completequest 9223; + erasequest 9223; + } + if (checkquest(9222) > -1) + erasequest 9222; + if (checkquest(9224) > -1) + erasequest 9224; + setquest 9222; + } + setquest 9224; + //warp "1@ma_h",40,157; + cutin "",255; + end; + } + case 3: mes "[Nurse Maenne]"; - mes "You can't go up to"; - mes "the 2nd floor now."; - close2; - cutin "",255; - end; - case 1: - mes "[Nurse Maenne]"; - mes "It's too dangerous to go"; - mes "up to the 2nd floor alone."; - mes "Please come here with"; - mes "several people."; + mes "Alright."; + mes "If you change mind, come back again."; close2; cutin "",255; end; - case 0: - mapannounce "ma_dun01", getpartyname(getcharid(1))+" party's "+strcharinfo(0)+" member entered "+.@md_name$+".",bc_map,"0x00ff99"; - if (getarg(1)) { - if (checkquest(9223) > -1) { - completequest 9223; - erasequest 9223; - } - if (checkquest(9222) > -1) - erasequest 9222; - if (checkquest(9224) > -1) - erasequest 9224; - setquest 9222; - } - setquest 9224; - cutin "",255; - //warp "1@ma_h",40,157; - end; - } - case 3: - mes "[Nurse Maenne]"; - mes "Alright."; - mes "If you change mind, come back again."; - close2; - cutin "",255; - end; } L_Complete: @@ -348,7 +352,9 @@ L_Complete: return; } -sec_in02,27,30,0 script Bangungot Gate 406,{ +// GM Management NPC :: ma_hos_enter_2 +//============================================================ +sec_in02,27,30,0 script Bangungot Gate 2_MONEMUS,{ callfunc "F_GM_NPC"; mes "Password"; next; @@ -371,40 +377,64 @@ sec_in02,27,30,0 script Bangungot Gate 406,{ } } -// Instance Scripts +// Instance Scripts :: ma_hos //============================================================ -1@ma_h,43,157,0 script #Memorial Start 139,2,2,{ +1@ma_h,43,157,0 script #Memorial Start HIDDEN_WARP_NPC,2,2,{ + end; +OnInstanceInit: +OnEnable: + enablenpc instance_npcname("#Memorial Start"); + end; +OnDisable: + disablenpc instance_npcname("#Memorial Start"); end; OnTouch: - set .@map$, instance_mapname("1@ma_h"); - mapannounce .@map$,"Bangungot: You silly "+strcharinfo(0)+" ....",bc_map,"0xFF82FF"; + set .@map$,instance_mapname("1@ma_h"); + mapannounce .@map$,"Bangungot: You silly "+strcharinfo(0)+"....",bc_map,"0xFF82FF"; mapannounce .@map$,"Bangungot: Get out before you die...",bc_map,"0xFF82FF"; - areamonster .@map$,44,156,46,158,"Bangungot's Mangkukulam",2339,1,instance_npcname("#Memorial Start")+"::OnMyMobDead"; + donpcevent instance_npcname("#Mob Start")+"::OnEnable"; donpcevent instance_npcname("#Memorial Start_time")+"::OnEnable"; + donpcevent instance_npcname("#Memorial Start")+"::OnDisable"; + end; +} + +1@ma_h,43,157,0 script #Mob Start -1,{ +OnInstanceInit: +OnDisable: + disablenpc instance_npcname("#Mob Start"); + end; +OnEnable: + set .@map$,instance_mapname("1@ma_h"); + set .@label$,instance_npcname("#Mob Start")+"::OnMyMobDead"; + enablenpc instance_npcname("#Mob Start"); + areamonster .@map$,44,156,46,158,"Bangungot's Mangkukulam",2339,1,.@label$; end; OnMyMobDead: initnpctimer; end; OnTimer1000: - set .@map$, instance_mapname("1@ma_h"); - if (mobcount(.@map$,instance_npcname("#Memorial Start")+"::OnMyMobDead") < 1) { - donpcevent instance_npcname("#Ward1 Entry")+"::OnEnable1"; - donpcevent instance_npcname("#Memorial Start_time")+"::OnDisable"; + set .@map$,instance_mapname("1@ma_h"); + set .@label$,instance_npcname("#Mob Start")+"::OnMyMobDead"; + set .@mob_dead_num,mobcount(.@map$,.@label$); + if (.@mob_dead_num < 1) { mapannounce .@map$,"Bangungot: This is where your NIGHTMARE starts...",bc_map,"0xFF82FF"; - disablenpc instance_npcname("#Memorial Start"); + donpcevent instance_npcname("#Ward1 Entry")+"::OnEnable"; + donpcevent instance_npcname("#Memorial Start_time")+"::OnDisable"; + donpcevent instance_npcname("#Mob Start")+"::OnDisable"; } stopnpctimer; end; } -1@ma_h,43,157,0 script #Memorial Start_time 139,{ //2,2 +1@ma_h,43,157,0 script #Memorial Start_time HIDDEN_WARP_NPC,{ end; OnInstanceInit: - disablenpc instance_npcname("#Memorial Start_time"); + hideonnpc instance_npcname("#Memorial Start_time"); end; OnEnable: - specialeffect EF_BAT2,AREA,instance_npcname("#Memorial Start"); initnpctimer; + specialeffect EF_BASH; + specialeffect EF_BAT2; end; OnDisable: stopnpctimer; @@ -418,61 +448,52 @@ OnTimer10000: end; } -1@ma_h,46,165,0 script #Ward1 Entry 139,{ //3,3 +1@ma_h,46,165,0 script #Ward1 Entry HIDDEN_WARP_NPC,{ end; OnInstanceInit: - disablenpc instance_npcname(strnpcinfo(0)); +OnDisable: + hideonnpc instance_npcname(strnpcinfo(0)); end; -OnEnable1: - set .@map$, instance_mapname("1@ma_h"); - set .@label$, instance_npcname(strnpcinfo(0))+"::OnMyMobDead"; - enablenpc instance_npcname(strnpcinfo(0)); +OnEnable: + set .@map$,instance_mapname("1@ma_h"); + set .@label$,instance_npcname(strnpcinfo(0))+"::OnMyMobDead"; specialeffect EF_BAT2; switch(atoi(charat(strnpcinfo(2),4))) { - case 1: - areamonster .@map$,49,171,51,173,"Bangungot's Mangkukulam",2339,1,.@label$; - areamonster .@map$,51,171,53,173,"Bangungot's Mangkukulam",2339,1,.@label$; - end; - case 2: - areamonster .@map$,49,137,51,139,"Bangungot's Mangkukulam",2339,1,.@label$; - areamonster .@map$,51,137,53,139,"Bangungot's Mangkukulam",2339,1,.@label$; - end; - case 3: - areamonster .@map$,69,171,71,173,"Bangungot's Mangkukulam",2339,1,.@label$; - areamonster .@map$,71,171,73,173,"Bangungot's Mangkukulam",2339,1,.@label$; - areamonster .@map$,73,171,75,173,"Bangungot's Mangkukulam",2339,1,.@label$; - end; - case 4: - areamonster .@map$,71,139,73,141,"Bangungot's Mangkukulam",2339,1,.@label$; - areamonster .@map$,73,139,75,141,"Bangungot's Mangkukulam",2339,1,.@label$; - areamonster .@map$,75,139,77,141,"Bangungot's Mangkukulam",2339,1,.@label$; - end; - case 5: - areamonster .@map$,93,173,95,175,"Bangungot's Mangkukulam",2339,1,.@label$; - areamonster .@map$,95,173,97,175,"Bangungot's Mangkukulam",2339,1,.@label$; - areamonster .@map$,97,173,99,175,"Bangungot's Mangkukulam",2339,1,.@label$; - areamonster .@map$,93,175,95,177,"Bangungot's Mangkukulam",2339,1,.@label$; - end; + case 1: + areamonster .@map$,49,171,51,173,"Bangungot's Mangkukulam",2339,1,.@label$; + areamonster .@map$,51,171,53,173,"Bangungot's Mangkukulam",2339,1,.@label$; + end; + case 2: + areamonster .@map$,49,137,51,139,"Bangungot's Mangkukulam",2339,1,.@label$; + areamonster .@map$,51,137,53,139,"Bangungot's Mangkukulam",2339,1,.@label$; + end; + case 3: + areamonster .@map$,69,171,71,173,"Bangungot's Mangkukulam",2339,1,.@label$; + areamonster .@map$,71,171,73,173,"Bangungot's Mangkukulam",2339,1,.@label$; + areamonster .@map$,73,171,75,173,"Bangungot's Mangkukulam",2339,1,.@label$; + end; + case 4: + areamonster .@map$,71,139,73,141,"Bangungot's Mangkukulam",2339,1,.@label$; + areamonster .@map$,73,139,75,141,"Bangungot's Mangkukulam",2339,1,.@label$; + areamonster .@map$,75,139,77,141,"Bangungot's Mangkukulam",2339,1,.@label$; + end; + case 5: + areamonster .@map$,93,173,95,175,"Bangungot's Mangkukulam",2339,1,.@label$; + areamonster .@map$,95,173,97,175,"Bangungot's Mangkukulam",2339,1,.@label$; + areamonster .@map$,97,173,99,175,"Bangungot's Mangkukulam",2339,1,.@label$; + areamonster .@map$,93,175,95,177,"Bangungot's Mangkukulam",2339,1,.@label$; + end; } -/* -// Not called in official scripts. -OnEnable2: - areamonster instance_mapname("1@ma_h"),140,38,142,40,"Bangungot's Mangkukulam",2339,1,instance_npcname("#Ward1 Entry")+"::OnMyMobDead"; - end; -*/ -OnEnable3: - set .@i, atoi(charat(strnpcinfo(2),4))+1; - donpcevent instance_npcname("#Ward"+.@i+" Entry")+"::OnEnable1"; - disablenpc instance_npcname(strnpcinfo(0)); - end; OnMyMobDead: initnpctimer; end; OnTimer1000: - set .@map$, instance_mapname("1@ma_h"); - if (mobcount(.@map$,instance_npcname(strnpcinfo(0))+"::OnMyMobDead") < 1) { + set .@map$,instance_mapname("1@ma_h"); + set .@label$,instance_npcname(strnpcinfo(0))+"::OnMyMobDead"; + set .@mob_dead_num,mobcount(.@map$,.@label$); + if (.@mob_dead_num < 1) { + set .@i,atoi(charat(strnpcinfo(2),4))+1; specialeffect EF_BAT2; - donpcevent instance_npcname(strnpcinfo(0))+"::OnEnable3"; switch(atoi(charat(strnpcinfo(2),4))) { case 1: set .@str$,"Bangungot: I will let you see the pain and the agony actually be real....."; break; case 2: set .@str$,"Bangungot: Diseased spirits are the source of my energy, and my life..."; break; @@ -481,24 +502,25 @@ OnTimer1000: case 5: set .@str$,"Bangungot: Be horrified...be petrified."; break; } mapannounce .@map$,.@str$,bc_map,"0xFF82FF"; + donpcevent instance_npcname("#Ward"+.@i+" Entry")+"::OnEnable"; } stopnpctimer; end; } -1@ma_h,57,147,0 duplicate(#Ward1 Entry) #Ward2 Entry 139 //3,3 -1@ma_h,67,165,0 duplicate(#Ward1 Entry) #Ward3 Entry 139 //3,3 -1@ma_h,79,147,0 duplicate(#Ward1 Entry) #Ward4 Entry 139 //3,3 -1@ma_h,90,165,0 duplicate(#Ward1 Entry) #Ward5 Entry 139 //3,3 +1@ma_h,57,147,0 duplicate(#Ward1 Entry) #Ward2 Entry HIDDEN_WARP_NPC +1@ma_h,67,165,0 duplicate(#Ward1 Entry) #Ward3 Entry HIDDEN_WARP_NPC +1@ma_h,79,147,0 duplicate(#Ward1 Entry) #Ward4 Entry HIDDEN_WARP_NPC +1@ma_h,90,165,0 duplicate(#Ward1 Entry) #Ward5 Entry HIDDEN_WARP_NPC -1@ma_h,101,147,0 script #Ward6 Entry 139,{ //2,2 +1@ma_h,101,147,0 script #Ward6 Entry HIDDEN_WARP_NPC,{ end; OnInstanceInit: - disablenpc instance_npcname("#Ward6 Entry"); +OnDisable: + hideonnpc instance_npcname("#Ward6 Entry"); end; -OnEnable1: - set .@map$, instance_mapname("1@ma_h"); - set .@label$, instance_npcname("#Ward6 Entry")+"::OnMyMobDead"; - enablenpc instance_npcname("#Ward6 Entry"); +OnEnable: + set .@map$,instance_mapname("1@ma_h"); + set .@label$,instance_npcname("#Ward6 Entry")+"::OnMyMobDead"; specialeffect EF_BAT2; areamonster .@map$,93,137,95,139,"Bangungot's Mangkukulam",2339,1,.@label$; areamonster .@map$,95,137,97,139,"Bangungot's Mangkukulam",2339,1,.@label$; @@ -506,231 +528,216 @@ OnEnable1: areamonster .@map$,93,139,95,141,"Bangungot's Mangkukulam",2339,1,.@label$; areamonster .@map$,95,139,97,141,"Bangungot's Manananggal",2338,1,.@label$; end; -/* -// Not called in official scripts. -OnEnable2: - areamonster instance_mapname("1@ma_h"),140,38,142,40,"Bangungot's Mangkukulam",2339,1,instance_npcname("#Ward6 Entry")+"::OnMyMobDead"; - end; -*/ OnMyMobDead: initnpctimer; end; OnTimer3000: - set .@map$, instance_mapname("1@ma_h"); - if (mobcount(.@map$,instance_npcname("#Ward6 Entry")+"::OnMyMobDead") < 1) { + set .@map$,instance_mapname("1@ma_h"); + set .@label$,instance_npcname("#Ward6 Entry")+"::OnMyMobDead"; + set .@mob_dead_num,mobcount(.@map$,.@label$); + if (.@mob_dead_num < 1) { specialeffect EF_BAT2; - donpcevent instance_npcname("#Summon Boss")+"::OnEnable"; mapannounce .@map$,"Bangungot: You had the choice to enter here, but you have no choice to get out as you want...",bc_map,"0xFF82FF"; + donpcevent instance_npcname("#Boss Room1 Enter")+"::OnEnable"; + donpcevent instance_npcname("#Boss Room1 Exit")+"::OnEnable"; + donpcevent instance_npcname("#Boss Room1 Entry_time")+"::OnEnable"; + donpcevent instance_npcname("#Mob Boss")+"::OnEnable"; } stopnpctimer; end; } -1@ma_h,110,177,0 script #Summon Boss 139,{ +1@ma_h,110,177,0 script #Mob Boss HIDDEN_WARP_NPC,{ end; OnInstanceInit: - disablenpc instance_npcname("#Summon Boss"); +OnDisable: + disablenpc instance_npcname("#Mob Boss"); end; OnEnable: - enablenpc instance_npcname("#Summon Boss"); - monster instance_mapname("1@ma_h"),143,158,"Bangungot",2317,1,instance_npcname("#Summon Boss")+"::OnMyMobDead"; - donpcevent instance_npcname("#Boss Room Entry")+"::OnEnableEntry"; - donpcevent instance_npcname("#Boss Room Entry")+"::OnEnable"; + set .@map$,instance_mapname("1@ma_h"); + set .@label$,instance_npcname("#Mob Boss")+"::OnMyMobDead"; + enablenpc instance_npcname("#Mob Boss"); + monster .@map$,143,158,"Bangungot",2317,1,.@label$; end; OnMyMobDead: initnpctimer; end; OnTimer1000: - if (mobcount(instance_mapname("1@ma_h"),instance_npcname("#Summon Boss")+"::OnMyMobDead") < 1) { - donpcevent instance_npcname("#Summon Pillar")+"::OnEnable1"; - mapannounce instance_mapname("1@ma_h"),"Bangungot: I....cannot.....finish...like.......this.",bc_map,"0xFF82FF"; - disablenpc instance_npcname("#Summon Boss"); + set .@map$,instance_mapname("1@ma_h"); + set .@label$,instance_npcname("#Mob Boss")+"::OnMyMobDead"; + set .@mob_dead_num,mobcount(.@map$,.@label$); + if (.@mob_dead_num < 1) { + mapannounce .@map$,"Bangungot: I....cannot.....finish...like.......this.",bc_map,"0xFF82FF"; + donpcevent instance_npcname("#Mob Pillar")+"::OnEnable"; + donpcevent instance_npcname("#Mob Boss")+"::OnDisable"; } stopnpctimer; end; } -1@ma_h,147,143,0 script #Boss Room Entry 139,10,10,{ +1@ma_h,147,143,0 script #Boss Room1 Entry_time HIDDEN_WARP_NPC,{ end; OnInstanceInit: - disablenpc instance_npcname("#Boss Room Entry"); - end; -OnTouch: - specialeffect EF_GHOST; - donpcevent instance_npcname("#Boss Room Entry")+"::OnDisableEntry"; - donpcevent instance_npcname("#Boss Room Entry_time")+"::OnEnable"; + disablenpc instance_npcname("#Boss Room1 Entry_time"); end; OnEnable: - enablenpc instance_npcname("#Boss Room Entry"); - enablenpc instance_npcname("#Boss Room Door"); - enablenpc instance_npcname("#Boss Room Door1"); - end; -OnSpawn: - areamonster instance_mapname("1@ma_h"),123,152,137,166,"Bangungot's Manananggal",2338,1,instance_npcname("#Boss Room Entry")+"::OnMyMobDead"; - end; -OnReset: - killmonster instance_mapname("1@ma_h"),instance_npcname("#Boss Room Entry")+"::OnMyMobDead"; - end; -OnMyMobDead: initnpctimer; end; -OnTimer1000: - set .@map$, instance_mapname("1@ma_h"); - if (mobcount(.@map$,instance_npcname("#Boss Room Entry")+"::OnMyMobDead") < 1) - mapannounce .@map$,"Bangungot: HAHAHAH... That's not enough, I will be even stronger....",bc_map,"0xFF82FF"; +OnDisable: stopnpctimer; end; - -// Unofficial labels (to avoid duplicating code). -OnEnableEntry: - enablenpc instance_npcname("#Boss Room Entry"); - enablenpc instance_npcname("#Boss Room Entry_a"); - enablenpc instance_npcname("#Boss Room Entry_b"); - enablenpc instance_npcname("#Boss Room Entry_c"); - enablenpc instance_npcname("#Boss Room Entry_d"); - enablenpc instance_npcname("#Boss Room Entry_e"); - enablenpc instance_npcname("#Boss Room Entry_f"); - enablenpc instance_npcname("#Boss Room Entry_g"); - enablenpc instance_npcname("#Boss Room Entry_h"); - end; -OnDisableEntry: - disablenpc instance_npcname("#Boss Room Entry"); - disablenpc instance_npcname("#Boss Room Entry_a"); - disablenpc instance_npcname("#Boss Room Entry_b"); - disablenpc instance_npcname("#Boss Room Entry_c"); - disablenpc instance_npcname("#Boss Room Entry_d"); - disablenpc instance_npcname("#Boss Room Entry_e"); - disablenpc instance_npcname("#Boss Room Entry_f"); - disablenpc instance_npcname("#Boss Room Entry_g"); - disablenpc instance_npcname("#Boss Room Entry_h"); - end; -} - -1@ma_h,147,143,0 script #Boss Room Entry_time 139,{ //10,10 - end; -OnInstanceInit: - disablenpc instance_npcname("#Boss Room Entry_time"); - end; -OnEnable: - mapannounce instance_mapname("1@ma_h"),"Bangungot: You poor little things. I will invite you to the world of infectious disease...",bc_map,"0xFF82FF"; - initnpctimer; - end; OnTimer25000: - mapannounce instance_mapname("1@ma_h"),"Bangungot: You will know what it is...",bc_map,"0xFF82FF"; + mapannounce instance_mapname("1@ma_h"),"Bangungot: You will know what the meaning of pain is.",bc_map,"0xFF82FF"; for(set .@i,10; .@i<=22; set .@i,.@i+1) - disablenpc instance_npcname("#Patternwarp"+.@i); + donpcevent instance_npcname("#Patternwarp"+.@i)+"::OnDisable"; end; OnTimer35000: mapannounce instance_mapname("1@ma_h"),"Bangungot: Real pain! You will know!!",bc_map,"0xFF82FF"; for(set .@i,25; .@i<=33; set .@i,.@i+1) - disablenpc instance_npcname("#Patternwarp"+.@i); + donpcevent instance_npcname("#Patternwarp"+.@i)+"::OnDisable"; end; OnTimer45000: mapannounce instance_mapname("1@ma_h"),"Bangungot: Have you ever heard the patients screaming?",bc_map,"0xFF82FF"; end; OnTimer55000: mapannounce instance_mapname("1@ma_h"),"Bangungot: If you haven't, I will let you!!",bc_map,"0xFF82FF"; - enablenpc instance_npcname("#Summon Ward Mob"); - donpcevent instance_npcname("#Summon Ward Mob")+"::OnEnable7"; + donpcevent instance_npcname("#Wards Entry")+"::OnEnable"; + donpcevent instance_npcname("#Mob Wards Entry")+"::OnEnable"; + donpcevent instance_npcname("#Mob Wards Entry")+"::OnReset"; end; OnTimer60000: for(set .@i,1; .@i<=8; set .@i,.@i+1) - enablenpc instance_npcname("#Patternwarp"+.@i); + donpcevent instance_npcname("#Patternwarp"+.@i)+"::OnEnable"; for(set .@i,34; .@i<=38; set .@i,.@i+1) - enablenpc instance_npcname("#Patternwarp"+.@i); + donpcevent instance_npcname("#Patternwarp"+.@i)+"::OnEnable"; end; OnTimer60500: for(set .@i,41; .@i<=49; set .@i,.@i+1) - enablenpc instance_npcname("#Patternwarp"+.@i); + donpcevent instance_npcname("#Patternwarp"+.@i)+"::OnEnable"; end; OnTimer90000: mapannounce instance_mapname("1@ma_h"),"Bangungot: Delight coming from agony is my nutrient.",bc_map,"0xFF82FF"; - donpcevent instance_npcname("#Boss Room Entry")+"::OnSpawn"; + donpcevent instance_npcname("#Mob Boss Room1 Entry")+"::OnEnable"; end; OnTimer110000: mapannounce instance_mapname("1@ma_h"),"Bangungot: Remain here, cursed disease.....",bc_map,"0xFF82FF"; - donpcevent instance_npcname("#Boss Room Entry")+"::OnSpawn"; + donpcevent instance_npcname("#Mob Boss Room1 Entry")+"::OnEnable"; end; OnTimer125000: - mapannounce instance_mapname("1@ma_h"),"Bangungot: You wanna hang out with me ......?",bc_map,"0xFF82FF"; + mapannounce instance_mapname("1@ma_h"),"Bangungot: You wanna hang out with me......?",bc_map,"0xFF82FF"; end; OnTimer128000: for(set .@i,1; .@i<=8; set .@i,.@i+1) - disablenpc instance_npcname("#Patternwarp"+.@i); + donpcevent instance_npcname("#Patternwarp"+.@i)+"::OnDisable"; for(set .@i,34; .@i<=38; set .@i,.@i+1) - disablenpc instance_npcname("#Patternwarp"+.@i); + donpcevent instance_npcname("#Patternwarp"+.@i)+"::OnDisable"; end; OnTimer128500: for(set .@i,41; .@i<=49; set .@i,.@i+1) - disablenpc instance_npcname("#Patternwarp"+.@i); - end; -OnTimer129000: - donpcevent instance_npcname("#Boss Room Entry")+"::OnEnableEntry"; + donpcevent instance_npcname("#Patternwarp"+.@i)+"::OnDisable"; end; OnTimer129500: - donpcevent instance_npcname("#Boss Room Entry")+"::OnSpawn"; + donpcevent instance_npcname("#Mob Boss Room1 Entry")+"::OnEnable"; for(set .@i,10; .@i<=22; set .@i,.@i+1) - enablenpc instance_npcname("#Patternwarp"+.@i); + donpcevent instance_npcname("#Patternwarp"+.@i)+"::OnEnable"; end; OnTimer130000: for(set .@i,25; .@i<=33; set .@i,.@i+1) - enablenpc instance_npcname("#Patternwarp"+.@i); + donpcevent instance_npcname("#Patternwarp"+.@i)+"::OnEnable"; stopnpctimer; + initnpctimer; + end; +} + +1@ma_h,118,157,0 script #Mob Boss Room1 Entry -1,{ +OnInstanceInit: +OnDisable: + disablenpc instance_npcname("#Mob Boss Room1 Entry"); + end; +OnEnable: + set .@map$,instance_mapname("1@ma_h"); + set .@label$,instance_npcname("#Mob Boss Room1 Entry")+"::OnMyMobDead"; + enablenpc instance_npcname("#Mob Boss Room1 Entry"); + areamonster .@map$,123,152,137,166,"Bangungot's Manananggal",2338,1,.@label$; end; -OnStopTimer: +OnReset: + set .@map$,instance_mapname("1@ma_h"); + set .@label$,instance_npcname("#Mob Boss Room1 Entry")+"::OnMyMobDead"; + killmonster .@map$,.@label$; + end; +OnMyMobDead: + initnpctimer; + end; +OnTimer1000: + set .@map$,instance_mapname("1@ma_h"); + set .@label$,instance_npcname("#Mob Boss Room1 Entry")+"::OnMyMobDead"; + set .@mob_dead_num,mobcount(.@map$,.@label$); + if (.@mob_dead_num < 1) + mapannounce .@map$,"Bangungot: HAHAHAH... That's not enough, I will be even stronger....",bc_map,"0xFF82FF"; stopnpctimer; end; } -1@ma_h,111,177,0 script #Boss Room Entry_2 45,{ +1@ma_h,118,63,0 script #Wards Entry HIDDEN_WARP_NPC,4,4,{ + end; +OnInstanceInit: +OnDisable: + disablenpc instance_npcname("#Wards Entry"); + end; +OnEnable: + enablenpc instance_npcname("#Wards Entry"); + end; +OnTouch: + donpcevent instance_npcname("#Wards Entry_time")+"::OnEnable"; + donpcevent instance_npcname("#Wards Entry")+"::OnDisable"; + end; +} + +1@ma_h,118,63,0 script #Wards Entry_time HIDDEN_WARP_NPC,{ end; OnInstanceInit: - disablenpc instance_npcname("#Boss Room Entry_2"); + hideonnpc instance_npcname("#Wards Entry_time"); end; OnEnable: - mapannounce instance_mapname("1@ma_h"),"Bangungot: You are pretty powerful...",bc_map,"0xFF82FF"; initnpctimer; + specialeffect EF_BASH; + specialeffect EF_CURSEATTACK; end; -OnTimer3000: - mapannounce instance_mapname("1@ma_h"),"Bangungot: But can you...",bc_map,"0xFF82FF"; +OnDisable: + stopnpctimer; end; -OnTimer6000: - mapannounce instance_mapname("1@ma_h"),"Bangungot: ...defeat me again...?",bc_map,"0xFF82FF"; +OnTimer2000: + mapannounce instance_mapname("1@ma_h"),"Bangungot: My spirit will be with your cursed body...",bc_map,"0xFF82FF"; end; -OnTimer9000: - for(set .@i,1; .@i<=8; set .@i,.@i+1) - disablenpc instance_npcname("#Patternwarp"+.@i); - for(set .@i,34; .@i<=38; set .@i,.@i+1) - disablenpc instance_npcname("#Patternwarp"+.@i); +OnTimer4000: + mapannounce instance_mapname("1@ma_h"),"Bangungot: My inferiors...!! Go!! Go torment the patients in the wards!!",bc_map,"0xFF82FF"; end; -OnTimer9500: - for(set .@i,41; .@i<=49; set .@i,.@i+1) - disablenpc instance_npcname("#Patternwarp"+.@i); +OnTimer6000: + mapannounce instance_mapname("1@ma_h"),"- Bangungot's inferiors are bothering patients!! If you don't slay them all, Bangungot will be stronger. -",bc_map,"0xFF8200"; end; OnTimer10000: - mapannounce instance_mapname("1@ma_h"),"Bangungot: You stupid persoon....",bc_map,"0xFF82FF"; - for(set .@i,10; .@i<=22; set .@i,.@i+1) - enablenpc instance_npcname("#Patternwarp"+.@i); - end; -OnTimer10500: - for(set .@i,25; .@i<=33; set .@i,.@i+1) - enablenpc instance_npcname("#Patternwarp"+.@i); + setarray .@npc$[1], + "Moaning Patient","Screaming Patient","Patient in Pain","Passed Out Patient","Patient with Nightmare","Sick Looking Patient", + "Horrified Patient","Patient in Sorrow","Suffering Patient","Wriggling Patient","Patient in Cold Sweat","Howling Patient"; + set .@rand,rand(1,6); + set .@id,(.@rand*2)-rand(2); + donpcevent instance_npcname("#Mob Wards Entry")+"::OnEnable"+.@rand; + donpcevent instance_npcname(.@npc$[.@id]+"#"+.@id)+"::OnEnable"; stopnpctimer; end; } -1@ma_h,118,63,0 script #Summon Ward Mob 139,4,4,{ - end; +1@ma_h,118,63,0 script #Mob Wards Entry -1,{ OnInstanceInit: - disablenpc instance_npcname("#Summon Ward Mob"); +OnDisable: + disablenpc instance_npcname("#Mob Wards Entry"); end; -OnTouch: - donpcevent instance_npcname("#Summon Ward Mob_time")+"::OnEnable"; - specialeffect EF_CURSEATTACK; +OnEnable: + enablenpc instance_npcname("#Mob Wards Entry"); end; OnEnable1: - set .@map$, instance_mapname("1@ma_h"); - set .@label$, instance_npcname("#Summon Ward Mob")+"::OnMyMobDead"; + set .@map$,instance_mapname("1@ma_h"); + set .@label$,instance_npcname("#Mob Wards Entry")+"::OnMyMobDead"; areamonster .@map$,47,77,49,79,"Bangungot's Tiyanak",2340,1,.@label$; areamonster .@map$,49,77,51,79,"Bangungot's Tiyanak",2340,1,.@label$; areamonster .@map$,51,77,53,79,"Bangungot's Tiyanak",2340,1,.@label$; @@ -740,8 +747,8 @@ OnEnable1: areamonster .@map$,49,81,51,83,"Bangungot's Tiyanak",2339,1,.@label$; end; OnEnable2: - set .@map$, instance_mapname("1@ma_h"); - set .@label$, instance_npcname("#Summon Ward Mob")+"::OnMyMobDead"; + set .@map$,instance_mapname("1@ma_h"); + set .@label$,instance_npcname("#Mob Wards Entry")+"::OnMyMobDead"; areamonster .@map$,51,45,53,47,"Bangungot's Tiyanak",2339,1,.@label$; areamonster .@map$,53,45,55,47,"Bangungot's Tiyanak",2339,1,.@label$; areamonster .@map$,49,47,51,49,"Bangungot's Mangkukulam",2339,1,.@label$; @@ -751,8 +758,8 @@ OnEnable2: areamonster .@map$,53,49,55,51,"Bangungot's Tiyanak",2340,1,.@label$; end; OnEnable3: - set .@map$, instance_mapname("1@ma_h"); - set .@label$, instance_npcname("#Summon Ward Mob")+"::OnMyMobDead"; + set .@map$,instance_mapname("1@ma_h"); + set .@label$,instance_npcname("#Mob Wards Entry")+"::OnMyMobDead"; areamonster .@map$,69,75,71,77,"Bangungot's Tiyanak",2340,1,.@label$; areamonster .@map$,71,75,73,77,"Bangungot's Tiyanak",2340,1,.@label$; areamonster .@map$,73,75,75,77,"Bangungot's Tiyanak",2340,1,.@label$; @@ -762,8 +769,8 @@ OnEnable3: areamonster .@map$,71,79,73,81,"Bangungot's Tiyanak",2339,1,.@label$; end; OnEnable4: - set .@map$, instance_mapname("1@ma_h"); - set .@label$, instance_npcname("#Summon Ward Mob")+"::OnMyMobDead"; + set .@map$,instance_mapname("1@ma_h"); + set .@label$,instance_npcname("#Mob Wards Entry")+"::OnMyMobDead"; areamonster .@map$,73,45,75,47,"Bangungot's Tiyanak",2339,1,.@label$; areamonster .@map$,75,45,77,47,"Bangungot's Tiyanak",2339,1,.@label$; areamonster .@map$,71,47,73,49,"Bangungot's Mangkukulam",2339,1,.@label$; @@ -773,8 +780,8 @@ OnEnable4: areamonster .@map$,75,49,77,51,"Bangungot's Tiyanak",2340,1,.@label$; end; OnEnable5: - set .@map$, instance_mapname("1@ma_h"); - set .@label$, instance_npcname("#Summon Ward Mob")+"::OnMyMobDead"; + set .@map$,instance_mapname("1@ma_h"); + set .@label$,instance_npcname("#Mob Wards Entry")+"::OnMyMobDead"; areamonster .@map$,93,77,95,79,"Bangungot's Tiyanak",2340,1,.@label$; areamonster .@map$,95,77,97,79,"Bangungot's Tiyanak",2340,1,.@label$; areamonster .@map$,97,77,99,79,"Bangungot's Tiyanak",2340,1,.@label$; @@ -784,8 +791,8 @@ OnEnable5: areamonster .@map$,95,81,97,83,"Bangungot's Tiyanak",2339,1,.@label$; end; OnEnable6: - set .@map$, instance_mapname("1@ma_h"); - set .@label$, instance_npcname("#Summon Ward Mob")+"::OnMyMobDead"; + set .@map$,instance_mapname("1@ma_h"); + set .@label$,instance_npcname("#Mob Wards Entry")+"::OnMyMobDead"; areamonster .@map$,93,43,95,45,"Bangungot's Tiyanak",2339,1,.@label$; areamonster .@map$,95,43,97,45,"Bangungot's Tiyanak",2339,1,.@label$; areamonster .@map$,91,45,93,47,"Bangungot's Mangkukulam",2339,1,.@label$; @@ -794,319 +801,369 @@ OnEnable6: areamonster .@map$,93,47,95,49,"Bangungot's Tiyanak",2340,1,.@label$; areamonster .@map$,95,47,97,49,"Bangungot's Tiyanak",2340,1,.@label$; end; -OnEnable7: - killmonster instance_mapname("1@ma_h"),instance_npcname("#Summon Ward Mob")+"::OnMyMobDead"; +OnReset: + set .@map$,instance_mapname("1@ma_h"); + set .@label$,instance_npcname("#Mob Wards Entry")+"::OnMyMobDead"; + killmonster .@map$,.@label$; end; OnMyMobDead: initnpctimer; end; OnTimer1000: - if (mobcount(instance_mapname("1@ma_h"),instance_npcname("#Summon Ward Mob")+"::OnMyMobDead") < 1) { - donpcevent instance_npcname("#Boss Room Entry_2")+"::OnEnable"; - donpcevent instance_npcname("#Boss Room Entry")+"::OnEnableEntry"; - donpcevent instance_npcname("#Boss Room Entry_time")+"::OnStopTimer"; + set .@map$,instance_mapname("1@ma_h"); + set .@label$,instance_npcname("#Mob Wards Entry")+"::OnMyMobDead"; + set .@mob_dead_num,mobcount(.@map$,.@label$); + if (.@mob_dead_num < 1) { + donpcevent instance_npcname("#Boss Room2 Entry_time")+"::OnEnable"; + donpcevent instance_npcname("#Boss Room1 Entry_time")+"::OnEnable"; } stopnpctimer; end; } -1@ma_h,118,64,0 script #Summon Ward Mob_time 139,{ //4,4 +1@ma_h,111,177,0 script #Boss Room2 Entry_time HIDDEN_WARP_NPC,{ end; OnInstanceInit: - disablenpc instance_npcname("#Summon Ward Mob_time"); + disablenpc instance_npcname("#Boss Room2 Entry_time"); end; OnEnable: initnpctimer; - disablenpc instance_npcname("#Summon Ward Mob"); + mapannounce instance_mapname("1@ma_h"),"Bangungot: You are pretty powerful...",bc_map,"0xFF82FF"; end; -OnTimer2000: - mapannounce instance_mapname("1@ma_h"),"Bangungot: My spirit will be with your cursed body...",bc_map,"0xFF82FF"; +OnDisable: + stopnpctimer; end; -OnTimer4000: - mapannounce instance_mapname("1@ma_h"),"Bangungot: My inferiors...!! Go!! Go torment the patients in the wards!!",bc_map,"0xFF82FF"; +OnTimer3000: + mapannounce instance_mapname("1@ma_h"),"Bangungot: But can you...",bc_map,"0xFF82FF"; end; OnTimer6000: - mapannounce instance_mapname("1@ma_h"),"- Bangungot's inferiors are bothering patients!! If you don't slay them all, Bangungot will be stronger. -",bc_map,"0xFF8200"; + mapannounce instance_mapname("1@ma_h"),"Bangungot: ...defeat me again...?",bc_map,"0xFF82FF"; + end; +OnTimer9000: + for(set .@i,1; .@i<=8; set .@i,.@i+1) + donpcevent instance_npcname("#Patternwarp"+.@i)+"::OnDisable"; + for(set .@i,34; .@i<=38; set .@i,.@i+1) + donpcevent instance_npcname("#Patternwarp"+.@i)+"::OnDisable"; + end; +OnTimer9500: + for(set .@i,41; .@i<=49; set .@i,.@i+1) + donpcevent instance_npcname("#Patternwarp"+.@i)+"::OnDisable"; end; OnTimer10000: - setarray .@npc$[1], - "Moaning Patient","Screaming Patient","Patient in Pain","Passed Out Patient","Patient with Nightmare","Sick Looking Patient", - "Horrified Patient","Patient in Sorrow","Suffering Patient","Wriggling Patient","Patient in Cold Sweat","Howling Patient"; - enablenpc instance_npcname("#Summon Ward Mob"); - set .@rand, rand(1,6); - donpcevent instance_npcname("#Summon Ward Mob")+"::OnEnable"+.@rand; - set .@id, (.@rand*2)-rand(2); - donpcevent instance_npcname(.@npc$[.@id]+"#"+.@id)+"::OnEnable"; + mapannounce instance_mapname("1@ma_h"),"Bangungot: You stupid person....",bc_map,"0xFF82FF"; + for(set .@i,10; .@i<=22; set .@i,.@i+1) + donpcevent instance_npcname("#Patternwarp"+.@i)+"::OnEnable"; + end; +OnTimer10500: + for(set .@i,25; .@i<=33; set .@i,.@i+1) + donpcevent instance_npcname("#Patternwarp"+.@i)+"::OnEnable"; stopnpctimer; end; } -1@ma_h,112,177,0 script #Summon Pillar 139,{ +1@ma_h,131,62,0 script #Mob Invulnerable Boss HIDDEN_WARP_NPC,{ end; OnInstanceInit: - disablenpc instance_npcname("#Summon Pillar"); + initnpctimer; + monster instance_mapname("1@ma_h"),131,62,"Bangungot",2318,1; end; -OnEnable1: - enablenpc instance_npcname("#Summon Pillar"); - donpcevent instance_npcname("#Boss Room Entry_time")+"::OnStopTimer"; - donpcevent instance_npcname("#Summon Pillar_time")+"::OnEnable"; - monster instance_mapname("1@ma_h"),131,157,"Pillar of Spirit",2327,1,instance_npcname("#Summon Pillar")+"::OnMyMobDead"; +OnTimer3000: + specialeffect EF_BARRIER; + stopnpctimer; + initnpctimer; end; -OnEnable3: - enablenpc instance_npcname("#Boss Room Exit"); - disablenpc instance_npcname("#Summon Pillar"); +} + +1@ma_h,43,86,4 script Moaning Patient#1 4_F_PATIENT,{ + end; +OnEnable: + switch(atoi(strnpcinfo(2))) { + case 1: set .@str$,"Moaning Patient: aaawwww...."; break; + case 2: set .@str$,"Screaming Patient: Aaaaargh!!"; break; + case 3: set .@str$,"Patient in Pain: Oooooowwww!! It's killing me!!!"; break; + case 4: set .@str$,"Passed Out Patient: ........"; break; + case 5: set .@str$,"Patient with Nightmare: Help~!!! Save me!!!"; break; + case 6: set .@str$,"Sick Looking Patient: Hu..a...aaah.."; break; + case 7: set .@str$,"Horrified Patient: Get away!! Please...."; break; + case 8: set .@str$,"Patient in Sorrow: crying and crying......"; break; + case 9: set .@str$,"Suffering Patient: Stop... please..."; break; + case 10: set .@str$,"Wriggling Patient: awwww..."; break; + case 11: set .@str$,"Patient in Cold Sweat: Help.....help...."; break; + case 12: set .@str$,"Howling Patient: aaaaahhhhhhhhhh!!"; break; + } + mapannounce instance_mapname("1@ma_h"),.@str$,bc_map,"0xFF0000"; + initnpctimer; + end; +OnTimer5000: +OnTimer8000: +OnTimer11000: +OnTimer14000: +OnTimer17000: +OnTimer20000: +OnTimer23000: +OnTimer26000: + specialeffect EF_POTION_BERSERK; + specialeffect EF_CURSEATTACK; + end; +OnTimer30000: + specialeffect EF_POTION_BERSERK; + specialeffect EF_CURSEATTACK; + stopnpctimer; + end; +} +1@ma_h,60,87,4 duplicate(Moaning Patient#1) Screaming Patient#2 4_M_PATIENT +1@ma_h,60,39,7 duplicate(Moaning Patient#1) Patient in Pain#3 4_F_PATIENT +1@ma_h,43,39,7 duplicate(Moaning Patient#1) Passed Out Patient#4 4_M_PATIENT +1@ma_h,77,86,4 duplicate(Moaning Patient#1) Patient with Nightmare#5 4_F_PATIENT +1@ma_h,69,87,4 duplicate(Moaning Patient#1) Sick Looking Patient#6 4_M_PATIENT +1@ma_h,73,39,7 duplicate(Moaning Patient#1) Horrified Patient#7 4_F_PATIENT +1@ma_h,65,51,7 duplicate(Moaning Patient#1) Patient in Sorrow#8 4_M_PATIENT +1@ma_h,87,86,4 duplicate(Moaning Patient#1) Suffering Patient#9 4_F_PATIENT +1@ma_h,104,86,4 duplicate(Moaning Patient#1) Wriggling Patient#10 4_M_PATIENT +1@ma_h,99,39,7 duplicate(Moaning Patient#1) Patient in Cold Sweat#11 4_F_PATIENT +1@ma_h,87,39,7 duplicate(Moaning Patient#1) Howling Patient#12 4_M_PATIENT + +1@ma_h,43,181,4 script Moaning Patient#b 4_F_PATIENT,{ end; } +1@ma_h,60,182,4 script Screaming Patient#b 4_M_PATIENT,{ end; } +1@ma_h,60,132,7 script Patient in Pain#b 4_F_PATIENT,{ end; } +1@ma_h,43,132,7 script Passed Out Patient#b 4_M_PATIENT,{ end; } +1@ma_h,77,182,4 script Patient with Nightmare#b 4_F_PATIENT,{ end; } +1@ma_h,69,182,4 script Sick Looking Patient#b 4_M_PATIENT,{ end; } +1@ma_h,73,132,7 script Horrified Patient#b 4_F_PATIENT,{ end; } +1@ma_h,65,144,7 script Patient in Sorrow#b 4_M_PATIENT,{ end; } +1@ma_h,87,181,4 script Suffering Patient#b 4_F_PATIENT,{ end; } +1@ma_h,104,181,4 script Wriggling Patient#b 4_M_PATIENT,{ end; } +1@ma_h,99,132,7 script Patient in Cold Sweat#b 4_F_PATIENT,{ end; } +1@ma_h,87,132,7 script Howling Patient#b 4_M_PATIENT,{ end; } + +1@ma_h,112,177,0 script #Mob Pillar HIDDEN_WARP_NPC,{ + end; +OnInstanceInit: +OnDisable: + disablenpc instance_npcname("#Mob Pillar"); + end; +OnEnable: + set .@map$,instance_mapname("1@ma_h"); + set .@label$,instance_npcname("#Mob Pillar")+"::OnMyMobDead"; + enablenpc instance_npcname("#Mob Pillar"); + monster .@map$,131,157,"Pillar of Spirit",2327,1,.@label$; + donpcevent instance_npcname("#Mob Pillar_time")+"::OnEnable"; + donpcevent instance_npcname("#Boss Room1 Entry_time")+"::OnDisable"; end; OnReset: - killmonster instance_mapname("1@ma_h"),instance_npcname("#Summon Pillar")+"::OnMyMobDead"; + set .@map$,instance_mapname("1@ma_h"); + set .@label$,instance_npcname("#Mob Pillar")+"::OnMyMobDead"; + killmonster .@map$,.@label$; end; OnMyMobDead: initnpctimer; end; OnTimer1000: - set .@map$, instance_mapname("1@ma_h"); - if (mobcount(.@map$,instance_npcname("#Summon Pillar")+"::OnMyMobDead") < 1) { - donpcevent instance_npcname("#Summon Pillar_time")+"::OnStopTimer"; - donpcevent instance_npcname("#Summon Pillar")+"::OnEnable3"; - donpcevent instance_npcname("#Boss Room Entry")+"::OnReset"; + set .@map$,instance_mapname("1@ma_h"); + set .@label$,instance_npcname("#Mob Pillar")+"::OnMyMobDead"; + set .@mob_dead_num,mobcount(.@map$,.@label$); + if (.@mob_dead_num < 1) { mapannounce .@map$,"Bangungot: Oh....cannot believe that I lost...",bc_map,"0xFF4500"; mapannounce .@map$,"Bangungot: But don't think this is the end!!",bc_map,"0xFF4500"; mapannounce .@map$,"Bangungot: I WILL BE BACK!!!!!",bc_map,"0xFF4500"; + donpcevent instance_npcname("#Memorial Exit")+"::OnEnable"; + donpcevent instance_npcname("#Mob Boss Room1 Entry")+"::OnReset"; + donpcevent instance_npcname("#Mob Pillar_time")+"::OnDisable"; + donpcevent instance_npcname("#Mob Pillar")+"::OnDisable"; } stopnpctimer; end; } -1@ma_h,112,178,0 script #Summon Pillar_time 139,{ +1@ma_h,131,157,0 script #Mob Pillar_time HIDDEN_WARP_NPC,{ end; OnInstanceInit: - disablenpc instance_npcname("#Summon Pillar_time"); + hideonnpc instance_npcname("#Mob Pillar_time"); end; OnEnable: initnpctimer; end; -OnStopTimer: +OnDisable: stopnpctimer; end; OnTimer1000: mapannounce instance_mapname("1@ma_h"),"- Bangungot's Pillar of Spirit is curing Bangungot. If you don't hunt it now, he will fully recover!! -",bc_map,"0xFF8200"; - specialeffect EF_MAPPILLAR2,AREA,instance_npcname("#Patternwarp45"); + specialeffect EF_MAPPILLAR2; end; OnTimer7000: mapannounce instance_mapname("1@ma_h"),"Bangungot: I never die!!!!",bc_map,"0xFF82FF"; - specialeffect EF_MAPPILLAR2,AREA,instance_npcname("#Patternwarp45"); + specialeffect EF_MAPPILLAR2; end; OnTimer14000: mapannounce instance_mapname("1@ma_h"),"Bangungot: If you dare, kill me!! I will revive soon!!!",bc_map,"0xFF82FF"; - specialeffect EF_MAPPILLAR2,AREA,instance_npcname("#Patternwarp45"); + specialeffect EF_MAPPILLAR2; end; OnTimer21000: mapannounce instance_mapname("1@ma_h"),"Bangungot: I cannot die this way...!!!!",bc_map,"0xFF82FF"; - specialeffect EF_MAPPILLAR2,AREA,instance_npcname("#Patternwarp45"); + specialeffect EF_MAPPILLAR2; end; OnTimer30000: - donpcevent instance_npcname("#Summon Pillar")+"::OnReset"; + donpcevent instance_npcname("#Mob Pillar")+"::OnReset"; end; OnTimer31000: mapannounce instance_mapname("1@ma_h"),"Bangungot: Hahahahaha!! I'm back with the power from the pillar of spirit!!!",bc_map,"0xFF82FF"; - donpcevent instance_npcname("#Summon Pillar")+"::OnReset"; end; OnTimer36000: - donpcevent instance_npcname("#Boss Room Entry")+"::OnEnableEntry"; - donpcevent instance_npcname("#Summon Boss")+"::OnEnable"; + donpcevent instance_npcname("#Boss Room1 Entry_time")+"::OnEnable"; + donpcevent instance_npcname("#Mob Boss")+"::OnEnable"; + donpcevent instance_npcname("#Mob Pillar")+"::OnDisable"; stopnpctimer; end; } -1@ma_h,118,171,0 script #Boss Room Entry_a 139,10,10,{ +// Warp Portals +//============================================================ +1@ma_h,35,156,0 script #Memorial Exit WARPNPC,2,2,{ end; OnInstanceInit: - disablenpc instance_npcname(strnpcinfo(0)); +OnDisable: + disablenpc instance_npcname("#Memorial Exit"); + end; +OnEnable: + enablenpc instance_npcname("#Memorial Exit"); end; OnTouch: - specialeffect EF_GHOST; - donpcevent instance_npcname("#Boss Room Entry")+"::OnDisableEntry"; - donpcevent instance_npcname("#Boss Room Entry_time")+"::OnEnable"; + warp "ma_dun01",150,9; end; } -1@ma_h,132,171,0 duplicate(#Boss Room Entry_a) #Boss Room Entry_b 139,10,10 -1@ma_h,147,171,0 duplicate(#Boss Room Entry_a) #Boss Room Entry_c 139,10,10 -1@ma_h,118,157,0 duplicate(#Boss Room Entry_a) #Boss Room Entry_d 139,10,10 -1@ma_h,132,157,0 duplicate(#Boss Room Entry_a) #Boss Room Entry_e 139,10,10 -1@ma_h,147,157,0 duplicate(#Boss Room Entry_a) #Boss Room Entry_f 139,10,10 -1@ma_h,118,143,0 duplicate(#Boss Room Entry_a) #Boss Room Entry_g 139,10,10 -1@ma_h,132,143,0 duplicate(#Boss Room Entry_a) #Boss Room Entry_h 139,10,10 -1@ma_h,131,62,0 script #Boss Effect 139,{ //4,4 +1@ma_h,105,157,0 script #Boss Room1 Enter WARPNPC,2,2,{ end; OnInstanceInit: - disablenpc instance_npcname("#Boss Effect"); - initnpctimer; +OnDisable: + disablenpc instance_npcname("#Boss Room1 Enter"); end; -OnTimer3000: - specialeffect EF_BARRIER; - stopnpctimer; - initnpctimer; +OnEnable: + enablenpc instance_npcname("#Boss Room1 Enter"); + end; +OnTouch: + set .@map$,instance_mapname("1@ma_h"); + warp .@map$,116,157; end; } -1@ma_h,43,86,4 script Moaning Patient#1 584,{ +1@ma_h,112,157,0 script #Boss Room1 Exit WARPNPC,2,2,{ end; OnInstanceInit: - monster instance_mapname("1@ma_h"),131,62,"Bangungot",2318,1; +OnDisable: + disablenpc instance_npcname("#Boss Room1 Exit"); end; OnEnable: - mapannounce instance_mapname("1@ma_h"),"Moaning Patient: aaawwww....",bc_map,"0xFF0000"; - initnpctimer; - end; -OnTimer5000: -OnTimer8000: -OnTimer11000: -OnTimer14000: -OnTimer17000: -OnTimer20000: -OnTimer23000: -OnTimer26000: - specialeffect EF_POTION_BERSERK; - specialeffect EF_CURSEATTACK; + enablenpc instance_npcname("#Boss Room1 Exit"); end; -OnTimer30000: - specialeffect EF_POTION_BERSERK; - specialeffect EF_CURSEATTACK; - stopnpctimer; +OnTouch: + set .@map$,instance_mapname("1@ma_h"); + warp .@map$,100,157; end; } -1@ma_h,60,87,4 script Screaming Patient#2 585,{ +1@ma_h,104,63,0 script #Boss Room2 Enter WARPNPC,2,2,{ end; +OnInstanceInit: OnEnable: - switch(atoi(strnpcinfo(2))) { - case 2: set .@str$,"Screaming Patient: Aaaaargh!!"; break; - case 3: set .@str$,"Patient in Pain: Oooooowwww!! It's killing me!!!"; break; - case 4: set .@str$,"Passed Out Patient: ........"; break; - case 5: set .@str$,"Patient with Nightmare: Help~!!! Save me!!!"; break; - case 6: set .@str$,"Sick Looking Patient: Hu..a...aaah.."; break; - case 7: set .@str$,"Horrified Patient: Get away!! Please...."; break; - case 8: set .@str$,"Patient in Sorrow: crying and crying......"; break; - case 9: set .@str$,"Suffering Patient: Stop... please..."; break; - case 10: set .@str$,"Wriggling Patient: awwww..."; break; - case 11: set .@str$,"Patient in Cold Sweat: Help.....help...."; break; - case 12: set .@str$,"Howling Patient: aaaaahhhhhhhhhh!!"; break; - } - mapannounce instance_mapname("1@ma_h"),.@str$,bc_map,"0xFF0000"; - initnpctimer; + enablenpc instance_npcname("#Boss Room2 Enter"); end; -OnTimer5000: -OnTimer8000: -OnTimer11000: -OnTimer14000: -OnTimer17000: -OnTimer20000: -OnTimer23000: -OnTimer26000: - specialeffect EF_POTION_BERSERK; - specialeffect EF_CURSEATTACK; +OnDisable: end; -OnTimer30000: - specialeffect EF_POTION_BERSERK; - specialeffect EF_CURSEATTACK; - stopnpctimer; +OnTouch: + set .@map$,instance_mapname("1@ma_h"); + warp .@map$,117,63; end; } -1@ma_h,60,39,7 duplicate(Screaming Patient#2) Patient in Pain#3 584 -1@ma_h,43,39,7 duplicate(Screaming Patient#2) Passed Out Patient#4 585 -1@ma_h,77,86,4 duplicate(Screaming Patient#2) Patient with Nightmare#5 584 -1@ma_h,69,87,4 duplicate(Screaming Patient#2) Sick Looking Patient#6 585 -1@ma_h,73,39,7 duplicate(Screaming Patient#2) Horrified Patient#7 584 -1@ma_h,65,51,7 duplicate(Screaming Patient#2) Patient in Sorrow#8 585 -1@ma_h,87,86,4 duplicate(Screaming Patient#2) Suffering Patient#9 584 -1@ma_h,104,86,4 duplicate(Screaming Patient#2) Wriggling Patient#10 585 -1@ma_h,99,39,7 duplicate(Screaming Patient#2) Patient in Cold Sweat#11 584 -1@ma_h,87,39,7 duplicate(Screaming Patient#2) Howling Patient#12 585 -1@ma_h,43,181,4 script Moaning Patient#b 584,{ end; } -1@ma_h,60,182,4 script Screaming Patient#b 585,{ end; } -1@ma_h,60,132,7 script Patient in Pain#b 584,{ end; } -1@ma_h,43,132,7 script Passed Out Patient#b 585,{ end; } -1@ma_h,77,182,4 script Patient with Nightmare#b 584,{ end; } -1@ma_h,69,182,4 script Sick Looking Patient#b 585,{ end; } -1@ma_h,73,132,7 script Horrified Patient#b 584,{ end; } -1@ma_h,65,144,7 script Patient in Sorrow#b 585,{ end; } -1@ma_h,87,181,4 script Suffering Patient#b 584,{ end; } -1@ma_h,104,181,4 script Wriggling Patient#b 585,{ end; } -1@ma_h,99,132,7 script Patient in Cold Sweat#b 584,{ end; } -1@ma_h,87,132,7 script Howling Patient#b 585,{ end; } - -// Warp Portals -//============================================================ -1@ma_h,35,156,0 warp #Boss Room Exit 2,2,ma_dun01,150,9 -1@ma_h,105,157,0 warp #Boss Room Door 2,2,1@ma_h,116,157 -1@ma_h,112,157,0 warp #Boss Room Door1 2,2,1@ma_h,100,157 -1@ma_h,104,63,0 warp #Boss Room Door2 2,2,1@ma_h,117,63 -1@ma_h,112,63,0 warp #Boss Room Door3 2,2,1@ma_h,100,63 -1@ma_h,36,157,0 warp #Patternwarp1 7,7,1@ma_h,117,63 -1@ma_h,46,157,0 warp #Patternwarp2 7,7,1@ma_h,117,63 -1@ma_h,57,157,0 warp #Patternwarp3 7,7,1@ma_h,117,63 -1@ma_h,67,157,0 warp #Patternwarp4 7,7,1@ma_h,117,63 -1@ma_h,79,157,0 warp #Patternwarp5 7,7,1@ma_h,117,63 -1@ma_h,89,157,0 warp #Patternwarp6 7,7,1@ma_h,117,63 -1@ma_h,100,157,0 warp #Patternwarp7 7,7,1@ma_h,117,63 -1@ma_h,51,173,0 warp #Patternwarp8 10,10,1@ma_h,117,63 -1@ma_h,52,140,0 warp #Patternwarp34 10,10,1@ma_h,117,63 -1@ma_h,73,173,0 warp #Patternwarp35 10,10,1@ma_h,117,63 -1@ma_h,73,140,0 warp #Patternwarp36 10,10,1@ma_h,117,63 -1@ma_h,95,173,0 warp #Patternwarp37 10,10,1@ma_h,117,63 -1@ma_h,95,140,0 warp #Patternwarp38 10,10,1@ma_h,117,63 -//1@ma_h,70,170,0 warp #Patternwarp39 10,10,1@ma_h,117,63 -//1@ma_h,77,169,0 warp #Patternwarp40 10,10,1@ma_h,117,63 -1@ma_h,117,171,0 warp #Patternwarp41 10,10,1@ma_h,117,63 -1@ma_h,131,171,0 warp #Patternwarp42 10,10,1@ma_h,117,63 -1@ma_h,146,171,0 warp #Patternwarp43 10,10,1@ma_h,117,63 -1@ma_h,117,157,0 warp #Patternwarp44 10,10,1@ma_h,117,63 -1@ma_h,131,157,0 warp #Patternwarp45 10,10,1@ma_h,117,63 -1@ma_h,146,157,0 warp #Patternwarp46 10,10,1@ma_h,117,63 -1@ma_h,117,143,0 warp #Patternwarp47 10,10,1@ma_h,117,63 -1@ma_h,131,143,0 warp #Patternwarp48 10,10,1@ma_h,117,63 -1@ma_h,146,143,0 warp #Patternwarp49 10,10,1@ma_h,117,63 -1@ma_h,36,63,0 warp #Patternwarp10 7,7,1@ma_h,116,157 -1@ma_h,46,63,0 warp #Patternwarp11 7,7,1@ma_h,116,157 -1@ma_h,56,63,0 warp #Patternwarp12 7,7,1@ma_h,116,157 -1@ma_h,67,63,0 warp #Patternwarp13 7,7,1@ma_h,116,157 -1@ma_h,78,63,0 warp #Patternwarp14 7,7,1@ma_h,116,157 -1@ma_h,89,63,0 warp #Patternwarp15 7,7,1@ma_h,116,157 -1@ma_h,100,63,0 warp #Patternwarp16 7,7,1@ma_h,116,157 -1@ma_h,51,79,0 warp #Patternwarp17 10,10,1@ma_h,116,157 -1@ma_h,51,46,0 warp #Patternwarp18 10,10,1@ma_h,116,157 -1@ma_h,73,80,0 warp #Patternwarp19 10,10,1@ma_h,116,157 -1@ma_h,73,46,0 warp #Patternwarp20 10,10,1@ma_h,116,157 -1@ma_h,95,79,0 warp #Patternwarp21 10,10,1@ma_h,116,157 -1@ma_h,95,46,0 warp #Patternwarp22 10,10,1@ma_h,116,157 -//1@ma_h,193,82,0 warp #Patternwarp23 7,7,1@ma_h,116,157 -//1@ma_h,193,82,0 warp #Patternwarp24 7,7,1@ma_h,116,157 -1@ma_h,117,77,0 warp #Patternwarp25 10,10,1@ma_h,116,157 -1@ma_h,131,77,0 warp #Patternwarp26 10,10,1@ma_h,116,157 -1@ma_h,146,77,0 warp #Patternwarp27 10,10,1@ma_h,116,157 -1@ma_h,117,63,0 warp #Patternwarp28 10,10,1@ma_h,116,157 -1@ma_h,131,63,0 warp #Patternwarp29 10,10,1@ma_h,116,157 -1@ma_h,146,63,0 warp #Patternwarp30 10,10,1@ma_h,116,157 -1@ma_h,117,49,0 warp #Patternwarp31 10,10,1@ma_h,116,157 -1@ma_h,131,49,0 warp #Patternwarp32 10,10,1@ma_h,116,157 -1@ma_h,146,49,0 warp #Patternwarp33 10,10,1@ma_h,116,157 +1@ma_h,112,63,0 script #Boss Room2 Exit WARPNPC,2,2,{ + end; +OnInstanceInit: +OnEnable: + enablenpc instance_npcname("#Boss Room2 Exit"); + end; +OnDisable: + end; +OnTouch: + set .@map$,instance_mapname("1@ma_h"); + warp .@map$,100,63; + end; +} -// Disable select warps. -// Custom, but saves processing and lines. -1@ma_h,1,1,0 script #ma_hos_warp_init 844,{ +1@ma_h,36,157,0 script #Patternwarp1 HIDDEN_WARP_NPC,7,7,{ end; OnInstanceInit: - disablenpc instance_npcname("#Boss Room Exit"); - disablenpc instance_npcname("#Boss Room Door"); - disablenpc instance_npcname("#Boss Room Door1"); - for(set .@i,1; .@i<=8; set .@i,.@i+1) - disablenpc instance_npcname("#Patternwarp"+.@i); - for(set .@i,34; .@i<=38; set .@i,.@i+1) - disablenpc instance_npcname("#Patternwarp"+.@i); - // Skip 39-40 since they're disabled in the official script. - for(set .@i,41; .@i<=49; set .@i,.@i+1) - disablenpc instance_npcname("#Patternwarp"+.@i); - disablenpc instance_npcname("#ma_hos_warp_init"); +OnDisable: + hideonnpc instance_npcname(strnpcinfo(0)); + disablenpc instance_npcname(strnpcinfo(0)); + end; +OnEnable: + enablenpc instance_npcname(strnpcinfo(0)); + hideoffnpc instance_npcname(strnpcinfo(0)); + end; +OnTouch: + set .@map$,instance_mapname("1@ma_h"); + sleep2 500; + warp .@map$,117,63; + end; +} +1@ma_h,46,157,0 duplicate(#Patternwarp1) #Patternwarp2 HIDDEN_WARP_NPC,7,7 +1@ma_h,57,157,0 duplicate(#Patternwarp1) #Patternwarp3 HIDDEN_WARP_NPC,7,7 +1@ma_h,67,157,0 duplicate(#Patternwarp1) #Patternwarp4 HIDDEN_WARP_NPC,7,7 +1@ma_h,79,157,0 duplicate(#Patternwarp1) #Patternwarp5 HIDDEN_WARP_NPC,7,7 +1@ma_h,89,157,0 duplicate(#Patternwarp1) #Patternwarp6 HIDDEN_WARP_NPC,7,7 +1@ma_h,100,157,0 duplicate(#Patternwarp1) #Patternwarp7 HIDDEN_WARP_NPC,7,7 +1@ma_h,51,173,0 duplicate(#Patternwarp1) #Patternwarp8 HIDDEN_WARP_NPC,10,10 +1@ma_h,52,140,0 duplicate(#Patternwarp1) #Patternwarp34 HIDDEN_WARP_NPC,10,10 +1@ma_h,73,173,0 duplicate(#Patternwarp1) #Patternwarp35 HIDDEN_WARP_NPC,10,10 +1@ma_h,73,140,0 duplicate(#Patternwarp1) #Patternwarp36 HIDDEN_WARP_NPC,10,10 +1@ma_h,95,173,0 duplicate(#Patternwarp1) #Patternwarp37 HIDDEN_WARP_NPC,10,10 +1@ma_h,95,140,0 duplicate(#Patternwarp1) #Patternwarp38 HIDDEN_WARP_NPC,10,10 +//1@ma_h,70,170,0 duplicate(#Patternwarp1) #Patternwarp39 HIDDEN_WARP_NPC,10,10 +//1@ma_h,77,169,0 duplicate(#Patternwarp1) #Patternwarp40 HIDDEN_WARP_NPC,10,10 +1@ma_h,117,171,0 duplicate(#Patternwarp1) #Patternwarp41 HIDDEN_WARP_NPC,10,10 +1@ma_h,131,171,0 duplicate(#Patternwarp1) #Patternwarp42 HIDDEN_WARP_NPC,10,10 +1@ma_h,146,171,0 duplicate(#Patternwarp1) #Patternwarp43 HIDDEN_WARP_NPC,10,10 +1@ma_h,117,157,0 duplicate(#Patternwarp1) #Patternwarp44 HIDDEN_WARP_NPC,10,10 +1@ma_h,131,157,0 duplicate(#Patternwarp1) #Patternwarp45 HIDDEN_WARP_NPC,10,10 +1@ma_h,146,157,0 duplicate(#Patternwarp1) #Patternwarp46 HIDDEN_WARP_NPC,10,10 +1@ma_h,117,143,0 duplicate(#Patternwarp1) #Patternwarp47 HIDDEN_WARP_NPC,10,10 +1@ma_h,131,143,0 duplicate(#Patternwarp1) #Patternwarp48 HIDDEN_WARP_NPC,10,10 +1@ma_h,146,143,0 duplicate(#Patternwarp1) #Patternwarp49 HIDDEN_WARP_NPC,10,10 +1@ma_h,36,63,0 script #Patternwarp10 HIDDEN_WARP_NPC,7,7,{ + end; +OnInstanceInit: +OnEnable: + enablenpc instance_npcname(strnpcinfo(0)); + end; +OnDisable: + disablenpc instance_npcname(strnpcinfo(0)); + end; +OnTouch: + set .@map$,instance_mapname("1@ma_h"); + warp .@map$,116,157; end; } +1@ma_h,46,63,0 duplicate(#Patternwarp10) #Patternwarp11 HIDDEN_WARP_NPC,7,7 +1@ma_h,56,63,0 duplicate(#Patternwarp10) #Patternwarp12 HIDDEN_WARP_NPC,7,7 +1@ma_h,67,63,0 duplicate(#Patternwarp10) #Patternwarp13 HIDDEN_WARP_NPC,7,7 +1@ma_h,78,63,0 duplicate(#Patternwarp10) #Patternwarp14 HIDDEN_WARP_NPC,7,7 +1@ma_h,89,63,0 duplicate(#Patternwarp10) #Patternwarp15 HIDDEN_WARP_NPC,7,7 +1@ma_h,100,63,0 duplicate(#Patternwarp10) #Patternwarp16 HIDDEN_WARP_NPC,7,7 +1@ma_h,51,79,0 duplicate(#Patternwarp10) #Patternwarp17 HIDDEN_WARP_NPC,10,10 +1@ma_h,51,46,0 duplicate(#Patternwarp10) #Patternwarp18 HIDDEN_WARP_NPC,10,10 +1@ma_h,73,80,0 duplicate(#Patternwarp10) #Patternwarp19 HIDDEN_WARP_NPC,10,10 +1@ma_h,73,46,0 duplicate(#Patternwarp10) #Patternwarp20 HIDDEN_WARP_NPC,10,10 +1@ma_h,95,79,0 duplicate(#Patternwarp10) #Patternwarp21 HIDDEN_WARP_NPC,10,10 +1@ma_h,95,46,0 duplicate(#Patternwarp10) #Patternwarp22 HIDDEN_WARP_NPC,10,10 +//1@ma_h,193,82,0 duplicate(#Patternwarp10) #Patternwarp23 HIDDEN_WARP_NPC,7,7 +//1@ma_h,193,82,0 duplicate(#Patternwarp10) #Patternwarp24 HIDDEN_WARP_NPC,7,7 +1@ma_h,117,77,0 duplicate(#Patternwarp10) #Patternwarp25 HIDDEN_WARP_NPC,10,10 +1@ma_h,131,77,0 duplicate(#Patternwarp10) #Patternwarp26 HIDDEN_WARP_NPC,10,10 +1@ma_h,146,77,0 duplicate(#Patternwarp10) #Patternwarp27 HIDDEN_WARP_NPC,10,10 +1@ma_h,117,63,0 duplicate(#Patternwarp10) #Patternwarp28 HIDDEN_WARP_NPC,10,10 +1@ma_h,131,63,0 duplicate(#Patternwarp10) #Patternwarp29 HIDDEN_WARP_NPC,10,10 +1@ma_h,146,63,0 duplicate(#Patternwarp10) #Patternwarp30 HIDDEN_WARP_NPC,10,10 +1@ma_h,117,49,0 duplicate(#Patternwarp10) #Patternwarp31 HIDDEN_WARP_NPC,10,10 +1@ma_h,131,49,0 duplicate(#Patternwarp10) #Patternwarp32 HIDDEN_WARP_NPC,10,10 +1@ma_h,146,49,0 duplicate(#Patternwarp10) #Patternwarp33 HIDDEN_WARP_NPC,10,10 diff --git a/re/instances/BuwayaCave.txt b/re/instances/BuwayaCave.txt index baec5bd..472afa0 100644 --- a/re/instances/BuwayaCave.txt +++ b/re/instances/BuwayaCave.txt @@ -14,6 +14,8 @@ //= 1.0 First version. [Euphy] //============================================================ +// Instance Creation :: buwaya_dun +//============================================================ ma_fild02,312,317,5 script Guard#buwaya_cave 570,{ if (BaseLevel < 130) { mes "[Guard]"; @@ -152,6 +154,8 @@ OnTouch: } } +// Instance Scripts :: buwaya_in +//============================================================ 1@ma_c,33,112,0 script #damage 139,7,7,{ end; OnInstanceInit: diff --git a/re/instances/EclageInterior.txt b/re/instances/EclageInterior.txt new file mode 100644 index 0000000..6789cc4 --- /dev/null +++ b/re/instances/EclageInterior.txt @@ -0,0 +1,473 @@ +//===== rAthena Script ======================================= +//= Eclage Interior +//===== By: ================================================== +//= Dastgir +//===== Current Version: ===================================== +//= 1.1 +//===== Compatible With: ===================================== +//= rAthena Project +//===== Description: ========================================= +//= [Official Conversion] +//= Eclage Interior Instance +//===== Additional Comments: ================================= +//= 1.0 Converted from the official Aegis script. [Dastgir] +//= 1.1 Converted from Hercules script to rAthena script & Small bug fix. [Skorm] +//============================================================ + +ecl_hub01,132,12,3 script Chief of Staff#tl02 435,{ + .@party_id = getcharid(1); + .@md_name$ = "Eclage Interior"; + + if (.@party_id == 0 || getpartyleader(.@party_id,2) != getcharid(0)){ + mes "-! Warning !-"; + mes "This current quest will be held at Memorial dungeon."; + mes "Only the party leader will enter. Please create your party."; + close; + } + if (ep14_2_mylord == 29) { + mes "[Shenime]"; + mes "This place is set up with lighting for Orb."; + mes "If you favor Mayor, you should be cautious here."; + next; + switch (select("Enter it.:Forget it.")) { + case 1: + if (instance_create(.@md_name$) < 0) { + mes "[Shenime]"; + mes "There are some soldiers dispatched by Mayor not too long ago."; + mes "I should sure hope that you aren't the disturbance they're looking for, right?"; + close; + } + ecl_interior_time = gettimetick(2) + 20 * 60; + mes "[Shenime]"; + mes "Given the tight internal security, you should prepare yourself."; + mes "Wait here for a minute."; + close; + case 2: + mes "[Shenime]"; + mes "It's not an easy task."; + close; + } + } + mes "[High-level Laphine's]"; + mes "Hmm? This room?"; + mes "Never mind. Don't worry about it."; + close; +} + +ecl_hub01,130,15,0 script It is closed shut. 844,{ + if (ep14_2_mylord == 29) { + mes "This door connects to the plaza's ceiling."; + mes "It's also a place where the lighting is set up to make Orb seem more beautiful."; + next; + if (select("Enter it.:Forget it.") == 1) { + .@party_id = getcharid(1); + .@md_name$ = "Eclage Interior"; + if (.@party_id == 0 || getpartyleader(.@party_id,2) != getcharid(0)) { + mes "-! Warning !-"; + mes "This current quest will be held at Memorial dungeon."; + mes "Only the party leader will enter. Please create your party."; + close; + } + if (gettimetick(2) >= ecl_interior_time){ + mes "[Shenime]"; + mes "Looks like the soldiers inside are really tense."; + mes "It is pretty difficult to guide an outsider like you."; + close; + } + switch (instance_enter(.@md_name$)) { + case 3: + mes "An unknown error has occurred."; + close; + case 2: + mes "It is closed shut."; + close; + case 0: + mapannounce "ecl_hub01",getpartyname(.@party_id) + " Party leader " + strcharinfo(0) + " is entering " + .@md_name$,bc_map,"0x00ff99"; + end; + default: + } + } else + close; + } + mes "This door connects to the plaza's ceiling."; + mes "It's also a place where the lighting is set up to make Orb seem more beautiful."; + mes "It is closed shut."; + close; +} + +1@ecl,58,69,3 script Shenime#ecl01 435,{ + mes "[Shenime]"; + mes "Oh, what's going on here?"; + mes "They destroyed additional troops that Mayor sent?"; + next; + select("What...?:I fought monsters off!"); + mes "[Shenime]"; + mes "It doesn't matter."; + mes "Your job ends here."; + mes "Now you became a betrayer."; + mes "Farewell, then!"; + specialeffect EF_BEGINSPELL3; + next; + mes "[" + strcharinfo(0) + "]"; + mes "No...way!!!"; + specialeffect2 EF_LORD; + percentheal -99,0; + soundeffect "wander_man_move.wav",1; + sc_start SC_BLIND,60000,0; + close2; + warp instance_mapname("1@ecl"),146,95; + end; + +OnInstanceInit: + hideonnpc instance_npcname(strnpcinfo(0)); + end; + +OnEnable: + hideoffnpc instance_npcname(strnpcinfo(0)); + end; +} + +1@ecl,51,64,1 script Suspicious Creature#1 2375,{ + end; +} +1@ecl,43,67,3 duplicate(Suspicious Creature#1) Suspicious Creature#2 2375,0,0 +1@ecl,55,80,3 duplicate(Suspicious Creature#1) Suspicious Creature#3 2375,0,0 +1@ecl,60,75,3 duplicate(Suspicious Creature#1) Suspicious Creature#4 2375,0,0 + +1@ecl,42,80,5 script Suspicious Creature#5 2376,{ + end; +OnInstanceInit: + hideonnpc instance_npcname(strnpcinfo(0)); + end; +} +1@ecl,48,86,3 duplicate(Suspicious Creature#5) Suspicious Creature#6 2376,0,0 +1@ecl,58,82,3 duplicate(Suspicious Creature#5) Suspicious Creature#7 2376,0,0 +1@ecl,56,88,3 duplicate(Suspicious Creature#5) Suspicious Creature#8 2376,0,0 + +1@ecl,53,83,0 script #sndmaster HIDDEN_WARP_NPC,10,10,{ + end; + +OnInstanceInit: + 'mob_summoned = 0; + disablenpc instance_npcname(strnpcinfo(0)); + end; + +OnEnable: + sleep 1000; + mapannounce instance_mapname("1@ecl"),"Warning: Abnormal occurrence in the lighting room. Abnormal occurrence in the lighting room.",bc_map,"0xffff00"; //FW_NORMAL 12 0 0 + sleep 2000; + mapannounce instance_mapname("1@ecl"),"Suspicious Creature: Kerrrrr....krwahhhh!!",bc_map,"0xffff00"; //FW_NORMAL 12 0 0 + hideoffnpc instance_npcname("Suspicious Creature#5"); + hideoffnpc instance_npcname("Suspicious Creature#6"); + hideoffnpc instance_npcname("Suspicious Creature#7"); + hideoffnpc instance_npcname("Suspicious Creature#8"); + sleep 3000; + hideonnpc instance_npcname("#sndmaster"); + end; + +OnMyMobDead: + if (mobcount(instance_mapname("1@ecl"),instance_npcname("#sndmaster")+"::OnMyMobDead") == 0) { + donpcevent instance_npcname("Shenime#ecl01")+"::OnEnable"; + mapannounce instance_mapname("1@ecl"),"Shenime: Good, I got here just in time.",bc_map,"0xffff00"; //FW_NORMAL 12 0 0 + } + end; + +OnTouch: + if ('mob_summoned > 1) end; + mes "Upon eliminating the intruders near the Orb, another strange-looking creatures appeared."; + next; + mes "We couldn't communicate with them either, and one of them seemed furious after looking around and finding out that its fellows are defeated."; + next; + mes "[" + strcharinfo(0) + "]"; + mes "They look as if they are incarnation of Morroc."; + mes "Is the King of Domons after the Orb?"; + mes "Or is it just a coincidence?"; + next; + mes "[Subordinate of the King of Demons]"; + mes "Kyaarr...Keraahhh!!!"; + mes "Kkwaaa!"; + next; + mes "A battle cannot be avoided!"; + mes "They will kill me!"; + close2; + hideonnpc instance_npcname("Suspicious Creature#5"); + hideonnpc instance_npcname("Suspicious Creature#6"); + hideonnpc instance_npcname("Suspicious Creature#7"); + hideonnpc instance_npcname("Suspicious Creature#8"); + disablenpc instance_npcname("Suspicious Creature#5"); + disablenpc instance_npcname("Suspicious Creature#6"); + disablenpc instance_npcname("Suspicious Creature#7"); + disablenpc instance_npcname("Suspicious Creature#8"); + .@eclmap$ = instance_mapname("1@ecl"); + .@sndmaster$ = instance_npcname("#sndmaster"); + monster .@eclmap$,42,80,"Subordinate of the King of Demons",2376,1,.@sndmaster$+"::OnMyMobDead"; + monster .@eclmap$,48,86,"Subordinate of the King of Demons",2376,1,.@sndmaster$+"::OnMyMobDead"; + monster .@eclmap$,59,82,"Subordinate of the King of Demons",2376,1,.@sndmaster$+"::OnMyMobDead"; + monster .@eclmap$,56,88,"Subordinate of the King of Demons",2376,1,.@sndmaster$+"::OnMyMobDead"; + monster .@eclmap$,39,72,"Subordinate of the King of Demons",2376,1,.@sndmaster$+"::OnMyMobDead"; + monster .@eclmap$,42,69,"Subordinate of the King of Demons",2376,1,.@sndmaster$+"::OnMyMobDead"; + monster .@eclmap$,47,64,"Subordinate of the King of Demons",2376,1,.@sndmaster$+"::OnMyMobDead"; + monster .@eclmap$,50,60,"Subordinate of the King of Demons",2376,1,.@sndmaster$+"::OnMyMobDead"; + 'mob_summoned = 2; + end; +} + +1@ecl,57,65,0 script #event 139,5,5,{ + end; +OnTouch: + if ('mob_summoned > 0) end; + .@eclmap$ = instance_mapname("1@ecl"); + .@eventname$ = instance_npcname("#event"); + mes "An empty room with nothing inside."; + mes "a light is coming out of a circular equipment in the middle of the room."; + next; + mes "[Suspicious Creature]"; + mes "Keheehehehe......"; + next; + mes "A group of unidentifiable creatures is approaching threateningly."; + mes "They seemed surprised, and although Bifrost's will still holds, it's hard to communicate."; + next; + mes "[Suspicious Creature]"; + mes "Kyaarr...Ke...Keryarya!!"; + next; + mes "It seems like they are going to start attacking any minute."; + mes "We cannot help fighting them!"; + close2; + hideonnpc instance_npcname("Suspicious Creature#1"); + hideonnpc instance_npcname("Suspicious Creature#2"); + hideonnpc instance_npcname("Suspicious Creature#3"); + hideonnpc instance_npcname("Suspicious Creature#4"); + disablenpc instance_npcname("Suspicious Creature#1"); + disablenpc instance_npcname("Suspicious Creature#2"); + disablenpc instance_npcname("Suspicious Creature#3"); + disablenpc instance_npcname("Suspicious Creature#4"); + monster .@eclmap$,51,64,"Suspicious Creature",2375,1,.@eventname$+"::OnMyMobDead"; + monster .@eclmap$,43,67,"Suspicious Creature",2375,1,.@eventname$+"::OnMyMobDead"; + monster .@eclmap$,55,80,"Suspicious Creature",2375,1,.@eventname$+"::OnMyMobDead"; + monster .@eclmap$,60,75,"Suspicious Creature",2375,1,.@eventname$+"::OnMyMobDead"; + 'mob_summoned = 1; + end; + +OnMyMobDead: + if (mobcount(instance_mapname("1@ecl"),instance_npcname("#event")+"::OnMyMobDead") == 0) { + enablenpc instance_npcname("#sndmaster"); + donpcevent instance_npcname("#sndmaster")+"::OnEnable"; + } + end; +} + +1@ecl,148,97,3 script Avant# 618,{ + mes "[Avant]"; + mes "Hey, look who's here!"; + mes "You're a friend of my son, right?"; + mes "What a strange chance it is that has brought us together here!"; + cutin "avant01",1; + next; + mes "[Avant]"; + mes "Did something happen to you?"; + mes "There was a subtle and magical echo to it."; + mes "Immidiately after that, you were thrown here."; + next; + if (select("It's all because of you!:Shenime said...") == 1) { + mes "[Avant]"; + mes "I don't understand a word you're saying."; + mes "Can't you organize your story? Don't you know 'five W's and one H' rule?"; + next; + } + mes "[Avant]"; + mes "Ooh...so that's what happened."; + mes "So you're saying that Shenime was after the Orb?"; + next; + mes "[Avant]"; + mes "hehehe...hahahhaha ahahahahha"; + mes "Well, well...did he get me, too?"; + mes "Me, Avant, of all the people?! Hahahaha!"; + cutin "avant02",1; + next; + select("What do you mean?"); + mes "[Avant]"; + mes "I was doing a research on the power of the Orb on my own."; + mes "But Shenime just urged me persistently."; + cutin "avant01",1; + next; + mes "[Avant]"; + mes "I started from thinking about the beauty of the Orb and went on to wondering what kind of power is accumulated inside the Orb..."; + mes "and I started questioning the principle of the Orb's power since we all benefit from it."; + next; + mes "[Avant]"; + mes "All Laphines think of the Orb as something natural as air and water, but he was the first one to make me perceive it differently and investigate its origin."; + mes "Right...Shenime. He excited my curiosity on purpose."; + next; + mes "[Avant]"; + mes "Stimulate a person who wasn't aware of air and water, and make him recognize and carry on investigating!"; + mes "Well, well...isn't that interesting!"; + cutin "avant02",1; + next; + mes "[Avant]"; + mes "Ha...hahaha..."; + mes "...I'm so angry about the fact that I just realized how he used me, but what's even worse is that I've done something horrible to our people."; + mes "I think I'm pretty irritated now."; + next; + select("You had a conscience?"); + mes "[Avant]"; + mes "What kind of a person do you think I am, seriously!"; + mes "Is it because of my sons?"; + mes "Well, then, I can't blame you too much."; + cutin "avant01",1; + next; + mes "[Avant]"; + mes "...Bah."; + mes "It's no fun."; + mes "It's not fun anymore. I'm no longer interested in you."; + next; + mes "[Avant]"; + mes "......"; + mes "Seems like there's a visitor."; + next; + cutin "minuel01",4; + mes "[Minuel]"; + mes "" + strcharinfo(0) + "Sir,"; + mes "Although you're detained on suspicion of being responsible for the recent incident in the lighting room,"; + mes "there are some witnesses to prove your innocence."; + next; + mes "[Minuel]"; + mes "I don't know the details,"; + mes "but I also believe you're not guilty."; + mes "I'll move you to the treatment room since this seems like a severe wound."; + next; + mes "[Minuel]"; + mes "I don't think it's a big deal."; + mes "...hopefully."; + mes "Let's go. I'll guide you."; + close2; + cutin "",255; + warp "1@ecl",146,29; + end; +} + +1@ecl,148,29,3 script Loki#ecl01 512,{ + mes "[Loki]"; + mes "It seems like this guy next to me has a lot more to say than I do."; + mes "Why don't you explain to him first?"; + close; +} + +1@ecl,147,30,3 script Nydhog#ecl01 510,{ + mes "[Guardian Nydhog]"; + mes "I think you should talk to Hisie first."; + close; +} + +1@ecl,144,27,5 script Hisie#ecl01 623,{ + cutin "hisie01",0; + mes "[Hisie]"; + mes "Can you tell me exactly what happened?"; + next; + select("I fought with monsters."); + cutin "hisie03",0; + mes "[Hisie]"; + mes "Monsters? Subordinates of Morroc?"; + mes "What you were trying to kill were our soldiers, the Laphines!!"; + mes "What on earth happened there?"; + npcskill "AL_HEAL",9,99,80; + next; + cutin "",255; + mes "[Loki]"; + mes "It's because of this."; + mes "" + strcharinfo(0) + "It was inside the body of -"; + mes "This is how powerful Shenime is."; + next; + mes "On Loki's palm, there rested a small, thin, and dried piece of thorn."; + next; + cutin "hisie03",0; + mes "[Hisie]"; + mes "Shenime, the Chief of Staff?"; + mes "Why is he related to this?"; + npcskill "AL_HEAL",9,99,80; + next; + cutin "",255; + mes "[Loki]"; + mes "Shenime is one of the subordinates of Morroc."; + mes "His power enbales him to control another person directly or mentally influence that person indirectly through a part of his body."; + next; + select("Now that I think about it..."); + mes "[" + strcharinfo(0) + "]"; + mes "Right before coming here, Shenime reached his hand out to me and I felt a spark when I held his hand."; + mes "I thought it was just my imagination and ignored it...maybe that's when he..."; + next; + mes "[Nydhog]"; + mes "You're probably right."; + mes "They use wicked tricks."; + mes "This thorn here probably has clouded your judgement."; + next; + cutin "hisie03",0; + mes "[Hisie]"; + mes "So you're saying that he deceived us all?"; + mes "The Chief of Staff is a Laphine who stayed with us for a long time! He can't be..."; + npcskill "AL_HEAL",9,99,80; + next; + cutin "",255; + mes "[Loki]"; + mes "He might have been under the influence for a good while."; + mes "Anyway, this guy is not guilty."; + mes "I can prove it."; + next; + mes "[Nydhog]"; + mes "I swear by the name of the guardian of Yggdrasil, too."; + mes "" + strcharinfo(0) + "- will by no means do such a thing."; + next; + cutin "hisie02",0; + mes "[Hisie]"; + mes "Hah..."; + mes "But things got out of control."; + mes "I didn't expect this."; + next; + select("What happened to the Orb?"); + mes "[Hisie]"; + mes "The inner core is stolen."; + mes "Nobody knows that the Orb's inner core is gone,"; + mes "and that's why Karr didn't make it here."; + npcskill "AL_HEAL",9,99,80; + next; + mes "[Hisie]"; + mes "And what's more, several soldiers are injured because of you."; + mes "None of them died fortunately, but most of them are wounded severely."; + mes "The situation is not very good right now."; + next; + cutin "",255; + mes "[Loki]"; + mes "Someone has to take the responsibility here then."; + mes "In all probablility," + strcharinfo(0) + "it will be you."; + next; + cutin "hisie02",0; + mes "[Hisie]"; + mes "......these two gentlemen here cleared up all charges related to the Orb,"; + mes "but both you and Karr won't be able to avoid your responsibility."; + mes "you'll have to catch Shenime."; + npcskill "AL_HEAL",9,99,80; + next; + cutin "hisie01",0; + mes "[Hisie]"; + mes "It seems like you've rested enough. Let's get going."; + mes "Karr is waiting for you."; + mes "What will you two do?"; + next; + cutin "",255; + mes "[Loki]"; + mes "Don't worry about us."; + mes "Our target is Morroc, the King of Demons."; + mes "It's good enough that we found an evidence here."; + next; + cutin "hisie01",0; + mes "[Hisie]"; + mes "Thank you for your help."; + mes "We will take off now."; + mes "Let's go." + strcharinfo(0) + "."; + ep14_2_mylord = 30; + changequest 7450,7451; + close2; + cutin "",255; + warp "ecl_in03",57,76; + instance_destroy; + end; +} diff --git a/re/instances/HazyForest.txt b/re/instances/HazyForest.txt index cf52354..e4f650a 100644 --- a/re/instances/HazyForest.txt +++ b/re/instances/HazyForest.txt @@ -15,7 +15,7 @@ //= 1.1 Instance system rewrite. [Euphy] //============================================================ -// Instance Creation +// Instance Creation :: md_mistwoods_enter //============================================================ bif_fild01,158,340,5 script Laphine Soldier#mist 447,{ @@ -168,7 +168,7 @@ bif_fild01,161,355,0 script Log Tunnel 844,{ } } -// Instance Scripts +// Instance Scripts :: md_mistwoods_in //============================================================ 1@mist,89,29,0 script #Whisper_mist 844,1,1,{ end; @@ -502,6 +502,8 @@ OnMyMobDead: // Wandering Guardian Quest //============================================================ + +// ----------------- Part of md_mistwoods_in ----------------- 1@mist,2,2,0 script #Dragon Herder 844,{ end; OnInstanceInit: @@ -747,6 +749,7 @@ OnEnable: end; } +// --------------- Part of md_mistwoods_enter ---------------- mora,46,152,5 script Flower Smelling Lady 510,{ if (ep14_1_mistwoods < 3) { mes "[Flower Smell Lady]"; @@ -922,7 +925,7 @@ mora,48,152,3 script Sharp Eyed Man 512,{ } } -// Monster Spawns +// Monster Spawns :: md_mist_mob //============================================================ 1@mist,1,1,0 script #Mist Mobs Respawn1 844,{ end; @@ -997,7 +1000,7 @@ OnInstanceInit: end; } -// Warp Portals +// Warp Portals :: md_mist_in_link //============================================================ bif_fild01,38,374,0 script Mysterious Flower#ep14_1 844,{ mes "It's a giant flower with mysterious energy."; diff --git a/re/instances/MalangdoCulvert.txt b/re/instances/MalangdoCulvert.txt index c250269..72363d7 100644 --- a/re/instances/MalangdoCulvert.txt +++ b/re/instances/MalangdoCulvert.txt @@ -19,7 +19,7 @@ //= 1.1 Instance system rewrite. [Euphy] //============================================================ -// Quest NPCs +// Quest NPCs :: mal_yong //============================================================ mal_in01,172,28,2 script Albo#mal 561,{ if (checkweight(1201,1) == 0) { @@ -265,7 +265,7 @@ L_CheckQuest: return; } -// Instance Creation +// Instance Creation :: pump //============================================================ mal_in01,160,34,4 script Missing, the Cleaner 545,{ if (BaseLevel < 90) { @@ -565,7 +565,7 @@ function script F_mal_missing { } } -// Instance: Normal Mode +// Instance: Normal Mode :: in_pump1 //============================================================ 1@pump,84,105,4 script Missing, the Cleaner#nf 545,{ mes "[Missing, the Cleaner]"; @@ -895,7 +895,7 @@ OnInstanceInit: end; } -// Instance: Hard Mode +// Instance: Hard Mode :: in_pump2 //============================================================ 2@pump,39,88,4 duplicate(Missing, the Cleaner#nf) Missing, the Cleaner#hf 545 diff --git a/re/instances/NightmarishJitterbug.txt b/re/instances/NightmarishJitterbug.txt new file mode 100644 index 0000000..a5850c5 --- /dev/null +++ b/re/instances/NightmarishJitterbug.txt @@ -0,0 +1,5886 @@ +//===== rAthena Script ======================================= +//= Nightmarish Jitterbug +//===== By: ================================================== +//= Tokeiburu, Nova +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Nightmarish Jitterbug Instance +//===== Additional Comments: ================================= +//= 1.0 First version, edited. [exneval] +//============================================================ + +// Instance start +//============================================================ +moc_para01,26,95,5 script Roel#sara 10040,{ + cutin "roel01",0; + if (BaseLevel < 120) { + mes "[Roel]"; + mes "We're looking for adventurers that can join us for a brand new adventure. If you're at the Level to accept Aigu's quests, then you're qualified."; + close2; + cutin "roel01",255; + end; + } + if (!isbegin_quest(13181) && !isbegin_quest(13183)) { + mes "[Roel]"; + mes "I'm Roel, new member of the White Wings Guild. Rotert had me search everywhere for New Oz, and I've found some clues as to his whereabouts."; + next; + mes "[Roel]"; + mes "Recruiting guild prospects! Join us in our search for our former master New Oz! Are you interested?"; + next; + if (select("Yes.:No.:") == 1) { + cutin "roel02",0; + mes "[Roel]"; + mes "What a difficult task. I searched from this end to that end of the world, and could find neither hide nor hair of him."; + next; + cutin "roel01",0; + mes "[Roel]"; + mes "I tried to some trace of him, but to no avail."; + next; + mes "[Roel]"; + mes "New Oz is an avid adventurer who never stays in one place long enough; a lot of people claimed they saw him, yet none of them remembered where he went."; + next; + mes "[Roel]"; + mes "After a while, I had to give up on tracing him. I was just wasting time."; + next; + mes "[Roel]"; + mes "I turned my eyes to the Other World, and there I met some eyewitnesses. They led me to the last place New Oz had been seen."; + next; + mes "[Roel]"; + mes "The whole process was painful. If it weren't for Runane, we couldn't have Memorized his last location or gotten out of it."; + next; + mes "[Roel]"; + mes "If you're interested in joining us, please talk to Runane. We have an exciting adventure ahead of us."; + setquest 13181; + } + close2; + cutin "roel01",255; + end; + } + if (isbegin_quest(13181) == 1) { + mes "[Roel]"; + mes "Are you ready yet? You can give up if you're not confident."; + next; + if (select("No.:Give up.:") == 1) { + mes "[Roel]"; + mes "That's the spirit!"; + close2; + cutin "roel01",255; + end; + } + if (isbegin_quest(13183) == 2) + completequest 13181; + else + erasequest 13181; + close2; + cutin "roel01",255; + end; + } + if (isbegin_quest(13181) == 2 || isbegin_quest(13183) == 2) { + if (!isbegin_quest(13183)) { + mes "[Roel]"; + mes "It was my first adventure as a member of White Wings. I can't wait for the next one!"; + erasequest 13181; + setquest 13183; + completequest 13183; + next; + } + mes "[Roel]"; + mes "Where do you think Shalosh is by now? The space where we met Shalosh is caught in a time loop, repeating the same events again and again."; + next; + mes "[Roel]"; + mes "Mingmin thinks the phenomenon has something to do with the Dimensional Crack and Shalosh's ability."; + next; + mes "[Roel]"; + mes "I didn't quite understand her, but Runane said the portal to the place she Memorized is based on time instead of space."; + next; + mes "[Roel]"; + mes "If you want, you can go back in time and experience the same events. Do you want to embark on an adventure again?"; + next; + if (select("Yes.:No.:") == 1) { + mes "[Roel]"; + mes "You might have a different experience this time in this place full of unfathomable mysteries. Please ask Runane to open the portal for you."; + next; + mes "[Roel]"; + mes "This time, maybe you don't have to leave Shalosh."; + if (isbegin_quest(13181) == 2) + erasequest 13181; + setquest 13181; + } + close2; + cutin "roel01",255; + end; + } +} + +moc_para01,29,95,5 script Runane#sara 10039,{ + cutin "lunain01",0; + if (BaseLevel < 120) { + mes "[Runane]"; + mes "^ff0000You must be Level 120.^000000"; + close2; + cutin "lunain01",255; + end; + } + if (isbegin_quest(13181) == 1) { + .@jittDailyCooldown = isbegin_quest(13182,PLAYTIME); + if (.@jittDailyCooldown == 2) { + mes "[Runane]"; + mes "The dimensional portal is now available to be opened."; + erasequest 13182; + close2; + cutin "lunain01",255; + end; + } else if (.@jittDailyCooldown == 1) { + mes "[Runane]"; + mes "^ff0000This dimensional portal cannot be accessed for 23 hours after your last access.^000000"; + close2; + cutin "lunain01",255; + end; + } else { + .@party_id = getcharid(1); + .@ins_mas = getpartyleader(.@party_id,2); + .@p_name$ = getpartyname(.@party_id); + .@p_reader$ = strcharinfo(0); + .@md_name$ = "Nightmarish Jitterbug"; + if (!.@party_id) { + mes "[Runane]"; + mes "^ff0000You first must form/join a party of at least 1 person to enter this dungeon.^000000"; + close2; + cutin "lunain01",255; + end; + } + if (getcharid(0) == .@ins_mas) + .@menu$ = "Open the dimensional portal.:Enter Nightmarish Jitterbug.:Cancel."; + else + .@menu$ = ":Enter Nightmarish Jitterbug.:Cancel."; + switch (select(.@menu$)) { + case 1: + switch (instance_create(.@md_name$)) { + case -3: + dispbottom "Memorial Dungeon, '"+.@md_name$+"' is already in progress.",0xFFFFFF; + break; + case -4: + case -2: + case -1: + mes "[Runane]"; + mes "Party Name: "+.@p_name$; + mes "Party Leader: "+.@p_reader$; + mes "^0000ff"+.@md_name$+"^000000 - Reservation Failed!."; + close2; + cutin "lunain01",255; + end; + } + mes "[Runane]"; + mes "^ff0000Preparing the dimensional portal...^000000"; + mes "^ff0000Please wait.^000000"; + break; + case 2: + switch (instance_enter(.@md_name$)) { + case 3: + mes "[Runane]"; + mes "^ff0000An unknown error has occurred.^000000"; + break; + case 2: + case 1: + mes "[Runane]"; + mes "^ff0000Your party leader has not yet created a Time Crack.^000000"; + break; + case 0: + mapannounce "moc_para01",.@p_name$+"'s "+.@p_reader$+", is entering "+.@md_name$+".",bc_map,"0x00ff99"; + setquest 13182; + //warp "1@jtb",16,18; + end; + } + break; + case 3: + cutin "lunain01",255; + end; + } + close2; + cutin "lunain01",255; + end; + } + } else { + mes "[Runane]"; + mes "^ff0000If you want to use my dimensional portal, then you first have to talk to Roel. The portal is not open for everyone.^000000"; + close2; + cutin "lunain01",255; + end; + } +} + +// Room 1 +//============================================================ +1@jtb,25,28,5 script Rohtert#01 630,{ + cutin "rote01",0; + mes "[Rohtert]"; + mes "...We finally meet, New Oz!"; + close2; + cutin "rote01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Rohtert#01")+"::OnEnable"; + end; +OnEnable: + hideoffnpc instance_npcname("Rohtert#01"); + end; +OnDisable: + hideonnpc instance_npcname("Rohtert#01"); + end; +} + +1@jtb,31,28,4 script Aigu#01 646,{ + cutin "igu01",2; + mes "[Aigu]"; + mes "You look new around here. Nice to meet ya!"; + close2; + cutin "igu01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Aigu#01")+"::OnEnable"; + end; +OnEnable: + hideoffnpc instance_npcname("Aigu#01"); + end; +OnDisable: + hideonnpc instance_npcname("Aigu#01"); + end; +} + +1@jtb,23,26,5 script Gelkah#01 629,{ + cutin "gelca01",0; + mes "[Gelkah]"; + mes "This place gives me the heebie-jeebies."; + close2; + cutin "gelca01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Gelkah#01")+"::OnEnable"; + end; +OnEnable: + hideoffnpc instance_npcname("Gelkah#01"); + end; +OnDisable: + hideonnpc instance_npcname("Gelkah#01"); + end; +} + +1@jtb,33,26,4 script Ragi#01 647,{ + cutin "ragi01",2; + mes "[Ragi]"; + mes "I've followed Aigu all the way here."; + close2; + cutin "ragi01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Ragi#01")+"::OnEnable"; + end; +OnEnable: + hideoffnpc instance_npcname("Ragi#01"); + end; +OnDisable: + hideonnpc instance_npcname("Ragi#01"); + end; +} + +1@jtb,25,24,5 script Mingmin#01 643,{ + cutin "min02",0; + mes "[Mingmin]"; + mes "He's bad news. Trouble follows him wherever he goes."; + close2; + cutin "min02",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Mingmin#01")+"::OnEnable"; + end; +OnEnable: + hideoffnpc instance_npcname("Mingmin#01"); + end; +OnDisable: + hideonnpc instance_npcname("Mingmin#01"); + end; +} + +1@jtb,31,24,4 script Arang#01 644,{ + cutin "arang01",2; + mes "[Arang]"; + mes "Heya!"; + close2; + cutin "arang01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Arang#01")+"::OnEnable"; + end; +OnEnable: + hideoffnpc instance_npcname("Arang#01"); + end; +OnDisable: + hideonnpc instance_npcname("Arang#01"); + end; +} + +1@jtb,23,22,5 script Runane#01 10039,{ + cutin "lunain01",0; + mes "[Runane]"; + mes "Oh, is he the famous New Oz?"; + close2; + cutin "lunain01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Runane#01")+"::OnEnable"; + end; +OnEnable: + hideoffnpc instance_npcname("Runane#01"); + end; +OnDisable: + hideonnpc instance_npcname("Runane#01"); + end; +} + +1@jtb,34,22,4 script Roel#01 10040,{ + cutin "roel01",0; + mes "[Roel]"; + mes "I'm Roel, new guildsman. Nice to meet you."; + close2; + cutin "roel01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Roel#01")+"::OnEnable"; + end; +OnEnable: + hideoffnpc instance_npcname("Roel#01"); + end; +OnDisable: + hideonnpc instance_npcname("Roel#01"); + end; +} + +1@jtb,28,21,5 script Melody-Jack#01 844,{ + mes "[Melody-Jack]"; + mes "Stop bothering me. Can't you see I'm hiding?!"; + close; + +OnInstanceInit: + donpcevent instance_npcname("Melody-Jack#01")+"::OnEnable"; + end; +OnEnable: + hideoffnpc instance_npcname("Melody-Jack#01"); + end; +OnDisable: + hideonnpc instance_npcname("Melody-Jack#01"); + end; +} + +1@jtb,28,30,5 script New Oz#01 625,{ + if ('jitRoom >= atoi(strnpcinfo(2)) || getcharid(0) != getpartyleader(getcharid(1),2)) { + cutin "nines02",0; + mes "[New Oz]"; + mes "Our adventure hasn't started yet, and I'm already hungry."; + close2; + cutin "nines02",255; + end; + } + .@menu = select("Talk:Hurry"); + if (.@menu == 2 && isbegin_quest(13183)) { + mes "Try to jog your memory while hurrying."; + close2; + } + if (.@menu == 1 || !isbegin_quest(13183)) { + cutin "nines02",0; + mes "[New Oz]"; + mes "It seems everyone's here."; + unittalk getnpcid(0),"New Oz : It seems everyone's here."; + emotion e_ho; + next; + cutin "rote03",0; + mes "[Rohtert]"; + mes "I told you, New Oz. We can't just let this go."; + unittalk getnpcid(0,instance_npcname("Rohtert#01")),"Rohtert : I told you, New Oz. We can't just let this go."; + emotion e_an,0,instance_npcname("Rohtert#01"); + next; + cutin "min02",0; + mes "[Mingmin]"; + mes "Considering the time and money we wasted on you, you deserve to be fed a basket full of poisonous mushrooms."; + unittalk getnpcid(0,instance_npcname("Mingmin#01")),"Mingmin : Considering the time and money we wasted on you, you deserve to be fed a basket full of poisonous mushrooms."; + next; + cutin "nines04",0; + mes "[New Oz]"; + mes "I'll explain everything, and enough with the poisonous mushrooms. I can't eat mushrooms at all."; + unittalk getnpcid(0),"New Oz : I'll explain everything, and enough with the poisonous mushrooms. I can't eat mushrooms at all."; + emotion e_ho; + next; + cutin "igu05",2; + mes "[Aigu]"; + mes "New Oz, you can't eat anything but meat. Sigh, I'm glad you're safe."; + unittalk getnpcid(0,instance_npcname("Aigu#01")),"Aigu : New Oz, you can't eat anything but meat. Sigh, I'm glad you're safe."; + next; + cutin "gelca03",0; + mes "[Gelkah]"; + mes "You're famous New Oz! Nice to meet you. My master told me many great things..."; + unittalk getnpcid(0,instance_npcname("Gelkah#01")),"Gelkah : You're famous New Oz! Nice to meet you. My master told me many great things..."; + next; + cutin "rote03",0; + mes "[Rohtert]"; + mes "Enough. He's just an idiot with no sense of direction."; + unittalk getnpcid(0,instance_npcname("Rohtert#01")),"Rohtert : Enough. He's just an idiot with no sense of direction."; + next; + cutin "arang02",2; + mes "[Arang]"; + mes "Wow, New Oz! Your eyes look puffier than ever."; + unittalk getnpcid(0,instance_npcname("Arang#01")),"Arang : Wow, New Oz! Your eyes look puffier than ever."; + next; + cutin "nines02",0; + mes "[New Oz]"; + mes "Hello, Arang. How's Arirang? Heh. What brings you here?"; + unittalk getnpcid(0),"New Oz : Hello, Arang. How's Arirang? Heh. What brings you here?"; + next; + cutin "rote03",0; + mes "[Rohtert]"; + mes "New Oz, do you know how long you've been missing? We even recruited new guildsmen to find you, and..."; + unittalk getnpcid(0,instance_npcname("Rohtert#01")),"Rohtert : New Oz, do you know how long you've been missing? We even recruited new guildsmen to find you, and..."; + next; + cutin "lunain01",0; + mes "[Runane]"; + mes "Hi, nice to meet you. I'm honored to meet the famous New Oz in person."; + unittalk getnpcid(0,instance_npcname("Runane#01")),"Runane : Hi, nice to meet you. I'm honored to meet the famous New Oz in person."; + next; + cutin "roel01",2; + mes "[Roel]"; + mes "H-hello, my name is Roel. Runane and I've joined the guild together. Nice to meet you."; + unittalk getnpcid(0,instance_npcname("Roel#01")),"Roel : H-hello, my name is Roel. Runane and I've joined the guild together. Nice to meet you."; + next; + cutin "rote02",0; + mes "[Rohtert]"; + mes "In accordance with the Guild Policy, Article 8, I'm now the master of the guild, and you're just a member."; + unittalk getnpcid(0,instance_npcname("Rohtert#01")),"Rohtert : In accordance with the Guild Policy, Article 8, I'm now the master of the guild, and you're just a member."; + next; + cutin "nines02",0; + mes "[New Oz]"; + mes "Oh, congratulations, Master."; + unittalk getnpcid(0),"New Oz : Oh, congratulations, Master."; + next; + cutin "rote01",0; + mes "[Rohtert]"; + mes "...That wasn't what I expected. Aren't you upset at all?"; + unittalk getnpcid(0,instance_npcname("Rohtert#01")),"Rohtert : ...That wasn't what I expected. Aren't you upset at all?"; + emotion e_dots,0,instance_npcname("Rohtert#01"); + next; + mes "[Melody-Jack]"; + mes "What did you expect? All he thinks about is adventure, monsters, and treasure."; + unittalk getnpcid(0,instance_npcname("Melody-Jack#01")),"Melody-Jack : What did you expect? All he thinks about is adventure, monsters, and treasure."; + emotion e_dots,0,instance_npcname("Melody-Jack#01"); + cutin "rote01",255; + next; + cutin "nines01",0; + mes "[New Oz]"; + mes "Argh, is there a ghost? Or am I hearing things?"; + unittalk getnpcid(0),"New Oz : Argh, is there a ghost? Or am I hearing things?"; + next; + mes "[Melody-Jack]"; + mes "..."; + unittalk getnpcid(0,instance_npcname("Melody-Jack#01")),"Melody-Jack : ..."; + emotion e_dots,0,instance_npcname("Melody-Jack#01"); + cutin "nines01",255; + next; + cutin "nines01",0; + mes "[New Oz]"; + mes "Whew, it's you Jack. Long time, no see, everyone."; + unittalk getnpcid(0),"New Oz : Whew, it's you Jack. Long time, no see, everyone."; + next; + mes "[Melody-Jack]"; + mes "This isn't a good time for chit-chat. I'm sensing something from the very floor where you're standing and where I'm hiding."; + unittalk getnpcid(0,instance_npcname("Melody-Jack#01")),"Melody-Jack : This isn't a good time for chit-chat. I'm sensing something from the very floor where you're standing and where I'm hiding."; + emotion e_dots,0,instance_npcname("Melody-Jack#01"); + cutin "nines01",255; + next; + cutin "arang03",2; + mes "[Arang]"; + mes "Jack, is that why you're hiding like a coward?"; + unittalk getnpcid(0,instance_npcname("Arang#01")),"Arang : Jack, is that why you're hiding like a coward?"; + next; + mes "[Melody-Jack]"; + mes "It comes natural for veteran thieves like me to hide themselves in potential enemy territories."; + unittalk getnpcid(0,instance_npcname("Melody-Jack#01")),"Melody-Jack : It comes natural for veteran thieves like me to hide themselves in potential enemy territories."; + emotion e_dots,0,instance_npcname("Melody-Jack#01"); + cutin "arang03",255; + next; + mes "[Melody-Jack]"; + mes "I'm not hiding because my sprite is not yet ready!"; + unittalk getnpcid(0,instance_npcname("Melody-Jack#01")),"Melody-Jack : I'm not hiding because my sprite is not yet ready!"; + next; + cutin "min02",0; + mes "[Mingmin]"; + mes "I agree with Jack. Everything about this place--from the air to the soil--screams unatural."; + unittalk getnpcid(0,instance_npcname("Mingmin#01")),"Mingmin : I agree with Jack. Everything about this place--from the air to the soil--screams unatural."; + next; + cutin "ragi01",2; + mes "[Ragi]"; + mes "Could it be supernatural?"; + unittalk getnpcid(0,instance_npcname("Ragi#01")),"Ragi : Could it be supernatural?"; + next; + cutin "nines01",0; + mes "[New Oz]"; + mes "Or otherwordly."; + unittalk getnpcid(0),"New Oz : Or otherwordly."; + next; + cutin "min02",0; + mes "[Mingmin]"; + mes "..."; + unittalk getnpcid(0,instance_npcname("Mingmin#01")),"Mingmin : ..."; + next; + cutin "nines01",0; + mes "[New Oz]"; + mes "You're Ragi, right? I like the way you think. I'd love to work with you sometimes."; + unittalk getnpcid(0),"New Oz : You're Ragi, right? I like the way you think. I'd love to work with you sometimes."; + next; + cutin "lunain02",0; + mes "[Runane]"; + mes "I've joined this guild to meet you, New Oz. Do you have a girlfriend?"; + unittalk getnpcid(0,instance_npcname("Runane#01")),"Runane : I've joined this guild to meet you, New Oz. Do you have a girlfriend?"; + next; + cutin "igu05",2; + mes "[Aigu]"; + mes "Don't you dare--I called dibs on him first!"; + unittalk getnpcid(0,instance_npcname("Aigu#01")),"Aigu : Don't you dare--I called dibs on him first!"; + next; + cutin "lunain03",0; + mes "[Runane]"; + mes "I don't think he knows that. Do you, New Oz?"; + unittalk getnpcid(0,instance_npcname("Runane#01")),"Runane : I don't think he knows that. Do you, New Oz?"; + next; + cutin "igu04",2; + mes "[Aigu]"; + mes "Well, I didn't..."; + unittalk getnpcid(0,instance_npcname("Aigu#01")),"Aigu : Well, I didn't..."; + next; + cutin "lunain01",0; + mes "[Runane]"; + mes "*Snort* Then he's fair game!"; + unittalk getnpcid(0,instance_npcname("Runane#01")),"Runane : *Snort* Then he's fair game!"; + next; + cutin "gelca02",0; + mes "[Gelkah]"; + mes "Um, the conversation seems to have gone..."; + unittalk getnpcid(0,instance_npcname("Gelkah#01")),"Gelkah : Um, the conversation seems to have gone..."; + next; + cutin "ragi03",2; + mes "[Ragi]"; + mes "She can change subjects more quickly than an Arclouse can cast Increase AGI."; + unittalk getnpcid(0,instance_npcname("Ragi#01")),"Ragi : She can change subjects more quickly than an Arclouse can cast Increase AGI."; + next; + cutin "arang02",0; + mes "[Arang]"; + mes "Are they competing over New Oz? I want in, too!"; + unittalk getnpcid(0,instance_npcname("Arang#01")),"Arang : Are they competing over New Oz? I want in, too!"; + next; + cutin "min02",0; + mes "[Mingmin]"; + mes "...Sorry to bother you guys, but I think something's over there."; + unittalk getnpcid(0,instance_npcname("Mingmin#01")),"Mingmin : ...Sorry to bother you guys, but I think something's over there."; + next; + cutin "roel01",2; + mes "[Roel]"; + mes "Perhaps it's monsters. Do you want me to go check?"; + unittalk getnpcid(0,instance_npcname("Roel#01")),"Roel : Perhaps it's monsters. Do you want me to go check?"; + next; + cutin "lunain04",0; + mes "[Runane]"; + mes "You stay here, kiddo. I'll go."; + unittalk getnpcid(0,instance_npcname("Runane#01")),"Runane : You stay here, kiddo. I'll go."; + next; + cutin "igu05",2; + mes "[Aigu]"; + mes "Wait, we're not finished here!"; + unittalk getnpcid(0,instance_npcname("Aigu#01")),"Aigu : Wait, we're not finished here!"; + next; + cutin "ragi01",0; + mes "[Ragi]"; + mes "Oh, both of them left."; + unittalk getnpcid(0,instance_npcname("Ragi#01")),"Ragi : Oh, both of them left."; + next; + cutin "rote01",0; + mes "[Rohtert]"; + mes "New Oz, you're like a magnet for crazy."; + unittalk getnpcid(0,instance_npcname("Rohtert#01")),"Rohtert : New Oz, you're like a magnet for crazy."; + donpcevent instance_npcname("Aigu#01")+"::OnDisable"; + donpcevent instance_npcname("Runane#01")+"::OnDisable"; + next; + cutin "gelca02",0; + mes "[Gelkah]"; + mes "I can see what has made you become so irritable, Master."; + unittalk getnpcid(0,instance_npcname("Gelkah#01")),"Gelkah : I can see what has made you become so irritable, Master."; + next; + cutin "min02",0; + mes "[Mingmin]"; + mes "He's born irritable."; + unittalk getnpcid(0,instance_npcname("Mingmin#01")),"Mingmin : He's born irritable."; + next; + cutin "arang01",0; + mes "[Arang]"; + mes "Agreed. He's violent, dirty..."; + unittalk getnpcid(0,instance_npcname("Arang#01")),"Arang : Agreed. He's violent, dirty..."; + next; + cutin "rote01",0; + mes "[Rohtert]"; + mes "Oh, shut it, both of you!"; + unittalk getnpcid(0,instance_npcname("Rohtert#01")),"Rohtert : Oh, shut it, both of you!"; + next; + cutin "nines03",0; + mes "[New Oz]"; + mes "That reminds me, when Rot was younger..."; + unittalk getnpcid(0),"New Oz : That reminds me, when Rot was younger..."; + next; + cutin "gelca04",0; + mes "[Gelkah]"; + mes "Rot? Is that your pet name, Master? Are you two friends?"; + unittalk getnpcid(0,instance_npcname("Gelkah#01")),"Gelkah : Rot? Is that your pet name, Master? Are you two friends?"; + next; + cutin "rote01",0; + mes "[Rohtert]"; + mes "That does it, I'm leaving!"; + unittalk getnpcid(0,instance_npcname("Rohtert#01")),"Rohtert : That does it, I'm leaving!"; + next; + cutin "min02",0; + mes "[Mingmin]"; + mes "That Crack thing, or the entrance as you might call it, has vanished. If you really want to leave, then follow Aigu."; + unittalk getnpcid(0,instance_npcname("Mingmin#01")),"Mingmin : That Crack thing, or the entrance as you might call it, has vanished. If you really want to leave, then follow Aigu."; + next; + cutin "rote01",0; + mes "[Rohtert]"; + mes "Stop pretending you care about me! I can take care of myself!"; + unittalk getnpcid(0,instance_npcname("Rohtert#01")),"Rohtert : Stop pretending you care about me! I can take care of myself!"; + next; + cutin "gelca04",0; + mes "[Gelkah]"; + mes "Master, come with me!"; + unittalk getnpcid(0,instance_npcname("Gelkah#01")),"Gelkah : Master, come with me!"; + next; + cutin "min02",0; + mes "[Mingmin]"; + mes "Oh, we've got new members, huh? Great, I have a few mushrooms that I've wanted to sample..."; + unittalk getnpcid(0,instance_npcname("Mingmin#01")),"Mingmin : Oh, we've got new members, huh? Great, I have a few mushrooms that I've wanted to sample..."; + next; + cutin "ragi02",2; + mes "[Ragi]"; + mes "Roel, I think we should move too."; + unittalk getnpcid(0,instance_npcname("Ragi#01")),"Ragi : Roel, I think we should move too."; + donpcevent instance_npcname("Gelkah#01")+"::OnDisable"; + donpcevent instance_npcname("Rohtert#01")+"::OnDisable"; + next; + cutin "roel01",2; + mes "[Roel]"; + mes "Let's go."; + unittalk getnpcid(0,instance_npcname("Roel#01")),"Roel : Let's go."; + next; + cutin "nines01",0; + mes "[New Oz]"; + mes "Arang, let's go. It's time for an adventure!"; + unittalk getnpcid(0),"New Oz : Arang, let's go. It's time for an adventure!"; + next; + cutin "arang02",0; + mes "[Arang]"; + mes "All righty!"; + unittalk getnpcid(0,instance_npcname("Arang#01")),"Arang : All righty!"; + donpcevent instance_npcname("Roel#01")+"::OnDisable"; + donpcevent instance_npcname("Ragi#01")+"::OnDisable"; + next; + cutin "min02",0; + mes "[Mingmin]"; + mes "I hope there are lots of things to study."; + unittalk getnpcid(0,instance_npcname("Mingmin#01")),"Mingmin : I hope there are lots of things to study."; + next; + mes "["+strcharinfo(0)+"]"; + mes "..."; + donpcevent instance_npcname("New Oz#01")+"::OnDisable"; + donpcevent instance_npcname("Arang#01")+"::OnDisable"; + donpcevent instance_npcname("Mingmin#01")+"::OnDisable"; + cutin "min02",255; + next; + mes "[Melody-Jack]"; + mes "..."; + unittalk getnpcid(0,instance_npcname("Melody-Jack#01")),"Melody-Jack : ..."; + emotion e_dots,0,instance_npcname("Melody-Jack#01"); + next; + mes "["+strcharinfo(0)+"]"; + mes "..."; + next; + mes "[Melody-Jack]"; + mes "..."; + unittalk getnpcid(0,instance_npcname("Melody-Jack#01")),"Melody-Jack : ..."; + emotion e_dots,0,instance_npcname("Melody-Jack#01"); + next; + mes "[Melody-Jack]"; + mes "Let's move before they forget about us."; + unittalk getnpcid(0,instance_npcname("Melody-Jack#01")),"Melody-Jack : Let's move before they forget about us."; + close2; + donpcevent instance_npcname("Melody-Jack#01")+"::OnDisable"; + } + 'jitRoom = atoi(strnpcinfo(2)); + .@map$ = instance_mapname("1@jtb"); + areamonster .@map$,100,46,133,13,"Ferre",3069,10,instance_npcname("New Oz#01")+"::OnMyMobDead"; + donpcevent instance_npcname("#jtwarp1")+"::OnEnable"; + end; + +OnInstanceInit: + donpcevent instance_npcname("New Oz#01")+"::OnEnable"; + end; +OnEnable: + hideoffnpc instance_npcname("New Oz#01"); + end; +OnDisable: + hideonnpc instance_npcname("New Oz#01"); + end; +OnMyMobDead: + .@map$ = instance_mapname("1@jtb"); + .@mob_num = mobcount(.@map$,instance_npcname("New Oz#01")+"::OnMyMobDead"); + if (!.@mob_num) { + sleep2 1500; + donpcevent instance_npcname("Aigu#02")+"::OnEnable"; + donpcevent instance_npcname("Runane#02")+"::OnEnable"; + } + end; +} + +// Room 2 +//============================================================ +1@jtb,118,45,5 script Aigu#02 646,{ + cutin "igu03",0; + mes "[Aigu]"; + mes "A place full of mysteries."; + close2; + cutin "igu03",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Aigu#02")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Aigu#02"); + end; +OnDisable: + hideonnpc instance_npcname("Aigu#02"); + end; +} + +1@jtb,121,47,4 script ???#2 10041,{ + end; + +OnInstanceInit: + donpcevent instance_npcname("???#2")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("???#2"); + end; +OnDisable: + hideonnpc instance_npcname("???#2"); + end; +} + +1@jtb,123,45,4 script Runane#02 10039,{ + if ('jitRoom >= atoi(strnpcinfo(2)) || getcharid(0) != getpartyleader(getcharid(1),2)) { + cutin "lunain01",2; + mes "[Runane]"; + mes "Please, let there be no more surprises."; + close2; + cutin "lunain01",255; + end; + } + .@menu = select("Talk:Hurry"); + if (.@menu == 2 && isbegin_quest(13183)) { + mes "Try to jog your memory while hurrying."; + close2; + } + if (.@menu == 1 || !isbegin_quest(13183)) { + cutin "lunain01",2; + mes "[Runane]"; + mes "Um, I have a feeling something might spring out of nowhere to attack us."; + unittalk getnpcid(0),"Runane : Um, I have a feeling something might spring out of nowhere to attack us."; + next; + cutin "shaloshi01",0; + mes "[???]"; + mes "What is it?"; + unittalk getnpcid(0,instance_npcname("???#2")),"??? : What is it?"; + donpcevent instance_npcname("???#2")+"::OnEnable"; + next; + cutin "lunain04",2; + mes "[Runane]"; + mes "*Shriek*"; + unittalk getnpcid(0),"Runane : *Shriek*"; + emotion e_omg; + next; + cutin "igu03",0; + mes "[Aigu]"; + mes "MONSTER-!...Um, it's just a woman."; + unittalk getnpcid(0,instance_npcname("Aigu#02")),"Aigu : MONSTER-!...Um, it's just a woman."; + emotion e_omg,0,instance_npcname("Aigu#02"); + next; + cutin "lunain04",0; + mes "[Runane]"; + mes "There's something! SOMETHING!"; + unittalk getnpcid(0),"Runane : There's something! SOMETHING!"; + next; + cutin "igu01",0; + mes "[Aigu]"; + mes "Calm down. It's just a woman."; + unittalk getnpcid(0,instance_npcname("Aigu#02")),"Aigu : Calm down. It's just a woman."; + next; + cutin "shaloshi01",0; + mes "[???]"; + mes "Voice of a woman..."; + unittalk getnpcid(0,instance_npcname("???#2")),"??? : Voice of a woman..."; + emotion e_what,0,instance_npcname("???#2"); + next; + cutin "igu01",0; + mes "[Aigu]"; + mes "How did we get in, you ask?"; + unittalk getnpcid(0,instance_npcname("Aigu#02")),"Aigu : How did we get in, you ask?"; + next; + cutin "shaloshi01",0; + mes "[???]"; + mes "No idea. How did you get in?"; + unittalk getnpcid(0,instance_npcname("???#2")),"??? : No idea. How did you get in?"; + next; + cutin "lunain03",2; + mes "[Runane]"; + mes "We got lost and now we're in a spacetime. How did this happen?"; + unittalk getnpcid(0),"Runane : We got lost and now we're in a spacetime. How did this happen?"; + next; + cutin "igu04",0; + mes "[Aigu]"; + mes "We didn't have to be here if it weren't for someone."; + unittalk getnpcid(0,instance_npcname("Aigu#02")),"Aigu : We didn't have to be here if it weren't for someone."; + emotion e_swt2,0,instance_npcname("Aigu#02"); + next; + cutin "shaloshi01",0; + mes "[???]"; + mes "The one who sings."; + unittalk getnpcid(0,instance_npcname("???#2")),"??? : The one who sings."; + next; + cutin "lunain01",2; + mes "[Runane]"; + mes "Do you know New Oz? Let's take him out of here."; + unittalk getnpcid(0),"Runane : Do you know New Oz? Let's take him out of here."; + next; + cutin "igu03",0; + mes "[Aigu]"; + mes "Okay. Take my hand."; + unittalk getnpcid(0,instance_npcname("Aigu#02")),"Aigu : Okay. Take my hand."; + next; + cutin "shaloshi01",0; + mes "[???]"; + mes "Your hand... warm."; + unittalk getnpcid(0,instance_npcname("???#2")),"??? : Your hand... warm."; + next; + cutin "igu02",0; + mes "[Aigu]"; + mes "It's calloused because I dance. Heh heh."; + unittalk getnpcid(0,instance_npcname("Aigu#02")),"Aigu : It's calloused because I dance. Heh heh."; + next; + cutin "shaloshi01",0; + mes "[???]"; + mes "Dance..."; + unittalk getnpcid(0,instance_npcname("???#2")),"??? : Dance..."; + next; + cutin "lunain02",2; + mes "[Runane]"; + mes "Where's everyone? Have they gone somewhere else? Let's go in that direction."; + unittalk getnpcid(0),"Runane : Where's everyone? Have they gone somewhere else? Let's go in that direction."; + close2; + donpcevent instance_npcname("Runane#02")+"::OnDisable"; + donpcevent instance_npcname("???#2")+"::OnDisable"; + donpcevent instance_npcname("Aigu#02")+"::OnDisable"; + cutin "lunain02",255; + } + 'jitRoom = atoi(strnpcinfo(2)); + .@map$ = instance_mapname("1@jtb"); + areamonster .@map$,180,49,221,12,"Ferre",3069,10,instance_npcname("Runane#02")+"::OnMyMobDead"; + donpcevent instance_npcname("#jtwarp2")+"::OnEnable"; + end; + +OnInstanceInit: + donpcevent instance_npcname("Runane#02")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Runane#02"); + end; +OnDisable: + hideonnpc instance_npcname("Runane#02"); + end; +OnMyMobDead: + .@map$ = instance_mapname("1@jtb"); + .@mob_num = mobcount(.@map$,instance_npcname("Runane#02")+"::OnMyMobDead"); + if (!.@mob_num) { + sleep2 1500; + donpcevent instance_npcname("Gelkah#03")+"::OnEnable"; + donpcevent instance_npcname("Rohtert#03")+"::OnEnable"; + } + end; +} + +// Room 3 +//============================================================ +1@jtb,205,31,3 script Gelkah#03 629,{ + cutin "gelca04",2; + mes "[Gelkah]"; + mes "Something might jump us!"; + close2; + cutin "gelca04",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Gelkah#03")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Gelkah#03"); + end; +OnDisable: + hideonnpc instance_npcname("Gelkah#03"); + end; +} + +1@jtb,198,31,5 script Rohtert#03 630,{ + if ('jitRoom >= atoi(strnpcinfo(2)) || getcharid(0) != getpartyleader(getcharid(1),2)) { + cutin "rote01",0; + mes "[Rohtert]"; + mes "These monsters are boring."; + close2; + cutin "rote01",255; + end; + } + .@menu = select("Talk:Hurry"); + if (.@menu == 2 && isbegin_quest(13183)) { + mes "Try to jog your memory while hurrying."; + close2; + } + if (.@menu == 1 || !isbegin_quest(13183)) { + cutin "gelca01",2; + mes "[Gelkah]"; + mes "I'm detecting electromagnetic waves up ahead. At least Grade E monsters."; + unittalk getnpcid(0,instance_npcname("Gelkah#03")),"Gelkah : I'm detecting electromagnetic waves up ahead. At least Grade E monsters."; + next; + cutin "rote01",0; + mes "[Rohtert]"; + mes "Hey, what have you been reading these days?"; + unittalk getnpcid(0),"Rohtert : Hey, what have you been reading these days?"; + emotion e_swt; + next; + cutin "gelca03",2; + mes "[Gelkah]"; + mes "Heh, Sci-Fi. There's a mechanical tool that works..."; + unittalk getnpcid(0,instance_npcname("Gelkah#03")),"Gelkah : Heh, Sci-Fi. There's a mechanical tool that works..."; + next; + cutin "rote01",0; + mes "[Rohtert]"; + mes "Stop talking and get ready to practice your special skills."; + unittalk getnpcid(0),"Rohtert : Stop talking and get ready to practice your special skills."; + emotion e_sigh; + next; + cutin "gelca03",2; + mes "[Gelkah]"; + mes "Ooh, this will be like reenacting a scene from the book, where monsters are rampaging."; + unittalk getnpcid(0,instance_npcname("Gelkah#03")),"Gelkah : Ooh, this will be like reenacting a scene from the book, where monsters are rampaging."; + next; + cutin "rote01",0; + mes "[Rohtert]"; + mes "Gelkah, Ultra Special Skill No. 8: Wild Dance."; + unittalk getnpcid(0),"Rohtert : Gelkah, Ultra Special Skill No. 8: Wild Dance."; + next; + cutin "gelca01",2; + mes "[Gelkah]"; + mes "!!"; + unittalk getnpcid(0,instance_npcname("Gelkah#03")),"Gelkah : !!"; + emotion e_gasp,0,instance_npcname("Gelkah#03"); + next; + mes "[Gelkah]"; + mes "Here we go!"; + unittalk getnpcid(0,instance_npcname("Gelkah#03")),"Gelkah : Here we go!"; + next; + cutin "rote01",0; + mes "[Rohtert]"; + mes "Delicate Flashlight, Lumiere Dupleix!"; + unittalk getnpcid(0),"Rohtert : Delicate Flashlight, Lumiere Dupleix!"; + specialeffect EF_LEXAETERNA; + specialeffect EF_POTION_BERSERK; + specialeffect EF_SIGNUM; + next; + cutin "gelca01",2; + mes "[Gelkah]"; + mes "Ruinous Twelve Heaven's Nets!"; + unittalk getnpcid(0,instance_npcname("Gelkah#03")),"Gelkah : Ruinous Twelve Heaven's Nets!"; + specialeffect EF_HITLINE,AREA,instance_npcname("Gelkah#03"); + specialeffect EF_BASH3D2,AREA,instance_npcname("Gelkah#03"); + specialeffect EF_GUMGANG,AREA,instance_npcname("Gelkah#03"); + next; + mes "[Gelkah/Rohtert]"; + mes "CROSS!!!"; + unittalk getnpcid(0,instance_npcname("Gelkah#03")),"Gelkah : CROSS!!!"; + unittalk getnpcid(0),"Rohtert : CROSS!!!"; + emotion e_flash,0,instance_npcname("Gelkah#03"); + emotion e_flash; + specialeffect EF_GRANDCROSS,AREA,instance_npcname("Gelkah#03"); + specialeffect EF_GRANDCROSS; + next; + cutin "rote01",0; + mes "[Gelkah/Rohtert]", "Scatter--Thousand Flashlights!"; + unittalk getnpcid(0,instance_npcname("Gelkah#03")),"Gelkah : Scatter--Thousand Flashlights!"; + unittalk getnpcid(0),"Rohtert : Scatter--Thousand Flashlights!"; + specialeffect EF_LEXAETERNA,AREA,instance_npcname("Gelkah#03"); + specialeffect EF_LEXAETERNA; + sleep2 300; + specialeffect EF_LORD,AREA,instance_npcname("Gelkah#03"); + specialeffect EF_LORD; + specialeffect EF_LORD,AREA,instance_npcname("Gelkah#03"); + specialeffect EF_LORD; + sleep2 300; + specialeffect EF_SUI_EXPLOSION,AREA,instance_npcname("Gelkah#03"); + specialeffect EF_SUI_EXPLOSION; + specialeffect EF_BEGINASURA,AREA,instance_npcname("Gelkah#03"); + specialeffect EF_BEGINASURA; + next; + cutin "gelca01",2; + mes "[Gelkah]"; + mes "...Whew."; + unittalk getnpcid(0,instance_npcname("Gelkah#03")),"Gelkah : ...Whew."; + next; + cutin "rote01",0; + mes "[Rohtert]"; + mes "Hm, not good enough, Gelkah. Don't let the guild business distract you from practice."; + unittalk getnpcid(0),"Rohtert : Hm, not good enough, Gelkah. Don't let the guild business distract you from practice."; + next; + cutin "gelca03",2; + mes "[Gelkah]"; + mes "Yes, Master!"; + unittalk getnpcid(0,instance_npcname("Gelkah#03")),"Gelkah : Yes, Master!"; + next; + cutin "rote01",0; + mes "[Rohtert]"; + mes "Where are the others? This is definitely not a run-of-the-mill cave."; + unittalk getnpcid(0),"Rohtert : Where are the others? This is definitely not a run-of-the-mill cave."; + close2; + cutin "rote01",255; + } + 'jitRoom = atoi(strnpcinfo(2)); + .@map$ = instance_mapname("1@jtb"); + areamonster .@map$,268,46,305,14,"Ferre",3069,20,instance_npcname("Rohtert#03")+"::OnMyMobDead"; + donpcevent instance_npcname("#jtwarp3")+"::OnEnable"; + end; + +OnInstanceInit: + donpcevent instance_npcname("Rohtert#03")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Rohtert#03"); + end; +OnDisable: + hideonnpc instance_npcname("Rohtert#03"); + end; +OnMyMobDead: + .@map$ = instance_mapname("1@jtb"); + .@mob_num = mobcount(.@map$,instance_npcname("Rohtert#03")+"::OnMyMobDead"); + if (!.@mob_num) { + sleep2 1500; + donpcevent instance_npcname("???#4")+"::OnEnable"; + } + end; +} + +// Room 4 +//============================================================ +1@jtb,292,22,4 script ???#4 10041,{ + if ('jitRoom >= atoi(strnpcinfo(2)) || getcharid(0) != getpartyleader(getcharid(1),2)) { + cutin "shaloshi01",2; + mes "[???]"; + mes "..."; + close2; + cutin "shaloshi01",255; + end; + } + .@menu = select("Talk:Hurry"); + if (.@menu == 2 && isbegin_quest(13183)) { + mes "Try to jog your memory while hurrying."; + close2; + } + if (.@menu == 1 || !isbegin_quest(13183)) { + cutin "shaloshi01",2; + mes "[???]"; + mes "..."; + unittalk getnpcid(0),"??? : ..."; + next; + select("Did you get lost by yourself again?"); + mes "[???]"; + mes "I'm not alone."; + unittalk getnpcid(0),"??? : I'm not alone."; + next; + mes "[???]"; + mes "Aigu and Runane are good."; + unittalk getnpcid(0),"??? : Aigu and Runane are good."; + next; + mes "[???]"; + mes "Ask many questions."; + unittalk getnpcid(0),"??? : Ask many questions."; + next; + mes "[???]"; + mes "Can't answer."; + unittalk getnpcid(0),"??? : Can't answer."; + next; + mes "[???]"; + mes "Can't remember a thing."; + unittalk getnpcid(0),"??? : Can't remember a thing."; + next; + mes "[???]"; + mes "But I'm not alone."; + unittalk getnpcid(0),"??? : But I'm not alone."; + next; + .@menu = select("Leave her:It's too dangerous, so take her with you"); + mes "[???]"; + if (.@menu == 1) { + mes "I'm okay. Not the first time."; + unittalk getnpcid(0),"??? : I'm okay. Not the first time."; + } else { + mes "Kind."; + unittalk getnpcid(0),"??? : Kind."; + } + next; + mes "[???]"; + mes "..."; + unittalk getnpcid(0),"??? : ..."; + close2; + cutin "shaloshi01",255; + } + 'jitRoom = atoi(strnpcinfo(2)); + .@map$ = instance_mapname("1@jtb"); + areamonster .@map$,10,130,47,95,"Ferre",3069,20,instance_npcname("???#4")+"::OnMyMobDead"; + donpcevent instance_npcname("#jtwarp4")+"::OnEnable"; + end; + +OnInstanceInit: + donpcevent instance_npcname("???#4")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("???#4"); + end; +OnDisable: + hideonnpc instance_npcname("???#4"); + end; +OnMyMobDead: + .@map$ = instance_mapname("1@jtb"); + .@mob_num = mobcount(.@map$,instance_npcname("???#4")+"::OnMyMobDead"); + if (!.@mob_num) { + sleep2 1500; + donpcevent instance_npcname("Aigu#05")+"::OnEnable"; + donpcevent instance_npcname("Arang#05")+"::OnEnable"; + donpcevent instance_npcname("Shalosh#5")+"::OnEnable"; + donpcevent instance_npcname("New Oz#05")+"::OnEnable"; + } + end; +} + +// Room 5 +//============================================================ +1@jtb,25,110,4 script Aigu#05 646,{ + cutin "igu01",0; + mes "[Aigu]"; + mes "Monsters started appearing, and their number is growing quickly."; + close2; + cutin "igu01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Aigu#05")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Aigu#05"); + end; +OnDisable: + hideonnpc instance_npcname("Aigu#05"); + end; +} + +1@jtb,25,105,4 script Arang#05 644,{ + cutin "arang03",0; + mes "[Arang]"; + mes "I'm not scared!"; + close2; + cutin "arang03",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Arang#05")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Arang#05"); + end; +OnDisable: + hideonnpc instance_npcname("Arang#05"); + end; +} + +1@jtb,27,108,4 script Shalosh#5 10041,{ + cutin "shaloshi01",2; + mes "[Shalosh]"; + mes "..."; + close2; + cutin "shaloshi01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Shalosh#5")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Shalosh#5"); + end; +OnDisable: + hideonnpc instance_npcname("Shalosh#5"); + end; +} + +1@jtb,20,108,5 script New Oz#05 625,{ + if ('jitRoom >= atoi(strnpcinfo(2)) || getcharid(0) != getpartyleader(getcharid(1),2)) { + cutin "nines01",0; + mes "[New Oz]"; + mes "I'll sing again later."; + close2; + cutin "nines01",255; + end; + } + .@menu = select("Talk:Hurry"); + if (.@menu == 2 && isbegin_quest(13183)) { + mes "Try to jog your memory while hurrying."; + close2; + } + if (.@menu == 1 || !isbegin_quest(13183)) { + cutin "igu05",2; + mes "[Aigu]"; + mes "New Oz! Where did you go this time?"; + unittalk getnpcid(0,instance_npcname("Aigu#05")),"Aigu : New Oz! Where did you go this time?"; + next; + cutin "nines04",0; + mes "[New Oz]"; + mes "Sorry. This place is like a maze. There are so many offshoots and clearings that I've lost count."; + unittalk getnpcid(0),"New Oz : Sorry. This place is like a maze. There are so many offshoots and clearings that I've lost count."; + next; + cutin "arang01",2; + mes "[Arang]"; + mes "*Snort* You said the same thing about the Prontera Culvert."; + unittalk getnpcid(0,instance_npcname("Arang#05")),"Arang : *Snort* You said the same thing about the Prontera Culvert."; + next; + cutin "igu04",2; + mes "[Aigu]"; + mes "What are you talking about? Why can't you just follow us? Runane? I saw her next to me a moment ago."; + unittalk getnpcid(0,instance_npcname("Aigu#05")),"Aigu : What are you talking about? Why can't you just follow us? Runane? I saw her next to me a moment ago."; + next; + cutin "shaloshi01",2; + mes "[???]"; + mes "Man with the singing voice."; + unittalk getnpcid(0,instance_npcname("Shalosh#5")),"??? : Man with the singing voice."; + next; + cutin "nines02",0; + mes "[New Oz]"; + mes "Oh, hello. May I ask who you are, little lady?"; + unittalk getnpcid(0),"New Oz : Oh, hello. May I ask who you are, little lady?"; + next; + cutin "shaloshi01",2; + mes "[Shalosh]"; + mes "I'm Shalosh. Sing for me."; + unittalk getnpcid(0,instance_npcname("Shalosh#5")),"Shalosh : I'm Shalosh. Sing for me."; + next; + cutin "nines03",0; + mes "[New Oz]"; + mes "Hah hah, you're cute. I'll sing for you later."; + unittalk getnpcid(0),"New Oz : Hah hah, you're cute. I'll sing for you later."; + next; + cutin "shaloshi01",2; + mes "[Shalosh]"; + mes "You promised. You're kind."; + unittalk getnpcid(0,instance_npcname("Shalosh#5")),"Shalosh : You promised. You're kind."; + next; + cutin "igu03",2; + mes "[Aigu]"; + mes "Monsters started appearing, and their numbers is growing quickly."; + unittalk getnpcid(0,instance_npcname("Aigu#05")),"Aigu : Monsters started appearing, and their numbers is growing quickly."; + next; + cutin "arang02",2; + mes "[Arang]"; + mes "You'll be ok, Aigu, so long as you stick with us... Um, where's everyone?"; + unittalk getnpcid(0,instance_npcname("Arang#05")),"Arang : You'll be ok, Aigu, so long as you stick with us... Um, where's everyone?"; + next; + cutin "nines01",0; + mes "[New Oz]"; + mes "Hah hah, don't worry, little ladies. I'll protect you."; + unittalk getnpcid(0),"New Oz : Hah hah, don't worry, little ladies. I'll protect you."; + next; + cutin "arang03",2; + mes "[Arang]"; + mes "New Oz, I love you!"; + unittalk getnpcid(0,instance_npcname("Arang#05")),"Arang : New Oz, I love you!"; + next; + cutin "shaloshi01",2; + mes "[Shalosh]"; + mes "You protect me. You're kind."; + unittalk getnpcid(0,instance_npcname("Shalosh#5")),"Shalosh : You protect me. You're kind."; + next; + cutin "igu05",2; + mes "[Aigu]"; + mes "You'd run before everyone else in here. Well, we can't stay here. Let's move on."; + unittalk getnpcid(0,instance_npcname("Aigu#05")),"Aigu : You'd run before everyone else in here. Well, we can't stay here. Let's move on."; + close2; + cutin "igu05",255; + } + 'jitRoom = atoi(strnpcinfo(2)); + .@map$ = instance_mapname("1@jtb"); + areamonster .@map$,94,131,131,96,"Ferre",3069,10,instance_npcname("New Oz#05")+"::OnMyMobDead"; + areamonster .@map$,94,131,131,96,"Ferre",3070,5,instance_npcname("New Oz#05")+"::OnMyMobDead"; + donpcevent instance_npcname("#jtwarp5")+"::OnEnable"; + end; + +OnInstanceInit: + donpcevent instance_npcname("New Oz#05")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("New Oz#05"); + end; +OnDisable: + hideonnpc instance_npcname("New Oz#05"); + end; +OnMyMobDead: + .@map$ = instance_mapname("1@jtb"); + .@mob_num = mobcount(.@map$,instance_npcname("New Oz#05")+"::OnMyMobDead"); + if (!.@mob_num) { + sleep2 1500; + donpcevent instance_npcname("Aigu#06")+"::OnEnable"; + donpcevent instance_npcname("Runane#06")+"::OnEnable"; + donpcevent instance_npcname("Roel#06")+"::OnEnable"; + } + end; +} + +// Room 6 +//============================================================ +1@jtb,115,113,4 script Aigu#06 646,{ + cutin "igu01",0; + mes "[Aigu]"; + mes "I feel great--this is my first adventure in a long time since I was charged with caring for other adventurers. Plus I've met my hero New Oz!"; + close2; + cutin "igu01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Aigu#06")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Aigu#06"); + end; +OnDisable: + hideonnpc instance_npcname("Aigu#06"); + end; +} + +1@jtb,116,117,4 script Runane#06 10039,{ + cutin "lunain01",2; + mes "[Runane]"; + mes "Where do you think New Oz is this time?"; + close2; + cutin "lunain01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Runane#06")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Runane#06"); + end; +OnDisable: + hideonnpc instance_npcname("Runane#06"); + end; +} + +1@jtb,111,115,5 script Roel#06 10040,{ + if ('jitRoom >= atoi(strnpcinfo(2)) || getcharid(0) != getpartyleader(getcharid(1),2)) { + cutin "roel01",0; + mes "[Roel]"; + mes "What's wrong with me? My heart won't stop pounding."; + close2; + cutin "roel01",255; + end; + } + .@menu = select("Talk:Hurry"); + if (.@menu == 2 && isbegin_quest(13183)) { + mes "Try to jog your memory while hurrying."; + close2; + } + if (.@menu == 1 || !isbegin_quest(13183)) { + cutin "lunain01",2; + mes "[Runane]"; + mes "The fog cleared up."; + unittalk getnpcid(0,instance_npcname("Runane#06")),"Runane : The fog cleared up."; + next; + cutin "roel01",0; + mes "[Roel]"; + mes "But it stayed long enough for us to lose each other."; + unittalk getnpcid(0),"Roel : But it stayed long enough for us to lose each other."; + next; + cutin "igu05",2; + mes "[Aigu]"; + mes "One moment, I had Shalosh's hand in my hand, and the next, she's gone."; + unittalk getnpcid(0,instance_npcname("Aigu#06")),"Aigu : One moment, I had Shalosh's hand in my hand, and the next, she's gone."; + next; + cutin "lunain01",2; + mes "[Runane]"; + mes "Her name is Shalosh? I asked her several times, and she didn't tell me."; + unittalk getnpcid(0,instance_npcname("Runane#06")),"Runane : Her name is Shalosh? I asked her several times, and she didn't tell me."; + next; + cutin "igu01",2; + mes "[Aigu]"; + mes "That's strange. She told New Oz straight from the start."; + unittalk getnpcid(0,instance_npcname("Aigu#06")),"Aigu : That's strange. She told New Oz straight from the start."; + next; + cutin "lunain04",2; + mes "[Runane]"; + mes "Hmpf, I hate girls. I get the feeling we'll be seeing even more monsters."; + unittalk getnpcid(0,instance_npcname("Runane#06")),"Runane : Hmpf, I hate girls. I get the feeling we'll be seeing even more monsters."; + next; + cutin "roel01",0; + mes "[Roel]"; + mes "Worry not--I'll protect you!"; + unittalk getnpcid(0),"Roel : Worry not--I'll protect you!"; + next; + cutin "igu04",2; + mes "[Aigu]"; + mes "You'd better be more reliable than someone I know."; + unittalk getnpcid(0,instance_npcname("Aigu#06")),"Aigu : You'd better be more reliable than someone I know."; + next; + cutin "lunain03",2; + mes "[Runane]"; + mes "Don't put too much faith in this kid. I'd better go look for New Oz."; + unittalk getnpcid(0,instance_npcname("Runane#06")),"Runane : Don't put too much faith in this kid. I'd better go look for New Oz."; + next; + cutin "roel01",0; + mes "[Roel]"; + mes "..."; + unittalk getnpcid(0),"Roel : ..."; + next; + cutin "roel03",0; + mes "[Roel]"; + mes "(She's just my type!)"; + unittalk getnpcid(0),"Roel : (She's just my type!)"; + close2; + cutin "roel03",255; + } + 'jitRoom = atoi(strnpcinfo(2)); + .@map$ = instance_mapname("1@jtb"); + areamonster .@map$,182,131,219,95,"Ferre",3069,15,instance_npcname("Roel#06")+"::OnMyMobDead"; + areamonster .@map$,182,131,219,95,"Ferre",3070,5,instance_npcname("Roel#06")+"::OnMyMobDead"; + donpcevent instance_npcname("#jtwarp6")+"::OnEnable"; + end; + +OnInstanceInit: + donpcevent instance_npcname("Roel#06")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Roel#06"); + end; +OnDisable: + hideonnpc instance_npcname("Roel#06"); + end; +OnMyMobDead: + .@map$ = instance_mapname("1@jtb"); + .@mob_num = mobcount(.@map$,instance_npcname("Roel#06")+"::OnMyMobDead"); + if (!.@mob_num) { + sleep2 1500; + donpcevent instance_npcname("Shalosh#7")+"::OnEnable"; + donpcevent instance_npcname("New Oz#07")+"::OnEnable"; + donpcevent instance_npcname("Mingmin#07")+"::OnEnable"; + } + end; +} + +// Room 7 +//============================================================ +1@jtb,206,114,5 script Shalosh#7 10041,{ + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "New Oz's hand... hot."; + close2; + cutin "shaloshi01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Shalosh#7")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Shalosh#7"); + end; +OnDisable: + hideonnpc instance_npcname("Shalosh#7"); + end; +} + +1@jtb,203,112,5 script New Oz#07 625,{ + cutin "nines03",0; + mes "[New Oz]"; + mes "I wonder what might wait for us at the end of this passage. The anticipation is killing me!"; + close2; + cutin "nines03",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("New Oz#07")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("New Oz#07"); + end; +OnDisable: + hideonnpc instance_npcname("New Oz#07"); + end; +} + +1@jtb,206,107,5 script Mingmin#07 643,{ + if ('jitRoom >= atoi(strnpcinfo(2)) || getcharid(0) != getpartyleader(getcharid(1),2)) { + cutin "min02",0; + mes "[Mingmin]"; + mes "..."; + close2; + cutin "min02",255; + end; + } + .@menu = select("Talk:Hurry"); + if (.@menu == 2 && isbegin_quest(13183)) { + mes "Try to jog your memory while hurrying."; + close2; + } + if (.@menu == 1 || !isbegin_quest(13183)) { + cutin "min02",2; + mes "[Mingmin]"; + mes "New Oz!"; + unittalk getnpcid(0),"Mingmin : New Oz!"; + next; + cutin "nines01",0; + mes "[New Oz]"; + mes "Yeah, what's up?"; + unittalk getnpcid(0,instance_npcname("New Oz#07")),"New Oz : Yeah, what's up?"; + next; + cutin "min02",2; + mes "[Mingmin]"; + mes "Do you really have to ask? Who's that girl? Is she yours?"; + unittalk getnpcid(0),"Mingmin : Do you really have to ask? Who's that girl? Is she yours?"; + emotion e_omg; + next; + cutin "nines04",0; + mes "[New Oz]"; + mes "W-whazza...?! Don't be ridiculous. I just found her now."; + unittalk getnpcid(0,instance_npcname("New Oz#07")),"New Oz : W-whazza...?! Don't be ridiculous. I just found her now."; + emotion e_omg,0,instance_npcname("New Oz#07"); + next; + cutin "min02",2; + mes "[Mingmin]"; + mes "A little girl in this strange place, by herself? Hm, doesn't it sound strange to you?"; + unittalk getnpcid(0),"Mingmin : A little girl in this strange place, by herself? Hm, doesn't it sound strange to you?"; + next; + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "You're strange."; + unittalk getnpcid(0,instance_npcname("Shalosh#7")),"Shalosh : You're strange."; + next; + cutin "min01",2; + mes "[Mingmin]"; + mes "No, I'm not! You don't want me to get angry at you, girl."; + unittalk getnpcid(0),"Mingmin : No, I'm not! You don't want me to get angry at you, girl."; + emotion e_bzz; + sleep2 300; + emotion e_an; + next; + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "Here they come..."; + unittalk getnpcid(0,instance_npcname("Shalosh#7")),"Shalosh : Here they come..."; + emotion e_dots,0,instance_npcname("Shalosh#7"); + next; + cutin "nines04",0; + mes "[New Oz]"; + mes "These monsters don't stop coming. But where are all the big, rare, beautiful ones?"; + unittalk getnpcid(0,instance_npcname("New Oz#07")),"New Oz : These monsters don't stop coming. But where are all the big, rare, beautiful ones?"; + next; + cutin "min02",2; + mes "[Mingmin]"; + mes "I'll have to study you later, girl."; + unittalk getnpcid(0),"Mingmin : I'll have to study you later, girl."; + next; + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "..."; + unittalk getnpcid(0,instance_npcname("Shalosh#7")),"Shalosh : ..."; + close2; + cutin "shaloshi01",255; + donpcevent instance_npcname("Shalosh#7")+"::OnDisable"; + donpcevent instance_npcname("New Oz#07")+"::OnDisable"; + donpcevent instance_npcname("Mingmin#07")+"::OnDisable"; + } + 'jitRoom = atoi(strnpcinfo(2)); + .@map$ = instance_mapname("1@jtb"); + areamonster .@map$,268,131,306,95,"Ferre",3069,22,instance_npcname("Mingmin#07")+"::OnMyMobDead"; + areamonster .@map$,268,131,306,95,"Ferre",3070,5,instance_npcname("Mingmin#07")+"::OnMyMobDead"; + donpcevent instance_npcname("#jtwarp7")+"::OnEnable"; + end; + +OnInstanceInit: + donpcevent instance_npcname("Mingmin#07")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Mingmin#07"); + end; +OnDisable: + hideonnpc instance_npcname("Mingmin#07"); + end; +OnMyMobDead: + .@map$ = instance_mapname("1@jtb"); + .@mob_num = mobcount(.@map$,instance_npcname("Mingmin#07")+"::OnMyMobDead"); + if (!.@mob_num) { + sleep2 1500; + donpcevent instance_npcname("Shalosh#8")+"::OnEnable"; + donpcevent instance_npcname("Ragi#08")+"::OnEnable"; + donpcevent instance_npcname("New Oz#08")+"::OnEnable"; + } + end; +} + +// Room 8 +//============================================================ +1@jtb,286,117,5 script Shalosh#8 10041,{ + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "(Trying to whistle) I can't."; + close2; + cutin "shaloshi01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Shalosh#8")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Shalosh#8"); + end; +OnDisable: + hideonnpc instance_npcname("Shalosh#8"); + end; +} + +1@jtb,290,114,4 script Ragi#08 647,{ + cutin "ragi01",0; + mes "[Ragi]"; + mes "I'm not experienced in adventuring, but it's quite fun."; + close2; + cutin "ragi01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Ragi#08")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Ragi#08"); + end; +OnDisable: + hideonnpc instance_npcname("Ragi#08"); + end; +} + +1@jtb,285,114,5 script New Oz#08 625,{ + if ('jitRoom >= atoi(strnpcinfo(2)) || getcharid(0) != getpartyleader(getcharid(1),2)) { + cutin "nines01",0; + mes "[New Oz]"; + mes "..."; + close2; + cutin "nines01",255; + end; + } + .@menu = select("Talk:Hurry"); + if (.@menu == 2 && isbegin_quest(13183)) { + mes "Try to jog your memory while hurrying."; + close2; + } + if (.@menu == 1 || !isbegin_quest(13183)) { + cutin "nines01",0; + mes "[New Oz]"; + mes "I keep loing the others. They were right in front of me."; + unittalk getnpcid(0),"New Oz : I keep loing the others. They were right in front of me."; + next; + cutin "ragi01",0; + mes "[Ragi]"; + mes "We've met again."; + unittalk getnpcid(0,instance_npcname("Ragi#08")),"Ragi : We've met again."; + next; + cutin "nines03",0; + mes "[New Oz]"; + mes "You have good taste. This just came to my mind. Listen."; + unittalk getnpcid(0),"New Oz : You have good taste. This just came to my mind. Listen."; + next; + cutin "nines02",0; + mes "[New Oz]"; + mes "The seasons are changing once again~ yet I haven't had a chance to dye my nails with garden balsam~"; + unittalk getnpcid(0),"New Oz : The seasons are changing once again~ yet I haven't had a chance to dye my nails with garden balsam~"; + emotion e_ho; + next; + cutin "ragi01",0; + mes "[Ragi]"; + mes "Waiting for snow~"; + unittalk getnpcid(0,instance_npcname("Ragi#08")),"Ragi : Waiting for snow~"; + emotion e_ho,0,instance_npcname("Ragi#08"); + next; + cutin "nines01",0; + mes "[New Oz]"; + mes "You're good. You'll make great Gypsy and Minstrel."; + unittalk getnpcid(0),"New Oz : You're good. You'll make great Gypsy and Minstrel."; + emotion e_no1; + next; + cutin "ragi01",0; + mes "[Ragi]"; + mes "I want to stay as a Bard for a while."; + unittalk getnpcid(0,instance_npcname("Ragi#08")),"Ragi : I want to stay as a Bard for a while."; + next; + cutin "nines01",0; + mes "[New Oz]"; + mes "I guess jobs don't matter so long as you can sing and play, huh?"; + unittalk getnpcid(0),"New Oz : I guess jobs don't matter so long as you can sing and play, huh?"; + next; + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "Love your song."; + unittalk getnpcid(0,instance_npcname("Shalosh#8")),"Shalosh : Love your song."; + next; + cutin "nines02",0; + mes "[New Oz]"; + mes "Shalosh, do you have a favorite song?"; + unittalk getnpcid(0),"New Oz : Shalosh, do you have a favorite song?"; + next; + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "Runane sings. Whistles good, too."; + unittalk getnpcid(0,instance_npcname("Shalosh#8")),"Shalosh : Runane sings. Whistles good, too."; + emotion e_ho,0,instance_npcname("Shalosh#8"); + next; + mes "- Shalosh puckers her lips to whistle, but fails. -"; + cutin "shaloshi01",255; + next; + cutin "ragi01",0; + mes "[Ragi]"; + mes "Um, are you trying to whistle?"; + unittalk getnpcid(0,instance_npcname("Ragi#08")),"Ragi : Um, are you trying to whistle?"; + next; + cutin "nines01",0; + mes "[New Oz]"; + mes "Hah hah, I'll teach you how to do it later, Shalosh."; + unittalk getnpcid(0),"New Oz : Hah hah, I'll teach you how to do it later, Shalosh."; + next; + mes "[New Oz]"; + mes strcharinfo(0)+", do you have a favorite song?"; + unittalk getnpcid(0),"New Oz : "+strcharinfo(0)+", do you have a favorite song?"; + next; + 'jitOption = select("Aigu's debut song- Lost Poring:Aigu's single- Only I Didn't Know about the Card Album:New Oz's Red Potion (feat. Muka):Ragi's Self-composed song- Accidental Moon"); + setarray .@choices$,"","Aigu's debut song, Lost Poring","Aigu's Only I Didn't Know about the Card Album","your Red Potion (feat. Muka)","Ragi's Accidental Moon"; + unittalk getcharid(3),strcharinfo(0)+" : I like "+.@choices$['jitOption]+"."; + mes "[New Oz]"; + switch ('jitOption) { + case 1: + mes "You know her debut song. You're a fan of her, huh?"; + unittalk getnpcid(0),"New Oz : You know her debut song. You're a fan of her, huh?"; + break; + case 2: //Custom text + mes "You know her single. You're a fan of her, huh?"; + unittalk getnpcid(0),"New Oz : You know her single. You're a fan of her, huh?"; + break; + case 3: + mes "Hah hah, this is embarassing, but thank you."; + unittalk getnpcid(0),"New Oz : Hah hah, this is embarassing, but thank you."; + break; + case 4: //Custom text + mes "Hah hah, I like it too."; + unittalk getnpcid(0),"New Oz : Hah hah, I like it too."; + break; + } + next; + mes "[New Oz]"; + mes "Hm, to each his own."; + unittalk getnpcid(0),"New Oz : Hm, to each his own."; + next; + cutin "ragi01",0; + mes "[Ragi]"; + mes "Something else is showing up."; + unittalk getnpcid(0,instance_npcname("Ragi#08")),"Ragi : Something else is showing up."; + emotion e_gasp,0,instance_npcname("Ragi#08"); + next; + cutin "nines04",0; + mes "[New Oz]"; + mes "Ah, I'm getting hungry. The monsters can screw themselves. Shalosh, let's go!"; + unittalk getnpcid(0),"New Oz : Ah, I'm getting hungry. The monsters can screw themselves. Shalosh, let's go!"; + next; + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "Okay."; + unittalk getnpcid(0,instance_npcname("Shalosh#8")),"Shalosh : Okay."; + donpcevent instance_npcname("New Oz#08")+"::OnDisable"; + next; + cutin "ragi03",0; + mes "[Ragi]"; + mes "Hey, come with me!"; + unittalk getnpcid(0,instance_npcname("Ragi#08")),"Ragi : Hey, come with me!"; + donpcevent instance_npcname("Shalosh#8")+"::OnDisable"; + close2; + donpcevent instance_npcname("Ragi#08")+"::OnDisable"; + cutin "ragi03",255; + } + 'jitRoom = atoi(strnpcinfo(2)); + .@map$ = instance_mapname("1@jtb"); + areamonster .@map$,351,131,389,96,"Ferre",3069,22,instance_npcname("New Oz#08")+"::OnMyMobDead"; + areamonster .@map$,351,131,389,96,"Ferre",3070,5,instance_npcname("New Oz#08")+"::OnMyMobDead"; + areamonster .@map$,351,131,389,96,"Jitterbug",3108+rand(1),('jitOption==3?2:1),instance_npcname("New Oz#08")+"::OnMyMobDead"; + donpcevent instance_npcname("#jtwarp8")+"::OnEnable"; + end; +OnInstanceInit: + donpcevent instance_npcname("New Oz#08")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("New Oz#08"); + end; +OnDisable: + hideonnpc instance_npcname("New Oz#08"); + end; +OnMyMobDead: + .@map$ = instance_mapname("1@jtb"); + .@mob_num = mobcount(.@map$,instance_npcname("New Oz#08")+"::OnMyMobDead"); + if (!.@mob_num) { + sleep2 1500; + donpcevent instance_npcname("Roel#09")+"::OnEnable"; + donpcevent instance_npcname("Shalosh#9")+"::OnEnable"; + donpcevent instance_npcname("Runane#09")+"::OnEnable"; + donpcevent instance_npcname("New Oz#09")+"::OnEnable"; + } + end; +} + +// Room 9 +//============================================================ +1@jtb,369,117,5 script Roel#09 10040,{ + cutin "roel01",0; + mes "[Roel]"; + mes "I've trained enough. I can be useful."; + close2; + cutin "roel01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Roel#09")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Roel#09"); + end; +OnDisable: + hideonnpc instance_npcname("Roel#09"); + end; +} + +1@jtb,374,110,4 script Shalosh#9 10041,{ + cutin "shaloshi01",2; + mes "[Shalosh]"; + mes "It's not dangerous. Don't worry."; + close2; + cutin "shaloshi01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Shalosh#9")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Shalosh#9"); + end; +OnDisable: + hideonnpc instance_npcname("Shalosh#9"); + end; +} + +1@jtb,368,111,5 script Runane#09 10039,{ + cutin "lunain01",0; + mes "[Runane]"; + mes "Never let your guard down while exploring, or you can get hurt."; + close2; + cutin "lunain01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Runane#09")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Runane#09"); + end; +OnDisable: + hideonnpc instance_npcname("Runane#09"); + end; +} + +1@jtb,375,117,4 script New Oz#09 625,{ + if ('jitRoom >= atoi(strnpcinfo(2)) || getcharid(0) != getpartyleader(getcharid(1),2)) { + cutin "nines01",2; + mes "[New Oz]"; + mes "These guys are different. They seem to understand music... or maybe not."; + close2; + cutin "nines01",255; + end; + } + .@menu = select("Talk:Hurry"); + if (.@menu == 2 && isbegin_quest(13183)) { + mes "Try to jog your memory while hurrying."; + close2; + } + if (.@menu == 1 || !isbegin_quest(13183)) { + cutin "nines01",2; + mes "[New Oz]"; + mes "Did you take care of them already? I wanted to take part in it."; + unittalk getnpcid(0),"New Oz : Did you take care of them already? I wanted to take part in it."; + emotion e_ho,0; + next; + cutin "roel01",0; + mes "[Roel]"; + mes "They look cute, but they're ferocious."; + unittalk getnpcid(0,instance_npcname("Roel#09")),"Roel : They look cute, but they're ferocious."; + next; + cutin "shaloshi01",2; + mes "[Shalosh]"; + mes "Small friends follow us. Not cute."; + unittalk getnpcid(0,instance_npcname("Shalosh#9")),"Shalosh : Small friends follow us. Not cute."; + next; + cutin "lunain01",0; + mes "[Runane]"; + mes "They're monsters, not your friends. Be careful."; + unittalk getnpcid(0,instance_npcname("Runane#09")),"Runane : They're monsters, not your friends. Be careful."; + next; + cutin "shaloshi01",2; + mes "[Shalosh]"; + mes "Monsters..."; + unittalk getnpcid(0,instance_npcname("Shalosh#9")),"Shalosh : Monsters..."; + next; + cutin "roel01",0; + mes "[Roel]"; + mes "Could she have lost her memory? It seems she doesn't understand danger, it seems."; + unittalk getnpcid(0,instance_npcname("Roel#09")),"Roel : Could she have lost her memory? It seems she doesn't understand danger, it seems."; + next; + cutin "shaloshi01",2; + mes "[Shalosh]"; + mes "Danger, no."; + unittalk getnpcid(0,instance_npcname("Shalosh#9")),"Shalosh : Danger, no."; + next; + cutin "lunain02",0; + mes "[Runane]"; + mes "I think she has."; + unittalk getnpcid(0,instance_npcname("Runane#09")),"Runane : I think she has."; + next; + cutin "shaloshi01",2; + mes "[Shalosh]"; + mes "..."; + unittalk getnpcid(0,instance_npcname("Shalosh#9")),"Shalosh : ..."; + close2; + cutin "shaloshi01",255; + } + 'jitRoom = atoi(strnpcinfo(2)); + .@map$ = instance_mapname("1@jtb"); + areamonster .@map$,11,218,48,182,"Ferre",3069,10,instance_npcname("New Oz#09")+"::OnMyMobDead"; + areamonster .@map$,11,218,48,182,"Ferre",3070,5,instance_npcname("New Oz#09")+"::OnMyMobDead"; + donpcevent instance_npcname("#jtwarp9")+"::OnEnable"; + end; + +OnInstanceInit: + donpcevent instance_npcname("New Oz#09")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("New Oz#09"); + end; +OnDisable: + hideonnpc instance_npcname("New Oz#09"); + end; +OnMyMobDead: + .@map$ = instance_mapname("1@jtb"); + .@mob_num = mobcount(.@map$,instance_npcname("New Oz#09")+"::OnMyMobDead"); + if (!.@mob_num) { + sleep2 1500; + donpcevent instance_npcname("Roel#10")+"::OnEnable"; + donpcevent instance_npcname("Mingmin#10")+"::OnEnable"; + donpcevent instance_npcname("Aigu#10")+"::OnEnable"; + donpcevent instance_npcname("Arang#10")+"::OnEnable"; + donpcevent instance_npcname("Runane#10")+"::OnEnable"; + } + end; +} + +// Room 10 +//============================================================ +1@jtb,32,198,4 script Roel#10 10040,{ + cutin "roel01",2; + mes "[Roel]"; + mes "A stream of water has started flowing."; + close2; + cutin "roel01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Roel#10")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Roel#10"); + end; +OnDisable: + hideonnpc instance_npcname("Roel#10"); + end; +} + +1@jtb,23,200,5 script Mingmin#10 643,{ + cutin "min02",0; + mes "[Mingmin]"; + mes "Hm, getting pretty awkward here."; + close2; + cutin "min02",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Mingmin#10")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Mingmin#10"); + end; +OnDisable: + hideonnpc instance_npcname("Mingmin#10"); + end; +} + +1@jtb,25,196,5 script Aigu#10 646,{ + cutin "igu01",0; + mes "[Aigu]"; + mes "How long do I have to shimmy my shoulders~"; + close2; + cutin "igu01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Aigu#10")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Aigu#10"); + end; +OnDisable: + hideonnpc instance_npcname("Aigu#10"); + end; +} + +1@jtb,28,197,4 script Arang#10 644,{ + cutin "arang01",2; + mes "[Arang]"; + mes "Hate Green Potions~"; + close2; + cutin "arang01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Arang#10")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Arang#10"); + end; +OnDisable: + hideonnpc instance_npcname("Arang#10"); + end; +} + +1@jtb,26,201,5 script Runane#10 10039,{ + if ('jitRoom >= atoi(strnpcinfo(2)) || getcharid(0) != getpartyleader(getcharid(1),2)) { + cutin "lunain04",0; + mes "[Runane]"; + mes "Arang, why aren't you drinking it?"; + close2; + cutin "lunain04",255; + end; + } + .@menu = select("Talk:Hurry"); + if (.@menu == 2 && isbegin_quest(13183)) { + mes "Try to jog your memory while hurrying."; + close2; + } + if (.@menu == 1 || !isbegin_quest(13183)) { + cutin "lunain01",0; + mes "[Runane]"; + mes "Push, push~"; + unittalk getnpcid(0),"Runane : Push, push~"; + emotion e_ho; + next; + cutin "min02",0; + mes "[Mingmin]"; + mes "Push, push~"; + unittalk getnpcid(0,instance_npcname("Mingmin#10")),"Mingmin : Push, push~"; + emotion e_ho,0,instance_npcname("Mingmin#10"); + next; + cutin "igu01",0; + mes "[Aigu]"; + mes "How long do I have to shimmy my shoulders~"; + unittalk getnpcid(0,instance_npcname("Aigu#10")),"Aigu : How long do I have to shimmy my shoulders~"; + emotion e_ho,0,instance_npcname("Aigu#10"); + next; + cutin "lunain01",0; + mes "[Runane]"; + mes "Pam, pam, pam~"; + unittalk getnpcid(0),"Runane : Pam, pam, pam~"; + next; + cutin "min02",0; + mes "[Mingmin]"; + mes "Chica, chica~"; + unittalk getnpcid(0,instance_npcname("Mingmin#10")),"Mingmin : Chica, chica~"; + next; + cutin "igu02",0; + mes "[Aigu]"; + mes "Pam, pam, pam, pam~"; + unittalk getnpcid(0,instance_npcname("Aigu#10")),"Aigu : Pam, pam, pam, pam~"; + next; + cutin "lunain01",0; + mes "[Runane]"; + mes "*Blow*"; + unittalk getnpcid(0),"Runane : *Blow*"; + next; + cutin "arang01",2; + mes "[Arang]"; + mes "Ugh, I don't want to drink this!"; + unittalk getnpcid(0,instance_npcname("Arang#10")),"Arang : Ugh, I don't want to drink this!"; + next; + cutin "min03",0; + mes "[Mingmin]"; + mes "Just trust me and drink it!"; + unittalk getnpcid(0,instance_npcname("Mingmin#10")),"Mingmin : Just trust me and drink it!"; + next; + cutin "roel01",2; + mes "[Roel]"; + mes "What are you trying to feed this child? What's in this green bottle? ...No..."; + unittalk getnpcid(0,instance_npcname("Roel#10")),"Roel : What are you trying to feed this child? What's in this green bottle? ...No..."; + emotion e_gasp,0,instance_npcname("Roel#10"); + next; + cutin "min02",0; + mes "[Mingmin]"; + mes "Green Potion."; + unittalk getnpcid(0,instance_npcname("Mingmin#10")),"Mingmin : Green Potion."; + next; + cutin "roel01",2; + mes "[Roel]"; + mes "Green Potion is such a bitter... Um, Green Potion you said?"; + unittalk getnpcid(0,instance_npcname("Roel#10")),"Roel : Green Potion is such a bitter... Um, Green Potion you said?"; + next; + cutin "igu03",0; + mes "[Aigu]"; + mes "Green Potion!"; + unittalk getnpcid(0,instance_npcname("Aigu#10")),"Aigu : Green Potion!"; + next; + cutin "roel01",2; + mes "[Roel]"; + mes "Green Potion?"; + unittalk getnpcid(0,instance_npcname("Roel#10")),"Roel : Green Potion?"; + next; + cutin "lunain04",0; + mes "[Runane]"; + mes "I said Green Potion!"; + unittalk getnpcid(0),"Runane : I said Green Potion!"; + next; + cutin "roel01",2; + mes "[Roel]"; + mes "But you're singing a strange song, and... Green Potion?"; + unittalk getnpcid(0,instance_npcname("Roel#10")),"Roel : But you're singing a strange song, and... Green Potion?"; + next; + cutin "igu03",0; + mes "[Aigu]"; + mes "I had an almost expired Green Potion, so we decided to play Rock-paper-scissors and feed it to the loser."; + unittalk getnpcid(0,instance_npcname("Aigu#10")),"Aigu : I had an almost expired Green Potion, so we decided to play Rock-paper-scissors and feed it to the loser."; + next; + cutin "min02",0; + mes "[Mingmin]"; + mes "It doesn't do anything when you're not poisoned. We just didn't want to waste a good potion."; + unittalk getnpcid(0,instance_npcname("Mingmin#10")),"Mingmin : It doesn't do anything when you're not poisoned. We just didn't want to waste a good potion."; + next; + cutin "arang01",0; + mes "[Arang]"; + mes "But it's awfully bitter."; + unittalk getnpcid(0,instance_npcname("Arang#10")),"Arang : But it's awfully bitter."; + next; + cutin "lunain04",0; + mes "[Runane]"; + mes "Are you drinking it yet?"; + unittalk getnpcid(0),"Runane : Are you drinking it yet?"; + next; + cutin "igu02",0; + mes "[Aigu]"; + mes "DRINK! DRINK!"; + unittalk getnpcid(0,instance_npcname("Aigu#10")),"Aigu : DRINK! DRINK!"; + next; + cutin "min01",0; + mes "[Mingmin]"; + mes "DRINK! DRINK!"; + unittalk getnpcid(0,instance_npcname("Mingmin#10")),"Mingmin : DRINK! DRINK!"; + next; + cutin "arang02",2; + mes "[Arang]"; + mes "Roel, can't you drink it for your sister?"; + unittalk getnpcid(0,instance_npcname("Arang#10")),"Arang : Roel, can't you drink it for your sister?"; + next; + cutin "roel01",2; + mes "[Roel]"; + mes "Let me go look for possible threats."; + unittalk getnpcid(0,instance_npcname("Roel#10")),"Roel : Let me go look for possible threats."; + close2; + donpcevent instance_npcname("Roel#10")+"::OnDisable"; + cutin "roel01",255; + } + 'jitRoom = atoi(strnpcinfo(2)); + .@map$ = instance_mapname("1@jtb"); + areamonster .@map$,94,218,132,182,"Ferre",3069,10,instance_npcname("Runane#10")+"::OnMyMobDead"; + donpcevent instance_npcname("#jtwarp10")+"::OnEnable"; + end; + +OnInstanceInit: + donpcevent instance_npcname("Runane#10")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Runane#10"); + end; +OnDisable: + hideonnpc instance_npcname("Runane#10"); + end; +OnMyMobDead: + .@map$ = instance_mapname("1@jtb"); + .@mob_num = mobcount(.@map$,instance_npcname("Runane#10")+"::OnMyMobDead"); + if (!.@mob_num) { + sleep2 1500; + donpcevent instance_npcname("Mingmin#11")+"::OnEnable"; + } + end; +} + +// Room 11 +//============================================================ +1@jtb,106,198,5 script Mingmin#11 643,{ + if ('jitRoom >= atoi(strnpcinfo(2)) || getcharid(0) != getpartyleader(getcharid(1),2)) { + cutin "min02",0; + mes "[Mingmin]"; + mes "I'm glad the mushroom is not poisonous."; + close2; + cutin "min02",255; + end; + } + .@menu = select("Talk:Hurry"); + if (.@menu == 2 && isbegin_quest(13183)) { + mes "Try to jog your memory while hurrying."; + close2; + } + if (.@menu == 1 || !isbegin_quest(13183)) { + cutin "min02",0; + mes "[Mingmin]"; + mes "Its interior looked like that of a forest, then changed to that of a cave. How strange."; + unittalk getnpcid(0),"Mingmin : Its interior looked like that of a forest, then changed to that of a cave. How strange."; + next; + mes "[Mingmin]"; + mes "Strange plants growing on stranger terrains. Everything looks out of place."; + unittalk getnpcid(0),"Mingmin : Strange plants growing on stranger terrains. Everything looks out of place."; + next; + mes "[Mingmin]"; + mes "I've harvested a few mushrooms to taste."; + unittalk getnpcid(0),"Mingmin : I've harvested a few mushrooms to taste."; + next; + cutin "min01",0; + mes "[Mingmin]"; + mes "This mushroom is poisonous, but not life threatening. Do you want to have a bite?"; + unittalk getnpcid(0),"Mingmin : This mushroom is poisonous, but not life threatening. Do you want to have a bite?"; + next; + .@menu = select("Decline:Have a bite"); + if (.@menu == 2) { + mes "[Mingmin]"; + mes "You're braver than I thought."; + unittalk getnpcid(0),"Mingmin : You're braver than I thought."; + next; + mes "- You feel good, possibly a side effect of eating the mushroom. -"; + cutin "min01",255; + next; + cutin "min01",0; + mes "[Mingmin]"; + mes "I should try one."; + unittalk getnpcid(0),"Mingmin : I should try one."; + } else { + mes "[Mingmin]"; + mes "I won't take no for an answer!"; + unittalk getnpcid(0),"Mingmin : I won't take no for an answer!"; + next; + mes "- Mingmin shoves a mushroom into your mouth. -"; + cutin "min01",255; + next; + cutin "min01",0; + mes "[Mingmin]"; + mes "Hm?"; + unittalk getnpcid(0),"Mingmin : Hm?"; + next; + mes "[Mingmin]"; + mes "You're not reacting. Maybe the mushroom is not poisonous after all. Maybe I should try one..."; + unittalk getnpcid(0),"Mingmin : You're not reacting. Maybe the mushroom is not poisonous after all. Maybe I should try one..."; + } + next; + cutin "min02",0; + mes "[Mingmin]"; + mes "Hm..."; + unittalk getnpcid(0),"Mingmin : Hm..."; + next; + mes "[Mingmin]"; + mes "It has almost no taste."; + unittalk getnpcid(0),"Mingmin : It has almost no taste."; + next; + mes "[Mingmin]"; + mes "Sheesh, this was a waste of time. You should go first. There's one more thing I want to look at."; + unittalk getnpcid(0),"Mingmin : Sheesh, this was a waste of time. You should go first. There's one more thing I want to look at."; + close2; + cutin "min02",255; + } + 'jitRoom = atoi(strnpcinfo(2)); + .@map$ = instance_mapname("1@jtb"); + areamonster .@map$,180,217,218,182,"Ferre",3069,15,instance_npcname("Mingmin#11")+"::OnMyMobDead"; + areamonster .@map$,180,217,218,182,"Ferre",3070,5,instance_npcname("Mingmin#11")+"::OnMyMobDead"; + donpcevent instance_npcname("#jtwarp11")+"::OnEnable"; + end; + +OnInstanceInit: + donpcevent instance_npcname("Mingmin#11")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Mingmin#11"); + end; +OnDisable: + hideonnpc instance_npcname("Mingmin#11"); + end; +OnMyMobDead: + .@map$ = instance_mapname("1@jtb"); + .@mob_num = mobcount(.@map$,instance_npcname("Mingmin#11")+"::OnMyMobDead"); + if (!.@mob_num) { + sleep2 1500; + donpcevent instance_npcname("Melody-Jack#12")+"::OnEnable"; + donpcevent instance_npcname("New Oz#12")+"::OnEnable"; + } + end; +} + +// Room 12 +//============================================================ +1@jtb,191,206,5 script Melody-Jack#12 844,{ + mes "[Melody-Jack]"; + mes "Please don't talk to me--I'm hiding for a reason."; + close; + +OnInstanceInit: + donpcevent instance_npcname("Melody-Jack#12")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Melody-Jack#12"); + end; +OnDisable: + hideonnpc instance_npcname("Melody-Jack#12"); + end; +} + +1@jtb,195,206,4 script New Oz#12 625,{ + if ('jitRoom >= atoi(strnpcinfo(2)) || getcharid(0) != getpartyleader(getcharid(1),2)) { + cutin "nines01",2; + mes "[New Oz]"; + mes "You made it sound so difficult, when you could just say, 'give and take.'"; + close2; + cutin "nines01",255; + end; + } + .@menu = select("Talk:Hurry"); + if (.@menu == 2 && isbegin_quest(13183)) { + mes "Try to jog your memory while hurrying."; + close2; + } + if (.@menu == 1 || !isbegin_quest(13183)) { + cutin "nines04",2; + mes "[New Oz]"; + mes "Um, how did I manage to lose the others again?"; + unittalk getnpcid(0),"New Oz : Um, how did I manage to lose the others again?"; + next; + mes "[Melody-Jack]"; + mes "New Oz."; + unittalk getnpcid(0,instance_npcname("Melody-Jack#12")),"Melody-Jack : New Oz."; + emotion e_dots,0,instance_npcname("Melody-Jack#12"); + cutin "nines04",255; + next; + cutin "nines01",2; + mes "[New Oz]"; + mes "Wah! Jeez!"; + unittalk getnpcid(0),"New Oz : Wah! Jeez!"; + next; + mes "[Melody-Jack]"; + mes "And I thought you'd have gotten used to having me around invisible."; + unittalk getnpcid(0,instance_npcname("Melody-Jack#12")),"Melody-Jack : And I thought you'd have gotten used to having me around invisible."; + emotion e_dots,0,instance_npcname("Melody-Jack#12"); + cutin "nines01",255; + next; + cutin "nines01",2; + mes "[New Oz]"; + mes "Are we still in danger?"; + unittalk getnpcid(0),"New Oz : Are we still in danger?"; + next; + mes "[Melody-Jack]"; + mes "Guess so. We've been circling around the same place, by the way."; + unittalk getnpcid(0,instance_npcname("Melody-Jack#12")),"Melody-Jack : Guess so. We've been circling around the same place, by the way."; + emotion e_dots,0,instance_npcname("Melody-Jack#12"); + cutin "nines01",255; + next; + cutin "nines04",2; + mes "[New Oz]"; + mes "So I was right about this place being maze-like. Ugh, I'm getting hungry again."; + unittalk getnpcid(0),"New Oz : So I was right about this place being maze-like. Ugh, I'm getting hungry again."; + next; + mes "[Melody-Jack]"; + mes "I've waited for you because I wanted to talk."; + unittalk getnpcid(0,instance_npcname("Melody-Jack#12")),"Melody-Jack : I've waited for you because I wanted to talk."; + emotion e_dots,0,instance_npcname("Melody-Jack#12"); + cutin "nines04",255; + next; + mes "[Melody-Jack]"; + mes "New Oz, your contact has expired at the time you returned to the guild."; + unittalk getnpcid(0,instance_npcname("Melody-Jack#12")),"Melody-Jack : New Oz, your contact has expired at the time you returned to the guild."; + next; + cutin "nines01",2; + mes "[New Oz]"; + mes "Oh, that's right. Since I'm no longer the master, my contract has expired naturally."; + unittalk getnpcid(0),"New Oz : Oh, that's right. Since I'm no longer the master, my contract has expired naturally."; + next; + mes "[Melody-Jack]"; + mes "But given the situation, my promise to you still stands."; + unittalk getnpcid(0,instance_npcname("Melody-Jack#12")),"Melody-Jack : But given the situation, my promise to you still stands."; + emotion e_dots,0,instance_npcname("Melody-Jack#12"); + cutin "nines01",255; + next; + cutin "nines01",2; + mes "[New Oz]"; + mes "Thanks. I'm glad my contingency plan is still in place."; + unittalk getnpcid(0),"New Oz : Thanks. I'm glad my contingency plan is still in place."; + next; + mes "[Melody-Jack]"; + mes "Hmpf, just know I'm keeping my promise to you only because you've got what I want."; + unittalk getnpcid(0,instance_npcname("Melody-Jack#12")),"Melody-Jack : Hmpf, just know I'm keeping my promise to you only because you've got what I want."; + emotion e_dots,0,instance_npcname("Melody-Jack#12"); + cutin "nines01",255; + next; + cutin "nines01",2; + mes "[New Oz]"; + mes "Oh, do you mean this ukulele?"; + unittalk getnpcid(0),"New Oz : Oh, do you mean this ukulele?"; + next; + mes "[Melody-Jack]"; + mes "You moron, that's worth nothing. Your contract has expired, but a promise is a promise and I intend to keep it."; + unittalk getnpcid(0,instance_npcname("Melody-Jack#12")),"Melody-Jack : You moron, that's worth nothing. Your contract has expired, but a promise is a promise and I intend to keep it."; + emotion e_meh,0,instance_npcname("Melody-Jack#12"); + cutin "nines01",255; + next; + cutin "nines01",2; + mes "[New Oz]"; + mes "Thanks"; + unittalk getnpcid(0),"New Oz : Thanks"; + close2; + donpcevent instance_npcname("Melody-Jack#12")+"::OnDisable"; + cutin "nines01",255; + } + 'jitRoom = atoi(strnpcinfo(2)); + .@map$ = instance_mapname("1@jtb"); + areamonster .@map$,268,216,305,181,"Ferre",3069,15,instance_npcname("New Oz#12")+"::OnMyMobDead"; + areamonster .@map$,268,216,305,181,"Ferre",3070,5,instance_npcname("New Oz#12")+"::OnMyMobDead"; + areamonster .@map$,268,216,305,181,"Ferre",3071,5,instance_npcname("New Oz#12")+"::OnMyMobDead"; + donpcevent instance_npcname("#jtwarp12")+"::OnEnable"; + end; + +OnInstanceInit: + donpcevent instance_npcname("New Oz#12")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("New Oz#12"); + end; +OnDisable: + hideonnpc instance_npcname("New Oz#12"); + end; +OnMyMobDead: + .@map$ = instance_mapname("1@jtb"); + .@mob_num = mobcount(.@map$,instance_npcname("New Oz#12")+"::OnMyMobDead"); + if (!.@mob_num) { + sleep2 1500; + donpcevent instance_npcname("Aigu#13")+"::OnEnable"; + donpcevent instance_npcname("Ragi#13")+"::OnEnable"; + donpcevent instance_npcname("Shalosh#13")+"::OnEnable"; + donpcevent instance_npcname("Roel#13")+"::OnEnable"; + donpcevent instance_npcname("Mingmin#13")+"::OnEnable"; + donpcevent instance_npcname("New Oz#13")+"::OnEnable"; + } + end; +} + +// Room 13 +//============================================================ +1@jtb,287,195,4 script Aigu#13 646,{ + cutin "igu04",0; + mes "[Aigu]"; + mes "Don't listen to him. He doesn't need encouragement for his bad jokes."; + close2; + cutin "igu04",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Aigu#13")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Aigu#13"); + end; +OnDisable: + hideonnpc instance_npcname("Aigu#13"); + end; +} + +1@jtb,285,195,4 script Ragi#13 647,{ + cutin "ragi02",0; + mes "[Ragi]"; + mes "If you find my joke funny, don't try to hide it. Just laugh."; + close2; + cutin "ragi02",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Ragi#13")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Ragi#13"); + end; +OnDisable: + hideonnpc instance_npcname("Ragi#13"); + end; +} + +1@jtb,285,192,1 script Shalosh#13 10041,{ + cutin "shaloshi01",2; + mes "[Shalosh]"; + mes "I think someone made my wish come true."; + close2; + cutin "shaloshi01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Shalosh#13")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Shalosh#13"); + end; +OnDisable: + hideonnpc instance_npcname("Shalosh#13"); + end; +} + +1@jtb,289,191,4 script Roel#13 10040,{ + cutin "roel01",2; + mes "[Roel]"; + mes "I hope Shalosh will recover her memory soon."; + close2; + cutin "roel01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Roel#13")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Roel#13"); + end; +OnDisable: + hideonnpc instance_npcname("Roel#13"); + end; +} + +1@jtb,280,191,7 script Mingmin#13 643,{ + cutin "min02",0; + mes "[Mingmin]"; + mes "Ugh, I'm tired. Looking out for these new members all day is work in itself."; + close2; + cutin "min02",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Mingmin#13")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Mingmin#13"); + end; +OnDisable: + hideonnpc instance_npcname("Mingmin#13"); + end; +} + +1@jtb,282,194,5 script New Oz#13 625,{ + if ('jitRoom >= atoi(strnpcinfo(2)) || getcharid(0) != getpartyleader(getcharid(1),2)) { + cutin "nines01",0; + mes "[New Oz]"; + mes "It's possible someone else might be in here."; + close2; + cutin "nines01",255; + end; + } + .@menu = select("Talk:Hurry"); + if (.@menu == 2 && isbegin_quest(13183)) { + mes "Try to jog your memory while hurrying."; + close2; + } + if (.@menu == 1 || !isbegin_quest(13183)) { + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "I remembered a few things."; + unittalk getnpcid(0,instance_npcname("Shalosh#13")),"Shalosh : I remembered a few things."; + next; + cutin "igu04",2; + mes "[Aigu]"; + mes "Did you?"; + unittalk getnpcid(0,instance_npcname("Aigu#13")),"Aigu : Did you?"; + next; + cutin "ragi01",0; + mes "[Ragi]"; + mes "She said she did."; + unittalk getnpcid(0,instance_npcname("Ragi#13")),"Ragi : She said she did."; + emotion e_ho,0,instance_npcname("Ragi#13"); + next; + cutin "nines03",0; + mes "[New Oz]"; + mes "Right, that's what she said."; + unittalk getnpcid(0),"New Oz : Right, that's what she said."; + emotion e_ho; + next; + mes "[Ragi & New Oz]"; + mes "!!!"; + unittalk getnpcid(0,instance_npcname("Ragi#13")),"Ragi : !!!"; + unittalk getnpcid(0),"New Oz : !!!"; + emotion e_gasp,0,instance_npcname("Ragi#13"); + emotion e_gasp; + next; + mes "[Ragi & New Oz]"; + mes "Gimmie five!"; + unittalk getnpcid(0,instance_npcname("Ragi#13")),"Ragi : Gimmie five!"; + unittalk getnpcid(0),"New Oz : Gimmie five!"; + next; + mes "- *Slap* -"; + cutin "nines03",255; + next; + mes "- Before the two give each other a high five, Aigu and Mingmin slap them on their backs. -"; + emotion e_wah,0,instance_npcname("Ragi#13"); + emotion e_wah; + emotion e_pif,0,instance_npcname("Aigu#13"); + emotion e_pif,0,instance_npcname("Mingmin#13"); + specialeffect EF_HIT5,AREA,instance_npcname("Ragi#13"); + specialeffect EF_HIT5; + next; + cutin "igu03",2; + mes "[Aigu]"; + mes "Stop goofing around. Shalosh, talk to us."; + unittalk getnpcid(0,instance_npcname("Aigu#13")),"Aigu : Stop goofing around. Shalosh, talk to us."; + next; + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "In the pitch darkness, I heard a voice. It was low, but it was ringing for a while."; + unittalk getnpcid(0,instance_npcname("Shalosh#13")),"Shalosh : In the pitch darkness, I heard a voice. It was low, but it was ringing for a while."; + next; + mes "[Shalosh]"; + mes "Later I heard New Oz singing while waiting for his friends. His voice warmed me."; + unittalk getnpcid(0,instance_npcname("Shalosh#13")),"Shalosh : Later I heard New Oz singing while waiting for his friends. His voice warmed me."; + next; + cutin "min02",0; + mes "[Mingmin]"; + mes "You speak like a grow-up now, all smooth and clear."; + unittalk getnpcid(0,instance_npcname("Mingmin#13")),"Mingmin : You speak like a grow-up now, all smooth and clear."; + next; + cutin "roel01",2; + mes "[Roel]"; + mes "She could have been terrified."; + unittalk getnpcid(0,instance_npcname("Roel#13")),"Roel : She could have been terrified."; + next; + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "I didn't know what friends meant, but it sounded good. I wanted it."; + unittalk getnpcid(0,instance_npcname("Shalosh#13")),"Shalosh : I didn't know what friends meant, but it sounded good. I wanted it."; + next; + mes "[Shalosh]"; + mes "Aigu and Runane showed up."; + unittalk getnpcid(0,instance_npcname("Shalosh#13")),"Shalosh : Aigu and Runane showed up."; + next; + mes "[Shalosh]"; + mes "I thought someone made my wish come true."; + unittalk getnpcid(0,instance_npcname("Shalosh#13")),"Shalosh : I thought someone made my wish come true."; + next; + cutin "nines01",0; + mes "[New Oz]"; + mes "The pitch darkness... Don't you remember anything else?"; + unittalk getnpcid(0),"New Oz : The pitch darkness... Don't you remember anything else?"; + emotion e_what; + next; + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "No."; + unittalk getnpcid(0,instance_npcname("Shalosh#13")),"Shalosh : No."; + next; + cutin "roel01",2; + mes "[Roel]"; + mes "She could have had her eyes closed. Perhaps she's sleeping."; + unittalk getnpcid(0,instance_npcname("Roel#13")),"Roel : She could have had her eyes closed. Perhaps she's sleeping."; + next; + cutin "nines01",0; + mes "[New Oz]"; + mes "The pitch darkness... The cave is bright throughout, aside from the fog."; + unittalk getnpcid(0),"New Oz : The pitch darkness... The cave is bright throughout, aside from the fog."; + next; + cutin "min02",0; + mes "[Mingmin]"; + mes "A dream. A low voice in a dream. What kind of dream?"; + unittalk getnpcid(0,instance_npcname("Mingmin#13")),"Mingmin : A dream. A low voice in a dream. What kind of dream?"; + next; + 'jitOption = select("She heard her own thoughts:She was talking with someone"); + setarray .@choices$,"","Maybe she heard her own thoughts","Maybe she was talking with someone"; + unittalk getcharid(3),strcharinfo(0)+" : "+.@choices$['jitOption]+"."; + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "..."; + unittalk getnpcid(0,instance_npcname("Shalosh#13")),"Shalosh : ..."; + next; + cutin "igu04",0; + mes "[Aigu]"; + mes "She may not have remembered everything, but this is an improvement. Let's wait until she's ready to talk more."; + unittalk getnpcid(0,instance_npcname("Aigu#13")),"Aigu : She may not have remembered everything, but this is an improvement. Let's wait until she's ready to talk more."; + next; + cutin "nines01",0; + mes "[New Oz]"; + mes "A voice before singing. It's possible someone else might be in here."; + unittalk getnpcid(0),"New Oz : A voice before singing. It's possible someone else might be in here."; + next; + cutin "min02",0; + mes "[Mingmin]"; + mes "We'll know soon enough."; + unittalk getnpcid(0,instance_npcname("Mingmin#13")),"Mingmin : We'll know soon enough."; + close2; + cutin "min02",255; + } + 'jitRoom = atoi(strnpcinfo(2)); + .@map$ = instance_mapname("1@jtb"); + areamonster .@map$,358,212,388,182,"Ferre",3069,20,instance_npcname("New Oz#13")+"::OnMyMobDead"; + areamonster .@map$,358,212,388,182,"Ferre",3070,10,instance_npcname("New Oz#13")+"::OnMyMobDead"; + areamonster .@map$,358,212,388,182,"Jitterbug",3108+rand(1),('jitOption==2?2:1),instance_npcname("New Oz#13")+"::OnMyMobDead"; + donpcevent instance_npcname("#jtwarp13")+"::OnEnable"; + end; + +OnInstanceInit: + donpcevent instance_npcname("New Oz#13")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("New Oz#13"); + end; +OnDisable: + hideonnpc instance_npcname("New Oz#13"); + end; +OnMyMobDead: + .@map$ = instance_mapname("1@jtb"); + .@mob_num = mobcount(.@map$,instance_npcname("New Oz#13")+"::OnMyMobDead"); + if (!.@mob_num) { + sleep2 1500; + donpcevent instance_npcname("Shalosh#14")+"::OnEnable"; + donpcevent instance_npcname("Roel#14")+"::OnEnable"; + donpcevent instance_npcname("Mingmin#14")+"::OnEnable"; + donpcevent instance_npcname("Runane#14")+"::OnEnable"; + donpcevent instance_npcname("Arang#14")+"::OnEnable"; + donpcevent instance_npcname("Rohtert#14")+"::OnEnable"; + donpcevent instance_npcname("Gelkah#14")+"::OnEnable"; + donpcevent instance_npcname("New Oz#14")+"::OnEnable"; + } + end; +} + +// Room 14 +//============================================================ +1@jtb,385,214,4 script Shalosh#14 10041,{ + cutin "shaloshi02",2; + mes "[Shalosh]"; + mes "Can't you hear what others think?"; + close2; + cutin "shaloshi02",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Shalosh#14")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Shalosh#14"); + end; +OnDisable: + hideonnpc instance_npcname("Shalosh#14"); + end; +} + +1@jtb,376,218,5 script Roel#14 10040,{ + cutin "roel01",0; + mes "[Roel]"; + mes "Comrades should be best friends!"; + close2; + cutin "roel01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Roel#14")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Roel#14"); + end; +OnDisable: + hideonnpc instance_npcname("Roel#14"); + end; +} + +1@jtb,382,211,4 script Mingmin#14 643,{ + cutin "min02",0; + mes "[Mingmin]"; + mes "Don't care."; + close2; + cutin "min02",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Mingmin#14")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Mingmin#14"); + end; +OnDisable: + hideonnpc instance_npcname("Mingmin#14"); + end; +} + +1@jtb,384,218,4 script Runane#14 10039,{ + cutin "lunain02",2; + mes "[Runane]"; + mes "I bake and knit in my spare time. I'm very domestic. Ho ho ho!"; + close2; + cutin "lunain02",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Runane#14")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Runane#14"); + end; +OnDisable: + hideonnpc instance_npcname("Runane#14"); + end; +} + +1@jtb,383,216,5 script Arang#14 644,{ + cutin "arang01",0; + mes "[Arang]"; + mes "Yap! Yap!"; + close2; + cutin "arang01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Arang#14")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Arang#14"); + end; +OnDisable: + hideonnpc instance_npcname("Arang#14"); + end; +} + +1@jtb,375,214,5 script Rohtert#14 630,{ + cutin "rote01",0; + mes "[Rohtert]"; + mes "It's true that I'm the strongest."; + close2; + cutin "rote01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Rohtert#14")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Rohtert#14"); + end; +OnDisable: + hideonnpc instance_npcname("Rohtert#14"); + end; +} + +1@jtb,378,211,5 script Gelkah#14 629,{ + cutin "gelca01",0; + mes "[Gelkah]"; + mes "I never slack on my training."; + close2; + cutin "gelca01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Gelkah#14")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Gelkah#14"); + end; +OnDisable: + hideonnpc instance_npcname("Gelkah#14"); + end; +} + +1@jtb,380,219,5 script New Oz#14 625,{ + if ('jitRoom >= atoi(strnpcinfo(2)) || getcharid(0) != getpartyleader(getcharid(1),2)) { + cutin "nines02",0; + mes "[New Oz]"; + mes "Don't worry. Children grow by fighting."; + close2; + cutin "nines02",255; + end; + } + .@menu = select("Talk:Hurry"); + if (.@menu == 2 && isbegin_quest(13183)) { + mes "Try to jog your memory while hurrying."; + close2; + } + if (.@menu == 1 || !isbegin_quest(13183)) { + cutin "nines01",0; + mes "[New Oz]"; + mes "Arang! Shalosh!"; + unittalk getnpcid(0),"New Oz : Arang! Shalosh!"; + next; + cutin "arang01",2; + mes "[Arang]"; + mes "What?"; + unittalk getnpcid(0,instance_npcname("Arang#14")),"Arang : What?"; + next; + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "Where's you in danger?"; + unittalk getnpcid(0,instance_npcname("Shalosh#14")),"Shalosh : Where's you in danger?"; + next; + cutin "arang02",2; + mes "[Arang]"; + mes "Where have you been? We just had an awesome monster here!"; + unittalk getnpcid(0,instance_npcname("Arang#14")),"Arang : Where have you been? We just had an awesome monster here!"; + next; + cutin "nines01",0; + mes "[New Oz]"; + mes "Heh, my instincts told me to slow down because danger was ahead."; + unittalk getnpcid(0),"New Oz : Heh, my instincts told me to slow down because danger was ahead."; + next; + cutin "gelca01",0; + mes "[Gelkah]"; + mes "Oh, the instincts of a great adventurer!"; + unittalk getnpcid(0,instance_npcname("Gelkah#14")),"Gelkah : Oh, the instincts of a great adventurer!"; + next; + cutin "arang01",2; + mes "[Arang]"; + mes "No, his instincts have gotten rusty."; + unittalk getnpcid(0,instance_npcname("Arang#14")),"Arang : No, his instincts have gotten rusty."; + next; + cutin "rote01",0; + mes "[Rohtert]"; + mes "He's just being lazy. He's not so weak."; + unittalk getnpcid(0,instance_npcname("Rohtert#14")),"Rohtert : He's just being lazy. He's not so weak."; + next; + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "My instincts just told me New Oz is not strong."; + unittalk getnpcid(0,instance_npcname("Shalosh#14")),"Shalosh : My instincts just told me New Oz is not strong."; + next; + mes "[Shalosh]"; + mes "New Oz, did you just think everyone except Rot is mediocre?"; + unittalk getnpcid(0,instance_npcname("Shalosh#14")),"Shalosh : New Oz, did you just think everyone except Rot is mediocre?"; + next; + cutin "min02",2; + mes "[Mingmin]"; + mes "You can talk and you can hear other people's thoughts. Brillant."; + unittalk getnpcid(0,instance_npcname("Mingmin#14")),"Mingmin : You can talk and you can hear other people's thoughts. Brillant."; + next; + cutin "lunain04",2; + mes "[Runane]"; + mes "Enough! Stop being disrespectful to New Oz!"; + unittalk getnpcid(0,instance_npcname("Runane#14")),"Runane : Enough! Stop being disrespectful to New Oz!"; + next; + cutin "roel01",0; + mes "[Roel]"; + mes "Comrades should not fight with each other."; + unittalk getnpcid(0,instance_npcname("Roel#14")),"Roel : Comrades should not fight with each other."; + next; + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "Comrades should not fight with each other. Got it."; + unittalk getnpcid(0,instance_npcname("Shalosh#14")),"Shalosh : Comrades should not fight with each other. Got it."; + next; + cutin "lunain03",2; + mes "[Runane]"; + mes "Comrades, who? We're just a bunch of strangers hell-bent on saving a lost girl!"; + unittalk getnpcid(0,instance_npcname("Runane#14")),"Runane : Comrades, who? We're just a bunch of strangers hell-bent on saving a lost girl!"; + next; + cutin "roel03",0; + mes "[Roel]"; + mes "(She's hawt when she's angry!)"; + unittalk getnpcid(0,instance_npcname("Roel#14")),"Roel : (She's hawt when she's angry!)"; + next; + cutin "min02",0; + mes "[Mingmin]"; + mes "We'll talk again the moment we're out of here."; + unittalk getnpcid(0,instance_npcname("Mingmin#14")),"Mingmin : We'll talk again the moment we're out of here."; + emotion e_an,0,instance_npcname("Mingmin#14"); + close2; + cutin "min02",255; + } + 'jitRoom = atoi(strnpcinfo(2)); + .@map$ = instance_mapname("1@jtb"); + areamonster .@map$,13,300,47,267,"Ferre",3069,10,instance_npcname("New Oz#14")+"::OnMyMobDead"; + areamonster .@map$,13,300,47,267,"Ferre",3070,10,instance_npcname("New Oz#14")+"::OnMyMobDead"; + areamonster .@map$,13,300,47,267,"Ferre",3071,10,instance_npcname("New Oz#14")+"::OnMyMobDead"; + areamonster .@map$,13,300,47,267,"Ferre",3072,5,instance_npcname("New Oz#14")+"::OnMyMobDead"; + donpcevent instance_npcname("#jtwarp14")+"::OnEnable"; + end; + +OnInstanceInit: + donpcevent instance_npcname("New Oz#14")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("New Oz#14"); + end; +OnDisable: + hideonnpc instance_npcname("New Oz#14"); + end; +OnMyMobDead: + .@map$ = instance_mapname("1@jtb"); + .@mob_num = mobcount(.@map$,instance_npcname("New Oz#14")+"::OnMyMobDead"); + if (!.@mob_num) { + sleep2 1500; + donpcevent instance_npcname("Mingmin#15")+"::OnEnable"; + donpcevent instance_npcname("Rohtert#15")+"::OnEnable"; + donpcevent instance_npcname("New Oz#15")+"::OnEnable"; + } + end; +} + +// Room 15 +//============================================================ +1@jtb,30,279,4 script Mingmin#15 643,{ + cutin "min02",0; + mes "[Mingmin]"; + mes "Tsk, tsk. I practically raised everyone here, and now they're at each other's throughts over the guild master position."; + close2; + cutin "min02",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Mingmin#15")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Mingmin#15"); + end; +OnDisable: + hideonnpc instance_npcname("Mingmin#15"); + end; +} + +1@jtb,30,284,4 script Rohtert#15 630,{ + cutin "rote01",0; + mes "[Rohtert]"; + mes "Don't let yourself be deluded by rumors! I'm the Stag of the Southern Gate, the most powerful Bishop in exorcist history!"; + close2; + cutin "rote01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Rohtert#15")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Rohtert#15"); + end; +OnDisable: + hideonnpc instance_npcname("Rohtert#15"); + end; +} + +1@jtb,26,280,5 script New Oz#15 625,{ + if ('jitRoom >= atoi(strnpcinfo(2)) || getcharid(0) != getpartyleader(getcharid(1),2)) { + cutin "nines01",0; + mes "[New Oz]"; + mes "Wait, I've collected some Autumn Leaves and Blue Cards to give to other friends as souvenirs. Where are they?"; + close2; + cutin "nines01",255; + end; + } + .@menu = select("Talk:Hurry"); + if (.@menu == 2 && isbegin_quest(13183)) { + mes "Try to jog your memory while hurrying."; + close2; + } + if (.@menu == 1 || !isbegin_quest(13183)) { + cutin "nines02",0; + mes "[New Oz]"; + mes "Having you two with me brings back a lot of memories."; + unittalk getnpcid(0),"New Oz : Having you two with me brings back a lot of memories."; + emotion e_ho; + next; + cutin "rote01",2; + mes "[Rohtert]"; + mes "I was as stubborn as a mule and busy pretending like I knew what I was doing."; + unittalk getnpcid(0,instance_npcname("Rohtert#15")),"Rohtert : I was as stubborn as a mule and busy pretending like I knew what I was doing."; + next; + cutin "min01",0; + mes "[Mingmin]"; + mes "Do you remember when you two fought over that florist girl at the southern gate of Prontera? Or when the doll merchant at the eastern gate whupped you for bickering and driving his customers away?"; + unittalk getnpcid(0,instance_npcname("Mingmin#15")),"Mingmin : Do you remember when you two fought over that florist girl at the southern gate of Prontera? Or when the doll merchant at the eastern gate whupped you for bickering and driving his customers away?"; + emotion e_what,0,instance_npcname("Mingmin#15"); + next; + cutin "rote01",2; + mes "[Rohtert]"; + mes "Do you not have any good memories of us?"; + unittalk getnpcid(0,instance_npcname("Rohtert#15")),"Rohtert : Do you not have any good memories of us?"; + next; + cutin "nines01",0; + mes "[New Oz]"; + mes "Oh, I remember! Ah, good times!"; + unittalk getnpcid(0),"New Oz : Oh, I remember! Ah, good times!"; + emotion e_ho; + next; + cutin "rote01",0; + mes "[Rohtert]"; + mes "Am I the only one not happy about this conversation?"; + unittalk getnpcid(0,instance_npcname("Rohtert#15")),"Rohtert : Am I the only one not happy about this conversation?"; + emotion e_dots,0,instance_npcname("Rohtert#15"); + next; + cutin "min01",0; + mes "[Mingmin]"; + mes "How about when you played with Dead Branch to death? Or when you and your Sorcerer buddies killed yourselves playing Hocus Pocus?"; + unittalk getnpcid(0,instance_npcname("Mingmin#15")),"Mingmin : How about when you played with Dead Branch to death? Or when you and your Sorcerer buddies killed yourselves playing Hocus Pocus?"; + emotion e_meh,0,instance_npcname("Mingmin#15"); + next; + cutin "rote01",0; + mes "[Rohtert]"; + mes "Can't you think of a nice memory?"; + unittalk getnpcid(0,instance_npcname("Rohtert#15")),"Rohtert : Can't you think of a nice memory?"; + emotion e_sigh,0,instance_npcname("Rohtert#15"); + next; + cutin "nines01",0; + mes "[New Oz]"; + mes "I can! Mingmin drank the Poison Bottle I found on the street and died; I told you it was expensive, and I didn't say anything about it being good for your health."; + unittalk getnpcid(0),"New Oz : I can! Mingmin drank the Poison Bottle I found on the street and died; I told you it was expensive, and I didn't say anything about it being good for your health."; + emotion e_ok; + next; + cutin "min01",0; + mes "[Mingmin]"; + mes "Oh, I remember! That was funny!"; + unittalk getnpcid(0,instance_npcname("Mingmin#15")),"Mingmin : Oh, I remember! That was funny!"; + emotion e_heh,0,instance_npcname("Mingmin#15"); + next; + cutin "rote01",2; + mes "[Rohtert]"; + mes "Arg!"; + unittalk getnpcid(0,instance_npcname("Rohtert#15")),"Rohtert : Arg!"; + emotion e_wah,0,instance_npcname("Rohtert#15"); + close2; + cutin "rote01",255; + } + 'jitRoom = atoi(strnpcinfo(2)); + .@map$ = instance_mapname("1@jtb"); + areamonster .@map$,104,297,132,268,"Ferre",3069,8,instance_npcname("New Oz#15")+"::OnMyMobDead"; + areamonster .@map$,104,297,132,268,"Ferre",3070,10,instance_npcname("New Oz#15")+"::OnMyMobDead"; + areamonster .@map$,104,297,132,268,"Ferre",3071,5,instance_npcname("New Oz#15")+"::OnMyMobDead"; + areamonster .@map$,104,297,132,268,"Ferre",3072,7,instance_npcname("New Oz#15")+"::OnMyMobDead"; + donpcevent instance_npcname("#jtwarp15")+"::OnEnable"; + end; + +OnInstanceInit: + donpcevent instance_npcname("New Oz#15")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("New Oz#15"); + end; +OnDisable: + hideonnpc instance_npcname("New Oz#15"); + end; +OnMyMobDead: + .@map$ = instance_mapname("1@jtb"); + .@mob_num = mobcount(.@map$,instance_npcname("New Oz#15")+"::OnMyMobDead"); + if (!.@mob_num) { + sleep2 1500; + donpcevent instance_npcname("Aigu#16")+"::OnEnable"; + donpcevent instance_npcname("Runane#16")+"::OnEnable"; + donpcevent instance_npcname("Shalosh#16")+"::OnEnable"; + } + end; +} + +// Room 16 +//============================================================ +1@jtb,108,285,5 script Aigu#16 646,{ + cutin "igu03",0; + mes "[Aigu]"; + mes "I don't mind healthy rivalry, but I prefer friendship, however long it lasts."; + close2; + cutin "igu03",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Aigu#16")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Aigu#16"); + end; +OnDisable: + hideonnpc instance_npcname("Aigu#16"); + end; +} + +1@jtb,113,285,4 script Runane#16 10039,{ + cutin "lunain01",2; + mes "[Runane]"; + mes "Let's make a truce for now. But make no mistake--New Oz is mine the moment I find him vulnerable."; + close2; + cutin "lunain01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Runane#16")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Runane#16"); + end; +OnDisable: + hideonnpc instance_npcname("Runane#16"); + end; +} + +1@jtb,110,281,5 script Shalosh#16 10041,{ + if ('jitRoom >= atoi(strnpcinfo(2)) || getcharid(0) != getpartyleader(getcharid(1),2)) { + cutin "shaloshi01",2; + mes "[Shalosh]"; + mes "Friends... Rivalry... Comrades..."; + close2; + cutin "shaloshi01",255; + end; + } + .@menu = select("Talk:Hurry"); + if (.@menu == 2 && isbegin_quest(13183)) { + mes "Try to jog your memory while hurrying."; + close2; + } + if (.@menu == 1 || !isbegin_quest(13183)) { + cutin "lunain02",2; + mes "[Runane]"; + mes "Maybe New Oz is not interested in dating."; + unittalk getnpcid(0,instance_npcname("Runane#16")),"Runane : Maybe New Oz is not interested in dating."; + next; + cutin "igu05",0; + mes "[Aigu]"; + mes "Tell me something I don't know."; + unittalk getnpcid(0,instance_npcname("Aigu#16")),"Aigu : Tell me something I don't know."; + next; + cutin "lunain01",2; + mes "[Runane]"; + mes "But you haven't tried to talk to him. I mean seriously, have you?"; + unittalk getnpcid(0,instance_npcname("Runane#16")),"Runane : But you haven't tried to talk to him. I mean seriously, have you?"; + next; + cutin "igu04",0; + mes "[Aigu]"; + mes "You've met him today, but you should know unless you're stupid."; + unittalk getnpcid(0,instance_npcname("Aigu#16")),"Aigu : You've met him today, but you should know unless you're stupid."; + next; + cutin "lunain02",2; + mes "[Runane]"; + mes "I know--he'll say no if I ask him out."; + unittalk getnpcid(0,instance_npcname("Runane#16")),"Runane : I know--he'll say no if I ask him out."; + next; + cutin "igu05",0; + mes "[Aigu]"; + mes "That dimwit is only interested in adventuring."; + unittalk getnpcid(0,instance_npcname("Aigu#16")),"Aigu : That dimwit is only interested in adventuring."; + next; + cutin "lunain04",2; + mes "[Runane]"; + mes "Don't call my hero that! ...But I agree with you."; + unittalk getnpcid(0,instance_npcname("Runane#16")),"Runane : Don't call my hero that! ...But I agree with you."; + next; + cutin "igu03",0; + mes "[Aigu]"; + mes "You seem to be found of Roel."; + unittalk getnpcid(0,instance_npcname("Aigu#16")),"Aigu : You seem to be found of Roel."; + next; + cutin "lunain03",2; + mes "[Runane]"; + mes "I'm not interested in that kid."; + unittalk getnpcid(0,instance_npcname("Runane#16")),"Runane : I'm not interested in that kid."; + next; + cutin "igu03",0; + mes "[Aigu]"; + mes "How about you, Adventurer? How are things with your significant other?"; + unittalk getnpcid(0,instance_npcname("Aigu#16")),"Aigu : How about you, Adventurer? How are things with your significant other?"; + next; + 'jitOption = select("You don't even know if I have one:My love is unrequited:We're happy"); + cutin "igu01",0; + switch ('jitOption) { + case 1: + unittalk getcharid(3),strcharinfo(0)+" : You don't even know if I have one."; + mes "[Aigu]"; + mes "Oh, I'm sorry, but I'm on the verge of bursting into tears."; + unittalk getnpcid(0,instance_npcname("Aigu#16")),"Aigu : Oh, I'm sorry, but I'm on the verge of bursting into tears."; + break; + case 2: + unittalk getcharid(3),strcharinfo(0)+" : My love is unrequited."; + mes "[Aigu]"; + mes "Unrequited love is painful. You'd better let it go before it breaks you."; + unittalk getnpcid(0,instance_npcname("Aigu#16")),"Aigu : Unrequited love is painful. You'd better let it go before it breaks you."; + break; + case 3: //Custom text + unittalk getcharid(3),strcharinfo(0)+" : We're happy."; + mes "[Aigu]"; + mes "I'm glad to hear it."; + unittalk getnpcid(0,instance_npcname("Aigu#16")),"Aigu : I'm glad to hear it."; + break; + } + next; + cutin "igu03",0; + mes "[Aigu]"; + mes "I don't mind healthy rivalry, but I prefer friendship, however long it lasts."; + unittalk getnpcid(0,instance_npcname("Aigu#16")),"Aigu : I don't mind healthy rivalry, but I prefer friendship, however long it lasts."; + next; + cutin "lunain01",2; + mes "[Runane]"; + mes "Let's make a truce for now. But make no mistake--New Oz is mine the moment I find him vulnerable."; + unittalk getnpcid(0,instance_npcname("Runane#16")),"Runane : Let's make a truce for now. But make no mistake--New Oz is mine the moment I find him vulnerable."; + next; + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "(Friends... Rivalry...)"; + unittalk getnpcid(0),"Shalosh : (Friends... Rivalry...)"; + next; + cutin "igu01",0; + mes "[Aigu]"; + mes "Over my dead body!"; + unittalk getnpcid(0,instance_npcname("Aigu#16")),"Aigu : Over my dead body!"; + close2; + cutin "igu01",255; + } + 'jitRoom = atoi(strnpcinfo(2)); + .@map$ = instance_mapname("1@jtb"); + monster .@map$,209,273,"Ferre",3072,1,instance_npcname("Shalosh#16")+"::OnMyMobDead"; + monster .@map$,210,272,"Ferre",3069,1,instance_npcname("Shalosh#16")+"::OnMyMobDead"; + monster .@map$,211,273,"Ferre",3071,1,instance_npcname("Shalosh#16")+"::OnMyMobDead"; + monster .@map$,212,272,"Ferre",3072,1,instance_npcname("Shalosh#16")+"::OnMyMobDead"; + monster .@map$,213,273,"Ferre",3070,1,instance_npcname("Shalosh#16")+"::OnMyMobDead"; + monster .@map$,211,274,"Ferre",3070,1,instance_npcname("Shalosh#16")+"::OnMyMobDead"; + monster .@map$,212,275,"Ferre",3070,1,instance_npcname("Shalosh#16")+"::OnMyMobDead"; + monster .@map$,213,275,"Ferre",3070,1,instance_npcname("Shalosh#16")+"::OnMyMobDead"; + monster .@map$,213,276,"Ferre",3070,1,instance_npcname("Shalosh#16")+"::OnMyMobDead"; + areamonster .@map$,183,301,220,272,"Ferre",3069,5,instance_npcname("Shalosh#16")+"::OnMyMobDead"; + areamonster .@map$,183,301,220,272,"Ferre",3070,8,instance_npcname("Shalosh#16")+"::OnMyMobDead"; + areamonster .@map$,183,301,220,272,"Ferre",3071,5,instance_npcname("Shalosh#16")+"::OnMyMobDead"; + areamonster .@map$,183,301,220,272,"Ferre",3072,5,instance_npcname("Shalosh#16")+"::OnMyMobDead"; + areamonster .@map$,183,301,220,272,"Jitterbug",3108+rand(1),('jitOption==3?2:1),instance_npcname("Shalosh#16")+"::OnMyMobDead"; + donpcevent instance_npcname("#jtwarp16")+"::OnEnable"; + end; + +OnInstanceInit: + donpcevent instance_npcname("Shalosh#16")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Shalosh#16"); + end; +OnDisable: + hideonnpc instance_npcname("Shalosh#16"); + end; +OnMyMobDead: + .@map$ = instance_mapname("1@jtb"); + .@mob_num = mobcount(.@map$,instance_npcname("Shalosh#16")+"::OnMyMobDead"); + if (!.@mob_num) { + sleep2 1500; + donpcevent instance_npcname("Roel#17")+"::OnEnable"; + donpcevent instance_npcname("Runane#17")+"::OnEnable"; + donpcevent instance_npcname("Shalosh#17")+"::OnEnable"; + } + end; +} + +// Room 17 +//============================================================ +1@jtb,199,278,7 script Roel#17 10040,{ + cutin "roel03",0; + mes "[Roel]"; + mes "I'm okay. At least I can protect Shalosh. Feeling protective of someone is nice."; + close2; + cutin "roel03",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Roel#17")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Roel#17"); + end; +OnDisable: + hideonnpc instance_npcname("Roel#17"); + end; +} + +1@jtb,203,281,4 script Runane#17 10039,{ + cutin "lunain02",2; + mes "[Runane]"; + mes "True friends don't need to declare their friendship; they just become friends without knowing."; + close2; + cutin "lunain02",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Runane#17")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Runane#17"); + end; +OnDisable: + hideonnpc instance_npcname("Runane#17"); + end; +} + +1@jtb,198,282,5 script Shalosh#17 10041,{ + if ('jitRoom >= atoi(strnpcinfo(2)) || getcharid(0) != getpartyleader(getcharid(1),2)) { + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "Ferres don't bite me."; + close2; + cutin "shaloshi01",255; + end; + } + .@menu = select("Talk:Hurry"); + if (.@menu == 2 && isbegin_quest(13183)) { + mes "Try to jog your memory while hurrying."; + close2; + } + if (.@menu == 1 || !isbegin_quest(13183)) { + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "Roel and Runane are hurt."; + unittalk getnpcid(0),"Shalosh : Roel and Runane are hurt."; + emotion e_dots; + next; + cutin "lunain04",2; + mes "[Runane]"; + mes "I'm fine. I told you to be careful, kiddo!"; + unittalk getnpcid(0,instance_npcname("Runane#17")),"Runane : I'm fine. I told you to be careful, kiddo!"; + next; + cutin "roel04",0; + mes "[Roel]"; + mes "Sorry. I won't disappoint you again."; + unittalk getnpcid(0,instance_npcname("Roel#17")),"Roel : Sorry. I won't disappoint you again."; + emotion e_sry,0,instance_npcname("Roel#17"); + next; + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "She's not happy with him, but she still treats him really well."; + unittalk getnpcid(0),"Shalosh : She's not happy with him, but she still treats him really well."; + next; + cutin "roel03",0; + mes "[Roel]"; + mes "(She's kind.)"; + unittalk getnpcid(0,instance_npcname("Roel#17")),"Roel : (She's kind.)"; + emotion e_lv,0,instance_npcname("Roel#17"); + next; + cutin "lunain02",2; + mes "[Runane]"; + mes "Don't mistake this for anything more than what it is--babysitting!"; + unittalk getnpcid(0,instance_npcname("Runane#17")),"Runane : Don't mistake this for anything more than what it is--babysitting!"; + next; + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "She's blushing."; + unittalk getnpcid(0),"Shalosh : She's blushing."; + emotion e_dots; + next; + cutin "lunain01",2; + mes "[Runane]"; + mes "There's nothing about you I like."; + unittalk getnpcid(0,instance_npcname("Runane#17")),"Runane : There's nothing about you I like."; + next; + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "Before Aigu and Runane,"; + unittalk getnpcid(0),"Shalosh : Before Aigu and Runane,"; + next; + mes "[Shalosh]"; + mes "the Ferres showed up first."; + unittalk getnpcid(0),"Shalosh : the Ferres showed up first."; + next; + cutin "roel01",0; + mes "[Roel]"; + mes "Ferre?"; + unittalk getnpcid(0,instance_npcname("Roel#17")),"Roel : Ferre?"; + next; + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "They emit 'ferre, ferre,' so I call them Ferres."; + unittalk getnpcid(0),"Shalosh : They emit 'ferre, ferre,' so I call them Ferres."; + next; + mes "[Shalosh]"; + mes "They did nothing but croacked."; + unittalk getnpcid(0),"Shalosh : They did nothing but croacked."; + next; + mes "[Shalosh]"; + mes "They're my friends. They don't bite or hurt."; + unittalk getnpcid(0),"Shalosh : They're my friends. They don't bite or hurt."; + next; + cutin "roel01",0; + mes "[Roel]"; + mes "But now..."; + unittalk getnpcid(0,instance_npcname("Roel#17")),"Roel : But now..."; + next; + cutin "lunain04",2; + mes "[Runane]"; + mes "Listen, humans and monsters can't be friends. At least that's what I think."; + unittalk getnpcid(0,instance_npcname("Runane#17")),"Runane : Listen, humans and monsters can't be friends. At least that's what I think."; + emotion e_pif,0,instance_npcname("Runane#17"); + next; + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "Can't be friends."; + unittalk getnpcid(0),"Shalosh : Can't be friends."; + next; + cutin "lunain03",2; + mes "[Runane]"; + mes "That's right. I like you better when you listen to me."; + unittalk getnpcid(0,instance_npcname("Runane#17")),"Runane : That's right. I like you better when you listen to me."; + next; + cutin "roel03",0; + mes "[Roel]"; + mes "How about I be your friend?"; + unittalk getnpcid(0,instance_npcname("Roel#17")),"Roel : How about I be your friend?"; + next; + cutin "lunain02",2; + mes "[Runane]"; + mes "Stop making things awkward! We're about the same age, so we're friends already."; + unittalk getnpcid(0,instance_npcname("Runane#17")),"Runane : Stop making things awkward! We're about the same age, so we're friends already."; + emotion e_hmm,0,instance_npcname("Runane#17"); + next; + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "(Can't be friends.)"; + unittalk getnpcid(0),"Shalosh : (Can't be friends.)"; + close2; + cutin "shaloshi01",255; + } + 'jitRoom = atoi(strnpcinfo(2)); + .@map$ = instance_mapname("1@jtb"); + areamonster .@map$,13,389,45,355,"Ferre",3069,5,instance_npcname("Shalosh#17")+"::OnMyMobDead"; + areamonster .@map$,13,389,45,355,"Ferre",3070,9,instance_npcname("Shalosh#17")+"::OnMyMobDead"; + areamonster .@map$,13,389,45,355,"Ferre",3071,9,instance_npcname("Shalosh#17")+"::OnMyMobDead"; + areamonster .@map$,13,389,45,355,"Ferre",3072,9,instance_npcname("Shalosh#17")+"::OnMyMobDead"; + donpcevent instance_npcname("#jtwarp17")+"::OnEnable"; + end; + +OnInstanceInit: + donpcevent instance_npcname("Shalosh#17")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Shalosh#17"); + end; +OnDisable: + hideonnpc instance_npcname("Shalosh#17"); + end; +OnMyMobDead: + .@map$ = instance_mapname("1@jtb"); + .@mob_num = mobcount(.@map$,instance_npcname("Shalosh#17")+"::OnMyMobDead"); + if (!.@mob_num) { + sleep2 1500; + donpcevent instance_npcname("Arang#18")+"::OnEnable"; + donpcevent instance_npcname("Ragi#18")+"::OnEnable"; + donpcevent instance_npcname("Gelkah#18")+"::OnEnable"; + donpcevent instance_npcname("Rohtert#18")+"::OnEnable"; + donpcevent instance_npcname("Aigu#18")+"::OnEnable"; + donpcevent instance_npcname("Mingmin#18")+"::OnEnable"; + donpcevent instance_npcname("Melody-Jack#18")+"::OnEnable"; + donpcevent instance_npcname("New Oz#18")+"::OnEnable"; + } + end; +} + +// Room 18 +//============================================================ +1@jtb,26,380,5 script Arang#18 644,{ + cutin "arang02",0; + mes "[Arang]"; + mes "I wish these monsters were as cute and helpless as those Porings for the Taekwon mission."; + close2; + cutin "arang02",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Arang#18")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Arang#18"); + end; +OnDisable: + hideonnpc instance_npcname("Arang#18"); + end; +} + +1@jtb,31,380,4 script Ragi#18 647,{ + cutin "ragi01",0; + mes "[Ragi]"; + mes "They're bickering all the time, but look like good friends. Don't they?"; + close2; + cutin "ragi01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Ragi#18")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Ragi#18"); + end; +OnDisable: + hideonnpc instance_npcname("Ragi#18"); + end; +} + +1@jtb,33,376,4 script Gelkah#18 629,{ + cutin "gelca01",0; + mes "[Gelkah]"; + mes "I practice hard, so I can shine in times of danger."; + close2; + cutin "gelca01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Gelkah#18")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Gelkah#18"); + end; +OnDisable: + hideonnpc instance_npcname("Gelkah#18"); + end; +} + +1@jtb,30,373,4 script Rohtert#18 630,{ + cutin "rote01",0; + mes "[Rohtert]"; + mes "I have a feeling New Oz is up to no good."; + close2; + cutin "rote01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Rohtert#18")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Rohtert#18"); + end; +OnDisable: + hideonnpc instance_npcname("Rohtert#18"); + end; +} + +1@jtb,24,376,5 script Aigu#18 646,{ + cutin "igu05",0; + mes "[Aigu]"; + mes "New Oz's enthusiasm for adventure went overboard. Again. I can't say I hate that about him, though."; + close2; + cutin "igu05",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Aigu#18")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Aigu#18"); + end; +OnDisable: + hideonnpc instance_npcname("Aigu#18"); + end; +} + +1@jtb,25,373,5 script Mingmin#18 643,{ + cutin "min02",0; + mes "[Mingmin]"; + mes "We'd better look for an exit before things get too crazy."; + close2; + cutin "min02",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Mingmin#18")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Mingmin#18"); + end; +OnDisable: + hideonnpc instance_npcname("Mingmin#18"); + end; +} + +1@jtb,30,377,5 script Melody-Jack#18 844,{ + mes "[Melody-Jack]"; + mes "New Oz is never tactful."; + close; + +OnInstanceInit: + donpcevent instance_npcname("Melody-Jack#18")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Melody-Jack#18"); + end; +OnDisable: + hideonnpc instance_npcname("Melody-Jack#18"); + end; +} + +1@jtb,28,377,5 script New Oz#18 625,{ + if ('jitRoom >= atoi(strnpcinfo(2)) || getcharid(0) != getpartyleader(getcharid(1),2)) { + cutin "nines01",0; + mes "[New Oz]"; + mes "We should find her."; + close2; + cutin "nines01",255; + end; + } + .@menu = select("Talk:Hurry"); + if (.@menu == 2 && isbegin_quest(13183)) { + mes "Try to jog your memory while hurrying."; + close2; + } + if (.@menu == 1 || !isbegin_quest(13183)) { + cutin "nines01",0; + mes "[New Oz]"; + mes "Strange... The atmosphere has changed."; + unittalk getnpcid(0),"New Oz : Strange... The atmosphere has changed."; + emotion e_dots; + next; + cutin "min02",0; + mes "[Mingmin]"; + mes "The air smells different, and things look less... perceptible."; + unittalk getnpcid(0,instance_npcname("Mingmin#18")),"Mingmin : The air smells different, and things look less... perceptible."; + next; + cutin "rote01",2; + mes "[Rohtert]"; + mes "It seems as though we're underwater, yet I don't feel it."; + unittalk getnpcid(0,instance_npcname("Rohtert#18")),"Rohtert : It seems as though we're underwater, yet I don't feel it."; + next; + mes "[Melody-Jack]"; + mes "I'm telling you, we've been circling around the same place."; + unittalk getnpcid(0,instance_npcname("Melody-Jack#18")),"Melody-Jack : I'm telling you, we've been circling around the same place."; + emotion e_dum,0,instance_npcname("Melody-Jack#18"); + cutin "rote01",255; + next; + cutin "min02",0; + mes "[Mingmin]"; + mes "I agree. And this clearing is neither compact nor spacious."; + unittalk getnpcid(0,instance_npcname("Mingmin#18")),"Mingmin : I agree. And this clearing is neither compact nor spacious."; + next; + cutin "nines01",0; + mes "[New Oz]"; + mes "Do you think it's meaningless for us to go deeper?"; + unittalk getnpcid(0),"New Oz : Do you think it's meaningless for us to go deeper?"; + next; + cutin "min02",0; + mes "[Mingmin]"; + mes "No. I'm just saying the environmental changes are too drastic, almost like the mood swings of a bipolar person."; + unittalk getnpcid(0,instance_npcname("Mingmin#18")),"Mingmin : No. I'm just saying the environmental changes are too drastic, almost like the mood swings of a bipolar person."; + next; + mes "[Mingmin]"; + mes "I don't know why, but things are losing their shape as if they're fading away."; + unittalk getnpcid(0,instance_npcname("Mingmin#18")),"Mingmin : I don't know why, but things are losing their shape as if they're fading away."; + next; + mes "[Melody-Jack]"; + mes "All the while, the foreign energy I've been sensing is growing stronger. This is bad."; + unittalk getnpcid(0,instance_npcname("Melody-Jack#18")),"Melody-Jack : All the while, the foreign energy I've been sensing is growing stronger. This is bad."; + emotion e_dots,0,instance_npcname("Melody-Jack#18"); + cutin "min02",255; + next; + cutin "min02",0; + mes "[Mingmin]"; + mes "I feel like something's going to appear in front of our eyes with a loud pop."; + unittalk getnpcid(0,instance_npcname("Mingmin#18")),"Mingmin : I feel like something's going to appear in front of our eyes with a loud pop."; + next; + cutin "arang02",2; + mes "[Arang]"; + mes "I hope it's a formidable monster!"; + unittalk getnpcid(0,instance_npcname("Arang#18")),"Arang : I hope it's a formidable monster!"; + next; + cutin "igu01",0; + mes "[Aigu]"; + mes "I hope you're wrong."; + unittalk getnpcid(0,instance_npcname("Aigu#18")),"Aigu : I hope you're wrong."; + emotion e_X,0,instance_npcname("Aigu#18"); + next; + cutin "ragi02",2; + mes "[Ragi]"; + mes "I'm just going to leave you guys to..."; + unittalk getnpcid(0,instance_npcname("Ragi#18")),"Ragi : I'm just going to leave you guys to..."; + next; + cutin "nines02",0; + mes "[New Oz]"; + mes "The monster?"; + unittalk getnpcid(0),"New Oz : The monster?"; + next; + cutin "rote01",2; + mes "[Rohtert]"; + mes "I'll kill you both before the monster."; + unittalk getnpcid(0,instance_npcname("Rohtert#18")),"Rohtert : I'll kill you both before the monster."; + next; + cutin "gelca04",2; + mes "[Gelkah]"; + mes "Master, please!"; + unittalk getnpcid(0,instance_npcname("Gelkah#18")),"Gelkah : Master, please!"; + next; + cutin "arang02",0; + mes "[Arang]"; + mes "Have you seen Shalosh? Where is she?"; + unittalk getnpcid(0,instance_npcname("Arang#18")),"Arang : Have you seen Shalosh? Where is she?"; + next; + cutin "igu04",0; + mes "[Aigu]"; + mes "Oh, you're right!"; + unittalk getnpcid(0,instance_npcname("Aigu#18")),"Aigu : Oh, you're right!"; + next; + cutin "min02",0; + mes "[Mingmin]"; + mes "..."; + unittalk getnpcid(0,instance_npcname("Mingmin#18")),"Mingmin : ..."; + next; + mes "[Melody-Jack]"; + mes "..."; + unittalk getnpcid(0,instance_npcname("Melody-Jack#18")),"Melody-Jack : ..."; + emotion e_dots,0,instance_npcname("Melody-Jack#18"); + cutin "min02",255; + next; + cutin "nines03",0; + mes "[New Oz]"; + mes "We should find her."; + unittalk getnpcid(0),"New Oz : We should find her."; + close2; + cutin "nines03",255; + } + 'jitRoom = atoi(strnpcinfo(2)); + .@map$ = instance_mapname("1@jtb"); + areamonster .@map$,95,387,133,352,"Ferre",3069,3,instance_npcname("New Oz#18")+"::OnMyMobDead"; + areamonster .@map$,95,387,133,352,"Ferre",3070,10,instance_npcname("New Oz#18")+"::OnMyMobDead"; + areamonster .@map$,95,387,133,352,"Ferre",3072,6,instance_npcname("New Oz#18")+"::OnMyMobDead"; + donpcevent instance_npcname("#jtwarp18")+"::OnEnable"; + end; + +OnInstanceInit: + donpcevent instance_npcname("New Oz#18")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("New Oz#18"); + end; +OnDisable: + hideonnpc instance_npcname("New Oz#18"); + end; +OnMyMobDead: + .@map$ = instance_mapname("1@jtb"); + .@mob_num = mobcount(.@map$,instance_npcname("New Oz#18")+"::OnMyMobDead"); + if (!.@mob_num) { + sleep2 1500; + donpcevent instance_npcname("Gelkah#19")+"::OnEnable"; + donpcevent instance_npcname("Roel#19")+"::OnEnable"; + } + end; +} + +// Room 19 +//============================================================ +1@jtb,110,377,2 script Gelkah#19 629,{ + cutin "gelca01",0; + mes "[Gelkah]"; + mes "Fighting is essential to adventurer training. Divide and conquer!"; + close2; + cutin "gelca01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Gelkah#19")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Gelkah#19"); + end; +OnDisable: + hideonnpc instance_npcname("Gelkah#19"); + end; +} + +1@jtb,105,377,5 script Roel#19 10040,{ + if ('jitRoom >= atoi(strnpcinfo(2)) || getcharid(0) != getpartyleader(getcharid(1),2)) { + cutin "roel01",0; + mes "[Roel]"; + mes "One of my friends once set me up on a blind date in Izlude."; + next; + mes "[Roel]"; + mes "She and I exchanged a couple of letters, first to introduce each other, and then the second to set up a date."; + next; + cutin "roel04",0; + mes "[Roel]"; + mes "She didn't reply to my second letter. I can't fAigure out why."; + close2; + cutin "roel04",255; + end; + } + .@menu = select("Talk:Hurry"); + if (.@menu == 2 && isbegin_quest(13183)) { + mes "Try to jog your memory while hurrying."; + close2; + } + if (.@menu == 1 || !isbegin_quest(13183)) { + cutin "gelca01",2; + mes "[Gelkah]"; + mes "Scene 8: Heroes are surrounded by a horde of enemies. Roel, let's choreograph what we've practiced today, shall we?"; + unittalk getnpcid(0,instance_npcname("Gelkah#19")),"Gelkah : Scene 8: Heroes are surrounded by a horde of enemies. Roel, let's choreograph what we've practiced today, shall we?"; + next; + cutin "roel01",0; + mes "[Roel]"; + mes "Gelkah, get ready!"; + unittalk getnpcid(0),"Roel : Gelkah, get ready!"; + emotion e_gasp; + next; + cutin "gelca01",2; + mes "[Gelkah]"; + mes "Gelkah-style Mental Strength! Iron Physique!"; + unittalk getnpcid(0,instance_npcname("Gelkah#19")),"Gelkah : Gelkah-style Mental Strength! Iron Physique!"; + emotion e_com,0,instance_npcname("Gelkah#19"); + specialeffect EF_GUMGANG,AREA,instance_npcname("Gelkah#19"); + next; + cutin "roel02",0; + mes "[Roel]"; + mes "Impenetrable defense! Roel-style Guard!"; + unittalk getnpcid(0),"Roel : Impenetrable defense! Roel-style Guard!"; + emotion e_com; + specialeffect EF_KEEPING; + next; + cutin "gelca01",2; + mes "[Roel & Gelkah]"; + mes "CROSS!!!"; + unittalk getnpcid(0),"Roel : CROSS!!!"; + unittalk getnpcid(0,instance_npcname("Gelkah#19")),"Gelkah : CROSS!!!"; + specialeffect EF_POTION_BERSERK; + specialeffect EF_POTION_BERSERK,AREA,instance_npcname("Gelkah#19"); + next; + cutin "roel03",0; + mes "[Roel & Gelkah]"; + mes "Last bastion!"; + unittalk getnpcid(0),"Roel : Last bastion!"; + unittalk getnpcid(0,instance_npcname("Gelkah#19")),"Gelkah : Last bastion!"; + specialeffect EF_SHIELDBOOMERANG; + specialeffect EF_BOTTOM_BASILICA,AREA,instance_npcname("Gelkah#19"); + specialeffect EF_SHIELDCHARGE; + sleep2 300; + specialeffect EF_GLASSWALL,AREA,instance_npcname("Gelkah#19"); + specialeffect EF_GLASSWALL; + specialeffect EF_GUARD; + sleep2 300; + specialeffect EF_ANGELUS,AREA,instance_npcname("Gelkah#19"); + specialeffect EF_ANGELUS; + next; + cutin "roel02",0; + mes "[Roel]"; + mes "By the gods, Gelkah, you're awesome!"; + unittalk getnpcid(0),"Roel : By the gods, Gelkah, you're awesome!"; + next; + 'jitOption = select("Awesome, indeed!:You just made up those words to look cool!"); + if ('jitOption == 2) { //Custom text + unittalk getcharid(3),strcharinfo(0)+" : You just made up those words to look cool!"; + cutin "roel01",0; + mes "[Roel]"; + mes "I'm not! The traning that she'd been through is what makes her more stronger now."; + unittalk getnpcid(0),"Roel : I'm not! The traning that she'd been through is what makes her more stronger now."; + } else { + unittalk getcharid(3),strcharinfo(0)+" : Awesome, indeed!"; + cutin "gelca03",2; + mes "[Gelkah]"; + mes "I've learned from the best."; + unittalk getnpcid(0,instance_npcname("Gelkah#19")),"Gelkah : I've learned from the best."; + } + next; + cutin "roel02",0; + mes "[Roel]"; + mes "I hope you'll teach me too, Rohtert."; + unittalk getnpcid(0),"Roel : I hope you'll teach me too, Rohtert."; + next; + cutin "gelca03",2; + mes "[Gelkah]"; + mes "Special skills are all about their names. Shouting impressive names is enough to intimidate your enemies."; + unittalk getnpcid(0,instance_npcname("Gelkah#19")),"Gelkah : Special skills are all about their names. Shouting impressive names is enough to intimidate your enemies."; + next; + mes "- They're absorbed in talking about their new special skills. -"; + cutin "gelca03",255; + close2; + } + 'jitRoom = atoi(strnpcinfo(2)); + .@map$ = instance_mapname("1@jtb"); + areamonster .@map$,182,387,219,354,"Ferre",3069,10,instance_npcname("Roel#19")+"::OnMyMobDead"; + areamonster .@map$,182,387,219,354,"Ferre",3070,10,instance_npcname("Roel#19")+"::OnMyMobDead"; + areamonster .@map$,182,387,219,354,"Ferre",3071,10,instance_npcname("Roel#19")+"::OnMyMobDead"; + areamonster .@map$,182,387,219,354,"Ferre",3072,10,instance_npcname("Roel#19")+"::OnMyMobDead"; + areamonster .@map$,182,387,219,354,"Jitterbug",3108+rand(1),('jitOption==2?2:1),instance_npcname("Roel#19")+"::OnMyMobDead"; + donpcevent instance_npcname("#jtwarp19")+"::OnEnable"; + end; + +OnInstanceInit: + donpcevent instance_npcname("Roel#19")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Roel#19"); + end; +OnDisable: + hideonnpc instance_npcname("Roel#19"); + end; +OnMyMobDead: + .@map$ = instance_mapname("1@jtb"); + .@mob_num = mobcount(.@map$,instance_npcname("Roel#19")+"::OnMyMobDead"); + if (!.@mob_num) { + sleep2 1500; + donpcevent instance_npcname("Rohtert#20")+"::OnEnable"; + donpcevent instance_npcname("Arang#20")+"::OnEnable"; + donpcevent instance_npcname("Aigu#20")+"::OnEnable"; + donpcevent instance_npcname("Ragi#20")+"::OnEnable"; + donpcevent instance_npcname("Runane#20")+"::OnEnable"; + donpcevent instance_npcname("Roel#20")+"::OnEnable"; + donpcevent instance_npcname("Shalosh#20")+"::OnEnable"; + donpcevent instance_npcname("Gelkah#20")+"::OnEnable"; + donpcevent instance_npcname("Mingmin#20")+"::OnEnable"; + donpcevent instance_npcname("Melody-Jack#20")+"::OnEnable"; + donpcevent instance_npcname("New Oz#20")+"::OnEnable"; + } + end; +} + +// Room 20 +//============================================================ +1@jtb,201,369,4 script Rohtert#20 630,{ + cutin "rote01",0; + mes "[Rohtert]"; + mes "I'll show you my charismatic leadership as the guild master!"; + close2; + cutin "rote01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Rohtert#20")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Rohtert#20"); + end; +OnDisable: + hideonnpc instance_npcname("Rohtert#20"); + end; +} + +1@jtb,204,366,4 script Arang#20 644,{ + cutin "arang01",0; + mes "[Arang]"; + mes "Haap!"; + close2; + cutin "arang01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Arang#20")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Arang#20"); + end; +OnDisable: + hideonnpc instance_npcname("Arang#20"); + end; +} + +1@jtb,195,368,5 script Aigu#20 646,{ + cutin "igu05",0; + mes "[Aigu]"; + mes "I'm following New Oz."; + close2; + cutin "igu05",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Aigu#20")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Aigu#20"); + end; +OnDisable: + hideonnpc instance_npcname("Aigu#20"); + end; +} + +1@jtb,194,367,5 script Ragi#20 647,{ + cutin "ragi02",0; + mes "[Ragi]"; + mes "I hope today won't be the last day I play my instrument..."; + close2; + cutin "ragi02",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Ragi#20")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Ragi#20"); + end; +OnDisable: + hideonnpc instance_npcname("Ragi#20"); + end; +} + +1@jtb,195,365,5 script Runane#20 10039,{ + cutin "lunain01",0; + mes "[Runane]"; + mes "We should find New Oz and Shalosh first."; + close2; + cutin "lunain01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Runane#20")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Runane#20"); + end; +OnDisable: + hideonnpc instance_npcname("Runane#20"); + end; +} + +1@jtb,194,363,5 script Roel#20 10040,{ + cutin "roel01",0; + mes "[Roel]"; + mes "I'll follow you guys to the ends of the world."; + close2; + cutin "roel01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Roel#20")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Roel#20"); + end; +OnDisable: + hideonnpc instance_npcname("Roel#20"); + end; +} + +1@jtb,201,365,4 script Gelkah#20 629,{ + cutin "gelca04",2; + mes "[Gelkah]"; + mes "I believe in you, Master!"; + close2; + cutin "gelca04",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Gelkah#20")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Gelkah#20"); + end; +OnDisable: + hideonnpc instance_npcname("Gelkah#20"); + end; +} + +1@jtb,202,363,4 script Mingmin#20 643,{ + cutin "min02",0; + mes "[Mingmin]"; + mes "*Grunt* Why did I get myself into this mess?"; + close2; + cutin "min02",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Mingmin#20")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Mingmin#20"); + end; +OnDisable: + hideonnpc instance_npcname("Mingmin#20"); + end; +} + +1@jtb,202,367,5 script Melody-Jack#20 844,{ + mes "[Melody-Jack]"; + mes "I knew this would happen, and Aigu didn't listen to me!"; + close; + +OnInstanceInit: + donpcevent instance_npcname("Melody-Jack#20")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Melody-Jack#20"); + end; +OnDisable: + hideonnpc instance_npcname("Melody-Jack#20"); + end; +} + +1@jtb,198,363,5 script Shalosh#20 10041,{ + end; +OnInstanceInit: + donpcevent instance_npcname("Shalosh#20")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Shalosh#20"); + end; +OnDisable: + hideonnpc instance_npcname("Shalosh#20"); + end; +} + +1@jtb,197,363,5 script Ferre#20 10047,{ + end; +OnInstanceInit: + donpcevent instance_npcname("Ferre#20")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Ferre#20"); + end; +OnDisable: + hideonnpc instance_npcname("Ferre#20"); + end; +} + +1@jtb,199,363,5 script Ferre#20s 10047,{ + end; +OnInstanceInit: + donpcevent instance_npcname("Ferre#20s")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Ferre#20s"); + end; +OnDisable: + hideonnpc instance_npcname("Ferre#20s"); + end; +} + +1@jtb,198,369,5 script New Oz#20 625,{ + if ('jitRoom >= atoi(strnpcinfo(2)) || getcharid(0) != getpartyleader(getcharid(1),2)) { + mes "[New Oz]"; + mes "..."; + close; + } + .@menu = select("Talk:Hurry"); + if (.@menu == 2 && isbegin_quest(13183)) { + mes "Try to jog your memory while hurrying."; + close2; + donpcevent instance_npcname("Shalosh#20")+"::OnDisable"; + donpcevent instance_npcname("New Oz#20")+"::OnDisable"; + donpcevent instance_npcname("Aigu#20")+"::OnDisable"; + } + if (.@menu == 1 || !isbegin_quest(13183)) { + cutin "shaloshi03",0; + mes "[Shalosh]"; + mes "..."; + unittalk getnpcid(0,instance_npcname("Shalosh#20")),"Shalosh : ..."; + next; + mes "[Melody-Jack]"; + mes "I'm afraid this place is falling down around us."; + unittalk getnpcid(0,instance_npcname("Melody-Jack#20")),"Melody-Jack : I'm afraid this place is falling down around us."; + cutin "shaloshi03",255; + next; + cutin "shaloshi03",0; + mes "[Shalosh]"; + mes "The Ferres are angry."; + unittalk getnpcid(0,instance_npcname("Shalosh#20")),"Shalosh : The Ferres are angry."; + next; + cutin "min02",2; + mes "[Mingmin]"; + mes "Wow, you can even hear what monsters think?"; + unittalk getnpcid(0,instance_npcname("Mingmin#20")),"Mingmin : Wow, you can even hear what monsters think?"; + next; + cutin "shaloshi03",0; + mes "[Shalosh]"; + mes "They're my friends."; + unittalk getnpcid(0,instance_npcname("Shalosh#20")),"Shalosh : They're my friends."; + next; + cutin "lunain04",0; + mes "[Runane]"; + mes "No, they're not. Friends don't attack each other!"; + unittalk getnpcid(0,instance_npcname("Runane#20")),"Runane : No, they're not. Friends don't attack each other!"; + next; + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "They're just trying to protect me."; + unittalk getnpcid(0,instance_npcname("Shalosh#20")),"Shalosh : They're just trying to protect me."; + next; + cutin "rote01",2; + mes "[Rohtert]"; + mes "Protect you from what?"; + unittalk getnpcid(0,instance_npcname("Rohtert#20")),"Rohtert : Protect you from what?"; + next; + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "From what Rot is thinking."; + unittalk getnpcid(0,instance_npcname("Shalosh#20")),"Shalosh : From what Rot is thinking."; + next; + mes "[Melody-Jack]"; + mes "..."; + unittalk getnpcid(0,instance_npcname("Melody-Jack#20")),"Melody-Jack : ..."; + emotion e_dots,0,instance_npcname("Melody-Jack#20"); + cutin "shaloshi01",255; + next; + cutin "shaloshi01",0; + mes "[Shalosh]"; + mes "Ferre?"; + unittalk getnpcid(0,instance_npcname("Shalosh#20")),"Shalosh : Ferre?"; + donpcevent instance_npcname("Ferre#20")+"::OnEnable"; + donpcevent instance_npcname("Ferre#20s")+"::OnEnable"; + next; + mes "[Ferre]"; + mes "Ferre, ferre!"; + unittalk getnpcid(0,instance_npcname("Ferre#20")),"Ferre : Ferre, ferre!"; + emotion e_an,0,instance_npcname("Ferre#20"); + cutin "shaloshi01",255; + next; + mes "[Ferre]"; + mes "Ferre, ferre, ferre!"; + unittalk getnpcid(0,instance_npcname("Ferre#20s")),"Ferre : Ferre, ferre, ferre!"; + emotion e_an,0,instance_npcname("Ferre#20s"); + specialeffect EF_READYPORTAL2,AREA,instance_npcname("Shalosh#20"); + specialeffect EF_PORTAL2,AREA,instance_npcname("Shalosh#20"); + next; + cutin "nines01",0; + mes "[New Oz]"; + mes "!!!"; + unittalk getnpcid(0),"New Oz : !!!"; + next; + cutin "rote01",2; + mes "[Rohtert]"; + mes "We're going to be burried in there. Let's find an exit."; + unittalk getnpcid(0,instance_npcname("Rohtert#20")),"Rohtert : We're going to be burried in there. Let's find an exit."; + donpcevent instance_npcname("Shalosh#20")+"::OnDisable"; + donpcevent instance_npcname("Ferre#20")+"::OnDisable"; + donpcevent instance_npcname("Ferre#20s")+"::OnDisable"; + next; + cutin "nines01",0; + mes "[New Oz]"; + mes "We have to find Shalosh!"; + unittalk getnpcid(0),"New Oz : We have to find Shalosh!"; + next; + mes "[Melody-Jack]"; + mes "New Oz, I've known you're weird in the head, but she's..."; + unittalk getnpcid(0,instance_npcname("Melody-Jack#20")),"Melody-Jack : New Oz, I've known you're weird in the head, but she's..."; + emotion e_dots,0,instance_npcname("Melody-Jack#20"); + cutin "nines01",255; + next; + cutin "nines04",0; + mes "[New Oz]"; + mes "I know. You don't have to remind me."; + unittalk getnpcid(0),"New Oz : I know. You don't have to remind me."; + next; + cutin "min02",2; + mes "[Mingmin]"; + mes "Then let's get out of here. We're in serious danger right now."; + unittalk getnpcid(0,instance_npcname("Mingmin#20")),"Mingmin : Then let's get out of here. We're in serious danger right now."; + next; + cutin "nines01",0; + mes "[New Oz]"; + mes "I have to find her. I have to talk to her."; + unittalk getnpcid(0),"New Oz : I have to find her. I have to talk to her."; + next; + cutin "rote01",2; + mes "[Rohtert]"; + mes "NEW OZ!"; + unittalk getnpcid(0,instance_npcname("Rohtert#20")),"Rohtert : NEW OZ!"; + next; + cutin "nines01",0; + mes "[New Oz]"; + mes "I'm not your master anymore. You don't have to follow me."; + unittalk getnpcid(0),"New Oz : I'm not your master anymore. You don't have to follow me."; + next; + cutin "lunain01",0; + mes "[Runane]"; + mes "!!!"; + unittalk getnpcid(0,instance_npcname("Runane#20")),"Runane : !!!"; + next; + cutin "igu05",0; + mes "[Aigu]"; + mes "New Oz, I'm coming with you!"; + unittalk getnpcid(0,instance_npcname("Aigu#20")),"Aigu : New Oz, I'm coming with you!"; + donpcevent instance_npcname("New Oz#20")+"::OnDisable"; + next; + cutin "min02",0; + mes "[Mingmin]"; + mes "It's your call, new master."; + unittalk getnpcid(0,instance_npcname("Mingmin#20")),"Mingmin : It's your call, new master."; + next; + cutin "gelca04",2; + mes "[Gelkah]"; + mes "Master!"; + unittalk getnpcid(0,instance_npcname("Gelkah#20")),"Gelkah : Master!"; + donpcevent instance_npcname("Aigu#20")+"::OnDisable"; + next; + cutin "rote01",2; + mes "[Rohtert]"; + mes "..."; + unittalk getnpcid(0,instance_npcname("Rohtert#20")),"Rohtert : ..."; + next; + mes "[Rohtert]"; + mes "We'll find New Oz and Shalosh. An when we do, I'm going to kill both of them."; + unittalk getnpcid(0,instance_npcname("Rohtert#20")),"Rohtert : We'll find New Oz and Shalosh. An when we do, I'm going to kill both of them."; + next; + cutin "roel04",0; + mes "[Roel]"; + mes "New Oz, did you know this would happen? You're lucky to have such good friends."; + unittalk getnpcid(0,instance_npcname("Roel#20")),"Roel : New Oz, did you know this would happen? You're lucky to have such good friends."; + next; + mes "[Melody-Jack]"; + mes "He didn't know because he doesn't think; ever."; + unittalk getnpcid(0,instance_npcname("Melody-Jack#20")),"Melody-Jack : He didn't know because he doesn't think; ever."; + emotion e_dots,0,instance_npcname("Melody-Jack#20"); + cutin "roel04",255; + next; + cutin "arang01",2; + mes "[Arang]"; + mes "Yippee! Let's go!"; + unittalk getnpcid(0,instance_npcname("Arang#20")),"Arang : Yippee! Let's go!"; + next; + cutin "rote01",2; + mes "[Rohtert]"; + mes "We'll split into two teams. Be careful not to lose your way in the maze-like offshoots."; + unittalk getnpcid(0,instance_npcname("Rohtert#20")),"Rohtert : We'll split into two teams. Be careful not to lose your way in the maze-like offshoots."; + next; + 'jitOption = select("Follow Rohtert and Gelkah:Search alone"); + cutin "min01",0; + mes "[Mingmin]"; + mes "Are we ready? Let's go!"; + unittalk getnpcid(0,instance_npcname("Mingmin#20")),"Mingmin : Are we ready? Let's go!"; + close2; + cutin "min01",255; + } + 'jitRoom = atoi(strnpcinfo(2)); + .@map$ = instance_mapname("1@jtb"); + monster .@map$,288,339,"Ferre",3069,1,instance_npcname("New Oz#20")+"::OnMyMobDead"; + monster .@map$,288,319,"Ferre",3069,1,instance_npcname("New Oz#20")+"::OnMyMobDead"; + monster .@map$,288,309,"Ferre",3069,1,instance_npcname("New Oz#20")+"::OnMyMobDead"; + monster .@map$,287,296,"Ferre",3069,1,instance_npcname("New Oz#20")+"::OnMyMobDead"; + monster .@map$,299,295,"Ferre",3069,1,instance_npcname("New Oz#20")+"::OnMyMobDead"; + monster .@map$,310,294,"Ferre",3069,1,instance_npcname("New Oz#20")+"::OnMyMobDead"; + monster .@map$,323,295,"Ferre",3069,1,instance_npcname("New Oz#20")+"::OnMyMobDead"; + monster .@map$,334,295,"Ferre",3069,1,instance_npcname("New Oz#20")+"::OnMyMobDead"; + monster .@map$,344,295,"Ferre",3069,1,instance_npcname("New Oz#20")+"::OnMyMobDead"; + monster .@map$,353,294,"Ferre",3069,1,instance_npcname("New Oz#20")+"::OnMyMobDead"; + monster .@map$,357,300,"Ferre",3069,1,instance_npcname("New Oz#20")+"::OnMyMobDead"; + monster .@map$,357,307,"Ferre",3069,1,instance_npcname("New Oz#20")+"::OnMyMobDead"; + monster .@map$,358,317,"Ferre",3069,1,instance_npcname("New Oz#20")+"::OnMyMobDead"; + monster .@map$,358,325,"Ferre",3069,1,instance_npcname("New Oz#20")+"::OnMyMobDead"; + monster .@map$,358,338,"Ferre",3069,1,instance_npcname("New Oz#20")+"::OnMyMobDead"; + donpcevent instance_npcname("#jtwarp20")+"::OnEnable"; + end; + +OnInstanceInit: + donpcevent instance_npcname("New Oz#20")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("New Oz#20"); + end; +OnDisable: + hideonnpc instance_npcname("New Oz#20"); + end; +OnMyMobDead: + .@map$ = instance_mapname("1@jtb"); + .@mob_num = mobcount(.@map$,instance_npcname("New Oz#20")+"::OnMyMobDead"); + if (!.@mob_num) { + sleep2 1500; + donpcevent instance_npcname("#jtwarp21")+"::OnEnable"; + donpcevent instance_npcname("Shalosh#22")+"::OnEnable"; + donpcevent instance_npcname("Ferre#22")+"::OnEnable"; + donpcevent instance_npcname("New Oz#22")+"::OnEnable"; + } + end; +} + +// Room 22 +//============================================================ +1@jtb,328,326,4 script Rohtert#22 630,{ + end; +OnInstanceInit: + donpcevent instance_npcname("Rohtert#22")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Rohtert#22"); + end; +OnDisable: + hideonnpc instance_npcname("Rohtert#22"); + end; +} + +1@jtb,330,328,4 script Gelkah#22 629,{ + end; +OnInstanceInit: + donpcevent instance_npcname("Gelkah#22")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Gelkah#22"); + end; +OnDisable: + hideonnpc instance_npcname("Gelkah#22"); + end; +} + +1@jtb,317,325,5 script Aigu#22 646,{ + end; +OnInstanceInit: + donpcevent instance_npcname("Aigu#22")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Aigu#22"); + end; +OnDisable: + hideonnpc instance_npcname("Aigu#22"); + end; +} + +1@jtb,316,322,5 script Ragi#22 647,{ + end; +OnInstanceInit: + donpcevent instance_npcname("Ragi#22")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Ragi#22"); + end; +OnDisable: + hideonnpc instance_npcname("Ragi#22"); + end; +} + +1@jtb,325,322,4 script Melody-Jack#22 844,{ + end; +OnInstanceInit: + donpcevent instance_npcname("Melody-Jack#22")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Melody-Jack#22"); + end; +OnDisable: + hideonnpc instance_npcname("Melody-Jack#22"); + end; +} + +1@jtb,319,320,5 script Arang#22 644,{ + end; +OnInstanceInit: + donpcevent instance_npcname("Arang#22")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Arang#22"); + end; +OnDisable: + hideonnpc instance_npcname("Arang#22"); + end; +} + +1@jtb,321,318,4 script Runane#22 10039,{ + end; +OnInstanceInit: + donpcevent instance_npcname("Runane#22")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Runane#22"); + end; +OnDisable: + hideonnpc instance_npcname("Runane#22"); + end; +} + +1@jtb,326,319,4 script Roel#22 10040,{ + end; +OnInstanceInit: + donpcevent instance_npcname("Roel#22")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Roel#22"); + end; +OnDisable: + hideonnpc instance_npcname("Roel#22"); + end; +} + +1@jtb,328,324,4 script Mingmin#22 643,{ + end; +OnInstanceInit: + donpcevent instance_npcname("Mingmin#22")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Mingmin#22"); + end; +OnDisable: + hideonnpc instance_npcname("Mingmin#22"); + end; +} + +1@jtb,326,329,4 script Shalosh#22 10041,{ + end; +OnInstanceInit: + donpcevent instance_npcname("Shalosh#22")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Shalosh#22"); + end; +OnDisable: + hideonnpc instance_npcname("Shalosh#22"); + end; +} + +1@jtb,324,327,4 script Ferre#22 10047,{ + end; +OnInstanceInit: + donpcevent instance_npcname("Ferre#22")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Ferre#22"); + end; +OnDisable: + hideonnpc instance_npcname("Ferre#22"); + end; +} + +1@jtb,324,327,4 script Ferre#22s 10048,{ + end; +OnInstanceInit: + donpcevent instance_npcname("Ferre#22s")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Ferre#22s"); + end; +OnDisable: + hideonnpc instance_npcname("Ferre#22s"); + end; +} + +1@jtb,320,323,5 script New Oz#22 625,{ + if ('jitRoom >= atoi(strnpcinfo(2)) || getcharid(0) != getpartyleader(getcharid(1),2)) { + cutin "nines01",0; + mes "[New Oz]"; + mes "..."; + close2; + cutin "nines01",255; + end; + } + cutin "nines04",0; + mes "[New Oz]"; + mes "*Pant Pant* I've found you, Shalosh."; + unittalk getnpcid(0),"New Oz : *Pant Pant* I've found you, Shalosh."; + next; + cutin "shaloshi01",2; + mes "[Shalosh]"; + mes "New Oz..."; + unittalk getnpcid(0,instance_npcname("Shalosh#22")),"Shalosh : New Oz..."; + next; + cutin "nines04",0; + mes "[New Oz]"; + mes "*Pant Pant* I'm glad you didn't make it too far."; + unittalk getnpcid(0),"New Oz : *Pant Pant* I'm glad you didn't make it too far."; + next; + mes "[Ferre]"; + mes "Ferre, ferre, fe-!"; + unittalk getnpcid(0,instance_npcname("Ferre#22")),"Ferre : Ferre, ferre, fe-!"; + cutin "nines04",255; + next; + cutin "shaloshi01",2; + mes "[Shalosh]"; + mes "Ferre is angry."; + unittalk getnpcid(0,instance_npcname("Shalosh#22")),"Shalosh : Ferre is angry."; + next; + cutin "nines01",0; + mes "[New Oz]"; + mes "You don't have to get upset. I'm not here to take your friend away. I just want..."; + unittalk getnpcid(0),"New Oz : You don't have to get upset. I'm not here to take your friend away. I just want..."; + next; + mes "[Ferre]"; + mes "Ferre, ferre, ferre!"; + unittalk getnpcid(0,instance_npcname("Ferre#22")),"Ferre : Ferre, ferre, ferre!"; + cutin "nines01",255; + next; + cutin "shaloshi01",2; + mes "[Shalosh]"; + mes "Ferre is really angry."; + unittalk getnpcid(0,instance_npcname("Shalosh#22")),"Shalosh : Ferre is really angry."; + next; + cutin "nines01",0; + mes "[New Oz]"; + mes "Yeah, you don't have to tell me that."; + unittalk getnpcid(0),"New Oz : Yeah, you don't have to tell me that."; + next; + cutin "shaloshi01",2; + mes "[Shalosh]"; + mes "That is not good. Ferre..."; + unittalk getnpcid(0,instance_npcname("Shalosh#22")),"Shalosh : That is not good. Ferre..."; + next; + mes "[Shalosh]"; + mes "No, no!"; + unittalk getnpcid(0,instance_npcname("Shalosh#22")),"Shalosh : No, no!"; + next; + mes "[Ferre]"; + mes "Ferre, ferre, ferre, ferre-!"; + unittalk getnpcid(0,instance_npcname("Ferre#22")),"Ferre : Ferre, ferre, ferre, ferre-!"; + cutin "shaloshi01",255; + sleep2 1000; + donpcevent instance_npcname("Ferre#22")+"::OnDisable"; + sleep2 1000; + donpcevent instance_npcname("Ferre#22s")+"::OnEnable"; + sleep2 1000; + specialeffect EF_LORD,AREA,instance_npcname("Ferre#22s"); + specialeffect EF_SUI_EXPLOSION,AREA,instance_npcname("Ferre#22s"); + next; + cutin "shaloshi01",2; + mes "[Shalosh]"; + mes "Ferre has transformed into its true form!"; + unittalk getnpcid(0,instance_npcname("Shalosh#22")),"Shalosh : Ferre has transformed into its true form!"; + next; + mes "^FF0000A formidable enemy has appeared!^000000"; + cutin "shaloshi01",255; + next; + mes "[Ferre]"; + mes "FERRE- FERRE- FERRE- FERRE-!!"; + unittalk getnpcid(0,instance_npcname("Ferre#22s")),"Ferre : FERRE- FERRE- FERRE- FERRE-!!"; + next; + cutin "shaloshi01",2; + mes "[Shalosh]"; + mes "Ferre, you don't have to do this!"; + unittalk getnpcid(0,instance_npcname("Shalosh#22")),"Shalosh : Ferre, you don't have to do this!"; + next; + cutin "nines03",0; + mes "[New Oz]"; + mes "Well, if I can't talk him out of this, then we'll have to duke it out."; + unittalk getnpcid(0),"New Oz : Well, if I can't talk him out of this, then we'll have to duke it out."; + next; + mes "[New Oz]"; + mes "Where are the others? Hey new guys, help me out here. That Ferre looks like he can pack a punch."; + unittalk getnpcid(0),"New Oz : Where are the others? Hey new guys, help me out here. That Ferre looks like he can pack a punch."; + next; + mes "[Ferre]"; + mes "FERRE, FERRE, FERRE-!"; + unittalk getnpcid(0,instance_npcname("Ferre#22s")),"Ferre : FERRE, FERRE, FERRE-!"; + cutin "nines03",0; + next; + cutin "nines02",0; + mes "[New Oz]"; + mes "Let's begin!"; + unittalk getnpcid(0),"New Oz : Let's begin!"; + close2; + donpcevent instance_npcname("Ferre#22s")+"::OnDisable"; + donpcevent instance_npcname("Shalosh#22")+"::OnDisable"; + donpcevent instance_npcname("New Oz#22")+"::OnDisable"; + donpcevent instance_npcname("New Oz#22s")+"::OnEnable"; + unittalk getnpcid(0,instance_npcname("New Oz#22s")),"New Oz : Don't worry. I'll help you!"; + cutin "nines02",255; + 'jitRoom = atoi(strnpcinfo(2)); + .@map$ = instance_mapname("1@jtb"); + monster .@map$,321,313,"Ferre",3069,1,instance_npcname("New Oz#22")+"::OnMyMobDead"; + monster .@map$,321,313,"Ferre",3070,1,instance_npcname("New Oz#22")+"::OnMyMobDead"; + monster .@map$,321,313,"Ferre",3071,1,instance_npcname("New Oz#22")+"::OnMyMobDead"; + monster .@map$,321,313,"Ferre",3072,1,instance_npcname("New Oz#22")+"::OnMyMobDead"; + monster .@map$,331,324,"Ferre",3069,1,instance_npcname("New Oz#22")+"::OnMyMobDead"; + monster .@map$,331,324,"Ferre",3070,1,instance_npcname("New Oz#22")+"::OnMyMobDead"; + monster .@map$,331,324,"Ferre",3071,1,instance_npcname("New Oz#22")+"::OnMyMobDead"; + monster .@map$,331,324,"Ferre",3072,1,instance_npcname("New Oz#22")+"::OnMyMobDead"; + monster .@map$,313,326,"Ferre",3069,1,instance_npcname("New Oz#22")+"::OnMyMobDead"; + monster .@map$,313,326,"Ferre",3070,1,instance_npcname("New Oz#22")+"::OnMyMobDead"; + monster .@map$,313,326,"Ferre",3071,1,instance_npcname("New Oz#22")+"::OnMyMobDead"; + monster .@map$,313,326,"Ferre",3072,1,instance_npcname("New Oz#22")+"::OnMyMobDead"; + donpcevent instance_npcname("#jtboss")+"::OnEnable"; + end; + +OnInstanceInit: + donpcevent instance_npcname("New Oz#22")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("New Oz#22"); + end; +OnDisable: + hideonnpc instance_npcname("New Oz#22"); + end; +OnMyMobDead: + end; +} + +1@jtb,320,323,5 script New Oz#22s 625,{ + end; +OnInstanceInit: + donpcevent instance_npcname("New Oz#22s")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("New Oz#22s"); + end; +OnDisable: + hideonnpc instance_npcname("New Oz#22s"); + end; +} + +1@jtb,45,48,0 script #jtboss 139,{ + end; +OnTimer30000: + unittalk getnpcid(0,instance_npcname("New Oz#22s")),F_Rand( + "New Oz : What do you call a fish musician? A piano tuna.", + "New Oz : What did the farmer say to the green pumpkin? Why orange you orange?", + "New Oz : What does a nosy pepper do? Gets jalapeno business!", + "New Oz : Why do bananas wear suntan lotion? Because they peel!", + "New Oz : Um, hold on. One of the ukulele strings snapped. How about I sing instead?"); + emotion e_ho,0,instance_npcname("New Oz#22s"); + unittalk 'jitBossGID,"FERRE! FERRE!"; + unitskilluseid 'jitBossGID,"NPC_WIDEFREEZE",5; + stopnpctimer; + initnpctimer; + end; +OnInstanceInit: + donpcevent instance_npcname("#jtboss")+"::OnDisable"; + end; +OnEnable: + enablenpc instance_npcname("#jtboss"); + donpcevent instance_npcname("#jtboss")+"::OnRespawn"; + end; +OnDisable: + disablenpc instance_npcname("#jtboss"); + end; +OnRespawn: + .@map$ = instance_mapname("1@jtb"); + if ('jitOption == 2) { + monster .@map$,322,337,"Jitterbug",3108,1,instance_npcname("#jtboss")+"::OnMyMobDead"; + monster .@map$,322,337,"Jitterbug",3109,1,instance_npcname("#jtboss")+"::OnMyMobDead"; + } + monster .@map$,324,327,"Awakened Ferre",3073,1,instance_npcname("#jtboss")+"::OnMyMobDead"; + 'jitBossGID = $@mobid[0]; + initnpctimer; + end; +OnMyMobDead: + .@map$ = instance_mapname("1@jtb"); + .@mob_num = mobcount(.@map$,instance_npcname("#jtboss")+"::OnMyMobDead"); + if ('jitBossGID) + stopnpctimer; + if (!.@mob_num) { + 'jitRoom = 99; + donpcevent instance_npcname("New Oz#22s")+"::OnDisable"; + donpcevent instance_npcname("New Oz#22t")+"::OnEnable"; + donpcevent instance_npcname("Ferre#22")+"::OnEnable"; + donpcevent instance_npcname("Shalosh#22")+"::OnEnable"; + } + end; +} + +1@jtb,320,323,5 script New Oz#22t 625,{ + if ('jitRoom >= 100 || getcharid(0) != getpartyleader(getcharid(1),2)) { + cutin "nines01",0; + mes "[New Oz]"; + mes "..."; + close2; + cutin "nines01",255; + end; + } + cutin "nines01",0; + mes "[New Oz]"; + mes "I like his spirit, though I can see he's getting exhausted."; + unittalk getnpcid(0),"New Oz : I like his spirit, though I can see he's getting exhausted."; + next; + mes "[Ferre]"; + mes "Ferre..."; + unittalk getnpcid(0,instance_npcname("Ferre#22")),"Ferre : Ferre..."; + cutin "nines01",255; + next; + cutin "rote01",2; + mes "[Rohtert]"; + mes "New Oz, you're alive! Good, because I'm going to kill..."; + unittalk getnpcid(0,instance_npcname("Rohtert#22")),"Rohtert : New Oz, you're alive! Good, because I'm going to kill..."; + emotion e_an,0,instance_npcname("Rohtert#22"); + donpcevent instance_npcname("Gelkah#22")+"::OnEnable"; + donpcevent instance_npcname("Rohtert#22")+"::OnEnable"; + next; + cutin "igu05",0; + mes "[Aigu]"; + mes "New Oz, are you all right?"; + unittalk getnpcid(0,instance_npcname("Aigu#22")),"Aigu : New Oz, are you all right?"; + donpcevent instance_npcname("Aigu#22")+"::OnEnable"; + donpcevent instance_npcname("Ragi#22")+"::OnEnable"; + next; + cutin "nines01",0; + mes "[New Oz]"; + mes "I'm all right. Rot, were you worried about me?"; + unittalk getnpcid(0),"New Oz : I'm all right. Rot, were you worried about me?"; + next; + mes "[Melody-Jack]"; + mes "Wow, this place is not going to last long--look how violently the ground is shaking! We really need to get out like yesterday, New Oz."; + unittalk getnpcid(0,instance_npcname("Melody-Jack#22")),"Melody-Jack : Wow, this place is not going to last long--look how violently the ground is shaking! We really need to get out like yesterday, New Oz."; + emotion e_dots,0,instance_npcname("Melody-Jack#22"); + donpcevent instance_npcname("Melody-Jack#22")+"::OnEnable"; + donpcevent instance_npcname("Arang#22")+"::OnEnable"; + donpcevent instance_npcname("Runane#22")+"::OnEnable"; + donpcevent instance_npcname("Roel#22")+"::OnEnable"; + donpcevent instance_npcname("Mingmin#22")+"::OnEnable"; + cutin "nines01",255; + next; + mes "[Ferre]"; + mes "Ferre..."; + unittalk getnpcid(0,instance_npcname("Ferre#22")),"Ferre : Ferre..."; + next; + cutin "rote01",2; + mes "[Rohtert]"; + mes "He's not dead. Guys, I understand you're new, but you can't make mistakes like this."; + unittalk getnpcid(0,instance_npcname("Rohtert#22")),"Rohtert : He's not dead. Guys, I understand you're new, but you can't make mistakes like this."; + next; + mes "[Melody-Jack]"; + mes "Better get rid of him quickly."; + unittalk getnpcid(0,instance_npcname("Melody-Jack#22")),"Melody-Jack : Better get rid of him quickly."; + emotion e_dots,0,instance_npcname("Melody-Jack#22"); + cutin "rote01",255; + next; + cutin "shaloshi01",2; + mes "[Shalosh]"; + mes "NO! He's my friend!"; + unittalk getnpcid(0,instance_npcname("Shalosh#22")),"Shalosh : NO! He's my friend!"; + next; + mes "[Shalosh]"; + mes "Ferre created this space in the Crack for me. If he loses his mind or perishes, his space will disappear with everything in it."; + unittalk getnpcid(0,instance_npcname("Shalosh#22")),"Shalosh : Ferre created this space in the Crack for me. If he loses his mind or perishes, his space will disappear with everything in it."; + next; + cutin "min01",2; + mes "[Mingmin]"; + mes "Except you, you mean."; + unittalk getnpcid(0,instance_npcname("Mingmin#22")),"Mingmin : Except you, you mean."; + next; + cutin "shaloshi01",2; + mes "[Shalosh]"; + mes "..."; + unittalk getnpcid(0,instance_npcname("Shalosh#22")),"Shalosh : ..."; + next; + cutin "rote01",2; + mes "[Rohtert]"; + mes "I should have plenty of time before that to get rid of you. I'll show you why I'm called the Bad Boy of the Exorcist World."; + unittalk getnpcid(0,instance_npcname("Rohtert#22")),"Rohtert : I should have plenty of time before that to get rid of you. I'll show you why I'm called the Bad Boy of the Exorcist World."; + next; + cutin "shaloshi01",2; + mes "[Shalosh]"; + mes "If I take Ferre with me to a different space, then a number of exists will appear in the loosened rift in spacetime."; + unittalk getnpcid(0,instance_npcname("Shalosh#22")),"Shalosh : If I take Ferre with me to a different space, then a number of exists will appear in the loosened rift in spacetime."; + next; + mes "[Melody-Jack]"; + mes "You're smart and capable of teleportation. Rohtert, we can't let her go."; + unittalk getnpcid(0,instance_npcname("Melody-Jack#22")),"Melody-Jack : You're smart and capable of teleportation. Rohtert, we can't let her go."; + emotion e_dots,0,instance_npcname("Melody-Jack#22"); + cutin "shaloshi01",255; + next; + cutin "shaloshi01",2; + mes "[Shalosh]"; + mes "I shouldn't have led you here, but I really wanted some friends."; + unittalk getnpcid(0,instance_npcname("Shalosh#22")),"Shalosh : I shouldn't have led you here, but I really wanted some friends."; + next; + cutin "nines04",0; + mes "[New Oz]"; + mes "And you have them. Us."; + unittalk getnpcid(0),"New Oz : And you have them. Us."; + next; + cutin "shaloshi01",2; + mes "[Shalosh]"; + mes "...Thank you."; + unittalk getnpcid(0,instance_npcname("Shalosh#22")),"Shalosh : ...Thank you."; + next; + mes "[Shalosh]"; + mes "Now I should be honest with you. I remember everything now. Let me introduce myself again."; + unittalk getnpcid(0,instance_npcname("Shalosh#22")),"Shalosh : Now I should be honest with you. I remember everything now. Let me introduce myself again."; + next; + mes "[Shalosh]"; + mes "I'm Shalosh, a demon mind reader and the third agent of Morroc's."; + unittalk getnpcid(0,instance_npcname("Shalosh#22")),"Shalosh : I'm Shalosh, a demon mind reader and the third agent of Morroc's."; + next; + cutin "rote01",2; + mes "[Rohtert]"; + mes "MORROC?!"; + unittalk getnpcid(0,instance_npcname("Rohtert#22")),"Rohtert : MORROC?!"; + next; + cutin "shaloshi01",2; + mes "[Shalosh]"; + mes "...I'm free now, but that doesn't change who I am: a demon."; + unittalk getnpcid(0,instance_npcname("Shalosh#22")),"Shalosh : ...I'm free now, but that doesn't change who I am: a demon."; + next; + mes "[Shalosh]"; + mes "I enjoyed your company. If we meet again... Will we be enemies?"; + unittalk getnpcid(0,instance_npcname("Shalosh#22")),"Shalosh : I enjoyed your company. If we meet again... Will we be enemies?"; + next; + cutin "nines04",0; + mes "[New Oz]"; + mes "No, Shalosh. As of today, you're a new member of New Oz's White Wings Guild."; + unittalk getnpcid(0),"New Oz : No, Shalosh. As of today, you're a new member of New Oz's White Wings Guild."; + next; + cutin "rote01",2; + mes "[Rohtert]"; + mes "Who says you can invite her? I'm not taking in a demon!"; + unittalk getnpcid(0,instance_npcname("Rohtert#22")),"Rohtert : Who says you can invite her? I'm not taking in a demon!"; + next; + cutin "arang02",2; + mes "[Arang]"; + mes "Guildsmen can bicker with each other, but they're still family."; + unittalk getnpcid(0,instance_npcname("Arang#22")),"Arang : Guildsmen can bicker with each other, but they're still family."; + next; + cutin "shaloshi01",2; + mes "[Shalosh]"; + mes "...Thank you, Adventurer New Oz. If I find some interesting place, can I invite you over?"; + unittalk getnpcid(0,instance_npcname("Shalosh#22")),"Shalosh : ...Thank you, Adventurer New Oz. If I find some interesting place, can I invite you over?"; + next; + mes "[Shalosh]"; + mes "I think I have the ability to take people with me, wherever I go. Or you wouldn't have followed me this far."; + unittalk getnpcid(0,instance_npcname("Shalosh#22")),"Shalosh : I think I have the ability to take people with me, wherever I go. Or you wouldn't have followed me this far."; + next; + cutin "lunain04",0; + mes "[Runane]"; + mes "Don't you dare take away my New Oz!"; + unittalk getnpcid(0,instance_npcname("Runane#20")),"Runane : Don't you dare take away my New Oz!"; + next; + cutin "shaloshi01",2; + mes "[Shalosh]"; + mes "You just thought, 'take me, too!'"; + unittalk getnpcid(0,instance_npcname("Shalosh#22")),"Shalosh : You just thought, 'take me, too!'"; + next; + cutin "igu03",0; + mes "[Aigu]"; + mes "Aww, Runane. You're cute!"; + unittalk getnpcid(0,instance_npcname("Aigu#22")),"Aigu : Aww, Runane. You're cute!"; + next; + cutin "roel04",2; + mes "[Roel]"; + mes "Shalosh, I don't care who you are. You're my friend, and I'm yours."; + unittalk getnpcid(0,instance_npcname("Roel#22")),"Roel : Shalosh, I don't care who you are. You're my friend, and I'm yours."; + next; + cutin "shaloshi01",2; + mes "[Shalosh]"; + mes "Thank you. If only I knew how to express my feelings..."; + unittalk getnpcid(0,instance_npcname("Shalosh#22")),"Shalosh : Thank you. If only I knew how to express my feelings..."; + next; + cutin "igu05",0; + mes "[Aigu]"; + mes "It's easy. Just smile."; + unittalk getnpcid(0,instance_npcname("Aigu#22")),"Aigu : It's easy. Just smile."; + next; + cutin "shaloshi04",2; + mes "[Shalosh]"; + mes "Bye, friends. I hope we'll meet again soon."; + unittalk getnpcid(0,instance_npcname("Shalosh#22")),"Shalosh : Bye, friends. I hope we'll meet again soon."; + next; + cutin "nines01",0; + mes "[New Oz]"; + mes "Bye."; + unittalk getnpcid(0),"New Oz : Bye."; + specialeffect EF_PORTAL2,AREA,instance_npcname("Shalosh#22"); + specialeffect EF_PORTAL2,AREA,instance_npcname("Ferre#22"); + donpcevent instance_npcname("Shalosh#22")+"::OnDisable"; + donpcevent instance_npcname("Ferre#22")+"::OnDisable"; + next; + cutin "rote01",2; + mes "[Rohtert]"; + mes "Don't look at me. Is that an exit?"; + unittalk getnpcid(0,instance_npcname("Rohtert#22")),"Rohtert : Don't look at me. Is that an exit?"; + close2; + areawarp instance_mapname("1@jtb"),305,339,338,312,instance_mapname("1@jtb"),359,23; + cutin "rote01",255; + 'jitRoom = 100; + sleep2 500; + donpcevent instance_npcname("Gelkah#23")+"::OnEnable"; + donpcevent instance_npcname("Roel#23")+"::OnEnable"; + donpcevent instance_npcname("Arang#23")+"::OnEnable"; + donpcevent instance_npcname("Melody-Jack#23")+"::OnEnable"; + donpcevent instance_npcname("Aigu#23")+"::OnEnable"; + donpcevent instance_npcname("Runane#23")+"::OnEnable"; + donpcevent instance_npcname("Rohtert#23")+"::OnEnable"; + donpcevent instance_npcname("Ragi#23")+"::OnEnable"; + donpcevent instance_npcname("Mingmin#23")+"::OnEnable"; + donpcevent instance_npcname("New Oz#23")+"::OnEnable"; + end; + +OnInstanceInit: + donpcevent instance_npcname("New Oz#22t")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("New Oz#22t"); + end; +OnDisable: + hideonnpc instance_npcname("New Oz#22t"); + end; +} + +// Room 23 +//============================================================ +1@jtb,358,24,5 script Gelkah#23 629,{ + cutin "gelca01",0; + mes "[Gelkah]"; + mes "I will! I'll practice harder, too!"; + close2; + cutin "gelca01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Gelkah#23")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Gelkah#23"); + end; +OnDisable: + hideonnpc instance_npcname("Gelkah#23"); + end; +} + +1@jtb,381,47,4 script Roel#23 10040,{ + cutin "roel03",2; + mes "[Roel]"; + mes "I want to dance as well as Aigu."; + close2; + cutin "roel03",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Roel#23")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Roel#23"); + end; +OnDisable: + hideonnpc instance_npcname("Roel#23"); + end; +} + +1@jtb,378,47,5 script Arang#23 644,{ + cutin "arang03",0; + mes "[Arang]"; + mes "Roel and I are friends now. Heh."; + close2; + cutin "arang03",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Arang#23")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Arang#23"); + end; +OnDisable: + hideonnpc instance_npcname("Arang#23"); + end; +} + +1@jtb,363,11,5 script Melody-Jack#23 844,{ + mes "[Melody-Jack]"; + mes "Our deal is done. Let me think about what I want in return..."; + close; + +OnInstanceInit: + donpcevent instance_npcname("Melody-Jack#23")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Melody-Jack#23"); + end; +OnDisable: + hideonnpc instance_npcname("Melody-Jack#23"); + end; +} + +1@jtb,380,28,4 script Aigu#23 646,{ + cutin "igu03",2; + mes "[Aigu]"; + mes "I'll never again let you go, New Oz!"; + close2; + cutin "igu03",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Aigu#23")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Aigu#23"); + end; +OnDisable: + hideonnpc instance_npcname("Aigu#23"); + end; +} + +1@jtb,385,20,5 script Runane#23 10039,{ + cutin "lunain03",0; + mes "[Runane]"; + mes "I want to go home. I really want to take a shower and eat some bread."; + close2; + cutin "lunain03",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Runane#23")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Runane#23"); + end; +OnDisable: + hideonnpc instance_npcname("Runane#23"); + end; +} + +1@jtb,375,31,5 script Rohtert#23 630,{ + cutin "rote01",0; + mes "[Rohtert]"; + mes "You're a prospect for now. Work hard for the guild, and I might promote you one day."; + close2; + cutin "rote01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Rohtert#23")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Rohtert#23"); + end; +OnDisable: + hideonnpc instance_npcname("Rohtert#23"); + end; +} + +1@jtb,359,43,5 script Ragi#23 647,{ + cutin "ragi01",0; + mes "[Ragi]"; + mes "I've found so much inspiration through this adventure. I'm hopeful I can write some good songs."; + close2; + cutin "ragi01",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Ragi#23")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Ragi#23"); + end; +OnDisable: + hideonnpc instance_npcname("Ragi#23"); + end; +} + +1@jtb,375,28,5 script Mingmin#23 643,{ + disable_items; + cutin "min02",0; + mes "[Mingmin]"; + mes "I've stolen a few strands of hair from Shalosh, thinking it'd come in handy someday. I want to analyze them, though I already know the results."; + next; + switch (select("Strange Pendant:Jitterbug Tooth:Quit.")) { + case 1: + mes "[Mingmin]"; + mes "Have you seen this pendant?"; + next; + mes "[Mingmin]"; + mes "I think I can fit Pendant of Harmony and Pendant of Chaos together."; + next; + mes "[Mingmin]"; + mes "And if I do, the results will be incredible!"; + next; + mes "[Mingmin]"; + mes "ATK +6%. MATK +6%. All stats +1. Magic attacks from enemies cast Level 1 Auto Spell Maelstorm. Def: 0 Weight: 10"; + mes "Requried Level: 130 Slot: 1"; + next; + if (countitem(2990) && countitem(2991)) { + switch (select("Quit.:Combine pendants.")) { + case 1: + mes "[Mingmin]"; + mes "This place is still full of things to study."; + break; + case 2: //Custom text + mes "[Mingmin]"; + if (MaxWeight - Weight < 1000) + mes "You don't have enough space in your inventory to carry your reward."; + else { + mes "I hope you like it! I can combine more pendants for you if you need."; + delitem 2990,1; //Pendant_Of_Harmony + delitem 2991,1; //Pendant_Of_Chaos + getitem 2992,1; //Pendant_Of_Maelstrom + } + break; + } + } else { + mes "[Mingmin]"; + mes "If my description of the combination results is strangely familiar to you, I wouldn't know. But that's how I picture the results. If you find both the pendants, bring them to me, yeah?"; + next; + mes "[Mingmin]"; + mes "This place is still full of things to study."; + } + break; + case 2: + mes "[Mingmin]"; + mes "Do you have Jitterbug Teeth?"; + next; + mes "[Mingmin]"; + mes "I can't tell you just yet, but they're useful to me. Bring them to me, and I'll give you some booty New Oz has hoarded in return."; + next; + mes "[Mingmin]"; + mes "What exactly am I offering? Gigantic Bow, Storm Bow, and ^ff0000other valuable things found in this space.^000000 If you want them, bring me at least 50 Jitterbug Teeth."; + next; + mes "[Mingmin]"; + mes "I'll exchange 50 Jitterbug Teeth with ^ff0000a random item.^000000"; + next; + if (select("Quit.:Exchange 50.") == 2) { + mes "[Mingmin]"; + if (countitem(6719) < 50) + mes "I won't accept anything less than 50 Jitterbug Teeth."; + else { //Custom text + //Bow_Of_Storms + //Giant_Bow + //Pendant_Of_Harmony + //Pendant_Of_Chaos + //Aigu's_Floral_Bracelet + //Aigu's_Floral_Mic + //New_Oz's_Wing_Ring + //New_Oz's_Ukulele + //Frozen_Breastplate + //Hardened_Breastplate + //Old_Card_Album + .@jitItem = F_Rand(18123,18122,2990,2991,2989,1990,2988,1935,15100,15101,616); + if (MaxWeight - Weight < 1000) + mes "You don't have enough space in your inventory to carry your reward."; + else { + mes "I hope you like it! You can bring me more Jitterbug Teeth for other items."; + delitem 6719,50; //Jitterbug's_Tooth + getitem .@jitItem,1; + } + } + } + break; + } + close2; + cutin "min02",255; + end; + +OnInstanceInit: + donpcevent instance_npcname("Mingmin#23")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Mingmin#23"); + end; +OnDisable: + hideonnpc instance_npcname("Mingmin#23"); + end; +} + +1@jtb,379,31,4 script New Oz#23 625,{ + if ('jitRoom >= 101 || getcharid(0) != getpartyleader(getcharid(1),2)) { + cutin "nines01",2; + mes "[New Oz]"; + mes "It's been a while since I had so much fun."; + close2; + cutin "nines01",255; + end; + } + cutin "nines02",2; + mes "[New Oz]"; + mes "This was my first adventure with my old friends in a long time. I hope we can do this again soon."; + unittalk getnpcid(0),"New Oz : This was my first adventure with my old friends in a long time. I hope we can do this again soon."; + emotion e_ho; + next; + cutin "rote01",0; + mes "[Rohtert]"; + mes "New Oz. Need I remind you this guild is no longer called New Oz's White Wings?"; + unittalk getnpcid(0,instance_npcname("Rohtert#23")),"Rohtert : New Oz. Need I remind you this guild is no longer called New Oz's White Wings?"; + emotion e_bzz,0,instance_npcname("Rohtert#23"); + next; + cutin "nines04",2; + mes "[New Oz]"; + mes "What? Did you change the guild name?"; + unittalk getnpcid(0),"New Oz : What? Did you change the guild name?"; + next; + cutin "rote01",0; + mes "[Rohtert]"; + mes "Of course! Now it's called... Um..."; + unittalk getnpcid(0,instance_npcname("Rohtert#23")),"Rohtert : Of course! Now it's called... Um..."; + emotion e_pif,0,instance_npcname("Rohtert#23"); + next; + cutin "min02",0; + mes "[Mingmin]"; + mes "Stop thinking and just keep the old name."; + unittalk getnpcid(0,instance_npcname("Mingmin#23")),"Mingmin : Stop thinking and just keep the old name."; + emotion e_sigh,0,instance_npcname("Mingmin#23"); + emotion e_hmm,0,instance_npcname("Mingmin#23"); + next; + cutin "rote01",0; + mes "[Rohtert]"; + mes "Nope, I'm going to caall it Rohtert's Super Critical Guild!"; + unittalk getnpcid(0,instance_npcname("Rohtert#23")),"Rohtert : Nope, I'm going to caall it Rohtert's Super Critical Guild!"; + emotion e_flash,0,instance_npcname("Rohtert#23"); + emotion e_shy,0,instance_npcname("Rohtert#23"); + next; + cutin "igu04",2; + mes "[Aigu]"; + mes "..."; + unittalk getnpcid(0,instance_npcname("Aigu#23")),"Aigu : ..."; + emotion e_otl,0,instance_npcname("Aigu#23"); + next; + mes "[Aigu]"; + mes "That sounds lame."; + unittalk getnpcid(0,instance_npcname("Aigu#23")),"Aigu : That sounds lame."; + next; + cutin "roel04",2; + mes "[Roel]"; + mes "I'm not a fan of it."; + unittalk getnpcid(0,instance_npcname("Roel#23")),"Roel : I'm not a fan of it."; + next; + cutin "lunain04",0; + mes "[Runane]"; + mes "Dorky."; + unittalk getnpcid(0,instance_npcname("Runane#23")),"Runane : Dorky."; + next; + cutin "rote01",0; + mes "[Rohtert]"; + mes "I'm the guild master! I name it whatever I want!"; + unittalk getnpcid(0,instance_npcname("Rohtert#23")),"Rohtert : I'm the guild master! I name it whatever I want!"; + emotion e_bzz,0,instance_npcname("Rohtert#23"); + next; + cutin "arang01",2; + mes "[Arang]"; + mes "Not cool."; + unittalk getnpcid(0,instance_npcname("Arang#23")),"Arang : Not cool."; + next; + cutin "min03",0; + mes "[Mingmin]"; + mes "Keep the name. I'm out."; + unittalk getnpcid(0,instance_npcname("Mingmin#23")),"Mingmin : Keep the name. I'm out."; + emotion e_gg,0,instance_npcname("Mingmin#23"); + next; + cutin "rote01",0; + mes "[Rohtert]"; + mes "You can't do that!"; + unittalk getnpcid(0,instance_npcname("Rohtert#23")),"Rohtert : You can't do that!"; + emotion e_omg,0,instance_npcname("Rohtert#23"); + next; + mes "[Melody-Jack]"; + mes "I'm not a member, but if you ask me, that name..."; + unittalk getnpcid(0,instance_npcname("Melody-Jack#23")),"Melody-Jack : I'm not a member, but if you ask me, that name..."; + emotion e_dots,0,instance_npcname("Melody-Jack#23"); + cutin "rote01",255; + next; + cutin "ragi03",0; + mes "[Ragi]"; + mes "I'll never be able to speak that name. Aigu, are you sure you want to stick with these guys?"; + unittalk getnpcid(0,instance_npcname("Ragi#23")),"Ragi : I'll never be able to speak that name. Aigu, are you sure you want to stick with these guys?"; + next; + cutin "igu03",2; + mes "[Aigu]"; + mes "I don't care. I'm staying with New Oz."; + unittalk getnpcid(0,instance_npcname("Aigu#23")),"Aigu : .I don't care. I'm staying with New Oz."; + emotion e_lv2,0,instance_npcname("Aigu#23"); + next; + cutin "lunain04",0; + mes "[Runane]"; + mes "I just don't like the name."; + unittalk getnpcid(0,instance_npcname("Runane#23")),"Runane : I just don't like the name."; + next; + cutin "rote01",0; + mes "[Rohtert]"; + mes "Shush! We've had enough for a day. You all are dismissed! This concludes the adventure of Rohtert's Super Critical Guild!"; + unittalk getnpcid(0,instance_npcname("Rohtert#23")),"Rohtert : Shush! We've had enough for a day. You all are dismissed! This concludes the adventure of Rohtert's Super Critical Guild!"; + if (isbegin_quest(13181) == 1) { + completequest 13181; + getexp 1500000,500000; + } + close2; + cutin "rote01",255; + 'jitRoom = 101; + donpcevent instance_npcname("#jtwarp23")+"::OnEnable"; + end; + +OnInstanceInit: + donpcevent instance_npcname("New Oz#23")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("New Oz#23"); + end; +OnDisable: + hideonnpc instance_npcname("New Oz#23"); + end; +} + +// Warps +//============================================================ +1@jtb,45,47,0 script #jtwarp1 45,2,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#jtwarp1")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#jtwarp1"); + end; +OnEnable: + enablenpc instance_npcname("#jtwarp1"); + end; +OnTouch: + .@map$ = instance_mapname("1@jtb"); + warp .@map$,99,17; + end; +} + +1@jtb,135,17,0 script #jtwarp2 45,2,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#jtwarp2")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#jtwarp2"); + end; +OnEnable: + enablenpc instance_npcname("#jtwarp2"); + end; +OnTouch: + .@map$ = instance_mapname("1@jtb"); + warp .@map$,184,16; + end; +} + +1@jtb,220,23,0 script #jtwarp3 45,2,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#jtwarp3")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#jtwarp3"); + end; +OnEnable: + enablenpc instance_npcname("#jtwarp3"); + end; +OnTouch: + .@map$ = instance_mapname("1@jtb"); + warp .@map$,270,16; + end; +} + +1@jtb,306,47,0 script #jtwarp4 45,2,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#jtwarp4")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#jtwarp4"); + end; +OnEnable: + enablenpc instance_npcname("#jtwarp4"); + end; +OnTouch: + .@map$ = instance_mapname("1@jtb"); + warp .@map$,11,98; + end; +} + +1@jtb,39,133,0 script #jtwarp5 45,2,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#jtwarp5")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#jtwarp5"); + end; +OnEnable: + enablenpc instance_npcname("#jtwarp5"); + end; +OnTouch: + .@map$ = instance_mapname("1@jtb"); + warp .@map$,95,99; + end; +} + +1@jtb,133,106,0 script #jtwarp6 45,2,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#jtwarp6")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#jtwarp6"); + end; +OnEnable: + enablenpc instance_npcname("#jtwarp6"); + end; +OnTouch: + .@map$ = instance_mapname("1@jtb"); + warp .@map$,183,129; + end; +} + +1@jtb,209,133,0 script #jtwarp7 45,2,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#jtwarp7")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#jtwarp7"); + end; +OnEnable: + enablenpc instance_npcname("#jtwarp7"); + end; +OnTouch: + .@map$ = instance_mapname("1@jtb"); + warp .@map$,276,95; + end; +} + +1@jtb,307,122,0 script #jtwarp8 45,2,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#jtwarp8")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#jtwarp8"); + end; +OnEnable: + enablenpc instance_npcname("#jtwarp8"); + end; +OnTouch: + .@map$ = instance_mapname("1@jtb"); + warp .@map$,359,96; + end; +} + +1@jtb,386,133,0 script #jtwarp9 45,2,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#jtwarp9")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#jtwarp9"); + end; +OnEnable: + enablenpc instance_npcname("#jtwarp9"); + end; +OnTouch: + .@map$ = instance_mapname("1@jtb"); + warp .@map$,13,215; + end; +} + +1@jtb,49,196,0 script #jtwarp10 45,2,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#jtwarp10")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#jtwarp10"); + end; +OnEnable: + enablenpc instance_npcname("#jtwarp10"); + end; +OnTouch: + .@map$ = instance_mapname("1@jtb"); + warp .@map$,94,201; + end; +} + +1@jtb,133,197,0 script #jtwarp11 45,2,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#jtwarp11")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#jtwarp11"); + end; +OnEnable: + enablenpc instance_npcname("#jtwarp11"); + end; +OnTouch: + .@map$ = instance_mapname("1@jtb"); + warp .@map$,181,198; + end; +} + +1@jtb,218,203,0 script #jtwarp12 45,2,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#jtwarp12")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#jtwarp12"); + end; +OnEnable: + enablenpc instance_npcname("#jtwarp12"); + end; +OnTouch: + .@map$ = instance_mapname("1@jtb"); + warp .@map$,269,207; + end; +} + +1@jtb,307,195,0 script #jtwarp13 45,2,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#jtwarp13")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#jtwarp13"); + end; +OnEnable: + enablenpc instance_npcname("#jtwarp13"); + end; +OnTouch: + .@map$ = instance_mapname("1@jtb"); + warp .@map$,355,216; + end; +} + +1@jtb,388,182,0 script #jtwarp14 45,2,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#jtwarp14")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#jtwarp14"); + end; +OnEnable: + enablenpc instance_npcname("#jtwarp14"); + end; +OnTouch: + .@map$ = instance_mapname("1@jtb"); + warp .@map$,13,275; + end; +} + +1@jtb,47,303,0 script #jtwarp15 45,2,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#jtwarp15")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#jtwarp15"); + end; +OnEnable: + enablenpc instance_npcname("#jtwarp15"); + end; +OnTouch: + .@map$ = instance_mapname("1@jtb"); + warp .@map$,99,299; + end; +} + +1@jtb,134,275,0 script #jtwarp16 45,2,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#jtwarp16")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#jtwarp16"); + end; +OnEnable: + enablenpc instance_npcname("#jtwarp16"); + end; +OnTouch: + .@map$ = instance_mapname("1@jtb"); + warp .@map$,200,271; + end; +} + +1@jtb,199,305,0 script #jtwarp17 45,2,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#jtwarp17")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#jtwarp17"); + end; +OnEnable: + enablenpc instance_npcname("#jtwarp17"); + end; +OnTouch: + .@map$ = instance_mapname("1@jtb"); + warp .@map$,13,385; + end; +} + +1@jtb,49,365,0 script #jtwarp18 45,2,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#jtwarp18")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#jtwarp18"); + end; +OnEnable: + enablenpc instance_npcname("#jtwarp18"); + end; +OnTouch: + .@map$ = instance_mapname("1@jtb"); + warp .@map$,107,389; + end; +} + +1@jtb,111,352,0 script #jtwarp19 45,2,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#jtwarp19")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#jtwarp19"); + end; +OnEnable: + enablenpc instance_npcname("#jtwarp19"); + end; +OnTouch: + .@map$ = instance_mapname("1@jtb"); + warp .@map$,186,386; + end; +} + +1@jtb,220,359,0 script #jtwarp20 45,2,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#jtwarp20")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#jtwarp20"); + end; +OnEnable: + enablenpc instance_npcname("#jtwarp20"); + end; +OnTouch: + .@map$ = instance_mapname("1@jtb"); + warp .@map$,287,356; + end; +} + +1@jtb,311,358,0 script #jtwarp21 45,2,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#jtwarp21")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#jtwarp21"); + end; +OnEnable: + enablenpc instance_npcname("#jtwarp21"); + end; +OnTouch: + .@map$ = instance_mapname("1@jtb"); + warp .@map$,335,320; + end; +} + +1@jtb,391,30,0 script #jtwarp23 45,2,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#jtwarp23")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#jtwarp23"); + end; +OnEnable: + enablenpc instance_npcname("#jtwarp23"); + end; +OnTouch: + if (isbegin_quest(13181) == 1) { + completequest 13181; + getexp 1500000,500000; + } + warp "moc_para01",28,87; + end; +} diff --git a/re/instances/OctopusCave.txt b/re/instances/OctopusCave.txt index 1d0f614..74a57ef 100644 --- a/re/instances/OctopusCave.txt +++ b/re/instances/OctopusCave.txt @@ -14,7 +14,7 @@ //= 1.1 Instance system rewrite. [Euphy] //============================================================ -// Instance Creation +// Instance Creation :: oct //============================================================ mal_dun01,151,235,5 script Starfish 551,{ @@ -157,7 +157,7 @@ mal_dun01,153,237,5 script Weird Entrance 844,{ } } -// Instance Scripts +// Instance Scripts :: oct_in //============================================================ 1@cash,199,99,0 script oct_enter 139,4,4,{ end; diff --git a/re/instances/OldGlastHeim.txt b/re/instances/OldGlastHeim.txt index f6a594a..daa105c 100644 --- a/re/instances/OldGlastHeim.txt +++ b/re/instances/OldGlastHeim.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Ziu, Heris (translation) //===== Current Version: ===================================== -//= 1.0 +//= 1.4 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -11,180 +11,240 @@ //= Glast Heim castle and how it ended up in ruins. //===== Additional Comments: ================================= //= 1.0 First version. [Euphy] +//= This is a custom version, and may contain bugs. +//= 1.1 Bug fixes; removed redundant OnInstanceInit scripts. +//= 1.2 Add NPC Hugin's Follower [exneval] +//= NPC that give access to Glast Heim Nightmare Mode. +//= 1.3 Add some NPCs placeholder. [exneval] +//= 1.4 Update to its official text. [exneval] +//= Support merchant, enchant, socket features. //============================================================ glast_01,204,273,6 script Hugin#ghinstance 755,{ - mes "^ff0000This isn't considered a normal progression dungeon. Please note this point.^000000"; - next; - mes "[Hugin]"; - mes "Huh? You feel like you have seen me in different places? I see. What can I say?"; - next; - set .@ghins_time, checkquest(12317,PLAYTIME); + if (BaseLevel < 130) { + mes "[Hugin]"; + mes "Why don't you come back after becoming stronger?"; + mes "Maybe, level 130."; + close; + } + if (ghinstance == 1) { + mes "[Hugin]"; + mes "Umm? Did you see me at another place? I don't think so. What about this time?"; + if (checkquest(12322) == 1) { + erasequest 12322; + } + next; + } else { + mes "[Hugin]"; + mes "A long time ago, this castle did not like this."; + next; + mes "[Hugin]"; + mes "Ah I'm sorry. I'm muttering in front of a stranger."; + next; + mes "[Hugin]"; + mes "My name is Hugin. I'm studying the dimensional gap between time and space."; + next; + select("There's something like that here?"); + mes "[Hugin]"; + mes "Have you ever wondered about history of Glast Heim?"; + next; + mes "[Hugin]"; + mes "There was a King named Shumiche who was known as a tyrant in the history of the Rune-Midgarts Kingdom."; + next; + mes "[Hugin]"; + mes "Time will reveal the true answers if we look in the right places."; + next; + if (select("I don't care about history","That is interesting. Find anything?") == 1) { + mes "[Hugin]"; + mes "Really? Hmm, please come back later when you are interested then."; + close; + } + mes "[Hugin]"; + mes "Actually, dimensional time travel is possible but I'm so afraid to go there."; + next; + mes "[Hugin]"; + mes "Yes! It might be possible for you."; + next; + mes "[Hugin]"; + mes "Do you want to time travel?"; + next; + if (select("No, thanks.","Yes, of course I do!") == 1) { + mes "[Hugin]"; + mes "Really? But, jumping gigawatts this is such a great opportunity."; + close; + } + mes "[Hugin]"; + mes "I knew that you would understand what I said. Well, please tell what you gonna do."; + setquest 12316; + set ghinstance,1; + next; + } + set .@ghins_time,checkquest(12317,PLAYTIME); if (.@ghins_time == -1) { - set .@party_id,getcharid(1); set .@p_name$,getpartyname(.@party_id); set .@md_name$,"Old Glast Heim"; - - if (!instance_check_party(.@party_id,2)) { - //custom + if (!instance_check_party(.@party_id)) { mes "[Hugin]"; - mes "Where are your party members?"; + mes "Why don't you make a party with more than 1 person and talk to me again?"; close; } - - if (getcharid(0) == getpartyleader(.@party_id,2)) - set .@menu$, "Create the time gap.:Enter the Old Glast Heim.:Cancel."; - else - set .@menu$, ":Enter the Old Glast Heim.:Cancel."; + if (getcharid(0) == getpartyleader(.@party_id,2)) { + if (checkquest(12316) == 1) + erasequest 12316; + if (checkquest(12318,HUNTING) == -1) + setquest 12318; + set .@menu$,"Generate Time Gap:Enter Old Glast Heim:Cancel"; + } else { + if (checkquest(12316) == 1) { + mes "[Hugin]"; + mes "Have we met before? No way. It's my first time seeing you. What do you want?"; + erasequest 12316; + } + if (checkquest(12318,HUNTING) == -1) + setquest 12318; + set .@menu$,":Enter Old Glast Heim:Cancel"; + } switch(select(.@menu$)) { case 1: - if (instance_create(.@md_name$) < 0) { + switch (instance_create(.@md_name$)) { + case -3: + dispbottom "Memorial Dungeon, 'Old Glast Heim' is already in progress.",0xFFFFFF; + close; + case -4: + case -2: + case -1: mes "Party Name: "+.@p_name$; mes "Party Leader: "+strcharinfo(0); - mes "^0000ff"+.@md_name$+" ^000000- Reservation Failed!"; + mes "^0000ff"+.@md_name$+"^000000 - time gap generation failed."; close; } mes "[Hugin]"; - mes "The time gap was created. When you're ready, talk to me again."; + mes "After the time gap opens, please tell me again."; close; case 2: switch(instance_enter(.@md_name$)) { case 3: + mes "[Hugin]"; mes "An unknown error has occurred."; close; case 2: - mes "The memorial dungeon "+.@md_name$+" does not exist."; - mes "The party leader did not generate the dungeon yet."; + mes "[Hugin]"; + mes "The time gap is not yet open."; close; case 1: - mes "Only the registered members can enter the instance "+.@md_name$+"."; + mes "[Hugin]"; + mes "Your body is not fit to enter the time gap. You won't be able to get in if you're not in a party."; close; case 0: - mapannounce "glast_01",strcharinfo(0)+", member of the party "+.@p_name$+" entered the instance "+.@md_name$+".",bc_map,"0x00ff99"; + mapannounce "glast_01",.@p_name$ + " party member " + strcharinfo(0) + " enters the Old Glast Heim",bc_map,"0x00ff99"; setquest 12317; - setquest 12318; //warp "1@gl_k",150,20; close; } + break; case 3: close; } } else if (.@ghins_time == 0 || .@ghins_time == 1) { mes "[Hugin]"; - mes "Oh, geez."; - mes "Your body is still under the effects of time travel. In this state, you will not be able to travel again."; + mes "Oh, my..."; + mes "You still have after-effects of time travel. You can't travel again with this condition."; next; mes "[Hugin]"; - mes "You should rest and come back later for more."; + mes "Staying healthy is important so please take a break and come back again later."; close; } else { - mes "^0000ffOld Glast Heim access trail has been cleared. It is now possible to talk to Hugin.^000000"; + mes "^0000ffAll trace of access to Old Glast Heim have been removed. Now you can talk with Hugin again.^000000"; + if (checkquest(12318,HUNTING) == -1) + setquest 12318; erasequest 12317; - if (checkquest(12318) > -1) erasequest 12318; - if (checkquest(12319) > -1) erasequest 12319; close; } } // Floor 1 //============================================================ -1@gl_k,149,41,6 script Varmunt#ghinstance1 654,{ +1@gl_k,149,41,6 script Varmundt#ghinstance1 654,{ if (getcharid(0) == getpartyleader(getcharid(1),2)) { - mes "Hey ^0000ffguys^000000, were you sent here to help me?"; - npctalk "Hey guys, were you sent here to help me?"; cutin "gl_barmund1",2; + mes "[Varmundt]"; + mes "Are you the one ^0000ffHerico^000000 sent to help me?"; + npctalk "Varmundt : Are you the one Herico sent to help me?"; next; - select("Oh. Well, about that..."); + select("Oh. Well I..."); mes "["+strcharinfo(0)+"]"; - mes "Oh yeah, hahaha, we were told to meet someone called Varmunt."; - unittalk getcharid(3),"Oh yeah, hahaha, we were told to meet someone called Varmunt."; + mes "Ah yes, I am. Herico told me to meet you."; + unittalk getcharid(3),strcharinfo(0)+" : Ah yes, I am. Herico told me to meet you."; next; - mes "[Varmunt]"; - mes "We don't have time. We must tell Sir Heinrich about Himmelmez's invasion."; - npctalk "We don't have time. We must tell Sir Heinrich about Himmelmez's invasion."; cutin "gl_barmund2",2; + mes "[Varmundt]"; + mes "We don't have much time. We must report to Sir. Heinrich about Himelmez's invasion."; + npctalk "Varmundt : We don't have much time. We must report to Sir. Heinrich about Himelmez's invasion."; next; - select("What Himmelmez..."); + select("Himelmez..."); mes "["+strcharinfo(0)+"]"; - mes "Himmelmez? Who the hell is she?"; - unittalk getcharid(3),"Himmelmez? Who the hell is she?"; + mes "Who is Himelmez?"; + unittalk getcharid(3),strcharinfo(0)+" : Who is Himelmez?"; next; - mes "[Varmunt]"; - mes "Didn't anybody give you the basic informations?"; - npctalk "Didn't anybody give you the basic informations?"; cutin "gl_barmund3",2; + mes "[Varmundt]"; + mes "Herico didn't tell you?"; + npctalk "Varmundt : Herico didn't tell you?"; next; - mes "[Varmunt]"; - mes "The Valkyrie of the dead. She's after the Ymir's Heart pieces hidden here."; - npctalk "The Valkyrie of the dead. She's after the Ymir's Heart pieces hidden here"; cutin "gl_barmund2",2; + mes "[Varmundt]"; + mes "She is the Ruler of Death, Dead man's Valkyrie. Himelmez is looking to take the hart of Ymir from us."; + npctalk "Varmundt : She is the Ruler of Death, Dead man's Valkyrie. Himelmez is looking to take the hart of Ymir from us."; next; - mes "[Varmunt]"; - mes "She's capable of destroying the whole castle for this purpose."; - npctalk "She's capable of destroying the whole castle for this purpose."; + mes "[Varmundt]"; + mes "She might even destroy this whole castle if she wanted to."; + npctalk "Varmundt : She might even destroy this whole castle if she wanted to."; next; - mes "[Varmunt]"; - mes "Hurry up! Inform Sir Heinrich that Himmelmez is coming. I will briefly explore the enchantments she made to this place!"; - npctalk "Hurry up! Inform Sir Heinrich that Himmelmez is coming. I will briefly explore the enchantments she made to this place!"; + mes "[Varmundt]"; + mes "Hurry! Report to Sir. Heinrich about Himelmez. I must check the defense barrier here!"; + npctalk "Varmundt : Hurry! Report to Sir. Heinrich about Himelmez. I must check the defense barrier here!"; close2; cutin "gl_barmund2",255; - donpcevent instance_npcname("Varmunt#ghinstance1")+"::OnDisable2"; + donpcevent instance_npcname("Varmundt#ghinstance1")+"::OnDisable"; end; } else { - mes "[Varmunt]"; - mes "Where is he? We"; - mes "need his help."; cutin "gl_barmund2",2; + mes "[Varmundt]"; + mes "Where's your leader? I need his help."; close2; cutin "gl_barmund2",255; end; } OnInstanceInit: - donpcevent instance_npcname("Varmunt#ghinstance1")+"::OnEnable"; + donpcevent instance_npcname("Varmundt#ghinstance1")+"::OnEnable"; end; OnDisable: - hideonnpc instance_npcname("Varmunt#ghinstance1"); - end; -OnDisable2: - hideonnpc instance_npcname("Varmunt#ghinstance1"); - - for(set .@i,1; .@i<=20; set .@i,.@i+4) { - hideoffnpc instance_npcname("Khalitzburg Crusader#"+.@i); - hideoffnpc instance_npcname("Khalitzburg Crusader#"+(.@i+1)); - hideoffnpc instance_npcname("White Knight#"+(.@i+2)); - hideoffnpc instance_npcname("White Knight#"+(.@i+3)); - } - hideoffnpc instance_npcname("Khalitzburg Crusader#21"); - hideoffnpc instance_npcname("Khalitzburg Crusader#22"); - + hideonnpc instance_npcname("Varmundt#ghinstance1"); hideoffnpc instance_npcname("Heinrich#ghinstance1"); - hideoffnpc instance_npcname("Varmunt#ghinstance2"); + hideoffnpc instance_npcname("Varmundt#ghinstance2"); end; OnEnable: - hideoffnpc instance_npcname("Varmunt#ghinstance1"); + hideoffnpc instance_npcname("Varmundt#ghinstance1"); end; } -1@gl_k,145,54,6 script Khalitzburg Crusader#1 655,{ +1@gl_k,145,54,6 script Khalitzburg Knightage#1 655,{ mes "["+strnpcinfo(1)+"]"; - switch((atoi(strnpcinfo(2)) + 1) / 2) { - case 1: mes "Would I be recruited?"; break; - case 2: mes "May I help you?"; break; + switch ((atoi(strnpcinfo(2)) + 1) / 2) { + case 1: mes "Is there something you need?"; break; + case 2: mes "What can I do for you?"; break; case 3: mes "..."; break; - case 4: mes "I do not like to chit-chat during work."; break; - case 5: mes "The aura of the castle has changed, don't you think? Something like a presence seemed to appear a little while ago."; break; - case 6: mes "I wonder what commandant Varmunt is doing. I heard people are running away..."; break; - case 7: mes "Quiet please."; break; - case 8: mes "A fuss seems to be near."; break; - case 9: mes "A dream last night really bothered me. My mother used to say that these dreams may come true..."; break; - case 10: mes "Is Varmunt going with you? The commandant is waiting for you."; break; - case 11: mes "Soon it's time to change shifts. I wonder what happened to the other knights."; break; + case 4: mes "I do not like to chat during work."; break; + case 5: mes "Doesn't this castle seem weird all of a sudden? Something's not quite right."; break; + case 6: mes "How do you know Varmundt? I heard that he's not really a friendly man..."; break; + case 7: mes "Orders please."; break; + case 8: mes "Please do not make a mess here."; break; + case 9: mes "I had a weird dream last night. My mom was in it... Wonder if she is ok..."; break; + case 10: mes "Are you wit Varmundt? Commander is waiting for you."; break; + case 11: mes "My work shift will be over soon, but the next crew is not coming."; break; } close; -OnInstanceInit: - donpcevent instance_npcname(strnpcinfo(0))+"::OnDisable"; - end; OnDisable: hideonnpc instance_npcname(strnpcinfo(0)); end; @@ -192,97 +252,94 @@ OnEnable: hideoffnpc instance_npcname(strnpcinfo(0)); end; } -1@gl_k,154,54,3 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#2 655 -1@gl_k,145,59,6 duplicate(Khalitzburg Crusader#1) White Knight#3 657 -1@gl_k,154,59,3 duplicate(Khalitzburg Crusader#1) White Knight#4 657 -1@gl_k,145,64,6 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#5 655 -1@gl_k,154,64,3 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#6 655 -1@gl_k,145,69,6 duplicate(Khalitzburg Crusader#1) White Knight#7 657 -1@gl_k,154,69,3 duplicate(Khalitzburg Crusader#1) White Knight#8 657 -1@gl_k,145,74,6 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#9 655 -1@gl_k,154,74,3 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#10 655 -1@gl_k,145,79,6 duplicate(Khalitzburg Crusader#1) White Knight#11 657 -1@gl_k,154,79,3 duplicate(Khalitzburg Crusader#1) White Knight#12 657 -1@gl_k,145,84,6 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#13 655 -1@gl_k,154,84,3 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#14 655 -1@gl_k,145,89,6 duplicate(Khalitzburg Crusader#1) White Knight#15 657 -1@gl_k,154,89,3 duplicate(Khalitzburg Crusader#1) White Knight#16 657 -1@gl_k,145,94,6 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#17 655 -1@gl_k,154,94,3 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#18 655 -1@gl_k,145,99,6 duplicate(Khalitzburg Crusader#1) White Knight#19 657 -1@gl_k,154,99,3 duplicate(Khalitzburg Crusader#1) White Knight#20 657 -1@gl_k,145,104,6 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#21 655 -1@gl_k,154,104,3 duplicate(Khalitzburg Crusader#1) Khalitzburg Crusader#22 655 +1@gl_k,154,54,3 duplicate(Khalitzburg Knightage#1) Khalitzburg Knightage#2 655 +1@gl_k,145,59,6 duplicate(Khalitzburg Knightage#1) White Knight#3 657 +1@gl_k,154,59,3 duplicate(Khalitzburg Knightage#1) White Knight#4 657 +1@gl_k,145,64,6 duplicate(Khalitzburg Knightage#1) Khalitzburg Knightage#5 655 +1@gl_k,154,64,3 duplicate(Khalitzburg Knightage#1) Khalitzburg Knightage#6 655 +1@gl_k,145,69,6 duplicate(Khalitzburg Knightage#1) White Knight#7 657 +1@gl_k,154,69,3 duplicate(Khalitzburg Knightage#1) White Knight#8 657 +1@gl_k,145,74,6 duplicate(Khalitzburg Knightage#1) Khalitzburg Knightage#9 655 +1@gl_k,154,74,3 duplicate(Khalitzburg Knightage#1) Khalitzburg Knightage#10 655 +1@gl_k,145,79,6 duplicate(Khalitzburg Knightage#1) White Knight#11 657 +1@gl_k,154,79,3 duplicate(Khalitzburg Knightage#1) White Knight#12 657 +1@gl_k,145,84,6 duplicate(Khalitzburg Knightage#1) Khalitzburg Knightage#13 655 +1@gl_k,154,84,3 duplicate(Khalitzburg Knightage#1) Khalitzburg Knightage#14 655 +1@gl_k,145,89,6 duplicate(Khalitzburg Knightage#1) White Knight#15 657 +1@gl_k,154,89,3 duplicate(Khalitzburg Knightage#1) White Knight#16 657 +1@gl_k,145,94,6 duplicate(Khalitzburg Knightage#1) Khalitzburg Knightage#17 655 +1@gl_k,154,94,3 duplicate(Khalitzburg Knightage#1) Khalitzburg Knightage#18 655 +1@gl_k,145,99,6 duplicate(Khalitzburg Knightage#1) White Knight#19 657 +1@gl_k,154,99,3 duplicate(Khalitzburg Knightage#1) White Knight#20 657 +1@gl_k,145,104,6 duplicate(Khalitzburg Knightage#1) Khalitzburg Knightage#21 655 +1@gl_k,154,104,3 duplicate(Khalitzburg Knightage#1) Khalitzburg Knightage#22 655 1@gl_k,149,100,6 script Heinrich#ghinstance1 652,{ if (getcharid(0) == getpartyleader(getcharid(1),2)) { cutin "gl_heinrich2",2; - select("Heinrich, about the castle..."); + select("Sir. Heinrich. Varmundt..."); mes "["+strcharinfo(0)+"]"; - mes "Do you know what is happening now in the castle, Heinrich?"; - unittalk getcharid(3),"Do you know what is happening now in the castle, Heinrich?"; + mes "Sir. Heinrich. Do you know what is happening in the castle now?"; + unittalk getcharid(3),strcharinfo(0)+" : Sir. Heinrich. Do you know what is happening in the castle now?"; next; mes "[Heinrich]"; - mes "You are the adventurers who have come with Varmunt, right?"; - npctalk "You are the adventurers who have come with Varmunt, right?"; + mes "Aren't you the adventurer that came along with Varmundt?"; + npctalk "Heinrich : Aren't you the adventurer that came along with Varmundt?"; next; mes "[Heinrich]"; - mes "What can I do for you? Is there something wrong?"; - npctalk "What can I do for you? Is there something wrong?"; + mes "What is it? Something wrong with the castle?"; + npctalk "Heinrich : What is it? Something wrong with the castle?"; next; - select("The Ymir's Heart. Himmelmez..."); + select("Himelmez's invasion..."); mes "["+strcharinfo(0)+"]"; - mes "Himmelmez, the Valkyrie of the dead is looking to get a piece of the Ymir's heart hidden in the castle!"; - unittalk getcharid(3),"Himmelmez, the Valkyrie of the dead is looking to get a piece of the Ymir's heart hidden in the castle!"; + mes "Dead man's Valkyrie, Himelmez is coming to take the Ymir's Heart piece hidden inside this castle!"; + unittalk getcharid(3),strcharinfo(0)+" : Dead man's Valkyrie, Himelmez is coming to take the Ymir's Heart piece hidden inside this castle!"; next; - mes "[Heinrich]"; - mes "Haha. That's a nice joke. Now tell me what brings you here."; - npctalk "Haha. That's a nice joke. Now tell me what brings you here."; cutin "gl_heinrich1",2; + mes "[Heinrich]"; + mes "Haha. Funny. Do you really think that is possible?"; + npctalk "Heinrich : Haha. Funny. Do you really think that is possible?"; next; - mes "[Varmunt]"; - mes "I am not joking Heinrich, Sir. Now, if my judgement is correct, she will be here soon."; - donpcevent instance_npcname("Varmunt#ghinstance2")+"::OnTalk1"; cutin "gl_barmund2",2; + mes "[Varmundt]"; + mes "I'm not kidding, Sir. Heinrich. If I'm correct, then she will be here very soon."; + donpcevent instance_npcname("Varmundt#ghinstance2")+"::OnTalk1"; next; - mes "[Varmunt]"; - mes "I trust this guy following me. The Ymir's Heart pieces must be hidden in a safe place before Himmelmez takes them!"; - donpcevent instance_npcname("Varmunt#ghinstance2")+"::OnTalk2"; + mes "[Varmundt]"; + mes "We must hide the heart piece to a safe place before Himelmez's attack starts!"; + donpcevent instance_npcname("Varmundt#ghinstance2")+"::OnTalk2"; next; - select("Even if you do not believe..."); + select("Even if you don't believe me..."); mes "["+strcharinfo(0)+"]"; - mes "Even if you don't believe it, do something. We do not have much time!"; - unittalk getcharid(3),"Even if you don't believe it, do something. We do not have much time!"; + mes "I can't make you believe me, but there's no time to argue!"; + unittalk getcharid(3),strcharinfo(0)+" : I can't make you believe me, but there's no time to argue!"; cutin "gl_barmund2",255; next; - mes "[Heinrich]"; - mes "I will be glad if you give me two minutes, please. But now the king isn't in his room."; - npctalk "I will be glad if you give me two minutes, please. But now the king isn't in his room."; cutin "gl_heinrich1",2; + mes "[Heinrich]"; + mes "Thank you for the help. But, we don't even have our king with us right now."; + npctalk "Heinrich : Thank you for the help. But, we don't even have our king with us right now."; next; mes "[Heinrich]"; - mes "But I think that with such a busy agenda, he won't be able to take care of this."; - npctalk "But I think that with such a busy agenda, he won't be able to take care of this."; + mes "We cannot risk moving the heart just because some stranger says so."; + npctalk "Heinrich : We cannot risk moving the heart just because some stranger says so."; + close2; donpcevent instance_npcname("Heinrich#ghinstance1")+"::OnDisable"; donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnEnable"; - donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnEnable"; + donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnEnable"; donpcevent instance_npcname("#talkinstance1")+"::OnEnable"; - mapannounce instance_mapname("1@gl_k"), "???? Shout: Ohohohoho~!",bc_map,"0xFFFF00"; - close2; + mapannounce instance_mapname("1@gl_k"),"????'s: Muahahahaha~!",bc_map,"0xFFFF00",FW_NORMAL,18; cutin "gl_heinrich1",255; end; } else { - mes "[Heinrich]"; - mes "Where is your representative?"; - mes "I need to talk to him."; cutin "gl_heinrich2",2; + mes "[Heinrich]"; + mes "Where is your leader? I must talk to him."; close2; cutin "gl_heinrich2",255; end; } OnInstanceInit: - donpcevent instance_npcname("Heinrich#ghinstance1")+"::OnDisable"; - end; OnDisable: hideonnpc instance_npcname("Heinrich#ghinstance1"); end; @@ -291,45 +348,38 @@ OnEnable: end; } -1@gl_k,152,97,3 script Varmunt#ghinstance2 654,{ +1@gl_k,152,97,3 script Varmundt#ghinstance2 654,{ end; OnInstanceInit: - donpcevent instance_npcname("Varmunt#ghinstance2")+"::OnDisable"; - end; OnDisable: - hideonnpc instance_npcname("Varmunt#ghinstance2"); + hideonnpc instance_npcname("Varmundt#ghinstance2"); end; OnEnable: - hideoffnpc instance_npcname("Varmunt#ghinstance2"); + hideoffnpc instance_npcname("Varmundt#ghinstance2"); end; OnTalk1: - npctalk "I am not joking Heinrich, Sir. Now, if my judgement is correct, she will be here soon."; + npctalk "Varmundt : I'm not kidding, Sir. Heinrich. If I'm correct, then she will be here very soon."; end; OnTalk2: - npctalk "I trust this guy following me. The Ymir's Heart pieces must be hidden in a safe place before Himmelmez takes them!"; + npctalk "Varmundt : We must hide the heart piece to a safe place before Himelmez's attack starts!"; end; OnTalk3: - npctalk "Himmelmez!! Through the cracks!"; + npctalk "Varmundt : Himelmez!! Already!"; end; OnTalk4: - npctalk "Unbelievable. My men are...This kind of thing is not possible!"; + npctalk "Varmundt : Sir. Heinrich, they're all monsters. You need to give them rest!"; end; OnTalk5: - npctalk "Heinrich, Sir! I need a quick decision."; + npctalk "Varmundt : Sir. Heinrich! We don't have much time!"; end; OnTalk6: - npctalk "To prevent other attacks, go chase her!"; - end; -OnTalk7: - npctalk "Now, your help is desperately needed. I hopefully ask you."; + npctalk "Varmundt : If you hurry now, there's a chance!"; end; } 1@gl_k,149,97,6 script Heinrich#ghinstance2 652,{ end; OnInstanceInit: - donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnDisable"; - end; OnDisable: hideonnpc instance_npcname("Heinrich#ghinstance2"); end; @@ -337,42 +387,40 @@ OnEnable: hideoffnpc instance_npcname("Heinrich#ghinstance2"); end; OnTalk1: - npctalk "Who?!"; + npctalk "Heinrich : Who are you?"; end; OnTalk2: - npctalk "That who rules the dead? No doubt, a pretty story. Here, some tea will be served to entertain the ladies. Unfortunately, I do not..."; + npctalk "Heinrich : Aren't you a little too feminine to be the Ruler of death? We are not afraid of you..."; end; OnTalk3: - npctalk "What did you say?"; + npctalk "Heinrich : What?"; end; OnTalk4: - npctalk "The King responded to the invitation of the Rune Midgard's Royal Family and hasn't come back yet."; + npctalk "Heinrich : My king is visiting the Rune-Midgarts royal family. He's not back yet."; end; OnTalk5: - npctalk "Just leave before you get in trouble. This is the King's will!"; + npctalk "Heinrich : And now you are trying to trick me, what has happened to him?!"; end; OnTalk6: - npctalk "Damn! She has detected the position of the Ymir's Heart pieces."; + npctalk "Heinrich : She probably already knows where the Ymir's heart piece is."; end; OnTalk7: - npctalk "Now, Khalitzburg Crusaders and White Knights, follow me..."; + npctalk "Heinrich : All Khalitzburg and White Knights should follow me now..."; end; OnTalk8: - npctalk "Unbelievable. My men are...This kind of thing is not possible!"; + npctalk "Heinrich : My men... This can't be happening!"; end; OnTalk9: - npctalk "I'm sorry..."; + npctalk "Heinrich : I'm so sorry..."; end; OnTalk10: - npctalk "I'm sorry, my lord! Do not forgive me!"; + npctalk "Heinrich : I am sorry, my knights! Forgive me!"; end; } 1@gl_k,149,100,6 script Heinrich#ghinstance3 652,{ end; OnInstanceInit: - donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnDisable"; - end; OnDisable: hideonnpc instance_npcname("Heinrich#ghinstance3"); end; @@ -380,65 +428,60 @@ OnEnable: hideoffnpc instance_npcname("Heinrich#ghinstance3"); end; OnTalk1: - npctalk "I cannot believe I killed my men with my own hands!"; + npctalk "Heinrich : I killed my own men..."; end; OnTalk2: - npctalk "Varmunt is right about that. Now is not the time to regret."; + npctalk "Heinrich : Varmundt is right. Now is not the time for mourning."; end; OnTalk3: - npctalk "People, gather around and follow my orders."; + npctalk "Heinrich : I have a request to you followers."; end; OnTalk4: - npctalk "Himmelmez is turning into monsters all the people she put to sleep."; + npctalk "Heinrich : Himelmez can turn living beings into monsters."; end; OnTalk5: - npctalk "I don't know if there are survivors around here yet."; + npctalk "Heinrich : But, there might still be survivors here."; end; OnTalk6: - npctalk "If there are survivors from this evil thing, please rescue them."; + npctalk "Heinrich : Destroy the monsters and find any survivors."; end; OnTalk7: - npctalk "With Varmunt by my side, I'm going to chase Himmelmez down."; + npctalk "Heinrich : Varmundt and I will chase Himelmez."; end; OnTalk8: - npctalk "Hurry up Varmunt, let's chase her down."; + npctalk "Heinrich : Very well, Varmundt. Let's find Himelmez."; end; } -1@gl_k,149,89,1 script Himmelmez#ghinstance1 650,{ +1@gl_k,149,89,1 script Himelmez#ghinstance1 650,{ end; OnInstanceInit: - donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnDisable"; - end; OnDisable: - hideonnpc instance_npcname("Himmelmez#ghinstance1"); + hideonnpc instance_npcname("Himelmez#ghinstance1"); end; OnEnable: - hideoffnpc instance_npcname("Himmelmez#ghinstance1"); + hideoffnpc instance_npcname("Himelmez#ghinstance1"); end; OnTalk1: - npctalk "This~ Did I interrupt your conversation? The thing is, it's been too long since the last guests saw some sadness spread..."; + npctalk "Himelmez : Well well~ Am I interrupting you? Weren't you expecting me?"; end; OnTalk2: - npctalk "My name is Lisa Kahn Himmelmez. I am called the Valkyrie of the dead, master of the Dullahan."; + npctalk "Himelmez : My name is Lisa Kahn Himelmez. Master of Dullahan, Dead man's Valkyrie, that's what they call me."; end; OnTalk3: - npctalk "There's no need to pretend to be so laid back. Don't bluff about the whereabouts of you Majesty and things will be alright."; + npctalk "Himelmez : Let's see if you can relax like that after you find out where your king is."; end; OnTalk4: - npctalk "Hohoho, do you have any questions? You're a really mysterious man."; + npctalk "Himelmez : Hmm, now I have your attention do I not?"; end; OnTalk5: - npctalk "Not coveting the king's throne, you're such a stupid man, only waiting for his return. Your innocence is true, I love it."; + npctalk "Himelmez : It's a pity to meet you in a situation like this."; end; Ontalk6: - npctalk "You make me wish we hadn't met in this situation. Too bad we did."; + npctalk "Himelmez : Well~ I would love to sit down and explain for you, but I'm kind of busy today~"; end; Ontalk7: - npctalk "Well~ Today, with such a busy commandant, I won't be able to talk as much as I'd love for you to contemplate my explanation~"; - end; -OnTalk8: - npctalk "I gotta get my job done. Meanwhile why don't you meet my men? Hohoho."; + npctalk "Himelmez : I have business to take care of. My minions will treat you well enough for me~"; end; } @@ -446,8 +489,6 @@ OnTalk8: //============================================================ 1@gl_k,0,0,0 script #talkinstance1 -1,{ OnInstanceInit: - donpcevent instance_npcname("#talkinstance1")+"::OnDisable"; - end; OnDisable: disablenpc instance_npcname("#talkinstance1"); end; @@ -455,244 +496,220 @@ OnEnable: enablenpc instance_npcname("#talkinstance1"); initnpctimer; end; -OnTimer5000: +OnTimer1500: donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk1"; end; -OnTimer10000: - donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnTalk1"; +OnTimer4500: + donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnTalk1"; end; -OnTimer15000: - donpcevent instance_npcname("Varmunt#ghinstance2")+"::OnTalk3"; +OnTimer10000: + donpcevent instance_npcname("Varmundt#ghinstance2")+"::OnTalk3"; end; -OnTimer20000: - donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnTalk2"; +OnTimer17500: + donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnTalk2"; end; -OnTimer25000: +OnTimer22000: donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk2"; end; -OnTimer30000: - donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnTalk3"; +OnTimer28500: + donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnTalk3"; end; -OnTimer35000: +OnTimer36000: donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk3"; end; -OnTimer45000: - donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnTalk4"; +OnTimer41000: + donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnTalk4"; end; -OnTimer50000: - donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnTalk5"; - end; -OnTimer55000: - donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnTalk6"; +OnTimer54000: + donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnTalk5"; end; -OnTimer60000: +OnTimer59000: donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk4"; end; -OnTimer65000: +OnTimer66500: donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk5"; end; -OnTimer70000: - donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnTalk7"; +OnTimer71500: + donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnTalk6"; end; -OnTimer75000: - donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnTalk8"; +OnTimer78000: + donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnTalk7"; end; -OnTimer80000: +OnTimer84500: donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk6"; - donpcevent instance_npcname("Himmelmez#ghinstance1")+"::OnDisable"; + donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnDisable"; end; -OnTimer85000: +OnTimer90500: donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk7"; - hideonnpc instance_npcname("Varmunt#ghinstance1"); - - for(set .@i,1; .@i<=20; set .@i,.@i+4) { - hideonnpc instance_npcname("Khalitzburg Crusader#"+.@i); - hideonnpc instance_npcname("Khalitzburg Crusader#"+(.@i+1)); + end; +OnTimer92000: + for (set .@i,1; .@i<=20; set .@i,.@i+4) { + hideonnpc instance_npcname("Khalitzburg Knightage#"+.@i); + hideonnpc instance_npcname("Khalitzburg Knightage#"+(.@i+1)); hideonnpc instance_npcname("White Knight#"+(.@i+2)); hideonnpc instance_npcname("White Knight#"+(.@i+3)); } - hideonnpc instance_npcname("Khalitzburg Crusader#21"); - hideonnpc instance_npcname("Khalitzburg Crusader#22"); - - set .@map$, instance_mapname("1@gl_k"); - set .@label$, instance_npcname("#talkinstance1")+"::OnMyMobDead"; - monster .@map$,145,59,"Abyss Knight",2470,1,.@label$; - monster .@map$,154,59,"Abyss Knight",2470,1,.@label$; - monster .@map$,145,69,"Abyss Knight",2470,1,.@label$; - monster .@map$,154,69,"Abyss Knight",2470,1,.@label$; - monster .@map$,145,79,"Abyss Knight",2470,1,.@label$; - monster .@map$,154,79,"Abyss Knight",2470,1,.@label$; - monster .@map$,145,89,"Abyss Knight",2470,1,.@label$; - monster .@map$,154,89,"Abyss Knight",2470,1,.@label$; - monster .@map$,145,99,"Abyss Knight",2470,1,.@label$; - monster .@map$,154,99,"Abyss Knight",2470,1,.@label$; - - for(set .@i,1; .@i<=22; set .@i,.@i+1) - hideoffnpc instance_npcname(".#ghinstance"+.@i); - - donpcevent instance_npcname(".#ghinstance22")+"::OnTalkK"; - donpcevent instance_npcname(".#ghinstance21")+"::OnTalkK"; - donpcevent instance_npcname(".#ghinstance18")+"::OnTalkK"; - donpcevent instance_npcname(".#ghinstance17")+"::OnTalkK"; - donpcevent instance_npcname(".#ghinstance14")+"::OnTalkK"; - donpcevent instance_npcname(".#ghinstance13")+"::OnTalkK"; - donpcevent instance_npcname(".#ghinstance10")+"::OnTalkK"; - donpcevent instance_npcname(".#ghinstance9")+"::OnTalkK"; - donpcevent instance_npcname(".#ghinstance6")+"::OnTalkK"; - donpcevent instance_npcname(".#ghinstance5")+"::OnTalkK"; - donpcevent instance_npcname(".#ghinstance2")+"::OnTalkK"; - donpcevent instance_npcname(".#ghinstance1")+"::OnTalkK"; - end; -OnTimer88000: - donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk8"; + hideonnpc instance_npcname("Khalitzburg Knightage#21"); + hideonnpc instance_npcname("Khalitzburg Knightage#22"); - for(set .@i,1; .@i<=20; set .@i,.@i+4) { - hideonnpc instance_npcname(".#ghinstance"+.@i); - hideonnpc instance_npcname(".#ghinstance"+(.@i+1)); - disablenpc instance_npcname(".#ghinstance"+(.@i+2)); - disablenpc instance_npcname(".#ghinstance"+(.@i+3)); - } - hideonnpc instance_npcname(".#ghinstance21"); - hideonnpc instance_npcname(".#ghinstance22"); + set .@map$,instance_mapname("1@gl_k"); + set .@label$,instance_npcname("#talkinstance1")+"::OnMyMobDead"; + monster .@map$,145,59,"Abysmal Knight",2470,1,.@label$; + monster .@map$,154,59,"Abysmal Knight",2470,1,.@label$; + monster .@map$,145,69,"Abysmal Knight",2470,1,.@label$; + monster .@map$,154,69,"Abysmal Knight",2470,1,.@label$; + monster .@map$,145,79,"Abysmal Knight",2470,1,.@label$; + monster .@map$,154,79,"Abysmal Knight",2470,1,.@label$; + monster .@map$,145,89,"Abysmal Knight",2470,1,.@label$; + monster .@map$,154,89,"Abysmal Knight",2470,1,.@label$; + monster .@map$,145,99,"Abysmal Knight",2470,1,.@label$; + monster .@map$,154,99,"Abysmal Knight",2470,1,.@label$; - set .@map$, instance_mapname("1@gl_k"); - set .@label$, instance_npcname("#talkinstance1")+"::OnMyMobDead"; monster .@map$,145,54,"Khalitzburg",2471,1,.@label$; + unittalk $@mobid[0],"Water... Someone give me water..."; monster .@map$,154,54,"Khalitzburg",2471,1,.@label$; + unittalk $@mobid[0],"Kkkrrrruughgh..."; monster .@map$,145,64,"Khalitzburg",2471,1,.@label$; + unittalk $@mobid[0],"Sir. Heinrich. Save me..."; monster .@map$,154,64,"Khalitzburg",2471,1,.@label$; + unittalk $@mobid[0],"I miss my sister..."; monster .@map$,145,74,"Khalitzburg",2471,1,.@label$; + unittalk $@mobid[0],"Don't leave me alone, help me."; monster .@map$,154,74,"Khalitzburg",2471,1,.@label$; + unittalk $@mobid[0],"Aaarrrrrhhhh"; monster .@map$,145,84,"Khalitzburg",2471,1,.@label$; + unittalk $@mobid[0],"I am so thirsty."; monster .@map$,154,84,"Khalitzburg",2471,1,.@label$; + unittalk $@mobid[0],"Oh...No...I can't die yet..."; monster .@map$,145,94,"Khalitzburg",2471,1,.@label$; + unittalk $@mobid[0],"I feel sick to my stomach urrgg"; monster .@map$,154,94,"Khalitzburg",2471,1,.@label$; + unittalk $@mobid[0],"Can someone..."; monster .@map$,145,104,"Khalitzburg",2471,1,.@label$; + unittalk $@mobid[0],"Arrgg... My body"; monster .@map$,154,104,"Khalitzburg",2471,1,.@label$; + unittalk $@mobid[0],"My throat is burning!"; + end; +OnTimer94000: + donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk8"; end; -OnTimer93000: - donpcevent instance_npcname("Varmunt#ghinstance2")+"::OnTalk4"; +OnTimer96500: + donpcevent instance_npcname("Varmundt#ghinstance2")+"::OnTalk4"; end; -OnTimer97000: +OnTimer100000: donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk9"; end; -OnTimer105000: +OnTimer103000: donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk10"; - mapannounce instance_mapname("1@gl_k"), "Heinrich's Shout: Dead men, dead men all over the place!",bc_map,"0xFFFF00"; end; -OnTimer107000: - mapannounce instance_mapname("1@gl_k"), "Heinrich's Shout: Everybody! Go back!",bc_map,"0xFFFF00"; +OnTimer106000: + mapannounce instance_mapname("1@gl_k"),"Sir. Heinrich: Death to all!",bc_map,"0xFFFF00",FW_NORMAL,18; end; -OnTimer110000: +OnTimer109000: + mapannounce instance_mapname("1@gl_k"),"Sir. Heinrich: Go back to the darkness!",bc_map,"0xFFFF00",FW_NORMAL,18; + end; +OnTimer109500: + enablenpc instance_npcname(".#ghinstance22"); + enablenpc instance_npcname(".#ghinstance21"); donpcevent instance_npcname(".#ghinstance22")+"::OnEffect1"; donpcevent instance_npcname(".#ghinstance21")+"::OnEffect1"; end; -OnTimer110500: +OnTimer110000: enablenpc instance_npcname(".#ghinstance20"); enablenpc instance_npcname(".#ghinstance19"); + enablenpc instance_npcname(".#ghinstance18"); + enablenpc instance_npcname(".#ghinstance17"); donpcevent instance_npcname(".#ghinstance20")+"::OnEffect1"; donpcevent instance_npcname(".#ghinstance19")+"::OnEffect1"; - end; -OnTimer111000: donpcevent instance_npcname(".#ghinstance18")+"::OnEffect1"; donpcevent instance_npcname(".#ghinstance17")+"::OnEffect1"; end; -OnTimer111500: +OnTimer110500: enablenpc instance_npcname(".#ghinstance16"); enablenpc instance_npcname(".#ghinstance15"); + enablenpc instance_npcname(".#ghinstance14"); + enablenpc instance_npcname(".#ghinstance13"); donpcevent instance_npcname(".#ghinstance16")+"::OnEffect1"; donpcevent instance_npcname(".#ghinstance15")+"::OnEffect1"; - end; -OnTimer112000: donpcevent instance_npcname(".#ghinstance14")+"::OnEffect1"; donpcevent instance_npcname(".#ghinstance13")+"::OnEffect1"; end; -OnTimer112500: +OnTimer111000: enablenpc instance_npcname(".#ghinstance12"); enablenpc instance_npcname(".#ghinstance11"); + enablenpc instance_npcname(".#ghinstance10"); + enablenpc instance_npcname(".#ghinstance9"); donpcevent instance_npcname(".#ghinstance12")+"::OnEffect1"; donpcevent instance_npcname(".#ghinstance11")+"::OnEffect1"; - end; -OnTimer113000: donpcevent instance_npcname(".#ghinstance10")+"::OnEffect1"; donpcevent instance_npcname(".#ghinstance9")+"::OnEffect1"; end; -OnTimer113500: +OnTimer111500: enablenpc instance_npcname(".#ghinstance8"); enablenpc instance_npcname(".#ghinstance7"); + enablenpc instance_npcname(".#ghinstance6"); + enablenpc instance_npcname(".#ghinstance5"); donpcevent instance_npcname(".#ghinstance8")+"::OnEffect1"; donpcevent instance_npcname(".#ghinstance7")+"::OnEffect1"; - end; -OnTimer114000: donpcevent instance_npcname(".#ghinstance6")+"::OnEffect1"; donpcevent instance_npcname(".#ghinstance5")+"::OnEffect1"; end; -OnTimer114500: +OnTimer112000: enablenpc instance_npcname(".#ghinstance4"); enablenpc instance_npcname(".#ghinstance3"); + enablenpc instance_npcname(".#ghinstance2"); + enablenpc instance_npcname(".#ghinstance1"); donpcevent instance_npcname(".#ghinstance4")+"::OnEffect1"; donpcevent instance_npcname(".#ghinstance3")+"::OnEffect1"; - end; -OnTimer114750: //custom time - disablenpc instance_npcname(".#ghinstance3"); - disablenpc instance_npcname(".#ghinstance4"); - disablenpc instance_npcname(".#ghinstance7"); - disablenpc instance_npcname(".#ghinstance8"); - disablenpc instance_npcname(".#ghinstance11"); - disablenpc instance_npcname(".#ghinstance12"); - disablenpc instance_npcname(".#ghinstance15"); - disablenpc instance_npcname(".#ghinstance16"); - disablenpc instance_npcname(".#ghinstance19"); - disablenpc instance_npcname(".#ghinstance20"); - end; -OnTimer115000: - donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnEnable"; - donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnDisable"; - donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk1"; donpcevent instance_npcname(".#ghinstance2")+"::OnEffect1"; donpcevent instance_npcname(".#ghinstance1")+"::OnEffect1"; + donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnEnable"; + donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnDisable"; + + for (set .@i,1; .@i<=22; set .@i,.@i+1) + disablenpc instance_npcname(".#ghinstance"+.@i); + killmonster instance_mapname("1@gl_k"),instance_npcname("#talkinstance1")+"::OnMyMobDead"; end; -OnTimer120000: - donpcevent instance_npcname("Varmunt#ghinstance2")+"::OnTalk5"; +OnTimer112500: + donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk1"; + end; +OnTimer115500: + donpcevent instance_npcname("Varmundt#ghinstance2")+"::OnTalk5"; end; -OnTimer125000: - donpcevent instance_npcname("Varmunt#ghinstance2")+"::OnTalk6"; +OnTimer118500: + donpcevent instance_npcname("Varmundt#ghinstance2")+"::OnTalk6"; end; -OnTimer130000: +OnTimer121500: donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk2"; end; -OnTimer135000: +OnTimer124500: donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk3"; end; -OnTimer140000: +OnTimer127500: donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk4"; end; -OnTimer145000: +OnTimer130500: donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk5"; end; -OnTimer150000: +OnTimer134500: donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk6"; end; -OnTimer155000: +OnTimer138500: donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk7"; end; -OnTimer160000: - donpcevent instance_npcname("Varmunt#ghinstance2")+"::OnTalk7"; - end; -OnTimer165000: +OnTimer143500: donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk8"; end; -OnTimer167000: +OnTimer147500: donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnDisable"; end; -OnTimer168000: - donpcevent instance_npcname("Varmunt#ghinstance2")+"::OnDisable"; - donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnDisable"; +OnTimer148500: + donpcevent instance_npcname("Varmundt#ghinstance2")+"::OnDisable"; stopnpctimer; donpcevent instance_npcname("#ghinstancewarp1")+"::OnEnable"; donpcevent instance_npcname("#ghinstancewarp2")+"::OnEnable"; - mapannounce instance_mapname("1@gl_k"), "9 o'clock warp leading to zone 2 is now open.",bc_map,"0xFFFF00"; + mapannounce instance_mapname("1@gl_k"),"A portal has opened to the west.",bc_map,"0xFFFF00"; donpcevent instance_npcname("#talkinstance1")+"::OnDisable"; donpcevent instance_npcname("#ghmemorialmob01")+"::OnEnable"; end; @@ -700,81 +717,45 @@ OnMyMobDead: end; } -1@gl_k,145,54,6 script .#ghinstance1 2471,{ +1@gl_k,145,54,6 script .#ghinstance1 111,{ end; OnInstanceInit: - donpcevent instance_npcname(strnpcinfo(0))+"::OnDisable"; - end; OnDisable: - hideonnpc instance_npcname(strnpcinfo(0)); - end; -OnEnable: - hideoffnpc instance_npcname(strnpcinfo(0)); - end; -OnEffect1: - specialeffect EF_GRANDCROSS; - specialeffect EF_LEXAETERNA; - end; -OnTalkK: - switch(atoi(replacestr(strnpcinfo(2),"ghinstance",""))) { - case 1: npctalk "I do not want to die."; break; - case 2: npctalk "Mom..."; break; - case 5: npctalk "Help."; break; - case 6: npctalk "My stomach hurts..."; break; - case 9: npctalk "Heinrich Sir, help!"; break; - case 10: npctalk "Ack... Ugh."; break; - case 13: npctalk "I'm thirsty."; break; - case 14: npctalk "Oh... No... I cannot die..."; break; - case 17: npctalk "This is so uncomfortable. Eww!"; break; - case 18: npctalk "Who am I..."; break; - case 21: npctalk "Uhh... My body."; break; - case 22: npctalk "I'm so thirsty!"; break; - } - end; -} -1@gl_k,154,54,3 duplicate(.#ghinstance1) .#ghinstance2 2471 -1@gl_k,145,64,6 duplicate(.#ghinstance1) .#ghinstance5 2471 -1@gl_k,154,64,3 duplicate(.#ghinstance1) .#ghinstance6 2471 -1@gl_k,145,74,6 duplicate(.#ghinstance1) .#ghinstance9 2471 -1@gl_k,154,74,3 duplicate(.#ghinstance1) .#ghinstance10 2471 -1@gl_k,145,84,6 duplicate(.#ghinstance1) .#ghinstance13 2471 -1@gl_k,154,84,3 duplicate(.#ghinstance1) .#ghinstance14 2471 -1@gl_k,145,94,6 duplicate(.#ghinstance1) .#ghinstance17 2471 -1@gl_k,154,94,3 duplicate(.#ghinstance1) .#ghinstance18 2471 -1@gl_k,145,104,6 duplicate(.#ghinstance1) .#ghinstance21 2471 -1@gl_k,154,104,3 duplicate(.#ghinstance1) .#ghinstance22 2471 - -1@gl_k,145,59,6 script .#ghinstance3 111,{ - end; -OnInstanceInit: - donpcevent instance_npcname(strnpcinfo(0))+"::OnDisable"; - end; -OnDisable: - hideonnpc instance_npcname(strnpcinfo(0)); + disablenpc instance_npcname(strnpcinfo(0)); end; OnEnable: - hideoffnpc instance_npcname(strnpcinfo(0)); + enablenpc instance_npcname(strnpcinfo(0)); end; OnEffect1: specialeffect EF_GRANDCROSS; specialeffect EF_LEXAETERNA; end; } -1@gl_k,154,59,3 duplicate(.#ghinstance3) .#ghinstance4 111 -1@gl_k,145,69,6 duplicate(.#ghinstance3) .#ghinstance7 111 -1@gl_k,154,69,3 duplicate(.#ghinstance3) .#ghinstance8 111 -1@gl_k,145,79,6 duplicate(.#ghinstance3) .#ghinstance11 111 -1@gl_k,154,79,3 duplicate(.#ghinstance3) .#ghinstance12 111 -1@gl_k,145,89,6 duplicate(.#ghinstance3) .#ghinstance15 111 -1@gl_k,154,89,3 duplicate(.#ghinstance3) .#ghinstance16 111 -1@gl_k,145,99,6 duplicate(.#ghinstance3) .#ghinstance19 111 -1@gl_k,154,99,3 duplicate(.#ghinstance3) .#ghinstance20 111 +1@gl_k,154,54,3 duplicate(.#ghinstance1) .#ghinstance2 111 +1@gl_k,145,59,6 duplicate(.#ghinstance1) .#ghinstance3 111 +1@gl_k,154,59,3 duplicate(.#ghinstance1) .#ghinstance4 111 +1@gl_k,145,64,6 duplicate(.#ghinstance1) .#ghinstance5 111 +1@gl_k,154,64,3 duplicate(.#ghinstance1) .#ghinstance6 111 +1@gl_k,145,69,6 duplicate(.#ghinstance1) .#ghinstance7 111 +1@gl_k,154,69,3 duplicate(.#ghinstance1) .#ghinstance8 111 +1@gl_k,145,74,6 duplicate(.#ghinstance1) .#ghinstance9 111 +1@gl_k,154,74,3 duplicate(.#ghinstance1) .#ghinstance10 111 +1@gl_k,145,79,6 duplicate(.#ghinstance1) .#ghinstance11 111 +1@gl_k,154,79,3 duplicate(.#ghinstance1) .#ghinstance12 111 +1@gl_k,145,84,6 duplicate(.#ghinstance1) .#ghinstance13 111 +1@gl_k,154,84,3 duplicate(.#ghinstance1) .#ghinstance14 111 +1@gl_k,145,89,6 duplicate(.#ghinstance1) .#ghinstance15 111 +1@gl_k,154,89,3 duplicate(.#ghinstance1) .#ghinstance16 111 +1@gl_k,145,94,6 duplicate(.#ghinstance1) .#ghinstance17 111 +1@gl_k,154,94,3 duplicate(.#ghinstance1) .#ghinstance18 111 +1@gl_k,145,99,6 duplicate(.#ghinstance1) .#ghinstance19 111 +1@gl_k,154,99,3 duplicate(.#ghinstance1) .#ghinstance20 111 +1@gl_k,145,104,6 duplicate(.#ghinstance1) .#ghinstance21 111 +1@gl_k,154,104,3 duplicate(.#ghinstance1) .#ghinstance22 111 -1@gl_k,96,80,0 script #ghinstancewarp1 45,1,2,{ +1@gl_k,96,80,0 script #ghinstancewarp1 45,2,2,{ end; OnInstanceInit: - donpcevent instance_npcname(strnpcinfo(0))+"::OnDisable"; - end; OnDisable: disablenpc instance_npcname(strnpcinfo(0)); end; @@ -782,8 +763,8 @@ OnEnable: enablenpc instance_npcname(strnpcinfo(0)); end; OnTouch: - set .@map1$, instance_mapname("1@gl_k"); - set .@map2$, instance_mapname("2@gl_k"); + set .@map1$,instance_mapname("1@gl_k"); + set .@map2$,instance_mapname("2@gl_k"); switch(atoi(replacestr(strnpcinfo(2),"ghinstancewarp",""))) { case 1: warp .@map1$,80,80; break; case 2: warp .@map1$,105,80; break; @@ -797,200 +778,200 @@ OnTouch: case 10: warp .@map2$,174,101; break; case 11: warp .@map2$,150,110; break; case 12: warp .@map2$,150,179; break; + case 13: warp .@map2$,150,160; break; + case 14: warp .@map1$,150,281; break; + case 15: warp .@map1$,48,168; break; } end; } -1@gl_k,90,80,0 duplicate(#ghinstancewarp1) #ghinstancewarp2 45,1,2 -1@gl_k,202,79,0 duplicate(#ghinstancewarp1) #ghinstancewarp3 45,1,2 -1@gl_k,206,79,0 duplicate(#ghinstancewarp1) #ghinstancewarp4 45,1,2 -1@gl_k,228,216,0 duplicate(#ghinstancewarp1) #ghinstancewarp5 45,1,2 -1@gl_k,222,216,0 duplicate(#ghinstancewarp1) #ghinstancewarp6 45,1,2 -1@gl_k,150,284,0 duplicate(#ghinstancewarp1) #ghinstancewarp7 45,1,2 -2@gl_k,145,123,0 duplicate(#ghinstancewarp1) #ghinstancewarp8 45,1,2 -2@gl_k,136,122,0 duplicate(#ghinstancewarp1) #ghinstancewarp9 45,1,2 -2@gl_k,154,101,0 duplicate(#ghinstancewarp1) #ghinstancewarp10 45,1,2 -2@gl_k,165,101,0 duplicate(#ghinstancewarp1) #ghinstancewarp11 45,1,2 -2@gl_k,150,163,0 duplicate(#ghinstancewarp1) #ghinstancewarp12 45,1,2 - +1@gl_k,90,80,0 duplicate(#ghinstancewarp1) #ghinstancewarp2 45,2,2 +1@gl_k,202,79,0 duplicate(#ghinstancewarp1) #ghinstancewarp3 45,2,2 +1@gl_k,206,79,0 duplicate(#ghinstancewarp1) #ghinstancewarp4 45,2,2 +1@gl_k,228,216,0 duplicate(#ghinstancewarp1) #ghinstancewarp5 45,2,2 +1@gl_k,222,216,0 duplicate(#ghinstancewarp1) #ghinstancewarp6 45,2,2 +1@gl_k,150,284,0 duplicate(#ghinstancewarp1) #ghinstancewarp7 45,2,2 +2@gl_k,145,123,0 duplicate(#ghinstancewarp1) #ghinstancewarp8 45,2,2 +2@gl_k,136,122,0 duplicate(#ghinstancewarp1) #ghinstancewarp9 45,2,2 +2@gl_k,154,101,0 duplicate(#ghinstancewarp1) #ghinstancewarp10 45,2,2 +2@gl_k,165,101,0 duplicate(#ghinstancewarp1) #ghinstancewarp11 45,2,2 +2@gl_k,150,163,0 duplicate(#ghinstancewarp1) #ghinstancewarp12 45,2,2 +2@gl_k,150,167,0 duplicate(#ghinstancewarp1) #ghinstancewarp13 45,2,2 +2@gl_k,150,32,0 duplicate(#ghinstancewarp1) #ghinstancewarp14 45,2,2 +1@gl_k,69,168,0 duplicate(#ghinstancewarp1) #ghinstancewarp15 45,2,2 // Sector 1 Mobs //============================================================ 1@gl_k,0,0,0 script #ghmemorialmob01 -1,{ OnInstanceInit: - donpcevent instance_npcname("#ghmemorialmob01")+"::OnDisable"; - end; OnDisable: disablenpc instance_npcname("#ghmemorialmob01"); end; OnEnable: enablenpc instance_npcname("#ghmemorialmob01"); - set .@map$, instance_mapname("1@gl_k"); - set .@label$, instance_npcname("#ghmemorialmob01")+"::OnMyMobDead"; - areamonster .@map$,76,99,87,10,"Suffering Chamberlain",2466,15,.@label$; - areamonster .@map$,67,39,12,6,"Fallen Monk",2465,20,.@label$; - areamonster .@map$,67,39,12,6,"Suffering Chamberlain",2466,3,.@label$; - areamonster .@map$,32,75,51,58,"Decayed Butler",2464,6,.@label$; - areamonster .@map$,45,84,6,137,"Decayed Butler",2464,12,.@label$; + set .@map$,instance_mapname("1@gl_k"); + set .@label$,instance_npcname("#ghmemorialmob01")+"::OnMyMobDead"; + areamonster .@map$,76,99,87,10,"Grand Chamberlain in pain",2466,15,.@label$; + areamonster .@map$,67,39,12,6,"Corrupted Monk",2465,20,.@label$; + areamonster .@map$,67,39,12,6,"Grand Chamberlain in pain",2466,3,.@label$; + areamonster .@map$,32,75,51,58,"Corrupted Steward",2464,6,.@label$; + areamonster .@map$,45,84,6,137,"Corrupted Steward",2464,12,.@label$; end; OnMyMobDead: - set .@map$, instance_mapname("1@gl_k"); - set .@label$, instance_npcname("#ghmemorialmob01")+"::OnMyMobDead"; - set .@mob_dead_num, 56 - mobcount(.@map$,.@label$); + set .@map$,instance_mapname("1@gl_k"); + set .@label$,instance_npcname("#ghmemorialmob01")+"::OnMyMobDead"; + set .@mob_dead_num,56 - mobcount(.@map$,.@label$); if (.@mob_dead_num > 35) { - mapannounce .@map$, "Seems like Himmelmez drains the dead's souls. They must be destroyed.",bc_map,"0xFFFFFF"; + mapannounce .@map$,"Himelmez's curse is getting weaker. Find any survivors!",bc_map,"0xFFFFFF"; killmonster .@map$,.@label$; - donpcevent instance_npcname("Aspiring Butcher#clearGH")+"::OnEnable"; + donpcevent instance_npcname("Altar boy Domun#clearGH")+"::OnEnable"; donpcevent instance_npcname("#ghmemorialmob01")+"::OnDisable"; } end; } -1@gl_k,17,51,3 script Aspiring Butcher#clearGH 706,{ +1@gl_k,17,51,3 script Altar boy Domun#clearGH 706,{ if (getcharid(0) == getpartyleader(getcharid(1),2)) { - mes "[Aspiring Butcher]"; - mes "Help me! Help me!!!"; + mes "[Altar boy Domun]"; + mes "Save me! Save me!!!"; + npctalk "Save me! Save me!!!"; next; - select("Hey, wake up! Are there any other survivors?"); + select("Hold on! Are you the only survivor?"); mes "["+strcharinfo(0)+"]"; - mes "Hey, wake up! Are you alone?"; - unittalk getcharid(3),"Hey, wake up! Are you alone?"; + mes "Hold on! Are you the only survivor?"; + unittalk getcharid(3),strcharinfo(0)+" : Hold on! Are you the only survivor?"; next; - mes "[Aspiring Butcher]"; - mes "The Chamberlain... the Monk... They've become monsters. I couldn't do anything."; - npctalk "The Chamberlain... the Monk... They've become monsters. I couldn't do anything."; + mes "[Altar boy Domun]"; + mes "Chamberlains... monks... They all turned into monsters. I couldn't do anything."; + npctalk "Altar boy Domun : Chamberlains... monks... They all turned into monsters. I couldn't do anything."; next; - mes "[Aspiring Butcher]"; - mes "I just stood still... Nothing, I couldn't do anything..."; - npctalk "I just stood still... Nothing, I couldn't do anything..."; + mes "[Altar boy Domun]"; + mes "All I could do was... Just hide in here... Nothing, nothing I could do..."; + npctalk "Altar boy Domun : All I could do was... Just hide in here... Nothing, nothing I could do..."; next; - select("Wake up!"); + select("Pull it together!"); mes "["+strcharinfo(0)+"]"; - mes "Wake up kid! Go east along the central passage to the outside! The path is safe!"; - unittalk getcharid(3),"Wake up kid! Go east along the central passage to the outside! The path is safe!"; + mes "Wake up kid! Go east and find the middle passage to the outside! That is safe!"; + unittalk getcharid(3),strcharinfo(0)+" : Wake up kid! Go east and find the middle passage to the outside! That is safe!"; next; - mes "[Aspiring Butcher]"; - mes "East passage? Alone? How?"; - npctalk "East passage? Alone? How?"; + mes "[Altar boy Domun]"; + mes "To the east passage? Alone? How?"; + npctalk "Altar boy Domun : To the east passage? Alone? How?"; next; - select("I can guide you through the path."); + select("I will give you a weapon."); mes "["+strcharinfo(0)+"]"; - mes "I will guide you, perhaps that will help. If you want to close your eyes try not to hit anything."; - unittalk getcharid(3),"I will guide you, perhaps that will help. If you want to close your eyes try not to hit anything."; + mes "Here's a weapon. Just close your eye and swing for those monsters."; + unittalk getcharid(3),strcharinfo(0)+" : Here's a weapon. Just close your eye and swing for those monsters."; next; - mes "[Aspiring Butcher]"; - mes "Aspiring Butcher: I know, I... I'm trying to."; - npctalk "Aspiring Butcher: I know, I... I'm trying to."; - donpcevent instance_npcname("Aspiring Butcher#clearGH")+"::OnDisable"; + mes "[Altar boy Domun]"; + mes "Ok, I... I'l try."; + npctalk "Altar boy Domun : Ok, I... I'l try."; + close2; + donpcevent instance_npcname("Altar boy Domun#clearGH")+"::OnDisable"; donpcevent instance_npcname("#ghmemorialmob02")+"::OnEnable"; - close; + end; } else { - mes "[Aspiring Butcher]"; - mes "Somebody help me, somebody help me, please."; + mes "[Altar boy Domun]"; + mes "Save me, save me, please..."; close; } OnInstanceInit: - donpcevent instance_npcname("Aspiring Butcher#clearGH")+"::OnDisable"; - end; OnDisable: - hideonnpc instance_npcname("Aspiring Butcher#clearGH"); + hideonnpc instance_npcname("Altar boy Domun#clearGH"); end; OnEnable: - hideoffnpc instance_npcname("Aspiring Butcher#clearGH"); + hideoffnpc instance_npcname("Altar boy Domun#clearGH"); end; } // Sector 2 Mobs //============================================================ -1@gl_k,291,145,3 script Hollgrehenn Destroyer 726,{ +1@gl_k,0,0,0 script #ghmemorialmob02 -1,{ +OnInstanceInit: +OnDisable: + disablenpc instance_npcname("#ghmemorialmob02"); + end; +OnEnable: + enablenpc instance_npcname("#ghmemorialmob02"); + donpcevent instance_npcname("#ghinstancewarp3")+"::OnEnable"; + donpcevent instance_npcname("#ghinstancewarp4")+"::OnEnable"; + set .@map$,instance_mapname("1@gl_k"); + set .@label$,instance_npcname("#ghmemorialmob02")+"::OnMyMobDead"; + mapannounce .@map$,"A portal has opened to the east.",bc_map,"0xFFFF00"; + areamonster .@map$,241,113,291,19,"Outraged Refiner",2466,12,.@label$; + areamonster .@map$,241,113,291,19,"Decomposed Blacksmith",2464,12,.@label$; + areamonster .@map$,227,217,291,135,"Outraged Refiner",2466,12,.@label$; + areamonster .@map$,227,217,291,135,"Decomposed Blacksmith",2464,12,.@label$; + end; +OnMyMobDead: + set .@map$,instance_mapname("1@gl_k"); + set .@label$,instance_npcname("#ghmemorialmob02")+"::OnMyMobDead"; + set .@mob_dead_num,48 - mobcount(.@map$,.@label$); + if (.@mob_dead_num > 28) { + mapannounce .@map$,"Himelmez's curse is getting weaker. Find any survivors!",bc_map,"0xFFFFFF"; + killmonster .@map$,.@label$; + donpcevent instance_npcname("Holgren the Destroyer")+"::OnEnable"; + donpcevent instance_npcname("#ghmemorialmob02")+"::OnDisable"; + } + end; +} + +1@gl_k,291,145,3 script Holgren the Destroyer 726,{ if (getcharid(0) == getpartyleader(getcharid(1),2)) { - mes "[Hollgrehenn Destroyer]"; - mes "Yaaa!! Die!!!"; - npctalk "Yaaa!! Die!!!"; + mes "[Holgren the Destroyer]"; + mes "Die!! You shall die!!!"; + npctalk "Holgren the Destroyer : Die!! You shall die!!!"; specialeffect EF_CRASHEARTH; next; - select("Don't worry!"); + select("Relax! I'm not a monster!"); mes "["+strcharinfo(0)+"]"; - mes "Don't worry! Mam. Are you alone? No other survivors?"; - unittalk getcharid(3),"Don't worry! Mam. Are you alone? No other survivors?"; + mes "Relax! I am Human. Are you alone? Anyone else here?"; + unittalk getcharid(3),strcharinfo(0)+" : Relax! I am Human. Are you alone? Anyone else here?"; next; - mes "[Hollgrehenn Destroyer]"; - mes "I'm the only survivor left"; - npctalk "I'm the only survivor left"; + mes "[Holgren the Destroyer]"; + mes "It's only me alive."; + npctalk "Holgren the Destroyer : It's only me alive."; next; - select("This is a very dangerous place."); + select("It's dangerous here..."); mes "["+strcharinfo(0)+"]"; - mes "This is a very dangerous place. You know the central passage? Do you think you can move... and get to a safer place?"; - unittalk getcharid(3),"This is a very dangerous place. You know the central passage? Do you think you can move... and get to a safer place?"; + mes "It's dangerous here. You know the way to the middle passage? Can you move?"; + unittalk getcharid(3),strcharinfo(0)+" : It's dangerous here. You know the way to the middle passage? Can you move?"; next; - mes "[Hollgrehenn Destroyer]"; - mes "Yes, I am able to move. I'll move for my baby's sake."; - npctalk "Yes, I am able to move. I'll move for my baby's sake."; + mes "[Holgren the Destroyer]"; + mes "Yes, I can move. I need to get out of here."; + npctalk "Holgren the Destroyer : Yes, I can move. I need to get out of here."; next; - select("Survive the road..."); + select("Be safe..."); mes "["+strcharinfo(0)+"]"; - mes "You and your baby will get out of here safely. But I'm sorry I can't help you more."; - unittalk getcharid(3),"You and your baby will get out of here safely. But I'm sorry I can't help you more."; + mes "Sorry, I can't go with you."; + unittalk getcharid(3),strcharinfo(0)+" : Sorry, I can't go with you."; next; - mes "[Hollgrehenn Destroyer]"; - mes "That's ok. Thank you for helping us. I'm good to go alone. Ah and good luck also."; - npctalk "That's ok. Thank you for helping us. I'm good to go alone. Ah and good luck also."; - donpcevent instance_npcname("Hollgrehenn Destroyer")+"::OnDisable"; + mes "[Holgren the Destroyer]"; + mes "It's ok. You've already done enough. I can help myself. Good luck to you too."; + npctalk "Holgren the Destroyer : It's ok. You've already done enough. I can help myself. Good luck to you too."; + close2; + donpcevent instance_npcname("Holgren the Destroyer")+"::OnDisable"; donpcevent instance_npcname("#ghmemorialmob03")+"::OnEnable"; - close; + end; } else { - mes "[Hollgrehenn Destroyer]"; - mes "Somebody help me, somebody help me, please"; + mes "[Holgren the Destroyer]"; + mes "You human?"; close; } OnInstanceInit: - donpcevent instance_npcname("Hollgrehenn Destroyer")+"::OnDisable"; - end; -OnDisable: - hideonnpc instance_npcname("Hollgrehenn Destroyer"); - end; -OnEnable: - hideoffnpc instance_npcname("Hollgrehenn Destroyer"); - end; -} - -1@gl_k,0,0,0 script #ghmemorialmob02 -1,{ -OnInstanceInit: - donpcevent instance_npcname("#ghmemorialmob02")+"::OnDisable"; - end; OnDisable: - disablenpc instance_npcname("#ghmemorialmob02"); + hideonnpc instance_npcname("Holgren the Destroyer"); end; OnEnable: - enablenpc instance_npcname("#ghmemorialmob02"); - donpcevent instance_npcname("#ghinstancewarp3")+"::OnEnable"; - donpcevent instance_npcname("#ghinstancewarp4")+"::OnEnable"; - set .@map$, instance_mapname("1@gl_k"); - set .@label$, instance_npcname("#ghmemorialmob02")+"::OnMyMobDead"; - mapannounce .@map$,"3 o'clock warp leading to zone 3 is now open.",bc_map,"0xFFFF00"; - areamonster .@map$,241,113,291,19,"Suffering Chamberlain",2466,12,.@label$; - areamonster .@map$,241,113,291,19,"Decayed Monk",2464,12,.@label$; - areamonster .@map$,227,217,291,135,"Suffering Chamberlain",2466,12,.@label$; - areamonster .@map$,227,217,291,135,"Decayed Monk",2464,12,.@label$; - end; -OnMyMobDead: - set .@map$, instance_mapname("1@gl_k"); - set .@label$, instance_npcname("#ghmemorialmob02")+"::OnMyMobDead"; - set .@mob_dead_num, 48 - mobcount(.@map$,.@label$); - if (.@mob_dead_num > 28) { - mapannounce .@map$, "Seems like Himmelmez drains the dead's souls. They must be destroyed.",bc_map,"0xFFFFFF"; - killmonster .@map$,.@label$; - donpcevent instance_npcname("Hollgrehenn Destroyer")+"::OnEnable"; - donpcevent instance_npcname("#ghmemorialmob02")+"::OnDisable"; - } + hideoffnpc instance_npcname("Holgren the Destroyer"); end; } // Tramp Mobs //============================================================ -1@gl_k,221,82,3 script Breathless Man#GHtramp1 849,4,4,{ +1@gl_k,221,82,3 script A dead man#GHtramp1 849,4,4,{ end; OnTouch: - set .@i, rand(1,10); + set .@i,rand(1,10); if (.@i == 1) set .@mobs,3; else if (.@i == 2) set .@mobs,4; else if (.@i == 3) set .@mobs,5; @@ -998,14 +979,12 @@ OnTouch: else set .@mobs,7; getmapxy(.@map$,.@x,.@y,1); specialeffect EF_VENOMDUST; - monster .@map$,.@x,.@y,"Muck Worm",2467,.@mobs,instance_npcname(strnpcinfo(0))+"::OnMyMobDead"; + monster .@map$,.@x,.@y,"Maggot",2467,.@mobs,instance_npcname(strnpcinfo(0))+"::OnMyMobDead"; disablenpc instance_npcname(strnpcinfo(0)); end; OnMyMobDead: end; OnInstanceInit: - donpcevent instance_npcname(strnpcinfo(0))+"::OnEnable"; - end; OnEnable: enablenpc instance_npcname(strnpcinfo(0)); end; @@ -1013,44 +992,48 @@ OnDisable: disablenpc instance_npcname(strnpcinfo(0)); end; } -1@gl_k,213,63,7 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp2 849,4,4 -1@gl_k,230,50,2 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp3 849,4,4 -1@gl_k,222,39,2 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp4 849,4,4 -1@gl_k,214,27,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp5 849,4,4 -1@gl_k,223,17,2 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp6 849,4,4 -1@gl_k,235,16,4 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp7 849,4,4 -1@gl_k,251,20,5 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp8 849,4,4 -1@gl_k,240,43,5 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp9 849,4,4 -1@gl_k,271,19,1 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp10 849,4,4 -1@gl_k,246,62,7 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp11 849,4,4 -1@gl_k,282,48,7 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp12 849,4,4 -1@gl_k,285,81,7 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp13 849,4,4 -1@gl_k,241,86,5 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp14 849,4,4 -1@gl_k,249,101,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp15 849,4,4 -1@gl_k,276,106,7 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp16 849,4,4 -1@gl_k,252,120,7 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp17 849,4,4 -1@gl_k,258,150,1 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp18 849,4,4 -1@gl_k,255,157,6 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp19 849,4,4 -1@gl_k,261,164,7 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp20 849,4,4 -1@gl_k,269,173,7 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp21 849,4,4 -1@gl_k,280,167,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp22 849,4,4 -1@gl_k,293,161,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp23 849,4,4 -1@gl_k,226,96,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp24 849,4,4 -1@gl_k,222,119,5 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp25 849,4,4 -1@gl_k,233,123,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp26 849,4,4 -2@gl_k,147,203,5 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp27 849,4,4 -2@gl_k,141,222,1 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp28 849,4,4 -2@gl_k,167,225,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp29 849,4,4 -2@gl_k,145,236,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp30 849,4,4 -2@gl_k,143,260,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp31 849,4,4 -2@gl_k,173,258,3 duplicate(Breathless Man#GHtramp1) Breathless Man#GHtramp32 849,4,4 +1@gl_k,213,63,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp2 849,4,4 +1@gl_k,230,50,2 duplicate(A dead man#GHtramp1) A dead man#GHtramp3 849,4,4 +1@gl_k,222,39,2 duplicate(A dead man#GHtramp1) A dead man#GHtramp4 849,4,4 +1@gl_k,214,27,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp5 849,4,4 +1@gl_k,223,17,2 duplicate(A dead man#GHtramp1) A dead man#GHtramp6 849,4,4 +1@gl_k,235,16,4 duplicate(A dead man#GHtramp1) A dead man#GHtramp7 849,4,4 +1@gl_k,251,20,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp8 849,4,4 +1@gl_k,240,43,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp9 849,4,4 +1@gl_k,271,19,1 duplicate(A dead man#GHtramp1) A dead man#GHtramp10 849,4,4 +1@gl_k,246,62,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp11 849,4,4 +1@gl_k,282,48,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp12 849,4,4 +1@gl_k,285,81,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp13 849,4,4 +1@gl_k,241,86,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp14 849,4,4 +1@gl_k,249,101,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp15 849,4,4 +1@gl_k,276,106,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp16 849,4,4 +1@gl_k,252,120,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp17 849,4,4 +1@gl_k,258,150,1 duplicate(A dead man#GHtramp1) A dead man#GHtramp18 849,4,4 +1@gl_k,255,157,6 duplicate(A dead man#GHtramp1) A dead man#GHtramp19 849,4,4 +1@gl_k,261,164,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp20 849,4,4 +1@gl_k,269,173,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp21 849,4,4 +1@gl_k,280,167,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp22 849,4,4 +1@gl_k,293,161,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp23 849,4,4 +1@gl_k,226,96,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp24 849,4,4 +1@gl_k,222,119,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp25 849,4,4 +1@gl_k,233,123,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp26 849,4,4 +2@gl_k,147,203,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp27 849,4,4 +2@gl_k,141,222,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp28 849,4,4 +2@gl_k,167,225,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp29 849,4,4 +2@gl_k,145,236,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp30 849,4,4 +2@gl_k,143,260,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp31 849,4,4 +2@gl_k,170,259,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp32 849,4,4 +2@gl_k,143,197,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp33 849,4,4 +2@gl_k,155,195,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp34 849,4,4 +2@gl_k,154,188,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp35 849,4,4 +2@gl_k,153,214,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp36 849,4,4 +2@gl_k,172,233,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp37 849,4,4 +2@gl_k,176,245,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp38 849,4,4 // Sector 3 Mobs //============================================================ 1@gl_k,0,0,0 script #ghmemorialmob03 -1,{ OnInstanceInit: - donpcevent instance_npcname("#ghmemorialmob03")+"::OnDisable"; - end; OnDisable: disablenpc instance_npcname("#ghmemorialmob03"); end; @@ -1058,29 +1041,29 @@ OnEnable: enablenpc instance_npcname("#ghmemorialmob03"); donpcevent instance_npcname("#ghinstancewarp5")+"::OnEnable"; donpcevent instance_npcname("#ghinstancewarp6")+"::OnEnable"; - set .@map$, instance_mapname("1@gl_k"); - set .@label$, instance_npcname("#ghmemorialmob03")+"::OnMyMobDead"; - mapannounce .@map$,"12 o'clock warp leading to the zone 4 was opened.",bc_map,"0xFFFF00"; - areamonster .@map$,17,259,53,180,"Decayed Guard",2468,11,.@label$; - areamonster .@map$,17,259,53,180,"Sharpshooter Ranger",2469,14,.@label$; - areamonster .@map$,62,281,73,186,"Decayed Guard",2468,11,.@label$; - areamonster .@map$,62,281,73,186,"Sharpshooter Ranger",2469,14,.@label$; - areamonster .@map$,74,251,109,224,"Decayed Guard",2468,11,.@label$; - areamonster .@map$,74,251,109,224,"Sharpshooter Ranger",2469,14,.@label$; - areamonster .@map$,108,281,231,234,"Decayed Guard",2468,11,.@label$; - areamonster .@map$,108,281,231,234,"Sharpshooter Ranger",2469,14,.@label$; + set .@map$,instance_mapname("1@gl_k"); + set .@label$,instance_npcname("#ghmemorialmob03")+"::OnMyMobDead"; + mapannounce .@map$,"A portal has appeared to the northwest.",bc_map,"0xFFFF00"; + areamonster .@map$,17,259,53,180,"Hungry Palace Guard",2468,11,.@label$; + areamonster .@map$,17,259,53,180,"Outraged Archer",2469,14,.@label$; + areamonster .@map$,62,281,73,186,"Hungry Palace Guard",2468,11,.@label$; + areamonster .@map$,62,281,73,186,"Outraged Archer",2469,14,.@label$; + areamonster .@map$,74,251,109,224,"Corrupted Palace Guard",2468,11,.@label$; + areamonster .@map$,74,251,109,224,"Wandering Archer",2469,14,.@label$; + areamonster .@map$,108,281,231,234,"Corrupted Palace Guard",2468,11,.@label$; + areamonster .@map$,108,281,231,234,"Wandering Archer",2469,14,.@label$; end; OnMyMobDead: - set .@map$, instance_mapname("1@gl_k"); - set .@label$, instance_npcname("#ghmemorialmob03")+"::OnMyMobDead"; - set .@mob_dead_num, 100 - mobcount(.@map$,.@label$); + set .@map$,instance_mapname("1@gl_k"); + set .@label$,instance_npcname("#ghmemorialmob03")+"::OnMyMobDead"; + set .@mob_dead_num,100 - mobcount(.@map$,.@label$); if (.@mob_dead_num > 85) { - mapannounce .@map$,"Himmelmez: Nice parry. I thought you were going to die slowly surrounded by the dead I summoned~",bc_map,"0xFFFFFF"; + mapannounce .@map$,"Himelmez: Not bad. Thought you would be dead by now by my creatures~",bc_map,"0xFFFFFF"; killmonster .@map$,.@label$; donpcevent instance_npcname("#GHMclear3")+"::OnEnable"; donpcevent instance_npcname("Heinrich#ghinstance4")+"::OnEnable"; - donpcevent instance_npcname("Himmelmez#ghinstance2")+"::OnEnable"; - donpcevent instance_npcname("Varmunt#ghinstance3")+"::OnEnable"; + donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnEnable"; + donpcevent instance_npcname("Varmundt#ghinstance3")+"::OnEnable"; donpcevent instance_npcname("#ghmemorialmob03")+"::OnDisable"; } end; @@ -1090,24 +1073,24 @@ OnMyMobDead: //============================================================ 1@gl_k,0,0,0 script #ghmemorialmob04 -1,{ OnInstanceInit: - donpcevent instance_npcname("#ghmemorialmob04")+"::OnDisable"; - end; OnDisable: disablenpc instance_npcname("#ghmemorialmob04"); end; OnEnable: enablenpc instance_npcname("#ghmemorialmob04"); - monster instance_mapname("1@gl_k"),150,258,"Root of Corruption",2475,1,instance_npcname("#ghmemorialmob04")+"::OnMyMobDead"; + monster instance_mapname("1@gl_k"),150,258,"Corrupted Soul",2475,1,instance_npcname("#ghmemorialmob04")+"::OnMyMobDead"; + unittalk $@mobid[0],"Grrrrrrhh~~~"; end; OnMyMobDead: - set .@map$, instance_mapname("1@gl_k"); + set .@map$,instance_mapname("1@gl_k"); if (mobcount(.@map$,instance_npcname("#ghmemorialmob04")+"::OnMyMobDead") < 1) { - mapannounce .@map$, "12 o'clock warp leading to the Chivalry's Second Floor is now open.",bc_map,"0xFFFF00"; + mapannounce .@map$,"Opening 2nd floor entrance towards 12 O'clock direction.",bc_map,"0xFFFF00"; donpcevent instance_npcname("#ghinstancewarp7")+"::OnEnable"; - donpcevent instance_npcname("Varmunt#ghinstance3")+"::OnTalk2"; + donpcevent instance_npcname("#ghinstancewarp14")+"::OnEnable"; + donpcevent instance_npcname("Varmundt#ghinstance3")+"::OnTalk2"; donpcevent instance_npcname("#effectGH01")+"::OnEnable"; donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnEnable"; - donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnEnable"; + donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnEnable"; donpcevent instance_npcname("#ghmemorialmob04")+"::OnDisable"; } end; @@ -1121,8 +1104,6 @@ OnTouch: donpcevent instance_npcname("#GHMclear3")+"::OnDisable"; end; OnInstanceInit: - donpcevent instance_npcname("#GHMclear3")+"::OnDisable"; - end; OnDisable: disablenpc instance_npcname("#GHMclear3"); end; @@ -1131,15 +1112,13 @@ OnEnable: initnpctimer; end; OnTimer2000: - mapannounce instance_mapname("1@gl_k"), "Himmelmez: You got me tempted to go to the 2nd floor, come to the entrance. I'm curious about how far your luck goes.",bc_map,"0xFFFFFF"; + mapannounce instance_mapname("1@gl_k"),"Himelmez: I'll wait for you at the north of the castle. I want to see you how lucky you are.",bc_map,"0xFFFFFF"; stopnpctimer; end; } 1@gl_k,0,0,0 script #controlGH3 -1,{ OnInstanceInit: - donpcevent instance_npcname("#controlGH3")+"::OnDisable"; - end; OnDisable: disablenpc instance_npcname("#controlGH3"); end; @@ -1148,34 +1127,34 @@ OnEnable: initnpctimer; end; OnTimer3000: - donpcevent instance_npcname("Himmelmez#ghinstance2")+"::OnTalk1"; + donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnTalk1"; end; OnTimer6000: - donpcevent instance_npcname("Himmelmez#ghinstance2")+"::OnTalk2"; + donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnTalk2"; end; OnTimer9000: - donpcevent instance_npcname("Himmelmez#ghinstance2")+"::OnTalk3"; + donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnTalk3"; end; OnTimer12000: donpcevent instance_npcname("Heinrich#ghinstance4")+"::OnTalk1"; end; OnTimer15000: - donpcevent instance_npcname("Himmelmez#ghinstance2")+"::OnTalk4"; + donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnTalk4"; end; OnTimer18000: - donpcevent instance_npcname("Varmunt#ghinstance3")+"::OnTalk1"; + donpcevent instance_npcname("Varmundt#ghinstance3")+"::OnTalk1"; end; OnTimer21000: donpcevent instance_npcname("Heinrich#ghinstance4")+"::OnTalk2"; end; OnTimer24000: - donpcevent instance_npcname("Himmelmez#ghinstance2")+"::OnTalk5"; + donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnTalk5"; end; OnTimer27000: - donpcevent instance_npcname("Himmelmez#ghinstance2")+"::OnTalk6"; + donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnTalk6"; end; OnTimer28000: - donpcevent instance_npcname("Himmelmez#ghinstance2")+"::OnDisable"; + donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnDisable"; end; OnTimer31000: donpcevent instance_npcname("Heinrich#ghinstance4")+"::OnTalk3"; @@ -1184,7 +1163,7 @@ OnTimer32000: donpcevent instance_npcname("Heinrich#ghinstance4")+"::OnDisable"; end; OnTimer35000: - mapannounce instance_mapname("1@gl_k"), "An eerie echo from the depths can be heard as you get closer.",bc_map,"0xFFFFFF"; + mapannounce instance_mapname("1@gl_k"),"An echoing comes from deep inside of the knight's shrine.",bc_map,"0xFFFFFF"; end; OnTimer38000: donpcevent instance_npcname("#ghmemorialmob04")+"::OnEnable"; @@ -1194,15 +1173,13 @@ OnTimer38000: } 1@gl_k,144,258,6 script Heinrich#ghinstance4 652,{ - mes "[Heinrich]"; - mes "Himmelmez... You made my men get killed and I will never forget that."; cutin "gl_heinrich1",2; + mes "[Heinrich]"; + mes "Himelmez... I will never forget what you've done to my men."; close2; cutin "gl_heinrich1",255; end; OnInstanceInit: - donpcevent instance_npcname("Heinrich#ghinstance4")+"::OnDisable"; - end; OnDisable: hideonnpc instance_npcname("Heinrich#ghinstance4"); end; @@ -1210,101 +1187,99 @@ OnEnable: hideoffnpc instance_npcname("Heinrich#ghinstance4"); end; OnTalk1: - npctalk "Himmelmez! I won't let you take even a single more step here."; + npctalk "Heinrich : Himelmez! We will not let you get away from us!"; end; OnTalk2: - npctalk "What... is this?!"; + npctalk "Heinrich : What... These are!"; end; OnTalk3: - npctalk "Varmunt Sir! Help the adventurers and I'll chase Himmelmez!"; + npctalk "Heinrich : Sir. Varmundt! Help those adventurers. I will go after Himelmez!"; end; } -1@gl_k,150,257,3 script Himmelmez#ghinstance2 650,{ - mes "[Himmelmez]"; - mes "No need to stare at me with so insecure eyes. Soon they'll become relaxed..."; +1@gl_k,150,257,3 script Himelmez#ghinstance2 650,{ cutin "gl_himel2",2; + mes "[Himelmez]"; + mes "Don't look at me nervous like that."; + mes "It will be over soon..."; close2; cutin "gl_himel2",255; end; OnInstanceInit: - donpcevent instance_npcname("Himmelmez#ghinstance2")+"::OnDisable"; - end; OnDisable: - hideonnpc instance_npcname("Himmelmez#ghinstance2"); + hideonnpc instance_npcname("Himelmez#ghinstance2"); end; OnEnable: - hideoffnpc instance_npcname("Himmelmez#ghinstance2"); + hideoffnpc instance_npcname("Himelmez#ghinstance2"); end; OnTalk1: - npctalk "What an awfully lucky, I flew all the way over here and just one of them is really powerful."; + npctalk "Himelmez : Guess you are either lucky or powerful, to make it this far."; end; OnTalk2: - npctalk "But it doesn't matter to me."; + npctalk "Himelmez : But, it doesn't matter."; end; OnTalk3: - npctalk "Now, all of you will die."; + npctalk "Himelmez : You will all die here."; end; OnTalk4: - npctalk "Hahaha, so you guys thought I would come alone?"; + npctalk "Himelmez : Ha ha ha, worry about yourself. You think I am alone here?"; end; OnTalk5: - npctalk "This is my new toy to keep you at my feet. Why don't you guys play while I entertain?"; + npctalk "Himelmez : I will go on my way while my new toy entertains you."; end; OnTalk6: - npctalk "Sincerely~, If I am given the opportunity I'd like to meet you again, Heinrich."; + npctalk "Himelmez : Fare well~, hope to see you again sometime, Heinrich."; end; } -1@gl_k,156,259,3 script Varmunt#ghinstance3 654,{ +1@gl_k,156,259,3 script Varmundt#ghinstance3 654,{ if (checkquest(12318,HUNTING) == 2) { - if (checkquest(12319,HUNTING) == -1) { - mes "[Varmunt]"; - mes "There's something unusual about this thing's aura. Maybe someday we will be able to understand what is behind all of this."; - cutin "gl_barmund1",2; - getitem 6608,1; //Coagulated Spell + cutin "gl_barmund1",2; + mes "[Varmundt]"; + mes "This item has extraordinary aura with it. Can be very useful for someone special."; + erasequest 12318; + if (checkquest(12319,HUNTING) == -1) setquest 12319; - close2; - cutin "gl_barmund1",255; - end; - } + setquest 12320; + erasequest 12320; + getitem 6607,1; //Temporal_Crystal + getitem 6608,1; //Coagulated_Spell + getexp 250000,250000; + close2; + cutin "gl_barmund1",255; + end; } - mes "[Varmunt]"; - mes "Even after all this time, it is impossible to prevent from the will of the Transcendent."; cutin "gl_barmund1",2; + mes "[Varmundt]"; + mes "I guess this is it. Is it impossible to stop the time traveler's will?! A portal seems to have appeared to the north."; close2; cutin "gl_barmund2",255; end; OnInstanceInit: - donpcevent instance_npcname("Varmunt#ghinstance3")+"::OnDisable"; - end; OnDisable: - hideonnpc instance_npcname("Varmunt#ghinstance3"); + hideonnpc instance_npcname("Varmundt#ghinstance3"); end; OnEnable: - hideoffnpc instance_npcname("Varmunt#ghinstance3"); + hideoffnpc instance_npcname("Varmundt#ghinstance3"); end; OnTalk1: - npctalk "Heinrich Sir! Something unknown holds an inexplicably powerful force!"; + npctalk "Varmundt : Sir. Heinrich! I sense something strange and strong coming!"; end; OnTalk2: - npctalk "From the monster I picked up some great stuff. People who are interested, talk to me."; + npctalk "Varmundt : I collected some items dropped from its body. You can take it from me."; end; } // Floor 2 //============================================================ 2@gl_k,148,67,1 script Heinrich#ghinstance5 652,{ - mes "[Heinrich]"; - mes "Himmelmez's blocking spells"; - mes "are everywhere around here..."; cutin "gl_heinrich1",2; + mes "[Heinrich]"; + mes "Himelmez's closed space covers everywhere..."; close2; cutin "gl_heinrich1",255; end; OnInstanceInit: - donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnDisable"; - end; OnDisable: hideonnpc instance_npcname("Heinrich#ghinstance5"); end; @@ -1312,113 +1287,110 @@ OnEnable: hideoffnpc instance_npcname("Heinrich#ghinstance5"); end; OnTalk1: - npctalk "These things have never been in the castle!"; + npctalk "Heinrich : This structure was not in the castle before!"; end; OnTalk2: - npctalk "Trying to break this power with common weapons doesn't work. I tried it."; + npctalk "Heinrich : We tried to break it down but it's really strong."; end; OnTalk3: - npctalk "It is really unforgivable."; + npctalk "Heinrich : It is inexcusable behavior."; end; OnTalk4: - npctalk "I, who already was a subordinate of genocide. How much more in the future..."; + npctalk "Heinrich : I already exterminated all my soldiers and maybe more..."; end; OnTalk5: - npctalk "..."; + npctalk "Heinrich : ..."; end; } -2@gl_k,151,71,7 script Varmunt#ghinstance4 654,{ - mes "[Varmunt]"; - mes "Why am I doing this again? Doesn't seem like the first time. I've seen this place repeatedly dozens of times in my dreams. This feeling..."; +2@gl_k,151,71,7 script Varmundt#ghinstance4 654,{ cutin "gl_barmund1",2; + mes "[Varmundt]"; + mes "How many times I do this job. In my dream, I did it over and over again..."; close2; cutin "gl_barmund1",255; end; OnInstanceInit: - donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnDisable"; - end; OnDisable: - hideonnpc instance_npcname("Varmunt#ghinstance4"); + hideonnpc instance_npcname("Varmundt#ghinstance4"); end; OnEnable: - hideoffnpc instance_npcname("Varmunt#ghinstance4"); + hideoffnpc instance_npcname("Varmundt#ghinstance4"); + end; +OnTalk1: + npctalk "Varmundt : This is Himelmez's closed space. We blocked each area and aisle."; end; OnTalk2: - npctalk "Himmelmez's enchantment has completely blocked the passage to each section."; + npctalk "Varmundt : Step back. Let me try to dispel the magic."; end; OnTalk3: - npctalk "Get out of the way for a moment. I'll try to somehow break the spell with magical powers."; + npctalk "Varmundt : I think that part of closed space is broke down."; end; OnTalk4: - npctalk "The enchantment seems to be broken."; + npctalk "Varmundt : I have never seen this closed space."; end; OnTalk5: - npctalk "I've never seen this spell before."; + npctalk "Varmundt : Himelmez hides stone chains in undead people's body."; end; OnTalk6: - npctalk "Himmelmez doesn't use a seal on a person's body to turn it into an undead."; + npctalk "Varmundt : Maybe this closed space is maintained with these stone chains."; end; OnTalk7: - npctalk "She uses enchantment stones.This way, the spell is probably maintained."; + npctalk "Varmundt : If you want to break it, you have to kill one of those who have a stone chain."; end; OnTalk8: - npctalk "We should kill the people who have the enchantment stones to break the spell."; + npctalk "Varmundt : But, we can't recognize who has a stone chain so, we have to purify everything."; end; OnTalk9: - npctalk "However, we can't identify them. The purification can only be done randomly."; + npctalk "Varmundt : Commander..."; end; OnTalk10: - npctalk "Commandant..."; + npctalk "Varmundt : Commander! You need to be strong."; end; OnTalk11: - npctalk "Commandant, it seems too loose."; + npctalk "Varmundt : Our enemy is not human."; end; OnTalk12: - npctalk "We are related to all these people, not just a few."; + npctalk "Varmundt : Even though you deny it, they'll never turn back to human."; end; OnTalk13: - npctalk "We can't deny that it's not their fault for what is going on."; + npctalk "Varmundt : Well, let's go then."; end; OnTalk14: - npctalk "Well, let's do it then."; + npctalk "Varmundt : And you guys, just take a break and follow us."; end; OnTalk15: - npctalk "You guys are of a great help. Try to follow us."; + npctalk "Varmundt : It could be hard fighting so, stay strong."; end; OnTalk16: - npctalk "There can be a tough fight. Hold on, and it would be nice to eat something."; - end; -OnTalk17: - npctalk "Guys. It is time to depart, Heinrich Sir."; + npctalk "Varmundt : Ok, it's time to begin Heinrich."; end; } 2@gl_k,150,67,0 script #effectGH01 111,10,10,{ end; OnTouch: - specialeffect EF_BASH; - donpcevent instance_npcname("#controlGH4")+"::OnEnable"; - donpcevent instance_npcname("#effectGH01")+"::OnDisable"; + if (.touch) { + set .touch,0; + specialeffect EF_BASH; + donpcevent instance_npcname("#controlGH4")+"::OnEnable"; + } end; OnEffect: specialeffect EF_LORD; end; OnInstanceInit: - donpcevent instance_npcname("#effectGH01")+"::OnDisable"; - end; OnDisable: disablenpc instance_npcname("#effectGH01"); end; OnEnable: enablenpc instance_npcname("#effectGH01"); + set .touch,1; //Only activate OnTouch once end; } 2@gl_k,0,0,0 script #controlGH4 -1,{ OnInstanceInit: - donpcevent instance_npcname("#controlGH4")+"::OnDisable"; - end; OnDisable: disablenpc instance_npcname("#controlGH4"); end; @@ -1431,36 +1403,35 @@ OnTimer3000: donpcevent instance_npcname("#ghmemorialmob05")+"::OnEnable"; end; OnTimer6000: - donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk2"; + donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk1"; end; OnTimer9000: donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnTalk2"; end; OnTimer12000: - donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk3"; + donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk2"; end; OnTimer15000: - donpcevent instance_npcname("#effectGH01")+"::OnEnable"; donpcevent instance_npcname("#effectGH01")+"::OnEffect"; end; OnTimer18000: donpcevent instance_npcname("#effectGH01")+"::OnDisable"; - donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk4"; + donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk3"; end; OnTimer21000: - donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk5"; + donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk4"; end; OnTimer24000: - donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk6"; + donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk5"; end; OnTimer27000: - donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk7"; + donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk6"; end; OnTimer30000: - donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk8"; + donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk7"; end; OnTimer33000: - donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk9"; + donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk8"; end; OnTimer36000: donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnTalk3"; @@ -1469,38 +1440,38 @@ OnTimer39000: donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnTalk4"; end; OnTimer42000: - donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk10"; + donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk9"; end; OnTimer45000: - donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk11"; + donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk10"; end; OnTimer48000: - donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk12"; + donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk11"; end; OnTimer51000: - donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk13"; + donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk12"; end; OnTimer54000: donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnTalk5"; end; OnTimer57000: - donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk14"; + donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk13"; end; OnTimer60000: - donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk15"; + donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk14"; end; OnTimer63000: - donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk16"; + donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk15"; end; OnTimer66000: - donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnTalk17"; + donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk16"; end; OnTimer69000: - mapannounce instance_mapname("2@gl_k"), "9 o'clock positioned warp leading to the 1st zone has been opened. Move from the central hallway. A being with an evil aura seems to be appearing in this region.",bc_map,"0xFFFF00"; + mapannounce instance_mapname("2@gl_k"),"A portal to the west has opened in the central hallway.",bc_map,"0xFFFF00"; donpcevent instance_npcname("#ghinstancewarp8")+"::OnEnable"; donpcevent instance_npcname("#ghinstancewarp9")+"::OnEnable"; donpcevent instance_npcname("#ghmemorialmob06")+"::OnEnable"; - donpcevent instance_npcname("Varmunt#ghinstance4")+"::OnDisable"; + donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnDisable"; donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnDisable"; end; OnTimer70000: @@ -1511,47 +1482,45 @@ OnTimer70000: 2@gl_k,0,0,0 script #ghmemorialmob05 -1,{ OnInstanceInit: - donpcevent instance_npcname("#ghmemorialmob05")+"::OnDisable"; - end; OnDisable: disablenpc instance_npcname("#ghmemorialmob05"); end; OnEnable: enablenpc instance_npcname("#ghmemorialmob05"); - set .@map$, instance_mapname("2@gl_k"); - set .@label$, instance_npcname("#ghmemorialmob05")+"::OnMyMobDead"; - areamonster .@map$,124,20,31,162,"Decayed Guard",2468,8,.@label$; - areamonster .@map$,124,20,31,162,"Sharpshooter Ranger",2469,8,.@label$; - areamonster .@map$,124,20,31,162,"Fallen Abyss Knight",2470,8,.@label$; - areamonster .@map$,124,20,31,162,"Suffering Khalitzburg",2471,8,.@label$; - areamonster .@map$,124,20,31,162,"Swollen Knight",2472,8,.@label$; + set .@map$,instance_mapname("2@gl_k"); + set .@label$,instance_npcname("#ghmemorialmob05")+"::OnMyMobDead"; + areamonster .@map$,124,20,31,162,"Corrupted Palace Guard",2468,8,.@label$; + areamonster .@map$,124,20,31,162,"Archer of Death",2469,8,.@label$; + areamonster .@map$,124,20,31,162,"Corrupted Abysmal Knight",2470,8,.@label$; + areamonster .@map$,124,20,31,162,"Suffered Khalitzburg",2471,8,.@label$; + areamonster .@map$,124,20,31,162,"Bloody Knight",2472,8,.@label$; set .MyMobs,80; end; OnMyMobDead: - set .@map$, instance_mapname("2@gl_k"); - set .MyMobs, .MyMobs-1; + set .@map$,instance_mapname("2@gl_k"); + set .MyMobs,.MyMobs-1; if (.MyMobs == 0) { - mapannounce .@map$, "A being with an evil aura seems to be appearing in this region.",bc_map,"0xFFFF00"; + mapannounce .@map$,"Evil Forces are appearing in this area.",bc_map,"0xFFFF00",FW_NORMAL,18; donpcevent instance_npcname("#ghmemorialmob06")+"::OnDisable2"; donpcevent instance_npcname("#ghmemorialmob07")+"::OnEnable"; donpcevent instance_npcname("#ghmemorialmob05")+"::OnDisable"; } else { - set .@label$, instance_npcname("#ghmemorialmob05")+"::OnMyMobDead"; + set .@label$,instance_npcname("#ghmemorialmob05")+"::OnMyMobDead"; switch(rand(5)) { case 0: - areamonster .@map$,124,20,31,162,"Decayed Guard",2468,1,.@label$; + areamonster .@map$,124,20,31,162,"Corrupted Palace Guard",2468,1,.@label$; break; case 1: - areamonster .@map$,124,20,31,162,"Sharpshooter Ranger",2469,1,.@label$; + areamonster .@map$,124,20,31,162,"Archer of Death",2469,1,.@label$; break; case 2: - areamonster .@map$,124,20,31,162,"Fallen Abyss Knight",2470,1,.@label$; + areamonster .@map$,124,20,31,162,"Corrupted Abysmal Knight",2470,1,.@label$; break; case 3: - areamonster .@map$,124,20,31,162,"Suffering Khalitzburg",2471,1,.@label$; + areamonster .@map$,124,20,31,162,"Suffered Khalitzburg",2471,1,.@label$; break; case 4: - areamonster .@map$,124,20,31,162,"Swollen Knight",2472,1,.@label$; + areamonster .@map$,124,20,31,162,"Bloody Knight",2472,1,.@label$; break; } } @@ -1560,8 +1529,6 @@ OnMyMobDead: 2@gl_k,0,0,0 script #ghmemorialmob06 -1,{ OnInstanceInit: - donpcevent instance_npcname("#ghmemorialmob06")+"::OnDisable"; - end; OnDisable: disablenpc instance_npcname("#ghmemorialmob06"); end; @@ -1577,8 +1544,8 @@ OnSpawn: initnpctimer; end; OnTimer90000: - set .@map$, instance_mapname("2@gl_k"); - set .@label$, instance_npcname("#ghmemorialmob05")+"::OnMyMobDead"; + set .@map$,instance_mapname("2@gl_k"); + set .@label$,instance_npcname("#ghmemorialmob05")+"::OnMyMobDead"; setarray .@c[0], 114,141,118,139, 128,83,131,78, @@ -1587,12 +1554,12 @@ OnTimer90000: 58,83,63,78, 69,138,80,127, 34,143,39,138; - for(set .@i,0; .@i 0) { + mes "[Hugin's Buttler]"; + mes "Take these Temporal Boots. We can upgrade your Temporal Boots with 5 Temporal Crystals."; + delitem 6607,1; //Temporal_Crystal + getitem 2499,1; //Temporal_Boots + close; + } + mes "[Hugin's Buttler]"; + mes "You need more Temporal Crystals. Come back when you get some more Temporal Crystals during your travel through Old Glast Heim."; + close; + case 3: + set .@part,EQI_SHOES; + if (!getequipisequiped(.@part)) { + mes "[Hugin's Buttler]"; + mes "Only the item you are wearing can be upgraded."; + mes "Wear the ^0000FFTemporal Boots^000000 you want to upgrade, and then talk to me once again."; + close; + } + if (isequipped(2499)) { + if (countitem(6607) > 4) { + mes "[Hugin's Buttler]"; + mes "You can trade ^0000FF1 Temporal Boots and 5 Temporal Crystals^000000 for 1 of the following items. ^FF0000Previous refine rate will not be retained with these new ones^000000."; + next; + setarray .@type$[0],"Strength","Intelligence","Agility","Vitality","Dexterity","Lucky"; + setarray .@equip_type[0],22000,22001,22002,22003,22004,22005; + set .@select,select("Cancel","Str Boots","Int Boots","Agi Boots","Vit Boots","Dex Boots","Luk Boots"); + switch (.@select) { + case 1: + mes "[Hugin's Buttler]"; + mes "Come back anytime you want."; + close; + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + mes "[Hugin's Buttler]"; + mes "Are you sure about buying Temporal ^FF0000"+.@type$[.@select-2]+"^000000 Boots? There's no refunds."; + next; + if (select("Think again","Yes, I am sure.") == 2) { + mes "[Hugin's Buttler]"; + mes "The boots have been upgraded as you want."; + delequip .@part; + delitem 6607,5; //Temporal_Crystal + getitem .@equip_type[.@select-2],1; //Temporal_STR_Boots,Temporal_INT_Boots,Temporal_AGI_Boots,Temporal_VIT_Boots,Temporal_DEX_Boots,Temporal_LUK_Boots + close; + } + mes "[Hugin's Buttler]"; + mes "Ok, come back again when you are sure."; + close; + } + } + mes "[Hugin's Buttler]"; + mes "Not enough Temporal Crystals. You need 5 Temporal Crystals to upgrade your item."; + close; + } + mes "[Hugin's Buttler]"; + mes "You are not wearing the Temporal Boots. Talk to me once you're wearing them."; + close; + } +} + +// Enchant and Socket NPC +//============================================================ +glast_01,212,273,4 script Hugin's Magic Master 66,{ + disable_items; + if (MaxWeight - Weight < 1000) { + mes "Your bag is too heavy. Reduce some weight and come back."; + close; + } + mes "[Hugin's Magic Master]"; + mes "So you came to enchant the Temporal Boots. Be aware that Boots with sockets cannot be enchanted, and this upgrade is only possible for the boots you are wearing."; + next; + if (select("How does the enchanting work?","Give effect to my Temporal Boots") == 1) { + mes "[Hugin's Magic Master]"; + mes "You can keep obtain ^0000FFCoagulated Spell^000000 through your travel times."; + next; + mes "[Hugin's Magic Master]"; + mes "I can enchant your Temporal Boots items depands on the amount of that item. ^0000FFNot normal type boots^000000. Only possible for those 6 expanded version boots."; + next; + mes "[Hugin's Magic Master]"; + mes "But, once you put a socket into the item, you cannot enchant it. Make sure to remember that."; + next; + mes "[Hugin's Magic Master]"; + mes "I don't give out effect randomly. You can pick which effect you want for the item."; + next; + mes "[Hugin's Magic Master]"; + mes "Of course it is for 4th slot only. You can have small effect at the start, and then the effect gets stronger."; + next; + mes "[Hugin's Magic Master]"; + mes "To get to the final option upgrade, it will require way more Coagulated Spell items. Don't forget that."; + next; + mes "[Hugin's Magic Master]"; + mes "Once the 4th slot completes the best option, you get to have a random bonus effect to the 3rd slot. With.. certain payment~"; + next; + mes "[Hugin's Magic Master]"; + mes "Also, you don't lose the item even if the enchant fails, we also guarantee keeping card and refine rate. But we can't initialize enchanting."; + next; + mes "[Hugin's Magic Master]"; + mes "Phew..."; + mes "Anyways, that's all for basic enchant information. Now you should see for yourself."; + close; + } + set .@part,EQI_SHOES; + if (!getequipisequiped(.@part)) { + mes "[Hugin's Magic Master]"; + mes "Are you wearing the item?"; + close; + } + set .@equip_id,getequipid(.@part); + set .@equip_name$,getequipname(.@part); + set .@card3,getequipcardid(.@part,3); + setarray .@enchant1st[0],4808,4832,4814,4741,4869,4752; //Fighting_Spirit4,Expert_Archer1,Spell2,Vitality2,DelayafterAttack1Lv,Luck3 + setarray .@enchant2nd[0],4820,4833,4813,4742,4872,4753; //Fighting_Spirit5,Expert_Archer2,Spell3,Vitality3,DelayafterAttack2Lv,Luck4 + setarray .@enchant3rd[0],4821,4834,4812,4861,4873,4754; //Fighting_Spirit6,Expert_Archer3,Spell4,MHP1,DelayafterAttack3Lv,Luck5 + setarray .@enchant4th[0],4822,4835,4826,4862,4881,4755; //Fighting_Spirit7,Expert_Archer4,Spell5,MHP2,DelayafterAttack4Lv,Luck6 + setarray .@enchant_cost[0],1,4,15,30,10; + switch (.@equip_id) { + case 22000: //Temporal_STR_Boots + case 22001: //Temporal_INT_Boots + case 22002: //Temporal_AGI_Boots + case 22003: //Temporal_VIT_Boots + case 22004: //Temporal_DEX_Boots + case 22005: //Temporal_LUK_Boots + if (!.@card3) { //4th slot 1st try enchanting + set .@cost,.@enchant_cost[0]; + set .@number,1; + mes "[Hugin's Magic Master]"; + mes "Want to enchant ^0000FF"+.@equip_name$+"^000000?"; + mes "For the "+.@number+"st enchanting, you need ^0000FF"+.@cost+"^000000 Coagulated Spell items."; + next; + set .@select,select("Quit","Fighting Spirit","Archery","Spell","Vitality","Attack Speed","Lucky"); + switch (.@select) { + case 1: + mes "[Hugin's Magic Master]"; + mes "Ok, come back when you are ready."; + close; + case 2: + set .@enchant,.@enchant1st[.@select-2]; + break; + case 3: + set .@enchant,.@enchant1st[.@select-2]; + break; + case 4: + set .@enchant,.@enchant1st[.@select-2]; + break; + case 5: + set .@enchant,.@enchant1st[.@select-2]; + break; + case 6: + set .@enchant,.@enchant1st[.@select-2]; + break; + case 7: + set .@enchant,.@enchant1st[.@select-2]; + break; + } + } else { + if (.@card3 == .@enchant1st[0] || .@card3 == .@enchant1st[1] || .@card3 == .@enchant1st[2] || + .@card3 == .@enchant1st[3] || .@card3 == .@enchant1st[4] || .@card3 == .@enchant1st[5]) { + set .@cost,.@enchant_cost[1]; + set .@number,2; + } else if (.@card3 == .@enchant2nd[0] || .@card3 == .@enchant2nd[1] || .@card3 == .@enchant2nd[2] || + .@card3 == .@enchant2nd[3] || .@card3 == .@enchant2nd[4] || .@card3 == .@enchant2nd[5]) { + set .@cost,.@enchant_cost[2]; + set .@number,3; + } else if (.@card3 == .@enchant3rd[0] || .@card3 == .@enchant3rd[1] || .@card3 == .@enchant3rd[2] || + .@card3 == .@enchant3rd[3] || .@card3 == .@enchant3rd[4] || .@card3 == .@enchant3rd[5]) { + set .@cost,.@enchant_cost[3]; + set .@number,4; + } else if (.@card3 == .@enchant4th[0] || .@card3 == .@enchant4th[1] || .@card3 == .@enchant4th[2] || + .@card3 == .@enchant4th[3] || .@card3 == .@enchant4th[4] || .@card3 == .@enchant4th[5]) { + set .@card2,getequipcardid(.@part,2); + set .@cost,.@enchant_cost[4]; + if (.@card2) { + mes "[Hugin's Magic Master]"; //Custom text + mes "Your shoes have reached the maximum option to enchant."; + mes "Please bring me a new one if you want me to enchant again."; + close; + } + //3rd slot random enchanting + switch (.@card3) { + case 4822: //Fighting_Spirit7 + case 4835: //Expert_Archer4 + case 4826: //Spell5 + case 4862: //MHP2 + case 4881: //DelayafterAttack4Lv + case 4755: //Luck6 + set .@enchant,callfunc("F_Rand",4875,4876,4877,4878,4879,4880); //Bear's_Power,Runaway_Magic,Speed_Of_Light,Muscle_Fool,Hawkeye,Lucky_Day + mes "[Hugin's Magic Master]"; //Custom text + mes "Seems you already completed the best upgrade option in your 4th slot."; + mes "For that I can give a random bonus effect to your 3rd slot. And of course, with certain payment..."; + next; + mes "[Hugin's Magic Master]"; + mes "Enchanting ^0000FF"+.@equip_name$+"^000000's 3rd slot for obtaining a random bonus effect. Requires ^0000FF"+.@cost+"^000000 Coagulated Spell items."; + next; + if (select("Quit","Effect Upgrade!") == 1) { + mes "[Hugin's Magic Master]"; + mes "Ok, come back when you are ready."; + close; + } + if (countitem(6608) < .@cost) { + mes "[Hugin's Magic Master]"; + mes "Hmm, you are missing "+(.@cost - countitem(6608))+" Coagulated Spell items. Go get more, and then we can talk about more enchants."; + close; + } + specialeffect2 EF_REPAIRWEAPON; + set .@equip_refine,getequiprefinerycnt(.@part); + delitem 6608,.@cost; //Coagulated_Spell + delequip .@part; + mes "[Hugin's Magic Master]"; + mes "This is it! This special stone is now yours."; + mes "Hahaha... I am really the only master of these things."; + mes "Thank you for believing in me."; + getitem2 .@equip_id,1,1,.@equip_refine,0,0,0,.@enchant,.@card3; + close; + } + } + //4th slot 2nd try enchanting + if (.@card3 == .@enchant1st[0]) + set .@enchant,.@enchant2nd[0]; + else if (.@card3 == .@enchant1st[1]) + set .@enchant,.@enchant2nd[1]; + else if (.@card3 == .@enchant1st[2]) + set .@enchant,.@enchant2nd[2]; + else if (.@card3 == .@enchant1st[3]) + set .@enchant,.@enchant2nd[3]; + else if (.@card3 == .@enchant1st[4]) + set .@enchant,.@enchant2nd[4]; + else if (.@card3 == .@enchant1st[5]) + set .@enchant,.@enchant2nd[5]; + //4th slot 3rd try enchanting + if (.@card3 == .@enchant2nd[0]) + set .@enchant,.@enchant3rd[0]; + else if (.@card3 == .@enchant2nd[1]) + set .@enchant,.@enchant3rd[1]; + else if (.@card3 == .@enchant2nd[2]) + set .@enchant,.@enchant3rd[2]; + else if (.@card3 == .@enchant2nd[3]) + set .@enchant,.@enchant3rd[3]; + else if (.@card3 == .@enchant2nd[4]) + set .@enchant,.@enchant3rd[4]; + else if (.@card3 == .@enchant2nd[5]) + set .@enchant,.@enchant3rd[5]; + //4th slot 4th try enchanting + if (.@card3 == .@enchant3rd[0]) + set .@enchant,.@enchant4th[0]; + else if (.@card3 == .@enchant3rd[1]) + set .@enchant,.@enchant4th[1]; + else if (.@card3 == .@enchant3rd[2]) + set .@enchant,.@enchant4th[2]; + else if (.@card3 == .@enchant3rd[3]) + set .@enchant,.@enchant4th[3]; + else if (.@card3 == .@enchant3rd[4]) + set .@enchant,.@enchant4th[4]; + else if (.@card3 == .@enchant3rd[5]) + set .@enchant,.@enchant4th[5]; + mes "[Hugin's Magic Master]"; + mes "Enchanting ^0000FF"+.@equip_name$+"^000000's 4th slot as ^0000FF"+.@number+"^000000 level effect. Requires ^0000FF"+.@cost+"^000000 Coagulated Spell items."; + next; + if (select("Quit","Effect Upgrade!") == 1) { + mes "[Hugin's Magic Master]"; + mes "Ok, come back when you are ready."; + close; + } + if (countitem(6608) < .@cost) { + mes "[Hugin's Magic Master]"; + mes "Hmm, you are missing "+(.@cost - countitem(6608))+" Coagulated Spell items. Go get more, and then we can talk about more enchants."; + close; + } + } + break; + default: + mes "[Hugin's Magic Master]"; + mes "This is not the right item for this enchant."; + mes "Remember, only those 6 types of Temporal Boots are available for enchanting."; + close; + } + specialeffect2 EF_REPAIRWEAPON; + set .@equip_refine,getequiprefinerycnt(.@part); + delitem 6608,.@cost; //Coagulated_Spell + delequip .@part; + mes "[Hugin's Magic Master]"; + mes "Trying for enchant number ^630000"+.@number+"^000000."; + getitem2 .@equip_id,1,1,.@equip_refine,0,0,0,0,.@enchant; + close; +} + +glast_01,210,270,0 script Hugin's Craftsman 726,{ + disable_items; + if (MaxWeight - Weight < 1000) { + mes "Your bag is too heavy. Reduce some weight and come back."; + close; + } + mes "[Hugin's Craftsman]"; + mes "That Magic Master always says that enchanting Temporal Boots is the best. But, I think quite different."; + next; + mes "[Hugin's Craftsman]"; + mes "I think putting a slot into the item would be the best. Even with some risk of failing."; + next; + mes "[Hugin's Craftsman]"; + mes "Bring me ^0000FF5 Temporal Crystals^000000, and I will try to put a slot into your advanced Temporal Boots. But, it's possible to ^FF0000fail and break the item^000000. Is that ok?"; + next; + if (select("Cancel","Take the risk and try to add a slot") == 1) { + mes "[Hugin's Craftsman]"; + mes "Ok, come back anytime you want."; + close; + } + set .@part,EQI_SHOES; + if (!getequipisequiped(.@part)) { + mes "[Hugin's Craftsman]"; + mes "Are you sure you are wearing the item?"; + close; + } + set .@equip_id,getequipid(.@part); + switch (.@equip_id) { + case 22000: //Temporal_STR_Boots + case 22001: //Temporal_INT_Boots + case 22002: //Temporal_AGI_Boots + case 22003: //Temporal_VIT_Boots + case 22004: //Temporal_DEX_Boots + case 22005: //Temporal_LUK_Boots + mes "[Hugin's Craftsman]"; + mes "And ^FF0000all enchant or refine rates will be lost if you fail this.^000000"; + mes "Still want to risk it?"; + next; + if (select("Cancel","I am ok with it!") == 1) { + mes "[Hugin's Craftsman]"; + mes "Ok, come back anytime you want."; + close; + } + mes "[Hugin's Craftsman]"; + mes "Once again, ^FF0000That Magic Master won't enchant any item with a slot.^000000"; + mes "Still want to proceed?"; + next; + if (select("Cancel","I understand. Try to slot it.") == 1) { + mes "[Hugin's Craftsman]"; + mes "Ok, come back anytime you want."; + close; + } + if (countitem(6607) < 5) { + mes "[Hugin's Craftsman]"; + mes "You must bring ^0000FF5 Temporal Crystal items^000000. Nothing is free you know..."; + close; + } + set .@random,rand(1,100); + if (.@random <= 80) { //Custom rates + mes "[Hugin's Craftsman]"; + mes "Arrggg, we failed. Better luck next time."; + specialeffect2 EF_PHARMACY_FAIL; + delitem 6607,5; //Temporal_Crystal + delequip .@part; + close; + } + mes "[Hugin's Craftsman]"; //Custom text + mes "Yuhuu~ we succeed. Here you are..."; + mes "A slot has been added to your advanced Temporal Boots."; + mes "Thank you for believing in me."; + specialeffect2 EF_PHARMACY_OK; + delitem 6607,5; //Temporal_Crystal + delequip .@part; + if (.@equip_id == 22000) { + getitem 22006,1; //Temporal_STR_Boots_ + } else if (.@equip_id == 22001) { + getitem 22009,1; //Temporal_INT_Boots_ + } else if (.@equip_id == 22002) { + getitem 22010,1; //Temporal_AGI_Boots_ + } else if (.@equip_id == 22003) { + getitem 22007,1; //Temporal_VIT_Boots_ + } else if (.@equip_id == 22004) { + getitem 22008,1; //Temporal_DEX_Boots_ + } else if (.@equip_id == 22005) { + getitem 22011,1; //Temporal_LUK_Boots_ + } + close; + default: + mes "[Hugin's Craftsman]"; + mes "This is not it! We need ^0000FFAdvanced Temporal Boots^000000 items! The item ^0000FFwith a stat effect and without a slot^000000!"; + close; + } +} + +// Glast Heim Nightmare Mode :: nightmare_gh +//============================================================ +glast_01,195,273,4 script Hugin's Follower#n_gh 123,{ + mes "[Hugin's Follower]"; + mes "I can't move between time and dimension like a master Hugin but I can pretend to move."; + next; + mes "[Hugin's Follower]"; + mes "What about this Glast Heim is born with powerful dark force?"; + next; + if (select("I don't care","That is interesting, please tell me more") == 1) { + mes "[Hugin's Follower]"; + mes "Well~ If you are not interested in it, never mind."; + close; + } + mes "[Hugin's Follower]"; + mes "As learning ability from Hugin, I just find out the path to Old Glast Heim of more powerful dark force."; + next; + mes "[Hugin's Follower]"; + mes "How is it? Do you want to explore there?"; + next; + if (select("No, I want to stop it","I really want to do that!") == 1) { + mes "[Hugin's Follower]"; + mes "Well~ If you are not interested in it, never mind."; + close; + } + mes "[Hugin's Follower]"; + mes "Sure that is not free~ I have to get something little bit. Hoho..."; + next; + mes "[Hugin's Follower]"; + mes "I can send you just two place. How is it? Do you want to try?"; + next; + switch (select("Cancel","Monastery Cemetery (Lv100~130) - 5000z","Corridor of 2nd floor (Over Lv140) - 10000z")) { + case 1: + mes "[Hugin's Follower]"; + mes "Alright, please come back whenever you change mind. I think you will have lots of thing to talk with me..."; + close; + case 2: + if (Zeny < 5000) { + mes "[Hugin's Follower]"; + mes "Please make sure you already have all of the money."; + close; + } + set Zeny,Zeny-5000; + warp "gl_chyard_",148,144; + end; + case 3: + if (Zeny < 10000) { + mes "[Hugin's Follower]"; + mes "Please make sure you already have all of the money."; + close; + } + set Zeny,Zeny-10000; + warp "gl_cas02_",104,31; + end; + } +} + +gl_chyard_,148,149,4 script Hugin's Follower#n_gh1 123,{ + mes "[Hugin's Follower]"; + mes "You want to break?"; + mes "Ok, let's get out of here.?"; + next; + if (select("Ah, wrong click... I mean I was not talk to you","Please let me out from here") == 1) { + mes "[Hugin's Follower]"; + mes "Alright just tell me whenever you want to leave."; + close; + } + warp "glast_01",210,269; + end; +} + +gl_cas02_,104,36,4 script Hugin's Follower#n_gh2 123,{ + mes "[Hugin's Follower]"; + mes "You want to break?"; + mes "Ok, let's get out of here.?"; + next; + if (select("Ah, wrong click... I mean I was not talk to you","Please let me out from here") == 1) { + mes "[Hugin's Follower]"; + mes "Alright just tell me whenever you want to leave."; + close; + } + warp "glast_01",210,269; + end; +} diff --git a/re/instances/Sara'sMemory.txt b/re/instances/Sara'sMemory.txt new file mode 100644 index 0000000..de1ee7c --- /dev/null +++ b/re/instances/Sara'sMemory.txt @@ -0,0 +1,2115 @@ +//===== rAthena Script ======================================= +//= Sara's Memory +//===== By: ================================================== +//= Ziu +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Sara's Memory Instance +//===== Additional Comments: ================================= +//= 1.0 First version, edited. [exneval] +//============================================================ + +dali,130,107,5 script Leon the Adventurer#Sara 945,{ + if(ep13_ryu > 99 || ep13_start > 99) { //Check if this is really the quest prerequisite + if(BaseLevel > 99) { + if(checkquest(15003) == -1) { + if(!sarainstance) { + mes "[Leon the Adventurer]"; + mes "Wow! I thought I was the only one"; + mes "who knew about this place."; + next; + mes "[Leon the Adventurer]"; + mes "Excuse my rudeness!"; + mes "I am Pon de Leon, the famous"; + mes "adventurer!"; + next; + mes "[Leon the Adventurer]"; + mes "My friend calls me Leon the Lion!"; + mes "For my tough appearance and"; + mes "attitude. Plus I have quite a"; + mes "bite!"; + next; + mes "[Leon the Adventurer]"; + mes "You know, this is such a strange"; + mes "location..."; + next; + mes "[Leon the Adventurer]"; + mes "As you explore it you start to see"; + mes "cracks in space and time. Each one"; + mes "covered by a dimensional device."; + next; + mes "[Leon the Adventurer]"; + mes "For example, I think I have caught"; + mes "glimpses of Payon through the"; + mes "dimensional device closest to us."; + mes "But it doesn't seem right. Almost"; + mes "like it is a little bit older then"; + mes "it should be."; + next; + mes "[Leon the Adventurer]"; + mes "I want to explore it, but with my"; + mes "old age and my knees I don't seem"; + mes "to be quite up to the task."; + next; + mes "[Leon the Adventurer]"; + mes "So, I would like to ask something"; + mes "of you."; + next; + mes "[Leon the Adventurer]"; + mes "Please venture through the"; + mes "dimensional device and report to me"; + mes "what you find within."; + next; + mes "[Leon the Adventurer]"; + mes "Though, I should warn you. It might"; + mes "be unstable. Make sure you enter"; + mes "the first chance you get."; + close2; + setquest 15003; + end; + } else { + mes "[Leon the Adventurer]"; + mes "You wish to relive the past again?"; + next; + if(select("Yes","No") == 2) + close; + mes "[Leon the Adventurer]"; + mes "Please venture through the"; + mes "dimensional device and report to me"; + mes "what you find within."; + next; + mes "[Leon the Adventurer]"; + mes "Though, I should warn you. It might"; + mes "be unstable. Make sure you enter"; + mes "the first chance you get."; + setquest 15003; + close; + } + } + if(checkquest(15003) == 1) { + mes "[Leon the Adventurer]"; + mes "I am not sure you have fully"; + mes "explored the crack in space and"; + mes "time yet. Perhaps you should look a"; + mes "bit further into it."; + if(!sarainstance) + close; + next; + switch(select("Okay","Give up")) { + case 1: + mes "[Leon the Adventurer]"; + mes "I am glad to hear that! Maybe"; + mes "someday you can be as brave as old"; + mes "Leon the Lion!"; + close; + case 2: + mes "[Leon the Adventurer]"; + mes "Well.. I can't force you. Buf if"; + mes "you ever find your courage pelase"; + mes "talk to me again."; + erasequest 15003; + close; + } + } + if(checkquest(15003) == 2) { + if(!sarainstance) { + mes "[Leon the Adventurer]"; + mes "What did you see in there?!"; + next; + mes "[Leon the Adventurer]"; + mes "Hrumpf, Sara Irene?! She's one of"; + mes "the 12 Valkyries. I didn't know her"; + mes "story was that tragic...."; + next; + mes "[Leon the Adventurer]"; + mes "It seems that you caused a huge"; + mes "misunderstanding between her and"; + mes "her father."; + next; + mes "[Leon the Adventurer]"; + mes "I would not blame yourself for what"; + mes "occured. Or all the blood that was"; + mes "spilled. It seems that the events"; + mes "that day were fated to happen no"; + mes "matter who was there."; + next; + mes "[Leon the Adventurer]"; + mes "Please don't tell anyone about your"; + mes "time traveling adventure. We can't"; + mes "have anyone thinking you more"; + mes "important then old Leon. Plus they"; + mes "wouldn't believe such a story"; + mes "anyways."; + next; + mes "[Leon the Adventurer]"; + mes "I think that in about 20 hours"; + mes "after you last entered the rift"; + mes "will stable enough for you to"; + mes "transverse it again."; + set sarainstance,1; + getexp 770000,1036000; + } else { + mes "[Leon the Adventurer]"; + mes "What did you see in there?! Was"; + mes "there anything new?"; + next; + select("Nothing has changed from the last time."); + mes "[Leon the Adventurer]"; + mes "I am sorry to hear that... If..."; + next; + mes "[Leon the Adventurer]"; + mes "If you want to try again. I think"; + mes "that in about 20 hours after you"; + mes "last entered the rift will be"; + mes "stable enough for you to transverse"; + mes "it again."; + next; + mes "[Leon the Adventurer]"; + mes "You should rest up. Travelling"; + mes "Through time would make even Leon"; + mes "tired!"; + getexp 550000,550000; + } + erasequest 15003; + close; + } + } else { + mes "[Leon the Adventurer]"; + mes "Wow! I thought I was the only one"; + mes "who knew about this place."; + next; + mes "[Leon the Adventurer]"; + mes "You know... this place doesn't seem"; + mes "to be safe for you. Please return"; + mes "to me once you have achieved LV."; + mes "99"; + close; + } + } else { //Custom text + mes "[Leon the Adventurer]"; + mes "How did you get in here?"; + mes "Are you sure, you weren't lost?"; + close; + } +} + +dali,138,118,0 script Dimensional Device#dimen 10007,{ + if(checkquest(15003) == 1) { + set .@sara_time,checkquest(15002,PLAYTIME); + if(.@sara_time == 0 || .@sara_time == 1) { + mes "[Leon the Adventurer]"; + mes "I think that in about 20 hours"; + mes "after you last entered the rift"; + mes "will stable enough for you to"; + mes "transverse it again."; + close; + } else if(.@sara_time == 2) { + erasequest 15002; + end; + } else if(.@sara_time == -1) { + set .@party_id,getcharid(1); + set .@ins_mas,getpartyleader(.@party_id,2); + set .@p_name$,getpartyname(.@party_id); + set .@p_reader$,strcharinfo(0); + set .@md_name$,"Sara's Memory"; + if(!instance_check_party(.@party_id)) { + mes "[Leon the Adventurer]"; + mes "Before you enter you need to"; + mes "organize a party! Don't know how?"; + mes "Type /organize PARTYNAMEHERE. You"; + mes "can use quotes to put spaces in a"; + mes "party name."; + close; + } + if(getcharid(0) == .@ins_mas) + set .@menu$,"Boot up the dimensional device.:Use the dimensional device.:Cancel"; + else + set .@menu$,":Use the dimensional device:Cancel"; + switch(select(.@menu$)) { + case 1: + switch(instance_create(.@md_name$)) { + case -3: + dispbottom "Memorial Dungeon, '" + .@md_name$ + "' is already in progress.",0xFFFFFF; + end; + case -4: + case -2: + case -1: + mes "Party Name: "+.@p_name$; + mes "Party Leader: "+.@p_reader$; + mes "^0000ff"+.@md_name$+"^000000 - time gap generation failed."; + close; + } + mes "^ff0000The dimensional boots up^000000"; + mes "^ff0000cleanly.^000000"; + mes "^ff0000Use the device to enter the crack^000000"; + mes "^ff0000in space and time.^000000"; + close; + case 2: + switch(instance_enter(.@md_name$)) { + case 3: //Custom text + mes "^ff0000There's something wrong with dimensional boots up. It's failed.^000000"; + close; + case 2: + mes "^ff0000The party leader did not boot up^000000"; + mes "^ff0000the dimensional device.^000000"; + close; + case 1: + mes "^ff0000Only a member of the party can^000000"; + mes "^ff0000enter the rift.^000000"; + close; + case 0: + mapannounce "dali","A member of party" + .@p_name$ + ", " + .@p_reader$ + "entered " +.@md_name$,bc_map,"0x00ff99"; + setquest 15002; + //warp "1@sara",250,155; + end; + } + break; + case 3: + end; + } + } + } else { + mes "[Leon the Adventurer]"; + mes "Before you go playing around with"; + mes "that. Why don't you come over here"; + mes "and talk to me?"; + close; + } +} + +1@sara,260,156,5 script A girl#sarains 668,{ + if(getcharid(0) == getpartyleader(getcharid(1),2)) { + mes "["+strcharinfo(0)+"]"; + mes "Where am I?"; + unittalk getcharid(3),strcharinfo(0)+" : Where am I?"; + next; + cutin "sara_9sara1.bmp",2; + mes "[A girl]"; + mes "Hello! This is the village of"; + mes "Payon. You don't seem to be from"; + mes "around here..."; + npctalk "A girl : Hello! This is the village of Payon. You don't seem to be from around here..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Are you from here? You don't seem"; + mes "to quite match the locals either."; + unittalk getcharid(3),strcharinfo(0)+" : Are you from here? You don't seem to quite match to locals either."; + next; + mes "[A girl]"; + mes "Yes! I was born here! My name is"; + mes "Sara. Sara Irene!"; + npctalk "A girl : Yes! I was born here! My name is Sara. Sara Irene!"; + next; + mes "[Sara Irene]"; + mes "My father is doyen of this village!"; + mes "I just take after my mother."; + donpcevent instance_npcname("Sara Irene#saratalk")+"::OnChat1"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Oh! I am sorry! Uh... Why are you"; + mes "standing out here all alone?"; + unittalk getcharid(3),strcharinfo(0)+" : Oh! I am sorry! Uh... Why are you standing out here all alone?"; + next; + mes "[Sara Irene]"; + mes "I am waiting for my father. He said"; + mes "that he will be here soon."; + donpcevent instance_npcname("Sara Irene#saratalk")+"::OnChat2"; + next; + mes "^ff0000An older man exits the house.^000000"; + mes "^ff0000Sara's face brightens at the sight^000000"; + mes "^ff0000of him.^000000"; + donpcevent instance_npcname("Doyen Irene#sarains")+"::OnEnable"; + next; + mes "[Sara Irene]"; + mes "Hi daddy!"; + donpcevent instance_npcname("Sara Irene#saratalk")+"::OnChat3"; + next; + cutin "sara_elder_irine1.bmp",2; + mes "[Doyen Irene]"; + mes "Sweetheart you look so happy."; + donpcevent instance_npcname("Doyen Irene#sarains")+"::OnChat1"; + next; + cutin "sara_9sara1.bmp",2; + mes "[Sara Irene]"; + mes "You said you would come back soon!"; + mes "I waited for you and you lied!"; + donpcevent instance_npcname("Sara Irene#saratalk")+"::OnChat4"; + next; + cutin "sara_elder_irine1.bmp",2; + mes "[Doyen Irene]"; + mes "Sweetheart, I am sorry I made you"; + mes "wait so long. The meeting with the"; + mes "village elders took longer than"; + mes "expected."; + donpcevent instance_npcname("Doyen Irene#sarains")+"::OnChat2"; + next; + cutin "sara_9sara1.bmp",2; + mes "[Sara Irene]"; + mes "I hate those old fogeys."; + donpcevent instance_npcname("Sara Irene#saratalk")+"::OnChat5"; + next; + cutin "sara_elder_irine1.bmp",2; + mes "[Doyen Irene]"; + mes "Don't say that sweetheart... Who is"; + mes "this with you?"; + donpcevent instance_npcname("Doyen Irene#sarains")+"::OnChat3"; + next; + mes "^ff0000Doyen Irene stares at you with fire^000000"; + mes "^ff0000in this eyes.^000000"; + donpcevent instance_npcname("?#saratalk1")+"::OnChat1"; + next; + mes "^ff0000Sara starts humming and singing^000000"; + mes "^ff0000softly to herself. She picks some^000000"; + mes "^ff0000wild flowers near by and presents^000000"; + mes "^ff0000them to the Doyen.^000000"; + donpcevent instance_npcname("?#saratalk1")+"::OnChat2"; + next; + cutin "sara_9sara1.bmp",2; + mes "[Sara Irene]"; + mes "Here you go daddy!"; + donpcevent instance_npcname("Sara Irene#saratalk")+"::OnChat6"; + next; + cutin "sara_elder_irine1.bmp",2; + mes "[Doyen Irene]"; + mes "Oh Sara, should I have them?"; + donpcevent instance_npcname("Doyen Irene#sarains")+"::OnChat4"; + next; + cutin "sara_9sara1.bmp",2; + mes "[Sara Irene]"; + mes "Of course silly daddy!"; + donpcevent instance_npcname("Sara Irene#saratalk")+"::OnChat7"; + next; + mes "^ff0000After being given the flowers the^000000"; + mes "^ff0000Doyen's mood seems to greatly^000000"; + mes "^ff0000improve.^000000"; + donpcevent instance_npcname("?#saratalk1")+"::OnChat3"; + next; + cutin "sara_elder_irine1.bmp",2; + mes "[Doyen Irene]"; + mes "Alright my princess, where should"; + mes "we go now?"; + donpcevent instance_npcname("Doyen Irene#sarains")+"::OnChat5"; + next; + cutin "sara_9sara1.bmp",2; + mes "[Sara Irene]"; + mes "Oh daddy! Let's go to the top of"; + mes "that hill over there!"; + donpcevent instance_npcname("Sara Irene#saratalk")+"::OnChat8"; + next; + cutin "sara_elder_irine1.bmp",2; + mes "[Doyen Irene]"; + mes "Hah! Hold onto me tight!"; + donpcevent instance_npcname("Doyen Irene#sarains")+"::OnChat6"; + next; + cutin "sara_elder_irine1.bmp",255; + mes "^ff0000As they wander off you hear strange^000000"; + mes "^ff0000voices from around the corner...^000000"; + donpcevent instance_npcname("Doyen Irene#sarains")+"::OnDisable"; + donpcevent instance_npcname("A girl#sarains")+"::OnDisable"; + donpcevent instance_npcname("?#saratalk1")+"::OnChat4"; + disablenpc instance_npcname("Sara Irene#saratalk"); + next; + mes "[Strange Old Man A]"; + mes "I can feel Sara's power growing. We"; + mes "cannot just stand by and let her"; + mes "achieve her full potential!"; + donpcevent instance_npcname("Strange Old Man A#stalk")+"::OnChat1"; + next; + mes "[Strange Old Man B]"; + mes "She was born under a bad sign and"; + mes "her mother isn't even one of us!"; + donpcevent instance_npcname("Strange Old Man B#stalk")+"::OnChat1"; + next; + mes "[Strange Old Man B]"; + mes "Someday she will cause blood to"; + mes "flow in our streets."; + donpcevent instance_npcname("Strange Old Man B#stalk")+"::OnChat2"; + next; + mes "[Strange Old Man A]"; + mes "We have to do something before the"; + mes "Holy creatures select her. I asked"; + mes "HIM to take care of it."; + donpcevent instance_npcname("Strange Old Man A#stalk")+"::OnChat2"; + next; + mes "[Strange Old Man B]"; + mes "We will see... I look forward to"; + mes "hearing the bad news that has"; + mes "befallen her..."; + donpcevent instance_npcname("Strange Old Man B#stalk")+"::OnChat3"; + next; + mes "^ff0000The old man wander off it seems^000000"; + mes "^ff0000Sara might be in danger. We have to^000000"; + mes "^ff0000do something!^000000"; + donpcevent instance_npcname("?#saratalk1")+"::OnChat5"; + close2; + donpcevent instance_npcname("Strange Old Man A#stalk")+"::OnDisable"; + donpcevent instance_npcname("Strange Old Man B#stalk")+"::OnDisable"; + donpcevent instance_npcname("Sara Irene#sarains1")+"::OnEnable"; + donpcevent instance_npcname("#sarawarp1")+"::OnEnable"; + viewpoint 1,240,145,1,0x00FF00; + specialeffect EF_BASH; + } + end; +OnInstanceInit: + donpcevent instance_npcname("A girl#sarains")+"::OnEnable"; + end; +OnEnable: + hideoffnpc instance_npcname("A girl#sarains"); + end; +OnDisable: + hideonnpc instance_npcname("A girl#sarains"); + end; +} + +1@sara,268,158,3 script Doyen Irene#sarains 684,{ + end; +OnInstanceInit: + donpcevent instance_npcname("Doyen Irene#sarains")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Doyen Irene#sarains"); + end; +OnDisable: + hideonnpc instance_npcname("Doyen Irene#sarains"); + end; +OnChat1: + npctalk "Doyen Irene : Sweetheart you look so happy."; + end; +OnChat2: + npctalk "Doyen Irene : Sweetheart, I am sorry I made you wait so long. The meeting with the village elders took longer than expected."; + end; +OnChat3: + npctalk "Doyen Irene : Don't say that sweetheart... Who is this with you?"; + end; +OnChat4: + npctalk "Doyen Irene : Oh Sara, should I have them?"; + end; +OnChat5: + npctalk "Doyen Irene : Alright my princess, where should we go now?"; + end; +OnChat6: + npctalk "Doyen Irene : Hah! Hold onto me tight!"; + end; +} + +1@sara,260,156,0 script Sara Irene#saratalk 111,{ + end; +OnInstanceInit: + donpcevent instance_npcname("Sara Irene#saratalk")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Sara Irene#saratalk"); + end; +OnDisable: + hideonnpc instance_npcname("Sara Irene#saratalk"); + end; +OnChat1: + npctalk "Sara Irene : My father is doyen of this village! I just take after my mother."; + end; +OnChat2: + npctalk "Sara Irene : I am waiting for my father. He said that he will be here soon."; + end; +OnChat3: + npctalk "Sara Irene : Hi daddy!"; + end; +OnChat4: + npctalk "Sara Irene : You said you would come back soon! I waited for you and you lied!"; + end; +OnChat5: + npctalk "Sara Irene : I hate those old fogeys."; + end; +OnChat6: + npctalk "Sara Irene : Here you go daddy!"; + end; +OnChat7: + npctalk "Sara Irene : Of course silly daddy!"; + end; +OnChat8: + npctalk "Sara Irene : Oh daddy! Let's go to the top of that hill over there!"; + end; +} + +1@sara,260,156,0 script ?#saratalk1 -1,{ + end; +OnInstanceInit: + donpcevent instance_npcname("?#saratalk1")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("?#saratalk1"); + end; +OnDisable: + hideonnpc instance_npcname("?#saratalk1"); + end; +OnChat1: + npctalk "Doyen Irene stares at you with fire in this eyes."; + end; +OnChat2: + npctalk "Sara starts humming and singing softly to herself. She picks some wild flowers near by and presents them to the Doyen."; + end; +OnChat3: + npctalk "After being given the flowers the Doyen's mood seems to greatly improve."; + end; +OnChat4: + npctalk "As they wander off you hear strange voices from around the corner..."; + end; +OnChat5: + npctalk "The old man wander off it seems Sara might be in danger. We have to do something!"; + end; +} + +1@sara,260,156,0 script Strange Old Man A#stalk -1,{ + end; +OnInstanceInit: + donpcevent instance_npcname("Strange Old Man A#stalk")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Strange Old Man A#stalk"); + end; +OnDisable: + hideonnpc instance_npcname("Strange Old Man A#stalk"); + end; +OnChat1: + npctalk "Strange Old Man A : I can feel Sara's power growing. We cannot just stand by and let her achieve her full potential!"; + end; +OnChat2: + npctalk "Strange Old Man A : We have to do something before the Holy creatures select her. I asked HIM to take care of it."; + end; +} + +1@sara,260,156,0 script Strange Old Man B#stalk -1,{ + end; +OnInstanceInit: + donpcevent instance_npcname("Strange Old Man B#stalk")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Strange Old Man B#stalk"); + end; +OnDisable: + hideonnpc instance_npcname("Strange Old Man B#stalk"); + end; +OnChat1: + npctalk "Strange Old Man B : She was born under a bad sign and her mother isn't even one of us!"; + end; +OnChat2: + npctalk "Strange Old Man B : Someday she will cause blood to flow in our streets."; + end; +OnChat3: + npctalk "Strange Old Man B : We will see... I look forward to hearing the bad news that has befallen her..."; + end; +} + +1@sara,240,145,0 script #sarawarp1 45,1,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#sarawarp1")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#sarawarp1"); + end; +OnEnable: + enablenpc instance_npcname("#sarawarp1"); + end; +OnTouch: + set .@map$,instance_mapname("1@sara"); + warp .@map$,94,320; + end; +} + +1@sara,209,250,0 script #sarawarp2 45,1,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#sarawarp2")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#sarawarp2"); + end; +OnEnable: + enablenpc instance_npcname("#sarawarp2"); + end; +OnTouch: + set .@map$,instance_mapname("1@sara"); + warp .@map$,230,316; + end; +} + +1@sara,226,190,0 script #sarawarp3 45,1,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#sarawarp3")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#sarawarp3"); + end; +OnEnable: + enablenpc instance_npcname("#sarawarp3"); + end; +OnTouch: + set .@map$,instance_mapname("1@sara"); + warp .@map$,263,94; + end; +} + +1@sara,166,67,0 script #sarawarp4 45,1,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#sarawarp4")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#sarawarp4"); + end; +OnEnable: + enablenpc instance_npcname("#sarawarp4"); + end; +OnTouch: + set .@map$,instance_mapname("1@sara"); + warp .@map$,164,81; + end; +} + +1@sara,155,180,0 script #sarawarp5 45,1,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#sarawarp5")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#sarawarp5"); + end; +OnEnable: + enablenpc instance_npcname("#sarawarp5"); + end; +OnTouch: + set .@map$,instance_mapname("1@sara"); + warp .@map$,155,196; + end; +} + +1@sara,88,188,0 script #sarawarp6 45,1,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#sarawarp6")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#sarawarp6"); + end; +OnEnable: + enablenpc instance_npcname("#sarawarp6"); + end; +OnTouch: + set .@map$,instance_mapname("1@sara"); + warp .@map$,89,175; + if(getcharid(0) == getpartyleader(getcharid(1),2)) + viewpoint 1,39,142,1,0x00FF00; + end; +} + +1@sara,19,143,0 script #sarawarp7 45,1,2,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#sarawarp7")+"::OnDisable"; + end; +OnDisable: + disablenpc instance_npcname("#sarawarp7"); + end; +OnEnable: + enablenpc instance_npcname("#sarawarp7"); + end; +OnTouch: + completequest 15003; + warp "dali",134,111; + end; +} + +1@sara,107,325,5 script Sara Irene#sarains1 668,{ + if(getcharid(0) == getpartyleader(getcharid(1),2)) { + cutin "sara_9sara1.bmp",2; + mes "[Sara Irene]"; + mes "Oh! Hello again! I remember you,"; + mes "what's up?"; + npctalk "Sara Irene : Oh! Hello again! I remember you, what's up?"; + next; + mes "[Sara Irene]"; + mes "I am here to give flowers to my"; + mes "mommy!"; + npctalk "Sara Irene : I am here to give flowers to my mommy!"; + next; + mes "^ff0000Sara leaps forward to open the^000000"; + mes "^ff0000door, flowers at the ready.^000000"; + donpcevent instance_npcname("-#saratalk")+"::OnChat1"; + next; + mes "[Sara Irene]"; + mes "Mom! Dad! Look what I found!"; + npctalk "Sara Irene : Mom! Dad! Look what I found!"; + next; + cutin "sara_9sara1.bmp",255; + cutin "sara_momdie.bmp",4; + mes "^ff0000The door opens to reveal a woman^000000"; + mes "^ff0000laying dead on the floor and the^000000"; + mes "^ff0000Doyen standing over the woman with^000000"; + mes "^ff0000a bloody sword.^000000"; + donpcevent instance_npcname("-#saratalk")+"::OnChat2"; + next; + mes "[Sara Irene]"; + mes "..."; + npctalk "Sara Irene : ..."; + next; + mes "[Sara Irene]"; + mes "..."; + npctalk "Sara Irene : ..."; + next; + mes "[Sara Irene]"; + mes "..."; + npctalk "Sara Irene : ..."; + next; + mes "[Sara's Mother]"; + mes "Sara...Ru-..away..."; + npctalk "Sara's Mother : Sara...Ru-..away..."; + next; + mes "[Sara Irene]"; + mes "..."; + npctalk "Sara Irene : ..."; + next; + mes "^ff0000A gem rolls from the womans hand^000000"; + mes "^ff0000and comes to a rest in front of^000000"; + mes "^ff0000Sara. Unconsciously Sara reaches^000000"; + mes "^ff0000down and picks up the gem.^000000"; + donpcevent instance_npcname("-#saratalk")+"::OnChat3"; + next; + mes "^ff0000The Doyen turns around and notices^000000"; + mes "^ff0000Sara.^000000"; + donpcevent instance_npcname("-#saratalk")+"::OnChat4"; + next; + cutin "sara_momdie.bmp",255; + cutin "sara_elder_irine4.bmp",2; + mes "[Doyen Irene]"; + mes "Ahh Sara! I was just looking for"; + mes "you..."; + donpcevent instance_npcname("Doyen Irene#sarains1")+"::OnChat1"; + next; + cutin "sara_9sara2.bmp",2; + mes "[Sara Irene]"; + mes "..."; + npctalk "Sara Irene : ..."; + next; + select("Escape with Sara."); + mes "[Sara Irene]"; + mes "..."; + npctalk "Sara Irene : ..."; + next; + cutin "sara_elder_irine3.bmp",2; + mes "[Doyen Irene]"; + mes "Guards! GUARDS! There is a murderer"; + mes "here! Catch him!"; + donpcevent instance_npcname("Doyen Irene#sarains1")+"::OnChat2"; + next; + mes "^ff0000The sound of many pairs of boots^000000"; + mes "^ff0000can be heard running outside!^000000"; + donpcevent instance_npcname("-#saratalk")+"::OnChat5"; + next; + cutin "sara_9sara3.bmp",2; + mes "[Sara Irene]"; + mes "Mommy no!!!!!!!!!!!!!!!"; + npctalk "Sara Irene : Mommy no!!!!!!!!!!!!!!!"; + next; + cutin "sara_9sara3.bmp",255; + mes "^ff0000Sara runs aways and the sound of the^000000"; + mes "^ff0000guards is getting closer...^000000"; + donpcevent instance_npcname("-#saratalk")+"::OnChat6"; + close2; + donpcevent instance_npcname("Sara Irene#sarains1")+"::OnDisable"; + donpcevent instance_npcname("Sara Irene#sarains4")+"::OnEnable"; + donpcevent instance_npcname("Sara Irene#sarains5")+"::OnEnable"; + donpcevent instance_npcname("Sara Irene#sarains6")+"::OnEnable"; + donpcevent instance_npcname("Sara Irene#sarains7")+"::OnEnable"; + donpcevent instance_npcname("Sara Irene#sarains8")+"::OnEnable"; + donpcevent instance_npcname("Sara Irene#sarains9")+"::OnEnable"; + donpcevent instance_npcname("Sara Irene#sarains10")+"::OnEnable"; + donpcevent instance_npcname("Sara Irene#sarains11")+"::OnEnable"; + donpcevent instance_npcname("Sara Irene#sarains12")+"::OnEnable"; + donpcevent instance_npcname("Sara Irene#sarains13")+"::OnEnable"; + donpcevent instance_npcname("Sara Irene#sarains14")+"::OnEnable"; + donpcevent instance_npcname("Sara Irene#sarains15")+"::OnEnable"; + donpcevent instance_npcname("Sara Irene#sarains16")+"::OnEnable"; + donpcevent instance_npcname("Sara Irene#sarains17")+"::OnEnable"; + donpcevent instance_npcname("Sara Irene#sarains18")+"::OnEnable"; + donpcevent instance_npcname("Sara Irene#sarains19")+"::OnEnable"; + donpcevent instance_npcname("Sara Irene#sarains20")+"::OnEnable"; + donpcevent instance_npcname("Sara Irene#sarains21")+"::OnEnable"; + donpcevent instance_npcname("Sara Irene#sarains22")+"::OnEnable"; + donpcevent instance_npcname("Sara Irene#sarains23")+"::OnEnable"; + donpcevent instance_npcname("#controlsara")+"::OnEnable"; + } + end; +OnInstanceInit: + donpcevent instance_npcname("Sara Irene#sarains1")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Sara Irene#sarains1"); + end; +OnDisable: + hideonnpc instance_npcname("Sara Irene#sarains1"); + end; +} + +1@sara,107,325,0 script -#saratalk -1,{ + end; +OnInstanceInit: + donpcevent instance_npcname("-#saratalk")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("-#saratalk"); + end; +OnDisable: + hideonnpc instance_npcname("-#saratalk"); + end; +OnChat1: + npctalk "Sara leaps forward to open the door, flowers at the ready."; + end; +OnChat2: + npctalk "The door opens to reveal a woman laying dead on the floor and the Doyen standing over the woman with a bloody sword."; + end; +OnChat3: + npctalk "A gem rolls from the womans hand ff0000and comes to a rest in front of Sara. Unconsciously Sara reaches down and picks up the gem."; + end; +OnChat4: + npctalk "The Doyen turns around and notices Sara."; + end; +OnChat5: + npctalk "The sound of many pairs of boots can be heard running outside!"; + end; +OnChat6: + npctalk "Sara runs aways and the sound of the guards is getting closer..."; + end; +} + +1@sara,107,325,0 script Doyen Irene#sarains1 -1,{ + end; +OnInstanceInit: + donpcevent instance_npcname("Doyen Irene#sarains1")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Doyen Irene#sarains1"); + end; +OnDisable: + hideonnpc instance_npcname("Doyen Irene#sarains1"); + end; +OnChat1: + npctalk "Doyen Irene : Ahh Sara! I was just looking for you..."; + end; +OnChat2: + npctalk "Doyen Irene : Guards! GUARDS! There is a murderer here! Catch him!"; + end; +} + +1@sara,107,327,0 script #controlsara 844,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#controlsara")+"::OnDisable"; + end; +OnEnable: + enablenpc instance_npcname("#controlsara"); + hideonnpc instance_npcname("#controlsara"); + initnpctimer; + end; +OnDisable: + disablenpc instance_npcname("#controlsara"); + end; +OnTimer2000: + mapannounce instance_mapname("1@sara")," The guards must be defeated to gain access to the next area.",bc_map,"0xFFFF00"; + end; +OnTimer4000: + mapannounce instance_mapname("1@sara")," The guards have formed groups of their own to fight you!",bc_map,"0xFFFF00"; + end; +OnTimer5000: + donpcevent instance_npcname("#controlsara")+"::OnRespawn"; + stopnpctimer; + end; +OnRespawn: + set .@map$,instance_mapname("1@sara"); + monster .@map$,107,325,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,115,325,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,116,317,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,108,317,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,116,311,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,108,311,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + + monster .@map$,101,295,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,105,295,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,109,295,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,113,295,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,117,295,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,121,295,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + + monster .@map$,122,227,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,122,225,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,122,223,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,122,221,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,122,219,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,122,217,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,121,227,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,121,225,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,121,223,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,121,221,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,121,219,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,121,217,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + + monster .@map$,151,231,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,153,231,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,155,231,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,157,231,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,159,231,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,161,231,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + + monster .@map$,187,215,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,187,217,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,187,219,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,187,221,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,187,223,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,187,225,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,188,215,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,188,217,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,188,219,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,188,221,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,188,223,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,188,225,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + + monster .@map$,192,250,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,194,250,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,196,250,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,198,250,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + + monster .@map$,196,254,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,196,256,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,196,258,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,199,254,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,199,256,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,199,258,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + + monster .@map$,204,246,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,204,248,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,204,250,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,204,252,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,204,254,"Payon Town Guard",2543,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + monster .@map$,206,251,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara")+"::OnMyMobDead"; + end; +OnMyMobDead: + set .@callnum,58; + set .@map$,instance_mapname("1@sara"); + set .@a_mob_num,mobcount(.@map$,instance_npcname("#controlsara")+"::OnMyMobDead"); + set .@mob_dead_num,.@callnum - .@a_mob_num; + if(.@mob_dead_num > 57) { + viewpoint 1,209,250,1,0x00FF00; + mapannounce instance_mapname("1@sara")," Sara ran away again! You think she went in the 2 O'clock direction!",bc_map,"0xFFFF00"; + donpcevent instance_npcname("#controlsara")+"::OnDisable"; + donpcevent instance_npcname("#controlsara1")+"::OnEnable"; + donpcevent instance_npcname("#sarawarp2")+"::OnEnable"; + } + end; +} + +1@sara,230,316,0 script #controlsara1 844,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#controlsara1")+"::OnDisable"; + end; +OnEnable: + enablenpc instance_npcname("#controlsara1"); + hideonnpc instance_npcname("#controlsara1"); + donpcevent instance_npcname("#controlsara1")+"::OnRespawn"; + end; +OnDisable: + disablenpc instance_npcname("#controlsara1"); + end; +OnRespawn: + set .@map$,instance_mapname("1@sara"); + monster .@map$,228,312,"A Fierce Guard Dog",2546,1,instance_npcname("#controlsara1")+"::OnMyMobDead"; + monster .@map$,227,312,"A Fierce Guard Dog",2546,1,instance_npcname("#controlsara1")+"::OnMyMobDead"; + monster .@map$,229,315,"A Fierce Guard Dog",2546,1,instance_npcname("#controlsara1")+"::OnMyMobDead"; + + monster .@map$,247,290,"Payon Town Guard",2544,1,instance_npcname("#controlsara1")+"::OnMyMobDead"; + monster .@map$,248,290,"Payon Town Guard",2544,1,instance_npcname("#controlsara1")+"::OnMyMobDead"; + monster .@map$,249,290,"Payon Town Guard",2544,1,instance_npcname("#controlsara1")+"::OnMyMobDead"; + + monster .@map$,223,264,"Payon Town Guard",2544,1,instance_npcname("#controlsara1")+"::OnMyMobDead"; + monster .@map$,230,248,"Payon Town Guard",2544,1,instance_npcname("#controlsara1")+"::OnMyMobDead"; + monster .@map$,227,248,"Payon Town Guard",2544,1,instance_npcname("#controlsara1")+"::OnMyMobDead"; + + monster .@map$,238,229,"Payon Town Guard",2544,1,instance_npcname("#controlsara1")+"::OnMyMobDead"; + monster .@map$,225,220,"Payon Town Guard",2544,1,instance_npcname("#controlsara1")+"::OnMyMobDead"; + monster .@map$,228,220,"Payon Town Guard",2544,1,instance_npcname("#controlsara1")+"::OnMyMobDead"; + + monster .@map$,220,212,"Payon Town Guard",2544,1,instance_npcname("#controlsara1")+"::OnMyMobDead"; + monster .@map$,223,212,"Payon Town Guard",2544,1,instance_npcname("#controlsara1")+"::OnMyMobDead"; + + monster .@map$,219,203,"A Fierce Guard Dog",2546,1,instance_npcname("#controlsara1")+"::OnMyMobDead"; + monster .@map$,222,203,"A Fierce Guard Dog",2546,1,instance_npcname("#controlsara1")+"::OnMyMobDead"; + end; +OnMyMobDead: + set .@callnum,16; + set .@map$,instance_mapname("1@sara"); + set .@b_mob_num,mobcount(.@map$,instance_npcname("#controlsara1")+"::OnMyMobDead"); + set .@mob_dead_num,.@callnum - .@b_mob_num; + if(.@mob_dead_num > 15) { + viewpoint 1,226,190,1,0x00FF00; + mapannounce instance_mapname("1@sara")," Sara ran away yet again! You think she went in the 5 O'clock direction!",bc_map,"0xFFFF00"; + donpcevent instance_npcname("#controlsara1")+"::OnDisable"; + donpcevent instance_npcname("#controlsara2")+"::OnEnable"; + donpcevent instance_npcname("#sarawarp3")+"::OnEnable"; + } + end; +} + +1@sara,263,94,0 script #controlsara2 844,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#controlsara2")+"::OnDisable"; + end; +OnEnable: + enablenpc instance_npcname("#controlsara2"); + hideonnpc instance_npcname("#controlsara2"); + donpcevent instance_npcname("#controlsara2")+"::OnRespawn"; + end; +OnDisable: + disablenpc instance_npcname("#controlsara2"); + end; +OnRespawn: + set .@map$,instance_mapname("1@sara"); + monster .@map$,255,91,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,255,92,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,255,93,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,255,94,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,254,91,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,254,92,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,254,93,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,254,94,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + + monster .@map$,228,65,"Payon Town Guard",2543,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,228,64,"Payon Town Guard",2543,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,228,63,"Payon Town Guard",2543,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,228,62,"Payon Town Guard",2543,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + + monster .@map$,198,62,"A Fierce Guard Dog",2546,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,195,56,"A Fierce Guard Dog",2546,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,195,60,"A Fierce Guard Dog",2546,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,195,62,"A Fierce Guard Dog",2546,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,192,56,"A Fierce Guard Dog",2546,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,192,60,"A Fierce Guard Dog",2546,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,192,62,"A Fierce Guard Dog",2546,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + + monster .@map$,187,68,"A Fierce Guard Dog",2546,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,188,63,"A Fierce Guard Dog",2546,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + + monster .@map$,120,39,"Payon Town Guard",2543,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,121,39,"Payon Town Guard",2543,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,121,39,"Payon Town Guard",2543,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + + monster .@map$,93,64,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,93,68,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,93,72,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,93,76,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,90,64,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,90,68,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,90,72,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,90,76,"A Gentle Guard Dog",2545,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + + monster .@map$,87,67,"Payon Town Guard",2543,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,87,63,"Payon Town Guard",2543,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,87,59,"Payon Town Guard",2543,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,87,55,"Payon Town Guard",2543,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + + monster .@map$,84,67,"A Fierce Guard Dog",2546,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,84,63,"A Fierce Guard Dog",2546,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,84,59,"A Fierce Guard Dog",2546,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,84,55,"A Fierce Guard Dog",2546,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + + monster .@map$,81,67,"A Fierce Guard Dog",2546,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,81,63,"A Fierce Guard Dog",2546,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,81,59,"A Fierce Guard Dog",2546,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,81,55,"A Fierce Guard Dog",2546,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + monster .@map$,81,51,"A Fierce Guard Dog",2546,1,instance_npcname("#controlsara2")+"::OnMyMobDead"; + end; +OnMyMobDead: + set .@callnum,45; + set .@map$,instance_mapname("1@sara"); + set .@c_mob_num,mobcount(.@map$,instance_npcname("#controlsara2")+"::OnMyMobDead"); + set .@mob_dead_num,.@callnum - .@c_mob_num; + if(.@mob_dead_num > 44) { + viewpoint 1,166,67,1,0x00FF00; + mapannounce instance_mapname("1@sara")," Sara ran away yet again! *sigh* You think she went in the 6 O'clock direction!",bc_map,"0xFFFF00"; + donpcevent instance_npcname("#controlsara2")+"::OnDisable"; + donpcevent instance_npcname("#controlsara3")+"::OnEnable"; + donpcevent instance_npcname("#sarawarp4")+"::OnEnable"; + } + end; +} + +1@sara,164,81,0 script #controlsara3 844,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#controlsara3")+"::OnDisable"; + end; +OnEnable: + enablenpc instance_npcname("#controlsara3"); + hideonnpc instance_npcname("#controlsara3"); + donpcevent instance_npcname("#controlsara3")+"::OnRespawn"; + end; +OnDisable: + disablenpc instance_npcname("#controlsara3"); + end; +OnRespawn: + set .@map$,instance_mapname("1@sara"); + monster .@map$,155,97,"Payon Town Guard",2543,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,157,97,"Payon Town Guard",2543,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,159,97,"Payon Town Guard",2543,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,161,97,"Payon Town Guard",2543,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + + monster .@map$,201,113,"Payon Town Guard",2544,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,204,113,"Payon Town Guard",2544,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,207,113,"Payon Town Guard",2544,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,210,113,"Payon Town Guard",2544,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,213,113,"Payon Town Guard",2544,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + + monster .@map$,201,117,"Payon Town Guard",2544,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,204,117,"Payon Town Guard",2544,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,207,117,"Payon Town Guard",2544,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,210,117,"Payon Town Guard",2544,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,213,117,"Payon Town Guard",2544,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + + monster .@map$,223,152,"Payon Town Guard",2544,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,223,148,"Payon Town Guard",2544,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,223,144,"Payon Town Guard",2544,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + + monster .@map$,221,152,"Payon Town Guard",2544,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,221,148,"Payon Town Guard",2544,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,221,144,"Payon Town Guard",2544,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + + monster .@map$,151,174,"Payon Town Guard",2543,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,153,174,"Payon Town Guard",2543,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,155,174,"Payon Town Guard",2543,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,157,174,"Payon Town Guard",2543,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,159,174,"Payon Town Guard",2543,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + + monster .@map$,151,177,"Payon Town Guard",2543,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,153,177,"Payon Town Guard",2543,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,155,177,"Payon Town Guard",2543,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,157,177,"Payon Town Guard",2543,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,159,177,"Payon Town Guard",2543,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + + monster .@map$,151,180,"Payon Town Guard",2544,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,153,180,"Payon Town Guard",2544,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,155,180,"Payon Town Guard",2544,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,157,180,"Payon Town Guard",2544,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,159,180,"Payon Town Guard",2544,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + + monster .@map$,173,139,"Payon Town Guard",2543,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,170,139,"Payon Town Guard",2543,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,167,139,"Payon Town Guard",2543,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,164,139,"Payon Town Guard",2543,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + + monster .@map$,173,137,"Payon Town Guard",2543,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,170,137,"Payon Town Guard",2543,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,167,137,"Payon Town Guard",2543,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + monster .@map$,164,137,"Payon Town Guard",2543,1,instance_npcname("#controlsara3")+"::OnMyMobDead"; + end; +OnMyMobDead: + set .@callnum,43; + set .@map$,instance_mapname("1@sara"); + set .@d_mob_num,mobcount(.@map$,instance_npcname("#controlsara3")+"::OnMyMobDead"); + set .@mob_dead_num,.@callnum - .@d_mob_num; + if(.@mob_dead_num > 42) { + viewpoint 1,155,180,1,0x00FF00; + mapannounce instance_mapname("1@sara")," Sara ran away yet again! You think she went in the 12 O'clock direction!",bc_map,"0xFFFF00"; + for (set .@i,4; .@i<=23; set .@i,.@i+1) { + donpcevent instance_npcname("Sara Irene#sarains" + .@i)+"::OnEnable"; + donpcevent instance_npcname("Sara Irene#sarains" + .@i)+"::OnDisable"; + } + donpcevent instance_npcname("#controlsara3")+"::OnDisable"; + donpcevent instance_npcname("#sarawarp5")+"::OnEnable"; + donpcevent instance_npcname("Sara Irene#sarains2")+"::OnEnable"; + } + end; +} + +1@sara,152,233,5 script Sara Irene#sarains2 668,{ + if(getcharid(0) == getpartyleader(getcharid(1),2)) { + cutin "sara_9sara2.bmp",2; + mes "[Sara Irene]"; + mes "Mommy!"; + npctalk "Sara Irene : Mommy!"; + next; + cutin "sara_elder_irine4.bmp",2; + mes "[Doyen Irene]"; + mes "Sara..."; + donpcevent instance_npcname("Doyen Irene#sarains2")+"::OnChat1"; + next; + cutin "sara_9sara2.bmp",2; + mes "[Sara Irene]"; + mes "No!"; + npctalk "Sara Irene : No!"; + next; + cutin "sara_elder_irine4.bmp",2; + mes "[Doyen Irene]"; + mes "I have been looking for you Sara."; + mes "Please come with daddy it is very"; + mes "dangerous here!"; + donpcevent instance_npcname("Doyen Irene#sarains2")+"::OnChat2"; + next; + mes "["+strcharinfo(0)+"]"; + mes "I won't let you take Sara!"; + unittalk getcharid(3),strcharinfo(0)+" : I won't let you take Sara!"; + next; + cutin "sara_elder_irine3.bmp",2; + mes "[Doyen Irene]"; + mes "The murderer is here! Guards! We"; + mes "will finish him once and for all!"; + donpcevent instance_npcname("Doyen Irene#sarains2")+"::OnChat3"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Sara... run! Save yourself!"; + unittalk getcharid(3),strcharinfo(0)+" : Sara... run! Save yourself!"; + next; + cutin "sara_9sara2.bmp",2; + mes "[Sara Irene]"; + mes "...okay."; + npctalk "Sara Irene : ...okay."; + close2; + cutin "sara_9sara2.bmp",255; + donpcevent instance_npcname("Sara Irene#sarains2")+"::OnDisable"; + donpcevent instance_npcname("#controlsara4")+"::OnEnable"; + } + end; +OnInstanceInit: + donpcevent instance_npcname("Sara Irene#sarains2")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Sara Irene#sarains2"); + end; +OnDisable: + hideonnpc instance_npcname("Sara Irene#sarains2"); + end; +} + +1@sara,152,233,5,0 script Doyen Irene#sarains2 -1,{ + end; +OnInstanceInit: + donpcevent instance_npcname("Doyen Irene#sarains2")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Doyen Irene#sarains2"); + end; +OnDisable: + hideonnpc instance_npcname("Doyen Irene#sarains2"); + end; +OnChat1: + npctalk "Doyen Irene : Sara..."; + end; +OnChat2: + npctalk "Doyen Irene : I have been looking for you Sara. Please come with daddy it is very dangerous here!"; + end; +OnChat3: + npctalk "Doyen Irene : The murderer is here! Guards! We will finish him once and for all!"; + end; +} + +1@sara,152,233,0 script #controlsara4 -1,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#controlsara4")+"::OnDisable"; + end; +OnEnable: + enablenpc instance_npcname("#controlsara4"); + donpcevent instance_npcname("#controlsara4")+"::OnRespawn"; + end; +OnDisable: + disablenpc instance_npcname("#controlsara4"); + end; +OnRespawn: + set .@map$,instance_mapname("1@sara"); + monster .@map$,150,232,"Payon Town Guard",2544,1,instance_npcname("#controlsara4")+"::OnMyMobDead"; + unittalk $@mobid[0],strmobinfo(1,$@mobid[0])+" : I am getting too old for this sh-"; + monster .@map$,150,227,"Payon Town Guard",2544,1,instance_npcname("#controlsara4")+"::OnMyMobDead"; + unittalk $@mobid[0],strmobinfo(1,$@mobid[0])+" : For Payon!!"; + monster .@map$,150,222,"Payon Town Guard",2544,1,instance_npcname("#controlsara4")+"::OnMyMobDead"; + unittalk $@mobid[0],strmobinfo(1,$@mobid[0])+" : For Payon!!"; + monster .@map$,150,217,"Payon Town Guard",2544,1,instance_npcname("#controlsara4")+"::OnMyMobDead"; + unittalk $@mobid[0],strmobinfo(1,$@mobid[0])+" : For Payon!!"; + monster .@map$,161,232,"Payon Town Guard",2544,1,instance_npcname("#controlsara4")+"::OnMyMobDead"; + unittalk $@mobid[0],strmobinfo(1,$@mobid[0])+" : For Payon!!"; + monster .@map$,161,227,"Payon Town Guard",2544,1,instance_npcname("#controlsara4")+"::OnMyMobDead"; + unittalk $@mobid[0],strmobinfo(1,$@mobid[0])+" : For Payon!!"; + monster .@map$,161,222,"Payon Town Guard",2544,1,instance_npcname("#controlsara4")+"::OnMyMobDead"; + unittalk $@mobid[0],strmobinfo(1,$@mobid[0])+" : For Payon!!"; + monster .@map$,161,217,"Payon Town Guard",2544,1,instance_npcname("#controlsara4")+"::OnMyMobDead"; + unittalk $@mobid[0],strmobinfo(1,$@mobid[0])+" : For Payon!!"; + end; +OnMyMobDead: + set .@callnum,8; + set .@map$,instance_mapname("1@sara"); + set .@f_mob_num,mobcount(.@map$,instance_npcname("#controlsara4")+"::OnMyMobDead"); + set .@mob_dead_num,.@callnum - .@f_mob_num; + if(.@mob_dead_num > 7) { + mapannounce instance_mapname("1@sara")," Doyen Irene draws his blade!",bc_map,"0xFFFF00"; + donpcevent instance_npcname("#controlsara4")+"::OnDisable"; + donpcevent instance_npcname("#controlsara5")+"::OnEnable"; + } + end; +} + +1@sara,155,226,0 script #controlsara5 -1,{ + end; +OnInstanceInit: + donpcevent instance_npcname("#controlsara5")+"::OnDisable"; + end; +OnEnable: + enablenpc instance_npcname("#controlsara5"); + donpcevent instance_npcname("#controlsara5")+"::OnRespawn"; + end; +OnDisable: + disablenpc instance_npcname("#controlsara5"); + end; +OnRespawn: + set .@map$,instance_mapname("1@sara"); + monster .@map$,155,226,"Doyen Irene",2542,1,instance_npcname("#controlsara5")+"::OnMyMobDead"; + unittalk $@mobid[0],strmobinfo(1,$@mobid[0])+" : I will have revenge for Sara's Mom!"; + end; +OnMyMobDead: + set .@callnum,1; + set .@map$,instance_mapname("1@sara"); + set .@g_mob_num,mobcount(.@map$,instance_npcname("#controlsara5")+"::OnMyMobDead"); + set .@mob_dead_num,.@callnum - .@g_mob_num; + if(.@mob_dead_num > 0) { + mapannounce instance_mapname("1@sara")," Doyen Irene has fallen.",bc_map,"0xFFFF00"; + donpcevent instance_npcname("#controlsara5")+"::OnDisable"; + donpcevent instance_npcname("?#saratalk2")+"::OnEnable"; + donpcevent instance_npcname("Doyen Irene#sarains3")+"::OnEnable"; + } + end; +} + +1@sara,157,236,3 script Doyen Irene#sarains3 684,{ + if(getcharid(0) == getpartyleader(getcharid(1),2)) { + cutin "sara_elder_irine4.bmp",2; + mes "[Doyen Irene]"; + mes "You... were too strong for me."; + npctalk "Doyen Irene : You... were too strong for me."; + next; + mes "[Doyen Irene]"; + mes "Why.. *hack* are you trying to kill"; + mes "my wife and daughter?"; + npctalk "Doyen Irene : Why.. *hack* are you trying to kill my wife and daughter?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "What are you talking about? We saw"; + mes "you standing over Sara's mother"; + mes "with your sword COVERED in blood!"; + unittalk getcharid(3),strcharinfo(0)+" : What are you talking about? We saw you standing over Sara's mother with your sword COVERED in blood!"; + next; + mes "[Doyen Irene]"; + mes "You.. think I killed Sara's mother?"; + npctalk "Doyen Irene : You.. think I killed Sara's mother?"; + next; + mes "[Doyen Irene]"; + mes "She *cough* had already been killed"; + mes "by an assassin. I slew him that"; + mes "*hack* is why my blade was covered"; + mes "in blood..."; + npctalk "Doyen Irene : She *cough* had already been killed by an assassin. I slew him that *hack* is why my blade was covered in blood..."; + next; + cutin "sara_elder_irine4.bmp",255; + cutin "sara_momdie.bmp",4; + mes "^ff0000Thinking back you seem to recall^000000"; + mes "^ff0000another body laying in the left^000000"; + mes "^ff0000corner of the room. Maybe that was^000000"; + mes "^ff0000the assassin the Doyen is talking^000000"; + mes "^ff0000about.^000000"; + donpcevent instance_npcname("?#saratalk2")+"::OnChat1"; + next; + cutin "sara_momdie.bmp",255; + cutin "sara_elder_irine4.bmp",2; + mes "[Doyen Irene]"; + mes "If.. you are not the assassin sent to kill my wife and daughter, who are you?"; + npctalk "Doyen Irene : If.. you are not the assassin sent to kill my wife and daughter, who are you?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "I am just an adventurer who was"; + mes "passing through. I heard some men"; + mes "plotting their deaths and needed to"; + mes "intervene."; + unittalk getcharid(3),strcharinfo(0)+" : I am just an adventurer who was passing through. I heard some men plotting their deaths and needed to intervene."; + next; + mes "[Doyen Irene]"; + mes "If.. you are telling the truth..."; + mes "forgive me. I though you were one"; + mes "of them."; + npctalk "Doyen Irene : If.. you are telling the truth... forgive me. I though you were one of them."; + next; + mes "[Doyen Irene]"; + mes "Strange men... I bet they were some"; + mes "of the village elders. Ugh..."; + npctalk "Doyen Irene : Strange men... I bet they were some of the village elders. Ugh..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "There might be more assassins so we"; + mes "have to find sara as fast as we"; + mes "can."; + unittalk getcharid(3),strcharinfo(0)+" : There might be more assassins so we have to find sara as fast as we can."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Sara believes that you killed her"; + mes "mother. We need to tell her the"; + mes "truth."; + unittalk getcharid(3),strcharinfo(0)+" : Sara believes that you killed her mother. We need to tell her the truth."; + next; + mes "[Doyen Irene]"; + mes "We must do our best to find her."; + mes "Let's split up and search for her."; + mes "Please help me find my daughter and"; + mes "explain everything to her."; + npctalk "Doyen Irene : We must do our best to find her. Let's split up and search for her. Please help me find my daughter and explain everything to her."; + close2; + cutin "sara_elder_irine4.bmp",255; + viewpoint 1,88,188,1,0x00FF00; + mapannounce instance_mapname("1@sara")," We must find Sara. You seem remember her running in the 8 O'clock direction.",bc_map,"0xFFFF00"; + donpcevent instance_npcname("Doyen Irene#sarains3")+"::OnDisable"; + donpcevent instance_npcname("?#saratalk2")+"::OnDisable"; + donpcevent instance_npcname("?#saratalk2")+"::OnEnable"; + donpcevent instance_npcname("#sarawarp6")+"::OnEnable"; + donpcevent instance_npcname("?????#saratalk4")+"::OnEnable"; + donpcevent instance_npcname("Sara Irene#sarains3")+"::OnEnable"; + } + end; +OnInstanceInit: + donpcevent instance_npcname("Doyen Irene#sarains3")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Doyen Irene#sarains3"); + end; +OnDisable: + hideonnpc instance_npcname("Doyen Irene#sarains3"); + end; +} + +1@sara,268,158,0 script ?#saratalk2 -1,{ + end; +OnInstanceInit: + donpcevent instance_npcname("?#saratalk2")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("?#saratalk2"); + end; +OnDisable: + hideonnpc instance_npcname("?#saratalk2"); + end; +OnChat1: + npctalk "Thinking back you seem to recall another body laying in the left corner of the room. Maybe that was the assassin the Doyen is talking about."; + end; +} + +1@sara,39,142,3 script Sara Irene#sarains3 668,{ + if(getcharid(0) == getpartyleader(getcharid(1),2)) { + mes "^ff0000As you are about to call out to^000000"; + mes "^ff0000Sara a sudden blow knocks you down^000000"; + mes "^ff0000from behind.^000000"; + donpcevent instance_npcname("?#saratalk3")+"::OnChat1"; + next; + cutin "sara_beholder.bmp",2; + mes "[?????]"; + mes "The time travellers cannot"; + mes "interfere any longer. You cannot"; + mes "stop us from meeting Sara."; + donpcevent instance_npcname("?????#saratalk4")+"::OnChat1"; + next; + mes "[?????]"; + mes "You should go back to the time"; + mes "where you belong."; + donpcevent instance_npcname("?????#saratalk4")+"::OnChat2"; + next; + mes "^ff0000As you fall to the ground two dark^000000"; + mes "^ff0000figures approach Sara.^000000"; + donpcevent instance_npcname("?#saratalk3")+"::OnChat2"; + next; + mes "[?????]"; + mes "A girl full of betrayal, despair,"; + mes "and hate. We will guide you to your"; + mes "ultimate fate."; + donpcevent instance_npcname("?????#saratalk4")+"::OnChat3"; + next; + cutin "sara_9sara2.bmp",2; + mes "[Sara Irene]"; + mes "..."; + npctalk "Sara Irene : ..."; + next; + cutin "sara_beholder.bmp",2; + mes "[?????]"; + mes "Sara Irene, he will make your"; + mes "dreams come true."; + donpcevent instance_npcname("?????#saratalk4")+"::OnChat4"; + next; + cutin "sara_beholder.bmp",255; + mes "^ff0000One of the cloaked strangers covers^000000"; + mes "^ff0000Sara with their cloak and all three^000000"; + mes "^ff0000figures disappear.^000000"; + donpcevent instance_npcname("?#saratalk3")+"::OnChat3"; + donpcevent instance_npcname("Sara Irene#sarains3")+"::OnDisable"; + next; + //Custom text + mes "^ff0000At the same time as Sara disappearing^000000"; + mes "^ff0000this place begin to become unstable,^000000"; + mes "^ff0000just like what Leon said before.^000000"; + donpcevent instance_npcname("?#saratalk3")+"::OnChat4"; + next; + mes "^ff0000We need to get out from this place quickly to the left.^000000"; + mes "^ff0000And when we at the outside let's talk to him.^000000"; + donpcevent instance_npcname("?#saratalk3")+"::OnChat5"; + close2; + donpcevent instance_npcname("?#saratalk3")+"::OnDisable"; + donpcevent instance_npcname("?????#saratalk4")+"::OnDisable"; + donpcevent instance_npcname("#sarawarp7")+"::OnEnable"; + } + end; +OnInstanceInit: + donpcevent instance_npcname("Sara Irene#sarains3")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("Sara Irene#sarains3"); + end; +OnDisable: + hideonnpc instance_npcname("Sara Irene#sarains3"); + end; +} + +1@sara,152,233,0 script ?#saratalk3 -1,{ + end; +OnInstanceInit: + donpcevent instance_npcname("?#saratalk3")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("?#saratalk3"); + end; +OnDisable: + hideonnpc instance_npcname("?#saratalk3"); + end; +OnChat1: + npctalk "As you are about to call out to Sara a sudden blow knocks you down from behind."; + end; +OnChat2: + npctalk "As you fall to the ground two dark figures approach Sara."; + end; +OnChat3: + npctalk "One of the cloaked strangers covers Sara with their cloak and all three figures disappear."; + end; +OnChat4: + npctalk "At the same time as Sara disappearing this place begin to become unstable, just like what Leon said before."; + end; +OnChat5: + npctalk "We need to get out from this place quickly to the left. And when we at the outside let's talk to him."; + end; +} + +1@sara,152,233,0 script ?????#saratalk4 -1,{ + end; +OnInstanceInit: + donpcevent instance_npcname("?????#saratalk4")+"::OnDisable"; + end; +OnEnable: + hideoffnpc instance_npcname("?????#saratalk4"); + end; +OnDisable: + hideonnpc instance_npcname("?????#saratalk4"); + end; +OnChat1: + npctalk "????? : The time travellers cannot interfere any longer. You cannot stop us from meeting Sara."; + end; +OnChat2: + npctalk "????? : You should go back to the time where you belong."; + end; +OnChat3: + npctalk "????? : A girl full of betrayal, despair, and hate. We will guide you to your ultimate fate."; + end; +OnChat4: + npctalk "????? : Sara Irene, he will make your dreams come true."; + end; +} + +1@sara,97,304,5 script Sara Irene#sarains4 668,7,7,{ + end; +OnTouch: + npctalk "Sara Irene : Why daddy?"; + initnpctimer; + donpcevent instance_npcname("Sara Irene#sarains4")+"::OnDisable"; + end; +OnTimer60000: + donpcevent instance_npcname("Sara Irene#sarains4")+"::OnEnable"; + end; +OnInstanceInit: + donpcevent instance_npcname("Sara Irene#sarains4")+"::OnDisable"; + end; +OnEnable: + enablenpc instance_npcname("Sara Irene#sarains4"); + hideoffnpc instance_npcname("Sara Irene#sarains4"); + stopnpctimer; + end; +OnDisable: + hideonnpc instance_npcname("Sara Irene#sarains4"); + disablenpc instance_npcname("Sara Irene#sarains4"); + end; +} + +1@sara,128,296,5 script Sara Irene#sarains5 668,7,7,{ + end; +OnTouch: + npctalk "Sara Irene : Not mommy!"; + initnpctimer; + donpcevent instance_npcname("Sara Irene#sarains5")+"::OnDisable"; + end; +OnTimer60000: + donpcevent instance_npcname("Sara Irene#sarains5")+"::OnEnable"; + end; +OnInstanceInit: + donpcevent instance_npcname("Sara Irene#sarains5")+"::OnDisable"; + end; +OnEnable: + enablenpc instance_npcname("Sara Irene#sarains5"); + hideoffnpc instance_npcname("Sara Irene#sarains5"); + stopnpctimer; + end; +OnDisable: + hideonnpc instance_npcname("Sara Irene#sarains5"); + disablenpc instance_npcname("Sara Irene#sarains5"); + end; +} + +1@sara,90,215,5 script Sara Irene#sarains6 668,7,7,{ + end; +OnTouch: + npctalk "Sara Irene : Why did he do it?!"; + initnpctimer; + donpcevent instance_npcname("Sara Irene#sarains6")+"::OnDisable"; + end; +OnTimer60000: + donpcevent instance_npcname("Sara Irene#sarains6")+"::OnEnable"; + end; +OnInstanceInit: + donpcevent instance_npcname("Sara Irene#sarains6")+"::OnDisable"; + end; +OnEnable: + enablenpc instance_npcname("Sara Irene#sarains6"); + hideoffnpc instance_npcname("Sara Irene#sarains6"); + stopnpctimer; + end; +OnDisable: + hideonnpc instance_npcname("Sara Irene#sarains6"); + disablenpc instance_npcname("Sara Irene#sarains6"); + end; +} + +1@sara,124,230,5 script Sara Irene#sarains7 668,7,7,{ + end; +OnTouch: + npctalk "Sara Irene : Why.. why?!"; + initnpctimer; + donpcevent instance_npcname("Sara Irene#sarains7")+"::OnDisable"; + end; +OnTimer60000: + donpcevent instance_npcname("Sara Irene#sarains7")+"::OnEnable"; + end; +OnInstanceInit: + donpcevent instance_npcname("Sara Irene#sarains7")+"::OnDisable"; + end; +OnEnable: + enablenpc instance_npcname("Sara Irene#sarains7"); + hideoffnpc instance_npcname("Sara Irene#sarains7"); + stopnpctimer; + end; +OnDisable: + hideonnpc instance_npcname("Sara Irene#sarains7"); + disablenpc instance_npcname("Sara Irene#sarains7"); + end; +} + +1@sara,174,226,5 script Sara Irene#sarains8 668,7,7,{ + end; +OnTouch: + npctalk "Sara Irene : Noooo..."; + initnpctimer; + donpcevent instance_npcname("Sara Irene#sarains8")+"::OnDisable"; + end; +OnTimer60000: + donpcevent instance_npcname("Sara Irene#sarains8")+"::OnEnable"; + end; +OnInstanceInit: + donpcevent instance_npcname("Sara Irene#sarains8")+"::OnDisable"; + end; +OnEnable: + enablenpc instance_npcname("Sara Irene#sarains8"); + hideoffnpc instance_npcname("Sara Irene#sarains8"); + stopnpctimer; + end; +OnDisable: + hideonnpc instance_npcname("Sara Irene#sarains8"); + disablenpc instance_npcname("Sara Irene#sarains8"); + end; +} + +1@sara,203,259,5 script Sara Irene#sarains9 668,7,7,{ + end; +OnTouch: + npctalk "Sara Irene : ..."; + initnpctimer; + donpcevent instance_npcname("Sara Irene#sarains9")+"::OnDisable"; + end; +OnTimer60000: + donpcevent instance_npcname("Sara Irene#sarains9")+"::OnEnable"; + end; +OnInstanceInit: + donpcevent instance_npcname("Sara Irene#sarains9")+"::OnDisable"; + end; +OnEnable: + enablenpc instance_npcname("Sara Irene#sarains9"); + hideoffnpc instance_npcname("Sara Irene#sarains9"); + stopnpctimer; + end; +OnDisable: + hideonnpc instance_npcname("Sara Irene#sarains9"); + disablenpc instance_npcname("Sara Irene#sarains9"); + end; +} + +1@sara,225,298,5 script Sara Irene#sarains10 668,7,7,{ + end; +OnTouch: + npctalk "Sara Irene : Why does it hurt so much?"; + initnpctimer; + donpcevent instance_npcname("Sara Irene#sarains10")+"::OnDisable"; + end; +OnTimer60000: + donpcevent instance_npcname("Sara Irene#sarains10")+"::OnEnable"; + end; +OnInstanceInit: + donpcevent instance_npcname("Sara Irene#sarains10")+"::OnDisable"; + end; +OnEnable: + enablenpc instance_npcname("Sara Irene#sarains10"); + hideoffnpc instance_npcname("Sara Irene#sarains10"); + stopnpctimer; + end; +OnDisable: + hideonnpc instance_npcname("Sara Irene#sarains10"); + disablenpc instance_npcname("Sara Irene#sarains10"); + end; +} + +1@sara,228,282,5 script Sara Irene#sarains11 668,7,7,{ + end; +OnTouch: + npctalk "Sara Irene : ........"; + initnpctimer; + donpcevent instance_npcname("Sara Irene#sarains11")+"::OnDisable"; + end; +OnTimer60000: + donpcevent instance_npcname("Sara Irene#sarains11")+"::OnEnable"; + end; +OnInstanceInit: + donpcevent instance_npcname("Sara Irene#sarains11")+"::OnDisable"; + end; +OnEnable: + enablenpc instance_npcname("Sara Irene#sarains11"); + hideoffnpc instance_npcname("Sara Irene#sarains11"); + stopnpctimer; + end; +OnDisable: + hideonnpc instance_npcname("Sara Irene#sarains11"); + disablenpc instance_npcname("Sara Irene#sarains11"); + end; +} + +1@sara,243,250,5 script Sara Irene#sarains12 668,7,7,{ + end; +OnTouch: + npctalk "Sara Irene : ...Mommy"; + initnpctimer; + donpcevent instance_npcname("Sara Irene#sarains12")+"::OnDisable"; + end; +OnTimer60000: + donpcevent instance_npcname("Sara Irene#sarains12")+"::OnEnable"; + end; +OnInstanceInit: + donpcevent instance_npcname("Sara Irene#sarains12")+"::OnDisable"; + end; +OnEnable: + enablenpc instance_npcname("Sara Irene#sarains12"); + hideoffnpc instance_npcname("Sara Irene#sarains12"); + stopnpctimer; + end; +OnDisable: + hideonnpc instance_npcname("Sara Irene#sarains12"); + disablenpc instance_npcname("Sara Irene#sarains12"); + end; +} + +1@sara,265,253,5 script Sara Irene#sarains13 668,7,7,{ + end; +OnTouch: + npctalk "Sara Irene : What happened to you daddy?"; + initnpctimer; + donpcevent instance_npcname("Sara Irene#sarains13")+"::OnDisable"; + end; +OnTimer60000: + donpcevent instance_npcname("Sara Irene#sarains13")+"::OnEnable"; + end; +OnInstanceInit: + donpcevent instance_npcname("Sara Irene#sarains13")+"::OnDisable"; + end; +OnEnable: + enablenpc instance_npcname("Sara Irene#sarains13"); + hideoffnpc instance_npcname("Sara Irene#sarains13"); + stopnpctimer; + end; +OnDisable: + hideonnpc instance_npcname("Sara Irene#sarains13"); + disablenpc instance_npcname("Sara Irene#sarains13"); + end; +} + +1@sara,231,205,5 script Sara Irene#sarains14 668,7,7,{ + end; +OnTouch: + npctalk "Sara Irene : All that blood..."; + initnpctimer; + donpcevent instance_npcname("Sara Irene#sarains14")+"::OnDisable"; + end; +OnTimer60000: + donpcevent instance_npcname("Sara Irene#sarains14")+"::OnEnable"; + end; +OnInstanceInit: + donpcevent instance_npcname("Sara Irene#sarains14")+"::OnDisable"; + end; +OnEnable: + enablenpc instance_npcname("Sara Irene#sarains14"); + hideoffnpc instance_npcname("Sara Irene#sarains14"); + stopnpctimer; + end; +OnDisable: + hideonnpc instance_npcname("Sara Irene#sarains14"); + disablenpc instance_npcname("Sara Irene#sarains14"); + end; +} + +1@sara,238,53,5 script Sara Irene#sarains15 668,7,7,{ + end; +OnTouch: + npctalk "Sara Irene : Who are you?!"; + initnpctimer; + donpcevent instance_npcname("Sara Irene#sarains15")+"::OnDisable"; + end; +OnTimer60000: + donpcevent instance_npcname("Sara Irene#sarains15")+"::OnEnable"; + end; +OnInstanceInit: + donpcevent instance_npcname("Sara Irene#sarains15")+"::OnDisable"; + end; +OnEnable: + enablenpc instance_npcname("Sara Irene#sarains15"); + hideoffnpc instance_npcname("Sara Irene#sarains15"); + stopnpctimer; + end; +OnDisable: + hideonnpc instance_npcname("Sara Irene#sarains15"); + disablenpc instance_npcname("Sara Irene#sarains15"); + end; +} + +1@sara,184,67,5 script Sara Irene#sarains16 668,7,7,{ + end; +OnTouch: + npctalk "Sara Irene : I want my mommy!"; + initnpctimer; + donpcevent instance_npcname("Sara Irene#sarains16")+"::OnDisable"; + end; +OnTimer60000: + donpcevent instance_npcname("Sara Irene#sarains16")+"::OnEnable"; + end; +OnInstanceInit: + donpcevent instance_npcname("Sara Irene#sarains16")+"::OnDisable"; + end; +OnEnable: + enablenpc instance_npcname("Sara Irene#sarains16"); + hideoffnpc instance_npcname("Sara Irene#sarains16"); + stopnpctimer; + end; +OnDisable: + hideonnpc instance_npcname("Sara Irene#sarains16"); + disablenpc instance_npcname("Sara Irene#sarains16"); + end; +} + +1@sara,150,60,5 script Sara Irene#sarains17 668,7,7,{ + end; +OnTouch: + npctalk "Sara Irene : ........"; + initnpctimer; + donpcevent instance_npcname("Sara Irene#sarains17")+"::OnDisable"; + end; +OnTimer60000: + donpcevent instance_npcname("Sara Irene#sarains17")+"::OnEnable"; + end; +OnInstanceInit: + donpcevent instance_npcname("Sara Irene#sarains17")+"::OnDisable"; + end; +OnEnable: + enablenpc instance_npcname("Sara Irene#sarains17"); + hideoffnpc instance_npcname("Sara Irene#sarains17"); + stopnpctimer; + end; +OnDisable: + hideonnpc instance_npcname("Sara Irene#sarains17"); + disablenpc instance_npcname("Sara Irene#sarains17"); + end; +} + +1@sara,105,63,5 script Sara Irene#sarains18 668,7,7,{ + end; +OnTouch: + npctalk "Sara Irene : Nooooo..."; + initnpctimer; + donpcevent instance_npcname("Sara Irene#sarains18")+"::OnDisable"; + end; +OnTimer60000: + donpcevent instance_npcname("Sara Irene#sarains18")+"::OnEnable"; + end; +OnInstanceInit: + donpcevent instance_npcname("Sara Irene#sarains18")+"::OnDisable"; + end; +OnEnable: + enablenpc instance_npcname("Sara Irene#sarains18"); + hideoffnpc instance_npcname("Sara Irene#sarains18"); + stopnpctimer; + end; +OnDisable: + hideonnpc instance_npcname("Sara Irene#sarains18"); + disablenpc instance_npcname("Sara Irene#sarains18"); + end; +} + +1@sara,163,99,5 script Sara Irene#sarains19 668,7,7,{ + end; +OnTouch: + npctalk "Sara Irene : Mommy!"; + initnpctimer; + donpcevent instance_npcname("Sara Irene#sarains19")+"::OnDisable"; + end; +OnTimer60000: + donpcevent instance_npcname("Sara Irene#sarains19")+"::OnEnable"; + end; +OnInstanceInit: + donpcevent instance_npcname("Sara Irene#sarains19")+"::OnDisable"; + end; +OnEnable: + enablenpc instance_npcname("Sara Irene#sarains19"); + hideoffnpc instance_npcname("Sara Irene#sarains19"); + stopnpctimer; + end; +OnDisable: + hideonnpc instance_npcname("Sara Irene#sarains19"); + disablenpc instance_npcname("Sara Irene#sarains19"); + end; +} + +1@sara,184,106,5 script Sara Irene#sarains20 668,7,7,{ + end; +OnTouch: + npctalk "Sara Irene : ........"; + initnpctimer; + donpcevent instance_npcname("Sara Irene#sarains20")+"::OnDisable"; + end; +OnTimer60000: + donpcevent instance_npcname("Sara Irene#sarains20")+"::OnEnable"; + end; +OnInstanceInit: + donpcevent instance_npcname("Sara Irene#sarains20")+"::OnDisable"; + end; +OnEnable: + enablenpc instance_npcname("Sara Irene#sarains20"); + hideoffnpc instance_npcname("Sara Irene#sarains20"); + stopnpctimer; + end; +OnDisable: + hideonnpc instance_npcname("Sara Irene#sarains20"); + disablenpc instance_npcname("Sara Irene#sarains20"); + end; +} + +1@sara,153,124,5 script Sara Irene#sarains21 668,7,7,{ + end; +OnTouch: + npctalk "Sara Irene : Daddy!"; + initnpctimer; + donpcevent instance_npcname("Sara Irene#sarains21")+"::OnDisable"; + end; +OnTimer60000: + donpcevent instance_npcname("Sara Irene#sarains21")+"::OnEnable"; + end; +OnInstanceInit: + donpcevent instance_npcname("Sara Irene#sarains21")+"::OnDisable"; + end; +OnEnable: + enablenpc instance_npcname("Sara Irene#sarains21"); + hideoffnpc instance_npcname("Sara Irene#sarains21"); + stopnpctimer; + end; +OnDisable: + hideonnpc instance_npcname("Sara Irene#sarains21"); + disablenpc instance_npcname("Sara Irene#sarains21"); + end; +} + +1@sara,141,153,5 script Sara Irene#sarains22 668,7,7,{ + end; +OnTouch: + npctalk "Sara Irene : ........"; + initnpctimer; + donpcevent instance_npcname("Sara Irene#sarains22")+"::OnDisable"; + end; +OnTimer60000: + donpcevent instance_npcname("Sara Irene#sarains22")+"::OnEnable"; + end; +OnInstanceInit: + donpcevent instance_npcname("Sara Irene#sarains22")+"::OnDisable"; + end; +OnEnable: + enablenpc instance_npcname("Sara Irene#sarains22"); + hideoffnpc instance_npcname("Sara Irene#sarains22"); + stopnpctimer; + end; +OnDisable: + hideonnpc instance_npcname("Sara Irene#sarains22"); + disablenpc instance_npcname("Sara Irene#sarains22"); + end; +} + +1@sara,201,155,5 script Sara Irene#sarains23 668,7,7,{ + end; +OnTouch: + npctalk "Sara Irene : Why?"; + initnpctimer; + donpcevent instance_npcname("Sara Irene#sarains23")+"::OnDisable"; + end; +OnTimer60000: + donpcevent instance_npcname("Sara Irene#sarains23")+"::OnEnable"; + end; +OnInstanceInit: + donpcevent instance_npcname("Sara Irene#sarains23")+"::OnDisable"; + end; +OnEnable: + enablenpc instance_npcname("Sara Irene#sarains23"); + hideoffnpc instance_npcname("Sara Irene#sarains23"); + stopnpctimer; + end; +OnDisable: + hideonnpc instance_npcname("Sara Irene#sarains23"); + disablenpc instance_npcname("Sara Irene#sarains23"); + end; +} diff --git a/re/instances/WolfchevLaboratory.txt b/re/instances/WolfchevLaboratory.txt new file mode 100644 index 0000000..afd3d9c --- /dev/null +++ b/re/instances/WolfchevLaboratory.txt @@ -0,0 +1,3176 @@ +//===== rAthena Script ======================================= +//= Wolfchev's Laboratory +//===== By: ================================================== +//= Kisuka +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Defeat Wolfchev's human experimentations. +//===== Additional Comments: ================================= +//= 1.0 First version, edited. [Euphy] +//============================================================ + +// Giacomo Girolam +//============================================================ +lighthalzen,303,303,6 script Giacomo Girolamo#kiup2 4_M_KHMAN,3,3,{ + if ((MaxWeight - Weight) < 1000 || !checkweight(1201, 1)) { + mes "^FF0000 Check up your inventory. You got too many items to carry out the quest. ^000000"; + close; + } + if (lhz_boss > 30) { + if (!lght_duk01) { + if (Sex) { + emotion e_pif, "Giacomo Girolamo#kiup2"; + mes "[Giacomo Girolamo]"; + mes "....a guy....?"; + next; + mes "[Giacomo Girolamo]"; + mes "Ah! Hey! Man!"; + next; + select("What's up?"); + emotion e_what, 1; + mes "[Giacomo Girolamo]"; + mes "Have you ever heard of horrific human experimentation committed in Rekenber Corporation whose head office is here in Lighthalzen?"; + next; + select("Whaaat?! human experimentation?"); + emotion e_omg, 1; + mes "[Giacomo Girolamo]"; + mes "Yea! human experimentation!!"; + mes "There are a lot of rumors that horrible human experimentation is actually performed, but these people in the slum....don't want to believe that due to the welfare movement from Rekenber."; + next; + emotion e_swt2, "Giacomo Girolamo#kiup2"; + mes "[Giacomo Girolamo]"; + mes "Well! and those rich people, seem to know something but they never mention that..."; + next; + mes "[Giacomo Girolamo]"; + mes "Ahh!! And this is a secret that just SOME PEOPLE know. I heard that from Rekenber Lab.,.. a person named...um...Wol...."; + next; + emotion e_hmm, "Giacomo Girolamo#kiup2"; + mes "[Giacomo Girolamo]"; + mes "Anyway!! A scientist named Wolf.. something suddenly got sacked. and he must be related with this rumor, I think..."; + next; + select("You mean... Wolfchev?"); + emotion e_gasp, "Giacomo Girolamo#kiup2"; + mes "[Giacomo Girolamo]"; + mes "Ohhhh?! yeah Wolfchev!! That's right, the name was Wolfchev.. The mad scientist.."; + next; + emotion e_ok, "Giacomo Girolamo#kiup2"; + mes "[Giacomo Girolamo]"; + mes "I suppose you can then understand the story faster... I am sure that he's involved in the rumor. I swear."; + next; + mes "[Giacomo Girolamo]"; + mes "By the way..what about you? Is there anything that you know about him?"; + next; + if (select("Pretend you know nothing.", "Tell him what you know.") == 1) { + mes "["+ strcharinfo(0) +"]"; + mes "Not really. I've ever heard of his name, but I don't know anything about him.."; + next; + mes "[Giacomo Girolamo]"; + mes "Hm.... You sound suspicious, dude! huh?"; + next; + } else { + mes "["+ strcharinfo(0) +"]"; + mes "He happens to research into Human 'Homunculus' without telling that to Rekenber Corp., and there was a whistle-blower who reported to the corp. so he was fired."; + next; + emotion e_no1, "Giacomo Girolamo#kiup2"; + mes "[Giacomo Girolamo]"; + mes "Oh! Man..! You seem to know pretty much! By any chance, are you concerned with Rekenber??"; + next; + emotion e_dots; + mes "["+ strcharinfo(0) +"]"; + mes "... .... ..."; + next; + } + emotion e_hmm, "Giacomo Girolamo#kiup2"; + mes "[Giacomo Girolamo]"; + mes "Don't worry. I didn't mean anything."; + next; + mes "[Giacomo Girolamo]"; + mes "Well! I am just curious only because some people in the slum and some adventurers were missing,"; + mes "and I heard that Rekenber was doing human experimentation with those missing people. Hope you don't get me wrong."; + next; + lght_duk01 = 1; + setquest 5109; + mes "Actually, it is not a funny rumor."; + mes "Should investigate the lab where the experiment was carried out."; + close; + } else { + emotion e_lv, "Giacomo Girolamo#kiup2"; + mes "[Giacomo Girolamo]"; + mes "Oh! What a beautiful lady!!"; + next; + emotion e_what, "Giacomo Girolamo#kiup2"; + mes "[Giacomo Girolamo]"; + mes "How come a beauty is here, in a place with dangerous rumor?"; + next; + switch(select("Walking...", "To hang out...", "Shopping...")) { + case 1: + mes "[Giacomo Girolamo]"; + mes "Ahh.. Lady, you are so graceful even when you are just walking....."; + next; + break; + case 2: + mes "[Giacomo Girolamo]"; + mes "Lady. You are a dignified lady even if you hang out in this poor town..."; + next; + break; + case 3: + mes "[Giacomo Girolamo]"; + mes "Ahh.. Lady.. Shopping in the slum!!.. Are you a type who needs to look around every single shop?"; + next; + break; + } + } + select("... .... ... ...."); + mes "[Giacomo Girolamo]"; + mes "Well, how dare I ask you and be interested in what the lady does..."; + next; + emotion e_ok, "Giacomo Girolamo#kiup2"; + mes "[Giacomo Girolamo]"; + mes "I just hope that the lady gets out of this town with dangerous rumors.."; + next; + select("Dangerous rumors?"); + emotion e_what, 1; + mes "[Giacomo Girolamo]"; + mes "Ah... Lady may not have heard of the rumor."; + next; + mes "[Giacomo Girolamo]"; + mes "Recently, some people from this town, actually from the slum...and some adventurers are missing..."; + next; + mes "[Giacomo Girolamo]"; + mes "and then the rumor came up, since disappearance cases happen pretty often, that Rekenber is committing a horrible human experimentation in their secret lab."; + next; + select("Excuse me?! human experimentation?"); + emotion e_omg, 1; + mes "[Giacomo Girolamo]"; + mes "Yea! human experimentation!!"; + mes "There are a lot of rumors that horrible human experimentation is actually performed, but these people in the slum....don't want to believe that due to the welfare movement from Rekenber."; + next; + mes "[Giacomo Girolamo]"; + mes "Well! the rich people either want to believe..I think.. Ah!! And couple of weeks ago. um. what's his name? Wolfchev??"; + next; + mes "[Giacomo Girolamo]"; + mes "Anyway!! that research got fired from the lab. I think he must be involved with this rumor."; + next; + mes "[Giacomo Girolamo]"; + mes "So, please, lady. Please don't be in a place like this and stay in safe ways."; + next; + lght_duk01 = 1; + setquest 5109; + mes "............ It seems a pretty serious matter."; + mes "Should investigate the lab where the experiment was carried out."; + close; + } else { + mes "[Giacomo Girolamo]"; + if (Sex) { + emotion e_paper, "Giacomo Girolamo#kiup2"; + mes "Take care yourself and don't disappear!"; + } else { + emotion e_lv2, "Giacomo Girolamo#kiup2"; + mes "Be careful, Lady."; + } + close; + } + } else { + if (Sex) { + emotion e_ho, "Giacomo Girolamo#kiup2"; + mes "[Giacomo Girolamo]"; + mes "Only those beautiful ladies are the reason of my life~!"; + mes "I, Giacomo Girolamo Casanova de Seingalt am never interested in guys like you though!!"; + next; + emotion e_an, "Giacomo Girolamo#kiup2"; + mes "[Giacomo Girolamo]"; + mes "but I can listen to you...you wanna say anything to me?"; + next; + switch(select("No..?", "About ladies..", "You Womanizer!!", "Envy you...", "What's the rumor lately?")) { + case 1: + emotion e_hmm, "Giacomo Girolamo#kiup2"; + mes "[Giacomo Girolamo]"; + mes "Hey you, get out of my way then.."; + close; + case 2: + emotion e_an, "Giacomo Girolamo#kiup2"; + mes "[Giacomo Girolamo]"; + mes "I don't feel like talking about my precious ladies making fun of them. You do it with your friends."; + close; + case 3: + mes "[Giacomo Girolamo]"; + mes "Hey.. Excuse me!!! but I'm not a 'Womanizer', I am just a person who adores ladies."; + next; + emotion e_ok, "Giacomo Girolamo#kiup2"; + mes "[Giacomo Girolamo]"; + mes "Of course..... Yea... If I'm a womanizer, all the men on earth are too! I'm just Casanova. umhahahaha."; + close; + case 4: + emotion e_what, "Giacomo Girolamo#kiup2"; + mes "[Giacomo Girolamo]"; + mes "Haa.. Do you....? not have any woman but your sister and mother around you?"; + next; + mes "[Giacomo Girolamo]"; + mes "... .... ..."; + next; + emotion e_swt2, "Giacomo Girolamo#kiup2"; + mes "[Giacomo Girolamo]"; + mes "Oh...... sorry.. I got your point...."; + close; + case 5: + mes "[Giacomo Girolamo]"; + mes "You.. are not like how you seem? Interesting.."; + next; + mes "[Giacomo Girolamo]"; + mes "Yea, actually recently a lot of people from the slum and some wandering adventurers got disappeared. and I don't know why."; + next; + mes "[Giacomo Girolamo]"; + mes "You gotta be careful too.."; + close; + } + } else { + emotion e_what, "Giacomo Girolamo#kiup2"; + mes "[Giacomo Girolamo]"; + mes "Hey, lady?"; + next; + mes "[Giacomo Girolamo]"; + switch(rand(1,10)) { + case 1: + mes "Wasn't it painful when you fell down from Heaven, my Angel?"; + next; + break; + case 2: + mes "You must be tired. Because you are always wandering my mind."; + next; + break; + case 3: + mes "Are you not tired of walking around in my dream last night?"; + next; + break; + case 4: + mes "Excuse me. But I think I lost my heart. Could you please borrow me yours?"; + next; + break; + case 5: + mes "Do you believe in love at first sight?? Or can we start again..?"; + next; + break; + case 6: + mes "I am so sorry but, can you kiss with a person who just met?? Noo? Ok then let me introduce myself."; + next; + break; + case 7: + mes "I'm so lost here since it's the first time. Can you let me know which is the way to your heart?"; + next; + break; + case 8: + mes "Give me a map please.. To get a way....I'm fallen in your eyes."; + next; + break; + case 9: + mes "Your eyes....I wanna be forever there."; + next; + break; + case 10: + mes "I promise that I will be your everything in any case, in any difficult situation."; + next; + break; + } + emotion e_lv2, "Giacomo Girolamo#kiup2"; + mes "[Giacomo Girolamo]"; + mes "Today is the first day we met, but I love you, Lady <3 "; + next; + mes "[Giacomo Girolamo]"; + mes "And I am telling you this because I'm just worried about you. You need to get out of this town which is full of disappearance cases."; + close; + } + } + +OnTouch: + if (!lght_duk01) + emotion (Sex ? e_pif : e_lv2), "Giacomo Girolamo#kiup2"; + end; +} + +// Weird Old Man (Rewards) +//============================================================ +lighthalzen,342,291,4 script Weird old man#Bio4Reward 4_M_EINOLD,{ + if ((MaxWeight - Weight) < 2800 || !checkweight(1201, 1)) { + mes "^FF0000 Check up your inventory. You got too many items to carry out the quest. ^000000"; + close; + } + mes "[Weird old man]"; + mes "Phew, those young people nowadays, are so rude and have no manners."; + next; + if (select("Ignore him", "Talk with him") == 1) { + mes "[Weird old man]"; + mes "You, Very bad young man!"; + close; + } + mes "["+ strcharinfo(0) +"]"; + mes "Sir, Are you alright??"; + next; + mes "[Weird old man]"; + mes "....?? You are not like other young people. You have good manners! You know what happened to me..?"; + next; + switch(rand(1,2)) { + case 1: + mes "[Weird old man]"; + mes "I was on the way to visit my son who lives in Rune Midgarts. It's really far away, so I took the airplane, and.."; + next; + mes "[Weird old man]"; + mes "those young people...so noisy.... I was standing but non of them offered me a seat..and they were just talking in loud voices which bothered everyone."; + next; + mes "[Weird old man]"; + mes "I could lecture them if I were 10 years younger than now.."; + next; + mes "[Weird old man]"; + mes "Pffff.. Never like the time passing...."; + next; + mes "[Weird old man]"; + mes "So, you... what would you do??"; + next; + mes "[Weird old man]"; + mes "In an open, public place, you are supposed to stay quiet to the destination and offer your seat to the elderly and the infirm."; + next; + break; + case 2: + mes "[Weird old man]"; + mes "I was on the way to visit my son who lives in Rune Midgarts. It's really far away, so I took the airplane, and.."; + next; + mes "[Weird old man]"; + mes "those young people...so noisy.... I was standing but non of them offered me a seat..and they were just talking in loud voices which bothered everyone."; + next; + mes "[Weird old man]"; + mes "I could lecture them if I were 10 years younger than now.."; + next; + mes "[Weird old man]"; + mes "Pffff.. Never like the time passing...."; + next; + mes "[Weird old man]"; + mes "So, you... what would you do??"; + next; + mes "[Weird old man]"; + mes "In an open, public place, you are supposed to stay quiet to the destination and offer your seat to the elderly and the infirm. Right?"; + next; + mes "[Weird old man]"; + mes "Isn't that right?!"; + next; + switch(rand(1,2)) { + case 1: + mes "[Weird old man]"; + mes "Oh, and then! you know what...?"; + next; + mes "[Weird old man]"; + mes "Once I was walking in the town, and some boy were spitting on the street, and were bothering girls who were passing by...tut tut!"; + next; + mes "[Weird old man]"; + mes "The world is going to the dogs.. How will it be?? It was even a day time when they were doing it..tut tut."; + next; + switch(rand(1,2)) { + case 1: + mes "[Weird old man]"; + mes "Oh, and then! you know what...?"; + next; + break; + case 2: + mes "[Weird old man]"; + mes "Oh, and then! you know what...?"; + next; + mes "[Weird old man]"; + mes "Lately young people are not so patient!!!!"; + next; + mes "[Weird old man]"; + mes "That often, they say they will quit.. they say they can't more. How will they live all the lift with that kind of mentality..tut tut."; + next; + mes "[Weird old man]"; + mes "It's not easy to find a job, it is very difficult to be hired. But then they even cannot stand a week there, and leave the work already."; + next; + mes "[Weird old man]"; + mes "How impatient and irresponsible!!"; + next; + mes "[Weird old man]"; + mes "Oh, and then! you know what...?"; + next; + break; + } + case 2: + mes "[Weird old man]"; + mes "Oh, and then! you know what...?"; + next; + break; + } + } + mes "^E7A43DThe old man talked over and over again.^000000"; + next; + mes "[Weird old man]"; + mes "Hm......You are not like common young people, you seem pretty patient too. I like that!!!"; + next; + mes "[Weird old man]"; + mes "Now I am just an old, weak man but when I was young, I was a famous merchant in the town."; + next; + mes "[Weird old man]"; + mes "It's been a while since I stopped the business,"; + mes "but a former client of mine contacted me and asked me"; + next; + mes "[Weird old man]"; + mes "If I could get him some unknown objects named 'Will of Warrior', 'Thirst for Blood', 'Chill of the Dead'."; + next; + mes "[Weird old man]"; + mes "I liked your politeness which is not like most of young people, so if you get me those, I will dare to give you some stuffs that I consider as my treasures."; + next; + while(1) { + switch(select("When I gather them, I will come back", "Show me the armors", "Show me the weapons")) { + case 1: + mes "[Weird old man]"; + mes "OK, young man. See you later."; + close; + case 2: + mes "[Weird old man]"; + mes "So, you are interested in armors."; + next; + mes "[Weird old man]"; + mes "These are the armors I have."; + next; + for(.@i = 1; .@i < 8; .@i++) { + if (((.@i == 1 || .@i == 5) && (countitem(6469) >= 100) && (countitem(6470) >= 50) && (countitem(6471) >= 35)) || + ((.@i == 2 || .@i == 3) && (countitem(6469) >= 100) && (countitem(6470) >= 50) && (countitem(6471) >= 22)) || + ((.@i == 4 || .@i == 7) && (countitem(6469) >= 300) && (countitem(6470) >= 300) && (countitem(6471) >= 400)) || + ((.@i == 6) && (countitem(6469) >= 100) && (countitem(6470) >= 50) && (countitem(6471) >= 30))) { + .@armor$[.@i] = "^0000FF"; + } else { + .@armor$[.@i] = "^FF0000"; + } + } + while(1) { + switch(select( + "Show me other items.", + ""+.@armor$[1]+"Giant Shield^000000", + ""+.@armor$[2]+"Ancient Book of Geffenia-Water^000000", + ""+.@armor$[3]+"Bible of Promise(2nd Vol.)^000000", + ""+.@armor$[4]+"Salvage Cape^000000", + ""+.@armor$[5]+"Assassin's Handcuffs^000000", + ""+.@armor$[6]+"Green Operating Gown^000000", + ""+.@armor$[7]+"Ancient Gold Decoration^000000" + )) { + case 1: + mes "[Weird old man]"; + mes "Have a look."; + next; + .@break = 1; + break; + case 2: + mes "<>"; + mes "Decrease 5% of Damage from Large Monsters, if Refine Lv is 9, decrease 5% more of the Damage."; + mes "Shield / Def 130 / Weight 280 / Required Lv 100 / Socket 1 / for 3rd Swordman Classes"; + callsub L_Reward, 2160, 100, 50, 35; //Giant_Shield + break; + case 3: + mes "<>"; + mes "INT + 1, MDEF + 2. If Original INT point is 120, MATK + 10, MHP + 800."; + mes "When equipping with Lacryma Stick, the casting % from Storm Gust, Frost Misty and Jack frost will discount equivalent to 4 times Refine Lv."; + mes "Shield / Def 30 / Weight 100 / Required Lv 100 / Socket 1 / for Warlock"; + callsub L_Reward, 2161, 100, 50, 22; //Geffenia_Book_Water + break; + case 4: + mes "<>"; + mes "MDEF + 5, Allow to use 'Odin's Power'(Lv 2). Increase 5% more for Heal skill."; + mes "Shield / Def 20 / Weight 50 / Required Lv 140 / Socket 1 / for Archbishop"; + callsub L_Reward, 2162, 100, 50, 22; //Bible_Of_Promise2 + break; + case 5: + mes "<>"; + mes "Allow to use 'Cicada Skin Shed'(Lv 1). Cool time for this skill will be 30 seconds. When equiping it, SP consumption for using any skill will be doubled, When taking it off, SP - 1200."; + mes "Garment / Def 1 / Weight 40 / Required Lv 130 / Socket 0 / for Archbishop"; + callsub L_Reward, 2582, 300, 300, 400; //Salvage_Cape + break; + case 6: + mes "<>"; + mes "MSP + 20, CRI + 3. When equipping with Krishna, ATK + 50, ATK power from 'Sonic Blow' 50% increased, FLEE - 30. When equipping with Cakram CRI + 4, Critical ATK power 40% increased, MHP - 10%."; + mes "Accessory / Def 3 / Weight 40 / Required Lv 100 / Socket 1 / for Guillotine Cross"; + callsub L_Reward, 2892, 100, 50, 35; //Assassin_Handcuffs + break; + case 7: + mes "<>"; + mes "DEX + 1, MSP + 30. Equipping with Scalpel will let to drop 'Immortal Heart', 'Alcohol' with a certain chance when hunting Human, Animal type monsters. Refine Lv affects the drop rate."; + mes "Armor / Def 66 / Weight 66 / Required Lv 100 / Socket 1 / for Genetic"; + callsub L_Reward, 15044, 100, 50, 30; //Green_Operation_Coat + break; + case 8: + mes "<>"; + mes "If Base Lv. 150 or more, All Statuses + 2. When equipped by Swordman, Merchant, Thief class, ATK + 8%. When equipped by Mage or Acolyte class, MATK + 8%, increase 7% of Heal amount. When equipped by Archer class, DEX + 3, increase Long Distance Physical Attack Power by 10%."; + mes "Headgear / Def 7 / Location - Upper / Weight 40 / Required Lv 100 / Socket 1 / for 3rd Job Classes"; + callsub L_Reward, 18570, 300, 300, 400; //Ancient_Gold_Deco + break; + } + if (.@break) { + .@break = 0; + break; + } + } + break; + case 3: + mes "[Weird old man]"; + mes "So, you are interested in weapons."; + next; + mes "[Weird old man]"; + mes "These are the weapons I've got."; + next; + for(.@i = 1; .@i < 15; .@i++) { + if (((.@i == 1) && (countitem(6469) >= 50) && (countitem(6470) >= 100) && (countitem(6471) >= 10)) || + ((.@i == 2) && (countitem(6469) >= 50) && (countitem(6470) >= 100) && (countitem(6471) >= 85)) || + ((.@i == 3 || .@i == 4 || (.@i >= 8 && .@i < 11) || .@i >= 12) && (countitem(6469) >= 50) && (countitem(6470) >= 100) && (countitem(6471) >= 35)) || + ((.@i == 5 || .@i == 7 || .@i == 11) && (countitem(6469) >= 50) && (countitem(6470) >= 100) && (countitem(6471) >= 40)) || + ((.@i == 6) && (countitem(6469) >= 300) && (countitem(6470) >= 300) && (countitem(6471) >= 400))) { + .@weapon$[.@i] = "^0000FF"; + } else { + .@weapon$[.@i] = "^FF0000"; + } + } + while(1) { + switch(select( + "Show me other items.", + ""+.@weapon$[1]+"Agent Katar^000000", + ""+.@weapon$[2]+"Guillotine Katar^000000", + ""+.@weapon$[3]+"Ygnus Stale^000000", + ""+.@weapon$[4]+"End Sektura^000000", + ""+.@weapon$[5]+"Cannon Spear^000000", + ""+.@weapon$[6]+"Giant Lance^000000", + ""+.@weapon$[7]+"Chilly Spell Book^000000", + ""+.@weapon$[8]+"Recovery Light^000000", + ""+.@weapon$[9]+"Aztoe Nail^000000", + ""+.@weapon$[10]+"Scarletto Nail^000000", + ""+.@weapon$[11]+"Bloody Cross^000000", + ""+.@weapon$[12]+"Catapult^000000", + ""+.@weapon$[13]+"Big CrossBow^000000", + ""+.@weapon$[14]+"Creeper Bow^000000" + )) { + case 1: + mes "[Weird old man]"; + mes "Have a look."; + next; + .@break = 1; + break; + case 2: + mes "<>"; + mes "Every 2 Original LUK points gets additional 1 HIT point"; + mes "Katar / ATK 170 / Weight 120 / Weapon Lv 3 / Required Lv 100 / Socket 1 / for Guillotine Cross"; + callsub L_Reward, 1290, 50, 100, 10; //Agent_Katar + break; + case 3: + mes "<>"; + mes "DEX + 2. FLEE - 30. 50% more damage to Human monsters. Add 30% more damage for Cross Impact skill."; + mes "Katar / ATK 200 / Weight 150 / Weapon Lv 4 / Required Lv 140 / Socket 1 / for Guillotine Cross"; + callsub L_Reward, 1291, 50, 100, 85; //Guillotine_Katar + break; + case 4: + mes "<>"; + mes "When doing short distance attack, cast Burning to the player and to the enemy with a certain chance."; + mes "Two-Handed Axe / ATK 250 / Weight 190 / Fire Property / Weapon Lv 4 / Required Lv 95 / Socket 1 / for High Swordman/Merchant Classes"; + callsub L_Reward, 1392, 50, 100, 35; //Ygnus_Stale + break; + case 5: + mes "<>"; + mes "When doing short distance attack, cast Freezing to the player and to the enemy with a certain chance."; + mes "Two-Handed Axe / ATK 250 / Weight 190 / Water Property / Weapon Lv 4 / Required Lv 95 / Socket 1 / for High Swordman/Merchant Classes"; + callsub L_Reward, 1393, 50, 100, 35; //End_Sektura + break; + case 6: + mes "<>"; + mes "MSP - 100, Increases 10% of Damage impacted with Cannon Spear, Additional ATK power of Cannon Spear equivalent to 3 times Refine Lv."; + mes "One-Handed Spear / ATK 180 / Weight 160 / Weapon Lv 4 / Required Lv 100 / Socket 1 / for Royal Guard"; + callsub L_Reward, 1435, 50, 100, 40; //Cannon_Spear + break; + case 7: + mes "<>"; + mes "ASPD - 10, When it's taken off, the character gets SP - 600. 20 more seconds of Delay time exists before using back the Clashing Spiral. If the original STR points are 120, + ATK 300."; + mes "Two-Handed Lance / ATK 20 / Weight 2000 / Weapon Lv 4 / Required Lv 140 / Socket 0 / for Rune Knight"; + callsub L_Reward, 1490, 300, 300, 400; //Giant_Lance + break; + case 8: + mes "<>"; + mes "MATK + 160, DEX + 1. Increases ATK % of Cold Bolt, Diamond Dust equivalent to 3 times Refine Lv, also SP consumption from those skills increased equivalent to 5 times Refine Lv. Undestroyable."; + mes "Book / ATK 100 / Weight 100 / Water Property / Weapon Lv 4 / Required Lv 100 / Socket 2 / for Sorcerer"; + callsub L_Reward, 1584, 50, 100, 40; //Chilly_Spell_Book + break; + case 9: + mes "<>"; + mes "MATK + 160. Depending on its Refine Lv, Heal Ability and SP consumption for the skill increased. Indestructible."; + mes "One-Handed Staff / ATK 30 / Weight 40 / Saint Property / Weapon Lv 4 / Required Lv 110 / Socket 1 / for Archbishop."; + callsub L_Reward, 1659, 50, 100, 35; //Recovery_Light + break; + case 10: + mes "<>"; + mes "MATK + 80. For Physical Melee Attack, cast Freezing to the target with a certain chance. The chance is affected by Refine Lv."; + mes "Dagger / ATK 160 / Weight 50 / Wind Property / Weapon Lv 4 / Required Lv 110 / Socket 0 / for High Swordman/Merchant/Theif Classes"; + callsub L_Reward, 13069, 50, 100, 35; //Aztoe_Nail + break; + case 11: + mes "<>"; + mes "MATK + 80. For Physical Melee Attack, cast Stone curse to the target with a certain chance. The chance is affected by Refine Lv."; + mes "Dagger / ATK 160 / Weight 50 / Fire Property / Weapon Lv 4 / Required Lv 110 / Socket 0 / for High Swordman/Merchant/Theif Classes"; + callsub L_Reward, 13070, 50, 100, 35; //Scarletto_Nail + break; + case 12: + mes "<>"; + mes "For Physical Melee Attack, autocast 'Hell Inferno'(Lv 1) with a certain chance. The chance is affected by Refine Lv."; + mes "Mace / ATK 170 / Weight 150 / Darkness Property / Weapon Lv 4 / Required Lv 100 / Socket 0 / for High Acolyte Classes"; + callsub L_Reward, 16017, 50, 100, 40; //Bloody_Cross + break; + case 13: + mes "<>"; + mes "Increases ATK % of 'Triangle Shot' equivalent to 2 times Refine Lv, Also SP consumption from the skill increased."; + mes "Bow / ATK 150 / Weight 110 / Weapon Lv 4 / Required Lv 100 / Socket 2 / for Shadow Chaser"; + callsub L_Reward, 18109, 50, 100, 35; //Catapult + break; + case 14: + mes "<>"; + mes "Increases ATK % of 'Arrow Storm' equivalent to 5 times Refine Lv. Also SP consumption from the skill increased, If the Original AGI points are 120, ASPD + 1."; + mes "Bow / ATK 160 / Weight 90 / Weapon Lv 4 / Required Lv 110 / Socket 2 / for Ranger"; + callsub L_Reward, 18110, 50, 100, 35; //Big_CrossBow + break; + case 15: + mes "<>"; + mes "DEX + 1, For Physical Attack, auto-cast 'Fiber Lock'(Lv 1) with a certain chance."; + mes "Bow / ATK 150 / Weight 150 / Weapon Lv 3 / Required Lv 120 / Socket 2 / for 3rd Archer Classes"; + callsub L_Reward, 18111, 50, 100, 35; //Creeper_Bow + break; + } + if (.@break) { + .@break = 0; + break; + } + } + } + } + close; + +L_Reward: + next; + mes ""+getarg(1)+" Will of Warrior, "+getarg(2)+" Thirst for Blood, "+getarg(3)+" Chill of the Dead are needed for the exchange."; + next; + if (countitem(6469) >= getarg(1) && countitem(6470) >= getarg(2) && countitem(6471) >= getarg(3)) { + if (select("Don't exchange", "Exchange") == 1) { + mes "[Weird old man]"; + mes "Okay.."; + close; + } + emotion e_swt2, "Weird old man#Bio4Reward"; + progressbar "FF00FF", 2; + delitem 6469, getarg(1); //Will_Of_Warrior + delitem 6470, getarg(2); //Blood_Thirst + delitem 6471, getarg(3); //Goast_Chill + getitem getarg(0), 1; + mes "[Weird old man]"; + mes "There you go. Visit me sometimes and we could talk."; + close; + } + return; +} + +// Sorcerer (Rewards) +//============================================================ +lhz_cube,233,24,4 script Sorcerer#Bio4Reward 4_M_UMDANCEKID,{ + if ((MaxWeight - Weight) < 1200 || !checkweight(1201, 1)) { + mes "^FF0000 Check up your inventory. You got too many items to carry out the quest. ^000000"; + close; + } + disable_items; + mes "[Pudding]"; + mes "... .... ..."; + next; + switch(select("Umba umba humbaa", "What are you doing here?", "Which are the equipments found so far?", "Here you are, Sir.")) { + case 1: + emotion e_an; + mes "[Pudding]"; + mes "Hey, excuse me, but I'm not from Umbala! You are so rude."; + close; + case 2: + mes "[Pudding]"; + mes "As you can see, I'm a training Sorcerer, and my name is Pudding."; + next; + select("....?"); + emotion e_an; + mes "[Pudding]"; + mes "... What's that face? I'm starting to feel unpleasant.."; + next; + emotion e_ok; + mes "[Pudding]"; + mes "Couple of days ago, while I was undergoing discipline, I felt a strange, bizzare tinge. So I followed that and it brought me here."; + next; + select("I see."); + mes "[Pudding]"; + mes "OK, let me continue. I am so bothered if you disturb me while I'm talking."; + next; + mes "[Pudding]"; + mes "And I entered to the laboratory here in order to investigate, and oh gosh! I found those monsters which were like doppelgangers from 'Geffen Dungeon'. It was full of them."; + next; + mes "[Pudding]"; + mes "From those monsters, I could find rare items like '^F2766EWill of Warrior^000000' '^952420Thirst for Blood^000000' '^88C6F7Chill of the Dead^000000' which you cannot find from any other place."; + next; + emotion e_what, "Sorcerer#Bio4Reward"; + mes "[Pudding]"; + mes "And after many hours of research on my own, I finally figured out a way to use those items. Do you wanna know?"; + next; + switch(select("Oh....pardon?!", "Of course, I really wanna know.")) { + case 1: + emotion e_omg, 1; + emotion e_an, "Sorcerer#Bio4Reward"; + mes "[Pudding]"; + mes "Oh my! You fell asleep after you asked me something? Well, anyway I feel lazy to explain again so I will just continue."; + next; + break; + case 2: + emotion e_heh, "Sorcerer#Bio4Reward"; + mes "[Pudding]"; + mes "Good, I am content that you are listening to my story carefully. Then I will keep explaining."; + next; + break; + } + mes "[Pudding]"; + mes "Those '^F2766EWill of Warrior^000000' and '^952420Thirst for Blood^000000'..... are aggresive but warm materials."; + next; + mes "[Pudding]"; + mes "So '^F2766EWill of Warrior^000000' can dwell a special power to the 4th slot of an equipment,"; + next; + mes "[Pudding]"; + mes "and '^952420Thirst for Blood^000000' can dwell a special power to the 3rd slot."; + next; + mes "[Pudding]"; + mes "Whereas!!!"; + mes "'^88C6F7Chill of the Dead^000000' is a cold type material."; + mes "which allows to return the power from '^F2766EWill of Warrior^000000' or '^952420Thirst for Blood^000000' so it let the equipment to be 'ZERO'."; + next; + mes "[Pudding]"; + mes "What do you say? Doesn't it sound interesting? But, there's a problem..."; + next; + mes "[Pudding]"; + mes "Since those materials can only be found from the monsters in the Lab., the special power also can be dwelt into certain equipments which can be obtained from the Lab."; + next; + select("So what's the conclusion?"); + emotion e_what, 1; + emotion e_an; + mes "[Pudding]"; + mes "Gee.. I told you not to cut while I talk, didn't I? Well, I will answer that becuase that's important."; + next; + mes "[Pudding]"; + mes "If you bring me 10 '^F2766EWill of Warrior^000000' or 10 '^952420Thirst for Blood^000000', I will dwell some power to certain equipments that you can find in the Lab.."; + next; + mes "[Pudding]"; + mes "And if you are not satisfied with the power you got, bring me 10 '^88C6F7Chill of the Dead^000000', and I will take off that power."; + next; + mes "[Pudding]"; + mes "WHat do you say? Having both options.....quite nice, huh?"; + next; + mes "[Pudding]"; + mes "If you obtain '^F2766EWill of Warrior^000000' or '^952420Thirst for Blood^000000', and obtain also equipment which is capable to accept their power, bring them to me. I will be waiting."; + close; + case 3: + mes "[Pudding]"; + mes "Hm.... Equipment which are discovered so far are...."; + next; + mes "- checking -"; + mes "Pudding takes some paper out from a pocket."; + next; + mes "[Pudding]"; + mes "Let me see.. the equipments discovered until now are...."; + mes "6 Armors, 14 Weapons."; + next; + while(1) { + switch(select("Ok, I don't have to know more.", "6 Armors", "14 Weapons")) { + case 1: + mes "[Pudding]"; + mes "If you obtain '^F2766EWill of Warrior^000000' or '^952420Thirst for Blood^000000', and obtain also equipment which is capable to accept their power, bring them to me. I will be waiting."; + close; + case 2: + mes "< Armor List >"; + mes "Giant Shield[1]"; + mes "Ancient Book of Geffenia-Water[1]"; + mes "Bible of Promise(2nd Vol.)[1]"; + mes "Salvage Cape[0]"; + mes "Assassin's Handcuffs[1]"; + mes "Green Operating Gown[1]"; + mes "Ancient Gold Decoration[1]"; + next; + mes "[Pudding]"; + mes "So far these are the Armors discovered. Do you wanna see other things?"; + next; + break; + case 3: + mes "< Weapon List >"; + mes "Agent Katar[1]"; + mes "Guillotine Katar[1]"; + mes "Ygnus Stale[1]"; + mes "End Sektura[1]"; + mes "Cannon Spear[1]"; + mes "Giant Lance[0]"; + mes "Chilly Spell Book[2]"; + mes "Recovery Light[1]"; + mes "Aztoe Nail[0]"; + mes "Scarletto Nail[0]"; + mes "Bloody Cross[0]"; + mes "Catapult[2]"; + mes "Big CrossBow[2]"; + mes "Creeper Bow[2]"; + next; + mes "[Pudding]"; + mes "So far these are the Weapons discovered. Do you wanna see other things?"; + next; + break; + } + } + close; + case 4: + emotion e_flash; + mes "[Pudding]"; + mes "Ohhhhh Have you brought them?"; + next; + break; + } + mes "[Pudding]"; + mes "OKAY! In which equipment you want to dwell the power?"; + next; + setarray .@parts[0], EQI_ARMOR, EQI_HAND_L, EQI_HAND_R, EQI_GARMENT, EQI_ACC_L, EQI_ACC_R, EQI_HEAD_TOP; + for(.@i = 0; .@i < 7; .@i++) { + if (!getequipisequiped(.@parts[.@i])) { + switch(.@i) { + case 0: + .@equipped$[.@i] = "^999999Armor-[Not equipped]^000000"; + break; + case 1: + .@equipped$[.@i] = "^999999Left Hand-[Not equipped]^000000"; + break; + case 2: + .@equipped$[.@i] = "^999999Right Hand-[Not equipped]^000000"; + break; + case 3: + .@equipped$[.@i] = "^999999Garment-[Not equipped]^000000"; + break; + case 4: + .@equipped$[.@i] = "^999999Accessory-[Not equipped]^000000"; + break; + case 5: + .@equipped$[.@i] = "^999999Accessory-[Not equipped]^000000"; + break; + case 6: + .@equipped$[.@i] = "^999999Helm-[Not equipped]^000000"; + break; + } + } else { + .@equipped$[.@i] = getequipname(.@parts[.@i]); + } + } + switch(select("I changed my mind.", .@equipped$[0], .@equipped$[1], .@equipped$[2], .@equipped$[3], .@equipped$[4], + .@equipped$[5], .@equipped$[6])) { + case 1: + mes "[Pudding]"; + mes "Well, I was looking forward to doing it, but I cannot help then."; + close; + case 2: + if (!getequipisequiped(EQI_ARMOR)) { + mes "[Pudding]"; + mes "Hey..Where is the armor?"; + close; + } + .@part = EQI_ARMOR; + break; + case 3: + if (!getequipisequiped(EQI_HAND_L)) { + mes "[Pudding]"; + mes "Well.. You are not equipping anything on the left hand."; + close; + } + .@part = EQI_HAND_L; + break; + case 4: + if (!getequipisequiped(EQI_HAND_R)) { + mes "[Pudding]"; + mes "Well.. You are not equipping anything on the right hand."; + close; + } + .@part = EQI_HAND_R; + break; + case 5: + if (!getequipisequiped(EQI_GARMENT)) { + mes "[Pudding]"; + mes "Um.... Where's your robe?"; + close; + } + .@part = EQI_GARMENT; + break; + case 6: + if (!getequipisequiped(EQI_ACC_L)) { + mes "[Pudding]"; + mes ".....Where's the accessory?"; + close; + } + .@part = EQI_ACC_L; + break; + case 7: + if (!getequipisequiped(EQI_ACC_R)) { + mes "[Pudding]"; + mes ".....Where's the accessory?"; + close; + } + .@part = EQI_ACC_R; + break; + case 8: + if (!getequipisequiped(EQI_HEAD_TOP)) { + mes "[Pudding]"; + mes "Hey.. Are you not wearing any Helm?"; + close; + } + .@part = EQI_HEAD_TOP; + break; + } + .@refine_count = getequiprefinerycnt(.@part); + .@equip_item = getequipid(.@part); + .@lhz_max_num = 4000; + if (.@equip_item == 13069 || .@equip_item == 1291 || .@equip_item == 1392 || + .@equip_item == 1393 || .@equip_item == 1435 || .@equip_item == 1490 || + .@equip_item == 13069 || .@equip_item == 13070 || .@equip_item == 16017) { + .@type = 1; + if (.@equip_item == 1490) + .@lhz_max_num = 4200; + } else if (.@equip_item == 18109 || .@equip_item == 18110 || .@equip_item == 18111) { + .@type = 2; + } else if (.@equip_item == 1584 || .@equip_item == 1659) { + .@type = 3; + } else if (.@equip_item == 2160 || .@equip_item == 2161 || .@equip_item == 2162 || + .@equip_item == 2582 || .@equip_item == 2892 || .@equip_item == 15044 || + .@equip_item == 18570) { + .@type = 4; + if (.@equip_item == 2582 || .@equip_item == 18570) + .@lhz_max_num = 4200; + } else { + mes "[Pudding]"; + mes "Before! I need to check if this equipment can accept the power."; + next; + specialeffect2 EF_SPHERE; + progressbar "ffff00", 2; + specialeffect2 EF_SUI_EXPLOSION; + emotion e_sob; + mes "[Pudding]"; + mes "Hm.... This equipment cannot accept the power of '^F2766EWill of Warrior^000000' or '^952420Thirst for Blood^000000'."; + close; + } + emotion e_ho; + mes "[Pudding]"; + mes "OHHH.. This equipment could accept the power of '^F2766EWill of Warrior^000000' or '^952420Thirst for Blood^000000'."; + next; + if (countitem(6469) >= 10) + .@menu_in$[1] = "Dwell the power of '^F2766EWill of Warrior^000000'"; + else + .@menu_in$[1] = "Not enough ^999999'Will of Warrior'^000000"; + + if (countitem(6470) >= 10) + .@menu_in$[2] = "Dwell the power of '^952420Thirst for Blood^000000'"; + else + .@menu_in$[2] = "Not enough ^999999'Thirst for Blood'^000000"; + + if (countitem(6471) >= 10) + .@menu_in$[3] = "Consume the '^88C6F7Chill of the Dead^000000'"; + else + .@menu_in$[3] = "Not enough ^999999'Chill of the Dead'^000000"; + mes "[Pudding]"; + mes "OK! Which power do you want to dwell in your equipment?"; + next; + switch(select("I say no! I don't need that!!", .@menu_in$[1], .@menu_in$[2], .@menu_in$[3])) { + case 1: + mes "[Pudding]"; + mes "Ohhh.. I was looking forward to doing it, but it's all up to you......"; + close; + case 2: + if (countitem(6469) < 10) { + mes "[Pudding]"; + mes "Not enough '^F2766EWill of Warrior^000000', You need to bring 10 '^F2766EWill of Warrior^000000'"; + close; + } + else if (getequipcardid(.@part, 3) > 0) { + mes "[Pudding]"; + mes "This equipment already got the power of '^F2766EWill of Warrior^000000'."; + close; + } else { + .@socket_type = 4; + } + break; + case 3: + if (countitem(6470) < 10) { + mes "[Pudding]"; + mes "Not enough '^952420Thirst for Blood^000000', You need to bring 10 '^952420Thirst for Blood^000000'"; + close; + } + else if (getequipcardid(.@part, 2) > 0) { + mes "[Pudding]"; + mes "This equipment already got the power of '^952420Thirst for Blood^000000'."; + close; + } else { + .@socket_type = 3; + } + break; + case 4: + // Enchant Removal + if (countitem(6471) < 10) { + .@menu_clear$[1] = "^999999Not enough 'Chill of the Dead'^000000"; + .@menu_clear$[2] = "^999999Not enough 'Chill of the Dead'^000000"; + .@4thzptsodyd = 1; + .@3thzptsodyd = 1; + } else { + if (getequipcardid(.@part, 3) > 0) { + .@menu_clear$[1] = "Remove the power of '^F2766EWill of Warrior^000000'"; + } else { + .@menu_clear$[1] = "^999999There's no power to remove^000000"; + .@4thzptsodyd = 1; + } + if (getequipcardid(.@part, 2) > 0) { + .@menu_clear$[2] = "Remove the power of '^952420Thirst for Blood^000000'"; + } else { + .@menu_clear$[2] = "^999999There's no power to remove^000000"; + .@3thzptsodyd = 1; + } + } + mes "[Pudding]"; + mes "Alright, which power do you want to remove?"; + next; + .@menu = select("No, I don't wannna remove any.", .@menu_clear$[1], .@menu_clear$[2]); + switch(.@menu){ + case 1: + mes "[Pudding]"; + mes "Really? Ok. I got it.."; + close; + case 2: + case 3: + if (countitem(6471) < 10) { + mes "[Pudding]"; + mes "Not enough '^88C6F7Chill of the Dead^000000', You need to bring 10 '^88C6F7Chill of the Dead^000000'"; + close; + } + if ( (.@menu == 3 && .@3thzptsodyd == 1) || (.@menu == 2 && .@4thzptsodyd == 1) ) { + mes "[Pudding]"; + mes "This equipment didn't get any special power."; + close; + } + setarray .@equip_card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3); + if (.@menu == 2) + .@equip_card[3] = 0; + else + .@equip_card[2] = 0; + .@equip_item = getequipid(.@part); + specialeffect EF_BEGINSPELL2, AREA, "Sorcerer#Bio4Reward"; + progressbar "ffff00", 2; + specialeffect2 EF_FROSTWEAPON; + delitem 6471, 10; //Goast_Chill + delequip .@part; + getitem2 .@equip_item, 1, 1, .@refine_count, 0, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]; + mes "[Pudding]"; + if (.@menu == 3) + mes "The power of '^952420Thirst for Blood^000000' has been perfectly removed."; + else + mes "The power of '^F2766EWill of Warrior^000000' has been perfectly removed."; + close; + } + } + mes "[Pudding]"; + mes "Before I dwell the power, let me explain to you cautions."; + next; + mes "[Pudding]"; + mes "While dwelling the power of '^F2766EWill of Warrior^000000' or '^952420Thirst for Blood^000000', the equipment would be not capable to accept that and will be destryed.."; + next; + mes "[Pudding]"; + mes "^9D2628If the equipment is destroyed, you will also lose the cards you inserted in it, and the refine Lv will be removed too.^000000"; + next; + mes "[Pudding]"; + mes "Alright. will you really wish to dwell the power into the equipment?"; + next; + if (select("Wait, I will think again.", "Sure, carry on.") == 1) { + mes "[Pudding]"; + mes "OK. I will be hoping to see you again."; + close; + } + mes "[Pudding]"; + mes "I wish you made a correct decision..."; + next; + if (.@socket_type >= 3) { + switch(.@type){ + case 1: // Short Distance + .@r = rand(1, .@lhz_max_num); + if (.@r < 401) .@enchant = 4700; //Strength1 + else if (.@r < 441) .@enchant = 4701; //Strength2 + else if (.@r < 445) .@enchant = 4702; //Strength3 + else if (.@r < 845) .@enchant = 4730; //Agility1 + else if (.@r < 885) .@enchant = 4731; //Agility2 + else if (.@r < 889) .@enchant = 4732; //Agility3 + else if (.@r < 1289) .@enchant = 4740; //Vitality1 + else if (.@r < 1329) .@enchant = 4741; //Vitality2 + else if (.@r < 1333) .@enchant = 4742; //Vitality3 + else if (.@r < 1523) .@enchant = 4710; //Inteligence1 + else if (.@r < 1542) .@enchant = 4711; //Inteligence2 + else if (.@r < 1544) .@enchant = 4712; //Inteligence3 + else if (.@r < 1844) .@enchant = 4720; //Dexterity1 + else if (.@r < 1874) .@enchant = 4721; //Dexterity2 + else if (.@r < 1877) .@enchant = 4722; //Dexterity3 + else if (.@r < 2067) .@enchant = 4750; //Luck1 + else if (.@r < 2086) .@enchant = 4751; //Luck2 + else if (.@r < 2088) .@enchant = 4752; //Luck3 + else if (.@r < 2491) .@enchant = 0; + else if (.@r < 2891) .@enchant = 4811; //Fighting_Spirit1 + else if (.@r < 2931) .@enchant = 4810; //Fighting_Spirit2 + else if (.@r < 2935) .@enchant = 4809; //Fighting_Spirit3 + else if (.@r < 3125) .@enchant = 4815; //Spell1 + else if (.@r < 3144) .@enchant = 4814; //Spell2 + else if (.@r < 3146) .@enchant = 4813; //Spell3 + else if (.@r < 3148) .@enchant = 4807; //Atk_Speed1 + else if (.@r < 3348) .@enchant = 4818; //Sharp1 + else if (.@r < 3368) .@enchant = 4817; //Sharp2 + else if (.@r < 3370) .@enchant = 4816; //Sharp3 + else if (.@r < 3560) .@enchant = 4832; //Expert_Archer1 + else if (.@r < 3579) .@enchant = 4833; //Expert_Archer2 + else if (.@r < 3581) .@enchant = 4834; //Expert_Archer3 + else .@enchant = 0; + break; + case 2: // Long Distance + .@r = rand(1, .@lhz_max_num); + if (.@r < 191) .@enchant = 4700; //Strength1 + else if (.@r < 210) .@enchant = 4701; //Strength2 + else if (.@r < 212) .@enchant = 4702; //Strength3 + else if (.@r < 612) .@enchant = 4730; //Agility1 + else if (.@r < 652) .@enchant = 4731; //Agility2 + else if (.@r < 656) .@enchant = 4732; //Agility3 + else if (.@r < 846) .@enchant = 4740; //Vitality1 + else if (.@r < 865) .@enchant = 4741; //Vitality2 + else if (.@r < 867) .@enchant = 4742; //Vitality3 + else if (.@r < 1167) .@enchant = 4710; //Inteligence1 + else if (.@r < 1197) .@enchant = 4711; //Inteligence2 + else if (.@r < 1200) .@enchant = 4712; //Inteligence3 + else if (.@r < 1600) .@enchant = 4720; //Dexterity1 + else if (.@r < 1640) .@enchant = 4721; //Dexterity2 + else if (.@r < 1644) .@enchant = 4722; //Dexterity3 + else if (.@r < 1834) .@enchant = 4750; //Luck1 + else if (.@r < 1853) .@enchant = 4751; //Luck2 + else if (.@r < 1855) .@enchant = 4752; //Luck3 + else if (.@r < 2258) .@enchant = 0; + else if (.@r < 2448) .@enchant = 4811; //Fighting_Spirit1 + else if (.@r < 2467) .@enchant = 4810; //Fighting_Spirit2 + else if (.@r < 2469) .@enchant = 4809; //Fighting_Spirit3 + else if (.@r < 2669) .@enchant = 4815; //Spell1 + else if (.@r < 2689) .@enchant = 4814; //Spell2 + else if (.@r < 2691) .@enchant = 4813; //Spell3 + else if (.@r < 2693) .@enchant = 4807; //Atk_Speed1 + else if (.@r < 3093) .@enchant = 4818; //Sharp1 + else if (.@r < 3133) .@enchant = 4817; //Sharp2 + else if (.@r < 3137) .@enchant = 4816; //Sharp3 + else if (.@r < 3537) .@enchant = 4832; //Expert_Archer1 + else if (.@r < 3577) .@enchant = 4833; //Expert_Archer2 + else if (.@r < 3581) .@enchant = 4834; //Expert_Archer3 + else .@enchant = 0; + break; + case 3: + .@r = rand(1, .@lhz_max_num); + if (.@r < 301) .@enchant = 4700; //Strength1 + else if (.@r < 331) .@enchant = 4701; //Strength2 + else if (.@r < 334) .@enchant = 4702; //Strength3 + else if (.@r < 534) .@enchant = 4730; //Agility1 + else if (.@r < 554) .@enchant = 4731; //Agility2 + else if (.@r < 556) .@enchant = 4732; //Agility3 + else if (.@r < 956) .@enchant = 4740; //Vitality1 + else if (.@r < 996) .@enchant = 4741; //Vitality2 + else if (.@r < 1000) .@enchant = 4742; //Vitality3 + else if (.@r < 1400) .@enchant = 4710; //Inteligence1 + else if (.@r < 1440) .@enchant = 4711; //Inteligence2 + else if (.@r < 1444) .@enchant = 4712; //Inteligence3 + else if (.@r < 1844) .@enchant = 4720; //Dexterity1 + else if (.@r < 1884) .@enchant = 4721; //Dexterity2 + else if (.@r < 1888) .@enchant = 4722; //Dexterity3 + else if (.@r < 2078) .@enchant = 4750; //Luck1 + else if (.@r < 2097) .@enchant = 4751; //Luck2 + else if (.@r < 2099) .@enchant = 4752; //Luck3 + else if (.@r < 2502) .@enchant = 0; + else if (.@r < 2692) .@enchant = 4811; //Fighting_Spirit1 + else if (.@r < 2711) .@enchant = 4810; //Fighting_Spirit2 + else if (.@r < 2713) .@enchant = 4809; //Fighting_Spirit3 + else if (.@r < 3113) .@enchant = 4815; //Spell1 + else if (.@r < 3153) .@enchant = 4814; //Spell2 + else if (.@r < 3157) .@enchant = 4813; //Spell3 + else if (.@r < 3159) .@enchant = 4807; //Atk_Speed1 + else if (.@r < 3349) .@enchant = 4818; //Sharp1 + else if (.@r < 3368) .@enchant = 4817; //Sharp2 + else if (.@r < 3370) .@enchant = 4816; //Sharp3 + else if (.@r < 3560) .@enchant = 4832; //Expert_Archer1 + else if (.@r < 3579) .@enchant = 4833; //Expert_Archer2 + else if (.@r < 3581) .@enchant = 4834; //Expert_Archer3 + else .@enchant = 0; + break; + case 4: // Armor + .@r = rand(1, .@lhz_max_num); + if (.@r < 301) .@enchant = 4700; //Strength1 + else if (.@r < 331) .@enchant = 4701; //Strength2 + else if (.@r < 334) .@enchant = 4702; //Strength3 + else if (.@r < 634) .@enchant = 4730; //Agility1 + else if (.@r < 664) .@enchant = 4731; //Agility2 + else if (.@r < 667) .@enchant = 4732; //Agility3 + else if (.@r < 967) .@enchant = 4740; //Vitality1 + else if (.@r < 997) .@enchant = 4741; //Vitality2 + else if (.@r < 1000) .@enchant = 4742; //Vitality3 + else if (.@r < 1300) .@enchant = 4710; //Inteligence1 + else if (.@r < 1330) .@enchant = 4711; //Inteligence2 + else if (.@r < 1333) .@enchant = 4712; //Inteligence3 + else if (.@r < 1633) .@enchant = 4720; //Dexterity1 + else if (.@r < 1663) .@enchant = 4721; //Dexterity2 + else if (.@r < 1666) .@enchant = 4722; //Dexterity3 + else if (.@r < 1966) .@enchant = 4750; //Luck1 + else if (.@r < 1996) .@enchant = 4751; //Luck2 + else if (.@r < 1999) .@enchant = 4752; //Luck3 + else if (.@r < 2399) .@enchant = 0; + else if (.@r < 2549) .@enchant = 4786; //Mdef2 + else if (.@r < 2599) .@enchant = 4787; //Mdef4 + else if (.@r < 2609) .@enchant = 4788; //Mdef6 + else if (.@r < 2614) .@enchant = 4789; //Mdef8 + else if (.@r < 2616) .@enchant = 4790; //Mdef10 + else if (.@r < 2766) .@enchant = 4791; //Def3 + else if (.@r < 2866) .@enchant = 4792; //Def6 + else if (.@r < 2876) .@enchant = 4793; //Def9 + else if (.@r < 2878) .@enchant = 4794; //Def12 + else if (.@r < 3278) .@enchant = 0; + else if (.@r < 3428) .@enchant = 4859; //Evasion1 + else if (.@r < 3478) .@enchant = 4860; //Evasion3 + else if (.@r < 3488) .@enchant = 4762; //Evasion6 + else if (.@r < 3498) .@enchant = 4800; //SP50 + else if (.@r < 3734) .@enchant = 4795; //HP100 + else if (.@r < 3834) .@enchant = 4796; //HP200 + else if (.@r < 3884) .@enchant = 4797; //HP300 + else .@enchant = 0; + break; + } + setarray .@equip_card[0], getequipcardid(.@part,0),getequipcardid(.@part,1),getequipcardid(.@part,2),getequipcardid(.@part,3); + .@equip_card[(.@socket_type-1)] = .@enchant; + .@equip_item = getequipid(.@part); + specialeffect EF_BEGINSPELL3, AREA, "Sorcerer#Bio4Reward"; + progressbar "ffff00", 2; + if (.@socket_type == 3) + delitem 6470, 10; //Blood_Thirst + else + delitem 6469, 10; //Will_Of_Warrior + delequip .@part; + + if (.@enchant == 0){ + specialeffect2 EF_SUI_EXPLOSION; + emotion e_otl; + mes "[Pudding]"; + mes "...Well....the equipment could not accept the power of "+((.@socket_type==3)?"'^952420Thirst for Blood^000000'":"'^F2766EWill of Warrior^000000'")+" and it got destroyed."; + close; + } else { + specialeffect2 EF_FIREHIT; + getitem2 .@equip_item, 1, 1, .@refine_count, 0, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3]; + emotion e_ho; + mes "[Pudding]"; + mes "Fortunately the power of "+((.@socket_type==3)?"'^952420Thirst for Blood^000000'":"'^F2766EWill of Warrior^000000'")+" has been dwelt well in your equipment..."; + close; + } + } + end; +} + +// Warp portal to the 4th Fl. +//============================================================ +lhz_dun03,239,78,1 script lhz_dun03_lhz_dun04 WARPNPC,1,1,{ + end; + +OnTouch: + if (lght_duk01 > 0 && lght_duk01 < 6) { + mes "In order to investigate human experimentation, I had to go down whilst I didn't want to because of gruesome sound."; + close2; + if (lght_duk01 < 3) { + warp "que_lhz", 245, 56; + } else if (lght_duk01 == 3) { + warp "que_lhz", 96, 136; + } else { + warp "que_lhz", 148, 215; + } + } else { + if (lhz_boss < 31) { + mes "- Whistling sound -"; + mes "From below, there comes a gruesome sound mingling with the wind."; + close2; + } + warp "lhz_dun04", 245, 56; + } + end; +} + +// Warp Portal to the 3rd Fl. +//============================================================ +lhz_dun04,244,61,1 warp lhz_dun04_lhz_dun03 1,1,lhz_dun03,240,75 + +// Inside the Lab +//============================================================ +que_lhz,242,50,0 script #01Startpoint -1,3,3,{ + end; + +OnInit: + initnpctimer; + end; + +OnTimer60000: + mapannounce "que_lhz", "Man's whisper: Pl.. please.. save me.. I don't wanna die.. wouaaaa..", bc_map, "0x7DCBF0"; + end; + +OnTimer120000: + mapannounce "que_lhz", "Woman's whisper: .. Save.. aaaah.. us...", bc_map, "0x7DCBF0"; + end; + +OnTimer180000: + mapannounce "que_lhz", "Kid's whisper: Bawwww~ Where am I? Mama......aaaa....", bc_map, "0x7DCBF0"; + end; + +OnTimer240000: + mapannounce "que_lhz", "Oldman's whisper: Kirk...hel...help......", bc_map, "0x7DCBF0"; + end; + +OnTimer300000: + stopnpctimer; + initnpctimer; + end; + +OnTouch: + if (lght_duk01 == 1) { + mes "I arrived at a research facility which seems it has been used till these days."; + next; + mes "There are some destroyed part, but the basic facility seem fine."; + next; + lght_duk01 = 2; + mes "Get around a little more..."; + close; + } + end; +} + +que_lhz,206,74,4 script Researcher#02 4_LGTSCIENCE,3,3,{ + end; + +OnTouch: + if (lght_duk01 == 2) { + emotion e_omg, 1; + mes "["+ strcharinfo(0) +"]"; + mes "You!!!! are Wolfchev?"; + next; + emotion e_gg, "Researcher#02"; + mes "[Wolfchev]"; + mes "A Human! kaahaha. People tend to hate this place, why are you here?"; + next; + mes "["+ strcharinfo(0) +"]"; + mes "You!!! I heard that you were committing human experimentation. Wolfchev!!"; + next; + mes "["+ strcharinfo(0) +"]"; + mes "And I see that you are still committing that!!!"; + next; + emotion e_gg, "Researcher#02"; + mes "[Wolfchev]"; + mes "Kihihihi. I can see that you know something about me. Is that you who accused me?"; + mes "How dare you come back to me after you did that. Kihihih"; + next; + mes "[Wolfchev]"; + mes "I feel good to see a human"; + mes "in a long time, but I gotta go. Kihihihi."; + next; + mes "- Wolfchev ran away giving a awkward laughing sound. -"; + next; + erasequest 5109; + setquest 5110; + lght_duk01 = 3; + emotion e_omg, 1; + mes "["+ strcharinfo(0) +"]"; + mes "Whoa! Wolfchev, stop!"; + close2; + warp "que_lhz", 96, 136; + } + end; +} + +que_lhz,94,119,4 script Researcher#03 4_LGTSCIENCE,{ + if ((MaxWeight - Weight) < 1000 || !checkweight(1201, 1)) { + mes "^FF0000 Check up your inventory. You got too many items to carry out the quest. ^000000"; + close; + } + if (lght_duk01 == 3) { + emotion e_swt2, "Researcher#03"; + mes "[Wolfchev]"; + mes "(Gasping) Pshaw... you are still following me. Hey, why do you keep following me?"; + next; + mes "["+ strcharinfo(0) +"]"; + mes "Wolfchev.. You said before. that you are doing research for everybody."; + next; + mes "[Wolfchev]"; + mes "I might have said that.... so what?"; + next; + mes "["+ strcharinfo(0) +"]"; + mes "But, your experiment seem really dangerous. How come this is what everybody wants?"; + next; + emotion e_gg, "Researcher#03"; + mes "[Wolfchev]"; + mes "Everyone has a desire to be stronger and wants to dominate others so those other people obey and admire you. Do you not have that desire?"; + next; + mes "["+ strcharinfo(0) +"]"; + mes "... .... ..."; + next; + mes "[Wolfchev]"; + mes "If you want to save yourself, should stop following me. Bugger off."; + next; + mes "Wolfchev is again running away with a strange sound."; + next; + lght_duk01 = 4; + mes "["+ strcharinfo(0) +"]"; + mes "Awwww!! You!! running away again..... Stop!"; + close2; + warp "que_lhz", 148, 215; + } + end; +} + +que_lhz,147,224,4 script Researcher#04 4_LGTSCIENCE,{ + if ((MaxWeight - Weight) < 1000 || !checkweight(1201, 1)) { + mes "^FF0000 Check up your inventory. You got too many items to carry out the quest. ^000000"; + close; + } + if (lght_duk01 == 4) { + mes "[Wolfchev]"; + mes "You are pretty persistent, aren't you? Or I think.......that you like me, huh? Kihihii."; + next; + emotion e_dots; + mes "["+ strcharinfo(0) +"]"; + mes "... .... ..."; + next; + specialeffect EF_SIGHTRASHER; + mes "Wolfchev mocked you at your silence and pressed a button in his hand. Then guinea pigs woken up around him."; + next; + for(.@i = 1; .@i < 9; .@i++) + donpcevent "Human Guinea pig#0"+.@i+"::OnEnable"; + mes "[Wolfchev]"; + mes "Again.. it's time to say goodbye."; + next; + emotion e_gasp, "Researcher#04"; + mes "[Wolfchev]"; + mes "Well! May be...."; + next; + mes "[Wolfchev]"; + mes "If you come to me for the experimentation, I can treat you better."; + next; + donpcevent "#Eventctrl::OnEnable"; + progressbar "FF00FF", 5; + emotion e_omg, "Researcher#04"; + mes "[Wolfchev]"; + mes "Oh my,... What happened?"; + next; + donpcevent "#Eventctrl::OnEnable2"; + for(.@i = 1; .@i < 9; .@i++) + donpcevent "Human Guinea pig#0"+.@i+"::OnDisable"; + mes "[Wolfchev]"; + mes "No! Don't come to me! Don't!!"; + next; + lght_duk01 = 5; + mes "First of all, I gotta handle those guinea pigs!"; + close; + } else if (lght_duk01 == 5) { + .@i = rand(1,3); + if (.@i == 2) { + mes "Wolfchev is confused and has no idea now since those monsters are attacking him too."; + next; + specialeffect EF_STUNATTACK; + specialeffect EF_STUNATTACK; + mes "- Hit him to wake him up -"; + next; + specialeffect EF_DARKBREATH; + emotion e_no; + mes "["+ strcharinfo(0) +"]"; + mes "Hey Dude! Anyway let's get out of here first! Isn't there any place where they cannot reach?"; + next; + mes "[Wolfchev]"; + mes "Oooops.. then my....my lab....to my lab..."; + next; + mes "["+ strcharinfo(0) +"]"; + mes "Your lab?? Okay, where's that?"; + next; + mes "[Wolfchev]"; + mes "to the north....... . Not so far from here.."; + next; + erasequest 5110; + setquest 5111; + lght_duk01 = 6; + mes "Go to '^0000FFWolfchev's Lab^000000' at the 12 o'clock direction..."; + close; + } else { + emotion e_spin, "Researcher#04"; + mes "Wolfchev is confused and has no idea now since those monsters are attacking him too."; + close; + } + } else if (lght_duk01 == 6) { + mes "Go to '^0000FFWolfchev's Lab^000000' at the 12 o'clock direction..."; + close; + } + end; +} + +// Warp to lhz_dun04 from Wolfchev's Lab +//============================================================ +que_lhz,148,251,0 script #Move2lab -1,12,0,{ + end; + +OnTouch: + if (lght_duk01 == 6) { + mes "I arrived at '^0000FFWolfchev's Lab^000000'."; + close2; + warp "lhz_dun04", 148, 269; + end; + } else { + mes "I still have something to do with Wolfchev."; + close; + } +} + +// Event Controller +//============================================================ +que_lhz,1,1,0 script #Eventctrl -1,{ + end; + +OnEnable: + initnpctimer; + end; + +OnEnable2: + monster "que_lhz", 139, 232, "Human Guinea pig", 2244, 1, "#Eventctrl::OnMyMobDead"; + monster "que_lhz", 147, 232, "Human Guinea pig", 2244, 1, "#Eventctrl::OnMyMobDead"; + monster "que_lhz", 156, 232, "Human Guinea pig", 2244, 1, "#Eventctrl::OnMyMobDead"; + monster "que_lhz", 156, 224, "Human Guinea pig", 2244, 1, "#Eventctrl::OnMyMobDead"; + monster "que_lhz", 156, 215, "Human Guinea pig", 2244, 1, "#Eventctrl::OnMyMobDead"; + monster "que_lhz", 147, 215, "Human Guinea pig", 2244, 1, "#Eventctrl::OnMyMobDead"; + monster "que_lhz", 139, 215, "Human Guinea pig", 2244, 1, "#Eventctrl::OnMyMobDead"; + monster "que_lhz", 139, 224, "Human Guinea pig", 2244, 1, "#Eventctrl::OnMyMobDead"; + end; + +OnTimer1000: + specialeffect EF_SUI_EXPLOSION,AREA, "#01"; + specialeffect EF_BEGINASURA, "Human Guinea pig#01"; + end; + +OnTimer2000: + specialeffect EF_SUI_EXPLOSION,AREA, "#02"; + specialeffect EF_BEGINASURA, "Human Guinea pig#02"; + end; + +OnTimer3000: + specialeffect EF_SUI_EXPLOSION,AREA, "#03"; + specialeffect EF_BEGINASURA, "Human Guinea pig#03"; + end; + +OnTimer4000: + specialeffect EF_SUI_EXPLOSION,AREA, "#04"; + specialeffect EF_BEGINASURA, "Human Guinea pig#04"; + end; + +OnTimer5000: + specialeffect EF_SUI_EXPLOSION,AREA, "#05"; + specialeffect EF_BEGINASURA, "Human Guinea pig#05"; + end; + +OnTimer6000: + specialeffect EF_SUI_EXPLOSION,AREA, "#06"; + specialeffect EF_BEGINASURA, "Human Guinea pig#06"; + end; + +OnTimer7000: + specialeffect EF_SUI_EXPLOSION,AREA, "#07"; + specialeffect EF_BEGINASURA, "Human Guinea pig#07"; + end; + +OnTimer8000: + specialeffect EF_SUI_EXPLOSION,AREA, "#08"; + specialeffect EF_BEGINASURA, "Human Guinea pig#08"; + stopnpctimer; + end; + +OnMyMobDead: + if (mobcount("que_lhz", "#Eventctrl::OnMyMobDead") < 4) + killmonster "que_lhz", "#Eventctrl::OnMyMobDead"; +} +que_lhz,139,232,0 script #01 -1,{ end; } +que_lhz,147,232,0 script #02 -1,{ end; } +que_lhz,156,232,0 script #03 -1,{ end; } +que_lhz,156,224,0 script #04 -1,{ end; } +que_lhz,156,215,0 script #05 -1,{ end; } +que_lhz,147,215,0 script #06 -1,{ end; } +que_lhz,139,215,0 script #07 -1,{ end; } +que_lhz,139,224,0 script #08 -1,{ end; } + +// Human Guinea pigs +//============================================================ +que_lhz,140,231,1 script Human Guinea pig#01 2224,{ + end; + +OnInit: + disablenpc strnpcinfo(0); + end; + +OnEnable: + enablenpc strnpcinfo(0); + end; + +OnDisable: + specialeffect EF_FLASHER; + disablenpc strnpcinfo(0); + end; +} +que_lhz,147,231,0 duplicate(Human Guinea pig#01) Human Guinea pig#02 2224 +que_lhz,155,231,7 duplicate(Human Guinea pig#01) Human Guinea pig#03 2224 +que_lhz,155,224,6 duplicate(Human Guinea pig#01) Human Guinea pig#04 2224 +que_lhz,155,216,5 duplicate(Human Guinea pig#01) Human Guinea pig#05 2224 +que_lhz,147,216,4 duplicate(Human Guinea pig#01) Human Guinea pig#06 2224 +que_lhz,140,216,3 duplicate(Human Guinea pig#01) Human Guinea pig#07 2224 +que_lhz,140,224,2 duplicate(Human Guinea pig#01) Human Guinea pig#08 2224 + +// Instance Creation +//============================================================ +lhz_dun04,151,276,3 script Researcher#memo 4_LGTSCIENCE,{ + if ((MaxWeight - Weight) < 1000 || !checkweight(1201, 1)) { + mes "^FF0000You cannot continue the process due to possessing too many belongings.^000000"; + close; + } + .@quest_time = checkquest(5112, PLAYTIME); + .@killed_bosses = true; + for(.@quest_id = 5113; .@quest_id <= 5125; .@quest_id++) { + if (checkquest(.@quest_id, HUNTING) <= 1) { + .@killed_bosses = false; + break; + } + } + if (lght_duk01 < 6) { + mes "[Researcher]"; + mes "What! Do you have any business here?"; + next; + if (select("Yes I do!!", "Umm.. No..") == 1) { + mes "[Researcher]"; + mes "Why don't stop staring at other's laboratory, and be on your way?"; + close; + } + mes "[Researcher]"; + mes "Stop wondering here, and be on your way. Will you? Khh Khh."; + close; + } else if (lght_duk01 == 6) { + mes "It seems experimental creatures cannot come near the laboratory, just like Wolfchev said."; + next; + mes "["+ strcharinfo(0) +"]"; + mes "Hey, is there any way to stop those creatures? You should know something, you made those things!"; + next; + mes "[Wolfchev]"; + mes "Urrgg.. I didn't expect them to loose control like that..."; + next; + mes "[Wolfchev]"; + mes "What is wrong with this whole thing?"; + next; + mes "[Wolfchev]"; + mes "Urr.. I think they will ruin my whole laboratory!"; + next; + emotion e_loud, 1; + mes "["+ strcharinfo(0) +"]"; + mes "Hey! Wolfchev!!"; + next; + mes "[Wolfchev]"; + mes "You!? Hey, please stop them!"; + mes "Creatures are ^9f6077organically connected with same job field^000000."; + next; + mes "[Wolfchev]"; + mes "There is one special creature being their ^46B951boss position^000000..."; + mes "If you could deactivate that creature, all ^A1BB44slave creatures^000000 walking around here will stop moving right away."; + next; + mes "["+ strcharinfo(0) +"]"; + mes "Boss creature?"; + mes "Hey! Wolfchev! Where is that ^46B951Boss creature^000000?"; + next; + mes "[Wolfchev]"; + mes "Inside.. of laboratory.. It should be waken up now. It's sad to destroy my life of work, but I can't take this any more.. ..."; + next; + mes "["+ strcharinfo(0) +"]"; + mes "How can I get into the Wolfchev's laboratory?"; + next; + mes "[Wolfchev]"; + mes "Oh.. Wait!"; + mes "I will help you get in there."; + next; + mes "[Wolfchev]"; + mes "Good news is that boss creatures are not set up to wake up all at once, even though slaves are."; + next; + erasequest 5111; + lght_duk01 = 7; + for(.@i = 5113; .@i <= 5125; .@i++) + setquest .@i; + mes "[Wolfchev]"; + mes "But still, it is really dangerous since we don't know when they will escape from there."; + mes "So, please prepare your party members, and take care of those boss creatures. I'm not sure how long this place can hold."; + close; + } else if (lght_duk01 > 6) { + if (getcharid(1) > 0) { + mes "[Wolfchev]"; + mes "Are you all set there? I will prepare the entrance if you are the leader of that party."; + next; + switch(select("Any warnings?", "Going into the laboratory", "Do not enter")) { + case 1: + mes "[Wolfchev]"; + mes "I didn't know pressing the emergency alarm would cause such problem. The management system seems to be changed to emergency mode."; + next; + mes "[Wolfchev]"; + mes "There are so many systems set up inside of the laboratory, so eve I cannot be sure how systems are twisted by now."; + next; + mes "[Wolfchev]"; + mes "Ah! If the emergency system is activating, only the leader of party should control everything. It is a lot of pressure I understand."; + next; + mes "[Wolfchev]"; + mes "And just so you know, please do not touch random things out of curiosity. I don't want you to get hurt."; + close; + case 2: + if (.@quest_time == 0 || .@quest_time == 1) { + mes "[Wolfchev]"; + mes "I'm sorry, but it seems you still cannot enter to the laboratory yet. Will you come back later? The system is kind of tricky you know."; + close; + } else { + if (.@quest_time == 2) + erasequest 5112; + if (!.@killed_bosses) { + if (lght_duk01 == 9) { + mes "[Wolfchev]"; + mes "You came back, Ka Ha Ha."; + next; + mes "[Wolfchev]"; + mes "After you left, I was fixing some system parts. And then suddenly strange thing happened."; + next; + mes "["+ strcharinfo(0) +"]"; + mes "What was that?"; + next; + mes "[Wolfchev]"; + mes "All those boss creatures you took care of started to regenerate themselves.."; + next; + mes "["+ strcharinfo(0) +"]"; + mes "What.. How is that possible...?!"; + next; + mes "[Wolfchev]"; + mes "I am also completely lost here.. But, this should not be happening.."; + next; + mes "["+ strcharinfo(0) +"]"; + mes "... .... ..."; + next; + mes "[Wolfchev]"; + mes "As you can see, you are the only one I can trust. Would you and your party help me once again deactivating those creatures?"; + next; + if (select("I am not sure", "Why not") == 1) { + mes "[Wolfchev]"; + mes "I see. I understand why you are hesitating, and don't want to press you any more. But, still I'm not sure why you want go there anyways,"; + next; + } else { + for(.@i = 5113; .@i <= 5125; .@i++) { + setquest .@i; + } + lght_duk01 = 10; + mes "[Wolfchev]"; + mes "Thank you very much. "+strcharinfo(0)+""; + mes "I will help you get in the laboratory right away."; + next; + } + } else { + mes "[Wolfchev]"; + mes "Hmm.. Those boss creatures regenerating once again.."; + next; + mes "[Wolfchev]"; + mes "Can you help me just one more time?"; + next; + if (select("I am not sure", "Why not") == 1) { + mes "[Wolfchev]"; + mes "I see. I understand why you are hesitating, and don't want to press you any more. But, still I'm not sure why you want go there anyways,"; + next; + } else { + for(.@i = 5113; .@i <= 5125; .@i++) { + setquest .@i; + } + lght_duk01 = 10; + mes "[Wolfchev]"; + mes "Thank you. "+strcharinfo(0)+""; + mes "You want to get in there fast, right?"; + next; + } + } + } + } + if (getpartyleader(getcharid(1),2) == getcharid(0)) { + if (instance_create("Wolfchev's Laboratory") < 0) { + mes "[Wolfchev]"; + mes "Hmm.. Lab entering system is a bit weird. Would wait for me to check the system?"; + close; + } + mes "[Wolfchev]"; + mes "Please hold on..."; + next; + mes "Wolfchev starts to control certain gear."; + next; + progressbar "FF00FF", 2; + mes "[Wolfchev]"; + mes "Alright! I have marked lan entering system code as"; + mes "^0000ff"+ strcharinfo(1) +"^000000 party leader's name ^0000ff"+ strcharinfo(0) +"^000000!!."; + next; + mes "[Wolfchev]"; + mes "Now, your party is free to pass the entrance."; + close; + } else { + mes "[Wolfchev]"; + mes "You are not the ^0000ffLeader of the party^000000, are you? Please go get the leader."; + close; + } + case 3: + mes "[Wolfchev]"; + mes "Need more preparation? Please, we don't have all day."; + close; + } + } else { + mes "[Wolfchev]"; + mes "Are you trying to go there along? That is a suicide! Our lab entering system is not as easy as you thinkz`."; + close; + } + } else { + mes "[Wolfchev]"; + mes "Woot! Something weird just happen. If this keep happening, maybe we should try other way.."; + close; + } +} + +lhz_dun04,147,279,0 script Laboratory Entrance#memo CLEAR_NPC,{ + if ((MaxWeight - Weight) < 1000 || !checkweight(1201, 1)) { + mes "^FF0000You cannot continue the process due to possessing too many belongings.^000000"; + close; + } + .@lhz_time = checkquest(5112, PLAYTIME); + if (lght_duk01 < 7) { + mes "It says,"; + mes "'^0000FF****'s laboratory member only^000000'"; + close; + } + if (.@lhz_time == -1) { + mes "This is an entrance towards Wolfchev's laboratory. Something is howling over the entrance."; + next; + if (select("Go inside", "Think one more time") == 2) { + mes "You have stopped entering to Wolfchev's laboratory."; + close; + } + if (instance_enter("Wolfchev's Laboratory") != 0) { // probably missing failure cases + mes "^FF0000Warning^000000"; + mes ""+ strcharinfo(0) +". . ."; + mes "^FF0000Unregistered personnel^000000"; + next; + pushpc 0, 10; + percentheal -5,0; + specialeffect EF_AUTOCOUNTER; + specialeffect2 EF_BASH; + mes "You have been wounded by laboratory entrance system attack."; + close; + } + mapannounce "lhz_dun04","Laboratory entrance system ["+ strcharinfo(1) +"] member ["+ strcharinfo(0) +"] access granted..",bc_map,"0x0DF297"; + setquest 5112; + //warp "1@lhz", 45, 148; + close; + } else if (.@lhz_time == 0 || .@lhz_time == 1) { + mes "Di Rit- Di- Di- Dit-"; + next; + mes ""+ strcharinfo(0) +". . ."; + mes "^FF0000Forbidden personnel^000000"; + next; + mes "The system denied your entrance."; + close; + } else if (.@lhz_time == 2) { + mes "Di Rit- Di- Di- Dit-"; + next; + erasequest 5112; + mes ""+ strcharinfo(0) +". . ."; + mes "^FF0000Access denial has been deactivated.^000000"; + close; + } else { + mes "^FF0000Error! Error!^000000"; + mes "^FF0000Please try again.^000000"; + close; + } +} + +// The Lab No.1 : System 1_1 +//============================================================ +1@lhz,35,108,4 script Lab1#1_1 CLEAR_NPC,{ + end; + +OnInstanceInit: + initnpctimer; + end; + +OnDisable: + stopnpctimer; + end; + +OnType_02: + donpcevent instance_npcname("Manual Sheet#1_1")+"::OnEnable"; + donpcevent instance_npcname("Valve#1_2")+"::OnEnable"; + donpcevent instance_npcname("Valve#1_3")+"::OnEnable"; + mapannounce instance_mapname("1@lhz"),"[Security System] the persons concerned, access with the emergency access method.",bc_map,"0xff9977"; + end; + +OnTimer1000: + mapannounce instance_mapname("1@lhz"),"[Security System] This is a warning notice! Warning notice! Intruder Detected.",bc_map,"0xff9977"; + end; + +OnTimer2000: + mapannounce instance_mapname("1@lhz"),"[Security System] In 5 seconds, The Lab No.1's security system will be activated.",bc_map,"0xff9977"; + end; + +OnTimer7000: + donpcevent instance_npcname("MobCtrl1#mob01")+"::OnEnable"; + end; +} + +// The Lab No.1 Monster Control +//============================================================ +1@lhz,37,108,4 script MobCtrl1#mob01 CLEAR_NPC,{ + end; + +OnEnable: + .@map$ = instance_mapname("1@lhz"); + mapannounce .@map$,"[Security System] Security system Activated !! Experimental animals are released. The persons concerned have to evacuate.",bc_map,"0xff9977"; + areamonster .@map$,35,159,50,169,"Starving Lab animal",2242,rand(10,15),instance_npcname(strnpcinfo(0))+"::OnMyMobDead"; + initnpctimer; + end; + +OnDisable: + killmonster instance_mapname("1@lhz"),instance_npcname(strnpcinfo(0))+"::OnMyMobDead"; + end; + +OnTimer180000: + stopnpctimer; + if (mobcount(instance_mapname("1@lhz"), instance_npcname(strnpcinfo(0))+"::OnMyMobDead") < 1) { + donpcevent instance_npcname("Lab1#1_1")+"::OnType_02"; + mapannounce instance_mapname("1@lhz"),"[Security System] The Lab No.1's security system has been stopped.",bc_map,"0xff9977"; + } else { + initnpctimer; + } + end; + +OnMyMobDead: + if (mobcount(instance_mapname("1@lhz"), instance_npcname(strnpcinfo(0))+"::OnMyMobDead") < 1) { + donpcevent instance_npcname("Lab1#1_1")+"::OnType_02"; + mapannounce instance_mapname("1@lhz"),"[Security System] The Lab No.1's security system has been stopped.",bc_map,"0xff9977"; + stopnpctimer; + } + end; +} + +// Emergency Access Valve Manual +//============================================================ +1@lhz,39,168,0 script Manual Sheet#1_1 CLEAR_NPC,{ + mes "There are valve manual sheets littered on the floor."; + next; + if (getpartyleader(getcharid(1),2) == getcharid(0)) { + mes "You the party leader, started to read the manual."; + next; + mes "[Emergency Access Valve Manual]"; + switch(lght_duk02) { + case 0: + switch(rand(1,6)) { + case 1: + lght_duk02 = 1; + mes "Turn the left valve Clockwise twice, Counterclockwise once, Clockwise once"; + break; + case 2: + lght_duk02 = 2; + mes "Turn the left valve Clockwise once, Counterclockwise twice, Clockwise once"; + break; + case 3: + lght_duk02 = 3; + mes "Turn the left valve Clockwise once, Counterclockwise once, Clockwise twice"; + break; + case 4: + lght_duk02 = 4; + mes "Turn the right valve Counterclockwise twice, Clockwise once, Counterclockwise once"; + break; + case 5: + lght_duk02 = 5; + mes "Turn the right valve Counterclockwise once, Clockwise twice, Counterclockwise once"; + break; + case 6: + lght_duk02 = 6; + mes "Turn the right valve Counterclockwise once, Clockwise once, Counterclockwise twice"; + break; + default: + mes "This is a unknown Error. If you get the same problem after trying one more time, contact GM."; + break; + } + break; + case 1: + mes "Turn the left valve Clockwise twice, Counterclockwise once, Clockwise once"; + break; + case 2: + mes "Turn the left valve Clockwise once, Counterclockwise twice, Clockwise once"; + break; + case 3: + mes "Turn the left valve Clockwise once, Counterclockwise once, Clockwise twice"; + break; + case 4: + mes "Turn the right valve Counterclockwise twice, Clockwise once, Counterclockwise once"; + break; + case 5: + mes "Turn the right valve Counterclockwise once, Clockwise twice, Counterclockwise once"; + break; + case 6: + mes "Turn the right valve Counterclockwise once, Clockwise once, Counterclockwise twice"; + break; + default: + mes "This is an unknown error. If you get the same problem after trying one more time, contact a GM."; + break; + } + } else { + mes "Let your party leader handle the valve."; + } + close; + +OnInstanceInit: + disablenpc instance_npcname("Manual Sheet#1_1"); + end; + +OnEnable: + specialeffect EF_LIGHTSPHERE; + enablenpc instance_npcname("Manual Sheet#1_1"); + end; +} + +// Left Valve +//============================================================ +1@lhz,41,172,0 script Valve#1_2 CLEAR_NPC,{ + .@open_portal = 0; + mes "This is the left valve for the emergency access."; + if (getpartyleader(getcharid(1),2) == getcharid(0)) { + next; + mes "To which direction do you wish to turn?"; + next; + if (lght_duk02 < 1 || lght_duk02 > 3) { + for(.@i = 1; .@i <= 4; .@i++) { + select("Clockwise", "Counterclockwise"); + mes "-A metal sound-"; + if (.@i != 4) + mes "and, to which direction then?"; + next; + } + } else { + // lght_duk02 == 1 : Clockwise, Clockwise, Counterclockwise, Clockwise + // lght_duk02 == 2 : Clockwise, Counterclockwise, Counterclockwise, Clockwise + // lght_duk02 == 3 : Clockwise, Counterclockwise, Clockwise, Clockwise + for(.@i = 1; .@i <= 4; .@i++) { + switch(select("Clockwise", "Counterclockwise")) { + case 1: + if ((.@i == 1 || .@i == 4) || (.@i == 2 && lght_duk02 == 1) || (.@i == 3 && lght_duk02 == 3)) { + .@open_portal += 1; + } + case 2: + if ((.@i == 2 && lght_duk02 != 1) || (.@i == 3 && lght_duk02 != 3)) { + .@open_portal += 1; + } + } + mes "-A metal sound-"; + if (.@i != 4) + mes "and, to which direction then?"; + next; + } + } + if (.@open_portal == 4) { + donpcevent instance_npcname("#potal_01")+"::OnEnable"; + lght_duk02 = 0; + mes "-Door opened-"; + next; + mes "The door which connects to the Lab No.2 is now open."; + } else { + lght_duk02 = 0; + mes "Nothing happened."; + next; + mes "You need to review the manual."; + } + } + close; + +OnInstanceInit: + disablenpc instance_npcname("Valve#1_2"); + end; + +OnEnable: + specialeffect EF_LIGHTSPHERE; + enablenpc instance_npcname("Valve#1_2"); + end; +} + +// Right Valve +//============================================================ +1@lhz,52,172,0 script Valve#1_3 CLEAR_NPC,{ + .@open_portal = 0; + mes "This is the left valve for the emergency access."; + if (getpartyleader(getcharid(1),2) == getcharid(0)) { + next; + mes "To which direction do you wish to turn?"; + next; + if (lght_duk02 < 4 || lght_duk02 > 6) { + for(.@i = 1; .@i <= 4; .@i++) { + select("Clockwise", "Counterclockwise"); + mes "-A metal sound-"; + if (.@i != 4) + mes "and, to which direction then?"; + next; + } + } else { + // lght_duk02 == 4 : Counterclockwise, Counterclockwise, Clockwise, Counterclockwise + // lght_duk02 == 5 : Counterclockwise, Clockwise, Clockwise, Counterclockwise + // lght_duk02 == 6 : Counterclockwise, Clockwise, Counterclockwise, Counterclockwise + for(.@i = 1; .@i <= 4; .@i++) { + switch(select("Clockwise", "Counterclockwise")) { + case 1: + if ((.@i == 2 && lght_duk02 != 4) || (.@i == 3 && lght_duk02 != 6)) + .@open_portal += 1; + break; + case 2: + if ((.@i == 1 || .@i == 4) || (.@i == 2 && lght_duk02 == 4) || (.@i == 3 && lght_duk02 == 6)) + .@open_portal += 1; + break; + } + mes "-A metal sound-"; + if (.@i != 4) + mes "and, to which direction then?"; + next; + } + } + if (.@open_portal == 4) { + donpcevent instance_npcname("#potal_01")+"::OnEnable"; + lght_duk02 = 0; + mes "-Door opened-"; + next; + mes "The door which connects to the Lab No.2 is now open."; + } else { + lght_duk02 = 0; + mes "Nothing happened."; + next; + mes "You need to review the manual."; + } + } + close; + +OnInstanceInit: + disablenpc instance_npcname("Valve#1_3"); + end; + +OnEnable: + specialeffect EF_LIGHTSPHERE; + enablenpc instance_npcname("Valve#1_3"); + end; +} + + +// The Lab No.1 >> The Lab No.2 Warp portal +//============================================================ +1@lhz,45,173,0 script #potal_01 WARPNPC,2,2,{ + end; + +OnInstanceInit: +OnDisable: + disablenpc instance_npcname("#potal_01"); + end; + +OnEnable: + mapannounce instance_mapname("1@lhz"),"[Management System] The door which connects to the Lab No.2 is now open.",bc_map,"0xff9977"; + enablenpc instance_npcname("#potal_01"); + end; + +OnTouch: + warp instance_mapname("1@lhz"), 151, 29; + end; +} + +// The Lab No.2 +//============================================================ +1@lhz,151,29,0 script #2_0 -1,1,1,{ + end; + +OnEnable: + enablenpc instance_npcname("#2_0"); + end; + +OnDisable: + disablenpc instance_npcname("#2_0"); + end; + +OnTouch: + donpcevent instance_npcname("Lab2#2_1")+"::OnEnable"; + donpcevent instance_npcname("#2_0")+"::OnDisable"; + end; +} + +// The Lab No.2 2_1 System - Control of Monster Wave and Pipe right before exploding +//============================================================ +1@lhz,35,106,4 script Lab2#2_1 CLEAR_NPC,{ + end; + +OnInstanceInit: +OnDisable: + stopnpctimer; + end; + +OnEnable: + initnpctimer; + end; + +OnTimer1000: + mapannounce instance_mapname("1@lhz"),"[Security System] This is a warning notice! Warning notice! Intruder Detected in The Lab No.2!!",bc_map,"0xff9977"; + end; + +OnTimer3000: + mapannounce instance_mapname("1@lhz"),"[Security System] In 5 seconds, The Lab No.2 Security system will start working.",bc_map,"0xff9977"; + end; + +OnTimer5000: + mapannounce instance_mapname("1@lhz"),"[Management System] Warning! The pipe pressure in the Lab No.2 is too high.",bc_map,"0xff99ff"; + end; + +OnTimer8000: + mapannounce instance_mapname("1@lhz"),"[Security System] First security system activated !! The persons concerned have to evacuate.",bc_map,"0xff9977"; + donpcevent instance_npcname("MobCtrl2#mob02")+"::On01"; + end; + +OnTimer10000: + mapannounce instance_mapname("1@lhz"),"[Management System] Warning! The pipe pressure is too high. Open the valve.",bc_map,"0xff99ff"; + donpcevent instance_npcname("Lab2#2_2")+"::OnPipePressure"; + end; + +OnTimer190000: + mapannounce instance_mapname("1@lhz"),"[Management System] Warning! The pipe pressure is too high. Open the valve.",bc_map,"0xff99ff"; + donpcevent instance_npcname("Lab2#2_2")+"::OnPipePressure"; + end; + +OnTimer303000: + mapannounce instance_mapname("1@lhz"),"[Security System] In 5 seconds, Second Security system will start working.",bc_map,"0xff9977"; + end; + +OnTimer308000: + mapannounce instance_mapname("1@lhz"),"[Security System] Second security system activated !! The persons concerned have to evacuate.",bc_map,"0xff9977"; + donpcevent instance_npcname("MobCtrl2#mob02")+"::On02"; + end; + +OnTimer370000: + mapannounce instance_mapname("1@lhz"),"[Management System] Warning! The pipe pressure is too high. Open the valve.",bc_map,"0xff99ff"; + donpcevent instance_npcname("Lab2#2_2")+"::OnPipePressure"; + end; + +OnTimer550000: + mapannounce instance_mapname("1@lhz"),"[Management System] Warning! The pipe pressure is too high. Open the valve.",bc_map,"0xff99ff"; + donpcevent instance_npcname("Lab2#2_2")+"::OnPipePressure"; + end; + +OnTimer603000: + mapannounce instance_mapname("1@lhz"),"[Security System] In 5 seconds, Third Security system will start working.",bc_map,"0xff9977"; + end; + +OnTimer608000: + mapannounce instance_mapname("1@lhz"),"[Security System] Third security system activated !! The persons concerned have to evacuate.",bc_map,"0xff9977"; + donpcevent instance_npcname("MobCtrl2#mob02")+"::On03"; + end; + +OnTimer730000: + mapannounce instance_mapname("1@lhz"),"[Management System] Warning! The pipe pressure is too high. Open the valve.",bc_map,"0xff99ff"; + donpcevent instance_npcname("Lab2#2_2")+"::OnPipePressure"; + end; + +OnTimer903000: + mapannounce instance_mapname("1@lhz"),"[Security System] In 5 seconds, Fourth Security system will start working.",bc_map,"0xff9977"; + end; + +OnTimer908000: + mapannounce instance_mapname("1@lhz"),"[Security System] Fourth security system activated !! The persons concerned have to evacuate.",bc_map,"0xff9977"; + donpcevent instance_npcname("MobCtrl2#mob02")+"::On04"; + end; + +OnTimer910000: + mapannounce instance_mapname("1@lhz"),"[Management System] Warning! The pipe pressure is too high. Open the valve.",bc_map,"0xff99ff"; + donpcevent instance_npcname("Lab2#2_2")+"::OnPipePressure"; + end; + +OnTimer1090000: + mapannounce instance_mapname("1@lhz"),"[Management System] Warning! The pipe pressure is too high. Open the valve.",bc_map,"0xff99ff"; + donpcevent instance_npcname("Lab2#2_2")+"::OnPipePressure"; + end; + +OnTimer1203000: + mapannounce instance_mapname("1@lhz"),"[Security System] In 5 seconds, Fifth Security system will start working.",bc_map,"0xff9977"; + end; + +OnTimer1208000: + mapannounce instance_mapname("1@lhz"),"[Security System] Fifth security system activated !! The persons concerned have to evacuate.",bc_map,"0xff9977"; + donpcevent instance_npcname("MobCtrl2#mob02")+"::On05"; + end; + +OnTimer1270000: + mapannounce instance_mapname("1@lhz"),"[Management System] Warning! The pipe pressure is too high. Open the valve.",bc_map,"0xff99ff"; + donpcevent instance_npcname("Lab2#2_2")+"::OnPipePressure"; + stopnpctimer; + end; +} + +// The Lab No.2 2_2 System - Pipe Operation Control +// When 3 pipes explode, system will shut down. +//============================================================ +1@lhz,37,106,4 script Lab2#2_2 CLEAR_NPC,{ + end; + +OnInstanceInit: + 'broken_pipes = 0; + stopnpctimer; + end; + +OnPipePressure: + switch(rand(1,6)) { + case 1: + donpcevent instance_npcname("Valve#2_1")+"::OnEnable"; + donpcevent instance_npcname("MobCtrl2#mob02")+"::On2_01"; + case 2: + donpcevent instance_npcname("Valve#2_2")+"::OnEnable"; + donpcevent instance_npcname("MobCtrl2#mob02")+"::On2_02"; + case 3: + donpcevent instance_npcname("Valve#2_3")+"::OnEnable"; + donpcevent instance_npcname("MobCtrl2#mob02")+"::On2_03"; + case 4: + donpcevent instance_npcname("Valve#2_4")+"::OnEnable"; + donpcevent instance_npcname("MobCtrl2#mob02")+"::On2_04"; + case 5: + donpcevent instance_npcname("Valve#2_5")+"::OnEnable"; + donpcevent instance_npcname("MobCtrl2#mob02")+"::On2_05"; + case 6: + donpcevent instance_npcname("Valve#2_6")+"::OnEnable"; + donpcevent instance_npcname("MobCtrl2#mob02")+"::On2_06"; + } + initnpctimer; + end; + +OnDisableValve1: + disablenpc instance_npcname("Valve#2_1"); + stopnpctimer; + end; + +OnDisableValve2: + disablenpc instance_npcname("Valve#2_2"); + stopnpctimer; + end; + +OnDisableValve3: + disablenpc instance_npcname("Valve#2_3"); + stopnpctimer; + end; + +OnDisableValve4: + disablenpc instance_npcname("Valve#2_4"); + stopnpctimer; + end; + +OnDisableValve5: + disablenpc instance_npcname("Valve#2_5"); + stopnpctimer; + end; + +OnDisableValve6: + disablenpc instance_npcname("Valve#2_6"); + stopnpctimer; + end; + +OnTimer63000: + for(.@i = 1; .@i < 7; .@i++) { + specialeffect EF_SUI_EXPLOSION, AREA, instance_npcname("Valve#2_"+.@i+""); + disablenpc instance_npcname("Valve#2_"+.@i+""); + } + 'broken_pipes += 1; + if ('broken_pipes == 3) { + donpcevent instance_npcname("#2_3")+"::OnEnable"; + stopnpctimer; + } else { + mapannounce instance_mapname("1@lhz"),"[Management System] Pipe explosion detected! When "+ (3 - 'broken_pipes) +" more break, the system will stop.",bc_map,"0xff99ff"; + } + end; +} + +// The Lab No.2 2_3 System +//============================================================ +1@lhz,151,48,0 script #2_3 -1,20,20,{ + end; + +OnInstanceInit: + disablenpc instance_npcname("#2_3"); + end; + +OnEnable: + initnpctimer; + end; + +OnTimer1000: + mapannounce instance_mapname("1@lhz"),"[Management System] System Freezes! System Freezes! Evacuate from the Lab in 10 seconds.",bc_map,"0xff99ff"; + end; + +OnTimer11000: + mapannounce instance_mapname("1@lhz"),"[Management System] Evacuate!!",bc_map,"0xff99ff"; + enablenpc instance_npcname("#2_3"); + end; + +OnTouch: + warp "lhz_dun04", 147, 273; + end; +} + +// The Lab No.2 Monster Control +//============================================================ +1@lhz,39,106,4 script MobCtrl2#mob02 CLEAR_NPC,{ + end; + +On01: + .@map$ = instance_mapname("1@lhz"); + .@label$ = instance_npcname("MobCtrl2#mob02")+"::OnMyMobDead"; + areamonster .@map$,139,37,164,58,"Starving Lab animal",2242,10,.@label$; + end; + +On02: + .@map$ = instance_mapname("1@lhz"); + .@label$ = instance_npcname("MobCtrl2#mob02")+"::OnMyMobDead"; + areamonster .@map$,139,37,164,58,"Starving Lab animal",2242,20,.@label$; + end; + +On03: + .@map$ = instance_mapname("1@lhz"); + .@label$ = instance_npcname("MobCtrl2#mob02")+"::OnMyMobDead"; + areamonster .@map$,139,37,164,58,"Starving Lab animal",2242,16,.@label$; + end; + +On04: + .@map$ = instance_mapname("1@lhz"); + .@label$ = instance_npcname("MobCtrl2#mob02")+"::OnMyMobDead"; + areamonster .@map$,139,37,164,58,"Starving Lab animal",2242,19,.@label$; + end; + +On05: + .@map$ = instance_mapname("1@lhz"); + .@label$ = instance_npcname("MobCtrl2#mob02")+"::OnMyMobDead"; + areamonster .@map$,139,37,164,58,"Starving Lab animal",2242,20,.@label$; + end; + +On2_01: + .@label$ = instance_npcname("MobCtrl2#mob02")+"::OnMyMobDead"; + areamonster instance_mapname("1@lhz"),155,43,161,49,"Starving Lab animal",2243,5,.@label$; + end; + +On2_02: + .@label$ = instance_npcname("MobCtrl2#mob02")+"::OnMyMobDead"; + areamonster instance_mapname("1@lhz"),137,40,143,46,"Starving Lab animal",2243,5,.@label$; + end; + +On2_03: + .@label$ = instance_npcname("MobCtrl2#mob02")+"::OnMyMobDead"; + areamonster instance_mapname("1@lhz"),137,51,143,57,"Starving Lab animal",2243,5,.@label$; + end; + +On2_04: + .@label$ = instance_npcname("MobCtrl2#mob02")+"::OnMyMobDead"; + areamonster instance_mapname("1@lhz"),143,56,149,62,"Starving Lab animal",2243,5,.@label$; + end; + +On2_05: + .@label$ = instance_npcname("MobCtrl2#mob02")+"::OnMyMobDead"; + areamonster instance_mapname("1@lhz"),160,48,166,54,"Starving Lab animal",2243,5,.@label$; + end; + +On2_06: + .@label$ = instance_npcname("MobCtrl2#mob02")+"::OnMyMobDead"; + areamonster instance_mapname("1@lhz"),135,44,141,50,"Starving Lab animal",2243,5,.@label$; + end; + +OnDisable: + killmonster instance_mapname("1@lhz"),instance_npcname("MobCtrl2#mob02")+"::OnMyMobDead"; + end; + +OnMyMobDead: + if (mobcount(instance_mapname("1@lhz"),instance_npcname("MobCtrl2#mob02")+"::OnMyMobDead") < 1) { + donpcevent instance_npcname("#potal_02")+"::OnEnable"; + donpcevent instance_npcname("Lab2#2_1")+"::OnDisable"; + mapannounce instance_mapname("1@lhz"),"[Security System] The Security system of The Lab No.2 has been stopped.",bc_map,"0xff9977"; + } + end; +} + +// The Lab No.2 Valves +//============================================================ +- script bio4FLab2Valve -1,{ + if (getpartyleader(getcharid(1),2) == getcharid(0)) { + progressbar "0xffff00", 20; + stopnpctimer; + donpcevent instance_npcname("Lab2#2_2")+"::OnDisableValve1"; + disablenpc instance_npcname(strnpcinfo(0)); + end; + } else { + mes "Let your party leader handle the valve."; + close; + } + +OnInstanceInit: + disablenpc instance_npcname(strnpcinfo(0)); + end; + +OnEnable: + enablenpc instance_npcname(strnpcinfo(0)); + initnpctimer; + end; + +OnTimer3000: + specialeffect EF_DRAGONSMOKE,AREA,instance_npcname(strnpcinfo(0)); + stopnpctimer; + initnpctimer; + end; +} +1@lhz,158,46,0 duplicate(bio4FLab2Valve) Valve#2_1 CLEAR_NPC +1@lhz,138,43,0 duplicate(bio4FLab2Valve) Valve#2_2 CLEAR_NPC +1@lhz,139,54,0 duplicate(bio4FLab2Valve) Valve#2_3 CLEAR_NPC +1@lhz,145,60,0 duplicate(bio4FLab2Valve) Valve#2_4 CLEAR_NPC +1@lhz,165,51,0 duplicate(bio4FLab2Valve) Valve#2_5 CLEAR_NPC +1@lhz,137,47,0 duplicate(bio4FLab2Valve) Valve#2_6 CLEAR_NPC + +// The Lab No.2 >> The Lab No.3 Warp portal(General) +//============================================================ +1@lhz,151,64,0 script #potal_02 WARPNPC,2,2,{ + end; + +OnInstanceInit: +OnDisable: + disablenpc instance_npcname("#potal_02"); + end; + +OnEnable: + mapannounce instance_mapname("1@lhz"),"[Management System] The door which connects to the Lab No.3 is now open.",bc_map,"0xff99ff"; + enablenpc instance_npcname("#potal_02"); + end; + +OnTouch: + warp instance_mapname("1@lhz"), 84, 28; + end; +} + +// The Lab No.3 +//============================================================ +1@lhz,84,28,0 script #3_0 -1,1,1,{ + end; + +OnEnable: + enablenpc instance_npcname("#3_0"); + end; + +OnDisable: + disablenpc instance_npcname("#3_0"); + end; + +OnTouch: + donpcevent instance_npcname("Lab3#3_1")+"::OnEnable"; + donpcevent instance_npcname("#3_0")+"::OnDisable"; + end; +} + +// The Lab No.3 3_1 System - Monster wave control +//============================================================ +1@lhz,35,104,4 script Lab3#3_1 CLEAR_NPC,{ + end; + +OnEnable: + initnpctimer; + end; + +OnDisable: + stopnpctimer; + end; + +OnTimer1000: + mapannounce instance_mapname("1@lhz"),"[Security System] This is a warning notice! Warning notice!",bc_map,"0xff9977"; + donpcevent instance_npcname("MobCtrl3#mob03")+"::OnDisable"; + end; + +OnTimer5000: + mapannounce instance_mapname("1@lhz"),"[Security System] Intruder Detected in The Lab No.3!!",bc_map,"0xff9977"; + end; + +OnTimer7000: + mapannounce instance_mapname("1@lhz"),"[Security System] In 5 seconds, The Security system of The Lab No.3 will start working.",bc_map,"0xff9977"; + end; + +OnTimer12000: + mapannounce instance_mapname("1@lhz"),"[Security System] First security system of The Lab No.3 activated !! The persons concerned have to evacuate.",bc_map,"0xff9977"; + donpcevent instance_npcname("MobCtrl3#mob03")+"::On01"; + end; + +OnTimer192000: + mapannounce instance_mapname("1@lhz"),"[Security System] Second security system of The Lab No.3 activated !! The persons concerned have to evacuate.",bc_map,"0xff9977"; + donpcevent instance_npcname("MobCtrl3#mob03")+"::On02"; + end; + +OnTimer372000: + mapannounce instance_mapname("1@lhz"),"[Security System] Third security system of The Lab No.3 activated !! The persons concerned have to evacuate.",bc_map,"0xff9977"; + donpcevent instance_npcname("MobCtrl3#mob03")+"::On03"; + end; + +OnTimer552000: + mapannounce instance_mapname("1@lhz"),"[Security System] Fourth security system of The Lab No.3activated !! The persons concerned have to evacuate.",bc_map,"0xff9977"; + donpcevent instance_npcname("MobCtrl3#mob03")+"::On04"; + end; + +OnTimer732000: + mapannounce instance_mapname("1@lhz"),"[Security System] Fifth security system of The Lab No.3 activated !! The persons concerned have to evacuate.",bc_map,"0xff9977"; + donpcevent instance_npcname("MobCtrl3#mob03")+"::On05"; + stopnpctimer; + end; +} + +// The Lab No.3 Monster Control +//============================================================ +1@lhz,37,104,4 script MobCtrl3#mob03 CLEAR_NPC,{ + end; + +On01: + .@map$ = instance_mapname("1@lhz"); + .@label$ = instance_npcname("MobCtrl3#mob03")+"::OnMyMobDead"; + monster .@map$,80,60,"Starving Lab animal",2242,1,.@label$; + monster .@map$,81,58,"Starving Lab animal",2242,1,.@label$; + monster .@map$,82,56,"Starving Lab animal",2242,1,.@label$; + monster .@map$,84,60,"Starving Lab animal",2242,1,.@label$; + monster .@map$,85,58,"Starving Lab animal",2242,1,.@label$; + monster .@map$,82,60,"Starving Lab animal",2243,1,.@label$; + monster .@map$,83,58,"Starving Lab animal",2243,1,.@label$; + monster .@map$,85,56,"Starving Lab animal",2243,1,.@label$; + monster .@map$,86,60,"Starving Lab animal",2243,1,.@label$; + monster .@map$,87,58,"Starving Lab animal",2243,1,.@label$; + end; + +On02: + .@map$ = instance_mapname("1@lhz"); + .@amount1 = rand(1,5); + .@amount2 = rand(1,5); + .@label$ = instance_npcname("MobCtrl3#mob03")+"::OnMyMobDead"; + monster .@map$,80,60,"Starving Lab animal",2242,.@amount1,.@label$; + monster .@map$,82,60,"Starving Lab animal",2242,.@amount2,.@label$; + monster .@map$,84,60,"Starving Lab animal",2243,.@amount1,.@label$; + monster .@map$,86,60,"Starving Lab animal",2242,.@amount2,.@label$; + monster .@map$,81,58,"Starving Lab animal",2242,.@amount1,.@label$; + monster .@map$,83,58,"Starving Lab animal",2243,.@amount2,.@label$; + monster .@map$,85,58,"Starving Lab animal",2242,.@amount1,.@label$; + monster .@map$,87,58,"Starving Lab animal",2242,.@amount2,.@label$; + monster .@map$,82,56,"Starving Lab animal",2243,.@amount1,.@label$; + monster .@map$,85,56,"Starving Lab animal",2242,.@amount2,.@label$; + end; + +On03: + .@map$ = instance_mapname("1@lhz"); + .@amount1 = rand(1,5); + .@amount2 = rand(1,5); + .@amount3 = rand(1,5); + .@label$ = instance_npcname("MobCtrl3#mob03")+"::OnMyMobDead"; + monster .@map$,80,60,"Starving Lab animal",2242,.@amount1,.@label$; + monster .@map$,82,60,"Starving Lab animal",2242,.@amount2,.@label$; + monster .@map$,84,60,"Starving Lab animal",2242,.@amount3,.@label$; + monster .@map$,86,60,"Starving Lab animal",2243,.@amount1,.@label$; + monster .@map$,81,58,"Starving Lab animal",2242,.@amount2,.@label$; + monster .@map$,83,58,"Starving Lab animal",2242,.@amount3,.@label$; + monster .@map$,85,58,"Starving Lab animal",2242,.@amount1,.@label$; + monster .@map$,87,58,"Starving Lab animal",2243,.@amount2,.@label$; + monster .@map$,82,56,"Starving Lab animal",2242,.@amount3,.@label$; + monster .@map$,85,56,"Starving Lab animal",2242,.@amount1,.@label$; + end; + +On04: + .@map$ = instance_mapname("1@lhz"); + .@amount1 = rand(1,5); + .@amount2 = rand(1,5); + .@amount3 = rand(1,5); + .@amount4 = rand(1,5); + .@label$ = instance_npcname("MobCtrl3#mob03")+"::OnMyMobDead"; + monster .@map$,80,60,"Starving Lab animal",2242,.@amount1,.@label$; + monster .@map$,82,60,"Starving Lab animal",2242,.@amount2,.@label$; + monster .@map$,84,60,"Starving Lab animal",2242,.@amount3,.@label$; + monster .@map$,86,60,"Starving Lab animal",2242,.@amount4,.@label$; + monster .@map$,81,58,"Starving Lab animal",2243,.@amount1,.@label$; + monster .@map$,83,58,"Starving Lab animal",2242,.@amount2,.@label$; + monster .@map$,85,58,"Starving Lab animal",2242,.@amount3,.@label$; + monster .@map$,87,58,"Starving Lab animal",2242,.@amount4,.@label$; + monster .@map$,82,56,"Starving Lab animal",2243,.@amount1,.@label$; + monster .@map$,85,56,"Starving Lab animal",2242,.@amount2,.@label$; + end; + +On05: + .@map$ = instance_mapname("1@lhz"); + .@amount1 = rand(1,5); + .@amount2 = rand(1,5); + .@amount3 = rand(1,5); + .@amount4 = rand(1,5); + .@amount5 = rand(1,5); + .@label$ = instance_npcname("MobCtrl3#mob03")+"::OnMyMobDead"; + monster .@map$,80,60,"Starving Lab animal",2243,.@amount1,.@label$; + monster .@map$,82,60,"Starving Lab animal",2242,.@amount2,.@label$; + monster .@map$,84,60,"Starving Lab animal",2242,.@amount3,.@label$; + monster .@map$,86,60,"Starving Lab animal",2243,.@amount4,.@label$; + monster .@map$,81,58,"Starving Lab animal",2242,.@amount5,.@label$; + monster .@map$,83,58,"Starving Lab animal",2242,.@amount1,.@label$; + monster .@map$,85,58,"Starving Lab animal",2243,.@amount2,.@label$; + monster .@map$,87,58,"Starving Lab animal",2242,.@amount3,.@label$; + monster .@map$,82,56,"Starving Lab animal",2242,.@amount4,.@label$; + monster .@map$,85,56,"Starving Lab animal",2243,.@amount5,.@label$; + end; + +OnDisable: + killmonster instance_mapname("1@lhz"),instance_npcname("MobCtrl3#mob03")+"::OnMyMobDead"; + end; + +OnMyMobDead: + if (mobcount(instance_mapname("1@lhz"),instance_npcname("MobCtrl3#mob03")+"::OnMyMobDead") < 1) { + donpcevent instance_npcname("#potal_03")+"::OnEnable"; + donpcevent instance_npcname("Lab3#3_1")+"::OnDisable"; + mapannounce instance_mapname("1@lhz"),"[Security System] The Security system of The Lab No.3 has been stopped.",bc_map,"0xff9977"; + } + end; +} + +// The Lab No.3 >> Boss's Room Warp portal +//============================================================ +1@lhz,83,62,0 script #potal_03 WARPNPC,2,2,{ + end; + +OnInstanceInit: + disablenpc instance_npcname("#potal_03"); + end; + +OnEnable: + mapannounce instance_mapname("1@lhz"),"[Management System] The door which connects to the Lab No.4 is now open.",bc_map,"0x7799ff"; + enablenpc instance_npcname("#potal_03"); + end; + +OnDisable: + disablenpc instance_npcname("#potal_03"); + end; + +OnTouch: + warp instance_mapname("1@lhz"), 137, 100; + end; +} + +// The Lab No.4 +//============================================================ +1@lhz,137,100,0 script #4_0 -1,1,1,{ + end; + +OnEnable: + enablenpc instance_npcname("#4_0"); + end; + +OnDisable: + disablenpc instance_npcname("#4_0"); + end; + +OnTouch: + donpcevent instance_npcname("Lab4#4_1")+"::OnEnable"; + donpcevent instance_npcname("#4_0")+"::OnDisable"; + end; +} + +// The Lab No.4 4_1 System - Summon of Boss Monster +//============================================================ +1@lhz,35,102,4 script Lab4#4_1 CLEAR_NPC,{ + end; + +OnEnable: + initnpctimer; + end; + +OnDisable: + stopnpctimer; + end; + +OnTimer1000: + mapannounce instance_mapname("1@lhz"),"Whisper: Who are you....",bc_map,"0x7DCBF0"; + specialeffect EF_SPHERE,AREA,instance_npcname("Seyren Windsor#boss01"); + end; + +OnTimer2000: + specialeffect EF_SPHERE,AREA,instance_npcname("Cecile Damon#boss02"); + end; + +OnTimer3000: + mapannounce instance_mapname("1@lhz"),"Whisper: Do not approach more...",bc_map,"0x7DCBF0"; + specialeffect EF_SPHERE,AREA,instance_npcname("Gertie Wie#boss03"); + end; + +OnTimer4000: + specialeffect EF_SPHERE,AREA,instance_npcname("Eremes Guile#boss04"); + end; + +OnTimer5000: + mapannounce instance_mapname("1@lhz"),"Whisper: This is a very dangerous place..",bc_map,"0x7DCBF0"; + specialeffect EF_SPHERE,AREA,instance_npcname("Trentini#boss05"); + end; + +OnTimer6000: + specialeffect EF_SPHERE,AREA,instance_npcname("Chen Liu#boss06"); + end; + +OnTimer7000: + mapannounce instance_mapname("1@lhz"),"Whisper: You won't go out alive....",bc_map,"0x7DCBF0"; + specialeffect EF_SPHERE,AREA,instance_npcname("Alphochio Basil#boss07"); + end; + +OnTimer8000: + specialeffect EF_SPHERE,AREA,instance_npcname("Flamel Emul#boss08"); + end; + +OnTimer9000: + mapannounce instance_mapname("1@lhz"),"Whisper: If you don't want to be a part of us....",bc_map,"0x7DCBF0"; + specialeffect EF_SPHERE,AREA,instance_npcname("Randel Lawrence#boss09"); + end; + +OnTimer10000: + specialeffect EF_SPHERE,AREA,instance_npcname("Celia Alde#boss10"); + end; + +OnTimer11000: + mapannounce instance_mapname("1@lhz"),"Whisper: Leave now....",bc_map,"0x7DCBF0"; + specialeffect EF_SPHERE,AREA,instance_npcname("Kathryne Keyron#boss11"); + end; + +OnTimer12000: + specialeffect EF_SPHERE,AREA,instance_npcname("Margaretha Sorin#boss12"); + end; + +OnTimer13000: + mapannounce instance_mapname("1@lhz"),"Whisper: Before this place is thoroughly filled with sorrow and pain....",bc_map,"0x7DCBF0"; + specialeffect EF_SPHERE,AREA,instance_npcname("Howard Alt-Eisen#boss13"); + end; + +OnTimer14000: + specialeffect EF_SPHERE,AREA,instance_npcname("Type_**Gren#boss14"); + end; + +OnTimer15000: + specialeffect EF_SPHERE,AREA,instance_npcname("Type_**Roke#boss15"); + end; + +OnTimer16000: + specialeffect EF_SPHERE,AREA,instance_npcname("Type_**Dree#boss16"); + end; + +OnTimer17000: + mapannounce instance_mapname("1@lhz"),"Whisper: Ah....it....it's too late......",bc_map,"0x7DCBF0"; + donpcevent instance_npcname("MobCtrl4#mob04")+"::OnEnable"; + stopnpctimer; + end; +} + +// Area No. 4 - Boss Summon Control +//============================================================ +1@lhz,37,102,4 script MobCtrl4#mob04 CLEAR_NPC,{ + end; + +OnEnable: + switch(rand(1,13)) { + case 1: + donpcevent instance_npcname("Seyren Windsor#boss01")+"::OnEnable"; + end; + case 2: + donpcevent instance_npcname("Cecile Damon#boss02")+"::OnEnable"; + end; + case 3: + donpcevent instance_npcname("Gertie Wie#boss03")+"::OnEnable"; + end; + case 4: + donpcevent instance_npcname("Eremes Guile#boss04")+"::OnEnable"; + end; + case 5: + donpcevent instance_npcname("Trentini#boss05")+"::OnEnable"; + end; + case 6: + donpcevent instance_npcname("Chen Liu#boss06")+"::OnEnable"; + end; + case 7: + donpcevent instance_npcname("Alphochio Basil#boss07")+"::OnEnable"; + end; + case 8: + donpcevent instance_npcname("Flamel Emul#boss08")+"::OnEnable"; + end; + case 9: + donpcevent instance_npcname("Randel Lawrence#boss09")+"::OnEnable"; + end; + case 10: + donpcevent instance_npcname("Celia Alde#boss10")+"::OnEnable"; + end; + case 11: + donpcevent instance_npcname("Kathryne Keyron#boss11")+"::OnEnable"; + end; + case 12: + donpcevent instance_npcname("Margaretha Sorin#boss12")+"::OnEnable"; + end; + case 13: + donpcevent instance_npcname("Howard Alt-Eisen#boss13")+"::OnEnable"; + end; + } + +OnDisable: + //stopnpctimer; + end; +} + +// Random Experiments in Tubes +//============================================================ +1@lhz,156,148,3 script Type_**Gren#boss14 4_M_03,{ end; } +1@lhz,152,152,3 script Type_**Roke#boss15 4_M_HUMAN_01,{ end; } +1@lhz,148,156,3 script Type_**Dree#boss16 4_M_DWARF,{ end; } + +// Bosses +//============================================================ +- script bio4FBoss -1,{ + end; + +OnEnable: + .@map$ = instance_mapname("1@lhz"); + .@label$ = instance_npcname(strnpcinfo(0))+"::OnMyMobDead"; + specialeffect EF_SUI_EXPLOSION; + + if (strnpcinfo(0) == "Seyren Windsor#boss01") + monster .@map$,129,154,"Load Knight Seyren",1646,1,.@label$; + else if (strnpcinfo(0) == "Cecile Damon#boss02") + monster .@map$,125,150,"Sniper Cecile",1650,1,.@label$; + else if (strnpcinfo(0) == "Gertie Wie#boss03") + monster .@map$,121,146,"Stalker Gertie",2239,1,.@label$; + else if (strnpcinfo(0) == "Eremes Guile#boss04") + monster .@map$,117,142,"Assassin Cross Eremes",1647,1,.@label$; + else if (strnpcinfo(0) == "Trentini#boss05") + monster .@map$,117,125,"Gypsy Trentini",2241,1,.@label$; + else if (strnpcinfo(0) == "Chen Liu#boss06") + monster .@map$,121,121,"Champion Chen",2238,1,.@label$; + else if (strnpcinfo(0) == "Alphochio Basil#boss07") + monster .@map$,125,117,"Crown Alphochio",2240,1,.@label$; + else if (strnpcinfo(0) == "Flamel Emul#boss08") + monster .@map$,129,113,"Creator Flamel",2236,1,.@label$; + else if (strnpcinfo(0) == "Randel Lawrence#boss09") + monster .@map$,146,113,"Paladin Randel",2235,1,.@label$; + else if (strnpcinfo(0) == "Celia Alde#boss10") + monster .@map$,150,117,"Professor Celia",2237,1,.@label$; + else if (strnpcinfo(0) == "Kathryne Keyron#boss11") + monster .@map$,154,121,"High Wizard Kathryne",1651,1,.@label$; + else if (strnpcinfo(0) == "Margaretha Sorin#boss12") + monster .@map$,158,125,"High Priest Margaretha",1649,1,.@label$; + else if (strnpcinfo(0) == "Howard Alt-Eisen#boss13") + monster .@map$,158,142,"White Smith Howard",1648,1,.@label$; + + end; + +OnDisable: + killmonster instance_mapname("1@lhz"),instance_npcname(strnpcinfo(0))+"::OnMyMobDead"; + disablenpc instance_npcname(strnpcinfo(0)); + end; + +OnMyMobDead: + if (mobcount(instance_mapname("1@lhz"), instance_npcname(strnpcinfo(0))+"::OnMyMobDead") < 1) { + .@map$ = instance_mapname("1@lhz"); + + if (strnpcinfo(0) == "Seyren Windsor#boss01") + mapannounce .@map$,"Awww... Where are all my fellows....",bc_map,"0xFD3B02"; + else if (strnpcinfo(0) == "Cecile Damon#boss02") + mapannounce .@map$,"Any..one, please help.. please.....",bc_map,"0xFD3B02"; + else if (strnpcinfo(0) == "Gertie Wie#boss03") + mapannounce .@map$,".. did I act too.. rashly...?",bc_map,"0xFD3B02"; + else if (strnpcinfo(0) == "Eremes Guile#boss04") + mapannounce .@map$,"Ah..... I am absolutely defeated....",bc_map,"0xFD3B02"; + else if (strnpcinfo(0) == "Trentini#boss05") + mapannounce .@map$,"ah.. If I.. ever can ... dance and.... sing...happily....",bc_map,"0xFD3B02"; + else if (strnpcinfo(0) == "Chen Liu#boss06") + mapannounce .@map$,"I.... am so .. sorry....",bc_map,"0xFD3B02"; + else if (strnpcinfo(0) == "Alphochio Basil#boss07") + mapannounce .@map$,"...the new song......was ....for.....her....",bc_map,"0xFD3B02"; + else if (strnpcinfo(0) == "Flamel Emul#boss08") + mapannounce .@map$,"Ha...I wanted to show.... the new potion....",bc_map,"0xFD3B02"; + else if (strnpcinfo(0) == "Randel Lawrence#boss09") + mapannounce .@map$,"Wooooo.. everyone got defeated.....??",bc_map,"0xFD3B02"; + else if (strnpcinfo(0) == "Celia Alde#boss10") + mapannounce .@map$,"No..... this experiment is.....dang...",bc_map,"0xFD3B02"; + else if (strnpcinfo(0) == "Kathryne Keyron#boss11") + mapannounce .@map$,"awww.. is everyone Ok....?",bc_map,"0xFD3B02"; + else if (strnpcinfo(0) == "Margaretha Sorin#boss12") + mapannounce .@map$,"My good boy.. Don't cry... ah.... our Great Odin.. please save us...",bc_map,"0xFD3B02"; + else if (strnpcinfo(0) == "Howard Alt-Eisen#boss13") + mapannounce .@map$,"oh...no.... can't breath.... and my sister...?? sister!!",bc_map,"0xFD3B02"; + + donpcevent instance_npcname("Wolfchev#last")+"::OnEnable"; + donpcevent instance_npcname(strnpcinfo(0))+"::OnDisable"; + } + end; +} +1@lhz,127,156,5 duplicate(bio4FBoss) Seyren Windsor#boss01 1646 +1@lhz,123,152,5 duplicate(bio4FBoss) Cecile Damon#boss02 1650 +1@lhz,119,148,5 duplicate(bio4FBoss) Gertie Wie#boss03 2239 +1@lhz,115,144,5 duplicate(bio4FBoss) Eremes Guile#boss04 1647 +1@lhz,115,123,7 duplicate(bio4FBoss) Trentini#boss05 2241 +1@lhz,119,119,7 duplicate(bio4FBoss) Chen Liu#boss06 2238 +1@lhz,123,115,7 duplicate(bio4FBoss) Alphochio Basil#boss07 2240 +1@lhz,127,111,7 duplicate(bio4FBoss) Flamel Emul#boss08 2236 +1@lhz,148,111,1 duplicate(bio4FBoss) Randel Lawrence#boss09 2235 +1@lhz,152,115,1 duplicate(bio4FBoss) Celia Alde#boss10 2237 +1@lhz,156,119,1 duplicate(bio4FBoss) Kathryne Keyron#boss11 1651 +1@lhz,160,123,1 duplicate(bio4FBoss) Margaretha Sorin#boss12 1649 +1@lhz,160,144,3 duplicate(bio4FBoss) Howard Alt-Eisen#boss13 1648 + +// Wolfchev - Final encounter +//============================================================ +1@lhz,137,156,7 script Wolfchev#last 4_LGTSCIENCE,{ + if ((MaxWeight - Weight) < 1000 || !checkweight(1201, 1)) { + mes "^FF0000 Check up your inventory. You got too many items to carry out the quest. ^000000"; + close; + } + .@all_quests_complete = true; + for(.@i = 5113; .@i <= 5125; .@i++) { + if (checkquest(.@i, HUNTING) != 2) + .@all_quests_complete = false; + } + if (.@all_quests_complete) { + // Quests Complete. Get Rewards. + if (lght_duk01 == 8) { + // First time beating the instance. + mes "[Wolfchev]"; + mes "You finally defeated my Boss creature."; + next; + mes "[Wolfchev]"; + mes "Finally. is this the result?? For whom did I experiment? Did they cheat me?"; + next; + mes "[Wolfchev]"; + mes "The button was supposed to be pressed for an emergency case...but.."; + next; + mes "[Wolfchev]"; + mes "Hey... You and I met by a bad connection...."; + next; + mes "[Wolfchev]"; + mes "But...., you helped me... How could you do that?"; + next; + mes "["+ strcharinfo(0) +"]"; + mes "When I met you for the first time, you seemed mad but sad, even if you could commit those cruel and horrific experiments."; + next; + mes "["+ strcharinfo(0) +"]"; + mes "But actually, you did that because you was lonely,.. you just concentrated on that for this reason, huh?"; + next; + mes "[Wolfchev]"; + mes "HAHAHAHA. Loneliness... you say?"; + next; + mes "[Wolfchev]"; + mes "It might be seen like that to you. But, it isn't. Loneliness is just a good and easy excuse of the losers."; + next; + mes "[Wolfchev]"; + mes "I'm so happy doing experiments pursuing for a perfection, I never feel lonely."; + next; + mes "[Wolfchev]"; + mes "Anyway, since I realized that Rekenber betrayed me, I cannot just let them do what they want."; + next; + mes "[Wolfchev]"; + mes "For now, I will leave them alone, but I will make them cry and regret for trying to remove Wolfchev."; + next; + mes "["+ strcharinfo(0) +"]"; + mes "... .... ... ...."; + next; + lght_duk01 = 9; + callsub L_Reward; + mes "[Wolfchev]"; + mes "aaaaaah, "+ strcharinfo(0) +" Thank you so much to remove my boys who had gone mad. Not a big gift but I wish you don't deny, I don't need this anymore."; + next; + mes "[Wolfchev]"; + mes "And, if you can...hope you to come back often, especially with your friends. I want the place to be with human heart again so the sadness in here gets disappear."; + next; + mes "I looked at Wolfchev again before leaving his lab. and I could feel that he was not obsessed anymore.."; + close2; + warp "lhz_dun04", 147, 273; + end; + } else { + mes "[Wolfchev]"; + mes "You did defeat all of the Boss creatures. Thank you again."; + next; + callsub L_Reward; + mes "[Wolfchev]"; + mes "I say again, "+ strcharinfo(0) +" Thank you so much to remove my boys who had gone mad. Not a big gift but I wish you don't deny, I don't need this anymore."; + next; + mes "[Wolfchev]"; + mes "Khahaha, See you again. Do you want to get out of here now?"; + next; + if (select("Not yet", "Yes") == 1) { + mes "[Wolfchev]"; + mes "Then tell me when you want to."; + close; + } + mes "[Wolfchev]"; + mes "Then I will send you out."; + close2; + warp "lhz_dun04", 147, 273; + end; + } + } else { + if (!.@all_quests_complete) { + mes "[Wolfchev]"; + mes "I was looking at the system.... don't know who made this..... but it's so complicated to get..no idea..."; + next; + } else { + mes "[Wolfchev]"; + mes "kakakaah.. Thank you. You handled those Boss creatures well..."; + next; + } + if (lght_duk01 == 7) { + lght_duk01 = 8; + mes "[Wolfchev]"; + mes "While you were struggling..."; + next; + mes "[Wolfchev]"; + mes "I figured something out... and there's a system error which doesn't let us come and go freely, so you could help me in 72 hours... Go somewhere to rest before you come back."; + next; + mes "[Wolfchev]"; + mes "Ah... and I can send you out of my laboratory. Do you want?"; + next; + } else { + mes "[Wolfchev]"; + mes "Do you want to get out of here now?"; + next; + } + if (select("Not yet", "Yes") == 1) { + mes "[Wolfchev]"; + mes "Then tell me when you want to."; + close; + } + mes "[Wolfchev]"; + mes "Then I will send you out."; + close2; + warp "lhz_dun04", 147, 273; + end; + } + +L_Reward: + for(.@i = 5113; .@i <= 5125; .@i++) { + erasequest .@i; + } + .@r = rand(1, 1000); + if (.@r < 84) getitem 2582, 1; //Salvage_Cape + else if (.@r < 167) getitem 18570, 1; //Ancient_Gold_Deco + else if (.@r < 250) getitem 1490, 1; //Giant_Lance + else if (.@r < 333) getitem 16017, 1; //Bloody_Cross + else if (.@r < 416) getitem 1291, 1; //Guillotine_Katar + else if (.@r < 499) getitem 1584, 1; //Chilly_Spell_Book + else if (.@r < 582) getitem 6471, 10; //Goast_Chill + else if (.@r < 665) getitem 6470, 10; //Blood_Thirst + else if (.@r < 748) getitem 6469, 10; //Will_Of_Warrior + else if (.@r < 831) getitem 6471, 20; //Goast_Chill + else if (.@r < 914) getitem 6470, 20; //Blood_Thirst + else getitem 6469, 20; //Will_Of_Warrior + return; + +OnInstanceInit: +OnDisable: + disablenpc instance_npcname("Wolfchev#last"); + end; + +OnEnable: + enablenpc instance_npcname("Wolfchev#last"); + end; +} diff --git a/re/jobs/1-1/acolyte.txt b/re/jobs/1-1/acolyte.txt index e1c809e..ab2bcd2 100644 --- a/re/jobs/1-1/acolyte.txt +++ b/re/jobs/1-1/acolyte.txt @@ -21,7 +21,7 @@ prt_church,184,41,4 script Cleric#aco 60,{ mes "Ah, I sense you have endured"; mes "a past life experience. You must have learned many things before entering Valhalla."; next; - if (getskilllv("NV_BASIC") < 9) { + if (!callfunc("F_CanChangeJob")) { mes "[Father Mareusis]"; mes "Unfortunately, I don't think you're ready to become an Acolyte yet. Please finish learning all of the Basic Skills first."; next; @@ -39,9 +39,9 @@ prt_church,184,41,4 script Cleric#aco 60,{ mes "wish you luck on your"; mes "new life's journey."; next; - skill 143,0,0; + skill "NV_TRICKDEAD",0,0; jobchange Job_Acolyte_High; - skill 156,1,0; + skill "AL_HOLYLIGHT",1,0; mes "[Father Mareusis]"; mes "Now, venture forth and seek those who need your help. May God light your path."; close; @@ -75,7 +75,7 @@ prt_church,184,41,4 script Cleric#aco 60,{ mes "Do you truly wish to become a servant of God?"; mes "Let's see whether you are ready for it or not... Hmm..."; next; - if (getskilllv("NV_BASIC") < 9) { + if (!callfunc("F_CanChangeJob")) { mes "[Father Mareusis]"; mes "Oh my?! You haven't accomplished the basic practice yet?! You have a long way to go! Come again after increasing your job level!"; close; diff --git a/re/jobs/1-1/archer.txt b/re/jobs/1-1/archer.txt index 6d1a9f6..e434f25 100644 --- a/re/jobs/1-1/archer.txt +++ b/re/jobs/1-1/archer.txt @@ -25,7 +25,7 @@ payon_in02,64,71,4 script Archer Guildsman#archer 85,{ mes "to Valhalla and been reborn."; mes "Wow, that's so impressive!"; next; - if (getskilllv("NV_BASIC") < 9) { + if (!callfunc("F_CanChangeJob")) { mes "[Archer Guildsman]"; mes "Err..."; mes "You'd better learn all the Basic Skills first before you can become an Archer."; @@ -39,10 +39,10 @@ payon_in02,64,71,4 script Archer Guildsman#archer 85,{ mes "need to say anything else."; mes "I know you'll make a great Archer..."; next; - skill 143,0,0; + skill "NV_TRICKDEAD",0,0; jobchange Job_Archer_high; - skill 147,1,0; - skill 148,1,0; + skill "AC_MAKINGARROW",1,0; + skill "AC_CHARGEARROW",1,0; mes "[Archer Guildsman]"; mes "Although there's no special"; mes "reward for you this time, I hope you understand. Take care of yourself."; @@ -76,7 +76,7 @@ payon_in02,64,71,4 script Archer Guildsman#archer 85,{ }else{ mes "You are... "+strcharinfo(0)+", right?"; next; - if (getskilllv("NV_BASIC") < 9) { + if (!callfunc("F_CanChangeJob")) { mes "[Archer Guildsman]"; mes "Well, you're not at the right skill level."; mes "Your job level must be at least ^4A4AFF10^000000 and your Basic Skill level should reach ^4A4AFFlevel 9"; diff --git a/re/jobs/1-1/mage.txt b/re/jobs/1-1/mage.txt index 8a78f70..0e451ce 100644 --- a/re/jobs/1-1/mage.txt +++ b/re/jobs/1-1/mage.txt @@ -22,7 +22,7 @@ geffen_in,164,124,4 script Mage Guildsman#mage 123,{ mes "[Mage Guildsman]"; mes "Ah, you must have been reborn. Well, I'm glad to have you back."; next; - if (getskilllv("NV_BASIC") < 9) { + if (!callfunc("F_CanChangeJob")) { mes "[Mage Guildsman]"; mes "I'm sorry, but I don't think you're ready to learn magic yet. Why don't you go finish learning the Basic Skills first?"; next; @@ -33,9 +33,9 @@ geffen_in,164,124,4 script Mage Guildsman#mage 123,{ mes "[Mage Guildsman]"; mes "Well, since you have passed the Mage test once, I will not question your qualification. You want to have your magic skills back immediately, don't you?"; next; - skill 143,0,0; + skill "NV_TRICKDEAD",0,0; jobchange Job_Mage_High; - skill 157,1,0; + skill "MG_ENERGYCOAT",1,0; mes "[Mage Guildsman]"; mes "Wow, for some reason, you look way better than you did before. Anyway, I believe you will do a better job being a Mage as well."; close; @@ -84,7 +84,7 @@ geffen_in,164,124,4 script Mage Guildsman#mage 123,{ close; } mes "[Mage Guildsman]"; - if (getskilllv("NV_BASIC") < 9) { + if (!callfunc("F_CanChangeJob")) { mes "Oh, man your Basic Skill Level doesn't reach enough to be a Mage."; mes "Go back and level up your Basic Skill."; close; diff --git a/re/jobs/1-1/merchant.txt b/re/jobs/1-1/merchant.txt index 77c014e..b2edafd 100644 --- a/re/jobs/1-1/merchant.txt +++ b/re/jobs/1-1/merchant.txt @@ -25,7 +25,7 @@ alberta_in,53,43,6 script Merchant#mer 86,{ mes "Whoa..."; mes "You've actually been to Valhalla?! Wow, you've come a long way..."; next; - if (getskilllv("NV_BASIC") < 9) { + if (!callfunc("F_CanChangeJob")) { mes "[Chief Mahnsoo]"; mes "Hmmm..."; mes "It seems that you're not ready to become a Merchant again. Go finish learning the Basic Novice Skills first."; @@ -37,11 +37,11 @@ alberta_in,53,43,6 script Merchant#mer 86,{ mes "[Chief Mahnsoo]"; mes "I guess it's destiny that we meet like this once more. Alright. Once again, let me change you into a Merchant!"; next; - skill 143,0,0; + skill "NV_TRICKDEAD",0,0; jobchange Job_Merchant_High; - skill 153,1,0; - skill 154,1,0; - skill 155,1,0; + skill "MC_CARTREVOLUTION",1,0; + skill "MC_CHANGECART",1,0; + skill "MC_LOUD",1,0; mes "[Chief Mahnsoo]"; mes "Ah~ How nostalgic. Just like old times! Alright, do your best!"; close; @@ -75,7 +75,7 @@ alberta_in,53,43,6 script Merchant#mer 86,{ }else{ mes "Want to be a merchant? Hmm..."; next; - if (getskilllv("NV_BASIC") < 9) { + if (!callfunc("F_CanChangeJob")) { mes "[Guildsman Mahnsoo]"; mes "But if you want to be a merchant, your basic skill level must reach Level 9 or you must spend all of your skill points."; next; diff --git a/re/jobs/1-1/swordman.txt b/re/jobs/1-1/swordman.txt index 9a9850f..42def2d 100644 --- a/re/jobs/1-1/swordman.txt +++ b/re/jobs/1-1/swordman.txt @@ -23,7 +23,7 @@ izlude_in,74,172,4 script Swordman#swd 119,{ mes "[Swordman]"; mes "I see you're retreading the path of the Swordman! Once you've gotten used to brandishing a sword, you can never go back!!"; next; - if (getskilllv("NV_BASIC") < 9) { + if (!callfunc("F_CanChangeJob")) { mes "[Swordman]"; mes "Hmm? Ah, you must first master the Basic Skills before you are ready to become a Swordman."; next; @@ -34,11 +34,11 @@ izlude_in,74,172,4 script Swordman#swd 119,{ mes "[Swordman]"; mes "Excellent! Let me promote you to a Swordman right away!"; next; - skill 143,0,0; + skill "NV_TRICKDEAD",0,0; jobchange Job_Swordman_High; - skill 144,1,0; - skill 145,1,0; - skill 146,1,0; + skill "SM_MOVINGRECOVERY",1,0; + skill "SM_FATALBLOW",1,0; + skill "SM_AUTOBERSERK",1,0; mes "[Swordman]"; mes "Hmm... You look like a well-experienced Swordman. Still, I'm sure that you must train to improve your skills and gain strength!"; close; @@ -92,7 +92,7 @@ izlude_in,74,172,4 script Swordman#swd 119,{ } close; }else{ - if (getskilllv("NV_BASIC") < 9) { + if (!callfunc("F_CanChangeJob")) { mes "I'm sorry to tell you this but to be a Swordman, you must reach at least ^4A4AFFJob Level 10^000000."; mes "and ^4A4AFFBasic Skill Level 9^000000."; next; diff --git a/re/jobs/1-1/thief.txt b/re/jobs/1-1/thief.txt index 3fc7c6d..9fdae20 100644 --- a/re/jobs/1-1/thief.txt +++ b/re/jobs/1-1/thief.txt @@ -19,7 +19,7 @@ moc_prydb1,39,129,2 script Thief Guide#thief 69,{ mes "[Thief Guide]"; mes "Huh? Do I know you? It's creepy that you seem so familiar. You don't have a twin, do you?"; next; - if (getskilllv("NV_BASIC") < 9) { + if (!callfunc("F_CanChangeJob")) { mes "[Thief Guide]"; mes "What, do you want to be a Thief? I'm sorry, but you look like you need more training."; next; @@ -30,12 +30,12 @@ moc_prydb1,39,129,2 script Thief Guide#thief 69,{ mes "[Thief Guide]"; mes "Well, I got this feeling like you've been through a lifetime of fighting, so I'm promoting you to a Thief right this minute. I better give you tough guys what you want..."; next; - skill 143,0,0; + skill "NV_TRICKDEAD",0,0; jobchange Job_Thief_High; - skill 149,1,0; - skill 150,1,0; - skill 151,1,0; - skill 152,1,0; + skill "TF_SPRINKLESAND",1,0; + skill "TF_BACKSLIDING",1,0; + skill "TF_PICKSTONE",1,0; + skill "TF_THROWSTONE",1,0; mes "[Thief Guide]"; mes "Since you've become a Thief, live as a Thief. Now, go for it! Next~"; close; @@ -136,7 +136,7 @@ moc_prydb1,39,129,2 script Thief Guide#thief 69,{ mes "Alright, tell me your name. Huh? What?"; mes ""+strcharinfo(0)+". So "+strcharinfo(0)+", right...?"; next; - if (getskilllv("NV_BASIC") < 9) { + if (!callfunc("F_CanChangeJob")) { mes "[Thief Guildsman]"; mes "I can see your strong will to become a Thief......"; mes "But only with your will, you cannot make it in a real fight, can you?"; diff --git a/re/jobs/2e/kagerou_oboro.txt b/re/jobs/2e/kagerou_oboro.txt new file mode 100644 index 0000000..38b51dc --- /dev/null +++ b/re/jobs/2e/kagerou_oboro.txt @@ -0,0 +1,2874 @@ +//===== rAthena Script ======================================= +//= Kagerou/Oboro Job Quest +//===== By: ================================================== +//= M45T3R, Dastgir Pojee, Euphy +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Job change Quest from Ninja -> Kagerou/Oboro. +//===== Additional Comments: ================================= +//= 1.0 First version. Uses official script structure and text +//= from iRO (ripped by M45T3R/Dastgir Pojee). [Euphy] +//============================================================ + +// Starting the Quest +//============================================================ +que_ng,28,156,0 script Start#ko 139,1,1,{ + end; +OnTouch: + if (BaseLevel >= 99 && JobLevel >= 70 && job_kagero == 0 && Class == Job_Ninja) { + mes "Secret Passage to ^25C18DNinja Guild^25C18D"; + mes "You hear familiar voices talking to each other."; + next; + mes "[Unknown Voice A]"; + mes "Long time, no see. How are you? How are the kids you've taken in?"; + next; + mes "[Unknown Voice B]"; + mes "I have to hand it to you. You've picked some competitive ones."; + next; + mes "[Unknown Voice A]"; + mes "Sounds like music to my ears. Being sent to a foreign land with air pollution was bad enough, now haunted with memories of this place..."; + next; + mes "[Unknown Voice A]"; + mes "What do you think? Should we rotate now?"; + next; + mes "[Unknown Voice B]"; + mes "Haven't given up, have ya. Do you really think he'll approve?"; + next; + mes "[Unknown Voice A]"; + mes "No need to be bitter. Hey! Were any of the kids that come and go here the ones that found the ^BD0408place^BD0408?"; + next; + mes "[Unknown Voice B]"; + mes "Since finding the hidden place was also a part of the test."; + next; + mes "[Unknown Voice A]"; + mes "You are as stubborn as the first time I met you. It's just a wall in some place..."; + next; + mes "[Unknown Voice B]"; + mes "Shssh! I think someone is eavesdropping. Hurry! Go back to the mission area."; + next; + mes "The conversation stopped abruptly. Hidden place? Wall? Part of a test? What is all this about?"; + setquest 5131; + set job_kagero,1; + close; + } else if (BaseJob != Job_Ninja && job_kagero > 0) { + for (set .@i,5131; .@i<=5146; set .@i,.@i+1) + if (isbegin_quest(.@i)) erasequest .@i; + set job_kagero,0; + } + end; +} + +que_ng,21,76,0 script Wall with a Drawing#ko 844,{ + if (Class == Job_Oboro || Class == Job_Kagerou) { + mes "You should no longer use this secret passage."; + close; + } else if (job_kagero == 1 && Class == Job_Ninja) { + mes "You found a location that resembles the hidden place."; + next; + mes "This wall was here ever since. How come I didn't notice it before?"; + next; + mes "Now that I know it's a secret passage, what do I do to get in?"; + next; + if(select("Tear the drawing down.:Touch the drawing with your hand.") == 1) { + mes "I can't rip it down because I don't own it."; + close; + } + mes "You touch the drawing with the tip of your hand and felt a sudden sensation of being pulled."; + close2; + warp "job_ko",26,111; + end; + } else if (job_kagero > 1 && Class == Job_Ninja) { + mes "Entrance to the ^25C18DNinja Guild^000000 hideout."; + next; + if(select("Enter.:Do not enter.") == 2) + close; + mes "When touching the drawing, you get the feeling of being pulled..."; //custom translation + close2; + warp "job_ko",26,111; + end; + } else { + mes "There is a wall with a great drawing on it."; + close; + } + end; +} + +job_ko,25,115,4 script Old Man#ko 588,{ + if (MaxWeight - Weight < 1000 || checkweight(1201,1) == 0) { + mes "[Cougar]"; + mes "You don't need to carry so many things."; //custom translation + close; + } + if (BaseJob != Job_Ninja) { + for (set .@i,5131; .@i<=5146; set .@i,.@i+1) + if (isbegin_quest(.@i)) erasequest .@i; + set job_kagero,0; + mes "[Cougar]"; + mes "You are not in the Family of the Ninja."; + close2; + warp "amatsu",147,136; + end; + } + if (job_kagero == 1) { + cutin "job_ko03",2; + mes "^1A95E6An old man looking hale and hearty is sitting and gazing vacantly.^1A95E6"; + next; + if(select("Ignore.:Talk to him.") == 1) { + close2; + cutin "",255; + end; + } + mes "["+strcharinfo(0)+"]"; + mes "Excuse me..."; + next; + mes "^1A95E6You tried to talk to the old man but there is no response. Just when you are about to turn away...^1A95E6"; + next; + mes "[Old Man]"; + mes "At last, a customer! Hmm... and a live one, too!"; + next; + select("Excuse me... where am I?"); + mes "[Old Man]"; + mes "^1A95E6He keeps talking and doesn't stop to answer your question.^1A95E6"; + next; + mes "[Old Man]"; + mes "There once was a quiet family living in ancient Amatsu times that is never mentioned in history books or stories."; + next; + mes "[Old Man]"; + mes "They lived beneath shadows but always yearned for the bright sun, like a sunflower."; + next; + mes "[Old Man]"; + mes "A family that was loyal to their lord who they served as their bright sun."; + next; + mes "[Old Man]"; + mes "...a very trustworthy family..."; + next; + mes "[Old Man]"; + mes "....loyal to their core..."; + next; + mes "[Old Man]"; + mes "...a family of integrity..."; + next; + select("What happened to them?"); + mes "^1A95E6The old man looks at you with a melancholy face.^1A95E6"; + next; + mes "[Old Man]"; + mes "Why are you interested in a family that was abandoned by their lord and disappeared from history itself?"; + next; + if(select("I'm a Ninja.:I'm bored.") == 2) { + mes "[Old Man]"; + mes "Was nice to meet you."; + close2; + warp "amatsu",147,136; + end; + } + cutin "job_ko02",2; + mes "[Old Man]"; + mes "Ninja! There was a time when the family was called ninjas, too."; + next; + erasequest 5131; + setquest 5132; + set job_kagero,2; + mes "[Old Man]"; + mes "You'll have to lend me your ear for I have so much to tell you about the family story."; + close2; + cutin "",255; + end; + } else if (job_kagero == 2) { + cutin "job_ko01",2; + mes "^1A95E6The Old Man starts the story with a very soothing tone as if he is telling his grandchild a story.^1A95E6"; + next; + mes "[Old Man]"; + mes "This goes way back to ancient times and nobody in Amatsu remembers about it."; + next; + mes "[Old Man]"; + mes "The family worked behind the scenes and basically lived their lives for their lord."; + next; + mes "[Old Man]"; + mes "They were very loyal doing whatever deed their lord asked for."; + next; + mes "[Old Man]"; + mes "Ninja, the family was known as the dark family but that doesn't mean they wanted to be hidden in the darkness."; + next; + mes "[Old Man]"; + mes "They were loyal enough to be satisfied as the lord's servants but their loyalty became the problem."; + next; + select("Problem?"); + mes "[Old Man]"; + mes "They are a secret organization that even the lord didn't know much about."; + next; + mes "[Old Man]"; + mes "The few that knew about the family's existence, tried to investigate them but nobody was able to reveal their true identity."; + next; + mes "[Old Man]"; + mes "That is why this family has grown from loyal servants to a group feared for its secrets."; + next; + mes "[Old Man]"; + mes "The lord shunned the family and didn't call them for their service any more but they never betrayed him."; + next; + select("They were really loyal people."); + cutin "job_ko03",2; + mes "[Old Man]"; + mes "Yes, they were. Very loyal."; + next; + erasequest 5132; + setquest 5133; + set job_kagero,3; + mes "^1A95E6The old man looks even more forlorn.^1A95E6"; + close2; + cutin "",255; + end; + } else if (job_kagero == 3) { + cutin "job_ko03",2; + mes "[Old Man]"; + mes "The family has been living in hiding for so long since the old days. The current lord didn't even know of their existence."; + next; + select("........."); + cutin "job_ko01",2; + mes "[Old Man]"; + mes "I'm Guide Gion, the last of the dark ninja family."; + next; + if(select("I think your time has ended.:I need your teaching.") == 1) { + cutin "job_ko04",2; + mes "[Guide Gion]"; + mes "Are you an assassin to end this old man's life?"; + next; + mes "[Guide Gion]"; + mes "So that is why you've shown interest in my family. I won't give up easily."; + next; + percentheal -99,0; + mes "Pow!!"; + mes "^1A95E6You lose conscience with the great impact.^000000"; + close2; + warp "amatsu",147,136; + end; + } + cutin "job_ko02",2; + mes "[Guide Gion]"; + mes "Teaching..."; + mes "Been a long time since I last heard that word."; + next; + mes "[Guide Gion]"; + mes "I guess this little visit was not by coincidence but a start of a connection."; + next; + mes "[Guide Gion]"; + mes "Sorry I am not a teacher. But!"; + next; + mes "[Guide Gion]"; + mes "I can help you on the path you've chosen, the ^33CC71"+((Sex)?"Kagerou":"Oboro")+"^000000 path."; + next; + mes "^1A95E6You hear Guide Gion's voice faintly as you slip away.^1A95E6"; + next; + erasequest 5133; + setquest 5134; + set job_kagero,4; + mes "[Guide Gion]"; + mes "If you are prepared to follow me, Guide Gion, on the "+((Sex)?"Kagerou":"Oboro")+" path, we will meet again."; + close2; + warp "amatsu",147,136; + end; + } else if (job_kagero == 4) { + cutin "job_ko02",2; + mes "[Guide Gion]"; + mes "I thought you were afraid of the ^33CC71path of the "+((Sex)?"Kagerou":"Oboro")+"^33CC71 and wouldn't come back."; + next; + mes "[Guide Gion]"; + mes "But from the look of your eyes, I guess I misjudged you."; + next; + mes "[Guide Gion]"; + mes "You will have to train your mind and body to walk steadily in the unknown world and never fall into temptation to stay on the path."; + next; + mes "[Guide Gion]"; + mes "Our ancestors had 4 tests to train our people."; + next; + select("4 tests?"); + cutin "job_ko01",2; + mes "[Guide Gion]"; + mes "Yes, there are 4 tests."; + mes "My ancestors trained my people with 4 tests that involve ^087FF8knowledge^000000, ^087FF8survival^000000, ^087FF8weapons^000000, and ^087FF8battle^000000."; + next; + mes "[Guide Gion]"; + mes "I know you are curious what these tests are. Let me explain one by one."; + next; + while(1) { + set .@i, select("Test of Knowledge:Test of Survival:Test of Weaponry:Test of Battle"); + set .@test, .@test | (1<<(.@i-1)); + switch (.@i) { + case 1: + mes "[Guide Gion]"; + mes "We need to be knowledgeable in order to assist the lord. This test is for this purpose."; + next; + mes "[Guide Gion]"; + mes "You can pass the test if you successfully solve more than 9 out of 10 questions."; + next; + if (.@test != 15) { + mes "[Guide Gion]"; + mes "The test will be easy to pass if you've been steady in your studies. Now what other test are you curious about?"; + next; + } + break; + case 2: + mes "[Guide Gion]"; + mes "Missions aren't always easy and safe. That is why survival instincts are vital to us."; + next; + mes "[Guide Gion]"; + mes "My ancestors call this test the dice test. It is a test to advance forward depending on the dice results."; + next; + mes "[Guide Gion]"; + mes "Think of it as the simple dice games people play."; + next; + mes "[Guide Gion]"; + mes "But never let your guard down during the test because it isn't called the survival test for nothing."; + next; + mes "[Guide Gion]"; + mes "There will be blocks that help you while there are blocks that will interrupt you."; + next; + if (.@test != 15) { + mes "[Guide Gion]"; + mes "If you deal with various situations wisely, you will be able to pass the test. Now what other test are you curious about?"; + next; + } + break; + case 3: + mes "[Guide Gion]"; + mes "My family was famous for using unique weapons that we created."; + next; + mes "[Guide Gion]"; + mes "You would be considered blessed if you created your own unique weapon."; + next; + mes "[Guide Gion]"; + mes "Creating a weapon for yourself and refining it is the purpose of this test."; + next; + if (.@test != 15) { + mes "[Guide Gion]"; + mes "I hope you will be blessed and find the best weapon for yourself. Now what other test are you curious about?"; + next; + } + break; + case 4: + mes "[Guide Gion]"; + mes "Missions are not always done alone. You will often work in teams of 2 or 3 for a common goal."; + next; + mes "[Guide Gion]"; + mes "The battle test is only for those that pass that knowledge, survival and weapon tests. So! It is the very last test."; + next; + mes "[Guide Gion]"; + mes "Unlike the other three tests that are done alone, you will have to compete with others in this final test."; + next; + mes "[Guide Gion]"; + mes "There is only one target!!"; + mes "And only the first to get to the target passes the test."; + next; + mes "[Guide Gion]"; + mes "You'll be lucky if you have no competitors during your test."; + next; + if (.@test != 15) { + mes "[Guide Gion]"; + mes "A challenge is better than explaining it a hundred times. It's the actual experience that makes you better."; + next; + } + break; + } + if (.@test == 15) break; + } + cutin "job_ko02",2; + mes "[Guide Gion]"; + mes "Seeing is believing, so go on and take the challenge."; //custom translation + next; + erasequest 5134; + setquest 5135; + set job_kagero,5; + mes "[Guide Gion]"; + mes "Let's start right away after you are done with preparations."; + close2; + cutin "",255; + end; + } else if (job_kagero == 5) { + set .@ko_test_01, isbegin_quest(5136); + set .@ko_test_02, isbegin_quest(5137); + set .@ko_test_03, isbegin_quest(5138); + set .@ko_test, .@ko_test_01 + .@ko_test_02 + .@ko_test_03; + if (.@ko_test == 0) { + cutin "job_ko03",2; + mes "[Guide Gion]"; + mes "It's been a while."; + next; + mes "[Guide Gion]"; + mes "Since I felt happy like this. I feel young and energetic seeing young people like you challenge themselves with a new path."; + next; + mes "[Guide Gion]"; + mes "We're done with explaining about the tests, now should I tell you my family story?"; + next; + cutin "job_ko01",2; + mes "[Guide Gion]"; + mes "My family started from two warriors."; + next; + mes "[Guide Gion]"; + mes "Kagerou, a warrior like the dancing flames of the sun."; + next; + mes "[Guide Gion]"; + mes "Oboro, a warrior like the misty moonlight."; + next; + mes "[Guide Gion]"; + mes "The Sun and the Moon."; + mes "The sunlight that lights up the world and the moonlight that lights up the night. Both were very similar but different warriors."; + next; + mes "[Guide Gion]"; + mes "There was a time there was an enmity between both warriors."; + next; + mes "[Guide Gion]"; + mes "But it didn't take long for them to become one as a family."; + next; + select("How did it go afterwards?"); + cutin "job_ko02",2; + mes "[Guide Gion]"; + mes "Ha ha ha. It is never fun to listen to the whole story all at once, no? Come back after passing a test and I'll continue my story."; + next; + mes "[Guide Gion]"; + mes "Which test will you select as your first test?"; + next; + callsub L_StartTest,select("Test of Knowledge:Test of Survival:Test of Weaponry"),1; + end; + } else if (.@ko_test == 2) { + cutin "job_ko01",2; + mes "[Guide Gion]"; + if (.@ko_test_01 == 2) { + set .@menu$,":Test of Survival:Test of Weaponry"; + mes "You've passed the Test of Knowledge."; + next; + mes "[Guide Gion]"; + mes "My friend doesn't approve of others that easily but I guess he liked you."; + next; + } else if (.@ko_test_02 == 2) { + set .@menu$,"Test of Knowledge::Test of Weaponry"; + mes "You've passed the Test of Survival."; + next; + mes "[Guide Gion]"; + mes "Looks like you went through hell with this test."; + next; + } else if (.@ko_test_03 == 2) { + set .@menu$,"Test of Knowledge:Test of Survival:"; + mes "You've passed the Test of Weaponry."; + next; + mes "[Guide Gion]"; + mes "I wonder if Joe is satisfied with your performance."; + next; + } + select("Please continue with the family story."); + cutin "job_ko02",2; + mes "[Guide Gion]"; + mes "Looks like you are pretty eager to hear more. Where did I leave off... Ah! I remember."; + next; + mes "[Guide Gion]"; + mes "Kagerou, a warrior like the dancing flames of the sun."; + next; + mes "[Guide Gion]"; + mes "Oboro, a warrior like the misty moonlight."; + next; + mes "[Guide Gion]"; + mes "Both warriors weren't close at first, because personality and everything else was completely opposite of each other."; + next; + mes "[Guide Gion]"; + mes "The first place they met was the battlefield. And you know how enemies greet each other on a battlefield."; + next; + mes "[Guide Gion]"; + mes "They ended up injuring each other badly."; + next; + mes "[Guide Gion]"; + mes "But what can you do? War is a war."; + next; + mes "[Guide Gion]"; + mes "The friend you've laughed with yesterday is a foe that you have to fight with in a war today."; + next; + mes "[Guide Gion]"; + mes "So nobody can get along with anyone during a war."; + next; + mes "[Guide Gion]"; + mes "I'll continue the story after you pass another test."; + next; + mes "[Guide Gion]"; + mes "Which test will you choose for the second test?"; + next; + callsub L_StartTest,select(.@menu$),2; + end; + } else if (.@ko_test == 4) { + cutin "job_ko04",2; + mes "[Guide Gion]"; + if (.@ko_test_01 == 2 && .@ko_test_02 == 2) { + set .@last_test,3; + mes "You've passed the ^339CCCTests of Knowledge and Survival^000000!"; + } else if (.@ko_test_01 == 2 && .@ko_test_03 == 2) { + set .@last_test,2; + mes "You've passed the ^339CCCTests of Knowledge and Weaponry^000000!"; + } else if (.@ko_test_02 == 2 && .@ko_test_03 == 2) { + set .@last_test,1; + mes "You've passed the ^339CCCTests of Survival and Weaponry^000000!"; + } + next; + mes "[Guide Gion]"; + mes "You are already done with two tests. Hope you've learned a lot from them."; + next; + cutin "job_ko01",2; + mes "[Guide Gion]"; + mes "Shall we continue with the story?"; + next; + mes "[Guide Gion]"; + mes "Kagerou, a warrior like the dancing flames of the sun."; + next; + mes "[Guide Gion]"; + mes "Oboro, a warrior like the misty moonlight."; + next; + mes "[Guide Gion]"; + mes "I think I left off when the two warriors met at the battlefield as enemies."; + next; + mes "[Guide Gion]"; + mes "The long war ended eventually but the wounds and pain of those that survived had just started."; + next; + mes "[Guide Gion]"; + mes "So these two warriors started to embrace and heal the war wounds together and became one."; + next; + mes "[Guide Gion]"; + mes "There is a backstory of a man appearing in front of them and winning the loyalty from both warriors."; + next; + select("Who is this man?"); + mes "[Guide Gion]"; + mes "There isn't much known about this man. Only a short mentioning of the two warriors pledging their allegiance."; + next; + mes "[Guide Gion]"; + mes "Maybe current generations like me are the ancestors of the current Amatsu lord? But this is only an assumption."; + next; + mes "[Guide Gion]"; + mes "I'm almost at the end of my family story. Come back after you've passed the third test and I will tell you the rest."; + next; + callsub L_StartTest,.@last_test,3; + end; + } else if (.@ko_test == 6) { + cutin "job_ko01",2; + mes "[Guide Gion]"; + mes "You've gone through three tests leaving only one to pass."; + next; + mes "[Guide Gion]"; + mes "As I've told you before, the last test is different because you have to compete against others."; + next; + select("Will you continue the story?"); + cutin "job_ko02",2; + mes "[Guide Gion]"; + mes "Ha ha ha. I will finish the story."; + next; + mes "[Guide Gion]"; + mes "Kagerou, a warrior like the dancing flames of the sun."; + next; + mes "[Guide Gion]"; + mes "Oboro, a warrior like the misty moonlight."; + next; + mes "[Guide Gion]"; + mes "It is told that the man that earned the loyalty of the two warriors was a humorous person."; + next; + mes "[Guide Gion]"; + mes "He like the jokes and conversations better than quarrels and he liked women over men."; + next; + mes "[Guide Gion]"; + mes "Hmm... I don't know why this part of the story was kept alive all these years but this man wanted to bring these two warriors together."; + next; + mes "[Guide Gion]"; + mes "Both warriors did travel together after the war but kept an awkward distance from each other."; + next; + mes "[Guide Gion]"; + mes "They must have had their reasons but their lord would send them out to a difficult mission together, put them in a secret room together and all sorts of situations together."; + next; + select("Sounds like an odd person."); + mes "[Guide Gion]"; + mes "Yes, he was. And his efforts didn't go in vain since the two warriors eventually got acquainted and married."; + next; + mes "[Guide Gion]"; + mes "This is how the family started."; + next; + select("What happened after?"); + mes "[Guide Gion]"; + mes "Sadly, the next part of story was purposely discontinued."; + next; + mes "[Guide Gion]"; + mes "I think it's because someone wanted us to let go of the past and move forward."; + next; + mes "[Guide Gion]"; + mes "That's that. Now shouldn't you be preparing for the last test?"; + next; + set job_kagero,6; + mes "[Guide Gion]"; + mes "But you must be tired from all the tests so far. Take a rest."; + close2; + cutin "",255; + end; + } else if (.@ko_test == 1 || .@ko_test == 3 || .@ko_test == 5) { + cutin "job_ko04",2; + if (.@ko_test_01 == 1) + set .@test_ko$, "Knowledge"; + else if (.@ko_test_02 == 1) + set .@test_ko$, "Survival"; + else if (.@ko_test_03 == 1) + set .@test_ko$, "Weaponry"; + mes "[Guide Gion]"; + mes "Weren't you taking the Test of " + .@test_ko$ + " just now?"; //custom translation + next; + switch(select("I want to go back to test site.:Ah... no.")) { + case 1: + mes "[Guide Gion]"; + mes "The Test of " + .@test_ko$ + " site is over here."; //custom translation(?) + close2; + if (.@ko_test_01 == 1) + warp "job_ko",72,128; + else if (.@ko_test_02 == 1) + warp "job_ko",62,16; + else if (.@ko_test_03 == 1) + warp "job_ko",121,129; + end; + case 2: + mes "[Guide Gion]"; + mes "The village is over here."; + close2; + warp "amatsu",147,136; + end; + } + } + } else if (job_kagero == 6) { + cutin "job_ko01",2; + mes "[Guide Gion]"; + mes "You've come back already? You could have rested more. Is there a reason to hurry?"; + next; + input .@inputstr$; + cutin "job_ko03",2; + mes "[Guide Gion]"; + mes "Because of ^B24E59" + .@inputstr$ + "^000000?"; + next; + mes "[Guide Gion]"; + mes "I have to admit, I don't understand you now."; + next; + mes "[Guide Gion]"; + mes "But since you've gone through much, I'm sure you will do good with the final test."; + next; + cutin "job_ko01",2; + mes "[Guide Gion]"; + mes "Now! No more small talk. I'll let you know what the target is for the Test of Battle."; + next; + mes "[Guide Gion]"; + mes "The target is a monster called the ^FF0000Family Secret^000000."; + next; + mes "[Guide Gion]"; + mes "You will have to be careful because there are many similiar shaped and named monsters in test site."; + next; + mes "[Guide Gion]"; + mes "And if you are lucky, there will be others targeting the monster."; + next; + mes "[Guide Gion]"; + mes "May the blessings of '" + ((Sex)?"Kagerou, dancing sun":"Oboro, misty moonlight") + "' be with you."; + next; + setquest 5146; + set job_kagero,7; + mes "[Guide Gion]"; + mes "Then let's go to the battle test field."; + close2; + switch(rand(3)) { + case 0: warp "job_ko",142,20; break; + case 1: warp "job_ko",141,80; break; + case 2: warp "job_ko",107,60; break; + } + end; + } else if (job_kagero == 7 || job_kagero == 8) { + cutin "job_ko03",2; + mes "[Guide Gion]"; + mes "I see you are in the middle of the ^339CCCTest of Battle^000000. Will you go back to the test site?"; + next; + switch(select("Go back to the test site.:Visit the village.")) { + case 1: + mes "[Guide Gion]"; + mes "The test site is over here."; //custom translation(?) + close2; + switch(rand(3)) { + case 0: warp "job_ko",142,20; break; + case 1: warp "job_ko",141,80; break; + case 2: warp "job_ko",107,60; break; + } + end; + case 2: + mes "[Guide Gion]"; + mes "The village is over here."; + close2; + cutin "",255; + end; + } + } else { + cutin "job_ko03",2; + mes "[Guide Gion]"; + mes "You should not be here. Leave!"; + close2; + warp "amatsu",147,136; + end; + } + end; + +//callsub L_StartTest,<1=Knowledge,2=Survival,3=Weaponry>,; +L_StartTest: + switch (getarg(1)) { + case 1: set .@str$,"You are starting with the ^339CCCTest of %s^000000? "; break; + case 2: set .@str$,"You are taking the ^339CCCTest of %s^000000 as the second test? "; break; //custom translation + case 3: set .@str$,"Your third test is the ^339CCCTest of %s^000000! "; break; + } + mes "[Guide Gion]"; + switch (getarg(0)) { + case 1: + mes sprintf(.@str$ + "Then I will get to see a familiar face after so long...","Knowledge"); + next; + select("Familiar face?"); + setquest 5136; + mes "[Guide Gion]"; + mes "Ha ha ha. You'll know when we get there. The Test of Knowledge is taken over here."; + close2; + warp "job_ko",72,128; + end; + case 2: + mes sprintf(.@str$ + "It's a lonesome test that you have to face alone.","Survival"); + next; + setquest 5137; + mes "[Guide Gion]"; + mes "But I believe you can handle it. The Test of Survival is taken over here."; + close2; + warp "job_ko",62,16; + end; + case 3: + mes sprintf(.@str$ + "I have something to give you before you go.","Weaponry"); + next; + setquest 5138; + getitem 1002,5; //Iron_Ore + getitem 1010,1; //Phracon + mes "You receive 5 Iron Ore and 1 Phracon."; + next; + mes "[Guide Gion]"; + mes "You will find these useful. The Test of Weaponry is taken over here."; + close2; + warp "job_ko",121,129; + end; + } +} + +// Test of Knowledge +//============================================================ +job_ko,81,124,4 script Cougar#ko 730,{ + if (BaseJob != Job_Ninja) { + for (set .@i,5131; .@i<=5146; set .@i,.@i+1) + if (isbegin_quest(.@i)) erasequest .@i; + set job_kagero,0; + mes "[Cougar]"; + mes "Sorry, your family is not same as ours, is there something wrong?"; + close2; + warp "amatsu",147,136; + end; + } + if (job_kagero != 5) { + goto L_Kick; + } + if (MaxWeight - Weight < 1000 || checkweight(1201,1) == 0) { + mes "[Cougar]"; + mes "This is a test of knowledge, so why did you bring so many things?"; //custom translation + close; + } + set .@ko_test_01, isbegin_quest(5136); + set .@ko_test_01_1, isbegin_quest(5139); + if (.@ko_test_01 == 1 && .@ko_test_01_1 == 0) { + mes "[Cougar]"; + mes "It's been a while."; + next; + select("Aren't you..."); + mes "[Cougar]"; + mes "I remember you from before looking for the way of the ninja."; + next; + mes "[Cougar]"; + mes "You've grown this strong already?"; + next; + mes "[Cougar]"; + mes "Ha ha ha-"; + mes "A truly determined youth! I like that."; + next; + mes "[Cougar]"; + mes "Good! The test you are about to take is the ^339CCCTest of Knowledge^000000."; + next; + mes "[Cougar]"; + mes "I hope you haven't been lazy with your studies while focusing on getting stronger?"; + next; + switch(select("Yes:No")) { + case 1: + setquest 5139; + mes "[Cougar]"; + mes "That's a relief. Let me know when you are ready to start the test."; + close; + case 2: + setquest 5139; + mes "[Cougar]"; + mes "So you were all talk? Well, let me know when you are ready then."; + close; + } + } else if (.@ko_test_01 == 1 && .@ko_test_01_1 == 1) { + mes "[Cougar]"; + mes "I'm ready at my end. Are you ready for the test?"; + next; + if(select("Yes:No") == 2) { + mes "[Cougar]"; + mes "Well, what can I do but wait for you."; + close; + } + mes "[Cougar]"; + mes "This isn't your first test, is it?"; + next; + mes "[Cougar]"; + mes "You only need to choose the correct answer to my questions."; + next; + mes "[Cougar]"; + mes "Let's start."; + next; + + set .@questions,10; // number of questions to ask + + // shuffle array an array of questions to be asked + freeloop(1); + setarray .@n[0], + 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50; + for (set .@i,getarraysize(.@n)-1; .@i>0; set .@i,.@i-1) { + set .@rand, rand(.@i); + set .@tmp, .@n[.@i]; + set .@n[.@i], .@n[.@rand]; + set .@n[.@rand], .@tmp; + } + deletearray .@n[10],getarraysize(.@n) - .@questions; + freeloop(0); + + set @job_ko_cougar,0; + for (set .@i,1; .@i<=.@questions; set .@i,.@i+1) { + mes "[Cougar]"; + mes (.@i < .@questions)?"Question number "+.@i+":":"Last question:"; + switch (.@n[.@i-1]) { + case 1: callsub L_Question,"What is the DEX + LUK total for a Job Master?",2,"8:10:12:14"; break; + case 2: callsub L_Question,"What is the highest job level for a ninja?",1,"70:50:99:100"; break; + case 3: callsub L_Question,"How many skill points do you need to master the Throw Coins skill?",3,"25:30:35:37"; break; + case 4: callsub L_Question,"Which of the following is the correct number of Evasion and effect duration for Mirror Image level 10?",4,"Up to 7 and 200 seconds:Up to 5 and 220 seconds:Up to 6 and 240 seconds:Up to 5 and 240 seconds"; break; + case 5: callsub L_Question,"How many skill points do you need to master the Cicada Skin Shed?",1,"5:3:1:4"; break; + case 6: callsub L_Question,"If Dagger Throwing Practice is at 7, how much ATK is added to Shuriken attacks?",2,"18:21:27:30"; break; + case 7: callsub L_Question,"What is the basic attack range for Throw Shuriken?",3,"7 blocks:8 blocks:9 blocks:10 blocks"; break; + case 8: callsub L_Question,"What is the maximum moving range of Shadow Leap?",4,"6 blocks:7 blocks:8 blocks:9 blocks"; break; + case 9: callsub L_Question,"How much money is used for Throw Coins level 6?",4,"2000-8000:1000-6000:3000-8000:3000-6000"; break; + case 10: callsub L_Question,"What is the most important aspect of increasing ATK for the Killing Strike skill?",2,"VIT:MAXHP:INT:MAXSP"; break; + case 11: callsub L_Question,"What is not the effect you get after reaching the STR status?",3,"Close range attack increase:Weight limit increase:Magic attack increase:Weapon attack increase"; break; + case 12: callsub L_Question,"What is not the effect you get after reaching the INT status?",4,"MAXSP increase:MATK increase:Magic damage increase:Staff attack increase"; break; + case 13: callsub L_Question,"What is not the effect you get after reaching the DEX status?",2,"Casting time decrease:Evasion increase:Accuracy increase:Long range attack increase"; break; + case 14: callsub L_Question,"What is not the effect you get after reaching the AGI status?",1,"Accuracy increase:Flee increase:Attack speed increase:Delay after attack decrease"; break; + case 15: callsub L_Question,"What is not the effect you get after reaching the VIT status?",4,"Weapon defense increase:MAXHP increase:Magic defense increase:Attack increase"; break; + case 16: callsub L_Question,"What is not the effect you get after reaching the LUK status?",3,"Accuracy increase:Complete evasion increase:Magic damage decrease:Critical rate increase"; break; + case 17: callsub L_Question,"You need to equip a card to your shoes to enhance Killing Strike attack. Which of the following is the appropriate card to equip?",2,"Gold Acidus Card:Matyr Card:Odium of Thantos Card:Eddga Card"; break; + case 18: callsub L_Question,"You need a catalyst to use ninja skills. Which of the following skills does not need a catalyst?",3,"Blaze Shield:Watery Evasion:Flaming Petals:Snow Flake Draft"; break; + case 19: callsub L_Question,"How much does STR/INT go up when Ninja Aura level 5 is used?",2,"4:5:6:7"; break; + case 20: callsub L_Question,"You are hunting the Orc Warrior. Which Kunai would you use? ",1,"Heat Wave Kunai:Icicle Kunai:Fell Poison Kunai:High Wind Kunai"; break; + case 21: callsub L_Question,"Which village is the Ninja Guild located in?",2,"Lutie:Amatsu:Dewata:Comodo"; break; + case 22: callsub L_Question,"How do Ninjas get promoted?",3,"By Val Kiwi:By Randgris:None:By Valkyrie"; break; + case 23: callsub L_Question,"What was next to me when you first met me?",4,"A cushion:A folding screen:A flowerpot:A brazier"; break; + case 24: callsub L_Question,"What is the level of Dagger Throwing Practice you have to reach to learn the Killing Strike skill?",1,"7:5:6:8"; break; + case 25: callsub L_Question,"How many hits does a Throw Kunai give to a monster?",2,"2:3:4:5"; break; + case 26: callsub L_Question,"When your First Wind is at level 4, what will go with the MATK and range?",3,"MATK400, 8 blocks:MATK500, 7 blocks:MATK500, 8 blocks:MATK400, 7 blocks"; break; + case 27: callsub L_Question,"Which of the following skills can't you learn at Dagger Throwing Practice level 7?",4,"Throw Kunai:Throw Huuma Shuriken:Killing Strike:Throw Coins"; break; + case 28: callsub L_Question,"What level do you have to be in Dagger Throwing Practice in order to learn the Throw Coins skill?",4,"4:6:8:10"; break; + case 29: callsub L_Question,"What is the attack range for the Exploding Dragon?",3,"3*3:4*4:5*5:6*6"; break; + case 30: callsub L_Question,"How long is the effect time for the Watery Evasion level 7 skill?",2,"40 seconds:45 seconds:50 seconds:55 seconds"; break; + case 31: callsub L_Question,"What is the attack effect for Haze Slasher level 4?",1,"140%:150%:160%:170%"; break; + case 32: callsub L_Question,"How much power is in the Huuma Blaze Shuriken weapon?",1,"Fireball 5 , DEX-2:Fireball 5 , DEX-3:Fireball 4 , DEX-2:Fireball 4 , DEX-3"; break; + case 33: callsub L_Question,"How much power is in the Murasame weapon?",2,"Human attack 10%:Human critical +10:Demon attack 10%:Demon critical +10"; break; + case 34: callsub L_Question,"What is the maximum hit number for Blaze Shield level 10?",3,"7:8:9:10"; break; + case 35: callsub L_Question,"What is the property of the Lightning Jolt?",4,"Fire:Water:Ground:Wind"; break; + case 36: callsub L_Question,"You are creating a weapon for small monsters. What is the best card to use?",4,"Hydra Card:Minorous Card:Skel Woker Card:Desert Wolf Card"; break; + case 37: callsub L_Question,"You are creating a weapon for mid-sized monsters. What is the best card to use?",3,"Hydra Card:Minorous Card:Skel Woker Card:Desert Wolf Card"; break; + case 38: callsub L_Question,"You are creating a weapon for huge monsters. What is the best card to use?",2,"Hydra Card:Minorous Card:Skel Woker Card:Desert Wolf Card"; break; + case 39: callsub L_Question,"Which NPC promotes you?",1,"Valkyrie:Val Kiwi:Balp Hiri:Elephant"; break; + case 40: callsub L_Question,"Which catalyst do you need to use the Blaze Shield skill?",2,"Ice Stone:Flame Stone:Wind Stone:Earth Stone"; break; + case 41: callsub L_Question,"Which of the following is not an effect of the Watery Evasion skill?",4,"Movement speed decrease:Waterball availability:Holy Water craftability:VIT decrease"; break; + case 42: callsub L_Question,"Which of the following matches are incorrect for skill and property?",3,"Flaming Petals-Fire:Snow Flake Draft-Water:Freezing Spear-Ground:Lightning Jolt-Wind"; break; + case 43: callsub L_Question,"Which of the following is the best skill to use when attacking a ground property enemy?",2,"First Wind:Exploding Dragon:Snow Flake Draft:Wind Blade"; break; + case 44: callsub L_Question,"Which Ninja Mastery skill level do you need to learn the Exploding Dragon skill?",1,"10:9:8:1"; break; + case 45: callsub L_Question,"What is the attack range when you master Flip Tatami?",3,"5:7:3:1"; break; + case 46: callsub L_Question,"What weapon cannot be made by the blacksmith Khaibara?",4,"Khukri:Murasame:Hakujin:Humma Wing Shuriken"; break; + case 47: callsub L_Question,"Which of the following correctly matches material needed to make a Icicle Kunai?",2,"4 Nimbus Shuriken, 2 Ice Stone:8 Nimbus Shuriken, 2 Ice Stone:2 Nimbus Shuriken, 1 Ice Stone:1 Nimbus Shuriken, 2 Ice Stone"; break; + case 48: callsub L_Question,"Which of the following Kunai will give the most damage to the ground property monster, Porcellio?",1,"Heat Wave Kunai:Icicle Kunai:Fell Poison Kunai:High Wind Kunai"; break; + case 49: callsub L_Question,"Which of the following blacksmiths do not create ninja items?",2,"Khaibara:Aiku:Tetsu:Toshu"; break; + case 50: callsub L_Question,"What is the name of the suspicious man you can meet during the Ninja job change quest?",3,"Red Leopard Jack:Black Leopard Jack:Red Leopard Joe:Black Leopard Joe"; break; + default: + mes "[Cougar]"; + mes "An unknown error has occurred."; + mes "Please contact customer service."; + close; + } + } + mes "[Cougar]"; + mes "You're through all 10 questions. Wasn't so bad! The important part starts now."; + next; + mes "[Cougar]"; + mes "... ... ..."; + next; + if (@job_ko_cougar < 90) { + mes "[Cougar]"; + mes "You fool!!"; + mes "You couldn't even solve these?"; + next; + mes "[Cougar]"; + mes "Can't believe someone who is taking a new path can be so pathetic."; + next; + mes "[Cougar]"; + mes "I'll give you another chance."; + mes "You will take the test again with new questions. Better pass it this time."; + } else { + mes "[Cougar]"; + mes "Hmm. " + (@job_ko_cougar) + "?"; + next; + mes "[Cougar]"; + mes "Well, looks like you weren't lazy with your studies."; + next; + mes "[Cougar]"; + mes "What? Proud of yourself for solving these questions?"; + next; + mes "[Cougar]"; + mes "You still have a long way to go and this is only a small fraction of it."; + next; + mes "[Cougar]"; + mes "Well... I'm curious how far your strong will can take you through other tests."; + next; + completequest 5136; + erasequest 5139; + mes "[Cougar]"; + mes "I'll let you go now so go report back to Guide Gion with your results."; + close2; + warp "job_ko",16,113; + end; + } + set @job_ko_cougar,0; + close; + } else if (.@ko_test_01 == 2 && .@ko_test_01_1 == 0) { + mes "[Cougar]"; + mes "I'll let you go now so go report back to Guide Gion with your results."; + close2; + warp "job_ko",16,113; + end; + } else { //custom translation + L_Kick: + mes "[Cougar]"; + mes "How did you get here?"; + next; + mes "[Cougar]"; + mes "It's my duty to get rid of you."; + mes "^000099(He's a short, silent man.)^000000"; + mes "This will push you back!"; + close2; + warp "amatsu",147,136; + end; + } + end; + +//callsub L_Question,"",,":::"; +L_Question: + mes getarg(0); + next; + if(select(getarg(2)) == getarg(1)) + set @job_ko_cougar, @job_ko_cougar + 10; + return; +} + +// Test of Survival +//============================================================ + +// ----------------------------------------------------------- +// Functions +// ----------------------------------------------------------- +function script F_KO_Survival_mes { + mes "[No. " + getarg(0) + "]"; + mes "^1A95E6Other letters are too small to read. Let's look up close.^000000"; + close; +} + +function script F_KO_Survival_warp { + close2; + switch (getarg(0)) { + case 0: warp "job_ko",63,16; break; + case 1: warp "job_ko",54,16; break; + case 2: warp "job_ko",46,16; break; + case 3: warp "job_ko",38,16; break; + case 4: warp "job_ko",30,16; break; + case 5: warp "job_ko",22,16; break; + case 6: warp "job_ko",17,19; break; + case 7: warp "job_ko",17,27; break; + case 8: warp "job_ko",17,35; break; + case 9: warp "job_ko",17,43; break; + case 10: warp "job_ko",17,51; break; + case 11: warp "job_ko",17,60; break; + case 12: warp "job_ko",25,60; break; + case 13: warp "job_ko",33,60; break; + case 14: warp "job_ko",41,60; break; + case 15: warp "job_ko",49,60; break; + case 16: warp "job_ko",57,60; break; + case 17: warp "job_ko",62,56; break; + case 18: warp "job_ko",62,48; break; + case 19: warp "job_ko",62,40; break; + case 20: warp "job_ko",62,32; break; + case 21: warp "job_ko",62,23; break; + case 22: warp "job_ko",54,23; break; + case 23: warp "job_ko",46,23; break; + case 24: warp "job_ko",38,23; break; + case 25: warp "job_ko",30,23; break; + case 26: warp "job_ko",25,27; break; + case 27: warp "job_ko",25,35; break; + case 28: warp "job_ko",25,43; break; + case 29: warp "job_ko",25,52; break; + case 30: warp "job_ko",33,52; break; + case 31: warp "job_ko",41,52; break; + case 32: warp "job_ko",49,52; break; + case 33: warp "job_ko",54,48; break; + case 34: warp "job_ko",54,40; break; + case 35: warp "job_ko",54,31; break; + case 36: warp "job_ko",46,31; break; + case 37: warp "job_ko",38,31; break; + case 38: warp "job_ko",33,35; break; + case 39: warp "job_ko",33,44; break; + case 40: warp "job_ko",41,44; break; + } + end; +} + +//callfunc "F_KO_Survival_dice",{,{,<0:auto-warp (default), 1:do not warp>}} +//Return: dice value [1..6] ONLY IF arg2 = 1 +function script F_KO_Survival_dice { + mes "Location: " + getarg(0); + mes "Total LP: " + job_kagero_lp; + mes "To roll the dice, you need to consume " + getarg(1,1) + " ^FD0260LP^000000."; + next; + select("Roll the dice."); + if (job_kagero_lp < getarg(1,1)) { + mes "Due to insufficient ^FD0260LP^000000, you will be returned to starting position."; + callfunc "F_KO_Survival_warp",0; + end; + } + set job_kagero_lp, job_kagero_lp - getarg(1,1); + set .@dice, rand(1,6); + emotion 57 + .@dice,1; + mes "The dice came out as " + .@dice + "."; + if (getarg(2,0)) + return .@dice; + else { + mes "Press Close to move forward " + .@dice + " blocks."; + callfunc "F_KO_Survival_warp", .@dice + getarg(0); + end; + } +} + +//callfunc "F_KO_Survival_dice2",{,} +function script F_KO_Survival_dice2 { + mes "Location: " + getarg(0); + mes "Total LP: " + job_kagero_lp; + mes "To roll the dice, you need to consume " + getarg(1,2) + " ^FD0260LP^000000."; + next; + select("Roll the first dice."); + if (job_kagero_lp < getarg(1,2)) { + mes "Due to insufficient ^FD0260LP^000000, you will be returned to starting position."; + callfunc "F_KO_Survival_warp",0; + end; + } + set job_kagero_lp, job_kagero_lp - getarg(1,2); + mes "< Used " + getarg(1,2) + " LP >"; + next; + set @job_ko_dice1, rand(1,6); + emotion 57 + @job_ko_dice1,1; + mes "First dice result is " + @job_ko_dice1 + ". Do you want to roll the second dice?"; + next; + select("Roll the second dice."); + set @job_ko_dice2, rand(1,6); + emotion 57 + @job_ko_dice2,1; + return; +} + +//Return: 1:win, 0:draw, -1:lose +function script F_KO_Survival_rps { + setarray .@rps$[1], "Scissors", "Rock", "Paper"; + setarray .@emote[1], e_scissors, e_rock, e_paper; //might be iRO custom(?) + + mes "Rock! Paper! Scissors!"; + next; + set .@pc, select("Give scissors.:Give rock.:Give paper."); + set .@npc, rand(1,3); + emotion .@emote[.@pc],1; + emotion .@emote[.@npc]; + mes "=Game Results="; + mes "Machine: " + .@rps$[.@npc] + "."; + mes "You: " + .@rps$[.@pc] + "."; + next; + if ((.@npc == 1 && .@pc == 2) || (.@npc == 2 && .@pc == 3) || (.@npc == 3 && .@pc == 1)) { + mes "You Win"; + return 1; + } else if (.@pc == .@npc) { + mes "Draw"; + return 0; + } else if ((.@npc == 1 && .@pc == 3) || (.@npc == 2 && .@pc == 1) || (.@npc == 3 && .@pc == 2)) { + mes "You Lose"; + return -1; + } else { + mes "An unknown error has occurred."; + mes "Please contact customer service."; + close; + } +} + +// ----------------------------------------------------------- +// Templates +// ----------------------------------------------------------- +- script Sight#ko_trap -1,{ + callfunc "F_KO_Survival_mes", atoi(substr(strnpcinfo(2),3,4)); + end; +OnTouch: + mes "There are tiny letters on the sign."; + next; + switch (atoi(substr(strnpcinfo(2),3,4))) { + case 2: set .@id,0; break; + case 7: set .@id,5; break; + case 11: set .@id,9; break; + case 23: set .@id,18; break; + case 26: set .@id,20; break; + case 30: set .@id,9; break; + case 35: set .@id,29; break; + } + mes "This block has a trap."; + mes "Press Close to go back to block " + .@id + "."; + callfunc "F_KO_Survival_warp", .@id; + end; +} + +- script Sight#ko_trap2 -1,{ + callfunc "F_KO_Survival_mes", atoi(substr(strnpcinfo(2),3,4)); + end; +OnTouch: + set .@id, atoi(substr(strnpcinfo(2),3,4)); + switch (.@id) { + case 10: set .@var$, "$20110808_vko01"; break; + case 28: set .@var$, "$20110808_vko03"; break; + //case 38: set .@var$, "$20110808_vko04"; break; + } + mes "There are tiny letters on the sign."; + next; + mes "If you don't want to be caught, install a trap."; + next; + if (getd(.@var$) == 0) { + mes "There is currently no trap installed."; + next; + mes "Do you want to use 10 ^FD0260LP^000000 to install a trap?"; + next; + if(select("Install a trap.:Roll the Dice.") == 1) { + if (job_kagero_lp > 9) { + mes "< Used 10 LP >"; + set job_kagero_lp, job_kagero_lp - 10; + setd .@var$,1; + next; + mes "The trap is installed. Please roll the dice."; + next; + } else { + mes "< Did not use 10 LP >"; + mes "^FD0260LP^000000 insufficient! Please roll the dice."; + next; + } + } + } else { + set job_kagero_lp,0; + setd .@var$,0; + mes "You are caught in the trap installed."; + mes "Press Close to go back to block 0."; + callfunc "F_KO_Survival_warp",0; + end; + } + callfunc "F_KO_Survival_dice",.@id; + end; +} + +- script Sight#ko_heal -1,{ + callfunc "F_KO_Survival_mes", atoi(substr(strnpcinfo(2),3,4)); + end; +OnTouch: + set .@id, atoi(substr(strnpcinfo(2),3,4)); + mes "There are tiny letters on the sign."; + next; + mes "This block is blessed."; + mes "Life Point recovers 7 ^FD0260LP^000000."; + mes "Cannot exceed maximum 100 ^FD0260LP^000000."; + next; + mes "< Recovered " + ((job_kagero_lp + 7 > 100) ? "" : "7") + " LP >"; + next; + set job_kagero_lp, ((job_kagero_lp + 7 > 100) ? 100 : job_kagero_lp + 7); + callfunc "F_KO_Survival_dice",.@id; + end; +} + +- script Sight#ko_curse -1,{ + callfunc "F_KO_Survival_mes", atoi(substr(strnpcinfo(2),3,4)); + end; +OnTouch: + set .@id, atoi(substr(strnpcinfo(2),3,4)); + set .@playtime, checkquest(5141,PLAYTIME); + if (.@playtime == -1) { + mes "There are tiny letters on the sign."; + next; + mes "If you do not pay 5 ^FD0260LP^000000, you will be cursed and immobilized for 2 minutes."; + next; + if(select("Use 5 LP:Do not pay.") == 1) { + if (job_kagero_lp > 4) { + set job_kagero_lp, job_kagero_lp - 5; + mes ""; + mes "You can roll the dice."; + next; + callfunc "F_KO_Survival_dice",.@id; + end; + } else { + mes "< Did not use 5 LP >"; + mes "Could not withstand the curse."; //custom translation + next; + } + } + setquest 5141; + mes "You are cursed and cannot move to any other block for 2 minutes."; + close; + } else if (.@playtime == 0 || .@playtime == 1) { + mes "You are cursed and cannot move to any other block for 2 minutes."; + close; + } else if (.@playtime == 2) { + mes "The immobilize curse lasted for 2 minutes and then was removed."; + next; + erasequest 5141; + callfunc "F_KO_Survival_dice",.@id; + end; + } else { + erasequest 5141; + mes "An unknown error has occurred."; + mes "Please contact customer service."; + close; + } +} + +- script Sight#ko_gravity -1,{ + callfunc "F_KO_Survival_mes", atoi(substr(strnpcinfo(2),3,4)); + end; +OnTouch: + set .@id, atoi(substr(strnpcinfo(2),3,4)); + mes "There are tiny letters on the sign."; + next; + mes "Area cursed with 10 times the normal gravity. You will need 10 ^FD0260LP^000000 to roll the dice."; + next; + callfunc "F_KO_Survival_dice",.@id,10; + end; +} + +// ----------------------------------------------------------- +// Blocks (00-40) +// ----------------------------------------------------------- + +job_ko,57,16,4 script Sight#ko_00 858,1,1,{ + callfunc "F_KO_Survival_mes",0; + end; +OnTouch: + if (job_kagero != 5) { + mes "You should not be here."; //custom translation + close2; + warp "amatsu",147,136; + end; + } + if (isbegin_quest(5137) == 1 && isbegin_quest(5140) == 0) { + mes "There are tiny letters on the sign."; + next; + callsub L_Description; + setquest 5140; + set job_kagero_lp,100; + mes "You've gained 100 Life Points (LP)."; + next; + } else { + if (checkquest(5141,PLAYTIME) > -1) + erasequest 5141; + set job_kagero_lp,100; + mes "You've returned to the first block. Your LP is recovered."; + next; + callsub L_Description; + } + callfunc "F_KO_Survival_dice",0; + end; + +L_Description: + while (1) { + if(select("Read the description.:Start the test.") == 2) + break; + mes "The Test of Survival starts from here and you use ^FD0260100 Life Points (LP)^000000 and roll dice to advance forward through the test."; + next; + mes "The whole test starts from block 0 to block 40 and each block you get can either give or take your LP."; + next; + mes "You need to have some ^FD0260LP^000000 till you get to the arrival block at the end to pass the test."; + next; + mes "But! You still pass the test if your ^FD0260LP^000000 becomes 0 when you get to the arrival block."; + next; + mes "Game instructions end here. Good luck to you."; + next; + } + return; +} + +job_ko,49,16,4 script Sight#ko_01 858,1,1,{ + callfunc "F_KO_Survival_mes",1; + end; +OnTouch: + set .@life_p, job_kagero_lp; + mes "There are tiny letters on the sign."; + next; + mes "You are really bad at rolling dice. How can you get a 1 from the start? You can move to block 9 if you pay up 10 LP in this block."; + next; + if(select("Use 10 LP:Roll the dice.") == 1) { + if (job_kagero_lp > 9) { + set .@reset_p, .@life_p - 10; + set job_kagero_lp, .@reset_p; + mes "< Used 10 LP >"; + mes "Press Close to move to block 9."; + callfunc "F_KO_Survival_warp",9; + end; + } else { + mes "< Did not use 10 LP >"; + mes "^FD0260LP^000000 insufficient!"; + next; + } + } + mes "Roll the dice."; + next; + callfunc "F_KO_Survival_dice",1; + end; +} + +job_ko,41,16,4 duplicate(Sight#ko_trap) Sight#ko_02 858,1,1 + +job_ko,33,16,4 script Sight#ko_03 858,1,1,{ + callfunc "F_KO_Survival_mes",3; + end; +OnTouch: + mes "There are tiny letters on the sign."; + next; + mes "Used 5 LP so you will have to resist the curse passed down through generations before moving forward."; + next; + select("Use 5 LP"); + if (job_kagero_lp > 4) { + mes "< Used 5 LP >"; + set job_kagero_lp, job_kagero_lp - 5; + callfunc "F_KO_Survival_dice",3; + } else { + mes "< Did not use 5 LP >"; + mes "^FD0260LP^000000 insufficient! Returning to start location."; + callfunc "F_KO_Survival_warp",0; + } + end; +} + +job_ko,25,16,4 script Sight#ko_04 858,1,1,{ + callfunc "F_KO_Survival_mes",4; + end; +OnTouch: + mes "There are tiny letters scribbled on the sign."; + next; + if ($20110808_sko01$ != "") { + mes "^0000FF" + $20110808_sko01$ +" was here.^000000"; + next; + } + mes "Should I leave my name since taking the test is a special occasion?"; + next; + if(select("Use 5 LP and leave your name.:Continue to roll the dice.") == 1) { + if (job_kagero_lp > 4) { + mes "< Used 5 LP >"; + set job_kagero_lp, job_kagero_lp - 5; + next; + set $20110808_sko01$, strcharinfo(0); + mes strcharinfo(0)+" was here."; + mes "You left your name."; + next; + } else { + mes "< Did not use 5 LP >"; + mes "^FD0260LP^000000 insufficient! You can roll the dice."; + next; + } + } + callfunc "F_KO_Survival_dice",4; + end; +} + +job_ko,17,16,4 duplicate(Sight#ko_curse) Sight#ko_05 858,1,1 + +job_ko,17,24,4 duplicate(Sight#ko_heal) Sight#ko_06 858,1,1 + +job_ko,17,32,4 duplicate(Sight#ko_trap) Sight#ko_07 858,1,1 + +job_ko,17,40,4 script Sight#ko_08 858,1,1,{ + callfunc "F_KO_Survival_mes",8; + end; +OnTouch: + mes "There are tiny letters on the sign."; + next; + mes "Rock-paper-scissors Machine:"; + mes "If you win, move to block 15."; + mes "If it is a draw, roll the dice."; + mes "If you lose, move to block 0."; + next; + switch (callfunc("F_KO_Survival_rps")) { + case 1: + mes "Press Close to move to block 15."; + callfunc "F_KO_Survival_warp",15; + end; + case 0: + mes "A tie, so roll the dice!"; + next; + callfunc "F_KO_Survival_dice",8; + end; + case -1: + mes "Press Close to move to block 0."; + callfunc "F_KO_Survival_warp",0; + end; + } +} + +job_ko,17,48,4 script Sight#ko_09 858,1,1,{ + callfunc "F_KO_Survival_mes",9; + end; +OnTouch: + mes "There are tiny letters on the sign."; + next; + mes "Please proceed."; + next; + callfunc "F_KO_Survival_dice",9; + end; +} + +job_ko,17,56,4 duplicate(Sight#ko_trap2) Sight#ko_10 858,1,1 + +job_ko,22,60,4 duplicate(Sight#ko_trap) Sight#ko_11 858,1,1 + +job_ko,30,60,4 script Sight#ko_12 858,1,1,{ + callfunc "F_KO_Survival_mes",12; + end; +OnTouch: + mes "There are tiny letters on the sign."; + next; + mes "Rock-paper-scissors Machine:"; + mes "If you win, move to block 20."; + mes "If it is a draw, roll the dice."; + mes "If you lose, move to block 9."; + next; + switch (callfunc("F_KO_Survival_rps")) { + case 1: + mes "Press Close to move to block 20."; + callfunc "F_KO_Survival_warp",20; + end; + case 0: + mes "A tie, so roll the dice!"; + next; + callfunc "F_KO_Survival_dice",12; + end; + case -1: + mes "Press Close to move to block 9."; + callfunc "F_KO_Survival_warp",9; + end; + } +} + +job_ko,38,60,4 duplicate(Sight#ko_heal) Sight#ko_13 858,1,1 + +job_ko,46,60,4 duplicate(Sight#ko_curse) Sight#ko_14 858,1,1 + +job_ko,54,60,4 script Sight#ko_15 858,1,1,{ + callfunc "F_KO_Survival_mes",15; + end; +OnTouch: + set .@playtime, checkquest(5141,PLAYTIME); + if (.@playtime == -1) { + mes "There are tiny letters on the sign."; + next; + mes "You will be cursed by a powerful gravity curse that immobilizes you for 2 minutes."; + setquest 5141; + close; + } else if (.@playtime == 0 || .@playtime == 1) { + mes "You are cursed and cannot move to any other block for 2 minutes."; + close; + } else if (.@playtime == 2) { + mes "The immobilize curse lasted for 2 minutes and then was removed."; + next; + erasequest 5141; + callfunc "F_KO_Survival_dice",15; + end; + } else { + erasequest 5141; + mes "An unknown error has occurred."; + mes "Please contact customer service."; + close; + } +} + +job_ko,62,60,4 script Sight#ko_16 858,1,1,{ + callfunc "F_KO_Survival_mes",16; + end; +OnTouch: + mes "There are tiny letters on the sign."; + next; + mes "Consume 2 ^FD0260LP^000000 and roll the dice twice."; + mes "If you get the same number then you can move to block 30, if the numbers are different, consume 2 LP to roll again... until you get the same numbers."; + next; + while (1) { + callfunc "F_KO_Survival_dice2",16; + if (@job_ko_dice1 == @job_ko_dice2) break; + else { + mes "Second dice result is " + @job_ko_dice2 + ", which is not the same number."; //custom translation + next; + } + } + set @job_ko_dice1,0; + set @job_ko_dice2,0; + //mes "Second dice result is " + @job_ko_dice2 + ", which is the same number. Press Close to move block 30."; + mes "You got the same number. Press Close to move block 30."; + callfunc "F_KO_Survival_warp",30; + end; +} + +job_ko,62,51,4 duplicate(Sight#ko_gravity) Sight#ko_17 858,1,1 + +job_ko,62,43,4 script Sight#ko_18 858,1,1,{ + callfunc "F_KO_Survival_mes",18; + end; +OnTouch: + mes "There are tiny letters on the sign."; + next; + mes "Consume 2 ^FD0260LP^000000 and roll the dice twice."; + next; + mes "If the sum of the numbers from both dice is lower than 5, move to block 30, if it higher than 5, move to block 19."; + next; + callfunc "F_KO_Survival_dice2",18; + mes "Second dice result is " + @job_ko_dice2 + "."; + next; + set .@dice_sum, @job_ko_dice1 + @job_ko_dice2; + mes @job_ko_dice1 + " + " + @job_ko_dice2 + " = " + .@dice_sum; + set @job_ko_dice1,0; + set @job_ko_dice2,0; + if (.@dice_sum < 5) { + mes "You total is lower than 5. Press Close to move to block 30."; + callfunc "F_KO_Survival_warp",30; + end; + } else { + mes "You total is larger than 5. Press Close to move to block 19."; + callfunc "F_KO_Survival_warp",19; + end; + } +} + +job_ko,62,35,4 script Sight#ko_19 858,1,1,{ + callfunc "F_KO_Survival_mes",19; + end; +OnTouch: + mes "There are tiny letters on the sign."; + next; + mes "Move forward."; + next; + callfunc "F_KO_Survival_dice",19; + end; +} + +job_ko,62,27,4 duplicate(Sight#ko_heal) Sight#ko_20 858,1,1 + +job_ko,57,23,4 duplicate(Sight#ko_gravity) Sight#ko_21 858,1,1 + +job_ko,49,23,4 script Sight#ko_22 858,1,1,{ + callfunc "F_KO_Survival_mes",22; + end; +OnTouch: + mes "There are tiny letters on the sign."; + next; + mes "Leave all your remaining ^FD0260LP^000000 and go back to block 0, then the next person will be redeemed."; + next; + if ($20110808_vko02 == 0) { + mes "Do you want to leave your ^FD0260LP^000000?"; + mes "If you leave your ^FD0260LP^000000 then the next person for test that arrives at the block will automatically pass the test."; + next; + if(select("Leave all your LP.:Continue to roll the dice.") == 1) { + set job_kagero_lp,0; + set $20110808_vko02,1; + mes "Leave all remaining ^FD0260LP^000000 here. Press Close and go back to block 0."; + callfunc "F_KO_Survival_warp",0; + end; + } + } else if ($20110808_vko02 == 1) { + set $20110808_vko02,0; + mes "Someone before you sacrificed all their ^FD0260LP^000000, so press Close and go to the last block."; //custom translation + callfunc "F_KO_Survival_warp",40; + end; + } else { + mes "An unknown error has occurred."; + mes "Please contact customer service."; + close; + } + callfunc "F_KO_Survival_dice",22; + end; +} + +job_ko,41,23,4 duplicate(Sight#ko_trap) Sight#ko_23 858,1,1 + +job_ko,33,23,4 script Sight#ko_24 858,1,1,{ + callfunc "F_KO_Survival_mes",24; + end; +OnTouch: + mes "There are tiny letters on the sign."; + next; + mes "Consume 2 ^FD0260LP^000000 and roll the dice twice."; + next; + mes "If the sum of the numbers from both dice is larger than 8, then you can move to any block between 25 to 30. But! If the sum is below 8, you must move back to block 19."; + next; + callfunc "F_KO_Survival_dice2",24; + mes "Second dice result is " + @job_ko_dice2 + "."; + next; + set .@dice_sum, @job_ko_dice1 + @job_ko_dice2; + if (.@dice_sum > 8) { + mes @job_ko_dice1 + " + " + @job_ko_dice2 + " = " + .@dice_sum; + set @job_ko_dice1,0; + set @job_ko_dice2,0; + mes "You total is larger than 8. Please choose a block to move between blocks 25 through 30."; + callfunc "F_KO_Survival_warp", select("Move to block 25:Move to block 26:Move to block 27:Move to block 28:Move to block 29:Move to block 30") + 24; + end; + } else { + set @job_ko_dice1,0; + set @job_ko_dice2,0; + mes "You total is lower than 8. Press Close to move to block 19."; + callfunc "F_KO_Survival_warp",19; + end; + } +} + +job_ko,25,23,4 script Sight#ko_25 858,1,1,{ + callfunc "F_KO_Survival_mes",25; + end; +OnTouch: + set .@playtime, checkquest(5141,PLAYTIME); + if (.@playtime == -1) { + mes "There are tiny letters on the sign."; + next; + mes "This is lame."; + mes "Cannot read the writing. There should be a way to read it."; + next; + switch(select("Try something.:Do nothing.")) { + case 1: + specialeffect2 EF_TALK_FROSTJOKE; + mes "Tried a recent Prontera joke to do something."; + next; + setquest 5141; + mes "Got cursed and became immobilized for 2 minutes."; + close; + case 2: + if (rand(1,10) == 4) { + mes "Its a wise decision to do nothing."; + next; + } else { + mes "Nothing happened. Still need to do something."; + close; + } + break; + } + } else if (.@playtime == 0 || .@playtime == 1) { + mes "Cannot move because you are cursed."; + close; + } else if (.@playtime == 2) { + mes "The immobilize curse lasted for 2 minutes and then was removed."; + next; + erasequest 5141; + } else { + erasequest 5141; + mes "An unknown error has occurred."; + mes "Please contact customer service."; + close; + } + callfunc "F_KO_Survival_dice",25; + end; +} + +job_ko,25,32,4 duplicate(Sight#ko_trap) Sight#ko_26 858,1,1 + +job_ko,25,40,4 duplicate(Sight#ko_heal) Sight#ko_27 858,1,1 + +job_ko,25,48,4 duplicate(Sight#ko_trap2) Sight#ko_28 858,1,1 + +job_ko,30,52,4 script Sight#ko_29 858,1,1,{ + callfunc "F_KO_Survival_mes",29; + end; +OnTouch: + mes "There are tiny letters on the sign."; + next; + mes "Go forth."; + next; + callfunc "F_KO_Survival_dice",29; + end; +} + +job_ko,38,52,4 duplicate(Sight#ko_trap) Sight#ko_30 858,1,1 + +job_ko,46,52,4 duplicate(Sight#ko_curse) Sight#ko_31 858,1,1 + +job_ko,54,52,4 script Sight#ko_32 858,1,1,{ + callfunc "F_KO_Survival_mes",32; + end; +OnTouch: + mes "There are tiny letters on the sign."; + next; + mes "Rock-paper-scissors Machine:"; + mes "If you win, you get to move to any block between 33 to 38; if you lose or is a draw, you have to move to block 0."; + next; + switch (callfunc("F_KO_Survival_rps")) { + case 1: + mes "Please choose a block to move between blocks 33 through 38."; + next; + callfunc "F_KO_Survival_warp", select("Move to block 33:Move to block 34:Move to block 35:Move to block 36:Move to block 37:Move to block 38") + 32; + end; + case 0: + case -1: + mes "Press Close to move to block 0."; + callfunc "F_KO_Survival_warp",0; + end; + } +} + +job_ko,54,43,4 script Sight#ko_33 858,1,1,{ + callfunc "F_KO_Survival_mes",33; + end; +OnTouch: + mes "There are tiny letters on the sign."; + next; + mes "You can move to block 39 if you pay all points except for the last 1 ^FD0260LP^000000 to roll the dice one last time."; + next; + switch(select("Pay LP.:Move forward a little bit at a time.")) { + case 1: + set .@sell_p, job_kagero_lp - 1; + set job_kagero_lp,1; + mes "< Used " + .@sell_p + " LP >"; + next; + mes "Press Close to move to block 39."; + callfunc "F_KO_Survival_warp",39; + end; + case 2: + mes "Please roll the dice."; + next; + break; + } + callfunc "F_KO_Survival_dice",33; + end; +} + +job_ko,54,35,4 duplicate(Sight#ko_heal) Sight#ko_34 858,1,1 + +job_ko,49,31,4 duplicate(Sight#ko_trap) Sight#ko_35 858,1,1 + +job_ko,41,31,4 script Sight#ko_36 858,1,1,{ + callfunc "F_KO_Survival_mes",36; + end; +OnTouch: + mes "There are tiny letters on the sign."; + next; + mes "There are only 4 blocks left till the last block."; + next; + mes "Rule 1 (Normal Dice Roll)"; //iRO custom dialogue(?) + mes "You get to pass if you get 4 or above but nobody knows what will come from a dice roll."; + next; + mes "Rule 2"; //iRO custom dialogue(?) + mes "If you get 1, 2, or 3 you move right to the arrival point; if you get 4, 5, or 6 you get to choose to move to block 29."; + next; + switch(select("Try it the other way.:Go by the rules.")) { + case 1: + //mes "The Other Way (2nd Rule)"; //iRO custom dialogue(?) + set .@dodoripo,0; + break; + case 2: + set .@dodoripo,1; + break; + } + set .@dice, callfunc("F_KO_Survival_dice",36,1,1); + if (.@dodoripo == 0) { + if (.@dice <= 3) { + mes "Press Close to move to the end."; + callfunc "F_KO_Survival_warp",40; + end; + } else { + mes "Press Close to move to block 29."; + callfunc "F_KO_Survival_warp",29; + end; + } + } else { + mes "Press Close to move to forward " + .@dice + " blocks."; + callfunc "F_KO_Survival_warp", ((.@dice <= 3) ? .@dice + 36 : 40); + end; + } +} + +job_ko,33,31,4 script Sight#ko_37 858,1,1,{ + callfunc "F_KO_Survival_mes",37; + end; +OnTouch: + mes "There are tiny letters on the sign."; + next; + mes "There are only 3 blocks left to the finish line but you can't you go so easily."; + next; + mes "If you get 1, 3, or 5, move to the arrival point; if you get 2, 4, or 6, go back to the starting point."; + next; + set .@dice, callfunc("F_KO_Survival_dice",37,1,1); + if (.@dice % 2) { + mes "Press Close to move to the last block."; + callfunc "F_KO_Survival_warp",40; + end; + } else { + mes "Press Close to move to the starting point."; + callfunc "F_KO_Survival_warp",0; + end; + } +} + +job_ko,33,40,4 script Sight#ko_38 858,1,1,{ + callfunc "F_KO_Survival_mes",38; + end; +OnTouch: + mes "There are tiny letters on the sign."; + next; + mes "Leave 1 LP and invest the remaining LP to install the trap to bring down other players!"; + next; + if ($20110808_vko04 == 0) { + mes "There is currently no trap installed. Do you want to install a trap?"; + next; + switch(select("Install a trap.:Do not install.")) { + case 1: + set .@reset_p, job_kagero_lp - 1; + set job_kagero_lp,1; + set $20110808_vko04,1; + mes "< Used " + .@reset_p + " LP >"; + next; + mes "The trap is installed. Please roll the dice."; + next; + break; + case 2: + mes "Did not set a trap. Please roll the dice."; + next; + break; + } + } else { + set $20110808_vko04,0; + set job_kagero_lp,0; + mes "You are caught in the trap installed. Press Close to go back to block 0."; + callfunc "F_KO_Survival_warp",0; + end; + } + set .@dice, callfunc("F_KO_Survival_dice",38,1,1); + mes "Press Close to move forward " + .@dice + " blocks."; + callfunc "F_KO_Survival_warp", ((.@dice == 1) ? .@dice + 38 : 40); + end; +} + +job_ko,38,44,4 script Sight#ko_39 858,1,1,{ + callfunc "F_KO_Survival_mes",39; + end; +OnTouch: + mes "There are tiny letters on the sign."; + next; + mes "Now there is only 1 block left till the end. Congratulations on all you've been through to get here."; + next; + mes "But you cannot go so easily. If you get a 3, you will go back to block 3."; + next; + set .@dice, callfunc("F_KO_Survival_dice",39,1,1); + if (.@dice == 3) { + mes "Press Close to move to the 3rd block."; + callfunc "F_KO_Survival_warp",3; + end; + } else { + mes "Press Close to move to the arrival point."; + callfunc "F_KO_Survival_warp",40; + end; + } +} + +job_ko,46,41,4 script Sight#ko_40 858,1,1,{ + callfunc "F_KO_Survival_mes",40; + end; +OnTouch: + if (job_kagero != 5) { + mes "You should not be here."; //custom translation + close2; + warp "amatsu",147,136; + end; + } + if (isbegin_quest(5137) != 1 || isbegin_quest(5140) != 1) { + mes "You must be here by mistake."; //custom translation + close2; + warp "amatsu",147,136; + end; + } + mes "There are tiny letters on the sign."; + next; + mes "To those you are preparing for a new turn..."; + mes "Well begun is half done. However always remember it is not the end."; + next; + completequest 5137; + erasequest 5140; + if (isbegin_quest(5141)) erasequest 5141; + set job_kagero_lp,0; + mes "Let's read all the writing on the sign."; + mes "You feel like you are moved to another place."; + close2; + warp "job_ko",35,113; + end; +} + +// Test of Weaponry +//============================================================ +job_ko,127,125,4 script Red Leopard Joe#ko 730,{ + if (MaxWeight - Weight < 1000 || checkweight(1201,1) == 0) { + mes "[Red Leopard Joe]"; + mes "Go reduce your weight! This test will be too difficult otherwise..."; //custom translation + close; + } + if (BaseJob != Job_Ninja) { + for (set .@i,5131; .@i<=5146; set .@i,.@i+1) + if (isbegin_quest(.@i)) erasequest .@i; + set job_kagero,0; + mes "[Red Leopard Joe]"; + mes "Sorry, your family is not the same as ours, is there something wrong?"; + close2; + warp "amatsu",147,136; + end; + } + if (job_kagero != 5) { //custom translation + mes "[Red Leopard Joe]"; + mes "You are not supposed to be here..."; + mes "It's my duty to get rid of you,"; + mes "so I'll send you back now!"; + close2; + warp "amatsu",147,136; + end; + } + set .@ko_test_03_1, isbegin_quest(5138); + set .@ko_test_03_2, isbegin_quest(5142); + set .@ko_test_03_3, isbegin_quest(5143); + set .@ko_test_03_4, isbegin_quest(5144); + set .@ko_test_03_5, isbegin_quest(5145); + if (.@ko_test_03_1 == 1 && .@ko_test_03_2 == 0 && .@ko_test_03_3 == 0 && .@ko_test_03_4 == 0 && .@ko_test_03_5 == 0) { + mes "[Red Leopard Joe]"; + mes "It's been a while!"; + next; + select("Long time indeed, Joe."); + mes "[Red Leopard Joe]"; + mes "You aren't surprised I'm here. Did you meet ^0237FDCougar^000000 before coming here?"; + next; + mes "[Red Leopard Joe]"; + mes "Don't like it that I'm not the first one you visited but that is not important."; + next; + mes "[Red Leopard Joe]"; + mes "Alright, " + strcharinfo(0) + "!"; + mes "Welcome to the workshop where weapons are created for the family."; + next; + mes "[Red Leopard Joe]"; + mes "Our family has been creating and using unique weapons to serve our secret missions since ancient times."; + next; + select("Really? At Einbroch?"); + mes "[Red Leopard Joe]"; + mes "Hmm? You are not as slow as I thought you were!"; + next; + mes "[Red Leopard Joe]"; + mes "Yes. Einbroch is known as an industrial city, the city of great blacksmiths create new technology."; + next; + mes "[Red Leopard Joe]"; + mes "My mission is to analyze their technology and report back to the family."; + next; + mes "[Red Leopard Joe]"; + mes "I spoke more than I intended to."; + next; + mes "[Red Leopard Joe]"; + mes "Did you bring enough ^6848B7Iron Ore, Iron, Steel, Phracon, Emveretaron, Rough Oridecon, and Rough Elunium^000000?"; + next; + mes "[Red Leopard Joe]"; + mes "Let's now create a new prototype weapon."; + next; + specialeffect EF_GUIDEDATTACK,AREA,"Crafting Tools#ko_01"; + mes "[Red Leopard Joe]"; + mes "Feel free to use tools from here, and..."; + next; + specialeffect EF_GUIDEDATTACK,AREA,"Crafting Tools#ko_02"; + mes "[Red Leopard Joe]"; + mes "...there..."; + next; + specialeffect EF_GUIDEDATTACK,AREA,"Crafting Tools#ko_03"; + setquest 5142; + mes "[Red Leopard Joe]"; + mes "...and everywhere else. Now let's begin!!"; + close; + } else if (.@ko_test_03_1 == 1 && .@ko_test_03_2 == 1 && .@ko_test_03_3 == 0 && .@ko_test_03_4 == 0 && .@ko_test_03_5 == 0) { + callsub L_Weapon,":"; + end; + } else if (.@ko_test_03_1 == 1 && .@ko_test_03_2 == 0 && (.@ko_test_03_3 == 1 || .@ko_test_03_4 == 1) && .@ko_test_03_5 == 0) { + callsub L_Weapon,":Yes, I'm done."; + if (countitem(13074)) { + mes "[Red Leopard Joe]"; + mes "Hmm... Interesting... Is it a dagger in a shape of a Kunai?"; + next; + mes "[Red Leopard Joe]"; + } else if (countitem(13312)) { + mes "[Red Leopard Joe]"; + mes "Hmm... Is this an Ordinary Huuma?"; + next; + mes "[Red Leopard Joe]"; + mes "Ahh, Its not an Ordinary Huuma."; + } else { + mes "[Red Leopard Joe]"; + mes "Ahh, how is it possible? You don't have weapons? Maybe you equipped it?"; + close; + } + mes "Very creative. I do see room for improvement but the weapon itself may come out useful after smoothing it out a bit."; + next; + mes "[Red Leopard Joe]"; + mes "Good. I think you are ready."; + next; + mes "[Red Leopard Joe]"; + mes "Now it's time to upgrade?"; + mes "There are refinement tools on both sides of me. Use those to refine a weapon and come back."; + next; + mes "[Red Leopard Joe]"; + mes "I created the refinement tools myself with great effort so you won't have any trouble using them."; + next; + setquest 5145; + mes "[Red Leopard Joe]"; + mes "Ah... But just in case,"; + mes "^FF0000be careful not to cause trouble by showing these to blacksmiths outside of here.^000000"; + close; + } else if (.@ko_test_03_1 == 1 && .@ko_test_03_2 == 0 && (.@ko_test_03_3 == 1 || .@ko_test_03_4 == 1) && .@ko_test_03_5 == 1) { + disable_items; + mes "[Red Leopard Joe]"; + mes "Did you get a successful result?"; + next; + switch(select("Not yet.:Here it is.:Actually...")) { + case 1: + mes "[Red Leopard Joe]"; + mes "It isn't easy to get a satisfactory result at first."; + close; + case 2: + break; + case 3: + mes "[Red Leopard Joe]"; + mes "You've lost the weapon even with my warning."; + next; + mes "[Red Leopard Joe]"; + mes "Nothing else we can do. Wait!"; + next; + mes "Red Leopard Joe mumbles something and suddenly all weapons are unequipped."; + next; + nude; + if (countitem(13074) || countitem(13312)) { + mes "[Red Leopard Joe]"; + mes "What is this? You still have the prototype. Stop playing around."; + close; + } + mes "[Red Leopard Joe]"; + mes "Oh! You really lost it."; + next; + setquest 5142; + if (isbegin_quest(5143)) erasequest 5143; + if (isbegin_quest(5144)) erasequest 5144; + erasequest 5145; + mes "[Red Leopard Joe]"; + mes "Well! Lets try to make it again!"; + close; + } + mes "[Red Leopard Joe]"; + mes "Looks like you've got some results."; + next; + set .@part, EQI_HAND_R; + if (!getequipisequiped(.@part)) { + mes "[Red Leopard Joe]"; + mes "Ahh! You have not equipped any weapons!"; + close; + } else { + set .@equip_id, getequipid(.@part); + if (.@equip_id == 13074 || .@equip_id == 13312) { + mes "[Red Leopard Joe]"; + mes "Is that weapon yours? Let me have a look."; + next; + } else { //custom translation + mes "[Red Leopard Joe]"; + mes "Are you certain it's that weapon?"; + next; + mes "[Red Leopard Joe]"; + mes "You plan to trick me with that? Again!!"; + close; + } + } + mes "Joe took a thorough look at the seal."; + next; + set .@equip_refine, getequiprefinerycnt(.@part); + if (.@equip_refine < 7) { + mes "[Red Leopard Joe]"; + mes "Are you that low?"; + mes "I must have misjudged you. You might have been satisfied yourself but I'm not. Do it again!!"; + close; + } else if (.@equip_refine > 6 && .@equip_refine < 9) { + mes "[Red Leopard Joe]"; + mes "Hmm... Is this your limit?"; + mes "You've just made it that close to passing. I will ask one more time, are you satisfied?"; + next; + if(select("Yes:No") == 2) { + mes "[Red Leopard Joe]"; + mes "You're still here. Why?"; + close; + } + mes "[Red Leopard Joe]"; + mes "Your competence is enough."; + next; + } else if (.@equip_refine > 8 && .@equip_refine < 13) { //custom translation(?) + mes "[Red Leopard Joe]"; + mes "Ah, as I expected."; + mes "I still believe that you will not stop here."; + next; + if(select("I want to stop.:I want to continue.") == 2) { + mes "[Red Leopard Joe]"; + mes "I will look forward for your result."; + close; + } + mes "[Red Leopard Joe]"; + mes "Your competence is enough."; + next; + } else { //custom translation(?) + mes "[Red Leopard Joe]"; + mes "Better than expected."; + next; + mes "[Red Leopard Joe]"; + mes "For beginners, quite good. This test may not be significant to you, but your competence is enough."; + next; + } + mes "[Red Leopard Joe]"; + mes "I can feel it."; + mes "I will take this weapon to give it some finishing touches."; + next; + delequip .@part; + erasequest 5145; + completequest 5138; + if (isbegin_quest(5143) == 1) completequest 5143; + if (isbegin_quest(5144) == 1) completequest 5144; + mes "[Red Leopard Joe]"; + mes "'" + strcharinfo(0) + "'"; + mes "Passed the weapon test!!"; + close2; + enable_items; + end; + } else if (.@ko_test_03_1 == 2 && .@ko_test_03_2 == 0 && (.@ko_test_03_3 == 2 || .@ko_test_03_4 == 2) && .@ko_test_03_5 == 0) { + mes "[Red Leopard Joe]"; + mes "Oh, I almost forgot."; + mes "Go report the test results to Gion!"; + close2; + warp "job_ko",26,104; + end; + } else { //custom translation + mes "[Red Leopard Joe]"; + mes "You should not have come here..."; + mes "It's my duty to get rid of you."; + mes "This will push you back!"; + close2; + warp "amatsu",147,136; + end; + } + end; + +L_Weapon: + mes "[Red Leopard Joe]"; + mes "Are you done making the prototype of the new weapons?"; + next; + switch(select("Crafting tools?:I don't have enough materials.:How do you expect me to make a weapon?" + getarg(0))) { + case 1: + specialeffect EF_GUIDEDATTACK,AREA,"Crafting Tools#ko_01"; + mes "[Red Leopard Joe]"; + mes "Feel free to use tools from here, and..."; + next; + specialeffect EF_GUIDEDATTACK,AREA,"Crafting Tools#ko_02"; + mes "[Red Leopard Joe]"; + mes "...there..."; + next; + specialeffect EF_GUIDEDATTACK,AREA,"Crafting Tools#ko_03"; + mes "[Red Leopard Joe]"; + mes "...and everywhere else."; + close; + case 2: + mes "[Red Leopard Joe]"; + mes "You haven't brought enough materials?"; + next; + specialeffect EF_GUIDEDATTACK,AREA,"Drawer#ko"; + mes "[Red Leopard Joe]"; + mes "Then we'll have to pay a visit to the village. Try the ^FF0000drawer^000000 over there. It'll take you to the village."; + close; + case 3: + mes "[Red Leopard Joe]"; + mes "Hmm... Guess I expected too much? Let me explain."; + next; + mes "[Red Leopard Joe]"; + mes "You first have to melt the ore to use for the weapon. And the best way to get high purity metal is to melt materials that are of the same kind."; + next; + mes "[Red Leopard Joe]"; + mes "For example, Iron Ore, Iron, and Steel are of similar property so you can get a high purity metal out of them."; + next; + mes "[Red Leopard Joe]"; + mes "Once you've melted a high purity metal, pour it in a mold to get the shape of the weapon and then make it firm through grinding and tempering."; + next; + mes "[Red Leopard Joe]"; + mes "By the way, you will get the best results by thoroughly rotating, grinding and tempering."; + next; + mes "[Red Leopard Joe]"; + mes "I think this is enough to get you started, don't you think? Now go and work on that prototype!!"; + close; + case 4: + return; + } +} + +job_ko,117,128,0 script Drawer#ko 844,{ + mes "There is some kind of device on the drawer."; + next; + if(select("Stop.:Try to operate it.") == 2) { + mes "Clank clunk clink"; + close2; + warp "amatsu",147,136; + end; + } + close; +} + +job_ko,131,124,0 script Crafting Tools#ko_01 844,{ + if (MaxWeight - Weight < 1000 || checkweight(1201,1) == 0) { + mes "Too heavy! Please reduce your weight."; //custom translation + close; + } + if (isbegin_quest(5138) == 1 && isbegin_quest(5142) == 1 && isbegin_quest(5143) == 0 && isbegin_quest(5144) == 0 && isbegin_quest(5145) == 0) { + // fall through + } else { + mes "A crafting tool."; + mes "Don't really need it now."; + close; + } + mes "Tool to create weapons."; + next; + + // Part 1: Melting Metal + // Input similar materials to proceed to next step. + mes "First need to melt metals like iron and iron ore to use to create a weapon."; + next; + callsub L_CheckMaterials; + while(1) { + switch(select("Melt Iron Ore.:Melt Iron.:Melt Steel.:Melt Phracon.:Melt Emveretarcon.:Melt Rough Oridecon.:Melt Rough Elunium.:Stop.")) { + case 1: set .@item,1002; setarray .@val[0],1,0,0; break; //Iron_Ore + case 2: set .@item, 998; setarray .@val[0],2,0,0; break; //Iron + case 3: set .@item, 999; setarray .@val[0],3,0,0; break; //Steel + case 4: set .@item,1010; setarray .@val[0],0,1,0; break; //Phracon + case 5: set .@item,1011; setarray .@val[0],0,2,0; break; //Emveretarcon + case 6: set .@item, 756; setarray .@val[0],0,3,0; break; //Oridecon_Stone + case 7: set .@item, 757; setarray .@val[0],0,0,5; break; //Elunium_Stone + case 8: close; + } + if (countitem(.@item)) { + delitem .@item,1; + if (.@val[0]) { //Iron Ore, Iron, Steel + set .@ston_t01, .@ston_t01 + .@val[0]; + if (.@ston_t02 > 0) + set .@ston_t02, .@ston_t02 - .@val[0]; + } else if (.@val[1]) { //Phracon, Emveretarcon, Rough Oridecon + set .@ston_t02, .@ston_t02 + .@val[1]; + if (.@ston_t01 > 0) + set .@ston_t01, .@ston_t01 - .@val[1]; + } else if (.@val[2]) { //Rough Elunium + if (.@ston_t01 > 0) + set .@ston_t01, .@ston_t01 - .@val[2]; + if (.@ston_t02 > 0) + set .@ston_t02, .@ston_t02 - .@val[2]; + } + specialeffect EF_DEMONSTRATION; + mes "Melted " + getitemname(.@item) + " in high temperature."; + next; + if (.@ston_t01 > 49 || .@ston_t02 > 49) + break; + } else { + mes "Don't have " + getitemname(.@item) + "."; + next; + } + callsub L_CheckMaterials; + mes "Which metal will be melted next?"; + next; + } + set .@boll_01, ((.@ston_t01 > 49) ? .@ston_t01 : .@ston_t02); + + // Part 2: Forging + // Grind and temper a weapon. + mes "Now the metal is melted to use for creating weapons."; + next; + mes "Next is to make the melted metal firm by pouring it into a mold. Which mold shape will you use?"; + next; + switch(select("Dagger Mold:Shuriken Mold")) { + case 1: + set .@weapon_who,0; + mes "Poured the melted metal into the dagger mold."; + break; + case 2: + set .@weapon_who,1; + mes "Poured the melted metal into the shuriken mold."; + break; + } + next; + progressbar "ffff00",3; + mes "Looks like the metal is taking shape. Now what next?"; + next; + set @job_ko_forge,0; + set @job_ko_lastaction,0; + callsub L_ForgeWeapon,":"; + while(1) { + mes "Now what next?"; + next; + if (callsub(L_ForgeWeapon,":Final Touches") == 0) + break; + } + set .@boll_02, @job_ko_forge; + set @job_ko_forge,0; + set @job_ko_lastaction,0; + + // Part 3: Create the Weapon + // Success rate based on previous two parts. + set .@boll_00, .@boll_01 + .@boll_02; + mes "Start to sharpen the tool using a whetstone for finishing touches."; + next; + progressbar "ffff00",3; + set .@success_pp, rand(1,100); + if (.@boll_00 < 100) { + if (.@success_pp == 77) set .@success,1; + } else { + if (.@success_pp != 44) set .@success,1; + } + if (.@success) { + specialeffect2 EF_PERFECTION; + erasequest 5142; + if (.@weapon_who == 0) { + setquest 5143; + getitem 13074,1; //Ninja_Cutter + } else { + setquest 5144; + getitem 13312,1; //Huuma_Job_Test + } + mes "The weapon was created successfully."; + next; + mes "Let's take it to Red Leopard Joe."; + close; + } else { + specialeffect2 EF_SUI_EXPLOSION; + mes "The weapon was destroyed while doing the finishing touches to it."; + next; + mes "There must have been something missed while creating the weapon. Very sad this happened but you'll have to start all over again."; + close; + } + end; + +L_CheckMaterials: + if (!countitem(1002) && !countitem(998) && !countitem(999) && !countitem(1010) && !countitem(1011) && !countitem(756) && !countitem(757)) { + mes "But you do not have any more metal to melt. Let's try again after getting more metal."; + close; + } + return; + +L_ForgeWeapon: + set .@i, select("Grind the weapon:Temper the weapon" + getarg(0)); + switch (.@i) { + case 1: + specialeffect2 EF_DETOXICATION; + mes "Ground the weapon."; + break; + case 2: + specialeffect2 EF_REPAIRWEAPON; + mes "Tempered the weapon."; + break; + case 3: + return 0; + } + next; + if (@job_ko_lastaction == .@i) + set @job_ko_forge, @job_ko_forge + 1; + else + set @job_ko_forge, @job_ko_forge + 2; + set @job_ko_lastaction, .@i; + return 1; +} +job_ko,129,129,0 duplicate(Crafting Tools#ko_01) Crafting Tools#ko_02 844 +job_ko,116,124,0 duplicate(Crafting Tools#ko_01) Crafting Tools#ko_03 844 + +job_ko,121,121,0 script Refinement Tools#ko_01 844,{ + if (isbegin_quest(5138) == 1 && isbegin_quest(5142) == 0 && (isbegin_quest(5143) == 1 || isbegin_quest(5144) == 1) && isbegin_quest(5145) == 1) { + disable_items; + } else { + mes "This tool helps you refine your weapons automatically. However, you won't need this just now."; + close; + } + mes "You turn on the refinement tool."; + mes "The equipment starts up with a pleasant vibration."; + next; + mes "Looks like you can use the tool right away for refinement because it holds a good deal of Elunium and Oridecon within it."; + next; + if(select("Start refining.:Do not start refining.") == 2) { + mes "You turned off the tool."; + close; + } + set .@part, EQI_HAND_R; + if (!getequipisequiped(.@part)) { + mes "Bzzzt"; + mes "A warning beep comes from the tool."; + next; + mes "[Red Leopard Joe]"; + mes "This equipment does not work without an equipped item to refine."; + close; + } else { + set .@equip_id, getequipid(.@part); + if (.@equip_id == 13074 || .@equip_id == 13312) { + mes "Analyzing the weapon."; + next; + } else { + mes "[Red Leopard Joe]"; + mes "Wait... this weapon is not a customized one."; + next; + mes "[Red Leopard Joe]"; + mes "Why don't you refine this with those hot-headed blacksmiths out there?"; + close; + } + } + if (!getequipisenableref(.@part)) { + mes "Bzzzt"; + mes "A warning beep comes from the tool."; + next; + mes "[Red Leopard Joe]"; + mes "That weapon cannot be refined. Where did you get it?"; //custom translation + close; + } + set .@equip_refine, getequiprefinerycnt(.@part); + if (.@equip_refine >= 20) { + mes "Bzzzt"; + mes "A warning beep comes from the tool."; + next; + mes "[Red Leopard Joe]"; + mes "This equipment is perfectly refined. Keep it for yourself!"; //custom translation + close; + } + if (getequippercentrefinery(.@part) < 100) { + mes "This is very well refined equipment. Do you want to continue? Refine skill decreases by 1 if refinement fails."; + next; + if(select("Continue.:Stop.") == 2) { + mes "You turned off the tool."; + close; + } + } else { + mes "Starting to refine."; //custom translation + next; + } + progressbar "ffff00",1; + set .@rand, rand(1,100); + if (.@equip_refine < 5) { // 0>5 100% + set .@wlevel_up,1; + } else if (.@equip_refine == 5) { // 5>6 40% + if (.@rand < 41) set .@wlevel_up,1; + } else if (.@equip_refine == 6) { // 6>7 30% + if (.@rand < 31) set .@wlevel_up,1; + } else if (.@equip_refine == 7) { // 7>8 20% + if (.@rand < 21) set .@wlevel_up,1; + } else if (.@equip_refine == 8) { // 8>9 10% + if (.@rand < 11) set .@wlevel_up,1; + } else if (.@equip_refine == 9) { // 9>10 5% + if (.@rand < 6) set .@wlevel_up,1; + } else { // 10>20 2% + if (.@rand < 3) set .@wlevel_up,1; + } + if (.@wlevel_up) { + successrefitem .@part; + mes "Succeeded in refining."; + mes "Turned off the refining tool."; + close; + } else { + downrefitem .@part; + mes "Failed in refining."; + mes "Your weapon refinement skill dropped by 1."; + mes "Turned off the refining tool."; + close; + } + end; +} +job_ko,127,121,0 duplicate(Refinement Tools#ko_01) Refinement Tools#ko_02 844 + +// Test of Battle +//============================================================ +job_ko,148,46,4 script Guide Gion#ko2 588,{ + if (MaxWeight - Weight < 2000 || checkweight(1201,1) == 0) { + mes "[Guide Gion]"; + mes "You don't need so many things now!"; //custom translation + close; + } + if (job_kagero == 7) { + cutin "job_ko01",2; + mes "[Guide Gion]"; + mes "Looks like you haven't taken care of the target yet."; + next; + mes "[Guide Gion]"; + mes "I'll tell you once more. The target is the ^FF0000Family Secret^000000."; + next; + mes "[Guide Gion]"; + mes "Of course the path will be difficult, so continue searching!"; //custom translation + close2; + cutin "",255; + end; + } else if (job_kagero == 8) { + cutin "job_ko02",2; + mes "[Guide Gion]"; + mes "Looks like you've taken care of the target. Hmm."; + next; + + //custom translations + if (ismounting()) { + mes "[Guide Gion]"; + mes "But please get down from your frog. Otherwise I can't continue!"; + close2; + cutin "",255; + end; + } + if (BaseLevel < 99 || JobLevel < 70) { + mes "[Guide Gion]"; + mes "How did you get weaker? Come back once you've regained your previous levels."; + close2; + cutin "",255; + end; + } + if (SkillPoint != 0) { + mes "[Guide Gion]"; + mes "Please come back after using all your Skill Points."; + close2; + cutin "",255; + end; + } + + mapannounce "job_ko","[Gion] Interrupting the Test of Battle.",bc_map; + cutin "job_ko04",2; + mes "[Guide Gion]"; + mes "The Test of Battle will be put off for a while. Don't worry because this does not have affect to other tests."; + next; + mapannounce "job_ko","[Gion] My Friend " + strcharinfo(0) + " made it to " + ((Sex)?"Kagerou":"Oboro") + " Path. Congratulations!!",bc_map; + mes "[Guide Gion]"; + mes "My friend " + strcharinfo(0) + " made it to " + ((Sex)?"Kagerou":"Oboro") + " Path. Congratulations!!"; + next; + cutin "job_ko02",2; + mes "[Guide Gion]"; + mes "It is pleasant to meet a youth that is walking through a new path."; + next; + mes "[Someone's Voice]"; + mes "Wait for a while, Gion."; + next; + donpcevent "Cougar#ko2::OnEnable"; + donpcevent "Red Leopard Joe#ko2::OnEnable"; + cutin "job_ko04",2; + mes "[Guide Gion]"; + mes "I'm sorry I almost forgot about you two. Do you have anything to share with " + strcharinfo(0) + "?"; + next; + cutin "",255; + mes "[Cougar]"; + mes "Hmm... Embarrassing... to speak so suddenly..."; + next; + mes "[Cougar]"; + mes strcharinfo(0) + ", you are now a proud member of our family. Always hold your head high and..."; + next; + mes "[Cougar]"; + mes "^777777(Gai's voice fades out.)^000000."; + mes "I'm sorry I strangled you when we first met."; + next; + donpcevent "Cougar#ko2::OnDisable"; + mes "[Red Leopard Joe]"; + mes "Puhahaha! Gai is all talk. I know I was know valuable to you than that Gai."; + next; + if (isbegin_quest(5143) == 2) { + set .@item,13075; //Kurenai + set .@weapon$,"dagger"; + } else { + set .@item,13311; //Huuma_Shadow + set .@weapon$,"shuriken"; + } + mes "[Red Leopard Joe]"; + mes "I did some work on the prototype " + .@weapon$ + " you made."; + next; + mes "[Red Leopard Joe]"; + mes getitemname(.@item) + " now shines beautifully with a scarlet glow after I did the finishing touches."; + next; + mes "[Red Leopard Joe]"; + mes "I named your weapons on my own but I know you'll like the name."; + next; + mes "[Red Leopard Joe]"; + mes "Guide Gion, please continue."; + next; + cutin "job_ko01",2; + donpcevent "Red Leopard Joe#ko2::OnDisable"; + mes "[Guide Gion]"; + mes "I don't have much to add because Gai and Joe said it all."; + next; + mes "[Guide Gion]"; + mes "I'm just sorry that the environment of all these tests could have been better for our later generation."; + next; + mes "[Guide Gion]"; + mes "You only need to look forward and never turn back."; + next; + for (set .@i,5131; .@i<=5146; set .@i,.@i+1) + if (isbegin_quest(.@i)) erasequest .@i; + set job_kagero,9; + getnameditem .@item,strcharinfo(0); + jobchange (Sex)?Job_Kagerou:Job_Oboro; + donpcevent "Summon Target#ko::OnEnable"; + mes "[Guide Gion]"; + mes "I hope the blessings of Kagerou, dancing sun and Oboro, misty moonlight will be with you on your journey ahead."; + close2; + warp "que_ng",21,71; + end; + } else if (job_kagero == 9) { + cutin "job_ko01",2; + mes "[Guide Gion]"; + mes "I hope the blessings of Kagerou, dancing sun and Oboro, misty moonlight will be with you on your journey ahead."; + close2; + warp "que_ng",21,71; + end; + } else { + cutin "job_ko01",2; + mes "[Guide Gion]"; + mes "You should not be here. Please leave!"; //custom translation + close2; + warp "amatsu",147,136; + end; + } +} + +job_ko,151,47,4 script Cougar#ko2 730,{ + mes "[Cougar]"; + mes "Congratulation for choosing the road of development!"; + close; +OnInit: +OnDisable: + disablenpc "Cougar#ko2"; + end; +OnEnable: + enablenpc "Cougar#ko2"; + end; +} + +job_ko,145,47,6 script Red Leopard Joe#ko2 730,{ + mes "[Red Leopard Joe]"; + mes "You have not found the target? Continue searching it."; + close; +OnInit: +OnDisable: + disablenpc "Red Leopard Joe#ko2"; + end; +OnEnable: + enablenpc "Red Leopard Joe#ko2"; + end; +} + +job_ko,1,1,4 script Summon Target#ko 844,{ + end; +OnInit: +OnTimer180000: + donpcevent "Summon Target#ko::OnEnable"; + end; +OnEnable: + stopnpctimer; + switch (rand(1,7)) { + case 1: set .@mob,1002; break; + case 2: set .@mob,1031; break; + case 3: set .@mob,1113; break; + case 4: set .@mob,1063; break; + case 5: set .@mob,1010; break; + case 6: set .@mob,1049; break; + case 7: set .@mob,1050; break; + } + areamonster "job_ko",120,30,160,70,"Family Secret",.@mob,1,"Summon Target#ko::OnMyMobDead"; + end; +OnDisable: + initnpctimer; + end; +OnMyMobDead: + if (mobcount("job_ko","Summon Target#ko::OnMyMobDead") < 1) { + if (job_kagero == 7) { + donpcevent "Summon Target#ko::OnDisable"; + set job_kagero,8; + } else + donpcevent "Summon Target#ko::OnEnable"; + } + end; +} + +job_ko,1,2,4 script Summon Fake#ko 844,{ + end; +OnInit: + donpcevent "Summon Fake#ko::OnEnable"; + end; +OnEnable: + areamonster "job_ko",120,30,160,70,"Family's Legacy",1002,5,"Summon Fake#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Kagerou's Memory",1002,5,"Summon Fake#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Oboro's Memory",1002,5,"Summon Fake#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Family's Mistake",1031,5,"Summon Fake#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Oboro's Mistake",1031,5,"Summon Fake#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Kagerou's Mistake",1031,5,"Summon Fake#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Family's Memory",1113,5,"Summon Fake#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Oboro's Past",1113,5,"Summon Fake#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Kagerou's Past",1113,5,"Summon Fake#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Family's Legacy",1063,5,"Summon Fake#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Oboro's Legacy",1063,5,"Summon Fake#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Kagerou's Legacy",1063,5,"Summon Fake#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Family's Mistake",1010,5,"Summon Fake#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Oboro's Memory",1010,5,"Summon Fake#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Kagerou's Memory",1010,5,"Summon Fake#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Family's Past",1049,5,"Summon Fake#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Oboro's Mistake",1049,5,"Summon Fake#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Kagerou's Mistake",1049,5,"Summon Fake#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Family's Memory",1050,5,"Summon Fake#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Oboro's Past",1050,5,"Summon Fake#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Kagerou's Past",1050,5,"Summon Fake#ko::OnMyMobDead"; + end; +OnDisable: + killmonster "job_ko","Summon Fake#ko::OnMyMobDead"; + end; +OnMyMobDead: + if (mobcount("job_ko","Summon Fake#ko::OnMyMobDead") < 100) { + donpcevent "Summon Fake#ko::OnDisable"; + donpcevent "Summon Fake#ko::OnEnable"; + warp "job_ko",16,113; + } + end; +} + +// GM Control Panel (custom translations) +//============================================================ +job_ko,3,1,4 script Battle Test Control#ko 588,{ + callfunc "F_GM_NPC"; + if (callfunc("F_GM_NPC",1854,0) == 1) { + mes "This is the Battle Test Control NPC."; + next; + } else { + mes "Incorrect password."; + close; + } + switch(select("Summon Target:Summon Target Disable:Summon Fake:Summon Fake Disable")) { + case 1: + donpcevent "Summon Target#ko::OnEnable"; + mes "Summon Target activated."; + break; + case 2: + donpcevent "Summon Target#ko::OnDisable"; + mes "Summon Target disabled."; + break; + case 3: + donpcevent "Summon Fake#ko::OnEnable"; + mes "Summon Fake activated."; + break; + case 4: + donpcevent "Summon Fake#ko::OnDisable"; + mes "Summon Fake disabled."; + break; + } + next; + mes "Control has completed."; + close; +} + +job_ko,4,1,4 script Guide#ko_helper 588,{ + callfunc "F_GM_NPC"; + if (callfunc("F_GM_NPC",1854,0) == 1) { + mes "This is the Kagerou and Oboro Job Change assistant NPC."; + next; + } else { + mes "Incorrect password."; + close; + } + mes "I can solve any problems in the job change quest."; + next; + switch(select("Current Status:Test Set:Pre-Transfer:Initialize")) { + case 1: + mes "Variable states (current/maximum)"; + mes "job_kagero (" + job_kagero + "/9)"; + mes "job_kagero_lp (" + job_kagero_lp + "/100)"; + next; + mes "Quest states (current/maximum)"; + mes "5131 (" + isbegin_quest(5131) + "/1)"; + mes "5132 (" + isbegin_quest(5132) + "/1)"; + mes "5133 (" + isbegin_quest(5133) + "/1)"; + mes "5134 (" + isbegin_quest(5134) + "/1)"; + mes "5135 (" + isbegin_quest(5135) + "/1)"; + mes "5136 (" + isbegin_quest(5136) + "/2)"; + mes "5139 (" + isbegin_quest(5139) + "/1)"; + mes "5137 (" + isbegin_quest(5137) + "/2)"; + mes "5140 (" + isbegin_quest(5140) + "/1)"; + mes "5141 (" + checkquest(5141,PLAYTIME) + "/1)"; + mes "5138 (" + isbegin_quest(5138) + "/2)"; + mes "5142 (" + isbegin_quest(5142) + "/1)"; + mes "5143 (" + isbegin_quest(5143) + "/2)"; + mes "5144 (" + isbegin_quest(5144) + "/2)"; + mes "5145 (" + isbegin_quest(5145) + "/1)"; + mes "5146 (" + isbegin_quest(5146) + "/1)"; + close; + case 2: + mes "Which test do you want to set as completed?"; + mes "Three tests must be completed before changing jobs. If you wish to reach a job change state, please select [Pre-Transfer] directly from the previous menu!"; + next; + switch(select("Complete Test of Knowledge:Complete Test of Survival:Complete Test of Weaponry")) { + case 1: + set job_kagero,5; + setquest 5136; + completequest 5136; + mes "The Test of Knowledge has been set as complete. I hope you have finished your initialization."; + break; + case 2: + set job_kagero,5; + set job_kagero_lp,0; + setquest 5137; + completequest 5137; + mes "The Test of Survival has been set as complete. I hope you have finished your initialization."; + break; + case 3: + set job_kagero,5; + setquest 5138; + completequest 5138; + mes "The Test of Weaponry has been set as complete. I hope you have finished your initialization."; + break; + } + close; + case 3: + mes "I will change your quest status to Pre-Transfer, but before that..."; + next; + mes "Please select a weapon."; + next; + switch(select("Dagger:Shuriken")) { + case 1: set .@quest,5143; break; + case 2: set .@quest,5144; break; + } + setquest 5136; + completequest 5136; + setquest 5137; + completequest 5137; + setquest 5138; + completequest 5138; + setquest .@quest; + completequest .@quest; + setquest 5146; + set job_kagero,8; + mes "I've set the Pre-Transfer status. Good luck!!"; + close; + case 4: + set job_kagero,0; + set job_kagero_lp,0; + for (set .@i,5131; .@i<=5146; set .@i,.@i+1) + if (isbegin_quest(.@i)) erasequest .@i; + mes "The task of initialization is complete. You can confirm this through the [Current Status] option!"; + close; + } + end; +} diff --git a/re/jobs/3-1/archbishop.txt b/re/jobs/3-1/archbishop.txt index 809a527..3aef820 100644 --- a/re/jobs/3-1/archbishop.txt +++ b/re/jobs/3-1/archbishop.txt @@ -4,7 +4,7 @@ //= L0ne_W0lf //= Credits: Gepard //===== Current Version: ===================================== -//= 1.9 +//= 2.0 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -24,6 +24,7 @@ //= 1.7a Moved warps to separate file. [Euphy] //= 1.8 Bug fixes and corrections. [Euphy] //= 1.9 Added GM management function. [Euphy] +//= 2.0 Added VIP features. [Euphy] //============================================================ prt_church,103,88,3 script Praying Minister#arch 60,{ @@ -54,12 +55,18 @@ prt_church,103,88,3 script Praying Minister#arch 60,{ mes "I'm going to make them ministers worthy of serving Odin."; close; } - if ((BaseLevel == 99) && (JobLevel > 49)) { + if ((BaseLevel > 98) && (JobLevel > 49)) { if (job_arch == 0) { if (SkillPoint) { mes "You can't change jobs without using all your skill points. Please use all of your skill points before applying to change jobs~"; close; } + if (VIP_SCRIPT) { + callfunc "VIP_Third_Class"; + set job_arch,1; + setquest 2187; + next; + } mes "[Praying Minister]"; mes "In front of the Almighty God Odin,"; mes "there shall be no person smarter than him,"; diff --git a/re/jobs/3-1/guillotine_cross.txt b/re/jobs/3-1/guillotine_cross.txt index d6081cf..142f62f 100644 --- a/re/jobs/3-1/guillotine_cross.txt +++ b/re/jobs/3-1/guillotine_cross.txt @@ -3,9 +3,9 @@ //===== By: ================================================== //= Muad_Dib //===== Current Version: ===================================== -//= 1.5 +//= 1.6 //===== Compatible With: ===================================== -//= rAthena SVN r16945+ +//= rAthena SVN //===== Description: ========================================= //= [Official Conversion] //= Job change Quest from Assassin / Assassin Cross -> Guillotine Cross. @@ -18,12 +18,13 @@ //= 1.3 Added missing OnMyMobDead labels. [Euphy] //= 1.4 Added missing labels. [Joseph] //= 1.5 Added GM management function. [Euphy] +//= 1.6 Added VIP features. [Euphy] //============================================================ que_job01,75,96,3 script Guild Member#3rdgc01 997,{ if (job_3rd_gc == 0) { if (Class == Job_Assassin || Class == Job_Assassin_Cross || Class == Job_Baby_Assassin) { - if (BaseLevel == 99) { + if (BaseLevel > 98) { L_Mission: mes "[Ahcart]"; mes "Finally, it's time..."; @@ -77,6 +78,12 @@ que_job01,75,96,3 script Guild Member#3rdgc01 997,{ next; switch(select("I'll do it.:Give me time to think.")) { case 1: + if (VIP_SCRIPT) { + callfunc "VIP_Third_Class"; + set job_3rd_gc, 3; + setquest 7101; + next; + } mes "[Ahcart]"; mes "Ok, to Veins."; mes "I'll contact them."; @@ -113,7 +120,7 @@ que_job01,75,96,3 script Guild Member#3rdgc01 997,{ mes "You are not an assassin."; close; } else if (job_3rd_gc == 1) { - if (BaseLevel == 99) goto L_Mission; + if (BaseLevel > 98) goto L_Mission; mes "[Ahcart]"; mes "If you become stronger and more skillful, then the assassin's guild will give you a special task."; mes "Go for it."; @@ -124,6 +131,12 @@ que_job01,75,96,3 script Guild Member#3rdgc01 997,{ next; switch(select("I'll do it.:I'm not ready.")) { case 1: + if (VIP_SCRIPT) { + callfunc "VIP_Third_Class"; + set job_3rd_gc, 3; + setquest 7101; + next; + } mes "[Ahcart]"; mes "Ok, to Veins."; mes "I'll contact them."; diff --git a/re/jobs/3-1/mechanic.txt b/re/jobs/3-1/mechanic.txt index 9479243..04700cc 100644 --- a/re/jobs/3-1/mechanic.txt +++ b/re/jobs/3-1/mechanic.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Muad_Dib //===== Current Version: ===================================== -//= 1.2 +//= 1.3 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -13,11 +13,12 @@ //= 1.0 First Version. [Masao] //= 1.1 Fixed the Door NPC [JayPee]. //= 1.2 Updated script. [Euphy] +//= 1.3 Added VIP features. [Euphy] //============================================================ yuno,129,156,3 script Chainheart 923,{ mes "[Chainheart]"; - if (BaseLevel > 99) { + if (eaclass() & EAJL_THIRD) { mes "Living as a Mechanic is tough,"; mes "but I am happy that I can"; mes "always do what I want."; @@ -217,6 +218,12 @@ yuno,129,156,3 script Chainheart 923,{ } if (BaseJob == Job_Blacksmith) { if (BaseLevel > 98 && JobLevel > 49 && SkillPoint == 0) { + if (VIP_SCRIPT) { + callfunc "VIP_Third_Class"; + set job__mechanic,1; + setquest 10090; + next; + } mes "At a glance, you, seem to be a very versatile person on dealing with various things."; mes "You look quite skilled."; mes "You can be the one."; diff --git a/re/jobs/3-1/ranger.txt b/re/jobs/3-1/ranger.txt index 7242721..79d9872 100644 --- a/re/jobs/3-1/ranger.txt +++ b/re/jobs/3-1/ranger.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Muad_Dib //===== Current Version: ===================================== -//= 1.6 +//= 1.7 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -21,6 +21,7 @@ //= 1.4 Some optimization. [Euphy] //= 1.5 Updated script, optimized. [Euphy] //= 1.6 Added GM management function. [Euphy] +//= 1.7 Added VIP features. [Euphy] //============================================================ tur_dun01,156,36,5 script Survival Instructor#jr01 59,{ @@ -66,6 +67,12 @@ tur_dun01,156,36,5 script Survival Instructor#jr01 59,{ mes "It looks like you have"; mes "enough experience."; next; + if (VIP_SCRIPT) { + callfunc "VIP_Third_Class"; + set job_ranger01,1; + setquest 8254; + next; + } mes "[Survival Instructor, Rescue]"; mes "Good."; mes "First of all, let me tell you the job change qualifications to be a Ranger."; diff --git a/re/jobs/3-1/rune_knight.txt b/re/jobs/3-1/rune_knight.txt index 827c301..264d2bf 100644 --- a/re/jobs/3-1/rune_knight.txt +++ b/re/jobs/3-1/rune_knight.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= L0ne_W0lf, Muad_Dib //===== Current Version: ===================================== -//= 1.5 +//= 1.6 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -17,6 +17,7 @@ //= 1.4 Fixed a few bugs. [Euphy] //= 1.4a Moved Kafra to main file. [Euphy] //= 1.5 Added GM management function. [Euphy] +//= 1.6 Added VIP features. [Euphy] //============================================================ prt_in,162,24,3 script Splendid-Looking Knight 470,2,2,{ @@ -78,6 +79,12 @@ prt_in,162,24,3 script Splendid-Looking Knight 470,2,2,{ mes "Of course, I would only accept you if you are one hundred percent sure of your conviction to become a Rune Knight."; close; case 2: + if (VIP_SCRIPT) { + callfunc "VIP_Third_Class"; + set job_rune_edq,1; + setquest 3200; + next; + } mes "[Rune Knight Manuel]"; mes "You're sure now?"; mes "Let me send a dispatch to my comrades that you are willing to join our ranks."; diff --git a/re/jobs/3-1/warlock.txt b/re/jobs/3-1/warlock.txt index 0c0fc24..daf12d3 100644 --- a/re/jobs/3-1/warlock.txt +++ b/re/jobs/3-1/warlock.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Muad_Dib, Gepard & L0ne_W0lf //===== Current Version: ===================================== -//= 1.4 +//= 1.5 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -20,6 +20,7 @@ //= 1.3a Added temporary coordinate fix #distorted_space_1-1. [Euphy] //= 1.3b Added official coordinates. [Euphy] //= 1.4 Added GM management function. [Euphy] +//= 1.5 Added VIP features. [Euphy] //============================================================ - script #distorted_space_ -1,{ @@ -162,6 +163,12 @@ function script F_Warlock { next; switch(select("What do I need to do?:Cancel.")) { case 1: + if (VIP_SCRIPT) { + callfunc "VIP_Third_Class"; + set job_wl,2; + setquest 11106; + next; + } mes "[Master Egnoloria]"; mes "Are you serious?"; mes "You hunger for power don't you human."; @@ -580,6 +587,12 @@ spl_in02,80,108,5 script Guild Master#Warlock 465,{ next; switch(select("How can I be a Warlock?:Cancel.")) { case 1: + if (VIP_SCRIPT) { + callfunc "VIP_Third_Class"; + set job_wl,2; + setquest 11106; + next; + } mes "[Master Egnoloria]"; mes "Are you serious?"; mes "You hunger for power don't you human."; diff --git a/re/jobs/3-2/genetic.txt b/re/jobs/3-2/genetic.txt index 1d0d8cb..dc728b5 100644 --- a/re/jobs/3-2/genetic.txt +++ b/re/jobs/3-2/genetic.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Muad_Dib, Aeomin //===== Current Version: ===================================== -//= 1.3a +//= 1.4 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -15,6 +15,7 @@ //= 1.2 Updated dialogue. Credits to Muad_Dib. [Joseph] //= 1.3 Updated script, optimized. [Euphy] //= 1.3a Moved warps to separate file. [Euphy] +//= 1.4 Added VIP features. [Euphy] //============================================================ alde_alche,35,186,5 script Alchemist Union Member 805,{ @@ -52,6 +53,12 @@ alde_alche,35,186,5 script Alchemist Union Member 805,{ next; switch(select("Of course, I want to meet a Geneticist.:I don't want to meet a Geneticist.")) { case 1: + if (VIP_SCRIPT) { + callfunc "VIP_Third_Class"; + set job_gen,1; + setquest 2215; + next; + } mes "[Alchemist Union Member]"; mes "Wise choice!"; mes "The infamous Geneticist 'Devries'."; diff --git a/re/jobs/3-2/minstrel.txt b/re/jobs/3-2/minstrel.txt index 9610e2c..c718291 100644 --- a/re/jobs/3-2/minstrel.txt +++ b/re/jobs/3-2/minstrel.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Muad_Dib //===== Current Version: ===================================== -//= 1.3 +//= 1.4 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -14,6 +14,7 @@ //= 1.1 Fix the checking of requirements before job change to Minstel [JayPee] //= 1.2 Optimized. [Euphy] //= 1.3 Updated script. [Euphy] +//= 1.4 Added VIP features. [Euphy] //============================================================ alberta,196,133,4 script Bard#job_min 486,{ @@ -116,6 +117,12 @@ alberta,196,133,4 script Bard#job_min 486,{ mes "See you later~"; close; } + if (VIP_SCRIPT) { + callfunc "VIP_Third_Class"; + set job_min,1; + setquest 11135; + next; + } mes "["+strcharinfo(0)+"]"; mes "Ok, I will."; set job_min,1; diff --git a/re/jobs/3-2/royal_guard.txt b/re/jobs/3-2/royal_guard.txt index 796c588..6ee8bed 100644 --- a/re/jobs/3-2/royal_guard.txt +++ b/re/jobs/3-2/royal_guard.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Muad_Dib //===== Current Version: ===================================== -//= 1.2 +//= 1.3 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -13,6 +13,7 @@ //= 1.0 First Version. [brAthena] //= 1.1 Updated script. [Euphy] //= 1.2 Added GM management function. [Euphy] +//= 1.3 Added VIP features. [Euphy] //============================================================ prt_castle,48,161,3 script Middle-aged Gentleman#rg 57,{ @@ -109,6 +110,12 @@ prt_castle,48,161,3 script Middle-aged Gentleman#rg 57,{ next; switch(select("I want to know more.:Stop talking.")) { case 1: + if (VIP_SCRIPT) { + callfunc "VIP_Third_Class"; + set job_royal,1; + setquest 12090; + next; + } mes "[Heinrich]"; mes "You are impetuous."; next; diff --git a/re/jobs/3-2/shadow_chaser.txt b/re/jobs/3-2/shadow_chaser.txt index 4f0fd02..722bd32 100644 --- a/re/jobs/3-2/shadow_chaser.txt +++ b/re/jobs/3-2/shadow_chaser.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Muad_Dib //===== Current Version: ===================================== -//= 1.3 +//= 1.4 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -14,6 +14,7 @@ //= 1.1 Standardized. [Euphy] //= 1.2 Updated dialogue. [Joseph] //= 1.3 Updated to official script. [Euphy] +//= 1.4 Added VIP features. [Euphy] //============================================================ morocc,156,70,3 script Girl#sc00 93,3,3,{ @@ -94,7 +95,7 @@ in_rogue,376,100,5 script Guild Member#sc01 828,{ mes "[Vin]"; mes "What?"; next; - if (BaseLevel == 99) { + if (BaseLevel > 98) { mes "[Scary man]"; mes "Hey there?"; next; @@ -194,6 +195,12 @@ in_rogue,379,101,3 script Scary Man#sc03 810,{ mes "I don't care for people like you. I just deal with the extraordinary."; close; } else if (job_sha == 1) { + if (VIP_SCRIPT) { + callfunc "VIP_Third_Class"; + set job_sha,2; + setquest 7160; + next; + } mes "[Urupa]"; mes "We give a quiz and nobody has yet to solve it."; mes "You want it to be solved?"; diff --git a/re/jobs/3-2/sorcerer.txt b/re/jobs/3-2/sorcerer.txt index 712e014..967ded1 100644 --- a/re/jobs/3-2/sorcerer.txt +++ b/re/jobs/3-2/sorcerer.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Muad_Dib //===== Current Version: ===================================== -//= 1.2 +//= 1.3 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -13,6 +13,7 @@ //= 1.0 First Version. [Masao] //= 1.1 Cleaning. [Euphy] //= 1.2 Updated script, optimized. [Euphy] +//= 1.3 Added VIP features. [Euphy] //============================================================ gef_tower,102,34,5 script Merito 742,{ @@ -110,6 +111,12 @@ gef_tower,102,34,5 script Merito 742,{ next; switch(select("I will take the test.:I'll do it later.")) { case 1: + if (VIP_SCRIPT) { + callfunc "VIP_Third_Class"; + set job_soc,2; + setquest 12096; + next; + } mes "[Merito]"; mes "Okay. "; mes "Then I'll hand it over to Karacas who is on the 4th floor. He will guide you through the process of the test."; diff --git a/re/jobs/3-2/sura.txt b/re/jobs/3-2/sura.txt index ef1eef5..6475c36 100644 --- a/re/jobs/3-2/sura.txt +++ b/re/jobs/3-2/sura.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Muad_Dib, Gepard //===== Current Version: ===================================== -//= 1.3 +//= 1.5 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -14,10 +14,21 @@ //= 1.1 Removed disablenpc which causes players stucked in waitingroom. [Joseph] //= 1.2 Updated script, optimized. [Euphy] //= 1.3 Added GM management function. [Euphy] +//= 1.4 Added VIP features. [Euphy] +//= 1.5 Fixed players stuck in waiting room, event triggers properly [Luciar] //============================================================ ve_in,237,125,0 script King Crab#job_shu 107,{ if (job_shu == 0) { + if (BaseJob == Job_Monk && BaseLevel >= 99 && JobLevel >= 50) { + set .@job_check,1; + if (VIP_SCRIPT) { + callfunc "VIP_Third_Class"; + set job_shu,1; + setquest 11155; + next; + } + } mes "[King Crab]"; mes "Khh ha ha ha ha ha ha."; mes "That little rookie was knocked out by my one blow!"; @@ -26,7 +37,7 @@ ve_in,237,125,0 script King Crab#job_shu 107,{ mes "Those arrogant fellows deserve a bitter lesson."; mes "How dare a little rookie attack you, boss!"; next; - if (BaseJob != Job_Monk || BaseLevel < 99 || JobLevel < 50) { + if (!.@job_check) { mes "[King Crab]"; mes "Khhha ha ha ha ha ha!!!!"; mes "One more cup of beer, here!!!"; @@ -638,10 +649,10 @@ OnTimer315000: end; OnTimer320000: mapannounce "sword_2-1","I guess you're not ready to meet the master yet...",bc_map; + mapwarp "sword_2-1","yuno_fild07",255,178; donpcevent "#Sura_garajjom::OnDisable"; + donpcevent "Buddy#Sura_Salon::OnDisable"; donpcevent "Drawing Room::OnEnable"; - mapwarp "sword_2-1","yuno_fild07",255,178; - stopnpctimer; end; } diff --git a/re/jobs/3-2/wanderer.txt b/re/jobs/3-2/wanderer.txt index b66cf19..ab4d9f6 100644 --- a/re/jobs/3-2/wanderer.txt +++ b/re/jobs/3-2/wanderer.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Muad_Dib, Meyraw //===== Current Version: ===================================== -//= 1.4 +//= 1.5 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -15,6 +15,7 @@ //= 1.2 Fixed an endless loop in dialogue. //= 1.3 Fixed a typo and added checkquest. [Joseph] //= 1.4 Updated script, optimized. [Euphy] +//= 1.5 Added VIP features. [Euphy] //============================================================ xmas,162,209,5 script Aspiring Wanderer, Soy 714,{ @@ -265,6 +266,12 @@ xmas,132,143,5 script Performance Manager#wnd 713,{ mes "You are so cold-hearted...."; close; } + if (VIP_SCRIPT) { + callfunc "VIP_Third_Class"; + set job_wan,2; + setquest 2218; + next; + } mes "[Performance Manager]"; mes "I would grab them by their collars if I could!"; mes "I would tell them Why are you spoiling the performance? but for now, dealing with the angry sponsors is hard enough... Oh, no!"; diff --git a/re/jobs/novice/novice.txt b/re/jobs/novice/novice.txt index c91ef00..180e5c2 100644 --- a/re/jobs/novice/novice.txt +++ b/re/jobs/novice/novice.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== -//= 1.5 +//= 1.6 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -19,6 +19,7 @@ //= 1.4 Fixed checkquest to check quest accordingly. [Joseph] //= 1.4a Added 'npcskill' command. [Euphy] //= 1.5 Replaced with the official kRO scripts. [Euphy] +//= 1.6 Added VIP features. [Euphy] //============================================================ // Main NPCs @@ -948,19 +949,20 @@ L_Services: next; // VIP System messages. - mes "[Kafra Employee]"; - mes "There are a maximum of 600 Inventory Slots in Kafra Storage, meaning you can have up to 600 different kinds of items in Storage."; - next; -/* - mes "[Kafra Employee]"; - mes "There are a maximum of 300 Inventory Slots in Kafra Storage, meaning you can have up to 300 different kinds of items in Storage."; - next; - mes "[Kafra Employee]"; - mes "If you have a Premium Subscription, the maximum Inventory Slots in Kafra Storage is 600!"; - mes "Remember though, that in the case of Equipment, each item takes up one Inventory Slot."; - mes "The maximum number of items that can be placed in Kafra Storage is 30,000."; - next; -*/ + if (MIN_STORAGE != MAX_STORAGE) { + mes "[Kafra Employee]"; + mes "There are a maximum of "+MIN_STORAGE+" Inventory Slots in Kafra Storage, meaning you can have up to "+MIN_STORAGE+" different kinds of items in Storage."; + next; + mes "[Kafra Employee]"; + mes "If you have a Premium Subscription, the maximum Inventory Slots in Kafra Storage is "+MAX_STORAGE+"!"; + mes "Remember though, that in the case of Equipment, each item takes up one Inventory Slot."; + mes "The maximum number of items that can be placed in Kafra Storage is 30,000."; + next; + } else { + mes "[Kafra Employee]"; + mes "There are a maximum of "+MAX_STORAGE+" Inventory Slots in Kafra Storage, meaning you can have up to "+MAX_STORAGE+" different kinds of items in Storage."; + next; + } mes "[Kafra Employee]"; mes "This Storage is shared by every character on one account."; diff --git a/re/jobs/novice/supernovice_ex.txt b/re/jobs/novice/supernovice_ex.txt index 5687c07..52597bb 100644 --- a/re/jobs/novice/supernovice_ex.txt +++ b/re/jobs/novice/supernovice_ex.txt @@ -395,27 +395,27 @@ beach_dun2,119,92,4 script Fishing Novice#sp2 567,{ close; } else if (checkquest(5100) >= 0) { - if (EXSUPNOV_Q_ == 3) set .@str$,"300,000"; - else if (EXSUPNOV_Q_ == 4) set .@str$,"1,000,000"; - else set .@str$,"100,000"; + if (EXSUPNOV_Q_ == 3) set .@n,300000; + else if (EXSUPNOV_Q_ == 4) set .@n,1000000; + else set .@n,100000; mes "[Nodor]"; mes "Hey, have you gone there?"; mes "I got another message from my bro."; next; mes "Bro, someone gave me..."; - mes .@str$+" Zeny."; + mes callfunc("F_InsertComma",.@n)+" Zeny."; mes "You do care about me..."; mes "~ Nudor"; next; select("He seemed so hungry..."); mes "[Nodor]"; mes "By the way..."; - mes .@str$+" Zeny is so little considering my celebrity status, don't you think?"; + mes callfunc("F_InsertComma",.@n)+" Zeny is so little considering my celebrity status, don't you think?"; next; select("Eh....."); mes "[Nodor]"; mes "Anyway~"; - mes .@str$+" Zeny..."; + mes callfunc("F_InsertComma",.@n)+" Zeny..."; mes "Don't you think you gave him too little? My reputation is gonna take a hit now."; next; select("Hey..."); @@ -624,15 +624,15 @@ airplane,33,47,5 script Nudor#sp2 729,{ } else if (.@i < 5) { switch(.@i) { - case 2: set .@str$,"100,000"; set .@n,100000; break; - case 3: set .@str$,"300,000"; set .@n,300000; break; - case 4: set .@str$,"1,000,000"; set .@n,1000000; break; + case 2: set .@n,100000; break; + case 3: set .@n,300000; break; + case 4: set .@n,1000000; break; } - mes "Lovely~~ Did he give you "+.@str$+" Zeny? That's pretty much!"; + mes "Lovely~~ Did he give you "+callfunc("F_InsertComma",.@n)+" Zeny? That's pretty much!"; next; if (Zeny < .@n) { mes "[Nudor]"; - mes "What? But where is "+.@str$+" Zeny?"; + mes "What? But where is "+callfunc("F_InsertComma",.@n)+" Zeny?"; close; } } diff --git a/re/jobs/repair.txt b/re/jobs/repair.txt index beed5cf..f7ad45e 100644 --- a/re/jobs/repair.txt +++ b/re/jobs/repair.txt @@ -14,6 +14,8 @@ //= 1.1 Added GM management function. [Euphy] //============================================================ +// Job Variables +//============================================================ /* rAthena -> official job variable conversion ------------------------------------------- @@ -50,6 +52,7 @@ Wanderer: job_wan Gunslinger: GUNS_Q -> hg_gun Ninja: NINJ_Q -> hg_nin +Kagerou/Oboro: job_kagero Taekwon: TK_Q -> job_taekwon Star Gladiator: STGL_Q -> job_star Soul Linker: SOUL_Q -> job_linker @@ -57,6 +60,8 @@ Super Novice: SUPNOV_Q -> job_super Expanded Super Novice: EXSUPNOV_Q -> job_super2 */ +// Main NPCs :: job_repair +//============================================================ prt_in,38,104,4 script Valerie 811,{ if (checkweight(1201,1) == 0) { mes "I think you have too many items. Let's try it again after you take some out."; diff --git a/re/mapflag/nobranch.txt b/re/mapflag/nobranch.txt index 78bcb79..9765767 100644 --- a/re/mapflag/nobranch.txt +++ b/re/mapflag/nobranch.txt @@ -91,3 +91,6 @@ izlude_a mapflag nobranch izlude_b mapflag nobranch izlude_c mapflag nobranch izlude_d mapflag nobranch + +// Nightmarish Jitterbug ======= +1@jtb mapflag nobranch diff --git a/re/mapflag/noicewall.txt b/re/mapflag/noicewall.txt index 605bc99..970c95c 100644 --- a/re/mapflag/noicewall.txt +++ b/re/mapflag/noicewall.txt @@ -36,3 +36,6 @@ // Inside Eclage =========== 1@ecl mapflag noicewall + +// Nightmarish Jitterbug ========= +1@jtb mapflag noicewall diff --git a/re/mapflag/nomemo.txt b/re/mapflag/nomemo.txt index 751f41a..63076ab 100644 --- a/re/mapflag/nomemo.txt +++ b/re/mapflag/nomemo.txt @@ -108,6 +108,24 @@ moc_prydn2 mapflag nomemo 1@nyd mapflag nomemo 2@nyd mapflag nomemo +// Criatura Academy ============== +iz_ac01 mapflag nomemo +iz_ac02 mapflag nomemo +iz_int mapflag nomemo +iz_ng01 mapflag nomemo +iz_int01 mapflag nomemo +iz_int02 mapflag nomemo +iz_int03 mapflag nomemo +iz_int04 mapflag nomemo +iz_ac01_a mapflag nomemo +iz_ac02_a mapflag nomemo +iz_ac01_b mapflag nomemo +iz_ac02_b mapflag nomemo +iz_ac01_c mapflag nomemo +iz_ac02_c mapflag nomemo +iz_ac01_d mapflag nomemo +iz_ac02_d mapflag nomemo + // Glast Heim Memorial Dungeon === 1@gl_k mapflag nomemo 2@gl_k mapflag nomemo @@ -119,9 +137,13 @@ gl_cas02_ mapflag nomemo 1@def02 mapflag nomemo 1@def03 mapflag nomemo -// Heroes' Trails - Part 1 ======= +// Heroes' Trails ======= 1@gef mapflag nomemo 1@face mapflag nomemo 1@sara mapflag nomemo 1@gef_in mapflag nomemo dali mapflag nomemo +dali02 mapflag nomemo + +// Nightmarish Jitterbug ========= +1@jtb mapflag nomemo diff --git a/re/mapflag/nosave.txt b/re/mapflag/nosave.txt index 37fe289..2379065 100644 --- a/re/mapflag/nosave.txt +++ b/re/mapflag/nosave.txt @@ -91,9 +91,11 @@ que_avan01 mapflag nosave SavePoint 1@def02 mapflag nosave SavePoint 1@def03 mapflag nosave SavePoint -// Heroes' Trails - Part 1 ======== +// Heroes' Trails ======== 1@gef mapflag nosave SavePoint 1@face mapflag nosave SavePoint 1@sara mapflag nosave SavePoint 1@gef_in mapflag nosave SavePoint -dali mapflag nosave SavePoint + +// Nightmarish Jitterbug ========= +1@jtb mapflag nosave SavePoint diff --git a/re/mapflag/noteleport.txt b/re/mapflag/noteleport.txt index 59fbdff..25614fa 100644 --- a/re/mapflag/noteleport.txt +++ b/re/mapflag/noteleport.txt @@ -70,6 +70,24 @@ ecl_in04 mapflag noteleport 1@ecl mapflag monster_noteleport ecl_hub01 mapflag noteleport +// Criatura Academy ============== +iz_ac01 mapflag noteleport +iz_ac02 mapflag noteleport +iz_int mapflag noteleport +iz_ng01 mapflag noteleport +iz_int01 mapflag noteleport +iz_int02 mapflag noteleport +iz_int03 mapflag noteleport +iz_int04 mapflag noteleport +iz_ac01_a mapflag noteleport +iz_ac02_a mapflag noteleport +iz_ac01_b mapflag noteleport +iz_ac02_b mapflag noteleport +iz_ac01_c mapflag noteleport +iz_ac02_c mapflag noteleport +iz_ac01_d mapflag noteleport +iz_ac02_d mapflag noteleport + // Glast Heim Memorial Dungeon === 1@gl_k mapflag noteleport 1@gl_k mapflag monster_noteleport @@ -86,7 +104,7 @@ gl_cas02_ mapflag noteleport 1@def03 mapflag noteleport 1@def03 mapflag monster_noteleport -// Heroes' Trails - Part 1 ======= +// Heroes' Trails ================ 1@gef mapflag noteleport 1@gef mapflag monster_noteleport 1@face mapflag noteleport @@ -96,3 +114,8 @@ gl_cas02_ mapflag noteleport 1@gef_in mapflag noteleport 1@gef_in mapflag monster_noteleport dali mapflag noteleport +dali02 mapflag noteleport + +// Nightmarish Jitterbug ========= +1@jtb mapflag noteleport +1@jtb mapflag monster_noteleport diff --git a/re/mapflag/nowarpto.txt b/re/mapflag/nowarpto.txt index 7de129d..b09397f 100644 --- a/re/mapflag/nowarpto.txt +++ b/re/mapflag/nowarpto.txt @@ -57,3 +57,6 @@ gl_cas02_ mapflag nowarpto 1@face mapflag nowarpto 1@sara mapflag nowarpto 1@gef_in mapflag nowarpto + +// Nightmarish Jitterbug ========= +1@jtb mapflag nowarpto diff --git a/re/merchants/3rd_trader.txt b/re/merchants/3rd_trader.txt index 6cd9243..6b87203 100644 --- a/re/merchants/3rd_trader.txt +++ b/re/merchants/3rd_trader.txt @@ -17,9 +17,10 @@ //= 1.3 Added Malangdo/Mora Points NPC. [Euphy] //= 1.4 Updated to match the official scripts. [Euphy] //= 1.5 Added Izlude duplicates. [Euphy] +//= 1.5a Remove useless array & misc. [Capuche] //============================================================ -// Poison Herb Merchants (Guillotine Cross) +// Poison Herb Merchants (Guillotine Cross) :: poison_herb_3rd_trader //============================================================ - script ::phs -1,{ if (checkweight(1201,1) == 0 || MaxWeight - Weight < 2000) { @@ -36,18 +37,16 @@ mes "Each Herb costs 4,000 zeny."; mes "What would you like?"; next; - set .@i, select("Nerium:Rantana:Makulata:Seratum:Scopolia:Amoena:Poison Kit:Cancel")-1; + .@i = select("Nerium:Rantana:Makulata:Seratum:Scopolia:Amoena:Poison Kit:Cancel")-1; mes "[Poison Herb Merchant]"; if (.@i < 6) { - set .@item,7932+.@i; - set .@price,4000; - set .@max,2000; - set .@max$,"2,000"; + .@item = 7932+.@i; + .@price = 4000; + .@max = 2000; } else if (.@i == 6) { - set .@item,7931; - set .@price,5000; - set .@max,500; - set .@max$,"500"; + .@item = 7931; + .@price = 5000; + .@max = 500; mes "Each Poison Kit costs 5,000 zeny."; } else { mes "Well, I see. Come back again~!"; @@ -65,27 +64,27 @@ } if (.@amount > .@max) { mes "[Poison Herb Merchant]"; - mes "The number must be less than "+.@max$+"!"; + mes "The number must be less than "+callfunc("F_InsertComma",.@max)+"!"; close; } - set .@total, .@amount * .@price; + .@total = .@amount * .@price; if (Zeny < .@total) { mes "[Poison Herb Merchant]"; mes "You don't have enough money."; mes "Check how much money you have first."; close; } - set Zeny, Zeny - .@total; + Zeny = Zeny - .@total; getitem .@item, .@amount; mes "[Poison Herb Merchant]"; mes "Thank you. Come back again~!"; close; } -job3_guil01,79,96,3 duplicate(phs) Poison Herb Merchant 877 -morocc,191,94,4 duplicate(phs) Poison Herb Merchant#moc 877 //Official: (190,96) -> in a wall -lhz_in02,16,205,4 duplicate(phs) Poison Herb Merchant#lhz 877 +job3_guil01,79,96,3 duplicate(phs) Poison Herb Merchant 4_F_YUNYANG +morocc,191,94,4 duplicate(phs) Poison Herb Merchant#moc 4_F_YUNYANG //Official: (190,96) -> in a wall +lhz_in02,16,205,4 duplicate(phs) Poison Herb Merchant#lhz 4_F_YUNYANG -// Rune Stone Merchants (Rune Knight) +// Rune Stone Merchants (Rune Knight) :: rune_3rd_trader //============================================================ - script ::runesale -1,{ if (checkweight(1201,1) == 0 || MaxWeight - Weight < 2000) { @@ -101,19 +100,18 @@ lhz_in02,16,205,4 duplicate(phs) Poison Herb Merchant#lhz 877 mes "I sell all sorts of Rune Stones!"; mes "What would you like?"; next; - set .@i, select("Buy high-quality Rune Stones.:Buy ordinary Rune Stones."); + .@i = select("Buy high-quality Rune Stones.:Buy ordinary Rune Stones."); mes "[Rune Merchant]"; if (.@i == 1) { mes "High-quality Runes!"; mes "They cost 2,500 zeny each!"; - set .@item,12734; //Runstone_Quality - set .@price,2500; + .@item = 12734; //Runstone_Quality + .@price = 2500; } else { mes "Ordinary Rune Stones?"; mes "They cost 1,000 zeny each!"; - set .@item,12737; //Runstone_Ordinary - set .@price,1000; - setarray .@rune[0],12737,1000; + .@item = 12737; //Runstone_Ordinary + .@price = 1000; } mes "Tell me how many you want,"; mes "and remember, you can only"; @@ -130,7 +128,7 @@ lhz_in02,16,205,4 duplicate(phs) Poison Herb Merchant#lhz 877 mes "The number must be less than 2,000!"; close; } - set .@total, .@amount * .@price; + .@total = .@amount * .@price; if (Zeny < .@total) { mes "[Rune Merchant]"; mes "Zeny! Zeny!"; @@ -143,19 +141,19 @@ lhz_in02,16,205,4 duplicate(phs) Poison Herb Merchant#lhz 877 mes "It doesn't seem like you are able to carry it all, why are you trying it?!"; close; } - set Zeny, Zeny - .@total; + Zeny = Zeny - .@total; getitem .@item, .@amount; mes "[Rune Merchant]"; mes "Thank you."; mes "Please come back again~!"; close; } -job3_rune01,90,62,3 duplicate(runesale) Rune Merchant#job3 853 -prontera,168,228,3 duplicate(runesale) Rune Merchant#prt 853 +job3_rune01,90,62,3 duplicate(runesale) Rune Merchant#job3 4_M_YURI +prontera,168,228,3 duplicate(runesale) Rune Merchant#prt 4_M_YURI -// Rare Herb Merchants (Guillotine Cross) +// Rare Herb Merchants (Guillotine Cross) :: rare_herb_3rd_trader //============================================================ -job3_guil01,91,93,3 script Rare Herb Collector 49,{ +job3_guil01,91,93,3 script Rare Herb Collector 1_M_03,{ if (checkweight(1201,1) == 0 || MaxWeight - Weight < 2000) { mes "- Wait a minute !! -"; mes "- Currently you're carrying -"; @@ -168,7 +166,7 @@ job3_guil01,91,93,3 script Rare Herb Collector 49,{ mes "[Rare Poison Herb Collector]"; mes "I wander around the world and collect rare poison herbs. Recently, I started dealing in the herb called Izidor. If you are interested, you can buy them."; next; - set .@i, select("How can I buy them?:Exchange it for Animal Blood:Exchange it for a Bitter Herb:Exchange it for a Deadly Noxious Herb:Exchange it for a Frozen Rose:Exchange it for Ment:Exchange it for Hinalle")-2; + .@i = select("How can I buy them?:Exchange it for Animal Blood:Exchange it for a Bitter Herb:Exchange it for a Deadly Noxious Herb:Exchange it for a Frozen Rose:Exchange it for Ment:Exchange it for Hinalle")-2; if (.@i == -1) { mes "[Rare Poison Herb Collector]"; mes "You can buy them for 10,000 zeny and one of these rare items, Animal Blood, Bitter Herb, Deadly Noxious Herb, Frozen Rose, Ment or an Hinalle."; @@ -178,8 +176,8 @@ job3_guil01,91,93,3 script Rare Herb Collector 49,{ close; } else { setarray .@exchange[0],702,621,631,749,605,703; - set .@item, .@exchange[.@i]; - set .@price, 10000; + .@item = .@exchange[.@i]; + .@price = 10000; mes "[Rare Poison Herb Collector]"; mes "How many do you want?"; @@ -197,7 +195,7 @@ job3_guil01,91,93,3 script Rare Herb Collector 49,{ mes "The number must be less than 2,000!"; close; } - set .@total, .@amount * .@price; + .@total = .@amount * .@price; if (countitem(.@item) < .@amount || Zeny < .@total) { mes "[Rare Poison Herb Collector]"; mes "Hey, come back when you have all the requirements for the exchange."; @@ -206,7 +204,7 @@ job3_guil01,91,93,3 script Rare Herb Collector 49,{ mes "[Rare Poison Herb Collector]"; mes "Good. I've received the money and the special item."; delitem .@item, .@amount; - set Zeny, Zeny - .@total; + Zeny = Zeny - .@total; getitem 709, .@amount; //Izidor close; } @@ -216,7 +214,7 @@ job3_guil01,91,93,3 script Rare Herb Collector 49,{ close; } -// Point Merchants (Sorcerer) +// Point Merchants (Sorcerer) :: point_3rd_trader //============================================================ - script ::pss -1,{ if (checkweight(1201,1) == 0 || MaxWeight - Weight < 2000) { @@ -230,7 +228,7 @@ job3_guil01,91,93,3 script Rare Herb Collector 49,{ mes "[Point Merchant]"; mes "Hello. I'm selling a catalyst called ^FF0000Points^000000 for Sorcerers. What would you like?"; next; - set .@i, select("Scarlet Points - 200z:Lime Green Points - 200z:Indigo Points - 200z:Yellow Wish Points - 200z:Cancel")-1; + .@i = select("Scarlet Points - 200z:Lime Green Points - 200z:Indigo Points - 200z:Yellow Wish Points - 200z:Cancel")-1; mes "[Point Merchant]"; if (.@i == 4) { mes "You can't find the stuff you need?"; @@ -256,27 +254,27 @@ job3_guil01,91,93,3 script Rare Herb Collector 49,{ mes "You don't have enough space in your inventory to buy this amount."; close; } - set Zeny, Zeny-(.@amount*200); + Zeny = Zeny-(.@amount*200); getitem .@itemid[.@i],.@amount; mes "Thank you very much. See you~!"; close; } -gef_tower,105,172,5 duplicate(pss) Point Merchant#Sorcerer 700 -prt_in,131,66,0 duplicate(pss) Point Merchant#Prontera 700 -alberta,105,52,7 duplicate(pss) Point Merchant#Alberta 700 -aldebaran,133,114,5 duplicate(pss) Point Merchant#Aldebaran 700 -comodo,193,159,5 duplicate(pss) Point Merchant#Comodo 700 -geffen,129,49,5 duplicate(pss) Point Merchant#Geffen 700 -izlude,138,163,5 duplicate(pss) Point Merchant#Izlude 700 // Old coordinates: izlude (135,121) -izlude_a,138,163,5 duplicate(pss) Point Merchant#Izlude_a 700 -izlude_b,138,163,5 duplicate(pss) Point Merchant#Izlude_b 700 -izlude_c,138,163,5 duplicate(pss) Point Merchant#Izlude_c 700 -izlude_d,138,163,5 duplicate(pss) Point Merchant#Izlude_d 700 -malangdo,214,163,5 duplicate(pss) Point Merchant#Malangdo 700 -mora,115,118,3 duplicate(pss) Point Merchant#Mora 700 -ra_in01,256,273,3 duplicate(pss) Point Merchant#Rachel 700 -veins,202,128,5 duplicate(pss) Point Merchant#Veins 700 -dicastes01,207,200,5 duplicate(pss) Point Merchant#Dicastes 700 -manuk,261,206,3 duplicate(pss) Point Merchant#Manuk 700 -splendide,207,160,5 duplicate(pss) Point Merchant#Splendide 700 -mid_camp,224,237,3 duplicate(pss) Point Merchant#Midgard 700 +gef_tower,105,172,5 duplicate(pss) Point Merchant#Sorcerer 8_F_GIRL +prt_in,131,66,0 duplicate(pss) Point Merchant#Prontera 8_F_GIRL +alberta,105,52,7 duplicate(pss) Point Merchant#Alberta 8_F_GIRL +aldebaran,133,114,5 duplicate(pss) Point Merchant#Aldebaran 8_F_GIRL +comodo,193,159,5 duplicate(pss) Point Merchant#Comodo 8_F_GIRL +geffen,129,49,5 duplicate(pss) Point Merchant#Geffen 8_F_GIRL +izlude,138,163,5 duplicate(pss) Point Merchant#Izlude 8_F_GIRL // Old coordinates: izlude (135,121) +izlude_a,138,163,5 duplicate(pss) Point Merchant#Izlude_a 8_F_GIRL +izlude_b,138,163,5 duplicate(pss) Point Merchant#Izlude_b 8_F_GIRL +izlude_c,138,163,5 duplicate(pss) Point Merchant#Izlude_c 8_F_GIRL +izlude_d,138,163,5 duplicate(pss) Point Merchant#Izlude_d 8_F_GIRL +malangdo,214,163,5 duplicate(pss) Point Merchant#Malangdo 8_F_GIRL +mora,115,118,3 duplicate(pss) Point Merchant#Mora 8_F_GIRL +ra_in01,256,273,3 duplicate(pss) Point Merchant#Rachel 8_F_GIRL +veins,202,128,5 duplicate(pss) Point Merchant#Veins 8_F_GIRL +dicastes01,207,200,5 duplicate(pss) Point Merchant#Dicastes 8_F_GIRL +manuk,261,206,3 duplicate(pss) Point Merchant#Manuk 8_F_GIRL +splendide,207,160,5 duplicate(pss) Point Merchant#Splendide 8_F_GIRL +mid_camp,224,237,3 duplicate(pss) Point Merchant#Midgard 8_F_GIRL diff --git a/re/merchants/advanced_refiner.txt b/re/merchants/advanced_refiner.txt index 8a73dcb..fbef5a5 100644 --- a/re/merchants/advanced_refiner.txt +++ b/re/merchants/advanced_refiner.txt @@ -18,6 +18,8 @@ //= 1.0 Added Malangdo Refiner "Holink". [Euphy] //============================================================ +// Main NPC :: mal_jerun +//============================================================ malangdo,221,174,6 script Holink#mal_cash 559,{ disable_items; mes "[Holink]"; diff --git a/re/merchants/alchemist.txt b/re/merchants/alchemist.txt index 54f7af5..5a38fe3 100644 --- a/re/merchants/alchemist.txt +++ b/re/merchants/alchemist.txt @@ -14,6 +14,8 @@ //= Updated dialogue to match the official script. //============================================================ +// Main NPC :: craft_book_alche_skill_npc +//============================================================ alde_alche,31,186,3 script Craft Book Merchant#alde 883,{ mes "[Craft Book Merchant]"; mes "Welcome."; diff --git a/re/merchants/ammo_boxes.txt b/re/merchants/ammo_boxes.txt index 42730f3..2ebf371 100644 --- a/re/merchants/ammo_boxes.txt +++ b/re/merchants/ammo_boxes.txt @@ -11,11 +11,12 @@ //===== Additional Comments: ================================= //= 1.0 First version, Renewal duplicates. //= 1.1 Added Izlude duplicates. [Euphy] +//= 1.2 Updated Izlude coordinates. [Euphy] //============================================================ que_ng,187,149,3 duplicate(mdk) Magazine Dealer Kenny#ng 83 -izlude,74,104,3 duplicate(mdk) Magazine Dealer Kenny#iz 83 -izlude_a,74,104,3 duplicate(mdk) Magazine Dealer Kenny#a 83 -izlude_b,74,104,3 duplicate(mdk) Magazine Dealer Kenny#b 83 -izlude_c,74,104,3 duplicate(mdk) Magazine Dealer Kenny#c 83 -izlude_d,74,104,3 duplicate(mdk) Magazine Dealer Kenny#d 83 +izlude,155,135,3 duplicate(mdk) Magazine Dealer Kenny#iz 83 +izlude_a,155,135,3 duplicate(mdk) Magazine Dealer Kenny#a 83 +izlude_b,155,135,3 duplicate(mdk) Magazine Dealer Kenny#b 83 +izlude_c,155,135,3 duplicate(mdk) Magazine Dealer Kenny#c 83 +izlude_d,155,135,3 duplicate(mdk) Magazine Dealer Kenny#d 83 diff --git a/re/merchants/ammo_dealer.txt b/re/merchants/ammo_dealer.txt index c72a638..a9f309c 100644 --- a/re/merchants/ammo_dealer.txt +++ b/re/merchants/ammo_dealer.txt @@ -3,7 +3,7 @@ //===== By =================================================== //= Euphy //===== Version ============================================== -//= 1.1 +//= 1.2 //===== Compatible With ====================================== //= rAthena SVN //===== Description ========================================== @@ -11,11 +11,12 @@ //===== Comments ============================================= //= 1.0 First version, Renewal duplicates. //= 1.1 Added Izlude duplicates. [Euphy] +//= 1.2 Updated Izlude coordinates. [Euphy] //============================================================ que_ng,187,156,3 duplicate(bdt) Bullet Dealer Tony#ng 86 -izlude,77,104,3 duplicate(bdt) Bullet Dealer Tony#iz 86 //Official: (74,106) -> in the water -izlude_a,77,104,3 duplicate(bdt) Bullet Dealer Tony#a 86 -izlude_b,77,104,3 duplicate(bdt) Bullet Dealer Tony#b 86 -izlude_c,77,104,3 duplicate(bdt) Bullet Dealer Tony#c 86 -izlude_d,77,104,3 duplicate(bdt) Bullet Dealer Tony#d 86 +izlude,152,135,3 duplicate(bdt) Bullet Dealer Tony#iz 86 +izlude_a,152,135,3 duplicate(bdt) Bullet Dealer Tony#a 86 +izlude_b,152,135,3 duplicate(bdt) Bullet Dealer Tony#b 86 +izlude_c,152,135,3 duplicate(bdt) Bullet Dealer Tony#c 86 +izlude_d,152,135,3 duplicate(bdt) Bullet Dealer Tony#d 86 diff --git a/re/merchants/blessed_refiner.txt b/re/merchants/blessed_refiner.txt index a257017..f65f144 100644 --- a/re/merchants/blessed_refiner.txt +++ b/re/merchants/blessed_refiner.txt @@ -17,6 +17,8 @@ //= 1.0 First version. [Euphy] //============================================================ +// Main NPC :: new_smelting612 +//============================================================ - script ::BlacksmithDister -1,{ disable_items; mes "[Blacksmith Dister]"; @@ -32,12 +34,12 @@ 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) + for (set .@i,1; .@i<=10; set .@i,.@i+1) set .@menu$, .@menu$+((getequipisequiped(.@i))?getequipname(.@i):.@position$[.@i]+"-[Unequipped]")+":"; set .@part, select(.@menu$); if (!getequipisequiped(.@part)) { mes "[Blacksmith Dister]"; - switch(.@part) { + switch (.@part) { case 1: mes "I'm a blacksmith, not a hairstylist."; break; @@ -79,7 +81,7 @@ close; } set .@equip_lv, getequipweaponlv(.@part); - switch(.@equip_lv) { + switch (.@equip_lv) { default: case 0: set .@price,20000; @@ -109,10 +111,10 @@ } set .@ore$,"^ff9999Blessed "+.@type$+" Ore^000000"; mes "[Blacksmith Dister]"; - mes "This "+.@type$+" has been refined to "+.@equip_refine+". To refine it, I need "+.@ore$+" and a "+(.@price/1000)+",000 zeny refining fee."; + mes "This "+.@type$+" has been refined to "+.@equip_refine+". To refine it, I need "+.@ore$+" and a "+callfunc("F_InsertComma",.@price)+" zeny refining fee."; mes "Do you want to proceed?"; next; - if(select("Yes:No") == 2) { + if (select("Yes:No") == 2) { mes "[Blacksmith Dister]"; mes "I am busy, don't joke with me!"; close; @@ -124,7 +126,7 @@ mes "[Blacksmith Dister]"; mes "Of course, the refining fee will not be returned! Do you want to continue?"; next; - if(select("Yes:No") == 2) { + if (select("Yes:No") == 2) { mes "[Blacksmith Dister]"; mes "Good. I'd be sad if it failed, too."; close; @@ -133,7 +135,7 @@ if (countitem(.@material) == 0 || Zeny < .@price) { mes "[Blacksmith Dister]"; mes "Materials insufficient."; - mes "To refine "+((.@equip_lv)?"a level "+.@equip_lv+" weapon":"armor")+", I need "+.@ore$+" and a "+(.@price/1000)+",000 zeny refining fee."; + mes "To refine "+((.@equip_lv)?"a level "+.@equip_lv+" weapon":"armor")+", I need "+.@ore$+" and a "+callfunc("F_InsertComma",.@price)+" zeny refining fee."; close; } delitem .@material,1; diff --git a/re/merchants/card_exchange.txt b/re/merchants/card_exchange.txt new file mode 100644 index 0000000..5e05a17 --- /dev/null +++ b/re/merchants/card_exchange.txt @@ -0,0 +1,515 @@ +//===== rAthena Script ======================================= +//= Card Exchanger +//===== By: ================================================== +//= Euphy +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Exchange any card for a Card Coin, and 5 Card Coins for +//= a random card in exchange. +//= +//= NOTE: This NPC is only available in pRO and twRO. +//===== Additional Comments: ================================= +//= 1.0 First version. [Euphy] +//============================================================ + +// Main NPC :: Card_Change_tw +//============================================================ +comodo,148,306,4 script Card Vendor Machine#pa08 562,{ + if (checkweight(1201,1) == 0) { + mes "You have too many items, please reduce it and come back later!"; + close; + } + if (MaxWeight - Weight < 1000) { + mes "You are overweight now, please reduce it and come back later!"; + close; + } + mes "[Terminator RX1]"; + mes "Text Explanation Begins:"; + mes "Press 1 for Cancel,"; + mes "Press 2 for Explanation,"; + mes "Press 3 for Coin Exchange,"; + mes "Press 4 for Card Exchange."; + next; + switch(select("1.Cancel:2.Explanation:3.Change Card into Coin:4.Change Coin into Card:^ffffff5.Start Security System^000000")) { + case 1: + mes "[Terminator RX1]"; + mes "You are welcome!"; + close; + case 2: + mes "[Terminator RX1]"; + mes "No.3, when you choose Coin Exchange, system will collect ONE card from your inventory randomly to exchange into ONE Coin."; + next; + mes "[Terminator RX1]"; + mes "No.4, when you choose Card Excahnge, system will collect FIVE coin from your inventory to exchange into ONE Card randomly."; + next; + mes "[Terminator RX1]"; + mes "You are welcome!"; + close; + case 3: + specialeffect2 EF_COIN; + specialeffect2 EF_LOUD; + progressbar "0xffff00",3; + callsub L_Exchange, // yes, this list is hardcoded in the official script... + 4001, 4002, 4003, 4004, 4005, 4006, 4008, 4009, 4010, 4011, + 4012, 4013, 4014, 4015, 4016, 4017, 4018, 4019, 4020, 4021, + 4022, 4023, 4024, 4025, 4026, 4028, 4029, 4031, 4032, 4033, + 4034, 4036, 4037, 4038, 4039, 4041, 4042, 4045, 4046, 4048, + 4016, 4056, 4057, 4059, 4061, 4062, 4067, 4068, 4070, 4071, + 4072, 4073, 4075, 4076, 4078, 4080, 4081, 4082, 4084, 4087, + 4090, 4093, 4094, 4095, 4096, 4101, 4102, 4103, 4104, 4105, + 4106, 4107, 4108, 4109, 4110, 4112, 4113, 4114, 4116, 4117, + 4118, 4119, 4122, 4124, 4125, 4127, 4138, 4149, 4150, 4151, + 4152, 4153, 4154, 4155, 4156, 4157, 4158, 4159, 4161, 4162, + 4164, 4165, 4166, 4167, 4170, 4171, 4172, 4173, 4175, 4176, + 4177, 4178, 4179, 4180, 4181, 4182, 4183, 4184, 4185, 4186, + 4187, 4188, 4189, 4190, 4191, 4192, 4193, 4194, 4195, 4196, + 4197, 4199, 4200, 4201, 4202, 4204, 4206, 4208, 4211, 4212, + 4213, 4214, 4215, 4217, 4219, 4220, 4221, 4222, 4223, 4224, + 4225, 4226, 4227, 4228, 4231, 4232, 4233, 4234, 4235, 4239, + 4240, 4242, 4244, 4246, 4247, 4248, 4249, 4251, 4252, 4253, + 4257, 4258, 4259, 4260, 4261, 4265, 4266, 4267, 4268, 4270, + 4271, 4272, 4273, 4274, 4275, 4278, 4280, 4282, 4286, 4287, + 4289, 4291, 4292, 4294, 4295, 4296, 4297, 4298, 4299, 4301, + 4304, 4306, 4307, 4308, 4309, 4310, 4311, 4312, 4313, 4315, + 4316, 4319, 4321, 4322, 4323, 4325, 4326, 4328, 4329, 4331, + 4332, 4333, 4335, 4338, 4339, 4341, 4343, 4344, 4345, 4346, + 4347, 4348, 4350, 4351, 4353, 4355, 4356, 4358, 4369, 4370, + 4371, 4377, 4380, 4382, 4383, 4385, 4387, 4388, 4389, 4390, + 4391, 4393, 4400, 4401, 4404, 4405, 4406, 4409, 4410, 4414, + 4417, 4418, 4420, 4421, 4422, 4423, 4432, 4434, 4435, 4436, + 4437, 4438, 4439, 4442, 4443, 4444, 4445, 4447, 4448, 4449, + 4450, 4452; + mes "[Terminator RX1]"; + mes "Card searching has finished!"; + next; + mes "[Terminator RX1]"; + mes "Thank you for coming!"; + close; + case 4: + specialeffect2 EF_COIN; + specialeffect2 EF_LOUD; + progressbar "0xffff00",3; + if (countitem(6379) < 5) { + mes "[Terminator RX1]"; + mes "You do not have enough coins."; + close; + } + delitem 6379,5; //Card_Coin + .@r = rand(1,34261); + if (.@r <= 2001) getitem 4001,1; //Poring_Card + else if (.@r <= 4002) getitem 4002,1; //Fabre_Card + else if (.@r <= 4053) getitem 4003,1; //Pupa_Card + else if (.@r <= 6054) getitem 4004,1; //Drops_Card + else if (.@r <= 6105) getitem 4005,1; //Poring__Card + else if (.@r <= 6156) getitem 4006,1; //Lunatic_Card + else if (.@r <= 8157) getitem 4008,1; //Picky_Card + else if (.@r <= 10158) getitem 4009,1; //Chonchon_Card + else if (.@r <= 10209) getitem 4010,1; //Wilow_Card + else if (.@r <= 10260) getitem 4011,1; //Picky__Card + else if (.@r <= 10311) getitem 4012,1; //Thief_Bug_Egg_Card + else if (.@r <= 10362) getitem 4013,1; //Andre_Egg_Card + else if (.@r <= 12363) getitem 4014,1; //Roda_Frog_Card + else if (.@r <= 14364) getitem 4015,1; //Condor_Card + else if (.@r <= 14415) getitem 4016,1; //Thief_Bug_Card + else if (.@r <= 14466) getitem 4017,1; //Savage_Babe_Card + else if (.@r <= 14517) getitem 4018,1; //Andre_Larva_Card + else if (.@r <= 14568) getitem 4019,1; //Hornet_Card + else if (.@r <= 16569) getitem 4020,1; //Farmiliar_Card + else if (.@r <= 16620) getitem 4021,1; //Rocker_Card + else if (.@r <= 18621) getitem 4022,1; //Spore_Card + else if (.@r <= 18672) getitem 4023,1; //Desert_Wolf_Babe_Card + else if (.@r <= 18723) getitem 4024,1; //Plankton_Card + else if (.@r <= 18774) getitem 4025,1; //Skeleton_Card + else if (.@r <= 18825) getitem 4026,1; //Thief_Bug_Female_Card + else if (.@r <= 18876) getitem 4028,1; //Tarou_Card + else if (.@r <= 20877) getitem 4029,1; //Wolf_Card + else if (.@r <= 20928) getitem 4031,1; //Pecopeco_Card + else if (.@r <= 20979) getitem 4032,1; //Ambernite_Card + else if (.@r <= 21030) getitem 4033,1; //Poporing_Card + else if (.@r <= 21081) getitem 4034,1; //Worm_Tail_Card + else if (.@r <= 21132) getitem 4036,1; //Muka_Card + else if (.@r <= 21183) getitem 4037,1; //Snake_Card + else if (.@r <= 21234) getitem 4038,1; //Zombie_Card + else if (.@r <= 21285) getitem 4039,1; //Stainer_Card + else if (.@r <= 21336) getitem 4041,1; //Coco_Card + else if (.@r <= 21387) getitem 4042,1; //Steel_Chonchon_Card + else if (.@r <= 21438) getitem 4045,1; //Horn_Card + else if (.@r <= 21489) getitem 4046,1; //Martin_Card + else if (.@r <= 21540) getitem 4048,1; //Poison_Spore_Card + else if (.@r <= 21591) getitem 4016,1; //Thief_Bug_Card + else if (.@r <= 21642) getitem 4056,1; //Dustiness_Card + else if (.@r <= 21693) getitem 4057,1; //Metaller_Card + else if (.@r <= 21744) getitem 4059,1; //Soldier_Andre_Card + else if (.@r <= 21795) getitem 4061,1; //Cornutus_Card + else if (.@r <= 21846) getitem 4062,1; //Anacondaq_Card + else if (.@r <= 21897) getitem 4067,1; //Megalodon_Card + else if (.@r <= 21948) getitem 4070,1; //Eggyra_Card + else if (.@r <= 21999) getitem 4071,1; //Orc_Zombie_Card + else if (.@r <= 22050) getitem 4072,1; //Golem_Card + else if (.@r <= 22101) getitem 4073,1; //Pirate_Skel_Card + else if (.@r <= 22152) getitem 4075,1; //Argos_Card + else if (.@r <= 22203) getitem 4076,1; //Magnolia_Card + else if (.@r <= 22254) getitem 4078,1; //Savage_Card + else if (.@r <= 22305) getitem 4080,1; //Flora_Card + else if (.@r <= 22356) getitem 4081,1; //Hode_Card + else if (.@r <= 22407) getitem 4082,1; //Desert_Wolf_Card + else if (.@r <= 22458) getitem 4084,1; //Marine_Sphere_Card + else if (.@r <= 22509) getitem 4087,1; //Giearth_Card + else if (.@r <= 22560) getitem 4090,1; //Munak_Card + else if (.@r <= 22611) getitem 4093,1; //Obeaune_Card + else if (.@r <= 22662) getitem 4094,1; //Archer_Skeleton_Card + else if (.@r <= 22713) getitem 4095,1; //Marse_Card + else if (.@r <= 22764) getitem 4096,1; //Zenorc_Card + else if (.@r <= 22815) getitem 4101,1; //Sand_Man_Card + else if (.@r <= 22866) getitem 4102,1; //Whisper_Card + else if (.@r <= 22917) getitem 4103,1; //Horong_Card + else if (.@r <= 22968) getitem 4104,1; //Requiem_Card + else if (.@r <= 23019) getitem 4105,1; //Marc_Card + else if (.@r <= 23070) getitem 4106,1; //Mummy_Card + else if (.@r <= 23121) getitem 4107,1; //Verit_Card + else if (.@r <= 23172) getitem 4108,1; //Myst_Card + else if (.@r <= 23223) getitem 4109,1; //Jakk_Card + else if (.@r <= 23274) getitem 4110,1; //Ghoul_Card + else if (.@r <= 23325) getitem 4112,1; //Marduk_Card + else if (.@r <= 23376) getitem 4113,1; //Marionette_Card + else if (.@r <= 23427) getitem 4114,1; //Argiope_Card + else if (.@r <= 23478) getitem 4116,1; //Isis_Card + else if (.@r <= 23529) getitem 4117,1; //Side_Winder_Card + else if (.@r <= 23580) getitem 4118,1; //Petit_Card + else if (.@r <= 23631) getitem 4119,1; //Bathory_Card + else if (.@r <= 23682) getitem 4122,1; //Deviruchi_Card + else if (.@r <= 23733) getitem 4124,1; //Medusa_Card + else if (.@r <= 23784) getitem 4125,1; //Deviace_Card + else if (.@r <= 23835) getitem 4127,1; //Nightmare_Card + else if (.@r <= 23886) getitem 4068,1; //Scorpion_Card + else if (.@r <= 23937) getitem 4138,1; //Anubis_Card + else if (.@r <= 23988) getitem 4149,1; //Gargoyle_Card + else if (.@r <= 24039) getitem 4150,1; //Goat_Card + else if (.@r <= 24090) getitem 4151,1; //Gajomart_Card + else if (.@r <= 24141) getitem 4152,1; //Galapago_Card + else if (.@r <= 24192) getitem 4153,1; //Crab_Card + else if (.@r <= 24243) getitem 4154,1; //Rice_Cake_Boy_Card + else if (.@r <= 24294) getitem 4155,1; //Goblin_Leader_Card + else if (.@r <= 24345) getitem 4156,1; //Steam_Goblin_Card + else if (.@r <= 24396) getitem 4157,1; //Goblin_Archer_Card + else if (.@r <= 24447) getitem 4158,1; //Flying_Deleter_Card + else if (.@r <= 24498) getitem 4159,1; //Nine_Tail_Card + else if (.@r <= 24549) getitem 4161,1; //Grand_Peco_Card + else if (.@r <= 24600) getitem 4162,1; //Grizzly_Card + else if (.@r <= 24651) getitem 4164,1; //Gullinbursti_Card + else if (.@r <= 24702) getitem 4165,1; //Gig_Card + else if (.@r <= 24753) getitem 4166,1; //Nightmare_Terror_Card + else if (.@r <= 24804) getitem 4167,1; //Neraid_Card + else if (.@r <= 24855) getitem 4170,1; //Dark_Frame_Card + else if (.@r <= 24906) getitem 4171,1; //Dark_Priest_Card + else if (.@r <= 24957) getitem 4172,1; //The_Paper_Card + else if (.@r <= 25008) getitem 4173,1; //Demon_Pungus_Card + else if (.@r <= 25059) getitem 4175,1; //Poison_Toad_Card + else if (.@r <= 25110) getitem 4176,1; //Dullahan_Card + else if (.@r <= 25161) getitem 4177,1; //Dryad_Card + else if (.@r <= 25212) getitem 4178,1; //Dragon_Tail_Card + else if (.@r <= 25263) getitem 4179,1; //Dragon_Fly_Card + else if (.@r <= 25314) getitem 4180,1; //Driller_Card + else if (.@r <= 25365) getitem 4181,1; //Disguise_Card + else if (.@r <= 25416) getitem 4182,1; //Diabolic_Card + else if (.@r <= 25467) getitem 4183,1; //Vagabond_Wolf_Card + else if (.@r <= 25518) getitem 4184,1; //Lava_Golem_Card + else if (.@r <= 25569) getitem 4185,1; //Rideword_Card + else if (.@r <= 25620) getitem 4186,1; //Raggler_Card + else if (.@r <= 25671) getitem 4187,1; //Raydric_Archer_Card + else if (.@r <= 25722) getitem 4188,1; //Leib_Olmai_Card + else if (.@r <= 25773) getitem 4189,1; //Wraith_Dead_Card + else if (.@r <= 25824) getitem 4190,1; //Wraith_Card + else if (.@r <= 25875) getitem 4191,1; //Loli_Ruri_Card + else if (.@r <= 25926) getitem 4192,1; //Rotar_Zairo_Card + else if (.@r <= 25977) getitem 4193,1; //Lude_Card + else if (.@r <= 26028) getitem 4194,1; //Rybio_Card + else if (.@r <= 26079) getitem 4195,1; //Leaf_Cat_Card + else if (.@r <= 26130) getitem 4196,1; //Marin_Card + else if (.@r <= 26181) getitem 4197,1; //Mastering_Card + else if (.@r <= 26232) getitem 4199,1; //Merman_Card + else if (.@r <= 26283) getitem 4200,1; //Megalith_Card + else if (.@r <= 26334) getitem 4201,1; //Majoruros_Card + else if (.@r <= 26385) getitem 4202,1; //Civil_Servant_Card + else if (.@r <= 26436) getitem 4204,1; //Mini_Demon_Card + else if (.@r <= 26487) getitem 4206,1; //Mystcase_Card + else if (.@r <= 26538) getitem 4208,1; //Miyabi_Ningyo_Card + else if (.@r <= 26589) getitem 4211,1; //Vocal_Card + else if (.@r <= 26640) getitem 4212,1; //Bon_Gun_Card + else if (.@r <= 26691) getitem 4213,1; //Brilight_Card + else if (.@r <= 26742) getitem 4214,1; //Bloody_Murderer_Card + else if (.@r <= 26793) getitem 4215,1; //Blazzer_Card + else if (.@r <= 26844) getitem 4217,1; //Live_Peach_Tree_Card + else if (.@r <= 26895) getitem 4219,1; //Sageworm_Card + else if (.@r <= 26946) getitem 4220,1; //Solider_Card + else if (.@r <= 26997) getitem 4221,1; //Skeleton_General_Card + else if (.@r <= 27048) getitem 4222,1; //Skel_Prisoner_Card + else if (.@r <= 27099) getitem 4223,1; //Stalactic_Golem_Card + else if (.@r <= 27150) getitem 4224,1; //Stem_Worm_Card + else if (.@r <= 27201) getitem 4225,1; //Stone_Shooter_Card + else if (.@r <= 27252) getitem 4226,1; //Sting_Card + else if (.@r <= 27303) getitem 4227,1; //Spring_Rabbit_Card + else if (.@r <= 27354) getitem 4228,1; //Sleeper_Card + else if (.@r <= 27405) getitem 4231,1; //Increase_Soil_Card + else if (.@r <= 27456) getitem 4232,1; //Wild_Ginseng_Card + else if (.@r <= 27507) getitem 4233,1; //Baby_Leopard_Card + else if (.@r <= 27558) getitem 4234,1; //Anolian_Card + else if (.@r <= 27609) getitem 4235,1; //Cookie_XMAS_Card + else if (.@r <= 27660) getitem 4239,1; //Iron_Fist_Card + else if (.@r <= 27711) getitem 4240,1; //Arclouse_Card + else if (.@r <= 27762) getitem 4242,1; //Apocalips_Card + else if (.@r <= 27813) getitem 4244,1; //Alarm_Card + else if (.@r <= 27864) getitem 4246,1; //Assulter_Card + else if (.@r <= 27915) getitem 4247,1; //Aster_Card + else if (.@r <= 27966) getitem 4248,1; //Ancient_Mummy_Card + else if (.@r <= 28017) getitem 4249,1; //Ancient_Worm_Card + else if (.@r <= 28068) getitem 4251,1; //Elder_Card + else if (.@r <= 28119) getitem 4252,1; //Alligator_Card + else if (.@r <= 28170) getitem 4253,1; //Alice_Card + else if (.@r <= 28221) getitem 4257,1; //Wild_Rose_Card + else if (.@r <= 28272) getitem 4258,1; //Wicked_Nymph_Card + else if (.@r <= 28323) getitem 4259,1; //Wooden_Golem_Card + else if (.@r <= 28374) getitem 4260,1; //Wootan_Shooter_Card + else if (.@r <= 28425) getitem 4261,1; //Wootan_Fighter_Card + else if (.@r <= 28476) getitem 4265,1; //Li_Me_Mang_Ryang_Card + else if (.@r <= 28527) getitem 4266,1; //Eclipse_Card + else if (.@r <= 28578) getitem 4267,1; //Explosion_Card + else if (.@r <= 28629) getitem 4268,1; //Injustice_Card + else if (.@r <= 28680) getitem 4270,1; //Giant_Spider_Card + else if (.@r <= 28731) getitem 4271,1; //Giant_Honet_Card + else if (.@r <= 28782) getitem 4272,1; //Dancing_Dragon_Card + else if (.@r <= 28833) getitem 4273,1; //Shellfish_Card + else if (.@r <= 28884) getitem 4274,1; //Zombie_Master_Card + else if (.@r <= 28935) getitem 4275,1; //Zombie_Prisoner_Card + else if (.@r <= 28986) getitem 4278,1; //Gibbet_Card + else if (.@r <= 29037) getitem 4280,1; //Geographer_Card + else if (.@r <= 29088) getitem 4282,1; //Tengu_Card + else if (.@r <= 29139) getitem 4286,1; //Karakasa_Card + else if (.@r <= 29190) getitem 4287,1; //Kapha_Card + else if (.@r <= 29241) getitem 4289,1; //Caterpillar_Card + else if (.@r <= 29292) getitem 4291,1; //Kobold_Leader_Card + else if (.@r <= 29343) getitem 4292,1; //Kobold_Archer_Card + else if (.@r <= 29394) getitem 4100,1; //Sohee_Card + else if (.@r <= 29445) getitem 4294,1; //Quve_Card + else if (.@r <= 29496) getitem 4295,1; //Kraben_Card + else if (.@r <= 29547) getitem 4296,1; //Cramp_Card + else if (.@r <= 29598) getitem 4297,1; //Cruiser_Card + else if (.@r <= 29649) getitem 4298,1; //Cremy_Fear_Card + else if (.@r <= 29700) getitem 4299,1; //Clock_Card + else if (.@r <= 29751) getitem 4301,1; //Killer_Mantis_Card + else if (.@r <= 29802) getitem 4304,1; //Tamruan_Card + else if (.@r <= 29853) getitem 4306,1; //Toad_Card + else if (.@r <= 29904) getitem 4307,1; //Kind_Of_Beetle_Card + else if (.@r <= 29955) getitem 4308,1; //Tri_Joint_Card + else if (.@r <= 30006) getitem 4309,1; //Parasite_Card + else if (.@r <= 30057) getitem 4310,1; //Panzer_Goblin_Card + else if (.@r <= 30108) getitem 4311,1; //Permeter_Card + else if (.@r <= 30159) getitem 4312,1; //Fur_Seal_Card + else if (.@r <= 30210) getitem 4313,1; //Punk_Card + else if (.@r <= 30261) getitem 4315,1; //Pest_Card + else if (.@r <= 30312) getitem 4316,1; //Fake_Angel_Card + else if (.@r <= 30363) getitem 4319,1; //Freezer_Card + else if (.@r <= 30414) getitem 4321,1; //Hylozoist_Card + else if (.@r <= 30465) getitem 4322,1; //High_Orc_Card + else if (.@r <= 30516) getitem 4323,1; //Garm_Baby_Card + else if (.@r <= 30567) getitem 4325,1; //Harpy_Card + else if (.@r <= 30618) getitem 4326,1; //See_Otter_Card + else if (.@r <= 30669) getitem 4328,1; //Hyegun_Card + else if (.@r <= 30720) getitem 4329,1; //Phendark_Card + else if (.@r <= 30771) getitem 4331,1; //Heater_Card + else if (.@r <= 30822) getitem 4332,1; //Waste_Stove_Card + else if (.@r <= 30873) getitem 4333,1; //Venomous_Card + else if (.@r <= 30924) getitem 4335,1; //Pitman_Card + else if (.@r <= 30975) getitem 4338,1; //Obsidian_Card + else if (.@r <= 31026) getitem 4339,1; //Mineral_Card + else if (.@r <= 31077) getitem 4341,1; //Metaling_Card + else if (.@r <= 31128) getitem 4343,1; //Mole_Card + else if (.@r <= 31179) getitem 4344,1; //Anopheles_Card + else if (.@r <= 31230) getitem 4345,1; //Hill_Wind_Card + else if (.@r <= 31281) getitem 4346,1; //Ygnizem_Card + else if (.@r <= 31332) getitem 4347,1; //Armaia_Card + else if (.@r <= 31383) getitem 4348,1; //Whikebain_Card + else if (.@r <= 31434) getitem 4350,1; //Rawrel_Card + else if (.@r <= 31485) getitem 4351,1; //Kavac_Card + else if (.@r <= 31536) getitem 4353,1; //Removal_Card + else if (.@r <= 31587) getitem 4355,1; //Gremlin_Card + else if (.@r <= 31638) getitem 4356,1; //Beholder_Card + else if (.@r <= 31689) getitem 4358,1; //Seyren_Card + else if (.@r <= 31740) getitem 4369,1; //Venatu_Card + else if (.@r <= 31791) getitem 4370,1; //Dimik_Card + else if (.@r <= 31842) getitem 4371,1; //Archdam_Card + else if (.@r <= 31893) getitem 4377,1; //Green_Iguana_Card + else if (.@r <= 31944) getitem 4380,1; //Ferus_Card + else if (.@r <= 31995) getitem 4382,1; //Novus__Card + else if (.@r <= 32046) getitem 4383,1; //Novus_Card + else if (.@r <= 32097) getitem 4385,1; //Dragon_Egg_Card + else if (.@r <= 32148) getitem 4387,1; //Ancient_Mimic_Card + else if (.@r <= 32199) getitem 4388,1; //Deathword_Card + else if (.@r <= 32250) getitem 4389,1; //Plasma_Card + else if (.@r <= 32301) getitem 4390,1; //Breeze_Card + else if (.@r <= 32352) getitem 4391,1; //Retribution_Card + else if (.@r <= 32403) getitem 4393,1; //Shelter_Card + else if (.@r <= 32454) getitem 4400,1; //Aliza_Card + else if (.@r <= 32505) getitem 4401,1; //Alicel_Card + else if (.@r <= 32556) getitem 4404,1; //Skogul_Card + else if (.@r <= 32607) getitem 4405,1; //Frus_Card + else if (.@r <= 32658) getitem 4406,1; //Skeggiold_Card + else if (.@r <= 32709) getitem 4409,1; //Agav_Card + else if (.@r <= 32760) getitem 4410,1; //Echio_Card + else if (.@r <= 32811) getitem 4414,1; //Seeker_Card + else if (.@r <= 32862) getitem 4417,1; //Ice_Titan_Card + else if (.@r <= 32913) getitem 4418,1; //Gazeti_Card + else if (.@r <= 32964) getitem 4420,1; //Muscipular_Card + else if (.@r <= 33015) getitem 4421,1; //Drosera_Card + else if (.@r <= 33066) getitem 4422,1; //Roween_Card + else if (.@r <= 33117) getitem 4423,1; //Galion_Card + else if (.@r <= 33168) getitem 4432,1; //Magmaring_Card + else if (.@r <= 33219) getitem 4434,1; //Knocker_Card + else if (.@r <= 33270) getitem 4435,1; //Zombie_Slaughter_Card + else if (.@r <= 33321) getitem 4436,1; //Ragged_Zombie_Card + else if (.@r <= 33372) getitem 4437,1; //Hell_Poodle_Card + else if (.@r <= 33423) getitem 4438,1; //Banshee_Card + else if (.@r <= 33474) getitem 4439,1; //Flame_Skull_Card + else if (.@r <= 33525) getitem 4442,1; //Tatacho_Card + else if (.@r <= 33576) getitem 4443,1; //Aqua_Elemental_Card + else if (.@r <= 33627) getitem 4444,1; //Draco_Card + else if (.@r <= 33678) getitem 4445,1; //Luciola_Vespa_Card + else if (.@r <= 33729) getitem 4447,1; //Centipede_Card + else if (.@r <= 33780) getitem 4448,1; //Cornus_Card + else if (.@r <= 33831) getitem 4449,1; //Dark_Shadow_Card + else if (.@r <= 33882) getitem 4450,1; //Banshee_Master_Card + else if (.@r <= 33933) getitem 4452,1; //Centipede_Larva_Card + else if (.@r <= 33939) getitem 4007,1; //Pecopeco_Egg_Card + else if (.@r <= 33945) getitem 4027,1; //Kukre_Card + else if (.@r <= 33951) getitem 4043,1; //Andre_Card + else if (.@r <= 33957) getitem 4052,1; //Elder_Wilow_Card + else if (.@r <= 33963) getitem 4055,1; //Marina_Card + else if (.@r <= 33969) getitem 4060,1; //Goblin_Card + else if (.@r <= 33975) getitem 4063,1; //Caramel_Card + else if (.@r <= 33981) getitem 4066,1; //Orc_Warrior_Card + else if (.@r <= 33987) getitem 4069,1; //Drainliar_Card + else if (.@r <= 33993) getitem 4074,1; //BigFoot_Card + else if (.@r <= 33999) getitem 4079,1; //Mantis_Card + else if (.@r <= 34005) getitem 4085,1; //Orc_Skeleton_Card + else if (.@r <= 34011) getitem 4089,1; //Sword_Fish_Card + else if (.@r <= 34017) getitem 4091,1; //Kobold_Card + else if (.@r <= 34023) getitem 4097,1; //Matyr_Card + else if (.@r <= 34029) getitem 4098,1; //Dokebi_Card + else if (.@r <= 34035) getitem 4099,1; //Pasana_Card + else if (.@r <= 34041) getitem 4293,1; //Cookie_Card + else if (.@r <= 34047) getitem 4111,1; //Strouf_Card + else if (.@r <= 34053) getitem 4120,1; //Petit__Card + else if (.@r <= 34059) getitem 4139,1; //Joker_Card + else if (.@r <= 34065) getitem 4160,1; //Antique_Firelock_Card + else if (.@r <= 34071) getitem 4210,1; //Wander_Man_Card + else if (.@r <= 34077) getitem 4216,1; //Sasquatch_Card + else if (.@r <= 34083) getitem 4255,1; //Orc_Lady_Card + else if (.@r <= 34089) getitem 4256,1; //Orc_Archer_Card + else if (.@r <= 34095) getitem 4262,1; //Evil_Cloud_Hermit_Card + else if (.@r <= 34101) getitem 4264,1; //Wind_Ghost_Card + else if (.@r <= 34107) getitem 4279,1; //Deleter_Card + else if (.@r <= 34113) getitem 4283,1; //Greatest_General_Card + else if (.@r <= 34119) getitem 4284,1; //Chepet_Card + else if (.@r <= 34125) getitem 4300,1; //Chimera_Card + else if (.@r <= 34131) getitem 4327,1; //Blood_Butterfly_Card + else if (.@r <= 34137) getitem 4362,1; //Harword_Card + else if (.@r <= 34143) getitem 4366,1; //Katrinn_Card + else if (.@r <= 34149) getitem 4378,1; //Acidus_Card + else if (.@r <= 34155) getitem 4395,1; //Tha_Maero_Card + else if (.@r <= 34161) getitem 4411,1; //Vanberk_Card + else if (.@r <= 34167) getitem 4412,1; //Isilla_Card + else if (.@r <= 34173) getitem 4030,1; //Mandragora_Card + else if (.@r <= 34179) getitem 4035,1; //Hydra_Card + else if (.@r <= 34185) getitem 4044,1; //Smokie_Card + else if (.@r <= 34191) getitem 4049,1; //Vadon_Card + else if (.@r <= 34197) getitem 4051,1; //Yoyo_Card + else if (.@r <= 34199) getitem 4058,1; //Thara_Frog_Card + else if (.@r <= 34201) getitem 4065,1; //Kaho_Card + else if (.@r <= 34203) getitem 4077,1; //Phen_Card + else if (.@r <= 34205) getitem 4083,1; //Rafflesia_Card + else if (.@r <= 34207) getitem 4086,1; //Soldier_Skeleton_Card + else if (.@r <= 34209) getitem 4126,1; //Minorous_Card + else if (.@r <= 34211) getitem 4136,1; //Khalitzburg_Card + else if (.@r <= 34213) getitem 4141,1; //Evil_Druid_Card + else if (.@r <= 34215) getitem 4205,1; //Mimic_Card + else if (.@r <= 34217) getitem 4209,1; //Violy_Card + else if (.@r <= 34219) getitem 4230,1; //Shinobi_Card + else if (.@r <= 34221) getitem 4237,1; //Owl_Duke_Card + else if (.@r <= 34223) getitem 4277,1; //Zherlthsh_Card + else if (.@r <= 34225) getitem 4281,1; //Zipper_Bear_Card + else if (.@r <= 34227) getitem 4317,1; //Mobster_Card + else if (.@r <= 34229) getitem 4334,1; //Noxious_Card + else if (.@r <= 34231) getitem 4354,1; //Gemini_Card + else if (.@r <= 34233) getitem 4359,1; //B_Eremes_Card + else if (.@r <= 34235) getitem 4368,1; //Shecil_Card + else if (.@r <= 34237) getitem 4375,1; //Orc_Baby_Card + else if (.@r <= 34239) getitem 4379,1; //Acidus__Card + else if (.@r <= 34241) getitem 4381,1; //Ferus__Card + else if (.@r <= 34243) getitem 4394,1; //Solace_Card + else if (.@r <= 34245) getitem 4397,1; //Tha_Despero_Card + else if (.@r <= 34247) getitem 4402,1; //Aliot_Card + else if (.@r <= 34249) getitem 4416,1; //Siroma_Card + else if (.@r <= 34251) getitem 4424,1; //Stapo_Card + else if (.@r <= 34253) getitem 4429,1; //Salamander_Card + else if (.@r <= 34255) getitem 4431,1; //Kasa_Card + else if (.@r <= 34257) getitem 4433,1; //Imp_Card + else if (.@r <= 34259) getitem 4440,1; //Necromancer_Card + else if (.@r <= 34261) { + if (rand(1,10) == 1) + getitem 4396,1; //Tha_Odium_Card + else + getitem 4092,1; //Skel_Worker_Card + } + mes "[Terminator RX1]"; + mes "All cards have finished."; + next; + mes "[Terminator RX1]"; + mes "Thank you for coming!"; + close; + case 5: + mes "[Terminator RX1]"; + mes "Found unauthorized signal, starting security system..."; + close2; + warp "comodo",263,286; + end; + } + close; + +L_Exchange: + freeloop(1); + .@args = getargcount(); + for (.@i = 0; .@i < .@args; .@i++) { + if (countitem(getarg(.@i))) { + mes "Found ^980078" + getitemname(getarg(.@i)) + "^000000,"; + mes "Do you want to exchange ONE Card into ONE Coin?"; + next; + switch(select("No:Yes")) { + case 1: + mes "^980078Do you want search for other cards?^000000"; + next; + if(select("No:Yes") == 1) { + mes "^980078Card searching is interrupted^000000"; + close; + } + break; + case 2: + if (countitem(getarg(.@i))) { + delitem getarg(.@i),1; + getitem 6379,1; //Card_Coin + mes "^980078" + getitemname(getarg(.@i)) + " has exchanged into Coin.^000000"; + next; + } else { + mes "^980078Your inventory does not contain the card for exchange.^000000"; + next; + } + break; + } + } + } + freeloop(0); + return; +} diff --git a/re/merchants/card_separation.txt b/re/merchants/card_separation.txt index 3bad9ce..fc63f27 100644 --- a/re/merchants/card_separation.txt +++ b/re/merchants/card_separation.txt @@ -20,7 +20,7 @@ mes "You have too many kinds of objects. Let's try to continue after reducing those objects."; close; } - if (MaxWeight - Weight < 10000) { + if (MaxWeight - Weight < 1000) { mes "Can't continue because you have too many heavy objects. Let's try to continue after reducing the weight."; close; } @@ -285,6 +285,11 @@ set .@equip_id, getequipid(.@equip_num); set .@equip_refine, getequiprefinerycnt(.@equip_num); + + // anti-hack + if (callfunc("F_IsEquipCardHack", .@equip_num, .@equip_card[0], .@equip_card[1], .@equip_card[2], .@equip_card[3])) + close; + delequip .@equip_num; // Chance of retaining refine level. @@ -356,5 +361,5 @@ mes "That is all for the results of the card separation. Please come again."; close; } -malangdo,215,166,4 duplicate(CardSeparation_mal) Jeremy#pa0829 553 -malangdo,208,166,6 duplicate(CardSeparation_mal) Richard#pa0829 559 +malangdo,215,166,4 duplicate(CardSeparation_mal) Jeremy#pa0829 553 // Armors :: mal_yong +malangdo,208,166,6 duplicate(CardSeparation_mal) Richard#pa0829 559 // Weapons :: soc_weapon diff --git a/re/merchants/cash_trader-idRO.txt b/re/merchants/cash_trader-idRO.txt new file mode 100644 index 0000000..0de85df --- /dev/null +++ b/re/merchants/cash_trader-idRO.txt @@ -0,0 +1,349 @@ +//===== rAthena Script ======================================= +//= idRO Cash Shop NPCs +//===== By: ================================================== +//= Cydh +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= Sells cash shop items based on idRO's cash shop. +//===== Additional Comments: ================================= +//= 1.0 Initial release. 2014-Jan-13 [Cydh] +//= 1.1 2014-Jan-18 [Cydh] +// - Fixed the item list +// - Added NPC placement for some maps +//= 1.2 2014-Feb-4 [Cydh] +// - Added Cash Trader with special offer for Chinese New Year +//============================================================ + +// Main NPCs +//============================================================ +- cashshop idROCK::idRO_kafra 721,12202:150,12203:150,12204:150,12205:150,12206:150,12207:150,12208:200,12209:250,12909:375,12910:375,12213:25000,12214:250,12215:150,12216:150,12217:150,12218:150,12219:150,12220:150,7619:200,7620:150,7621:100,12210:200,5210:20000,2234:10000,2235:10000,2271:10000,5229:7500,5227:7500,5229:7500,5233:7500,5231:7500,5232:7500,5230:7500,5236:7500,5235:7500,5237:7500,5241:7500,5240:7500,5238:7500,5239:7500,5242:7500,5294:12500,5292:12500,5291:12500,5284:12500,5139:12500,5140:12500,13569:350,13849:250,13850:450,13851:250,13852:450,13853:250,13854:450,13855:205,13856:450,13857:400,13858:750,13905:5500,13906:32500,13907:2750,13908:20000,13909:1000,13910:3750,5478:12500,5385:12500,5137:12500,5491:12500,5335:12500,5463:12500,5293:12500,5198:12500,5289:12500,5258:12500,5143:12500,5334:12500,5099:12500,5211:12500,5333:12500,5288:12500,5257:12500,5285:12500,5189:12500,5146:12500,5142:12500,5138:12500,5188:12500,5212:12500,5181:12500,5182:12500,5129:12500,5185:12500,5186:12500,5253:12500,5256:12500,5287:12500,5490:12500,5501:12500,5502:12500,5498:12500,5495:12500,5503:12500,5499:12500,5505:12500,5496:12500,2289:5000,5066:5000,5003:5000,5497:12500,5504:6250,5508:12500,5467:12500,13420:12500,5364:12500,5546:12500,5545:12500,2291:725,2274:4250,5550:12500,5549:12500,5547:12500,5657:7500,5548:7500,5537:12500,5538:12500,5539:12500,5470:12500,5471:12500,5511:12500,5526:12500,5529:12500,5527:12500,5509:12500,5363:12500,5395:12500,5464:12500,5563:12500,5528:12500,5558:12500,5554:12500,5555:12500,5556:12500,5557:12500,5514:12500,5515:12500,5316:12500,6240:7500,6241:10000,5396:12500,5573:12500,15008:12500,7823:100,5584:12500,5765:12500,5766:12500,5767:12500,2855:12500,5789:12500,5790:12500,5776:12500,5413:12500,5594:12500,5585:12500,17079:12500,18533:12500,5777:12500,18531:12500,6114:100,6115:100,5148:12500,5530:12500,5359:15000,18616:7500,18618:10000,18626:15000,18589:12500,18596:12500,18619:12500,18620:12500,19507:12500,19515:12500,19517:12500,19516:12500,19509:12500,19510:10000,19513:7500,19514:7500,6046:2500,6047:2500 +- cashshop idROCK2::idRO_kafra2 80,19518:12500,19519:12500,19520:12500,19521:12500,19522:12500,15058:12500,2888:5000,2751:5000,2573:35000,18630:12500,18636:12500,18665:12500,18666:12500,18676:12500,18679:12500,18681:12500,5575:12500,5591:12500,18872:12500,17126:2250,6225:15000,6226:11250,6104:100,6108:100,6112:100,6097:100,18574:12500,18697:12500,18698:12500,18729:12500,2936:12500,2177:12500,18692:12500,18694:12500,18695:12500,17106:15000,7776:2000,5045:12500,14616:250,14617:250,14618:250,14619:250,14620:250,14621:250,16770:4750,16771:19000,16979:2000,18642:12500,18643:12500,18644:12500,7825:5000,5403:12500,5020:12500,18713:12500,18759:12500 +- cashshop idROCC::idRO_cons 721,633:125,619:125,620:125,621:125,622:125,623:125,624:125,625:125,626:125,627:125,628:125,629:125,630:125,631:125,632:125,635:125,636:125,640:125,644:25,659:125,984:50,985:75,989:1250,13814:2000,634:250,505:25,13531:150,13532:250,13533:400,13534:750,13535:250,13536:500,13537:650,642:750,641:750,684:100,638:750,639:750,975:1500,976:1500,978:1500,979:1500,980:1500,981:1500,982:1500,983:1500,554:100,14293:300,14294:1200,13569:350,13849:250,13850:450,13851:250,13852:450,13853:250,13854:450,13855:205,13856:450,13857:400,13858:750,13905:5500,13906:32500,13907:2750,13908:20000,13909:1000,13910:3750,12350:200,12351:150,12375:250,660:850,661:850,13834:2000,6223:75,6224:100637:150,7823:100,17079:500,6110:100 +- cashshop idROCC2::idRO_cons2 80,6114:100,6115:100,6098:100,6100:100,6110:100,17126:2250,6225:15000,6226:11250,6104:100,6108:100,6112:100,6097:100,18574:12500,18697:12500,18698:12500,18729:12500,2936:12500,2177:12500,18692:12500,18694:12500,18695:12500,17106:15000,7776:2000,5045:12500,14616:250,14617:250,14618:250,14619:250,14620:250,14621:250,16770:4750,16771:19000,16979:2000,18642:12500,18643:12500,18644:12500,7825:5000,5403:12500,5020:12500,18713:12500,18759:12500 +- cashshop idROCG::idRO_gear 721,5380:15000,5381:15000,5382:15000,2214:6250,2217:500,2227:500,2229:625,2252:1250,2280:1250,2285:6250,2287:2500,5112:500,5114:1250,2278:75,2281:1250,5087:375,5088:375,5089:375,5090:375,2225:500,2264:2500,5046:2500,2213:2500,2269:2500,2270:2500,2299:2500,5008:2500,5082:625,2245:6250,2286:6250,5014:1250,2296:1250,5118:2500,2248:6250,5035:7500,2254:10000,2233:750,2231:750,2255:5000,2258:6250,2295:7500,5026:8000,5032:7500,5210:20000,2234:10000,2235:10000,2271:10000,5229:7500,5227:7500,5229:7500,5233:7500,5231:7500,5232:7500,5230:7500,5236:7500,5235:7500,5237:7500,5241:7500,5240:7500,5238:7500,5239:7500,5242:7500,5294:12500,5292:12500,5291:12500,5284:12500,5139:12500,5140:12500,5213:12500,5286:12500,2249:7500,5054:1250,5151:12500,5431:12500,5410:12500,5478:12500,5385:12500,5137:12500,5491:12500,5335:12500,5463:12500,5293:12500,5198:12500,5289:12500,5258:12500,5143:12500,5334:12500,5099:12500,5211:12500,5333:12500,5288:12500,5257:12500,5285:12500,5189:12500,5146:12500,5142:12500,5138:12500,5188:12500,5212:12500,5181:12500,5182:12500,5129:12500,5185:12500,5186:12500,5253:12500,5256:12500,5287:12500,5490:12500,5501:12500,5502:12500,5498:12500,5495:12500,5503:12500,5499:12500,5505:12500,5496:12500,2289:5000,5066:5000,5003:5000,5497:12500,5504:6250,5508:12500,5467:12500,13420:12500,5364:12500,5546:12500,5545:12500,2291:725,2274:4250,5550:12500,5549:12500,5547:12500,5657:7500,5548:7500,5537:12500,5538:12500,5539:12500,5470:12500,5471:12500,5511:12500,5526:12500,5529:12500,5527:12500,5509:12500,5363:12500,5395:12500,5464:12500,5563:12500,5528:12500,5558:12500,5554:12500,5555:12500,5556:12500,5557:12500,5514:12500,5515:12500,5316:12500,5573:12500,5172:5000,5413:12500,5594:12500,5585:12500,18533:12500,5777:12500,18531:12500,5148:12500,5530:12500,5359:15000,18616:7500,18618:10000,18626:15000,18589:12500,18596:12500,18619:12500,18620:12500 +- cashshop idROCG2::idRO_gear2 80,19518:12500,19519:12500,19520:12500,19521:12500,19522:12500,15058:12500,2888:5000,2751:5000,2573:35000,18630:12500,18636:12500,18665:12500,18666:12500,18676:12500,18679:12500,18681:12500,5575:12500,5591:12500,18872:12500 +- cashshop idROCE::idRO_eq 721,2102:625,2104:625,2106:750,2120:375,2310:375,2313:500,2315:1250,2317:1875,2322:1250,2326:1250,2331:1875,2339:125,2342:1875,2404:500,2406:625,2412:750,2502:250,2504:625,2506:1250,1117:250,1155:375,1162:750,1158:750,1251:625,1253:750,1352:375,1355:375,1361:625,1464:625,13300:625,13302:625,1705:375,1716:750,1715:625,13101:375,13103:625,13105:625,13157:625,1125:625,1127:625,1128:625,1120:750,1208:250,1217:375,1220:625,1408:250,1517:625,1520:625,1551:375,1602:250,1608:250,1611:375,1802:375,1810:625,1902:250,1908:375,1910:375,1912:375,1953:625,1962:625,13006:625,13008:625,1261:3750,1133:3750,1468:3750,1236:3750,1719:3750,1557:2500,1615:2500,1363:3750,1524:3750,1558:250,7170:500,2338:500,2311:750,13150:2500,1259:5000,1164:5000,13012:2500,2345:2500,2347:2500,2349:2500,2351:2500,1472:10000,1132:7500,1131:7500,1226:750,13015:1050,1111:850,1461:1050,1514:850,1726:1050,1806:625,1906:750,1951:325,1957:625,13304:850,13152:750,13107:850,2320:850,2359:850,2409:750,1919:2500,13404:8250,1255:1250,13153:850,2531:7500,2108:1050,2125:5000,13011:325,1152:375,1455:375,1358:625,1108:250,1511:375,1711:500,1808:625,1605:375,1505:250,13420:12500,1731:7500,1730:7500,1732:7500,1733:7500,1564:4250,13164:1250,1532:1250,1812:850,1256:5000,1258:5000,1257:5000,1822:7500,1820:7500,1819:7500,1818:7500,1821:7500,1458:625,1307:5000,1262:2500,1968:500,1264:750,13156:1050,1974:5000,13034:7500,1260:5000,1188:4250,1548:4250,1736:850,1971:5000,1629:5000,1916:4250,1734:4250,1825:5000,1914:4250,1917:4250,1915:4250,1904:1050,1918:2500,1967:5000,1966:5000,1965:5000,1969:4250,15008:12500,2148:3750,1630:1250,2138:3750,2521:1000,2420:1000,2355:1000,2116:1000,1485:750,1980:1875,13038:3750,1290:3750,1392:10000 +- cashshop idROCE2::idRO_eq2 80,1393:10000,1659:7500,13070:5000,18109:3750,15058:12500,2573:35000 +- cashshop idROCA::idRO_acc 721,2607:1875,2617:1875,2601:1875,2602:1875,2603:1875,2604:1875,2605:1875,2618:1875,10003:250,10007:250,10009:250,10010:250,10011:250,10012:250,10015:250,10017:250,10020:1250,4002:1250,4003:3750,4004:1250,4006:1250,4008:1250,4021:1250,4022:1250,4027:1250:4028:1250,4032:1250,4034:1250,4035:5000,4038:1250,4043:1875,4049:1875,4053:5000,4058:5000,4069:1875,4077:5000,4086:5000,4097:1875,4102:5000,4106:1875,4133:5000,4044:3750,4052:1250,4100:1875,4042:1875,4023:1250,4014:1250,4107:1875,4091:1875,2619:3750,2625:5000,2622:5000,2624:5000,2623:5000,2621:5000,2626:5000,4092:5000,7825:5000,4105:7500,10004:500,10001:1500,4064:7500,4073:5000,4205:7500,4062:5000,4065:7500,4030:5000,4085:5000,4005:7500,4130:7500,4202:7500,4015:3750,4056:5000,4070:5000,4082:3750,4126:3750,4031:3250,4045:3250,4074:3250,4160:4250,4229:6250,4296:3250,4161:3750,4094:3750,4109:3750,4089:3750,4081:3750,4084:3250,4288:3750,4050:1875,4252:1250,4234:1850,4327:6250,4117:1250,4334:3750,4255:3750,4269:3750,4218:7500,4055:1850,4199:5000,2652:3750,4193:2000,4293:1875,4258:1250,4112:7500,4294:2000,4337:1250,4340:5000,4382:3250,4402:6250,4378:6250,4371:5000,4060:1875,4157:1875,4310:1875,4156:1875,4155:3750 +- cashshop idROCA2::idRO_acc2 80,4253:7500,4113:3750,4268:2000,2888:5000,2751:5000 +- cashshop idROCR::idRO_rental 874,12936:625,13775:925,13770:1000,13767:1000,13772:625,13768:925,12944:925,12940:625,13956:925,13954:1000,13955:1000,13958:1000,13957:1000,12951:625,12953:625,13783:625,13784:925,13953:652,12947:652,12948:652,12949:652,13502:652,13778:925,13779:625,13782:925,12938:1000,13952:925,12937:1000,13766:1000,13773:625,14321:1000,14322:925,14323:925,14324:925,14325:925,14326:925,14327:925,14328:925,14329:925,14330:925,14426:925,14427:925,14428:925,14429:1000,14430:1000,14431:1000,14432:1250,14433:1500,14434:1500,14435:625,14436:625,14437:925,14242:925,14243:925,14244:925,14245:925,14246:925,14247:925,14248:925,14249:925,14250:925,14251:925,14252:1500,14253:1500,14254:1500,14255:1500,14256:1500,14257:1500,14258:1500,14259:1500,14260:1500,14261:1500,13771:1000,13654:925,13656:625,13653:925,13663:625,13671:925,13672:925,13673:925,13674:925,13675:925,13650:925,13657:925,16638:625,16639:1000,16374:625,16389:1000,16372:625,16385:1000,17396:1250,17397:7000,17398:1250,17399:7000,17416:1250,17417:7000,17422:1250,17423:7000,16628:10000,17311:2000,17404:1250,17405:7000,17408:1250,17409:7000,17418:1250,17419:7000,17420:1250,17421:7000,16625:10000,17308:2000,17400:1250,17401:7000,17406:1250,17407:7000,17410:1250,17411:7000,17412:1250,17413:7000,17414:1250,17415:7000,17424:1250,17425:7000,17426:1250,17427:7000,16682:2500 + +// Payon +//============================================================ +payon,172,128,3 duplicate(idRO_kafra) Kafra Shop#pay 721 +payon,172,130,3 duplicate(idRO_kafra2) Kafra Shop 2#pay 80 +payon,175,128,3 duplicate(idRO_cons) Consumable#pay 721 +payon,175,130,3 duplicate(idRO_cons2) Consumable 2#pay 80 +payon,178,128,3 duplicate(idRO_gear) Headgear#pay 721 +payon,178,130,3 duplicate(idRO_gear2) Headgear 2#pay 80 +payon,181,128,3 duplicate(idRO_eq) Equipment#pay 721 +payon,181,130,3 duplicate(idRO_eq2) Equipment 2#pay 80 +payon,184,128,3 duplicate(idRO_acc) Acc and Kartu#pay 721 +payon,184,130,3 duplicate(idRO_acc2) Acc and Kartu 2#pay 80 +payon,187,128,3 duplicate(idRO_rental) Rental Shop#pay 874 + +payon,184,104,3 duplicate(idRO_kafra) Kafra Shop#pay-1 721 +payon,183,104,3 duplicate(idRO_kafra2) Kafra Shop 2#pay-1 80 +payon,188,104,3 duplicate(idRO_rental) Rental Shop#pay-1 874 + +payon,177,226,3 duplicate(idRO_kafra) Kafra Shop#pay-2 721 +payon,178,226,3 duplicate(idRO_kafra2) Kafra Shop 2#pay-2 80 +payon,181,226,3 duplicate(idRO_rental) Rental Shop#pay-2 874 + +// Archer Village +//============================================================ +pay_arche,57,125,3 duplicate(idRO_kafra) Kafra Shop#payarc 721 +pay_arche,58,125,1 duplicate(idRO_kafra2) Kafra Shop 2#payarc 80 +pay_arche,61,125,8 duplicate(idRO_rental) Rental Shop#payarc 874 + +// Prontera +//============================================================ +// East-Gate +prontera,282,198,1 duplicate(idRO_kafra) Kafra Shop#prt-1 721 +prontera,282,197,1 duplicate(idRO_kafra2) Kafra Shop 2#prt-1 80 +prontera,282,194,1 duplicate(idRO_rental) Rental Shop#prt-1 874 + +// West-Gate +prontera,29,209,5 duplicate(idRO_kafra) Kafra Shop#prt-2 721 +prontera,29,210,5 duplicate(idRO_kafra2) Kafra Shop 2#prt-2 80 +prontera,32,212,5 duplicate(idRO_rental) Rental Shop#prt-2 874 + +// South +prontera,146,91,5 duplicate(idRO_kafra) Kafra Shop#prt-3 721 +prontera,146,92,5 duplicate(idRO_kafra2) Kafra Shop 2#prt-3 80 +prontera,146,95,5 duplicate(idRO_rental) Rental Shop#prt-3 874 + +// South-Gate +prontera,149,29,8 duplicate(idRO_kafra) Kafra Shop#prt-4 721 +prontera,148,29,8 duplicate(idRO_kafra2) Kafra Shop 2#prt-4 80 +prontera,145,29,8 duplicate(idRO_rental) Rental Shop#prt-4 874 + +// Center +prontera,164,183,3 duplicate(idRO_kafra) Kafra Shop#prt 721 +prontera,164,185,3 duplicate(idRO_kafra2) Kafra Shop 2#prt 80 +prontera,151,183,3 duplicate(idRO_cons) Consumable#prt 721 +prontera,151,185,3 duplicate(idRO_cons2) Consumable 2#prt 80 +prontera,154,183,3 duplicate(idRO_gear) Headgear#prt 721 +prontera,154,185,3 duplicate(idRO_gear2) Headgear 2#prt 80 +prontera,157,183,3 duplicate(idRO_eq) Equipment#prt 721 +prontera,157,185,3 duplicate(idRO_eq2) Equipment 2#prt 80 +prontera,161,183,3 duplicate(idRO_acc) Acc and Kartu#prt 721 +prontera,161,185,3 duplicate(idRO_acc2) Acc and Kartu 2#prt 80 +prontera,148,183,3 duplicate(idRO_rental) Rental Shop#prt 874 + +// Izlude +//============================================================ +izlude,135,99,3 duplicate(idRO_kafra) Kafra Shop#izl-1 721 +izlude,135,100,3 duplicate(idRO_kafra2) Kafra Shop 2#izl-1 80 +izlude,135,102,3 duplicate(idRO_rental) Rental Shop#izl-1 874 + +// Center +izlude,135,142,3 duplicate(idRO_kafra) Kafra Shop#izl 721 +izlude,135,144,3 duplicate(idRO_kafra2) Kafra Shop 2#izl 80 +izlude,124,142,3 duplicate(idRO_cons) Consumable#izl 721 +izlude,124,144,3 duplicate(idRO_cons2) Consumable 2#izl 80 +izlude,127,142,3 duplicate(idRO_gear) Headgear#izl 721 +izlude,127,144,3 duplicate(idRO_gear2) Headgear 2#izl 80 +izlude,130,142,3 duplicate(idRO_eq) Equipment#izl 721 +izlude,130,144,3 duplicate(idRO_eq2) Equipment 2#izl 80 +izlude,133,142,3 duplicate(idRO_acc) Acc and Kartu#izl 721 +izlude,133,144,3 duplicate(idRO_acc2) Acc and Kartu 2#izl 80 +izlude,121,142,3 duplicate(idRO_rental) Rental Shop#izl 874 + +/* Pre-Renewal locations */ + +//izlude,134,86,3 duplicate(idRO_kafra) Kafra Shop#izl-1 721 +//izlude,134,85,3 duplicate(idRO_kafra2) Kafra Shop 2#izl-1 80 +//izlude,134,91,3 duplicate(idRO_rental) Rental Shop#izl-1 874 + +// Center +//izlude,136,113,3 duplicate(idRO_kafra) Kafra Shop#izl 721 +//izlude,136,115,3 duplicate(idRO_kafra2) Kafra Shop 2#izl 80 +//izlude,124,113,3 duplicate(idRO_cons) Consumable#izl 721 +//izlude,124,115,3 duplicate(idRO_cons2) Consumable 2#izl 80 +//izlude,127,113,3 duplicate(idRO_gear) Headgear#izl 721 +//izlude,127,115,3 duplicate(idRO_gear2) Headgear 2#izl 80 +//izlude,130,113,3 duplicate(idRO_eq) Equipment#izl 721 +//izlude,130,115,3 duplicate(idRO_eq2) Equipment 2#izl 80 +//izlude,133,113,3 duplicate(idRO_acc) Acc and Kartu#izl 721 +//izlude,133,115,3 duplicate(idRO_acc2) Acc and Kartu 2#izl 80 +//izlude,121,113,3 duplicate(idRO_rental) Rental Shop#izl 874 + +// Byalan +//============================================================ +izlu2dun,108,57,3 duplicate(idRO_kafra) Kafra Shop#byl 721 +izlu2dun,109,57,3 duplicate(idRO_kafra2) Kafra Shop 2#byl 80 +izlu2dun,104,57,3 duplicate(idRO_rental) Rental Shop#byl 874 + +// Alberta +//============================================================ +// Center +alberta,113,63,5 duplicate(idRO_kafra) Kafra Shop#alb-1 721 +alberta,114,64,3 duplicate(idRO_kafra2) Kafra Shop 2#alb-1 80 +alberta,110,59,5 duplicate(idRO_rental) Rental Shop#alb-1 874 + +// Left-Top +alberta,32,229,8 duplicate(idRO_kafra) Kafra Shop#alb-2 721 +alberta,31,229,8 duplicate(idRO_kafra2) Kafra Shop 2#alb-2 80 +alberta,34,229,8 duplicate(idRO_rental) Rental Shop#alb-2 874 + +alberta,25,238,3 duplicate(idRO_kafra) Kafra Shop#alb 721 +alberta,25,240,3 duplicate(idRO_kafra2) Kafra Shop 2#alb 80 +alberta,27,238,3 duplicate(idRO_cons) Consumable#alb 721 +alberta,27,240,3 duplicate(idRO_cons2) Consumable 2#alb 80 +alberta,30,238,3 duplicate(idRO_gear) Headgear#alb 721 +alberta,30,240,3 duplicate(idRO_gear2) Headgear 2#alb 80 +alberta,33,238,3 duplicate(idRO_eq) Equipment#alb 721 +alberta,33,240,3 duplicate(idRO_eq2) Equipment 2#alb 80 +alberta,37,238,3 duplicate(idRO_acc) Acc and Kartu#alb 721 +alberta,37,240,3 duplicate(idRO_acc2) Acc and Kartu 2#alb 80 +alberta,40,238,3 duplicate(idRO_rental) Rental Shop#alb 874 + +// Brasilis +//============================================================ +brasilis,199,218,3 duplicate(idRO_kafra) Kafra Shop#bra 721 +brasilis,198,220,3 duplicate(idRO_kafra2) Kafra Shop 2#bra 80 +brasilis,191,218,3 duplicate(idRO_cons) Consumable#bra 721 +brasilis,190,220,3 duplicate(idRO_cons2) Consumable 2#bra 80 +brasilis,193,218,3 duplicate(idRO_gear) Headgear#bra 721 +brasilis,192,220,3 duplicate(idRO_gear2) Headgear 2#bra 80 +brasilis,195,218,3 duplicate(idRO_eq) Equipment#bra 721 +brasilis,194,220,3 duplicate(idRO_eq2) Equipment 2#bra 80 +brasilis,197,218,3 duplicate(idRO_acc) Acc and Kartu#bra 721 +brasilis,196,220,3 duplicate(idRO_acc2) Acc and Kartu 2#bra 80 +brasilis,201,218,3 duplicate(idRO_rental) Rental Shop#bra 874 + +// Amatsu +//============================================================ +amatsu,101,147,3 duplicate(idRO_kafra) Kafra Shop#ama 721 +amatsu,100,146,5 duplicate(idRO_kafra2) Kafra Shop 2#ama 80 +amatsu,100,144,5 duplicate(idRO_rental) Rental Shop#ama 874 + +// Ayothaya +//============================================================ +ayothaya,212,171,5 duplicate(idRO_kafra) Kafra Shop#ayo 721 +ayothaya,212,172,5 duplicate(idRO_kafra2) Kafra Shop 2#ayo 80 +ayothaya,212,175,5 duplicate(idRO_rental) Rental Shop#ayo 874 + +// Louyang +//============================================================ +louyang,208,102,3 duplicate(idRO_kafra) Kafra Shop#lou 721 +louyang,207,102,3 duplicate(idRO_kafra2) Kafra Shop 2#lou 80 +louyang,205,102,3 duplicate(idRO_rental) Rental Shop#lou 874 + +// Dewata +//============================================================ +dewata,204,178,3 duplicate(idRO_kafra) Kafra Shop#dew 721 +dewata,204,180,3 duplicate(idRO_kafra2) Kafra Shop 2#dew 80 +dewata,192,178,3 duplicate(idRO_cons) Consumable#dew 721 +dewata,192,180,3 duplicate(idRO_cons2) Consumable 2#dew 80 +dewata,195,178,3 duplicate(idRO_gear) Headgear#dew 721 +dewata,195,180,3 duplicate(idRO_gear2) Headgear 2#dew 80 +dewata,198,178,3 duplicate(idRO_eq) Equipment#dew 721 +dewata,198,180,3 duplicate(idRO_eq2) Equipment 2#dew 80 +dewata,201,178,3 duplicate(idRO_acc) Acc and Kartu#dew 721 +dewata,201,180,3 duplicate(idRO_acc2) Acc and Kartu 2#dew 80 +dewata,207,178,3 duplicate(idRO_rental) Rental Shop#dew 874 + +// Juno +//============================================================ +// Center +yuno,149,187,3 duplicate(idRO_kafra) Kafra Shop#yun-1 721 +yuno,148,187,3 duplicate(idRO_kafra2) Kafra Shop 2#yun-1 80 +yuno,146,187,3 duplicate(idRO_rental) Rental Shop#yun-1 874 + +// Right +yuno,329,108,3 duplicate(idRO_kafra) Kafra Shop#yun-2 721 +yuno,330,108,3 duplicate(idRO_kafra2) Kafra Shop 2#yun-2 80 +yuno,332,108,3 duplicate(idRO_rental) Rental Shop#yun-2 874 + +// Morocc +//============================================================ +// Center +morocc,154,97,3 duplicate(idRO_kafra) Kafra Shop#moc-1 721 +morocc,153,97,3 duplicate(idRO_kafra2) Kafra Shop 2#moc-1 80 +morocc,151,97,3 duplicate(idRO_rental) Rental Shop#moc-1 874 + +// Top +morocc,163,258,3 duplicate(idRO_kafra) Kafra Shop#moc-2 721 +morocc,162,258,3 duplicate(idRO_kafra2) Kafra Shop 2#moc-2 80 +morocc,165,258,3 duplicate(idRO_rental) Rental Shop#moc-2 874 + +morocc,167,261,3 duplicate(idRO_kafra) Kafra Shop#moc 721 +morocc,167,263,3 duplicate(idRO_kafra2) Kafra Shop 2#moc 80 +morocc,155,261,3 duplicate(idRO_cons) Consumable#moc 721 +morocc,155,263,3 duplicate(idRO_cons2) Consumable 2#moc 80 +morocc,158,261,3 duplicate(idRO_gear) Headgear#moc 721 +morocc,158,263,3 duplicate(idRO_gear2) Headgear 2#moc 80 +morocc,161,261,3 duplicate(idRO_eq) Equipment#moc 721 +morocc,161,263,3 duplicate(idRO_eq2) Equipment 2#moc 80 +morocc,164,261,3 duplicate(idRO_acc) Acc and Kartu#moc 721 +morocc,164,263,3 duplicate(idRO_acc2) Acc and Kartu 2#moc 80 +morocc,152,261,3 duplicate(idRO_rental) Rental Shop#moc 874 + +// Gonryun +//============================================================ +gonryun,156,122,3 duplicate(idRO_kafra) Kafra Shop#gon 721 +gonryun,155,122,3 duplicate(idRO_kafra2) Kafra Shop 2#gon 80 +gonryun,153,122,3 duplicate(idRO_rental) Rental Shop#gon 874 + +// Geffen +//============================================================ +// South +geffen,122,62,8 duplicate(idRO_kafra) Kafra Shop#gef-1 721 +geffen,122,60,3 duplicate(idRO_kafra2) Kafra Shop 2#gef-1 80 +geffen,124,62,8 duplicate(idRO_rental) Rental Shop#gef-1 874 + +// East +geffen,200,124,1 duplicate(idRO_kafra) Kafra Shop#gef-2 721 +geffen,201,124,3 duplicate(idRO_kafra2) Kafra Shop 2#gef-2 80 +geffen,198,124,1 duplicate(idRO_rental) Rental Shop#gef-2 874 + +// Center +geffen,129,103,3 duplicate(idRO_kafra) Kafra Shop#gef 721 +geffen,129,105,3 duplicate(idRO_kafra2) Kafra Shop 2#gef 80 +geffen,117,103,3 duplicate(idRO_cons) Consumable#gef 721 +geffen,117,105,3 duplicate(idRO_cons2) Consumable 2#gef 80 +geffen,120,103,3 duplicate(idRO_gear) Headgear#gef 721 +geffen,120,105,3 duplicate(idRO_gear2) Headgear 2#gef 80 +geffen,123,103,3 duplicate(idRO_eq) Equipment#gef 721 +geffen,123,105,3 duplicate(idRO_eq2) Equipment 2#gef 80 +geffen,126,103,3 duplicate(idRO_acc) Acc and Kartu#gef 721 +geffen,126,105,3 duplicate(idRO_acc2) Acc and Kartu 2#gef 80 +geffen,114,103,3 duplicate(idRO_rental) Rental Shop#gef 874 + +// Aldebaran +//============================================================ +aldebaran,146,119,3 duplicate(idRO_kafra) Kafra Shop#alde 721 +aldebaran,145,119,3 duplicate(idRO_kafra2) Kafra Shop 2#alde 80 +aldebaran,148,119,3 duplicate(idRO_rental) Rental Shop#alde 874 + +// Comodo +//============================================================ +comodo,198,148,3 duplicate(idRO_kafra) Kafra Shop#cmd 721 +comodo,200,148,3 duplicate(idRO_kafra2) Kafra Shop 2#cmd 80 +comodo,202,148,3 duplicate(idRO_rental) Rental Shop#cmd 874 + +// Comodo Pharos Beacon +//============================================================ +cmd_fild07,139,134,3 duplicate(idRO_kafra) Kafra Shop#pharos 721 +cmd_fild07,138,134,3 duplicate(idRO_kafra2) Kafra Shop 2#pharos 80 +cmd_fild07,141,134,3 duplicate(idRO_rental) Rental Shop#pharos 874 + +// Umbala +//============================================================ +umbala,90,159,3 duplicate(idRO_kafra) Kafra Shop#um 721 +umbala,89,159,3 duplicate(idRO_kafra2) Kafra Shop 2#um 80 +umbala,94,158,3 duplicate(idRO_rental) Rental Shop#um 874 + +// Hugel +//============================================================ +hugel,97,167,3 duplicate(idRO_kafra) Kafra Shop#hu 721 +hugel,95,167,3 duplicate(idRO_kafra2) Kafra Shop 2#hu 80 +hugel,100,167,3 duplicate(idRO_rental) Rental Shop#hu 874 + +// Einbroch +//============================================================ +// West +einbroch,58,200,8 duplicate(idRO_kafra) Kafra Shop#einbr 721 +einbroch,58,201,8 duplicate(idRO_kafra2) Kafra Shop 2#einbr 80 +einbroch,58,197,8 duplicate(idRO_rental) Rental Shop#einbr 874 + +// East +einbroch,245,205,3 duplicate(idRO_kafra) Kafra Shop#einbr-1 721 +einbroch,244,205,3 duplicate(idRO_kafra2) Kafra Shop 2#einbr-1 80 +einbroch,248,205,3 duplicate(idRO_rental) Rental Shop#einbr-1 874 + +// Einbech +//============================================================ +einbech,174,132,8 duplicate(idRO_kafra) Kafra Shop#ein 721 +einbech,175,132,8 duplicate(idRO_kafra2) Kafra Shop 2#ein 80 +einbech,170,132,8 duplicate(idRO_rental) Rental Shop#ein 874 + +// Lighthalzen +//============================================================ +lighthalzen,167,101,3 duplicate(idRO_kafra) Kafra Shop#lhz 721 +lighthalzen,166,101,3 duplicate(idRO_kafra2) Kafra Shop 2#lhz 80 +lighthalzen,169,103,3 duplicate(idRO_rental) Rental Shop#lhz 874 + +// Rachel +//============================================================ +rachel,98,131,3 duplicate(idRO_kafra) Kafra Shop#ra 721 +rachel,98,133,3 duplicate(idRO_kafra2) Kafra Shop 2#ra 80 +rachel,106,137,3 duplicate(idRO_cons) Consumable#ra 721 +rachel,104,139,3 duplicate(idRO_cons2) Consumable 2#ra 80 +rachel,104,135,3 duplicate(idRO_gear) Headgear#ra 721 +rachel,102,137,3 duplicate(idRO_gear2) Headgear 2#ra 80 +rachel,102,133,3 duplicate(idRO_eq) Equipment#ra 721 +rachel,100,135,3 duplicate(idRO_eq2) Equipment 2#ra 80 +rachel,100,131,3 duplicate(idRO_acc) Acc and Kartu#ra 721 +rachel,100,133,3 duplicate(idRO_acc2) Acc and Kartu 2#ra 80 +rachel,95,131,3 duplicate(idRO_rental) Rental Shop#ra 874 + +// Special Prices for Chinese New Year 2014 +//============================================================ +//- cashshop idROC2014::idRO_C2014 721,2936:6250,2177:6250,18574:6250,6225:7500,6226:5625,5381:7500,5210:10000,5294:6250,5463:6250,5335:6250,5256:6250,5495:6250,18630:6250,19518:6250,19519:6250,19520:6250,2573:6250,15058:6250,5490:6250,5498:6250,5253:6250,5502:6250,5526:6250,5529:6250,19509:6250,5359:7500,18729:6250,18666:6250,5284:6250,5471:6250,5467:6250,5363:6250,5546:6250,5334:6250,1472:5000,13420:6250,1392:5000,15008:6250,1731:3750,1825:2500,1261:1875,5545:6250,5550:6250,5549:6250,5515:6250,5514:6250,5470:6250,5505:6250,18695:6250,18694:6250 +//prontera,156,178,3 duplicate(idRO_C2014) Kafra Shop#C2014_prt 721 diff --git a/re/merchants/catalog.txt b/re/merchants/catalog.txt index fb6571c..458f53e 100644 --- a/re/merchants/catalog.txt +++ b/re/merchants/catalog.txt @@ -15,6 +15,8 @@ //= 1.1 Updated dialogue. [Euphy] //============================================================ +// Main NPC :: catalog_merchant +//============================================================ moc_para01,22,16,5 script Catalog Magician#catal01 704,{ if (!checkweight(1301,3)) { mes "- You have too many items. Please make space. -"; diff --git a/re/merchants/coin_exchange.txt b/re/merchants/coin_exchange.txt index b90f4ff..62729cf 100644 --- a/re/merchants/coin_exchange.txt +++ b/re/merchants/coin_exchange.txt @@ -3,8 +3,8 @@ //===== By: ================================================== //= rAthena Dev Team //===== Current Version: ===================================== -//= 1.2 -//===== Compatible With: ===================================== +//= 1.3 +//===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= [Official Conversion] @@ -13,9 +13,10 @@ //= 1.0 First version. [Euphy/Lemongrass] //= 1.1 Added remaining Malangdo traders. [Euphy/Lemongrass] //= 1.2 Added Eclage traders (not fully complete). [Euphy] +//= 1.3 Completed Eclage Traders. [Dastgir] //============================================================ -// Malangdo +// Malangdo Item Machines :: mal_yong //============================================================ malangdo,220,167,5 script Coin Exchanger CX-1 564,{ if (checkweight(1201,1) == 0) { @@ -36,22 +37,22 @@ malangdo,220,167,5 script Coin Exchanger CX-1 564,{ 6420, //Cgrade_Coin 6421, //Dgrade_Coin 6422; //Egrade_Coin - set .@menu$,"Stop:"; - for(set .@i,1; .@i<=6; set .@i,.@i+1) { + .@menu$ = "Stop:"; + for(.@i = 1; .@i<=6; .@i++) { if (countitem(.@coins[.@i])) - set .@menu$, .@menu$+getitemname(.@coins[.@i])+":"; + .@menu$ = .@menu$ + getitemname(.@coins[.@i]) + ":"; else - set .@menu$, .@menu$+"^aaaaaa"+getitemname(.@coins[.@i])+" (None)^000000:"; + .@menu$ = .@menu$ + "^aaaaaa"+getitemname(.@coins[.@i])+" (None)^000000:"; } - set .@i, select(.@menu$); + .@i = select(.@menu$); switch(.@i) { case 1: mes "[Coin Exchanger CX-1]"; mes "Thank you for coming."; close; default: - set .@coin, .@coins[.@i-1]; - set .@coin_select, .@i-1; + .@coin = .@coins[.@i-1]; + .@coin_select = .@i-1; break; } if (countitem(.@coin) == 0) { @@ -71,17 +72,17 @@ malangdo,220,167,5 script Coin Exchanger CX-1 564,{ setarray .@exchange_rate[0],30,10; setarray .@exchange_loss[0],rand(1,4),rand(1,2); // Amount deducted per exchange. setarray .@exchange_id[0],.@coins[.@coin_select-1],.@coins[.@coin_select+1]; - if (.@exchange_id[0] == .@coins[1]) set .@exchange_id[0],0; // Cannot exchange for Silvervine. - set .@menu$,"Stop:"; - for(set .@i,0; .@i<2; set .@i,.@i+1) { + if (.@exchange_id[0] == .@coins[1]) .@exchange_id[0] = 0; // Cannot exchange for Silvervine. + .@menu$ = "Stop:"; + for(.@i = 0; .@i<2; .@i++) { if (.@exchange_id[.@i] == 0) - set .@menu$, .@menu$+"^ff3333Unavailable exchange to "+.@exchange_name$[.@i]+" coin^000000:"; + .@menu$ = .@menu$ + "^ff3333Unavailable exchange to "+.@exchange_name$[.@i]+" coin^000000:"; else if (countitem(.@coin) < .@exchange_rate[.@i]) - set .@menu$, .@menu$+"^aaaaaaExchange to "+.@exchange_name$[.@i]+" coin (null)^000000:"; + .@menu$ = .@menu$ + "^aaaaaaExchange to "+.@exchange_name$[.@i]+" coin (null)^000000:"; else - set .@menu$, .@menu$+"Exchange to "+.@exchange_name$[.@i]+" coin - "+getitemname(.@coin)+" ("+.@exchange_rate[.@i]+" needed):"; + .@menu$ = .@menu$ + "Exchange to "+.@exchange_name$[.@i]+" coin - "+getitemname(.@coin)+" ("+.@exchange_rate[.@i]+" needed):"; } - set .@i, select(.@menu$)-2; + .@i = select(.@menu$)-2; if (.@i == -1) { mes "[Coin Exchanger CX-1]"; mes "Thank you for coming."; @@ -99,7 +100,7 @@ malangdo,220,167,5 script Coin Exchanger CX-1 564,{ mes "Thank you for coming."; close; } - set .@exchange_total, .@exchange_rate[(!.@i)] - .@exchange_loss[(!.@i)]; + .@exchange_total = .@exchange_rate[(!.@i)] - .@exchange_loss[(!.@i)]; delitem .@coin, .@exchange_rate[.@i]; getitem .@exchange_id[.@i], .@exchange_total; mes "[Coin Exchanger CX-1]"; @@ -131,10 +132,10 @@ malangdo,218,165,5 script Special Vending Machine 562,{ "Ordinary Lubricant",6440,36, "Sillit Pong",6443,192; L_AddItem: - set .@menu$,"Explanation:"; - for(set .@i,0; .@i= .@coin_amount[.@i]) - set .@menu$, .@menu$+"Exchange "+(.@coin_amount[.@i]/10)+" Mora Coin:"; + .@menu$ = .@menu$ + "Exchange "+(.@coin_amount[.@i]/10)+" Mora Coin:"; else - set .@menu$, .@menu$+"^aaaaaaExchange "+(.@coin_amount[.@i]/10)+" Mora Coin (Not Enough)^000000:"; + .@menu$ = .@menu$ + "^aaaaaaExchange "+(.@coin_amount[.@i]/10)+" Mora Coin (Not Enough)^000000:"; } - set .@i, select(.@menu$+"Quit")-1; + .@i = select(.@menu$+"Quit")-1; if (.@i == getarraysize(.@coin_amount)) { mes "[Merchant K]"; mes "Let's exchange some other time."; @@ -245,23 +248,23 @@ malangdo,233,180,3 script Dark MachineTX100 564,{ 6420, //Cgrade_Coin 6421, //Dgrade_Coin 6422; //Egrade_Coin - set .@menu$,"Quit:"; - for(set .@i,1; .@i<=6; set .@i,.@i+1) { + .@menu$ = "Quit:"; + for(.@i = 1; .@i<=6; .@i++) { if (countitem(.@coins[.@i])) - set .@menu$, .@menu$+getitemname(.@coins[.@i])+" (have "+countitem(.@coins[.@i])+"):"; + .@menu$ = .@menu$ + getitemname(.@coins[.@i])+" (have "+countitem(.@coins[.@i])+"):"; else - set .@menu$, .@menu$+"^aaaaaa"+getitemname(.@coins[.@i])+" (None)^000000:"; + .@menu$ = .@menu$ + "^aaaaaa"+getitemname(.@coins[.@i])+" (None)^000000:"; } - set .@i, select(.@menu$)-1; + .@i = select(.@menu$)-1; if (.@i == 0) { mes "[Dark Machine TX100]"; mes "Thank you for coming."; close; } - set .@coin, .@coins[.@i]; + .@coin = .@coins[.@i]; setarray .@exchange_name$[0],"higher","lower"; setarray .@exchange_id[0],.@coins[.@i-1],.@coins[.@i+1]; - if (.@exchange_id[0] == .@coins[1]) set .@exchange_id[0],0; // Cannot exchange for Silvervine. + if (.@exchange_id[0] == .@coins[1]) .@exchange_id[0] = 0; // Cannot exchange for Silvervine. if (.@i > getarraysize(.@coins)) { mes "[Dark Machine TX100]"; mes "You've chosen abnormal menu."; @@ -281,26 +284,26 @@ malangdo,233,180,3 script Dark MachineTX100 564,{ mes "---------------------"; mes "^ff3333We take a small vendor fee from your exchanged coins.^000000"; next; - set .@menu$, "Quit:"; + .@menu$ = "Quit:"; if (.@exchange_id[0] == 0) - set .@menu$, .@menu$+"^ff3333Cannot exchange to higher level coin^000000:"; + .@menu$ = .@menu$ + "^ff3333Cannot exchange to higher level coin^000000:"; else { if (countitem(.@coin) >= 99) - set .@menu$, .@menu$+"Exchange 99 "+getitemname(.@coin)+" into higher level coin:"; + .@menu$ = .@menu$ + "Exchange 99 "+getitemname(.@coin)+" into higher level coin:"; else - set .@menu$, .@menu$+"^aaaaaaExchange to higher level coin (Not enough)^000000:"; + .@menu$ = .@menu$ + "^aaaaaaExchange to higher level coin (Not enough)^000000:"; } if (.@exchange_id[1] == 0) - set .@menu$, .@menu$+"^ff3333Cannot exchange to lower level coin^000000:"; + .@menu$ = .@menu$ + "^ff3333Cannot exchange to lower level coin^000000:"; else { if (countitem(.@coin) > 500) - set .@menu$, .@menu$+"Exchange 500 "+getitemname(.@coin)+" into lower level coin:"; + .@menu$ = .@menu$ + "Exchange 500 "+getitemname(.@coin)+" into lower level coin:"; else if (countitem(.@coin)) - set .@menu$, .@menu$+"Exchange "+countitem(.@coin)+" "+getitemname(.@coin)+" into lower level coin:"; + .@menu$ = .@menu$ + "Exchange "+countitem(.@coin)+" "+getitemname(.@coin)+" into lower level coin:"; else - set .@menu$, .@menu$+"^aaaaaaExchange to lower level coin (Not enough)^000000:"; + .@menu$ = .@menu$ + "^aaaaaaExchange to lower level coin (Not enough)^000000:"; } - set .@i, select(.@menu$)-2; + .@i = select(.@menu$)-2; if (.@i == -1) { mes "[Dark Machine TX100]"; mes "Thank you for coming."; @@ -325,17 +328,17 @@ malangdo,233,180,3 script Dark MachineTX100 564,{ } switch(.@i) { case 0: - set .@payment_amount,99; - set .@reward_amount, .@payment_amount/3; - set .@coin_text$,"High"; + .@payment_amount = 99; + .@reward_amount = .@payment_amount/3; + .@coin_text$ = "High"; break; case 1: - set .@payment_amount,(((countitem(.@coin) > 500))?500:countitem(.@coin)); - set .@reward_amount, .@payment_amount*3; - set .@coin_text$,"Low"; + .@payment_amount = (((countitem(.@coin) > 500))?500:countitem(.@coin)); + .@reward_amount = .@payment_amount*3; + .@coin_text$ = "Low"; break; } - set .@fee, rand(1,3); + .@fee = rand(1,3); delitem .@coin, .@payment_amount; getitem .@exchange_id[.@i], .@reward_amount - .@fee; mes "[Dark Machine TX100]"; @@ -344,6 +347,8 @@ malangdo,233,180,3 script Dark MachineTX100 564,{ close; } +// Malangdo Can Exchange :: mal_can_rep +//============================================================ malangdo,175,145,4 script Can Agency Guard 549,{ if (checkweight(1201,1) == 0) { mes "You seem to have too many items. Give it a try after sorting out the item kinds."; @@ -391,20 +396,20 @@ malangdo,175,145,4 script Can Agency Guard 549,{ mes "Umm, I'm not here forever, so come to me if you'd like to exchange while I still am."; close; case 2: - set .@check,1; - set .@count,1; + .@check = 1; + .@count = 1; break; case 3: - set .@check,10; - set .@count,10; + .@check = 10; + .@count = 10; break; case 4: - set .@check,100; - set .@count,100; + .@check = 100; + .@count = 100; break; case 5: - set .@check,1; - set .@count,countitem(12633); + .@check = 1; + .@count = countitem(12633); break; } if (countitem(12633) < .@check) { @@ -425,6 +430,8 @@ malangdo,175,145,4 script Can Agency Guard 549,{ close; } +// Malangdo Traders :: malang_trader +//============================================================ function script F_mal_coin { // Initial dialogue and checks: @@ -503,16 +510,16 @@ function script F_mal_coin { mes "The price of ^0000FF["+getarg(2)+"]^000000 is"; if (getarg(4) && getarg(5)) { // Type 1: Egrade_Coin or Malang_Sp_Can mes getarg(4)+" E Grade Coin or "+getarg(5)+" Malangdo Canned Specialties."; - set .@type,1; - set .@menu$,"Yes.:No, I'll purchase with cans.:I don't want to purchase any."; + .@type = 1; + .@menu$ = "Yes.:No, I'll purchase with cans.:I don't want to purchase any."; } else if (getarg(5)) { // Type 2: Malang_Sp_Can only mes getarg(5)+" Malangdo Canned Specialties."; - set .@type,2; - set .@menu$,"Yes.::No."; + .@type = 2; + .@menu$ = "Yes.::No."; } else { // Type 3: Silvervine only mes getarg(6)+" Silvervine Fruit."; - set .@type,3; - set .@menu$,"Yes.::I don't want to purchase any."; + .@type = 3; + .@menu$ = "Yes.::I don't want to purchase any."; } next; mes getarg(1); @@ -526,23 +533,23 @@ function script F_mal_coin { next; switch(select(.@menu$)) { case 2: - set .@type,2; + .@type = 2; case 1: switch(.@type) { case 1: - set .@item,6422; //Egrade_Coin - set .@amount,getarg(4); - set .@str$,"coins"; + .@item = 6422; //Egrade_Coin + .@amount = getarg(4); + .@str$ = "coins"; break; case 2: - set .@item,12636; //Malang_Sp_Can - set .@amount,getarg(5); - set .@str$,"cans"; + .@item = 12636; //Malang_Sp_Can + .@amount = getarg(5); + .@str$ = "cans"; break; case 3: - set .@item,6417; //Silvervine - set .@amount,getarg(6); - set .@str$,"Silvervine Fruit"; + .@item = 6417; //Silvervine + .@amount = getarg(6); + .@str$ = "Silvervine Fruit"; break; } if (countitem(.@item) < .@amount) { @@ -578,7 +585,7 @@ malangdo,162,146,5 script Wandering Merchant#mal 495,{ "Spearfish","Tuna","Hairtail","Saurel","Malang Snow Crab","Brindle Eel", "Hairtail (7Days)","Spearfish (7Days)","Saurel (7Days)","Tuna (7Days)","Brindle Eel (7Days)","Malang Snow Crab (7Days)"; while(1) { - set .@i, select( + .@i = select( "[Spearfish(1hr)] 8 E-Coins/50 Cans", "[Tuna(1hr)] 8 E-Coins/50 Cans", "[Hairtail(1hr)] 8 E-Coins/50 Cans", @@ -705,7 +712,7 @@ malangdo,173,145,4 script Stinky Merchant 496,{ setarray .@items[1],2873,16015; setarray .@names$[1],"Cat Hand Glove","Cat Club"; while(1) { - set .@i, select( + .@i = select( "[Cat Hand Glove] 32 E-Coins/200 Cans", "[Cat Club] 32 E-Coins/200 Cans", "End purchasing." @@ -756,7 +763,7 @@ malangdo,150,135,5 script Roving Merchant 495,{ setarray .@items[1],12639,12637,12638,12640; setarray .@names$[1],"Flying Fish","Sow Bug","Dried Squid","Starfish"; while(1) { - set .@i, select( + .@i = select( "[Flying Fish] 200 Cans", "[Sow Bug] 200 Cans", "[Dried Squid] 200 Cans", @@ -829,55 +836,57 @@ malangdo,150,135,5 script Roving Merchant 495,{ // Eclage //============================================================ -ecl_in01,66,95,2 script Armor Merchant Naphara 436,{ +ecl_in01,66,95,3 script Armor Merchant Naphara#e 436,{ + if (!checkweight(1301,3)) { + mes "- Stop Here!! -"; + mes "- You have too many items. -"; + mes "- You cannot carry any more items. -"; + mes "- Lighten your load and -"; + mes "- try again. -"; + close; + } mes "[Armor Merchant]"; mes "Hello, this is Naphara's store, a place of high class goods."; mes "What would you need?"; next; - set .@i, select("Str Glove:Int Glove:Agi Glove:Vit Glove:Dex Glove:Luk Glove"); + .@choice = select("Str Glove:Int Glove:Agi Glove:Vit Glove:Dex Glove:Luk Glove") -1; mes "[Armor Merchant]"; - switch(.@i) { - case 1: // Str Glove + switch(.@choice) { + case 0: // Str Glove mes "^3131FFStr Glove^000000"; mes "^3131FFMHP + 100, MSP + 20^000000"; mes "^3131FFATK+1 increases for every STR+10^000000"; mes "^3131FFATK +1% added above STR 110^000000"; - set .@item,2917; //Str_Glove break; - case 2: + case 1: mes "^3131FFInt Glove^000000"; mes "^3131FFMHP + 100, MSP + 20^000000"; mes "^3131FFMATK+1 increases for every INT+10^000000"; mes "^3131FFMATK +1% added above INT 110^000000"; - set .@item,2918; //Int_Glove break; - case 3: + case 2: mes "^3131FFAgi Glove^000000"; mes "^3131FFMHP + 100, MSP + 20^000000"; mes "^3131FFFLEE+1 increases for every AGI+10^000000"; mes "^3131FFComplete Flee +1 added above AGI 110^000000"; - set .@item,2919; //Agi_Glove break; - case 4: + case 3: mes "^3131FFVit Glove^000000"; mes "^3131FFMHP + 100, MSP + 20^000000"; mes "^3131FFMHP+50 for every VIT+10^000000"; mes "^3131FFMHP+1% added above VIT 110^000000"; - set .@item,2920; //Vit_Glove break; - case 5: + case 4: mes "^3131FFDex Glove^000000"; mes "^3131FFMHP + 100, MSP + 20^000000"; mes "^3131FFHIT+1 increases for every DEX+10^000000"; mes "^3131FFRanged attack power +1% added above DEX 110^000000"; - set .@item,2921; //Dex_Glove break; - case 6: + case 5: mes "^3131FFLuk Glove^000000"; mes "^3131FFMHP + 100, MSP + 20^000000"; mes "^3131FFCRI+1 increases for every LUK+10^000000"; mes "^3131FFCritical damage +1% added above LUK 110^000000"; - set .@item,2922; //Luk_Glove break; } mes "^3131FFRequired Level: 100^000000"; @@ -889,81 +898,156 @@ ecl_in01,66,95,2 script Armor Merchant Naphara 436,{ mes "It costs 10 Splendide Coins."; mes "Would you like to buy it?"; next; - if(select("Buy it.:Don't buy it.") == 2) - close; - if (countitem(6081) < 10) { + if (select("Buy it.:Don't buy it.")==1) { + if (countitem(6081) < 10) { + mes "[Armor Merchant]"; + mes "It seems like you don't have enough coins."; + close; + } + delitem 6081,10; //Splendide_Coin + getitem (.@choice+2917),1; mes "[Armor Merchant]"; - mes "It seems like you don't have enough coins."; - close; + mes "Great, it's yours. Thank you."; } - mes "[Armor Merchant]"; - mes "Here you go!"; //custom - delitem 6081,10; //Splendide_Coin - getitem .@item,1; close; } -ecl_in01,64,97,4 script Slot Expert Nattuer#ecl 436,{ +ecl_in01,64,97,5 script Slot Expert Nattuer#ecl 436,{ + disable_items; mes "[Slot Expert]"; mes "I am Slot Expert Nattuer."; mes "If you bring me an item from my little brother Naphara along with 5 Splendide Coins, I will open up one Slot for you."; next; - if(select("Activate a Slot.:Forget it.") == 2) + if (select("Activate a Slot.:Forget it.") == 2){ close; + } mes "[Slot Expert]"; mes "Slot activation is an extremely difficult procedure that can fail even with heightened care and the use of a magnifying lens."; next; mes "[Slot Expert]"; mes "Of course, if your heart were as big as that flower-filled land, you wouldn't mind. Right? Should I go for it?"; next; - if(select("Continue.:Forget it.") == 2) + if (select("Continue.:Forget it.") == 2) { close; + } mes "[Slot Expert]"; mes "Which item would you like to activate with a Slot?"; next; - setarray .@noslots[0],2917,2918,2919,2920,2921,2922; - setarray .@slotted[0],2923,2924,2925,2926,2927,2928; - set .@i, select("Str Glove:Int Glove:Ag Glove:Vit Glove:Dex Glove:Luk Glove")-1; - set .@item, .@noslots[.@i]; - set .@new_item, .@slotted[.@i]; + .@choice = select("Str Glove:Int Glove:Ag Glove:Vit Glove:Dex Glove:Luk Glove"); + .@choice += 2916; mes "[Slot Expert]"; - mes "Let's confirm for the last time. Is the one you want "+getitemname(.@item)+"?"; + mes "Let's confirm for the last time. Is the one you want " + getitemname(.@choice) + "?"; next; - if(select("Yes:No") == 2) { + if (select("Yes:No")==2) { mes "[Slot Expert]"; mes "Why don't you talk to me when you know for sure."; close; } - if (countitem(.@item) == 0) { + if (countitem(.@choice) < 1) { mes "[Slot Expert]"; mes "You don't have that item. Why don't you talk to me when you know for sure."; close; } if (countitem(6081) < 5) { mes "[Slot Expert]"; - mes "You don't have enough coins. Why don't you talk to me when you know for sure."; //custom + mes "You don't have enough coins. Why don't you talk to me when you know for sure."; close; } + progressbar "0xFFFF00",3; + mes "[Slot Expert]"; delitem 6081,5; //Splendide_Coin - delitem .@item,1; - //custom to the end - if (rand(100) < 5) { - mes "[Slot Expert]"; - mes "Oh no, it failed! I'm sorry, but I warned you this could happen. Better luck next time."; + .@luckyday = rand(1,100); + if (.@luckyday % 20){ + emotion e_dots; + delitem .@choice,1; + mes "Shoot, I'm sorry. It failed."; + mes "But I'm sure it will work next time. I have a feeling."; close; } - mes "[Slot Expert]"; - mes "Success! I've activated the slot."; - getitem .@new_item,1; + emotion e_no1; + delitem .@choice,1; + getitem (.@choice+6),1; + mes "My eyes feel like they're gonna pop out."; + mes "Nonetheless, congratulations. Slot activation was successful."; + close; +} + +ecl_in01,33,98,5 script Herb Merchant Plafina#e 443,{ + if (checkweight(1301,1)==0) { + mes "- Stop Here!! -"; + mes "- You have too many items. -"; + mes "- You cannot carry any more items. -"; + mes "- Lighten your load and -"; + mes "- try again. -"; + close; + } + mes "[Herb Merchant]"; + mes "Welcome, this is Plafina's Herb Store where only the freshest herbs are provided~!"; + next; + .@item = select("Snow Flip:Peony Mommy:Slapping Herb:Yggdrasil Dust:End conversation")-1; + if (.@item == 4){ + mes "[Herb Merchant]"; + mes "Come back anytime."; + close; + } + mes "[Herb Merchant]"; + switch (.@item){ + case 0: + mes "Snow Flip has special effects on ^3131FFBurning, Bleeding, Deep Sleep, Sleep^000000."; + break; + case 1: + mes "Peony Mamy has special effects on ^3131FFFrost, Frozen, Freezing^000000"; + break; + case 2: + mes "Slapping Herb has special effects on ^3131FFStun, Fear, Chaos, Hallucination^000000"; + break; + case 3: + mes "Yggdrasil Dust has special effects on ^3131FFBlind, Curse, Decrease Agility, Reverse Orcish^000000."; + break; + } + mes "Requires 5 seconds between uses."; + mes "It costs "+ .cost[.@item] +" Splendide Coins for each."; + next; + .@buy = select("Buy 1.:Buy 10.:Don't buy."); + if (.@buy == 3){ + close; + } + if (.@buy == 2){ + .@buy = 10; + } + mes "[Herb Merchant]"; + mes "Would you like to buy "+ .@buy +" "+ getitemname(.items[.@item]) +"?"; + next; + if (select("Buy.:Don't buy.") == 2){ + close; + } + if (countitem(6081) < (.cost[.@item]*.@buy) ) { + mes "[Herb Merchant]"; + mes "You don't have enough coins."; + close; + } + mes "[Herb Merchant]"; + mes "Thank you for your business."; + delitem 6081,.cost[.@item]*.@buy; //Splendide_Coin + getitem .items[.@item],.@buy; close; + +OnInit: + setarray .items[0],12812,12813,12814,12815; + setarray .cost[0],5,5,1,1; //Splendide Coins + end; } -ecl_in01,67,39,4 script Replication Expert Palt 445,{ +ecl_in01,67,39,4 script Replication Expert Paltu 445,{ + if (checkweight(1301,3) == 0) { + mes "You have too many items to continue."; + close; + } emotion e_lv; mes "[Paltu]"; mes "Woohoo- Greetings. What are you looking for? Lots of goods here."; next; - switch(select("No thanks.:Replication?:I know you got lots up your sleeve!")) { + switch (select("No thanks.:Replication?:I know you got lots up your sleeve!")) { case 1: emotion e_an; mes "[Paltu]"; @@ -1022,16 +1106,16 @@ ecl_in01,67,39,4 script Replication Expert Palt 445,{ mes "[Paltu]"; mes "What do you think? I'll make it happen as long as I have the ingredients and the compensation."; next; - if(select("I'll do it later.:Show me what you got!") == 1) { + if (select("I'll do it later.:Show me what you got!") == 1) { emotion e_dots; mes "[Paltu]"; mes "What? Are you kidding me? Please tell me you are!"; close; } break; - case 3: - break; } + disable_items; + emotion e_lv2; mes "[Paltu]"; mes "Oh wow."; mes "You made the right call. I thought I was going to starve to death because the Laphines have no interest in pretty hats."; @@ -1042,59 +1126,84 @@ ecl_in01,67,39,4 script Replication Expert Palt 445,{ mes "[Paltu]"; mes "Is there something you had in mind? Why don't you take a look?"; next; - setarray .@items[0], - 5447, //Frog_Cap - 2269, //Centimental_Flower - 2256, //Magestic_Goat - 5040, //Blush - 5171, //Valkyrie_Helm - 5038, //Deviruchi_Cap - 5096, //Assassin_Mask_ - 2286, //Elven_Ears - 5176, //Hahoe_Mask - 5016; //Boy's_Cap - setarray .@costumes[0], - 19548, //C_Frog_Cap - 19552, //C_Centimental_Flower - 19549, //C_Magestic_Goat - 19550, //C_Blush - 19546, //C_Valkyrie_Helm - 19547, //C_Deviruchi_Cap - 19553, //C_Assassin_Mask_ - 19551, //C_Elven_Ears - 0, //-- not implemented? -- - 19545; //C_Boys_Cap - if (countitem(6081) >= 50 && countitem(747) >= 4 && countitem(6395) >= 1 && countitem(721) >= 10 && countitem(723) >= 10 && countitem(726) >= 10 && countitem(728) >= 10 && countitem(729) >= 10) - set .@item_check,1; - for(set .@i,0; .@i= 50) && (countitem(747) >= 4) && countitem(6395) && (countitem(721) >= 10) && (countitem(723) >= 10) && (countitem(726) >= 10) && (countitem(728) >= 10) && (countitem(729) >= 10)) + .@item_check =1; + for(.@i = 0; .@i