public Soldat(int classe) { buffCombattant = new Buff(); this.niveauSoldat = new GestionXP.NiveauXP(); if (classe == 0) { combattant = new Guerrier(); classeString = "Guerrier"; } // 1 pour Assassin if (classe == 1) { combattant = new Assassin(); classeString = "Assassin"; } // 2 pour Sniper if (classe == 2) { combattant = new Sniper(); classeString = "Sniper"; } // 3 pour Eclaireur if (classe == 3) { combattant = new Eclaireur(); classeString = "Eclaireur"; } if (this.niveauSoldat.XPActuelle >= this.niveauSoldat.XPMax) { UpNiveau(); } }
public Ennemi(int classe, int niveau) { // Niveau set en fonction de la mission if (classe == 0) { combattant = new Guerrier(); classeString = "Guerrier"; } // 1 pour Assassin if (classe == 1) { combattant = new Assassin(); classeString = "Assassin"; } // 2 pour Sniper if (classe == 2) { combattant = new Sniper(); classeString = "Sniper"; } // 3 pour Eclaireur if (classe == 3) { combattant = new Eclaireur(); classeString = "Eclaireur"; } }
public void RecoitDegats(TypeCombattant adversaire, int degatsBuff = 0) { this.HpCombattant -= adversaire.DegatsCombattant + degatsBuff; if (HpCombattant <= 0) { // Faut le faire mourrir } }
public void CreateStatCombatant(int i, int nbSoldat) { if (unJoueurControle) { StatSoldat = HUDDetailMission.Mission.Soldats[i]; statCombatant = StatSoldat.combattant; } else { StatEnnemi = HUDDetailMission.Mission.Ennemis[i - nbSoldat]; statCombatant = StatEnnemi.combattant; } }
public void AttaqueAdversaire(TypeCombattant adversaire) { adversaire.RecoitDegats(combattant); }
public void AttaqueAdversaire(TypeCombattant adversaire) { adversaire.RecoitDegats(GetTypeCombattant(), GetBuffCombattant().DegatsBuffDebuff); }
private void ShowTrajet(bool FaireChemin) { Vector2 MousePos = PointToWorld(); Debug.LogWarning("Mouse pos : " + MousePos); if (generateurDeCarte.GetComponent <GenerateurDeCarte>().Tableauterrain.ContainsKey(new Vector2Int((int)MousePos.x, (int)MousePos.y)) == true) { if (generateurDeCarte.GetComponent <GenerateurDeCarte>().Tableauterrain[new Vector2Int((int)MousePos.x, (int)MousePos.y)].IsFree) { Debug.Log("je passe"); PositionEnd = MousePos; GenerateChemin(FaireChemin); } else { if (unJoueurControle) { if (generateurDeCarte.GetComponent <GenerateurDeCarte>().Tableauterrain[new Vector2Int((int)MousePos.x, (int)MousePos.y)].UnEnnemyDessus) { if (CheckPeutAttaquer(new Vector2Int((int)MousePos.x, (int)MousePos.y)) && paDispo >= 1) { Debug.Log("Peux attaquer ennemy"); if (FaireChemin) { TypeCombattant ennemy = generateurDeCarte.GetComponent <GenerateurDeCarte>().Tableauterrain[new Vector2Int((int)MousePos.x, (int)MousePos.y)].EnnemyDessus.GetComponent <MouvementPersonnage>().statCombatant; Debug.Log("Avant : Vie enemy : " + ennemy.HpCombattant); StatSoldat.AttaqueAdversaire(ennemy); UiMessage = statCombatant.DegatsCombattant + " dégats infligés. " + ennemy.HpCombattant + " hp restants."; if (ennemy.HpCombattant <= 0) { Debug.LogWarning(GameObject.Find("CombatManager").GetComponent <CombatManager>().listeCombattant.Count); GameObject.Find("CombatManager").GetComponent <CombatManager>().listeCombattant.RemoveAt(GameObject.Find("CombatManager").GetComponent <CombatManager>().listeCombattant.IndexOf(generateurDeCarte.GetComponent <GenerateurDeCarte>().Tableauterrain[new Vector2Int((int)MousePos.x, (int)MousePos.y)].EnnemyDessus)); GameObject.Destroy(generateurDeCarte.GetComponent <GenerateurDeCarte>().Tableauterrain[new Vector2Int((int)MousePos.x, (int)MousePos.y)].EnnemyDessus); Debug.LogWarning(GameObject.Find("CombatManager").GetComponent <CombatManager>().listeCombattant.Count); } Debug.Log("Après : Vie enemy : " + ennemy.HpCombattant); --paDispo; } } } else if (generateurDeCarte.GetComponent <GenerateurDeCarte>().Tableauterrain[new Vector2Int((int)MousePos.x, (int)MousePos.y)].UnSoldatDessus) { Debug.Log("Un allié"); } else if (generateurDeCarte.GetComponent <GenerateurDeCarte>().Tableauterrain[new Vector2Int((int)MousePos.x, (int)MousePos.y)].EstUnObjectif) { if (CheckSiVoisin(new Vector2Int((int)MousePos.x, (int)MousePos.y))) { if (FaireChemin) { Debug.LogWarning(generateurDeCarte.objectifsMission.Count); Debug.LogWarning(generateurDeCarte.objectifsMission.IndexOf(generateurDeCarte.GetComponent <GenerateurDeCarte>().Tableauterrain[new Vector2Int((int)MousePos.x, (int)MousePos.y)].Objectif)); generateurDeCarte.objectifsMission.RemoveAt(generateurDeCarte.objectifsMission.IndexOf(generateurDeCarte.GetComponent <GenerateurDeCarte>().Tableauterrain[new Vector2Int((int)MousePos.x, (int)MousePos.y)].Objectif)); GameObject.Destroy(generateurDeCarte.GetComponent <GenerateurDeCarte>().Tableauterrain[new Vector2Int((int)MousePos.x, (int)MousePos.y)].Objectif.Mesh); generateurDeCarte.GetComponent <GenerateurDeCarte>().Tableauterrain[new Vector2Int((int)MousePos.x, (int)MousePos.y)].IsFree = true; Debug.LogWarning(generateurDeCarte.objectifsMission.Count); } else { Debug.Log("Objectif peut être ramassé."); } } else { Debug.Log("Trop loin pour être ramassé."); } } else { Debug.Log("Impossible obstacle"); } } else { if (GameObject.Find("GenerateurDeCarte").GetComponent <GenerateurDeCarte>().Tableauterrain[new Vector2Int((int)MousePos.x, (int)MousePos.y)].UnEnnemyDessus) { Debug.Log("Un allié"); } else if (GameObject.Find("GenerateurDeCarte").GetComponent <GenerateurDeCarte>().Tableauterrain[new Vector2Int((int)MousePos.x, (int)MousePos.y)].UnSoldatDessus) { Debug.Log("Peut attaquer"); } else { Debug.Log("Impossible obstacle"); } } } } else { Debug.Log("Au dela de la map."); } }