From a98312da918620151fd29eb0af73e9bc63b8b785 Mon Sep 17 00:00:00 2001 From: toni Date: Sat, 18 Dec 2010 20:25:19 -0200 Subject: Changes to xmas 2010. --- npc/xmas/2010/golbanez.txt | 242 ++++++++++++++++++++++++++++++++++++--------- npc/xmas/2010/santa.txt | 69 ++++--------- 2 files changed, 213 insertions(+), 98 deletions(-) (limited to 'npc/xmas') diff --git a/npc/xmas/2010/golbanez.txt b/npc/xmas/2010/golbanez.txt index e3c4d488..740a028b 100755 --- a/npc/xmas/2010/golbanez.txt +++ b/npc/xmas/2010/golbanez.txt @@ -7,91 +7,197 @@ //# reviewed by: //# //# This is Golbanez, he took Santa Claus as a hostage. -//# Santa will be freed on Dec24, so players need to pass a labyrinth -//# if the players bring Golbanez stuff, santa will donate some other stuff to the players. +//# Santa will be accessible only if players give what golbenez want. +//# if the player reach santa, he will donate some stuff to the players. //# //################################################################################# -019-1.gat,93,41,0 script #Golbenez#_M 204,{ - set $Golbenez_Santa_Free, gettime(5); +031-3.gat,215,294,0 script Debug 204,{ + + mes "What you want to do?"; + menu + "Change 'Maze'",-, + "Change Golbenez_Inn_Cost(Your Donations)",_cost, + "Change Xmas2010",_xmas, + "Clean all variables.",_clean, + "Nothing",_end; + + mes "Old Value: " + Maze; + input Maze; + mes "New Value: " + Maze; + close; + +_xmas: + mes "Old Value: " + Xmas2010; + input Xmas2010; + mes "New Value: " + Xmas2010; + close; + +_cost: + mes "Old Value: " + Golbenez_Inn_Cost; + input Golbenez_Inn_Cost; + mes "New Value: " + Golbenez_Inn_Cost; + close; + +_clean: + mes "Golbenez_Inn_Cost Old Value: " + Golbenez_Inn_Cost; + set Golbenez_Inn_Cost, 0; + mes "Golbenez_Inn_Cost New Value: " + Golbenez_Inn_Cost; + mes "Maze Old Value: " + Maze; + set Maze, 0; + mes "Maze New Value: " + Maze; + mes "Xmas2010 old value: " + Xmas2010; + set Xmas2010, 0; + mes "Xmas2010 New Value: " + Xmas2010; + mes "Yellow Old Value: " + Yellow; + set Silver, 0; + mes "Yellow New Value: " + Yellow; + mes "White Old Value: " + White; + set Golden, 0; + mes "White New Value: " + White; + mes "Count_White Old Value: " + Count_White; + set Count_White, 0; + mes "Count_White New Value: " + Count_White; + mes "Count_Yellow Old Value: " + Count_Yellow; + set Count_Yellow, 0; + mes "Count_Yellow New Value: " + Count_Yellow; + + + close; - if (gettime(7) > 2010) set $Golbenez_Santa_Free, 25; +_end: + close; + +} - if ($Golbenez_Santa_Free >= 24 || gettime(7) > 2010) goto Glb_Inn_Enough; +031-3.gat,215,296,0 script #Golbenez#_M 204,{ + + if (Golbenez_Inn_Cost >= 5000000) goto Glb_Inn_Enough; + if (Xmas2010 > 0) goto L_Intro; + if (BaseLevel < 40) goto L_Young; mes "[Golbenez]"; mes "\"Mortal! I am Golbenez! I have broken through the barriers of space and time!\""; next; - mes "\"Well to let you know, I have taken Santa Claus, Rudolph and his fellow raindeer hostage.\""; + mes "\"Well to let you know, I am taking Santa Claus and rudolph and the fellow rendiers as hostages.\""; + next; + mes "\"This sounds hard to you maybe... But I need lots of stuff to build the way to the leisure place."; + next; + mes "\"So if you want to have gifts at christmas... we should make a deal: Bring me money."; + next; + menu + "But I am broke!",L_Broke, + "Ok, but how much do you need?",-; + mes "[Golbenez]"; + mes "\"Not much. A few millions would do!\""; + next; + menu + "WHAT! But no one has so much money!",-, + "Ehh... I dont like Christmas anyway... Bye!",L_Close; + + mes "[Golbenez]"; + mes "\"Hey, you think I dont know about your inflation problems? Dont try to fool me, you must be filthy rich!\""; + next; + menu + "Ok, you got me. Im rich!",-, + "Im not rich! But is there any other way to help you?",-; + + mes "[Golbenez]"; + mes "\"Well... What I really want is money, but I can propose a different way to help Santa. When I took Santa as hostage he tried to resist and, in the process of submitting him by force, a lot of present boxes were dropped in the ground.\""; next; - mes "\"This may sound hard to you ... But I need lots of stuff for building the way to place of leisure."; + mes "\"I was intrigued by those boxes... They were Yellow and White. When I finally took control of the situation, I noticed that the monsters in the cave stole all the Boxes! Now, here is my idea: if you get ALL the boxes back to me, I can release santa.\""; next; - mes "\"So if you want to have donations at Christmas... we should make a deal: Bring me money or presents."; + mes "\"Im willing to consider a conversion of each Present Box donated to an amount in Gold Pieces. So, a Yellow Present is equivalent to 50.000 Gold Pieces and a White Present, 100.000 Gold Pieces. I am pretty sure he dropped 40 Yellow and 30 White boxes. So, if you bring me all of them, it would be equivalent to 5 million Gold Pieces, exactly what I was going to ask you.\""; next; - mes "\"Maybe I will release Santa Claus and the raindeer then.\""; + mes "\"But don't be a fool. You will find these presents only with the monsters in the Ice Cave where Santa is hidden.\""; next; - mes "\"But do you really expect a promise to let him free on Christmas?\""; + mes "\"So, bring me Money and/or Present Boxes and Santa can be released. Now, there is one more thing. Santa is in a very complicated Ice Cave in nivalis. I can control all the entrances in this cave. And I will only let you reach Santa after you pay me what I want.\""; next; - mes "\"Uhm well, then you should get away!\""; + mes "\"If you choose to find the present boxes, instead of paying in Gold Pieces, it is going to be easier for you if you bring them in small lots. Don't wait until you have everything. Remember: The more you give me, the closer you can get to santa.\""; next; - mes "\"What do you like to give?\""; + +L_Intro: + if (Xmas2010 == 0) set Xmas2010, 1; + mes "\"So far, you have brought presents and money in a total value of " + Golbenez_Inn_Cost + " gold pieces. The people of your world have brought me " + $Golbenez_Inn_Cost + " gold pieces. What would you like to give?\""; + +L_Menu: menu "I'd like to spend some money.", Glb_money, - "I'd like to give some yellow presents.", -, - "I'd like to give some blue presents.", -, - "I'd like to give some green presents.", -, - "I'd like to give some purple presents.", -, + "I'd like to give some Yellow presents.", -, + "I'd like to give some White presents.", -, "Why do you want present boxes?",Glb_whypresents, "Can I bring other items?", Glb_otheritems, "Nevermind.", Glb_nvm; - // in this array the items should be filled in - setarray @menuitem[2], 4021, 516, 538, 515; - setarray @menuvalue[2], 100000, 20000, 50000, 10000; + // in this array the items should be filled in. Remember to change the ID when the boxes are added to item_db. + setarray @menuitem[2], "3194", "3195"; + setarray @menuvalue[2], 50000, 100000; mes "\"How many presents do you want to give?\""; input @count; if (countitem(@menuitem[@menu]) < @count ) goto Glb_noitems; + if (@menuitem[@menu] == 3194) goto L_Check_Yellow; + if (@menuitem[@menu] == 3195) goto L_Check_White; + +L_Check_Yellow: + if (Count_Yellow >= 40) goto L_Done_Yellow; + if (@count > Yellow) goto L_Fail_Box; delitem @menuitem[@menu], @count; + set Count_Yellow, Count_Yellow + @count; set @Give, (@count * @menuvalue[@menu]); - //mes ""+@Give+""; - set @Gave_Presents, 1; - goto Glb_checkGlAn; + goto Golbenez_pay_presents; -Glb_money: - input @Give; +L_Check_White: + if (Count_White >= 30) goto L_Done_White; + if (@count > White) goto L_Fail_Box; + delitem @menuitem[@menu], @count; + set Count_White, Count_White + @count; + set @Give, (@count * @menuvalue[@menu]); + goto Golbenez_pay_presents; - set @Give, @Give; +L_Fail_Box: + mes "[Golbenez]"; + mes "\"How did you get those present boxes? I am monitoring the cave and I do not remember to see you getting this by yourself. I do not like this.\""; + close; + +L_Done_Yellow: + mes "[Golbenez]"; + mes "\"You already gave me all the Yellow Boxes that I wanted. I don't even want to know how you got these boxes.\""; + close; + +L_Done_White: + mes "[Golbenez]"; + mes "\"You already gave me all the White Boxes that I wanted. I don't even want to know how you got these boxes.\""; + close; +Glb_money: + input @Give; if (@Give <= 0) close; if (zeny < @Give) goto Glb_Inn_NotEnoughZeny; + goto Golbenez_pay; Glb_checkGlAn: - // if a player gave boxes, at least 20 yellows are needed, or lots of others. - if(@Gave_Presents == 1 && @Give<2000000 )goto Golbenez_pay; - // if the @Give amount is below 30% of the players money, just let him pay - if( @Give<100000 || ( 100 * @Give / (zeny+1) )<30 ) goto Golbenez_pay; - set @glob_an$ , "Golbenez: " + strcharinfo(0) + " accounted to free santa"; // depending on the absolute amount setup another global announcement. - if( @Give >10000000 ) goto Golbenez_an_5; - if( @Give > 5000000 ) goto Golbenez_an_4; + if( @Give >3000000 ) goto Golbenez_an_5; + if( @Give > 2000000 ) goto Golbenez_an_4; if( @Give > 1000000 ) goto Golbenez_an_3; - if( @Give > 720000 ) goto Golbenez_an_2; - if( @Give > 355000 ) goto Golbenez_an_1; - - goto Golbenez_an; + if( @Give > 700000 ) goto Golbenez_an_2; + if( @Give > 350000 ) goto Golbenez_an_1; + if (Golbenez_Inn_Cost < 5000000) goto L_Needmore; + if (Golbenez_Inn_Cost >= 5000000) goto Glb_Inn_Enough; + close; Golbenez_an_1: set @glob_an$, @glob_an$ + " with a great effort."; goto Golbenez_an; Golbenez_an_2: - set @glob_an$, @glob_an$ + " with a honest contribution."; + set @glob_an$, @glob_an$ + " with an honest contribution."; goto Golbenez_an; Golbenez_an_3: @@ -108,14 +214,24 @@ Golbenez_an_5: Golbenez_an: announce @glob_an$, 0; + if (Golbenez_Inn_Cost < 5000000) goto L_Needmore; + if (Golbenez_Inn_Cost >= 5000000) goto Glb_Inn_Enough; + close; Golbenez_pay: set Golbenez_Inn_Cost, Golbenez_Inn_Cost + @Give; set $Golbenez_Inn_Cost, $Golbenez_Inn_Cost + @Give; - if (@Gave_Presents == 1) close; set zeny, zeny - @Give; + goto Glb_checkGlAn; + +Golbenez_pay_presents: + set Golbenez_Inn_Cost, Golbenez_Inn_Cost + @Give; + set $Golbenez_Inn_Cost, $Golbenez_Inn_Cost + @Give; + if (Golbenez_Inn_Cost < 5000000) goto L_Needmore; + if (Golbenez_Inn_Cost >= 5000000) goto Glb_Inn_Enough; close; + Glb_Inn_NotEnoughZeny: mes "[Golbenez]"; mes "\"You don't have as much as you say you do. Come back when you can give the gold pieces you say you can.\""; @@ -133,7 +249,7 @@ Glb_nvm: Glb_whypresents: mes "[Golbenez]"; - mes "\"The presents contain some sort of spiritual attachment that aids in the creation of dimensional connections to this plane of existence. The green ones contain the stronger spiritual attachment, followed by the blue and then purple present boxes. But the yellow ones, they have amazing spiritual attachment.\""; + mes "\"The presents contain some sort of spiritual attachment that aids in the creation of dimensional connections to this plane of existence. The White ones contain the stronger spiritual attachment, followed by the Yellow and then green, blue and Purple present boxes. But I am not interested in the last three kinds.\""; close; Glb_otheritems: @@ -141,21 +257,55 @@ Glb_otheritems: mes "\"No you cannot!\""; next; mes "\"I will not discuss any further, mortal!\""; + close; + +Glb_Inn_Toolate: + mes "[Golbenez]"; + mes "\"Stop asking me about that old man... It is too late! I already have what I need...\""; + close; + + + +L_Needmore: + mes "[Golbenez]"; + mes "\"You brought me the equivalent to " +Golbenez_Inn_Cost+ " Gold Pieces. This is not enough.\""; next; - mes "\"So bring me the needed stuff and maybe you get some stuff as a reward, little coward!\""; + mes "\"Keep working. The closer you get to the amount of money I need, the closer you can get to Santa on that big Ice cave.\""; + + if (Golbenez_Inn_Cost >= 500000 && Golbenez_Inn_Cost < 1000000) set Maze, 1; + if (Golbenez_Inn_Cost >= 1000000 && Golbenez_Inn_Cost < 1500000) set Maze, 2; + if (Golbenez_Inn_Cost >= 1500000 && Golbenez_Inn_Cost < 2000000) set Maze, 3; + if (Golbenez_Inn_Cost >= 2000000 && Golbenez_Inn_Cost < 2500000) set Maze, 4; + if (Golbenez_Inn_Cost >= 2500000 && Golbenez_Inn_Cost < 3000000) set Maze, 5; + if (Golbenez_Inn_Cost >= 3000000 && Golbenez_Inn_Cost < 3500000) set Maze, 6; + if (Golbenez_Inn_Cost >= 3500000 && Golbenez_Inn_Cost < 4000000) set Maze, 7; + if (Golbenez_Inn_Cost >= 4000000 && Golbenez_Inn_Cost < 5000000) set Maze, 8; + + close; + +L_Broke: + mes "[Golbenez]"; + mes "\"Then say goodbye to christmas.\""; + close; + +L_Close: + close; + +L_Young: + mes "[Golbenez]"; + mes "\"You are too young, even for mortal standards. You can't do anything to save santa.\""; close; Glb_Inn_Enough: + set Maze, 9; mes "[Golbenez]"; mes "\"Ok mortal!\""; next; - mes "\"I have collected enough for now.\""; - next; - mes "\"This helps me finish the place of leisure.\""; + mes "\"I have collected enough for now. You are now able to reach Santa.\""; next; - mes "\"Although I did not promise I let Santa be free again!\""; + mes "\"This will definitely help me with the leisure place.\""; next; - mes "\"He can be found in some cave around here.\""; + mes "\"Have fun trying to save Santa from that cold maze!\""; close; } diff --git a/npc/xmas/2010/santa.txt b/npc/xmas/2010/santa.txt index 85f46da1..4807d47b 100755 --- a/npc/xmas/2010/santa.txt +++ b/npc/xmas/2010/santa.txt @@ -12,17 +12,16 @@ //# //################################################################################# + 031-3.gat,122,51,0 script Santa 105,{ if (Sex) set @honorific$, "young hero"; if (Sex) set @gender$, "boy"; if (!Sex) set @honorific$, "young heroine"; if (!Sex) set @gender$, "girl"; - if (Xmas2010 == 1) goto L_Returning; - if (Xmas2010 == 2) goto L_Elfhat_Prize; + if (Xmas2010 == 2) goto L_Returning; if (Xmas2010 == 3) goto L_Stocking_Prize; if (Xmas2010 == 4) goto L_Event_Done; - if (Golbenez_Inn_Cost < 50000) goto L_No_Prizes; L_start: mes "The old man's eyes open wide as he sees you."; @@ -34,39 +33,23 @@ L_start: "Im " + strcharinfo(0) + " and I am here to save you from Golbenez.",-; mes "\"I cant believe it... are you really " +strcharinfo(0)+ "? I remember all the comments that... 'Thing' was making about building his way to a 'Leisure Place' and how your donations would really help him.\""; next; - mes "\"What is his name again? Erh... Golbinos? Galvanis? Ho-hum... All I know is that it was keeping me and my raindeer hostage in this cold labyrinth. And you proved yourself a good " +@gender$+ " by helping me with all those donations!\""; + mes "\"What is his name again? Erh... Golbinos? Galvanis? Ho-hum... All I know is that it was keeping me as hostage in this cold labyrinth. And you proved yourself a good " +@gender$+ " by helping me with all those donations!\""; next; if (gettime(6) != 12 || gettime(5) >= 25) goto L_Skip_Dialogue; - mes "\"Well, we are really late! In a few hours we have to start our usual present giving routine... But not before I give you a special gift for all you did.\""; + mes "\"Well, I am really late! In a few hours I have to start my usual present giving routine... But not before I give you a special gift for all you did.\""; next; L_Skip_Dialogue: - mes "\"Let me see... From what I can remember, Galvenio said a " +@gender$+ " called " +strcharinfo(0)+ " donated a total of " +Golbenez_Inn_Cost+ " Golden Pieces!\""; + mes "\"Let me see... From what I can remember, Galvenio said that the only way someone could enter this cave is by giving him at least 5 Million Gold Pieces! It means you really did a good job!\""; next; L_Calculate_Prizes: getinventorylist; if (@inventorylist_count == 100) goto L_full; - if (Golbenez_Inn_Cost >= 5000000) goto L_Elfhat_Prize; - if (Golbenez_Inn_Cost < 500000) goto L_Stocking_Prize; - setarray @prizes[1], 1206, 1216, 629, 630, 634, 1214, 633, 628, 627, 621; - setarray @prizesnames$[1], "Santa Beard Hat", "Mouboo Head", "Mush Hat", "Shroom Hat", "Face Mask", "Bunny Ears", "Christmas Elf Hat", "Funky Hat", "Top Hat", "Eyepatch"; - mes "\"You are so generous! I believe I can give you one of the hats from this bag. I know you like these silly hats. Yes, Santa knows this kind of thing... Ho-Ho-Ho! Which one would you like to get?\""; - -L_Menu_Choices: - menu - @prizesnames$[1],-, - @prizesnames$[2],-, - @prizesnames$[3],-, - @prizesnames$[4],-, - @prizesnames$[5],-, - @prizesnames$[6],-, - @prizesnames$[7],-, - @prizesnames$[8],-, - @prizesnames$[9],-, - @prizesnames$[10],-; - - getitem @prizes[@menu], 1; - set Xmas2010, 1; + setarray @prizes$[0], "Mouboo Head", "Mush Hat", "Shroom Hat", "Face Mask", "Bunny Ears", "Christmas Elf Hat", "Funky Hat", "Top Hat", "Eyepatch"; + mes "\"You are so generous! I believe I can give you one of the hats from this bag. I know you like these silly hats. Yes, Santa knows this kind of thing... Ho-Ho-Ho! Put your hand here and pick one hat... No, you cant look, it MUST be a surprise...\""; + + getitem @prizes$[rand(8)], 1; + set Xmas2010, 2; set Golbenez_Inn_Cost, 0; next; @@ -77,34 +60,20 @@ L_Returning: menu "Yes Santa, you are the best!",L_Close, "Ehh, it is not what I expected.",L_Bad, - "I loved it! Can I have one more, please, please?",-; - - mes "[Santa Claus]"; - mes "\"Hmm... Why not? It would be terrible to deny a request from such a generous person.\""; - next; - set Xmas2010, 3; - goto L_Stocking_Prize; - -L_Elfhat_Prize: - set Xmas2010, 2; - getinventorylist; - if (@inventorylist_count == 100) goto L_full; - mes "[Santa Claus]"; - mes "\"You worked really hard to help us... So, here, take this hat. It belongs to one of my assistants. No, no... No problem at all, I am sure he will be happy to know such a great person is going to use it.\""; - getitem 633, 1; - set Golbenez_Inn_Cost, 0; - set Xmas2010, 3; - next; + "I loved it!",-; L_Stocking_Prize: + set Xmas2010, 3; getinventorylist; if (@inventorylist_count == 100) goto L_full; mes "[Santa Claus]"; - mes "\"I would like to give you a personal item. It is not a hat, but something that will always make you remember how grateful I am.\""; + mes "\"Good to know you liked it! Now I would like to give you a personal item. It is not a hat, but something that will always make you remember how grateful I am.\""; next; - mes "\"Here, take this. I have been using it for the last three months... It means a lot to me.\""; + menu + "Wonderful! Santa, You are great! Is it another hat?",-; + next; + mes "\"No, not a hat. Here, take this. I have been using it for the last three months... It is my favorite and it means a lot to me.\""; getitem 1207, 1; - set Golbenez_Inn_Cost, 0; set Xmas2010, 4; close2; percentheal -20, 0; @@ -131,8 +100,4 @@ L_Event_Done: mes "\"Hello again " +strcharinfo(0)+ "! I cant chat with you right now, because we are really late for Christmas, but, when it is over, you will always be welcome in my house for a hot chocolate.\""; close; -L_No_Prizes: - mes "[Santa Claus]"; - mes "\"Hi " +strcharinfo(0)+ "... Looks like you did not work really hard to set me free...\""; - close; } -- cgit v1.2.3-70-g09d2