set g_ctf_flag_dropped_floatinwater 200 "move upwards while in water at this velocity"
set g_ctf_flag_pickup_verbosename 0 "show the name of the person who picked up the flag too"
set g_ctf_drop 1 "dropping allows circumventing carrierkill score, so enable this with care!"
+set g_ctf_drop_strengthmultiplier 3 "multiplier for velocity when you have the strength... essentially, throw the flag REALLY hard when you have the strength :D"
set g_ctf_drop_velocity 500 "how fast or far a player can throw the flag"
set g_ctf_pass 1 "allow passing of flags to nearby team mates"
set g_ctf_pass_radius 500 "maximum radius that you can pass to a team mate in"
float autocvar_g_chat_teamcolors;
float autocvar_g_ctf_allow_vehicle_touch;
float autocvar_g_ctf_drop;
+float autocvar_g_ctf_drop_strengthmultiplier;
float autocvar_g_ctf_drop_velocity;
float autocvar_g_ctf_portalteleport;
float autocvar_g_ctf_pass;
flag.movetype = MOVETYPE_NONE;
flag.takedamage = DAMAGE_NO;
flag.solid = SOLID_NOT;
- flag.ctf_carrier = player;
flag.ctf_status = FLAG_CARRY;
// messages and sounds
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;