Fixes turret controllers (#26280)

* Fixes turrets controllers. With unit testing!

* oops

* yeah no
This commit is contained in:
adrian
2020-04-22 15:33:01 -03:00
committed by GitHub
parent cf36c8b1d6
commit a2b4b6420a
3 changed files with 22 additions and 5 deletions

View File

@@ -360,14 +360,19 @@
..()
if(!control_area)
control_area = get_area(src)
else if(istext(control_area))
for(var/area/A in areas)
if(A.name && A.name == control_area)
control_area = A
break
else if(ispath(control_area))
control_area = locate(control_area)
else if(istext(control_area))
var/path = text2path(control_area)
if(path)
control_area = locate(path)
else
for(var/area/A in areas)
if(cmptext(A.name, control_area))
control_area = A
break
ASSERT(isarea(control_area))
updateTurrets() //Updates the turrets and the icon if an instance is made that is not set to stun by default
/obj/machinery/turretid/emag(mob/user)

View File

@@ -6,4 +6,5 @@
#include "reagent_recipe_collisions.dm"
#include "slipping.dm"
#include "names.dm"
#include "turretid.dm"
#endif

View File

@@ -0,0 +1,11 @@
/datum/unit_test/turretid
/datum/unit_test/turretid/start()
var/turf/centre = locate(/area/shuttle/arrival/station)// the arrival shuttle area should exist on every station
var/obj/machinery/turretid/turret_controller = new(centre)
ASSERT(isarea(turret_controller.control_area))
turret_controller.control_area = "Arrival Shuttle"
turret_controller.New()
ASSERT(isarea(turret_controller.control_area))
turret_controller.control_area = "/area/shuttle/arrival/station"
turret_controller.New()
ASSERT(isarea(turret_controller.control_area))