#include "jumpy.h"
static const float JUMPSPEED=600;
+static const float JUMPY_MID_TOLERANCE=8;
+static const float JUMPY_LOW_TOLERANCE=2;
Jumpy::Jumpy(const lisp::Lisp& reader)
{
dir = Sector::current()->player->get_pos().x > get_pos().x
? RIGHT : LEFT;
//FIXME: add middle and up here
- sprite->set_action(dir == LEFT ? "left-down" : "right-down");
+
+ if ( get_pos().y >= (start_position.y - JUMPY_MID_TOLERANCE) )
+ sprite->set_action(dir == LEFT ? "left-middle" : "right-middle");
+ else if ( get_pos().y >= (start_position.y - JUMPY_LOW_TOLERANCE) )
+ sprite->set_action(dir == LEFT ? "left-down" : "right-down");
+ else
+ sprite->set_action(dir == LEFT ? "left-up" : "right-up");
}
+
+IMPLEMENT_FACTORY(Jumpy, "jumpy")