View Issue Details

IDProjectCategoryView StatusLast Update
0003075The Dark ModAIpublic29.01.2021 17:05
ReporterSpringheel Assigned Tograyman  
PrioritynormalSeveritynormalReproducibilityhave not tried
Status resolvedResolutionfixed 
Product VersionTDM 1.08 
Target VersionTDM 1.08Fixed in VersionTDM 1.08 
Summary0003075: AI can enter combat while still kneeling
DescriptionI've seen a few cases recently where AI are attacked (either by player or other AI) while they're in the middle of kneeling to check on a dead body. The kneeling AI makes an attack while still kneeling, then tries to start the kneeling animation again, then makes another attack, etc.
TagsNo tags attached.

Relationships

related to 0005515 resolvedstgatilov Crash when CBloodMarker::spilledBy points to removed AI 

Activities

grayman

grayman

10.04.2012 18:22

viewer   ~0004453

Last edited: 10.04.2012 20:37

Several problems fixed:

1 – Using an arrow, kill an archer who has his bow drawn. The arrow, put in motion by the player, tells the archer that he was put in motion by the player. The motion is transferred to the bow, which is told that it was put in motion by the player. When the bow is dropped and subsequently contacted by a searching guard, the guard is told that the bow was put in motion by the player, and his alert level is set to agitated searching. Repeatedly walking back and forth across the bow causes the guard to be repeatedly put into agitated searching. He has to walk away from the dropped bow for quite some time before he can bring his alert level down. This is fixed by marking dropped attachments as having been put in motion by NULL.

2 – When deciding whether a new visual alert should kick off a new search, the distance between the previous search center and the new search center is checked against a minimum distance. However, the previous search center was never being set, and was always (0,0,0). This caused every new visual alert to start a new search unless the new search center was close to the map’s origin. Fixed by comparing two valid alert spots: the current and the new.

3 – A body, blood spilled by that body, and arrows stuck in that body could cause separate alerts. Fixed by combining these into a single alert.

4 – Once an AI found a dead body, he would ignore all blood from then on. This was by design, but changed to allow subsequent blood markers to be noticed.

5 – If two AI are performing Agitated Searches in the same area, one could suddenly have his alert level drop by roughly six points. Fixed.

6 – A body can get shifted around when a searching AI bumps into it. A second AI finding the body while the first is still searching, will bark to the first when the search is done, that a body was found. The first AI already knew that, but the code thought they’d found two different bodies because the body had moved before the second AI arrived. Fixed by allowing for body shifting.

7 – A dropped doused torch was eliciting a “that light’s out” comment from a passing AI. They shouldn’t comment about these. Fixed.

8 – And, finally, the reason we’re here: a kneeling AI that spots an enemy will enter combat mode, rise, then kneel down again, then rise and attack the enemy. Fixed by aborting the kneeling animation when entering combat mode.

rev. 5378:

CombatState.cpp
State.cpp
InvestigateSpotTask.cpp
AI.cpp
AI.h
AI_events.cpp
Memory.cpp
Memory.h
Anim_Blend.cpp
Physics_AF.cpp
Physics_RigidBody.cpp
AFEntity.cpp
BloodMarker.cpp
BloodMarker.h
AgitatedSearchingState.cpp
DeadState.cpp
SearchingState.cpp

Issue History

Date Modified Username Field Change
06.04.2012 18:41 Springheel New Issue
07.04.2012 22:11 grayman Assigned To => grayman
07.04.2012 22:11 grayman Status new => assigned
10.04.2012 18:22 grayman Note Added: 0004453
10.04.2012 18:22 grayman Status assigned => resolved
10.04.2012 18:22 grayman Resolution open => fixed
10.04.2012 18:22 grayman Fixed in Version => TDM 1.08
10.04.2012 18:22 grayman Target Version => TDM 1.08
10.04.2012 20:37 grayman Note Edited: 0004453
29.01.2021 17:05 stgatilov Relationship added related to 0005515