def update(self, playboard): if not self.staff_randomized: for staff in playboard.model.staff: x, y = playboard.get_random_open_tile() staff.x = x * 32 + 16 staff.y = y * 32 + 16 self.staff_randomized = True event = self.get_events_for_frame() if event != None: type = event[0] if type == 'device': device_type = event[2] ailment = event[3] device = Device(playboard, self.counter, device_type, 200, 10, ailment) self.devices.append(device) self.active_devices.append(device) new_active_devices = [] for device in self.active_devices: device.update() if device.state == 'new': playboard.animations.append({ 'type': 'device', 'ttl': 10, 'mx': device.x, 'my': device.y, 'x': device.x, 'y': device.y, 'device': device.device_type, 'overlay': 'check', 'vx': 0, 'vy': -3 }) elif device.state == 'dead' and device.replaced: playboard.animations.append({ 'type': 'device', 'ttl': 10, 'mx': device.x, 'my': device.y, 'x': device.x, 'y': device.y, 'device': device.device_type, 'overlay': 'dead', 'vx': 0, 'vy': -3 }) else: new_active_devices.append(device) self.active_devices = new_active_devices self.counter += 1