X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FObjects%2FPerson.hpp;h=0734eaa5e2e3dd2022fde3f0316e1acdddd9896e;hb=c8a6dd9ee1b43f98d4d98e9feb981bde02ac8772;hp=bd384241f22ade2c5305afbce46037960a54676c;hpb=0aab437dc560d2afa982e61cc2547756ad7b0761;p=lugaru.git
diff --git a/Source/Objects/Person.hpp b/Source/Objects/Person.hpp
index bd38424..0734eaa 100644
--- a/Source/Objects/Person.hpp
+++ b/Source/Objects/Person.hpp
@@ -28,6 +28,7 @@ along with Lugaru. If not, see .
#include "Graphic/Models.hpp"
#include "Graphic/Sprite.hpp"
#include "Math/XYZ.hpp"
+#include "Objects/PersonType.hpp"
#include "Objects/Weapons.hpp"
#include
@@ -43,9 +44,6 @@ along with Lugaru. If not, see .
#define getweapontype 7
#define pathfindtype 8
-#define rabbittype 0
-#define wolftype 1
-
struct InvalidPersonException : public exception {
const char * what () const throw () {
return "Invalid weapon number";
@@ -54,6 +52,9 @@ struct InvalidPersonException : public exception {
class Person : public enable_shared_from_this
{
+private:
+ float proportions[4];
+
public:
static std::vector> players;
@@ -95,11 +96,6 @@ public:
XYZ coords;
XYZ velocity;
- XYZ proportionhead;
- XYZ proportionlegs;
- XYZ proportionarms;
- XYZ proportionbody;
-
float unconscioustime;
bool immobile;
@@ -330,6 +326,9 @@ public:
inline AnimationFrame& currentFrame() { return Animation::animations.at(animCurrent).frames.at(frameCurrent); }
inline AnimationFrame& targetFrame() { return Animation::animations.at(animTarget).frames.at(frameTarget); }
+ void setProportions(float head, float body, float arms, float legs);
+ float getProportion(int part) const;
+ XYZ getProportionXYZ(int part) const;
void CheckKick();
void CatchFire();