All Downloads are FREE. Search and download functionalities are using the official Maven repository.

APT.all-test.MOUTBot.enemy-remove.soar Maven / Gradle / Ivy

echo "\nLoading remove-enemy"

########################################################
## If enemy dies, then removed it
## If time runs out, remove enemy - time in milliseconds
########################################################

sp {unreal*propose*enemy-remove*dead
   (state  ^name unreal
              ^io.input-link.entities.enemy 
              ^enemy )
   ( ^health 0
            ^name )
   ( ^name )
   -->
   (write (crlf) |=Enemy Died.|)
   ( ^operator  + =, >)
   ( ^name enemy-remove
        ^enemy 
        ^actions.attack off)}

sp {unreal*propose*enemy-remove*out-of-date
   (state  ^name unreal
             -^io.input-link.agent.cycle < 
              ^enemy )
   ( ^forget-time )
   -->
   (write (crlf) |Enemy out of date.|)
   ( ^operator  + =, >)
   ( ^name enemy-remove
        ^enemy         
        ^actions.attack off)}

sp {unreal*propose*enemy-remove*moved
   (state  ^name unreal
              ^io.input-link.entities.enemy 
              ^enemy )
   ( ^name 
               ^area )
   ( ^name 
            ^area <> )
   -->
   (write (crlf) |Enemy moved.|)
   ( ^operator  + =, >)
   ( ^name enemy-remove
        ^enemy )}

sp {unreal*select*enemy-remove
   (state  ^name unreal
              ^operator  +
              ^operator  +)
   ( ^name enemy-remove)
   ( ^name << execute-mission explore enemy-select enemy-record >>)
   -->
   ( ^operator  > )}

sp {unreal*apply*enemy-remove
   (state  ^operator 
              ^enemy )
   ( ^name enemy-remove
        ^enemy )
   -->
   (write (crlf) |Remove enemy | )
   ( ^enemy  -)}

sp {unreal*apply*enemy-remove2
   (state  ^operator 
              ^selected-enemy )
   ( ^name enemy-remove
        ^enemy )
   -->
   ( ^selected-enemy  -)}