Good lord! ANOTHER lemmings clone!

Started by covox, January 01, 2007, 10:43:03 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Mindless

Tundra likes to die when I try to blow up my blocker on Fun 11
Traceback (most recent call last):
  File "tundra.py", line 102, in ?
    t.play()
  File "tundra.py", line 63, in play
    self.looper.loop()
  File "/home/mindless/lemmings/tundra/src/mainloop.py", line 36, in loop
    self.game.draw(g.screen)
  File "/home/mindless/lemmings/tundra/src/game.py", line 254, in draw
    self.protagonists.update()
  File "/usr/lib/python2.4/site-packages/pygame/sprite.py", line 303, in update
    for s in self.sprites(): s.update(*args)
  File "/home/mindless/lemmings/tundra/src/lemming.py", line 96, in update
    g.skillCache.get(self.currentSkill, self)
  File "/home/mindless/lemmings/tundra/src/cache.py", line 70, in get
    self.cache[skillName].update(lemming)
  File "/home/mindless/lemmings/tundra/src/skills/s_basher.py", line 22, in update
    lemming.game.subtract(frames[lemming.direction*2][0][i], (lemming.rect.left, lemming.rect.top))
  File "/home/mindless/lemmings/tundra/src/game.py", line 191, in subtract
    if (a.inter.objType == "leftArrows" or a.inter.objType == "rightArrows") and a.rect.collidepoint(j,i):
AttributeError: 'Countdown' object has no attribute 'inter'

covox

That is a noted bug. Easy fix: change line 191 of game.py from:
                                if (a.inter.objType == "leftArrows" or a.inter.objType == "rightArrows") and a.rect.collidepoint(j,i):
to:
                                if not hasattr(a,"inter"): continue

                                elif (a.inter.objType == "leftArrows" or a.inter.objType == "rightArrows") and a.rect.collidepoint(j,i):


New update with several bugfixes will be released when I figure out why it's screwing up under OS X...


Mindless

Traceback (most recent call last):
  File "tundra.py", line 108, in ?
    t.play()
  File "tundra.py", line 69, in play
    self.looper.loop()
  File "/home/mindless/lemmings/Tundra/src/mainloop.py", line 35, in loop
    self.game.update()
  File "/home/mindless/lemmings/Tundra/src/game.py", line 241, in update
    self.protagonists.update()
  File "/usr/lib/python2.4/site-packages/pygame/sprite.py", line 303, in update
    for s in self.sprites(): s.update(*args)
  File "/home/mindless/lemmings/Tundra/src/lemming.py", line 96, in update
    g.skillCache.get(self.currentSkill, self)
  File "/home/mindless/lemmings/Tundra/src/cache.py", line 70, in get
    self.cache[skillName].update(lemming)
  File "/home/mindless/lemmings/Tundra/src/skills/s_goner.py", line 33, in update
    except OutOfThePlayField:
NameError: global name 'OutOfThePlayField' is not defined

Possibly caused by a lemming exploding while 'OutOfThePlayField'? (during Fun 3)

covox

Argh sorry for not posting sooner. "PlayField" in s_goner.py should read "Playfield".

Making a fix for this and the one-way arrows issue.

(you are correct; reaching that line means that the lemming tried to do something off-screen, but was caught and scheduled for removal from the "protagonists" sprite group)

Mindless

Aha! a new version... but you didn't notify anybody? :(

covox

You know how sometimes you strive to get everything in a job done before going to sleep? And then, with maybe one tiny but important thing left, you go "oh I'll just lie down on the bed and rest my eyes for a while, then I'll get up and finish that last thing yes I will"? And then you get up and do it after 15 minutes, but later on you find that you were really asleep and just imagined the whole thing?

...yeah  :wink:

v0.7 newspost - Homepage - Pygame project