}
}
+ print("flag.velocity = ", vtos(flag.velocity), ".\n");
+
switch(droptype)
{
case DROPTYPE_PASS:
//shockwave_spawn("models/ctf/shockwavetransring.md3", flag.origin - '0 0 15', -0.8, 0, 1);
}
+ player.next_take_time = time + autocvar_g_ctf_flag_collect_delay;
+
// reset the flag
ctf_RespawnFlag(enemy_flag);
}
// reset the flag
if(flag.speedrunning) { ctf_FakeTimeLimit(player, -1); }
+ player.next_take_time = time + autocvar_g_ctf_flag_collect_delay;
ctf_RespawnFlag(player.flagcarried);
}
{
pointparticles(particleeffectnum("kaball_sparks"), self.origin, '0 0 0', 1);
sound(self, CH_TRIGGER, self.snd_flag_touch, VOL_BASE, ATTN_NORM);
+ self.wait = time + FLAG_TOUCHRATE;
}
return;
}
{
if((other.team == self.team) && (other.flagcarried) && (other.flagcarried.team != self.team))
ctf_Handle_Capture(self, other); // other just captured the enemies flag to his base
- else if((other.team != self.team) && (!other.flagcarried) && (!other.ctf_captureshielded))
+ else if((other.team != self.team) && (!other.flagcarried) && (!other.ctf_captureshielded) && (time > other.next_take_time))
ctf_Handle_Pickup_Base(self, other); // other just stole the enemies flag
break;
}
break;
}
}
-
- self.wait = time + FLAG_TOUCHRATE;
}
void ctf_RespawnFlag(entity flag)