#ifndef PLAYER_H
#define PLAYER_H
-#include <string.h>
-#include <iostream.h>
-#include "aClient.h"
+#include <string>
-typedef struct monster_ Monster;
+using namespace std;
+
+typedef struct monster_ Monster;
class aClient; // forward declaration
+class item; // forward declaration
+class weapon; // forward declaration
+class armor; // forward declaration
+class potion; // forward declaration
+class pouch; // forward declaration
+
class Player {
public:
- Player(aClient *user = NULL);
+ Player();
Player(char *);
+ Player(string);
~Player();
void setData(Player *);
+ void setPassword(const char *p);
void reset();
- char *name; // Player's Name
+ long int getFlags() { return flags; }; // Returns the Client's current flags
+ // Functions also return the flags after modifying them
+ long int setFlags(long int); // Sets the clients flags to a new value
+ long int addFlag(long int); // Adds a flag to the client's flags
+ long int remFlag(long int); // Removes a flag from the client's current flags
+
+
+ item *getWeapon() { return w; };
+ item *getArmor() { return a; };
+
+ void setWeapon (item &); // Set a player's weapon to some item
+ void setArmor (item &); // Set a player's weapon to some item
+
+ string name; // Player's Name
int level; // Player's level (1-12)
long int exp; // Player's experience
long int gold; // Gold on hand
int maxhp; // Maximum Hit Points
int strength; // Player's Strength
int defense; // Player's defensive strength
- int armor; // Number for the player's armor
- int weapon; // Number for the player's weapon
- bool alive; // True/False: is the player alive?
- bool started; // True/False: has this player started? -Possibly deprecated
- bool yourturn; // True/False: is it your turn in battle?
int forest_fights; // Amount of forest fights left today
int player_fights; // Amount of player<->player fights for today
- char *password; // Player's encrypted password
+ string password; // Player's encrypted password
+ pouch *inventory; // This contains everything you're holding
+ long int lastcommand; // timestamp for the last command typed
+ long int lastlogin; // timestamp for the last login
- aClient *user; // Pointer to the aClient this player is from
+ aClient *client; // Pointer to the aClient this player is from
Monster *fight; // Pointer to the monster the player is currently fighting
Monster *master; // Pointer to the master the player is currently fighting
aClient *battle; // Pointer to the player this player is currently fighting
+
+private:
+ long int flags; // Player's current flags
+ item *w; // Player's weapon
+ item *a; // Player's armor
};
struct monster_ {
- char *name; // The monster's name
- char *weapon; // A name for their weapon. Doesn't have to be in weapons[]
- int strength; // Their strength
- int gold; // The gold you get when you kill them
- int exp; // The experience you get when you kill them
- int hp; // Their remaining hitpoints
- int maxhp; // Their max hitpoints
- char *death; // What is said when they die
+ monster_();
+ monster_(monster_ *);
+ monster_(monster_ &);
+ ~monster_();
+ string name; // The monster's name
+ string weapon; // A name for their weapon. Doesn't have to be in weapons[]
+ int strength; // Their strength
+ int gold; // The gold you get when you kill them
+ int exp; // The experience you get when you kill them
+ int hp; // Their remaining hitpoints
+ int maxhp; // Their max hitpoints
+ int defense; // Only used seldomly
+ string death; // What is said when they die
};
#endif