local v0 = {}; local v1 = { { RequiredPoints = 0, PossibleRewards = { { RewardName = "Dinosaur Egg", RewardType = "Egg", RewardOdd = 100 } } }, { RequiredPoints = 10, PossibleRewards = { { RewardName = "Dinosaur Egg", RewardType = "Egg", RewardOdd = 100 } } }, { RequiredPoints = 20, PossibleRewards = { { RewardName = "Dinosaur Egg", RewardType = "Egg", RewardOdd = 100 }, { RewardName = "Raptor", RewardType = "Pet", RewardOdd = 2 } } }, { RequiredPoints = 30, PossibleRewards = { { RewardName = "Dinosaur Egg", RewardType = "Egg", RewardOdd = 100 }, { RewardName = "Dinosaur Egg", RewardType = "Egg", RewardAmount = 2, RewardOdd = 15 }, { RewardName = "Raptor", RewardType = "Pet", RewardOdd = 10 }, { RewardName = "Stegosaurus", RewardType = "Pet", RewardOdd = 3 } } }, { RequiredPoints = 40, PossibleRewards = { { RewardName = "Dinosaur Egg", RewardType = "Egg", RewardOdd = 100 }, { RewardName = "Dinosaur Egg", RewardType = "Egg", RewardAmount = 2, RewardOdd = 20 }, { RewardName = "Dinosaur Egg", RewardType = "Egg", RewardAmount = 3, RewardOdd = 15 }, { RewardName = "Raptor", RewardType = "Pet", RewardOdd = 10 }, { RewardName = "Stegosaurus", RewardType = "Pet", RewardOdd = 5 }, { RewardName = "Triceratops", RewardType = "Pet", RewardOdd = 3 } } }, { RequiredPoints = 50, PossibleRewards = { { RewardName = "Dinosaur Egg", RewardType = "Egg", RewardAmount = 2, RewardOdd = 25 }, { RewardName = "Dinosaur Egg", RewardType = "Egg", RewardAmount = 3, RewardOdd = 20 }, { RewardName = "Stegosaurus", RewardType = "Pet", RewardOdd = 10 }, { RewardName = "Triceratops", RewardType = "Pet", RewardOdd = 5 }, { RewardName = "Pterodactyl", RewardType = "Pet", RewardOdd = 1 } } }, { RequiredPoints = 65, PossibleRewards = { { RewardName = "Dinosaur Egg", RewardType = "Egg", RewardAmount = 2, RewardOdd = 100 }, { RewardName = "Dinosaur Egg", RewardType = "Egg", RewardAmount = 3, RewardOdd = 25 }, { RewardName = "Triceratops", RewardType = "Pet", RewardOdd = 10 }, { RewardName = "Pterodactyl", RewardType = "Pet", RewardOdd = 3 }, { RewardName = "Brontosaurus", RewardType = "Pet", RewardOdd = 1 } } }, { RequiredPoints = 80, PossibleRewards = { { RewardName = "Dinosaur Egg", RewardType = "Egg", RewardAmount = 3, RewardOdd = 100 }, { RewardName = "Dinosaur Egg", RewardType = "Egg", RewardAmount = 4, RewardOdd = 25 }, { RewardName = "Pterodactyl", RewardType = "Pet", RewardOdd = 5 }, { RewardName = "Brontosaurus", RewardType = "Pet", RewardOdd = 3 }, { RewardName = "T-Rex", RewardType = "Pet", RewardOdd = 1 } } }, { RequiredPoints = 100, PossibleRewards = { { RewardName = "Dinosaur Egg", RewardType = "Egg", RewardAmount = 4, RewardOdd = 100 }, { RewardName = "Dinosaur Egg", RewardType = "Egg", RewardAmount = 5, RewardOdd = 25 }, { RewardName = "Brontosaurus", RewardType = "Pet", RewardOdd = 5 }, { RewardName = "T-Rex", RewardType = "Pet", RewardOdd = 3 } } }, { RequiredPoints = 120, PossibleRewards = { { RewardName = "Dinosaur Egg", RewardType = "Egg", RewardAmount = 5, RewardOdd = 100 }, { RewardName = "Dinosaur Egg", RewardType = "Egg", RewardAmount = 6, RewardOdd = 25 }, { RewardName = "Brontosaurus", RewardType = "Pet", RewardOdd = 10 }, { RewardName = "T-Rex", RewardType = "Pet", RewardOdd = 5 } } } }; local _ = function(v2) --[[ Line: 118 ]] --[[ Name: NormalizeOdds ]] local v3 = 0; local l_PossibleRewards_0 = v2.PossibleRewards; for _, v6 in l_PossibleRewards_0 do v3 = v3 + v6.RewardOdd; end; for _, v8 in l_PossibleRewards_0 do v8.NormalizedOdd = v8.RewardOdd / v3 * 100; end; v2.TotalOdds = v3; end; v0.GenerateReward = function(_, v11) --[[ Line: 134 ]] --[[ Name: GenerateReward ]] -- upvalues: v1 (copy) local v12 = 0; local v13 = nil; for _, v15 in v1 do if v15.RequiredPoints <= v11 and v12 < v15.RequiredPoints then v12 = v15.RequiredPoints; v13 = v15; end; end; if not v13 then warn("DinoMachineRewardData:GenerateReward | Could not find valid reward data "); return nil; else local v16 = if v13.TotalOdds then v13.TotalOdds else 1; local l_PossibleRewards_1 = v13.PossibleRewards; local v18 = math.random() * v16; local v19 = 0; for _, v21 in l_PossibleRewards_1 do v19 = v19 + v21.RewardOdd; if v19 >= v18 then return { RewardName = v21.RewardName, RewardType = v21.RewardType, RewardOdd = v21.RewardOdd, RewardAmount = v21.RewardAmount or 1, NormalizedOdd = v21.NormalizedOdd }; end; end; return nil; end; end; for _, v23 in v1 do local v24 = 0; local l_PossibleRewards_2 = v23.PossibleRewards; for _, v27 in l_PossibleRewards_2 do v24 = v24 + v27.RewardOdd; end; for _, v29 in l_PossibleRewards_2 do v29.NormalizedOdd = v29.RewardOdd / v24 * 100; end; v23.TotalOdds = v24; end; return v0;