Merge branch 'master' into fixes_compile

This commit is contained in:
alberyk
2022-02-04 14:22:38 -03:00
78 changed files with 1128 additions and 361 deletions
@@ -1359,9 +1359,9 @@ Follow by example and make good judgement based on length which list to include
name = "Skrell Eyes 2"
icon_state = "skrelleyes2"
cat_ears
name = "Cat Ears"
icon_state = "catears"
small_horns
name = "Small Horns"
icon_state = "smallhorns"
horny
name = "Horny"
@@ -4680,9 +4680,9 @@ Follow by example and make good judgement based on length which list to include
name = "Skrell Eyes 2"
icon_state = "skrelleyes2"
cat_ears
name = "Skrell Eyes 2"
icon_state = "skrelleyes2"
small_horns
name = "Small Horns"
icon_state = "smallhorns"
horny
name = "Horny"
+1 -1
View File
@@ -104,7 +104,7 @@ var/list/ai_verbs_default = list(
// Sprites
var/datum/ai_icon/selected_sprite // The selected icon set
var/custom_sprite = FALSE // Whether the selected icon is custom
var/custom_sprite = FALSE // Whether the selected icon is custom
/mob/living/silicon/ai/proc/add_ai_verbs()
src.verbs |= ai_verbs_default
@@ -20,7 +20,7 @@
LANGUAGE_YA_SSA = FALSE
)
sprites = list("Basic" = "shell")
sprites = list("Basic" = list(ROBOT_CHASSIS = "shell", ROBOT_PANEL = "shell", ROBOT_EYES = "shell"))
/obj/item/robot_module/aicontrol/Initialize()
. = ..()
+1 -1
View File
@@ -32,7 +32,7 @@ var/list/datum/ai_icon/ai_icons
/datum/ai_icon/green
name = "Green"
alive_icon = "ai-wierd"
alive_icon = "ai-weird"
alive_light = "#00FF99"
dead_icon = "ai-weird_dead"
@@ -286,17 +286,24 @@
/mob/living/silicon/robot/drone/updatename()
return
/mob/living/silicon/robot/drone/setup_icon_cache()
/mob/living/silicon/robot/drone/setup_eye_cache()
cached_eye_overlays = list(
I_HELP = image(icon, "eyes-[icon_state]-help", layer = EFFECTS_ABOVE_LIGHTING_LAYER),
I_HURT = image(icon, "eyes-[icon_state]-harm", layer = EFFECTS_ABOVE_LIGHTING_LAYER),
"emag" = image(icon, "eyes-[icon_state]-emag", layer = EFFECTS_ABOVE_LIGHTING_LAYER)
I_HELP = image(icon, "[icon_state]-eyes_help"),
I_HURT = image(icon, "[icon_state]-eyes_harm"),
"emag" = image(icon, "[icon_state]-eyes_emag")
)
if(eye_overlay)
cut_overlay(eye_overlay)
eye_overlay = cached_eye_overlays[a_intent]
if(!stat)
add_overlay(eye_overlay)
add_overlay(eye_overlay)
/mob/living/silicon/robot/drone/setup_panel_cache()
cached_panel_overlays = list(
ROBOT_PANEL_EXPOSED = image(icon, "[icon_state]-openpanel+w"),
ROBOT_PANEL_CELL = image(icon, "[icon_state]-openpanel+c"),
ROBOT_PANEL_NO_CELL = image(icon, "[icon_state]-openpanel-c")
)
/mob/living/silicon/robot/drone/set_intent(var/set_intent)
a_intent = set_intent
@@ -11,8 +11,9 @@
icon_state = "shock"
/obj/item/borg/combat/mobility/on_module_activate(mob/living/silicon/robot/R)
R.icon_state = "[R.module_sprites[R.icontype]]-roll"
R.icon_state = "[R.module_sprites[R.icontype][ROBOT_CHASSIS]]-roll"
R.speed = -2
R.setup_eye_cache()
/obj/item/borg/rescue/mobility/on_module_activate(mob/living/silicon/robot/R)
R.speed = -1
@@ -21,5 +22,6 @@
R.speed = initial(R.speed)
/obj/item/borg/combat/mobility/on_module_deactivate(mob/living/silicon/robot/R)
R.icon_state = R.module_sprites[R.icontype]
R.icon_state = "[R.module_sprites[R.icontype][ROBOT_CHASSIS]]"
R.speed = initial(R.speed)
R.setup_eye_cache()
@@ -5,14 +5,13 @@
icon = 'icons/obj/device.dmi'
icon_state = "shield1" //placeholder for now // four fucking years alberyk. FOUR
var/shield_level = 0.5 //Percentage of damage absorbed by the shield.
var/image/shield_overlay
/obj/item/borg/combat/shield/on_module_activate(mob/living/silicon/robot/R)
shield_overlay = image(R.icon, "[R.module_sprites[R.icontype]]-shield")
R.add_overlay(shield_overlay)
R.shield_overlay = image(R.icon, "[R.module_sprites[R.icontype][ROBOT_CHASSIS]]-shield")
R.add_overlay(R.shield_overlay)
/obj/item/borg/combat/shield/on_module_deactivate(mob/living/silicon/robot/R)
R.cut_overlay(shield_overlay)
R.cut_overlay(R.shield_overlay)
/obj/item/borg/combat/shield/verb/set_shield_level()
set name = "Set shield level"
@@ -21,4 +20,4 @@
var/N = input(usr, "How much damage should the shield absorb?") in list("5", "10", "25", "50", "75", "100")
if(N)
shield_level = text2num(N)/100
shield_level = text2num(N)/100
+12 -9
View File
@@ -10,6 +10,9 @@
icon = 'icons/mob/robots.dmi'
icon_state = "robot"
var/icontype //Persistent icontype tracking allows for cleaner icon updates
var/chassistype // Custom model icon. Also can be used to re-use icons to prevent copypasta, provided you listed them correctly in the list
var/paneltype // Same as above, but for maintenance panel.
var/eyetype // Same as above, but for eyes.
var/module_sprites[0] //Used to store the associations between sprite names and sprite index.
var/icon_selected = 0 //If icon selection has been completed yet
var/spawn_sound = 'sound/voice/liveagain.ogg'
@@ -142,13 +145,10 @@
robot_modules_background = new()
robot_modules_background.icon_state = "block"
robot_modules_background.layer = SCREEN_LAYER //Objects that appear on screen are on layer 20, UI should be just below it.
module_sprites["Basic"] = "robot"
icontype = "Basic"
updatename(mod_type)
if(!client)
stat = UNCONSCIOUS
setup_icon_cache()
if(mmi?.brainobj)
mmi.brainobj.prepared = TRUE
@@ -171,6 +171,7 @@
init()
initialize_components()
setup_icon_cache()
for(var/V in components)
if(V != "power cell" && V != "jetpack" && V != "surge") //We don't install the jetpack onstart
@@ -296,7 +297,7 @@
to_chat(src, SPAN_WARNING("Custom Sprite Sheet does not contain a valid icon_state for [sprite.synthicon]-[mod_type]"))
else
icontype = module_sprites[1]
icon_state = module_sprites[icontype]
icon_state = module_sprites[icontype][ROBOT_CHASSIS]
return module_sprites
/mob/living/silicon/robot/proc/pick_module(var/set_module)
@@ -507,6 +508,7 @@
set_light(integrated_light_power)
else
set_light(0)
setup_eye_cache() //update eyes
// this function displays jetpack pressure in the stat panel
/mob/living/silicon/robot/proc/show_jetpack_pressure()
@@ -734,7 +736,7 @@
to_chat(user, SPAN_WARNING("\The [src] does not have a radio installed!"))
return
else if(W.GetID() || istype(W, /obj/item/card/robot)) // trying to unlock the interface with an ID card
if(emagged && !is_traitor()) //still allow them to open the cover. is_traitor() dodges this text as being made traitor sets emagged to TRUE.
if(emagged && !is_traitor()) //still allow them to open the cover. is_traitor() dodges this text as being made traitor sets emagged to TRUE.
to_chat(user, SPAN_NOTICE("You notice that \the [src]'s interface appears to be damaged."))
if(opened)
to_chat(user, SPAN_WARNING("You must close the cover to swipe an ID card."))
@@ -1081,17 +1083,18 @@
return
else
var/list/options = list()
for(var/i in module_sprites)
var/image/radial_button = image(icon = src.icon, icon_state = module_sprites[i])
radial_button.overlays.Add(image(icon = src.icon, icon_state = "eyes-[module_sprites[i]]-help"))
for(var/i in module_sprites) // Gottverdamnt.
var/image/radial_button = image(icon = src.icon, icon_state = module_sprites[i][ROBOT_CHASSIS])
radial_button.overlays.Add(image(icon = src.icon, icon_state = "[module_sprites[i][ROBOT_EYES]]-eyes_help"))
options[i] = radial_button
icontype = show_radial_menu(src, src, options, radius = 42, tooltips = TRUE)
if(!icontype)
return
icon_state = module_sprites[icontype]
icon_state = module_sprites[icontype][ROBOT_CHASSIS]
icon_selected = TRUE
setup_icon_cache()
playsound(get_turf(src), 'sound/effects/pop.ogg', 10, TRUE)
spark(get_turf(src), 5, alldirs)
@@ -10,29 +10,48 @@
if(opened)
if(wires_exposed)
panel_overlay = cached_panel_overlays[ROBOT_PANEL_EXPOSED]
add_overlay(panel_overlay)
else if(cell)
panel_overlay = cached_panel_overlays[ROBOT_PANEL_CELL]
add_overlay(panel_overlay)
else
panel_overlay = cached_panel_overlays[ROBOT_PANEL_NO_CELL]
add_overlay(panel_overlay)
add_overlay(panel_overlay)
/mob/living/silicon/robot/proc/setup_icon_cache()
cached_eye_overlays = list(
I_HELP = image(icon, "eyes-[module_sprites[icontype]]-help", layer = EFFECTS_ABOVE_LIGHTING_LAYER),
I_HURT = image(icon, "eyes-[module_sprites[icontype]]-harm", layer = EFFECTS_ABOVE_LIGHTING_LAYER)
)
if(!module_sprites[icontype])
return
setup_eye_cache()
setup_panel_cache()
/mob/living/silicon/robot/proc/setup_eye_cache()
if(!module_sprites[icontype][ROBOT_EYES])
return
var/eye_layer = src.layer
if(lights_on && layer == MOB_LAYER) // in case you're hiding. so eyes don't go through tables.
eye_layer = EFFECTS_ABOVE_LIGHTING_LAYER //make them glow in the dark if the lamp is on
var/eyeprefix = custom_sprite ? module_sprites[icontype] : module_sprites[icontype][ROBOT_EYES]
if(speed == -2) // For combat drones with the mobility module.
cached_eye_overlays = list(
I_HELP = image(icon, "[eyeprefix]-roll-eyes_help", layer = eye_layer),
I_HURT = image(icon, "[eyeprefix]-roll-eyes_harm", layer = eye_layer)
)
else
cached_eye_overlays = list(
I_HELP = image(icon, "[eyeprefix]-eyes_help", layer = eye_layer), //Changed so icontype goes in front. Helps with parsing in this godforsaken engine known as BYOND.
I_HURT = image(icon, "[eyeprefix]-eyes_harm", layer = eye_layer)
)
if(eye_overlay)
cut_overlay(eye_overlay)
eye_overlay = cached_eye_overlays[a_intent]
if(!stat)
add_overlay(eye_overlay)
var/panelprefix = custom_sprite ? src.ckey : "ov"
add_overlay(eye_overlay)
/mob/living/silicon/robot/proc/setup_panel_cache()
if(!module_sprites[icontype][ROBOT_PANEL])
return
var/panelprefix = custom_sprite ? src.ckey : module_sprites[icontype][ROBOT_PANEL] // Shoutout to Geeves.
cached_panel_overlays = list(
ROBOT_PANEL_EXPOSED = image(icon, "[panelprefix]-openpanel +w"),
ROBOT_PANEL_CELL = image(icon, "[panelprefix]-openpanel +c"),
ROBOT_PANEL_NO_CELL = image(icon, "[panelprefix]-openpanel -c")
ROBOT_PANEL_EXPOSED = image(icon, "[panelprefix]-openpanel+w"),
ROBOT_PANEL_CELL = image(icon, "[panelprefix]-openpanel+c"),
ROBOT_PANEL_NO_CELL = image(icon, "[panelprefix]-openpanel-c")
)
/mob/living/silicon/robot/proc/set_module_active(var/obj/item/given_module)
@@ -50,4 +69,4 @@
contents -= stored_module
/mob/living/silicon/robot/get_cell()
return cell
return cell
@@ -71,7 +71,6 @@ var/global/list/robot_modules = list(
R.set_module_sprites(sprites)
R.icon_selected = FALSE
R.choose_icon()
R.setup_icon_cache()
/obj/item/robot_module/proc/handle_languages(var/mob/living/silicon/robot/R)
return
@@ -87,7 +86,6 @@ var/global/list/robot_modules = list(
R.set_module_sprites(list("Default" = "robot"))
R.icon_selected = FALSE
R.choose_icon()
R.setup_icon_cache()
/obj/item/robot_module/Destroy()
for(var/module in modules)
@@ -193,19 +191,24 @@ var/global/list/robot_modules = list(
networks = list(NETWORK_MEDICAL)
can_be_pushed = FALSE
sprites = list(
"Basic" = "robotmedi",
"Landmate" = "landmatemedi",
"Treadmate" = "treadmatemedi",
"Treadhead" = "treadheadmedi",
"Arachnotronic" = "arachnotronicmedi",
"Toileto-tron" = "toiletbotmedi",
"Zeng-hu Droid" = "droidrecolormedi",
"HD-MAD" = "mcspizzytronmedi",
"SD-MAD" = "floatspizzytronmedi",
"Heph Droid" = "heavymedi",
"Venus Drone" = "dronerecolormedi",
"Unbranded-MAD" = "offfloatspizzytronmedi",
"Unbranded-Android" = "droid",
"Basic" = list(ROBOT_CHASSIS = "robot_medi", ROBOT_PANEL = "robot_medi", ROBOT_EYES = "robot"),
"Landmate" = list(ROBOT_CHASSIS = "landmate_medi", ROBOT_PANEL = "landmate_medi", ROBOT_EYES = "landmate"),
"Treadmate" = list(ROBOT_CHASSIS = "treadmate_medi", ROBOT_PANEL = "treadmate_medi", ROBOT_EYES = "treadmate"),
"Treadhead" = list(ROBOT_CHASSIS = "treadhead_medi", ROBOT_PANEL = "treadhead_medi", ROBOT_EYES = "treadhead"),
"Spiffy" = list(ROBOT_CHASSIS = "mcspizzy_medi", ROBOT_PANEL = "mcspizzy_medi", ROBOT_EYES = "mcspizzy"),
"Tau-Ceti Drone" = list(ROBOT_CHASSIS = "tauceti_medi", ROBOT_PANEL = "tauceti_medi", ROBOT_EYES = "tauceti"),
"Sputnik" = list(ROBOT_CHASSIS = "sputnik_medi", ROBOT_PANEL = "sputnik_medi", ROBOT_EYES = "sputnik"),
"Kent" = list(ROBOT_CHASSIS = "kent_medi", ROBOT_PANEL = "kent_medi", ROBOT_EYES = "kent"),
"Wide" = list(ROBOT_CHASSIS = "wide_medi", ROBOT_PANEL = "wide_medi", ROBOT_EYES = "wide"),
"Cricket" = list(ROBOT_CHASSIS = "cricket_medi", ROBOT_PANEL = "cricket_medi", ROBOT_EYES = "cricket"),
"Quad-Dex" = list(ROBOT_CHASSIS = "quaddex_medi", ROBOT_PANEL = "quaddex_medi", ROBOT_EYES = "quaddex"),
"Arthrodroid" = list(ROBOT_CHASSIS = "arthrodroid_medi", ROBOT_PANEL = "arthrodroid_medi", ROBOT_EYES = "arthrodroid"),
"Spiderbot" = list(ROBOT_CHASSIS = "spiderbot_medi", ROBOT_PANEL = "spiderbot_medi", ROBOT_EYES = "spiderbot"),
"Heavy" = list(ROBOT_CHASSIS = "heavy_medi", ROBOT_PANEL = "heavy_medi", ROBOT_EYES = "heavy_medi"),
"Positron 03" = list(ROBOT_CHASSIS = "positron03_medi", ROBOT_PANEL = "positron03_medi", ROBOT_EYES = "positron03"),
"Plantasonic" = list(ROBOT_CHASSIS = "plantasonic_medi", ROBOT_PANEL = "plantasonic_medi", ROBOT_EYES = "plantasonic"),
"Cooler Master" = list(ROBOT_CHASSIS = "coolermaster_medi", ROBOT_PANEL = "coolermaster_medi", ROBOT_EYES = "coolermaster"),
"Phage" = list(ROBOT_CHASSIS = "phage_medi", ROBOT_PANEL = "phage_medi", ROBOT_EYES = "phage")
)
/obj/item/robot_module/medical/general/Initialize()
@@ -274,21 +277,7 @@ var/global/list/robot_modules = list(
/obj/item/robot_module/medical/rescue
name = "rescue robot module"
sprites = list(
"Basic" = "robotmedi",
"Landmate" = "landmatemedi",
"Treadmate" = "treadmatemedi",
"Treadhead" = "treadheadmedi",
"Arachnotronic" = "arachnotronicmedi",
"Toileto-tron" = "toiletbotmedi",
"Zeng-hu Droid" = "droidrecolormedi",
"HD-MAD" = "mcspizzytronmedi",
"SD-MAD" = "floatspizzytronmedi",
"Heph Droid" = "heavymedi",
"Venus Drone" = "dronerecolormedi",
"Unbranded-MAD" = "offfloatspizzytronmedi",
"Unbranded-Android" = "droid",
)
// If anyone wants to make custom rescue robot sprites, be my guest.
/obj/item/robot_module/medical/rescue/Initialize()
. = ..()
@@ -356,21 +345,25 @@ var/global/list/robot_modules = list(
networks = list(NETWORK_ENGINEERING)
supported_upgrades = list(/obj/item/robot_parts/robot_component/jetpack)
sprites = list(
"Basic" = "robotengi",
"Landmate" = "landmateengi",
"Treadmate" = "treadmateengi",
"Treadhead" = "treadheadengi",
"Arachnotronic" = "arachnotronicengi",
"Toileto-tron" = "toiletbotengi",
"Zeng-hu Droid" = "droidrecolorengi",
"HD-MAD" = "mcspizzytronengi",
"SD-MAD" = "floatspizzytronengi",
"Heph Droid" = "heavyengi",
"Venus Drone" = "dronerecolorengi",
"Unbranded-MAD" = "offfloatspizzytronengi",
"Unbranded-Android" = "droid",
"Basic" = list(ROBOT_CHASSIS = "robot_engi", ROBOT_PANEL = "robot", ROBOT_EYES = "robot"),
"Landmate" = list(ROBOT_CHASSIS = "landmate_engi", ROBOT_PANEL = "landmate", ROBOT_EYES = "landmate"),
"Treadmate" = list(ROBOT_CHASSIS = "treadmate_engi", ROBOT_PANEL = "treadmate", ROBOT_EYES = "treadmate"),
"Treadhead" = list(ROBOT_CHASSIS = "treadhead_engi", ROBOT_PANEL = "treadhead", ROBOT_EYES = "treadhead"),
"Spiffy" = list(ROBOT_CHASSIS = "mcspizzy_engi", ROBOT_PANEL = "mcspizzy", ROBOT_EYES = "mcspizzy"),
"Tau-Ceti Drone" = list(ROBOT_CHASSIS = "tauceti_engi", ROBOT_PANEL = "tauceti", ROBOT_EYES = "tauceti"),
"Sputnik" = list(ROBOT_CHASSIS = "sputnik_engi", ROBOT_PANEL = "sputnik", ROBOT_EYES = "sputnik"),
"Kent" = list(ROBOT_CHASSIS = "kent_engi", ROBOT_PANEL = "kent", ROBOT_EYES = "kent"),
"Wide" = list(ROBOT_CHASSIS = "wide_engi", ROBOT_PANEL = "wide", ROBOT_EYES = "wide"),
"Cricket" = list(ROBOT_CHASSIS = "cricket_engi", ROBOT_PANEL = "cricket", ROBOT_EYES = "cricket"),
"Quad-Dex" = list(ROBOT_CHASSIS = "quaddex_engi", ROBOT_PANEL = "quaddex", ROBOT_EYES = "quaddex"),
"Arthrodroid" = list(ROBOT_CHASSIS = "arthrodroid_engi", ROBOT_PANEL = "arthrodroid", ROBOT_EYES = "arthrodroid"),
"Spiderbot" = list(ROBOT_CHASSIS = "spiderbot_engi", ROBOT_PANEL = "spiderbot", ROBOT_EYES = "spiderbot"),
"Heavy" = list(ROBOT_CHASSIS = "heavy_engi", ROBOT_PANEL = "heavy", ROBOT_EYES = "heavy_engi"),
"Positron 03" = list(ROBOT_CHASSIS = "positron03_engi", ROBOT_PANEL = "positron03", ROBOT_EYES = "positron03"),
"Plantasonic" = list(ROBOT_CHASSIS = "plantasonic_engi", ROBOT_PANEL = "plantasonic", ROBOT_EYES = "plantasonic"),
"Cooler Master" = list(ROBOT_CHASSIS = "coolermaster_engi", ROBOT_PANEL = "coolermaster", ROBOT_EYES = "coolermaster"),
"Phage" = list(ROBOT_CHASSIS = "phage_engi", ROBOT_PANEL = "phage", ROBOT_EYES = "phage")
)
supported_upgrades = list(/obj/item/robot_parts/robot_component/jetpack)
/obj/item/robot_module/engineering/construction
name = "construction robot module"
@@ -556,20 +549,26 @@ var/global/list/robot_modules = list(
channels = list(CHANNEL_SERVICE = TRUE)
networks = list(NETWORK_SERVICE)
sprites = list(
"Basic" = "robotjani",
"Landmate" = "landmatejani",
"Treadmate" = "treadmatejani",
"Treadhead" = "treadheadjani",
"Arachnotronic" = "arachnotronicjani",
"Toileto-tron" = "toiletbotjani",
"Zeng-hu Droid" = "droidrecolorjani",
"HD-MAD" = "mcspizzytronjani",
"SD-MAD" = "floatspizzytronjani",
"Heph Droid" = "heavyjani",
"Venus Drone" = "dronerecolorjani",
"Unbranded-MAD" = "offfloatspizzytronjani",
"Unbranded-Android" = "droid",
"Basic" = list(ROBOT_CHASSIS = "robot_jani", ROBOT_PANEL = "robot", ROBOT_EYES = "robot"),
"Landmate" = list(ROBOT_CHASSIS = "landmate_jani", ROBOT_PANEL = "landmate", ROBOT_EYES = "landmate"),
"Treadmate" = list(ROBOT_CHASSIS = "treadmate_jani", ROBOT_PANEL = "treadmate", ROBOT_EYES = "treadmate"),
"Treadhead" = list(ROBOT_CHASSIS = "treadhead_jani", ROBOT_PANEL = "treadhead", ROBOT_EYES = "treadhead"),
"Spiffy" = list(ROBOT_CHASSIS = "mcspizzy_jani", ROBOT_PANEL = "mcspizzy", ROBOT_EYES = "mcspizzy"),
"Tau-Ceti Drone" = list(ROBOT_CHASSIS = "tauceti_jani", ROBOT_PANEL = "tauceti", ROBOT_EYES = "tauceti"),
"Sputnik" = list(ROBOT_CHASSIS = "sputnik_jani", ROBOT_PANEL = "sputnik", ROBOT_EYES = "sputnik"),
"Kent" = list(ROBOT_CHASSIS = "kent_jani", ROBOT_PANEL = "kent", ROBOT_EYES = "kent"),
"Wide" = list(ROBOT_CHASSIS = "wide_jani", ROBOT_PANEL = "wide", ROBOT_EYES = "wide"),
"Cricket" = list(ROBOT_CHASSIS = "cricket_jani", ROBOT_PANEL = "cricket", ROBOT_EYES = "cricket"),
"Quad-Dex" = list(ROBOT_CHASSIS = "quaddex_jani", ROBOT_PANEL = "quaddex", ROBOT_EYES = "quaddex"),
"Arthrodroid" = list(ROBOT_CHASSIS = "arthrodroid_jani", ROBOT_PANEL = "arthrodroid", ROBOT_EYES = "arthrodroid"),
"Spiderbot" = list(ROBOT_CHASSIS = "spiderbot_jani", ROBOT_PANEL = "spiderbot", ROBOT_EYES = "spiderbot"),
"Heavy" = list(ROBOT_CHASSIS = "heavy_jani", ROBOT_PANEL = "heavy_jani", ROBOT_EYES = "heavy_jani"),
"Positron 03" = list(ROBOT_CHASSIS = "positron03_jani", ROBOT_PANEL = "positron03", ROBOT_EYES = "positron03"),
"Plantasonic" = list(ROBOT_CHASSIS = "plantasonic_jani", ROBOT_PANEL = "plantasonic", ROBOT_EYES = "plantasonic"),
"Cooler Master" = list(ROBOT_CHASSIS = "coolermaster_jani", ROBOT_PANEL = "coolermaster", ROBOT_EYES = "coolermaster"),
"Phage" = list(ROBOT_CHASSIS = "phage_jani", ROBOT_PANEL = "phage", ROBOT_EYES = "phage")
)
var/mopping = FALSE
/obj/item/robot_module/janitor/Initialize()
@@ -626,19 +625,24 @@ var/global/list/robot_modules = list(
)
sprites = list(
"Basic" = "robotserv",
"Landmate" = "landmateserv",
"Treadmate" = "treadmateserv",
"Treadhead" = "treadheadserv",
"Arachnotronic" = "arachnotronicserv",
"Toileto-tron" = "toiletbotserv",
"Zeng-hu Droid" = "droidrecolorserv",
"HD-MAD" = "mcspizzytronserv",
"SD-MAD" = "floatspizzytronserv",
"Heph Droid" = "heavyserv",
"Venus Drone" = "dronerecolorserv",
"Unbranded-MAD" = "offfloatspizzytronserv",
"Unbranded-Android" = "droid",
"Basic" = list(ROBOT_CHASSIS = "robot_serv", ROBOT_PANEL = "robot", ROBOT_EYES = "robot"),
"Landmate" = list(ROBOT_CHASSIS = "landmate_serv", ROBOT_PANEL = "landmate", ROBOT_EYES = "landmate"),
"Treadmate" = list(ROBOT_CHASSIS = "treadmate_serv", ROBOT_PANEL = "treadmate", ROBOT_EYES = "treadmate"),
"Treadhead" = list(ROBOT_CHASSIS = "treadhead_serv", ROBOT_PANEL = "treadhead", ROBOT_EYES = "treadhead"),
"Spiffy" = list(ROBOT_CHASSIS = "mcspizzy_serv", ROBOT_PANEL = "mcspizzy", ROBOT_EYES = "mcspizzy"),
"Tau-Ceti Drone" = list(ROBOT_CHASSIS = "tauceti_serv", ROBOT_PANEL = "tauceti", ROBOT_EYES = "tauceti"),
"Sputnik" = list(ROBOT_CHASSIS = "sputnik_serv", ROBOT_PANEL = "sputnik", ROBOT_EYES = "sputnik"),
"Kent" = list(ROBOT_CHASSIS = "kent_serv", ROBOT_PANEL = "kent", ROBOT_EYES = "kent"),
"Wide" = list(ROBOT_CHASSIS = "wide_serv", ROBOT_PANEL = "wide", ROBOT_EYES = "wide"),
"Cricket" = list(ROBOT_CHASSIS = "cricket_serv", ROBOT_PANEL = "cricket", ROBOT_EYES = "cricket"),
"Quad-Dex" = list(ROBOT_CHASSIS = "quaddex_serv", ROBOT_PANEL = "quaddex", ROBOT_EYES = "quaddex"),
"Arthrodroid" = list(ROBOT_CHASSIS = "arthrodroid_serv", ROBOT_PANEL = "arthrodroid", ROBOT_EYES = "arthrodroid"),
"Spiderbot" = list(ROBOT_CHASSIS = "spiderbot_serv", ROBOT_PANEL = "spiderbot", ROBOT_EYES = "spiderbot"),
"Heavy" = list(ROBOT_CHASSIS = "heavy_serv", ROBOT_PANEL = "heavy_serv", ROBOT_EYES = "heavy_serv"),
"Positron 03" = list(ROBOT_CHASSIS = "positron03_serv", ROBOT_PANEL = "positron03", ROBOT_EYES = "positron03"),
"Plantasonic" = list(ROBOT_CHASSIS = "plantasonic_serv", ROBOT_PANEL = "plantasonic", ROBOT_EYES = "plantasonic"),
"Cooler Master" = list(ROBOT_CHASSIS = "coolermaster_serv", ROBOT_PANEL = "coolermaster", ROBOT_EYES = "coolermaster"),
"Phage" = list(ROBOT_CHASSIS = "phage_serv", ROBOT_PANEL = "phage", ROBOT_EYES = "phage")
)
/obj/item/robot_module/clerical/butler/Initialize()
@@ -710,20 +714,27 @@ var/global/list/robot_modules = list(
channels = list(CHANNEL_SUPPLY = TRUE)
networks = list(NETWORK_MINE)
sprites = list(
"Basic" = "robotmine",
"Landmate" = "landmatemine",
"Treadmate" = "treadmatemine",
"Treadhead" = "treadheadmine",
"Arachnotronic" = "arachnotronicmine",
"Toileto-tron" = "toiletbotmine",
"Zeng-hu Droid" = "droidrecolormine",
"HD-MAD" = "mcspizzytronmine",
"SD-MAD" = "floatspizzytronmine",
"Heph Droid" = "heavymine",
"Venus Drone" = "dronerecolormine",
"Unbranded-MAD" = "offfloatspizzytronmine",
"Unbranded-Android" = "droid",
"Basic" = list(ROBOT_CHASSIS = "robot_mine", ROBOT_PANEL = "robot", ROBOT_EYES = "robot"),
"Landmate" = list(ROBOT_CHASSIS = "landmate_mine", ROBOT_PANEL = "landmate", ROBOT_EYES = "landmate"),
"Treadmate" = list(ROBOT_CHASSIS = "treadmate_mine", ROBOT_PANEL = "treadmate", ROBOT_EYES = "treadmate"),
"Treadhead" = list(ROBOT_CHASSIS = "treadhead_mine", ROBOT_PANEL = "treadhead", ROBOT_EYES = "treadhead"),
"Spiffy" = list(ROBOT_CHASSIS = "mcspizzy_mine", ROBOT_PANEL = "mcspizzy", ROBOT_EYES = "mcspizzy"),
"Tau-Ceti Drone" = list(ROBOT_CHASSIS = "tauceti_mine", ROBOT_PANEL = "tauceti", ROBOT_EYES = "tauceti"),
"Sputnik" = list(ROBOT_CHASSIS = "sputnik_mine", ROBOT_PANEL = "sputnik", ROBOT_EYES = "sputnik"),
"Kent" = list(ROBOT_CHASSIS = "kent_mine", ROBOT_PANEL = "kent", ROBOT_EYES = "kent"),
"Wide" = list(ROBOT_CHASSIS = "wide_mine", ROBOT_PANEL = "wide", ROBOT_EYES = "wide"),
"Cricket" = list(ROBOT_CHASSIS = "cricket_mine", ROBOT_PANEL = "cricket", ROBOT_EYES = "cricket"),
"Quad-Dex" = list(ROBOT_CHASSIS = "quaddex_mine", ROBOT_PANEL = "quaddex", ROBOT_EYES = "quaddex"),
"Arthrodroid" = list(ROBOT_CHASSIS = "arthrodroid_mine", ROBOT_PANEL = "arthrodroid", ROBOT_EYES = "arthrodroid"),
"Spiderbot" = list(ROBOT_CHASSIS = "spiderbot_mine", ROBOT_PANEL = "spiderbot", ROBOT_EYES = "spiderbot"),
"Heavy" = list(ROBOT_CHASSIS = "heavy_mine", ROBOT_PANEL = "heavy_mine", ROBOT_EYES = "heavy_mine"),
"Positron 03" = list(ROBOT_CHASSIS = "positron03_mine", ROBOT_PANEL = "positron03", ROBOT_EYES = "positron03"),
"Plantasonic" = list(ROBOT_CHASSIS = "plantasonic_mine", ROBOT_PANEL = "plantasonic", ROBOT_EYES = "plantasonic"),
"Cooler Master" = list(ROBOT_CHASSIS = "coolermaster_mine", ROBOT_PANEL = "coolermaster", ROBOT_EYES = "coolermaster"),
"Phage" = list(ROBOT_CHASSIS = "phage_mine", ROBOT_PANEL = "phage", ROBOT_EYES = "phage")
)
supported_upgrades = list(/obj/item/robot_parts/robot_component/jetpack)
/obj/item/robot_module/miner/Initialize()
@@ -773,19 +784,24 @@ var/global/list/robot_modules = list(
channels = list(CHANNEL_SCIENCE = TRUE)
networks = list(NETWORK_RESEARCH)
sprites = list(
"Basic" = "robotsci",
"Landmate" = "landmatesci",
"Treadmate" = "treadmatesci",
"Treadhead" = "treadheadsci",
"Arachnotronic" = "arachnotronicsci",
"Toileto-tron" = "toiletbotsci",
"Zeng-hu Droid" = "droidrecolorsci",
"HD-MAD" = "mcspizzytronsci",
"SD-MAD" = "floatspizzytronsci",
"Heph Droid" = "heavysci",
"Venus Drone" = "dronerecolorsci",
"Unbranded-MAD" = "offfloatspizzytronsci",
"Unbranded-Android" = "droid",
"Basic" = list(ROBOT_CHASSIS = "robot_sci", ROBOT_PANEL = "robot", ROBOT_EYES = "robot"),
"Landmate" = list(ROBOT_CHASSIS = "landmate_sci", ROBOT_PANEL = "landmate", ROBOT_EYES = "landmate"),
"Treadmate" = list(ROBOT_CHASSIS = "treadmate_sci", ROBOT_PANEL = "treadmate", ROBOT_EYES = "treadmate"),
"Treadhead" = list(ROBOT_CHASSIS = "treadhead_sci", ROBOT_PANEL = "treadhead", ROBOT_EYES = "treadhead"),
"Spiffy" = list(ROBOT_CHASSIS = "mcspizzy_sci", ROBOT_PANEL = "mcspizzy", ROBOT_EYES = "mcspizzy"),
"Tau-Ceti Drone" = list(ROBOT_CHASSIS = "tauceti_sci", ROBOT_PANEL = "tauceti", ROBOT_EYES = "tauceti"),
"Sputnik" = list(ROBOT_CHASSIS = "sputnik_sci", ROBOT_PANEL = "sputnik", ROBOT_EYES = "sputnik"),
"Kent" = list(ROBOT_CHASSIS = "kent_sci", ROBOT_PANEL = "kent", ROBOT_EYES = "kent"),
"Wide" = list(ROBOT_CHASSIS = "wide_sci", ROBOT_PANEL = "wide", ROBOT_EYES = "wide"),
"Cricket" = list(ROBOT_CHASSIS = "cricket_sci", ROBOT_PANEL = "cricket", ROBOT_EYES = "cricket"),
"Quad-Dex" = list(ROBOT_CHASSIS = "quaddex_sci", ROBOT_PANEL = "quaddex", ROBOT_EYES = "quaddex"),
"Arthrodroid" = list(ROBOT_CHASSIS = "arthrodroid_sci", ROBOT_PANEL = "arthrodroid", ROBOT_EYES = "arthrodroid"),
"Spiderbot" = list(ROBOT_CHASSIS = "spiderbot_sci", ROBOT_PANEL = "spiderbot", ROBOT_EYES = "spiderbot"),
"Heavy" = list(ROBOT_CHASSIS = "heavy_sci", ROBOT_PANEL = "heavy_sci", ROBOT_EYES = "heavy_sci"),
"Positron 03" = list(ROBOT_CHASSIS = "positron03_sci", ROBOT_PANEL = "positron03", ROBOT_EYES = "positron03"),
"Plantasonic" = list(ROBOT_CHASSIS = "plantasonic_sci", ROBOT_PANEL = "plantasonic", ROBOT_EYES = "plantasonic"),
"Cooler Master" = list(ROBOT_CHASSIS = "coolermaster_sci", ROBOT_PANEL = "coolermaster", ROBOT_EYES = "coolermaster"),
"Phage" = list(ROBOT_CHASSIS = "phage_sci", ROBOT_PANEL = "phage", ROBOT_EYES = "phage")
)
/obj/item/robot_module/research/Initialize()
@@ -857,13 +873,26 @@ var/global/list/robot_modules = list(
LANGUAGE_YA_SSA = FALSE
)
sprites = list(
"Bloodhound" = "syndie_bloodhound",
"Treadhound" = "syndie_treadhound",
"HD-MAD" = "mcspizzytronsyndi",
"Heph Droid" = "heavysyndi",
"Arachnotronic" = "arachnotronicsyndi",
"Toileto-tron" = "syndi-medi",
)
"Basic" = list(ROBOT_CHASSIS = "robot_syndi", ROBOT_PANEL = "robot_syndi", ROBOT_EYES = "robot"),
"Bloodhound" = list(ROBOT_CHASSIS = "bloodhound_syndi", ROBOT_PANEL = "bloodhound_syndi", ROBOT_EYES = "bloodhound"),
"Treadhound" = list(ROBOT_CHASSIS = "treadhound_syndi", ROBOT_PANEL = "treadhound_syndi", ROBOT_EYES = "treadhound"),
"Treadhead" = list(ROBOT_CHASSIS = "treadhead_syndi", ROBOT_PANEL = "treadhead_syndi", ROBOT_EYES = "treadhead"),
"Spiffy" = list(ROBOT_CHASSIS = "mcspizzy_syndi", ROBOT_PANEL = "mcspizzy_syndi", ROBOT_EYES = "mcspizzy"),
"Tau-Ceti Drone" = list(ROBOT_CHASSIS = "tauceti_syndi", ROBOT_PANEL = "tauceti_syndi", ROBOT_EYES = "tauceti"),
"Sputnik" = list(ROBOT_CHASSIS = "sputnik_syndi", ROBOT_PANEL = "sputnik_syndi", ROBOT_EYES = "sputnik"),
"Kent" = list(ROBOT_CHASSIS = "kent_syndi", ROBOT_PANEL = "kent_syndi", ROBOT_EYES = "kent"),
"Wide" = list(ROBOT_CHASSIS = "wide_syndi", ROBOT_PANEL = "wide_syndi", ROBOT_EYES = "wide"),
"Cricket" = list(ROBOT_CHASSIS = "cricket_syndi", ROBOT_PANEL = "cricket_syndi", ROBOT_EYES = "cricket"),
"Quad-Dex" = list(ROBOT_CHASSIS = "quaddex_syndi", ROBOT_PANEL = "quaddex_syndi", ROBOT_EYES = "quaddex"),
"Arthrodroid" = list(ROBOT_CHASSIS = "arthrodroid_syndi", ROBOT_PANEL = "arthrodroid_syndi", ROBOT_EYES = "arthrodroid"),
"Spiderbot" = list(ROBOT_CHASSIS = "spiderbot_syndi", ROBOT_PANEL = "spiderbot_syndi", ROBOT_EYES = "spiderbot"),
"Heavy" = list(ROBOT_CHASSIS = "heavy_syndi", ROBOT_PANEL = "heavy_syndi", ROBOT_EYES = "heavy_syndi"),
"Positron 03" = list(ROBOT_CHASSIS = "positron03_syndi", ROBOT_PANEL = "positron03_syndi", ROBOT_EYES = "positron03"),
"Plantasonic" = list(ROBOT_CHASSIS = "plantasonic_syndi", ROBOT_PANEL = "plantasonic_syndi", ROBOT_EYES = "plantasonic"),
"Cooler Master" = list(ROBOT_CHASSIS = "coolermaster_syndi", ROBOT_PANEL = "coolermaster_syndi", ROBOT_EYES = "coolermaster"),
"Phage" = list(ROBOT_CHASSIS = "phage_syndi", ROBOT_PANEL = "phage_syndi", ROBOT_EYES = "phage")
)
/obj/item/robot_module/syndicate/Initialize(mapload, mob/living/silicon/robot/R)
. = ..()
@@ -895,7 +924,10 @@ var/global/list/robot_modules = list(
name = "combat robot module"
channels = list(CHANNEL_SECURITY = TRUE)
networks = list(NETWORK_SECURITY)
sprites = list("Roller" = "droid-combat")
sprites = list(
"Roller" = list(ROBOT_CHASSIS = "droid-combat", ROBOT_PANEL = "heavy_syndi", ROBOT_EYES = "droid-combat"),
"Squats" = list(ROBOT_CHASSIS = "squats", ROBOT_PANEL = "heavy_syndi", ROBOT_EYES = "squats")
)
can_be_pushed = FALSE
supported_upgrades = list(/obj/item/robot_parts/robot_component/jetpack)
@@ -1117,7 +1149,7 @@ var/global/list/robot_modules = list(
CHANNEL_RESPONSE_TEAM = TRUE,
CHANNEL_AI_PRIVATE = TRUE
)
sprites = list("Roller" = "droid-combat") //TMP // temp my left nut // temp my right nut
sprites = list("Roller" = list(ROBOT_CHASSIS = "droid-combat", ROBOT_PANEL = "heavy_syndi", ROBOT_EYES = "droid-combat")) //TMP // temp my left nut // temp my right nut
can_be_pushed = FALSE
/obj/item/robot_module/bluespace/Initialize(mapload, mob/living/silicon/robot/R)
@@ -3,7 +3,7 @@
desc = "It's a hissy little lizard. Is it related to Unathi?"
icon_state = "lizard"
icon_living = "lizard"
icon_dead = "lizard-dead"
icon_dead = "lizard_dead"
speak_emote = list("hisses")
health = 5
maxHealth = 5
@@ -25,7 +25,7 @@
/mob/living/simple_animal/hostile/rogue_drone/Initialize()
. = ..()
name = "[initial(name)] ([rand(100, 999)])"
eye_overlay = image(icon, "eyes-[icon_state]-emag", layer = EFFECTS_ABOVE_LIGHTING_LAYER)
eye_overlay = image(icon, "[icon_state]-eyes_emag", layer = EFFECTS_ABOVE_LIGHTING_LAYER)
eye_overlay.appearance_flags = KEEP_APART
add_overlay(eye_overlay)
@@ -54,4 +54,4 @@
if(istype(H.head, /obj/item/holder/drone))
return FALSE
if(istype(H.wear_suit, /obj/item/clothing/suit/cardborg) && istype(H.head, /obj/item/clothing/head/cardborg))
return FALSE
return FALSE