Don't accelerate upper entities, let them be pushed by the lower ent.

A long time ago in 2b4f223 I introduced a small logic change to the
handling of stacked entities. If two entities were standing on each
other the original code set the movement speed of the upper entity
to 0. It would be pushed or dragged by the lower entity. I changed
that in way that the upper entity got the same speed as the lower
entity. With that change it wasn't pushed or dragged but moving on
it's own. I hoped to fix some of the 'elevator hurts player or monster'
bugs.

That hope was wrong, at a later time we quirked all elevators that hurt
the player. Additionally the change lead to physics bugs if entities are
standing on high speed elevators (more than 200 units per seconds). So
revert it.

The actual fix was already committed as part of 69b6e5a. This is just a
little cleanup commit, mainly for documentation purposes.

This closes #320.
This commit is contained in:
Yamagi Burmeister 2018-10-07 09:31:31 +02:00
parent f2a73b3919
commit 08037e7328

View file

@ -262,8 +262,6 @@ M_CheckGround(edict_t *ent)
VectorCopy(trace.endpos, ent->s.origin);
ent->groundentity = trace.ent;
ent->groundentity_linkcount = trace.ent->linkcount;
// FIXME
ent->velocity[2] = 0;
}
}