.float antilag_times[ANTILAG_MAX_ORIGINS];
.float antilag_index;
.vector antilag_saved_origin;
+.float antilag_takenback;
.float antilag_debug;
void antilag_takeback(entity e, float t)
{
- if(e.vehicle)
- antilag_takeback(e.vehicle, t);
+ if(e.vehicle)
+ antilag_takeback(e.vehicle, t);
+
+ if(!e.antilag_takenback)
+ e.antilag_saved_origin = e.origin;
- e.antilag_saved_origin = e.origin;
setorigin(e, antilag_takebackorigin(e, t));
+ e.antilag_takenback = TRUE;
}
void antilag_restore(entity e)
{
- if(e.vehicle)
- antilag_restore(e.vehicle);
+ if(e.vehicle)
+ antilag_restore(e.vehicle);
+
+ if(!e.antilag_takenback)
+ return;
setorigin(e, e.antilag_saved_origin);
+ e.antilag_takenback = FALSE;
}