/*
Copyright (C) 2003, 2010 - Wolfire Games
-Copyright (C) 2010-2016 - Lugaru contributors (see AUTHORS file)
+Copyright (C) 2010-2017 - Lugaru contributors (see AUTHORS file)
This file is part of Lugaru.
#include "Graphic/gamegl.hpp"
#include "Graphic/Models.hpp"
#include "Graphic/Sprite.hpp"
-#include "Math/Quaternions.hpp"
+#include "Math/XYZ.hpp"
+#include "Objects/PersonType.hpp"
#include "Objects/Weapons.hpp"
#include <cmath>
#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";
class Person : public enable_shared_from_this<Person>
{
+private:
+ float proportions[4];
+
public:
static std::vector<std::shared_ptr<Person>> players;
XYZ coords;
XYZ velocity;
- XYZ proportionhead;
- XYZ proportionlegs;
- XYZ proportionarms;
- XYZ proportionbody;
+ //~ XYZ proportionhead;
+ //~ XYZ proportionlegs;
+ //~ XYZ proportionarms;
+ //~ XYZ proportionbody;
float unconscioustime;
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, float, float, float);
+ XYZ getProportion(int part) const;
void CheckKick();
void CatchFire();
void Puff(int whichlabel);
void FootLand(bodypart whichfoot, float opacity);
void DoStuff();
- void setAnimation(int);
+ void setTargetAnimation(int);
void DoAnimations();
void RagDoll(bool checkcollision);
bool addClothes(const int& clothesId);
void addClothes();
+
+ void doAI();
};
const int maxplayers = 10;