protected MonsterCreatureObject(SaveData data, MonsterCreatureObjectConfiguration configuration)
     : base(data)
 {
     this.configuration = configuration;
     attackDamage       = configuration.Damage.ToArray();
     hitChance          = configuration.Accuracy;
     lootConfiguration  = configuration.LootConfiguration;
 }
        protected MonsterCreatureObject(MonsterCreatureObjectConfiguration configuration)
            : base(configuration.Name, configuration.MaxHealth, configuration.LogicPattern)
        {
            this.configuration = configuration;

            attackDamage      = configuration.Damage.ToArray();
            hitChance         = configuration.Accuracy;
            lootConfiguration = configuration.LootConfiguration;

            if (configuration.BaseProtection != null)
            {
                foreach (var pair in configuration.BaseProtection)
                {
                    BaseProtection.Add(pair.Key, pair.Value);
                }
            }

            if (configuration.StatusesImmunity != null)
            {
                StatusesImmunity.AddRange(configuration.StatusesImmunity);
            }
        }