
APT.all-test.HauntBot.all.record-node.soar Maven / Gradle / Ivy
echo "\nLoading record-node"
# record all new connector nodes on the map
sp {all*propose*record-node
(state ^name << explore record-entryway move-to-xyz move-to-node >>
^io.input-link.objects.node )
( ^name
^type << door connector window >> # Changed from -none
^area-id)
-( ^top-state.map.area.node.name ) #Don't record nodes I've already seen
-->
( ^operator + >, =)
( ^name record-node
^node )
}
sp {all*propose*record-node*outside
(state ^name << explore record-entryway move-to-xyz move-to-node >>
^io.input-link.objects.node )
( ^name
^area |Outside|
-^area-id
^connect-heading { >= 0 }
^type { << door connector >> })
-( ^top-state.map.area.node.name ) #Don't record nodes I've already seen
-->
( ^operator + >, =)
( ^name record-node
^node )
}
## This handles nodes that should have area outside but don't
sp {all*propose*record-node*outside2
(state ^name << explore record-entryway move-to-xyz move-to-node >>
^io.input-link.objects.node )
( ^name
^area |EntryNode|
-^area-id
^connect-heading { >= 0 }
^type { << door connector window >> })
-( ^top-state.map.area.node.name ) #Don't record nodes I've already seen
-->
( ^operator + >, =)
( ^name record-node
^node )
}
##Record node trumps record entryway
sp {all*compare*record-node-beats-record-entryway
(state ^operator +
+)
( ^name record-node)
( ^name record-entryway)
-->
( ^operator > )
}
#Record a windownode
sp {all*apply*record-node*windownode
(state ^operator
^top-state.map
© 2015 - 2025 Weber Informatics LLC | Privacy Policy