Basically I want to make a screen object have a verb, and add it to the right click of another atom, normally this wouldn't be doable (how does it know what insistence of the screen object to run the verb on) but with dynamic verbs, you can attach the verb to a src:
/obj/thing/New()
var/verb/button_verb = new /obj/thing/proc/verb_action (src, "NAME_HERE", "DESC_HERE")
Now that will work correctly, it will attach that dynamic verb with its special snowflake name and desc to that object.
but if i wanted to do other_obj.verbs += button_verb to make a dynamic system for control over right click options, that doesn't work, the proc will run as if it was typed to the other obj then runtime over type errors.
It seems like in this use case, the src given in the verb's New should override the type path of the object that the verb is attached to using verbs += when running the verb.
Or we just need a better system for handling rightclick control.
In my case, we have a dynamic system for making screen objects for doing actions on objects, since in general, hud icons are better than verbs.
I want to keep verbs, but the code maintainers don't want making action buttons requiring making the action button, then adding a verb to do the same thing, they want to remove verbs for objects in favor of action buttons.
I started on this quest to make the action button system dynamically add verbs, but i run on this snag.
Right now I'm not sure if this is actually a bug, or if it's more of a feature request.