]> jfr.im git - irc/gameservirc.git/blobdiff - gameserv/player.h
implemented equipping weapons and armor and saving what is equipped
[irc/gameservirc.git] / gameserv / player.h
index 49e6ccf84948988c6543a6a65ad18d5df1f43e9d..5a8d58678e3229e7af1d0f84a2be99f73619e262 100644 (file)
@@ -1,23 +1,44 @@
 #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();
+
+    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
+
 
-    const Player &operator=(const Player &);
-    char *name;                        // Player's Name
+    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
@@ -26,28 +47,38 @@ public:
     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 obsolete
-    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
-    aClient *user;             // Pointer to the aClient this player is from
+    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 *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