diff --git a/src/p_inter.c b/src/p_inter.c index 399d74918..b9a5e3285 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -1926,6 +1926,21 @@ static boolean P_KillPlayer(player_t *player, mobj_t *inflictor, mobj_t *source, break; } + if (player->spectator == false) + { + UINT32 skinflags = (demo.playback) + ? demo.skinlist[demo.currentskinid[(player-players)]].flags + : skins[player->skin].flags; + + if (skinflags & SF_IRONMAN) + { + player->mo->skin = &skins[player->skin]; + K_SpawnMagicianParticles(player->mo, 5); + } + + player->mo->renderflags &= ~RF_DONTDRAW; + } + K_DropEmeraldsFromPlayer(player, player->emeralds); K_SetHitLagForObjects(player->mo, inflictor, MAXHITLAGTICS, true); @@ -1935,11 +1950,6 @@ static boolean P_KillPlayer(player_t *player, mobj_t *inflictor, mobj_t *source, P_ResetPlayer(player); - if (player->spectator == false) - { - player->mo->renderflags &= ~RF_DONTDRAW; - } - P_SetPlayerMobjState(player->mo, player->mo->info->deathstate); if (type == DMG_TIMEOVER)