View Issue Details

IDProjectCategoryView StatusLast Update
0003548The Dark ModAIpublic07.09.2014 19:01
Reportergrayman Assigned Tograyman  
PrioritynormalSeveritynormalReproducibilityhave not tried
Status resolvedResolutionfixed 
Product VersionTDM 2.00 
Target VersionTDM 2.03Fixed in VersionTDM 2.03 
Summary0003548: Bumping an AI in a particular state has no effect
DescriptionWhen the Concerned Citizen in L&L is waiting by the locked gate between the Slums and the Commons, I bumped into him. He didn't respond. Since he was fleeing from me moments before, I expected him to turn around and run away, back toward his house.

Needs to be looked at.
TagsNo tags attached.

Activities

grayman

grayman

07.09.2014 19:01

viewer   ~0006957

Fixed several issues when an AI is fleeing.

1 – Let a fleeing AI see his enemy as an obstacle so he doesn’t run straight at him. (Non-fleeing AI need to run straight at enemies to do combat.)

2 – Remove the player as an obstacle when close to the AI, otherwise the code that searches for a place to flee to (when there are no escape points) holds the AI in place and won’t let him move. This is what was causing the problem in Lords & Legacy. (This might sound contradictory to 1, but the rules are used by different code.)

3 – When all the escape points are w/o “team” spawnargs, a fleeing AI wouldn’t use them. When there’s only one escape point, the “team” spawnarg was ignored, and the AI would run to the escape point. Expanded the rules for finding a place to flee to as follows:

  1 - If there's a guarded and friendly ('team' spawnarg is friendly to the AI) flee point, run there
  2 - If not, if there's a friendly flee point, run there.
  3 - If not, if there's a guarded and indifferent (no ‘team’ spawnarg) flee point, run there
  4 - If not, if there's an indifferent flee point, run there.
  5 - If not, pick a spot far away and run there.

4 – Teach fleeing AI how to use elevators when there are no escape points or more than one. (A map with only one escape point worked fine.)

5 – Don’t allow unarmed AI to respond to requests for help.

6 – Don’t flee to any location where there are armed hostile AI.

7 – Even though an AI’s travel flags were set at spawn time to include elevators (if they’re allowed to use elevators), the elevator flag was being cleared in the next frame when the AI is given his first point to go to. Corrected this.

Rev. 6097:

EAS.cpp
EAS.h
CombatState.cpp
FleeState.cpp
State.cpp
FleeTask.cpp
FleeTask.h
AAS.h
AAS_debug.cpp
AAS_local.h
AAS_pathing.cpp
AI.cpp
AI_pathing.cpp
tdmAASFindEscape.cpp
tdmAASFindEscape.h
EscapePointEvaluator.cpp
EscapePointEvaluator.h
EscapePointManager.cpp
EscapePointManager.h
Relations.cpp
Relations.h
SysCvar.cpp

Issue History

Date Modified Username Field Change
06.09.2013 17:21 grayman New Issue
06.09.2013 17:21 grayman Status new => assigned
06.09.2013 17:21 grayman Assigned To => grayman
07.09.2014 19:01 grayman Note Added: 0006957
07.09.2014 19:01 grayman Status assigned => resolved
07.09.2014 19:01 grayman Resolution open => fixed
07.09.2014 19:01 grayman Fixed in Version => TDM 2.03
07.09.2014 19:01 grayman Target Version => TDM 2.03