public static int RandomDamages(int effectBase, Fighter fighter, int element) { int damages = effectBase; Engines.Stats.SingleStats stats = null; switch (element) { case 1: //Force stats = fighter.Stats.Strenght; break; case 2: //Fire stats = fighter.Stats.Fire; break; case 3: //Water stats = fighter.Stats.Water; break; case 4: //Agility stats = fighter.Stats.Agility; break; } damages = (int)Math.Floor((double)(effectBase * (100 + stats.Total + fighter.Stats.PercentPointBonus.Total) / 100 + fighter.Stats.FixPointBonus.Total)); return(damages); }
public static void BoostCaract(Network.WorldClient client, int type) { Engines.Stats.SingleStats Stat = client.Character.Stats.GetStats(type); if (client.Character.CaractPoint <= 0) { return; } Database.Records.BreedRecord breed = Helper.BreedHelper.GetBreed(client.Character.Breed); if (breed == null) { return; } Engines.Breeds.StatFloor floor = breed.Engine.GetFloorForValue((Enums.StatsTypeEnum)type, Stat.Base); if (floor == null) { return; } if (client.Character.CaractPoint < floor.Cost) { return; } Stat.Base += floor.Value; client.Character.CaractPoint -= floor.Cost; if ((Enums.StatsTypeEnum)type == Enums.StatsTypeEnum.Life) { client.Character.CurrentLife += floor.Value; } }