diff --git a/conf/mapflag/nobranch.txt b/conf/mapflag/nobranch.txt index cc2c571e13..cb2dbd2299 100644 --- a/conf/mapflag/nobranch.txt +++ b/conf/mapflag/nobranch.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= rAthena Dev Team //===== Current Version: ===================================== -//= 1.8 +//= 1.9 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -15,6 +15,7 @@ //= 1.6a - Updated. [Lupus] //= 1.7 - Added all novice maps. [L0ne_W0lf] //= 1.8 - Removed restriction on PVP maps. [L0ne_W0lf] +//= 1.9 - Updated. [L0ne_W0lf] //============================================================ // Cities ====================== @@ -268,6 +269,10 @@ turbo_e_4 mapflag nobranch turbo_e_8 mapflag nobranch turbo_e_16 mapflag nobranch +// Poring War ================== +poring_w01 mapflag nobranch +poring_w02 mapflag nobranch + // Monster Races =============== p_track01 mapflag nobranch p_track02 mapflag nobranch @@ -332,14 +337,17 @@ moc_para01 mapflag nobranch job3_arch01 mapflag nobranch job3_arch02 mapflag nobranch job3_arch03 mapflag nobranch +job3_gen01 mapflag nobranch job3_guil01 mapflag nobranch job3_guil02 mapflag nobranch job3_guil03 mapflag nobranch +job_ko mapflag nobranch job3_rang01 mapflag nobranch job3_rang02 mapflag nobranch job3_rune01 mapflag nobranch job3_rune02 mapflag nobranch job3_rune03 mapflag nobranch +job3_sha01 mapflag nobranch job3_war01 mapflag nobranch job3_war02 mapflag nobranch jupe_core2 mapflag nobranch @@ -368,9 +376,19 @@ mal_in02 mapflag nobranch 1@pump mapflag nobranch 2@pump mapflag nobranch 1@lhz mapflag nobranch +que_lhz mapflag nobranch malaya mapflag nobranch ma_scene01 mapflag nobranch ma_in01 mapflag nobranch +ma_zif01 mapflag nobranch +ma_zif02 mapflag nobranch +ma_zif03 mapflag nobranch +ma_zif04 mapflag nobranch +ma_zif05 mapflag nobranch +ma_zif06 mapflag nobranch +ma_zif07 mapflag nobranch +ma_zif08 mapflag nobranch +ma_zif09 mapflag nobranch 1@ma_h mapflag nobranch 1@ma_c mapflag nobranch 1@ma_b mapflag nobranch @@ -383,9 +401,6 @@ ecl_in03 mapflag nobranch ecl_in04 mapflag nobranch 1@ecl mapflag nobranch ecl_hub01 mapflag nobranch +que_avan01 mapflag nobranch //evt_zombie mapflag nobranch - -// Poring War ================== -poring_w01 mapflag nobranch -poring_w02 mapflag nobranch diff --git a/conf/mapflag/nomemo.txt b/conf/mapflag/nomemo.txt index 0e2ccf7a28..3b4f80cb5a 100644 --- a/conf/mapflag/nomemo.txt +++ b/conf/mapflag/nomemo.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= rAthena Dev Team //===== Current Version: ===================================== -//= 1.8b +//= 1.9 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -16,6 +16,7 @@ //= 1.8 - Added nameless_i location. [Lupus] //= 1.8a - Removed duplicate gef_cas nomemo mapflags. [Yommy] //= 1.8b - Removed duplicate arug_dun01 & schg_dun01 entries. [Gepard] +//= 1.9 - Updated. [L0ne_W0lf] //============================================================ // Towns ==================== @@ -622,6 +623,10 @@ turbo_e_16 mapflag nomemo p_track01 mapflag nomemo p_track02 mapflag nomemo +// Poring War ==================== +poring_w01 mapflag nomemo +poring_w02 mapflag nomemo + //Vision of Okolnir ========== que_qsch01 mapflag nomemo que_qsch02 mapflag nomemo @@ -734,6 +739,7 @@ gld2_ald mapflag nomemo gld2_gef mapflag nomemo gld2_pay mapflag nomemo gld2_prt mapflag nomemo +job_ko mapflag nomemo ma_scene01 mapflag nomemo ma_in01 mapflag nomemo ma_dun01 mapflag nomemo @@ -772,11 +778,25 @@ moc_prydn2 mapflag nomemo 1@nyd mapflag nomemo 2@nyd mapflag nomemo -//evt_zombie mapflag nomemo +// Glast Heim Memorial Dungeon === +1@gl_k mapflag nomemo +2@gl_k mapflag nomemo +gl_chyard_ mapflag nomemo +gl_cas02_ mapflag nomemo -// Poring War ==================== -poring_w01 mapflag nomemo -poring_w02 mapflag nomemo +// Wave Mode Memorial Dungeon ==== +1@def01 mapflag nomemo +1@def02 mapflag nomemo +1@def03 mapflag nomemo + +// Heroes' Trails - Part 1 ======= +1@gef mapflag nomemo +1@face mapflag nomemo +1@sara mapflag nomemo +1@gef_in mapflag nomemo +dali mapflag nomemo + +//evt_zombie mapflag nomemo // Bossnia (custom) ============== bossnia_01 mapflag nomemo diff --git a/conf/mapflag/nopenalty.txt b/conf/mapflag/nopenalty.txt index 2517a37595..464ca0870f 100644 --- a/conf/mapflag/nopenalty.txt +++ b/conf/mapflag/nopenalty.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= rAthena Dev Team //===== Current Version: ===================================== -//= 1.4 +//= 1.5 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -12,6 +12,7 @@ //= 1.2 - Updated. [Lupus] //= 1.3 - Added all novice maps. [L0ne_W0lf] //= 1.4 - Removed Nightmare PVP maps. [L0ne_W0lf] +//= 1.5 - Updated. [L0ne_Wolf] //============================================================ // Towns ==================== @@ -169,6 +170,7 @@ ecl_in02 mapflag nopenalty ecl_in03 mapflag nopenalty ecl_in04 mapflag nopenalty ecl_hub01 mapflag nopenalty +que_avan01 mapflag nopenalty // Job Quests ======================== job_sword1 mapflag nopenalty @@ -292,6 +294,9 @@ turbo_e_16 mapflag nopenalty p_track01 mapflag nopenalty p_track02 mapflag nopenalty +// Poring War ================== +poring_w02 mapflag nopenalty + //Vision of Okolnir ============= que_qsch01 mapflag nopenalty que_qsch02 mapflag nopenalty @@ -315,6 +320,3 @@ bat_a01 mapflag nopenalty bat_a02 mapflag nopenalty //evt_zombie mapflag nopenalty - -// Poring War ================== -poring_w02 mapflag nopenalty diff --git a/conf/mapflag/nopvp.txt b/conf/mapflag/nopvp.txt index 3bb9d681a1..ef09420af1 100644 --- a/conf/mapflag/nopvp.txt +++ b/conf/mapflag/nopvp.txt @@ -3,13 +3,14 @@ //===== By: ================================================== //= rAthena Dev Team //===== Current Version: ===================================== -//= 1.1a +//= 1.2 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Prevents PvP mode on a map. //===== Additional Comments: ================================= //= 1.0 - Initial script. +//= 1.2 - Updated. [L0ne_W0lf] //============================================================ 1@cata mapflag pvp off @@ -33,6 +34,15 @@ 1@ma_c mapflag pvp off 1@ma_b mapflag pvp off 1@ecl mapflag pvp off +1@gl_k mapflag pvp off +2@gl_k mapflag pvp off +1@def01 mapflag pvp off +1@def02 mapflag pvp off +1@def03 mapflag pvp off +1@gef mapflag pvp off +1@face mapflag pvp off +1@sara mapflag pvp off +1@gef_in mapflag pvp off bat_a01 mapflag pvp off bat_a02 mapflag pvp off @@ -168,6 +178,15 @@ mal_in02 mapflag pvp off malaya mapflag pvp off ma_scene01 mapflag pvp off ma_in01 mapflag pvp off +ma_zif01 mapflag pvp off +ma_zif02 mapflag pvp off +ma_zif03 mapflag pvp off +ma_zif04 mapflag pvp off +ma_zif05 mapflag pvp off +ma_zif06 mapflag pvp off +ma_zif07 mapflag pvp off +ma_zif08 mapflag pvp off +ma_zif09 mapflag pvp off eclage mapflag pvp off ecl_in01 mapflag pvp off @@ -175,5 +194,8 @@ ecl_in02 mapflag pvp off ecl_in03 mapflag pvp off ecl_in04 mapflag pvp off ecl_hub01 mapflag pvp off +que_avan01 mapflag pvp off + +dali mapflag pvp off //evt_zombie mapflag pvp off diff --git a/conf/mapflag/nosave.txt b/conf/mapflag/nosave.txt index fe7e03dfa7..01f72e910c 100644 --- a/conf/mapflag/nosave.txt +++ b/conf/mapflag/nosave.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= rAthena Dev Team //===== Current Version: ===================================== -//= 1.7 +//= 1.8 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -11,6 +11,7 @@ //= to the map specified in the last field, or "SavePoint". //===== Additional Comments: ================================= //= 1.7 - Updated. [Lupus] +//= 1.8 - Updated. [L0ne_W0lf] //============================================================ // Job Quests ==================== @@ -248,6 +249,10 @@ turbo_e_16 mapflag nosave SavePoint p_track01 mapflag nosave SavePoint p_track02 mapflag nosave SavePoint +// Poring War ==================== +poring_w01 mapflag nosave SavePoint +poring_w02 mapflag nosave SavePoint + //Vision of Okolnir =========================== que_qsch01 mapflag nosave SavePoint que_qsch02 mapflag nosave SavePoint @@ -273,7 +278,7 @@ e_tower mapflag nosave SavePoint 5@tower mapflag nosave SavePoint 6@tower mapflag nosave SavePoint -// Battle Grounds ============== +// Battle Grounds ================= bat_c01 mapflag nosave SavePoint bat_c02 mapflag nosave SavePoint bat_c03 mapflag nosave SavePoint @@ -282,7 +287,7 @@ bat_b02 mapflag nosave SavePoint bat_a01 mapflag nosave SavePoint bat_a02 mapflag nosave SavePoint -// Episode 13 ==================== +// Episode 13 ===================== moc_fild22b mapflag nosave SavePoint que_dan01 mapflag nosave SavePoint que_dan02 mapflag nosave SavePoint @@ -295,38 +300,63 @@ arug_dun01 mapflag nosave SavePoint 1@orcs mapflag nosave SavePoint 2@orcs mapflag nosave SavePoint -// Nidhoggr's Instance =========== +// Nidhoggr's Instance ============ 1@nyd mapflag nosave SavePoint 2@nyd mapflag nosave SavePoint -// Misty Forest Labyrinth =========== +// Misty Forest Labyrinth ========= 1@mist mapflag nosave SavePoint -// Octopus Cave =========== +// Octopus Cave =================== 1@cash mapflag nosave SavePoint -// Drain =========== +// Drain ========================== 1@pump mapflag nosave SavePoint 2@pump mapflag nosave SavePoint -// Somatology Laboratory =========== +// Somatology Laboratory ========== que_lhz mapflag nosave SavePoint 1@lhz mapflag nosave SavePoint -// Bangungot Hospital F2 =========== +// Port Malaya ==================== +ma_zif01 mapflag nosave SavePoint +ma_zif02 mapflag nosave SavePoint +ma_zif03 mapflag nosave SavePoint +ma_zif04 mapflag nosave SavePoint +ma_zif05 mapflag nosave SavePoint +ma_zif06 mapflag nosave SavePoint +ma_zif07 mapflag nosave SavePoint +ma_zif08 mapflag nosave SavePoint +ma_zif09 mapflag nosave SavePoint + +// Bangungot Hospital F2 ========== 1@ma_h mapflag nosave SavePoint -// Buwaya Cave =========== +// Buwaya Cave ==================== 1@ma_c mapflag nosave SavePoint -// Bakonawa Hideout =========== +// Bakonawa Hideout =============== 1@ma_b mapflag nosave SavePoint -// Inside Eclage =========== +// Inside Eclage ================== +que_avan01 mapflag nosave SavePoint 1@ecl mapflag nosave SavePoint -//evt_zombie mapflag nosave SavePoint +// Glast Heim Memorial Dungeon ==== +1@gl_k mapflag nosave SavePoint +2@gl_k mapflag nosave SavePoint -// Poring War ==================== -poring_w01 mapflag nosave SavePoint -poring_w02 mapflag nosave SavePoint +// Wave Mode Memorial Dungeon ===== +1@def01 mapflag nosave SavePoint +1@def02 mapflag nosave SavePoint +1@def03 mapflag nosave SavePoint + +// Heroes' Trails - Part 1 ======== +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 + +evt_bomb mapflag nosave SavePoint +//evt_zombie mapflag nosave SavePoint diff --git a/conf/mapflag/noteleport.txt b/conf/mapflag/noteleport.txt index 4ef0639ee1..f76100c601 100644 --- a/conf/mapflag/noteleport.txt +++ b/conf/mapflag/noteleport.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= rAthena Dev Team //===== Current Version: ===================================== -//= 1.6a +//= 1.7 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -16,6 +16,7 @@ //= Fly Wing (601), Giant Fly Wing (12212) //===== Additional Comments: ================================= //= 1.6a - Updated. [Lupus] +//= 1.7 - Updated. [L0ne_W0lf] //============================================================ // Cities ======================== @@ -323,6 +324,11 @@ turbo_e_16 mapflag noteleport p_track01 mapflag noteleport p_track02 mapflag noteleport +// Poring War ==================== +poring_w01 mapflag noteleport +poring_w02 mapflag noteleport +poring_w02 mapflag monster_noteleport + //Vision of Okolnir ============== que_qsch01 mapflag noteleport que_qsch01 mapflag monster_noteleport @@ -388,6 +394,8 @@ spl_in01 mapflag noteleport s_atelier mapflag noteleport bra_in01 mapflag noteleport dic_in01 mapflag noteleport +job3_gen01 mapflag noteleport +job3_sha01 mapflag noteleport // Episode 14 ==================== 1@mist mapflag noteleport @@ -422,6 +430,7 @@ ma_zif06 mapflag noteleport ma_zif07 mapflag noteleport ma_zif08 mapflag noteleport ma_zif09 mapflag noteleport +job_ko mapflag noteleport ecl_in01 mapflag noteleport ecl_in02 mapflag noteleport ecl_in03 mapflag noteleport @@ -445,9 +454,31 @@ nyd_dun02 mapflag noteleport 2@nyd mapflag noteleport 2@nyd mapflag monster_noteleport -//evt_zombie mapflag noteleport +// Glast Heim Memorial Dungeon === +1@gl_k mapflag noteleport +1@gl_k mapflag monster_noteleport +2@gl_k mapflag noteleport +2@gl_k mapflag monster_noteleport +gl_chyard_ mapflag noteleport +gl_cas02_ mapflag noteleport -// Poring War ==================== -poring_w01 mapflag noteleport -poring_w02 mapflag noteleport -poring_w02 mapflag monster_noteleport +// Wave Mode Memorial Dungeon ==== +1@def01 mapflag noteleport +1@def01 mapflag monster_noteleport +1@def02 mapflag noteleport +1@def02 mapflag monster_noteleport +1@def03 mapflag noteleport +1@def03 mapflag monster_noteleport + +// Heroes' Trails - Part 1 ======= +1@gef mapflag noteleport +1@gef mapflag monster_noteleport +1@face mapflag noteleport +1@face mapflag monster_noteleport +1@sara mapflag noteleport +1@sara mapflag monster_noteleport +1@gef_in mapflag noteleport +1@gef_in mapflag monster_noteleport +dali mapflag noteleport + +//evt_zombie mapflag noteleport diff --git a/conf/mapflag/nowarpto.txt b/conf/mapflag/nowarpto.txt index 0c373b5ab9..76bde7d7db 100644 --- a/conf/mapflag/nowarpto.txt +++ b/conf/mapflag/nowarpto.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= rAthena Dev Team //===== Current Version: ===================================== -//= 1.3 +//= 1.4 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -13,6 +13,7 @@ //= Command /memo is disabled. //===== Additional Comments: ================================= //= 1.0 - Initial script. +//= 1.4 - Updated. [L0ne_W0lf] //============================================================ // Guild Castles ======================== @@ -85,6 +86,10 @@ prt_are_in mapflag nowarpto p_track01 mapflag nowarpto p_track02 mapflag nowarpto +// Poring War ==================== +poring_w01 mapflag nowarpto +poring_w02 mapflag nowarpto + //Vision of Okolnir ============ que_qsch01 mapflag nowarpto que_qsch02 mapflag nowarpto @@ -110,7 +115,7 @@ e_tower mapflag nowarpto 5@tower mapflag nowarpto 6@tower mapflag nowarpto -// Battle Grounds ============== +// Battle Grounds ================ bat_c01 mapflag nowarpto bat_c02 mapflag nowarpto bat_c03 mapflag nowarpto @@ -150,9 +155,49 @@ spl_in01 mapflag nowarpto 1@nyd mapflag nowarpto 2@nyd mapflag nowarpto -// Poring War ==================== -poring_w01 mapflag nowarpto -poring_w02 mapflag nowarpto +// 14.1 Bifrost ================== +1@mist mapflag nowarpto + +que_house_s mapflag nowarpto + +// Malangdo Maps ================= +1@pump mapflag nowarpto +2@pump mapflag nowarpto +1@cash mapflag nowarpto + +// Lighthalzen Dungeon F4 ======== +1@lhz mapflag nowarpto +lhz_dun04 mapflag nowarpto +que_lhz mapflag nowarpto + +// Port Malaya =================== +1@ma_b mapflag nowarpto +1@ma_c mapflag nowarpto +1@ma_h mapflag nowarpto + +// 14.2 Eclage =================== +1@ecl mapflag nowarpto + +// Pyramids Basement Nightmare Mode +moc_prydn1 mapflag nowarpto +moc_prydn2 mapflag nowarpto + +// Glast Heim Memorial Dungeon === +1@gl_k mapflag nowarpto +2@gl_k mapflag nowarpto +gl_chyard_ mapflag nowarpto +gl_cas02_ mapflag nowarpto + +// Wave Mode Memorial Dungeon ==== +1@def01 mapflag nowarpto +1@def02 mapflag nowarpto +1@def03 mapflag nowarpto + +// Heroes' Trails - Part 1 ======= +1@gef mapflag nowarpto +1@face mapflag nowarpto +1@sara mapflag nowarpto +1@gef_in mapflag nowarpto // Bossnia (custom) ============== bossnia_01 mapflag nowarpto diff --git a/conf/mapflag/partylock.txt b/conf/mapflag/partylock.txt index 3afda71d50..f01595f815 100644 --- a/conf/mapflag/partylock.txt +++ b/conf/mapflag/partylock.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= rAthena Dev Team //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -11,6 +11,7 @@ //= /organize, /leave, /invite, @changeleader //===== Additional Comments: ================================= //= 1.0 - Initial script. +//= 1.1 - Updated. [L0ne_W0lf] //============================================================ // Sealed Shrine ================== @@ -29,31 +30,46 @@ 1@orcs mapflag partylock 2@orcs mapflag partylock -// Nidhoggr's Instance =========== +// Nidhoggr's Instance ============ 1@nyd mapflag partylock 2@nyd mapflag partylock -// Misty Forest Labyrinth =========== +// Misty Forest Labyrinth ========= 1@mist mapflag partylock -// Octopus Cave =========== +// Octopus Cave =================== 1@cash mapflag partylock -// Drain =========== +// Drain ========================== 1@pump mapflag partylock 2@pump mapflag partylock -// Somatology Laboratory =========== +// Somatology Laboratory ========== 1@lhz mapflag partylock -// Bangungot Hospital F2 =========== +// Bangungot Hospital F2 ========== 1@ma_h mapflag partylock -// Buwaya Cave =========== +// Buwaya Cave ==================== 1@ma_c mapflag partylock -// Bakonawa Hideout =========== +// Bakonawa Hideout =============== 1@ma_b mapflag partylock -// Inside Eclage =========== +// Inside Eclage ================== 1@ecl mapflag partylock + +// Glast Heim Memorial Dungeon ==== +1@gl_k mapflag partylock +2@gl_k mapflag partylock + +// Wave Mode Memorial Dungeon ===== +1@def01 mapflag partylock +1@def02 mapflag partylock +1@def03 mapflag partylock + +// Heroes' Trails - Part 1 ======== +1@gef mapflag partylock +1@face mapflag partylock +1@sara mapflag partylock +1@gef_in mapflag partylock diff --git a/doc/atcommands.txt b/doc/atcommands.txt index 48899dbcd5..1067ee4531 100644 --- a/doc/atcommands.txt +++ b/doc/atcommands.txt @@ -581,7 +581,7 @@ Opens the auction window. @identifyall Opens the Identification window if any unappraised items are in your inventory. -@identifyall will automaticallyidentify all unappraised items in your inventory. +@identifyall will automatically identify all unappraised items in your inventory. --------------------------------------- diff --git a/npc/re/instances/HazyForest.txt b/npc/re/instances/HazyForest.txt new file mode 100644 index 0000000000..cb65f11d79 --- /dev/null +++ b/npc/re/instances/HazyForest.txt @@ -0,0 +1,1193 @@ +//===== rAthena Script ======================================= +//= Hazy Forest +//===== By: ================================================== +//= Euphy +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena SVN +//===== Description: ========================================= +//= [Official Conversion] +//= Cross through the Hazy Forest to reach the Bifrost. +//= Contains the Wandering Guardian quest. +//===== Additional Comments: ================================= +//= 1.0 First version. [Euphy] +//============================================================ + +// Instance Creation +//============================================================ +bif_fild01,158,340,5 script Laphine Soldier#mist 447,{ + + set .@party_id,getcharid(1); + set .@md_name$,"Mistwood Maze"; + + mes "[Laphine Soldier]"; + mes "Are you going into the forest?"; + next; + if (!.@party_id) { + mes "[Laphine Soldier]"; + mes "Well, well, well, aren't you being too rash?"; + mes "Why don't you at least organize a party?"; + close; + } + set .@playtime, checkquest(7211,PLAYTIME); + if (getcharid(0) == getpartyleader(.@party_id,2)) { + if (.@playtime == 0 || .@playtime == 1) { + mes "[Laphine Soldier]"; + mes "...Are you sure you're not doing too much?"; + mes "I think you'd better get some rest."; + mes "You'll only wear yourself out by trying to do too much"; + next; + mes "[Laphine Soldier]"; + mes "I don't think the authority will give you permission, either."; + mes "...Even a Sapha would be stopped from entering the forest."; + next; + select("You speak our language quite well, don't you?"); + mes "[Laphine Soldier]"; + mes "...Do I?"; + mes "Actually I'm not speaking your language."; + mes "I'm speaking Laphine language."; + next; + mes "[Laphine Soldier]"; + mes "But it's one of the mysteries of Bifrost."; + mes "That we can understand each other even if we speak different languages."; + next; + mes "[Laphine Soldier]"; + mes "To be able to talk with everybody..."; + mes "Perhaps that's the power of Bifrost."; + close; + } else if (.@playtime == 2) { + mes "[Laphine Soldier]"; + mes "Great, great."; + mes "Now the forest won't reject you."; + mes "What are you going to do now?"; + erasequest 7211; + } else { + mes "[Laphine Soldier]"; + mes "You human adventurers are incredible."; + mes "You're always going into the forest, where no one else dares to go."; + next; + mes "[Laphine Soldier]"; + mes "Phew. But I have to report to the authority"; + mes "everyone who goes into the forest, just in case."; + next; + mes "[Laphine Soldier]"; + mes "You'll get permission"; + mes "after you register."; + mes "Are you going to venture into the Hazy Forest?"; + } + next; + switch(select("Venture into the Hazy Forest.:Give up.")) { + case 1: + set .@instance, instance_create(.@md_name$,.@party_id); + if (.@instance >= 0) { + if (instance_attachmap("1@mist",.@instance) != "") { + + instance_attach(.@instance); + instance_set_timeout 7200,300,.@instance; + instance_init(.@instance); + + donpcevent instance_npcname("#Whisper_mist", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("Tom's Garden Tree", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("Tomba's Garden Tree", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("Remi's Garden Tree", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("Tired Rem's Garden Tree", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("Ron's Garden Tree", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("Rover's Garden Tree", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("Mona's Garden Tree", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("Namon's Garden Tree", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("Sad Neoron's Garden Tree", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("Spyder's Garden Tree", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("Tito's Garden Tree", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("Pumba's Garden Tree", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("Tete's Garden Tree", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("The Gardeners' Tree", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("#Dragon Herder", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("Mysterious Young Man#mis", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("Loki#mist", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("Collapsed Girl#mist", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("#Mist Mobs Respawn1", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("#Mist Mobs Respawn2", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("#Mist Mobs Respawn3", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("#Mist Mobs Respawn4", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("#Mist Mobs Respawn5", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("#Fragments of Memory", instance_id())+"::OnInstanceInit"; + donpcevent instance_npcname("#mist_warp_init", instance_id())+"::OnInstanceInit"; + + mes "[Laphine Soldier]"; + mes "Party Name "+getpartyname(.@party_id)+"..."; + mes "Party Leader "+strcharinfo(0)+"..."; + mes "I've got it. I've written them down on the report here."; + next; + mes "[Laphine Soldier]"; + mes "You'll get permission soon."; + mes "Now go to the log tunnel, the only way to get into the Hazy Forest."; + mes "You understand?"; + next; + mes "[Laphine Soldier]"; + mes "We can't go against the forest,"; + mes "but maybe you humans can."; + mes "Good luck!"; + close; + } else + instance_destroy(.@instance); + } + mes "[Laphine Soldier]"; + mes "Party Name "+getpartyname(.@party_id)+"..."; + mes "Party Leader "+strcharinfo(0)+"..."; + mes "Hmm..."; + next; + mes "[Laphine Soldier]"; + if (.@playtime == -1) + mes "It's dangerous in the forest."; + else + mes "The atmosphere is somewhat tense in the forest."; + mes "...Why don't you just go back today?"; + close; + case 2: + mes "[Laphine Soldier]"; + mes "Well, you've made the right decision."; + if (.@playtime == -1) + mes "That's what's good for you."; + close; + } + } else { + mes "[Laphine Soldier]"; + mes "Where's your party leader?"; + mes "It's dangerous in there."; + next; + if (.@playtime == 2) { + mes "[Laphine Soldier]"; + mes "I see you've been into the forest before."; + mes "Okay, at least the forest won't reject you."; + mes "However..."; + erasequest 7211; + next; + } + mes "[Laphine Soldier]"; + mes "Put yourself in my shoes, the entrance guard, and let me meet the representative of your party."; + mes "I have to discuss some things with him/her."; + close; + } +} + +bif_fild01,161,355,0 script Log Tunnel 844,{ + mes "I see the forest through the log tunnel."; + mes "It looks like I can enter the forest through the log tunnel."; + next; + if(select("Enter the tunnel.:Give up.") == 2) + close; + // TODO: Add official MD_Enter cases. + if (!getcharid(1)) { + mes "[Laphine Soldier]"; + mes "Hey, look!"; + mes "Are you going alone?"; + mes "That's impossible. Too rash."; + mes "Team up with some friends and go together!"; + close; + } + set .@playtime, checkquest(7211,PLAYTIME); + if (has_instance("1@mist") == "") { + if (.@playtime == 0 || .@playtime == 1) { + mes "You try to crawl into the log, but some mysterious power pushes you back with a gush of wind."; + mes "It seems like you can't force your way into the forest."; + close; + } + mes "The world beyond the log tunnel looks dark and suffocating."; + mes "Your instinct is screaming that this forest is dangerous."; + close; + } + if (.@playtime == 2) erasequest 7211; + if (checkquest(7211,PLAYTIME) == -1) setquest 7211; + mapannounce "bif_fild01",getpartyname(getcharid(1))+" party's "+strcharinfo(0)+" member is entering the Mistwood Maze.",bc_map,"0x00ff99"; //FW_NORMAL 12 0 0 + warp "1@mist",89,29; + close; +} + +// Instance Scripts +//============================================================ +1@mist,89,29,0 script #Whisper_mist 844,1,1,{ + end; +OnInstanceInit: + enablenpc instance_npcname("#Whisper_mist", instance_id()); + end; +OnTouch: + disablenpc instance_npcname("#Whisper_mist", instance_id()); + initnpctimer; + end; +OnTimer10000: +OnTimer20000: + instance_announce 0,"Whisper: Who's this? Who's this!? The forest is open! Tom, Tomba, Tired Rem, Remi! Wake up!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0 + end; +OnTimer60000: + instance_announce 0,"Loud Whisper: What are the forest keepers doing? What are the gardeners doing??",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0 + end; +OnTimer120000: + instance_announce 0,"Loud Whisper: Don't go out, wander around forever, and play with us!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0 + end; +OnTimer180000: + instance_announce 0,"Loud Whisper: Useless, useless. Wandering around and around, you'll meet your end!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0 + stopnpctimer; + end; +} + +// callfunc "F_Mora_Mist",,,{,} +function script F_Mora_Mist { + if (mobcount("1@mist",instance_npcname(strnpcinfo(0), instance_id())+"::OnMyMobDead") == 0) { + mes "Obviously no one is taking care of it."; + mes "It seems like you can chop down the garden tree."; + next; + if(select("Chop down the garden tree.:Give up.") == 2) + close; + mes "You chop down the tree, which was blocking the path of the maze, "+((getarg(3,0))?"clearing the way out of the forest.":"so now you can continue."); + instance_announce 0,getarg(1),bc_map,"0xccffcc"; //FW_NORMAL 12 0 0 + enablenpc instance_npcname(getarg(0), instance_id()); + disablenpc instance_npcname(strnpcinfo(0), instance_id()); + close; + } else + instance_announce 0,((getarg(3,0))?getarg(2):getarg(2)+"'s Cry: Huh? Who's doing bad things to my tree?!"),bc_map,"0xccffcc"; //FW_NORMAL 12 0 0 + end; +} + +1@mist,251,121,3 script Tom's Garden 858,{ end; } +1@mist,247,123,0 script Tom's Garden Tree 527,{ + callfunc "F_Mora_Mist", + "a25_a18-1", + "Roaring Cry: Tom's bolt is broken! Watch out, Tomba! Watch out, Tomba!", + "Tom"; + end; +OnInstanceInit: + monster "1@mist",249,120,"Tom",2136,1,instance_npcname("Tom's Garden Tree", instance_id())+"::OnMyMobDead"; + end; +OnMyMobDead: + end; +} + +1@mist,226,95,3 script Tomba's Garden 858,{ end; } +1@mist,225,98,0 script Tomba's Garden Tree 527,{ + callfunc "F_Mora_Mist", + "a27-2_af1-2", + "Roaring Cry: Tomba's Garden Tree is gone with Tomba. Remi, what are you going to do now?", + "Tomba"; + end; +OnInstanceInit: + monster "1@mist",200,64,"Tomba",2136,1,instance_npcname("Tomba's Garden Tree", instance_id())+"::OnMyMobDead"; + end; +OnMyMobDead: + end; +} + +1@mist,157,183,3 script Remi's Garden 858,{ end; } +1@mist,159,184,0 script Remi's Garden Tree 527,{ + callfunc "F_Mora_Mist", + "a15-2_a4-1", + "Roaring Cry: Remi, Remi's Garden Tree was chopped down- Rem, it's your turn next. Poor Rem!", + "Remi"; + end; +OnInstanceInit: + monster "1@mist",154,184,"Remi the Tired",2137,1,instance_npcname("Remi's Garden Tree", instance_id())+"::OnMyMobDead"; + end; +OnMyMobDead: + end; +} + +1@mist,58,39,3 script Tired Rem's Garden 858,{ end; } +1@mist,61,39,0 script Tired Rem's Garden Tree 527,{ + callfunc "F_Mora_Mist", + "a4-2_a11", + "Rem's Desperate Cry: Argh... Rem will sleep. Rem will sleep now, and won't wake up forever!", + "Rem"; + end; +OnInstanceInit: + monster "1@mist",101,107,"Rem the Gardener",2136,1,instance_npcname("Tired Rem's Garden Tree", instance_id())+"::OnMyMobDead"; + end; +OnTimer10000: + instance_announce 0,"Whisper of the Forest: So Tom's, Tomba's, Remi's, and Rem's garden trees were all chopped down?",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0 + end; +OnTimer15000: + instance_announce 0,"Whisper of the Forest: Trouble, trouble, we're in big trouble.",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0 + end; +OnTimer20000: + instance_announce 0,"Loud Whisper: They've come to the second deepest forest. Gardeners of the deep forest, watch out!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0 + stopnpctimer; + end; +OnMyMobDead: + end; +} + +1@mist,227,179,3 script Ron's Garden 858,{ end; } +1@mist,230,179,0 script Ron's Garden Tree 527,{ + callfunc "F_Mora_Mist", + "b4-2_b2", + "Ron the Gardener's Cry: I'm getting off work! Don't look for Ron, the second gardener, any more!!", + "Ron"; + end; +OnInstanceInit: + monster "1@mist",227,178,"Ron the Gardener",2134,1,instance_npcname("Ron's Garden Tree", instance_id())+"::OnMyMobDead"; + end; +OnMyMobDead: + end; +} + +1@mist,288,226,3 script Rover's Garden 858,{ end; } +1@mist,285,225,0 script Rover's Garden Tree 527,{ + callfunc "F_Mora_Mist", + "b7_bf1-2", + "Roaring Whisper: Ron's, and Rover's trees were chopped down as well. Who is forcing his way into the forest? Who is it?", + "Rover"; + end; +OnInstanceInit: + monster "1@mist",304,237,"Rover the Strutter",2134,1,instance_npcname("Rover's Garden Tree", instance_id())+"::OnMyMobDead"; + end; +OnMyMobDead: + end; +} + +1@mist,159,318,3 script Mona's Garden 858,{ end; } +1@mist,161,316,0 script Mona's Garden Tree 527,{ + callfunc "F_Mora_Mist", + "b31_b16", + "Clamoring Whisper: Mona the Seedseeker's garden tree is gone! Mona is gone too! Namon will be okay, because he is brave, right? Namon, are you okay?", + "Mona"; + end; +OnInstanceInit: + monster "1@mist",239,253,"Mona the Seedseeker",2133,1,instance_npcname("Mona's Garden Tree", instance_id())+"::OnMyMobDead"; + end; +OnMyMobDead: + end; +} + +1@mist,205,300,3 script Namon's Garden 858,{ end; } +1@mist,204,299,0 script Namon's Garden Tree 527,{ + callfunc "F_Mora_Mist", + "b27-3_bN-1", + "Clamoring Whisper: Brave Namon met his fate not so bravely... *giggle*", + "Namon"; + end; +OnInstanceInit: + monster "1@mist",89,173,"Brave Namon",2134,1,instance_npcname("Namon's Garden Tree", instance_id())+"::OnMyMobDead"; + end; +OnMyMobDead: + end; +} + +1@mist,219,232,3 script Sad Neoron's Garden 858,{ end; } +1@mist,221,236,0 script Sad Neoron's Garden Tree 527,{ + callfunc "F_Mora_Mist", + "b6-1_b33", + "Lamenting Whisper: Sad Neoron has become cheerful! Spyder the Superior Spider, what are you going to do? What are you going to do now?", + "Neoron"; + end; +OnInstanceInit: + monster "1@mist",143,265,"Sad Neoron",2137,1,instance_npcname("Sad Neoron's Garden Tree", instance_id())+"::OnMyMobDead"; + end; +OnMyMobDead: + end; +} + +1@mist,206,202,3 script Spyder's Garden 858,{ end; } +1@mist,206,200,0 script Spyder's Garden Tree 527,{ + callfunc "F_Mora_Mist", + "b5_b14", + "Depressed Whisper: Now it's all over with the second deepest forest. Gardeners are dying out-", + "Spyder"; + end; +OnInstanceInit: + monster "1@mist",209,200,"Spyder the Eight-Legged",2132,1,instance_npcname("Spyder's Garden Tree", instance_id())+"::OnMyMobDead"; + end; +OnTimer5000: + instance_announce 0,"Roaring Whisper: The path is about to open. The tight bolts have been removed!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0 + end; +OnTimer9000: + instance_announce 0,"Roaring Whisper: A forest opened, another opened, and the other is going to open as well. Tito and Pumba, they are heading your way!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0 + end; +OnTimer13000: + instance_announce 0,"Roaring Whisper: Where you get after wandering around, around and around, everybody you've met while wandering around, around and around,",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0 + end; +OnTimer17000: + instance_announce 0,"Roaring Whisper: all the gardeners will be waiting for you, with their clippers in their hands-!",bc_map,"0xccffcc"; //FW_NORMAL 12 0 0 + stopnpctimer; + end; +OnMyMobDead: + end; +} + +1@mist,96,288,3 script Tito's Garden 858,{ end; } +1@mist,95,287,0 script Tito's Garden Tree 527,{ + callfunc "F_Mora_Mist", + "c1_c13-1", + "Tito's Cry: *sob* *sob* Tito's gone now! Tito's done for! Boo hoo!!", + "Tito"; + end; +OnInstanceInit: + monster "1@mist",264,291,"Tito the Flipper",2133,1,instance_npcname("Tito's Garden Tree", instance_id())+"::OnMyMobDead"; + end; +OnMyMobDead: + end; +} + +1@mist,326,325,3 script Pumba's Garden 858,{ end; } +1@mist,324,325,0 script Pumba's Garden Tree 527,{ + callfunc "F_Mora_Mist", + "c13-3_c4", + "Roaring Whisper: Tito the Hard Worker was defeated! Stop playing and go to work, Tete! Start working!", + "Pumba"; + end; +OnInstanceInit: + monster "1@mist",309,165,"Diligent Pumba",2134,1,instance_npcname("Pumba's Garden Tree", instance_id())+"::OnMyMobDead"; + end; +OnMyMobDead: + end; +} + +1@mist,278,345,3 script Tete's Garden 858,{ end; } +1@mist,280,344,0 script Tete's Garden Tree 527,{ + callfunc "F_Mora_Mist", + "c19_c4", + "Whisper: They are strong, strong indeed. What are we going to do now? Are there any gardeners left? Are there any?", + "Tete"; + end; +OnInstanceInit: + monster "1@mist",277,343,"Carefree Tete",2136,1,instance_npcname("Tete's Garden Tree", instance_id())+"::OnMyMobDead"; + end; +OnMyMobDead: + end; +} + +1@mist,345,186,0 script The Gardeners' Tree 527,{ + callfunc "F_Mora_Mist", + "#to_bif02", + "Roaring Whisper: The forest will remember you! It will remember you, the one who broke the clippers of all the gardeners!", + "Gardeners: We're not dead, yet!!!!",1; + end; +OnInstanceInit: + monster "1@mist",318,137,"Baby Tom",2136,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead"; + monster "1@mist",321,137,"Tomba the Baby",2136,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead"; + monster "1@mist",324,137,"Exhausted Remi",2137,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead"; + monster "1@mist",319,135,"Rem the Exhausted",2136,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead"; + monster "1@mist",323,135,"Ron the Ex-Gardener",2134,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead"; + monster "1@mist",320,133,"Rover the Strutter",2134,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead"; + monster "1@mist",323,133,"Mona the Seedpicker",2133,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead"; + monster "1@mist",317,132,"Timid Namon",2134,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead"; + monster "1@mist",326,132,"Indifferent Neoron",2137,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead"; + monster "1@mist",317,129,"Spyder the Seven-Legged",2132,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead"; + monster "1@mist",320,129,"Tito the Flapper",2133,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead"; + monster "1@mist",324,129,"Lazy Pumba",2134,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead"; + monster "1@mist",327,129,"Careless Tete",2136,1,instance_npcname("The Gardeners' Tree", instance_id())+"::OnMyMobDead"; + end; +OnMyMobDead: + end; +} + +1@mist,73,290,0 script Mysterious Flower#1 844,{ + specialeffect EF_LEVEL99_4; + disablenpc instance_npcname(strnpcinfo(0), instance_id()); + getitem 12561,1; //Mysterious_Seed + end; +} +1@mist,69,295,0 duplicate(Mysterious Flower#1) Mysterious Flower#2 844 +1@mist,62,291,0 duplicate(Mysterious Flower#1) Mysterious Flower#3 844 +1@mist,54,293,0 duplicate(Mysterious Flower#1) Mysterious Flower#4 844 +1@mist,48,286,0 duplicate(Mysterious Flower#1) Mysterious Flower#5 844 +1@mist,54,277,0 duplicate(Mysterious Flower#1) Mysterious Flower#6 844 +1@mist,52,270,0 duplicate(Mysterious Flower#1) Mysterious Flower#7 844 +1@mist,62,268,0 duplicate(Mysterious Flower#1) Mysterious Flower#8 844 +1@mist,72,271,0 duplicate(Mysterious Flower#1) Mysterious Flower#9 844 +1@mist,72,276,0 duplicate(Mysterious Flower#1) Mysterious Flower#10 844 +1@mist,118,194,0 duplicate(Mysterious Flower#1) Mysterious Flower#11 844 +1@mist,122,204,0 duplicate(Mysterious Flower#1) Mysterious Flower#12 844 +1@mist,137,209,0 duplicate(Mysterious Flower#1) Mysterious Flower#13 844 +1@mist,144,203,0 duplicate(Mysterious Flower#1) Mysterious Flower#14 844 +1@mist,146,186,0 duplicate(Mysterious Flower#1) Mysterious Flower#15 844 +1@mist,142,182,0 duplicate(Mysterious Flower#1) Mysterious Flower#16 844 +1@mist,132,179,0 duplicate(Mysterious Flower#1) Mysterious Flower#17 844 +1@mist,123,184,0 duplicate(Mysterious Flower#1) Mysterious Flower#18 844 +1@mist,194,118,0 duplicate(Mysterious Flower#1) Mysterious Flower#19 844 +1@mist,188,109,0 duplicate(Mysterious Flower#1) Mysterious Flower#20 844 +1@mist,193,94,0 duplicate(Mysterious Flower#1) Mysterious Flower#21 844 +1@mist,205,92,0 duplicate(Mysterious Flower#1) Mysterious Flower#22 844 +1@mist,213,96,0 duplicate(Mysterious Flower#1) Mysterious Flower#23 844 +1@mist,216,103,0 duplicate(Mysterious Flower#1) Mysterious Flower#24 844 +1@mist,212,116,0 duplicate(Mysterious Flower#1) Mysterious Flower#25 844 +1@mist,207,120,0 duplicate(Mysterious Flower#1) Mysterious Flower#26 844 +1@mist,169,310,0 duplicate(Mysterious Flower#1) Mysterious Flower#27 844 +1@mist,172,296,0 duplicate(Mysterious Flower#1) Mysterious Flower#28 844 +1@mist,191,301,0 duplicate(Mysterious Flower#1) Mysterious Flower#30 844 +1@mist,195,301,0 duplicate(Mysterious Flower#1) Mysterious Flower#31 844 +1@mist,192,316,0 duplicate(Mysterious Flower#1) Mysterious Flower#32 844 +1@mist,187,320,0 duplicate(Mysterious Flower#1) Mysterious Flower#33 844 +1@mist,174,318,0 duplicate(Mysterious Flower#1) Mysterious Flower#34 844 +1@mist,308,136,0 duplicate(Mysterious Flower#1) Mysterious Flower#35 844 +1@mist,314,122,0 duplicate(Mysterious Flower#1) Mysterious Flower#36 844 +1@mist,321,118,0 duplicate(Mysterious Flower#1) Mysterious Flower#37 844 +1@mist,331,123,0 duplicate(Mysterious Flower#1) Mysterious Flower#38 844 +1@mist,335,126,0 duplicate(Mysterious Flower#1) Mysterious Flower#39 844 +1@mist,332,141,0 duplicate(Mysterious Flower#1) Mysterious Flower#40 844 +1@mist,328,144,0 duplicate(Mysterious Flower#1) Mysterious Flower#41 844 +1@mist,314,144,0 duplicate(Mysterious Flower#1) Mysterious Flower#42 844 +1@mist,238,224,0 duplicate(Mysterious Flower#1) Mysterious Flower#43 844 +1@mist,244,231,0 duplicate(Mysterious Flower#1) Mysterious Flower#44 844 +1@mist,257,232,0 duplicate(Mysterious Flower#1) Mysterious Flower#45 844 +1@mist,262,229,0 duplicate(Mysterious Flower#1) Mysterious Flower#46 844 +1@mist,265,216,0 duplicate(Mysterious Flower#1) Mysterious Flower#47 844 +1@mist,260,214,0 duplicate(Mysterious Flower#1) Mysterious Flower#48 844 +1@mist,252,206,0 duplicate(Mysterious Flower#1) Mysterious Flower#49 844 +1@mist,244,211,0 duplicate(Mysterious Flower#1) Mysterious Flower#50 844 + +// Wandering Guardian Quest +//============================================================ +1@mist,2,2,0 script #Dragon Herder 844,{ + end; +OnInstanceInit: + switch(rand(1,6)) { + case 1: setarray .@c[0],77,240; break; + case 2: setarray .@c[0],147,261; break; + case 3: setarray .@c[0],182,263; break; + case 4: setarray .@c[0],194,350; break; + case 5: setarray .@c[0],268,183; break; + case 6: setarray .@c[0],65,278; break; + } + monster "1@mist",.@c[0],.@c[1],"Wandering Purple Dragon",2131,1,instance_npcname("#Dragon Herder", instance_id())+"::OnMyMobDead"; + end; +OnMyMobDead: + if (mobcount("1@mist",instance_npcname("#Dragon Herder", instance_id())+"::OnMyMobDead") == 0) { + donpcevent instance_npcname("Collapsed Girl#mist", instance_id())+"::OnEnable"; + donpcevent instance_npcname("Mysterious Young Man#mis", instance_id())+"::OnEnable"; + donpcevent instance_npcname("Loki#mist", instance_id())+"::OnEnable"; + instance_announce 0,"The Dragon's Cry: Am I being punished... for abandoning the way... of the guardian...?",bc_map,"0xffff00"; //FW_NORMAL 12 0 0 + disablenpc instance_npcname("#Dragon Herder", instance_id()); + initnpctimer; + } + end; +OnTimer3000: + stopnpctimer; + instance_announce 0,"Voice in your head: ...Will you... save... me... please......?",bc_map,"0xffff00"; //FW_NORMAL 12 0 0 + end; +} + +1@mist,97,30,3 script Mysterious Young Man#mis 512,{ + if (BaseLevel < 98) { + mes "[Mysterious Young Man]"; + mes "Huh? Do you plan to pass through here?"; + mes ".....I'm afraid it's beyond your ability, but I won't meddle in your affairs."; + mes "We'll meet again, if you survive."; + close; + } + if (ep14_1_mistwoods == 0) { + if (ep13_3_secret > 23) { + mes "[Mysterious Young Man]"; + mes "You... I remember seeing you at the camp."; + mes "The information you gave on Ahat was useful."; + mes "Thanks!"; + next; + mes "[Mysterious Young Man]"; + mes "But do you plan to pass through here?"; + mes "What good is it to go across Bifrost?"; + next; + } else { + mes "[Mysterious Young Man]"; + mes "Do you plan to pass through here?"; + mes "I will advise against it if you're just curious."; + mes "It will only bring about your untimely death..."; + next; + } + mes "[Mysterious Young Man]"; + mes "If you are determined to pass through here,"; + mes "I will ask for your help with something."; + next; + select("Who are you?"); + mes "[Loki]"; + mes "Loki... from the Assassin's Guild."; + mes "That's my name."; + mes "And yours?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "...."; + mes "...."+strcharinfo(0)+" sir."; + next; + mes "[Loki]"; + mes "I see. "+strcharinfo(0)+"."; + mes "I'm asking you again."; + mes "Do you plan to pass through this forest?"; + next; + switch(select("Yes, I do.:No, I don't.")) { + case 1: + mes "[Loki]"; + mes "Then I'll ask you a question."; + mes "Have you ever seen a guard... a girl with purple hair?"; + next; + switch(select("No, I haven't.:Yes, I might have...")) { + case 1: + mes "[Loki]"; + mes "So you haven't."; + mes "You're telling the truth."; + next; + break; + case 2: + mes "[Loki]"; + mes "Wait."; + mes "(Loki comes closer.)"; + mes "... No."; + mes "You're telling the truth."; + next; + break; + } + mes "[Loki]"; + mes "Now we have to say goodbye here."; + mes "If you survive this forest, of course."; + set ep14_1_mistwoods,2; + setquest 7212; + close; + case 2: + mes "[Loki]"; + mes "I understand."; + mes "Step back if you aren't ready."; + mes "This forest doesn't like strangers."; + set ep14_1_mistwoods,1; + close; + } + } else if (ep14_1_mistwoods == 1) { + mes "[Loki]"; + mes "I told you - step back if you don't want to die."; + mes "It's not easy going through the forest."; + mes "It may cost you your life."; + next; + switch(select("Okay.:What do you want?")) { + case 1: + mes "- When you step back,"; + mes "Loki nods slightly and then looks away. -"; + close; + case 2: + mes "[Loki]"; + mes "I'm looking for somebody."; + mes "Have you ever seen a guard... a girl with purple hair?"; + next; + switch(select("No, I haven't.:Yes, I might have...")) { + case 1: + mes "[Loki]"; + mes "So you haven't."; + mes "You're telling the truth."; + next; + break; + case 2: + mes "[Loki]"; + mes "Wait."; + mes "(Loki comes closer.)"; + mes "... No."; + mes "You're telling the truth."; + next; + break; + } + mes "[Loki]"; + mes "Now we have to say goodbye here."; + mes "Hopefully, we will see each other again in Mora."; + set ep14_1_mistwoods,2; + setquest 7212; + close; + } + } else if (ep14_1_mistwoods == 2) { + mes "[Loki]"; + mes "I don't want to go with you."; + mes "Hopefully, we will see each other again in Mora."; + close; + } else if (ep14_1_mistwoods == 3) { + mes "[Loki]"; + mes "So we meet again."; + mes "Are you used to this place?"; + mes "Come to the inn in Mora."; + mes "I have something to give to you."; + close; + } else { + mes "[Loki]"; + mes "We're seeing a lot of each other these days."; + mes "It seems you are completely comfortable with the place."; + mes "You'd better not be too proud of yourself."; + close; + } + end; +OnInstanceInit: +OnEnable: + enablenpc instance_npcname("Mysterious Young Man#mis", instance_id()); + end; +OnDisable: + disablenpc instance_npcname("Mysterious Young Man#mis", instance_id()); + end; +} + +1@mist,183,304,3 script Loki#mist 512,{ + if (ep14_1_mistwoods < 2) { + mes "[Loki]"; + mes "An adventurer in the forest."; + mes "....."; + mes "You can go to Mora through this forest."; + close; + } else if (ep14_1_mistwoods == 2) { + mes "[Loki]"; + mes "Is it you that took care of this unruly girl?"; + mes "I guess I have to thank you."; + mes "You've calmed her down."; + next; + select("What's happening?:This girl...?"); + mes "[Loki]"; + mes "You might be able to change your appearance, but you cannot change your unique, innate light."; + mes "A scent strong enough to burn your nose."; + next; + mes "[Loki]"; + mes "This is Nydhogg, the Guardian of Yggdrasil,"; + mes "whom I was looking for."; + mes "Now she won't wander around crazy any more."; + next; + select("What are you going to do now?"); + mes "[Loki]"; + mes "I'll wait for her to wake up and get out of this forest."; + mes "I can manage it on my own."; + mes "I'll see you in Mora."; + set ep14_1_mistwoods,3; + erasequest 7212; + setquest 7213; + close; + } else if (ep14_1_mistwoods == 3) { + mes "[Loki]"; + mes "I don't want to go with you."; + mes "I can manage her on my own."; + mes "If you have something to say, say it after we get out of the forest."; + close; + } else { + mes "[Loki]"; + mes "I don't want to go with you."; + mes "If you have something to say, say it after we get out of the forest."; + close; + } + end; +OnInstanceInit: +OnDisable: + disablenpc instance_npcname("Loki#mist", instance_id()); + end; +OnEnable: + enablenpc instance_npcname("Loki#mist", instance_id()); + end; +} + +1@mist,181,303,3 script Collapsed Girl#mist 511,{ + mes "You see a girl with mysterious hair collapsed on the ground."; + mes "As you approach her, you smell the scent of flowers so strong that it makes you dizzy."; + close; +OnInstanceInit: +OnDisable: + disablenpc instance_npcname("Collapsed Girl#mist", instance_id()); + end; +OnEnable: + enablenpc instance_npcname("Collapsed Girl#mist", instance_id()); + end; +} + +mora,46,152,5 script Flower Smelling Lady 510,{ + if (ep14_1_mistwoods < 3) { + mes "[Flower Smell Lady]"; + mes "I need rest."; + mes "I'm too tired to talk to you."; + mes "I'm sorry."; + close; + } else if (ep14_1_mistwoods == 3) { + mes "[Nydhogg the Guardian]"; + mes "I've been waiting for you."; + mes "I'm still confused, but I know what I did wrong."; + next; + mes "[Nydhogg the Guardian]"; + mes "If it weren't for you, I would still be wandering in the abyssal darkness."; + mes "I thank you, from the bottom of my heart."; + next; + mes "[Nydhogg the Guardian]"; + mes "I'm ashamed of myself, falling for the sweet but empty words that came to me in my loneliness."; + mes "...."; + next; + mes "[Nydhogg the Guardian]"; + mes "I don't deserve to be a guardian any more."; + mes "A dragon gone crazy is not a guardian any more."; + next; + mes "[Loki]"; + mes "Yggdrasil doesn't think so."; + mes "Nidi, don't forget your duties."; + next; + mes "[Nydhogg the Guardian]"; + mes "Are you...?"; + mes "I see..."; + mes "I thought I was forsaken..."; + next; + mes "The Guardian slowly looked away as if deep in thought."; + set ep14_1_mistwoods,4; + close2; + } else if (ep14_1_mistwoods == 4) { + mes "- He seems to be deep in thought. -"; + close; + } else { + mes "[Nydhogg the Guardian]"; + mes "I haven't gotten all of my powers back."; + mes "I'm sorry I can't protect you."; + next; + mes "[Nydhogg the Guardian]"; + mes "Loki said..."; + mes "that I won't cry from loneliness again,"; + mes "that I will always have new friends like you..."; + next; + mes "[Nydhogg the Guardian]"; + mes "...I've lost everything, but I'm happy now."; + close; + } +} + +mora,48,152,3 script Sharp Eyed Man 512,{ + if (checkweight(1201,1) == 0 || MaxWeight - Weight < 1000) { + mes "- You have too many items to do this quest. -"; + close; + } + if (ep14_1_mistwoods < 3) { + mes "He won't look at you. It's like he's not interested at all."; + close; + } else if (ep14_1_mistwoods == 3) { + mes "[Loki]"; + mes "So you've passed through the forest."; + mes "It seems Niddy has something to say to you."; + close; + } else if (ep14_1_mistwoods == 4) { + mes "[Loki]"; + mes "Nydhogg was one of the guardians of the World Tree."; + mes "But he abandoned his duties as a guardian when he gave in to Morroc's temptation."; + next; + mes "[Loki]"; + mes "Some fools performed a ritual to break the seal that held Morroc."; + mes "But the ritual didn't work right. The servant of Morroc failed to break the seal."; + next; + mes "[Loki]"; + mes "But the seal is so weak that it can break open any time."; + mes "It's Yggdrasil the World Tree's will that has kept the seal from breaking."; + next; + mes "[Nydhogg the Guardian]"; + mes "That's right. The power of the World Tree is linked to the whole world."; + mes "When the bond between the guardians and Yggdrasil broke, Yggdrasil became unstable."; + next; + mes "[Nydhogg the Guardian]"; + mes "That's why all those disasters happened to Yggdrasil."; + mes "As the World Tree became unstable, the influence it had on the seal grew weak."; + next; + mes "[Loki]"; + mes "And Morroc broke himself free from the seal."; + mes "Although it seems like he used most of his powers just to break the seal..."; + next; + mes "[Nydhogg the Guardian]"; + mes "It's all my fault."; + mes "I couldn't break free from Morroc's temptation."; + mes "For too... too long..."; + next; + mes "[Nydhogg the Guardian]"; + mes "...I wanted to be relieved of my thousands of years of loneliness."; + mes "I wasn't in my right mind then."; + mes "It was none other than I that broke my bond with Yggdrasil."; + next; + mes "[Nydhogg the Guardian]"; + mes "I lost control of myself, and did what I shouldn't have done."; + mes "The other side of me became a shadow and a reckless tyrant."; + next; + mes "[Nydhogg the Guardian]"; + mes "Facing the world, I realized..."; + mes "I felt too great a sense of loss... it was much more painful than the loneliness I had endured for thousands of years."; + next; + mes "[Nydhogg the Guardian]"; + mes "That's how I was left alone."; + mes "I felt too great a sense of loss... it was much more painful than the loneliness I had endured for thousands of years."; + next; + mes "[Nydhogg the Guardian]"; + mes "So I became a sinner, forgotten to the world."; + next; + mes "[Loki]"; + mes "It's not too late."; + mes "You're still a guardian."; + mes "You still have things to do."; + next; + mes "[Nydhogg the Guardian]"; + mes "... Oh, yes. It's late, but I have to fulfill my duties as a guardian."; + mes "Now I know. I'll destroy Morroc with my own hands."; + mes "I will fulfill my duties as a guardian."; + next; + switch(select("You're not alone.:Those are very important duties.")) { + case 1: + mes "[Nydhogg the Guardian]"; + mes "You're right."; + mes "It may be why I haven't been forsaken - to realize that I'm not alone."; + mes "You are a kind soul."; + next; + break; + case 2: + mes "[Nydhogg the Guardian]"; + mes "But this is my atonement."; + mes "I'm happy, though."; + mes "I don't have to fight the loneliness any more."; + next; + break; + } + mes "[Nydhogg the Guardian]"; + mes strcharinfo(0)+"..."; + mes "Thanks for listening to my long story."; + next; + mes "[Nydhogg the Guardian]"; + mes "It's what I always have with me."; + mes "I'm sure it will protect you someday."; + next; + mes "[Loki]"; + mes "(Removes his scarf from around his neck and hands it to you.)"; + next; + mes "[Nydhogg the Guardian]"; + mes "May the blessing of Mother Yggdrasil be with you..."; + set ep14_1_mistwoods,10; + completequest 7213; + getitem 2568,1; //Muffler_Of_Roki + getitem 2858,1; //Pendant_Of_Guardian + getexp 400000,400000; + close; + } else { + mes "[Loki]"; + mes "I'll be staying here for a while."; + mes "We may meet again."; + next; + mes "[Loki]"; + mes "The day when Morroc reveals his despicable nature..."; + mes "I will be waiting for him."; + close; + } +} + +// Monster Spawns +//============================================================ +1@mist,1,1,0 script #Mist Mobs Respawn1 844,{ + end; +OnInstanceInit: + monster "1@mist",0,0,"Miming",2137,15,instance_npcname("#Mist Mobs Respawn1", instance_id())+"::OnMyMobDead"; + end; +OnMyMobDead: + set .@num_mobs, 15 - mobcount("1@mist",instance_npcname("#Mist Mobs Respawn1", instance_id())+"::OnMyMobDead"); + if (.@num_mobs > 0) + monster "1@mist",0,0,"Miming",2137,.@num_mobs,instance_npcname("#Mist Mobs Respawn1", instance_id())+"::OnMyMobDead"; + end; +} + +1@mist,1,2,0 script #Mist Mobs Respawn2 844,{ + end; +OnInstanceInit: + monster "1@mist",0,0,"Pom Spider",2132,35,instance_npcname("#Mist Mobs Respawn2", instance_id())+"::OnMyMobDead"; + end; +OnMyMobDead: + set .@num_mobs, 35 - mobcount("1@mist",instance_npcname("#Mist Mobs Respawn2", instance_id())+"::OnMyMobDead"); + if (.@num_mobs > 0) + monster "1@mist",0,0,"Pom Spider",2132,.@num_mobs,instance_npcname("#Mist Mobs Respawn2", instance_id())+"::OnMyMobDead"; + end; +} + +1@mist,1,3,0 script #Mist Mobs Respawn3 844,{ + end; +OnInstanceInit: + monster "1@mist",0,0,"Angra Mantis",2133,35,instance_npcname("#Mist Mobs Respawn3", instance_id())+"::OnMyMobDead"; + end; +OnMyMobDead: + set .@num_mobs, 35 - mobcount("1@mist",instance_npcname("#Mist Mobs Respawn3", instance_id())+"::OnMyMobDead"); + if (.@num_mobs > 0) + monster "1@mist",0,0,"Angra Mantis",2133,.@num_mobs,instance_npcname("#Mist Mobs Respawn3", instance_id())+"::OnMyMobDead"; + end; +} + +1@mist,1,4,0 script #Mist Mobs Respawn4 844,{ + end; +OnInstanceInit: + monster "1@mist",0,0,"Parus",2134,35,instance_npcname("#Mist Mobs Respawn4", instance_id())+"::OnMyMobDead"; + end; +OnMyMobDead: + set .@num_mobs, 35 - mobcount("1@mist",instance_npcname("#Mist Mobs Respawn4", instance_id())+"::OnMyMobDead"); + if (.@num_mobs > 0) + monster "1@mist",0,0,"Parus",2134,.@num_mobs,instance_npcname("#Mist Mobs Respawn4", instance_id())+"::OnMyMobDead"; + end; +} + +1@mist,1,5,0 script #Mist Mobs Respawn5 844,{ + end; +OnInstanceInit: + monster "1@mist",0,0,"Little Fatum",2136,15,instance_npcname("#Mist Mobs Respawn5", instance_id())+"::OnMyMobDead"; + end; +OnMyMobDead: + set .@num_mobs, 15 - mobcount("1@mist",instance_npcname("#Mist Mobs Respawn5", instance_id())+"::OnMyMobDead"); + if (.@num_mobs > 0) + monster "1@mist",0,0,"Little Fatum",2136,.@num_mobs,instance_npcname("#Mist Mobs Respawn5", instance_id())+"::OnMyMobDead"; + end; +} + +1@mist,1,6,0 script #Fragments of Memory 844,{ + end; +OnInstanceInit: + disablenpc instance_npcname("#Fragments of Memory", instance_id()); + monster "1@mist",0,0,"Guardian's Fragments of Memory",2138,15; + end; +} + +// Warp Portals +//============================================================ +bif_fild01,38,374,0 script Mysterious Flower#ep14_1 844,{ + mes "It's a giant flower with mysterious energy."; + if (countitem(12561)) { + mes "It's reacting to the Mysterious Flower Seeds you have with you."; + next; + switch(select("Observe the reaction.:Stop the reaction.")) { + case 1: + mes "The flower started to shake violently"; + mes "and swing forward as if trying to send the seeds as far away as possible!!!"; + close2; + delitem 12561,1; //Mysterious_Seed + warp "bif_fild02",160,230; + end; + case 2: + mes "As you hold onto the Mysterious Flower Seeds tightly,"; + mes "the flower shook violently and then became calm again."; + close; + } + } + mes "It looks like it has some special use, but you're not sure what."; + close; +} + +1@mist,104,23,0 warp #to_bif01 1,1,bif_fild01,160,352 + +1@mist,109,70,0 script a1_a2 45,1,1,{ + end; +OnTouch: + if (checkquest(7211,PLAYTIME) == -1) + setquest 7211; + warp "1@mist",116,40; + end; +} + +1@mist,113,40,0 warp a2_a7 1,1,1@mist,90,81 +1@mist,93,81,0 warp a7_a14 1,1,1@mist,108,152 +1@mist,111,154,0 warp a14_a24 1,1,1@mist,236,108 +1@mist,236,110,0 warp a24_a1 1,1,1@mist,106,69 +1@mist,161,67,0 warp a18-1_a22 1,1,1@mist,159,85 +1@mist,180,116,0 warp a23_a18-1 1,1,1@mist,164,66 +1@mist,180,63,0 warp a18-2_a9 1,1,1@mist,141,90 +1@mist,116,84,0 warp a8_a26 1,1,1@mist,222,133 +1@mist,220,133,0 warp a26_a27-1 1,1,1@mist,200,64 +1@mist,197,64,0 warp a27-1_a23 1,1,1@mist,177,116 +1@mist,146,194,0 warp af1-2_a27-2 1,1,1@mist,225,96 +1@mist,133,195,0 warp af1-1_af2-1 1,1,1@mist,202,110 +1@mist,202,107,0 warp af2-1_af1-1 1,1,1@mist,134,189 +1@mist,217,110,0 warp af2-2_a20-1 1,1,1@mist,240,56 +1@mist,240,54,0 warp a20-1_af2-2 1,1,1@mist,214,110 +1@mist,234,67,0 warp a20-2_a21 1,1,1@mist,239,80 +1@mist,242,77,0 warp a21_a15-1 1,1,1@mist,153,137 +1@mist,156,139,0 warp a15-1_a3 1,1,1@mist,123,55 +1@mist,124,51,0 warp a3_a20-1 1,1,1@mist,240,56 +1@mist,48,41,0 warp a4-1_a17 1,1,1@mist,174,165 +1@mist,171,165,0 warp a17_a16 1,1,1@mist,168,143 +1@mist,169,141,0 warp a16_a10 1,1,1@mist,101,107 +1@mist,99,107,0 warp a10_a4-2 1,1,1@mist,57,38 +1@mist,65,113,0 warp a11_a28 1,1,1@mist,218,151 +1@mist,221,151,0 warp a28_a13 1,1,1@mist,117,126 +1@mist,114,126,0 warp a13_a5 1,1,1@mist,36,62 +1@mist,61,88,0 warp a6_a19 1,1,1@mist,189,139 +1@mist,186,140,0 warp a19_a12 1,1,1@mist,98,126 +1@mist,101,126,0 warp a12_a29-1 1,1,1@mist,238,151 +1@mist,235,152,0 warp a29-1_af1-2 1,1,1@mist,144,194 +1@mist,254,151,0 warp a29-2E_b1 1,1,1@mist,271,164 +1@mist,275,211,0 warp b1_b13 1,1,1@mist,277,112 +1@mist,301,141,0 warp b14_b24 1,1,1@mist,99,232 +1@mist,99,230,0 warp b24_b25 1,1,1@mist,103,255 +1@mist,102,253,0 warp b25_b4-1 1,1,1@mist,215,177 +1@mist,212,177,0 warp b4-1_b1 1,1,1@mist,276,208 +1@mist,289,167,0 warp b2_b19 1,1,1@mist,152,219 +1@mist,149,219,0 warp b19_b20 1,1,1@mist,119,227 +1@mist,115,227,0 warp b20_b23 1,1,1@mist,230,353 +1@mist,233,353,0 warp b23_b7 1,1,1@mist,289,225 +1@mist,76,273,0 warp bf1-2_b7 1,1,1@mist,289,225 +1@mist,61,282,0 warp bf1-1_bf2-1 1,1,1@mist,256,220 +1@mist,252,220,0 warp bf2-1_bf1-1 1,1,1@mist,65,282 +1@mist,267,213,0 warp bf2-2_b28 1,1,1@mist,214,268 +1@mist,212,265,0 warp b28_b12 1,1,1@mist,288,266 +1@mist,285,266,0 warp b12_b21 1,1,1@mist,143,234 +1@mist,143,231,0 warp b21_b29 1,1,1@mist,222,281 +1@mist,223,279,0 warp b29_b31 1,1,1@mist,158,317 +1@mist,134,287,0 warp b30_b3 1,1,1@mist,293,195 +1@mist,295,197,0 warp b3_b10 1,1,1@mist,239,253 +1@mist,236,253,0 warp b10_b12 1,1,1@mist,288,266 +1@mist,111,203,0 warp b16_b34 1,1,1@mist,202,333 +1@mist,199,333,0 warp b34_b27-1 1,1,1@mist,203,251 +1@mist,206,249,0 warp b27-1_b22 1,1,1@mist,168,239 +1@mist,165,239,0 warp b22_b15 1,1,1@mist,89,173 +1@mist,177,265,0 warp b27-2_a14 1,1,1@mist,108,152 +1@mist,166,314,0 warp bN-1_b27-3 1,1,1@mist,206,297 +1@mist,197,299,0 warp bN-2_b17 1,1,1@mist,167,200 +1@mist,165,200,0 warp b17_bN-2 1,1,1@mist,193,299 +1@mist,86,173,0 warp b15_b32 1,1,1@mist,218,313 +1@mist,215,313,0 warp b32_b28 1,1,1@mist,214,268 +1@mist,230,324,0 warp b33_b6-1 1,1,1@mist,221,233 +1@mist,230,230,0 warp b6-2_b11 1,1,1@mist,263,261 +1@mist,263,258,0 warp b11_b9 1,1,1@mist,272,246 +1@mist,269,246,0 warp b9_b26 1,1,1@mist,143,265 +1@mist,140,265,0 warp b26_b5 1,1,1@mist,209,200 +1@mist,195,206,0 warp b18_b35 1,1,1@mist,169,341 +1@mist,166,341,0 warp b35_b36 1,1,1@mist,198,354 +1@mist,201,354,0 warp b36_b37-1 1,1,1@mist,83,224 +1@mist,87,224,0 warp b37-1_b35 1,1,1@mist,169,341 +1@mist,84,273,0 warp b37-2_c1 1,1,1@mist,98,287 +1@mist,111,298,0 warp c2_c3 1,1,1@mist,82,307 +1@mist,79,307,0 warp c3_c7 1,1,1@mist,284,89 +1@mist,281,89,0 warp c7_c12 1,1,1@mist,264,291 +1@mist,261,291,0 warp c12_c2 1,1,1@mist,115,298 +1@mist,326,275,0 warp c13-1_b13 1,1,1@mist,277,112 +1@mist,294,293,0 warp c13-2_c5 1,1,1@mist,78,330 +1@mist,81,330,0 warp c5_c17 1,1,1@mist,308,330 +1@mist,308,327,0 warp c17_c10 1,1,1@mist,309,165 +1@mist,306,165,0 warp c10_c13-2 1,1,1@mist,298,293 +1@mist,46,316,0 warp c4_c6 1,1,1@mist,113,328 +1@mist,95,328,0 warp c6_c9 1,1,1@mist,342,157 +1@mist,339,157,0 warp c9_c16 1,1,1@mist,343,328 +1@mist,343,325,0 warp c16_c8-2 1,1,1@mist,346,120 +1@mist,344,123,0 warp c8-2_c19 1,1,1@mist,277,343 +1@mist,256,313,0 warp c18_c15 1,1,1@mist,343,307 +1@mist,342,305,0 warp c15_cKEY 1,1,1@mist,332,121 +1@mist,335,120,0 warp cKEY_c18 1,1,1@mist,259,313 +1@mist,317,89,0 warp c8-1_c14 1,1,1@mist,339,284 +1@mist,339,281,0 warp c14_c11-1 1,1,1@mist,332,172 +1@mist,329,171,0 warp c11-1_c8-2 1,1,1@mist,346,120 +1@mist,301,237,0 warp b8_b2 1,1,1@mist,289,170 + +// Disable Garden Tree warps. +// Custom, but saves processing and lines. +1@mist,1,1,0 script #mist_warp_init 844,{ + end; +OnInstanceInit: + disablenpc instance_npcname("a25_a18-1", instance_id()); + disablenpc instance_npcname("a27-2_af1-2", instance_id()); + disablenpc instance_npcname("a15-2_a4-1", instance_id()); + disablenpc instance_npcname("a4-2_a11", instance_id()); + disablenpc instance_npcname("b4-2_b2", instance_id()); + disablenpc instance_npcname("b7_bf1-2", instance_id()); + disablenpc instance_npcname("b31_b16", instance_id()); + disablenpc instance_npcname("b27-3_bN-1", instance_id()); + disablenpc instance_npcname("b6-1_b33", instance_id()); + disablenpc instance_npcname("b5_b14", instance_id()); + disablenpc instance_npcname("c1_c13-1", instance_id()); + disablenpc instance_npcname("c13-3_c4", instance_id()); + disablenpc instance_npcname("c19_c4", instance_id()); + disablenpc instance_npcname("#to_bif02", instance_id()); + disablenpc instance_npcname("#mist_warp_init", instance_id()); + end; +} +1@mist,247,123,0 warp a25_a18-1 1,1,1@mist,164,66 //Tom +1@mist,225,98,0 warp a27-2_af1-2 1,1,1@mist,144,194 //Tomba +1@mist,159,184,0 warp a15-2_a4-1 1,1,1@mist,49,37 //Remi +1@mist,61,39,0 warp a4-2_a11 1,1,1@mist,68,113 //Rem +1@mist,230,179,0 warp b4-2_b2 1,1,1@mist,289,170 //Ron +1@mist,285,225,0 warp b7_bf1-2 1,1,1@mist,72,274 //Rover +1@mist,161,316,0 warp b31_b16 1,1,1@mist,108,203 //Mona +1@mist,204,299,0 warp b27-3_bN-1 1,1,1@mist,169,314 //Namon +1@mist,221,236,0 warp b6-1_b33 1,1,1@mist,233,324 //Neoron +1@mist,206,200,0 warp b5_b14 1,1,1@mist,298,142 //Spyder +1@mist,95,287,0 warp c1_c13-1 1,1,1@mist,323,276 //Tito +1@mist,324,325,0 warp c13-3_c4 1,1,1@mist,49,316 //Pumba +1@mist,280,344,0 warp c19_c4 1,1,1@mist,49,316 //Tete +1@mist,345,186,0 warp #to_bif02 1,1,bif_fild02,151,121 //The Gardeners' Tree diff --git a/npc/re/merchants/enchan_mora.txt b/npc/re/merchants/enchan_mora.txt index 8ff8f758de..aa24576e3a 100644 --- a/npc/re/merchants/enchan_mora.txt +++ b/npc/re/merchants/enchan_mora.txt @@ -3,7 +3,7 @@ //===== By: ================================================== //= Euphy //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= @@ -12,6 +12,7 @@ //= Mora coins. //===== Additional Comments: ================================= //= 1.0 First Version. [Euphy] +//= 1.1 Optimized. [Euphy] //============================================================ // Arch Bishop Enchants :: coin_arc @@ -217,70 +218,15 @@ mora,96,74,5 script Master of Relics#pa0829 495,{ switch(.@enchant_type) { case 1: set .@i, rand(1,1487); - if (.@i <= 16) setarray .@enchants[2],4710,.@sp; //Inteligence2 [sp] - else if (.@i <= 32) setarray .@enchants[2],4710,4799; //Inteligence2 HP500 - else if (.@i <= 48) setarray .@enchants[2],4710,4766; //Inteligence2 Atk2 - else if (.@i <= 64) setarray .@enchants[2],4710,4788; //Inteligence2 Mdef6 - else if (.@i <= 80) setarray .@enchants[2],4720,.@sp; //Dexterity1 [sp] - else if (.@i <= 96) setarray .@enchants[2],4720,4799; //Dexterity1 HP500 - else if (.@i <= 112) setarray .@enchants[2],4720,4766; //Dexterity1 Atk2 - else if (.@i <= 128) setarray .@enchants[2],4720,4788; //Dexterity1 Mdef6 - else if (.@i <= 144) setarray .@enchants[2],4721,.@sp; //Dexterity2 [sp] - else if (.@i <= 160) setarray .@enchants[2],4721,4799; //Dexterity2 HP500 - else if (.@i <= 176) setarray .@enchants[2],4721,4766; //Dexterity2 Atk2 - else if (.@i <= 192) setarray .@enchants[2],4721,4788; //Dexterity2 Mdef6 - else if (.@i <= 208) setarray .@enchants[2],4740,.@sp; //Vitality1 [sp] - else if (.@i <= 224) setarray .@enchants[2],4740,4799; //Vitality1 HP500 - else if (.@i <= 240) setarray .@enchants[2],4740,4766; //Vitality1 Atk2 - else if (.@i <= 256) setarray .@enchants[2],4740,4788; //Vitality1 Mdef6 - else if (.@i <= 272) setarray .@enchants[2],4710,.@sp; //Inteligence2 [sp] - else if (.@i <= 288) setarray .@enchants[2],4710,4799; //Inteligence2 HP500 - else if (.@i <= 304) setarray .@enchants[2],4710,4766; //Inteligence2 Atk2 - else if (.@i <= 320) setarray .@enchants[2],4710,4788; //Inteligence2 Mdef6 - else if (.@i <= 336) setarray .@enchants[2],4720,.@sp; //Dexterity1 [sp] - else if (.@i <= 352) setarray .@enchants[2],4720,4799; //Dexterity1 HP500 - else if (.@i <= 368) setarray .@enchants[2],4720,4766; //Dexterity1 Atk2 - else if (.@i <= 384) setarray .@enchants[2],4720,4788; //Dexterity1 Mdef6 - else if (.@i <= 400) setarray .@enchants[2],4721,.@sp; //Dexterity2 [sp] - else if (.@i <= 416) setarray .@enchants[2],4721,4799; //Dexterity2 HP500 - else if (.@i <= 432) setarray .@enchants[2],4721,4766; //Dexterity2 Atk2 - else if (.@i <= 448) setarray .@enchants[2],4721,4788; //Dexterity2 Mdef6 - else if (.@i <= 464) setarray .@enchants[2],4740,.@sp; //Vitality1 [sp] - else if (.@i <= 480) setarray .@enchants[2],4740,4799; //Vitality1 HP500 - else if (.@i <= 496) setarray .@enchants[2],4740,4766; //Vitality1 Atk2 - else if (.@i <= 512) setarray .@enchants[2],4740,4788; //Vitality1 Mdef6 - else if (.@i <= 528) setarray .@enchants[2],4710,.@sp; //Inteligence2 [sp] - else if (.@i <= 544) setarray .@enchants[2],4710,4799; //Inteligence2 HP500 - else if (.@i <= 560) setarray .@enchants[2],4710,4766; //Inteligence2 Atk2 - else if (.@i <= 576) setarray .@enchants[2],4710,4788; //Inteligence2 Mdef6 - else if (.@i <= 592) setarray .@enchants[2],4720,.@sp; //Dexterity1 [sp] - else if (.@i <= 608) setarray .@enchants[2],4720,4799; //Dexterity1 HP500 - else if (.@i <= 624) setarray .@enchants[2],4720,4766; //Dexterity1 Atk2 - else if (.@i <= 640) setarray .@enchants[2],4720,4788; //Dexterity1 Mdef6 - else if (.@i <= 656) setarray .@enchants[2],4721,.@sp; //Dexterity2 [sp] - else if (.@i <= 672) setarray .@enchants[2],4721,4799; //Dexterity2 HP500 - else if (.@i <= 688) setarray .@enchants[2],4721,4766; //Dexterity2 Atk2 - else if (.@i <= 704) setarray .@enchants[2],4721,4788; //Dexterity2 Mdef6 - else if (.@i <= 720) setarray .@enchants[2],4740,.@sp; //Vitality1 [sp] - else if (.@i <= 736) setarray .@enchants[2],4740,4799; //Vitality1 HP500 - else if (.@i <= 752) setarray .@enchants[2],4740,4766; //Vitality1 Atk2 - else if (.@i <= 768) setarray .@enchants[2],4740,4788; //Vitality1 Mdef6 - else if (.@i <= 784) setarray .@enchants[2],4710,.@sp; //Inteligence2 [sp] - else if (.@i <= 800) setarray .@enchants[2],4710,4799; //Inteligence2 HP500 - else if (.@i <= 816) setarray .@enchants[2],4710,4766; //Inteligence2 Atk2 - else if (.@i <= 832) setarray .@enchants[2],4710,4788; //Inteligence2 Mdef6 - else if (.@i <= 848) setarray .@enchants[2],4720,.@sp; //Dexterity1 [sp] - else if (.@i <= 864) setarray .@enchants[2],4720,4799; //Dexterity1 HP500 - else if (.@i <= 880) setarray .@enchants[2],4720,4766; //Dexterity1 Atk2 - else if (.@i <= 896) setarray .@enchants[2],4720,4788; //Dexterity1 Mdef6 - else if (.@i <= 912) setarray .@enchants[2],4721,.@sp; //Dexterity2 [sp] - else if (.@i <= 928) setarray .@enchants[2],4721,4799; //Dexterity2 HP500 - else if (.@i <= 944) setarray .@enchants[2],4721,4766; //Dexterity2 Atk2 - else if (.@i <= 960) setarray .@enchants[2],4721,4788; //Dexterity2 Mdef6 - else if (.@i <= 976) setarray .@enchants[2],4740,.@sp; //Vitality1 [sp] - else if (.@i <= 992) setarray .@enchants[2],4740,4799; //Vitality1 HP500 - else if (.@i <= 1008) setarray .@enchants[2],4740,4766; //Vitality1 Atk2 - else if (.@i <= 1024) setarray .@enchants[2],4740,4788; //Vitality1 Mdef6 + if (.@i <= 1024) { + // Basic combinations + // (raw: .@i increments by 16, 4 repeats) + setarray .@enchant_slot2[0],4710,4720,4721,4240; //Inteligence2,Dexterity1,Dexterity2,Vitality1 + setarray .@enchant_slot3[0],.@sp,4799,4766,4788; //[sp],HP500,Atk2,Mdef6 + setarray .@enchants[2], + .@enchant_slot2[rand(getarraysize(.@enchant_slot2))], + .@enchant_slot3[rand(getarraysize(.@enchant_slot3))]; + } else if (.@i <= 1040) setarray .@enchants[2],.@sp,.@sp; //[sp] [sp] else if (.@i <= 1487) { mes "[Relice]"; @@ -290,70 +236,17 @@ mora,96,74,5 script Master of Relics#pa0829 495,{ break; case 2: set .@i, rand(1,1487); - if (.@i <= 16) setarray .@enchants[1],4710,4711,4764; //Inteligence1 Inteligence2 Critical5 - else if (.@i <= 32) setarray .@enchants[1],4710,4711,4799; //Inteligence1 Inteligence2 HP500 - else if (.@i <= 48) setarray .@enchants[1],4710,4711,4766; //Inteligence1 Inteligence2 Atk2 - else if (.@i <= 64) setarray .@enchants[1],4710,4711,4788; //Inteligence1 Inteligence2 Mdef6 - else if (.@i <= 80) setarray .@enchants[1],4710,4720,4764; //Inteligence1 Dexterity1 Critical5 - else if (.@i <= 96) setarray .@enchants[1],4710,4720,4799; //Inteligence1 Dexterity1 HP500 - else if (.@i <= 112) setarray .@enchants[1],4710,4720,4766; //Inteligence1 Dexterity1 Atk2 - else if (.@i <= 128) setarray .@enchants[1],4710,4720,4788; //Inteligence1 Dexterity1 Mdef6 - else if (.@i <= 144) setarray .@enchants[1],4710,4721,4764; //Inteligence1 Dexterity2 Critical5 - else if (.@i <= 160) setarray .@enchants[1],4710,4721,4799; //Inteligence1 Dexterity2 HP500 - else if (.@i <= 176) setarray .@enchants[1],4710,4721,4766; //Inteligence1 Dexterity2 Atk2 - else if (.@i <= 192) setarray .@enchants[1],4710,4721,4788; //Inteligence1 Dexterity2 Mdef6 - else if (.@i <= 208) setarray .@enchants[1],4710,4740,4764; //Inteligence1 Vitality1 Critical5 - else if (.@i <= 224) setarray .@enchants[1],4710,4740,4799; //Inteligence1 Vitality1 HP500 - else if (.@i <= 240) setarray .@enchants[1],4710,4740,4766; //Inteligence1 Vitality1 Atk2 - else if (.@i <= 256) setarray .@enchants[1],4710,4740,4788; //Inteligence1 Vitality1 Mdef6 - else if (.@i <= 272) setarray .@enchants[1],4711,4711,4764; //Inteligence2 Inteligence2 Critical5 - else if (.@i <= 288) setarray .@enchants[1],4711,4711,4799; //Inteligence2 Inteligence2 HP500 - else if (.@i <= 304) setarray .@enchants[1],4711,4711,4766; //Inteligence2 Inteligence2 Atk2 - else if (.@i <= 320) setarray .@enchants[1],4711,4711,4788; //Inteligence2 Inteligence2 Mdef6 - else if (.@i <= 336) setarray .@enchants[1],4711,4720,4764; //Inteligence2 Dexterity1 Critical5 - else if (.@i <= 352) setarray .@enchants[1],4711,4720,4799; //Inteligence2 Dexterity1 HP500 - else if (.@i <= 368) setarray .@enchants[1],4711,4720,4766; //Inteligence2 Dexterity1 Atk2 - else if (.@i <= 384) setarray .@enchants[1],4711,4720,4788; //Inteligence2 Dexterity1 Mdef6 - else if (.@i <= 400) setarray .@enchants[1],4711,4721,4764; //Inteligence2 Dexterity2 Critical5 - else if (.@i <= 416) setarray .@enchants[1],4711,4721,4799; //Inteligence2 Dexterity2 HP500 - else if (.@i <= 432) setarray .@enchants[1],4711,4721,4766; //Inteligence2 Dexterity2 Atk2 - else if (.@i <= 448) setarray .@enchants[1],4711,4721,4788; //Inteligence2 Dexterity2 Mdef6 - else if (.@i <= 464) setarray .@enchants[1],4711,4740,4764; //Inteligence2 Vitality1 Critical5 - else if (.@i <= 480) setarray .@enchants[1],4711,4740,4799; //Inteligence2 Vitality1 HP500 - else if (.@i <= 496) setarray .@enchants[1],4711,4740,4766; //Inteligence2 Vitality1 Atk2 - else if (.@i <= 512) setarray .@enchants[1],4711,4740,4788; //Inteligence2 Vitality1 Mdef6 - else if (.@i <= 528) setarray .@enchants[1],4720,4711,4764; //Dexterity1 Inteligence2 Critical5 - else if (.@i <= 544) setarray .@enchants[1],4720,4711,4799; //Dexterity1 Inteligence2 HP500 - else if (.@i <= 560) setarray .@enchants[1],4720,4711,4766; //Dexterity1 Inteligence2 Atk2 - else if (.@i <= 576) setarray .@enchants[1],4720,4711,4788; //Dexterity1 Inteligence2 Mdef6 - else if (.@i <= 592) setarray .@enchants[1],4720,4720,4764; //Dexterity1 Dexterity1 Critical5 - else if (.@i <= 608) setarray .@enchants[1],4720,4720,4799; //Dexterity1 Dexterity1 HP500 - else if (.@i <= 624) setarray .@enchants[1],4720,4720,4766; //Dexterity1 Dexterity1 Atk2 - else if (.@i <= 640) setarray .@enchants[1],4720,4720,4788; //Dexterity1 Dexterity1 Mdef6 - else if (.@i <= 656) setarray .@enchants[1],4720,4721,4764; //Dexterity1 Dexterity2 Critical5 - else if (.@i <= 672) setarray .@enchants[1],4720,4721,4799; //Dexterity1 Dexterity2 HP500 - else if (.@i <= 688) setarray .@enchants[1],4720,4721,4766; //Dexterity1 Dexterity2 Atk2 - else if (.@i <= 704) setarray .@enchants[1],4720,4721,4788; //Dexterity1 Dexterity2 Mdef6 - else if (.@i <= 720) setarray .@enchants[1],4720,4740,4764; //Dexterity1 Vitality1 Critical5 - else if (.@i <= 736) setarray .@enchants[1],4720,4740,4799; //Dexterity1 Vitality1 HP500 - else if (.@i <= 752) setarray .@enchants[1],4720,4740,4766; //Dexterity1 Vitality1 Atk2 - else if (.@i <= 768) setarray .@enchants[1],4720,4740,4788; //Dexterity1 Vitality1 Mdef6 - else if (.@i <= 784) setarray .@enchants[1],4721,4711,4764; //Dexterity2 Inteligence2 Critical5 - else if (.@i <= 800) setarray .@enchants[1],4721,4711,4799; //Dexterity2 Inteligence2 HP500 - else if (.@i <= 816) setarray .@enchants[1],4721,4711,4766; //Dexterity2 Inteligence2 Atk2 - else if (.@i <= 832) setarray .@enchants[1],4721,4711,4788; //Dexterity2 Inteligence2 Mdef6 - else if (.@i <= 848) setarray .@enchants[1],4721,4720,4764; //Dexterity2 Dexterity1 Critical5 - else if (.@i <= 864) setarray .@enchants[1],4721,4720,4799; //Dexterity2 Dexterity1 HP500 - else if (.@i <= 880) setarray .@enchants[1],4721,4720,4766; //Dexterity2 Dexterity1 Atk2 - else if (.@i <= 896) setarray .@enchants[1],4721,4720,4788; //Dexterity2 Dexterity1 Mdef6 - else if (.@i <= 912) setarray .@enchants[1],4721,4721,4764; //Dexterity2 Dexterity2 Critical5 - else if (.@i <= 928) setarray .@enchants[1],4721,4721,4799; //Dexterity2 Dexterity2 HP500 - else if (.@i <= 944) setarray .@enchants[1],4721,4721,4766; //Dexterity2 Dexterity2 Atk2 - else if (.@i <= 960) setarray .@enchants[1],4721,4721,4788; //Dexterity2 Dexterity2 Mdef6 - else if (.@i <= 976) setarray .@enchants[1],4721,4740,4764; //Dexterity2 Vitality1 Critical5 - else if (.@i <= 992) setarray .@enchants[1],4721,4740,4799; //Dexterity2 Vitality1 HP500 - else if (.@i <= 1008) setarray .@enchants[1],4721,4740,4766; //Dexterity2 Vitality1 Atk2 - else if (.@i <= 1024) setarray .@enchants[1],4721,4740,4788; //Dexterity2 Vitality1 Mdef6 + if (.@i <= 1024) { + // Basic combinations + // (raw: .@i increments by 16) + setarray .@enchant_slot1[0],4710,4711,4720,4721; //Inteligence1,Inteligence2,Dexterity1,Dexterity2 + setarray .@enchant_slot2[0],4711,4720,4721,4740; //Inteligence2,Dexterity1,Dexterity2,Vitality1 + setarray .@enchant_slot3[0],4764,4799,4766,4788; //Critical5,HP500,Atk2,Mdef6 + setarray .@enchants[1], + .@enchant_slot1[rand(getarraysize(.@enchant_slot1))], + .@enchant_slot2[rand(getarraysize(.@enchant_slot2))], + .@enchant_slot3[rand(getarraysize(.@enchant_slot3))]; + } else if (.@i <= 1026) setarray .@enchants[1],4761,4761,4761; //Matk2 Matk2 Matk2 else if (.@i <= 1028) setarray .@enchants[1],4712,4713,4713; //Inteligence3 Inteligence4 Inteligence4 else if (.@i <= 1030) setarray .@enchants[1],4712,4761,4761; //Inteligence3 Matk2 Matk2 @@ -370,70 +263,15 @@ mora,96,74,5 script Master of Relics#pa0829 495,{ break; case 3: set .@i, rand(1,2852); - if (.@i <= 31) setarray .@enchants[2],4720,4710; //Dexterity1 Inteligence1 - else if (.@i <= 62) setarray .@enchants[2],4720,4711; //Dexterity1 Inteligence2 - else if (.@i <= 93) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2 - else if (.@i <= 124) setarray .@enchants[2],4720,4760; //Dexterity1 Matk1 - else if (.@i <= 155) setarray .@enchants[2],4740,4710; //Vitality1 Inteligence1 - else if (.@i <= 186) setarray .@enchants[2],4740,4711; //Vitality1 Inteligence2 - else if (.@i <= 217) setarray .@enchants[2],4740,4721; //Vitality1 Dexterity2 - else if (.@i <= 248) setarray .@enchants[2],4740,4760; //Vitality1 Matk1 - else if (.@i <= 279) setarray .@enchants[2],4741,4710; //Vitality2 Inteligence1 - else if (.@i <= 310) setarray .@enchants[2],4741,4711; //Vitality2 Inteligence2 - else if (.@i <= 341) setarray .@enchants[2],4741,4721; //Vitality2 Dexterity2 - else if (.@i <= 372) setarray .@enchants[2],4741,4760; //Vitality2 Matk1 - else if (.@i <= 403) setarray .@enchants[2],4801,4710; //SP100 Inteligence1 - else if (.@i <= 434) setarray .@enchants[2],4801,4711; //SP100 Inteligence2 - else if (.@i <= 465) setarray .@enchants[2],4801,4721; //SP100 Dexterity2 - else if (.@i <= 496) setarray .@enchants[2],4801,4760; //SP100 Matk1 - else if (.@i <= 527) setarray .@enchants[2],4720,4710; //Dexterity1 Inteligence1 - else if (.@i <= 558) setarray .@enchants[2],4720,4711; //Dexterity1 Inteligence2 - else if (.@i <= 589) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2 - else if (.@i <= 620) setarray .@enchants[2],4720,4760; //Dexterity1 Matk1 - else if (.@i <= 651) setarray .@enchants[2],4740,4710; //Vitality1 Inteligence1 - else if (.@i <= 682) setarray .@enchants[2],4740,4711; //Vitality1 Inteligence2 - else if (.@i <= 713) setarray .@enchants[2],4740,4721; //Vitality1 Dexterity2 - else if (.@i <= 744) setarray .@enchants[2],4740,4760; //Vitality1 Matk1 - else if (.@i <= 775) setarray .@enchants[2],4741,4710; //Vitality2 Inteligence1 - else if (.@i <= 806) setarray .@enchants[2],4741,4711; //Vitality2 Inteligence2 - else if (.@i <= 837) setarray .@enchants[2],4741,4721; //Vitality2 Dexterity2 - else if (.@i <= 868) setarray .@enchants[2],4741,4760; //Vitality2 Matk1 - else if (.@i <= 899) setarray .@enchants[2],4801,4710; //SP100 Inteligence1 - else if (.@i <= 930) setarray .@enchants[2],4801,4711; //SP100 Inteligence2 - else if (.@i <= 961) setarray .@enchants[2],4801,4721; //SP100 Dexterity2 - else if (.@i <= 992) setarray .@enchants[2],4801,4760; //SP100 Matk1 - else if (.@i <= 1023) setarray .@enchants[2],4720,4710; //Dexterity1 Inteligence1 - else if (.@i <= 1054) setarray .@enchants[2],4720,4711; //Dexterity1 Inteligence2 - else if (.@i <= 1085) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2 - else if (.@i <= 1116) setarray .@enchants[2],4720,4760; //Dexterity1 Matk1 - else if (.@i <= 1147) setarray .@enchants[2],4740,4710; //Vitality1 Inteligence1 - else if (.@i <= 1178) setarray .@enchants[2],4740,4711; //Vitality1 Inteligence2 - else if (.@i <= 1209) setarray .@enchants[2],4740,4721; //Vitality1 Dexterity2 - else if (.@i <= 1240) setarray .@enchants[2],4740,4760; //Vitality1 Matk1 - else if (.@i <= 1271) setarray .@enchants[2],4741,4710; //Vitality2 Inteligence1 - else if (.@i <= 1302) setarray .@enchants[2],4741,4711; //Vitality2 Inteligence2 - else if (.@i <= 1333) setarray .@enchants[2],4741,4721; //Vitality2 Dexterity2 - else if (.@i <= 1364) setarray .@enchants[2],4741,4760; //Vitality2 Matk1 - else if (.@i <= 1395) setarray .@enchants[2],4801,4710; //SP100 Inteligence1 - else if (.@i <= 1426) setarray .@enchants[2],4801,4711; //SP100 Inteligence2 - else if (.@i <= 1457) setarray .@enchants[2],4801,4721; //SP100 Dexterity2 - else if (.@i <= 1488) setarray .@enchants[2],4801,4760; //SP100 Matk1 - else if (.@i <= 1519) setarray .@enchants[2],4720,4710; //Dexterity1 Inteligence1 - else if (.@i <= 1550) setarray .@enchants[2],4720,4711; //Dexterity1 Inteligence2 - else if (.@i <= 1581) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2 - else if (.@i <= 1612) setarray .@enchants[2],4720,4760; //Dexterity1 Matk1 - else if (.@i <= 1643) setarray .@enchants[2],4740,4710; //Vitality1 Inteligence1 - else if (.@i <= 1674) setarray .@enchants[2],4740,4711; //Vitality1 Inteligence2 - else if (.@i <= 1705) setarray .@enchants[2],4740,4721; //Vitality1 Dexterity2 - else if (.@i <= 1736) setarray .@enchants[2],4740,4760; //Vitality1 Matk1 - else if (.@i <= 1767) setarray .@enchants[2],4741,4710; //Vitality2 Inteligence1 - else if (.@i <= 1798) setarray .@enchants[2],4741,4711; //Vitality2 Inteligence2 - else if (.@i <= 1829) setarray .@enchants[2],4741,4721; //Vitality2 Dexterity2 - else if (.@i <= 1860) setarray .@enchants[2],4741,4760; //Vitality2 Matk1 - else if (.@i <= 1891) setarray .@enchants[2],4801,4710; //SP100 Inteligence1 - else if (.@i <= 1922) setarray .@enchants[2],4801,4711; //SP100 Inteligence2 - else if (.@i <= 1953) setarray .@enchants[2],4801,4721; //SP100 Dexterity2 - else if (.@i <= 1984) setarray .@enchants[2],4801,4760; //SP100 Matk1 + if (.@i <= 1984) { + // Basic combinations + // (raw: .@i increments by 31, 4 repeats) + setarray .@enchant_slot2[0],4720,4740,4741,4801; //Dexterity1,Vitality1,Vitality2,SP100 + setarray .@enchant_slot3[0],4710,4711,4721,4760; //Inteligence1,Inteligence2,Dexterity2,Matk1 + setarray .@enchants[2], + .@enchant_slot2[rand(getarraysize(.@enchant_slot2))], + .@enchant_slot3[rand(getarraysize(.@enchant_slot3))]; + } else if (.@i <= 1986) setarray .@enchants[2],4761,4761; //Matk2 Matk2 else if (.@i <= 1988) setarray .@enchants[2],4761,4723; //Matk2 Dexterity4 else if (.@i <= 1990) setarray .@enchants[2],4761,4714; //Matk2 Inteligence5 @@ -448,70 +286,15 @@ mora,96,74,5 script Master of Relics#pa0829 495,{ break; case 4: set .@i, rand(1,2852); - if (.@i <= 31) setarray .@enchants[2],4720,4700; //Dexterity1 Strength1 - else if (.@i <= 62) setarray .@enchants[2],4720,4701; //Dexterity1 Strength2 - else if (.@i <= 93) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2 - else if (.@i <= 124) setarray .@enchants[2],4720,4767; //Dexterity1 Atk3 - else if (.@i <= 155) setarray .@enchants[2],4740,4700; //Vitality1 Strength1 - else if (.@i <= 186) setarray .@enchants[2],4740,4701; //Vitality1 Strength2 - else if (.@i <= 217) setarray .@enchants[2],4740,4721; //Vitality1 Dexterity2 - else if (.@i <= 248) setarray .@enchants[2],4740,4767; //Vitality1 Atk3 - else if (.@i <= 279) setarray .@enchants[2],4741,4700; //Vitality2 Strength1 - else if (.@i <= 310) setarray .@enchants[2],4741,4701; //Vitality2 Strength2 - else if (.@i <= 341) setarray .@enchants[2],4741,4721; //Vitality2 Dexterity2 - else if (.@i <= 372) setarray .@enchants[2],4741,4767; //Vitality2 Atk3 - else if (.@i <= 403) setarray .@enchants[2],4701,4700; //Strength2 Strength1 - else if (.@i <= 434) setarray .@enchants[2],4701,4701; //Strength2 Strength2 - else if (.@i <= 465) setarray .@enchants[2],4701,4721; //Strength2 Dexterity2 - else if (.@i <= 496) setarray .@enchants[2],4701,4767; //Strength2 Atk3 - else if (.@i <= 527) setarray .@enchants[2],4720,4700; //Dexterity1 Strength1 - else if (.@i <= 558) setarray .@enchants[2],4720,4701; //Dexterity1 Strength2 - else if (.@i <= 589) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2 - else if (.@i <= 620) setarray .@enchants[2],4720,4767; //Dexterity1 Atk3 - else if (.@i <= 651) setarray .@enchants[2],4740,4700; //Vitality1 Strength1 - else if (.@i <= 682) setarray .@enchants[2],4740,4701; //Vitality1 Strength2 - else if (.@i <= 713) setarray .@enchants[2],4740,4721; //Vitality1 Dexterity2 - else if (.@i <= 744) setarray .@enchants[2],4740,4767; //Vitality1 Atk3 - else if (.@i <= 775) setarray .@enchants[2],4741,4700; //Vitality2 Strength1 - else if (.@i <= 806) setarray .@enchants[2],4741,4701; //Vitality2 Strength2 - else if (.@i <= 837) setarray .@enchants[2],4741,4721; //Vitality2 Dexterity2 - else if (.@i <= 868) setarray .@enchants[2],4741,4767; //Vitality2 Atk3 - else if (.@i <= 899) setarray .@enchants[2],4701,4700; //Strength2 Strength1 - else if (.@i <= 930) setarray .@enchants[2],4701,4701; //Strength2 Strength2 - else if (.@i <= 961) setarray .@enchants[2],4701,4721; //Strength2 Dexterity2 - else if (.@i <= 992) setarray .@enchants[2],4701,4767; //Strength2 Atk3 - else if (.@i <= 1023) setarray .@enchants[2],4720,4700; //Dexterity1 Strength1 - else if (.@i <= 1054) setarray .@enchants[2],4720,4701; //Dexterity1 Strength2 - else if (.@i <= 1085) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2 - else if (.@i <= 1116) setarray .@enchants[2],4720,4767; //Dexterity1 Atk3 - else if (.@i <= 1147) setarray .@enchants[2],4740,4700; //Vitality1 Strength1 - else if (.@i <= 1178) setarray .@enchants[2],4740,4701; //Vitality1 Strength2 - else if (.@i <= 1209) setarray .@enchants[2],4740,4721; //Vitality1 Dexterity2 - else if (.@i <= 1240) setarray .@enchants[2],4740,4767; //Vitality1 Atk3 - else if (.@i <= 1271) setarray .@enchants[2],4741,4700; //Vitality2 Strength1 - else if (.@i <= 1302) setarray .@enchants[2],4741,4701; //Vitality2 Strength2 - else if (.@i <= 1333) setarray .@enchants[2],4741,4721; //Vitality2 Dexterity2 - else if (.@i <= 1364) setarray .@enchants[2],4741,4767; //Vitality2 Atk3 - else if (.@i <= 1395) setarray .@enchants[2],4701,4700; //Strength2 Strength1 - else if (.@i <= 1426) setarray .@enchants[2],4701,4701; //Strength2 Strength2 - else if (.@i <= 1457) setarray .@enchants[2],4701,4721; //Strength2 Dexterity2 - else if (.@i <= 1488) setarray .@enchants[2],4701,4767; //Strength2 Atk3 - else if (.@i <= 1519) setarray .@enchants[2],4720,4700; //Dexterity1 Strength1 - else if (.@i <= 1550) setarray .@enchants[2],4720,4701; //Dexterity1 Strength2 - else if (.@i <= 1581) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2 - else if (.@i <= 1612) setarray .@enchants[2],4720,4767; //Dexterity1 Atk3 - else if (.@i <= 1643) setarray .@enchants[2],4740,4700; //Vitality1 Strength1 - else if (.@i <= 1674) setarray .@enchants[2],4740,4701; //Vitality1 Strength2 - else if (.@i <= 1705) setarray .@enchants[2],4740,4721; //Vitality1 Dexterity2 - else if (.@i <= 1736) setarray .@enchants[2],4740,4767; //Vitality1 Atk3 - else if (.@i <= 1767) setarray .@enchants[2],4741,4700; //Vitality2 Strength1 - else if (.@i <= 1798) setarray .@enchants[2],4741,4701; //Vitality2 Strength2 - else if (.@i <= 1829) setarray .@enchants[2],4741,4721; //Vitality2 Dexterity2 - else if (.@i <= 1860) setarray .@enchants[2],4741,4767; //Vitality2 Atk3 - else if (.@i <= 1891) setarray .@enchants[2],4701,4700; //Strength2 Strength1 - else if (.@i <= 1922) setarray .@enchants[2],4701,4701; //Strength2 Strength2 - else if (.@i <= 1953) setarray .@enchants[2],4701,4721; //Strength2 Dexterity2 - else if (.@i <= 1984) setarray .@enchants[2],4701,4767; //Strength2 Atk3 + if (.@i <= 1984) { + // Basic combinations + // (raw: .@i increments by 31, 4 repeats) + setarray .@enchant_slot2[0],4720,4740,4741,4701; //Dexterity1,Vitality1,Vitality2,Strength2 + setarray .@enchant_slot3[0],4700,4701,4721,4767; //Strength1,Strength2,Dexterity2,Atk3 + setarray .@enchants[2], + .@enchant_slot2[rand(getarraysize(.@enchant_slot2))], + .@enchant_slot3[rand(getarraysize(.@enchant_slot3))]; + } else if (.@i <= 1986) setarray .@enchants[2],4767,4767; //Atk3 Atk3 else if (.@i <= 1988) setarray .@enchants[2],4767,4723; //Atk3 Dexterity4 else if (.@i <= 1990) setarray .@enchants[2],4767,4704; //Atk3 Strength5 @@ -684,70 +467,15 @@ mora,99,93,5 script Artifact Crafter#pa0829 495,{ switch(.@enchant_type) { case 1: set .@i, rand(1,2847); - if (.@i <= 31) setarray .@enchants[2],4720,4786; //Dexterity1 Mdef2 - else if (.@i <= 62) setarray .@enchants[2],4720,4760; //Dexterity1 Matk1 - else if (.@i <= 93) setarray .@enchants[2],4720,4711; //Dexterity1 Inteligence2 - else if (.@i <= 124) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2 - else if (.@i <= 155) setarray .@enchants[2],4796,4786; //HP200 Mdef2 - else if (.@i <= 186) setarray .@enchants[2],4796,4760; //HP200 Matk1 - else if (.@i <= 217) setarray .@enchants[2],4796,4711; //HP200 Inteligence2 - else if (.@i <= 248) setarray .@enchants[2],4796,4721; //HP200 Dexterity2 - else if (.@i <= 279) setarray .@enchants[2],4710,4786; //Inteligence1 Mdef2 - else if (.@i <= 310) setarray .@enchants[2],4710,4760; //Inteligence1 Matk1 - else if (.@i <= 341) setarray .@enchants[2],4710,4711; //Inteligence1 Inteligence2 - else if (.@i <= 372) setarray .@enchants[2],4710,4721; //Inteligence1 Dexterity2 - else if (.@i <= 403) setarray .@enchants[2],4801,4786; //SP100 Mdef2 - else if (.@i <= 434) setarray .@enchants[2],4801,4760; //SP100 Matk1 - else if (.@i <= 465) setarray .@enchants[2],4801,4711; //SP100 Inteligence2 - else if (.@i <= 496) setarray .@enchants[2],4801,4721; //SP100 Dexterity2 - else if (.@i <= 527) setarray .@enchants[2],4720,4786; //Dexterity1 Mdef2 - else if (.@i <= 558) setarray .@enchants[2],4720,4760; //Dexterity1 Matk1 - else if (.@i <= 589) setarray .@enchants[2],4720,4711; //Dexterity1 Inteligence2 - else if (.@i <= 620) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2 - else if (.@i <= 651) setarray .@enchants[2],4796,4786; //HP200 Mdef2 - else if (.@i <= 682) setarray .@enchants[2],4796,4760; //HP200 Matk1 - else if (.@i <= 713) setarray .@enchants[2],4796,4711; //HP200 Inteligence2 - else if (.@i <= 744) setarray .@enchants[2],4796,4721; //HP200 Dexterity2 - else if (.@i <= 775) setarray .@enchants[2],4710,4786; //Inteligence1 Mdef2 - else if (.@i <= 806) setarray .@enchants[2],4710,4760; //Inteligence1 Matk1 - else if (.@i <= 837) setarray .@enchants[2],4710,4711; //Inteligence1 Inteligence2 - else if (.@i <= 868) setarray .@enchants[2],4710,4721; //Inteligence1 Dexterity2 - else if (.@i <= 899) setarray .@enchants[2],4801,4786; //SP100 Mdef2 - else if (.@i <= 930) setarray .@enchants[2],4801,4760; //SP100 Matk1 - else if (.@i <= 961) setarray .@enchants[2],4801,4711; //SP100 Inteligence2 - else if (.@i <= 992) setarray .@enchants[2],4801,4721; //SP100 Dexterity2 - else if (.@i <= 1023) setarray .@enchants[2],4720,4786; //Dexterity1 Mdef2 - else if (.@i <= 1054) setarray .@enchants[2],4720,4760; //Dexterity1 Matk1 - else if (.@i <= 1085) setarray .@enchants[2],4720,4711; //Dexterity1 Inteligence2 - else if (.@i <= 1116) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2 - else if (.@i <= 1147) setarray .@enchants[2],4796,4786; //HP200 Mdef2 - else if (.@i <= 1178) setarray .@enchants[2],4796,4760; //HP200 Matk1 - else if (.@i <= 1209) setarray .@enchants[2],4796,4711; //HP200 Inteligence2 - else if (.@i <= 1240) setarray .@enchants[2],4796,4721; //HP200 Dexterity2 - else if (.@i <= 1271) setarray .@enchants[2],4710,4786; //Inteligence1 Mdef2 - else if (.@i <= 1302) setarray .@enchants[2],4710,4760; //Inteligence1 Matk1 - else if (.@i <= 1333) setarray .@enchants[2],4710,4711; //Inteligence1 Inteligence2 - else if (.@i <= 1364) setarray .@enchants[2],4710,4721; //Inteligence1 Dexterity2 - else if (.@i <= 1395) setarray .@enchants[2],4801,4786; //SP100 Mdef2 - else if (.@i <= 1426) setarray .@enchants[2],4801,4760; //SP100 Matk1 - else if (.@i <= 1457) setarray .@enchants[2],4801,4711; //SP100 Inteligence2 - else if (.@i <= 1488) setarray .@enchants[2],4801,4721; //SP100 Dexterity2 - else if (.@i <= 1519) setarray .@enchants[2],4720,4786; //Dexterity1 Mdef2 - else if (.@i <= 1550) setarray .@enchants[2],4720,4760; //Dexterity1 Matk1 - else if (.@i <= 1581) setarray .@enchants[2],4720,4711; //Dexterity1 Inteligence2 - else if (.@i <= 1612) setarray .@enchants[2],4720,4721; //Dexterity1 Dexterity2 - else if (.@i <= 1643) setarray .@enchants[2],4796,4786; //HP200 Mdef2 - else if (.@i <= 1674) setarray .@enchants[2],4796,4760; //HP200 Matk1 - else if (.@i <= 1705) setarray .@enchants[2],4796,4711; //HP200 Inteligence2 - else if (.@i <= 1736) setarray .@enchants[2],4796,4721; //HP200 Dexterity2 - else if (.@i <= 1767) setarray .@enchants[2],4710,4786; //Inteligence1 Mdef2 - else if (.@i <= 1798) setarray .@enchants[2],4710,4760; //Inteligence1 Matk1 - else if (.@i <= 1829) setarray .@enchants[2],4710,4711; //Inteligence1 Inteligence2 - else if (.@i <= 1860) setarray .@enchants[2],4710,4721; //Inteligence1 Dexterity2 - else if (.@i <= 1891) setarray .@enchants[2],4801,4786; //SP100 Mdef2 - else if (.@i <= 1922) setarray .@enchants[2],4801,4760; //SP100 Matk1 - else if (.@i <= 1953) setarray .@enchants[2],4801,4711; //SP100 Inteligence2 - else if (.@i <= 1984) setarray .@enchants[2],4801,4721; //SP100 Dexterity2 + if (.@i <= 1984) { + // Basic combinations + // (raw: .@i increments by 31, 4 repeats) + setarray .@enchant_slot2[0],4720,4796,4710,4801; //Dexterity1,HP200,Inteligence1,SP100 + setarray .@enchant_slot3[0],4786,4760,4711,4721; //Mdef2,Matk1,Inteligence2,Dexterity2 + setarray .@enchants[2], + .@enchant_slot2[rand(getarraysize(.@enchant_slot2))], + .@enchant_slot3[rand(getarraysize(.@enchant_slot3))]; + } else if (.@i <= 1986) setarray .@enchants[2],4713,4761; //Inteligence4 Matk2 else if (.@i <= 1988) setarray .@enchants[2],4713,4713; //Inteligence4 Inteligence4 else if (.@i <= 1990) setarray .@enchants[2],4761,4761; //Matk2 Matk2 @@ -760,70 +488,17 @@ mora,99,93,5 script Artifact Crafter#pa0829 495,{ break; case 2: set .@i, rand(1,2858); - if (.@i <= 31) setarray .@enchants[1],4710,4720,4786; //Inteligence1 Dexterity1 Mdef2 - else if (.@i <= 62) setarray .@enchants[1],4710,4720,4760; //Inteligence1 Dexterity1 Matk1 - else if (.@i <= 93) setarray .@enchants[1],4710,4720,4711; //Inteligence1 Dexterity1 Inteligence2 - else if (.@i <= 124) setarray .@enchants[1],4710,4720,4721; //Inteligence1 Dexterity1 Dexterity2 - else if (.@i <= 155) setarray .@enchants[1],4710,4796,4786; //Inteligence1 HP200 Mdef2 - else if (.@i <= 186) setarray .@enchants[1],4710,4796,4760; //Inteligence1 HP200 Matk1 - else if (.@i <= 217) setarray .@enchants[1],4710,4796,4711; //Inteligence1 HP200 Inteligence2 - else if (.@i <= 248) setarray .@enchants[1],4710,4796,4721; //Inteligence1 HP200 Dexterity2 - else if (.@i <= 279) setarray .@enchants[1],4710,4710,4786; //Inteligence1 Inteligence1 Mdef2 - else if (.@i <= 310) setarray .@enchants[1],4710,4710,4760; //Inteligence1 Inteligence1 Matk1 - else if (.@i <= 341) setarray .@enchants[1],4710,4710,4711; //Inteligence1 Inteligence1 Inteligence2 - else if (.@i <= 372) setarray .@enchants[1],4710,4710,4721; //Inteligence1 Inteligence1 Dexterity2 - else if (.@i <= 403) setarray .@enchants[1],4710,4801,4786; //Inteligence1 SP100 Mdef2 - else if (.@i <= 434) setarray .@enchants[1],4710,4801,4760; //Inteligence1 SP100 Matk1 - else if (.@i <= 465) setarray .@enchants[1],4710,4801,4711; //Inteligence1 SP100 Inteligence2 - else if (.@i <= 496) setarray .@enchants[1],4710,4801,4721; //Inteligence1 SP100 Dexterity2 - else if (.@i <= 527) setarray .@enchants[1],4711,4720,4786; //Inteligence2 Dexterity1 Mdef2 - else if (.@i <= 558) setarray .@enchants[1],4711,4720,4760; //Inteligence2 Dexterity1 Matk1 - else if (.@i <= 589) setarray .@enchants[1],4711,4720,4711; //Inteligence2 Dexterity1 Inteligence2 - else if (.@i <= 620) setarray .@enchants[1],4711,4720,4721; //Inteligence2 Dexterity1 Dexterity2 - else if (.@i <= 651) setarray .@enchants[1],4711,4796,4786; //Inteligence2 HP200 Mdef2 - else if (.@i <= 682) setarray .@enchants[1],4711,4796,4760; //Inteligence2 HP200 Matk1 - else if (.@i <= 713) setarray .@enchants[1],4711,4796,4711; //Inteligence2 HP200 Inteligence2 - else if (.@i <= 744) setarray .@enchants[1],4711,4796,4721; //Inteligence2 HP200 Dexterity2 - else if (.@i <= 775) setarray .@enchants[1],4711,4710,4786; //Inteligence2 Inteligence1 Mdef2 - else if (.@i <= 806) setarray .@enchants[1],4711,4710,4760; //Inteligence2 Inteligence1 Matk1 - else if (.@i <= 837) setarray .@enchants[1],4711,4710,4711; //Inteligence2 Inteligence1 Inteligence2 - else if (.@i <= 868) setarray .@enchants[1],4711,4710,4721; //Inteligence2 Inteligence1 Dexterity2 - else if (.@i <= 899) setarray .@enchants[1],4711,4801,4786; //Inteligence2 SP100 Mdef2 - else if (.@i <= 930) setarray .@enchants[1],4711,4801,4760; //Inteligence2 SP100 Matk1 - else if (.@i <= 961) setarray .@enchants[1],4711,4801,4711; //Inteligence2 SP100 Inteligence2 - else if (.@i <= 992) setarray .@enchants[1],4711,4801,4721; //Inteligence2 SP100 Dexterity2 - else if (.@i <= 1023) setarray .@enchants[1],4720,4720,4786; //Dexterity1 Dexterity1 Mdef2 - else if (.@i <= 1054) setarray .@enchants[1],4720,4720,4760; //Dexterity1 Dexterity1 Matk1 - else if (.@i <= 1085) setarray .@enchants[1],4720,4720,4711; //Dexterity1 Dexterity1 Inteligence2 - else if (.@i <= 1116) setarray .@enchants[1],4720,4720,4721; //Dexterity1 Dexterity1 Dexterity2 - else if (.@i <= 1147) setarray .@enchants[1],4720,4796,4786; //Dexterity1 HP200 Mdef2 - else if (.@i <= 1178) setarray .@enchants[1],4720,4796,4760; //Dexterity1 HP200 Matk1 - else if (.@i <= 1209) setarray .@enchants[1],4720,4796,4711; //Dexterity1 HP200 Inteligence2 - else if (.@i <= 1240) setarray .@enchants[1],4720,4796,4721; //Dexterity1 HP200 Dexterity2 - else if (.@i <= 1271) setarray .@enchants[1],4720,4710,4786; //Dexterity1 Inteligence1 Mdef2 - else if (.@i <= 1302) setarray .@enchants[1],4720,4710,4760; //Dexterity1 Inteligence1 Matk1 - else if (.@i <= 1333) setarray .@enchants[1],4720,4710,4711; //Dexterity1 Inteligence1 Inteligence2 - else if (.@i <= 1364) setarray .@enchants[1],4720,4710,4721; //Dexterity1 Inteligence1 Dexterity2 - else if (.@i <= 1395) setarray .@enchants[1],4720,4801,4786; //Dexterity1 SP100 Mdef2 - else if (.@i <= 1426) setarray .@enchants[1],4720,4801,4760; //Dexterity1 SP100 Matk1 - else if (.@i <= 1457) setarray .@enchants[1],4720,4801,4711; //Dexterity1 SP100 Inteligence2 - else if (.@i <= 1488) setarray .@enchants[1],4720,4801,4721; //Dexterity1 SP100 Dexterity2 - else if (.@i <= 1519) setarray .@enchants[1],4721,4720,4786; //Dexterity2 Dexterity1 Mdef2 - else if (.@i <= 1550) setarray .@enchants[1],4721,4720,4760; //Dexterity2 Dexterity1 Matk1 - else if (.@i <= 1581) setarray .@enchants[1],4721,4720,4711; //Dexterity2 Dexterity1 Inteligence2 - else if (.@i <= 1612) setarray .@enchants[1],4721,4720,4721; //Dexterity2 Dexterity1 Dexterity2 - else if (.@i <= 1643) setarray .@enchants[1],4721,4796,4786; //Dexterity2 HP200 Mdef2 - else if (.@i <= 1674) setarray .@enchants[1],4721,4796,4760; //Dexterity2 HP200 Matk1 - else if (.@i <= 1705) setarray .@enchants[1],4721,4796,4711; //Dexterity2 HP200 Inteligence2 - else if (.@i <= 1736) setarray .@enchants[1],4721,4796,4721; //Dexterity2 HP200 Dexterity2 - else if (.@i <= 1767) setarray .@enchants[1],4721,4710,4786; //Dexterity2 Inteligence1 Mdef2 - else if (.@i <= 1798) setarray .@enchants[1],4721,4710,4760; //Dexterity2 Inteligence1 Matk1 - else if (.@i <= 1829) setarray .@enchants[1],4721,4710,4711; //Dexterity2 Inteligence1 Inteligence2 - else if (.@i <= 1860) setarray .@enchants[1],4721,4710,4721; //Dexterity2 Inteligence1 Dexterity2 - else if (.@i <= 1891) setarray .@enchants[1],4721,4801,4786; //Dexterity2 SP100 Mdef2 - else if (.@i <= 1922) setarray .@enchants[1],4721,4801,4760; //Dexterity2 SP100 Matk1 - else if (.@i <= 1953) setarray .@enchants[1],4721,4801,4711; //Dexterity2 SP100 Inteligence2 - else if (.@i <= 1984) setarray .@enchants[1],4721,4801,4721; //Dexterity2 SP100 Dexterity2 + if (.@i <= 1984) { + // Basic combinations + // (raw: .@i increments by 31) + setarray .@enchant_slot1[0],4710,4711,4720,4721; //Inteligence1,Inteligence2,Dexterity1,Dexterity2 + setarray .@enchant_slot2[0],4720,4796,4710,4801; //Dexterity1,HP200,Inteligence1,SP100 + setarray .@enchant_slot3[0],4786,4760,4711,4721; //Mdef2,Matk1,Inteligence2,Dexterity2 + setarray .@enchants[1], + .@enchant_slot1[rand(getarraysize(.@enchant_slot1))], + .@enchant_slot2[rand(getarraysize(.@enchant_slot2))], + .@enchant_slot3[rand(getarraysize(.@enchant_slot3))]; + } else if (.@i <= 1986) setarray .@enchants[1],4712,4713,4761; //Inteligence3 Inteligence4 Matk2 else if (.@i <= 1988) setarray .@enchants[1],4712,4713,4713; //Inteligence3 Inteligence4 Inteligence4 else if (.@i <= 1990) setarray .@enchants[1],4712,4761,4761; //Inteligence3 Matk2 Matk2 @@ -1803,296 +1478,17 @@ function script F_Mora_Enchant { delitem 6380,5; //Mora_Coin delitem getarg(0),1; set .@i, rand(1,4568); - if (.@i <= 11) setarray .@enchants[1],4766,4720,4700; //Atk2 Dexterity1 Strength1 - else if (.@i <= 22) setarray .@enchants[1],4766,4720,4701; //Atk2 Dexterity1 Strength2 - else if (.@i <= 33) setarray .@enchants[1],4766,4720,4730; //Atk2 Dexterity1 Agility1 - else if (.@i <= 44) setarray .@enchants[1],4766,4720,4731; //Atk2 Dexterity1 Agility2 - else if (.@i <= 55) setarray .@enchants[1],4766,4720,4740; //Atk2 Dexterity1 Vitality1 - else if (.@i <= 66) setarray .@enchants[1],4766,4720,4741; //Atk2 Dexterity1 Vitality2 - else if (.@i <= 77) setarray .@enchants[1],4766,4721,4700; //Atk2 Dexterity2 Strength1 - else if (.@i <= 88) setarray .@enchants[1],4766,4721,4701; //Atk2 Dexterity2 Strength2 - else if (.@i <= 99) setarray .@enchants[1],4766,4721,4730; //Atk2 Dexterity2 Agility1 - else if (.@i <= 110) setarray .@enchants[1],4766,4721,4731; //Atk2 Dexterity2 Agility2 - else if (.@i <= 121) setarray .@enchants[1],4766,4721,4740; //Atk2 Dexterity2 Vitality1 - else if (.@i <= 132) setarray .@enchants[1],4766,4721,4741; //Atk2 Dexterity2 Vitality2 - else if (.@i <= 143) setarray .@enchants[1],4766,4710,4700; //Atk2 Inteligence1 Strength1 - else if (.@i <= 154) setarray .@enchants[1],4766,4710,4701; //Atk2 Inteligence1 Strength2 - else if (.@i <= 165) setarray .@enchants[1],4766,4710,4730; //Atk2 Inteligence1 Agility1 - else if (.@i <= 176) setarray .@enchants[1],4766,4710,4731; //Atk2 Inteligence1 Agility2 - else if (.@i <= 187) setarray .@enchants[1],4766,4710,4740; //Atk2 Inteligence1 Vitality1 - else if (.@i <= 198) setarray .@enchants[1],4766,4710,4741; //Atk2 Inteligence1 Vitality2 - else if (.@i <= 209) setarray .@enchants[1],4766,4711,4700; //Atk2 Inteligence2 Strength1 - else if (.@i <= 220) setarray .@enchants[1],4766,4711,4701; //Atk2 Inteligence2 Strength2 - else if (.@i <= 231) setarray .@enchants[1],4766,4711,4730; //Atk2 Inteligence2 Agility1 - else if (.@i <= 242) setarray .@enchants[1],4766,4711,4731; //Atk2 Inteligence2 Agility2 - else if (.@i <= 253) setarray .@enchants[1],4766,4711,4740; //Atk2 Inteligence2 Vitality1 - else if (.@i <= 264) setarray .@enchants[1],4766,4711,4741; //Atk2 Inteligence2 Vitality2 - else if (.@i <= 275) setarray .@enchants[1],4766,4750,4700; //Atk2 Luck1 Strength1 - else if (.@i <= 286) setarray .@enchants[1],4766,4750,4701; //Atk2 Luck1 Strength2 - else if (.@i <= 297) setarray .@enchants[1],4766,4750,4730; //Atk2 Luck1 Agility1 - else if (.@i <= 308) setarray .@enchants[1],4766,4750,4731; //Atk2 Luck1 Agility2 - else if (.@i <= 319) setarray .@enchants[1],4766,4750,4740; //Atk2 Luck1 Vitality1 - else if (.@i <= 330) setarray .@enchants[1],4766,4750,4741; //Atk2 Luck1 Vitality2 - else if (.@i <= 341) setarray .@enchants[1],4766,4751,4700; //Atk2 Luck2 Strength1 - else if (.@i <= 352) setarray .@enchants[1],4766,4751,4701; //Atk2 Luck2 Strength2 - else if (.@i <= 363) setarray .@enchants[1],4766,4751,4730; //Atk2 Luck2 Agility1 - else if (.@i <= 374) setarray .@enchants[1],4766,4751,4731; //Atk2 Luck2 Agility2 - else if (.@i <= 385) setarray .@enchants[1],4766,4751,4740; //Atk2 Luck2 Vitality1 - else if (.@i <= 396) setarray .@enchants[1],4766,4751,4741; //Atk2 Luck2 Vitality2 - else if (.@i <= 407) setarray .@enchants[1],4767,4720,4700; //Atk3 Dexterity1 Strength1 - else if (.@i <= 418) setarray .@enchants[1],4767,4720,4701; //Atk3 Dexterity1 Strength2 - else if (.@i <= 429) setarray .@enchants[1],4767,4720,4730; //Atk3 Dexterity1 Agility1 - else if (.@i <= 440) setarray .@enchants[1],4767,4720,4731; //Atk3 Dexterity1 Agility2 - else if (.@i <= 451) setarray .@enchants[1],4767,4720,4740; //Atk3 Dexterity1 Vitality1 - else if (.@i <= 462) setarray .@enchants[1],4767,4720,4741; //Atk3 Dexterity1 Vitality2 - else if (.@i <= 473) setarray .@enchants[1],4767,4721,4700; //Atk3 Dexterity2 Strength1 - else if (.@i <= 484) setarray .@enchants[1],4767,4721,4701; //Atk3 Dexterity2 Strength2 - else if (.@i <= 495) setarray .@enchants[1],4767,4721,4730; //Atk3 Dexterity2 Agility1 - else if (.@i <= 506) setarray .@enchants[1],4767,4721,4731; //Atk3 Dexterity2 Agility2 - else if (.@i <= 517) setarray .@enchants[1],4767,4721,4740; //Atk3 Dexterity2 Vitality1 - else if (.@i <= 528) setarray .@enchants[1],4767,4721,4741; //Atk3 Dexterity2 Vitality2 - else if (.@i <= 539) setarray .@enchants[1],4767,4710,4700; //Atk3 Inteligence1 Strength1 - else if (.@i <= 550) setarray .@enchants[1],4767,4710,4701; //Atk3 Inteligence1 Strength2 - else if (.@i <= 561) setarray .@enchants[1],4767,4710,4730; //Atk3 Inteligence1 Agility1 - else if (.@i <= 572) setarray .@enchants[1],4767,4710,4731; //Atk3 Inteligence1 Agility2 - else if (.@i <= 583) setarray .@enchants[1],4767,4710,4740; //Atk3 Inteligence1 Vitality1 - else if (.@i <= 594) setarray .@enchants[1],4767,4710,4741; //Atk3 Inteligence1 Vitality2 - else if (.@i <= 605) setarray .@enchants[1],4767,4711,4700; //Atk3 Inteligence2 Strength1 - else if (.@i <= 616) setarray .@enchants[1],4767,4711,4701; //Atk3 Inteligence2 Strength2 - else if (.@i <= 627) setarray .@enchants[1],4767,4711,4730; //Atk3 Inteligence2 Agility1 - else if (.@i <= 638) setarray .@enchants[1],4767,4711,4731; //Atk3 Inteligence2 Agility2 - else if (.@i <= 649) setarray .@enchants[1],4767,4711,4740; //Atk3 Inteligence2 Vitality1 - else if (.@i <= 660) setarray .@enchants[1],4767,4711,4741; //Atk3 Inteligence2 Vitality2 - else if (.@i <= 671) setarray .@enchants[1],4767,4750,4700; //Atk3 Luck1 Strength1 - else if (.@i <= 682) setarray .@enchants[1],4767,4750,4701; //Atk3 Luck1 Strength2 - else if (.@i <= 693) setarray .@enchants[1],4767,4750,4730; //Atk3 Luck1 Agility1 - else if (.@i <= 704) setarray .@enchants[1],4767,4750,4731; //Atk3 Luck1 Agility2 - else if (.@i <= 715) setarray .@enchants[1],4767,4750,4740; //Atk3 Luck1 Vitality1 - else if (.@i <= 726) setarray .@enchants[1],4767,4750,4741; //Atk3 Luck1 Vitality2 - else if (.@i <= 737) setarray .@enchants[1],4767,4751,4700; //Atk3 Luck2 Strength1 - else if (.@i <= 748) setarray .@enchants[1],4767,4751,4701; //Atk3 Luck2 Strength2 - else if (.@i <= 759) setarray .@enchants[1],4767,4751,4730; //Atk3 Luck2 Agility1 - else if (.@i <= 770) setarray .@enchants[1],4767,4751,4731; //Atk3 Luck2 Agility2 - else if (.@i <= 781) setarray .@enchants[1],4767,4751,4740; //Atk3 Luck2 Vitality1 - else if (.@i <= 792) setarray .@enchants[1],4767,4751,4741; //Atk3 Luck2 Vitality2 - else if (.@i <= 803) setarray .@enchants[1],4764,4720,4700; //Critical5 Dexterity1 Strength1 - else if (.@i <= 814) setarray .@enchants[1],4764,4720,4701; //Critical5 Dexterity1 Strength2 - else if (.@i <= 825) setarray .@enchants[1],4764,4720,4730; //Critical5 Dexterity1 Agility1 - else if (.@i <= 836) setarray .@enchants[1],4764,4720,4731; //Critical5 Dexterity1 Agility2 - else if (.@i <= 847) setarray .@enchants[1],4764,4720,4740; //Critical5 Dexterity1 Vitality1 - else if (.@i <= 858) setarray .@enchants[1],4764,4720,4741; //Critical5 Dexterity1 Vitality2 - else if (.@i <= 869) setarray .@enchants[1],4764,4721,4700; //Critical5 Dexterity2 Strength1 - else if (.@i <= 880) setarray .@enchants[1],4764,4721,4701; //Critical5 Dexterity2 Strength2 - else if (.@i <= 891) setarray .@enchants[1],4764,4721,4730; //Critical5 Dexterity2 Agility1 - else if (.@i <= 902) setarray .@enchants[1],4764,4721,4731; //Critical5 Dexterity2 Agility2 - else if (.@i <= 913) setarray .@enchants[1],4764,4721,4740; //Critical5 Dexterity2 Vitality1 - else if (.@i <= 924) setarray .@enchants[1],4764,4721,4741; //Critical5 Dexterity2 Vitality2 - else if (.@i <= 935) setarray .@enchants[1],4764,4710,4700; //Critical5 Inteligence1 Strength1 - else if (.@i <= 946) setarray .@enchants[1],4764,4710,4701; //Critical5 Inteligence1 Strength2 - else if (.@i <= 957) setarray .@enchants[1],4764,4710,4730; //Critical5 Inteligence1 Agility1 - else if (.@i <= 968) setarray .@enchants[1],4764,4710,4731; //Critical5 Inteligence1 Agility2 - else if (.@i <= 979) setarray .@enchants[1],4764,4710,4740; //Critical5 Inteligence1 Vitality1 - else if (.@i <= 990) setarray .@enchants[1],4764,4710,4741; //Critical5 Inteligence1 Vitality2 - else if (.@i <= 1001) setarray .@enchants[1],4764,4711,4700; //Critical5 Inteligence2 Strength1 - else if (.@i <= 1012) setarray .@enchants[1],4764,4711,4701; //Critical5 Inteligence2 Strength2 - else if (.@i <= 1023) setarray .@enchants[1],4764,4711,4730; //Critical5 Inteligence2 Agility1 - else if (.@i <= 1034) setarray .@enchants[1],4764,4711,4731; //Critical5 Inteligence2 Agility2 - else if (.@i <= 1045) setarray .@enchants[1],4764,4711,4740; //Critical5 Inteligence2 Vitality1 - else if (.@i <= 1056) setarray .@enchants[1],4764,4711,4741; //Critical5 Inteligence2 Vitality2 - else if (.@i <= 1067) setarray .@enchants[1],4764,4750,4700; //Critical5 Luck1 Strength1 - else if (.@i <= 1078) setarray .@enchants[1],4764,4750,4701; //Critical5 Luck1 Strength2 - else if (.@i <= 1089) setarray .@enchants[1],4764,4750,4730; //Critical5 Luck1 Agility1 - else if (.@i <= 1100) setarray .@enchants[1],4764,4750,4731; //Critical5 Luck1 Agility2 - else if (.@i <= 1111) setarray .@enchants[1],4764,4750,4740; //Critical5 Luck1 Vitality1 - else if (.@i <= 1122) setarray .@enchants[1],4764,4750,4741; //Critical5 Luck1 Vitality2 - else if (.@i <= 1133) setarray .@enchants[1],4764,4751,4700; //Critical5 Luck2 Strength1 - else if (.@i <= 1144) setarray .@enchants[1],4764,4751,4701; //Critical5 Luck2 Strength2 - else if (.@i <= 1155) setarray .@enchants[1],4764,4751,4730; //Critical5 Luck2 Agility1 - else if (.@i <= 1166) setarray .@enchants[1],4764,4751,4731; //Critical5 Luck2 Agility2 - else if (.@i <= 1177) setarray .@enchants[1],4764,4751,4740; //Critical5 Luck2 Vitality1 - else if (.@i <= 1188) setarray .@enchants[1],4764,4751,4741; //Critical5 Luck2 Vitality2 - else if (.@i <= 1199) setarray .@enchants[1],4765,4720,4700; //Critical7 Dexterity1 Strength1 - else if (.@i <= 1210) setarray .@enchants[1],4765,4720,4701; //Critical7 Dexterity1 Strength2 - else if (.@i <= 1221) setarray .@enchants[1],4765,4720,4730; //Critical7 Dexterity1 Agility1 - else if (.@i <= 1232) setarray .@enchants[1],4765,4720,4731; //Critical7 Dexterity1 Agility2 - else if (.@i <= 1243) setarray .@enchants[1],4765,4720,4740; //Critical7 Dexterity1 Vitality1 - else if (.@i <= 1254) setarray .@enchants[1],4765,4720,4741; //Critical7 Dexterity1 Vitality2 - else if (.@i <= 1265) setarray .@enchants[1],4765,4721,4700; //Critical7 Dexterity2 Strength1 - else if (.@i <= 1276) setarray .@enchants[1],4765,4721,4701; //Critical7 Dexterity2 Strength2 - else if (.@i <= 1287) setarray .@enchants[1],4765,4721,4730; //Critical7 Dexterity2 Agility1 - else if (.@i <= 1298) setarray .@enchants[1],4765,4721,4731; //Critical7 Dexterity2 Agility2 - else if (.@i <= 1309) setarray .@enchants[1],4765,4721,4740; //Critical7 Dexterity2 Vitality1 - else if (.@i <= 1320) setarray .@enchants[1],4765,4721,4741; //Critical7 Dexterity2 Vitality2 - else if (.@i <= 1331) setarray .@enchants[1],4765,4710,4700; //Critical7 Inteligence1 Strength1 - else if (.@i <= 1342) setarray .@enchants[1],4765,4710,4701; //Critical7 Inteligence1 Strength2 - else if (.@i <= 1353) setarray .@enchants[1],4765,4710,4730; //Critical7 Inteligence1 Agility1 - else if (.@i <= 1364) setarray .@enchants[1],4765,4710,4731; //Critical7 Inteligence1 Agility2 - else if (.@i <= 1375) setarray .@enchants[1],4765,4710,4740; //Critical7 Inteligence1 Vitality1 - else if (.@i <= 1386) setarray .@enchants[1],4765,4710,4741; //Critical7 Inteligence1 Vitality2 - else if (.@i <= 1397) setarray .@enchants[1],4765,4711,4700; //Critical7 Inteligence2 Strength1 - else if (.@i <= 1408) setarray .@enchants[1],4765,4711,4701; //Critical7 Inteligence2 Strength2 - else if (.@i <= 1419) setarray .@enchants[1],4765,4711,4730; //Critical7 Inteligence2 Agility1 - else if (.@i <= 1430) setarray .@enchants[1],4765,4711,4731; //Critical7 Inteligence2 Agility2 - else if (.@i <= 1441) setarray .@enchants[1],4765,4711,4740; //Critical7 Inteligence2 Vitality1 - else if (.@i <= 1452) setarray .@enchants[1],4765,4711,4741; //Critical7 Inteligence2 Vitality2 - else if (.@i <= 1463) setarray .@enchants[1],4765,4750,4700; //Critical7 Luck1 Strength1 - else if (.@i <= 1474) setarray .@enchants[1],4765,4750,4701; //Critical7 Luck1 Strength2 - else if (.@i <= 1485) setarray .@enchants[1],4765,4750,4730; //Critical7 Luck1 Agility1 - else if (.@i <= 1496) setarray .@enchants[1],4765,4750,4731; //Critical7 Luck1 Agility2 - else if (.@i <= 1507) setarray .@enchants[1],4765,4750,4740; //Critical7 Luck1 Vitality1 - else if (.@i <= 1518) setarray .@enchants[1],4765,4750,4741; //Critical7 Luck1 Vitality2 - else if (.@i <= 1529) setarray .@enchants[1],4765,4751,4700; //Critical7 Luck2 Strength1 - else if (.@i <= 1540) setarray .@enchants[1],4765,4751,4701; //Critical7 Luck2 Strength2 - else if (.@i <= 1551) setarray .@enchants[1],4765,4751,4730; //Critical7 Luck2 Agility1 - else if (.@i <= 1562) setarray .@enchants[1],4765,4751,4731; //Critical7 Luck2 Agility2 - else if (.@i <= 1573) setarray .@enchants[1],4765,4751,4740; //Critical7 Luck2 Vitality1 - else if (.@i <= 1584) setarray .@enchants[1],4765,4751,4741; //Critical7 Luck2 Vitality2 - else if (.@i <= 1595) setarray .@enchants[1],4762,4720,4700; //Evasion6 Dexterity1 Strength1 - else if (.@i <= 1606) setarray .@enchants[1],4762,4720,4701; //Evasion6 Dexterity1 Strength2 - else if (.@i <= 1617) setarray .@enchants[1],4762,4720,4730; //Evasion6 Dexterity1 Agility1 - else if (.@i <= 1628) setarray .@enchants[1],4762,4720,4731; //Evasion6 Dexterity1 Agility2 - else if (.@i <= 1639) setarray .@enchants[1],4762,4720,4740; //Evasion6 Dexterity1 Vitality1 - else if (.@i <= 1650) setarray .@enchants[1],4762,4720,4741; //Evasion6 Dexterity1 Vitality2 - else if (.@i <= 1661) setarray .@enchants[1],4762,4721,4700; //Evasion6 Dexterity2 Strength1 - else if (.@i <= 1672) setarray .@enchants[1],4762,4721,4701; //Evasion6 Dexterity2 Strength2 - else if (.@i <= 1683) setarray .@enchants[1],4762,4721,4730; //Evasion6 Dexterity2 Agility1 - else if (.@i <= 1694) setarray .@enchants[1],4762,4721,4731; //Evasion6 Dexterity2 Agility2 - else if (.@i <= 1705) setarray .@enchants[1],4762,4721,4740; //Evasion6 Dexterity2 Vitality1 - else if (.@i <= 1716) setarray .@enchants[1],4762,4721,4741; //Evasion6 Dexterity2 Vitality2 - else if (.@i <= 1727) setarray .@enchants[1],4762,4710,4700; //Evasion6 Inteligence1 Strength1 - else if (.@i <= 1738) setarray .@enchants[1],4762,4710,4701; //Evasion6 Inteligence1 Strength2 - else if (.@i <= 1749) setarray .@enchants[1],4762,4710,4730; //Evasion6 Inteligence1 Agility1 - else if (.@i <= 1760) setarray .@enchants[1],4762,4710,4731; //Evasion6 Inteligence1 Agility2 - else if (.@i <= 1771) setarray .@enchants[1],4762,4710,4740; //Evasion6 Inteligence1 Vitality1 - else if (.@i <= 1782) setarray .@enchants[1],4762,4710,4741; //Evasion6 Inteligence1 Vitality2 - else if (.@i <= 1793) setarray .@enchants[1],4762,4711,4700; //Evasion6 Inteligence2 Strength1 - else if (.@i <= 1804) setarray .@enchants[1],4762,4711,4701; //Evasion6 Inteligence2 Strength2 - else if (.@i <= 1815) setarray .@enchants[1],4762,4711,4730; //Evasion6 Inteligence2 Agility1 - else if (.@i <= 1826) setarray .@enchants[1],4762,4711,4731; //Evasion6 Inteligence2 Agility2 - else if (.@i <= 1837) setarray .@enchants[1],4762,4711,4740; //Evasion6 Inteligence2 Vitality1 - else if (.@i <= 1848) setarray .@enchants[1],4762,4711,4741; //Evasion6 Inteligence2 Vitality2 - else if (.@i <= 1859) setarray .@enchants[1],4762,4750,4700; //Evasion6 Luck1 Strength1 - else if (.@i <= 1870) setarray .@enchants[1],4762,4750,4701; //Evasion6 Luck1 Strength2 - else if (.@i <= 1881) setarray .@enchants[1],4762,4750,4730; //Evasion6 Luck1 Agility1 - else if (.@i <= 1892) setarray .@enchants[1],4762,4750,4731; //Evasion6 Luck1 Agility2 - else if (.@i <= 1903) setarray .@enchants[1],4762,4750,4740; //Evasion6 Luck1 Vitality1 - else if (.@i <= 1914) setarray .@enchants[1],4762,4750,4741; //Evasion6 Luck1 Vitality2 - else if (.@i <= 1925) setarray .@enchants[1],4762,4751,4700; //Evasion6 Luck2 Strength1 - else if (.@i <= 1936) setarray .@enchants[1],4762,4751,4701; //Evasion6 Luck2 Strength2 - else if (.@i <= 1947) setarray .@enchants[1],4762,4751,4730; //Evasion6 Luck2 Agility1 - else if (.@i <= 1958) setarray .@enchants[1],4762,4751,4731; //Evasion6 Luck2 Agility2 - else if (.@i <= 1969) setarray .@enchants[1],4762,4751,4740; //Evasion6 Luck2 Vitality1 - else if (.@i <= 1980) setarray .@enchants[1],4762,4751,4741; //Evasion6 Luck2 Vitality2 - else if (.@i <= 1991) setarray .@enchants[1],4763,4720,4700; //Evasion12 Dexterity1 Strength1 - else if (.@i <= 2002) setarray .@enchants[1],4763,4720,4701; //Evasion12 Dexterity1 Strength2 - else if (.@i <= 2013) setarray .@enchants[1],4763,4720,4730; //Evasion12 Dexterity1 Agility1 - else if (.@i <= 2024) setarray .@enchants[1],4763,4720,4731; //Evasion12 Dexterity1 Agility2 - else if (.@i <= 2035) setarray .@enchants[1],4763,4720,4740; //Evasion12 Dexterity1 Vitality1 - else if (.@i <= 2046) setarray .@enchants[1],4763,4720,4741; //Evasion12 Dexterity1 Vitality2 - else if (.@i <= 2057) setarray .@enchants[1],4763,4721,4700; //Evasion12 Dexterity2 Strength1 - else if (.@i <= 2068) setarray .@enchants[1],4763,4721,4701; //Evasion12 Dexterity2 Strength2 - else if (.@i <= 2079) setarray .@enchants[1],4763,4721,4730; //Evasion12 Dexterity2 Agility1 - else if (.@i <= 2090) setarray .@enchants[1],4763,4721,4731; //Evasion12 Dexterity2 Agility2 - else if (.@i <= 2101) setarray .@enchants[1],4763,4721,4740; //Evasion12 Dexterity2 Vitality1 - else if (.@i <= 2112) setarray .@enchants[1],4763,4721,4741; //Evasion12 Dexterity2 Vitality2 - else if (.@i <= 2123) setarray .@enchants[1],4763,4710,4700; //Evasion12 Inteligence1 Strength1 - else if (.@i <= 2134) setarray .@enchants[1],4763,4710,4701; //Evasion12 Inteligence1 Strength2 - else if (.@i <= 2145) setarray .@enchants[1],4763,4710,4730; //Evasion12 Inteligence1 Agility1 - else if (.@i <= 2156) setarray .@enchants[1],4763,4710,4731; //Evasion12 Inteligence1 Agility2 - else if (.@i <= 2167) setarray .@enchants[1],4763,4710,4740; //Evasion12 Inteligence1 Vitality1 - else if (.@i <= 2178) setarray .@enchants[1],4763,4710,4741; //Evasion12 Inteligence1 Vitality2 - else if (.@i <= 2189) setarray .@enchants[1],4763,4711,4700; //Evasion12 Inteligence2 Strength1 - else if (.@i <= 2200) setarray .@enchants[1],4763,4711,4701; //Evasion12 Inteligence2 Strength2 - else if (.@i <= 2211) setarray .@enchants[1],4763,4711,4730; //Evasion12 Inteligence2 Agility1 - else if (.@i <= 2222) setarray .@enchants[1],4763,4711,4731; //Evasion12 Inteligence2 Agility2 - else if (.@i <= 2233) setarray .@enchants[1],4763,4711,4740; //Evasion12 Inteligence2 Vitality1 - else if (.@i <= 2244) setarray .@enchants[1],4763,4711,4741; //Evasion12 Inteligence2 Vitality2 - else if (.@i <= 2255) setarray .@enchants[1],4763,4750,4700; //Evasion12 Luck1 Strength1 - else if (.@i <= 2266) setarray .@enchants[1],4763,4750,4701; //Evasion12 Luck1 Strength2 - else if (.@i <= 2277) setarray .@enchants[1],4763,4750,4730; //Evasion12 Luck1 Agility1 - else if (.@i <= 2288) setarray .@enchants[1],4763,4750,4731; //Evasion12 Luck1 Agility2 - else if (.@i <= 2299) setarray .@enchants[1],4763,4750,4740; //Evasion12 Luck1 Vitality1 - else if (.@i <= 2310) setarray .@enchants[1],4763,4750,4741; //Evasion12 Luck1 Vitality2 - else if (.@i <= 2321) setarray .@enchants[1],4763,4751,4700; //Evasion12 Luck2 Strength1 - else if (.@i <= 2332) setarray .@enchants[1],4763,4751,4701; //Evasion12 Luck2 Strength2 - else if (.@i <= 2343) setarray .@enchants[1],4763,4751,4730; //Evasion12 Luck2 Agility1 - else if (.@i <= 2354) setarray .@enchants[1],4763,4751,4731; //Evasion12 Luck2 Agility2 - else if (.@i <= 2365) setarray .@enchants[1],4763,4751,4740; //Evasion12 Luck2 Vitality1 - else if (.@i <= 2376) setarray .@enchants[1],4763,4751,4741; //Evasion12 Luck2 Vitality2 - else if (.@i <= 2387) setarray .@enchants[1],4760,4720,4700; //Matk1 Dexterity1 Strength1 - else if (.@i <= 2398) setarray .@enchants[1],4760,4720,4701; //Matk1 Dexterity1 Strength2 - else if (.@i <= 2409) setarray .@enchants[1],4760,4720,4730; //Matk1 Dexterity1 Agility1 - else if (.@i <= 2420) setarray .@enchants[1],4760,4720,4731; //Matk1 Dexterity1 Agility2 - else if (.@i <= 2431) setarray .@enchants[1],4760,4720,4740; //Matk1 Dexterity1 Vitality1 - else if (.@i <= 2442) setarray .@enchants[1],4760,4720,4741; //Matk1 Dexterity1 Vitality2 - else if (.@i <= 2453) setarray .@enchants[1],4760,4721,4700; //Matk1 Dexterity2 Strength1 - else if (.@i <= 2464) setarray .@enchants[1],4760,4721,4701; //Matk1 Dexterity2 Strength2 - else if (.@i <= 2475) setarray .@enchants[1],4760,4721,4730; //Matk1 Dexterity2 Agility1 - else if (.@i <= 2486) setarray .@enchants[1],4760,4721,4731; //Matk1 Dexterity2 Agility2 - else if (.@i <= 2497) setarray .@enchants[1],4760,4721,4740; //Matk1 Dexterity2 Vitality1 - else if (.@i <= 2508) setarray .@enchants[1],4760,4721,4741; //Matk1 Dexterity2 Vitality2 - else if (.@i <= 2519) setarray .@enchants[1],4760,4710,4700; //Matk1 Inteligence1 Strength1 - else if (.@i <= 2530) setarray .@enchants[1],4760,4710,4701; //Matk1 Inteligence1 Strength2 - else if (.@i <= 2541) setarray .@enchants[1],4760,4710,4730; //Matk1 Inteligence1 Agility1 - else if (.@i <= 2552) setarray .@enchants[1],4760,4710,4731; //Matk1 Inteligence1 Agility2 - else if (.@i <= 2563) setarray .@enchants[1],4760,4710,4740; //Matk1 Inteligence1 Vitality1 - else if (.@i <= 2574) setarray .@enchants[1],4760,4710,4741; //Matk1 Inteligence1 Vitality2 - else if (.@i <= 2585) setarray .@enchants[1],4760,4711,4700; //Matk1 Inteligence2 Strength1 - else if (.@i <= 2596) setarray .@enchants[1],4760,4711,4701; //Matk1 Inteligence2 Strength2 - else if (.@i <= 2607) setarray .@enchants[1],4760,4711,4730; //Matk1 Inteligence2 Agility1 - else if (.@i <= 2618) setarray .@enchants[1],4760,4711,4731; //Matk1 Inteligence2 Agility2 - else if (.@i <= 2629) setarray .@enchants[1],4760,4711,4740; //Matk1 Inteligence2 Vitality1 - else if (.@i <= 2640) setarray .@enchants[1],4760,4711,4741; //Matk1 Inteligence2 Vitality2 - else if (.@i <= 2651) setarray .@enchants[1],4760,4750,4700; //Matk1 Luck1 Strength1 - else if (.@i <= 2662) setarray .@enchants[1],4760,4750,4701; //Matk1 Luck1 Strength2 - else if (.@i <= 2673) setarray .@enchants[1],4760,4750,4730; //Matk1 Luck1 Agility1 - else if (.@i <= 2684) setarray .@enchants[1],4760,4750,4731; //Matk1 Luck1 Agility2 - else if (.@i <= 2695) setarray .@enchants[1],4760,4750,4740; //Matk1 Luck1 Vitality1 - else if (.@i <= 2706) setarray .@enchants[1],4760,4750,4741; //Matk1 Luck1 Vitality2 - else if (.@i <= 2717) setarray .@enchants[1],4760,4751,4700; //Matk1 Luck2 Strength1 - else if (.@i <= 2728) setarray .@enchants[1],4760,4751,4701; //Matk1 Luck2 Strength2 - else if (.@i <= 2739) setarray .@enchants[1],4760,4751,4730; //Matk1 Luck2 Agility1 - else if (.@i <= 2750) setarray .@enchants[1],4760,4751,4731; //Matk1 Luck2 Agility2 - else if (.@i <= 2761) setarray .@enchants[1],4760,4751,4740; //Matk1 Luck2 Vitality1 - else if (.@i <= 2772) setarray .@enchants[1],4760,4751,4741; //Matk1 Luck2 Vitality2 - else if (.@i <= 2783) setarray .@enchants[1],4761,4720,4700; //Matk2 Dexterity1 Strength1 - else if (.@i <= 2794) setarray .@enchants[1],4761,4720,4701; //Matk2 Dexterity1 Strength2 - else if (.@i <= 2805) setarray .@enchants[1],4761,4720,4730; //Matk2 Dexterity1 Agility1 - else if (.@i <= 2816) setarray .@enchants[1],4761,4720,4731; //Matk2 Dexterity1 Agility2 - else if (.@i <= 2827) setarray .@enchants[1],4761,4720,4740; //Matk2 Dexterity1 Vitality1 - else if (.@i <= 2838) setarray .@enchants[1],4761,4720,4741; //Matk2 Dexterity1 Vitality2 - else if (.@i <= 2849) setarray .@enchants[1],4761,4721,4700; //Matk2 Dexterity2 Strength1 - else if (.@i <= 2860) setarray .@enchants[1],4761,4721,4701; //Matk2 Dexterity2 Strength2 - else if (.@i <= 2871) setarray .@enchants[1],4761,4721,4730; //Matk2 Dexterity2 Agility1 - else if (.@i <= 2882) setarray .@enchants[1],4761,4721,4731; //Matk2 Dexterity2 Agility2 - else if (.@i <= 2893) setarray .@enchants[1],4761,4721,4740; //Matk2 Dexterity2 Vitality1 - else if (.@i <= 2904) setarray .@enchants[1],4761,4721,4741; //Matk2 Dexterity2 Vitality2 - else if (.@i <= 2915) setarray .@enchants[1],4761,4710,4700; //Matk2 Inteligence1 Strength1 - else if (.@i <= 2926) setarray .@enchants[1],4761,4710,4701; //Matk2 Inteligence1 Strength2 - else if (.@i <= 2937) setarray .@enchants[1],4761,4710,4730; //Matk2 Inteligence1 Agility1 - else if (.@i <= 2948) setarray .@enchants[1],4761,4710,4731; //Matk2 Inteligence1 Agility2 - else if (.@i <= 2959) setarray .@enchants[1],4761,4710,4740; //Matk2 Inteligence1 Vitality1 - else if (.@i <= 2970) setarray .@enchants[1],4761,4710,4741; //Matk2 Inteligence1 Vitality2 - else if (.@i <= 2981) setarray .@enchants[1],4761,4711,4700; //Matk2 Inteligence2 Strength1 - else if (.@i <= 2992) setarray .@enchants[1],4761,4711,4701; //Matk2 Inteligence2 Strength2 - else if (.@i <= 3003) setarray .@enchants[1],4761,4711,4730; //Matk2 Inteligence2 Agility1 - else if (.@i <= 3014) setarray .@enchants[1],4761,4711,4731; //Matk2 Inteligence2 Agility2 - else if (.@i <= 3025) setarray .@enchants[1],4761,4711,4740; //Matk2 Inteligence2 Vitality1 - else if (.@i <= 3036) setarray .@enchants[1],4761,4711,4741; //Matk2 Inteligence2 Vitality2 - else if (.@i <= 3047) setarray .@enchants[1],4761,4750,4700; //Matk2 Luck1 Strength1 - else if (.@i <= 3058) setarray .@enchants[1],4761,4750,4701; //Matk2 Luck1 Strength2 - else if (.@i <= 3069) setarray .@enchants[1],4761,4750,4730; //Matk2 Luck1 Agility1 - else if (.@i <= 3080) setarray .@enchants[1],4761,4750,4731; //Matk2 Luck1 Agility2 - else if (.@i <= 3091) setarray .@enchants[1],4761,4750,4740; //Matk2 Luck1 Vitality1 - else if (.@i <= 3102) setarray .@enchants[1],4761,4750,4741; //Matk2 Luck1 Vitality2 - else if (.@i <= 3113) setarray .@enchants[1],4761,4751,4700; //Matk2 Luck2 Strength1 - else if (.@i <= 3124) setarray .@enchants[1],4761,4751,4701; //Matk2 Luck2 Strength2 - else if (.@i <= 3135) setarray .@enchants[1],4761,4751,4730; //Matk2 Luck2 Agility1 - else if (.@i <= 3146) setarray .@enchants[1],4761,4751,4731; //Matk2 Luck2 Agility2 - else if (.@i <= 3157) setarray .@enchants[1],4761,4751,4740; //Matk2 Luck2 Vitality1 - else if (.@i <= 3168) setarray .@enchants[1],4761,4751,4741; //Matk2 Luck2 Vitality2 - else if (.@i <= 3179) setarray .@enchants[1],4761,4720,4700; //Matk2 Dexterity1 Strength1 - else if (.@i <= 3181) setarray .@enchants[1],4761,4712,4712; //Matk2 Inteligence3 Inteligence3 + if (.@i <= 3181) { + // Basic combinations + // (raw: .@i increments by 11) + setarray .@enchant_slot1[0],4766,4767,4764,4765,4762,4763,4760,4761; //Atk2,Atk3,Critical5,Critical7,Evasion6,Evasion12,Matk1,Matk2 + setarray .@enchant_slot2[0],4720,4721,4710,4711,4750,4751; //Dexterity1,Dexterity2,Inteligence1,Inteligence2,Luck1,Luck2 + setarray .@enchant_slot3[0],4700,4701,4730,4731,4740,4741; //Strength1,Strength2,Agility1,Agility2,Vitality1,Vitality2 + setarray .@enchants[1], + .@enchant_slot1[rand(getarraysize(.@enchant_slot1))], + .@enchant_slot2[rand(getarraysize(.@enchant_slot2))], + .@enchant_slot3[rand(getarraysize(.@enchant_slot3))]; + } else if (.@i <= 3183) setarray .@enchants[1],4765,4732,4732; //Critical7 Agility3 Agility3 else if (.@i <= 3185) setarray .@enchants[1],4763,4752,4753; //Evasion12 Luck3 Luck4 else if (.@i <= 3187) setarray .@enchants[1],4763,4742,4742; //Evasion12 Vitality3 Vitality3 diff --git a/npc/re/scripts_athena.conf b/npc/re/scripts_athena.conf index 44e53832a1..17385551cb 100644 --- a/npc/re/scripts_athena.conf +++ b/npc/re/scripts_athena.conf @@ -46,6 +46,7 @@ npc: npc/re/guides/guides_umbala.txt npc: npc/re/guides/guides_veins.txt // ------------------------ Instances --------------------------- +npc: npc/re/instances/HazyForest.txt npc: npc/re/instances/MalangdoCulvert.txt npc: npc/re/instances/OctopusCave.txt