diff options
author | Lance <Lance@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-11-20 10:11:20 +0000 |
---|---|---|
committer | Lance <Lance@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-11-20 10:11:20 +0000 |
commit | 910042238bb081e769cd756a8268e3cdbef18f9e (patch) | |
tree | 8acb464c5d89faee316f67f1e5f4629e993bf065 | |
parent | d346bb491de94ea13a2dbc574cf05fe6be473945 (diff) | |
download | hercules-910042238bb081e769cd756a8268e3cdbef18f9e.tar.gz hercules-910042238bb081e769cd756a8268e3cdbef18f9e.tar.bz2 hercules-910042238bb081e769cd756a8268e3cdbef18f9e.tar.xz hercules-910042238bb081e769cd756a8268e3cdbef18f9e.zip |
- Removed security check since source level patch is applied. Reverted select(), created prompt().
modified Changelog-Trunk.txt
modified npc/airports/airships.txt
modified npc/cities/amatsu.txt
modified npc/cities/gonryun.txt
modified npc/cities/hugel.txt
modified npc/cities/lighthalzen.txt
modified npc/cities/niflheim.txt
modified npc/cities/valkyrie.txt
modified npc/custom/eAAC_Scripts/disguiser.txt
modified npc/custom/eAAC_Scripts/quest_warper.txt
modified npc/custom/jobs/jobmaster.txt
modified npc/events/idul_fitri.txt
modified npc/jobs/1-1e/gunslinger.txt
modified npc/jobs/1-1e/ninja.txt
modified npc/jobs/novice/novice.txt
modified npc/merchants/kunai_maker.txt
modified npc/merchants/novice_exchange.txt
modified npc/merchants/refine.txt
modified npc/other/comodo_gambling.txt
modified npc/other/dts_warper.txt
modified npc/other/marriage.txt
modified npc/other/powernpc.txt
modified npc/quests/Lvl4_weapon_quest.txt
modified npc/quests/gunslinger_quests.txt
modified npc/quests/quests_ein.txt
modified npc/quests/quests_umbala.txt
modified npc/sample/monster_controller.cpp
modified src/map/script.c
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9267 54d463be-8e91-2dee-dedb-b68131a5f0ec
28 files changed, 822 insertions, 937 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index e19ae7a3d..ee863d33a 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,8 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2006/11/19
+ * Removed security check since source level patch is applied.
+ * Reverted select(), created prompt().
* Hack protection from packet monkeys in clif_parse_NpcSelectMenu. [Lance]
* Added 'cancel' button parsing in buildin_select menu system. Now scripts will continue
to load if 'cancel' is pressed and 255 will be returned. [Lance]
diff --git a/npc/airports/airships.txt b/npc/airports/airships.txt index b6e43c727..ab5826fac 100644 --- a/npc/airports/airships.txt +++ b/npc/airports/airships.txt @@ -856,7 +856,6 @@ function script applegamble { mes "in a friendly game of Dice?";
next;
switch(select("Play Dice Game:Learn Dice Game Rules:Cancel")){
- case 255:
case 3:
mes "["+getarg(0)+"]";
mes "I'm up for a game of";
@@ -938,7 +937,7 @@ L_Input: mes "betting ^FF0000"+@amount+"^000000 Apples.";
mes "Is that right?";
next;
- if(select("Yes:No")==2 || @menu == 255){
+ if(select("Yes:No")==2){
mes "["+getarg(0)+"]";
mes "Mm, made a mistake?";
mes "Alright, please enter the";
@@ -1044,9 +1043,6 @@ L_Input: mes "luck next time.";
}
close;
- } else {
- if(@menu == 255)
- end;
}
mes "^0000FF*Rolling and rumbling*";
set @player3,rand(1,6);
diff --git a/npc/cities/amatsu.txt b/npc/cities/amatsu.txt index e54c56e10..a4542edc3 100644 --- a/npc/cities/amatsu.txt +++ b/npc/cities/amatsu.txt @@ -823,9 +823,6 @@ s_Got: set @stoneStr$,"Rough Wind";
break;
- case 255:
- end;
-
}
if(countitem(@stoneID) < 8)goto s_NEnough;
mes "[Laspuchin Gregory]";
diff --git a/npc/cities/gonryun.txt b/npc/cities/gonryun.txt index bc92d920f..1549721d3 100644 --- a/npc/cities/gonryun.txt +++ b/npc/cities/gonryun.txt @@ -239,7 +239,6 @@ gonryun.gat,237,226,3 script YunKyoHam#gn 776,{ mes "My curse shall be on his head!!!";
close;
}
- if(@menu == 255) end;
mes "[YunKyoHam]";
mes "ohoh! Thank you!";
mes "Take these potions.";
@@ -501,8 +500,6 @@ gonryun.gat,163,60,4 script Gonryun Guide 780,{ mes "Enjoy your trip in";
mes "lovely Gonryun!";
break;
- case 255:
- end;
}
close;
}
diff --git a/npc/cities/hugel.txt b/npc/cities/hugel.txt index 7d9a9e984..61c6c5bb0 100644 --- a/npc/cities/hugel.txt +++ b/npc/cities/hugel.txt @@ -45,8 +45,6 @@ hu_in01.gat,23,311,4 script Johsh 898,{ mes @npcname$;
mes "Aww~~ you miss it";
close;
- case 255:
- end;
}
}
diff --git a/npc/cities/lighthalzen.txt b/npc/cities/lighthalzen.txt index 49fc9f60b..c03c2c2d0 100644 --- a/npc/cities/lighthalzen.txt +++ b/npc/cities/lighthalzen.txt @@ -1050,7 +1050,7 @@ lighthalzen.gat,312,234,2 script Beggar 777,{ mes "Would you give me";
mes "some money?";
next;
- if(select("Give him some money.:Ignore him.")==2 || @menu == 255){
+ if(select("Give him some money.:Ignore him.")==2){
mes "[" + strcharinfo(0) + "]";
mes "...";
mes "......";
diff --git a/npc/cities/niflheim.txt b/npc/cities/niflheim.txt index 99a4e5efd..6c20f0141 100644 --- a/npc/cities/niflheim.txt +++ b/npc/cities/niflheim.txt @@ -171,21 +171,12 @@ L_book3: if(select("Clover.:Klaatu.:Kleitos.")==2)
set @nif_t,@nif_t + 10;
- if(@menu == 255)
- end;
-
if(select("Verit.:Veritas.:Verata.")==3)
set @nif_t,@nif_t + 10;
- if(@menu == 255)
- end;
-
if(select("Necktie.:Necklace.:Nero.:^FFFFFFNictu.^000000")==4)
set @nif_t,@nif_t + 10;
- if(@menu == 255)
- end;
-
mes "[Ashe Bruce]";
if(@nif_t == 30){
if(rand(9)){
diff --git a/npc/cities/valkyrie.txt b/npc/cities/valkyrie.txt index 502cd46d5..1aea9c3aa 100644 --- a/npc/cities/valkyrie.txt +++ b/npc/cities/valkyrie.txt @@ -45,7 +45,6 @@ yuno_in02.gat,93,207,0 script Book of Ymir 111,{ mes "can be realized in the Hall of Honor.";
next;
switch(select("Stop reading.:Continue reading.")) {
- case 255:
case 1:
mes "[Book of Ymir]";
mes ". . . . .";
diff --git a/npc/custom/eAAC_Scripts/disguiser.txt b/npc/custom/eAAC_Scripts/disguiser.txt index ce5978d95..218de0196 100644 --- a/npc/custom/eAAC_Scripts/disguiser.txt +++ b/npc/custom/eAAC_Scripts/disguiser.txt @@ -164,9 +164,6 @@ function script PXC_DoMenu { //Fire our menu
set @menu, select($@menu$);
- if(@menu > getarg(1) || @menu < 1)
- end;
-
//Zero deliminated (off-by-one errors sux0r!!!)
set @menu, @menu-1;
diff --git a/npc/custom/eAAC_Scripts/quest_warper.txt b/npc/custom/eAAC_Scripts/quest_warper.txt index 47f6c94c0..24b61f0de 100644 --- a/npc/custom/eAAC_Scripts/quest_warper.txt +++ b/npc/custom/eAAC_Scripts/quest_warper.txt @@ -449,8 +449,6 @@ L_town: set @TWMenu,select(@Tmenulist$[0],@Tmenulist$[1],@Tmenulist$[2],@Tmenulist$[3],@Tmenulist$[4],@Tmenulist$[5],@Tmenulist$[6],@Tmenulist$[7],@Tmenulist$[8],@Tmenulist$[9],@Tmenulist$[10],@Tmenulist$[11],@Tmenulist$[12],@Tmenulist$[13],@Tmenulist$[14],@Tmenulist$[15],@Tmenulist$[16],@Tmenulist$[17],@Tmenulist$[18],@Tmenulist$[19],@Tmenulist$[20],@Tmenulist$[21],@Tmenulist$[22],@Tmenulist$[23],@Tmenulist$[24]);
- if(@TWMenu > 25 || @TWMenu < 1) end;
-
if (@Tmenuref[@TWMenu-1] == 57005) goto L_end; // 57005='dead' in hex
if(Zeny<@pTprice[@Tmenuref[@TWMenu-1]]) callsub L_Short_on_zeny,0;
@@ -471,8 +469,6 @@ L_dungeon: set @DWMenu,select(@Dmenulist$[0],@Dmenulist$[1],@Dmenulist$[2],@Dmenulist$[3],@Dmenulist$[4],@Dmenulist$[5],@Dmenulist$[6],@Dmenulist$[7],@Dmenulist$[8],@Dmenulist$[9],@Dmenulist$[10],@Dmenulist$[11],@Dmenulist$[12],@Dmenulist$[13],@Dmenulist$[14],@Dmenulist$[15],@Dmenulist$[16],@Dmenulist$[17],@Dmenulist$[18],@Dmenulist$[19],@Dmenulist$[20],@Dmenulist$[21],@Dmenulist$[22],@Dmenulist$[23],@Dmenulist$[24],@Dmenulist$[25],@Dmenulist$[26],@Dmenulist$[27],@Dmenulist$[28],@Dmenulist$[29],@Dmenulist$[30],@Dmenulist$[31],@Dmenulist$[32],@Dmenulist$[33],@Dmenulist$[34]);
- if(@TWMenu > 35 || @TWMenu < 1) end;
-
if (@Dmenuref[@DWMenu-1] == 57005) goto L_end; // 57005='dead' in hex
set @DwarpMenu, (@Dmenuref[@DWMenu-1]);
callfunc "QWS_DLarray";
@@ -484,8 +480,6 @@ L_dungeon: // Expected maximum is set to 18 items, if you have dungeons with more levels add more ",@DWLmenulist$[xx]"
set @DWLMenu,select(@DWLmenulist$[0], @DWLmenulist$[1], @DWLmenulist$[2], @DWLmenulist$[3], @DWLmenulist$[4], @DWLmenulist$[5], @DWLmenulist$[6], @DWLmenulist$[7], @DWLmenulist$[8], @DWLmenulist$[9], @DWLmenulist$[10], @DWLmenulist$[11], @DWLmenulist$[12], @DWLmenulist$[13], @DWLmenulist$[14], @DWLmenulist$[15], @DWLmenulist$[16], @DWLmenulist$[17]);
- if(@TWMenu > 18 || @TWMenu < 1) end;
-
if (@DWLmenuref[@DWLMenu-1] == 57005) goto L_end; // 57005='dead' in hex
set @Darrayref, @DWLmenuref[@DWLMenu-1];
@@ -532,7 +526,7 @@ PHeal: if(getarg(1) == 1) mes ""+@SpPrice+" Zeny for "+@Sp+" skill points";
set @total, @HpPrice+@SpPrice;
mes "for a total of "+@total+" zeny";
- if (select("Heal me","Let me see the choices again")!=1) goto L_heal_Part;
+ if (select("Heal me","Let me see the choices again")==2) goto L_heal_Part;
if(getarg(0) == 1)set @HpPrice, (MaxHp-Hp)*$QW_HP_H_PRICE;
if(getarg(1) == 1)set @SpPrice, (MaxSp-Sp)*$QW_HP_S_PRICE;
@@ -551,13 +545,13 @@ Zeny_Short_Both: mes "[Warpra]";
mes "choose another option, you can afford both.";
mes "I can heal as much as you can afford too.";
- if (select("OK","Exit") != 1) goto L_end;
+ if (select("OK","Exit") == 2) goto L_end;
goto PHeal;
Zeny_short_HP:
mes "[Warpra]";
mes "do you want me to partly heal your HP ?";
- if (select("Yes","No") != 1) goto L_end;
+ if (select("Yes","No") == 2) goto L_end;
set @Hp, Zeny/$QW_HP_H_PRICE;
set @HpPrice, @Hp*$QW_HP_H_PRICE;
if (@Hp == 1) mes "your not worth the effort";
@@ -570,7 +564,7 @@ Zeny_short_HP: Zeny_short_SP:
mes "[Warpra]";
mes "do you want me to partly heal your SP ?";
- if (select("Yes","No") != 1) goto L_end;
+ if (select("Yes","No") == 2) goto L_end;
set @Sp, Zeny/$QW_HP_S_PRICE;
set @SpPrice, @Sp*$QW_HP_S_PRICE;
if (@Sp == 1) mes "your not worth the effort";
diff --git a/npc/custom/jobs/jobmaster.txt b/npc/custom/jobs/jobmaster.txt index e4c72d3f5..c929d4894 100644 --- a/npc/custom/jobs/jobmaster.txt +++ b/npc/custom/jobs/jobmaster.txt @@ -78,17 +78,10 @@ prontera.gat,153,193,6 script Job Master 123,{ if(Class == Job_Novice_High) goto L_noReq;
set @target_job, @menu + 15;
break;
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
+ default:
set @target_job, @menu;
if(Class == Job_Novice_High) set @target_job, @target_job + 4001;
break;
- default:
- end;
}
}
mes "Are you sure you want to change to " + callfunc("getJobName",@target_job) + "?";
@@ -156,8 +149,6 @@ prontera.gat,153,193,6 script Job Master 123,{ }
mes "Welcome, please select the job you wish to change into";
set @target_job, @job_opt[select(callfunc("getJobName",@job_opt[0]), callfunc("getJobName",@job_opt[1]))-1];
- if(@menu < 1 || @menu > 2)
- end;
if(Class > Job_Novice_High && Class < Job_Lord_Knight) set @target_job, @target_job + 4001;
}
mes "Are you sure you want to change to " + callfunc("getJobName",@target_job) + "?";
diff --git a/npc/events/idul_fitri.txt b/npc/events/idul_fitri.txt index 7414c19a9..b5b62df5d 100644 --- a/npc/events/idul_fitri.txt +++ b/npc/events/idul_fitri.txt @@ -67,7 +67,6 @@ prontera.gat,146,92,3 script Cellerb 58,{ emotion e_thx;
close;
- case 255:
case 2:
mes @npcname$;
mes "Oh well, maybe you will participate in tommorow's quest.";
diff --git a/npc/jobs/1-1e/gunslinger.txt b/npc/jobs/1-1e/gunslinger.txt index 7e06a416e..47da54866 100644 --- a/npc/jobs/1-1e/gunslinger.txt +++ b/npc/jobs/1-1e/gunslinger.txt @@ -217,8 +217,6 @@ payon.gat,184,65,3 script Mr. Tanieh 866,{ close2;
set @npcname$,"";
end;
- default:
- end;
}
} else if (GUNS_Q == 10003 || GUNS_Q == 10004) {
if (countitem(519) >= 1 && GUNS_Q == 10004) {
@@ -241,8 +239,6 @@ payon.gat,184,65,3 script Mr. Tanieh 866,{ close2;
set @npcname$,"";
end;
- default:
- end;
}
}
mes @npcname$;
diff --git a/npc/jobs/1-1e/ninja.txt b/npc/jobs/1-1e/ninja.txt index ccd51081d..f2e9f2be3 100644 --- a/npc/jobs/1-1e/ninja.txt +++ b/npc/jobs/1-1e/ninja.txt @@ -1,725 +1,721 @@ -//===== eAthena Script =======================================
-//= Ninja Job Quest
-//===== By: ==================================================
-//= Legionaire
-//===== Current Version: =====================================
-//= 1.1a
-//===== Compatible With: =====================================
-//= eAthena SVN that supports Ninjas
-//===== Description: =========================================
-//= Semi-official Ninja Job Change script using dialogue from
-//= Mandarin Aegis Ninja script.
-//===== Additional Comments: =================================
-//= The dialouge isn't exactly the best available, but until
-//= The official dialouge in English comes out, this is the
-//= Best that I can do.
-//= 1.1 Optimized, updated, checked [Lupus]
-//============================================================
-
-
-que_ng.gat,30,65,3 script Cool Kid#nq 730,{
- set @npcname$,"[Cool Kid]";
- if(Class == Job_Novice && JobLevel > 9){
- switch(NINJ_Q){
- case 1:
- mes @npcname$;
- mes "Mmm... This isn't a pressing matter.";
- mes "Though I hope you can do it soon.";
- mes "Wildcat Zhao, he's over in";
- mes "Einbroch";
- close;
- case 2:
- mes @npcname$;
- mes "Don't forget to get something from him.";
- mes "Otherwise he'll forget.";
- close;
- case 3:
- mes @npcname$;
- mes "Did you bring it back?";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "Yup, right here.";
- next;
- mes @npcname$;
- mes "Ohh, not bad";
- mes "Hand it over.";
- mes "Let's see... Well.";
- mes "- *letter opening sounds*... -";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "- He's intently reading -";
- mes "- the letter I brought back. -";
- next;
- mes @npcname$;
- mes "Ai YA~!! How can this be?!";
- mes "He rejected my offer of a ceasefire!!!";
- mes "Could it be... Could it be...!";
- mes "That he's already made another sword?...";
- next;
- mes @npcname$;
- mes "Ohhh, my head hurts now.";
- mes "Hey, sorry to bother you again.";
- mes "I need something to fight";
- mes "Zhao with,";
- mes "but I don't have the materials.";
- next;
- mes @npcname$;
- mes "If you bring me the materials...";
- mes "I'll acknowledge you...";
- mes "And let you become a Ninja.";
- mes "I need you to get me...";
- mes "One piece of Phracon.";
- mes "and five cygar, quick, there's no time!";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "Aahh!!";
- mes "This is...";
- next;
- mes @npcname$;
- mes "Hmm, what's the matter?";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "These items... Were the ones";
- mes "I promised to Mr. Zhao...";
- next;
- mes @npcname$;
- mes "WHAT?!!!";
- mes "Then the person helping him...";
- mes "IS!";
- mes "Aaahhh...";
- mes "Ai ya, you fool!!!!";
- next;
- mes @npcname$;
- mes "Oh.. Oh... Calm.. Must be calm.";
- mes "Haha...";
- next;
- mes @npcname$;
- mes "Well, you've already promised to help me.";
- mes "No point in arguing now...";
- mes "We can do that later.";
- mes "Quick, gather the items.";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "Oh.. Oh.. Ok..";
- next;
- mes @npcname$;
- mes "Quick~~!!";
- mes "Aiii~";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "- I have to give him 1 Phracon... -";
- mes "- and 5 Cyfars -";
- set NINJ_Q,4;
- close;
- case 4:
- mes @npcname$;
- if(countitem(7053) < 4 || countitem(1010) < 1){
- mes "Bring me a Phracon";
- mes "and five cyfar";
- mes "Right now, you still don't have enough.";
- mes "It's urgent.. So do it quickly.";
- close;
- }
- if(getskilllv(1) < 9){
- mes "Come back once you have the basic skills...";
- close;
- }
- delitem 1010,1;
- delitem 7035,1;
- mes "Oh... you've brought it.";
- mes "Let's see...";
- mes "Mmm~ so you've brought it all";
- mes "and followed my instructions.";
- next;
- mes @npcname$;
- mes "Huu... This doesn't look too bad.";
- mes "Better than I expected at least?";
- next;
- mes @npcname$;
- mes "Ok.";
- mes "I'll follow through with the ritual";
- mes "and change you into a Ninja.";
- next;
- mes @npcname$;
- mes "Well, I guess I can introduce myself to you now.";
- mes "I am part of the Doga Ninja clan";
- mes "the top Ninja head in the clan.";
- mes "I'm the squad leader of the team...";
- mes "trying to find our chief, Kazma";
- mes "So here I am.";
- next;
- mes @npcname$;
- mes "Actually, there's been a bit of a distrubance";
- mes "amongst our ranks";
- mes "so actually, I didn't want you";
- mes "to join the clan";
- mes "at first.";
- next;
- mes @npcname$;
- mes "But Zhao, in the letter...";
- mes "rate you pretty high, and you performed";
- mes "orders rather well,";
- mes "so I had a change of mind.";
- next;
- mes @npcname$;
- mes "Being a Ninja is a solitary job.";
- mes "We value our work above all";
- mes "but not to the point of fanaticism.";
- next;
- mes @npcname$;
- mes "Your path will be one of hardship.";
- mes "Many of us live within villages...";
- mes "Working away covertly.";
- next;
- mes @npcname$;
- mes "Our techniques and our equipmnet...";
- mes "How to handle and use them...";
- mes "That is all done covertly";
- mes "As well, buying and selling...";
- mes "is also done via special means, so,";
- mes "be especially careful.";
- next;
- mes @npcname$;
- mes "Well, from now on";
- mes "You're a member of the ...";
- mes "Doga Ninja Clan.";
- next;
- mes @npcname$;
- mes "Speed, as that of the western wind.";
- mes "Movement, like the falling leaf in that wind";
- mes "Soft!!!";
- next;
- mes @npcname$;
- mes "Haaa!!!!";
- next;
- nude;
- callfunc "Job_Change",Job_Ninja;
- callfunc "F_ClearJobVar";
- getitem 13010,1;
- close;
- default:
- mes "["+strcharinfo(0)+"]";
- mes "Hey.";
- next;
- mes @npcname$;
- mes "Oh?...";
- mes "That's impossible~!!";
- mes "You can see me!";
- next;
- mes @npcname$;
- mes "Aaaahhh~!";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "- Kick the man with the chopsticks. -";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "- Huu~! -";
- mes "Ahh~!";
- mes "Ahh~! What are you doing?!";
- next;
- mes @npcname$;
- mes "Oh?...";
- mes "You aren't an assassin trying to kill me.";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "Oh jeez... What did I get myself into.";
- mes "This guy is nuts.";
- mes "Hasn't even seen me and is throwing stuff around...";
- next;
- mes @npcname$;
- mes "ohohoh~! Anger, anger~~";
- mes "My forever rival... Forever hated enemy!";
- mes "Wildcat!";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "........";
- next;
- mes @npcname$;
- mes "Ahah~~~!!!";
- mes "E~E~";
- mes "Pa! Pa! Pa~";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "- I'm right here... -";
- next;
- mes @npcname$;
- mes "Mmm...";
- mes "Oh! Who are you?!";
- mes "When did you suddenly appear";
- mes "beside me!";
- mes "Here, TAKE THIS!";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "Augh...~";
- mes "Jeez, can't you stop...";
- mes "What are you doing now..";
- next;
- mes @npcname$;
- mes "Ohoho...";
- mes "Not bad, not bad~";
- mes "You managed to dodge my attacks...";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "- What.. Is wrong with him... -";
- mes "- Not listening to me at all. -";
- next;
- mes @npcname$;
- mes "mmm~ok~";
- mes "Well, why did you come find me?";
- mes "What do you need?";
- next;
- mes "["+strcharinfo(0)+"]";
- mes ".........";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "Oh...mm...";
- mes "Right.";
- mes "I want to become a Ninja.";
- next;
- mes @npcname$;
- mes "Ok, great, perfect...";
- mes "BUT!";
- next;
- mes "["+strcharinfo(0)+"]";
- mes ".....";
- next;
- mes @npcname$;
- mes "It's not that simple.";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "... What now~";
- next;
- mes @npcname$;
- mes "I still have no trust in you.";
- mes "In my opinion, you have no experience.";
- mes "You'll have trouble becoming a Ninja.";
- next;
- mes @npcname$;
- mes "So...";
- mes "You should!!!Go home~!";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "...........";
- next;
- mes @npcname$;
- mes "Mmm...";
- mes "Right!";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "...........";
- next;
- mes @npcname$;
- mes "Well, if you aren't deaf, leave.";
- mes "You've seen it for yourself, I'm a busy fellow.";
- mes "Aahh...";
- next;
- mes @npcname$;
- mes "My opponents are everywhere...";
- mes "I cannot afford to waste time!";
- next;
- mes @npcname$;
- mes "Well now, I've got to run";
- mes "You know, for practice and all.";
- mes "*prepares to leave*";
- next;
- mes @npcname$;
- mes "I shall win next time!";
- mes "Wait for me.";
- mes "Wildcat Zhao!";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "Wildcat... Zhao?";
- mes "You're fighting a cat?";
- next;
- mes @npcname$;
- mes "Uhh..? Oh that, hahaha~";
- mes "Wildcat Zhao is that fellow's...";
- mes "title.";
- next;
- mes @npcname$;
- mes "He's a vicious and barbaric fellow.";
- mes "For victory...";
- mes "He'll use any method.";
- next;
- mes @npcname$;
- mes "His ninjutsu";
- mes "is also a bit too strong...";
- next;
- mes @npcname$;
- mes "Right now, both of our";
- mes "shuriken and scrolls...";
- mes "are still in repair, so,";
- mes "we're temporarily calling it a break.";
- next;
- mes @npcname$;
- mes "If you really...";
- mes "Want to become a Ninja.";
- mes "Wanna help me out?";
- mes "If you help me...";
- mes "I probably won't be able to make you a Ninja";
- mes "But I'll teach you several skills?";
- next;
- if(select("Sure.:Reject.") == 2){
- mes "["+strcharinfo(0)+"]";
- mes "I'm not here to help";
- mes "Just looking for someone to teach me the skills.";
- mes "Sorry.";
- mes "Find somebody else.";
- next;
- mes @npcname$;
- mes "Oh... I see...";
- mes "Ok then.";
- mes "Sorry if I offended you.";
- mes "You may leave now.";
- close;
- }
- if(@menu > 2)
- end;
- mes "["+strcharinfo(0)+"]";
- mes "Mm... Ok then.";
- next;
- mes @npcname$;
- mes "Ok..great.";
- mes "Bring this letter";
- mes "Over to Wildcat Zhao";
- mes "Grr... That fellow.";
- next;
- mes @npcname$;
- mes "It basically says...";
- mes "Let's have a ceasefire";
- mes "While our equipment is being fixed.";
- mes "You must get a reply from him.";
- next;
- mes @npcname$;
- mes "I heard he's somewhere...";
- mes "in Einbroch...";
- mes "Don't know.";
- mes "What's he doing over there?";
- mes "...";
- next;
- mes @npcname$;
- mes "Zhao...";
- mes "He changes his appearance...";
- mes "So check everybody, since you won't know who he is.";
- next;
- mes @npcname$;
- mes "Don't give up though.";
- mes "He likes high places.";
- mes "Search around.";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "Ok~";
- mes "Ok.";
- set NINJ_Q,1;
- close;
- }
- }else if(Class == Job_Novice && JobLevel < 10){
- mes @npcname$;
- mes "Not enough training.";
- mes "Come back later.";
- close;
- }
- mes @npcname$;
- if(Class == Job_Ninja){
- mes "Mm... How's it been?";
- mes "Missions can happen at any moment";
- mes "At any time";
- mes "Don't slack off";
- close;
- }
- mes "Oh what, this smell!!";
- mes "It's coming from you!.";
- mes "It's been a long time since I've";
- mes "smelled anybody so stinky.";
- mes "Away with you!";
- close;
-}
-
-einbroch.gat,184,194,3 script Exceptional Man 881,{
- if(NINJ_Q >= 3 || Class == Job_Ninja)
- set @npcname$,"[Red Cougar Zhao]";
- else
- set @npcname$,"[Exceptional Man]";
- if(!NINJ_Q){
- mes @npcname$;
- if(Class == Job_Ninja){
- mes "Oh, you're a Ninja now.";
- mes "Stay true to the path, though there...";
- mes "may be difficulties ahead, remember...";
- mes "train hard.";
- close;
- }
- mes "Whoo... So happy.";
- mes "I've been to many places.";
- mes "But a building this tall...";
- mes "First time I've seen it, and the scenery is beautiful too.";
- mes "Really too sad that I don't have the time to admire it";
- mes "*sighs*";
- close;
- }
- switch(NINJ_Q){
- case 1:
- mes @npcname$;
- mes "The place I lived in...";
- mes "was peaceful, the air was good, the houses were small";
- mes "but warm.";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "Oh, it can't be!";
- mes "Amatsu?!!!";
- next;
- mes @npcname$;
- mes "Nope.";
- mes "....";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "Mmm~";
- mes "Wait...";
- mes "You've lived in Izlude before?";
- next;
- mes @npcname$;
- mes "Yes.";
- mes "I come from Izlude.";
- next;
- mes @npcname$;
- mes "Due to certain events though...";
- mes "I've come here, to the mines.";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "Really...";
- mes "Oh, do you know a person called.... Wildcat Zhao?";
- mes "He's a Ninja from Amatsu";
- next;
- mes @npcname$;
- mes "Hmm that's the first time I've heard that name.";
- mes "You have some important reason..";
- mes "to meet him?";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "Yes, I have a latter to give him";
- mes "and I need a reply letter";
- mes "before I can change class";
- mes "and become a Ninja.";
- next;
- mes @npcname$;
- mes "Mm.. So I see, you too, are a traveller.";
- next;
- mes @npcname$;
- mes "Oh, I remember now";
- mes "I think... I know";
- mes "Who you're trying to find.";
- next;
- mes @npcname$;
- mes "I saw him here";
- mes "or at least... I think I did.";
- next;
- mes @npcname$;
- mes "I'd really like to help you";
- mes "but I still have...";
- mes "some unfinished business.";
- next;
- mes @npcname$;
- mes "If you can help me do something";
- mes "I'll help you find him.";
- next;
- if(select("I'll find him myself.:Ok, I'll help you.") == 1){
- mes @npcname$;
- mes "Ahh ok.";
- mes "I understand.";
- mes "Well, good luck";
- mes "if you ever are in";
- mes "need of help.";
- mes "Before I leave";
- mes "tell me...";
- close;
- }else{
- if(@menu > 2)
- end;
- mes @npcname$;
- mes "Mm Ok.";
- mes "I came here";
- mes "to find some ores.";
- mes "I have something that needs these ores";
- mes "in order to work";
- next;
- mes @npcname$;
- mes "I would come with you....";
- mes "But I need to watch over this, so.";
- mes "If you can get me five Cyfars, and";
- mes "one Phracon...";
- mes "I would really appreciated it.";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "- I need to bring, one Phracon and five Cyfars. -";
- set NINJ_Q,2;
- close;
- }
- case 2:
- if(countitem(1010) < 1 || countitem(7053) < 5){
- mes @npcname$;
- mes "1 Phracon and 5 Cyfars.";
- mes "Hmm the amount isn't enough.";
- mes "Even though there's no hurry, still,";
- mes "bring back the correct amount.";
- close;
- }
- mes @npcname$;
- mes "Very good, very good..";
- mes "Mmm.... Ok.";
- mes "You've given me what I needed";
- mes "now I need to help you in return";
- mes "and find him. Mmm....";
- next;
- mes @npcname$;
- mes "Let me see the letter.";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "?????!!";
- next;
- mes @npcname$;
- mes "Oh? Can it be him...";
- mes "that sent it?";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "Oh.... So you are";
- mes "Wildcat~!";
- next;
- mes @npcname$;
- mes "No.";
- mes "My name is not Wildcat Zhao";
- mes "It is Cougar Zhao.";
- mes "Wildcat is the name that kid";
- mes "uses in order";
- mes "to aggravate me, haha.";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "Hahaha... ~~";
- next;
- set @npcname$,"[Red Cougar Zhao]";
- mes @npcname$;
- mes "If you want to become a Ninja";
- mes "then you must not trust";
- mes "what you see.";
- next;
- mes @npcname$;
- mes "The clothing and gear you see in books.";
- mes "Is not used by real Ninjas";
- mes "or rather, there are very few";
- mes "who wear such things.";
- next;
- mes @npcname$;
- mes "Do not forget.";
- mes "Once the identity of a Ninja";
- mes "has been revealed, his life is";
- mes "forfeit.";
- next;
- mes @npcname$;
- mes "Even right now";
- mes "what I say and tell you";
- mes "may not be the truth.";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "Ohh...";
- mes "...........";
- next;
- mes @npcname$;
- mes "Well, can I see it?";
- mes "That letter.";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "Oh ok.";
- mes "Hmm.";
- mes "-*Takes out letter*-";
- next;
- mes @npcname$;
- mes "Mmmm.. Let's see...";
- mes "Oh, and here, I thought it would be";
- mes "another declaration of battle.";
- mes "He wants a ceasfire now.";
- next;
- mes @npcname$;
- mes "What to do, what to do.";
- mes "You've already helped me";
- mes "make another sword.";
- mes "Haha~";
- next;
- mes @npcname$;
- mes "I'll write a reply I guess.";
- mes "From my point of view though";
- mes "based on the speed that you got what I asked for";
- mes "if you want to become a Ninja";
- mes "learn to become a bit faster";
- mes "and more experienced";
- next;
- mes "["+strcharinfo(0)+"]";
- mes ".....";
- next;
- mes @npcname$;
- mes "Wait.";
- mes "I shall write a reply letter.";
- mes "Let's see...";
- mes "Mm...*slides letter in*......";
- next;
- mes @npcname$;
- mes "Here you go.";
- mes "Give it to him";
- mes "and he'll understand.";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "- Good, got the letter -";
- mes "- that Mr. Zhao wrote in a second. -";
- next;
- mes @npcname$;
- mes "Well now, be on your way.";
- mes "If you want to become a Ninja";
- mes "learn to treasure what time you have.";
- next;
- mes @npcname$;
- mes "When you do become a Ninja";
- mes "Come have a chat with me";
- mes "I will be waiting for you.";
- next;
- mes "["+strcharinfo(0)+"]";
- mes "Mmm.... Then I'll....";
- next;
- mes @npcname$;
- mes "Ohh.... It'll take awhile to get to Amatsu";
- mes "definitely a long trip.";
- mes "I'll take "+strcharinfo(0)+" to Amatasu.";
- mes "Ok.";
- delitem 1010,1;
- delitem 7053,5;
- set NINJ_Q,3;
- close2;
- warp "amatsu.gat",113,127;
- end;
- case 3:
- mes @npcname$;
- mes "Hmmm I wonder what happened";
- mes "you haven't seen him yet";
- mes "why are you here?";
- next;
- mes @npcname$;
- mes "If you want";
- mes "I'll take you back to Amatsu.";
- next;
- if(select("No thanks.:Sure.") != 2){
- mes @npcname$;
- mes "Mm, ok then.";
- mes "The decision is yours to make.";
- close;
- }
- mes @npcname$;
- mes "Ok. Then I'll take you to Amatsu.";
- close2;
- warp "amatsu.gat",113,127;
- end;
- case 4:
- mes @npcname$;
- mes "Haha, the kid seems to order you";
- mes "to do lots of bothersome chores.";
- mes "Work hard, all of these tasks";
- mes "will help you become a Ninja.";
- close;
- }
+//===== eAthena Script ======================================= +//= Ninja Job Quest +//===== By: ================================================== +//= Legionaire +//===== Current Version: ===================================== +//= 1.1a +//===== Compatible With: ===================================== +//= eAthena SVN that supports Ninjas +//===== Description: ========================================= +//= Semi-official Ninja Job Change script using dialogue from +//= Mandarin Aegis Ninja script. +//===== Additional Comments: ================================= +//= The dialouge isn't exactly the best available, but until +//= The official dialouge in English comes out, this is the +//= Best that I can do. +//= 1.1 Optimized, updated, checked [Lupus] +//============================================================ + + +que_ng.gat,30,65,3 script Cool Kid#nq 730,{ + set @npcname$,"[Cool Kid]"; + if(Class == Job_Novice && JobLevel > 9){ + switch(NINJ_Q){ + case 1: + mes @npcname$; + mes "Mmm... This isn't a pressing matter."; + mes "Though I hope you can do it soon."; + mes "Wildcat Zhao, he's over in"; + mes "Einbroch"; + close; + case 2: + mes @npcname$; + mes "Don't forget to get something from him."; + mes "Otherwise he'll forget."; + close; + case 3: + mes @npcname$; + mes "Did you bring it back?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Yup, right here."; + next; + mes @npcname$; + mes "Ohh, not bad"; + mes "Hand it over."; + mes "Let's see... Well."; + mes "- *letter opening sounds*... -"; + next; + mes "["+strcharinfo(0)+"]"; + mes "- He's intently reading -"; + mes "- the letter I brought back. -"; + next; + mes @npcname$; + mes "Ai YA~!! How can this be?!"; + mes "He rejected my offer of a ceasefire!!!"; + mes "Could it be... Could it be...!"; + mes "That he's already made another sword?..."; + next; + mes @npcname$; + mes "Ohhh, my head hurts now."; + mes "Hey, sorry to bother you again."; + mes "I need something to fight"; + mes "Zhao with,"; + mes "but I don't have the materials."; + next; + mes @npcname$; + mes "If you bring me the materials..."; + mes "I'll acknowledge you..."; + mes "And let you become a Ninja."; + mes "I need you to get me..."; + mes "One piece of Phracon."; + mes "and five cygar, quick, there's no time!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Aahh!!"; + mes "This is..."; + next; + mes @npcname$; + mes "Hmm, what's the matter?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "These items... Were the ones"; + mes "I promised to Mr. Zhao..."; + next; + mes @npcname$; + mes "WHAT?!!!"; + mes "Then the person helping him..."; + mes "IS!"; + mes "Aaahhh..."; + mes "Ai ya, you fool!!!!"; + next; + mes @npcname$; + mes "Oh.. Oh... Calm.. Must be calm."; + mes "Haha..."; + next; + mes @npcname$; + mes "Well, you've already promised to help me."; + mes "No point in arguing now..."; + mes "We can do that later."; + mes "Quick, gather the items."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Oh.. Oh.. Ok.."; + next; + mes @npcname$; + mes "Quick~~!!"; + mes "Aiii~"; + next; + mes "["+strcharinfo(0)+"]"; + mes "- I have to give him 1 Phracon... -"; + mes "- and 5 Cyfars -"; + set NINJ_Q,4; + close; + case 4: + mes @npcname$; + if(countitem(7053) < 4 || countitem(1010) < 1){ + mes "Bring me a Phracon"; + mes "and five cyfar"; + mes "Right now, you still don't have enough."; + mes "It's urgent.. So do it quickly."; + close; + } + if(getskilllv(1) < 9){ + mes "Come back once you have the basic skills..."; + close; + } + delitem 1010,1; + delitem 7035,1; + mes "Oh... you've brought it."; + mes "Let's see..."; + mes "Mmm~ so you've brought it all"; + mes "and followed my instructions."; + next; + mes @npcname$; + mes "Huu... This doesn't look too bad."; + mes "Better than I expected at least?"; + next; + mes @npcname$; + mes "Ok."; + mes "I'll follow through with the ritual"; + mes "and change you into a Ninja."; + next; + mes @npcname$; + mes "Well, I guess I can introduce myself to you now."; + mes "I am part of the Doga Ninja clan"; + mes "the top Ninja head in the clan."; + mes "I'm the squad leader of the team..."; + mes "trying to find our chief, Kazma"; + mes "So here I am."; + next; + mes @npcname$; + mes "Actually, there's been a bit of a distrubance"; + mes "amongst our ranks"; + mes "so actually, I didn't want you"; + mes "to join the clan"; + mes "at first."; + next; + mes @npcname$; + mes "But Zhao, in the letter..."; + mes "rate you pretty high, and you performed"; + mes "orders rather well,"; + mes "so I had a change of mind."; + next; + mes @npcname$; + mes "Being a Ninja is a solitary job."; + mes "We value our work above all"; + mes "but not to the point of fanaticism."; + next; + mes @npcname$; + mes "Your path will be one of hardship."; + mes "Many of us live within villages..."; + mes "Working away covertly."; + next; + mes @npcname$; + mes "Our techniques and our equipmnet..."; + mes "How to handle and use them..."; + mes "That is all done covertly"; + mes "As well, buying and selling..."; + mes "is also done via special means, so,"; + mes "be especially careful."; + next; + mes @npcname$; + mes "Well, from now on"; + mes "You're a member of the ..."; + mes "Doga Ninja Clan."; + next; + mes @npcname$; + mes "Speed, as that of the western wind."; + mes "Movement, like the falling leaf in that wind"; + mes "Soft!!!"; + next; + mes @npcname$; + mes "Haaa!!!!"; + next; + nude; + callfunc "Job_Change",Job_Ninja; + callfunc "F_ClearJobVar"; + getitem 13010,1; + close; + default: + mes "["+strcharinfo(0)+"]"; + mes "Hey."; + next; + mes @npcname$; + mes "Oh?..."; + mes "That's impossible~!!"; + mes "You can see me!"; + next; + mes @npcname$; + mes "Aaaahhh~!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "- Kick the man with the chopsticks. -"; + next; + mes "["+strcharinfo(0)+"]"; + mes "- Huu~! -"; + mes "Ahh~!"; + mes "Ahh~! What are you doing?!"; + next; + mes @npcname$; + mes "Oh?..."; + mes "You aren't an assassin trying to kill me."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Oh jeez... What did I get myself into."; + mes "This guy is nuts."; + mes "Hasn't even seen me and is throwing stuff around..."; + next; + mes @npcname$; + mes "ohohoh~! Anger, anger~~"; + mes "My forever rival... Forever hated enemy!"; + mes "Wildcat!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "........"; + next; + mes @npcname$; + mes "Ahah~~~!!!"; + mes "E~E~"; + mes "Pa! Pa! Pa~"; + next; + mes "["+strcharinfo(0)+"]"; + mes "- I'm right here... -"; + next; + mes @npcname$; + mes "Mmm..."; + mes "Oh! Who are you?!"; + mes "When did you suddenly appear"; + mes "beside me!"; + mes "Here, TAKE THIS!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Augh...~"; + mes "Jeez, can't you stop..."; + mes "What are you doing now.."; + next; + mes @npcname$; + mes "Ohoho..."; + mes "Not bad, not bad~"; + mes "You managed to dodge my attacks..."; + next; + mes "["+strcharinfo(0)+"]"; + mes "- What.. Is wrong with him... -"; + mes "- Not listening to me at all. -"; + next; + mes @npcname$; + mes "mmm~ok~"; + mes "Well, why did you come find me?"; + mes "What do you need?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "........."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Oh...mm..."; + mes "Right."; + mes "I want to become a Ninja."; + next; + mes @npcname$; + mes "Ok, great, perfect..."; + mes "BUT!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "....."; + next; + mes @npcname$; + mes "It's not that simple."; + next; + mes "["+strcharinfo(0)+"]"; + mes "... What now~"; + next; + mes @npcname$; + mes "I still have no trust in you."; + mes "In my opinion, you have no experience."; + mes "You'll have trouble becoming a Ninja."; + next; + mes @npcname$; + mes "So..."; + mes "You should!!!Go home~!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "..........."; + next; + mes @npcname$; + mes "Mmm..."; + mes "Right!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "..........."; + next; + mes @npcname$; + mes "Well, if you aren't deaf, leave."; + mes "You've seen it for yourself, I'm a busy fellow."; + mes "Aahh..."; + next; + mes @npcname$; + mes "My opponents are everywhere..."; + mes "I cannot afford to waste time!"; + next; + mes @npcname$; + mes "Well now, I've got to run"; + mes "You know, for practice and all."; + mes "*prepares to leave*"; + next; + mes @npcname$; + mes "I shall win next time!"; + mes "Wait for me."; + mes "Wildcat Zhao!"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Wildcat... Zhao?"; + mes "You're fighting a cat?"; + next; + mes @npcname$; + mes "Uhh..? Oh that, hahaha~"; + mes "Wildcat Zhao is that fellow's..."; + mes "title."; + next; + mes @npcname$; + mes "He's a vicious and barbaric fellow."; + mes "For victory..."; + mes "He'll use any method."; + next; + mes @npcname$; + mes "His ninjutsu"; + mes "is also a bit too strong..."; + next; + mes @npcname$; + mes "Right now, both of our"; + mes "shuriken and scrolls..."; + mes "are still in repair, so,"; + mes "we're temporarily calling it a break."; + next; + mes @npcname$; + mes "If you really..."; + mes "Want to become a Ninja."; + mes "Wanna help me out?"; + mes "If you help me..."; + mes "I probably won't be able to make you a Ninja"; + mes "But I'll teach you several skills?"; + next; + if(select("Sure.:Reject.") == 2){ + mes "["+strcharinfo(0)+"]"; + mes "I'm not here to help"; + mes "Just looking for someone to teach me the skills."; + mes "Sorry."; + mes "Find somebody else."; + next; + mes @npcname$; + mes "Oh... I see..."; + mes "Ok then."; + mes "Sorry if I offended you."; + mes "You may leave now."; + close; + } + mes "["+strcharinfo(0)+"]"; + mes "Mm... Ok then."; + next; + mes @npcname$; + mes "Ok..great."; + mes "Bring this letter"; + mes "Over to Wildcat Zhao"; + mes "Grr... That fellow."; + next; + mes @npcname$; + mes "It basically says..."; + mes "Let's have a ceasefire"; + mes "While our equipment is being fixed."; + mes "You must get a reply from him."; + next; + mes @npcname$; + mes "I heard he's somewhere..."; + mes "in Einbroch..."; + mes "Don't know."; + mes "What's he doing over there?"; + mes "..."; + next; + mes @npcname$; + mes "Zhao..."; + mes "He changes his appearance..."; + mes "So check everybody, since you won't know who he is."; + next; + mes @npcname$; + mes "Don't give up though."; + mes "He likes high places."; + mes "Search around."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ok~"; + mes "Ok."; + set NINJ_Q,1; + close; + } + }else if(Class == Job_Novice && JobLevel < 10){ + mes @npcname$; + mes "Not enough training."; + mes "Come back later."; + close; + } + mes @npcname$; + if(Class == Job_Ninja){ + mes "Mm... How's it been?"; + mes "Missions can happen at any moment"; + mes "At any time"; + mes "Don't slack off"; + close; + } + mes "Oh what, this smell!!"; + mes "It's coming from you!."; + mes "It's been a long time since I've"; + mes "smelled anybody so stinky."; + mes "Away with you!"; + close; +} + +einbroch.gat,184,194,3 script Exceptional Man 881,{ + if(NINJ_Q >= 3 || Class == Job_Ninja) + set @npcname$,"[Red Cougar Zhao]"; + else + set @npcname$,"[Exceptional Man]"; + if(!NINJ_Q){ + mes @npcname$; + if(Class == Job_Ninja){ + mes "Oh, you're a Ninja now."; + mes "Stay true to the path, though there..."; + mes "may be difficulties ahead, remember..."; + mes "train hard."; + close; + } + mes "Whoo... So happy."; + mes "I've been to many places."; + mes "But a building this tall..."; + mes "First time I've seen it, and the scenery is beautiful too."; + mes "Really too sad that I don't have the time to admire it"; + mes "*sighs*"; + close; + } + switch(NINJ_Q){ + case 1: + mes @npcname$; + mes "The place I lived in..."; + mes "was peaceful, the air was good, the houses were small"; + mes "but warm."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Oh, it can't be!"; + mes "Amatsu?!!!"; + next; + mes @npcname$; + mes "Nope."; + mes "...."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Mmm~"; + mes "Wait..."; + mes "You've lived in Izlude before?"; + next; + mes @npcname$; + mes "Yes."; + mes "I come from Izlude."; + next; + mes @npcname$; + mes "Due to certain events though..."; + mes "I've come here, to the mines."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Really..."; + mes "Oh, do you know a person called.... Wildcat Zhao?"; + mes "He's a Ninja from Amatsu"; + next; + mes @npcname$; + mes "Hmm that's the first time I've heard that name."; + mes "You have some important reason.."; + mes "to meet him?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Yes, I have a latter to give him"; + mes "and I need a reply letter"; + mes "before I can change class"; + mes "and become a Ninja."; + next; + mes @npcname$; + mes "Mm.. So I see, you too, are a traveller."; + next; + mes @npcname$; + mes "Oh, I remember now"; + mes "I think... I know"; + mes "Who you're trying to find."; + next; + mes @npcname$; + mes "I saw him here"; + mes "or at least... I think I did."; + next; + mes @npcname$; + mes "I'd really like to help you"; + mes "but I still have..."; + mes "some unfinished business."; + next; + mes @npcname$; + mes "If you can help me do something"; + mes "I'll help you find him."; + next; + if(select("I'll find him myself.:Ok, I'll help you.") == 1){ + mes @npcname$; + mes "Ahh ok."; + mes "I understand."; + mes "Well, good luck"; + mes "if you ever are in"; + mes "need of help."; + mes "Before I leave"; + mes "tell me..."; + close; + }else{ + mes @npcname$; + mes "Mm Ok."; + mes "I came here"; + mes "to find some ores."; + mes "I have something that needs these ores"; + mes "in order to work"; + next; + mes @npcname$; + mes "I would come with you...."; + mes "But I need to watch over this, so."; + mes "If you can get me five Cyfars, and"; + mes "one Phracon..."; + mes "I would really appreciated it."; + next; + mes "["+strcharinfo(0)+"]"; + mes "- I need to bring, one Phracon and five Cyfars. -"; + set NINJ_Q,2; + close; + } + case 2: + if(countitem(1010) < 1 || countitem(7053) < 5){ + mes @npcname$; + mes "1 Phracon and 5 Cyfars."; + mes "Hmm the amount isn't enough."; + mes "Even though there's no hurry, still,"; + mes "bring back the correct amount."; + close; + } + mes @npcname$; + mes "Very good, very good.."; + mes "Mmm.... Ok."; + mes "You've given me what I needed"; + mes "now I need to help you in return"; + mes "and find him. Mmm...."; + next; + mes @npcname$; + mes "Let me see the letter."; + next; + mes "["+strcharinfo(0)+"]"; + mes "?????!!"; + next; + mes @npcname$; + mes "Oh? Can it be him..."; + mes "that sent it?"; + next; + mes "["+strcharinfo(0)+"]"; + mes "Oh.... So you are"; + mes "Wildcat~!"; + next; + mes @npcname$; + mes "No."; + mes "My name is not Wildcat Zhao"; + mes "It is Cougar Zhao."; + mes "Wildcat is the name that kid"; + mes "uses in order"; + mes "to aggravate me, haha."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Hahaha... ~~"; + next; + set @npcname$,"[Red Cougar Zhao]"; + mes @npcname$; + mes "If you want to become a Ninja"; + mes "then you must not trust"; + mes "what you see."; + next; + mes @npcname$; + mes "The clothing and gear you see in books."; + mes "Is not used by real Ninjas"; + mes "or rather, there are very few"; + mes "who wear such things."; + next; + mes @npcname$; + mes "Do not forget."; + mes "Once the identity of a Ninja"; + mes "has been revealed, his life is"; + mes "forfeit."; + next; + mes @npcname$; + mes "Even right now"; + mes "what I say and tell you"; + mes "may not be the truth."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Ohh..."; + mes "..........."; + next; + mes @npcname$; + mes "Well, can I see it?"; + mes "That letter."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Oh ok."; + mes "Hmm."; + mes "-*Takes out letter*-"; + next; + mes @npcname$; + mes "Mmmm.. Let's see..."; + mes "Oh, and here, I thought it would be"; + mes "another declaration of battle."; + mes "He wants a ceasfire now."; + next; + mes @npcname$; + mes "What to do, what to do."; + mes "You've already helped me"; + mes "make another sword."; + mes "Haha~"; + next; + mes @npcname$; + mes "I'll write a reply I guess."; + mes "From my point of view though"; + mes "based on the speed that you got what I asked for"; + mes "if you want to become a Ninja"; + mes "learn to become a bit faster"; + mes "and more experienced"; + next; + mes "["+strcharinfo(0)+"]"; + mes "....."; + next; + mes @npcname$; + mes "Wait."; + mes "I shall write a reply letter."; + mes "Let's see..."; + mes "Mm...*slides letter in*......"; + next; + mes @npcname$; + mes "Here you go."; + mes "Give it to him"; + mes "and he'll understand."; + next; + mes "["+strcharinfo(0)+"]"; + mes "- Good, got the letter -"; + mes "- that Mr. Zhao wrote in a second. -"; + next; + mes @npcname$; + mes "Well now, be on your way."; + mes "If you want to become a Ninja"; + mes "learn to treasure what time you have."; + next; + mes @npcname$; + mes "When you do become a Ninja"; + mes "Come have a chat with me"; + mes "I will be waiting for you."; + next; + mes "["+strcharinfo(0)+"]"; + mes "Mmm.... Then I'll...."; + next; + mes @npcname$; + mes "Ohh.... It'll take awhile to get to Amatsu"; + mes "definitely a long trip."; + mes "I'll take "+strcharinfo(0)+" to Amatasu."; + mes "Ok."; + delitem 1010,1; + delitem 7053,5; + set NINJ_Q,3; + close2; + warp "amatsu.gat",113,127; + end; + case 3: + mes @npcname$; + mes "Hmmm I wonder what happened"; + mes "you haven't seen him yet"; + mes "why are you here?"; + next; + mes @npcname$; + mes "If you want"; + mes "I'll take you back to Amatsu."; + next; + if(select("No thanks.:Sure.") == 1){ + mes @npcname$; + mes "Mm, ok then."; + mes "The decision is yours to make."; + close; + } + mes @npcname$; + mes "Ok. Then I'll take you to Amatsu."; + close2; + warp "amatsu.gat",113,127; + end; + case 4: + mes @npcname$; + mes "Haha, the kid seems to order you"; + mes "to do lots of bothersome chores."; + mes "Work hard, all of these tasks"; + mes "will help you become a Ninja."; + close; + } }
\ No newline at end of file diff --git a/npc/jobs/novice/novice.txt b/npc/jobs/novice/novice.txt index a48ac87d9..90267adfc 100644 --- a/npc/jobs/novice/novice.txt +++ b/npc/jobs/novice/novice.txt @@ -132,8 +132,6 @@ new_zone01.gat,53,114,4 script Shion 727,{ mes "I feel so bad.";
set NEW_MES_FLAG0,2;
close;
- default:
- end;
}
case 1: mes "[Shion]";
mes "Huh...?";
@@ -329,8 +327,6 @@ L_loop: mes "I understand.";
mes "Please, take your time.";
close;
- default:
- end;
}
goto L_loop;
@@ -421,8 +417,6 @@ new_zone02.gat,99,105,4 script Interfaces Instructor 751,{ end;
case 3: emotion e_swt2;
close;
- default:
- end;
}
}
if (!(NEW_MES_FLAG2)) {
@@ -456,8 +450,7 @@ new_zone02.gat,99,105,4 script Interfaces Instructor 751,{ warp "new_zone02.gat",28,178;
end;
}
- default:
- emotion e_swt2;
+ case 3: emotion e_swt2;
close;
}
}
@@ -493,8 +486,7 @@ new_zone02.gat,99,105,4 script Interfaces Instructor 751,{ warp "new_zone02.gat",28,178;
end;
}
- default:
- emotion e_swt2;
+ case 3: emotion e_swt2;
close;
}
}
@@ -543,8 +535,6 @@ new_zone02.gat,99,105,4 script Interfaces Instructor 751,{ mes "I hope that you are blessed wherever you go.";
mes "Good luck.";
close;
- default:
- end;
}
}
@@ -633,8 +623,6 @@ new_zone02.gat,83,111,4 script Skill Instructor 753,{ close;
case 2: goto L_battle;
case 3: emotion e_omg;
- default:
- end;
}
close;
}
@@ -656,8 +644,6 @@ new_zone02.gat,83,111,4 script Skill Instructor 753,{ close;
case 2: goto L_battle;
case 3: emotion e_omg;
- default:
- end;
}
close;
}
@@ -680,8 +666,6 @@ new_zone02.gat,83,111,4 script Skill Instructor 753,{ break;
case 2: goto L_battle;
case 3: emotion e_omg;
- default:
- end;
}
close;
}
@@ -736,8 +720,6 @@ new_zone02.gat,83,111,4 script Skill Instructor 753,{ mes "Why don't you hurry up to meet";
mes "her?";
close;
- default:
- end;
}
end;
L_battle:
@@ -1011,7 +993,6 @@ new_zone02.gat,118,108,4 script Kafra Employee 94,{ warp "new_zone02.gat",28,178;
end;
}
- if(@menu > 6 || @menu == 0) end;
set @menu,@menu-1;
} else {
menu "Prontera",-,"Morroc",-,"Payon",-,"Alberta",-,"Geffen",-;
@@ -1066,11 +1047,8 @@ new_zone02.gat,118,108,4 script Kafra Employee 94,{ savepoint "geffen.gat",118,37;
warp "geffen.gat",121,65;
end;
- default:
- end;
}
} else {
- if(@menu > 2) end;
mes "[Kafra Employee]";
mes "Let me introduce you";
mes "to the Kafra Services.";
@@ -1161,8 +1139,6 @@ L_loop: mes "I hope you are satisfied with my";
mes "explanation about the Kafra corporation.";
close;
- default:
- end;
}
goto L_loop;
}
@@ -1343,8 +1319,6 @@ L_loop: case 6: mes "[Edwin]";
mes "Feel free to ask me anytime.";
close;
- default:
- end;
}
goto L_loop;
}
@@ -1589,8 +1563,6 @@ L_loop: mes "I hope my class was helpful to you.";
mes "I really hope so.";
close;
- default:
- end;
}
goto L_loop;
}
@@ -1897,9 +1869,6 @@ L_loop1: next;
mes "[Pitch Judas]";
mes "Do you wish to learn about a different subject?";
- break;
- default:
- end;
}
if ( @menu != 5 ) goto L_loop1;
break;
@@ -2132,8 +2101,6 @@ new_zone02.gat,17,182,6 script Helper#2 84,{ case 4: mes "[Elmeen]";
mes "Feel free to ask me if you have any questions.";
close;
- default:
- end;
}
goto L_loop;
} else {
@@ -2157,8 +2124,6 @@ L_loop1: break;
case 5: callsub L_equip;
close;
- default:
- end;
}
goto L_loop1;
end;
@@ -2630,8 +2595,6 @@ L_loop: mes "Hanson is waitinging for you now,";
mes "good luck out there.";
close;
- default:
- end;
}
set NEW_MES_FLAG6,1;
goto L_loop;
@@ -2746,7 +2709,6 @@ L_cancel: }
end;
}
- if(@menu > 2 || @menu < 1) end;
mes "[Hanson]";
mes "Excellent choice! You're";
mes "You're supposed to take every";
@@ -2780,38 +2742,32 @@ L_cancel: case 2: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;
set NOV_3_THIEF,NOV_3_THIEF+1;break;
case 3: set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;break;
- case 4: set NOV_3_THIEF,NOV_3_THIEF+1;break;
- default: end;
+ case 4: set NOV_3_THIEF,NOV_3_THIEF+1;
}
switch ( select("Change","Conserve") ) {
case 1: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;break;
- case 2: set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;break;
- default: end;
+ case 2: set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;
}
switch ( select("Consumer","Seller","Producer") ) {
case 1: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;
set NOV_3_THIEF,NOV_3_THIEF+1;
set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;break;
case 2: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;break;
- case 3: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;break;
- default: end;
+ case 3: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;
}
switch ( select("Celebrity","Prudence") ) {
case 1: set NOV_3_THIEF,NOV_3_THIEF+1;break;
- case 2: set NOV_3_ARCHER,NOV_3_ARCHER+1;break;
- default: end;
+ case 2: set NOV_3_ARCHER,NOV_3_ARCHER+1;
}
switch ( select("Theory","Experience") ) {
case 1: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;break;
- case 2: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;break;
- default: end;
+ case 2: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;
}
switch ( select("The past","The reality","The future") ) {
case 1: set NOV_3_ARCHER,NOV_3_ARCHER+1;break;
case 2: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;
set NOV_3_THIEF,NOV_3_THIEF+1;break;
- case 3: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;break;
- default: end;
+ case 3: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;
}
mes "[Hanson]";
mes "Please answer with 'yes' or 'no' to";
@@ -2823,8 +2779,7 @@ L_cancel: switch ( select("Yes.","No") ) {
case 1: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;break;
case 2: set NOV_3_THIEF,NOV_3_THIEF+1;
- set NOV_3_MERCHANT,NOV_3_MERCHANT+1;break;
- default: end;
+ set NOV_3_MERCHANT,NOV_3_MERCHANT+1;
}
mes "[Hanson]";
mes "You are often upset to see someone";
@@ -2832,8 +2787,7 @@ L_cancel: next;
switch ( select("Yes","No") ) {
case 1: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;break;
- case 2:set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;break;
- default: end;
+ case 2:set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;
}
mes "[Hanson]";
mes "You don't mind exploring dangerous";
@@ -2841,16 +2795,14 @@ L_cancel: next;
switch ( select("Yes","No") ) {
case 1: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;break;
- case 2: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;break;
- default: end;
+ case 2: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;
}
mes "[Hanson]";
mes "You are a leader-type person.";
next;
switch ( select("Yes","No") ) {
case 1: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;break;
- case 2: set NOV_3_ARCHER,NOV_3_ARCHER+1;break;
- default: end;
+ case 2: set NOV_3_ARCHER,NOV_3_ARCHER+1;
}
mes "[Hanson]";
mes "While exploring a dungeon, you";
@@ -2866,8 +2818,7 @@ L_cancel: next;
switch ( select("Yes","No") ) {
case 1: set NOV_3_THIEF,NOV_3_THIEF+1;break;
- case 2: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;break;
- default: end;
+ case 2: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;
}
mes "[Hanson]";
mes "You often see things that don't";
@@ -2875,8 +2826,7 @@ L_cancel: next;
switch ( select("Yes","No") ) {
case 1: set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;break;
- case 2: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;break;
- default: end;
+ case 2: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;
}
mes "[Hanson]";
mes "You feel you can fly";
@@ -2884,16 +2834,14 @@ L_cancel: next;
switch ( select("Yes","No") ) {
case 1: set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;break;
- case 2: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;break;
- default: end;
+ case 2: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;
}
mes "[Hanson]";
mes "Money talks. I can buy even human being if I want.";
next;
switch ( select("Yes","No") ) {
case 1: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;break;
- case 2: set NOV_3_ARCHER,NOV_3_ARCHER+1;break;
- default: end;
+ case 2: set NOV_3_ARCHER,NOV_3_ARCHER+1;
}
mes "[Hanson]";
mes "Now, let me give you some different";
@@ -2912,8 +2860,7 @@ L_cancel: case 2: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;
set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;break;
case 3: set NOV_3_ARCHER,NOV_3_ARCHER+1;
- set NOV_3_MERCHANT,NOV_3_MERCHANT+1;break;
- default: end;
+ set NOV_3_MERCHANT,NOV_3_MERCHANT+1;
}
mes "[Hanson]";
mes "During window shopping, you found a";
@@ -2926,8 +2873,7 @@ L_cancel: switch ( select("Think about if you need it.","Check the price.","Buy it without thinking twice...!") ) {
case 1: set NOV_3_ARCHER,NOV_3_ARCHER+1;break;
case 2: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;break;
- case 3: set NOV_3_THIEF,NOV_3_THIEF+1;break;
- default: end;
+ case 3: set NOV_3_THIEF,NOV_3_THIEF+1;
}
mes "[Hanson]";
mes "You (____Fill in blank___) to compete";
@@ -2937,8 +2883,7 @@ L_cancel: case 1: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;break;
case 2: set NOV_3_THIEF,NOV_3_THIEF+1;break;
case 3: set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;
- set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;break;
- default: end;
+ set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;
}
mes "[Hanson]";
mes "You're responsible for a task that";
@@ -2953,8 +2898,7 @@ L_cancel: next;
switch ( select("Handle it by myself even if it's hard.","Ask friends to help.") ) {
case 1: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;break;
- case 2: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;break;
- default: end;
+ case 2: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;
}
mes "[Hanson]";
mes "You happened to find a girl who";
@@ -2967,8 +2911,7 @@ L_cancel: set NOV_3_ARCHER,NOV_3_ARCHER+1;break;
case 3: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;
set NOV_3_THIEF,NOV_3_THIEF+1;
- set NOV_3_MERCHAN,NOV_3_MERCHAN+1;break;
- default: end;
+ set NOV_3_MERCHAN,NOV_3_MERCHAN+1;
}
mes "[Hanson]";
mes "You happened to pick up";
@@ -2979,8 +2922,7 @@ L_cancel: case 1: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;break;
case 2: set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;break;
case 3: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;break;
- case 4: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;break;
- default: end;
+ case 4: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;
}
mes "[Hanson]";
mes "You happened to slip your tongue in";
@@ -2991,8 +2933,7 @@ L_cancel: case 1: set NOV_3_THIEF,NOV_3_THIEF+1;break;
case 2: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;break;
case 3: set NOV_3_MAGICIAN,NOV_3_MAGICIAN+1;break;
- case 4: set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;break;
- default: end;
+ case 4: set NOV_3_ACOLYTE,NOV_3_ACOLYTE+1;
}
mes "[Hanson]";
switch (Sex) {
@@ -3012,8 +2953,7 @@ L_cancel: switch ( select("Buy the item for her/him.","Say 'no'.","Promise to buy it next time.") ) {
case 1: set NOV_3_SWORDMAN,NOV_3_SWORDMAN+1;break;
case 2: set NOV_3_MERCHANT,NOV_3_MERCHANT+1;break;
- case 3: set NOV_3_THIEF,NOV_3_THIEF+1;break;
- default: end;
+ case 3: set NOV_3_THIEF,NOV_3_THIEF+1;
}
mes "[Hanson]";
mes "Ok!! That's all for the test.";
@@ -3176,8 +3116,7 @@ L_loop2: getitem 1504,1;
break;
case 5: mes "1 Battle Axe";
- getitem 1351,1;break;
- default: end;
+ getitem 1351,1;
}
if( @JOB_NUMBER_CHK == 5 ){
mes "^0000304 Free Tickets for Kafra Storage";
@@ -3257,8 +3196,7 @@ L_loop2: set @JOB_NAME$,"Archer";
break;
case 5: set @JOB_NUMBER_CHK,4;
- set @JOB_NAME$,"Acolyte";break;
- default: end;
+ set @JOB_NAME$,"Acolyte";
}
break;
case 1: switch( select("Swordsman","Mage","Merchant","Thief","Acolyte") ) {
@@ -3275,8 +3213,7 @@ L_loop2: set @JOB_NAME$,"Thief";
break;
case 5: set @JOB_NUMBER_CHK,4;
- set @JOB_NAME$,"Acolyte";break;
- default: end;
+ set @JOB_NAME$,"Acolyte";
}
break;
case 2: switch( select("Swordsman","Mage","Merchant","Archer","Acolyte") ) {
@@ -3293,8 +3230,7 @@ L_loop2: set @JOB_NAME$,"Archer";
break;
case 5: set @JOB_NUMBER_CHK,4;
- set @JOB_NAME$,"Acolyte";break;
- default: end;
+ set @JOB_NAME$,"Acolyte";
}
break;
case 3: switch( select("Swordsman","Merchant","Thief","Archer","Acolyte") ) {
@@ -3311,8 +3247,7 @@ L_loop2: set @JOB_NAME$,"Archer";
break;
case 5: set @JOB_NUMBER_CHK,4;
- set @JOB_NAME$,"Acolyte";break;
- default: end;
+ set @JOB_NAME$,"Acolyte";
}
break;
case 4: switch( select("Swordsman","Mage","Merchant","Thief","Archer") ) {
@@ -3329,8 +3264,7 @@ L_loop2: set @JOB_NAME$,"Thief";
break;
case 5: set @JOB_NUMBER_CHK,1;
- set @JOB_NAME$,"Archer";break;
- default: end;
+ set @JOB_NAME$,"Archer";
}
break;
case 5: switch( select("Swordsman","Mage","Thief","Archer","Acolyte") ) {
@@ -3347,8 +3281,7 @@ L_loop2: set @JOB_NAME$,"Archer";
break;
case 5: set @JOB_NUMBER_CHK,4;
- set @JOB_NAME$,"Acolyte";break;
- default: end;
+ set @JOB_NAME$,"Acolyte";
}
}
mes "[Hanson]";
diff --git a/npc/merchants/kunai_maker.txt b/npc/merchants/kunai_maker.txt index 3f2eae55c..f836befdf 100644 --- a/npc/merchants/kunai_maker.txt +++ b/npc/merchants/kunai_maker.txt @@ -38,7 +38,6 @@ switch(select("10 Poison Kunais:10 Icycle Kunais:10 Rough Wind Kunais:10 Black S callfunc "Kunai_Trade",13254,1,7521,2,13258;
goto L_Bye;
case 6:
- case 255:
goto L_Bye;
}
L_Bye:
@@ -91,7 +90,6 @@ function script Kunai_Trade { next;
return;
case 2:
- case 255:
return;
}
L_Return:
diff --git a/npc/merchants/novice_exchange.txt b/npc/merchants/novice_exchange.txt index aed369124..6c2dda72b 100644 --- a/npc/merchants/novice_exchange.txt +++ b/npc/merchants/novice_exchange.txt @@ -134,8 +134,6 @@ function script F_NMerch { mes "Hah, no problem.";
mes "Bah!";
close;
- case 255:
- end;
}
}
diff --git a/npc/merchants/refine.txt b/npc/merchants/refine.txt index 5f3922984..1ea743dc3 100644 --- a/npc/merchants/refine.txt +++ b/npc/merchants/refine.txt @@ -798,13 +798,12 @@ function script repairmain { getitemname(getbrokenid(3)),getitemname(getbrokenid(4)),getitemname(getbrokenid(5)),
getitemname(getbrokenid(6)),getitemname(getbrokenid(7)),getitemname(getbrokenid(8)),
getitemname(getbrokenid(9)),getitemname(getbrokenid(10)));
- if(@choice == 255) end;
mes "[" + @name$ + "]";
mes "You're gonna repair " + getitemname(getbrokenid(@choice)) + ".";
mes "To repair this, I need " + @repairprice + " Zeny.";
mes "Continue?";
next;
- if(select("Yes","No") == 2 || @menu == 255) {
+ if(select("Yes","No") == 2) {
mes "[" + @name$ + "]";
mes "Ok, but don't expect to be using that...";
close;
diff --git a/npc/other/comodo_gambling.txt b/npc/other/comodo_gambling.txt index f9cbd557b..9412810e1 100644 --- a/npc/other/comodo_gambling.txt +++ b/npc/other/comodo_gambling.txt @@ -124,8 +124,6 @@ comodo.gat,219,160,3 script Kachua 91,{ set @item,512;
switch( select( "Weapon", "Armor", "Garment", "Helmet", "Shoes", "Shield" ) )
{
- case 255:
- end;
case 1: // Weapons
set @gamble,rand(1,1000);
if ((@gamble > 920) && (@gamble < 931))
diff --git a/npc/other/dts_warper.txt b/npc/other/dts_warper.txt index 31d38bba2..f7f71d9c2 100644 --- a/npc/other/dts_warper.txt +++ b/npc/other/dts_warper.txt @@ -824,13 +824,17 @@ function script F_DTS_Warp { next;
switch(select(@dtswarp$[0],@dtswarp$[1],@dtswarp$[2],@dtswarp$[3])){
case 1:
+ set @num, 0;
+ break;
case 2:
+ set @num, 1;
+ break;
case 3:
+ set @num, 2;
+ break;
case 4:
- set @num, @menu - 1;
+ set @num, 3;
break;
- default:
- end;
}
Lwarp:
if (@dtswarp$[@num] == "Cancel") goto Lcancel;
diff --git a/npc/other/marriage.txt b/npc/other/marriage.txt index 35571a1ae..200968bb2 100644 --- a/npc/other/marriage.txt +++ b/npc/other/marriage.txt @@ -215,8 +215,6 @@ function SF_AcceptGroom { mes "["+@name$+"]";
mes "After your groom approves, you will be given your rings, the ceremony will begin and you will be officially married.";
close;
- default:
- end;
}
}
@@ -250,8 +248,6 @@ function SF_AcceptBride { mes "["+@name$+"]";
mes "After your bride approves, you will be given your rings, the ceremony will begin and you will be officially married.";
close;
- default:
- end;
}
}
@@ -482,8 +478,6 @@ prt_church.gat,106,99,3 script Sister Mary 67,{ case 4: //Register
SF_Register();
break;
- default:
- end;
}
} while (@menu > 1);
end;
@@ -879,8 +873,6 @@ prt_church.gat,94,99,4 script Sister Lisa 79,{ initnpctimer;
mes "Very well, get your partner to confirm, and I will collect the fee for filing the divorce then.";
close;
- default:
- end;
}
} while (@menu > 1);
end;
@@ -902,7 +894,7 @@ function SF_InProgress { mes $@divorcer$+" has asked to divorce you. If you accept, and have the fee of "+$@wed_divorce_fee+"z at hand, I will proceed to divorce you two.";
mes "So, should I proceed with the divorce?";
next;
- if (select("I don't want to divorce....", "Yes, we have agreed to this.") !=2) {
+ if (select("I don't want to divorce....","Yes, we have agreed to this.")!=2) {
mes "["+@name$+"]";
mes "I hope you can work things out.";
emotion e_pat;
diff --git a/npc/other/powernpc.txt b/npc/other/powernpc.txt index 5785d1201..94539780e 100644 --- a/npc/other/powernpc.txt +++ b/npc/other/powernpc.txt @@ -110,7 +110,6 @@ gonryun.gat,180,118,4 script Iron man#gnp 85,{ mes "something new. Wanna try??";
break;
case 3:
- case 255:
mes "[Songmoodoo]";
mes "I guess not..";
mes "....";
@@ -165,7 +164,7 @@ gon_test.gat,50,14,4 script Administrator#gnp 780,{ mes "Remember, you have to pay";
mes "500z to fight.";
next;
- if (select("Yes, let me fight!:One moment, please.") != 1) {
+ if (select("Yes, let me fight!:One moment, please.") == 2) {
mes "[Administrator]";
mes "Ok, see you later.";
close;
@@ -200,15 +199,11 @@ gon_test.gat,42,89,4 script Summoner#gnp 774,{ mes "Which monster would you recall?";
next;
set @gnpGroup,select("Group 1:Group 2:Group 3:Group 4:Group 5:Group 6:Group 7:Group 8:Group 9:Group 10:Group 11");
- if(@gnpGroup > 11 || @gnpGroup < 1)
- end;
set @gnpGroupMob$,.gnpMobsName$[(@gnpGroup-1)*6];
for (set @i,1; @i < 6; set @i, @i+1) {
set @gnpGroupMob$, @gnpGroupMob$ + ":" + .gnpMobsName$[(@gnpGroup-1)*6 + @i];
}
set @gnpMob,select(@gnpGroupMob$);
- if(@gnpMob > 6 || @gnpMob < 1)
- end;
mes "[SongYeunWoo]";
mes "Let the fight begin!";
close2;
@@ -310,7 +305,6 @@ gon_test.gat,46,14,3 script Guide of field of fight#gnp 770,{ warp "gonryun.gat",177,112;
end;
case 5:
- case 255:
mes "[SongHeeYeon]";
mes "........";
mes "Good bye..";
diff --git a/npc/quests/Lvl4_weapon_quest.txt b/npc/quests/Lvl4_weapon_quest.txt index d99868e1e..b3183c526 100644 --- a/npc/quests/Lvl4_weapon_quest.txt +++ b/npc/quests/Lvl4_weapon_quest.txt @@ -150,9 +150,7 @@ L4_0_1: mes "By the way, don't you want to know how evil the city of the dead will be?";
mes "I do since that city influences so much of this village";
mes "with it's mysterious power, you know.";
- break;
- default:
- end;
+ break;
}
close;
diff --git a/npc/quests/gunslinger_quests.txt b/npc/quests/gunslinger_quests.txt index ef769dc87..cb2823a88 100644 --- a/npc/quests/gunslinger_quests.txt +++ b/npc/quests/gunslinger_quests.txt @@ -95,9 +95,6 @@ que_ng.gat,182,85,3 script Mr.Garrison 109,{ mes "will never part from his";
mes "favorite gun, heh.";
close;
-
- default:
- end;
}
L_Slot:
@@ -165,8 +162,6 @@ L_Slot: mes "Okay, come back when you";
mes "changed your mind.";
close;
- default:
- end;
}
L_Already:
@@ -252,8 +247,6 @@ que_ng.gat,187,163,3 script Ingrid 744,{ mes "Probably a good choice.";
mes "It's really dangerous.";
close;
- default:
- end;
}
}
@@ -329,8 +322,6 @@ que_ng.gat,185,180,3 script Vanessa 726,{ mes @npcname$;
mes "Oh well, your loss.";
close;
- default:
- end;
}
}
@@ -410,7 +401,5 @@ que_ng.gat,149,178,5 script N.A 744,{ mes @npcname$;
mes "Oh well, your loss.";
close;
- default:
- end;
}
}
\ No newline at end of file diff --git a/npc/quests/quests_ein.txt b/npc/quests/quests_ein.txt index 75eedb1e1..7d0421bc7 100644 --- a/npc/quests/quests_ein.txt +++ b/npc/quests/quests_ein.txt @@ -213,8 +213,6 @@ ein_in01.gat,231,163,1 script Sick Old Man 849,6,6,{ mes "you'll figure something out.";
set Shinokas_Quest,7;
close;
- default:
- end;
}
}
}
@@ -343,8 +341,6 @@ ein_in01.gat,231,163,1 script Sick Old Man 849,6,6,{ if(@shinqst2)set @shinqst2,0;
next;
break;
- default:
- end;
}
}
@@ -594,14 +590,11 @@ einbroch.gat,51,52,1 script lab_warp 45,2,2{ mes "the security system";
mes "will initiate lockout.";
close;
- case 255:
case 3: //cancel
mes "[Security System]";
mes "You have canceled";
mes "the ID security check.";
close;
- default:
- end;
}
//ID check:
mes "[Security System]";
@@ -770,7 +763,7 @@ ein_in01.gat,254,35,1 script Scientist 749,{ mes "..............";
mes "*Grumble grumble*";
next;
- if(select("What's wrong?:Catch you later.")!=1){
+ if(select("What's wrong?:Catch you later.")==2){
mes "[Scientist]";
mes "Right.";
mes "Yeah.";
@@ -949,7 +942,7 @@ L_Apples: mes "Hahaha! Th-thank you~";
mes "^111111*Hic-hic-hiccup!*^000000";
next;
- if(select("So what was that about Ymir's Heart?:Hehe, you're welcome.")!=1){
+ if(select("So what was that about Ymir's Heart?:Hehe, you're welcome.")==2){
mes "[Drunken Man]";
mes "Hahahaha!";
mes "You're great!";
diff --git a/npc/quests/quests_umbala.txt b/npc/quests/quests_umbala.txt index eb783eaa7..b4a539b81 100644 --- a/npc/quests/quests_umbala.txt +++ b/npc/quests/quests_umbala.txt @@ -695,8 +695,6 @@ um_in.gat,44,71,2 script Utan Tribe Shaman 782,{ set .@gain,992;
}
break;
- default:
- end;
}
if(.@need == 0) {
next;
@@ -835,8 +833,6 @@ um_in.gat,44,71,2 script Utan Tribe Shaman 782,{ set .@gain,992;
}
break;
- default:
- end;
}
next;
if(.@need == 0) {
@@ -916,13 +912,10 @@ um_in.gat,44,71,2 script Utan Tribe Shaman 782,{ mes "good use.";
close;
case 3:
- case 255:
mes "[Putsuchiritan]";
mes "If you don't wish my help at the moment,";
mes "that's fine. When you do, please come";
mes "by again.";
close;
- default:
- end;
}
}
\ No newline at end of file diff --git a/npc/sample/monster_controller.cpp b/npc/sample/monster_controller.cpp index fa75175e0..76ba7ade3 100644 --- a/npc/sample/monster_controller.cpp +++ b/npc/sample/monster_controller.cpp @@ -136,13 +136,11 @@ L_MainMenu: mes "[Monster Info]";
display_info .@tmp;
next;
- goto L_MainMenu;
+ goto L_MainMenu;
break;
case 4: // Actions
goto L_AttackMenu;
break;
- default:
- end;
}
L_AttackMenu:
@@ -195,8 +193,6 @@ L_AttackMenu: case 9:
next;
goto L_MainMenu;
- default:
- end;
}
goto L_AttackMenu;
}
\ No newline at end of file diff --git a/src/map/script.c b/src/map/script.c index 27ea71cbb..ebe4c490c 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -3512,6 +3512,7 @@ int buildin_checkequipedcard(struct script_state *st); int buildin_globalmes(struct script_state *st); int buildin_jump_zero(struct script_state *st); int buildin_select(struct script_state *st); +int buildin_prompt(struct script_state *st); int buildin_getmapmobs(struct script_state *st); //jA addition end int buildin_unequip(struct script_state *st); // unequip [Spectre] int buildin_getstrlen(struct script_state *st); //strlen [valaris] @@ -3846,6 +3847,7 @@ struct script_function buildin_func[] = { {buildin_checkequipedcard,"checkequipedcard","i"}, {buildin_jump_zero,"jump_zero","ii"}, //for future jA script compatibility {buildin_select,"select","*"}, //for future jA script compatibility + {buildin_prompt,"prompt","*"}, {buildin_globalmes,"globalmes","s*"}, {buildin_getmapmobs,"getmapmobs","s"}, //end jA addition {buildin_unequip,"unequip","i"}, // unequip command [Spectre] @@ -10308,7 +10310,52 @@ int buildin_select(struct script_state *st) sd->max_menu = max; clif_scriptmenu(script_rid2sd(st),st->oid,buf); aFree(buf); - } /*else if(sd->npc_menu==0xff){ // Cancel will be parsed since this is select() [Lance] + } else if(sd->npc_menu==0xff){ + sd->state.menu_or_input=0; + st->state=END; + } else { + //Skip empty menu entries which weren't displayed on the client (Skotlex) + for(i=st->start+2;i< (st->start+2+sd->npc_menu) && sd->npc_menu < (st->end-st->start-2);i++) { + conv_str(st,& (st->stack->stack_data[i])); // we should convert variables to strings before access it [jA1983] [EoE] + if((int)strlen(st->stack->stack_data[i].u.str) < 1) + sd->npc_menu++; //Empty selection which wasn't displayed on the client. + } + pc_setreg(sd,add_str((unsigned char *) "@menu"),sd->npc_menu); + sd->state.menu_or_input=0; + push_val(st->stack,C_INT,sd->npc_menu); + } + return 0; +} + +int buildin_prompt(struct script_state *st) +{ + char *buf; + int len,i,max = 1; + struct map_session_data *sd; + + sd=script_rid2sd(st); + + if(sd->state.menu_or_input==0){ + st->state=RERUNLINE; + sd->state.menu_or_input=1; + for(i=st->start+2,len=16;i<st->end;i++){ + conv_str(st,& (st->stack->stack_data[i])); + len+=(int)strlen(st->stack->stack_data[i].u.str)+1; + } + buf=(char *)aMalloc((len+1)*sizeof(char)); + buf[0]=0; + for(i=st->start+2,len=0;i<st->end;i++){ + strcat(buf,st->stack->stack_data[i].u.str); + strcat(buf,":"); + } + for(i=0; (unsigned int)i < strlen(buf); i++){ + if(buf[i] == ':') + max++; + } + sd->max_menu = max; + clif_scriptmenu(script_rid2sd(st),st->oid,buf); + aFree(buf); + } /*else if(sd->npc_menu==0xff){ sd->state.menu_or_input=0; st->state=END; }*/ else { |