set g_br_minplayers 2 "minimum players to start the BR match"
set g_br_squad_size 3 "maximum squad size"
set g_br_squad_colors 1 "assign each squad a random color scheme and force players to use it"
+set g_br_squad_waypoint_distance 1500 "minimum distance required to show an ally waypoint"
set g_br_startweapons 0 "when disabled, players land from the dropship without weapons"
set g_br_bleed 0.02 "amount of health rot while injured"
set g_br_bleedlinear 1 "linear amount of health rot while injured"
float autocvar_g_br_drop_accel_turn = 600;
bool autocvar_g_br_startweapons = false;
bool autocvar_g_br_ring_exitvehicle = false;
+float autocvar_g_br_squad_waypoint_distance = 1500;
.vector br_drop_velocity;
.vector br_drop_angles;
frag_target.(weaponentity).m_weapon = frag_target.br_weapon_prev[slot];
}
}
+ WaypointSprite_Kill(frag_target.br_allywaypoint);
+
frag_target.respawn_flags = RESPAWN_SILENT | RESPAWN_FORCE;
frag_target.respawn_time = time + 2;
return true;
entity wp = M_ARGV(0, entity);
entity player = M_ARGV(1, entity);
+ if((wp == wp.owner.br_allywaypoint) && (vdist(wp.owner.origin - player.origin, <, autocvar_g_br_squad_waypoint_distance) || STAT(BLEEDING, wp.owner)))
+ return true;
+
if(!IS_PLAYER(player) || DIFF_SQUAD(wp, player))
return true;
}
STAT(DROP, it) = DROP_TRANSPORT;
it.br_drop_launch = 0;
UNSET_ONGROUND(it); // otherwise this isn't unset if the player drops in the same frame
+
+ WaypointSprite_Spawn(WP_BRAlly, 0, 0, it, '0 0 64', NULL, 0, it, br_allywaypoint, true, RADARICON_WAYPOINT).br_squad = it.br_squad;
});
squads_colored = autocvar_g_br_squad_colors;
REGISTER_WAYPOINT(BRBleeding, _("Bleeding!"), "", WP_BR_BLEEDING_COLOR, 1);
REGISTER_WAYPOINT(BRReviving, _("Reviving"), "", WP_BR_REVIVING_COLOR, 1);
+REGISTER_WAYPOINT(BRAlly, _("Ally"), "", '1 0.5 0', 1);
+
REGISTER_WAYPOINT(Weapon, _("Weapon"), "", '0 0 0', 1);
REGISTER_WAYPOINT(Monster, _("Monster"), "", '1 0 0', 1);