I have dials and indicators in my game. I'd like, when one of them changes currentSide or moves layers, to send a non-pulling but visible ping on the current page. It's just a way to make the party (and me) aware of a change to their Spaceship. I use the bar 3 value of "dial" to keep these tokens easy to grab. I'm not super familiar with using previous but no time like the present. It isn't visibly pinging anything! I've commented my code for easy reading. No doubt, this is a simple and silly fix... on("change:token", function(obj, prev) { const playerPageId = Campaign().get("playerpageid"); // Initialize array of tokens let dialTokens = []; // Only do stuff if the token is on the current player page if (obj.get("pageid") === playerPageId) { // Check if the token's bar3_value is "dial" if (obj.get("bar3_value") === "dial") { // Check if the layer or current side has changed if (obj.get("layer") !== prev.layer || obj.get("currentSide") !== prev.currentSide) { // Add the token to the array dialTokens.push(obj); } } } // Loop through each token in dialTokens and send an orange ping dialTokens.forEach(function(token) { const tokenX = token.get("left"); const tokenY = token.get("top"); // Send an orange ping to the token's location, visible to all but without pulling players sendPing(tokenX, tokenY, playerPageId, null, true, "orange"); }); });