summaryrefslogtreecommitdiff
path: root/npc/020-2/baktar.txt
diff options
context:
space:
mode:
authorBen Longbons <b.r.longbons@gmail.com>2011-06-18 21:58:47 -0700
committerBen Longbons <b.r.longbons@gmail.com>2011-06-19 14:19:55 -0700
commitbae4b92e560c2694eaaf0e8b4d9e95e56204471b (patch)
tree4acc120f6a94cfbf9694bf344658493de5aaa67b /npc/020-2/baktar.txt
parent319f80526f8585ecadaec986e37c9bd326f4d363 (diff)
downloadserverdata-bae4b92e560c2694eaaf0e8b4d9e95e56204471b.tar.gz
serverdata-bae4b92e560c2694eaaf0e8b4d9e95e56204471b.tar.bz2
serverdata-bae4b92e560c2694eaaf0e8b4d9e95e56204471b.tar.xz
serverdata-bae4b92e560c2694eaaf0e8b4d9e95e56204471b.zip
Move to a subdirectory
Diffstat (limited to 'npc/020-2/baktar.txt')
-rw-r--r--npc/020-2/baktar.txt388
1 files changed, 0 insertions, 388 deletions
diff --git a/npc/020-2/baktar.txt b/npc/020-2/baktar.txt
deleted file mode 100644
index 1bcbf152..00000000
--- a/npc/020-2/baktar.txt
+++ /dev/null
@@ -1,388 +0,0 @@
-//#=========================
-//#== NPC Baktar
-//# Authors: Lien, PjotrOrial
-//# Review: BigCrunch, Mistakes, Jenalya
-//# This NPC has two stages:
-//#
-//# In the first stage you need to bring 7 different items, but only one of each kind.
-//#
-//# In the second stage he tells you what hard life he is living. He will be very aggressive telling you some stuff.
-//# He will send you to kill Scroticular. That npc will be located in the labyrinth caves.
-//# (its a mob actually, to be spawned only, if the players knows his name and his location)
-//#
-//# variables used:
-//# @QUEST_Nivalis_state: NIBBLE0, NIBBLE1, NIBBLE2, NIBBLE3:
-//# BYTE0 ( == NIBBLE0 | NIBBLE1) stores in each bit information if that item was already brought.
-//# bits:
-//# bit 0 if you have met the npc already
-//# bit 1 Desert Hat
-//# bit 2 Desert Shirt
-//# bit 3 Serf Hat
-//# bit 4 tongue_Item
-//# bit 5 eggs_Item
-//# bit 6 skin_Item
-//# bit 7 bugleg
-//# NIBBLE2 store the progress after the item collecting stage:
-//# =0 he will thank you for bringing all stuff.
-//# =1 talking about his youth
-//# =2 talking, you get the mission to hunt down Scroticular
-//# =3 you get information where Scroticular can be found.
-//# NIBBLE3 a bitmasking nibble for stage 2 again
-//# bit 0 knows the name/location of the opponent
-//# bit 1 killed the ugly opponent
-//#=========================
-020-2.gat,70,61,0 script Baktar 191,{
- set @npcname$, "[Baktar]";
-
- set @Q_MASK, BYTE_0_MASK;
- set @Q_SHIFT, BYTE_0_SHIFT;
- set @Q_status, ((QUEST_Nivalis_state) & @Q_MASK) >> @Q_SHIFT;
-
- set @Q_MASK2, NIBBLE_2_MASK;
- set @Q_SHIFT2, NIBBLE_2_SHIFT;
- set @Q_status2, ((QUEST_Nivalis_state) & @Q_MASK2) >> @Q_SHIFT2;
-
- set @Q_MASK2_BITS, NIBBLE_3_MASK;
- set @Q_SHIFT2_BITS, NIBBLE_3_SHIFT;
- set @Q_status2_bits, ((QUEST_Nivalis_state) & @Q_MASK2_BITS) >> @Q_SHIFT2_BITS;
-
- // if all bits are set, you brought him everything! Now we continue in Phase 2 of this npc.
- // this is not ready yet, so do not enable that stage
- // if(@Q_status == @Q_MASK) goto L_2_init;
-
- set @BIT_KNOWHIM, 0;
-
- set @BIT_DESERTHAT,1;
- set @MONEY_DESERTHAT, 1500;
- set @XP_DESERTHAT, 500;
-
- set @BIT_DESERTSHIRT,2;
- set @MONEY_DESERTSHIRT, 1500;
- set @XP_DESERTSHIRT, 600;
-
- set @BIT_SERFHAT,3;
- set @MONEY_SERFHAT, 800;
- set @XP_SERFHAT, 350;
-
- set @BIT_MS_TONGUE,4;
- set @MONEY_MS_TONGUE, 800;
- set @XP_MS_TONGUE, 350;
-
- set @BIT_MS_EGG,5;
- set @MONEY_MS_EGG, 800;
- set @XP_MS_EGG, 350;
-
- set @BIT_SNAKESKIN,6;
- set @MONEY_SNAKESKIN, 800;
- set @XP_SNAKESKIN, 350;
-
- set @BIT_BUGLEG,7;
- set @MONEY_BUGLEG, 20;
- set @XP_BUGLEG, 130;
-
- if(sex)
- set @type$, "man";
- if(!sex)
- set @type$, "woman";
-
- if(@Q_status & (1<<@BIT_KNOWHIM)) goto L_KnowAlready;
- mes @npcname$;
- mes "\"Hello, " + @type$ + ", did you come from Tulimshar? Because you have a nice tan. \"";
- menu
- "Yes, I'm from Tulimshar", L_exotic,
- "Well, I just like sunbathing", -,
- "Good bye", -;
- close;
-
-L_KnowAlready:
- mes @npcname$;
- mes "\"I love Tulimshar's stuff. I'm collecting souvenirs from Tulimshar to help remind me of all the great times I had there. If you give me an interesting item from the area, I'll give you a nice reward. So, you have a new item?\"";
- goto L_startitem;
-close;
-
-L_exotic:
- mes @npcname$;
- mes "\"I said that because I love Tulimshar's stuff...I'm collecting souvenirs from Tulimshar to help remind me of all the great times I had there. If you give me an interesting item maybe I can give you a nice reward. But I don't need a lot, I just need one of each item.\"";
- menu "I have some items on me maybe you'll like them ", L_startitem,
- "Don't touch my stuff!", -,
- "I'll get them. Bye.", -;
- close;
-
-L_startitem:
- setarray @exotic_item$, "", "", "", "", "", "", "";
- set @c, 0;
- set @Q_status, @Q_status | (1<<@BIT_KNOWHIM);
- callsub S_Update_Var;
- if (countitem("DesertHat") < 1 || @Q_status & (1<<@BIT_DESERTHAT) ) goto L_DesertShirt;
- set @exotic_item$[@c], "a Desert Hat ?";
- set @menuid[@c], 0;
- set @c, @c + 1;
-
-L_DesertShirt:
- if (countitem("DesertShirt") < 1 || @Q_status & (1<<@BIT_DESERTSHIRT) ) goto L_SerfHat;
- set @exotic_item$[@c], "a Desert Shirt ?";
- set @menuid[@c], 1;
- set @c, @c + 1;
-
-L_SerfHat:
- if (countitem("SerfHat") < 1 || @Q_status & (1<<@BIT_SERFHAT) ) goto L_tongue;
- set @exotic_item$[@c], "a Serf Hat ?";
- set @menuid[@c], 2;
- set @c, @c + 1;
-
-L_tongue:
- if (countitem("MountainSnakeTongue") < 1 || @Q_status & (1<<@BIT_MS_TONGUE)) goto L_egg;
- set @exotic_item$[@c], "a Mountain Snake Tongue ?";
- set @menuid[@c], 3;
- set @c, @c + 1;
-
-L_egg:
- if (countitem("MountainSnakeEgg") < 1 || @Q_status & (1<<@BIT_MS_EGG)) goto L_Skin;
- set @exotic_item$[@c], "a Mountain Snake Egg?";
- set @menuid[@c], 4;
- set @c, @c + 1;
-
-L_Skin:
- if (countitem("SnakeSkin") < 1 || @Q_status & (1<<@BIT_SNAKESKIN)) goto L_bugleg;
- set @exotic_item$[@c], "a Snake Skin?";
- set @menuid[@c], 5;
- set @c, @c + 1;
-
-L_bugleg:
- if (countitem("BugLeg") < 1 || @Q_status & (1<<@BIT_BUGLEG)) goto L_NeverMind;
- set @exotic_item$[@c], "a Bug Leg?";
- set @menuid[@c], 6;
- set @c, @c + 1;
-
-L_NeverMind:
- set @exotic_item$[@c], "Nevermind";
- set @menuid[@c], 6;
-//menu for the item
- menu
- @exotic_item$[0], -,
- @exotic_item$[1], -,
- @exotic_item$[2], -,
- @exotic_item$[3], -,
- @exotic_item$[4], -,
- @exotic_item$[5], -,
- @exotic_item$[6], -;
-
- set @menu, @menu -1;
-
- if (@menuid[@menu] == 0) goto L_DesertHat_Item;
- if (@menuid[@menu] == 1) goto L_DesertShirt_Item;
- if (@menuid[@menu] == 2) goto L_SerfHat_Item;
- if (@menuid[@menu] == 3) goto L_tongue_Item;
- if (@menuid[@menu] == 4) goto L_egg_Item;
- if (@menuid[@menu] == 5) goto L_skin_Item;
- if (@menuid[@menu] == 6) goto L_BugLegItem;
-//if Never mind
- mes @npcname$;
- mes "\"Ok, goodbye then.\"";
- close;
-L_DesertHat_Item:
- if(@Q_status & (1<<@BIT_DESERTHAT)) goto L_havealready;
- if (countitem("DesertHat") < 1) goto L_Noitem;
- delitem "DesertHat", 1;
- set zeny, zeny + @MONEY_DESERTHAT;
- getexp @XP_DESERTHAT,0;
- set @Q_status, @Q_status | (1<<@BIT_DESERTHAT);
- callsub S_Update_Var;
- close;
-L_DesertShirt_Item:
- if(@Q_status & (1<<@BIT_DESERTSHIRT)) goto L_havealready;
- if (countitem("DesertShirt") < 1) goto L_Noitem;
- delitem "DesertShirt", 1;
- set zeny, zeny + @MONEY_DESERTSHIRT;
- getexp @XP_DESERTSHIRT,0;
- set @Q_status, @Q_status | (1<<@BIT_DESERTSHIRT);
- callsub S_Update_Var;
- close;
-L_SerfHat_Item:
- if(@Q_status & (1<<@BIT_SERFHAT)) goto L_havealready;
- if (countitem("SerfHat") < 1) goto L_Noitem;
- delitem "SerfHat", 1;
- set zeny, zeny + @MONEY_SERFHAT;
- getexp @XP_SERFHAT,0;
- set @Q_status, @Q_status | (1<<@BIT_SERFHAT);
- callsub S_Update_Var;
- close;
-L_tongue_Item:
- if(@Q_status & (1<<@BIT_MS_TONGUE)) goto L_havealready;
- if (countitem("MountainSnakeTongue") < 1) goto L_Noitem;
- delitem "MountainSnakeTongue", 1;
- set zeny, zeny + @MONEY_MS_TONGUE;
- getexp @XP_MS_TONGUE,0;
- set @Q_status, @Q_status | (1<<@BIT_MS_TONGUE);
- callsub S_Update_Var;
-close;
-L_egg_Item:
- if(@Q_status & (1<<@BIT_MS_EGG)) goto L_havealready;
- if (countitem("MountainSnakeEgg") < 1) goto L_Noitem;
- delitem "MountainSnakeEgg", 1;
- set zeny, zeny + @MONEY_MS_EGG;
- getexp @XP_MS_EGG,0;
- set @Q_status, @Q_status | (1<<@BIT_MS_EGG);
- callsub S_Update_Var;
-close;
-L_skin_Item:
- if(@Q_status & (1<<@BIT_SNAKESKIN)) goto L_havealready;
- if (countitem("SnakeSkin") < 1) goto L_Noitem;
- delitem "SnakeSkin", 1;
- set zeny, zeny + @MONEY_SNAKESKIN;
- getexp @XP_SNAKESKIN,0;
- set @Q_status, @Q_status | (1<<@BIT_SNAKESKIN);
- callsub S_Update_Var;
-close;
-L_BugLegItem:
- if(@Q_status & (1<<@BIT_BUGLEG)) goto L_havealready;
- if (countitem("BugLeg") < 1) goto L_Noitem;
- delitem "BugLeg", 1;
- set zeny, zeny + @MONEY_BUGLEG;
- getexp @XP_BUGLEG,0;
- set @Q_status, @Q_status | (1<<@BIT_BUGLEG);
- callsub S_Update_Var;
-close;
-
-L_Noitem:
- mes @npcname$;
- mes "\"Well, if you happen to get items from Tulimshar, see me first before you sell anything.\"";
- close;
-
-L_havealready:
- mes @npcname$;
- mes "\"I already collected what you can offer me.\"";
- close;
-
-S_Update_Var:
- set QUEST_Nivalis_state,
- (QUEST_Nivalis_state & ~(@Q_MASK)
- | (@Q_status << @Q_SHIFT));
- return;
-
-
-
-//# The following stage is completely cutoff the first.
-//# So there is no linking between the upper and lower part, except for one goto at the very beginning
-//
-
-L_2_init:
-
-//# NIBBLE3 a bitmasking nibble for stage 2 again
-//# bit 0 knows the name of the opponent
-//# bit 1 killed the ugly opponent
- set @BIT_KNOWS_NAME, 0;
- set @BIT_KILLED_HIM, 1;
-
- if (@Q_status2 == 1) goto L_2_talk1;
- if (@Q_status2 == 2) goto L_2_talk2;
- if (@Q_status2 == 3) goto L_2_talk3;
- if (@Q_status2 == 4) goto L_2_talk4;
- // fall through @Q_status2==0:
- // need to thank for bringing all stuff.
- mes @npcname$;
- mes "\"Thanks a lot for bringing me all this nice stuff!\"";
- next;
- mes "\"That helps me a lot. You see over there is already another set I collected: There are some pieces of the Hurnscald town. That sign there has been stolen from the inn.\"";
- next;
- mes "\"But do not tell anyone, please! I really like collecting things. And that sign is one of the first things I organized.\"";
- next;
- mes "\"So thank you for bringing me that stuff for my desert collection\"";
- next;
- mes "\"Do you have an idea how to arrange that to make it cool looking for my admirers?\"";
- next;
- set @Q_status2, 1;
- callsub S_Update_Var2;
- close;
-
-L_2_talk1:
- mes @npcname$;
- mes "\"In my childhood I was called a packrat, because I collected old cans.\"";
- next;
- mes "\"But everybody does collect things right?\"";
- next;
- mes "\"So after I had collected way over 1000 cans, I started collecting snail-shells. Nice? Do you like that?\"";
- next;
- mes "\"Not many people like me. And I don't know why. It is nice to talk about such nice things. What did you collect in your childhood?\"";
- next;
- mes "He picks in his nose";
- next;
- mes @npcname$;
- mes "\"Ok erm, talk to you later.\"";
- next;
- mes "\"Ok.\"";
- set @Q_status2, 2;
- callsub S_Update_Var2;
- close;
-
-L_2_talk2:
- mes @npcname$;
- mes "\"Could you do me a favor? This ugly guy, who always attacked me....\"";
- next;
- mes "\"*sob*\"";
- next;
- mes "\"I was always bullied by him. You know in early childhood we were very nice friends. We played some roleplaying. He was the captain, and I was the soldier.";
- next;
- mes "\"Or another day he was the chieftain and I was the redskin.\"";
- next;
- mes "\"But to tell you the truth, HE was ALWAYS the one who directed me.\"";
- next;
- mes "\"I DO NOT LIKE THAT!\"";
- next;
- mes "\"I WANT TO BE THE LEADER!\"";
- next;
- mes "\"STOP HIM DOING NASTY THINGS\"";
- next;
- mes "\"I WANT YOU TO KILL THAT BASTARD!!\"";
- set @Q_status2, 3;
- callsub S_Update_Var2;
- close;
-
-L_2_talk3:
- menu "Ok, I am a professional in doing such things", L_2_professional,
- "Hey do you really mean it? ", L_2_professional,
- "You calmed down again?", -,
- "Oh a packrat! By the way, is that trash over there yours?", L_2_name,
- "Nevermind", -;
- mes @npcname$;
- mes "\"Get out of my way, prank!\"";
- close;
-
-L_2_professional:
- mes @npcname$;
- mes "\"What are you talking about?\"";
- goto L_2_talk3;
-
-L_2_name:
- mes @npcname$;
- mes "\"ONE DAY I WILL GET A HUGE REVENGE!\"";
- next;
- mes "\"AND I MEAN IT!\"";
- next;
- mes "\"You see I am a dangerous killer. Last week I killed five slimes and a pinkie!\"";
- next;
- mes "He takes out a piece of paper... mumbling";
- mes "\"Ok Scroticular first, and then ...\"";
- set @Q_status2, 4;
- set @Q_status2_bits, @Q_status2_bits | (1<<@BIT_KNOWS_NAME);
- callsub S_Update_Var2;
-
- mes @npcname$;
- mes "\"What is your name again?\"";
-
- menu "I am sorry for the joke... Please forgive me", -,
- "They call me Mistakes. I am a professional killer as well. You heard about that business in the terranite cave?", -;
- mes @npcname$;
- mes "\"Alright, I see. Ok maybe I really need to calm down. Please leave me alone... I will try to calm down, ok?\"";
- close;
-
-S_Update_Var2:
- set QUEST_Nivalis_state,
- (QUEST_Nivalis_state & ~(@Q_MASK2)
- | (@Q_status2 << @Q_SHIFT2));
- set QUEST_Nivalis_state,
- (QUEST_Nivalis_state & ~(@Q_MASK2_BITS)
- | (@Q_status2_bits << @Q_SHIFT2_BITS));
- return;
-}
-