summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLupus <Lupus@54d463be-8e91-2dee-dedb-b68131a5f0ec>2004-11-05 22:54:52 +0000
committerLupus <Lupus@54d463be-8e91-2dee-dedb-b68131a5f0ec>2004-11-05 22:54:52 +0000
commit0f4f542db4e6c9cd403508fc4724ec232745c324 (patch)
treeac4a801786c73537de0945fa78a3d148b1098588
parent4458a9665ad3a22a84d6a79d481640c26f67ddc1 (diff)
downloadhercules-0f4f542db4e6c9cd403508fc4724ec232745c324.tar.gz
hercules-0f4f542db4e6c9cd403508fc4724ec232745c324.tar.bz2
hercules-0f4f542db4e6c9cd403508fc4724ec232745c324.tar.xz
hercules-0f4f542db4e6c9cd403508fc4724ec232745c324.zip
Fixed Umbala, Umbalian Quests (Fabius' Umbalian language, Turban Thief Quest), Niflheim (fixed some bugs and fixed one big exploit 8)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/athena@20 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--Changelog.txt9
-rw-r--r--npc/Changelog.txt14
-rw-r--r--npc/cities/niflheim.txt93
-rw-r--r--npc/cities/umbala.txt134
-rw-r--r--npc/quests/quests_umbala.txt148
5 files changed, 247 insertions, 151 deletions
diff --git a/Changelog.txt b/Changelog.txt
index ba012ee22..a6c44e3a5 100644
--- a/Changelog.txt
+++ b/Changelog.txt
@@ -1,6 +1,13 @@
Date Added
-
11/05
+ * Fixed and redo optional Umbalian quests:
+ - Wise Man Fabius' Umbalian Language Quest (you can learn Umbalian language in
+ alternative way)
+ - On speaking with Umbalian Chief about meaning of masks you activate Turban Thief Quest
+ (For Sphinx Mask)
+ * Fixed several bugs in Niflheim Piano Keys Quest (wrong variable name, missing CLOSE buttons)
+ Zeny/Item Exploit in Niflhein Sairin NPC quest (should add similiar checks in every
+ easy quests with expensive prizes to avoid exploits) [Lupus]
* Revised and fixed all comodo,yuno,amatsu,gonryun,umbala mobs and drops. Also fixed mvp and woe mobs too [Shadowlady]
* Fixed crash from guild skill point allocation, there seems to be a problem with guilds loading still. [Valaris]
* Fixed committed typo in map_athena.conf, remove aria's dev npc (was giving errors preventing server startup). [Valaris]
diff --git a/npc/Changelog.txt b/npc/Changelog.txt
index dbc27659c..56f5f8793 100644
--- a/npc/Changelog.txt
+++ b/npc/Changelog.txt
@@ -8,8 +8,6 @@ Darkchild
* Sage - Done
* Monk Quest - Botting An Acolyte Atm
Lupus
- * Marriage (Fix, optimization) - 70%
- * fixing skill quests/ kafras to work with high classes
* removing a loop from grandpa_pharmacist.txt (similiar to Juice quest) 0%
kobra_k88
* Optimize WoE
@@ -23,6 +21,9 @@ Shinigami
Mass Zero
* Novice Training Ground.
* (Probably unofficial) Lou Yang NPC's, mobs, etc...
+Shadowlady
+ * Marriage (Fix, optimization) ?%
+
Other Ppl
* Their Work?
@@ -31,6 +32,15 @@ Other Ppl
Date Added
======
11/05
+ * Fixed and redo optional Umbalian quests:
+ - Wise Man Fabius' Umbalian Language Quest (you can learn Umbalian language in
+ alternative way)
+ - On speaking with Umbalian Chief about meaning of masks you activate Turban Thief Quest
+ (For Sphinx Mask)
+ * Fixed several bugs in Niflheim Piano Keys Quest (wrong variable name, missing CLOSE buttons)
+ Zeny/Item Exploit in Niflhein Sairin NPC quest (should add similiar checks in every
+ easy quests with expensive prizes to avoid exploits) [Lupus]
+11/05
* Added easter and xmas event npcs. Added custom blackjack npc.[kobra_k88]
11/02
* Added unofficial nguild castles. Updated stats for Stone Shooter, Wooden Golem, Hyegun,
diff --git a/npc/cities/niflheim.txt b/npc/cities/niflheim.txt
index 0dbe2f98e..1df1c151b 100644
--- a/npc/cities/niflheim.txt
+++ b/npc/cities/niflheim.txt
@@ -4,7 +4,7 @@
//= Fyrien, Dizzy, PKGINGO
//= Official NPCs translated and re-edited by Celest
//===== Current Version: =====================================
-//= 1.03
+//= 1.05
//===== Compatible With: =====================================
//= Any eAthena Version; Niflheim Required
//===== Description: =========================================
@@ -12,9 +12,15 @@
//= 1.01 Splitted file(guides, shops). Fixed rand() bugs,
//= missing labels bugs, optimization [Lupus]
//= 1.03 fixed end; -> close;
+//= 1.04-1.05 fixed several bugs with missing CLOSE button, wrong var name
+//= in Piano Keys quest
+//= fixed zeny/item, exploit in Sairin, some optimizations [Lupus]
+//=
+//= TODO: remove any save points from Niflheim (from Kafra)
+//= remove or commetn Warpers (they make Niflheim Piano Quest meaningless)
//============================================================
-prontera.gat,164,161,4 script Traveler 68,{
+prontera.gat,164,161,4 script Traveler::NifTrav 68,{
mes "[Traveler]";
mes "I've come across some strange things in my time. Things you'd have to see to belive. Have you heard of Niffleheim, the City of the Dead?";
next;
@@ -27,6 +33,15 @@ M_show:
warp "niflheim.gat",202,171;
close;
}
+- script EDNifTrav -1,{
+OnInit:
+OnMinute00:
+ disablenpc "NifTrav";
+ end;
+OnMinute56:
+ enablenpc "NifTrav";
+ end;
+}
niflheim.gat,52,174,3 script Kirz 796,{
mes "[Kirz]";
@@ -60,6 +75,8 @@ niflheim.gat,184,199,5 script Little Girl 793,{
if(niflheimlost == 1) goto L_foundhim;
if(lostgirl == 1) goto L_sure2;
mes "Sir, will you please help me?";
+ if(Class==Job_Novice) mes "Oh... you are lost, too..."; //Exploit fix
+ if(Class==Job_Novice) close;
next;
menu "Yes",-, "No",M_no;
@@ -85,7 +102,7 @@ L_foundhim:
mes "You found him?";
mes "Oh thank you!";
mes "Please, take this as a token of my appreciation.";
- getitem 642,1;
+ getitem 642,1;//Items: Book of Devil,
set niflheimlost2,1;
close;
L_thanks:
@@ -230,7 +247,7 @@ L_book2:
L_book3:
set nif_t,0;
- set nif_random1,rand(1,10);
+ set @nif_random1,rand(1,10);
mes "[Aesop Bruce]";
mes "Ahahaha.... i see you are brave!!";
mes "Start reading your prayersahahahah!!";
@@ -294,7 +311,7 @@ L_score:
close;
L_sucess1:
- if (nif_random1 == 10) goto L_sucess2;
+ if (@nif_random1 == 10) goto L_sucess2;
mes "[Aesop Bruce]";
mes "Your prayers were correctaaahhhh...";
mes "but your curse still remainsaaahhhh!!";
@@ -323,7 +340,7 @@ niflheim.gat,224,243,3 script Alager 795,{
mes "I'm going to eat you...";
next;
mes "-Chomp bite slurp-";
- if (nif_quest1 == 1) goto L_end;
+ if (nif_quest1 == 1 || nif_q_done == 1) goto L_end;
percentheal -60,0;
next;
mes "[Alager]";
@@ -337,7 +354,7 @@ niflheim.gat,224,243,3 script Alager 795,{
mes "[Alager]";
mes "Ah, let me thank you with this,";
mes "I found it on the ground, hoho~";
- getitem 7184,1;
+ getitem 7184,1;//Items: Piano Key,
set nif_quest1, 1;
close;
L_end:
@@ -357,18 +374,18 @@ nif_in.gat,105,81,3 script Grey 794,{
mes "^FF0000The beautiful melody surrounding thy soul,^000000";
mes "^FF0000Is the key from Lord Death's wrath.^000000";
next;
- if (nif_quest2 == 1) goto L_end;
- set nif_random,rand(1,4);
+ if (nif_quest2 == 1 || nif_q_done == 1) goto L_end;
+ set @nif_random,rand(1,4);
mes "[Grey]";
mes "Heh, let me give you a little exam!";
- mes "Repeat line no. " + nif_random + " of the poem";
+ mes "Repeat line no. " + @nif_random + " of the poem";
mes "that you have just heard to me!";
next;
input @inputstr1$;
- if (nif_random == 2) goto L_RAN_2;
- if (nif_random == 3) goto L_RAN_3;
- if (nif_random == 4) goto L_RAN_4;
- //if (nif_random == 1) goto L_RAN_1;
+ if (@nif_random == 2) goto L_RAN_2;
+ if (@nif_random == 3) goto L_RAN_3;
+ if (@nif_random == 4) goto L_RAN_4;
+ //if (@nif_random == 1) goto L_RAN_1;
L_RAN_1:
set @str1$,"When the sun sets in the western hills,";
goto L_RAN_B;
@@ -400,7 +417,7 @@ nif_in.gat,105,81,3 script Grey 794,{
mes "I am Grey, a wandering poet of yore,";
mes "you are the best audience i have had so far,";
mes "here, take this as a reward.";
- getitem 7184,1;
+ getitem 7184,1;//Items: Piano Key,
set nif_quest2, 1;
next;
mes "[Grey]";
@@ -423,25 +440,24 @@ nif_in.gat,31,20,3 script Kurtz 794,{
mes "Business nowadays is really bad...";
mes "Back when i used to be alive,";
mes "my business was this bad too~!";
- if (nif_quest3 == 1) goto L_end;
+ if (nif_quest3 == 1 || nif_q_done == 1) close;
next;
mes "[Kurtz]";
mes "Hey! You there! Dump this for me";
mes "on the way out will you!";
- getitem 7184,1;
+ getitem 7184,1;//Items: Piano Key,
set nif_quest3, 1;
next;
mes "[Kurtz]";
mes "Why is business so bad lately...";
mes "(mumble mumble)";
close;
-L_end:
- close;
}
niflheim.gat,169,71,5 script #1 111,2,2{
- if (nif_quest4 == 1) goto L_end;
-L_key1:
+ if (nif_q_done == 1) end;
+ if (nif_quest4 == 1) end;
+
mes "- In the nearby tombs -";
mes "- you see something -";
mes "- half buried in the ground -";
@@ -450,17 +466,17 @@ L_key1:
next;
mes "- Pick it up? -";
menu "Yes",-,"No",L_end;
- getitem 7184,1;
+ getitem 7184,1;//Items: Piano Key,
set nif_quest4, 1;
L_end:
close;
}
niflheim.gat,208,103,5 script #2 111,2,2{
+ if (nif_q_done == 1) end;
if (nif_quest5 == 1) goto L_key2;
- if (nif_quest5 >= 2) goto L_end;
+ if (nif_quest5 >= 2) end;
-L_key1:
mes "- In the nearby tombs -";
mes "- you see something -";
mes "- half buried in the ground -";
@@ -469,8 +485,8 @@ L_key1:
next;
mes "- Pick it up? -";
menu "Yes",-,"No",L_end;
- getitem 7184,1;
- set nif_piano, 1;
+ getitem 7184,1;//Items: Piano Key,
+ set nif_quest5, 1;
close;
L_key2:
mes "- In the hole you have dug -";
@@ -480,21 +496,30 @@ L_key2:
next;
mes "- Pick it up? -";
menu "Yes",-,"No",L_end;
- getitem 7184,1;
- set nif_piano, 2;
+ getitem 7184,1;//Items: Piano Key,
+ set nif_quest5, 2;
L_end:
close;
}
nif_in.gat,115,181,5 script #4 111,3,3{
mes "- You see a huge old piano -";
- mes "- with a few keys missing -";
- if ((nif_quest6 < 1) && (countitem(7184) > 5)) goto L_event;
+ if if (nif_q_done==0) mes "- with a few keys missing -";
+ if if (nif_q_done==1) mes "- with one key missing -";
+ if (nif_q_done==0 && countitem(7184) > 5) goto L_event;//Items: Piano Key,
close;
L_event:
- delitem 7184,6;
- set nif_quest6, 1;
+ delitem 7184,6;//Items: Piano Key,
+ set nif_quest_done, 1;
+ //clear auxiliary vars now
+ set nif_quest1, 0;
+ set nif_quest2, 0;
+ set nif_quest3, 0;
+ set nif_quest4, 0;
+ set nif_quest5, 0;
+ set nif_random,0; //clear garbage
+ set nif_random1,0; //clear garbage
mes "- You slide the 6 piano keys one -";
mes "- by one into the missing slots -";
mes "- on the piano, but you realise -";
@@ -504,10 +529,8 @@ L_event:
}
nif_in.gat,118,151,5 script #5 111,3,3{
- if (nif_quest6 == 1) goto L_event;
- end;
+ if (nif_q_done != 1) end;
-L_event:
mes "- The very moment the long shadow -";
mes "- of your body falls on the piano -";
next;
diff --git a/npc/cities/umbala.txt b/npc/cities/umbala.txt
index bd155cf0f..fcb609058 100644
--- a/npc/cities/umbala.txt
+++ b/npc/cities/umbala.txt
@@ -249,11 +249,11 @@ cmd_in01.gat,164,115,1 script Niles 731,{
//Trade money for meat
umbala.gat,70,106,3 script Utan Child#1 781,{
if(event_umbala < 3) goto LumWord;
- mes "[???]";
+ mes "[???]";
mes "Hello! I'm a member of";
mes "the Utan tribe.";
next;
- mes "[???]";
+ mes "[???]";
mes "My name is Hatan! Nice to";
mes "meet you.";
emotion 18;
@@ -283,7 +283,7 @@ if(event_umbala < 3) goto LumWord;
mes "Yay!!";
mes "You're the best!!";
set Zeny,Zeny-1000;
- getitem 517,1;
+ getitem 517,1;//Items: Meat,
emotion 19;
next;
mes "[Hatan]";
@@ -304,11 +304,11 @@ if(event_umbala < 3) goto LumWord;
close;
LumWord:
- mes "[???]";
+ mes "[???]";
mes "Umba!";
mes "Umbaluwababawamuba.";
next;
- mes "[???]";
+ mes "[???]";
mes "Umba! Umbaumba!";
mes "Umbabama Hatan baba.";
emotion 18;
@@ -340,7 +340,7 @@ LumWord:
mes "Um!-babaumba-baumba-.";
mes "Umba-umba-Umbabawamamaba!";
set Zeny,Zeny-1000;
- getitem 517,1;
+ getitem 517,1;//Items: Meat,
emotion 19;
next;
mes "[Hatan]";
@@ -371,15 +371,15 @@ if(event_umbala < 3) goto LumWord;
mes "...Gimme meat!";
next;
menu "Sure",-,"No way!",L2;
- if(countitem(517) < 1) goto LError;
+ if(countitem(517) < 1) goto LError;//Items: Meat,
mes "[Kotan]";
mes "Hey, thanks!";
mes "Take these!";
emotion 10;
- delitem 517,1;
- getitem 909,2;
- getitem 914,2;
- getitem 705,2;
+ delitem 517,1;//Items: Meat,
+ getitem 909,2;//Items: Jellopy,
+ getitem 914,2;//Items: Fluff,
+ getitem 705,2;//Items: Clover,
close;
L2:
mes "[Kotan]";
@@ -396,7 +396,7 @@ LError:
emotion 6;
close;
LumWord:
- mes "[???]";
+ mes "[???]";
mes "....";
mes "....";
mes "...Umbaba!";
@@ -404,25 +404,25 @@ LumWord:
emotion 11;
next;
menu "Umba",-,"Umbabu",Lu2;
- if(countitem(517) < 1) goto LuError;
- mes "[???]";
+ if(countitem(517) < 1) goto LuError;//Items: Meat,
+ mes "[???]";
mes "Umbaumbaumbababa.";
mes "Umbababauma.";
emotion 10;
- delitem 517,1;
- getitem 909,2;
- getitem 914,2;
- getitem 705,2;
+ delitem 517,1;//Items: Meat,
+ getitem 909,2;//Items: Jellopy,
+ getitem 914,2;//Items: Fluff,
+ getitem 705,2;//Items: Clover,
close;
Lu2:
- mes "[???]";
+ mes "[???]";
mes "....";
mes "......Unguba!";
mes "....Umbababa.";
emotion 28;
close;
LuError:
- mes "[???]";
+ mes "[???]";
mes "Umbawamufumabababa!";
mes "Umbabababaumbaumbu!";
emotion 6;
@@ -457,12 +457,12 @@ umbala.gat,221,193,1 script #Skeletal Gate 111,{
goto LRight;
L1_2:
//Blue
- if(countitem(717) < 1) goto L1_2_e;
+ if(countitem(717) < 1) goto L1_2_e;//Items: Blue Gemstone,
mes "^3355FFYou inserted a Blue Gemstone into the";
mes "left socket.^000000";
next;
- delitem 717,1;
- getitem 717,1;
+ delitem 717,1;//Items: Blue Gemstone,
+ getitem 717,1;//Items: Blue Gemstone,
set @ryumon,1;
mes "^3355FFA rolling sound can be heard, and";
mes "the gemstone comes out of the skeleton's mouth.^000000";
@@ -470,12 +470,12 @@ umbala.gat,221,193,1 script #Skeletal Gate 111,{
goto LRight;
L1_3:
//Yellow
- if(countitem(715) < 1) goto L1_3_e;
+ if(countitem(715) < 1) goto L1_3_e;//Items: Yellow Gemstone,
mes "^3355FFYou inserted a Yellow Gemstone into the";
mes "left socket.^000000";
next;
- delitem 715,1;
- getitem 715,1;
+ delitem 715,1;//Items: Yellow Gemstone,
+ getitem 715,1;//Items: Yellow Gemstone,
set @ryumon,2;
mes "^3355FFA rolling sound can be heard, and";
mes "the gemstone comes out of the skeleton's mouth.^000000";
@@ -483,12 +483,12 @@ umbala.gat,221,193,1 script #Skeletal Gate 111,{
goto LRight;
L1_4:
//Red
- if(countitem(716) < 1) goto L1_4_e;
+ if(countitem(716) < 1) goto L1_4_e;//Items: Red Gemstone,
mes "^3355FFYou inserted a Red Gemstone into the";
mes "left socket.^000000";
next;
- delitem 716,1;
- getitem 716,1;
+ delitem 716,1;//Items: Red Gemstone,
+ getitem 716,1;//Items: Red Gemstone,
set @ryumon,3;
mes "^3355FFA rolling sound can be heard, and";
mes "the gemstone comes out of the skeleton's mouth.^000000";
@@ -516,12 +516,12 @@ umbala.gat,221,193,1 script #Skeletal Gate 111,{
goto Lfin;
L2_2:
//Blue
- if(countitem(717) < 1) goto L2_2_e;
+ if(countitem(717) < 1) goto L2_2_e;//Items: Blue Gemstone,
mes "^3355FFYou inserted a Blue Gemstone into the";
mes "left socket.^000000";
next;
- delitem 717,1;
- getitem 717,1;
+ delitem 717,1;//Items: Blue Gemstone,
+ getitem 717,1;//Items: Blue Gemstone,
set @ryumon,@ryumon+10;
mes "^3355FFA rolling sound can be heard, and";
mes "the gemstone comes out of the skeleton's mouth.^000000";
@@ -529,12 +529,12 @@ umbala.gat,221,193,1 script #Skeletal Gate 111,{
goto Lfin;
L2_3:
//Yellow
- if(countitem(715) < 1) goto L2_3_e;
+ if(countitem(715) < 1) goto L2_3_e;//Items: Yellow Gemstone,
mes "^3355FFYou inserted a Yellow Gemstone into the";
mes "left socket.^000000";
next;
- delitem 715,1;
- getitem 715,1;
+ delitem 715,1;//Items: Yellow Gemstone,
+ getitem 715,1;//Items: Yellow Gemstone,
set @ryumon,@ryumon+20;
mes "^3355FFA rolling sound can be heard, and";
mes "the gemstone comes out of the skeleton's mouth.^000000";
@@ -542,12 +542,12 @@ umbala.gat,221,193,1 script #Skeletal Gate 111,{
goto Lfin;
L2_4:
//Red
- if(countitem(716) < 1) goto L2_4_e;
+ if(countitem(716) < 1) goto L2_4_e;//Items: Red Gemstone,
mes "^3355FFYou inserted a Red Gemstone into the";
mes "left socket.^000000";
next;
- delitem 716,1;
- getitem 716,1;
+ delitem 716,1;//Items: Red Gemstone,
+ getitem 716,1;//Items: Red Gemstone,
set @ryumon,@ryumon+30;
mes "^3355FFA rolling sound can be heard, and";
mes "the gemstone comes out of the skeleton's mouth.^000000";
@@ -702,6 +702,8 @@ LStart2:
mes "because sometimes by hiding your";
mes "face, you can express more geniune";
mes "feelings.";
+ //Activate Sphinx Mask Quest (optional)
+ set mask_q,1;
next;
mes "[Karukatan]";
mes "Over time, the mask itself";
@@ -763,7 +765,7 @@ LStart2:
mes "your memories.";
close;
LStart3:
- if ((countitem(7151)>=10) && (countitem(7111)>=5) && (countitem(1024)>=1) && (countitem(916)>=1)) goto Lchkok;
+ if ((countitem(7151)>=10) && (countitem(7111)>=5) && (countitem(1024)>=1) && (countitem(916)>=1)) goto Lchkok;//Items: Oiled Paper, String Paper, Squid Ink, Feather of Birds,
mes "[Karukatan]";
mes "It seems you've not yet prepared the";
mes "proper items. Did you forget what";
@@ -802,10 +804,10 @@ Lchkok:
mes "Try talking to others in the Utan";
mes "tribe. They'll warm up to your quickly";
mes "now that you speak the language.";
- delitem 7151,10;
- delitem 7111,5;
- delitem 1024,1;
- delitem 916,1;
+ delitem 7151,10;//Items: Oiled Paper,
+ delitem 7111,5;//Items: String Paper,
+ delitem 1024,1;//Items: Squid Ink,
+ delitem 916,1;//Items: Feather of Birds,
set event_umbala,3;
next;
mes "[Karukatan]";
@@ -854,7 +856,7 @@ LStart5:
set event_umbala,5;
close;
LStart6:
- if(countitem(2278) > 0) goto Lsmileok;
+ if(countitem(2278) > 0) goto Lsmileok;//Items: Mr. Smile,
mes "[Karukatan]";
mes "Did you find the ^3377FFSmile Mask^000000 yet?";
mes "In order to let you see the shaman,";
@@ -869,7 +871,7 @@ Lsmileok:
mes "on just once, but I promised to";
mes "give this to Putsuchiritan as";
mes "a gift.";
- delitem 2278,1;
+ delitem 2278,1;//Items: Mr. Smile,
set event_umbala,6;
next;
mes "[Karukatan]";
@@ -968,25 +970,25 @@ L1:
next;
menu "Earth",L1_1,"Water",L1_2,"Fire",L1_3,"Wind",L1_4;
L1_1:
- if (countitem(947)<15) goto L1_1e;
+ if (countitem(947)<15) goto L1_1e;//Items: Horn,
set @umchange[1],947;
set @umchange[2],15;
set @umchange[3],993;
goto L1_ketugou;
L1_2:
- if (countitem(946)<20) goto L1_2e;
+ if (countitem(946)<20) goto L1_2e;//Items: Snails Shell,
set @umchange[1],946;
set @umchange[2],20;
set @umchange[3],991;
goto L1_ketugou;
L1_3:
- if (countitem(904)<20) goto L1_3e;
+ if (countitem(904)<20) goto L1_3e;//Items: Scorpion Tail,
set @umchange[1],904;
set @umchange[2],20;
set @umchange[3],990;
goto L1_ketugou;
L1_4:
- if (countitem(1013)<25) goto L1_4e;
+ if (countitem(1013)<25) goto L1_4e;//Items: Rainbow Shell,
set @umchange[1],1013;
set @umchange[2],25;
set @umchange[3],992;
@@ -1087,25 +1089,25 @@ L2:
next;
menu "Earth",L2_1,"Water",L2_2,"Fire",L2_3,"Wind",L2_4;
L2_1:
- if (countitem(997)<1) goto L2_1e;
+ if (countitem(997)<1) goto L2_1e;//Items: Great Nature,
set @umchange[1],997;
set @umchange[2],1;
set @umchange[3],993;
goto L2_bunkai;
L2_2:
- if (countitem(995)<1) goto L2_2e;
+ if (countitem(995)<1) goto L2_2e;//Items: Mystic Frozen,
set @umchange[1],995;
set @umchange[2],1;
set @umchange[3],991;
goto L2_bunkai;
L2_3:
- if (countitem(994)<1) goto L2_3e;
+ if (countitem(994)<1) goto L2_3e;//Items: Flame Heart,
set @umchange[1],994;
set @umchange[2],1;
set @umchange[3],990;
goto L2_bunkai;
L2_4:
- if (countitem(996)<1) goto L2_4e;
+ if (countitem(996)<1) goto L2_4e;//Items: Rough Wind,
set @umchange[1],996;
set @umchange[2],1;
set @umchange[3],992;
@@ -1200,7 +1202,7 @@ L2_empty:
mes "so that the ritual can be completed.";
close;
LumWord:
- mes "[?????]";
+ mes "[?????]";
mes "Umbaumbaumbaba Utan Umbaba";
mes "Umbaumbaumbafumbabauma...";
mes "Umbabaumbaumbabaumbabaumba";
@@ -1327,7 +1329,7 @@ umbala.gat,140,157,6 script Utan Tribe Young Adult#1 785,{
mes "as an adult in the Utan tribe.";
close;
LumWord:
- mes "[?????]";
+ mes "[?????]";
mes "Umbaumbafumba.";
mes "Uwambaunbaumbabaufumba";
mes "Umbababaumbaumba.";
@@ -1344,7 +1346,7 @@ umbala.gat,146,157,4 script Utan Young Adult#2 786,{
mes "gather for a large feast.";
close;
LumWord:
- mes "[????]";
+ mes "[????]";
mes "Umbaumbaumbabaumbaba.";
mes "Umbaumbabaumbababaumufumuba.";
close;
@@ -1361,7 +1363,7 @@ umbala.gat,149,165,4 script Utan Young Adult#3 781,{
mes "member of the Utan tribe.";
close;
LumWord:
- mes "[??????]";
+ mes "[??????]";
mes "Umbaumbaumbababa.";
mes "Umbaumbaumumbabaumfumuba.";
mes "Umbaumbaumumubafumba.";
@@ -1385,12 +1387,12 @@ umbala.gat,92,159,4 script Hartan 785,{
mes "Mmmmmmm...Chocolate...";
close;
LumWord:
- mes "[????]";
+ mes "[????]";
mes "Umbaumbaumba";
mes "Umbaumbaumba";
mes "Umbaumbaumba";
next;
- mes "[????]";
+ mes "[????]";
mes "Umbaumbabaungaha.";
emotion 28;
close;
@@ -1419,17 +1421,17 @@ umbala.gat,194,104,4 script Utan Tribe Child#2 787,{
mes "they'll have to recognize me as an adult!";
close;
LumWord:
- mes "[???]";
+ mes "[???]";
mes "Umbaumbababaumfumuba.";
mes "Umbababaumbabaumbaumba.";
next;
menu "Um...yes?",-,"Nope...",Lu2;
- mes "[???]";
+ mes "[???]";
mes "Umbaumbaumbababa.";
mes "Umbaumbaumubaba.";
close;
Lu2:
- mes "[???]";
+ mes "[???]";
mes "Umbaumbaumuam.";
mes "Umbaumbaumbaba.";
mes "Umbaumfumababaumu.";
@@ -1448,7 +1450,7 @@ umbala.gat,193,208,6 script Utan Child#3 789,{
mes "boys will be boys, don't you think?";
close;
LumWord:
- mes "[????]";
+ mes "[????]";
mes "Umbaumbababa.";
mes "Umbamubafumabaumumbabamua";
mes "Umumbababaumbafuma.";
@@ -1479,14 +1481,14 @@ umbala.gat,139,205,4 script Utan Tribe Young Adult#5 785,{
mes "If you linger underwater, you might die...";
close;
LumWord:
- mes "[????]";
+ mes "[????]";
mes "Umbaumba!";
mes "Umbaumbabababaumumba.";
mes "Babaum Utan Umbaumbaba";
mes "Umbababafumu.";
mes "Umfumubabaumbaumbaumbaba.";
next;
- mes "[????]";
+ mes "[????]";
mes "Umbafumumababaumba.";
mes "Umbabatanumbaumba.";
mes "Umumu. Umbaumbaumbaum.";
@@ -1549,7 +1551,7 @@ um_in.gat,158,71,3 script Utan Tribesman 787,{
mes "not visit it if you're over that way?";
close;
LumWord:
- mes "[????]";
+ mes "[????]";
mes "Umbaumbaumbabaumba!";
mes "Umbaumbaumbababaumba";
mes "Umbaumbaumba";
diff --git a/npc/quests/quests_umbala.txt b/npc/quests/quests_umbala.txt
index 01cd46bf9..d1dbac930 100644
--- a/npc/quests/quests_umbala.txt
+++ b/npc/quests/quests_umbala.txt
@@ -3,16 +3,22 @@
//===== By: ==================================================
//= sabernet09 & eAthena Team
//===== Current Version: =====================================
-//= 1.1
+//= 1.5
//===== Compatible With: =====================================
//= eAthena 7.15 +
//===== Description: =========================================
//= Umbalian Language Quest, +
//===== Additional Comments: =================================
//= fixed by x[tsk], Lupus, PoW
-//= location of the "card removing old lady" should be revised
//= Quest completion is now registered
//= 1.1 fixed Poporing Egg ID -> Poring Egg, fixed condition
+//= 1.2-1.5 fixed some Umbalian Language quests:
+//= - Now if Umbalian Chief tell u about meaning of masks
+//= you can interact with activated Sphinx Mask Quest
+//= - with Wise Man Fabius you can learn Umbalian Language
+//= in alternative way.
+//= TODO: Put WEREWOLF in Umbla - and add some conditions to
+//= the Dungeon entrance quest
//============================================================
@@ -20,8 +26,8 @@
//===========================================================================
//this quest is related to Umbalian Chief
morocc.gat,140,156,5 script Turban Thief 58,{
+ if(mask_q == 0) goto AWAY;
if(mask_q == 2) goto NoBus;
- if(umb_quest != 1) goto AWAY;
mes "[Turban Thief]";
mes "E'llo mah frien, would I interesst tu with this rare mask? Its value I assure you is real mah frien. Tis manific!";
next;
@@ -34,7 +40,7 @@ morocc.gat,140,156,5 script Turban Thief 58,{
mes "[Turban Thief]";
mes "O ho ho, its a deal then!";
set zeny,zeny-1000000;
- getitem 7114,1;
+ getitem 7114,1;//Items: Sphinx Mask,
set mask_q,2;
close;
NoGo:
@@ -48,7 +54,7 @@ morocc.gat,140,156,5 script Turban Thief 58,{
mes "[Turban Thief]";
mes "It is a done deal, no refunds!";
set zeny,zeny-750000;
- getitem 7114,1;
+ getitem 7114,1;//Items: Sphinx Mask,
set mask_q,2;
close;
NoGoB:
@@ -61,7 +67,7 @@ morocc.gat,140,156,5 script Turban Thief 58,{
mes "[Turban Thief]";
mes "Alright, here you go then...";
set zeny,zeny-500000;
- getitem 7114,1;
+ getitem 7114,1;//Items: Sphinx Mask,
set mask_q,2;
close;
NoGoC:
@@ -84,126 +90,156 @@ morocc.gat,140,156,5 script Turban Thief 58,{
}
//======================================================================================//
-// Umbala Language Quest
+// Umbala Language Quest (optional)
//======================================================================================//
prontera.gat,145,290,5 script Mason 742,{
- if(ulquest == 1) goto Got;
mes "[Mason]";
+ if(umb_lang==0) goto L_NOT_GOT_QUEST;
+ if(umb_lang==2 || umb_mason==1) goto L_AGAIN;
+
mes "Hey there, I came here to Prontera in search of an old lady who can remove cards from slots. Do you know where I can find her?";
- menu "Yes",-, "No",No;
+ menu "Yes",-, "No",M_NO;
mes "Oooo, could you please tell me where she's at? I'd be really appreciative.";
- menu "Swordsman Association",-, "Sanctuary",Boo1,"Prontera Chivalry",Boo2,"Armory",Boo3,"Kit Shop",Boo4,"Inn",Boo5,"Trading Post",Yay,"Library",Boo6,"Job Agency",Boo7,"Prontera Castle",Boo8,"City Hall",Boo9;
+ menu "Swordsman Association",-, "Sanctuary",M_Boo1,"Prontera Chivalry",M_Boo2,"Trading Post",M_Boo3,"Kit Shop",M_Boo4,"Inn",M_Boo5,"Armory",M_DONE,"Library",M_Boo6,"Job Agency",M_Boo7,"Prontera Castle",M_Boo8,"City Hall",M_Boo9;
next;
mes "[Mason]";
mes "Hmm... I dunno why she would be there... guess I'll take a look.";
close;
-Boo1:
+M_Boo1:
next;
mes "[Mason]";
mes "Wow I never knew she was a religious person... I'll see to it thanks.";
close;
-Boo2:
+M_Boo2:
next;
mes "[Mason]";
mes "Hmm.... are you sure about that?";
close;
-Boo3:
+M_Boo3:
next;
mes "[Mason]";
mes "Why would she need to go there? I think you might be mistaken.";
close;
-Boo4:
+M_Boo4:
next;
mes "[Mason]";
mes "The only thing she'd need at a Kit shop is medicine for her rheumatism. She's probably long gone from there by now.";
close;
-Boo5:
+M_Boo5:
next;
mes "[Mason]";
mes "I don't think she needs to be there, she LIVES here in Prontera.";
close;
-Boo6:
+M_Boo6:
next;
mes "[Mason]";
mes "Ah I see, if she's studying then I don't want to bother her. Thanks anyways.";
close;
-Boo7:
+M_Boo7:
next;
mes "[Mason]";
mes "Job Agency? I don't think so. Don't lead me all around Prontera please! She's already a teacher here.";
close;
-Boo8:
+M_Boo8:
next;
mes "[Mason]";
mes "The castle eh, I don't want to step in there... just doesn't feel like my style. I don't like that noble feeling of importance type of thing.";
close;
-Boo9:
+M_Boo9:
next;
mes "[Mason]";
mes "O wow, did she become an important part of Prontera? I'd think she's too busy for me to visit. I'll try again later.";
close;
-Yay:
+M_DONE:
next;
mes "[Mason]";
mes "Ah, I heard that her class was somewhere around there... thanks a lot! Here's a lil something for your help.";
- getitem 7117,1;
- set ulquest,1;
+ getitem 7117,1;//Items: Torn Spell Book,
+ set umb_mason,1;
close;
-Got:
- mes "[Mason]";
+
+L_AGAIN:
+ emotion 15;
mes "Yay, I found her! Thank you very much for you help!";
close;
-No:
- mes "[Mason]";
- mes "Oh..Ok..Thanks anyways";
+L_NOT_GOT_QUEST:
+ mes "Hi! I came here to Prontera in search of an old lady... But...";
+ close;
+M_NO:
+ mes "Oh.. Ok.. Thanks anyways.";
close;
}
-aldebaran.gat,153,212,1 script [Mojo] 740,{
+aldebaran.gat,153,212,1 script Mojo 740,{
mes "[Mojo]";
- mes "Oh no! I lost my teacher's ^FF0000old magic book^000000! What am I going to do... those dumb Bathory...";
+ if(umb_lang!=1) goto L_NOT_GOT_QUEST;
+ mes "Oh no! I lost my teacher's ^FF0000old magic book^000000!";
+ mes "What am I going to do... those dumb Bathory...";
+ if(umb_lang==1) set umb_mojo,1;
+ close;
+L_NOT_GOT_QUEST:
+ emotion 1;
+ mes "I lost my teacher's book! What am I going to do...";
close;
}
amatsu.gat,267,189,4 script Marie 744,{
- if(countitem(9001)>0 && countitem(643)>0) goto ForMe;
mes "[Marie]";
+ if(umb_lang==0) goto L_NOT_GOT_QUEST;
+ if(umb_lang==2 || umb_marie==1) goto L_AGAIN;
+ if(countitem(9001)>0 && countitem(643)>0) goto L_DONE;//Items: Poring Egg, Pet Incubator,
mes "Hello, is there something you need?";
- menu "No nothing at all.",Noth,"Your teacher sent me.",-;
+ menu "No nothing at all.",M_NO,"Your teacher sent me.",-;
mes "What does he want from me?";
+ emotion 1;
next;
mes "[Marie]";
mes "Oh wait, I see... he wants his reference scroll back am I right? Well, I'm kinda still using it buuut... I'll give it back if you can gimme a poring egg and an incubator. Those things are so cute!";
close;
-Noth:
+
+L_NOT_GOT_QUEST:
+ emotion 1;
+ mes "Hi! What do you want from me?";
+ close;
+M_NO:
mes "Hrrmm okay? Cya then..";
close;
-ForMe:
- mes "[Marie]";
+L_DONE:
mes "Heyyy there, you have a poring egg and the pet incubator to go with it! Are those for me?";
- menu "Yep",-, "Sorry no",DOH;
+ menu "Yep!",-, "Sorry, no.",M_DOH;
mes "Yatta! Here's a lil something in return.";
- getitem 7118,1;
- delitem 9001,1;
- delitem 643,1;
+ getitem 7118,1;//Items: Torn Scroll,
+ delitem 9001,1;//Items: Poring Egg,
+ delitem 643,1;//Items: Pet Incubator,
+ set umb_marie,1; //got Torn Scroll
close;
-DOH:
+M_DOH:
mes "O pooo... sigh...";
close;
+L_AGAIN:
+ emotion 15;
+ mes "Yay! I love Porings!";
+ close;
}
yuno.gat,157,366,2 script Wise Man Fabius 743,{
- if((countitem(1006) < 1) || (countitem(7118) < 1) || (countitem(7117) < 1)) goto FIN;
- delitem 1006,1;
- delitem 7118,1;
- delitem 7117,1;
mes "[Fabius]";
+ if (event_umbala >= 3) set umb_lang,2; //You already learnt Umbalian language from Umbalian Chief. So this Quest is disabled
+ if (umb_lang<2) goto L_QUEST;
+ mes "You speak Umbalian fluently! So you will never forget the language of Umbalians!";
+ close;
+L_QUEST:
+ if((countitem(1006) < 1) || (countitem(7118) < 1) || (countitem(7117) < 1)) goto L_DONE;//Items: Old Magic Book, Torn Scroll, Torn Spell Book,
+ delitem 1006,1; //Items: Old Magic Book,
+ delitem 7118,1; //Items: Torn Scroll,
+ delitem 7117,1;//Items: Torn Spell Book,
+ emotion 15;
mes "Ah, you've done well in retrieving my references. These artifacts holds information about ruins around the world, from the burning hell of the Magma Dungeon, to the strange eerie Hidden Forest of Yggsadril.";
next;
mes "[Fabius]";
@@ -217,18 +253,36 @@ yuno.gat,157,366,2 script Wise Man Fabius 743,{
next;
mes "^0000FF Learned the language of Umbalians! ^000000";
set umb_lang,2;
+ //clear subquests
+ set umb_marie,0;
+ set umb_mason,0;
+ set umb_mojo,0;
+ //make you understand Umbalian people
+ //it's an alternative way to learn Umbalian Language
+ if(event_umbala < 3) set event_umbala,3;
close;
-FIN:
- mes "[Fabius]";
+L_DONE:
+ set umb_lang,1; //got Quest
mes "Argh! My three students ran off with my references! Hey you! Can you get them back for me? I'll gladly reward you.";
next;
mes "[Fabius]";
- mes "From what I know, they're in different seperate towns making something out of themselves. Oh yeah, tell them I sent you, their names are Marie, Mason, and Mojo";
+ mes "From what I know, they're in different seperate towns making something out of themselves.";
+ if (umb_marie==0 && umb_mason==0 && umb_mojo==0) goto L_NOT_MET;
+ if (umb_marie==1) mes "Oh... You found Marie in Amatsu.";
+ if (umb_mojo==1) mes "You saw Mojo in Aldebaran?";
+ if (umb_mason==1) mes "So... Mason's in Prontera now... Well...";
+ if (umb_marie==0) mes "I wonder where is our sea girl Marie?";
+ if (umb_mojo==0) mes "Mojo should be somewhere near water...";
+ if (umb_mason==0) mes "Where'd Mason go then...";
+ mes "Oh yeah, tell them I sent you";
+ close;
+L_NOT_MET:
+ mes "Oh yeah, tell them I sent you, their names are Marie, Mason and Mojo.";
close;
}
//========================================================================================================================\\
-// Litle Quest NPC to enter the dungeon
+// Little Quest NPC to enter the dungeon
// Fixed by Akaru
//========================================================================================================================\\
umbala.gat,65,253,4 script Tree Guardian 752,{