From 28a9fec0916db3d92629ae6e6cd62b5777b09e73 Mon Sep 17 00:00:00 2001 From: j-tkay Date: Thu, 4 Jul 2013 05:15:48 +0800 Subject: Merged/Updated/Added scripts from rAthena. - Fixed Bug #7400 Signed-off-by: j-tkay --- npc/cities/louyang.txt | 6 +- npc/custom/healer.txt | 54 +- npc/custom/quests/hunting_missions.txt | 30 +- npc/custom/quests/quest_shop.txt | 30 +- npc/custom/warper.txt | 512 +++++---- npc/events/RWC_2011.txt | 535 ++++++++++ npc/events/RWC_2012.txt | 328 ++++++ npc/merchants/advanced_refiner.txt | 15 +- npc/merchants/refine.txt | 12 +- npc/quests/quests_13_1.txt | 3 +- npc/quests/quests_morocc.txt | 2 +- npc/quests/seals/mjolnir_seal.txt | 10 - npc/quests/the_sign_quest.txt | 7 +- npc/re/cities/eclage.txt | 487 +++++++++ npc/re/cities/malaya.txt | 2 +- npc/re/cities/mora.txt | 1351 ++++++++++++++++++----- npc/re/guides/guides_eclage.txt | 51 + npc/re/instances/MalangdoCulvert.txt | 1084 +++++++++++++++++++ npc/re/instances/OctopusCave.txt | 721 +++++++++++++ npc/re/merchants/blessed_refiner.txt | 173 +++ npc/re/merchants/coin_exchange.txt | 352 +++++- npc/re/merchants/enchan_mora.txt | 751 ++----------- npc/re/merchants/hd_refiner.txt | 308 ++++++ npc/re/merchants/refine.txt | 420 ++++---- npc/re/merchants/ticket_refiner.txt | 162 +++ npc/re/quests/eden/86-90.txt | 231 ++-- npc/re/quests/eden/91-99.txt | 249 +++-- npc/re/quests/eden/eden_quests.txt | 483 +++++---- npc/re/quests/pile_bunker.txt | 29 +- npc/re/quests/quests_dicastes.txt | 27 +- npc/re/quests/quests_eclage.txt | 1839 ++++++++++++++++++++++++++++++++ npc/re/quests/quests_malangdo.txt | 8 +- npc/re/quests/quests_malaya.txt | 982 ++++++++++++++++- npc/re/quests/quests_mora.txt | 1 + npc/re/quests/quests_morocc.txt | 213 ++++ npc/re/scripts.conf | 13 + npc/re/scripts_guild.conf | 8 + npc/re/scripts_main.conf | 1 + npc/re/scripts_warps.conf | 1 + npc/re/warps/dungeons/moc_pryd.txt | 16 + npc/re/warps/fields/bra_fild.txt | 3 +- npc/scripts.conf | 5 +- npc/warps/dungeons/tha_t.txt | 4 +- 43 files changed, 9713 insertions(+), 1806 deletions(-) create mode 100644 npc/events/RWC_2011.txt create mode 100644 npc/events/RWC_2012.txt create mode 100644 npc/re/cities/eclage.txt create mode 100644 npc/re/guides/guides_eclage.txt create mode 100644 npc/re/instances/MalangdoCulvert.txt create mode 100644 npc/re/instances/OctopusCave.txt create mode 100644 npc/re/merchants/blessed_refiner.txt create mode 100644 npc/re/merchants/hd_refiner.txt create mode 100644 npc/re/merchants/ticket_refiner.txt create mode 100644 npc/re/quests/quests_eclage.txt create mode 100644 npc/re/quests/quests_morocc.txt create mode 100644 npc/re/scripts_guild.conf create mode 100644 npc/re/warps/dungeons/moc_pryd.txt (limited to 'npc') diff --git a/npc/cities/louyang.txt b/npc/cities/louyang.txt index 9f4b41f80..ac6d92307 100644 --- a/npc/cities/louyang.txt +++ b/npc/cities/louyang.txt @@ -1,5 +1,5 @@ //===== Hercules Script ====================================== -//= Louyang City NPC's +//= Louyang City NPCs //===== By: ================================================== //= Vidar (1.0) //= Mass Zero (1.1) @@ -10,14 +10,14 @@ //===== Current Version: ===================================== //= 3.0 //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official Conversion] //= Louyang Town Script //===== Additional Comments: ================================= //= 2.9 Rescripted to Aegis 10.3 Standards. [L0ne_W0lf] //= 3.0 Moved Alberta NPC to pre-re/re paths. [Euphy] //============================================================ -// Louyang Transportaion +// Louyang Transportation //============================================================ - script ::Girl_louyang -1,{ mes "[Girl]"; diff --git a/npc/custom/healer.txt b/npc/custom/healer.txt index a6f028e8a..7bd9119b2 100644 --- a/npc/custom/healer.txt +++ b/npc/custom/healer.txt @@ -3,67 +3,77 @@ //===== By: ================================================== //= Euphy //===== Current Version: ===================================== -//= 1.0 +//= 1.1 //===== Compatible With: ===================================== //= Hercules //===== Description: ========================================= //= Basic healer script. +//===== Additional Comments: ================================= +//= 1.0 Initial script. +//= 1.1 Aligned coordinates with @go. //============================================================ - script Healer -1,{ - + set .@Price,0; // Zeny required for heal set .@Buffs,0; // Also buff players? (1: yes / 0: no) set .@Delay,0; // Heal delay, in seconds - callfunc "F_ClearGarbage",0; if (@HD > gettimetick(2)) end; if (.@Price) { message strcharinfo(0),"Healing costs "+.@Price+" Zeny."; if (Zeny < .@Price) end; - if(select("^0055FFHeal^000000:^777777Cancel^000000") == 2) close; + if(select("^0055FFHeal^000000:^777777Cancel^000000") == 2) end; set Zeny, Zeny-.@Price; } - specialeffect2 313; percentheal 100,100; + specialeffect2 EF_HEAL2; percentheal 100,100; if (.@Buffs) { - specialeffect2 EF_INCAGILITY; sc_start SC_INC_AGI,240000,10; + specialeffect2 EF_INCAGILITY; sc_start SC_INCREASEAGI,240000,10; specialeffect2 EF_BLESSING; sc_start SC_BLESSING,240000,10; } if (.@Delay) set @HD, gettimetick(2)+.@Delay; end; } + +// Duplicates +//============================================================ alberta,25,240,6 duplicate(Healer) Healer#alb 909 aldebaran,135,118,6 duplicate(Healer) Healer#alde 909 amatsu,200,79,4 duplicate(Healer) Healer#ama 909 ayothaya,207,169,6 duplicate(Healer) Healer#ayo 909 -brasilis,194,221,6 duplicate(Healer) Healer#bra 909 comodo,184,158,6 duplicate(Healer) Healer#com 909 -dewata,193,175,6 duplicate(Healer) Healer#dew 909 -eclage,105,35,4 duplicate(Healer) Healer#ecl 909 -einbech,142,244,4 duplicate(Healer) Healer#einbe 909 +einbech,57,36,6 duplicate(Healer) Healer#einbe 909 einbroch,57,202,6 duplicate(Healer) Healer#einbr 909 -dicastes01,201,194,4 duplicate(Healer) Healer#dic 909 geffen,115,72,6 duplicate(Healer) Healer#gef 909 gonryun,156,122,6 duplicate(Healer) Healer#gon 909 hugel,89,150,6 duplicate(Healer) Healer#hug 909 izlude,125,118,5 duplicate(Healer) Healer#izl 909 -lighthalzen,149,103,6 duplicate(Healer) Healer#li 909 -louyang,225,103,4 duplicate(Healer) Healer#lou 909 -malangdo,226,188,4 duplicate(Healer) Healer#mal 909 -malaya,205,205,6 duplicate(Healer) Healer#malay 909 -manuk,256,176,6 duplicate(Healer) Healer#man 909 +jawaii,250,139,4 duplicate(Healer) Healer#jaw 909 +lighthalzen,152,100,6 duplicate(Healer) Healer#lhz 909 +louyang,226,103,4 duplicate(Healer) Healer#lou 909 +manuk,272,144,6 duplicate(Healer) Healer#man 909 mid_camp,203,289,6 duplicate(Healer) Healer#mid 909 -mora,106,100,6 duplicate(Healer) Healer#mora 909 +moc_ruins,72,164,4 duplicate(Healer) Healer#moc 909 morocc,153,97,6 duplicate(Healer) Healer#mor 909 -moscovia,215,194,6 duplicate(Healer) Healer#mos 909 -niflheim,188,180,5 duplicate(Healer) Healer#nif 909 +moscovia,220,191,4 duplicate(Healer) Healer#mos 909 +niflheim,212,182,5 duplicate(Healer) Healer#nif 909 payon,179,106,4 duplicate(Healer) Healer#pay 909 -prontera,162,193,4 duplicate(Healer) Healer#pront 909 +prontera,162,193,4 duplicate(Healer) Healer#prt 909 rachel,125,116,6 duplicate(Healer) Healer#rac 909 splendide,201,153,4 duplicate(Healer) Healer#spl 909 thor_camp,249,74,4 duplicate(Healer) Healer#thor 909 -umbala,129,132,4 duplicate(Healer) Healer#umb 909 +umbala,105,148,3 duplicate(Healer) Healer#umb 909 veins,217,121,4 duplicate(Healer) Healer#ve 909 -xmas,143,136,6 duplicate(Healer) Healer#xmas 909 +xmas,143,136,4 duplicate(Healer) Healer#xmas 909 yuno,164,45,4 duplicate(Healer) Healer#yuno 909 + +// Duplicates (Renewal) +//============================================================ +brasilis,194,221,6 duplicate(Healer) Healer#bra 909 +dewata,195,187,4 duplicate(Healer) Healer#dew 909 +dicastes01,201,194,4 duplicate(Healer) Healer#dic 909 +ecl_in01,45,60,4 duplicate(Healer) Healer#ecl 909 +malangdo,132,114,6 duplicate(Healer) Healer#mal 909 +malaya,205,205,6 duplicate(Healer) Healer#ma 909 +mora,55,152,4 duplicate(Healer) Healer#mora 909 diff --git a/npc/custom/quests/hunting_missions.txt b/npc/custom/quests/hunting_missions.txt index fd07b8de6..8ce85bc7a 100644 --- a/npc/custom/quests/hunting_missions.txt +++ b/npc/custom/quests/hunting_missions.txt @@ -3,12 +3,19 @@ //===== By: ================================================== //= Euphy //===== Current Version: ===================================== -//= 1.3 +//= 1.3a //===== Compatible With: ===================================== //= Hercules //===== Description: ========================================= //= Random hunting missions. //= Rewards are based on quest difficulty. +//===== Additional Comments: ================================= +//= 1.0 Initial script. +//= 1.1 Small improvements and fixes. +//= 1.2 Added party support and replaced blacklists with an +//= SQL query, both thanks to AnnieRuru. +//= 1.3 Re-added a blacklist adapted for the SQL query. +//= 1.3a Added mission reset options. //============================================================ prontera,152,187,6 script Hunting Missions 951,{ @@ -72,10 +79,24 @@ function Chk; function Cm; mes "[Hunting Missions]"; mes "Do you really want to"; mes "abandon your mission?"; - if (.Delay) mes "Your delay time will not be reset."; + if (.Reset < 0 && .Delay) + mes "Your delay time will not be reset."; + else if (.Reset > 0) + mes "It will cost "+Cm(.Reset)+" Zeny."; next; switch(select(" ~ Abandon...: ~ ^777777Cancel^000000")) { case 1: + if (.Reset > 0) { + if (Zeny < .Reset) { + mes "[Hunting Missions]"; + mes "You don't have enough"; + mes "Zeny to drop this mission."; + emotion e_sry; + close; + } + set Zeny, Zeny-.Reset; + emotion e_cash; + } mes "[Hunting Missions]"; mes "Alright, I've dropped"; mes "your current mission."; @@ -85,7 +106,7 @@ function Chk; function Cm; setd "Mission"+.@i+"_",0; } set #Mission_Count,0; - if (.Delay) set #Mission_Delay, gettimetick(2)+(.Delay*3600); + if (.Reset < 0 && .Delay) set #Mission_Delay, gettimetick(2)+(.Delay*3600); close; case 2: mes "[Hunting Missions]"; @@ -262,6 +283,7 @@ OnInit: set .Delay,12; // Quest delay, in hours (0 to disable). set .Quests,4; // Number of subquests per mission (increases rewards). set .Party,3; // Party options: 0 (exclude party kills), 1 (include party kills), 2 (same map only), 3 (screen area only) + set .Reset,-1; // Reset options: -1 (abandoning mission sets delay time), 0 (no delay time), [Zeny] (cost to abandon mission, no delay time) setarray .Count[0], // Min and max monsters per subquest (increases rewards). 40,70; setarray .Modifier[0], // Multipliers for Base Exp, Job Exp, and Zeny rewards. @@ -280,4 +302,4 @@ OnInit: npcshopadditem "mission_shop", .Shop[.@i], .Shop[.@i+1]; end; } -- shop mission_shop -1,512:-1 \ No newline at end of file +- shop mission_shop -1,512:-1 diff --git a/npc/custom/quests/quest_shop.txt b/npc/custom/quests/quest_shop.txt index 3f69c73ef..3395ac102 100644 --- a/npc/custom/quests/quest_shop.txt +++ b/npc/custom/quests/quest_shop.txt @@ -3,13 +3,21 @@ //===== By: ================================================== //= Euphy //===== Current Version: ===================================== -//= 1.6 +//= 1.6a //===== Compatible With: ===================================== //= Hercules //===== Description: ========================================= //= A dynamic quest shop based on Lunar's, with easier config. //= Includes support for multiple shops & cashpoints. //= Item Preview script by ToastOfDoom. +//===== Additional Comments: ================================= +//= 1.0 Initial script. +//= 1.2 Added category support. +//= 1.3 More options and fixes. +//= 1.4 Added debug settings. +//= 1.5 Replaced categories with shop IDs. +//= 1.6 Added support for purchasing stackables. +//= 1.6a Added support for previewing costumes and robes. //============================================================ // Shop NPCs -- supplying no argument displays entire menu. @@ -116,11 +124,11 @@ OnBuyItem: mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1]*.@q[1])+((.ShowID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+(.@q[.@i+1]*.@q[1])+")^000000"; next; setarray @qe[1], getiteminfo(.@q[0],5), getiteminfo(.@q[0],11); - if (((@qe[1] & 1) || (@qe[1] & 256) || (@qe[1] & 512)) && @qe[2] > 0) + if (@qe[2] > 0 && ((@qe[1] & 1) || (@qe[1] & 256) || (@qe[1] & 512) || (@qe[1] & 1024) || (@qe[1] & 2048) || (@qe[1] & 4096) || (@qe[1] & 4) || (@qe[1] & 8192))) set .@preview,1; addtimer 1000, strnpcinfo(0)+"::OnEnd"; while(1) { - switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((.@preview && !@qe[6])?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) { + switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((.@preview && !@qe[7])?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) { case 1: if (@qe[0]) { mes "[Quest Shop]"; @@ -138,13 +146,14 @@ OnBuyItem: delitem .@q[.@i],.@q[.@i+1]*.@q[1]; getitem .@q[0],.@q[2]; if (.Announce) announce strcharinfo(0)+" has created "+((.@q[2] > 1)?.@q[2]+"x "+getitemname(.@q[0]):A_An(getitemname(.@q[0])))+"!",0; - specialeffect2 699; + specialeffect2 EF_FLOWERLEAF; close; case 2: - setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), 1; - if (@qe[1] & 1) changelook LOOK_HEAD_BOTTOM, @qe[2]; - if (@qe[1] & 256) changelook LOOK_HEAD_TOP, @qe[2]; - if (@qe[1] & 512) changelook LOOK_HEAD_MID, @qe[2]; + setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), getlook(LOOK_ROBE), 1; + if ((@qe[1] & 1) || (@qe[1] & 4096)) changelook LOOK_HEAD_BOTTOM, @qe[2]; + else if ((@qe[1] & 256) || (@qe[1] & 1024)) changelook LOOK_HEAD_TOP, @qe[2]; + else if ((@qe[1] & 512) || (@qe[1] & 2048)) changelook LOOK_HEAD_MID, @qe[2]; + else if ((@qe[1] & 4) || (@qe[1] & 8192)) changelook LOOK_ROBE, @qe[2]; break; case 3: close; @@ -152,12 +161,13 @@ OnBuyItem: } OnEnd: - if (@qe[6]) { + if (@qe[7]) { changelook LOOK_HEAD_BOTTOM, @qe[3]; changelook LOOK_HEAD_TOP, @qe[4]; changelook LOOK_HEAD_MID, @qe[5]; + changelook LOOK_ROBE, @qe[6]; } - deletearray @qe[0],7; + deletearray @qe[0],8; end; function Add { diff --git a/npc/custom/warper.txt b/npc/custom/warper.txt index 14dcfebf0..72d3bafac 100644 --- a/npc/custom/warper.txt +++ b/npc/custom/warper.txt @@ -3,16 +3,23 @@ //===== By: ================================================== //= Euphy //===== Current Version: ===================================== -//= 1.2 +//= 1.4 //===== Compatible With: ===================================== //= Hercules //===== Description: ========================================= //= A complete - but very condensed - warper script. -//= Coordinates written largely by Tekno-Kanix and ToastOfDoom. +//= Some coordinates written by Tekno-Kanix and ToastOfDoom. +//===== Additional Comments: ================================= +//= 1.0 Initial script. +//= 1.1 Added missing duplicates and fixed coordinates. +//= 1.2 Added new episodes and simplified functions. +//= 1.3 Added Renewal checks and Instances menu. +//= Aligned coordinates with @go. +//= 1.4 Added new Guild Dungeons. //============================================================ - script Warper -1,{ -function Go; function Disp; function Pick; +function Go; function Disp; function Pick; function Restrict; // -------------------------------------------------- // Main Menu: @@ -20,21 +27,31 @@ function Go; function Disp; function Pick; menu "Last Warp ^777777["+lastwarp$+"]^000000",-, " ~ Towns",Towns, " ~ Fields",Fields, " ~ Dungeons",Dungeons, - " ~ Guild Castles",Castles, " ~ Special Areas",Special; + " ~ Guild Castles",Castles, " ~ Guild Dungeons",Guild_Dungeons, + " ~ Instances",Instances, " ~ Special Areas",Special; - if (lastwarp$ == "") dispbottom "You have not warped anywhere yet."; - else warp lastwarp$,lastwarpx,lastwarpy; - close; + if (lastwarp$ == "") + message strcharinfo(0),"You haven't warped anywhere yet."; + else + warp lastwarp$,lastwarpx,lastwarpy; + end; // ------------------- Functions ------------------- // * Go("",,); // ~ Warps directly to a map. +// // * Disp("",,); // * Pick(""{,}); -// ~ Dynamic menu and map selection. -// * Disp("","