Ejemplo n.º 1
0
        private void EnemyAction(Enemy enemy, Player player, int enemyDamageToPlayer, FightResult enemyFightResult)
        {
            player.Stats[StatsConstants.HpStat] -= enemyDamageToPlayer;
            enemyFightResult.DisplayResult(enemy.Name, enemyDamageToPlayer, player.Name);
            if (enemyFightResult.AttackOutcome == FightAction.CriticalStrike)
            {
                player.ActivateAbilities(ActiveAbilityType.EnemyCrit);
            }
            var enemyLifesteal = CalculateLifesteal(enemyDamageToPlayer,
                                                    enemy.Stats[StatsConstants.LifestealStat],
                                                    enemy.Stats[StatsConstants.HpStat],
                                                    enemy.Stats[StatsConstants.MaxHpStat]);

            enemy.Stats[StatsConstants.HpStat] += enemyLifesteal;
            Interface.DisplayFightAction(enemy.Name, FightAction.Lifesteal, enemyLifesteal);
        }
Ejemplo n.º 2
0
        private void PlayerAction(Player player, Enemy enemy, int playerDamageToEnemy, FightResult playerFightResult)
        {
            enemy.Stats[StatsConstants.HpStat] -= playerDamageToEnemy;
            playerFightResult.DisplayResult(player.Name, playerDamageToEnemy, enemy.Name);
            player.AddPointsToPlayer(playerFightResult.AttackOutcome == FightAction.CriticalStrike ? FightAction.CriticalStrike : FightAction.Damage, playerDamageToEnemy);
            if (playerFightResult.AttackOutcome == FightAction.CriticalStrike)
            {
                player.ActivateAbilities(ActiveAbilityType.PlayerCrit);
            }
            var playerLifesteal = CalculateLifesteal(playerDamageToEnemy,
                                                     player.Stats[StatsConstants.LifestealStat],
                                                     player.Stats[StatsConstants.HpStat],
                                                     player.Stats[StatsConstants.MaxHpStat]);

            player.Stats[StatsConstants.HpStat] += playerLifesteal;
            if (playerLifesteal > 0)
            {
                player.ActivateAbilities(ActiveAbilityType.PlayerLifesteal);
            }
            Interface.DisplayFightAction(player.Name, FightAction.Lifesteal, playerLifesteal);
            player.AddPointsToPlayer(FightAction.Lifesteal, playerLifesteal);
        }