diff --git a/src/Library/CreatureData/CreatureSpecies.hpp b/src/Library/CreatureData/CreatureSpecies.hpp index 6302b44..9fd4bf2 100644 --- a/src/Library/CreatureData/CreatureSpecies.hpp +++ b/src/Library/CreatureData/CreatureSpecies.hpp @@ -40,7 +40,13 @@ namespace CreatureLib::Library { [[nodiscard]] Gender GetRandomGender(Core::Random& rand) const; [[nodiscard]] const std::string& GetName() const; - void SetVariant(const std::string& name, const SpeciesVariant* variant) { _variants.insert({name, variant}); } + void SetVariant(const std::string& name, const SpeciesVariant* variant) { + auto find = _variants.find(name); + if (find != _variants.end()) { + delete find->second; + } + _variants[name] = variant; + } }; }