diff options
author | Ben Longbons <b.r.longbons@gmail.com> | 2011-06-18 21:58:47 -0700 |
---|---|---|
committer | Ben Longbons <b.r.longbons@gmail.com> | 2011-06-19 14:19:55 -0700 |
commit | bae4b92e560c2694eaaf0e8b4d9e95e56204471b (patch) | |
tree | 4acc120f6a94cfbf9694bf344658493de5aaa67b /npc/020-2/baktar.txt | |
parent | 319f80526f8585ecadaec986e37c9bd326f4d363 (diff) | |
download | serverdata-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.txt | 388 |
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; -} - |