summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/being.cpp52
-rw-r--r--src/being.h41
2 files changed, 35 insertions, 58 deletions
diff --git a/src/being.cpp b/src/being.cpp
index 892be44b1..924ffd9e0 100644
--- a/src/being.cpp
+++ b/src/being.cpp
@@ -357,38 +357,6 @@ ActorSprite::TargetCursorSize Being::getTargetCursorSize() const
return mInfo->getTargetCursorSize();
}
-int Being::getTargetOffsetX() const
-{
- if (!mInfo)
- return 0;
-
- return mInfo->getTargetOffsetX();
-}
-
-int Being::getTargetOffsetY() const
-{
- if (!mInfo)
- return 0;
-
- return mInfo->getTargetOffsetY();
-}
-
-unsigned char Being::getWalkMask() const
-{
- if (!mInfo)
- return 0;
-
- return mInfo->getWalkMask();
-}
-
-Map::BlockType Being::getBlockType() const
-{
- if (!mInfo)
- return Map::BLOCKTYPE_NONE;
-
- return mInfo->getBlockType();
-}
-
void Being::setPosition(const Vector &pos)
{
Actor::setPosition(pos);
@@ -1222,12 +1190,6 @@ void Being::nextTile()
mActionTime += static_cast<int>(mWalkSpeed.x / 10);
}
-int Being::getCollisionRadius() const
-{
- // FIXME: Get this from XML file
- return 16;
-}
-
void Being::logic()
{
// Reduce the time that speech is still displayed
@@ -1491,8 +1453,8 @@ void Being::drawSpeech(int offsetX, int offsetY)
if (!mText && userPalette)
{
mText = new Text(mSpeech, getPixelX(), getPixelY() - getHeight(),
- gcn::Graphics::CENTER, &userPalette->getColor(
- UserPalette::PARTICLE), true);
+ gcn::Graphics::CENTER, &Theme::getThemeColor(
+ Theme::BUBBLE_TEXT), true);
}
}
else if (speech == NO_SPEECH)
@@ -1817,11 +1779,6 @@ void Being::setSpriteColor(unsigned int slot, const std::string &color)
setSprite(slot, mSpriteIDs[slot], color);
}
-int Being::getNumberOfLayers() const
-{
- return CompoundSprite::getNumberOfLayers();
-}
-
void Being::load()
{
// Hairstyles are encoded as negative numbers. Count how far negative
@@ -1997,11 +1954,6 @@ void Being::setGM(bool gm)
updateColors();
}
-bool Being::canTalk()
-{
- return mType == NPC;
-}
-
void Being::talkTo()
{
if (!Client::limitPackets(PACKET_NPC_TALK))
diff --git a/src/being.h b/src/being.h
index 725163d9c..289c15e9d 100644
--- a/src/being.h
+++ b/src/being.h
@@ -30,6 +30,8 @@
#include "position.h"
#include "vector.h"
+#include "resources/beinginfo.h"
+
#include <guichan/color.hpp>
#include <SDL_types.h>
@@ -47,7 +49,7 @@
class AnimatedSprite;
class BeingCacheEntry;
class Being;
-class BeingInfo;
+//class BeingInfo;
class FlashText;
class Guild;
class Inventory;
@@ -389,7 +391,8 @@ class Being : public ActorSprite, public ConfigListener
/**
* Get the number of layers used to draw the being
*/
- int getNumberOfLayers() const;
+ int getNumberOfLayers() const
+ { return CompoundSprite::getNumberOfLayers(); }
/**
* Performs being logic.
@@ -419,19 +422,39 @@ class Being : public ActorSprite, public ConfigListener
TargetCursorSize getTargetCursorSize() const;
- int getTargetOffsetX() const;
+ int getTargetOffsetX() const
+ {
+ if (!mInfo)
+ return 0;
+ return mInfo->getTargetOffsetX();
+ }
- int getTargetOffsetY() const;
+ int getTargetOffsetY() const
+ {
+ if (!mInfo)
+ return 0;
+ return mInfo->getTargetOffsetY();
+ }
/**
* Gets the way the object is blocked by other objects.
*/
- virtual unsigned char getWalkMask() const;
+ virtual unsigned char getWalkMask() const
+ {
+ if (!mInfo)
+ return 0;
+ return mInfo->getWalkMask();
+ }
/**
* Gets the way the monster blocks pathfinding for other objects
*/
- Map::BlockType getBlockType() const;
+ Map::BlockType getBlockType() const
+ {
+ if (!mInfo)
+ return Map::BLOCKTYPE_NONE;
+ return mInfo->getBlockType();
+ }
/**
* Sets the walk speed.
@@ -526,7 +549,8 @@ class Being : public ActorSprite, public ConfigListener
/**
* Returns the being's pixel radius used to detect collisions.
*/
- virtual int getCollisionRadius() const;
+ virtual int getCollisionRadius() const
+ { return 16; }
/**
* Shoots a missile particle from this being, to target being
@@ -628,7 +652,8 @@ class Being : public ActorSprite, public ConfigListener
*/
void setGM(bool gm);
- bool canTalk();
+ bool canTalk()
+ { return mType == NPC; }
void talkTo();