]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/cheats.qc
Merge branch 'Mario/hook_nade_stuff' into 'master'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / cheats.qc
index d9eb75915072bdd8d118d4dafb51804f1aba98c2..82bc9036158a3f343cf41c35108c2028d6c5c25a 100644 (file)
@@ -3,7 +3,7 @@
 
 #include "g_damage.qh"
 #include "race.qh"
-#include "t_teleporters.qh"
+#include "../common/triggers/teleporters.qh"
 
 #include "mutators/mutators_include.qh"
 
 
 #include "../common/constants.qh"
 #include "../common/deathtypes.qh"
+#include "../common/effects.qh"
 #include "../common/util.qh"
 
 #include "../common/monsters/all.qh"
 
 #include "../common/weapons/all.qh"
 
+#include "../common/triggers/subs.qh"
+
+#include "../common/triggers/func/breakable.qh"
+
 #include "../csqcmodellib/sv_model.qh"
 
 #include "../warpzonelib/anglestransform.qh"
@@ -208,7 +213,7 @@ float CheatImpulse(float i)
                                        self.angles = self.personal.v_angle;
                                        self.fixangle = true;
 
-                                       MUTATOR_CALLHOOK(AbortSpeedrun);
+                                       MUTATOR_CALLHOOK(AbortSpeedrun, self);
                                }
 
                                self.ammo_rockets = self.personal.ammo_rockets;
@@ -277,15 +282,15 @@ float CheatImpulse(float i)
                        else
                                e = self;
 
-                       pointparticles(particleeffectnum("rocket_explode"), e.origin, '0 0 0', 1);
-                       sound(e, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTEN_NORM);
+                       Send_Effect(EFFECT_ROCKET_EXPLODE, e.origin, '0 0 0', 1);
+                       sound(e, CH_SHOTS, W_Sound("rocket_impact"), VOL_BASE, ATTEN_NORM);
 
                        e2 = spawn();
                        setorigin(e2, e.origin);
                        RadiusDamage(e2, self, 1000, 0, 128, world, world, 500, DEATH_CHEAT, e);
                        remove(e2);
 
-                       print("404 Sportsmanship not found.\n");
+                       LOG_INFO("404 Sportsmanship not found.\n");
                        DID_CHEAT();
                        break;
        }
@@ -316,13 +321,12 @@ float CheatCommand(float argc)
                                //   origin (0..1, on crosshair line)
                                //   velocity
                                //   howmany
-                               effectnum = particleeffectnum(argv(1));
                                f = stof(argv(2));
                                crosshair_trace(self);
                                start = (1-f) * self.origin + f * trace_endpos;
                                end = stov(argv(3));
                                f = stof(argv(4));
-                               pointparticles(effectnum, start, end, f);
+                               Send_Effect_(argv(1), start, end, f);
                                DID_CHEAT();
                                break;
                        }
@@ -334,7 +338,7 @@ float CheatCommand(float argc)
                        {
                                // arguments:
                                //   effectname
-                               effectnum = particleeffectnum(argv(1));
+                               effectnum = _particleeffectnum(argv(1));
                                W_SetupShot(self, false, false, "", CH_WEAPON_A, 0);
                                traceline(w_shotorg, w_shotorg + w_shotdir * MAX_SHOT_DISTANCE, MOVE_NORMAL, self);
                                trailparticles(self, effectnum, w_shotorg, trace_endpos);
@@ -1029,7 +1033,13 @@ void Drag_Update(entity dragger)
 
        draggee.ltime = max(servertime + serverframetime, draggee.ltime); // fixes func_train breakage
 
-       te_lightning1(dragger, dragger.origin + dragger.view_ofs, curorigin);
+       vector vecs = '0 0 0';
+       if(dragger.weaponentity.movedir_x > 0)
+               vecs = dragger.weaponentity.movedir;
+
+       vector dv = v_right * -vecs_y + v_up * vecs_z;
+
+       te_lightning1(draggee, dragger.origin + dragger.view_ofs + dv, curorigin);
 }
 
 float Drag_CanDrag(entity dragger)