#include "cheats.qh"
+#include <server/defs.qh>
+#include <server/miscfunctions.qh>
+#include <common/effects/all.qh>
+
#include "g_damage.qh"
#include "race.qh"
-#include "../common/triggers/teleporters.qh"
+#include "../common/mapobjects/teleporters.qh"
#include "mutators/_mod.qh"
#include <common/weapons/_all.qh>
-#include "../common/triggers/subs.qh"
+#include "../common/mapobjects/subs.qh"
+#include <common/mapobjects/triggers.qh>
-#include "../common/triggers/func/breakable.qh"
+#include "../common/mapobjects/func/breakable.qh"
#include "../lib/csqcmodel/sv_model.qh"
// if we get here, player is not allowed to cheat. Log it.
if(i)
- bprintf("Player %s^7 tried to use cheat 'impulse %d'\n", this.netname, i);
+ bprintf("Player %s^7 tried to use cheat 'impulse %d'\n", playername(this, false), i);
else if(argc)
- bprintf("Player %s^7 tried to use cheat '%s'\n", this.netname, argv(0));
+ bprintf("Player %s^7 tried to use cheat '%s'\n", playername(this, false), argv(0));
else if(fr)
- bprintf("Player %s^7 tried to use cheat frame %d\n", this.netname, fr);
+ bprintf("Player %s^7 tried to use cheat frame %d\n", playername(this, false), fr);
else
- bprintf("Player %s^7 tried to use an unknown cheat\n", this.netname);
+ bprintf("Player %s^7 tried to use an unknown cheat\n", playername(this, false));
return 0;
}
this.personal.ammo_plasma = this.ammo_plasma;
this.personal.ammo_shells = this.ammo_shells;
this.personal.ammo_fuel = this.ammo_fuel;
- this.personal.health = this.health;
+ this.personal.health = max(1, this.health);
this.personal.armorvalue = this.armorvalue;
- this.personal.weapons = this.weapons;
+ STAT(WEAPONS, this.personal) = STAT(WEAPONS, this);
this.personal.items = this.items;
this.personal.pauserotarmor_finished = this.pauserotarmor_finished;
this.personal.pauserothealth_finished = this.pauserothealth_finished;
CheatCommand(this, tokenize_console("give all"));
break; // already counted as cheat
case CHIMPULSE_SPEEDRUN.impulse:
- IS_CHEAT(this, imp, 0, 0);
+ if(!autocvar_g_allow_checkpoints)
+ IS_CHEAT(this, imp, 0, 0);
if(this.personal)
{
this.speedrunning = true;
this.ammo_fuel = this.personal.ammo_fuel;
this.health = this.personal.health;
this.armorvalue = this.personal.armorvalue;
- this.weapons = this.personal.weapons;
+ STAT(WEAPONS, this) = STAT(WEAPONS, this.personal);
this.items = this.personal.items;
this.pauserotarmor_finished = time + this.personal.pauserotarmor_finished - this.personal.teleport_time;
this.pauserothealth_finished = time + this.personal.pauserothealth_finished - this.personal.teleport_time;
this.strength_finished = time + this.personal.strength_finished - this.personal.teleport_time;
this.invincible_finished = time + this.personal.invincible_finished - this.personal.teleport_time;
- DID_CHEAT();
+ if(!autocvar_g_allow_checkpoints)
+ DID_CHEAT();
break;
}
if(IS_DEAD(this))
case CHIMPULSE_R00T.impulse:
IS_CHEAT(this, imp, 0, 0);
RandomSelection_Init();
- FOREACH_CLIENT(IS_PLAYER(it) && !IS_DEAD(it) && DIFF_TEAM(it, this), LAMBDA(RandomSelection_AddEnt(it, 1, 1)));
+ FOREACH_CLIENT(IS_PLAYER(it) && !IS_DEAD(it) && DIFF_TEAM(it, this), { RandomSelection_AddEnt(it, 1, 1); });
if(RandomSelection_chosen_ent)
e = RandomSelection_chosen_ent;
else
e2 = spawn();
setorigin(e2, e.origin);
- RadiusDamage(e2, this, 1000, 0, 128, NULL, NULL, 500, DEATH_CHEAT.m_id, e);
+ RadiusDamage(e2, this, 1000, 0, 128, NULL, NULL, 500, DEATH_CHEAT.m_id, DMG_NOWEP, e);
delete(e2);
- LOG_INFO("404 Sportsmanship not found.\n");
+ LOG_INFO("404 Sportsmanship not found.");
DID_CHEAT();
break;
}
// arguments:
// effectname
effectnum = _particleeffectnum(argv(1));
- W_SetupShot(this, weaponentities[0], false, false, SND_Null, CH_WEAPON_A, 0);
+ W_SetupShot(this, weaponentities[0], false, false, SND_Null, CH_WEAPON_A, 0, 0);
traceline(w_shotorg, w_shotorg + w_shotdir * max_shot_distance, MOVE_NORMAL, this);
__trailparticles(this, effectnum, w_shotorg, trace_endpos);
DID_CHEAT();
// arguments:
// modelname mode
f = stof(argv(2));
- W_SetupShot(this, weaponentities[0], false, false, SND_Null, CH_WEAPON_A, 0);
+ W_SetupShot(this, weaponentities[0], false, false, SND_Null, CH_WEAPON_A, 0, 0);
traceline(w_shotorg, w_shotorg + w_shotdir * 2048, MOVE_NORMAL, this);
if((trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT) || trace_fraction == 1)
{
{
if(PHYS_INPUT_BUTTON_DRAG(this))
{
- if(this.impulse == 10 || this.impulse == 15 || this.impulse == 18)
+ if(CS(this).impulse == 10 || CS(this).impulse == 15 || CS(this).impulse == 18)
{
Drag_MoveForward(this);
- this.impulse = 0;
+ CS(this).impulse = 0;
}
- else if(this.impulse == 12 || this.impulse == 16 || this.impulse == 19)
+ else if(CS(this).impulse == 12 || CS(this).impulse == 16 || CS(this).impulse == 19)
{
Drag_MoveBackward(this);
- this.impulse = 0;
+ CS(this).impulse = 0;
}
- else if(this.impulse >= 1 && this.impulse <= 9)
+ else if(CS(this).impulse >= 1 && CS(this).impulse <= 9)
{
- Drag_SetSpeed(this, this.impulse - 1);
+ Drag_SetSpeed(this, CS(this).impulse - 1);
}
- else if(this.impulse == 14)
+ else if(CS(this).impulse == 14)
{
Drag_SetSpeed(this, 9);
}
dragger.dragdistance = vlen(touchpoint - dragger.origin - dragger.view_ofs);
dragger.draglocalangle = draggee.angles.y - dragger.v_angle.y;
touchpoint = touchpoint - gettaginfo(draggee, 0);
- tagscale = pow(vlen(v_forward), -2);
+ tagscale = (vlen(v_forward) ** -2);
dragger.draglocalvector_x = touchpoint * v_forward * tagscale;
dragger.draglocalvector_y = touchpoint * v_right * tagscale;
dragger.draglocalvector_z = touchpoint * v_up * tagscale;
void Drag_SetSpeed(entity dragger, float s)
{
- dragger.dragspeed = pow(2, s);
+ dragger.dragspeed = (2 ** s);
}
void Drag_MoveBackward(entity dragger)