예제 #1
0
        public Entity(string name, int level, string role)
        {
            this.PropertyChanged += Entity_PropertyChanged;

            this.Name = name;            
            this._role = EntityRole.CreateRole(role);
            this.Stats = new Stats();
            this.Level = level;
            this.Role = role;
            this.CurrentHealth = this.Stats.Health;
                    
        }
예제 #2
0
        private int CalculateDefense(int level, EntityRole role)
        {
            int baseDefense = GameWorld.GetValueForLevelWithModifier(level, MIN_DEFENSE, MAX_DEFENSE, role.DefenseModifier);
            int addedDefense = _resistance * DEFENSE_PER_RESISTANCE_POINT;

            return baseDefense + addedDefense;
        }
예제 #3
0
        private int CalculateHealth(int level, EntityRole role)
        {
            int baseHealth = GameWorld.GetValueForLevelWithModifier(level, MIN_HEALTH, MAX_HEALTH, role.HealthModifier);
            int addedHealth = _vitality * HEALTH_PER_VITALITY_POINT;

            return baseHealth + addedHealth;
        }
예제 #4
0
        private int CalculateDamage(int level, EntityRole role)
        {
            int baseDamage = GameWorld.GetValueForLevelWithModifier(level, MIN_DAMAGE, MAX_DAMAGE, role.DamageModifier);
            int addedDamage = _strength * DAMAGE_PER_STRENGTH_POINT;

            return baseDamage + addedDamage;
        }
예제 #5
0
 internal void SetStatsForLevel(int level, EntityRole role)
 {
     _health = CalculateHealth(level, role);
     _damage = CalculateDamage(level, role);            
     _defense = CalculateDefense(level, role);            
 }