Esempio n. 1
0
 private List <string> MonsterOnFire(NearbyMonster monster)
 {
     monster.CurrentHealth--;
     return(new List <string> {
         $"The {monster.Monster.Name} takes 1 damage from fire."
     });
 }
        private string PerformAttack(GameState gameState, NearbyMonster monster)
        {
            var damage = RollForDamage(monster);

            gameState.Player.DigState.Fuel -= damage;
            monster.CurrentAttackCooldown   = monster.Monster.AttackRate;
            return($"{monster.Monster.Name} hits for {damage}.");
        }
Esempio n. 3
0
        private void RemoveExpiredMonsterBuffs(NearbyMonster monster)
        {
            var buffsToDelete = monster.NearbyMonsterBuff.Where(b => b.RemainingDuration <= 0);

            foreach (var buff in buffsToDelete)
            {
                monster.NearbyMonsterBuff.Remove(buff);
            }
        }
Esempio n. 4
0
 private NearbyMonsterDto ConvertToNearbyMonsterDto(NearbyMonster nearbyMonster)
 {
     return(new NearbyMonsterDto
     {
         name = nearbyMonster.Monster.Name
         , maxHealth = nearbyMonster.Monster.Health
         , currentHealth = nearbyMonster.CurrentHealth
     });
 }
Esempio n. 5
0
        private List <string> HealMonster(NearbyMonster monster)
        {
            monster.CurrentHealth++;
            if (monster.CurrentHealth > monster.Monster.Health)
            {
                monster.CurrentHealth = monster.Monster.Health;
            }

            return(new List <string> {
                $"The {monster.Monster.Name} gets healed for 1."
            });
        }
Esempio n. 6
0
        private List <string> HandleMonsterBuffs(GameState gameState, NearbyMonster monster, NearbyMonsterBuff buff)
        {
            switch (buff.BuffId)
            {
            case (int)BuffId.Healing:
                return(HealMonster(monster));

            case (int)BuffId.OnFire:
                return(MonsterOnFire(monster));

            default:
                return(new List <string>());
            }
        }
 private int RollForDamage(NearbyMonster monster)
 {
     return(new Random().Next(1, monster.Monster.Attack));
 }
Esempio n. 8
0
 private List <string> HandleMonsterBuffs(GameState gameState, NearbyMonster monster)
 {
     return(monster.NearbyMonsterBuff.ToList().SelectMany(b => HandleMonsterBuffs(gameState, monster, b)).ToList());
 }