valentinesday_2012.txt 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. //===== rAthena Script =======================================
  2. //= Valentine's Day Event (2012)
  3. //===== By: ==================================================
  4. //= Rikimaru
  5. //===== Current Version: =====================================
  6. //= 1.1
  7. //===== Compatible With: =====================================
  8. //= rAthena SVN
  9. //===== Description: =========================================
  10. //= The full Valentine's Day NPCs of the Valentine's Day
  11. //= Event 2012 (account-based).
  12. //===== Additional Comments: =================================
  13. //= 1.0 First version. [Rikimaru]
  14. //= 1.1 Standardized and fixed. [Euphy]
  15. //============================================================
  16. mosk_in,21,246,5 script Pinkamenia 71,{
  17. set .@n$,"^0000FF[Pinkamenia]^000000";
  18. if (#V_QUE12==3) {
  19. set .@LFlowerID,7864;
  20. setarray .@SweetsID[0],538,558,539,573,559,560,12062,596,597,12414,12319;
  21. setarray .@SweetsCost[0],1,2,5,10,10,10,15,15,15,20,20;
  22. mes .@n$;
  23. mes "Hello "+strcharinfo(0)+", do";
  24. mes "you want to buy some items?";
  25. mes "You'll have to give me Love";
  26. mes "Flowers for them, of course!";
  27. next;
  28. if(select("Yes, sure!","No, never mind.") == 2) close;
  29. next;
  30. mes .@n$;
  31. mes "Select an item.";
  32. mes "The amount of Love Flowers you'll need is in brackets.";
  33. for(set .@i,0; .@i < getarraysize(.@SweetsID); set .@i,.@i+1)
  34. set .@menu$, .@menu$+"^00AA00["+.@SweetsCost[.@i]+"]^000000 "+getitemname(.@SweetsID[.@i])+":";
  35. next;
  36. set .@choice, select(.@menu$)-1;
  37. mes .@n$;
  38. if (countitem(.@LFlowerID) < .@SweetsCost[.@choice]) {
  39. mes "You'll need more Love Flowers if you want that!";
  40. close;
  41. }
  42. mes "Are you sure you want to trade ^00aa00"+.@SweetsCost[.@choice]+"x Love Flower ^000000 for ^0055FF"+getitemname(.@SweetsID[.@choice])+"^000000?";
  43. if(select("No, I've changed my mind.:Yes, trade!") == 1) close;
  44. set .@new, .@LFlowerID - .@SweetsCost[.@choice];
  45. if (.@new < 0) set .@new, 0;
  46. delitem .@LFlowerID, .@SweetsCost[.@choice];
  47. getitem .@SweetsID[.@choice],1;
  48. mes "Have fun with your item!";
  49. close;
  50. } else if (#V_QUE12==2) {
  51. mes .@n$;
  52. if (countitem(7864) < 15) {
  53. mes "You have to bring me 15 Love Flowers!";
  54. close;
  55. }
  56. mes "Thank you so much for";
  57. mes "getting our Flowers back!";
  58. delitem 7864,15;
  59. next;
  60. mes .@n$;
  61. mes "Take this as a little";
  62. mes "'thank you'.";
  63. getexp 500000,400000;
  64. getitem 617,1;
  65. getitem 12319,2;
  66. next;
  67. mes .@n$;
  68. mes "If you get more Love";
  69. mes "Flowers, you can exchange";
  70. mes "them for some sweets here.";
  71. mes "See you soon!";
  72. set #V_QUE12,3;
  73. close;
  74. } else if (#V_QUE12==1) {
  75. mes .@n$;
  76. mes "Please bring a +8 Cake Hat";
  77. mes "to the Baker Extraordinaire";
  78. mes "standing next to me!";
  79. close;
  80. } else if (BaseLevel >= 45) {
  81. mes .@n$;
  82. mes "Hello "+strcharinfo(0)+", it's";
  83. mes "Valentine's Day and we";
  84. mes "love to deliver sweet";
  85. mes "chocolates.";
  86. next;
  87. mes .@n$;
  88. mes "Our problem is that we";
  89. mes "need a strong person";
  90. mes "like you who could help";
  91. mes "us, but first you'll have";
  92. mes "to bring a +8 Cake Hat";
  93. mes "to the Baker Extraordinaire, who";
  94. mes "is standing right next to me!";
  95. set #V_QUE12,1;
  96. close;
  97. }
  98. mes .@n$;
  99. mes "Hello "+strcharinfo(0)+"!";
  100. close;
  101. OnInit:
  102. // Unknown item drop rate (currently set at 5%)
  103. setitemscript 5105,"{ bonus bDex,1; bonus bMaxSP,80; bonus3 bAddMonsterDropItem,7864,RC_DemiHuman,500; }",0;
  104. end;
  105. }
  106. mosk_in,21,244,3 script Baker Extraordinaire 410,{
  107. set .@n$,"^0000FF[Baker Extraordinaire]^000000";
  108. if(#V_QUE12==3) {
  109. mes .@n$;
  110. mes "Exchange your Love Flowers with Pinkamenia!";
  111. close;
  112. } else if(#V_QUE12==2) {
  113. mes .@n$;
  114. mes "Bring 15 Love Flowers to Pinkamenia!";
  115. close;
  116. } else if(#V_QUE12==1) {
  117. mes .@n$;
  118. if (getequipid(1) == 5024 && getequiprefinerycnt(1) >= 8) {
  119. mes "Ah, so Pinkamenia told you";
  120. mes "to bring me the +8 Cake";
  121. mes "Hat. Now I'm going";
  122. mes "to exchange your +8 Cake";
  123. mes "Hat for another Cake Hat.";
  124. next;
  125. mes .@n$;
  126. delitem 5024,1;
  127. getitem 5105,1;
  128. equip 5105;
  129. mes "Now, if you wear the";
  130. mes "new Cake Hat, there";
  131. mes "is a chance that";
  132. mes "Demi-Human Monsters will";
  133. mes "drop a Love Flower!";
  134. next;
  135. mes .@n$;
  136. mes "The mobs stole our Flowers,";
  137. mes "which we need to create ";
  138. mes "our chocolates. Now get";
  139. mes "15 Love Flowers and bring";
  140. mes "them to Pinkamenia!";
  141. set #V_QUE12,2;
  142. close;
  143. } else {
  144. mes "Sorry, but where is your";
  145. mes "+8 Cake Hat? Bring";
  146. mes "it to me, and remember";
  147. mes "to have it equipped!";
  148. close;
  149. }
  150. } else {
  151. mes .@n$;
  152. mes "Hello, "+strcharinfo(0)+"!";
  153. close;
  154. }
  155. }