From 47d16f32437b60d6041bbfc9301e8e5aea09cb2d Mon Sep 17 00:00:00 2001 From: NepDisk Date: Sun, 29 Jun 2025 15:58:31 -0400 Subject: [PATCH] [PATCH] Fix precip getting stuck to the ground sometimes Thanks Alug --- src/p_spec.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/p_spec.c b/src/p_spec.c index f683aa89e..78fe791e5 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -1845,13 +1845,16 @@ void P_SwitchWeather(preciptype_t newWeather) } } + precipmobj->type = swap; // proper set the type + precipmobj->info = &mobjinfo[swap]; + precipmobj->state = &states[st]; precipmobj->tics = precipmobj->state->tics; precipmobj->sprite = precipmobj->state->sprite; precipmobj->frame = precipmobj->state->frame; precipmobj->momz = FixedMul(-mobjinfo[swap].speed, mapobjectscale); - precipmobj->precipflags &= ~(PCF_INVISIBLE|PCF_FLIP); + precipmobj->precipflags &= ~(PCF_INVISIBLE|PCF_FLIP|PCF_SPLASH); // P_PrecipThinker will add this again if it needs to if (precipmobj->momz > 0) {