changements et reglé erreurs
This commit is contained in:
parent
d024829cec
commit
90bb5a2cdd
@ -1,13 +0,0 @@
|
|||||||
package carte;
|
|
||||||
|
|
||||||
import main.Joueur;
|
|
||||||
import main.Type;
|
|
||||||
|
|
||||||
|
|
||||||
public class Equipement extends CartePiochable<Type>{
|
|
||||||
|
|
||||||
|
|
||||||
public void utiliser(Joueur j) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,46 +0,0 @@
|
|||||||
package condition;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import main.Joueur;
|
|
||||||
|
|
||||||
|
|
||||||
public class ConditionType extends Condition{
|
|
||||||
|
|
||||||
private List<Joueur.Equipe> equipes;
|
|
||||||
|
|
||||||
public ConditionType(List<Joueur.Equipe> equipes){
|
|
||||||
|
|
||||||
this.equipes = new ArrayList<Joueur.Equipe>();
|
|
||||||
this.equipes.addAll(equipes);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Vérifie qu'il existe au moins une classe qui correspond à l'équipe du Joueur.
|
|
||||||
* <br><br>
|
|
||||||
* exemple :
|
|
||||||
*
|
|
||||||
* classes = { NEUTRE,SHADOW,HUNTER }
|
|
||||||
* <br>
|
|
||||||
* Si l'équipe du joueur correspond à un des élements dans la liste des équipes alors on renvoie vrai.
|
|
||||||
*
|
|
||||||
* @param joueur Le joueur sur lequel on vérifie les conditions.
|
|
||||||
* @return boolean
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public boolean isTrue(Joueur joueur)
|
|
||||||
{
|
|
||||||
Joueur.Equipe equipeJoueur = joueur.getEquipe();
|
|
||||||
|
|
||||||
for(Joueur.Equipe equipe : equipes) {
|
|
||||||
|
|
||||||
if(equipeJoueur == equipe) return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -41,7 +41,7 @@ import personnage.Vampire;
|
|||||||
|
|
||||||
public class CreatingCardsTest {
|
public class CreatingCardsTest {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void init() {
|
||||||
|
|
||||||
// Lumière
|
// Lumière
|
||||||
|
|
||||||
|
@ -1,18 +0,0 @@
|
|||||||
package effet;
|
|
||||||
|
|
||||||
import main.Joueur;
|
|
||||||
|
|
||||||
public class ActionAttaquer extends Action {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Lance l'action d'attaquer
|
|
||||||
* @param j1 Le joueur qui attaque
|
|
||||||
* @param j2 Le joueur qui subit l'attaque
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void affecte(Joueur j1, Joueur j2) {
|
|
||||||
j1.attaquer(j2);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,22 +0,0 @@
|
|||||||
package effet;
|
|
||||||
|
|
||||||
import main.Joueur;
|
|
||||||
|
|
||||||
public class ActionPiocher extends Action{
|
|
||||||
|
|
||||||
public ActionPiocher() {
|
|
||||||
super();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Lance l'action de piocher une carte.
|
|
||||||
* @param j1 Le joueur qui lance l'action
|
|
||||||
* @param j2 Le joueur qui subit l'action
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void affecte(Joueur j1, Joueur j2) {
|
|
||||||
j2.piocher();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,26 +0,0 @@
|
|||||||
package effet;
|
|
||||||
|
|
||||||
import main.Equipement;
|
|
||||||
import main.Joueur;
|
|
||||||
|
|
||||||
public class ActionVoler extends Action{
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Lance l'action de voler une carte équipement.
|
|
||||||
* @param j1 Le joueur qui vol
|
|
||||||
* @param j2 Le joueur volé
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public void affecte(Joueur j1, Joueur j2) {
|
|
||||||
|
|
||||||
Equipement[] equipements = j2.getEquipements();
|
|
||||||
|
|
||||||
// J1 choisit quel équipement voler
|
|
||||||
Equipement equipement = j1.choisir(equipements);
|
|
||||||
|
|
||||||
j1.voler(j2,equipement);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
@ -3,6 +3,7 @@ import java.net.URL;
|
|||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.ResourceBundle;
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
|
import database.CreatingCardsTest;
|
||||||
import database.RessourceLoader;
|
import database.RessourceLoader;
|
||||||
import javafx.application.Application;
|
import javafx.application.Application;
|
||||||
import javafx.event.EventHandler;
|
import javafx.event.EventHandler;
|
||||||
@ -40,9 +41,8 @@ public class Main extends Application {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
|
CreatingCardsTest.init();
|
||||||
GestionnaireJeu gj = GestionnaireJeu.getGestionnaireJeu();
|
GestionnaireJeu gj = GestionnaireJeu.getGestionnaireJeu();
|
||||||
|
|
||||||
RessourceLoader rl = new RessourceLoader();
|
RessourceLoader rl = new RessourceLoader();
|
||||||
rl.loadRessources();
|
rl.loadRessources();
|
||||||
gj.setRessourceLoader(rl);
|
gj.setRessourceLoader(rl);
|
||||||
|
@ -626,4 +626,9 @@ public class PlateauController implements Initializable {
|
|||||||
jihm.reveler();
|
jihm.reveler();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void utiliserCapacite(Joueur joueur) {
|
||||||
|
JoueurIHM jihm = getJoueurIHM(joueur);
|
||||||
|
jihm.getRevealButton().fire();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -371,4 +371,10 @@ public class GestionnaireJeu {
|
|||||||
pc.revealJoueur(joueur);
|
pc.revealJoueur(joueur);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void utiliserCapacite(Joueur joueur) {
|
||||||
|
Platform.runLater(() -> {
|
||||||
|
pc.utiliserCapacite(joueur);
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -59,10 +59,10 @@ public class JoueurVirtuel extends Joueur {
|
|||||||
res = choisirJoueurAmi(joueurs);
|
res = choisirJoueurAmi(joueurs);
|
||||||
break;
|
break;
|
||||||
case CHOISIR_VISION:
|
case CHOISIR_VISION:
|
||||||
res = joueurs.get((int) Math.floor(Math.random() * joueurs.size())); // a revoir inshallah
|
res = choisirJoueurEnnemi(joueurs); // a revoir inshallah
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
res = null; // faire exception?
|
res = choisirJoueurEnnemi(joueurs); // faire exception?
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
@ -55,7 +55,6 @@ public class Plateau extends Thread{
|
|||||||
joueurs.forEach(x -> x.setPlateau(this));
|
joueurs.forEach(x -> x.setPlateau(this));
|
||||||
this.joueurs = joueurs;
|
this.joueurs = joueurs;
|
||||||
|
|
||||||
|
|
||||||
this.stats.put(NB_MORTS, 0);
|
this.stats.put(NB_MORTS, 0);
|
||||||
this.stats.put(NB_MORTS_NEUTRAL, 0);
|
this.stats.put(NB_MORTS_NEUTRAL, 0);
|
||||||
this.stats.put(NB_MORTS_HUNTER, 0);
|
this.stats.put(NB_MORTS_HUNTER, 0);
|
||||||
@ -83,14 +82,19 @@ public class Plateau extends Thread{
|
|||||||
Pioche piocheLumiere = new Pioche(list1);
|
Pioche piocheLumiere = new Pioche(list1);
|
||||||
Pioche piocheTenebre = new Pioche(list2);
|
Pioche piocheTenebre = new Pioche(list2);
|
||||||
|
|
||||||
CarteLieu lieu1 = new CarteLieuType(CartePiochable.Type.TENEBRE,"Antre de l'Ermite","desc",new Point(2,3),piocheTenebre);
|
CarteLieu lieu1 = new CarteLieuType(CartePiochable.Type.TENEBRE, "Antre de l'Ermite", "desc", new Point(2, 3),
|
||||||
CarteLieu lieu2 = new CarteLieuType(CartePiochable.Type.TENEBRE,"Cimetière","desc",new Point(-1,8),piocheTenebre);
|
piocheTenebre);
|
||||||
|
CarteLieu lieu2 = new CarteLieuType(CartePiochable.Type.TENEBRE, "Cimetière", "desc", new Point(-1, 8),
|
||||||
|
piocheTenebre);
|
||||||
CarteLieu lieu3 = new CarteLieu("Forêt hantée", "desc", new Point(-1, 9));
|
CarteLieu lieu3 = new CarteLieu("Forêt hantée", "desc", new Point(-1, 9));
|
||||||
lieu3.setEffet(new EffetChoisirEffet(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-2,true)),
|
lieu3.setEffet(new EffetChoisirEffet(
|
||||||
|
new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)),
|
||||||
new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 1, true))));
|
new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 1, true))));
|
||||||
CarteLieu lieu4 = new CarteLieuType(CartePiochable.Type.LUMIERE,"Monastère","desc",new Point(-1,6),piocheLumiere);
|
CarteLieu lieu4 = new CarteLieuType(CartePiochable.Type.LUMIERE, "Monastère", "desc", new Point(-1, 6),
|
||||||
|
piocheLumiere);
|
||||||
|
|
||||||
CarteLieu lieu5 = new CarteLieuType(CartePiochable.Type.TENEBRE,"Sanctuaire Ancien","desc",new Point(4,5),piocheTenebre);
|
CarteLieu lieu5 = new CarteLieuType(CartePiochable.Type.TENEBRE, "Sanctuaire Ancien", "desc", new Point(4, 5),
|
||||||
|
piocheTenebre);
|
||||||
CarteLieu lieu6 = new CarteLieu("Sanctuaire Ancien", "desc", new Point(-1, 9));
|
CarteLieu lieu6 = new CarteLieu("Sanctuaire Ancien", "desc", new Point(-1, 9));
|
||||||
lieu6.setEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER)));
|
lieu6.setEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER)));
|
||||||
|
|
||||||
@ -104,7 +108,6 @@ public class Plateau extends Thread{
|
|||||||
|
|
||||||
List<CartePersonnage> personnages = new ArrayList<CartePersonnage>();
|
List<CartePersonnage> personnages = new ArrayList<CartePersonnage>();
|
||||||
|
|
||||||
|
|
||||||
for (int i = 0; i < 3; i++) {
|
for (int i = 0; i < 3; i++) {
|
||||||
|
|
||||||
personnages.add(new Franklin());
|
personnages.add(new Franklin());
|
||||||
@ -143,10 +146,8 @@ public class Plateau extends Thread{
|
|||||||
this.stats.put(NB_SHADOWS, 0);
|
this.stats.put(NB_SHADOWS, 0);
|
||||||
this.stats.put(NB_NEUTRES, 0);
|
this.stats.put(NB_NEUTRES, 0);
|
||||||
|
|
||||||
|
|
||||||
joueurs.forEach(x -> x.setPlateau(this));
|
joueurs.forEach(x -> x.setPlateau(this));
|
||||||
|
|
||||||
|
|
||||||
List<CartePiochable> lumiere = RessourceLoader.getCartesType(CartePiochable.Type.LUMIERE, cartes);
|
List<CartePiochable> lumiere = RessourceLoader.getCartesType(CartePiochable.Type.LUMIERE, cartes);
|
||||||
List<CartePiochable> tenebre = RessourceLoader.getCartesType(CartePiochable.Type.TENEBRE, cartes);
|
List<CartePiochable> tenebre = RessourceLoader.getCartesType(CartePiochable.Type.TENEBRE, cartes);
|
||||||
List<CartePiochable> vision = RessourceLoader.getCartesType(CartePiochable.Type.VISION, cartes);
|
List<CartePiochable> vision = RessourceLoader.getCartesType(CartePiochable.Type.VISION, cartes);
|
||||||
@ -179,8 +180,6 @@ public class Plateau extends Thread{
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
List<CartePersonnage> personnages = RessourceLoader.getCartesPersonnages(cartes);
|
List<CartePersonnage> personnages = RessourceLoader.getCartesPersonnages(cartes);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -227,7 +226,8 @@ public class Plateau extends Thread{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<CartePersonnage> getRandomListPersonnages(List<CartePersonnage> cps,int nbEquipeShadowHunter, int nbNeutres) {
|
private List<CartePersonnage> getRandomListPersonnages(List<CartePersonnage> cps, int nbEquipeShadowHunter,
|
||||||
|
int nbNeutres) {
|
||||||
|
|
||||||
List<CartePersonnage> lcp = new ArrayList<CartePersonnage>();
|
List<CartePersonnage> lcp = new ArrayList<CartePersonnage>();
|
||||||
|
|
||||||
@ -239,7 +239,6 @@ public class Plateau extends Thread{
|
|||||||
|
|
||||||
for (CartePersonnage cp : cps) {
|
for (CartePersonnage cp : cps) {
|
||||||
|
|
||||||
|
|
||||||
if (nbHunter > 0 && cp.getEquipe() == CartePersonnage.Equipe.HUNTER) {
|
if (nbHunter > 0 && cp.getEquipe() == CartePersonnage.Equipe.HUNTER) {
|
||||||
nbHunter--;
|
nbHunter--;
|
||||||
lcp.add(cp);
|
lcp.add(cp);
|
||||||
@ -269,22 +268,40 @@ public class Plateau extends Thread{
|
|||||||
Joueur currentJoueur = this.joueurs.get(i % nbJoueurs);
|
Joueur currentJoueur = this.joueurs.get(i % nbJoueurs);
|
||||||
|
|
||||||
if (!currentJoueur.isDead()) {
|
if (!currentJoueur.isDead()) {
|
||||||
|
if (currentJoueur instanceof JoueurVirtuel) {
|
||||||
|
if (checkrevealIAtour((JoueurVirtuel) currentJoueur))
|
||||||
|
currentJoueur.reveal();
|
||||||
|
currentJoueur.utiliserCapacite();
|
||||||
|
}
|
||||||
|
|
||||||
deplacer(currentJoueur);
|
deplacer(currentJoueur);
|
||||||
if(isPartieTerminee()) break;
|
if (isPartieTerminee())
|
||||||
|
break;
|
||||||
gj.afficherLieu(currentJoueur);
|
gj.afficherLieu(currentJoueur);
|
||||||
|
|
||||||
if (currentJoueur.choisir(Contexte.ACTIVER_EFFET_LIEU)) {
|
if (currentJoueur.choisir(Contexte.ACTIVER_EFFET_LIEU)) {
|
||||||
currentJoueur.utiliserEffetLieu();
|
currentJoueur.utiliserEffetLieu();
|
||||||
if(isPartieTerminee()) break;
|
if (isPartieTerminee())
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currentJoueur.choisir(Contexte.ATTAQUER)) {
|
if (currentJoueur.choisir(Contexte.ATTAQUER)) {
|
||||||
if (currentJoueur.hasOpponents()) {
|
if (currentJoueur.hasOpponents()) {
|
||||||
List<Joueur> adjacents = currentJoueur.getJoueursRange();
|
List<Joueur> adjacents = currentJoueur.getJoueursRange();
|
||||||
Joueur cible = (Joueur) currentJoueur.choisir(adjacents, Contexte.ATTAQUER);
|
Joueur cible = (Joueur) currentJoueur.choisir(adjacents, Contexte.ATTAQUER);
|
||||||
|
if (currentJoueur instanceof JoueurVirtuel) {
|
||||||
|
if (checkrevealIAattaque((JoueurVirtuel) currentJoueur, cible))
|
||||||
|
currentJoueur.reveal();
|
||||||
|
currentJoueur.utiliserCapacite();
|
||||||
|
}
|
||||||
|
if (currentJoueur instanceof JoueurVirtuel) {
|
||||||
|
if (checkrevealIAattaquee((JoueurVirtuel) cible, currentJoueur))
|
||||||
|
cible.reveal();
|
||||||
|
cible.utiliserCapacite();
|
||||||
|
}
|
||||||
attaquer(currentJoueur, cible);
|
attaquer(currentJoueur, cible);
|
||||||
if(isPartieTerminee()) break;
|
if (isPartieTerminee())
|
||||||
|
break;
|
||||||
} else {
|
} else {
|
||||||
System.out.println("Il n'y a personne a attaquer.");
|
System.out.println("Il n'y a personne a attaquer.");
|
||||||
}
|
}
|
||||||
@ -304,8 +321,59 @@ public class Plateau extends Thread{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean checkrevealIAtour(JoueurVirtuel jIA) {
|
||||||
|
ControleurIA cIA = new ControleurIA();
|
||||||
|
switch (jIA.getCartePersonnage().getNom()) {
|
||||||
|
case "ALLIE":
|
||||||
|
return cIA.devoilerIAAllie(jIA);
|
||||||
|
case "DANIEL":
|
||||||
|
return false;
|
||||||
|
case "FRANKLIN":
|
||||||
|
return cIA.devoilerIAFranklin(jIA, joueurs);
|
||||||
|
case "GEORGES":
|
||||||
|
return cIA.devoilerIAGeorges(jIA, joueurs);
|
||||||
|
case "EMI":
|
||||||
|
return cIA.devoilerIAEmi(jIA, jIA.getCarteLieu());
|
||||||
|
case "METAMORPHE":
|
||||||
|
return false;
|
||||||
|
default:
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean checkrevealIAattaque(JoueurVirtuel jIA, Joueur jAttaquee) {
|
||||||
|
ControleurIA cIA = new ControleurIA();
|
||||||
|
switch (jIA.getCartePersonnage().getNom()) {
|
||||||
|
case "ALLIE":
|
||||||
|
return cIA.devoilerIAAllie(jIA);
|
||||||
|
case "BOB":
|
||||||
|
return cIA.devoilerIABob(jIA, jAttaquee);
|
||||||
|
case "VAMPIRE":
|
||||||
|
return cIA.devoilerIAVampire(jIA, jAttaquee);
|
||||||
|
case "CHARLES":
|
||||||
|
return cIA.devoilerIACharles(jIA, jAttaquee);
|
||||||
|
case "FRANKLIN":
|
||||||
|
return cIA.devoilerIAFranklin(jIA, joueurs);
|
||||||
|
case "GEORGES":
|
||||||
|
return cIA.devoilerIAGeorges(jIA, joueurs);
|
||||||
|
default:
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean checkrevealIAattaquee(JoueurVirtuel jIA, Joueur jAttaquant) {
|
||||||
|
ControleurIA cIA = new ControleurIA();
|
||||||
|
switch (jIA.getCartePersonnage().getNom()) {
|
||||||
|
case "LOUP-GAROU":
|
||||||
|
return cIA.devoilerIALoupGarou(jIA, jAttaquant);
|
||||||
|
default:
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isPartieTerminee() {
|
public boolean isPartieTerminee() {
|
||||||
return this.getStat(PARTIE_FINIE) == 1;
|
return false;
|
||||||
|
// return this.getStat(PARTIE_FINIE) == 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void deplacer(Joueur currentJoueur) {
|
public void deplacer(Joueur currentJoueur) {
|
||||||
@ -370,8 +438,7 @@ public class Plateau extends Thread{
|
|||||||
return roll;
|
return roll;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int sumRolls(Joueur j)
|
public int sumRolls(Joueur j) {
|
||||||
{
|
|
||||||
int sum = 0;
|
int sum = 0;
|
||||||
int roll4 = 0;
|
int roll4 = 0;
|
||||||
int roll6 = 0;
|
int roll6 = 0;
|
||||||
@ -394,8 +461,7 @@ public class Plateau extends Thread{
|
|||||||
|
|
||||||
public int getStat(String key) {
|
public int getStat(String key) {
|
||||||
|
|
||||||
if(this.stats.containsKey(key))
|
if (this.stats.containsKey(key)) {
|
||||||
{
|
|
||||||
return this.stats.get(key);
|
return this.stats.get(key);
|
||||||
} else {
|
} else {
|
||||||
return -1;
|
return -1;
|
||||||
@ -426,7 +492,6 @@ public class Plateau extends Thread{
|
|||||||
return this.lieux;
|
return this.lieux;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public boolean choisir(Joueur joueur, Contexte contexte) {
|
public boolean choisir(Joueur joueur, Contexte contexte) {
|
||||||
return gj.choisir(joueur, contexte);
|
return gj.choisir(joueur, contexte);
|
||||||
}
|
}
|
||||||
@ -443,7 +508,6 @@ public class Plateau extends Thread{
|
|||||||
return (Joueur) gj.choisir(joueur, joueurs, Joueur.class);
|
return (Joueur) gj.choisir(joueur, joueurs, Joueur.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void removeDeads(List<Joueur> joueurs) {
|
private void removeDeads(List<Joueur> joueurs) {
|
||||||
|
|
||||||
List<Joueur> toRemove = new ArrayList<Joueur>();
|
List<Joueur> toRemove = new ArrayList<Joueur>();
|
||||||
@ -504,7 +568,8 @@ public class Plateau extends Thread{
|
|||||||
break;
|
break;
|
||||||
case NEUTRE:
|
case NEUTRE:
|
||||||
this.updateStat(NB_MORTS_NEUTRAL, 1, true);
|
this.updateStat(NB_MORTS_NEUTRAL, 1, true);
|
||||||
break;}
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
this.updateStat(NB_MORTS, 1, true);
|
this.updateStat(NB_MORTS, 1, true);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user