mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-27 06:00:23 +01:00
robot outsider overhaul (#15894)
* robot outsider overhaul * . * adds icon and defines
This commit is contained in:
@@ -64,6 +64,9 @@
|
||||
var/sleeper_state = 0 // 0 for empty, 1 for normal, 2 for mediborg-healthy
|
||||
var/scrubbing = FALSE //Floor cleaning enabled
|
||||
|
||||
// Subtype limited modules or admin restrictions
|
||||
var/list/restrict_modules_to = list()
|
||||
|
||||
// Components are basically robot organs.
|
||||
var/list/components = list()
|
||||
|
||||
@@ -322,15 +325,21 @@
|
||||
var/list/modules = list()
|
||||
//VOREStatation Edit Start: shell restrictions
|
||||
if(shell)
|
||||
modules.Add(shell_module_types)
|
||||
if(restrict_modules_to.len > 0)
|
||||
modules.Add(restrict_modules_to)
|
||||
else
|
||||
modules.Add(shell_module_types)
|
||||
else
|
||||
modules.Add(robot_module_types)
|
||||
if(crisis || security_level == SEC_LEVEL_RED || crisis_override)
|
||||
to_chat(src, span_red("Crisis mode active. Combat module available."))
|
||||
modules |= emergency_module_types
|
||||
for(var/module_name in whitelisted_module_types)
|
||||
if(is_borg_whitelisted(src, module_name))
|
||||
modules |= module_name
|
||||
if(restrict_modules_to.len > 0)
|
||||
modules.Add(restrict_modules_to)
|
||||
else
|
||||
modules.Add(robot_module_types)
|
||||
if(crisis || security_level == SEC_LEVEL_RED || crisis_override)
|
||||
to_chat(src, span_red("Crisis mode active. Combat module available."))
|
||||
modules |= emergency_module_types
|
||||
for(var/module_name in whitelisted_module_types)
|
||||
if(is_borg_whitelisted(src, module_name))
|
||||
modules |= module_name
|
||||
//VOREStatation Edit End: shell restrictions
|
||||
modtype = tgui_input_list(usr, "Please, select a module!", "Robot module", modules)
|
||||
|
||||
@@ -1249,6 +1258,8 @@
|
||||
icon_selected = 1
|
||||
icon_selection_tries = 0
|
||||
sprite_type = robot_species
|
||||
if(hands)
|
||||
update_hud()
|
||||
to_chat(src, "<span class='filter_notice'>Your icon has been set. You now require a module reset to change it.</span>")
|
||||
|
||||
/mob/living/silicon/robot/proc/set_default_module_icon()
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
idcard_type = /obj/item/weapon/card/id
|
||||
icon_selected = FALSE
|
||||
can_be_antagged = FALSE
|
||||
restrict_modules_to = list("Gravekeeper")
|
||||
|
||||
/mob/living/silicon/robot/gravekeeper/init()
|
||||
aiCamera = new/obj/item/device/camera/siliconcam/robot_camera(src)
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
braintype = "Drone"
|
||||
idcard_type = /obj/item/weapon/card/id
|
||||
icon_selected = FALSE
|
||||
restrict_modules_to = list("Lost")
|
||||
|
||||
/mob/living/silicon/robot/lost/init()
|
||||
aiCamera = new/obj/item/device/camera/siliconcam/robot_camera(src)
|
||||
@@ -298,4 +299,4 @@
|
||||
|
||||
|
||||
|
||||
return
|
||||
return
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
/mob/living/silicon/robot/syndicate
|
||||
lawupdate = 0
|
||||
scrambledcodes = 1
|
||||
emagged = 1
|
||||
modtype = "Syndicate"
|
||||
lawchannel = "State"
|
||||
braintype = "Drone"
|
||||
idcard_type = /obj/item/weapon/card/id/syndicate
|
||||
icon_selected = FALSE
|
||||
restrict_modules_to = list("Protector", "Mechanist", "Combat Medic")
|
||||
|
||||
/mob/living/silicon/robot/syndicate/init()
|
||||
aiCamera = new/obj/item/device/camera/siliconcam/robot_camera(src)
|
||||
@@ -17,7 +19,9 @@
|
||||
updatename("Syndicate")
|
||||
|
||||
if(!cell)
|
||||
cell = new /obj/item/weapon/cell/high(src) // 15k cell, because Antag.
|
||||
cell = new /obj/item/weapon/cell/robot_syndi(src) // 25k cell, because Antag.
|
||||
|
||||
// new /obj/item/weapon/robot_module/robot/syndicate(src)
|
||||
|
||||
laws = new /datum/ai_laws/syndicate_override()
|
||||
|
||||
@@ -29,17 +33,23 @@
|
||||
/mob/living/silicon/robot/syndicate/protector/init()
|
||||
..()
|
||||
module = new /obj/item/weapon/robot_module/robot/syndicate/protector(src)
|
||||
modtype = "Protector"
|
||||
restrict_modules_to = list("Protector")
|
||||
updatename("Protector")
|
||||
|
||||
/mob/living/silicon/robot/syndicate/mechanist/init()
|
||||
..()
|
||||
module = new /obj/item/weapon/robot_module/robot/syndicate/mechanist(src)
|
||||
modtype = "Mechanist"
|
||||
restrict_modules_to = list("Mechanist")
|
||||
updatename("Mechanist")
|
||||
|
||||
/mob/living/silicon/robot/syndicate/combat_medic/init()
|
||||
..()
|
||||
module = new /obj/item/weapon/robot_module/robot/syndicate/combat_medic(src)
|
||||
modtype = "Combat Medic"
|
||||
restrict_modules_to = list("Combat Medic")
|
||||
updatename("Combat Medic")
|
||||
|
||||
/mob/living/silicon/robot/syndicate/speech_bubble_appearance()
|
||||
return "synthetic_evil"
|
||||
return "synthetic_evil"
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
/mob/living/silicon/robot/syndicate
|
||||
lawupdate = 0
|
||||
scrambledcodes = 1
|
||||
emagged = 1
|
||||
icon_state = "securityrobot"
|
||||
modtype = "Security"
|
||||
lawchannel = "State"
|
||||
idcard_type = /obj/item/weapon/card/id/syndicate
|
||||
|
||||
/mob/living/silicon/robot/syndicate/New()
|
||||
if(!cell)
|
||||
cell = new /obj/item/weapon/cell/robot_syndi(src)
|
||||
|
||||
..()
|
||||
|
||||
/mob/living/silicon/robot/syndicate/init()
|
||||
aiCamera = new/obj/item/device/camera/siliconcam/robot_camera(src)
|
||||
|
||||
laws = new /datum/ai_laws/syndicate_override
|
||||
cut_overlays()
|
||||
init_id()
|
||||
new /obj/item/weapon/robot_module/robot/syndicate(src)
|
||||
|
||||
radio.keyslot = new /obj/item/device/encryptionkey/syndicate(radio)
|
||||
radio.recalculateChannels()
|
||||
|
||||
playsound(src, 'sound/mecha/nominalsyndi.ogg', 75, 0)
|
||||
Reference in New Issue
Block a user