From 9601290dd72db126d3a946139aaadced629ca73b Mon Sep 17 00:00:00 2001 From: toaster Date: Tue, 19 Mar 2024 17:01:23 +0000 Subject: [PATCH] Emblem system collectibles: Spawn sparkles if pick-up-able, to match Prison Egg CDs --- src/p_mobj.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/p_mobj.c b/src/p_mobj.c index 965652ea8..5926a6be7 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -7007,6 +7007,23 @@ static boolean P_MobjRegularThink(mobj_t *mobj) { trans = tr_trans50; } + // Non-RNG-advancing equivalent of Obj_SpawnEmeraldSparks + else if (leveltime % 3 == 0) + { + mobj_t *sparkle = P_SpawnMobjFromMobj( + mobj, + M_RandomRange(-mobj->radius/FRACUNIT, mobj->radius/FRACUNIT) * FRACUNIT, + M_RandomRange(-mobj->radius/FRACUNIT, mobj->radius/FRACUNIT) * FRACUNIT, + M_RandomRange(0, mobj->height/FRACUNIT) * FRACUNIT, + MT_SPARK + ); + P_SetMobjStateNF(sparkle, mobjinfo[MT_EMERALDSPARK].spawnstate); + + sparkle->color = mobj->color; + sparkle->momz += 6 * mapobjectscale * P_MobjFlip(mobj); + P_SetScale(sparkle, 2); + sparkle->destscale = mapobjectscale; + } if (mobj->reactiontime > 0 && leveltime > starttime)