From 4a11c91d7d3fc83af26e31b1a51758186d6d462c Mon Sep 17 00:00:00 2001 From: Marco Cawthorne Date: Sun, 16 Apr 2023 11:53:03 -0700 Subject: [PATCH] trigger_teleport: change teleported entity's angles while maintaining the same velocity. --- src/gs-entbase/server/trigger_teleport.qc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/gs-entbase/server/trigger_teleport.qc b/src/gs-entbase/server/trigger_teleport.qc index fc9fa67e..9bee221d 100644 --- a/src/gs-entbase/server/trigger_teleport.qc +++ b/src/gs-entbase/server/trigger_teleport.qc @@ -69,7 +69,15 @@ trigger_teleport::Touch(entity eToucher) if (eTarget) { vector endpos = eTarget.origin + [0,0,16]; + float flSpeed = vlen(eToucher.velocity); + makevectors(eToucher.angles); + eToucher.velocity = (v_forward * flSpeed); + eToucher.angles = eTarget.angles; setorigin_safe(eToucher, endpos); + + if (eToucher.flags & FL_CLIENT) + Client_FixAngle(eToucher, eToucher.angles); + NSLog("^2trigger_teleport::^3Touch^7: Teleported '%s' to `%v`", eToucher.netname, endpos); } else {