diff options
Diffstat (limited to 'npc/001-2-22/alige.txt')
-rw-r--r-- | npc/001-2-22/alige.txt | 325 |
1 files changed, 0 insertions, 325 deletions
diff --git a/npc/001-2-22/alige.txt b/npc/001-2-22/alige.txt deleted file mode 100644 index 4f4fab9d..00000000 --- a/npc/001-2-22/alige.txt +++ /dev/null @@ -1,325 +0,0 @@ -// Evol scripts. -// Authors: -// Ablu -// Alige -// Qwerty Dragon -// Reid -// Vasily_Makarov -// Description: -// Hidden in a ship's hole. -// 2 bits array: -// ShipQuests -// Variable: -// ShipQuests_Alige -// Values: -// 0 Never talk. -// 1 First talk. -// 2 Accept the task. -// 3 Bring first food. - -001-2-22,43,32,0 script AligeTrigger#Artis NPC_HIDDEN,1,1,{ - -OnTouch: - if (getareausers() <= 1) - { - setnpcdir "Alige#Artis", 2; - stopnpctimer; - initnpctimer; - } - - if (getq(ShipQuests_Alige) > 0) close; - doevent "Alige#Artis::OnFirstEncounter"; - - close; - -OnUnTouch: - if (getareausers() == 0) - { - setnpcdir "Alige#Artis", 4; - stopnpctimer; - initnpctimer; - } - close; - -OnTimer190: - stopnpctimer; - - if (getnpcdir("Alige#Artis") == 2) setnpcdir "Alige#Artis", 6; - if (getnpcdir("Alige#Artis") == 4) setnpcdir "Alige#Artis", 8; - - end; -} - -001-2-22,43,31,0 script Alige#Artis NPC_ALIGE,{ - .@q = getq(ShipQuests_Alige); - if (.@q > 1) goto L_AskForFood; - - goto OnFirstEncounter; - -OnFirstEncounter: - setq ShipQuests_Alige, 1; - - setcamnpc; - mesn "Hidden Person"; - mesq l("Hey, psst! You're not a sailor, right?"); - next; - restorecam; - - menu - l("I am, who are you?"), -, - l("Indeed, I am not."), L_NeedHelp; - - mes ""; - mesn "Narrator"; - mesc(l("The stowaway doesn't answer."), 9); - - close; - -L_NeedHelp: - setcamnpc; - mes ""; - mesn "Hidden Person"; - mesq l("Good, good... Hey, could you help me please? I beg you, please, pleeeease..."); - next; - restorecam; - - menu - l("Why not, but who are you, and what kind of help do you need?"), L_CanHelp; - l("Sorry but I have no time for this."), -; - - closeclientdialog; - close; - -L_CanHelp: - setcamnpc; - mes ""; - mesn; - mesq l("My name is Alige, I've been hiding here for weeks. All I have to eat are these berries... berries... berries..."); - next; - mesq l("I'm losing my mind here, I need something else to eat!"); - next; - mesq l("Could you please bring me something which isn't a berry, and I'm not big on vegetables either. I need proteins!"); - next; - restorecam; - - menu - l("Sure, but what will you give me in exchange?"), L_AboutReward, - l("Why don't you come out?"), -; - -L_ExplainHiding: - setcamnpc; - mes ""; - mesn; - mesq l("No, I can't. I won't! All I wanted was to travel across the seas for fun, growl... sniff. And in this hole in the floor, as you can see, I have lots of fun."); - next; - mesq l("Oh... um... actually... all I wanted was to get to Artis. Err... but I didn't, uhm... have enough money to pay for the ferry!"); - next; - mesq l("Please don't tell people you saw me. I don't want to be decapitated or get thrown into the sea as food for sharks, or get my hair mussed!"); - next; - restorecam; - - if (getq(ShipQuests_Alige) == 2) goto L_SoAskForFood; - goto L_Accept; - -L_AboutReward: - setcamnpc; - mes ""; - mesn; - mesq l("I'll share my berries with you if you help me."); - next; - restorecam; - -L_Accept: - menu - l("Understood, I will help you."), L_FirstAccepted, - l("We arrived in Artis today."), L_Artis, - l("I think I should report you to the crew members."), -; - - setcamnpc; - mesq l("Growl, sniff, grr! You'd better not tell anyone you saw me!"); - - close; - -L_Artis: - setcamnpc; - mes ""; - mesn; - mesq l("Of course, so why do I still see open sea from the porthole?"); - next; - mesq l("I wonder who is in delarium now..."); - next; - mesq l("But hey, back to me. Remember my mentioning that I'm hun...grrr...eee!"); - next; - restorecam; - - if (.@q == 2) goto L_SoAskForFood; - goto L_Accept; - -L_FirstAccepted: - if (getq(ShipQuests_Alige) >= 2) goto L_Accepted; - setq ShipQuests_Alige, 2; - - goto L_Accepted; - -L_Accepted: - setcamnpc; - mes ""; - mesn; - mesq l("Great, what food do you have for me today?"); - next; - restorecam; - -L_GiveFood: - mes ""; - - mes "##B" + l("Drag and drop an item from your inventory.") + "##b"; - .@id = requestitem(); - if (.@id <= 0) goto L_Quit; // Quit message. - if (countitem(.@id) == 0) goto L_Quit; // If don't have the food - - if (array_find(.vegetables, .@id) >= 0) goto L_NoReward; // In case of wrong food. - if (array_find(.poisonable, .@id) >= 0) goto L_Poison; // In case of poisoned food (or food with effects). - if (.@id == Piberries) goto L_NoMore; // In case of Piberries. - if (.@id == RedPlushWine) goto L_Drunk; // In case of Alcohol. - - // Default message for non food - if (array_find(.commonfood, .@id) == -1) goto L_NoFood; - - inventoryplace Piberries, 3; - delitem .@id, 1; - - setcamnpc; - mes ""; - mesn; - mesq l("Thank you so much! Here, have some of my berries."); - - setq ShipQuests_Alige, 3; - getitem Piberries, rand(1, 3); - next; - - goto L_ReturnMenu; - -L_NoReward: - setcamnpc; - mes ""; - mesn; - mesq l("You don't expect me to eat that, do you? Give me something else!"); - next; - restorecam; - - goto L_GiveFood; - -L_Drunk: - setcamnpc; - speech S_FIRST_BLANK_LINE | S_LAST_NEXT, - l("I asked for food but... *hips* Ah, that'll do!"); - restorecam; - - goto L_GiveFood; - -L_NoFood: - setcamnpc; - // We must first determine if it is at least edible (IT_HEALING) - if (getiteminfo(.@id, ITEMINFO_TYPE) == IT_HEALING) - { - speech S_FIRST_BLANK_LINE | S_LAST_NEXT, - l("That looks too exotic for me to eat!"); - } - else - { - speech S_FIRST_BLANK_LINE | S_LAST_NEXT, - l("That doesn't looks edible to me!"); - } - restorecam; - - goto L_GiveFood; - -L_ReturnMenu: - setcamnpc; - mesq l("Do you have anything else for me?"); - next; - restorecam; - - goto L_GiveFood; - -L_NoMore: - setcamnpc; - mes ""; - mesn; - mesq l("Grr, don't give me more berries! I don't want them, stupid berries, stupid... Stupid... Stupid!"); - next; - - goto L_ReturnMenu; - -L_Poison: - setcamnpc; - mes ""; - mesn; - mesq l("Don't try to poison me! I know what that does!"); - next; - restorecam; - goto L_ReturnMenu; - -L_SoAskForFood: - setcamnpc; - mesn; - mesq l("So, do you have anything for me today?"); - next; - restorecam; - goto L_IntroMenu; - -L_AskForFood: - setcamnpc; - mesn; - mesq l("Do you have anything for me today?"); - next; - restorecam; - -L_IntroMenu: - menu - l("Yes."), L_GiveFood, - l("Where can I find some food?"), L_FindFood, - l("Why are you hiding?") + " " + l("Why don't you come out?"), L_ExplainHiding, - l("We arrived in Artis today."), L_Artis, - l("I think I should report you to the crew members."), -; - - setcamnpc; - mesq l("Growl, sniff, grr! You'd better not tell anyone you saw me!"); - - close; - -L_FindFood: - setcamnpc; - mes ""; - mesn; - mesq l("There are some flying yellow plushes around you. They're called pious. Getting a roasted leg of one of them would be perfect."); - next; - mesq l("I'd like to catch one of them, but they fly away when I try."); - next; - mesq l("Walking around a bit, it'll be easy for you to catch one, I bet. Impale one of them for me please."); - next; - restorecam; - mesn "Narrator"; - mesc(l("You can attack a monster by clicking on it, or from your keyboard you can press the 'A' key to select the monster followed by 'Ctrl' to attack it."), 9); - next; - mesc(l("Once the monster is dead, click on the dropped items to add them to your inventory. You can also use the 'Z' key to claim the drops."), 9); - - close; - -L_Quit: - setcamnpc; - mes ""; - mesn; - mesq l("Too bad... Come back when you'll have some nice food for me. Growl... grumble... grumble."); - - close; - -OnInit: - .distance = 2; - - // Array of foods (remember to update in 000-2-1 as well) - setarray .commonfood, Bread, Fungus, Cheese, PiouLegs, Aquada, HalfCroconut, Plushroom, PumpkinJuice, Manana, Curshroom, Carrot, CarpSandwich, PioulegSandwich; - setarray .vegetables, Acorn, LettuceLeaf, Croconut, MananaSandwich; - setarray .poisonable, SeaDrops, PinkBlobime, PumpkinSeeds, UrchinMeat, EasterEgg; - end; -} |