def update(dt): damaged = enemies.intersection(bullet_ai.hit) for entity_id in damaged: damage = bullet_ai.hit_data[entity_id] health.apply_damage(entity_id, damage) damaged = enemies.intersection(missile_ai.hit) for entity_id in damaged: damage = missile_ai.hit_data[entity_id] health.apply_damage(entity_id, damage * MISSILE_DAMAGE_MULT) global press_trigger for entity_id in press_trigger: trigger.hold(entity_id) press_trigger = []
def process_events(): enemy_ids = set(enemies) left_world = enemy_ids.intersection(collider.world_events) for entity_id in left_world: state = enemies[entity_id] amount = state.attempts if amount: state.state = IDLE else: score.award(entity_id) manager.destroy_entity(entity_id) state.attempts = amount - 1 player_hit = enemy_ids.intersection(collider.collide_events) for entity_id in player_hit: health.apply_damage(player.player_id, DAMAGE) position = spatial.get_position(entity_id) explosions.create(position, big=False) manager.destroy_entity(entity_id)