Boulder now ignores player and vice versa.
This commit is contained in:
parent
a69281f5e1
commit
0ff2f9df9a
|
@ -28,6 +28,7 @@ import pygame
|
|||
|
||||
import worldobject
|
||||
import block
|
||||
import player
|
||||
|
||||
class Boulder(worldobject.WorldObject):
|
||||
def __init__(self, level, x, y, direction=(1, 0),
|
||||
|
@ -40,6 +41,8 @@ class Boulder(worldobject.WorldObject):
|
|||
self.frame = 0
|
||||
self.anim_speed = 60
|
||||
|
||||
self.ignore_list.append(player.Player)
|
||||
|
||||
def activate(self, setting):
|
||||
self.rolling = True
|
||||
|
||||
|
|
|
@ -29,6 +29,7 @@ import re
|
|||
import os
|
||||
|
||||
import worldobject
|
||||
import boulder
|
||||
|
||||
class Player(worldobject.WorldObject):
|
||||
def __init__(self, level, x, y, z=1, movable=True):
|
||||
|
@ -41,6 +42,8 @@ class Player(worldobject.WorldObject):
|
|||
self.frame = 0
|
||||
self.anim_speed = 15
|
||||
|
||||
self.ignore_list.append(boulder.Boulder)
|
||||
|
||||
self.load()
|
||||
|
||||
def load(self):
|
||||
|
|
|
@ -41,6 +41,8 @@ class WorldObject(object):
|
|||
self.holding = None
|
||||
self.holder = None
|
||||
|
||||
self.ignore_list = []
|
||||
|
||||
self.is_currently_opaque = True
|
||||
|
||||
if hasattr(self, 'img'):
|
||||
|
@ -73,7 +75,8 @@ class WorldObject(object):
|
|||
if (obj.x == self.x + move_x * self.tile_x
|
||||
and obj.y == self.y + move_y * self.tile_y
|
||||
and obj is not self and obj is not self.holder
|
||||
and obj is not self.holding and obj.blocking):
|
||||
and obj is not self.holding and obj.blocking
|
||||
and type(obj) not in self.ignore_list):
|
||||
return False
|
||||
return True
|
||||
return False
|
||||
|
|
Loading…
Reference in New Issue