// dead people cannot cheat
if(self.deadflag != DEAD_NO)
return 0;
- if(self.classname != "player")
+ if(gamestart_sv_cheats < 2 && !IS_PLAYER(self))
return 0;
// sv_clones
self.personal.ammo_fuel = self.ammo_fuel;
self.personal.health = self.health;
self.personal.armorvalue = self.armorvalue;
- WEPSET_COPY_EE(self.personal, self);
+ self.personal.weapons = self.weapons;
self.personal.items = self.items;
self.personal.pauserotarmor_finished = self.pauserotarmor_finished;
self.personal.pauserothealth_finished = self.pauserothealth_finished;
self.ammo_fuel = self.personal.ammo_fuel;
self.health = self.personal.health;
self.armorvalue = self.personal.armorvalue;
- WEPSET_COPY_EE(self, self.personal);
+ self.weapons = self.personal.weapons;
self.items = self.personal.items;
self.pauserotarmor_finished = time + self.personal.pauserotarmor_finished - self.personal.teleport_time;
self.pauserothealth_finished = time + self.personal.pauserothealth_finished - self.personal.teleport_time;
break;
}
}
- if(MoveToRandomMapLocation(self, DPCONTENTS_SOLID | DPCONTENTS_CORPSE | DPCONTENTS_PLAYERCLIP, DPCONTENTS_SLIME | DPCONTENTS_LAVA | DPCONTENTS_SKY | DPCONTENTS_BODY | DPCONTENTS_DONOTENTER, Q3SURFACEFLAG_SKY, ((gamestart_sv_cheats >= 2) ? 100000 : 100), 1024, 256))
+ if(MoveToRandomMapLocation(self, DPCONTENTS_SOLID | DPCONTENTS_CORPSE | DPCONTENTS_PLAYERCLIP, DPCONTENTS_SLIME | DPCONTENTS_LAVA | DPCONTENTS_SKY | DPCONTENTS_BODY | DPCONTENTS_DONOTENTER, Q3SURFACEFLAG_SKY, ((gamestart_sv_cheats < 2) ? 100 : 100000), 384, 384))
{
sprint(self, "Emergency teleport used random location\n");
self.angles_x = -self.angles_x;
e = self;
pointparticles(particleeffectnum("rocket_explode"), e.origin, '0 0 0', 1);
- sound(e, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
+ sound(e, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTEN_NORM);
e2 = spawn();
setorigin(e2, e.origin);
self = e;
DID_CHEAT();
break;
+ case "teleporttotarget":
+ IS_CHEAT(0, argc, 0);
+ e = self;
+ self = spawn();
+ setorigin(self, self.origin);
+ self.classname = "cheattriggerteleport";
+ self.target = argv(1);
+ teleport_findtarget();
+ if(!wasfreed(self))
+ {
+ Simple_TeleportPlayer(self, e);
+ remove(self);
+ self = e;
+ DID_CHEAT();
+ }
+ else
+ self = e;
+ break;
}
END_CHEAT_FUNCTION();
draggee.draggravity = draggee.gravity;
draggee.movetype = MOVETYPE_WALK;
draggee.gravity = 0.00001;
- draggee.flags &~= FL_ONGROUND;
+ draggee.flags &= ~FL_ONGROUND;
draggee.draggedby = dragger;
dragger.dragentity = draggee;
return FALSE;
// if(draggee.model == "")
// return FALSE;
- if(draggee.classname == "spectator")
+ if(IS_SPEC(draggee))
return FALSE;
- if(draggee.classname == "observer")
+ if(IS_OBSERVER(draggee))
return FALSE;
if(draggee.classname == "exteriorweaponentity")
return FALSE;
entity draggee;
draggee = dragger.dragentity;
- draggee.flags &~= FL_ONGROUND;
+ draggee.flags &= ~FL_ONGROUND;
curorigin = gettaginfo(draggee, 0);
curorigin = curorigin + v_forward * dragger.draglocalvector_x + v_right * dragger.draglocalvector_y + v_up * dragger.draglocalvector_z;
float Drag_CanDrag(entity dragger)
{
- return (dragger.deadflag == DEAD_NO) || (dragger.classname == "player");
+ return (dragger.deadflag == DEAD_NO) || (IS_PLAYER(dragger));
}
float Drag_IsDragging(entity dragger)