diff options
author | Masao <masao@gmx.ch> | 2013-05-27 22:55:07 +0200 |
---|---|---|
committer | Masao <masao@gmx.ch> | 2013-05-27 23:01:37 +0200 |
commit | b17e2b7eca10674cc9bde7b2f4838bdd29b373dc (patch) | |
tree | 23fa23a47e48026fe49ce36d371f605d97337841 /npc | |
parent | fe15780e4a60e766c69eca456cf9eed8021284cd (diff) | |
download | hercules-b17e2b7eca10674cc9bde7b2f4838bdd29b373dc.tar.gz hercules-b17e2b7eca10674cc9bde7b2f4838bdd29b373dc.tar.bz2 hercules-b17e2b7eca10674cc9bde7b2f4838bdd29b373dc.tar.xz hercules-b17e2b7eca10674cc9bde7b2f4838bdd29b373dc.zip |
- Added custom HD Refiner NPC Dwarf Mighty Hammer. (Disabled by default.)
* This NPC uses the cash shop HD ores to upgrade your weapon or gear up to +10 when your current gear or weapon is already +7 without breaking it but downgrading it.
- Moved Malaya Port NPC's to re folder and updated the Malaya Port warps.
- Fixed Bug where players weren't able to finish the Guardian of Yggdrasil Quest and didn't get their reward.
- Fixed that players weren't able to start the "Ring of the wise king" and "Finding a Fairy" quest using the Cat Hand Agent warper inside Eden Group Headquarters.
Signed-off-by: Masao <masao@gmx.ch>
Diffstat (limited to 'npc')
-rw-r--r-- | npc/instances/NydhoggsNest.txt | 1 | ||||
-rw-r--r-- | npc/merchants/hd_refine.txt | 211 | ||||
-rw-r--r-- | npc/quests/quests_13_1.txt | 4 | ||||
-rw-r--r-- | npc/quests/quests_13_2.txt | 10 | ||||
-rw-r--r-- | npc/re/cities/malaya.txt (renamed from npc/cities/malaya.txt) | 0 | ||||
-rw-r--r-- | npc/re/scripts.conf | 1 | ||||
-rw-r--r-- | npc/re/warps/cities/malaya.txt | 119 | ||||
-rw-r--r-- | npc/scripts.conf | 2 |
8 files changed, 309 insertions, 39 deletions
diff --git a/npc/instances/NydhoggsNest.txt b/npc/instances/NydhoggsNest.txt index fffe47227..4898bb6c3 100644 --- a/npc/instances/NydhoggsNest.txt +++ b/npc/instances/NydhoggsNest.txt @@ -2134,6 +2134,7 @@ OnTimer180000: switch(select("Please let me out.:I want to look around for a while.")) { case 1: set 'ins_nyd2,0; + set ins_nyd,203; //setquest 3135; warp "nyd_dun02",98,196; end; diff --git a/npc/merchants/hd_refine.txt b/npc/merchants/hd_refine.txt new file mode 100644 index 000000000..0fc0b8c08 --- /dev/null +++ b/npc/merchants/hd_refine.txt @@ -0,0 +1,211 @@ +//===== Hercules Script ====================================== +//= HD Refiner +//===== By: ================================================== +//= Masao +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= Hercules +//===== Description: ========================================= +//= Dwarf Mighty Hammer is an refining NPC which allows you +//= to upgrade your weapon or gear up to +10 without breaking +//= the weapon or gear but instead downgrading it by -1 using +//= the HD Ores which are usually only obtainable through the +//= *RO cashshops. +//= +//= Even at +0 refine, if you use the HD stones, the weapon +//= or gear will not break but stay at +0 if it fails. +//===== Additional Comments: ================================= +//= 1.0 First Version, dialogue and coordinations are custom. +//============================================================ + +// Dwarf Mighty Hammer Locations (Custom) +//============================================================ +prontera,145,170,6 script Dwarf Mighty Hammer#prt 826,{ + callfunc "refinehd","Dwarf Mighty Hammer"; + end; +} +moc_para01,175,115,5 script Dwarf Mighty Hammer#moc 826,{ + callfunc "refinehd","Dwarf Mighty Hammer"; + end; +} +payon,140,175,6 script Dwarf Mighty Hammer#pay 826,{ + callfunc "refinehd","Dwarf Mighty Hammer"; + end; +} + +//============================================================ +// +7 to +10 Refiner Function +//============================================================ +function script refinehd { + disable_items; + mes "["+ getarg(0) +"]"; + mes "I am the best Blacksmith ever!"; + mes "I don't work with normal, boring items."; + mes "But only with items that are level 7 or higher!"; + next; + mes "["+ getarg(0) +"]"; + mes "Anyway, you may use my services if your item is lv 7 or higher."; + mes "What do you want to have refined?"; + next; + setarray .@position$[1],"Head","Body","Left hand","Right hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3"; + set .@menu$,""; + for(set .@i,1; .@i<=10; set .@i,.@i+1) { + if(getequipisequiped(.@i)) + set .@menu$, .@menu$ + .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]"; + set .@menu$, .@menu$ + ":"; + } + set .@part,select(.@menu$); + if(!getequipisequiped(.@part)) { + mes "[" + getarg(0) + "]"; + mes "You're not wearing"; + mes "anything there that"; + mes "I can refine."; + emotion e_an; + close; + } + //Check if the item is refinable... + if(!getequipisenableref(.@part)) { + mes "[" + getarg(0) + "]"; + mes "I don't think I can"; + mes "refine this item at all..."; + close; + } + //Check if the item is identified... (Don't know why this is in here... but kept it anyway) + if(!getequipisidentify(.@part)) { + mes "[" + getarg(0) + "]"; + mes "You can't refine this"; + mes "if you haven't appraised"; + mes "it first. Make sure your"; + mes "stuff is identified before"; + mes "I can refine it."; + close; + } + //Check to see if the item is at least +7 + if(getequiprefinerycnt(.@part) < 7) { + mes "["+ getarg(0) +"]"; + mes "I said I don't work with Equipment under lv. 7."; + close; + } + if(getequiprefinerycnt(.@part) >= 10) { + mes "["+ getarg(0) +"]"; + mes "I can't refine this"; + mes "any more. This is as"; + mes "refined as it gets!"; + close; + } + set .@refineitemid, getequipid(.@part); // save id of the item + set .@refinerycnt, getequiprefinerycnt(.@part); //save refinery count + if ((getequipweaponlv(.@part) >= 1) && (getequipweaponlv(.@part) <= 4)) { + set .@material,6240; + mes "["+ getarg(0) +"]"; + mes "Hmm a weapon, is that ok?"; + mes "If you want to refine this weapon,"; + mes "I will need 1 ^003366Purified Oridecon^000000."; + mes "Are you sure you want to continue?"; + } else { + set .@material,6241; + mes "["+ getarg(0) +"]"; + mes "Hmm an armor, is that ok?"; + mes "If you want to refine this armor,"; + mes "I will need 1 ^003366Purified Elunium^000000."; + mes "Are you sure you want to continue?"; + } + next; + if(select("Yes:No") == 2){ + mes "["+ getarg(0) +"]"; + mes "Well, no challenge is one way..."; + mes "No risk... that could be wise."; + close; + } + set .@continue,1; + while(.@continue == 1){ + if(getequiprefinerycnt(.@part) >= 10) { + mes "["+ getarg(0) +"]"; + mes "I can't refine this"; + mes "any more. This is as"; + mes "refined as it gets!"; + close; + } + if ((getequipweaponlv(.@part) >= 1) && (getequipweaponlv(.@part) <= 4)) { + mes "["+ getarg(0) +"]"; + mes "This weapon already has been refined serveral times."; + mes "You could have the upgrade level of the weapon decreased."; + } else { + mes "["+ getarg(0) +"]"; + mes "This armor already has been refined serveral times."; + mes "You could have the upgrade level of the armor decreased."; + } + next; + mes "["+ getarg(0) +"]"; + mes "Do you want me to refine it?"; + mes "I think I gave you enough warnings."; + next; + if(select("Yes.:No.") == 2) { + mes "["+ getarg(0) +"]"; + mes "Well, no challenge is one way.."; + mes "No risk.. that could be wise."; + close; + } + if(countitem(.@material) < 1) { + mes "["+ getarg(0) +"]"; + mes "Hm, it seems you don't have enough materials."; + mes "Please check it out."; + close; + } + delitem .@material,1; + if(getequipisequiped(.@part) == 0) { // hacker has removed the item (not changed, why?) + mes "[" + getarg(0) + "]"; + mes "Look here... you don't have any items on..."; + close; + } + set .@rand,rand(100); + if (getequippercentrefinery(.@part) > .@rand) { + mes "Clang! Clang! Clang! Clang!"; + successrefitem .@part; + next; + emotion e_no1; + mes "["+ getarg(0) +"]"; + mes "Good! Succes!!!"; + mes "I am the best Blacksmith."; + next; + mes "["+ getarg(0) +"]"; + mes "Ould you like to continue?"; + if(select("No:Yes") == 1){ + mes "[" + getarg(0) + "]"; + mes "All finished... Come again soon."; + close; + } + next; + } + if (getequippercentrefinery(.@part) < .@rand) { + mes "["+ getarg(0) +"]"; + mes "Clang! Clang! Clang! Clang!"; + if(getequiprefinerycnt(.@part) >= 1) { + downrefitem .@part; + } + next; + emotion (!rand(5))?e_cash:e_omg; + mes "["+ getarg(0) +"]"; + mes "Ahhh!!!"; + next; + mes "["+ getarg(0) +"]"; + mes "Oh my!"; + mes "The upgrade level has dropped..."; + mes "There could've been made an mistake even though I am the best ever."; + mes "It was out of my hands."; + next; + mes "["+ getarg(0) +"]"; + mes "I will do a better job next time! Don't worry!"; + next; + mes "["+ getarg(0) +"]"; + mes "Ould you like to continue?"; + if(select("No:Yes") == 1){ + mes "[" + getarg(0) + "]"; + mes "All finished... Come again soon."; + close; + } + next; + } + } +}
\ No newline at end of file diff --git a/npc/quests/quests_13_1.txt b/npc/quests/quests_13_1.txt index d585fc6ca..a9dff84d3 100644 --- a/npc/quests/quests_13_1.txt +++ b/npc/quests/quests_13_1.txt @@ -4783,7 +4783,7 @@ mid_camp,240,270,3 script Botanist#ep13 750,{ mid_camp,336,171,1 script Camp Guard#man1 852,{ if (ep13_animal == 0) { - if (ep13_newbs == 6 || ep13_newbs == 19) goto OnHalt; + if (ep13_newbs == 6 || ep13_newbs == 19 || ep13_start == 100) goto OnHalt; else { mes "[Camp Guard]"; mes "Stop!"; @@ -4877,7 +4877,7 @@ OnHalt: mid_camp,13,143,5 script Camp Guard#man2 852,{ if (ep13_animal == 0) { - if (ep13_newbs == 6 || ep13_newbs == 19) goto OnHalt; + if (ep13_newbs == 6 || ep13_newbs == 19 || ep13_start == 100) goto OnHalt; else { mes "[Camp Guard]"; mes "Stop!"; diff --git a/npc/quests/quests_13_2.txt b/npc/quests/quests_13_2.txt index 1da301ac9..de8f86970 100644 --- a/npc/quests/quests_13_2.txt +++ b/npc/quests/quests_13_2.txt @@ -3324,23 +3324,23 @@ mid_camp,192,239,4 script Wanted Sign#ep13_2ect01 857,{ if ((ep13_2_dayegg == 1) && (countitem(6093) < 10)) { mes "We just got fresh eggs from the dragon nest."; getitem 6093,1; //Egg_Of_Draco - disablenpc strnpcinfo(1); + disablenpc strnpcinfo(0); initnpctimer; close; } end; OnTimer420000: - enablenpc strnpcinfo(1); + enablenpc strnpcinfo(0); stopnpctimer; end; OnEnable: - enablenpc strnpcinfo(1); + enablenpc strnpcinfo(0); end; OnDisable: - disablenpc strnpcinfo(1); + disablenpc strnpcinfo(0); end; } @@ -3560,7 +3560,7 @@ OnTimer300000: // Otherworld language //============================================================ mid_camp,197,237,3 script Schwartzvalt Mechanic#1 869,{ - if (ep13_1_edq > 2) { + if (ep13_1_edq > 2 || ep13_start == 100) { if (ep13_2_rhea < 1) { mes "[Mechanic Engineer Dorance]"; mes "Do you know about the Ring of the Ancient Wise King? If you wear that Ring, you can talk to animals."; diff --git a/npc/cities/malaya.txt b/npc/re/cities/malaya.txt index 3daff8526..3daff8526 100644 --- a/npc/cities/malaya.txt +++ b/npc/re/cities/malaya.txt diff --git a/npc/re/scripts.conf b/npc/re/scripts.conf index 47b2cb7e0..dfe698752 100644 --- a/npc/re/scripts.conf +++ b/npc/re/scripts.conf @@ -13,6 +13,7 @@ npc: npc/re/cities/dicastes.txt npc: npc/re/cities/izlude.txt npc: npc/re/cities/jawaii.txt npc: npc/re/cities/malangdo.txt +npc: npc/re/cities/malaya.txt npc: npc/re/cities/mora.txt // --------------------------- Guides --------------------------- diff --git a/npc/re/warps/cities/malaya.txt b/npc/re/warps/cities/malaya.txt index 3a8b1002e..eb558fbbb 100644 --- a/npc/re/warps/cities/malaya.txt +++ b/npc/re/warps/cities/malaya.txt @@ -1,38 +1,93 @@ -//===== rAthena Script ======================================= -//= Malaya Port Warp Script -//===== By: ================================================== -//= Chilly -//===== Current Version: ===================================== +//===== rAthena Script ======================================= +//= Mayala Town Warps +//===== By: ================================================== +//= Masao +//===== Current Version: ===================================== //= 1.0 -//===== Compatible With: ===================================== -//= rAthena SVN -//===== Description: ========================================= -//= Warp Points for Malaya Port -//===== Additional Comments: ================================= +//===== Compatible With: ===================================== +//= Hecules +//===== Description: ========================================= +//= Warps for Mayala Town. +//===== Additional Comments: ================================= //= 1.0 First Version. -//============================================================ +//============================================================ + +malaya,178,211,0 script malaya_inn 45,1,1,{ + end; + +OnTouch: + if (malaya_hi < 10) { + mes "Door is closed. It seems keeping its eyes on you."; + close; + } + warp "ma_in01",24,80; + end; +} + +malaya,112,212,0 script malaya_ws 45,1,1,{ + end; + +OnTouch: + if (malaya_hi < 20) { + mes "Door is closed. It seems keeping its eyes on you."; + close; + } + warp "ma_in01",83,16; + end; +} + +malaya,299,167,0 script malaya_ts 45,1,1,{ + end; + +OnTouch: + if (malaya_hi < 20) { + mes "Door is closed. It seems keeping its eyes on you."; + close; + } + warp "ma_in01",12,24; + end; +} + +malaya,261,240,0 script malaya_shop 45,1,1,{ + end; + +OnTouch: + if (malaya_hi < 20) { + mes "Door is closed. It seems keeping its eyes on you."; + close; + } + warp "ma_in01",126,20; + end; +} + +malaya,300,211,0 script malaya_house01 45,1,1,{ + end; + +OnTouch: + if (malaya_hi < 10) { + mes "Door is closed. It seems keeping its eyes on you."; + close2; + } + warp "ma_in01",36,152; + end; +} // Town Warps -malaya,309,70,0 warp malaya_field0001 1,1,ma_in01,108,92 -ma_in01,105,92,0 warp malaya_field0002 1,1,malaya,310,67 -malaya,300,211,0 warp malaya_field0003 1,1,ma_in01,36,152 -ma_in01,33,152,0 warp malaya_field0004 1,1,malaya,297,211 -malaya,178,211,0 warp malaya_field0005 1,1,ma_in01,24,80 -ma_in01,24,77,0 warp malaya_field0006 1,1,malaya,178,208 -malaya,112,212,0 warp malaya_field0007 1,1,ma_in01,83,16 -ma_in01,86,16,0 warp malaya_field0008 1,1,malaya,115,212 -malaya,299,167,0 warp malaya_field0009 1,1,ma_in01,12,24 -ma_in01,9,24,0 warp malaya_field0010 1,1,malaya,296,167 -malaya,261,240,0 warp malaya_field0011 1,1,ma_in01,126,20 -ma_in01,126,17,0 warp malaya_field0012 1,1,malaya,261,237 -malaya,370,277,0 warp malaya_field0013 1,1,ma_fild01,40,272 -ma_fild01,37,272,0 warp malaya_field0014 1,1,malaya,367,277 -ma_fild01,266,359,0 warp malaya_field0015 1,1,ma_fild02,248,36 -ma_fild02,248,33,0 warp malaya_field0016 1,1,ma_fild01,266,356 -ma_fild01,251,190,0 warp malaya_field0017 1,1,ma_in01,108,160 -ma_in01,105,160,0 warp malaya_field0018 1,1,ma_fild01,249,192 -ma_fild01,288,52,0 warp malaya_field0019 1,1,ma_scene01,142,78 -ma_scene01,140,80,0 warp malaya_field0020 1,1,ma_fild01,288,55 +ma_in01,86,16,0 warp mal_in_ws 1,1,malaya,115,212 +ma_in01,24,77,0 warp mal_in_inn 1,1,malaya,178,208 +malaya,370,277,0 warp malaya_mal_fild01 1,1,ma_fild01,40,272 +ma_fild01,37,272,0 warp mal_fild01_malaya 1,1,malaya,367,277 +ma_in01,33,152,0 warp mal_in_house01 1,1,malaya,52,75 +malaya,309,70,0 warp malaya_ship_mal_in_ship 1,1,ma_in01,108,92 +ma_in01,105,92,0 warp mal_in_ship_malaya_ship 1,1,malaya,310,67 +ma_fild01,266,359,0 warp mafild01_to02 1,1,ma_fild02,248,36 +ma_fild02,248,33,0 warp mafild02_to01 1,1,ma_fild01,266,356 +ma_fild01,288,52,0 warp mafild01_tobknw 1,1,ma_scene01,142,78 +ma_scene01,140,80,0 warp bknw_tofild01 1,1,ma_fild01,288,55 +ma_in01,9,24,0 warp mal_in_ts 1,1,malaya,296,167 +ma_in01,126,17,0 warp mal_in_shop_malaya_shop 1,1,malaya,261,237 +ma_fild01,251,190,0 warp mf_minga_mf_in_minga 1,1,ma_in01,108,160 +ma_in01,105,160,0 warp mf_in_minga_mf_minga 1,1,ma_fild01,248,190 // Car Warps ma_zif01,30,22,0 warp malaya_car0001 1,1,malaya,241,238 @@ -43,4 +98,4 @@ ma_zif05,30,22,0 warp malaya_car0005 1,1,malaya,341,150 ma_zif06,30,22,0 warp malaya_car0006 1,1,malaya,294,293 ma_zif07,30,22,0 warp malaya_car0007 1,1,malaya,239,221 ma_zif08,30,22,0 warp malaya_car0008 1,1,malaya,59,246 -ma_zif09,30,22,0 warp malaya_car0009 1,1,malaya,254,68 +ma_zif09,30,22,0 warp malaya_car0009 1,1,malaya,254,68
\ No newline at end of file diff --git a/npc/scripts.conf b/npc/scripts.conf index 1687c98ce..f1a091281 100644 --- a/npc/scripts.conf +++ b/npc/scripts.conf @@ -114,6 +114,7 @@ npc: npc/instances/SealedShrine.txt npc: npc/instances/EndlessTower.txt npc: npc/instances/OrcsMemory.txt npc: npc/instances/NydhoggsNest.txt +npc: npc/instances/buwaya.txt // ---------------- Kafras & Cool Event Corp. ------------------- npc: npc/kafras/cool_event_corp.txt @@ -135,6 +136,7 @@ npc: npc/merchants/enchan_arm.txt npc: npc/merchants/gemstone.txt npc: npc/merchants/hair_dyer.txt npc: npc/merchants/hair_style.txt +//npc: npc/merchants/hd_refine.txt //npc: npc/merchants/icecream.txt npc: npc/merchants/inn.txt npc: npc/merchants/kunai_maker.txt |