From 349ddd5cd0d01e17376c7c25ad26d234b4d9ff8e Mon Sep 17 00:00:00 2001 From: Saulc Date: Sat, 20 Jan 2018 00:06:47 +0100 Subject: add new maps --- npc/003-1/_import.txt | 11 ++++ npc/003-1/_mobs.txt | 40 +++++++++++++ npc/003-1/_warps.txt | 3 + npc/003-1/bkinu.txt | 153 ++++++++++++++++++++++++++++++++++++++++++++++++++ npc/003-1/guard.txt | 153 ++++++++++++++++++++++++++++++++++++++++++++++++++ npc/003-1/inar.txt | 153 ++++++++++++++++++++++++++++++++++++++++++++++++++ npc/003-1/jeric.txt | 153 ++++++++++++++++++++++++++++++++++++++++++++++++++ npc/003-1/luca.txt | 153 ++++++++++++++++++++++++++++++++++++++++++++++++++ npc/003-1/malikox.txt | 153 ++++++++++++++++++++++++++++++++++++++++++++++++++ npc/003-1/neko.txt | 153 ++++++++++++++++++++++++++++++++++++++++++++++++++ 10 files changed, 1125 insertions(+) create mode 100644 npc/003-1/_import.txt create mode 100644 npc/003-1/_mobs.txt create mode 100644 npc/003-1/_warps.txt create mode 100644 npc/003-1/bkinu.txt create mode 100644 npc/003-1/guard.txt create mode 100644 npc/003-1/inar.txt create mode 100644 npc/003-1/jeric.txt create mode 100644 npc/003-1/luca.txt create mode 100644 npc/003-1/malikox.txt create mode 100644 npc/003-1/neko.txt (limited to 'npc/003-1') diff --git a/npc/003-1/_import.txt b/npc/003-1/_import.txt new file mode 100644 index 000000000..9898f86e5 --- /dev/null +++ b/npc/003-1/_import.txt @@ -0,0 +1,11 @@ +// Map 003-1: Drasil Island +// This file is generated automatically. All manually added changes will be removed when running the Converter. +"npc/003-1/_mobs.txt", +"npc/003-1/_warps.txt", +"npc/003-1/bkinu.txt", +"npc/003-1/guard.txt", +"npc/003-1/inar.txt", +"npc/003-1/jeric.txt", +"npc/003-1/luca.txt", +"npc/003-1/malikox.txt", +"npc/003-1/neko.txt", diff --git a/npc/003-1/_mobs.txt b/npc/003-1/_mobs.txt new file mode 100644 index 000000000..c40ac5fd1 --- /dev/null +++ b/npc/003-1/_mobs.txt @@ -0,0 +1,40 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 003-1: Drasil Island mobs +003-1,48,69,6,9 monster Tortuga 1004,3,16000,120000 +003-1,78,138,34,14 monster Tortuga 1004,4,35000,300000 +003-1,91,115,4,12 monster Tortuga 1004,1,35000,300000 +003-1,72,112,4,17 monster Tortuga 1004,2,35000,300000 +003-1,57,86,11,5 monster Tortuga 1004,2,35000,120000 +003-1,62,61,9,16 monster Tortuga 1004,2,35000,120000 +003-1,107,57,12,11 monster Tortuga 1004,3,35000,120000 +003-1,64,95,2,1 monster Little Blub 1007,2,25000,120000 +003-1,81,84,7,10 monster Little Blub 1007,2,25000,120000 +003-1,82,45,10,4 monster Little Blub 1007,2,25000,120000 +003-1,107,89,4,3 monster Blub 1008,1,60000,120000 +003-1,105,53,2,3 monster Little Blub 1007,1,25000,120000 +003-1,105,78,14,9 monster Little Blub 1007,2,35000,120000 +003-1,68,81,9,6 monster Little Blub 1007,1,35000,120000 +003-1,48,68,3,5 monster Little Blub 1007,1,35000,120000 +003-1,55,70,0,1 monster Plushroom Field 1011,1,35000,150000 +003-1,74,135,0,1 monster Plushroom Field 1011,1,35000,150000 +003-1,83,100,4,2 monster Plushroom Field 1011,1,35000,150000 +003-1,74,84,0,2 monster Plushroom Field 1011,1,35000,150000 +003-1,98,78,4,5 monster Plushroom Field 1011,2,35000,150000 +003-1,91,82,1,1 monster Plushroom Field 1011,1,35000,150000 +003-1,52,136,8,9 monster Croc 1006,2,35000,300000 +003-1,83,51,10,3 monster Croc 1006,1,35000,300000 +003-1,96,88,1,1 monster Croc 1006,1,35000,300000 +003-1,72,112,4,17 monster Croc 1006,1,35000,300000 +003-1,91,97,4,4 monster Croc 1006,1,35000,300000 +003-1,20,20,0,0 monster Piou 1002,4,60000,15000 +003-1,98,135,0,0 monster Crocotree 1010,1,420000,240000 +003-1,77,124,0,0 monster Crocotree 1010,1,420000,240000 +003-1,59,132,0,0 monster Crocotree 1010,1,420000,240000 +003-1,87,113,0,0 monster Crocotree 1010,1,420000,240000 +003-1,73,97,0,0 monster Crocotree 1010,1,420000,240000 +003-1,84,83,0,0 monster Crocotree 1010,1,420000,240000 +003-1,51,89,0,0 monster Crocotree 1010,1,420000,240000 +003-1,64,64,0,0 monster Crocotree 1010,1,420000,240000 +003-1,90,53,0,0 monster Crocotree 1010,1,420000,240000 +003-1,104,86,0,0 monster Crocotree 1010,1,420000,240000 +003-1,81,95,36,58 monster Maggot 1030,60,35000,120000 diff --git a/npc/003-1/_warps.txt b/npc/003-1/_warps.txt new file mode 100644 index 000000000..a7ded369a --- /dev/null +++ b/npc/003-1/_warps.txt @@ -0,0 +1,3 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 003-1: Drasil Island warps +003-1,81,67,0 warp #003-1_81_67 0,0,003-2-1,21,28 diff --git a/npc/003-1/bkinu.txt b/npc/003-1/bkinu.txt new file mode 100644 index 000000000..f7a6f10d6 --- /dev/null +++ b/npc/003-1/bkinu.txt @@ -0,0 +1,153 @@ +// Evol scripts. +// Author: +// Reid +// Description: +// Blacksmith's assistant of Artis +// Variables: +// ArtisQuests_Enora +// Values: +// 0 Default. +// 1 BlackSmith quest delivered. +// 2 Chelios Quest given. +// 3 Chelios Quest done. +// 4 BlackSmith gave the sword. + +003-1,100,100,0 script Bkinu NPC_PLAYER,{ + + .Item1 = RightCraftyWing; + .Item2 = LeftCraftyWing; + .ItemReward = FlightTalisman; + + function quest_beggining{ + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("my name is karim can you help me?."); + + setq Karim_Quest, 1; + return; + } + + function quest_left { + if (countitem(.Item2) > 0) + { + 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 ; + } + } + + 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 quest_started { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + 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("Quest completed."); + return; + } + + function quest_restart { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("Quest restart."); + setq Karim_Quest, 0; + return; + } + + speech S_LAST_NEXT, l("Can you help me?"); + + do + { + .@karim = getq(Karim_Quest); + select + 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: + quest_completed; + break; + case 2: + quest_started; + break; + case 3: + quest_beggining; + break; + case 4: + quest_restart; + break; + } + } while (@menu != 5); + + closedialog; + goodbye; + close; + +OnInit: + .sex = G_MALE; + .distance = 3; + end; +} + diff --git a/npc/003-1/guard.txt b/npc/003-1/guard.txt new file mode 100644 index 000000000..00b6b14db --- /dev/null +++ b/npc/003-1/guard.txt @@ -0,0 +1,153 @@ +// Evol scripts. +// Author: +// Reid +// Description: +// Blacksmith's assistant of Artis +// Variables: +// ArtisQuests_Enora +// Values: +// 0 Default. +// 1 BlackSmith quest delivered. +// 2 Chelios Quest given. +// 3 Chelios Quest done. +// 4 BlackSmith gave the sword. + +003-1,98,122,0 script Guard NPC_PLAYER,{ + + .Item1 = RightCraftyWing; + .Item2 = LeftCraftyWing; + .ItemReward = FlightTalisman; + + function quest_beggining{ + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("my name is karim can you help me?."); + + setq Karim_Quest, 1; + return; + } + + function quest_left { + if (countitem(.Item2) > 0) + { + 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 ; + } + } + + 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 quest_started { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + 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("Quest completed."); + return; + } + + function quest_restart { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("Quest restart."); + setq Karim_Quest, 0; + return; + } + + speech S_LAST_NEXT, l("Can you help me?"); + + do + { + .@karim = getq(Karim_Quest); + select + 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: + quest_completed; + break; + case 2: + quest_started; + break; + case 3: + quest_beggining; + break; + case 4: + quest_restart; + break; + } + } while (@menu != 5); + + closedialog; + goodbye; + close; + +OnInit: + .sex = G_MALE; + .distance = 3; + end; +} + diff --git a/npc/003-1/inar.txt b/npc/003-1/inar.txt new file mode 100644 index 000000000..473feab19 --- /dev/null +++ b/npc/003-1/inar.txt @@ -0,0 +1,153 @@ +// Evol scripts. +// Author: +// Reid +// Description: +// Blacksmith's assistant of Artis +// Variables: +// ArtisQuests_Enora +// Values: +// 0 Default. +// 1 BlackSmith quest delivered. +// 2 Chelios Quest given. +// 3 Chelios Quest done. +// 4 BlackSmith gave the sword. + +003-1,108,109,0 script Inar NPC_PLAYER,{ + + .Item1 = RightCraftyWing; + .Item2 = LeftCraftyWing; + .ItemReward = FlightTalisman; + + function quest_beggining{ + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("my name is karim can you help me?."); + + setq Karim_Quest, 1; + return; + } + + function quest_left { + if (countitem(.Item2) > 0) + { + 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 ; + } + } + + 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 quest_started { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + 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("Quest completed."); + return; + } + + function quest_restart { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("Quest restart."); + setq Karim_Quest, 0; + return; + } + + speech S_LAST_NEXT, l("Can you help me?"); + + do + { + .@karim = getq(Karim_Quest); + select + 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: + quest_completed; + break; + case 2: + quest_started; + break; + case 3: + quest_beggining; + break; + case 4: + quest_restart; + break; + } + } while (@menu != 5); + + closedialog; + goodbye; + close; + +OnInit: + .sex = G_MALE; + .distance = 3; + end; +} + diff --git a/npc/003-1/jeric.txt b/npc/003-1/jeric.txt new file mode 100644 index 000000000..904645000 --- /dev/null +++ b/npc/003-1/jeric.txt @@ -0,0 +1,153 @@ +// Evol scripts. +// Author: +// Reid +// Description: +// Blacksmith's assistant of Artis +// Variables: +// ArtisQuests_Enora +// Values: +// 0 Default. +// 1 BlackSmith quest delivered. +// 2 Chelios Quest given. +// 3 Chelios Quest done. +// 4 BlackSmith gave the sword. + +003-1,93,125,0 script Jeric NPC_PLAYER,{ + + .Item1 = RightCraftyWing; + .Item2 = LeftCraftyWing; + .ItemReward = FlightTalisman; + + function quest_beggining{ + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("my name is karim can you help me?."); + + setq Karim_Quest, 1; + return; + } + + function quest_left { + if (countitem(.Item2) > 0) + { + 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 ; + } + } + + 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 quest_started { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + 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("Quest completed."); + return; + } + + function quest_restart { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("Quest restart."); + setq Karim_Quest, 0; + return; + } + + speech S_LAST_NEXT, l("Can you help me?"); + + do + { + .@karim = getq(Karim_Quest); + select + 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: + quest_completed; + break; + case 2: + quest_started; + break; + case 3: + quest_beggining; + break; + case 4: + quest_restart; + break; + } + } while (@menu != 5); + + closedialog; + goodbye; + close; + +OnInit: + .sex = G_MALE; + .distance = 3; + end; +} + diff --git a/npc/003-1/luca.txt b/npc/003-1/luca.txt new file mode 100644 index 000000000..2d8ccca75 --- /dev/null +++ b/npc/003-1/luca.txt @@ -0,0 +1,153 @@ +// Evol scripts. +// Author: +// Reid +// Description: +// Blacksmith's assistant of Artis +// Variables: +// ArtisQuests_Enora +// Values: +// 0 Default. +// 1 BlackSmith quest delivered. +// 2 Chelios Quest given. +// 3 Chelios Quest done. +// 4 BlackSmith gave the sword. + +003-1,109,128,0 script Luca NPC_PLAYER,{ + + .Item1 = RightCraftyWing; + .Item2 = LeftCraftyWing; + .ItemReward = FlightTalisman; + + function quest_beggining{ + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("my name is karim can you help me?."); + + setq Karim_Quest, 1; + return; + } + + function quest_left { + if (countitem(.Item2) > 0) + { + 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 ; + } + } + + 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 quest_started { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + 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("Quest completed."); + return; + } + + function quest_restart { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("Quest restart."); + setq Karim_Quest, 0; + return; + } + + speech S_LAST_NEXT, l("Can you help me?"); + + do + { + .@karim = getq(Karim_Quest); + select + 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: + quest_completed; + break; + case 2: + quest_started; + break; + case 3: + quest_beggining; + break; + case 4: + quest_restart; + break; + } + } while (@menu != 5); + + closedialog; + goodbye; + close; + +OnInit: + .sex = G_MALE; + .distance = 3; + end; +} + diff --git a/npc/003-1/malikox.txt b/npc/003-1/malikox.txt new file mode 100644 index 000000000..31d882c6c --- /dev/null +++ b/npc/003-1/malikox.txt @@ -0,0 +1,153 @@ +// Evol scripts. +// Author: +// Reid +// Description: +// Blacksmith's assistant of Artis +// Variables: +// ArtisQuests_Enora +// Values: +// 0 Default. +// 1 BlackSmith quest delivered. +// 2 Chelios Quest given. +// 3 Chelios Quest done. +// 4 BlackSmith gave the sword. + +003-1,114,106,0 script Malivox NPC_PLAYER,{ + + .Item1 = RightCraftyWing; + .Item2 = LeftCraftyWing; + .ItemReward = FlightTalisman; + + function quest_beggining{ + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("my name is karim can you help me?."); + + setq Karim_Quest, 1; + return; + } + + function quest_left { + if (countitem(.Item2) > 0) + { + 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 ; + } + } + + 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 quest_started { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + 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("Quest completed."); + return; + } + + function quest_restart { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("Quest restart."); + setq Karim_Quest, 0; + return; + } + + speech S_LAST_NEXT, l("Can you help me?"); + + do + { + .@karim = getq(Karim_Quest); + select + 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: + quest_completed; + break; + case 2: + quest_started; + break; + case 3: + quest_beggining; + break; + case 4: + quest_restart; + break; + } + } while (@menu != 5); + + closedialog; + goodbye; + close; + +OnInit: + .sex = G_MALE; + .distance = 3; + end; +} + diff --git a/npc/003-1/neko.txt b/npc/003-1/neko.txt new file mode 100644 index 000000000..bb4d6e09f --- /dev/null +++ b/npc/003-1/neko.txt @@ -0,0 +1,153 @@ +// Evol scripts. +// Author: +// Reid +// Description: +// Blacksmith's assistant of Artis +// Variables: +// ArtisQuests_Enora +// Values: +// 0 Default. +// 1 BlackSmith quest delivered. +// 2 Chelios Quest given. +// 3 Chelios Quest done. +// 4 BlackSmith gave the sword. + +003-1,103,106,0 script Neko NPC_PLAYER,{ + + .Item1 = RightCraftyWing; + .Item2 = LeftCraftyWing; + .ItemReward = FlightTalisman; + + function quest_beggining{ + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("my name is karim can you help me?."); + + setq Karim_Quest, 1; + return; + } + + function quest_left { + if (countitem(.Item2) > 0) + { + 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 ; + } + } + + 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 quest_started { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + 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("Quest completed."); + return; + } + + function quest_restart { + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("Quest restart."); + setq Karim_Quest, 0; + return; + } + + speech S_LAST_NEXT, l("Can you help me?"); + + do + { + .@karim = getq(Karim_Quest); + select + 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: + quest_completed; + break; + case 2: + quest_started; + break; + case 3: + quest_beggining; + break; + case 4: + quest_restart; + break; + } + } while (@menu != 5); + + closedialog; + goodbye; + close; + +OnInit: + .sex = G_MALE; + .distance = 3; + end; +} + -- cgit v1.2.3-70-g09d2