diff options
Diffstat (limited to 'npc/xmas')
-rw-r--r-- | npc/xmas/2010/_import.txt | 2 | ||||
-rw-r--r-- | npc/xmas/2010/golbanez.txt | 194 | ||||
-rw-r--r-- | npc/xmas/2010/santa.txt | 160 |
3 files changed, 356 insertions, 0 deletions
diff --git a/npc/xmas/2010/_import.txt b/npc/xmas/2010/_import.txt new file mode 100644 index 00000000..e68c6992 --- /dev/null +++ b/npc/xmas/2010/_import.txt @@ -0,0 +1,2 @@ +npc: npc/xmas/2010/santa.txt +npc: npc/xmas/2010/golbanez.txt diff --git a/npc/xmas/2010/golbanez.txt b/npc/xmas/2010/golbanez.txt new file mode 100644 index 00000000..5ee9999d --- /dev/null +++ b/npc/xmas/2010/golbanez.txt @@ -0,0 +1,194 @@ +//################################################################################# +//# +//# Golbanez for Christmas 2010 +//# +//# Authors: alastrim, PjotrOrial +//# +//# 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. +//# +//################################################################################# +019-1.gat,96,41,0 script Golbenez-Debug 204,{ + + mes "What you want to do?"; + menu + "Change $Golbenez_Santa_Free(Date of the Month)",-, + "Change Golbenez_Inn_Cost(Your Donations)",_cost, + "Clean all variables.",_clean, + "Nothing",_end; + + mes "Old Value: " + $Golbenez_Santa_Free; + input $Golbenez_Santa_Free; + mes "New Value: " + $Golbenez_Santa_Free; + 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 "$Golbenez_Santa_Free Old Value: " + $Golbenez_Santa_Free; + set $Golbenez_Santa_Free, 0; + mes "$Golbenez_Santa_Free New Value: " + $Golbenez_Santa_Free; + close; + +_end: + close; + +} + +019-1.gat,93,41,0 script #Golbenez#_M 204,{ + set $Golbenez_Santa_Free, gettime(5); + + if (gettime(7) > 2010) set $Golbenez_Santa_Free, 25; + + if ($Golbenez_Santa_Free >= 24 || gettime(7) > 2010) goto Glb_Inn_Enough; + + 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 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 for building the way to the leisure place."; + next; + mes "\"So if you want to have donations at christmas... we should make a deal: Bring me money or presents."; + next; + mes "\"Maybe I will release Santa Claus and the rendiers then.\""; + next; + mes "\"Do you really expect a promise to let him free on christmas?\""; + next; + mes "\"Uhm well, then you should get away!\""; + next; + mes "\"So far, you have brought stuff 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 do you like to give?\""; + + menu + "I'd like to spend some money.", Glb_money, + "I'd like to give some blue presents.", -, + "I'd like to give some green presents.", -, + "I'd like to give some pink 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], 516, 538, 515; + setarray @menuvalue[2], 2000, 5000, 1000; + + mes "\"How many presents do you want to give?\""; + + input @count; + + if (countitem(@menuitem[@menu]) < @count ) goto Glb_noitems; + delitem @menuitem[@menu], @count; + set @Give, (@count * @menuvalue[@menu]); + set @Gave_Presents, 1; + goto Glb_checkGlAn; + +Glb_money: + input @Give; + + set @Give, @Give; + + if (@Give <= 0) close; + if (zeny < @Give) goto Glb_Inn_NotEnoughZeny; + +Glb_checkGlAn: + + // if the @Give amount is below 30% of the players money, just let him pay + if( @Give<10000 || ( 100 * @Give / zeny )<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 >1000000 ) goto Golbenez_an_5; + if( @Give > 500000 ) goto Golbenez_an_4; + if( @Give > 100000 ) goto Golbenez_an_3; + if( @Give > 72000 ) goto Golbenez_an_2; + if( @Give > 35500 ) goto Golbenez_an_1; + + goto Golbenez_an; + +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."; + goto Golbenez_an; + +Golbenez_an_3: + set @glob_an$, @glob_an$ + " with a great effort. Such a generous person."; + goto Golbenez_an; + +Golbenez_an_4: + set @glob_an$, @glob_an$ + " with a remarkable effort. Impressive!"; + goto Golbenez_an; + +Golbenez_an_5: + set @glob_an$, @glob_an$ + " with a huge effort. What a honorable donation!"; + goto Golbenez_an; + +Golbenez_an: + announce @glob_an$, 0; + +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; + 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.\""; + close; + +Glb_noitems: + mes "[Golbenez]"; + mes "\"You don't have as many as you say you do. Come back when you have enough.\""; + close; + +Glb_nvm: + mes "[Golbenez]"; + mes "\"That's too bad.\""; + close; + +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 pink present boxes.\""; + next; + mes "\"Im willing to consider a conversion of each Present Box donated to an amount in Gold Pieces. So, a Green Present is equivalent to 5000 Gold Pieces, a Blue Present, 2000 Gold Pieces and a Pink Present, 1000 Gold Pieces.\""; + close; + +Glb_otheritems: + mes "[Golbenez]"; + mes "\"No you cannot!\""; + next; + mes "\"I will not discuss any further, mortal!\""; + next; + mes "\"So bring me the needed stuff and maybe you get some stuff as a reward, little coward!\""; + close; + +Glb_Inn_Enough: + mes "[Golbenez]"; + mes "\"Ok mortal!\""; + next; + mes "\"I have collected enough for now.\""; + next; + mes "\"This helps me working on the leisure place.\""; + next; + mes "\"Although I did not promise I let Santa be free again!\""; + next; + mes "\"He can be found in some cave around here.\""; + close; +} + + diff --git a/npc/xmas/2010/santa.txt b/npc/xmas/2010/santa.txt new file mode 100644 index 00000000..4b95a142 --- /dev/null +++ b/npc/xmas/2010/santa.txt @@ -0,0 +1,160 @@ +//################################################################################# +//# +//# Santa for Christmas 2010 +//# +//# Authors: alastrim, PjotrOrial +//# +//# reviewed by: +//# +//# This is Santa Claus. +//# He was taken as hostage by golbanez, and now that he is free, he would like to +//# give a reward for those who helped him. +//# +//################################################################################# + +031-3.gat,122,55,0 script Debug 105,{ + + mes "What do you want to do?"; + + menu + "Change Golbenez_Inn_Cost.",-, + "Change Xmas2010.",_xmas, + "Nothing.",_end; + + mes "Old Value: " + Golbenez_Inn_Cost; + input Golbenez_Inn_Cost; + mes "New Value: " + Golbenez_Inn_Cost; + close; +_xmas: + mes "Old Value: " + Xmas2010; + input Xmas2010; + mes "New Value: " + Xmas2010; + close; +_end: + close; +} + +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 == 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."; + next; + mes "[Santa Claus]"; + mes "\"Ho-Ho-ho! It is so good to see you here " +@honorific$+ "!\""; + next; + menu + "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 fellow rendiers as hostages 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.\""; + 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!\""; + next; + +L_Calculate_Prizes: + getinventorylist; + if (@inventorylist_count == 100) goto L_full; + if (Golbenez_Inn_Cost >= 500000 && Golbenez_Inn_Cost < 1000000) goto L_Elfhat_Prize; + if (Golbenez_Inn_Cost >= 50000 && 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; + set Golbenez_Inn_Cost, 0; + next; + +L_Returning: + mes "[Santa Claus]"; + mes "\"I hope you liked your gift.\""; + next; + 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; + +L_Stocking_Prize: + 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.\""; + next; + mes "\"Here, take this. I have been using it for the last three months... It means a lot to me.\""; + getitem 1207, 1; + set Golbenez_Inn_Cost, 0; + set Xmas2010, 4; + close2; + percentheal -20, 0; + message strcharinfo(0), "You suddenly get dizzy... Something is not right with you. Maybe you shouldnt have put the Red Stocking so close to your face!"; + end; + +L_Full: + mes "[Santa Claus]"; + mes "\"Your backpack seems to be full. You should get rid of some unused stuff before you get my gifts, or maybe try one super resistant red bag, my personal favorite! Hoh-hoh!\""; + close; + +L_Close: + mes "[Santa Claus]"; + mes "\"Ho, Ho... Ok, see you later " +@honorific$+ "!\""; + close; + +L_Bad: + mes "[Santa Claus]"; + mes "\"Hmm... and I was thinking you were a good " +@gender$+ "! Dont be ungrateful and next time, think before you get a gift.\""; + close; + +L_Event_Done: + mes "[Santa Claus]"; + 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; +} |