|
@@ -1,29 +1,30 @@
|
|
|
//===== rAthena Script =======================================
|
|
|
-//= BattleGround System - Flavius Second
|
|
|
+//= Système de Champs de Bataille - Flavius Second
|
|
|
+//= Traduit par OverSu et Liara
|
|
|
//===== Description: =========================================
|
|
|
-//= [Official Conversion]
|
|
|
-//= Flavius Battleground.
|
|
|
-//= - Winning Team: 9 badges (11 if VIP)
|
|
|
-//= - Losing Team: 3 badges (5 if VIP)
|
|
|
-//===== Changelogs: ==========================================
|
|
|
-//= 1.0 First Version. [L0ne_W0lf]
|
|
|
-//= 1.1 Fixed NPCs being called for waiting rooms. (bugreport:4395)
|
|
|
-//= 1.2 Fixed pink crystal spawning as blue. [L0ne_W0lf]
|
|
|
-//= 1.3 Updated 'waitingroom' to support required zeny/lvl. [Kisuka]
|
|
|
-//= 1.4 Removed MaxLvl check in waitingrooms. Replaced setwall with setcell.
|
|
|
-//= 1.5 Label standardization. [Euphy]
|
|
|
-//= 1.6 Added GM management function. [Euphy]
|
|
|
-//= 1.7 Added VIP features and created a reward function. [Euphy]
|
|
|
-//= 1.8 Made Crystals immune to attacks until Guardians are defeated. [Cydh/Aleos]
|
|
|
-//= 1.9 Added battle_config checks to allow this script to use the new queue interface or the previous method. [Aleos]
|
|
|
+//= [Conversion Officielle]
|
|
|
+//= Champ de Bataille de Flavius.
|
|
|
+//= - Équipe gagnante : 9 badges (11 si VIP)
|
|
|
+//= - Équipe perdante : 3 badges (5 si VIP)
|
|
|
+//===== Journal des modifications : ==========================
|
|
|
+//= 1.0 Première version. [L0ne_W0lf]
|
|
|
+//= 1.1 Correction des PNJ appelés pour les salles d’attente. (bugreport:4395)
|
|
|
+//= 1.2 Correction du cristal rose apparaissant comme bleu. [L0ne_W0lf]
|
|
|
+//= 1.3 Mise à jour de 'waitingroom' pour gérer les zeny/niveaux requis. [Kisuka]
|
|
|
+//= 1.4 Suppression du contrôle MaxLvl dans les salles d’attente. setwall remplacé par setcell.
|
|
|
+//= 1.5 Standardisation des labels. [Euphy]
|
|
|
+//= 1.6 Ajout d’une fonction de gestion MJ. [Euphy]
|
|
|
+//= 1.7 Ajout des fonctionnalités VIP et d’une fonction de récompense. [Euphy]
|
|
|
+//= 1.8 Cristaux rendus invulnérables tant que les Gardiens ne sont pas vaincus. [Cydh/Aleos]
|
|
|
+//= 1.9 Ajout de vérifs via battle_config pour gérer l’interface de file d’attente ou l’ancienne méthode. [Aleos]
|
|
|
//============================================================
|
|
|
|
|
|
-// Waiting Room NPCs
|
|
|
+// PNJ de Salle d’Attente
|
|
|
//============================================================
|
|
|
bat_room,142,227,4 script Lieutenant Huvas 418,{
|
|
|
end;
|
|
|
OnInit:
|
|
|
- waitingroom "Battle Station",11,"start#bat_b02::OnReadyCheck",1,0,80;
|
|
|
+ waitingroom "Poste de Combat",11,"start#bat_b02::OnReadyCheck",1,0,80;
|
|
|
end;
|
|
|
OnEnterBG:
|
|
|
set $@FlaviusBG2_id1, waitingroom2bg("bat_b02",10,290,"start#bat_b02::OnGuillaumeQuit","");
|
|
@@ -33,15 +34,15 @@ OnEnterBG:
|
|
|
bat_room,142,204,0 script Lieutenant Yukon 414,{
|
|
|
end;
|
|
|
OnInit:
|
|
|
- waitingroom "Battle Station",11,"start#bat_b02::OnReadyCheck",1,0,80;
|
|
|
+ waitingroom "Poste de Combat",11,"start#bat_b02::OnReadyCheck",1,0,80;
|
|
|
end;
|
|
|
OnEnterBG:
|
|
|
set $@FlaviusBG2_id2, waitingroom2bg("bat_b02",390,10,"start#bat_b02::OnCroixQuit","");
|
|
|
end;
|
|
|
}
|
|
|
|
|
|
-bat_room,141,220,0 warp back_bgroomb02a 1,1,bat_room,154,150
|
|
|
-bat_room,141,211,0 warp back_bgroomb02b 1,1,bat_room,154,150
|
|
|
+bat_room,141,220,0 warp retour_bgroomb02a 1,1,bat_room,154,150
|
|
|
+bat_room,141,211,0 warp retour_bgroomb02b 1,1,bat_room,154,150
|
|
|
|
|
|
bat_room,2,151,3 script #bat_b02_timer 844,{
|
|
|
end;
|
|
@@ -74,8 +75,7 @@ OnTimer1000:
|
|
|
end;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-// Flavius Battleground Engine
|
|
|
+// Moteur de Combat Flavius
|
|
|
//============================================================
|
|
|
bat_b02,15,15,3 script start#bat_b02 844,{
|
|
|
OnInit:
|
|
@@ -128,6 +128,7 @@ OnReadyCheck:
|
|
|
initnpctimer;
|
|
|
end;
|
|
|
|
|
|
+
|
|
|
OnReset:
|
|
|
donpcevent "OBJ#bat_b02_a::OnKill";
|
|
|
donpcevent "OBJ#bat_b02_a::OnEnable";
|
|
@@ -165,8 +166,8 @@ OnTimer10000:
|
|
|
|
|
|
bat_b02,1,1,3 script OBJ#bat_b02_a 844,{
|
|
|
OnEnable:
|
|
|
- $@FlavBG2_C1_ID = bg_monster($@FlaviusBG2_id1,"bat_b02",61,150,"Pink Crystal",1915,"OBJ#bat_b02_a::OnMyMobDead");
|
|
|
- setunitdata $@FlavBG2_C1_ID,UMOB_DMGIMMUNE,1; // Make Crystal immune to damage until Guardians are defeated
|
|
|
+ $@FlavBG2_C1_ID = bg_monster($@FlaviusBG2_id1,"bat_b02",61,150,"Cristal Rose",1915,"OBJ#bat_b02_a::OnMyMobDead");
|
|
|
+ setunitdata $@FlavBG2_C1_ID,UMOB_DMGIMMUNE,1; // Rendre le cristal invulnérable jusqu'à la mort des Gardiens
|
|
|
end;
|
|
|
|
|
|
OnKill:
|
|
@@ -175,7 +176,7 @@ OnKill:
|
|
|
|
|
|
OnMyMobDead:
|
|
|
if (mobcount("bat_b02","OBJ#bat_b02_a::OnMyMobDead") < 1) {
|
|
|
- mapannounce "bat_b02", "Guillaume's Crystal has been destroyed.",bc_map,"0xFFCE00";
|
|
|
+ mapannounce "bat_b02", "Le Cristal de Guillaume a été détruit !",bc_map,"0xFFCE00";
|
|
|
if ($@Croix_ScoreBG2 > 0) {
|
|
|
set $@FlaviusBG2_Victory,2;
|
|
|
set $@Croix_ScoreBG2,$@Croix_ScoreBG2+1;
|
|
@@ -201,8 +202,8 @@ OnMyMobDead:
|
|
|
|
|
|
bat_b02,1,2,3 script OBJ#bat_b02_b 844,{
|
|
|
OnEnable:
|
|
|
- $@FlavBG2_C2_ID = bg_monster($@FlaviusBG2_id2,"bat_b02",328,150,"Blue Crystal",1914,"OBJ#bat_b02_b::OnMyMobDead");
|
|
|
- setunitdata $@FlavBG2_C2_ID,UMOB_DMGIMMUNE,1; // Make Crystal immune to damage until Guardians are defeated
|
|
|
+ $@FlavBG2_C2_ID = bg_monster($@FlaviusBG2_id2,"bat_b02",328,150,"Cristal Bleu",1914,"OBJ#bat_b02_b::OnMyMobDead");
|
|
|
+ setunitdata $@FlavBG2_C2_ID,UMOB_DMGIMMUNE,1; // Rendre le cristal invulnérable jusqu'à la mort des Gardiens
|
|
|
end;
|
|
|
|
|
|
OnKill:
|
|
@@ -211,7 +212,7 @@ OnKill:
|
|
|
|
|
|
OnMyMobDead:
|
|
|
if (mobcount("bat_b02","OBJ#bat_b02_b::OnMyMobDead") < 1) {
|
|
|
- mapannounce "bat_b02", "Croix's Crystal has been destroyed.",bc_map,"0xFFCE00";
|
|
|
+ mapannounce "bat_b02", "Le Cristal de Croix a été détruit !",bc_map,"0xFFCE00";
|
|
|
if ($@Guill_ScoreBG2 > 0) {
|
|
|
set $@FlaviusBG2_Victory,1;
|
|
|
set $@Guill_ScoreBG2,$@Guill_ScoreBG2+1;
|
|
@@ -235,10 +236,11 @@ OnMyMobDead:
|
|
|
end;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
bat_b02,1,3,3 script guardian#bat_b02_a 844,{
|
|
|
OnEnable:
|
|
|
- bg_monster $@FlaviusBG2_id1,"bat_b02",108,159,"Guillaume Camp Guardian",1949,"guardian#bat_b02_a::OnMyMobDead";
|
|
|
- bg_monster $@FlaviusBG2_id1,"bat_b02",108,141,"Guillaume Camp Guardian",1949,"guardian#bat_b02_a::OnMyMobDead";
|
|
|
+ bg_monster $@FlaviusBG2_id1,"bat_b02",108,159,"Gardien du Camp de Guillaume",1949,"guardian#bat_b02_a::OnMyMobDead";
|
|
|
+ bg_monster $@FlaviusBG2_id1,"bat_b02",108,141,"Gardien du Camp de Guillaume",1949,"guardian#bat_b02_a::OnMyMobDead";
|
|
|
end;
|
|
|
|
|
|
OnKill:
|
|
@@ -248,16 +250,16 @@ OnKill:
|
|
|
OnMyMobDead:
|
|
|
if (mobcount("bat_b02","guardian#bat_b02_a::OnMyMobDead") < 1) {
|
|
|
donpcevent "cell#bat_b02_a::OnGreen";
|
|
|
- mapannounce "bat_b02", "The Guardian protecting Guillaume's Crystal has been slain.",bc_map,"0xFFCE00";
|
|
|
- setunitdata $@FlavBG2_C1_ID,UMOB_DMGIMMUNE,0; // Make Crystal damageable again
|
|
|
+ mapannounce "bat_b02", "Le Gardien protégeant le Cristal de Guillaume a été vaincu !",bc_map,"0xFFCE00";
|
|
|
+ setunitdata $@FlavBG2_C1_ID,UMOB_DMGIMMUNE,0; // Le cristal devient vulnérable
|
|
|
}
|
|
|
end;
|
|
|
}
|
|
|
|
|
|
bat_b02,1,3,3 script guardian#bat_b02_b 844,{
|
|
|
OnEnable:
|
|
|
- bg_monster $@FlaviusBG2_id2,"bat_b02",307,160,"Croix Camp Guardian",1949,"guardian#bat_b02_b::OnMyMobDead";
|
|
|
- bg_monster $@FlaviusBG2_id2,"bat_b02",307,138,"Croix Camp Guardian",1949,"guardian#bat_b02_b::OnMyMobDead";
|
|
|
+ bg_monster $@FlaviusBG2_id2,"bat_b02",307,160,"Gardien du Camp de Croix",1949,"guardian#bat_b02_b::OnMyMobDead";
|
|
|
+ bg_monster $@FlaviusBG2_id2,"bat_b02",307,138,"Gardien du Camp de Croix",1949,"guardian#bat_b02_b::OnMyMobDead";
|
|
|
end;
|
|
|
|
|
|
OnKill:
|
|
@@ -267,8 +269,8 @@ OnKill:
|
|
|
OnMyMobDead:
|
|
|
if (mobcount("bat_b02","guardian#bat_b02_b::OnMyMobDead") < 1) {
|
|
|
donpcevent "cell#bat_b02_b::OnGreen";
|
|
|
- mapannounce "bat_b02", "The Guardian protecting Croix's Crystal has been slain.",bc_map,"0xFFCE00";
|
|
|
- setunitdata $@FlavBG2_C2_ID,UMOB_DMGIMMUNE,0; // Make Crystal damageable again
|
|
|
+ mapannounce "bat_b02", "Le Gardien protégeant le Cristal de Croix a été vaincu !",bc_map,"0xFFCE00";
|
|
|
+ setunitdata $@FlavBG2_C2_ID,UMOB_DMGIMMUNE,0; // Le cristal devient vulnérable
|
|
|
}
|
|
|
end;
|
|
|
}
|
|
@@ -309,12 +311,13 @@ OnStop:
|
|
|
end;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
bat_b02,10,294,3 script Battle Therapist#b02_a 95,{
|
|
|
specialeffect2 EF_HEAL;
|
|
|
- mes "[Battle Therapist]";
|
|
|
- mes "Just close your eyes,";
|
|
|
- mes "and take a deep breath.";
|
|
|
- mes "You can be free from pain.";
|
|
|
+ mes "[Thérapeute de Combat]";
|
|
|
+ mes "Ferme les yeux un instant,";
|
|
|
+ mes "prends une profonde inspiration...";
|
|
|
+ mes "et laisse ta douleur s’envoler.";
|
|
|
close;
|
|
|
|
|
|
OnTimer25000:
|
|
@@ -325,8 +328,8 @@ OnTimer25000:
|
|
|
end;
|
|
|
|
|
|
// OnTimer26000:
|
|
|
- // disablenpc "bat_b02_rp1_a_warp";
|
|
|
- // end;
|
|
|
+// disablenpc "bat_b02_rp1_a_warp";
|
|
|
+// end;
|
|
|
|
|
|
OnTimer26500:
|
|
|
stopnpctimer;
|
|
@@ -360,10 +363,10 @@ OnTouch:
|
|
|
|
|
|
bat_b02,389,14,3 script Battle Therapist#b02_b 95,{
|
|
|
specialeffect2 EF_HEAL;
|
|
|
- mes "[Battle Therapist]";
|
|
|
- mes "Just close your eyes,";
|
|
|
- mes "and take a deep breath.";
|
|
|
- mes "You can be free from pain.";
|
|
|
+ mes "[Thérapeute de Combat]";
|
|
|
+ mes "Ferme les yeux un instant,";
|
|
|
+ mes "prends une profonde inspiration...";
|
|
|
+ mes "et laisse ta douleur s’envoler.";
|
|
|
close;
|
|
|
|
|
|
OnTimer25000:
|
|
@@ -374,8 +377,8 @@ OnTimer25000:
|
|
|
end;
|
|
|
|
|
|
// OnTimer26000:
|
|
|
- // disablenpc "bat_b02_rp1_b_warp";
|
|
|
- // end;
|
|
|
+// disablenpc "bat_b02_rp1_b_warp";
|
|
|
+// end;
|
|
|
|
|
|
OnTimer26500:
|
|
|
stopnpctimer;
|
|
@@ -470,31 +473,31 @@ OnStop:
|
|
|
end;
|
|
|
|
|
|
OnTimer7000:
|
|
|
- mapannounce "bat_b02", "Guillaume Vintenar Axl Rose : Let's attack to destroy that Crystal!",bc_map,"0xFF9900";
|
|
|
+ mapannounce "bat_b02", "Guillaume Vintenar Axl Rose : En avant ! Détruisons ce cristal ennemi !",bc_map,"0xFF9900";
|
|
|
end;
|
|
|
|
|
|
OnTimer8000:
|
|
|
- mapannounce "bat_b02", "Croix Vintenar Swandery : Even though Guillaume is struggling to win against us, the victory is ours. Let's show them our power.",bc_map,"0xFF99CC";
|
|
|
+ mapannounce "bat_b02", "Croix Vintenar Swandery : Même si Guillaume peine à nous vaincre, la victoire est nôtre ! Montrons-leur notre puissance !",bc_map,"0xFF99CC";
|
|
|
end;
|
|
|
|
|
|
OnTimer1800000:
|
|
|
- mapannounce "bat_b02", "Marollo VII : Guillaume Marollo, Croix Marollo! And their followers!",bc_map,"0x99CC00";
|
|
|
+ mapannounce "bat_b02", "Marollo VII : Guillaume Marollo, Croix Marollo ! Et leurs partisans !",bc_map,"0x99CC00";
|
|
|
end;
|
|
|
|
|
|
OnTimer1803000:
|
|
|
- mapannounce "bat_b02", "Marollo VII : Both camps are competitive, so it's hard to judge which team is superior.",bc_map,"0x99CC00";
|
|
|
+ mapannounce "bat_b02", "Marollo VII : Les deux camps sont si compétitifs qu’il est difficile de dire qui est le meilleur.",bc_map,"0x99CC00";
|
|
|
end;
|
|
|
|
|
|
OnTimer1808000:
|
|
|
- mapannounce "bat_b02", "Marollo VII : This battle of Flavian is such a waste of time. I will decide victory and defeat by your progress.",bc_map,"0x99CC00";
|
|
|
+ mapannounce "bat_b02", "Marollo VII : Ce combat de Flavius est une perte de temps. Je jugerai par vos progrès qui l’emportera.",bc_map,"0x99CC00";
|
|
|
end;
|
|
|
|
|
|
OnTimer1822000:
|
|
|
- mapannounce "bat_b02", "Marollo VII : If you can't accept the results, try again in another valley battle!",bc_map,"0x99CC00";
|
|
|
+ mapannounce "bat_b02", "Marollo VII : Si vous contestez le résultat, recommencez dans une autre vallée !",bc_map,"0x99CC00";
|
|
|
end;
|
|
|
|
|
|
OnTimer1825000:
|
|
|
- mapannounce "bat_b02", "Axl Rose, Swandery : Yes, sir.",bc_map,"0x99CC00";
|
|
|
+ mapannounce "bat_b02", "Axl Rose, Swandery : À vos ordres !",bc_map,"0x99CC00";
|
|
|
end;
|
|
|
|
|
|
OnTimer1830000:
|
|
@@ -512,7 +515,6 @@ OnTimer1900000:
|
|
|
donpcevent "countdown#bat_b02::OnStop";
|
|
|
end;
|
|
|
}
|
|
|
-
|
|
|
bat_b02,81,83,3 script Guillaume Camp#flag32 973,{ end; }
|
|
|
bat_b02,94,83,3 script Guillaume Camp#flag33 973,{ end; }
|
|
|
bat_b02,81,66,3 script Guillaume Camp#flag34 973,{ end; }
|
|
@@ -541,15 +543,16 @@ bat_b02,10,294,3 script Vintenar#bat_b02_aover 419,{
|
|
|
set .@A_B_gap,$@Guill_ScoreBG2 - $@Croix_ScoreBG2;
|
|
|
if ($@FlaviusBG2_id1 == getcharid(4)) {
|
|
|
if (.@A_B_gap > 0)
|
|
|
- callfunc "F_BG_Badge",1,"Guillaume","Flavius"; //Guillaume wins
|
|
|
+ callfunc "F_BG_Badge",1,"Guillaume","Flavius"; // Victoire de Guillaume
|
|
|
else if (.@A_B_gap == 0)
|
|
|
- callfunc "F_BG_Badge",0,"Guillaume","Flavius"; //Tie
|
|
|
+ callfunc "F_BG_Badge",0,"Guillaume","Flavius"; // Égalité
|
|
|
else
|
|
|
- callfunc "F_BG_Badge",0,"Guillaume","Flavius"; //Croix wins
|
|
|
+ callfunc "F_BG_Badge",0,"Guillaume","Flavius"; // Défaite
|
|
|
}
|
|
|
else {
|
|
|
mes "[Axl Rose]";
|
|
|
- mes "Why are you here, Croix mercenary? I am definitely sure of victory against foolish Croix such as you. Ha!";
|
|
|
+ mes "Qu’est-ce que tu fiches ici, mercenaire de Croix ?";
|
|
|
+ mes "Je suis convaincu de notre victoire face à des idiots comme vous. Ha !";
|
|
|
close;
|
|
|
}
|
|
|
bg_leave;
|
|
@@ -566,15 +569,16 @@ bat_b02,389,14,3 script Vintenar#bat_b02_bover 415,{
|
|
|
set .@A_B_gap,$@Guill_ScoreBG2 - $@Croix_ScoreBG2;
|
|
|
if ($@FlaviusBG2_id2 == getcharid(4)) {
|
|
|
if (.@A_B_gap > 0)
|
|
|
- callfunc "F_BG_Badge",0,"Croix","Flavius"; //Guillaume wins
|
|
|
+ callfunc "F_BG_Badge",0,"Croix","Flavius"; // Défaite
|
|
|
else if (.@A_B_gap == 0)
|
|
|
- callfunc "F_BG_Badge",0,"Croix","Flavius"; //Tie
|
|
|
+ callfunc "F_BG_Badge",0,"Croix","Flavius"; // Égalité
|
|
|
else
|
|
|
- callfunc "F_BG_Badge",1,"Croix","Flavius"; //Croix wins
|
|
|
+ callfunc "F_BG_Badge",1,"Croix","Flavius"; // Victoire de Croix
|
|
|
}
|
|
|
else {
|
|
|
mes "[Swandery]";
|
|
|
- mes "Why do you come here as a Guillaume? You will be sent to where you should be!";
|
|
|
+ mes "Pourquoi un Guillaume ose-t-il pénétrer ici ?";
|
|
|
+ mes "Retourne donc d'où tu viens, imposteur.";
|
|
|
close;
|
|
|
}
|
|
|
bg_leave;
|
|
@@ -590,27 +594,26 @@ OnInit:
|
|
|
bat_b02,1,10,3 script Release all#b02 81,{
|
|
|
set .@i, callfunc("F_GM_NPC",1854,0);
|
|
|
if (.@i == -1) {
|
|
|
- mes "Cancelled.";
|
|
|
+ mes "Annulé.";
|
|
|
close;
|
|
|
} else if (.@i == 0) {
|
|
|
end;
|
|
|
} else {
|
|
|
- mes "May I help you?";
|
|
|
+ mes "Puis-je vous aider ?";
|
|
|
next;
|
|
|
- switch(select("Release all.:Cancel.")) {
|
|
|
+ switch(select("Libérer tout le monde.:Annuler.")) {
|
|
|
case 1:
|
|
|
- mes "Bye.";
|
|
|
+ mes "Au revoir.";
|
|
|
close2;
|
|
|
mapwarp "bat_b02","bat_room",154,150;
|
|
|
end;
|
|
|
case 2:
|
|
|
- mes "Cancelled.";
|
|
|
+ mes "Annulé.";
|
|
|
close;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-// BG Queue makes these scripts useless
|
|
|
- script BGQueueInit#flavius02 -1,{
|
|
|
end;
|
|
|
|