diff --git a/rc.c b/rc.c index e999d1b..df2dc2b 100644 --- a/rc.c +++ b/rc.c @@ -423,12 +423,20 @@ int main (int argc, char **argv) { disablepowerups(PW_GUNNER); } - // kill all cards, so we don't have a pokereffect during endoflevel - // also kill the random level powerup if it exists + // certain things disappear at end of level for (s2 = sprite; s2 ; s2 = nexts) { nexts = s2->next; - if (iscard(s2->id) || s2->id == P_MOVINGCARD || strstr(s2->name, "random_up")) { + if (iscard(s2->id) || s2->id == P_MOVINGCARD) { + // kill all cards, so we don't have a pokereffect during endoflevel s2->dead = D_FINAL; + } else if (strstr(s2->name, "random_up")) { + // also kill the random level powerup if it exists + s2->dead = D_FINAL; + puffin(-1, s2->x, s2->y, "end_of_lev_pw_die", 0); + } else if (isflower(s2->id)) { + // also kill flowers + s2->dead = D_FINAL; + puffin(-1, s2->x, s2->y, "end_of_lev_fl_die", 0); } }