Open PowerfulBacon opened 2 weeks ago
When create and destroy is added, test coverage for accidentally created abstract paths should be pretty strong
I might just let coders instantiate these objects and restrict it for mappers only due to a lot of uses where it could erronously pick something up
This pull request has conflicts, please resolve those before we can evaluate the pull request.
This PR has been marked as stale due to being in an unmergable state for 7 days. Please resolve any conflicts and add testing evidence, then contact a project maintainer to have the stale label removed.
About The Pull Request
In the future we may be able to do some simple static analysis on the code to check for these, but that would be hard.
Edit: Abstract is only a hint flag, it prevents admin spawning and will prevent unit tests from targetting that object but will not prevent coders from using it. There are some cases where /obj is used as a placeholder to access some byond variables and there will be a lot of things that get picked up erronously.
Why It's Good For The Game
Being able to mark objects as being something that shouldn't be able to be spawned is useful behaviour, and is something that is required for making the icon tests far stricter.
Testing Photographs and Procedure
/obj/item/implant cannot be spawned through the create object menu.
Neither can storage nor belt:
See unit tests for more evidence
Changelog
:cl: code: Renames the abstract item flag to pseudo_item to better represent its purpose, and adds support for abstract items which cannot be spawned by admins and shouldn't be spawned by code. fix: The missing icon test will now fail if a missing icon, non-null icon is present in an abstract path /:cl: