summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/game.c b/src/game.c
index 552471b..4650070 100644
--- a/src/game.c
+++ b/src/game.c
@@ -268,8 +268,7 @@ static ix2_search_status_t virus_search(void *cb_context, ix2_object_t *ix2_obje
switch (entity->any.type) {
case ENTITY_TYPE_BABY:
/* convert baby into inanimate virus (off the viruses array) */
- stage_free(entity->any.node);
- entity->any.node = virus_node_new(&(stage_conf_t){ .parent = search->game->viruses_node, .name = "baby-virus", .active = 1, .alpha = 1.f }, &entity->any.model_x);
+ (void) virus_node_new(&(stage_conf_t){ .parent = entity->any.node, .adopt = 1, .name = "baby-virus", .active = 1, .alpha = 1.f }, &entity->any.model_x);
sfx_play(sfx.baby_infected);
entity->any.type = ENTITY_TYPE_VIRUS;
@@ -283,9 +282,8 @@ static ix2_search_status_t virus_search(void *cb_context, ix2_object_t *ix2_obje
return IX2_SEARCH_STOP_HIT;
case ENTITY_TYPE_ADULT:
- /* convert adult into inanimate virus (of the viruses array) */
- stage_free(entity->any.node);
- entity->any.node = virus_node_new(&(stage_conf_t){ .parent = search->game->viruses_node, .name = "adult-virus", .active = 1, .alpha = 1.f }, &entity->any.model_x);
+ /* convert adult into inanimate virus (off the viruses array) */
+ (void) virus_node_new(&(stage_conf_t){ .parent = entity->any.node, .adopt = 1, .name = "adult-virus", .active = 1, .alpha = 1.f }, &entity->any.model_x);
sfx_play(sfx.adult_infected);
search->game->state = GAME_STATE_OVER;
return IX2_SEARCH_STOP_HIT;
© All Rights Reserved