extends Node const APPLE = 0 const GRAPE = 1 const CHILI = 2 const NONE = "NONE" const SHURIKEN = "SHURIKEN" const FIREBALL = "FIREBALL" const FIRE_SWIRL = "FIRE_SWIRL" const TORNADO = "TORNADO" const LASER = "LASER" var recipes: Dictionary = { FIREBALL: [APPLE], TORNADO: [GRAPE], LASER: [CHILI], SHURIKEN: [APPLE, GRAPE], FIRE_SWIRL: [APPLE, CHILI], } func identify(cauldron_slots: Array) -> String: var types: Array = [] if cauldron_slots.any(func(x): return x == 2): types.append(APPLE) if cauldron_slots.any(func(x): return x == 4): types.append(GRAPE) if cauldron_slots.any(func(x): return x == 3): types.append(CHILI) for spell_id in recipes: if recipes[spell_id] == types: return spell_id return NONE func get_recipe(spell: String) -> Array: return recipes.get(spell, [])