View Issue Details

IDProjectCategoryView StatusLast Update
0002654The Dark ModAIpublic27.10.2011 05:17
Reportersotha_sil Assigned Tograyman  
PrioritynormalSeveritynormalReproducibilityalways
Status closedResolutionfixed 
PlatformWin32OSWindowsOS VersionXP
Product VersionTDM 1.03 
Target VersionTDM 1.05Fixed in VersionTDM 1.05 
Summary0002654: Map start triggered cutscenes kill floating AI's
DescriptionNormally when a map is started, slightly floating AI's fall to the ground unharmed.

If the mapper creates a cutscene, which is started by the worldspawn targetting the script call entity, the AI's that are not placed PRECISELY to the ground will be killed. AI's placed accurately on the ground will survive. AI's that float only a few units above the ground level will die.

My guess (just a mapper here) is that floating AI's are 'falling' the whole time during the cutscene. When the cutscene ends, the AI hits the ground, receives huge amount of damage and dies.

Do note that if cinematic 1 property is given to the floating AI's, they will survive as they fall down normally during the cutscene.
Steps To ReproduceCreate a script call entity. Target the entity from the worldspawn.
Make a script that does normal cutscene things (camera views), with long enough delay (10s for example).
Place a floating AI. Place another AI precisely on the ground. Floating AI will die just after the cutscene.
TagsNo tags attached.

Activities

grayman

grayman

07.03.2011 02:57

viewer   ~0003712

Confirmed with a test map.

The assumption that velocity is accrued by a non-cinematic AI is correct. By the time the non-cinematic AI begins to think, the code thinks he's fallen from a great height, enough to kill him when he hits the floor.
grayman

grayman

07.03.2011 20:53

viewer   ~0003722

AIs not involved in a map-start cinematic suffered falling damage when finally allowed to think. Incrementing a non-cinematic AI’s m_lastThinkTime during a cinematic (even though the AI isn’t thinking) eliminates the falling damage.

Also changed the way interleaved thinkers start up. They’re allowed to think each frame for the first few frames to settle them down and get their tasks started. After that, interleaved thinking kicks in for them. The single-frame thinking was being keyed off the frame number, assuming this type of settling occurred in framenumbers 0->10. For non-cinematic AI that start thinking when the frame number has already advanced considerably, we can no longer key off the frame number. Created a new counter so an AI gets these single think frames he needs independent of the frame number.

rev 4662:

ai.cpp
ai.h
game_local.cpp

Issue History

Date Modified Username Field Change
24.02.2011 20:41 sotha_sil New Issue
07.03.2011 01:36 grayman Assigned To => grayman
07.03.2011 01:36 grayman Status new => assigned
07.03.2011 02:57 grayman Note Added: 0003712
07.03.2011 02:57 grayman Status assigned => confirmed
07.03.2011 20:53 grayman Note Added: 0003722
07.03.2011 20:53 grayman Status confirmed => resolved
07.03.2011 20:53 grayman Resolution open => fixed
07.03.2011 20:53 grayman Fixed in Version => TDM 1.05
07.03.2011 20:53 grayman Target Version => TDM 1.05
27.10.2011 05:17 greebo Status resolved => closed