
APT.all-test.MOUTBot.execute-mission.defend.determine-threat-door.soar Maven / Gradle / Ivy
echo "\nLoading defend/determine-threat-door"
## Threats one room away are always threat doors
sp {defend*propose*determine-threat-door*next-to-threat
(state ^name << retreat defend sentry-watch >>
^objective.defensive-position.area-achieved true
^top-state )
( ^map.current-area
^threats.controlled-area )
( ^path
-^threat-door.node )
( ^destination-area
^distance 1
^via-node )
-->
# (write (crlf) |Determine Threat-door: | |, path: | |, threat-area: | | current-area: | |, distance: 1|)
( ^operator +, >, = 90)
( ^name determine-threat-door
^path )
}
## REW: 2003-04-30
# bugfix from JEL
sp {defend*propose*determine-threat-door
(state ^name << retreat defend sentry-watch >>
^objective.defensive-position.area-achieved true
^top-state )
( ^map.current-area
^threats.controlled-area )
( ^path
-^threat-door.node )
( ^destination-area
^distance
^via-node )
-->
# (write (crlf) |Determine Threat-door: | |, path: | |,
# threat-area: | | current-area: | |, distance: |
# )
( ^operator +, >, = 90)
( ^name determine-threat-door
^path )
}
# REW: old determine-threa-door proposal
#sp {defend*propose*determine-threat-door
# (state ^name << retreat defend sentry-watch >>
# ^objective.defensive-position.area-achieved true
# ^top-state )
# ( ^map.current-area
# ^threats.controlled-area )
# ( ^path
# -^threat-door)
# ( ^destination-area
# ^distance
# ^via-node )
#-->
# (write (crlf) |Determine Threat-door: | |, path: | |, threat-area: | | current-area: | |, distance: | )
# ( ^operator +, >, = 90)
# ( ^name determine-threat-door
# ^path )
#}
## Abandoned area is always a possible threat area
sp {defend*propose*determine-threat-door*previous-area
(state ^name << retreat defend >>
^top-state )
( ^map
© 2015 - 2025 Weber Informatics LLC | Privacy Policy