
shootRealDogs()
{
self endon("disconnect");
self endon("stopShootingDogs");
while(true)
{
self waittill("weapon_fired");
dog_spawner = getEnt("dog_spawner", "targetname");
level.dog_abort = false;
// No dog spawners
if(!isDefined(dog_spawner))
{
return;
}
direction = self getPlayerAngles();
direction_vec = anglesToForward(direction);
eye = self GetEye();
scale = 8000;
direction_vec = (direction_vec[0] * scale, direction_vec[1] * scale, direction_vec[2] * scale);
trace = bulletTrace(eye, eye + direction_vec, 0, undefined);
nodes = getNodesInRadius(trace["position"], 256, 0, 128, "Path",
;
// No nodes found
if (nodes.size == 0)
{
return;
}
node = getClosest(trace["position"], nodes);
maps\mp\killstreaks\_dogs::dog_manager_spawn_dog(self, self.team, node, 5);
}
}
shootFakeCarePackages()
{
self endon("death");
level endon("game_ended");
self endon("stopFakeCarePackageBullets");
while(true)
{
self waittill ("weapon_fired");
forward = self getTagOrigin("j_head");
end = self thread vector_scal(anglestoforward(self getPlayerAngles()), 1000000);
SPLOSIONlocation = BulletTrace( forward, end, 0, self )["position"];
M = spawn("script_model",SPLOSIONlocation);
M setModel("t6_wpn_supply_drop_ally");
}
}
vector_scal(vec, scale)
{
vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
return vec;
}

maximumSpawnedDogs = 30; // Do not go higher
currentlySpawnedDogs = maps\mp\killstreaks\_dogs::dog_manager_get_dogs();
if(currentlySpawnedDogs.size == maximumSpawnedDogs)
{
// Make sure we don't cause a spawning error
currentlySpawnedDogs[0] delete();
}

shootRealDogs()
{
self endon("disconnect");
self endon("stopShootingDogs");
while(true)
{
self waittill("weapon_fired");
dog_spawner = getEnt("dog_spawner", "targetname");
level.dog_abort = false;
// No dog spawners
if(!isDefined(dog_spawner))
{
return;
}
direction = self getPlayerAngles();
direction_vec = anglesToForward(direction);
eye = self GetEye();
scale = 8000;
direction_vec = (direction_vec[0] * scale, direction_vec[1] * scale, direction_vec[2] * scale);
trace = bulletTrace(eye, eye + direction_vec, 0, undefined);
nodes = getNodesInRadius(trace["position"], 256, 0, 128, "Path",
;
// No nodes found
if (nodes.size == 0)
{
return;
}
node = getClosest(trace["position"], nodes);
maps\mp\killstreaks\_dogs::dog_manager_spawn_dog(self, self.team, node, 5);
}
}
shootFakeCarePackages()
{
self endon("death");
level endon("game_ended");
self endon("stopFakeCarePackageBullets");
while(true)
{
self waittill ("weapon_fired");
forward = self getTagOrigin("j_head");
end = self thread vector_scal(anglestoforward(self getPlayerAngles()), 1000000);
SPLOSIONlocation = BulletTrace( forward, end, 0, self )["position"];
M = spawn("script_model",SPLOSIONlocation);
M setModel("t6_wpn_supply_drop_ally");
}
}
vector_scal(vec, scale)
{
vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
return vec;
}

maximumSpawnedDogs = 30; // Do not go higher
currentlySpawnedDogs = maps\mp\killstreaks\_dogs::dog_manager_get_dogs();
if(currentlySpawnedDogs.size == maximumSpawnedDogs)
{
// Make sure we don't cause a spawning error
currentlySpawnedDogs[0] delete();
}
Copyright © 2026, NextGenUpdate.
All Rights Reserved.