//Le Livre d'Ymir http://www.bookofymir.net/ //traduit par No Healing //===== eAthena Script ======================================= //= iRO Valentine's Day Event (2009) //===== By: ================================================== //= Kisuka //===== Current Version: ===================================== //= 1.3 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= //= iRO Valentine's Day Event. (2009) //= Make Chocolate/Chocolate Boxes/Home-Made Chocolate. //= Make Valentine's Rings/Boxes. //= Trade rings to those of opposite gender. //= Register rings you have gotten for votes. //= //= The male and female with the most votes at the end of //= the event will receive item (14466) from GM team. //= //= Must enable the event items in item_db2 and item_trade! //===== Additional Comments: ================================= //= 1.0 First version. [Kisuka] //= 1.1-1.2 Fixed exploits with unlimited rings and non deleting choco [Lupus] //= 1.3 Some Changes. [Kisuka] //============================================================ // Marco Bassinio (Chocolate/Chocolate Box maker) prontera,164,174,4 script Marco Bassinio::Trader#Val09 58,{ mes "[Marco Bassinio]"; mes "Oyez, oyez! Voici quelque chose d'unique! Quelque chose d'attirant! Quelque chose de... Oserai-je le dire? Oui, messieurs, mesdames, quelque chose de sexy! Nulle part ailleurs dans Rune-Midgard vous ne trouverez son pareil! Croyez-moi, une seule bouchée suffira à vous convaincre!"; next; mes "[Marco Bassinio]"; mes "Oh oui, je vous parle de la friandise parfaite, du joyau sur le gâteau de l'amour! Pour les gastronomes et les amoureux, voici du chocolat fait maison! Spécialement pour les connaisseurs! Et seulement 5000z pièce!"; next; switch(select("J'en voudrais, s'il vous plaît!:Je voudrais faire emballer du chocolat.!:Quitter la conversation.")) { case 1: mes "[Marco Bassinio]"; mes "Haha! Très "+ ( sex ? "cher" : "chère" ) +", ce chocolat ne saurait être comparé à nul autre! Chaque morceau est fait avec dévotion, et votre palet frétillera devant tant de délicatesse et d'amour du travail bien fait!"; next; mes "[Marco Bassinio]"; mes "C'est pour cette raison que je ne pourrai pas vous en vendre plus de cinq morceaux. Revenez me voir si vous en voulez vraiment plus. Mais dites-moi... Combien en voulez-vous au juste?"; next; while(.@input <= 0 || .@input > 5) { input .@input; if (.@input < 1) { mes "[Marco Bassinio]"; mes "Oh, quel dommage! Vous n'avez pas idée de l'opportunité que vous laissez passer! Vous le regretterez, croyez-moi!"; next; mes "[Marco Bassinio]"; mes "N'oubliez pas: vous n'en trouverez de pareils nulle part ailleurs! Revenez quand vous voulez si vous changez d'avis."; close; } if (.@input > 5) { mes "[Marco Bassinio]"; mes "Oh mais... Ne vous avais-je pas prévenu"+ ( sex ? "" : "e" ) +"? Je ne peux vendre que cinq morceaux par personne."; next; mes "[Marco Bassinio]"; mes "Vous savez, il s'agit de quelque chose de vraiment unique. Trop en manger n'est pas vraiment conseillé."; next; } } if (!checkweight(558, .@input)) { mes "[Marco Bassinio]"; mes "Vous portez trop d'objets sur vous. Revenez après avoir utilisé les services Kafra."; close; } set .@price, .@input * 5000; if (Zeny < .@price) { mes "[Marco Bassinio]"; mes "Oh mais on dirait que vous n'avez pas assez de zénys sur vous. Vous devriez vous dépêcher d'en emprunter à un de vos proches: je ne serai pas là tous les jours!"; close; }else{ mes "[Marco Bassinio]"; mes "Fantastique! Cela fera un cadeau parfait! Vous savez, il est normalement impossible d'acheter du chocolat de cette qualité..."; next; mes "[Marco Bassinio]"; mes "Revenez si vous en voulez plus. Vous devriez en profiter tant que vous en avez l'occasion..."; set Zeny,Zeny - .@price; getitem 558,.@input; close; } case 2: mes "[Marco Bassinio]"; mes "Si vous voulez emballer du chocolat pour l'offrir, il vous faudra bien sûr le chocolat en question, mais aussi un emballage cadeau, mais aussi du ruban et une boîte."; next; mes "[Marco Bassinio]"; mes "Il vous faudra aussi payer 500 zénys pour inscrire votre nom sur la boîte. Avez-vous tout cela?"; next; if(countitem(7175) < 1 || countitem(7174) < 1 || countitem(7948) < 1 || Zeny < 500) { mes "[Marco Bassinio]"; mes "Hum... On dirait que vous n'avez pas tout ce qu'il faut vous faire votre emballage. Vous ne pouvez pas offrir du chocolat dans une simple boîte, vous ne pensez pas?"; next; mes "[Marco Bassinio]"; mes "Il faudra que vous m'apportiez du Papier Cadeau, du ruban, et une boîte. Oh, et il me faudra aussi 500 zénys. Et n'oubliez pas de venir avec votre "+ ( sex ? "amoureux" : "amoureuse" ) +"!"; close; } if(countitem(558) < 1) { mes "[Marco Bassinio]"; mes "Oh mais je suis désolé mais je ne peux pas créer quelque chose comme ça! Je ne suis pas un alchimiste, et encore moins un magicien, vous savez?"; next; mes "[Marco Bassinio]"; mes "Mais ôtez-moi d'un doute... Vous n'êtes pas en train de me dire que vous voulez une boîte à chocolats sans chocolats, n'est-ce pas?"; close; } if (!checkweight(12744,1)) { mes "[Marco Bassinio]"; mes "Vous portez trop d'objets sur vous. Revenez après avoir utilisé les services Kafra."; close; } mes "[Marco Bassinio]"; mes "Ah, voilà! Voici votre boîte à chocolats, avec votre nom inscrit dessus! N'est-ce pas merveilleux? Regardez comme le nom ressort sur la boîte!"; next; delitem 558,1; delitem 7175,1; delitem 7174,1; delitem 7948,1; set Zeny,Zeny-500; getnameditem 12744,strcharinfo(0); mes "[Marco Bassinio]"; mes "Joyeuse Saint Valentin! Je ne suis revenu que pour cette fête!"; close; case 3: mes "[Marco Bassinio]"; mes "Oh, quel dommage! Vous n'avez pas idée de l'opportunité que vous laissez passer! Vous le regretterez, croyez-moi!"; next; mes "[Marco Bassinio]"; mes "N'oubliez pas: vous n'en trouverez de pareils nulle part ailleurs! Revenez quand vous voulez si vous changez d'avis."; close; } } // Packs Trader (Sells Wrapping Paper, Lace, and Box) prontera,147,171,5 script Emballages Cadeaux::Packs Trader#Val09 58,{ mes "[Emballages Cadeaux]"; mes ( isday() ? "Bonjour" : "Bonsoir" ) + ". Je vends des emballages cadeaux: du papier, des boîtes, et du ruban."; next; while(1) { mes "[Emballages Cadeaux]"; mes "Voulez-vous m'acheter quelque chose?"; next; switch(select("Emballage Cadeau:Ruban:Boîte:Quitter la Conversation.")) { case 1: mes "[Emballages Cadeaux]"; mes "Je demande 200 zénys par emballage cadeau. Combien en voulez-vous? Vous ne pouvez en acheter plus de dix à la fois."; next; input .@input; if (.@input <= 0) { mes "[Emballages Cadeaux]"; mes "Vous ne voulez rien acheter? Eh bien revenez quand vous aurez changé d'avis."; close; } if (.@input > 10) { mes "[Emballages Cadeaux]"; mes "Comme je vous l'ai dit, je ne peux pas en vendre plus de dix à la fois..."; next; break; } if (!checkweight(7175,.@input)) { mes "[Emballages Cadeaux]"; mes "Vous portez trop d'objets sur vous. Revenez après avoir utilisé les services Kafra."; close; } set .@price, .@input * 200; if (Zeny < .@price) { mes "[Emballages Cadeaux]"; mes "Mais, regardez dans votre porte-feuille: vous n'avez pas assez d'argent!"; next; break; }else{ mes "[Emballages Cadeaux]"; mes "Et voilà pour vous! J'espère que vous passerez une bonne Saint Valentin!"; set Zeny,Zeny-.@price; getitem 7175,.@input; next; break; } case 2: mes "[Emballages Cadeaux]"; mes "Je demande 200 zénys par ruban. Combien en voulez-vous? Vous ne pouvez en acheter plus de dix à la fois."; next; input .@input; if (.@input <= 0) { mes "[Emballages Cadeaux]"; mes "Vous ne voulez rien acheter? Eh bien revenez quand vous aurez changé d'avis."; close; } if (.@input > 10) { mes "[Emballages Cadeaux]"; mes "Comme je vous l'ai dit, je ne peux pas en vendre plus de dix à la fois..."; next; break; } if (!checkweight(7174,.@input)) { mes "[Emballages Cadeaux]"; mes "Vous portez trop d'objets sur vous. Revenez après avoir utilisé les services Kafra."; close; } set .@price, .@input * 200; if (Zeny < .@price) { mes "[Emballages Cadeaux]"; mes "Mais, regardez dans votre porte-feuille: vous n'avez pas assez d'argent!"; next; break; }else{ mes "[Emballages Cadeaux]"; mes "Et voilà pour vous! J'espère que vous passerez une bonne Saint Valentin!"; set Zeny,Zeny-.@price; getitem 7174,.@input; next; break; } case 3: mes "[Emballages Cadeaux]"; mes "Je demande 600 zénys par boîte. Combien en voulez-vous? Vous ne pouvez en acheter plus de dix à la fois."; next; input .@input; if (.@input <= 0) { mes "[Emballages Cadeaux]"; mes "Vous ne voulez rien acheter? Eh bien revenez quand vous aurez changé d'avis."; close; } if (.@input > 10) { mes "[Emballages Cadeaux]"; mes "Comme je vous l'ai dit, je ne peux pas en vendre plus de dix à la fois..."; next; break; } if (!checkweight(7948,.@input)) { mes "[Emballages Cadeaux]"; mes "Vous portez trop d'objets sur vous. Revenez après avoir utilisé les services Kafra."; close; } set .@price, .@input * 600; if (Zeny < .@price) { mes "[Emballages Cadeaux]"; mes "Mais, regardez dans votre porte-feuille: vous n'avez pas assez d'argent!"; next; break; }else{ mes "[Emballages Cadeaux]"; mes "Et voilà pour vous! J'espère que vous passerez une bonne Saint Valentin!"; set Zeny,Zeny-.@price; getitem 7948,.@input; next; break; } case 4: mes "[Emballages Cadeaux]"; mes "Au revoir, et bonne Saint Valentin!"; close; } } } // Event Ring Maker (Makes ring for players) prontera,154,185,5 script Anneaux (Saint Valentin)::Event Ring Maker#Val09 721,{ if (BaseLevel < 75) { mes "[Anneaux]"; mes "Oh, désolée mais je ne peux forger des anneaux de la Saint Valentin que pour des aventuriers de niveau 75 ou plus."; next; mes "[Anneaux]"; mes "Vous n'avez pas encore assez d'expérience. Revenez lorsque vous serez prêt"+ ( sex ? "" : "e" ) +" pour ma quête."; close; } if (iROval09ring >= 1) { mes "[Anneaux]"; mes "La boîte portant votre nom est destinée à "+ ( sex ? "celle" : "celui" ) +" que vous aimez."; next; mes "[Anneaux]"; mes "Quant aux anneaux que l'on pourra vous offrir, ils devraient tous être enregistrés auprès de la gérante des votes. Elle devrait se trouver près de la fontaine de Prontera."; next; mes "[Anneaux]"; mes "Seuls l'homme et la femme la plus populaire de Rune-Midgard obtiendront une récompense. Faites bien attention à toujours rester populaire!"; close; } mes "[Anneaux]"; mes "Hé, " + ( isday() ? "bonjour" : "bonsoir" ) + "! Comment allez-vous? Venez me voir si vous voulez participer au concours du couple le plus torride de la Saint Valentin!"; next; mes "[Anneaux]"; mes "Je peux confectionner des anneaux de grande qualité que vous pourrez offrir à votre "+ ( sex ? "belle" : "chéri" ) +". Ils sont uniques: j'y graverai même vos noms!"; next; mes "[Anneaux]"; mes "N'est-ce pas excitant? Pouvoir offrir un tel anneau à votre "+ ( sex ? "belle" : "chéri" ) +"..."; next; mes "[Anneaux]"; mes "Vous devriez vous dépêcher car cet événement ne durera que deux semaines. N'hésitez pas! Offrez un anneau de la Saint Valentin à "+ ( sex ? "celle" : "celui" ) +" que vous aimez!"; next; mes "[Anneaux]"; mes "Oh, et je ne pourrai vous forger qu'un seul anneau. Il vous faudra aussi du papier-cadeau, des boîtes, et du ruban pour emballer l'anneau."; next; mes "[Anneaux]"; mes "Vous avez intérêt un bien réfléchir à qui vous voudrez l'offrir... Quoi qu'il en soit, cet anneau coûte 1,000 zénys. En voulez-vous un?"; next; if(select("Hum... Je vais y réfléchir...:Bien sûr.") == 1) { mes "[Anneaux]"; mes "D'accord! Vous avez raison: mieux vaut toujours y penser à deux fois lorsque l'on touche aux choses de l'amour. Réfléchissez à ce que vous voulez vraiment, et surtout, suivez ce que vous dit votre coeur!"; close; } if(countitem(7175) < 1 || countitem(7174) < 1 || countitem(7948) < 1 || Zeny < 1000) { mes "[Anneaux]"; mes "Oh, mais vous n'avez pas de quoi faire un emballage digne de ce nom pour l'anneau. Vérifiez tout ça, et revenez me voir quand vous aurez tout."; close; } mes "[Anneaux]"; mes "Bien bien! Je vous fais ça sans attendre!"; next; delitem 7175,1; delitem 7174,1; delitem 7948,1; set Zeny,Zeny-1000; set iROval09ring,1; if (Sex) { getnameditem 12742,strcharinfo(0); }else{ getnameditem 12743,strcharinfo(0); } mes "[Anneaux]"; mes "Et voilà! Les anneaux les plus précieux au monde! Et n'oubliez pas: vous ne pourrez jamais en avoir de semblables!"; next; mes "[Anneaux]"; mes "Allez trouver la personne qui fait vibrer votre coeur, et offrez-lui cet anneau."; next; mes "[Anneaux]"; mes "Et si vous avez de la chance, d'autres personnes vous offriront un anneau: si vous en recevez suffisamment, vous serez peut-être "+ ( sex ? "élu Valentin" : "élue Valentine" ) +" de l'année!"; close; } // Valentine Vote Manager (Registers votes) prontera,157,185,4 script Votes (Saint Valentin)::Valentine Vote Manager#v 113,{ mes "[Votes de la Saint Valentin]"; mes ( isday() ? "Bonjour" : "Bonsoir" ) + ", je suis en charge de l'élection de la Saint Valentin! J'ai pour tâche de collecter les anneaux pour le concours."; next; mes "[Votes de la Saint Valentin]"; mes "Je note le nombre d'anneaux que l'on vous a offerts et je comptabilise le tout."; next; mes "[Votes de la Saint Valentin]"; mes "Je ne fais pas que les collecter: je détermine aussi quel aventurier en a reçu le plus cette année."; next; mes "[Votes de la Saint Valentin]"; mes "Je peux d'ailleurs vous donner les résultats si vous voulez!"; next; while (1) { mes "[Votes de la Saint Valentin]"; mes "Alors, dites-moi ce que vous voudriez..."; next; switch(select("Prenez ces anneaux s'il vous plaît.:Combien d'anneaux avez-vous compté?:Rien pour l'instant.")) { case 1: mes "[Votes de la Saint Valentin]"; mes "Bien. Combien d'anneaux voulez-vous me donner?"; next; mes "[Votes de la Saint Valentin]"; mes "Écrivez le nombre ici, mais n'essayez pas de tricher, hein! Je vérifierai! Entrez '0' si vous avez changé d'avis."; next; input .@input; if (.@input <= 0) { mes "[Votes de la Saint Valentin]"; mes "0? Comme vous voulez. J'annule le compte."; next; break; } if (Sex) { if (countitem(7947) > .@input) { mes "[Votes de la Saint Valentin]"; mes "Oh mais on dirait que vous en avez plus que ça! Allons, soyez un petit peu plus honnête!"; next; break; } if (countitem(7947) < .@input) { mes "[Votes de la Saint Valentin]"; mes "Oh mais on dirait que vous n'en avez pas autant! Allons, soyez un petit peu plus honnête!"; next; break; } mes "[Votes de la Saint Valentin]"; mes "D'accord, je vais prendre ces anneaux et faire le compte. Merci de votre participation."; delitem 7947,.@input; set Val09Rings,Val09Rings+.@input; if (Val09Rings > $Val09votes_M) { set $Val09votes_M,Val09Rings; set $Val09name_M$,strcharinfo(0); } next; break; }else{ if (countitem(7946) > .@input) { mes "[Votes de la Saint Valentin]"; mes "Oh mais on dirait que vous en avez plus que ça! Allons, soyez un petit peu plus honnête!"; next; break; } if (countitem(7946) < .@input) { mes "[Votes de la Saint Valentin]"; mes "Oh mais on dirait que vous n'en avez pas autant! Allons, soyez un petit peu plus honnête!"; next; break; } mes "[Votes de la Saint Valentin]"; mes "D'accord, je vais prendre ces anneaux et faire le compte. Merci de votre participation."; delitem 7946,.@input; set Val09Rings,Val09Rings+.@input; if (Val09Rings > $Val09votes_F) { set $Val09votes_F,Val09Rings; set $Val09name_F$,strcharinfo(0); } next; break; } case 2: mes "[Votes de la Saint Valentin]"; mes "Alors voyons... Vous avez enregistré "+Val09Rings+" anneau"+ ( Val09Rings > 1 ? "x" : "" ) +" pour l'instant."; next; mes "[Votes de la Saint Valentin]"; mes "Pour l'instant celui qui en a enregistré le plus est... "+$Val09name_M$+" avec un total de "+$Val09votes_M+" anneau"+ ( $Val09votes_M > 1 ? "x" : "" ) +"."; next; mes "[Votes de la Saint Valentin]"; mes "Et pour les femmes il s'agit de... "+$Val09name_F$+" avec "+$Val09votes_F+" anneau"+ ( $Val09votes_F > 1 ? "x" : "" ) +"."; next; break; case 3: mes "[Votes de la Saint Valentin]"; mes "Oh, mais vous aussi vous pourriez devenir populaire! Tout le monde peut le devenir, vraiment! Il faudra juste que vous y mettiez un peu du vôtre~ Hahaha!"; close; } } } // Charles Orleans (Makes Home-Made Chocolates) prt_castle,42,35,3 script Chef Pâtissier::Dessert Manager#Val09 47,{ if (Sex) { mes "[Chef Pâtissier]"; mes "Oh mon bon Monsieur, qu'est-ce qui vous amène dans ce fantastique atelier de confection?~ Que cherchez-vous? Oh, mes yeux perdent leur radieux éclat lorsque mon regard ne peut se poser sur les charmes d'une charmante demoiselle..."; next; mes "[Chef Pâtissier]"; mes "Veuillez me laisser à moins que vous n'ayez quelque affaire d'importance dont vous voudriez m'entretenir. Haaaa~ Je suis quelqu'un de bien occupé, vous savez. Ne venez plus me déranger maintenant... Aaaah! Qu'ils sont fatigants à la fin~"; close; } mes "[Chef Pâtissier]"; mes "Oh, vous savez, ce misérable endroit s'est transformé en un jardin d'Éden au moment où vous avez franchi l'embrasure de la porte! Puis-je vous être d'une aide quelconque?"; next; if(select("Faites-moi du chocolat s'il vous plaît.:Ne vous dérangez pas.") == 2) { mes "[Chef Pâtissier]"; mes "Vous ne faites que passer? Ahhh, quelle cruauté! Me briser le coeur ainsi..."; next; mes "[Chef Pâtissier]"; mes "Que dois-je faire pour retenir ne serai-ce qu'une infime partie de votre attention? Dites-moi et je m'exécuterai sans conditions! C'est comme si je venais de perdre ma pauvre âme..."; close; } if(countitem(558) < 3) { mes "[Chef Pâtissier]"; mes "Ahhh, vous savez, je ne suis ni alchimiste, ni magicien! Je ne puis faire de chocolat à partir de rien."; next; mes "[Chef Pâtissier]"; mes "Pour moi, confectionner du chocolat est un véritable travail artistique. Vous voyez, je ne suis pas un cuisiner ordinaire... Je fais du chocolat avec mes sentiments... Comme des lettres écrites par un coeur aimant."; next; mes "[Chef Pâtissier]"; mes "Je fais de véritables oeuvres d'art. Personne ne peut en imiter le goût ou la texture. Oh non, ça n'a rien de comparable avec le chocolat ordinaire!"; next; mes "[Chef Pâtissier]"; mes "Mais j'ai bien peur de ne pouvoir vous en faire la démonstration sur l'heure. Quel dommage, vraiment!"; next; mes "[Chef Pâtissier]"; mes "Cependant, votre venue m'a empli d'une si grande joie que si vous m'apportez 3 simples ^3152ff Chocolats^000000, je vous en ferai tel que vous n'en avez jamais vu..."; next; mes "[Chef Pâtissier]"; mes "Oh, je suis persuadé que cette simple tâche ne sera qu'une formalité pour vous. Je n'en ai aucun doute."; next; mes "[Chef Pâtissier]"; mes "Alors... Qu'en dites-vous? M'apportez-vous ces ^3152ff3 Chocolats^000000? Je pourrais en obtenir par moi-même bien sûr, mais j'ai déjà tant de travail comme vous le constatez..."; next; mes "[Chef Pâtissier]"; mes "Adieu... J'attendrai votre retour avec impatience."; close; }else{ if (!checkweight(559,1)) { mes "[Chef Pâtissier]"; mes "Vous portez trop d'objets sur vous. Revenez après avoir utilisé les services Kafra."; close; } mes "[Chef Pâtissier]"; mes "Oh, je vais vous confectionner le plus divin des chocolats avec les morceaux que vous m'apportez. J'y déposerai la lumière de vos yeux, tant et si bien que personne ne pourra y résister."; next; mes "[Chef Pâtissier]"; mes "Ce sera un charme plus puissant que le plus puissant des filtres d'amour..."; next; mes "[Chef Pâtissier]"; mes "Un, Deux, Trois, Quatre....."; mes "Tout comme le vilain petit canard qui est devenu cygne, je vais transformer ce chocolat ordinaire en une oeuvre d'art!"; next; mes "[Chef Pâtissier]"; mes "Voilà, la transformation a commencé! Il commence à changer d'aspect, et à devenir si moelleux... Oh c'est un chef d'oeuvre!"; next; mes "[Chef Pâtissier]"; mes "Et voilà, jeune "+callfunc("ster")+"! Ahahahaha, regardez-moi ça! Même moi je n'arrive à y croire! Oh, je ne peux en détacher le regard..."; delitem 558,3; getitem 559,1; next; mes "[Chef Pâtissier]"; mes "Bien, jeune "+callfunc("ster")+", j'espère que c'est ce à quoi vous vous attendiez, car ce chocolat renferme tout l'amour contenu dans votre coeur adorable."; close; } }