Index: proj/include/ent.h
===================================================================
--- proj/include/ent.h	(revision 231)
+++ proj/include/ent.h	(revision 232)
@@ -16,11 +16,14 @@
 gunner_t* (gunner_ctor)(basic_sprite_t *dude, basic_sprite_t *weapon);
 void      (gunner_dtor)(gunner_t *p);
 void (gunner_set_pos)               (gunner_t *p, double x, double y);
+void  (gunner_set_spawn)        (gunner_t *p, double x, double y);
 void (gunner_set_angle)             (gunner_t *p, double angle      );
 void (gunner_set_health)            (gunner_t *p, int health);
 void (gunner_set_curr_health)       (gunner_t *p, int health);
 double  (gunner_get_x)              (const gunner_t *p);
 double  (gunner_get_y)              (const gunner_t *p);
+double  (gunner_get_spawn_x)        (const gunner_t *p);
+double  (gunner_get_spawn_y)        (const gunner_t *p);
 double  (gunner_get_angle)          (const gunner_t *p);
 int     (gunner_get_health)         (const gunner_t *p);
 int     (gunner_get_curr_health)    (const gunner_t *p);
Index: proj/src/ent.c
===================================================================
--- proj/src/ent.c	(revision 231)
+++ proj/src/ent.c	(revision 232)
@@ -20,6 +20,7 @@
 
 struct gunner{
     double x, y; //real position
+    double spawn_x, spawn_y;
     sprite_t *dude;
     sprite_t *weapon;
     int health, current_health;
@@ -27,6 +28,8 @@
 gunner_t* (gunner_ctor)(basic_sprite_t *dude, basic_sprite_t *weapon){
     gunner_t *ret = malloc(sizeof(gunner_t));
     if(ret == NULL) return NULL;
+    ret->spawn_x = 0.0;
+    ret->spawn_y = 0.0;
     ret->x = 0.0;
     ret->y = 0.0;
     ret->health = 100;
@@ -45,6 +48,7 @@
     free(p);
 }
 void (gunner_set_pos)  (gunner_t *p, double x, double y){ p->x = x; p->y = y; }
+void (gunner_set_spawn)  (gunner_t *p, double x, double y){ p->spawn_x = x; p->spawn_y = y; }
 void (gunner_set_angle)(gunner_t *p, double angle      ){
     sprite_set_angle(p->dude  , angle);
     sprite_set_angle(p->weapon, angle);
@@ -59,6 +63,8 @@
 }
 double  (gunner_get_x)              (const gunner_t *p){ return p->x; }
 double  (gunner_get_y)              (const gunner_t *p){ return p->y; }
+double  (gunner_get_spawn_x)        (const gunner_t *p){ return p->spawn_x; }
+double  (gunner_get_spawn_y)        (const gunner_t *p){ return p->spawn_y; }
 double  (gunner_get_angle)          (const gunner_t *p){ return sprite_get_angle(p->dude); }
 int     (gunner_get_health)         (const gunner_t *p){ return p->health; }
 int     (gunner_get_curr_health)    (const gunner_t *p){ return p->current_health; }
@@ -107,7 +113,7 @@
     ret-> y =  y;
     ret->vx = vx;
     ret->vy = vy;
-    ret->damage = 1;
+    ret->damage = 10;
     ret->b = sprite_ctor(b);
     if(ret->b == NULL){
         bullet_dtor(ret);
Index: proj/src/proj.c
===================================================================
--- proj/src/proj.c	(revision 231)
+++ proj/src/proj.c	(revision 232)
@@ -140,9 +140,11 @@
         ent_set_scale(DEFAULT_SCALE);
 
         gunner_t *shooter1 = gunner_ctor(bsp_shooter, bsp_pistol); if(shooter1 == NULL) printf("Failed to get shooter1\n");
+        gunner_set_spawn(shooter1, 75, 75);
         gunner_set_pos(shooter1, 75, 75);
 
         gunner_t *shooter2 = gunner_ctor(bsp_shooter, bsp_nothing);
+        gunner_set_spawn(shooter2, 975, 75);
         gunner_set_pos(shooter2, 775, 75);
 
         //bullet_t *bullet = bullet_ctor(get_bullet(), 400.0, 400.0, 2.0, -1.0);
@@ -184,6 +186,9 @@
                                 if (no_interrupts % refresh_count_value == 0) {
                                     update_movement(map1, shooter1);
                                     //bullet_update_movement(bullet);
+
+                                    if (no_interrupts % 180 == 0) gunner_set_pos(shooter2, 775, 75);
+
                                     update_game_state(map1, shooter2, bullet_list);
 
                                     if(map_collides_gunner(map1, shooter1)){
@@ -194,7 +199,6 @@
                                         printf("Bullet Collide with Shooter\n");
                                         gunner_set_curr_health(shooter1, gunner_get_curr_health(shooter1) - bullet_get_damage(bullet));
                                     }*/
-
                                     update_scale();
 
                                     ent_set_origin(gunner_get_x(shooter1)-ent_get_XLength()/2.0,
Index: proj/src/proj_func.c
===================================================================
--- proj/src/proj_func.c	(revision 231)
+++ proj/src/proj_func.c	(revision 232)
@@ -93,6 +93,11 @@
             list_node_t *aux = list_node_next(it);
             bullet = (bullet_t*)list_erase(bullet_list, it);
             gunner_set_curr_health(shooter, gunner_get_curr_health(shooter) - bullet_get_damage(bullet));
+            if (gunner_get_curr_health(shooter) <= 0) {
+                gunner_set_curr_health(shooter, gunner_get_health(shooter));
+                gunner_set_pos(shooter, gunner_get_spawn_x(shooter), gunner_get_spawn_y(shooter));
+            }
+
             free(bullet);
             it = aux;
             continue;
