- if (issolid(base.x - 1, (int) base.y))
- {
- if(base.xm < 0)
- base.xm = -base.xm;
- }
- else if (issolid(base.x + base.width, (int) base.y))
- {
- if(base.xm > 0)
- base.xm = -base.xm;
- }
+ // fall down?
+ if(kind == UPGRADE_GROWUP || kind == UPGRADE_HERRING) {
+ // falling?
+ if(physic.get_velocity_y() != 0) {
+ if(issolid(base.x, base.y + base.height)) {
+ base.y = int(base.y / 32) * 32;
+ old_base = base;
+ if(kind == UPGRADE_GROWUP) {
+ physic.enable_gravity(false);
+ physic.set_velocity(dir == LEFT ? -GROWUP_SPEED : GROWUP_SPEED, 0);
+ } else if(kind == UPGRADE_HERRING) {
+ physic.set_velocity(dir == LEFT ? -2 : 2, 3);