schroe2a / DotaSource2

My fork of... The 2013 edition of the Source SDK
Other
7 stars 1 forks source link

Improve some creep pathing issues #19

Closed schroe2a closed 11 years ago

schroe2a commented 11 years ago

If current waypoint (assault point) is farther away then the one after, skip ahead. Debris getting in the way, Towers get in the way, Can players push creeps out of the way?

NRacer commented 11 years ago

With the current process, physics objects (like carts, barrels, etc), block AI pathing. This causes the creep to try to find an alternate route.

There are two possible solutions: 1) Use a logic_navigation entity and specify an entity name (not class) which tells the AI to ignore all entities with that name. The caveat is that ALL physics objects in the map have to be updated to have that name. I verified this works for a couple items, but don't really want to do it for all of them.

2) Bypass logic_navigation and just set all physics objects to be ignored via entity->SetNavIgnore(). I've verified this works, but am trying to find the best way to determine which physics objects to disable. So far, my only options are to a) ignore them all, or b) to hard-code a short list (by model name). I'm hoping to find the ideal c) flag(s) to check for (originally specified in the prop_data of the physics model.

P.S. We need to make sure that all "skill-summoned" physics objects are also set to be nav-ignored.

NRacer commented 11 years ago

I used the same fix to get the creeps to ignore antlions. This basically makes them "walk over" the antlions. This may damage/kill the antlion but this isn't a big deal.

I tried to get the antlions to burrow/unburrow, as this makes more sense. However, this caused problems like antlions disappearing and never spawning back.

Note: Still need to address antlion guards (the big ones) from blocking creeps. I am going to address that in a separate bug.