From a4d2f2c0373848fa8a886c1dddc6247b81527df3 Mon Sep 17 00:00:00 2001 From: Ira Rice Date: Mon, 13 Oct 2008 09:34:46 +0000 Subject: Added mob particle attack effects to mobs. Inspired by the TMW patch in their trunk client. --- src/monster.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/monster.cpp') diff --git a/src/monster.cpp b/src/monster.cpp index 2b6fadce..61f1f5c3 100644 --- a/src/monster.cpp +++ b/src/monster.cpp @@ -46,6 +46,7 @@ Monster::Monster(Uint32 id, Uint16 job, Map *map): // Setup Monster sprites int c = BASE_SPRITE; + const std::list &sprites = info.getSprites(); for (std::list::const_iterator i = sprites.begin(); i != sprites.end(); @@ -103,6 +104,8 @@ Being::Type Monster::getType() const void Monster::setAction(Action action) { SpriteAction currentAction = ACTION_INVALID; + int rotation = 0; + std::string particleEffect; switch (action) { @@ -116,6 +119,24 @@ void Monster::setAction(Action action) case ATTACK: currentAction = ACTION_ATTACK; mSprites[BASE_SPRITE]->reset(); + + //attack particle effect + particleEffect = getInfo().getAttackParticleEffect(); + if (particleEffect != "") + { + switch (mDirection) + { + case DOWN: rotation = 0; break; + case LEFT: rotation = 90; break; + case UP: rotation = 180; break; + case RIGHT: rotation = 270; break; + default: break; + } + Particle *p; + p = particleEngine->addEffect( + particleEffect, 0, 0, rotation); + controlParticle(p); + } break; case STAND: currentAction = ACTION_STAND; -- cgit v1.2.3-70-g09d2