Zeekling::Zeekling(const lisp::Lisp& reader)
: BadGuy(reader, "images/creatures/zeekling/zeekling.sprite")
{
Zeekling::Zeekling(const lisp::Lisp& reader)
: BadGuy(reader, "images/creatures/zeekling/zeekling.sprite")
{
physic.set_velocity_x(dir == LEFT ? -speed : speed);
physic.enable_gravity(false);
sprite->set_action(dir == LEFT ? "left" : "right");
physic.set_velocity_x(dir == LEFT ? -speed : speed);
physic.enable_gravity(false);
sprite->set_action(dir == LEFT ? "left" : "right");
dir = (dir == LEFT ? RIGHT : LEFT);
sprite->set_action(dir == LEFT ? "left" : "right");
physic.set_velocity_x(dir == LEFT ? -speed : speed);
dir = (dir == LEFT ? RIGHT : LEFT);
sprite->set_action(dir == LEFT ? "left" : "right");
physic.set_velocity_x(dir == LEFT ? -speed : speed);
Zeekling::should_we_dive() {
const MovingObject* player = this->get_nearest_player();
if (!player) return false;
Zeekling::should_we_dive() {
const MovingObject* player = this->get_nearest_player();
if (!player) return false;
// guess where the player would be at this time
float estPx = (playerPos.x + (estFrames * playerMov.x));
// guess where the player would be at this time
float estPx = (playerPos.x + (estFrames * playerMov.x));
// stop climbing when we're back at initial height
if (get_pos().y <= start_position.y) {
state = FLYING;
physic.set_velocity_y(0);
}
// stop climbing when we're back at initial height
if (get_pos().y <= start_position.y) {
state = FLYING;
physic.set_velocity_y(0);
}