summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/002-4/nard.txt36
-rw-r--r--npc/003-0-1/colin.txt2
-rw-r--r--npc/003-0-1/luca.txt1
-rw-r--r--npc/004-1/elanore.txt15
-rw-r--r--npc/functions/class.txt36
-rw-r--r--npc/items/books.txt3
6 files changed, 81 insertions, 12 deletions
diff --git a/npc/002-4/nard.txt b/npc/002-4/nard.txt
index a09abbc78..5b0ca357c 100644
--- a/npc/002-4/nard.txt
+++ b/npc/002-4/nard.txt
@@ -185,6 +185,8 @@ L_Travel:
menu
rif(LOCATION$ != "Candor", l("To Candor Island.")), L_TCandor,
rif(LOCATION$ != "Tulim", l("To Tulimshar.")), L_TTulim,
+ rif(ST_TIER == 7 && gettimetick(2) < QUEST_ELEVARTEMPO ,l("Help me, I need Jesusaves Grimorie!")), L_Tier2,
+ rif(ST_TIER == 9 && countitem(Lifestone) && gettimetick(2) < QUEST_ELEVARTEMPO ,l("Help me, I need Jesusaves Grimorie!")), L_Tier2Ok,
l("No, I'll save my money."), -;
} else {
mes l("You still need @@ GP to afford it.", (.@price-Zeny));
@@ -223,6 +225,40 @@ L_TTulim:
warp "002-5", 39, 26;
end;
+L_Tier2:
+ mes "";
+ mesn;
+ mesq l("WHAT?! ARE YOU OUT OF MIND?!?!");
+ next;
+ mesn;
+ if (nard_reputation() < 8) {
+ mesq l("THAT GRIMORIE IS A SUPER DUPER MEGA UPER RARE BOOK, I CANNOT GIVE IT TO ANYBODY ASKING ME ABOUT!!");
+ next;
+ mesn;
+ mesq l("GET OUT OF HERE, YOUR NOBODY!");
+ close;
+ }
+ mesq l("That is a rare, precious book, which writes itself!");
+ next;
+ mesn;
+ mesq l("I cannot just give it to you for nothing. Run to Elanore and fetch me a @@. You need to make a new one, an old one I won't accept.", getitemlink(Lifestone));
+ ST_TIER=8;
+ close;
+
+L_Tier2Ok;
+ mes "";
+ mesn;
+ mes col("*tut*", 9);
+ next;
+ inventoryplace JesusalvaGrimorium, 1;
+ getitembound "JesusalvaGrimorium", 1, 4;
+ delitem Lifestone, 1;
+ getexp 200, 0;
+ ST_TIER=10;
+ mesn;
+ mesq l("Here, take it. If the mana goes out of your body, I'll have your class master to return the book to me.");
+ close;
+
L_Close:
close;
diff --git a/npc/003-0-1/colin.txt b/npc/003-0-1/colin.txt
index 1c435c257..4f2726fd7 100644
--- a/npc/003-0-1/colin.txt
+++ b/npc/003-0-1/colin.txt
@@ -8,7 +8,9 @@
003-0-1,58,29,0 script Colin NPC_PLAYER,{
ClassMaster(WIZARD_MAGE, "Wizard Mages", MAGIC_WARRIOR,
+ MG_FIREBALL,
MG_FIREBALL);
+// MG_COLDBOLT);
OnInit:
.@npcId = getnpcid(0, .name$);
diff --git a/npc/003-0-1/luca.txt b/npc/003-0-1/luca.txt
index f03413294..5d7bfb2a6 100644
--- a/npc/003-0-1/luca.txt
+++ b/npc/003-0-1/luca.txt
@@ -8,6 +8,7 @@
003-0-1,35,29,0 script Luca NPC_PLAYER,{
ClassMaster(MAGIC_WARRIOR, "Magic Warriors", WIZARD_MAGE,
+ SM_BASH,
SM_BASH);
end;
diff --git a/npc/004-1/elanore.txt b/npc/004-1/elanore.txt
index e66f8ef61..1fec424c9 100644
--- a/npc/004-1/elanore.txt
+++ b/npc/004-1/elanore.txt
@@ -42,11 +42,25 @@ L_Trade:
getitem Lifestone, 1;
+ mes "";
+
// Only grant Experience on first craft
if (getq(TulimsharQuest_Lifestone) == 0) {
setq TulimsharQuest_Lifestone, 1;
getexp 84, 10;
}
+
+ // Second tier stuff
+ if (ST_TIER == 8) {
+ if (gettimetick(2) > QUEST_ELEVARTEMPO) {
+ mes col(".:: Second Tier Quest - Timed Out ::.", 1);
+ } else {
+ getexp 44, 0;
+ ST_TIER=9;
+ mes l("##9.:: Second Tier Quest - Time Remaining: @@ ::.", FuzzyTime(QUEST_ELEVARTEMPO,2,2));
+ }
+ }
+
mesn;
mesq l("These will do just fine.");
next;
@@ -56,7 +70,6 @@ L_Trade:
mesq l("I guess that you could use these lifestones to gain a regeneration effect, too, but I do not know how.");
next;
mes l("She smiles.");
- mes l("[40 experience points]");
goto L_Close;
L_Trade_Missing:
diff --git a/npc/functions/class.txt b/npc/functions/class.txt
index a7f76eb59..9d123d091 100644
--- a/npc/functions/class.txt
+++ b/npc/functions/class.txt
@@ -5,7 +5,7 @@
// Description:
// Handles Colin and Luca. They say exactly the same things, afterall.
-// ClassID, ClassName, OtherClass, sk1,
+// ClassID, ClassName, OtherClass, sk1, sk2
function script ClassMaster {
.@CLASS=getarg(0);
.@CNAME$=getarg(1);
@@ -14,6 +14,7 @@ function script ClassMaster {
// Skills
.@SK_T1=getarg(3);
+ .@SK_T2=getarg(4);
mesn;
mesq l("I am the @@ master.", .@CNAME$);
if (!MAGIC_LVL) goto L_NoMagic;
@@ -144,6 +145,11 @@ L_Tier2Ok:
mesn;
mesq l("However, beware! That potion is short-lived, you'll be running against time. Get ready to travel a lot.");
next;
+ if (nard_reputation() < 8) {
+ mesn;
+ mesq l("I advise you to do more quests on Tulimshar and Candor, otherwise, you might fail right at the end.");
+ next;
+ }
mesn;
mesq l("Come talk to me when you're ready, and we can begin.");
close;
@@ -164,11 +170,9 @@ L_T2_Fail:
}
}
- if (ST_TIER == 7) {
- if (1) {//countitem(Grimorie) > 0) {
- //delitem Grimorie, 1;
- dispbottom l("Blame Jesusalva");
- close;
+ if (ST_TIER == 10) {
+ if countitem(JesusalvaGrimorium) > 0) {
+ delitem JesusalvaGrimorium, 1;
} else {
mesn;
mes col("WARNING. YOU ARE CHEATING THE GRIMORIE QUEST.", 1);
@@ -196,8 +200,10 @@ L_T2_S0:
if (getskilllv(.@CLASS) == 1 && MAGIC_LVL >= 2 && ST_TIER == 3) goto L_T2_S3;
if (getskilllv(.@CLASS) == 1 && MAGIC_LVL >= 2 && ST_TIER == 4) goto L_T2_S4;
if (getskilllv(.@CLASS) == 1 && MAGIC_LVL >= 2 && ST_TIER == 5) goto L_T2_S5;
- if (getskilllv(.@CLASS) == 1 && MAGIC_LVL >= 2 && ST_TIER < 8) goto L_T2_S6;
- if (getskilllv(.@CLASS) == 1 && MAGIC_LVL >= 2 && ST_TIER == 8) goto L_T2_S7;
+ if (getskilllv(.@CLASS) == 1 && MAGIC_LVL >= 2 && ST_TIER == 6) goto L_T2_S6;
+ if (getskilllv(.@CLASS) == 1 && MAGIC_LVL >= 2 && ST_TIER <= 9) goto L_T2_S7;
+ if (getskilllv(.@CLASS) == 1 && MAGIC_LVL >= 2 && ST_TIER == 10) goto L_T2_Final;
+ mes col("Error, error, L_T2_S0 General Error, REPORT ME", 9);
close;
L_T2_S1:
@@ -206,6 +212,11 @@ L_T2_S1:
mesn;
mesq l("So, young disciple! I wish I could just chant some gibberish words and that automatically granted you more skills, but alas, that won't work.");
next;
+ if (nard_reputation() < 8) {
+ mesn;
+ mesq l("I advise you to do more quests on Tulimshar and Candor, otherwise, you will fail right at the end.");
+ next;
+ }
mesn;
mesq l("I can, however, prepare you a potion. But beware, that potion will only last 35 minutes once baked.");
next;
@@ -310,9 +321,12 @@ L_T2_S5:
close;
L_T2_S6:
+ ST_TIER=7;
mesn;
mesq l("You did it! You're now on the last stage of this BORING and LONG quest!");
next;
+
+L_T2_S7:
mesn;
mesq l("Jesusaves wrote a grimorie, with ancient secrets of our world.");
next;
@@ -320,8 +334,10 @@ L_T2_S6:
mesq l("Captain Nard have it. Fetch it with him! Quick, you only have @@ left!", FuzzyTime(QUEST_ELEVARTEMPO,2,2));
close;
-L_T2_S7:
- // getitembound "JesusalvaGrimorium", 1, 1;
+// You gain two skills: Provoke (works better, but limited usability) and the class skill
+L_T2_Final:
+ skill(.@SK_T2,1,0);
+ skill(SM_PROVOKE, 1, 0);
addtoskill(.@CLASS,2,0);
getexp 40000, 0; // Yes, 40k experience points. Waw.
mes col(".:: Congratulations! ::.", 2);
diff --git a/npc/items/books.txt b/npc/items/books.txt
index 072d8dda3..e8f99b696 100644
--- a/npc/items/books.txt
+++ b/npc/items/books.txt
@@ -176,7 +176,8 @@ OnInit:
narrator S_FIRST_BLANK_LINE | S_LAST_NEXT,
l("Mana is something which existed since the being, but nobody knows much about."),
l("This book will write itself, and reveal you the Secret Of Mana."),
- l("Give it time, increase your magic power, and you'll find out the truth.");
+ l("Give it time, increase your magic power, and you'll find out the truth."),
+ l("PS. This also allows you to select a subclass.");
break;
case 2:
narrator S_FIRST_BLANK_LINE | S_LAST_NEXT,