addHook("PlayerThink", function(player)
    if not (player.mo and player.mo.skin == "giant") then return end

    if player.mo.eflags & MFE_JUSTHITFLOOR and not (player.mo.eflags & MFE_GOOWATER) and not P_CheckDeathPitCollide(player.mo) then
        if not player.landchecked then
            local explode
            local scale = player.mo.scale
            local damage = 80 * scale -- adjust damage as needed

            S_StartSound(player.mo, sfx_pstop)

            -- Spawn a single explosion at the player's location to apply direct damage
            explode = P_SpawnMobj(player.mo.x, player.mo.y, player.mo.z, MT_EXPLODE)
            P_SetScale(explode, scale)
            P_RadiusAttack(explode, player.mo, 80 * FRACUNIT, damage)

            -- Spawn additional explosions around the player to apply splash damage
            for i = 0, 31 do
                local angle = i * ANGLE_22h
                local distance = 80 * FRACUNIT
                local x = player.mo.x + FixedMul(sin(angle), distance)
                local y = player.mo.y + FixedMul(cos(angle), distance)
                local z = player.mo.z + FixedMul(scale, 80 * FRACUNIT)

                explode = P_SpawnMobj(x, y, z, MT_EXPLODE)
                P_SetScale(explode, scale / 1)
                explode.destscale = scale / 1
// This Mod Was Made By LinkThePale. If You See This Uploaded ANYWHERE Other Than SRB2 Warehouse, MB Or Gamebanana Contact Me On Discord LinkThePale#1760
                explode.momx = FixedMul(sin(angle), distance)
                explode.momy = FixedMul(cos(angle), distance)

                P_RadiusAttack(explode, player.mo, 80 * FRACUNIT, damage / 2)
            end

            player.landchecked = true
        end
    elseif player.mo.state == player.mo.info.painstate then
        player.landchecked = true
    else
        player.landchecked = false
    end
end)
