X-Git-Url: https://jfr.im/git/irc/gameservirc.git/blobdiff_plain/26b1738621ecdeb4fdf857d76a6f9b882a296da6..37ed80a99c033d815fcef9a7d1c8b48ef334220d:/gameserv/item.cpp diff --git a/gameserv/item.cpp b/gameserv/item.cpp index d98d744..d236201 100644 --- a/gameserv/item.cpp +++ b/gameserv/item.cpp @@ -1,6 +1,16 @@ #include "item.h" +#include "player.h" -item::item(char *name, int p, int uses, int m1, int m2, int m3, int m4, int m5, int m6, int m7, int m8) +item::item() +{ + myname = "New Item"; + myprice = 0; + myuses = 0; + for (int x = 0; x < 8; x++) + mymodifiers[x] = 0; +} + +item::item(const char *name, long int p, int uses, int m1, int m2, int m3, int m4, int m5, int m6, int m7, int m8) { myname = name; // string = char* myprice = p; @@ -15,7 +25,7 @@ item::item(char *name, int p, int uses, int m1, int m2, int m3, int m4, int m5, mymodifiers[7] = m8; } -item::item(string name, int p, int uses, int m1, int m2, int m3, int m4, int m5, int m6, int m7, int m8) +item::item(string name, long int p, int uses, int m1, int m2, int m3, int m4, int m5, int m6, int m7, int m8) { myname = name; // string = char* myprice = p; @@ -80,6 +90,32 @@ void weapon::undo(Player *p) p->maxhp -= mymodifiers[2]; } +void armor::undo(Player *p) +{ + p->strength -= mymodifiers[0]; + p->defense -= mymodifiers[1]; + p->maxhp -= mymodifiers[2]; +} + +bool armor::use(Player *p) +{ + // weapon(char *name, int p=0, int uses = -1, int strength=0, int defense=0, int maxhp=0) + if (myuses == 0) + return false; + else + { + p->strength += mymodifiers[0]; + p->defense += mymodifiers[1]; + p->maxhp += mymodifiers[2]; + } + + if (myuses > 0) + { + myuses--; + } + return true; +} + bool potion::use(Player *p) { // potion(char *name, int p=0, int uses = 1, int strength=0, int defense=0, int maxhp=0, int hp=0, int forest_fights=0, int player_fights=0, int gold=0, int bank=0) @@ -104,3 +140,8 @@ bool potion::use(Player *p) } return true; } + +void potion::undo(Player *p) +{ + return; +}