player.angles = '0 1 0' * ( theta * RAD2DEG + 180 );
makevectors(player.angles);
player.fixangle = true;
+ if (IS_BOT_CLIENT(player))
+ {
+ player.v_angle = player.angles;
+ bot_aim_reset(player);
+ }
player.teleport_antispam = time + autocvar_g_onslaught_teleport_wait;
if ( tele_effects )
setorigin(player, to);
player.oldorigin = to; // don't undo the teleport by unsticking
player.angles = to_angles;
+ if (IS_BOT_CLIENT(player))
+ {
+ player.v_angle = player.angles;
+ bot_aim_reset(player);
+ }
player.fixangle = true;
player.velocity = to_velocity;
BITXOR_ASSIGN(player.effects, EF_TELEPORT_BIT);
closest.velocity = my_vel;
closest.angles = my_ang;
+ if (IS_BOT_CLIENT(closest))
+ {
+ closest.v_angle = closest.angles;
+ bot_aim_reset(closest);
+ }
closest.fixangle = true;
closest.oldorigin = my_org;
closest.oldvelocity = my_vel;
player.velocity = their_vel;
player.angles = their_ang;
+ if (IS_BOT_CLIENT(player))
+ {
+ player.v_angle = player.angles;
+ bot_aim_reset(player);
+ }
player.fixangle = true;
player.oldorigin = their_org;
player.oldvelocity = their_vel;
#include <common/util.qh>
#include <server/constants.qh>
#include <server/defs.qh>
+ #include <server/utils.qh>
#endif
#ifdef WARPZONELIB_KEEPDEBUG
player.lastteleporttime = time;
#endif
setorigin(player, to); // NOTE: this also aborts the move, when this is called by touch
+ player.angles = to_angles;
#ifdef SVQC
player.oldorigin = to; // for DP's unsticking
player.fixangle = true;
+ if (IS_BOT_CLIENT(player))
+ {
+ // FIXME find a way to smooth view's angles change for bots too
+ player.v_angle = player.angles;
+ bot_aim_reset(player);
+ }
#endif
- player.angles = to_angles;
player.velocity = to_velocity;
BITXOR_ASSIGN(player.effects, EF_TELEPORT_BIT);