badguy.cpp: Badguys don't squish other badguys.
authorFlorian Forster <supertux@octo.it>
Fri, 5 Mar 2010 16:09:15 +0000 (16:09 +0000)
committerFlorian Forster <supertux@octo.it>
Fri, 5 Mar 2010 16:09:15 +0000 (16:09 +0000)
They still turn around when walking into one another, but Bouncy, Jumpy and
friends no longer squish their coworkers.

Badguys that madly wish to be squished by other badguys, should check if they
were hit from above in "collision_badguy" which is now called instead.

Some exception *might* be necessary for stalactites.

SVN-Revision: 6554

src/badguy/badguy.cpp

index 5ee5b99..b5d895f 100644 (file)
@@ -240,12 +240,15 @@ BadGuy::collision(GameObject& other, const CollisionHit& hit)
   BadGuy* badguy = dynamic_cast<BadGuy*> (&other);
   if(badguy && badguy->is_active() && badguy->get_group() == COLGROUP_MOVING) {
 
+    /* Badguys don't let badguys squish other badguys. It's bad. */
+#if 0
     // hit from above?
     if (badguy->get_bbox().p2.y < (bbox.p1.y + 16)) {
       if(collision_squished(*badguy)) {
         return ABORT_MOVE;
       }
     }
+#endif
 
     return collision_badguy(*badguy, hit);
   }