summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2020-02-25 22:31:17 -0300
committerJesusaves <cpntb1@ymail.com>2020-02-25 22:31:17 -0300
commite55b349d9e3c89369e70326db8c8ef8b49758ef5 (patch)
tree2f038b12d46d62db1fa4f702324421451e52a6d3
parent1b2a1f299552a0a02d8c748fb87e67ce7346e0c0 (diff)
downloadserverdata-e55b349d9e3c89369e70326db8c8ef8b49758ef5.tar.gz
serverdata-e55b349d9e3c89369e70326db8c8ef8b49758ef5.tar.bz2
serverdata-e55b349d9e3c89369e70326db8c8ef8b49758ef5.tar.xz
serverdata-e55b349d9e3c89369e70326db8c8ef8b49758ef5.zip
Notes on Lua + Refactor how and when you learn about shovels and maps.
Digging treasures is now entirely optional, and George can sell you a shovel.
-rw-r--r--npc/003-1/neko.txt2
-rw-r--r--npc/003-2/lua.txt36
-rw-r--r--npc/018-1/george.txt28
3 files changed, 51 insertions, 15 deletions
diff --git a/npc/003-1/neko.txt b/npc/003-1/neko.txt
index 81ba0d59d..75b46de88 100644
--- a/npc/003-1/neko.txt
+++ b/npc/003-1/neko.txt
@@ -69,7 +69,6 @@ OnInit:
sellitem LeatherShirt, 12000, 1;
sellitem ShortTankTop, 8000, 1;
sellitem TrainingBow, 990, 2;
- sellitem IronShovel, -1, 1;
sellitem CottonCloth, -1, 3;
sellitem RoastedMaggot, -1, 2;
sellitem ArrowAmmoBox,-1,rand(5,10);
@@ -87,7 +86,6 @@ OnClock2359:
restoreshopitem LeatherShirt, 12000, 1;
restoreshopitem ShortTankTop, 8000, 1;
restoreshopitem TrainingBow, 990, 2;
- restoreshopitem IronShovel, 1;
restoreshopitem CottonCloth, 3;
restoreshopitem RoastedMaggot, 2;
restoreshopitem ArrowAmmoBox,rand(5,10);
diff --git a/npc/003-2/lua.txt b/npc/003-2/lua.txt
index 30877bce8..faf6e5c89 100644
--- a/npc/003-2/lua.txt
+++ b/npc/003-2/lua.txt
@@ -519,17 +519,32 @@ function luaAssignTask5 {
next;
mesn;
mesq l("The Professor is so wise that even if you fall asleep while listening to his invisible speech, you'll still learn!!");
- tutmes l("The professor is always on the Magic Council, the northmost building. If you sit on the area in front of him (marked with a red rug), you'll gain Experience, even while AFK.");
next;
- mesc l("Who is the Professor? I've heard he was the father of a certain Arthur... No idea.");
- mesc l("But who cares? We need to save the Professor! During night, monsters are stronger, so they'll probably attack at night time!");
- mesc l("During night the professor also goes to the Magic Academy, using the hidden north port, on the building to left of the Magic Council...");
+ select
+ l("Who is this professor?"),
+ l("What can I do?");
+ mes "";
+ if (@menu == 1) {
+ mesn;
+ mesq l("Who is the Professor? I've heard he was the father of a certain Arthur... No idea.");
+ tutmes l("The professor is always on the Magic Council, the northmost building. If you sit on the area in front of him (marked with a red rug), you'll gain Experience, even while AFK.");
+ next;
+ mesn;
+ mesq l("But who cares? We need to save the Professor! During night, monsters are stronger, so they'll probably attack at night time!");
+ } else {
+ mesn;
+ mesq l("You need to save the Professor! During night, monsters are stronger, so they'll probably attack at night time!");
+ }
+ next;
+ mesn;
+ mesq l("During night the professor also goes to the Magic Academy, using the hidden north port, on the building to left of the Magic Council...");
if (!is_night())
mesc l("However, it's also possible they're there already.");
next;
- mesc l("Here, I'll give you a Mercenary Box. Open it, get the mercenary card, and summon it when needed. You absolutely CANNOT let the Professor be assassinated!");
+ mesn;
+ mesq l("Here, I'll give you a Mercenary Box. Open it, get the mercenary card, and summon it when needed. You absolutely CANNOT let the Professor be assassinated!");
tutmes l("Explain briefly about mercenaries... I mean, we have a Mercenaries section on @tutorial right?"); // <-- TODO and add on the wiki as well!
tutmes l("You can only have one mercenary active at a time, they die and will leave after 10 minutes - logged in or not.");
tutmes l("Still, they can be useful when you're trying to solo a boss and need help. The number of stars on the card is the strength and rarity. Use them wisely.");
@@ -540,16 +555,17 @@ function luaAssignTask5 {
next;
getitem MercBoxAA, 1;
+ LUA_ASKED_TO_SAVE_PROFESSOR=true;
return;
} // Your Report, the plan
function luaTask5 {
- msObjective(false, l("* Defeat the Assassin"));
+ msObjective(!LUA_ASKED_TO_SAVE_PROFESSOR, l("* Defeat the Assassin"));
return;
}
function luaCheckTask5 {
- return (false);
+ return (!LUA_ASKED_TO_SAVE_PROFESSOR);
}
@@ -571,12 +587,6 @@ L_Finish:
mesq l("I'll also give you a @@. Open it to get a random Mercenary Card.", getitemlink(MercBoxAA));
next;
mesn;
- mesq l("You can only have one mercenary active at a time, they die and will leave after 10 minutes - logged in or not.");
- next;
- mesn;
- mesq l("Still, they can be useful when you're trying to solo a boss and need help. The number of stars on the card is the strength and rarity. Use them wisely.");
- next;
- mesn;
mesq l("Ah, you might have seen a treasure chest on the mines. There are several of these chests to loot, and loot again! Here is a @@. Try it!", getitemlink(TreasureKey));
next;
L_Complete:
diff --git a/npc/018-1/george.txt b/npc/018-1/george.txt
index 004d6a3dd..63b0f0b4f 100644
--- a/npc/018-1/george.txt
+++ b/npc/018-1/george.txt
@@ -48,6 +48,7 @@ L_Main:
rif(.@q == 2, l("About the items you asked me to collect...")), L_ProgressOne,
rif(.@q == 3 && 0, l("Do you need any more help?")), L_RequestTwo,
rif(.@q == 4 && 0, l("About the items you asked me to collect...")), L_ProgressTwo,
+ rif(.@showShovel, l("Could you sell me a treasure map and a shovel?")), L_Shop,
l("Nothing I guess"), L_Close;
// Context menu
@@ -61,6 +62,7 @@ L_Explain:
mesn l("George the Pirate");
mesq l("It is a pirate treasure hideout, yarr arr! If you have a @@ and a @@, you may get luck, yarr!", getitemlink(PirateTreasureMap), getitemlink(IronShovel));
next;
+ .@showShovel=true;
goto L_Main;
@@ -163,6 +165,32 @@ L_NotEnoughTwo:
mesq l("Remember, I need 100 @@, 50 @@, and something interesting to read.", getitemlink(WarlordPlate), getitemlink(CorsairHat));
goto L_Close;
+L_Shop:
+ mesn;
+ mesq l("Arr ha ha ha arr!");
+ next;
+ mesn;
+ mesq l("If I had a map, I would be digging the treasures, not selling it, arr!");
+ next;
+ mesn;
+ .@price=getiteminfo(IronShovel, ITEMINFO_SELLPRICE);
+ mesq l("But I can sell ya a %s for %d GP. Interested?", getitemlink(IronShovel), .@price);
+ if (Zeny < .@price) {
+ mesc l("You do not have enough money.");
+ next;
+ goto L_Menu;
+ }
+ if (askyesno() == ASK_YES) {
+ inventoryplace IronShovel, 1;
+ Zeny-=.@price;
+ getitem IronShovel, 1;
+ mesn;
+ mesq l("Arr! Here you go, matey!");
+ next;
+ }
+ .@showShovel=false;
+ goto L_Menu;
+
L_Close:
sailortalk;
closedialog;