flag.movetype = MOVETYPE_NONE;
flag.takedamage = DAMAGE_NO;
flag.solid = SOLID_NOT;
- flag.ctf_carrier = player;
flag.ctf_status = FLAG_CARRY;
// messages and sounds
sound(player, CH_TRIGGER, flag.snd_flag_pass, VOL_BASE, ATTN_NORM);
- ctf_EventLog("recieve", flag.team, player);
+ ctf_EventLog("receive", flag.team, player);
FOR_EACH_REALPLAYER(tmp_player)
{
if(tmp_player == sender)
centerprint(tmp_player, strcat("You passed the ", flag.netname, " to ", player.netname));
else if(tmp_player == player)
- centerprint(tmp_player, strcat("You recieved the ", flag.netname, " from ", sender.netname));
+ centerprint(tmp_player, strcat("You received the ", flag.netname, " from ", sender.netname));
else if(!IsDifferentTeam(tmp_player, sender))
centerprint(tmp_player, strcat(sender.netname, " passed the ", flag.netname, " to ", player.netname));
}
void ctf_Handle_Throw(entity player, entity receiver, float droptype)
{
entity flag = player.flagcarried;
- vector targ_origin;
+ vector targ_origin, flag_velocity;
if(!flag) { return; }
if((droptype == DROP_PASS) && !receiver) { return; }
case DROP_THROW:
{
makevectors((player.v_angle_y * '0 1 0') + (player.v_angle_x * '0.5 0 0'));
- flag.velocity = W_CalculateProjectileVelocity(player.velocity, ('0 0 200' + (v_forward * autocvar_g_ctf_drop_velocity)), FALSE);
+ flag_velocity = ('0 0 200' + ((v_forward * autocvar_g_ctf_drop_velocity) * ((player.items & IT_STRENGTH) ? autocvar_g_ctf_drop_strengthmultiplier : 1)));
+ flag.velocity = W_CalculateProjectileVelocity(player.velocity, flag_velocity, FALSE);
break;
}
flag.takedamage = DAMAGE_NO;
flag.solid = SOLID_NOT;
flag.angles = '0 0 0';
- flag.ctf_carrier = player;
flag.ctf_status = FLAG_CARRY;
switch(pickuptype)
flag.owner = world;
flag.pass_sender = world;
flag.pass_target = world;
- flag.ctf_carrier = world;
flag.ctf_dropper = world;
flag.ctf_pickuptime = 0;
flag.ctf_droptime = 0;