#include <config.h>
#include "weak_block.hpp"
+
#include "lisp/lisp.hpp"
#include "object_factory.hpp"
#include "player.hpp"
#include "random_generator.hpp"
#include "object/bullet.hpp"
+#include <math.h>
+
WeakBlock::WeakBlock(const lisp::Lisp& lisp)
: MovingSprite(lisp, "images/objects/strawbox/strawbox.sprite", LAYER_TILES, COLGROUP_STATIC), state(STATE_NORMAL)
{
sprite->set_action("normal");
- flags |= FLAG_SOLID;
}
HitResponse
case STATE_NORMAL:
if (dynamic_cast<Bullet*>(&other)) {
- startBurning();
- return FORCE_MOVE;
+ startBurning();
+ return FORCE_MOVE;
}
return FORCE_MOVE;
break;
case STATE_BURNING:
if (sprite->animation_done()) {
- state = STATE_DISINTEGRATING;
- sprite->set_action("disintegrating", 1);
- spreadHit();
- flags &= ~FLAG_SOLID;
+ state = STATE_DISINTEGRATING;
+ sprite->set_action("disintegrating", 1);
+ spreadHit();
set_group(COLGROUP_DISABLED);
}
break;
case STATE_DISINTEGRATING:
if (sprite->animation_done()) {
- remove_me();
- return;
+ remove_me();
+ return;
}
break;