public double DammageCalculatorPerso(Personnage personnageE, AttaqueCondition condition) { var rand = new Random(); double dmg; var chance = ((double)rand.Next(-30, 31) / 100); switch (condition) { case AttaqueCondition.Attaque: var mulDmgAtt = MethodeCombat.Dommage(Arme.TypeElement, personnageE.Armure.TypeElement); dmg = ((Puissance + Arme.Puissance) - personnageE.Defense + personnageE.Armure.Defense) * mulDmgAtt; if (dmg <= 1) { dmg = rand.Next(2, 7); } dmg = dmg + (dmg * chance); return(dmg); case AttaqueCondition.Defense: var mulDmgDef = MethodeCombat.Dommage(personnageE.Arme.TypeElement, Armure.TypeElement); dmg = (personnageE.Puissance - (Defense + Armure.Defense)) * mulDmgDef; if (dmg <= 1) { dmg = rand.Next(2, 7); } dmg = dmg + (dmg * chance); return(dmg); default: throw new ArgumentOutOfRangeException(nameof(condition), condition, null); } }
//############################################ DAMAGE CALCULATORS ##########################################################// //############################################ DAMAGE CALCULATORS ##########################################################// //############################################ DAMAGE CALCULATORS ##########################################################// public double DammageCalculatorEnnemi(Ennemi ennemi, AttaqueCondition condition) { var rand = new Random(); double dmg; var chance = ((double)rand.Next(-30, 31) / 100); switch (condition) { case AttaqueCondition.Attaque: var mulDmgAtt = MethodeCombat.Dommage(Arme.TypeElement, ennemi.TypeElement); dmg = ((Puissance + Arme.Puissance) - ennemi.Defense) * mulDmgAtt; if (dmg <= 1) { dmg = rand.Next(2, 7); } dmg = dmg + (dmg * chance); return(dmg); case AttaqueCondition.Defense: var mulDmgDef = MethodeCombat.Dommage(ennemi.TypeElement, Arme.TypeElement); dmg = (ennemi.Puissance - (Defense + Armure.Defense)) * mulDmgDef; if (dmg <= 1) { dmg = rand.Next(2, 7); } dmg = dmg + (dmg * chance); return(dmg); } return(0); }
public static string OnRouleDesNoeuds(string monnoeud) { if (monnoeud != "FIN" & monnoeud != "Mort") { string newnoeud = null; foreach (var kvNoeud in DicStory) { if (kvNoeud.Key == monnoeud) { kvNoeud.Value.Init(ref Player); newnoeud = kvNoeud.Value.ChoixJoueur(ref Player); break; } } return(OnRouleDesNoeuds(newnoeud)); } if (monnoeud == "Mort") { MethodeCombat.GameOver(); } return(monnoeud); }
public double DammageCalculatorMagicEnnemi(Ennemi baddie, Sort sort) { var rand = new Random(); var chance = (double)rand.Next(-30, 31) / 100; var mulDmgAtt = MethodeCombat.Dommage(sort.TypeElement, baddie.TypeElement); var dmg = ((PuissanceMagique * sort.Puissance) - (baddie.Defense)) * mulDmgAtt; if (dmg <= 1) { dmg = rand.Next(2, 7); } dmg = dmg + (dmg * chance); return(dmg); }
public double DammageCalculatorMagicPerso(Personnage defenseur, Sort sort) { var rand = new Random(); var chance = ((double)rand.Next(-30, 31) / 100); var mulDmgAtt = MethodeCombat.Dommage(sort.TypeElement, defenseur.Armure.TypeElement); var dmg = ((PuissanceMagique * sort.Puissance) - (defenseur.Defense + defenseur.Armure.Defense)) * mulDmgAtt; if (dmg <= 1) { dmg = rand.Next(2, 7); } dmg = dmg + (dmg * chance); return(dmg); }
public void Init(ref Personnage personnage) { AskForInventory(ref personnage); if (Ennemi != null) { var baddie = Ennemi; Console.WriteLine("\n" + CombatString + "\n"); MethodeCombat.AttaqueEnnemi(ref personnage, ref baddie); } if (EnnemiP != null) { var baddie = EnnemiP; Console.WriteLine(CombatString + "\n"); MethodeCombat.CombatPersonnage(ref personnage, ref baddie); } Console.Clear(); Console.WriteLine("\n" + Intitule + "\n"); }
public void Init() { LoadAllContent(); Table = new ClasseLootTable(ListeArmes, ListeArmures, ListeConsumables); Player = new Personnage(PersonnageRace.Humain, PersonnageClasse.Magicien, "Alex", 100, 100, 19, 5, 5, 5) { Arme = new ObjArme("yeaaa", TypeElement.Air, 3), Armure = new ObjArmure("PasUneArmure", TypeElement.Air, 2), SeuilExperience = 200, ListeSorts = ListeSorts }; Player.Inventaire.Add(new ObjInventaire(new ObjConsumable("pete", TypeConsumable.Potion, TypeElement.Lumiere, 7))); Player.Inventaire.Add(new ObjInventaire(new ObjConsumable("pete", TypeConsumable.Potion, TypeElement.Lumiere, 7))); Player.Inventaire.Add(new ObjInventaire(ListeConsumables[0])); foreach (var listeArme in ListeArmes) { Player.Inventaire.Add(new ObjInventaire(listeArme)); } foreach (var listeArme in ListeArmures) { Player.Inventaire.Add(new ObjInventaire(listeArme)); } var suif = new Ennemi("Vache Enrage", TypeEnnemi.PerchaudeEnchantee, 30, TypeElement.Eau, 10, 10, 10, 3000, 90); suif.LootTable = Table; var Client = new AffichageManager.AffichageManagerTest(); Client.Init(); Affichage = new Thread(Client.SendLoop); Affichage.Start(); Thread.Sleep(300); Player2 = new Personnage(PersonnageRace.Humain, PersonnageClasse.Magicien, "Pablo", 100, 5, 5, 5, 5, 5); Player2.Arme = new ObjArme("PabStick", TypeElement.Air, 2); Player2.ValeurExp = 3000; Player2.Armure = new ObjArmure("Pab String", TypeElement.Air, 2); Player2.LootTable = Table; Player2.LootChances = 90; Console.WriteLine("Nom " + Player.Nom); Console.WriteLine(Player.Classe); Console.WriteLine(Player.Race); Console.WriteLine(Player.Arme.NomObjet); Console.WriteLine(Player.Armure.NomObjet); Console.WriteLine("Niv " + Player.Niveau); Console.WriteLine("MP " + Player.MpActuel); Console.WriteLine("MPMax " + Player.MpMax); Console.WriteLine("Att " + Player.Puissance); Console.WriteLine("Def " + Player.Defense); Console.WriteLine("EXP " + Player.Experience); Console.WriteLine("HP " + Player.PvActuels); Console.WriteLine("Vit " + Player.Vitesse); Console.WriteLine("PM " + Player.PuissanceMagique); Console.WriteLine(Player.SeuilExperience); Console.WriteLine(Player.ValeurExp); Console.ReadLine(); Console.Clear(); Player.MenuInventaire(); MethodeCombat.CombatPersonnage(ref Player, ref Player2); Console.ReadLine(); MethodeCombat.AttaqueEnnemi(ref Player, ref suif); Onrouledesnoeuds("Taxi"); Affichage.Abort(); //Histoire modules //SWITCH Decision /Hotel/Arena/Rencontre/Aventure#Quetes // | // V //Combat module //loop }