diff options
Diffstat (limited to 'npc')
35 files changed, 527 insertions, 567 deletions
diff --git a/npc/instances/EndlessTower.txt b/npc/instances/EndlessTower.txt index e6947d2a4..f94bc177a 100644 --- a/npc/instances/EndlessTower.txt +++ b/npc/instances/EndlessTower.txt @@ -36,13 +36,6 @@ //= 2.4 //========================================================================= -1@tower mapflag src4instance -2@tower mapflag src4instance -3@tower mapflag src4instance -4@tower mapflag src4instance -5@tower mapflag src4instance -6@tower mapflag src4instance - alberta,214,77,6 script Captain Janssen 4_M_SEAMAN,{ if (checkweight(Knife,1) == 0) { mes "^008800Wait here!!"; diff --git a/npc/instances/NydhoggsNest.txt b/npc/instances/NydhoggsNest.txt index 16df567e3..2c583d441 100644 --- a/npc/instances/NydhoggsNest.txt +++ b/npc/instances/NydhoggsNest.txt @@ -33,9 +33,6 @@ //= 1.6 //========================================================================= -1@nyd mapflag src4instance -2@nyd mapflag src4instance - nyd_dun02,100,201,3 script Yggdrasil Gatekeeper HIDDEN_NPC,8,8,{ if (ins_nyd == 0) { mes "A great stone gate stands before you. The sculpture of a terrible dragon spreads its powerful looking wings."; @@ -165,6 +162,10 @@ nyd_dun02,100,201,3 script Yggdrasil Gatekeeper HIDDEN_NPC,8,8,{ close; goto L_Enter; } else { + .@instance = has_instance2("1@nyd"); + if (.@instance >= 0) { + instance_attach(.@instance); + } if (.@ins_nyd_check == 1) { if ('ins_nyd2 == 3 || 'ins_nyd2 == 4) { mes "[Yggdrasil Gatekeeper]"; diff --git a/npc/instances/OrcsMemory.txt b/npc/instances/OrcsMemory.txt index 48412a631..28cc9bbd5 100644 --- a/npc/instances/OrcsMemory.txt +++ b/npc/instances/OrcsMemory.txt @@ -33,9 +33,6 @@ //= 1.7 //========================================================================= -1@orcs mapflag src4instance -2@orcs mapflag src4instance - //== Entrance ============================================== gef_fild10,242,202,0 script Dimensional Gorge Piece 2_MONEMUS,{ diff --git a/npc/instances/SealedShrine.txt b/npc/instances/SealedShrine.txt index 90efe6f5c..de59b7599 100644 --- a/npc/instances/SealedShrine.txt +++ b/npc/instances/SealedShrine.txt @@ -35,9 +35,6 @@ //= 2.3 //========================================================================= -1@cata mapflag src4instance -2@cata mapflag src4instance - //== Sealed Catacomb Entrance ============================== monk_test,309,146,3 script Friar Patrick#edq 4_M_OLDFRIAR,{ cutin "ins_cata_pri_n",2; diff --git a/npc/mapflag/gvg.txt b/npc/mapflag/gvg.txt index 18b644615..b30ff1340 100644 --- a/npc/mapflag/gvg.txt +++ b/npc/mapflag/gvg.txt @@ -120,9 +120,5 @@ nguild_prt mapflag gvg_castle //nguild_prt mapflag monster_noteleport // Guild Dungeons ========= -gld_dun01 mapflag gvg_dungeon -gld_dun02 mapflag gvg_dungeon -gld_dun03 mapflag gvg_dungeon -gld_dun04 mapflag gvg_dungeon arug_dun01 mapflag gvg_dungeon schg_dun01 mapflag gvg_dungeon diff --git a/npc/mapflag/nobranch.txt b/npc/mapflag/nobranch.txt index 60db05cf5..4ad59ad67 100644 --- a/npc/mapflag/nobranch.txt +++ b/npc/mapflag/nobranch.txt @@ -306,15 +306,7 @@ que_qaru04 mapflag nobranch que_qaru05 mapflag nobranch // Episode 12 =========== -1@cata mapflag nobranch -2@cata mapflag nobranch e_tower mapflag nobranch -1@tower mapflag nobranch -2@tower mapflag nobranch -3@tower mapflag nobranch -4@tower mapflag nobranch -5@tower mapflag nobranch -6@tower mapflag nobranch // Episode 13.1 =========== mid_camp mapflag nobranch @@ -325,8 +317,6 @@ que_dan01 mapflag nobranch que_dan02 mapflag nobranch schg_que01 mapflag nobranch arug_que01 mapflag nobranch -1@orcs mapflag nobranch -2@orcs mapflag nobranch // Battle Grounds ============== bat_c01 mapflag nobranch @@ -339,8 +329,6 @@ bat_a01 mapflag nobranch bat_a02 mapflag nobranch // Episode 13.2 =========== -1@nyd mapflag nobranch -2@nyd mapflag nobranch manuk mapflag nobranch man_fild02 mapflag nobranch man_in01 mapflag nobranch @@ -377,7 +365,6 @@ s_atelier mapflag nobranch // Episode 14.1 & Dewata =========== mora mapflag nobranch -1@mist mapflag nobranch dewata mapflag nobranch dew_in01 mapflag nobranch @@ -385,16 +372,9 @@ dew_in01 mapflag nobranch malangdo mapflag nobranch mal_in01 mapflag nobranch mal_in02 mapflag nobranch -1@cash mapflag nobranch -1@pump mapflag nobranch -2@pump mapflag nobranch -1@lhz mapflag nobranch malaya mapflag nobranch ma_scene01 mapflag nobranch ma_in01 mapflag nobranch -1@ma_h mapflag nobranch -1@ma_c mapflag nobranch -1@ma_b mapflag nobranch // Episode 14.2 =========== eclage mapflag nobranch @@ -402,7 +382,6 @@ ecl_in01 mapflag nobranch ecl_in02 mapflag nobranch ecl_in03 mapflag nobranch ecl_in04 mapflag nobranch -1@ecl mapflag nobranch ecl_hub01 mapflag nobranch // Episode 14.3 =========== @@ -411,12 +390,6 @@ c_tower3_ mapflag nobranch gl_chyard_ mapflag nobranch gl_cas02_ mapflag nobranch -// Ghost Palace =========== -1@spa mapflag nobranch - -// Sara's Memory Instance =========== -1@sara mapflag nobranch - //evt_zombie mapflag nobranch // Poring War ================== diff --git a/npc/mapflag/noicewall.txt b/npc/mapflag/noicewall.txt index 6c1af1b09..195bec2bb 100644 --- a/npc/mapflag/noicewall.txt +++ b/npc/mapflag/noicewall.txt @@ -159,53 +159,6 @@ nguild_gef mapflag noicewall nguild_pay mapflag noicewall nguild_prt mapflag noicewall -//Endless Tower ================== -1@tower mapflag noicewall -2@tower mapflag noicewall -3@tower mapflag noicewall -4@tower mapflag noicewall -5@tower mapflag noicewall -6@tower mapflag noicewall - -// Orc's Memory =================== -1@orcs mapflag noicewall -2@orcs mapflag noicewall - -// Nidhoggr's Instance =========== -1@nyd mapflag noicewall -2@nyd mapflag noicewall - -// Misty Forest Labyrinth =========== -1@mist mapflag noicewall - -// Octopus Cave =========== -1@cash mapflag noicewall - -// Drain =========== -1@pump mapflag noicewall -2@pump mapflag noicewall - -// Somatology Laboratory =========== -1@lhz mapflag noicewall - -// Bangungot Hospital F2 =========== -1@ma_h mapflag noicewall - -// Buwaya Cave =========== -1@ma_c mapflag noicewall - -// Bakonawa Hideout =========== -1@ma_b mapflag noicewall - -// Inside Eclage =========== -1@ecl mapflag noicewall - -// Ghost Palace =========== -1@spa mapflag noicewall - -// Sara's Memory Instance =========== -1@sara mapflag noicewall - // Poring War ==================== poring_w01 mapflag noicewall poring_w02 mapflag noicewall diff --git a/npc/mapflag/nomemo.txt b/npc/mapflag/nomemo.txt index a0dd66e9d..662bf4c05 100644 --- a/npc/mapflag/nomemo.txt +++ b/npc/mapflag/nomemo.txt @@ -656,18 +656,8 @@ que_qaru03 mapflag nomemo que_qaru04 mapflag nomemo que_qaru05 mapflag nomemo -//Sealed Shrine ================== -1@cata mapflag nomemo -2@cata mapflag nomemo - //Endless Tower ================== e_tower mapflag nomemo -1@tower mapflag nomemo -2@tower mapflag nomemo -3@tower mapflag nomemo -4@tower mapflag nomemo -5@tower mapflag nomemo -6@tower mapflag nomemo // Battle Grounds ================ bat_c01 mapflag nomemo @@ -731,7 +721,6 @@ dic_dun02 mapflag nomemo // Episode 14 ==================== bif_fild01 mapflag nomemo bif_fild02 mapflag nomemo -1@mist mapflag nomemo mora mapflag nomemo dew_dun01 mapflag nomemo dew_dun02 mapflag nomemo @@ -740,13 +729,9 @@ dic_dun03 mapflag nomemo mal_in01 mapflag nomemo mal_in02 mapflag nomemo mal_dun01 mapflag nomemo -1@cash mapflag nomemo -1@pump mapflag nomemo -2@pump mapflag nomemo iz_dun05 mapflag nomemo lhz_dun04 mapflag nomemo que_lhz mapflag nomemo -1@lhz mapflag nomemo gld_dun01_2 mapflag nomemo gld_dun02_2 mapflag nomemo gld_dun03_2 mapflag nomemo @@ -758,9 +743,6 @@ gld2_prt mapflag nomemo ma_scene01 mapflag nomemo ma_in01 mapflag nomemo ma_dun01 mapflag nomemo -1@ma_h mapflag nomemo -1@ma_c mapflag nomemo -1@ma_b mapflag nomemo ma_zif01 mapflag nomemo ma_zif02 mapflag nomemo ma_zif03 mapflag nomemo @@ -776,7 +758,6 @@ ecl_in01 mapflag nomemo ecl_in02 mapflag nomemo ecl_in03 mapflag nomemo ecl_in04 mapflag nomemo -1@ecl mapflag nomemo ecl_tdun01 mapflag nomemo ecl_tdun02 mapflag nomemo ecl_tdun03 mapflag nomemo @@ -791,20 +772,6 @@ c_tower3_ mapflag nomemo gl_chyard_ mapflag nomemo gl_cas02_ mapflag nomemo -//Orc's Memory =================== -1@orcs mapflag nomemo -2@orcs mapflag nomemo - -// Nidhoggr's Instance =========== -1@nyd mapflag nomemo -2@nyd mapflag nomemo - -// Ghost Palace =========== -1@spa mapflag nomemo - -// Sara's Memory Instance =========== -1@sara mapflag nomemo - //evt_zombie mapflag nomemo // Poring War ==================== diff --git a/npc/mapflag/nopvp.txt b/npc/mapflag/nopvp.txt index 8a396bf69..41127332b 100644 --- a/npc/mapflag/nopvp.txt +++ b/npc/mapflag/nopvp.txt @@ -32,30 +32,6 @@ //= Prevents PvP mode on a map. //========================================================================= -1@cata mapflag pvp off -2@cata mapflag pvp off -1@nyd mapflag pvp off -2@nyd mapflag pvp off -1@orcs mapflag pvp off -2@orcs mapflag pvp off -1@tower mapflag pvp off -2@tower mapflag pvp off -3@tower mapflag pvp off -4@tower mapflag pvp off -5@tower mapflag pvp off -6@tower mapflag pvp off -1@mist mapflag pvp off -1@cash mapflag pvp off -1@pump mapflag pvp off -2@pump mapflag pvp off -1@lhz mapflag pvp off -1@ma_h mapflag pvp off -1@ma_c mapflag pvp off -1@ma_b mapflag pvp off -1@ecl mapflag pvp off -1@spa mapflag pvp off -1@sara mapflag pvp off - bat_a01 mapflag pvp off bat_a02 mapflag pvp off bat_b01 mapflag pvp off diff --git a/npc/mapflag/nosave.txt b/npc/mapflag/nosave.txt index 3465cc0c3..8137e500b 100644 --- a/npc/mapflag/nosave.txt +++ b/npc/mapflag/nosave.txt @@ -281,18 +281,8 @@ que_qaru03 mapflag nosave SavePoint que_qaru04 mapflag nosave SavePoint que_qaru05 mapflag nosave SavePoint -// Sealed Shrine ================== -1@cata mapflag nosave SavePoint -2@cata mapflag nosave SavePoint - // Endless Tower ================== e_tower mapflag nosave SavePoint -1@tower mapflag nosave SavePoint -2@tower mapflag nosave SavePoint -3@tower mapflag nosave SavePoint -4@tower mapflag nosave SavePoint -5@tower mapflag nosave SavePoint -6@tower mapflag nosave SavePoint // Battle Grounds ============== bat_c01 mapflag nosave SavePoint @@ -312,45 +302,8 @@ schg_dun01 mapflag nosave SavePoint arug_que01 mapflag nosave SavePoint arug_dun01 mapflag nosave SavePoint -// Orc's Memory =================== -1@orcs mapflag nosave SavePoint -2@orcs mapflag nosave SavePoint - -// Nidhoggr's Instance =========== -1@nyd mapflag nosave SavePoint -2@nyd mapflag nosave SavePoint - -// Misty Forest Labyrinth =========== -1@mist mapflag nosave SavePoint - -// Octopus Cave =========== -1@cash mapflag nosave SavePoint - -// Drain =========== -1@pump mapflag nosave SavePoint -2@pump mapflag nosave SavePoint - // Somatology Laboratory =========== que_lhz mapflag nosave SavePoint -1@lhz mapflag nosave SavePoint - -// Bangungot Hospital F2 =========== -1@ma_h mapflag nosave SavePoint - -// Buwaya Cave =========== -1@ma_c mapflag nosave SavePoint - -// Bakonawa Hideout =========== -1@ma_b mapflag nosave SavePoint - -// Inside Eclage =========== -1@ecl mapflag nosave SavePoint - -// Ghost Palace =========== -1@spa mapflag nosave SavePoint - -// Sara's Memory Instance =========== -1@sara mapflag nosave SavePoint //evt_zombie mapflag nosave SavePoint diff --git a/npc/mapflag/noteleport.txt b/npc/mapflag/noteleport.txt index 8b1109ef1..700964da4 100644 --- a/npc/mapflag/noteleport.txt +++ b/npc/mapflag/noteleport.txt @@ -368,26 +368,8 @@ que_qaru04 mapflag monster_noteleport que_qaru05 mapflag noteleport que_qaru05 mapflag monster_noteleport -//Sealed Shrine ================== -1@cata mapflag noteleport -1@cata mapflag monster_noteleport -2@cata mapflag noteleport -2@cata mapflag monster_noteleport - //Endless Tower ================== e_tower mapflag noteleport -1@tower mapflag noteleport -1@tower mapflag monster_noteleport -2@tower mapflag noteleport -2@tower mapflag monster_noteleport -3@tower mapflag noteleport -3@tower mapflag monster_noteleport -4@tower mapflag noteleport -4@tower mapflag monster_noteleport -5@tower mapflag noteleport -5@tower mapflag monster_noteleport -6@tower mapflag noteleport -6@tower mapflag monster_noteleport // Battle Grounds ============== bat_c01 mapflag noteleport @@ -413,29 +395,13 @@ bra_in01 mapflag noteleport dic_in01 mapflag noteleport // Episode 14 ==================== -1@mist mapflag noteleport -1@mist mapflag monster_noteleport dew_in01 mapflag noteleport mal_in01 mapflag noteleport mal_in02 mapflag noteleport -1@cash mapflag noteleport -1@cash mapflag monster_noteleport -1@pump mapflag noteleport -1@pump mapflag monster_noteleport -2@pump mapflag noteleport -2@pump mapflag monster_noteleport que_lhz mapflag noteleport que_lhz mapflag monster_noteleport -1@lhz mapflag noteleport -1@lhz mapflag monster_noteleport ma_scene01 mapflag noteleport ma_in01 mapflag noteleport -1@ma_h mapflag noteleport -1@ma_h mapflag monster_noteleport -1@ma_c mapflag noteleport -1@ma_c mapflag monster_noteleport -1@ma_b mapflag noteleport -1@ma_b mapflag monster_noteleport ma_zif01 mapflag noteleport ma_zif02 mapflag noteleport ma_zif03 mapflag noteleport @@ -449,35 +415,13 @@ ecl_in01 mapflag noteleport ecl_in02 mapflag noteleport ecl_in03 mapflag noteleport ecl_in04 mapflag noteleport -1@ecl mapflag noteleport -1@ecl mapflag monster_noteleport ecl_hub01 mapflag noteleport dali mapflag noteleport dali02 mapflag noteleport -//Orc's Memory =================== -1@orcs mapflag noteleport -1@orcs mapflag monster_noteleport -2@orcs mapflag noteleport -2@orcs mapflag monster_noteleport - // Yggdrasil Dungeon ============= nyd_dun02 mapflag noteleport -// Nidhoggr's Instance =========== -1@nyd mapflag noteleport -1@nyd mapflag monster_noteleport -2@nyd mapflag noteleport -2@nyd mapflag monster_noteleport - -// Ghost Palace =========== -1@spa mapflag noteleport -1@spa mapflag monster_noteleport - -// Sara's Memory Instance =========== -1@sara mapflag noteleport -1@sara mapflag monster_noteleport - //evt_zombie mapflag noteleport // Poring War ==================== diff --git a/npc/mapflag/nowarpto.txt b/npc/mapflag/nowarpto.txt index 34d093ae2..783dc8cc9 100644 --- a/npc/mapflag/nowarpto.txt +++ b/npc/mapflag/nowarpto.txt @@ -115,18 +115,8 @@ que_qaru03 mapflag nowarpto que_qaru04 mapflag nowarpto que_qaru05 mapflag nowarpto -//Sealed Shrine ================== -1@cata mapflag nowarpto -2@cata mapflag nowarpto - //Endless Tower ================== e_tower mapflag nowarpto -1@tower mapflag nowarpto -2@tower mapflag nowarpto -3@tower mapflag nowarpto -4@tower mapflag nowarpto -5@tower mapflag nowarpto -6@tower mapflag nowarpto // Battle Grounds ============== bat_c01 mapflag nowarpto @@ -160,17 +150,6 @@ splendide mapflag nowarpto spl_fild01 mapflag nowarpto spl_in01 mapflag nowarpto -//Orc's Memory =================== -1@orcs mapflag nowarpto -2@orcs mapflag nowarpto - -// Nidhoggr's Instance =========== -1@nyd mapflag nowarpto -2@nyd mapflag nowarpto - -// Ghost Palace =========== -1@spa mapflag nowarpto - // Poring War ==================== poring_w01 mapflag nowarpto poring_w02 mapflag nowarpto diff --git a/npc/mapflag/partylock.txt b/npc/mapflag/partylock.txt index 9e604fedc..1aa9d4991 100644 --- a/npc/mapflag/partylock.txt +++ b/npc/mapflag/partylock.txt @@ -33,54 +33,3 @@ //= Blocks all party modifications on a map: //= /organize, /leave, /invite, @changeleader //========================================================================= - -// Sealed Shrine ================== -1@cata mapflag partylock -2@cata mapflag partylock - -// Endless Tower ================== -1@tower mapflag partylock -2@tower mapflag partylock -3@tower mapflag partylock -4@tower mapflag partylock -5@tower mapflag partylock -6@tower mapflag partylock - -// Orc's Memory =================== -1@orcs mapflag partylock -2@orcs mapflag partylock - -// Nidhoggr's Instance =========== -1@nyd mapflag partylock -2@nyd mapflag partylock - -// Misty Forest Labyrinth =========== -1@mist mapflag partylock - -// Octopus Cave =========== -1@cash mapflag partylock - -// Drain =========== -1@pump mapflag partylock -2@pump mapflag partylock - -// Somatology Laboratory =========== -1@lhz mapflag partylock - -// Bangungot Hospital F2 =========== -1@ma_h mapflag partylock - -// Buwaya Cave =========== -1@ma_c mapflag partylock - -// Bakonawa Hideout =========== -1@ma_b mapflag partylock - -// Inside Eclage =========== -1@ecl mapflag partylock - -// Ghost Palace =========== -1@spa mapflag partylock - -// Sara's Memory Instance =========== -1@sara mapflag partylock diff --git a/npc/mapflag/zone.txt b/npc/mapflag/zone.txt index cb73a32ec..b90116911 100644 --- a/npc/mapflag/zone.txt +++ b/npc/mapflag/zone.txt @@ -75,37 +75,6 @@ prt_are_in mapflag zone Izlude Battle Arena 1@nyd mapflag zone Memorial Dungeon 2@nyd mapflag zone Memorial Dungeon -// Misty Forest Labyrinth =========== -1@mist mapflag zone Memorial Dungeon - -// Octopus Cave =========== -1@cash mapflag zone Memorial Dungeon - -// Drain =========== -1@pump mapflag zone Memorial Dungeon -2@pump mapflag zone Memorial Dungeon - -// Somatology Laboratory =========== -1@lhz mapflag zone Memorial Dungeon - -// Bangungot Hospital F2 =========== -1@ma_h mapflag zone Memorial Dungeon - -// Buwaya Cave =========== -1@ma_c mapflag zone Memorial Dungeon - -// Bakonawa Hideout =========== -1@ma_b mapflag zone Memorial Dungeon - -// Inside Eclage =========== -1@ecl mapflag zone Memorial Dungeon - -// Ghost Palace =========== -1@spa mapflag zone Memorial Dungeon - -// Sara's Memory Instance =========== -1@sara mapflag zone Memorial Dungeon - //Towns alberta mapflag zone Towns aldebaran mapflag zone Towns diff --git a/npc/other/Global_Functions.txt b/npc/other/Global_Functions.txt index f6068d598..544e3a672 100644 --- a/npc/other/Global_Functions.txt +++ b/npc/other/Global_Functions.txt @@ -156,16 +156,6 @@ function script F_Rand { return getarg(rand(getargcount())); } -//== Function F_Sex ======================================== -// 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 { - if (Sex == SEX_MALE) - return getarg(0); - else - return getarg(1); -} - //== Function F_Hi ========================================= // Returns random HELLO message function script F_Hi { diff --git a/npc/pre-re/mapflag/gvg.txt b/npc/pre-re/mapflag/gvg.txt new file mode 100644 index 000000000..39be0ee7b --- /dev/null +++ b/npc/pre-re/mapflag/gvg.txt @@ -0,0 +1,41 @@ +//================= Hercules Script ======================================= +//= _ _ _ +//= | | | | | | +//= | |_| | ___ _ __ ___ _ _| | ___ ___ +//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| +//= | | | | __/ | | (__| |_| | | __/\__ \ +//= \_| |_/\___|_| \___|\__,_|_|\___||___/ +//================= License =============================================== +//= This file is part of Hercules. +//= http://herc.ws - http://github.com/HerculesWS/Hercules +//= +//= Copyright (C) 2017 Hercules Dev Team +//= +//= Hercules is free software: you can redistribute it and/or modify +//= it under the terms of the GNU General Public License as published by +//= the Free Software Foundation, either version 3 of the License, or +//= (at your option) any later version. +//= +//= This program is distributed in the hope that it will be useful, +//= but WITHOUT ANY WARRANTY; without even the implied warranty of +//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +//= GNU General Public License for more details. +//= +//= You should have received a copy of the GNU General Public License +//= along with this program. If not, see <http://www.gnu.org/licenses/>. +//========================================================================= +//= Mapflag: Guild versus Guild mode. +//================= Current Version ======================================= +//= 1.0 +//================= Description =========================================== +//= 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_castle: Describes castle maps for WoE. +//========================================================================= + +// Guild Dungeons ========= +gld_dun01 mapflag gvg_dungeon +gld_dun02 mapflag gvg_dungeon +gld_dun03 mapflag gvg_dungeon +gld_dun04 mapflag gvg_dungeon diff --git a/npc/pre-re/scripts_main.conf b/npc/pre-re/scripts_main.conf index 9381497ec..dda475310 100644 --- a/npc/pre-re/scripts_main.conf +++ b/npc/pre-re/scripts_main.conf @@ -62,6 +62,7 @@ npc_global_list: ( //- Pre-Renewal Script Files - @include "npc/pre-re/scripts.conf" @include "npc/pre-re/scripts_jobs.conf" +@include "npc/pre-re/scripts_mapflags.conf" @include "npc/pre-re/scripts_monsters.conf" @include "npc/pre-re/scripts_warps.conf" diff --git a/npc/pre-re/scripts_mapflags.conf b/npc/pre-re/scripts_mapflags.conf new file mode 100644 index 000000000..03c798aa6 --- /dev/null +++ b/npc/pre-re/scripts_mapflags.conf @@ -0,0 +1,30 @@ +//================= Hercules Configuration ================================ +//= _ _ _ +//= | | | | | | +//= | |_| | ___ _ __ ___ _ _| | ___ ___ +//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| +//= | | | | __/ | | (__| |_| | | __/\__ \ +//= \_| |_/\___|_| \___|\__,_|_|\___||___/ +//================= License =============================================== +//= This file is part of Hercules. +//= http://herc.ws - http://github.com/HerculesWS/Hercules +//= +//= Copyright (C) 2017 Hercules Dev Team +//= +//= Hercules is free software: you can redistribute it and/or modify +//= it under the terms of the GNU General Public License as published by +//= the Free Software Foundation, either version 3 of the License, or +//= (at your option) any later version. +//= +//= This program is distributed in the hope that it will be useful, +//= but WITHOUT ANY WARRANTY; without even the implied warranty of +//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +//= GNU General Public License for more details. +//= +//= You should have received a copy of the GNU General Public License +//= along with this program. If not, see <http://www.gnu.org/licenses/>. +//========================================================================= +//= Map Flags +//========================================================================= + +"npc/pre-re/mapflag/gvg.txt", diff --git a/npc/quests/the_sign_quest.txt b/npc/quests/the_sign_quest.txt index dd3750543..cf593eaae 100644 --- a/npc/quests/the_sign_quest.txt +++ b/npc/quests/the_sign_quest.txt @@ -12249,11 +12249,12 @@ OnInit: end; OnTouch: - geffenia_warp = rand(1,4); - if (geffenia_warp == 1) warp "gefenia01",58,169; - else if (geffenia_warp == 2) warp "gefenia02",116,115; - else if (geffenia_warp == 3) warp "gefenia03",130,206; - else if (geffenia_warp == 4) warp "gefenia04",133,88; + callfunc("F_UpdateSignVars"); + .@geffenia_warp = rand(1,4); + if (.@geffenia_warp == 1) warp "gefenia01",58,169; + else if (.@geffenia_warp == 2) warp "gefenia02",116,115; + else if (.@geffenia_warp == 3) warp "gefenia03",130,206; + else if (.@geffenia_warp == 4) warp "gefenia04",133,88; else warp "geffen",116,115; end; @@ -12644,6 +12645,7 @@ function script F_UpdateSignVars { Sign_Branch2B = 0; serinring = 0; signmetzhour = 0; + geffenia_warp = 0; } return; } diff --git a/npc/re/instances/BakonawaLake.txt b/npc/re/instances/BakonawaLake.txt index 5e2ae7f33..2868cc589 100644 --- a/npc/re/instances/BakonawaLake.txt +++ b/npc/re/instances/BakonawaLake.txt @@ -33,8 +33,6 @@ //= 1.1 //========================================================================= -1@ma_b mapflag src4instance - ma_scene01,174,179,4 script Taho 4_M_DEWZATIMAN,{ disable_items; if (checkweight(Knife,1) == 0) { diff --git a/npc/re/instances/BangungotHospital.txt b/npc/re/instances/BangungotHospital.txt index 1504f892f..3962ee4fa 100644 --- a/npc/re/instances/BangungotHospital.txt +++ b/npc/re/instances/BangungotHospital.txt @@ -33,8 +33,6 @@ //= 1.1 //========================================================================= -1@ma_h mapflag src4instance - //== Instance Creation ===================================== ma_dun01,147,10,5 script Nurse#ma_dun01 4_F_NURSE,{ if (BaseLevel < 100) end; diff --git a/npc/re/instances/BuwayaCave.txt b/npc/re/instances/BuwayaCave.txt index 242d0a8e4..859d6bd85 100644 --- a/npc/re/instances/BuwayaCave.txt +++ b/npc/re/instances/BuwayaCave.txt @@ -33,8 +33,6 @@ //= 1.0 //========================================================================= -1@ma_c mapflag src4instance - ma_fild02,312,317,5 script Guard#buwaya_cave 4_MAL_SOLDIER,{ if (BaseLevel < 130) { mes "[Guard]"; diff --git a/npc/re/instances/HazyForest.txt b/npc/re/instances/HazyForest.txt index 7f85fee50..c649171f8 100644 --- a/npc/re/instances/HazyForest.txt +++ b/npc/re/instances/HazyForest.txt @@ -33,8 +33,6 @@ //= 1.1 //========================================================================= -1@mist mapflag src4instance - //== Instance Creation ===================================== bif_fild01,158,340,5 script Laphine Soldier#mist 4_M_FAIRYSOLDIER,{ diff --git a/npc/re/instances/MalangdoCulvert.txt b/npc/re/instances/MalangdoCulvert.txt index 164caf548..1bd76aedb 100644 --- a/npc/re/instances/MalangdoCulvert.txt +++ b/npc/re/instances/MalangdoCulvert.txt @@ -35,9 +35,6 @@ //= 1.1 //========================================================================= -1@pump mapflag src4instance -2@pump mapflag src4instance - //== Quest NPCs ============================================ mal_in01,172,28,2 script Albo#mal 4_CAT_SAILOR5,{ if (checkweight(Knife,1) == 0) { diff --git a/npc/re/instances/OldGlastHeim.txt b/npc/re/instances/OldGlastHeim.txt index bf099cd2d..9f3f29fdf 100644 --- a/npc/re/instances/OldGlastHeim.txt +++ b/npc/re/instances/OldGlastHeim.txt @@ -36,8 +36,6 @@ //================= Current Version ======================================= //= 1.2 //========================================================================= -1@gl_k mapflag src4instance -2@gl_k mapflag src4instance glast_01,204,273,6 script Hugin#ghinstance 4_M_SAGE_C,{ if (BaseLevel < 130) { // iRO text diff --git a/npc/re/instances/WolfchevLaboratory.txt b/npc/re/instances/WolfchevLaboratory.txt index e88ec4332..51e2f8a06 100644 --- a/npc/re/instances/WolfchevLaboratory.txt +++ b/npc/re/instances/WolfchevLaboratory.txt @@ -33,8 +33,6 @@ //= 1.0.2 //========================================================================= -1@lhz mapflag src4instance - //== Giacomo Girolam ======================================= lighthalzen,303,303,6 script Giacomo Girolamo#kiup2 4_M_KHMAN,3,3,{ if ((MaxWeight - Weight) < 1000 || !checkweight(Knife, 1)) { diff --git a/npc/re/instances/ghost_palace.txt b/npc/re/instances/ghost_palace.txt index b1a8f3c10..6e77db2f8 100644 --- a/npc/re/instances/ghost_palace.txt +++ b/npc/re/instances/ghost_palace.txt @@ -30,7 +30,6 @@ //================= Current Version ======================================= //= 1.1 //========================================================================= -1@spa mapflag src4instance dali02,44,129,5 script Unpleasent Royal Guard 4_M_SAKRAYROYAL,{ if (BaseLevel < 120) { diff --git a/npc/re/instances/octopus_cave.txt b/npc/re/instances/octopus_cave.txt index b09d243ab..b134742c9 100644 --- a/npc/re/instances/octopus_cave.txt +++ b/npc/re/instances/octopus_cave.txt @@ -33,8 +33,6 @@ //= 1.1 //========================================================================= -1@cash mapflag src4instance - //== Instance Creation ===================================== mal_dun01,151,235,5 script Starfish 4_ASTER,{ diff --git a/npc/re/instances/saras_memory.txt b/npc/re/instances/saras_memory.txt index 2b3b4f2c0..38b598d5b 100644 --- a/npc/re/instances/saras_memory.txt +++ b/npc/re/instances/saras_memory.txt @@ -37,7 +37,6 @@ //================= Current Version ======================================= //= 1.1 //========================================================================= -1@sara mapflag src4instance dali,130,107,5 script Leon the Adventurer#Sara 4_M_DST_GRAND,{ // instance CD check only at the Dimensional Device mes("[Leon the Adventurer]"); diff --git a/npc/re/mapflag/gvg.txt b/npc/re/mapflag/gvg.txt new file mode 100644 index 000000000..2e0e85f32 --- /dev/null +++ b/npc/re/mapflag/gvg.txt @@ -0,0 +1,41 @@ +//================= Hercules Script ======================================= +//= _ _ _ +//= | | | | | | +//= | |_| | ___ _ __ ___ _ _| | ___ ___ +//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| +//= | | | | __/ | | (__| |_| | | __/\__ \ +//= \_| |_/\___|_| \___|\__,_|_|\___||___/ +//================= License =============================================== +//= This file is part of Hercules. +//= http://herc.ws - http://github.com/HerculesWS/Hercules +//= +//= Copyright (C) 2017 Hercules Dev Team +//= +//= Hercules is free software: you can redistribute it and/or modify +//= it under the terms of the GNU General Public License as published by +//= the Free Software Foundation, either version 3 of the License, or +//= (at your option) any later version. +//= +//= This program is distributed in the hope that it will be useful, +//= but WITHOUT ANY WARRANTY; without even the implied warranty of +//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +//= GNU General Public License for more details. +//= +//= You should have received a copy of the GNU General Public License +//= along with this program. If not, see <http://www.gnu.org/licenses/>. +//========================================================================= +//= Mapflag: Guild versus Guild mode. +//================= Current Version ======================================= +//= 1.0 +//================= Description =========================================== +//= 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_castle: Describes castle maps for WoE. +//========================================================================= + +// Hall of the Abyss ====== +gld2_ald mapflag gvg_dungeon +gld2_gef mapflag gvg_dungeon +gld2_pay mapflag gvg_dungeon +gld2_prt mapflag gvg_dungeon diff --git a/npc/re/mapflag/zone.txt b/npc/re/mapflag/zone.txt index a6cfd95f1..24ffce665 100644 --- a/npc/re/mapflag/zone.txt +++ b/npc/re/mapflag/zone.txt @@ -32,6 +32,41 @@ //= Flags maps as part of zones defined in map_zone_db.txt //========================================================================= +// Misty Forest Labyrinth =========== +1@mist mapflag zone Memorial Dungeon + +// Octopus Cave =========== +1@cash mapflag zone Memorial Dungeon + +// Drain =========== +1@pump mapflag zone Memorial Dungeon +2@pump mapflag zone Memorial Dungeon + +// Somatology Laboratory =========== +1@lhz mapflag zone Memorial Dungeon + +// Bangungot Hospital F2 =========== +1@ma_h mapflag zone Memorial Dungeon + +// Buwaya Cave =========== +1@ma_c mapflag zone Memorial Dungeon + +// Bakonawa Hideout =========== +1@ma_b mapflag zone Memorial Dungeon + +// Inside Eclage =========== +1@ecl mapflag zone Memorial Dungeon + +// Old Glast Heim =========== +1@gl_k mapflag zone Memorial Dungeon +2@gl_k mapflag zone Memorial Dungeon + +// Ghost Palace =========== +1@spa mapflag zone Memorial Dungeon + +// Sara's Memory Instance =========== +1@sara mapflag zone Memorial Dungeon + // WoE:TE te_prt_gld mapflag zone WoE TE te_prtcas01 mapflag zone WoE TE diff --git a/npc/re/merchants/shadow_refiner.txt b/npc/re/merchants/shadow_refiner.txt index 4e5049e5f..2f8984498 100644 --- a/npc/re/merchants/shadow_refiner.txt +++ b/npc/re/merchants/shadow_refiner.txt @@ -158,7 +158,7 @@ itemmall,31,76,3 script Shadow Blacksmith#nomal 4_F_JOB_BLACKSMITH,{ } delitem .@choose,1; Zeny -= 20000; - if (getequippercentrefinery(.@SelectedPart) > rand(100) || getequippercentrefinery(.@SelectedPart) > rand(100)) { + if (getequippercentrefinery(.@SelectedPart) > rand(100) || ( .@option == 1 && getequippercentrefinery(.@SelectedPart) > rand(100))) { successrefitem .@SelectedPart; mes "[Shadow Blacksmith]"; mes "Refine was successful."; diff --git a/npc/re/scripts_mapflags.conf b/npc/re/scripts_mapflags.conf index 8727d9b44..570294c47 100644 --- a/npc/re/scripts_mapflags.conf +++ b/npc/re/scripts_mapflags.conf @@ -28,4 +28,5 @@ //= Map Flags //========================================================================= +"npc/re/mapflag/gvg.txt", "npc/re/mapflag/zone.txt", diff --git a/npc/re/woe-fe/invest_main.txt b/npc/re/woe-fe/invest_main.txt index c912444cc..d743225df 100644 --- a/npc/re/woe-fe/invest_main.txt +++ b/npc/re/woe-fe/invest_main.txt @@ -107,16 +107,16 @@ function script F_Invest_Status { return 0; // Open for investments. - if (.@day >= 3 && (.@day < 5 || (.@day == 5 && .@hour <= 12))) + if (.@day >= WEDNESDAY && (.@day < FRIDAY || (.@day == FRIDAY && .@hour <= 12))) return 1; // Investments closed, calculating results. - if (.@day == 5 && .@hour == 12 && .@minute < 35) + if (.@day == FRIDAY && .@hour == 12 && .@minute < 35) return 2; // Calculations complete, dungeons open. - if ((.@day == 5 && (.@hour > 12 || (.@hour == 12 && .@minute >= 35))) || .@day > 5 || - .@day < 2 || (.@day == 2 && .@hour < 20)) + if ((.@day == FRIDAY && (.@hour > 12 || (.@hour == 12 && .@minute >= 35))) || .@day > FRIDAY || + .@day < TUESDAY || (.@day == TUESDAY && .@hour < 20)) return 3; // Dungeons closed. @@ -273,14 +273,14 @@ OnCalculate: else setd "$"+.@cas$[.@i]+"_invest_result",1; } - // No further actions if 20,000,000z isn't reached. - if (!.@total_2000) - end; // No further actions if any realm hits 70,000,000z. if (.@total_7000) { $2011_agit_invest = 4; end; } + // No further actions if 20,000,000z isn't reached. + if (!.@total_2000) + end; // Otherwise, highest investment above 20,000,000z opens Hall of Abyss. .@max = .@funds[0]; for(.@i = 1; .@i<4; ++.@i) { @@ -882,7 +882,7 @@ OnAgitInvest: close; } case 3: - if (checkweight(Knife,1) == 0 || MaxWeight - Weight < 1000) { + if (checkweight(Knife,1) == 0 || MaxWeight - Weight < 2000) { mes "- Currently you're carrying -"; mes "- too many items with you. -"; mes "- Please try again after you -"; @@ -1126,7 +1126,7 @@ OnAgitInvest: next; switch(select("Invest for gate connection", "Deepest Layer Dungeon Access", "Abyss Gate Access", "Cancel")) { case 1: - if (checkweight(Knife,1) == 0 || MaxWeight - Weight < 1000) { + if (checkweight(Knife,1) == 0 || MaxWeight - Weight < 2000) { mes "[Gate Manager]"; mes "You have too many items to receive the Thank You Ticket as a small gift for your investment."; mes "Please come back after making room in your inventory."; @@ -1401,27 +1401,48 @@ malangdo,218,123,1 script Namis#invest 4_CAT_SAILOR2,4,4,{ "Piece of Thanatos' armor","I hear Dragon Scales are tough 02","The identity of the creepy eye","If only I could see!"; .@i = select(implode(.@event1$[0],":"))-1; switch(.@i+1) { - case 1: callsub L_Check,"2 Pieces of Queen's Wing",6326,2,"Wings of the Insect Queen? What a pitiful name. I would've given some cool names!",.@event1$[.@i]; - case 2: callsub L_Check,"2 Broken Crowns",7754,2,"For crying out loud! Those cats working on these events must be playing around. Can't they think of a better name?",.@event1$[.@i]; - case 3: callsub L_Check,"2 Fire Dragon Scales",7451,2,"Dragon scales? Well... I guess they are tough. But what are they going to use them for?",.@event1$[.@i]; - case 4: callsub L_Check,"3 Mother's Nightmares",7020,3,"Even though I don't have the authority to find out, I wonder what they're doing with the collected items?",.@event1$[.@i]; - case 5: callsub L_Check,"5 Gemstones",7300,5,"Something useful for a change. The ore will end up as nice pieces of jewelry.",.@event1$[.@i]; - case 6: callsub L_Check,"5 Heroic Emblems",968,5,"Good, good. This is the kind of name I wanted!",.@event1$[.@i]; - case 7: callsub L_Check,"3 Taeguk Plates",7169,3,"Taking in something like this, maybe they're up to something dangerous.",.@event1$[.@i]; - case 8: callsub L_Check,"3 Broken Pharaoh Symbols and 3 Tutankhamen's Masks",7113,3,"I hear the pyramids are in Morroc, but I've never been there. Some humans call it Morco.",.@event1$[.@i],7114,3; - case 9: callsub L_Check,"2 Pocket Watches",7513,2,"Those lazy merchants, why do they need pocket watches they don't even use?",.@event1$[.@i]; - case 10: callsub L_Check,"3 Young Twigs",7018,3,"Mellow Island has a climate like with where we cats used to live. But the trees die out sometimes due to it being an island.",.@event1$[.@i]; - case 11: callsub L_Check,"5 Rossata Pieces",7211,5,"I guess they collect these because humans have them, but what's the use of researching ancient languages?",.@event1$[.@i]; - case 12: callsub L_Check,"5 Fangs of Garm",7036,5,"Weak humans need sharp weapons, but cats already have nice and sharp claws, so why are we collecting these!!",.@event1$[.@i]; - case 13: callsub L_Check,"3 Baphomet Dolls",750,3,"Baphomet dolls are great for playing around with.",.@event1$[.@i]; - case 14: callsub L_Check,"1 Tiger's Footskin and 5 Tiger Skins",1030,1,"Did you know that tigers are cats too? Therefore, cats are better than tigers.",.@event1$[.@i],1029,5; - case 15: callsub L_Check,"3 Broken Shield Pieces and 3 Shining Spear Blades",7108,3,"I don't know what they want with these.",.@event1$[.@i],7109,3; - case 16: callsub L_Check,"3 Osiris Dolls",751,3,"Shame~ I never got to play with an Osiris doll.",.@event1$[.@i]; - case 17: callsub L_Check,"1 Ice Scale",7562,1,"Mellow Island is a fabulous place to live. But the ships are too hot.",.@event1$[.@i]; - case 18: callsub L_Check,"1 Skeletal Armor Piece",7450,1,"Ewww... Why would they collect something so creepy?",.@event1$[.@i]; - case 19: callsub L_Check,"1 Darkred Scale Piece",6091,1,"Dragon scales? Well... I guess they are tough. But what are they going to use them for?",.@event1$[.@i]; - case 20: callsub L_Check,"2 Wills of Red Darkness",7566,2,"Interesting! Does it scream or something when I poke it in the eye?",.@event1$[.@i]; - case 21: callsub L_Check,"2 Foolishness of the Blind",7021,2,"This blind man is foolish in not knowing that gathering 300 cats cures blindness...",.@event1$[.@i]; + case 1: + callsub(L_Check, "2 Pieces of Queen's Wing", Queen_Wing_Piece, 2, "Wings of the Insect Queen? What a pitiful name. I would've given some cool names!", .@event1$[.@i]); + case 2: + callsub(L_Check, "2 Broken Crowns", Broken_Crown, 2, "For crying out loud! Those cats working on these events must be playing around. Can't they think of a better name?", .@event1$[.@i]); + case 3: + callsub(L_Check, "2 Fire Dragon Scales", Scale_Of_Red_Dragon, 2, "Dragon scales? Well... I guess they are tough. But what are they going to use them for?", .@event1$[.@i]); + case 4: + callsub(L_Check, "3 Mother's Nightmares", Mothers_Nightmare, 3, "Even though I don't have the authority to find out, I wonder what they're doing with the collected items?", .@event1$[.@i]); + case 5: + callsub(L_Check, "5 Gemstones", Gemstone, 5, "Something useful for a change. The ore will end up as nice pieces of jewelry.", .@event1$[.@i]); + case 6: + callsub(L_Check, "5 Heroic Emblems", Voucher_Of_Orcish_Hero, 5, "Good, good. This is the kind of name I wanted!", .@event1$[.@i]); + case 7: + callsub(L_Check, "3 Taeguk Plates", Taegeuk_Plate, 3, "Taking in something like this, maybe they're up to something dangerous.", .@event1$[.@i]); + case 8: + callsub(L_Check, "3 Broken Pharaoh Symbols and 3 Tutankhamen's Masks", Broken_Pharaoh_Symbol, 3, "I hear the pyramids are in Morroc, but I've never been there. Some humans call it Morco.", .@event1$[.@i], Tutankhamens_Mask, 3); + case 9: + callsub(L_Check, "2 Pocket Watches", Pocket_Watch, 2, "Those lazy merchants, why do they need pocket watches they don't even use?", .@event1$[.@i]); + case 10: + callsub(L_Check, "3 Young Twigs", Young_Twig, 3, "Mellow Island has a climate like with where we cats used to live. But the trees die out sometimes due to it being an island.", .@event1$[.@i]); + case 11: + callsub(L_Check, "5 Rossata Pieces", Rojerta_Piece, 5, "I guess they collect these because humans have them, but what's the use of researching ancient languages?", .@event1$[.@i]); + case 12: + callsub(L_Check, "5 Fangs of Garm", Fang_Of_Garm, 5, "Weak humans need sharp weapons, but cats already have nice and sharp claws, so why are we collecting these!!", .@event1$[.@i]); + case 13: + callsub(L_Check, "3 Baphomet Dolls", Baphomet_Doll, 3, "Baphomet dolls are great for playing around with.", .@event1$[.@i]); + case 14: + callsub(L_Check, "1 Tiger's Footskin and 5 Tiger Skins", Tiger_Footskin, 1, "Did you know that tigers are cats too? Therefore, cats are better than tigers.", .@event1$[.@i], Tigers_Skin, 5); + case 15: + callsub(L_Check, "3 Broken Shield Pieces and 3 Shining Spear Blades", Boroken_Shiled_Piece, 3, "I don't know what they want with these.", .@event1$[.@i], Shine_Spear_Blade, 3); + case 16: + callsub(L_Check, "3 Osiris Dolls", Osiris_Doll, 3, "Shame~ I never got to play with an Osiris doll.", .@event1$[.@i]); + case 17: + callsub(L_Check, "1 Ice Scale", Ice_Scale, 1, "Mellow Island is a fabulous place to live. But the ships are too hot.", .@event1$[.@i]); + case 18: + callsub(L_Check, "1 Skeletal Armor Piece", Piece_Of_Bone_Armor, 1, "Ewww... Why would they collect something so creepy?", .@event1$[.@i]); + case 19: + callsub(L_Check, "1 Darkred Scale Piece", Dark_Red_Scale, 1, "Dragon scales? Well... I guess they are tough. But what are they going to use them for?", .@event1$[.@i]); + case 20: + callsub(L_Check, "2 Wills of Red Darkness", Will_Of_Darkness_, 2, "Interesting! Does it scream or something when I poke it in the eye?", .@event1$[.@i]); + case 21: + callsub(L_Check, "2 Foolishness of the Blind", Foolishness_Of_Blind, 2, "This blind man is foolish in not knowing that gathering 300 cats cures blindness...", .@event1$[.@i]); } case 3: mes "[Namis]"; @@ -1496,21 +1517,36 @@ malangdo,215,119,4 script Thanks Ticket Machine 2_VENDING_MACHINE1,{ mes "The Vending Machine is selling items in the following list."; next; switch(select("Finish", "1 Siege Arrow Quiver A (2 Tickets)", "1 Siege Arrow Quiver S (2 Tickets)", "30 White Potion (12 Tickets)", "30 White Slim Potion (14 Tickets)", "10 Dark Water (20 Tickets)", "20 Siege_Violet_Potion (30 Tickets)", "10 Coldproof Potion (30 Tickets)", "10 Thunderproof Potion (30 Tickets)", "10 Earthproof Potion (30 Tickets)", "10 Fireproof Potion (30 Tickets)", "10 Elemental Converter[Fire] (30 Tickets)")) { - case 1: close; - case 2: callsub L_Purchase,2,12678,1; //Siege_Arrow_Quiver_A - case 3: callsub L_Purchase,2,12677,1; //Siege_Arrow_Quiver_S - case 4: callsub L_Purchase,12,504,30; //White_Potion - case 5: callsub L_Purchase,14,547,30; //White_Slim_Potion - case 6: callsub L_Purchase,20,12020,10; //Water_Of_Darkness - case 7: callsub L_Purchase,30,11547,20; //Woe_Violet_Potion - case 8: callsub L_Purchase,30,12119,10; //Resist_Water - case 9: callsub L_Purchase,30,12121,10; //Resist_Wind - case 10: callsub L_Purchase,30,12120,10; //Resist_Earth - case 11: callsub L_Purchase,30,12118,10; //Resist_Fire - case 12: callsub L_Purchase,30,12114,10,"Elemental Converter[Fire]"; //Elemental_Fire - case 13: callsub L_Purchase,30,12115,10,"Elemental Converter[Water]"; //Elemental_Water - case 14: callsub L_Purchase,30,12117,10,"Elemental Converter[Wind]"; //Elemental_Wind - case 15: callsub L_Purchase,30,12116,10,"Elemental Converter[Earth]"; //Elemental_Earth + case 1: + close; + case 2: + callsub(L_Purchase, 2, Siege_Arrow_Quiver_A, 1); + case 3: + callsub(L_Purchase, 2, Siege_Arrow_Quiver_S, 1); + case 4: + callsub(L_Purchase, 12, White_Potion, 30); + case 5: + callsub(L_Purchase, 14, White_Slim_Potion, 30); + case 6: + callsub(L_Purchase, 20, Water_Of_Darkness, 10); + case 7: + callsub(L_Purchase, 30, Woe_Violet_Potion, 20); + case 8: + callsub(L_Purchase, 30, Resist_Water, 10); + case 9: + callsub(L_Purchase, 30, Resist_Wind, 10); + case 10: + callsub(L_Purchase, 30, Resist_Earth, 10); + case 11: + callsub(L_Purchase, 30, Resist_Fire, 10); + case 12: + callsub(L_Purchase, 30, Elemental_Fire, 10, "Elemental Converter[Fire]"); + case 13: + callsub(L_Purchase, 30, Elemental_Water, 10, "Elemental Converter[Water]"); + case 14: + callsub(L_Purchase, 30, Elemental_Wind, 10, "Elemental Converter[Wind]"); + case 15: + callsub(L_Purchase, 30, Elemental_Earth, 10, "Elemental Converter[Earth]"); } end; case 3: @@ -1520,67 +1556,126 @@ malangdo,215,119,4 script Thanks Ticket Machine 2_VENDING_MACHINE1,{ mes "You don't have enough ^FF0000Invest Thanks Ticket^000000 to proceed."; close; } - delitem Thanks_Invest_Ticket,5; - .@i = rand(1,10000); - if (.@i <= 100) callsub L_Bag,12531,1; //White_Potion_Box - else if (.@i <= 200) callsub L_Bag,12549,1; //White_Slim_Pot_Box2 - else if (.@i <= 250) callsub L_Bag,11549,10; //Woe_Blue_Potion - else if (.@i <= 660) callsub L_Bag,617,1; //Old_Violet_Box - else if (.@i <= 710) callsub L_Bag,12532,1; //Royal_Jelly_Box2 - else if (.@i <= 760) callsub L_Bag,12533,1; //Blue_Herb_Box2 - else if (.@i <= 810) callsub L_Bag,505,5; //Blue_Potion - else if (.@i <= 1110) callsub L_Bag,644,1; //Gift_Box - else if (.@i <= 1120) callsub L_Bag,607,1; //Yggdrasilberry - else if (.@i <= 1130) callsub L_Bag,608,2; //Seed_Of_Yggdrasil - else if (.@i <= 1140) callsub L_Bag,12292,5; //Unripe_Fruit - else if (.@i <= 1150) callsub L_Bag,12293,5; //Dried_Yggdrasilberry - else if (.@i <= 1250) callsub L_Bag,12679,1; //Sg_White_Potion_Box - else if (.@i <= 1471) callsub L_Bag,603,1; //Old_Blue_Box - else if (.@i <= 1571) callsub L_Bag,12550,1,"Poison Bottle Box(30)"; //Poison_Bottle_Box2 - else if (.@i <= 1671) callsub L_Bag,12020,10; //Water_Of_Darkness - else if (.@i <= 1871) callsub L_Bag,12030,5; //Box_Of_Grudge - else if (.@i <= 2071) callsub L_Bag,12031,5; //Sleepy_Box - else if (.@i <= 2371) callsub L_Bag,12033,2; //Box_Of_Sunlight - else if (.@i <= 2571) callsub L_Bag,12114,5,"Elemental Converter[Fire]"; //Elemental_Fire - else if (.@i <= 2771) callsub L_Bag,12115,5,"Elemental Converter[Water]"; //Elemental_Water - else if (.@i <= 2971) callsub L_Bag,12117,5,"Elemental Converter[Wind]"; //Elemental_Wind - else if (.@i <= 3171) callsub L_Bag,12116,5,"Elemental Converter[Earth]"; //Elemental_Earth - else if (.@i <= 3271) callsub L_Bag,12680,1; //Sg_Blue_Potion_Box - else if (.@i <= 3471) callsub L_Bag,12118,5; //Resist_Fire - else if (.@i <= 3671) callsub L_Bag,12119,5; //Resist_Water - else if (.@i <= 3871) callsub L_Bag,12121,5; //Resist_Wind - else if (.@i <= 4071) callsub L_Bag,12120,5; //Resist_Earth - else if (.@i <= 4271) callsub L_Bag,929,20; //Immortal_Heart - else if (.@i <= 4471) callsub L_Bag,1059,20; //Transparent_Cloth - else if (.@i <= 4671) callsub L_Bag,905,20; //Stem - else if (.@i <= 4871) callsub L_Bag,606,10; //Aloebera - else if (.@i <= 5071) callsub L_Bag,609,10; //Amulet - else if (.@i <= 5271) callsub L_Bag,710,2; //Illusion_Flower - else if (.@i <= 5471) callsub L_Bag,576,20; //Prickly_Fruit - else if (.@i <= 5671) callsub L_Bag,621,10; //Bitter_Herb - else if (.@i <= 5871) callsub L_Bag,709,10; //Izidor - else if (.@i <= 6071) callsub L_Bag,605,10; //Anodyne - else if (.@i <= 6171) callsub L_Bag,11548,10; //Woe_White_Potion - else if (.@i <= 6371) callsub L_Bag,706,10; //Four_Leaf_Clover - else if (.@i <= 6571) callsub L_Bag,521,10; //Leaflet_Of_Aloe - else if (.@i <= 6771) callsub L_Bag,707,10; //Singing_Plant - else if (.@i <= 6971) callsub L_Bag,610,10; //Leaf_Of_Yggdrasil - else if (.@i <= 7021) callsub L_Bag,12676,1; //Sg_Violet_Potion_Box - else if (.@i <= 7171) callsub L_Bag,6249,10; //Savage_Meat - else if (.@i <= 7321) callsub L_Bag,6252,10; //Wolf_Blood - else if (.@i <= 7471) callsub L_Bag,6254,10; //Beef_Head_Meat - else if (.@i <= 7621) callsub L_Bag,6253,10; //Cold_Ice - else if (.@i <= 7771) callsub L_Bag,6256,10; //Ice_Fragment - else if (.@i <= 7921) callsub L_Bag,6257,10; //Ice_Crystal - else if (.@i <= 8071) callsub L_Bag,6260,10; //Petti_Tail - else if (.@i <= 8309) callsub L_Bag,7932,20; //Poison_Herb_Nerium - else if (.@i <= 8547) callsub L_Bag,7933,20; //Poison_Herb_Rantana - else if (.@i <= 8785) callsub L_Bag,7934,20; //Poison_Herb_Makulata - else if (.@i <= 9023) callsub L_Bag,7935,20; //Poison_Herb_Seratum - else if (.@i <= 9261) callsub L_Bag,7936,20; //Poison_Herb_Scopolia - else if (.@i <= 9499) callsub L_Bag,7937,20; //Poison_Herb_Amoena - else if (.@i <= 9699) callsub L_Bag,6217,20; //Mandragora_Flowerpot - else callsub L_Bag,12016,10; //Speed_Up_Potion + delitem(Thanks_Invest_Ticket, 5); + .@i = rand(1, 10000); + if (.@i <= 100) + callsub(L_Bag, White_Potion_Box, 1); + else if (.@i <= 200) + callsub(L_Bag, White_Slim_Pot_Box2, 1); + else if (.@i <= 250) + callsub(L_Bag, Woe_Blue_Potion, 10); + else if (.@i <= 660) + callsub(L_Bag, Old_Violet_Box, 1); + else if (.@i <= 710) + callsub(L_Bag, Royal_Jelly_Box2, 1); + else if (.@i <= 760) + callsub(L_Bag, Blue_Herb_Box2, 1); + else if (.@i <= 810) + callsub(L_Bag, Blue_Potion, 5); + else if (.@i <= 1110) + callsub(L_Bag, Gift_Box, 1); + else if (.@i <= 1120) + callsub(L_Bag, Yggdrasilberry, 1); + else if (.@i <= 1130) + callsub(L_Bag, Seed_Of_Yggdrasil, 2); + else if (.@i <= 1140) + callsub(L_Bag, Unripe_Fruit, 5); + else if (.@i <= 1150) + callsub(L_Bag, Dried_Yggdrasilberry, 5); + else if (.@i <= 1250) + callsub(L_Bag, Sg_White_Potion_Box, 1); + else if (.@i <= 1471) + callsub(L_Bag, Old_Blue_Box, 1); + else if (.@i <= 1571) + callsub(L_Bag, Poison_Bottle_Box2, 1, "Poison Bottle Box(30);"); + else if (.@i <= 1671) + callsub(L_Bag, Water_Of_Darkness, 10); + else if (.@i <= 1871) + callsub(L_Bag, Box_Of_Grudge, 5); + else if (.@i <= 2071) + callsub(L_Bag, Sleepy_Box, 5); + else if (.@i <= 2371) + callsub(L_Bag, Box_Of_Sunlight, 2); + else if (.@i <= 2571) + callsub(L_Bag, Elemental_Fire, 5, "Elemental Converter[Fire]"); + else if (.@i <= 2771) + callsub(L_Bag, Elemental_Water, 5, "Elemental Converter[Water]"); + else if (.@i <= 2971) + callsub(L_Bag, Elemental_Earth, 5, "Elemental Converter[Wind]"); + else if (.@i <= 3171) + callsub(L_Bag, Elemental_Wind, 5, "Elemental Converter[Earth]"); + else if (.@i <= 3271) + callsub(L_Bag, Sg_Blue_Potion_Box, 1); + else if (.@i <= 3471) + callsub(L_Bag, Resist_Fire, 5); + else if (.@i <= 3671) + callsub(L_Bag, Resist_Water, 5); + else if (.@i <= 3871) + callsub(L_Bag, Resist_Wind, 5); + else if (.@i <= 4071) + callsub(L_Bag, Resist_Earth, 5); + else if (.@i <= 4271) + callsub(L_Bag, Immortal_Heart, 20); + else if (.@i <= 4471) + callsub(L_Bag, Transparent_Cloth, 20); + else if (.@i <= 4671) + callsub(L_Bag, Stem, 20); + else if (.@i <= 4871) + callsub(L_Bag, Aloebera, 10); + else if (.@i <= 5071) + callsub(L_Bag, Amulet, 10); + else if (.@i <= 5271) + callsub(L_Bag, Illusion_Flower, 2); + else if (.@i <= 5471) + callsub(L_Bag, Prickly_Fruit, 20); + else if (.@i <= 5671) + callsub(L_Bag, Bitter_Herb, 10); + else if (.@i <= 5871) + callsub(L_Bag, Izidor, 10); + else if (.@i <= 6071) + callsub(L_Bag, Anodyne, 10); + else if (.@i <= 6171) + callsub(L_Bag, Woe_White_Potion, 10); + else if (.@i <= 6371) + callsub(L_Bag, Four_Leaf_Clover, 10); + else if (.@i <= 6571) + callsub(L_Bag, Leaflet_Of_Aloe, 10); + else if (.@i <= 6771) + callsub(L_Bag, Singing_Plant, 10); + else if (.@i <= 6971) + callsub(L_Bag, Leaf_Of_Yggdrasil, 10); + else if (.@i <= 7021) + callsub(L_Bag, Sg_Violet_Potion_Box, 1); + else if (.@i <= 7171) + callsub(L_Bag, Savage_Meat, 10); + else if (.@i <= 7321) + callsub(L_Bag, Wolf_Blood, 10); + else if (.@i <= 7471) + callsub(L_Bag, Beef_Head_Meat, 10); + else if (.@i <= 7621) + callsub(L_Bag, Cold_Ice, 10); + else if (.@i <= 7771) + callsub(L_Bag, Ice_Fragment, 10); + else if (.@i <= 7921) + callsub(L_Bag, Ice_Crystal, 10); + else if (.@i <= 8071) + callsub(L_Bag, Petti_Tail, 10); + else if (.@i <= 8309) + callsub(L_Bag, Poison_Herb_Nerium, 20); + else if (.@i <= 8547) + callsub(L_Bag, Poison_Herb_Rantana, 20); + else if (.@i <= 8785) + callsub(L_Bag, Poison_Herb_Makulata, 20); + else if (.@i <= 9023) + callsub(L_Bag, Poison_Herb_Seratum, 20); + else if (.@i <= 9261) + callsub(L_Bag, Poison_Herb_Scopolia, 20); + else if (.@i <= 9499) + callsub(L_Bag, Poison_Herb_Amoena, 20); + else if (.@i <= 9699) + callsub(L_Bag, Mandragora_Flowerpot, 20); + else + callsub(L_Bag, Speed_Up_Potion, 10); end; case 4: mes "Black Paw Jelly Bag Button chosen. Need to insert 50 ^FF0000Invest Thanks Ticket^000000 and a random item will appear."; @@ -1589,75 +1684,142 @@ malangdo,215,119,4 script Thanks Ticket Machine 2_VENDING_MACHINE1,{ mes "You don't have enough ^FF0000Invest Thanks Ticket^000000 to proceed."; close; } - delitem Thanks_Invest_Ticket,50; - .@i = rand(1,10000); - if (.@i <= 100) callsub L_Bag,12531,1; //White_Potion_Box - else if (.@i <= 200) callsub L_Bag,12549,1; //White_Slim_Pot_Box2 - else if (.@i <= 250) callsub L_Bag,11549,20; //Woe_Blue_Potion - else if (.@i <= 450) callsub L_Bag,617,1; //Old_Violet_Box - else if (.@i <= 500) callsub L_Bag,12532,1; //Royal_Jelly_Box2 - else if (.@i <= 550) callsub L_Bag,12533,1; //Blue_Herb_Box2 - else if (.@i <= 600) callsub L_Bag,505,10; //Blue_Potion - else if (.@i <= 800) callsub L_Bag,644,1; //Gift_Box - else if (.@i <= 810) callsub L_Bag,607,2; //Yggdrasilberry - else if (.@i <= 820) callsub L_Bag,608,3; //Seed_Of_Yggdrasil - else if (.@i <= 830) callsub L_Bag,12292,10; //Unripe_Fruit - else if (.@i <= 840) callsub L_Bag,12293,10; //Dried_Yggdrasilberry - else if (.@i <= 940) callsub L_Bag,12679,1; //Sg_White_Potion_Box - else if (.@i <= 1140) callsub L_Bag,603,1; //Old_Blue_Box - else if (.@i <= 1240) callsub L_Bag,12550,1,"Poison Bottle Box(30)"; //Poison_Bottle_Box2 - else if (.@i <= 1340) callsub L_Bag,12020,20; //Water_Of_Darkness - else if (.@i <= 1440) callsub L_Bag,12030,10; //Box_Of_Grudge - else if (.@i <= 1540) callsub L_Bag,12031,10; //Sleepy_Box - else if (.@i <= 1690) callsub L_Bag,12033,4; //Box_Of_Sunlight - else if (.@i <= 1790) callsub L_Bag,12114,10,"Elemental Converter[Fire]"; //Elemental_Fire - else if (.@i <= 1890) callsub L_Bag,12115,10,"Elemental Converter[Water]"; //Elemental_Water - else if (.@i <= 1990) callsub L_Bag,12117,10,"Elemental Converter[Wind]"; //Elemental_Wind - else if (.@i <= 2090) callsub L_Bag,12116,10,"Elemental Converter[Earth]"; //Elemental_Earth - else if (.@i <= 2190) callsub L_Bag,12680,1; //Sg_Blue_Potion_Box - else if (.@i <= 2290) callsub L_Bag,12118,10; //Resist_Fire - else if (.@i <= 2390) callsub L_Bag,12119,10; //Resist_Water - else if (.@i <= 2490) callsub L_Bag,12121,10; //Resist_Wind - else if (.@i <= 2590) callsub L_Bag,12120,10; //Resist_Earth - else if (.@i <= 2690) callsub L_Bag,929,40; //Immortal_Heart - else if (.@i <= 2790) callsub L_Bag,1059,40; //Transparent_Cloth - else if (.@i <= 2890) callsub L_Bag,905,40; //Stem - else if (.@i <= 2990) callsub L_Bag,606,20; //Aloebera - else if (.@i <= 3090) callsub L_Bag,609,20; //Amulet - else if (.@i <= 3190) callsub L_Bag,710,4; //Illusion_Flower - else if (.@i <= 3290) callsub L_Bag,576,40; //Prickly_Fruit - else if (.@i <= 3390) callsub L_Bag,621,20; //Bitter_Herb - else if (.@i <= 3490) callsub L_Bag,709,20; //Izidor - else if (.@i <= 3590) callsub L_Bag,605,20; //Anodyne - else if (.@i <= 3690) callsub L_Bag,11548,20; //Woe_White_Potion - else if (.@i <= 3790) callsub L_Bag,706,20; //Four_Leaf_Clover - else if (.@i <= 3890) callsub L_Bag,521,20; //Leaflet_Of_Aloe - else if (.@i <= 3990) callsub L_Bag,707,20; //Singing_Plant - else if (.@i <= 4090) callsub L_Bag,610,20; //Leaf_Of_Yggdrasil - else if (.@i <= 4140) callsub L_Bag,12676,1; //Sg_Violet_Potion_Box - else if (.@i <= 4240) callsub L_Bag,6249,20; //Savage_Meat - else if (.@i <= 4340) callsub L_Bag,6252,20; //Wolf_Blood - else if (.@i <= 4440) callsub L_Bag,6254,20; //Beef_Head_Meat - else if (.@i <= 4540) callsub L_Bag,6253,20; //Cold_Ice - else if (.@i <= 4640) callsub L_Bag,6256,20; //Ice_Fragment - else if (.@i <= 4740) callsub L_Bag,6257,20; //Ice_Crystal - else if (.@i <= 4840) callsub L_Bag,6260,20; //Petti_Tail - else if (.@i <= 4940) callsub L_Bag,7932,40; //Poison_Herb_Nerium - else if (.@i <= 5040) callsub L_Bag,7933,40; //Poison_Herb_Rantana - else if (.@i <= 5140) callsub L_Bag,7934,40; //Poison_Herb_Makulata - else if (.@i <= 5240) callsub L_Bag,7935,40; //Poison_Herb_Seratum - else if (.@i <= 5340) callsub L_Bag,7936,40; //Poison_Herb_Scopolia - else if (.@i <= 5440) callsub L_Bag,7937,40; //Poison_Herb_Amoena - else if (.@i <= 5540) callsub L_Bag,6217,40; //Mandragora_Flowerpot - else if (.@i <= 6000) callsub L_Bag,12016,20; //Speed_Up_Potion - else if (.@i <= 6500) callsub L_Bag,2483,1; //Siege_Greave - else if (.@i <= 7000) callsub L_Bag,2484,1; //Siege_Boots - else if (.@i <= 7500) callsub L_Bag,2485,1; //Siege_Shoes - else if (.@i <= 8000) callsub L_Bag,2586,1; //Siege_Manteau - else if (.@i <= 8500) callsub L_Bag,2587,1; //Siege_Muffler - else if (.@i <= 9000) callsub L_Bag,15046,1; //Siege_Plate - else if (.@i <= 9500) callsub L_Bag,15047,1; //Siege_Suits - else callsub L_Bag,15048,1; //Siege_Robe + delitem(Thanks_Invest_Ticket, 50); + .@i = rand(1, 10000); + if (.@i <= 100) + callsub(L_Bag, White_Potion_Box, 1); + else if (.@i <= 200) + callsub(L_Bag, White_Slim_Pot_Box2, 1); + else if (.@i <= 250) + callsub(L_Bag, Woe_Blue_Potion, 20); + else if (.@i <= 450) + callsub(L_Bag, Old_Violet_Box, 1); + else if (.@i <= 500) + callsub(L_Bag, Royal_Jelly_Box2, 1); + else if (.@i <= 550) + callsub(L_Bag, Blue_Herb_Box2, 1); + else if (.@i <= 600) + callsub(L_Bag, Blue_Potion, 10); + else if (.@i <= 800) + callsub(L_Bag, Gift_Box, 1); + else if (.@i <= 810) + callsub(L_Bag, Yggdrasilberry, 2); + else if (.@i <= 820) + callsub(L_Bag, Seed_Of_Yggdrasil, 3); + else if (.@i <= 830) + callsub(L_Bag, Unripe_Fruit, 10); + else if (.@i <= 840) + callsub(L_Bag, Dried_Yggdrasilberry, 10); + else if (.@i <= 940) + callsub(L_Bag, Sg_White_Potion_Box, 1); + else if (.@i <= 1140) + callsub(L_Bag, Old_Blue_Box, 1); + else if (.@i <= 1240) + callsub(L_Bag, Poison_Bottle_Box2, 1, "Poison Bottle Box(30)"); + else if (.@i <= 1340) + callsub(L_Bag, Water_Of_Darkness, 20); + else if (.@i <= 1440) + callsub(L_Bag, Box_Of_Grudge, 10); + else if (.@i <= 1540) + callsub(L_Bag, Sleepy_Box, 10); + else if (.@i <= 1690) + callsub(L_Bag, Box_Of_Sunlight, 4); + else if (.@i <= 1790) + callsub(L_Bag, Elemental_Fire, 10, "Elemental Converter[Fire]"); + else if (.@i <= 1890) + callsub(L_Bag, Elemental_Water, 10, "Elemental Converter[Water]"); + else if (.@i <= 1990) + callsub(L_Bag, Elemental_Wind, 10, "Elemental Converter[Wind]"); + else if (.@i <= 2090) + callsub(L_Bag, Elemental_Earth, 10, "Elemental Converter[Earth]"); + else if (.@i <= 2190) + callsub(L_Bag, Sg_Blue_Potion_Box, 1); + else if (.@i <= 2290) + callsub(L_Bag, Resist_Fire, 10); + else if (.@i <= 2390) + callsub(L_Bag, Resist_Water, 10); + else if (.@i <= 2490) + callsub(L_Bag, Resist_Wind, 10); + else if (.@i <= 2590) + callsub(L_Bag, Resist_Earth, 10); + else if (.@i <= 2690) + callsub(L_Bag, Immortal_Heart, 40); + else if (.@i <= 2790) + callsub(L_Bag, Transparent_Cloth, 40); + else if (.@i <= 2890) + callsub(L_Bag, Stem, 40); + else if (.@i <= 2990) + callsub(L_Bag, Aloebera, 20); + else if (.@i <= 3090) + callsub(L_Bag, Amulet, 20); + else if (.@i <= 3190) + callsub(L_Bag, Illusion_Flower, 4); + else if (.@i <= 3290) + callsub(L_Bag, Prickly_Fruit, 40); + else if (.@i <= 3390) + callsub(L_Bag, Bitter_Herb, 20); + else if (.@i <= 3490) + callsub(L_Bag, Izidor, 20); + else if (.@i <= 3590) + callsub(L_Bag, Anodyne, 20); + else if (.@i <= 3690) + callsub(L_Bag, Woe_White_Potion, 20); + else if (.@i <= 3790) + callsub(L_Bag, Four_Leaf_Clover, 20); + else if (.@i <= 3890) + callsub(L_Bag, Leaflet_Of_Aloe, 20); + else if (.@i <= 3990) + callsub(L_Bag, Singing_Plant, 20); + else if (.@i <= 4090) + callsub(L_Bag, Leaf_Of_Yggdrasil, 20); + else if (.@i <= 4140) + callsub(L_Bag, Sg_Violet_Potion_Box, 1); + else if (.@i <= 4240) + callsub(L_Bag, Savage_Meat, 20); + else if (.@i <= 4340) + callsub(L_Bag, Wolf_Blood, 20); + else if (.@i <= 4440) + callsub(L_Bag, Beef_Head_Meat, 20); + else if (.@i <= 4540) + callsub(L_Bag, Cold_Ice, 20); + else if (.@i <= 4640) + callsub(L_Bag, Ice_Fragment, 20); + else if (.@i <= 4740) + callsub(L_Bag, Ice_Crystal, 20); + else if (.@i <= 4840) + callsub(L_Bag, Petti_Tail, 20); + else if (.@i <= 4940) + callsub(L_Bag, Poison_Herb_Nerium, 40); + else if (.@i <= 5040) + callsub(L_Bag, Poison_Herb_Rantana, 40); + else if (.@i <= 5140) + callsub(L_Bag, Poison_Herb_Makulata, 40); + else if (.@i <= 5240) + callsub(L_Bag, Poison_Herb_Seratum, 40); + else if (.@i <= 5340) + callsub(L_Bag, Poison_Herb_Scopolia, 40); + else if (.@i <= 5440) + callsub(L_Bag, Poison_Herb_Amoena, 40); + else if (.@i <= 5540) + callsub(L_Bag, Mandragora_Flowerpot, 40); + else if (.@i <= 6000) + callsub(L_Bag, Speed_Up_Potion, 20); + else if (.@i <= 6500) + callsub(L_Bag, Siege_Greave, 1); + else if (.@i <= 7000) + callsub(L_Bag, Siege_Boots, 1); + else if (.@i <= 7500) + callsub(L_Bag, Siege_Shoes, 1); + else if (.@i <= 8000) + callsub(L_Bag, Siege_Manteau, 1); + else if (.@i <= 8500) + callsub(L_Bag, Siege_Muffler, 1); + else if (.@i <= 9000) + callsub(L_Bag, Siege_Plate, 1); + else if (.@i <= 9500) + callsub(L_Bag, Siege_Suits, 1); + else + callsub(L_Bag, Siege_Robe, 1); end; } end; diff --git a/npc/woe-se/agit_main_se.txt b/npc/woe-se/agit_main_se.txt index c9b34f610..5f291e658 100644 --- a/npc/woe-se/agit_main_se.txt +++ b/npc/woe-se/agit_main_se.txt @@ -1681,6 +1681,10 @@ OnEnable: if (.@num == 3) set getd(".MyMobCount_"+.@num+strnpcinfo(NPC_NAME_HIDDEN)),4; else if (.@num) set getd(".MyMobCount_"+.@num+strnpcinfo(NPC_NAME_HIDDEN)),6; setwall strnpcinfo(NPC_NAME_HIDDEN),.@wall[0],.@wall[1],.@wall[2],.@wall[3],.@wall[4],substr(strnpcinfo(NPC_NAME_HIDDEN),0,1)+substr(strnpcinfo(NPC_NAME_HIDDEN),8,9)+"_"+strnpcinfo(NPC_NAME_VISIBLE); + if (.@num == 0) + setcell(strnpcinfo(NPC_NAME_HIDDEN), .@x[0], .@y[0], .@x[getarraysize(.@x)-1], .@y[getarraysize(.@y)-1], cell_basilica, true); + if (.@num == 1 && (strnpcinfo(NPC_NAME_HIDDEN) == "schg_cas01" || strnpcinfo(NPC_NAME_HIDDEN) == "schg_cas04" || strnpcinfo(NPC_NAME_HIDDEN) == "schg_cas05")) + setcell(strnpcinfo(NPC_NAME_HIDDEN), .@x[0], .@y[0], .@x[5], .@y[5], cell_basilica, true); .@j = (getd(".MyMobCount_"+.@num+strnpcinfo(NPC_NAME_HIDDEN)))?getd(".MyMobCount_"+.@num+strnpcinfo(NPC_NAME_HIDDEN)):getarraysize(.@x); for (.@i = 0; .@i<.@j; ++.@i) guardian strnpcinfo(NPC_NAME_HIDDEN),.@x[.@i],.@y[.@i]," ",1905,strnpcinfo(NPC_NAME)+"::OnBarrierDestroyed"; @@ -1700,6 +1704,31 @@ OnBarrierDestroyed: end; OnDisable: + if (compare(strnpcinfo(NPC_NAME_HIDDEN),"arug")) { + if (strnpcinfo(NPC_NAME_HIDDEN) == "arug_cas01") { + setarray(.@x[0], 239, 245); + setarray(.@y[0], 73, 73); + } else if (strnpcinfo(NPC_NAME_HIDDEN) == "arug_cas02") { + setarray(.@x[0], 137, 143); + setarray(.@y[0], 137, 137); + } else { // Castles 3, 4, 5 are identical. + setarray(.@x[0], 139, 145); + setarray(.@y[0], 111, 111); + } + } else { + if (strnpcinfo(NPC_NAME_HIDDEN) == "schg_cas02") { + setarray(.@x[0], 289, 289); + setarray(.@y[0], 98, 104); + } else if (strnpcinfo(NPC_NAME_HIDDEN) == "schg_cas03") { + setarray(.@x[0], 326, 330); + setarray(.@y[0], 300, 300); + } else { // Castles 1, 4, 5 are identical. + setarray(.@x[0], 115, 125); + setarray(.@y[0], 49, 49); + setcell(strnpcinfo(NPC_NAME_HIDDEN), 115, 50, 125, 50, cell_basilica, false); + } + } + setcell(strnpcinfo(NPC_NAME_HIDDEN), .@x[0], .@y[0], .@x[1], .@y[1], cell_basilica, false); delwall substr(strnpcinfo(NPC_NAME_HIDDEN),0,1)+substr(strnpcinfo(NPC_NAME_HIDDEN),8,9)+"_"+strnpcinfo(NPC_NAME_VISIBLE); killmonster strnpcinfo(NPC_NAME_HIDDEN),strnpcinfo(NPC_NAME)+"::OnBarrierDestroyed"; end; |