SERVER: Hellhound pathfinding

This commit is contained in:
Steam Deck User 2023-01-13 12:29:08 -05:00
parent a088c5aa9d
commit 33de260a56

View file

@ -239,7 +239,7 @@ void(vector org, float scale) interpolateToVector =
float(vector where) nearby = float(vector where) nearby =
{ {
if(self.classname == "ai_zombie") if(self.classname == "ai_zombie" || self.classname == "ai_dog")
{ {
float xdist; float xdist;
float ydist; float ydist;
@ -257,20 +257,6 @@ float(vector where) nearby =
} }
return 0; return 0;
} }
/*else if(self.classname == "ai_hellhound")
{
if(vlen(self.origin - what.origin) < 35)
{
if(vlen(self.origin - what.origin) < 6)
{
return 1;
}
else
{
interpolateToVector(what.origin,0.25);
}
}
}*/
return 0; return 0;
}; };
@ -640,7 +626,7 @@ void(float dist) Inside_Walk = {
} }
//================Check for proximity to player =========== //================Check for proximity to player ===========
if(vlen(self.enemy.origin - self.origin) < 60) { if(vlen(self.enemy.origin - self.origin) < 60) {
if(self.enemy.classname == "monkey_bomb") { if(self.enemy.classname == "monkey_bomb" && self.classname != "ai_dog") {
self.th_idle(); self.th_idle();
} }
@ -709,7 +695,8 @@ void(float dist) Zombie_Walk = {
} else if (self.droptime < time) { } else if (self.droptime < time) {
self.droptime = 0; self.droptime = 0;
//bprint(PRINT_HIGH, "not on ground\n"); //bprint(PRINT_HIGH, "not on ground\n");
self.th_fall(); if (self.classname != "ai_dog")
self.th_fall();
return; return;
} }
} }
@ -758,6 +745,11 @@ void() Zombie_AI = {
} }
} }
void() Hellhound_AI =
{
Inside_Walk(0);
}
//This function ensures that only one zombie's ai is done at a time, brings down lag significantly //This function ensures that only one zombie's ai is done at a time, brings down lag significantly
void() Do_Zombie_AI = { void() Do_Zombie_AI = {
local entity z; local entity z;
@ -772,8 +764,10 @@ void() Do_Zombie_AI = {
local entity oself; local entity oself;
oself = self; oself = self;
self = z; self = z;
//if(z.classname == "ai_zombie")//removed because only zombies atm if(z.classname == "ai_zombie")
Zombie_AI(); Zombie_AI();
else if (z.classname == "ai_dog")
Hellhound_AI();
self = oself; self = oself;
lastzombie = z; lastzombie = z;
} }