mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-21 04:48:18 +01:00
Drone Designators (#12302)
This commit is contained in:
@@ -10,4 +10,14 @@
|
||||
loc_type = GS_LOC_ATOM
|
||||
atom_add_message = "Someone is attempting to reboot a mining drone!"
|
||||
|
||||
spawn_mob = /mob/living/silicon/robot/drone/mining
|
||||
spawn_mob = /mob/living/silicon/robot/drone/mining
|
||||
|
||||
/datum/ghostspawner/mining_drone/spawn_mob(mob/user)
|
||||
var/drone_tag = sanitizeSafe(input(user, "Select a tag for your mining drone, for example, 'MD' would appear as 'NT-MD-[rand(100,999)]'. (Max length: 3 Characters)", "Name Tag Selection"), 4)
|
||||
if(!drone_tag)
|
||||
drone_tag = "MD"
|
||||
drone_tag = uppertext(drone_tag)
|
||||
var/mob/living/silicon/robot/drone/mining/M = ..()
|
||||
if(M)
|
||||
M.set_name("NT-[drone_tag]-[rand(100,999)]")
|
||||
return M
|
||||
@@ -47,6 +47,34 @@
|
||||
return FALSE
|
||||
fabricator = all_fabricators[choice]
|
||||
|
||||
if(user && fabricator && !((fabricator.stat & NOPOWER) || !fabricator.produce_drones || fabricator.drone_progress < 100))
|
||||
return fabricator.create_drone(user.client)
|
||||
return FALSE
|
||||
if(!fabricator_check(fabricator, user))
|
||||
return FALSE
|
||||
|
||||
var/drone_tag = sanitizeSafe(input(user, "Select a tag for your maintenance drone, for example, 'MT' would appear as 'maintenance drone (MT-[rand(100,999)])'. (Max length: 3 Characters)", "Name Tag Selection"), 4)
|
||||
if(!drone_tag)
|
||||
drone_tag = "MT"
|
||||
drone_tag = uppertext(drone_tag)
|
||||
|
||||
if(!fabricator_check(fabricator, user))
|
||||
return FALSE
|
||||
|
||||
return fabricator.create_drone(user.client, drone_tag)
|
||||
|
||||
/datum/ghostspawner/simplemob/maintdrone/proc/fabricator_check(var/obj/machinery/drone_fabricator/fabricator, var/mob/user)
|
||||
if(!fabricator)
|
||||
to_chat(user, SPAN_WARNING("Something has gone wrong and the fabricator couldn't be found! Make a github issue about this."))
|
||||
return FALSE
|
||||
|
||||
if(!fabricator.produce_drones)
|
||||
to_chat(user, SPAN_WARNING("The fabricator's drone production has been disabled, try again."))
|
||||
return FALSE
|
||||
|
||||
if(fabricator.stat & NOPOWER)
|
||||
to_chat(user, SPAN_WARNING("The fabricator has lost power, try again."))
|
||||
return FALSE
|
||||
|
||||
if(fabricator.drone_progress < 100)
|
||||
to_chat(user, SPAN_WARNING("The fabricator isn't ready to produce another drone, try again."))
|
||||
return FALSE
|
||||
|
||||
return TRUE
|
||||
Reference in New Issue
Block a user