diff options
Diffstat (limited to 'bullet.c')
-rw-r--r-- | bullet.c | 37 |
1 files changed, 37 insertions, 0 deletions
@@ -60,6 +60,43 @@ Entity new_player_bullet( return e; } +int new_enemy_bullet( + struct World* world, + int x, + int y, + int vx, + int vy +) { + Entity e; + CBullet* bullet; + CPosition* pos; + CSprite* sprite; + + e = new_entity(world); + + add_components( + world, + e, + ctype_sprite | + ctype_position | + ctype_bullet | + ctype_enemy_bullet + ); + pos = &world->positions[e]; + sprite = &world->sprites[e]; + bullet = &world->bullets[e]; + pos->x = x; + pos->y = y; + + bullet->vx = vx; + bullet->vy = vy; + bullet->life = 500; + + init_csprite(sprite, sprite_enemy_bullet); + + return e; +} + void bullet_system(World* world) { int i; unsigned bits; |