//Le Livre d'Ymir http://www.bookofymir.net/ //traduit par Athanil, corrigé par Myllena //===== eAthena Script ======================================= //= Crusader Quest //===== By: ================================================== //= Made by: Black Dragon //= Converted by: Shin //===== Current Version: ===================================== //= 3.3 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= //= [Aegis Conversion] //= Job quest for Crusader classes //===== Additional Comments: ================================= //= 2.2 Updated All NPCs to the officials one [Samuray22] //= -Based on the ASB 4.0 Package. //= -Maybe need be checked the monsters in the test 2 and 4. //= 2.3 Fixed some bugs that prevented from going further. [SinSloth] //= 2.4 Updated NPC dialogs using Aegis 10.3 files. [L0ne_W0lf] //= - Fixed logic error with job change reward for job 50 swordies. //= - Completely redid the 1st and third tests. //= - Optimized first four NPC scripts slightly. //= - Temporary character variables "@" are now ".@" //= - Fixed some indentation. //= 2.5 Fixed some spelling and grammar in crusader quest. [L0ne_W0lf] //= 2.6 Fixed bug (about totally blocked baby class), optimized, //= made some NPC more unique names: Monster Summon#cr1 [Lupus] //= 2.7 Fixed Some variables like ".@item", and changed to "@item". [Samuray22] //= 2.8 Fixed a little minor bug. [Samuray22] //= 2.9 Minor fixes, typos, an incorrect answer. Thanks to yyCC. [L0ne_W0lf] //= 2.9a Deleted unused variables. [Samuray22] //= 3.0 Updated waiting room. (Removes global var) [L0ne_W0lf] //= 3.1 Adding Hermemton's changes. [L0ne_W0lf] //= 3.2 Added Quest Log commands. [Kisuka] //= 3.3 Removed the need for use of 'goto.' [L0ne_W0lf] //============================================================ //=============== Senior Crusader: 1st Collect Items Test============================ prt_castle,45,169,5 script Croisé#1 752,{ mes "[Michael Halig]"; if (Upper == 1) { //the baby classes were totally blocked... due to missing == 1 mes "Vas, et entraîne-toi pour la Guerre Sainte qui se profile. La Victoire sera dans les mains de ceux qui seront le mieux préparés à la recevoir."; next; mes "[Michael Halig]"; mes "Ta place n'est pas ici, mon ami."; mes "Continue plutôt à t'entraîner."; close; } else if(BaseJob != Job_Swordman) { if(BaseJob == Job_Crusader) { mes "Vas, et entraîne-toi pour la Guerre Sainte qui se profile. La Victoire sera dans les mains de ceux qui seront le mieux préparés à la recevoir."; next; mes "[Michael Halig]"; mes "Le Chaos viendra un jour pour chambouler nos idées de paix, de justice, et d'ordre. Tant que nous n'aurons pas éliminé le Mal et créé notre monde idéal, nous ne devons pas cesser l'entraînement."; close; } else if(BaseJob == Job_Novice) { mes "Nous sommes des Croisés,"; mes "des guerriers se préparant"; mes "à combattre pour la Guerre Sainte."; next; mes "[Michael Halig]"; mes "Si tu désires nous rejoindre, tu dois d'abord apprendre la discipline des Épéiste et t'entraîner dur..."; close; } mes "Nous sommes des Croisés,"; mes "des guerriers se préparant"; mes "à combattre pour la Guerre Sainte."; next; mes "[Michael Halig]"; mes "Comme cela s'est produit il y a mille ans, les forces maléfiques vont un jour attaquer en essayant de dominer notre monde encore une fois."; close; } else if(CRUS_Q && CRUS_Q <= 3 && countitem(1004) && countitem(1009)) { // Gros bugfix (possibilité de changer de job au jlvl 1...) [NoH] mes "Ah..."; mes "Je vois que tu as été appelé pour devenir Croisé. Nous sommes sûrs de ta volonté, mais allons maintenant devoir tester tes capacités."; next; mes "[Michael Halig]"; mes "Vas voir Moorenak Miyol qui s'entraîne dans les sous-sol du donjon du Château de Prontera. Vas lui parler."; next; delitem 1004, 1; delitem 1009, 1; set CRUS_Q,4; if(checkquest(3006) != -1) { // Bugfix: ils avaient oublié le changequest. [NoH] changequest 3006,3009; } else if(checkquest(3007) != -1) { changequest 3007,3009; } else { changequest 3008,3009; } mes "[Michael Halig]"; mes "Moorenak et d'autres comme lui vont tester les limites de tes capacités, et t'aider à trouver ta voie. Reviens me voir quand tu auras fini leurs tests..."; close; } else if(CRUS_Q == 0) { mes "Nous sommes des Croisés, des guerriers se préparant à combattre pour la Guerre Sainte."; mes "Qu'est-ce qui t'amène dans ce lieu?"; next; if (select("Je veux me préparer pour la Guerre Sainte!:Rien en particulier.") == 1) { mes "[Michael Halig]"; mes "Tu souhaites devenir un Croisé...?"; mes "Nous rejoindre n'est pas aussi facile que ça en a l'air."; next; mes "[Michael Halig]"; mes "Je suis Michael Halig. Je suis un des nombreux Croisés se préparant pour la Guerre Sainte. Nous nous entraînons continuellement avec une foi et une loyauté sans fin."; next; mes "[Michael Halig]"; mes "Nous recrutons des Épéistes qui montrent une foi exceptionnelle, ou ceux qui sont nés pour être guerriers, par la volonté d'Odin."; next; mes "[Michael Halig]"; mes "Être en possession d'un ^3355FFEmblème de Chevalerie^000000 et de la ^3355FFMain de Dieu^000000 est vu comme un signe que tu as été appelé à devenir Croisé."; next; mes "[Michael Halig]"; mes "Après avoir obtenu ces objets et réussi nos épreuves, toi aussi, tu pourras devenir un Croisé."; next; mes "[Michael Halig]"; mes "Je ne sais pas encore quel genre de personne tu es... Accepterais-tu de subir une épreuve de préparation à la Guerre Sainte?"; next; if (select("Oui.:Je préfèrerais y réfléchir.") == 1) { if(JobLevel < 40) { mes "[Michael Halig]"; mes "Attends..."; mes "Tu n'es pas encore prêt."; mes "Tu dois avoir atteint au minimum le Niveau de Métier 40 pour devenir un Croisé."; next; mes "[Michael Halig]"; mes "Entraîne toi plus en tant qu'Épéiste. Je comprends ton intention, mais dans l'état actuel des choses, tu ne peux pas nous rejoindre."; close; } if (Skillpoint) { mes "[Michael Halig]"; mes "Tu n'as pas fini d'apprendre toutes tes compétences d'Épéiste. Utilise tes derniers points de compétence, et reviens me voir."; close; } mes "[Michael Halig]"; mes "Alors..."; mes "Je vais te tester et voir si tu es fait pour devenir un Croisé."; next; mes "[Michael Halig]"; mes "Ton nom est"; mes "" + strcharinfo(0) + "...?"; mes "Voyons voir..."; next; if (countitem(1004) && countitem(1009)) { mes "[Michael Halig]"; mes "Ah..."; mes "Je vois que tu as été appelé pour devenir Croisé. Cela nous assure de ta volonté, mais nous devons maintenant tester tes capacités."; next; mes "[Michael Halig]"; mes "Vas voir Moorenak Miyol, qui s'entraîne dans les sous-sols du donjon du Château de Prontera. Vas, et parle d'abord avec lui."; next; delitem 1004, 1; delitem 1009, 1; set CRUS_Q,4; setquest 3009; mes "[Michael Halig]"; mes "Moorenak et d'autres comme lui vont tester les limites de tes capacités, et t'aider à trouver ta voie. Reviens me voir quand tu auras fini leurs tests..."; close; } mes "[Michael Halig]"; mes "Hum. Je n'arrive pas à discerner si tu es fait ou non pour être Croisé. Cependant, si tu as la volonté, et que tu es prêt à faire un effort, tu pourrais avoir ce qu'il faut."; next; mes "[Michael Halig]"; mes "Maintenant.."; mes "Voila mon test. Apporte moi les objets suivant, afin de me prouver ta détermination."; next; mes "[Michael Halig]"; set .@cru_m1,rand(1,3); if(.@cru_m1 == 1) { set CRUS_Q, 1; setquest 3006; mes "10 ^3355FF"+getitemname(957)+"^000000"; mes "10 ^3355FF"+getitemname(959)+"^000000"; mes "10 ^3355FF"+getitemname(1099)+"^000000"; mes "10 ^3355FF"+getitemname(901)+"^000000"; next; } else if(.@cru_m1 == 2) { set CRUS_Q, 2; setquest 3007; mes "10 ^3355FF"+getitemname(932)+"^000000"; mes "10 ^3355FF"+getitemname(1043)+"^000000"; mes "10 ^3355FF"+getitemname(1098)+"^000000"; mes "10 ^3355FF"+getitemname(1094)+"^000000"; next; } else { set CRUS_Q, 3; setquest 3008; mes "10 ^3355FF"+getitemname(958)+"^000000"; mes "10 ^3355FF"+getitemname(930)+"^000000"; mes "10 ^3355FF"+getitemname(1041)+"^000000"; mes "10 ^3355FF"+getitemname(1062)+"^000000"; next; } mes "[Michael Halig]"; mes "Montre moi la force de ta volonté en rassemblant ces objets. Si tu réussis, tu pourras passer le prochain test. Puisse Odin te protéger."; close; } mes "[Michael Halig]"; mes "Personne ne sait quand la Guerre Sainte commencera. Nous devons nous préparer à l'avance et ne pas délaisser notre entraînement."; next; mes "[Michael Halig]"; mes "Si tu sens que participer à la Guerre Sainte est ta destinée, alors reviens et passe le test pour devenir un Croisé."; close; } mes "[Michael Halig]"; if (sex) mes "Si toi aussi, tu es un homme d'épée, entraîne toi, et prépare toi constamment. Personne ne sait quand la Guerre Sainte pourrait commencer."; else mes "En tant que femme d'épée, tu dois t'entraîner constamment. Prépare toi, puisque personne ne sait quand la Guerre Sainte pourrait commencer."; close; } else if(CRUS_Q >= 1 && CRUS_Q <= 3) { mes "As tu prouvé ta détermination par la quête que je t'ai confiée? Possèdes-tu les objets prouvant que tu as été appelé à devenir un Croisé?"; next; switch(CRUS_Q) { case 1: set @item1, 957; set @item2, 959; set @item3, 1099; set @item4, 901; break; Case 2: set @item1, 932; set @item2, 1043; set @item3, 1098; set @item4, 1094; break; Case 3: set @item1, 958; set @item2, 930; set @item3, 1041; set @item4, 1062; break; } if (countitem(@item1) > 9 && countitem(@item2) > 9 && countitem(@item3) > 9 && countitem(@item4) > 9) { mes "[Michael Halig]"; mes "Ah, bien joué."; mes "Je dois reconnaître tes efforts et ta détermination. Tu peux maintenant passer au prochain test."; next; mes "[Michael Halig]"; mes "Vas voir Moorenak Miyol qui s'entraîne dans les sous-sols du donjon du Château de Prontera. Vas, et parle lui."; next; delitem @item1, 10; delitem @item2, 10; delitem @item3, 10; delitem @item4, 10; set CRUS_Q, 4; if(checkquest(3006) != -1) { changequest 3006,3009; } else if(checkquest(3007) != -1) { changequest 3007,3009; } else { changequest 3008,3009; } mes "[Michael Halig]"; mes "Moorenak et d'autres comme lui t'aideront à tester les limites de tes capacités et à trouver ta voie. Reviens me voir quand tu auras accompli leurs tâches..."; close; } mes "[Michael Halig]"; mes "Ah, tu n'as toujours pas accompli la tâche que je t'ai confiée. Apporte moi les objets suivants, et prouve moi ta volonté de devenir Croisé..."; next; mes "[Michael Halig]"; mes "10 ^3355FF"+getitemname(@item1)+"^000000"; mes "10 ^3355FF"+getitemname(@item2)+"^000000"; mes "10 ^3355FF"+getitemname(@item3)+"^000000"; mes "10 ^3355FF"+getitemname(@item4)+"^000000"; next; mes "[Michael Halig]"; mes "Si tu y mets toute ta force, tu parviendras à surmonter cette tâche. Puisse Odin te protéger pendant tes voyages."; close; } else if(CRUS_Q == 10) { if(SkillPoint) { mes "Tu n'as pas fini d'apprendre toutes tes capacités d'Épéiste. Utilise tes derniers points de compétence, et reviens me voir."; close; } mes "Bravo, tu as réussi tous nos tests. Tu es vraiment digne de combattre à nos côtés dans la Guerre Sainte en tant que Croisé."; next; mes "[Michael Halig]"; mes "Ensemble, préparons nous, et soyons victorieux du mal et de la tyrannie!"; next; set .@Joblevel,JobLevel; completequest 3015; callfunc "Job_Change",Job_Crusader; callfunc "F_ClearJobVar"; //clears all job variables for the current player mes "[Michael Halig]"; mes "Attention...!"; mes "Tu es maintenant un Croisé!"; mes "Quand la Guerre Sainte viendra, nous combattrons côte à côte."; next; mes "[Michael Halig]"; mes "Maintenant tu es"; mes "l'un des nôtres!"; if (sex) mes "...Frère."; else mes "...Camarade."; next; if(.@JobLevel != 50) getitem 504, 6; else getitem 504, 12; mes "[Michael Halig]"; mes "Utilise ceci quand le danger sera présent. Cela te donnera de la Force quand tes blessures seront trop importantes."; next; mes "[Michael Halig]"; mes "N'oublie jamais que la Guerre Sainte approche. Nous devons nous préparer pour l'assaut du Mal qui ravagera notre monde. Maintenant, vas de l'avant, et combats pour nos idéaux de Justice et de Liberté!"; close; } mes "Il semblerait que tu n'aies pas réussi tous nos tests. Tu ne seras pas prêt à devenir un Croisé tant que tu n'auras pas fini les épreuves que nous t'imposons."; next; mes "[Michael Halig]"; mes "Reviens me voir quand tu auras réussi toutes les épreuves. Quand tu t'en seras montré digne, tu rejoindras les rangs des glorieux Croisés."; close; } //===================== Suffering Man: 2nd Endurance Test =============================================== prt_castle,164,32,1 script Murnak Mijoul 733,{ mes "[Murnak Mijoul]"; if(BaseJob != Job_Swordman) { if (BaseJob == Job_Crusader) { mes "Ne vous attardez pas dans un endroit tel que celui-ci... Tracez votre propre chemin en découvrant vos forces. Le jour approche où nous joindrons nos efforts dans la bataille."; close; } else if(BaseJob == Job_Novice) { mes "Un Novice...?"; mes "Si petit, et pourtant,"; mes "tellement de potentiel."; next; mes "[Murnak Mijoul]"; mes "Laisse moi te prouver que je ne suis pas un criminel. Je suis simplement ici pour m'entraîner. Peut être que si tu t'entraînes, tu comprendras..."; close; } mes "Hum. Vous n'avez rien à faire dans un endroit comme celui-ci. S'il vous plaît, allez-vous en et laissez-moi tranquille."; close; } else if(CRUS_Q >= 0 && CRUS_Q <= 3) { mes "Que veux-tu...?"; mes "Si tu n'as rien à faire ici, alors pars s'il te plaît. La méditation est essentielle pour l'entraînement..."; next; mes "[Murnak Mijoul]"; mes "Je souhaite améliorer le sens de la sérénité dans mon coeur, pour préparer la Guerre Sainte qui approche. Donc je te prierais de ne pas me déranger."; close; } else if(CRUS_Q == 4) { mes "Qu'est-ce que c'est...?"; mes "As-tu quelque chose à me dire,"; if (sex) mes "homme d'épée?"; else mes "femme d'épée?"; next; if (select("Je voudrais devenir un Croisé.:Rien.") == 1) { mes "[Murnak Mijoul]"; mes "Tu veux devenir Croisé...? Hum, combattre pour la Guerre Sainte est un noble but que nous pourrions partager."; next; mes "[Murnak Mijoul]"; mes "Ton nom est"; mes "" + strcharinfo(0) + "...?"; mes "Laisse moi regarder"; mes "a quoi tu ressembles."; next; if(getequipid(7) != 2608 && getequipid(8) != 2608) { mes "[Murnak Mijoul]"; mes "Humm. Tu veux devenir Croisé, mais tu ne portes pas de Rosaire? Je n'ai rien de plus à te dire si tu ne respectes pas nos traditions."; close; } mes "[Murnak Mijoul]"; mes "Humm..."; mes "Tu as l'air sûr, mais aussi si jeune... L'ambition pourrait jouer contre toi si tu ne la tempères pas avec de la patience."; next; mes "[Murnak Mijoul]"; mes "Donne moi une raison de ne pas douter de toi, et montre moi ta patience. Tu dois passer mon test avec patience si tu veux devenir Croisé."; next; mes "[Murnak Mijoul]"; mes "Tu peux passer mon test dès maintenant. En fait, il est plutôt simple. Tout ce que tu dois faire est marcher jusqu'au bout du couloir."; next; mes "[Murnak Mijoul]"; mes "Mais..."; mes "Tu ne dois pas oublier une chose. Sous aucune condition tu n'est autorisé à tuer un des monstres."; next; set CRUS_Q,5; changequest 3009,3010; mes "[Murnak Mijoul]"; mes "Bien alors..."; mes "Bonne chance."; close2; warp "job_cru",98,40; end; } mes "[Murnak Mijoul]"; mes "Tu as l'air d'avoir du temps devant toi. Pourquoi ne rien faire de plus productif, comme ramasser les Jellopys dans les rues, ou quelque chose du genre?"; close; } else if(CRUS_Q == 5) { mes "Qu'est-ce que c'est...?"; mes "Oh tu es l'Épéiste de l'autre fois. Qu'est-ce qui s'est passé? As-tu échoué?"; next; if (select("Laissez moi repasser le test.:Qu'est-ce que c'était que ce test?!") == 1) { mes "[Murnak Mijoul]"; mes "Je te laisserai repasser le test autant que tu le voudras. Mais si tu continues à échouer, c'est qu'il y a un problème avec ton état d'esprit."; next; if(getequipid(7) != 2608 && getequipid(8) != 2608) { mes "[Murnak Mijoul]"; mes "Attends..."; mes "Où as tu laissé ton Rosaire? Tu ne peux pas le laisser n'importe où. Nous sommes censés être des Guerriers du Divin."; next; mes "[Murnak Mijoul]"; mes "Perdre bêtement des choses est digne d'un simple Épéiste. Si tu veux vraiment repasser le test, tu dois respecter les traditions des Croisés."; close; } mes "[Murnak Mijoul]"; mes "Ton problème vient de ton habitude de frapper un monstre dès que tu le vois. Tu dois développer ta patience et ton endurance."; next; mes "[Murnak Mijoul]"; mes "Concentre toi..."; mes "Ton seul but est d'aller d'un bout du couloir à l'autre. C'est simple si tu y réfléchis."; next; mes "[Murnak Mijoul]"; mes "Peu importe ce que tu fais, ne tues pas de monstre. Cette fois, réfléchis bien avant de dégainer ton épée."; next; set CRUS_Q,5; mes "[Murnak Mijoul]"; mes "Hé bien..."; mes "Bonne chance."; close2; warp "job_cru",98,40; } mes "[Murnak Mijoul]"; mes "Qui es-tu pour dire que tu n'aimes pas mon test? Avec ce genre d'attitude, tu ne deviendras jamais Croisé."; next; mes "[Murnak Mijoul]"; mes "Je peux comprendre que tu sois facilement frustré, mais tu dois dépasser cette frustration pour passer le test."; close; } else if(CRUS_Q == 6) { mes "Humm, il semblerait que tu te sois bien débrouillé. Cela ne devrait pas avoir été trop dur. Nous n'avons désormais plus rien à nous dire."; next; mes "[Murnak Mijoul]"; mes "Pour le prochain test, cherche Gabrielle Valentine dans le Sanctuaire de Prontera. Hé bien, à la prochaine."; close; } mes "Hummm..."; mes "Tu as encore des tests à passer si tu veux devenir Croisé, non?"; close; } //===================== Gabriel Valentine: 3rd Knowledge Test ================================= prt_church,95,127,3 script Croisée::Croisé#2 745,{ mes "[Gabrielle Valentine]"; if(BaseJob != Job_Swordman) { if (BaseJob == Job_Crusader) { mes "Bienvenue, ami Croisé."; mes "Comment se déroule"; mes "ton entraînement?"; next; mes "[Gabrielle Valentine]"; mes "Tu ne dois pas oublier de t'entraîner chaque jour, et te préparer pour le jour où la Guerre Sainte commencera."; close; } else if(BaseJob == Job_Novice) { mes "Bienvenue, je suis un Croisé."; mes "Je me prépare pour"; mes "la Guerre Sainte."; next; mes "[Gabrielle Valentine]"; mes "Si devenir un Croisé t'intéresses, tu dois d'abord t'entraîner comme Épéiste. Reviens me voir quand tu penseras en avoir appris assez en tant qu'homme d'épée..."; next; mes "[Gabrielle Valentine]"; mes "Nous nous trouvons dans le Château Central de Prontera, donc si tu as du temps, ça ne te coûtera rien de passer nous voir."; close; } mes "Bienvenue, nous sommes des Croisés."; mes "Nous nous préparons"; mes "pour la Guerre Sainte."; next; mes "[Gabrielle Valentine]"; mes "J'espère que tu t'entraîneras aussi en préparation du futur."; close; } else if(CRUS_Q == 0) { mes "Bienvenue. Nous sommes des Croisés."; mes "Nous nous préparons"; mes "pour la Guerre Sainte."; next; mes "[Gabrielle Valentine]"; mes "Si tu veux devenir Croisé, parle à notre Chef, dans le Château Central de Prontera."; close; } else if((CRUS_Q == 6) || (CRUS_Q == 7)) { if(CRUS_Q == 6) { mes "Bienvenue."; mes "Comment se sont passés"; mes "ces douloureuses épreuves?"; mes "Je vais te conduire à ta prochaine tâche."; next; mes "[Gabrielle Valentine]"; mes "Mon nom est Gabrielle Valentine. Moi aussi, je me prépare pour la Guerre Sainte. Mais pour l'instant, je suis le Gardien de cette Église."; next; mes "[Gabrielle Valentine]"; mes "Je vais juger si tu as acquis la connaissance nécessaire pour devenir un Croisé."; mes "Nous ne pouvons gagner la Guerre Sainte juste en maniant une épée."; next; mes "[Gabrielle Valentine]"; mes "Je vais te poser une dizaine de questions."; mes "Réponds-y correctement."; next; } else if(CRUS_Q == 7) { mes "Bon retour~"; mes "T'es-tu bien préparé pour ce test?"; mes "Essayons de nouveau alors... Prêt...?"; next; mes "[Gabrielle Valentine]"; mes "Une fois encore, je vais te poser une dizaine de questions."; mes "Écoute attentivement, et choisis la bonne réponse."; next; } set .@cru_m,rand(1,3); if (.@cru_m == 1) { mes "[Gabrielle Valentine]"; mes "1. Quel élément est le plus efficace lors d'une attaque contre un Mort-Vivant?"; next; if (select("Neutre:Terre:Mort-Vivant:Sacré") == 4) set .@cru_t,.@cru_t+10; mes "[Gabrielle Valentine]"; mes "2. Si un monstre est un Mort-Vivant de niveau 2, combien de dégâts de plus fera une attaque Sacrée comparée à une attaque de Feu?"; next; if (select("25 %:50 %:75 %:100 %") == 1) // Bugfix - Mauvaise réponse [NoH] set .@cru_t,.@cru_t+10; mes "[Gabrielle Valentine]"; mes "3. Quel objet ne peut-on pas obtenir en tuant un Druide Maléfique?"; next; if (select("Calotte:Feuille de l'Yggdrasil:Herbe Blanche:Amulette ") == 1) set .@cru_t,.@cru_t+10; mes "[Gabrielle Valentine]"; mes "4. Quel monstre Mort-Vivant sera le plus long à tuer?"; next; if (select("Goule:Squelette Prisonnier:Spectre:Prisonnier Zombie") == 4) set .@cru_t,.@cru_t+10; mes "[Gabrielle Valentine]"; mes "5. Lequel des monstre suivants à une taille différente des autres?"; next; if (select("Spectre:Khalitzburg:Drake:Druide Maléfique") == 3) set .@cru_t,.@cru_t+10; mes "[Gabrielle Valentine]"; mes "6. Quelle carte augmente la tolérance aux attaques des Mort-Vivants?"; next; if (select("Carte de Squelette d'Orc:Carte de Zombie d'Orc:Carte de Goule:Carte d'Ouvrier Squelette") == 2) set .@cru_t,.@cru_t+10; mes "[Gabrielle Valentine]"; mes "7. Quelle était la relation entre Munak et Bongun avant leur mort?"; next; if (select("Grand frère et petite soeur:Amis d'enfance dans le même village:Demi frère et soeur:Étrangers") == 2) set .@cru_t,.@cru_t+10; mes "[Gabrielle Valentine]"; mes "8. Lequel des monstres suivants n'est pas agressif?"; next; if (select("Squelette Soldat:Squelette d'Orc:Squelette:Ouvrier Squelette") == 3) set .@cru_t,.@cru_t+10; mes "[Gabrielle Valentine]"; mes "9. Quel est le nom d'un Bouclier dans lequel on a inséré une Carte de Munak?"; next; if (select("Bouclier Atomique:Bouclier des Amulettes:Bouclier Hypnotique:Bouclier Homeroth") == 2) set .@cru_t,.@cru_t+10; mes "[Gabrielle Valentine]"; mes "10. Lequel des monstres suivants ne lâche pas de Memento?"; next; if (select("Munak:Goule:Momie:Squelette Soldat") == 1) set .@cru_t,.@cru_t+10; } else if (.@cru_m == 2) { mes "[Gabrielle Valentine]"; mes "1. Lequel des monstres suivants a un élément différent des autres?"; next; if (select("Carat:Esprit Venteux:Isis:Rôdeur") == 3) set .@cru_t,.@cru_t+10; mes "[Gabrielle Valentine]"; mes "2. Quelle épée est efficace contre les Démons?"; next; if (select("Tsurugi Anti-Démons:Tsurugi Sanctifiée:Tsurugi Maudite:Tsurugi d'Exorcisme") == 1) set .@cru_t,.@cru_t+10; mes "[Gabrielle Valentine]"; mes "3. Quel objet n'est pas lâché par Dokebi?"; next; if (select("Elunium Brut:Marteau d'Or:Masse d'Arme:Bâton de Puissance") == 2) set .@cru_t,.@cru_t+10; mes "[Gabrielle Valentine]"; mes "4. Quel monstre de type Démon sera le plus long à vaincre?"; next; if (select("Fouisseur:Magnolia:Dokebi:Marionnette") == 4) set .@cru_t,.@cru_t+10; mes "[Gabrielle Valentine]"; mes "5. Quel Démon a une taille différente des autres?"; next; if (select("Ghostring:Murmure:Deviruchi:Baphomet Junior") == 1) set .@cru_t,.@cru_t+10; mes "[Gabrielle Valentine]"; mes "6. Quel Bouclier réduit les dégâts infligés par les Démons?"; next; if (select("Bouclier Satanique:Bouclier des Enfers:Bouclier des Amulettes:Bouclier d'Excellence") == 2) set .@cru_t,.@cru_t+10; mes "[Gabrielle Valentine]"; mes "7. Quel élément est le plus effectif sur les Esprits Venteux?"; next; if (select("Eau:Terre:Feu:Vent") == 2) set .@cru_t,.@cru_t+10; mes "[Gabrielle Valentine]"; mes "8. Quel monstre est différent des autres monstres Démons?"; next; if (select("Sohee:Isis:Dokebi:Murmure") == 4) set .@cru_t,.@cru_t+10; mes "[Gabrielle Valentine]"; mes "9. Quel effet a la Carte de Marionnette?"; next; if (select("Augmente la défense contre les Ombres de 30%:Augmente la défense contre le Poison de 30%:Augmente la défense contre les Fantômes de30 %:Augmente la défense contre le Neutre de 30%") == 3) set .@cru_t,.@cru_t+10; mes "[Gabrielle Valentine]"; mes "10. Parmi les réactions suivantes, laquelle est efficace lors de la rencontre d'un monstre de type Démon?"; next; if (select("Crier 'Être maudit vas-t-en!':Offrir son âme en échange d'une faveur.:Mettre de l'Eau Sacrée sur son arme avant d'attaquer.:Enfiler un Chapeau de Deviruchi.") == 3) set .@cru_t,.@cru_t+10; } else { mes "[Gabrielle Valentine]"; mes "1. Quel niveau de 'Protection Divine' faut-il pour apprendre le 'Fléau du Démon?'"; next; if (select("Niveau 1:Niveau 2:Niveau 3:Niveau 4") == 3) set .@cru_t,.@cru_t+10; mes "[Gabrielle Valentine]"; mes "2. Si tu as 30 points d'Intelligence, en comptant les bonus d'équipement, au niveau 55, combien de Points de Vie seront rendus grâce à un Soin de Niveau 5?"; next; if (select("396:440:484:528") == 2) set .@cru_t,.@cru_t+10; mes "[Gabrielle Valentine]"; mes "3. Avec une Protection Divine au niveau 7, de combien la défense contre les Morts Vivants est-elle augmentée?"; next; if (select("21:22:23:24") == 1) set .@cru_t,.@cru_t+10; mes "[Gabrielle Valentine]"; mes "4. Laquelle des lances suivantes peut attaquer les Cauchemars, qui sont de nature Fantôme?"; next; if (select("Lance:Fauchard:Faux:Zephyrus") == 4) set .@cru_t,.@cru_t+10; mes "[Gabrielle Valentine]"; mes "5. Quel niveau de 'Soin' faut-il pour apprendre la compétence 'Guérison?'"; next; if (select("Niveau 1:Niveau 2:Niveau 3:Niveau 4") == 2) set .@cru_t,.@cru_t+10; mes "[Gabrielle Valentine]"; mes "6. Quelle est la vitesse d'attaque avec une Maîtrise de l'Équitation au niveau 3?"; next; if (select("70% de la vitesse normale:80% de la vitesse normale:90% de la vitesse normale:100% de la vitesse normale") == 2) set .@cru_t,.@cru_t+10; mes "[Gabrielle Valentine]"; mes "7. Qu'est-ce qui ne s'applique pas au 'Fléau du Démon'?"; next; if (select("Augmente les Dommages sur les Morts Vivants:Seuls les Acolytes peuvent apprendre cette compétence:Augmente les Dommages de 30 points:Compétence passive") == 2) set .@cru_t,.@cru_t+10; mes "[Gabrielle Valentine]"; mes "8. Combien de Points d'Énergie sont requis pour utiliser 'Soin' au niveau 7?"; next; if (select("30:31:33:35") == 2) set .@cru_t,.@cru_t+10; mes "[Gabrielle Valentine]"; mes "9. Quel état ne peut être soigné avec la compétence Guérison?"; next; if (select("Malédiction:Mutisme:Chaos:Aveuglé") == 1) set .@cru_t,.@cru_t+10; mes "[Gabrielle Valentine]"; mes "10. Qu'est-ce qui décrit le mieux un Croisé?"; next; if (select("Quelqu'un se préparant pour le mariage.:Quelqu'un se préparant pour la Guerre Sainte.:Quelqu'un préparant des consommables.:Quelqu'un préparant des potions.") == 2) set .@cru_t,.@cru_t+10; } mes "[Gabrielle Valentine]"; mes "Bon travail~"; mes "Bien, d'abord laisse moi jeter un coup d'oeil à tes résultats."; next; mes "[Gabrielle Valentine]"; mes " " + strcharinfo(0) + "', ton score "; mes "est de " + .@cru_t + " points..."; if(.@cru_t == 100) { set CRUS_Q, 8; changequest 3011,3013; mes "Superbe! Il est maintenant temps pour toi de passer la prochaine épreuve."; next; mes "[Gabrielle Valentine]"; mes "Vas au Château de Prontera"; mes "et parle à Bliant Piyord."; mes "Je l'informerai qu'il devra"; mes "ensuite te faire passer une épreuve."; close; } else if(.@cru_t == 90) { set CRUS_Q, 8; changequest 3011,3013; mes "Bien joué~ Il est maintenant temps pour toi de passer la prochaine épreuve."; next; mes "[Gabrielle Valentine]"; mes "Vas au Château de Prontera"; mes "et parle à Bliant Piyord."; mes "Je l'informerai qu'il devra"; mes "ensuite te faire passer une épreuve."; close; } else if (.@cru_t == 80 && CRUS_Q == 7) { set CRUS_Q,8; changequest 3011,3013; mes "Il semblerait que tu te sois beaucoup préparé, alors pour cette fois, je te laisserai passer."; mes "Dépêche toi et vas passer le prochain test."; next; mes "[Gabrielle Valentine]"; mes "Vas au Château de Prontera et parle à Bliant Piyord."; mes "Je lui dirai de préparer le prochain test."; close; } set CRUS_Q,7; if(checkquest(3011) != -1) { changequest 3011,3012; } mes "Hummm... Quel dommage."; mes "Vas étudier un peu plus et"; mes "repasse le test, d'accord?"; next; mes "[Gabrielle Valentine]"; mes "Ne stresse pas, tu dois en savoir beaucoup pour passer ce test. Dans tous les cas, j'attendrai ici. Quand tu te sentiras prêt, reviens ici d'accord?"; close; } else if(CRUS_Q == 8 || CRUS_Q == 9) { mes "Comme je l'ai dit précédemment, tu devrais aller au Château de Prontera et parler à Bliant Piyord pour passer le prochain test. Bonne chance, et deviens vite un Croisé, d'accord?"; close; } else if(CRUS_Q == 10) { mes "Que fais tu encore ici? Tu as déjà réussi toutes les épreuves. Vas parler à notre Chef, tu es prêt pour devenir Croisé maintenant."; next; mes "[Gabrielle Valentine]"; mes "Tu nous rejoindras bientôt dans notre préparation de la Guerre Sainte. Continue à vivre avec la foi, même une fois Croisé."; close; } mes "Mmm...?"; mes "Il semblerait que tu sois"; mes "un aspirant Croisé..."; mes "Mais tu n'as pas encore passé certaines de nos épreuves."; next; mes "[Gabrielle Valentine]"; mes "Termine les autres épreuves avec succès,"; mes "et reviens me voir une fois qu'on te l'aura"; mes "indiqué. En attendant,"; mes "je te verrai plus tard~"; close; } //===================== Crusader: 4th Purification Test ===================================================== prt_castle,35,151,5 script Bliant Piyord#1 751,{ mes "[Bliant Piyord]"; mes "Bienvenue."; if(BaseJob != Job_Swordman) { if(BaseJob == Job_Crusader) { mes "Comment avance"; mes "ton entraînement?"; next; mes "[Bliant Piyord]"; mes "Développe ta foi. De la foi viennent la force et la discipline. Jour après jour, entraîne toi et deviens un grand Croisé."; close; } else if(BaseJob == Job_Novice) { mes "Nous sommes des Croisés,"; mes "guerriers du Divin se préparant pour la grande Guerre Sainte à venir."; next; mes "[Bliant Piyord]"; mes "Devenir un Croisé"; mes "t'intéresse-t-il?"; mes "Nous attendons toujours"; mes "plus d'hommes et de femmes"; mes "pour augmenter nos rangs."; next; mes "[Bliant Piyord]"; mes "Entraîne toi en tant qu'Épéiste, et reviens nous voir quand tu te penseras prêt. Si tu as été appelé par Odin pour devenir Croisé, cela n'en sera que mieux."; close; } mes "Nous sommes des Croisés,"; mes "guerriers du Divin se préparant pour la Guerre Sainte à venir."; next; mes "[Bliant Piyord]"; mes "Même en ces temps de paix, nous ne cessons jamais notre entraînement. Nous devons être prêts pour le jour où la vague du Mal viendra frapper l'humanité..."; close; } else if(CRUS_Q == 0) { mes "Nous sommes des Croisés,"; mes "guerriers du Divin se préparant pour la Guerre Sainte à venir."; next; mes "[Bliant Piyord]"; mes "Devenir un Croisé"; mes "t'intéresse-t-il?"; mes "Nous cherchons toujours"; mes "des hommes et des femmes"; mes "pour grossir nos rangs."; next; mes "[Bliant Piyord]"; mes "Pour devenir Croisé, tu dois t'entraîner jusqu'à atteindre au minimum le Niveau de Métier 40. Pour plus de détails, parle avec notre chef, à l'intérieur."; next; mes "[Bliant Piyord]"; mes "Puisse Odin"; mes "être avec toi..."; close; } else if(CRUS_Q == 8 || CRUS_Q == 9) { if (CRUS_Q == 8) { mes "Ravi de te rencontrer."; mes "Il est maintenant temps"; mes "de passer le dernier test."; next; mes "[Bliant Piyord]"; mes "Mon nom est Bliant Piyord et je me prépare moi aussi pour la Guerre Sainte. Ça a dû être assez difficile de parcourir tout ce chemin."; next; mes "[Bliant Piyord]"; mes "Ce test va juger tes capacités lors d'une bataille. Seuls ceux qui ont de grandes habilités au combat pourront devenir Croisés."; next; mes "[Bliant Piyord]"; mes "Pour réussir cette épreuve, rapporte"; mes "1 ^3355FFBouteille d'Eau Bénite^000000. Nous l'utiliserons avant le test pour te purifier."; if(checkquest(3013) != -1) { changequest 3013,3014; } next; mes "[Bliant Piyord]"; mes "Bien alors..."; mes "Pouvons nous"; mes "commencer maintenant?"; mes "Ou as-tu besoin de temps"; mes "pour te préparer?"; } else { mes "Es-tu prêt"; mes "pour le dernier test?"; next; mes "[Bliant Piyord]"; mes "Veux-tu commencer maintenant ou as-tu encore besoin de temps pour te préparer?"; } next; if (select("J'aimerais commencer.:Laissez moi du temps pour me préparer.") == 1) { if(getequipid(7) != 2608 && getequipid(8) != 2608) { mes "[Bliant Piyord]"; mes "Une petite minute, tu n'as pas de Rosaire sur toi! En tant que Croisé, tu dois toujours en porter un!"; close; } else if(countitem(523) < 1) { mes "[Bliant Piyord]"; mes "Pour ce test de combat, prépare une ^3355FFEau Bénite^000000."; mes "Elle servira à te purifier."; next; mes "[Bliant Piyord]"; mes "Prépare toi et reviens ici."; mes "Je t'attendrai."; close; } delitem 523, 1; //Holy Water mes "[Bliant Piyord]"; mes "Bien, je vais commencer"; mes "le test. Tu vas être"; mes "purifié avec l'Eau Sacrée"; mes "que tu as préparée."; next; mes "[Bliant Piyord]"; mes "..............."; next; mes "[Bliant Piyord]"; mes "Commençons."; mes "Va, et entre dans la"; mes "salle d'attente."; mes "Tues les monstres"; mes "qui apparaîtront dans"; mes "les quatre étapes."; close2; warp "job_cru",24,169; end; } mes "[Bliant Piyord]"; mes "Prépare 1 ^3355FFEau Bénite^000000 pour le test de combat. Comme je l'ai dit, elle servira à te purifier avant que tu ne passes le test."; next; mes "[Bliant Piyord]"; mes "Reviens et passe"; mes "le test quand tu auras"; mes "préparé 1 Eau Bénite."; mes "Je t'attendrai."; close; } else if(CRUS_Q == 10) { mes "Félicitations."; mes "Tu as réussi"; mes "tous les tests pour"; mes "devenir Croisé."; next; mes "[Bliant Piyord]"; mes "Vas parler à notre"; mes "Chef à l'intérieur."; mes "Je te souhaite la bienvenue dans"; mes "les rangs de ceux qui "; mes "se prépare pour"; mes "la Guerre Sainte."; close; } mes "N'es-tu pas un de ceux qui passent les tests pour devenir Croisé?"; next; mes "[Bliant Piyord]"; mes "Ce n'est pas mon tour"; mes "de te tester."; mes "Reviens après avoir réussi"; mes "toutes les autres épreuves."; next; mes "[Bliant Piyord]"; mes "Nous nous reverrons bientôt."; mes "Puissent les bénédictions d'Odin"; mes "être avec toi."; close; } //=== Actual tests ======================================== //=== Endurance Test ====================================== job_cru,1,1,1 script Summoner#cr1 -1,{ OnTimer300000: donpcevent "Summoner#cr1::OnReset"; end; OnTimer300500: donpcevent "Summoner#cr1::OnEnd"; end; OnTimer301000: donpcevent "Summoner#cr1::OnStart"; stopnpctimer; end; OnInit: enablenpc "Summoner#cr1"; monster "job_cru",94,45,"--ja--",1020,1,"Summoner#cr1::OnDead"; monster "job_cru",94,55,"--ja--",1020,1,"Summoner#cr1::OnDead"; monster "job_cru",94,65,"--ja--",1020,1,"Summoner#cr1::OnDead"; monster "job_cru",94,75,"--ja--",1020,1,"Summoner#cr1::OnDead"; monster "job_cru",94,85,"--ja--",1020,1,"Summoner#cr1::OnDead"; monster "job_cru",94,95,"--ja--",1020,1,"Summoner#cr1::OnDead"; monster "job_cru",101,45,"--ja--",1020,1,"Summoner#cr1::OnDead"; monster "job_cru",101,55,"--ja--",1020,1,"Summoner#cr1::OnDead"; monster "job_cru",101,65,"--ja--",1020,1,"Summoner#cr1::OnDead"; monster "job_cru",101,75,"--ja--",1020,1,"Summoner#cr1::OnDead"; monster "job_cru",101,85,"--ja--",1020,1,"Summoner#cr1::OnDead"; monster "job_cru",101,95,"--ja--",1020,1,"Summoner#cr1::OnDead"; initnpctimer; end; OnStart: enablenpc "Summoner#cr1"; monster "job_cru",94,45,"--ja--",1020,1,"Summoner#cr1::OnDead"; monster "job_cru",94,55,"--ja--",1020,1,"Summoner#cr1::OnDead"; monster "job_cru",94,65,"--ja--",1020,1,"Summoner#cr1::OnDead"; monster "job_cru",94,75,"--ja--",1020,1,"Summoner#cr1::OnDead"; monster "job_cru",94,85,"--ja--",1020,1,"Summoner#cr1::OnDead"; monster "job_cru",94,95,"--ja--",1020,1,"Summoner#cr1::OnDead"; monster "job_cru",101,45,"--ja--",1020,1,"Summoner#cr1::OnDead"; monster "job_cru",101,55,"--ja--",1020,1,"Summoner#cr1::OnDead"; monster "job_cru",101,65,"--ja--",1020,1,"Summoner#cr1::OnDead"; monster "job_cru",101,75,"--ja--",1020,1,"Summoner#cr1::OnDead"; monster "job_cru",101,85,"--ja--",1020,1,"Summoner#cr1::OnDead"; monster "job_cru",101,95,"--ja--",1020,1,"Summoner#cr1::OnDead"; initnpctimer; end; OnReset: killmonster "job_cru","Summoner#cr1::OnDead"; end; OnEnd: disablenpc "Summoner#cr1"; end; OnDead: warp "prt_fild05",353,251; end; } job_cru,1,2,1 script Summoner#cr2 -1,{ OnTimer345000: donpcevent "Summoner#cr2::OnReset"; end; OnTimer345500: donpcevent "Summoner#cr2::OnEnd"; end; OnTimer346000: donpcevent "Summoner#cr2::OnStart"; stopnpctimer; end; OnInit: enablenpc "Summoner#cr2"; monster "job_cru",98,50,"Flora",1118,1,"Summoner#cr2::OnDead"; monster "job_cru",92,60,"Flora",1118,1,"Summoner#cr2::OnDead"; monster "job_cru",104,60,"Flora",1118,1,"Summoner#cr2::OnDead"; monster "job_cru",98,70,"Flora",1118,1,"Summoner#cr2::OnDead"; monster "job_cru",92,80,"Flora",1118,1,"Summoner#cr2::OnDead"; monster "job_cru",104,90,"Flora",1118,1,"Summoner#cr2::OnDead"; monster "job_cru",98,90,"Flora",1118,1,"Summoner#cr2::OnDead"; initnpctimer; end; OnStart: enablenpc "Summoner#cr2"; monster "job_cru",98,50,"Flora",1118,1,"Summoner#cr2::OnDead"; monster "job_cru",92,60,"Flora",1118,1,"Summoner#cr2::OnDead"; monster "job_cru",104,60,"Flora",1118,1,"Summoner#cr2::OnDead"; monster "job_cru",98,70,"Flora",1118,1,"Summoner#cr2::OnDead"; monster "job_cru",92,80,"Flora",1118,1,"Summoner#cr2::OnDead"; monster "job_cru",104,90,"Flora",1118,1,"Summoner#cr2::OnDead"; monster "job_cru",98,90,"Flora",1118,1,"Summoner#cr2::OnDead"; initnpctimer; end; OnReset: killmonster "job_cru","Summoner#cr2::OnDead"; end; OnEnd: disablenpc "Summoner#cr2"; end; OnDead: warp "prt_fild05",353,251; end; } job_cru,1,3,1 script Summoner#cr3 -1,{ OnTimer345000: donpcevent "Summoner#cr3::OnReset"; end; OnTimer345500: donpcevent "Summoner#cr3::OnEnd"; end; OnTimer346000: donpcevent "Summoner#cr3::OnStart"; stopnpctimer; end; OnInit: enablenpc "Summoner#cr3"; monster "job_cru",92,50,"--ja--",1277,1,"Summoner#cr3::OnDead"; monster "job_cru",104,50,"--ja--",1277,1,"Summoner#cr3::OnDead"; monster "job_cru",98,50,"--ja--",1277,1,"Summoner#cr3::OnDead"; monster "job_cru",92,70,"--ja--",1277,1,"Summoner#cr3::OnDead"; monster "job_cru",104,70,"--ja--",1277,1,"Summoner#cr3::OnDead"; monster "job_cru",98,80,"--ja--",1277,1,"Summoner#cr3::OnDead"; monster "job_cru",92,90,"--ja--",1277,1,"Summoner#cr3::OnDead"; monster "job_cru",104,90,"--ja--",1277,1,"Summoner#cr3::OnDead"; Initnpctimer; end; OnStart: enablenpc "Summoner#cr3"; monster "job_cru",92,50,"--ja--",1277,1,"Summoner#cr3::OnDead"; monster "job_cru",104,50,"--ja--",1277,1,"Summoner#cr3::OnDead"; monster "job_cru",98,50,"--ja--",1277,1,"Summoner#cr3::OnDead"; monster "job_cru",92,70,"--ja--",1277,1,"Summoner#cr3::OnDead"; monster "job_cru",104,70,"--ja--",1277,1,"Summoner#cr3::OnDead"; monster "job_cru",98,80,"--ja--",1277,1,"Summoner#cr3::OnDead"; monster "job_cru",92,90,"--ja--",1277,1,"Summoner#cr3::OnDead"; monster "job_cru",104,90,"--ja--",1277,1,"Summoner#cr3::OnDead"; Initnpctimer; end; OnReset: killmonster "job_cru","Summoner#cr3::OnDead"; end; OnEnd: disablenpc "Summoner#cr3"; end; OnDead: warp "prt_fild05",353,251; end; } job_cru,1,4,1 script Summoner#cr4 -1,{ OnTimer345000: donpcevent "Summoner#cr4::OnReset"; end; OnTimer345500: donpcevent "Summoner#cr4::OnEnd"; end; OnTimer346000: donpcevent "Summoner#cr4::OnStart"; stopnpctimer; end; OnInit: enablenpc "Summoner#cr4"; monster "job_cru",98,50,"--ja--",1005,1,"Summoner#cr3::OnDead"; monster "job_cru",98,55,"--ja--",1005,1,"Summoner#cr3::OnDead"; monster "job_cru",98,60,"--ja--",1005,1,"Summoner#cr3::OnDead"; monster "job_cru",98,65,"--ja--",1005,1,"Summoner#cr3::OnDead"; monster "job_cru",98,70,"--ja--",1005,1,"Summoner#cr3::OnDead"; monster "job_cru",98,75,"--ja--",1005,1,"Summoner#cr3::OnDead"; monster "job_cru",98,80,"--ja--",1005,1,"Summoner#cr3::OnDead"; monster "job_cru",98,85,"--ja--",1005,1,"Summoner#cr3::OnDead"; monster "job_cru",98,90,"--ja--",1005,1,"Summoner#cr3::OnDead"; monster "job_cru",90,34,"Champignon",1182,1,"Summoner#cr3::OnDead"; monster "job_cru",105,34,"Champignon",1182,1,"Summoner#cr3::OnDead"; initnpctimer; end; OnStart: enablenpc "Summoner#cr4"; monster "job_cru",98,50,"--ja--",1005,1,"Summoner#cr3::OnDead"; monster "job_cru",98,55,"--ja--",1005,1,"Summoner#cr3::OnDead"; monster "job_cru",98,60,"--ja--",1005,1,"Summoner#cr3::OnDead"; monster "job_cru",98,65,"--ja--",1005,1,"Summoner#cr3::OnDead"; monster "job_cru",98,70,"--ja--",1005,1,"Summoner#cr3::OnDead"; monster "job_cru",98,75,"--ja--",1005,1,"Summoner#cr3::OnDead"; monster "job_cru",98,80,"--ja--",1005,1,"Summoner#cr3::OnDead"; monster "job_cru",98,85,"--ja--",1005,1,"Summoner#cr3::OnDead"; monster "job_cru",98,90,"--ja--",1005,1,"Summoner#cr3::OnDead"; monster "job_cru",90,34,"Champignon",1182,1,"Summoner#cr3::OnDead"; monster "job_cru",105,34,"Champignon",1182,1,"Summoner#cr3::OnDead"; initnpctimer; end; OnReset: killmonster "job_cru","Summoner#cr4::OnDead"; end; OnEnd: disablenpc "Summoner#cr4"; end; OnDead: warp "prt_fild05",353,251; end; } job_cru,98,105,4 script Summoner#cr5 45,3,3,{ OnTouch: set CRUS_Q,6; changequest 3010,3011; warp "prt_castle",164,28; end; } //=== Purification Test =================================== job_cru,24,187,4 script Bliant Piyord#2 751,{ mes "[Bliant Piyord]"; mes "Bienvenue."; mes "Tu vas passer le"; mes "dernier test ici."; mes "Si tu es prêt pour"; mes "passer le test, entre dans"; mes "la salle d'attendre."; next; mes "[Bliant Piyord]"; mes "Une seule personne à la fois peut passer le test. Si quelqu'un d'autre le passe déjà, attends jusqu'à ce que la zone de test soit de nouveau libre."; close; } job_cru,24,187,2 script Salle d'Attente#cr1 700,{ end; OnInit: disablenpc "Salle d'Attente#cr1"; waitingroom "Salle d'Attente",20,"Salle d'Attente#cr1::OnStartArena",1; enablewaitingroomevent; end; OnStartArena: warpwaitingpc "job_cru",168,21; donpcevent "Monster Summon#cr0::OnStart"; disablewaitingroomevent; end; OnStart: enablewaitingroomevent; end; } job_cru,168,17,0 script Bliant Piyord#3 -1,2,2,{ OnTouch: mes "[Bliant Piyord]"; mes "Vas de l'avant et tues"; mes "tous les monstres qui apparaîtront."; mes "Tu échoueras s'il"; mes "en reste ne serait-ce qu'un seul."; next; mes "[Bliant Piyord]"; mes "Tu as"; mes "4 minutes. Vas de l'avant"; mes "et fais de ton mieux..."; close; } job_cru,2,1,1 script Monster Summon#cr0 -1,{ OnInit: disablenpc "Monster Summon#cr0"; end; OnStart: set .MyMonsterCount,0; enablenpc "Monster Summon#cr0"; donpcevent "Monster Summon#cr1::OnStart"; donpcevent "Monster Summon#cr2::OnStart"; donpcevent "Monster Summon#cr3::OnStart"; donpcevent "Monster Summon#cr4::OnStart"; donpcevent "Monster Summon#cr6::OnStart"; end; OnMonster1: monster "job_cru",168,45,"--ja--",1015,1,"Monster Summon#cr0::OnDead"; monster "job_cru",168,45,"--ja--",1015,1,"Monster Summon#cr0::OnDead"; monster "job_cru",168,45,"--ja--",1015,1,"Monster Summon#cr0::OnDead"; monster "job_cru",168,45,"--ja--",1015,1,"Monster Summon#cr0::OnDead"; monster "job_cru",168,45,"--ja--",1015,1,"Monster Summon#cr0::OnDead"; monster "job_cru",168,45,"--ja--",1015,1,"Monster Summon#cr0::OnDead"; end; OnMonster2: monster "job_cru",168,80,"--ja--",1028,1,"Monster Summon#cr0::OnDead"; monster "job_cru",168,80,"--ja--",1028,1,"Monster Summon#cr0::OnDead"; monster "job_cru",168,80,"--ja--",1028,1,"Monster Summon#cr0::OnDead"; end; OnMonster3: monster "job_cru",168,110,"--ja--",1016,1,"Monster Summon#cr0::OnDead"; monster "job_cru",168,115,"--ja--",1041,1,"Monster Summon#cr0::OnDead"; end; OnDead: set .MyMonsterCount,.MyMonsterCount+1; if (.MyMonsterCount >= 10) { set CRUS_Q,10; changequest 3014,3015; } end; OnEnd: disablenpc "Monster Summon#cr0"; end; OnReset: killmonster "job_cru","Monster Summon#cr0::OnDead"; end; } job_cru,168,45,0 script Monster Summon#cr1 -1,15,1,{ OnInit: disablenpc "Monster Summon#cr1"; end; OnTouch: donpcevent "Monster Summon#cr0::OnMonster1"; donpcevent "Monster Summon#cr1::OnEnd"; end; OnStart: enablenpc "Monster Summon#cr1"; end; OnEnd: disablenpc "Monster Summon#cr1"; end; } job_cru,168,80,0 script Monster Summon#cr2 -1,15,1,{ OnInit: disablenpc "Monster Summon#cr2"; end; OnTouch: donpcevent "Monster Summon#cr0::OnMonster2"; donpcevent "Monster Summon#cr2::OnEnd"; end; OnStart: enablenpc "Monster Summon#cr2"; end; OnEnd: disablenpc "Monster Summon#cr2"; end; } job_cru,165,115,0 script Monster Summon#cr3 -1,15,1,{ OnInit: disablenpc "Monster Summon#cr3"; end; OnTouch: donpcevent "Monster Summon#cr0::OnMonster3"; donpcevent "Monster Summon#cr3::OnEnd"; end; OnStart: enablenpc "Monster Summon#cr3"; end; OnEnd: disablenpc "Monster Summon#cr3"; end; } job_cru,168,150,0 script Monster Summon#cr4 -1,15,1,{ OnInit: disablenpc "Monster Summon#cr4"; end; OnTouch: monster "job_cru",168,150,strcharinfo(0),1036,1,"Monster Summon#cr4-a::OnDead"; donpcevent "Monster Summon#cr4::OnEnd"; end; OnDead: donpcevent "Monster Summon#cr5::OnStart"; end; OnStart: enablenpc "Monster Summon#cr4"; end; OnReset: killmonster "job_cru","Monster Summon#cr4-a::OnDead"; end; OnEnd: disablenpc "Monster Summon#cr4"; end; } job_cru,168,150,0 script Monster Summon#cr4-a -1,{ OnDead: donpcevent "Monster Summon#cr5::OnStart"; end; } job_cru,168,180,4 script Monster Summon#cr5 45,3,3,{ OnInit: disablenpc "Monster Summon#cr5"; end; OnTouch: warp "prt_castle",35,147; donpcevent "Monster Summon#cr0::OnReset"; donpcevent "Monster Summon#cr4::OnReset"; donpcevent "Monster Summon#cr0::OnEnd"; donpcevent "Monster Summon#cr4::OnEnd"; donpcevent "Monster Summon#cr5::OnEnd"; donpcevent "Monster Summon#cr6::OnStop"; donpcevent "Monster Summon#cr6::OnEnd"; donpcevent "Salle d'Attente#cr1::OnStart"; end; OnStart: enablenpc "Monster Summon#cr5"; end; OnEnd: disablenpc "Monster Summon#cr5"; end; } job_cru,2,2,1 script Monster Summon#cr6 -1,{ OnTimer241000: areawarp "job_cru",160,14,175,178,"job_cru",24,169; donpcevent "Monster Summon#cr0::OnReset"; donpcevent "Monster Summon#cr4::OnReset"; donpcevent "Monster Summon#cr0::OnEnd"; donpcevent "Monster Summon#cr4::OnEnd"; donpcevent "Monster Summon#cr5::OnEnd"; donpcevent "Monster Summon#cr6::OnStop"; donpcevent "Monster Summon#cr6::OnEnd"; donpcevent "Salle d'Attente#cr1::OnStart"; end; OnInit: disablenpc "Monster Summon#cr6"; end; OnStart: enablenpc "Monster Summon#cr6"; initnpctimer; end; OnEnd: disablenpc "Monster Summon#cr6"; end; OnStop: stopnpctimer; end; } //============================================================ // mapflag //============================================================ //============================================================ // Old changelog //============================================================ //= Need optimalization and fixing //= thanks to Komurka, KiLLaLeN, Lupus (fixing error) //= just a temp Job Quest //= 1.2 minor fix of announcement by Freya people //= 1.3 Added Baby Class Support, fixed 40/50 lvl item reward //= also fixed too common script names [Lupus] //= 1.3a fixed "dead lock" bugs [Lupus] //= 1.3b changed monsters ID in patience test [Komurka] //= 1.4 Fixed Job Level parameters mix-up. [massdriller] (Thanks to Komurka) //= 1.5 Fixed possible EXP abuse [Lupus] //= 1.6 Added a func which prevent advanced classes passing //= 2nd Job Quests again. It also guides adv classes where //= to go. [Lupus] //= 1.7 Updated names and required items, Chivalry Emblem + //= Hand of God allow to skip item gathering [DracoRPG] //= 2.0 Changed numbers to constants. [Vicious] //= 2.1 Fixed endless loop, wrong condition check [Lupus] //= also changed all job numbers to constants, fixed logic