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
This commit is contained in:
Yamagi Burmeister 2018-10-07 11:58:46 +02:00
parent 82d8b31d02
commit c620cea34b

View file

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