local MutationRules = {} MutationRules.Definitions = { none = { incomeMultiplier = 1.0, weight = 0 }, golden = { incomeMultiplier = 1.5, weight = 50 }, crystal = { incomeMultiplier = 1.8, weight = 30 }, void = { incomeMultiplier = 2.2, weight = 20 }, } function MutationRules:GetMutationEntries() local entries = {} for mutationId, def in pairs(self.Definitions) do if mutationId ~= "none" then table.insert(entries, { id = mutationId, weight = def.weight }) end end return entries end function MutationRules:GetIncomeMultiplier(mutationId) local def = self.Definitions[mutationId] if def == nil then error("MutationRules:GetIncomeMultiplier unknown mutation") end return def.incomeMultiplier end return MutationRules