mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
Fix robot storage units dropping security borgs' taser/laser on storage, slight refactor.
This commit is contained in:
@@ -277,14 +277,28 @@
|
|||||||
if(!find_control_computer(urgent=1))
|
if(!find_control_computer(urgent=1))
|
||||||
return
|
return
|
||||||
|
|
||||||
|
despawn_occupant()
|
||||||
|
|
||||||
|
// This function can not be undone; do not call this unless you are sure
|
||||||
|
// Also make sure there is a valid control computer
|
||||||
|
/obj/machinery/cryopod/robot/despawn_occupant()
|
||||||
|
var/mob/living/silicon/robot/R = occupant
|
||||||
|
if(!istype(R)) return ..()
|
||||||
|
|
||||||
|
del(R.mmi)
|
||||||
|
for(var/obj/item/I in R.module) // the tools the borg has; metal, glass, guns etc
|
||||||
|
for(var/obj/item/O in I) // the things inside the tools, if anything; mainly for janiborg trash bags
|
||||||
|
O.loc = R
|
||||||
|
del(I)
|
||||||
|
del(R.module)
|
||||||
|
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
// This function can not be undone; do not call this unless you are sure
|
||||||
|
// Also make sure there is a valid control computer
|
||||||
|
/obj/machinery/cryopod/proc/despawn_occupant()
|
||||||
//Drop all items into the pod.
|
//Drop all items into the pod.
|
||||||
for(var/obj/item/W in occupant)
|
for(var/obj/item/W in occupant)
|
||||||
if(istype(W, /obj/item/device/mmi))
|
|
||||||
if(istype(occupant, /mob/living/silicon/robot))
|
|
||||||
var/mob/living/silicon/robot/R = occupant
|
|
||||||
if(R.mmi == W)
|
|
||||||
del(W)
|
|
||||||
continue
|
|
||||||
occupant.drop_from_inventory(W)
|
occupant.drop_from_inventory(W)
|
||||||
W.loc = src
|
W.loc = src
|
||||||
|
|
||||||
@@ -383,8 +397,6 @@
|
|||||||
occupant = null
|
occupant = null
|
||||||
name = initial(name)
|
name = initial(name)
|
||||||
|
|
||||||
return
|
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/cryopod/attackby(var/obj/item/weapon/G as obj, var/mob/user as mob)
|
/obj/machinery/cryopod/attackby(var/obj/item/weapon/G as obj, var/mob/user as mob)
|
||||||
|
|
||||||
|
|||||||
@@ -428,9 +428,9 @@
|
|||||||
|
|
||||||
//checks whether this item is a module of the robot it is located in.
|
//checks whether this item is a module of the robot it is located in.
|
||||||
/obj/item/proc/is_robot_module()
|
/obj/item/proc/is_robot_module()
|
||||||
if (!istype(src.loc, /mob/living/silicon/robot))
|
if (!istype(src.loc.loc, /mob/living/silicon/robot))
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
var/mob/living/silicon/robot/R = src.loc
|
var/mob/living/silicon/robot/R = src.loc.loc
|
||||||
|
|
||||||
return (src in R.module.modules)
|
return (src in R.module.modules)
|
||||||
|
|||||||
Reference in New Issue
Block a user