summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--npc/003-2/lua.txt118
-rw-r--r--npc/003-3/malindou.txt3
-rw-r--r--npc/009-2/librarian.txt18
3 files changed, 115 insertions, 24 deletions
diff --git a/npc/003-2/lua.txt b/npc/003-2/lua.txt
index 03f6686b6..c6d735bd7 100644
--- a/npc/003-2/lua.txt
+++ b/npc/003-2/lua.txt
@@ -16,7 +16,9 @@ L_Menu:
menu
l("Ok, see you later."),L_Close,
rif(.@n == 1, l("I was found near Candor Island, on a raft, and can't remember anything. Do you know who I am?")), L_Info,
- rif(.@n == 2, l("Do you think I'm ready to go to Halinarzo?")), L_Check,
+ rif(.@n == 2, l("What you asked me for, again?")), L_Task,
+ rif(.@n == 3, l("Where I needed to go, again?")), L_Complete,
+ rif(.@n >= 4, l("Do you think I'm ready to go to Halinarzo?")), L_Check,
rif(is_gm(), l("I need a GM set, please!")), L_GMItems,
rif(is_gm() && #GMEVENT_T <= gettimetick(2), l("I plan in doing an event! Give me the coins!")), L_GMEvent,
rif(is_staff(), l("Tell people the name of a new hero.")), L_NewHero,
@@ -73,11 +75,24 @@ L_Sponsor:
mes "";
goto L_Menu;
+OnLuaInfo:
+ @lua_isok=1;
+ end;
+
L_Info:
- mes "";
- mesn;
- mesq l("Of course, give me just a minute to look up for your data, @@.", strcharinfo(0));
- next;
+ if (!@lua_isok) {
+ mes "";
+ mesn;
+ mesq l("Of course, give me just a minute to look up for your data, @@.", strcharinfo(0));
+ next;
+ mesn;
+ mesq l("You can explore the city on the meanwhile, I need to inspect the data.");
+ if (!@lua_init) {
+ @lua_init=1;
+ addtimer(rand(55000,65000),"Lua#003-2::OnLuaInfo");
+ }
+ close;
+ }
mes "...";
next;
mes "... ...";
@@ -87,7 +102,7 @@ L_Info:
mesn;
mesq l("No criminal record, no bank account, not even a tax payment declaration.");
next;
- mesq l("I found your birth record, but it is not complete. Here says you were born on Halinarzo.");
+ mesq l("I found your birth record, but it is not complete. Here says you were born on ##BHalinarzo##b.");
next;
mesq l("The problem is that Halinarzo was destroyed in the never-ending war and was just recently rebuilt.");
next;
@@ -96,20 +111,95 @@ L_Info:
mesq l("All I can say is that you were born there, and moved by the age of 4, but to where? I don't know.");
next;
mesn;
- mesq l("I'll arrange here with the alliance documents regarding you. I'll add a \"war victim\" status to make your life easier.");
+ mesq l("Sorry. At best, you can try your luck in Halinarzo, but the odds of someone recognizing you are pretty slim.");
next;
- mesq l("You will then be able to register citzenship in any city, for free. But just once.");
+ mesn;
+ mesq l("However...");
+ mesq l("You will be killed on the road if you try to go like this. The Canyon route is dangerous, and the Swamps route claimed many souls.");
+ mesq l("Not to say about bandits and robbers you'll find.");
next;
+ getexp BaseLevel*30, JobLevel*5; // Reference Levels: (10, 3)
+ setq General_Narrator, 2;
mesn;
- mesq l("Sorry. At best, you can try your luck in Halinarzo, but the odds of someone recognizing you are pretty slim.");
+ mesq l("Lucky for you, the Alliance have means to assist you. Please show me the following:");
+ goto L_Task;
+
+L_Task:
+ mesc l(".:: Main Quest 2-1 ::."), 3;
+ if (BaseLevel >= 20)
+ mesc l("* @@/@@ Base Level", BaseLevel, 20), 3;
+ else
+ mesc l("* @@/@@ Base Level", BaseLevel, 20), 9;
+
+ if (JobLevel >= 6)
+ mesc l("* @@/@@ Job Level", JobLevel, 6), 3;
+ else
+ mesc l("* @@/@@ Job Level", JobLevel, 6), 9;
+
+ if (Zeny >= 1000)
+ mesc l("* @@/@@ GP", Zeny, 1000), 3;
+ else
+ mesc l("* @@/@@ GP", Zeny, 20), 9;
+
+ if (countitem(TulimsharGuardCard))
+ mesc l("* @@/@@ @@", countitem(TulimsharGuardCard), 1, getitemlink(TulimsharGuardCard)), 3;
+ else
+ mesc l("* @@/@@ @@", countitem(TulimsharGuardCard), 1, getitemlink(TulimsharGuardCard)), 9;
+
+ if (countitem(FishingRod))
+ mesc l("* @@/@@ @@", countitem(FishingRod), 1, getitemlink(FishingRod)), 3;
+ else
+ mesc l("* @@/@@ @@", countitem(FishingRod), 1, getitemlink(FishingRod)), 9;
+
+ if (countitem(LifestonePendant))
+ mesc l("* @@/@@ @@", countitem(LifestonePendant), 1, getitemlink(LifestonePendant)), 3;
+ else
+ mesc l("* @@/@@ @@", countitem(LifestonePendant), 1, getitemlink(LifestonePendant)), 9;
+
+ next;
+ if (BaseLevel >= 20 &&
+ JobLevel >= 6 &&
+ Zeny >= 1000 &&
+ countitem(TulimsharGuardCard) &&
+ countitem(FishingRod) &&
+ countitem(LifestonePendant))
+ goto L_Complete;
+
+ mesn;
+ if (!countitem(TulimsharGuardCard))
+ mesq l("I think you should look for the Lieutenant if you want the Guard Card.");
+ if (!countitem(FishingRod))
+ mesq l("For the fishing rod, try looking for a fisher around here. Tricky one, this quest.");
+ if (!countitem(LifestonePendant))
+ mesq l("I have no idea about who would make a pendant, but lifestone can be done just outside the town walls.");
+ close;
+
+L_Finish:
+ getexp BaseLevel*60, JobLevel*10; // Reference Levels: (20, 6)
+ setq General_Narrator, 3;
+ mesn;
+ mesq l("Great job! You can keep these items, they will be crucial to your journey.");
next;
- mesq l("You will be killed on the road if you try to go like this. Try helping people. Get money, experience, equipment.");
+L_Complete:
+ mesn;
+ mesq l("You see the docks on the other side of the town? There should be a ship docked there.");
next;
- mesq l("And then, finally, depart to ##BHalinarzo##b. Maybe, just maybe, someone recognize you. Or, start a new life! Few people can do that!");
- setq General_Narrator, 2;
+ mesn;
+ mesq l("You already got the money. Go there and pay ##B Hurnscald ##b a visit. The ##B mayor ##b should be able to help you.");
next;
- mesc l(".:: Help for New Players ::."), 3;
- mesc l("Try helping the city guard. Many quests can be found around the city. There are also some on the mines, you should visit it."), 3;
+ mesn;
+ mesq l("Ship travels are quite expensive, so perhaps you may think it is worth to complete the other quests here?");
+ next;
+ .@r=reputation("Tulim");
+ mesn;
+ if (.@r <= 35)
+ mesq l("Try helping the city guard. Talk to NPCs around the city. Outside the city walls too. And there are some people on the mines.");
+ else if (.@r <= 60)
+ mesq l("You are doing some progress. There are about 4 quests on the mines, 1 outside walls, and 10 on the town. Some require level, so talk to people again sometimes.");
+ else if (.@r <= 85)
+ mesq l("You'll soon run out of stuff to do around here, so yeah, you should extend your horizons or you may get bored soon enough.");
+ else
+ mesq l("Tulimshar doesn't have a lot more of quests to offer you, so you should definitely explore new places.");
close;
L_Tips:
diff --git a/npc/003-3/malindou.txt b/npc/003-3/malindou.txt
index 5156d41e8..d75266377 100644
--- a/npc/003-3/malindou.txt
+++ b/npc/003-3/malindou.txt
@@ -191,7 +191,7 @@ OnInit:
debugmes "";
}
// Current UPDATE value: Seg Dez 31 11:45:35 -02 2018
- // Update players position (002-x). Update Peter Quest
+ // Update players position (002-x). Update Peter Quest. Update Main quest.
if ($UPDATE < 1546263935) {
query_sql("UPDATE `char` SET `last_x` = '53' WHERE `char`.`last_map`='002-1'");
query_sql("UPDATE `char` SET `last_y` = '38' WHERE `char`.`last_map`='002-1'");
@@ -201,6 +201,7 @@ OnInit:
query_sql("UPDATE `char` SET `last_y` = '38' WHERE `char`.`last_map`='002-4'");
query_sql("UPDATE `quest` SET `count1` = '2' WHERE `quest`.`quest_id`="+ShipQuests_Peter+" AND `count1` >= '3'");
+ query_sql("UPDATE `quest` SET `count1` = '1' WHERE `quest`.`quest_id`="+General_Narrator+" AND `count1` >= '2'");
$UPDATE=1546263935;
debugmes "";
debugmes "* Update players position (Nard's Ship)";
diff --git a/npc/009-2/librarian.txt b/npc/009-2/librarian.txt
index 89ed94583..2c07ad585 100644
--- a/npc/009-2/librarian.txt
+++ b/npc/009-2/librarian.txt
@@ -7,12 +7,12 @@
009-2,67,60,2 script Book Keeper NPC_FEMALE,{
.@n = getq(General_Narrator);
- if (.@n == 4) mesn;
- if (.@n == 4) mesc l("Anyway, I think you should go to Hurnscald Townhall, and speak with the mayor.");
- if (.@n == 4) next;
- if (.@n >= 4) goto L_Complete;
- if (.@n == 3) goto L_Report;
- if (.@n == 2) goto L_Advance;
+ if (.@n == 6) mesn;
+ if (.@n == 6) mesc l("Anyway, I think you should go to Hurnscald Townhall again, and speak with the mayor.");
+ if (.@n == 6) next;
+ if (.@n >= 6) goto L_Complete;
+ if (.@n == 5) goto L_Report;
+ if (.@n == 4) goto L_Advance;
mesn;
mesq l("Hello. I am the book keeper, responsible for keeping Halinarzo History.");
// TODO: Import data from BR-002-5 (Royal Library) and make available story about TMW-BR
@@ -82,7 +82,7 @@ L_Complete:
mesc l("They promised to travel to the ##BWorld Edge##b to fetch a Mana Fragment. The wisest of them said it was the only chance.");
mesc l("They were never again seen. None of them. We burnt all records about everyone here, and blamed the Monster King.");
mesc l("They must never know we had it. Their sacrifices must be forgotten. For the sake of all.");
- compareandsetq General_Narrator, 2, 3;
+ compareandsetq General_Narrator, 4, 5;
close;
L_Report:
@@ -116,8 +116,8 @@ L_Report:
next;
mesn;
mesq l("Good luck, @@!", strcharinfo(0));
- getexp 1500, 0; // Reference is level 20, so, DO NOT RAISE THIS VALUE.
- setq General_Narrator, 4;
+ getexp 1500, 0; // TODO.
+ setq General_Narrator, 6;
close;
OnInit: