title: python crashes with error function takes 2 arguments (3 given)
body: <p>This works the first time I call the function, but the second time I get the error message</p>
  
  <pre><code>mloc = pygame.mouse.get_pos()
  if type == "gun":
      mTowers.add(gun(mloc))
  </code></pre>
  
  <p>...</p>
  
  <pre><code> class gun(tower):    
       def __init__(self, place):
           tower.__init__(self, place)
  </code></pre>
  
  <p>and the error:</p>
  
  <pre><code>TypeError: __init__() takes exactly 2 arguments (3 given)
  </code></pre>
  
  <p>What I think I'm doing is passing the mouse location as a tuple (and the self argument). Clearly it works on the first call. Any ideas where this is going wrong?</p>