extends RefCounted class_name BoneGenerator const boneClasses = ["res://Items/Natural/Bones/CrystalBone.gd", "res://Items/Natural/Bones/DirtBone.gd", "res://Items/Natural/Bones/HauntedBone.gd", "res://Items/Natural/Bones/LicoriceBone.gd", "res://Items/Natural/Bones/ParallelogramBone.gd", "res://Items/Natural/Bones/PretzelBone.gd", "res://Items/Natural/Bones/RedbyBone.gd", "res://Items/Natural/Bones/RexBone.gd", "res://Items/Natural/Bones/RockBone.gd", "res://Items/Natural/Bones/SquareBone.gd", "res://Items/Natural/Bones/ZucchiniBone.gd"] const boneOdds = [2, 20, 10, 10, 4, 10, 2, 1, 20, 10, 10] const boneXpRewards = [320, 4, 70, 24, 44, 9, 435, 1500, 6, 40, 38] static func get_a_bone(): var rng = RandomNumberGenerator.new() var rngResult = rng.randi_range(1, 99) var chancesChecked = 0 for boneIndex in range(boneOdds.size()): var currentBoneChance = boneOdds[boneIndex] chancesChecked += currentBoneChance if chancesChecked >= rngResult: var boneToGenerate = load(boneClasses[boneIndex]).new() return boneToGenerate static func get_xp_reward_for_bone(bone): var bonePath = bone.get_script().resource_path for i in range(boneClasses.size()): var currentPath = boneClasses[i] if bonePath == currentPath: return boneXpRewards[i]