Example #1
0
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 = []
Example #2
0
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)