summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2019-01-01 11:56:43 -0200
committerJesusaves <cpntb1@ymail.com>2019-01-01 11:56:43 -0200
commit3845c0c7ee1a04058d876b12b28354725e26a2ef (patch)
tree30de04fd3fe6f67b8c04810f9fc0b037cb83ed63 /npc
parent14231b3ba4e0b7540ff671d9114ff8a10aa59f22 (diff)
downloadserverdata-3845c0c7ee1a04058d876b12b28354725e26a2ef.tar.gz
serverdata-3845c0c7ee1a04058d876b12b28354725e26a2ef.tar.bz2
serverdata-3845c0c7ee1a04058d876b12b28354725e26a2ef.tar.xz
serverdata-3845c0c7ee1a04058d876b12b28354725e26a2ef.zip
Start redesigning main storyline.
Second stop is Hurnscald Prefecture, which is TODO. Halinarzo main quest arc will end up being thrown to level 50 players it seems
Diffstat (limited to 'npc')
-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: