summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorMasao <masao@gmx.ch>2013-05-27 22:55:07 +0200
committerMasao <masao@gmx.ch>2013-05-27 23:01:37 +0200
commitb17e2b7eca10674cc9bde7b2f4838bdd29b373dc (patch)
tree23fa23a47e48026fe49ce36d371f605d97337841 /npc
parentfe15780e4a60e766c69eca456cf9eed8021284cd (diff)
downloadhercules-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.txt1
-rw-r--r--npc/merchants/hd_refine.txt211
-rw-r--r--npc/quests/quests_13_1.txt4
-rw-r--r--npc/quests/quests_13_2.txt10
-rw-r--r--npc/re/cities/malaya.txt (renamed from npc/cities/malaya.txt)0
-rw-r--r--npc/re/scripts.conf1
-rw-r--r--npc/re/warps/cities/malaya.txt119
-rw-r--r--npc/scripts.conf2
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