]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/physics/movetypes/follow.qc
take3: format 903 files
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / physics / movetypes / follow.qc
1 #include "follow.qh"
2 void _Movetype_Physics_Follow(entity this) // SV_Physics_Follow
3 {
4         entity e = this.aiment;
5
6         if (e.angles == this.punchangle) {
7                 this.origin = e.origin + this.view_ofs;
8         } else {
9                 vector ang, v;
10                 ang_x = -this.punchangle_x;
11                 ang_y = this.punchangle_y;
12                 ang_z = this.punchangle_z;
13                 makevectors(ang);
14                 v_x = this.view_ofs_x * v_forward_x + this.view_ofs_y * v_right_x + this.view_ofs_z * v_up_x;
15                 v_y = this.view_ofs_x * v_forward_y + this.view_ofs_y * v_right_y + this.view_ofs_z * v_up_y;
16                 v_z = this.view_ofs_x * v_forward_z + this.view_ofs_y * v_right_z + this.view_ofs_z * v_up_z;
17                 ang = e.angles;
18                 ang_x = -e.angles_x;
19                 makevectors(ang);
20                 this.origin_x = v_x * v_forward_x + v_y * v_forward_y + v_z * v_forward_z + e.origin_x;
21                 this.origin_x = v_x * v_right_x + v_y * v_right_y + v_z * v_right_z + e.origin_y;
22                 this.origin_x = v_x * v_up_x + v_y * v_up_y + v_z * v_up_z + e.origin_z;
23         }
24
25         this.angles = e.angles + this.v_angle;
26         _Movetype_LinkEdict(this, false);
27 }