gae_wild_jam/scripts/SpellLibrary.gd

35 lines
833 B
GDScript

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, [])