when creating an area like this `new /area/A(loc)` if the type already exists it will return the type
Code Snippet (if applicable) to Reproduce Problem:
#define get_area(A) (isarea(A) ? A : get_step(A, 0)?.loc)
/mob/verb/ReuseAreaInstance()
var/turf/theTurf = get_step(loc, 0)
var/area/theArea = theTurf.loc
theArea.contents -= theTurf
var/area/newArea = new /area/A(theTurf)
newArea.contents += theTurf
usr << ref(get_area(loc))
Expected Results:
For it to just return the instance
Actual Results:
Returns the type path
Does the problem occur: Everytime
When does the problem NOT occur? Unknown
Workarounds:
Just keep a list of instanced areas
this is a self contained version that showcases the bug: