X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fbadguy%2Fwillowisp.cpp;h=db467e7f922d17c1c625b91a92376a5c00dfbbba;hb=788a9153f60fb3d25a52fd184387ebbde7636719;hp=0e55486f1e7fa0dc953d288f724e05ac4bb7c41d;hpb=058e2f6298d8319c0fe03c5e950a36a8f1f57aba;p=supertux.git diff --git a/src/badguy/willowisp.cpp b/src/badguy/willowisp.cpp index 0e55486f1..db467e7f9 100644 --- a/src/badguy/willowisp.cpp +++ b/src/badguy/willowisp.cpp @@ -106,11 +106,14 @@ WillOWisp::active_update(float elapsed_time) break; case STATE_TRACKING: - if (dist.norm() <= vanish_range) { + if (dist.norm() > vanish_range) { + vanish(); + } else if (dist.norm() >= 1) { Vector dir = dist.unit(); movement = dir * elapsed_time * flyspeed; } else { - vanish(); + /* We somehow landed right on top of the player without colliding. + * Sit tight and avoid a division by zero. */ } sound_source->set_position(get_pos()); break;