diff options
Diffstat (limited to 'npc/001-1')
-rw-r--r-- | npc/001-1/karim.txt | 136 |
1 files changed, 86 insertions, 50 deletions
diff --git a/npc/001-1/karim.txt b/npc/001-1/karim.txt index f20c1bad5..743fdbc09 100644 --- a/npc/001-1/karim.txt +++ b/npc/001-1/karim.txt @@ -14,93 +14,129 @@ 001-1,87,114,0 script karim NPC_PLAYER,{ - function give_small_quest { + .Item1 = RightCraftyWing; + .Item2 = LeftCraftyWing; + .ItemReward = FlightTalisman; + + function quest_beggining{ speech S_FIRST_BLANK_LINE | S_LAST_NEXT, - l("Her sword... I'm having some trouble finishing it."), - l("You see, Enora asked me to do a black iron sword, unfortunately I ran out of the material needed, and..."), - l("Only Don and the Merchant Guild have that kind of material in stock. It's called black iron."), - l("It's better to deal with the Merchant Guild than the old man, Don has this ability to hammer down your enthusiasm in sparkling fury!"), - l("If Enora wants her sword now, I need to ask for your help."); + l("my name is karim can you help me?."); + + setq Karim_Quest, 1; + return; + } - switch (select(l("Let's not keep her waiting."), - l("Not now."))) + function quest_left { + if (countitem(.Item2) > 0) { - case 1: - break; - case 2: - speech S_FIRST_BLANK_LINE | S_LAST_NEXT, - lg("I'll be here, come back when you'll be ready."); - + delitem .Item2, 1; + if (rand(10) == 1) + { + mesq l("Yay, it worked! You get a good wing."); + getitem .ItemReward, 1; + setq Karim_Quest, 2; + close; + } + else + { + mesq l("This one is useless! Give me another @@.", getitemlink(.Item2)); return; + } } + else + { + mesq l("You don't have any @@, are you mocking me?", getitemlink(.Item2)); + return ; + } + } - speech S_FIRST_BLANK_LINE | S_LAST_NEXT, - l("Thank you very much!"), - l("Talk with Lloyd the Banker in the Merchant Guild, it's a big building in the northern side of Artis, at the top of the small hill."); - - setq ArtisQuests_Enora, 2; - - return; + function quest_right { + if (countitem(.Item1) > 0) + { + delitem .Item1, 1; + if (rand(5) == 1) + { + mesq l("Yay, it worked! You get a good wing."); + getitem .ItemReward, 1; + setq Karim_Quest, 2; + close; + } + else + { + mesq l("This one is useless! Give me another @@.", getitemlink(.Item1)); + next; + return; + } + } + else + { + mesq l("You don't have any @@, are you mocking me?", getitemlink(.Item1)); + return ; + } } - function more_info { + function quest_started { speech S_FIRST_BLANK_LINE | S_LAST_NEXT, - l("It's the big building in northern Artis, at the top of a small hill."), - l("Take the east road that goes to the north and follow it until you are on top of the cliff."), - l("That part of the town is called the Gilded Hill, it's also where the Merchant Guild has its headquarters."), //rich hill - l("Lloyd still owes me, but beware of those money-grabbers, or they might sell your own teeth to you!"); + l("Can you give me a @@ or a @@", getitemlink(.Item1), getitemlink(.Item2)); + do + { + select + l("a Right Crafty Wing"), + l("a Left Crafty Wing"), + menuaction(l("Quit")); + + switch (@menu) + { + case 1: + quest_right; + break; + case 2: + quest_left; + break; + } + } while (@menu != 3); return; } function quest_completed { speech S_FIRST_BLANK_LINE | S_LAST_NEXT, - l("Oh... Awesome!"), - l("You were gone so I thought you let me down."), - l("Don gave me some black iron... after I asked him nearly ten times."), - l("But thank you anyway! I can refund him now!"), - l("Take the sword, and say hi to Enora for me!"); - - setq ArtisQuests_Enora, 4; - + l("Quest completed."); return; } - function blacksmith_house{ + function quest_restart { speech S_FIRST_BLANK_LINE | S_LAST_NEXT, - l("Behind me? It's the Blacksmith House, the most renowned throughout Aemil."), - l("There are two shops inside, they are independent from the Merchant Guild of Artis."), - l("Now that I think about it, they are the only shops that are independent in Artis..."), - l("...it might be because of Don... he is the master blacksmith of this place and a model to me!"); - + l("Quest restart."); + setq Karim_Quest, 0; return; } - speech S_LAST_NEXT, l("Can I be of any help?"); + speech S_LAST_NEXT, l("Can you help me?"); do { - .@enora = getq(ArtisQuests_Enora); + .@karim = getq(Karim_Quest); select - rif(.@enora == 1, lg("I came to retrieve a package for Enora.")), - rif(.@enora == 3, l("I have your black iron.")), - rif(.@enora >= 2, l("Where is the Merchant Guild?")), - l("What is this building?"), + rif(.@karim == 2, lg("quest completed.")), + rif(.@karim == 1, l("Hello again can you give you give me some tentacles.")), + rif(.@karim == 0, l("Hello")), + l("Debug"), menuaction(l("Quit")); switch (@menu) { case 1: - give_small_quest; + quest_completed; break; case 2: - quest_completed; + quest_started; break; case 3: - more_info; + quest_beggining; break; case 4: - blacksmith_house; + quest_restart; break; } } while (@menu != 5); |