View Issue Details

IDProjectCategoryView StatusLast Update
0003280The Dark ModAIpublic29.03.2013 02:43
ReporterSpringheel Assigned Tograyman  
PrioritynormalSeveritymajorReproducibilityhave not tried
Status resolvedResolutionfixed 
Product VersionTDM 1.08 
Target VersionTDM 2.00Fixed in VersionTDM 2.00 
Summary0003280: AI Used to take cover from player; no longer working
DescriptionIt doesn't appear that this behaviour is working anymore (and hasn't for a while):

"We do have taking cover behaviour in our AIs, which I originally implemented and greebo has ported to his new AI framework. They just find somewhere to stand (using the AAS system) that is occluded from the player, and run there. Then they wait for a while and run back to where they were before, find the player, and attack him. Repeat while AI wants to take cover."

http://forums.thedarkmod.com/topic/14426-ai-used-to-take-coverdid-it-break/page__pid__303022#entry303022
TagsNo tags attached.

Activities

grayman

grayman

28.03.2013 20:58

administrator  

bug3280.map (29,094 bytes)   
Version 2
// entity 0
{
"classname" "worldspawn"
"editor_drLastCameraPos" "77.477 252.252 193.99"
"editor_drLastCameraAngle" "-31.8 344.4 0"
// primitive 0
{
brushDef3
{
( 0 0 1 -264 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 0 1 0 -320 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 0.03125 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 1 0 0 -576 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 0.03125 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 0 -1 0 0 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 0.03125 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( -1 0 0 0 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 0.03125 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 0 0 -1 256 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
}
}
// primitive 1
{
brushDef3
{
( 0 0 1 -256 ) ( ( 0.00390625 0 255.96875 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 0 1 0 -328 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 1 0 0 -576 ) ( ( 0.00390625 0 255.96875 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 0 0 -1 0 ) ( ( 0.00390625 0 255.96875 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( -1 0 0 0 ) ( ( 0.00390625 0 0.03125 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 0 -1 0 320 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
}
}
// primitive 2
{
brushDef3
{
( 0 0 1 -256 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 254.96875 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 0 1 0 -320 ) ( ( 0.00390625 0 1.03125 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 1 0 0 -584 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 0 0 -1 0 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 1.03125 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 0 -1 0 0 ) ( ( 0.00390625 0 254.96875 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( -1 0 0 576 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
}
}
// primitive 3
{
brushDef3
{
( 0 1 0 -320 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 255.96875 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 1 0 0 -576 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 255.96875 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 0 0 -1 -8 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 0 -1 0 0 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 255.96875 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( -1 0 0 0 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 255.96875 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 0 0 1 0 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
}
}
// primitive 4
{
brushDef3
{
( 0 0 1 -256 ) ( ( 0.00390625 0 0.03125 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 1 0 0 -576 ) ( ( 0.00390625 0 0.03125 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 0 0 -1 0 ) ( ( 0.00390625 0 0.03125 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 0 -1 0 -8 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( -1 0 0 0 ) ( ( 0.00390625 0 255.96875 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 0 1 0 0 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
}
}
// primitive 5
{
brushDef3
{
( 0 0 1 -256 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 0.03125 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 0 1 0 -320 ) ( ( 0.00390625 0 255.96875 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 0 0 -1 0 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 255.96875 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 0 -1 0 0 ) ( ( 0.00390625 0 0.03125 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( -1 0 0 -8 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 1 0 0 0 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
}
}
// primitive 6
{
brushDef3
{
( 0 0 1 -472 ) ( ( 0.0625 0 12.15625 ) ( 0 0.0625 12.4375 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 -884 ) ( ( 0.0625 0 51.5625 ) ( 0 0.0625 25.28125 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -878 ) ( ( 0.0625 0 12.15625 ) ( 0 0.0625 25.28125 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 564 ) ( ( 0.0625 0 12.4375 ) ( 0 0.0625 25.28125 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 750 ) ( ( 0.0625 0 51.84375 ) ( 0 0.0625 25.28125 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 464 ) ( ( 0.0625 0 12.15625 ) ( 0 0.0625 50.5625 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 7
{
brushDef3
{
( 0 0 1 -464 ) ( ( 0.0625 0 12.15625 ) ( 0 0.0625 12.4375 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 -892 ) ( ( 0.0625 0 51.5625 ) ( 0 0.0625 24.78125 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -878 ) ( ( 0.0625 0 12.15625 ) ( 0 0.0625 24.78125 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 336 ) ( ( 0.0625 0 12.15625 ) ( 0 0.0625 51.5625 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 750 ) ( ( 0.0625 0 51.84375 ) ( 0 0.0625 24.78125 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 884 ) ( ( 0.0625 0 13.4375 ) ( 0 0.0625 24.78125 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 8
{
brushDef3
{
( 0 1 0 -884 ) ( ( 0.0625 0 51.5625 ) ( 0 0.0625 24.28125 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -878 ) ( ( 0.0625 0 12.15625 ) ( 0 0.0625 24.28125 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 328 ) ( ( 0.0625 0 12.15625 ) ( 0 0.0625 51.5625 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 564 ) ( ( 0.0625 0 11.9375 ) ( 0 0.0625 24.28125 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 750 ) ( ( 0.0625 0 51.84375 ) ( 0 0.0625 24.28125 ) ) "textures/common/caulk" 0 0 0
( 0 0 1 -336 ) ( ( 0.0625 0 12.15625 ) ( 0 0.0625 13.4375 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 9
{
brushDef3
{
( 0 0 1 -464 ) ( ( 0.0625 0 89.28125 ) ( 0 0.0625 12.625 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -878 ) ( ( 0.0625 0 89.28125 ) ( 0 0.0625 24.78125 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 336 ) ( ( 0.0625 0 89.28125 ) ( 0 0.0625 51.375 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 556 ) ( ( 0.0625 0 12.625 ) ( 0 0.0625 24.78125 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 750 ) ( ( 0.0625 0 102.71875 ) ( 0 0.0625 24.78125 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 -564 ) ( ( 0.0625 0 50.375 ) ( 0 0.0625 24.78125 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 10
{
brushDef3
{
( 0 0 1 -464 ) ( ( 0.0625 0 12.75 ) ( 0 0.0625 13.125 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 -884 ) ( ( 0.0625 0 50.875 ) ( 0 0.0625 24.78125 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 336 ) ( ( 0.0625 0 12.75 ) ( 0 0.0625 50.875 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 564 ) ( ( 0.0625 0 13.125 ) ( 0 0.0625 24.78125 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 742 ) ( ( 0.0625 0 51.25 ) ( 0 0.0625 24.78125 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -750 ) ( ( 0.0625 0 12.75 ) ( 0 0.0625 24.78125 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 11
{
brushDef3
{
( 0 0 1 -464 ) ( ( 0.0625 0 12.75 ) ( 0 0.0625 4.625 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 -884 ) ( ( 0.0625 0 59.375 ) ( 0 0.0625 24.78125 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 336 ) ( ( 0.0625 0 12.75 ) ( 0 0.0625 59.375 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 564 ) ( ( 0.0625 0 4.625 ) ( 0 0.0625 24.78125 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 878 ) ( ( 0.0625 0 51.25 ) ( 0 0.0625 24.78125 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -886 ) ( ( 0.0625 0 12.75 ) ( 0 0.0625 24.78125 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 12
{
brushDef3
{
( 0 0 1 -464 ) ( ( 0.0625 0 81.65625 ) ( 0 0.0625 12.4375 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 -804 ) ( ( 0.0625 0 51.5625 ) ( 0 0.0625 24.78125 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -878 ) ( ( 0.0625 0 81.65625 ) ( 0 0.0625 24.78125 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 336 ) ( ( 0.0625 0 81.65625 ) ( 0 0.0625 51.5625 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 750 ) ( ( 0.0625 0 110.34375 ) ( 0 0.0625 24.78125 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 796 ) ( ( 0.0625 0 13.4375 ) ( 0 0.0625 24.78125 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 13
{
brushDef3
{
( 0 0 1 -464 ) ( ( 0.0625 0 84.15625 ) ( 0 0.0625 12.4375 ) ) "textures/common/caulk" 0 0 0
( 0 1 0 -764 ) ( ( 0.0625 0 51.5625 ) ( 0 0.0625 24.78125 ) ) "textures/common/caulk" 0 0 0
( 1 0 0 -878 ) ( ( 0.0625 0 84.15625 ) ( 0 0.0625 24.78125 ) ) "textures/common/caulk" 0 0 0
( 0 0 -1 336 ) ( ( 0.0625 0 84.15625 ) ( 0 0.0625 51.5625 ) ) "textures/common/caulk" 0 0 0
( -1 0 0 750 ) ( ( 0.0625 0 107.84375 ) ( 0 0.0625 24.78125 ) ) "textures/common/caulk" 0 0 0
( 0 -1 0 756 ) ( ( 0.0625 0 13.4375 ) ( 0 0.0625 24.78125 ) ) "textures/common/caulk" 0 0 0
}
}
// primitive 14
{
brushDef3
{
( 0 1 0 -320 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 0.34375 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 1 0 0 -128 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 0.28125 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 0 0 -1 88 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 0 -1 0 0 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 0.34375 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( -1 0 0 0 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 0.34375 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 0 0 1 -96 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 1.5 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
}
}
// primitive 15
{
brushDef3
{
( 0 0 1 -256 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 255.71875 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 0 1 0 -96 ) ( ( 0.00390625 0 0.28125 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 1 0 0 -392 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 0 0 -1 0 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 0.28125 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 0 -1 0 0 ) ( ( 0.00390625 0 255.71875 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( -1 0 0 384 ) ( ( 0.00390625 0 0 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
}
}
// primitive 16
{
brushDef3
{
( 0 0 1 -256 ) ( ( 0.0078125 0 1.5 ) ( 0 0.0078125 0.546875 ) ) "textures/common/monster_clip" 0 0 0
( 0 1 0 -100 ) ( ( 0.0078125 0 127.4375 ) ( 0 0.0078125 0 ) ) "textures/common/monster_clip" 0 0 0
( 1 0 0 -396 ) ( ( 0.0078125 0 1.5078125 ) ( 0 0.0078125 0 ) ) "textures/common/monster_clip" 0 0 0
( 0 0 -1 0 ) ( ( 0.0078125 0 1.5 ) ( 0 0.0078125 127.46875 ) ) "textures/common/monster_clip" 0 0 0
( 0 -1 0 0 ) ( ( 0.0078125 0 0.53125 ) ( 0 0.0078125 0 ) ) "textures/common/monster_clip" 0 0 0
( -1 0 0 380 ) ( ( 0.0078125 0 126.5 ) ( 0 0.0078125 0 ) ) "textures/common/monster_clip" 0 0 0
}
}
// primitive 17
{
brushDef3
{
( 0 0 1 -256 ) ( ( 0.00390625 0 255.125 ) ( 0 0.00390625 255.46875 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 0 1 0 -320 ) ( ( 0.00390625 0 0.53125 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 1 0 0 -456 ) ( ( 0.00390625 0 255.125 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 0 0 -1 0 ) ( ( 0.00390625 0 255.125 ) ( 0 0.00390625 0.53125 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( 0 -1 0 224 ) ( ( 0.00390625 0 255.46875 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
( -1 0 0 448 ) ( ( 0.00390625 0 0.875 ) ( 0 0.00390625 0 ) ) "textures/darkmod/wood/boards/old_small_grainy" 0 0 0
}
}
// primitive 18
{
brushDef3
{
( 0 0 1 -256 ) ( ( 0.0078125 0 127.78125 ) ( 0 0.0078125 0.046875 ) ) "textures/common/monster_clip" 0 0 0
( 0 1 0 -320 ) ( ( 0.0078125 0 127.9375 ) ( 0 0.0078125 0 ) ) "textures/common/monster_clip" 0 0 0
( 1 0 0 -460 ) ( ( 0.0078125 0 127.7890625 ) ( 0 0.0078125 0 ) ) "textures/common/monster_clip" 0 0 0
( 0 0 -1 0 ) ( ( 0.0078125 0 127.78125 ) ( 0 0.0078125 127.96875 ) ) "textures/common/monster_clip" 0 0 0
( 0 -1 0 220 ) ( ( 0.0078125 0 0.03125 ) ( 0 0.0078125 0 ) ) "textures/common/monster_clip" 0 0 0
( -1 0 0 444 ) ( ( 0.0078125 0 0.21875 ) ( 0 0.0078125 0 ) ) "textures/common/monster_clip" 0 0 0
}
}
}
// entity 1
{
"classname" "info_player_start"
"name" "info_player_start_1"
"origin" "64 160 104"
"angle" "1"
}
// entity 2
{
"classname" "light"
"name" "ambient_world"
"_color" "0.06 0.06 0.06"
"light_center" "0 0 0"
"light_radius" "7777 7777 7777"
"nodiffuse" "0"
"noshadows" "0"
"nospecular" "0"
"origin" "847 865.5 429.5"
"parallel" "0"
"texture" "lights/ambientlightnfo"
}
// entity 3
{
"classname" "atdm:playertools_compass"
"name" "CompassEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"origin" "759 845.5 444.5"
}
// entity 4
{
"classname" "atdm:playertools_lantern"
"name" "LanternEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"origin" "771 845.5 444.5"
}
// entity 5
{
"classname" "atdm:playertools_spyglass"
"name" "SpyglassEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"origin" "781 845.5 444.5"
}
// entity 6
{
"classname" "atdm:playertools_health_potion"
"name" "HealthPotionsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"origin" "797 845.5 419.5"
}
// entity 7
{
"classname" "atdm:weapon_shortsword"
"name" "SwordEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "869 747.5 395.5"
"rotation" "0 1 0 -1 0 0 0 0 1"
}
// entity 8
{
"classname" "atdm:weapon_blackjack"
"name" "BlackjackEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "820.625 746.75 395.5"
}
// entity 9
{
"classname" "atdm:playertools_breath_potion"
"name" "BreathPotionsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"origin" "809 845.5 419.5"
}
// entity 10
{
"classname" "atdm:playertools_flashbomb"
"name" "FlashbombsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"origin" "761 747.5 419.5"
}
// entity 11
{
"classname" "atdm:ammo_broadhead"
"name" "BroadheadsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "758 668 376"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 12
{
"classname" "atdm:ammo_broadhead"
"name" "BroadheadsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "758 620 376"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 13
{
"classname" "atdm:ammo_broadhead"
"name" "BroadheadsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "758 572 376"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 14
{
"classname" "atdm:ammo_firearrow"
"name" "FireArrowsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "774 668 376"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 15
{
"classname" "atdm:ammo_firearrow"
"name" "FireArrowsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "774 620 376"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 16
{
"classname" "atdm:ammo_firearrow"
"name" "FireArrowsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "774 572 376"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 17
{
"classname" "atdm:ammo_gasarrow"
"name" "GasArrowsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "790 668 376"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 18
{
"classname" "atdm:ammo_gasarrow"
"name" "GasArrowsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "790 620 376"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 19
{
"classname" "atdm:ammo_gasarrow"
"name" "GasArrowsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "790 572 376"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 20
{
"classname" "atdm:ammo_mossarrow"
"name" "MossArrowsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "806 668 376"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 21
{
"classname" "atdm:ammo_mossarrow"
"name" "MossArrowsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "806 572 376"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 22
{
"classname" "atdm:ammo_mossarrow"
"name" "MossArrowsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "806 620 376"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 23
{
"classname" "atdm:ammo_noisemaker"
"name" "NoiseArrowsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "822 668 376"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 24
{
"classname" "atdm:ammo_noisemaker"
"name" "NoiseArrowsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "822 620 376"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 25
{
"classname" "atdm:ammo_noisemaker"
"name" "NoiseArrowsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "822 572 376"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 26
{
"classname" "atdm:ammo_ropearrow"
"name" "RopeArrowsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "838 668 376"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 27
{
"classname" "atdm:ammo_ropearrow"
"name" "RopeArrowsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "838 620 376"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 28
{
"classname" "atdm:ammo_ropearrow"
"name" "RopeArrowsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "838 572 376"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 29
{
"classname" "atdm:ammo_waterarrow"
"name" "WaterArrowsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "870 668 376"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 30
{
"classname" "atdm:ammo_waterarrow"
"name" "WaterArrowsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "870 620 376"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 31
{
"classname" "atdm:ammo_waterarrow"
"name" "WaterArrowsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "870 572 376"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 32
{
"classname" "atdm:weapon_blackjack"
"name" "BlackjackHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "820.625 730.75 395.5"
}
// entity 33
{
"classname" "atdm:weapon_blackjack"
"name" "BlackjackExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "820.625 714.75 395.5"
}
// entity 34
{
"classname" "atdm:weapon_shortsword"
"name" "SwordHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "869 731.5 395.5"
"rotation" "0 1 0 -1 0 0 0 0 1"
}
// entity 35
{
"classname" "atdm:weapon_shortsword"
"name" "SwordExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "869 715.5 395.5"
"rotation" "0 1 0 -1 0 0 0 0 1"
}
// entity 36
{
"classname" "atdm:playertools_compass"
"name" "CompassHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"origin" "759 829.5 444.5"
}
// entity 37
{
"classname" "atdm:playertools_compass"
"name" "CompassExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_map_start" "1"
"origin" "759 813.5 444.5"
}
// entity 38
{
"classname" "atdm:playertools_lantern"
"name" "LanternHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"origin" "771 829.5 444.5"
}
// entity 39
{
"classname" "atdm:playertools_lantern"
"name" "LanternExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_map_start" "1"
"origin" "771 813.5 444.5"
}
// entity 40
{
"classname" "atdm:playertools_spyglass"
"name" "SpyglassHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"origin" "781 829.5 444.5"
}
// entity 41
{
"classname" "atdm:playertools_spyglass"
"name" "SpyglassExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_map_start" "1"
"origin" "781 813.5 444.5"
}
// entity 42
{
"classname" "atdm:playertools_flashbomb"
"name" "FlashbombsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"origin" "761 731.5 419.5"
}
// entity 43
{
"classname" "atdm:playertools_flashbomb"
"name" "FlashbombsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_count" "10"
"inv_map_start" "1"
"origin" "761 715.5 419.5"
}
// entity 44
{
"classname" "atdm:playertools_health_potion"
"name" "HealthPotionsHard"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"origin" "797 829.5 419.5"
}
// entity 45
{
"classname" "atdm:playertools_health_potion"
"name" "HealthPotionsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_count" "10"
"inv_map_start" "1"
"origin" "797 813.5 419.5"
}
// entity 46
{
"classname" "atdm:playertools_breath_potion"
"name" "BreathPotionsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"origin" "809 829.5 419.5"
}
// entity 47
{
"classname" "atdm:playertools_breath_potion"
"name" "BreathPotionsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_count" "10"
"inv_map_start" "1"
"origin" "809 813.5 419.5"
}
// entity 48
{
"classname" "atdm:playertools_lockpick_snake"
"name" "LockpickSnakeEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"origin" "852 846 416"
"rotation" "0.707107 0.707107 0 -0.707107 0.707107 0 0 0 1"
}
// entity 49
{
"classname" "atdm:playertools_lockpick_triangle"
"name" "LockpickTriangleEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"origin" "868 846 416"
"rotation" "0.707107 0.707107 0 -0.707107 0.707107 0 0 0 1"
}
// entity 50
{
"classname" "atdm:playertools_mine"
"name" "MinesEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"origin" "792 748 416"
}
// entity 51
{
"classname" "atdm:playertools_holywater"
"name" "HolyWatersEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"origin" "808 748 416"
}
// entity 52
{
"classname" "atdm:playertools_flashmine"
"name" "FlashminesEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"origin" "776 748 416"
}
// entity 53
{
"classname" "atdm:playertools_lockpick_snake"
"name" "LockpickSnakeHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"origin" "852 830 416"
"rotation" "0.707107 0.707107 0 -0.707107 0.707107 0 0 0 1"
}
// entity 54
{
"classname" "atdm:playertools_lockpick_snake"
"name" "LockpickSnakeExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_map_start" "1"
"origin" "852 814 416"
"rotation" "0.707107 0.707107 0 -0.707107 0.707107 0 0 0 1"
}
// entity 55
{
"classname" "atdm:playertools_lockpick_triangle"
"name" "LockpickTriangleHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_map_start" "1"
"origin" "868 830 416"
"rotation" "0.707107 0.707107 0 -0.707107 0.707107 0 0 0 1"
}
// entity 56
{
"classname" "atdm:playertools_lockpick_triangle"
"name" "LockpickTriangleExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_map_start" "1"
"origin" "868 814 416"
"rotation" "0.707107 0.707107 0 -0.707107 0.707107 0 0 0 1"
}
// entity 57
{
"classname" "atdm:playertools_flashmine"
"name" "FlashminesHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"origin" "776 732 416"
}
// entity 58
{
"classname" "atdm:playertools_flashmine"
"name" "FlashminesExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_count" "10"
"inv_map_start" "1"
"origin" "776 716 416"
}
// entity 59
{
"classname" "atdm:playertools_mine"
"name" "MinesHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"origin" "792 732 416"
}
// entity 60
{
"classname" "atdm:playertools_mine"
"name" "MinesExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_count" "10"
"inv_map_start" "1"
"origin" "792 716 416"
}
// entity 61
{
"classname" "atdm:playertools_holywater"
"name" "HolyWatersHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_count" "10"
"inv_map_start" "1"
"origin" "808 732 416"
}
// entity 62
{
"classname" "atdm:playertools_holywater"
"name" "HolyWatersExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_count" "10"
"inv_map_start" "1"
"origin" "808 716 416"
}
// entity 63
{
"classname" "atdm:ammo_vinearrow"
"name" "VineArrowsEasy"
"diff_0_nospawn" "0"
"diff_1_nospawn" "1"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "854 668 376"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 64
{
"classname" "atdm:ammo_vinearrow"
"name" "VineArrowsHard"
"diff_0_nospawn" "1"
"diff_1_nospawn" "0"
"diff_2_nospawn" "1"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "854 620 376"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 65
{
"classname" "atdm:ammo_vinearrow"
"name" "VineArrowsExpert"
"diff_0_nospawn" "1"
"diff_1_nospawn" "1"
"diff_2_nospawn" "0"
"inv_ammo_amount" "30"
"inv_map_start" "1"
"inv_no_pickup_message" "1"
"origin" "854 572 376"
"rotation" "1 0 0 0 0 1 0 -1 0"
}
// entity 66
{
"classname" "light"
"name" "light_1"
"origin" "284 172 210"
"light_center" "0 0 0"
"light_radius" "320 320 320"
"_color" "0.50 0.50 0.50"
"nodiffuse" "0"
"noshadows" "0"
"nospecular" "0"
"parallel" "0"
}
// entity 67
{
"classname" "atdm:ai_builder_guard"
"name" "atdm_ai_builder_guard_1"
"origin" "292.039 212.059 4"
"rotation" "-1 0 0 0 -1 0 0 0 1"
}
bug3280.map (29,094 bytes)   
grayman

grayman

28.03.2013 21:03

administrator   ~0005256

I created and attached a test map.

The feature works at its most basic level. The Builder will stay out in the open and throw rocks as long as I don't bring up the bow. As soon as I do that, he runs around a bit, decides to throw another rock at me, then disappears behind the wall on the right.

He stays there for a while, then comes out and we start all over again.

So "take cover" is still working, but it could use some tweaking.

Perhaps you weren't seeing the behavior because you didn't have a bow out, or there were no suitable hiding places nearby. Also, I corrected a problem a couple weeks ago in code that was being used by the Take Cover feature. IIRC, it was doing the wrong thing when it was supposed to be testing for occlusion, and it would have resulted in fewer hiding spots. Perhaps the feature is working better because of that fix.

The running around behavior bothers me, so I'll be looking at that.
grayman

grayman

29.03.2013 02:43

administrator   ~0005262

A spot was being chosen as a good hiding spot if the player’s feet couldn’t see the AI’s eyes or feet. This doesn’t work if the player is standing above the AI, which is the usual “unreachable target” state. Every check from the player’s feet hit the floor the player was standing on, so any spot the AI chose to go to was “hidden”. Which means he probably just stayed where he was, or ran around to another “good” spot where the player could still see him.

Since the player doesn’t see with his feet, I changed the checks to be eye->eye and eye->feet and now it works. The AI scampers out of sight.

rev. 5729:

UnreachableTargetState.cpp
MoveToCoverTask.cpp
AI.cpp
AI_events.cpp

Issue History

Date Modified Username Field Change
10.01.2013 02:11 Springheel New Issue
20.01.2013 12:58 Springheel Severity normal => major
28.03.2013 13:29 grayman Assigned To => grayman
28.03.2013 13:29 grayman Status new => assigned
28.03.2013 20:58 grayman File Added: bug3280.map
28.03.2013 21:03 grayman Note Added: 0005256
29.03.2013 02:43 grayman Note Added: 0005262
29.03.2013 02:43 grayman Status assigned => resolved
29.03.2013 02:43 grayman Resolution open => fixed
29.03.2013 02:43 grayman Fixed in Version => TDM 2.00
29.03.2013 02:43 grayman Target Version => TDM 2.00