summaryrefslogtreecommitdiff
path: root/src/being
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-09-18 23:40:58 +0300
committerAndrei Karas <akaras@inbox.ru>2014-09-18 23:40:58 +0300
commit1b1cfaf22ab8281943abed6f909fc32f6da46e61 (patch)
tree9bd5a44b9a11f6a80598a67012b310942eb366e1 /src/being
parent7f981b81b14612d9f35cd729401c63f9a019edd5 (diff)
downloadplus-1b1cfaf22ab8281943abed6f909fc32f6da46e61.tar.gz
plus-1b1cfaf22ab8281943abed6f909fc32f6da46e61.tar.bz2
plus-1b1cfaf22ab8281943abed6f909fc32f6da46e61.tar.xz
plus-1b1cfaf22ab8281943abed6f909fc32f6da46e61.zip
Add chat object to owner being.
Diffstat (limited to 'src/being')
-rw-r--r--src/being/being.cpp9
-rw-r--r--src/being/being.h7
2 files changed, 16 insertions, 0 deletions
diff --git a/src/being/being.cpp b/src/being/being.cpp
index c5e2ff716..3bb1f9fd5 100644
--- a/src/being/being.cpp
+++ b/src/being/being.cpp
@@ -64,6 +64,7 @@
#include "net/serverfeatures.h"
#include "resources/attack.h"
+#include "resources/chatobject.h"
#include "resources/emoteinfo.h"
#include "resources/emotesprite.h"
#include "resources/iteminfo.h"
@@ -174,6 +175,7 @@ Being::Being(const int id,
mPets(),
mOwner(nullptr),
mSpecialParticle(nullptr),
+ mChat(nullptr),
mX(0),
mY(0),
mSortOffsetY(0),
@@ -254,6 +256,7 @@ Being::~Being()
delete2(mText);
delete2(mEmotionSprite);
delete2(mAnimationEffect);
+ delete2(mChat);
if (mOwner)
mOwner->unassignPet(this);
@@ -3421,3 +3424,9 @@ void Being::recreateItemParticles()
}
}
}
+
+void Being::setChat(ChatObject *const obj)
+{
+ delete mChat;
+ mChat = obj;
+}
diff --git a/src/being/being.h b/src/being/being.h
index ed1127844..a65fb1af0 100644
--- a/src/being/being.h
+++ b/src/being/being.h
@@ -61,6 +61,7 @@ class Party;
class SpeechBubble;
class Text;
+struct ChatObject;
struct ParticleInfo;
extern volatile int cur_time;
@@ -893,6 +894,11 @@ class Being notfinal : public ActorSprite,
virtual int getLastAttackY() const
{ return mLastAttackY; }
+ void setChat(ChatObject *const obj);
+
+ const ChatObject *getChat() const
+ { return mChat; }
+
protected:
/**
* Updates name's location.
@@ -1011,6 +1017,7 @@ class Being notfinal : public ActorSprite,
std::vector<Being*> mPets;
Being *mOwner;
Particle *mSpecialParticle;
+ ChatObject *mChat;
int mX; // position in tiles
int mY; // position in tiles