It’s very hard to make things like projectiles, pickups, deployables, etc. because generally all of the information needed for these things will need to be stored in global/player variables in arrays. Due to how difficult it is to manipulate individual values in arrays (lack of a for each loop and such) in a quick and efficient manner, perhaps it would be a good idea to let us create “objects.”
These objects would be manipulated much like players. There could be an Ongoing - Each Object event for rules, which could have an Event Object the same way that Ongoing - Each Player has an Event Player.
There would also be Object Variables the same way that players have Player Variables. Stuff like projectile directions or target positions, health and possibly attack cooldowns for a hero’s deployables, a cooldown before a pickup item reappears (like a healthpack), etc.
For objects that are intended to be a hero’s deployables (like turrets and teleporters), or a breakable object in the world (such as an enemy structure in a MOBA game), there could be the option to add hit detection so the object can be shot at and damaged like a player. There could also be the event Object Took Damage and even Object Received Healing if it is enabled for the object.
Overall I just hope we can make our objects more dynamic instead of having to be kept in a few global/player variable arrays that have to be updated with looping rules and an iterator variables (this is difficult and clunky).