diff options
-rw-r--r-- | npc/032-1/_mobs.txt | 1 | ||||
-rw-r--r-- | npc/032-1/episode.txt | 138 |
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; |