29 lines
821 B
GDScript
29 lines
821 B
GDScript
extends RefCounted
|
|
|
|
class_name MushroomGenerator
|
|
|
|
const mushroomClasses = ["res://Items/Fungi/AmethystDeceiver.gd",
|
|
"res://Items/Fungi/BluePinkGill.gd",
|
|
"res://Items/Fungi/HairyCurtainCrust.gd",
|
|
"res://Items/Fungi/LionsMane.gd",
|
|
"res://Items/Fungi/Mycenachlorophos.gd",
|
|
"res://Items/Fungi/VeiledLady.gd",
|
|
"res://Items/Fungi/WolfsMilkSlimeMould.gd"]
|
|
|
|
const mushroomOdds = [20, 20, 10, 30, 20, 5, 5]
|
|
|
|
static func get_a_mushroom():
|
|
var rng = RandomNumberGenerator.new()
|
|
var rngResult = rng.randi_range(1, 100)
|
|
|
|
var chancesChecked = 0
|
|
for mushroomIndex in range(mushroomOdds.size()):
|
|
var currentMushroomChance = mushroomOdds[mushroomIndex]
|
|
chancesChecked += currentMushroomChance
|
|
if chancesChecked >= rngResult:
|
|
var mushroomToGenerate = load(mushroomClasses[mushroomIndex]).new()
|
|
return mushroomToGenerate
|
|
|
|
|
|
|