1 #include "onslaught.qh"
4 REGISTER_NET_LINKED(ENT_ONSCAMERA)
9 entity generator_camera;
10 NET_HANDLE(ENT_ONSCAMERA, bool isnew)
12 this.origin = ReadVector();
13 setorigin(this, this.origin);
15 this.angles = ReadAngleVector();
17 this.drawmask = MASK_NORMAL;
18 setmodel(this, MDL_Null); // give it a size for clientcamera
19 setsize(this, '-1 -1 -1', '1 1 1');
21 generator_camera = this;
25 REGISTER_MUTATOR(cl_ons, true);
28 vector generator_origin;
29 vector autocvar_cl_eventchase_generator_viewoffset = '0 0 80';
30 float autocvar_cl_eventchase_generator_distance = 400;
31 MUTATOR_HOOKFUNCTION(cl_ons, WantEventchase)
33 ons_roundlost = STAT(ROUNDLOST);
37 IL_EACH(g_onsgenerators, GetResource(it, RES_HEALTH) <= 0,
43 ons_roundlost = false; // don't enforce the 3rd person camera if there is no dead generator to show
48 generator_origin = gen.origin;
54 MUTATOR_HOOKFUNCTION(cl_ons, CustomizeEventchase)
58 M_ARGV(0, vector) = generator_camera.origin;
59 M_ARGV(1, vector) = autocvar_cl_eventchase_generator_viewoffset;
60 M_ARGV(0, float) = autocvar_cl_eventchase_generator_distance;