GameRules_scoring_vip(player, true);
// reset flag
+ flag.solid = SOLID_NOT; // before setorigin to prevent area grid linking
if(player.vehicle)
{
setattachment(flag, player.vehicle, "");
}
set_movetype(flag, MOVETYPE_NONE);
flag.takedamage = DAMAGE_NO;
- flag.solid = SOLID_NOT;
flag.angles = '0 0 0';
flag.ctf_status = FLAG_CARRY;
// reset the flag
setattachment(flag, NULL, "");
tracebox(player.origin - FLAG_DROP_OFFSET, flag.m_mins, flag.m_maxs, player.origin + FLAG_DROP_OFFSET, MOVE_NOMONSTERS, flag);
+ flag.solid = SOLID_TRIGGER; // before setorigin to ensure area grid linking
setorigin(flag, trace_endpos);
flag.owner.flagcarried = NULL;
GameRules_scoring_vip(flag.owner, false);
flag.owner = NULL;
- flag.solid = SOLID_TRIGGER;
flag.ctf_dropper = player;
flag.ctf_droptime = time;
flag.ctf_landtime = 0;
flag.owner = player;
player.flagcarried = flag;
GameRules_scoring_vip(player, true);
+ flag.solid = SOLID_NOT; // before setorigin to prevent area grid linking
if(player.vehicle)
{
setattachment(flag, player.vehicle, "");
// flag setup
set_movetype(flag, MOVETYPE_NONE);
flag.takedamage = DAMAGE_NO;
- flag.solid = SOLID_NOT;
flag.angles = '0 0 0';
flag.ctf_status = FLAG_CARRY;
// reset the flag
setattachment(flag, NULL, "");
+ flag.solid = SOLID_TRIGGER; // before setorigin to ensure area grid linking
setorigin(flag, flag.ctf_spawnorigin);
//set_movetype(flag, ((flag.noalign) ? MOVETYPE_NONE : MOVETYPE_TOSS)); // would be desired, except maps that want floating flags have it set to fall!
set_movetype(flag, MOVETYPE_NONE); // match the initial setup handling (flag doesn't move when spawned)
flag.takedamage = DAMAGE_NO;
SetResourceExplicit(flag, RES_HEALTH, flag.max_health);
- flag.solid = SOLID_TRIGGER;
flag.velocity = '0 0 0';
flag.angles = flag.mangle;
flag.flags = FL_ITEM | FL_NOTARGET;