summaryrefslogtreecommitdiff
path: root/src/being.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/being.cpp')
-rw-r--r--src/being.cpp40
1 files changed, 22 insertions, 18 deletions
diff --git a/src/being.cpp b/src/being.cpp
index 70ef55f9..e8007948 100644
--- a/src/being.cpp
+++ b/src/being.cpp
@@ -249,7 +249,7 @@ void Being::setPath(const Path &path)
mPath = path;
if ((Net::getNetworkType() == ServerInfo::TMWATHENA) &&
- mAction != WALK && mAction != DEAD)
+ mAction != MOVE && mAction != DEAD)
{
nextTile();
mActionTime = tick_time;
@@ -550,20 +550,23 @@ void Being::fireMissile(Being *victim, const std::string &particle)
void Being::setAction(Action action, int attackType)
{
- SpriteAction currentAction = ACTION_INVALID;
+ std::string currentAction = SpriteAction::INVALID;
switch (action)
{
- case WALK:
- currentAction = ACTION_WALK;
+ case MOVE:
+ currentAction = SpriteAction::MOVE;
+ // Note: When adding a run action,
+ // Differentiate walk and run with action name,
+ // while using only the ACTION_MOVE.
break;
case SIT:
- currentAction = ACTION_SIT;
+ currentAction = SpriteAction::SIT;
break;
case ATTACK:
if (mEquippedWeapon)
{
- currentAction = mEquippedWeapon->getWeaponAttackType();
+ currentAction = mEquippedWeapon->getAttackAction();
reset();
}
else
@@ -598,26 +601,27 @@ void Being::setAction(Action action, int attackType)
break;
case HURT:
- //currentAction = ACTION_HURT; // Buggy: makes the player stop
+ //currentAction = SpriteAction::HURT;// Buggy: makes the player stop
// attacking and unable to attack
- // again until he moves
+ // again until he moves.
+ // TODO: fix this!
break;
case DEAD:
- currentAction = ACTION_DEAD;
+ currentAction = SpriteAction::DEAD;
sound.playSfx(mInfo->getSound(SOUND_EVENT_DIE));
break;
case STAND:
- currentAction = ACTION_STAND;
+ currentAction = SpriteAction::STAND;
break;
}
- if (currentAction != ACTION_INVALID)
+ if (currentAction != SpriteAction::INVALID)
{
play(currentAction);
mAction = action;
}
- if (currentAction != ACTION_WALK)
+ if (currentAction != SpriteAction::MOVE)
mActionTime = tick_time;
}
@@ -679,7 +683,7 @@ void Being::nextTile()
mX = pos.x;
mY = pos.y;
- setAction(WALK);
+ setAction(MOVE);
mActionTime += (int)(mWalkSpeed.x / 10);
}
@@ -743,8 +747,8 @@ void Being::logic()
else
setPosition(mPos + diff);
- if (mAction != WALK)
- setAction(WALK);
+ if (mAction != MOVE)
+ setAction(MOVE);
// Update the player sprite direction.
// N.B.: We only change this if the distance is more than one pixel.
@@ -773,7 +777,7 @@ void Being::logic()
// remove it and go to the next one.
mPath.pop_front();
}
- else if (mAction == WALK)
+ else if (mAction == MOVE)
{
setAction(STAND);
}
@@ -790,7 +794,7 @@ void Being::logic()
case HURT:
break;
- case WALK:
+ case MOVE:
if ((int) ((get_elapsed_time(mActionTime) * frameCount)
/ getWalkSpeed().x) >= frameCount)
nextTile();
@@ -941,7 +945,7 @@ void Being::drawSpeech(int offsetX, int offsetY)
int Being::getOffset(char pos, char neg) const
{
// Check whether we're walking in the requested direction
- if (mAction != WALK || !(mDirection & (pos | neg)))
+ if (mAction != MOVE || !(mDirection & (pos | neg)))
return 0;
int offset = 0;