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); } }
public ChancesLootGenerator(ILootConfiguration lootConfiguration) { weaponCountSettings = GetChanceConfiguration(lootConfiguration.Weapon?.Count); weaponRarenessSettings = GetChanceConfiguration(lootConfiguration.Weapon?.Rareness); armorCountSettings = GetChanceConfiguration(lootConfiguration.Armor?.Count); armorRarenessSettings = GetChanceConfiguration(lootConfiguration.Armor?.Rareness); armorClassSettings = GetChanceConfiguration(lootConfiguration.Armor?.Class); spellBookCountSettings = GetChanceConfiguration(lootConfiguration.SpellBook?.Count); spellBookRarenessSettings = GetChanceConfiguration(lootConfiguration.SpellBook?.Rareness); usableCountSettings = GetChanceConfiguration(lootConfiguration.Usable?.Count); usableRarenessSettings = GetChanceConfiguration(lootConfiguration.Usable?.Rareness); resourcesCountSettings = GetChanceConfiguration(lootConfiguration.Resource?.Count); resourcesRarenessSettings = GetChanceConfiguration(lootConfiguration.Resource?.Rareness); shieldCountSettings = GetChanceConfiguration(lootConfiguration.Shield?.Count); shieldRarenessSettings = GetChanceConfiguration(lootConfiguration.Shield?.Rareness); foodCountSettings = GetChanceConfiguration(lootConfiguration.Food?.Count); }