A_GoopSplat is an action which is used by Brak Eggman's goop to change its flags, allowing it to trap any players touching it until it disappears. The actor's flags are changed to just
MF_SPECIAL; this action also unsets the actor's position and clears the sector list to allow
MF_NOBLOCKMAP (one of the flags the goop projectile Object type,
MT_BLACKEGGMAN_GOOPFIRE, spawns with) to be removed from the actor properly. This then allows goop projectiles to be added to the blockmap when their position is reset afterwards.
Code – A_GoopSplat
// Function: A_GoopSplat
// Description: Black Eggman goop hits a target and sticks around for awhile.
// var1 = unused
// var2 = unused
void A_GoopSplat(mobj_t *actor)
if (LUA_CallAction("A_GoopSplat", actor))
sector_list = NULL;
actor->flags = MF_SPECIAL; // Not a typo