My main question is basically: What is the algorithm that CPU players use in smash bros to find items like the smash ball? I am trying to make a small ai character that will "look around" and once an item appears it will find it and walk to it. In all smash bros the cpu players are able to find items on the stage when they appear. How do they do this?
On spawn of the object, relevant "listeners" (your NPCs) should be pinged.
Once pinged, the listener can now use the distance from the object, line of sight of the object, the value of the object, the distance of other interested listeners from the object, and other useful variables to develop a weight or a metric that would prioritize any number of available decisions which may result in moving towards the object.
How to find an object
When an object spawns, you could tell all listeners (i.e. NPCs) that the item has spawned and where it has spawned ("where" can be a simple vector point or a reference to a node. More on the latter later). This can be done using an event emitter of some sort, where entities create a listener on some event (e.g. 'onitemspawn') and then act upon it when the event is emitted.
How to move the player towards the item
As soon as the AI agent sees the item, you can program it to move towards the item immediately or when it isn't engaging the player (or whenever really, this is all up to you). When you know where the item is, you can use a pathfinding algorithm like A*. This will find the shortest path to the item quickly.