summaryrefslogtreecommitdiff
path: root/scripts/Entities/Items/GrimoireConsumable.cs
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/Entities/Items/GrimoireConsumable.cs')
-rw-r--r--scripts/Entities/Items/GrimoireConsumable.cs22
1 files changed, 22 insertions, 0 deletions
diff --git a/scripts/Entities/Items/GrimoireConsumable.cs b/scripts/Entities/Items/GrimoireConsumable.cs
new file mode 100644
index 0000000..e5157a7
--- /dev/null
+++ b/scripts/Entities/Items/GrimoireConsumable.cs
@@ -0,0 +1,22 @@
+using Godot;
+using TheLegendOfGustav.Entities.Actions;
+using TheLegendOfGustav.Entities.Actors;
+using TheLegendOfGustav.Magic;
+using TheLegendOfGustav.Map;
+
+namespace TheLegendOfGustav.Entities.Items;
+
+public partial class GrimoireConsumable(Vector2I initialPosition, MapData map, GrimoireConsumableDefinition definition) : ConsumableItem(initialPosition, map, definition)
+{
+ private SpellResource spell = definition.Spell;
+
+ public override bool Activate(ItemAction action)
+ {
+ Player consumer = action.Player;
+
+ consumer.SpellBook.LearnSpell(spell);
+
+ ConsumedBy(consumer);
+ return true;
+ }
+} \ No newline at end of file