summaryrefslogtreecommitdiff
path: root/src/being.h
diff options
context:
space:
mode:
authorBjørn Lindeijer <bjorn@lindeijer.nl>2007-06-04 21:48:47 +0000
committerBjørn Lindeijer <bjorn@lindeijer.nl>2007-06-04 21:48:47 +0000
commita353543dd4da3c489a84f6f17125fdd0e1be2349 (patch)
tree5e447a0f9a3fd50f58a48f39bbb77d392d78af36 /src/being.h
parentab072dddb231895ba7b6762eda9fa70af961b0fb (diff)
downloadmana-client-a353543dd4da3c489a84f6f17125fdd0e1be2349.tar.gz
mana-client-a353543dd4da3c489a84f6f17125fdd0e1be2349.tar.bz2
mana-client-a353543dd4da3c489a84f6f17125fdd0e1be2349.tar.xz
mana-client-a353543dd4da3c489a84f6f17125fdd0e1be2349.zip
Merged 0.0 changes from revision 3234 to 3317 to trunk.
Diffstat (limited to 'src/being.h')
-rw-r--r--src/being.h36
1 files changed, 34 insertions, 2 deletions
diff --git a/src/being.h b/src/being.h
index 332f1b4a..8820c30a 100644
--- a/src/being.h
+++ b/src/being.h
@@ -42,6 +42,7 @@ class Item;
class Map;
class Graphics;
class ImageSet;
+class Particle;
/**
* A position along a being's path.
@@ -97,6 +98,13 @@ class Being : public Sprite
VECTOREND_SPRITE
};
+ enum TargetCursorSize {
+ TC_SMALL = 0,
+ TC_MEDIUM,
+ TC_LARGE,
+ NUM_TC
+ };
+
/**
* Directions, to be used as bitmask values
@@ -359,8 +367,33 @@ class Being : public Sprite
int
getYOffset() const { return getOffset(mStepY); }
+ /**
+ * Returns the horizontal size of the current base sprite of the being
+ */
+ virtual int
+ getWidth() const;
+
+ /**
+ * Returns the vertical size of the current base sprite of the being
+ */
+ virtual int
+ getHeight() const;
+
+ /**
+ * Returns the required size of a target cursor for this being
+ */
+ virtual Being::TargetCursorSize
+ getTargetCursorSize() const
+ { return TC_MEDIUM; }
+
std::auto_ptr<Equipment> mEquipment;
+ /**
+ * Take control of a particle
+ */
+ void
+ controlParticle(Particle *particle);
+
protected:
/**
* Sets the new path for this being.
@@ -380,14 +413,13 @@ class Being : public Sprite
Path mPath;
std::string mSpeech;
- std::string mDamage;
Uint16 mHairStyle, mHairColor;
Uint32 mSpeechTime;
- Uint32 mDamageTime;
Sint32 mPx, mPy; /**< Pixel coordinates */
std::vector<AnimatedSprite*> mSprites;
std::vector<int> mEquipmentSpriteIDs;
+ std::list<Particle *> mChildParticleEffects;
private:
int