func on_map_load(root):
# Add the mastery to The Charismatic.
var collectable_prefab = preload("res://objects/nodes/collectable.tscn")
var saver_prefab = preload("res://objects/nodes/saver.tscn")
var usl_prefab = preload("res://objects/nodes/listeners/unlockSetterListener.tscn")
var mastery = collectable_prefab.instantiate()
mastery.name = "collectable"
mastery.position = Vector3(-17, 2, -29)
mastery.rotation_degrees = Vector3(0, 45, 0)
mastery.unlock_type = "smiley"
mastery.material_override = load("res://assets/materials/gold.material")
root.get_node("/root/scene/Components/Collectables").add_child.call_deferred(mastery)
var usl = usl_prefab.instantiate()
usl.name = "unlockSetterListenerMastery"
usl.key = "charismatic_mastery"
usl.value = "unlocked"
usl.senders.append(NodePath("/root/scene/Components/Collectables/collectable"))
root.get_node("/root/scene/Components").add_child.call_deferred(usl)
var saver = saver_prefab.instantiate()
saver.name = "saver_collectables"
saver.type = "collectables"
saver.senderGroup.append(NodePath("/root/scene/Components/Collectables"))
root.get_node("/root/scene").add_child.call_deferred(saver)