diff options
Diffstat (limited to 'backend/TeleportConsumableObject.cpp')
| -rw-r--r-- | backend/TeleportConsumableObject.cpp | 10 | 
1 files changed, 9 insertions, 1 deletions
diff --git a/backend/TeleportConsumableObject.cpp b/backend/TeleportConsumableObject.cpp index 5fd4459..7d1803f 100644 --- a/backend/TeleportConsumableObject.cpp +++ b/backend/TeleportConsumableObject.cpp @@ -1,6 +1,14 @@ +#include "RNG.h"  #include "TeleportConsumableObject.h" +#include "Player.h" +#include "Location.h"  void TeleportConsumableObject::consume(Player & player) { -	// TODO +	unsigned hops = RNG::get().rand_int(this->get_potency()); +	Location * location = &player.get_location(); +	for (size_t i = 0; i < hops; i++) { +		location = location->get_exit(random_direction(*location)); +	} +	player.set_location(*location);  }  |