Rehti MMORPG  1.0.0
Rehti MMORPG is a free and open source MMORPG game.
PlayerCharacter Class Reference

Class for a human player character. More...

#include <PlayerCharacter.hpp>

Inheritance diagram for PlayerCharacter:
Inheritance graph
Collaboration diagram for PlayerCharacter:
Collaboration graph

Public Member Functions

 PlayerCharacter (GameWorld *pGameWorld, std::string name, int baseDamage, int baseAccuracy, SpawnCoordinateBounds spawnCoordinateBounds, unsigned int id=0, Coordinates location=Coordinates())
 
 ~PlayerCharacter ()=default
 
void update ()
 Calls act() function for player's current action, if the player has one. Update is called when server ticks. More...
 
void respawn ()
 Function that drops player's items and sets an active RespawnAction. Called when player dies. More...
 
void attack (Entity &target) override
 Performs player's attack on target entity. Calculates hit chance and damage, and on succesful hit applies the damage and xp gained from the hit. More...
 
- Public Member Functions inherited from Entity
 Entity (GameWorld *pGameWorld, std::string name, int baseAccuracy, int baseDamage, SpawnCoordinateBounds spawnCoordinateBounds, unsigned int id=0, Coordinates location=Coordinates())
 
 ~Entity ()=default
 
unsigned int getId ()
 Get the type id of this entity. More...
 
unsigned int getInstanceId ()
 Get the unique id of this entity. More...
 
std::string getName ()
 Get the name of this entity. More...
 
CoordinatesgetLocation ()
 Get the current location of this entity. More...
 
void setLocation (Coordinates location)
 Set the location of this entity. More...
 
Coordinates getRespawnLocation ()
 Returns a random location within the spawn bounds. More...
 
std::shared_ptr< Action > & getCurrentAction ()
 Get the current action of this entity. More...
 
int getHp ()
 Get the current hp of this entity. More...
 
int getMaxHp ()
 Get the maximum hp of this entity. More...
 
InventorygetInventory ()
 Get the Inventory object of this entity. More...
 
EquipmentgetEquipment ()
 Get the Equipment object of this entity. More...
 
int getRange ()
 Get tha attack range of this entity. More...
 
int getAttackSpeed ()
 Get the attack speed of this entity in milliseconds. More...
 
std::chrono::milliseconds getMoveSpeed ()
 Get the movement speed of this entity. More...
 
GameWorldgetGameWorld ()
 Get pointer to the GameWorld that this entity resides in. More...
 
void changeHp (int amount)
 Change the hp of this entity by amount. More...
 
void setAction (std::shared_ptr< Action > action)
 Set the current action to parameter action. More...
 
bool move (Coordinates location)
 Move to a neighboring tile. More...
 
void pickUpItem (int itemId, Coordinates itemLocation)
 Pick up an item. More...
 
void dropItem (int itemId)
 Drop an item. More...
 
SkillSetgetSkillSet ()
 Get the SkillSet of this entity. More...
 
bool isDisconnected ()
 Returns whether entity is disconnected, only relevant for players. More...
 
void setDisconnected ()
 Sets entity as disconnected, only relevant for players. More...
 

Additional Inherited Members

- Protected Attributes inherited from Entity
unsigned int idM
 
unsigned int instanceIdM
 
std::string nameM
 
Coordinates locationM
 
SpawnCoordinateBounds spawnCoordinateBoundsM
 
std::shared_ptr< ActioncurrentActionM = nullptr
 
int maxHpM = 1000
 
int hpM = maxHpM
 
GameWorldpGameWorldM
 
Inventory inventoryM
 
Equipment equipmentM
 
SkillSet skillSetM
 
int baseDamageM
 
int baseAccuracyM
 
bool isDisconnectedM = false
 
std::chrono::milliseconds respawnTimeM {2000}
 
std::chrono::milliseconds moveSpeedM {1000}
 
- Static Protected Attributes inherited from Entity
static int nextInstanceIdM = 0
 

Detailed Description

Class for a human player character.

Constructor & Destructor Documentation

◆ PlayerCharacter()

PlayerCharacter::PlayerCharacter ( GameWorld pGameWorld,
std::string  name,
int  baseDamage,
int  baseAccuracy,
SpawnCoordinateBounds  spawnCoordinateBounds,
unsigned int  id = 0,
Coordinates  location = Coordinates() 
)

◆ ~PlayerCharacter()

PlayerCharacter::~PlayerCharacter ( )
default

Member Function Documentation

◆ attack()

void PlayerCharacter::attack ( Entity target)
overridevirtual

Performs player's attack on target entity. Calculates hit chance and damage, and on succesful hit applies the damage and xp gained from the hit.

Parameters
target

Reimplemented from Entity.

Here is the call graph for this function:

◆ respawn()

void PlayerCharacter::respawn ( )
virtual

Function that drops player's items and sets an active RespawnAction. Called when player dies.

Implements Entity.

Here is the call graph for this function:

◆ update()

void PlayerCharacter::update ( )
virtual

Calls act() function for player's current action, if the player has one. Update is called when server ticks.

Implements Entity.


The documentation for this class was generated from the following files: