View Issue Details

IDProjectCategoryView StatusLast Update
0004304The Dark ModAIpublic21.04.2016 03:41
Reportergrayman Assigned Tograyman  
PrioritynormalSeveritynormalReproducibilitysometimes
Status resolvedResolutionfixed 
Product VersionTDM 2.04 
Target VersionTDM 2.04Fixed in VersionTDM 2.04 
Summary0004304: Frozen AI at start of Trapped!
DescriptionWhen breaking out of the cell at the start of Trapped!, a patrolling guard is hit by planks that were leaning against a wall. The player moved the planks while breaking out.

When the planks land on the floor and the guard stands on them, he's alerted because he thinks he was hit by a moveable put in play by an enemy (the player). When he's done reacting to being hit, he's supposed to begin searching. However, when he exits the reaction code, he immediately re-enters it because the plank he's standing on tells him it hit him. And on and on, pinning the guard in place.
Additional InformationEven though the plank is visibly still, it somehow retains some velocity. It's probably constantly settling on the floor and not getting quiet enough to be considered at rest. Since the guard is standing on it and moving every once in a while, he's transmitting some force to the plank, keeping it in motion.

The solution is possible to recognize that the collision force is mostly along the z-axis and is hitting the foot joint. (That's my first thought.) Forcing the plank to quiet down isn't enough, and neither is remembering that the guard was _just_ hit by the same plank is prolly not enough either.
TagsNo tags attached.

Activities

grayman

grayman

21.04.2016 03:41

viewer   ~0008108

The HitByMoveable code was looping.

Ignore moveables that hit an AI with a velocity less than 20.

Restart a search when the HitByMoveable code completes.

Change who put the moveable in play to the AI hit when the HitByMoveable code completes.

rev. 6583:

AI.cpp
HitByMoveable.cpp

Issue History

Date Modified Username Field Change
20.04.2016 00:59 grayman New Issue
20.04.2016 00:59 grayman Status new => assigned
20.04.2016 00:59 grayman Assigned To => grayman
21.04.2016 03:41 grayman Note Added: 0008108
21.04.2016 03:41 grayman Status assigned => resolved
21.04.2016 03:41 grayman Resolution open => fixed
21.04.2016 03:41 grayman Fixed in Version => TDM 2.04