From b4507b3601bedcaa599673b9f9083d1574132157 Mon Sep 17 00:00:00 2001 From: Loek Le Blansch Date: Sat, 2 Nov 2024 20:57:37 +0100 Subject: more fixes --- backend/Player.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'backend/Player.cpp') diff --git a/backend/Player.cpp b/backend/Player.cpp index 8a44a3a..46d924f 100644 --- a/backend/Player.cpp +++ b/backend/Player.cpp @@ -1,6 +1,7 @@ #include #include "Player.h" +#include "Exception.h" #include "print.h" #include "Dungeon.h" #include "util.h" @@ -46,6 +47,20 @@ void Player::set_location(Location & location) { lprtf("Je staat nu bij de locatie %s.\n", location.get_name().c_str()); } +void Player::equip(Object * object) { + if (object == nullptr) return; + + auto weapon = dynamic_cast(object); + if (weapon != nullptr) + return this->equip(weapon); + + auto armor = dynamic_cast(object); + if (armor != nullptr) + return this->equip(armor); + + throw Exception("object \"%s\" is niet draagbaar", object->get_name().c_str()); +} + void Player::equip(WeaponObject * weapon) { if (weapon == nullptr) return; -- cgit v1.2.3