X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fmutators%2Fgamemode_ctf.qc;h=4067f702e0cfaebf2c7bb08673cde556cbaacadf;hb=958c74ba81e1be956cc7d6f863b30820458bb289;hp=3c756f4de074b9d2159646a361a3491be015095b;hpb=5424bd3ad212983e33860ec76d35dbcb7c5004b4;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/mutators/gamemode_ctf.qc b/qcsrc/server/mutators/gamemode_ctf.qc index 3c756f4de..4067f702e 100644 --- a/qcsrc/server/mutators/gamemode_ctf.qc +++ b/qcsrc/server/mutators/gamemode_ctf.qc @@ -213,19 +213,18 @@ void ctf_Handle_Retrieve(entity flag, entity player) 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)); } @@ -243,7 +242,7 @@ void ctf_Handle_Retrieve(entity flag, entity player) 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; } @@ -274,7 +273,8 @@ void ctf_Handle_Throw(entity player, entity receiver, float droptype) 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; } @@ -434,7 +434,6 @@ void ctf_Handle_Pickup(entity flag, entity player, float pickuptype) flag.takedamage = DAMAGE_NO; flag.solid = SOLID_NOT; flag.angles = '0 0 0'; - flag.ctf_carrier = player; flag.ctf_status = FLAG_CARRY; switch(pickuptype) @@ -852,7 +851,6 @@ void ctf_RespawnFlag(entity flag) 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;