BEGIN_CHEAT_FUNCTION();
// Dragging can be used as either a cheat, or a function for some objects. If sv_cheats is active,
- // the cheat dragging is used (unlimited pickup range and any entity can be carried), even if
- // g_grab is enabled. Is sv_cheats is disabled but g_grab is not, normal dragging is
- // used (limited pickup range and only dragable objects can be carried), grabbing itself
- // no longer being accounted as cheating. If both sv_cheats and g_grab are disabled, players
- // attempting to grab objects are reported as trying to cheat.
+ // the cheat dragging is used (unlimited pickup range and any entity can be carried). If sv_cheats
+ // is disabled, normal dragging is used (limited pickup range and only dragable objects can be carried),
+ // grabbing itself no longer being accounted as cheating.
switch(0)
{
if(Drag(trace_ent, TRUE))
DID_CHEAT();
}
- else if(autocvar_g_grab)
+ else
{
// drag is TRUE if the object can be picked up. While an object is being carried, the Drag() function
// must execute for it either way, otherwise it would cause bugs if it went out of the player's trace.
drag = TRUE;
break;
case 2: // owner and team mates can grab
- if(trace_ent.owner == self || trace_ent.realowner == self)
- drag = TRUE;
- if(!IsDifferentTeam(trace_ent.owner, self) || !IsDifferentTeam(trace_ent.realowner, self))
+ if(!IsDifferentTeam(trace_ent.owner, self) || !IsDifferentTeam(trace_ent.realowner, self) || trace_ent.team == self.team)
drag = TRUE;
break;
case 3: // anyone can grab
}
Drag(trace_ent, drag); // execute dragging
}
- else if(self.BUTTON_DRAG)
- {
- // consider dragging a cheat if g_grab is disabled
- IS_CHEAT(0, 0, CHRAME_DRAG);
- }
break;
}
// ENTITY DRAGGING
-float Drag(entity e, float grab)
+float Drag(entity e, float pick)
{
// returns TRUE when an entity has been picked up
- // If grab is TRUE, the object can also be picked up if it's not being held already
- // If grab is FALSE, only keep dragging the object if it's already being held
+ // If pick is TRUE, the object can also be picked up if it's not being held already
+ // If pick is FALSE, only keep dragging the object if it's already being held
if(Drag_IsDragging(self))
{
else
{
if(Drag_CanDrag(self))
- if(self.BUTTON_DRAG && grab)
+ if(self.BUTTON_DRAG && pick)
{
if(e)
if(Drag_IsDraggable(e))