Teamwork
Coherency, the first two minutes of callouts, and what to say when a pug has not learned each other yet.
In Havoc, the team that stays together survives, and it is not only a feeling. The director’s code actively punishes splitting up.
The director hunts the player who is alone
- Loner prevention. A player out of coherency for 6-10 seconds at Havoc R5 gets a hound, mutant or trapper sent at them, on top of the normal specials.
- Rush prevention. The player at the front or the back who is 40 m (R5) or 35 m (R6) from the next player gets a hound or mutant.
- Hounds pick lonely targets. Their target choice puts a weight of 5 on being far from your team.
- Sandwich and push-from-behind strikes check for low coherency before they fire.
Loner preventionmanagers/pacing/specials_pacing/specials_pacing.lua:1401
SpecialsPacing._update_loner_prevention = function (self, target_side_id, template, t)
local loner_prevention_breeds = template.loner_prevention_breeds
if not loner_prevention_breeds or t < self._loner_prevention_cooldown then
return
end
if self._num_spawned_specials >= self._effective_max_alive_specials then
return
end
local side_system = Managers.state.extension:system("side_system")
local side = side_system:get_side(target_side_id)
local target_units = side.valid_player_units
local num_target_units = #target_units
local num_non_disabled_players = 0
table.clear(ALONE_TARGETS)
for i = 1, num_target_units do
local player_unit = target_units[i]
local unit_data_extension = ScriptUnit.extension(player_unit, "unit_data_system")
local character_state_component = unit_data_extension:read_component("character_state")
local requires_help = PlayerUnitStatus.requires_help(character_state_component)
if not requires_help then
num_non_disabled_players = num_non_disabled_players + 1
end
local coherency_extension = ScriptUnit.has_extension(player_unit, "coherency_system")
local num_units_in_coherency = coherency_extension and coherency_extension:num_units_in_coherency()
if num_units_in_coherency == 1 then
ALONE_TARGETS[#ALONE_TARGETS + 1] = player_unitOpen managers/pacing/specials_pacing/specials_pacing.lua at line 1401 on GitHubHounds prefer players outside coherencysettings/minion_target_selection/minion_target_selection_weights.lua:26
minion_target_selection_weights.chaos_hound = {
disabled = -5,
distance_to_target = 3,
inverse_coherency_weight = 5,
max_distance = 50,
occupied_slots = -1,
threat_multiplier = 1.5,
}
minion_target_selection_weights.chaos_newly_infected = {
disabled = -1,Open settings/minion_target_selection/minion_target_selection_weights.lua at line 26 on GitHubCoherency is 8 metres
Coherency links players within 8 m. It gives toughness regeneration and powers a lot of talents, and once a link is made it holds a little further while you move. 8 m is closer than most people think: about two doorways’ width, or the length of a corridor bend.
Coherency radiussettings/player_character/player_character_constants.lua:891
radius = 8,
stickiness_limit = 20,
stickiness_time = 2,
buff_template_names = {
"coherency_toughness_regen",
},Open settings/player_character/player_character_constants.lua at line 891 on GitHubRule of thumb: if you cannot see the Ogryn’s back, you are too far away.
The first two minutes in a pug
Strangers do not know each other’s habits yet, so say everything out loud in the first stretch. The team stops needing it once people have seen each other play.
- Roles in the lobby. “I’ll tank and taunt.” “Hordes and back, dome for objectives.” “Gunners, armour, shout.” “Book and flamer.” One line each.
- Ability plan. “Shout on cooldown, taunt when someone is under pressure, dome for objectives and moves, book for the oh-no moment.” Saying it once means nobody burns the book or dome by accident.
- First horde. Someone calls where the team holds. Everyone else confirms by moving there.
- First special. Tag it and say what it is and where: “Trapper, left balcony.” Tagging is not enough, because a tag does not say who is shooting it.
- First down. Say who is picking up (“I’ve got him”) so two people do not run in, or none.
What to call, in priority order
- Disablers: trappers, hounds, mutants. They end runs.
- Ranged elites: snipers, gunners, plasma gunners. They shred toughness from far away.
- Bombers and flamers. They break a hold position.
- Monsters and captains. Usually visible anyway, but say where you are fighting them.
- Ammo, health, ults. “Ammo low”, “Med here”, “Book ready”.
Revives
- Disabled before downed. A netted or pounced teammate is still alive. Free them first.
- Clear, then pick up. Reviving in the middle of a ring gets two players down. Taunt or shout first.
- Last special again. If the specials are almost dead, consider letting the last one live for a moment while you stabilise. At rank 30+, killing it has a 50% chance to start a coordinated strike.