Two side attack play doesn't consider passing
When the center robot has the ball at the beginning of the play, it should consider whether to pass to the left robot up the field, the right robot up the field, or take a direct shot on goal, if available. Right now, the center robot always takes a shot on goal even if an opposing robot is directly between it and the goal and passing to the outside would be a much better option.
diff --git a/soccer/gameplay/plays/offense/two_side_attack.py b/soccer/gameplay/plays/offense/two_side_attack.py
index c11d7b154a..1d692553a1 100644
--- a/soccer/gameplay/plays/offense/two_side_attack.py
+++ b/soccer/gameplay/plays/offense/two_side_attack.py
@@ -46,7 +46,8 @@ class TwoSideAttack(standard_play.StandardPlay):
 
         self.add_transition(
             TwoSideAttack.State.passing, TwoSideAttack.State.kicking,
-            lambda: not 'pass' in [self.subbehaviors_by_name] or self.self.subbehavior_with_name('pass').state == behavior.Behavior.State.completed,
+            lambda: (not self.has_subbehavior_with_name('pass') or
+                     self.subbehavior_with_name('pass').state == behavior.Behavior.State.completed),
             'Pass completed')
 
         self.add_transition(
['soccer/gameplay/plays/offense/two_side_attack.py']