Battle IBattlesService.Attack(int battleId, CreatureAttack attack, Pet damageDealer) { bool procc; ActionsService = new BattleActionsService(GetBattle(battleId), damageDealer); ActionsService.Attack(attack, (didProcc) => procc = didProcc); return(Repositories.CurrentBattleRepository.Battle); }
void Start() { this.player = new CreatureAttack( app.model.player.creatureRB.position, app.model.player.hp, app.model.player.viewingRadius, app.model.player.speed, app.model.player.defence, app.model.player.force, app.model.player.attackSpeed ); app.model.player.creatureRB.constraints = RigidbodyConstraints2D.FreezeRotation; }
/// <summary> /// Given that {attack} already contains full data /// /// </summary> /// <param name="attack"></param> /// <param name="dealer"></param> /// <param name="reciever"></param> public int CalculateAttackDamage(CreatureAttack attack, Pet dealer, Pet reciever) { // Calculate how much this attack deals to the Reciever. var extraDamage = dealer.Strength.Value / dealer.Agility.Value / dealer.Energy.Value; if (reciever.Energy.StatIsAboveAverage()) { extraDamage -= reciever.Health.Value / 4; } // Damage only has the base damage. return(attack.Damage + extraDamage); }
public bool AddAttack(Pet pet, CreatureAttack attack) { var isMyPet = GetMyPets().FirstOrDefault(x => x.Id == pet.Id); if (isMyPet != null) { isMyPet.Attacks.Add(attack); } else { pet.Attacks.Add(attack); } return(true); }
/// <summary> /// /// </summary> /// <param name="attack"></param> /// <param name="extraAttackAvailable">Returns a callback bool whether or not a procc is available.</param> public void Attack(CreatureAttack attack, Action <bool> extraAttackAvailable) { var procc = CalculatorService.ProccOrNot(attack); var enemyDodges = CalculatorService.EnemyDodgesAttack(attack, DamageDealer, Enemy); if (enemyDodges) { return; } Enemy.Health.Value -= CalculatorService.CalculateAttackDamage(attack, DamageDealer, Enemy); extraAttackAvailable(procc); }
public void OnCreatureAttack(TargetAction action) { CreatureAttack.Raise(action); }
public bool AddAttack(Pet pet, CreatureAttack attack) { throw new NotImplementedException(); }
public bool EnemyDodgesAttack(CreatureAttack attack, Pet dealer, Pet reciever) { var extraDodgePower = (reciever.Happiness.Value + reciever.Energy.Value) - dealer.Energy.Value / 3; return(new Random().Next(1, 100) < DODGE_PERCENT_CHANCE + extraDodgePower); }
public bool ProccOrNot(CreatureAttack attack) { return(new Random().Next(1, 100) < PROCC_PERCENT_CHANCE + attack.ProccPerBattlePercentage); }
public Battle Attack(int battleId, CreatureAttack attack, Pet damageDealer) { throw new NotImplementedException(); }