summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--npc/032-1/_mobs.txt1
-rw-r--r--npc/032-1/episode.txt138
2 files changed, 132 insertions, 7 deletions
diff --git a/npc/032-1/_mobs.txt b/npc/032-1/_mobs.txt
index 944a68886..3839c9074 100644
--- a/npc/032-1/_mobs.txt
+++ b/npc/032-1/_mobs.txt
@@ -7,3 +7,4 @@
032-1,0,0,0,0 monster Maggot 1030,65,35000,450000
032-1,104,200,63,36 monster Giant Maggot 1031,4,30000,20000
032-1,143,214,37,29 monster Red Scorpion 1072,11,35000,120000
+032-1,0,0,0,0 monster Desert Bandit 1124,8,85000,50000
diff --git a/npc/032-1/episode.txt b/npc/032-1/episode.txt
index aa6f81e51..19125ac1d 100644
--- a/npc/032-1/episode.txt
+++ b/npc/032-1/episode.txt
@@ -8,11 +8,30 @@
// level as the Moubootaur and the Mana Source.
032-1,58,129,0 script Elli NPC_ELLI,{
.@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
+ .@x = getq3(LoFQuest_EPISODE);
+ .@banu_priz = (.@x & 8);
+ .@eurni_info = (.@x & 16);
if (!.@q && getq3(LoFQuest_EPISODE)) {
mesn;
- mesq l("Hi.");
- if (is_master())
- setq2 LoFQuest_EPISODE, 1;
+ mesq l("Hi. Do you need something?");
+ next;
+ select
+ l("No, nothing. Sorry."),
+ l("I need to enter.");
+ mes "";
+ if (!.@banu_priz) {
+ mesn;
+ mesq l("And who would you be? Another bandit? Leave!");
+ close;
+ }
+ if (!.@eurni_info) {
+ mesn;
+ mesq l("Why? You are most definitely at the wrong place. Leave!");
+ close;
+ }
+ mesn;
+ mesq l("Eh... Sure, why not. What could go wrong, after all.");
+ setq2 LoFQuest_EPISODE, 1;
close;
}
npctalk3 l("Hi.");
@@ -62,7 +81,7 @@ OnInit:
.@npcId = getnpcid(.name$);
setunitdata(.@npcId, UDT_HEADTOP, SailorHat);
setunitdata(.@npcId, UDT_HEADMIDDLE, SailorShirt);
- setunitdata(.@npcId, UDT_HEADBOTTOM, LeatherTrousers); // TODO
+ setunitdata(.@npcId, UDT_HEADBOTTOM, LeatherTrousers);
setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins);
setunitdata(.@npcId, UDT_HAIRSTYLE, 21);
setunitdata(.@npcId, UDT_HAIRCOLOR, 11);
@@ -100,7 +119,7 @@ OnInit:
.@npcId = getnpcid(.name$);
setunitdata(.@npcId, UDT_HEADTOP, SailorHat);
setunitdata(.@npcId, UDT_HEADMIDDLE, SailorShirt);
- setunitdata(.@npcId, UDT_HEADBOTTOM, LeatherTrousers); // TODO
+ setunitdata(.@npcId, UDT_HEADBOTTOM, LeatherTrousers);
setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins);
setunitdata(.@npcId, UDT_HAIRSTYLE, 21);
setunitdata(.@npcId, UDT_HAIRCOLOR, 11);
@@ -112,7 +131,112 @@ OnInit:
032-1,112,142,0 script Banu NPC_GLASS_OLD_LADY,{
.@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
- npctalk3 l("Hi. My back hurts!");
+ if (.@q) {
+ npctalk3 l("Hi. My back hurts!");
+ } else {
+ // Quest can be reset, so no major rewards, not even experience
+ .@x = getq3(LoFQuest_EPISODE);
+ .@met_banu = (.@x & 1);
+ .@ask_apple = (.@x & 2);
+ .@got_apple = (.@x & 4);
+ .@banu_priz = (.@x & 8);
+ if (!.@got_apple) {
+ mesn;
+ mesq l("You won't have any of my vegetables, you scoundrel! Get off my yard!");
+ setq3 LoFQuest_EPISODE, getq3(LoFQuest_EPISODE) | 128;
+ close;
+ } else if (!.@banu_priz) {
+ mesn;
+ mesq l("Oh, thanks, darling; I was starving. Do you need anything?");
+ next;
+ select
+ l("I want the apples back."),
+ l("I'm after the Queen's Party."),
+ l("I want a knife and a bottle of water!");
+ mes "";
+ setq3 LoFQuest_EPISODE, getq3(LoFQuest_EPISODE) | 8;
+ switch (@menu) {
+ case 1:
+ getitem RedApple, 12;
+ mesn;
+ mesq l("Sure, here you go!");
+ close;
+ case 2:
+ getitem SharpKnife, 1;
+ getitem ChickenLeg, 1;
+ mesn;
+ mesq l("They did nothing good! They claim the Platinum Queen was a savior, all lies!");
+ next;
+ mesn;
+ mesq l("We sure flourished at her early years, but the late years were a disaster! Crops were failing way before her death!");
+ next;
+ mesn;
+ mesq l("Don't believe anything they tell you! Here, take this, so you can defend yourself. And some food, now leave.");
+ close;
+ case 3:
+ getitem BottleOfTonoriWater, 1;
+ getitem SmallKnife, 1;
+ mesn;
+ mesq l("Sure, here you go!");
+ close;
+ }
+ close;
+ } else {
+ npctalk3 l("Hi. Thanks for the pie.");
+ }
+ }
+ end;
+
+OnInit:
+ .distance=5;
+ end;
+}
+
+032-1,71,195,0 script Joanna NPC_JOANA,{
+ .@q = (getq(LoFQuest_EPISODE) == 15 ? getq2(LoFQuest_EPISODE) : 99);
+ if (.@q) {
+ npctalk3 l("Hi. Come to the bakery!");
+ } else {
+ .@x = getq3(LoFQuest_EPISODE);
+ .@met_banu = (.@x & 1);
+ .@ask_apple = (.@x & 2);
+ .@got_apple = (.@x & 4);
+ .@banu_priz = (.@x & 8);
+ if (.@met_banu && !.@ask_apple) {
+ mesn;
+ mesq l("Hey, you, stranger. I promised Banu a pie, but she is yet to give me the apples.");
+ next;
+ mesn;
+ mesq l("Can you fetch with her? 12 %s.", getitemlink(RedApple));
+ next;
+ select
+ l("Sure!"),
+ l("No, sorry.");
+ mes "";
+ if (@menu == 1) setq3 LoFQuest_EPISODE, .@x | 2;
+ close;
+ } else if (.@ask_apple) {
+ mesn;
+ mesq l("Did you brought me 12 %s?", getitemlink(RedApple));
+ if (countitem(RedApple) < 12) close;
+ next;
+ select
+ l("Sure!"),
+ l("No, sorry.");
+ mes "";
+ if (@menu == 2)
+ close;
+ delitem RedApple, 12;
+ setq3 LoFQuest_EPISODE, .@x | 4;
+ mesn;
+ mesq l("Thank you, tell her to come to the bakery at... Actually, nevermind. Just give her this note.");
+ close;
+ } else {
+ mesn;
+ mesq l("Come to the bakery!");
+ close;
+ }
+ }
end;
OnInit:
@@ -144,7 +268,7 @@ OnInit:
next;
if (askyesno() == ASK_YES && Zeny >= 500) {
Zeny-=500;
- setq3 LoFQuest_EPISODE, getq3(LoFQuest_EPISODE) | 1;
+ setq3 LoFQuest_EPISODE, getq3(LoFQuest_EPISODE) | 16;
mesn;
mesq l("They are hidden in the crypts, inside a cave.");
next;