phalanx aimfix (like the supershotgun)
the first shot (in the if statement) is to the right, the second shot (in the else statement) shoots left
without the change to the code 1 shot is centered on the aim cross, the other is on the right
with the change to the code the left shot is on the left of the crossair and it touches the left -- of the crossair, while the right shot is on the right and touches the right -- of the crossair
the aimfix was working only on half of the attack, since the supershotgun shoots 2 times (half bullets left, half bullets right)
to carefully test it i tried to comment out 1 of the 2 shots while also keep yaw change to 0
in 1 case the bullets hit around the crossair, in the other case the bullets were not centered around the crossair.
i added the same fix to the shot that did not have it, and it worked.
i tested it out with yaw-5 and yaw+5 with both shots shooting at the same time and the bullets appeared to gather into 2 distinct clusters one left side of crossair, one right side of crossair like 2 eyes on the wall
This didn't work correctly for multiple reasons:
1. `deltayaw` was wrongly initialized for the pusher itself, rather than
for pushed client.
2. `delta_angles[YAW]` is a short, adding plain `amove[YAW]` to it is
wrong.
To support yaw angle rotation properly, delta_angles must be
interpolated on the client. But this is hardly practical as it would
introduce other bugs. Thus, simply remove delta yaw manipulation code
altogether.
Fixes infamous Q2 bug when player standing on a blocked lift gets turned
to wrong direction.
The ThrowHead() and ThrowClientHead() functions are special. They
transform the entity given in `self` (mostly the caller itself) into a
ripped off head. They don't reset the entities clip mask, which may
cause problems in interactions with other entities. Fix that by reseting
the clip mask to `MASK_SHOT`.
Suggested by @BjossiAlfreds.
The laser guard is implemented different than the other guards, the
'last stand' animation doesn't match the implementation. Work around
that by avoid that animation.
Found by @drakonorodny and fix suggested by @BjossiAlfreds.
Closes#68.
There were complains that always generating footsteps is annoying,
because there will be footsteps while swimming or jumping. Refine
the cvar a little bit:
* `0`: No footsteps at all.
* `1`: Vanilla Quake II behavior.
* `2`: Always footsteps as long as the player has a ground entity.
* `3`: Always footsteps.
The changes the meaning of the values, `2` has become `3`.
Closesyquake2/yquake2#738.